{"version":3,"file":"vendor.js","mappings":";;;;;;;;AAAA,+GAAe,GAAG,IAAqC,CAAC,iCAAO,EAAE,oCAAC,CAAC;AAAA;AAAA;AAAA,kGAAC,CAAC,KAAK,EAA6E,CAAC,kBAAkB,aAAa,gBAAgB,+BAA+B,WAAW,4FAA4F,WAAW,kEAAkE,4DAA4D,YAAY,IAAI,kBAAkB,yBAAyB,0DAA0D,kBAAkB,sBAAsB,yCAAyC,UAAU,cAAc,yBAAyB,oBAAoB,IAAI,SAAS,UAAU,oCAAoC,cAAc,IAAI,yCAAyC,SAAS,0CAA0C,0FAA0F,wWAAwW,8DAA8D,uDAAuD,iNAAiN,0BAA0B,4BAA4B,KAAK,KAAK,gDAAgD,mFAAmF,sBAAsB,KAAK,kCAAkC,iDAAiD,KAAK,GAAG,mBAAmB,8HAA8H,oIAAoI,iDAAiD,qBAAqB,uBAAuB,eAAe,0BAA0B,GAAG,wBAAwB,yCAAyC,oBAAoB,KAAK,gDAAgD,4DAA4D,qBAAqB,OAAO,EAAE,oBAAoB,KAA0B,qBAAqB;;;;;;;;;;;;;;;;;;;ACA5mF;AACqC;AAClE,8BAA8B,6CAAO;AAC5C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sBAAsB,kFAAuB;AAC7C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;;;;AC/B0C;AACnC,8BAA8B,mDAAU;AAC/C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;;;;;;;ACpB2C;AACN;AACgB;AAC9C;AACP;AACA;AACA;AACA;AACA,CAAC,4CAA4C;AACtC;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,kDAAE;AACzB;AACA,uBAAuB,kEAAU;AACjC;AACA,uBAAuB,wDAAK;AAC5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;;;;;;;;ACvEuD;AACJ;AACmB;AAC1B;AACV;AAC3B;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB,WAAW;AAC3B,qBAAqB,gEAAY;AACjC;AACA;AACA;AACA;AACA,qCAAqC,iFAA4C;AACjF;AACA;AACA;AACA,YAAY,iFAA4C;AACxD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB,iFAA4C;AAC5D;AACA;AACA;AACA,gBAAgB,oEAAc;AAC9B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb,SAAS;AACT;AACA;AACA,gBAAgB,SAAS;AACzB;AACA;AACA,KAAK,0DAAiB;AACtB;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,yDAAa;AAC5B;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sBAAsB,mDAAc;AACpC;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;;;;;ACzGkC;AACuB;AAClD;AACP;AACA,mBAAmB;AACnB;AACA,YAAY,iFAA4C;AACxD;AACA;AACA;AACA,YAAY,sEAAe;AAC3B;AACA,KAAK;AACL;AACA;;;;;;;;;;;;;;;;;ACd0C;AACnC,8BAA8B,mDAAU;AAC/C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;;;;;;;;;ACXoC;AACM;AACI;AACc;AACa;AACb;AACrD,4BAA4B,6CAAO;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,sBAAsB,kFAAuB;AAC7C;AACA;AACA,2BAA2B,6DAAkB;AAC7C;AACA;AACA;AACA,+BAA+B,qEAAmB;AAClD;AACA;AACA,4CAA4C,qEAAmB;AAC/D;AACA;AACA,4BAA4B,+BAA+B;AAC3D;AACA;AACA;AACA;AACA,4BAA4B,+BAA+B;AAC3D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kCAAkC,mDAAK;AACvC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;;;AC1GO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;;;;;;;;;;;ACT0C;AACA;AACI;AAC2B;AACb;AACyB;AAC9E,gCAAgC,mDAAU;AACjD;AACA;AACA;AACA;AACA;AACO,sBAAsB,mDAAU;AACvC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK,uEAAkB;AACvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sBAAsB,kFAAuB;AAC7C;AACA;AACA,oBAAoB,YAAY;AAChC;AACA;AACA,4BAA4B,SAAS;AACrC;AACA;AACA;AACA;AACA;AACA;AACA,sBAAsB,kFAAuB;AAC7C;AACA;AACA;AACA;AACA,gBAAgB,YAAY;AAC5B;AACA;AACA,wBAAwB,SAAS;AACjC;AACA;AACA;AACA;AACA;AACA;AACA,sBAAsB,kFAAuB;AAC7C;AACA;AACA,gBAAgB,YAAY;AAC5B;AACA;AACA,wBAAwB,SAAS;AACjC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sBAAsB,kFAAuB;AAC7C;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sBAAsB,kFAAuB;AAC7C;AACA;AACA;AACA,mBAAmB,6DAAkB;AACrC;AACA;AACA;AACA,mBAAmB,6DAAkB;AACrC;AACA;AACA;AACA,uBAAuB,qEAAmB;AAC1C;AACA;AACA;AACA,+BAA+B,mDAAU;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACO;AACP;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB,cAAc;AAC9B;AACA;AACA;AACA;AACA;AACA,gBAAgB,cAAc;AAC9B;AACA;AACA;AACA;AACA;AACA,gBAAgB,cAAc;AAC9B;AACA;AACA;AACA;AACA;AACA,gBAAgB,SAAS;AACzB;AACA;AACA;AACA;AACA,mBAAmB,6DAAkB;AACrC;AACA;AACA;;;;;;;;;;;;;;;;;AC9I8C;AACvC,kCAAkC,uDAAY;AACrD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;;;;;;;;;;ACxB+C;AACK;AACN;AACuC;AACnD;AACuB;AAClD,yBAAyB,uDAAY;AAC5C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mCAAmC,4CAAa;AAChD;AACA;AACA;AACA,uCAAuC,4CAAa;AACpD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK,uEAAkB,MAAM;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;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,mBAAmB;AACnC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO;AACP;AACA;AACA;AACA;AACA;AACA,YAAY,4DAAU;AACtB;AACA;AACA;AACA;AACA;AACA;AACA,mCAAmC,4CAAa;AAChD;AACA,oBAAoB,4DAAU;AAC9B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB,oBAAoB;AACxC,iBAAiB,iFAA4C;AAC7D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB,oBAAoB;AACxC,oBAAoB,wCAAwC,EAAE,2CAAM;AACpE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB,sEAAe;AAC/B;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB,sEAAe;AACnC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB,oBAAoB;AACxC;AACA;AACA,qBAAqB,iFAA4C;AACjE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB,iFAA4C;AAC5D;AACA;AACA;AACA,gBAAgB,sEAAe;AAC/B;AACA;AACA;AACA;AACA,aAAa,iFAA4C;AACzD;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB,iFAA4C;AAC5D;AACA;AACA;AACA;AACA;AACA,gBAAgB,sEAAe;AAC/B;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB,oBAAoB;AACpC;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;;;;;;;AC5NyC;AACE;AACI;AACkB;AAC1D;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc,mEAAmE;AACjF;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gCAAgC,iCAAiC;AACjE;AACA;AACA;AACA;AACA,YAAY,4DAAU;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sCAAsC,0EAAmB;AACzD;AACA;AACA,YAAY,sDAAO;AACnB;AACA;AACA;AACA;AACA,oBAAoB,wDAAQ;AAC5B;AACA;AACA;AACA;AACA;AACA,yCAAyC,0EAAmB;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sBAAsB,0EAAmB;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;AACA;AACA,cAAc,mBAAmB;AACjC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;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;AACD;AACA,oEAAoE,0EAAmB;AACvF;;;;;;;;;;;;;;;;ACvIA;AACO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;;;;;;;;;;;;;;;;;;;;;;;AChB0C;AACA;AACO;AAC1C,oCAAoC,mDAAU;AACrD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,qCAAqC,mDAAU;AACtD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,oCAAoC,mDAAU;AACrD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,qCAAqC,mDAAU;AACtD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO;AACP;AACA;AACA;AACA,0BAA0B,mDAAU;AACpC;AACA;AACA;AACA;AACA,uBAAuB,8DAAW;AAClC;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;;;;;;;;;AC5E+C;AACJ;AACA;AACI;AACyB;AACjE,oCAAoC,mDAAU;AACrD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gDAAgD,uDAAY;AAC5D;AACA;AACA;AACA;AACA,6BAA6B,6DAAkB;AAC/C;AACA;AACA;AACA;AACA;AACA,eAAe,6DAAmB;AAClC;AACA;AACO;AACP;AACA;AACA,oBAAoB,aAAa;AACjC,qBAAqB,0BAA0B;AAC/C,oBAAoB,6BAA6B;AACjD,uBAAuB,6BAA6B;AACpD,sBAAsB,oCAAoC;AAC1D,uBAAuB,qDAAqD;AAC5E,sBAAsB,oCAAoC;AAC1D,mBAAmB,iCAAiC;AACpD,oBAAoB;AACpB;AACA,CAAC;AACD,oCAAoC,uDAAiB;AACrD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;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,cAAc;AAC9B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iCAAiC,mDAAU;AAC3C;AACA;AACA;AACA;AACA;AACA,gBAAgB,cAAc;AAC9B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB,aAAa;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;;;;;;;;;;AC/HkD;AACR;AACW;AACS;AACtB;AACxC;AACO;AACP;AACA;AACA,QAAQ,8DAAW;AACnB;AACA;AACA;AACA;AACA;AACA,oCAAoC,sDAAO;AAC3C;AACA;AACA,WAAW,qDAAS;AACpB;AACO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACO,sCAAsC,6DAAe;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4BAA4B,SAAS;AACrC;AACA,yBAAyB,0EAAiB;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;;;;;;;;;;;;;;;;;;ACvF0B;AACyB;AAC5C;AACP,WAAW,+DAAS,GAAG,uCAAE;AACzB;;;;;;;;;;;;;;;;;;;ACJ2C;AACb;AACE;AACzB;AACP,eAAe,mDAAU;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+BAA+B,2CAAI,UAAU,6CAAK;AAClD;AACA,KAAK;AACL;;;;;;;;;;;;;;;;;;AChB2C;AACpC,kBAAkB,mDAAU;AAC5B;AACP;AACA;AACA;AACA,eAAe,mDAAU;AACzB;;;;;;;;;;;;;;;;;;;;;ACP2C;AACD;AACH;AACK;AACd;AACvB;AACP;AACA;AACA,YAAY,sDAAO;AACnB;AACA;AACA,YAAY,wDAAQ;AACpB;AACA;AACA;AACA;AACA;AACA;AACA,2CAA2C,sDAAO;AAClD,oDAAoD,mDAAG;AACvD;AACA;AACA;AACA;AACA,eAAe,mDAAU;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wBAAwB,SAAS;AACjC,2BAA2B,2CAAI;AAC/B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA,qGAAqG;AACrG;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA,KAAK;AACL;;;;;;;;;;;;;;;;;;;AC3D2C;AACO;AACC;AAC5C;AACP;AACA,6BAA6B,mDAAU;AACvC;AACA;AACA,mBAAmB,mDAAU,CAAC,8DAAW;AACzC;AACA;AACA,eAAe,+DAAS;AACxB;AACA;;;;;;;;;;;;;;;;;;;ACb2C;AACiB;AACD;AACpD;AACP;AACA,mBAAmB,mDAAU,CAAC,wEAAgB;AAC9C;AACA;AACA,eAAe,uEAAa;AAC5B;AACA;;;;;;;;;;;;;;;;;;;;ACV2C;AACD;AACM;AACT;AACvC;AACO;AACP,QAAQ,4DAAU;AAClB;AACA;AACA;AACA;AACA,0DAA0D,mDAAG,SAAS,sDAAO;AAC7E;AACA,eAAe,mDAAU;AACzB;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,gDAAgD,SAAS;AACzD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;;;;;;;AC5D2C;AACO;AACD;AACT;AACjC;AACP;AACA;AACA;AACA,QAAQ,8DAAW;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oFAAoF,mDAAU;AAC9F;AACA;AACA,WAAW,6DAAQ,aAAa,qDAAS;AACzC;;;;;;;;;;;;;;;;;;;ACrBkD;AACV;AACmB;AACpD;AACP;AACA,QAAQ,8DAAW;AACnB;AACA,eAAe,uEAAa;AAC5B;AACA;AACA,eAAe,qDAAS;AACxB;AACA;;;;;;;;;;;;;;;;;ACZ2C;AACpC;AACP;AACA,mBAAmB,mDAAU;AAC7B;AACA;AACA,mBAAmB,mDAAU,iDAAiD,mBAAmB;AACjG;AACA;AACA,oBAAoB,mBAAmB;AACvC;AACA;;;;;;;;;;;;;;;;;;;;ACX2C;AACA;AACG;AACI;AAC3C;AACP;AACA,QAAQ,0DAAS;AACjB;AACA;AACA,aAAa,8DAAW;AACxB;AACA;AACA,SAAS,8DAAW;AACpB,oBAAoB,mDAAK;AACzB;AACA,eAAe,mDAAU;AACzB,oBAAoB,0DAAS;AAC7B;AACA;AACA;AACA;AACA,SAAS;AACT,KAAK;AACL;AACA;AACA,YAAY,4BAA4B;AACxC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;;;;ACnCiG;AAC1F;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8BAA8B,kEAAqB;AACnD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wBAAwB,mBAAmB;AAC3C;AACA;AACA;AACA;AACA;AACA,sCAAsC,+DAAc,eAAe,kEAAqB;AACxF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB,6BAA6B;AAC7C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;;;;;;AC5D2C;AACX;AACY;AACrC,yCAAyC,mDAAK;AACrD,WAAW,6CAAK,OAAO,wDAAK;AAC5B;;;;;;;;;;;;;;;;;ACLiG;AAC1F;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8BAA8B,kEAAqB;AACnD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wCAAwC,kEAAqB;AAC7D;AACA,sCAAsC,+DAAc;AACpD;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;;;;ACzCsC;AAC/B;AACP,WAAW,mDAAQ;AACnB;;;;;;;;;;;;;;;;;ACHsC;AAC/B;AACP,WAAW,mDAAQ;AACnB;;;;;;;;;;;;;;;;;;ACH2C;AACA;AACpC,2CAA2C,mDAAK;AACvD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qCAAqC,mDAAU;AAC/C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB,YAAY;AAChC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;;;;ACrD2C;AACpC;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uCAAuC,mDAAU;AACjD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;;;;AC5B2C;AACpC;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6CAA6C,mDAAU;AACvD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB,cAAc;AAClC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wBAAwB,UAAU;AAClC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;;;;ACpD2C;AACpC;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+BAA+B,mDAAU;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;;;;;ACnC2C;AACI;AACxC;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gCAAgC,mDAAU;AAC1C;AACA;AACA,qBAAqB,uDAAY;AACjC;AACA;;;;;;;;;;;;;;;;;;;;;;AClBgD;AACd;AACJ;AACoB;AACJ;AACF;AACrC;AACP;AACA,+CAA+C,+CAAM,sCAAsC,oDAAQ,EAAE,2CAAI,uBAAuB,+DAAc,iBAAiB,2DAAY,WAAW,wDAAU;AAChM;;;;;;;;;;;;;;;;;;;;;;ACTgD;AACd;AACI;AACQ;AACI;AACN;AACrC;AACP;AACA,+CAA+C,+CAAM,sCAAsC,oDAAQ,EAAE,mDAAQ,uBAAuB,+DAAc,iBAAiB,2DAAY,WAAW,wDAAU;AACpM;;;;;;;;;;;;;;;;;;ACT2C;AACpC;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4BAA4B,mDAAU;AACtC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;;;;ACpC2C;AACpC;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8BAA8B,mDAAU;AACxC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;;;;;ACpBsC;AACM;AACrC;AACP,WAAW,mDAAQ,CAAC,oDAAQ;AAC5B;;;;;;;;;;;;;;;;;;;;;;ACJ4B;AACc;AACuD;AAC1F;AACP;AACA,0DAA0D,sDAAI,qBAAqB,yCAAG;AACtF;AACA;AACA;AACA;AACA;AACA;AACO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,iCAAiC,kEAAqB;AAC7D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oCAAoC,kEAAqB;AACzD;AACA;AACA,kCAAkC,+DAAc;AAChD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO;;;;;;;;;;;;;;;;;;AClF+E;AAC/E;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kDAAkD,8FAA+B;AACjF;AACA;AACA;AACA;AACA;AACO;AACP;AACA;AACA;AACA;AACA;AACA,gBAAgB,WAAW;AAC3B;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;;;;;;;;ACjC2C;AACI;AACxC;AACP;AACA;AACA;AACA;AACO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,kCAAkC,mDAAU;AACnD;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB,4BAA4B;AAC5C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6BAA6B,kEAAuB;AACpD;AACA;AACA,6BAA6B,mEAAwB;AACrD;AACA;AACA;AACA,6BAA6B,sEAA2B;AACxD;AACA;AACA;AACO;AACP;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;;;;AChD2C;AACpC;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iCAAiC,mDAAU;AAC3C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;;;;AC3B2C;AACpC;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB,cAAc;AAC9B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iCAAiC,mDAAU;AAC3C;AACA;AACA;AACA;AACA;AACA,gBAAgB,cAAc;AAC9B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB,aAAa;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;;;;AClD2C;AACpC;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6BAA6B,mDAAU;AACvC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;;;;;;ACxDwC;AACF;AACD;AACrC;AACA,eAAe,6CAAO;AACtB;AACO;AACP,uBAAuB,mDAAQ,GAAG,qDAAS;AAC3C;;;;;;;;;;;;;;;;;ACRiD;AAC1C;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+BAA+B,iHAAiH;AAChJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0BAA0B,yDAAa;AACvC;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA,iBAAiB;AACjB,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;;;;;;;;;;;;;;;;;AC7D2C;AACpC;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6BAA6B,mDAAU;AACvC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;;;;;ACvB8C;AACI;AAC3C;AACP;AACA,QAAQ,8DAAW;AACnB;AACA,2BAA2B,0DAAM;AACjC;AACA;AACA,2BAA2B,0DAAM;AACjC;AACA;;;;;;;;;;;;;;;;;;;ACX4B;AACc;AACuD;AAC1F;AACP;AACA,2DAA2D,sDAAI,qBAAqB,yCAAG;AACvF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kCAAkC,kEAAqB;AACvD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oCAAoC,kEAAqB;AACzD;AACA;AACA,iCAAiC,+DAAc;AAC/C;AACA;AACA;AACA;AACA;AACA,gBAAgB,oBAAoB;AACpC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;;;;;;ACnE2C;AAC+B;AAC9B;AACrC;AACP;AACA;AACA,mBAAmB,wDAAK;AACxB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sBAAsB,kFAAuB;AAC7C;AACA;AACA;AACA;AACA;AACA;AACA,6BAA6B,mDAAU;AACvC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;;;;;;ACzC2C;AAC+B;AAC9B;AACrC;AACP;AACA;AACA,mBAAmB,wDAAK;AACxB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sBAAsB,kFAAuB;AAC7C;AACA;AACA;AACA;AACA;AACA;AACA,iCAAiC,mDAAU;AAC3C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4BAA4B,WAAW;AACvC;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;;;;ACxDiG;AAC1F;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qCAAqC,+DAAc,oBAAoB,kEAAqB;AAC5F;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kCAAkC,kEAAqB;AACvD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;;;;AC7B2C;AACpC;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kCAAkC,mDAAU;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;;;;;;;;;;;;;;;;;;;AC5C2C;AACP;AACY;AACzC;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4BAA4B,mDAAU;AACtC;AACA;AACA,wBAAwB,4CAAI;AAC5B,yBAAyB,4CAAI;AAC7B,4BAA4B,4CAAI;AAChC,kCAAkC,4CAAI;AACtC,wCAAwC,4CAAI;AAC5C,YAAY,4DAAU;AACtB;AACA;AACA;AACA;AACA;AACA,mDAAmD,4CAAI;AACvD,qDAAqD,4CAAI;AACzD,2DAA2D,4CAAI;AAC/D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;;;;;ACnEgD;AACL;AACpC;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qCAAqC,mDAAU;AAC/C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,wDAAU;AACzB;;;;;;;;;;;;;;;;;;AC3C2C;AACI;AACxC;AACP,eAAe,mDAAU;AACzB,wBAAwB,uDAAY;AACpC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA,KAAK;AACL;;;;;;;;;;;;;;;;;;;AClB2C;AACI;AACkB;AAC1D;AACP;AACA;AACA;AACA,eAAe,mDAAU;AACzB,wBAAwB,uDAAY;AACpC;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA,6BAA6B,sDAAe;AAC5C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb,SAAS;AACT;AACA,KAAK;AACL;;;;;;;;;;;;;;;;;;;AC3C2C;AACI;AACwB;AAChE;AACP,eAAe,mDAAU;AACzB,wBAAwB,uDAAY;AACpC;AACA,qCAAqC,0DAAiB;AACtD;AACA,8BAA8B,4DAA4D;AAC1F,6BAA6B,2DAA2D;AACxF,6BAA6B,2DAA2D;AACxF,aAAa;AACb,SAAS;AACT;AACA,KAAK;AACL;;;;;;;;;;;;;;;;;;AChB2C;AACI;AACxC;AACP,eAAe,mDAAU;AACzB,wBAAwB,uDAAY;AACpC;AACA;AACA;AACA;AACA,aAAa;AACb,SAAS;AACT;AACA,SAAS;AACT;AACA,KAAK;AACL;;;;;;;;;;;;;;;;;;;;;;;;ACf0D;AACN;AACJ;AACM;AACY;AACpB;AACI;AACF;AACzC;AACP;AACA,YAAY,8EAAmB;AAC/B,mBAAmB,uEAAkB;AACrC;AACA,iBAAiB,0DAAS;AAC1B,mBAAmB,iEAAe;AAClC;AACA,iBAAiB,8DAAW;AAC5B,mBAAmB,6DAAa;AAChC;AACA,iBAAiB,4DAAU;AAC3B,mBAAmB,mEAAgB;AACnC;AACA;AACA;AACA;;;;;;;;;;;;;;;;;ACxB+C;AACxC,qBAAqB,uDAAY;AACxC;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;;;;ACR4C;AACrC,mCAAmC,qDAAW;AACrD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;;;;ACxBkD;AAC3C,sCAAsC,2DAAc;AAC3D;AACA;AACA;AACA,gBAAgB,UAAU;AAC1B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAU;AACV;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;;;;;ACvB8C;AACF;AACrC,yBAAyB,qDAAW;AAC3C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6DAA6D,mEAAsB;AACnF;AACA;AACA;AACA;AACA;AACA;AACA,YAAY,qEAAwB;AACpC;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;;;;ACzBkD;AAC3C,4BAA4B,2DAAc;AACjD;AACA;AACA;AACA,gBAAgB,UAAU;AAC1B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAU;AACV;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;;;;ACvBkC;AAC3B,0BAA0B,2CAAM;AACvC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;;;;AC9EyC;AAClC,6BAA6B,iDAAS;AAC7C,uCAAuC,qDAAa;AACpD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB,UAAU;AAC1B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAU;AACV;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;;;;AC5C4C;AACrC,0BAA0B,qDAAW;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;;;;;;;;;;;;;;;;;AC3BkD;AAC3C,6BAA6B,2DAAc;AAClD;;;;;;;;;;;;;;;;;;;ACF8D;AACM;AAC7D,oCAAoC,6EAAuB,CAAC,uEAAoB;AAChF;;;;;;;;;;;;;;;;;;;ACHmC;AACM;AACzC,0BAA0B,yDAAa,CAAC,mDAAU;AAClD;;;;;;;;;;;;;;;;;;;ACHqC;AACM;AAC3C,2BAA2B,2DAAc,CAAC,qDAAW;AACrD;;;;;;;;;;;;;;;;;;;ACHqC;AACM;AAC3C,2BAA2B,2DAAc,CAAC,qDAAW;AACrD;;;;;;;;;;;;;;;;;;ACHA;AACP;AACA;AACA;AACA;AACA;AACO;AACA;;;;;;;;;;;;;;;;ACPA;;;;;;;;;;;;;;;;;ACAA;AACP;AACA;AACO;;;;;;;;;;;;;;;;ACHP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACM;;;;;;;;;;;;;;;;ACVP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACM;;;;;;;;;;;;;;;;;ACVP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO;AACP;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACO;AACP;AACA;AACA;AACA;;;;;;;;;;;;;;;;ACzBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACM;;;;;;;;;;;;;;;;ACVP;AACA;AACA;AACA;AACA,eAAe,eAAe;AAC9B,EAAE,0BAA0B,MAAM,IAAI,eAAe,gBAAgB;AACrE;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACM;;;;;;;;;;;;;;;;;ACboC;AACpC;AACP;AACA,gBAAgB,iCAAiC;AACjD;AACA;AACA;AACA,uDAAuD,mDAAU;AACjE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;;;ACfO;AACP,uBAAuB,YAAY;AACnC;;;;;;;;;;;;;;;;ACFO;AACP;AACA;;;;;;;;;;;;;;;;ACFO;;;;;;;;;;;;;;;;ACAA;;;;;;;;;;;;;;;;ACAA;AACP;AACA;;;;;;;;;;;;;;;;;ACFuE;AAChE;AACP,iCAAiC,0DAAiB;AAClD;;;;;;;;;;;;;;;;;ACHiE;AAC1D;AACP,iCAAiC,sDAAe;AAChD;;;;;;;;;;;;;;;;;ACHoC;AAC7B;AACP,YAAY,iDAAO;AACnB;;;;;;;;;;;;;;;;ACHO;AACP;AACA;;;;;;;;;;;;;;;;;ACF2C;AACpC;AACP,oCAAoC,mDAAU;AAC9C;;;;;;;;;;;;;;;;ACHO;AACP;AACA;;;;;;;;;;;;;;;;ACFO;AACP;AACA;;;;;;;;;;;;;;;;ACFO;;;;;;;;;;;;;;;;;;ACA+B;AAC/B;AACP;AACA;AACO;AACP;AACA,eAAe,+CAAQ;AACvB;AAC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QAAQ,WAAW,WAAW,QAAQ,WAAW,WAAW,QAAQ,WAAW,WAAW,QAAQ,WAAW,WAAW,QAAQ,WAAW,WAAW,QAAQ,WAAW,WAAW,QAAQ,WAAW,WAAW,QAAQ,WAAW,WAAW,QAAQ,WAAW,WAAW,QAAQ,WAAW,WAAW,QAAQ,WAAW,WAAW,QAAQ,WAAW,WAAW,QAAQ,WAAW,WAAW,QAAQ,WAAW,WAAW,QAAQ,WAAW,WAAW,QAAQ,WAAW,WAAW,QAAQ,WAAW,WAAW,QAAQ,WAAW,WAAW,QAAQ,WAAW,WAAW,QAAQ,WAAW,WAAW,QAAQ,WAAW,WAAW,QAAQ,WAAW,WAAW,QAAQ,WAAW,WAAW,QAAQ,WAAW,WAAW,QAAQ,WAAW,WAAW,QAAQ,WAAW,WAAW,QAAQ,WAAW,WAAW,QAAQ,WAAW,WAAW,QAAQ,WAAW,WAAW,QAAQ,WAAW,WAAW,QAAQ,WAAW,WAAW,QAAQ,WAAW,WAAW,QAAQ,WAAW,WAAW,QAAQ,WAAW,WAAW,QAAQ,WAAW,WAAW,QAAQ,WAAW,WAAW,QAAQ,WAAW,WAAW,QAAQ,WAAW,WAAW,QAAQ,WAAW,WAAW,QAAQ,WAAW,WAAW,QAAQ,WAAW,WAAW,QAAQ,WAAW,WAAW,QAAQ,WAAW,WAAW,QAAQ,WAAW,WAAW,QAAQ,WAAW,WAAW,QAAQ,WAAW,WAAW,QAAQ,WAAW,WAAW,QAAQ,WAAW,WAAW,QAAQ,WAAW,WAAW,QAAQ,WAAW,WAAW,QAAQ,WAAW,WAAW,QAAQ,WAAW,WAAW,QAAQ,WAAW,WAAW,QAAQ,WAAW,WAAW,QAAQ,WAAW,WAAW,QAAQ,WAAW,WAAW,QAAQ,WAAW,WAAW,QAAQ,WAAW,WAAW,QAAQ,WAAW,WAAW,QAAQ,WAAW,WAAW,QAAQ,WAAW,WAAW,QAAQ,WAAW,WAAW,QAAQ,WAAW,WAAW,QAAQ,WAAW,WAAW,QAAQ,WAAW,WAAW,QAAQ,WAAW,WAAW,QAAQ,WAAW,WAAW,QAAQ,WAAW,WAAW,QAAQ,WAAW,WAAW,QAAQ,WAAW,WAAW,QAAQ,WAAW,WAAW,QAAQ,WAAW,WAAW,QAAQ,WAAW,WAAW,QAAQ,WAAW,WAAW,QAAQ,WAAW,WAAW,QAAQ,WAAW,WAAW,QAAQ,WAAW,WAAW,QAAQ,WAAW,WAAW,QAAQ,WAAW,WAAW,QAAQ,WAAW,WAAW,QAAQ,WAAW,WAAW,QAAQ,WAAW,WAAW,QAAQ,WAAW,WAAW,QAAQ,WAAW,WAAW,QAAQ,WAAW,WAAW,QAAQ,WAAW,WAAW,QAAQ,WAAW,WAAW,QAAQ,WAAW,WAAW,QAAQ,WAAW,WAAW,QAAQ,WAAW,WAAW,QAAQ,WAAW,WAAW,QAAQ,WAAW,WAAW,QAAQ,WAAW,WAAW,QAAQ,WAAW,WAAW,QAAQ,WAAW,WAAW,QAAQ,WAAW,WAAW,QAAQ,WAAW,WAAW,QAAQ,WAAW,WAAW,QAAQ,WAAW,WAAW,QAAQ,WAAW,WAAW,QAAQ,WAAW,WAAW,QAAQ,WAAW,WAAW,QAAQ,WAAW,WAAW,QAAQ,WAAW,WAAW,QAAQ,WAAW,WAAW,QAAQ,WAAW,WAAW,QAAQ,WAAW,WAAW,QAAQ,WAAW,WAAW,QAAQ,WAAW,WAAW,QAAQ,WAAW,WAAW,QAAQ,WAAW,WAAW,QAAQ,WAAW,WAAW,QAAQ,WAAW,WAAW,QAAQ,WAAW,WAAW,QAAQ,WAAW,WAAW,QAAQ,WAAW,WAAW,QAAQ,WAAW,WAAW,QAAQ,WAAW,WAAW,QAAQ,WAAW,WAAW,QAAQ,WAAW,WAAW,QAAQ,WAAW,YAAY,SAAS,WAAW,YAAY,SAAS,WAAW,YAAY,SAAS,WAAW,YAAY,SAAS,WAAW,YAAY,SAAS,WAAW,YAAY,SAAS,WAAW,YAAY,SAAS,WAAW,YAAY,SAAS,WAAW,YAAY,SAAS,WAAW,YAAY,SAAS,WAAW,YAAY,SAAS,WAAW,YAAY,SAAS,WAAW,YAAY,SAAS,WAAW,YAAY,SAAS,WAAW,YAAY,SAAS,WAAW,YAAY,SAAS,WAAW,YAAY,SAAS,WAAW,YAAY,SAAS,WAAW,YAAY,SAAS,WAAW,YAAY,SAAS,WAAW,YAAY,SAAS,WAAW,YAAY,SAAS,WAAW,YAAY,SAAS,WAAW,YAAY,SAAS,WAAW,YAAY,SAAS,WAAW,YAAY,SAAS,WAAW,YAAY,SAAS,WAAW,YAAY,SAAS,WAAW,YAAY,SAAS,WAAW,YAAY,SAAS,WAAW,YAAY,SAAS,WAAW,YAAY,SAAS,WAAW,YAAY,SAAS,WAAW,YAAY,SAAS,WAAW,YAAY,SAAS,WAAW,YAAY,SAAS,WAAW,YAAY,SAAS,WAAW,YAAY,SAAS,WAAW,YAAY,SAAS,WAAW,YAAY,SAAS,WAAW,YAAY,SAAS,WAAW,YAAY,SAAS,WAAW,YAAY,SAAS,WAAW,YAAY,SAAS,WAAW,YAAY,SAAS,WAAW,YAAY,SAAS,WAAW,YAAY,SAAS,WAAW,YAAY,SAAS,WAAW,YAAY,SAAS,WAAW,YAAY,SAAS,WAAW,YAAY,SAAS,WAAW,YAAY,SAAS,WAAW,YAAY,SAAS,WAAW,YAAY,SAAS,WAAW,YAAY,SAAS,WAAW,YAAY,SAAS,WAAW,YAAY,SAAS,YAAY,YAAY,SAAS,WAAW,YAAY,SAAS,WAAW,YAAY,SAAS,WAAW,YAAY,SAAS,WAAW,YAAY,SAAS,WAAW,YAAY,SAAS,WAAW,YAAY,SAAS,WAAW,YAAY,SAAS,WAAW,YAAY,SAAS,WAAW,YAAY,SAAS,WAAW,YAAY,SAAS,WAAW,YAAY,SAAS,WAAW,YAAY,SAAS,WAAW,YAAY,SAAS,WAAW,YAAY,SAAS,WAAW,YAAY,SAAS,WAAW,YAAY,SAAS,WAAW,YAAY,SAAS,WAAW,YAAY,SAAS,WAAW,YAAY,SAAS,WAAW,YAAY,SAAS,WAAW,YAAY,SAAS,WAAW,YAAY,SAAS,WAAW,YAAY,SAAS,WAAW,YAAY,SAAS,WAAW,YAAY,SAAS,WAAW,YAAY,SAAS,WAAW,YAAY,SAAS,WAAW,YAAY,SAAS,WAAW,YAAY,SAAS,WAAW,YAAY,SAAS,WAAW,YAAY,SAAS,WAAW,YAAY,SAAS,WAAW,YAAY,SAAS,WAAW,YAAY,SAAS,WAAW,YAAY,SAAS,WAAW,YAAY,SAAS,WAAW,YAAY,SAAS,WAAW,YAAY,SAAS,WAAW,YAAY,SAAS,WAAW,YAAY,SAAS,WAAW,YAAY,SAAS,WAAW,YAAY,SAAS,WAAW,YAAY,SAAS,WAAW,YAAY,SAAS,WAAW,YAAY,SAAS,WAAW,YAAY,QAAQ,WAAW,YAAY,SAAS,WAAW,YAAY,SAAS,WAAW,YAAY,SAAS,WAAW,YAAY,SAAS,WAAW,YAAY,SAAS,WAAW,YAAY,SAAS,WAAW,YAAY,SAAS,WAAW,YAAY,SAAS,WAAW,YAAY,SAAS,WAAW,YAAY,SAAS,WAAW,YAAY,SAAS,WAAW,YAAY,SAAS,WAAW,YAAY,SAAS,WAAW,YAAY,SAAS,WAAW,YAAY,SAAS,WAAW,YAAY,SAAS,WAAW,YAAY,SAAS,WAAW,YAAY,SAAS,WAAW,YAAY,SAAS,WAAW,YAAY,SAAS,WAAW,YAAY,SAAS,WAAW,YAAY,SAAS,WAAW,YAAY,SAAS,WAAW,YAAY,SAAS,WAAW,YAAY,SAAS,WAAW,YAAY,SAAS,WAAW,YAAY,SAAS,WAAW,YAAY,SAAS,WAAW,YAAY,SAAS,WAAW,YAAY,SAAS,WAAW,YAAY,SAAS,WAAW,aAAa,UAAU,WAAW,aAAa,UAAU,WAAW,aAAa,UAAU,WAAW,aAAa,UAAU,WAAW,aAAa,UAAU,WAAW,aAAa,UAAU,WAAW,aAAa,UAAU,WAAW,aAAa,UAAU,WAAW,aAAa,UAAU,WAAW,aAAa,UAAU,WAAW,aAAa,UAAU,WAAW,aAAa,UAAU,WAAW,aAAa,UAAU,WAAW,aAAa,UAAU,WAAW,aAAa,UAAU,WAAW,aAAa,UAAU,WAAW,aAAa,UAAU,WAAW,aAAa,UAAU,WAAW,aAAa,UAAU,WAAW,aAAa,UAAU,WAAW,aAAa,UAAU,WAAW,aAAa,UAAU,WAAW,aAAa,UAAU,WAAW,aAAa,UAAU,WAAW,aAAa,UAAU,WAAW,aAAa,UAAU,WAAW,aAAa,UAAU,WAAW,aAAa,UAAU,YAAY,aAAa,UAAU,WAAW,aAAa,UAAU,WAAW,aAAa,UAAU,WAAW,aAAa,UAAU,WAAW,aAAa,UAAU,WAAW,aAAa,UAAU,WAAW,aAAa,UAAU,WAAW,aAAa,UAAU,WAAW,aAAa,UAAU,WAAW,aAAa,UAAU,WAAW,aAAa,UAAU,WAAW,aAAa,UAAU,WAAW,aAAa,UAAU,WAAW,aAAa,UAAU,WAAW,aAAa,UAAU,WAAW,aAAa,UAAU,WAAW,aAAa,UAAU,WAAW,aAAa,UAAU,WAAW,aAAa,UAAU,WAAW,aAAa,UAAU,WAAW,aAAa,UAAU,WAAW,aAAa,UAAU,WAAW,aAAa,UAAU,WAAW,aAAa,UAAU,WAAW,aAAa,UAAU,WAAW,aAAa,UAAU,WAAW,aAAa,UAAU,WAAW,aAAa,UAAU,WAAW,aAAa,UAAU,WAAW,aAAa,UAAU,WAAW,aAAa,UAAU,WAAW,aAAa,UAAU,WAAW,aAAa,UAAU,WAAW,aAAa,UAAU,WAAW,aAAa,UAAU,WAAW,aAAa,UAAU,WAAW,aAAa,UAAU,WAAW,aAAa,UAAU,WAAW,aAAa,UAAU,WAAW,aAAa,UAAU,WAAW,aAAa,UAAU,WAAW,aAAa,UAAU,WAAW,aAAa,UAAU,WAAW,aAAa,UAAU,WAAW,aAAa,UAAU,WAAW,aAAa,UAAU,WAAW,aAAa,UAAU,WAAW,aAAa,UAAU,WAAW,aAAa,UAAU,WAAW,aAAa,UAAU,WAAW,aAAa,UAAU,WAAW,aAAa,UAAU,WAAW,aAAa,UAAU,WAAW,aAAa,UAAU,WAAW,aAAa,UAAU,WAAW,aAAa,UAAU,WAAW,aAAa,UAAU,WAAW,aAAa,UAAU,WAAW,aAAa,UAAU,WAAW,aAAa,UAAU,WAAW,aAAa,UAAU,WAAW,aAAa,UAAU,WAAW,aAAa,UAAU,WAAW,aAAa,UAAU,WAAW,aAAa,UAAU,WAAW,aAAa,UAAU,WAAW,aAAa,UAAU,WAAW,aAAa,UAAU,WAAW,aAAa,UAAU,WAAW,aAAa,UAAU,WAAW,aAAa,UAAU,WAAW,aAAa,UAAU,WAAW,aAAa,UAAU,WAAW,aAAa,UAAU,WAAW,YAAY,UAAU,WAAgC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACJt3uB;AACA;AACA;AACA;AAC2H,cAAc,SAAS,gBAAgB,0CAA0C,8BAA8B,mDAAmD,oBAAoB,wGAAwG,oBAAoB,2BAA2B,wBAAwB,2BAA2B,eAAe,+DAAC,MAAM,qBAAqB,+LAA+L,gBAAgB,uCAAuC,WAAW,kDAAC,IAAI,+EAA+E,EAAE,2DAA2D,EAAE,sBAAsB,qEAAqE,gBAAgB,sJAAsJ,gBAAgB,oGAAoG,gBAAgB,sJAAsJ,iCAAiC,8CAA8C,YAAY,IAAI,sJAAsJ,0CAA0C,oBAAoB,kKAAkK,kBAAkB,iBAAiB,8CAA8C,iBAAiB,IAAI,KAAK,aAAa,kHAAkH,iBAAiB,IAAI,KAAK,aAAa,4EAA4E,0CAA0C,cAAc,YAAY,IAAI,gCAAgC,SAAS,cAAc,8BAA8B,cAAc,8BAA8B,cAAc,8BAA8B,cAAc,2BAA2B,8BAA8B,wBAAwB,4DAA4D,wBAAwB,uCAAuC,cAAc,gCAAgC,gBAAgB,8EAA8E,kBAAkB,0FAA0F,gBAAgB,8EAA8E,gBAAgB,oIAAoI,gBAAgB,uBAAuB,wBAAwB,iFAAiF,oBAAoB,gDAAgD,qHAAqH,gBAAgB,uCAAuC,gBAAgB,uCAAuC,oBAAoB,8EAA8E,oBAAoB,8EAA8E,gBAAgB,qEAAqE,cAAc,qBAAqB,gBAAgB,aAAa,0DAAC,8CAA8C,gBAAgB,6GAA6G,sBAAsB,iGAAiG,cAAc,oBAAoB,cAAc,oCAAoC,kBAAkB,iCAAiC,yBAAyB,MAAM,YAAY,WAAW,8BAA8B,iBAAiB,WAAW,4BAA4B,SAAS,wBAAwB,wBAAwB,mGAAyyB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACJx2K;AACA;AACA;AACA;AACsG,cAAc,SAAS,gBAAgB,gCAAgC,cAAc,gCAAgC,gBAAgB,0DAA0D,0BAA0B,qCAAqC,oBAAoB,yDAAyD,gBAAgB,WAAW,kDAAC,EAAE,2DAA2D,EAAE,gBAAgB,4FAA4F,kBAAkB,wQAAwQ,oBAAoB,yHAAyH,MAAM,4GAA4G,YAAY,oBAAoB,iBAAiB,gCAAgC,YAAY,IAAI,KAAK,aAAa,4EAA4E,qCAAqC,cAAc,YAAY,IAAI,gCAAgC,SAAS,cAAc,uCAAuC,cAAc,uCAAuC,cAAc,iBAAiB,cAAc,sBAAsB,sBAAsB,+CAA+C,gBAAgB,sBAAsB,gBAAgB,kEAAkE,kBAAkB,2DAA2D,kBAAkB,qBAAqB,kBAAkB,oBAAoB,kBAAkB,mCAAmC,QAAQ,IAAI,QAAQ,4EAA4E,4EAA4E,gBAAgB,oBAAoB,kBAAkB,0CAA0C,oBAAoB,kDAAkD,kBAAkB,8DAA8D,gBAAgB,0FAA0F,gBAAgB,sDAAsD,kBAAkB,yBAAyB,kCAAkC,YAAY,yDAAC,gBAAgB,yDAAC,gBAAgB,yDAAC,gBAAgB,yDAAC,aAAa,gBAAgB,kHAAkH,0BAA0B,gBAAgB,8BAA8B,sBAAsB,yDAAyD,oBAAoB,yDAAyD,oBAAoB,0DAA0D,oBAAoB,0DAA0D,cAAc,qBAAqB,cAAc,6BAA6B,cAAc,4DAA4D,gBAAgB,2EAA2E,sFAAsrB;;;;;;;;;;;;;;;;;;;;;;;ACJ5oI;AACA;AACA;AACA;AAC6C,cAAc,0EAA0E,cAAc,yBAAyB,cAAc,kCAAkC,cAAc,wBAAwB,cAAc,wBAAwB,cAAc,gBAAgB,kCAAkC,SAAS,kCAAkC,gBAAgB,kJAAkJ,cAAc,YAAY,+BAA+B,aAAa,EAAE,aAAa,4EAA4E,OAAO,0DAAC,YAAY,cAAc,YAAY,qBAAqB,cAAc,yEAAyE,OAAO,0DAAC,YAAY,gBAAgB,gLAAgL,oBAAoB,cAAc,uCAAuC,wCAAwC,YAAY,WAAW,KAAK,aAAa,YAAY,WAAW,KAAK,qBAAqB,sDAAsD,aAAa,kBAAkB,kBAAkB,aAAa,oBAAoB,iPAAiP,wBAAwB,0CAA0C,wCAAwC,iPAAiP,wBAAwB,4BAA4B,uCAAuC,kCAAkC,YAAY,WAAW,KAAK,qBAAqB,sDAAsD,aAAa,kBAAkB,kBAAkB,aAAa,mBAAmB,iPAAiZ;;;;;;;;;;;;;;;;;;;;;;;;;;ACJzqF;AACA;AACA;AACA;AAC6H,cAAc,yGAAyG,cAAc,oCAAoC,gBAAgB,0BAA0B,qEAAqE,uBAAuB,IAAI,KAAK,oBAAoB,aAAa,mBAAmB,gBAAgB,iCAAiC,4JAA4J,yCAAyC,kBAAkB,+CAA+C,SAAS,kBAAkB,wBAAwB,wEAAwE,YAAY,WAAW,KAAK,uFAAuF,yDAAyD,4BAA4B,gBAAgB,2GAA2G,4CAA4C,YAAY,gCAAgC,qFAAqF,gBAAgB,gBAAgB,cAAc,4CAA4C,YAAY,aAAa,KAAK,gBAAgB,kBAAkB,+BAA+B,oEAAoE,+FAA+F,+BAA+B,MAAM,8BAA8B,gBAAgB,0CAA0C,oBAAoB,uBAAuB,MAAM,KAAK,sBAAsB,SAAS,yFAAyF,QAAQ,0DAAC,MAAM,MAAM,KAAK,QAAQ,4DAAC,MAAM,iDAAiD,wDAAwD,cAAc,MAAM,mBAAmB,GAAG,qBAAqB,kRAAkR,cAAc,aAAa,EAAE,UAAU,2EAAC,cAAc,aAAa,mBAAmB,gBAAgB,iCAAiC,4JAA4J,uBAAuB,6BAA6B,kBAAkB,+CAA+C,SAAS,cAAc,MAAM,OAAO,uCAAuC,oBAAoB,kBAAkB,sBAAsB,KAAK,cAAc,EAAE,wBAAwB,+CAA+C,QAAQ,0DAAC,MAAM,MAAM,KAAK,QAAQ,4DAAC,MAAM,+CAA+C,aAAa,iGAAiG,aAAa,cAAc,QAAQ,cAAc,aAAa,2BAA2B,QAAQ,aAAa,0BAA0B,cAAc,uDAAuD,kBAAkB,cAAc,aAAa,UAAU,mDAAmD,YAAY,kBAAkB,oCAAoC,cAAc,kBAAkB,cAAc,8BAA8B,KAAK,cAAc,sEAAsE,uCAAuC,qEAAkR;;;;;;;;;;;;;;;;;;;;;;;;ACJ7oI;AACA;AACA;AACA;AACA,cAAc,gBAAgB,iCAAiC,gBAAgB,uCAAuC,4CAA4C,SAAS,gBAAgB,MAAM,0CAA0C,GAAG,4JAA4J,gBAAgB,sBAAsB,gBAAgB,2BAA2B,oBAAoB,4FAA4F,gBAAgB,gCAAgC,gBAAgB,oBAAoB,gBAAgB,eAAe,yBAAyB,SAAS,uBAAuB,IAAI,kBAAkB,SAAS,cAAc,8BAA8B,kBAAkB,aAAa,YAAY,uBAAuB,IAAI,KAAK,iBAAiB,2BAA2B,sDAAsD,SAA+P;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACJ9uC;AACA;AACA;AACA;AACwI,cAAc,kBAAkB,6BAA6B,wBAAwB,4FAA4F,6CAA6C,8CAA8C,iDAAiD,sBAAsB,8BAA8B,kBAAkB,cAAc,sBAAsB,8BAA8B,cAAc,0FAA0F,cAAc,2BAA2B,YAAY,WAAW,iBAAiB,cAAc,2BAA2B,YAAY,WAAW,iBAAiB,SAAS,GAAG,YAAY,gBAAgB,8BAA8B,2BAA2B,kBAAkB,8BAA8B,0BAA0B,kBAAkB,gDAAgD,6DAA6D,oBAAoB,0BAA0B,oBAAoB,mGAAmG,+BAA+B,kBAAkB,uBAAuB,cAAc,aAAa,kCAAkC,cAAc,0FAA0F,qCAAqC,wBAAwB,wBAAwB,iBAAiB,oCAAoC,mCAAmC,2BAA2B,gBAAgB,iBAAiB,cAAc,iBAAiB,QAAQ,YAAY,MAAM,sBAAsB,SAAS,gBAAgB,oBAAoB,iBAAiB,QAAQ,YAAY,MAAM,KAAK,uBAAuB,UAAU,gBAAgB,wBAAwB,KAAK,cAAc,eAAe,4CAAG,GAAG,4CAAG,EAAE,QAAQ,iBAAiB,WAAW,YAAY,IAAI,KAAK,aAAa,+BAA+B,UAAU,aAAa,2BAA2B,YAAY,cAAc,iBAAiB,YAAY,2DAAC,cAAc,cAAc,yBAAyB,cAAc,2BAA2B,SAAS,yDAAyD,SAAS,cAAc,2BAA2B,8CAA8C,mCAAmC,SAAS,cAAc,oDAAoD,kEAAkE,gBAAgB,QAAQ,kEAAC,IAAI,aAAa,sCAAsC,kBAAkB,iBAAiB,kBAAkB,oBAAoB,uCAAuC,YAAY,sBAAsB,kBAAkB,IAAI,kBAAkB,YAAY,qCAAqC,gBAAgB,kBAAkB,4BAA4B,iEAAiE,kEAAkE,mEAAmE,qEAAygB;;;;;;;;;;;;;;;;;;;;;ACJruH;AACA;AACA;AACA;AAC8E,cAAc,0EAA0E,cAAc,yBAAyB,cAAc,kCAAkC,cAAc,wBAAwB,cAAc,wBAAwB,WAAW,oBAAoB,OAAO,6BAA6B,wBAAwB,OAAO,2CAA2C,wBAAwB,OAAO,2CAA2C,4BAA4B,OAAO,yDAAyD,wBAAwB,iJAAiJ,cAAc,kEAAkE,cAAc,MAAM,uBAAuB,GAAG,SAAS,gEAAC,uBAAuB,cAAc,MAAM,cAAc,aAAa,+EAA+E,cAAc,MAAM,sBAAsB,KAAK,sEAAC,kBAAkB,uBAAuB,cAAc,MAAM,sBAAsB,KAAK,sEAAC,kBAAkB,uBAAgJ;;;;;;;;;;;;;;;;;;;;ACJ72C;AACA;AACA;AACA;AAC2D,6DAA6D,uDAAQ,GAAG,oEAAqB,IAAI,kEAAkE,IAAI,MAAM,4BAA4B,OAAO,4BAA4B,OAAO,EAAE,uDAAQ,GAAG,2DAAY,CAAC,OAAO,4BAA4B,SAAS,cAAc,SAAS,aAAa,SAAS,cAAc,SAAS,EAAE,sDAAQ,GAAG,0DAAY,CAAC,SAAS,gCAAgC,SAAS,EAAE,sDAAQ,GAAG,0DAAY,CAAC,SAAS,WAAW,SAAS,YAAY,SAAS,+BAA+B,SAAS,WAAW,SAAS,YAAY,SAAS,UAAU,SAAS,cAAc,SAAS,WAAW,SAAS,UAAU,SAAS,cAAc,SAAS,cAAc,SAAS,WAAW,SAAS,cAAc,SAAS,UAAU,SAAS,WAAW,SAAS,UAAU,SAAS,WAAW,SAAS,WAAW,SAAS,YAAY,SAAS,+BAA+B,SAAS,WAAW,SAAS,WAAW,SAAS,WAAW,SAAS,aAAa,SAAS,YAAY,SAAS,WAAW,SAAS,YAAY,SAAS,YAAY,SAAS,YAAY,SAAS,cAAc,SAAS,UAAU,SAAS,YAAY,SAAS,WAAW,SAAS,YAAY,SAAS,YAAY,SAAS,WAAW,SAAS,aAAa,SAAS,aAAa,SAAS,gCAAgC,SAAS,aAAa,SAAS,WAAW,SAAS,WAAW,SAAS,WAAW,SAAS,WAAW,SAAS,WAAW,SAAS,WAAW,SAAS,aAAa,SAAS,aAAa,SAAS,WAAW,SAAS,WAAW,SAAS,WAAW,SAAS,WAAW,SAAS,aAAa,SAAS,aAAa,SAAS,+BAA+B,SAAS,WAAW,SAAS,WAAW,SAAS,6BAA6B,SAAS,WAAW,SAAS,WAAW,SAAS,YAAY,SAAS,UAAU,SAAS,cAAc,SAAS,aAAa,SAAS,YAAY,SAAS,EAAE,sDAAQ,KAAK,SAAS,WAAW,SAAS,YAAY,SAAS,gBAAyG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACJlnE;AACA;AACA;AACA;AACue,cAAc,kBAAkB,eAAe,YAAY,4DAAC,IAAI,sBAAsB,mBAAmB,cAAc,QAAQ,wEAAM,IAAI,gCAAgC,wBAAwB,8BAA8B,4CAA4C,kCAAkC,OAAO,mBAAmB,cAAc,aAAa,iBAAiB,oBAAoB,wBAAwB,6EAA6E,EAAE,cAAc,iDAAiD,cAAc,4BAA4B,kBAAkB,MAAM,UAAU,qCAAqC,4DAAC,WAAW,4DAAC,CAAC,MAAM,QAAQ,iEAAiE,WAAW,uBAAuB,cAAc,OAAO,uEAAC,YAAY,gCAAgC,iDAAiD,sDAAC,uGAAuG,WAAW,YAAY,WAAW,KAAK,mCAAmC,8BAA8B,YAAY,eAAe,2BAA2B,YAAY,WAAW,KAAK,MAAM,2BAA2B,MAAM,QAAQ,YAAY,WAAW,KAAK,aAAa,iCAAiC,0BAA0B,YAAY,aAAa,qDAAqD,KAAK,EAAE,+DAAC,mCAAmC,SAAS,yBAAyB,gBAAgB,sDAAC,qFAAqF,iDAAiD,sDAAC,yGAAyG,WAAW,YAAY,WAAW,KAAK,cAAc,mBAAmB,yCAAyC,QAAQ,YAAY,WAAW,KAAK,aAAa,QAAQ,YAAY,WAAW,KAAK,kDAAkD,iBAAiB,cAAc,kCAAkC,KAAK,EAAE,+DAAC,yBAAyB,SAAS,gBAAgB,qDAAqD,sDAAC,2FAA2F,MAAM,mBAAmB,GAAG,mBAAmB,sDAAC,uGAAuG,iEAAiE,kBAAkB,WAAW,oCAAoC,4BAA4B,YAAY,aAAa,KAAK,iDAAiD,cAAc,mBAAmB,MAAM,qBAAqB,SAAS,QAAQ,YAAY,OAAO,KAAK,iCAAiC,qDAAqD,8CAA8C,QAAQ,gFAAC,CAAC,4DAAC,IAAI,8BAA8B,oDAAC,EAAE,2BAA2B,MAAM,mDAAC,EAAE,2BAA2B,EAAE,QAAQ,mCAAmC,sDAAsD,sBAAsB,wBAAwB,4DAAC,KAAK,4DAAC,UAAU,4DAAC,EAAE,YAAY,qNAAqN,kCAAkC,KAAK,oBAAoB,qHAAqH,wHAAwH,4DAAC,+CAA+C,4DAAC,CAAC,uBAAuB,oBAAoB,aAAa,4DAAC,QAAQ,4DAAC,QAAQ,4DAAC,QAAQ,4DAAC,EAAE,qBAAqB,kIAAkI,kCAAkC,GAAG,mJAAmJ,+IAA+I,kCAAkC,UAAU,uMAAuM,mBAAmB,4DAAC,wCAAwC,kQAAkQ,mBAAmB,4DAAC,iCAAiC,4DAAC,GAAG,2BAA2B,oBAAoB,sDAAC,oFAAoF,sDAAsD,sDAAC,oGAAoG,IAAI,iEAAC,kDAAkD,sDAAC,+FAA+F,MAAM,mBAAmB,GAAG,mBAAmB,sDAAC,wFAAwF,4CAA4C,cAAc,6CAA6C,+DAAC,sFAAsF,kBAAkB,kCAAkC,sDAAC,mGAAmG,wBAAwB,sDAAC,gHAAgH,iCAAiC,sDAAC,kGAAkG,MAAM,mBAAmB,GAAG,mBAAmB,sDAAC,wFAAwF,cAAc,gCAAgC,iDAAC,EAAE,iCAAiC,EAAE,cAAc,cAAc,wEAAC,IAAI,kEAAO,MAAuQ;;;;;;;;;;;;;;;;;;;;;;;;;;ACJl9N;AACA;AACA;AACA;AACA;AAA0B;AAAoD;;AAA4B,SAASS,CAAT,CAAWX,CAAX,EAAa;AAAC,UAAOA,CAAC,EAAEuD,IAAV;AAAgB,SAAI,OAAJ;AAAY,aAAOvD,CAAP;;AAAS,SAAI,QAAJ;AAAa,aAAOA,CAAC,CAAC8Y,MAAT;;AAAgB,SAAI,SAAJ;AAAc,aAAO9Y,CAAC,CAAC26B,QAAT;;AAAkB,SAAI,YAAJ;AAAiB,SAAI,UAAJ;AAAe,aAAO36B,CAAC,CAACgZ,MAAF,EAAUF,MAAjB;;AAAwB;AAAQ,aAAO,IAAP;AAAlK;AAA+K;;SAAe7Y;;;;;yMAAf,WAAiBD,CAAjB,EAAmBE,CAAnB,EAAqB;AAAC,QAAGF,CAAC,CAACm4B,IAAF,IAAQ,SAAOj4B,CAAC,CAACqD,IAApB,EAAyB,OAAOvD,CAAP;AAAS,UAAMW,CAAC,GAACT,CAAC,CAACqF,GAAF,EAAOyQ,MAAf;AAAsB,QAAG,CAACrV,CAAC,EAAEwI,MAAH,CAAU0E,MAAd,EAAqB,OAAO7N,CAAP;AAAS,UAAK;AAACm3B,MAAAA,QAAQ,EAACl3B;AAAV,cAAmBU,CAAC,CAAC8I,cAAF,CAAiBzJ,CAAjB,EAAmB;AAAC46B,MAAAA,KAAK,EAAC16B,CAAC,CAAC26B,cAAF,EAAkBC;AAAzB,KAAnB,CAAxB;AAA0F,WAAO76B,CAAP;AAAS;;;;AAAA,SAASK,CAAT,CAAWN,CAAX,EAAaE,CAAb,EAAeS,CAAf,EAAiB;AAAC,SAAOD,CAAC,CAACV,CAAC,CAAC8Y,MAAH,EAAU5Y,CAAV,EAAYS,CAAZ,CAAR;AAAuB;;AAAA,SAASK,CAAT,CAAWhB,CAAX,EAAaE,CAAb,EAAeS,CAAf,EAAiB;AAAC,UAAOX,CAAC,EAAEuD,IAAV;AAAgB,SAAI,QAAJ;AAAa,aAAOvD,CAAP;;AAAS,SAAI,YAAJ;AAAiB,SAAI,SAAJ;AAAc,SAAI,UAAJ;AAAe,aAAOA,CAAC,CAACgZ,MAAT;;AAAgB,SAAI,OAAJ;AAAY,aAAOtY,CAAC,CAACV,CAAD,EAAGE,CAAH,EAAKS,CAAL,CAAR;;AAAgB;AAAQ,aAAO,IAAP;AAAxI;AAAqJ;;AAAA,SAASD,CAAT,CAAWC,CAAX,EAAaV,CAAb,EAAeK,CAAf,EAAiB;AAAC,QAAMU,CAAC,GAACL,CAAC,CAACw3B,IAAF,GAAOx3B,CAAC,CAAC0mB,CAAT,GAAW,KAAK,CAAxB;;AAA0B,MAAGpnB,CAAC,EAAEsF,GAAN,EAAU;AAAC,WAAM,CAAC,QAAMjF,CAAN,GAAQN,iEAAC,CAACC,CAAD,EAAGK,CAAH,CAAT,GAAeL,CAAC,CAAC+Y,MAAlB,EAA0BvY,KAA1B,GAAkCs6B,QAAlC,CAA2Cp6B,CAA3C,EAA8C+E,GAA9C,CAAkD;AAACgyB,MAAAA,IAAI,EAAC12B,CAAN;AAAQy2B,MAAAA,IAAI,EAACz2B;AAAb,KAAlD,CAAN;AAAyE;;AAAA,QAAK;AAACwB,IAAAA,CAAC,EAAC9B,CAAH;AAAKU,IAAAA,CAAC,EAACZ,CAAP;AAASoC,IAAAA,gBAAgB,EAACpB;AAA1B,MAA6Bb,CAAlC;AAAoC,SAAO,IAAIT,kDAAJ,CAAM;AAACgZ,IAAAA,IAAI,EAACxY,CAAC,GAAC,GAAR;AAAYi4B,IAAAA,IAAI,EAACn4B,CAAC,GAAC,GAAnB;AAAuB2Y,IAAAA,IAAI,EAACzY,CAAC,GAAC,GAA9B;AAAkCk4B,IAAAA,IAAI,EAACp4B,CAAC,GAAC,GAAzC;AAA6CoC,IAAAA,gBAAgB,EAACpB,CAA9D;AAAgEi2B,IAAAA,IAAI,EAACz2B,CAArE;AAAuE02B,IAAAA,IAAI,EAAC12B;AAA5E,GAAN,CAAP;AAA6F;;;;;;;;;;;;;;;;;;;;;;;;ACJv8B;AACA;AACA;AACA;AACiK,gBAAgB,kBAAkB,oBAAoB,sDAAC,0GAA0G,kBAAkB,EAAE,uBAAuB,4EAAkB,iBAAiB,iBAAiB,sDAAC,yEAAyE,EAAE,kDAAkD,EAAE,IAAI,gCAAgC,OAAO,kBAAkB,4BAA4B,MAAM,QAAQ,4EAAkB,kCAAkC,yBAAyB,YAAY,sDAAC,uGAAuG,EAAE,IAAI,iBAAiB,EAAE,WAAW,sDAAC,2GAA2G,0BAA0B,GAAG,uCAAuC,sDAAC,2GAA2G,kBAAkB,EAAE,UAAU,cAAc,kEAAkE,sDAAC,0EAA0E,EAAE,gDAAgD,EAAE,IAAI,wBAAwB,EAAE,WAAW,sDAAC,0HAA0H,sDAAsD,EAAE,oBAAoB,oEAAoE,sDAAC,yEAAyE,EAAE,8CAA8C,EAAE,IAAI,sCAAsC,EAAE,WAAW,sDAAC,0HAA0H,sDAAsD,EAAE,YAAY,4DAA4D,sDAAC,6EAA6E,EAAE,gDAAgD,EAAE,IAAI,0BAA0B,EAAE,WAAW,sDAAC,0HAA0H,sDAAsD,GAAG,YAAY,kBAAkB,qCAAqC,gCAAgC,kDAAkD,sDAAsD,sBAAsB,yCAAyC,0DAA0D,8BAA8B,MAAM,cAAc,wDAAwD,cAAc,sFAAsF,cAAc,kDAAkD,cAAc,wEAAC,6CAA6C,wGAAwG,4EAAkB,4BAA4B,cAAc,4BAA4B,cAAc,sDAAsD,eAAe,2LAA2L,kBAAkB,cAAc,wFAAwF,cAAc,wCAAwC,cAAc,eAAe,4IAA4I,usBAAusB,SAAS,aAAa,uHAAuH,SAAS,GAAG,YAAY,2DAAC,EAAE,qCAAqC,EAA4H;;;;;;;;;;;;;;;;;;;;;;;;ACJ53J;AACA;AACA;AACA;AACqI,gBAAgB,OAAO,iEAAC,MAAM,gBAAgB,uBAAuB,UAAU,mBAAmB,8BAA8B,mCAAmC,mBAAmB,8BAA8B,mCAAmC,gCAAgC,8BAA8B,mCAAmC,SAAS,gBAAgB,MAAM,gBAAgB,OAAO,gEAAC,CAAC,gEAAC,CAAC,oCAAoC,SAAS,8EAA8E,gBAAgB,oBAAoB,gBAAgB,gGAAgG,oBAAoB,iEAAC,eAAe,kBAAkB,sBAAsB,WAAW,GAAG,oEAAC,eAAe,YAAY,WAAW,KAAK,aAAa,GAAG,oEAAC,yBAAyB,KAAK,SAAS,gBAAgB,gGAAgG,gBAAgB,kBAAkB,sBAAsB,WAAW,GAAG,oEAAC,eAAe,YAAY,WAAW,KAAK,aAAa,GAAG,oEAAC,yBAAyB,KAAK,SAAS,cAAc,cAAc,YAAY,WAAW,KAAK,aAAa,YAAY,aAAa,KAAK,sBAAsB,cAAc,WAAW,gBAAgB,gBAAgB,KAAK,4BAA4B,qIAAqI,iBAAiB,uBAAuB,MAAM,KAAK,UAAU,eAAe,sBAAsB,cAAc,IAAI,KAAK,sBAAsB,sIAAsI,SAAS,kBAAkB,YAAY,WAAW,uCAAuC,SAAS,sBAAsB,mFAAmF,kBAAkB,kCAAkC,uEAAuE,cAAc,UAAU,iDAAiD,uDAAuD,6CAA6C,+FAA+F,oDAA8R;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACJ3tF;AACA;AACA;AACA;AACgL,cAAc,0EAA0E,cAAc,yBAAyB,cAAc,kCAAkC,cAAc,wBAAwB,cAAc,wBAAwB,cAAc,iCAAiC,oDAAC,QAAQ,0DAAU,SAAS,6DAAU,SAAS,4DAAU,SAAS,+DAAU,SAAS,2DAAU,SAAS,cAAc,6JAA6J,SAAS,kBAAkB,iDAAC,sBAAsB,oDAAC,qBAAqB,mDAAC,sBAAsB,kDAAC,wBAAwB,sDAAC,wBAAwB,mDAAC,EAAE,cAAc,qBAA6J;;;;;;;;;;;;;;;;;;;;;;;;;;;ACJ5iC;AACA;AACA;AACA;AACwP,aAAa,OAAO,iEAAW,uBAAuB,cAAc,YAAY,cAAc,sBAAsB,cAAc,wBAAwB,gBAAgB,qBAAqB,sBAAsB,WAAW,iDAAC,EAAE,+BAA+B,EAAE,gBAAgB,MAAM,+BAA+B,gBAAgB,yBAAyB,8DAAC,2BAA2B,+EAA+E,uGAAuG,6DAA6D,gEAAC,EAAE,SAAS,MAAM,wEAAC,EAAE,SAAS,EAAE,cAAc,+DAA+D,cAAc,gDAAgD,gBAAgB,8EAA8E,mDAAC,qBAAkM;;;;;;;;;;;;;;;;;;;;ACJrzC;AACA;AACA;AACA;AAC+K,gBAAgB,MAAM,mBAAmB,eAAe,uCAAuC,8HAA8H,6BAA6B,aAAa,KAAK,mEAAC,UAAU,QAAQ,6EAAC,MAAM,yBAAyB,OAAO,eAAe,iDAAC,EAAE,yBAAyB,cAA6C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACJ7kB;AACA;AACA;AACA;AACA;AAA+B;AAAmC;AAAoC;AAA6B;AAA8B;AAAyH;AAAqD;AAA6F;AAAwD;;AAAkE,MAAME,CAAC,GAAC,MAAIP,iEAAA,CAAY,sCAAZ,CAAZ;;AAAgE,SAASsB,CAAT,CAAW/B,CAAX,EAAa;AAAC,SAAM,cAAYA,CAAC,CAACqD,IAApB;AAAyB;;AAAA,SAASnC,CAAT,CAAWlB,CAAX,EAAa;AAAC,SAAM,cAAYA,CAAC,CAAC,CAAD,CAAD,CAAKqD,IAAvB;AAA4B;;AAAA,SAASf,CAAT,CAAWtC,CAAX,EAAa;AAAC,SAAM,eAAaA,CAAC,CAAC,CAAD,CAAD,CAAKqD,IAAxB;AAA6B;;AAAA,SAAS7B,CAAT,CAAWxB,CAAX,EAAa;AAAC,QAAMF,CAAC,GAAC,EAAR;AAAW,MAAIW,CAAC,GAAC,CAAN;AAAA,MAAQH,CAAC,GAAC,CAAV;;AAAY,OAAI,IAAIJ,CAAC,GAAC,CAAV,EAAYA,CAAC,GAACF,CAAC,CAAC2N,MAAhB,EAAuBzN,CAAC,EAAxB,EAA2B;AAAC,UAAMH,CAAC,GAACC,CAAC,CAACE,CAAD,CAAT;AAAa,QAAIM,CAAC,GAAC,IAAN;;AAAW,SAAI,IAAIR,CAAC,GAAC,CAAV,EAAYA,CAAC,GAACD,CAAC,CAAC4N,MAAhB,EAAuB3N,CAAC,EAAxB,EAA2BQ,CAAC,GAACT,CAAC,CAACC,CAAD,CAAH,EAAOF,CAAC,CAAC8E,IAAF,CAAOpE,CAAP,CAAP,EAAiB,MAAIR,CAAJ,IAAOS,CAAC,GAACD,CAAC,CAAC,CAAD,CAAH,EAAOF,CAAC,GAACG,CAAhB,KAAoBA,CAAC,GAACmjB,IAAI,CAAC5Z,GAAL,CAASvJ,CAAT,EAAWD,CAAC,CAAC,CAAD,CAAZ,CAAF,EAAmBF,CAAC,GAACsjB,IAAI,CAAC3Z,GAAL,CAAS3J,CAAT,EAAWE,CAAC,CAAC,CAAD,CAAZ,CAAzC,CAAjB;;AAA4EA,IAAAA,CAAC,IAAEV,CAAC,CAAC8E,IAAF,CAAO,CAAC,CAACnE,CAAC,GAACH,CAAH,IAAM,CAAP,EAAS,CAAT,CAAP,CAAH;AAAuB;;AAAA,SAAOR,CAAP;AAAS;;AAAA,SAASgH,CAAT,CAAW9G,CAAX,EAAaS,CAAb,EAAe;AAAC,MAAG,EAAET,CAAC,YAAYE,oDAAb,IAAgBF,CAAC,YAAYM,mDAA/B,CAAH,EAAqC;AAAC,UAAMN,CAAC,GAAC,yEAAR;AAAkF,UAAMgB,CAAC,GAAGuC,KAAJ,CAAUvD,CAAV,GAAa,IAAIF,sDAAJ,CAAME,CAAN,CAAnB;AAA4B;;AAAA,QAAMQ,CAAC,GAACT,0EAAC,CAACC,CAAD,CAAT;AAAA,QAAaW,CAAC,GAAC,EAAf;;AAAkB,OAAI,MAAMb,CAAV,IAAeU,CAAf,EAAiB;AAAC,UAAMR,CAAC,GAAC,EAAR;AAAWW,IAAAA,CAAC,CAACiE,IAAF,CAAO5E,CAAP,GAAUA,CAAC,CAAC4E,IAAF,CAAO,CAAC9E,CAAC,CAAC,CAAD,CAAD,CAAK,CAAL,CAAD,EAASA,CAAC,CAAC,CAAD,CAAD,CAAK,CAAL,CAAT,CAAP,CAAV;;AAAoC,SAAI,IAAIQ,CAAC,GAAC,CAAV,EAAYA,CAAC,GAACR,CAAC,CAAC6N,MAAF,GAAS,CAAvB,EAAyBrN,CAAC,EAA1B,EAA6B;AAAC,YAAMJ,CAAC,GAACJ,CAAC,CAACQ,CAAD,CAAD,CAAK,CAAL,CAAR;AAAA,YAAgBP,CAAC,GAACD,CAAC,CAACQ,CAAD,CAAD,CAAK,CAAL,CAAlB;AAAA,YAA0BE,CAAC,GAACV,CAAC,CAACQ,CAAC,GAAC,CAAH,CAAD,CAAO,CAAP,CAA5B;AAAA,YAAsCK,CAAC,GAACb,CAAC,CAACQ,CAAC,GAAC,CAAH,CAAD,CAAO,CAAP,CAAxC;AAAA,YAAkDQ,CAAC,GAAC8iB,IAAI,CAACgY,IAAL,CAAU,CAACp7B,CAAC,GAACN,CAAH,KAAOM,CAAC,GAACN,CAAT,IAAY,CAACS,CAAC,GAACZ,CAAH,KAAOY,CAAC,GAACZ,CAAT,CAAtB,CAApD;AAAA,YAAuF2B,CAAC,GAAC,CAACf,CAAC,GAACZ,CAAH,IAAMe,CAA/F;AAAA,YAAiGQ,CAAC,GAAC,CAACd,CAAC,GAACN,CAAH,IAAMY,CAAzG;AAAA,YAA2GF,CAAC,GAACE,CAAC,GAACL,CAA/G;;AAAiH,UAAGG,CAAC,GAAC,CAAL,EAAO;AAAC,aAAI,IAAID,CAAC,GAAC,CAAV,EAAYA,CAAC,IAAEC,CAAC,GAAC,CAAjB,EAAmBD,CAAC,EAApB,EAAuB;AAAC,gBAAMb,CAAC,GAACa,CAAC,GAACF,CAAV;AAAA,gBAAYH,CAAC,GAACgB,CAAC,GAACxB,CAAF,GAAII,CAAlB;AAAA,gBAAoBM,CAAC,GAACkB,CAAC,GAAC5B,CAAF,GAAIC,CAA1B;AAA4BC,UAAAA,CAAC,CAAC4E,IAAF,CAAO,CAACtE,CAAD,EAAGE,CAAH,CAAP;AAAc;;AAAA,cAAMV,CAAC,GAAC,CAACgB,CAAC,GAAC8iB,IAAI,CAACiY,KAAL,CAAWj7B,CAAC,GAAC,CAAb,IAAgBH,CAAnB,IAAsB,CAA9B;AAAA,cAAgCH,CAAC,GAACgB,CAAC,GAACxB,CAAF,GAAII,CAAtC;AAAA,cAAwCM,CAAC,GAACkB,CAAC,GAAC5B,CAAF,GAAIC,CAA9C;AAAgDC,QAAAA,CAAC,CAAC4E,IAAF,CAAO,CAACtE,CAAD,EAAGE,CAAH,CAAP;AAAc;;AAAAR,MAAAA,CAAC,CAAC4E,IAAF,CAAO,CAACpE,CAAD,EAAGG,CAAH,CAAP;AAAc;AAAC;;AAAA,SAAOoB,CAAC,CAAC/B,CAAD,CAAD,GAAK,IAAIM,mDAAJ,CAAM;AAACi4B,IAAAA,KAAK,EAAC53B,CAAP;AAAS+B,IAAAA,gBAAgB,EAAC1C,CAAC,CAAC0C;AAA5B,GAAN,CAAL,GAA0D,IAAIxC,oDAAJ,CAAM;AAACiT,IAAAA,KAAK,EAACxS,CAAP;AAAS+B,IAAAA,gBAAgB,EAAC1C,CAAC,CAAC0C;AAA5B,GAAN,CAAjE;AAAsH;;AAAA,SAASb,CAAT,CAAW7B,CAAX,EAAaF,CAAb,EAAeW,CAAf,EAAiB;AAAC,MAAGX,CAAH,EAAK;AAAC,UAAMA,CAAC,GAACgH,CAAC,CAAC9G,CAAD,EAAG,GAAH,CAAT;AAAiBA,IAAAA,CAAC,GAACY,6EAAC,CAACd,CAAD,EAAG,CAAC,CAAJ,CAAH;AAAU;;AAAA,SAAOW,CAAC,KAAGT,CAAC,GAACc,4EAAC,CAACd,CAAD,EAAGS,CAAH,CAAN,CAAD,EAAcT,CAArB;AAAuB;;AAAA,SAAS2B,CAAT,CAAW3B,CAAX,EAAaF,CAAb,EAAeW,CAAf,EAAiB;AAAC,MAAG4F,KAAK,CAACC,OAAN,CAActG,CAAd,CAAH,EAAoB;AAAC,UAAMM,CAAC,GAACN,CAAC,CAAC,CAAD,CAAT;;AAAa,QAAGM,CAAC,GAACR,CAAL,EAAO;AAAC,YAAMW,CAAC,GAACE,yEAAC,CAACL,CAAD,EAAGR,CAAH,CAAT;AAAeE,MAAAA,CAAC,CAAC,CAAD,CAAD,GAAKM,CAAC,GAACG,CAAC,IAAE,CAAC,CAAD,GAAGX,CAAL,CAAR;AAAgB,KAAvC,MAA4C,IAAGQ,CAAC,GAACG,CAAL,EAAO;AAAC,YAAMX,CAAC,GAACa,yEAAC,CAACL,CAAD,EAAGG,CAAH,CAAT;AAAeT,MAAAA,CAAC,CAAC,CAAD,CAAD,GAAKM,CAAC,GAACR,CAAC,IAAE,CAAC,CAAD,GAAGW,CAAL,CAAR;AAAgB;AAAC,GAAtH,MAA0H;AAAC,UAAMH,CAAC,GAACN,CAAC,CAACsC,CAAV;;AAAY,QAAGhC,CAAC,GAACR,CAAL,EAAO;AAAC,YAAMW,CAAC,GAACE,yEAAC,CAACL,CAAD,EAAGR,CAAH,CAAT;AAAeE,MAAAA,CAAC,GAACA,CAAC,CAACO,KAAF,GAAUu7B,MAAV,CAAiBr7B,CAAC,IAAE,CAAC,CAAD,GAAGX,CAAL,CAAlB,EAA0B,CAA1B,CAAF;AAA+B,KAAtD,MAA2D,IAAGQ,CAAC,GAACG,CAAL,EAAO;AAAC,YAAMX,CAAC,GAACa,yEAAC,CAACL,CAAD,EAAGG,CAAH,CAAT;AAAeT,MAAAA,CAAC,GAACA,CAAC,CAACO,KAAF,GAAUu7B,MAAV,CAAiBh8B,CAAC,IAAE,CAAC,CAAD,GAAGW,CAAL,CAAlB,EAA0B,CAA1B,CAAF;AAA+B;AAAC;;AAAA,SAAOT,CAAP;AAAS;;AAAA,SAASoC,CAAT,CAAWpC,CAAX,EAAaF,CAAb,EAAe;AAAC,MAAIW,CAAC,GAAC,CAAC,CAAP;;AAAS,OAAI,IAAIH,CAAC,GAAC,CAAV,EAAYA,CAAC,GAACR,CAAC,CAACi8B,UAAF,CAAapuB,MAA3B,EAAkCrN,CAAC,EAAnC,EAAsC;AAAC,UAAMJ,CAAC,GAACJ,CAAC,CAACi8B,UAAF,CAAaz7B,CAAb,CAAR;AAAA,UAAwBE,CAAC,GAACV,CAAC,CAACo3B,UAAF,CAAa52B,CAAb,CAA1B;AAAA,UAA0CQ,CAAC,GAACf,0EAAC,CAACS,CAAD,CAA7C;;AAAiD,SAAI,IAAIR,CAAC,GAAC,CAAV,EAAYA,CAAC,GAACc,CAAC,CAAC6M,MAAhB,EAAuB3N,CAAC,EAAxB,EAA2B;AAAC,YAAMF,CAAC,GAACgB,CAAC,CAACd,CAAD,CAAT;AAAaF,MAAAA,CAAC,CAACwX,IAAF,CAAQ7W,CAAC,IAAE;AAAC,YAAGA,CAAC,CAAC,CAAD,CAAD,GAAK,GAAR,EAAY,OAAM,CAAC,CAAP;AAAS;AAAC,cAAIA,CAAC,GAAC,CAAN;;AAAQ,eAAI,IAAIT,CAAC,GAAC,CAAV,EAAYA,CAAC,GAACF,CAAC,CAAC6N,MAAhB,EAAuB3N,CAAC,EAAxB,EAA2B;AAAC,kBAAMM,CAAC,GAACR,CAAC,CAACE,CAAD,CAAD,CAAK,CAAL,CAAR;AAAgBS,YAAAA,CAAC,GAACH,CAAC,GAACG,CAAF,GAAIH,CAAJ,GAAMG,CAAR;AAAU;;AAAAA,UAAAA,CAAC,GAACoJ,MAAM,CAACpJ,CAAC,CAACu7B,OAAF,CAAU,CAAV,CAAD,CAAR;AAAuB,gBAAM17B,CAAC,GAAC,CAAC,GAAD,GAAKK,yEAAC,CAACF,CAAD,EAAG,GAAH,CAAd;;AAAsB,eAAI,IAAIP,CAAC,GAAC,CAAV,EAAYA,CAAC,GAACJ,CAAC,CAAC6N,MAAhB,EAAuBzN,CAAC,EAAxB,EAA2B;AAAC,kBAAMJ,CAAC,GAACU,CAAC,CAACy7B,QAAF,CAAWj8B,CAAX,EAAaE,CAAb,CAAR;AAAwBM,YAAAA,CAAC,CAAC07B,QAAF,CAAWl8B,CAAX,EAAaE,CAAb,EAAeJ,CAAC,CAACS,KAAF,GAAUu7B,MAAV,CAAiBx7B,CAAjB,EAAmB,CAAnB,CAAf;AAAsC;;AAAA,iBAAM,CAAC,CAAP;AAAS;AAAC,OAAjP;AAAoP;;AAAA,QAAGJ,CAAC,KAAGO,CAAP,EAAS;AAAC,UAAGS,CAAC,CAAClB,CAAD,CAAJ,EAAQ,KAAI,MAAMF,CAAV,IAAeC,0EAAC,CAACS,CAAD,CAAhB,EAAoBR,CAAC,CAACE,CAAD,CAAD,GAAKF,CAAC,CAACE,CAAD,CAAD,CAAKi8B,OAAL,CAAar8B,CAAb,CAAL,CAA5B,KAAsD,IAAGwC,CAAC,CAACtC,CAAD,CAAJ,EAAQ,KAAI,MAAMF,CAAV,IAAeC,0EAAC,CAACS,CAAD,CAAhB,EAAoBR,CAAC,CAACE,CAAD,CAAD,GAAKF,CAAC,CAACE,CAAD,CAAD,CAAKk8B,OAAL,CAAat8B,CAAb,CAAL;AAAqB,KAAjH,MAAsHW,CAAC,GAACP,CAAF,EAAIF,CAAC,CAACE,CAAD,CAAD,GAAKM,CAAT;AAAW;;AAAA,SAAOR,CAAP;AAAS;;SAAeqL;;;;;yMAAf,WAAiBvL,CAAjB,EAAmBW,CAAnB,EAAqBV,CAArB,EAAuB;AAAC,QAAG,CAACsG,KAAK,CAACC,OAAN,CAAcxG,CAAd,CAAJ,EAAqB,OAAOuL,CAAC,CAAC,CAACvL,CAAD,CAAD,EAAKW,CAAL,CAAR;AAAgBA,IAAAA,CAAC,IAAE,YAAU,OAAOA,CAApB,IAAuBO,CAAC,GAAG2lB,IAAJ,CAAS,4BAAT,EAAsC,0DAAtC,CAAvB;AAAyH,UAAM/lB,CAAC,GAAC,YAAU,OAAOH,CAAjB,GAAmBA,CAAnB,GAAqBA,CAAC,EAAEkF,GAAH,IAAQ3F,qEAArC;AAA0D,QAAI+B,CAAJ;AAAA,QAAMb,CAAN;AAAA,QAAQoB,CAAR;AAAA,QAAUd,CAAV;AAAA,QAAYsF,CAAZ;AAAA,QAAczE,CAAd;AAAA,QAAgBoK,CAAhB;AAAA,QAAkB7K,CAAlB;AAAA,QAAoBuE,CAAC,GAAC,CAAtB;AAAwB,UAAMghB,CAAC,GAAC,EAAR;AAAA,UAAWlc,CAAC,GAAC,EAAb;;AAAgB,SAAI,MAAMjL,CAAV,IAAeF,CAAf,EAAiB,IAAG,QAAME,CAAT;AAAW,UAAG+B,CAAC,KAAGA,CAAC,GAAC/B,CAAC,CAAC0C,gBAAJ,EAAqBxB,CAAC,GAACQ,kEAAC,CAACK,CAAD,CAAxB,EAA4BO,CAAC,GAACP,CAAC,CAACw0B,aAAhC,EAA8Cl0B,CAAC,GAACC,CAAC,GAAC,MAAD,GAAQ,IAAzD,EAA8Dd,CAAC,GAAChB,+DAAC,CAAC6B,CAAD,CAAD,CAAKi6B,IAArE,EAA0Ex1B,CAAC,GAACtG,+DAAC,CAAC6B,CAAD,CAAD,CAAKk6B,IAAjF,EAAsF9vB,CAAC,GAACjM,+DAAC,CAAC6B,CAAD,CAAD,CAAKm6B,WAA7F,EAAyG56B,CAAC,GAACpB,+DAAC,CAAC6B,CAAD,CAAD,CAAKo6B,YAAnH,CAAD,EAAkIv7B,CAArI;AAAuI,YAAG,WAASlB,CAAC,CAACqD,IAAd,EAAmB4H,CAAC,CAACrG,IAAF,CAAO5E,CAAP,EAAnB,KAAkC,IAAG,YAAUA,CAAC,CAACqD,IAAf,EAAoB4H,CAAC,CAACrG,IAAF,CAAOjD,CAAC,CAAC3B,CAAC,CAACO,KAAF,EAAD,EAAWiB,CAAX,EAAasF,CAAb,CAAR,EAApB,KAAkD,IAAG,iBAAe9G,CAAC,CAACqD,IAApB,EAAyB;AAAC,gBAAMvD,CAAC,GAACE,CAAC,CAACO,KAAF,EAAR;AAAkBT,UAAAA,CAAC,CAACs4B,MAAF,GAASt4B,CAAC,CAACs4B,MAAF,CAAS/yB,GAAT,CAAcrF,CAAC,IAAE2B,CAAC,CAAC3B,CAAD,EAAGwB,CAAH,EAAKsF,CAAL,CAAlB,CAAT,EAAqCmE,CAAC,CAACrG,IAAF,CAAO9E,CAAP,CAArC;AAA+C,SAA3F,MAAgG,IAAG,aAAWE,CAAC,CAACqD,IAAhB,EAAqB;AAAC,gBAAMvD,CAAC,GAACE,CAAC,CAACO,KAAF,GAAUm8B,UAAV,CAAqB,CAAC,CAAtB,EAAwB,CAAC,CAAzB,EAA2Bx7B,CAA3B,CAAR;;AAAsC+J,UAAAA,CAAC,CAACrG,IAAF,CAAO9E,CAAC,CAACy4B,KAAF,GAAQ,IAAIj4B,mDAAJ,CAAMR,CAAN,CAAR,GAAiBA,CAAxB;AAA2B,SAAvF,MAA4F,IAAGE,CAAC,CAAC8Y,MAAL,EAAY;AAAC,gBAAMhZ,CAAC,GAACE,CAAC,CAAC8Y,MAAV;AAAA,gBAAiBrY,CAAC,GAACE,yEAAC,CAACb,CAAC,CAACkZ,IAAH,EAAQlS,CAAR,CAAD,IAAa,IAAEtF,CAAf,CAAnB;AAAqC,cAAIlB,CAAC,GAAC,MAAIG,CAAJ,GAAMT,CAAC,CAACO,KAAF,EAAN,GAAgBO,4EAAC,CAACd,CAAC,CAACO,KAAF,EAAD,EAAWE,CAAX,CAAvB;AAAqCX,UAAAA,CAAC,CAACg8B,MAAF,CAASr7B,CAAT,EAAW,CAAX;AAAc,cAAG;AAACuY,YAAAA,IAAI,EAAC9Y,CAAN;AAAQ+Y,YAAAA,IAAI,EAAClZ;AAAb,cAAgBD,CAAnB;AAAqBI,UAAAA,CAAC,GAAC2J,MAAM,CAAC3J,CAAC,CAAC87B,OAAF,CAAU,CAAV,CAAD,CAAR,EAAuBj8B,CAAC,GAAC8J,MAAM,CAAC9J,CAAC,CAACi8B,OAAF,CAAU,CAAV,CAAD,CAA/B,EAA8Cl8B,CAAC,CAAC68B,UAAF,CAAalwB,CAAb,KAAiB1M,CAAC,KAAGyB,CAArB,IAAwB2E,CAAC,GAACpG,CAAC,GAACoG,CAAF,GAAIpG,CAAJ,GAAMoG,CAAR,EAAU7F,CAAC,GAACuB,CAAC,CAACvB,CAAD,EAAGgC,CAAH,CAAb,EAAmB6kB,CAAC,CAACviB,IAAF,CAAOtE,CAAP,CAAnB,EAA6B2K,CAAC,CAACrG,IAAF,CAAO,KAAP,CAArD,IAAoE9E,CAAC,CAAC68B,UAAF,CAAa/6B,CAAb,KAAiB1B,CAAC,KAAG4G,CAArB,IAAwBX,CAAC,GAACpG,CAAC,IAAE,IAAEyB,CAAJ,CAAD,GAAQ2E,CAAR,GAAUpG,CAAC,IAAE,IAAEyB,CAAJ,CAAX,GAAkB2E,CAApB,EAAsB7F,CAAC,GAACuB,CAAC,CAACvB,CAAD,EAAGgC,CAAH,EAAK,GAAL,CAAzB,EAAmC6kB,CAAC,CAACviB,IAAF,CAAOtE,CAAP,CAAnC,EAA6C2K,CAAC,CAACrG,IAAF,CAAO,KAAP,CAArE,IAAoFqG,CAAC,CAACrG,IAAF,CAAOtE,CAAP,CAAtM;AAAgN,SAA1U,MAA+U2K,CAAC,CAACrG,IAAF,CAAO5E,CAAC,CAACO,KAAF,EAAP;AAAtuB,aAA6vB0K,CAAC,CAACrG,IAAF,CAAO5E,CAAP;AAAxwB,WAAuxBiL,CAAC,CAACrG,IAAF,CAAO5E,CAAP;;AAAU,QAAIqI,CAAC,GAAC1H,yEAAC,CAACwF,CAAD,EAAG3E,CAAH,CAAP;AAAA,QAAa0J,CAAC,GAAC,CAAC,EAAhB;AAAmB,UAAMhJ,CAAC,GAACmG,CAAR;AAAA,UAAU2D,CAAC,GAAC,IAAI9L,oDAAJ,EAAZ;;AAAkB,WAAKmI,CAAC,GAAC,CAAP,GAAU;AAAC,YAAMrI,CAAC,GAAC,MAAIqI,CAAJ,GAAM,GAAd;AAAkB2D,MAAAA,CAAC,CAACowB,OAAF,CAAU,CAAC,CAACp8B,CAAD,EAAGkL,CAAH,CAAD,EAAO,CAAClL,CAAD,EAAG,CAAC,CAAD,GAAGkL,CAAN,CAAP,CAAV,GAA4BA,CAAC,IAAE,CAAC,CAAhC,EAAkC7C,CAAC,EAAnC;AAAsC;;AAAA,QAAG8e,CAAC,CAACxZ,MAAF,GAAS,CAAT,IAAYzL,CAAC,GAAC,CAAjB,EAAmB;AAAC,YAAMlC,CAAC,GAACoC,CAAC,CAAC+kB,CAAD,QAAS/mB,iEAAC,CAACQ,CAAD,EAAGumB,CAAH,EAAKnb,CAAL,EAAOjM,CAAP,CAAV,CAAT;AAAA,YAA8BU,CAAC,GAAC,EAAhC;AAAA,YAAmCH,CAAC,GAAC,EAArC;;AAAwC,WAAI,IAAIP,CAAC,GAAC,CAAV,EAAYA,CAAC,GAACkL,CAAC,CAAC0C,MAAhB,EAAuB5N,CAAC,EAAxB,EAA2B;AAAC,cAAMG,CAAC,GAAC+K,CAAC,CAAClL,CAAD,CAAT;AAAa,YAAG,UAAQG,CAAX,EAAaI,CAAC,CAACsE,IAAF,CAAO1E,CAAP,EAAb,KAA2B;AAAC,gBAAMA,CAAC,GAACF,CAAC,CAAC8jB,KAAF,EAAR;AAAA,gBAAkBtjB,CAAC,GAACV,CAAC,CAACC,CAAD,CAArB;AAAyB,kBAAMS,CAAN,IAAS,cAAYA,CAAC,CAAC6C,IAAvB,IAA6B7C,CAAC,CAAC+3B,KAA/B,IAAsC/3B,CAAC,CAAC+3B,KAAF,CAAQ5qB,MAAR,GAAe,CAArD,IAAwDzN,CAAC,CAACq4B,KAAF,CAAQ5qB,MAAR,IAAgBnN,CAAC,CAAC+3B,KAAF,CAAQ5qB,MAAhF,IAAwFlN,CAAC,CAACmE,IAAF,CAAO1E,CAAP,GAAUI,CAAC,CAACsE,IAAF,CAAO,UAAP,CAAlG,IAAsHtE,CAAC,CAACsE,IAAF,CAAOtC,CAAC,GAAChB,6EAAC,CAACpB,CAAD,CAAF,GAAMA,CAAd,CAAtH;AAAuI;AAAC;;AAAA,UAAG,CAACO,CAAC,CAACkN,MAAN,EAAa,OAAOrN,CAAP;AAAS,YAAMJ,CAAC,SAAOkB,4EAAC,CAACR,CAAD,EAAGH,CAAH,EAAKV,CAAL,CAAf;AAAA,YAAuBS,CAAC,GAAC,EAAzB;;AAA4B,WAAI,IAAIV,CAAC,GAAC,CAAV,EAAYA,CAAC,GAACQ,CAAC,CAACqN,MAAhB,EAAuB7N,CAAC,EAAxB,EAA2B;AAAC,cAAME,CAAC,GAACM,CAAC,CAACR,CAAD,CAAT;AAAa,uBAAaE,CAAb,GAAeQ,CAAC,CAACoE,IAAF,CAAO5E,CAAP,CAAf,GAAyBQ,CAAC,CAACoE,IAAF,CAAOtC,CAAC,GAAChB,6EAAC,CAACpB,CAAC,CAAC4jB,KAAF,EAAD,CAAF,GAAc5jB,CAAC,CAAC4jB,KAAF,EAAtB,CAAzB;AAA0D;;AAAA,aAAOtjB,CAAP;AAAS;;AAAA,UAAMqI,CAAC,GAAC,EAAR;;AAAW,SAAI,IAAI7I,CAAC,GAAC,CAAV,EAAYA,CAAC,GAACiL,CAAC,CAAC0C,MAAhB,EAAuB3N,CAAC,EAAxB,EAA2B;AAAC,YAAMF,CAAC,GAACmL,CAAC,CAACjL,CAAD,CAAT;AAAa,UAAG,UAAQF,CAAX,EAAa+I,CAAC,CAACjE,IAAF,CAAO9E,CAAP,EAAb,KAA2B;AAAC,cAAME,CAAC,GAACmnB,CAAC,CAACrD,KAAF,EAAR;AAAkBjb,QAAAA,CAAC,CAACjE,IAAF,CAAO,CAAC,CAAD,KAAKtC,CAAL,GAAOhB,6EAAC,CAACtB,CAAD,CAAR,GAAYA,CAAnB;AAAsB;AAAC;;AAAA,WAAO6I,CAAP;AAAS;;;;AAAA,SAASxG,CAAT,CAAWrC,CAAX,EAAa;AAAC,MAAG,CAACA,CAAJ,EAAM,OAAO,IAAP;AAAY,QAAMF,CAAC,GAACE,CAAC,CAAC8Y,MAAV;AAAiB,MAAG,CAAChZ,CAAJ,EAAM,OAAO,IAAP;AAAY,QAAMW,CAAC,GAACT,CAAC,CAAC0C,gBAAF,IAAoBhB,kEAAC,CAAC1B,CAAC,CAAC0C,gBAAH,CAA7B;AAAkD,MAAG,CAACjC,CAAJ,EAAM,OAAOX,CAAP;AAAS,QAAK,CAACQ,CAAD,EAAGJ,CAAH,IAAMO,CAAC,CAACm8B,KAAb;AAAA,QAAmB78B,CAAC,GAAC,IAAEG,CAAvB;AAAA,QAAyB;AAAC6Y,IAAAA,KAAK,EAACvY;AAAP,MAAUV,CAAnC;AAAqC,MAAIa,CAAJ;AAAA,MAAM;AAACqY,IAAAA,IAAI,EAAClY,CAAN;AAAQmY,IAAAA,IAAI,EAAC3X;AAAb,MAAgBxB,CAAtB;AAAwB,MAAG,CAACgB,CAAD,EAAGQ,CAAH,IAAM,CAACA,CAAD,EAAGR,CAAH,CAAN,EAAY,aAAWd,CAAC,CAACqD,IAAb,IAAmB,MAAI7C,CAAvB,IAA0BA,CAAC,IAAEN,CAA7B,IAAgCM,CAAC,GAACT,CAAlC,IAAqCe,CAAC,GAACR,CAAvC,IAA0CgB,CAAC,GAACpB,CAA3D,EAA6D,OAAOJ,CAAP;;AAAS,UAAOE,CAAC,CAACqD,IAAT;AAAe,SAAI,SAAJ;AAAc,UAAG,EAAErD,CAAC,CAACu4B,KAAF,CAAQ5qB,MAAR,GAAe,CAAjB,CAAH,EAAuB,OAAO7N,CAAP;AAASa,MAAAA,CAAC,GAACa,CAAC,CAACxB,CAAC,CAACu4B,KAAH,CAAH;AAAa;;AAAM,SAAI,UAAJ;AAAe,UAAG,EAAEv4B,CAAC,CAACmT,KAAF,CAAQxF,MAAR,GAAe,CAAjB,CAAH,EAAuB,OAAO7N,CAAP;AAASa,MAAAA,CAAC,GAACa,CAAC,CAACxB,CAAC,CAACmT,KAAH,CAAH;AAAa;;AAAM,SAAI,YAAJ;AAAiBxS,MAAAA,CAAC,GAACX,CAAC,CAACo4B,MAAJ;AAAnK;;AAA8K,QAAMx3B,CAAC,GAACd,CAAC,CAACS,KAAF,EAAR;;AAAkB,OAAI,IAAImB,CAAC,GAAC,CAAV,EAAYA,CAAC,GAACf,CAAC,CAACgN,MAAhB,EAAuBjM,CAAC,EAAxB,EAA2B;AAAC,QAAI1B,CAAC,GAACW,CAAC,CAACe,CAAD,CAAD,CAAK,CAAL,CAAN;AAAc1B,IAAAA,CAAC,GAAC,CAAF,IAAKA,CAAC,IAAEE,CAAH,EAAKoB,CAAC,GAACsiB,IAAI,CAAC3Z,GAAL,CAASjK,CAAT,EAAWsB,CAAX,CAAZ,KAA4BtB,CAAC,IAAEE,CAAH,EAAKY,CAAC,GAAC8iB,IAAI,CAAC5Z,GAAL,CAAShK,CAAT,EAAWc,CAAX,CAAnC;AAAkD;;AAAA,SAAOF,CAAC,CAACoY,IAAF,GAAOlY,CAAP,EAASF,CAAC,CAACqY,IAAF,GAAO3X,CAAhB,EAAkBV,CAAC,CAACmY,KAAF,GAAQvY,CAAR,IAAWI,CAAC,CAACoY,IAAF,IAAQ9Y,CAAR,EAAUU,CAAC,CAACqY,IAAF,IAAQ/Y,CAAlB,EAAoBU,CAA/B,IAAkCd,CAA3D;AAA6D;;AAAA,SAAS2M,CAAT,CAAWzM,CAAX,EAAaF,CAAb,EAAeW,CAAf,EAAiB;AAAC,QAAMH,CAAC,GAACoB,kEAAC,CAACjB,CAAD,CAAT;AAAa,MAAG,QAAMH,CAAT,EAAW,OAAON,CAAP;AAAS,QAAK,CAACE,CAAD,EAAGH,CAAH,IAAMO,CAAC,CAACs8B,KAAb;AAAA,QAAmBp8B,CAAC,GAAC,IAAET,CAAvB;AAAyB,MAAIY,CAAC,GAAC,CAAN;AAAA,MAAQG,CAAC,GAAC,CAAV;AAAYhB,EAAAA,CAAC,GAACC,CAAF,GAAIY,CAAC,GAACijB,IAAI,CAACiZ,IAAL,CAAUjZ,IAAI,CAACkZ,GAAL,CAASh9B,CAAC,GAACC,CAAX,IAAcS,CAAxB,CAAN,GAAiCV,CAAC,GAACI,CAAF,KAAMS,CAAC,GAAC,CAACijB,IAAI,CAACiZ,IAAL,CAAUjZ,IAAI,CAACkZ,GAAL,CAASh9B,CAAC,GAACI,CAAX,IAAcM,CAAxB,CAAT,CAAjC,EAAsER,CAAC,GAACD,CAAF,GAAIe,CAAC,GAAC8iB,IAAI,CAACiZ,IAAL,CAAUjZ,IAAI,CAACkZ,GAAL,CAAS98B,CAAC,GAACD,CAAX,IAAcS,CAAxB,CAAN,GAAiCR,CAAC,GAACE,CAAF,KAAMY,CAAC,GAAC,CAAC8iB,IAAI,CAACiZ,IAAL,CAAUjZ,IAAI,CAACkZ,GAAL,CAAS98B,CAAC,GAACE,CAAX,IAAcM,CAAxB,CAAT,CAAvG;AAA4I,MAAIc,CAAC,GAACtB,CAAC,GAAC,CAACW,CAAC,GAACG,CAAH,IAAMN,CAAd;AAAgB,QAAMI,CAAC,GAACU,CAAC,GAACxB,CAAV;AAAY,SAAOc,CAAC,GAACb,CAAF,GAAIuB,CAAC,IAAEd,CAAP,GAASI,CAAC,GAACV,CAAF,KAAMoB,CAAC,IAAEd,CAAT,CAAT,EAAqBc,CAA5B;AAA8B;;AAAA,SAASM,CAAT,CAAW5B,CAAX,EAAaF,CAAb,EAAe;AAAC,QAAMW,CAAC,GAACiB,kEAAC,CAAC5B,CAAD,CAAT;;AAAa,MAAGW,CAAH,EAAK;AAAC,UAAK,CAACX,CAAD,EAAGQ,CAAH,IAAMG,CAAC,CAACm8B,KAAb;AAAA,UAAmB18B,CAAC,GAACI,CAAC,GAACR,CAAvB;AAAyB,QAAGE,CAAC,GAACF,CAAL,EAAO,OAAKE,CAAC,GAACF,CAAP,GAAUE,CAAC,IAAEE,CAAH;AAAK,QAAGF,CAAC,GAACM,CAAL,EAAO,OAAKN,CAAC,GAACM,CAAP,GAAUN,CAAC,IAAEE,CAAH;AAAK;;AAAA,SAAOF,CAAP;AAAS;;;;;;;;;;;;;;;;;;;;;;;ACJ9qK;AACA;AACA;AACA;AAC+G,SAAS,QAAQ,iEAAiE,oDAAC,EAAE,4GAA4G,wEAAa,CAAC,mBAAmB,oDAAC,EAAE,8GAA8G,wEAAa,CAAC,EAAE,OAAO,mCAAmC,oDAAC,EAAE,gDAAgD,kEAAO,CAAC,mBAAmB,oDAAC,EAAE,kDAAkD,kEAAO,CAAC,IAAI,gBAAgB,8BAA8B,gBAAgB,aAAa,0CAA0C,SAAS,cAAc,OAAO,wDAAC,oBAA8G;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACJ74B;AACA;AACA;AACA;AAC0b,gBAAgB,4BAA4B,QAAQ,+CAAC,GAAG,+CAAC,CAAC,wCAAwC,iBAAiB,sDAAK,IAAI,gBAAgB,gCAAgC,cAAc,SAAS,0BAA0B,qCAAqC,kBAAkB,OAAO,mDAAC,eAAe,kBAAkB,qFAAqF,mFAAmF,wBAAwB,yKAAyK,0EAA0E,kEAAkE,gBAAgB,OAAO,aAAa,KAAK,UAAU,eAAe,mDAAC,MAAM,eAAe,yBAAyB,QAAQ,YAAY,mDAAC,QAAQ,mDAAC,MAAM,mDAAC,QAAQ,mDAAC,SAAS,mDAAC,QAAQ,mDAAC,gBAAgB,mDAAC,SAAS,+DAA+D,qBAAqB,mBAAmB,mBAAmB,mDAAC,yCAAyC,uBAAuB,mFAAC,KAAK,mFAAC,KAAK,mFAAC,KAAK,mFAAC,KAAK,mFAAC,GAAG,kBAAkB,2BAA2B,mDAAC,WAAW,gBAAgB,qDAAqD,oBAAoB,OAAO,mDAAC,iBAAiB,oBAAoB,eAAe,mDAAC,CAAC,sDAAK,eAAe,kBAAkB,kDAAkD,kBAAkB,2CAA2C,kBAAkB,4CAA4C,gBAAgB,iBAAiB,gBAAgB,QAAQ,mDAAC,4CAA4C,sBAAsB,8BAA8B,oCAAoC,YAAY,wDAAwD,gBAAgB,QAAQ,mDAAC,4CAA4C,8BAA8B,YAAY,wDAAwD,kBAAkB,QAAQ,mDAAC,CAAC,sDAAK,qBAAqB,mDAAC,CAAC,sDAAK,QAAQ,sDAAK,IAAI,OAAO,mDAAC,UAAU,oBAAoB,eAAe,sDAAK,KAAK,sDAAK,GAAG,4EAAC,QAAQ,QAAQ,mDAAC,CAAC,sDAAK,UAAU,oEAAC,QAAQ,oEAAC,QAAQ,oEAAC,MAAM,OAAO,mDAAC,UAAU,kBAAkB,QAAQ,mDAAC,CAAC,sDAAK,QAAQ,mDAAC,UAAU,OAAO,mDAAC,UAAU,gBAAgB,wBAAwB,gBAAgB,OAAO,mDAAC,cAAc,MAAM,cAAc,gEAAgE,sBAAsB,QAAQ,mDAAC,kBAAkB,wCAAwC,WAAW,sBAAsB,yDAAC,uFAAuF,mDAAC,KAAK,mDAAC,+DAA+D,aAAa,0JAA0J,SAAS,GAAG,kBAAkB,OAAO,aAAa,8GAA8G,WAAW,GAAG,4DAAynB;;;;;;;;;;;;;;;;;;;;;ACJ3oI;AACA;AACA;AACA;AACgI,gBAAgB,2DAA2D,8BAA8B,cAAc,yBAAyB,cAAc,yBAAyB,YAAY,2BAA2B,UAAU,MAAM,GAAG,wEAAC,WAAW,gEAAC,QAAQ,GAAG,uEAAC,2BAA2B,YAAY,cAAiG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACJlhB;AACA;AACA;AACA;AACwG,cAAc,kBAAkB,OAAO,sRAAsR,cAAc,iFAAiF,cAAc,iBAAiB,MAAM,qCAAqC,uBAAuB,OAAO,uHAAuH,YAAY,oBAAoB,IAAI,iCAAiC,YAAY,oBAAoB,IAAI,iCAAiC,YAAY,oBAAoB,IAAI,sCAAsC,YAAY,oBAAoB,IAAI,qCAAqC,gBAAgB,gCAAgC,gBAAgB,WAAW,yBAAyB,aAAa,4BAA4B,cAAc,YAAY,WAAW,KAAK,kCAAkC,wCAAwC,SAAS,WAAW,WAAW,yBAAyB,aAAa,wCAAwC,gBAAgB,YAAY,WAAW,KAAK,6CAA6C,qDAAqD,SAAS,WAAW,WAAW,yBAAyB,aAAa,wCAAwC,gBAAgB,YAAY,WAAW,KAAK,6CAA6C,qDAAqD,SAAS,WAAW,WAAW,yBAAyB,aAAa,oDAAoD,kBAAkB,YAAY,WAAW,KAAK,wDAAwD,kEAAkE,UAAU,kBAAkB,aAAa,qEAAqE,oBAAoB,oBAAoB,YAAY,WAAW,KAAK,kBAAkB,0BAA0B,uBAAuB,oBAAoB,oBAAoB,YAAY,WAAW,KAAK,kBAAkB,0BAA0B,uBAAuB,YAAY,oBAAoB,IAAI,mBAAmB,YAAY,oBAAoB,IAAI,mBAAmB,YAAY,oBAAoB,IAAI,uBAAuB,YAAY,oBAAoB,IAAI,uBAAuB,gBAAgB,gCAAgC,gBAAgB,4BAA4B,sBAAsB,aAAa,4BAA4B,WAAW,MAAM,yBAAyB,uCAAuC,YAAY,WAAW,KAAK,gBAAgB,yBAAyB,SAAS,WAAW,4BAA4B,sBAAsB,aAAa,4BAA4B,qBAAqB,MAAM,yBAAyB,uCAAuC,YAAY,WAAW,KAAK,kBAAkB,gCAAgC,SAAS,WAAW,4BAA4B,sBAAsB,aAAa,4BAA4B,qBAAqB,MAAM,yBAAyB,uCAAuC,YAAY,WAAW,KAAK,kBAAkB,gCAAgC,SAAS,WAAW,4BAA4B,sBAAsB,aAAa,4BAA4B,+BAA+B,MAAM,yBAAyB,uCAAuC,YAAY,WAAW,KAAK,oBAAoB,uCAAuC,UAAU,kBAAkB,4BAA4B,YAAY,WAAW,mBAAmB,SAAS,kBAAkB,aAAa,mHAAmH,kBAAkB,0FAA0F,YAAY,WAAW,KAAK,gBAAgB,mGAAmG,qCAAqC,gBAAgB,yBAAyB,sEAAsE,YAAY,WAAW,gBAAgB,SAAS,cAAc,8GAA8G,gBAAgB,cAAc,sBAAsB,cAAc,sBAAsB,kBAAkB,aAAa,yNAAyN,kBAAkB,aAAa,uFAAuF,kBAAkB,aAAa,uFAAuF,kBAAkB,sCAAsC,gEAAgE,kBAAkB,sCAAsC,gEAAgE,gBAAgB,YAAY,sDAAC,UAAU,IAAI,yDAAC,UAAU,IAAI,wDAAC,UAAU,IAAI,2DAAC,UAAU,IAAI,uDAAC,UAAU,cAAc,4CAA4C,aAAa,6LAA6L,8CAA8C,YAAY,aAAa,8CAA8C,SAAS,4CAA4C,oBAAoB,aAAa,uEAAuE,8CAA8C,YAAY,aAAa,8CAA8C,SAAS,8CAA8C,YAAY,aAAa,8CAA8C,SAA+4B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACJnmO;AACA;AACA;AACA;AAC+d,cAAc,WAAW,kFAAC,WAAW,kFAAC,iBAAiB,mFAAC,GAAG,mFAAC,IAAI,gBAAgB,OAAO,sBAAsB,gBAAgB,OAAO,2DAAC,qBAAqB,2DAAC,0BAA0B,gBAAgB,gBAAgB,kCAAkC,oBAAoB,iCAAiC,sBAAsB,OAAO,mDAAC,aAAa,mDAAC,oBAAoB,sBAAsB,OAAO,mDAAC,aAAa,mDAAC,kBAAkB,gBAAgB,QAAQ,mDAAC,CAAC,sDAAK,GAAG,mDAAC,CAAC,sDAAK,gBAAgB,mDAAC,CAAC,sDAAK,gBAAgB,OAAO,mDAAC,MAAM,kBAAkB,QAAQ,mDAAC,aAAa,mDAAC,gBAAgB,OAAO,mDAAC,YAAY,mDAAC,qBAAqB,oBAAoB,0DAA0D,mDAAC,CAAC,mDAAC,MAAM,mDAAC,OAAO,8BAA8B,QAAQ,mDAAC,UAAU,mDAAC,UAAU,wEAAC,sDAAsD,2EAAC,MAAM,uBAAuB,QAAQ,mDAAC,CAAC,mDAAC,wBAAwB,mDAAC,CAAC,mDAAC,sBAAsB,OAAO,mDAAC,KAAK,mDAAC,SAAS,mDAAC,KAAK,mDAAC,eAAe,YAAY,6DAAC,cAAc,mFAAC,KAAK,mFAAC,KAAK,mFAAC,KAAK,mFAAC,GAA2I;;;;;;;;;;;;;;;;;;;;;;;ACJ5lD;AACA;AACA;AACA;AACiJ,WAAW,gBAAgB,gCAAgC,yEAAC,sBAAsB,wBAAwB,8DAAC,KAAK,gBAAgB,UAAU,yEAAC,IAAI,8DAAC,IAAI,cAAc,UAAU,8DAAC,IAAI,gBAAgB,UAAU,yEAAC,IAAI,8DAAC,IAAI,gBAAgB,kGAAkG,qCAAqC,kBAAkB,sBAAsB,gBAAgB,cAAc,sEAAC,WAAW,gBAAgB,cAAc,sEAAC,WAAqK;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACJnxB;AACA;AACA;AACA;AACA;AAA+C;AAA4D;AAA2D;AAAuC,MAAMW,CAAC,GAAC,CAAC,MAAD,EAAQ,MAAR,EAAe,IAAf,EAAoB,IAApB,EAAyB,MAAzB,CAAR;AAAA,MAAyCwK,CAAC,GAAC,CAAC,MAAD,EAAQ,MAAR,CAA3C;AAAA,MAA2D7J,CAAC,GAAC,CAAC,IAAD,EAAM,GAAGX,CAAT,EAAW,GAAGwK,CAAd,CAA7D;AAAA,MAA8E7K,CAAC,GAAC,CAAC,CAAC,kBAAF,EAAqB,kBAArB,CAAhF;AAAA,MAAyH4B,CAAC,GAAC,CAAC,CAAC,eAAF,EAAkB,eAAlB,CAA3H;AAAA,MAA8J4E,CAAC,GAAC;AAACu2B,EAAAA,UAAU,EAAC,0bAAZ;AAAucT,EAAAA,KAAK,EAACt8B,CAA7c;AAA+coF,EAAAA,MAAM,EAACxD,CAAtd;AAAwdo7B,EAAAA,EAAE,EAAC;AAA3d,CAAhK;AAAA,MAAioBjyB,CAAC,GAAC;AAAC,UAAO;AAACgyB,IAAAA,UAAU,EAAC,4aAAZ;AAAybT,IAAAA,KAAK,EAACt8B,CAA/b;AAAicoF,IAAAA,MAAM,EAACxD,CAAxc;AAA0co7B,IAAAA,EAAE,EAAC;AAA7c,GAAR;AAA2d,UAAOx2B,CAAle;AAAoe,QAAK;AAACu2B,IAAAA,UAAU,EAAC,4aAAZ;AAAybT,IAAAA,KAAK,EAACt8B,CAA/b;AAAicoF,IAAAA,MAAM,EAACxD,CAAxc;AAA0co7B,IAAAA,EAAE,EAAC;AAA7c,GAAze;AAA47B,QAAKx2B,CAAj8B;AAAm8B,QAAK;AAACu2B,IAAAA,UAAU,EAAC,kKAAZ;AAA+KE,IAAAA,WAAW,EAAC,yVAA3L;AAAqhBX,IAAAA,KAAK,EAAC,CAAC,CAAC,GAAF,EAAM,GAAN,CAA3hB;AAAsiBl3B,IAAAA,MAAM,EAAC,CAAC,CAAC,GAAF,EAAM,EAAN,CAA7iB;AAAujB43B,IAAAA,EAAE,EAAC;AAA1jB,GAAx8B;AAAwgD,UAAO;AAACD,IAAAA,UAAU,EAAC,0KAAZ;AAAuLT,IAAAA,KAAK,EAAC,CAAC,CAAC,GAAF,EAAM,GAAN,CAA7L;AAAwMl3B,IAAAA,MAAM,EAAC,CAAC,CAAC,GAAF,EAAM,EAAN,CAA/M;AAAyN43B,IAAAA,EAAE,EAAC;AAA5N,GAA/gD;AAAivD,UAAO;AAACD,IAAAA,UAAU,EAAC,2KAAZ;AAAwLT,IAAAA,KAAK,EAAC,CAAC,CAAC,GAAF,EAAM,GAAN,CAA9L;AAAyMl3B,IAAAA,MAAM,EAAC,CAAC,CAAC,GAAF,EAAM,EAAN,CAAhN;AAA0N43B,IAAAA,EAAE,EAAC;AAA7N,GAAxvD;AAA29D,UAAOx2B;AAAl+D,CAAnoB;;AAAwmF,SAAS5G,CAAT,CAAWJ,CAAX,EAAaC,CAAb,EAAe;AAAC,MAAGD,CAAC,KAAGC,CAAP,EAAS,OAAM,CAAC,CAAP;AAAS,MAAG,QAAMD,CAAN,IAAS,QAAMC,CAAlB,EAAoB,OAAM,CAAC,CAAP;AAAS,QAAMU,CAAC,GAACX,CAAC,CAAC09B,IAAV;AAAA,QAAex9B,CAAC,GAACD,CAAC,CAACy9B,IAAnB;;AAAwB,MAAG,QAAM/8B,CAAN,IAAS,QAAMT,CAAlB,EAAoB;AAAC,QAAGS,CAAC,KAAGT,CAAP,EAAS,OAAM,CAAC,CAAP;AAAS,QAAGoL,CAAC,CAACtL,CAAD,CAAD,IAAMsL,CAAC,CAACrL,CAAD,CAAV,EAAc,OAAM,CAAC,CAAP;AAAS,UAAMS,CAAC,GAACV,CAAC,CAAC29B,UAAV;AAAqB,QAAG,QAAMj9B,CAAN,IAASR,CAAC,KAAGQ,CAAhB,EAAkB,OAAM,CAAC,CAAP;AAAS,UAAMX,CAAC,GAACE,CAAC,CAAC09B,UAAV;AAAqB,WAAO,QAAM59B,CAAN,IAASY,CAAC,KAAGZ,CAApB;AAAsB;;AAAA,MAAIW,CAAJ,EAAMX,CAAN;;AAAQ,SAAOC,CAAC,CAAC49B,IAAF,IAAQ39B,CAAC,CAAC29B,IAAV,IAAgBl9B,CAAC,GAACV,CAAC,CAAC49B,IAAJ,EAAS79B,CAAC,GAACE,CAAC,CAAC29B,IAA7B,IAAmC59B,CAAC,CAAC69B,GAAF,IAAO59B,CAAC,CAAC49B,GAAT,KAAen9B,CAAC,GAACV,CAAC,CAAC69B,GAAJ,EAAQ99B,CAAC,GAACE,CAAC,CAAC49B,GAA3B,CAAnC,EAAmE,EAAE,CAACn9B,CAAD,IAAI,CAACX,CAAP,KAAWW,CAAC,CAACo9B,WAAF,OAAkB/9B,CAAC,CAAC+9B,WAAF,EAAvG;AAAuH;;SAAe1V;;;;;yMAAf,WAAiBpoB,CAAjB,EAAmBD,CAAnB,EAAqB;AAAC,QAAGC,CAAC,KAAGD,CAAP,EAAS,OAAM,CAAC,CAAP;AAASE,IAAAA,gDAAC,aAAUU,gDAAC,EAAX,CAAD;;AAAe,UAAML,CAAC,GAACN,CAAC,IAAE;AAAC,YAAMC,CAAC,GAACD,CAAC,CAAC49B,IAAF,IAAQ59B,CAAC,CAAC69B,GAAlB;;AAAsB,UAAG59B,CAAH,EAAK;AAAC,cAAMD,CAAC,GAACE,uDAAA,CAAaQ,yDAAb,EAA4BT,CAA5B,CAAR;AAAuC,eAAOD,CAAC,EAAEi+B,OAAH,EAAP;AAAoB;;AAAA,YAAMt9B,CAAC,GAACX,CAAC,CAAC09B,IAAF,IAAQ19B,CAAC,CAAC29B,UAAlB;AAA6B,aAAOh9B,CAAC,GAACT,qDAAA,CAAWS,CAAX,GAAes9B,OAAf,EAAD,GAA0B,IAAlC;AAAuC,KAAvK;AAAA,UAAwKp9B,CAAC,GAACb,CAAC,GAACM,CAAC,CAACN,CAAD,CAAF,GAAM,IAAjL;AAAA,UAAsLqL,CAAC,GAACtL,CAAC,GAACO,CAAC,CAACP,CAAD,CAAF,GAAM,IAA/L;;AAAoM,WAAO,QAAMc,CAAN,IAAS,QAAMwK,CAAf,IAAkBxK,CAAC,KAAGwK,CAA7B;AAA+B;;;;AAAA,SAAS3J,CAAT,CAAW1B,CAAX,EAAa;AAAC,QAAMC,CAAC,GAACD,CAAC,EAAE09B,IAAX;AAAgB,SAAO,QAAMz9B,CAAN,IAASA,CAAC,IAAE,GAAZ,IAAiBsL,CAAC,CAACtL,CAAD,CAAlB,IAAuB,IAA9B;AAAmC;;SAAeuL;;;;;yMAAf,WAAiBxL,CAAjB,EAAmBD,CAAnB,EAAqB;AAAC,QAAG,MAAIA,CAAJ,IAAO,CAACmM,CAAC,CAAClM,CAAD,CAAT,IAAc,MAAID,CAAJ,IAAOmM,CAAC,CAAClM,CAAD,CAAzB,EAA6B,OAAOA,CAAP;AAASC,IAAAA,gDAAC,aAAUU,gDAAC,EAAX,CAAD;AAAe,UAAML,CAAC,GAACJ,uDAAA,CAAaQ,yDAAb,EAA4BV,CAA5B,CAAR;AAAuC,WAAOM,CAAC,EAAE4C,QAAH,CAAY,MAAInD,CAAJ,GAAMW,2DAAN,GAAuBA,4DAAnC,KAAuD,IAA9D;AAAmE;;;;AAAA,SAASM,CAAT,CAAWhB,CAAX,EAAa;AAAC,MAAG,CAACA,CAAJ,EAAM;AAAO,QAAK;AAAC09B,IAAAA,IAAI,EAACz9B,CAAN;AAAQo+B,IAAAA,OAAO,EAAC19B;AAAhB,MAAmBX,CAAxB;AAA0B,MAAGC,CAAH,EAAK,OAAOU,CAAC,GAAC8lB,IAAI,CAACC,SAAL,CAAe;AAACgX,IAAAA,IAAI,EAACz9B,CAAN;AAAQo+B,IAAAA,OAAO,EAAC19B;AAAhB,GAAf,CAAD,GAAoCyH,MAAM,CAACnI,CAAD,CAAlD;AAAsD,QAAMC,CAAC,GAACF,CAAC,CAAC69B,GAAF,IAAO79B,CAAC,CAAC49B,IAAjB;AAAsB,SAAOnX,IAAI,CAACC,SAAL,CAAexmB,CAAC,GAACS,CAAC,GAAC;AAACk9B,IAAAA,GAAG,EAAC39B,CAAL;AAAOm+B,IAAAA,OAAO,EAAC19B;AAAf,GAAD,GAAmB;AAACk9B,IAAAA,GAAG,EAAC39B;AAAL,GAArB,GAA6B,EAA7C,CAAP;AAAwD;;AAAA,SAASyM,CAAT,CAAW3M,CAAX,EAAa;AAAC,MAAG,CAACiC,CAAC,CAACjC,CAAD,CAAL,EAAS,OAAM,CAAC,CAAP;AAAS,QAAK;AAAC09B,IAAAA,IAAI,EAACz9B;AAAN,MAASD,CAAd;AAAgB,MAAGC,CAAH,EAAK,OAAO,QAAMK,8DAAC,CAACL,CAAD,CAAd;AAAkB,QAAMU,CAAC,GAACX,CAAC,CAAC49B,IAAF,IAAQ59B,CAAC,CAAC69B,GAAlB;AAAsB,SAAM,CAAC,CAACl9B,CAAF,IAAK,wCAAwC8mB,IAAxC,CAA6C9mB,CAA7C,CAAX;AAA2D;;AAAA,SAASwK,CAAT,CAAWnL,CAAX,EAAa;AAAC,SAAM,EAAE8f,CAAC,CAAC9f,CAAD,CAAD,IAAM6M,CAAC,CAAC7M,CAAD,CAAT,CAAN;AAAoB;;AAAA,SAAS+I,CAAT,CAAW/I,CAAX,EAAa;AAAC,SAAO,SAAOA,CAAC,EAAE09B,IAAjB;AAAsB;;AAAA,SAASxxB,CAAT,CAAWlM,CAAX,EAAa;AAAC,SAAM,oIAAoIynB,IAApI,CAAyIznB,CAAzI,CAAN;AAAkJ;;AAAA,SAAS+B,CAAT,CAAW/B,CAAX,EAAa;AAAC,SAAOA,CAAC,EAAE09B,IAAH,KAAU39B,6EAAjB;AAA4B;;AAAA,SAASuL,CAAT,CAAWtL,CAAX,EAAa;AAAC,QAAMC,CAAC,GAACD,CAAC,EAAE09B,IAAX;AAAgB,SAAO,QAAMz9B,CAAN,IAASA,CAAC,IAAE,GAAZ,IAAiBY,CAAC,CAACixB,QAAF,CAAW7xB,CAAX,CAAxB;AAAsC;;AAAA,SAAS2B,CAAT,CAAW5B,CAAX,EAAa;AAAC,SAAO,UAAQA,CAAC,EAAE09B,IAAlB;AAAuB;;AAAA,SAASv7B,CAAT,CAAWnC,CAAX,EAAa;AAAC,SAAOA,CAAC,KAAGD,gFAAJ,IAAmBC,CAAC,KAAGD,uFAA9B;AAAmD;;AAAA,SAAS+f,CAAT,CAAW9f,CAAX,EAAa;AAAC,SAAOmC,CAAC,CAACnC,CAAC,EAAE09B,IAAJ,CAAR;AAAkB;;AAAA,SAAS58B,CAAT,CAAWd,CAAX,EAAa;AAAC,SAAOA,CAAC,KAAGD,gFAAX;AAAyB;;AAAA,SAAS8M,CAAT,CAAW7M,CAAX,EAAa;AAAC,SAAOc,CAAC,CAACd,CAAC,EAAE09B,IAAJ,CAAR;AAAkB;;AAAA,SAAStyB,CAAT,CAAWpL,CAAX,EAAa;AAAC,QAAMC,CAAC,GAACD,CAAC,EAAE09B,IAAX;AAAgB,SAAO,QAAMz9B,CAAN,IAASA,CAAC,IAAE,GAAZ,IAAiBuB,CAAC,CAACswB,QAAF,CAAW7xB,CAAX,CAAxB;AAAsC;;AAAA,SAASgC,CAAT,CAAWjC,CAAX,EAAa;AAAC,MAAG,QAAMA,CAAT,EAAW,OAAM,CAAC,CAAP;AAAS,QAAMC,CAAC,GAACD,CAAC,CAAC09B,IAAV;AAAe,SAAO,QAAMz9B,CAAN,IAASA,CAAC,IAAE,GAAZ,IAAkB,QAAMD,CAAC,CAAC49B,IAAR,IAAc,QAAM59B,CAAC,CAAC69B,GAA/C;AAAoD;;AAAA,MAAMx3B,CAAC,GAAC;AAACq3B,EAAAA,IAAI,EAAC,IAAN;AAAWG,EAAAA,GAAG,EAAC79B,wDAAC,CAACuL,CAAC,CAAC,IAAD,CAAD,CAAQgyB,UAAT,EAAoB;AAACmB,IAAAA,gBAAgB,EAAC;AAAlB,GAApB;AAAhB,CAAR;AAAA,MAAuEp9B,CAAC,GAAC;AAACo8B,EAAAA,IAAI,EAAC,MAAN;AAAaC,EAAAA,UAAU,EAAC;AAAxB,CAAzE;AAAA,MAAuGz8B,CAAC,GAAC;AAACw8B,EAAAA,IAAI,EAAC;AAAN,CAAzG;;;;;;;;;;;;;;;;;;;ACJptJ;AACA;AACA;AACA;AACuG,gBAAgB,QAAQ,mDAAC,MAAM,+DAAC,qCAAqC,OAAO,mDAAC,YAAY,gBAAgB,yCAAyC,mDAAC,kDAA8G;;;;;;;;;;;;;;;;;;ACJxW;AACA;AACA;AACA;AAC+C,QAAQ,wDAAC,IAAI,4HAA4H,IAAI,wDAAC,IAAI,sKAAsK,EAA2E;;;;;;;;;;;;;;;;;;;;;;ACJlb;AACA;AACA;AACA;AACsM,kBAAkB,QAAQ,mDAAC,MAAM,mDAAC,MAAM,OAAO,mDAAC,QAAQ,gBAAgB,OAAO,mDAAC,MAAM,mDAAC,IAAI,gBAAgB,QAAQ,mDAAC,OAAO,mDAAC,IAAI,mDAAC,KAAK,OAAO,+DAAC,IAAI,kBAAkB,mDAAC,MAAM,mDAAC,MAAM,QAAQ,mDAAC,QAAQ,+DAAC,MAAM,mDAAC,QAAQ,OAAO,mDAAC,sBAAsB,QAAQ,mFAAC,KAAK,mFAAC,GAA2F;;;;;;;;;;;;;;;;;;;;;;ACJjiB;AACA;AACA;AACA;AACwD,QAAQ,2EAAe,KAAK,2EAAe,KAAK,2EAAe,KAAK,2EAAe,KAAK,2EAAe,KAAK,2EAAe,GAAuE;;;;;;;;;;;;;;;;;;;;;;;;;;;ACJ1P;AACA;AACA;AACA;AACkO,6CAA6C,cAAc,WAAW,cAAc,WAAW,cAAc,SAAS,uDAAQ,CAAC,cAAc,yCAAyC,uDAAQ,GAAG,cAAc,iCAAiC,cAAc,sBAAsB,cAAc,kEAAkE,yGAAyG,4DAA4D,yCAAyC,MAAM,YAAY,WAAW,KAAK,aAAa,eAAe,YAAY,WAAW,2GAA2G,gCAAgC,oCAAoC,sBAAsB,YAAY,WAAW,wGAAwG,WAAW,SAAS,gBAAgB,wEAAwE,oFAAoF,iEAAC,QAAQ,wEAAC,KAAK,kEAAC,KAAK,wEAAC,KAAK,kEAAC,MAAM,gBAAgB,uBAAuB,4DAA4D,cAAc,iEAAC,MAAM,oDAAC,IAAI,wEAAC,UAAU,wEAAa,IAAI,oDAAC,KAAK,kEAAC,UAAU,kEAAO,IAAI,oDAAC,eAAe,wBAAwB,iDAAiD,aAAa,iBAAiB,uDAAQ,MAAM,kEAAmB,6CAA6C,6BAA6B,OAAO,0EAAI,WAAW,YAAY,0EAAI,UAAU,KAAK,YAAY,uDAAQ,EAAE,uCAAuC,gDAAgD,uDAAQ,MAAM,oBAAoB,oDAAC,KAAK,aAAa,wEAAa,MAAM,oBAAoB,oDAAC,KAAK,aAAa,kEAAO,MAA2J;;;;;;;;;;;;;;;;ACJztE;AACA;AACA;AACA;AACA,qBAAqB,IAAI,cAAc,GAAG,0LAA8N;;;;;;;;;;;;;;;;;;;ACJxQ;AACA;AACA;AACA;AACmL,kBAAkB,gCAAgC,iEAAC,OAAO,mEAAC,KAAK,mEAAC,gBAAgB,QAAQ,iFAAC,IAAI,iFAAC,IAAI,qBAAqB,UAAU,qDAAqD,2DAA2D,yDAAyD,+DAA+D,yDAAyD,qBAAqB,gBAAgB,qBAAqB,gBAAgB,mEAAmE,gBAAgB,mEAAmE,gBAAgB,mDAAmD,gBAAgB,qDAAqF;;;;;;;;;;;;;;;;;;;;;;;;ACJ99B;AACA;AACA;AACA;AACiW,MAAM,sBAAsB,6DAAC,CAAC,eAAe,0BAA0B,QAAQ,cAAc,eAAe,IAAI,uDAAC,EAAE,4FAAC,EAAE,mCAAmC,kCAAkC,uDAAC,EAAE,sFAAC,yCAA2E;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACJ3mB;AACA;AACA;AACA;AACqiB,8EAAC,CAAC,8DAAC,EAAE,yBAAyB,mDAAC,CAAC,GAAkE;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACJvoB;AACA;AACA;AACA;AACgQ,SAAS,mDAAmD,IAAI,wCAAwC,IAAI,SAAS,uDAAC,CAAC,IAAI,6CAA6C,IAAI,0CAA0C,IAAI,2CAA2C,IAAI,yDAAyD,IAAI,gCAAgC,IAAI,sBAAsB,IAAI,gBAAgB,IAAI,UAAU,IAAI,UAAU,IAAI,wCAAwC,UAAU,6BAA6B,UAAU,yBAAyB,UAAU,4BAA4B,UAAU,+CAA+C,UAAU,gCAAgC,UAAU,4BAA4B,UAAU,+BAA+B,UAAU,2DAA2D,UAAU,sCAAsC,UAAU,kCAAkC,UAAU,qCAAqC,UAAU,6DAA6D,UAAU,uCAAuC,UAAU,mCAAmC,UAAU,sCAAsC,UAAU,uCAAuC,UAAU,4BAA4B,UAAU,wBAAwB,UAAU,2BAA2B,UAAU,oBAAoB,4BAA4B,qBAAqB,6BAA6B,OAAO,eAAe,8BAA8B,GAAG,wDAAC,IAAI,ovCAAovC,KAAK,8BAA8B,kBAAkB,mCAAmC,cAAc,eAAe,OAAO,QAAQ,qDAAC,6BAA6B,0DAAC,KAAK,iBAAiB,0CAA0C,SAAS,cAAc,YAAY,kBAAkB,sBAAsB,kBAAkB,sBAAsB,eAAe,EAAE,kBAAkB,gCAAgC,EAAE,KAAK,eAAe,EAAE,kBAAkB,sCAAsC,QAAQ,mDAAS,IAAI,WAAW,IAAI,qDAAC,4BAA4B,uDAAC,eAAe,iBAAiB,2BAA2B,SAAS,EAAE,cAAc,UAAU,KAAK,0DAAC,QAAQ,kEAAC,CAAC,KAAK,2DAAC,QAAQ,uDAAC,CAAC,kBAAkB,gBAAgB,QAAQ,qDAAC,aAAa,qDAAqD,yBAAyB,YAAY,wBAAwB,qEAAC,CAAC,UAAU,OAAO,+BAA+B,8DAAC,OAAO,cAAc,GAAoO;;;;;;;;;;;;;;;;;;;;;;;ACJ5lI;AACA;AACA;AACA;AACoD,QAAQ,4GAA4G,aAAa,iEAAiE,qBAAqB,aAAa,6BAA6B,cAAc,gBAAgB,kBAAkB,oBAAoB,IAAI,iCAAiC,4BAA4B,SAAS,aAAa,kBAAkB,aAAa,8BAA8B,WAAW,cAAc,iBAAiB,gEAAC,iCAAiC,WAAW,cAAc,iBAAiB,gEAAC,iCAAiC,aAAa,eAAe,iEAAiE,wDAAwD,2BAA2B,IAAI,cAAc,yBAAyB,EAA2I;;;;;;;;;;;;;;;;;;;;;;;;;;;ACJ3gC;AACA;AACA;AACA;AACA;AAAgC;AAAoD;AAAyD;AAAgE,MAAMl9B,CAAC,GAAC,oCAAR;AAAA,MAA6CE,CAAC,GAAC;AAACm/B,EAAAA,EAAE,EAAC,CAAC,CAAL;AAAOC,EAAAA,EAAE,EAAC,CAAC,CAAX;AAAaC,EAAAA,EAAE,EAAC,CAAC,CAAjB;AAAmBC,EAAAA,EAAE,EAAC,CAAC,CAAvB;AAAyBC,EAAAA,EAAE,EAAC,CAAC,CAA7B;AAA+BC,EAAAA,EAAE,EAAC,CAAC,CAAnC;AAAqCC,EAAAA,EAAE,EAAC,CAAC,CAAzC;AAA2CC,EAAAA,EAAE,EAAC,CAAC,CAA/C;AAAiD/H,EAAAA,EAAE,EAAC,CAAC,CAArD;AAAuDgI,EAAAA,EAAE,EAAC,CAAC,CAA3D;AAA6DvX,EAAAA,EAAE,EAAC,CAAC,CAAjE;AAAmEwX,EAAAA,EAAE,EAAC,CAAC,CAAvE;AAAyEC,EAAAA,EAAE,EAAC,CAAC,CAA7E;AAA+EC,EAAAA,EAAE,EAAC,CAAC,CAAnF;AAAqFC,EAAAA,EAAE,EAAC,CAAC,CAAzF;AAA2FC,EAAAA,EAAE,EAAC,CAAC,CAA/F;AAAiGh+B,EAAAA,EAAE,EAAC,CAAC,CAArG;AAAuGsmB,EAAAA,EAAE,EAAC,CAAC,CAA3G;AAA6G2X,EAAAA,EAAE,EAAC,CAAC,CAAjH;AAAmHC,EAAAA,EAAE,EAAC,CAAC,CAAvH;AAAyHvX,EAAAA,EAAE,EAAC,CAAC,CAA7H;AAA+HwX,EAAAA,EAAE,EAAC,CAAC,CAAnI;AAAqIC,EAAAA,EAAE,EAAC,CAAC,CAAzI;AAA2IC,EAAAA,EAAE,EAAC,CAAC,CAA/I;AAAiJC,EAAAA,EAAE,EAAC,CAAC,CAArJ;AAAuJ,WAAQ,CAAC,CAAhK;AAAkK,WAAQ,CAAC,CAA3K;AAA6KC,EAAAA,EAAE,EAAC,CAAC,CAAjL;AAAmLC,EAAAA,EAAE,EAAC,CAAC,CAAvL;AAAyLC,EAAAA,EAAE,EAAC,CAAC,CAA7L;AAA+LC,EAAAA,EAAE,EAAC,CAAC,CAAnM;AAAqMC,EAAAA,EAAE,EAAC,CAAC,CAAzM;AAA2MC,EAAAA,EAAE,EAAC,CAAC,CAA/M;AAAiNC,EAAAA,EAAE,EAAC,CAAC,CAArN;AAAuNC,EAAAA,EAAE,EAAC,CAAC,CAA3N;AAA6NC,EAAAA,EAAE,EAAC,CAAC,CAAjO;AAAmOC,EAAAA,EAAE,EAAC,CAAC,CAAvO;AAAyO,WAAQ,CAAC,CAAlP;AAAoP,WAAQ,CAAC,CAA7P;AAA+P,WAAQ,CAAC;AAAxQ,CAA/C;;AAA0T,SAASphC,CAAT,CAAWJ,CAAX,EAAa;AAAC,SAAOA,CAAC,IAAIQ,CAAZ;AAAc;;AAAA,MAAMM,CAAC,GAAC,EAAR;AAAA,MAAWU,CAAC,GAAC,IAAIiR,GAAJ,EAAb;;AAAqB,SAAS9R,CAAT,CAAWX,CAAX,EAAa;AAAC,OAAI,MAAMF,CAAV,IAAe0B,CAAC,CAAC6d,IAAF,EAAf,EAAwBxf,CAAC,CAACG,CAAC,CAACyhC,OAAH,EAAW3hC,CAAX,CAAD,IAAgB0B,CAAC,CAACkvB,MAAF,CAAS5wB,CAAT,CAAhB;AAA4B;;AAAA,SAASwB,CAAT,CAAWtB,CAAX,EAAa;AAAC,SAAOc,CAAC,CAAC8wB,QAAF,CAAW5xB,CAAX,MAAgBW,CAAC,CAACX,CAAD,CAAD,EAAKc,CAAC,CAAC4gC,OAAF,CAAU1hC,CAAV,CAArB,GAAmCF,gEAAC,CAAE,MAAI;AAAC,UAAMA,CAAC,GAACgB,CAAC,CAACyQ,OAAF,CAAUvR,CAAV,CAAR;AAAqBF,IAAAA,CAAC,GAAC,CAAC,CAAH,KAAOgB,CAAC,CAAC8gB,MAAF,CAAS9hB,CAAT,EAAW,CAAX,GAAca,CAAC,CAACX,CAAD,CAAtB;AAA2B,GAAvD,CAA3C;AAAqG;;SAAeoB;;;;;yMAAf,WAAiBpB,CAAjB,EAAmB;AAAC,UAAMF,CAAC,GAACC,qDAAC,EAAT;AAAYyB,IAAAA,CAAC,CAAC2N,GAAF,CAAMnP,CAAN,KAAUwB,CAAC,CAACgE,GAAF,CAAMxF,CAAN,EAAQgB,CAAC,CAAChB,CAAD,EAAGF,CAAH,CAAT,CAAV;AAA0B,UAAMW,CAAC,GAACe,CAAC,CAACoY,GAAF,CAAM5Z,CAAN,CAAR;AAAiB,WAAOS,CAAC,WAAQG,CAAC,CAAC+gC,GAAF,CAAMlhC,CAAN,CAAR,CAAD,EAAkBA,CAAzB;AAA2B;;;;AAAA,SAASiB,CAAT,CAAW1B,CAAX,EAAa;AAAC,MAAG,CAACM,CAAC,CAACinB,IAAF,CAAOvnB,CAAP,CAAJ,EAAc,OAAO,IAAP;AAAY,QAAMF,CAAC,GAACQ,CAAC,CAACshC,IAAF,CAAO5hC,CAAP,CAAR;AAAkB,MAAG,SAAOF,CAAV,EAAY,OAAO,IAAP;AAAY,QAAK,GAAEW,CAAF,EAAIP,CAAJ,IAAOJ,CAAZ;AAAA,QAAcC,CAAC,GAACU,CAAC,IAAEP,CAAC,GAAC,MAAIA,CAAC,CAAC09B,WAAF,EAAL,GAAqB,EAAxB,CAAjB;AAA6C,SAAOx9B,CAAC,CAACL,CAAD,CAAD,GAAKA,CAAL,GAAOK,CAAC,CAACK,CAAD,CAAD,GAAKA,CAAL,GAAO,IAArB;AAA0B;;SAAeO;;;;;yMAAf,WAAiBlB,CAAjB,EAAmBW,CAAnB,EAAqB;AAAC,UAAMP,CAAC,GAAC,EAAR;;AAAW,SAAI,MAAMF,CAAV,IAAec,CAAf,EAAiB,IAAGjB,CAAC,CAACG,CAAC,CAACyhC,OAAH,EAAW3hC,CAAX,CAAJ,EAAkB,IAAG;AAAC,mBAAaE,CAAC,CAAC6hC,kBAAF,CAAqB/hC,CAArB,EAAuBW,CAAvB,CAAb;AAAuC,KAA3C,CAA2C,OAAMV,CAAN,EAAQ;AAACG,MAAAA,CAAC,CAAC0E,IAAF,CAAO7E,CAAP;AAAU;;AAAA,QAAGG,CAAC,CAACyN,MAAL,EAAY,MAAM,IAAI3N,sDAAJ,CAAM,2BAAN,EAAmC,kCAAiCF,CAAE,GAAtE,EAAyE;AAACgiC,MAAAA,MAAM,EAAC5hC;AAAR,KAAzE,CAAN;AAA2F,UAAM,IAAIF,sDAAJ,CAAM,+BAAN,EAAuC,uCAAsCF,CAAE,GAA/E,CAAN;AAAyF;;;;AAAA,SAASD,CAAT,CAAWG,CAAX,EAAaF,CAAb,EAAe;AAAC,SAAM,YAAU,OAAOE,CAAjB,GAAmBF,CAAC,CAACsQ,UAAF,CAAapQ,CAAb,CAAnB,GAAmCA,CAAC,CAACunB,IAAF,CAAOznB,CAAP,CAAzC;AAAmD;;AAAAI,8DAAC,CAAE,MAAI;AAACsB,EAAAA,CAAC,CAACkY,KAAF;AAAU,CAAjB,CAAD;AAAqB,MAAM9Y,CAAC,GAAC,IAAI,MAAK;AAAC2B,EAAAA,WAAW,GAAE;AAAC,SAAKw/B,WAAL,GAAiB,CAAjB,EAAmB,KAAKC,IAAL,GAAU,IAA7B;AAAkC;;AAAMC,EAAAA,UAAU,GAAE;AAAA;;AAAA;AAAC,WAAI,CAACD,IAAL,WAAiB,KAAI,CAACA,IAAL,CAAU5lB,OAA3B;AAAD;AAAoC;;AAAAulB,EAAAA,GAAG,CAAC3hC,CAAD,EAAG;AAAC,WAAO,KAAKkiC,SAAL,IAAiBliC,CAAC,CAAC8F,IAAF,CAAQ,MAAI,KAAKq8B,SAAL,EAAZ,EAA+B,MAAI,KAAKA,SAAL,EAAnC,CAAjB,EAAuE,KAAKF,UAAL,EAA9E;AAAgG;;AAAAC,EAAAA,SAAS,GAAE;AAAC,SAAKH,WAAL,IAAmB,KAAKC,IAAL,KAAY,KAAKA,IAAL,GAAUvhC,qEAAC,EAAvB,CAAnB;AAA8C;;AAAA0hC,EAAAA,SAAS,GAAE;AAAC,SAAKJ,WAAL,GAAiBne,IAAI,CAAC3Z,GAAL,CAAS,KAAK83B,WAAL,GAAiB,CAA1B,EAA4B,CAA5B,CAAjB,EAAgD,KAAKC,IAAL,IAAW,MAAI,KAAKD,WAApB,KAAkC,KAAKC,IAAL,CAAU58B,OAAV,IAAoB,KAAK48B,IAAL,GAAU,IAAhE,CAAhD;AAAsH;;AAA1Y,CAAT,EAAR;AAAA,MAA6ZjgC,CAAC,GAAC;AAAC24B,EAAAA,KAAK,EAACl5B,CAAP;AAAS4gC,EAAAA,OAAO,EAACthC;AAAjB,CAA/Z;;;;;;;;;;;;;;;;;;;;ACJt4C;AACA;AACA;AACA;AACgE,SAAS,mBAAmB,uBAAuB,cAAc,aAAa,cAAc,QAAQ,qDAAC,OAAO,qDAAC,OAAO,oCAAoC,gBAAgB,eAAe,EAAE,WAAW,6IAA6I,gBAAgB,6CAA6C,eAAe,qDAAC,IAAI,kBAAkB,eAAe,OAAO,4CAA4C,eAAe,kFAAkF,qCAAqC,yBAAyB,uCAAuC,qBAAqB,WAAW,yHAAyH,MAAM,qIAAqI,kBAAkB,uBAAuB,YAAY,YAAY,8DAAC,OAAO,mBAAmB,GAAG,gBAAmH;;;;;;;;;;;;;;;;;;;;;ACJlvC;AACA;AACA;AACA;AACgN,YAAY,iEAAW,yBAAyB,mBAAmB,EAAE,MAAM,YAAY,GAAG,OAAO,wDAAC,kBAAkB,kBAAkB,QAAQ,uBAAuB,+EAA+E,QAAQ,6DAAC,MAAM,oBAAoB,gCAAgC,8BAA8B,gBAAgB,eAAe,kBAAkB,oDAAC,kBAAkB,oBAAoB,wDAAC,kBAAkB,4DAA4D,IAAI,SAAS,gBAAgB,wBAAwB,wBAAwB,oDAAC,IAAI,0BAA0B,wDAAC,IAAI,oEAAoE,EAAE,uCAAuC,oDAAC,6BAA6B,wDAAC,UAAU,cAAc,iBAAiB,sBAAsB,oBAAoB,wDAAC,IAAI,yBAAyB,iCAAiC,oDAAC,QAAgC;;;;;;;;;;;;;;;;;;;;;;;;ACJ5nC;AACA;AACA;AACA;AACA;AAA6B;AAAgC;;SAA4Ef;;;;;yMAAf,WAAiBD,CAAjB,EAAmBC,CAAnB,EAAqBG,CAArB,EAAuBM,CAAvB,EAAyB;AAAC,UAAMJ,CAAC,GAACL,CAAC,CAAC6hC,IAAF,CAAO1hC,CAAP,CAAR;AAAkB,QAAG,CAACE,CAAJ,EAAM,MAAM,IAAIJ,sDAAJ,CAAM,0BAAN,EAAkC,cAAaE,CAAE,yCAAwCH,CAAE,GAA3F,CAAN;AAAqG,UAAMe,CAAC,GAACV,CAAC,CAAC,CAAD,CAAD,GAAM,GAAEA,CAAC,CAAC,CAAD,CAAI,GAAb,GAAgB,EAAxB;AAAA,UAA2BO,CAAC,GAACP,CAAC,CAAC,CAAD,CAA9B;AAAA,UAAkCyB,CAAC,GAACpB,0EAAC,CAACD,CAAD,CAArC;AAAA,UAAyCY,CAAC,GAAE,GAAEN,CAAE,GAAEH,CAAE,OAApD;AAAA,UAA2DW,CAAC,GAACO,CAAC,GAAE,GAAEf,CAAE,GAAEH,CAAE,IAAGkB,CAAE,OAAf,GAAsBT,CAApF;AAAsF,QAAII,CAAJ;;AAAM,QAAG;AAACA,MAAAA,CAAC,SAAOlB,CAAC,CAACR,CAAC,CAACwB,CAAD,CAAF,CAAT;AAAgB,KAApB,CAAoB,OAAMI,CAAN,EAAQ;AAAC,UAAGJ,CAAC,KAAGF,CAAP,EAAS,MAAM,IAAIpB,sDAAJ,CAAM,qBAAN,EAA6B,WAAUE,CAAE,oBAAzC,EAA6D;AAACqD,QAAAA,KAAK,EAAC7B;AAAP,OAA7D,CAAN;;AAA8E,UAAG;AAACF,QAAAA,CAAC,SAAOlB,CAAC,CAACR,CAAC,CAACsB,CAAD,CAAF,CAAT;AAAgB,OAApB,CAAoB,OAAMM,CAAN,EAAQ;AAAC,cAAM,IAAI1B,sDAAJ,CAAM,qBAAN,EAA6B,WAAUE,CAAE,oBAAzC,EAA6D;AAACqD,UAAAA,KAAK,EAAC7B;AAAP,SAA7D,CAAN;AAA8E;AAAC;;AAAA,WAAOF,CAAP;AAAS;;;;SAAelB;;;;;yMAAf,WAAiBN,CAAjB,EAAmB;AAAC,QAAG,QAAMI,CAAC,CAACoiC,gBAAX,EAA4B,OAAOpiC,CAAC,CAACoiC,gBAAF,CAAmBxiC,CAAnB,CAAP;AAA6B,UAAMS,CAAC,SAAOX,uDAAC,CAACE,CAAD,EAAG;AAACge,MAAAA,YAAY,EAAC;AAAd,KAAH,CAAf;AAAyC,WAAOuI,IAAI,CAAC3R,KAAL,CAAWnU,CAAC,CAACuD,IAAb,CAAP;AAA0B;;;;AAAA,MAAM9D,CAAN,CAAO;AAACqC,EAAAA,WAAW,CAAC;AAACqJ,IAAAA,IAAI,EAAC9L,CAAC,GAAC,EAAR;AAAW2hC,IAAAA,OAAO,EAACzhC,CAAnB;AAAqByiC,IAAAA,QAAQ,EAAChiC,CAAC,GAAC,IAAIqd,GAAJ,CAAQD,MAAM,CAAC4kB,QAAP,CAAgBjZ,IAAxB;AAAhC,GAAD,EAAgE;AAAC,QAAIzpB,CAAJ;AAAMA,IAAAA,CAAC,GAAC,YAAU,OAAOU,CAAjB,GAAmBX,CAAC,IAAE,IAAIge,GAAJ,CAAQhe,CAAR,EAAU,IAAIge,GAAJ,CAAQrd,CAAR,EAAUod,MAAM,CAAC4kB,QAAP,CAAgBjZ,IAA1B,CAAV,EAA2CA,IAAjE,GAAsE/oB,CAAC,YAAYqd,GAAb,GAAiBhe,CAAC,IAAE,IAAIge,GAAJ,CAAQhe,CAAR,EAAUW,CAAV,EAAa+oB,IAAjC,GAAsC/oB,CAA9G,EAAgH,KAAKghC,OAAL,GAAa,YAAU,OAAOzhC,CAAjB,GAAmB,IAAImlB,MAAJ,CAAY,IAAGnlB,CAAE,EAAjB,CAAnB,GAAuCA,CAApK,EAAsK,KAAK6yB,WAAL,GAAiB9yB,CAAvL,EAAyLD,CAAC,GAACA,CAAC,GAACA,CAAC,CAACqqB,QAAF,CAAW,GAAX,IAAgBrqB,CAAhB,GAAkBA,CAAC,GAAC,GAArB,GAAyB,EAArN,EAAwN,KAAK4iC,OAAL,GAAa,IAAIvd,MAAJ,CAAY,IAAGrlB,CAAE,mBAAjB,CAArO;AAA0Q;;AAAA+hC,EAAAA,kBAAkB,CAAC/hC,CAAD,EAAGE,CAAH,EAAK;AAAC,WAAOD,CAAC,CAAC,KAAK8yB,WAAN,EAAkB,KAAK6P,OAAvB,EAA+B5iC,CAA/B,EAAiCE,CAAjC,CAAR;AAA4C;;AAAja;;AAAka,SAASQ,CAAT,CAAWV,CAAX,EAAa;AAAC,SAAO,IAAII,CAAJ,CAAMJ,CAAN,CAAP;AAAgB;;AAAA,MAAMM,CAAC,GAAC,EAAR;;;;;;;;;;;;;;;;;;;;;;;;;ACJ7qC;AACA;AACA;AACA;AACA;AAA+B;AAAuD;AAAkEya,MAAM,CAACE,OAAP,KAAiBF,MAAM,CAAC,gBAAD,CAAvB,EAA0CA,MAAM,CAACC,YAAP,KAAsBD,MAAM,CAAC,qBAAD,CAAtE;AAA8F,MAAM3a,CAAC,GAAC,MAAR;AAAe,IAAIM,CAAJ;AAAA,IAAMR,CAAC,GAACE,CAAR;AAAUF,CAAC,GAAC,QAAF;;AAAW,SAASS,CAAT,CAAWH,CAAX,EAAa;AAACE,EAAAA,CAAC,GAACF,CAAF;AAAI;;AAAA,SAASK,CAAT,CAAWb,CAAX,EAAa;AAAC,QAAMC,CAAC,GAACS,CAAC,EAAEqiC,cAAH,CAAkB/iC,CAAlB,CAAR;AAA6B,SAAOC,CAAC,EAAEuH,KAAH,GAAShH,oEAAC,CAACR,CAAD,EAAG,OAAH,EAAWC,CAAC,CAACuH,KAAb,CAAV,GAA8BxH,CAArC;AAAuC;;AAAAqP,wDAAG,CAAC,gBAAD,CAAH,IAAuB2zB,UAAU,CAACC,OAAlC,IAA2C5oB,MAAM,CAACI,cAAP,CAAsBuoB,UAAtB,EAAiC,SAAjC,EAA2C;AAACE,EAAAA,YAAY,EAAC,CAAC,CAAf;AAAiBC,EAAAA,UAAU,EAAC,CAAC,CAA7B;AAA+BC,EAAAA,QAAQ,EAAC,CAAC,CAAzC;AAA2C11B,EAAAA,KAAK,EAAC;AAAjD,CAA3C,CAA3C,EAA4I2B,wDAAG,CAAC,gBAAD,CAA/I;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACJ9X;AACA;AACA;AACA;AACA;AAA2C;AAAmC;AAA4C;AAA2C;AAA2C;AAAwC;AAAyC;AAAiC;AAAuC;AAA4C;AAAyD;AAAyF;AAA6B;AAA4C;AAAoD;AAAqC;AAAgC;AAAwC;AAAiC;AAAyE;AAAiD;AAA2F;AAAwC;AAA4D;AAAkC;AAA0E;AAAkE;AAAsE;AAA0E;AAAsE;AAA8E;AAAuC;AAA+C;AAA0B;AAAkE;AAAsD;AAA0D;AAAoD;AAA0E;AAAwD;AAAoE;AAAgE;AAA0E;AAAgE;AAAwD;AAAsD;AAAgE;AAAgE;AAA8D;AAA0D;AAA6F;AAAkN;AAAmpB;AAA6C;AAAyC;AAAsE;AAAqF;AAAwC;AAAoD;AAAqF;AAAsC;AAA6E;AAAuE;AAAwE;AAA8C;AAAyC;AAAgE;AAA+F;AAA6D;AAA2E,MAAM86B,EAAE,GAAC,cAAT;;AAAwB,SAASC,EAAT,CAAYpqC,CAAZ,EAAcE,CAAd,EAAgB;AAAC,SAAO,IAAIY,uDAAJ,CAAM,mBAAN,EAA2B,UAASd,CAAC,CAAC+C,KAAM,KAAI/C,CAAC,CAAC0C,EAAG,cAAa1C,CAAC,CAACuJ,aAAc,KAAIrJ,CAAE,EAAxF,EAA0F;AAACsJ,IAAAA,KAAK,EAACxJ;AAAP,GAA1F,CAAP;AAA4G;;AAAA,SAASqqC,EAAT,CAAYrqC,CAAZ,EAAc;AAAC,SAAOA,CAAC,IAAEA,CAAC,YAAYa,4DAAvB;AAAyB;;AAAA,MAAMypC,EAAE,GAAC3B,mFAAE,EAAX;;AAAc,SAAS4B,EAAT,CAAYvqC,CAAZ,EAAcE,CAAd,EAAgBD,CAAhB,EAAkB;AAAC,QAAMS,CAAC,GAAC,CAAC,CAACT,CAAC,EAAEuqC,gBAAb;AAA8B,SAAM;AAACrwB,IAAAA,OAAO,EAACzZ,CAAT;AAAWsH,IAAAA,YAAY,EAACtH;AAAxB,GAAN;AAAiC;;AAAA,IAAI+pC,EAAE,GAAC,cAAcl/B,8EAAC,CAAC8G,wFAAC,CAAClH,kFAAC,CAACC,8EAAC,CAACE,sEAAC,CAACvC,kEAAC,CAAC1C,sEAAC,CAACoF,wEAAC,CAAC2c,4EAAC,CAACtV,8EAAC,CAACpB,wEAAC,CAACoW,8EAAC,CAACpc,oEAAC,CAACtK,sFAAC,CAAC4F,wFAAC,CAAC2F,oEAAC,CAAChM,iEAAC,CAACZ,kDAAD,CAAF,CAAF,CAAF,CAAF,CAAF,CAAF,CAAF,CAAF,CAAF,CAAF,CAAF,CAAF,CAAF,CAAF,CAAF,CAAF,CAAf,CAAmE;AAAC0C,EAAAA,WAAW,CAAC,GAAGzC,CAAJ,EAAM;AAAA;;AAAC,WAAM,GAAGA,CAAT,kBAAY,KAAK8kC,sBAAL,GAA4B,IAAxC,EAA6C,KAAK4F,MAAL,GAAY,IAAzD,EAA8D,KAAKC,SAAL,GAAe,IAA7E,EAAkF,KAAKC,YAAL,GAAkB,IAApG,EAAyG,KAAKC,iBAAL,GAAuB,IAAhI,EAAqI,KAAKt+B,MAAL,GAAY,IAAjJ,EAAsJ,KAAKuY,WAAL,GAAiB,IAAvK,EAA4K,KAAKgmB,YAAL,GAAkB,IAA9L,EAAmM,KAAKC,UAAL,GAAgB,IAAnN,EAAwN,KAAKC,YAAL,GAAkB,IAA1O,EAA+O,KAAK5S,IAAL,GAAU,KAAK,CAA9P,EAAgQ,KAAKD,IAAL,GAAU,KAAK,CAA/Q,EAAiR,KAAK8S,SAAL,GAAe,IAAhS,EAAqS,KAAKC,OAAL,GAAa,CAAC,CAAnT,EAAqT,KAAKnG,aAAL,GAAmB,CAAC,CAAzU,EAA2U,KAAKoG,YAAL,GAAkB,IAA7V,EAAkW,KAAKlG,aAAL,GAAmB,CAAC,CAAtX,EAAwX,KAAKmG,aAAL,GAAmB,IAA3Y,EAAgZ,KAAK/9B,SAAL,GAAe,IAA/Z,EAAoa,KAAKoY,IAAL,GAAU,IAA9a,EAAmb,KAAK2f,YAAL,GAAkB,CAAC,CAAtc,EAAwc,KAAKiG,aAAL,GAAmB,IAA3d,EAAge,KAAKrnC,YAAL,GAAkB,IAAlf,EAAuf,KAAKshC,4BAAL,GAAkC,CAAC,CAA1hB,EAA4hB,KAAK1iC,gBAAL,GAAsBd,4EAAljB,EAA0jB,KAAKwpC,WAAL,GAAiB,IAA3kB,EAAglB,KAAKC,oBAAL,GAA0B,IAAI3+B,GAAJ,CAAQ,CAAC,eAAD,EAAiB,wBAAjB,EAA0C,OAA1C,EAAkD,eAAlD,CAAR,CAA1mB,EAAsrB,KAAK4+B,SAAL,GAAe,IAArsB,EAA0sB,KAAKC,QAAL,GAAc,IAAxtB,EAA6tB,KAAK1oC,KAAL,GAAW,IAAxuB,EAA6uB,KAAK2oC,iBAAL,GAAuB,YAApwB,EAAixB,KAAKnoC,IAAL,GAAU,SAA3xB,EAAqyB,KAAKooC,WAAL,GAAiB,IAAtzB,EAA2zB,KAAKzgC,KAAL,GAAW,IAAt0B,EAA20B,KAAKsD,OAAL,GAAa,CAAC,CAAz1B,EAA21B,KAAKoF,wBAAL,GAA8B1S,gEAAC;AAAA,mNAAE,WAAMlB,CAAN,EAAQE,CAAR,EAAUD,CAAV,EAAc;AAAC,cAAK;AAAC4T,UAAAA,IAAI,EAACnT,CAAN;AAAQoT,UAAAA,MAAM,EAACtT;AAAf,kBAAwB,qVAA7B;;AAAmE,gBAAOR,CAAP;AAAU,eAAKiqC,0EAAL;AAAa,mBAAOvpC,CAAC,CAAC,KAAD,EAAMR,CAAN,CAAR;;AAAiB,eAAK+pC,6EAAL;AAAgB,mBAAOzpC,CAAC,CAAC,KAAD,EAAMP,CAAN,EAAQC,CAAR,CAAR;AAAxD;AAA4E,OAAhK;;AAAA;AAAA;AAAA;AAAA,QAA13B;AAA6hC;;AAAAkE,EAAAA,OAAO,GAAE;AAAC,SAAKiG,MAAL,EAAajG,OAAb;AAAuB;;AAAAE,EAAAA,iBAAiB,CAACtE,CAAD,EAAGE,CAAH,EAAK;AAAC,WAAM,YAAU,OAAOF,CAAjB,GAAmB;AAAC6F,MAAAA,GAAG,EAAC7F,CAAL;AAAO,SAAGE;AAAV,KAAnB,GAAgCF,CAAtC;AAAwC;;AAAAkF,EAAAA,IAAI,CAAClF,CAAD,EAAG;AAAA;;AAAC,UAAME,CAAC,GAAC,QAAMF,CAAN,GAAQA,CAAC,CAAC0H,MAAV,GAAiB,IAAzB;AAA8B,QAAG,KAAK/E,UAAL,EAAiB6C,MAAjB,IAAyB,KAAK6E,MAAjC,EAAwC,OAAO,KAAKlF,mBAAL,CAAyB,KAAKymC,oBAAL,CAA0B1rC,CAA1B,EAA6B8F,IAA7B,CAAmChG,CAAC,IAAE,KAAK6rC,mBAAL,CAAyB7rC,CAAzB,CAAtC,CAAzB,GAA8FqF,OAAO,CAACC,OAAR,CAAgB,IAAhB,CAArG;AAA2H,UAAMrF,CAAC,GAAC,KAAK6rC,cAAL,CAAoB;AAACC,MAAAA,cAAc,EAAC,CAAC,iBAAD,EAAmB,oBAAnB,EAAwC,eAAxC;AAAhB,KAApB,EAA8F/rC,CAA9F,EAAiG+D,KAAjG,CAAuGzC,qEAAvG,EAA0G0E,IAA1G,iNAAgH,aAAS;AAAC,UAAG,MAAI,CAACH,GAAL,IAAU,QAAM,MAAI,CAAC+R,OAArB,IAA8B,+BAA+B6P,IAA/B,CAAoC,MAAI,CAAC5hB,GAAzC,CAAjC,EAA+E;AAAC,cAAM7F,CAAC,SAAO,MAAI,CAACgsC,uBAAL,CAA6B9rC,CAA7B,CAAd;AAA8C,gBAAMF,CAAN,KAAU,MAAI,CAAC4X,OAAL,GAAa5X,CAAvB;AAA0B;;AAAA,UAAG,CAAC,MAAI,CAAC6F,GAAN,IAAW,CAAC,MAAI,CAAComC,gBAAL,EAAf,EAAuC,MAAM,IAAInrC,uDAAJ,CAAM,qCAAN,EAA4C,6DAA5C,CAAN;AAAiH,aAAO,MAAI,CAAC+qC,mBAAL,OAA+B,MAAI,CAACD,oBAAL,CAA0B1rC,CAA1B,CAA/B,CAAP;AAAoE,KAA9e,GAAif8F,IAAjf,CAAuf,MAAIy/B,qFAAE,CAAC,IAAD,EAAM,MAAN,EAAazlC,CAAb,CAA7f,CAAR;AAAuhB,WAAO,KAAKmF,mBAAL,CAAyBlF,CAAzB,GAA4BoF,OAAO,CAACC,OAAR,CAAgB,IAAhB,CAAnC;AAAyD;;AAAA4mC,EAAAA,0BAA0B,GAAE;AAAC,wBAAkB,KAAKC,aAAL,EAAoBC,IAAtC,IAA4C,aAAW,KAAKC,QAAL,EAAe9oC,IAAtE,IAA4E,iBAAe,KAAK8oC,QAAL,CAAcC,MAAd,EAAsB/oC,IAAjH,IAAuH,KAAK8oC,QAAL,CAAcC,MAAd,CAAqBC,YAArB,CAAkC/0B,IAAlC,CAAwCxX,CAAC,IAAE,WAASA,CAAC,CAACuD,IAAX,IAAiB,QAAMvD,CAAC,CAACwsC,QAAzB,IAAoC,CAAC,CAACxsC,CAAC,CAACwsC,QAAF,CAAWp3B,KAAZ,IAAmBpV,CAAC,CAACwsC,QAAF,CAAWp3B,KAAX,CAAiB9U,CAAjB,GAAmB,KAAK0I,OAAxB,GAAgCghC,uGAApD,MAA0D,KAAKyC,YAAL,CAAkB3nC,IAAlB,CAAuB,IAAIvC,yDAAJ,CAAM,wCAAN,EAA+C,qFAA/C,EAAqI;AAACiH,MAAAA,KAAK,EAAC;AAAP,KAArI,CAAvB,GAA2K,CAAC,CAAtO,CAA/E,CAAvH;AAAkb;;AAAAkjC,EAAAA,gBAAgB,CAAC1sC,CAAD,EAAGE,CAAH,EAAK;AAAC,WAAOA,CAAC,GAACA,CAAC,CAACysC,eAAF,IAAmBzsC,CAArB,EAAuBipC,kGAAE,CAACjpC,CAAD,EAAG,KAAK2F,GAAR,CAAhC;AAA6C;;AAAsB,MAAlB+mC,kBAAkB,GAAE;AAAC,WAAO,KAAKC,cAAL,CAAoB,sBAApB,GAA4C,KAAKA,cAAL,CAAoB,mBAApB,CAA5C,EAAqF,KAAKA,cAAL,CAAoB,YAApB,CAArF,EAAuH,KAAKA,cAAL,CAAoB,YAApB,CAAvH,EAAyJ,KAAKA,cAAL,CAAoB,cAApB,CAAzJ,EAA6L,KAAKA,cAAL,CAAoB,YAApB,CAA7L,EAA+N,KAAKA,cAAL,CAAoB,gBAApB,CAA/N,EAAqQ,KAAKA,cAAL,CAAoB,SAApB,CAArQ,EAAoS,KAAKA,cAAL,CAAoB,cAApB,CAApS,EAAwU,KAAKA,cAAL,CAAoB,SAApB,CAAxU,EAAuW,CAAC,KAAKroC,IAAL,CAAU,oBAAV,KAAiC,CAAlC,IAAqC,CAAnZ;AAAqZ;;AAAkB,MAAdsoC,cAAc,GAAE;AAAC,WAAM,EAAE,KAAKtnC,MAAL,IAAa,CAAC,KAAKunC,YAAL,EAAmBC,UAAnB,CAA8BC,eAA9C,MAAiE,KAAKp2B,aAAL,CAAmB,gBAAnB,IAAqC,KAAKrS,IAAL,CAAU,gBAAV,CAArC,GAAiE,KAAKynC,gBAAL,MAAyB,KAAKiB,wBAAhK,CAAN;AAAgM;;AAAkB,MAAdJ,cAAc,CAAC9sC,CAAD,EAAG;AAAC,SAAKmtC,eAAL,CAAqB,gBAArB,EAAsCntC,CAAtC;AAAyC;;AAAAotC,EAAAA,kBAAkB,CAACptC,CAAD,EAAGE,CAAH,EAAK;AAAC,WAAO,KAAKmtC,mBAAL,CAAyBntC,CAAzB,EAA2B,CAAC,CAA5B,CAAP;AAAsC;;AAAAotC,EAAAA,4BAA4B,CAACttC,CAAD,EAAGE,CAAH,EAAKD,CAAL,EAAO;AAAC,WAAO,KAAKotC,mBAAL,CAAyBntC,CAAzB,EAA2B,CAAC,CAA5B,EAA8BD,CAA9B,CAAP;AAAwC;;AAAAstC,EAAAA,mBAAmB,CAACvtC,CAAD,EAAGE,CAAH,EAAK;AAAC,SAAKstC,oBAAL,CAA0BxtC,CAA1B,EAA4BE,CAA5B,EAA8B,CAAC,CAA/B;AAAkC;;AAAAutC,EAAAA,2BAA2B,CAACztC,CAAD,EAAGE,CAAH,EAAKD,CAAL,EAAOS,CAAP,EAAS;AAAC,SAAK8sC,oBAAL,CAA0BxtC,CAA1B,EAA4BE,CAA5B,EAA8B,CAAC,CAA/B,EAAiCQ,CAAjC;AAAoC;;AAA2B,MAAvBgtC,uBAAuB,GAAE;AAAC,WAAO/H,8FAAE,CAAC,IAAD,CAAT;AAAgB;;AAAAgI,EAAAA,WAAW,CAAC3tC,CAAD,EAAGE,CAAH,EAAK;AAAC,WAAM,YAAU,CAACA,CAAC,GAACA,CAAC,EAAEysC,eAAH,IAAoBzsC,CAAvB,EAA0BqD,IAApC,IAA0C,CAACrD,CAAC,CAAC8qC,YAAnD;AAAgE;;AAAA4C,EAAAA,YAAY,CAAC5tC,CAAD,EAAGE,CAAH,EAAKD,CAAL,EAAOS,CAAP,EAAS;AAACA,IAAAA,CAAC,EAAE8pC,gBAAH,IAAqBxpC,8DAAC,CAACf,CAAD,EAAGD,CAAC,GAAC,OAAD,GAAS,eAAb,EAA6BE,CAA7B,CAAtB;AAAsD;;AAAA0lC,EAAAA,iBAAiB,CAAC5lC,CAAD,EAAGE,CAAH,EAAK;AAAC,WAAO2lC,iFAAE,CAAC3lC,CAAC,CAACysC,eAAF,IAAmBzsC,CAApB,CAAT;AAAgC;;AAAA4lC,EAAAA,iBAAiB,CAAC9lC,CAAD,EAAGE,CAAH,EAAK;AAAC,WAAO6lC,iFAAE,CAAC7lC,CAAC,CAACysC,eAAF,IAAmBzsC,CAApB,CAAT;AAAgC;;AAAa,MAAT2tC,SAAS,GAAE;AAAC,UAAM7tC,CAAC,GAACiC,+DAAC,CAAC,KAAK4D,GAAN,CAAT;AAAoB,WAAO,QAAM7F,CAAN,KAAU,QAAM,KAAK6qC,iBAAX,GAA6B7qC,CAAC,CAACylB,IAAF,GAAO1jB,wDAAC,CAAC/B,CAAC,CAACylB,IAAH,EAAQ,cAAR,CAArC,GAA6D,QAAM,KAAK7N,OAAX,KAAqB5X,CAAC,CAACylB,IAAF,GAAO1jB,wDAAC,CAAC/B,CAAC,CAACylB,IAAH,EAAQ,KAAK7N,OAAL,CAAa1U,QAAb,EAAR,CAA7B,CAAvE,GAAuIlD,CAA9I;AAAgJ;;AAAwB,MAApB8tC,oBAAoB,GAAE;AAAC,WAAO,KAAKjE,mBAAL,EAAP;AAAkC;;AAAY,MAARwC,QAAQ,CAACrsC,CAAD,EAAG;AAAC6oC,IAAAA,0EAAE,CAAC7oC,CAAD,EAAG,KAAK8kB,WAAR,CAAF,EAAuB,KAAKvgB,IAAL,CAAU,UAAV,EAAqBvE,CAArB,CAAvB;AAA+C;;AAAA+tC,EAAAA,YAAY,CAAC/tC,CAAD,EAAGE,CAAH,EAAKQ,CAAL,EAAO;AAACR,IAAAA,CAAC,GAACA,CAAC,CAACysC,eAAF,IAAmBzsC,CAArB;AAAuB,UAAMM,CAAC,GAACN,CAAC,CAAC8tC,WAAF,EAAe3B,QAAvB;;AAAgC,QAAG7rC,CAAH,EAAK;AAAC,YAAMR,CAAC,GAACC,sEAAC,CAACO,CAAD,EAAGN,CAAH,EAAKQ,CAAL,CAAD,IAAU,KAAK,CAAvB;AAAyB,aAAOV,CAAC,IAAE0B,kEAAA,CAAY,IAAZ,EAAkB+B,KAAlB,CAAwB,2BAAxB,EAAoD;AAACwqC,QAAAA,kBAAkB,EAAC/tC,CAAC,CAAC8tC,WAAF,CAAc3B,QAAlC;AAA2C7iC,QAAAA,KAAK,EAAC,IAAjD;AAAsDrF,QAAAA,OAAO,EAACzD;AAA9D,OAApD,CAAH,EAAyHV,CAAhI;AAAkI;;AAAA,WAAOimC,qFAAE,CAAC/lC,CAAD,EAAGQ,CAAH,CAAT;AAAe;;AAAU,MAAN2J,MAAM,CAACrK,CAAD,EAAG;AAAC,UAAME,CAAC,GAAC,KAAKsE,IAAL,CAAU,QAAV,CAAR;;AAA4BtE,IAAAA,CAAC,KAAGF,CAAJ,KAAQqqC,EAAE,CAACnqC,CAAD,CAAF,IAAO,KAAKguC,kBAAL,CAAwBhuC,CAAxB,CAAP,EAAkCmqC,EAAE,CAACrqC,CAAD,CAAF,IAAO,KAAKmuC,iBAAL,CAAuBnuC,CAAvB,CAAzC,EAAmE,KAAKuE,IAAL,CAAU,QAAV,EAAmBvE,CAAnB,CAA3E;AAAkG;;AAAAouC,EAAAA,UAAU,CAACpuC,CAAD,EAAG;AAAC,WAAOA,CAAC,GAACuG,KAAK,CAACC,OAAN,CAAcxG,CAAd,KAAkBA,CAAC,YAAYa,4DAA/B,GAAiC,IAAI2B,4EAAJ,CAAM;AAACgH,MAAAA,KAAK,EAAC,IAAP;AAAYyY,MAAAA,KAAK,EAACjiB;AAAlB,KAAN,CAAjC,GAA6DA,CAA9D,GAAgE,IAAxE;AAA6E;;AAAAquC,EAAAA,UAAU,CAACruC,CAAD,EAAGE,CAAH,EAAK;AAAC,UAAMD,CAAC,GAAC0pC,6EAAA,CAAYzpC,CAAC,CAACouC,UAAd,CAAR;AAAkC,WAAO,IAAI9rC,4EAAJ,CAAM;AAACgH,MAAAA,KAAK,EAAC,IAAP;AAAYyY,MAAAA,KAAK,EAAChiB,CAAC,EAAEsuC,QAAH,IAAa;AAA/B,KAAN,CAAP;AAAiD;;AAAAC,EAAAA,aAAa,CAACxuC,CAAD,EAAGE,CAAH,EAAK;AAAC,UAAMD,CAAC,GAACC,CAAC,CAACuuC,cAAV;AAAA,UAAyB/tC,CAAC,GAACT,CAAC,EAAEyuC,YAA9B;AAAA,UAA2CluC,CAAC,GAACP,CAAC,EAAE0uC,WAAhD;AAA4D,WAAO3uC,CAAC,GAACA,CAAC,EAAEuF,GAAH,CAAQvF,CAAC,IAAEwoC,6EAAA,CAAYxoC,CAAZ,CAAX,CAAF,EAA8B,KAAK4uC,aAAL,CAAmB5uC,CAAnB,EAAqBU,CAArB,CAA9B,EAAsD,KAAKkuC,aAAL,CAAmB5uC,CAAnB,EAAqBQ,CAArB,CAAtD,EAA8ER,CAArF;AAAuF;;AAAA6uC,EAAAA,SAAS,CAAC7uC,CAAD,EAAGE,CAAH,EAAK;AAAC,UAAMD,CAAC,GAACC,CAAC,CAACysC,eAAF,EAAmBvyB,IAAnB,IAAyBla,CAAC,CAACka,IAAnC;AAAA,UAAwC1Z,CAAC,GAACR,CAAC,CAAC6C,KAAF,IAAS7C,CAAC,CAACysC,eAAF,EAAmB5pC,KAAtE;;AAA4E,QAAG9C,CAAH,EAAK;AAAC,YAAMD,CAAC,GAAC,KAAK2C,UAAL,EAAiBI,KAAzB;AAA+B,UAAG,iBAAe,KAAK2oC,iBAAvB,EAAyC,OAAO,KAAK7lC,GAAL,GAASgH,gFAAC,CAAC,KAAKhH,GAAN,EAAU5F,CAAV,CAAV,GAAuBA,CAA9B;AAAgC,UAAIC,CAAC,GAACD,CAAN;;AAAQ,UAAG,CAACC,CAAD,IAAI,KAAK2F,GAAZ,EAAgB;AAAC,cAAM7F,CAAC,GAAC4S,kEAAC,CAAC,KAAK/M,GAAN,CAAT;AAAoB,gBAAM7F,CAAN,KAAUE,CAAC,GAACF,CAAC,CAAC+C,KAAd;AAAqB;;AAAA,UAAG,CAAC7C,CAAJ,EAAM;AAAO,aAAM,kCAAgC,KAAKwrC,iBAArC,IAAwD1rC,CAAxD,IAA2DA,CAAC,KAAGE,CAA/D,KAAmEA,CAAC,GAACF,CAAC,GAAC,KAAF,GAAQE,CAA7E,GAAgFgnB,uEAAC,CAAChnB,CAAD,CAAvF;AAA2F;;AAAA,QAAG,iBAAe,KAAKwrC,iBAApB,IAAuChrC,CAA1C,EAA4C,OAAOA,CAAP;AAAS;;AAAAouC,EAAAA,mBAAmB,CAAC9uC,CAAD,EAAGE,CAAH,EAAK;AAAC,WAAOA,CAAC,CAAC6C,KAAF,IAAS7C,CAAC,CAACysC,eAAF,EAAmBvyB,IAAnC;AAAwC;;AAAA20B,EAAAA,eAAe,CAAC/uC,CAAD,EAAGE,CAAH,EAAK;AAAC,QAAID,CAAC,GAAC,CAACC,CAAC,GAACA,CAAC,CAACysC,eAAF,IAAmBzsC,CAAtB,EAAyByrC,WAA/B;;AAA2C,QAAG1rC,CAAC,IAAEC,CAAC,CAACqM,MAAR,EAAe;AAACtM,MAAAA,CAAC,GAACA,CAAC,CAAC2P,WAAF,EAAF;AAAkB,YAAM5P,CAAC,GAACE,CAAC,CAACqM,MAAF,CAASmD,IAAT,CAAe1P,CAAC,IAAEA,CAAC,CAACoa,IAAF,CAAOxK,WAAP,OAAuB3P,CAAzC,CAAR;AAAqDD,MAAAA,CAAC,KAAGC,CAAC,GAACD,CAAC,CAACoa,IAAP,CAAD;AAAc;;AAAA,WAAOna,CAAP;AAAS;;AAAA+uC,EAAAA,SAAS,CAAChvC,CAAD,EAAGE,CAAH,EAAK;AAACF,IAAAA,CAAC,GAAC,CAACE,CAAC,GAACA,CAAC,CAACysC,eAAF,IAAmBzsC,CAAtB,EAAyBgL,KAA3B;AAAiC,UAAMjL,CAAC,GAACC,CAAC,CAACuuC,cAAV;AAAA,UAAyB/tC,CAAC,GAACT,CAAC,EAAEyuC,YAA9B;AAAA,UAA2CluC,CAAC,GAACP,CAAC,EAAE0uC,WAAhD;AAA4D,WAAO3uC,CAAC,EAAEuF,GAAH,CAAQvF,CAAC,KAAGA,CAAC,GAACyoC,yEAAA,CAAYzoC,CAAZ,CAAF,EAAiB,KAAK4uC,aAAL,CAAmB5uC,CAAC,CAACwrC,SAArB,EAA+B9qC,CAA/B,CAAjB,EAAmD,KAAKkuC,aAAL,CAAmB5uC,CAAC,CAACwrC,SAArB,EAA+BhrC,CAA/B,CAAnD,EAAqFR,CAAxF,CAAT,CAAP;AAA6G;;AAAAivC,EAAAA,WAAW,CAACjvC,CAAD,EAAGE,CAAH,EAAK;AAAC,WAAO,QAAMA,CAAC,CAACysC,eAAF,EAAmBuC,iBAAzB,GAA2C,CAAC,CAAChvC,CAAC,CAACysC,eAAF,CAAkBuC,iBAA/D,GAAiF,QAAMhvC,CAAC,CAACivC,UAAR,GAAmB,CAAC,CAACjvC,CAAC,CAACivC,UAAvB,GAAkC,KAAK,CAA/H;AAAiI;;AAAMjJ,EAAAA,aAAa,CAAClmC,CAAD,EAAGE,CAAH,EAAK;AAAA;;AAAA;AAAC,YAAMD,CAAC,SAAOkmC,6EAAE,CAAC,MAAD,EAAMnmC,CAAN,EAAQE,CAAR,EAAUiqC,EAAV,CAAhB;AAA8B,aAAO,MAAI,CAACiF,kBAAL,GAAwB,IAAIpsC,IAAJ,EAAxB,EAAiC/C,CAAxC;AAA/B;AAAyE;;AAAMmmC,EAAAA,gBAAgB,CAACpmC,CAAD,EAAGE,CAAH,EAAKD,CAAL,EAAO;AAAA;;AAAA;AAAC,YAAMS,CAAC,SAAO2lC,gFAAE,CAAC,MAAD,EAAMrmC,CAAN,EAAQE,CAAR,EAAUD,CAAV,EAAYkqC,EAAZ,CAAhB;AAAgC,aAAO,MAAI,CAACiF,kBAAL,GAAwB,IAAIpsC,IAAJ,EAAxB,EAAiCtC,CAAxC;AAAjC;AAA2E;;AAAM4lC,EAAAA,UAAU,CAACtmC,CAAD,EAAGE,CAAH,EAAK;AAAA;;AAAA;AAAC,aAAOqmC,0EAAE,CAAC,MAAD,EAAMvmC,CAAN,EAAQE,CAAR,CAAT;AAAD;AAAqB;;AAAMsmC,EAAAA,YAAY,CAACxmC,CAAD,EAAGE,CAAH,EAAK;AAAA;;AAAA;AAAC,aAAOigC,4EAAE,CAAC,MAAD,EAAMngC,CAAN,EAAQE,CAAR,CAAT;AAAD;AAAqB;;AAAAyD,EAAAA,EAAE,CAAC3D,CAAD,EAAGE,CAAH,EAAK;AAAC,WAAO,MAAMyD,EAAN,CAAS3D,CAAT,EAAWE,CAAX,CAAP;AAAqB;;AAAA2pC,EAAAA,mBAAmB,CAAC7pC,CAAD,EAAG;AAAC,WAAO8pC,4EAAE,CAAC,IAAD,EAAM9pC,CAAN,CAAT;AAAkB;;AAAM4rC,EAAAA,oBAAoB,CAAC5rC,CAAD,EAAG;AAAA;;AAAA;AAAC,UAAG,MAAI,CAACisC,gBAAL,MAAyB,MAAI,CAAC5hC,MAAjC,EAAwC,OAAO,MAAI,CAACA,MAAL,CAAYnF,IAAZ,CAAiB;AAACwC,QAAAA,MAAM,EAAC1H;AAAR,OAAjB,CAAP;AAAoC,YAAK;AAACwI,QAAAA,OAAO,EAACtI;AAAT,gBAAkB0B,mEAAC,CAAC,0hBAAD,EAAoD5B,CAApD,CAAxB;AAA+E,aAAO,IAAIE,CAAJ,CAAM;AAACsJ,QAAAA,KAAK,EAAC,MAAP;AAAY+hC,QAAAA,oBAAoB,EAAC,MAAI,CAACA;AAAtC,OAAN,EAAmErmC,IAAnE,CAAwE;AAACwC,QAAAA,MAAM,EAAC1H;AAAR,OAAxE,CAAP;AAA5J;AAAuP;;AAAAymC,EAAAA,WAAW,GAAE;AAAC,UAAMzmC,CAAC,GAAC0mC,2EAAE,CAAC,IAAD,CAAV;AAAiB1mC,IAAAA,CAAC,CAAC6qC,iBAAF,GAAoB,KAAKA,iBAAzB;AAA2C,UAAM3qC,CAAC,GAAC,QAAM,KAAKorC,WAAX,GAAwB,GAAE,KAAK+D,YAAa,MAAK,KAAK/D,WAAY,EAAlE,GAAoE,IAA5E;AAAA,UAAiFrrC,CAAC,GAAC4B,qDAAC,CAAC,KAAKytC,oBAAN,EAA2BpvC,CAA3B,CAApF;AAAkH,WAAOF,CAAC,CAACuvC,KAAF,GAAQtvC,CAAC,IAAE,KAAX,EAAiBD,CAAxB;AAA0B;;AAAM2mC,EAAAA,iBAAiB,CAAC3mC,CAAD,EAAGE,CAAH,EAAK;AAAA;;AAAA;AAAC,YAAMD,CAAC,SAAO2mC,iFAAE,CAAC,MAAD,EAAM5mC,CAAN,EAAQE,CAAR,EAAUiqC,EAAV,CAAhB;AAA8B,aAAO,MAAI,CAACiF,kBAAL,GAAwB,IAAIpsC,IAAJ,EAAxB,EAAiC/C,CAAxC;AAA/B;AAAyE;;AAAM4mC,EAAAA,sBAAsB,CAAC7mC,CAAD,EAAG;AAAA;;AAAA;AAAC,aAAO8mC,sFAAE,CAAC,MAAD,EAAM9mC,CAAN,EAAQmqC,EAAR,CAAT;AAAD;AAAsB;;AAAApD,EAAAA,cAAc,CAAC/mC,CAAD,EAAG;AAAC,WAAOwgC,8EAAE,CAAC,KAAKt1B,KAAN,EAAY,KAAKygC,WAAjB,EAA6B3rC,CAA7B,CAAT;AAAyC;;AAAAwvC,EAAAA,cAAc,CAACxvC,CAAD,EAAGE,CAAH,EAAK;AAAC,UAAMD,CAAC,GAACC,CAAC,EAAEuvC,OAAX;AAAA,UAAmB/uC,CAAC,GAAC,CAAC,CAAC,KAAKgvC,QAAL,EAAe7hC,MAAtC;;AAA6C,QAAGnN,CAAC,IAAE,CAACR,CAAC,EAAEyvC,qBAAV,EAAgC;AAAC,YAAMzvC,CAAC,GAAC+mC,yFAAE,CAAC,IAAD,EAAMjnC,CAAN,CAAV;AAAmB,UAAGE,CAAH,EAAK,OAAOA,CAAP;AAAS;;AAAA,UAAMM,CAAC,GAACE,CAAC,IAAEymC,iFAAE,CAAC,IAAD,EAAMlnC,CAAN,CAAb;;AAAsB,QAAGO,CAAH,EAAK;AAAC,YAAMN,CAAC,GAACM,CAAC,EAAEovC,OAAH,GAAa5vC,CAAb,CAAR;AAAwB,aAAM,gBAAcE,CAAC,EAAEqD,IAAjB,GAAsB,KAAKssC,eAAL,CAAqB7vC,CAArB,CAAtB,GAA8CE,CAApD;AAAsD;;AAAA,UAAME,CAAC,GAAC,KAAK2mC,cAAL,CAAoB9mC,CAApB,CAAR;AAAA,UAA+BK,CAAC,GAAC,KAAKuvC,eAAL,CAAqB7vC,CAArB,CAAjC;;AAAyD,QAAGI,CAAH,EAAK;AAAC,YAAMF,CAAC,GAACE,CAAC,CAACwvC,OAAF,IAAWxvC,CAAC,CAACwvC,OAAF,CAAU5vC,CAAV,CAAnB;AAAgC,UAAGE,CAAC,IAAE,gBAAcA,CAAC,EAAEqD,IAAvB,EAA4B,OAAOrD,CAAP;AAAS;;AAAA,QAAGI,CAAH,EAAK,OAAOA,CAAP;;AAAS,QAAG,CAACJ,CAAC,EAAEyvC,qBAAP,EAA6B;AAAC,YAAMzvC,CAAC,GAACmnC,sFAAE,CAAC,IAAD,EAAMrnC,CAAN,CAAV;AAAmB,UAAGE,CAAH,EAAK,OAAOA,CAAP;AAAS;;AAAA,WAAO,IAAP;AAAY;;AAAA4vC,EAAAA,QAAQ,CAAC9vC,CAAD,EAAG;AAAC,WAAO,KAAK8kB,WAAL,CAAiBhL,GAAjB,CAAqB9Z,CAArB,CAAP;AAA+B;;AAAMsnC,EAAAA,gBAAgB,CAACtnC,CAAD,EAAGE,CAAH,EAAK;AAAA;;AAAA;AAAC,aAAOqnC,gFAAE,CAAC,OAAD,EAAMvnC,CAAN,EAAQE,CAAR,EAAUiqC,EAAV,CAAT;AAAD;AAAwB;;AAAM4F,EAAAA,aAAa,CAAC/vC,CAAD,EAAGE,CAAH,EAAK;AAAA;;AAAA;AAAC,YAAMD,CAAC,SAAO,OAAI,CAACiF,IAAL,EAAd;AAAA,YAA0BxE,CAAC,SAAOT,CAAC,CAACoK,MAAF,CAAS0lC,aAAT,CAAuBnG,oEAAA,CAAQ5pC,CAAR,KAAYC,CAAC,CAACwmC,WAAF,EAAnC,EAAmDvmC,CAAnD,CAAlC;AAAwF,UAAGQ,CAAC,EAAE6tC,QAAN,EAAe,KAAI,MAAM/tC,CAAV,IAAeE,CAAC,CAAC6tC,QAAjB,EAA0B/tC,CAAC,CAACgJ,KAAF,GAAQhJ,CAAC,CAACwvC,WAAF,GAAc/vC,CAAtB;AAAwB,aAAOS,CAAP;AAA1J;AAAmK;;AAAM8mC,EAAAA,cAAc,CAACxnC,CAAD,EAAGE,CAAH,EAAK;AAAA;;AAAA;AAAC,aAAOunC,8EAAE,CAAC,OAAD,EAAMznC,CAAN,EAAQE,CAAR,EAAUiqC,EAAV,CAAT;AAAD;AAAwB;;AAAMzC,EAAAA,iBAAiB,CAAC1nC,CAAD,EAAGE,CAAH,EAAK;AAAA;;AAAA;AAAC,aAAOynC,iFAAE,CAAC,OAAD,EAAM3nC,CAAN,EAAQE,CAAR,EAAUiqC,EAAV,CAAT;AAAD;AAAwB;;AAAMvC,EAAAA,WAAW,CAAC5nC,CAAD,EAAGE,CAAH,EAAK;AAAA;;AAAA;AAAC,aAAO2nC,2EAAE,CAAC,OAAD,EAAM7nC,CAAN,EAAQE,CAAR,EAAUiqC,EAAV,CAAT;AAAD;AAAwB;;AAAMrC,EAAAA,oBAAoB,CAAC9nC,CAAD,EAAGE,CAAH,EAAK;AAAA;;AAAA;AAAC,aAAO6nC,oFAAE,CAAC,OAAD,EAAM/nC,CAAN,EAAQE,CAAR,EAAUiqC,EAAV,CAAT;AAAD;AAAwB;;AAAMnC,EAAAA,yBAAyB,CAAChoC,CAAD,EAAGE,CAAH,EAAK;AAAA;;AAAA;AAAC,aAAO+nC,yFAAE,CAAC,OAAD,EAAMjoC,CAAN,EAAQE,CAAR,EAAUiqC,EAAV,CAAT;AAAD;AAAwB;;AAAM8F,EAAAA,gBAAgB,CAACjwC,CAAD,EAAGE,CAAH,EAAK;AAAA;;AAAA;AAAC,YAAK;AAACmK,QAAAA,MAAM,EAACpK,CAAR;AAAU8sC,QAAAA,YAAY,EAACrsC;AAAvB,gBAAgC,OAAI,CAACwE,IAAL,EAArC;AAAiD,UAAG,CAACjF,CAAC,CAACgwC,gBAAH,IAAqB,CAACvvC,CAAC,EAAEyG,KAAH,EAAU+oC,wBAAnC,EAA4D,MAAM,IAAIpvC,uDAAJ,CAAMqpC,EAAN,EAAS,2DAAT,CAAN;AAA4E,YAAM3pC,CAAC,SAAO,qJAAd;AAAA,YAA4DJ,CAAC,SAAOH,CAAC,CAACgwC,gBAAF,CAAmBzvC,CAAC,CAACgI,OAAF,CAAUgX,IAAV,CAAexf,CAAf,CAAnB,EAAqCE,CAArC,CAApE;AAA4G,UAAGE,CAAC,EAAEmuC,QAAN,EAAe,KAAI,MAAMjuC,CAAV,IAAeF,CAAC,CAACmuC,QAAjB,EAA0BjuC,CAAC,CAACkJ,KAAF,GAAQlJ,CAAC,CAAC0vC,WAAF,GAAc,OAAtB;AAA2B,aAAO5vC,CAAP;AAA1W;AAAmX;;AAAM+vC,EAAAA,SAAS,CAACnwC,CAAD,EAAGE,CAAH,EAAK;AAAA;;AAAA;AAAC,YAAK;AAACmK,QAAAA,MAAM,EAACpK,CAAR;AAAU8sC,QAAAA,YAAY,EAACrsC;AAAvB,gBAAgC,OAAI,CAACwE,IAAL,EAArC;AAAiD,UAAG,CAACjF,CAAC,CAACkwC,SAAH,IAAc,CAACzvC,CAAC,EAAEssC,UAAH,EAAeoD,iBAAjC,EAAmD,MAAM,IAAItvC,uDAAJ,CAAMqpC,EAAN,EAAS,oDAAT,CAAN;AAAqEhC,MAAAA,iFAAE,CAACnoC,CAAD,EAAGU,CAAH,EAAKypC,EAAL,CAAF;AAAW,YAAM3pC,CAAC,SAAO,kMAAd;AAAA,YAAqDJ,CAAC,SAAOH,CAAC,CAACkwC,SAAF,CAAY3vC,CAAC,CAACgI,OAAF,CAAUgX,IAAV,CAAexf,CAAf,CAAZ,EAA8BE,CAA9B,CAA7D;AAA8F,UAAGE,CAAC,CAACmuC,QAAL,EAAc,KAAI,MAAMjuC,CAAV,IAAeF,CAAC,CAACmuC,QAAjB,EAA0BjuC,CAAC,CAACkJ,KAAF,GAAQlJ,CAAC,CAAC0vC,WAAF,GAAc,OAAtB;AAA2B,aAAO5vC,CAAP;AAAtV;AAA+V;;AAAMiwC,EAAAA,iBAAiB,CAACrwC,CAAD,EAAGE,CAAH,EAAK;AAAA;;AAAA;AAAC,YAAK;AAACmK,QAAAA,MAAM,EAACpK,CAAR;AAAU8sC,QAAAA,YAAY,EAACrsC;AAAvB,gBAAgC,OAAI,CAACwE,IAAL,EAArC;AAAiD,UAAG,CAACjF,CAAC,CAACowC,iBAAH,IAAsB,CAAC3vC,CAAC,EAAEyG,KAAH,CAAS+oC,wBAAnC,EAA4D,MAAM,IAAIpvC,uDAAJ,CAAMqpC,EAAN,EAAS,4DAAT,CAAN;AAA6E,YAAM3pC,CAAC,SAAO,qJAAd;AAA4D,aAAOP,CAAC,CAACowC,iBAAF,CAAoB7vC,CAAC,CAACgI,OAAF,CAAUgX,IAAV,CAAexf,CAAf,CAApB,EAAsCE,CAAtC,CAAP;AAAvP;AAAuS;;AAAMowC,EAAAA,sBAAsB,CAACtwC,CAAD,EAAGE,CAAH,EAAK;AAAA;;AAAA;AAAC,YAAK;AAACmK,QAAAA,MAAM,EAACpK,CAAR;AAAU8sC,QAAAA,YAAY,EAACrsC;AAAvB,gBAAgC,OAAI,CAACwE,IAAL,EAArC;AAAiD,UAAG,CAACjF,CAAC,CAACswC,eAAH,IAAoB,CAAC7vC,CAAC,EAAEyG,KAAH,EAAU+oC,wBAAlC,EAA2D,MAAM,IAAIpvC,uDAAJ,CAAMqpC,EAAN,EAAS,0DAAT,CAAN;AAA2E,YAAM3pC,CAAC,SAAO,qJAAd;AAA4D,aAAOP,CAAC,CAACswC,eAAF,CAAkB/vC,CAAC,CAACgI,OAAF,CAAUgX,IAAV,CAAexf,CAAf,CAAlB,EAAoCE,CAApC,CAAP;AAApP;AAAkS;;AAAMswC,EAAAA,oBAAoB,CAACxwC,CAAD,EAAGE,CAAH,EAAK;AAAA;;AAAA;AAAC,YAAK;AAACmK,QAAAA,MAAM,EAACpK,CAAR;AAAU8sC,QAAAA,YAAY,EAACrsC;AAAvB,gBAAgC,OAAI,CAACwE,IAAL,EAArC;AAAiD,UAAG,CAACjF,CAAC,CAACwwC,aAAH,IAAkB,CAAC/vC,CAAC,EAAEyG,KAAH,EAAU+oC,wBAAhC,EAAyD,MAAM,IAAIpvC,uDAAJ,CAAMqpC,EAAN,EAAS,4DAAT,CAAN;AAA6E,YAAM3pC,CAAC,SAAO,qJAAd;AAA4D,aAAOP,CAAC,CAACwwC,aAAF,CAAgBjwC,CAAC,CAACgI,OAAF,CAAUgX,IAAV,CAAexf,CAAf,CAAhB,EAAkCE,CAAlC,CAAP;AAApP;AAAgS;;AAAA+D,EAAAA,IAAI,CAACjE,CAAD,EAAGE,CAAH,EAAK;AAAC,UAAMD,CAAC,GAACD,CAAC,CAAC0wC,iBAAV;;AAA4B,QAAG,CAACzwC,CAAC,IAAE,yBAAuBD,CAAC,CAACuD,IAA7B,MAAqC,KAAKS,YAAL,GAAkBhE,CAAvD,GAA0DC,CAA7D,EAA+D;AAAC,YAAMD,CAAC,GAACC,CAAC,CAACkJ,MAAV;AAAiBnJ,MAAAA,CAAC,IAAE,MAAIA,CAAC,CAAC6N,MAAT,KAAkB,MAAM5J,IAAN,CAAWjE,CAAC,CAAC,CAAD,CAAZ,EAAgBE,CAAhB,GAAmB,QAAMD,CAAC,CAAC0wC,UAAR,IAAoB,MAAM1sC,IAAN,CAAW;AAAC0sC,QAAAA,UAAU,EAAC1wC,CAAC,CAAC0wC;AAAd,OAAX,EAAqCzwC,CAArC,CAAzD;AAAkG;;AAAA,UAAM+D,IAAN,CAAWjE,CAAX,EAAaE,CAAb,GAAgBA,CAAC,IAAE,cAAYA,CAAC,CAAC0F,MAAjB,KAA0B,KAAKgrC,MAAL,CAAY,CAAC,eAAD,EAAiB,QAAjB,EAA0B,UAA1B,EAAqC,oBAArC,CAAZ,EAAuE,SAAvE,GAAkF,KAAKhuC,gBAAL,IAAuB,KAAKguC,MAAL,CAAY,CAAC,kBAAD,CAAZ,EAAiC,SAAjC,CAAnI,CAAhB;AAAgM;;AAAAjrC,EAAAA,KAAK,CAAC3F,CAAD,EAAGE,CAAH,EAAK;AAACA,IAAAA,CAAC,GAAC,EAAC,GAAGA,CAAJ;AAAM0F,MAAAA,MAAM,EAAC1F,CAAC,EAAE0F,MAAH,IAAW,KAAK,CAA7B;AAA+B4kC,MAAAA,gBAAgB,EAACtqC,CAAC,EAAEsqC,gBAAH,IAAqB,KAAKyB,gBAAL;AAArE,KAAF;AAAgG,UAAK;AAACrmC,MAAAA,MAAM,EAAC3F,CAAR;AAAUyE,MAAAA,kBAAkB,EAAChE,CAA7B;AAA+B4I,MAAAA,QAAQ,EAAC9I;AAAxC,QAA2CN,CAAhD;AAAkD,QAAG,KAAK2qC,iBAAR,EAA0B,OAAOrqC,CAAC,EAAEsE,IAAH,CAAQslC,EAAE,CAAC,IAAD,EAAM,iGAAN,CAAV,GAAoH,IAA3H;;AAAgI,QAAG,KAAKc,OAAR,EAAgB;AAAC,UAAG,CAAC,cAAYjrC,CAAZ,IAAe,gBAAcA,CAA9B,KAAkC,aAAWS,CAAhD,EAAkD,OAAOF,CAAC,EAAEsE,IAAH,CAAQslC,EAAE,CAAC,IAAD,EAAO,qDAAoD1pC,CAAE,EAA7D,CAAV,GAA2E,IAAlF;AAAuF,UAAG,KAAKurC,gBAAL,EAAH,EAA2B,OAAOzrC,CAAC,EAAEsE,IAAH,CAAQslC,EAAE,CAAC,IAAD,EAAM,8EAAN,CAAV,GAAiG,IAAxG;AAA6G,KAAlS,MAAuS,IAAG,KAAK5kC,MAAL,KAAc,cAAYvF,CAAZ,IAAe,gBAAcA,CAA3C,KAA+C,aAAWS,CAA7D,EAA+D,OAAOF,CAAC,EAAEsE,IAAH,CAAQslC,EAAE,CAAC,IAAD,EAAM,gFAAN,CAAV,GAAmG,IAA1G;;AAA+G,WAAO,MAAMzkC,KAAN,CAAY3F,CAAZ,EAAcE,CAAd,CAAP;AAAwB;;AAAAO,EAAAA,KAAK,GAAE;AAAC,QAAG,KAAKwrC,gBAAL,EAAH,EAA2B,MAAM,IAAInrC,uDAAJ,CAAMqpC,EAAN,EAAU,wBAAuB,KAAKpnC,KAAM,SAAQ,KAAKL,EAAG,mDAA5D,CAAN;AAAsH,WAAO,MAAMjC,KAAN,EAAP;AAAqB;;AAAA4oC,EAAAA,+BAA+B,CAACrpC,CAAD,EAAG;AAAC,WAAM,CAAC,CAAC,KAAKwF,MAAP,KAAgB,aAAW,KAAK6E,MAAL,EAAa9G,IAAxB,IAA8B+lC,0FAAE,CAAC,IAAD,EAAMtpC,CAAN,CAAhD,CAAN;AAAgE;;AAAM6T,EAAAA,IAAI,CAAC7T,CAAD,EAAG;AAAA;;AAAA;AAAC,aAAO,OAAI,CAAC4T,wBAAL,CAA8Bq2B,0EAA9B,EAAsCjqC,CAAtC,CAAP;AAAD;AAAiD;;AAAM8T,EAAAA,MAAM,CAAC9T,CAAD,EAAGE,CAAH,EAAK;AAAA;;AAAA;AAAC,aAAO,OAAI,CAAC0T,wBAAL,CAA8Bq2B,6EAA9B,EAAyC/pC,CAAzC,EAA2CF,CAA3C,CAAP;AAAD;AAAsD;;AAAAqtC,EAAAA,mBAAmB,CAACrtC,CAAD,EAAGE,CAAH,EAAKD,CAAL,EAAO;AAAC,QAAIS,CAAC,GAACV,CAAC,CAAC2sC,eAAF,EAAmBI,YAAzB;AAAsC,WAAOrsC,CAAC,GAAC,KAAKmwC,qBAAL,CAA2BnwC,CAA3B,CAAD,IAAgCA,CAAC,GAACV,CAAC,CAAC+sC,YAAJ,EAAiB7sC,CAAC,IAAE,cAAYD,CAAC,EAAE2F,MAAlB,IAA0B,CAAC,KAAKqmC,gBAAL,EAA3B,IAAoDvrC,CAApD,GAAsD,KAAKmwC,qBAAL,CAA2BnwC,CAA3B,CAAtD,GAAoF,KAAK,CAA1I,CAAR;AAAqJ;;AAAAmwC,EAAAA,qBAAqB,CAAC7wC,CAAD,EAAG;AAAC,WAAOA,CAAC,CAAC4P,WAAF,GAAgBY,KAAhB,CAAsB,GAAtB,EAA2BjL,GAA3B,CAAgCvF,CAAC,IAAEA,CAAC,CAACyoB,IAAF,EAAnC,EAA8CqJ,QAA9C,CAAuD,SAAvD,CAAP;AAAyE;;AAAA0b,EAAAA,oBAAoB,CAACxtC,CAAD,EAAGE,CAAH,EAAKD,CAAL,EAAOS,CAAP,EAAS;AAAC,QAAG,CAACV,CAAJ,EAAM;AAAC,YAAMA,CAAC,GAAC,KAAK+sC,YAAL,EAAmBC,UAAnB,EAA+B8D,YAA/B,GAA4C,YAA5C,GAAyD,OAAjE;AAAyE9vC,MAAAA,8DAAC,CAAC,8BAAD,EAAgChB,CAAhC,EAAkCE,CAAlC,CAAD,EAAsCD,CAAC,IAAE,CAACS,CAAC,EAAE8pC,gBAAP,KAA0BtqC,CAAC,CAAC6sC,YAAF,GAAe/sC,CAAzC,CAAtC;AAAkF;AAAC;;AAAA6vC,EAAAA,eAAe,CAAC7vC,CAAD,EAAG;AAAC,UAAME,CAAC,GAAC,KAAK4kB,WAAL,CAAiBhL,GAAjB,CAAqB9Z,CAArB,CAAR;AAAgC,WAAOE,CAAC,GAACA,CAAC,CAAC6wC,MAAH,GAAU,IAAlB;AAAuB;;AAAA/E,EAAAA,uBAAuB,CAAChsC,CAAD,EAAG;AAAC,WAAOI,wDAAC,CAAC,KAAKyF,GAAL,IAAU,EAAX,EAAc;AAACsB,MAAAA,KAAK,EAAC;AAACvF,QAAAA,CAAC,EAAC,MAAH;AAAU,WAAG,KAAKovC,gBAAlB;AAAmCxpC,QAAAA,KAAK,EAAC,KAAKC;AAA9C,OAAP;AAA6DyW,MAAAA,YAAY,EAAC,MAA1E;AAAiFxW,MAAAA,MAAM,EAAC1H;AAAxF,KAAd,CAAD,CAA2GgG,IAA3G,CAAiHhG,CAAC,IAAE;AAAC,YAAME,CAAC,GAACF,CAAC,CAACkE,IAAV;AAAe,UAAGhE,CAAH,EAAK,OAAO,KAAK+wC,qBAAL,CAA2B/wC,CAA3B,CAAP;AAAqC,KAA9K,CAAP;AAAwL;;AAAM2rC,EAAAA,mBAAmB,CAAC7rC,CAAD,EAAG;AAAA;;AAAA;AAAC,aAAO,OAAI,CAACuE,IAAL,CAAU,QAAV,EAAmBvE,CAAnB,GAAsBA,CAAC,CAACkxC,UAAF,KAAe,OAAI,CAACA,UAAL,GAAgBlxC,CAAC,CAACkxC,UAAlB,EAA6B,OAAI,CAACjtC,IAAL,CAAUjE,CAAC,CAACkxC,UAAZ,EAAuB;AAACtrC,QAAAA,MAAM,EAAC,SAAR;AAAkBjD,QAAAA,UAAU,EAAC,OAAI,CAACA,UAAlC;AAA6CyD,QAAAA,MAAM,EAAC,OAAI,CAACzD,UAAL,EAAiByD,MAArE;AAA4EP,QAAAA,GAAG,EAAC,OAAI,CAACgoC;AAArF,OAAvB,CAA5C,CAAtB,EAA2L,OAAI,CAACsD,aAAL,EAA3L,EAAgN,OAAI,CAACC,aAAL,EAAhN,EAAqOvI,0EAAE,CAAC,OAAI,CAACwD,QAAN,EAAe,OAAI,CAACvnB,WAApB,CAAvO,EAAwQikB,0EAAE,CAAC,OAAI,CAAC0C,QAAN,EAAe,OAAI,CAAC3mB,WAApB,CAA1Q,EAA2S4kB,oFAAE,CAAC,OAAD,EAAM;AAAC9jC,QAAAA,MAAM,EAAC;AAAR,OAAN,CAApT;AAAD;AAA+U;;AAAMwiC,EAAAA,cAAc,GAAE;AAAA;;AAAA;AAAC,aAAOC,8EAAE,CAAC,OAAD,CAAT;AAAD;AAAiB;;AAAMgJ,EAAAA,qBAAqB,GAAE;AAAA;;AAAA;AAAC,YAAMrxC,CAAC,GAAC,OAAI,CAACqK,MAAb;AAAoB,aAAOrK,CAAC,EAAEqxC,qBAAH,GAAyBrxC,CAAC,CAACqxC,qBAAF,EAAzB,GAAmD,aAA1D;AAArB;AAA6F;;AAAAD,EAAAA,aAAa,GAAE;AAAC,UAAMpxC,CAAC,GAAC,KAAK6tC,SAAL,EAAgBpoB,IAAhB,IAAsB,WAA9B;AAA0C,SAAK2lB,aAAL,IAAoBkG,OAAO,CAAC/d,GAAR,CAAY,iEAA+DvzB,CAA/D,GAAiE,GAA7E,CAApB,EAAsG,KAAKkrC,OAAL,IAAc,KAAKe,gBAAL,EAAd,IAAuC,CAAC,CAAD,KAAKjsC,CAAC,CAACsX,MAAF,CAAS,oBAAT,CAA5C,IAA4E,KAAK/K,MAAL,EAAaiL,IAAb,CAAmBxX,CAAC,IAAE,eAAaA,CAAC,CAACuD,IAArC,CAA5E,IAAyH+tC,OAAO,CAAC/d,GAAR,CAAY,mKAAiKvzB,CAAjK,GAAmK,GAA/K,CAA/N;AAAmZ;;AAAA4uC,EAAAA,aAAa,CAAC5uC,CAAD,EAAGE,CAAH,EAAK;AAACF,IAAAA,CAAC,IAAEA,CAAC,CAAC2E,OAAF,CAAW3E,CAAC,IAAE;AAAC,YAAMC,CAAC,GAACD,CAAC,CAACmI,SAAF,EAAaopC,UAArB;AAAgCtxC,MAAAA,CAAC,IAAEC,CAAH,IAAM,OAAOD,CAAC,CAACC,CAAD,CAAd;AAAkB,KAAjE,CAAH;AAAuE;;AAAAixC,EAAAA,aAAa,GAAE;AAAC,QAAG,KAAKlF,gBAAL,EAAH,EAA2B;AAAC,UAAG,KAAKpmC,GAAR,EAAY,MAAM,IAAI/E,uDAAJ,CAAM,oCAAN,EAA2C,wEAA3C,CAAN;AAA2H,KAAnK,MAAwK,IAAG,CAAC,KAAK+E,GAAT,EAAa,MAAM,IAAI/E,uDAAJ,CAAM,sCAAN,EAA6C,qEAA7C,CAAN;AAA0H;;AAAAqtC,EAAAA,iBAAiB,CAACnuC,CAAD,EAAG;AAACA,IAAAA,CAAC,CAAC2E,OAAF,CAAW3E,CAAC,IAAE;AAACA,MAAAA,CAAC,CAACwJ,KAAF,GAAQ,IAAR,EAAaxJ,CAAC,CAACgwC,WAAF,GAAc,IAA3B;AAAgC,KAA/C,GAAkD,KAAKtsC,UAAL,CAAgB,CAAC1D,CAAC,CAAC2D,EAAF,CAAK,WAAL,EAAkB3D,CAAC,IAAE;AAACA,MAAAA,CAAC,CAAC4D,IAAF,CAAO4F,KAAP,GAAa,IAAb,EAAkBxJ,CAAC,CAAC4D,IAAF,CAAOosC,WAAP,GAAmB,IAArC;AAA0C,KAAhE,CAAD,EAAoEhwC,CAAC,CAAC2D,EAAF,CAAK,cAAL,EAAqB3D,CAAC,IAAE;AAACA,MAAAA,CAAC,CAAC4D,IAAF,CAAO4F,KAAP,GAAa,IAAb,EAAkBxJ,CAAC,CAAC4D,IAAF,CAAOosC,WAAP,GAAmB,IAArC;AAA0C,KAAnE,CAApE,CAAhB,EAA2J,WAA3J,CAAlD;AAA0N;;AAAA9B,EAAAA,kBAAkB,CAACluC,CAAD,EAAG;AAACA,IAAAA,CAAC,CAAC2E,OAAF,CAAW3E,CAAC,IAAE;AAACA,MAAAA,CAAC,CAACwJ,KAAF,GAAQ,IAAR,EAAaxJ,CAAC,CAACgwC,WAAF,GAAc,IAA3B;AAAgC,KAA/C,GAAkD,KAAKxyB,aAAL,CAAmB,WAAnB,CAAlD;AAAkF;;AAAAyuB,EAAAA,gBAAgB,GAAE;AAAC,WAAM,EAAE,KAAKpmC,GAAL,IAAU,CAAC,KAAKwE,MAAlB,CAAN;AAAgC;;AAAA4mC,EAAAA,qBAAqB,CAACjxC,CAAD,EAAG;AAAC,WAAOuG,KAAK,CAACC,OAAN,CAAcxG,CAAC,CAACmJ,MAAhB,KAAyBnJ,CAAC,CAACmJ,MAAF,CAAS0E,MAAT,GAAgB,CAAzC,GAA2C7N,CAAC,CAACmJ,MAAF,CAAS,CAAT,EAAYzG,EAAvD,GAA0D6D,KAAK,CAACC,OAAN,CAAcxG,CAAC,CAACkW,MAAhB,KAAyBlW,CAAC,CAACkW,MAAF,CAASrI,MAAT,GAAgB,CAAzC,GAA2C7N,CAAC,CAACkW,MAAF,CAAS,CAAT,EAAYxT,EAAvD,GAA0D,KAAK,CAAhI;AAAkI;;AAAprb,CAA1E;AAAgwb1C,uDAAC,CAAC,CAACsC,uFAAC,CAAC4J,iFAAD,CAAF,CAAD,EAAQu+B,EAAE,CAACtiC,SAAX,EAAqB,wBAArB,EAA8C,KAAK,CAAnD,CAAD,EAAuDnI,uDAAC,CAAC,CAACuI,mFAAC,CAAC,SAAD,EAAW,cAAX,CAAF,CAAD,EAA+BkiC,EAAE,CAACtiC,SAAlC,EAA4C,kBAA5C,EAA+D,IAA/D,CAAxD,EAA6HnI,uDAAC,CAAC,CAACsC,uFAAC,CAAC;AAACyF,EAAAA,IAAI,EAAC;AAACG,IAAAA,OAAO,EAAC;AAAC,mBAAY;AAACvC,QAAAA,KAAK,EAAC,CAAC;AAAR;AAAb,KAAT;AAAkCA,IAAAA,KAAK,EAAC,CAAC;AAAzC;AAAN,CAAD,CAAF,CAAD,EAAyD8kC,EAAE,CAACtiC,SAA5D,EAAsE,QAAtE,EAA+E,KAAK,CAApF,CAA9H,EAAqNnI,uDAAC,CAAC,CAACsC,uFAAC,CAAC;AAAC+F,EAAAA,QAAQ,EAAC,CAAC;AAAX,CAAD,CAAF,CAAD,EAAoBoiC,EAAE,CAACtiC,SAAvB,EAAiC,oBAAjC,EAAsD,IAAtD,CAAtN,EAAkRnI,uDAAC,CAAC,CAACsC,uFAAC,CAAC;AAACyF,EAAAA,IAAI,EAAC;AAAC9D,IAAAA,IAAI,EAAC;AAACoG,MAAAA,MAAM,EAAC;AAAR;AAAN;AAAN,CAAD,CAAF,CAAD,EAA6DogC,EAAE,CAACtiC,SAAhE,EAA0E,WAA1E,EAAsF,KAAK,CAA3F,CAAnR,EAAiXnI,uDAAC,CAAC,CAACsC,uFAAC,CAAC;AAACyF,EAAAA,IAAI,EAAC;AAAC9D,IAAAA,IAAI,EAAC;AAACoG,MAAAA,MAAM,EAAC;AAAR;AAAN;AAAN,CAAD,CAAF,CAAD,EAA4DogC,EAAE,CAACtiC,SAA/D,EAAyE,cAAzE,EAAwF,KAAK,CAA7F,CAAlX,EAAkdnI,uDAAC,CAAC,CAACsC,uFAAC,CAAC;AAAC4I,EAAAA,KAAK,EAAC5K,qDAAP;AAAS+H,EAAAA,QAAQ,EAAC,CAAC;AAAnB,CAAD,CAAF,CAAD,EAA4BoiC,EAAE,CAACtiC,SAA/B,EAAyC,eAAzC,EAAyD,KAAK,CAA9D,CAAnd,EAAohBnI,uDAAC,CAAC,CAACsC,uFAAC,CAAC;AAACiB,EAAAA,IAAI,EAACimC,gFAAEA;AAAR,CAAD,CAAF,CAAD,EAAgBiB,EAAE,CAACtiC,SAAnB,EAA6B,mBAA7B,EAAiD,KAAK,CAAtD,CAArhB,EAA8kBnI,uDAAC,CAAC,CAACsC,uFAAC,CAAC;AAACiB,EAAAA,IAAI,EAACgL;AAAN,CAAD,CAAF,CAAD,EAAqBk8B,EAAE,CAACtiC,SAAxB,EAAkC,gBAAlC,EAAmD,IAAnD,CAA/kB,EAAwoBnI,uDAAC,CAAC,CAACuI,mFAAC,CAAC,CAAC,aAAD,EAAe,WAAf,CAAD,EAA6B,gBAA7B,EAA8C,CAAC,8BAAD,CAA9C,CAAF,CAAD,EAAoFkiC,EAAE,CAACtiC,SAAvF,EAAiG,oBAAjG,EAAsH,IAAtH,CAAzoB,EAAqwBnI,uDAAC,CAAC,CAACuI,mFAAC,CAAC,SAAD,EAAW,gBAAX,EAA4B,CAAC,cAAD,EAAgB,8BAAhB,CAA5B,CAAF,CAAD,EAAiFkiC,EAAE,CAACtiC,SAApF,EAA8F,8BAA9F,EAA6H,IAA7H,CAAtwB,EAAy4BnI,uDAAC,CAAC,CAACmC,mFAAC,CAAC,CAAC,aAAD,EAAe,WAAf,CAAD,EAA6B,gBAA7B,EAA8C;AAAC,kCAA+B;AAACoB,IAAAA,IAAI,EAAC6E;AAAN;AAAhC,CAA9C,CAAF,CAAD,EAAkGqiC,EAAE,CAACtiC,SAArG,EAA+G,qBAA/G,EAAqI,IAArI,CAA14B,EAAqhCnI,uDAAC,CAAC,CAACmC,mFAAC,CAAC,SAAD,EAAW,gBAAX,EAA4B;AAAC4qC,EAAAA,YAAY,EAAC;AAACxpC,IAAAA,IAAI,EAAC6E;AAAN,GAAd;AAA4B,kCAA+B;AAAC7E,IAAAA,IAAI,EAAC6E;AAAN;AAA3D,CAA5B,CAAF,CAAD,EAA2GqiC,EAAE,CAACtiC,SAA9G,EAAwH,6BAAxH,EAAsJ,IAAtJ,CAAthC,EAAkrCnI,uDAAC,CAAC,CAACsC,uFAAC,CAAC;AAAC+F,EAAAA,QAAQ,EAAC,CAAC;AAAX,CAAD,CAAF,CAAD,EAAoBoiC,EAAE,CAACtiC,SAAvB,EAAiC,yBAAjC,EAA2D,IAA3D,CAAnrC,EAAovCnI,uDAAC,CAAC,CAACsC,uFAAC,CAAC,EAAC,GAAGgoC,EAAE,CAAC/9B,MAAP;AAAcxE,EAAAA,IAAI,EAAC;AAAC9D,IAAAA,IAAI,EAAC;AAACoG,MAAAA,MAAM,EAAC;AAAR,KAAN;AAAwCnC,IAAAA,OAAO,EAAC;AAACspC,MAAAA,OAAO,EAAC;AAACp3B,QAAAA,IAAI,EAAC;AAAN,OAAT;AAAyB,iBAAU;AAACzU,QAAAA,KAAK,EAAC;AAACsC,UAAAA,MAAM,EAAC,wBAAR;AAAiCiS,UAAAA,cAAc,EAACqwB;AAAhD;AAAP;AAAnC;AAAhD;AAAnB,CAAD,CAAF,CAAD,EAA2KE,EAAE,CAACtiC,SAA9K,EAAwL,QAAxL,EAAiM,KAAK,CAAtM,CAArvC,EAA87CnI,uDAAC,CAAC,CAACsC,uFAAC,CAACgoC,EAAE,CAACxlB,WAAJ,CAAF,CAAD,EAAqB2lB,EAAE,CAACtiC,SAAxB,EAAkC,aAAlC,EAAgD,KAAK,CAArD,CAA/7C,EAAu/CnI,uDAAC,CAAC,CAACsC,uFAAC,CAAC;AAACiB,EAAAA,IAAI,EAACuc,8DAAN;AAAQ/X,EAAAA,IAAI,EAAC;AAACqS,IAAAA,IAAI,EAAC,UAAN;AAAiBzU,IAAAA,KAAK,EAAC,CAAC,CAAxB;AAA0BuC,IAAAA,OAAO,EAAC;AAAC,mBAAY;AAACjE,QAAAA,IAAI,EAAC,CAAC,CAAP;AAAS0B,QAAAA,KAAK,EAAC,CAAC;AAAhB;AAAb;AAAlC;AAAb,CAAD,CAAF,CAAD,EAAwF8kC,EAAE,CAACtiC,SAA3F,EAAqG,cAArG,EAAoH,KAAK,CAAzH,CAAx/C,EAAonDnI,uDAAC,CAAC,CAACsC,uFAAC,CAAC;AAACyF,EAAAA,IAAI,EAAC;AAAC9D,IAAAA,IAAI,EAAC;AAACoG,MAAAA,MAAM,EAAC;AAAR;AAAN;AAAN,CAAD,CAAF,CAAD,EAAsDogC,EAAE,CAACtiC,SAAzD,EAAmE,YAAnE,EAAgF,KAAK,CAArF,CAArnD,EAA6sDnI,uDAAC,CAAC,CAACsC,uFAAC,CAAC;AAACyF,EAAAA,IAAI,EAAC;AAACG,IAAAA,OAAO,EAAC;AAAC,iBAAU;AAACvC,QAAAA,KAAK,EAAC;AAACsC,UAAAA,MAAM,EAAC,8BAAR;AAAuCiS,UAAAA,cAAc,EAACqwB,EAAtD;;AAAyD5oC,UAAAA,MAAM,CAAC3B,CAAD,EAAGE,CAAH,EAAKD,CAAL,EAAO;AAAC,kBAAMS,CAAC,GAACV,CAAC,GAACuoC,wFAAA,CAAUvoC,CAAV,CAAD,GAAc,IAAvB;AAA4BU,YAAAA,CAAC,IAAEM,8DAAC,CAACf,CAAD,EAAGS,CAAH,EAAKR,CAAL,CAAJ;AAAY;;AAA/G;AAAP;AAAX,KAAT;AAA8I+D,IAAAA,IAAI,EAAC;AAACoG,MAAAA,MAAM,EAAC,8BAAR;AAAuCD,MAAAA,MAAM,EAACm+B,sFAAOtkC;AAArD;AAAnJ;AAAN,CAAD,CAAF,CAAD,EAAwNwmC,EAAE,CAACtiC,SAA3N,EAAqO,cAArO,EAAoP,KAAK,CAAzP,CAA9sD,EAA08DnI,uDAAC,CAAC,CAACsC,uFAAC,CAAC;AAACyF,EAAAA,IAAI,EAAC;AAAC9D,IAAAA,IAAI,EAAC;AAACoG,MAAAA,MAAM,EAAC;AAAR;AAAN;AAAN,CAAD,CAAF,CAAD,EAAoDogC,EAAE,CAACtiC,SAAvD,EAAiE,MAAjE,EAAwE,KAAK,CAA7E,CAA38D,EAA2hEnI,uDAAC,CAAC,CAACsC,uFAAC,CAAC;AAACyF,EAAAA,IAAI,EAAC;AAAC9D,IAAAA,IAAI,EAAC;AAACoG,MAAAA,MAAM,EAAC;AAAR;AAAN;AAAN,CAAD,CAAF,CAAD,EAAoDogC,EAAE,CAACtiC,SAAvD,EAAiE,MAAjE,EAAwE,KAAK,CAA7E,CAA5hE,EAA4mEnI,uDAAC,CAAC,CAACsC,uFAAC,CAAC+kB,6DAAD,CAAF,CAAD,EAAQojB,EAAE,CAACtiC,SAAX,EAAqB,IAArB,EAA0B,KAAK,CAA/B,CAA7mE,EAA+oEnI,uDAAC,CAAC,CAACsC,uFAAC,CAAC;AAAC+F,EAAAA,QAAQ,EAAC,CAAC,CAAX;AAAaN,EAAAA,IAAI,EAAC;AAACG,IAAAA,OAAO,EAAC;AAACspC,MAAAA,OAAO,EAAC;AAACvtC,QAAAA,IAAI,EAAC,CAAC;AAAP;AAAT,KAAT;AAA6BA,IAAAA,IAAI,EAAC,CAAC;AAAnC;AAAlB,CAAD,CAAF,CAAD,EAA+DwmC,EAAE,CAACtiC,SAAlE,EAA4E,WAA5E,EAAwF,KAAK,CAA7F,CAAhpE,EAAgvEnI,uDAAC,CAAC,CAACsC,uFAAC,CAAC;AAACyF,EAAAA,IAAI,EAAC;AAACG,IAAAA,OAAO,EAAC;AAAC,iBAAU;AAACvC,QAAAA,KAAK,EAAC;AAACsC,UAAAA,MAAM,EAAC;AAAR;AAAP;AAAX;AAAT;AAAN,CAAD,CAAF,CAAD,EAA2EwiC,EAAE,CAACtiC,SAA9E,EAAwF,SAAxF,EAAkG,KAAK,CAAvG,CAAjvE,EAA21EnI,uDAAC,CAAC,CAACuI,mFAAC,CAAC,SAAD,EAAW,SAAX,EAAqB,CAAC,MAAD,EAAQ,cAAR,CAArB,CAAF,EAAgDA,mFAAC,CAAC,SAAD,EAAW,CAAC,sBAAD,EAAwB,8BAAxB,CAAX,CAAjD,CAAD,EAAuHkiC,EAAE,CAACtiC,SAA1H,EAAoI,aAApI,EAAkJ,IAAlJ,CAA51E,EAAo/EnI,uDAAC,CAAC,CAACmC,mFAAC,CAAC,SAAD,EAAW,SAAX,CAAF,CAAD,EAA0BsoC,EAAE,CAACtiC,SAA7B,EAAuC,cAAvC,EAAsD,IAAtD,CAAr/E,EAAijFnI,uDAAC,CAAC,CAACsC,uFAAC,CAACilB,wEAAD,CAAF,CAAD,EAAQkjB,EAAE,CAACtiC,SAAX,EAAqB,eAArB,EAAqC,KAAK,CAA1C,CAAljF,EAA+lFnI,uDAAC,CAAC,CAACsC,uFAAC,CAAC;AAACiB,EAAAA,IAAI,EAAC,CAACylC,+DAAD,CAAN;AAAWjhC,EAAAA,IAAI,EAAC;AAACG,IAAAA,OAAO,EAAC;AAACspC,MAAAA,OAAO,EAAC;AAACp3B,QAAAA,IAAI,EAAC,0BAAN;AAAiCnW,QAAAA,IAAI,EAACglC,6DAAtC;AAAyCtjC,QAAAA,KAAK,EAAC,CAAC;AAAhD,OAAT;AAA4D,mBAAY;AAACyU,QAAAA,IAAI,EAAC,0CAAN;AAAiDnW,QAAAA,IAAI,EAACglC,6DAAtD;AAAyDtjC,QAAAA,KAAK,EAAC;AAACwU,UAAAA,OAAO,EAAC,CAAC,CAAV;AAAYs3B,UAAAA,mBAAmB,EAACpmC,uFAACA;AAAjC;AAA/D;AAAxE,KAAT;AAAqL+O,IAAAA,IAAI,EAAC,0CAA1L;AAAqOnW,IAAAA,IAAI,EAACglC,6DAA1O;AAA6OtjC,IAAAA,KAAK,EAAC,CAAC;AAApP;AAAhB,CAAD,CAAF,CAAD,EAA8Q8kC,EAAE,CAACtiC,SAAjR,EAA2R,cAA3R,EAA0S,KAAK,CAA/S,CAAhmF,EAAk5FnI,uDAAC,CAAC,CAACsC,uFAAC,CAAC,CAAC,MAAI;AAAC,QAAMtC,CAAC,GAACwB,qDAAC,CAAC0mB,6EAAD,CAAT;AAAa,SAAOloB,CAAC,CAAC+H,IAAF,CAAOG,OAAP,CAAe,aAAf,IAA8B;AAACvC,IAAAA,KAAK,EAAC;AAACsC,MAAAA,MAAM,EAAC,0CAAR;;AAAmDtG,MAAAA,MAAM,CAAC3B,CAAD,EAAGE,CAAH,EAAKD,CAAL,EAAO;AAACe,QAAAA,8DAAC,CAACf,CAAD,EAAGiqC,uFAAE,CAAClqC,CAAD,CAAL,EAASE,CAAT,CAAD;AAAa;;AAA9E;AAAP,GAA9B,EAAsHF,CAA7H;AAA+H,CAAlJ,GAAD,CAAF,CAAD,EAA4JyqC,EAAE,CAACtiC,SAA/J,EAAyK,SAAzK,EAAmL,KAAK,CAAxL,CAAn5F,EAA8kGnI,uDAAC,CAAC,CAACsC,uFAAC,CAACslB,wEAAD,CAAF,CAAD,EAAQ6iB,EAAE,CAACtiC,SAAX,EAAqB,eAArB,EAAqC,KAAK,CAA1C,CAA/kG,EAA4nGnI,uDAAC,CAAC,CAACsC,uFAAC,CAAC;AAACiB,EAAAA,IAAI,EAAC,CAAC,MAAD,EAAQ,MAAR,CAAN;AAAsBwE,EAAAA,IAAI,EAAC,CAAC,MAAI;AAAC,UAAM/H,CAAC,GAACwB,qDAAC,CAAC2jC,wEAAD,CAAT;AAAmB,WAAOnlC,CAAC,CAACkI,OAAF,CAAU,aAAV,IAAyB;AAACjE,MAAAA,IAAI,EAAC,CAAC,CAAP;AAAS0B,MAAAA,KAAK,EAAC,CAAC;AAAhB,KAAzB,EAA4C3F,CAAnD;AAAqD,GAA9E;AAA3B,CAAD,CAAF,CAAD,EAAoHyqC,EAAE,CAACtiC,SAAvH,EAAiI,UAAjI,EAA4I,KAAK,CAAjJ,CAA7nG,EAAixGnI,uDAAC,CAAC,CAACuI,mFAAC,CAAC,eAAD,EAAiB,CAAC,+BAAD,EAAiC,wBAAjC,CAAjB,CAAF,CAAD,EAAiFkiC,EAAE,CAACtiC,SAApF,EAA8F,mBAA9F,EAAkH,IAAlH,CAAlxG,EAA04GnI,uDAAC,CAAC,CAACsC,uFAAC,CAAC;AAACyF,EAAAA,IAAI,EAAC;AAACG,IAAAA,OAAO,EAAC;AAAC,iBAAU;AAACvC,QAAAA,KAAK,EAAC;AAACsC,UAAAA,MAAM,EAAC,+BAAR;AAAwCiS,UAAAA,cAAc,EAACqwB;AAAvD;AAAP;AAAX;AAAT;AAAN,CAAD,CAAF,CAAD,EAAsGE,EAAE,CAACtiC,SAAzG,EAAmH,eAAnH,EAAmI,KAAK,CAAxI,CAA34G,EAAshHnI,uDAAC,CAAC,CAACuI,mFAAC,CAAC,eAAD,EAAiB,CAAC,+BAAD,EAAiC,wBAAjC,CAAjB,CAAF,CAAD,EAAiFkiC,EAAE,CAACtiC,SAApF,EAA8F,mBAA9F,EAAkH,IAAlH,CAAvhH,EAA+oHnI,uDAAC,CAAC,CAACsC,uFAAC,CAAC;AAACoL,EAAAA,KAAK,EAAC,oBAAP;AAA4BnK,EAAAA,IAAI,EAAC,CAAC,oBAAD;AAAjC,CAAD,CAAF,CAAD,EAA+DknC,EAAE,CAACtiC,SAAlE,EAA4E,sBAA5E,EAAmG,KAAK,CAAxG,CAAhpH,EAA2vHnI,uDAAC,CAAC,CAACsC,uFAAC,CAACgoC,EAAE,CAACj9B,SAAJ,CAAF,CAAD,EAAmBo9B,EAAE,CAACtiC,SAAtB,EAAgC,WAAhC,EAA4C,KAAK,CAAjD,CAA5vH,EAAgzHnI,uDAAC,CAAC,CAACsC,uFAAC,CAAC;AAAC+F,EAAAA,QAAQ,EAAC,CAAC;AAAX,CAAD,CAAF,CAAD,EAAoBoiC,EAAE,CAACtiC,SAAvB,EAAiC,WAAjC,EAA6C,IAA7C,CAAjzH,EAAo2HnI,uDAAC,CAAC,CAACsC,uFAAC,CAAC;AAACiB,EAAAA,IAAI,EAAC6E,MAAN;AAAaL,EAAAA,IAAI,EAAC;AAACG,IAAAA,OAAO,EAAC;AAAC,mBAAY;AAACjE,QAAAA,IAAI,EAAC,CAAC,CAAP;AAAS0B,QAAAA,KAAK,EAAC,CAAC;AAAhB;AAAb,KAAT;AAA0C1B,IAAAA,IAAI,EAAC,CAAC;AAAhD;AAAlB,CAAD,CAAF,CAAD,EAA4EwmC,EAAE,CAACtiC,SAA/E,EAAyF,MAAzF,EAAgG,KAAK,CAArG,CAAr2H,EAA68HnI,uDAAC,CAAC,CAACsC,uFAAC,CAAC+iC,uEAAD,CAAF,CAAD,EAASoF,EAAE,CAACtiC,SAAZ,EAAsB,cAAtB,EAAqC,KAAK,CAA1C,CAA98H,EAA2/HnI,uDAAC,CAAC,CAACsC,uFAAC,CAAC;AAACiB,EAAAA,IAAI,EAACrD,yDAAN;AAAQ6H,EAAAA,IAAI,EAAC;AAACqS,IAAAA,IAAI,EAAC,WAAN;AAAkBzU,IAAAA,KAAK,EAAC,CAAC;AAAzB;AAAb,CAAD,CAAF,CAAD,EAAgD8kC,EAAE,CAACtiC,SAAnD,EAA6D,eAA7D,EAA6E,KAAK,CAAlF,CAA5/H,EAAilInI,uDAAC,CAAC,CAACsC,uFAAC,CAAC;AAAC+F,EAAAA,QAAQ,EAAC,CAAC;AAAX,CAAD,CAAF,CAAD,EAAoBoiC,EAAE,CAACtiC,SAAvB,EAAiC,sBAAjC,EAAwD,IAAxD,CAAllI,EAAgpInI,uDAAC,CAAC,CAACsC,uFAAC,CAAC;AAAC4I,EAAAA,KAAK,EAACxK,uEAAP;AAASqH,EAAAA,IAAI,EAAC;AAACG,IAAAA,OAAO,EAAC;AAACspC,MAAAA,OAAO,EAAC;AAAC7rC,QAAAA,KAAK,EAAC;AAACsC,UAAAA,MAAM,EAAC,sBAAR;AAA+BkS,UAAAA,OAAO,EAAC,CAAC;AAAxC;AAAP,OAAT;AAA4D,mBAAY;AAACjP,QAAAA,KAAK,EAAC1K,+EAAP;AAAS4Z,QAAAA,IAAI,EAAC,sCAAd;AAAqDzU,QAAAA,KAAK,EAAC;AAAC8rC,UAAAA,mBAAmB,EAACpmC,uFAArB;AAAuB6O,UAAAA,cAAc,EAAC,CAACla,CAAD,EAAGE,CAAH,EAAKD,CAAL,MAAU;AAAC+H,YAAAA,YAAY,EAAC/H,CAAC,EAAEuqC;AAAjB,WAAV;AAAtC;AAA3D;AAAxE,KAAT;AAAmO7kC,IAAAA,KAAK,EAAC;AAACsC,MAAAA,MAAM,EAAC,sCAAR;AAA+CiS,MAAAA,cAAc,EAAC,CAACla,CAAD,EAAGE,CAAH,EAAKD,CAAL,MAAU;AAAC+H,QAAAA,YAAY,EAAC/H,CAAC,EAAEuqC;AAAjB,OAAV;AAA9D;AAAzO;AAAd,CAAD,CAAF,CAAD,EAA4WC,EAAE,CAACtiC,SAA/W,EAAyX,UAAzX,EAAoY,IAApY,CAAjpI,EAA2hJnI,uDAAC,CAAC,CAACuI,mFAAC,CAAC,SAAD,EAAW,UAAX,EAAsB,CAAC,sBAAD,EAAwB,eAAxB,CAAtB,CAAF,EAAkEA,mFAAC,CAAC,UAAD,EAAY,CAAC,sCAAD,EAAwC,+BAAxC,CAAZ,CAAnE,CAAD,EAA2JkiC,EAAE,CAACtiC,SAA9J,EAAwK,cAAxK,EAAuL,IAAvL,CAA5hJ,EAAytJnI,uDAAC,CAAC,CAACsC,uFAAC,EAAF,CAAD,EAAOmoC,EAAE,CAACtiC,SAAV,EAAoB,cAApB,EAAmC,KAAK,CAAxC,CAA1tJ,EAAqwJnI,uDAAC,CAAC,CAACsC,uFAAC,CAAC,CAAC,MAAI;AAAC,QAAMtC,CAAC,GAACwB,qDAAC,CAAC+jC,uFAAD,CAAT;AAAc,SAAOvlC,CAAC,CAAC+H,IAAF,CAAOG,OAAP,CAAe,aAAf,IAA8B;AAACjE,IAAAA,IAAI,EAAC,CAAC,CAAP;AAAS0B,IAAAA,KAAK,EAAC,CAAC;AAAhB,GAA9B,EAAiD3F,CAAxD;AAA0D,CAA9E,GAAD,CAAF,CAAD,EAAwFyqC,EAAE,CAACtiC,SAA3F,EAAqG,8BAArG,EAAoI,KAAK,CAAzI,CAAtwJ,EAAk5JnI,uDAAC,CAAC,CAACsC,uFAAC,CAAC;AAACovC,EAAAA,QAAQ,EAAC,CAAC;AAAX,CAAD,CAAF,CAAD,EAAoBjH,EAAE,CAACtiC,SAAvB,EAAiC,QAAjC,EAA0C,IAA1C,CAAn5J,EAAm8JnI,uDAAC,CAAC,CAACoC,+EAAC,CAAC,QAAD,CAAF,CAAD,EAAeqoC,EAAE,CAACtiC,SAAlB,EAA4B,YAA5B,EAAyC,IAAzC,CAAp8J,EAAm/JnI,uDAAC,CAAC,CAACuI,mFAAC,CAAC,aAAD,EAAe,QAAf,EAAwB,CAAC,YAAD,CAAxB,CAAF,EAA0CA,mFAAC,CAAC,SAAD,EAAW,QAAX,EAAoB,CAAC,YAAD,CAApB,CAA3C,CAAD,EAAiFkiC,EAAE,CAACtiC,SAApF,EAA8F,YAA9F,EAA2G,IAA3G,CAAp/J,EAAqmKnI,uDAAC,CAAC,CAACsC,uFAAC,CAAC;AAACyF,EAAAA,IAAI,EAAC;AAAC9D,IAAAA,IAAI,EAAC;AAACoG,MAAAA,MAAM,EAAC;AAAR;AAAN;AAAN,CAAD,CAAF,CAAD,EAAuEogC,EAAE,CAACtiC,SAA1E,EAAoF,kBAApF,EAAuG,KAAK,CAA5G,CAAtmK,EAAqtKnI,uDAAC,CAAC,CAACsC,uFAAC,CAAC;AAACiB,EAAAA,IAAI,EAACwG;AAAN,CAAD,CAAF,CAAD,EAAoB0gC,EAAE,CAACtiC,SAAvB,EAAiC,aAAjC,EAA+C,KAAK,CAApD,CAAttK,EAA6wKnI,uDAAC,CAAC,CAACsC,uFAAC,CAAC;AAACiB,EAAAA,IAAI,EAAC,CAACilC,oEAAD;AAAN,CAAD,CAAF,CAAD,EAAkBiC,EAAE,CAACtiC,SAArB,EAA+B,WAA/B,EAA2C,KAAK,CAAhD,CAA9wK,EAAi0KnI,uDAAC,CAAC,CAACuI,mFAAC,CAAC,WAAD,EAAa,CAAC,gBAAD,EAAkB,cAAlB,EAAiC,aAAjC,EAA+C,WAA/C,CAAb,CAAF,CAAD,EAA8EkiC,EAAE,CAACtiC,SAAjF,EAA2F,eAA3F,EAA2G,IAA3G,CAAl0K,EAAm7KnI,uDAAC,CAAC,CAACsC,uFAAC,CAAC;AAACiB,EAAAA,IAAI,EAAC6lC,6DAAEA;AAAR,CAAD,CAAF,CAAD,EAAgBqB,EAAE,CAACtiC,SAAnB,EAA6B,UAA7B,EAAwC,KAAK,CAA7C,CAAp7K,EAAo+KnI,uDAAC,CAAC,CAACsC,uFAAC,EAAF,CAAD,EAAOmoC,EAAE,CAACtiC,SAAV,EAAoB,OAApB,EAA4B,KAAK,CAAjC,CAAr+K,EAAygLnI,uDAAC,CAAC,CAACuI,mFAAC,CAAC,SAAD,EAAW,OAAX,EAAmB,CAAC,MAAD,CAAnB,CAAF,EAA+BA,mFAAC,CAAC,aAAD,EAAe,OAAf,EAAuB,CAAC,uBAAD,EAAyB,sBAAzB,EAAgD,OAAhD,CAAvB,CAAhC,CAAD,EAAmHkiC,EAAE,CAACtiC,SAAtH,EAAgI,WAAhI,EAA4I,IAA5I,CAA1gL,EAA4pLnI,uDAAC,CAAC,CAACuI,mFAAC,CAAC,SAAD,EAAW,OAAX,EAAmB,CAAC,sBAAD,EAAwB,OAAxB,CAAnB,CAAF,CAAD,EAAyDkiC,EAAE,CAACtiC,SAA5D,EAAsE,qBAAtE,EAA4F,IAA5F,CAA7pL,EAA+vLnI,uDAAC,CAAC,CAACsC,uFAAC,CAAC;AAACiB,EAAAA,IAAI,EAAC6E;AAAN,CAAD,CAAF,CAAD,EAAoBqiC,EAAE,CAACtiC,SAAvB,EAAiC,mBAAjC,EAAqD,KAAK,CAA1D,CAAhwL,EAA6zLnI,uDAAC,CAAC,CAACsC,uFAAC,CAAC;AAACyF,EAAAA,IAAI,EAAC;AAAC9D,IAAAA,IAAI,EAAC,CAAC;AAAP;AAAN,CAAD,CAAF,CAAD,EAAuBwmC,EAAE,CAACtiC,SAA1B,EAAoC,MAApC,EAA2C,KAAK,CAAhD,CAA9zL,EAAi3LnI,uDAAC,CAAC,CAACsC,uFAAC,CAAC;AAACiB,EAAAA,IAAI,EAAC6E;AAAN,CAAD,CAAF,CAAD,EAAoBqiC,EAAE,CAACtiC,SAAvB,EAAiC,aAAjC,EAA+C,KAAK,CAApD,CAAl3L,EAAy6LnI,uDAAC,CAAC,CAACuI,mFAAC,CAAC,SAAD,EAAW,aAAX,CAAF,EAA4BA,mFAAC,CAAC,aAAD,EAAe,CAAC,6BAAD,CAAf,CAA7B,CAAD,EAA+EkiC,EAAE,CAACtiC,SAAlF,EAA4F,iBAA5F,EAA8G,IAA9G,CAA16L,EAA8hMnI,uDAAC,CAAC,CAACsC,uFAAC,CAAC;AAACiB,EAAAA,IAAI,EAAC,CAACklC,gEAAD;AAAN,CAAD,CAAF,CAAD,EAAkBgC,EAAE,CAACtiC,SAArB,EAA+B,OAA/B,EAAuC,KAAK,CAA5C,CAA/hM,EAA8kMnI,uDAAC,CAAC,CAACuI,mFAAC,CAAC,SAAD,EAAW,OAAX,EAAmB,CAAC,OAAD,CAAnB,CAAF,EAAgCA,mFAAC,CAAC,OAAD,EAAS,CAAC,uBAAD,CAAT,CAAjC,CAAD,EAAuEkiC,EAAE,CAACtiC,SAA1E,EAAoF,WAApF,EAAgG,IAAhG,CAA/kM,EAAqrMnI,uDAAC,CAAC,CAACsC,uFAAC,CAAC;AAACiB,EAAAA,IAAI,EAACgL,OAAN;AAAcxG,EAAAA,IAAI,EAAC;AAACG,IAAAA,OAAO,EAAC;AAAC,qBAAc;AAACvC,QAAAA,KAAK,EAAC;AAACsC,UAAAA,MAAM,EAAC;AAAR;AAAP;AAAf;AAAT;AAAnB,CAAD,CAAF,CAAD,EAAyGwiC,EAAE,CAACtiC,SAA5G,EAAsH,SAAtH,EAAgI,KAAK,CAArI,CAAtrM,EAA8zMnI,uDAAC,CAAC,CAACuI,mFAAC,CAAC,aAAD,EAAe,SAAf,EAAyB,CAAC,YAAD,EAAc,mCAAd,CAAzB,CAAF,CAAD,EAAiFkiC,EAAE,CAACtiC,SAApF,EAA8F,aAA9F,EAA4G,IAA5G,CAA/zM,EAAi7MsiC,EAAE,GAACzqC,uDAAC,CAAC,CAACwL,uFAAC,CAAC,0BAAD,CAAF,CAAD,EAAiCi/B,EAAjC,CAAr7M;AAA09M,MAAMkH,EAAE,GAAClH,EAAT;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACJpmyB;AACA;AACA;AACA;AACimB,oBAAoB,iEAAC,CAAC,2EAAC,CAAC,iDAAC,IAAI,eAAe,mDAAmD,+EAAC,4EAA4E,UAAU,yCAAyC,OAAO,iCAAiC,WAAW,qCAAqC,YAAY,sCAAsC,UAAU,wBAAwB,cAAc,4BAA4B,QAAQ,qBAAqB,kBAAkB,gCAAgC,uDAAC,EAAE,sFAAC,EAAE,KAAK,0EAAC,CAAC,uCAAuC,uDAAC,EAAE,sFAAC,CAAC,2FAAC,CAAC,+EAAC,8CAA8C,uDAAC,EAAE,sFAAC,EAAE,qBAAqB,kCAAkC,uDAAC,EAAE,sFAAC,uDAAuD,uDAAC,EAAE,sFAAC,EAAE,YAAY,8BAA8B,uDAAC,EAAE,sFAAC,EAAE,iBAAiB,oCAAoC,uDAAC,EAAE,sFAAC,kCAAkC,UAA+B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACJv/C;AACA;AACA;AACA;AACA;AAA2C;AAAuB;AAA6B;AAAgC;AAAkC;AAA4D;AAAmC;AAAiC;AAAuD;AAAkD;AAA0E;AAAuB;AAA6B;AAA0E;AAA6D;AAAqC;AAAqC;AAA+C,IAAI5oC,CAAC,GAAC,CAAN;AAAA,IAAQP,CAAC,GAAC,cAAcd,qEAAA,CAAeE,wEAAC,CAACN,yDAAD,CAAhB,CAAd,CAAmC;AAACqC,EAAAA,WAAW,GAAE;AAAC,UAAM,GAAGqK,SAAT,GAAoB,KAAKilC,kBAAL,GAAwB,IAA5C,EAAiD,KAAKhH,UAAL,GAAgB,IAAIvpC,4DAAJ,CAAM,CAAC,GAAP,EAAW,CAAC,EAAZ,EAAe,GAAf,EAAmB,EAAnB,EAAsBN,4EAAtB,CAAjE,EAAgG,KAAKwB,EAAL,GAAQM,IAAI,CAACC,GAAL,GAAWC,QAAX,CAAoB,EAApB,IAAwB,SAAxB,GAAkCrB,CAAC,EAA3I,EAA8I,KAAKojC,aAAL,GAAmB,CAAC,CAAlK,EAAoK,KAAKC,QAAL,GAAc,MAAlL,EAAyL,KAAKl8B,OAAL,GAAa,CAAtM,EAAwM,KAAK3F,MAAL,GAAY,IAApN,EAAyN,KAAK2uC,kBAAL,GAAwB,CAAC,CAAlP,EAAoP,KAAK5M,YAAL,GAAkB,CAAC,CAAvQ,EAAyQ,KAAK6M,kBAAL,GAAwB,CAAC,CAAlS,EAAoS,KAAKrvC,gBAAL,GAAsB1B,4EAA1T,EAAkU,KAAK6B,KAAL,GAAW,IAA7U,EAAkV,KAAKQ,IAAL,GAAU,IAA5V,EAAiW,KAAKsC,GAAL,GAAS,IAA1W,EAA+W,KAAKqsC,oBAAL,GAA0B,IAAzY,EAA8Y,KAAK1jC,OAAL,GAAa,CAAC,CAA5Z;AAA8Z;;AAAgC,SAAnB2jC,mBAAmB,CAACjyC,CAAD,EAAG;AAAA;AAAC,YAAMF,CAAC,GAAC,YAAU,OAAOE,CAAjB,GAAmB;AAAC2F,QAAAA,GAAG,EAAC3F;AAAL,OAAnB,GAA2BA,CAAnC;AAAqC,aAAM,OAAO,yUAAP,EAA4CkyC,OAA5C,CAAoDpyC,CAApD,CAAN;AAAtC;AAAmG;;AAAqB,SAAd6xC,cAAc,CAAC3xC,CAAD,EAAG;AAAC,WAAOwB,2EAAC,CAACxB,CAAD,CAAR;AAAY;;AAAA2D,EAAAA,UAAU,GAAE;AAAC,SAAKC,IAAL,GAAYC,KAAZ,CAAmB7D,CAAC,IAAE;AAACW,MAAAA,mEAAC,CAACX,CAAD,CAAD,IAAMI,iEAAA,CAAY,IAAZ,EAAkBmD,KAAlB,CAAwB,SAAxB,EAAmC,iCAAgC,KAAKV,KAAL,IAAY,UAAW,WAAU,KAAKL,EAAL,IAAS,OAAQ,IAArH,EAAyH;AAACe,QAAAA,KAAK,EAACvD;AAAP,OAAzH,CAAN;AAA0I,KAAjK;AAAoK;;AAAAkE,EAAAA,OAAO,GAAE;AAAC,UAAMlE,CAAC,GAAC,KAAKmD,MAAb;;AAAoB,QAAGnD,CAAH,EAAK;AAAC,YAAMF,CAAC,GAAC,IAAR;AAAa,kBAAWE,CAAX,IAAcA,CAAC,CAACiJ,MAAF,CAAS2oB,QAAT,CAAkB9xB,CAAlB,CAAd,GAAmCE,CAAC,CAACiJ,MAAF,CAAS7F,MAAT,CAAgBtD,CAAhB,CAAnC,GAAsD,YAAWE,CAAX,IAAcA,CAAC,CAACgW,MAAF,CAAS4b,QAAT,CAAkB9xB,CAAlB,CAAd,GAAmCE,CAAC,CAACgW,MAAF,CAAS5S,MAAT,CAAgBtD,CAAhB,CAAnC,GAAsD,gBAAeE,CAAf,IAAkBA,CAAC,CAACiD,UAAF,CAAa2uB,QAAb,CAAsB9xB,CAAtB,CAAlB,GAA2CE,CAAC,CAACiD,UAAF,CAAaG,MAAb,CAAoBtD,CAApB,CAA3C,GAAkE,qBAAoBE,CAApB,IAAuBA,CAAC,CAACkD,eAAF,CAAkB0uB,QAAlB,CAA2B9xB,CAA3B,CAAvB,IAAsDE,CAAC,CAACkD,eAAF,CAAkBE,MAAlB,CAAyBtD,CAAzB,CAApO,EAAgQ,KAAKuE,IAAL,CAAU,QAAV,EAAmB,IAAnB,CAAhQ;AAAyR;AAAC;;AAAoB,MAAhB8tC,gBAAgB,GAAE;AAAC,QAAInyC,CAAC,GAAC,KAAKsO,OAAX;AAAmB,UAAMxO,CAAC,GAAC,KAAKqD,MAAb;AAAoB,WAAOnD,CAAC,IAAEF,CAAH,IAAM,sBAAqBA,CAA3B,KAA+BE,CAAC,KAAGF,CAAC,CAACqyC,gBAArC,GAAuDnyC,CAA9D;AAAgE;;AAAsB,MAAlBoyC,kBAAkB,GAAE;AAAC,WAAO,QAAM,KAAKP,kBAAlB;AAAqC;;AAAa,MAATlE,SAAS,GAAE;AAAC,WAAOltC,+DAAC,CAAC,KAAKkF,GAAN,CAAR;AAAmB;;AAAM0sC,EAAAA,oBAAoB,GAAE;AAAA;;AAAA;AAAC,YAAMryC,CAAC,GAAC,KAAI,CAAC6xC,kBAAb;;AAAgC,UAAG,KAAI,CAACO,kBAAL,IAAyBpyC,CAA5B,EAA8B;AAAC,eAAM,OAAOF,uDAAC,CAACE,CAAD,EAAG;AAACiH,UAAAA,KAAK,EAAC;AAACvF,YAAAA,CAAC,EAAC;AAAH,WAAP;AAAkBsc,UAAAA,YAAY,EAAC;AAA/B,SAAH,CAAR,EAAoDha,IAA1D;AAA+D;;AAAA,YAAM,IAAIjE,sDAAJ,CAAM,2BAAN,EAAkC,sCAAlC,CAAN;AAA/H;AAA+M;;AAA9hD,CAA7C;AAA6kDC,uDAAC,CAAC,CAACY,uFAAC,CAAC;AAACyC,EAAAA,IAAI,EAAC6E;AAAN,CAAD,CAAF,CAAD,EAAoB9G,CAAC,CAAC6G,SAAtB,EAAgC,oBAAhC,EAAqD,KAAK,CAA1D,CAAD,EAA8DjI,uDAAC,CAAC,CAACY,uFAAC,CAAC;AAACuH,EAAAA,QAAQ,EAAC,CAAC;AAAX,CAAD,CAAF,CAAD,EAAoB/G,CAAC,CAAC6G,SAAtB,EAAgC,kBAAhC,EAAmD,IAAnD,CAA/D,EAAwHjI,uDAAC,CAAC,CAACY,uFAAC,CAAC;AAACyC,EAAAA,IAAI,EAAC/B,4DAACA;AAAP,CAAD,CAAF,CAAD,EAAeF,CAAC,CAAC6G,SAAjB,EAA2B,YAA3B,EAAwC,KAAK,CAA7C,CAAzH,EAAyKjI,uDAAC,CAAC,CAACY,uFAAC,CAAC;AAACuH,EAAAA,QAAQ,EAAC,CAAC;AAAX,CAAD,CAAF,CAAD,EAAoB/G,CAAC,CAAC6G,SAAtB,EAAgC,oBAAhC,EAAqD,IAArD,CAA1K,EAAqOjI,uDAAC,CAAC,CAACY,uFAAC,CAAC;AAACyC,EAAAA,IAAI,EAAC6E,MAAN;AAAaspC,EAAAA,QAAQ,EAAC,CAAC;AAAvB,CAAD,CAAF,CAAD,EAAgCpwC,CAAC,CAAC6G,SAAlC,EAA4C,IAA5C,EAAiD,KAAK,CAAtD,CAAtO,EAA+RjI,uDAAC,CAAC,CAACY,uFAAC,CAAC;AAACyC,EAAAA,IAAI,EAACgL,OAAN;AAAcvE,EAAAA,WAAW,EAAC,CAAC;AAA3B,CAAD,CAAF,CAAD,EAAoC1I,CAAC,CAAC6G,SAAtC,EAAgD,eAAhD,EAAgE,KAAK,CAArE,CAAhS,EAAwWjI,uDAAC,CAAC,CAACY,uFAAC,CAAC;AAACyC,EAAAA,IAAI,EAAC,CAAC,MAAD,EAAQ,MAAR,EAAe,eAAf;AAAN,CAAD,CAAF,CAAD,EAA6CjC,CAAC,CAAC6G,SAA/C,EAAyD,UAAzD,EAAoE,KAAK,CAAzE,CAAzW,EAAqbjI,uDAAC,CAAC,CAACY,uFAAC,CAAC;AAACyC,EAAAA,IAAI,EAACwG,MAAN;AAAaE,EAAAA,KAAK,EAAC;AAACC,IAAAA,GAAG,EAAC,CAAL;AAAOC,IAAAA,GAAG,EAAC;AAAX,GAAnB;AAAiCH,EAAAA,WAAW,EAAC,CAAC;AAA9C,CAAD,CAAF,CAAD,EAAuD1I,CAAC,CAAC6G,SAAzD,EAAmE,SAAnE,EAA6E,KAAK,CAAlF,CAAtb,EAA2gBjI,uDAAC,CAAC,CAACY,uFAAC,CAAC;AAAC4wC,EAAAA,QAAQ,EAAC,CAAC;AAAX,CAAD,CAAF,CAAD,EAAoBpwC,CAAC,CAAC6G,SAAtB,EAAgC,QAAhC,EAAyC,KAAK,CAA9C,CAA5gB,EAA6jBjI,uDAAC,CAAC,CAACY,uFAAC,CAAC;AAACuH,EAAAA,QAAQ,EAAC,CAAC;AAAX,CAAD,CAAF,CAAD,EAAoB/G,CAAC,CAAC6G,SAAtB,EAAgC,WAAhC,EAA4C,IAA5C,CAA9jB,EAAgnBjI,uDAAC,CAAC,CAACY,uFAAC,CAAC;AAACyC,EAAAA,IAAI,EAACgL,OAAN;AAAclG,EAAAA,QAAQ,EAAC,CAAC;AAAxB,CAAD,CAAF,CAAD,EAAiC/G,CAAC,CAAC6G,SAAnC,EAA6C,oBAA7C,EAAkE,KAAK,CAAvE,CAAjnB,EAA2rBjI,uDAAC,CAAC,CAACY,uFAAC,CAAC;AAACyC,EAAAA,IAAI,EAACgL;AAAN,CAAD,CAAF,CAAD,EAAqBjN,CAAC,CAAC6G,SAAvB,EAAiC,cAAjC,EAAgD,KAAK,CAArD,CAA5rB,EAAovBjI,uDAAC,CAAC,CAACY,uFAAC,CAAC;AAACyC,EAAAA,IAAI,EAACgL;AAAN,CAAD,CAAF,CAAD,EAAqBjN,CAAC,CAAC6G,SAAvB,EAAiC,oBAAjC,EAAsD,KAAK,CAA3D,CAArvB,EAAmzBjI,uDAAC,CAAC,CAACY,uFAAC,CAAC;AAACyC,EAAAA,IAAI,EAACrC,sEAACA;AAAP,CAAD,CAAF,CAAD,EAAeI,CAAC,CAAC6G,SAAjB,EAA2B,kBAA3B,EAA8C,KAAK,CAAnD,CAApzB,EAA02BjI,uDAAC,CAAC,CAACY,uFAAC,CAAC;AAACyC,EAAAA,IAAI,EAAC6E;AAAN,CAAD,CAAF,CAAD,EAAoB9G,CAAC,CAAC6G,SAAtB,EAAgC,OAAhC,EAAwC,KAAK,CAA7C,CAA32B,EAA25BjI,uDAAC,CAAC,CAACY,uFAAC,CAAC;AAACuH,EAAAA,QAAQ,EAAC,CAAC,CAAX;AAAaN,EAAAA,IAAI,EAAC;AAAC9D,IAAAA,IAAI,EAAC,CAAC;AAAP;AAAlB,CAAD,CAAF,CAAD,EAAmC3C,CAAC,CAAC6G,SAArC,EAA+C,MAA/C,EAAsD,KAAK,CAA3D,CAA55B,EAA09BjI,uDAAC,CAAC,CAACY,uFAAC,EAAF,CAAD,EAAOQ,CAAC,CAAC6G,SAAT,EAAmB,KAAnB,EAAyB,KAAK,CAA9B,CAA39B,EAA4/BjI,uDAAC,CAAC,CAACY,uFAAC,CAAC;AAACyC,EAAAA,IAAI,EAACvC,4DAACA;AAAP,CAAD,CAAF,CAAD,EAAeM,CAAC,CAAC6G,SAAjB,EAA2B,sBAA3B,EAAkD,KAAK,CAAvD,CAA7/B,EAAujCjI,uDAAC,CAAC,CAACY,uFAAC,CAAC;AAACyC,EAAAA,IAAI,EAACgL,OAAN;AAAcvE,EAAAA,WAAW,EAAC,CAAC;AAA3B,CAAD,CAAF,CAAD,EAAoC1I,CAAC,CAAC6G,SAAtC,EAAgD,SAAhD,EAA0D,KAAK,CAA/D,CAAxjC,EAA0nC7G,CAAC,GAACpB,uDAAC,CAAC,CAACkB,uFAAC,CAAC,mBAAD,CAAF,CAAD,EAA0BE,CAA1B,CAA7nC;AAA0pC,MAAMM,CAAC,GAACN,CAAR;;;;;;;;;;;;;;;;ACJ/+G;AACA;AACA;AACA;AACA,mBAA0D;;;;;;;;;;;;;;;;;;;ACJ1D;AACA;AACA;AACA;AAC+H,oBAAoB,cAAc,6CAA6C,6DAAC,OAAO,iBAAiB,qEAAqE,kBAAkB,kEAAC,EAAE,gEAAC,gCAAgC,cAAc,iGAA8J;;;;;;;;;;;;;;;;;;;;;;;ACJ9gB;AACA;AACA;AACA;AAC8E,gBAAgB,QAAQ,wEAAC,oCAAoC,OAAO,8EAAC,MAAM,WAAW,QAAQ,wEAAC,sDAAsD,OAAO,8EAAC,MAAM,WAAW,cAAc,wEAAC,gJAAgJ,OAAO,8EAAC,MAAM,WAAW,4DAA4D,wEAAC,4LAA4L,OAAO,8EAAC,MAAM,WAAW,gBAAgB,wEAAC,oCAAoC,OAAO,8EAAC,MAAM,WAAW,QAAQ,wEAAC,8HAA8H,OAAO,8EAAC,MAAM,WAAW,cAAc,wEAAC,8HAA8H,OAAO,8EAAC,OAAgH;;;;;;;;;;;;;;;;;;;;;;;;;;ACJzrC;AACA;AACA;AACA;AACwT,QAAQ,mBAAmB,iEAAiE,mBAAmB,wHAAwH,QAAQ,uDAAuD,SAAS,OAAO,qFAAqF,QAAQ,eAAe,+BAA+B,mBAAmB,+CAA+C,QAAQ,0BAA0B,SAAS,OAAO,oCAAoC,QAAQ,iBAAiB,oIAAoI,kBAAkB,iEAAiE,mBAAmB,wDAAwD,QAAQ,oCAAoC,SAAS,OAAO,mCAAmC,gBAAgB,2BAA2B,mFAAC,GAAG,kBAAkB,mCAAmC,oEAAC,gBAAgB,MAAM,iCAAiC,kEAAC,gBAAgB,MAAM,kCAAkC,mEAAC,gBAAgB,MAAM,+BAA+B,gEAAC,gBAAgB,MAAM,iCAAiC,kEAAC,gBAAgB,MAAM,8BAA8B,+DAAC,kBAAkB,QAAQ,qBAAqB,qFAAqF,mBAAmB,mUAAmU,QAAQ,wEAAwE,SAAS,wBAAwB,kBAAkB,2GAA2G,QAAQ,eAAe,oCAAoC,kBAAkB,iEAAiE,mBAAmB,qDAAqD,QAAQ,yBAAyB,SAAS,OAAO,oCAAoC,gBAAgB,2BAA2B,mFAAC,GAAG,kBAAkB,mEAAC,gBAAgB,QAAQ,eAAe,sEAAsE,mBAAmB,mCAAmC,QAAQ,0BAA0B,SAAS,OAAO,oCAAoC,kBAAkB,iBAAiB,cAAc,sBAAsB,2DAAC,SAAS,cAAc,eAAe,gEAAgE,sEAAsE,8BAA8B,iCAAiC,2BAA2B,yCAAyC,6DAAC,kBAAkB,iCAAkM;;;;;;;;;;;;;;;;;;;;;;;;ACJ9hH;AACA;AACA;AACA;AAC0K,kBAAkB,IAAI,YAAY,SAAS,qBAAqB,YAAY,oBAAoB,IAAI,aAAa,6DAAC,QAAQ,SAAS,gCAAgC,cAAc,QAAQ,iDAAC,IAAI,SAAS,4DAAC,oCAAoC,kBAAkB,KAAK,qCAAqC,SAAS,cAAc,gCAAgC,SAAS,WAAW,yBAAyB,+BAA+B,EAAE,SAAS,YAAY,cAAc,aAAa,uBAAuB,cAAc,uBAAuB,WAAW,kBAAkB,SAAS,eAAe,wHAAwH,MAAM,kCAAkC,MAAM,wCAAwC,MAAM,kGAAkG,MAAM,oEAAoE,WAAW,OAAO,GAAG,4BAA4B,GAAG,iDAAC,cAAc,mBAAmB,kBAAkB,wBAAwB,sDAAC,kDAAkD,EAAE,OAAO,QAAQ,SAAS,SAAS,EAAE,wBAAwB,gBAAgB,wBAAwB,sDAAC,kDAAkD,EAAE,OAAO,QAAQ,SAAS,SAAS,EAAE,aAAa,cAAc,QAAQ,IAAI,QAAQ,IAAI,QAAQ,IAAI,YAAY,GAAuF;;;;;;;;;;;;;;;;;;;;ACJ1oD;AACA;AACA;AACA;AACmW,gBAAgB,aAAa,mBAAmB,0CAA0C,oBAAoB,yBAAyB,8HAA8H,kBAAkB,yEAAyE,gBAAgB,UAAU,qBAAqB,mBAAmB,SAAS,owBAAowB,SAAS,kBAAkB,OAAO,yCAAyC,kBAAkB,gCAAgC,gBAAgB,OAAO,2CAA2C,gBAAgB,OAAO,6CAA6C,gBAAgB,SAAS,eAAe,YAAY,gBAAgB,OAAO,kBAAkB,gBAAgB,OAAO,mBAAmB,gBAAgB,OAAO,mBAAmB,gBAAgB,OAAO,mBAAmB,gBAAgB,OAAO,mBAAmB,gBAAgB,OAAO,mBAAmB,gBAAgB,OAAO,mBAAmB,gBAAgB,OAAO,oBAAoB,gBAAgB,OAAO,oBAAoB,gBAAgB,OAAO,qBAAqB,gBAAgB,OAAO,qBAAqB,gBAAgB,OAAO,mBAAmB,eAAe,OAAO,uBAAuB,gBAAgB,OAAO,yBAAyB,eAAe,OAAO,yBAAyB,eAAe,wBAAwB,+BAA+B,gBAAgB,4DAA4D,gBAAgB,4FAA4F,iBAAiB,cAAc,0BAA0B,iBAAiB,OAAO,oCAAoC,mBAAmB,OAAO,8CAA8C,cAAc,OAAO,YAAY,eAAe,OAAO,4BAA4B,eAAe,cAAc,cAAc,8BAA8B,aAAa,SAAS,EAAE,OAAO,qCAAqC,IAAI,2DAA2D,iBAAiB,mBAAmB,oBAAoB,OAAO,gBAAgB,qCAAqC,MAAM,uCAAuC,eAAe,yCAAyC,mBAAmB,wCAAwC,cAAc,MAAM,+BAA+B,cAAc,QAAQ,yIAAyI,cAAc,QAAQ,0BAA0B,MAAM,kBAAkB,SAAS,SAAS,cAAc,YAAY,0KAA0K,cAAc,oBAAoB,sBAAsB,uIAAuI,MAAM,yIAAyI,eAAe,cAAc,SAAS,cAAc,QAAQ,0IAA0I,cAAc,QAAQ,gEAAgE,MAAM,6DAA6D,gCAAgC,cAAc,UAAU,kKAAkK,cAAc,UAAU,+EAA+E,MAAM,6DAA6D,SAAS,kEAAkE,cAAc,UAAU,iKAAiK,cAAc,UAAU,+xBAA+xB,cAAc,UAAU,khBAAkhB,cAAc,QAAQ,0FAA0F,cAAc,YAAY,0EAA0E,sEAAsE,MAAM,8DAA8D,SAAS,+BAA+B,cAAc,uIAAuI,cAAc,oBAAoB,yIAAyI,MAAM,8DAA8D,gEAAgE,sEAAsE,MAAM,8DAA8D,SAAS,6BAA6B,cAAc,+EAA+E,MAAM,8DAA8D,SAAS,UAAU,sEAAsE,yIAAyI,MAAM,8DAA8D,SAAS,6BAA6B,cAAc,4BAA4B,cAAc,SAAS,iBAAiB,0BAA0B,YAAY,GAAG,mBAAmB,0BAA0B,8BAA8B,mFAAmF,iCAAiC,0GAA0G,cAAc,gCAAgC,uBAAuB,aAAa,8BAA8B,mBAAmB,mDAAmD,sDAAC,mEAAmE,OAAO,EAAE,OAAO,kCAAkC,GAAG,mDAAmD,YAAY,aAAa,KAAK,IAAI,gEAAC,wCAAwC,sDAAC,mGAAmG,gCAAgC,EAAE,2DAAC,8BAA8B,0CAA0C,cAAc,MAAM,eAAe,IAAI,OAAO,SAAS,UAAU,sDAAC,kDAAkD,gBAAgB,EAAE,wBAAwB,cAAc,IAAI,eAAe,oGAAoG,0BAA0B,6BAA6B,uBAAuB,8BAA8B,yBAAyB,SAAS,2BAA2B,UAAU,sDAAC,oCAAoC,OAAO,qBAAqB,SAAS,EAAE,cAAc,QAAQ,6EAA6E,0DAAC,WAAW,cAAc,QAAQ,6EAA6E,sDAAC,IAAI,cAAc,QAAQ,6EAA6E,wDAAC,IAAI,cAAc,QAAQ,kGAAkG,mDAAC,IAAI,cAAc,WAAW,WAAW,iDAAiD,0CAA0C,sDAAC,gDAAgD,EAAE,OAAO,KAAK,aAAa,gCAAgC,sDAAC,4DAA4D,UAAU,EAAE,+BAA+B,oCAAoC,sDAAC,wCAAwC,IAAI,mBAAmB,EAAE,UAAU,GAAG,UAAU,EAAE,WAAW,yDAAC,kCAAkC,cAAc,gBAAgB,0KAA0K,oDAAC,QAAQ,gBAAgB,wBAAwB,sDAAC,gDAAgD,GAAG,sBAAsB,SAAS,GAAG,aAAa,EAAE,cAAc,oCAAoC,WAAW,gCAAgC,+BAA+B,qCAAqC,iBAAiB,gBAAgB,iBAAiB,sDAAC,iEAAiE,EAAE,GAAG,OAAO,EAAE,cAAc,gDAAgD,sDAAC,mDAAmD,KAAK,GAAG,OAAO,EAAE,cAAc,8DAA8D,sDAAC,mEAAmE,KAAK,GAAG,OAAO,EAAE,0CAA0C,6BAA6B,kBAAkB,aAAa,QAAQ,WAAW,2CAA2C,iCAAiC,MAAM,iLAAiL,MAAM,+HAA+H,6FAA6F,mBAAmB,SAAS,8BAA8B,OAAO,oBAAoB,wBAAwB,mBAAmB,+BAA+B,iDAAiD,GAAG,6CAA6C,gBAAgB,sBAAsB,gBAAgB,qBAAqB,mBAAmB,uBAAuB,cAAc,kDAAkD,cAAc,2KAA2K,kBAAkB,gDAAgD,iBAAiB,GAAG,cAAc,qNAAqN,kBAAkB,gDAAgD,iBAAiB,GAAG,cAAc,oBAAoB,cAAc,mBAAmB,wBAAwB,YAAY,WAAW,mCAAmC,WAAW,iBAAiB,mBAAmB,+BAA+B,+DAA+D,cAAc,qCAAqC,+CAA+C,SAAS,wCAAwC,cAAc,yFAAyF,sDAAC,kDAAkD,KAAK,GAAG,OAAO,EAAE,SAAS,oDAAoD,cAAc,yFAAyF,sDAAC,mDAAmD,KAAK,GAAG,OAAO,EAAE,cAAc,KAAK,gBAAgB,mCAAmC,cAAc,iCAAiC,cAAc,iCAAiC,cAAc,iCAAiC,cAAc,oBAAoB,iBAAiB,wDAAC,UAAU,8BAA8B,kCAAkC,cAAc,IAAI,4DAAC,cAAc,sDAAC,kCAAkC,EAAE,gBAAgB,aAAa,EAAE,OAAO,iEAAC,IAAI,8BAA8B,cAAc,0IAA0I,yBAAyB,yDAAC,gGAAgG,UAAU,sDAAC,kDAAkD,OAAO,IAAI,gBAAgB,EAAqB;;;;;;;;;;;;;;;;;;;;ACJntd;AACA;AACA;AACA;AAC6D,gBAAgB,8BAA8B,iEAAiE,gBAAgB,sDAAsD,mBAAmB,WAAW,WAAW,0EAAC,QAAQ,cAAc,aAAa,sBAAsB,gBAAgB,yDAA2J;;;;;;;;;;;;;;;;;;;ACJhgB;AACA;AACA;AACA;AACsC,QAAQ,uBAAuB,MAAM,mHAAmH,qBAAqB,mBAAmB,sEAAU,+BAA+B,sEAAU,oCAAoC,iCAAiC,YAAY,yEAAyE,sFAAsF,QAAQ,0CAA0C,mBAAmB,uCAAuC,uFAAuF,cAAc,mCAAmC,mBAAoG;;;;;;;;;;;;;;;;ACJj2B;AACA;AACA;AACA;AACA,QAAQ,cAAc,0VAA0V,YAAY,cAAc,+gBAAoiB;;;;;;;;;;;;;;;;ACJ96B;AACA;AACA;AACA;AACA,UAAU,QAAQ,uBAAuB,qCAAqC,mBAAmB,iCAAiC,mBAAmB,6BAA6B,0CAA0C,cAAc,sDAAsD,gBAAgB,iCAAiC,WAAW,yCAAyC,iBAAiB,QAAQ,sDAAsD,YAAY,sBAAsB,KAAK,wBAAwB,YAAY,IAAI,KAAK,+CAA+C,MAAM,cAAc,sBAAsB,mBAAmB,GAAG,QAAQ,kBAAkB,YAAY,IAAI,wDAAwD,KAAK,SAAS,SAAS,4EAA4E,iGAAiG,yFAA8G;;;;;;;;;;;;;;;;;;;;;ACJ3iC;AACA;AACA;AACA;AACgK,gBAAgB,kBAAkB,6BAA6B,gCAAgC,YAAY,WAAW,KAAK,oBAAoB,gCAAgC,YAAY,WAAW,4BAA4B,SAAS,gBAAgB,kBAAkB,6BAA6B,gCAAgC,YAAY,WAAW,8BAA8B,SAAS,gBAAgB,gCAAgC,kFAAC,oFAAoF,kBAAkB,gCAAgC,kFAAC,yCAAyC,sEAAC,aAAa,sEAAC,aAAa,sEAAC,mBAAmB,sEAAC,kBAAkB,gBAAgB,4CAA4C,kFAAC,6DAA6D,gBAAgB,4CAA4C,kFAAC,6DAA6D,gBAAgB,4CAA4C,kFAAC,+DAA+D,gBAAgB,4CAA4C,kFAAC,iJAAiJ,gBAAgB,kBAAkB,6BAA6B,4BAA4B,eAAe,0BAA0B,2BAA2B,6BAA6B,4BAA4B,+BAA+B,oBAAoB,gBAAgB,gBAAgB,kBAAkB,mBAAmB,wCAAwC,gCAAgC,yCAAyC,SAAS,gBAAgB,sHAA0K;;;;;;;;;;;;;;;;;ACJ9gE;AACA;AACA;AACA;AACA,oBAAoB,OAAO,kEAAkE,sBAAsB,sDAA+G;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACJlO;AACA;AACA;AACA;AAC6X,cAAc,0BAA0B,cAAc,0BAA0B,cAAc,0BAA0B,gBAAgB,oBAAoB,mDAAC,EAAE,+CAA+C,oDAAC,sBAAsB,oDAAC,sCAAsC,OAAO,cAAc,2BAA2B,wEAAC,OAAO,cAAc,MAAM,iCAAiC,uBAAuB,kCAAkC,eAAe,aAAa,MAAM,gBAAgB,GAAG,OAAO,oCAAoC,eAAe,MAAM,sBAAsB,GAAG,OAAO,6CAA6C,gBAAgB,MAAM,sBAAsB,GAAG,OAAO,6CAA6C,cAAc,MAAM,sEAAsE,GAAG,OAAO,0FAA0F,kBAAkB,MAAM,uBAAuB,GAAG,OAAO,qDAAqD,gBAAgB,cAAc,+BAA+B,cAAc,iCAAiC,cAAc,6CAA6C,SAAS,cAAc,oBAAoB,uEAAC,QAAQ,uEAAC,QAAQ,gBAAgB,kBAAkB,MAAM,SAAS,4BAA4B,yBAAyB,sLAAsL,wEAAC,gEAAgE,cAAc,MAAM,iCAAiC,MAAM,kCAAkC,OAAO,8EAAU,IAAuK;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACJttE;AACA;AACA;AACA;AACA;AAAiD;AAA6B;AAAmC;AAA2C;AAAsC;AAAsC;AAAyC;AAAuC;AAA4D;AAAwD;AAAgF;AAAyE;AAAmC;AAA4E;AAAgF;AAAyF;AAA4F;AAAmD;AAA2C;AAA4C;AAA6E,IAAIvB,CAAC,GAAC,CAAN;AAAA,IAAQyL,CAAC,GAAC,cAAc9K,uEAAA,CAAgBC,kEAAC,CAACV,2DAAD,CAAjB,CAAd,CAAoC;AAACwC,EAAAA,WAAW,CAACzC,CAAD,EAAG;AAAC,UAAMA,CAAN,GAAS,KAAK4yC,kBAAL,GAAwB,IAAjC,EAAsC,KAAKrvC,IAAL,GAAU,QAAhD;AAAyD;;AAAA2B,EAAAA,IAAI,CAAClF,CAAD,EAAG;AAAC,UAAME,CAAC,GAAC,QAAMF,CAAN,GAAQA,CAAC,CAAC0H,MAAV,GAAiB,IAAzB;AAA8B,WAAO,KAAKvC,mBAAL,CAAyB,KAAK0tC,YAAL,CAAkB3yC,CAAlB,CAAzB,GAA+CmF,OAAO,CAACC,OAAR,CAAgB,IAAhB,CAAtD;AAA4E;;AAAAlB,EAAAA,OAAO,GAAE;AAAC,SAAK0uC,WAAL,EAAkBC,KAAlB,IAA0B,KAAKD,WAAL,GAAiB,IAA3C;AAAgD;;AAAuB,MAAnBE,mBAAmB,GAAE;AAAC,UAAMhzC,CAAC,GAAC,KAAKwJ,KAAL,EAAYwhC,YAApB;AAAiC,WAAOhrC,CAAC,GAAC,KAAKizC,yCAAL,CAA+CjzC,CAA/C,IAAkD,SAAlD,GAA4DA,CAA7D,GAA+D,IAAvE;AAA4E;;AAAAsmC,EAAAA,UAAU,CAACtmC,CAAD,EAAG;AAAC,WAAO,KAAKkF,IAAL,GAAYc,IAAZ,CAAkB,MAAI,KAAKktC,WAAL,CAAiBlzC,CAAjB,CAAtB,CAAP;AAAmD;;AAAAmzC,EAAAA,SAAS,GAAE;AAAC,WAAO,KAAKjuC,IAAL,GAAYc,IAAZ,CAAkB,MAAI,KAAK8sC,WAAL,CAAiBK,SAAjB,EAAtB,CAAP;AAA4D;;AAAMpD,EAAAA,aAAa,CAAC/vC,CAAD,EAAGE,CAAC,GAAC,EAAL,EAAQ;AAAA;;AAAA;AAAC,YAAM,KAAI,CAACgF,IAAL,CAAUhF,CAAV,CAAN;AAAmB,YAAMD,CAAC,SAAO,KAAI,CAAC6yC,WAAL,CAAiBM,MAAjB,CAAwB,eAAxB,EAAwCpzC,CAAC,GAACA,CAAC,CAACuK,MAAF,EAAD,GAAY,IAArD,EAA0DrK,CAA1D,CAAd;AAA2EoB,MAAAA,mGAAC,CAACtB,CAAD,EAAG,KAAI,CAACwJ,KAAL,CAAW5G,gBAAd,EAA+B3C,CAA/B,CAAD;AAAmC,YAAMG,CAAC,GAACgB,6EAAA,CAAWnB,CAAX,CAAR;AAAsB,UAAG,CAAC,KAAI,CAACozC,6BAAL,EAAJ,EAAyC,OAAOjzC,CAAP;AAAS,YAAMM,CAAC,GAAC,KAAI,CAAC8I,KAAL,CAAW4hC,aAAnB;;AAAiC,WAAI,MAAM5qC,CAAV,IAAeJ,CAAC,CAACmuC,QAAjB,EAA0B;AAAC,cAAMvuC,CAAC,GAACQ,CAAC,CAAC+wC,UAAF,CAAa7wC,CAAb,CAAR;AAAA,cAAwBR,CAAC,GAAC,KAAI,CAAC0yC,kBAAL,CAAwB94B,GAAxB,CAA4B9Z,CAA5B,CAA1B;;AAAyDE,QAAAA,CAAC,KAAGM,CAAC,CAAC22B,QAAF,GAAWj3B,CAAC,CAACi3B,QAAhB,CAAD;AAA2B;;AAAA,aAAO/2B,CAAC,CAAC4qC,YAAF,GAAe,KAAI,CAACxhC,KAAL,CAAWwhC,YAA1B,EAAuC5qC,CAA9C;AAA1V;AAA0Y;;AAAMkzC,EAAAA,iBAAiB,CAACtzC,CAAD,EAAGE,CAAC,GAAC,EAAL,EAAQ;AAAA;;AAAA;AAAC,UAAG,MAAI,CAACmzC,6BAAL,EAAH,EAAwC,MAAM,IAAIjzC,sDAAJ,CAAM,iCAAN,EAAwC,8EAAxC,CAAN;AAA8H,YAAM,MAAI,CAAC8E,IAAL,CAAUhF,CAAV,CAAN;AAAmB,YAAMD,CAAC,SAAO,MAAI,CAAC6yC,WAAL,CAAiBM,MAAjB,CAAwB,eAAxB,EAAwCpzC,CAAC,GAACA,CAAC,CAACuK,MAAF,EAAD,GAAY,IAArD,EAA0DrK,CAA1D,CAAd;AAA2E,aAAOoB,mGAAC,CAACtB,CAAD,EAAG,MAAI,CAACwJ,KAAL,CAAW5G,gBAAd,EAA+B3C,CAA/B,CAAD,EAAmCA,CAA1C;AAArQ;AAAiT;;AAAAynC,EAAAA,iBAAiB,CAAC1nC,CAAD,EAAGE,CAAC,GAAC,EAAL,EAAQ;AAAC,WAAO,KAAKgF,IAAL,CAAUhF,CAAV,EAAa8F,IAAb,CAAmB,MAAI,KAAK8sC,WAAL,CAAiBM,MAAjB,CAAwB,mBAAxB,EAA4CpzC,CAAC,GAACA,CAAC,CAACuK,MAAF,EAAD,GAAY,IAAzD,EAA8DrK,CAA9D,CAAvB,CAAP;AAAiG;;AAAAsnC,EAAAA,cAAc,CAACxnC,CAAD,EAAGE,CAAC,GAAC,EAAL,EAAQ;AAAC,WAAO,KAAKgF,IAAL,CAAUhF,CAAV,EAAa8F,IAAb,CAAmB,MAAI,KAAK8sC,WAAL,CAAiBM,MAAjB,CAAwB,gBAAxB,EAAyCpzC,CAAC,GAACA,CAAC,CAACuK,MAAF,EAAD,GAAY,IAAtD,EAA2DrK,CAA3D,CAAvB,CAAP;AAA8F;;AAAA0nC,EAAAA,WAAW,CAAC5nC,CAAD,EAAGE,CAAC,GAAC,EAAL,EAAQ;AAAC,WAAO,KAAKgF,IAAL,CAAUhF,CAAV,EAAa8F,IAAb,CAAmB,MAAI,KAAK8sC,WAAL,CAAiBM,MAAjB,CAAwB,aAAxB,EAAsCpzC,CAAC,GAACA,CAAC,CAACuK,MAAF,EAAD,GAAY,IAAnD,EAAwDrK,CAAxD,CAAvB,EAAoF8F,IAApF,CAA0FhG,CAAC,KAAG;AAACuzC,MAAAA,KAAK,EAACvzC,CAAC,CAACuzC,KAAT;AAAev6B,MAAAA,MAAM,EAAC9X,qEAAA,CAAWlB,CAAC,CAACgZ,MAAb;AAAtB,KAAH,CAA3F,CAAP;AAAoJ;;AAAAw6B,EAAAA,aAAa,CAACxzC,CAAD,EAAGE,CAAC,GAAC,EAAL,EAAQ;AAAC,WAAO,KAAKgF,IAAL,CAAUhF,CAAV,EAAa8F,IAAb,CAAmB,MAAI,KAAK8sC,WAAL,CAAiBM,MAAjB,CAAwB,eAAxB,EAAwCpzC,CAAxC,EAA0CE,CAA1C,CAAvB,CAAP;AAA6E;;AAAMgzC,EAAAA,WAAW,CAAClzC,CAAD,EAAG;AAAA;;AAAA;AAAC,UAAG,CAAC,MAAI,CAAC8yC,WAAT,EAAqB,MAAM,IAAI1yC,sDAAJ,CAAM,mCAAN,EAA0C,0BAA1C,CAAN;AAA4E,YAAMF,CAAC,GAAC,MAAI,CAACsJ,KAAL,CAAW4hC,aAAnB;AAAiC,UAAInrC,CAAC,GAAC,IAAN;AAAW,YAAMS,CAAC,GAAC,EAAR;AAAA,YAAWF,CAAC,GAAC,EAAb;AAAgB,YAAM6E,OAAO,CAACc,GAAR,CAAY,CAAC,MAAI,CAACstC,qBAAL,CAA2BzzC,CAAC,CAAC0zC,WAA7B,EAAyC,IAAzC,CAAD,EAAgD,MAAI,CAACD,qBAAL,CAA2BzzC,CAAC,CAAC2zC,cAA7B,EAA4C,IAA5C,CAAhD,CAAZ,CAAN;;AAAsH,YAAMhzC,CAAC,GAACX,CAAC,IAAE,cAAaA,CAAb,IAAgB,QAAMA,CAAC,CAAC4zC,QAAxB,GAAiC5zC,CAAC,CAAC4zC,QAAnC,GAA4C,gBAAe5zC,CAAf,IAAkB,QAAMA,CAAC,CAACuxC,UAAF,CAAarxC,CAAb,CAAxB,GAAwCF,CAAC,CAACuxC,UAAF,CAAarxC,CAAb,CAAxC,GAAwD,IAA/G;;AAAoH,UAAGF,CAAC,CAAC0zC,WAAF,KAAgBzzC,CAAC,GAAC,MAAI,CAAC4zC,mBAAL,CAAyB7zC,CAAC,CAAC0zC,WAA3B,CAAlB,GAA2D1zC,CAAC,CAAC8zC,cAAhE,EAA+E,KAAI,MAAM1zC,CAAV,IAAeJ,CAAC,CAAC8zC,cAAjB,EAAgC;AAAC,cAAM9zC,CAAC,GAACW,CAAC,CAACP,CAAD,CAAT;AAAa,gBAAMJ,CAAN,IAASU,CAAC,CAACoE,IAAF,CAAO9E,CAAP,CAAT;AAAmB;AAAA,YAAMM,CAAC,GAACN,CAAC,CAAC2zC,cAAF,IAAkB,MAAI,CAACf,kBAAvB,GAA0C,IAAIjgC,GAAJ,EAA1C,GAAkD,IAA1D;AAA+D,UAAG3S,CAAC,CAAC2zC,cAAL,EAAoB,KAAI,MAAMvzC,CAAV,IAAeJ,CAAC,CAAC2zC,cAAjB,EAAgC,IAAGnzC,CAAC,CAACsE,IAAF,CAAO,MAAI,CAACivC,iBAAL,CAAuB3zC,CAAvB,CAAP,GAAkCE,CAArC,EAAuC;AAAC,cAAMN,CAAC,GAACW,CAAC,CAACP,CAAD,CAAT;AAAa,gBAAMJ,CAAN,IAASM,CAAC,CAACoF,GAAF,CAAM1F,CAAN,EAAQI,CAAR,CAAT;AAAoB;AAAAsB,MAAAA,gGAAC,CAACzB,CAAC,GAACA,CAAC,CAACsuC,QAAH,GAAY,IAAd,EAAmB/tC,CAAnB,EAAqB,MAAI,CAACgJ,KAAL,CAAW5G,gBAAhC,CAAD;AAAmD,YAAK;AAACmoC,QAAAA,UAAU,EAAClqC,CAAZ;AAAcmzC,QAAAA,kBAAkB,EAACxyC;AAAjC,gBAA0C,MAAI,CAACsxC,WAAL,CAAiBM,MAAjB,CAAwB,YAAxB,EAAqC;AAACa,QAAAA,IAAI,EAACh0C,CAAC,GAACA,CAAC,CAACsuC,QAAH,GAAY,EAAnB;AAAsB2F,QAAAA,OAAO,EAAC1zC,CAA9B;AAAgC2zC,QAAAA,OAAO,EAACzzC;AAAxC,OAArC,CAA/C;AAAgI,aAAO,MAAI,CAACqqC,UAAL,GAAgBlqC,CAAhB,EAAkBZ,CAAC,IAAEA,CAAC,CAACm0C,MAAF,CAAS5yC,CAAC,CAAC6yC,aAAX,CAArB,EAA+C,MAAI,CAACC,uBAAL,CAA6Bh0C,CAA7B,EAA+BkB,CAA/B,CAA/C,EAAiF,MAAI,CAAC+yC,kBAAL,CAAwB/yC,CAAxB,CAAxF;AAAv4B;AAA0/B;;AAAMiyC,EAAAA,qBAAqB,CAACzzC,CAAD,EAAGE,CAAH,EAAK;AAAA;;AAAA;AAAC,UAAG,WAAS,MAAI,CAACs0C,0BAAd,IAA0C,QAAMx0C,CAAnD,EAAqD;AAAO,YAAMC,CAAC,GAAC,EAAR;;AAAW,WAAI,MAAK;AAACk3B,QAAAA,QAAQ,EAAC/2B;AAAV,OAAT,IAAwBJ,CAAxB,EAA0B,QAAMI,CAAN,IAAS,WAASA,CAAC,CAACmD,IAApB,IAA0BnD,CAAC,CAACq0C,SAA5B,IAAuCr0C,CAAC,CAACoF,MAAzC,IAAiDvF,CAAC,CAAC6E,IAAF,CAAO1E,CAAC,CAAC8E,IAAF,CAAO;AAACwC,QAAAA,MAAM,EAACxH;AAAR,OAAP,CAAP,CAAjD;;AAA4ED,MAAAA,CAAC,CAAC4N,MAAF,WAAgBxI,OAAO,CAACc,GAAR,CAAYlG,CAAZ,CAAhB;AAA9K;AAA6M;;AAAAq0C,EAAAA,uBAAuB,CAACt0C,CAAD,EAAGE,CAAH,EAAK;AAAC,QAAG,KAAK0yC,kBAAR,EAA2B;AAAC,UAAG5yC,CAAH,EAAK,KAAI,MAAMC,CAAV,IAAeC,CAAC,CAACw0C,aAAjB,EAA+B;AAAC,YAAG,CAACz0C,CAAC,CAAC00C,OAAN,EAAc;AAAS,cAAMz0C,CAAC,GAACF,CAAC,CAAC8Z,GAAF,CAAM7Z,CAAC,CAAC2zC,QAAR,CAAR;AAA0B,gBAAM1zC,CAAN,IAAS,KAAK00C,qBAAL,CAA2B10C,CAA3B,CAAT;AAAuC;;AAAA,WAAI,MAAMF,CAAV,IAAeE,CAAC,CAAC20C,aAAjB,EAA+B70C,CAAC,CAAC20C,OAAF,IAAW,KAAK/B,kBAAL,CAAwBhiB,MAAxB,CAA+B5wB,CAAC,CAAC4zC,QAAjC,CAAX;AAAsD;AAAC;;AAAAW,EAAAA,kBAAkB,CAACv0C,CAAD,EAAG;AAAC,WAAM;AAAC80C,MAAAA,iBAAiB,EAAC90C,CAAC,CAAC+0C,UAAF,GAAa/0C,CAAC,CAAC+0C,UAAF,CAAaxvC,GAAb,CAAiB,KAAKyvC,wBAAtB,EAA+C,IAA/C,CAAb,GAAkE,EAArF;AAAwFC,MAAAA,oBAAoB,EAACj1C,CAAC,CAAC00C,aAAF,GAAgB10C,CAAC,CAAC00C,aAAF,CAAgBnvC,GAAhB,CAAoB,KAAKyvC,wBAAzB,EAAkD,IAAlD,CAAhB,GAAwE,EAArL;AAAwLE,MAAAA,oBAAoB,EAACl1C,CAAC,CAAC60C,aAAF,GAAgB70C,CAAC,CAAC60C,aAAF,CAAgBtvC,GAAhB,CAAoB,KAAKyvC,wBAAzB,EAAkD,IAAlD,CAAhB,GAAwE,EAArR;AAAwRG,MAAAA,oBAAoB,EAAC,EAA7S;AAAgTC,MAAAA,uBAAuB,EAAC,EAAxU;AAA2UC,MAAAA,uBAAuB,EAAC;AAAnW,KAAN;AAA6W;;AAAAL,EAAAA,wBAAwB,CAACh1C,CAAD,EAAG;AAAC,UAAME,CAAC,GAAC,CAAC,CAAD,KAAKF,CAAC,CAAC20C,OAAP,GAAe,IAAf,GAAoB30C,CAAC,CAACyD,KAAF,IAAS;AAAC6xC,MAAAA,IAAI,EAAC,KAAK,CAAX;AAAavnC,MAAAA,WAAW,EAAC,KAAK;AAA9B,KAArC;AAAsE,WAAM;AAAC6lC,MAAAA,QAAQ,EAAC5zC,CAAC,CAAC4zC,QAAZ;AAAqB2B,MAAAA,QAAQ,EAACv1C,CAAC,CAACu1C,QAAhC;AAAyC9xC,MAAAA,KAAK,EAACvD,CAAC,GAAC,IAAIE,sDAAJ,CAAM,mCAAN,EAA0CF,CAAC,CAAC6N,WAA5C,EAAwD;AAACunC,QAAAA,IAAI,EAACp1C,CAAC,CAACo1C;AAAR,OAAxD,CAAD,GAAwE;AAAxH,KAAN;AAAoI;;AAAAzB,EAAAA,mBAAmB,CAAC7zC,CAAD,EAAG;AAAC,UAAME,CAAC,GAAC,IAAIyS,GAAJ,EAAR;AAAA,UAAgB1S,CAAC,GAAC,IAAIsG,KAAJ,CAAUvG,CAAC,CAAC6N,MAAZ,CAAlB;AAAsC,QAAIzN,CAAC,GAAC,IAAN;;AAAW,SAAI,IAAII,CAAC,GAAC,CAAV,EAAYA,CAAC,GAACR,CAAC,CAAC6N,MAAhB,EAAuBrN,CAAC,EAAxB,EAA2B;AAAC,YAAME,CAAC,GAACV,CAAC,CAACQ,CAAD,CAAT;AAAA,YAAaG,CAAC,GAAC,KAAKozC,iBAAL,CAAuBrzC,CAAvB,CAAf;;AAAyCN,MAAAA,CAAC,IAAE,QAAMM,CAAC,CAACy2B,QAAX,KAAsB/2B,CAAC,GAACM,CAAC,CAACy2B,QAAF,CAAW5zB,IAAnC,GAAyCtD,CAAC,CAACO,CAAD,CAAD,GAAKG,CAA9C,EAAgDT,CAAC,CAACwF,GAAF,CAAO,GAAE/E,CAAC,CAAC60C,GAAI,EAAf,EAAiB90C,CAAjB,CAAhD;AAAoE;;AAAA,UAAMA,CAAC,GAAC,IAAR;AAAa,WAAM;AAAC6tC,MAAAA,QAAQ,EAACtuC,CAAV;AAAYw1C,MAAAA,oBAAoB,EAACr1C,CAAjC;;AAAmCg0C,MAAAA,MAAM,CAACp0C,CAAD,EAAG;AAAC,cAAMC,CAAC,GAACS,CAAC,CAACwwC,UAAF,CAAa9F,aAArB;;AAAmC,aAAI,MAAMhrC,CAAV,IAAeJ,CAAf,EAAiB;AAAC,gBAAMQ,CAAC,GAACR,CAAC,CAACI,CAAD,CAAT;AAAA,gBAAaO,CAAC,GAACT,CAAC,CAAC4Z,GAAF,CAAM1Z,CAAN,CAAf;AAAwBO,UAAAA,CAAC,KAAGA,CAAC,CAAC4wC,UAAF,KAAe5wC,CAAC,CAAC4wC,UAAF,GAAa,EAA5B,GAAgC,CAAC,CAAD,KAAK/wC,CAAL,GAAO,OAAOG,CAAC,CAAC4wC,UAAF,CAAatxC,CAAb,CAAd,GAA8BU,CAAC,CAAC4wC,UAAF,CAAatxC,CAAb,IAAgBO,CAA9E,EAAgFE,CAAC,CAACk0C,qBAAF,CAAwBj0C,CAAxB,CAAnF,CAAD;AAAgH;AAAC;;AAA3O,KAAN;AAAmP;;AAAAi0C,EAAAA,qBAAqB,CAAC50C,CAAD,EAAG;AAAC,QAAG,CAAC,KAAK4yC,kBAAT,EAA4B;AAAO,UAAM1yC,CAAC,GAAC,KAAKgxC,UAAL,CAAgB9F,aAAxB;AAAA,UAAsCnrC,CAAC,GAACD,CAAC,CAACuxC,UAAF,GAAerxC,CAAf,CAAxC;AAA0D,YAAMD,CAAN,IAAS,KAAK2yC,kBAAL,CAAwBltC,GAAxB,CAA4BzF,CAA5B,EAA8BD,CAA9B,CAAT;AAA0C;;AAA8B,MAA1Bw0C,0BAA0B,GAAE;AAAC,WAAO,KAAKhrC,KAAL,EAAYwhC,YAAZ,IAA0B,KAAKkG,UAAL,EAAiBlG,YAAlD;AAA+D;;AAAAqI,EAAAA,6BAA6B,GAAE;AAAC,WAAO,KAAKJ,yCAAL,CAA+C,KAAKuB,0BAApD,CAAP;AAAuF;;AAAAkB,EAAAA,qCAAqC,CAAC11C,CAAD,EAAG;AAAC,WAAO,KAAKizC,yCAAL,CAA+CjzC,CAAC,CAACuD,IAAjD,CAAP;AAA8D;;AAAA0vC,EAAAA,yCAAyC,CAACjzC,CAAD,EAAG;AAAC,WAAM,WAASA,CAAT,IAAY,iBAAeA,CAA3B,IAA8B,aAAWA,CAA/C;AAAiD;;AAAA+zC,EAAAA,iBAAiB,CAAC/zC,CAAD,EAAG;AAAC,UAAK;AAACuxC,MAAAA,UAAU,EAACrxC;AAAZ,QAAeF,CAApB;AAAA,UAAsBC,CAAC,GAAC,KAAK01C,yBAAL,CAA+B31C,CAA/B,CAAxB;AAAA,UAA0DI,CAAC,GAAC,CAACL,CAAC,EAAF,EAAMmD,QAAN,EAA5D;;AAA6E,WAAOjD,CAAC,GAAC;AAACu1C,MAAAA,GAAG,EAACp1C,CAAL;AAAO+2B,MAAAA,QAAQ,EAACl3B,CAAC,CAACsK,MAAF,EAAhB;AAA2BgnC,MAAAA,UAAU,EAACrxC;AAAtC,KAAD,GAA0C;AAACs1C,MAAAA,GAAG,EAACp1C,CAAL;AAAOmxC,MAAAA,UAAU,EAACrxC;AAAlB,KAAlD;AAAuE;;AAAAy1C,EAAAA,yBAAyB,CAAC31C,CAAD,EAAG;AAAC,UAAK;AAACm3B,MAAAA,QAAQ,EAACj3B;AAAV,QAAaF,CAAlB;AAAoB,QAAG,QAAME,CAAT,EAAW,OAAO,IAAP;;AAAY,QAAG,KAAKw1C,qCAAL,CAA2Cx1C,CAA3C,CAAH,EAAiD;AAAC,aAAOA,CAAC,CAAC8Y,MAAF,GAASpX,wEAAA,CAAa1B,CAAC,CAAC8Y,MAAf,CAAT,GAAgC,IAAvC;AAA4C;;AAAA,WAAO9Y,CAAP;AAAS;;AAAM2yC,EAAAA,YAAY,CAAC7yC,CAAD,EAAG;AAAA;;AAAA;AAAC,YAAI,CAAC8yC,WAAL,SAAuBxyC,+DAAC,CAAC,oBAAD,EAAsB;AAAC8zB,QAAAA,QAAQ,EAAC/kB,wDAAG,CAAC,wBAAD,CAAH,GAA8B,WAA9B,GAA0C,OAApD;AAA4D3H,QAAAA,MAAM,EAAC1H,CAAnE;AAAqEm0B,QAAAA,cAAc,EAAC;AAApF,OAAtB,CAAxB;;AAAyI,YAAK;AAAC5nB,QAAAA,MAAM,EAACrM,CAAR;AAAU0C,QAAAA,gBAAgB,EAAC3C,CAA3B;AAA6BmrC,QAAAA,aAAa,EAAChrC,CAA3C;AAA6Cg4B,QAAAA,IAAI,EAAC13B,CAAlD;AAAoDy3B,QAAAA,IAAI,EAACx3B,CAAzD;AAA2D8qC,QAAAA,QAAQ,EAAC5qC,CAApE;AAAsEg1C,QAAAA,kBAAkB,EAACr0C;AAAzF,UAA4F,MAAI,CAACgI,KAAtG;AAAA,YAA4G1I,CAAC,GAAC,eAAa,MAAI,CAAC0I,KAAL,CAAWssC,QAAX,CAAoB,kBAApB,CAA3H;;AAAmK,YAAM,MAAI,CAACrC,qBAAL,CAA2B,MAAI,CAACxxB,KAAhC,EAAsCjiB,CAAtC,CAAN;;AAA+C,YAAMgB,CAAC,GAAC,MAAI,CAAC6yC,mBAAL,CAAyB,MAAI,CAAC5xB,KAA9B,CAAR;;AAA6C,YAAI,CAACve,UAAL,CAAgB,MAAI,CAACC,EAAL,CAAQ,gBAAR,EAA0B3D,CAAC,IAAE;AAACQ,QAAAA,iEAAA,CAAY,MAAZ,EAAkBiD,KAAlB,CAAwB,uGAAxB,GAAiIzD,CAAC,CAAC0wB,cAAF,EAAjI;AAAoJ,OAAlL,CAAhB;;AAAsM,YAAMhvB,CAAC,GAAC;AAAC6sC,QAAAA,QAAQ,EAACvtC,CAAC,CAACutC,QAAZ;AAAqBhiC,QAAAA,MAAM,EAACrM,CAAC,EAAEqF,GAAH,CAAQvF,CAAC,IAAEA,CAAC,CAACuK,MAAF,EAAX,CAA5B;AAAoDygC,QAAAA,YAAY,EAAC/oC,uFAAA,CAAS,MAAI,CAAC+wC,mBAAd,CAAjE;AAAoG5a,QAAAA,IAAI,EAAC,WAAS,MAAI,CAACoc,0BAAd,IAA0C9zC,CAAnJ;AAAqJy3B,QAAAA,IAAI,EAAC,WAAS,MAAI,CAACqc,0BAAd,IAA0C7zC,CAApM;AAAsMyqC,QAAAA,aAAa,EAAChrC,CAApN;AAAsNwC,QAAAA,gBAAgB,EAAC9B,CAAC,GAAC,IAAD,GAAMb,CAAC,IAAEA,CAAC,CAACsK,MAAF,EAAjP;AAA4PkhC,QAAAA,QAAQ,EAAC5qC,CAAC,EAAE0J,MAAH,MAAa,IAAlR;AAAuRsrC,QAAAA,kBAAkB,EAACr0C;AAA1S,OAAR;AAAA,YAAqTF,CAAC,SAAO,MAAI,CAACwxC,WAAL,CAAiBM,MAAjB,CAAwB,MAAxB,EAA+B1xC,CAA/B,EAAiC;AAACgG,QAAAA,MAAM,EAAC1H;AAAR,OAAjC,CAA7T;;AAA0W,WAAI,MAAMM,CAAV,IAAegB,CAAC,CAACy0C,QAAjB,EAA0Bv1C,iEAAA,CAAY,MAAI,CAACgJ,KAAjB,EAAwBqd,IAAxB,CAA6B,SAA7B,EAAwC,GAAEvmB,CAAC,CAAC+wB,OAAQ,aAAY,MAAI,CAAC7nB,KAAL,CAAWzG,KAAX,IAAkB,UAAW,WAAU,MAAI,CAACyG,KAAL,CAAW9G,EAAX,IAAe,OAAQ,IAA9H,EAAkI;AAACszC,QAAAA,OAAO,EAAC11C;AAAT,OAAlI;;AAA+IgB,MAAAA,CAAC,CAAC20C,aAAF,CAAgBpoC,MAAhB,IAAwBrN,iEAAA,CAAY,MAAI,CAACgJ,KAAjB,EAAwBqd,IAAxB,CAA6B,SAA7B,EAAwC,eAAcvlB,CAAC,CAAC20C,aAAF,CAAgBpoC,MAAO,uDAAsD,MAAI,CAACrE,KAAL,CAAWzG,KAAX,IAAkB,UAAW,WAAU,MAAI,CAACyG,KAAL,CAAW9G,EAAX,IAAe,OAAQ,IAAjM,EAAqM;AAACs/B,QAAAA,MAAM,EAAC1gC,CAAC,CAAC20C;AAAV,OAArM,CAAxB;AAAuP,YAAM70C,CAAC,GAACE,CAAC,CAACqrC,eAAV;AAA0B,YAAI,CAACsG,yCAAL,CAA+CjyC,CAAC,CAACy0C,oBAAjD,MAAyEr0C,CAAC,CAAC4pC,YAAF,GAAe/oC,uFAAA,CAASjB,CAAC,CAACy0C,oBAAX,CAAxF,GAA0H,MAAI,CAACvE,UAAL,GAAgB9vC,CAA1I,EAA4I,MAAI,CAACiyC,6BAAL,OAAuC,MAAI,CAACT,kBAAL,GAAwB,IAAIjgC,GAAJ,EAA/D,CAA5I,EAAoN3R,CAAC,CAACozC,MAAF,CAAS9yC,CAAC,CAAC40C,iBAAX,CAApN;AAAn3C;AAAqmD;;AAAp0N,CAA9C;AAAo3Nl2C,uDAAC,CAAC,CAACc,mFAAC,CAAC;AAACq1C,EAAAA,IAAI,EAACj2C,mDAAN;AAAQw0B,EAAAA,UAAU,EAAClzB,gFAAC,CAACtB,mDAAD;AAApB,CAAD,CAAF,CAAD,EAA+BsL,CAAC,CAACrD,SAAjC,EAA2C,UAA3C,EAAsD,KAAK,CAA3D,CAAD,EAA+DnI,uDAAC,CAAC,CAACa,uFAAC,EAAF,CAAD,EAAO2K,CAAC,CAACrD,SAAT,EAAmB,MAAnB,EAA0B,KAAK,CAA/B,CAAhE,EAAkGnI,uDAAC,CAAC,CAACa,uFAAC,CAAC;AAACu1C,EAAAA,aAAa,EAAC,CAAC;AAAhB,CAAD,CAAF,CAAD,EAAyB5qC,CAAC,CAACrD,SAA3B,EAAqC,OAArC,EAA6C,KAAK,CAAlD,CAAnG,EAAwJnI,uDAAC,CAAC,CAACa,uFAAC,CAAC;AAACwH,EAAAA,QAAQ,EAAC,CAAC;AAAX,CAAD,CAAF,CAAD,EAAoBmD,CAAC,CAACrD,SAAtB,EAAgC,qBAAhC,EAAsD,IAAtD,CAAzJ,EAAqNnI,uDAAC,CAAC,CAACa,uFAAC,EAAF,CAAD,EAAO2K,CAAC,CAACrD,SAAT,EAAmB,YAAnB,EAAgC,KAAK,CAArC,CAAtN,EAA8PqD,CAAC,GAACxL,uDAAC,CAAC,CAACgB,uFAAC,CAAC,2CAAD,CAAF,CAAD,EAAkDwK,CAAlD,CAAjQ;;;;;;;;;;;;;;;;;;;;;;ACJpgQ;AACA;AACA;AACA;AAC+R,cAAc,uBAAuB,YAAY,sBAAsB,aAAa,6FAA6F,cAAc,iGAAiG,OAAO,uDAAC,EAAE,sFAAC,EAAE,YAAY,gCAAgC,uDAAC,EAAE,sFAAC,0CAAmE;;;;;;;;;;;;;;;;;;;;;;;ACJ/rB;AACA;AACA;AACA;AAC4W,YAAY,sBAAsB,YAAY,qFAAqF,aAAa,QAAQ,iEAAC,WAAW,mCAAmC,8BAA8B,aAAa,qBAAqB,WAAW,gBAAgB,uEAAC,GAAG,iEAAW,WAAW,OAAO,uDAAC,EAAE,sFAAC,8BAA8B,uDAAC,EAAE,sFAAC,EAAE,YAAY,6BAA6B,uDAAC,EAAE,sFAAC,4CAAuE;;;;;;;;;;;;;;;;;;;;;;;;;ACJ30B;AACA;AACA;AACA;AACyV,SAAS,sYAAsY,0BAA0B,WAAW,iBAAiB,gBAAgB,oBAAoB,IAAI,MAAM,OAAO,uDAAC,CAAC,QAAQ,oBAAoB,wDAAC,EAAE,IAAI,MAAM,0BAA0B,8BAA8B,OAAO,sBAAsB,cAAc,+DAA+D,OAAO,uDAAC,EAAE,sFAAC,qCAAqC,uDAAC,EAAE,sFAAC,oCAAoC,uDAAC,EAAE,sFAAC,yCAA4G;;;;;;;;;;;;;;;;;;;;;;ACJxuC;AACA;AACA;AACA;AAC+R,YAAY,sBAAsB,cAAc,iDAAiD,OAAO,uDAAC,EAAE,sFAAC,EAAE,kBAAkB,OAAO,oBAAoB,uCAAuC,IAAI,4CAA4C,uDAAC,EAAE,sFAAC,oDAAuF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACJ5mB;AACA;AACA;AACA;AAC4gB,YAAY,qEAAc,CAAC,cAAc,0CAA0C,cAAc,4CAA4C,4BAA4B,QAAQ,qEAAC,GAAG,0CAA0C,8EAA8E,IAAI,yBAAyB,wBAAwB,6CAA6C,EAAE,iBAAiB,cAAc,2CAA2C,cAAc,qDAAqD,kBAAkB,0BAA0B,8GAAK,mBAAmB,yBAAyB,YAAY,MAAM,sBAAsB,kBAAkB,mDAAmD,MAAM,sEAAsE,8GAA8G,4BAA4B,oBAAoB,kOAAkO,oDAAC,OAAO,kCAAkC,UAAU,sBAAsB,MAAM,MAAM,2BAA2B,qBAAqB,oGAAoG,aAAa,KAAK,sGAAsG,kCAAkC,aAAa,KAAK,sGAAsG,kCAAkC,SAAS,cAAc,KAAK,sGAAsG,sBAAsB,oDAAC,2DAA2D,oDAAC,oBAAoB,8BAA8B,SAAS,iJAAiJ,oDAAC,2DAA2D,oDAAC,oBAAoB,8GAA8G,0IAA0I,yBAAyB,SAAS,EAAE,+BAA+B,MAAM,mCAAmC,oGAAoG,sFAAsF,wBAAwB,mHAAmH,SAAS,GAAG,mCAAmC,wDAAwD,4GAAC,QAAQ,WAAW,uDAAC,EAAE,sFAAC,+CAA+C,uDAAC,EAAE,sFAAC,2CAA4O;;;;;;;;;;;;;;;;;;;;;;;;ACJvxH;AACA;AACA;AACA;AAC0U,SAAS,OAAO,cAAc,IAAI,KAAK,iEAAC,OAAO,SAAS,8BAA8B,OAAO,sBAAsB,cAAc,8CAA8C,OAAO,uDAAC,EAAE,sFAAC,2CAA2C,uDAAC,EAAE,sFAAC,iDAA4G;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACJ/pB;AACA;AACA;AACA;AACo+C,YAAY,sBAAsB,cAAc,weAAwe,kEAAQ,CAAC,mEAAC,oSAAoS,4EAAO,sFAAsF,iCAAiC,yBAAyB,MAAM,eAAe,MAAM,MAAM,MAAM,+BAA+B,GAAG,sEAAsE,mJAAmJ,yFAAyF,qCAAqC,GAAG,iFAAC,oBAAoB,qFAAqF,sFAAsF,4BAA4B,sFAAsF,iCAAiC,OAAO,kGAAC,aAAa,qBAAqB,MAAM,cAAc,GAAG,UAAU,gEAAgE,MAAM,4BAA4B,0BAA0B,kBAAkB,QAAQ,oDAAC,KAAK,uBAAuB,GAAG,OAAO,iFAAC,+YAA+Y,kCAAkC,OAAO,iFAAC,IAAI,iCAAiC,0BAA0B,OAAO,iFAAC,gBAAgB,MAAM,uBAAuB,GAAG,yGAAyG,gCAAgC,0BAA0B,eAAe,MAAM,uBAAuB,GAAG,OAAO,iFAAC,+LAA+L,4BAA4B,uBAAuB,kBAAkB,iCAAiC,kBAAkB,iCAAiC,kCAAkC,OAAO,iFAAC,IAAI,qCAAqC,iDAAiD,WAAW,0CAA0C,QAAQ,mFAAC,EAAE,iDAAiD,iEAAW,OAAO,EAAE,uEAAuE,kBAAkB,gFAAC,kBAAkB,iBAAiB,OAAO,2EAAC,MAAM,OAAO,uDAAC,EAAE,sFAAC,EAAE,YAAY,kDAAkD,uDAAC,EAAE,sFAAC,EAAE,kBAAkB,SAAS,SAAS,MAAM,2BAA2B,mCAAmC,uDAAC,EAAE,sFAAC,EAAE,kBAAkB,iBAAiB,SAAS,MAAM,mwBAAmwB,sCAAsC,uDAAC,EAAE,kFAAC,4EAA4E,uDAAC,EAAE,sFAAC,CAAC,yEAAC,uEAAuE,uDAAC,EAAE,sFAAC,EAAE,aAAa,gDAAgD,uDAAC,EAAE,sFAAC,EAAE,kBAAkB,SAAS,SAAS,kBAAkB,oDAAoD,0BAA0B,8CAA8C,uDAAC,EAAE,sFAAC,EAAE,kBAAkB,SAAS,SAAS,MAAM,0BAA0B,sCAAsC,uDAAC,EAAE,sFAAC,EAAE,iBAAiB,mEAAC,CAAC,wCAAwC,uDAAC,EAAE,sFAAC,EAAE,YAAY,qCAAqC,uDAAC,EAAE,kFAAC,qDAAqD,uDAAC,EAAE,sFAAC,EAAE,YAAY,6CAA6C,uDAAC,EAAE,sFAAC,OAAO,QAAQ,oDAAC,CAAC,wEAAC,mBAAmB,qBAAqB,iBAAiB,mBAAmB,iBAAiB,GAAG,0CAA0C,uDAAC,EAAE,sFAAC,EAAE,KAAK,mEAAC,OAAO,mDAAmD,aAAa,wCAAwC,+BAA+B,sFAAC,KAAK,mCAAmC,uDAAC,EAAE,sFAAC,EAAE,KAAK,4DAAC,OAAO,SAAS,SAAS,MAAM,oBAAoB,oCAAoC,uDAAC,EAAE,sFAAC,qCAAqC,uDAAC,EAAE,sFAAC,EAAE,iBAAiB,uEAAC,OAAO,MAAM,8BAA8B,4CAA4C,uDAAC,EAAE,sFAAC,EAAE,2EAA2E,SAAS,SAAS,KAAK,sFAAM,IAAI,sCAAsC,uDAAC,EAAE,sFAAC,EAAE,YAAY,uCAAuC,uDAAC,EAAE,kFAAC,yGAAyG,uDAAC,EAAE,sFAAC,EAAE,YAAY,kDAAkD,uDAAC,EAAE,sFAAC,EAAE,mBAAmB,SAAS,SAAS,WAAW,8BAA8B,uDAAC,EAAE,sFAAC,EAAE,YAAY,iDAAiD,uDAAC,EAAE,sFAAC,EAAE,mBAAmB,SAAS,SAAS,WAAW,8BAA8B,uDAAC,EAAE,sFAAC,EAAE,iBAAiB,qEAAC,CAAC,yCAAyC,uDAAC,EAAE,sFAAC,EAAE,UAAU,wCAAwC,uDAAC,EAAE,sFAAC,EAAE,KAAK,kEAAQ,CAAC,mEAAC,cAAc,iCAAiC,uDAAC,EAAE,sFAAC,EAAE,YAAY,iCAAiC,uDAAC,EAAE,kFAAC,2EAA2E,uDAAC,EAAE,sFAAC,EAAE,kBAAkB,SAAS,SAAS,MAAM,aAAa,gBAAgB,eAAe,cAAc,UAAU,iCAAiC,uDAAC,EAAE,sFAAC,CAAC,mEAAC,kCAAkC,uDAAC,EAAE,kFAAC,0FAA0F,uDAAC,EAAE,sFAAC,CAAC,mEAAC,kCAAkC,uDAAC,EAAE,kFAAC,0FAA0F,uDAAC,EAAE,sFAAC,EAAE,YAAY,uCAAuC,uDAAC,EAAE,kFAAC,yGAAyG,uDAAC,EAAE,sFAAC,CAAC,yEAAC,qEAAqE,uDAAC,EAAE,sFAAC,EAAE,MAAM,iEAAC,cAAc,uCAAuC,uDAAC,EAAE,sFAAC,EAAE,aAAa,iCAAiC,uDAAC,EAAE,sFAAC,EAAE,aAAa,iCAAiC,uDAAC,EAAE,sFAAC,EAAE,kBAAkB,UAAU,oCAAoC,uDAAC,EAAE,sFAAC,EAAE,YAAY,qDAAqD,uDAAC,EAAE,kFAAC,0IAA0I,uDAAC,EAAE,sFAAC,EAAE,8BAA8B,iBAAiB,SAAS,WAAW,uCAAuC,uDAAC,EAAE,sFAAC,qCAAqC,uDAAC,EAAE,sFAAC,EAAE,KAAK,sEAAC,OAAO,SAAS,SAAS,MAAM,qCAAqC,0CAA0C,uDAAC,EAAE,sFAAC,EAAE,8BAA8B,SAAS,SAAS,WAAW,sCAAsC,uDAAC,EAAE,sFAAC,EAAE,MAAM,4DAAC,oBAAoB,iBAAiB,SAAS,WAAW,kCAAkC,uDAAC,EAAE,sFAAC,EAAE,kBAAkB,MAAM,iCAAiC,sCAAsC,uDAAC,EAAE,sFAAC,CAAC,8DAAC,2BAA2B,uDAAC,EAAE,kFAAC,sCAAsC,uDAAC,EAAE,sFAAC,EAAE,MAAM,SAAS,SAAS,SAAS,UAAU,iCAAiC,uDAAC,EAAE,kFAAC,2LAA2L,uDAAC,EAAE,sFAAC,+CAA6E;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACJ9xU;AACA;AACA;AACA;AAC2kC,YAAY,sBAAsB,kBAAkB,4BAA4B,8DAAC,2BAA2B,0BAA0B,+DAA+D,iCAAiC,EAAE,yDAAC,GAAG,wBAAwB,2CAA2C,gCAAgC,iBAAiB,4BAA4B,kBAAkB,0BAA0B,0CAA0C,yEAAyE,mFAAC,EAAE,iCAAiC,uFAAC,EAAE,QAAQ,MAAM,uFAAC,EAAE,sBAAsB,MAAM,uFAAC,EAAE,sBAAsB,GAAG,GAAG,SAAS,8BAA8B,gCAAgC,yBAAyB,mEAAC,EAAE,oFAAoF,8GAA8G,kCAAkC,GAAG,MAAM,qBAAqB,kDAAkD,mEAAmE,aAAa,gIAAgI,QAAQ,wGAAC,2HAA2H,oEAAC,EAAE,kCAAkC,EAAE,wFAAwF,2BAA2B,QAAQ,wGAAC,kBAAkB,kCAAkC,yCAAyC,qEAAqE,OAAO,uDAAC,EAAE,uFAAC,CAAC,wFAAC,0CAA0C,uDAAC,EAAE,uFAAC,oDAAuF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACJ35F;AACA;AACA;AACA;AAC87B,YAAY,sBAAsB,cAAc,+DAA+D,cAAc,mDAAmD,uBAAuB,wCAAwC,kFAAC,UAAU,eAAe,mCAAmC,qDAAqD,gBAAgB,mBAAmB,kBAAkB,SAAS,sEAAW,SAAS,yBAAyB,gFAAgF,sDAAC,iGAAiG,UAAU,kBAAkB,4EAAC,gCAAgC,WAAW,sEAAsE,cAAc,WAAW,SAAS,GAAG,2CAA2C,IAAI,kEAAC,IAAI,uCAAuC,0OAA0O,sDAAC,gCAAgC,WAAW,IAAI,QAAQ,aAAa,mBAAmB,yCAAyC,EAAE,IAAI,WAAW,QAAQ,uBAAuB,gBAAgB,4DAA4D,sDAAC,2DAA2D,OAAO,iEAAC,gCAAgC,sDAAC,+BAA+B,WAAW,IAAI,QAAQ,aAAa,mBAAmB,kEAAkE,WAAW,6BAA6B,gBAAgB,OAAO,uDAAC,EAAE,sFAAC,EAAE,kBAAkB,OAAO,gBAAgB,UAAU,aAAa,OAAO,+BAA+B,gBAAgB,YAAY,4BAA4B,uDAAC,EAAE,kFAAC,0CAA0C,uDAAC,EAAE,sFAAC,CAAC,mEAAC,kCAAkC,uDAAC,EAAE,kFAAC,gDAAgD,uDAAC,EAAE,sFAAC,EAAE,8BAA8B,eAAe,mCAAmC,UAAU,eAAe,SAAS,cAAc,gCAAgC,+CAA+C,uFAAC,KAAK,8CAA8C,uDAAC,EAAE,kFAAC,wEAAwE,uDAAC,EAAE,sFAAC,CAAC,kEAAC,iCAAiC,uDAAC,EAAE,sFAAC,EAAE,yBAAyB,4CAA4C,uDAAC,EAAE,sFAAC,EAAE,kBAAkB,OAAO,wCAAwC,UAAU,aAAa,OAAO,uDAAuD,gBAAgB,WAAW,eAAe,+BAA+B,uDAAC,EAAE,kFAAC,UAAU,kFAAC,wDAAwD,uDAAC,EAAE,sFAAC,EAAE,KAAK,4DAAC,OAAO,SAAS,aAAa,OAAO,oBAAoB,uFAAC,KAAK,8CAA8C,uDAAC,EAAE,kFAAC,6DAA6D,uDAAC,EAAE,kFAAC,+DAA+D,sBAAsB,OAAO,wEAAC,CAAC,qEAAC,IAAI,uCAAuC,uDAAC,EAAE,sFAAC,EAAE,mBAAmB,SAAS,aAAa,yBAAyB,+BAA+B,uFAAC,GAAG,6BAA6B,mCAAmC,uDAAC,EAAE,sFAAC,+CAA+C,cAAc,iCAAuF;;;;;;;;;;;;;;;;;;;;;;;;;ACJxxI;AACA;AACA;AACA;AAC4X,kBAAkB,kBAAkB,+BAA+B,kBAAkB,YAAY,+DAAC,CAAC,uBAAuB,oBAAoB,+BAA+B,GAAG,6DAAC,mBAAmB,SAAS,MAAM,+DAAC,QAAQ,SAAS,aAAa,kBAAkB,sCAAsC,SAAS,QAAQ,WAAW,OAAO,sBAAsB,cAAc,wCAAwC,OAAO,uDAAC,EAAE,sFAAC,qCAAqC,uDAAC,EAAE,sFAAC,2CAA0F;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACJn6B;AACA;AACA;AACA;AACA;AAA8C;AAA+B;AAAqC;AAAgC;AAAkD;AAAmC;AAAoC;AAAmD;AAAqG;AAAkG;AAA6E;AAA0B;AAAgC;AAAyE;AAA6E;AAAyE;AAA8D;AAAsC;AAA0C;AAA0C;;AAA4E,MAAMlJ,CAAC,GAACA,CAAC,IAAE;AAAC,MAAIvC,CAAC,GAAC,cAAcuC,CAAd,CAAe;AAACG,IAAAA,WAAW,GAAE;AAAC,YAAM,GAAGqK,SAAT,GAAoB,KAAKsG,kBAAL,GAAwB;AAACzQ,QAAAA,UAAU,EAAC,IAAZ;AAAiB0Q,QAAAA,KAAK,EAAC;AAAvB,OAA5C,EAAuE,KAAK65B,wBAAL,GAA8B,CAAC,CAAtG,EAAwG,KAAKqJ,4BAAL,GAAkC,CAAC,CAA3I,EAA6I,KAAKC,2BAAL,GAAiC,CAAC,CAA/K;AAAiL;;AAAApyC,IAAAA,OAAO,GAAE;AAAC,WAAKzB,UAAL,GAAgB9B,4DAAC,CAAC,KAAK8B,UAAN,CAAjB,EAAmC,KAAKyQ,kBAAL,CAAwBzQ,UAAxB,GAAmC,IAAtE,EAA2E,KAAKyQ,kBAAL,CAAwBC,KAAxB,CAA8BxF,MAA9B,GAAqC,CAAhH;AAAkH;;AAAc,QAAVlL,UAAU,CAACzC,CAAD,EAAG;AAACA,MAAAA,CAAC,KAAG,KAAKsE,IAAL,CAAU,YAAV,CAAJ,KAA8B,KAAKiyC,YAAL,CAAkB,aAAlB,GAAiC,KAAKlyC,IAAL,CAAU,YAAV,EAAuBrE,CAAvB,CAA/D;AAA0F;;AAAAw2C,IAAAA,cAAc,CAACx2C,CAAD,EAAGF,CAAH,EAAKC,CAAL,EAAO;AAAC,UAAGD,CAAC,CAAC4H,MAAL,EAAY,OAAO,IAAI+E,8DAAJ,CAAM;AAACjK,QAAAA,EAAE,EAAC1C,CAAC,CAAC4H,MAAN;AAAaxB,QAAAA,MAAM,EAACnG,CAAC,EAAEmG;AAAvB,OAAN,CAAP;AAA6C;;AAAAuwC,IAAAA,eAAe,CAACz2C,CAAD,EAAGF,CAAH,EAAK;AAACE,MAAAA,CAAC,EAAEwC,EAAH,KAAQ1C,CAAC,CAAC4H,MAAF,GAAS1H,CAAC,CAACwC,EAAnB;AAAuB;;AAAMopC,IAAAA,cAAc,CAAC5rC,CAAD,EAAGF,CAAH,EAAK;AAAA;;AAAA;AAAC,YAAG,KAAI,CAAC2C,UAAL,EAAiBD,EAApB,EAAuB,IAAG;AAAC,gBAAK;AAACwC,YAAAA,IAAI,EAACjF;AAAN,oBAAe,+cAApB;AAAmE,iBAAOU,qEAAC,CAACX,CAAD,CAAD,QAAWC,CAAC,CAAC;AAAC22C,YAAAA,QAAQ,EAAC,KAAV;AAAe7K,YAAAA,cAAc,EAAC7rC,CAAC,CAAC6rC,cAAhC;AAA+C8K,YAAAA,YAAY,EAAC32C,CAAC,CAAC22C,YAA9D;AAA2EC,YAAAA,YAAY,EAAC52C,CAAC,CAAC42C,YAA1F;AAAuGC,YAAAA,kBAAkB,EAAC72C,CAAC,CAAC62C;AAA5H,WAAD,EAAiJ/2C,CAAjJ,CAAnB;AAAuK,SAA9O,CAA8O,OAAMC,CAAN,EAAQ;AAAC,gBAAMa,mEAAC,CAACb,CAAD,CAAD,IAAMK,iEAAA,CAAY,KAAZ,EAAkBumB,IAAlB,CAAwB,yBAAwB,KAAI,CAAC9jB,KAAM,KAAI,KAAI,CAACL,EAAG,kBAAiB,KAAI,CAACC,UAAL,CAAgBD,EAAG,QAAOzC,CAAE,EAApH,CAAN,EAA6HA,CAAnI;AAAqI;AAApZ;AAAqZ;;AAAM+2C,IAAAA,6BAA6B,CAAC92C,CAAD,EAAG;AAAA;;AAAA;AAAC,cAAI,CAACqE,IAAL,CAAU,0BAAV,QAA2C,MAAI,CAAC0yC,8BAAL,CAAoC/2C,CAApC,EAAuC6D,KAAvC,CAA8C7D,CAAC,KAAGsB,wEAAC,CAACtB,CAAD,CAAD,EAAK,CAAC,CAAT,CAA/C,CAA3C;AAAD;AAA0G;;AAAMg3C,IAAAA,iBAAiB,CAACh3C,CAAD,EAAGD,CAAH,EAAK;AAAA;;AAAA;AAAC,YAAG,CAACD,wEAAJ,EAA4B,OAAO,MAAI,CAACg3C,6BAAL,CAAmC/2C,CAAnC,CAAP;AAA6C,YAAG,MAAI,CAAC4F,GAAR,EAAY,IAAG;AAAC,gBAAK;AAAC0oC,YAAAA,QAAQ,EAAC;AAAC6I,cAAAA,IAAI,EAACp3C,CAAN;AAAQq3C,cAAAA,QAAQ,EAACj3C;AAAjB,aAAV;AAA8B4M,YAAAA,OAAO,EAAC;AAACsqC,cAAAA,UAAU,EAAC52C;AAAZ;AAAtC,oBAA4D,MAAI,CAAC62C,oBAAL,CAA0Br3C,CAA1B,EAA4BD,CAA5B,CAAjE;AAAgG,gBAAI,CAACsE,IAAL,CAAU,0BAAV,EAAqCvE,CAArC,GAAwC,MAAI,CAACuE,IAAL,CAAU,8BAAV,EAAyCnE,CAAzC,CAAxC,EAAoF,MAAI,CAACmE,IAAL,CAAU,6BAAV,EAAwC7D,CAAxC,CAApF;AAA+H,SAAnO,CAAmO,OAAMN,CAAN,EAAQ;AAACoB,UAAAA,wEAAC,CAACpB,CAAD,CAAD;AAAK;AAAvU;AAAwU;;AAAMm3C,IAAAA,oBAAoB,CAACr3C,CAAD,EAAGF,CAAH,EAAK;AAAA;;AAAA;AAAC,YAAII,CAAC,GAAC,MAAI,CAACuC,UAAX;AAAsB,YAAG,CAACzC,CAAD,IAAI,CAACE,CAAL,IAAQ,CAACA,CAAC,CAACoF,MAAX,IAAmBpF,CAAC,CAACo3C,SAAxB,EAAkC,OAAO,MAAI,CAACC,4BAAL,CAAkCz3C,CAAlC,CAAP;AAA4C,cAAMU,CAAC,GAACR,CAAC,KAAGE,CAAC,CAACsC,EAAd;AAAiB,YAAGhC,CAAC,IAAEN,CAAC,CAACgG,MAAF,CAASuf,IAAf,EAAoB,OAAOtf,sFAAC,CAACjG,CAAD,CAAR;AAAY,YAAII,CAAJ,EAAMF,CAAN;AAAQ,YAAGI,CAAH,EAAKF,CAAC,GAACJ,CAAC,CAACgG,MAAF,CAASP,GAAX,CAAL,KAAyB,IAAG;AAACrF,UAAAA,CAAC,SAAO2B,2EAAC,CAAC,MAAI,CAAC0D,GAAN,EAAU7F,CAAV,CAAT;AAAsB,SAA1B,CAA0B,OAAM0B,CAAN,EAAQ;AAACF,UAAAA,wEAAC,CAACE,CAAD,CAAD;AAAK;AAAA,YAAG,CAAClB,CAAD,IAAI,CAACQ,0EAAC,CAACR,CAAD,EAAGJ,CAAC,CAACgG,MAAF,CAASP,GAAZ,CAAT,EAA0B,OAAO,MAAI,CAAC4xC,4BAAL,CAAkCz3C,CAAlC,CAAP;;AAA4C,YAAG;AAAC,gBAAME,CAAC,GAAC,QAAMF,CAAN,GAAQA,CAAC,CAAC0H,MAAV,GAAiB,IAAzB;AAA8BpH,UAAAA,CAAC,SAAOL,wDAAA,CAAkB,GAAEO,CAAE,UAAtB,EAAgC;AAACm3C,YAAAA,MAAM,EAAC,CAAC,CAAT;AAAWjwC,YAAAA,MAAM,EAACxH;AAAlB,WAAhC,CAAR;AAA+D,SAAjG,CAAiG,OAAMwB,CAAN,EAAQ;AAACF,UAAAA,wEAAC,CAACE,CAAD,CAAD;AAAK;;AAAA,cAAMb,CAAC,GAAC,CAAC,CAAT;AAAA,cAAWF,CAAC,GAAC,CAAC,CAAd;AAAA,cAAgBG,CAAC,GAAC,CAAC,CAAnB;AAAqB,YAAG,CAACR,CAAJ,EAAM,OAAM;AAACiuC,UAAAA,QAAQ,EAAC;AAAC6I,YAAAA,IAAI,EAACv2C,CAAN;AAAQw2C,YAAAA,QAAQ,EAAC12C;AAAjB,WAAV;AAA8BqM,UAAAA,OAAO,EAAC;AAACsqC,YAAAA,UAAU,EAACx2C;AAAZ;AAAtC,SAAN;;AAA4D,YAAG;AAAC,cAAGJ,CAAC,SAAON,CAAC,CAACw3C,MAAF,EAAP,IAAmBx3C,CAAC,GAAC,IAAIuM,8DAAJ,CAAM;AAACjK,YAAAA,EAAE,EAACxC,CAAJ;AAAMkG,YAAAA,MAAM,EAAC;AAACP,cAAAA,GAAG,EAACrF;AAAL;AAAb,WAAN,CAAF,QAAqCJ,CAAC,CAAC8E,IAAF,CAAOlF,CAAP,CAAxD,CAAD,EAAoEI,CAAC,CAACgG,MAAF,CAASuf,IAAhF,EAAqF,OAAOtf,sFAAC,CAACjG,CAAD,CAAR;AAAY,SAArG,CAAqG,OAAMsB,CAAN,EAAQ;AAACF,UAAAA,wEAAC,CAACE,CAAD,CAAD;AAAK;;AAAA,eAAM;AAAC6sC,UAAAA,QAAQ,EAAC;AAAC6I,YAAAA,IAAI,EAACv2C,CAAN;AAAQw2C,YAAAA,QAAQ,EAAC12C;AAAjB,WAAV;AAA8BqM,UAAAA,OAAO,EAAC;AAACsqC,YAAAA,UAAU,EAACx2C;AAAZ;AAAtC,SAAN;AAA9lB;AAA0pB;;AAAM22C,IAAAA,4BAA4B,CAACv3C,CAAD,EAAG;AAAA;;AAAA;AAAC,YAAIF,CAAC,GAAC,CAAC,CAAP;;AAAS,YAAG;AAACA,UAAAA,CAAC,SAAO,MAAI,CAACi3C,8BAAL,CAAoC/2C,CAApC,CAAR;AAA+C,SAAnD,CAAmD,OAAMD,CAAN,EAAQ;AAACuB,UAAAA,wEAAC,CAACvB,CAAD,CAAD;AAAK;;AAAA,eAAM;AAACsuC,UAAAA,QAAQ,EAAC;AAAC6I,YAAAA,IAAI,EAACp3C,CAAN;AAAQq3C,YAAAA,QAAQ,EAAC,CAAC;AAAlB,WAAV;AAA+BrqC,UAAAA,OAAO,EAAC;AAACsqC,YAAAA,UAAU,EAAC,CAAC;AAAb;AAAvC,SAAN;AAA3E;AAAyI;;AAAML,IAAAA,8BAA8B,CAAC/2C,CAAD,EAAG;AAAA;;AAAA;AAAC,cAAMF,CAAC,GAAC,MAAI,CAAC6F,GAAL,GAAS5F,yDAAA,CAAkB,MAAI,CAAC4F,GAAvB,CAAT,GAAqC,IAA7C;AAAkD,YAAG,CAAC7F,CAAJ,EAAM,OAAM,CAAC,CAAP;AAAS,cAAMI,CAAC,GAACiL,CAAC,CAACwsC,UAAF,KAAe73C,CAAf,GAAiBqL,CAAC,CAACsa,IAAnB,SAA8B,MAAI,CAACmyB,iBAAL,CAAuB53C,CAAvB,CAAtC;AAAgE,eAAOmL,CAAC,CAACwsC,UAAF,GAAa73C,CAAb,EAAeqL,CAAC,CAACsa,IAAF,GAAOvlB,CAAtB,EAAwB,QAAMA,CAAC,EAAE23C,UAAT,IAAqB33C,CAAC,CAAC23C,UAAF,CAAajmB,QAAb,CAAsB,oBAAtB,CAApD;AAAlI;AAAkO;;AAAMgmB,IAAAA,iBAAiB,CAAC53C,CAAD,EAAG;AAAA;;AAAA;AAAC,cAAMF,CAAC,GAAC,MAAI,CAAC2C,UAAL,EAAiByD,MAAjB,EAAyBuf,IAAjC;AAAsC,YAAG3lB,CAAH,EAAK,OAAOA,CAAP;AAAS,cAAMQ,CAAC,GAACP,yDAAA,CAAkB,MAAI,CAAC4F,GAAL,IAAU,EAA5B,CAAR;AAAwC,YAAG,CAACrF,CAAC,EAAEy3C,eAAP,EAAuB,OAAO,IAAP;AAAY,cAAM33C,CAAC,GAAE,GAAEE,CAAC,CAACy3C,eAAgB,eAA7B;AAAA,cAA4Cp3C,CAAC,GAAC0B,qEAAA,EAA9C;AAA6D,YAAG1B,CAAC,IAAEA,CAAC,CAAC2E,MAAL,IAAa9D,6DAAC,CAACb,CAAC,CAACq3C,OAAH,CAAD,KAAex2C,6DAAC,CAACpB,CAAD,CAAhC,EAAoC,OAAOO,CAAC,CAAC8kB,IAAT;AAAc,cAAMhlB,CAAC,GAAE,GAAEL,CAAE,iBAAb;AAAA,cAA8BQ,CAAC,GAAC,QAAMZ,CAAN,GAAQA,CAAC,CAACwH,MAAV,GAAiB,IAAjD;AAAA,cAAsDlG,CAAC,SAAOd,2DAAC,CAACN,uDAAC,CAACO,CAAD,EAAG;AAACw3C,UAAAA,QAAQ,EAAC,WAAV;AAAsBhxC,UAAAA,KAAK,EAAC;AAACvF,YAAAA,CAAC,EAAC;AAAH,WAA5B;AAAuC8F,UAAAA,MAAM,EAAC5G;AAA9C,SAAH,CAAF,CAA/D;AAAuH,eAAOU,CAAC,CAACua,EAAF,GAAKha,uEAAA,CAAWP,CAAC,CAACkM,KAAF,CAAQxJ,IAAnB,CAAL,GAA8B,IAArC;AAAtW;AAAgZ;;AAAAD,IAAAA,IAAI,CAAC/D,CAAD,EAAGF,CAAH,EAAK;AAACA,MAAAA,CAAC,KAAGA,CAAC,CAACwJ,KAAF,GAAQ,IAAX,CAAD,EAAkB,MAAMvF,IAAN,CAAW/D,CAAX,EAAaF,CAAb,CAAlB;AAAkC;;AAAA2F,IAAAA,KAAK,CAACzF,CAAD,EAAGF,CAAH,EAAK;AAAC,YAAMC,CAAC,GAACD,CAAC,EAAEoG,MAAX;AAAA,YAAkBhG,CAAC,GAAC,KAAKuC,UAAL,EAAiBD,EAAjB,KAAsB,KAAKC,UAAL,CAAgByD,MAAhB,IAAwB7D,qEAAA,EAA9C,CAApB;AAAkF,aAAOtC,CAAC,IAAEG,CAAH,IAAM,CAACc,iEAAC,CAACd,CAAC,CAAC83C,OAAH,EAAWj4C,CAAC,CAACi4C,OAAb,CAAR,IAA+Bl4C,CAAC,CAACsJ,QAAF,IAAYtJ,CAAC,CAACsJ,QAAF,CAAWxE,IAAX,CAAgB,IAAItE,sDAAJ,CAAM,oBAAN,EAA4B,cAAa,KAAKuC,KAAM,KAAI,KAAKL,EAAG,+MAAhE,EAA+Q;AAAC8G,QAAAA,KAAK,EAAC;AAAP,OAA/Q,CAAhB,CAAZ,EAA0T,IAAzV,IAA+V,MAAM7D,KAAN,CAAYzF,CAAZ,EAAc,EAAC,GAAGF,CAAJ;AAAMwJ,QAAAA,KAAK,EAAC;AAAZ,OAAd,CAAtW;AAAuY;;AAA/+G,GAArB;;AAAsgH,SAAOtJ,uDAAC,CAAC,CAACoB,uFAAC,CAAC;AAACiC,IAAAA,IAAI,EAACoJ,8DAACA;AAAP,GAAD,CAAF,CAAD,EAAe5M,CAAC,CAACoI,SAAjB,EAA2B,YAA3B,EAAwC,IAAxC,CAAD,EAA+CjI,uDAAC,CAAC,CAAC0B,mFAAC,CAAC,cAAD,EAAgB,YAAhB,EAA6B,CAAC,QAAD,CAA7B,CAAF,CAAD,EAA6C7B,CAAC,CAACoI,SAA/C,EAAyD,gBAAzD,EAA0E,IAA1E,CAAhD,EAAgIjI,uDAAC,CAAC,CAACkB,mFAAC,CAAC,cAAD,EAAgB,YAAhB,EAA6B;AAACwG,IAAAA,MAAM,EAAC;AAACrE,MAAAA,IAAI,EAAC6E;AAAN;AAAR,GAA7B,CAAF,CAAD,EAAyDrI,CAAC,CAACoI,SAA3D,EAAqE,iBAArE,EAAuF,IAAvF,CAAjI,EAA8NjI,uDAAC,CAAC,CAACoB,uFAAC,CAAC;AAACowC,IAAAA,QAAQ,EAAC,CAAC;AAAX,GAAD,CAAF,CAAD,EAAoB3xC,CAAC,CAACoI,SAAtB,EAAgC,oBAAhC,EAAqD,KAAK,CAA1D,CAA/N,EAA4RjI,uDAAC,CAAC,CAACoB,uFAAC,CAAC;AAACiC,IAAAA,IAAI,EAACgL,OAAN;AAAclG,IAAAA,QAAQ,EAAC,CAAC;AAAxB,GAAD,CAAF,CAAD,EAAiCtI,CAAC,CAACoI,SAAnC,EAA6C,0BAA7C,EAAwE,KAAK,CAA7E,CAA7R,EAA6WjI,uDAAC,CAAC,CAACoB,uFAAC,CAAC;AAACiC,IAAAA,IAAI,EAACgL,OAAN;AAAclG,IAAAA,QAAQ,EAAC,CAAC;AAAxB,GAAD,CAAF,CAAD,EAAiCtI,CAAC,CAACoI,SAAnC,EAA6C,8BAA7C,EAA4E,KAAK,CAAjF,CAA9W,EAAkcjI,uDAAC,CAAC,CAACoB,uFAAC,CAAC;AAACiC,IAAAA,IAAI,EAACgL,OAAN;AAAclG,IAAAA,QAAQ,EAAC,CAAC;AAAxB,GAAD,CAAF,CAAD,EAAiCtI,CAAC,CAACoI,SAAnC,EAA6C,6BAA7C,EAA2E,KAAK,CAAhF,CAAnc,EAAshBpI,CAAC,GAACG,uDAAC,CAAC,CAAC+B,uFAAC,CAAC,gCAAD,CAAF,CAAD,EAAuClC,CAAvC,CAAzhB,EAAmkBA,CAA1kB;AAA4kB,CAA9lI;AAAA,MAA+lIsL,CAAC,GAAC;AAACwsC,EAAAA,UAAU,EAAC,IAAZ;AAAiBlyB,EAAAA,IAAI,EAAC;AAAtB,CAAjmI;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACJ/mC;AACA;AACA;AACA;AACA;AAA8C;AAA6E;AAA0B;AAA6B;AAAgC;AAA6E;AAA4C,MAAMnlB,CAAC,GAACua,MAAM,EAAd;;AAAiB,SAASra,CAAT,CAAWR,CAAX,EAAa;AAAC,SAAO,QAAMA,CAAN,IAAS,YAAU,OAAOA,CAA1B,IAA6BM,CAAC,IAAIN,CAAzC;AAA2C;;AAAA,MAAMS,CAAC,GAACD,CAAC,IAAE;AAAC,MAAIC,CAAJ;AAAM,MAAIa,CAAC,GAAC,cAAcd,CAAd,CAAe;AAAC+B,IAAAA,WAAW,GAAE;AAAC,YAAM,GAAGqK,SAAT,GAAoB,KAAKnM,CAAL,IAAQ,CAAC,CAA7B;AAA+B;;AAAkB,QAAdy3C,cAAc,GAAE;AAAC,UAAG,KAAKC,SAAR,EAAkB,OAAO,IAAP;;AAAY,YAAMn4C,CAAC,GAAC,KAAKsE,IAAL,CAAU,gBAAV,CAAR;;AAAoC,UAAGtE,CAAH,EAAK,OAAOA,CAAP;AAAS,YAAME,CAAC,GAAC,IAAIH,kEAAJ,EAAR;AAAc,aAAO,KAAKq4C,sBAAL,CAA4Bl4C,CAA5B,GAA+BA,CAAtC;AAAwC;;AAAAk4C,IAAAA,sBAAsB,CAACp4C,CAAD,EAAG;AAAA;;AAAC,YAAME,CAAC,GAAC,GAAR;AAAA,YAAYJ,CAAC,GAAC,GAAd;AAAkB,UAAIC,CAAC,GAAC,CAAN;;AAAQ,YAAMO,CAAC;AAAA,qNAAC,WAAMJ,CAAN,EAAS;AAAC,cAAIO,CAAJ;AAAMT,UAAAA,CAAC,CAACq4C,QAAF,GAAW,CAAC,CAAZ;;AAAc,cAAG;AAAC53C,YAAAA,CAAC,SAAO,KAAI,CAAC0wC,qBAAL,EAAR;AAAqC,WAAzC,CAAyC,OAAM7vC,CAAN,EAAQ;AAACb,YAAAA,CAAC,GAAC,aAAF;AAAgB;;AAAA,0BAAcA,CAAd,IAAiB,kBAAgBA,CAAjC,KAAqC,iBAAeT,CAAC,CAACuf,MAAjB,IAAyB,KAAI,CAAC+4B,OAAL,EAAzB,EAAwC93C,CAAC,CAAC4C,MAAF,EAA7E,GAAyFpD,CAAC,CAACuf,MAAF,GAAS9e,CAAlG,EAAoGT,CAAC,CAACq4C,QAAF,GAAW,CAAC,CAAhH,EAAkH73C,CAAC,CAACkiB,OAAF,KAAY3iB,CAAC,GAAC0f,UAAU,CAACnf,CAAD,EAAGJ,CAAH,EAAKA,CAAC,GAACJ,CAAP,CAAxB,CAAlH;AAAqJ,SAAtP;;AAAA,wBAADQ,CAAC;AAAA;AAAA;AAAA,SAAP;AAAA,YAA8PE,CAAC,GAAC;AAACkiB,QAAAA,OAAO,EAAC,CAAC,CAAV;;AAAYtf,QAAAA,MAAM,GAAE;AAAC,eAAKsf,OAAL,GAAa,CAAC,CAAd,EAAgBhD,YAAY,CAAC3f,CAAD,CAA5B;AAAgC;;AAArD,OAAhQ;;AAAuT,WAAK6D,IAAL,GAAYC,KAAZ,CAAmB,MAAIrD,CAAC,CAAC4C,MAAF,EAAvB,GAAoC9C,CAAC,CAACJ,CAAD,CAArC,EAAyC,KAAKsD,UAAL,CAAgBhD,CAAhB,CAAzC;AAA4D;;AAAhnB,GAArB;AAAuoB,SAAOC,CAAC,GAACH,CAAF,EAAIN,uDAAC,CAAC,CAACE,sFAAC,CAAC;AAACiI,IAAAA,QAAQ,EAAC,CAAC,CAAX;AAAaqpC,IAAAA,QAAQ,EAAC,CAAC;AAAvB,GAAD,CAAF,CAAD,EAAgClwC,CAAC,CAAC2G,SAAlC,EAA4C,gBAA5C,EAA6D,IAA7D,CAAL,EAAwE3G,CAAC,GAACtB,uDAAC,CAAC,CAACF,sFAAC,CAAC,qCAAD,CAAF,CAAD,EAA4CwB,CAA5C,CAA3E,EAA0HA,CAAjI;AAAmI,CAA5xB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACJrZ;AACA;AACA;AACA;AACA;AAA8C;AAA0B;AAAoC;AAA6E;AAA6E;AAAqE;AAAgC;AAA6E;AAAiF;;AAAkE,SAASN,CAAT,CAAWlB,CAAX,EAAa;AAAC,SAAO,QAAMA,CAAN,IAAS,YAAU,OAAOA,CAA1B,IAA6B,sBAAqBA,CAAlD,IAAqD,aAAYA,CAAxE;AAA0E;;AAAA,MAAMgB,CAAC,GAAC,EAAR;AAAA,MAAWY,CAAC,GAACV,CAAC,IAAE;AAAC,MAAIU,CAAC,GAAC,cAAcV,CAAd,CAAe;AAACuB,IAAAA,WAAW,CAAC,GAAGzC,CAAJ,EAAM;AAAC,YAAM,GAAGA,CAAT,GAAY,KAAK44C,eAAL,GAAqB,CAAjC,EAAmC,KAAKC,gBAAL,GAAsB,CAAzD,EAA2D,KAAKC,uBAAL,GAA6B14C,+DAAC,CAAE,MAAI,KAAKgoC,cAAL,EAAN,CAAzF,EAAuH,KAAKtkC,IAAL,GAAYkC,IAAZ,CAAkB,MAAI;AAAC,aAAKqyC,SAAL,IAAgB/2C,2DAAC,CAAC,IAAD,CAAjB;AAAwB,OAA/C,EAAkD,MAAI,CAAE,CAAxD,CAAvH;AAAkL;;AAAA8C,IAAAA,OAAO,GAAE;AAACtD,MAAAA,6DAAC,CAAC,IAAD,CAAD;AAAQ;;AAAAi4C,IAAAA,mBAAmB,CAAC/4C,CAAD,EAAG;AAAC,aAAOA,CAAC,IAAEgB,CAAH,GAAKhB,CAAL,GAAOA,CAAC,IAAE,CAAH,GAAK,CAAL,GAAOgB,CAArB;AAAuB;;AAAqB,QAAjBg4C,iBAAiB,GAAE;AAAC,aAAM;AAACC,QAAAA,GAAG,EAAC,KAAKJ,gBAAL,IAAuB;AAA5B,OAAN;AAAwC;;AAAAL,IAAAA,OAAO,CAACx4C,CAAC,GAACgD,IAAI,CAACC,GAAL,EAAH,EAAc;AAAC/C,MAAAA,wEAAC,CAAC,KAAK44C,uBAAL,EAAD,CAAD,CAAkC9yC,IAAlC,CAAwC/F,CAAC,IAAE;AAACA,QAAAA,CAAC,IAAE,KAAKsE,IAAL,CAAU,kBAAV,EAA6BvE,CAA7B,CAAH,EAAmC,KAAKk5C,IAAL,CAAU,SAAV,EAAoB;AAACC,UAAAA,WAAW,EAACl5C;AAAb,SAApB,CAAnC;AAAwE,OAApH,EAAuHD,CAAC,IAAE;AAACC,QAAAA,iEAAA,CAAY,IAAZ,EAAkBwD,KAAlB,CAAwBzD,CAAxB,GAA2B,KAAKk5C,IAAL,CAAU,SAAV,EAAoB;AAACC,UAAAA,WAAW,EAAC,CAAC,CAAd;AAAgB11C,UAAAA,KAAK,EAACzD;AAAtB,SAApB,CAA3B;AAAyE,OAApM;AAAuM;;AAAMooC,IAAAA,cAAc,GAAE;AAAA;AAAC,eAAM,CAAC,CAAP;AAAD;AAAU;;AAAQ,QAAJ3gB,IAAI,GAAE,CAAE;;AAA9kB,GAArB;AAAqmB,SAAOznB,uDAAC,CAAC,CAACQ,sFAAC,CAAC;AAAC+C,IAAAA,IAAI,EAACwG,MAAN;AAAahC,IAAAA,IAAI,EAAC;AAACpC,MAAAA,KAAK,EAAC,CAAC,CAAR;AAAUuC,MAAAA,OAAO,EAAC;AAAC,qBAAY;AAACvC,UAAAA,KAAK,EAAC;AAACwU,YAAAA,OAAO,EAAC,CAAC,CAAV;AAAYs3B,YAAAA,mBAAmB,EAAC9wC,sFAACA;AAAjC;AAAP;AAAb;AAAlB;AAAlB,GAAD,CAAF,CAAD,EAAqGiB,CAAC,CAACuG,SAAvG,EAAiH,iBAAjH,EAAmI,KAAK,CAAxI,CAAD,EAA4InI,uDAAC,CAAC,CAACM,8EAAC,CAAC,iBAAD,CAAF,CAAD,EAAwBsB,CAAC,CAACuG,SAA1B,EAAoC,qBAApC,EAA0D,IAA1D,CAA7I,EAA6MnI,uDAAC,CAAC,CAACQ,sFAAC,CAAC;AAAC6H,IAAAA,QAAQ,EAAC,CAAC;AAAX,GAAD,CAAF,CAAD,EAAoBzG,CAAC,CAACuG,SAAtB,EAAgC,kBAAhC,EAAmD,KAAK,CAAxD,CAA9M,EAAyQnI,uDAAC,CAAC,CAACQ,sFAAC,CAAC;AAAC6H,IAAAA,QAAQ,EAAC,CAAC;AAAX,GAAD,CAAF,CAAD,EAAoBzG,CAAC,CAACuG,SAAtB,EAAgC,mBAAhC,EAAoD,IAApD,CAA1Q,EAAoUvG,CAAC,GAAC5B,uDAAC,CAAC,CAACU,sFAAC,CAAC,qCAAD,CAAF,CAAD,EAA4CkB,CAA5C,CAAvU,EAAsXA,CAA7X;AAA+X,CAAr/B;;;;;;;;;;;;;;;;;;;;;;;ACJnqB;AACA;AACA;AACA;AAC+R,YAAY,sBAAsB,cAAc,oDAAoD,0BAA0B,SAAS,8CAA8C,eAAe,yDAAyD,yCAAyC,iEAAiE,OAAO,uDAAC,EAAE,sFAAC,EAAE,iCAAiC,UAAU,kCAAkC,uDAAC,EAAE,sFAAC,EAAE,iCAAiC,UAAU,kCAAkC,uDAAC,EAAE,sFAAC,EAAE,YAAY,6CAA6C,uDAAC,EAAE,sFAAC,8CAA8C,gBAAgB,+LAA4N;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACJhpC;AACA;AACA;AACA;AACgsB,SAAS,mBAAmB,MAAM,uBAAuB,QAAQ,2CAA2C,sFAAC,GAAG,OAAO,sBAAsB,cAAc,kFAAkF,gBAAgB,iCAAiC,kBAAkB,uBAAuB,iGAAU,oBAAoB,gBAAgB,8DAAC,EAAE,eAAe,OAAO,gBAAgB,yEAAC,+CAA+C,OAAO,uDAAC,EAAE,sFAAC,EAAE,KAAK,4DAAC,OAAO,UAAU,oCAAoC,uDAAC,EAAE,sFAAC,EAAE,KAAK,8DAAC,CAAC,oCAAoC,uDAAC,EAAE,kFAAC,oFAAoF,uDAAC,EAAE,sFAAC,EAAE,gBAAgB,4DAAC,OAAO,kBAAkB,gBAAgB,iBAAiB,gBAAgB,oBAAoB,gCAAgC,uDAAC,EAAE,sFAAC,yCAAyC,uDAAC,EAAE,sFAAC,4CAAgG;;;;;;;;;;;;;;;;ACJroD;AACA;AACA;AACA;AACA,SAAS,2fAA2f,IAAI,mQAAmQ,IAAI,2CAA2C,IAAI,gCAAgC,giBAAgiB,sBAAsB,yMAAyM,qBAAqB,gEAAgE,qBAAqB,sBAAsB,wGAAwG,uBAAuB,gFAAgF,4RAAwT;;;;;;;;;;;;;;;;;;;;;ACJpuE;AACA;AACA;AACA;AACiK,YAAY,2DAAC,eAAe,cAAc,6BAA6B,cAAc,mCAAmC,eAAe,cAAc,yEAAyE,gBAAgB,gEAAgE,YAAY,aAAa,mBAAmB,SAAS,kBAAkB,kBAAkB,MAAM,sBAAsB,qEAAqE,UAAU,0BAA0B,KAAK,KAAK,gCAAgC,+EAAC,OAAO,mBAAmB,QAAQ,kBAAkB,kBAAkB,iGAAiG,UAAU,+CAA+C,oBAAoB,EAAE,wDAAC,EAAE,SAAS,sBAAsB,WAAW,oBAAoB,SAAS,gBAAgB,IAAI,sDAAsD,kBAAkB,kBAAkB,eAAe,gBAA0E;;;;;;;;;;;;;;;;;;;;;;;;ACJ/tC;AACA;AACA;AACA;AACqY,MAAM,sBAAsB,6DAAC,CAAC,eAAe,mJAAmJ,QAAQ,cAAc,2FAA2F,oDAAC,qGAAqG,IAAI,uDAAC,EAAE,sFAAC,EAAE,mBAAmB,UAAU,yCAAyC,uDAAC,EAAE,sFAAC,EAAE,kBAAkB,UAAU,8BAA8B,uDAAC,EAAE,sFAAC,EAAE,kBAAkB,UAAU,+BAA+B,uDAAC,EAAE,sFAAC,EAAE,kBAAkB,UAAU,0CAA0C,uDAAC,EAAE,sFAAC,EAAE,KAAK,0DAAC,OAAO,UAAU,+CAA+C,uDAAC,EAAE,sFAAC,EAAE,kBAAkB,UAAU,2CAA2C,uDAAC,EAAE,sFAAC,2CAA2C,UAA+B;;;;;;;;;;;;;;;;;;;;;;;ACJhyC;AACA;AACA;AACA;AACuV,MAAM,sBAAsB,6DAAC,CAAC,eAAe,uCAAuC,QAAQ,cAAc,8BAA8B,IAAI,uDAAC,EAAE,sFAAC,EAAE,kBAAkB,UAAU,8BAA8B,uDAAC,EAAE,sFAAC,EAAE,2BAA2B,UAAU,kCAAkC,uDAAC,EAAE,sFAAC,uCAA+D;;;;;;;;;;;;;;;;;;;;;;;;;ACJnrB;AACA;AACA;AACA;AACqc,MAAM,sBAAsB,kDAAC,CAAC,eAAe,uDAAuD,WAAW,WAAW,qBAAqB,kBAAkB,iEAAiE,SAAS,QAAQ,cAAc,YAAY,oDAAC,kCAAkC,IAAI,uDAAC,EAAE,sFAAC,EAAE,MAAM,sDAAC,QAAQ,UAAU,qCAAqC,uDAAC,EAAE,4FAAC,EAAE,yBAAyB,kCAAkC,uDAAC,EAAE,sFAAC,6CAA6C,UAA+B;;;;;;;;;;;;;;;;;;;;;;;;;ACJ98B;AACA;AACA;AACA;AAC0d,YAAY,qDAAC,EAAE,6DAA6D,EAAE,oBAAoB,6DAAC,CAAC,eAAe,yCAAyC,uDAAC,EAAE,sFAAC,EAAE,kBAAkB,UAAU,8BAA8B,uDAAC,EAAE,4FAAC,kCAAkC,uDAAC,EAAE,sFAAC,mCAAmC,UAA+B;;;;;;;;;;;;;;;;;;;;;;;;;ACJlyB;AACA;AACA;AACA;AAC6c,oBAAoB,gEAAC,CAAC,6DAAC,GAAG,eAAe,+IAA+I,uDAAC,EAAE,sFAAC,uCAAuC,uDAAC,EAAE,sFAAC,4CAA4C,uDAAC,EAAE,sFAAC,sCAAsC,uDAAC,EAAE,sFAAC,wCAAwC,uDAAC,EAAE,sFAAC,gCAAgC,uDAAC,EAAE,sFAAC,CAAC,wEAAC,kEAAkE,uDAAC,EAAE,sFAAC,2CAA2C,UAA+B;;;;;;;;;;;;;;;;;;;;;;;;ACJh/B;AACA;AACA;AACA;AAC8Y,oBAAoB,gEAAC,CAAC,6DAAC,GAAG,eAAe,qEAAqE,uDAAC,EAAE,sFAAC,EAAE,kBAAkB,UAAU,oCAAoC,uDAAC,EAAE,sFAAC,EAAE,kBAAkB,UAAU,+BAA+B,uDAAC,EAAE,sFAAC,EAAE,kBAAkB,UAAU,sCAAsC,uDAAC,EAAE,sFAAC,2CAA2C,UAA+B;;;;;;;;;;;;;;;;;;;;;;;ACJzxB;AACA;AACA;AACA;AACuV,oBAAoB,6DAAC,CAAC,eAAe,sHAAsH,uDAAC,EAAE,sFAAC,EAAE,kBAAkB,UAAU,yCAAyC,uDAAC,EAAE,sFAAC,EAAE,kBAAkB,UAAU,iCAAiC,uDAAC,EAAE,sFAAC,EAAE,kBAAkB,UAAU,mCAAmC,uDAAC,EAAE,sFAAC,EAAE,kBAAkB,UAAU,qCAAqC,uDAAC,EAAE,sFAAC,EAAE,kBAAkB,MAAM,oBAAoB,QAAQ,oBAAoB,UAAU,aAAa,oBAAoB,sCAAsC,uDAAC,EAAE,sFAAC,8CAA8C,UAA+B;;;;;;;;;;;;;;;;;;;;;;;;;;;ACJ5/B;AACA;AACA;AACA;AAC0gB,MAAM,SAAS,MAAM,OAAO,uDAAC,CAAC,QAAQ,OAAO,wDAAC,kBAAkB,OAAO,4EAA4E,IAAI,MAAM,OAAO,uDAAC,CAAC,QAAQ,OAAO,wDAAC,kBAAkB,OAAO,4EAA4E,IAAI,sCAAsC,sBAAsB,6DAAC,CAAC,eAAe,0GAA0G,WAAW,yBAAyB,cAAc,aAAa,8BAA8B,0DAA0D,sDAAC,kIAAkI,0BAA0B,QAAQ,wDAAwD,sDAAC,qIAAqI,0BAA0B,QAAQ,SAAS,QAAQ,cAAc,yKAAyK,IAAI,uDAAC,EAAE,sFAAC,EAAE,KAAK,0DAAC,OAAO,OAAO,6BAA6B,mBAAmB,IAAI,6BAA6B,6DAAC,QAAQ,6DAAC,cAAc,gCAAgC,uDAAC,EAAE,sFAAC,EAAE,MAAM,KAAK,uDAAC,QAAQ,OAAO,wDAAC,cAAc,UAAU,8BAA8B,wCAAwC,uDAAC,EAAE,sFAAC,EAAE,MAAM,KAAK,uDAAC,QAAQ,OAAO,wDAAC,cAAc,UAAU,8BAA8B,wCAAwC,uDAAC,EAAE,sFAAC,EAAE,mBAAmB,4CAA4C,8BAA8B,mDAAmD,uDAAC,EAAE,sFAAC,0CAA0C,UAA+B;;;;;;;;;;;;;;;;;;;;;;;;;;;ACJ90E;AACA;AACA;AACA;AACuhB,MAAM,YAAY,qDAAC,EAAE,oXAAoX,QAAQ,qDAAC,EAAE,yMAAyM,EAAE,sBAAsB,6DAAC,CAAC,eAAe,gKAAgK,gBAAgB,EAAE,MAAM,qFAAqF,MAAM,WAAW,8DAAC,EAAE,SAAS,oDAAC,cAAc,oDAAC,qCAAqC,oDAAC,oCAAoC,EAAE,QAAQ,MAAM,qFAAqF,MAAM,cAAc,SAAS,oDAAC,cAAc,oDAAC,qCAAqC,oDAAC,+BAA+B,IAAI,uDAAC,EAAE,sFAAC,EAAE,kBAAkB,UAAU,+BAA+B,uDAAC,EAAE,sFAAC,EAAE,MAAM,uDAAC,OAAO,UAAU,kCAAkC,uDAAC,EAAE,sFAAC,EAAE,uBAAuB,wBAAwB,cAAc,QAAQ,6CAA6C,OAAO,gCAAgC,6CAA6C,uDAAC,EAAE,sFAAC,EAAE,kBAAkB,OAAO,kBAAkB,OAAO,yCAAyC,kCAAkC,uDAAC,EAAE,sFAAC,EAAE,oBAAoB,UAAU,mCAAmC,uDAAC,EAAE,sFAAC,EAAE,uBAAuB,mBAAmB,iCAAiC,OAAO,yCAAyC,+BAA+B,uDAAC,EAAE,sFAAC,EAAE,KAAK,4DAAC,OAAO,UAAU,wCAAwC,uDAAC,EAAE,sFAAC,0CAA0C,UAA+B;;;;;;;;;;;;;;;;;;;;;;;;ACJrkF;AACA;AACA;AACA;AAC8Y,oBAAoB,gEAAC,CAAC,6DAAC,GAAG,eAAe,WAAW,uDAAC,EAAE,sFAAC,EAAE,uBAAuB,UAAU,8BAA8B,uDAAC,EAAE,sFAAC,EAAE,uBAAuB,UAAU,gCAAgC,uDAAC,EAAE,sFAAC,EAAE,uBAAuB,UAAU,qCAAqC,uDAAC,EAAE,sFAAC,EAAE,uBAAuB,UAAU,mCAAmC,uDAAC,EAAE,sFAAC,EAAE,uBAAuB,UAAU,kCAAkC,uDAAC,EAAE,sFAAC,EAAE,uBAAuB,UAAU,uCAAuC,uDAAC,EAAE,sFAAC,yCAAmE;;;;;;;;;;;;;;;;;;;;;;;ACJl8B;AACA;AACA;AACA;AACuV,oBAAoB,6DAAC,CAAC,cAAc,qCAAqC,uDAAC,EAAE,sFAAC,EAAE,yDAAyD,kBAAkB,gCAAgC,uDAAC,EAAE,sFAAC,6CAA2E;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACJhmB;AACA;AACA;AACA;AACy4C,MAAM,sBAAsB,mEAAC,CAAC,eAAe,gMAAgM,2DAAC,2CAA2C,mBAAmB,0EAA0E,8DAAC,QAAQ,oBAAoB,gCAAgC,SAAS,sEAAC,gBAAgB,6EAAC,MAAM,QAAQ,cAAc,OAAO,qDAAC,4DAA4D,qDAAC,yHAAyH,qDAAC,8BAA8B,qDAAC,wBAAwB,qDAAC,8BAA8B,IAAI,uDAAC,EAAE,6FAAC,EAAE,kBAAkB,8BAA8B,uDAAC,EAAE,6FAAC,EAAE,kCAAkC,EAAE,uFAAC,EAAE,0BAA0B,iCAAiC,uDAAC,EAAE,uFAAC,EAAE,kBAAkB,UAAU,uCAAuC,uDAAC,EAAE,uFAAC,EAAE,MAAM,uDAAC,QAAQ,MAAM,kCAAkC,QAAQ,oCAAoC,sCAAsC,uDAAC,EAAE,uFAAC,CAAC,gEAAC,uCAAuC,uDAAC,EAAE,uFAAC,EAAE,kBAAkB,0CAA0C,kCAAkC,uDAAC,EAAE,uFAAC,CAAC,+DAAC,sCAAsC,uDAAC,EAAE,uFAAC,EAAE,KAAK,yDAAC,OAAO,2BAA2B,uCAAuC,uDAAC,EAAE,uFAAC,EAAE,qBAAqB,kFAAC,CAAC,2DAAC,KAAK,8BAA8B,uDAAC,EAAE,uFAAC,EAAE,MAAM,2DAAC,QAAQ,UAAU,gCAAgC,uDAAC,EAAE,mFAAC,4CAA4C,uDAAC,EAAE,uFAAC,EAAE,MAAM,uEAAC,OAAO,OAAO,gCAAgC,kCAAkC,uDAAC,EAAE,mFAAC,4EAA4E,uDAAC,EAAE,uFAAC,oDAAoD,UAA+B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACJxsG;AACA;AACA;AACA;AACk3C,MAAM,cAAc,oDAAoD,sBAAsB,8DAAC,CAAC,eAAe,gDAAgD,2DAAC,6BAA6B,2DAAC,6BAA6B,2DAAC,sKAAsK,oBAAoB,gCAAgC,0DAA0D,sEAAC,gBAAgB,6EAAC,MAAM,kBAAkB,gCAAgC,iDAAiD,YAAY,QAAQ,sEAAC,QAAQ,iBAAiB,YAAY,qBAAqB,sDAAsD,sBAAsB,YAAY,oEAAC,EAAE,SAAS,EAAE,eAAe,mBAAmB,MAAM,mBAAmB,0EAA0E,8DAAC,QAAQ,kBAAkB,iDAAiD,oEAAU,MAAM,QAAQ,cAAc,oHAAoH,qDAAC,4DAA4D,qDAAC,8CAA8C,qDAAC,uBAAuB,qDAAC,2DAA2D,qDAAC,qBAAqB,IAAI,uDAAC,EAAE,uFAAC,EAAE,mCAAmC,UAAU,8BAA8B,uDAAC,EAAE,uFAAC,EAAE,qBAAqB,kFAAC,CAAC,2DAAC,WAAW,UAAU,uCAAuC,uDAAC,EAAE,uFAAC,EAAE,iBAAiB,uDAAC,OAAO,UAAU,wCAAwC,uDAAC,EAAE,uFAAC,EAAE,iBAAiB,uDAAC,OAAO,UAAU,wCAAwC,uDAAC,EAAE,uFAAC,EAAE,kBAAkB,0CAA0C,kCAAkC,uDAAC,EAAE,uFAAC,CAAC,+DAAC,sCAAsC,uDAAC,EAAE,uFAAC,EAAE,KAAK,yDAAC,OAAO,MAAM,mBAAmB,QAAQ,qBAAqB,uCAAuC,uDAAC,EAAE,uFAAC,EAAE,MAAM,uEAAC,OAAO,OAAO,gCAAgC,kCAAkC,uDAAC,EAAE,mFAAC,wEAAwE,uDAAC,EAAE,uFAAC,EAAE,MAAM,4DAAC,CAAC,gCAAgC,uDAAC,EAAE,mFAAC,oEAAoE,uDAAC,EAAE,mFAAC,4CAA4C,uDAAC,EAAE,uFAAC,EAAE,MAAM,uDAAC,QAAQ,MAAM,kCAAkC,QAAQ,oCAAoC,sCAAsC,uDAAC,EAAE,uFAAC,CAAC,gEAAC,uCAAuC,uDAAC,EAAE,uFAAC,EAAE,MAAM,2DAAC,QAAQ,UAAU,gCAAgC,uDAAC,EAAE,mFAAC,4CAA4C,uDAAC,EAAE,mFAAC,+CAA+C,uDAAC,EAAE,uFAAC,oDAAoD,UAA+B;;;;;;;;;;;;;;;;;;;;;;;ACJxiI;AACA;AACA;AACA;AACwV,MAAM,sBAAsB,kEAAC,CAAC,eAAe,+BAA+B,QAAQ,eAAe,uDAAC,EAAE,sFAAC,EAAE,mBAAmB,kCAAkC,uDAAC,EAAE,sFAAC,sDAAsD,UAA+B;;;;;;;;;;;;;;;;;;;;;;;;;ACJ/kB;AACA;AACA;AACA;AAC8b,YAAY,qDAAC,EAAE,ykBAAykB,EAAE,oBAAoB,gEAAC,CAAC,6DAAC,GAAG,eAAe,8GAA8G,uDAAC,EAAE,sFAAC,EAAE,MAAM,UAAU,8BAA8B,uDAAC,EAAE,sFAAC,EAAE,MAAM,UAAU,qCAAqC,uDAAC,EAAE,sFAAC,EAAE,MAAM,2BAA2B,qCAAqC,uDAAC,EAAE,sFAAC,EAAE,MAAM,UAAU,mCAAmC,uDAAC,EAAE,sFAAC,EAAE,MAAM,UAAU,qCAAqC,uDAAC,EAAE,sFAAC,4CAA4C,UAA+B;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACJ7iD;AACA;AACA;AACA;AAC4mB,oBAAoB,gEAAC,CAAC,6DAAC,GAAG,eAAe,2EAA2E,eAAe,WAAW,mCAAmC,sDAAC,OAAO,SAAS,kBAAkB,WAAW,0DAA0D,cAAc,uDAAC,EAAE,sFAAC,EAAE,MAAM,UAAU,4BAA4B,uDAAC,EAAE,sFAAC,EAAE,MAAM,UAAU,8BAA8B,uDAAC,EAAE,sFAAC,EAAE,MAAM,UAAU,iCAAiC,uDAAC,EAAE,kFAAC,6CAA6C,uDAAC,EAAE,kFAAC,8CAA8C,uDAAC,EAAE,sFAAC,EAAE,MAAM,4DAAC,QAAQ,UAAU,qCAAqC,uDAAC,EAAE,sFAAC,wCAAwC,UAA+B;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACJlyC;AACA;AACA;AACA;AACuqB,MAAM,YAAY,qDAAC,EAAE,gYAAgY,EAAE,sBAAsB,6DAAC,CAAC,eAAe,gNAAgN,mBAAmB,cAAc,EAAE,WAAW,IAAI,uBAAuB,UAAU,sBAAsB,iBAAiB,cAAc,EAAE,WAAW,IAAI,uBAAuB,UAAU,2CAA2C,QAAQ,cAAc,4PAA4P,IAAI,uDAAC,EAAE,sFAAC,EAAE,kBAAkB,UAAU,+BAA+B,uDAAC,EAAE,sFAAC,EAAE,2BAA2B,OAAO,eAAe,sCAAsC,uDAAC,EAAE,sFAAC,sCAAsC,uDAAC,EAAE,kFAAC,qDAAqD,uDAAC,EAAE,sFAAC,EAAE,MAAM,+CAAC,OAAO,MAAM,OAAO,kDAAC,CAAC,WAAW,gCAAgC,uDAAC,EAAE,sFAAC,EAAE,mBAAmB,UAAU,kCAAkC,uDAAC,EAAE,sFAAC,EAAE,KAAK,wEAAC,OAAO,OAAO,oBAAoB,2BAA2B,IAAI,gCAAgC,uDAAC,EAAE,sFAAC,EAAE,kBAAkB,UAAU,8BAA8B,uDAAC,EAAE,sFAAC,EAAE,mBAAmB,UAAU,kCAAkC,uDAAC,EAAE,4FAAC,CAAC,qDAAC,8BAA8B,uDAAC,EAAE,sFAAC,oCAAoC,uDAAC,EAAE,kFAAC,iEAAiE,uDAAC,EAAE,sFAAC,EAAE,mBAAmB,SAAS,qCAAqC,uDAAC,EAAE,sFAAC,kCAAkC,UAA+B;;;;;;;;;;;;;;;;;;;;;;;;ACJntF;AACA;AACA;AACA;AACkkB,cAAc,qBAAqB,cAAc,qBAAqB,cAAc,+BAA+B,gBAAgB,QAAQ,mBAAmB,6CAA6C,oBAAoB,gCAAgC,wBAAwB,gCAAgC,oBAAoB,sPAAsP,WAAW,4BAA4B,uBAAuB,SAAS,aAAa,+FAA+F,EAAE,GAAG,OAAO,GAAG,kCAAkC,GAAG,2DAAC,yDAAyD,8DAAC,gEAAgE,+DAAC,KAAK,+DAAC,4FAA4F,2BAA2B,qBAAqB,0BAA0B,wBAAwB,2BAA2B,+DAAC,KAAK,+DAAC,0BAA0B,oEAAC,kCAAkC,4BAA4B,UAAU,yBAAyB,OAAO,yBAAyB,OAAO,aAAa,6BAA6B,2GAA2G,eAAe,iDAAiD,wHAAwH,iEAAW,8CAA8C,sDAAC,8EAA8E,OAAO,KAAK,uDAAC,gBAAgB,2DAAC,WAAW,oBAAoB,4BAA4B,aAAa,2DAAC,CAAC,kFAAU,KAAK,uDAAC,CAAC,8DAAa,CAAC,sEAAC,UAAU,kDAAQ,WAAW,eAAe,4CAA4C,mBAAmB,OAAO,+DAAC,cAAc,kBAAkB,+CAA+C,sBAAsB,iCAAiC,SAAS,OAAO,2BAA2B,oEAAC,wHAAwH,cAAc,8BAA8B,cAAc,OAAO,kEAAC,uBAAuB,6IAA6I,cAAc,gBAAgB,sBAAsB,uCAAuC,4BAA4B,iLAAiL,yEAAC,kFAAkF,yEAAC,+BAA+B,uDAAC,6CAA6C,yEAAC,oHAAoH,UAAU,cAAc,gCAAgC,2DAAC,EAAE,0DAA0D,kBAAkB,2DAAC,EAAE,KAAK,2BAA2B,WAAW,SAA8B;;;;;;;;;;;;;;;;;;;;;;;;;ACJh2H;AACA;AACA;AACA;AACie,oBAAoB,gEAAC,CAAC,6DAAC,GAAG,eAAe,+EAA+E,uDAAC,EAAE,sFAAC,EAAE,kBAAkB,MAAM,8BAA8B,wCAAwC,uDAAC,EAAE,sFAAC,EAAE,kBAAkB,MAAM,gCAAgC,0CAA0C,uDAAC,EAAE,sFAAC,EAAE,kBAAkB,QAAQ,qEAAM,KAAK,uEAAM,KAAK,iCAAiC,uDAAC,EAAE,sFAAC,+CAA+C,UAA+B;;;;;;;;;;;;;;;;;;;;;;;;ACJ98B;AACA;AACA;AACA;AAC4V,MAAM,sBAAsB,kDAAC,CAAC,eAAe,+BAA+B,QAAQ,eAAe,uDAAC,EAAE,4FAAC,EAAE,sBAAsB,kCAAkC,uDAAC,EAAE,sFAAC,4CAA4C,UAA+B;;;;;;;;;;;;;;;;;;;;;;;ACJ5kB;AACA;AACA;AACA;AAC6X,MAAM,sBAAsB,6DAAC,CAAC,eAAe,yHAAyH,QAAQ,cAAc,sHAAsH,IAAI,uDAAC,EAAE,sFAAC,EAAE,MAAM,kBAAkB,gBAAgB,iBAAiB,gBAAgB,oBAAoB,8BAA8B,uDAAC,EAAE,sFAAC,EAAE,KAAK,wEAAC,OAAO,UAAU,+BAA+B,uDAAC,EAAE,sFAAC,EAAE,kBAAkB,UAAU,oCAAoC,uDAAC,EAAE,sFAAC,EAAE,MAAM,kBAAkB,gBAAgB,iBAAiB,gBAAgB,oBAAoB,gCAAgC,uDAAC,EAAE,sFAAC,EAAE,kBAAkB,UAAU,oCAAoC,uDAAC,EAAE,sFAAC,EAAE,MAAM,kBAAkB,gBAAgB,iBAAiB,gBAAgB,oBAAoB,8BAA8B,uDAAC,EAAE,sFAAC,EAAE,kBAAkB,UAAU,mCAAmC,uDAAC,EAAE,sFAAC,gCAAgC,UAA+B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACJx4C;AACA;AACA;AACA;AACgkC,MAAM,YAAY,qDAAC,EAAE,+vCAA+vC,EAAE,iBAAiB,EAAE,kBAAkB,OAAO,SAAS,oEAAC,YAAY,cAAc,+DAA+D,cAAc,4BAA4B,cAAc,+EAA+E,cAAc,yBAAyB,sBAAsB,6DAAC,CAAC,0BAA0B,kBAAkB,UAAU,oBAAoB,qBAAqB,mBAAmB,qBAAqB,mBAAmB,qBAAqB,UAAU,IAAI,oBAAoB,qBAAqB,4CAA4C,iBAAiB,2DAA2D,UAAU,sBAAsB,sBAAsB,SAAS,WAAW,eAAe,8SAA8S,8EAAC,4CAA4C,yBAAyB,8BAA8B,wCAAwC,4BAA4B,sEAAsE,oEAAC,iCAAiC,mDAAmD,QAAQ,+EAAC,sCAAsC,iBAAiB,kBAAkB,kCAAkC,mDAAmD,gEAAC,EAAE,2CAA2C,EAAE,kBAAkB,oBAAoB,uBAAuB,mBAAmB,mCAAmC,mBAAmB,mCAAmC,qBAAqB,OAAO,mEAAC,OAAO,2BAA2B,OAAO,yEAAC,OAAO,gCAAgC,OAAO,8EAAC,OAAO,OAAO,4BAA4B,QAAQ,cAAc,yIAAyI,oDAAC,6OAA6O,oDAAC,kEAAkE,IAAI,uDAAC,EAAE,sFAAC,EAAE,kBAAkB,UAAU,8BAA8B,uDAAC,EAAE,sFAAC,EAAE,mBAAmB,6BAA6B,aAAa,SAAS,gBAAgB,kBAAkB,qBAAqB,sCAAsC,uDAAC,EAAE,sFAAC,EAAE,kBAAkB,mCAAmC,aAAa,SAAS,gBAAgB,wBAAwB,qBAAqB,+CAA+C,uDAAC,EAAE,sFAAC,EAAE,kBAAkB,OAAO,sBAAsB,oEAAoE,WAAW,EAAE,iBAAiB,yCAAyC,uDAAC,EAAE,kFAAC,6DAA6D,uDAAC,EAAE,mFAAC,8DAA8D,uDAAC,EAAE,sFAAC,EAAE,KAAK,gEAAC,OAAO,OAAO,8BAA8B,aAAa,EAAE,cAAc,6CAA6C,uDAAC,EAAE,mFAAC,sEAAsE,uDAAC,EAAE,sFAAC,EAAE,uBAAuB,6CAA6C,wCAAwC,uDAAC,EAAE,sFAAC,EAAE,iCAAiC,kBAAkB,WAAW,SAAS,cAAc,SAAS,gBAAgB,YAAY,uCAAuC,uDAAC,EAAE,sFAAC,EAAE,YAAY,kCAAkC,uDAAC,EAAE,mFAAC,gDAAgD,uDAAC,EAAE,sFAAC,EAAE,YAAY,kCAAkC,uDAAC,EAAE,mFAAC,gDAAgD,uDAAC,EAAE,sFAAC,EAAE,mBAAmB,kBAAkB,aAAa,SAAS,gBAAgB,OAAO,qBAAqB,qCAAqC,uDAAC,EAAE,sFAAC,EAAE,iBAAiB,sDAAC,OAAO,kBAAkB,aAAa,SAAS,gBAAgB,OAAO,qBAAqB,6CAA6C,uDAAC,EAAE,sFAAC,EAAE,MAAM,yDAAC,OAAO,SAAS,aAAa,MAAM,2DAAC,OAAO,4EAAC,eAAe,OAAO,4EAAC,eAAe,gCAAgC,uDAAC,EAAE,sFAAC,EAAE,mBAAmB,UAAU,wCAAwC,uDAAC,EAAE,sFAAC,EAAE,kBAAkB,UAAU,mCAAmC,uDAAC,EAAE,uFAAC,uCAAuC,UAA+B;;;;;;;;;;;;;;;;;;;;;;;;;;ACJhvN;AACA;AACA;AACA;AAC0iB,MAAM,sBAAsB,6DAAC,CAAC,cAAc,yEAAyE,oBAAoB,eAAe,8EAAC,YAAY,uBAAuB,qBAAqB,8EAAC,gCAAgC,QAAQ,cAAc,6DAA6D,IAAI,uDAAC,EAAE,sFAAC,EAAE,kBAAkB,OAAO,0BAA0B,oCAAoC,uDAAC,EAAE,kFAAC,0EAA0E,uDAAC,EAAE,kFAAC,oDAAoD,uDAAC,EAAE,sFAAC,EAAE,kBAAkB,kBAAkB,aAAa,YAAY,+BAA+B,uDAAC,EAAE,sFAAC,EAAE,MAAM,kBAAkB,mCAAmC,uDAAC,EAAE,sFAAC,gDAAgD,UAA+B;;;;;;;;;;;;;;;;;;;;;;;;ACJ50C;AACA;AACA;AACA;AAC+X,MAAM,sBAAsB,6DAAC,CAAC,eAAe,2EAA2E,2DAAC,CAAC,QAAQ,cAAc,6FAA6F,IAAI,uDAAC,EAAE,sFAAC,EAAE,kBAAkB,UAAU,oCAAoC,uDAAC,EAAE,sFAAC,EAAE,MAAM,kBAAkB,qCAAqC,uDAAC,EAAE,sFAAC,EAAE,MAAM,kBAAkB,6CAA6C,uDAAC,EAAE,sFAAC,2CAA2C,UAA+B;;;;;;;;;;;;;;;;;;;;;;;ACJl5B;AACA;AACA;AACA;AACuV,oBAAoB,6DAAC,CAAC,eAAe,4MAA4M,uDAAC,EAAE,sFAAC,EAAE,kBAAkB,UAAU,yCAAyC,uDAAC,EAAE,sFAAC,EAAE,kBAAkB,UAAU,iCAAiC,uDAAC,EAAE,sFAAC,EAAE,kBAAkB,UAAU,sCAAsC,uDAAC,EAAE,sFAAC,EAAE,kBAAkB,UAAU,0CAA0C,uDAAC,EAAE,sFAAC,EAAE,kBAAkB,UAAU,uCAAuC,uDAAC,EAAE,sFAAC,EAAE,kBAAkB,UAAU,wCAAwC,uDAAC,EAAE,sFAAC,EAAE,kBAAkB,MAAM,oBAAoB,QAAQ,oBAAoB,UAAU,aAAa,oBAAoB,oCAAoC,uDAAC,EAAE,sFAAC,EAAE,kBAAkB,UAAU,8CAA8C,uDAAC,EAAE,sFAAC,2CAA2C,UAA+B;;;;;;;;;;;;;;;;;;;;;;;;ACJxzC;AACA;AACA;AACA;AACuY,MAAM,YAAY,qDAAC,EAAE,kCAAkC,EAAE,sBAAsB,6DAAC,CAAC,eAAe,0EAA0E,QAAQ,cAAc,uEAAuE,IAAI,uDAAC,EAAE,sFAAC,EAAE,kBAAkB,UAAU,+BAA+B,uDAAC,EAAE,sFAAC,EAAE,kBAAkB,kBAAkB,aAAa,oBAAoB,yCAAyC,uDAAC,EAAE,sFAAC,EAAE,uBAAuB,6CAA6C,mCAAmC,uDAAC,EAAE,sFAAC,wCAAwC,UAA+B;;;;;;;;;;;;;;;;;;;ACJ//B;AACA;AACA;AACA;AACmM,QAAQ,cAAc,yCAAyC,uDAAC,IAAI,aAAa,0BAA0B,cAAc,kCAAkC,UAAU,iBAAiB,WAAW,0BAA0B,0DAAC,CAAC,KAAK,0BAA0B,kBAAkB,YAAY,oIAAoI,eAAe,uIAAuI,YAAY,mCAAmC,4BAA4B,IAAI,QAAQ,gEAAC,WAAW,gCAAgC,uEAAC,IAAI,KAAK,4BAA4B,uEAAC,kBAAkB,oEAAC,6CAA6C,SAAS,YAAY,SAAS,YAAY,QAAQ,uEAAC,GAAG,+CAA+C,2BAA2B,aAAa,iBAAiB,sBAAsB,QAAQ,qCAAqC,iFAA2G;;;;;;;;;;;;;;;;;;;;;;;ACJ7yC;AACA;AACA;AACA;AACqU,oBAAoB,yDAAC,CAAC,cAAc,6DAA6D,uDAAC,EAAE,sFAAC,mCAAmC,uDAAC,EAAE,sFAAC,mCAAmC,uDAAC,EAAE,sFAAC,2CAA2C,UAA+B;;;;;;;;;;;;;;;;;;;;;;;;ACJlkB;AACA;AACA;AACA;AAC6Y,MAAM,sBAAsB,kDAAC,CAAC,eAAe,iEAAiE,QAAQ,cAAc,6DAA6D,IAAI,uDAAC,EAAE,sFAAC,EAAE,MAAM,oBAAoB,0CAA0C,QAAQ,4BAA4B,OAAO,kDAAkD,8BAA8B,6BAA6B,kCAAkC,uDAAC,EAAE,sFAAC,EAAE,MAAM,oBAAoB,0CAA0C,QAAQ,6BAA6B,6BAA6B,kCAAkC,uDAAC,EAAE,4FAAC,EAAE,cAAc,kCAAkC,uDAAC,EAAE,sFAAC,wCAAwC,UAA+B;;;;;;;;;;;;;;;;;;;;;;;;;ACJroC;AACA;AACA;AACA;AAC8b,YAAY,qDAAC,EAAE,8HAA8H,QAAQ,qDAAC,EAAE,gEAAgE,EAAE,oBAAoB,gEAAC,CAAC,6DAAC,GAAG,eAAe,gNAAgN,uDAAC,EAAE,sFAAC,EAAE,MAAM,2BAA2B,qCAAqC,uDAAC,EAAE,sFAAC,EAAE,MAAM,kBAAkB,mCAAmC,uDAAC,EAAE,sFAAC,EAAE,MAAM,kBAAkB,4BAA4B,uDAAC,EAAE,sFAAC,EAAE,MAAM,kBAAkB,kCAAkC,uDAAC,EAAE,sFAAC,EAAE,MAAM,kBAAkB,qDAAqD,uDAAC,EAAE,sFAAC,EAAE,MAAM,kBAAkB,8BAA8B,uDAAC,EAAE,sFAAC,EAAE,MAAM,kBAAkB,wCAAwC,uDAAC,EAAE,sFAAC,EAAE,MAAM,kBAAkB,6CAA6C,uDAAC,EAAE,sFAAC,EAAE,MAAM,2BAA2B,gCAAgC,uDAAC,EAAE,sFAAC,yCAAyC,UAA+B;;;;;;;;;;;;;;;;;;;;;;;ACJ3kD;AACA;AACA;AACA;AACuV,oBAAoB,6DAAC,CAAC,eAAe,4FAA4F,uDAAC,EAAE,sFAAC,EAAE,kBAAkB,UAAU,iCAAiC,uDAAC,EAAE,sFAAC,EAAE,kBAAkB,UAAU,mCAAmC,uDAAC,EAAE,sFAAC,EAAE,kBAAkB,UAAU,qCAAqC,uDAAC,EAAE,sFAAC,EAAE,kBAAkB,MAAM,oBAAoB,QAAQ,oBAAoB,UAAU,aAAa,oBAAoB,sCAAsC,uDAAC,EAAE,sFAAC,0CAA0C,UAA+B;;;;;;;;;;;;;;;;;;;;;;;;;;;ACJn5B;AACA;AACA;AACA;AACwkB,oBAAoB,gEAAC,CAAC,6DAAC,GAAG,eAAe,6CAA6C,kCAAkC,eAAe,kBAAkB,WAAW,mCAAmC,sDAAC,OAAO,SAAS,kBAAkB,aAAa,WAAW,0DAA0D,cAAc,uDAAC,EAAE,sFAAC,EAAE,kBAAkB,UAAU,8BAA8B,uDAAC,EAAE,sFAAC,EAAE,kBAAkB,UAAU,uCAAuC,uDAAC,EAAE,sFAAC,EAAE,MAAM,UAAU,iCAAiC,uDAAC,EAAE,kFAAC,6CAA6C,uDAAC,EAAE,kFAAC,8CAA8C,uDAAC,EAAE,sFAAC,EAAE,kBAAkB,UAAU,gCAAgC,uDAAC,EAAE,sFAAC,oCAAoC,UAA+B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACJ9zC;AACA;AACA;AACA;AACmhC,MAAM,YAAY,qDAAC,EAAE,qOAAqO,EAAE,sBAAsB,6DAAC,CAAC,kBAAkB,EAAE,MAAM,4DAA4D,kFAAa,cAAc,GAAG,IAAI,oFAAC,KAAK,WAAW,iBAAiB,WAAW,KAAK,aAAa,WAAW,gDAAC,EAAE,6BAA6B,GAAG,KAAK,WAAW,cAAc,KAAK,kBAAkB,gDAAC,EAAE,6BAA6B,QAAQ,cAAc,yBAAyB,2DAAC,sCAAsC,EAAE,QAAQ,oFAAC,mBAAmB,2DAAC,EAAE,6CAA6C,MAAM,2DAAC,IAAI,+CAA+C,EAAE,2BAA2B,YAAY,yEAAC,kBAAkB,iBAAiB,WAAW,KAAK,mBAAmB,WAAW,gDAAC,EAAE,6BAA6B,GAAG,KAAK,MAAM,yFAAC,mDAAmD,uBAAuB,WAAW,gDAAC,EAAE,+BAA+B,GAAG,YAAY,IAAI,KAAK,qBAAqB,WAAW,gDAAC,EAAE,6BAA6B,QAAQ,cAAc,oDAAoD,EAAE,eAAe,iGAAiG,kBAAkB,MAAM,4BAA4B,MAAM,SAAS,QAAQ,oFAAC,IAAI,2DAA2D,SAAS,gBAAgB,OAAO,oEAAU,EAAE,yCAAyC,EAAE,YAAY,YAAY,iCAAiC,gCAAgC,yEAAyE,+EAA+E,cAAc,sBAAsB,eAAe,wBAAwB,eAAe,oBAAoB,oBAAoB,sCAAsC,4BAA4B,+BAA+B,eAAe,iCAAiC,QAAQ,KAAK,IAAI,KAAK,sBAAsB,iBAAiB,oBAAoB,iDAAiD,SAAS,gBAAgB,sBAAsB,kBAAkB,QAAQ,8BAA8B,QAAQ,mFAAC,2DAA2D,KAAK,QAAQ,+EAAC,0BAA0B,uBAAuB,gBAAgB,8DAA8D,iBAAiB,iDAAC,YAAY,4EAAC,8HAA8H,8CAA8C,0BAA0B,8CAA8C,sCAAsC,uBAAuB,aAAa,0FAA0F,QAAQ,QAAQ,GAAG,MAAM,GAAG,MAAM,sBAAsB,4EAAC,gIAAgI,gBAAgB,sCAAsC,+JAA+J,mBAAmB,4BAA4B,uBAAuB,MAAM,aAAa,qCAAqC,2FAA2F,SAAS,mCAAmC,QAAQ,+BAA+B,GAAG,uBAAuB,wEAAwE,oFAAoF,uCAAuC,gCAAgC,YAAY,IAAI,KAAK,aAAa,qBAAqB,oBAAoB,iEAAiE,WAAW,gDAAC,EAAE,6BAA6B,GAAG,cAAc,uJAAuJ,EAAE,4BAA4B,kBAAkB,wBAAwB,WAAW,YAAY,WAAW,KAAK,aAAa,+BAA+B,8DAA8D,QAAQ,uDAAC,EAAE,sFAAC,EAAE,kBAAkB,UAAU,4CAA4C,uDAAC,EAAE,sFAAC,EAAE,kBAAkB,UAAU,6BAA6B,uDAAC,EAAE,sFAAC,EAAE,kBAAkB,mCAAmC,aAAa,oBAAoB,gCAAgC,uDAAC,EAAE,sFAAC,EAAE,YAAY,mCAAmC,uDAAC,EAAE,sFAAC,EAAE,KAAK,2DAAC,OAAO,UAAU,gCAAgC,uDAAC,EAAE,kFAAC,2CAA2C,uDAAC,EAAE,sFAAC,EAAE,MAAM,gDAAC,mBAAmB,UAAU,4BAA4B,uDAAC,EAAE,sFAAC,EAAE,YAAY,gCAAgC,uDAAC,EAAE,sFAAC,EAAE,8DAA8D,8BAA8B,uDAAC,EAAE,kFAAC,uDAAuD,uDAAC,EAAE,mFAAC,SAAS,MAAM,KAAK,wEAAC,CAAC,OAAO,KAAK,wEAAC,EAAE,iCAAiC,uDAAC,EAAE,sFAAC,EAAE,KAAK,sEAAC,OAAO,UAAU,8CAA8C,uDAAC,EAAE,sFAAC,iDAAiD,MAAM,iDAAiD,uDAAuD,SAAS,GAAG,UAA+B;;;;;;;;;;;;;;;;ACJp+M;AACA;AACA;AACA;AACA,QAAQ,8BAA8B,4DAAiF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACJvH;AACA;AACA;AACA;AACirB,gBAAgB,OAAO,uEAAU,EAAE,eAAe,EAAE,oBAAoB,gEAAC,CAAC,6DAAC,GAAG,eAAe,8MAA8M,wBAAwB,0EAA0E,sEAAW,oBAAoB,yBAAyB,uEAAuE,kBAAkB,4LAA4L,mBAAmB,oFAAoF,uDAAC,EAAE,sFAAC,EAAE,mBAAmB,kDAAkD,oCAAoC,uDAAC,EAAE,sFAAC,EAAE,kBAAkB,2BAA2B,0BAA0B,kCAAkC,uDAAC,EAAE,sFAAC,EAAE,KAAK,4DAAC,OAAO,OAAO,0BAA0B,wCAAwC,uDAAC,EAAE,kFAAC,0EAA0E,uDAAC,EAAE,kFAAC,4DAA4D,uDAAC,EAAE,sFAAC,EAAE,mBAAmB,UAAU,qCAAqC,uDAAC,EAAE,sFAAC,EAAE,KAAK,8DAAC,OAAO,OAAO,0BAA0B,kCAAkC,uDAAC,EAAE,kFAAC,qIAAqI,uDAAC,EAAE,kFAAC,gDAAgD,uDAAC,EAAE,sFAAC,EAAE,kBAAkB,6BAA6B,0BAA0B,oCAAoC,uDAAC,EAAE,sFAAC,CAAC,yEAAC,sDAAsD,uDAAC,EAAE,sFAAC,EAAE,kBAAkB,OAAO,0BAA0B,sCAAsC,uDAAC,EAAE,sFAAC,EAAE,mBAAmB,uCAAuC,iCAAiC,uDAAC,EAAE,sFAAC,EAAE,kBAAkB,SAAS,iCAAiC,uDAAC,EAAE,sFAAC,qCAAqC,UAA+B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACJ9wF;AACA;AACA;AACA;AACqN,SAAS,8QAA8Q,2FAA2F,YAAY,+FAA+F,YAAY,wEAAwE,cAAc,iBAAiB,cAAc,uBAAuB,QAAQ,8DAAC,yCAAyC,kBAAkB,mCAAmC,OAAO,+GAA+G,SAAS,cAAc,QAAQ,8DAAC,kBAAkB,UAAU,wCAAwC,MAAM,cAAc,uEAAuE,gBAAgB,WAAW,MAAM,aAAa,kCAAkC,MAAM,aAAa,UAAU,iBAAiB,+DAA+D,+DAA+D,qBAAqB,cAAc,MAAM,4DAAC,OAAO,sIAAsI,gBAAgB,SAAS,sEAAC,CAAC,wEAAC,SAAS,cAAc,IAAI,MAAM,GAAG,aAAa,OAAO,EAAE,wEAAC,aAAa,QAAQ,8DAAC,gBAAgB,MAAM,gFAAgF,iCAAiC,kBAAkB,yCAAyC,OAAO,IAAI,sEAAC,eAAe,sBAAsB,iEAAC,6CAA6C,uDAAC,gCAAgC,cAAc,eAAe,0JAA0J,oBAAoB,cAAc,eAAe,YAAY,kDAAC,CAAC,+DAAC,kCAAkC,qEAAmV;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACJprF;AACA;AACA;AACA;AAC4Z,SAAS,4BAA4B,SAAS,SAAS,iBAAiB,YAAY,kBAAkB,qCAAqC,+BAA+B,sFAAC,GAAG,IAAI,4BAA4B,0BAA0B,8BAA8B,QAAQ,yBAAyB,WAAW,IAAI,2CAA2C,yBAAyB,+BAA+B,sFAAC,GAAG,IAAI,kBAAkB,SAAS,eAAe,UAAU,QAAQ,qCAAqC,6DAAC,GAAG,IAAI,2CAA2C,SAAS,SAAS,MAAM,aAAa,0BAA0B,+BAA+B,sFAAC,GAAG,IAAI,gBAAgB,yEAAC,OAAO,SAAS,SAAS,+BAA+B,6CAA6C,+BAA+B,sFAAC,IAAI,cAAc,OAAO,yBAAyB,SAAS,SAAS,SAAS,WAAW,SAAS,OAAO,+BAA+B,sFAAC,CAAC,SAAS,IAAI,kBAAkB,SAAS,gCAAgC,YAAY,IAAI,WAAW,mBAAmB,gBAAgB,YAAY,+BAA+B,sFAAC,SAAS,SAAS,YAAY,6CAA6C,gBAAgB,OAAO,gQAAgQ,sFAAC,oDAAoD,sFAAC,+BAA+B,IAAI,KAAK,2DAAC,mBAAmB,SAAS,SAAS,MAAM,wDAAwD,QAAQ,oEAAU,IAAI,0FAA0F,8EAAU,2BAA2B,UAAU,IAAI,kBAAkB,SAAS,SAAS,QAAQ,gBAAgB,WAAW,IAAI,kBAAkB,SAAS,SAAS,OAAO,YAAY,cAAc,uCAAuC,+BAA+B,sFAAC,GAAG,2CAA2C,IAAI,kBAAkB,SAAS,SAAS,OAAO,YAAY,cAAc,uCAAuC,+BAA+B,sFAAC,GAAG,2CAA2C,IAAI,MAAM,OAAO,oCAAoC,sFAAC,CAAC,UAAU,WAAW,oBAAoB,IAAI,KAAK,yEAAC,OAAO,4CAA4C,aAAa,qBAAqT;;;;;;;;;;;;;;;;;;;;ACJjnG;AACA;AACA;AACA;AAC+H,MAAM,aAAa,wIAAwI,SAAS,GAAG,wIAAwI,cAAc,8BAA8B,cAAc,yEAAyE,cAAc,uFAAuF,cAAc,yEAAyE,kBAAkB,qBAAqB,kBAAkB,eAAe,aAAa,MAAM,YAAY,QAAQ,4DAA4D,MAAM,sIAAsI,YAAY,gBAAgB,qBAAqB,+BAA+B,qFAAqF,yBAAyB,wBAAwB,EAAE,6GAA6G,kBAAkB,aAAa,IAAI,iFAAC,oBAAoB,iFAAC,kCAAkC,OAAO,IAAI,iFAAC,oBAAoB,iFAAC,kCAAkC,OAAO,IAAI,wFAAC,oBAAoB,wFAAC,kCAAkC,EAAE,mBAA0I;;;;;;;;;;;;;;;;;;;;;;;;;;ACJttD;AACA;AACA;AACA;AAC8J,SAAS,gBAAgB,kDAAC,UAAU,MAAM,uDAAC,eAAe,4DAAC,WAAW,2DAAC,GAAG,cAAc,wBAAwB,eAAe,mBAAmB,gEAAU,IAAI,wBAAwB,qEAAU,IAAI,uBAAuB,oEAAU,IAAI,YAAyH;;;;;;;;;;;;;;;;;;ACJlgB;AACA;AACA;AACA;AACgK,cAAc,2EAA2E,cAAc,gBAAgB,6EAAC,yDAAyD,0EAAC,KAAK,4EAAC,KAAkC;;;;;;;;;;;;;;;;ACJ1X;AACA;AACA;AACA;AACA,cAAc,MAAM,gCAAgC,GAAG,0BAA0B,gCAAgC,YAAY,sBAAsB,OAAO,cAAc,MAAM,iBAAiB,GAAG,sBAAsB,gCAAgC,sBAAgD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACJxS;AACA;AACA;AACA;AACA;AAAqC;AAAuD;AAAyD;AAAmC;AAAgD;AAAqD;AAAuD;AAAwG;AAA6C;AAAqC;AAAoD;AAAoE;AAAqD;AAAiD;AAAsD;AAAqD;AAA2C;AAAuD,MAAMK,CAAC,GAAC,IAAIzB,qDAAJ,CAAM;AAACq5C,EAAAA,iBAAiB,EAAC,OAAnB;AAA2BC,EAAAA,sBAAsB,EAAC,YAAlD;AAA+DC,EAAAA,oBAAoB,EAAC,UAApF;AAA+FC,EAAAA,mBAAmB,EAAC,SAAnH;AAA6HC,EAAAA,sBAAsB,EAAC;AAApJ,CAAN,CAAR;;SAAgM93C;;;;;yMAAf,WAAiBnC,CAAjB,EAAmBE,CAAnB,EAAqBD,CAArB,EAAuBO,CAAvB,EAAyB;AAAC,UAAMJ,CAAC,SAAOgL,CAAC,CAACpL,CAAD,CAAf;AAAmB,QAAG,MAAMsC,CAAC,CAACtC,CAAD,EAAGE,CAAH,EAAKM,CAAL,CAAP,EAAe,CAACJ,CAAC,CAAC8lC,aAArB,EAAmC,MAAM,IAAIvlC,sDAAJ,CAAMH,CAAN,EAAQ,wDAAR,CAAN;AAAwE,WAAOJ,CAAC,CAAC8lC,aAAF,CAAgBhmC,CAAhB,EAAkBD,CAAlB,CAAP;AAA4B;;;;AAAA,SAASqC,CAAT,CAAWtC,CAAX,EAAaE,CAAb,EAAeD,CAAf,EAAiB;AAAC,QAAK;AAACsxC,IAAAA,UAAU,EAAC/wC;AAAZ,MAAeN,CAApB;AAAA,QAAsB;AAACkrC,IAAAA,aAAa,EAAChrC;AAAf,MAAkBJ,CAAxC;AAA0C,SAAOA,CAAC,CAAC+sC,YAAF,EAAgB7oC,IAAhB,EAAsBg2C,kBAAtB,GAAyCh6C,CAAC,GAACM,CAAC,GAACJ,CAAC,IAAEI,CAAC,CAACJ,CAAD,CAAJ,GAAQiF,OAAO,CAACC,OAAR,EAAR,GAA0BD,OAAO,CAAC+O,MAAR,CAAe,IAAIzT,sDAAJ,CAAMV,CAAN,EAAS,gDAA+CG,CAAE,EAA1D,CAAf,CAA3B,GAAwGiF,OAAO,CAAC+O,MAAR,CAAe,IAAIzT,sDAAJ,CAAMV,CAAN,EAAQ,6DAAR,CAAf,CAA1G,GAAiMoF,OAAO,CAAC+O,MAAR,CAAe,IAAIzT,sDAAJ,CAAMV,CAAN,EAAQ,wDAAR,CAAf,CAA3O,GAA6ToF,OAAO,CAAC+O,MAAR,CAAe,IAAIzT,sDAAJ,CAAMV,CAAN,EAAQ,wCAAR,CAAf,CAApU;AAAsY;;SAAesI;;;;;yMAAf,WAAiBvI,CAAjB,EAAmBE,CAAnB,EAAqBD,CAArB,EAAuBO,CAAvB,EAAyBJ,CAAzB,EAA2B;AAAC,UAAMM,CAAC,SAAO0K,CAAC,CAACpL,CAAD,CAAf;AAAmB,QAAG,MAAMsC,CAAC,CAACtC,CAAD,EAAGE,CAAH,EAAKE,CAAL,CAAP,EAAe,CAACM,CAAC,CAAC0lC,gBAArB,EAAsC,MAAM,IAAIzlC,sDAAJ,CAAMP,CAAN,EAAQ,2DAAR,CAAN;AAA2E,WAAOM,CAAC,CAAC0lC,gBAAF,CAAmBlmC,CAAnB,EAAqBD,CAArB,EAAuBO,CAAvB,CAAP;AAAiC;;;;SAAekR;;;;;yMAAf,WAAiB1R,CAAjB,EAAmBE,CAAnB,EAAqBD,CAArB,EAAuB;AAAC,UAAK;AAACqmC,MAAAA,UAAU,EAAC3lC;AAAZ,cAAqB,wSAA1B;AAAA,UAAkEH,CAAC,SAAOR,CAAC,CAACkF,IAAF,EAA1E;AAAmF,QAAI9E,CAAC,GAACH,CAAN;AAAQ,WAAM,cAAYO,CAAC,CAAC+C,IAAd,IAAoB/C,CAAC,CAACyqC,SAAtB,IAAiC,QAAM/qC,CAAC,CAAC4zC,cAAzC,IAAyD,QAAMtzC,CAAC,CAAC25C,aAAjE,KAAiF/5C,CAAC,GAAC,EAAC,GAAGA,CAAJ;AAAMg6C,MAAAA,kBAAkB,QAAO7yB,CAAC,CAAC/mB,CAAD,EAAGN,CAAC,CAAC4zC,cAAL,EAAoBtzC,CAAC,CAAC25C,aAAtB;AAAhC,KAAnF,GAA0Jx5C,CAAC,CAACH,CAAD,EAAGA,CAAC,CAAC6J,MAAL,EAAYnK,CAAZ,EAAcD,CAAd,CAAjK;AAAkL;;;;SAAeuC;;;;;2MAAf,WAAiBxC,CAAjB,EAAmBE,CAAnB,EAAqBD,CAArB,EAAuB;AAAC,UAAK;AAACumC,MAAAA,YAAY,EAAC7lC;AAAd,cAAuB,wSAA5B;AAAA,UAAoEH,CAAC,SAAOR,CAAC,CAACkF,IAAF,EAA5E;AAAqF,WAAOvE,CAAC,CAACH,CAAD,EAAGA,CAAC,CAAC6J,MAAL,EAAYnK,CAAZ,EAAcD,CAAd,CAAR;AAAyB;;;;SAAekL;;;;;yMAAf,WAAiBnL,CAAjB,EAAmBE,CAAnB,EAAqBD,CAArB,EAAuBO,CAAvB,EAAyB;AAAC,UAAMJ,CAAC,SAAOgL,CAAC,CAACpL,CAAD,CAAf;AAAmB,QAAG,MAAMsC,CAAC,CAACtC,CAAD,EAAGE,CAAH,EAAKM,CAAL,CAAP,EAAe,CAACJ,CAAC,CAACumC,iBAArB,EAAuC,MAAM,IAAIhmC,sDAAJ,CAAMH,CAAN,EAAQ,4DAAR,CAAN;AAA4E,WAAOJ,CAAC,CAACumC,iBAAF,CAAoBzmC,CAApB,EAAsBD,CAAtB,CAAP;AAAgC;;;;SAAesC;;;;;yMAAf,WAAiBvC,CAAjB,EAAmBE,CAAnB,EAAqBD,CAArB,EAAuB;AAAC,UAAMO,CAAC,GAAC,OAAOR,CAAC,CAACkF,IAAF,CAAO;AAACwC,MAAAA,MAAM,EAACxH,CAAC,EAAEwH;AAAX,KAAP,CAAP,EAAmC2C,MAA3C;AAAkD,QAAG,CAAC7J,CAAC,CAACqmC,sBAAN,EAA6B,MAAM,IAAIlmC,sDAAJ,CAAMV,CAAN,EAAQ,uDAAR,CAAN;AAAuE,WAAOO,CAAC,CAACqmC,sBAAF,CAAyB3mC,CAAzB,CAAP;AAAmC;;;;SAAekC;;;;;yMAAf,WAAiBpC,CAAjB,EAAmBE,CAAnB,EAAqBD,CAArB,EAAuBO,CAAvB,EAAyB;AAACN,IAAAA,CAAC,GAACoB,8EAAA,CAAOpB,CAAP,CAAF,QAAkBF,CAAC,CAACkF,IAAF,EAAlB;AAA2B,UAAM9E,CAAC,GAACJ,CAAC,CAACqK,MAAV;AAAA,UAAiB3J,CAAC,GAACV,CAAC,CAAC+sC,YAArB;AAAkC,QAAG,CAACrsC,CAAC,EAAEwD,IAAH,EAASg2C,kBAAb,EAAgC,MAAM,IAAIv5C,sDAAJ,CAAMH,CAAN,EAAQ,wCAAR,CAAN;AAAwD,UAAK;AAAC65C,MAAAA,eAAe,EAAC/5C,CAAjB;AAAmBg6C,MAAAA,SAAS,EAAC94C,CAA7B;AAA+B+4C,MAAAA,SAAS,EAACv5C,CAAzC;AAA2Cw5C,MAAAA,GAAG,EAAC35C,CAA/C;AAAiD20B,MAAAA,IAAI,EAAC10B,CAAtD;AAAwD8gB,MAAAA,KAAK,EAAClgB,CAA9D;AAAgE6tC,MAAAA,KAAK,EAAC3tC;AAAtE,QAAyE1B,CAA9E;;AAAgF,QAAG,CAACQ,CAAC,EAAEssC,UAAH,EAAeyN,wBAAnB,EAA4C;AAAC,UAAGn6C,CAAC,EAAEuN,MAAH,GAAU,CAAV,IAAa7M,CAAC,EAAE6M,MAAH,GAAU,CAAvB,IAA0B/M,CAAC,EAAE+M,MAAH,GAAU,CAApC,IAAuChN,CAAvC,IAA0Ca,CAA1C,IAA6CE,CAAhD,EAAkD,MAAM,IAAIjB,sDAAJ,CAAMH,CAAN,EAAQ,+FAAR,EAAwGN,CAAxG,CAAN;AAAiH;;AAAA,QAAG,EAAEsB,CAAC,EAAEqM,MAAH,IAAW7M,CAAC,EAAE6M,MAAd,IAAsBjM,CAAxB,CAAH,EAA8B,MAAM,IAAIjB,sDAAJ,CAAMH,CAAN,EAAQ,+EAAR,EAAwFN,CAAxF,CAAN;AAAiG,QAAG,CAACE,CAAC,CAACknC,gBAAN,EAAuB,MAAM,IAAI3mC,sDAAJ,CAAMH,CAAN,EAAQ,2DAAR,EAAoEN,CAApE,CAAN;AAA6E,WAAOE,CAAC,CAACknC,gBAAF,CAAmBpnC,CAAnB,CAAP;AAA6B;;;;SAAeoL;;;;;yMAAf,WAAiBtL,CAAjB,EAAmBE,CAAnB,EAAqBD,CAArB,EAAuBO,CAAvB,EAAyB;AAAC,UAAMJ,CAAC,SAAOgL,CAAC,CAACpL,CAAD,CAAf;AAAmB,QAAG,CAACI,CAAC,CAAConC,cAAN,EAAqB,MAAM,IAAI7mC,sDAAJ,CAAMH,CAAN,EAAQ,yDAAR,CAAN;AAAyE,WAAOJ,CAAC,CAAConC,cAAF,CAAiBzlC,oEAAA,CAAO7B,CAAP,KAAWF,CAAC,CAACymC,WAAF,EAA5B,EAA4CxmC,CAA5C,CAAP;AAAsD;;;;SAAe0M;;;;;yMAAf,WAAiB3M,CAAjB,EAAmBE,CAAnB,EAAqBD,CAArB,EAAuBO,CAAvB,EAAyB;AAAC,UAAMJ,CAAC,SAAOgL,CAAC,CAACpL,CAAD,CAAf;AAAmB,QAAG,CAACI,CAAC,CAACsnC,iBAAN,EAAwB,MAAM,IAAI/mC,sDAAJ,CAAMH,CAAN,EAAQ,4DAAR,CAAN;AAA4E,WAAOJ,CAAC,CAACsnC,iBAAF,CAAoB3lC,oEAAA,CAAO7B,CAAP,KAAWF,CAAC,CAACymC,WAAF,EAA/B,EAA+CxmC,CAA/C,CAAP;AAAyD;;;;SAAeoL;;;;;yMAAf,WAAiBrL,CAAjB,EAAmBE,CAAnB,EAAqBD,CAArB,EAAuBO,CAAvB,EAAyB;AAAC,UAAMJ,CAAC,SAAOgL,CAAC,CAACpL,CAAD,CAAf;AAAmB,QAAG,CAACI,CAAC,CAACwnC,WAAN,EAAkB,MAAM,IAAIjnC,sDAAJ,CAAMH,CAAN,EAAQ,sDAAR,CAAN;AAAsE,WAAOJ,CAAC,CAACwnC,WAAF,CAAc7lC,oEAAA,CAAO7B,CAAP,KAAWF,CAAC,CAACymC,WAAF,EAAzB,EAAyCxmC,CAAzC,CAAP;AAAmD;;;;SAAe6B;;;;;yMAAf,WAAiB9B,CAAjB,EAAmBE,CAAnB,EAAqBD,CAArB,EAAuBO,CAAvB,EAAyB;AAAC,UAAMJ,CAAC,SAAOgL,CAAC,CAACpL,CAAD,CAAf;AAAmB,QAAG,CAACI,CAAC,CAAC0nC,oBAAN,EAA2B,MAAM,IAAInnC,sDAAJ,CAAMH,CAAN,EAAQ,+DAAR,CAAN;AAA+E,WAAOJ,CAAC,CAAC0nC,oBAAF,CAAuBjmC,gFAAA,CAAO3B,CAAP,CAAvB,EAAiCD,CAAjC,CAAP;AAA2C;;;;SAAe8I;;;;;yMAAf,WAAiB/I,CAAjB,EAAmBE,CAAnB,EAAqBD,CAArB,EAAuBO,CAAvB,EAAyB;AAAC,UAAMJ,CAAC,SAAOgL,CAAC,CAACpL,CAAD,CAAf;AAAmB,QAAG,CAACI,CAAC,CAAC4nC,yBAAN,EAAgC,MAAM,IAAIrnC,sDAAJ,CAAMH,CAAN,EAAQ,oEAAR,CAAN;AAAoF,WAAOJ,CAAC,CAAC4nC,yBAAF,CAA4BnmC,gFAAA,CAAO3B,CAAP,CAA5B,EAAsCD,CAAtC,CAAP;AAAgD;;;;SAAesL;;;;;yMAAf,WAAiBvL,CAAjB,EAAmB;AAAC,UAAME,CAAC,GAACF,CAAC,CAACqK,MAAV;AAAiB,QAAGnK,CAAC,EAAEs4C,OAAN,EAAc,IAAG;AAAC,YAAK;AAACW,QAAAA,WAAW,EAACl5C,CAAb;AAAei0C,QAAAA,OAAO,EAACvzC;AAAvB,gBAAgCT,CAAC,CAACs4C,OAAF,EAArC;AAAiD,UAAG,QAAM73C,CAAN,KAAUX,CAAC,CAACkxC,UAAF,GAAa,EAAC,GAAGlxC,CAAC,CAACkxC,UAAN;AAAiB,WAAGvwC;AAApB,OAAb,EAAoCX,CAAC,CAACiE,IAAF,CAAOtD,CAAP,EAAS;AAACiF,QAAAA,MAAM,EAAC,SAAR;AAAkBC,QAAAA,GAAG,EAAC7F,CAAC,CAAC6tC;AAAxB,OAAT,CAA9C,GAA4F5tC,CAA/F,EAAiG,OAAM,CAAC,CAAP;AAAS,KAA/J,CAA+J,MAAK,CAAE;AAAA,QAAGD,CAAC,CAACsvC,oBAAL,EAA0B,IAAG;AAAC,aAAM,OAAOlvC,8DAAC,CAACJ,CAAC,CAACsvC,oBAAH,EAAwBtvC,CAAC,CAAC8kB,WAA1B,CAAR,EAAgD41B,gBAAtD;AAAuE,KAA3E,CAA2E,MAAK,CAAE;AAAA,WAAM,CAAC,CAAP;AAAS;;;;AAAA,SAAS1zC,CAAT,CAAWhH,CAAX,EAAa;AAAC,QAAME,CAAC,GAAC,IAAI6B,+DAAJ,EAAR;AAAA,QAAc9B,CAAC,GAACD,CAAC,CAAC+sC,YAAF,EAAgB7oC,IAAhC;AAAA,QAAqCvD,CAAC,GAACX,CAAC,CAAC+sC,YAAF,EAAgB5lC,KAAvD;AAA6DjH,EAAAA,CAAC,CAACy6C,cAAF,GAAiB36C,CAAC,CAAC26C,cAAnB,EAAkCz6C,CAAC,CAAC06C,UAAF,GAAa56C,CAAC,CAAC46C,UAAjD,EAA4D16C,CAAC,CAACqN,cAAF,GAAiB,CAAC,CAA9E,EAAgF5M,CAAC,KAAGT,CAAC,CAAC26C,sBAAF,GAAyBl6C,CAAC,CAACm6C,uBAA3B,EAAmD56C,CAAC,CAAC66C,8BAAF,GAAiCp6C,CAAC,CAACq6C,+BAAzF,CAAjF,EAA2M/6C,CAAC,KAAGA,CAAC,CAACg7C,SAAF,IAAa,QAAMj7C,CAAC,CAACk7C,OAArB,KAA+Bh7C,CAAC,CAACg7C,OAAF,GAAUl7C,CAAC,CAACk7C,OAA3C,GAAoDj7C,CAAC,CAACk7C,SAAF,IAAa,QAAMn7C,CAAC,CAACo7C,OAArB,KAA+Bl7C,CAAC,CAACk7C,OAAF,GAAUp7C,CAAC,CAACo7C,OAA3C,CAAvD,CAA5M,EAAwTl7C,CAAC,CAACmN,SAAF,GAAY,CAAC,GAAD,CAApU;AAA0U,QAAK;AAACguC,IAAAA,UAAU,EAAC76C,CAAZ;AAAckU,IAAAA,UAAU,EAACtU;AAAzB,MAA4BJ,CAAjC;AAAmC,SAAOE,CAAC,CAACwU,UAAF,GAAa,QAAMlU,CAAN,IAAS,QAAMJ,CAAf,GAAiBA,CAAC,CAAC47B,MAAF,CAAS,CAACx7B,CAAC,CAACkN,KAAZ,EAAkBlN,CAAC,CAAC86C,IAApB,CAAjB,GAA2Cl7C,CAAC,IAAE,IAA3D,EAAgEF,CAAC,CAACq7C,gBAAF,GAAmB,iBAAev7C,CAAC,CAACgrC,YAAjB,GAA8B,aAA9B,GAA4C,IAA/H,EAAoI9qC,CAA3I;AAA6I;;AAAA,SAASmS,CAAT,CAAWrS,CAAX,EAAa;AAAC,QAAK;AAACm6C,IAAAA,aAAa,EAACj6C,CAAf;AAAiBqM,IAAAA,MAAM,EAACtM;AAAxB,MAA2BD,CAAhC;AAAkC,MAAGE,CAAH,EAAK,OAAOA,CAAP;AAAS,MAAGD,CAAH,EAAK,KAAI,MAAMU,CAAV,IAAeV,CAAf,EAAiB,IAAG,4BAA0BU,CAAC,CAAC4C,IAA/B,EAAoC,OAAO5C,CAAC,CAACyZ,IAAT;AAAc;;AAAA,SAAS0F,CAAT,CAAW9f,CAAX,EAAa;AAAC,QAAK;AAACorC,IAAAA,aAAa,EAAClrC,CAAf;AAAiBqM,IAAAA,MAAM,EAACtM;AAAxB,MAA2BD,CAAhC;AAAkC,MAAGE,CAAH,EAAK,OAAOA,CAAP;AAAS,MAAGD,CAAH,EAAK,KAAI,MAAMU,CAAV,IAAeV,CAAf,EAAiB,IAAG,uBAAqBU,CAAC,CAAC4C,IAA1B,EAA+B,OAAO5C,CAAC,CAACyZ,IAAT;AAAc;;AAAA,SAASgO,CAAT,CAAWpoB,CAAX,EAAa;AAAC,SAAOA,CAAC,CAACwV,cAAF,GAAiBxV,CAAC,CAACwV,cAAnB,GAAkCxV,CAAC,CAAC0xB,cAAF,CAAiB,cAAjB,KAAkC1xB,CAAC,CAAC0xB,cAAF,CAAiB,aAAjB,CAAlC,IAAmE1xB,CAAC,CAAC0xB,cAAF,CAAiB,gBAAjB,CAAnE,IAAuG1xB,CAAC,CAAC0xB,cAAF,CAAiB,eAAjB,CAAvG,IAA0I1xB,CAAC,CAAC0xB,cAAF,CAAiB,eAAjB,CAA1I,IAA6K1xB,CAAC,CAAC0xB,cAAF,CAAiB,UAAjB,CAA7K,IAA2M1xB,CAAC,CAAC0xB,cAAF,CAAiB,aAAjB,CAA3M,IAA4O1xB,CAAC,CAAC0xB,cAAF,CAAiB,OAAjB,CAA5O,GAAsQ,EAAtQ,GAAyQ,GAAlT;AAAsT;;AAAA,SAAS5J,CAAT,CAAW9nB,CAAX,EAAaE,CAAb,EAAe;AAAC,QAAK;AAACwvC,IAAAA,QAAQ,EAACzvC,CAAV;AAAYovC,IAAAA,YAAY,EAAC1uC;AAAzB,MAA4BX,CAAjC;AAAmC,MAAG,CAACE,CAAC,EAAEqxC,UAAJ,IAAgB,CAACtxC,CAAC,EAAE4N,MAApB,IAA4B,CAAClN,CAAhC,EAAkC,OAAO,IAAP;AAAY,QAAMH,CAAC,GAACN,CAAC,CAACqxC,UAAF,CAAa5wC,CAAb,CAAR;AAAwB,SAAO,QAAMH,CAAN,GAAQ,IAAR,GAAaP,CAAC,CAACyP,IAAF,CAAQ1P,CAAC,IAAEA,CAAC,CAACs1C,IAAF,KAAS90C,CAApB,CAApB;AAA4C;;AAAA,SAASgL,CAAT,CAAWxL,CAAX,EAAaE,CAAb,EAAe;AAAC,QAAK;AAAC4kB,IAAAA,WAAW,EAAC7kB,CAAb;AAAeovC,IAAAA,YAAY,EAAC1uC;AAA5B,MAA+BX,CAApC;AAAA,QAAsC;AAACoa,IAAAA,IAAI,EAAC5Z,CAAN;AAAQ+C,IAAAA,IAAI,EAACnD;AAAb,MAAgBH,CAAC,CAAC6Z,GAAF,CAAM5Z,CAAN,KAAU,EAAhE;AAAmE,MAAG,CAACM,CAAJ,EAAM,OAAO,IAAP;;AAAY,MAAG,CAACG,CAAC,IAAEV,CAAC,CAAC6Z,GAAF,CAAMnZ,CAAN,GAAUyZ,IAAd,MAAsB5Z,CAAtB,IAAyBR,CAAC,CAAC0vC,QAAF,EAAY7hC,MAAxC,EAA+C;AAAC,UAAM3N,CAAC,GAACF,CAAC,CAAC0vC,QAAF,CAAWnqC,GAAX,CAAgBvF,CAAC,IAAE,IAAIwB,sDAAJ,CAAM;AAAC8zC,MAAAA,IAAI,EAACppC,CAAC,CAAClM,CAAC,CAACs1C,IAAH,EAAQl1C,CAAR,CAAP;AAAkBga,MAAAA,IAAI,EAACpa,CAAC,CAACoa;AAAzB,KAAN,CAAnB,CAAR;AAAmE,QAAGla,CAAC,EAAE2N,MAAN,EAAa,OAAO,IAAI7M,6DAAJ,CAAM;AAACw6C,MAAAA,WAAW,EAACt7C;AAAb,KAAN,CAAP;AAA8B;;AAAA,SAAO,IAAP;AAAY;;AAAA,SAASmG,CAAT,CAAWrG,CAAX,EAAaE,CAAb,EAAe;AAAC,QAAK;AAAC4kB,IAAAA,WAAW,EAAC7kB;AAAb,MAAgBD,CAArB;AAAA,QAAuB;AAACoa,IAAAA,IAAI,EAACzZ,CAAN;AAAQ4C,IAAAA,IAAI,EAAC/C;AAAb,MAAgBP,CAAC,CAAC6Z,GAAF,CAAM5Z,CAAN,KAAU,EAAjD;AAAoD,MAAG,CAACS,CAAJ,EAAM,OAAO,IAAP;;AAAY,MAAG,CAAC,iBAAgBX,CAAhB,GAAkBC,CAAC,CAAC6Z,GAAF,CAAM9Z,CAAC,CAAC2rC,WAAR,GAAsBvxB,IAAxC,GAA6C,IAA9C,MAAsDzZ,CAAtD,IAAyD,WAAUX,CAAnE,IAAsEA,CAAC,CAACkL,KAAF,EAAS2C,MAAlF,EAAyF;AAAC,UAAM3N,CAAC,GAACF,CAAC,CAACkL,KAAF,CAAQ3F,GAAR,CAAavF,CAAC,IAAE,IAAIwB,sDAAJ,CAAM;AAAC8zC,MAAAA,IAAI,EAACppC,CAAC,CAAClM,CAAC,CAAC0C,EAAH,EAAMlC,CAAN,CAAP;AAAgB4Z,MAAAA,IAAI,EAACpa,CAAC,CAACoa;AAAvB,KAAN,CAAhB,CAAR;AAA8D,WAAO,IAAIpZ,6DAAJ,CAAM;AAACw6C,MAAAA,WAAW,EAACt7C;AAAb,KAAN,CAAP;AAA8B;;AAAA,SAAO,IAAP;AAAY;;AAAA,SAASgM,CAAT,CAAWlM,CAAX,EAAaE,CAAb,EAAe;AAAC,SAAOA,CAAC,GAACY,8DAAC,CAAC;AAACyC,IAAAA,IAAI,EAACrD;AAAN,GAAD,CAAD,IAAa,YAAU,OAAOF,CAA9B,GAAiC,GAAEA,CAAE,EAArC,GAAuC0B,+DAAC,CAAC;AAAC6B,IAAAA,IAAI,EAACrD;AAAN,GAAD,CAAD,IAAa,YAAU,OAAOF,CAA9B,GAAgC+J,MAAM,CAAC0G,QAAP,CAAgBzQ,CAAhB,EAAkB,EAAlB,CAAhC,GAAsDA,CAA9F,GAAgGA,CAAxG;AAA0G;;SAAeoL;;;;;yMAAf,WAAiBpL,CAAjB,EAAmB;AAAC,WAAM,OAAOA,CAAC,CAACkF,IAAF,EAAP,EAAiBmF,MAAvB;AAA8B;;;;SAAeyI;;;;;yMAAf,WAAiB5S,CAAjB,EAAmBD,CAAnB,EAAqB;AAAC,QAAG,CAACD,0CAAJ,EAAM;AAAO,QAAGA,yDAAA,CAAiBE,CAAjB,CAAH,EAAuB;AAAO,QAAIS,CAAJ;;AAAM,QAAG;AAAC,YAAMH,CAAC,SAAOoB,mEAAC,CAAC1B,CAAD,EAAGD,CAAH,CAAf;AAAqBO,MAAAA,CAAC,KAAGG,CAAC,SAAOX,4DAAA,CAAqB,GAAEQ,CAAE,UAAzB,CAAX,CAAD;AAAiD,KAA1E,CAA0E,OAAMA,CAAN,EAAQ,CAAE;;AAAA,QAAGG,CAAH,EAAK,IAAG;AAAC,YAAMA,CAAC,GAAC,QAAMV,CAAN,GAAQA,CAAC,CAACyH,MAAV,GAAiB,IAAzB;AAA8B,YAAM1H,wDAAA,CAAgBE,CAAhB,EAAkB;AAACwH,QAAAA,MAAM,EAAC/G;AAAR,OAAlB,CAAN;AAAoC,KAAtE,CAAsE,OAAMH,CAAN,EAAQ,CAAE;AAAC;;;;SAAeiL;;;;;yMAAf,WAAiBzL,CAAjB,EAAmBE,CAAnB,EAAqBD,CAArB,EAAuB;AAAC,UAAMU,CAAC,GAACX,CAAC,CAAC6tC,SAAF,EAAapoB,IAArB;AAA0B9kB,IAAAA,CAAC,IAAEX,CAAC,CAAC07C,0BAAF,KAA+Bx7C,CAAlC,WAA2C4S,CAAC,CAACnS,CAAD,EAAGV,CAAH,CAA5C;AAAkD;;;;AAAA,SAAS2S,CAAT,CAAW5S,CAAX,EAAa;AAAC,SAAM,CAACkoB,CAAC,CAACloB,CAAD,CAAF,KAAQA,CAAC,CAACw2C,2BAAF,IAA+Bx2C,CAAC,CAAC8sC,cAAzC,CAAN;AAA+D;;AAAA,MAAM5lB,CAAC,GAAC5mB,iHAAC,CAAC;AAAC4K,EAAAA,KAAK,EAAChL,4DAACA;AAAR,CAAD,CAAT;;AAAqB,SAASmnB,CAAT,CAAWrnB,CAAX,EAAaE,CAAb,EAAe;AAAC,MAAGF,CAAC,CAAC27C,aAAL,EAAmB,OAAO37C,CAAC,CAACkL,KAAF,EAAS2C,MAAT,GAAgB,IAAI3M,0EAAJ,CAAM;AAACy6C,IAAAA,aAAa,EAACz0B,CAAC,CAAClnB,CAAC,CAAC27C,aAAH,EAAiB37C,CAAjB,EAAmBE,CAAnB,CAAhB;AAAsCkQ,IAAAA,KAAK,EAACpQ,CAAC,CAAC2rC,WAA9C;AAA0DiQ,IAAAA,gBAAgB,EAAC57C,CAAC,CAACkL,KAAF,CAAQ3F,GAAR,CAAavF,CAAC,KAAG;AAAC0C,MAAAA,EAAE,EAAC1C,CAAC,CAAC0C,EAAN;AAAS4pC,MAAAA,MAAM,EAACplB,CAAC,CAAClnB,CAAC,CAACssC,MAAH,EAAUtsC,CAAV,EAAYE,CAAZ;AAAjB,KAAH,CAAd;AAA3E,GAAN,CAAhB,GAAwJ,IAAIkB,qEAAJ,CAAM;AAACkrC,IAAAA,MAAM,EAACplB,CAAC,CAAClnB,CAAC,CAAC27C,aAAH,EAAiB37C,CAAjB,EAAmBE,CAAnB;AAAT,GAAN,CAA/J;AAAsM;;AAAA,SAASwL,CAAT,CAAW1L,CAAX,EAAa;AAAC,MAAIE,CAAC,GAACF,CAAC,CAACkxC,UAAF,EAAc2K,WAApB;AAAgC,MAAG,CAAC37C,CAAJ,EAAM,OAAM,CAAC,CAAP;AAAS,QAAMD,CAAC,GAACD,CAAC,CAAC87C,WAAF,EAAeC,YAAf,EAA6BC,OAA7B,EAAR;AAA+C,SAAO,QAAM/7C,CAAN,KAAUC,CAAC,IAAE,GAAH,EAAO8C,IAAI,CAACC,GAAL,KAAWhD,CAAX,GAAaC,CAA9B,CAAP;AAAwC;;SAAeqnB;;;;;yMAAf,WAAiBvnB,CAAjB,EAAmBE,CAAnB,EAAqBS,CAArB,EAAuB;AAAC,QAAG,QAAMT,CAAT,EAAW,OAAO,IAAP;AAAY,UAAMM,CAAC,GAAC,EAAR;AAAA,UAAW;AAAC4qC,MAAAA,aAAa,EAAChrC;AAAf,QAAkBJ,CAA7B;AAA+B,QAAGE,CAAC,CAACyE,OAAF,CAAW3E,CAAC,IAAE;AAAC,UAAIE,CAAC,GAAC,IAAN;;AAAW,UAAG,gBAAeF,CAAlB,EAAoB;AAAC,cAAK;AAACuxC,UAAAA,UAAU,EAACtxC;AAAZ,YAAeD,CAApB;AAAsBE,QAAAA,CAAC,GAAC;AAACq1C,UAAAA,QAAQ,EAACt1C,CAAC,CAACU,CAAD,CAAX;AAAeizC,UAAAA,QAAQ,EAAC,QAAM3zC,CAAC,CAACG,CAAD,CAAP,IAAY,CAAC,CAAD,KAAKH,CAAC,CAACG,CAAD,CAAlB,GAAsBH,CAAC,CAACG,CAAD,CAAvB,GAA2B;AAAnD,SAAF;AAA2D,OAAtG,MAA2GF,CAAC,GAAC;AAACq1C,QAAAA,QAAQ,EAACv1C,CAAC,CAACu1C,QAAZ;AAAqB3B,QAAAA,QAAQ,EAAC,QAAM5zC,CAAC,CAAC4zC,QAAR,IAAkB,CAAC,CAAD,KAAK5zC,CAAC,CAAC4zC,QAAzB,GAAkC5zC,CAAC,CAAC4zC,QAApC,GAA6C;AAA3E,OAAF;;AAAmF,cAAM1zC,CAAC,CAACq1C,QAAR,KAAmB,QAAMr1C,CAAC,CAAC0zC,QAAR,IAAkB,CAAC,CAAD,KAAK1zC,CAAC,CAAC0zC,QAAzB,IAAmCpzC,CAAC,CAACsE,IAAF,CAAO5E,CAAC,CAACq1C,QAAT,CAAtD;AAA0E,KAAlS,GAAqS,MAAI/0C,CAAC,CAACqN,MAA9S,EAAqT,OAAO,IAAP;AAAY,UAAMvN,CAAC,GAACN,CAAC,CAACymC,WAAF,EAAR;AAAwBnmC,IAAAA,CAAC,CAACivC,KAAF,GAAQ/uC,CAAC,CAAC+E,GAAF,CAAOvF,CAAC,IAAG,GAAEW,CAAE,KAAIX,CAAE,GAArB,EAA0BwmB,IAA1B,CAA+B,MAA/B,CAAR,EAA+ClmB,CAAC,CAACiN,cAAF,GAAiB,CAAC,CAAjE,EAAmEjN,CAAC,CAAC+M,SAAF,GAAY,CAACjN,CAAD,EAAGO,CAAH,CAA/E,EAAqFL,CAAC,CAAC27C,SAAF,GAAY,CAAC,CAAlG;AAAoG,UAAMz6C,CAAC,SAAOvB,kEAAC,CAACY,kEAAC,CAACb,CAAD,EAAGM,CAAH,CAAF,CAAf;AAAwB,QAAG,CAACkB,CAAC,CAACua,EAAN,EAAS,OAAO,IAAP;AAAY,UAAM/a,CAAC,GAAC,IAAI2R,GAAJ,EAAR;AAAA,UAAgB7R,CAAC,GAACU,CAAC,CAACkM,KAAF,CAAQ6gC,QAA1B;;AAAmC,SAAI,MAAMtuC,CAAV,IAAea,CAAf,EAAiB;AAAC,YAAMd,CAAC,GAACC,CAAC,CAACsxC,UAAF,CAAa5wC,CAAb,CAAR;AAAA,YAAwBT,CAAC,GAACD,CAAC,CAACsxC,UAAF,CAAanxC,CAAb,CAA1B;AAA0C,cAAMJ,CAAN,IAAS,QAAME,CAAf,IAAkB,CAAC,CAAD,KAAKA,CAAvB,IAA0Bc,CAAC,CAAC0E,GAAF,CAAMhF,gEAAC,CAACV,CAAD,CAAP,EAAWE,CAAX,CAA1B;AAAwC;;AAAA,WAAOc,CAAP;AAAS;;;;AAAA,SAAS6L,CAAT,CAAW7M,CAAX,EAAaE,CAAb,EAAeD,CAAf,EAAiB;AAAC,MAAG,CAACC,CAAD,IAAI,CAACD,CAAL,IAAQ,CAACD,CAAZ,EAAc,OAAO,IAAP;AAAY,QAAMW,CAAC,GAACV,CAAC,CAACi8C,YAAF,CAAeh8C,CAAf,CAAR;AAA0B,SAAO,QAAMS,CAAN,GAAQ,IAAR,GAAaX,CAAC,CAAC0P,IAAF,CAAQ1P,CAAC,IAAE;AAAC,UAAK;AAAC0C,MAAAA,EAAE,EAACxC;AAAJ,QAAOF,CAAZ;AAAc,WAAO,QAAME,CAAN,IAASA,CAAC,CAACgD,QAAF,OAAevC,CAAC,CAACuC,QAAF,EAA/B;AAA4C,GAAtE,KAA0E,IAA9F;AAAmG;;AAAA,SAASglB,CAAT,CAAWloB,CAAX,EAAa;AAAC,SAAOA,CAAC,CAACkxC,UAAF,EAAciL,mBAAd,IAAmCv0B,CAAC,CAAC5nB,CAAD,CAA3C;AAA+C;;AAAA,SAAS4nB,CAAT,CAAW5nB,CAAX,EAAa;AAAC,SAAM,CAAC,CAACA,CAAC,CAACkxC,UAAF,EAAcnE,YAAd,EAA4Bn9B,WAA5B,GAA0CY,KAA1C,CAAgD,GAAhD,EAAqDjL,GAArD,CAA0DvF,CAAC,IAAEA,CAAC,CAACyoB,IAAF,EAA7D,EAAwEqJ,QAAxE,CAAiF,KAAjF,CAAR;AAAgG;;AAAA,SAAS/xB,CAAT,CAAWC,CAAX,EAAaE,CAAb,EAAeD,CAAf,EAAiB;AAAC,QAAMO,CAAC,GAACN,CAAC,EAAEiwC,SAAX;AAAqB,MAAG,CAAC3vC,CAAJ,EAAM,MAAM,IAAIG,sDAAJ,CAAMV,CAAN,EAAQ,uCAAR,CAAN;;AAAuD,UAAOD,CAAC,CAACo8C,aAAF,CAAgB74C,IAAvB;AAA6B,SAAI,eAAJ;AAAoB,UAAG,CAAC/C,CAAC,CAAC67C,oBAAN,EAA2B,MAAM,IAAI17C,sDAAJ,CAAMV,CAAN,EAAQ,qDAAR,CAAN;AAAqE;;AAAM,SAAI,MAAJ;AAAW,UAAG,CAACO,CAAC,CAAC87C,YAAN,EAAmB,MAAM,IAAI37C,sDAAJ,CAAMV,CAAN,EAAQ,4CAAR,CAAN;AAA4D;;AAAM,SAAI,kBAAJ;AAAuB,UAAG,CAACO,CAAC,CAAC+7C,uBAAN,EAA8B,MAAM,IAAI57C,sDAAJ,CAAMV,CAAN,EAAQ,wDAAR,CAAN;AAAwE;;AAAM,SAAI,gBAAJ;AAAqB,UAAG,CAACO,CAAC,CAACg8C,qBAAN,EAA4B,MAAM,IAAI77C,sDAAJ,CAAMV,CAAN,EAAQ,sDAAR,CAAN;AAA3a;;AAAif,QAAMG,CAAC,GAACI,CAAC,EAAEi8C,mBAAX;;AAA+B,MAAGz8C,CAAC,CAAC08C,aAAF,IAAiBt8C,CAApB,EAAsB;AAAC,UAAMF,CAAC,GAAC,IAAIyS,GAAJ,CAAQ,CAAC,CAAC,OAAD,EAAS,OAAT,CAAD,EAAmB,CAAC,KAAD,EAAO,KAAP,CAAnB,EAAiC,CAAC,KAAD,EAAO,KAAP,CAAjC,EAA+C,CAAC,KAAD,EAAO,KAAP,CAA/C,EAA6D,CAAC,KAAD,EAAO,KAAP,CAA7D,EAA2E,CAAC,QAAD,EAAU,QAAV,CAA3E,EAA+F,CAAC,KAAD,EAAO,KAAP,CAA/F,EAA6G,CAAC,uBAAD,EAAyB,sBAAzB,CAA7G,EAA8J,CAAC,qBAAD,EAAuB,oBAAvB,CAA9J,EAA2M,CAAC,oBAAD,EAAsB,UAAtB,CAA3M,EAA6O,CAAC,uBAAD,EAAyB,YAAzB,CAA7O,EAAoR,CAAC,oBAAD,EAAsB,UAAtB,CAApR,CAAR,CAAR;;AAAwU,SAAI,MAAK;AAACgqC,MAAAA,aAAa,EAACn8C;AAAf,KAAT,IAA6BR,CAAC,CAAC08C,aAA/B,EAA6C;AAAC,YAAM18C,CAAC,GAACE,CAAC,CAAC4Z,GAAF,CAAMtZ,CAAN,CAAR;AAAiB,UAAGR,CAAC,IAAE,CAACI,CAAC,CAACJ,CAAD,CAAR,EAAY,MAAM,IAAIW,sDAAJ,CAAMV,CAAN,EAAS,iCAAgCO,CAAE,iBAA3C,CAAN;AAAmE;AAAC;AAAC;;;;;;;;;;;;;;;;;;;;;;;;ACJ3oT;AACA;AACA;AACA;AACA;;SAA0DP;;;;;yMAAf,WAAiBD,CAAjB,EAAmBC,CAAnB,EAAqBK,CAArB,EAAuB;AAACL,IAAAA,CAAC,GAACA,CAAC,CAACQ,KAAF,EAAF,EAAYT,CAAC,CAAC+sC,YAAF,CAAe5lC,KAAf,CAAqB81C,4BAArB,KAAoDh9C,CAAC,CAACi9C,oBAAF,GAAuB17C,CAAC,CAACxB,CAAD,CAA5E,CAAZ;AAA6F,UAAMW,CAAC,GAACT,CAAC,CAACF,CAAD,CAAT;AAAA,UAAaQ,CAAC,GAACR,CAAC,CAAC+sC,YAAF,CAAe5lC,KAAf,CAAqBg2C,kBAApC;AAAuDl9C,IAAAA,CAAC,CAAC2hB,KAAF,GAAQ,CAAR,EAAU3hB,CAAC,CAACu6C,GAAF,GAAM75C,CAAhB;AAAkB,QAAID,CAAC,GAAC,IAAN;;AAAW,aAAO;AAAC,YAAMR,CAAC,SAAOF,CAAC,CAACqK,MAAF,CAASipC,iBAAT,CAA2BrzC,CAA3B,EAA6BK,CAA7B,CAAd;AAA8C,UAAG,QAAMI,CAAN,GAAQA,CAAC,GAACR,CAAV,GAAYQ,CAAC,CAAC6tC,QAAF,GAAW7tC,CAAC,CAAC6tC,QAAF,CAAWp3B,MAAX,CAAkBjX,CAAC,CAACquC,QAApB,CAAvB,EAAqD7tC,CAAC,CAAC08C,qBAAF,GAAwBl9C,CAAC,CAACk9C,qBAA/E,EAAqG,CAAC58C,CAAD,IAAI,CAACN,CAAC,CAACk9C,qBAA/G,EAAqI;AAAMn9C,MAAAA,CAAC,CAAC2hB,KAAF,IAASjhB,CAAT;AAAW;;AAAA,WAAOD,CAAP;AAAS;;;;AAAA,SAASR,CAAT,CAAWF,CAAX,EAAa;AAAC,SAAOwB,CAAC,CAACxB,CAAD,CAAD,GAAKM,CAAC,CAACN,CAAD,CAAb;AAAiB;;AAAA,SAASM,CAAT,CAAWN,CAAX,EAAa;AAAC,SAAOA,CAAC,CAAC+sC,YAAF,CAAe5lC,KAAf,CAAqBk2C,cAArB,IAAqC,GAA5C;AAAgD;;AAAA,SAAS77C,CAAT,CAAWvB,CAAX,EAAa;AAAC,SAAOA,CAAC,CAAC8sC,YAAF,CAAe5lC,KAAf,CAAqB81C,4BAArB,GAAkDj9C,0FAAlD,GAAgF,CAAvF;AAAyF;;;;;;;;;;;;;;;;;;;;;;ACJ7oB;AACA;AACA;AACA;AACgR,SAAS,gBAAgB,kEAAC,UAAU,QAAQ,mEAAC,SAAS,mEAAC,EAAE,IAAI,OAAO,gBAAgB,kEAAC,UAAU,UAAU,qEAAC,SAAS,mEAAC,SAAS,mEAAC,EAAE,OAAO,+CAA+C,aAAa,UAAU,WAAW,QAAQ,gBAAgB,QAAQ,cAAc,OAAO,gBAAgB,kEAAC,UAAU,UAAU,qEAAC,EAAE,gDAAgD,oBAAoB,sFAAC,MAA4C;;;;;;;;;;;;;;;;;;;;;ACJtrB;AACA;AACA;AACA;AAC6K,aAAa,OAAO,QAAQ,MAAM,iDAAC,6BAA6B,MAAM,wDAAG,iCAAiC,gFAAgF,aAAa,sBAAsB,OAAO,gBAAgB,iEAAW,wCAAwC,uBAAuB,UAAU,iBAAiB,sCAAsC,EAAE,+DAA+D,yBAAyB,4CAA4C,uBAAuB,cAAc,kBAAkB,OAAO,iEAAW,QAAQ,YAAY,oBAAoB,QAAQ,iBAAiB,qDAAqD,gBAAgB,4BAA4B,0BAA0B,+BAA+B,yBAAyB,kBAAkB,iCAAiC,GAAG,iEAAW,sGAAsG,GAAG,qBAAqB,uBAAuB,EAAE,OAAO,yDAAC,wBAA2D;;;;;;;;;;;;;;;;;ACJ1wC;AACA;AACA;AACA;AACgD,YAAY,qDAAC,EAAE,4iBAA4iB,EAAyB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACJpoB;AACA;AACA;AACA;AACA;AAAmC;AAAsE;AAA+C;AAAqD;AAAsG;AAA6D,MAAMwB,CAAC,GAAC,WAAR;AAAA,MAAoBI,CAAC,GAAC,4BAAtB;;AAAmD,SAASZ,CAAT,CAAWhB,CAAX,EAAa;AAAC,MAAG,QAAMA,CAAT,EAAW,OAAO,IAAP;AAAY,SAAOA,CAAC,CAACyoB,IAAF,GAASJ,UAAT,CAAoBzmB,CAApB,EAAsB,GAAtB,EAA2B2O,OAA3B,CAAmC/O,CAAnC,EAAqC,KAArC,KAA6C,IAApD;AAAyD;;AAAA,MAAME,CAAC,GAAC,CAAC,OAAD,EAAS,QAAT,EAAkB,QAAlB,EAA2B,oBAA3B,EAAgD,oBAAhD,EAAqE,8BAArE,EAAoG,2CAApG,EAAgJ,iBAAhJ,EAAkK,8BAAlK,CAAR;AAAA,MAA0MR,CAAC,GAAC,CAAC,OAAD,EAAS,oBAAT,CAA5M;;AAA2O,SAASJ,CAAT,CAAWd,CAAX,EAAaW,CAAb,EAAe;AAAC,MAAG,QAAMX,CAAN,IAAS,QAAMW,CAAlB,EAAoB,KAAI,MAAMD,CAAV,IAAe6F,KAAK,CAACC,OAAN,CAAcxG,CAAd,IAAiBA,CAAjB,GAAmB,CAACA,CAAD,CAAlC,EAAsC,IAAGoB,CAAC,CAACM,CAAD,EAAGhB,CAAH,EAAKC,CAAL,CAAD,EAAS,qBAAoBD,CAApB,IAAuBA,CAAC,CAACs9C,eAArC,EAAqD,KAAI,MAAMh+C,CAAV,IAAeU,CAAC,CAACs9C,eAAjB,EAAiC58C,CAAC,CAACF,CAAD,EAAGlB,CAAH,EAAKW,CAAL,CAAD;AAAS;;AAAA,SAASS,CAAT,CAAWpB,CAAX,EAAaE,CAAb,EAAeD,CAAf,EAAiB;AAAC,MAAGD,CAAH,EAAK,KAAI,MAAMa,CAAV,IAAeb,CAAf,EAAiB;AAAC,UAAMA,CAAC,GAACW,6DAAC,CAACE,CAAD,EAAGX,CAAH,CAAT;AAAA,UAAeM,CAAC,GAACR,CAAC,IAAE,cAAY,OAAOA,CAAtB,IAAyBC,CAAC,CAAC6Z,GAAF,CAAM9Z,CAAN,CAA1C;AAAmDQ,IAAAA,CAAC,IAAEE,6DAAC,CAACG,CAAD,EAAGL,CAAC,CAAC4Z,IAAL,EAAUla,CAAV,CAAJ;AAAiB;AAAC;;AAAA,SAAS+B,CAAT,CAAWjC,CAAX,EAAaW,CAAb,EAAe;AAAC,MAAG,QAAMX,CAAN,IAASW,CAAC,EAAE4L,MAAH,EAAWsB,MAAvB,EAA8B,IAAG,gBAAe7N,CAAlB,EAAoB;AAAC,UAAMU,CAAC,GAACC,CAAC,CAACmZ,GAAF,CAAM9Z,CAAC,CAACi+C,UAAR,CAAR;AAAA,UAA4B/9C,CAAC,GAACS,CAAC,CAACmZ,GAAF,CAAM9Z,CAAC,CAACk+C,QAAR,CAA9B;AAAgDl+C,IAAAA,CAAC,CAACi+C,UAAF,GAAav9C,CAAC,EAAE0Z,IAAH,IAAS,IAAtB,EAA2Bpa,CAAC,CAACk+C,QAAF,GAAWh+C,CAAC,EAAEka,IAAH,IAAS,IAA/C;AAAoD,GAAzH,MAA6H;AAAC,UAAM1Z,CAAC,GAACC,CAAC,CAACmZ,GAAF,CAAM9Z,CAAC,CAACm+C,cAAR,CAAR;AAAA,UAAgCj+C,CAAC,GAACS,CAAC,CAACmZ,GAAF,CAAM9Z,CAAC,CAACo+C,YAAR,CAAlC;AAAwDp+C,IAAAA,CAAC,CAACm+C,cAAF,GAAiBz9C,CAAC,EAAE0Z,IAAH,IAAS,IAA1B,EAA+Bpa,CAAC,CAACo+C,YAAF,GAAel+C,CAAC,EAAEka,IAAH,IAAS,IAAvD;AAA4D;AAAC;;AAAA,MAAM7R,CAAC,GAAC,IAAIqE,GAAJ,EAAR;;AAAgB,SAASzK,CAAT,CAAWnC,CAAX,EAAaW,CAAb,EAAe;AAAC,SAAOX,CAAC,IAAEW,CAAH,IAAM4H,CAAC,CAACqR,KAAF,IAAU/X,CAAC,CAAC0G,CAAD,EAAGvI,CAAH,EAAKW,CAAL,CAAX,EAAmB4F,KAAK,CAACiZ,IAAN,CAAWjX,CAAX,EAAc6G,IAAd,EAAzB,IAA+C,EAAtD;AAAyD;;AAAA,SAASvN,CAAT,CAAW7B,CAAX,EAAaW,CAAb,EAAeD,CAAf,EAAiB;AAAC,MAAGA,CAAH,EAAK,IAAGC,CAAC,EAAE4L,MAAH,EAAWsB,MAAd;AAAqB,QAAGnN,CAAC,CAACoxB,QAAF,CAAW,GAAX,CAAH,EAAmB,KAAI,MAAK;AAAC1X,MAAAA,IAAI,EAACla;AAAN,KAAT,IAAoBS,CAAC,CAAC4L,MAAtB,EAA6BvM,CAAC,CAAC6hC,GAAF,CAAM3hC,CAAN,EAAhD,KAA8D,KAAI,MAAMA,CAAV,IAAeQ,CAAf,EAAiBqB,CAAC,CAAC/B,CAAD,EAAGW,CAAH,EAAKT,CAAL,CAAD;AAApG,SAAiH;AAAC,QAAGQ,CAAC,CAACoxB,QAAF,CAAW,GAAX,CAAH,EAAmB,OAAO9xB,CAAC,CAAC4Z,KAAF,IAAU,KAAK5Z,CAAC,CAAC6hC,GAAF,CAAM,GAAN,CAAtB;;AAAiC,SAAI,MAAMlhC,CAAV,IAAeD,CAAf,EAAiB,QAAMC,CAAN,IAASX,CAAC,CAAC6hC,GAAF,CAAMlhC,CAAN,CAAT;AAAkB;AAAC;;AAAA,SAASoB,CAAT,CAAW/B,CAAX,EAAaW,CAAb,EAAeD,CAAf,EAAiB;AAAC,MAAG,YAAU,OAAOA,CAApB,EAAsB,IAAGC,CAAH,EAAK;AAAC,UAAMT,CAAC,GAACS,CAAC,CAACmZ,GAAF,CAAMpZ,CAAN,CAAR;AAAiBR,IAAAA,CAAC,IAAEF,CAAC,CAAC6hC,GAAF,CAAM3hC,CAAC,CAACka,IAAR,CAAH;AAAiB,GAAxC,MAA6Cpa,CAAC,CAAC6hC,GAAF,CAAMnhC,CAAN;AAAS;;AAAA,SAAS8B,CAAT,CAAWxC,CAAX,EAAaW,CAAb,EAAe;AAAC,SAAO,QAAMA,CAAN,IAAS,QAAMX,CAAf,GAAiB,EAAjB,GAAoBW,CAAC,CAACmxB,QAAF,CAAW,GAAX,IAAgB,CAAC9xB,CAAC,CAACuM,MAAF,IAAU,EAAX,EAAehH,GAAf,CAAoBvF,CAAC,IAAEA,CAAC,CAACoa,IAAzB,CAAhB,GAAgDzZ,CAA3E;AAA6E;;AAAA,SAAS6K,CAAT,CAAWxL,CAAX,EAAaW,CAAb,EAAeD,CAAC,GAAC,CAAjB,EAAmB;AAAC,MAAG,CAACC,CAAD,IAAI,CAACX,CAAR,EAAU,OAAM,EAAN;AAAS,MAAGW,CAAC,CAACmxB,QAAF,CAAW,GAAX,CAAH,EAAmB,OAAM,CAAC,GAAD,CAAN;AAAY,QAAM5xB,CAAC,GAACiC,CAAC,CAACnC,CAAD,EAAGW,CAAH,CAAT;AAAe,SAAOT,CAAC,CAAC2N,MAAF,GAAS7N,CAAC,CAACuM,MAAF,CAASsB,MAAlB,IAA0BnN,CAA1B,GAA4B,CAAC,GAAD,CAA5B,GAAkCR,CAAzC;AAA2C;;SAAeoB;;;;;yMAAf,WAAiBtB,CAAjB,EAAmBW,CAAnB,EAAqBD,CAArB,EAAuB;AAAC,QAAG,CAACA,CAAJ,EAAM;AAAO,UAAK;AAAC29C,MAAAA,WAAW,EAACn+C;AAAb,cAAsBI,sEAAC,EAA5B;AAAA,UAA+BL,CAAC,GAACC,CAAC,CAACo+C,iBAAF,CAAoB59C,CAApB,EAAsBC,CAAC,EAAE4L,MAAH,EAAWhH,GAAX,CAAgBvF,CAAC,IAAEA,CAAC,CAACoa,IAArB,CAAtB,CAAjC;;AAAoF,SAAI,MAAMvZ,CAAV,IAAeZ,CAAf,EAAiB8B,CAAC,CAAC/B,CAAD,EAAGW,CAAH,EAAKE,CAAL,CAAD;AAAS;;;;SAAewK;;;;;yMAAf,WAAiB1K,CAAjB,EAAmBD,CAAnB,EAAqBR,CAArB,EAAuB;AAAC,QAAGA,CAAC,IAAE,UAAQA,CAAd,EAAgB;AAAC,YAAMW,CAAC,SAAOZ,8DAAC,CAACC,CAAD,EAAGQ,CAAH,CAAf;AAAqB,UAAG,CAACG,CAAC,CAAC09C,cAAN,EAAqB,MAAM,IAAIv+C,sDAAJ,CAAM,gCAAN,EAAuC,kCAAvC,EAA0E;AAACuvC,QAAAA,KAAK,EAACrvC;AAAP,OAA1E,CAAN;AAA2F2B,MAAAA,CAAC,CAAClB,CAAD,EAAGD,CAAH,EAAKG,CAAC,CAAC29C,UAAP,CAAD;AAAoB;AAAC;;;;AAAA,SAASz+C,CAAT,CAAW;AAAC6qC,EAAAA,YAAY,EAAC5qC,CAAd;AAAgBuM,EAAAA,MAAM,EAAC5L;AAAvB,CAAX,EAAqC;AAAC,SAAOX,CAAC,KAAGW,CAAC,EAAEkN,MAAH,GAAUzL,CAAC,CAACzB,CAAD,EAAG,eAAH,CAAD,IAAsByB,CAAC,CAACzB,CAAD,EAAG,mBAAH,CAAvB,IAAgDyB,CAAC,CAACzB,CAAD,EAAG,kBAAH,CAAjD,IAAyEwK,CAAC,CAACxK,CAAD,CAApF,GAAwF,IAA3F,CAAR;AAAyG;;AAAA,SAASwK,CAAT,CAAWnL,CAAX,EAAa;AAAC,OAAI,MAAMW,CAAV,IAAeX,CAAf,EAAiB;AAAC,QAAG,CAACW,CAAC,EAAEyZ,IAAP,EAAY;AAAS,UAAMpa,CAAC,GAACW,CAAC,CAACyZ,IAAF,CAAOxK,WAAP,EAAR;AAA6B,QAAG5P,CAAC,CAAC8xB,QAAF,CAAW,MAAX,KAAoB9xB,CAAC,CAAC8xB,QAAF,CAAW,OAAX,CAAvB,EAA2C,OAAOnxB,CAAC,CAACyZ,IAAT;AAAc;;AAAA,SAAO,IAAP;AAAY;;AAAA,SAAShY,CAAT,CAAWpC,CAAX,EAAaW,CAAb,EAAe;AAAC,OAAI,MAAMD,CAAV,IAAeV,CAAf,EAAiB,IAAGU,CAAC,EAAE+9C,SAAH,IAAc/9C,CAAC,CAAC+9C,SAAF,KAAc99C,CAA/B,EAAiC,OAAOD,CAAC,CAAC0Z,IAAT;;AAAc,SAAO,IAAP;AAAY;;SAAehP;;;;;yMAAf,WAAiBpL,CAAjB,EAAmB;AAAC,QAAG,CAACA,CAAJ,EAAM,OAAM,EAAN;AAAS,UAAMW,CAAC,GAAC,IAAIiM,GAAJ,EAAR;AAAgB,WAAO,MAAMrK,CAAC,CAAC5B,CAAD,EAAGX,CAAH,CAAP,EAAauG,KAAK,CAACiZ,IAAN,CAAW7e,CAAX,EAAcyO,IAAd,EAApB;AAAyC;;;;SAAe7M;;;;;yMAAf,WAAiBvC,CAAjB,EAAmBW,CAAnB,EAAqB;AAAC,QAAG,CAACA,CAAJ,EAAM;AAAO,UAAMD,CAAC,GAACC,CAAC,CAACwrC,aAAF,EAAiBuS,qBAAzB;AAA+C,WAAOh+C,CAAC,GAACA,CAAC,CAACmO,qBAAF,CAAwB7O,CAAxB,EAA0BW,CAAC,CAACmkB,WAA5B,CAAD,GAA0C,KAAK,CAAvD;AAAyD;;;;AAAA,SAAShS,CAAT,CAAW9S,CAAX,EAAaW,CAAb,EAAeD,CAAf,EAAiB;AAACA,EAAAA,CAAC,CAACi+C,qBAAF,GAAwBr9C,CAAC,CAACtB,CAAD,EAAGW,CAAH,EAAKD,CAAC,CAACi+C,qBAAF,CAAwBnyC,UAA7B,CAAzB,GAAkExM,CAAC,CAAC6hC,GAAF,CAAMnhC,CAAC,CAACk+C,gBAAR,CAAlE;AAA4F;;SAAe98C;;;;;yMAAf,WAAiB9B,CAAjB,EAAmBW,CAAnB,EAAqBD,CAArB,EAAuB;AAAC,QAAG,CAACC,CAAD,IAAI,CAACD,CAAL,IAAQ,EAAE,YAAWA,CAAb,CAAX,EAA2B;AAAO,UAAMR,CAAC,GAAC,EAAR;AAAA,UAAWD,CAAC,GAACS,CAAC,CAAC2qC,aAAf;AAA6BnrC,IAAAA,CAAC,CAAC4E,IAAF,CAAOgb,CAAC,CAAC9f,CAAD,EAAGW,CAAH,EAAKV,CAAL,CAAR,GAAiBS,CAAC,CAAC6L,MAAF,IAAUrM,CAAC,CAAC4E,IAAF,CAAO,GAAGpE,CAAC,CAAC6L,MAAF,CAAShH,GAAT;AAAA,mNAAc,WAAM7E,CAAN;AAAA,eAASoS,CAAC,CAAC9S,CAAD,EAAGW,CAAC,CAACmkB,WAAL,EAAiBpkB,CAAjB,CAAV;AAAA,OAAd;;AAAA;AAAA;AAAA;AAAA,QAAV,CAA3B,QAA0F2E,OAAO,CAACc,GAAR,CAAYjG,CAAZ,CAA1F;AAAyG;;;;SAAe4f;;;;;yMAAf,WAAiB9f,CAAjB,EAAmBW,CAAnB,EAAqBD,CAArB,EAAuB;AAAC,UAAMR,CAAC,GAAC,EAAR;AAAWQ,IAAAA,CAAC,EAAEuM,eAAH,IAAoB/M,CAAC,CAAC4E,IAAF,CAAO,GAAGpE,CAAC,CAACuM,eAAF,CAAkB1H,GAAlB,CAAuB7E,CAAC,IAAEY,CAAC,CAACtB,CAAD,EAAGW,CAAC,CAACmkB,WAAL,EAAiBpkB,CAAC,CAAC8L,UAAnB,CAA3B,CAAV,CAApB;AAA2F,UAAMvM,CAAC,GAACS,CAAC,EAAEsM,OAAX;AAAmB,QAAGzG,KAAK,CAACC,OAAN,CAAcvG,CAAd,CAAH,EAAoB,KAAI,MAAMY,CAAV,IAAeZ,CAAf,EAAiB,iBAAeY,CAAC,CAAC0C,IAAjB,IAAuB1C,CAAC,CAACwQ,cAAzB,IAAyCnR,CAAC,CAAC4E,IAAF,CAAOxD,CAAC,CAACtB,CAAD,EAAGW,CAAC,CAACmkB,WAAL,EAAiBjkB,CAAC,CAACwQ,cAAF,CAAiB7E,UAAlC,CAAR,CAAzC;AAAgG,UAAMnH,OAAO,CAACc,GAAR,CAAYjG,CAAZ,CAAN;AAAqB;;;;SAAe8G;;;;;yMAAf,WAAiBhH,CAAjB,EAAmBW,CAAnB,EAAqBD,CAArB,EAAuB;AAACC,IAAAA,CAAC,KAAGA,CAAC,CAAC8qC,QAAF,IAAY/qC,CAAC,EAAEgU,UAAf,IAA2B7S,CAAC,CAAC7B,CAAD,EAAGW,CAAC,CAACmkB,WAAL,EAAiB,CAACnkB,CAAC,CAAC8qC,QAAF,CAAWwS,UAAZ,EAAuBt9C,CAAC,CAAC8qC,QAAF,CAAWyS,QAAlC,CAAjB,CAA5B,EAA0Fv9C,CAAC,CAAC6S,SAAF,IAAa3R,CAAC,CAAC7B,CAAD,EAAGW,CAAC,CAACmkB,WAAL,EAAiB,CAACnkB,CAAC,CAAC6S,SAAF,CAAYqrC,UAAb,CAAjB,CAAxG,EAAmJ,QAAMn+C,CAAC,EAAE6uC,KAAT,WAAsBlkC,CAAC,CAACrL,CAAD,EAAGW,CAAC,CAACmkB,WAAL,EAAiBpkB,CAAC,CAAC6uC,KAAnB,CAAvB,CAAtJ,CAAD;AAAyM;;;;SAAejkC;;;;;yMAAf,WAAiBtL,CAAjB,EAAmBW,CAAnB,EAAqBD,CAArB,EAAuB;AAACC,IAAAA,CAAC,IAAED,CAAH,WAAY2E,OAAO,CAACc,GAAR,CAAYzF,CAAC,CAAC6E,GAAF,CAAO7E,CAAC,IAAE2R,CAAC,CAACrS,CAAD,EAAGW,CAAH,EAAKD,CAAL,CAAX,CAAZ,CAAZ;AAA8C;;;;SAAe2R;;;;;yMAAf,WAAiBrS,CAAjB,EAAmBW,CAAnB,EAAqBD,CAArB,EAAuB;AAACC,IAAAA,CAAC,IAAED,CAAH,KAAOA,CAAC,CAACo1B,eAAF,SAAwBx0B,CAAC,CAACtB,CAAD,EAAGW,CAAC,CAACmkB,WAAL,EAAiBpkB,CAAC,CAACo1B,eAAnB,CAAzB,GAA6Dp1B,CAAC,CAAC0P,KAAF,IAASrO,CAAC,CAAC/B,CAAD,EAAGW,CAAC,CAACmkB,WAAL,EAAiBpkB,CAAC,CAAC0P,KAAnB,CAA9E;AAAyG;;;;SAAe/J;;;;;yMAAf,WAAiBrG,CAAjB,EAAmB;AAAC,QAAG,CAACA,CAAJ,EAAM,OAAM,EAAN;AAAS,UAAMW,CAAC,GAAC,cAAaX,CAAb,IAAgBA,CAAC,CAACyrC,QAA1B;AAAmC,WAAO9qC,CAAC,GAACwB,CAAC,CAACnC,CAAC,CAAC8kB,WAAH,EAAe,CAAC9kB,CAAC,CAAC8+C,YAAH,EAAgBn+C,CAAC,CAACs9C,UAAlB,EAA6Bt9C,CAAC,CAACu9C,QAA/B,CAAf,CAAF,GAA2D,EAAnE;AAAsE;;;;AAAA,SAAS57C,CAAT,CAAWtC,CAAX,EAAa;AAAC,SAAOA,CAAC,GAACmC,CAAC,CAACnC,CAAC,CAAC8kB,WAAH,EAAeuC,CAAC,CAACrnB,CAAD,CAAhB,CAAF,GAAuB,EAA/B;AAAkC;;AAAA,SAASuL,CAAT,CAAWvL,CAAX,EAAa;AAAC,MAAG,CAACA,CAAJ,EAAM,OAAM,EAAN;AAAS,QAAMW,CAAC,GAACX,CAAC,CAAC++C,kBAAV;AAA6B,SAAOp+C,CAAC,GAACwB,CAAC,CAACnC,CAAC,CAAC8kB,WAAH,EAAe,CAACnkB,CAAC,CAACq+C,cAAH,EAAkBr+C,CAAC,CAACs+C,gBAApB,CAAf,CAAF,GAAwD,EAAhE;AAAmE;;AAAA,MAAMl2C,CAAC,GAAC,IAAI6D,GAAJ,CAAQ,CAAC,KAAD,EAAO,WAAP,EAAmB,MAAnB,CAAR,CAAR;AAAA,MAA4Cwb,CAAC,GAAC,IAAIxb,GAAJ,CAAQ,CAAC,KAAD,EAAO,WAAP,CAAR,CAA9C;AAAA,MAA2EV,CAAC,GAAC,CAAC,WAAD,EAAa,WAAb,EAAyB,WAAzB,EAAqC,WAArC,EAAiD,UAAjD,EAA4D,UAA5D,EAAuE,WAAvE,EAAmF,aAAnF,EAAiG,cAAjG,EAAgH,aAAhH,EAA8H,cAA9H,EAA6I,YAA7I,EAA0J,WAA1J,EAAsK,MAAtK,CAA7E;;AAA2P,SAASgc,CAAT,CAAWloB,CAAX,EAAa;AAAC,QAAMW,CAAC,GAAC,IAAIiM,GAAJ,EAAR;AAAgBD,EAAAA,CAAC,CAAC3M,CAAD,CAAD,CAAK2E,OAAL,CAAc3E,CAAC,IAAEW,CAAC,CAACkhC,GAAF,CAAM7hC,CAAN,CAAjB,GAA4BuL,CAAC,CAACvL,CAAD,CAAD,CAAK2E,OAAL,CAAc3E,CAAC,IAAEW,CAAC,CAACkhC,GAAF,CAAM7hC,CAAC,CAAC4P,WAAF,EAAN,CAAjB,CAA5B;AAAsE,QAAMlP,CAAC,GAACV,CAAC,IAAE,eAAcA,CAAjB,GAAmBA,CAAC,CAACirC,SAArB,GAA+B,KAAK,CAA5C;AAA8C,SAAOvqC,CAAC,KAAG2Z,MAAM,CAAC6kC,MAAP,CAAcx+C,CAAC,CAACy+C,kBAAhB,EAAoCx6C,OAApC,CAA6C3E,CAAC,IAAEW,CAAC,CAACkhC,GAAF,CAAM7hC,CAAC,CAAC4P,WAAF,EAAN,CAAhD,GAAyEyK,MAAM,CAAC6kC,MAAP,CAAcx+C,CAAC,CAAC0+C,mBAAhB,EAAqCz6C,OAArC,CAA8C3E,CAAC,IAAEW,CAAC,CAACkhC,GAAF,CAAM7hC,CAAC,CAAC4P,WAAF,EAAN,CAAjD,CAA5E,CAAD,EAAwJrJ,KAAK,CAACiZ,IAAN,CAAW7e,CAAX,CAA/J;AAA6K;;AAAA,SAAS0mB,CAAT,CAAWrnB,CAAX,EAAa;AAAC,MAAG,CAACA,CAAJ,EAAM,OAAM,EAAN;AAAS,QAAMW,CAAC,GAAC,oBAAmBX,CAAnB,IAAsBA,CAAC,CAACyuC,cAAhC;AAA+C,MAAG,CAAC9tC,CAAJ,EAAM,OAAM,EAAN;AAAS,QAAK;AAAC0+C,IAAAA,iBAAiB,EAAC3+C,CAAnB;AAAqBguC,IAAAA,YAAY,EAACxuC,CAAlC;AAAoCo/C,IAAAA,aAAa,EAACr/C,CAAlD;AAAoD0uC,IAAAA,WAAW,EAAC9tC;AAAhE,MAAmEF,CAAxE;AAA0E,SAAM,CAACD,CAAD,EAAGR,CAAH,EAAKD,CAAL,EAAOY,CAAP,EAAU8F,MAAV,CAAiB4H,OAAjB,CAAN;AAAgC;;AAAA,SAAS5B,CAAT,CAAW3M,CAAX,EAAa;AAAC,SAAOqnB,CAAC,CAACrnB,CAAD,CAAD,CAAKuF,GAAL,CAAUvF,CAAC,IAAEA,CAAC,CAAC4P,WAAF,EAAb,CAAP;AAAsC;;AAAA,SAAS8B,CAAT,CAAW1R,CAAX,EAAaW,CAAb,EAAe;AAAC,SAAOX,CAAC,CAACu/C,QAAF,IAAY,CAACx2C,CAAC,CAACsG,GAAF,CAAMrP,CAAC,CAACuD,IAAR,CAAb,IAA4B,CAACoJ,CAAC,CAAChM,CAAD,CAAD,CAAKmxB,QAAL,CAAc9xB,CAAC,CAACoa,IAAF,EAAQxK,WAAR,MAAuB,EAArC,CAApC;AAA6E;;AAAA,SAASlE,CAAT,CAAW1L,CAAX,EAAaW,CAAb,EAAe;AAAC,QAAMD,CAAC,GAACV,CAAC,CAACoa,IAAF,EAAQxK,WAAR,MAAuB,EAA/B;AAAkC,SAAM,EAAE,QAAMjP,CAAC,EAAEyqC,aAAT,IAAwB1qC,CAAC,KAAGC,CAAC,CAACyqC,aAAF,CAAgBx7B,WAAhB,EAA5B,IAA2D,QAAMjP,CAAC,EAAEw5C,aAAT,IAAwBz5C,CAAC,KAAGC,CAAC,CAACw5C,aAAF,CAAgBvqC,WAAhB,EAAvF,IAAsHsY,CAAC,CAACvnB,CAAD,CAAD,CAAKmxB,QAAL,CAAcpxB,CAAd,CAAtH,IAAwI0nB,CAAC,CAAC/Y,GAAF,CAAMrP,CAAC,CAACuD,IAAR,CAAxI,IAAuJ2I,CAAC,CAACsL,IAAF,CAAQxX,CAAC,IAAEA,CAAC,CAACynB,IAAF,CAAO/mB,CAAP,CAAX,CAAzJ,CAAN;AAAuL;;SAAeknB;;;;;yMAAf,WAAiB5nB,CAAjB,EAAmB;AAAC,QAAG,CAACA,CAAJ,EAAM,OAAM,EAAN;AAAS,UAAMW,CAAC,GAAC,IAAIiM,GAAJ,EAAR;AAAgB,WAAO,MAAMnB,CAAC,CAAC9K,CAAD,EAAGX,CAAH,CAAP,EAAauG,KAAK,CAACiZ,IAAN,CAAW7e,CAAX,EAAcyO,IAAd,EAApB;AAAyC;;;;SAAe3D;;;;;yMAAf,WAAiBzL,CAAjB,EAAmBW,CAAnB,EAAqB;AAAC,UAAK;AAACwqC,MAAAA,YAAY,EAACzqC,CAAd;AAAgBokB,MAAAA,WAAW,EAAC5kB;AAA5B,QAA+BS,CAApC;AAAsCD,IAAAA,CAAC,EAAEmN,MAAH,WAAiBxI,OAAO,CAACc,GAAR,CAAYzF,CAAC,CAAC6E,GAAF,CAAO5E,CAAC,IAAEkM,CAAC,CAAC7M,CAAD,EAAGE,CAAH,EAAKS,CAAL,CAAX,CAAZ,CAAjB;AAAmD;;;;SAAekM;;;;;yMAAf,WAAiB7M,CAAjB,EAAmBW,CAAnB,EAAqBD,CAArB,EAAuB;AAAC,QAAG,CAACA,CAAJ,EAAM;AAAO,UAAMR,CAAC,GAACQ,CAAC,CAAC8+C,kBAAF,EAAR;AAAA,UAA+Bv/C,CAAC,GAACS,CAAC,CAAC6uC,KAAnC;AAAyC,QAAG,aAAWrvC,CAAC,CAACqD,IAAhB,EAAqB,MAAMjC,CAAC,CAACtB,CAAD,EAAGW,CAAH,EAAKT,CAAC,CAACsM,UAAP,CAAP,CAArB,KAAmD;AAAC,YAAM9L,CAAC,GAACR,CAAC,CAACsM,UAAF,CAAauZ,KAAb,CAAmB,UAAnB,CAAR;AAAuCrlB,MAAAA,CAAC,IAAEA,CAAC,CAACiE,OAAF,CAAWjE,CAAC,IAAE;AAACqB,QAAAA,CAAC,CAAC/B,CAAD,EAAGW,CAAH,EAAKD,CAAC,CAACoJ,KAAF,CAAQ,CAAR,EAAU,CAAC,CAAX,CAAL,CAAD;AAAqB,OAApC,CAAH;AAA0C;AAAA,UAAMuB,CAAC,CAACrL,CAAD,EAAGW,CAAH,EAAKV,CAAL,CAAP;AAAe;;;;AAAA,SAASinB,CAAT,CAAWlnB,CAAX,EAAa;AAAC,QAAMW,CAAC,GAACX,CAAC,CAACy/C,YAAV;AAAuB,SAAO,KAAK,CAAL,KAAS9+C,CAAT,IAAY4kC,EAAE,CAACvlC,CAAD,EAAGW,CAAH,CAAd,GAAoBA,CAApB,GAAsBX,CAAC,CAAC0/C,QAAF,GAAW,IAAX,GAAgB,KAAK,CAAlD;AAAoD;;AAAA,SAASn4B,CAAT,CAAWvnB,CAAX,EAAa;AAAC,QAAMW,CAAC,GAAC,YAAU,OAAOX,CAAjB,GAAmB;AAACuD,IAAAA,IAAI,EAACvD;AAAN,GAAnB,GAA4BA,CAApC;AAAsC,SAAO0mC,EAAE,CAAC/lC,CAAD,CAAF,GAAM,GAAN,GAAU,wBAAsBA,CAAC,CAAC4C,IAAxB,IAA8B,WAAS5C,CAAC,CAAC4C,IAAzC,GAA8C,CAA9C,GAAgD,KAAK,CAAtE;AAAwE;;AAAA,SAASukB,CAAT,CAAW9nB,CAAX,EAAa;AAAC,SAAM,YAAU,OAAOA,CAAjB,IAAoB,CAAC2/C,KAAK,CAAC3/C,CAAD,CAA1B,IAA+B4/C,QAAQ,CAAC5/C,CAAD,CAA7C;AAAiD;;AAAA,SAAS4S,CAAT,CAAW5S,CAAX,EAAa;AAAC,SAAO,SAAOA,CAAP,IAAU8nB,CAAC,CAAC9nB,CAAD,CAAlB;AAAsB;;AAAA,SAASmlC,EAAT,CAAYnlC,CAAZ,EAAc;AAAC,SAAO,SAAOA,CAAP,IAAU+J,MAAM,CAAC81C,SAAP,CAAiB7/C,CAAjB,CAAjB;AAAqC;;AAAA,SAASimC,EAAT,CAAYjmC,CAAZ,EAAc;AAAC,SAAO,QAAMA,CAAN,IAAS,YAAU,OAAOA,CAAjC;AAAmC;;AAAA,SAASylC,EAAT,CAAYzlC,CAAZ,EAAc;AAAC,SAAO,SAAOA,CAAP,IAAUimC,EAAE,CAACjmC,CAAD,CAAnB;AAAuB;;AAAA,SAASqlC,EAAT,GAAa;AAAC,SAAM,CAAC,CAAP;AAAS;;AAAA,SAASE,EAAT,CAAYvlC,CAAZ,EAAcW,CAAd,EAAgB;AAAC,MAAID,CAAJ;;AAAM,UAAOV,CAAC,CAACuD,IAAT;AAAe,SAAI,MAAJ;AAAW,SAAI,SAAJ;AAAc,SAAI,MAAJ;AAAW,SAAI,eAAJ;AAAoB,SAAI,aAAJ;AAAkB,SAAI,mBAAJ;AAAwB,SAAI,sBAAJ;AAA2B,SAAI,mBAAJ;AAAwB,SAAI,2BAAJ;AAAgC,SAAI,yBAAJ;AAA8B7C,MAAAA,CAAC,GAACV,CAAC,CAAC0/C,QAAF,GAAWva,EAAX,GAAcp7B,MAAM,CAAC81C,SAAvB;AAAiC;;AAAM,SAAI,QAAJ;AAAa,SAAI,QAAJ;AAAa,SAAI,qBAAJ;AAA0B,SAAI,qBAAJ;AAA0Bn/C,MAAAA,CAAC,GAACV,CAAC,CAAC0/C,QAAF,GAAW9sC,CAAX,GAAakV,CAAf;AAAiB;;AAAM,SAAI,QAAJ;AAAa,SAAI,qBAAJ;AAA0BpnB,MAAAA,CAAC,GAACV,CAAC,CAAC0/C,QAAF,GAAWja,EAAX,GAAcQ,EAAhB;AAAmB;;AAAM;AAAQvlC,MAAAA,CAAC,GAAC2kC,EAAF;AAAtb;;AAA2b,SAAO,MAAIv4B,SAAS,CAACe,MAAd,GAAqBnN,CAArB,GAAuBA,CAAC,CAACC,CAAD,CAA/B;AAAmC;;AAAA,MAAMwlC,EAAE,GAAC,CAAC,SAAD,EAAW,eAAX,EAA2B,aAA3B,CAAT;AAAA,MAAmDR,EAAE,GAAC,CAAC,QAAD,EAAU,QAAV,CAAtD;AAAA,MAA0EE,EAAE,GAAC,CAAC,GAAGM,EAAJ,EAAO,GAAGR,EAAV,CAA7E;AAAA,MAA2FI,EAAE,GAAC,CAAC,sBAAD,EAAwB,2BAAxB,EAAoD,yBAApD,CAA9F;AAAA,MAA6KQ,EAAE,GAAC,CAAC,qBAAD,EAAuB,qBAAvB,CAAhL;AAAA,MAA8NU,EAAE,GAAC,IAAIr6B,GAAJ,CAAQ,CAAC,GAAGu5B,EAAJ,EAAO,GAAGJ,EAAV,CAAR,CAAjO;AAAA,MAAwPa,EAAE,GAAC,IAAIh6B,GAAJ,CAAQ,CAAC,GAAG+4B,EAAJ,EAAO,GAAGY,EAAV,CAAR,CAA3P;AAAA,MAAkRpG,EAAE,GAACjgC,wDAAC,CAAC+mC,EAAD,EAAIL,EAAJ,CAAtR;;AAA8R,SAASE,EAAT,CAAY9mC,CAAZ,EAAc;AAAC,SAAO,QAAMA,CAAN,IAASinC,EAAE,CAAC53B,GAAH,CAAOrP,CAAC,CAACuD,IAAT,CAAhB;AAA+B;;AAAA,SAAS8iC,EAAT,CAAYrmC,CAAZ,EAAc;AAAC,SAAO,QAAMA,CAAN,IAASmgC,EAAE,CAAC9wB,GAAH,CAAOrP,CAAC,CAACuD,IAAT,CAAhB;AAA+B;;AAAA,SAASmjC,EAAT,CAAY1mC,CAAZ,EAAc;AAAC,SAAO,QAAMA,CAAN,KAAU,aAAWA,CAAC,CAACuD,IAAb,IAAmB,0BAAwBvD,CAAC,CAACuD,IAAvD,CAAP;AAAoE;;AAAA,SAAS8jC,EAAT,CAAYrnC,CAAZ,EAAc;AAAC,SAAO,QAAMA,CAAN,KAAU,WAASA,CAAC,CAACuD,IAAX,IAAiB,wBAAsBvD,CAAC,CAACuD,IAAnD,CAAP;AAAgE;;AAAA,SAASwkC,EAAT,CAAY/nC,CAAZ,EAAc;AAAC,SAAO,QAAMA,CAAN,KAAU,gBAAcA,CAAC,CAACuD,IAAhB,IAAsB,4BAA0BvD,CAAC,CAACuD,IAA5D,CAAP;AAAyE;;AAAA,SAAS4kC,EAAT,CAAYnoC,CAAZ,EAAc;AAAC,SAAO,QAAMA,CAAN,KAAU,uBAAqBA,CAAC,CAACuD,IAAvB,IAA6B,mCAAiCvD,CAAC,CAACuD,IAA1E,CAAP;AAAuF;;AAAA,SAAS4jC,EAAT,CAAYnnC,CAAZ,EAAc;AAAC,SAAO,QAAMA,CAAN,KAAU,gBAAcA,CAAC,CAACuD,IAAhB,IAAsB,4BAA0BvD,CAAC,CAACuD,IAA5D,CAAP;AAAyE;;AAAA,SAASgkC,EAAT,CAAYvnC,CAAZ,EAAc;AAAC,SAAO,QAAMA,CAAN,KAAU,UAAQA,CAAC,CAACuD,IAAV,IAAgB,uBAAqBvD,CAAC,CAACuD,IAAjD,CAAP;AAA8D;;AAAA,SAASolC,EAAT,CAAY3oC,CAAZ,EAAc;AAAC,SAAO,QAAMA,CAAN,KAAU,gBAAcA,CAAC,CAACuD,IAAhB,IAAsB,4BAA0BvD,CAAC,CAACuD,IAA5D,CAAP;AAAyE;;AAAA,SAAS0kC,EAAT,CAAYjoC,CAAZ,EAAcW,CAAd,EAAgB;AAAC,SAAO,SAAOyoC,EAAE,CAACppC,CAAD,EAAGW,CAAH,CAAhB;AAAsB;;AAAA,IAAI6/B,EAAJ,EAAO6H,EAAP;;AAAU,SAASI,EAAT,CAAYzoC,CAAZ,EAAc;AAAC,SAAO,QAAMA,CAAN,IAAS,YAAU,OAAOA,CAAjB,IAAoB2/C,KAAK,CAAC3/C,CAAD,CAAlC,GAAsC,IAAtC,GAA2CA,CAAlD;AAAoD;;AAAA,SAASopC,EAAT,CAAYppC,CAAZ,EAAcW,CAAd,EAAgB;AAAC,SAAO,QAAMX,CAAN,IAASA,CAAC,CAAC0/C,QAAF,IAAY,SAAO/+C,CAA5B,GAA8B,IAA9B,GAAmC0lC,EAAE,CAACrmC,CAAD,CAAF,IAAO,CAAC6nC,EAAE,CAAC7nC,CAAC,CAACuD,IAAH,EAAQwG,MAAM,CAACpJ,CAAD,CAAd,CAAV,GAA6B6/B,EAAE,CAACsf,YAAhC,GAA6Cva,EAAE,CAACvlC,CAAD,EAAGW,CAAH,CAAF,GAAQX,CAAC,CAAC+wC,MAAF,GAASlwC,oEAAC,CAACb,CAAD,EAAGW,CAAH,CAAV,GAAgB,IAAxB,GAA6B0nC,EAAE,CAAC0X,YAAvH;AAAoI;;AAAA,SAASlY,EAAT,CAAY7nC,CAAZ,EAAcW,CAAd,EAAgB;AAAC,QAAMD,CAAC,GAAC,YAAU,OAAOV,CAAjB,GAAmBynC,EAAE,CAACznC,CAAD,CAArB,GAAyBA,CAAjC;AAAmC,MAAG,CAACU,CAAJ,EAAM,OAAM,CAAC,CAAP;AAAS,QAAMR,CAAC,GAACQ,CAAC,CAACwJ,GAAV;AAAA,QAAcjK,CAAC,GAACS,CAAC,CAACyJ,GAAlB;AAAsB,SAAOzJ,CAAC,CAACm/C,SAAF,GAAY91C,MAAM,CAAC81C,SAAP,CAAiBl/C,CAAjB,KAAqBA,CAAC,IAAET,CAAxB,IAA2BS,CAAC,IAAEV,CAA1C,GAA4CU,CAAC,IAAET,CAAH,IAAMS,CAAC,IAAEV,CAA5D;AAA8D;;AAAA,SAAS6pC,EAAT,CAAY9pC,CAAZ,EAAcW,CAAd,EAAgB;AAAC,QAAMD,CAAC,GAACF,+DAAC,CAACR,CAAD,EAAGW,CAAH,CAAT;AAAe,SAAOD,CAAC,KAAG2lC,EAAE,CAACrmC,CAAD,CAAF,GAAMynC,EAAE,CAACznC,CAAC,CAACuD,IAAH,CAAR,GAAiB,KAAK,CAAzB,CAAR;AAAoC;;AAAA,SAASkkC,EAAT,CAAYznC,CAAZ,EAAc;AAAC,UAAOA,CAAP;AAAU,SAAI,2BAAJ;AAAgC,SAAI,eAAJ;AAAoB,aAAOwoC,EAAP;;AAAU,SAAI,sBAAJ;AAA2B,SAAI,SAAJ;AAAc,aAAOD,EAAP;;AAAU,SAAI,yBAAJ;AAA8B,SAAI,aAAJ;AAAkB,aAAOU,EAAP;;AAAU,SAAI,qBAAJ;AAA0B,SAAI,QAAJ;AAAa,aAAOE,EAAP;;AAAU,SAAI,qBAAJ;AAA0B,SAAI,QAAJ;AAAa,aAAOK,EAAP;AAA7Q;AAAwR;;AAAA,SAASQ,EAAT,CAAYhqC,CAAZ,EAAc;AAAC,MAAG,CAAC8nB,CAAC,CAAC9nB,CAAD,CAAL,EAAS,OAAO,IAAP;;AAAY,MAAG+J,MAAM,CAAC81C,SAAP,CAAiB7/C,CAAjB,CAAH,EAAuB;AAAC,QAAGA,CAAC,IAAEwoC,EAAE,CAACt+B,GAAN,IAAWlK,CAAC,IAAEwoC,EAAE,CAACr+B,GAApB,EAAwB,OAAM,2BAAN;AAAkC,QAAGnK,CAAC,IAAEuoC,EAAE,CAACr+B,GAAN,IAAWlK,CAAC,IAAEuoC,EAAE,CAACp+B,GAApB,EAAwB,OAAM,sBAAN;AAA6B,QAAGnK,CAAC,IAAEipC,EAAE,CAAC/+B,GAAN,IAAWlK,CAAC,IAAEipC,EAAE,CAAC9+B,GAApB,EAAwB,OAAM,yBAAN;AAAgC;;AAAA,SAAOnK,CAAC,IAAEmpC,EAAE,CAACj/B,GAAN,IAAWlK,CAAC,IAAEmpC,EAAE,CAACh/B,GAAjB,GAAqB,qBAArB,GAA2C,qBAAlD;AAAwE;;AAAA,CAAC,UAASnK,CAAT,EAAW;AAACA,EAAAA,CAAC,CAAC8/C,YAAF,GAAe,8CAAf;AAA8D,CAA1E,CAA2Etf,EAAE,KAAGA,EAAE,GAAC,EAAN,CAA7E,CAAD,EAAyF,UAASxgC,CAAT,EAAW;AAACA,EAAAA,CAAC,CAAC+/C,YAAF,GAAe,qCAAf;AAAqD,CAAjE,CAAkE1X,EAAE,KAAGA,EAAE,GAAC,EAAN,CAApE,CAAzF;AAAwK,MAAMG,EAAE,GAAC;AAACt+B,EAAAA,GAAG,EAAC,CAAC,KAAN;AAAYC,EAAAA,GAAG,EAAC,KAAhB;AAAsB01C,EAAAA,SAAS,EAAC,CAAC,CAAjC;AAAmCG,EAAAA,MAAM,EAAC,CAAC,KAA3C;AAAiDC,EAAAA,MAAM,EAAC;AAAxD,CAAT;AAAA,MAAwE1X,EAAE,GAAC;AAACr+B,EAAAA,GAAG,EAAC,CAAC,UAAN;AAAiBC,EAAAA,GAAG,EAAC,UAArB;AAAgC01C,EAAAA,SAAS,EAAC,CAAC,CAA3C;AAA6CG,EAAAA,MAAM,EAAC,CAAC,UAArD;AAAgEC,EAAAA,MAAM,EAAC;AAAvE,CAA3E;AAAA,MAA8JhX,EAAE,GAAC;AAAC/+B,EAAAA,GAAG,EAAC,CAACH,MAAM,CAACm2C,gBAAb;AAA8B/1C,EAAAA,GAAG,EAACJ,MAAM,CAACm2C,gBAAzC;AAA0DL,EAAAA,SAAS,EAAC,CAAC,CAArE;AAAuEG,EAAAA,MAAM,EAAC,CAACj2C,MAAM,CAACm2C,gBAAtF;AAAuGD,EAAAA,MAAM,EAACl2C,MAAM,CAACm2C;AAArH,CAAjK;AAAA,MAAwS/W,EAAE,GAAC;AAACj/B,EAAAA,GAAG,EAAC,CAAC,KAAN;AAAYC,EAAAA,GAAG,EAAC,KAAhB;AAAsB01C,EAAAA,SAAS,EAAC,CAAC,CAAjC;AAAmCG,EAAAA,MAAM,EAAC,CAAC,KAA3C;AAAiDC,EAAAA,MAAM,EAAC;AAAxD,CAA3S;AAAA,MAA0WzW,EAAE,GAAC;AAACt/B,EAAAA,GAAG,EAAC,CAACH,MAAM,CAACo2C,SAAb;AAAuBh2C,EAAAA,GAAG,EAACJ,MAAM,CAACo2C,SAAlC;AAA4CN,EAAAA,SAAS,EAAC,CAAC,CAAvD;AAAyDG,EAAAA,MAAM,EAAC,CAACj2C,MAAM,CAACo2C,SAAxE;AAAkFF,EAAAA,MAAM,EAACl2C,MAAM,CAACo2C;AAAhG,CAA7W;;AAAwd,SAASxW,EAAT,CAAY3pC,CAAZ,EAAcW,CAAd,EAAgBD,CAAhB,EAAkB;AAAC,UAAOV,CAAP;AAAU,SAAKI,sFAAL;AAA2B,aAAO,SAAQM,CAAE,wCAAuCC,CAAC,CAACyZ,IAAK,aAAYqM,IAAI,CAACC,SAAL,CAAe/lB,CAAC,CAACowC,MAAjB,CAAyB,EAApG;;AAAsG,SAAK3wC,qFAAL;AAA0B,aAAO,SAAQM,CAAE,iDAAgDC,CAAC,CAACyZ,IAAK,aAAYqM,IAAI,CAACC,SAAL,CAAe/lB,CAAC,CAACowC,MAAjB,CAAyB,EAA7G;;AAA+G,SAAK1I,EAAE,CAAC0X,YAAR;AAAqB,aAAO,SAAQr/C,CAAE,qDAAoDC,CAAC,CAACyZ,IAAK,WAAUzZ,CAAC,CAAC4C,IAAK,eAAc5C,CAAC,CAAC++C,QAAS,EAAtH;;AAAwH,SAAKlf,EAAE,CAACsf,YAAR;AAAqB;AAAC,cAAK;AAAC51C,UAAAA,GAAG,EAAClK,CAAL;AAAOmK,UAAAA,GAAG,EAACjK;AAAX,YAAcunC,EAAE,CAAC9mC,CAAC,CAAC4C,IAAH,CAArB;AAA8B,eAAO,SAAQ7C,CAAE,iDAAgDC,CAAC,CAACyZ,IAAK,WAAUzZ,CAAC,CAAC4C,IAAK,oBAAmBvD,CAAE,OAAME,CAAE,EAAtH;AAAwH;AAA7kB;AAA+kB;;AAAA,SAASynC,EAAT,CAAY3nC,CAAZ,EAAcW,CAAd,EAAgB;AAAC,SAAM,CAAC2oC,EAAE,CAACtpC,CAAD,EAAGW,CAAH,EAAK,IAAL,CAAT;AAAoB;;AAAA,SAAS2oC,EAAT,CAAYtpC,CAAZ,EAAcW,CAAd,EAAgBD,CAAhB,EAAkB;AAAC,MAAG,CAACC,CAAC,EAAE4wC,UAAJ,IAAgB,CAACvxC,CAApB,EAAsB;AAAC,QAAG,QAAMU,CAAT,EAAW,KAAI,MAAMC,CAAV,IAAeX,CAAC,IAAE,EAAlB,EAAqBU,CAAC,CAACmhC,GAAF,CAAMlhC,CAAN;AAAS,WAAM,CAAC,CAAP;AAAS;;AAAA,QAAMT,CAAC,GAAC,IAAI0M,GAAJ,CAAQyN,MAAM,CAACkF,IAAP,CAAY5e,CAAC,CAAC4wC,UAAd,CAAR,CAAR;AAA2C,MAAItxC,CAAC,GAAC,CAAC,CAAP;;AAAS,OAAI,MAAMY,CAAV,IAAeb,CAAf,EAAiB,IAAG,CAACE,CAAC,CAACmP,GAAF,CAAMxO,CAAN,CAAJ,EAAa;AAAC,QAAGZ,CAAC,GAAC,CAAC,CAAH,EAAK,QAAMS,CAAd,EAAgB;AAAMA,IAAAA,CAAC,CAACmhC,GAAF,CAAMhhC,CAAN;AAAS;;AAAA,SAAOZ,CAAP;AAAS;;SAAe+oC;;;;;0MAAf,WAAkBhpC,CAAlB,EAAoBW,CAApB,EAAsB;AAAC,UAAMD,CAAC,GAAC,IAAIkM,GAAJ,EAAR;;AAAgB,SAAI,MAAM1M,CAAV,IAAeS,CAAf,EAAiB,MAAMW,CAAC,CAACZ,CAAD,EAAGV,CAAC,CAAC8kB,WAAL,EAAiB5kB,CAAjB,CAAP;;AAA2B,WAAOqG,KAAK,CAACiZ,IAAN,CAAW9e,CAAX,EAAc0O,IAAd,EAAP;AAA4B;;;;AAAA,SAAS66B,EAAT,CAAYjqC,CAAZ,EAAc;AAAC,SAAM,CAAC,CAACA,CAAF,IAAK,CAAC,uBAAD,EAAyB,0BAAzB,EAAqDwX,IAArD,CAA2D7W,CAAC,IAAEX,CAAC,CAAC4P,WAAF,GAAgBU,UAAhB,CAA2B3P,CAA3B,CAA9D,CAAX;AAAyG;;SAAe2pC;;;;;0MAAf,WAAkBtqC,CAAlB,EAAoBW,CAApB,EAAsB;AAAC,UAAMD,CAAC,GAAC,IAAIkM,GAAJ,EAAR;AAAgB,WAAO5M,CAAC,EAAE6O,qBAAH,WAAgC7O,CAAC,CAAC6O,qBAAF,CAAwBnO,CAAxB,EAA0BC,CAA1B,CAAhC,GAA6D4F,KAAK,CAACiZ,IAAN,CAAW9e,CAAX,EAAc0O,IAAd,EAApE;AAAyF;;;;AAAA,SAASuiC,EAAT,CAAY3xC,CAAZ,EAAc;AAAC,QAAMW,CAAC,GAACX,CAAC,EAAE+lB,KAAH,CAAS,UAAT,CAAR;AAA6B,SAAOplB,CAAC,GAACA,CAAC,CAAC4E,GAAF,CAAOvF,CAAC,IAAEA,CAAC,CAAC8J,KAAF,CAAQ,CAAR,EAAU,CAAC,CAAX,EAAc0G,KAAd,CAAoB,GAApB,EAAyB,CAAzB,EAA4BiY,IAA5B,EAAV,CAAD,GAAgD,EAAxD;AAA2D;;;;;;;;;;;;;;;;;;;;;;ACJjkV;AACA;AACA;AACA;AACA;AAA+B;;SAAmDjoB;;;;;yMAAf,WAAiBA,CAAjB,EAAmB;AAAC,UAAMF,CAAC,GAAC,gBAAeE,CAAf,GAAiBA,CAAjB,GAAmB;AAACmC,MAAAA,UAAU,EAACnC;AAAZ,KAA3B;AAAA,UAA0C;AAACujD,MAAAA,QAAQ,EAAC/jD;AAAV,cAAmB,4VAA7D;;AAA4G,QAAG;AAAC,mBAAaA,CAAC,CAACM,CAAD,CAAd;AAAkB,KAAtB,CAAsB,OAAMQ,CAAN,EAAQ;AAAC,YAAMN,CAAC,GAACF,CAAC,EAAEqC,UAAX;AAAA,YAAsB3C,CAAC,GAACQ,CAAC,EAAEkC,EAAH,IAAO,OAA/B;AAAA,YAAuC7B,CAAC,GAACL,CAAC,EAAE4F,MAAH,EAAWP,GAAX,IAAgB5F,4DAAzD;AAAqE,YAAMC,iEAAA,CAAY,oCAAZ,EAAkDuD,KAAlD,CAAwD,mBAAxD,EAA4E,uDAAqD5C,CAArD,GAAuD,UAAvD,GAAkEb,CAAlE,GAAoE,IAAhJ,EAAqJc,CAArJ,GAAwJA,CAA9J;AAAgK;AAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;ACJxc;AACA;AACA;AACA;AAC+C,oJAAoJ,cAAc,4CAA4C,sCAAsC,GAAG,cAAc,mCAAmC,sCAAsC,YAAY,cAAc,SAAS,2BAA2B,iTAAiT,cAAc,aAAa,kBAAkB,eAAe,0CAA0C,iCAAiC,YAAY,cAAc,aAAa,kBAAkB,eAAe,0CAA0C,oCAAoC,YAAY,cAAc,MAAM,YAAY,wDAAC,+IAA+I,eAAe,IAAI,KAAK,OAAO,cAAc,oBAAoB,2BAA2B,sEAAsE,wEAAwE,8DAA8D,sEAAsE,QAAQ,cAAc,kBAAkB,2BAA2B,8CAA4S;;;;;;;;;;;;;;;;;;;;ACJl6D;AACA;AACA;AACA;AACsG,YAAY,iEAAW,yDAAyD,kBAAkB,oBAAoB,YAAY,sDAAC,CAAC,kCAAkC,yDAAyD,6DAA6D,OAAO,KAAK,SAAS,QAAQ,gBAAgB,eAAe,wBAAwB,YAAY,WAAW,KAAK,kBAAkB,gCAAgC,SAAS,SAAS,qWAAqW,gBAAgB,WAAW,kBAAkB,gCAAgC,oEAAoE,2BAA2B,sDAAC,2FAA2F,EAAE,yBAAyB,2BAA2B,KAAK,aAAa,kDAAkD,GAAG,MAAM,EAAE,kBAAkB,EAAE,GAAG,kBAAkB,8BAA8B,SAAuD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACJt6C;AACA;AACA;AACA;AACA;AAAqC;;AAAgC,SAASH,CAAT,CAAWX,CAAX,EAAa;AAAC,SAAO4B,CAAC,CAAC5B,CAAD,CAAD,IAAMQ,CAAC,CAACR,CAAD,CAAd;AAAkB;;AAAA,SAASC,CAAT,CAAWD,CAAX,EAAa;AAAC,SAAO,QAAMA,CAAN,IAAS,YAAU,OAAOA,CAA1B,IAA6B,UAASA,CAAtC,IAAyC,cAAYA,CAAC,CAACuD,IAA9D;AAAmE;;AAAA,SAAS7C,CAAT,CAAWV,CAAX,EAAa;AAAC,SAAO,QAAMA,CAAN,IAAS,YAAU,OAAOA,CAA1B,IAA6B,UAASA,CAAtC,IAAyC,eAAaA,CAAC,CAACuD,IAA/D;AAAoE;;AAAA,SAAS/B,CAAT,CAAWxB,CAAX,EAAa;AAAC,SAAO,QAAMA,CAAN,IAAS,YAAU,OAAOA,CAA1B,IAA6B,UAASA,CAAtC,IAAyC,gBAAcA,CAAC,CAACuD,IAAzD,IAA+D,eAAcvD,CAApF;AAAsF;;AAAA,SAASI,CAAT,CAAWJ,CAAX,EAAa;AAAC,SAAO,QAAMA,CAAN,IAAS,YAAU,OAAOA,CAA1B,IAA6B,UAASA,CAAtC,IAAyC,sBAAoBA,CAAC,CAACuD,IAA/D,IAAqE,YAAWvD,CAAvF;AAAyF;;AAAA,SAASM,CAAT,CAAWN,CAAX,EAAa;AAAC,SAAO,QAAMA,CAAN,IAAS,YAAU,OAAOA,CAA1B,IAA6B,UAASA,CAAtC,IAAyC,iBAAeA,CAAC,CAACuD,IAA1D,IAAgE,YAAWvD,CAAlF;AAAoF;;AAAA,SAASQ,CAAT,CAAWR,CAAX,EAAa;AAAC,SAAM,YAAUA,CAAC,EAAEuD,IAAnB;AAAwB;;AAAA,SAASvC,CAAT,CAAWhB,CAAX,EAAa;AAAC,SAAO,QAAMA,CAAN,IAAS,YAAU,OAAOA,CAA1B,IAA6B,UAASA,CAAtC,IAAyC,oBAAkBA,CAAC,CAACuD,IAA7D,IAAmE,eAAcvD,CAAxF;AAA0F;;AAAA,SAASa,CAAT,CAAWb,CAAX,EAAa;AAAC,SAAM,uBAAqBA,CAAC,EAAEuD,IAA9B;AAAmC;;AAAA,SAAS3B,CAAT,CAAW5B,CAAX,EAAa;AAAC,QAAME,CAAC,GAACF,CAAC,EAAEuD,IAAX;AAAgB,SAAM,mBAAiBrD,CAAjB,IAAoB,WAASA,CAA7B,IAAgC,sBAAoBA,CAApD,IAAuD,kBAAgBA,CAAvE,IAA0E,eAAaA,CAAvF,IAA0F,WAASA,CAAzG;AAA2G;;AAAA,SAASkB,CAAT,CAAWpB,CAAX,EAAa;AAAC,QAAME,CAAC,GAACF,CAAC,EAAEuD,IAAX;AAAgB,SAAM,gBAAcrD,CAAd,IAAiB,WAASA,CAA1B,IAA6B,gBAAcA,CAA3C,IAA8C,mBAAiBA,CAA/D,IAAkE,qBAAmBA,CAArF,IAAwF,sBAAoBA,CAA5G,IAA+G,UAAQA,CAAvH,IAA0H,eAAaA,CAAvI,IAA0I,WAASA,CAAnJ,IAAsJ,kBAAgBA,CAA5K;AAA8K;;AAAA,SAASY,CAAT,CAAWd,CAAX,EAAa;AAAC,SAAO,QAAMA,CAAN,IAAS,UAASA,CAAlB,IAAqB,YAAUA,CAAC,CAACuD,IAAxC;AAA6C;;AAAA,MAAMtB,CAAC,GAAC;AAACgiD,EAAAA,KAAK,EAAC,YAAP;AAAoB,cAAW,YAA/B;AAA4CC,EAAAA,cAAc,EAAC,qBAA3D;AAAiFC,EAAAA,UAAU,EAAC,iBAA5F;AAA8GC,EAAAA,QAAQ,EAAC;AAAvH,CAAR;;AAAqJ,SAASviD,CAAT,CAAW7B,CAAX,EAAa;AAAC,QAAME,CAAC,GAACF,CAAC,EAAEuD,IAAX;AAAgB,SAAM,qBAAmBrD,CAAnB,IAAsB,sBAAoBA,CAA1C,IAA6C,kBAAgBA,CAA7D,IAAgE,YAAUA,CAAhF;AAAkF;;AAAA,SAASwB,CAAT,CAAW1B,CAAX,EAAa;AAAC,SAAM,0BAAwBA,CAAxB,IAA2B,iCAA+BA,CAAhE;AAAkE;;AAAA,SAASkB,CAAT,CAAWlB,CAAX,EAAa;AAAC,SAAM,sBAAoBA,CAApB,IAAuB,8BAA4BA,CAAzD;AAA2D;;AAAA,SAASsB,CAAT,CAAWtB,CAAX,EAAa;AAAC,SAAM,YAAUA,CAAC,EAAEuD,IAAnB;AAAwB;;AAAA,SAAShB,CAAT,CAAWvC,CAAX,EAAa;AAAC,SAAM,mBAAiBA,CAAC,EAAEuD,IAA1B;AAA+B;;AAAA,SAASjB,CAAT,CAAWtC,CAAX,EAAa;AAAC,SAAO,QAAMA,CAAC,EAAEqD,MAAT,IAAiB,mBAAkBrD,CAAC,CAACqD,MAArC,IAA6C,mBAAiBrD,CAAC,CAACqD,MAAF,CAASkG,aAAvE,IAAsFvJ,CAAC,CAACqD,MAAF,CAASF,UAAT,CAAoB2uB,QAApB,CAA6B9xB,CAA7B,CAA7F;AAA6H;;AAAA,SAAS+B,CAAT,CAAW/B,CAAX,EAAa;AAAC,SAAM,cAAYA,CAAC,EAAEuD,IAAf,IAAqB,CAACvD,CAAC,CAAC6F,GAAxB,IAA6B,aAAW7F,CAAC,CAACqK,MAAF,EAAU9G,IAAxD;AAA6D;;AAAA,SAASzB,CAAT,CAAW9B,CAAX,EAAa;AAAC,QAAME,CAAC,GAACF,CAAC,EAAEuD,IAAX;AAAgB,SAAM,CAAC,cAAYrD,CAAZ,IAAe,oBAAkBA,CAAjC,IAAoC,uBAAqBA,CAA1D,KAA8D,oBAAkBF,CAAC,CAACqK,MAAF,EAAU9G,IAAhG;AAAqG;;AAAA,SAAS8H,CAAT,CAAWrL,CAAX,EAAa;AAAC,SAAM,cAAYA,CAAC,EAAEuD,IAAf,IAAqB,oBAAkBvD,CAAC,CAACqK,MAAF,EAAU9G,IAAvD;AAA4D;;AAAA,SAASnB,CAAT,CAAWpC,CAAX,EAAa;AAAC,QAAME,CAAC,GAAC,MAAR;AAAA,QAAeS,CAAC,GAAC,EAAjB;AAAoB,MAAIV,CAAC,GAAC,CAAC,CAAP;;AAAS,MAAGD,CAAC,KAAGA,CAAC,CAAC2E,OAAF,CAAW,CAAC3E,CAAD,EAAGU,CAAH,KAAO;AAACC,IAAAA,CAAC,CAACmE,IAAF,CAAO,CAACpE,CAAD,EAAGV,CAAH,CAAP,GAAc,CAACC,CAAD,IAAIC,CAAC,CAACunB,IAAF,CAAOznB,CAAP,CAAJ,KAAgBC,CAAC,GAAC,CAAC,CAAnB,CAAd;AAAoC,GAAvD,GAA0DU,CAAC,CAACkN,MAAF,GAAS,CAAtE,CAAJ,EAA6E;AAAC,QAAI7N,CAAJ;;AAAM,QAAGC,CAAH,EAAK;AAAC,YAAMC,CAAC,GAAC,EAAR;AAAWS,MAAAA,CAAC,CAACgE,OAAF,CAAW3E,CAAC,IAAE;AAACE,QAAAA,CAAC,CAACF,CAAC,CAAC,CAAD,CAAF,CAAD,GAAQA,CAAC,CAAC,CAAD,CAAT;AAAa,OAA5B,GAA+BA,CAAC,GAACymB,IAAI,CAACC,SAAL,CAAexmB,CAAf,CAAjC;AAAmD,KAApE,MAAwE;AAAC,YAAMA,CAAC,GAAC,EAAR;AAAWS,MAAAA,CAAC,CAACgE,OAAF,CAAW3E,CAAC,IAAE;AAACE,QAAAA,CAAC,CAAC4E,IAAF,CAAO9E,CAAC,CAAC,CAAD,CAAD,GAAK,GAAL,GAASA,CAAC,CAAC,CAAD,CAAjB;AAAsB,OAArC,GAAwCA,CAAC,GAACE,CAAC,CAACsmB,IAAF,CAAO,GAAP,CAA1C;AAAsD;;AAAA,WAAOxmB,CAAP;AAAS;;AAAA,SAAO,IAAP;AAAY;;AAAA,SAAS+I,CAAT,CAAW/I,CAAX,EAAa;AAAC,MAAG,CAACA,CAAJ,EAAM;AAAO,QAAME,CAAC,GAAC,EAAR;AAAW,SAAOF,CAAC,CAAC2E,OAAF,CAAW,CAAC3E,CAAD,EAAGW,CAAH,KAAO;AAACT,IAAAA,CAAC,CAAC4E,IAAF,CAAO,MAAInE,CAAJ,GAAM,IAAN,GAAW8lB,IAAI,CAACC,SAAL,CAAe1mB,CAAf,CAAlB;AAAqC,GAAxD,GAA2DE,CAAC,CAAC2N,MAAF,GAAS,MAAI3N,CAAC,CAACsmB,IAAF,CAAO,GAAP,CAAJ,GAAgB,GAAzB,GAA6B,KAAK,CAApG;AAAsG;;AAAA,SAASxf,CAAT,CAAWhH,CAAX,EAAa;AAAC,MAAGA,CAAC,CAACqkD,WAAL,EAAiB;AAAC,UAAMnkD,CAAC,GAACF,CAAC,CAACqkD,WAAF,CAAcC,aAAtB;AAAoC,QAAGpkD,CAAH,EAAK,OAAOA,CAAP;AAAS,UAAMS,CAAC,GAACX,CAAC,CAACqkD,WAAF,CAAcE,cAAtB;AAAqC,QAAG5jD,CAAH,EAAK,OAAOA,CAAP;AAAS;;AAAA,SAAO,IAAP;AAAY;;SAAe6B;;;;;yMAAf,WAAiB7B,CAAjB,EAAmBV,CAAnB,EAAqB;AAAC,UAAMS,CAAC,GAACV,yDAAA,CAAkBW,CAAlB,CAAR;AAA6B,QAAG,QAAMD,CAAC,EAAE8U,cAAZ,EAA2B,OAAO9U,CAAC,CAACu3C,eAAF,IAAmB,IAA1B;AAA+B,UAAMz2C,CAAC,GAACb,CAAC,CAACiP,WAAF,GAAgB6B,OAAhB,CAAwB,gBAAxB,CAAR;AAAkD,QAAG,CAAC,CAAD,KAAKjQ,CAAR,EAAU,OAAO,IAAP;AAAY,UAAMpB,CAAC,GAAE,GAAEO,CAAC,CAACmJ,KAAF,CAAQ,CAAR,EAAUtI,CAAV,CAAa,YAAxB;AAAA,UAAoClB,CAAC,GAAC,QAAML,CAAN,GAAQA,CAAC,CAACyH,MAAV,GAAiB,IAAvD;AAAA,UAA4D;AAACxD,MAAAA,IAAI,EAAC1D;AAAN,cAAeN,uDAAC,CAACE,CAAD,EAAG;AAAC+G,MAAAA,KAAK,EAAC;AAACvF,QAAAA,CAAC,EAAC;AAAH,OAAP;AAAkBsc,MAAAA,YAAY,EAAC,MAA/B;AAAsCxW,MAAAA,MAAM,EAACpH;AAA7C,KAAH,CAA5E;AAAgI,WAAOE,CAAC,EAAEy3C,eAAH,IAAoB,IAA3B;AAAgC;;;;AAAA,SAAS91C,CAAT,CAAWnC,CAAX,EAAa;AAAC,MAAG,EAAE,kBAAiBA,CAAnB,CAAH,EAAyB,OAAM,CAAC,CAAP;;AAAS,UAAOA,CAAC,CAACuD,IAAT;AAAe,SAAI,SAAJ;AAAc,SAAI,mBAAJ;AAAwB,SAAI,KAAJ;AAAU,SAAI,SAAJ;AAAc,SAAI,SAAJ;AAAc,SAAI,SAAJ;AAAc,SAAI,0BAAJ;AAA+B,SAAI,aAAJ;AAAkB,SAAI,kBAAJ;AAAuB,SAAI,OAAJ;AAAY,SAAI,UAAJ;AAAe,SAAI,eAAJ;AAAoB,SAAI,kBAAJ;AAAuB,SAAI,KAAJ;AAAU,aAAM,CAAC,CAAP;;AAAS;AAAQ,aAAM,CAAC,CAAP;AAAlR;AAA4R;;AAAA,SAAS2I,CAAT,CAAWlM,CAAX,EAAa;AAAC,SAAO,QAAMA,CAAN,IAAS,YAAU,OAAOA,CAA1B,IAA6B,aAAYA,CAAzC,IAA4C,CAAC,CAACA,CAAC,CAACkrC,OAAvD;AAA+D;;AAAA,SAAS5/B,CAAT,CAAWtL,CAAX,EAAa;AAAC,SAAOmC,CAAC,CAACnC,CAAD,CAAD,GAAK,2BAA0BA,CAA1B,GAA4BA,CAAC,CAACwkD,qBAA9B,GAAoDxkD,CAAC,CAAC+sC,YAA3D,GAAwE,IAA/E;AAAoF;;AAAA,SAASvhC,CAAT,CAAWxL,CAAX,EAAa;AAAC,MAAG,EAAE,oBAAmBA,CAArB,CAAH,EAA2B,OAAM,CAAC,CAAP;;AAAS,UAAOA,CAAC,CAACuD,IAAT;AAAe,SAAI,KAAJ;AAAU,SAAI,SAAJ;AAAc,SAAI,SAAJ;AAAc,SAAI,kBAAJ;AAAuB,SAAI,OAAJ;AAAY,SAAI,eAAJ;AAAoB,SAAI,kBAAJ;AAAuB,aAAM,CAAC,CAAP;;AAAS;AAAQ,aAAM,CAAC,CAAP;AAApJ;AAA8J;;AAAA,SAASmI,CAAT,CAAW1L,CAAX,EAAa;AAAC,SAAM,CAAC,CAACwL,CAAC,CAACxL,CAAD,CAAH,KAAS,6BAA4BA,CAA5B,GAA8BA,CAAC,CAAC0tC,uBAAhC,GAAwD1tC,CAAC,CAAC8sC,cAAnE,CAAN;AAAyF;;AAAA,SAASngC,CAAT,CAAW3M,CAAX,EAAa;AAAC,MAAG,CAACA,CAAJ,EAAM,OAAM,EAAN;AAAS,SAAM,CAAC,cAAaA,CAAb,GAAeA,CAAC,CAAC0vC,QAAjB,GAA0B1uC,CAAC,CAAChB,CAAC,CAACqD,MAAH,CAAD,GAAYrD,CAAC,CAACqD,MAAF,CAASqsC,QAArB,GAA8B,EAAzD,KAA8D,EAApE;AAAuE;;;;;;;;;;;;;;;;;;;;;ACJ9zH;AACA;AACA;AACA;AACsL,SAAS,mIAAmI,cAAc,4EAA4E,OAAO,yIAAyI,gBAAgB,uEAAuE,qCAAqC,cAAc,8DAA8D,OAAO,sbAAsb,gBAAgB,OAAO,0KAA0K,cAAc,OAAO,mEAAmE,cAAc,kCAAkC,kLAAkL,uEAAC,sCAAsC,2CAA2C,kBAAkB,wBAAwB,KAAK,cAAc,OAAO,YAAY,uEAAC,2CAA2C,uEAAC,kDAAkD,uEAAC,kCAAkC,uEAAC,wBAAwB,uEAAC,eAAe,cAAc,OAAO,gCAAgC,uEAAC,2CAA2C,kBAAkB,+DAA+D,yDAAC,6HAA6H,kFAAkF,mEAAmE,kCAAkC,kBAAkB,uEAAC,4CAA4C,uEAAC,8CAA8C,uEAAC,8IAA8I,uEAAC,wDAAwD,uEAAC,oDAAoD,uEAAC,oDAAoD,uEAAC,4DAA4D,uEAAC,qHAAqH,uEAAC,+DAA+D,uEAAC,iCAAiC,gBAAgB,wJAAwJ,wDAAG,oCAAoC,uEAAC,yFAAyF,OAAO,eAAe,sEAAC,iDAAiD,sEAAC,yDAAyD,sEAAC,iGAAiG,uEAAC,mEAAmE,uEAAC,qGAAqG,uEAAC,+DAA+D,uEAAC,qDAAqD,uEAAC,oDAAoD,uEAAC,gEAAgE,uEAAC,+FAA+F,uEAAC,2DAA2D,uEAAC,kEAAkE,uEAAC,qDAAqD,uEAAC,sEAAsE,uEAAC,sDAAsD,uEAAC,mEAAmE,uEAAC,yDAAyD,uEAAC,2DAA2D,uEAAC,sEAAsE,uEAAC,+DAA+D,uEAAC,qDAAqD,uEAAC,kDAAkD,uEAAC,2DAA2D,uEAAC,0EAA0E,uEAAC,oEAAoE,uEAAC,+DAA+D,uEAAC,mDAAmD,uEAAC,uEAAuE,uEAAC,qDAAqD,sEAAC,iCAAiC,cAAc,sCAAsC,uEAAC,sCAAsC,OAAO,mBAAmB,uEAAC,iHAAiH,cAAc,OAAO,mEAAmE,cAAc,yCAAyC,OAAO,aAAa,uEAAC,+CAA+C,uEAAC,uDAAuD,uEAAC,yDAAyD,uEAAC,8DAA8D,cAAc,0FAA0F,OAAO,uBAAuB,uEAAC,+CAA+C,uEAAC,4FAA4F,uEAAC,wEAAwE,uEAAC,mEAAmE,uEAAC,4DAA4D,uEAAC,iEAAiE,uEAAC,uDAAuD,uEAAC,uDAAuD,uEAAC,uDAAuD,uEAAC,qDAAqD,uEAAC,0CAA0C,sEAAC,uBAAuB,cAAc,OAAO,YAAY,eAAe,uEAAC,kGAAkG,uEAAC,mDAAmD,uEAAC,oDAAoD,uEAAC,4CAA4C,uEAAC,0BAAkG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACJ5oO;AACA;AACA;AACA;AACk/B,QAAQ,QAAQ,wDAAC,IAAI,wEAAwE,EAAE,sBAAsB,6DAAC,CAAC,eAAe,gCAAgC,2BAA2B,kBAAkB,uBAAuB,OAAO,oFAAC,QAAQ,4BAA4B,kBAAkB,wBAAwB,OAAO,oFAAC,QAAQ,QAAQ,MAAM,+EAA+E,SAAS,kHAAkH,kBAAkB,uDAAC,EAAE,4FAAC,EAAE,uBAAuB,8BAA8B,uDAAC,EAAE,sFAAC,EAAE,kBAAkB,UAAU,sCAAsC,uDAAC,EAAE,sFAAC,EAAE,kBAAkB,UAAU,uCAAuC,uDAAC,EAAE,sFAAC,EAAE,MAAM,UAAU,yCAAyC,uDAAC,EAAE,kFAAC,6DAA6D,uDAAC,EAAE,8EAAC,6DAA6D,uDAAC,EAAE,sFAAC,EAAE,MAAM,UAAU,0CAA0C,uDAAC,EAAE,kFAAC,+DAA+D,uDAAC,EAAE,8EAAC,+DAA+D,uDAAC,EAAE,4FAAC,wCAAwC,uDAAC,EAAE,sFAAC,uDAAuD,WAAW,aAAa,aAAa,iHAAC,EAAE,UAAU,KAAK,WAAW,aAAa,cAAc,8BAA8B,2BAA2B,+DAAC,EAAE,IAAI,SAAS,8BAA8B,6BAA6B,2EAAC,QAAQ,mEAAC,OAAO,iEAAC,GAAG,sBAAsB,6DAAC,CAAC,eAAe,gCAAgC,QAAQ,MAAM,sBAAsB,MAAM,cAAc,sBAAsB,IAAI,uDAAC,EAAE,4FAAC,EAAE,uBAAuB,8BAA8B,uDAAC,EAAE,sFAAC,EAAE,MAAM,kDAAC,QAAQ,UAAU,gCAAgC,uDAAC,EAAE,sFAAC,EAAE,cAAc,UAAU,wCAAwC,uDAAC,EAAE,sFAAC,0DAA0D,+EAAC,IAA0D;;;;;;;;;;;;;;;;;;;;;;;;ACJ96F;AACA;AACA;AACA;AACwe,MAAM,sBAAsB,6DAAC,CAAC,eAAe,+BAA+B,QAAQ,MAAM,0BAA0B,MAAM,cAAc,0BAA0B,IAAI,uDAAC,EAAE,4FAAC,EAAE,qBAAqB,8BAA8B,uDAAC,EAAE,sFAAC,EAAE,KAAK,wEAAC,OAAO,UAAU,oCAAoC,uDAAC,EAAE,sFAAC,EAAE,kBAAkB,UAAU,wCAAwC,uDAAC,EAAE,sFAAC,kDAA8E;;;;;;;;;;;;;;;;;;;;;;;;;;;ACJp6B;AACA;AACA;AACA;AACgnB,MAAM,sBAAsB,6DAAC,CAAC,eAAe,iCAAiC,QAAQ,MAAM,oEAAoE,SAAS,sFAAsF,kBAAkB,uDAAC,EAAE,4FAAC,EAAE,yBAAyB,8BAA8B,uDAAC,EAAE,sFAAC,EAAE,kBAAkB,UAAU,qCAAqC,uDAAC,EAAE,sFAAC,EAAE,kBAAkB,UAAU,+BAA+B,uDAAC,EAAE,sFAAC,EAAE,kBAAkB,UAAU,mCAAmC,uDAAC,EAAE,sFAAC,EAAE,KAAK,qEAAC,OAAO,UAAU,0CAA0C,uDAAC,EAAE,4FAAC,CAAC,+FAAC,0CAA0C,uDAAC,EAAE,sFAAC,wDAA0F;;;;;;;;;;;;;;;;;;;;;;;;ACJh2C;AACA;AACA;AACA;AACkc,MAAM,sBAAsB,6DAAC,CAAC,eAAe,4BAA4B,QAAQ,MAAM,+BAA+B,MAAM,cAAc,+BAA+B,IAAI,uDAAC,EAAE,4FAAC,EAAE,gBAAgB,8BAA8B,uDAAC,EAAE,sFAAC,EAAE,kBAAkB,UAAU,wCAAwC,uDAAC,EAAE,sFAAC,EAAE,kBAAkB,UAAU,yCAAyC,uDAAC,EAAE,sFAAC,oDAAkF;;;;;;;;;;;;;;;;;;;;;;;;ACJ94B;AACA;AACA;AACA;AACkc,MAAM,sBAAsB,6DAAC,CAAC,eAAe,2BAA2B,QAAQ,MAAM,4CAA4C,MAAM,cAAc,4CAA4C,IAAI,uDAAC,EAAE,4FAAC,EAAE,cAAc,8BAA8B,uDAAC,EAAE,sFAAC,EAAE,kBAAkB,UAAU,qCAAqC,uDAAC,EAAE,sFAAC,EAAE,kBAAkB,UAAU,oCAAoC,uDAAC,EAAE,sFAAC,EAAE,kBAAkB,UAAU,4CAA4C,uDAAC,EAAE,sFAAC,mDAAgF;;;;;;;;;;;;;;;;;ACJz+B;AACA;AACA;AACA;AAC0D,WAAW,gBAAgB,GAAG,uEAAC,qBAAqB,MAAM,OAAO,GAAG,kBAAkB,iCAAiC,+DAA+D,SAAS,mBAAmB,4CAA4C,eAAe,QAAQ,aAAa,eAAe,QAAQ,aAAa,gBAAgB,SAAS,aAAa,gBAAgB,SAAS,aAAa,gBAAgB,SAAS,aAAa,gBAAgB,SAAS,aAAa,gBAAgB,SAAS,aAAa,iBAAiB,UAAU,aAAa,iBAAiB,UAAU,aAAa,SAAS,qBAAqB,0GAA0G,eAAe,QAAQ,aAAa,eAAe,QAAQ,aAAa,eAAe,QAAQ,aAAa,eAAe,QAAQ,aAAa,eAAe,QAAQ,aAAa,SAAS,sBAAsB,2CAA2C,eAAe,QAAQ,aAAa,eAAe,QAAQ,aAAa,eAAe,QAAQ,aAAa,gBAAgB,SAAS,aAAa,SAAS,qBAAqB,mGAAmG,eAAe,QAAQ,aAAa,eAAe,QAAQ,aAAa,eAAe,QAAQ,aAAa,eAAe,QAAQ,aAAa,eAAe,QAAQ,aAAa,eAAe,QAAQ,aAAa,eAAe,QAAQ,aAAa,eAAe,QAAQ,aAAa,eAAe,QAAQ,aAAa,eAAe,QAAQ,aAAa,eAAe,QAAQ,aAAa,eAAe,QAAQ,aAAa,eAAe,QAAQ,aAAa,eAAe,QAAQ,aAAa,eAAe,QAAQ,aAAa,eAAe,QAAQ,aAAa,eAAe,QAAQ,aAAa,gBAAgB,SAAS,aAAa,SAAS,sBAAsB,wBAAwB,eAAe,QAAQ,aAAa,eAAe,QAAQ,aAAa,gBAAgB,SAAS,aAAa,iBAAiB,UAAU,aAAa,SAAS,GAAgD;;;;;;;;;;;;;;;;ACJvrE;AACA;AACA;AACA;AACA,SAAS,wEAAwE,OAAO,qCAAkF;;;;;;;;;;;;;;;;;;;;ACJ1K;AACA;AACA;AACA;AACuN,gBAAgB,WAAW,KAAK,SAAS,0BAA0B,SAAS,mCAAmC,QAAQ,0BAA0B,4DAA4D,6BAA6B,KAAK,OAAO,MAAM,SAAS,GAAG,2FAAC,MAAM,GAAG,wEAAC,0BAA0B,gBAAgB,4BAA4B,MAAM,iDAAiD,MAAM,gBAAgB,kGAAkG,iFAAiF,KAAK,8FAA8F,4BAA4B,MAAM,8EAA8E,qCAAqC,YAAY,2HAA2H,WAAW,eAAe,6BAA6B,YAAY,WAAW,KAAK,eAAe,qBAAqB,IAAI,eAAe,SAAS,iBAAiB,oBAAoB,8BAA8B,oFAAoF,gCAAgC,mCAAmC,WAAW,2CAA2C,aAAa,6BAA6B,gBAAgB,EAAE,wDAAQ,MAAM,sBAAsB,EAAE,8DAAc,MAAM,eAAe,EAAE,uDAAO,MAAM,iBAAiB,EAAE,yDAAS,MAAM,YAAY,YAAY,WAAW,sDAAsD,iDAAiD,IAAyC;;;;;;;;;;;;;;;;ACJ37D;AACA;AACA;AACA;AACA,SAAS,yCAAyC,uDAAuD,yDAAyD,QAAQ,UAAU,EAA6C;;;;;;;;;;;;;;;;;;ACJjO;AACA;AACA;AACA;AAC6G,SAAS,yCAAyC,uDAAuD,0DAA0D,SAAS,sDAAC,SAAS,sBAAsB,yDAAC,2CAA2C,gEAAC,+BAA+B,yDAAC,eAAe,gEAAC,qCAAqC,yDAAC,qBAAqB,gEAAC,0CAA0C,yEAAC,QAAQ,gEAAC,gCAAgC,yDAAC,iDAAiD,gEAAC,QAA4D;;;;;;;;;;;;;;;;;;;;ACJrpB;AACA;AACA;AACA;AAC0E,kCAAkC,EAAE,eAAe,EAAE,YAAY,mBAAmB,SAAS,mCAAmC,UAAU,kCAAkC,UAAU,KAAK,wLAAwL,sEAAsE,aAAa,oCAAoC,WAAW,0BAA0B,SAAS,eAAe,WAAW,+BAA+B,mBAAmB,uDAAuD,WAAW,cAAc,WAAW,6BAA6B,iBAAiB,QAAQ,iBAAiB,QAAQ,wBAAwB,sGAAsG,OAAO,iBAAiB,kCAAkC,8BAA8B,iBAAiB,kJAAkJ,QAAQ,6BAA6B,OAAO,4GAA4G,WAAW,oBAAoB,OAAO,gBAAgB,iBAAiB,iCAAiC,MAAM,6BAA6B,WAAW,kDAAkD,iCAAiC,iDAAiD,aAAa,aAAa,4DAA4D,YAAY,IAAI,KAAK,kBAAkB,0FAA0F,yBAAyB,uBAAuB,gCAAgC,YAAY,IAAI,KAAK,WAAW,0BAA0B,sBAAsB,gCAAgC,YAAY,IAAI,KAAK,kBAAkB,iCAAiC,4BAA4B,eAAe,wFAAwF,QAAQ,cAAc,4DAA4D,kIAAkI,wFAAU,sDAAsD,cAAc,6DAA6D,2DAA2D,0BAA0B,kBAAkB,oCAAoC,aAAa,2NAA2N,eAAe,8CAA8C,+FAA+F,KAAK,YAAY,YAAY,KAAK,kBAAkB,mCAAmC,mCAAmC,8DAA8D,YAAY,2RAA2R,UAAU,aAAa,6BAA6B,2BAA2B,GAAG,eAAe,aAAa,qCAAqC,YAAY,IAAI,KAAK,yBAAyB,4CAA4C,uBAAuB,8CAA8C,YAAY,IAAI,KAAK,oBAAoB,2CAA2C,sBAAsB,gCAAgC,YAAY,IAAI,KAAK,kBAAkB,wEAAwE,yDAAyD,UAAU,eAAe,qJAAqJ,wFAAU,8GAA8G,KAAK,WAAW,4GAA4G,SAAS,iBAAiB,kBAAkB,OAAO,gDAAgD,KAAK,IAAI,EAAE,6BAA6B,wCAAwC,KAAK,iBAAiB,SAAS,QAAQ,IAAI,+BAA+B,uBAAuB,4DAA4D,IAAI,eAAe,IAAI,+BAA+B,UAAU,YAAY,qBAAqB,kBAAkB,SAAS,yBAAyB,oBAAoB,6CAA6C,yDAAyD,YAAY,uDAAuD,YAAY,wUAAwU,mHAAmH,eAAe,+BAA+B,kLAAkL,QAAQ,aAAa,mBAAmB,EAA0F;;;;;;;;;;;;;;;;;ACJngM;AACA;AACA;AACA;AACkE,gBAAgB,SAAS,KAAK,SAAS,0BAA0B,UAAU,8DAA8D,cAAc,QAAQ,sBAAsB,wDAAwD,KAAK,aAAa,kBAAkB,gBAAgB,yCAAyC,YAAY,+BAA+B,kDAAkD,OAAO,yEAAyE,mBAAmB,OAAO,UAAU,sEAAC,0DAA0D,cAAc,oEAAoE,QAAQ,eAAe,6BAA6B,YAAY,WAAW,KAAK,aAAa,wDAAwD,8BAA8B,UAAU,gCAAgC,mCAAmC,WAAW,2CAA2C,aAAa,6BAA6B,gBAAgB,EAAE,+CAAQ,MAAM,sBAAsB,EAAE,qDAAc,MAAM,eAAe,EAAE,8CAAO,MAAM,iBAAiB,EAAE,gDAAS,MAAM,YAAY,YAAY,WAAW,sDAAsD,iDAAiD,IAAiC;;;;;;;;;;;;;;;;ACJj4C;AACA;AACA;AACA;AACA,cAAc,8EAA2G;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACJzH;AACA;AACA;AACA;AACA;AAA2C;AAAuB;AAA6B;AAA6B;AAAgC;AAAmC;AAAiC;AAAyE;AAAuD;AAAkD;AAA0E;AAAuB;AAA6B;AAA0E;AAAqC;AAA4D;AAA2I;AAA4D;AAAsD;AAA2D;AAA+I;AAA+C,IAAIrpC,CAAC,GAAC,cAAc/F,qFAAC,CAACF,yDAAD,CAAf,CAAmB;AAAsB,SAAdyxC,cAAc,CAAC7xC,CAAD,EAAG;AAAC,WAAO+B,yEAAC,CAAC/B,CAAD,CAAR;AAAY;;AAAAyC,EAAAA,WAAW,CAACzC,CAAD,EAAG;AAAC,UAAMA,CAAN,GAAS,KAAK0C,EAAL,GAAQ,IAAjB,EAAsB,KAAKK,KAAL,GAAW,IAAjC,EAAsC,KAAK8jD,QAAL,GAAc,IAApD,EAAyD,KAAKC,WAAL,GAAiB,IAA1E,EAA+E,KAAK/b,UAAL,GAAgB,IAA/F,EAAoG,KAAKnoC,gBAAL,GAAsB,IAA1H,EAA+H,KAAKW,IAAL,GAAU,IAAzI,EAA8I,KAAK2tC,UAAL,GAAgB,IAA9J,EAAmK,KAAK0J,UAAL,GAAgB,IAAnL,EAAwL,KAAKD,cAAL,GAAoB,IAA5M,EAAiN,KAAKoM,kBAAL,GAAwB,IAAIp0C,GAAJ,EAAzO,EAAiP,KAAKq0C,kBAAL,GAAwB,IAAIr0C,GAAJ,EAAzQ,EAAiR,KAAKs0C,kBAAL,GAAwBjnD,CAAC,IAAE;AAAC,YAAK;AAACkH,QAAAA,UAAU,EAAChH,CAAZ;AAAc06C,QAAAA,UAAU,EAAC36C,CAAzB;AAA2B2c,QAAAA,MAAM,EAACpc;AAAlC,UAAqCR,CAA1C;AAAA,YAA4CI,CAAC,GAACF,CAAC,KAAG,KAAKgnD,iBAAvD;AAAA,YAAyExmD,CAAC,GAACQ,+EAAC,CAAChB,CAAD,EAAGD,CAAH,EAAK,KAAK26C,UAAV,CAA5E;AAAkGx6C,MAAAA,CAAC,IAAEM,CAAH,IAAMF,CAAC,CAACwF,IAAF,CAAQhG,CAAC,IAAE;AAACoC,QAAAA,6GAAC,CAAClC,CAAD,EAAGD,CAAH,CAAD,KAAS,KAAK06C,cAAL,GAAoB36C,CAAC,CAAC26C,cAA/B;AAA+C,OAA3D,CAAN;AAAoE,KAAnd,EAAod,KAAKwM,oBAAL,GAA0BnnD,CAAC,IAAE;AAAC,YAAK;AAACkH,QAAAA,UAAU,EAAChH,CAAZ;AAAc06C,QAAAA,UAAU,EAAC36C,CAAzB;AAA2BmnD,QAAAA,MAAM,EAAC5mD;AAAlC,UAAqCR,CAA1C;AAAA,YAA4CI,CAAC,GAACF,CAAC,KAAG,KAAKgnD,iBAAvD;AAAA,YAAyExmD,CAAC,GAACQ,+EAAC,CAAChB,CAAD,EAAGD,CAAH,EAAK,KAAK26C,UAAV,CAA5E;AAAkGx6C,MAAAA,CAAC,IAAEM,CAAH,KAAO,KAAKi6C,cAAL,GAAoBn6C,CAA3B;AAA8B,KAAlnB,EAAmnB,KAAKsD,IAAL,GAAYkC,IAAZ,CAAkB,MAAI;AAAC,WAAKtC,UAAL,CAAgB,CAACtC,kFAAC,CAAC,KAAK6lD,kBAAN,CAAF,EAA4B3lD,oFAAC,CAAC,KAAK6lD,oBAAN,CAA7B,CAAhB;AAA2E,KAAlG,EAAqG,MAAI,CAAE,CAA3G,CAAnnB;AAAiuB;;AAAAtjD,EAAAA,UAAU,GAAE;AAAC,SAAKC,IAAL,GAAYC,KAAZ,CAAmB/D,CAAC,IAAE;AAACW,MAAAA,mEAAC,CAACX,CAAD,CAAD,IAAMU,iEAAA,CAAY,IAAZ,EAAkB+C,KAAlB,CAAwB,SAAxB,EAAmC,iCAAgC,KAAKV,KAAL,IAAY,UAAW,WAAU,KAAKL,EAAL,IAAS,OAAQ,IAArH,EAAyH;AAACe,QAAAA,KAAK,EAACzD;AAAP,OAAzH,CAAN;AAA0I,KAAjK;AAAoK;;AAAe,MAAXqnD,WAAW,GAAE;AAAC,WAAO,KAAKP,WAAL,EAAkB1sC,IAAlB,IAAwB,IAA/B;AAAoC;;AAAS,MAALktC,KAAK,GAAE;AAAC,WAAO,KAAKR,WAAL,EAAkBS,YAAlB,IAAgC,IAAvC;AAA4C;;AAAoB,MAAhBC,gBAAgB,GAAE;AAAC,WAAO,KAAKV,WAAL,EAAkBU,gBAAlB,IAAoC,IAA3C;AAAgD;;AAAa,MAAT3Z,SAAS,GAAE;AAAC,WAAOhtC,+DAAC,CAAC,KAAKgmD,QAAN,CAAR;AAAwB;;AAAqB,MAAjBK,iBAAiB,GAAE;AAAC,WAAOjlD,yEAAC,CAAC,KAAK4rC,SAAL,CAAepoB,IAAhB,CAAD,CAAuB5f,GAAvB,CAA2B4f,IAAlC;AAAuC;;AAAqB,MAAjBgiC,iBAAiB,GAAE;AAAC,WAAO,KAAKP,iBAAL,CAAuB32C,OAAvB,CAA+B,kBAA/B,EAAkD,uBAAlD,CAAP;AAAkF;;AAAW,MAAPqH,OAAO,GAAE;AAAC,WAAO3V,yEAAC,CAAC,KAAK4rC,SAAL,CAAepoB,IAAhB,CAAD,CAAuBiiC,QAA9B;AAAuC;;AAAuB,MAAnBC,mBAAmB,GAAE;AAAC,WAAO,IAAP;AAAY;;AAAMziD,EAAAA,IAAI,CAAClF,CAAD,EAAG;AAAA;;AAAA;AAAC,aAAO,KAAI,CAACmF,mBAAL,CAAyB,KAAI,CAACyiD,iBAAL,CAAuB,KAAI,CAACV,iBAA5B,EAA8C,KAAI,CAACtvC,OAAL,CAAa1U,QAAb,EAA9C,EAAsElD,CAAtE,CAAzB,GAAmG,KAAI,CAACmF,mBAAL,CAAyB,KAAI,CAAC0iD,mBAAL,CAAyB,KAAI,CAAChB,QAA9B,EAAuC7mD,CAAvC,CAAzB,CAAnG,EAAuK,KAA9K;AAAD;AAAoL;;AAAA8nD,EAAAA,oBAAoB,CAAC9nD,CAAD,EAAG;AAAC,QAAG,CAAC,KAAK8mD,WAAT,EAAqB,OAAO,IAAP;;AAAY,UAAM5mD,CAAC,GAAC,KAAK8mD,kBAAL,CAAwBltC,GAAxB,CAA4B9Z,CAA5B,CAAR;;AAAuC,QAAG,QAAME,CAAT,EAAW,OAAOA,CAAP;;AAAS,UAAMD,CAAC,GAAC,KAAK6mD,WAAL,CAAiBiB,cAAzB;AAAA,UAAwCvnD,CAAC,GAAC,KAAKwnD,uBAAL,CAA6B/nD,CAA7B,EAA+B,KAAK+mD,kBAApC,EAAuD,UAAvD,EAAkE,SAAlE,EAA4EhnD,CAA5E,CAA1C;;AAAyH,WAAOQ,CAAC,IAAE,CAAH,GAAKA,CAAL,GAAO,IAAd;AAAmB;;AAAAynD,EAAAA,oBAAoB,CAACjoD,CAAD,EAAG;AAAC,QAAG,CAAC,KAAK8mD,WAAT,EAAqB,OAAO,IAAP;;AAAY,UAAM5mD,CAAC,GAAC,KAAK6mD,kBAAL,CAAwBjtC,GAAxB,CAA4B9Z,CAA5B,CAAR;;AAAuC,QAAG,QAAME,CAAT,EAAW,OAAOA,CAAP;;AAAS,UAAMD,CAAC,GAAC,KAAK6mD,WAAL,CAAiBiB,cAAzB;AAAA,UAAwCvnD,CAAC,GAAC,KAAKwnD,uBAAL,CAA6B/nD,CAA7B,EAA+B,KAAK8mD,kBAApC,EAAuD,SAAvD,EAAiE,UAAjE,EAA4E/mD,CAA5E,CAA1C;;AAAyH,WAAOQ,CAAC,IAAE,CAAH,GAAKA,CAAL,GAAO,IAAd;AAAmB;;AAAA0nD,EAAAA,wBAAwB,CAACloD,CAAD,EAAG;AAAC,UAAME,CAAC,GAAC,EAAR;AAAA,UAAWD,CAAC,GAAC,IAAI0S,GAAJ,EAAb;;AAAqB,SAAI,MAAMvS,CAAV,IAAeJ,CAAf,EAAiB;AAAC,YAAMA,CAAC,GAAC,KAAK8nD,oBAAL,CAA0B1nD,CAAC,CAAC+nD,eAA5B,CAAR;AAAqD,UAAG,QAAMnoD,CAAT,EAAW;AAAS,UAAIE,CAAC,GAACD,CAAC,CAAC6Z,GAAF,CAAM9Z,CAAN,CAAN;AAAe,WAAK,CAAL,KAASE,CAAT,KAAaA,CAAC,GAAC,EAAf,GAAmBA,CAAC,CAAC4E,IAAF,CAAO1E,CAAC,CAACwzC,QAAT,CAAnB,EAAsC3zC,CAAC,CAACyF,GAAF,CAAM1F,CAAN,EAAQE,CAAR,CAAtC;AAAiD;;AAAA,UAAMM,CAAC,GAAC,KAAK0mD,iBAAb;AAA+B,WAAOjnD,CAAC,CAAC0E,OAAF,CAAW,CAAC3E,CAAD,EAAGC,CAAH,KAAOC,CAAC,CAAC4E,IAAF,CAAO;AAAC+hD,MAAAA,QAAQ,EAAE,GAAErmD,CAAE,IAAGP,CAAE,EAApB;AAAsBq6C,MAAAA,SAAS,EAACt6C;AAAhC,KAAP,CAAlB,GAA+DE,CAAtE;AAAwE;;AAAMkoD,EAAAA,6BAA6B,CAACpoD,CAAD,EAAGE,CAAH,EAAK;AAAA;;AAAA;AAAC,YAAK,CAAC;AAACkoD,QAAAA,6BAA6B,EAACnoD;AAA/B,OAAD,EAAmC;AAACuI,QAAAA,OAAO,EAAChI;AAAT,OAAnC,UAAsD6E,OAAO,CAACc,GAAR,CAAY,CAAC,oOAAD,EAA6D,wQAA7D,CAAZ,CAA3D;AAAA,YAAoN/F,CAAC,GAAC,MAAI,CAACqnD,iBAA3N;AAAA,YAA6O/mD,CAAC,GAACF,CAAC,CAACgf,IAAF,CAAOxf,CAAP,CAA/O;AAAyP,aAAM,OAAOC,CAAC,CAACG,CAAD,EAAGM,CAAH,EAAK,EAAC,GAAGR;AAAJ,OAAL,CAAR,GAAuBmoD,wBAA7B;AAA1P;AAAgT;;AAAMC,EAAAA,gBAAgB,CAACtoD,CAAD,EAAGE,CAAH,EAAK;AAAA;;AAAA;AAAC,UAAG,CAACF,CAAC,CAACuoD,YAAN,EAAmB,MAAM,IAAI/nD,sDAAJ,CAAM,gCAAN,EAAuC,yFAAvC,CAAN;AAAwI,YAAK,CAAC;AAACgoD,QAAAA,uBAAuB,EAACvoD;AAAzB,OAAD,EAA6B;AAACuI,QAAAA,OAAO,EAACpI;AAAT,OAA7B,UAAgDiF,OAAO,CAACc,GAAR,CAAY,CAAC,wNAAD,EAAuD,4PAAvD,CAAZ,CAArD;AAAA,YAAkMzF,CAAC,GAACN,CAAC,CAACof,IAAF,CAAOxf,CAAP,CAApM;AAA8MoC,MAAAA,6GAAC,CAAC,MAAI,CAAC8kD,iBAAN,EAAwB,MAAI,CAACtM,UAAL,IAAiB,IAAzC,CAAD,IAAiDl6C,CAAC,CAAC+nD,SAAF,GAAYnmD,mGAAZ,QAAoBT,0GAAC,CAAC,MAAI,CAACqlD,iBAAN,EAAwB,MAAI,CAACtM,UAA7B,EAAwC,CAAC,CAAzC,CAAtE,IAAmHl6C,CAAC,CAAC+nD,SAAF,GAAY,IAA/H,EAAoI/nD,CAAC,CAACk6C,UAAF,GAAa,MAAI,CAACA,UAAtJ;AAAiK,YAAMt6C,CAAC,GAAC,MAAI,CAACmnD,iBAAb;AAAA,YAA+B9mD,CAAC,GAAC,MAAI,CAACumD,iBAAtC;AAAA,YAAwDrmD,CAAC,GAACe,oFAAC,CAACjB,CAAD,EAAG,IAAH,EAAQ,MAAI,CAACi6C,UAAb,EAAwB,CAAC,CAAzB,CAA3D;AAAA,YAAuFl5C,CAAC,SAAOzB,CAAC,CAACK,CAAD,EAAGI,CAAH,EAAK,EAAC,GAAGR;AAAJ,OAAL,CAAhG;;AAA6G,UAAGwB,CAAC,EAAEgnD,YAAN,EAAmB;AAAC,cAAM1oD,CAAC,GAAC,EAAR;;AAAW,aAAI,MAAME,CAAV,IAAewB,CAAC,CAACgnD,YAAjB,EAA8B;AAAC,gBAAK;AAACC,YAAAA,cAAc,EAAC1oD;AAAhB,cAAmBC,CAAxB;AAAA,gBAA0BM,CAAC,GAACP,CAAC,EAAE2C,gBAAH,GAAoB,IAAIT,sEAAJ,CAAMlC,CAAC,CAAC2C,gBAAR,CAApB,GAA8C,IAA1E;AAA+E5C,UAAAA,CAAC,CAAC8E,IAAF,CAAO;AAAC8S,YAAAA,OAAO,EAAC1X,CAAC,CAAC0X,OAAX;AAAmB+wC,YAAAA,cAAc,EAAC;AAAC1U,cAAAA,IAAI,EAACh0C,CAAC,EAAEg0C,IAAH,EAAS1uC,GAAT,CAAcvF,CAAC,IAAEkM,CAAC,CAAClM,CAAD,EAAGQ,CAAH,CAAlB,KAA2B,EAAjC;AAAoC0zC,cAAAA,OAAO,EAACj0C,CAAC,EAAEi0C,OAAH,EAAY3uC,GAAZ,CAAiBvF,CAAC,KAAG;AAAC4oD,gBAAAA,QAAQ,EAAC18C,CAAC,CAAClM,CAAC,CAAC,CAAD,CAAF,EAAMQ,CAAN,CAAX;AAAoBqoD,gBAAAA,OAAO,EAAC38C,CAAC,CAAClM,CAAC,CAAC,CAAD,CAAF,EAAMQ,CAAN;AAA7B,eAAH,CAAlB,KAAgE,EAA5G;AAA+G2zC,cAAAA,OAAO,EAACl0C,CAAC,EAAEk0C,OAAH,EAAY5uC,GAAZ,CAAiBvF,CAAC,IAAEkM,CAAC,CAAClM,CAAD,EAAGQ,CAAH,CAArB,KAA8B,EAArJ;AAAwJoC,cAAAA,gBAAgB,EAACpC;AAAzK;AAAlC,WAAP;AAAuN;;AAAAK,QAAAA,CAAC,CAACyE,OAAF,CAAU;AAACwjD,UAAAA,KAAK,EAAC,IAAP;AAAYC,UAAAA,aAAa,EAAC,EAA1B;AAA6BC,UAAAA,eAAe,EAAC,EAA7C;AAAgDC,UAAAA,eAAe,EAAC,EAAhE;AAAmEC,UAAAA,gBAAgB,EAAC,EAApF;AAAuFC,UAAAA,kBAAkB,EAAC,EAA1G;AAA6GC,UAAAA,kBAAkB,EAAC,EAAhI;AAAmIT,UAAAA,cAAc,EAAC3oD,CAAlJ;AAAoJo9C,UAAAA,qBAAqB,EAAC,CAAC,CAA3K;AAA6KzC,UAAAA,cAAc,EAACj5C,CAAC,CAAC0lD;AAA9L,SAAV;AAAiN;;AAAA,aAAO1lD,CAAP;AAA7qC;AAAsrC;;AAAM2nD,EAAAA,2BAA2B,CAACrpD,CAAD,EAAGE,CAAH,EAAK;AAAA;;AAAA;AAAC,UAAIE,CAAC,GAAC,IAAN;AAAW,UAAG,CAACJ,CAAC,CAACuoD,YAAN,EAAmB,MAAM,IAAI/nD,sDAAJ,CAAM,gCAAN,EAAuC,yFAAvC,CAAN;;AAAwI,UAAG,CAAC,MAAI,CAACo6C,UAAT,EAAoB;AAAC,cAAM56C,CAAC,GAAC,MAAI,CAAC6mD,QAAL,CAAct2C,OAAd,CAAsB,kBAAtB,EAAyC,0BAAzC,EAAqEA,OAArE,CAA6E,QAA7E,EAAsF,EAAtF,CAAR;;AAAkGnQ,QAAAA,CAAC,GAAC,OAAOH,uDAAC,CAACD,CAAD,EAAG;AAACke,UAAAA,YAAY,EAAC,MAAd;AAAqB/W,UAAAA,KAAK,EAAC;AAACvF,YAAAA,CAAC,EAAC;AAAH;AAA3B,SAAH,CAAR,EAAoDsC,IAApD,CAAyDolD,kBAA3D;AAA8E;;AAAA,YAAK,CAAC;AAACC,QAAAA,gCAAgC,EAAC7oD;AAAlC,OAAD,EAAsC;AAAC8H,QAAAA,OAAO,EAAClI;AAAT,OAAtC,UAAyD+E,OAAO,CAACc,GAAR,CAAY,CAAC,wNAAD,EAAuD,4PAAvD,CAAZ,CAA9D;AAAA,YAA2MxF,CAAC,GAACL,CAAC,CAACkf,IAAF,CAAOxf,CAAP,CAA7M;AAAuNoC,MAAAA,6GAAC,CAAC,MAAI,CAAC8kD,iBAAN,EAAwB,MAAI,CAACtM,UAAL,IAAiB,IAAzC,CAAD,IAAiDj6C,CAAC,CAAC8nD,SAAF,GAAYnmD,mGAAZ,QAAoBT,0GAAC,CAAC,MAAI,CAACqlD,iBAAN,EAAwB,MAAI,CAACtM,UAA7B,EAAwC,CAAC,CAAzC,CAAtE,IAAmHj6C,CAAC,CAAC8nD,SAAF,GAAY,IAA/H,EAAoI9nD,CAAC,CAACi6C,UAAF,GAAa,MAAI,CAACA,UAAL,IAAiBx6C,CAAlK;AAAoK,YAAMS,CAAC,GAAC,MAAI,CAAC4mD,iBAAb;AAAA,YAA+B/lD,CAAC,GAAC,MAAI,CAACwlD,iBAAL,GAAuBtlD,oFAAC,CAAC,MAAI,CAACslD,iBAAN,EAAwB,IAAxB,EAA6B,MAAI,CAACtM,UAAlC,EAA6C,CAAC,CAA9C,CAAxB,GAAyE,KAAK,CAA/G;AAAA,YAAiHp5C,CAAC,SAAOd,CAAC,CAACG,CAAD,EAAGF,CAAH,EAAK,EAAC,GAAGT;AAAJ,OAAL,CAA1H;AAAuI,aAAO,IAAIqC,8EAAJ,CAAM;AAACinD,QAAAA,SAAS,EAAChoD,CAAX;AAAaioD,QAAAA,aAAa,EAAC/nD;AAA3B,OAAN,CAAP;AAA92B;AAA05B;;AAAAsmD,EAAAA,uBAAuB,CAAChoD,CAAD,EAAGE,CAAH,EAAKD,CAAL,EAAOO,CAAP,EAASJ,CAAT,EAAW;AAAC,SAAI,MAAMM,CAAV,IAAeV,CAAf,EAAiB,KAAI,MAAMA,CAAV,IAAc,CAACU,CAAC,CAACgpD,WAAF,IAAe,EAAhB,EAAmBhpD,CAAC,CAACipD,eAAF,IAAmB,EAAtC,CAAd,EAAwD,KAAI,MAAMjpD,CAAV,IAAeV,CAAf,EAAiB,IAAGU,CAAC,CAACT,CAAD,CAAD,KAAOG,CAAV,EAAY,OAAOF,CAAC,CAACwF,GAAF,CAAMtF,CAAN,EAAQM,CAAC,CAACF,CAAD,CAAT,GAAcE,CAAC,CAACF,CAAD,CAAtB;;AAA0B,WAAM,CAAC,CAAP;AAAS;;AAAMqnD,EAAAA,mBAAmB,CAAC7nD,CAAD,EAAGE,CAAH,EAAK;AAAA;;AAAA;AAAC,YAAMM,CAAC,SAAOP,uDAAC,CAACD,CAAD,EAAG;AAACke,QAAAA,YAAY,EAAC,MAAd;AAAqB/W,QAAAA,KAAK,EAAC;AAACvF,UAAAA,CAAC,EAAC;AAAH,SAA3B;AAAsC,WAAG1B;AAAzC,OAAH,CAAf;AAA+D,YAAI,CAACgxC,UAAL,GAAgB1wC,CAAC,CAAC0D,IAAlB,EAAuB,MAAI,CAACD,IAAL,CAAUzD,CAAC,CAAC0D,IAAZ,EAAiB;AAAC0B,QAAAA,MAAM,EAAC;AAAR,OAAjB,CAAvB;AAAhE;AAA4H;;AAAMgiD,EAAAA,iBAAiB,CAAC5nD,CAAD,EAAGE,CAAH,EAAKM,CAAL,EAAO;AAAA;;AAAA;AAAC,UAAG,MAAI,CAACsmD,WAAR,EAAoB;AAAO,YAAM1mD,CAAC,SAAOH,uDAAC,CAAE,GAAED,CAAE,oBAAN,EAA0B;AAACke,QAAAA,YAAY,EAAC,MAAd;AAAqB/W,QAAAA,KAAK,EAAC;AAACgC,UAAAA,MAAM,EAACsd,IAAI,CAACC,SAAL,CAAe,CAACxmB,CAAD,CAAf,CAAR;AAA4B0B,UAAAA,CAAC,EAAC;AAA9B,SAA3B;AAAiE,WAAGpB;AAApE,OAA1B,CAAD,CAAmGwF,IAAnG,CAAyGhG,CAAC,IAAEA,CAAC,CAACkE,IAAF,CAAO0lD,iBAAP,GAA2B,CAA3B,CAA5G,CAAd;AAA0JxpD,MAAAA,CAAC,IAAE,MAAI,CAAC6D,IAAL,CAAU7D,CAAV,EAAY;AAACwF,QAAAA,MAAM,EAAC;AAAR,OAAZ,CAAH;AAAtL;AAAyN;;AAAl8K,CAAzB;;AAA69K,SAASsG,CAAT,CAAWlM,CAAX,EAAaC,CAAb,EAAe;AAAC,SAAO,IAAIC,mDAAJ,CAAM;AAACqxC,IAAAA,UAAU,EAACvxC,CAAC,CAACuxC,UAAd;AAAyBpa,IAAAA,QAAQ,EAACn2B,yEAAC,CAAC,EAAC,GAAGhB,CAAC,CAACm3B,QAAN;AAAev0B,MAAAA,gBAAgB,EAAC3C;AAAhC,KAAD;AAAnC,GAAN,CAAP;AAAuF;;AAAAD,uDAAC,CAAC,CAAC0B,uFAAC,CAAC;AAAC6B,EAAAA,IAAI,EAAC6E,MAAN;AAAa4B,EAAAA,WAAW,EAAC,CAAC,CAA1B;AAA4BjC,EAAAA,IAAI,EAAC;AAACG,IAAAA,OAAO,EAAC;AAAC,iBAAU;AAACjE,QAAAA,IAAI,EAAC,CAAC,CAAP;AAAS0B,QAAAA,KAAK,EAAC;AAAC2C,UAAAA,UAAU,EAAC,CAAC;AAAb;AAAf,OAAX;AAA2CkpC,MAAAA,OAAO,EAAC;AAACvtC,QAAAA,IAAI,EAAC,CAAC;AAAP;AAAnD,KAAT;AAAuEA,IAAAA,IAAI,EAAC,CAAC;AAA7E;AAAjC,CAAD,CAAF,CAAD,EAAwHoC,CAAC,CAAC8B,SAA1H,EAAoI,IAApI,EAAyI,KAAK,CAA9I,CAAD,EAAkJnI,uDAAC,CAAC,CAAC0B,uFAAC,CAAC;AAAC6B,EAAAA,IAAI,EAAC6E,MAAN;AAAa4B,EAAAA,WAAW,EAAC,CAAC,CAA1B;AAA4BjC,EAAAA,IAAI,EAAC;AAACG,IAAAA,OAAO,EAAC;AAAC,iBAAU;AAACjE,QAAAA,IAAI,EAAC,CAAC,CAAP;AAAS0B,QAAAA,KAAK,EAAC;AAAC2C,UAAAA,UAAU,EAAC,CAAC;AAAb;AAAf,OAAX;AAA2CkpC,MAAAA,OAAO,EAAC;AAACvtC,QAAAA,IAAI,EAAC;AAACoG,UAAAA,MAAM,EAAC;AAAR;AAAN;AAAnD,KAAT;AAAoFpG,IAAAA,IAAI,EAAC,CAAC;AAA1F;AAAjC,CAAD,CAAF,CAAD,EAAqIoC,CAAC,CAAC8B,SAAvI,EAAiJ,OAAjJ,EAAyJ,KAAK,CAA9J,CAAnJ,EAAoTnI,uDAAC,CAAC,CAAC0B,uFAAC,CAAC;AAAC6B,EAAAA,IAAI,EAAC6E,MAAN;AAAa4B,EAAAA,WAAW,EAAC,CAAC,CAA1B;AAA4BjC,EAAAA,IAAI,EAAC;AAACG,IAAAA,OAAO,EAAC;AAAC,iBAAU;AAACjE,QAAAA,IAAI,EAAC;AAACoG,UAAAA,MAAM,EAAC;AAAR,SAAN;AAAqB1E,QAAAA,KAAK,EAAC;AAACsC,UAAAA,MAAM,EAAC,KAAR;AAAcK,UAAAA,UAAU,EAAC,CAAC;AAA1B;AAA3B;AAAX,KAAT;AAA8ErE,IAAAA,IAAI,EAAC,CAAC;AAApF;AAAjC,CAAD,CAAF,CAAD,EAA+HoC,CAAC,CAAC8B,SAAjI,EAA2I,UAA3I,EAAsJ,KAAK,CAA3J,CAArT,EAAmdnI,uDAAC,CAAC,CAAC0B,uFAAC,CAAC;AAAC6B,EAAAA,IAAI,EAAC8W,MAAN;AAAatS,EAAAA,IAAI,EAAC;AAACG,IAAAA,OAAO,EAAC;AAACspC,MAAAA,OAAO,EAAC;AAACvtC,QAAAA,IAAI,EAAC,CAAC;AAAP;AAAT,KAAT;AAA6BA,IAAAA,IAAI,EAAC,CAAC;AAAnC;AAAlB,CAAD,CAAF,CAAD,EAA+DoC,CAAC,CAAC8B,SAAjE,EAA2E,aAA3E,EAAyF,KAAK,CAA9F,CAApd,EAAqjBnI,uDAAC,CAAC,CAAC0B,uFAAC,CAAC;AAAC6B,EAAAA,IAAI,EAACzC,4DAAN;AAAQiH,EAAAA,IAAI,EAAC;AAACG,IAAAA,OAAO,EAAC;AAACspC,MAAAA,OAAO,EAAC;AAACvtC,QAAAA,IAAI,EAAC;AAACoG,UAAAA,MAAM,EAAC;AAAR;AAAN;AAAT,KAAT;AAA4CpG,IAAAA,IAAI,EAAC,CAAC;AAAlD;AAAb,CAAD,CAAF,CAAD,EAAyEoC,CAAC,CAAC8B,SAA3E,EAAqF,YAArF,EAAkG,KAAK,CAAvG,CAAtjB,EAAgqBnI,uDAAC,CAAC,CAAC0B,uFAAC,CAAC;AAAC6B,EAAAA,IAAI,EAACpB,sEAAN;AAAQ4F,EAAAA,IAAI,EAAC;AAACG,IAAAA,OAAO,EAAC;AAACspC,MAAAA,OAAO,EAAC;AAACvtC,QAAAA,IAAI,EAAC;AAACoG,UAAAA,MAAM,EAAC;AAAR;AAAN;AAAT,KAAT;AAA6DpG,IAAAA,IAAI,EAAC,CAAC;AAAnE;AAAb,CAAD,CAAF,CAAD,EAA0FoC,CAAC,CAAC8B,SAA5F,EAAsG,kBAAtG,EAAyH,KAAK,CAA9H,CAAjqB,EAAkyBnI,uDAAC,CAAC,CAAC0B,uFAAC,CAAC;AAAC6B,EAAAA,IAAI,EAAC,CAAC,SAAD,EAAW,OAAX,CAAN;AAA0B8E,EAAAA,QAAQ,EAAC,CAAC,CAApC;AAAsCN,EAAAA,IAAI,EAAC;AAAC9D,IAAAA,IAAI,EAAC,CAAC,CAAP;AAAS0B,IAAAA,KAAK,EAAC,CAAC;AAAhB;AAA3C,CAAD,CAAF,CAAD,EAAqEU,CAAC,CAAC8B,SAAvE,EAAiF,MAAjF,EAAwF,KAAK,CAA7F,CAAnyB,EAAm4BnI,uDAAC,CAAC,CAAC0B,uFAAC,CAAC;AAAC2G,EAAAA,QAAQ,EAAC,CAAC;AAAX,CAAD,CAAF,CAAD,EAAoBhC,CAAC,CAAC8B,SAAtB,EAAgC,aAAhC,EAA8C,IAA9C,CAAp4B,EAAw7BnI,uDAAC,CAAC,CAAC0B,uFAAC,CAAC;AAAC2G,EAAAA,QAAQ,EAAC,CAAC;AAAX,CAAD,CAAF,CAAD,EAAoBhC,CAAC,CAAC8B,SAAtB,EAAgC,OAAhC,EAAwC,IAAxC,CAAz7B,EAAu+BnI,uDAAC,CAAC,CAAC0B,uFAAC,CAAC;AAAC2G,EAAAA,QAAQ,EAAC,CAAC;AAAX,CAAD,CAAF,CAAD,EAAoBhC,CAAC,CAAC8B,SAAtB,EAAgC,kBAAhC,EAAmD,IAAnD,CAAx+B,EAAiiCnI,uDAAC,CAAC,CAAC0B,uFAAC,CAAC;AAAC2G,EAAAA,QAAQ,EAAC,CAAC;AAAX,CAAD,CAAF,CAAD,EAAoBhC,CAAC,CAAC8B,SAAtB,EAAgC,WAAhC,EAA4C,IAA5C,CAAliC,EAAolCnI,uDAAC,CAAC,CAAC0B,uFAAC,CAAC;AAAC2G,EAAAA,QAAQ,EAAC,CAAC;AAAX,CAAD,CAAF,CAAD,EAAoBhC,CAAC,CAAC8B,SAAtB,EAAgC,mBAAhC,EAAoD,IAApD,CAArlC,EAA+oCnI,uDAAC,CAAC,CAAC0B,uFAAC,CAAC;AAAC2G,EAAAA,QAAQ,EAAC,CAAC;AAAX,CAAD,CAAF,CAAD,EAAoBhC,CAAC,CAAC8B,SAAtB,EAAgC,mBAAhC,EAAoD,IAApD,CAAhpC,EAA0sCnI,uDAAC,CAAC,CAAC0B,uFAAC,CAAC;AAAC2G,EAAAA,QAAQ,EAAC,CAAC;AAAX,CAAD,CAAF,CAAD,EAAoBhC,CAAC,CAAC8B,SAAtB,EAAgC,SAAhC,EAA0C,IAA1C,CAA3sC,EAA2vCnI,uDAAC,CAAC,CAAC0B,uFAAC,EAAF,CAAD,EAAO2E,CAAC,CAAC8B,SAAT,EAAmB,YAAnB,EAAgC,KAAK,CAArC,CAA5vC,EAAoyCnI,uDAAC,CAAC,CAAC0B,uFAAC,CAAC;AAAC2G,EAAAA,QAAQ,EAAC,CAAC;AAAX,CAAD,CAAF,CAAD,EAAoBhC,CAAC,CAAC8B,SAAtB,EAAgC,qBAAhC,EAAsD,IAAtD,CAAryC,EAAi2CnI,uDAAC,CAAC,CAAC0B,uFAAC,EAAF,CAAD,EAAO2E,CAAC,CAAC8B,SAAT,EAAmB,YAAnB,EAAgC,KAAK,CAArC,CAAl2C,EAA04CnI,uDAAC,CAAC,CAAC0B,uFAAC,CAAC;AAAC6B,EAAAA,IAAI,EAACP;AAAN,CAAD,CAAF,CAAD,EAAkBqD,CAAC,CAAC8B,SAApB,EAA8B,gBAA9B,EAA+C,KAAK,CAApD,CAA34C,EAAk8C9B,CAAC,GAACrG,uDAAC,CAAC,CAACwB,uFAAC,CAAC,uBAAD,CAAF,CAAD,EAA8B6E,CAA9B,CAAr8C;AAAs+C,MAAM+E,CAAC,GAAC/E,CAAR;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACJ3tQ;AACA;AACA;AACA;AACA;AAA2C;AAA6B;AAA0D;AAAmC;AAA0E;AAAuB;AAA0B;AAA6B;AAA0E;AAAkD,IAAI/F,CAAC,GAAC,cAAcE,sEAAC,CAACJ,yDAAD,CAAf,CAAmB;AAACqC,EAAAA,WAAW,CAACzC,CAAD,EAAG;AAAC,UAAMA,CAAN,GAAS,KAAK8pD,gBAAL,GAAsB;AAACC,MAAAA,UAAU,EAAC,EAAZ;AAAeC,MAAAA,WAAW,EAAC,EAA3B;AAA8BC,MAAAA,YAAY,EAAC;AAA3C,KAA/B,EAA8E,KAAK7kC,OAAL,GAAallB,mDAA3F;AAA6F;;AAAA2D,EAAAA,UAAU,GAAE,CAAE;;AAAMqB,EAAAA,IAAI,CAAClF,CAAD,EAAG;AAAA;;AAAA;AAAC,YAAME,CAAC,GAAC,KAAI,CAACsJ,KAAL,CAAWtE,IAAX,CAAgBlF,CAAhB,EAAmBgG,IAAnB,CAAyB,MAAI,KAAI,CAACkkD,qBAAL,EAA7B,CAAR;;AAAoE,aAAO,KAAI,CAAC/kD,mBAAL,CAAyBjF,CAAzB,GAA4B,KAAnC;AAArE;AAA6G;;AAAAiqD,EAAAA,aAAa,CAACnqD,CAAD,EAAGE,CAAH,EAAK;AAAC,UAAMM,CAAC,GAACR,CAAC,CAAC4X,OAAF,CAAU1U,QAAV,EAAR;AAAA,UAA6B9C,CAAC,GAACJ,CAAC,CAAC8kB,WAAF,EAAeq+B,kBAAf,CAAkC,YAAlC,CAA/B;AAAA,UAA+EljD,CAAC,GAACD,CAAC,CAAC8kB,WAAF,EAAeq+B,kBAAf,CAAkC,WAAlC,CAAjF;AAAA,UAAgIziD,CAAC,GAACN,CAAC,GAACF,CAAC,CAACqxC,UAAF,CAAanxC,CAAb,CAAD,GAAiB,IAApJ;AAAA,UAAyJO,CAAC,GAACV,CAAC,GAACC,CAAC,CAACqxC,UAAF,CAAatxC,CAAb,CAAD,GAAiB,IAA7K;AAAA,UAAkLK,CAAC,GAAC,KAAK8pD,SAAL,CAAe5pD,CAAf,CAApL;;AAAsM,QAAGF,CAAH,EAAK;AAAC,YAAMN,CAAC,GAACM,CAAC,CAAC+pD,cAAF,CAAiB3pD,CAAjB,CAAR;;AAA4B,UAAGV,CAAH,EAAK;AAAC,eAAOA,CAAC,CAACsqD,aAAF,CAAgB3pD,CAAhB,KAAoB,IAA3B;AAAgC;AAAC;;AAAA,WAAO,IAAP;AAAY;;AAAMupD,EAAAA,qBAAqB,GAAE;AAAA;;AAAA;AAAC,YAAMlqD,CAAC,GAAC,EAAR;AAAW,UAAIE,CAAJ;AAAM,OAAC,UAASF,CAAT,EAAW;AAACA,QAAAA,CAAC,CAACA,CAAC,CAACwf,IAAF,GAAO,CAAR,CAAD,GAAY,MAAZ,EAAmBxf,CAAC,CAACA,CAAC,CAACuqD,EAAF,GAAK,CAAN,CAAD,GAAU,IAA7B,EAAkCvqD,CAAC,CAACA,CAAC,CAACwqD,GAAF,GAAM,CAAP,CAAD,GAAW,KAA7C;AAAmD,OAA/D,CAAgEtqD,CAAC,KAAGA,CAAC,GAAC,EAAL,CAAjE,CAAD;AAA4E,YAAMM,CAAC,GAAC,CAAC;AAAC2nD,QAAAA,eAAe,EAAC,mBAAjB;AAAqCsC,QAAAA,YAAY,EAAC,gBAAlD;AAAmEC,QAAAA,WAAW,EAAC;AAA/E,OAAD,EAAiG;AAACvC,QAAAA,eAAe,EAAC,iBAAjB;AAAmCsC,QAAAA,YAAY,EAAC,cAAhD;AAA+DC,QAAAA,WAAW,EAAC;AAA3E,OAAjG,EAA2L;AAACvC,QAAAA,eAAe,EAAC,kBAAjB;AAAoCsC,QAAAA,YAAY,EAAC,eAAjD;AAAiEC,QAAAA,WAAW,EAAC;AAA7E,OAA3L,CAAR;AAAiS,YAAI,CAACZ,gBAAL,GAAsB;AAACC,QAAAA,UAAU,EAAC,EAAZ;AAAeC,QAAAA,WAAW,EAAC,EAA3B;AAA8BC,QAAAA,YAAY,EAAC;AAA3C,OAAtB;;AAAqE,WAAI,MAAM7pD,CAAV,IAAe,MAAI,CAACuqD,KAApB,EAA0B;AAAC,YAAGvqD,CAAC,CAACwqD,QAAF,KAAajqD,yEAAhB,EAA+B;AAAC,gBAAI,CAACmpD,gBAAL,CAAsBC,UAAtB,CAAiCjlD,IAAjC,CAAsC1E,CAAtC;;AAAyC;AAAS;;AAAA,YAAGA,CAAC,CAACwqD,QAAF,KAAajqD,0EAAhB,EAAgC;AAAC,gBAAI,CAACmpD,gBAAL,CAAsBE,WAAtB,CAAkCllD,IAAlC,CAAuC1E,CAAvC;;AAA0C;AAAS;;AAAA,YAAGA,CAAC,CAACwqD,QAAF,KAAajqD,2FAAhB,EAAiD;AAAC,gBAAI,CAACmpD,gBAAL,CAAsBG,YAAtB,CAAmCnlD,IAAnC,CAAwC1E,CAAxC;;AAA2C;AAAS;;AAAA,cAAI,CAAC0pD,gBAAL,CAAsBG,YAAtB,CAAmCnlD,IAAnC,CAAwC1E,CAAxC;;AAA2C,YAAIH,CAAC,GAAC,CAAC,CAACC,CAAC,CAACsf,IAAH,EAAQtf,CAAC,CAACqqD,EAAV,CAAD,EAAe,CAACrqD,CAAC,CAACqqD,EAAH,EAAMrqD,CAAC,CAACsf,IAAR,CAAf,CAAN;AAAoCpf,QAAAA,CAAC,CAACwqD,QAAF,KAAajqD,2FAAb,KAAgDV,CAAC,GAAC,CAAC,CAACC,CAAC,CAACsf,IAAH,EAAQtf,CAAC,CAACsqD,GAAV,CAAD,EAAgB,CAACtqD,CAAC,CAACsqD,GAAH,EAAOtqD,CAAC,CAACsf,IAAT,CAAhB,EAA+B,CAACtf,CAAC,CAACqqD,EAAH,EAAMrqD,CAAC,CAACsqD,GAAR,CAA/B,EAA4C,CAACtqD,CAAC,CAACsqD,GAAH,EAAOtqD,CAAC,CAACqqD,EAAT,CAA5C,CAAlD;;AAA6G,aAAI,MAAM7pD,CAAV,IAAeT,CAAf,EAAiB;AAAC,gBAAMA,CAAC,GAACS,CAAC,CAACsjB,KAAF,EAAR;AAAA,gBAAkB1jB,CAAC,GAACI,CAAC,CAACsjB,KAAF,EAApB;AAA8B,cAAIhjB,CAAC,GAAC,CAAC,CAAP;;AAAS,kBAAOZ,CAAC,CAACwqD,QAAT;AAAmB,iBAAKjqD,2FAAL;AAAsCK,cAAAA,CAAC,GAACf,CAAC,KAAGC,CAAC,CAACsf,IAAN,IAAYvf,CAAC,KAAGC,CAAC,CAACqqD,EAApB;AAAuB;;AAAM,iBAAK5pD,uFAAL;AAAkCK,cAAAA,CAAC,GAACf,CAAC,KAAGC,CAAC,CAACqqD,EAAR;AAAxH;;AAAmI,gBAAM/oD,CAAC,GAAChB,CAAC,CAACP,CAAD,CAAT;AAAA,gBAAaa,CAAC,GAACV,CAAC,CAACoB,CAAC,CAAC2mD,eAAH,CAAD,EAAsBvwC,OAAtB,CAA8B1U,QAA9B,MAA0C,EAAzD;AAAA,gBAA4DxB,CAAC,GAACtB,CAAC,CAACoB,CAAC,CAACipD,YAAH,CAAD,EAAmBS,cAAnB,EAAmChoD,QAAnC,EAA9D;AAAA,gBAA4GrC,CAAC,GAACT,CAAC,CAACoB,CAAC,CAACkpD,WAAH,CAA/G;AAAA,gBAA+HtpD,CAAC,GAACP,CAAC,EAAEsqD,aAAH,EAAkBjoD,QAAlB,EAAjI;AAAA,gBAA8JhC,CAAC,GAACV,CAAC,CAACF,CAAD,CAAjK;AAAA,gBAAqKgB,CAAC,GAAClB,CAAC,CAACc,CAAC,CAACinD,eAAH,CAAD,EAAsBvwC,OAAtB,CAA8B1U,QAA9B,MAA0C,EAAjN;AAAA,gBAAoNtB,CAAC,GAACxB,CAAC,CAACc,CAAC,CAACupD,YAAH,CAAD,EAAmBS,cAAnB,EAAmChoD,QAAnC,EAAtN;AAAA,gBAAoQsI,CAAC,GAACpL,CAAC,CAACc,CAAC,CAACwpD,WAAH,CAAvQ;AAAA,gBAAuRzoD,CAAC,GAACuJ,CAAC,EAAE2/C,aAAH,EAAkBjoD,QAAlB,EAAzR;AAAA,gBAAsTX,CAAC,GAACvC,CAAC,CAACc,CAAD,CAAD,IAAM;AAACupD,YAAAA,cAAc,EAAC;AAAhB,WAA9T;AAAkV,cAAG,EAAE3oD,CAAC,IAAEN,CAAH,IAAMQ,CAAN,IAASK,CAAX,CAAH,EAAiB;AAAS,gBAAME,CAAC,GAACI,CAAC,CAAC8nD,cAAF,CAAiB3oD,CAAjB,KAAqB;AAAC4oD,YAAAA,aAAa,EAAC;AAAf,WAA7B;AAAA,gBAAgDloD,CAAC,GAACD,CAAC,CAACmoD,aAAF,CAAgBlpD,CAAhB,KAAoB,EAAtE;;AAAyE,cAAGgB,CAAC,CAACd,CAAD,CAAD,GAAKc,CAAC,CAACd,CAAD,CAAD,IAAM,EAAX,EAAcN,CAAjB,EAAmB;AAACoB,YAAAA,CAAC,CAACtB,CAAD,CAAD,GAAKsB,CAAC,CAACtB,CAAD,CAAD,IAAM,EAAX;AAAc,kBAAMd,CAAC,GAAE,iBAAgB0B,CAAE,oBAAmBN,CAAE,GAAhD;AAAmD,oCAAsBoK,CAAC,EAAE4/C,kBAAzB,GAA4ChpD,CAAC,CAACtB,CAAD,CAAD,CAAKuqD,SAAL,GAAejpD,CAAC,CAACtB,CAAD,CAAD,EAAMuqD,SAAN,GAAiB,GAAEjpD,CAAC,CAACtB,CAAD,CAAD,CAAKuqD,SAAU,EAAlC,GAAqC,GAAErrD,CAAE,EAApG,GAAsGoC,CAAC,CAACtB,CAAD,CAAD,CAAKwqD,SAAL,GAAelpD,CAAC,CAACtB,CAAD,CAAD,CAAKwqD,SAAL,GAAgB,GAAElpD,CAAC,CAACtB,CAAD,CAAD,CAAKwqD,SAAU,EAAjC,GAAoC,GAAEtrD,CAAE,EAA7J;AAA+J;;AAAA,gBAAM+I,CAAC,GAAE,iBAAgBnH,CAAE,oBAAmBK,CAAE,GAAhD;AAAmD,kCAAsBuJ,CAAC,EAAE4/C,kBAAzB,GAA4ChpD,CAAC,CAACd,CAAD,CAAD,CAAK+pD,SAAL,GAAejpD,CAAC,CAACd,CAAD,CAAD,EAAM+pD,SAAN,GAAiB,GAAEjpD,CAAC,CAACd,CAAD,CAAD,CAAK+pD,SAAU,OAAMtiD,CAAE,EAA1C,GAA6C,GAAEA,CAAE,EAA5G,GAA8G3G,CAAC,CAACd,CAAD,CAAD,CAAKgqD,SAAL,GAAelpD,CAAC,CAACd,CAAD,CAAD,EAAMgqD,SAAN,GAAiB,GAAElpD,CAAC,CAACd,CAAD,CAAD,CAAKgqD,SAAU,OAAMviD,CAAE,EAA1C,GAA6C,GAAEA,CAAE,EAA9K,EAAgL5G,CAAC,CAACmoD,aAAF,CAAgBlpD,CAAhB,IAAmBgB,CAAnM,EAAqMG,CAAC,CAAC8nD,cAAF,CAAiB3oD,CAAjB,IAAoBS,CAAzN,EAA2NnC,CAAC,CAACc,CAAD,CAAD,GAAKyB,CAAhO;AAAkO;AAAC;;AAAA,YAAI,CAAC6nD,SAAL,GAAepqD,CAAf;AAAliE;AAAmjE;;AAAnnF,CAAzB;AAA8oFA,uDAAC,CAAC,CAACC,sFAAC,CAAC;AAACm2C,EAAAA,aAAa,EAAC,CAAC;AAAhB,CAAD,CAAF,CAAD,EAAyB91C,CAAC,CAAC6H,SAA3B,EAAqC,OAArC,EAA6C,KAAK,CAAlD,CAAD,EAAsDnI,uDAAC,CAAC,CAACC,sFAAC,CAAC;AAACm2C,EAAAA,aAAa,EAAC,CAAC;AAAhB,CAAD,CAAF,CAAD,EAAyB91C,CAAC,CAAC6H,SAA3B,EAAqC,OAArC,EAA6C,KAAK,CAAlD,CAAvD,EAA4GnI,uDAAC,CAAC,CAACC,sFAAC,EAAF,CAAD,EAAOK,CAAC,CAAC6H,SAAT,EAAmB,WAAnB,EAA+B,KAAK,CAApC,CAA7G,EAAoJnI,uDAAC,CAAC,CAACC,sFAAC,EAAF,CAAD,EAAOK,CAAC,CAAC6H,SAAT,EAAmB,kBAAnB,EAAsC,KAAK,CAA3C,CAArJ,EAAmMnI,uDAAC,CAAC,CAACC,sFAAC,CAAC;AAACm2C,EAAAA,aAAa,EAAC,CAAC;AAAhB,CAAD,CAAF,CAAD,EAAyB91C,CAAC,CAAC6H,SAA3B,EAAqC,SAArC,EAA+C,KAAK,CAApD,CAApM,EAA2P7H,CAAC,GAACN,uDAAC,CAAC,CAACU,sFAAC,CAAC,0BAAD,CAAF,CAAD,EAAiCJ,CAAjC,CAA9P;AAAkS,MAAMU,CAAC,GAACV,CAAR;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACJz2G;AACA;AACA;AACA;AACA;AAA2C;AAA6B;AAA0E;AAAuB;AAA0B;AAA6B;AAA0E;AAAyC;AAAoE;AAA4B;AAA+B;AAAoD;AAAgD;AAAkD;AAAyC;AAA2E;AAAwC,IAAIsB,CAAC,GAAC,cAAclB,oDAAd,CAAe;AAAC+B,EAAAA,WAAW,CAACzC,CAAD,EAAG;AAAC,UAAMA,CAAN,GAAS,KAAKwrD,8BAAL,GAAoC,EAA7C,EAAgD,KAAKjoD,IAAL,GAAU,SAA1D,EAAoE,KAAKkoD,aAAL,GAAmB,IAAI94C,GAAJ,EAAvF;AAA+F;;AAAkC,MAA9B+4C,8BAA8B,GAAE;AAAC,WAAO,KAAK5E,WAAL,EAAkB4E,8BAAlB,IAAkD,IAAzD;AAA8D;;AAAuB,MAAnB/D,mBAAmB,GAAE;AAAC,WAAO,IAAInmD,wEAAJ,CAAM;AAACmqD,MAAAA,YAAY,EAAC,KAAKza,UAAL,EAAiB0a,YAAjB,CAA8BD,YAA5C;AAAyDE,MAAAA,aAAa,EAAC,KAAK3a,UAAL,GAAiB,GAAE,KAAKgW,iBAAkB,IAAG,KAAKhW,UAAL,EAAiB0a,YAAjB,CAA8BD,YAAa,EAAxF,GAA0F,IAAjK;AAAsKG,MAAAA,kBAAkB,EAAC,KAAK5a,UAAL,EAAiB0a,YAAjB,CAA8BE,kBAAvN;AAA0OC,MAAAA,mBAAmB,EAAC,KAAK7a,UAAL,GAAiB,GAAE,KAAKgW,iBAAkB,IAAG,KAAKhW,UAAL,EAAiB0a,YAAjB,CAA8BE,kBAAmB,EAA9F,GAAgG,IAA9V;AAAmWE,MAAAA,iBAAiB,EAAC,KAAK9a,UAAL,EAAiB0a,YAAjB,CAA8BI,iBAAnZ;AAAqaC,MAAAA,kBAAkB,EAAC,KAAK/a,UAAL,GAAiB,GAAE,KAAKgW,iBAAkB,IAAG,KAAKhW,UAAL,EAAiB0a,YAAjB,CAA8BI,iBAAkB,EAA7F,GAA+F,IAAvhB;AAA4hBE,MAAAA,mBAAmB,EAAC,KAAKhb,UAAL,EAAiB0a,YAAjB,CAA8BM,mBAA9kB;AAAkmBC,MAAAA,oBAAoB,EAAC,KAAKjb,UAAL,GAAiB,GAAE,KAAKgW,iBAAkB,IAAG,KAAKhW,UAAL,EAAiB0a,YAAjB,CAA8BM,mBAAoB,EAA/F,GAAiG;AAAxtB,KAAN,CAAP;AAA4uB;;AAA0B,MAAtBE,sBAAsB,GAAE;AAAC,WAAO,KAAKtF,WAAL,EAAkBsF,sBAAlB,CAAyC7mD,GAAzC,CAA8CvF,CAAC,IAAEkB,mFAAA,CAAWlB,CAAX,CAAjD,KAAkE,EAAzE;AAA4E;;AAAsB,MAAlBqsD,kBAAkB,GAAE;AAAC,WAAO,KAAKvF,WAAL,EAAkBiB,cAAlB,CAAiCxiD,GAAjC,CAAsCvF,CAAC,IAAEA,CAAC,CAACssD,iBAA3C,KAAgE,EAAvE;AAA0E;;AAAqB,MAAjBC,iBAAiB,GAAE;AAAC,UAAMvsD,CAAC,GAAC,IAAI4M,GAAJ,EAAR;AAAgB,WAAO,KAAKk6C,WAAL,EAAkBiB,cAAlB,EAAkCxiD,GAAlC,CAAuCrF,CAAC,IAAE;AAACA,MAAAA,CAAC,CAACwpD,WAAF,CAAcnkD,GAAd,CAAmBrF,CAAC,IAAE;AAACF,QAAAA,CAAC,CAAC6hC,GAAF,CAAM3hC,CAAC,CAAC0X,OAAR;AAAiB,OAAxC,GAA2C1X,CAAC,CAACypD,eAAF,CAAkBpkD,GAAlB,CAAuBrF,CAAC,IAAE;AAACF,QAAAA,CAAC,CAAC6hC,GAAF,CAAM3hC,CAAC,CAAC0X,OAAR;AAAiB,OAA5C,CAA3C;AAA0F,KAArI,GAAwI5X,CAA/I;AAAiJ;;AAAMkF,EAAAA,IAAI,CAAClF,CAAD,EAAG;AAAA;AAAA;;AAAA;AAAC,aAAO,KAAI,CAACmF,mBAAL,CAAyB,iCAAWnF,CAAX,CAAzB,GAAwC,KAAI,CAACmF,mBAAL,CAAyB,KAAI,CAACqnD,wCAAL,CAA8CxsD,CAA9C,CAAzB,CAAxC,EAAmH,KAA1H;AAAD;AAAgI;;AAAAysD,EAAAA,wBAAwB,CAACzsD,CAAD,EAAG;AAAC,QAAIE,CAAC,GAAC,IAAN;AAAA,QAAWD,CAAC,GAAC,IAAb;AAAkB,UAAMO,CAAC,GAACR,CAAC,CAACwJ,KAAV;AAAgB,QAAIpJ,CAAC,GAAC,IAAN;;AAAW,QAAG,cAAYI,CAAC,EAAE+C,IAAlB,EAAuB;AAAC,UAAGnD,CAAC,GAACI,CAAC,CAACoX,OAAJ,EAAY,SAAOxX,CAAtB,EAAwB,OAAO,IAAP;AAAY,KAA5D,MAAgE;AAAC,UAAG,uBAAqBI,CAAC,EAAE+C,IAA3B,EAAgC,OAAO,IAAP;AAAY,UAAGnD,CAAC,GAACI,CAAC,EAAE6C,MAAH,EAAWuU,OAAX,IAAoB,IAAtB,EAA2B,SAAOxX,CAArC,EAAuC,OAAO,IAAP;AAAY;;AAAA,UAAME,CAAC,GAACN,CAAC,CAACuxC,UAAV;AAAqB,QAAG,QAAMjxC,CAAT,EAAW,OAAO,IAAP;;AAAY,SAAI,MAAMO,CAAV,IAAewZ,MAAM,CAACkF,IAAP,CAAYjf,CAAZ,CAAf,EAA8B,iBAAeO,CAAC,CAACi9B,WAAF,EAAf,KAAiC59B,CAAC,GAACF,CAAC,CAACk8C,YAAF,CAAer7C,CAAf,CAAnC,GAAsD,gBAAcA,CAAC,CAACi9B,WAAF,EAAd,KAAgC79B,CAAC,GAACD,CAAC,CAACk8C,YAAF,CAAer7C,CAAf,CAAlC,CAAtD;;AAA2G,QAAG,CAAC,KAAKimD,WAAT,EAAqB,OAAO,IAAP;AAAY,QAAIpmD,CAAC,GAAC,IAAN;AAAW,UAAMC,CAAC,GAAC,KAAKmmD,WAAL,CAAiBiB,cAAzB;;AAAwC,SAAI,MAAMlnD,CAAV,IAAeF,CAAf,EAAiB;AAAC,YAAMX,CAAC,GAACa,CAAC,CAAC8oD,eAAF,EAAmBj6C,IAAnB,CAAyB1P,CAAC,IAAEA,CAAC,CAAC4X,OAAF,KAAYxX,CAAxC,CAAR;;AAAoD,UAAGJ,CAAH,EAAK;AAAC,cAAMQ,CAAC,GAACR,CAAC,CAAC0sD,WAAF,EAAeh9C,IAAf,CAAqB1P,CAAC,IAAEA,CAAC,CAACkrD,cAAF,KAAmBhrD,CAA3C,CAAR;;AAAuD,YAAGM,CAAH,EAAK;AAAC,gBAAMR,CAAC,GAACQ,CAAC,CAACmsD,UAAF,EAAcj9C,IAAd,CAAoB1P,CAAC,IAAEA,CAAC,CAACmrD,aAAF,KAAkBlrD,CAAzC,CAAR;;AAAqD,cAAGD,CAAH,EAAK;AAACU,YAAAA,CAAC,GAACV,CAAC,CAAC4sD,uBAAJ;AAA4B;AAAM;AAAC;AAAC;AAAC;;AAAA,QAAG,QAAMlsD,CAAT,EAAW;AAAC,YAAMV,CAAC,GAAC,KAAK8mD,WAAL,CAAiBsF,sBAAzB;AAAA,YAAgDlsD,CAAC,GAACF,CAAC,EAAE0P,IAAH,CAAS1P,CAAC,IAAEA,CAAC,CAAC4sD,uBAAF,KAA4BlsD,CAAxC,CAAlD;AAA8F,aAAOR,CAAC,GAACgB,mFAAA,CAAWhB,CAAX,CAAD,GAAe,IAAvB;AAA4B;;AAAA,WAAO,IAAP;AAAY;;AAAA2sD,EAAAA,YAAY,CAAC7sD,CAAD,EAAG;AAAC,UAAME,CAAC,GAAC,KAAK4mD,WAAL,EAAkBiB,cAAlB,CAAiCr4C,IAAjC,CAAuCxP,CAAC,IAAEA,CAAC,CAACosD,iBAAF,KAAsBtsD,CAAhE,CAAR;AAA4E,WAAOE,CAAC,EAAE4sD,KAAH,CAASvnD,GAAT,CAAcvF,CAAC,IAAEA,CAAC,CAACoa,IAAnB,KAA2B,EAAlC;AAAqC;;AAAM2yC,EAAAA,aAAa,GAAE;AAAA;;AAAA;AAAC,aAAO,MAAI,CAACC,iBAAL,KAAyB,MAAI,CAACA,iBAAL,GAAuB,MAAI,CAACC,iBAAL,EAAhD,SAAgF,MAAI,CAACD,iBAA5F;AAAD;AAA+G;;AAAAE,EAAAA,eAAe,CAACltD,CAAD,EAAG;AAAC,QAAG,CAAC,KAAK8mD,WAAN,IAAmB,QAAM9mD,CAA5B,EAA8B,OAAO,IAAP;;AAAY,UAAME,CAAC,GAAC,KAAKurD,aAAL,CAAmB3xC,GAAnB,CAAuB9Z,CAAvB,CAAR;;AAAkC,WAAO,QAAME,CAAN,GAAQA,CAAR,IAAW,KAAKksD,sBAAL,CAA4BznD,OAA5B,CAAqC3E,CAAC,IAAE;AAACA,MAAAA,CAAC,CAACmtD,SAAF,CAAYxoD,OAAZ,CAAqB3E,CAAC,IAAE;AAAC,aAAKyrD,aAAL,CAAmB/lD,GAAnB,CAAuB1F,CAAC,CAAC0C,EAAzB,EAA4B1C,CAA5B;AAA+B,OAAxD;AAA2D,KAApG,GAAuG,KAAKyrD,aAAL,CAAmB3xC,GAAnB,CAAuB9Z,CAAvB,CAAlH,CAAP;AAAoJ;;AAAAotD,EAAAA,cAAc,CAACptD,CAAD,EAAG;AAAC,WAAM,aAAYA,CAAZ,IAAgB,KAAKusD,iBAAL,CAAuBl9C,GAAvB,CAA2BrP,CAAC,CAAC4X,OAA7B,MAAwC5X,CAAC,CAAC6F,GAAF,EAAOyK,UAAP,CAAkB,KAAK42C,iBAAvB,KAA2C,CAAC,CAApF,CAAtB;AAA8G;;AAAMmG,EAAAA,iBAAiB,CAACrtD,CAAD,EAAG;AAAA;;AAAA;AAAC,YAAK,CAAC;AAACqtD,QAAAA,iBAAiB,EAACntD;AAAnB,OAAD,EAAuB;AAACsI,QAAAA,OAAO,EAACvI;AAAT,OAAvB,UAA0CoF,OAAO,CAACc,GAAR,CAAY,CAAC,2MAAD,EAAiD,gPAAjD,CAAZ,CAA/C;AAAA,YAAgL3F,CAAC,GAACP,CAAC,CAACuf,IAAF,CAAOxf,CAAP,CAAlL;AAA4LQ,MAAAA,CAAC,CAACo6C,UAAF,GAAa,MAAI,CAACA,UAAlB,EAA6Bp6C,CAAC,CAAC4mD,MAAF,GAAS,MAAI,CAACzM,cAA3C;AAA0D,aAAM,OAAOz6C,CAAC,CAAC,MAAI,CAACunD,iBAAN,EAAwBjnD,CAAxB,CAAR,EAAoC8sD,YAA1C;AAAvP;AAA8S;;AAAMC,EAAAA,+BAA+B,CAACvtD,CAAD,EAAG;AAAA;;AAAA;AAAC,YAAK,CAAC;AAACutD,QAAAA,+BAA+B,EAACrtD;AAAjC,OAAD,EAAqC;AAACsI,QAAAA,OAAO,EAACvI;AAAT,OAArC,UAAwDoF,OAAO,CAACc,GAAR,CAAY,CAAC,wOAAD,EAA+D,4QAA/D,CAAZ,CAA7D;AAAA,YAA0N3F,CAAC,GAACP,CAAC,CAACuf,IAAF,CAAOxf,CAAP,CAA5N;AAAsO,aAAOQ,CAAC,CAACo6C,UAAF,GAAa,MAAI,CAACA,UAAlB,EAA6Bp6C,CAAC,CAAC4mD,MAAF,GAAS,MAAI,CAACzM,cAA3C,EAA0Dz6C,CAAC,CAAC,MAAI,CAACunD,iBAAN,EAAwBjnD,CAAxB,CAAlE;AAAvO;AAAoU;;AAAMgtD,EAAAA,KAAK,CAACxtD,CAAD,EAAG;AAAA;;AAAA;AAAC,YAAK,CAAC;AAACwtD,QAAAA,KAAK,EAACttD;AAAP,OAAD,EAAW;AAACsI,QAAAA,OAAO,EAACvI;AAAT,OAAX,UAA8BoF,OAAO,CAACc,GAAR,CAAY,CAAC,oLAAD,EAAqC,wNAArC,CAAZ,CAAnC;AAAA,YAA4I3F,CAAC,GAACP,CAAC,CAACuf,IAAF,CAAOxf,CAAP,CAA9I;AAAwJ,aAAOQ,CAAC,CAACo6C,UAAF,GAAa,MAAI,CAACA,UAAlB,EAA6Bp6C,CAAC,CAAC4mD,MAAF,GAAS,MAAI,CAACzM,cAA3C,EAA0Dz6C,CAAC,CAAC,MAAI,CAACunD,iBAAN,EAAwBjnD,CAAxB,CAAlE;AAAzJ;AAAsP;;AAAMitD,EAAAA,cAAc,CAACztD,CAAD,EAAG;AAAA;;AAAA;AAAC,YAAK,CAAC;AAACytD,QAAAA,cAAc,EAACvtD;AAAhB,OAAD,EAAoB;AAACsI,QAAAA,OAAO,EAACvI;AAAT,OAApB,UAAuCoF,OAAO,CAACc,GAAR,CAAY,CAAC,oLAAD,EAAqC,wNAArC,CAAZ,CAA5C;AAAA,YAAqJ3F,CAAC,GAACP,CAAC,CAACuf,IAAF,CAAOxf,CAAP,CAAvJ;AAAiKQ,MAAAA,CAAC,CAACo6C,UAAF,GAAa,MAAI,CAACA,UAAlB,EAA6Bp6C,CAAC,CAAC4mD,MAAF,GAAS,MAAI,CAACzM,cAA3C;AAA0D,YAAMv6C,CAAC,SAAOF,CAAC,CAAC,MAAI,CAACunD,iBAAN,EAAwBjnD,CAAxB,CAAf;AAA0C,aAAO,IAAIkB,iEAAJ,CAAM;AAAC8nD,QAAAA,SAAS,EAACppD;AAAX,OAAN,CAAP;AAAtQ;AAAkS;;AAAMstD,EAAAA,iBAAiB,CAAC1tD,CAAD,EAAG;AAAA;;AAAA;AAAC,YAAME,CAAC,SAAO,MAAI,CAAC6sD,aAAL,EAAd;AAAmC,UAAG,CAAC7sD,CAAJ,EAAM,OAAM,CAAC,CAAP;AAAS,YAAMA,CAAC,CAACgF,IAAF,EAAN;;AAAe,YAAMjF,CAAC,GAAC,CAACD,CAAD,EAAGE,CAAH,KAAOF,CAAC,GAAC,MAAIA,CAAC,CAAC2tD,UAAN,GAAiB,CAACztD,CAAC,EAAEytD,UAAJ,IAAgBztD,CAAC,EAAEytD,UAAH,KAAgB3tD,CAAC,CAAC2tD,UAAnD,GAA8D3tD,CAAC,CAAC2tD,UAAF,KAAeztD,CAAC,EAAEytD,UAAjF,GAA4F,CAACztD,CAAC,EAAEytD,UAAhH;AAAA,YAA2HntD,CAAC,GAAC,CAACR,CAAD,EAAGE,CAAH,KAAOF,CAAC,CAAC4tD,iBAAF,EAAqBC,QAArB,KAAgC3tD,CAAC,CAAC4tD,kBAAF,EAAsB3F,eAAtD,IAAuEnoD,CAAC,CAAC+tD,eAAF,EAAmBF,QAAnB,KAA8B3tD,CAAC,CAAC8tD,gBAAF,EAAoB7F,eAAzH,IAA0InoD,CAAC,CAACiuD,cAAF,EAAkB/C,cAAlB,KAAmChrD,CAAC,CAAC4tD,kBAAF,EAAsB5C,cAAnM,IAAmNlrD,CAAC,CAACkuD,aAAF,EAAiB/C,aAAjB,KAAiCjrD,CAAC,CAAC4tD,kBAAF,EAAsB3C,aAA1Q,IAAyRnrD,CAAC,CAACmuD,YAAF,EAAgBjD,cAAhB,KAAiChrD,CAAC,CAAC8tD,gBAAF,EAAoB9C,cAA9U,IAA8VlrD,CAAC,CAACouD,WAAF,EAAejD,aAAf,KAA+BjrD,CAAC,CAAC8tD,gBAAF,EAAoB7C,aAAjZ,IAAgalrD,CAAC,CAACD,CAAC,CAACquD,YAAH,EAAgBnuD,CAAC,CAAC4tD,kBAAlB,CAAja,IAAwc7tD,CAAC,CAACD,CAAC,CAACsuD,UAAH,EAAcpuD,CAAC,CAAC8tD,gBAAhB,CAA7kB;;AAA+mB,UAAG,kBAAgBhuD,CAAC,CAACuuD,eAArB,EAAqC;AAAC,eAAOruD,CAAC,CAAC4pD,gBAAF,CAAmBE,WAAnB,CAA+BxyC,IAA/B,CAAqCtX,CAAC,IAAEM,CAAC,CAACN,CAAD,EAAGF,CAAH,CAAzC,CAAP;AAAwD;;AAAA,UAAG,iBAAeA,CAAC,CAACuuD,eAApB,EAAoC;AAAC,eAAOruD,CAAC,CAAC4pD,gBAAF,CAAmBC,UAAnB,CAA8BvyC,IAA9B,CAAoCtX,CAAC,IAAEM,CAAC,CAACN,CAAD,EAAGF,CAAH,CAAxC,CAAP;AAAuD;;AAAA,aAAOE,CAAC,CAAC4pD,gBAAF,CAAmBG,YAAnB,CAAgCzyC,IAAhC,CAAsCtX,CAAC,IAAEA,CAAC,CAACsuD,gBAAF,GAAmBtuD,CAAC,CAAC0tD,iBAAF,EAAqBC,QAArB,KAAgC7tD,CAAC,CAAC8tD,kBAAF,EAAsB3F,eAAtD,IAAuEjoD,CAAC,CAACsuD,gBAAF,EAAoBX,QAApB,KAA+B7tD,CAAC,CAACguD,gBAAF,EAAoB7F,eAA1H,IAA2IjoD,CAAC,CAAC+tD,cAAF,EAAkB/C,cAAlB,KAAmClrD,CAAC,CAAC8tD,kBAAF,EAAsB5C,cAApM,IAAoNhrD,CAAC,CAACguD,aAAF,EAAiB/C,aAAjB,KAAiCnrD,CAAC,CAAC8tD,kBAAF,EAAsB3C,aAA3Q,IAA0RjrD,CAAC,CAACuuD,aAAF,EAAiBvD,cAAjB,KAAkClrD,CAAC,CAACguD,gBAAF,EAAoB9C,cAAhV,IAAgWhrD,CAAC,CAACwuD,YAAF,EAAgBvD,aAAhB,KAAgCnrD,CAAC,CAACguD,gBAAF,EAAoB7C,aAApZ,IAAmalrD,CAAC,CAACC,CAAC,CAACmuD,YAAH,EAAgBruD,CAAC,CAAC8tD,kBAAlB,CAApa,IAA2c7tD,CAAC,CAACC,CAAC,CAACyuD,WAAH,EAAe3uD,CAAC,CAACguD,gBAAjB,CAA5c,IAAgf9tD,CAAC,CAACsuD,gBAAF,EAAoBX,QAApB,KAA+B7tD,CAAC,CAAC8tD,kBAAF,EAAsB3F,eAArD,IAAsEjoD,CAAC,CAAC6tD,eAAF,EAAmBF,QAAnB,KAA8B7tD,CAAC,CAACguD,gBAAF,EAAoB7F,eAAxH,IAAyIjoD,CAAC,CAACuuD,aAAF,EAAiBvD,cAAjB,KAAkClrD,CAAC,CAAC8tD,kBAAF,EAAsB5C,cAAjM,IAAiNhrD,CAAC,CAACwuD,YAAF,EAAgBvD,aAAhB,KAAgCnrD,CAAC,CAAC8tD,kBAAF,EAAsB3C,aAAvQ,IAAsRjrD,CAAC,CAACiuD,YAAF,EAAgBjD,cAAhB,KAAiClrD,CAAC,CAACguD,gBAAF,EAAoB9C,cAA3U,IAA2VhrD,CAAC,CAACkuD,WAAF,EAAejD,aAAf,KAA+BnrD,CAAC,CAACguD,gBAAF,EAAoB7C,aAA9Y,IAA6ZlrD,CAAC,CAACC,CAAC,CAACyuD,WAAH,EAAe3uD,CAAC,CAAC8tD,kBAAjB,CAA9Z,IAAoc7tD,CAAC,CAACC,CAAC,CAACouD,UAAH,EAActuD,CAAC,CAACguD,gBAAhB,CAAx8B,GAA0+BxtD,CAAC,CAACN,CAAD,EAAGF,CAAH,CAAphC,CAAP;AAA32B;AAA84D;;AAAA4uD,EAAAA,uBAAuB,CAAC5uD,CAAD,EAAG;AAAC,WAAM;AAAC0zC,MAAAA,WAAW,EAAC1zC,CAAC,CAACuF,GAAF,CAAOvF,CAAC,IAAE,IAAIE,mDAAJ,CAAM;AAACqxC,QAAAA,UAAU,EAAC;AAACsd,UAAAA,mBAAmB,EAAC7uD,CAAC,CAAC8tD,kBAAF,EAAsB3F,eAA3C;AAA2D2G,UAAAA,YAAY,EAAC9uD,CAAC,CAAC8tD,kBAAF,EAAsBvY,QAA9F;AAAuGwZ,UAAAA,cAAc,EAAC/uD,CAAC,CAAC8tD,kBAAF,EAAsBH,UAA5I;AAAuJqB,UAAAA,iBAAiB,EAAChvD,CAAC,CAACguD,gBAAF,EAAoB7F,eAA7L;AAA6M8G,UAAAA,UAAU,EAACjvD,CAAC,CAACguD,gBAAF,EAAoBzY,QAA5O;AAAqP2Z,UAAAA,YAAY,EAAClvD,CAAC,CAACguD,gBAAF,EAAoBL,UAAtR;AAAiSwB,UAAAA,eAAe,EAACnuD,uEAAC,CAAChB,CAAC,CAACuuD,eAAH,CAAlT;AAAsUa,UAAAA,gBAAgB,EAACpvD,CAAC,CAACqvD,gBAAF,GAAmB,CAAnB,GAAqB,CAA5W;AAA8WC,UAAAA,YAAY,EAACtvD,CAAC,CAACuvD,YAA7X;AAA0YC,UAAAA,QAAQ,EAACxvD,CAAC,CAACu1C;AAArZ;AAAZ,OAAN,CAAV,CAAb;AAA4c7yC,MAAAA,EAAE,EAAC,KAAKilD,mBAAL,CAAyBuE,mBAAxe;AAA4fuD,MAAAA,gBAAgB,EAAC;AAACtV,QAAAA,aAAa,EAAC,UAAf;AAA0B/O,QAAAA,aAAa,EAAC;AAAxC;AAA7gB,KAAN;AAAwkB;;AAAAskB,EAAAA,0BAA0B,CAAC1vD,CAAD,EAAG;AAAC,WAAM;AAAC8zC,MAAAA,cAAc,EAAC9zC,CAAC,CAACuF,GAAF,CAAOvF,CAAC,KAAG;AAACu1C,QAAAA,QAAQ,EAACv1C,CAAC,CAACu1C;AAAZ,OAAH,CAAR,CAAhB;AAAoD7yC,MAAAA,EAAE,EAAC,KAAKilD,mBAAL,CAAyBuE,mBAAhF;AAAoGuD,MAAAA,gBAAgB,EAAC;AAACtV,QAAAA,aAAa,EAAC,UAAf;AAA0B/O,QAAAA,aAAa,EAAC;AAAxC;AAArH,KAAN;AAAgL;;AAAMohB,EAAAA,wCAAwC,CAACxsD,CAAD,EAAG;AAAA;;AAAA;AAAC,UAAG,MAAI,MAAI,CAACwrD,8BAAL,EAAqC39C,MAA5C,EAAmD;;AAAO,YAAM3N,CAAC,GAAC,MAAI,CAACsrD,8BAAL,CAAoCjmD,GAApC,CAAyCvF,CAAC,IAAEA,CAAC,CAACu1C,QAA9C,CAAR;AAAA,YAAiEt1C,CAAC,SAAO,MAAI,CAACmoD,6BAAL,CAAmC;AAAC7N,QAAAA,SAAS,EAACr6C;AAAX,OAAnC,EAAiDF,CAAjD,CAAzE;;AAA6H,WAAI,MAAMQ,CAAV,IAAe,MAAI,CAACgrD,8BAApB,EAAmD;AAAC,cAAMxrD,CAAC,GAACC,CAAC,EAAEyP,IAAH,CAAS1P,CAAC,IAAEA,CAAC,CAACu1C,QAAF,KAAa/0C,CAAC,CAAC+0C,QAA3B,CAAR;;AAA8C,YAAGv1C,CAAH,EAAK;AAAC,gBAAME,CAAC,GAACF,CAAC,CAAC2F,KAAF,CAAQ,EAAR,EAAW;AAACC,YAAAA,MAAM,EAAC;AAAR,WAAX,CAAR;AAAuCpF,UAAAA,CAAC,CAACyD,IAAF,CAAO/D,CAAP,EAAS;AAAC0F,YAAAA,MAAM,EAAC;AAAR,WAAT;AAA6B;AAAC;AAArW;AAAsW;;AAAMqnD,EAAAA,iBAAiB,GAAE;AAAA;;AAAA;AAAC,YAAMjtD,CAAC,GAAC,MAAI,CAAC2nD,mBAAL,CAAyBkE,aAAjC;AAAA,YAA+C3rD,CAAC,GAAC,IAAIE,+DAAJ,CAAM;AAACyF,QAAAA,GAAG,EAAC7F;AAAL,OAAN,CAAjD;AAAgE,YAAME,CAAC,CAACgF,IAAF,EAAN;AAAe,YAAMjF,CAAC,GAAC,MAAI,CAAC6mD,WAAL,EAAkBiB,cAA1B;AAAyC,UAAG,CAAC9nD,CAAJ,EAAM,OAAO,IAAP;AAAY,YAAMO,CAAC,GAACP,CAAC,CAAC0vD,OAAF,CAAW3vD,CAAC,IAAE,CAAC,IAAGA,CAAC,CAAC0pD,WAAF,IAAe,EAAlB,CAAD,EAAsB,IAAG1pD,CAAC,CAAC2pD,eAAF,IAAmB,EAAtB,CAAtB,CAAd,CAAR;AAAA,YAAwErpD,CAAC,GAAC,OAAOyB,CAAC,CAAC7B,CAAD,CAAR,EAAaqF,GAAb,CAAkBvF,CAAC,IAAE,MAAI,CAAC4vD,gBAAL,CAAsB1vD,CAAtB,EAAwBM,CAAxB,EAA0BR,CAA1B,CAArB,CAA1E;AAA8H,aAAO,IAAIW,uDAAJ,CAAM;AAAC6I,QAAAA,KAAK,EAACtJ,CAAP;AAASyqD,QAAAA,KAAK,EAACrqD;AAAf,OAAN,CAAP;AAAzQ;AAAyS;;AAAAsvD,EAAAA,gBAAgB,CAAC5vD,CAAD,EAAGE,CAAH,EAAKD,CAAL,EAAO;AAAC,UAAMO,CAAC,GAACR,CAAC,CAAC8kB,WAAV;AAAA,UAAsB1kB,CAAC,GAACI,CAAC,CAACsZ,GAAF,CAAM,UAAN,CAAxB;AAAA,UAA0CxZ,CAAC,GAACE,CAAC,CAACsZ,GAAF,CAAM,cAAN,CAA5C;AAAA,UAAkEpZ,CAAC,GAACF,CAAC,CAACsZ,GAAF,CAAM,qBAAN,CAApE;AAAA,UAAiGnZ,CAAC,GAACH,CAAC,CAACsZ,GAAF,CAAM,gBAAN,CAAnG;AAAA,UAA2HjZ,CAAC,GAACL,CAAC,CAACsZ,GAAF,CAAM,eAAN,CAA7H;AAAA,UAAoJtY,CAAC,GAAChB,CAAC,CAACsZ,GAAF,CAAM,gBAAN,CAAtJ;AAAA,UAA8K5Y,CAAC,GAACV,CAAC,CAACsZ,GAAF,CAAM,mBAAN,CAAhL;AAAA,UAA2MpY,CAAC,GAAClB,CAAC,CAACsZ,GAAF,CAAM,cAAN,CAA7M;AAAA,UAAmO9Y,CAAC,GAACR,CAAC,CAACsZ,GAAF,CAAM,aAAN,CAArO;AAAA,UAA0P1Y,CAAC,GAACZ,CAAC,CAACsZ,GAAF,CAAM,cAAN,CAA5P;AAAA,UAAkRlY,CAAC,GAACpB,CAAC,CAACsZ,GAAF,CAAM,oBAAN,CAApR;AAAA,UAAgT/X,CAAC,GAACvB,CAAC,CAACsZ,GAAF,CAAM,eAAN,CAAlT;AAAA,UAAyUtO,CAAC,GAAChL,CAAC,CAACsZ,GAAF,CAAM,cAAN,CAA3U;AAAA,UAAiW3X,CAAC,GAAC3B,CAAC,CAACsZ,GAAF,CAAM,eAAN,CAAnW;AAAA,UAA0X7X,CAAC,GAAChC,CAAC,CAACsxC,UAAF,CAAanxC,CAAC,CAACga,IAAf,CAA5X;AAAA,UAAiZ9Y,CAAC,GAAC,IAAI0B,IAAJ,CAAS/C,CAAC,CAACsxC,UAAF,CAAajxC,CAAC,CAAC8Z,IAAf,CAAT,CAAnZ;AAAA,UAAkblO,CAAC,GAAC,CAAC;AAACi8C,MAAAA,eAAe,EAACloD,CAAC,CAACsxC,UAAF,CAAa7wC,CAAC,CAAC0Z,IAAf,CAAjB;AAAsCqwC,MAAAA,YAAY,EAACxqD,CAAC,CAACsxC,UAAF,CAAa5wC,CAAC,CAACyZ,IAAf,CAAnD;AAAwEswC,MAAAA,WAAW,EAACzqD,CAAC,CAACsxC,UAAF,CAAa1wC,CAAC,CAACuZ,IAAf,CAApF;AAAyGuzC,MAAAA,UAAU,EAAC1tD,CAAC,CAACsxC,UAAF,CAAa/vC,CAAC,CAAC4Y,IAAf;AAApH,KAAD,EAA2I;AAAC+tC,MAAAA,eAAe,EAACloD,CAAC,CAACsxC,UAAF,CAAarwC,CAAC,CAACkZ,IAAf,CAAjB;AAAsCqwC,MAAAA,YAAY,EAACxqD,CAAC,CAACsxC,UAAF,CAAa7vC,CAAC,CAAC0Y,IAAf,CAAnD;AAAwEswC,MAAAA,WAAW,EAACzqD,CAAC,CAACsxC,UAAF,CAAavwC,CAAC,CAACoZ,IAAf,CAApF;AAAyGuzC,MAAAA,UAAU,EAAC1tD,CAAC,CAACsxC,UAAF,CAAanwC,CAAC,CAACgZ,IAAf;AAApH,KAA3I,EAAqR;AAAC+tC,MAAAA,eAAe,EAACloD,CAAC,CAACsxC,UAAF,CAAa3vC,CAAC,CAACwY,IAAf,CAAjB;AAAsCqwC,MAAAA,YAAY,EAACxqD,CAAC,CAACsxC,UAAF,CAAaxvC,CAAC,CAACqY,IAAf,CAAnD;AAAwEswC,MAAAA,WAAW,EAACzqD,CAAC,CAACsxC,UAAF,CAAa/lC,CAAC,CAAC4O,IAAf,CAApF;AAAyGuzC,MAAAA,UAAU,EAAC1tD,CAAC,CAACsxC,UAAF,CAAapvC,CAAC,CAACiY,IAAf;AAApH,KAArR,CAApb;AAAo1B,QAAIvY,CAAJ;AAAM,KAAC,UAAS7B,CAAT,EAAW;AAACA,MAAAA,CAAC,CAACA,CAAC,CAACwf,IAAF,GAAO,CAAR,CAAD,GAAY,MAAZ,EAAmBxf,CAAC,CAACA,CAAC,CAACuqD,EAAF,GAAK,CAAN,CAAD,GAAU,IAA7B,EAAkCvqD,CAAC,CAACA,CAAC,CAACwqD,GAAF,GAAM,CAAP,CAAD,GAAW,KAA7C;AAAmD,KAA/D,CAAgE3oD,CAAC,KAAGA,CAAC,GAAC,EAAL,CAAjE,CAAD;AAA4E,UAAMuJ,CAAC,GAAC;AAACw/C,MAAAA,QAAQ,EAAC3oD,CAAV;AAAY4tD,MAAAA,YAAY,EAACvuD;AAAzB,KAAR;;AAAoC,SAAI,MAAMc,CAAV,IAAc,CAACP,CAAC,CAAC2d,IAAH,EAAQ3d,CAAC,CAAC0oD,EAAV,EAAa1oD,CAAC,CAAC2oD,GAAf,CAAd,EAAkC;AAAC,UAAGvoD,CAAC,KAAGnB,2FAAJ,IAAsCsB,CAAC,KAAGP,CAAC,CAAC2oD,GAA/C,EAAmD;;AAAS,YAAMxqD,CAAC,GAACkM,CAAC,CAAC9J,CAAD,CAAT;AAAA,YAAanC,CAAC,GAACC,CAAC,CAACwP,IAAF,CAAQxP,CAAC,IAAEA,CAAC,CAAC2tD,QAAF,KAAa7tD,CAAC,CAACmoD,eAA1B,CAAf;AAAA,YAA2D3nD,CAAC,GAACP,CAAC,EAAEysD,WAAH,CAAeh9C,IAAf,CAAqBxP,CAAC,IAAEA,CAAC,CAACgrD,cAAF,KAAmBlrD,CAAC,CAACyqD,YAA7C,CAA7D;AAAA,YAAyHrqD,CAAC,GAACI,CAAC,EAAEmsD,UAAH,CAAcj9C,IAAd,CAAoBxP,CAAC,IAAEA,CAAC,CAACirD,aAAF,KAAkBnrD,CAAC,CAAC0qD,WAA3C,CAA3H;AAAA,YAAoLpqD,CAAC,GAAC,KAAKwvD,YAAL,CAAkB1vD,CAAlB,EAAoBJ,CAApB,CAAtL;;AAA6M,UAAIU,CAAC,GAAC,EAAN;;AAAS,cAAO0B,CAAP;AAAU,aAAKP,CAAC,CAAC2d,IAAP;AAAY9e,UAAAA,CAAC,GAAC,MAAF;AAAS;;AAAM,aAAKmB,CAAC,CAAC0oD,EAAP;AAAU7pD,UAAAA,CAAC,GAAC,IAAF;AAAO;;AAAM,aAAKmB,CAAC,CAAC2oD,GAAP;AAAW9pD,UAAAA,CAAC,GAAC,KAAF;AAAvE;;AAA+E0K,MAAAA,CAAC,CAAE,GAAE1K,CAAE,eAAN,CAAD,GAAuBT,CAAvB,EAAyBmL,CAAC,CAAE,GAAE1K,CAAE,YAAN,CAAD,GAAoBF,CAA7C,EAA+C4K,CAAC,CAAE,GAAE1K,CAAE,WAAN,CAAD,GAAmBN,CAAlE,EAAoEgL,CAAC,CAAE,GAAE1K,CAAE,UAAN,CAAD,GAAkBJ,CAAC,EAAEiK,MAAH,EAAtF;AAAkG;;AAAA,WAAOa,CAAP;AAAS;;AAAA0kD,EAAAA,YAAY,CAAC9vD,CAAD,EAAGE,CAAH,EAAK;AAAC,UAAMD,CAAC,GAACD,CAAC,EAAE4sD,uBAAX;AAAA,UAAmCpsD,CAAC,GAAC,KAAK4rD,sBAAL,EAA6B18C,IAA7B,CAAmC1P,CAAC,IAAEA,CAAC,CAAC0C,EAAF,KAAOzC,CAA7C,CAArC;AAAsF,WAAOO,CAAC,EAAE2sD,SAAH,EAAcz9C,IAAd,CAAoB1P,CAAC,IAAEA,CAAC,CAAC0C,EAAF,KAAOxC,CAAC,CAACytD,UAAhC,KAA8C,IAArD;AAA0D;;AAAruS,CAArB;;SAA2wS5rD;;;;;yMAAf,WAAiB/B,CAAjB,EAAmB;AAAC,UAAME,CAAC,GAAC,IAAIkB,+DAAJ,CAAM;AAACmuC,MAAAA,KAAK,EAAC,KAAP;AAAaliC,MAAAA,SAAS,EAAC,CAAC,GAAD;AAAvB,KAAN,CAAR;AAA6C,WAAM,OAAO/M,gFAAC,CAACN,CAAD,EAAGE,CAAH,CAAR,EAAequC,QAArB;AAA8B;;;;AAAAvuC,uDAAC,CAAC,CAACC,sFAAC,CAAC;AAACsD,EAAAA,IAAI,EAAC,CAAC1C,4EAAD,CAAN;AAAUkH,EAAAA,IAAI,EAAC;AAACG,IAAAA,OAAO,EAAC;AAAC,iBAAU;AAACjE,QAAAA,IAAI,EAAC;AAACoG,UAAAA,MAAM,EAAC;AAAR,SAAN;AAAqC1E,QAAAA,KAAK,EAAC;AAACsC,UAAAA,MAAM,EAAC;AAAR;AAA3C,OAAX;AAAsFupC,MAAAA,OAAO,EAAC;AAACvtC,QAAAA,IAAI,EAAC;AAACoG,UAAAA,MAAM,EAAC;AAAR;AAAN;AAA9F,KAAT;AAA8IpG,IAAAA,IAAI,EAAC,CAAC;AAApJ;AAAf,CAAD,CAAF,CAAD,EAA6KrC,CAAC,CAACuG,SAA/K,EAAyL,gCAAzL,EAA0N,KAAK,CAA/N,CAAD,EAAmOnI,uDAAC,CAAC,CAACC,sFAAC,CAAC;AAACsD,EAAAA,IAAI,EAAC,CAAC,SAAD,CAAN;AAAkB8E,EAAAA,QAAQ,EAAC,CAAC,CAA5B;AAA8BN,EAAAA,IAAI,EAAC;AAAC9D,IAAAA,IAAI,EAAC,CAAC,CAAP;AAAS0B,IAAAA,KAAK,EAAC,CAAC;AAAhB;AAAnC,CAAD,CAAF,CAAD,EAA6D/D,CAAC,CAACuG,SAA/D,EAAyE,MAAzE,EAAgF,KAAK,CAArF,CAApO,EAA4TnI,uDAAC,CAAC,CAACC,sFAAC,CAAC;AAACoI,EAAAA,QAAQ,EAAC,CAAC;AAAX,CAAD,CAAF,CAAD,EAAoBzG,CAAC,CAACuG,SAAtB,EAAgC,gCAAhC,EAAiE,IAAjE,CAA7T,EAAoYnI,uDAAC,CAAC,CAACC,sFAAC,CAAC;AAACoI,EAAAA,QAAQ,EAAC,CAAC;AAAX,CAAD,CAAF,CAAD,EAAoBzG,CAAC,CAACuG,SAAtB,EAAgC,qBAAhC,EAAsD,IAAtD,CAArY,EAAicnI,uDAAC,CAAC,CAACC,sFAAC,CAAC;AAACoI,EAAAA,QAAQ,EAAC,CAAC;AAAX,CAAD,CAAF,CAAD,EAAoBzG,CAAC,CAACuG,SAAtB,EAAgC,wBAAhC,EAAyD,IAAzD,CAAlc,EAAigBnI,uDAAC,CAAC,CAACC,sFAAC,CAAC;AAACoI,EAAAA,QAAQ,EAAC,CAAC;AAAX,CAAD,CAAF,CAAD,EAAoBzG,CAAC,CAACuG,SAAtB,EAAgC,oBAAhC,EAAqD,IAArD,CAAlgB,EAA6jBvG,CAAC,GAAC5B,uDAAC,CAAC,CAACQ,sFAAC,CAAC,8BAAD,CAAF,CAAD,EAAqCoB,CAArC,CAAhkB;AAAwmB,MAAM4J,CAAC,GAAC5J,CAAR;;;;;;;;;;;;;;;;;;;;;;;;;;;ACJvsV;AACA;AACA;AACA;AAC0jB,oBAAoB,mFAAC,CAAC,eAAe,yNAAyN,4BAA4B,2BAA2B,0EAAU,IAAI,uEAAU,MAAM,uDAAC,EAAE,sFAAC,EAAE,iCAAiC,SAAS,WAAW,MAAM,YAAY,QAAQ,2BAA2B,UAAU,MAAM,kBAAkB,QAAQ,kCAAkC,UAAU,kCAAkC,uDAAC,EAAE,sFAAC,EAAE,iCAAiC,SAAS,WAAW,MAAM,eAAe,QAAQ,8BAA8B,UAAU,MAAM,cAAc,QAAQ,8BAA8B,UAAU,+BAA+B,uDAAC,EAAE,sFAAC,EAAE,KAAK,8DAAC,OAAO,SAAS,SAAS,kBAAkB,UAAU,4CAA4C,uDAAC,EAAE,kFAAC,6EAA6E,uDAAC,EAAE,sFAAC,EAAE,gBAAgB,SAAS,SAAS,kBAAkB,UAAU,sCAAsC,uDAAC,EAAE,sFAAC,EAAE,kBAAkB,SAAS,SAAS,kBAAkB,UAAU,iCAAiC,uDAAC,EAAE,sFAAC,EAAE,kBAAkB,SAAS,SAAS,kBAAkB,UAAU,qCAAqC,uDAAC,EAAE,sFAAC,EAAE,iCAAiC,SAAS,SAAS,MAAM,8BAA8B,QAAQ,gCAAgC,UAAU,2CAA2C,uDAAC,EAAE,sFAAC,EAAE,MAAM,SAAS,SAAS,kBAAkB,UAAU,qCAAqC,uDAAC,EAAE,sFAAC,EAAE,oBAAoB,SAAS,SAAS,kBAAkB,UAAU,8BAA8B,uDAAC,EAAE,sFAAC,EAAE,KAAK,uEAAW,OAAO,KAAK,wEAAY,UAAU,SAAS,KAAK,kEAAM,OAAO,mEAAO,EAAE,UAAU,qCAAqC,uDAAC,EAAE,sFAAC,sDAAsD,UAA+B;;;;;;;;;;;;;;;;;;;;;;;ACJr7E;AACA;AACA;AACA;AACqU,oBAAoB,yDAAC,CAAC,eAAe,2OAA2O,uDAAC,EAAE,sFAAC,EAAE,iBAAiB,sCAAsC,uDAAC,EAAE,sFAAC,EAAE,iBAAiB,uCAAuC,uDAAC,EAAE,sFAAC,EAAE,iBAAiB,4CAA4C,uDAAC,EAAE,sFAAC,EAAE,iBAAiB,6CAA6C,uDAAC,EAAE,sFAAC,EAAE,iBAAiB,2CAA2C,uDAAC,EAAE,sFAAC,EAAE,iBAAiB,4CAA4C,uDAAC,EAAE,sFAAC,EAAE,iBAAiB,6CAA6C,uDAAC,EAAE,sFAAC,EAAE,iBAAiB,gDAAgD,uDAAC,EAAE,sFAAC,kDAAkD,UAA+B;;;;;;;;;;;;;;;;;;;;;;;ACJ5rC;AACA;AACA;AACA;AACuV,oBAAoB,6DAAC,CAAC,eAAe,uCAAuC,uDAAC,EAAE,sFAAC,EAAE,kBAAkB,MAAM,oBAAoB,QAAQ,sBAAsB,4BAA4B,uDAAC,EAAE,sFAAC,EAAE,kBAAkB,MAAM,sBAAsB,QAAQ,wBAAwB,8BAA8B,uDAAC,EAAE,sFAAC,EAAE,mBAAmB,UAAU,8CAA8C,uDAAC,EAAE,sFAAC,uCAAuC,UAA+B;;;;;;;;;;;;;;;;;;;;;;;;;ACJ5xB;AACA;AACA;AACA;AACoa,YAAY,qDAAC,EAAE,wEAAwE,EAAE,oBAAoB,6DAAC,CAAC,eAAe,sHAAsH,uDAAC,EAAE,sFAAC,EAAE,kBAAkB,UAAU,8CAA8C,uDAAC,EAAE,sFAAC,EAAE,kBAAkB,MAAM,iCAAiC,QAAQ,mCAAmC,4BAA4B,uDAAC,EAAE,sFAAC,EAAE,kBAAkB,MAAM,mCAAmC,QAAQ,qCAAqC,8BAA8B,uDAAC,EAAE,sFAAC,EAAE,MAAM,oDAAC,QAAQ,UAAU,mCAAmC,uDAAC,EAAE,sFAAC,EAAE,uBAAuB,6CAA6C,+CAA+C,uDAAC,EAAE,sFAAC,oDAAoD,UAA+B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACJ5wC;AACA;AACA;AACA;AACA;AAA8C;AAAgC;AAA0B;AAA+C;AAA8D;AAA6E;AAA6B;AAAgC;AAAmF;AAA6E;AAA4E,MAAMjB,CAAC,GAACP,wDAAC,GAAG;AAAC6vD,EAAAA,OAAO,EAAC,aAAT;AAAuBC,EAAAA,UAAU,EAAC,eAAlC;AAAkDC,EAAAA,SAAS,EAAC;AAA5D,CAAH,CAAT;AAA0F,IAAItvD,CAAC,GAAC,cAAcG,gGAAd,CAAe;AAACyB,EAAAA,WAAW,CAACvC,CAAD,EAAG;AAAC,UAAMA,CAAN,GAAS,KAAKspD,SAAL,GAAe,IAAxB,EAA6B,KAAK/pC,MAAL,GAAY,IAAzC,EAA8C,KAAK2wC,cAAL,GAAoB,IAAlE,EAAuE,KAAKC,eAAL,GAAqB,IAA5F,EAAiG,KAAKC,MAAL,GAAY,KAAK,CAAlH;AAAoH;;AAAAlsD,EAAAA,OAAO,GAAE;AAACmsD,IAAAA,aAAa,CAAC,KAAKD,MAAN,CAAb;AAA2B;;AAAME,EAAAA,cAAc,CAACtwD,CAAD,EAAG;AAAA;;AAAA;AAAC,YAAME,CAAC,GAAC,EAAC,GAAGF,CAAJ;AAAMiH,QAAAA,KAAK,EAAC;AAACvF,UAAAA,CAAC,EAAC;AAAH;AAAZ,OAAR;AAAA,YAAgC;AAACsC,QAAAA,IAAI,EAACjE;AAAN,gBAAeD,uDAAC,CAAC,KAAI,CAACwpD,SAAN,EAAgBppD,CAAhB,CAAhD;AAAmE,aAAO,KAAI,CAAC6D,IAAL,CAAUhE,CAAV,GAAa,KAAI,CAACwpD,aAAL,IAAoB,KAAI,CAACA,aAAL,CAAmBnkD,OAAnB,CAA2B;AAACwjD,QAAAA,KAAK,EAAC,IAAP;AAAYC,QAAAA,aAAa,EAAC,EAA1B;AAA6BC,QAAAA,eAAe,EAAC,EAA7C;AAAgDC,QAAAA,eAAe,EAAC,EAAhE;AAAmEC,QAAAA,gBAAgB,EAAC,EAApF;AAAuFC,QAAAA,kBAAkB,EAAC,EAA1G;AAA6GC,QAAAA,kBAAkB,EAAC,EAAhI;AAAmIhM,QAAAA,qBAAqB,EAAC,CAAC,CAA1J;AAA4JzC,QAAAA,cAAc,EAAC;AAA3K,OAA3B,CAAjC,EAA8O,KAArP;AAApE;AAA8T;;AAAM8V,EAAAA,oBAAoB,CAACvwD,CAAC,GAAC,EAAH,EAAM;AAAA;;AAAA;AAAC,YAAK;AAACwwD,QAAAA,QAAQ,EAAC1wD,CAAC,GAAC,GAAZ;AAAgB2wD,QAAAA,cAAc,EAACvwD;AAA/B,UAAkCF,CAAvC;AAAyC,aAAO,IAAImF,OAAJ,CAAa,CAACnF,CAAD,EAAGM,CAAH,KAAO;AAAC,cAAI,CAACowD,WAAL;;AAAmB,cAAMlwD,CAAC,GAACmwD,WAAW,CAAE,MAAI;AAAC,gBAAI,CAACP,MAAL,IAAa9vD,CAAC,CAACP,uEAAC,EAAF,CAAd,EAAoB,MAAI,CAACuwD,cAAL,GAAsBxqD,IAAtB,CAA4BhG,CAAC,IAAE;AAAC,kBAAK;AAACyf,cAAAA,MAAM,EAACxf;AAAR,gBAAWD,CAAhB;;AAAkB,oBAAO,MAAI,CAACyf,MAAL,GAAYxf,CAAZ,EAAcA,CAArB;AAAwB,mBAAI,eAAJ;AAAoB,sBAAI,CAAC2wD,WAAL,IAAmB1wD,CAAC,CAAC,MAAD,CAApB;AAA2B;;AAAM,mBAAI,aAAJ;AAAkB,mBAAI,eAAJ;AAAoBE,gBAAAA,CAAC,IAAEA,CAAC,CAAC,MAAD,CAAJ;AAAnH;AAA+H,WAAjL,EAAoLF,CAAC,IAAE;AAAC,kBAAI,CAAC0wD,WAAL,IAAmBpwD,CAAC,CAACN,CAAD,CAApB;AAAwB,WAAhN,CAApB;AAAuO,SAA9O,EAAgPF,CAAhP,CAAnB;AAAsQ,cAAI,CAACswD,MAAL,GAAY5vD,CAAZ;AAAc,OAA5T,CAAP;AAA1C;AAAgX;;AAAAkwD,EAAAA,WAAW,GAAE;AAACL,IAAAA,aAAa,CAAC,KAAKD,MAAN,CAAb,EAA2B,KAAKA,MAAL,GAAY,KAAK,CAA5C;AAA8C;;AAA18B,CAArB;AAAi+BpwD,uDAAC,CAAC,CAACM,sFAAC,EAAF,CAAD,EAAOK,CAAC,CAACsH,SAAT,EAAmB,eAAnB,EAAmC,KAAK,CAAxC,CAAD,EAA4CjI,uDAAC,CAAC,CAACM,sFAAC,CAAC;AAAC+C,EAAAA,IAAI,EAAC6E,MAAN;AAAaL,EAAAA,IAAI,EAAC;AAACpC,IAAAA,KAAK,EAAC,CAAC;AAAR;AAAlB,CAAD,CAAF,CAAD,EAAoC9E,CAAC,CAACsH,SAAtC,EAAgD,WAAhD,EAA4D,KAAK,CAAjE,CAA7C,EAAiHjI,uDAAC,CAAC,CAACQ,4FAAC,CAACC,CAAD,CAAF,CAAD,EAAQE,CAAC,CAACsH,SAAV,EAAoB,QAApB,EAA6B,KAAK,CAAlC,CAAlH,EAAuJjI,uDAAC,CAAC,CAACM,sFAAC,CAAC;AAAC+C,EAAAA,IAAI,EAACP,IAAN;AAAW+E,EAAAA,IAAI,EAAC;AAACxE,IAAAA,IAAI,EAACwG,MAAN;AAAapE,IAAAA,KAAK,EAAC;AAAChE,MAAAA,MAAM,EAAC,CAACzB,CAAD,EAAGF,CAAH,KAAO;AAACA,QAAAA,CAAC,CAACowD,cAAF,GAAiBlwD,CAAC,GAACA,CAAC,CAAC87C,OAAF,EAAD,GAAa,IAA/B;AAAoC;AAApD;AAAnB;AAAhB,CAAD,CAAF,CAAD,EAAiGn7C,CAAC,CAACsH,SAAnG,EAA6G,gBAA7G,EAA8H,KAAK,CAAnI,CAAxJ,EAA8RjI,uDAAC,CAAC,CAACM,sFAAC,CAAC;AAAC+C,EAAAA,IAAI,EAACP,IAAN;AAAW+E,EAAAA,IAAI,EAAC;AAACxE,IAAAA,IAAI,EAACwG,MAAN;AAAapE,IAAAA,KAAK,EAAC;AAAChE,MAAAA,MAAM,EAAC,CAACzB,CAAD,EAAGF,CAAH,KAAO;AAACA,QAAAA,CAAC,CAACqwD,eAAF,GAAkBnwD,CAAC,GAACA,CAAC,CAAC87C,OAAF,EAAD,GAAa,IAAhC;AAAqC;AAArD;AAAnB;AAAhB,CAAD,CAAF,CAAD,EAAkGn7C,CAAC,CAACsH,SAApG,EAA8G,iBAA9G,EAAgI,KAAK,CAArI,CAA/R,EAAuatH,CAAC,GAACX,uDAAC,CAAC,CAACI,uFAAC,CAAC,iDAAD,CAAF,CAAD,EAAwDO,CAAxD,CAA1a;AAAqe,MAAMK,CAAC,GAACL,CAAR;;;;;;;;;;;;;;;;;;;;;;;ACJ3mE;AACA;AACA;AACA;AACuV,oBAAoB,6DAAC,CAAC,eAAe,mRAAmR,uDAAC,EAAE,sFAAC,EAAE,oBAAoB,UAAU,2CAA2C,uDAAC,EAAE,sFAAC,EAAE,oBAAoB,UAAU,0CAA0C,uDAAC,EAAE,sFAAC,EAAE,oBAAoB,UAAU,mCAAmC,uDAAC,EAAE,sFAAC,EAAE,oBAAoB,UAAU,0CAA0C,uDAAC,EAAE,sFAAC,EAAE,qDAAqD,UAAU,6CAA6C,uDAAC,EAAE,sFAAC,EAAE,kBAAkB,UAAU,0DAA0D,uDAAC,EAAE,sFAAC,EAAE,mBAAmB,UAAU,yCAAyC,uDAAC,EAAE,sFAAC,EAAE,mBAAmB,UAAU,6CAA6C,uDAAC,EAAE,sFAAC,EAAE,mBAAmB,UAAU,0DAA0D,uDAAC,EAAE,sFAAC,iDAAiD,UAA+B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACJ59C;AACA;AACA;AACA;AACA;AAA8C;AAAgC;AAA0B;AAA+C;AAA8D;AAA6E;AAA6B;AAAgC;AAAmF;AAA6E;AAA0D,MAAMK,CAAC,GAAClB,wDAAC,GAAG;AAACiwD,EAAAA,OAAO,EAAC,aAAT;AAAuBC,EAAAA,UAAU,EAAC,eAAlC;AAAkDC,EAAAA,SAAS,EAAC;AAA5D,CAAH,CAAT;AAA0F,IAAIxvD,CAAC,GAAC,cAAcK,8EAAd,CAAe;AAACyB,EAAAA,WAAW,CAACvC,CAAD,EAAG;AAAC,UAAMA,CAAN,GAAS,KAAKspD,SAAL,GAAe,IAAxB,EAA6B,KAAK/pC,MAAL,GAAY,IAAzC,EAA8C,KAAK2wC,cAAL,GAAoB,IAAlE,EAAuE,KAAKC,eAAL,GAAqB,IAA5F,EAAiG,KAAKC,MAAL,GAAY,KAAK,CAAlH;AAAoH;;AAAAlsD,EAAAA,OAAO,GAAE;AAACmsD,IAAAA,aAAa,CAAC,KAAKD,MAAN,CAAb;AAA2B;;AAAME,EAAAA,cAAc,CAACtwD,CAAD,EAAG;AAAA;;AAAA;AAAC,YAAMF,CAAC,GAAC,EAAC,GAAGE,CAAJ;AAAMiH,QAAAA,KAAK,EAAC;AAACvF,UAAAA,CAAC,EAAC;AAAH;AAAZ,OAAR;AAAA,YAAgC;AAACsC,QAAAA,IAAI,EAACjE;AAAN,gBAAeG,uDAAC,CAAC,KAAI,CAACopD,SAAN,EAAgBxpD,CAAhB,CAAhD;AAAA,YAAmEQ,CAAC,GAACP,CAAC,CAAC6wD,YAAF,GAAe,EAAC,GAAG7wD,CAAC,CAAC6wD,YAAN;AAAmB,WAAG7wD;AAAtB,OAAf,GAAwCA,CAA7G;AAA+G,aAAO,KAAI,CAACgE,IAAL,CAAUzD,CAAV,GAAa,KAApB;AAAhH;AAAyI;;AAAMiwD,EAAAA,oBAAoB,CAACvwD,CAAC,GAAC,EAAH,EAAM;AAAA;;AAAA;AAAC,YAAK;AAACwwD,QAAAA,QAAQ,EAACtwD,CAAC,GAAC,GAAZ;AAAgBuwD,QAAAA,cAAc,EAAC3wD;AAA/B,UAAkCE,CAAvC;AAAyC,aAAO,IAAImF,OAAJ,CAAa,CAACnF,CAAD,EAAGM,CAAH,KAAO;AAAC,cAAI,CAACowD,WAAL;;AAAmB,cAAMlwD,CAAC,GAACmwD,WAAW,CAAE,MAAI;AAAC,gBAAI,CAACP,MAAL,IAAa9vD,CAAC,CAACP,uEAAC,EAAF,CAAd,EAAoB,MAAI,CAACuwD,cAAL,GAAsBxqD,IAAtB,CAA4B5F,CAAC,IAAE;AAAC,kBAAK;AAACqf,cAAAA,MAAM,EAACxf;AAAR,gBAAWG,CAAhB;;AAAkB,oBAAO,MAAI,CAACqf,MAAL,GAAYxf,CAAZ,EAAcA,CAArB;AAAwB,mBAAI,eAAJ;AAAoB,sBAAI,CAAC2wD,WAAL,IAAmB1wD,CAAC,CAAC,MAAD,CAApB;AAA2B;;AAAM,mBAAI,aAAJ;AAAkB,mBAAI,eAAJ;AAAoBF,gBAAAA,CAAC,IAAEA,CAAC,CAAC,MAAD,CAAJ;AAAnH;AAA+H,WAAjL,EAAoLE,CAAC,IAAE;AAAC,kBAAI,CAAC0wD,WAAL,IAAmBpwD,CAAC,CAACN,CAAD,CAApB;AAAwB,WAAhN,CAApB;AAAuO,SAA9O,EAAgPE,CAAhP,CAAnB;AAAsQ,cAAI,CAACkwD,MAAL,GAAY5vD,CAAZ;AAAc,OAA5T,CAAP;AAA1C;AAAgX;;AAAAkwD,EAAAA,WAAW,GAAE;AAACL,IAAAA,aAAa,CAAC,KAAKD,MAAN,CAAb,EAA2B,KAAKA,MAAL,GAAY,KAAK,CAA5C;AAA8C;;AAArxB,CAArB;AAA4yBpwD,uDAAC,CAAC,CAACM,sFAAC,CAAC;AAAC+C,EAAAA,IAAI,EAAC6E,MAAN;AAAaL,EAAAA,IAAI,EAAC;AAACpC,IAAAA,KAAK,EAAC,CAAC;AAAR;AAAlB,CAAD,CAAF,CAAD,EAAoChF,CAAC,CAACwH,SAAtC,EAAgD,WAAhD,EAA4D,KAAK,CAAjE,CAAD,EAAqEjI,uDAAC,CAAC,CAACQ,4FAAC,CAACQ,CAAD,CAAF,CAAD,EAAQP,CAAC,CAACwH,SAAV,EAAoB,QAApB,EAA6B,KAAK,CAAlC,CAAtE,EAA2GjI,uDAAC,CAAC,CAACM,sFAAC,CAAC;AAAC+C,EAAAA,IAAI,EAACP,IAAN;AAAW+E,EAAAA,IAAI,EAAC;AAACxE,IAAAA,IAAI,EAACwG,MAAN;AAAapE,IAAAA,KAAK,EAAC;AAAChE,MAAAA,MAAM,EAAC,CAACzB,CAAD,EAAGE,CAAH,KAAO;AAACA,QAAAA,CAAC,CAACgwD,cAAF,GAAiBlwD,CAAC,GAACA,CAAC,CAAC87C,OAAF,EAAD,GAAa,IAA/B;AAAoC;AAApD;AAAnB;AAAhB,CAAD,CAAF,CAAD,EAAiGr7C,CAAC,CAACwH,SAAnG,EAA6G,gBAA7G,EAA8H,KAAK,CAAnI,CAA5G,EAAkPjI,uDAAC,CAAC,CAACM,sFAAC,CAAC;AAAC+C,EAAAA,IAAI,EAACP,IAAN;AAAW+E,EAAAA,IAAI,EAAC;AAACxE,IAAAA,IAAI,EAACwG,MAAN;AAAapE,IAAAA,KAAK,EAAC;AAAChE,MAAAA,MAAM,EAAC,CAACzB,CAAD,EAAGE,CAAH,KAAO;AAACA,QAAAA,CAAC,CAACiwD,eAAF,GAAkBnwD,CAAC,GAACA,CAAC,CAAC87C,OAAF,EAAD,GAAa,IAAhC;AAAqC;AAArD;AAAnB;AAAhB,CAAD,CAAF,CAAD,EAAkGr7C,CAAC,CAACwH,SAApG,EAA8G,iBAA9G,EAAgI,KAAK,CAArI,CAAnP,EAA2XxH,CAAC,GAACT,uDAAC,CAAC,CAACI,uFAAC,CAAC,oCAAD,CAAF,CAAD,EAA2CK,CAA3C,CAA9X;AAA4a,MAAMG,CAAC,GAACH,CAAR;;;;;;;;;;;;;;;;;;;;;;;ACJ32D;AACA;AACA;AACA;AACsU,oBAAoB,8DAAC,CAAC,eAAe,4lBAA4lB,uDAAC,EAAE,sFAAC,EAAE,oBAAoB,UAAU,wCAAwC,uDAAC,EAAE,sFAAC,EAAE,kBAAkB,UAAU,iDAAiD,uDAAC,EAAE,sFAAC,EAAE,kBAAkB,UAAU,2CAA2C,uDAAC,EAAE,sFAAC,EAAE,kBAAkB,UAAU,0DAA0D,uDAAC,EAAE,sFAAC,EAAE,oBAAoB,UAAU,gDAAgD,uDAAC,EAAE,sFAAC,EAAE,qDAAqD,UAAU,qCAAqC,uDAAC,EAAE,sFAAC,EAAE,mBAAmB,UAAU,2CAA2C,uDAAC,EAAE,sFAAC,EAAE,mBAAmB,UAAU,wCAAwC,uDAAC,EAAE,sFAAC,EAAE,mBAAmB,UAAU,yCAAyC,uDAAC,EAAE,sFAAC,EAAE,mBAAmB,UAAU,2CAA2C,uDAAC,EAAE,sFAAC,EAAE,mBAAmB,UAAU,gDAAgD,uDAAC,EAAE,sFAAC,EAAE,mBAAmB,UAAU,0DAA0D,uDAAC,EAAE,sFAAC,EAAE,kBAAkB,UAAU,yCAAyC,uDAAC,EAAE,sFAAC,EAAE,oBAAoB,UAAU,gDAAgD,uDAAC,EAAE,sFAAC,EAAE,oBAAoB,UAAU,uCAAuC,uDAAC,EAAE,sFAAC,EAAE,oBAAoB,UAAU,qCAAqC,uDAAC,EAAE,sFAAC,EAAE,kBAAkB,UAAU,wCAAwC,uDAAC,EAAE,sFAAC,EAAE,kBAAkB,UAAU,wCAAwC,uDAAC,EAAE,sFAAC,EAAE,kBAAkB,UAAU,6CAA6C,uDAAC,EAAE,sFAAC,EAAE,kBAAkB,UAAU,kCAAkC,uDAAC,EAAE,sFAAC,EAAE,mBAAmB,UAAU,gDAAgD,uDAAC,EAAE,sFAAC,mDAAmD,UAA+B;;;;;;;;;;;;;;;;;;;;;;;ACJnrF;AACA;AACA;AACA;AACgD,MAAM,aAAa,qRAAqR,SAAS,GAAG,YAAY,qDAAC,EAAE,wMAAwM,QAAQ,qDAAC,EAAE,kUAAkU,KAAK,qLAAqL,eAAe,UAAU,sMAAsM,qDAAC,EAAE,+DAA+D,EAAwL;;;;;;;;;;;;;;;;;;;;;;;;;ACJ3hD;AACA;AACA;AACA;AACA;AAAgC;AAAmC;AAAuE;AAA0C;;SAA+DA;;;;;yMAAf,WAAiBT,CAAjB,EAAmBF,CAAnB,EAAqB;AAAC,UAAMM,CAAC,GAACJ,CAAC,CAACiJ,MAAV;AAAA,UAAiBxI,CAAC,GAACT,CAAC,CAAC6wD,UAArB;AAAA,UAAgCrwD,CAAC,GAACR,CAAC,CAACqN,cAAF,IAAkB,CAAC,CAArD;AAAA,UAAuD1M,CAAC,GAACX,CAAC,CAAC8wD,mBAA3D;AAA+E,UAAM3rD,OAAO,CAACc,GAAR,CAAY7F,CAAC,CAACiF,GAAF;AAAA,mNAAO,WAAMrF,CAAN,EAAS;AAAC,cAAMA,CAAC,CAACgF,IAAF,EAAN;AAAe,OAAhC;;AAAA;AAAA;AAAA;AAAA,QAAZ,CAAN;AAAsD,WAAM,OAAOG,OAAO,CAACc,GAAR,CAAY7F,CAAC,CAACiF,GAAF;AAAA,oNAAO,WAAMrF,CAAN,EAAS;AAAC,cAAMI,CAAC,GAACK,CAAC,CAAC+O,IAAF,CAAQ1P,CAAC,IAAEA,CAAC,CAAC6mD,QAAF,KAAa3mD,CAAC,CAAC2tC,SAAF,EAAapoB,IAArC,CAAR;AAAoD,YAAG,CAACnlB,CAAC,EAAEg6C,SAAH,EAAczsC,MAAlB,EAAyB,OAAM;AAACrE,UAAAA,KAAK,EAACtJ,CAAP;AAASouC,UAAAA,UAAU,EAAC,KAAK;AAAzB,SAAN;AAAkC,cAAMluC,CAAC,GAACF,CAAC,CAACumC,WAAF,EAAR;AAAwBrmC,QAAAA,CAAC,CAACmN,cAAF,GAAiB7M,CAAjB,EAAmBN,CAAC,CAACiN,SAAF,GAAY/M,CAAC,CAAC+M,SAAF,IAAa,CAAC,GAAD,CAA5C,EAAkDjN,CAAC,CAAC4wD,mBAAF,GAAsBnwD,CAAxE,EAA0ET,CAAC,CAACw6C,UAAF,GAAa16C,CAAC,CAAC06C,UAAzF,EAAoGx6C,CAAC,CAACk6C,SAAF,GAAYh6C,CAAC,CAACg6C,SAAlH,EAA4Ht6C,CAAC,KAAGI,CAAC,CAACmvC,KAAF,GAAQ,KAAX,CAA7H;AAA+I,cAAMzuC,CAAC,GAACN,4EAAA,OAAiBP,gFAAC,CAACC,CAAD,EAAGE,CAAH,CAAlB,CAAR;AAAiC,eAAM;AAACoJ,UAAAA,KAAK,EAACtJ,CAAP;AAASouC,UAAAA,UAAU,EAACxtC;AAApB,SAAN;AAA6B,OAArW;;AAAA;AAAA;AAAA;AAAA,QAAZ,CAAP,EAA6X6F,MAA7X,CAAqYzG,CAAC,IAAE,KAAK,CAAL,KAASA,CAAC,CAACouC,UAAnZ,CAAN;AAAsa;;;;SAAe5tC;;;;;yMAAf,WAAiBR,CAAjB,EAAmBF,CAAnB,EAAqB;AAAC,QAAG,4BAA0BE,CAA7B,EAA+B;AAAC,YAAK;AAACsI,QAAAA,OAAO,EAACtI;AAAT,gBAAkB,uHAAvB;AAAsD,aAAO,IAAIA,CAAJ,CAAM;AAAC2mD,QAAAA,QAAQ,EAAC7mD;AAAV,OAAN,CAAP;AAA2B;;AAAA,WAAO,IAAP;AAAY;;;;SAAea;;;;;yMAAf,WAAiBZ,CAAjB,EAAmB;AAAC,QAAIO,CAAC,GAAC,gBAAeP,CAAf,GAAiBA,CAAjB,GAAmB;AAAC0C,MAAAA,UAAU,EAAC1C;AAAZ,KAAzB;AAAwC,KAACO,CAAC,CAACmC,UAAH,IAAenC,CAAC,CAACmC,UAAF,YAAwBrC,6DAAvC,KAA2CE,CAAC,GAAC,EAAC,GAAGA,CAAJ;AAAMmC,MAAAA,UAAU,EAAC,IAAIrC,6DAAJ,CAAME,CAAC,CAACmC,UAAR;AAAjB,KAA7C;AAAoF,UAAMhC,CAAC,GAACH,CAAC,CAACmC,UAAV;AAAqB,QAAG,MAAMhC,CAAC,CAACuE,IAAF,EAAN,EAAe,sBAAoBvE,CAAC,CAAC4C,IAAxC,EAA6C,MAAM,IAAIvD,sDAAJ,CAAM,0BAAN,EAAiC,6BAAjC,EAA+D;AAACuD,MAAAA,IAAI,EAAC5C,CAAC,CAAC4C;AAAR,KAA/D,CAAN;AAAoF,UAAM1C,CAAC,GAACF,CAAC,CAACkF,GAAV;AAAA,UAAczF,CAAC,SAAOF,uDAAC,CAACW,CAAD,EAAG;AAACqd,MAAAA,YAAY,EAAC,MAAd;AAAqB/W,MAAAA,KAAK,EAAC;AAACvF,QAAAA,CAAC,EAAC;AAAH;AAA3B,KAAH,CAAvB;AAAA,UAAkEd,CAAC,GAAC,eAApE;AAAoF,QAAGV,CAAC,CAAC8D,IAAF,CAAOX,IAAP,EAAauuB,QAAb,CAAsBhxB,CAAtB,CAAH,EAA4B,OAAOJ,CAAC,CAACN,CAAC,CAAC8D,IAAF,CAAOX,IAAR,EAAa1C,CAAb,CAAR;;AAAwB,QAAGT,CAAC,CAAC8D,IAAF,CAAOiF,MAAV,EAAiB;AAAC,YAAMjJ,CAAC,GAACE,CAAC,CAAC8D,IAAF,CAAOiF,MAAP,CAAcuG,IAAd,CAAoBxP,CAAC,IAAEA,CAAC,CAACqD,IAAF,CAAOuuB,QAAP,CAAgBhxB,CAAhB,CAAvB,CAAR;;AAAoD,UAAGZ,CAAH,EAAK;AAAC,cAAMF,CAAC,GAAE,GAAEa,CAAE,IAAGX,CAAC,CAACwC,EAAG,EAArB;AAAuB,eAAOhC,CAAC,CAACR,CAAC,CAACqD,IAAH,EAAQvD,CAAR,CAAR;AAAmB;AAAC;;AAAA,WAAO,IAAP;AAAY;;;;;;;;;;;;;;;;;;;;;;;;;;ACJz+C;AACA;AACA;AACA;AACkU,MAAM,sBAAsB,6DAAC,CAAC,eAAe,2EAA2E,QAAQ,cAAc,4CAA4C,IAAI,uDAAC,EAAE,sFAAC,EAAE,kBAAkB,UAAU,+BAA+B,uDAAC,EAAE,sFAAC,EAAE,kBAAkB,UAAU,oCAAoC,uDAAC,EAAE,sFAAC,EAAE,sCAAsC,kBAAkB,wCAAwC,uDAAC,EAAE,sFAAC,yCAAyC,UAA+B;;;;;;;;;;;;;;;;;;;;;;;ACJzzB;AACA;AACA;AACA;AACkU,MAAM,sBAAsB,6DAAC,CAAC,eAAe,kFAAkF,QAAQ,cAAc,sFAAsF,IAAI,uDAAC,EAAE,sFAAC,EAAE,kBAAkB,UAAU,8BAA8B,uDAAC,EAAE,sFAAC,EAAE,kBAAkB,UAAU,+BAA+B,uDAAC,EAAE,sFAAC,EAAE,kBAAkB,UAAU,oCAAoC,uDAAC,EAAE,sFAAC,EAAE,+BAA+B,UAAU,wCAAwC,uDAAC,EAAE,sFAAC,kCAAkC,UAA+B;;;;;;;;;;;;;;;;;;;;;;;;;;ACJp5B;AACA;AACA;AACA;AAC2e,MAAM,sBAAsB,6DAAC,CAAC,eAAe,+KAA+K,QAAQ,cAAc,qNAAqN,IAAI,uDAAC,EAAE,sFAAC,EAAE,kBAAkB,UAAU,mCAAmC,uDAAC,EAAE,sFAAC,EAAE,KAAK,mEAAC,OAAO,UAAU,gCAAgC,uDAAC,EAAE,sFAAC,EAAE,mBAAmB,OAAO,uBAAuB,aAAa,oCAAoC,uDAAC,EAAE,sFAAC,EAAE,kBAAkB,UAAU,+BAA+B,uDAAC,EAAE,4FAAC,KAAK,qDAAC,EAAE,6DAA6D,GAAG,mBAAmB,2CAA2C,uDAAC,EAAE,sFAAC,EAAE,4DAA4D,UAAU,uCAAuC,uDAAC,EAAE,sFAAC,EAAE,kBAAkB,UAAU,iCAAiC,uDAAC,EAAE,sFAAC,EAAE,mBAAmB,UAAU,qCAAqC,uDAAC,EAAE,sFAAC,6BAA6B,UAA+B;;;;;;;;;;;;;;;;;;;;;;;ACJzqD;AACA;AACA;AACA;AACkU,MAAM,sBAAsB,6DAAC,CAAC,eAAe,mEAAmE,QAAQ,cAAc,sFAAsF,IAAI,uDAAC,EAAE,sFAAC,EAAE,mBAAmB,UAAU,6CAA6C,uDAAC,EAAE,sFAAC,EAAE,mBAAmB,UAAU,+CAA+C,uDAAC,EAAE,sFAAC,gCAAgC,UAA+B;;;;;;;;;;;;;;;;;;;;;;;;ACJvwB;AACA;AACA;AACA;AACsY,MAAM,sBAAsB,6DAAC,CAAC,eAAe,8DAA8D,QAAQ,cAAc,4EAA4E,oDAAC,0BAA0B,IAAI,uDAAC,EAAE,sFAAC,EAAE,mBAAmB,UAAU,4CAA4C,uDAAC,EAAE,sFAAC,EAAE,MAAM,gFAAC,QAAQ,UAAU,2CAA2C,uDAAC,EAAE,sFAAC,sCAAsC,UAA+B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACJp1B;AACA;AACA;AACA;AAC2a,cAAc,oBAAoB,2DAAC,CAAC,SAAS,8BAA8B,WAAW,sEAAC,OAAO,gEAAC,MAAM,+DAAC,YAAY,qEAAC,OAAO,iEAAC,cAAc,uEAAC,4BAA4B,qFAAC,EAAE,IAAI,8BAA8B,WAAW,sEAAC,OAAO,gEAAC,MAAM,+DAAC,YAAY,qEAAC,OAAO,iEAAC,cAAc,uEAAC,GAAoQ;;;;;;;;;;;;;;;;;;;;;;;ACJz7B;AACA;AACA;AACA;AAC2T,MAAM,sBAAsB,mDAAC,CAAC,eAAe,+FAA+F,QAAQ,cAAc,2EAA2E,IAAI,uDAAC,EAAE,sFAAC,EAAE,kBAAkB,UAAU,qCAAqC,uDAAC,EAAE,sFAAC,EAAE,qCAAqC,UAAU,qCAAqC,uDAAC,EAAE,sFAAC,EAAE,kBAAkB,UAAU,+BAA+B,uDAAC,EAAE,sFAAC,EAAE,uCAAuC,kBAAkB,kCAAkC,uDAAC,EAAE,sFAAC,8CAA8C,UAA+B;;;;;;;;;;;;;;;;;;;;;;;;ACJh8B;AACA;AACA;AACA;AAC+Y,MAAM,sBAAsB,iEAAC,CAAC,eAAe,+BAA+B,QAAQ,cAAc,qFAAqF,IAAI,uDAAC,EAAE,sFAAC,EAAE,qCAAqC,gCAAgC,qFAAO,EAAE,kCAAkC,uDAAC,EAAE,sFAAC,6CAA6C,UAA+B;;;;;;;;;;;;;;;;;;;;;;;;ACJhxB;AACA;AACA;AACA;AAC+Y,MAAM,sBAAsB,iEAAC,CAAC,eAAe,kCAAkC,QAAQ,cAAc,qFAAqF,IAAI,uDAAC,EAAE,sFAAC,EAAE,wCAAwC,mCAAmC,qFAAO,EAAE,kCAAkC,uDAAC,EAAE,sFAAC,gDAAgD,UAA+B;;;;;;;;;;;;;;;;;;;;;;;ACJ5xB;AACA;AACA;AACA;AACuV,oBAAoB,6DAAC,CAAC,eAAe,0BAA0B,uDAAC,EAAE,sFAAC,EAAE,mIAAmI,kBAAkB,gCAAgC,uDAAC,EAAE,sFAAC,mCAAmC,UAA+B;;;;;;;;;;;;;;;;;;;;;;;ACJvpB;AACA;AACA;AACA;AACsU,MAAM,sBAAsB,mDAAC,CAAC,eAAe,sFAAsF,QAAQ,cAAc,sFAAsF,oDAAC,sBAAsB,IAAI,uDAAC,EAAE,sFAAC,kCAAkC,uDAAC,EAAE,sFAAC,oCAAoC,uDAAC,EAAE,sFAAC,oCAAoC,uDAAC,EAAE,sFAAC,EAAE,4BAA4B,kCAAkC,uDAAC,EAAE,sFAAC,yCAAyC,UAA+B;;;;;;;;;;;;;;;;;;;;;;;;ACJt1B;AACA;AACA;AACA;AACsW,MAAM,sBAAsB,mDAAC,CAAC,eAAe,yDAAyD,QAAQ,cAAc,4CAA4C,IAAI,uDAAC,EAAE,sFAAC,EAAE,KAAK,iEAAC,OAAO,UAAU,wCAAwC,uDAAC,EAAE,sFAAC,EAAE,sCAAsC,kBAAkB,kCAAkC,uDAAC,EAAE,sFAAC,6CAA6C,UAA+B;;;;;;;;;;;;;;;;;;;;;;;;;ACJvwB;AACA;AACA;AACA;AAC8a,MAAM,sBAAsB,mDAAC,CAAC,eAAe,4GAA4G,qBAAqB,uCAAuC,QAAQ,aAAa,oDAAC,EAAE,oGAAoG,KAAK,uDAAC,EAAE,sFAAC,EAAE,kBAAkB,UAAU,oCAAoC,uDAAC,EAAE,sFAAC,EAAE,kBAAkB,UAAU,qCAAqC,uDAAC,EAAE,sFAAC,EAAE,MAAM,qDAAC,EAAE,oCAAoC,uDAAC,EAAE,kFAAC,oDAAoD,uDAAC,EAAE,sFAAC,EAAE,kBAAkB,UAAU,+BAA+B,uDAAC,EAAE,sFAAC,EAAE,kCAAkC,kBAAkB,kCAAkC,uDAAC,EAAE,sFAAC,yCAAyC,UAA+B;;;;;;;;;;;;;;;;;;;;;;;;ACJruC;AACA;AACA;AACA;AACoX,MAAM,sBAAsB,4DAAC,CAAC,eAAe,oEAAoE,QAAQ,cAAc,0HAA0H,IAAI,uDAAC,EAAE,sFAAC,EAAE,kBAAkB,UAAU,yCAAyC,uDAAC,EAAE,sFAAC,EAAE,iCAAiC,kBAAkB,8BAA8B,uDAAC,EAAE,sFAAC,EAAE,KAAK,uEAAC,OAAO,UAAU,mCAAmC,uDAAC,EAAE,sFAAC,0CAA0C,UAA+B;;;;;;;;;;;;;;;;;;;;;;;;ACJx6B;AACA;AACA;AACA;AAC+Y,MAAM,sBAAsB,iEAAC,CAAC,eAAe,gCAAgC,QAAQ,cAAc,qFAAqF,IAAI,uDAAC,EAAE,sFAAC,EAAE,sCAAsC,iCAAiC,qFAAO,EAAE,kCAAkC,uDAAC,EAAE,sFAAC,8CAA8C,UAA+B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACJpxB;AACA;AACA;AACA;AAC2sB,MAAM,sBAAsB,oDAAC,CAAC,eAAe,0IAA0I,kBAAkB,qCAAqC,oEAAU,wBAAwB,sEAAU,2BAA2B,yEAAU,yBAAyB,wEAAU,wBAAwB,uEAAU,6BAA6B,qBAAqB,uCAAuC,QAAQ,aAAa,oDAAC,EAAE,mJAAmJ,KAAK,uDAAC,EAAE,sFAAC,+CAA+C,uDAAC,EAAE,sFAAC,EAAE,kBAAkB,UAAU,oCAAoC,uDAAC,EAAE,sFAAC,EAAE,kBAAkB,UAAU,qCAAqC,uDAAC,EAAE,sFAAC,EAAE,OAAO,8DAAC,EAAE,oCAAoC,uDAAC,EAAE,kFAAC,mDAAmD,uDAAC,EAAE,kFAAC,oDAAoD,uDAAC,EAAE,sFAAC,EAAE,kBAAkB,UAAU,+BAA+B,uDAAC,EAAE,sFAAC,EAAE,iCAAiC,kBAAkB,kCAAkC,uDAAC,EAAE,sFAAC,wCAAwC,UAA+B;;;;;;;;;;;;;;;;;;;;;;;;ACJl6D;AACA;AACA;AACA;AAC+Y,MAAM,sBAAsB,iEAAC,CAAC,eAAe,+BAA+B,QAAQ,cAAc,qFAAqF,IAAI,uDAAC,EAAE,sFAAC,EAAE,qCAAqC,gCAAgC,qFAAO,EAAE,kCAAkC,uDAAC,EAAE,sFAAC,6CAA6C,UAA+B;;;;;;;;;;;;;;;;;;;;;;;;;ACJhxB;AACA;AACA;AACA;AACkd,oBAAoB,gEAAC,CAAC,mDAAC,GAAG,eAAe,0KAA0K,uDAAC,EAAE,sFAAC,EAAE,kBAAkB,UAAU,qCAAqC,uDAAC,EAAE,sFAAC,EAAE,kBAAkB,KAAK,wEAAC,WAAW,sCAAsC,uDAAC,EAAE,sFAAC,EAAE,oBAAoB,UAAU,qCAAqC,uDAAC,EAAE,sFAAC,EAAE,MAAM,gFAAC,QAAQ,UAAU,uCAAuC,uDAAC,EAAE,sFAAC,EAAE,kBAAkB,KAAK,wEAAC,WAAW,wCAAwC,uDAAC,EAAE,sFAAC,EAAE,kBAAkB,UAAU,+BAA+B,uDAAC,EAAE,sFAAC,EAAE,wCAAwC,kBAAkB,gCAAgC,uDAAC,EAAE,sFAAC,+CAA+C,UAA+B;;;;;;;;;;;;;;;;;;;;;;;ACJ9wC;AACA;AACA;AACA;AAC2T,MAAM,sBAAsB,mDAAC,CAAC,eAAe,yCAAyC,QAAQ,cAAc,eAAe,IAAI,uDAAC,EAAE,sFAAC,EAAE,kBAAkB,UAAU,8BAA8B,uDAAC,EAAE,sFAAC,EAAE,gCAAgC,kBAAkB,kCAAkC,uDAAC,EAAE,sFAAC,uCAAuC,UAA+B;;;;;;;;;;;;;;;;;;;;;;;;;;ACJ9pB;AACA;AACA;AACA;AACggB,oBAAoB,gEAAC,CAAC,mDAAC,GAAG,eAAe,mHAAmH,uDAAC,EAAE,sFAAC,EAAE,kBAAkB,UAAU,qCAAqC,uDAAC,EAAE,sFAAC,EAAE,kBAAkB,UAAU,+BAA+B,uDAAC,EAAE,sFAAC,EAAE,MAAM,iFAAC,QAAQ,UAAU,0CAA0C,uDAAC,EAAE,4FAAC,EAAE,0DAA0D,gCAAgC,uDAAC,EAAE,sFAAC,6DAA6D,UAA+B;;;;;;;;;;;;;;;;;;;;;;;;ACJ7iC;AACA;AACA;AACA;AACgY,oBAAoB,qDAAC,CAAC,eAAe,4CAA4C,uDAAC,EAAE,sFAAC,EAAE,6EAA6E,kBAAkB,8BAA8B,uDAAC,EAAE,sFAAC,EAAE,KAAK,uEAAC,OAAO,UAAU,iCAAiC,uDAAC,EAAE,sFAAC,iDAAiD,UAA+B;;;;;;;;;;;;;;;;;;;;;;;ACJtuB;AACA;AACA;AACA;AAC4W,oBAAoB,6DAAC,CAAC,eAAe,0EAA0E,uDAAC,EAAE,sFAAC,EAAE,kBAAkB,UAAU,iCAAiC,uDAAC,EAAE,sFAAC,EAAE,kBAAkB,UAAU,iCAAiC,uDAAC,EAAE,sFAAC,EAAE,kBAAkB,UAAU,+BAA+B,uDAAC,EAAE,sFAAC,EAAE,qFAAqF,kBAAkB,gCAAgC,uDAAC,EAAE,sFAAC,4CAA4C,UAA+B;;;;;;;;;;;;;;;;;;;;;;;;ACJ93B;AACA;AACA;AACA;AAC+c,MAAM,sBAAsB,6DAAC,CAAC,eAAe,wGAAwG,QAAQ,cAAc,OAAO,oDAAC,qBAAqB,oDAAC,wDAAwD,oDAAC,6CAA6C,IAAI,uDAAC,EAAE,sFAAC,EAAE,MAAM,iDAAC,QAAQ,OAAO,wEAAC,aAAa,gCAAgC,uDAAC,EAAE,sFAAC,EAAE,oBAAoB,UAAU,gCAAgC,uDAAC,EAAE,sFAAC,EAAE,kBAAkB,UAAU,wCAAwC,uDAAC,EAAE,sFAAC,EAAE,MAAM,qEAAC,QAAQ,SAAS,gCAAgC,uDAAC,EAAE,sFAAC,EAAE,kBAAkB,UAAU,0CAA0C,uDAAC,EAAE,sFAAC,uDAAuD,UAA+B;;;;;;;;;;;;;;;;;;;;;;;ACJ9rC;AACA;AACA;AACA;AAC0V,MAAM,sBAAsB,yDAAC,CAAC,eAAe,+EAA+E,QAAQ,cAAc,yFAAyF,IAAI,uDAAC,EAAE,sFAAC,gCAAgC,uDAAC,EAAE,sFAAC,oCAAoC,uDAAC,EAAE,sFAAC,kCAAkC,uDAAC,EAAE,sFAAC,oCAAoC,uDAAC,EAAE,sFAAC,6DAA6D,UAA+B;;;;;;;;;;;;;;;;;;;;;;;ACJn0B;AACA;AACA;AACA;AAC4W,MAAM,sBAAsB,6DAAC,CAAC,eAAe,+CAA+C,QAAQ,cAAc,8CAA8C,IAAI,uDAAC,EAAE,sFAAC,EAAE,kBAAkB,UAAU,iCAAiC,uDAAC,EAAE,sFAAC,EAAE,kBAAkB,UAAU,uCAAuC,uDAAC,EAAE,sFAAC,uDAAuD,UAA+B;;;;;;;;;;;;;;;;;ACJtvB;AACA;AACA;AACA;AACkD,QAAQ,wDAAC,IAAI,4FAA4F,EAAkC;;;;;;;;;;;;;;;;;;;;;;ACJ7L;AACA;AACA;AACA;AAC0O,SAAS,KAAK,4DAAC,6CAA6C,YAAY,6DAAC,gBAAgB,gEAAC,cAAc,8DAAC,aAAa,6DAAC,OAAO,0DAAC,GAAsB;;;;;;;;;;;;;;;;;;;;;;;;;;ACJ/X;AACA;AACA;AACA;AAC8jB,oBAAoB,gEAAC,CAAC,6DAAC,GAAG,eAAe,wEAAwE,uDAAC,EAAE,4FAAC,CAAC,4DAAC,oCAAoC,uDAAC,EAAE,sFAAC,EAAE,mBAAmB,UAAU,wCAAwC,uDAAC,EAAE,sFAAC,EAAE,KAAK,wEAAC,OAAO,UAAU,kCAAkC,uDAAC,EAAE,sFAAC,2CAA2C,UAA+B;;;;;;;;;;;;;;;;;;;;;;;ACJj7B;AACA;AACA;AACA;AACuV,MAAM,sBAAsB,6DAAC,CAAC,eAAe,yCAAyC,QAAQ,cAAc,kCAAkC,IAAI,uDAAC,EAAE,sFAAC,EAAE,kBAAkB,UAAU,+BAA+B,uDAAC,EAAE,sFAAC,EAAE,0BAA0B,UAAU,mCAAmC,uDAAC,EAAE,sFAAC,wDAAwD,UAA+B;;;;;;;;;;;;;;;;;;;;;;;;ACJltB;AACA;AACA;AACA;AACob,oBAAoB,gEAAC,CAAC,6DAAC,GAAG,eAAe,8KAA8K,uDAAC,EAAE,sFAAC,EAAE,kBAAkB,UAAU,+BAA+B,uDAAC,EAAE,sFAAC,EAAE,kBAAkB,UAAU,qCAAqC,uDAAC,EAAE,sFAAC,EAAE,2EAA2E,UAAU,8BAA8B,uDAAC,EAAE,sFAAC,EAAE,mBAAmB,SAAS,8BAA8B,uDAAC,EAAE,sFAAC,EAAE,kBAAkB,KAAK,wEAAC,WAAW,mDAAmD,uDAAC,EAAE,sFAAC,EAAE,kBAAkB,KAAK,wEAAC,WAAW,8CAA8C,uDAAC,EAAE,sFAAC,EAAE,kBAAkB,KAAK,wEAAC,WAAW,+CAA+C,uDAAC,EAAE,sFAAC,yDAAyD,UAA+B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACJnzC;AACA;AACA;AACA;AACA;AAA2C;AAA4B;AAAkC;AAA6B;AAAgC;AAA0D;AAAmC;AAAiE;AAAqH;AAA0E;AAAmE;AAA6B;AAAuB;AAAsE;AAA0E;AAAqC;AAA8C;AAAiE;AAAgC;AAAsC;AAAsC;AAA+B;;AAA+D,IAAID,CAAJ;;AAAM,IAAIiH,CAAJ;AAAM,MAAM8gB,CAAC,GAAC;AAACspC,EAAAA,WAAW,EAAC,MAAI/rD,OAAO,CAACC,OAAR,CAAgB;AAACkD,IAAAA,OAAO,EAACvG,wDAACA;AAAV,GAAhB,CAAjB;AAA8CovD,EAAAA,UAAU,EAAC,MAAI,kHAA7D;AAAuFC,EAAAA,UAAU,EAAC,MAAIjsD,OAAO,CAACC,OAAR,CAAgB;AAACkD,IAAAA,OAAO,EAACsX,uDAACA;AAAV,GAAhB;AAAtG,CAAR;AAA4I,IAAIzZ,CAAC,GAACtG,CAAC,GAAC,cAAcO,sEAAC,CAACI,yDAAD,CAAf,CAAmB;AAAC+B,EAAAA,WAAW,CAACzC,CAAD,EAAG;AAAC,UAAMA,CAAN,GAAS,KAAKuxD,6BAAL,GAAmC,IAA5C,EAAiD,KAAKC,MAAL,GAAY,IAA7D,EAAkE,KAAKC,MAAL,GAAY,CAAC,CAA/E,EAAiF,KAAKtZ,QAAL,GAAc,MAA/F,EAAsG,KAAKuZ,4BAAL,GAAkC,IAAxI,EAA6I,KAAKC,wBAAL,GAA8B,IAA3K,EAAgL,KAAKC,0BAAL,GAAgC,IAAhN,EAAqN,KAAKC,OAAL,GAAa,IAAlO,EAAuO,KAAKC,WAAL,GAAiB,CAAC,CAAzP,EAA2P,KAAKC,WAAL,GAAiB,CAAC,CAA7Q,EAA+Q,KAAKC,0BAAL,GAAgC,CAAC,CAAhT,EAAkT,KAAKC,0BAAL,GAAgC,CAAC,CAAnV,EAAqV,KAAKC,eAAL,GAAqB,CAAC,CAA3W,EAA6W,KAAKC,kBAAL,GAAwB,CAAC,CAAtY,EAAwY,KAAKC,cAAL,GAAoB,CAAC,CAA7Z,EAA+Z,KAAKC,eAAL,GAAqB,CAAC,CAArb,EAAub,KAAKC,YAAL,GAAkB,CAAC,CAA1c,EAA4c,KAAKC,mBAAL,GAAyB,IAAre,EAA0e,KAAKC,eAAL,GAAqB,CAAC,CAAhgB,EAAkgB,KAAKC,OAAL,GAAa,IAA/gB,EAAohB,KAAKC,OAAL,GAAa,IAAjiB,EAAsiB,KAAKC,aAAL,GAAmB,IAAzjB,EAA8jB,KAAKC,qBAAL,GAA2B,IAAzlB,EAA8lB,KAAKC,cAAL,GAAoB,IAAlnB,EAAunB,KAAKC,iBAAL,GAAuB,IAA9oB,EAAmpB,KAAKC,aAAL,GAAmB,IAAtqB,EAA2qB,KAAKC,oBAAL,GAA0B,IAArsB,EAA0sB,KAAKjlD,WAAL,GAAiB,IAA3tB,EAAguB,KAAKklD,2BAAL,GAAiC,IAAjwB,EAAswB,KAAKC,WAAL,GAAiB,IAAvxB,EAA4xB,KAAKC,cAAL,GAAoB,IAAhzB,EAAqzB,KAAKC,uBAAL,GAA6B,IAAl1B,EAAu1B,KAAKC,0BAAL,GAAgC,IAAv3B,EAA43B,KAAKC,gBAAL,GAAsB,IAAl5B,EAAu5B,KAAKC,qBAAL,GAA2B,IAAl7B,EAAu7B,KAAKC,iBAAL,GAAuB,CAAC,CAA/8B,EAAi9B,KAAKC,uBAAL,GAA6B,CAAC,CAA/+B,EAAi/B,KAAKC,cAAL,GAAoB,IAArgC,EAA0gC,KAAKC,uBAAL,GAA6B,IAAviC,EAA4iC,KAAKC,4BAAL,GAAkC,IAA9kC,EAAmlC,KAAKC,QAAL,GAAc,IAAjmC,EAAsmC,KAAKC,SAAL,GAAe,IAArnC,EAA0nC,KAAKpxD,EAAL,GAAQ,IAAloC,EAAuoC,KAAKqxD,WAAL,GAAiB,IAAxpC,EAA6pC,KAAKC,QAAL,GAAc,CAAC,CAA5qC,EAA8qC,KAAKC,UAAL,GAAgB,CAAC,CAA/rC,EAAisC,KAAKC,wBAAL,GAA8B,IAA/tC,EAAouC,KAAKC,yBAAL,GAA+B,IAAnwC,EAAwwC,KAAKC,QAAL,GAAc,IAAtxC,EAA2xC,KAAKh6C,IAAL,GAAU,IAAryC,EAA0yC,KAAKkN,cAAL,GAAoB,IAA9zC,EAAm0C,KAAK+sC,UAAL,GAAgB,IAAn1C,EAAw1C,KAAKC,gBAAL,GAAsB,IAA92C,EAAm3C,KAAKC,MAAL,GAAY,IAA/3C,EAAo4C,KAAKC,iBAAL,GAAuB,CAAC,CAA55C,EAA85C,KAAKC,aAAL,GAAmB,IAAj7C,EAAs7C,KAAKC,uBAAL,GAA6B,CAAC,CAAp9C,EAAs9C,KAAKxjB,UAAL,GAAgB,IAAt+C,EAA2+C,KAAKyjB,sBAAL,GAA4B,CAAC,CAAxgD,EAA0gD,KAAKC,oBAAL,GAA0B,IAApiD,EAAyiD,KAAKC,mBAAL,GAAyB,IAAlkD,EAAukD,KAAKC,KAAL,GAAW,IAAllD,EAAulD,KAAKjvD,GAAL,GAAS3F,4DAAhmD,EAA4mD,KAAK60D,MAAL,GAAY,IAAxnD,EAA6nD,KAAKpvC,IAAL,GAAU,IAAvoD,EAA4oD,KAAKqvC,aAAL,GAAmB,CAAC,CAAhqD,EAAkqD,KAAKC,mBAAL,GAAyB,CAAC,CAA5rD,EAA8rD,KAAKC,oBAAL,GAA0B,CAAC,CAAztD,EAA2tD,KAAKC,iBAAL,GAAuB,CAAC,CAAnvD,EAAqvD,KAAKC,8BAAL,GAAoC,IAAzxD;AAA8xD;;AAAA9wD,EAAAA,iBAAiB,CAACtE,CAAD,EAAG;AAAC,WAAM,YAAU,OAAOA,CAAjB,GAAmB;AAAC6F,MAAAA,GAAG,EAAC7F;AAAL,KAAnB,GAA2BA,CAAjC;AAAmC;;AAAAoE,EAAAA,OAAO,GAAE;AAAC2E,IAAAA,CAAC,CAACssD,UAAF,CAAa,IAAb,GAAmB,KAAKxC,cAAL,GAAoBhyD,4DAAC,CAAC,KAAKgyD,cAAN,CAAxC,EAA8D,KAAKC,iBAAL,GAAuBjyD,4DAAC,CAAC,KAAKiyD,iBAAN,CAAtF,EAA+G,KAAKE,oBAAL,GAA0BnyD,4DAAC,CAAC,KAAKmyD,oBAAN,CAA1I,EAAsK,KAAKzB,6BAAL,GAAmC/vD,2DAAC,CAAC,KAAK+vD,6BAAN,CAA1M;AAA+O;;AAAA+D,EAAAA,gCAAgC,CAACt1D,CAAD,EAAG;AAAC,QAAGA,CAAH,EAAK,KAAI,MAAMC,CAAV,IAAeD,CAAf,EAAiBE,kFAAA,CAAkCD,CAAlC,KAAsCC,8EAAA,CAA8BD,CAA9B,CAAtC;AAAuE,WAAOD,CAAP;AAAS;;AAAAu1D,EAAAA,kBAAkB,CAACv1D,CAAD,EAAG;AAAC,WAAO,KAAKw1D,YAAL,CAAkBx1D,CAAlB,CAAP;AAA4B;;AAAAy1D,EAAAA,qBAAqB,CAACz1D,CAAD,EAAG;AAAC,WAAO,KAAKw1D,YAAL,CAAkBx1D,CAAlB,CAAP;AAA4B;;AAAA01D,EAAAA,wBAAwB,CAAC11D,CAAD,EAAG;AAAC,WAAO,KAAKw1D,YAAL,CAAkBx1D,CAAlB,CAAP;AAA4B;;AAAc,MAAV21D,UAAU,GAAE;AAAC,UAAM31D,CAAC,GAAC,KAAK2lB,IAAL,EAAWiwC,KAAnB;AAAA,UAAyB11D,CAAC,GAAC,CAACF,CAAD,IAAI,KAAKkyD,eAApC;AAAoD,WAAO,KAAKxvD,EAAL,IAAS,CAACxC,CAAV,GAAa,cAAa,KAAKwC,EAAG,EAAlC,GAAoC,IAA3C;AAAgD;;AAAa,MAATmzD,SAAS,GAAE;AAAC,WAAOztC,4EAAC,CAAC,KAAKviB,GAAN,CAAR;AAAmB;;AAAkB,MAAdiwD,cAAc,GAAE;AAAC,WAAM,CAAC,CAAC,KAAKtE,MAAb;AAAoB;;AAAe,MAAXuE,WAAW,GAAE;AAAC,WAAO,KAAKlwD,GAAL,GAAU,GAAE,KAAKA,GAAI,iBAArB,GAAsC,IAA7C;AAAkD;;AAAW,MAAPqyC,OAAO,GAAE;AAAC,QAAIl4C,CAAC,GAAC,KAAK6F,GAAX;;AAAe,QAAG7F,CAAH,EAAK;AAAC,YAAME,CAAC,GAACF,CAAC,CAACyR,OAAF,CAAU,UAAV,CAAR;AAA8BzR,MAAAA,CAAC,GAACE,CAAC,GAAC,CAAF,GAAIF,CAAC,CAAC8J,KAAF,CAAQ,CAAR,EAAU5J,CAAV,CAAJ,GAAiB,KAAK2F,GAAL,CAAS0K,OAAT,CAAiB,MAAjB,EAAwB,EAAxB,CAAnB,EAA+CvQ,CAAC,IAAE,eAAlD;AAAkE;;AAAA,WAAOA,CAAP;AAAS;;AAAgB,MAAZ8C,YAAY,GAAE;AAAC,UAAM9C,CAAC,GAAC,KAAKk4C,OAAb;AAAA,UAAqBh4C,CAAC,GAAC,KAAK6W,SAA5B;AAAsC,WAAO/W,CAAC,IAAEE,CAAH,GAAK,KAAK81D,aAAL,CAAmBh2D,CAAC,GAAC,0BAAF,GAA6BE,CAAhD,CAAL,GAAwD,IAA/D;AAAoE;;AAAA+1D,EAAAA,UAAU,CAACj2D,CAAD,EAAG;AAAC,WAAOA,CAAC,GAACA,CAAC,CAAC4P,WAAF,EAAD,GAAiB5P,CAAzB;AAA2B;;AAAAk2D,EAAAA,QAAQ,CAACl2D,CAAD,EAAG;AAAC,QAAIE,CAAC,GAAC,IAAN;AAAW,WAAOF,CAAC,KAAGE,CAAC,GAAC4f,gEAAA,CAAW9f,CAAX,CAAF,EAAgBE,CAAC,CAACkG,MAAF,GAAS,IAA5B,CAAD,EAAmClG,CAA1C;AAA4C;;AAAAgF,EAAAA,IAAI,CAAClF,CAAD,EAAG;AAAC,UAAME,CAAC,GAAC,iHAAwB8F,IAAxB,CAA8B,CAAC;AAACwC,MAAAA,OAAO,EAACtI;AAAT,KAAD,KAAe;AAACS,MAAAA,qEAAC,CAACX,CAAD,CAAD,EAAKgH,CAAC,GAAC9G,CAAP;AAAS,KAAvD,EAA0D8F,IAA1D,CAAgE,MAAI,KAAKkrC,UAAL,GAAgB,KAAKA,UAArB,GAAgC,KAAKilB,SAAL,CAAe,KAAKhe,QAApB,EAA6B,CAAC,CAA9B,EAAgCn4C,CAAhC,CAApG,EAAyIgG,IAAzI,CAA+IhG,CAAC,IAAE;AAAC,UAAG,CAAC,KAAK61D,SAAN,IAAiB51D,0CAApB,EAAsB;AAAC,cAAMD,CAAC,GAACC,0CAAR;AAAU,aAAK43C,UAAL,GAAgB73C,CAAC,CAAC+iC,cAAF,CAAiB,KAAKmV,OAAtB,CAAhB,EAA+C,KAAKL,UAAL,IAAiB,KAAKM,QAAL,KAAgBp4C,CAAC,CAACq2D,cAAlB,IAAkC,KAAKje,QAAL,KAAgBp4C,CAAC,CAACs2D,mBAArE,KAA2F,KAAK9E,6BAAL,EAAoCjuD,MAApC,IAA6C,KAAKiuD,6BAAL,GAAmCvxD,CAAC,CAAC2D,EAAF,CAAK,mBAAL,EAAyB5B,CAAC,CAAC,IAAIu0D,OAAJ,CAAY,IAAZ,CAAD,CAA1B,CAAhF,EAA+HvtD,CAAC,CAACgrB,QAAF,CAAW,IAAX,EAAgB,KAAKw9B,6BAArB,EAAmD,IAAnD,CAA1N,CAA/C;AAAmU;;AAAA,WAAKrgB,UAAL,GAAgBlxC,CAAhB,EAAkB,KAAKiE,IAAL,CAAUjE,CAAV,CAAlB;AAA+B,KAAthB,CAAR;AAAiiB,WAAO,KAAKmF,mBAAL,CAAyBjF,CAAzB,GAA4BmF,OAAO,CAACC,OAAR,CAAgB,IAAhB,CAAnC;AAAyD;;AAAMixD,EAAAA,qBAAqB,GAAE;AAAA;;AAAA;AAAC,YAAM,KAAI,CAACrxD,IAAL,EAAN;;AAAkB,YAAMlF,CAAC,GAAC,KAAI,CAACw2D,iBAAL,CAAuB,wBAAvB,CAAR;AAAA,YAAyDt2D,CAAC,GAAC,OAAO,uUAAP,EAA8CsI,OAAzG;;AAAiH,aAAOxI,CAAC,GAACA,CAAC,CAACuF,GAAF,CAAOvF,CAAC,IAAE,IAAIE,CAAJ,CAAM;AAACwC,QAAAA,EAAE,EAAC1C,CAAC,CAAC0C,EAAN;AAASmD,QAAAA,GAAG,EAAC7F,CAAC,CAAC6F;AAAf,OAAN,CAAV,CAAD,GAAwC,EAAhD;AAApI;AAAuL;;AAAM4wD,EAAAA,aAAa,CAACz2D,CAAD,EAAGE,CAAH,EAAK;AAAA;;AAAA;AAAC,YAAMD,CAAC,SAAO,MAAI,CAACy2D,cAAL,CAAoB12D,CAApB,EAAsBE,CAAtB,CAAd;;AAAuC,UAAG,CAAC,CAAD,KAAKA,CAAC,EAAEy2D,SAAR,IAAmB,CAAC,CAAD,KAAK,MAAI,CAAC3B,aAAhC,EAA8C;AAAC,cAAMx0D,CAAC,SAAO,MAAI,CAACo2D,gBAAL,CAAsB52D,CAAtB,EAAwBE,CAAxB,CAAd;AAAyCD,QAAAA,CAAC,CAAC2hC,OAAF,CAAU,GAAGphC,CAAb;AAAgB;;AAAA,aAAOP,CAAP;AAAhJ;AAAyJ;;AAAM42D,EAAAA,qBAAqB,CAAC72D,CAAD,EAAG;AAAA;;AAAA;AAAC,UAAG,CAAC,MAAI,CAACi1D,mBAAN,IAA2B,CAAC,MAAI,CAACrC,qBAAjC,IAAwD,WAAS,MAAI,CAACA,qBAAzE,EAA+F,OAAO,IAAP;AAAY,YAAM1yD,CAAC,GAAC,IAAIoL,8DAAJ,EAAR;AAAcpL,MAAAA,CAAC,CAACiH,KAAF,GAAQ,MAAI,CAACyrD,qBAAb,EAAmC1yD,CAAC,CAAC42D,iBAAF,GAAoB,CAAC,CAAxD;AAA0D,YAAM72D,CAAC,GAAC,OAAO,MAAI,CAAC82D,UAAL,CAAgB72D,CAAhB,EAAkBF,CAAlB,CAAP,EAA6Bg3D,OAA7B,CAAqCtnD,IAArC,CAA2C1P,CAAC,IAAE,gBAAcA,CAAC,CAACuD,IAA9D,CAAR;AAA6E,aAAOtD,CAAC,GAAC,IAAI+G,CAAJ,CAAM;AAACrE,QAAAA,UAAU,EAAC1C;AAAZ,OAAN,CAAD,GAAuB,IAA/B;AAAjQ;AAAqS;;AAAAg3D,EAAAA,mBAAmB,CAACj3D,CAAD,EAAG;AAAC,WAAO,KAAKwzD,iBAAL,GAAuB,KAAKpuC,OAAL,CAAa,KAAK8yB,OAAL,GAAa,8BAA1B,EAAyDl4C,CAAzD,EAA4DgG,IAA5D,CAAkEhG,CAAC,IAAEA,CAAC,CAACk3D,cAAvE,CAAvB,GAA+Gp2D,gEAAC,CAACd,CAAD,CAAD,GAAKqF,OAAO,CAAC+O,MAAR,CAAe9S,uEAAC,EAAhB,CAAL,GAAyB+D,OAAO,CAACC,OAAR,CAAgB,EAAhB,CAA/I;AAAmK;;AAAA6xD,EAAAA,mBAAmB,CAACn3D,CAAD,EAAG;AAAC,UAAME,CAAC,GAAC,KAAKizD,cAAb;AAAA,UAA4BlzD,CAAC,GAAC,IAAIqL,8DAAJ,CAAM;AAACkvC,MAAAA,GAAG,EAAC,GAAL;AAAS4c,MAAAA,SAAS,EAAC;AAAnB,KAAN,CAA9B;;AAAiE,QAAGl3D,CAAC,EAAE2N,MAAN,EAAa;AAAC,YAAMrN,CAAC,GAAC,EAAR;;AAAW,WAAI,MAAMR,CAAV,IAAeE,CAAf,EAAiBM,CAAC,CAACsE,IAAF,CAAQ,WAAU9E,CAAC,CAAC+C,KAAM,eAAc/C,CAAC,CAACsnD,KAAM,GAAhD;;AAAoD,aAAOrnD,CAAC,CAACkH,KAAF,GAAQ3G,CAAC,CAACgmB,IAAF,CAAO,MAAP,CAAR,EAAuB,KAAK6wC,WAAL,CAAiBp3D,CAAjB,EAAmBD,CAAnB,EAAsBgG,IAAtB,CAA4BhG,CAAC,IAAEA,CAAC,CAACg3D,OAAjC,CAA9B;AAAyE;;AAAA,WAAOl2D,gEAAC,CAACd,CAAD,CAAD,GAAKqF,OAAO,CAAC+O,MAAR,CAAe9S,uEAAC,EAAhB,CAAL,GAAyB+D,OAAO,CAACC,OAAR,CAAgB,EAAhB,CAAhC;AAAoD;;AAAAgyD,EAAAA,YAAY,CAACt3D,CAAD,EAAG;AAAC,UAAME,CAAC,GAAC,KAAKylB,IAAL,EAAW+sC,OAAX,IAAoB,KAAKA,OAAzB,IAAkCtwD,2DAAC,EAA3C;AAA8C,WAAO,KAAKgjB,OAAL,CAAa,KAAK8yB,OAAL,GAAa,kBAA1B,EAA6C,EAAC,GAAGl4C,CAAJ;AAAMmH,MAAAA,KAAK,EAAC;AAACurD,QAAAA,OAAO,EAACxyD;AAAT;AAAZ,KAA7C,CAAP;AAA8E;;AAAAq3D,EAAAA,aAAa,CAACv3D,CAAD,EAAG;AAAC,UAAME,CAAC,GAAC,KAAKylB,IAAL,EAAW+sC,OAAX,IAAoB,KAAKA,OAAzB,IAAkCtwD,2DAAC,EAA3C;AAA8C,WAAO,KAAKgjB,OAAL,CAAa,KAAK8yB,OAAL,GAAa,wBAA1B,EAAmD,EAAC,GAAGl4C,CAAJ;AAAMmH,MAAAA,KAAK,EAAC;AAACurD,QAAAA,OAAO,EAACxyD;AAAT;AAAZ,KAAnD,CAAP;AAAoF;;AAAiB,SAAV+G,UAAU,GAAE;AAAC,WAAO0F,+EAAC,CAAE,MAAI,IAAI5M,CAAJ,EAAN,CAAR;AAAsB;;AAAAs3D,EAAAA,WAAW,CAACr3D,CAAD,EAAGE,CAAH,EAAK;AAAC,WAAO,KAAKs3D,WAAL,CAAiB,mBAAjB,EAAqCx3D,CAArC,EAAuC,aAAvC,EAAqDE,CAArD,CAAP;AAA+D;;AAAA62D,EAAAA,UAAU,CAAC/2D,CAAD,EAAGE,CAAH,EAAK;AAAC,WAAO,KAAKs3D,WAAL,CAAiB,SAAjB,EAA2Bx3D,CAA3B,EAA6B,YAA7B,EAA0CE,CAA1C,CAAP;AAAoD;;AAAAu3D,EAAAA,UAAU,CAACz3D,CAAD,EAAGE,CAAH,EAAK;AAAC,WAAOF,CAAC,CAACo3D,SAAF,KAAcp3D,CAAC,CAACo3D,SAAF,GAAY,UAA1B,GAAsC,KAAKI,WAAL,CAAiB,kBAAjB,EAAoCx3D,CAApC,EAAsC,YAAtC,EAAmDE,CAAnD,CAA7C;AAAmG;;AAAAi2D,EAAAA,SAAS,CAACn2D,CAAC,GAAC,KAAKm4C,QAAR,EAAiBj4C,CAAC,GAAC,CAAC,CAApB,EAAsBD,CAAtB,EAAwB;AAAC,UAAMO,CAAC,GAAC,KAAK03C,OAAL,GAAa,eAArB;AAAA,UAAqC93C,CAAC,GAAC;AAAC+3C,MAAAA,QAAQ,EAACn4C,CAAV;AAAYmH,MAAAA,KAAK,EAAC;AAACurD,QAAAA,OAAO,EAACtwD,2DAAC,GAAGwN,WAAJ;AAAT,OAAlB;AAA8C8nD,MAAAA,eAAe,EAAC,CAAC,CAA/D;AAAiE,SAAGz3D;AAApE,KAAvC;AAA8G,WAAM,WAASG,CAAC,CAAC+3C,QAAX,KAAsB/3C,CAAC,CAAC+3C,QAAF,GAAW,WAAjC,GAA8Cj4C,CAAC,KAAGE,CAAC,CAAC+G,KAAF,CAAQqB,OAAR,GAAgB,CAAC,CAApB,CAA/C,EAAsE,KAAK4c,OAAL,CAAa5kB,CAAb,EAAeJ,CAAf,CAA5E;AAA8F;;AAAAo3D,EAAAA,WAAW,CAACx3D,CAAD,EAAGE,CAAH,EAAKD,CAAL,EAAOO,CAAP,EAAS;AAAC,UAAMJ,CAAC,GAACY,gFAAC,CAACsK,8DAAD,EAAGpL,CAAH,CAAT;AAAA,UAAeI,CAAC,GAACJ,CAAC,IAAE,KAAKklB,OAAL,CAAa,KAAK8yB,OAAL,GAAal4C,CAA1B,EAA4B,EAAC,GAAGI,CAAC,CAACu3D,gBAAF,CAAmB,IAAnB,CAAJ;AAA6B,SAAGn3D;AAAhC,KAA5B,EAAgEwF,IAAhE,CAAsEhG,CAAC,IAAE;AAAC,YAAMC,CAAC,GAACG,CAAC,CAACK,KAAF,EAAR;AAAkB,aAAOR,CAAC,CAAC2hB,KAAF,GAAQ5hB,CAAC,CAAC43D,SAAV,EAAoB,IAAIlsD,8DAAJ,CAAM;AAACmsD,QAAAA,eAAe,EAAC53D,CAAjB;AAAmB63D,QAAAA,WAAW,EAAC13D,CAA/B;AAAiC23D,QAAAA,KAAK,EAAC/3D,CAAC,CAAC+3D,KAAzC;AAA+Cf,QAAAA,OAAO,EAACj3D,CAAC,CAACi4D,oBAAF,CAAuB93D,CAAvB,EAAyB;AAACkG,UAAAA,MAAM,EAAC;AAAR,SAAzB,EAAuCpG,CAAvC,EAAyCQ,CAAzC;AAAvD,OAAN,CAA3B;AAAsI,KAAlO,EAAqOwF,IAArO,CAA2OhG,CAAC,IAAEqF,OAAO,CAACc,GAAR,CAAYnG,CAAC,CAACg3D,OAAF,CAAUzxD,GAAV,CAAerF,CAAC,IAAE,cAAY,OAAOA,CAAC,CAAC4D,IAArB,GAA0B5D,CAAC,CAAC4D,IAAF,EAA1B,GAAmC9D,CAArD,CAAZ,EAAsEgG,IAAtE,CAA4E,MAAIhG,CAAhF,EAAoFE,CAAC,KAAGwB,wEAAC,CAACxB,CAAD,CAAD,EAAKF,CAAR,CAArF,CAA9O,CAApB;;AAAsW,WAAOC,CAAC,IAAE6nB,CAAC,CAAC7nB,CAAD,CAAJ,GAAQ6nB,CAAC,CAAC7nB,CAAD,CAAD,GAAO+F,IAAP,CAAa,CAAC;AAACwC,MAAAA,OAAO,EAACxI;AAAT,KAAD,MAAgBW,qEAAC,CAACH,CAAD,CAAD,EAAKF,CAAC,CAACN,CAAD,CAAtB,CAAb,CAAR,GAAkDM,CAAC,EAA1D;AAA6D;;AAAA23D,EAAAA,MAAM,GAAE;AAAC,QAAG,KAAKpC,SAAR,EAAkB,OAAO,KAAK3wD,IAAL,GAAYc,IAAZ,CAAkB,MAAI;AAAC,UAAG,CAAC,KAAK2f,IAAT,EAAc,MAAM,IAAIvlB,sDAAJ,CAAM,0BAAN,EAAiC,qDAAjC,CAAN;AAA8F,KAAnI,CAAP;AAA6I,QAAG,KAAK+3C,QAAL,KAAgBp4C,CAAC,CAACm4D,mBAAlB,IAAuC,KAAK/f,QAAL,KAAgBp4C,CAAC,CAACs2D,mBAAlB,IAAuC,CAACp2D,0CAAlF,EAAoF,OAAOoF,OAAO,CAAC+O,MAAR,CAAe,IAAIhU,sDAAJ,CAAM,0BAAN,EAAkC,2BAA0B,KAAK+3C,QAAS,GAA1E,CAAf,CAAP;AAAqG,QAAG,aAAW,KAAK1yC,UAAnB,EAA8B,OAAOJ,OAAO,CAAC+O,MAAR,CAAe,KAAKiC,SAApB,CAAP;;AAAsC,UAAMrW,CAAC,GAACA,CAAC,IAAEqF,OAAO,CAACC,OAAR,GAAkBU,IAAlB,CAAwB,MAAI,iBAAe,KAAKP,UAApB,IAAgCzF,CAAC,KAAG,KAAKm4C,QAAL,GAAc,WAAjB,CAAD,EAA+B,KAAKjzC,IAAL,GAAYc,IAAZ,CAAkB,MAAI,IAAtB,CAA/D,IAA6F,cAAY,KAAKP,UAAjB,GAA4B,KAAKP,IAAL,GAAYc,IAAZ,CAAkB,MAAI,KAAK6xC,UAAL,GAAgB,IAAhB,IAAsB,KAAKA,UAAL,GAAgB73C,CAAhB,EAAkB,KAAKm2D,SAAL,CAAe,WAAf,CAAxC,CAAtB,CAA5B,GAAyH,KAAKxwC,IAAL,IAAW,KAAKkyB,UAAL,KAAkB73C,CAA7B,GAA+B,IAA/B,IAAqC,KAAK63C,UAAL,GAAgB73C,CAAhB,EAAkB,KAAKm2D,SAAL,CAAe,WAAf,CAAvD,CAAlP,EAAwUnwD,IAAxU,CAA8UhG,CAAC,IAAE;AAACA,MAAAA,CAAC,KAAG,KAAKkxC,UAAL,GAAgBlxC,CAAhB,EAAkB,KAAKiE,IAAL,CAAUjE,CAAV,CAArB,CAAD;AAAoC,KAAtX,CAAX;;AAAoY,WAAOC,0CAAC,GAACA,wDAAA,CAAgB,KAAKi4C,OAArB,EAA6B;AAACP,MAAAA,MAAM,EAAC,KAAKQ,QAAL,KAAgBp4C,CAAC,CAACs2D;AAA1B,KAA7B,EAA6ErwD,IAA7E,CAAmF9F,CAAC,IAAEF,CAAC,CAACE,CAAD,CAAvF,CAAD,GAA8FF,CAAC,CAAC,KAAK63C,UAAN,CAAvG;AAAyH;;AAAAsgB,EAAAA,YAAY,CAACn4D,CAAD,EAAG;AAAC,UAAME,CAAC,GAAC,KAAK23C,UAAL,EAAiBrwC,KAAzB;AAA+B,WAAO,KAAKwuD,aAAL,CAAmB91D,CAAC,GAACF,CAAC,IAAEA,CAAC,CAAC8xB,QAAF,CAAW,GAAX,IAAgB,GAAhB,GAAoB,GAAtB,CAAD,GAA4B,QAA5B,GAAqC5xB,CAAtC,GAAwCF,CAA5D,CAAP;AAAsE;;AAAAo4D,EAAAA,mBAAmB,CAACp4D,CAAD,EAAGE,CAAH,EAAKD,CAAL,EAAO;AAAC,WAAO,KAAKmlB,OAAL,CAAaplB,CAAb,EAAeE,CAAf,EAAkB8F,IAAlB,CAAwBhG,CAAC,IAAE;AAAC,YAAME,CAAC,GAACH,CAAC,CAACi4D,oBAAF,CAAuB/3D,CAAvB,EAAyB;AAACmG,QAAAA,MAAM,EAAC;AAAR,OAAzB,EAAuCpG,CAAvC,CAAR;;AAAkD,aAAOqF,OAAO,CAACc,GAAR,CAAYjG,CAAC,CAACqF,GAAF,CAAOrF,CAAC,IAAE,cAAY,OAAOA,CAAC,CAAC4D,IAArB,GAA0B5D,CAAC,CAAC4D,IAAF,EAA1B,GAAmC9D,CAA7C,CAAZ,EAA8DgG,IAA9D,CAAoE,MAAI9F,CAAxE,EAA4E,MAAIA,CAAhF,CAAP;AAA2F,KAAzK,CAAP;AAAmL;;AAAAklB,EAAAA,OAAO,CAACplB,CAAD,EAAGE,CAAC,GAAC,EAAL,EAAQ;AAAC,UAAMD,CAAC,GAAC;AAAC2B,MAAAA,CAAC,EAAC,MAAH;AAAU,SAAG1B,CAAC,CAACiH;AAAf,KAAR;AAAA,UAA8B;AAACgxC,MAAAA,QAAQ,EAAC/3C,CAAC,GAAE,KAAK+3C,QAAL,KAAgBp4C,CAAC,CAACm4D,mBAAlB,IAAuC,KAAK/f,QAAL,KAAgBp4C,CAAC,CAACs2D,mBAAzD,GAA6E,KAAKle,QAAlF,GAA2F,MAAxG;AAAgHvuB,MAAAA,IAAI,EAACtpB,CAAC,GAAC,IAAvH;AAA4H+3D,MAAAA,SAAS,EAAC33D,CAAC,GAAC,CAAC,CAAzI;AAA2I43D,MAAAA,MAAM,EAACz3D,CAAC,GAAC,MAApJ;AAA2Jqd,MAAAA,YAAY,EAAC1c,CAAC,GAAC,MAA1K;AAAiLkG,MAAAA,MAAM,EAAC/G;AAAxL,QAA2LT,CAAzN;AAAA,UAA2NY,CAAC,GAAC;AAACq3C,MAAAA,QAAQ,EAAC/3C,CAAV;AAAYwpB,MAAAA,IAAI,EAACtpB,CAAjB;AAAmB+3D,MAAAA,SAAS,EAAC33D,CAA7B;AAA+B43D,MAAAA,MAAM,EAACz3D,CAAtC;AAAwCsG,MAAAA,KAAK,EAAClH,CAA9C;AAAgDie,MAAAA,YAAY,EAAC1c,CAA7D;AAA+Dqe,MAAAA,OAAO,EAAC,CAAvE;AAAyEnY,MAAAA,MAAM,EAAC/G;AAAhF,KAA7N;AAAgT,WAAOT,CAAC,CAACw3D,eAAF,KAAoB52D,CAAC,CAAC42D,eAAF,GAAkB,CAAC,CAAvC,GAA0Cl3D,uDAAC,CAAC,KAAKw1D,aAAL,CAAmBh2D,CAAnB,CAAD,EAAuBc,CAAvB,CAAD,CAA2BkF,IAA3B,CAAiChG,CAAC,IAAEA,CAAC,CAACkE,IAAtC,CAAjD;AAA8F;;AAAAqG,EAAAA,MAAM,GAAE;AAAC,UAAM,IAAInK,sDAAJ,CAAM,8BAAN,EAAqC,sCAArC,CAAN;AAAmF;;AAAe,SAARyH,QAAQ,CAAC7H,CAAD,EAAG;AAAC,QAAG,CAACA,CAAJ,EAAM,OAAO,IAAP;AAAY,QAAGA,CAAC,CAACuJ,aAAL,EAAmB,MAAM,IAAI+R,KAAJ,CAAU,iCAAV,CAAN;AAAmD,WAAO,IAAIvb,CAAJ,CAAM;AAACmxC,MAAAA,UAAU,EAAClxC;AAAZ,KAAN,CAAP;AAA6B;;AAAAw2D,EAAAA,iBAAiB,CAACx2D,CAAD,EAAG;AAAC,UAAME,CAAC,GAAC,KAAKwzD,cAAL,IAAqB,KAAKA,cAAL,CAAoB1zD,CAApB,CAA7B;AAAoD,QAAG,CAACE,CAAJ,EAAM,MAAM,IAAIE,sDAAJ,CAAM,0BAAN,EAAkC,yDAAwDJ,CAAE,GAA5F,CAAN;AAAsG,WAAOE,CAAP;AAAS;;AAAMw2D,EAAAA,cAAc,CAAC12D,CAAD,EAAGE,CAAH,EAAK;AAAA;;AAAA;AAAC,YAAMD,CAAC,GAAC,IAAIqL,8DAAJ,EAAR;AAAcrL,MAAAA,CAAC,CAACkH,KAAF,GAAQnH,CAAC,KAAG,MAAI,CAAC61D,SAAL,GAAe,MAAI,CAAC5C,2BAApB,GAAgD,MAAI,CAACkC,iBAAL,GAAuB,MAAI,CAACC,8BAA5B,GAA2D,MAAI,CAACzD,wBAAnH,CAAT,EAAsJ1xD,CAAC,CAAC62D,iBAAF,GAAoB,CAAC,CAA3K;AAA6K,YAAMt2D,CAAC,SAAO,MAAI,CAAC62D,WAAL,CAAiBp3D,CAAjB,EAAmBC,CAAnB,CAAd;AAAoC,UAAG,CAACM,CAAC,CAACu3D,KAAN,EAAY,OAAM,EAAN;AAAS,YAAM33D,CAAC,GAACI,CAAC,CAACw2D,OAAF,CAAU,CAAV,CAAR;AAAqB/2D,MAAAA,CAAC,CAACu6C,GAAF,GAAM,GAAN,EAAUv6C,CAAC,CAACkH,KAAF,GAAQ,wCAAlB,EAA2DlH,CAAC,CAACm3D,SAAF,GAAYh3D,CAAC,CAACg3D,SAAF,IAAa,MAApF,EAA2Fn3D,CAAC,CAACs4D,SAAF,GAAYn4D,CAAC,CAACm4D,SAAF,IAAa,MAApH;AAA2H,YAAMj4D,CAAC,SAAOF,CAAC,CAAC22D,UAAF,CAAa92D,CAAb,EAAeC,CAAf,CAAd;AAAgC,UAAG,CAACI,CAAC,CAACy3D,KAAN,EAAY,OAAM,EAAN;AAAS,aAAOz3D,CAAC,CAAC02D,OAAF,CAAUrwD,MAAV,CAAkB3G,CAAC,IAAE,cAAYA,CAAC,CAACuD,IAAnC,EAA0CgC,GAA1C,CAA+CvF,CAAC,IAAE,IAAIgH,CAAJ,CAAM;AAACrE,QAAAA,UAAU,EAAC3C;AAAZ,OAAN,CAAlD,CAAP;AAA1b;AAA2gB;;AAAM42D,EAAAA,gBAAgB,CAAC52D,CAAD,EAAGE,CAAH,EAAK;AAAA;;AAAA;AAAC,YAAMD,CAAC,GAACD,CAAC,IAAE,MAAI,CAAC4xD,0BAAhB;AAA2C,UAAG,CAAC3xD,CAAJ,EAAM,OAAM,EAAN;AAAS,YAAMO,CAAC,GAAC,IAAI8K,8DAAJ,CAAM;AAACnE,QAAAA,KAAK,EAAClH,CAAP;AAAS62D,QAAAA,iBAAiB,EAAC,CAAC;AAA5B,OAAN,CAAR;AAAA,YAA8C12D,CAAC,SAAO,MAAI,CAACi3D,WAAL,CAAiB72D,CAAjB,EAAmBN,CAAnB,CAAtD;AAA4E,UAAG,CAACE,CAAC,CAAC23D,KAAN,EAAY,OAAM,EAAN;AAAS,YAAMz3D,CAAC,GAACF,CAAC,CAAC42D,OAAF,CAAU,CAAV,CAAR;AAAqBx2D,MAAAA,CAAC,CAACg6C,GAAF,GAAM,GAAN,EAAUh6C,CAAC,CAAC2G,KAAF,GAAQ,kBAAlB,EAAqC3G,CAAC,CAAC42D,SAAF,GAAY92D,CAAC,CAAC82D,SAAF,IAAa,MAA9D,EAAqE52D,CAAC,CAAC+3D,SAAF,GAAYj4D,CAAC,CAACi4D,SAAF,IAAa,MAA9F;AAAqG,YAAM73D,CAAC,SAAOJ,CAAC,CAACy2D,UAAF,CAAav2D,CAAb,EAAeN,CAAf,CAAd;AAAgC,UAAG,CAACQ,CAAC,CAACq3D,KAAN,EAAY,OAAM,EAAN;AAAS,aAAOr3D,CAAC,CAACs2D,OAAF,CAAUrwD,MAAV,CAAkB3G,CAAC,IAAE,gBAAcA,CAAC,CAACuD,IAArC,EAA4CgC,GAA5C,CAAiDvF,CAAC,IAAE,IAAIgH,CAAJ,CAAM;AAACrE,QAAAA,UAAU,EAAC3C;AAAZ,OAAN,CAApD,CAAP;AAA3U;AAA8Z;;AAAAg2D,EAAAA,aAAa,CAACh2D,CAAD,EAAG;AAAC,WAAOA,CAAC,CAACuQ,OAAF,CAAU,SAAV,EAAoB,QAApB,EAA8BA,OAA9B,CAAsC,OAAtC,EAA8C,OAA9C,CAAP;AAA8D;;AAAAilD,EAAAA,YAAY,CAACx1D,CAAD,EAAG;AAAC,QAAGA,CAAH,EAAK;AAAC,YAAME,CAAC,GAAC8G,CAAC,CAACa,QAAF,CAAW7H,CAAX,CAAR;AAAsB,aAAOE,CAAC,CAACyC,UAAF,GAAa;AAACyD,QAAAA,MAAM,EAAC;AAAR,OAAb,EAA2BlG,CAAlC;AAAoC;;AAAA,WAAO,IAAP;AAAY;;AAA2B,SAApB83D,oBAAoB,CAACh4D,CAAD,EAAGE,CAAH,EAAKD,CAAL,EAAOO,CAAP,EAAS;AAAC,QAAIJ,CAAJ;;AAAM,QAAGH,CAAH,EAAK;AAAC,YAAMK,CAAC,GAAC,QAAME,CAAN,GAAQA,CAAC,CAACkH,MAAV,GAAiB,IAAzB;AAA8BtH,MAAAA,CAAC,GAACH,CAAC,CAACu4D,QAAF,IAAYv4D,CAAC,CAACw4D,aAAd,IAA6Bx4D,CAAC,CAACy4D,eAA/B,IAAgDz4D,CAAC,CAAC04D,IAAlD,IAAwD14D,CAAC,CAACgiB,KAA1D,IAAiEhiB,CAAC,CAAC24D,MAAnE,IAA2E34D,CAAC,CAAC44D,QAA7E,IAAuF54D,CAAC,CAAC64D,UAAzF,IAAqG74D,CAAC,CAAC+2D,OAAvG,IAAgH/2D,CAAC,CAAC84D,YAAlH,IAAgI94D,CAAlI,EAAoI,CAACD,CAAC,IAAEE,CAAJ,MAASE,CAAC,GAACA,CAAC,CAACmF,GAAF,CAAOtF,CAAC,IAAE;AAAC,cAAMO,CAAC,GAAC6Z,MAAM,CAAC2+C,MAAP,CAAch5D,CAAC,GAACA,CAAC,CAAC6H,QAAF,CAAW5H,CAAX,CAAD,GAAeA,CAA9B,EAAgCC,CAAhC,CAAR;AAA2C,eAAM,cAAY,OAAOM,CAAC,CAAC0E,IAArB,IAA2B1E,CAAC,CAAC0E,IAAF,CAAO5E,CAAP,CAA3B,EAAqCE,CAA3C;AAA6C,OAAnG,CAAX,CAApI;AAAsP,KAA1R,MAA+RJ,CAAC,GAAC,EAAF;;AAAK,WAAOA,CAAP;AAAS;;AAAphT,CAA3B;AAAijTiG,CAAC,CAAC6xD,mBAAF,GAAsB,WAAtB,EAAkC7xD,CAAC,CAAC+vD,cAAF,GAAiB,MAAnD,EAA0D/vD,CAAC,CAAC4yD,mBAAF,GAAsB,WAAhF,EAA4F5yD,CAAC,CAACgwD,mBAAF,GAAsB,WAAlH,EAA8Hr2D,uDAAC,CAAC,CAACoB,uFAAC,EAAF,CAAD,EAAOiF,CAAC,CAAC8B,SAAT,EAAmB,QAAnB,EAA4B,KAAK,CAAjC,CAA/H,EAAmKnI,uDAAC,CAAC,CAACoB,uFAAC,EAAF,CAAD,EAAOiF,CAAC,CAAC8B,SAAT,EAAmB,QAAnB,EAA4B,KAAK,CAAjC,CAApK,EAAwMnI,uDAAC,CAAC,CAACoB,uFAAC,EAAF,CAAD,EAAOiF,CAAC,CAAC8B,SAAT,EAAmB,UAAnB,EAA8B,KAAK,CAAnC,CAAzM,EAA+OnI,uDAAC,CAAC,CAACoB,uFAAC,EAAF,CAAD,EAAOiF,CAAC,CAAC8B,SAAT,EAAmB,8BAAnB,EAAkD,KAAK,CAAvD,CAAhP,EAA0SnI,uDAAC,CAAC,CAACkB,mFAAC,CAAC,8BAAD,CAAF,CAAD,EAAqCmF,CAAC,CAAC8B,SAAvC,EAAiD,kCAAjD,EAAoF,IAApF,CAA3S,EAAqYnI,uDAAC,CAAC,CAACoB,uFAAC,EAAF,CAAD,EAAOiF,CAAC,CAAC8B,SAAT,EAAmB,0BAAnB,EAA8C,KAAK,CAAnD,CAAtY,EAA4bnI,uDAAC,CAAC,CAACoB,uFAAC,CAAC;AAAC2G,EAAAA,IAAI,EAAC;AAACqS,IAAAA,IAAI,EAAC;AAAN;AAAN,CAAD,CAAF,CAAD,EAAiD/T,CAAC,CAAC8B,SAAnD,EAA6D,4BAA7D,EAA0F,KAAK,CAA/F,CAA7b,EAA+hBnI,uDAAC,CAAC,CAACoB,uFAAC,EAAF,CAAD,EAAOiF,CAAC,CAAC8B,SAAT,EAAmB,SAAnB,EAA6B,KAAK,CAAlC,CAAhiB,EAAqkBnI,uDAAC,CAAC,CAACoB,uFAAC,EAAF,CAAD,EAAOiF,CAAC,CAAC8B,SAAT,EAAmB,aAAnB,EAAiC,KAAK,CAAtC,CAAtkB,EAA+mBnI,uDAAC,CAAC,CAACoB,uFAAC,EAAF,CAAD,EAAOiF,CAAC,CAAC8B,SAAT,EAAmB,aAAnB,EAAiC,KAAK,CAAtC,CAAhnB,EAAypBnI,uDAAC,CAAC,CAACoB,uFAAC,EAAF,CAAD,EAAOiF,CAAC,CAAC8B,SAAT,EAAmB,4BAAnB,EAAgD,KAAK,CAArD,CAA1pB,EAAktBnI,uDAAC,CAAC,CAACoB,uFAAC,EAAF,CAAD,EAAOiF,CAAC,CAAC8B,SAAT,EAAmB,4BAAnB,EAAgD,KAAK,CAArD,CAAntB,EAA2wBnI,uDAAC,CAAC,CAACoB,uFAAC,EAAF,CAAD,EAAOiF,CAAC,CAAC8B,SAAT,EAAmB,iBAAnB,EAAqC,KAAK,CAA1C,CAA5wB,EAAyzBnI,uDAAC,CAAC,CAACoB,uFAAC,EAAF,CAAD,EAAOiF,CAAC,CAAC8B,SAAT,EAAmB,oBAAnB,EAAwC,KAAK,CAA7C,CAA1zB,EAA02BnI,uDAAC,CAAC,CAACoB,uFAAC,EAAF,CAAD,EAAOiF,CAAC,CAAC8B,SAAT,EAAmB,gBAAnB,EAAoC,KAAK,CAAzC,CAA32B,EAAu5BnI,uDAAC,CAAC,CAACoB,uFAAC,EAAF,CAAD,EAAOiF,CAAC,CAAC8B,SAAT,EAAmB,iBAAnB,EAAqC,KAAK,CAA1C,CAAx5B,EAAq8BnI,uDAAC,CAAC,CAACoB,uFAAC,EAAF,CAAD,EAAOiF,CAAC,CAAC8B,SAAT,EAAmB,cAAnB,EAAkC,KAAK,CAAvC,CAAt8B,EAAg/BnI,uDAAC,CAAC,CAACoB,uFAAC,EAAF,CAAD,EAAOiF,CAAC,CAAC8B,SAAT,EAAmB,qBAAnB,EAAyC,KAAK,CAA9C,CAAj/B,EAAkiCnI,uDAAC,CAAC,CAACoB,uFAAC,EAAF,CAAD,EAAOiF,CAAC,CAAC8B,SAAT,EAAmB,iBAAnB,EAAqC,KAAK,CAA1C,CAAniC,EAAglCnI,uDAAC,CAAC,CAACoB,uFAAC,CAAC;AAACmC,EAAAA,IAAI,EAACP;AAAN,CAAD,CAAF,CAAD,EAAkBqD,CAAC,CAAC8B,SAApB,EAA8B,SAA9B,EAAwC,KAAK,CAA7C,CAAjlC,EAAioCnI,uDAAC,CAAC,CAACoB,uFAAC,EAAF,CAAD,EAAOiF,CAAC,CAAC8B,SAAT,EAAmB,YAAnB,EAAgC,KAAK,CAArC,CAAloC,EAA0qCnI,uDAAC,CAAC,CAACoB,uFAAC,EAAF,CAAD,EAAOiF,CAAC,CAAC8B,SAAT,EAAmB,SAAnB,EAA6B,KAAK,CAAlC,CAA3qC,EAAgtCnI,uDAAC,CAAC,CAACoB,uFAAC,EAAF,CAAD,EAAOiF,CAAC,CAAC8B,SAAT,EAAmB,gBAAnB,EAAoC,KAAK,CAAzC,CAAjtC,EAA6vCnI,uDAAC,CAAC,CAACoB,uFAAC,EAAF,CAAD,EAAOiF,CAAC,CAAC8B,SAAT,EAAmB,eAAnB,EAAmC,KAAK,CAAxC,CAA9vC,EAAyyCnI,uDAAC,CAAC,CAACoB,uFAAC,EAAF,CAAD,EAAOiF,CAAC,CAAC8B,SAAT,EAAmB,uBAAnB,EAA2C,KAAK,CAAhD,CAA1yC,EAA61CnI,uDAAC,CAAC,CAACoB,uFAAC,EAAF,CAAD,EAAOiF,CAAC,CAAC8B,SAAT,EAAmB,gBAAnB,EAAoC,KAAK,CAAzC,CAA91C,EAA04CnI,uDAAC,CAAC,CAACkB,mFAAC,CAAC,gBAAD,CAAF,CAAD,EAAuBmF,CAAC,CAAC8B,SAAzB,EAAmC,oBAAnC,EAAwD,IAAxD,CAA34C,EAAy8CnI,uDAAC,CAAC,CAACoB,uFAAC,EAAF,CAAD,EAAOiF,CAAC,CAAC8B,SAAT,EAAmB,mBAAnB,EAAuC,KAAK,CAA5C,CAA18C,EAAy/CnI,uDAAC,CAAC,CAACkB,mFAAC,CAAC,mBAAD,CAAF,CAAD,EAA0BmF,CAAC,CAAC8B,SAA5B,EAAsC,uBAAtC,EAA8D,IAA9D,CAA1/C,EAA8jDnI,uDAAC,CAAC,CAACoB,uFAAC,CAAC;AAACmC,EAAAA,IAAI,EAAChB,4DAACA;AAAP,CAAD,CAAF,CAAD,EAAe8D,CAAC,CAAC8B,SAAjB,EAA2B,eAA3B,EAA2C,KAAK,CAAhD,CAA/jD,EAAknDnI,uDAAC,CAAC,CAACoB,uFAAC,EAAF,CAAD,EAAOiF,CAAC,CAAC8B,SAAT,EAAmB,sBAAnB,EAA0C,KAAK,CAA/C,CAAnnD,EAAqqDnI,uDAAC,CAAC,CAACkB,mFAAC,CAAC,sBAAD,CAAF,CAAD,EAA6BmF,CAAC,CAAC8B,SAA/B,EAAyC,0BAAzC,EAAoE,IAApE,CAAtqD,EAAgvDnI,uDAAC,CAAC,CAACoB,uFAAC,EAAF,CAAD,EAAOiF,CAAC,CAAC8B,SAAT,EAAmB,aAAnB,EAAiC,KAAK,CAAtC,CAAjvD,EAA0xDnI,uDAAC,CAAC,CAACoB,uFAAC,EAAF,CAAD,EAAOiF,CAAC,CAAC8B,SAAT,EAAmB,6BAAnB,EAAiD,KAAK,CAAtD,CAA3xD,EAAo1DnI,uDAAC,CAAC,CAACoB,uFAAC,EAAF,CAAD,EAAOiF,CAAC,CAAC8B,SAAT,EAAmB,aAAnB,EAAiC,KAAK,CAAtC,CAAr1D,EAA83DnI,uDAAC,CAAC,CAACoB,uFAAC,CAAC;AAACiH,EAAAA,QAAQ,EAAC,CAAC;AAAX,CAAD,CAAF,CAAD,EAAoBhC,CAAC,CAAC8B,SAAtB,EAAgC,YAAhC,EAA6C,IAA7C,CAA/3D,EAAk7DnI,uDAAC,CAAC,CAACoB,uFAAC,EAAF,CAAD,EAAOiF,CAAC,CAAC8B,SAAT,EAAmB,gBAAnB,EAAoC,KAAK,CAAzC,CAAn7D,EAA+9DnI,uDAAC,CAAC,CAACoB,uFAAC,EAAF,CAAD,EAAOiF,CAAC,CAAC8B,SAAT,EAAmB,yBAAnB,EAA6C,KAAK,CAAlD,CAAh+D,EAAqhEnI,uDAAC,CAAC,CAACoB,uFAAC,EAAF,CAAD,EAAOiF,CAAC,CAAC8B,SAAT,EAAmB,4BAAnB,EAAgD,KAAK,CAArD,CAAthE,EAA8kEnI,uDAAC,CAAC,CAACoB,uFAAC,EAAF,CAAD,EAAOiF,CAAC,CAAC8B,SAAT,EAAmB,kBAAnB,EAAsC,KAAK,CAA3C,CAA/kE,EAA6nEnI,uDAAC,CAAC,CAACoB,uFAAC,EAAF,CAAD,EAAOiF,CAAC,CAAC8B,SAAT,EAAmB,uBAAnB,EAA2C,KAAK,CAAhD,CAA9nE,EAAirEnI,uDAAC,CAAC,CAACoB,uFAAC,CAAC;AAACiH,EAAAA,QAAQ,EAAC,CAAC;AAAX,CAAD,CAAF,CAAD,EAAoBhC,CAAC,CAAC8B,SAAtB,EAAgC,WAAhC,EAA4C,IAA5C,CAAlrE,EAAouEnI,uDAAC,CAAC,CAACoB,uFAAC,EAAF,CAAD,EAAOiF,CAAC,CAAC8B,SAAT,EAAmB,mBAAnB,EAAuC,KAAK,CAA5C,CAAruE,EAAoxEnI,uDAAC,CAAC,CAACoB,uFAAC,EAAF,CAAD,EAAOiF,CAAC,CAAC8B,SAAT,EAAmB,yBAAnB,EAA6C,KAAK,CAAlD,CAArxE,EAA00EnI,uDAAC,CAAC,CAACoB,uFAAC,EAAF,CAAD,EAAOiF,CAAC,CAAC8B,SAAT,EAAmB,UAAnB,EAA8B,KAAK,CAAnC,CAA30E,EAAi3EnI,uDAAC,CAAC,CAACoB,uFAAC,EAAF,CAAD,EAAOiF,CAAC,CAAC8B,SAAT,EAAmB,gBAAnB,EAAoC,KAAK,CAAzC,CAAl3E,EAA85EnI,uDAAC,CAAC,CAACoB,uFAAC,EAAF,CAAD,EAAOiF,CAAC,CAAC8B,SAAT,EAAmB,SAAnB,EAA6B,KAAK,CAAlC,CAA/5E,EAAo8EnI,uDAAC,CAAC,CAACoB,uFAAC,EAAF,CAAD,EAAOiF,CAAC,CAAC8B,SAAT,EAAmB,yBAAnB,EAA6C,KAAK,CAAlD,CAAr8E,EAA0/EnI,uDAAC,CAAC,CAACoB,uFAAC,EAAF,CAAD,EAAOiF,CAAC,CAAC8B,SAAT,EAAmB,8BAAnB,EAAkD,KAAK,CAAvD,CAA3/E,EAAqjFnI,uDAAC,CAAC,CAACoB,uFAAC,EAAF,CAAD,EAAOiF,CAAC,CAAC8B,SAAT,EAAmB,UAAnB,EAA8B,KAAK,CAAnC,CAAtjF,EAA4lFnI,uDAAC,CAAC,CAACoB,uFAAC,EAAF,CAAD,EAAOiF,CAAC,CAAC8B,SAAT,EAAmB,WAAnB,EAA+B,KAAK,CAApC,CAA7lF,EAAooFnI,uDAAC,CAAC,CAACoB,uFAAC,EAAF,CAAD,EAAOiF,CAAC,CAAC8B,SAAT,EAAmB,IAAnB,EAAwB,KAAK,CAA7B,CAAroF,EAAqqFnI,uDAAC,CAAC,CAACoB,uFAAC,EAAF,CAAD,EAAOiF,CAAC,CAAC8B,SAAT,EAAmB,aAAnB,EAAiC,KAAK,CAAtC,CAAtqF,EAA+sFnI,uDAAC,CAAC,CAACoB,uFAAC,CAAC;AAACiH,EAAAA,QAAQ,EAAC,CAAC;AAAX,CAAD,CAAF,CAAD,EAAoBhC,CAAC,CAAC8B,SAAtB,EAAgC,gBAAhC,EAAiD,IAAjD,CAAhtF,EAAuwFnI,uDAAC,CAAC,CAACoB,uFAAC,EAAF,CAAD,EAAOiF,CAAC,CAAC8B,SAAT,EAAmB,UAAnB,EAA8B,KAAK,CAAnC,CAAxwF,EAA8yFnI,uDAAC,CAAC,CAACoB,uFAAC,EAAF,CAAD,EAAOiF,CAAC,CAAC8B,SAAT,EAAmB,YAAnB,EAAgC,KAAK,CAArC,CAA/yF,EAAu1FnI,uDAAC,CAAC,CAACoB,uFAAC,CAAC;AAACiH,EAAAA,QAAQ,EAAC,CAAC;AAAX,CAAD,CAAF,CAAD,EAAoBhC,CAAC,CAAC8B,SAAtB,EAAgC,aAAhC,EAA8C,IAA9C,CAAx1F,EAA44FnI,uDAAC,CAAC,CAACoB,uFAAC,EAAF,CAAD,EAAOiF,CAAC,CAAC8B,SAAT,EAAmB,0BAAnB,EAA8C,KAAK,CAAnD,CAA74F,EAAm8FnI,uDAAC,CAAC,CAACoB,uFAAC,EAAF,CAAD,EAAOiF,CAAC,CAAC8B,SAAT,EAAmB,2BAAnB,EAA+C,KAAK,CAApD,CAAp8F,EAA2/FnI,uDAAC,CAAC,CAACoB,uFAAC,CAAC;AAACmC,EAAAA,IAAI,EAACP;AAAN,CAAD,CAAF,CAAD,EAAkBqD,CAAC,CAAC8B,SAApB,EAA8B,UAA9B,EAAyC,KAAK,CAA9C,CAA5/F,EAA6iGnI,uDAAC,CAAC,CAACoB,uFAAC,EAAF,CAAD,EAAOiF,CAAC,CAAC8B,SAAT,EAAmB,MAAnB,EAA0B,KAAK,CAA/B,CAA9iG,EAAglGnI,uDAAC,CAAC,CAACoB,uFAAC,EAAF,CAAD,EAAOiF,CAAC,CAAC8B,SAAT,EAAmB,gBAAnB,EAAoC,KAAK,CAAzC,CAAjlG,EAA6nGnI,uDAAC,CAAC,CAACoB,uFAAC,EAAF,CAAD,EAAOiF,CAAC,CAAC8B,SAAT,EAAmB,YAAnB,EAAgC,KAAK,CAArC,CAA9nG,EAAsqGnI,uDAAC,CAAC,CAACoB,uFAAC,EAAF,CAAD,EAAOiF,CAAC,CAAC8B,SAAT,EAAmB,kBAAnB,EAAsC,KAAK,CAA3C,CAAvqG,EAAqtGnI,uDAAC,CAAC,CAACoB,uFAAC,EAAF,CAAD,EAAOiF,CAAC,CAAC8B,SAAT,EAAmB,QAAnB,EAA4B,KAAK,CAAjC,CAAttG,EAA0vGnI,uDAAC,CAAC,CAACoB,uFAAC,EAAF,CAAD,EAAOiF,CAAC,CAAC8B,SAAT,EAAmB,mBAAnB,EAAuC,KAAK,CAA5C,CAA3vG,EAA0yGnI,uDAAC,CAAC,CAACoB,uFAAC,CAAC;AAACiH,EAAAA,QAAQ,EAAC,CAAC;AAAX,CAAD,CAAF,CAAD,EAAoBhC,CAAC,CAAC8B,SAAtB,EAAgC,SAAhC,EAA0C,IAA1C,CAA3yG,EAA21GnI,uDAAC,CAAC,CAACoB,uFAAC,EAAF,CAAD,EAAOiF,CAAC,CAAC8B,SAAT,EAAmB,eAAnB,EAAmC,KAAK,CAAxC,CAA51G,EAAu4GnI,uDAAC,CAAC,CAACoB,uFAAC,EAAF,CAAD,EAAOiF,CAAC,CAAC8B,SAAT,EAAmB,yBAAnB,EAA6C,KAAK,CAAlD,CAAx4G,EAA67GnI,uDAAC,CAAC,CAACoB,uFAAC,EAAF,CAAD,EAAOiF,CAAC,CAAC8B,SAAT,EAAmB,YAAnB,EAAgC,KAAK,CAArC,CAA97G,EAAs+GnI,uDAAC,CAAC,CAACoB,uFAAC,EAAF,CAAD,EAAOiF,CAAC,CAAC8B,SAAT,EAAmB,iBAAnB,EAAqC,KAAK,CAA1C,CAAv+G,EAAohHnI,uDAAC,CAAC,CAACoB,uFAAC,CAAC;AAAC2G,EAAAA,IAAI,EAAC;AAACqS,IAAAA,IAAI,EAAC;AAAN;AAAN,CAAD,CAAF,CAAD,EAAyC/T,CAAC,CAAC8B,SAA3C,EAAqD,oBAArD,EAA0E,KAAK,CAA/E,CAArhH,EAAumHnI,uDAAC,CAAC,CAACoB,uFAAC,CAAC;AAAC2G,EAAAA,IAAI,EAAC;AAACqS,IAAAA,IAAI,EAAC;AAAN;AAAN,CAAD,CAAF,CAAD,EAAuC/T,CAAC,CAAC8B,SAAzC,EAAmD,oBAAnD,EAAwE,KAAK,CAA7E,CAAxmH,EAAwrHnI,uDAAC,CAAC,CAACoB,uFAAC,EAAF,CAAD,EAAOiF,CAAC,CAAC8B,SAAT,EAAmB,wBAAnB,EAA4C,KAAK,CAAjD,CAAzrH,EAA6uHnI,uDAAC,CAAC,CAACoB,uFAAC,EAAF,CAAD,EAAOiF,CAAC,CAAC8B,SAAT,EAAmB,sBAAnB,EAA0C,KAAK,CAA/C,CAA9uH,EAAgyHnI,uDAAC,CAAC,CAACoB,uFAAC,EAAF,CAAD,EAAOiF,CAAC,CAAC8B,SAAT,EAAmB,qBAAnB,EAAyC,KAAK,CAA9C,CAAjyH,EAAk1HnI,uDAAC,CAAC,CAACoB,uFAAC,EAAF,CAAD,EAAOiF,CAAC,CAAC8B,SAAT,EAAmB,WAAnB,EAA+B,KAAK,CAApC,CAAn1H,EAA03HnI,uDAAC,CAAC,CAACoB,uFAAC,CAAC;AAACiH,EAAAA,QAAQ,EAAC,CAAC;AAAX,CAAD,CAAF,CAAD,EAAoBhC,CAAC,CAAC8B,SAAtB,EAAgC,cAAhC,EAA+C,IAA/C,CAA33H,EAAg7HnI,uDAAC,CAAC,CAACoB,uFAAC,EAAF,CAAD,EAAOiF,CAAC,CAAC8B,SAAT,EAAmB,OAAnB,EAA2B,KAAK,CAAhC,CAAj7H,EAAo9HnI,uDAAC,CAAC,CAACoB,uFAAC,EAAF,CAAD,EAAOiF,CAAC,CAAC8B,SAAT,EAAmB,KAAnB,EAAyB,KAAK,CAA9B,CAAr9H,EAAs/HnI,uDAAC,CAAC,CAACoB,uFAAC,EAAF,CAAD,EAAOiF,CAAC,CAAC8B,SAAT,EAAmB,QAAnB,EAA4B,KAAK,CAAjC,CAAv/H,EAA2hInI,uDAAC,CAAC,CAACkB,mFAAC,CAAC,QAAD,CAAF,CAAD,EAAemF,CAAC,CAAC8B,SAAjB,EAA2B,YAA3B,EAAwC,IAAxC,CAA5hI,EAA0kInI,uDAAC,CAAC,CAACoB,uFAAC,EAAF,CAAD,EAAOiF,CAAC,CAAC8B,SAAT,EAAmB,MAAnB,EAA0B,KAAK,CAA/B,CAA3kI,EAA6mInI,uDAAC,CAAC,CAACkB,mFAAC,CAAC,MAAD,CAAF,CAAD,EAAamF,CAAC,CAAC8B,SAAf,EAAyB,UAAzB,EAAoC,IAApC,CAA9mI,EAAwpInI,uDAAC,CAAC,CAACoB,uFAAC,EAAF,CAAD,EAAOiF,CAAC,CAAC8B,SAAT,EAAmB,eAAnB,EAAmC,KAAK,CAAxC,CAAzpI,EAAosInI,uDAAC,CAAC,CAACoB,uFAAC,EAAF,CAAD,EAAOiF,CAAC,CAAC8B,SAAT,EAAmB,qBAAnB,EAAyC,KAAK,CAA9C,CAArsI,EAAsvInI,uDAAC,CAAC,CAACoB,uFAAC,EAAF,CAAD,EAAOiF,CAAC,CAAC8B,SAAT,EAAmB,sBAAnB,EAA0C,KAAK,CAA/C,CAAvvI,EAAyyInI,uDAAC,CAAC,CAACoB,uFAAC,EAAF,CAAD,EAAOiF,CAAC,CAAC8B,SAAT,EAAmB,mBAAnB,EAAuC,KAAK,CAA5C,CAA1yI,EAAy1InI,uDAAC,CAAC,CAACoB,uFAAC,EAAF,CAAD,EAAOiF,CAAC,CAAC8B,SAAT,EAAmB,gCAAnB,EAAoD,KAAK,CAAzD,CAA11I,EAAs5I9B,CAAC,GAACtG,CAAC,GAACC,uDAAC,CAAC,CAAC4B,uFAAC,CAAC,oBAAD,CAAF,CAAD,EAA2ByE,CAA3B,CAA35I;AAAy7I,MAAMxE,CAAC,GAACwE,CAAR;AAAA,MAAU0C,CAAC,GAAC,IAAImwD,oBAAJ,CAA0Bl5D,CAAC,IAAE;AAACA,EAAAA,CAAC,CAACsD,MAAF;AAAW,CAAzC,CAAZ;;AAAwD,SAASvB,CAAT,CAAW/B,CAAX,EAAa;AAAC,QAAME,CAAC,GAACD,0CAAR;AAAU,SAAM,MAAI;AAAC,UAAMA,CAAC,GAACD,CAAC,CAACm5D,KAAF,EAAR;AAAkBl5D,IAAAA,CAAC,IAAEC,CAAC,CAAC6iC,cAAF,CAAiB9iC,CAAC,CAACi4C,OAAnB,CAAH,IAAgCj4C,CAAC,CAACg4D,MAAF,GAAWl0D,KAAX,CAAkB,MAAI,CAAE,CAAxB,CAAhC;AAA2D,GAAxF;AAAyF;;;;;;;;;;;;;;;;;;;;;;;;;ACJn5e;AACA;AACA;AACA;AACkW,oBAAoB,6DAAC,CAAC,eAAe,4FAA4F,UAAU,6BAA6B,YAAY,EAAE,iBAAiB,cAAc,GAAG,QAAQ,OAAO,SAAS,UAAU,sDAAC,gFAAgF,uDAAC,EAAE,sFAAC,EAAE,UAAU,iCAAiC,uDAAC,EAAE,sFAAC,6BAA6B,uDAAC,EAAE,sFAAC,iCAAiC,uDAAC,EAAE,sFAAC,gCAAgC,uDAAC,EAAE,sFAAC,EAAE,YAAY,2BAA2B,uDAAC,EAAE,sFAAC,qCAAqC,uDAAC,EAAE,sFAAC,iCAAiC,UAA+B;;;;;;;;;;;;;;;;;;;;;;;;;ACJl+B;AACA;AACA;AACA;AACib,MAAM,sBAAsB,6DAAC,CAAC,eAAe,0QAA0Q,mBAAmB,kCAAkC,sDAAsD,EAAE,QAAQ,EAAE,eAAe,UAAU,6BAA6B,6CAA6C,uBAAuB,mEAAmE,6BAA6B,2HAA2H,GAAG,gBAAgB,gDAAgD,mBAAmB,wBAAwB,uBAAuB,EAAE,KAAK,SAAS,UAAU,sDAAC,6EAA6E,mBAAmB,kBAAkB,sEAAsE,eAAe,aAAa,EAAE,mBAAmB,gBAAgB,MAAM,+EAAC,CAAC,6DAAC,IAAI,oBAAoB,gDAAgD,6DAAC,kCAAkC,QAAQ,+CAA+C,6DAAC,sEAAsE,6BAA6B,oBAAoB,8CAA8C,wCAAwC,MAAM,YAAY,6DAAC,EAAE,mCAAmC,EAAE,0BAA0B,UAAU,sDAAC,qFAAqF,aAAa,YAAY,2BAA2B,6DAAC,EAAE,6BAA6B,EAAE,GAAG,EAAE,yBAAyB,UAAU,sDAAC,qFAAqF,aAAa,YAAY,kDAAkD,0BAA0B,sBAAsB,GAAG,SAAS,KAAK,uDAAC,EAAE,sFAAC,iCAAiC,uDAAC,EAAE,sFAAC,EAAE,UAAU,iCAAiC,uDAAC,EAAE,sFAAC,sCAAsC,uDAAC,EAAE,sFAAC,6BAA6B,uDAAC,EAAE,sFAAC,2CAA2C,uDAAC,EAAE,sFAAC,EAAE,UAAU,kCAAkC,uDAAC,EAAE,sFAAC,gCAAgC,uDAAC,EAAE,sFAAC,iCAAiC,uDAAC,EAAE,sFAAC,kCAAkC,uDAAC,EAAE,sFAAC,oCAAoC,uDAAC,EAAE,sFAAC,oCAAoC,uDAAC,EAAE,sFAAC,qCAAqC,uDAAC,EAAE,sFAAC,+BAA+B,uDAAC,EAAE,sFAAC,oCAAoC,uDAAC,EAAE,sFAAC,EAAE,YAAY,oCAAoC,uDAAC,EAAE,sFAAC,gCAAgC,uDAAC,EAAE,sFAAC,EAAE,YAAY,+BAA+B,uDAAC,EAAE,sFAAC,gCAAgC,UAA+B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACJ7tG;AACA;AACA;AACA;AACA;AAA2C;AAA2C;AAAgC;AAA0D;AAAqD;AAAmC;AAAuE;AAA0E;AAAoE;AAAsE;AAA0E;AAAqC;AAA2B;AAAuC;AAAiC;AAAqD,IAAIxB,CAAJ;AAAM,MAAMX,CAAC,GAAC,IAAIgL,GAAJ,CAAQ,CAAC,iBAAD,EAAmB,KAAnB,EAAyB,oBAAzB,EAA8C,iBAA9C,EAAgE,MAAhE,EAAuE,SAAvE,EAAiF,aAAjF,EAA+F,eAA/F,EAA+G,KAA/G,EAAqH,aAArH,EAAmI,aAAnI,EAAiJ,eAAjJ,EAAiK,gBAAjK,EAAkL,qBAAlL,EAAwM,KAAxM,EAA8M,KAA9M,EAAoN,MAApN,CAAR,CAAR;AAAA,MAA6O/K,CAAC,GAAC,IAAI+K,GAAJ,CAAQ,CAAC,KAAD,EAAO,SAAP,EAAiB,KAAjB,CAAR,CAA/O;AAAgR,IAAIV,CAAC,GAAC3J,CAAC,GAAC,cAActC,sEAAC,CAACK,yDAAD,CAAf,CAAmB;AAAY,SAAJkf,IAAI,CAACxf,CAAD,EAAG;AAAC,WAAOgB,gFAAC,CAACuB,CAAD,EAAGvC,CAAH,CAAR;AAAc;;AAAAyC,EAAAA,WAAW,CAACzC,CAAD,EAAG;AAAC,UAAMA,CAAN,GAAS,KAAKwxD,MAAL,GAAY,IAArB,EAA0B,KAAK8H,iBAAL,GAAuB,IAAjD,EAAsD,KAAK7xD,MAAL,GAAY,IAAlE,EAAuE,KAAK8xD,kBAAL,GAAwB,IAA/F,EAAoG,KAAKC,SAAL,GAAe,IAAnH,EAAwH,KAAKC,UAAL,GAAgB,IAAxI,EAA6I,KAAKC,cAAL,GAAoB,IAAjK,EAAsK,KAAKjH,OAAL,GAAa,IAAnL,EAAwL,KAAKC,OAAL,GAAa,IAArM,EAA0M,KAAK3kD,WAAL,GAAiB,IAA3N,EAAgO,KAAKiL,MAAL,GAAY,IAA5O,EAAiP,KAAK2gD,eAAL,GAAqB,IAAtQ,EAA2Q,KAAKj3D,EAAL,GAAQ,IAAnR,EAAwR,KAAKk3D,SAAL,GAAe,CAAC,CAAxS,EAA0S,KAAKC,WAAL,GAAiB,IAA3T,EAAgU,KAAKC,WAAL,GAAiB,IAAjV,EAAsV,KAAK1F,QAAL,GAAc,IAApW,EAAyW,KAAKh6C,IAAL,GAAU,IAAnX,EAAwX,KAAK2/C,WAAL,GAAiB,IAAzY,EAA8Y,KAAKC,UAAL,GAAgB,IAA9Z,EAAma,KAAKC,QAAL,GAAc,IAAjb,EAAsb,KAAK3S,KAAL,GAAW,IAAjc,EAAsc,KAAK4S,WAAL,GAAiB,IAAvd,EAA4d,KAAK9zD,MAAL,GAAY,IAAxe,EAA6e,KAAK+zD,WAAL,GAAiB,IAA9f,EAAmgB,KAAK3kC,IAAL,GAAU,IAA7gB,EAAkhB,KAAK4kC,OAAL,GAAa,IAA/hB,EAAoiB,KAAKlpB,UAAL,GAAgB,IAApjB,EAAyjB,KAAKsG,SAAL,GAAe,IAAxkB,EAA6kB,KAAK50C,gBAAL,GAAsB,IAAnmB,EAAwmB,KAAK+1D,IAAL,GAAU,IAAlnB,EAAunB,KAAK51D,KAAL,GAAW,IAAloB,EAAuoB,KAAKQ,IAAL,GAAU,IAAjpB,EAAspB,KAAK82D,YAAL,GAAkB,IAAxqB,EAA6qB,KAAKx0D,GAAL,GAAS,IAAtrB;AAA2rB;;AAAAzB,EAAAA,OAAO,GAAE;AAAC,SAAKgC,MAAL,GAAY,IAAZ;AAAiB;;AAAe,MAAXk0D,WAAW,GAAE;AAAC,UAAMt6D,CAAC,GAAC,KAAKuD,IAAb;AAAA,UAAkBrD,CAAC,GAAC,KAAKm6D,YAAL,IAAmB,EAAvC;AAA0C,QAAI35D,CAAC,GAACV,CAAN;AAAQ,WAAM,sBAAoBA,CAApB,IAAuB,yBAAuBA,CAA9C,GAAgDU,CAAC,GAACR,CAAC,CAAC4xB,QAAF,CAAW,OAAX,IAAoB,OAApB,GAA4B5xB,CAAC,CAAC4xB,QAAF,CAAW,aAAX,IAA0B,aAA1B,GAAwC5xB,CAAC,CAAC4xB,QAAF,CAAW,QAAX,IAAqB,QAArB,GAA8B,eAApJ,GAAoK,oBAAkB9xB,CAAlB,GAAoBU,CAAC,GAACR,CAAC,CAAC4xB,QAAF,CAAW,oBAAX,IAAiC,iBAAjC,GAAmD5xB,CAAC,CAAC4xB,QAAF,CAAW,eAAX,IAA4B,qBAA5B,GAAkD,eAA3H,GAA2I,oBAAkB9xB,CAAlB,GAAoBU,CAAC,GAAC,aAAtB,GAAoC,oBAAkBV,CAAlB,GAAoBU,CAAC,GAAC,aAAtB,GAAoC,oBAAkBV,CAAlB,GAAoBU,CAAC,GAAC,qBAAtB,GAA4C,qBAAmBV,CAAnB,GAAqBU,CAAC,GAAC,eAAvB,GAAuC,4BAA0BV,CAA1B,GAA4BU,CAAC,GAACR,CAAC,CAAC4xB,QAAF,CAAW,UAAX,IAAuB,MAAvB,GAA8B,uBAA5D,GAAoF,4BAA0B9xB,CAA1B,GAA4BU,CAAC,GAAC,uBAA9B,GAAsD,wBAAsBV,CAAtB,GAAwBU,CAAC,GAAC,SAA1B,GAAoC,2BAAyBV,CAAzB,GAA2BU,CAAC,GAAC,sBAA7B,GAAoD,cAAYV,CAAZ,GAAcU,CAAC,GAAC,SAAhB,GAA0B,oBAAkBV,CAAlB,GAAoBU,CAAC,GAAC,aAAtB,GAAoC,0BAAwBV,CAAxB,GAA0BU,CAAC,GAAC,YAA5B,GAAyC,aAAWV,CAAX,GAAaU,CAAC,GAAC,QAAf,GAAwB,kBAAgBV,CAAhB,GAAkBU,CAAC,GAACR,CAAC,CAAC4xB,QAAF,CAAW,gBAAX,KAA8B,CAAC5xB,CAAC,CAAC4xB,QAAF,CAAW,gBAAX,CAAD,IAA+B,CAAC5xB,CAAC,CAAC4xB,QAAF,CAAW,OAAX,CAA9D,IAAmF5xB,CAAC,CAAC4xB,QAAF,CAAW,YAAX,CAAnF,GAA4G,iBAA5G,GAA8H,YAAlJ,GAA+J9xB,CAAC,EAAE4P,WAAH,GAAiBkiB,QAAjB,CAA0B,QAA1B,IAAoCpxB,CAAC,GAACV,CAAC,CAACqoB,UAAF,CAAa,YAAb,EAA0B,QAA1B,CAAtC,GAA0E,gCAA8BroB,CAA9B,GAAgCU,CAAC,GAAC,qBAAlC,GAAwD,2BAAyBV,CAAzB,GAA2BU,CAAC,GAAC,qBAA7B,GAAmD,+BAA6BV,CAA7B,GAA+BU,CAAC,GAAC,0BAAjC,GAA4D,uBAAqBV,CAArB,GAAuBU,CAAC,GAAC,mBAAzB,GAA6C,8BAA4BV,CAA5B,IAA+BE,CAAC,CAAC4xB,QAAF,CAAW,iBAAX,CAA/B,GAA6DpxB,CAAC,GAAC,aAA/D,GAA6E,oBAAkBV,CAAlB,GAAoBU,CAAC,GAAC,iBAAtB,GAAwC,gCAA8BV,CAA9B,GAAgCU,CAAC,GAAC,mBAAlC,GAAsD,sBAAoBV,CAApB,GAAsBU,CAAC,GAAC,gBAAxB,GAAyC,sBAAoBV,CAApB,KAAwBU,CAAC,GAAC,kBAA1B,CAA57C,EAA0+CA,CAAh/C;AAAk/C;;AAAA65D,EAAAA,UAAU,CAACv6D,CAAD,EAAG;AAAC,WAAOA,CAAC,IAAEA,CAAC,CAAC6N,MAAL,GAAY,IAAI3M,4DAAJ,CAAMlB,CAAC,CAAC,CAAD,CAAD,CAAK,CAAL,CAAN,EAAcA,CAAC,CAAC,CAAD,CAAD,CAAK,CAAL,CAAd,EAAsBA,CAAC,CAAC,CAAD,CAAD,CAAK,CAAL,CAAtB,EAA8BA,CAAC,CAAC,CAAD,CAAD,CAAK,CAAL,CAA9B,CAAZ,GAAmD,IAA1D;AAA+D;;AAAW,MAAPw6D,OAAO,GAAE;AAAC,UAAMx6D,CAAC,GAAC,KAAKuD,IAAL,EAAWqM,WAAX,MAA0B,EAAlC;AAAA,UAAqClP,CAAC,GAAC,KAAK25D,YAAL,IAAmB,EAA1D;AAAA,UAA6Dp6D,CAAC,GAAC,qBAA/D;AAAA,UAAqFO,CAAC,GAAC,IAAvF;AAA4F,QAAIJ,CAAJ;AAAA,QAAME,CAAC,GAAC,CAAC,CAAT;AAAA,QAAWK,CAAC,GAAC,CAAC,CAAd;AAAA,QAAgBE,CAAC,GAAC,CAAC,CAAnB;AAAA,QAAqBC,CAAC,GAAC,CAAC,CAAxB;AAAA,QAA0BE,CAAC,GAAC,CAAC,CAA7B;AAAA,QAA+BU,CAAC,GAAC,CAAC,CAAlC;AAAA,QAAoCF,CAAC,GAAC,CAAC,CAAvC;AAAA,QAAyCN,CAAC,GAAC,CAAC,CAA5C;AAA8C,WAAOlB,CAAC,CAACyR,OAAF,CAAU,SAAV,IAAqB,CAArB,IAAwB,yBAAuBzR,CAA/C,IAAkD,UAAQA,CAA1D,IAA6D,UAAQA,CAArE,IAAwE,WAASA,CAAjF,IAAoF,UAAQA,CAA5F,IAA+FM,CAAC,GAACI,CAAC,CAACoxB,QAAF,CAAW,gBAAX,CAAF,EAA+B,sBAAoB9xB,CAApB,IAAuB,yBAAuBA,CAA9C,IAAiD,UAAQA,CAAzD,IAA4D,UAAQA,CAApE,IAAuEW,CAAC,GAACD,CAAC,CAACoxB,QAAF,CAAW,OAAX,CAAF,EAAsBjxB,CAAC,GAACH,CAAC,CAACoxB,QAAF,CAAW,aAAX,CAAxB,EAAkDhxB,CAAC,GAACJ,CAAC,CAACoxB,QAAF,CAAW,QAAX,CAApD,EAAyE9wB,CAAC,GAACN,CAAC,CAACoxB,QAAF,CAAW,gBAAX,CAA3E,EAAwGpwB,CAAC,GAAChB,CAAC,CAACoxB,QAAF,CAAW,gBAAX,CAA1G,EAAuI1xB,CAAC,GAACY,CAAC,IAAEL,CAAH,GAAK,qBAAL,GAA2BA,CAAC,GAAC,OAAD,GAASE,CAAC,GAAC,YAAD,GAAcC,CAAC,GAAC,QAAD,GAAUE,CAAC,GAAC,gBAAD,GAAkBU,CAAC,GAAC,gBAAD,GAAkBpB,CAAC,GAAC,gBAAD,GAAkB,UAAxU,IAAoV,kBAAgBN,CAAhB,IAAmB,UAAQA,CAA3B,IAA8B,WAASA,CAAvC,IAA0CgB,CAAC,GAACN,CAAC,CAACoxB,QAAF,CAAW,gBAAX,CAAF,EAA+BtwB,CAAC,GAACd,CAAC,CAACoxB,QAAF,CAAW,YAAX,CAAjC,EAA0D1xB,CAAC,GAACY,CAAC,IAAEQ,CAAH,GAAK,WAAL,GAAiBlB,CAAC,IAAEI,CAAC,CAACoxB,QAAF,CAAW,OAAX,CAAH,IAAwB,WAAS9xB,CAAjC,GAAmC,UAAnC,GAA8C,WAArK,IAAkLI,CAAC,GAAC,oBAAkBJ,CAAlB,GAAoBU,CAAC,CAACoxB,QAAF,CAAW,MAAX,IAAmB,mBAAnB,GAAuCpxB,CAAC,CAACoxB,QAAF,CAAW,UAAX,IAAuB,yBAAvB,GAAiDpxB,CAAC,CAACoxB,QAAF,CAAW,OAAX,IAAoB,oBAApB,GAAyCpxB,CAAC,CAACoxB,QAAF,CAAW,gBAAX,IAA6B,mBAA7B,GAAiDpxB,CAAC,CAACoxB,QAAF,CAAW,YAAX,IAAyB,yBAAzB,GAAmDpxB,CAAC,CAACoxB,QAAF,CAAW,SAAX,IAAsB,sBAAtB,GAA6CpxB,CAAC,CAACoxB,QAAF,CAAW,UAAX,IAAuB,uBAAvB,GAA+CpxB,CAAC,CAACoxB,QAAF,CAAW,OAAX,IAAoB,oBAApB,GAAyC,eAA9X,GAA8Y,oBAAkB9xB,CAAlB,GAAoBU,CAAC,CAACoxB,QAAF,CAAW,oBAAX,IAAiC,gBAAjC,GAAkDpxB,CAAC,CAACoxB,QAAF,CAAW,eAAX,IAA4B,mBAA5B,GAAgD,SAAtH,GAAgI,qBAAmB9xB,CAAnB,GAAqB,aAArB,GAAmC,0BAAwBA,CAAxB,GAA0B,YAA1B,GAAuC,gCAA8BA,CAA9B,GAAgC,qBAAhC,GAAsD,wBAAsBA,CAAtB,GAAwB,gBAAxB,GAAyC,oBAAkBA,CAAlB,GAAoBU,CAAC,CAACoxB,QAAF,CAAW,aAAX,IAA0B,sBAA1B,GAAiD,YAArE,GAAkF,4BAA0B9xB,CAA1B,GAA4BU,CAAC,CAACoxB,QAAF,CAAW,UAAX,IAAuB,MAAvB,GAA8B,QAA1D,GAAmE,sBAAoB9xB,CAApB,GAAsB,gBAAtB,GAAuC,sBAAoBA,CAApB,GAAsBU,CAAC,CAACoxB,QAAF,CAAW,UAAX,IAAuB,oBAAvB,GAA4CpxB,CAAC,CAACoxB,QAAF,CAAW,gBAAX,IAA6B,0BAA7B,GAAwD,cAA1H,GAAyI,QAAloD,IAA4oD,cAAY9xB,CAAZ,IAAe,2BAAyBA,CAAxC,GAA0CI,CAAC,GAAC,MAA5C,GAAmD,gBAAcJ,CAAd,GAAgBI,CAAC,GAACM,CAAC,CAACoxB,QAAF,CAAW,mBAAX,IAAgC,eAAhC,GAAgD,gBAAlE,GAAmF,8BAA4B9xB,CAA5B,IAA+BU,CAAC,CAACoxB,QAAF,CAAW,iBAAX,CAA/B,GAA6D1xB,CAAC,GAAC,aAA/D,GAA6E,8BAA4BJ,CAA5B,IAA+B,yBAAuBA,CAAtD,IAAyD,kBAAgBA,CAAzE,IAA4E,qBAAmBA,CAA/F,IAAkG,0BAAwBA,CAA1H,GAA4HI,CAAC,GAAC,MAA9H,GAAqI,mBAAiBJ,CAAjB,IAAoB,kBAAgBA,CAApC,IAAuC,oBAAkBA,CAAzD,IAA4D,qBAAmBA,CAA/E,IAAkF,qBAAmBA,CAArG,IAAwG,sBAAoBA,CAA5H,IAA+H,6BAA2BA,CAA1J,IAA6J,yBAAuBA,CAApL,IAAuL,sBAAoBA,CAA3M,IAA8M,uBAAqBA,CAAnO,IAAsO,cAAYA,CAAlP,IAAqP,aAAWA,CAAhQ,IAAmQ,YAAUA,CAAV,IAAaU,CAAC,CAACoxB,QAAF,CAAW,YAAX,CAAhR,IAA0S,mBAAiB9xB,CAAjB,IAAoBU,CAAC,CAAC+Q,OAAF,CAAU,mBAAV,CAA9T,GAA6VrR,CAAC,GAAC,UAA/V,GAA0W,yBAAuBJ,CAAvB,IAA0B,gBAAcA,CAAxC,IAA2C,kBAAgBA,CAA3D,IAA8D,cAAYA,CAA1E,IAA6E,aAAWA,CAAxF,IAA2F,4BAA0BA,CAArH,GAAuHI,CAAC,GAAC,WAAzH,GAAqI,wBAAsBJ,CAAtB,GAAwBI,CAAC,GAAC,OAA1B,GAAkC,sBAAoBJ,CAApB,IAAuB,qBAAmBA,CAA1C,IAA6C,4BAA0BA,CAAvE,IAA0E,mCAAiCA,CAA3G,GAA6GI,CAAC,GAAC,UAA/G,GAA0H,wBAAsBJ,CAAtB,IAAyB,+BAA6BA,CAAtD,GAAwDI,CAAC,GAAC,cAA1D,GAAyE,UAAQJ,CAAR,GAAUI,CAAC,GAAC,KAAZ,GAAkB,qBAAmBJ,CAAnB,GAAqBI,CAAC,GAAC,MAAvB,GAA8B,sBAAoBJ,CAApB,GAAsBI,CAAC,GAAC,OAAxB,GAAgC,2BAAyBJ,CAAzB,GAA2BI,CAAC,GAAC,KAA7B,GAAmC,mBAAiBJ,CAAjB,IAAoB,uBAAqBA,CAAzC,IAA4C,yBAAuBA,CAAnE,IAAsE,qBAAmBA,CAAzF,IAA4F,qBAAmBA,CAA/G,IAAkH,6BAA2BA,CAA7I,IAAgJ,mBAAiBA,CAAjK,IAAoK,mCAAiCA,CAArM,IAAwM,UAAQA,CAAhN,IAAmN,qBAAmBA,CAAtO,IAAyO,kBAAgBA,CAAzP,IAA4P,oBAAkBA,CAA9Q,IAAiR,0BAAwBA,CAAzS,IAA4S,kCAAgCA,CAA5U,IAA+U,oBAAkBA,CAAjW,IAAoW,+BAA6BA,CAAjY,IAAoY,mBAAiBA,CAAjB,IAAoBU,CAAC,CAACoxB,QAAF,CAAW,8BAAX,CAAxZ,IAAocpxB,CAAC,CAACoxB,QAAF,CAAW,UAAX,CAApc,GAA2d1xB,CAAC,GAAC,eAA7d,GAA6e,+BAA6BJ,CAA7B,IAAgC,4BAA0BA,CAA1D,IAA6D,sBAAoBA,CAAjF,IAAoF,uBAAqBA,CAAzG,IAA4G,4BAA0BA,CAAtI,IAAyI,sBAAoBA,CAA7J,IAAgK,2BAAyBA,CAAzL,IAA4L,+BAA6BA,CAAzN,GAA2NI,CAAC,GAAC,WAA7N,GAAyO,YAAUJ,CAAV,IAAa,oBAAkBA,CAA/B,IAAkC,qBAAmBA,CAArD,GAAuDI,CAAC,GAAC,YAAzD,GAAsE,qBAAmBJ,CAAnB,GAAqBI,CAAC,GAAC,eAAvB,GAAuC,oBAAkBJ,CAAlB,GAAoBI,CAAC,GAAC,cAAtB,GAAqC,sBAAoBJ,CAApB,GAAsBI,CAAC,GAAC,qBAAxB,GAA8C,sBAAoBJ,CAApB,GAAsBI,CAAC,GAAC,cAAxB,GAAuC,2BAAyBJ,CAAzB,GAA2BI,CAAC,GAAC,oBAA7B,GAAkD,mBAAiBJ,CAAjB,IAAoB,2BAAyBA,CAA7C,GAA+CI,CAAC,GAAC,aAAjD,GAA+D,gBAAcJ,CAAd,GAAgBI,CAAC,GAAC,UAAlB,GAA6B,sBAAoBJ,CAApB,GAAsBI,CAAC,GAAC,iBAAxB,GAA0C,kCAAgCJ,CAAhC,GAAkCI,CAAC,GAAC,2BAApC,GAAgE,wBAAsBJ,CAAtB,GAAwBI,CAAC,GAAC,UAA1B,GAAqC,qBAAmBJ,CAAnB,GAAqBI,CAAC,GAAC,eAAvB,GAAuC,oBAAkBJ,CAAlB,GAAoBI,CAAC,GAAC,cAAtB,GAAqC,qBAAmBJ,CAAnB,GAAqBI,CAAC,GAAC,eAAvB,GAAuC,qBAAmBJ,CAAnB,GAAqBI,CAAC,GAAC,eAAvB,GAAuC,eAAaJ,CAAb,GAAeI,CAAC,GAAC,SAAjB,GAA2B,2BAAyBJ,CAAzB,GAA2BI,CAAC,GAAC,SAA7B,GAAuC,gBAAcJ,CAAd,GAAgBI,CAAC,GAAC,UAAlB,GAA6B,kBAAgBJ,CAAhB,GAAkBI,CAAC,GAAC,YAApB,GAAiC,qCAAmCJ,CAAnC,GAAqCI,CAAC,GAAC,8BAAvC,GAAsE,0BAAwBJ,CAAxB,GAA0BI,CAAC,GAAC,qBAA5B,GAAkD,uBAAqBJ,CAArB,GAAuBI,CAAC,GAAC,iBAAzB,GAA2C,oBAAkBJ,CAAlB,GAAoBI,CAAC,GAAC,cAAtB,GAAqC,YAAUJ,CAAV,GAAYI,CAAC,GAACM,CAAC,CAACoxB,QAAF,CAAW,YAAX,IAAyB,iBAAzB,GAA2C,OAAzD,GAAiE,gBAAc9xB,CAAd,GAAgBI,CAAC,GAAC,WAAlB,GAA8B,+BAA6BJ,CAA7B,GAA+BI,CAAC,GAAC,0BAAjC,GAA4D,0BAAwBJ,CAAxB,GAA0BI,CAAC,GAAC,mBAA5B,GAAgD,4BAA0BJ,CAA1B,GAA4BI,CAAC,GAAC,qBAA9B,GAAoD,6BAA2BJ,CAA3B,GAA6BI,CAAC,GAAC,sBAA/B,GAAsD,eAAaJ,CAAb,GAAeI,CAAC,GAAC,WAAjB,GAA6B,iBAAeJ,CAAf,GAAiBI,CAAC,GAAC,YAAnB,GAAgC,4BAA0BJ,CAA1B,GAA4BI,CAAC,GAAC,qBAA9B,GAAoD,yBAAuBJ,CAAvB,GAAyBI,CAAC,GAAC,mBAA3B,GAA+C,8BAA4BJ,CAA5B,GAA8BI,CAAC,GAAC,uBAAhC,GAAwD,wBAAsBJ,CAAtB,GAAwBI,CAAC,GAAC,kBAA1B,GAA6C,WAASJ,CAAT,GAAWI,CAAC,GAAC,MAAb,GAAoB,gCAA8BJ,CAA9B,GAAgCI,CAAC,GAAC,yBAAlC,GAA4D,eAAaJ,CAAb,GAAeI,CAAC,GAAC,UAAjB,GAA4B,eAAaJ,CAAb,GAAeI,CAAC,GAAC,UAAjB,GAA4B,uBAAqBJ,CAArB,GAAuBI,CAAC,GAAC,gBAAzB,GAA0C,cAAYJ,CAAZ,GAAcI,CAAC,GAAC,SAAhB,GAA0B,qBAAmBJ,CAAnB,GAAqBI,CAAC,GAAC,eAAvB,GAAuC,uBAAqBJ,CAArB,GAAuBI,CAAC,GAAC,iBAAzB,GAA2C,2BAAyBJ,CAAzB,GAA2BI,CAAC,GAAC,qBAA7B,GAAmD,iBAAeJ,CAAf,GAAiBI,CAAC,GAAC,WAAnB,GAA+B,0BAAwBJ,CAAxB,GAA0BI,CAAC,GAAC,mBAA5B,GAAgD,kBAAgBJ,CAAhB,GAAkBI,CAAC,GAAC,YAApB,GAAiC,oBAAkBJ,CAAlB,GAAoBI,CAAC,GAAC,cAAtB,GAAqC,qBAAmBJ,CAAnB,GAAqBI,CAAC,GAAC,mBAAvB,GAA2C,8BAA4BJ,CAA5B,GAA8BI,CAAC,GAAC,uBAAhC,GAAwD,gCAA8BJ,CAA9B,GAAgCI,CAAC,GAAC,yBAAlC,GAA4D,wCAAsCJ,CAAtC,GAAwCI,CAAC,GAAC,gCAA1C,GAA2E,eAAaJ,CAAb,GAAeI,CAAC,GAAC,UAAjB,GAA4B,gCAA8BJ,CAA9B,GAAgCI,CAAC,GAAC,yBAAlC,GAA4D,sBAAoBJ,CAApB,GAAsBI,CAAC,GAAC,gBAAxB,GAAyC,8BAA4BJ,CAA5B,GAA8BI,CAAC,GAAC,uBAAhC,GAAwD,qBAAmBJ,CAAnB,GAAqBI,CAAC,GAAC,eAAvB,GAAuC,sBAAoBJ,CAApB,GAAsBI,CAAC,GAAC,gBAAxB,GAAyC,4BAA0BJ,CAA1B,GAA4BI,CAAC,GAAC,qBAA9B,GAAoD,+BAA6BJ,CAA7B,GAA+BI,CAAC,GAAC,iBAAjC,GAAmD,yBAAuBJ,CAAvB,GAAyBI,CAAC,GAAC,WAA3B,GAAuC,mCAAiCJ,CAAjC,GAAmCI,CAAC,GAAC,oBAArC,GAA0D,qBAAmBJ,CAAnB,GAAqBI,CAAC,GAAC,WAAvB,GAAmC,wCAAsCJ,CAAtC,GAAwCI,CAAC,GAAC,eAA1C,GAA0D,uBAAqBJ,CAArB,GAAuBI,CAAC,GAAC,UAAzB,GAAoC,uBAAqBJ,CAArB,GAAuBI,CAAC,GAAC,iBAAzB,GAA2C,kBAAgBJ,CAAhB,GAAkBI,CAAC,GAAC,YAApB,GAAiC,gCAA8BJ,CAA9B,GAAgCI,CAAC,GAAC,yBAAlC,GAA4D,qBAAmBJ,CAAnB,GAAqBI,CAAC,GAAC,eAAvB,GAAuC,oCAAkCJ,CAAlC,GAAoCI,CAAC,GAAC,sBAAtC,GAA6D,wBAAsBJ,CAAtB,GAAwBI,CAAC,GAAC,kBAA1B,GAA6C,iCAA+BJ,CAA/B,GAAiCI,CAAC,GAAC,sBAAnC,GAA0D,iCAA+BJ,CAA/B,GAAiCI,CAAC,GAAC,sBAAnC,GAA0D,yCAAuCJ,CAAvC,GAAyCI,CAAC,GAAC,yBAA3C,GAAqE,sCAAoCJ,CAApC,GAAsCI,CAAC,GAAC,sBAAxC,GAA+D,mCAAiCJ,CAAjC,GAAmCI,CAAC,GAAC,qBAArC,GAA2D,iBAAeJ,CAAf,GAAiBI,CAAC,GAAC,YAAnB,GAAgC,wBAAsBJ,CAAtB,GAAwBI,CAAC,GAAC,kBAA1B,GAA6C,cAAYJ,CAAZ,GAAcI,CAAC,GAAC,QAAhB,GAAyB,oBAAkBJ,CAAlB,GAAoBI,CAAC,GAAC,eAAtB,GAAsC,kBAAgBJ,CAAhB,IAAmBkB,CAAC,GAACR,CAAC,CAACoxB,QAAF,CAAW,KAAX,CAAF,EAAoB1xB,CAAC,GAACc,CAAC,GAAC,cAAD,GAAgB,YAA1D,IAAwEd,CAAC,GAAC,kBAAgBJ,CAAhB,GAAkB,kBAAlB,GAAqC,WAASA,CAAT,GAAWU,CAAC,CAACoxB,QAAF,CAAW,WAAX,IAAwB,QAAxB,GAAiC,eAA5C,GAA4D,UAAQ9xB,CAAR,GAAU,KAAV,GAAgB,YAAUA,CAAV,GAAY,OAAZ,GAAoB,MAA1uO,EAAivOI,CAAC,GAACF,uDAAC,CAACD,CAAC,GAACG,CAAF,GAAII,CAAJ,GAAM,MAAP,CAAF,GAAiB,IAA1wO;AAA+wO;;AAAW,MAAPi6D,OAAO,GAAE;AAAC,WAAO,QAAM,KAAKl3D,IAAX,IAAiB3B,CAAC,CAACyN,GAAF,CAAM,KAAK9L,IAAX,CAAxB;AAAyC;;AAAc,MAAVm3D,UAAU,GAAE;AAAC,WAAO34D,kEAAC,CAAC,KAAK+E,OAAN,CAAR;AAAuB;;AAAe,MAAXivD,WAAW,GAAE;AAAC,UAAM/1D,CAAC,GAAC,KAAKoG,MAAL,EAAa2vD,WAArB;AAAiC,WAAO/1D,CAAC,IAAE,KAAK0C,EAAR,GAAY,GAAE1C,CAAE,OAAM,KAAK0C,EAAG,EAA9B,GAAgC,IAAvC;AAA4C;;AAAW,MAAPoE,OAAO,GAAE;AAAC,UAAM9G,CAAC,GAAC,KAAKoG,MAAL,EAAa8xC,OAArB;AAA6B,WAAOl4C,CAAC,IAAE,KAAK0C,EAAR,GAAY,GAAE1C,CAAE,kBAAiB,KAAK0C,EAAG,EAAzC,GAA2C,IAAlD;AAAuD;;AAAgB,MAAZI,YAAY,GAAE;AAAC,UAAM9C,CAAC,GAAC,KAAK8G,OAAb;AAAA,UAAqB5G,CAAC,GAAC,KAAK6W,SAA5B;AAAsC,WAAO/W,CAAC,IAAEE,CAAH,GAAK,KAAKkG,MAAL,EAAa+xD,YAAb,CAA2B,GAAEn4D,CAAE,SAAQE,CAAE,SAAzC,KAAoD,IAAzD,GAA8D,IAArE;AAA0E;;AAAe,MAAXy6D,WAAW,GAAE;AAAC,UAAM36D,CAAC,GAAC,KAAKoG,MAAL,EAAa8xC,OAArB;AAA6B,QAAG,CAACl4C,CAAJ,EAAM,OAAO,IAAP;AAAY,UAAME,CAAC,GAAC,KAAKonD,KAAL,IAAY,KAAKlhD,MAAL,EAAauf,IAAb,EAAmBi1C,QAAvC;AAAgD,QAAG,CAAC16D,CAAJ,EAAM,OAAO,IAAP;AAAY,WAAO,GAAEF,CAAE,kBAAiB,KAAKk6D,WAAL,GAAkB,GAAEh6D,CAAE,IAAG,KAAKg6D,WAAY,EAA1C,GAA4Ch6D,CAAE,UAAS,KAAKwC,EAAG,EAA3F;AAA6F;;AAAAwC,EAAAA,IAAI,CAAClF,CAAD,EAAG;AAAC,UAAME,CAAC,GAAC,KAAKkG,MAAL,KAAc,KAAKA,MAAL,GAAY9E,8DAAA,EAA1B,CAAR;AAAA,UAAkDZ,CAAC,GAACR,CAAC,CAACgF,IAAF,CAAOlF,CAAP,EAAUgG,IAAV,CAAgB,MAAI,KAAKkrC,UAAL,GAAgB,KAAKA,UAArB,GAAgC,KAAKxuC,EAAL,IAAS,KAAKoE,OAAd,GAAsB5G,CAAC,CAACklB,OAAF,CAAU,KAAKte,OAAf,EAAuB;AAACY,MAAAA,MAAM,EAAC,QAAM1H,CAAN,GAAQA,CAAC,CAAC0H,MAAV,GAAiB,IAAzB;AAA8BP,MAAAA,KAAK,EAAC;AAACK,QAAAA,KAAK,EAAC,KAAKC;AAAZ;AAApC,KAAvB,CAAtB,GAAuG,EAA3J,EAAgKzB,IAAhK,CAAsKhG,CAAC,IAAE;AAAC,WAAKkxC,UAAL,GAAgBlxC,CAAhB,EAAkB,KAAKiE,IAAL,CAAUjE,CAAV,CAAlB;AAA+B,KAAzM,CAApD;AAAgQ,WAAO,KAAKmF,mBAAL,CAAyBzE,CAAzB,GAA4B2E,OAAO,CAACC,OAAR,CAAgB,IAAhB,CAAnC;AAAyD;;AAAMu1D,EAAAA,SAAS,CAAC76D,CAAD,EAAG;AAAA;;AAAA;AAAC,YAAME,CAAC,GAAC;AAACo4D,QAAAA,MAAM,EAAC,MAAR;AAAenxD,QAAAA,KAAK,EAAC;AAArB,OAAR;AAAiC,aAAOnH,CAAC,YAAYoB,yDAAb,KAAiBpB,CAAC,GAACA,CAAC,CAAC86D,MAArB,GAA6B,QAAM96D,CAAN,IAAS2/C,KAAK,CAAC3/C,CAAD,CAAd,IAAmB,YAAU,OAAOA,CAApC,KAAwCE,CAAC,CAACiH,KAAF,CAAQ2zD,MAAR,GAAe96D,CAAvD,CAA7B,EAAuF,KAAI,CAACoG,MAAL,IAAa,MAAM,KAAI,CAACA,MAAL,CAAYgf,OAAZ,CAAoB,KAAI,CAACte,OAAL,GAAa,YAAjC,EAA8C5G,CAA9C,CAAN,EAAuD,IAAIkB,yDAAJ,CAAM;AAAC05D,QAAAA,MAAM,EAAC96D,CAAR;AAAUyyD,QAAAA,OAAO,EAAC,IAAIzvD,IAAJ;AAAlB,OAAN,CAApE,IAAwG,IAAtM;AAAlC;AAA6O;;AAAAvC,EAAAA,KAAK,GAAE;AAAC,UAAMT,CAAC,GAAC;AAACwxD,MAAAA,MAAM,EAAC,KAAKA,MAAb;AAAoB8H,MAAAA,iBAAiB,EAAC,KAAKA,iBAA3C;AAA6DC,MAAAA,kBAAkB,EAAC/4D,oDAAC,CAAC,KAAK+4D,kBAAN,CAAjF;AAA2GC,MAAAA,SAAS,EAAC,KAAKA,SAA1H;AAAoIC,MAAAA,UAAU,EAACj5D,oDAAC,CAAC,KAAKi5D,UAAN,CAAhJ;AAAkKC,MAAAA,cAAc,EAACl5D,oDAAC,CAAC,KAAKk5D,cAAN,CAAlL;AAAwMjH,MAAAA,OAAO,EAACjyD,oDAAC,CAAC,KAAKiyD,OAAN,CAAjN;AAAgOC,MAAAA,OAAO,EAAC,KAAKA,OAA7O;AAAqP3kD,MAAAA,WAAW,EAAC,KAAKA,WAAtQ;AAAkRiL,MAAAA,MAAM,EAACxY,oDAAC,CAAC,KAAKwY,MAAN,CAA1R;AAAwS2gD,MAAAA,eAAe,EAACn5D,oDAAC,CAAC,KAAKm5D,eAAN,CAAzT;AAAgVj3D,MAAAA,EAAE,EAAC,KAAKA,EAAxV;AAA2Vm3D,MAAAA,WAAW,EAAC,KAAKA,WAA5W;AAAwXC,MAAAA,WAAW,EAAC,KAAKA,WAAzY;AAAqZ1F,MAAAA,QAAQ,EAAC5zD,oDAAC,CAAC,KAAK4zD,QAAN,CAA/Z;AAA+ah6C,MAAAA,IAAI,EAAC,KAAKA,IAAzb;AAA8b2/C,MAAAA,WAAW,EAAC,KAAKA,WAA/c;AAA2dC,MAAAA,UAAU,EAAC,KAAKA,UAA3e;AAAsfC,MAAAA,QAAQ,EAAC,KAAKA,QAApgB;AAA6gB3S,MAAAA,KAAK,EAAC,KAAKA,KAAxhB;AAA8hB4S,MAAAA,WAAW,EAAC,KAAKA,WAA/iB;AAA2jB9zD,MAAAA,MAAM,EAAC,KAAKA,MAAvkB;AAA8kB+zD,MAAAA,WAAW,EAAC35D,oDAAC,CAAC,KAAK25D,WAAN,CAA3lB;AAA8mB3kC,MAAAA,IAAI,EAAC,KAAKA,IAAxnB;AAA6nB4kC,MAAAA,OAAO,EAAC,KAAKA,OAA1oB;AAAkpB5iB,MAAAA,SAAS,EAAC,KAAKA,SAAjqB;AAA2qB50C,MAAAA,gBAAgB,EAAC,KAAKA,gBAAjsB;AAAktB+1D,MAAAA,IAAI,EAACn4D,oDAAC,CAAC,KAAKm4D,IAAN,CAAxtB;AAAouB5hD,MAAAA,SAAS,EAAC,KAAKA,SAAnvB;AAA6vBhU,MAAAA,KAAK,EAAC,KAAKA,KAAxwB;AAA8wBQ,MAAAA,IAAI,EAAC,KAAKA,IAAxxB;AAA6xB82D,MAAAA,YAAY,EAAC75D,oDAAC,CAAC,KAAK65D,YAAN,CAA3yB;AAA+zBx0D,MAAAA,GAAG,EAAC,KAAKA;AAAx0B,KAAR;AAAq1B,SAAKL,MAAL,KAAcxF,CAAC,CAACyF,UAAF,GAAa,QAA3B;AAAqC,UAAMvF,CAAC,GAAC,IAAIqC,CAAJ,CAAM;AAAC2uC,MAAAA,UAAU,EAAC,KAAKA;AAAjB,KAAN,EAAoCxrC,GAApC,CAAwC1F,CAAxC,CAAR;AAAmD,WAAOE,CAAC,CAACqE,IAAF,CAAO,WAAP,EAAmB,KAAKq1D,SAAxB,GAAmC15D,CAA1C;AAA4C;;AAAA66D,EAAAA,eAAe,GAAE;AAAC,UAAM/6D,CAAC,GAAC,KAAKuK,MAAL,EAAR;;AAAsB,SAAI,MAAMrK,CAAV,IAAc,CAAC,MAAD,EAAQ,cAAR,EAAuB,YAAvB,CAAd,EAAmDF,CAAC,CAACE,CAAD,CAAD,GAAKF,CAAC,CAACE,CAAD,CAAD,EAAMsmB,IAAN,CAAW,IAAX,CAAL;;AAAsB,SAAI,MAAMtmB,CAAV,IAAc,CAAC,QAAD,EAAU,gBAAV,CAAd,EAA0C;AAAC,YAAMQ,CAAC,GAACV,CAAC,CAACE,CAAD,CAAT;AAAaQ,MAAAA,CAAC,KAAGV,CAAC,CAACE,CAAD,CAAD,GAAKumB,IAAI,CAACC,SAAL,CAAehmB,CAAf,CAAR,CAAD;AAA4B;;AAAA,WAAOV,CAAP;AAAS;;AAAMg7D,EAAAA,YAAY,GAAE;AAAA;;AAAA;AAAC,YAAM,MAAI,CAAC50D,MAAL,CAAYgf,OAAZ,CAAoB,MAAI,CAACte,OAAL,GAAa,eAAjC,EAAiD;AAACwxD,QAAAA,MAAM,EAAC;AAAR,OAAjD,CAAN;AAAD;AAAyE;;AAAAzxD,EAAAA,SAAS,CAAC7G,CAAC,GAAC,MAAH,EAAUE,CAAV,EAAY;AAAC,WAAO,KAAKkG,MAAL,CAAYgf,OAAZ,CAAoB,KAAKte,OAAL,GAAa,OAAjC,EAAyC;AAACoX,MAAAA,YAAY,EAACle,CAAd;AAAgB,SAAGE,CAAnB;AAAqBiH,MAAAA,KAAK,EAAC;AAACK,QAAAA,KAAK,EAAC,KAAKC;AAAZ;AAA3B,KAAzC,CAAP;AAAiG;;AAAMwzD,EAAAA,WAAW,CAACj7D,CAAD,EAAG;AAAA;;AAAA;AAAC,YAAME,CAAC,SAAO,MAAI,CAACkG,MAAL,CAAYgf,OAAZ,CAAoB,MAAI,CAACte,OAAL,GAAa,SAAjC,EAA2C;AAACK,QAAAA,KAAK,EAAC;AAACK,UAAAA,KAAK,EAAC,MAAI,CAACC;AAAZ,SAAP;AAA2B,WAAGzH;AAA9B,OAA3C,CAAd;AAA2F,aAAO,QAAME,CAAC,CAAC46D,MAAR,IAAgB56D,CAAC,CAACuyD,OAAF,GAAU,IAAIzvD,IAAJ,CAAS9C,CAAC,CAACuyD,OAAX,CAAV,EAA8B,IAAIrxD,yDAAJ,CAAMlB,CAAN,CAA9C,IAAwD,IAA/D;AAA5F;AAAgK;;AAAAg7D,EAAAA,iBAAiB,CAACl7D,CAAD,EAAGE,CAAH,EAAK;AAAC,WAAO,KAAKkG,MAAL,CAAYgyD,mBAAZ,CAAgC,KAAKtxD,OAAL,GAAa,eAA7C,EAA6D;AAACK,MAAAA,KAAK,EAAC,EAAC,GAAGnH,CAAJ;AAAMwH,QAAAA,KAAK,EAAC,KAAKC;AAAjB,OAAP;AAAgC,SAAGvH;AAAnC,KAA7D,EAAmGqC,CAAnG,CAAP;AAA6G;;AAAA44D,EAAAA,eAAe,CAACn7D,CAAD,EAAG;AAAC,QAAIE,CAAC,GAAC,KAAK4C,YAAX;AAAwB,WAAO5C,CAAC,IAAEF,CAAH,KAAOE,CAAC,IAAG,MAAKF,CAAE,EAAlB,GAAqBE,CAA5B;AAA8B;;AAAA03C,EAAAA,MAAM,GAAE;AAAC,WAAO,KAAKxxC,MAAL,CAAYgf,OAAZ,CAAoB,KAAKte,OAAL,IAAc,EAAlC,EAAqC;AAACuxD,MAAAA,SAAS,EAAC,CAAC,CAAZ;AAAclxD,MAAAA,KAAK,EAAC;AAACK,QAAAA,KAAK,EAAC,KAAKC;AAAZ;AAApB,KAArC,EAA+EzB,IAA/E,CAAqFhG,CAAC,KAAG,KAAKu5D,kBAAL,IAAyB,CAACl/C,MAAM,CAAC+gD,MAAP,CAAcp7D,CAAd,EAAgB,YAAhB,CAA1B,KAA0D,KAAKu5D,kBAAL,GAAwB,IAAlF,GAAwF,KAAKroB,UAAL,GAAgBlxC,CAAxG,EAA0G,KAAKiE,IAAL,CAAUjE,CAAV,CAA1G,EAAuH,IAA1H,CAAtF,CAAP;AAA+N;;AAAAq7D,EAAAA,MAAM,CAACr7D,CAAD,EAAG;AAAC,WAAO,KAAK0C,EAAL,GAAQ,KAAKwC,IAAL,GAAYc,IAAZ,CAAkB,MAAI,KAAKI,MAAL,CAAY6xD,MAAZ,EAAtB,EAA6CjyD,IAA7C,CAAmD,MAAI;AAAC,YAAM9F,CAAC,GAACF,CAAC,EAAEkE,IAAX;AAAA,YAAgBxD,CAAC,GAAC;AAAC43D,QAAAA,MAAM,EAAC;AAAR,OAAlB;AAAkC53D,MAAAA,CAAC,CAACyG,KAAF,GAAQ,KAAK4zD,eAAL,EAAR;;AAA+B,WAAI,MAAM/6D,CAAV,IAAeU,CAAC,CAACyG,KAAjB,EAAuB,SAAOzG,CAAC,CAACyG,KAAF,CAAQnH,CAAR,CAAP,KAAoBU,CAAC,CAACyG,KAAF,CAAQnH,CAAR,IAAW,EAA/B;;AAAmC,aAAOU,CAAC,CAACyG,KAAF,CAAQm0D,gBAAR,GAAyB,CAAC,CAA1B,EAA4B,QAAMp7D,CAAN,KAAU,YAAU,OAAOA,CAAjB,GAAmBQ,CAAC,CAACyG,KAAF,CAAQkF,IAAR,GAAanM,CAAhC,GAAkC,YAAU,OAAOA,CAAjB,KAAqBQ,CAAC,CAACyG,KAAF,CAAQkF,IAAR,GAAaoa,IAAI,CAACC,SAAL,CAAexmB,CAAf,CAAlC,CAA5C,CAA5B,EAA8H,KAAKkG,MAAL,CAAYgf,OAAZ,CAAqB,GAAE,KAAKu1C,WAAY,SAAxC,EAAiDj6D,CAAjD,EAAoDsF,IAApD,CAA0D,MAAI,KAAK4xC,MAAL,EAA9D,CAArI;AAAmN,KAAtY,CAAR,GAAiZvyC,OAAO,CAAC+O,MAAR,CAAe,IAAI1T,sDAAJ,CAAM,4BAAN,EAAmC,mDAAnC,CAAf,CAAxZ;AAAggB;;AAAM66D,EAAAA,IAAI,CAACv7D,CAAD,EAAG;AAAA;;AAAA;AAAC,UAAG,CAAC,MAAI,CAAC0C,EAAT,EAAY,MAAM,IAAIhC,sDAAJ,CAAM,4BAAN,EAAmC,6BAAnC,CAAN;AAAwE,YAAM,MAAI,CAACwE,IAAL,EAAN;AAAkB,YAAK;AAACkB,QAAAA,MAAM,EAAClG,CAAR;AAAU4G,QAAAA,OAAO,EAAC7G;AAAlB,UAAqB,MAA1B;AAA+B,YAAMC,CAAC,CAAC+3D,MAAF,EAAN;AAAiB,YAAK;AAACuD,QAAAA,aAAa,EAACh7D,CAAf;AAAiBi7D,QAAAA,MAAM,EAACr7D,CAAxB;AAA0Bu4D,QAAAA,IAAI,EAACr4D,CAA/B;AAAiCyC,QAAAA,KAAK,EAACpC;AAAvC,UAA0CX,CAAC,IAAE,EAAlD;AAAA,YAAqDa,CAAC,GAAC;AAACy3D,QAAAA,MAAM,EAAC,MAAR;AAAenxD,QAAAA,KAAK,EAAC;AAACu0D,UAAAA,oBAAoB,EAAC,UAAQl7D,CAA9B;AAAgCi7D,UAAAA,MAAM,EAAC,YAAU,OAAOr7D,CAAjB,GAAmBA,CAAnB,GAAqBA,CAAC,EAAEsC,EAA/D;AAAkEi5D,UAAAA,gBAAgB,EAAC,CAAC,CAACn7D,CAArF;AAAuFm4D,UAAAA,IAAI,EAACr4D,CAAC,EAAEkmB,IAAH,CAAQ,GAAR,CAA5F;AAAyGzjB,UAAAA,KAAK,EAACpC;AAA/G;AAArB,OAAvD;AAAA,YAA+L;AAACiH,QAAAA,MAAM,EAAC9G;AAAR,gBAAiBZ,CAAC,CAACklB,OAAF,CAAW,GAAEnlB,CAAE,OAAf,EAAsBY,CAAtB,CAAhN;AAAyO,aAAO,IAAI0B,CAAJ,CAAM;AAACG,QAAAA,EAAE,EAAC5B,CAAJ;AAAMsF,QAAAA,MAAM,EAAClG;AAAb,OAAN,CAAP;AAAhY;AAA8Z;;AAAA4W,EAAAA,eAAe,CAAC9W,CAAD,EAAG;AAAC,WAAO,KAAK0C,EAAL,GAAQ,KAAKwC,IAAL,GAAYc,IAAZ,CAAkB,MAAI,KAAKI,MAAL,CAAY6xD,MAAZ,EAAtB,EAA6CjyD,IAA7C,CAAmD,MAAI;AAAC,YAAM9F,CAAC,GAACF,CAAC,CAAC+W,SAAV;AAAA,YAAoBrW,CAAC,GAACV,CAAC,CAACgX,QAAxB;AAAA,YAAiC/W,CAAC,GAAC;AAACq4D,QAAAA,MAAM,EAAC;AAAR,OAAnC;AAAmD,UAAG,YAAU,OAAOp4D,CAApB,EAAsBS,iEAAC,CAACT,CAAD,CAAD,GAAKD,CAAC,CAACkH,KAAF,GAAQ;AAACjD,QAAAA,IAAI,EAAChE;AAAN,OAAb,GAAsBD,CAAC,CAACkH,KAAF,GAAQ;AAACtB,QAAAA,GAAG,EAAChF,+DAAC,CAACX,CAAD;AAAN,OAA9B,EAAyC,QAAMQ,CAAN,KAAUT,CAAC,CAACkH,KAAF,CAAQ6P,QAAR,GAAiBtW,CAA3B,CAAzC,CAAtB,KAAiG;AAAC,cAAMV,CAAC,GAAC,IAAI47D,QAAJ,EAAR;AAAqB,gBAAMl7D,CAAN,GAAQV,CAAC,CAAC67D,MAAF,CAAS,MAAT,EAAgB37D,CAAhB,EAAkBQ,CAAlB,CAAR,GAA6BV,CAAC,CAAC67D,MAAF,CAAS,MAAT,EAAgB37D,CAAhB,CAA7B,EAAgDD,CAAC,CAAC2pB,IAAF,GAAO5pB,CAAvD;AAAyD;AAAA,aAAO,KAAKoG,MAAL,CAAYgf,OAAZ,CAAqB,GAAE,KAAKu1C,WAAY,kBAAxC,EAA0D16D,CAA1D,EAA6D+F,IAA7D,CAAmE,MAAI,KAAK4xC,MAAL,EAAvE,CAAP;AAA8F,KAAzX,CAAR,GAAoYvyC,OAAO,CAAC+O,MAAR,CAAe,IAAI1T,sDAAJ,CAAM,4BAAN,EAAmC,mDAAnC,CAAf,CAA3Y;AAAmf;;AAAMo7D,EAAAA,cAAc,CAAC97D,CAAC,GAAC,EAAH,EAAME,CAAN,EAAQ;AAAA;;AAAA;AAAC,YAAK;AAAC47D,QAAAA,cAAc,EAACp7D;AAAhB,gBAAyB,6LAA9B;AAAmE,aAAOA,CAAC,CAAC,MAAD,EAAMV,CAAN,EAAQE,CAAR,CAAR;AAApE;AAAuF;;AAAM67D,EAAAA,WAAW,CAAC/7D,CAAD,EAAGE,CAAH,EAAKQ,CAAL,EAAO;AAAA;;AAAA;AAAC,YAAK;AAACs7D,QAAAA,oBAAoB,EAAC/7D;AAAtB,gBAA+B,6LAApC;AAAyE,aAAOD,CAAC,CAAC2C,UAAF,GAAa,MAAb,QAAwB1C,CAAC,CAAC,MAAD,EAAM,CAAC;AAACg8D,QAAAA,QAAQ,EAACj8D,CAAV;AAAYgN,QAAAA,OAAO,EAAC9M,CAApB;AAAsBg8D,QAAAA,QAAQ,EAACx7D,CAAC,EAAEw7D,QAAlC;AAA2C1K,QAAAA,MAAM,EAAC9wD,CAAC,EAAE8wD;AAArD,OAAD,CAAN,EAAqE,KAArE,EAA2E9wD,CAA3E,CAAzB,EAAuGV,CAA9G;AAA1E;AAA0L;;AAAMm8D,EAAAA,cAAc,CAACn8D,CAAD,EAAGE,CAAH,EAAK;AAAA;;AAAA;AAAC,YAAK;AAACi8D,QAAAA,cAAc,EAACl8D;AAAhB,gBAAyB,6LAA9B;AAAmE,UAAGD,CAAC,CAAC2C,UAAF,IAAc3C,CAAC,CAAC2C,UAAF,CAAamE,OAAb,KAAuB,MAAI,CAACA,OAA7C,EAAqD,MAAM,IAAIpG,sDAAJ,CAAM,qCAAN,EAA4C,+EAA5C,CAAN;AAAmI,aAAOT,CAAC,CAAC,MAAD,EAAMD,CAAN,EAAQE,CAAR,CAAR;AAA5P;AAA+Q;;AAAMk8D,EAAAA,kBAAkB,CAACp8D,CAAD,EAAG;AAAA;;AAAA;AAAC,YAAK;AAACo8D,QAAAA,kBAAkB,EAACl8D;AAApB,gBAA6B,6LAAlC;AAAuE,aAAOA,CAAC,CAAC,MAAD,EAAMF,CAAN,CAAR;AAAxE;AAAyF;;AAAAq8D,EAAAA,gBAAgB,CAACr8D,CAAD,EAAG;AAAC,WAAO,IAAIiC,+DAAJ,CAAM;AAACU,MAAAA,UAAU,EAAC,IAAZ;AAAiB8iB,MAAAA,IAAI,EAACzlB;AAAtB,KAAN,CAAP;AAAuC;;AAAAuK,EAAAA,MAAM,GAAE;AAAC,UAAMvK,CAAC,GAAC,KAAKgZ,MAAb;AAAA,UAAoB9Y,CAAC,GAAC;AAACo5D,MAAAA,iBAAiB,EAAC,KAAKA,iBAAxB;AAA0CG,MAAAA,UAAU,EAACj5D,oDAAC,CAAC,KAAKi5D,UAAN,CAAtD;AAAwEC,MAAAA,cAAc,EAACl5D,oDAAC,CAAC,KAAKk5D,cAAN,CAAxF;AAA8GjH,MAAAA,OAAO,EAAC,KAAKA,OAAL,EAAczW,OAAd,EAAtH;AAA8IjuC,MAAAA,WAAW,EAAC,KAAKA,WAA/J;AAA2KiL,MAAAA,MAAM,EAAChZ,CAAC,IAAE,CAAC,CAACA,CAAC,CAACkZ,IAAH,EAAQlZ,CAAC,CAAC24B,IAAV,CAAD,EAAiB,CAAC34B,CAAC,CAACmZ,IAAH,EAAQnZ,CAAC,CAAC44B,IAAV,CAAjB,CAArL;AAAuNl2B,MAAAA,EAAE,EAAC,KAAKA,EAA/N;AAAkOk3D,MAAAA,SAAS,EAAC,KAAKA,SAAjP;AAA2PE,MAAAA,WAAW,EAAC,KAAKA,WAA5Q;AAAwR1F,MAAAA,QAAQ,EAAC,KAAKA,QAAL,EAAepY,OAAf,EAAjS;AAA0T5hC,MAAAA,IAAI,EAAC,KAAKA,IAApU;AAAyUktC,MAAAA,KAAK,EAAC,KAAKA,KAApV;AAA0V4S,MAAAA,WAAW,EAAC,KAAKA,WAA3W;AAAuXE,MAAAA,OAAO,EAAC,KAAKA,OAApY;AAA4Y5iB,MAAAA,SAAS,EAAC,KAAKA,SAA3Z;AAAqa50C,MAAAA,gBAAgB,EAAC,KAAKA,gBAA3b;AAA4c+1D,MAAAA,IAAI,EAACn4D,oDAAC,CAAC,KAAKm4D,IAAN,CAAld;AAA8d5hD,MAAAA,SAAS,EAAC,KAAKA,SAA7e;AAAufhU,MAAAA,KAAK,EAAC,KAAKA,KAAlgB;AAAwgBQ,MAAAA,IAAI,EAAC,KAAKA,IAAlhB;AAAuhB82D,MAAAA,YAAY,EAAC75D,oDAAC,CAAC,KAAK65D,YAAN,CAAriB;AAAyjBx0D,MAAAA,GAAG,EAAC,KAAKA;AAAlkB,KAAtB;AAA6lB,WAAOzF,sDAAC,CAACF,CAAD,CAAR;AAAY;;AAAe,SAAR2H,QAAQ,CAAC7H,CAAD,EAAG;AAAC,QAAG,CAACA,CAAJ,EAAM,OAAO,IAAP;AAAY,QAAGA,CAAC,CAACuJ,aAAL,EAAmB,MAAM,IAAI+R,KAAJ,CAAU,iCAAV,CAAN;AAAmD,WAAO,IAAI/Y,CAAJ,CAAM;AAAC2uC,MAAAA,UAAU,EAAClxC;AAAZ,KAAN,CAAP;AAA6B;;AAAAs8D,EAAAA,aAAa,GAAE;AAAC,UAAMt8D,CAAC,GAAC,KAAKuK,MAAL,EAAR;;AAAsB,SAAI,MAAMrK,CAAV,IAAeF,CAAf,EAAiB,WAASE,CAAT,IAAY,SAAOF,CAAC,CAACE,CAAD,CAApB,KAA0BF,CAAC,CAACE,CAAD,CAAD,GAAKF,CAAC,CAACE,CAAD,CAAD,CAAKsmB,IAAL,CAAU,IAAV,CAA/B,GAAgD,mBAAiBtmB,CAAjB,IAAoB,SAAOF,CAAC,CAACE,CAAD,CAA5B,KAAkCF,CAAC,CAACE,CAAD,CAAD,GAAKF,CAAC,CAACE,CAAD,CAAD,CAAKsmB,IAAL,CAAU,IAAV,CAAvC,CAAhD,EAAwG,aAAWtmB,CAAX,IAAcF,CAAC,CAACE,CAAD,CAAf,KAAqBF,CAAC,CAACE,CAAD,CAAD,GAAKumB,IAAI,CAACC,SAAL,CAAe1mB,CAAC,CAACE,CAAD,CAAhB,CAA1B,CAAxG;;AAAwJ,WAAOF,CAAP;AAAS;;AAArogB,CAA3B;AAAkqgBA,uDAAC,CAAC,CAACc,sFAAC,CAAC;AAACyC,EAAAA,IAAI,EAAC,CAAC,SAAD,EAAW,QAAX,EAAoB,KAApB,EAA0B,QAA1B;AAAN,CAAD,CAAF,CAAD,EAAiD2I,CAAC,CAAC/D,SAAnD,EAA6D,QAA7D,EAAsE,KAAK,CAA3E,CAAD,EAA+EnI,uDAAC,CAAC,CAACc,sFAAC,EAAF,CAAD,EAAOoL,CAAC,CAAC/D,SAAT,EAAmB,mBAAnB,EAAuC,KAAK,CAA5C,CAAhF,EAA+HnI,uDAAC,CAAC,CAACc,sFAAC,CAAC;AAACyC,EAAAA,IAAI,EAAC6E;AAAN,CAAD,CAAF,CAAD,EAAoB8D,CAAC,CAAC/D,SAAtB,EAAgC,QAAhC,EAAyC,KAAK,CAA9C,CAAhI,EAAiLnI,uDAAC,CAAC,CAACc,sFAAC,CAAC;AAACiH,EAAAA,IAAI,EAAC;AAAC9D,IAAAA,IAAI,EAAC;AAACoG,MAAAA,MAAM,EAAC;AAAR;AAAN;AAAN,CAAD,CAAF,CAAD,EAA0C6B,CAAC,CAAC/D,SAA5C,EAAsD,oBAAtD,EAA2E,KAAK,CAAhF,CAAlL,EAAqQnI,uDAAC,CAAC,CAACc,sFAAC,EAAF,CAAD,EAAOoL,CAAC,CAAC/D,SAAT,EAAmB,WAAnB,EAA+B,KAAK,CAApC,CAAtQ,EAA6SnI,uDAAC,CAAC,CAACc,sFAAC,EAAF,CAAD,EAAOoL,CAAC,CAAC/D,SAAT,EAAmB,YAAnB,EAAgC,KAAK,CAArC,CAA9S,EAAsVnI,uDAAC,CAAC,CAACc,sFAAC,EAAF,CAAD,EAAOoL,CAAC,CAAC/D,SAAT,EAAmB,gBAAnB,EAAoC,KAAK,CAAzC,CAAvV,EAAmYnI,uDAAC,CAAC,CAACc,sFAAC,CAAC;AAACyC,EAAAA,IAAI,EAACP;AAAN,CAAD,CAAF,CAAD,EAAkBkJ,CAAC,CAAC/D,SAApB,EAA8B,SAA9B,EAAwC,KAAK,CAA7C,CAApY,EAAobnI,uDAAC,CAAC,CAACc,sFAAC,EAAF,CAAD,EAAOoL,CAAC,CAAC/D,SAAT,EAAmB,SAAnB,EAA6B,KAAK,CAAlC,CAArb,EAA0dnI,uDAAC,CAAC,CAACc,sFAAC,EAAF,CAAD,EAAOoL,CAAC,CAAC/D,SAAT,EAAmB,aAAnB,EAAiC,KAAK,CAAtC,CAA3d,EAAogBnI,uDAAC,CAAC,CAACc,sFAAC,CAAC;AAACuH,EAAAA,QAAQ,EAAC,CAAC;AAAX,CAAD,CAAF,CAAD,EAAoB6D,CAAC,CAAC/D,SAAtB,EAAgC,aAAhC,EAA8C,IAA9C,CAArgB,EAAyjBnI,uDAAC,CAAC,CAACc,sFAAC,CAAC;AAACyC,EAAAA,IAAI,EAACrC,4DAACA;AAAP,CAAD,CAAF,CAAD,EAAegL,CAAC,CAAC/D,SAAjB,EAA2B,QAA3B,EAAoC,KAAK,CAAzC,CAA1jB,EAAsmBnI,uDAAC,CAAC,CAAC0B,mFAAC,CAAC,QAAD,CAAF,CAAD,EAAewK,CAAC,CAAC/D,SAAjB,EAA2B,YAA3B,EAAwC,IAAxC,CAAvmB,EAAqpBnI,uDAAC,CAAC,CAACc,sFAAC,EAAF,CAAD,EAAOoL,CAAC,CAAC/D,SAAT,EAAmB,iBAAnB,EAAqC,KAAK,CAA1C,CAAtpB,EAAmsBnI,uDAAC,CAAC,CAACc,sFAAC,CAAC;AAACuH,EAAAA,QAAQ,EAAC,CAAC;AAAX,CAAD,CAAF,CAAD,EAAoB6D,CAAC,CAAC/D,SAAtB,EAAgC,SAAhC,EAA0C,IAA1C,CAApsB,EAAovBnI,uDAAC,CAAC,CAACc,sFAAC,EAAF,CAAD,EAAOoL,CAAC,CAAC/D,SAAT,EAAmB,IAAnB,EAAwB,KAAK,CAA7B,CAArvB,EAAqxBnI,uDAAC,CAAC,CAACc,sFAAC,CAAC;AAACuH,EAAAA,QAAQ,EAAC,CAAC;AAAX,CAAD,CAAF,CAAD,EAAoB6D,CAAC,CAAC/D,SAAtB,EAAgC,SAAhC,EAA0C,IAA1C,CAAtxB,EAAs0BnI,uDAAC,CAAC,CAACc,sFAAC,CAAC;AAACyC,EAAAA,IAAI,EAACgL,OAAN;AAAclG,EAAAA,QAAQ,EAAC,CAAC;AAAxB,CAAD,CAAF,CAAD,EAAiC6D,CAAC,CAAC/D,SAAnC,EAA6C,WAA7C,EAAyD,KAAK,CAA9D,CAAv0B,EAAw4BnI,uDAAC,CAAC,CAACc,sFAAC,EAAF,CAAD,EAAOoL,CAAC,CAAC/D,SAAT,EAAmB,aAAnB,EAAiC,KAAK,CAAtC,CAAz4B,EAAk7BnI,uDAAC,CAAC,CAACc,sFAAC,CAAC;AAACuH,EAAAA,QAAQ,EAAC,CAAC;AAAX,CAAD,CAAF,CAAD,EAAoB6D,CAAC,CAAC/D,SAAtB,EAAgC,aAAhC,EAA8C,IAA9C,CAAn7B,EAAu+BnI,uDAAC,CAAC,CAACc,sFAAC,CAAC;AAACuH,EAAAA,QAAQ,EAAC,CAAC;AAAX,CAAD,CAAF,CAAD,EAAoB6D,CAAC,CAAC/D,SAAtB,EAAgC,SAAhC,EAA0C,IAA1C,CAAx+B,EAAwhCnI,uDAAC,CAAC,CAACc,sFAAC,EAAF,CAAD,EAAOoL,CAAC,CAAC/D,SAAT,EAAmB,aAAnB,EAAiC,KAAK,CAAtC,CAAzhC,EAAkkCnI,uDAAC,CAAC,CAACc,sFAAC,CAAC;AAACyC,EAAAA,IAAI,EAACP;AAAN,CAAD,CAAF,CAAD,EAAkBkJ,CAAC,CAAC/D,SAApB,EAA8B,UAA9B,EAAyC,KAAK,CAA9C,CAAnkC,EAAonCnI,uDAAC,CAAC,CAACc,sFAAC,EAAF,CAAD,EAAOoL,CAAC,CAAC/D,SAAT,EAAmB,MAAnB,EAA0B,KAAK,CAA/B,CAArnC,EAAupCnI,uDAAC,CAAC,CAACc,sFAAC,EAAF,CAAD,EAAOoL,CAAC,CAAC/D,SAAT,EAAmB,aAAnB,EAAiC,KAAK,CAAtC,CAAxpC,EAAisCnI,uDAAC,CAAC,CAACc,sFAAC,EAAF,CAAD,EAAOoL,CAAC,CAAC/D,SAAT,EAAmB,YAAnB,EAAgC,KAAK,CAArC,CAAlsC,EAA0uCnI,uDAAC,CAAC,CAACc,sFAAC,EAAF,CAAD,EAAOoL,CAAC,CAAC/D,SAAT,EAAmB,UAAnB,EAA8B,KAAK,CAAnC,CAA3uC,EAAixCnI,uDAAC,CAAC,CAACc,sFAAC,EAAF,CAAD,EAAOoL,CAAC,CAAC/D,SAAT,EAAmB,OAAnB,EAA2B,KAAK,CAAhC,CAAlxC,EAAqzCnI,uDAAC,CAAC,CAACc,sFAAC,EAAF,CAAD,EAAOoL,CAAC,CAAC/D,SAAT,EAAmB,aAAnB,EAAiC,KAAK,CAAtC,CAAtzC,EAA+1CnI,uDAAC,CAAC,CAACc,sFAAC,CAAC;AAACyC,EAAAA,IAAI,EAACjC,mDAACA;AAAP,CAAD,CAAF,CAAD,EAAe4K,CAAC,CAAC/D,SAAjB,EAA2B,QAA3B,EAAoC,KAAK,CAAzC,CAAh2C,EAA44CnI,uDAAC,CAAC,CAACc,sFAAC,EAAF,CAAD,EAAOoL,CAAC,CAAC/D,SAAT,EAAmB,aAAnB,EAAiC,KAAK,CAAtC,CAA74C,EAAs7CnI,uDAAC,CAAC,CAACc,sFAAC,EAAF,CAAD,EAAOoL,CAAC,CAAC/D,SAAT,EAAmB,MAAnB,EAA0B,KAAK,CAA/B,CAAv7C,EAAy9CnI,uDAAC,CAAC,CAACc,sFAAC,EAAF,CAAD,EAAOoL,CAAC,CAAC/D,SAAT,EAAmB,SAAnB,EAA6B,KAAK,CAAlC,CAA19C,EAA+/CnI,uDAAC,CAAC,CAACc,sFAAC,EAAF,CAAD,EAAOoL,CAAC,CAAC/D,SAAT,EAAmB,YAAnB,EAAgC,KAAK,CAArC,CAAhgD,EAAwiDnI,uDAAC,CAAC,CAACc,sFAAC,CAAC;AAACyC,EAAAA,IAAI,EAAC6E;AAAN,CAAD,CAAF,CAAD,EAAoB8D,CAAC,CAAC/D,SAAtB,EAAgC,WAAhC,EAA4C,KAAK,CAAjD,CAAziD,EAA6lDnI,uDAAC,CAAC,CAACc,sFAAC,CAAC;AAACyC,EAAAA,IAAI,EAAC6E;AAAN,CAAD,CAAF,CAAD,EAAoB8D,CAAC,CAAC/D,SAAtB,EAAgC,kBAAhC,EAAmD,KAAK,CAAxD,CAA9lD,EAAypDnI,uDAAC,CAAC,CAACc,sFAAC,EAAF,CAAD,EAAOoL,CAAC,CAAC/D,SAAT,EAAmB,MAAnB,EAA0B,KAAK,CAA/B,CAA1pD,EAA4rDnI,uDAAC,CAAC,CAACc,sFAAC,EAAF,CAAD,EAAOoL,CAAC,CAAC/D,SAAT,EAAmB,WAAnB,EAA+B,KAAK,CAApC,CAA7rD,EAAouDnI,uDAAC,CAAC,CAACc,sFAAC,CAAC;AAACuH,EAAAA,QAAQ,EAAC,CAAC;AAAX,CAAD,CAAF,CAAD,EAAoB6D,CAAC,CAAC/D,SAAtB,EAAgC,cAAhC,EAA+C,IAA/C,CAAruD,EAA0xDnI,uDAAC,CAAC,CAACc,sFAAC,EAAF,CAAD,EAAOoL,CAAC,CAAC/D,SAAT,EAAmB,OAAnB,EAA2B,KAAK,CAAhC,CAA3xD,EAA8zDnI,uDAAC,CAAC,CAACc,sFAAC,EAAF,CAAD,EAAOoL,CAAC,CAAC/D,SAAT,EAAmB,MAAnB,EAA0B,KAAK,CAA/B,CAA/zD,EAAi2DnI,uDAAC,CAAC,CAACc,sFAAC,EAAF,CAAD,EAAOoL,CAAC,CAAC/D,SAAT,EAAmB,cAAnB,EAAkC,KAAK,CAAvC,CAAl2D,EAA44DnI,uDAAC,CAAC,CAACc,sFAAC,CAAC;AAACyC,EAAAA,IAAI,EAAC6E,MAAN;AAAaL,EAAAA,IAAI,EAAC;AAAC9D,IAAAA,IAAI,CAACjE,CAAD,EAAGE,CAAH,EAAK;AAAC,UAAG2B,CAAC,CAACwN,GAAF,CAAMnP,CAAC,CAACqD,IAAR,CAAH,EAAiB;AAAC,cAAMrD,CAAC,GAAC,KAAKkG,MAAL,EAAa8xC,OAArB;AAA6Bl4C,QAAAA,CAAC,KAAGE,CAAC,IAAE,KAAKwC,EAAR,GAAY,GAAExC,CAAE,kBAAiB,KAAKwC,EAAG,OAAzC,GAAgD,IAApD;AAAyD;;AAAA,aAAO1C,CAAP;AAAS;;AAA5H;AAAlB,CAAD,CAAF,CAAD,EAAuJkM,CAAC,CAAC/D,SAAzJ,EAAmK,KAAnK,EAAyK,KAAK,CAA9K,CAA74D,EAA8jEnI,uDAAC,CAAC,CAACc,sFAAC,CAAC;AAACuH,EAAAA,QAAQ,EAAC,CAAC;AAAX,CAAD,CAAF,CAAD,EAAoB6D,CAAC,CAAC/D,SAAtB,EAAgC,aAAhC,EAA8C,IAA9C,CAA/jE,EAAmnE+D,CAAC,GAAC3J,CAAC,GAACvC,uDAAC,CAAC,CAACwB,uFAAC,CAAC,wBAAD,CAAF,CAAD,EAA+B0K,CAA/B,CAAxnE;AAA0pE,MAAM9J,CAAC,GAAC8J,CAAR;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACJ53mB;AACA;AACA;AACA;AACA;AAA2C;AAAmC;AAAgC;AAAiC;AAAmE;AAA0E;AAAkE;AAA6B;AAAuB;AAA0E,IAAIlL,CAAC,GAAC,cAAcf,yDAAd,CAAe;AAACwC,EAAAA,WAAW,CAACvC,CAAD,EAAG;AAAC,UAAMA,CAAN,GAAS,KAAKyC,UAAL,GAAgB,IAAzB;AAA8B;;AAAA2B,EAAAA,iBAAiB,CAACpE,CAAD,EAAG;AAAC,WAAOA,CAAC,EAAEyC,UAAH,IAAezC,CAAC,CAACulB,IAAjB,GAAsB,EAAC,GAAGvlB,CAAJ;AAAMulB,MAAAA,IAAI,EAAC9kB,CAAC,CAACT,CAAC,CAACulB,IAAH,EAAQvlB,CAAC,CAACyC,UAAV;AAAZ,KAAtB,GAAyDzC,CAAhE;AAAkE;;AAAQ,MAAJulB,IAAI,CAACvlB,CAAD,EAAG;AAAC,YAAMA,CAAN,IAASE,6DAAC,CAACF,CAAD,CAAV,GAAcM,iEAAA,CAAY,IAAZ,EAAkBiD,KAAlB,CAAwB,iCAAxB,EAA0D,8CAA1D,CAAd,GAAwH,KAAKc,IAAL,CAAU,MAAV,EAAiBrE,CAAjB,CAAxH;AAA4I;;AAAAq8D,EAAAA,SAAS,CAACr8D,CAAD,EAAG;AAAC,WAAOS,CAAC,CAACT,CAAD,EAAG,KAAKyC,UAAR,CAAR;AAA4B;;AAAO,MAAHkD,GAAG,GAAE;AAAC,WAAO,KAAKlD,UAAL,IAAiB,KAAK8iB,IAAtB,GAA4B,GAAE,KAAK9iB,UAAL,CAAgBmE,OAAQ,cAAa,KAAK2e,IAAK,EAA7E,GAA+E,IAAtF;AAA2F;;AAAU,MAAN+2C,MAAM,GAAE;AAAC,WAAO,KAAK75D,UAAL,IAAiB,KAAK8iB,IAAtB,GAA4B,GAAE,KAAK9iB,UAAL,CAAgB+3D,UAAW,cAAa,KAAKj1C,IAAK,EAAhF,GAAkF,IAAzF;AAA8F;;AAAmB,MAAfg3C,eAAe,GAAE;AAAC,WAAO,KAAK95D,UAAL,IAAiB,KAAK8iB,IAAtB,GAA4B,eAAc,KAAKA,IAAK,EAApD,GAAsD,IAA7D;AAAkE;;AAAAyD,EAAAA,KAAK,CAAChpB,CAAC,GAAC,MAAH,EAAUD,CAAV,EAAY;AAAC,UAAMO,CAAC,GAAC,KAAKg8D,MAAb;AAAoB,QAAG,QAAMh8D,CAAT,EAAW,MAAM,IAAIR,sDAAJ,CAAM,4BAAN,EAAmC,6DAAnC,CAAN;AAAwG,WAAO,KAAK2C,UAAL,CAAgByD,MAAhB,CAAuBgf,OAAvB,CAA+B5kB,CAA/B,EAAiC;AAAC0d,MAAAA,YAAY,EAAChe,CAAd;AAAgBiH,MAAAA,KAAK,EAAC;AAACK,QAAAA,KAAK,EAAC,KAAK7E,UAAL,CAAgB8E,MAAvB;AAA8BwxC,QAAAA,GAAG,EAACh5C,CAAC,EAAEo4D,SAAH,GAAar1D,IAAI,CAACC,GAAL,EAAb,GAAwB;AAA1D,OAAtB;AAAsFyE,MAAAA,MAAM,EAACzH,CAAC,EAAEyH;AAAhG,KAAjC,CAAP;AAAiJ;;AAAM2zD,EAAAA,MAAM,CAACn7D,CAAD,EAAGD,CAAH,EAAK;AAAA;;AAAA;AAAC,YAAK;AAAC+7D,QAAAA,oBAAoB,EAACh8D;AAAtB,gBAA+B,6LAApC;AAAyE,aAAO,MAAMA,CAAC,CAAC,KAAI,CAAC2C,UAAN,EAAiB,CAAC;AAACs5D,QAAAA,QAAQ,EAAC,KAAV;AAAejvD,QAAAA,OAAO,EAAC9M,CAAvB;AAAyBg8D,QAAAA,QAAQ,EAACj8D,CAAC,EAAEi8D,QAArC;AAA8C1K,QAAAA,MAAM,EAACvxD,CAAC,EAAEuxD;AAAxD,OAAD,CAAjB,EAAmF,QAAnF,EAA4FvxD,CAA5F,CAAP,EAAsG,KAA7G;AAA1E;AAA4L;;AAAAy8D,EAAAA,OAAO,GAAE;AAAC,WAAO,QAAM,KAAKj3C,IAAlB;AAAuB;;AAAtoC,CAArB;;AAA6pC,SAAS9kB,CAAT,CAAWT,CAAX,EAAaD,CAAb,EAAe;AAAC,SAAO,QAAMC,CAAN,GAAQA,CAAR,IAAWA,CAAC,GAACA,CAAC,CAACqQ,OAAF,CAAU,MAAV,EAAiB,EAAjB,CAAF,EAAuB,QAAMtQ,CAAN,IAASG,6DAAC,CAACF,CAAD,CAAV,KAAgBA,CAAC,GAACI,+DAAC,CAACJ,CAAD,EAAGD,CAAC,CAAC6G,OAAL,CAAnB,CAAvB,EAAyD5G,CAAC,EAAEqQ,OAAH,CAAW,MAAX,EAAkB,EAAlB,EAAsBA,OAAtB,CAA8B,qBAA9B,EAAoD,EAApD,CAApE,CAAP;AAAoI;;AAAArQ,uDAAC,CAAC,CAACW,sFAAC,EAAF,CAAD,EAAOG,CAAC,CAACmH,SAAT,EAAmB,YAAnB,EAAgC,KAAK,CAArC,CAAD,EAAyCjI,uDAAC,CAAC,CAACW,sFAAC,CAAC;AAAC0C,EAAAA,IAAI,EAAC6E,MAAN;AAAasF,EAAAA,KAAK,EAAC;AAAnB,CAAD,CAAF,CAAD,EAA+B1M,CAAC,CAACmH,SAAjC,EAA2C,MAA3C,EAAkD,IAAlD,CAA1C,EAAkGjI,uDAAC,CAAC,CAACY,8EAAC,CAAC,MAAD,CAAF,CAAD,EAAaE,CAAC,CAACmH,SAAf,EAAyB,WAAzB,EAAqC,IAArC,CAAnG,EAA8IjI,uDAAC,CAAC,CAACW,sFAAC,CAAC;AAAC0C,EAAAA,IAAI,EAAC6E,MAAN;AAAaC,EAAAA,QAAQ,EAAC,CAAC;AAAvB,CAAD,CAAF,CAAD,EAAgCrH,CAAC,CAACmH,SAAlC,EAA4C,KAA5C,EAAkD,IAAlD,CAA/I,EAAuMjI,uDAAC,CAAC,CAACW,sFAAC,CAAC;AAAC0C,EAAAA,IAAI,EAAC6E,MAAN;AAAaC,EAAAA,QAAQ,EAAC,CAAC;AAAvB,CAAD,CAAF,CAAD,EAAgCrH,CAAC,CAACmH,SAAlC,EAA4C,QAA5C,EAAqD,IAArD,CAAxM,EAAmQjI,uDAAC,CAAC,CAACW,sFAAC,CAAC;AAAC0C,EAAAA,IAAI,EAAC6E,MAAN;AAAaC,EAAAA,QAAQ,EAAC,CAAC;AAAvB,CAAD,CAAF,CAAD,EAAgCrH,CAAC,CAACmH,SAAlC,EAA4C,iBAA5C,EAA8D,IAA9D,CAApQ,EAAwUnH,CAAC,GAACd,uDAAC,CAAC,CAACQ,uFAAC,CAAC,gCAAD,CAAF,CAAD,EAAuCM,CAAvC,CAA3U;AAAqX,MAAMQ,CAAC,GAACR,CAAR;;;;;;;;;;;;;;;;;;;;;;;;;;;ACJloE;AACA;AACA;AACA;AAC8f,MAAM,YAAY,qDAAC,EAAE,gGAAgG,EAAE,sBAAsB,yDAAC,CAAC,eAAe,uJAAuJ,gBAAgB,qCAAqC,iBAAiB,gDAAgD,QAAQ,cAAc,2BAA2B,oDAAC,gOAAgO,EAAE,sBAAsB,SAAS,oFAAoF,SAAS,gBAAgB,QAAQ,+EAAC,aAAa,2EAAO,EAAE,eAAe,OAAO,GAAG,OAAO,GAAG,OAAO,GAAG,OAAO,GAAG,iBAAiB,kEAAkE,SAAS,wGAAwG,kIAAkI,OAAO,cAAc,uDAAC,EAAE,sFAAC,qCAAqC,uDAAC,EAAE,sFAAC,4CAA4C,uDAAC,EAAE,sFAAC,EAAE,KAAK,2DAAC,CAAC,gCAAgC,uDAAC,EAAE,sFAAC,iCAAiC,uDAAC,EAAE,sFAAC,8BAA8B,uDAAC,EAAE,sFAAC,gCAAgC,uDAAC,EAAE,sFAAC,oCAAoC,uDAAC,EAAE,sFAAC,kCAAkC,uDAAC,EAAE,sFAAC,oCAAoC,uDAAC,EAAE,sFAAC,sCAAsC,UAA+B;;;;;;;;;;;;;;;;;;;;;;;ACJ1qE;AACA;AACA;AACA;AACgT,oBAAoB,yDAAC,CAAC,eAAe,6FAA6F,uDAAC,EAAE,sFAAC,0CAA0C,uDAAC,EAAE,sFAAC,sCAAsC,uDAAC,EAAE,sFAAC,kCAAkC,uDAAC,EAAE,sFAAC,kCAAkC,uDAAC,EAAE,sFAAC,sCAAsC,UAA+B;;;;;;;;;;;;;;;;;;;;;;;ACJ/pB;AACA;AACA;AACA;AACgT,oBAAoB,yDAAC,CAAC,eAAe,8CAA8C,uDAAC,EAAE,sFAAC,kCAAkC,uDAAC,EAAE,sFAAC,mCAAmC,uDAAC,EAAE,sFAAC,iCAAiC,UAA+B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACJphB;AACA;AACA;AACA;AACA;AAA2C;AAAgC;AAAqD;AAA0E;AAAuB;AAA0B;AAA6B;AAA0E;AAAiC;AAAgC,IAAIL,CAAJ;AAAM,IAAIa,CAAC,GAACb,CAAC,GAAC,cAAcV,6DAAd,CAAe;AAACwC,EAAAA,WAAW,CAACvC,CAAD,EAAG;AAAC,UAAMA,CAAN,GAAS,KAAKsxD,MAAL,GAAY,IAArB,EAA0B,KAAKiB,OAAL,GAAa,IAAvC,EAA4C,KAAKC,OAAL,GAAa,IAAzD,EAA8D,KAAK3kD,WAAL,GAAiB,IAA/E,EAAoF,KAAK4uD,KAAL,GAAW,IAA/F,EAAoG,KAAKC,QAAL,GAAc,IAAlH,EAAuH,KAAKxI,QAAL,GAAc,IAArI,EAA0I,KAAKwB,KAAL,GAAW,IAArJ,EAA0J,KAAKxvD,MAAL,GAAY,IAAtK,EAA2K,KAAKy2D,aAAL,GAAmB,IAA9L,EAAmM,KAAK9kB,UAAL,GAAgB,IAAnN,EAAwN,KAAKwc,MAAL,GAAY,IAApO,EAAyO,KAAKuI,IAAL,GAAU,IAAnP,EAAwP,KAAKC,MAAL,GAAY,IAApQ,EAAyQ,KAAK7rB,UAAL,GAAgB,IAAzR,EAA8R,KAAK4jB,KAAL,GAAW,IAAzS,EAA8S,KAAK8F,QAAL,GAAc,IAA5T,EAAiU,KAAKoC,iBAAL,GAAuB,IAAxV,EAA6V,KAAKC,QAAL,GAAc,IAA3W;AAAgX;;AAAgB,MAAZn6D,YAAY,GAAE;AAAC,UAAM5C,CAAC,GAAC,KAAK2F,GAAb;AAAA,UAAiB7F,CAAC,GAAC,KAAK+W,SAAxB;AAAkC,WAAO7W,CAAC,IAAEF,CAAH,GAAK,KAAKoG,MAAL,CAAY+xD,YAAZ,CAA0B,GAAEj4D,CAAE,SAAQF,CAAE,SAAxC,CAAL,GAAuD,IAA9D;AAAmE;;AAAkB,MAAdk9D,cAAc,GAAE;AAAC,UAAMh9D,CAAC,GAAC,KAAKkG,MAAL,EAAa8xC,OAArB;AAA6B,WAAOh4C,CAAC,GAAE,GAAEA,CAAE,kBAAiB,KAAK06D,QAAS,EAArC,GAAuC,IAA/C;AAAoD;;AAAO,MAAH/0D,GAAG,GAAE;AAAC,UAAM3F,CAAC,GAAC,KAAKkG,MAAL,EAAa8xC,OAArB;AAA6B,WAAOh4C,CAAC,GAAE,GAAEA,CAAE,oBAAmB,KAAK06D,QAAS,EAAvC,GAAyC,IAAjD;AAAsD;;AAAAuC,EAAAA,OAAO,CAACj9D,CAAD,EAAG;AAAC,UAAMF,CAAC,GAACE,CAAC,IAAEA,CAAC,CAAC0D,IAAb;AAAA,UAAkB3D,CAAC,GAACC,CAAC,EAAEgE,IAAvB;AAAA,UAA4B1D,CAAC,GAACN,CAAC,EAAEu7D,MAAjC;AAAA,UAAwCr7D,CAAC,GAAC;AAACk4D,MAAAA,MAAM,EAAC;AAAR,KAA1C;AAA0Dt4D,IAAAA,CAAC,KAAGI,CAAC,CAAC+G,KAAF,GAAQnH,CAAC,CAAC+6D,eAAF,EAAR,EAA4B,QAAM96D,CAAN,KAAU,YAAU,OAAOA,CAAjB,GAAmBG,CAAC,CAAC+G,KAAF,CAAQkF,IAAR,GAAapM,CAAhC,GAAkC,YAAU,OAAOA,CAAjB,KAAqBG,CAAC,CAAC+G,KAAF,CAAQkF,IAAR,GAAaoa,IAAI,CAACC,SAAL,CAAezmB,CAAf,CAAlC,CAA5C,CAA/B,CAAD;AAAmI,QAAIY,CAAC,GAAC,KAAKq8D,cAAX;AAA0B,WAAO18D,CAAC,KAAGK,CAAC,IAAE,OAAK,YAAU,OAAOL,CAAjB,GAAmBA,CAAnB,GAAqBA,CAAC,CAACkC,EAA5B,CAAN,CAAD,EAAwC,KAAK0D,MAAL,CAAYgf,OAAZ,CAAoBvkB,CAAC,GAAC,UAAtB,EAAiCT,CAAjC,EAAoC4F,IAApC,CAA0C9F,CAAC,KAAGF,CAAC,CAAC0C,EAAF,GAAKxC,CAAC,CAACwC,EAAP,EAAU1C,CAAC,CAACoG,MAAF,GAAS,KAAKA,MAAxB,EAA+BpG,CAAC,CAACwF,MAAF,GAASxF,CAAC,CAAC43C,MAAF,EAAT,GAAoB53C,CAAC,CAACkF,IAAF,EAAtD,CAA3C,CAA/C;AAA4J;;AAAMk4D,EAAAA,UAAU,CAACl9D,CAAD,EAAGF,CAAC,GAAC,CAAC,CAAN,EAAQ;AAAA;;AAAA;AAAC,UAAIC,CAAC,GAAC,KAAI,CAACi9D,cAAX;AAA0Bh9D,MAAAA,CAAC,CAACg6D,WAAF,KAAgBj6D,CAAC,IAAE,MAAIC,CAAC,CAACg6D,WAAzB;AAAsC,YAAM15D,CAAC,GAACR,CAAC,GAAC;AAACq9D,QAAAA,eAAe,EAAC,CAAC;AAAlB,OAAD,GAAsB,EAA/B;AAAkC,YAAM,KAAI,CAACj3D,MAAL,CAAYgf,OAAZ,CAAoBnlB,CAAC,GAAE,UAASC,CAAC,CAACwC,EAAG,SAArC,EAA8C;AAAC41D,QAAAA,MAAM,EAAC,MAAR;AAAenxD,QAAAA,KAAK,EAAC3G;AAArB,OAA9C,CAAN,EAA6EN,CAAC,CAACwC,EAAF,GAAK,IAAlF,EAAuFxC,CAAC,CAACkG,MAAF,GAAS,IAAhG;AAAnG;AAAwM;;AAAMk3D,EAAAA,WAAW,CAACp9D,CAAD,EAAGD,CAAC,GAAC,CAAC,CAAN,EAAQ;AAAA;;AAAA;AAACC,MAAAA,CAAC,GAACA,CAAC,CAAC4J,KAAF,EAAF;AAAY,YAAMtJ,CAAC,GAAC,MAAI,CAAC08D,cAAL,GAAoB,cAA5B;AAAA,YAA2C98D,CAAC,GAAC,EAA7C;AAAA,YAAgDS,CAAC,GAACX,CAAC,CAACqF,GAAF,CAAOrF,CAAC,IAAEA,CAAC,CAACwC,EAAZ,CAAlD;;AAAmE,UAAG7B,CAAC,CAACgN,MAAL,EAAY;AAAC,cAAMnN,CAAC,GAAC;AAAC43D,UAAAA,MAAM,EAAC,MAAR;AAAenxD,UAAAA,KAAK,EAAC;AAAC8a,YAAAA,KAAK,EAACphB,CAAC,CAAC2lB,IAAF,CAAO,GAAP,CAAP;AAAmB62C,YAAAA,eAAe,EAACp9D;AAAnC;AAArB,SAAR;AAAA,cAAoEU,CAAC,SAAO,MAAI,CAACyF,MAAL,CAAYgf,OAAZ,CAAoB5kB,CAApB,EAAsBE,CAAtB,CAA5E;;AAAqG,aAAI,MAAMT,CAAV,IAAeU,CAAC,CAACq2D,OAAjB,EAAyB;AAAC,gBAAMx2D,CAAC,GAACN,CAAC,CAACwP,IAAF,CAAQxP,CAAC,IAAED,CAAC,CAAC2H,MAAF,KAAW1H,CAAC,CAACwC,EAAxB,CAAR;AAAA,gBAAqC7B,CAAC,GAACZ,CAAC,CAAC00C,OAAzC;AAAiD,cAAIj0C,CAAC,GAAC,IAAN;AAAWG,UAAAA,CAAC,IAAEL,CAAC,CAACkC,EAAF,GAAK,IAAL,EAAUlC,CAAC,CAAC4F,MAAF,GAAS,IAArB,IAA2BnG,CAAC,CAACwD,KAAF,KAAU/C,CAAC,GAAC,IAAIV,sDAAJ,CAAM,2BAAN,EAAkCC,CAAC,CAACwD,KAAF,CAAQ4tB,OAA1C,EAAkDpxB,CAAC,CAACwD,KAApD,CAAZ,CAA5B,EAAoGrD,CAAC,CAAC0E,IAAF,CAAO;AAAClB,YAAAA,IAAI,EAACpD,CAAN;AAAQm0C,YAAAA,OAAO,EAAC9zC,CAAhB;AAAkB4C,YAAAA,KAAK,EAAC/C;AAAxB,WAAP,CAApG;AAAuI;AAAC;;AAAA,aAAON,CAAP;AAAha;AAAya;;AAAAm9D,EAAAA,YAAY,GAAE;AAAC,UAAMr9D,CAAC,GAAC;AAACiH,MAAAA,KAAK,EAAC;AAACqzC,QAAAA,GAAG,EAAC;AAAL;AAAP,KAAR;AAAwB,WAAO,KAAKp0C,MAAL,CAAYgf,OAAZ,CAAoB,KAAK83C,cAAL,IAAqB,EAAzC,EAA4Ch9D,CAA5C,EAA+C8F,IAA/C,CAAqD9F,CAAC,IAAE;AAAC,UAAIF,CAAJ;AAAM,aAAOA,CAAC,GAACE,CAAC,IAAEA,CAAC,CAACs9D,OAAL,GAAat9D,CAAC,CAACs9D,OAAF,CAAUj4D,GAAV,CAAerF,CAAC,IAAE;AAAC,cAAMF,CAAC,GAACa,iEAAA,CAAWX,CAAX,CAAR;AAAsB,eAAOF,CAAC,CAACoG,MAAF,GAAS,KAAKA,MAAd,EAAqBpG,CAA5B;AAA8B,OAAvE,CAAb,GAAuF,EAAzF,EAA4FA,CAAnG;AAAqG,KAApK,CAAP;AAA8K;;AAAAy9D,EAAAA,WAAW,GAAE;AAAC,WAAO,KAAKr3D,MAAL,CAAYgf,OAAZ,CAAoB,KAAKvf,GAAL,IAAU,EAA9B,EAAkCG,IAAlC,CAAwC9F,CAAC,IAAE;AAAC,UAAIF,CAAJ;AAAM,aAAOA,CAAC,GAACE,CAAC,IAAEA,CAAC,CAAC04D,MAAL,GAAY14D,CAAC,CAAC04D,MAAF,CAASrzD,GAAT,CAAcrF,CAAC,IAAE;AAAC,cAAMF,CAAC,GAACU,iEAAA,CAAWR,CAAX,CAAR;AAAsB,eAAOF,CAAC,CAACoG,MAAF,GAAS,KAAKA,MAAd,EAAqBpG,CAA5B;AAA8B,OAAtE,CAAZ,GAAqF,EAAvF,EAA0FA,CAAjG;AAAmG,KAArJ,CAAP;AAA+J;;AAAM09D,EAAAA,UAAU,CAACx9D,CAAD,EAAG;AAAA;;AAAA;AAACA,MAAAA,CAAC,KAAG,EAAJ;AAAO,UAAIF,CAAC,GAAC,MAAI,CAACk9D,cAAL,IAAqB,EAA3B;AAA8Bh9D,MAAAA,CAAC,CAACu7D,MAAF,KAAWz7D,CAAC,IAAE,MAAIE,CAAC,CAACu7D,MAAF,CAAS/4D,EAA3B;AAA+B,YAAK;AAAC8F,QAAAA,OAAO,EAACvI;AAAT,gBAAkB,kHAAvB;AAAA,YAAiDO,CAAC,GAAC;AAACg9D,QAAAA,OAAO,EAAC,CAAC,CAAV;AAAYG,QAAAA,YAAY,EAAC,CAAC,CAACz9D,CAAC,CAACy9D,YAAJ,IAAkB,IAA3C;AAAgDC,QAAAA,cAAc,EAAC,EAAE19D,CAAC,CAACu7D,MAAF,IAAU,CAACv7D,CAAC,CAAC29D,qBAAf,KAAuC,IAAtG;AAA2GrjB,QAAAA,GAAG,EAACt6C,CAAC,CAACs6C,GAAF,IAAO,EAAtH;AAAyH54B,QAAAA,KAAK,EAAC1hB,CAAC,CAAC0hB,KAAF,IAAS,CAAxI;AAA0Iw1C,QAAAA,SAAS,EAACl3D,CAAC,CAACk3D,SAAF,IAAa,SAAjK;AAA2KmB,QAAAA,SAAS,EAACr4D,CAAC,CAACq4D,SAAF,IAAa;AAAlM,OAAnD;AAAA,YAA4Pn4D,CAAC,SAAO,MAAI,CAACgG,MAAL,CAAYgf,OAAZ,CAAoBplB,CAApB,EAAsB;AAACmH,QAAAA,KAAK,EAAC3G;AAAP,OAAtB,CAApQ;AAAqS,UAAIK,CAAJ;AAAM,aAAOT,CAAC,EAAE6hB,KAAH,IAAUphB,CAAC,GAACT,CAAC,CAAC6hB,KAAF,CAAQ1c,GAAR,CAAarF,CAAC,IAAE;AAAC,cAAMF,CAAC,GAACC,CAAC,CAAC4H,QAAF,CAAW3H,CAAX,CAAR;AAAsB,eAAOF,CAAC,CAACoG,MAAF,GAAS,MAAI,CAACA,MAAd,EAAqBpG,CAA5B;AAA8B,OAArE,CAAF,QAAgFqF,OAAO,CAACc,GAAR,CAAYtF,CAAC,CAAC0E,GAAF,CAAOrF,CAAC,IAAEA,CAAC,CAACgF,IAAF,EAAV,CAAZ,CAAhF,EAAkH;AAAC+c,QAAAA,KAAK,EAACphB,CAAP;AAAS+2D,QAAAA,SAAS,EAACx3D,CAAC,CAACw3D,SAArB;AAA+BG,QAAAA,KAAK,EAAC33D,CAAC,CAAC23D;AAAvC,OAA5H,IAA2K;AAAC91C,QAAAA,KAAK,EAAC,EAAP;AAAU21C,QAAAA,SAAS,EAAC,CAAC,CAArB;AAAuBG,QAAAA,KAAK,EAAC;AAA7B,OAAlL;AAAhX;AAAkkB;;AAAA+F,EAAAA,SAAS,GAAE;AAAC,WAAO,KAAK13D,MAAL,CAAYgf,OAAZ,CAAoB,KAAKvf,GAAL,GAAS,OAA7B,EAAsCG,IAAtC,CAA4C9F,CAAC,IAAEA,CAAC,CAACy4D,IAAjD,CAAP;AAA+D;;AAAAwC,EAAAA,eAAe,CAACj7D,CAAD,EAAG;AAAC,QAAIF,CAAC,GAAC,KAAK8C,YAAX;AAAwB,WAAO9C,CAAC,IAAEE,CAAH,KAAOF,CAAC,IAAG,MAAKE,CAAE,EAAlB,GAAqBF,CAA5B;AAA8B;;AAAA+9D,EAAAA,cAAc,CAAC79D,CAAD,EAAG;AAAC,WAAO,KAAK89D,UAAL,IAAiB,KAAKC,SAAL,KAAiB,KAAKA,SAAL,GAAe,IAAIv9D,wDAAJ,CAAM;AAACgC,MAAAA,EAAE,EAAC,KAAKs7D,UAAT;AAAoB53D,MAAAA,MAAM,EAAC,KAAKA;AAAhC,KAAN,CAAhC,GAAgF,KAAK63D,SAAL,CAAelH,UAAf,CAA0B72D,CAA1B,CAAjG,IAA+HmF,OAAO,CAAC+O,MAAR,CAAe,IAAIpU,sDAAJ,CAAM,kBAAN,EAAyB,wBAAzB,EAAkD;AAACk+D,MAAAA,aAAa,EAAC;AAAf,KAAlD,CAAf,CAAtI;AAA8O;;AAAMC,EAAAA,WAAW,CAACj+D,CAAD,EAAGF,CAAH,EAAK;AAAA;;AAAA;AAAC,YAAMC,CAAC,GAAC,MAAI,CAACi9D,cAAb;AAAA,YAA4B18D,CAAC,GAACR,CAAC,GAAC;AAACo+D,QAAAA,QAAQ,EAAC,YAAU,OAAOp+D,CAAjB,GAAmBA,CAAnB,GAAqBA,CAAC,CAAC0C;AAAjC,OAAD,GAAsC,IAArE;AAA0E,YAAM,MAAI,CAAC0D,MAAL,CAAYgf,OAAZ,CAAoBnlB,CAAC,GAAE,UAASC,CAAC,CAACwC,EAAG,UAArC,EAA+C;AAAC41D,QAAAA,MAAM,EAAC,MAAR;AAAenxD,QAAAA,KAAK,EAAC3G;AAArB,OAA/C,CAAN;AAA3E;AAAyJ;;AAAA+J,EAAAA,MAAM,GAAE;AAAC,UAAM,IAAIvK,sDAAJ,CAAM,8BAAN,EAAqC,0CAArC,CAAN;AAAuF;;AAAe,SAAR6H,QAAQ,CAAC3H,CAAD,EAAG;AAAC,QAAG,CAACA,CAAJ,EAAM,OAAO,IAAP;AAAY,QAAGA,CAAC,CAACqJ,aAAL,EAAmB,MAAM,IAAI+R,KAAJ,CAAU,iCAAV,CAAN;AAAmD,UAAMtb,CAAC,GAAC,IAAIW,CAAJ,CAAM;AAACuwC,MAAAA,UAAU,EAAChxC;AAAZ,KAAN,CAAR;AAA8B,WAAOF,CAAC,CAACiE,IAAF,CAAO/D,CAAP,GAAUF,CAAjB;AAAmB;;AAAj/G,CAAvB;AAA0gHE,uDAAC,CAAC,CAACM,sFAAC,EAAF,CAAD,EAAOgB,CAAC,CAAC2G,SAAT,EAAmB,QAAnB,EAA4B,KAAK,CAAjC,CAAD,EAAqCjI,uDAAC,CAAC,CAACM,sFAAC,CAAC;AAAC+C,EAAAA,IAAI,EAACP;AAAN,CAAD,CAAF,CAAD,EAAkBxB,CAAC,CAAC2G,SAApB,EAA8B,SAA9B,EAAwC,KAAK,CAA7C,CAAtC,EAAsFjI,uDAAC,CAAC,CAACM,sFAAC,EAAF,CAAD,EAAOgB,CAAC,CAAC2G,SAAT,EAAmB,SAAnB,EAA6B,KAAK,CAAlC,CAAvF,EAA4HjI,uDAAC,CAAC,CAACM,sFAAC,EAAF,CAAD,EAAOgB,CAAC,CAAC2G,SAAT,EAAmB,aAAnB,EAAiC,KAAK,CAAtC,CAA7H,EAAsKjI,uDAAC,CAAC,CAACM,sFAAC,EAAF,CAAD,EAAOgB,CAAC,CAAC2G,SAAT,EAAmB,OAAnB,EAA2B,KAAK,CAAhC,CAAvK,EAA0MjI,uDAAC,CAAC,CAACM,sFAAC,EAAF,CAAD,EAAOgB,CAAC,CAAC2G,SAAT,EAAmB,YAAnB,EAAgC,KAAK,CAArC,CAA3M,EAAmPjI,uDAAC,CAAC,CAACM,sFAAC,EAAF,CAAD,EAAOgB,CAAC,CAAC2G,SAAT,EAAmB,UAAnB,EAA8B,KAAK,CAAnC,CAApP,EAA0RjI,uDAAC,CAAC,CAACM,sFAAC,CAAC;AAAC+C,EAAAA,IAAI,EAACP;AAAN,CAAD,CAAF,CAAD,EAAkBxB,CAAC,CAAC2G,SAApB,EAA8B,UAA9B,EAAyC,KAAK,CAA9C,CAA3R,EAA4UjI,uDAAC,CAAC,CAACM,sFAAC,EAAF,CAAD,EAAOgB,CAAC,CAAC2G,SAAT,EAAmB,OAAnB,EAA2B,KAAK,CAAhC,CAA7U,EAAgXjI,uDAAC,CAAC,CAACM,sFAAC,EAAF,CAAD,EAAOgB,CAAC,CAAC2G,SAAT,EAAmB,QAAnB,EAA4B,KAAK,CAAjC,CAAjX,EAAqZjI,uDAAC,CAAC,CAACM,sFAAC,EAAF,CAAD,EAAOgB,CAAC,CAAC2G,SAAT,EAAmB,eAAnB,EAAmC,KAAK,CAAxC,CAAtZ,EAAicjI,uDAAC,CAAC,CAACM,sFAAC,EAAF,CAAD,EAAOgB,CAAC,CAAC2G,SAAT,EAAmB,YAAnB,EAAgC,KAAK,CAArC,CAAlc,EAA0ejI,uDAAC,CAAC,CAACM,sFAAC,EAAF,CAAD,EAAOgB,CAAC,CAAC2G,SAAT,EAAmB,QAAnB,EAA4B,KAAK,CAAjC,CAA3e,EAA+gBjI,uDAAC,CAAC,CAACM,sFAAC,EAAF,CAAD,EAAOgB,CAAC,CAAC2G,SAAT,EAAmB,MAAnB,EAA0B,KAAK,CAA/B,CAAhhB,EAAkjBjI,uDAAC,CAAC,CAACM,sFAAC,EAAF,CAAD,EAAOgB,CAAC,CAAC2G,SAAT,EAAmB,QAAnB,EAA4B,KAAK,CAAjC,CAAnjB,EAAulBjI,uDAAC,CAAC,CAACM,sFAAC,EAAF,CAAD,EAAOgB,CAAC,CAAC2G,SAAT,EAAmB,YAAnB,EAAgC,KAAK,CAArC,CAAxlB,EAAgoBjI,uDAAC,CAAC,CAACM,sFAAC,EAAF,CAAD,EAAOgB,CAAC,CAAC2G,SAAT,EAAmB,WAAnB,EAA+B,KAAK,CAApC,CAAjoB,EAAwqBjI,uDAAC,CAAC,CAACM,sFAAC,CAAC;AAAC6H,EAAAA,QAAQ,EAAC,CAAC;AAAX,CAAD,CAAF,CAAD,EAAoB7G,CAAC,CAAC2G,SAAtB,EAAgC,cAAhC,EAA+C,IAA/C,CAAzqB,EAA8tBjI,uDAAC,CAAC,CAACM,sFAAC,EAAF,CAAD,EAAOgB,CAAC,CAAC2G,SAAT,EAAmB,OAAnB,EAA2B,KAAK,CAAhC,CAA/tB,EAAkwBjI,uDAAC,CAAC,CAACM,sFAAC,CAAC;AAAC6H,EAAAA,QAAQ,EAAC,CAAC;AAAX,CAAD,CAAF,CAAD,EAAoB7G,CAAC,CAAC2G,SAAtB,EAAgC,gBAAhC,EAAiD,IAAjD,CAAnwB,EAA0zBjI,uDAAC,CAAC,CAACM,sFAAC,CAAC;AAAC6H,EAAAA,QAAQ,EAAC,CAAC;AAAX,CAAD,CAAF,CAAD,EAAoB7G,CAAC,CAAC2G,SAAtB,EAAgC,KAAhC,EAAsC,IAAtC,CAA3zB,EAAu2BjI,uDAAC,CAAC,CAACM,sFAAC,EAAF,CAAD,EAAOgB,CAAC,CAAC2G,SAAT,EAAmB,UAAnB,EAA8B,KAAK,CAAnC,CAAx2B,EAA84BjI,uDAAC,CAAC,CAACM,sFAAC,EAAF,CAAD,EAAOgB,CAAC,CAAC2G,SAAT,EAAmB,mBAAnB,EAAuC,KAAK,CAA5C,CAA/4B,EAA87BjI,uDAAC,CAAC,CAACM,sFAAC,EAAF,CAAD,EAAOgB,CAAC,CAAC2G,SAAT,EAAmB,UAAnB,EAA8B,KAAK,CAAnC,CAA/7B,EAAq+B3G,CAAC,GAACb,CAAC,GAACT,uDAAC,CAAC,CAACE,sFAAC,CAAC,wBAAD,CAAF,CAAD,EAA+BoB,CAA/B,CAA1+B;AAA4gC,MAAMV,CAAC,GAACU,CAAR;;;;;;;;;;;;;;;;;ACJ/7J;AACA;AACA;AACA;AACA,MAAM,aAAa,SAAS,cAAc,kCAA2G;;;;;;;;;;;;;;;;;;;ACJrJ;AACA;AACA;AACA;AACiF,gBAAgB,OAAO,gCAAgC,kBAAkB,QAAQ,8DAAC,YAAY,OAAO,4FAA4F,+BAA+B,mBAAmB,oDAAoD,OAAO,gBAAgB,OAAO,aAAa,8DAAC,6BAA6B,6DAAY,iBAAwE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACJrhB;AACA;AACA;AACA;AACA;AAAiF;AAAkD;;SAAoGhB;;;;;yMAAf,WAAiBA,CAAjB,EAAmB;AAAC,UAAME,CAAC,GAACF,CAAC,CAACoC,gBAAV;AAA2B,QAAGlC,CAAC,CAAC81B,OAAL,EAAa,OAAOh2B,CAAC,CAACC,KAAF,EAAP;AAAiB,QAAGC,CAAC,CAAC+1B,aAAL,EAAmB,OAAO91B,8FAAC,CAACH,CAAD,CAAR;AAAY,UAAMJ,CAAC,GAACH,2EAAR;AAAgB,WAAO,MAAMD,6EAAC,CAACU,CAAD,EAAGN,CAAH,CAAP,EAAaF,gEAAC,CAACM,CAAD,EAAGJ,CAAH,CAArB;AAA2B;;;;AAAA,SAASM,CAAT,CAAWV,CAAX,EAAaE,CAAb,EAAe;AAAC,MAAG,CAACE,CAAC,CAACJ,CAAD,EAAGE,CAAH,CAAL,EAAW;AAAC,UAAMD,CAAC,GAACD,CAAC,CAACq6D,YAAV;AAAuBp6D,IAAAA,CAAC,GAACA,CAAC,CAAC6E,IAAF,CAAO5E,CAAP,CAAD,GAAWF,CAAC,CAACq6D,YAAF,GAAe,CAACn6D,CAAD,CAA3B;AAA+B;AAAC;;AAAA,SAASE,CAAT,CAAWJ,CAAX,EAAaE,CAAb,EAAe;AAAC,SAAM,CAAC,CAACF,CAAC,CAACq6D,YAAF,EAAgBvoC,QAAhB,CAAyB5xB,CAAzB,CAAR;AAAoC;;AAAA,SAASc,CAAT,CAAWhB,CAAX,EAAa;AAAC,SAAOI,CAAC,CAACJ,CAAD,EAAG4B,CAAC,CAACy8D,cAAL,CAAR;AAA6B;;AAAA,SAAS/9D,CAAT,CAAWN,CAAX,EAAaE,CAAb,EAAe;AAAC,QAAMD,CAAC,GAACD,CAAC,CAACq6D,YAAV;;AAAuB,MAAGp6D,CAAH,EAAK;AAAC,UAAMD,CAAC,GAACC,CAAC,CAACwR,OAAF,CAAUvR,CAAV,CAAR;AAAqBF,IAAAA,CAAC,GAAC,CAAC,CAAH,IAAMC,CAAC,CAAC6hB,MAAF,CAAS9hB,CAAT,EAAW,CAAX,CAAN;AAAoB;AAAC;;AAAA,SAASwB,CAAT,CAAWxB,CAAX,EAAaE,CAAb,EAAeD,CAAf,EAAiB;AAACA,EAAAA,CAAC,GAACS,CAAC,CAACV,CAAD,EAAGE,CAAH,CAAF,GAAQI,CAAC,CAACN,CAAD,EAAGE,CAAH,CAAV;AAAgB;;SAAeW;;;;;yMAAf,WAAiBb,CAAjB,EAAmB;AAAC,UAAME,CAAC,GAACF,CAAC,CAACS,KAAF,GAAUsY,SAAV,EAAR;AAA8B,QAAI9Y,CAAJ;AAAM,QAAGC,CAAC,CAAC2N,MAAF,GAAS,CAAZ,EAAc,KAAI,MAAMlN,CAAV,IAAeT,CAAf,EAAiBD,CAAC,GAACU,CAAC,CAACsY,KAAF,GAAQhZ,CAAC,CAACgZ,KAAV,KAAkBhZ,CAAC,GAACU,CAApB,CAAD,GAAwBV,CAAC,GAACU,CAA3B,CAA/B,KAAiEV,CAAC,GAACC,CAAC,CAAC,CAAD,CAAH;AAAO,WAAOM,CAAC,CAACP,CAAD,CAAR;AAAY;;;;AAAA,MAAM2B,CAAC,GAAC;AAAC08D,EAAAA,iBAAiB,EAAC,kBAAnB;AAAsCzrD,EAAAA,KAAK,EAAC,2BAA5C;AAAwE0rD,EAAAA,QAAQ,EAAC,UAAjF;AAA4FC,EAAAA,WAAW,EAAC,YAAxG;AAAqHC,EAAAA,YAAY,EAAC,aAAlI;AAAgJC,EAAAA,KAAK,EAAC,OAAtJ;AAA8JL,EAAAA,cAAc,EAAC,gBAA7K;AAA8LM,EAAAA,WAAW,EAAC,mBAA1M;AAA8NC,EAAAA,aAAa,EAAC,eAA5O;AAA4PC,EAAAA,eAAe,EAAC,KAA5Q;AAAkRC,EAAAA,sBAAsB,EAAC;AAAzS,CAAR;;AAAyU,SAASzzD,CAAT,CAAWrL,CAAX,EAAa;AAAC,QAAK;AAACoG,IAAAA,MAAM,EAAClG,CAAR;AAAU05D,IAAAA,SAAS,EAAC35D,CAApB;AAAsB45D,IAAAA,WAAW,EAACl5D;AAAlC,MAAqCX,CAA1C;AAAA,QAA4CQ,CAAC,GAACN,CAAC,CAACylB,IAAF,EAAQoyB,UAAtD;AAAiE,MAAIr3C,CAAC,GAAC,CAACF,CAAD,IAAIA,CAAC,CAACsxB,QAAF,CAAW,oBAAX,CAAV;AAAA,MAA2C1xB,CAAC,GAAC,CAAC,CAACH,CAAF,IAAK,CAAC,CAACO,CAAC,EAAEsxB,QAAH,CAAY,wBAAZ,CAApD;AAA0F,QAAM9wB,CAAC,GAAC,aAAWL,CAAX,IAAc,YAAUA,CAAhC;AAAkC,SAAOK,CAAC,GAACZ,CAAC,GAACM,CAAC,GAAC,CAAC,CAAN,GAAQN,CAAC,KAAGM,CAAC,GAAC,CAAC,CAAN,CAAV,EAAmB;AAAC6tC,IAAAA,QAAQ,EAAC;AAAC6I,MAAAA,IAAI,EAAC12C,CAAN;AAAQ22C,MAAAA,QAAQ,EAACj3C;AAAjB,KAAV;AAA8B4M,IAAAA,OAAO,EAAC;AAACsqC,MAAAA,UAAU,EAACt2C;AAAZ;AAAtC,GAA1B;AAAgF;;;;;;;;;;;;;;;;;;;;ACJ14C;AACA;AACA;AACA;AACA,kEAAkE,QAAQ,yEAAyE,QAAQ,oEAAoE,MAAM,kEAAkE,cAAc,oBAAoB,kBAAkB,gBAAgB,kBAAkB,yBAAyB,MAAM,uBAAuB,GAAG,sCAAsC,eAAe,iCAAiC,IAAI,MAAM,WAAW,iCAAiC,IAAI,MAAM,oBAAoB,MAAM,iCAAiC,IAAI,6BAA6B,eAAe,iCAAiC,IAAI,MAAM,cAAc,iCAAiC,IAAI,MAAM,YAAY,iCAAiC,IAAI,MAAM,oBAAoB,OAAO,uDAAuD,cAAc,8DAA8D,cAAc,qLAAqL,uKAAyS;;;;;;;;;;;;;;;;;ACJ59C;AACA;AACA;AACA;AAC4C,QAAQ,wDAAC,IAAI,4UAA4U,EAAuC;;;;;;;;;;;;;;;;;ACJ5a;AACA;AACA;AACA;AAC4E,SAAS,kBAAkB,OAAO,wFAAC,cAAuD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACJtK;AACA;AACA;AACA;AACA;AAA2C;AAA2C;AAA6C;AAAwC;AAAiC;AAA0E;AAAkE;AAAgF;AAAsE;AAA0E;AAAsE;AAAqF;AAA4F;AAA6B;AAAwE;AAA2C;AAAiH;AAAkD;AAA0D,IAAIuB,CAAJ;AAAM,MAAMmJ,CAAC,GAAC,KAAR;AAAA,MAAcnD,CAAC,GAAC,kBAAhB;AAAA,MAAmCnG,CAAC,GAAC,OAArC;AAAA,MAA6CiQ,CAAC,GAAC,IAAInS,qDAAJ,CAAM;AAACu/D,EAAAA,kBAAkB,EAAC/zD,CAApB;AAAsBg0D,EAAAA,6BAA6B,EAACn3D,CAApD;AAAsDo3D,EAAAA,oBAAoB,EAACv9D;AAA3E,CAAN,CAA/C;AAAA,MAAoIiJ,CAAC,GAACvK,gFAAC,CAACmB,mEAAD,CAAvI;AAA2I,IAAIK,CAAC,GAACC,CAAC,GAAC,cAAcnB,sFAAC,CAACQ,qDAAD,CAAf,CAAmB;AAACa,EAAAA,WAAW,CAACzC,CAAD,EAAG;AAAC,UAAMA,CAAN,GAAS,KAAK4/D,wBAAL,GAA8B;AAAC9pC,MAAAA,eAAe,EAAC,IAAjB;AAAsB+pC,MAAAA,gBAAgB,EAAC;AAAvC,KAAvC,EAAoF,KAAKC,oBAAL,GAA0B,IAA9G,EAAmH,KAAKC,eAAL,GAAqB,IAAxI,EAA6I,KAAKC,YAAL,GAAkB,IAA/J,EAAoK,KAAKrkB,aAAL,GAAmB,IAAvL,EAA4L,KAAKvrC,KAAL,GAAW,IAAvM,EAA4M,KAAK6vD,cAAL,GAAoB,CAAC,CAAjO,EAAmO,KAAKC,aAAL,GAAmB,IAAtP,EAA2P,KAAKC,kBAAL,GAAwB,IAAnR,EAAwR,KAAKC,kBAAL,GAAwB,IAAhT,EAAqT,KAAK78D,IAAL,GAAU,cAA/T,EAA8U,KAAKuyB,eAAL,GAAqB,IAAnW,EAAwW,KAAKuqC,oBAAL,GAA0B,IAAlY,EAAuY,KAAK97D,IAAL,CAAU,iBAAV,EAA4B,EAA5B,CAAvY;AAAua;;AAAA+7D,EAAAA,mBAAmB,CAACtgE,CAAD,EAAGI,CAAH,EAAKF,CAAL,EAAO;AAAC,QAAG,CAACqG,KAAK,CAACC,OAAN,CAAcxG,CAAd,CAAJ,EAAqB;AAAO,QAAIQ,CAAC,GAACJ,CAAC,CAACmgE,QAAR;AAAiB,WAAOvgE,CAAC,CAACuF,GAAF,CAAOvF,CAAC,IAAE;AAAC,YAAMI,CAAC,GAAC,IAAI6B,mEAAJ,EAAR;AAAc,aAAO7B,CAAC,CAAC6D,IAAF,CAAOjE,CAAP,EAASE,CAAT,GAAY,QAAME,CAAC,CAACmgE,QAAR,KAAmBngE,CAAC,CAACmgE,QAAF,GAAW//D,CAA9B,CAAZ,EAA6C,QAAMJ,CAAC,CAACogE,QAAR,KAAmBpgE,CAAC,CAACogE,QAAF,GAAWpgE,CAAC,CAACmgE,QAAhC,CAA7C,EAAuF//D,CAAC,GAACJ,CAAC,CAACogE,QAA3F,EAAoGpgE,CAA3G;AAA6G,KAAtI,CAAP;AAAgJ;;AAAAqgE,EAAAA,oBAAoB,CAACzgE,CAAD,EAAGI,CAAH,EAAKF,CAAL,EAAOM,CAAP,EAAS;AAAC,UAAME,CAAC,GAACV,CAAC,CAACuF,GAAF,CAAOvF,CAAC,IAAEA,CAAC,CAAC2F,KAAF,CAAQ,EAAR,EAAWnF,CAAX,CAAV,CAAR;AAAkC,SAAKkgE,0BAAL,MAAmChgE,CAAC,CAACiE,OAAF,CAAW3E,CAAC,IAAE,OAAOA,CAAC,CAAC2gE,aAAvB,CAAnC,EAA0EvgE,CAAC,CAACF,CAAD,CAAD,GAAKQ,CAA/E;AAAiF;;AAAAkgE,EAAAA,SAAS,CAAC5gE,CAAD,EAAG;AAAC,WAAO,QAAMA,CAAN,GAAQA,CAAR,GAAU,cAAY,OAAOA,CAAnB,IAAsBU,iEAAA,CAAY,IAAZ,EAAkB+C,KAAlB,CAAwB,sCAAxB,GAAgE,IAAtF,IAA4FvC,kFAAC,CAAClB,CAAD,CAA9G;AAAkH;;AAAY,MAARugE,QAAQ,GAAE;AAAC,WAAO,KAAKR,eAAL,IAAsB,KAAKA,eAAL,CAAqB,CAArB,CAAtB,IAA+C,KAAKA,eAAL,CAAqB,CAArB,EAAwBQ,QAAvE,IAAiF,CAAxF;AAA0F;;AAAqB,MAAjBM,iBAAiB,GAAE;AAAC,QAAI7gE,CAAC,GAAC,KAAKwE,IAAL,CAAU,mBAAV,CAAN;;AAAqC,UAAMpE,CAAC,GAAC,CAAC,CAAC,KAAK+/D,kBAAf;AAAA,UAAkCjgE,CAAC,GAAC,QAAM,KAAKkgE,kBAA/C;AAAkE,WAAOhgE,CAAC,IAAEF,CAAH,IAAMF,CAAC,GAACI,CAAC,IAAEgC,CAAH,IAAMlC,CAAC,IAAEqI,CAAT,IAAY,IAAd,EAAmBnI,CAAC,IAAEF,CAAH,IAAMQ,iEAAA,CAAY,IAAZ,EAAkBmmB,IAAlB,CAAuB,kEAAvB,CAA/B,IAA2H7mB,CAAC,KAAGoC,CAAJ,IAAOpC,CAAC,KAAGuI,CAAX,KAAevI,CAAC,GAAC,IAAjB,CAA3H,EAAkJA,CAAzJ;AAA2J;;AAAqB,MAAjB6gE,iBAAiB,CAAC7gE,CAAD,EAAG;AAAC,SAAKuE,IAAL,CAAU,mBAAV,EAA8BvE,CAA9B;AAAiC;;AAAA8gE,EAAAA,iBAAiB,CAAC9gE,CAAD,EAAGE,CAAH,EAAKQ,CAAL,EAAO;AAAC,QAAIT,CAAC,GAAC,IAAN;AAAWA,IAAAA,CAAC,GAAC,YAAU,OAAOD,CAAjB,GAAmB,IAAIiC,mEAAJ,CAAM;AAACs+D,MAAAA,QAAQ,EAACvgE,CAAV;AAAYwgE,MAAAA,QAAQ,EAACtgE,CAArB;AAAuBosC,MAAAA,MAAM,EAAClsC,uDAAC,CAACM,CAAD;AAA/B,KAAN,CAAnB,GAA8D2K,CAAC,CAAC7K,oDAAC,CAACR,CAAD,CAAF,CAAjE,EAAwE,KAAK+/D,eAAL,CAAqBj7D,IAArB,CAA0B7E,CAA1B,CAAxE,EAAqG,MAAI,KAAK8/D,eAAL,CAAqBlyD,MAAzB,IAAiC,KAAKkzD,YAAL,CAAkB,UAAlB,CAAtI;AAAoK;;AAAAC,EAAAA,oBAAoB,CAAChhE,CAAD,EAAGI,CAAH,EAAK;AAAC,UAAMF,CAAC,GAAC,KAAK6/D,eAAL,CAAqBlyD,MAA7B;;AAAoC,SAAI,IAAIrN,CAAC,GAAC,CAAV,EAAYA,CAAC,GAACN,CAAd,EAAgBM,CAAC,EAAjB,EAAoB;AAAC,YAAMN,CAAC,GAAC,CAAC,KAAK6/D,eAAL,CAAqBv/D,CAArB,EAAwB+/D,QAAzB,EAAkC,KAAKR,eAAL,CAAqBv/D,CAArB,EAAwBggE,QAA1D,CAAR;;AAA4E,UAAGtgE,CAAC,CAAC,CAAD,CAAD,KAAOF,CAAP,IAAUE,CAAC,CAAC,CAAD,CAAD,KAAOE,CAApB,EAAsB;AAAC,aAAK2/D,eAAL,CAAqBj+C,MAArB,CAA4BthB,CAA5B,EAA8B,CAA9B;AAAiC;AAAM;AAAC;AAAC;;AAAAygE,EAAAA,aAAa,CAACjhE,CAAD,EAAGI,CAAH,EAAK;AAAC,WAAO,KAAK01B,eAAL,IAAsB,QAAM11B,CAAC,EAAE8gE,MAA/B,IAAuCxgE,iEAAA,CAAY,IAAZ,EAAkBmmB,IAAlB,CAAuB,EAAvB,CAAvC,EAAkE,KAAKiP,eAAL,GAAqB,KAAKqrC,2BAAL,CAAiCnhE,CAAjC,EAAmCI,CAAnC,CAArB,GAA2D,KAAKghE,sBAAL,CAA4BphE,CAA5B,CAApI;AAAmK;;AAAMqhE,EAAAA,iBAAiB,CAACrhE,CAAD,EAAGI,CAAH,EAAK;AAAA;;AAAA;AAAC,UAAIF,CAAC,GAACE,CAAN;AAAQ,WAAI,CAAC01B,eAAL,IAAsB,QAAM11B,CAAC,EAAE8gE,MAA/B,KAAwChhE,CAAC,GAAC,EAAC,GAAGA,CAAJ;AAAMghE,QAAAA,MAAM,QAAO/+D,uEAAC;AAApB,OAA1C;;AAAmE,YAAM3B,CAAC,GAAC,KAAI,CAACygE,aAAL,CAAmBjhE,CAAnB,EAAqBE,CAArB,CAAR;;AAAgC,aAAM,CAAC,CAAD,KAAKM,CAAL,GAAO,KAAI,CAACu/D,eAAL,CAAqBv/D,CAArB,CAAP,GAA+B,IAArC;AAA5G;AAAsJ;;AAAA8gE,EAAAA,SAAS,CAACthE,CAAD,EAAGI,CAAH,EAAK;AAAC,QAAG,KAAK01B,eAAL,IAAsB,QAAM11B,CAAC,EAAE8gE,MAAlC,EAAyC,OAAO,KAAKxgE,iEAAA,CAAY,IAAZ,EAAkB+C,KAAlB,CAAwB,cAAxB,EAAuC,sDAAvC,CAAZ;AAA2G,UAAMvD,CAAC,GAAC,KAAK+gE,aAAL,CAAmBjhE,CAAnB,EAAqBI,CAArB,CAAR;AAAgC,WAAOF,CAAC,GAAC,CAAC,CAAH,GAAK,KAAK6/D,eAAL,CAAqB7/D,CAArB,EAAwBosC,MAA7B,GAAoC,KAAKqP,aAAhD;AAA8D;;AAAM4lB,EAAAA,cAAc,CAACvhE,CAAD,EAAGI,CAAH,EAAK;AAAA;;AAAA;AAAC,UAAIF,CAAC,GAACE,CAAN;;AAAQ,UAAG,MAAI,CAAC01B,eAAL,IAAsB,QAAM11B,CAAC,EAAE8gE,MAAlC,EAAyC;AAAC,cAAMlhE,CAAC,SAAOmC,uEAAC,EAAf;AAAA,cAAkB;AAACk8C,UAAAA,WAAW,EAACj+C;AAAb,YAAgBJ,CAAlC;AAAoCI,QAAAA,CAAC,CAACohE,qBAAF,CAAwB,MAAI,CAAC1rC,eAA7B,YAAqD11B,CAAC,CAACqhE,wBAAF,EAArD,GAAkFvhE,CAAC,GAAC,EAAC,GAAGA,CAAJ;AAAMghE,UAAAA,MAAM,EAAClhE;AAAb,SAApF;AAAoG;;AAAA,YAAMQ,CAAC,GAAC,MAAI,CAACygE,aAAL,CAAmBjhE,CAAnB,EAAqBE,CAArB,CAAR;;AAAgC,aAAOM,CAAC,GAAC,CAAC,CAAH,GAAK,MAAI,CAACu/D,eAAL,CAAqBv/D,CAArB,EAAwB8rC,MAA7B,GAAoC,MAAI,CAACqP,aAAhD;AAA3N;AAAyR;;AAAA+lB,EAAAA,UAAU,GAAE;AAAC,UAAM1hE,CAAC,GAAC,EAAR;AAAW,WAAO,KAAK+/D,eAAL,CAAqBp7D,OAArB,CAA8BvE,CAAC,IAAE;AAACA,MAAAA,CAAC,CAACksC,MAAF,IAAUtsC,CAAC,CAAC8E,IAAF,CAAO1E,CAAC,CAACksC,MAAT,CAAV;AAA2B,KAA7D,GAAgE,KAAKqP,aAAL,IAAoB37C,CAAC,CAAC8E,IAAF,CAAO,KAAK62C,aAAZ,CAApF,EAA+G37C,CAAtH;AAAwH;;AAAA2hE,EAAAA,gBAAgB,GAAE;AAAC,WAAO,KAAK3jB,eAAL,EAAsBltC,MAAtB,CAA8B,CAAC9Q,CAAD,EAAGI,CAAH,KAAOJ,CAAC,GAACI,CAAC,CAACuhE,gBAAF,EAAvC,EAA6D,EAA7D,KAAkE,EAAzE;AAA4E;;AAAAC,EAAAA,WAAW,GAAE;AAAC,UAAM5hE,CAAC,GAACymB,IAAI,CAACC,SAAL,CAAe,KAAKo5C,oBAApB,CAAR;AAAA,UAAkD1/D,CAAC,GAACqmB,IAAI,CAACC,SAAL,CAAe,KAAKi1B,aAApB,CAApD;AAAA,UAAuFz7C,CAAC,GAAE,GAAE,KAAKigE,kBAAmB,IAAG,KAAKU,iBAAkB,IAAG,KAAKT,kBAAmB,EAAzK;AAA2K,WAAO,GAAEpgE,CAAE,IAAGI,CAAE,IAAG,KAAK2/D,eAAL,CAAqBjvD,MAArB,CAA6B,CAAC9Q,CAAD,EAAGI,CAAH,KAAOJ,CAAC,GAACI,CAAC,CAACwhE,WAAF,EAAtC,EAAuD,EAAvD,CAA2D,IAAG1hE,CAAE,IAAG,KAAKkQ,KAAM,IAAG,KAAK0lB,eAAgB,EAAzH;AAA2H;;AAAkB,MAAd+rC,cAAc,GAAE;AAAC,WAAO,KAAKC,gCAAL,IAAuC,CAAC,CAAC,KAAKhsC,eAArD;AAAqE;;AAAAr1B,EAAAA,KAAK,GAAE;AAAC,WAAO,IAAI8B,CAAJ,CAAM;AAAC6N,MAAAA,KAAK,EAAC,KAAKA,KAAZ;AAAkB0vD,MAAAA,oBAAoB,EAAC,KAAKA,oBAAL,EAA2Br/D,KAA3B,EAAvC;AAA0Eu/D,MAAAA,YAAY,EAAC,KAAKA,YAA5F;AAAyGrkB,MAAAA,aAAa,EAAC,KAAKA,aAAL,EAAoBl7C,KAApB,EAAvH;AAAmJq1B,MAAAA,eAAe,EAAC,KAAKA,eAAxK;AAAwLuqC,MAAAA,oBAAoB,EAAC,KAAKA,oBAAlN;AAAuON,MAAAA,eAAe,EAACv/D,oDAAC,CAAC,KAAKu/D,eAAN,CAAxP;AAA+QE,MAAAA,cAAc,EAAC,KAAKA,cAAnS;AAAkTE,MAAAA,kBAAkB,EAAC,KAAKA,kBAA1U;AAA6VC,MAAAA,kBAAkB,EAAC,KAAKA,kBAArX;AAAwYS,MAAAA,iBAAiB,EAAC,KAAKA,iBAA/Z;AAAib7iB,MAAAA,eAAe,EAACx9C,oDAAC,CAAC,KAAKw9C,eAAN,CAAlc;AAAydkiB,MAAAA,aAAa,EAAC1/D,oDAAC,CAAC,KAAK0/D,aAAN,CAAxe;AAA6f6B,MAAAA,aAAa,EAACvhE,oDAAC,CAAC,KAAKuhE,aAAN;AAA5gB,KAAN,CAAP;AAAgjB;;AAAMlzD,EAAAA,qBAAqB,CAAC7O,CAAD,EAAGI,CAAH,EAAK;AAAA;;AAAA;AAAC,YAAMF,CAAC,GAAC,CAAC,MAAI,CAAC8hE,uBAAL,CAA6BhiE,CAA7B,EAA+BI,CAA/B,CAAD,EAAmC,MAAI,CAAC6hE,mBAAL,CAAyBjiE,CAAzB,EAA2BI,CAA3B,CAAnC,CAAR;AAA0E,YAAMiF,OAAO,CAACc,GAAR,CAAYjG,CAAZ,CAAN;AAA3E;AAAgG;;AAAM+hE,EAAAA,mBAAmB,CAACjiE,CAAD,EAAGI,CAAH,EAAK;AAAA;;AAAA;AAAC,YAAMF,CAAC,GAAC,CAAC,GAAG,MAAI,CAACwhE,UAAL,GAAkBn8D,GAAlB,CAAuBrF,CAAC,IAAEA,CAAC,CAAC2O,qBAAF,CAAwB7O,CAAxB,EAA0BI,CAA1B,CAA1B,CAAJ,EAA6DsB,uFAAC,CAAC1B,CAAD,EAAGI,CAAH,EAAK,MAAI,CAAC01B,eAAV,CAA9D,CAAR;AAAkGx0B,MAAAA,4EAAC,CAACtB,CAAD,EAAGI,CAAH,EAAK,MAAI,CAACgQ,KAAV,CAAD,EAAkB9O,4EAAC,CAACtB,CAAD,EAAGI,CAAH,EAAK,MAAI,CAAC+/D,kBAAV,CAAnB,QAAuD96D,OAAO,CAACc,GAAR,CAAYjG,CAAZ,CAAvD;AAAnG;AAAyK;;AAAAihE,EAAAA,2BAA2B,CAACnhE,CAAD,EAAGI,CAAH,EAAK;AAAC,UAAK;AAAC8hE,MAAAA,WAAW,EAAChiE,CAAb;AAAeqY,MAAAA,KAAK,EAAC/X,CAArB;AAAuBoC,MAAAA,gBAAgB,EAAClC,CAAxC;AAA0CwgE,MAAAA,MAAM,EAACjhE,CAAjD;AAAmDiV,MAAAA,QAAQ,EAAC5U;AAA5D,QAA+DF,CAAC,IAAE,EAAvE;AAAA,UAA0E;AAAC01B,MAAAA,eAAe,EAACj1B;AAAjB,QAAoB,IAA9F;AAAmG,QAAIF,CAAC,GAAC,KAAKi/D,wBAAL,CAA8B9pC,eAA9B,KAAgDj1B,CAAhD,GAAkD,KAAK++D,wBAAL,CAA8BC,gBAAhF,GAAiG,IAAvG;AAA4G,UAAMr+D,CAAC,GAACvB,CAAC,CAACo+C,WAAV;;AAAsB,QAAG,CAAC19C,CAAJ,EAAM;AAAC,YAAMX,CAAC,GAACwB,CAAC,CAAC2gE,gBAAF,CAAmBthE,CAAnB,CAAR;AAA8BF,MAAAA,CAAC,GAACa,CAAC,CAAC4gE,cAAF,CAAiBpiE,CAAjB,CAAF,EAAsB,KAAK4/D,wBAAL,CAA8BC,gBAA9B,GAA+Cl/D,CAArE;AAAuE;;AAAA,SAAKi/D,wBAAL,CAA8B9pC,eAA9B,GAA8Cj1B,CAA9C;AAAgD,UAAMG,CAAC,GAACQ,CAAC,CAAC6gE,eAAF,CAAkB1hE,CAAlB,EAAoBa,CAAC,CAAC8gE,iBAAF,CAAoBtiE,CAApB,EAAsBwB,CAAC,CAAC+gE,WAAF,CAAc;AAACL,MAAAA,WAAW,EAAChiE,CAAb;AAAeqY,MAAAA,KAAK,EAAC/X,CAArB;AAAuBoC,MAAAA,gBAAgB,EAAClC;AAAxC,KAAd,CAAtB,EAAgFJ,CAAhF,CAApB,CAAR;AAAgH,WAAO,KAAKkiE,uBAAL,CAA6BxhE,CAA7B,CAAP;AAAuC;;AAAAogE,EAAAA,sBAAsB,CAACphE,CAAD,EAAG;AAAC,UAAMI,CAAC,GAAC,KAAKgQ,KAAb;AAAA,UAAmBlQ,CAAC,GAACF,CAAC,CAACuxC,UAAvB;AAAA,UAAkC/wC,CAAC,GAAC,KAAKqgE,iBAAzC;AAA2D,QAAIngE,CAAC,GAAC+hE,UAAU,CAACviE,CAAC,CAACE,CAAD,CAAF,CAAhB;;AAAuB,QAAGI,CAAH,EAAK;AAAC,YAAMR,CAAC,GAAC,KAAKogE,kBAAb;AAAA,YAAgChgE,CAAC,GAACqiE,UAAU,CAAC,KAAKtC,kBAAL,GAAwBjgE,CAAC,CAAC,KAAKigE,kBAAN,CAAzB,GAAmD,KAAK,CAAzD,CAA5C;AAAwG,UAAG3/D,CAAC,KAAGkL,CAAP,EAAShL,CAAC,GAACojB,IAAI,CAACyP,GAAL,CAAS7yB,CAAT,IAAYojB,IAAI,CAAC4+C,MAAnB,CAAT,KAAwC,IAAGliE,CAAC,KAAG+H,CAAJ,IAAO,QAAMvI,CAAb,IAAgB2/C,KAAK,CAAC3/C,CAAD,CAAxB,EAA4B;AAAC,YAAGQ,CAAC,KAAG4B,CAAJ,IAAO,CAACu9C,KAAK,CAACv/C,CAAD,CAAhB,EAAoB;AAAC,cAAGu/C,KAAK,CAACj/C,CAAD,CAAL,IAAUi/C,KAAK,CAACv/C,CAAD,CAAlB,EAAsB,OAAM,CAAC,CAAP;AAASM,UAAAA,CAAC,IAAEN,CAAH;AAAK;AAAC,OAAvF,MAA4FM,CAAC,GAACA,CAAC,GAACV,CAAF,GAAI,GAAN;AAAU;;AAAA,WAAO,KAAKwiE,uBAAL,CAA6B9hE,CAA7B,CAAP;AAAuC;;AAAA8hE,EAAAA,uBAAuB,CAACxiE,CAAD,EAAG;AAAC,UAAMI,CAAC,GAAC,KAAK6/D,cAAb;AAA4B,QAAG,QAAMjgE,CAAN,IAAS,YAAU,OAAOA,CAA1B,IAA6B,CAAC2/C,KAAK,CAAC3/C,CAAD,CAAtC,EAA0C,KAAI,IAAIE,CAAC,GAAC,CAAV,EAAYA,CAAC,GAAC,KAAK6/D,eAAL,CAAqBlyD,MAAnC,EAA0C3N,CAAC,EAA3C,EAA8C;AAAC,YAAMM,CAAC,GAAC,CAAC,KAAKu/D,eAAL,CAAqB7/D,CAArB,EAAwBqgE,QAAzB,EAAkC,KAAKR,eAAL,CAAqB7/D,CAArB,EAAwBsgE,QAA1D,CAAR;AAA4E,UAAGhgE,CAAC,CAAC,CAAD,CAAD,IAAMR,CAAN,KAAUI,CAAC,GAACJ,CAAC,IAAEQ,CAAC,CAAC,CAAD,CAAL,GAASR,CAAC,GAACQ,CAAC,CAAC,CAAD,CAAvB,CAAH,EAA+B,OAAON,CAAP;AAAS;AAAA,WAAM,CAAC,CAAP;AAAS;;AAAAwgE,EAAAA,0BAA0B,GAAE;AAAC,UAAM1gE,CAAC,GAAC,KAAK+/D,eAAb;AAAA,UAA6B3/D,CAAC,GAACJ,CAAC,CAAC6N,MAAjC;;AAAwC,SAAI,IAAI3N,CAAC,GAAC,CAAV,EAAYA,CAAC,GAACE,CAAd,EAAgBF,CAAC,EAAjB,EAAoB,IAAGF,CAAC,CAACE,CAAC,GAAC,CAAH,CAAD,CAAOsgE,QAAP,KAAkBxgE,CAAC,CAACE,CAAD,CAAD,CAAKqgE,QAA1B,EAAmC,OAAM,CAAC,CAAP;;AAAS,WAAM,CAAC,CAAP;AAAS;;AAA7/K,CAA3B;AAA0hLvgE,uDAAC,CAAC,CAACC,sFAAC,CAACuC,+FAAD,CAAF,CAAD,EAAQF,CAAC,CAAC6F,SAAV,EAAoB,sBAApB,EAA2C,KAAK,CAAhD,CAAD,EAAoDnI,uDAAC,CAAC,CAACC,sFAAC,CAAC;AAACsD,EAAAA,IAAI,EAAC,CAACtB,mEAAD;AAAN,CAAD,CAAF,CAAD,EAAiBK,CAAC,CAAC6F,SAAnB,EAA6B,iBAA7B,EAA+C,KAAK,CAApD,CAArD,EAA4GnI,uDAAC,CAAC,CAACW,kFAAC,CAAC,iBAAD,CAAF,CAAD,EAAwB2B,CAAC,CAAC6F,SAA1B,EAAoC,qBAApC,EAA0D,IAA1D,CAA7G,EAA6KnI,uDAAC,CAAC,CAACgB,mFAAC,CAAC,iBAAD,CAAF,CAAD,EAAwBsB,CAAC,CAAC6F,SAA1B,EAAoC,sBAApC,EAA2D,IAA3D,CAA9K,EAA+OnI,uDAAC,CAAC,CAACC,sFAAC,CAAC;AAACsD,EAAAA,IAAI,EAAC6E,MAAN;AAAaL,EAAAA,IAAI,EAAC;AAACpC,IAAAA,KAAK,EAAC,CAAC;AAAR;AAAlB,CAAD,CAAF,CAAD,EAAoCrD,CAAC,CAAC6F,SAAtC,EAAgD,cAAhD,EAA+D,KAAK,CAApE,CAAhP,EAAuTnI,uDAAC,CAAC,CAACC,sFAAC,CAAC4B,iFAAD,CAAF,CAAD,EAAQS,CAAC,CAAC6F,SAAV,EAAoB,eAApB,EAAoC,KAAK,CAAzC,CAAxT,EAAoWnI,uDAAC,CAAC,CAACC,sFAAC,CAAC;AAACsD,EAAAA,IAAI,EAAC6E,MAAN;AAAaL,EAAAA,IAAI,EAAC;AAACpC,IAAAA,KAAK,EAAC,CAAC;AAAR;AAAlB,CAAD,CAAF,CAAD,EAAoCrD,CAAC,CAAC6F,SAAtC,EAAgD,OAAhD,EAAwD,KAAK,CAA7D,CAArW,EAAqanI,uDAAC,CAAC,CAACM,8EAAC,CAAC,OAAD,CAAF,CAAD,EAAcgC,CAAC,CAAC6F,SAAhB,EAA0B,WAA1B,EAAsC,IAAtC,CAAta,EAAkdnI,uDAAC,CAAC,CAACC,sFAAC,CAAC;AAACsD,EAAAA,IAAI,EAACgL;AAAN,CAAD,CAAF,CAAD,EAAqBjM,CAAC,CAAC6F,SAAvB,EAAiC,gBAAjC,EAAkD,KAAK,CAAvD,CAAnd,EAA6gBnI,uDAAC,CAAC,CAACC,sFAAC,CAAC;AAACsD,EAAAA,IAAI,EAAC2I,0EAAN;AAAQnE,EAAAA,IAAI,EAAC;AAACpC,IAAAA,KAAK,EAAC,CAAC;AAAR;AAAb,CAAD,CAAF,CAAD,EAA+BrD,CAAC,CAAC6F,SAAjC,EAA2C,eAA3C,EAA2D,KAAK,CAAhE,CAA9gB,EAAilBnI,uDAAC,CAAC,CAACC,sFAAC,CAAC;AAACsD,EAAAA,IAAI,EAACwG,MAAN;AAAa1B,EAAAA,QAAQ,EAAC,CAAC,CAAvB;AAAyBqF,EAAAA,KAAK,EAAC,IAA/B;AAAoC3F,EAAAA,IAAI,EAAC;AAAC9D,IAAAA,IAAI,EAAC,CAAC,CAAP;AAAS0B,IAAAA,KAAK,EAAC;AAACuU,MAAAA,cAAc,GAAE;AAAC,eAAO,MAAI,KAAK6lD,eAAL,CAAqBlyD,MAAzB,IAAiC,KAAK6yD,0BAAL,EAAjC,GAAmE;AAACvmD,UAAAA,OAAO,EAAC,CAAC;AAAV,SAAnE,GAAgF;AAACA,UAAAA,OAAO,EAAC,CAAC;AAAV,SAAvF;AAAoG;;AAAtH;AAAf;AAAzC,CAAD,CAAF,CAAD,EAAwL7X,CAAC,CAAC6F,SAA1L,EAAoM,UAApM,EAA+M,IAA/M,CAAllB,EAAuyBnI,uDAAC,CAAC,CAACC,sFAAC,CAAC;AAACsD,EAAAA,IAAI,EAAC6E,MAAN;AAAaL,EAAAA,IAAI,EAAC;AAACpC,IAAAA,KAAK,EAAC,CAAC;AAAR;AAAlB,CAAD,CAAF,CAAD,EAAoCrD,CAAC,CAAC6F,SAAtC,EAAgD,oBAAhD,EAAqE,KAAK,CAA1E,CAAxyB,EAAq3BnI,uDAAC,CAAC,CAACC,sFAAC,CAAC;AAACsD,EAAAA,IAAI,EAACwG,MAAN;AAAahC,EAAAA,IAAI,EAAC;AAACpC,IAAAA,KAAK,EAAC,CAAC;AAAR;AAAlB,CAAD,CAAF,CAAD,EAAoCrD,CAAC,CAAC6F,SAAtC,EAAgD,oBAAhD,EAAqE,KAAK,CAA1E,CAAt3B,EAAm8BnI,uDAAC,CAAC,CAACC,sFAAC,CAAC;AAACsD,EAAAA,IAAI,EAAC8O,CAAC,CAACswD,SAAR;AAAkBj1D,EAAAA,KAAK,EAAC,IAAxB;AAA6B3F,EAAAA,IAAI,EAAC;AAACxE,IAAAA,IAAI,EAAC8O,CAAC,CAACuwD,UAAR;AAAmB3+D,IAAAA,IAAI,EAACoO,CAAC,CAACpO,IAA1B;AAA+B0B,IAAAA,KAAK,EAAC0M,CAAC,CAAC1M;AAAvC;AAAlC,CAAD,CAAF,CAAD,EAAuFrD,CAAC,CAAC6F,SAAzF,EAAmG,mBAAnG,EAAuH,IAAvH,CAAp8B,EAAikCnI,uDAAC,CAAC,CAACa,4FAAC,CAAC;AAACgiE,EAAAA,WAAW,EAAC;AAAb,CAAD,CAAF,CAAD,EAAmCvgE,CAAC,CAAC6F,SAArC,EAA+C,MAA/C,EAAsD,KAAK,CAA3D,CAAlkC,EAAgoCnI,uDAAC,CAAC,CAACC,sFAAC,CAAC;AAACsD,EAAAA,IAAI,EAAC6E,MAAN;AAAaL,EAAAA,IAAI,EAAC;AAACpC,IAAAA,KAAK,EAAC,CAAC;AAAR;AAAlB,CAAD,CAAF,CAAD,EAAoCrD,CAAC,CAAC6F,SAAtC,EAAgD,iBAAhD,EAAkE,KAAK,CAAvE,CAAjoC,EAA2sCnI,uDAAC,CAAC,CAACC,sFAAC,CAAC;AAACsD,EAAAA,IAAI,EAAC6E,MAAN;AAAaL,EAAAA,IAAI,EAAC;AAACpC,IAAAA,KAAK,EAAC,CAAC;AAAR;AAAlB,CAAD,CAAF,CAAD,EAAoCrD,CAAC,CAAC6F,SAAtC,EAAgD,sBAAhD,EAAuE,KAAK,CAA5E,CAA5sC,EAA2xC7F,CAAC,GAACC,CAAC,GAACvC,uDAAC,CAAC,CAACwB,uFAAC,CAAC,oCAAD,CAAF,CAAD,EAA2Cc,CAA3C,CAAhyC;AAA80C,MAAM+kB,CAAC,GAAC/kB,CAAR;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACJrpQ;AACA;AACA;AACA;AACA;AAA2C;AAAwC;AAA0E;AAAuB;AAA0B;AAA0E;AAAsE;AAA0E;AAA6B;AAAwE;AAAiE,IAAIxB,CAAJ;AAAM,IAAIE,CAAC,GAACF,CAAC,GAAC,cAAcR,sFAAC,CAACO,oDAAD,CAAf,CAAmB;AAAC4B,EAAAA,WAAW,CAACzC,CAAD,EAAG;AAAC,UAAMA,CAAN,GAAS,KAAK+iE,MAAL,GAAY,IAArB,EAA0B,KAAKC,QAAL,GAAc,IAAxC,EAA6C,KAAKC,eAAL,GAAqB,IAAlE,EAAuE,KAAKC,oBAAL,GAA0B,IAAjG,EAAsG,KAAKr9D,GAAL,GAAS,IAA/G,EAAoH,KAAKtC,IAAL,GAAU,YAA9H;AAA2I;;AAAW,MAAP4/D,OAAO,GAAE;AAAC,WAAO,IAAIxiE,2EAAJ,CAAM,KAAKkF,GAAX,EAAe,KAAKk9D,MAApB,EAA2B,KAAKC,QAAhC,CAAP;AAAiD;;AAAAI,EAAAA,SAAS,CAACpjE,CAAD,EAAGC,CAAH,EAAK;AAACD,IAAAA,CAAC,KAAGC,CAAC,CAACojE,qBAAF,GAAwB;AAAC72D,MAAAA,UAAU,EAACxM,CAAZ;AAAcsjE,MAAAA,UAAU,EAAC;AAAzB,KAA3B,CAAD;AAAgE;;AAAAC,EAAAA,oBAAoB,CAACvjE,CAAD,EAAGC,CAAH,EAAKG,CAAL,EAAOM,CAAP,EAAS;AAACA,IAAAA,CAAC,EAAEkF,MAAH,IAAW,MAAM29D,oBAAN,CAA2BvjE,CAA3B,EAA6BC,CAA7B,EAA+BG,CAA/B,EAAiCM,CAAjC,CAAX;AAA+C;;AAAAD,EAAAA,KAAK,GAAE;AAAC,WAAO,IAAIK,CAAJ,CAAM;AAACiiE,MAAAA,MAAM,EAAC9iE,oDAAC,CAAC,KAAK8iE,MAAN,CAAT;AAAuBE,MAAAA,eAAe,EAAC,KAAKA,eAA5C;AAA4DC,MAAAA,oBAAoB,EAAC,KAAKA,oBAAtF;AAA2GF,MAAAA,QAAQ,EAAC/iE,oDAAC,CAAC,KAAK+iE,QAAN,CAArH;AAAqIn9D,MAAAA,GAAG,EAAC5F,oDAAC,CAAC,KAAK4F,GAAN,CAA1I;AAAqJm4C,MAAAA,eAAe,EAAC/9C,oDAAC,CAAC,KAAK+9C,eAAN;AAAtK,KAAN,CAAP;AAA4M;;AAAMujB,EAAAA,cAAc,CAACvhE,CAAD,EAAGC,CAAH,EAAK;AAAA;;AAAA;AAAC,aAAO,KAAI,CAACkjE,OAAL,CAAa5B,cAAb,CAA4BvhE,CAA5B,EAA8BC,CAA9B,CAAP;AAAD;AAAyC;;AAAM4O,EAAAA,qBAAqB,CAAC7O,CAAD,EAAGC,CAAH,EAAK;AAAA;;AAAA;AAAC,YAAM,MAAI,CAAC+hE,uBAAL,CAA6BhiE,CAA7B,EAA+BC,CAA/B,CAAN,EAAwC,MAAI,CAACgjE,eAAL,WAA4BziE,sFAAC,CAACR,CAAD,EAAGC,CAAH,EAAK,MAAI,CAACgjE,eAAV,CAA7B,CAAxC;;AAAgG,WAAI,MAAM7iE,CAAV,IAAe,MAAI,CAAC4iE,QAApB,EAA6B;AAAC,cAAMtiE,CAAC,GAAC,MAAI,CAACsiE,QAAL,CAAc5iE,CAAd,CAAR;AAAyBH,QAAAA,CAAC,CAACoP,GAAF,CAAM3O,CAAN,KAAUV,CAAC,CAAC6hC,GAAF,CAAMnhC,CAAN,CAAV;AAAmB;AAA3K;AAA4K;;AAAkB,MAAdmhE,cAAc,GAAE;AAAC,WAAM,CAAC,CAAP;AAAS;;AAAAP,EAAAA,SAAS,GAAE;AAAC,WAAO,IAAP;AAAY;;AAAAI,EAAAA,UAAU,GAAE;AAAC,WAAM,EAAN;AAAS;;AAAAC,EAAAA,gBAAgB,GAAE;AAAC,WAAO,KAAK3jB,eAAL,EAAsBltC,MAAtB,CAA8B,CAAC9Q,CAAD,EAAGC,CAAH,KAAOD,CAAC,GAACC,CAAC,CAAC0hE,gBAAF,EAAvC,EAA6D,EAA7D,KAAkE,EAAzE;AAA4E;;AAAAC,EAAAA,WAAW,GAAE;AAAC,WAAO,GAAE,KAAK/7D,GAAI,IAAG4gB,IAAI,CAACC,SAAL,CAAe,KAAKs8C,QAApB,CAA8B,EAAnD;AAAqD;;AAAAQ,EAAAA,eAAe,GAAE;AAAC,WAAO,KAAKL,OAAL,CAAaK,eAAb,EAAP;AAAsC;;AAA9nC,CAA3B;AAA2pCxjE,uDAAC,CAAC,CAACI,sFAAC,CAAC;AAACmD,EAAAA,IAAI,EAAC5C,2EAACA;AAAP,CAAD,CAAF,CAAD,EAAeK,CAAC,CAACmH,SAAjB,EAA2B,SAA3B,EAAqC,IAArC,CAAD,EAA4CnI,uDAAC,CAAC,CAACI,sFAAC,CAAC;AAACmD,EAAAA,IAAI,EAAC8W,MAAN;AAAatS,EAAAA,IAAI,EAAC;AAAC9D,IAAAA,IAAI,EAAC;AAACoG,MAAAA,MAAM,EAAC;AAAR,KAAN;AAA+B1E,IAAAA,KAAK,EAAC;AAACsC,MAAAA,MAAM,EAAC;AAAR;AAArC;AAAlB,CAAD,CAAF,CAAD,EAAwFjH,CAAC,CAACmH,SAA1F,EAAoG,QAApG,EAA6G,KAAK,CAAlH,CAA7C,EAAkKnI,uDAAC,CAAC,CAACI,sFAAC,CAAC;AAACmD,EAAAA,IAAI,EAAC8W,MAAN;AAAatS,EAAAA,IAAI,EAAC;AAACpC,IAAAA,KAAK,EAAC,CAAC;AAAR;AAAlB,CAAD,CAAF,CAAD,EAAoC3E,CAAC,CAACmH,SAAtC,EAAgD,UAAhD,EAA2D,KAAK,CAAhE,CAAnK,EAAsOnI,uDAAC,CAAC,CAACI,sFAAC,CAAC;AAACmD,EAAAA,IAAI,EAAC6E,MAAN;AAAaL,EAAAA,IAAI,EAAC;AAAC9D,IAAAA,IAAI,EAAC;AAACoG,MAAAA,MAAM,EAAC;AAAR,KAAN;AAAkD1E,IAAAA,KAAK,EAAC,CAAC;AAAzD;AAAlB,CAAD,CAAF,CAAD,EAAqF3E,CAAC,CAACmH,SAAvF,EAAiG,iBAAjG,EAAmH,KAAK,CAAxH,CAAvO,EAAkWnI,uDAAC,CAAC,CAACE,kFAAC,CAAC,iBAAD,CAAF,CAAD,EAAwBc,CAAC,CAACmH,SAA1B,EAAoC,WAApC,EAAgD,IAAhD,CAAnW,EAAyZnI,uDAAC,CAAC,CAACI,sFAAC,CAAC;AAACmD,EAAAA,IAAI,EAAC6E,MAAN;AAAaL,EAAAA,IAAI,EAAC;AAAC9D,IAAAA,IAAI,EAAC;AAACoG,MAAAA,MAAM,EAAC;AAAR,KAAN;AAA6C1E,IAAAA,KAAK,EAAC;AAACsC,MAAAA,MAAM,EAAC,6BAAR;;AAAsCiS,MAAAA,cAAc,CAACla,CAAD,EAAG;AAAC,eAAM;AAACma,UAAAA,OAAO,EAAC,CAAC,CAACna,CAAF,IAAK,CAAC,CAAC,KAAKijE;AAArB,SAAN;AAA4C;;AAApG;AAAnD;AAAlB,CAAD,CAAF,CAAD,EAAmLjiE,CAAC,CAACmH,SAArL,EAA+L,sBAA/L,EAAsN,KAAK,CAA3N,CAA1Z,EAAwnBnI,uDAAC,CAAC,CAACI,sFAAC,CAAC;AAACmD,EAAAA,IAAI,EAAC6E,MAAN;AAAaL,EAAAA,IAAI,EAAC;AAACpC,IAAAA,KAAK,EAAC,CAAC;AAAR;AAAlB,CAAD,CAAF,CAAD,EAAoC3E,CAAC,CAACmH,SAAtC,EAAgD,KAAhD,EAAsD,KAAK,CAA3D,CAAznB,EAAurBnI,uDAAC,CAAC,CAACE,kFAAC,CAAC,iBAAD,CAAF,CAAD,EAAwBc,CAAC,CAACmH,SAA1B,EAAoC,sBAApC,EAA2D,IAA3D,CAAxrB,EAAyvBnH,CAAC,GAACF,CAAC,GAACd,uDAAC,CAAC,CAACU,sFAAC,CAAC,mCAAD,CAAF,CAAD,EAA0CM,CAA1C,CAA9vB;AAA2yB,MAAMQ,CAAC,GAACR,CAAR;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACJ1hF;AACA;AACA;AACA;AACA;AAA2C;AAA2B;AAAwC;AAA0E;AAAuB;AAA0B;AAAgF;AAA0E;AAA0E;AAA6B;AAAwE;AAA+C;AAAoD;AAA8C;AAA8C,IAAIM,CAAJ;AAAM,IAAIJ,CAAC,GAACI,CAAC,GAAC,cAAcR,sFAAC,CAACD,qDAAD,CAAf,CAAmB;AAAC4B,EAAAA,WAAW,CAACvC,CAAD,EAAG;AAAC,UAAMA,CAAN,GAAS,KAAKqxC,UAAL,GAAgB,IAAzB,EAA8B,KAAKkyB,eAAL,GAAqB,IAAIzjE,iDAAJ,CAAM,CAAC,CAAD,EAAG,CAAH,EAAK,CAAL,EAAO,CAAP,CAAN,CAAnD,EAAoE,KAAK0jE,kBAAL,GAAwB,CAAC,CAA7F,EAA+F,KAAKC,QAAL,GAAc,QAA7G,EAAsH,KAAKC,OAAL,GAAa,CAAnI,EAAqI,KAAK1D,aAAL,GAAmB,IAAxJ,EAA6J,KAAK2D,OAAL,GAAa,IAAI7iE,qEAAJ,EAA1K,EAAgL,KAAK8iE,QAAL,GAAc,IAA9L,EAAmM,KAAKC,cAAL,GAAoB,IAAvN,EAA4N,KAAKC,IAAL,GAAU,CAAtO,EAAwO,KAAKzgE,IAAL,GAAU,aAAlP;AAAgQ;;AAAA0gE,EAAAA,iBAAiB,CAAC/jE,CAAD,EAAG;AAAC,QAAG,QAAM,KAAK6jE,cAAd,EAA6B,OAAO,KAAKD,QAAZ;AAAqB,UAAM9jE,CAAC,GAACE,CAAC,GAAC,KAAK6jE,cAAP,GAAsB,KAAKD,QAAnC;AAA4C,WAAO9jE,CAAC,GAAC,CAAF,GAAI,CAAJ,GAAMA,CAAb;AAAe;;AAAAshE,EAAAA,SAAS,GAAE;AAAC,WAAO,IAAI9/D,qEAAJ,CAAM;AAACqiE,MAAAA,OAAO,EAAC,KAAKA;AAAd,KAAN,CAAP;AAAqC;;AAAMtC,EAAAA,cAAc,GAAE;AAAA;;AAAA;AAAC,aAAO,KAAI,CAACD,SAAL,EAAP;AAAD;AAAyB;;AAAAI,EAAAA,UAAU,GAAE;AAAC,WAAM,CAAC,KAAKJ,SAAL,EAAD,CAAN;AAAyB;;AAAAK,EAAAA,gBAAgB,GAAE;AAAC,WAAO,KAAKpwB,UAAL,EAAiBzgC,MAAjB,CAAyB,CAAC5Q,CAAD,EAAGF,CAAH,KAAOE,CAAC,GAACF,CAAC,CAAC2hE,gBAAF,EAAlC,EAAwD,EAAxD,KAA6D,EAApE;AAAuE;;AAAAC,EAAAA,WAAW,GAAE;AAAC,WAAOn7C,IAAI,CAACC,SAAL,CAAe,KAAKm9C,OAApB,CAAP;AAAoC;;AAAApjE,EAAAA,KAAK,GAAE;AAAC,WAAO,IAAIa,CAAJ,CAAM;AAACiwC,MAAAA,UAAU,EAAC/wC,oDAAC,CAAC,KAAK+wC,UAAN,CAAb;AAA+BkyB,MAAAA,eAAe,EAACjjE,oDAAC,CAAC,KAAKijE,eAAN,CAAhD;AAAuEC,MAAAA,kBAAkB,EAACljE,oDAAC,CAAC,KAAKkjE,kBAAN,CAA3F;AAAqHC,MAAAA,QAAQ,EAACnjE,oDAAC,CAAC,KAAKmjE,QAAN,CAA/H;AAA+IC,MAAAA,OAAO,EAACpjE,oDAAC,CAAC,KAAKojE,OAAN,CAAxJ;AAAuKE,MAAAA,QAAQ,EAACtjE,oDAAC,CAAC,KAAKsjE,QAAN,CAAjL;AAAiM5D,MAAAA,aAAa,EAAC1/D,oDAAC,CAAC,KAAK0/D,aAAN,CAAhN;AAAqO2D,MAAAA,OAAO,EAACrjE,oDAAC,CAAC,KAAKqjE,OAAN,CAA9O;AAA6PE,MAAAA,cAAc,EAACvjE,oDAAC,CAAC,KAAKujE,cAAN,CAA7Q;AAAmSC,MAAAA,IAAI,EAACxjE,oDAAC,CAAC,KAAKwjE,IAAN,CAAzS;AAAqThmB,MAAAA,eAAe,EAACx9C,oDAAC,CAAC,KAAKw9C,eAAN,CAAtU;AAA6V+jB,MAAAA,aAAa,EAACvhE,oDAAC,CAAC,KAAKuhE,aAAN;AAA5W,KAAN,CAAP;AAAgZ;;AAAAmC,EAAAA,iBAAiB,GAAE;AAAC,UAAMhkE,CAAC,GAAC,KAAKqxC,UAAL,EAAiBhsC,GAAjB,CAAsBrF,CAAC,IAAEA,CAAC,CAACkQ,KAAF,IAASlQ,CAAC,CAAC41B,eAAX,IAA4B,EAArD,CAAR;AAAkE,WAAO,GAAE51B,CAAE,IAAG,KAAK2jE,OAAL,IAAcp9C,IAAI,CAACC,SAAL,CAAe,KAAKm9C,OAAL,CAAat5D,MAAb,EAAf,CAAd,IAAqD,EAAG,EAAtE;AAAwE;;AAAMsE,EAAAA,qBAAqB,CAAC3O,CAAD,EAAGF,CAAH,EAAK;AAAA;;AAAA;AAAC,YAAM,MAAI,CAACgiE,uBAAL,CAA6B9hE,CAA7B,EAA+BF,CAA/B,CAAN;;AAAwC,WAAI,MAAMQ,CAAV,IAAe,MAAI,CAAC+wC,UAAL,IAAiB,EAAhC,EAAmC/wC,CAAC,CAACs1B,eAAF,WAAyBn1B,sFAAC,CAACT,CAAD,EAAGF,CAAH,EAAKQ,CAAC,CAACs1B,eAAP,CAA1B,GAAkDt1B,CAAC,CAAC4P,KAAF,IAASlQ,CAAC,CAAC2hC,GAAF,CAAMrhC,CAAC,CAAC4P,KAAR,CAA3D;AAA5E;AAAsJ;;AAAh5C,CAA3B;AAA66ClQ,uDAAC,CAAC,CAACD,sFAAC,CAAC;AAACsD,EAAAA,IAAI,EAAC,CAACjD,uEAAD,CAAN;AAAUyH,EAAAA,IAAI,EAAC;AAACpC,IAAAA,KAAK,EAAC,CAAC;AAAR;AAAf,CAAD,CAAF,CAAD,EAAiCzE,CAAC,CAACiH,SAAnC,EAA6C,YAA7C,EAA0D,KAAK,CAA/D,CAAD,EAAmEjI,uDAAC,CAAC,CAACD,sFAAC,CAAC;AAACsD,EAAAA,IAAI,EAACvD,iDAAN;AAAQ+H,EAAAA,IAAI,EAAC;AAACpC,IAAAA,KAAK,EAAC,CAAC;AAAR;AAAb,CAAD,CAAF,CAAD,EAA+BzE,CAAC,CAACiH,SAAjC,EAA2C,iBAA3C,EAA6D,KAAK,CAAlE,CAApE,EAAyIjI,uDAAC,CAAC,CAACD,sFAAC,CAAC;AAACsD,EAAAA,IAAI,EAACgL,OAAN;AAAcxG,EAAAA,IAAI,EAAC;AAACpC,IAAAA,KAAK,EAAC,CAAC;AAAR;AAAnB,CAAD,CAAF,CAAD,EAAqCzE,CAAC,CAACiH,SAAvC,EAAiD,oBAAjD,EAAsE,KAAK,CAA3E,CAA1I,EAAwNjI,uDAAC,CAAC,CAACD,sFAAC,CAAC;AAACsD,EAAAA,IAAI,EAAC6E,MAAN;AAAaL,EAAAA,IAAI,EAAC;AAACpC,IAAAA,KAAK,EAAC,CAAC;AAAR;AAAlB,CAAD,CAAF,CAAD,EAAoCzE,CAAC,CAACiH,SAAtC,EAAgD,UAAhD,EAA2D,KAAK,CAAhE,CAAzN,EAA4RjI,uDAAC,CAAC,CAACD,sFAAC,CAAC;AAACsD,EAAAA,IAAI,EAACwG,MAAN;AAAahC,EAAAA,IAAI,EAAC;AAACpC,IAAAA,KAAK,EAAC,CAAC;AAAR;AAAlB,CAAD,CAAF,CAAD,EAAoCzE,CAAC,CAACiH,SAAtC,EAAgD,SAAhD,EAA0D,KAAK,CAA/D,CAA7R,EAA+VjI,uDAAC,CAAC,CAACD,sFAAC,CAAC;AAACsD,EAAAA,IAAI,EAAC7B,4EAAN;AAAQqG,EAAAA,IAAI,EAAC;AAACpC,IAAAA,KAAK,EAAC,CAAC;AAAR;AAAb,CAAD,CAAF,CAAD,EAA+BzE,CAAC,CAACiH,SAAjC,EAA2C,eAA3C,EAA2D,KAAK,CAAhE,CAAhW,EAAmajI,uDAAC,CAAC,CAACD,sFAAC,CAAC;AAACsD,EAAAA,IAAI,EAACvC,qEAAN;AAAQ+G,EAAAA,IAAI,EAAC;AAACS,IAAAA,OAAO,EAAC,IAAT;AAAc7C,IAAAA,KAAK,EAAC,CAAC;AAArB;AAAb,CAAD,CAAF,CAAD,EAA4CzE,CAAC,CAACiH,SAA9C,EAAwD,SAAxD,EAAkE,KAAK,CAAvE,CAApa,EAA8ejI,uDAAC,CAAC,CAACD,sFAAC,CAAC;AAACsD,EAAAA,IAAI,EAACwG,MAAN;AAAahC,EAAAA,IAAI,EAAC;AAACpC,IAAAA,KAAK,EAAC,CAAC;AAAR;AAAlB,CAAD,CAAF,CAAD,EAAoCzE,CAAC,CAACiH,SAAtC,EAAgD,UAAhD,EAA2D,KAAK,CAAhE,CAA/e,EAAkjBjI,uDAAC,CAAC,CAACD,sFAAC,CAAC;AAACsD,EAAAA,IAAI,EAACwG,MAAN;AAAahC,EAAAA,IAAI,EAAC;AAACpC,IAAAA,KAAK,EAAC,CAAC;AAAR;AAAlB,CAAD,CAAF,CAAD,EAAoCzE,CAAC,CAACiH,SAAtC,EAAgD,gBAAhD,EAAiE,KAAK,CAAtE,CAAnjB,EAA4nBjI,uDAAC,CAAC,CAACD,sFAAC,CAAC;AAACsD,EAAAA,IAAI,EAACwG,MAAN;AAAahC,EAAAA,IAAI,EAAC;AAACpC,IAAAA,KAAK,EAAC,CAAC;AAAR;AAAlB,CAAD,CAAF,CAAD,EAAoCzE,CAAC,CAACiH,SAAtC,EAAgD,MAAhD,EAAuD,KAAK,CAA5D,CAA7nB,EAA4rBjI,uDAAC,CAAC,CAACQ,4FAAC,CAAC;AAACyjE,EAAAA,UAAU,EAAC;AAAZ,CAAD,CAAF,CAAD,EAAiCjjE,CAAC,CAACiH,SAAnC,EAA6C,MAA7C,EAAoD,KAAK,CAAzD,CAA7rB,EAAyvBjH,CAAC,GAACI,CAAC,GAACpB,uDAAC,CAAC,CAACE,sFAAC,CAAC,mCAAD,CAAF,CAAD,EAA0Cc,CAA1C,CAA9vB;AAA2yB,MAAME,CAAC,GAACF,CAAR;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACJ/8F;AACA;AACA;AACA;AACA;AAA2C;AAA2B;AAAsB;AAAwC;AAA8C;AAA0E;AAAuB;AAA0B;AAAgF;AAA0E;AAA4F;AAA6B;AAA0C;AAA6C;AAAyE;AAAsL;AAAgD,IAAIe,CAAJ;;AAAM,SAASL,CAAT,CAAW1B,CAAX,EAAa;AAAC,MAAG,QAAMA,CAAT,EAAW;AAAC,UAAK;AAACukE,MAAAA,UAAU,EAACzkE,CAAZ;AAAc0kE,MAAAA,UAAU,EAAChkE,CAAzB;AAA2BikE,MAAAA,MAAM,EAACvkE;AAAlC,QAAqCF,CAA1C;;AAA4C,QAAG,QAAMF,CAAN,IAAS,QAAMU,CAAf,IAAkB,QAAMN,CAA3B,EAA6B;AAAC,YAAK;AAACwkE,QAAAA,UAAU,EAAC5kE,CAAZ;AAAc6kE,QAAAA,iBAAiB,EAACnkE,CAAhC;AAAkCokE,QAAAA,iBAAiB,EAAC1kE,CAApD;AAAsD,WAAGH;AAAzD,UAA4DC,CAAjE;AAAmE,aAAOD,CAAP;AAAS;AAAC;;AAAA,SAAOC,CAAP;AAAS;;AAAA,IAAI2B,CAAC,GAACI,CAAC,GAAC,cAAc3B,qDAAd,CAAe;AAACmC,EAAAA,WAAW,CAACvC,CAAD,EAAG;AAAC,UAAMA,CAAN,GAAS,KAAK6hE,aAAL,GAAmB,IAA5B,EAAiC,KAAKgD,UAAL,GAAgB,CAAC,IAAI3jE,qEAAJ,CAAM;AAAC4jE,MAAAA,KAAK,EAAC,CAAP;AAAS5vD,MAAAA,KAAK,EAAC,IAAIpV,iDAAJ,CAAM,sBAAN;AAAf,KAAN,CAAD,EAAsD,IAAIoB,qEAAJ,CAAM;AAAC4jE,MAAAA,KAAK,EAAC,GAAP;AAAW5vD,MAAAA,KAAK,EAAC,IAAIpV,iDAAJ,CAAM,sBAAN;AAAjB,KAAN,CAAtD,EAA6G,IAAIoB,qEAAJ,CAAM;AAAC4jE,MAAAA,KAAK,EAAC,EAAP;AAAU5vD,MAAAA,KAAK,EAAC,IAAIpV,iDAAJ,CAAM,sBAAN;AAAhB,KAAN,CAA7G,CAAjD,EAAqN,KAAKoQ,KAAL,GAAW,IAAhO,EAAqO,KAAK8vD,aAAL,GAAmB,IAAxP,EAA6P,KAAKuE,UAAL,GAAgB,GAA7Q,EAAiR,KAAKC,UAAL,GAAgB,CAAjS,EAAmS,KAAKC,MAAL,GAAY,EAA/S,EAAkT,KAAKZ,cAAL,GAAoB,CAAtU,EAAwU,KAAKxgE,IAAL,GAAU,SAAlV,EAA4V,KAAKuyB,eAAL,GAAqB,IAAjX,EAAsX,KAAKuqC,oBAAL,GAA0B,IAAhZ;AAAqZ;;AAAA/7D,EAAAA,iBAAiB,CAACpE,CAAD,EAAG;AAAC,WAAO0B,CAAC,CAAC1B,CAAD,CAAR;AAAY;;AAAc,MAAV0kE,UAAU,GAAE;AAAC,WAAOtjE,sGAAC,CAAC,KAAKqjE,MAAN,CAAR;AAAsB;;AAAc,MAAVC,UAAU,CAAC1kE,CAAD,EAAG;AAAC,UAAMF,CAAC,GAAC,KAAK6kE,iBAAb;AAAA,UAA+BnkE,CAAC,GAAC,KAAKokE,iBAAtC;AAAwD,SAAKvgE,IAAL,CAAU,QAAV,EAAmBvD,sGAAC,CAACd,CAAD,CAApB,GAAyB,KAAKqE,IAAL,CAAU,YAAV,EAAuBvE,CAAC,GAAC,KAAKilE,wBAA9B,CAAzB,EAAiF,KAAK1gE,IAAL,CAAU,YAAV,EAAuB7D,CAAC,GAAC,KAAKukE,wBAA9B,CAAjF;AAAyI;;AAAqB,MAAjBJ,iBAAiB,GAAE;AAAC,WAAO,KAAKJ,UAAL,GAAgB,KAAKQ,wBAA5B;AAAqD;;AAAqB,MAAjBJ,iBAAiB,CAAC3kE,CAAD,EAAG;AAAC,SAAKqE,IAAL,CAAU,YAAV,EAAuBrE,CAAC,GAAC,KAAK+kE,wBAA9B;AAAwD;;AAAqB,MAAjBH,iBAAiB,GAAE;AAAC,WAAO,KAAKJ,UAAL,GAAgB,KAAKO,wBAA5B;AAAqD;;AAAqB,MAAjBH,iBAAiB,CAAC5kE,CAAD,EAAG;AAAC,SAAKqE,IAAL,CAAU,YAAV,EAAuBrE,CAAC,GAAC,KAAK+kE,wBAA9B;AAAwD;;AAA4B,MAAxBA,wBAAwB,GAAE;AAAC,WAAO,MAAIvjE,8FAAC,IAAE,CAAH,GAAK,KAAKkjE,UAAL,IAAiB,CAA1B,CAAP;AAAoC;;AAAA3gE,EAAAA,IAAI,CAAC/D,CAAD,EAAGF,CAAH,EAAK;AAACE,IAAAA,CAAC,GAAC0B,CAAC,CAAC1B,CAAD,CAAH,EAAO,MAAM+D,IAAN,CAAW/D,CAAX,EAAaF,CAAb,CAAP;AAAuB;;AAAAshE,EAAAA,SAAS,GAAE;AAAC,WAAO,IAAI9+D,uEAAJ,EAAP;AAAa;;AAAM++D,EAAAA,cAAc,GAAE;AAAA;;AAAA;AAAC,aAAO,KAAI,CAACD,SAAL,EAAP;AAAD;AAAyB;;AAAAI,EAAAA,UAAU,GAAE;AAAC,WAAM,CAAC,KAAKJ,SAAL,EAAD,CAAN;AAAyB;;AAAMzyD,EAAAA,qBAAqB,CAAC3O,CAAD,EAAGF,CAAH,EAAK;AAAA;;AAAA;AAAC,YAAMU,CAAC,GAAC,MAAI,CAAC0P,KAAb;AAAA,YAAmBhQ,CAAC,GAAC,MAAI,CAAC01B,eAA1B;AAA0Cp1B,MAAAA,CAAC,IAAE,YAAU,OAAOA,CAApB,IAAuBI,4EAAC,CAACZ,CAAD,EAAGF,CAAH,EAAKU,CAAL,CAAxB,EAAgCN,CAAC,IAAE,YAAU,OAAOA,CAApB,WAA6BS,uFAAC,CAACX,CAAD,EAAGF,CAAH,EAAKI,CAAL,CAA9B,CAAhC;AAA3C;AAAiH;;AAAAuhE,EAAAA,gBAAgB,GAAE;AAAC,WAAM,EAAN;AAAS;;AAAAC,EAAAA,WAAW,GAAE;AAAC,WAAO,GAAEn7C,IAAI,CAACC,SAAL,CAAe,KAAKq+C,UAApB,CAAgC,IAAG,KAAKH,UAAW,IAAG,KAAKx0D,KAAM,EAA1E;AAA4E;;AAAA3P,EAAAA,KAAK,GAAE;AAAC,WAAO,IAAIwB,CAAJ,CAAM;AAAC8/D,MAAAA,aAAa,EAAC,KAAKA,aAAL,IAAoB,KAAKA,aAAL,CAAmBthE,KAAnB,EAAnC;AAA8DskE,MAAAA,UAAU,EAACrkE,oDAAC,CAAC,KAAKqkE,UAAN,CAA1E;AAA4F30D,MAAAA,KAAK,EAAC,KAAKA,KAAvG;AAA6G8vD,MAAAA,aAAa,EAACx/D,oDAAC,CAAC,KAAKw/D,aAAN,CAA5H;AAAiJuE,MAAAA,UAAU,EAAC,KAAKA,UAAjK;AAA4KC,MAAAA,UAAU,EAAC,KAAKA,UAA5L;AAAuMC,MAAAA,MAAM,EAAC,KAAKA,MAAnN;AAA0NZ,MAAAA,cAAc,EAAC,KAAKA,cAA9O;AAA6PjuC,MAAAA,eAAe,EAAC,KAAKA,eAAlR;AAAkSuqC,MAAAA,oBAAoB,EAAC,KAAKA;AAA5T,KAAN,CAAP;AAAgW;;AAA7zD,CAAvB;AAAs1DngE,uDAAC,CAAC,CAACD,sFAAC,CAAC;AAACsD,EAAAA,IAAI,EAACrC,kEAAN;AAAQ6G,EAAAA,IAAI,EAAC;AAACpC,IAAAA,KAAK,EAAC,CAAC,CAAR;AAAUuC,IAAAA,OAAO,EAAC;AAAC,mBAAY;AAACvC,QAAAA,KAAK,EAAC,CAAC,CAAR;AAAU1B,QAAAA,IAAI,EAAC,CAAC;AAAhB;AAAb;AAAlB;AAAb,CAAD,CAAF,CAAD,EAAwEpC,CAAC,CAACsG,SAA1E,EAAoF,eAApF,EAAoG,KAAK,CAAzG,CAAD,EAA6GjI,uDAAC,CAAC,CAACD,sFAAC,CAAC;AAACsD,EAAAA,IAAI,EAACwG,MAAN;AAAahC,EAAAA,IAAI,EAAC;AAACG,IAAAA,OAAO,EAAC;AAAC,qBAAc;AAACvC,QAAAA,KAAK,EAAC,CAAC;AAAR,OAAf;AAA0B,iBAAU;AAACA,QAAAA,KAAK,EAAC,CAAC;AAAR;AAApC;AAAT;AAAlB,CAAD,CAAF,CAAD,EAAmF9D,CAAC,CAACsG,SAArF,EAA+F,YAA/F,EAA4G,IAA5G,CAA9G,EAAgOjI,uDAAC,CAAC,CAACD,sFAAC,CAAC;AAACsD,EAAAA,IAAI,EAAC,CAACnC,qEAAD,CAAN;AAAU2G,EAAAA,IAAI,EAAC;AAACpC,IAAAA,KAAK,EAAC,CAAC;AAAR;AAAf,CAAD,CAAF,CAAD,EAAiC9D,CAAC,CAACsG,SAAnC,EAA6C,YAA7C,EAA0D,KAAK,CAA/D,CAAjO,EAAmSjI,uDAAC,CAAC,CAACD,sFAAC,CAAC;AAACsD,EAAAA,IAAI,EAAC6E,MAAN;AAAaL,EAAAA,IAAI,EAAC;AAACpC,IAAAA,KAAK,EAAC,CAAC;AAAR;AAAlB,CAAD,CAAF,CAAD,EAAoC9D,CAAC,CAACsG,SAAtC,EAAgD,OAAhD,EAAwD,KAAK,CAA7D,CAApS,EAAoWjI,uDAAC,CAAC,CAACD,sFAAC,CAAC;AAACsD,EAAAA,IAAI,EAAC/B,mFAAN;AAAQuG,EAAAA,IAAI,EAAC;AAACpC,IAAAA,KAAK,EAAC,CAAC;AAAR;AAAb,CAAD,CAAF,CAAD,EAA+B9D,CAAC,CAACsG,SAAjC,EAA2C,eAA3C,EAA2D,KAAK,CAAhE,CAArW,EAAwajI,uDAAC,CAAC,CAACD,sFAAC,CAAC;AAACsD,EAAAA,IAAI,EAACwG,MAAN;AAAahC,EAAAA,IAAI,EAAC;AAACpC,IAAAA,KAAK,EAAC,CAAC;AAAR;AAAlB,CAAD,CAAF,CAAD,EAAoC9D,CAAC,CAACsG,SAAtC,EAAgD,YAAhD,EAA6D,KAAK,CAAlE,CAAza,EAA8ejI,uDAAC,CAAC,CAACD,sFAAC,CAAC;AAACsD,EAAAA,IAAI,EAACwG,MAAN;AAAahC,EAAAA,IAAI,EAAC;AAACG,IAAAA,OAAO,EAAC;AAAC,qBAAc;AAACvC,QAAAA,KAAK,EAAC,CAAC;AAAR,OAAf;AAA0B,iBAAU;AAACA,QAAAA,KAAK,EAAC,CAAC;AAAR;AAApC;AAAT;AAAlB,CAAD,CAAF,CAAD,EAAmF9D,CAAC,CAACsG,SAArF,EAA+F,mBAA/F,EAAmH,IAAnH,CAA/e,EAAwmBjI,uDAAC,CAAC,CAACD,sFAAC,CAAC;AAACsD,EAAAA,IAAI,EAACwG,MAAN;AAAahC,EAAAA,IAAI,EAAC;AAACpC,IAAAA,KAAK,EAAC,CAAC;AAAR;AAAlB,CAAD,CAAF,CAAD,EAAoC9D,CAAC,CAACsG,SAAtC,EAAgD,YAAhD,EAA6D,KAAK,CAAlE,CAAzmB,EAA8qBjI,uDAAC,CAAC,CAACD,sFAAC,CAAC;AAACsD,EAAAA,IAAI,EAACwG,MAAN;AAAahC,EAAAA,IAAI,EAAC;AAACG,IAAAA,OAAO,EAAC;AAAC,qBAAc;AAACvC,QAAAA,KAAK,EAAC,CAAC;AAAR,OAAf;AAA0B,iBAAU;AAACA,QAAAA,KAAK,EAAC,CAAC;AAAR;AAApC;AAAT;AAAlB,CAAD,CAAF,CAAD,EAAmF9D,CAAC,CAACsG,SAArF,EAA+F,mBAA/F,EAAmH,IAAnH,CAA/qB,EAAwyBjI,uDAAC,CAAC,CAACD,sFAAC,CAAC;AAACsD,EAAAA,IAAI,EAACwG,MAAN;AAAaY,EAAAA,IAAI,EAACvK,sDAAlB;AAAoB2H,EAAAA,IAAI,EAAC;AAACpC,IAAAA,KAAK,EAAC,CAAC;AAAR;AAAzB,CAAD,CAAF,CAAD,EAA2C9D,CAAC,CAACsG,SAA7C,EAAuD,QAAvD,EAAgE,KAAK,CAArE,CAAzyB,EAAi3BjI,uDAAC,CAAC,CAACD,sFAAC,CAAC;AAACsD,EAAAA,IAAI,EAACwG,MAAN;AAAaE,EAAAA,KAAK,EAAC;AAACC,IAAAA,GAAG,EAAC;AAAL,GAAnB;AAA2BnC,EAAAA,IAAI,EAAC;AAACS,IAAAA,OAAO,EAAC,CAAT;AAAW7C,IAAAA,KAAK,EAAC,CAAC;AAAlB;AAAhC,CAAD,CAAF,CAAD,EAA4D9D,CAAC,CAACsG,SAA9D,EAAwE,gBAAxE,EAAyF,KAAK,CAA9F,CAAl3B,EAAm9BjI,uDAAC,CAAC,CAACM,4FAAC,CAAC;AAAC0kE,EAAAA,OAAO,EAAC;AAAT,CAAD,CAAF,CAAD,EAA0BrjE,CAAC,CAACsG,SAA5B,EAAsC,MAAtC,EAA6C,KAAK,CAAlD,CAAp9B,EAAygCjI,uDAAC,CAAC,CAACD,sFAAC,CAAC;AAACsD,EAAAA,IAAI,EAAC6E,MAAN;AAAaL,EAAAA,IAAI,EAAC;AAACpC,IAAAA,KAAK,EAAC,CAAC,CAAR;AAAUuC,IAAAA,OAAO,EAAC;AAAC,sBAAe;AAACvC,QAAAA,KAAK,EAAC,CAAC;AAAR,OAAhB;AAA2B,qBAAc;AAACA,QAAAA,KAAK,EAAC,CAAC;AAAR;AAAzC;AAAlB;AAAlB,CAAD,CAAF,CAAD,EAAiG9D,CAAC,CAACsG,SAAnG,EAA6G,iBAA7G,EAA+H,KAAK,CAApI,CAA1gC,EAAipCjI,uDAAC,CAAC,CAACD,sFAAC,CAAC;AAACsD,EAAAA,IAAI,EAAC6E;AAAN,CAAD,CAAF,CAAD,EAAoBvG,CAAC,CAACsG,SAAtB,EAAgC,sBAAhC,EAAuD,KAAK,CAA5D,CAAlpC,EAAitCjI,uDAAC,CAAC,CAACD,sFAAC,CAAC;AAACoI,EAAAA,QAAQ,EAAC,CAAC;AAAX,CAAD,CAAF,CAAD,EAAoBxG,CAAC,CAACsG,SAAtB,EAAgC,0BAAhC,EAA2D,IAA3D,CAAltC,EAAmxCtG,CAAC,GAACI,CAAC,GAAC/B,uDAAC,CAAC,CAACS,uFAAC,CAAC,gCAAD,CAAF,CAAD,EAAuCkB,CAAvC,CAAxxC;AAAk0C,MAAME,CAAC,GAACF,CAAR;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACJ9xI;AACA;AACA;AACA;AACA;AAA2C;AAA2B;AAAsB;AAA+C;AAAoD;AAA8C;AAA0E;AAAuB;AAA0B;AAAgF;AAA0E;AAA0E;AAA6B;AAAwE;AAA+C;AAAqF;AAA6D;AAAkD;AAAoD;AAAiD;AAAmD;AAAgD;AAA8C,MAAMU,CAAC,GAAC;AAACuJ,EAAAA,IAAI,EAAClK,2EAAN;AAAQgK,EAAAA,GAAG,EAAC,MAAZ;AAAmBG,EAAAA,OAAO,EAAC;AAACypB,IAAAA,IAAI,EAACl0B,yEAAN;AAAQ0H,IAAAA,OAAO,EAACnH,4EAACA;AAAjB;AAA3B,CAAR;AAAuD,IAAIO,CAAC,GAAC,cAAczB,sFAAC,CAACH,gEAAC,CAACU,qDAAD,CAAF,CAAf,CAAsB;AAACuB,EAAAA,WAAW,CAACzC,CAAD,EAAG;AAAC,UAAMA,CAAN,GAAS,KAAKuxC,UAAL,GAAgB,IAAzB,EAA8B,KAAKuuB,oBAAL,GAA0B,IAAxD,EAA6D,KAAKsF,YAAL,GAAkB,IAAIllE,iDAAJ,CAAM,CAAC,CAAD,EAAG,CAAH,EAAK,CAAL,EAAO,CAAP,CAAN,CAA/E,EAAgG,KAAK8/D,YAAL,GAAkB,IAAlH,EAAuH,KAAKqF,cAAL,GAAoB,CAA3I,EAA6I,KAAKC,cAAL,GAAoB,IAAItkE,uEAAJ,EAAjK,EAAuK,KAAKk/D,aAAL,GAAmB,IAA1L,EAA+L,KAAK2D,OAAL,GAAa,IAA5M,EAAiN,KAAKruC,IAAL,GAAU,EAA3N,EAA8N,KAAKjyB,IAAL,GAAU,WAAxO,EAAoP,KAAKy6C,eAAL,GAAqB,IAAzQ;AAA8Q;;AAAAsjB,EAAAA,SAAS,GAAE;AAAC,WAAO,IAAIh/D,uEAAJ,CAAM;AAACkzB,MAAAA,IAAI,EAAC,KAAKA,IAAL,GAAU,KAAKA,IAAL,GAAU,CAAV,IAAa,KAAKquC,OAAL,EAAc5qD,KAAd,IAAqB,CAAlC,CAAV,GAA+C;AAArD,KAAN,CAAP;AAAsE;;AAAMsoD,EAAAA,cAAc,GAAE;AAAA;;AAAA;AAAC,aAAO,KAAI,CAACD,SAAL,EAAP;AAAD;AAAyB;;AAAAI,EAAAA,UAAU,GAAE;AAAC,WAAM,CAAC,KAAKJ,SAAL,EAAD,EAAkB,KAAKxB,oBAAvB,EAA6Cn5D,MAA7C,CAAoD1G,uDAApD,CAAN;AAA6D;;AAAA0hE,EAAAA,gBAAgB,GAAE;AAAC,WAAO,KAAK3jB,eAAL,EAAsBltC,MAAtB,CAA8B,CAAC9Q,CAAD,EAAGE,CAAH,KAAOF,CAAC,GAACE,CAAC,CAACyhE,gBAAF,EAAvC,EAA6D,EAA7D,KAAkE,EAAzE;AAA4E;;AAAAC,EAAAA,WAAW,GAAE;AAAC,WAAO,KAAKF,UAAL,GAAkB5wD,MAAlB,CAA0B,CAAC9Q,CAAD,EAAGE,CAAH,KAAOF,CAAC,GAACymB,IAAI,CAACC,SAAL,CAAexmB,CAAf,CAAnC,EAAsD,EAAtD,CAAP;AAAiE;;AAAM2O,EAAAA,qBAAqB,CAAC7O,CAAD,EAAGE,CAAH,EAAK;AAAA;;AAAA;AAAC,YAAM,MAAI,CAAC8hE,uBAAL,CAA6BhiE,CAA7B,EAA+BE,CAA/B,CAAN;;AAAwC,WAAI,MAAMD,CAAV,IAAe,MAAI,CAACsxC,UAApB,EAA+BtxC,CAAC,CAAC61B,eAAF,WAAyBx1B,uFAAC,CAACN,CAAD,EAAGE,CAAH,EAAKD,CAAC,CAAC61B,eAAP,CAA1B,GAAkD71B,CAAC,CAACmQ,KAAF,IAASpQ,CAAC,CAAC6hC,GAAF,CAAM5hC,CAAC,CAACmQ,KAAR,CAA3D;AAAxE;AAAkJ;;AAAz0B,CAA5B;AAAu2BpQ,uDAAC,CAAC,CAACU,sFAAC,CAAC;AAAC6C,EAAAA,IAAI,EAAC,CAAC/B,uEAAD,CAAN;AAAUuG,EAAAA,IAAI,EAAC;AAACpC,IAAAA,KAAK,EAAC,CAAC;AAAR;AAAf,CAAD,CAAF,CAAD,EAAiCvD,CAAC,CAAC+F,SAAnC,EAA6C,YAA7C,EAA0D,KAAK,CAA/D,CAAD,EAAmEnI,uDAAC,CAAC,CAACU,sFAAC,CAACU,+FAAD,CAAF,CAAD,EAAQgB,CAAC,CAAC+F,SAAV,EAAoB,sBAApB,EAA2C,KAAK,CAAhD,CAApE,EAAuHnI,uDAAC,CAAC,CAACU,sFAAC,CAAC;AAAC6C,EAAAA,IAAI,EAACrD,iDAAN;AAAQ6H,EAAAA,IAAI,EAAC;AAACpC,IAAAA,KAAK,EAAC,CAAC;AAAR;AAAb,CAAD,CAAF,CAAD,EAA+BvD,CAAC,CAAC+F,SAAjC,EAA2C,cAA3C,EAA0D,KAAK,CAA/D,CAAxH,EAA0LnI,uDAAC,CAAC,CAACU,sFAAC,CAAC;AAAC6C,EAAAA,IAAI,EAAC6E,MAAN;AAAaL,EAAAA,IAAI,EAAC;AAACpC,IAAAA,KAAK,EAAC,CAAC;AAAR;AAAlB,CAAD,CAAF,CAAD,EAAoCvD,CAAC,CAAC+F,SAAtC,EAAgD,cAAhD,EAA+D,KAAK,CAApE,CAA3L,EAAkQnI,uDAAC,CAAC,CAACU,sFAAC,CAAC;AAAC6C,EAAAA,IAAI,EAACwG,MAAN;AAAaE,EAAAA,KAAK,EAAC;AAACC,IAAAA,GAAG,EAAC,CAAL;AAAOC,IAAAA,GAAG,EAAC;AAAX,GAAnB;AAAiCpC,EAAAA,IAAI,EAAC;AAACpC,IAAAA,KAAK,EAAC,CAAC;AAAR;AAAtC,CAAD,CAAF,CAAD,EAAwDvD,CAAC,CAAC+F,SAA1D,EAAoE,gBAApE,EAAqF,KAAK,CAA1F,CAAnQ,EAAgWnI,uDAAC,CAAC,CAACU,sFAAC,CAAC;AAAC6C,EAAAA,IAAI,EAACvC,uEAAN;AAAQ+G,EAAAA,IAAI,EAAC;AAACpC,IAAAA,KAAK,EAAC,CAAC;AAAR;AAAb,CAAD,CAAF,CAAD,EAA+BvD,CAAC,CAAC+F,SAAjC,EAA2C,gBAA3C,EAA4D,KAAK,CAAjE,CAAjW,EAAqanI,uDAAC,CAAC,CAACU,sFAAC,CAAC;AAAC6C,EAAAA,IAAI,EAAC7B,0EAAN;AAAQqG,EAAAA,IAAI,EAAC;AAACpC,IAAAA,KAAK,EAAC,CAAC;AAAR;AAAb,CAAD,CAAF,CAAD,EAA+BvD,CAAC,CAAC+F,SAAjC,EAA2C,eAA3C,EAA2D,KAAK,CAAhE,CAAta,EAAyenI,uDAAC,CAAC,CAACU,sFAAC,CAAC;AAAC6C,EAAAA,IAAI,EAACtB,qEAAN;AAAQ8F,EAAAA,IAAI,EAAC;AAACS,IAAAA,OAAO,EAAC,IAAT;AAAc7C,IAAAA,KAAK,EAAC,CAAC;AAArB;AAAb,CAAD,CAAF,CAAD,EAA4CvD,CAAC,CAAC+F,SAA9C,EAAwD,SAAxD,EAAkE,KAAK,CAAvE,CAA1e,EAAojBnI,uDAAC,CAAC,CAACU,sFAAC,CAAC;AAAC6C,EAAAA,IAAI,EAACwG,MAAN;AAAaY,EAAAA,IAAI,EAACvK,sDAAlB;AAAoB2H,EAAAA,IAAI,EAAC;AAACpC,IAAAA,KAAK,EAAC,CAAC;AAAR;AAAzB,CAAD,CAAF,CAAD,EAA2CvD,CAAC,CAAC+F,SAA7C,EAAuD,MAAvD,EAA8D,KAAK,CAAnE,CAArjB,EAA2nBnI,uDAAC,CAAC,CAACa,6FAAC,CAAC;AAAC0kE,EAAAA,QAAQ,EAAC;AAAV,CAAD,CAAF,CAAD,EAA6BnjE,CAAC,CAAC+F,SAA/B,EAAyC,MAAzC,EAAgD,KAAK,CAArD,CAA5nB,EAAorBnI,uDAAC,CAAC,CAACU,sFAAC,CAAC;AAACwK,EAAAA,KAAK,EAAC,CAAC3I,CAAD;AAAP,CAAD,CAAF,CAAD,EAAkBH,CAAC,CAAC+F,SAApB,EAA8B,iBAA9B,EAAgD,KAAK,CAArD,CAArrB,EAA6uB/F,CAAC,GAACpC,uDAAC,CAAC,CAACc,uFAAC,CAAC,iCAAD,CAAF,CAAD,EAAwCsB,CAAxC,CAAhvB;AAA2xB,MAAML,CAAC,GAACK,CAAR;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACJn1F;AACA;AACA;AACA;AACA;AAA2C;AAA6C;AAAqD;AAA0E;AAAuB;AAA0B;AAA6B;AAA0E;AAA0C,MAAMzB,CAAC,GAAC,IAAIX,qDAAJ,CAAM;AAACwlE,EAAAA,MAAM,EAAC,QAAR;AAAiBC,EAAAA,WAAW,EAAC,cAA7B;AAA4C5C,EAAAA,WAAW,EAAC,cAAxD;AAAuEqC,EAAAA,OAAO,EAAC,SAA/E;AAAyFf,EAAAA,UAAU,EAAC,aAApG;AAAkHuB,EAAAA,UAAU,EAAC,YAA7H;AAA0IH,EAAAA,QAAQ,EAAC;AAAnJ,CAAN,EAAsK;AAACI,EAAAA,aAAa,EAAC,CAAC;AAAhB,CAAtK,CAAR;AAAkM,IAAIrlE,CAAC,GAAC,cAAcJ,6DAAd,CAAe;AAACuC,EAAAA,WAAW,CAACxC,CAAD,EAAG;AAAC,UAAMA,CAAN,GAAS,KAAK8hE,aAAL,GAAmB,IAA5B,EAAiC,KAAKx+D,IAAL,GAAU,IAA3C;AAAgD;;AAAM4L,EAAAA,iBAAiB,CAAClP,CAAD,EAAG;AAAA;;AAAA;AAAC,UAAG,CAAC,KAAI,CAAC4O,qBAAT,EAA+B,OAAM,EAAN;AAAS,YAAM7O,CAAC,GAAC,IAAI4M,GAAJ,EAAR;AAAgB,aAAO,MAAM,KAAI,CAACiC,qBAAL,CAA2B7O,CAA3B,EAA6BC,CAA7B,CAAN,EAAsCsG,KAAK,CAACiZ,IAAN,CAAWxf,CAAX,EAAcoP,IAAd,EAA7C;AAAzD;AAA2H;;AAAAkyD,EAAAA,SAAS,CAACrhE,CAAD,EAAGD,CAAH,EAAK,CAAE;;AAAMuhE,EAAAA,cAAc,CAACthE,CAAD,EAAGD,CAAH,EAAK;AAAA;AAAE;;AAAA0hE,EAAAA,UAAU,GAAE;AAAC,WAAM,EAAN;AAAS;;AAAAC,EAAAA,gBAAgB,GAAE;AAAC,WAAOl7C,IAAI,CAACC,SAAL,CAAe,IAAf,CAAP;AAA4B;;AAAAk7C,EAAAA,WAAW,GAAE;AAAC,WAAOn7C,IAAI,CAACC,SAAL,CAAe,IAAf,CAAP;AAA4B;;AAA/W,CAArB;AAAsYzmB,uDAAC,CAAC,CAACO,sFAAC,CAAC;AAAC+C,EAAAA,IAAI,EAAC7C,iEAAN;AAAQqH,EAAAA,IAAI,EAAC;AAACpC,IAAAA,KAAK,EAAC,CAAC;AAAR;AAAb,CAAD,CAAF,CAAD,EAA+BrF,CAAC,CAAC6H,SAAjC,EAA2C,eAA3C,EAA2D,KAAK,CAAhE,CAAD,EAAoElI,uDAAC,CAAC,CAACO,sFAAC,CAAC;AAAC+C,EAAAA,IAAI,EAAC5C,CAAC,CAACgiE,SAAR;AAAkBt6D,EAAAA,QAAQ,EAAC,CAAC,CAA5B;AAA8BN,EAAAA,IAAI,EAAC;AAACxE,IAAAA,IAAI,EAAC5C,CAAC,CAACiiE,UAAR;AAAmB3+D,IAAAA,IAAI,EAAC,CAAC,CAAzB;AAA2B0B,IAAAA,KAAK,EAAC;AAAChE,MAAAA,MAAM,EAAChB,CAAC,CAACgF,KAAV;AAAgBqC,MAAAA,YAAY,EAAC,CAAC;AAA9B;AAAjC;AAAnC,CAAD,CAAF,CAAD,EAA6G1H,CAAC,CAAC6H,SAA/G,EAAyH,MAAzH,EAAgI,KAAK,CAArI,CAArE,EAA6M7H,CAAC,GAACL,uDAAC,CAAC,CAACG,sFAAC,CAAC,yBAAD,CAAF,CAAD,EAAgCE,CAAhC,CAAhN;AAAmP,MAAMQ,CAAC,GAACR,CAAR;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACJptC;AACA;AACA;AACA;AACA;AAA2C;AAAwC;AAA0E;AAAuB;AAA0B;AAAgF;AAA0E;AAA6B;AAAwE;AAA+E,IAAIU,CAAJ;AAAM,IAAIE,CAAC,GAACF,CAAC,GAAC,cAAcH,qFAAC,CAACH,oDAAD,CAAf,CAAmB;AAAC+B,EAAAA,WAAW,CAACzC,CAAD,EAAG;AAAC,UAAMA,CAAN,GAAS,KAAK+N,WAAL,GAAiB,IAA1B,EAA+B,KAAK0nB,KAAL,GAAW,IAA1C,EAA+C,KAAK6W,MAAL,GAAY,IAA3D,EAAgE,KAAK/oC,IAAL,GAAU,QAA1E;AAAmF;;AAAMsL,EAAAA,qBAAqB,CAAC7O,CAAD,EAAGC,CAAH,EAAK;AAAA;;AAAA;AAAC,YAAMoF,OAAO,CAACc,GAAR,CAAY,CAAC,KAAI,CAAC87D,mBAAL,CAAyBjiE,CAAzB,EAA2BC,CAA3B,CAAD,EAA+B,KAAI,CAAC+hE,uBAAL,CAA6BhiE,CAA7B,EAA+BC,CAA/B,CAA/B,CAAZ,CAAN;AAAD;AAAsF;;AAAMgiE,EAAAA,mBAAmB,CAACjiE,CAAD,EAAGC,CAAH,EAAK;AAAA;;AAAA;AAAC,YAAMoF,OAAO,CAACc,GAAR,CAAY,MAAI,CAACu7D,UAAL,GAAkBn8D,GAAlB,CAAuBnF,CAAC,IAAEA,CAAC,CAACyO,qBAAF,CAAwB7O,CAAxB,EAA0BC,CAA1B,CAA1B,CAAZ,CAAN;AAAD;AAA6E;;AAAAqhE,EAAAA,SAAS,CAACthE,CAAD,EAAGC,CAAH,EAAK;AAAC,WAAO,KAAKqsC,MAAZ;AAAmB;;AAAMi1B,EAAAA,cAAc,CAACvhE,CAAD,EAAGC,CAAH,EAAK;AAAA;;AAAA;AAAC,aAAO,MAAI,CAACqsC,MAAZ;AAAD;AAAoB;;AAAAo1B,EAAAA,UAAU,GAAE;AAAC,WAAO,KAAKp1B,MAAL,GAAY,CAAC,KAAKA,MAAN,CAAZ,GAA0B,EAAjC;AAAoC;;AAAAq1B,EAAAA,gBAAgB,GAAE;AAAC,WAAO,KAAK3jB,eAAL,EAAsBltC,MAAtB,CAA8B,CAAC9Q,CAAD,EAAGC,CAAH,KAAOD,CAAC,GAACC,CAAC,CAAC0hE,gBAAF,EAAvC,EAA6D,EAA7D,KAAkE,EAAzE;AAA4E;;AAAAC,EAAAA,WAAW,GAAE;AAAC,WAAO,KAAKF,UAAL,GAAkB5wD,MAAlB,CAA0B,CAAC9Q,CAAD,EAAGC,CAAH,KAAOD,CAAC,GAACymB,IAAI,CAACC,SAAL,CAAezmB,CAAf,CAAnC,EAAsD,EAAtD,CAAP;AAAiE;;AAAkB,MAAd4hE,cAAc,GAAE;AAAC,WAAO,KAAKC,gCAAZ;AAA6C;;AAAArhE,EAAAA,KAAK,GAAE;AAAC,WAAO,IAAIO,CAAJ,CAAM;AAAC+M,MAAAA,WAAW,EAAC,KAAKA,WAAlB;AAA8B0nB,MAAAA,KAAK,EAAC,KAAKA,KAAzC;AAA+C6W,MAAAA,MAAM,EAACrsC,oDAAC,CAAC,KAAKqsC,MAAN,CAAvD;AAAqE0R,MAAAA,eAAe,EAAC/9C,oDAAC,CAAC,KAAK+9C,eAAN,CAAtF;AAA6G+jB,MAAAA,aAAa,EAAC9hE,oDAAC,CAAC,KAAK8hE,aAAN;AAA5H,KAAN,CAAP;AAAgK;;AAA51B,CAA3B;AAAy3B/hE,uDAAC,CAAC,CAACI,sFAAC,CAAC;AAACmD,EAAAA,IAAI,EAAC6E,MAAN;AAAaL,EAAAA,IAAI,EAAC;AAACpC,IAAAA,KAAK,EAAC,CAAC;AAAR;AAAlB,CAAD,CAAF,CAAD,EAAoCzE,CAAC,CAACiH,SAAtC,EAAgD,aAAhD,EAA8D,KAAK,CAAnE,CAAD,EAAuEnI,uDAAC,CAAC,CAACI,sFAAC,CAAC;AAACmD,EAAAA,IAAI,EAAC6E,MAAN;AAAaL,EAAAA,IAAI,EAAC;AAACpC,IAAAA,KAAK,EAAC,CAAC;AAAR;AAAlB,CAAD,CAAF,CAAD,EAAoCzE,CAAC,CAACiH,SAAtC,EAAgD,OAAhD,EAAwD,KAAK,CAA7D,CAAxE,EAAwInI,uDAAC,CAAC,CAACI,sFAAC,CAACE,yFAAD,CAAF,CAAD,EAAQY,CAAC,CAACiH,SAAV,EAAoB,QAApB,EAA6B,KAAK,CAAlC,CAAzI,EAA8KnI,uDAAC,CAAC,CAACE,4FAAC,CAAC;AAACslE,EAAAA,MAAM,EAAC;AAAR,CAAD,CAAF,CAAD,EAAwBtkE,CAAC,CAACiH,SAA1B,EAAoC,MAApC,EAA2C,KAAK,CAAhD,CAA/K,EAAkOjH,CAAC,GAACF,CAAC,GAAChB,uDAAC,CAAC,CAACQ,sFAAC,CAAC,+BAAD,CAAF,CAAD,EAAsCU,CAAtC,CAAvO;AAAgR,MAAMJ,CAAC,GAACI,CAAR;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACJ3qD;AACA;AACA;AACA;AACA;AAA2C;AAA2C;AAAgC;AAAwC;AAAiC;AAA8C;AAAiD;AAA0E;AAAkE;AAAgF;AAAsE;AAA0E;AAAsE;AAA4D;AAAqF;AAA4F;AAAmC;AAA6B;AAAwE;AAAiH;AAAkD;AAAwC;AAA6C;AAA6C;AAA4C;AAA0D;AAA4D;AAA8D;AAA4C,IAAImK,CAAJ;;AAAM,MAAMrE,CAAC,GAAC,oCAAR;AAAA,MAA6CoE,CAAC,GAAC,MAAI5K,iEAAA,CAAYwG,CAAZ,CAAnD;AAAA,MAAkEuE,CAAC,GAAC,iBAApE;AAAA,MAAsFoB,CAAC,GAAC,kBAAxF;AAAA,MAA2G5D,CAAC,GAAC,GAA7G;AAAA,MAAiH+J,CAAC,GAACxR,gFAAC,CAACgB,oEAAD,CAApH;;AAAwH,SAAS+kB,CAAT,CAAWrnB,CAAX,EAAa;AAAC,QAAK;AAACgmE,IAAAA,MAAM,EAAC9lE,CAAR;AAAU+lE,IAAAA,MAAM,EAAC7lE,CAAjB;AAAmB8lE,IAAAA,MAAM,EAACxlE,CAA1B;AAA4BylE,IAAAA,cAAc,EAAC3lE,CAA3C;AAA6Co7C,IAAAA,gBAAgB,EAAC/6C,CAA9D;AAAgEi1B,IAAAA,eAAe,EAAC71B;AAAhF,MAAmFD,CAAxF;AAAA,QAA0FwB,CAAC,GAAC,EAAE,CAACtB,CAAD,IAAI,CAACE,CAAP,CAA5F;AAAsG,SAAM,CAAC;AAACgmE,IAAAA,OAAO,EAAC,CAACvlE,CAAC,IAAE,EAAJ,EAAQ0E,GAAR,CAAavF,CAAC,IAAE;AAAC,YAAK;AAACssC,QAAAA,MAAM,EAACzrC,CAAR;AAAU40B,QAAAA,KAAK,EAAC90B,CAAhB;AAAkB+M,QAAAA,KAAK,EAACpN,CAAxB;AAA0ByN,QAAAA,WAAW,EAACjN;AAAtC,UAAyCd,CAA9C;AAAA,YAAgD,CAAC4B,CAAD,EAAGF,CAAH,EAAKV,CAAL,IAAQQ,CAAC,GAAClB,CAAC,EAAE4C,QAAH,IAAesN,KAAf,CAAqBhQ,CAAC,IAAE,EAAxB,KAA6B,EAA9B,GAAiC,CAACF,CAAD,CAA1F;AAAA,YAA8FgB,CAAC,GAAC,EAAhG;AAAmG,aAAM,CAACpB,CAAC,IAAED,CAAJ,KAAQqB,CAAC,CAACwD,IAAF,CAAOlD,CAAP,CAAR,EAAkBxB,CAAC,IAAEkB,CAAC,CAACwD,IAAF,CAAOpD,CAAP,CAArB,EAA+BhB,CAAC,IAAEY,CAAC,CAACwD,IAAF,CAAO9D,CAAP,CAAlC,EAA4C;AAACsrC,QAAAA,MAAM,EAACzrC,CAAR;AAAU40B,QAAAA,KAAK,EAAC90B,CAAhB;AAAkBu+C,QAAAA,MAAM,EAAC,CAAC59C,CAAD,CAAzB;AAA6ByM,QAAAA,WAAW,EAACjN;AAAzC,OAAlD;AAA8F,KAAlN;AAAT,GAAD,CAAN;AAAuO;;AAAA,SAASgB,CAAT,CAAW9B,CAAX,EAAa;AAAC,SAAO,QAAMA,CAAN,IAAS,OAAKA,CAAd,KAAkB,YAAU,OAAOA,CAAjB,IAAoB,OAAKA,CAAC,CAACyoB,IAAF,EAAL,IAAe,aAAWzoB,CAAC,CAAC4P,WAAF,EAAhE,MAAmF5P,CAAC,GAAC,IAArF,GAA2FA,CAAC,GAAC,EAApG;AAAuG;;AAAA,IAAIkM,CAAC,GAACb,CAAC,GAAC,cAAcgH,sFAAC,CAACtS,qDAAD,CAAf,CAAmB;AAAC0C,EAAAA,WAAW,CAACzC,CAAD,EAAG;AAAC,UAAMA,CAAN,GAAS,KAAKqmE,aAAL,GAAmB,EAA5B,EAA+B,KAAKC,uBAAL,GAA6B,CAAC,CAA7D,EAA+D,KAAKC,cAAL,GAAoB,IAAnF,EAAwF,KAAKhjE,IAAL,GAAU,cAAlG,EAAiH,KAAKu8D,oBAAL,GAA0B,IAA3I,EAAgJ,KAAK0G,qBAAL,GAA2B,CAAC,CAA5K,EAA8K,KAAKnG,oBAAL,GAA0B,IAAxM,EAA6M,KAAKH,aAAL,GAAmB,IAAhO,EAAqO,KAAKF,YAAL,GAAkB,IAAvP,EAA4P,KAAK55D,MAAL,GAAY,IAAxQ,EAA6Q,KAAKqgE,WAAL,GAAiB,IAA9R,EAAmS,KAAKX,IAAL,GAAU;AAAClqB,MAAAA,gBAAgB,CAAC57C,CAAD,EAAGE,CAAH,EAAK;AAAC,YAAG,CAACF,CAAD,IAAI,CAACE,CAAR,EAAU;AAAO,YAAG,CAACF,CAAD,IAAI,CAACE,CAAR,EAAU,OAAM;AAACqD,UAAAA,IAAI,EAAC,UAAN;AAAiBmjE,UAAAA,QAAQ,EAAC1mE,CAA1B;AAA4B2mE,UAAAA,QAAQ,EAACzmE;AAArC,SAAN;AAA8C,YAAIE,CAAC,GAAC,CAAC,CAAP;AAAS,cAAMM,CAAC,GAAC;AAAC6C,UAAAA,IAAI,EAAC,YAAN;AAAmBoe,UAAAA,KAAK,EAAC,EAAzB;AAA4BiB,UAAAA,OAAO,EAAC,EAApC;AAAuCgkD,UAAAA,OAAO,EAAC,EAA/C;AAAkDC,UAAAA,SAAS,EAAC;AAA5D,SAAR;;AAAwE,aAAI,IAAIrmE,CAAC,GAAC,CAAV,EAAYA,CAAC,GAACN,CAAC,CAAC2N,MAAhB,EAAuBrN,CAAC,EAAxB,EAA2B;AAAC,gBAAMK,CAAC,GAACb,CAAC,CAAC0P,IAAF,CAAQ1P,CAAC,IAAEA,CAAC,CAAC0N,KAAF,KAAUxN,CAAC,CAACM,CAAD,CAAD,CAAKkN,KAA1B,CAAR;AAA0C7M,UAAAA,CAAC,GAACG,yEAAC,CAACH,CAAD,EAAGX,CAAC,CAACM,CAAD,CAAJ,CAAD,IAAWE,CAAC,CAACkmE,OAAF,CAAU9hE,IAAV,CAAe;AAACvB,YAAAA,IAAI,EAAC,UAAN;AAAiBmjE,YAAAA,QAAQ,EAAC7lE,CAA1B;AAA4B8lE,YAAAA,QAAQ,EAACzmE,CAAC,CAACM,CAAD;AAAtC,WAAf,GAA2DJ,CAAC,GAAC,CAAC,CAAzE,IAA4EM,CAAC,CAACmmE,SAAF,CAAY/hE,IAAZ,CAAiB;AAAC4hE,YAAAA,QAAQ,EAAC7lE,CAAV;AAAY8lE,YAAAA,QAAQ,EAACzmE,CAAC,CAACM,CAAD;AAAtB,WAAjB,CAA7E,IAA2HE,CAAC,CAACihB,KAAF,CAAQ7c,IAAR,CAAa5E,CAAC,CAACM,CAAD,CAAd,GAAmBJ,CAAC,GAAC,CAAC,CAAjJ,CAAD;AAAqJ;;AAAA,aAAI,IAAII,CAAC,GAAC,CAAV,EAAYA,CAAC,GAACR,CAAC,CAAC6N,MAAhB,EAAuBrN,CAAC,EAAxB,EAA2B;AAACN,UAAAA,CAAC,CAACwP,IAAF,CAAQxP,CAAC,IAAEA,CAAC,CAACwN,KAAF,KAAU1N,CAAC,CAACQ,CAAD,CAAD,CAAKkN,KAA1B,MAAoChN,CAAC,CAACkiB,OAAF,CAAU9d,IAAV,CAAe9E,CAAC,CAACQ,CAAD,CAAhB,GAAqBJ,CAAC,GAAC,CAAC,CAA5D;AAA+D;;AAAA,eAAOA,CAAC,GAACM,CAAD,GAAG,KAAK,CAAhB;AAAkB;;AAAzf,KAA7S,EAAwyB,KAAK6D,IAAL,CAAU,kBAAV,EAA6B,EAA7B,CAAxyB,EAAy0B,KAAKA,IAAL,CAAU,mBAAV,EAA8B,EAA9B,CAAz0B;AAA22B;;AAAU,MAANuiE,MAAM,GAAE;AAAC,WAAM;AAACC,MAAAA,YAAY,EAAC;AAAd,KAAN;AAA0B;;AAAS,MAAL32D,KAAK,CAACpQ,CAAD,EAAG;AAAC,SAAKuE,IAAL,CAAU,OAAV,EAAkBvE,CAAlB,GAAqB,KAAKgnE,qBAAL,EAArB,EAAkD,KAAKC,mBAAL,EAAlD;AAA6E;;AAAArG,EAAAA,SAAS,CAAC5gE,CAAD,EAAG;AAAC,WAAO,QAAMA,CAAN,IAAS,cAAY,OAAOA,CAA5B,GAA8BA,CAA9B,GAAgCkB,kFAAC,CAAClB,CAAD,CAAxC;AAA4C;;AAAAknE,EAAAA,UAAU,CAAClnE,CAAD,EAAGE,CAAH,EAAKQ,CAAL,EAAOF,CAAP,EAAS;AAAC,gBAAU,OAAOR,CAAjB,GAAmBE,CAAC,CAACQ,CAAD,CAAD,GAAKV,CAAxB,GAA0BQ,CAAC,EAAE8I,QAAH,GAAY9I,CAAC,CAAC8I,QAAF,CAAWxE,IAAX,CAAgB,IAAI1E,sDAAJ,CAAM,sBAAN,EAA6B,uEAA7B,CAAhB,CAAZ,GAAmIgL,CAAC,GAAG3H,KAAJ,CAAU,kEAAV,CAA7J;AAA2O;;AAAU,MAANwiE,MAAM,CAACjmE,CAAD,EAAG;AAAC,SAAKuE,IAAL,CAAU,QAAV,EAAmBvE,CAAnB,GAAsB,KAAKgnE,qBAAL,EAAtB,EAAmD,KAAKC,mBAAL,EAAnD;AAA8E;;AAAU,MAANf,MAAM,CAAClmE,CAAD,EAAG;AAAC,SAAKuE,IAAL,CAAU,QAAV,EAAmBvE,CAAnB,GAAsB,KAAKinE,mBAAL,EAAtB;AAAiD;;AAAmB,MAAfnxC,eAAe,CAAC91B,CAAD,EAAG;AAAC,SAAKuE,IAAL,CAAU,iBAAV,EAA4BvE,CAA5B,GAA+B,KAAKinE,mBAAL,EAA/B;AAA0D;;AAAiB,MAAbtrB,aAAa,CAAC37C,CAAD,EAAG;AAAC,SAAKsmE,uBAAL,GAA6B,CAAC,CAA9B,EAAgC,KAAK/hE,IAAL,CAAU,eAAV,EAA0BvE,CAA1B,CAAhC;AAA6D;;AAAkB,MAAdmmE,cAAc,CAACnmE,CAAD,EAAG;AAAC,SAAKuE,IAAL,CAAU,gBAAV,EAA2BvE,CAA3B,GAA8B,KAAKinE,mBAAL,EAA9B;AAAyD;;AAAAE,EAAAA,UAAU,CAACnnE,CAAD,EAAGE,CAAH,EAAKE,CAAL,EAAO;AAAC,WAAOA,CAAC,CAACgG,MAAF,IAAU7D,qEAAA,EAAjB;AAAgC;;AAAA6kE,EAAAA,eAAe,CAACpnE,CAAD,EAAGE,CAAH,EAAKE,CAAL,EAAO;AAAC,QAAGF,CAAC,CAACmnE,SAAL,EAAe,OAAOhtD,MAAM,CAACitD,MAAP,CAAc;AAACD,MAAAA,SAAS,EAACnnE,CAAC,CAACmnE;AAAb,KAAd,CAAP;;AAA8C,QAAGnnE,CAAC,CAACqnE,QAAL,EAAc;AAAC,YAAMvnE,CAAC,GAACsL,kEAAC,CAACpL,CAAC,CAACqnE,QAAH,EAAYnnE,CAAZ,CAAT;AAAwB,aAAOia,MAAM,CAACitD,MAAP,CAAc;AAACC,QAAAA,QAAQ,EAACvnE;AAAV,OAAd,CAAP;AAAmC;AAAC;;AAAAwnE,EAAAA,gBAAgB,CAACxnE,CAAD,EAAGE,CAAH,EAAKE,CAAL,EAAOM,CAAP,EAAS;AAACV,IAAAA,CAAC,CAACqnE,SAAF,GAAYnnE,CAAC,CAACmnE,SAAF,GAAYrnE,CAAC,CAACqnE,SAA1B,GAAoCrnE,CAAC,CAACunE,QAAF,KAAarnE,CAAC,CAACqnE,QAAF,GAAWn/C,kEAAC,CAACpoB,CAAC,CAACunE,QAAH,EAAY7mE,CAAZ,CAAzB,CAApC;AAA6E;;AAAqB,MAAjB+mE,iBAAiB,CAACznE,CAAD,EAAG;AAAC,SAAKymE,WAAL,GAAiBr7D,CAAC,GAAG3H,KAAJ,CAAU,qBAAV,EAAgC,qFAAhC,CAAjB,IAAyI,KAAKc,IAAL,CAAU,mBAAV,EAA8BvE,CAA9B,GAAiC,KAAK0nE,sBAAL,EAAjC,EAA+D,KAAKnB,cAAL,GAAoB,CAAC,CAApF,EAAsF,KAAKoB,uBAAL,EAA/N;AAA+P;;AAAoB,MAAhB/rB,gBAAgB,CAAC57C,CAAD,EAAG;AAAC,SAAKymE,WAAL,GAAiBr7D,CAAC,GAAG3H,KAAJ,CAAU,oBAAV,EAA+B,oFAA/B,CAAjB,IAAuI,KAAKc,IAAL,CAAU,kBAAV,EAA6BvE,CAA7B,GAAgC,KAAK4nE,mBAAL,EAAhC,EAA2D,KAAKC,sBAAL,EAA3D,EAAyF,KAAKtB,cAAL,GAAoB,CAAC,CAA9G,EAAgH,KAAKuB,sBAAL,EAAvP;AAAsR;;AAAAC,EAAAA,kBAAkB,CAAC/nE,CAAD,EAAGI,CAAH,EAAK;AAAC,QAAG,KAAKqmE,WAAR,EAAoB,OAAO,KAAKr7D,CAAC,GAAG3H,KAAJ,CAAU,uBAAV,EAAkC,oFAAlC,CAAZ;AAAoI,QAAI/C,CAAJ;AAAMA,IAAAA,CAAC,GAAC,YAAU,OAAOV,CAAjB,GAAmB8S,CAAC,CAAC9S,CAAD,CAApB,GAAwB,IAAIsC,oEAAJ,CAAM;AAACoL,MAAAA,KAAK,EAAC1N,CAAP;AAASssC,MAAAA,MAAM,EAACpsC,uDAAC,CAACE,CAAD;AAAjB,KAAN,CAA1B,EAAuD,KAAKw7C,gBAAL,EAAuB92C,IAAvB,CAA4BpE,CAA5B,CAAvD,EAAsF,KAAK2lE,aAAL,CAAmBvkE,CAAC,CAACpB,CAAC,CAACgN,KAAH,CAApB,IAA+BhN,CAArH,EAAuH,KAAKmnE,sBAAL,EAAvH,EAAqJ,KAAKtB,cAAL,GAAoB,CAAC,CAA1K,EAA4K,KAAKuB,sBAAL,EAA5K;AAA0M;;AAAAE,EAAAA,qBAAqB,CAAChoE,CAAD,EAAG;AAAC,QAAG,KAAKymE,WAAR,EAAoB,OAAO,KAAKr7D,CAAC,GAAG3H,KAAJ,CAAU,0BAAV,EAAqC,oFAArC,CAAZ;AAAuI,UAAMvD,CAAC,GAAC,KAAK07C,gBAAb;AAA8B,QAAG17C,CAAH,EAAK,KAAI,IAAIE,CAAC,GAAC,CAAV,EAAYA,CAAC,GAACF,CAAC,CAAC2N,MAAhB,EAAuBzN,CAAC,EAAxB,EAA2B;AAAC,YAAMM,CAAC,GAACR,CAAC,CAACE,CAAD,CAAT;;AAAa,UAAGgI,MAAM,CAAC1H,CAAC,CAACgN,KAAH,CAAN,KAAkBtF,MAAM,CAACpI,CAAD,CAA3B,EAA+B;AAAC,eAAO,KAAKqmE,aAAL,CAAmBvkE,CAAC,CAAC9B,CAAD,CAApB,CAAP,EAAgCE,CAAC,CAAC4hB,MAAF,CAAS1hB,CAAT,EAAW,CAAX,CAAhC;AAA8C;AAAM;AAAC;AAAA,SAAKynE,sBAAL,IAA8B,KAAKtB,cAAL,GAAoB,CAAC,CAAnD,EAAqD,KAAKuB,sBAAL,EAArD;AAAmF;;AAAMG,EAAAA,kBAAkB,CAACjoE,CAAD,EAAGE,CAAH,EAAK;AAAA;;AAAA;AAAC,UAAIE,CAAC,GAACF,CAAN;AAAQ,aAAO,KAAI,CAAC41B,eAAL,IAAsB,QAAM51B,CAAC,EAAEghE,MAA/B,KAAwC9gE,CAAC,GAAC,EAAC,GAAGA,CAAJ;AAAM8gE,QAAAA,MAAM,QAAO34D,uEAAC;AAApB,OAA1C,GAAmE,KAAI,CAAC2/D,mBAAL,CAAyBloE,CAAzB,EAA2BI,CAA3B,CAA1E;AAAT;AAAiH;;AAAAkhE,EAAAA,SAAS,CAACthE,CAAD,EAAGE,CAAH,EAAK;AAAC,QAAG,KAAK41B,eAAL,IAAsB,QAAM51B,CAAC,EAAEghE,MAAlC,EAAyC,OAAO,KAAK91D,CAAC,GAAG3H,KAAJ,CAAU,cAAV,EAAyB,sDAAzB,CAAZ;;AAA6F,UAAMrD,CAAC,GAAC,KAAK8nE,mBAAL,CAAyBloE,CAAzB,EAA2BE,CAA3B,CAAR;;AAAsC,WAAOE,CAAC,EAAEksC,MAAH,IAAW,KAAKqP,aAAvB;AAAqC;;AAAM4lB,EAAAA,cAAc,CAACvhE,CAAD,EAAGE,CAAH,EAAK;AAAA;;AAAA;AAAC,UAAIE,CAAC,GAACF,CAAN;;AAAQ,UAAG,MAAI,CAAC41B,eAAL,IAAsB,QAAM11B,CAAC,EAAE8gE,MAAlC,EAAyC;AAAC,cAAMlhE,CAAC,SAAOuI,uEAAC,EAAf;AAAA,cAAkB;AAAC81C,UAAAA,WAAW,EAACn+C;AAAb,YAAgBF,CAAlC;AAAoCE,QAAAA,CAAC,CAACshE,qBAAF,CAAwB,MAAI,CAAC1rC,eAA7B,YAAqD51B,CAAC,CAACuhE,wBAAF,EAArD,GAAkFrhE,CAAC,GAAC,EAAC,GAAGA,CAAJ;AAAM8gE,UAAAA,MAAM,EAAClhE;AAAb,SAApF;AAAoG;;AAAA,YAAMU,CAAC,GAAC,MAAI,CAACwnE,mBAAL,CAAyBloE,CAAzB,EAA2BI,CAA3B,CAAR;;AAAsC,aAAOM,CAAC,EAAE4rC,MAAH,IAAW,MAAI,CAACqP,aAAvB;AAAjO;AAAsQ;;AAAA+lB,EAAAA,UAAU,GAAE;AAAC,UAAM1hE,CAAC,GAAC,EAAR;;AAAW,SAAI,MAAME,CAAV,IAAe,KAAK07C,gBAAL,IAAuB,EAAtC,EAAyC17C,CAAC,CAACosC,MAAF,IAAUtsC,CAAC,CAAC8E,IAAF,CAAO5E,CAAC,CAACosC,MAAT,CAAV;;AAA2B,WAAO,KAAKqP,aAAL,IAAoB37C,CAAC,CAAC8E,IAAF,CAAO,KAAK62C,aAAZ,CAApB,EAA+C37C,CAAtD;AAAwD;;AAAA2hE,EAAAA,gBAAgB,GAAE;AAAC,WAAO,KAAK3jB,eAAL,EAAsBltC,MAAtB,CAA8B,CAAC9Q,CAAD,EAAGE,CAAH,KAAOF,CAAC,GAACE,CAAC,CAACyhE,gBAAF,EAAvC,EAA6D,EAA7D,KAAkE,EAAzE;AAA4E;;AAAAC,EAAAA,WAAW,GAAE;AAAC,UAAM5hE,CAAC,GAACymB,IAAI,CAACC,SAAL,CAAe,KAAKo5C,oBAApB,CAAR;AAAA,UAAkD5/D,CAAC,GAACumB,IAAI,CAACC,SAAL,CAAe,KAAKi1B,aAApB,CAApD;AAAA,UAAuFv7C,CAAC,GAAC,KAAKw7C,gBAAL,EAAuB9qC,MAAvB,CAA+B,CAAC9Q,CAAD,EAAGE,CAAH,KAAOF,CAAC,GAACE,CAAC,CAAC0hE,WAAF,EAAxC,EAAyD,EAAzD,CAAzF;AAAsJ,WAAO,GAAE5hE,CAAE,IAAGE,CAAE,IAAGE,CAAE,IAAI,GAAE,KAAKgQ,KAAM,IAAG,KAAK61D,MAAO,IAAG,KAAKC,MAAO,IAAG,KAAKC,cAAe,EAAE,IAAG,KAAKrwC,eAAgB,EAArH;AAAuH;;AAAAr1B,EAAAA,KAAK,GAAE;AAAC,UAAMT,CAAC,GAAC,IAAIqL,CAAJ,CAAM;AAAC+E,MAAAA,KAAK,EAAC,KAAKA,KAAZ;AAAkB61D,MAAAA,MAAM,EAAC,KAAKA,MAA9B;AAAqCC,MAAAA,MAAM,EAAC,KAAKA,MAAjD;AAAwDlG,MAAAA,YAAY,EAAC,KAAKA,YAA1E;AAAuFrkB,MAAAA,aAAa,EAACj7C,oDAAC,CAAC,KAAKi7C,aAAN,CAAtG;AAA2H6qB,MAAAA,qBAAqB,EAAC,KAAKA,qBAAtJ;AAA4K1wC,MAAAA,eAAe,EAAC,KAAKA,eAAjM;AAAiNuqC,MAAAA,oBAAoB,EAAC,KAAKA,oBAA3O;AAAgQ8F,MAAAA,cAAc,EAAC,KAAKA,cAApR;AAAmSnoB,MAAAA,eAAe,EAACt9C,oDAAC,CAAC,KAAKs9C,eAAN,CAApT;AAA2UkiB,MAAAA,aAAa,EAACx/D,oDAAC,CAAC,KAAKw/D,aAAN,CAA1V;AAA+W6B,MAAAA,aAAa,EAACrhE,oDAAC,CAAC,KAAKqhE,aAAN,CAA9X;AAAmZjC,MAAAA,oBAAoB,EAACp/D,oDAAC,CAAC,KAAKo/D,oBAAN;AAAza,KAAN,CAAR;AAAqd,SAAKwG,uBAAL,KAA+BtmE,CAAC,CAACsmE,uBAAF,GAA0B,CAAC,CAA1D,GAA6DtmE,CAAC,CAACuE,IAAF,CAAO,QAAP,EAAgB,KAAK6B,MAArB,CAA7D;AAA0F,UAAMlG,CAAC,GAACQ,oDAAC,CAAC,KAAKk7C,gBAAN,CAAT;AAAA,UAAiCx7C,CAAC,GAACM,oDAAC,CAAC,KAAK+mE,iBAAN,CAApC;AAA6D,WAAO,KAAKhB,WAAL,KAAmBzmE,CAAC,CAACuE,IAAF,CAAO,aAAP,EAAqB8V,MAAM,CAACitD,MAAP,CAAc5mE,oDAAC,CAAC,KAAK+lE,WAAN,CAAf,CAArB,GAAyDpsD,MAAM,CAACitD,MAAP,CAAcpnE,CAAd,CAAzD,EAA0Ema,MAAM,CAACitD,MAAP,CAAclnE,CAAd,CAA7F,GAA+GJ,CAAC,CAACuE,IAAF,CAAO,kBAAP,EAA0BrE,CAA1B,CAA/G,EAA4IF,CAAC,CAAC4nE,mBAAF,EAA5I,EAAoK5nE,CAAC,CAACuE,IAAF,CAAO,mBAAP,EAA2BnE,CAA3B,CAApK,EAAkMJ,CAAC,CAACumE,cAAF,GAAiB,KAAKA,cAAxN,EAAuOvmE,CAAC,CAACmoE,+BAAF,EAAvO,EAA2QnoE,CAAlR;AAAoR;;AAAkB,MAAd6hE,cAAc,GAAE;AAAC,WAAO,KAAKC,gCAAL,IAAuC,CAAC,CAAC,KAAKhsC,eAArD;AAAqE;;AAAMjnB,EAAAA,qBAAqB,CAAC7O,CAAD,EAAGE,CAAH,EAAK;AAAA;;AAAA;AAAC,YAAME,CAAC,GAAC,CAAC,MAAI,CAAC4hE,uBAAL,CAA6BhiE,CAA7B,EAA+BE,CAA/B,CAAD,EAAmC,MAAI,CAAC+hE,mBAAL,CAAyBjiE,CAAzB,EAA2BE,CAA3B,CAAnC,CAAR;AAA0E,YAAMmF,OAAO,CAACc,GAAR,CAAY/F,CAAZ,CAAN;AAA3E;AAAgG;;AAAM6hE,EAAAA,mBAAmB,CAACjiE,CAAD,EAAGE,CAAH,EAAK;AAAA;;AAAA;AAAC,YAAME,CAAC,GAAC,CAAC,GAAG,MAAI,CAACshE,UAAL,GAAkBn8D,GAAlB,CAAuBnF,CAAC,IAAEA,CAAC,CAACyO,qBAAF,CAAwB7O,CAAxB,EAA0BE,CAA1B,CAA1B,CAAJ,EAA6DkB,uFAAC,CAACpB,CAAD,EAAGE,CAAH,EAAK,MAAI,CAAC41B,eAAV,CAA9D,CAAR;AAAkGj0B,MAAAA,4EAAC,CAAC7B,CAAD,EAAGE,CAAH,EAAK,MAAI,CAACkQ,KAAV,CAAD,EAAkBvO,4EAAC,CAAC7B,CAAD,EAAGE,CAAH,EAAK,MAAI,CAAC+lE,MAAV,CAAnB,EAAqCpkE,4EAAC,CAAC7B,CAAD,EAAGE,CAAH,EAAK,MAAI,CAACgmE,MAAV,CAAtC,QAA8D7gE,OAAO,CAACc,GAAR,CAAY/F,CAAZ,CAA9D;AAAnG;AAAgL;;AAAAgoE,EAAAA,iBAAiB,GAAE;AAAC,WAAOtoD,2EAAC,CAAC,KAAK2mD,WAAN,EAAkB;AAACrgE,MAAAA,MAAM,EAAC,KAAKA;AAAb,KAAlB,CAAD,CAAyCJ,IAAzC,CAA+ChG,CAAC,IAAE;AAAC,YAAME,CAAC,GAAC,EAAR;AAAW,aAAO,KAAKmmE,aAAL,GAAmB,EAAnB,EAAsBrmE,CAAC,EAAEkE,IAAH,IAASqC,KAAK,CAACC,OAAN,CAAcxG,CAAC,CAACkE,IAAF,CAAO+d,KAArB,CAAT,IAAsCjiB,CAAC,CAACkE,IAAF,CAAO+d,KAAP,CAAatd,OAAb,CAAsBvE,CAAC,IAAE;AAAC,cAAMM,CAAC,GAAC,IAAI8B,mEAAJ,CAAM;AAAC+kE,UAAAA,QAAQ,EAACvnE,CAAC,CAACunE,QAAZ;AAAqBF,UAAAA,SAAS,EAACrnE,CAAC,CAACqnE,SAAjC;AAA2CjhE,UAAAA,MAAM,EAAC,KAAKA,MAAvD;AAA8DgU,UAAAA,IAAI,EAACha,CAAC,CAACga;AAArE,SAAN,CAAR;AAA0F,aAAKuhC,aAAL,IAAoBv7C,CAAC,CAACga,IAAF,KAASpa,CAAC,CAACkE,IAAF,CAAOmkE,WAApC,KAAkD,KAAK1sB,aAAL,GAAmBj7C,CAAnB,EAAqB,KAAK4lE,uBAAL,GAA6B,CAAC,CAArG;AAAwG,cAAM9lE,CAAC,GAAC,IAAI8B,oEAAJ,CAAM;AAACoL,UAAAA,KAAK,EAACtN,CAAC,CAACga,IAAT;AAAckyB,UAAAA,MAAM,EAAC5rC;AAArB,SAAN,CAAR;AAAuCR,QAAAA,CAAC,CAAC4E,IAAF,CAAOtE,CAAP,GAAU,KAAK6lE,aAAL,CAAmBvkE,CAAC,CAAC1B,CAAC,CAACga,IAAH,CAApB,IAA8B5Z,CAAxC;AAA0C,OAA7S,CAA5D,EAA4W,KAAK+D,IAAL,CAAU,kBAAV,EAA6B8V,MAAM,CAACitD,MAAP,CAAcpnE,CAAd,CAA7B,CAA5W,EAA2Z,KAAK2nE,sBAAL,CAA4B,CAAC,CAA7B,CAA3Z,EAA2b,KAAKtB,cAAL,GAAoB,IAA/c,EAAod,KAAKuB,sBAAL,EAApd,EAAkf,CAAC,KAAKnsB,aAAN,IAAqB,KAAKC,gBAAL,EAAuB/tC,MAA5C,KAAqD,KAAK8tC,aAAL,GAAmB,KAAKC,gBAAL,CAAsB,CAAtB,EAAyBtP,MAA5C,EAAmD,KAAKg6B,uBAAL,GAA6B,CAAC,CAAtI,CAAlf,EAA2nB,IAAloB;AAAuoB,KAArsB,CAAP;AAA+sB;;AAAAU,EAAAA,qBAAqB,GAAE;AAAC,SAAK52D,KAAL,IAAY,KAAK61D,MAAjB,IAAyB,CAAC,KAAKE,cAA/B,IAA+C,KAAK5hE,IAAL,CAAU,gBAAV,EAA2BwE,CAA3B,CAA/C;AAA6E;;AAAAk+D,EAAAA,mBAAmB,GAAE;AAAC,YAAM,KAAKV,cAAX,KAA4B,KAAKA,cAAL,GAAoB,KAAKsB,sBAAL,EAApB,GAAkD,KAAKH,sBAAL,EAA9E;AAA6G;;AAAAE,EAAAA,mBAAmB,GAAE;AAAC,SAAKvB,aAAL,GAAmB,EAAnB;AAAsB,UAAK;AAACzqB,MAAAA,gBAAgB,EAAC57C;AAAlB,QAAqB,IAA1B;AAA+B,QAAGA,CAAH,EAAK,KAAI,MAAME,CAAV,IAAeF,CAAf,EAAiB,KAAKqmE,aAAL,CAAmBvkE,CAAC,CAAC5B,CAAC,CAACwN,KAAH,CAApB,IAA+BxN,CAA/B;AAAiC;;AAAAioE,EAAAA,+BAA+B,GAAE;AAAC,SAAKL,sBAAL,IAA8B,KAAKH,uBAAL,EAA9B;AAA6D;;AAAAG,EAAAA,sBAAsB,GAAE;AAAC,SAAKtqD,aAAL,CAAmBjS,CAAnB;AAAsB,UAAK;AAACqwC,MAAAA,gBAAgB,EAAC57C;AAAlB,QAAqB,IAA1B;;AAA+B,QAAGA,CAAH,EAAK;AAAC,YAAME,CAAC,GAAC,EAAR;;AAAW,WAAI,MAAME,CAAV,IAAeJ,CAAf,EAAiBE,CAAC,CAAC4E,IAAF,CAAO7E,6DAAC,CAAE,OAAK;AAACqsC,QAAAA,MAAM,EAAClsC,CAAC,CAACksC,MAAV;AAAiB5+B,QAAAA,KAAK,EAACtN,CAAC,CAACsN,KAAzB;AAA+B+nB,QAAAA,KAAK,EAACr1B,CAAC,CAACq1B,KAAvC;AAA6C1nB,QAAAA,WAAW,EAAC3N,CAAC,CAAC2N;AAA3D,OAAL,CAAF,EAAkF,CAAC/N,CAAD,EAAGE,CAAH,KAAO;AAACF,QAAAA,CAAC,KAAGE,CAAJ,KAAQ,KAAK2nE,sBAAL,IAA8B,KAAKtB,cAAL,GAAoB,CAAC,CAA3D;AAA8D,OAAxJ,EAA0J;AAACnlD,QAAAA,IAAI,EAAC,CAAC;AAAP,OAA1J,CAAR;;AAA8K,WAAK1d,UAAL,CAAgBxD,CAAhB,EAAkBqL,CAAlB;AAAqB;AAAC;;AAAAo8D,EAAAA,uBAAuB,GAAE;AAAC,SAAKnqD,aAAL,CAAmB7Q,CAAnB;AAAsB,UAAK;AAAC86D,MAAAA,iBAAiB,EAACznE;AAAnB,QAAsB,IAA3B;;AAAgC,QAAGA,CAAH,EAAK;AAAC,YAAME,CAAC,GAAC,EAAR;;AAAW,WAAI,MAAME,CAAV,IAAeJ,CAAf,EAAiB;AAACE,QAAAA,CAAC,CAAC4E,IAAF,CAAO7E,6DAAC,CAAE,OAAK;AAACmmE,UAAAA,OAAO,EAAChmE,CAAC,CAACgmE;AAAX,SAAL,CAAF,EAA8B,CAACpmE,CAAD,EAAGE,CAAH,KAAO;AAACF,UAAAA,CAAC,KAAGE,CAAJ,KAAQ,KAAKwnE,sBAAL,IAA8B,KAAKnB,cAAL,GAAoB,CAAC,CAA3D;AAA8D,SAApG,EAAsG;AAACnlD,UAAAA,IAAI,EAAC,CAAC;AAAP,SAAtG,CAAR;;AAA0H,aAAI,MAAMphB,CAAV,IAAeI,CAAC,CAACgmE,OAAF,IAAW,EAA1B,EAA6BlmE,CAAC,CAAC4E,IAAF,CAAO7E,6DAAC,CAAE,OAAK;AAACqsC,UAAAA,MAAM,EAACtsC,CAAC,CAACssC,MAAV;AAAiB4S,UAAAA,MAAM,EAACl/C,CAAC,CAACk/C,MAA1B;AAAiCzpB,UAAAA,KAAK,EAACz1B,CAAC,CAACy1B,KAAzC;AAA+C1nB,UAAAA,WAAW,EAAC/N,CAAC,CAAC+N;AAA7D,SAAL,CAAF,EAAoF,CAAC/N,CAAD,EAAGE,CAAH,KAAO;AAACF,UAAAA,CAAC,KAAGE,CAAJ,KAAQ,KAAKwnE,sBAAL,IAA8B,KAAKnB,cAAL,GAAoB,CAAC,CAA3D;AAA8D,SAA1J,EAA4J;AAACnlD,UAAAA,IAAI,EAAC,CAAC;AAAP,SAA5J,CAAR;AAAgL;;AAAA,WAAK1d,UAAL,CAAgBxD,CAAhB,EAAkByM,CAAlB;AAAqB;AAAC;;AAAA+6D,EAAAA,sBAAsB,GAAE;AAAC,QAAG,CAAC,KAAKD,iBAAT,EAA2B,OAAO,KAAKljE,IAAL,CAAU,kBAAV,EAA6B,IAA7B,GAAmC,KAAKqjE,mBAAL,EAAnC,EAA8D,KAAK,KAAKE,sBAAL,EAA1E;AAAwG,UAAM9nE,CAAC,GAAC,EAAR;AAAA,UAAW;AAACoQ,MAAAA,KAAK,EAAClQ,CAAP;AAAS+lE,MAAAA,MAAM,EAAC7lE,CAAhB;AAAkB8lE,MAAAA,MAAM,EAACxlE,CAAzB;AAA2BylE,MAAAA,cAAc,EAAC3lE,CAA1C;AAA4CinE,MAAAA,iBAAiB,EAAC5mE,CAA9D;AAAgEi1B,MAAAA,eAAe,EAAC71B;AAAhF,QAAmF,IAA9F;AAAmG,QAAG,CAACC,CAAD,IAAI,CAACD,CAAR,EAAU,OAAO,KAAKsE,IAAL,CAAU,kBAAV,EAA6BvE,CAA7B,GAAgC,KAAK4nE,mBAAL,EAAhC,EAA2D,KAAK,KAAKE,sBAAL,EAAvE;AAAqG,UAAMtmE,CAAC,GAAC,EAAE,CAACtB,CAAD,IAAI,CAACE,CAAP,CAAR;;AAAkB,SAAI,MAAMO,CAAV,IAAeE,CAAf,EAAiB,KAAI,MAAMX,CAAV,IAAeS,CAAC,CAACylE,OAAF,IAAW,EAA1B,EAA6B;AAAC,YAAK;AAAC95B,QAAAA,MAAM,EAACzrC,CAAR;AAAU40B,QAAAA,KAAK,EAACx1B,CAAhB;AAAkBi/C,QAAAA,MAAM,EAACv+C,CAAzB;AAA2BoN,QAAAA,WAAW,EAACzN;AAAvC,UAA0CJ,CAA/C;;AAAiD,WAAI,MAAMA,CAAV,IAAeS,CAAC,IAAE,EAAlB,EAAqB;AAAC,cAAK;AAAC+M,UAAAA,KAAK,EAAC/M,CAAP;AAAS2nE,UAAAA,MAAM,EAACxnE,CAAhB;AAAkBynE,UAAAA,MAAM,EAAC3mE;AAAzB,YAA4B1B,CAAjC;AAAA,cAAmCwB,CAAC,GAAC,CAACf,CAAD,CAArC;AAAyCP,QAAAA,CAAC,IAAEsB,CAAC,CAACoD,IAAF,CAAOhE,CAAP,CAAH,EAAaJ,CAAC,IAAEgB,CAAC,CAACoD,IAAF,CAAOlD,CAAP,CAAhB;AAA0B,cAAMZ,CAAC,GAACQ,CAAC,GAACE,CAAC,CAAC8kB,IAAF,CAAOhmB,CAAC,IAAE,EAAV,CAAD,GAAekB,CAAC,CAAC,CAAD,CAAD,IAAM,KAAK,CAAnC;AAAqC1B,QAAAA,CAAC,CAAC8E,IAAF,CAAO,IAAIxC,oEAAJ,CAAM;AAACgqC,UAAAA,MAAM,EAACzrC,CAAR;AAAU40B,UAAAA,KAAK,EAACx1B,CAAhB;AAAkByN,UAAAA,KAAK,EAAC1M,CAAxB;AAA0B+M,UAAAA,WAAW,EAACzN;AAAtC,SAAN,CAAP;AAAwD;AAAC;;AAAA,SAAKiE,IAAL,CAAU,kBAAV,EAA6BvE,CAA7B,GAAgC,KAAK4nE,mBAAL,EAAhC,EAA2D,KAAKE,sBAAL,EAA3D;AAAyF;;AAAAD,EAAAA,sBAAsB,CAAC7nE,CAAC,GAAC,CAAC,CAAJ,EAAM;AAAC,QAAG,CAAC,KAAK47C,gBAAT,EAA0B,OAAO,KAAKr3C,IAAL,CAAU,mBAAV,EAA8B,IAA9B,GAAoC,KAAK,KAAKojE,uBAAL,EAAhD;AAA+E,UAAK;AAACv3D,MAAAA,KAAK,EAAClQ,CAAP;AAAS+lE,MAAAA,MAAM,EAAC7lE,CAAhB;AAAkB01B,MAAAA,eAAe,EAACp1B,CAAlC;AAAoCylE,MAAAA,cAAc,EAAC3lE,CAAnD;AAAqDo7C,MAAAA,gBAAgB,EAAC/6C;AAAtE,QAAyE,IAA9E;AAAmF,QAAG,CAACX,CAAD,IAAI,CAACQ,CAAL,IAAQ,CAACG,CAAC,CAACgN,MAAd,EAAqB,OAAO,KAAKtJ,IAAL,CAAU,mBAAV,EAA8B,EAA9B,GAAkC,KAAK,KAAKojE,uBAAL,EAA9C;AAA6E,UAAM1nE,CAAC,GAAC,EAAE,CAACC,CAAD,IAAI,CAACE,CAAP,CAAR;AAAA,UAAkBoB,CAAC,GAACX,CAAC,CAAC0E,GAAF,CAAOvF,CAAC,IAAE;AAAC,YAAK;AAACssC,QAAAA,MAAM,EAACpsC,CAAR;AAAUu1B,QAAAA,KAAK,EAACr1B,CAAhB;AAAkBsN,QAAAA,KAAK,EAAChN,CAAxB;AAA0BqN,QAAAA,WAAW,EAAClN;AAAtC,UAAyCb,CAA9C;AAAA,YAAgD,CAACwB,CAAD,EAAGb,CAAH,EAAKL,CAAL,IAAQL,CAAC,GAACS,CAAC,EAAEwC,QAAH,IAAesN,KAAf,CAAqBhQ,CAAC,IAAE,EAAxB,KAA6B,EAA9B,GAAiC,CAACE,CAAD,CAA1F;AAA8F,aAAO,IAAIqB,qEAAJ,CAAM;AAACuqC,QAAAA,MAAM,EAACpsC,CAAR;AAAUu1B,QAAAA,KAAK,EAACr1B,CAAhB;AAAkB2N,QAAAA,WAAW,EAAClN,CAA9B;AAAgCq+C,QAAAA,MAAM,EAAC,CAAC,IAAI98C,gEAAJ,CAAM;AAACsL,UAAAA,KAAK,EAAClM,CAAP;AAAS8mE,UAAAA,MAAM,EAAC3nE,CAAhB;AAAkB4nE,UAAAA,MAAM,EAACjoE;AAAzB,SAAN,CAAD;AAAvC,OAAN,CAAP;AAA2F,KAApM,CAApB;AAAA,UAA2NK,CAAC,GAAC,CAAC,IAAI0F,qEAAJ,CAAM;AAAC+/D,MAAAA,OAAO,EAAC5kE;AAAT,KAAN,CAAD,CAA7N;AAAkPxB,IAAAA,CAAC,IAAEqa,MAAM,CAACitD,MAAP,CAAc3mE,CAAd,CAAH,EAAoB,KAAK4D,IAAL,CAAU,mBAAV,EAA8B5D,CAA9B,CAApB,EAAqD,KAAKgnE,uBAAL,EAArD;AAAoF;;AAAAO,EAAAA,mBAAmB,CAACloE,CAAD,EAAGE,CAAH,EAAK;AAAC,WAAO,KAAK41B,eAAL,GAAqB,KAAK0yC,gCAAL,CAAsCxoE,CAAtC,EAAwCE,CAAxC,CAArB,GAAgE,KAAKuoE,4BAAL,CAAkCzoE,CAAlC,CAAvE;AAA4G;;AAAAwoE,EAAAA,gCAAgC,CAACxoE,CAAD,EAAGE,CAAH,EAAK;AAAC,UAAK;AAACgiE,MAAAA,WAAW,EAAC9hE,CAAb;AAAemY,MAAAA,KAAK,EAAC7X,CAArB;AAAuBkC,MAAAA,gBAAgB,EAACpC,CAAxC;AAA0C0gE,MAAAA,MAAM,EAACrgE,CAAjD;AAAmDqU,MAAAA,QAAQ,EAACjV;AAA5D,QAA+DC,CAAC,IAAE,EAAvE;AAA0E,QAAIsB,CAAC,GAAC,KAAKslE,MAAL,CAAYC,YAAlB;AAA+B,UAAMpmE,CAAC,GAACE,CAAC,CAACw9C,WAAV;;AAAsB,QAAG,CAAC78C,CAAJ,EAAM;AAAC,YAAMxB,CAAC,GAACW,CAAC,CAACwhE,gBAAF,CAAmB,KAAKrsC,eAAxB,CAAR;AAAiDt0B,MAAAA,CAAC,GAACb,CAAC,CAACyhE,cAAF,CAAiBpiE,CAAjB,CAAF,EAAsB,KAAK8mE,MAAL,CAAYC,YAAZ,GAAyBvlE,CAA/C;AAAiD;;AAAA,UAAMlB,CAAC,GAACK,CAAC,CAAC0hE,eAAF,CAAkB7gE,CAAlB,EAAoBb,CAAC,CAAC2hE,iBAAF,CAAoBtiE,CAApB,EAAsBW,CAAC,CAAC4hE,WAAF,CAAc;AAACL,MAAAA,WAAW,EAAC9hE,CAAb;AAAemY,MAAAA,KAAK,EAAC7X,CAArB;AAAuBkC,MAAAA,gBAAgB,EAACpC;AAAxC,KAAd,CAAtB,EAAgFP,CAAhF,CAApB,CAAR;AAAgH,WAAO,KAAKomE,aAAL,CAAmBvkE,CAAC,CAACxB,CAAD,CAApB,CAAP;AAAgC;;AAAAmoE,EAAAA,4BAA4B,CAACzoE,CAAD,EAAG;AAAC,UAAME,CAAC,GAAC,KAAKkQ,KAAb;AAAA,UAAmBhQ,CAAC,GAACJ,CAAC,CAACuxC,UAAvB;AAAkC,QAAI7wC,CAAJ;;AAAM,QAAG,KAAKulE,MAAR,EAAe;AAAC,YAAMjmE,CAAC,GAAC,KAAKimE,MAAb;AAAA,YAAoBzlE,CAAC,GAAC,KAAK0lE,MAA3B;AAAA,YAAkCrlE,CAAC,GAAC,EAApC;AAAuCX,MAAAA,CAAC,IAAEW,CAAC,CAACiE,IAAF,CAAO1E,CAAC,CAACF,CAAD,CAAR,CAAH,EAAgBF,CAAC,IAAEa,CAAC,CAACiE,IAAF,CAAO1E,CAAC,CAACJ,CAAD,CAAR,CAAnB,EAAgCQ,CAAC,IAAEK,CAAC,CAACiE,IAAF,CAAO1E,CAAC,CAACI,CAAD,CAAR,CAAnC,EAAgDE,CAAC,GAACG,CAAC,CAAC2lB,IAAF,CAAO,KAAK2/C,cAAL,IAAqB,EAA5B,CAAlD;AAAkF,KAAzI,MAA8IjmE,CAAC,KAAGQ,CAAC,GAACN,CAAC,CAACF,CAAD,CAAN,CAAD;;AAAY,WAAO,KAAKmmE,aAAL,CAAmBvkE,CAAC,CAACpB,CAAD,CAApB,CAAP;AAAgC;;AAAsB,SAAfgoE,eAAe,CAAC1oE,CAAD,EAAGE,CAAH,EAAK;AAAC,UAAME,CAAC,GAAC,IAAIiL,CAAJ,CAAMnL,CAAC,EAAEyoE,UAAT,CAAR;AAA6BvoE,IAAAA,CAAC,CAACmE,IAAF,CAAO,aAAP,EAAqB8V,MAAM,CAACitD,MAAP,CAAc;AAACD,MAAAA,SAAS,EAACrnE;AAAX,KAAd,CAArB,GAAmDI,CAAC,CAACmE,IAAF,CAAO,QAAP,EAAgBrE,CAAC,EAAEkG,MAAH,IAAW7D,qEAAA,EAA3B,CAAnD;AAA8F,UAAM7B,CAAC,GAACN,CAAC,CAACgoE,iBAAF,EAAR;AAA8B,WAAO1nE,CAAC,CAACqD,KAAF,CAAS7D,CAAC,IAAE;AAACkL,MAAAA,CAAC,GAAG3H,KAAJ,CAAW,qBAAoBzD,CAAE,WAAjC,EAA4C,wDAA5C,EAAqGE,CAArG;AAAwG,KAArH,GAAwHQ,CAA/H;AAAiI;;AAAmB,SAAZkoE,YAAY,CAAC5oE,CAAD,EAAGE,CAAH,EAAK;AAAC,UAAME,CAAC,GAAC,IAAIiL,CAAJ,CAAMnL,CAAC,EAAEyoE,UAAT,CAAR;;AAA6BvoE,IAAAA,CAAC,CAACmE,IAAF,CAAO,aAAP,EAAqB8V,MAAM,CAACitD,MAAP,CAAc;AAACC,MAAAA,QAAQ,EAACvnE;AAAV,KAAd,CAArB;;AAAkD,UAAMU,CAAC,GAACN,CAAC,CAACgoE,iBAAF,EAAR;AAA8B,WAAO1nE,CAAC,CAACqD,KAAF,CAAS7D,CAAC,IAAE;AAACkL,MAAAA,CAAC,GAAG3H,KAAJ,CAAW,kBAAiBzD,CAAE,WAA9B,EAAyC,uDAAzC,EAAiGE,CAAjG;AAAoG,KAAjH,GAAoHQ,CAA3H;AAA6H;;AAAj7U,CAA3B;AAA88UV,uDAAC,CAAC,CAACwB,sFAAC,CAAC;AAAC6G,EAAAA,QAAQ,EAAC,CAAC;AAAX,CAAD,CAAF,CAAD,EAAoB6D,CAAC,CAAC/D,SAAtB,EAAgC,QAAhC,EAAyC,IAAzC,CAAD,EAAgDnI,uDAAC,CAAC,CAACM,6FAAC,CAAC;AAACmlE,EAAAA,WAAW,EAAC;AAAb,CAAD,CAAF,CAAD,EAAmCv5D,CAAC,CAAC/D,SAArC,EAA+C,MAA/C,EAAsD,KAAK,CAA3D,CAAjD,EAA+GnI,uDAAC,CAAC,CAACwB,sFAAC,CAACS,+FAAD,CAAF,CAAD,EAAQiK,CAAC,CAAC/D,SAAV,EAAoB,sBAApB,EAA2C,KAAK,CAAhD,CAAhH,EAAmKnI,uDAAC,CAAC,CAACwB,sFAAC,CAAC;AAACkM,EAAAA,KAAK,EAAC,IAAP;AAAY3F,EAAAA,IAAI,EAAC;AAACxE,IAAAA,IAAI,EAAC6E,MAAN;AAAanE,IAAAA,IAAI,EAAC;AAACoG,MAAAA,MAAM,EAAC;AAAR,KAAlB;AAAoC1E,IAAAA,KAAK,EAAC;AAACsC,MAAAA,MAAM,EAAC;AAAR;AAA1C;AAAjB,CAAD,CAAF,CAAD,EAAqFiE,CAAC,CAAC/D,SAAvF,EAAiG,OAAjG,EAAyG,IAAzG,CAApK,EAAmRnI,uDAAC,CAAC,CAACW,8EAAC,CAAC,OAAD,CAAF,CAAD,EAAcuL,CAAC,CAAC/D,SAAhB,EAA0B,WAA1B,EAAsC,IAAtC,CAApR,EAAgUnI,uDAAC,CAAC,CAAC0B,mFAAC,CAAC,OAAD,CAAF,CAAD,EAAcwK,CAAC,CAAC/D,SAAhB,EAA0B,YAA1B,EAAuC,IAAvC,CAAjU,EAA8WnI,uDAAC,CAAC,CAACwB,sFAAC,CAAC;AAAC+B,EAAAA,IAAI,EAAC6E,MAAN;AAAasF,EAAAA,KAAK,EAAC,IAAnB;AAAwB3F,EAAAA,IAAI,EAAC;AAACpC,IAAAA,KAAK,EAAC,CAAC;AAAR;AAA7B,CAAD,CAAF,CAAD,EAA+CuG,CAAC,CAAC/D,SAAjD,EAA2D,QAA3D,EAAoE,IAApE,CAA/W,EAAybnI,uDAAC,CAAC,CAACwB,sFAAC,CAAC;AAAC+B,EAAAA,IAAI,EAAC6E,MAAN;AAAasF,EAAAA,KAAK,EAAC,IAAnB;AAAwB3F,EAAAA,IAAI,EAAC;AAACpC,IAAAA,KAAK,EAAC,CAAC;AAAR;AAA7B,CAAD,CAAF,CAAD,EAA+CuG,CAAC,CAAC/D,SAAjD,EAA2D,QAA3D,EAAoE,IAApE,CAA1b,EAAogBnI,uDAAC,CAAC,CAACwB,sFAAC,CAAC;AAAC+B,EAAAA,IAAI,EAACgL,OAAN;AAAcxG,EAAAA,IAAI,EAAC;AAACqS,IAAAA,IAAI,EAAC,kBAAN;AAAyB5R,IAAAA,OAAO,EAAC,CAAC,CAAlC;AAAoC7C,IAAAA,KAAK,EAAC,CAAC,CAA3C;AAA6CuC,IAAAA,OAAO,EAAC;AAAC,mBAAY;AAACvC,QAAAA,KAAK,EAAC,CAAC;AAAR;AAAb;AAArD;AAAnB,CAAD,CAAF,CAAD,EAAyGuG,CAAC,CAAC/D,SAA3G,EAAqH,uBAArH,EAA6I,KAAK,CAAlJ,CAArgB,EAA0pBnI,uDAAC,CAAC,CAACwB,sFAAC,CAAC;AAAC+B,EAAAA,IAAI,EAAC6E,MAAN;AAAasF,EAAAA,KAAK,EAAC,IAAnB;AAAwB3F,EAAAA,IAAI,EAAC;AAACpC,IAAAA,KAAK,EAAC,CAAC;AAAR;AAA7B,CAAD,CAAF,CAAD,EAA+CuG,CAAC,CAAC/D,SAAjD,EAA2D,iBAA3D,EAA6E,IAA7E,CAA3pB,EAA8uBnI,uDAAC,CAAC,CAACwB,sFAAC,CAAC;AAAC+B,EAAAA,IAAI,EAAC6E,MAAN;AAAaL,EAAAA,IAAI,EAAC;AAACpC,IAAAA,KAAK,EAAC,CAAC;AAAR;AAAlB,CAAD,CAAF,CAAD,EAAoCuG,CAAC,CAAC/D,SAAtC,EAAgD,sBAAhD,EAAuE,KAAK,CAA5E,CAA/uB,EAA8zBnI,uDAAC,CAAC,CAACwB,sFAAC,CAAC;AAAC+B,EAAAA,IAAI,EAACpB,0EAAN;AAAQ4F,EAAAA,IAAI,EAAC;AAACpC,IAAAA,KAAK,EAAC,CAAC;AAAR;AAAb,CAAD,CAAF,CAAD,EAA+BuG,CAAC,CAAC/D,SAAjC,EAA2C,eAA3C,EAA2D,KAAK,CAAhE,CAA/zB,EAAk4BnI,uDAAC,CAAC,CAACwB,sFAAC,CAAC;AAAC+B,EAAAA,IAAI,EAAC6E,MAAN;AAAaL,EAAAA,IAAI,EAAC;AAACpC,IAAAA,KAAK,EAAC,CAAC;AAAR;AAAlB,CAAD,CAAF,CAAD,EAAoCuG,CAAC,CAAC/D,SAAtC,EAAgD,cAAhD,EAA+D,KAAK,CAApE,CAAn4B,EAA08BnI,uDAAC,CAAC,CAACwB,sFAAC,CAACX,0DAAC,CAAC,EAAC,GAAG6Q,iFAACA;AAAL,CAAD,EAAQ;AAAC3J,EAAAA,IAAI,EAAC;AAACpC,IAAAA,KAAK,EAAC;AAACuU,MAAAA,cAAc,GAAE;AAAC,eAAM;AAACC,UAAAA,OAAO,EAAC,CAAC,KAAKmsD;AAAf,SAAN;AAA8C;;AAAhE,KAAP;AAAyEp+D,IAAAA,OAAO,EAAC;AAAC,mBAAY;AAACvC,QAAAA,KAAK,EAAC;AAACuU,UAAAA,cAAc,GAAE;AAAC,mBAAM;AAACC,cAAAA,OAAO,EAAC,CAAC,KAAKmsD;AAAf,aAAN;AAA8C;;AAAhE;AAAP;AAAb;AAAjF;AAAN,CAAR,CAAF,CAAF,CAAD,EAAiMp6D,CAAC,CAAC/D,SAAnM,EAA6M,eAA7M,EAA6N,IAA7N,CAA38B,EAA8qCnI,uDAAC,CAAC,CAACwB,sFAAC,CAAC;AAAC+B,EAAAA,IAAI,EAAC6E,MAAN;AAAasF,EAAAA,KAAK,EAAC,IAAnB;AAAwB3F,EAAAA,IAAI,EAAC;AAACpC,IAAAA,KAAK,EAAC,CAAC;AAAR;AAA7B,CAAD,CAAF,CAAD,EAA+CuG,CAAC,CAAC/D,SAAjD,EAA2D,gBAA3D,EAA4E,IAA5E,CAA/qC,EAAiwCnI,uDAAC,CAAC,CAACwB,sFAAC,CAAC;AAAC+B,EAAAA,IAAI,EAAChB,0DAAN;AAAQ8F,EAAAA,QAAQ,EAAC,CAAC;AAAlB,CAAD,CAAF,CAAD,EAA2B6D,CAAC,CAAC/D,SAA7B,EAAuC,QAAvC,EAAgD,KAAK,CAArD,CAAlwC,EAA0zCnI,uDAAC,CAAC,CAACc,mFAAC,CAAC,QAAD,EAAU,CAAC,WAAD,CAAV,CAAF,CAAD,EAA6BoL,CAAC,CAAC/D,SAA/B,EAAyC,YAAzC,EAAsD,IAAtD,CAA3zC,EAAu3CnI,uDAAC,CAAC,CAACwB,sFAAC,CAAC;AAAC6G,EAAAA,QAAQ,EAAC,CAAC,CAAX;AAAaN,EAAAA,IAAI,EAAC;AAACpC,IAAAA,KAAK,EAAC;AAACwU,MAAAA,OAAO,EAAC,CAAC,CAAV;AAAYD,MAAAA,cAAc,EAAC,OAAK;AAACC,QAAAA,OAAO,EAAC,CAAC;AAAV,OAAL;AAA3B;AAAP;AAAlB,CAAD,CAAF,CAAD,EAAgFjO,CAAC,CAAC/D,SAAlF,EAA4F,aAA5F,EAA0G,KAAK,CAA/G,CAAx3C,EAA0+CnI,uDAAC,CAAC,CAACc,mFAAC,CAAC,aAAD,EAAe,CAAC,WAAD,EAAa,UAAb,CAAf,CAAF,CAAD,EAA6CoL,CAAC,CAAC/D,SAA/C,EAAyD,iBAAzD,EAA2E,IAA3E,CAA3+C,EAA4jDnI,uDAAC,CAAC,CAAC0B,mFAAC,CAAC,aAAD,EAAe;AAAC2lE,EAAAA,SAAS,EAAC;AAAC9jE,IAAAA,IAAI,EAAC6E;AAAN,GAAX;AAAyBm/D,EAAAA,QAAQ,EAAC;AAAChkE,IAAAA,IAAI,EAAC6E;AAAN;AAAlC,CAAf,CAAF,CAAD,EAAqE8D,CAAC,CAAC/D,SAAvE,EAAiF,kBAAjF,EAAoG,IAApG,CAA7jD,EAAuqDnI,uDAAC,CAAC,CAACwB,sFAAC,CAAC;AAAC+B,EAAAA,IAAI,EAAC,CAAC8C,qEAAD,CAAN;AAAU0B,EAAAA,IAAI,EAAC;AAAC9D,IAAAA,IAAI,EAAC;AAACoG,MAAAA,MAAM,EAAC,CAAC,mBAAD,EAAqB,kBAArB,CAAR;AAAiDD,MAAAA,MAAM,EAAC,CAACpK,CAAD,EAAGE,CAAH,EAAKE,CAAL,KAAS,CAACF,CAAC,CAACunE,iBAAF,IAAqBpgD,CAAC,CAACnnB,CAAD,CAAvB,EAA4BqF,GAA5B,CAAiCvF,CAAC,IAAEqG,8EAAA,CAAWrG,CAAX,EAAaI,CAAb,CAApC;AAAjE,KAAN;AAA8HuF,IAAAA,KAAK,EAAC;AAACuU,MAAAA,cAAc,GAAE;AAAC,eAAO,KAAKusD,WAAL,GAAiB;AAACtsD,UAAAA,OAAO,EAAC,CAAC;AAAV,SAAjB,GAA8B;AAACA,UAAAA,OAAO,EAAC,CAAC;AAAV,SAArC;AAAkD;;AAApE;AAApI;AAAf,CAAD,CAAF,CAAD,EAAiOjO,CAAC,CAAC/D,SAAnO,EAA6O,mBAA7O,EAAiQ,IAAjQ,CAAxqD,EAA+6DnI,uDAAC,CAAC,CAACwB,sFAAC,CAAC;AAAC+B,EAAAA,IAAI,EAAC,CAACjB,oEAAD,CAAN;AAAUyF,EAAAA,IAAI,EAAC;AAAC9D,IAAAA,IAAI,EAAC,CAAC,CAAP;AAAS0B,IAAAA,KAAK,EAAC;AAACuU,MAAAA,cAAc,GAAE;AAAC,eAAO,KAAKusD,WAAL,GAAiB;AAACtsD,UAAAA,OAAO,EAAC,CAAC;AAAV,SAAjB,GAA8B;AAACA,UAAAA,OAAO,EAAC,CAAC;AAAV,SAArC;AAAkD;;AAApE;AAAf;AAAf,CAAD,CAAF,CAAD,EAA4GjO,CAAC,CAAC/D,SAA9G,EAAwH,kBAAxH,EAA2I,IAA3I,CAAh7D,EAAikE+D,CAAC,GAACb,CAAC,GAACrL,uDAAC,CAAC,CAAC4B,uFAAC,CAACoF,CAAD,CAAF,CAAD,EAAQkF,CAAR,CAAtkE;AAAilE,MAAMf,CAAC,GAACe,CAAR;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACJnud;AACA;AACA;AACA;AACA;AAA8C;AAA6E;AAA0B;AAA6B;AAAgC;AAAyE;AAA6E;AAAyE;AAA+F;AAAuF;AAAmD;AAAqD;AAAsD;AAAkD;AAAoD;;AAA2D,MAAMhL,CAAC,GAAC;AAAC4K,EAAAA,IAAI,EAAC9K,2EAAN;AAAQ4K,EAAAA,GAAG,EAAC,MAAZ;AAAmBG,EAAAA,OAAO,EAAC;AAAC/C,IAAAA,OAAO,EAAClI,4EAAT;AAAWsU,IAAAA,KAAK,EAAC5T,0EAAjB;AAAmBqT,IAAAA,QAAQ,EAACxC,6EAA5B;AAA8BmjB,IAAAA,IAAI,EAAC70B,yEAACA;AAApC;AAA3B,CAAR;AAAA,MAA0E4B,CAAC,GAAC1B,CAAC,IAAE;AAAC,MAAIW,CAAC,GAAC,cAAcX,CAAd,CAAe;AAAC4B,IAAAA,WAAW,GAAE;AAAC,YAAM,GAAGqK,SAAT,GAAoB,KAAKg8D,UAAL,GAAgB,IAAIjnE,kFAAJ,EAApC;AAA0C;;AAAmB,QAAfm8C,eAAe,CAAC/9C,CAAD,EAAG;AAAC,WAAK6oE,UAAL,CAAgB9qB,eAAhB,GAAgC/9C,CAAhC,EAAkC,KAAKsE,IAAL,CAAU,iBAAV,EAA4B,KAAKukE,UAAL,CAAgB9qB,eAA5C,CAAlC;AAA+F;;AAAA+qB,IAAAA,mBAAmB,CAAC9oE,CAAD,EAAGK,CAAH,EAAKF,CAAL,EAAO;AAAC,aAAO,KAAK0oE,UAAL,CAAgBE,aAAhB,CAA8B/oE,CAA9B,EAAgCK,CAAhC,EAAkCF,CAAlC,CAAP;AAA4C;;AAAAmjE,IAAAA,oBAAoB,CAACtjE,CAAD,EAAGK,CAAH,EAAKF,CAAL,EAAOM,CAAP,EAAS;AAACJ,MAAAA,CAAC,CAACF,CAAD,CAAD,GAAK,KAAK0oE,UAAL,CAAgBG,cAAhB,CAA+BhpE,CAA/B,EAAiCS,CAAjC,CAAL;AAAyC;;AAAoC,QAAhCohE,gCAAgC,GAAE;AAAC,UAAG,CAAC,KAAK9jB,eAAT,EAAyB,OAAM,CAAC,CAAP;;AAAS,WAAI,MAAM/9C,CAAV,IAAe,KAAK+9C,eAApB,EAAoC,IAAG/9C,CAAC,CAAC4hE,cAAL,EAAoB,OAAM,CAAC,CAAP;;AAAS,aAAM,CAAC,CAAP;AAAS;;AAAAqH,IAAAA,kBAAkB,CAACjpE,CAAD,EAAGK,CAAH,EAAK;AAAC,aAAOL,CAAC,GAAC,KAAKkpE,yBAAL,CAA+BlpE,CAA/B,EAAiCK,CAAjC,EAAoCuN,MAApC,GAA2C,CAA5C,GAA8C,KAAKs7D,yBAAL,CAA+B,MAA/B,EAAsC7oE,CAAtC,EAAyCuN,MAAzC,GAAgD,CAAhD,IAAmD,KAAKs7D,yBAAL,CAA+B,OAA/B,EAAuC7oE,CAAvC,EAA0CuN,MAA1C,GAAiD,CAApG,IAAuG,KAAKs7D,yBAAL,CAA+B,SAA/B,EAAyC7oE,CAAzC,EAA4CuN,MAA5C,GAAmD,CAA1J,IAA6J,KAAKs7D,yBAAL,CAA+B,UAA/B,EAA0C7oE,CAA1C,EAA6CuN,MAA7C,GAAoD,CAAvQ;AAAyQ;;AAAAs7D,IAAAA,yBAAyB,CAAClpE,CAAD,EAAGK,CAAH,EAAK;AAAC,YAAMF,CAAC,GAAC,KAAK49C,eAAb;AAA6B,aAAO59C,CAAC,GAACA,CAAC,CAACuG,MAAF,CAAUvG,CAAC,IAAEA,CAAC,CAACmD,IAAF,KAAStD,CAAT,KAAa,YAAU,OAAOK,CAAjB,GAAmBF,CAAC,CAAC6H,MAAF,KAAW3H,CAA9B,GAAgC,CAAC,CAAD,KAAKA,CAAL,IAAQ,CAACF,CAAC,CAAC6H,MAAxD,CAAb,CAAD,GAAgF,EAAxF;AAA2F;;AAAM+5D,IAAAA,uBAAuB,CAAC/hE,CAAD,EAAGK,CAAH,EAAK;AAAA;;AAAA;AAAC,YAAIF,CAAC,GAAC,EAAN;AAAS,aAAI,CAAC49C,eAAL,KAAuB59C,CAAC,GAACA,CAAC,CAAC+W,MAAF,CAAS,KAAI,CAAC6mC,eAAd,CAAzB;;AAAyD,aAAI,MAAMt9C,CAAV,IAAeN,CAAf,EAAiBM,CAAC,KAAGA,CAAC,CAAC0P,KAAF,IAASlQ,2EAAC,CAACD,CAAD,EAAGK,CAAH,EAAKI,CAAC,CAAC0P,KAAP,CAAV,EAAwB1P,CAAC,CAACy/D,kBAAF,IAAsBjgE,2EAAC,CAACD,CAAD,EAAGK,CAAH,EAAKI,CAAC,CAACy/D,kBAAP,CAA/C,EAA0Ez/D,CAAC,CAACo1B,eAAF,KAAoB10B,CAAC,CAACV,CAAC,CAACo1B,eAAH,EAAmB71B,CAAnB,EAAqBK,CAArB,CAAD,WAAgCE,sFAAC,CAACP,CAAD,EAAGK,CAAH,EAAKI,CAAC,CAACo1B,eAAP,CAAjC,CAApB,CAA7E,CAAD;AAApF;AAAiP;;AAA3pC,GAArB;AAAkrC,SAAO71B,uDAAC,CAAC,CAACK,sFAAC,CAAC;AAAC4K,IAAAA,KAAK,EAAC,CAAChK,CAAD,CAAP;AAAWwM,IAAAA,KAAK,EAAC,IAAjB;AAAsB3F,IAAAA,IAAI,EAAC;AAACpC,MAAAA,KAAK,EAAC,CAAC;AAAR;AAA3B,GAAD,CAAF,CAAD,EAA6CnE,CAAC,CAAC2G,SAA/C,EAAyD,iBAAzD,EAA2E,IAA3E,CAAD,EAAkFlI,uDAAC,CAAC,CAACG,kFAAC,CAAC,iBAAD,EAAmB,CAAC,iBAAD,EAAmB,cAAnB,EAAkC,oBAAlC,CAAnB,CAAF,CAAD,EAAgFoB,CAAC,CAAC2G,SAAlF,EAA4F,qBAA5F,EAAkH,IAAlH,CAAnF,EAA2MlI,uDAAC,CAAC,CAACD,kFAAC,CAAC,iBAAD,CAAF,CAAD,EAAwBwB,CAAC,CAAC2G,SAA1B,EAAoC,sBAApC,EAA2D,IAA3D,CAA5M,EAA6Q3G,CAAC,GAACvB,uDAAC,CAAC,CAACS,sFAAC,CAAC,4CAAD,CAAF,CAAD,EAAmDc,CAAnD,CAAhR,EAAsUA,CAA7U;AAA+U,CAAjlD;;AAAklD,SAASJ,CAAT,CAAWnB,CAAX,EAAaK,CAAb,EAAeF,CAAf,EAAiB;AAAC,QAAMM,CAAC,GAACG,oGAAC,CAACZ,CAAD,CAAT;AAAa,SAAO,QAAMS,CAAN,KAAUR,2EAAC,CAACI,CAAD,EAAGF,CAAH,EAAKM,CAAL,CAAD,EAAS,CAAC,CAApB,CAAP;AAA8B;;;;;;;;;;;;;;;;;;;;;;;;;;;ACJrjF;AACA;AACA;AACA;AACygB,MAAM,sBAAsB,6DAAC,CAAC,eAAe,kHAAkH,aAAa,uCAAuC,iEAAW,2DAA2D,iFAAC,IAAI,mBAAmB,SAAS,WAAW,GAAG,qBAAqB,EAAE,QAAQ,cAAc,gJAAgJ,IAAI,uDAAC,EAAE,sFAAC,EAAE,KAAK,iDAAC,OAAO,wBAAwB,+BAA+B,uDAAC,EAAE,sFAAC,EAAE,kBAAkB,UAAU,+BAA+B,uDAAC,EAAE,8EAAC,yCAAyC,uDAAC,EAAE,sFAAC,EAAE,kBAAkB,UAAU,+BAA+B,uDAAC,EAAE,sFAAC,EAAE,kBAAkB,UAAU,yCAAyC,uDAAC,EAAE,sFAAC,EAAE,kBAAkB,UAAU,kDAAkD,uDAAC,EAAE,sFAAC,kDAAkD,UAA+B;;;;;;;;;;;;;;;;;;;;;;;;;;;ACJ//C;AACA;AACA;AACA;AACmqB,MAAM,YAAY,qDAAC,EAAE,oPAAoP,QAAQ,qDAAC,EAAE,2MAA2M,QAAQ,qDAAC,EAAE,+LAA+L,oVAAoV,sBAAsB,6DAAC,CAAC,eAAe,0KAA0K,2BAA2B,sDAAsD,kGAAkG,4BAA4B,oCAAoC,iBAAiB,SAAS,sEAAC,WAAW,aAAa,sEAAsE,cAAc,sBAAsB,aAAa,sEAAsE,cAAc,sBAAsB,aAAa,sEAAsE,cAAc,sBAAsB,gBAAgB,qDAAqD,iBAAiB,yBAAyB,YAAY,qEAAqE,aAAa,qBAAqB,iBAAiB,0EAA0E,kBAAkB,0BAA0B,iBAAiB,iHAAiH,kBAAkB,0BAA0B,gCAAgC,kBAAkB,yMAAyM,iCAAiC,yCAAyC,WAAW,yBAAyB,YAAY,QAAQ,2GAA2G,4BAA4B,4HAA4H,6BAA6B,qCAAqC,sBAAsB,4EAA4E,uBAAuB,+BAA+B,QAAQ,cAAc,yDAAyD,oDAAC,2BAA2B,oDAAC,oDAAoD,oDAAC,qBAAqB,oDAAC,ieAAie,IAAI,uDAAC,EAAE,sFAAC,EAAE,kCAAkC,qDAAqD,gBAAgB,gEAAgE,4CAA4C,uDAAC,EAAE,sFAAC,EAAE,MAAM,+DAAC,OAAO,UAAU,mCAAmC,uDAAC,EAAE,kFAAC,iDAAiD,uDAAC,EAAE,sFAAC,EAAE,MAAM,kBAAkB,aAAa,oBAAoB,mCAAmC,uDAAC,EAAE,sFAAC,EAAE,+BAA+B,UAAU,8BAA8B,uDAAC,EAAE,sFAAC,EAAE,KAAK,8EAAC,kBAAkB,UAAU,8BAA8B,uDAAC,EAAE,sFAAC,EAAE,KAAK,8EAAC,kBAAkB,UAAU,8BAA8B,uDAAC,EAAE,sFAAC,EAAE,wBAAwB,kBAAkB,aAAa,YAAY,iCAAiC,uDAAC,EAAE,sFAAC,EAAE,4CAA4C,UAAU,6BAA6B,uDAAC,EAAE,sFAAC,EAAE,mBAAmB,6BAA6B,aAAa,YAAY,yCAAyC,uDAAC,EAAE,sFAAC,EAAE,6BAA6B,KAAK,wEAAC,WAAW,kCAAkC,uDAAC,EAAE,sFAAC,EAAE,aAAa,iCAAiC,aAAa,oBAAoB,oCAAoC,uDAAC,EAAE,sFAAC,EAAE,kBAAkB,kBAAkB,aAAa,oBAAoB,wCAAwC,uDAAC,EAAE,sFAAC,EAAE,kBAAkB,kBAAkB,aAAa,oBAAoB,wCAAwC,uDAAC,EAAE,sFAAC,EAAE,6BAA6B,kBAAkB,aAAa,oBAAoB,kCAAkC,uDAAC,EAAE,sFAAC,EAAE,qCAAqC,8BAA8B,iDAAiD,uDAAC,EAAE,sFAAC,EAAE,kCAAkC,qDAAqD,aAAa,yBAAyB,mCAAmC,mBAAmB,MAAM,4BAA4B,uDAAC,EAAE,sFAAC,EAAE,MAAM,uEAAC,QAAQ,UAAU,yCAAyC,uDAAC,EAAE,sFAAC,EAAE,wBAAwB,kBAAkB,aAAa,YAAY,6CAA6C,uDAAC,EAAE,sFAAC,EAAE,wBAAwB,kBAAkB,aAAa,YAAY,2CAA2C,uDAAC,EAAE,sFAAC,6CAA6C,UAA+B;;;;;;;;;;;;;;;;;;;;;;;ACJrsN;AACA;AACA;AACA;AACuV,MAAM,sBAAsB,6DAAC,CAAC,eAAe,yCAAyC,QAAQ,cAAc,8CAA8C,IAAI,uDAAC,EAAE,sFAAC,EAAE,kBAAkB,UAAU,kCAAkC,uDAAC,EAAE,sFAAC,EAAE,kBAAkB,UAAU,sCAAsC,uDAAC,EAAE,sFAAC,2DAAoG;;;;;;;;;;;;;;;;;;;;;;;;ACJzuB;AACA;AACA;AACA;AACib,MAAM,sBAAsB,6DAAC,CAAC,eAAe,+FAA+F,QAAQ,cAAc,6FAA6F,oDAAC,uBAAuB,IAAI,uDAAC,EAAE,sFAAC,EAAE,kBAAkB,UAAU,+BAA+B,uDAAC,EAAE,sFAAC,EAAE,kBAAkB,UAAU,4CAA4C,uDAAC,EAAE,sFAAC,EAAE,kBAAkB,UAAU,+BAA+B,uDAAC,EAAE,sFAAC,EAAE,MAAM,wFAAC,QAAQ,UAAU,6CAA6C,uDAAC,EAAE,sFAAC,sDAA0F;;;;;;;;;;;;;;;;;;;;;;;ACJtkC;AACA;AACA;AACA;AACuV,MAAM,sBAAsB,6DAAC,CAAC,eAAe,wDAAwD,QAAQ,cAAc,iDAAiD,IAAI,uDAAC,EAAE,sFAAC,EAAE,kBAAkB,UAAU,+BAA+B,uDAAC,EAAE,sFAAC,EAAE,kBAAkB,UAAU,8BAA8B,uDAAC,EAAE,sFAAC,EAAE,kBAAkB,UAAU,mCAAmC,uDAAC,EAAE,sFAAC,qDAAqD,UAA+B;;;;;;;;;;;;;;;;;;;;;;;;ACJryB;AACA;AACA;AACA;AAC0c,MAAM,YAAY,qDAAC,EAAE,gEAAgE,QAAQ,qDAAC,EAAE,qFAAqF,KAAK,qDAAqD,4BAA4B,WAAW,4VAA4V,sBAAsB,6DAAC,CAAC,eAAe,gJAAgJ,eAAe,oDAAoD,yBAAyB,yEAAyE,0BAA0B,kCAAkC,yBAAyB,yEAAyE,0BAA0B,kCAAkC,+BAA+B,+EAA+E,gCAAgC,wCAAwC,iBAAiB,oDAAoD,gBAAgB,gEAAgE,iBAAiB,yBAAyB,YAAY,kDAAkD,aAAa,qBAAqB,YAAY,qFAAqF,aAAa,qBAAqB,QAAQ,cAAc,mQAAmQ,oDAAC,4GAA4G,IAAI,uDAAC,EAAE,sFAAC,EAAE,cAAc,UAAU,iCAAiC,uDAAC,EAAE,8EAAC,6CAA6C,uDAAC,EAAE,sFAAC,EAAE,kBAAkB,UAAU,+BAA+B,uDAAC,EAAE,sFAAC,EAAE,kBAAkB,UAAU,wCAAwC,uDAAC,EAAE,sFAAC,EAAE,kBAAkB,UAAU,wCAAwC,uDAAC,EAAE,sFAAC,EAAE,kBAAkB,SAAS,aAAa,UAAU,WAAW,0CAA0C,uDAAC,EAAE,sFAAC,EAAE,6BAA6B,SAAS,aAAa,UAAU,WAAW,0CAA0C,uDAAC,EAAE,sFAAC,EAAE,wBAAwB,SAAS,aAAa,UAAU,WAAW,gDAAgD,uDAAC,EAAE,sFAAC,EAAE,cAAc,UAAU,mCAAmC,uDAAC,EAAE,8EAAC,iDAAiD,uDAAC,EAAE,sFAAC,EAAE,MAAM,iEAAC,QAAQ,SAAS,aAAa,UAAU,WAAW,iCAAiC,uDAAC,EAAE,sFAAC,EAAE,kCAAkC,6CAA6C,6BAA6B,uDAAC,EAAE,sFAAC,EAAE,wBAAwB,gBAAgB,aAAa,cAAc,eAAe,8BAA8B,WAAW,6BAA6B,uDAAC,EAAE,sFAAC,EAAE,uBAAuB,6CAA6C,8BAA8B,uDAAC,EAAE,sFAAC,EAAE,aAAa,iBAAiB,mCAAmC,uDAAC,EAAE,sFAAC,2DAA2D,UAA+B;;;;;;;;;;;;;;;;;;;;;;;;ACJ3+H;AACA;AACA;AACA;AAC8Z,MAAM,sBAAsB,6DAAC,CAAC,eAAe,mGAAmG,QAAQ,cAAc,8HAA8H,EAAE,cAAc,oCAAoC,SAAS,cAAc,GAAG,cAAc,GAAG,EAAE,IAAI,uDAAC,EAAE,sFAAC,EAAE,kBAAkB,UAAU,qCAAqC,uDAAC,EAAE,sFAAC,EAAE,kBAAkB,UAAU,+BAA+B,uDAAC,EAAE,sFAAC,EAAE,kBAAkB,MAAM,uBAAuB,QAAQ,yBAAyB,kCAAkC,uDAAC,EAAE,sFAAC,EAAE,kBAAkB,MAAM,uBAAuB,QAAQ,yBAAyB,kCAAkC,uDAAC,EAAE,sFAAC,CAAC,gFAAC,oCAAoC,uDAAC,EAAE,sFAAC,8CAA8C,UAA+B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACJ1xC;AACA;AACA;AACA;AACA;AAA8B;AAAgC;AAAmC;AAA0B;AAA2C;AAAoC;AAAkD;AAA0D;AAAgD;AAAgF;AAAmD;AAA6F;AAA0C;AAAqE;AAA6E,MAAMuB,CAAC,GAAC,yCAAR;AAAA,MAAkDlC,CAAC,GAAC;AAACwD,EAAAA,IAAI,EAAC,sBAAN;AAA6BomE,EAAAA,UAAU,EAAC;AAACpmE,IAAAA,IAAI,EAAC,eAAN;AAAsBgpC,IAAAA,YAAY,EAAC,CAAC;AAAChpC,MAAAA,IAAI,EAAC,gBAAN;AAAuB0V,MAAAA,KAAK,EAAC,EAA7B;AAAgC7D,MAAAA,KAAK,EAAC,CAAC,CAAD,EAAG,CAAH,EAAK,CAAL,EAAO,GAAP;AAAtC,KAAD;AAAnC;AAAxC,CAApD;;AAAsL,MAAMvT,CAAN,CAAO;AAACY,EAAAA,WAAW,CAACzC,CAAD,EAAGE,CAAH,EAAKQ,CAAL,EAAO;AAAC,SAAKqiE,MAAL,GAAY,IAAZ,EAAiB,KAAKC,QAAL,GAAc,IAA/B,EAAoC,KAAKn9D,GAAL,GAAS,IAA7C,EAAkD,KAAK+jE,gBAAL,GAAsB,IAAIj3D,GAAJ,EAAxE,EAAgF,KAAKk3D,YAAL,GAAkB,IAAIrpE,uDAAJ,CAAM,GAAN,CAAlG,EAA6G,KAAKspE,kBAAL,GAAwB,IAArI,EAA0I,KAAKC,WAAL,GAAiB,IAA3J,EAAgK,KAAKC,kBAAL,GAAwB,IAAxL,EAA6L,KAAKnkE,GAAL,GAAS7F,CAAtM,EAAwM,KAAK+iE,MAAL,GAAY7iE,CAApN,EAAsN,KAAK8iE,QAAL,GAActiE,CAApO;AAAsO;;AAAA8iE,EAAAA,eAAe,GAAE;AAAC,WAAO,KAAKyG,aAAZ;AAA0B;;AAAM1I,EAAAA,cAAc,CAACrhE,CAAD,EAAGQ,CAAH,EAAK;AAAA;;AAAA;AAAC,UAAIN,CAAJ;AAAM,WAAI,CAAC4pE,kBAAL,KAA0B,KAAI,CAACA,kBAAL,GAAwB,KAAI,CAAClO,cAAL,CAAoBp7D,CAApB,CAAlD;;AAA0E,UAAG;AAACN,QAAAA,CAAC,SAAO,KAAI,CAAC4pE,kBAAb;AAAgC,OAApC,CAAoC,OAAM5oE,CAAN,EAAQ;AAAC,YAAGT,mEAAC,CAACS,CAAD,CAAJ,EAAQ,OAAO,KAAI,CAAC4oE,kBAAL,GAAwB,IAAxB,EAA6B,IAApC;AAAyC;;AAAA,YAAM/pE,CAAC,GAAC,KAAI,CAAC6pE,kBAAL,EAAyBI,YAAzB,CAAsC,CAAtC,EAAwC,CAAxC,CAAR;AAAA,YAAmD1pE,CAAC,GAAC,EAArD;AAAwD,UAAG,KAAI,CAACwiE,QAAR,EAAiB,KAAI,MAAMhjE,CAAV,IAAe,KAAI,CAACiqE,aAApB,EAAkC;AAAC,cAAMvpE,CAAC,GAACI,oEAAC,CAAC,KAAI,CAACkiE,QAAL,CAAchjE,CAAd,CAAD,EAAkB,KAAI,CAAC+pE,WAAvB,CAAT;;AAA6C,YAAGrpE,CAAH,EAAK;AAAC,gBAAMN,CAAC,GAACF,CAAC,CAACqxC,UAAF,CAAa7wC,CAAb,CAAR;AAAwBF,UAAAA,CAAC,CAACR,CAAD,CAAD,GAAKC,CAAC,GAACG,CAAD,GAAG,QAAMA,CAAN,GAAQ,KAAGF,CAAC,CAACqxC,UAAF,CAAa7wC,CAAb,CAAX,GAA2B,EAApC;AAAuC,SAArE,MAA0EF,CAAC,CAACR,CAAD,CAAD,GAAK,EAAL;AAAQ;AAAA,UAAIa,CAAC,GAAC,IAAN;;AAAW,UAAG;AAACA,QAAAA,CAAC,GAACT,CAAC,GAAGI,CAAH,EAAKE,CAAL,CAAH;AAAW,OAAf,CAAe,OAAMgB,CAAN,EAAQ;AAAC,eAAO,IAAP;AAAY;;AAAA,UAAG,CAACb,CAAD,IAAI,YAAU,OAAOA,CAArB,IAAwB,cAAYA,CAAvC,EAAyC,OAAO,IAAP;AAAY,YAAMe,CAAC,GAACf,CAAC,CAAC2P,KAAF,CAAQ,GAAR,CAAR;AAAA,YAAqBtP,CAAC,GAAC,EAAvB;AAAA,YAA0BM,CAAC,GAAC,EAA5B;;AAA+B,WAAI,IAAIb,CAAC,GAAC,CAAV,EAAYA,CAAC,GAACiB,CAAC,CAACiM,MAAhB,EAAuBlN,CAAC,EAAxB,EAA2B;AAAC,cAAMD,CAAC,GAACkB,CAAC,CAACjB,CAAD,CAAT;AAAa,YAAGD,CAAH,EAAK,IAAGA,CAAC,CAACoxB,QAAF,CAAW,KAAX,CAAH,EAAqB;AAAC,gBAAM1xB,CAAC,GAACM,CAAC,CAACoJ,KAAF,CAAQ,CAAR,EAAW0G,KAAX,CAAiB,GAAjB,CAAR;;AAA8B,cAAG,MAAIpQ,CAAC,CAACyN,MAAT,EAAgB;AAAC,kBAAMnN,CAAC,GAACN,CAAC,CAAC,CAAD,CAAT;AAAA,kBAAaH,CAAC,GAACG,CAAC,CAAC,CAAD,CAAhB;AAAoB,gBAAII,CAAC,GAACJ,CAAC,CAAC,CAAD,CAAP;AAAW,kBAAMO,CAAC,GAAC,cAAR;;AAAuB,gBAAGD,CAAC,KAAGC,CAAJ,IAAO,iBAAeV,CAAzB,EAA2B;AAAC,kBAAG,QAAM,KAAI,CAAC+iE,QAAd,EAAuB;AAAC,oBAAIhjE,CAAC,GAAC,KAAI,CAACgjE,QAAL,CAAcriE,CAAd,CAAN;AAAuB,wBAAMX,CAAN,KAAUA,CAAC,GAACW,CAAF,EAAI,KAAI,CAACqiE,QAAL,CAAchjE,CAAd,IAAiBA,CAA/B,GAAkCE,CAAC,CAACqxC,UAAF,CAAavxC,CAAb,IAAgBQ,CAAlD;AAAoD;;AAAA;AAAS;;AAAA,gBAAG,mBAAiBP,CAApB,EAAsBO,CAAC,GAACA,CAAC,CAACgQ,KAAF,CAAQ,GAAR,EAAajL,GAAb,CAAkBvF,CAAC,IAAE+J,MAAM,CAAC/J,CAAD,CAA3B,CAAF,CAAtB,KAA8D,IAAG,YAAUC,CAAb,EAAe;AAAC,oBAAMC,CAAC,GAAC,IAAIF,iDAAJ,CAAMQ,CAAN,EAAS2pE,MAAT,EAAR;AAA0B3pE,cAAAA,CAAC,GAAC,CAACN,CAAC,CAAC,CAAD,CAAF,EAAMA,CAAC,CAAC,CAAD,CAAP,EAAWA,CAAC,CAAC,CAAD,CAAZ,EAAgB,MAAIA,CAAC,CAAC,CAAD,CAArB,CAAF;AAA4B,aAAtE,MAA2EM,CAAC,GAACuJ,MAAM,CAACvJ,CAAD,CAAR;AAAYgB,YAAAA,CAAC,CAACsD,IAAF,CAAO;AAACslE,cAAAA,aAAa,EAAC1pE,CAAf;AAAiB2pE,cAAAA,YAAY,EAACpqE,CAA9B;AAAgCyN,cAAAA,KAAK,EAAClN,CAAtC;AAAwCi/C,cAAAA,YAAY,EAAC;AAArD,aAAP;AAAmE;AAAC,SAA5d,MAAie,IAAG/+C,CAAC,CAACoxB,QAAF,CAAW,GAAX,CAAH,EAAmB;AAAC,eAAI,MAAM9xB,CAAV,IAAeU,CAAC,CAAC8P,KAAF,CAAQ,GAAR,CAAf,EAA4B,IAAG,KAAI,CAAC85D,UAAL,CAAgBj7D,GAAhB,CAAoBrP,CAApB,CAAH,EAA0B;AAACkB,YAAAA,CAAC,CAAC4D,IAAF,CAAO9E,CAAP;AAAU;AAAM;AAAC,SAA5F,MAAiG,IAAG,KAAI,CAACsqE,UAAL,CAAgBj7D,GAAhB,CAAoB3O,CAApB,CAAH,EAA0BQ,CAAC,CAAC4D,IAAF,CAAOpE,CAAP,EAA1B,KAAyC,IAAG,MAAIC,CAAP,EAAS;AAACO,UAAAA,CAAC,CAAC2M,MAAF,GAAS,CAAT;AAAW,cAAI7N,CAAC,GAAC,WAAN;AAAkB,kBAAME,CAAC,CAACi3B,QAAR,KAAmB72B,0EAAC,CAACJ,CAAC,CAACi3B,QAAH,CAAD,GAAcn3B,CAAC,GAAC,WAAhB,GAA4BgB,2EAAC,CAACd,CAAC,CAACi3B,QAAH,CAAD,KAAgBn3B,CAAC,GAAC,WAAlB,CAA/C,GAA+EkB,CAAC,CAAC4D,IAAF,CAAO9E,CAAP,CAA/E;AAAyF;AAAM;AAAC;;AAAA,YAAMsB,CAAC,GAAC,QAAMpB,CAAC,CAACi3B,QAAR,IAAkB,CAACj3B,CAAC,CAACi3B,QAAF,CAAWgB,IAAZ,IAAkB,YAAUj4B,CAAC,CAACi3B,QAAF,CAAW5zB,IAAjE;AAAsE,aAAO,KAAI,CAACgnE,oBAAL,CAA0BrqE,CAA1B,EAA4BgB,CAA5B,EAA8BM,CAA9B,EAAgCF,CAAhC,EAAkCZ,CAAlC,CAAP;AAAn4C;AAA+6C;;AAAMo7D,EAAAA,cAAc,CAAC97D,CAAD,EAAG;AAAA;;AAAA;AAAC,UAAG,MAAI,CAACgqE,kBAAR,EAA2B,OAAO,MAAI,CAACA,kBAAZ;AAA+B,UAAG,CAAC,MAAI,CAACnkE,GAAT,EAAa,OAAO,KAAK5F,iEAAA,CAAYgC,CAAZ,EAAewB,KAAf,CAAqB,eAArB,CAAZ;AAAkD,YAAMrD,CAAC,GAACF,uDAAC,CAAC,MAAI,CAAC2F,GAAL,GAAS,wCAAV,EAAmD;AAACqY,QAAAA,YAAY,EAAC,MAAd;AAAqB/W,QAAAA,KAAK,EAAC;AAACvF,UAAAA,CAAC,EAAC;AAAH,SAA3B;AAAsC8F,QAAAA,MAAM,EAAC,QAAM1H,CAAN,GAAQA,CAAC,CAAC0H,MAAV,GAAiB;AAA9D,OAAnD,CAAT;AAAA,YAAiI,CAAC;AAACxD,QAAAA,IAAI,EAAC1D;AAAN,OAAD,UAAiB6E,OAAO,CAACc,GAAR,CAAY,CAAC/F,CAAD,EAAGc,uEAAC,EAAJ,CAAZ,CAAlJ;AAAuK,UAAG,CAACV,CAAJ,EAAM,MAAM,MAAI,CAACwpE,kBAAL,GAAwB,IAAxB,EAA6B,IAAItpE,sDAAJ,CAAM,mCAAN,EAA0C,sBAA1C,CAAnC;AAAqG,YAAK;AAACqhE,QAAAA,aAAa,EAACphE,CAAf;AAAiB6pE,QAAAA,kBAAkB,EAAClqE,CAApC;AAAsCkM,QAAAA,UAAU,EAACxL,CAAjD;AAAmDypE,QAAAA,UAAU,EAACnpE;AAA9D,UAAiEd,CAAtE;AAAA,YAAwEY,CAAC,GAACJ,CAA1E;AAA4E,UAAIF,CAAC,GAAC,CAAC,CAAP;AAASR,MAAAA,CAAC,KAAG,MAAI,CAACwpE,kBAAL,GAAwBjpE,2DAAA,CAAQP,CAAR,CAAxB,EAAmCQ,CAAC,GAAC,MAAI,CAACgpE,kBAAL,CAAwBI,YAAxB,CAAqC,CAArC,EAAuC,CAAvC,CAAxC,CAAD,EAAoF,MAAI,CAACQ,qBAAL,GAA2B,MAAI,CAAC7kE,GAAL,GAAS,GAAT,GAAarF,CAAC,CAACmqE,iBAA9H,EAAgJ,MAAI,CAACL,UAAL,GAAgB,IAAI19D,GAAJ,CAAQtL,CAAR,CAAhK,EAA2K,MAAI,CAAC2oE,aAAL,GAAmBtpE,CAAC,CAAC2rC,MAAhM;AAAuM,YAAM5qC,CAAC,GAAC,EAAR;;AAAW,UAAG,MAAI,CAACqhE,MAAR,EAAe;AAAC,cAAM/iE,CAAC,GAAC,MAAI,CAAC+iE,MAAb;;AAAoB,aAAI,MAAM7iE,CAAV,IAAeF,CAAf,EAAiB0B,CAAC,CAACxB,CAAD,CAAD,GAAKF,CAAC,CAACE,CAAD,CAAN;AAAU;;AAAA,UAAGS,CAAC,CAACiqE,aAAL,EAAmB,KAAI,MAAM1qE,CAAV,IAAeS,CAAC,CAACiqE,aAAjB,EAA+BlpE,CAAC,CAACgwB,cAAF,CAAiBxxB,CAAC,CAACka,IAAnB,MAA2B1Y,CAAC,CAACxB,CAAC,CAACka,IAAH,CAAD,GAAUla,CAAC,CAACwN,KAAvC;AAA8C,YAAM3N,CAAC,GAAC,EAAR;AAAW,UAAGC,CAAC,EAAEuM,MAAH,IAAW,MAAI,CAACy2D,QAAnB,EAA4B,KAAI,MAAM9iE,CAAV,IAAe,MAAI,CAAC8iE,QAApB,EAA6B;AAAC,cAAMtiE,CAAC,GAAC,MAAI,CAACsiE,QAAL,CAAc9iE,CAAd,CAAR;AAAA,cAAyBE,CAAC,GAACJ,CAAC,CAACuM,MAAF,CAAS5F,MAAT,CAAiB3G,CAAC,IAAEA,CAAC,CAACoa,IAAF,CAAOxK,WAAP,OAAuBlP,CAAC,EAAEkP,WAAH,EAA3C,CAA3B;AAAyFxP,QAAAA,CAAC,CAACyN,MAAF,GAAS,CAAT,IAAY9N,CAAC,CAAC+E,IAAF,CAAO,EAAC,GAAG1E,CAAC,CAAC,CAAD,CAAL;AAASmD,UAAAA,IAAI,EAACzC,CAAC,GAACV,CAAC,CAAC,CAAD,CAAD,CAAKmD,IAAN,GAAW;AAA1B,SAAP,CAAZ;AAAqE;AAAAxD,MAAAA,CAAC,CAAC8N,MAAF,GAAS,CAAT,KAAa,MAAI,CAACk8D,WAAL,GAAiB,IAAInoE,uEAAJ,CAAM7B,CAAN,CAA9B;AAAwC,YAAM8B,CAAC,GAACL,uFAAC,CAACJ,CAAD,EAAG,QAAMpB,CAAN,GAAQA,CAAC,CAAC4C,gBAAV,GAA2B,IAA9B,EAAmC7C,CAAnC,EAAqC2B,CAArC,CAAD,CAAyCsE,IAAzC,CAA+ChG,CAAC,IAAE;AAAC,cAAME,CAAC,GAAC;AAACqY,UAAAA,KAAK,EAAC;AAAP,SAAR;AAAkB,eAAM,CAAC7X,CAAD,EAAGN,CAAH,KAAO;AAAC,cAAG,QAAMJ,CAAT,EAAW,OAAO,IAAP;AAAY,gBAAMC,CAAC,GAACD,CAAC,CAAC6qE,gBAAF,CAAmB;AAAC1zC,YAAAA,QAAQ,EAAC,IAAV;AAAeoa,YAAAA,UAAU,EAAC7wC;AAA1B,WAAnB,CAAR;AAAyD,iBAAOR,CAAC,CAACqY,KAAF,GAAQ,QAAMnY,CAAN,GAAQA,CAAC,CAACmY,KAAF,IAAS,KAAK,CAAtB,GAAwB,KAAK,CAArC,EAAuCvY,CAAC,CAAC8qE,QAAF,CAAW;AAACC,YAAAA,QAAQ,EAAC9qE,CAAV;AAAY+qE,YAAAA,KAAK,EAAC9qE;AAAlB,WAAX,EAAgCF,CAAC,CAACirE,QAAlC,CAA9C;AAA0F,SAAxL;AAAyL,OAA9P,EAAiQlnE,KAAjQ,CAAwQ/D,CAAC,KAAGC,iEAAA,CAAYgC,CAAZ,EAAewB,KAAf,CAAqB,wCAArB,EAA8DzD,CAA9D,GAAiE,IAApE,CAAzQ,CAAR;AAA6V,aAAO,MAAI,CAACgqE,kBAAL,GAAwBnoE,CAAxB,EAA0BA,CAAjC;AAA17C;AAA69C;;AAAM0oE,EAAAA,oBAAoB,CAACvqE,CAAD,EAAGE,CAAH,EAAKQ,CAAL,EAAOT,CAAP,EAASO,CAAT,EAAW;AAAA;;AAAA;AAAC,YAAMG,CAAC,GAAC,IAAI4F,KAAJ,CAAUrG,CAAC,CAAC2N,MAAZ,CAAR;;AAA4B,WAAI,IAAIzN,CAAC,GAAC,CAAV,EAAYA,CAAC,GAACF,CAAC,CAAC2N,MAAhB,EAAuBzN,CAAC,EAAxB,EAA2BO,CAAC,CAACP,CAAD,CAAD,GAAK,MAAI,CAAC8qE,cAAL,CAAoBhrE,CAAC,CAACE,CAAD,CAArB,EAAyBI,CAAzB,CAAL;;AAAiC,UAAIK,CAAC,SAAOwE,OAAO,CAACc,GAAR,CAAYxF,CAAZ,CAAZ;AAA2B,YAAML,CAAC,GAAC,MAAI,CAAC0iE,QAAb;;AAAsB,UAAG1iE,CAAH,EAAK;AAACO,QAAAA,CAAC,GAACT,oDAAC,CAACS,CAAD,CAAH;;AAAO,aAAI,MAAMX,CAAV,IAAeW,CAAf,EAAiBO,wGAAA,CAA+BlB,CAA/B,EAAiCF,CAAjC,EAAmCM,CAAnC,EAAqC,MAAI,CAACypE,WAA1C,EAAsDroE,qEAAC,CAACxB,CAAD,CAAvD;AAA4D;;AAAA,aAAO,IAAIoB,8DAAJ,CAAM;AAAC4C,QAAAA,IAAI,EAAC5B,CAAC,CAACzB,CAAD,EAAGH,CAAH,EAAKT,CAAL;AAAP,OAAN,CAAP;AAApO;AAAkQ;;AAAMirE,EAAAA,cAAc,CAAClrE,CAAD,EAAGU,CAAH,EAAK;AAAA;;AAAA;AAAC,YAAMN,CAAC,GAAC,MAAI,CAACypE,YAAL,CAAkB/vD,GAAlB,CAAsB9Z,CAAtB,CAAR;;AAAiC,UAAGI,CAAH,EAAK,OAAOA,CAAP;AAAS,UAAG,MAAI,CAACwpE,gBAAL,CAAsBv6D,GAAtB,CAA0BrP,CAA1B,CAAH,EAAgC,OAAO,MAAI,CAAC4pE,gBAAL,CAAsB9vD,GAAtB,CAA0B9Z,CAA1B,EAA6BgG,IAA7B,CAAmChG,CAAC,IAAEA,CAAC,CAACkE,IAAxC,CAAP;;AAAsD,YAAMjE,CAAC,GAAC,MAAI,CAACyqE,qBAAL,CAA2BriD,UAA3B,CAAsC,gBAAtC,EAAuDroB,CAAvD,CAAR;AAAA,YAAkEQ,CAAC,GAACN,uDAAC,CAACD,CAAD,EAAG;AAACie,QAAAA,YAAY,EAAC,MAAd;AAAqB/W,QAAAA,KAAK,EAAC;AAACvF,UAAAA,CAAC,EAAC;AAAH,SAA3B;AAAsC,WAAGlB;AAAzC,OAAH,CAArE;;AAAqH,YAAI,CAACkpE,gBAAL,CAAsBlkE,GAAtB,CAA0B1F,CAA1B,EAA4BQ,CAA5B,GAA+BA,CAAC,CAAC4qE,OAAF,CAAW,MAAI,MAAI,CAACxB,gBAAL,CAAsBh5C,MAAtB,CAA6B5wB,CAA7B,CAAf,CAA/B;;AAAgF,UAAG;AAAC,cAAME,CAAC,SAAOM,CAAd;AAAgB,eAAO,MAAI,CAACqpE,YAAL,CAAkBwB,GAAlB,CAAsBrrE,CAAtB,EAAwBE,CAAC,CAACgE,IAA1B,GAAgChE,CAAC,CAACgE,IAAzC;AAA8C,OAAlE,CAAkE,OAAMvD,CAAN,EAAQ;AAAC,cAAMA,CAAN;AAAQ;AAA9Z;AAA+Z;;AAAj8H;;AAAk8H,SAAS2B,CAAT,CAAWtC,CAAX,EAAaE,CAAb,EAAeQ,CAAf,EAAiB;AAAC,MAAG,CAACV,CAAD,IAAI,MAAIA,CAAC,CAAC6N,MAAb,EAAoB,OAAO,IAAP;AAAY,QAAMzN,CAAC,GAAC,EAAC,GAAGJ,CAAC,CAAC,CAAD;AAAL,GAAR;;AAAkB,MAAGA,CAAC,CAAC6N,MAAF,GAAS,CAAZ,EAAc;AAACzN,IAAAA,CAAC,CAACkrE,OAAF,GAAU,IAAV,EAAelrE,CAAC,CAACmsC,YAAF,GAAe,EAA9B;;AAAiC,SAAI,MAAMrsC,CAAV,IAAeF,CAAf,EAAiB;AAAC,YAAMA,CAAC,GAACE,CAAR;AAAU,UAAG,QAAMF,CAAC,CAACsrE,OAAX,EAAmB,KAAI,MAAMprE,CAAV,IAAeF,CAAC,CAACusC,YAAjB,EAA8B,QAAMrsC,CAAC,CAACorE,OAAR,GAAgBprE,CAAC,CAACorE,OAAF,GAAUtrE,CAAC,CAACsrE,OAA5B,GAAoCprE,CAAC,CAACorE,OAAF,CAAU1pC,OAAV,CAAkB,GAAG5hC,CAAC,CAACsrE,OAAvB,CAApC;AAAoElrE,MAAAA,CAAC,CAACmsC,YAAF,CAAe3K,OAAf,CAAuB,GAAG5hC,CAAC,CAACusC,YAA5B;AAA0C;AAAC;;AAAA,SAAO7rC,CAAC,KAAGN,CAAC,CAACmrE,OAAF,GAAUxrE,CAAb,CAAD,EAAiB;AAACwD,IAAAA,IAAI,EAAC,oBAAN;AAA2B+oC,IAAAA,MAAM,EAAClsC,CAAlC;AAAoCorE,IAAAA,kBAAkB,EAACtrE;AAAvD,GAAxB;AAAkF;;;;;;;;;;;;;;;;;;;;;;;;ACJnwK;AACA;AACA;AACA;AACuV,MAAM,sBAAsB,6DAAC,CAAC,cAAc,mCAAmC,QAAQ,cAAc,eAAe,IAAI,uDAAC,EAAE,sFAAC,EAAE,kBAAkB,UAAU,kCAAkC,uDAAC,EAAE,sFAAC,uDAAuD,UAA+B;;;;;;;;;;;;;;;;;;;;;;;;ACJ7mB;AACA;AACA;AACA;AAC2Z,MAAM,sBAAsB,6DAAC,CAAC,eAAe,yCAAyC,QAAQ,cAAc,sDAAsD,IAAI,uDAAC,EAAE,sFAAC,EAAE,KAAK,iDAAC,OAAO,MAAM,wEAAC,yBAAyB,+BAA+B,uDAAC,EAAE,sFAAC,EAAE,kBAAkB,UAAU,mCAAmC,uDAAC,EAAE,sFAAC,gDAAgD,UAA+B;;;;;;;;;;;;;;;;;;;;;;;;ACJ3yB;AACA;AACA;AACA;AAC8Y,oBAAoB,gEAAC,CAAC,6DAAC,GAAG,cAAc,4EAA4E,uDAAC,EAAE,sFAAC,EAAE,kBAAkB,UAAU,kCAAkC,uDAAC,EAAE,sFAAC,EAAE,kBAAkB,UAAU,kCAAkC,uDAAC,EAAE,sFAAC,EAAE,kBAAkB,UAAU,iCAAiC,uDAAC,EAAE,sFAAC,oDAAsF;;;;;;;;;;;;;;;;;;;;;;;;;ACJvyB;AACA;AACA;AACA;AAC4a,oBAAoB,gEAAC,CAAC,6DAAC,GAAG,cAAc,mCAAmC,iDAAC,+CAA+C,uDAAC,EAAE,sFAAC,EAAE,KAAK,iDAAC,OAAO,UAAU,+BAA+B,uDAAC,EAAE,sFAAC,EAAE,kBAAkB,UAAU,+BAA+B,uDAAC,EAAE,sFAAC,EAAE,mBAAmB,YAAY,OAAO,UAAU,qCAAqC,uDAAC,EAAE,sFAAC,8CAA0E;;;;;;;;;;;;;;;;;;;;;;;;;;ACJ70B;AACA;AACA;AACA;AACghB,QAAQ,wDAAC,IAAI,wEAAwE,EAAE,oBAAoB,gEAAC,CAAC,6DAAC,GAAG,eAAe,2CAA2C,uDAAC,EAAE,sFAAC,EAAE,kBAAkB,UAAU,+BAA+B,uDAAC,EAAE,4FAAC,mCAAmC,uDAAC,EAAE,sFAAC,qDAAqD,UAA+B;;;;;;;;;;;;;;;;;;;;;;;;;ACJ33B;AACA;AACA;AACA;AAC0c,oBAAoB,gEAAC,CAAC,6DAAC,GAAG,eAAe,6DAA6D,uDAAC,EAAE,sFAAC,CAAC,qEAAC,+BAA+B,uDAAC,EAAE,sFAAC,CAAC,qEAAC,gCAAgC,uDAAC,EAAE,sFAAC,CAAC,qEAAC,kCAAkC,uDAAC,EAAE,sFAAC,2CAA2C,UAA+B;;;;;;;;;;;;;;;;;;;;;;;;;;ACJjvB;AACA;AACA;AACA;AACuiB,oBAAoB,gEAAC,CAAC,6DAAC,GAAG,eAAe,iFAAiF,cAAc,uBAAuB,4CAA4C,+CAA+C,uDAAC,EAAE,QAAQ,gCAAgC,uDAAC,iBAAiB,uDAAC,aAAa,uDAAC,EAAE,sFAAC,EAAE,kBAAkB,UAAU,qCAAqC,uDAAC,EAAE,sFAAC,EAAE,kBAAkB,UAAU,+BAA+B,uDAAC,EAAE,sFAAC,CAAC,wEAAC,gCAAgC,uDAAC,EAAE,sFAAC,EAAE,MAAM,uDAAC,QAAQ,sBAAsB,0BAA0B,uDAAC,EAAE,mCAAmC,SAAS,QAAQ,eAAe,WAAW,kBAAkB,2CAA2C,uDAAC,yBAAyB,UAAU,cAAc,gCAAgC,uDAAC,EAAE,8EAAC,6CAA6C,uDAAC,EAAE,sFAAC,gDAAgD,UAA+B;;;;;;;;;;;;;;;;;;;;;;;;;ACJn8C;AACA;AACA;AACA;AACmb,oBAAoB,gEAAC,CAAC,6DAAC,GAAG,eAAe,+CAA+C,uDAAC,EAAE,sFAAC,EAAE,kBAAkB,UAAU,iCAAiC,uDAAC,EAAE,sFAAC,EAAE,MAAM,4DAAC,QAAQ,UAAU,mCAAmC,uDAAC,EAAE,sFAAC,gDAAgD,UAA+B;;;;;;;;;;;;;;;;;;;;;;;;ACJnuB;AACA;AACA;AACA;AACub,MAAM,sBAAsB,6DAAC,CAAC,eAAe,gFAAgF,QAAQ,cAAc,2GAA2G,EAAE,cAAc,8CAA8C,SAAS,WAAW,GAAG,EAAE,IAAI,uDAAC,EAAE,sFAAC,EAAE,kBAAkB,UAAU,qCAAqC,uDAAC,EAAE,sFAAC,EAAE,kBAAkB,UAAU,+BAA+B,uDAAC,EAAE,sFAAC,CAAC,gFAAC,gCAAgC,uDAAC,EAAE,sFAAC,CAAC,qEAAC,mCAAmC,uDAAC,EAAE,sFAAC,+CAA+C,UAA+B;;;;;;;;;;;;;;;;ACJzjC;AACA;AACA;AACA;AACA,gBAAgB,kIAAkI,cAAc,YAAY,YAAY,WAAW,KAAK,kBAAkB,+BAA+B,WAAW,gBAAgB,yDAAyD,gBAAgB,eAAe,gDAAgD,MAAM,oBAAoB,GAAG,wBAAwB,GAAG,QAAQ,iBAAiB,kBAAkB,YAAY,IAAI,YAAY,wBAAwB,qBAAqB,cAAc,uDAAuD,eAAe,uDAAuD,0CAA0C,4BAA4B,QAAQ,wCAAwC,gBAAgB,KAAK,4BAA4B,QAAQ,sCAAsC,gBAAgB,KAAK,uCAAuE;;;;;;;;;;;;;;;;;;;;;;;;;ACJpgC;AACA;AACA;AACA;AAC8Y,SAAS,MAAM,4DAAC,OAAO,OAAO,OAAO,gEAAC,CAAC,UAAU,aAAa,MAAM,8DAAC,QAAQ,OAAO,gEAAC,CAAC,OAAO,OAAO,iHAAC,EAAE,MAAM,8DAAC,CAAC,MAAM,GAAG,0DAAC,EAAE,MAAM,SAAS,aAAa,OAAO,kBAAkB,OAAO,OAAO,KAAK,0DAAC,qBAAqB,cAAc,2EAAwB,gBAAgB,4EAAyB,cAAc,0EAAuB,KAAK,gEAAa,EAAE,OAAO,OAAO,OAAO,gEAAC,CAAC,UAAU,aAAa,KAAK,mEAAC,QAAQ,OAAO,gEAAC,KAAK,IAAI,6DAA6D,EAAE,QAAQ,mBAAmB,eAAe,0BAAqK;;;;;;;;;;;;;;;;;;;;;;;;;ACJ1kC;AACA;AACA;AACA;AACiO,YAAY,cAAc,OAAO,2DAAC,MAAM,cAAc,OAAO,2DAAC,MAAM,oBAAoB,IAAI,gBAAgB,IAAI,gBAAgB,GAAG,UAAU,aAAa,gBAAgB,QAAQ,yDAAC,kBAAkB,mDAAC,8BAA8B,cAAc,yCAAyC,iBAAiB,QAAQ,sDAAsD,gBAAgB,KAAK,+BAA+B,wBAAwB,sBAAsB,QAAQ,mFAAC,GAAG,YAAY,IAAI,KAAK,iBAAiB,KAAK,sBAAsB,cAAc,wBAAwB,SAAS,kBAAkB,+BAA+B,0CAA0C,cAAc,8CAA+Q;;;;;;;;;;;;;;;;;;;;ACJjqC;AACA;AACA;AACA;AACwL,gBAAgB,mBAAmB,QAAQ,iHAAC,EAAE,MAAM,oDAAC,CAAC,EAAE,kBAAkB,gGAAgG,wDAAC,+GAA+G,uBAAuB,uBAAuD;;;;;;;;;;;;;;;;;;ACJhiB;AACA;AACA;AACA;AACuI,SAAS,iBAAiB,+DAAC,2BAA2B,+DAAC,8BAA8B,+DAAC,6BAA6B,+DAAC,2BAA2B,+DAAC,sCAAsC,+DAAC,0CAA0C,+DAAC,uCAAuC,+DAAC,sCAAsC,+DAAC,iCAAiC,+DAAC,iCAAiC,+DAAC,8CAA8C,mEAAC,YAAY,wEAAQ,GAAwB;;;;;;;;;;;;;;;;;;;;;ACJvlB;AACA;AACA;AACA;AAC0E,+BAA+B,gBAAgB,WAAW,gBAAgB,QAAQ,mHAAmH,sBAAsB,+EAA+E,oCAAoC,cAAc,+BAA+B,iBAAiB,uEAAuE,kCAAkC,mCAAmC,SAAS,kBAAkB,gBAAgB,YAAY,mBAAmB,aAAa,gIAAgI,OAAO,wBAAwB,oBAAoB,SAAS,yBAAyB,YAAY,oBAAoB,yCAAyC,YAAY,oBAAoB,qCAAqC,SAAS,iBAAiB,EAAE,mBAAmB,4DAA4D,GAAG,UAAU,YAAY,WAAW,KAAK,uFAAuF,MAAM,eAAe,KAAK,SAAS,EAAE,eAAe,wCAAwC,aAAa,SAAS,SAAS,0BAA0B,cAAc,OAAO,6DAAC,MAAuE;;;;;;;;;;;;;;;;ACJz/C;AACA;AACA;AACA;AACA,cAAc,kDAAkD,8DAAyG;;;;;;;;;;;;;;;;;;;;;;ACJzK;AACA;AACA;AACA;AACA;AAAkD;AAA4D;;SAAoDA;;;;;yMAAf,WAAiBA,CAAjB,EAAmBQ,CAAnB,EAAqBC,CAArB,EAAuB;AAAC,UAAMP,CAAC,GAACF,CAAC,IAAEA,CAAC,CAACurE,WAAL,IAAkBvrE,CAAC,CAACurE,WAAF,CAAc,UAAd,EAAyB/qE,CAAC,CAACkF,MAA3B,CAA1B;;AAA6D,QAAGxF,CAAC,IAAE,mBAAiBA,CAAC,CAACmD,IAAtB,IAA4BnD,CAAC,CAACqmE,WAAjC,EAA6C;AAAC,YAAMnmE,CAAC,SAAON,2DAAC,CAACI,CAAC,CAACgoE,iBAAF,EAAD,CAAf;;AAAuC,UAAGnoE,qEAAC,CAACU,CAAD,CAAD,EAAK,CAAC,CAAD,KAAKL,CAAC,CAACyb,EAAf,EAAkB;AAAC,cAAM/b,CAAC,GAACM,CAAC,CAACmD,KAAV;AAAgB/C,QAAAA,CAAC,EAAE4I,QAAH,IAAa5I,CAAC,CAAC4I,QAAF,CAAWxE,IAAX,CAAgB,IAAItE,wDAAJ,CAAM,0BAAN,EAAkC,gEAA+DR,CAAC,CAACqxB,OAAQ,EAA3G,EAA6G;AAAC5tB,UAAAA,KAAK,EAACzD,CAAP;AAASmE,UAAAA,OAAO,EAACzD;AAAjB,SAA7G,CAAhB,CAAb,EAAgKR,CAAC,CAAC0Z,KAAF,CAAQ,UAAR,EAAmBlZ,CAAC,EAAEkF,MAAtB,CAAhK;AAA8L;AAAC;AAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACJhiB;AACA;AACA;AACA;AACmV,SAAS,gBAAgB,oDAAC,UAAU,QAAQ,2DAAC,QAAQ,0DAAC,gBAAgB,+DAAC,gBAAgB,+DAAC,eAAe,8DAAC,YAAY,8DAAC,aAAa,4DAAC,CAAC,yBAAyB,IAAI,gBAAgB,oDAAC,UAAU,OAAO,0DAAC,gBAAgB,+DAAC,gBAAgB,+DAAC,SAAS,2DAAC,CAAC,qCAAqC,cAAc,eAAe,yBAAyB,+BAA+B,+BAA+B,wBAAwB,cAAc,qBAAqB,iEAAW,6GAA6G,cAAc,0CAA0C,iBAAiB,SAAS,iEAAW,8EAA8E,EAAE,IAAI,EAAE,4CAA4C,uDAAuD,cAAc,yCAAyC,iBAAiB,SAAS,iEAAW,6EAA6E,EAAE,IAAI,EAAE,4CAA4C,sDAA4G;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACJ/+C;AACA;AACA;AACA;AACA;AAA8D;AAAoC;AAA6D;AAAoF;AAAqE;AAAqD;AAAuD;AAAwF;AAAoE;AAA8E;;AAAuF,MAAMxE,CAAC,GAAC,MAAIlB,iEAAA,CAAY,8BAAZ,CAAZ;AAAA,MAAwD+B,CAAC,GAAC;AAACmqE,EAAAA,GAAG,EAAC,IAAL;AAAUC,EAAAA,GAAG,EAAC,IAAd;AAAmBhjD,EAAAA,EAAE,EAAC,GAAtB;AAA0BY,EAAAA,EAAE,EAAC,GAA7B;AAAiCqiD,EAAAA,GAAG,EAAC,GAArC;AAAyCC,EAAAA,EAAE,EAAC;AAA5C,CAA1D;AAAA,MAA2GjrE,CAAC,GAAC;AAACkrE,EAAAA,WAAW,EAAC,CAAb;AAAeC,EAAAA,MAAM,EAAC,CAAtB;AAAwBC,EAAAA,MAAM,EAAC,CAA/B;AAAiCC,EAAAA,IAAI,EAAC,CAAtC;AAAwCC,EAAAA,GAAG,EAAC,CAA5C;AAA8CC,EAAAA,KAAK,EAAC,CAApD;AAAsDC,EAAAA,IAAI,EAAC;AAA3D,CAA7G;AAAA,MAA2KjrE,CAAC,GAAC;AAAC2qE,EAAAA,WAAW,EAAC,+BAAb;AAA6CC,EAAAA,MAAM,EAAC,+BAApD;AAAoFC,EAAAA,MAAM,EAAC,gCAA3F;AAA4HC,EAAAA,IAAI,EAAC,gCAAjI;AAAkKC,EAAAA,GAAG,EAAC,qBAAtK;AAA4LC,EAAAA,KAAK,EAAC,qBAAlM;AAAwNC,EAAAA,IAAI,EAAC;AAA7N,CAA7K;AAAA,MAAkZvqE,CAAC,GAAC/B,6EAAC,CAAC,YAAD,CAArZ;;SAAmbuB;;;;;yMAAf,WAAiB/B,CAAjB,EAAmBa,CAAnB,EAAqBX,CAArB,EAAuB;AAACQ,IAAAA,sEAAC,CAACV,CAAD,EAAGa,CAAH,EAAM,MAAI,EAAV,CAAD,CAAgBiE,IAAhB,CAAqB,GAAG5E,CAAxB;AAA2B;;;;SAAesC;;;;;0MAAf,WAAiB3B,CAAjB,EAAmB;AAAC,UAAMX,CAAC,GAAC,IAAIyS,GAAJ,EAAR;AAAgB,QAAG,CAAC9R,CAAJ,EAAM,OAAOX,CAAP;;AAAS,QAAG,qBAAoBW,CAApB,IAAuBA,CAAC,CAACm9C,eAA5B,EAA4C;AAAC,YAAMh+C,CAAC,GAACa,CAAC,CAACm9C,eAAF,CAAkBr3C,MAAlB,CAA0B3G,CAAC,IAAE,YAAUA,CAAC,CAACuD,IAAzC,CAAR;;AAAwD,WAAI,MAAM1C,CAAV,IAAeb,CAAf,EAAiB;AAAC,cAAMA,CAAC,GAAC,CAAC,OAAMkB,wFAAC,CAACL,CAAD,CAAP,KAAY,EAAb,EAAiB0E,GAAjB,CAAsBvF,CAAC,IAAEA,CAAC,CAACoV,KAA3B,CAAR;AAA2C,cAAMrT,CAAC,CAAC7B,CAAD,EAAGW,CAAC,CAACuP,KAAF,IAASvP,CAAC,CAACi1B,eAAd,EAA8B91B,CAA9B,CAAP;AAAwC;AAAC;;AAAA,QAAG,cAAYa,CAAC,CAAC0C,IAAjB,EAAsB;AAAC,YAAMvD,CAAC,GAACgB,iGAAC,CAACH,CAAD,CAAD,CAAK0E,GAAL,CAAUvF,CAAC,IAAEA,CAAC,CAACoV,KAAf,CAAR;AAA+B,YAAMrT,CAAC,CAAC7B,CAAD,EAAGW,CAAC,CAACuP,KAAF,IAASvP,CAAC,CAACi1B,eAAd,EAA8B91B,CAA9B,CAAP;AAAwC,KAA9F,MAAmG,IAAG,gBAAca,CAAC,CAAC0C,IAAnB,EAAwB;AAAC,WAAI,MAAMvD,CAAV,IAAea,CAAC,CAAC0wC,UAAjB,EAA4B,MAAMxvC,CAAC,CAAC7B,CAAD,EAAGF,CAAC,CAACoQ,KAAF,IAASpQ,CAAC,CAAC81B,eAAd,EAA8B,CAAC91B,CAAC,CAACoV,KAAH,CAA9B,CAAP;;AAAgD,YAAMrT,CAAC,CAAC7B,CAAD,EAAG,SAAH,EAAa,CAACW,CAAC,EAAEykE,cAAH,EAAmBlwD,KAApB,EAA0BtU,6EAAC,CAACD,CAAC,CAACi/D,oBAAH,EAAwB,IAAxB,CAA3B,CAAb,CAAP;AAA+E,KAApL,MAAyL,IAAG,kBAAgBj/D,CAAC,CAAC0C,IAArB,EAA0B;AAAC,WAAI,MAAMvD,CAAV,IAAea,CAAC,CAAC0wC,UAAjB,EAA4B,MAAMxvC,CAAC,CAAC7B,CAAD,EAAGF,CAAC,CAACoQ,KAAF,IAASpQ,CAAC,CAAC81B,eAAd,EAA8B,CAAC91B,CAAC,CAACoV,KAAH,CAA9B,CAAP;;AAAgD,YAAMrT,CAAC,CAAC7B,CAAD,EAAG,SAAH,EAAa,CAACW,CAAC,CAAC4iE,eAAH,CAAb,CAAP;AAAyC,KAAhJ,MAAqJ,IAAG,mBAAiB5iE,CAAC,CAAC0C,IAAtB;AAA2B,UAAG,mBAAiB1C,CAAC,CAACkhE,aAAF,EAAiBx+D,IAArC,EAA0C,KAAI,MAAMvD,CAAV,IAAea,CAAC,CAAC+6C,gBAAF,IAAoB,EAAnC,EAAsC,MAAM75C,CAAC,CAAC7B,CAAD,EAAGF,CAAC,CAAC0N,KAAF,CAAQxK,QAAR,EAAH,EAAsB,CAACpC,6EAAC,CAACd,CAAC,CAACssC,MAAH,EAAU,IAAV,CAAF,CAAtB,CAAP,CAAhF,KAAqI;AAAC,cAAMtsC,CAAC,GAAC,CAACa,CAAC,CAAC+6C,gBAAF,IAAoB,EAArB,EAAyBr2C,GAAzB,CAA8BvF,CAAC,IAAEc,6EAAC,CAACd,CAAC,CAACssC,MAAH,EAAU,IAAV,CAAlC,CAAR;AAAA,cAA4D;AAACl8B,UAAAA,KAAK,EAAC1P,CAAP;AAASulE,UAAAA,MAAM,EAACzlE,CAAhB;AAAkB0lE,UAAAA,MAAM,EAAC5lE,CAAzB;AAA2Bw1B,UAAAA,eAAe,EAACn1B;AAA3C,YAA8CE,CAA1G;AAA4G,SAACH,CAAC,IAAEC,CAAJ,YAAcoB,CAAC,CAAC7B,CAAD,EAAGQ,CAAC,IAAEC,CAAN,EAAQX,CAAR,CAAf,GAA0BQ,CAAC,WAAQuB,CAAC,CAAC7B,CAAD,EAAGM,CAAH,EAAKR,CAAL,CAAT,CAA3B,EAA4CM,CAAC,WAAQyB,CAAC,CAAC7B,CAAD,EAAGI,CAAH,EAAKN,CAAL,CAAT,CAA7C;AAA8D;AAA3U,WAAgV,IAAG,mBAAiBa,CAAC,CAAC0C,IAAtB,EAA2B;AAAC,YAAMvD,CAAC,GAACa,CAAC,CAACk/D,eAAF,CAAkBx6D,GAAlB,CAAuBvF,CAAC,IAAEc,6EAAC,CAACd,CAAC,CAACssC,MAAH,EAAU,IAAV,CAA3B,CAAR;AAAA,YAAqD;AAACl8B,QAAAA,KAAK,EAAC1P,CAAP;AAASo1B,QAAAA,eAAe,EAACt1B;AAAzB,UAA4BK,CAAjF;AAAmF,YAAMkB,CAAC,CAAC7B,CAAD,EAAGQ,CAAC,IAAEF,CAAN,EAAQR,CAAR,CAAP;AAAkB,KAAjI,MAAqI,aAAWa,CAAC,CAAC0C,IAAb,WAAyBxB,CAAC,CAAC7B,CAAD,EAAG,SAAH,EAAa,CAACY,6EAAC,CAACD,CAAC,CAACyrC,MAAH,EAAU,IAAV,CAAF,CAAb,CAA1B;;AAA2D,WAAM,mBAAkBzrC,CAAlB,IAAqBA,CAAC,CAAC86C,aAAvB,WAA4C55C,CAAC,CAAC7B,CAAD,EAAG,SAAH,EAAa,CAACY,6EAAC,CAACD,CAAC,CAAC86C,aAAH,EAAiB,IAAjB,CAAF,CAAb,CAA7C,GAAqFz7C,CAAC,CAACyE,OAAF,CAAW,CAAC9D,CAAD,EAAGH,CAAH,KAAO;AAAC,YAAMF,CAAC,GAACR,2DAAC,CAACa,CAAC,CAAC8F,MAAF,CAAS4H,OAAT,CAAD,EAAoB,CAACvO,CAAD,EAAGa,CAAH,KAAO4lB,IAAI,CAACC,SAAL,CAAe1mB,CAAf,MAAoBymB,IAAI,CAACC,SAAL,CAAe7lB,CAAf,CAA/C,CAAT;AAA4EX,MAAAA,CAAC,CAACwF,GAAF,CAAMhF,CAAN,EAAQF,CAAR;AAAW,KAA1G,CAArF,EAAkMN,CAAxM;AAA0M;;;;SAAemS;;;;;yMAAf,WAAiBrS,CAAjB,EAAmBa,CAAnB,EAAqBX,CAArB,EAAuB;AAAC,UAAMM,CAAC,GAACE,sEAAC,CAACV,CAAD,EAAGa,CAAH,EAAM,MAAI,IAAI8R,GAAJ,EAAV,CAAT;;AAA6B,SAAI,MAAMjS,CAAV,IAAeR,CAAf,EAAiBM,CAAC,CAACkF,GAAF,CAAMhF,CAAC,CAACgN,KAAR,EAAchN,CAAC,CAAC0U,KAAhB;AAAuB;;;;SAAe/J;;;;;yMAAf,WAAiBrL,CAAjB,EAAmB;AAAC,UAAMa,CAAC,GAAC,IAAI8R,GAAJ,EAAR;AAAgB,QAAG,CAAC3S,CAAJ,EAAM,OAAOa,CAAP;AAAS,QAAG,mBAAiBb,CAAC,CAACuD,IAAnB,IAAyBvD,CAAC,CAAC+hE,aAAF,EAAiBx+D,IAA7C;AAAkD,UAAG,mBAAiBvD,CAAC,CAACuD,IAAtB,EAA2B;AAAC,cAAMrD,CAAC,GAACF,CAAC,CAAC+/D,eAAF,CAAkBx6D,GAAlB,CAAuBvF,CAAC,KAAG;AAAC0N,UAAAA,KAAK,EAAC1N,CAAC,CAACugE,QAAT;AAAkBnrD,UAAAA,KAAK,EAACtU,6EAAC,CAACd,CAAC,CAACssC,MAAH,EAAU,IAAV;AAAzB,SAAH,CAAxB,EAAwEygC,OAAxE,EAAR;AAAA,cAA0F;AAAC38D,UAAAA,KAAK,EAAC1P,CAAP;AAASo1B,UAAAA,eAAe,EAACt1B;AAAzB,YAA4BR,CAAtH;AAAwH,cAAMqS,CAAC,CAACxR,CAAD,EAAGH,CAAC,IAAEF,CAAN,EAAQN,CAAR,CAAP;AAAkB,OAAtK,MAA0K,aAAWF,CAAC,CAACuD,IAAb,WAAyB8O,CAAC,CAACxR,CAAD,EAAG,SAAH,EAAa,CAAC;AAAC6M,QAAAA,KAAK,EAAC,SAAP;AAAiB0H,QAAAA,KAAK,EAACtU,6EAAC,CAACd,CAAC,CAACssC,MAAH,EAAU,IAAV;AAAxB,OAAD,CAAb,CAA1B;AAA5N,WAAmT;AAAC,YAAMpsC,CAAC,GAAC,CAACF,CAAC,CAAC47C,gBAAF,IAAoB,EAArB,EAAyBr2C,GAAzB,CAA8BvF,CAAC,KAAG;AAAC0N,QAAAA,KAAK,EAAC1N,CAAC,CAAC0N,KAAT;AAAe0H,QAAAA,KAAK,EAACtU,6EAAC,CAACd,CAAC,CAACssC,MAAH,EAAU,IAAV;AAAtB,OAAH,CAA/B,CAAR;AAAA,YAAoF;AAACl8B,QAAAA,KAAK,EAAC1P,CAAP;AAASulE,QAAAA,MAAM,EAACzlE,CAAhB;AAAkB0lE,QAAAA,MAAM,EAAC5lE,CAAzB;AAA2Bw1B,QAAAA,eAAe,EAACn1B,CAA3C;AAA6CwlE,QAAAA,cAAc,EAAC/lE;AAA5D,UAA+DJ,CAAnJ;AAAA,YAAqJC,CAAC,GAAC,CAACS,CAAD,EAAGF,CAAH,EAAKF,CAAL,EAAQqG,MAAR,CAAe4H,OAAf,EAAwBiY,IAAxB,CAA6BpmB,CAAC,IAAE,EAAhC,CAAvJ;AAA2L,OAACH,CAAC,IAAEU,CAAJ,YAAc0R,CAAC,CAACxR,CAAD,EAAGZ,CAAC,IAAEU,CAAN,EAAQT,CAAR,CAAf;AAA0B;;AAAA,QAAG,mBAAkBF,CAAlB,IAAqBA,CAAC,CAAC27C,aAAvB,WAA4CtpC,CAAC,CAACxR,CAAD,EAAG,SAAH,EAAa,CAAC;AAAC6M,MAAAA,KAAK,EAAC,SAAP;AAAiB0H,MAAAA,KAAK,EAACtU,6EAAC,CAACd,CAAC,CAAC27C,aAAH,EAAiB,IAAjB;AAAxB,KAAD,CAAb,CAA7C,GAA6G,qBAAoB37C,CAApB,IAAuBA,CAAC,CAACg+C,eAAzI,EAAyJ;AAAC,YAAM99C,CAAC,GAACF,CAAC,CAACg+C,eAAF,CAAkBr3C,MAAlB,CAA0B3G,CAAC,IAAE,YAAUA,CAAC,CAACuD,IAAzC,CAAR;;AAAwD,WAAI,MAAMvD,CAAV,IAAeE,CAAf,EAAiB;AAAC,cAAMA,CAAC,GAAC,OAAMgB,wFAAC,CAAClB,CAAD,CAAP,KAAY,EAApB;AAAuB,cAAMqS,CAAC,CAACxR,CAAD,EAAGb,CAAC,CAACoQ,KAAF,IAASpQ,CAAC,CAAC81B,eAAd,EAA8B51B,CAA9B,CAAP;AAAwC;AAAC;;AAAA,WAAOW,CAAP;AAAS;;;;AAAA,SAAS0H,CAAT,CAAWvI,CAAX,EAAaa,CAAb,EAAeX,CAAf,EAAiB;AAAC,MAAIQ,CAAC,GAAC,EAAN;AAAS,SAAO,MAAIG,CAAJ,GAAMH,CAAC,GAACuB,CAAC,CAAConB,EAAF,GAAK,GAAb,GAAiBxoB,CAAC,KAAGX,CAAJ,KAAQQ,CAAC,GAACuB,CAAC,CAACgoB,EAAF,GAAK,GAAf,CAAjB,EAAqCvpB,CAAC,GAACV,CAA9C;AAAgD;;AAAA,SAASqnB,CAAT,CAAWrnB,CAAX,EAAa;AAAC,QAAK;AAACk/C,IAAAA,MAAM,EAACr+C,CAAR;AAAUmsE,IAAAA,MAAM,EAAC9sE,CAAjB;AAAmB+sE,IAAAA,YAAY,EAACvsE,CAAhC;AAAkCwsE,IAAAA,MAAM,EAAC1sE;AAAzC,MAA4CR,CAAjD;AAAmD,SAAOa,CAAC,CAAC0E,GAAF,CAAO,CAACvF,CAAD,EAAGW,CAAH,KAAO;AAAC,QAAIV,CAAC,GAAC,IAAN;;AAAW,QAAG,CAACS,CAAD,IAAIA,CAAC,CAACoxB,QAAF,CAAWnxB,CAAX,CAAP,EAAqB;AAAC,YAAMT,CAAC,GAACM,CAAC,GAACF,yDAAC,CAACN,CAAD,CAAF,GAAMI,uDAAC,CAACJ,CAAD,CAAhB;AAAoBE,MAAAA,CAAC,KAAGD,CAAC,GAACsI,CAAC,CAACrI,CAAD,EAAGS,CAAH,EAAKE,CAAC,CAACgN,MAAF,GAAS,CAAd,CAAN,CAAD;AAAyB;;AAAA,WAAO,IAAIrM,6EAAJ,CAAM;AAACkM,MAAAA,KAAK,EAAC1N,CAAP;AAASoV,MAAAA,KAAK,EAAClV,CAAC,CAACS,CAAD,CAAhB;AAAoB80B,MAAAA,KAAK,EAACx1B;AAA1B,KAAN,CAAP;AAA2C,GAAxI,CAAP;AAAkJ;;AAAA,SAASmC,CAAT,CAAWpC,CAAX,EAAa;AAAC,MAAIa,CAAC,GAACb,CAAC,CAACugE,QAAR;AAAA,MAAiBrgE,CAAC,GAACF,CAAC,CAACwgE,QAArB;AAA8B,QAAM9/D,CAAC,GAACV,CAAC,CAACmtE,YAAF,GAAe,EAAf,GAAkBlrE,CAAC,CAACgoB,EAAF,GAAK,GAA/B;AAAA,QAAmCzpB,CAAC,GAAC,uBAAqBR,CAAC,CAAC6gE,iBAAvB,GAAyC5+D,CAAC,CAACqqE,GAA3C,GAA+C,EAApF;AAAuF,SAAOzrE,CAAC,GAAC,QAAMA,CAAN,GAAQ,EAAR,GAAWT,uDAAC,CAACS,CAAD,CAAd,EAAkBX,CAAC,GAAC,QAAMA,CAAN,GAAQ,EAAR,GAAWE,uDAAC,CAACF,CAAD,CAAhC,EAAoCQ,CAAC,GAACG,CAAF,GAAIL,CAAJ,GAAM,GAAN,GAAUyB,CAAC,CAACsqE,EAAZ,GAAe,GAAf,GAAmBrsE,CAAnB,GAAqBM,CAAhE;AAAkE;;AAAA,SAAS0L,CAAT,CAAWlM,CAAX,EAAa;AAAC,QAAMa,CAAC,GAACb,CAAC,CAAC+/D,eAAV;AAAA,QAA0B7/D,CAAC,GAACF,CAAC,CAAC6gE,iBAA9B;AAAgD,MAAIngE,CAAC,GAAC,EAAN;AAAS,MAAGG,CAAC,EAAEgN,MAAN,EAAa,IAAG,yBAAuB7N,CAAC,CAACotE,oBAA5B;AAAiD,QAAGptE,CAAC,CAAC8rE,KAAL,EAAW;AAACprE,MAAAA,CAAC,CAACoE,IAAF,CAAOjE,CAAC,CAAC,CAAD,CAAD,CAAK0/D,QAAZ;;AAAsB,WAAI,MAAMvgE,CAAV,IAAea,CAAf,EAAiBH,CAAC,CAACoE,IAAF,CAAO9E,CAAC,CAACwgE,QAAT;;AAAmB9/D,MAAAA,CAAC,GAACT,sDAAC,CAACS,CAAD,CAAH,EAAOG,CAAC,CAAC8D,OAAF,CAAW,CAAC3E,CAAD,EAAGa,CAAH,KAAO;AAACb,QAAAA,CAAC,CAACy1B,KAAF,GAAQrzB,CAAC,CAAC;AAACm+D,UAAAA,QAAQ,EAAC,MAAI1/D,CAAJ,GAAMH,CAAC,CAAC,CAAD,CAAP,GAAWA,CAAC,CAACG,CAAD,CAAtB;AAA0B2/D,UAAAA,QAAQ,EAAC9/D,CAAC,CAACG,CAAC,GAAC,CAAH,CAApC;AAA0CssE,UAAAA,YAAY,EAAC,MAAItsE,CAA3D;AAA6DggE,UAAAA,iBAAiB,EAAC3gE;AAA/E,SAAD,CAAT;AAA6F,OAAhH,CAAP;AAA0H,KAAhM,MAAqMW,CAAC,CAAC8D,OAAF,CAAW,CAAC3E,CAAD,EAAGa,CAAH,KAAO;AAACb,MAAAA,CAAC,CAACy1B,KAAF,GAAQrzB,CAAC,CAAC;AAACm+D,QAAAA,QAAQ,EAACvgE,CAAC,CAACugE,QAAZ;AAAqBC,QAAAA,QAAQ,EAACxgE,CAAC,CAACwgE,QAAhC;AAAyC2M,QAAAA,YAAY,EAAC,MAAItsE,CAA1D;AAA4DggE,QAAAA,iBAAiB,EAAC3gE;AAA9E,OAAD,CAAT;AAA4F,KAA/G;AAAtP,SAA6WkB,CAAC,GAAGylB,IAAJ,CAAS,yBAAT,EAAmC,iFAAnC;AAAsH;;AAAA,SAASvkB,CAAT,CAAWtC,CAAX,EAAa;AAAC,QAAMa,CAAC,GAACb,CAAC,CAACuF,GAAF,CAAOvF,CAAC,IAAE,IAAIgD,IAAJ,CAAShD,CAAT,CAAV,CAAR;AAAA,QAAgCE,CAAC,GAACW,CAAC,CAACgN,MAApC;AAA2C,MAAInN,CAAC,GAAC,IAAE,CAAR;AAAA,MAAUF,CAAC,GAAC,IAAZ;;AAAiB,OAAI,IAAIF,CAAC,GAAC,CAAV,EAAYA,CAAC,GAACJ,CAAC,GAAC,CAAhB,EAAkBI,CAAC,EAAnB,EAAsB;AAAC,UAAMN,CAAC,GAACa,CAAC,CAACP,CAAD,CAAT;AAAa,QAAIK,CAAC,GAAC,IAAE,CAAR;AAAA,QAAUP,CAAC,GAAC,IAAZ;;AAAiB,SAAI,IAAIM,CAAC,GAACJ,CAAC,GAAC,CAAZ,EAAcI,CAAC,GAACR,CAAhB,EAAkBQ,CAAC,EAAnB,EAAsB;AAAC,YAAMR,CAAC,GAACW,CAAC,CAACH,CAAD,CAAT;AAAA,YAAaF,CAAC,GAAC,CAACR,CAAC,CAACqtE,WAAF,OAAkBntE,CAAC,CAACmtE,WAAF,EAAlB,GAAkC,MAAlC,GAAyCrtE,CAAC,CAACstE,QAAF,OAAeptE,CAAC,CAACotE,QAAF,EAAf,IAA6B,OAAvE,KAAiFttE,CAAC,CAACutE,OAAF,OAAcrtE,CAAC,CAACqtE,OAAF,EAAd,IAA2B,KAA5G,IAAmHvtE,CAAC,CAACwtE,QAAF,OAAettE,CAAC,CAACstE,QAAF,EAAf,IAA6B,MAAhJ,IAAwJxtE,CAAC,CAACytE,UAAF,OAAiBvtE,CAAC,CAACutE,UAAF,EAAjB,IAAiC,QAAzL,IAAmMztE,CAAC,CAAC0tE,UAAF,OAAiBxtE,CAAC,CAACwtE,UAAF,EAAjB,IAAiC,QAApO,IAA8O,aAA7P;AAAA,YAA2QptE,CAAC,GAACgB,CAAC,CAACd,CAAD,CAA9Q;AAAkRF,MAAAA,CAAC,GAACK,CAAF,KAAMA,CAAC,GAACL,CAAF,EAAIF,CAAC,GAACI,CAAZ;AAAe;;AAAAG,IAAAA,CAAC,GAACD,CAAF,KAAMA,CAAC,GAACC,CAAF,EAAIH,CAAC,GAACJ,CAAZ;AAAe;;AAAA,SAAOI,CAAP;AAAS;;AAAA,SAAS2B,CAAT,CAAWnC,CAAX,EAAa;AAAC,QAAK;AAAC0N,IAAAA,KAAK,EAAC7M,CAAP;AAASkwC,IAAAA,MAAM,EAAC7wC,CAAhB;AAAkBytE,IAAAA,SAAS,EAACjtE,CAA5B;AAA8BktE,IAAAA,iBAAiB,EAACptE;AAAhD,MAAmDR,CAAxD;AAA0D,MAAIM,CAAC,GAAC8H,MAAM,CAACvH,CAAD,CAAZ;AAAgB,QAAMZ,CAAC,GAACC,CAAC,IAAE,iBAAgBA,CAAnB,IAAsBA,CAAC,CAACs7C,WAAxB,GAAoCt7C,CAAC,CAAC2tE,OAAF,CAAUhtE,CAAV,CAApC,GAAiD,IAAzD;AAA8D,SAAOZ,CAAC,GAACK,CAAC,GAACL,CAAH,GAAK,QAAMY,CAAN,IAASH,CAAT,KAAakB,8EAAC,CAAClB,CAAD,CAAD,IAAMC,8EAAC,CAACD,CAAD,CAApB,IAAyBJ,CAAC,GAACoB,6EAAC,CAACb,CAAD,EAAGL,CAAC,IAAE;AAACstE,IAAAA,SAAS,EAACptE,CAAC,CAAC6C;AAAb,GAAN,CAA5B,GAAsD,YAAU,OAAO1C,CAAjB,KAAqBP,CAAC,GAACF,uDAAC,CAACS,CAAD,CAAxB,CAA5D,EAAyFP,CAAhG;AAAkG;;AAAA,SAAS0G,CAAT,CAAWhH,CAAX,EAAaa,CAAb,EAAe;AAAC,SAAM,wBAAuBb,CAAvB,IAA0BA,CAAC,CAACmgE,kBAA5B,GAA+CzuD,CAAC,CAAC1R,CAAC,CAACoQ,KAAH,EAASpQ,CAAC,CAACmgE,kBAAX,CAAhD,GAA+E,WAAUngE,CAAV,IAAaA,CAAC,CAACoQ,KAAf,GAAqB1E,CAAC,CAAC1L,CAAC,CAACoQ,KAAH,CAAtB,GAAgC,qBAAoBpQ,CAApB,IAAuBA,CAAC,CAAC81B,eAAzB,GAAyCtqB,CAAC,CAACxL,CAAC,CAAC81B,eAAH,EAAmB91B,CAAC,CAACqgE,oBAArB,EAA0Cx/D,CAA1C,CAA1C,GAAuF,IAA5M;AAAiN;;AAAA,SAAS6K,CAAT,CAAW1L,CAAX,EAAa;AAAC,SAAM;AAACuD,IAAAA,IAAI,EAAC,OAAN;AAAc6M,IAAAA,KAAK,EAACpQ;AAApB,GAAN;AAA6B;;AAAA,SAAS0R,CAAT,CAAW1R,CAAX,EAAaa,CAAb,EAAe;AAAC,SAAM;AAAC0C,IAAAA,IAAI,EAAC,kBAAN;AAAyB6M,IAAAA,KAAK,EAACpQ,CAA/B;AAAiCmgE,IAAAA,kBAAkB,EAACt/D;AAApD,GAAN;AAA6D;;AAAA,SAAS2K,CAAT,CAAWxL,CAAX,EAAaa,CAAb,EAAeX,CAAf,EAAiB;AAAC,SAAM;AAACqD,IAAAA,IAAI,EAAC,YAAN;AAAmBiJ,IAAAA,UAAU,EAACxM,CAA9B;AAAgC+C,IAAAA,KAAK,EAAClC,CAAtC;AAAwCyiE,IAAAA,UAAU,EAACpjE;AAAnD,GAAN;AAA4D;;AAAA,SAASmG,CAAT,CAAWnG,CAAX,EAAaQ,CAAb,EAAe;AAAC,QAAMF,CAAC,GAAC,EAAR;AAAW,MAAG,mBAAiBN,CAAC,CAACqD,IAAnB,IAAyB,cAAYrD,CAAC,CAACqD,IAA1C,EAA+C/C,CAAC,CAACsE,IAAF,CAAOkC,CAAC,CAAC9G,CAAD,EAAG,QAAH,CAAR,EAA/C,KAA0E,IAAG,mBAAiBA,CAAC,CAACqD,IAAtB,EAA2B;AAAC,UAAMvD,CAAC,GAACE,CAAC,CAAC6hE,aAAV;;AAAwB,QAAG/hE,CAAC,IAAE,mBAAiBA,CAAC,CAACuD,IAAzB,EAA8B;AAAC,UAAGvD,CAAC,CAACgmE,MAAF,IAAUhmE,CAAC,CAACimE,MAAf,EAAsB;AAAC,cAAMplE,CAAC,GAACb,CAAC,CAACgmE,MAAF,CAAS51D,KAAjB;AAAA,cAAuBlQ,CAAC,GAACF,CAAC,CAACimE,MAAF,CAAS71D,KAAlC;AAAA,cAAwC1P,CAAC,GAACV,CAAC,CAACgmE,MAAF,CAAS7F,kBAAnD;AAAA,cAAsE7/D,CAAC,GAACN,CAAC,CAACimE,MAAF,CAAS9F,kBAAjF;AAAoG3/D,QAAAA,CAAC,CAACsE,IAAF,CAAOkC,CAAC,CAAC;AAACoJ,UAAAA,KAAK,EAACvP,CAAP;AAASs/D,UAAAA,kBAAkB,EAACz/D;AAA5B,SAAD,CAAR,GAA0CF,CAAC,CAACsE,IAAF,CAAOkC,CAAC,CAAC;AAACoJ,UAAAA,KAAK,EAAClQ,CAAP;AAASigE,UAAAA,kBAAkB,EAAC7/D;AAA5B,SAAD,CAAR,CAA1C;AAAoF;AAAC,KAA/O,MAAmP;AAAC,YAAMN,CAAC,GAACE,CAAC,CAAC07C,gBAAF,GAAqB,CAArB,CAAR;AAAgC,UAAI/6C,CAAC,GAAC,IAAN;;AAAW,UAAGb,CAAC,EAAE0N,KAAN,EAAY;AAAC,cAAMxN,CAAC,GAAC,OAAOF,CAAC,CAAC0N,KAAjB;AAAuB,qBAAWxN,CAAX,IAAc,aAAWA,CAAzB,KAA6BW,CAAC,GAACX,CAA/B;AAAkC;;AAAAM,MAAAA,CAAC,CAACsE,IAAF,CAAOkC,CAAC,CAAC9G,CAAD,EAAGW,CAAH,CAAR,GAAe,CAACX,CAAC,CAAC+lE,MAAH,EAAU/lE,CAAC,CAACgmE,MAAZ,EAAoBvhE,OAApB,CAA6B3E,CAAC,IAAEA,CAAC,IAAEQ,CAAC,CAACsE,IAAF,CAAO4G,CAAC,CAAC1L,CAAD,CAAR,CAAnC,CAAf;AAAiE;AAAC,GAA3d,MAA+d,gBAAeE,CAAf,IAAkBA,CAAC,CAACqxC,UAAF,EAAc5sC,OAAd,CAAuB3E,CAAC,IAAEQ,CAAC,CAACsE,IAAF,CAAOkC,CAAC,CAAChH,CAAD,EAAG,QAAH,CAAR,CAA1B,CAAlB;AAAoE,QAAMM,CAAC,GAACI,CAAC,GAACA,CAAC,CAACR,CAAD,CAAF,GAAM,qBAAoBA,CAApB,GAAsBA,CAAC,CAAC89C,eAAxB,GAAwC,IAAvD;AAA4D,SAAO19C,CAAC,IAAEA,CAAC,CAACqE,OAAF,CAAW3E,CAAC,IAAEQ,CAAC,CAACsE,IAAF,CAAOkC,CAAC,CAAChH,CAAD,EAAG,QAAH,CAAR,CAAd,CAAH,EAAyCA,2DAAC,CAACQ,CAAC,CAACmG,MAAF,CAAS9F,uDAAT,CAAD,EAAc,CAACb,CAAD,EAAGa,CAAH,KAAO,YAAUb,CAAC,CAACuD,IAAZ,IAAkB,YAAU1C,CAAC,CAAC0C,IAA9B,GAAmCvD,CAAC,CAACoQ,KAAF,KAAUvP,CAAC,CAACuP,KAA/C,GAAqD,uBAAqBpQ,CAAC,CAACuD,IAAvB,IAA6B,uBAAqB1C,CAAC,CAAC0C,IAApD,GAAyDvD,CAAC,CAACoQ,KAAF,KAAUvP,CAAC,CAACuP,KAAZ,IAAmBpQ,CAAC,CAACmgE,kBAAF,KAAuBt/D,CAAC,CAACs/D,kBAArG,GAAwH,iBAAengE,CAAC,CAACuD,IAAjB,IAAuB,iBAAe1C,CAAC,CAAC0C,IAAxC,IAA8CvD,CAAC,CAACwM,UAAF,KAAe3L,CAAC,CAAC2L,UAAjQ,CAAjD;AAA+T;;;;;;;;;;;;;;;;;;;;;;;;;ACJtpN;AACA;AACA;AACA;AACwW,MAAM,sBAAsB,0DAAC,CAAC,eAAe,wDAAwD,YAAY,OAAO,uFAAuF,aAAa,gGAAgG,QAAQ,cAAc,2OAA2O,EAAE,mBAAmB,SAAS,yBAAyB,GAAG,wBAAwB,EAAE,mBAAmB,qDAAqD,uDAAC,EAAE,sFAAC,EAAE,YAAY,6BAA6B,uDAAC,EAAE,sFAAC,EAAE,qBAAqB,oBAAoB,8BAA8B,uDAAC,EAAE,sFAAC,EAAE,kBAAkB,UAAU,4CAA4C,uDAAC,EAAE,sFAAC,EAAE,MAAM,6DAAC,QAAQ,UAAU,iCAAiC,uDAAC,EAAE,sFAAC,qDAAqD,UAA+B;;;;;;;;;;;;;;;;;;;;;;;;ACJn6C;AACA;AACA;AACA;AAC0W,MAAM,sBAAsB,0DAAC,CAAC,eAAe,0DAA0D,YAAY,OAAO,uFAAuF,aAAa,gGAAgG,QAAQ,cAAc,2OAA2O,EAAE,mBAAmB,SAAS,yBAAyB,GAAG,wBAAwB,EAAE,mBAAmB,qDAAqD,uDAAC,EAAE,sFAAC,EAAE,YAAY,6BAA6B,uDAAC,EAAE,sFAAC,EAAE,uBAAuB,2BAA2B,8BAA8B,uDAAC,EAAE,sFAAC,EAAE,kBAAkB,UAAU,4CAA4C,uDAAC,EAAE,sFAAC,EAAE,MAAM,+DAAC,QAAQ,UAAU,iCAAiC,uDAAC,EAAE,sFAAC,uDAAuD,UAA+B;;;;;;;;;;;;;;;;;;;;;;;ACJl7C;AACA;AACA;AACA;AACkU,MAAM,sBAAsB,0DAAC,CAAC,eAAe,4EAA4E,YAAY,OAAO,wDAAwD,QAAQ,cAAc,6LAA6L,IAAI,uDAAC,EAAE,sFAAC,EAAE,YAAY,6BAA6B,uDAAC,EAAE,sFAAC,EAAE,qCAAqC,SAAS,aAAa,8BAA8B,8BAA8B,uDAAC,EAAE,sFAAC,EAAE,wBAAwB,uBAAuB,8BAA8B,uDAAC,EAAE,sFAAC,EAAE,uCAAuC,kBAAkB,gBAAgB,iCAAiC,0CAA0C,uDAAC,EAAE,sFAAC,wDAAwD,UAA+B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACJjtC;AACA;AACA;AACA;AACw6B,MAAM,YAAY,qDAAC,EAAE,sFAAsF,QAAQ,qDAAC,EAAE,sNAAsN,EAAE,cAAc,wDAAwD,yFAAC,oBAAoB,8EAAC,iBAAiB,KAAK,wBAAwB,kBAAkB,+BAA+B,cAAc,qBAAqB,sBAAsB,0DAAC,CAAC,eAAe,sOAAsO,YAAY,OAAO,gIAAgI,8EAAM,wBAAwB,aAAa,8EAAC,uDAAuD,EAAE,YAAY,8EAAC,uDAAuD,EAAE,iCAAiC,qBAAqB,OAAO,iFAAC,OAAO,oBAAoB,gBAAgB,iEAAW,mGAAmG,eAAe,gBAAgB,iEAAW,yFAAyF,eAAe,YAAY,mBAAmB,gBAAgB,oBAAoB,gBAAgB,iEAAW,mGAAmG,eAAe,gBAAgB,iEAAW,yFAAyF,eAAe,YAAY,mBAAmB,gBAAgB,qBAAqB,+LAA+L,aAAa,wKAAwK,iEAAW,qIAAqI,yBAAyB,OAAO,qFAAC,2BAA2B,yBAAyB,sCAAsC,sCAAsC,sBAAsB,gBAAgB,6DAA6D,EAAE,GAAG,oBAAoB,sDAAC,sKAAsK,0DAA0D,IAAI,YAAY,iBAAiB,wBAAwB,QAAQ,cAAc,2JAA2J,8EAAC,wFAAwF,8EAAC,wSAAwS,EAAE,YAAY,6BAA6B,4FAAe,EAAE,MAAM,oBAAoB,MAAM,0CAA0C,6BAA6B,oFAAO,EAAE,mBAAmB,kBAAkB,gDAAgD,YAAY,IAAI,mBAAmB,YAAY,YAAY,mBAAmB,SAAS,yBAAyB,GAAG,YAAY,GAAG,wBAAwB,EAAE,mBAAmB,0CAA0C,uDAAC,EAAE,sFAAC,EAAE,YAAY,6BAA6B,uDAAC,EAAE,sFAAC,EAAE,uBAAuB,2BAA2B,WAAW,SAAS,4BAA4B,8BAA8B,uDAAC,EAAE,sFAAC,8BAA8B,uDAAC,EAAE,sFAAC,EAAE,wBAAwB,sCAAsC,uDAAC,EAAE,sFAAC,EAAE,KAAK,8EAAC,OAAO,UAAU,uCAAuC,uDAAC,EAAE,sFAAC,EAAE,6BAA6B,UAAU,oCAAoC,uDAAC,EAAE,sFAAC,EAAE,6BAA6B,UAAU,+BAA+B,uDAAC,EAAE,8EAAC,6CAA6C,uDAAC,EAAE,kFAAC,6CAA6C,uDAAC,EAAE,sFAAC,EAAE,6BAA6B,UAAU,oCAAoC,uDAAC,EAAE,sFAAC,EAAE,6BAA6B,UAAU,+BAA+B,uDAAC,EAAE,8EAAC,6CAA6C,uDAAC,EAAE,kFAAC,6CAA6C,uDAAC,EAAE,sFAAC,EAAE,kBAAkB,UAAU,4CAA4C,uDAAC,EAAE,sFAAC,EAAE,YAAY,sCAAsC,uDAAC,EAAE,sFAAC,EAAE,YAAY,iCAAiC,uDAAC,EAAE,sFAAC,EAAE,MAAM,6DAAC,mBAAmB,UAAU,6BAA6B,uDAAC,EAAE,sFAAC,EAAE,uBAAuB,UAAU,gCAAgC,uDAAC,EAAE,sFAAC,EAAE,wBAAwB,0CAA0C,uDAAC,EAAE,sFAAC,EAAE,oBAAoB,mBAAmB,8BAA8B,uDAAC,EAAE,sFAAC,EAAE,mBAAmB,kBAAkB,WAAW,WAAW,wCAAwC,uDAAC,EAAE,sFAAC,EAAE,kBAAkB,UAAU,yCAAyC,uDAAC,EAAE,kFAAC,8FAA8F,uDAAC,EAAE,kFAAC,kFAAkF,uDAAC,EAAE,sFAAC,EAAE,2DAA2D,UAAU,6CAA6C,uDAAC,EAAE,sFAAC,EAAE,uBAAuB,uBAAuB,WAAW,QAAQ,cAAc,SAAS,gBAAgB,YAAY,mCAAmC,uDAAC,EAAE,kFAAC,qDAAqD,uDAAC,EAAE,sFAAC,oDAAoD,UAA+B;;;;;;;;;;;;;;;;;;;;;;;;;ACJ/6N;AACA;AACA;AACA;AACyhB,YAAY,qDAAC,EAAE,qFAAqF,EAAE,oBAAoB,6DAAC,CAAC,eAAe,yIAAyI,aAAa,uCAAuC,iEAAW,2DAA2D,iFAAC,IAAI,qBAAqB,6BAA6B,SAAS,mBAAmB,SAAS,UAAU,GAAG,WAAW,GAAG,qBAAqB,IAAI,uDAAC,EAAE,sFAAC,gCAAgC,uDAAC,EAAE,sFAAC,EAAE,mCAAmC,2BAA2B,8BAA8B,uDAAC,EAAE,sFAAC,EAAE,kBAAkB,UAAU,+BAA+B,uDAAC,EAAE,8EAAC,yCAAyC,uDAAC,EAAE,sFAAC,EAAE,kBAAkB,UAAU,yCAAyC,uDAAC,EAAE,sFAAC,EAAE,kBAAkB,UAAU,8CAA8C,uDAAC,EAAE,sFAAC,EAAE,YAAY,sCAAsC,uDAAC,EAAE,sFAAC,EAAE,KAAK,+EAAC,OAAO,UAAU,yCAAyC,uDAAC,EAAE,sFAAC,sDAAsD,UAA+B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACJ7pD;AACA;AACA;AACA;AAC6iB,SAAS,MAAM,yDAAC,MAAM,yDAAC,SAAS,4DAAC,UAAU,6DAAC,CAAC,OAAO,qDAAC,EAAE,qFAAqF,sBAAsB,oBAAoB,yDAAC,CAAC,cAAc,4HAA4H,uBAAuB,2DAA2D,gCAAgC,wCAAwC,MAAM,4CAA4C,MAAM,8CAA8C,MAAM,sCAAsC,8BAA8B,0DAA0D,WAAW,+CAA+C,GAAG,YAAY,WAAW,KAAK,aAAa,+BAA+B,oCAAoC,qBAAqB,MAAM,oCAAoC,0BAA0B,yBAAyB,2CAA2C,uBAAuB,8BAA8B,IAAI,iEAAW,sCAAsC,EAAE,oCAAoC,wDAAC,0DAA0D,EAAE,qBAAqB,uBAAuB,IAAI,cAAc,qBAAqB,GAAG,oBAAoB,WAAW,kBAAkB,oBAAoB,aAAa,SAAS,kBAAkB,kGAAkG,uDAAC,EAAE,sFAAC,0CAA0C,uDAAC,EAAE,sFAAC,6DAA6D,UAA+B;;;;;;;;;;;;;;;;;;;;;;;;;ACJzrE;AACA;AACA;AACA;AAC+f,MAAM,sBAAsB,6DAAC,CAAC,eAAe,yDAAyD,kBAAkB,UAAU,QAAQ,cAAc,uEAAuE,IAAI,uDAAC,EAAE,sFAAC,EAAE,KAAK,iDAAC,OAAO,MAAM,wEAAC,YAAY,+BAA+B,uDAAC,EAAE,sFAAC,EAAE,kBAAkB,UAAU,+BAA+B,uDAAC,EAAE,sFAAC,EAAE,kBAAkB,OAAO,0BAA0B,+BAA+B,uDAAC,EAAE,kFAAC,8CAA8C,uDAAC,EAAE,sFAAC,yDAAyD,UAA+B;;;;;;;;;;;;;;;;;;;;;;;;;;ACJ9kC;AACA;AACA;AACA;AACqpB,MAAM,sBAAsB,6DAAC,CAAC,eAAe,2DAA2D,iBAAiB,OAAO,sFAAC,iBAAiB,oBAAoB,KAAK,sFAAC,IAAI,QAAQ,cAAc,uDAAuD,IAAI,uDAAC,EAAE,sFAAC,EAAE,kBAAkB,UAAU,+BAA+B,uDAAC,EAAE,sFAAC,EAAE,kBAAkB,KAAK,wEAAC,QAAQ,wBAAwB,iCAAiC,uDAAC,EAAE,kFAAC,8DAA8D,uDAAC,EAAE,kFAAC,8CAA8C,uDAAC,EAAE,sFAAC,EAAE,kBAAkB,UAAU,mCAAmC,uDAAC,EAAE,sFAAC,2DAA2D,UAA+B;;;;;;;;;;;;;;;;;;;;;;;;ACJ70C;AACA;AACA;AACA;AACga,MAAM,sBAAsB,6DAAC,CAAC,eAAe,oGAAoG,QAAQ,cAAc,2GAA2G,IAAI,uDAAC,EAAE,sFAAC,EAAE,kBAAkB,UAAU,+BAA+B,uDAAC,EAAE,sFAAC,EAAE,iBAAiB,sDAAC,OAAO,UAAU,8BAA8B,uDAAC,EAAE,sFAAC,EAAE,kBAAkB,UAAU,+BAA+B,uDAAC,EAAE,sFAAC,EAAE,mBAAmB,UAAU,qCAAqC,uDAAC,EAAE,sFAAC,EAAE,mBAAmB,UAAU,yCAAyC,uDAAC,EAAE,sFAAC,wDAAwD,UAA+B;;;;;;;;;;;;;;;;;;;;;;;ACJ9mC;AACA;AACA;AACA;AACiW,oBAAoB,uEAAC,CAAC,cAAc,6CAA6C,uDAAC,EAAE,sFAAC,EAAE,oBAAoB,UAAU,wCAAwC,uDAAC,EAAE,sFAAC,yEAAyE,UAA+B;;;;;;;;;;;;;;;;;;;;;;;;ACJ1mB;AACA;AACA;AACA;AACsa,oBAAoB,gEAAC,CAAC,6DAAC,GAAG,cAAc,2DAA2D,uDAAC,EAAE,sFAAC,EAAE,mBAAmB,UAAU,oCAAoC,uDAAC,EAAE,sFAAC,EAAE,kBAAkB,UAAU,iCAAiC,uDAAC,EAAE,sFAAC,2EAA2E,UAA+B;;;;;;;;;;;;;;;;;ACJjwB;AACA;AACA;AACA;AACoD,cAAc,OAAO,0DAAC,IAA4C;;;;;;;;;;;;;;;;;;;;;ACJtH;AACA;AACA;AACA;AACA,QAAQ,cAAc,0EAA0E,cAAc,uCAAuC,cAAc,0FAA0F,gBAAgB,yCAAyC,gRAAgR,aAAa,8DAA8D,SAAS,eAAe,uMAAuM,SAAS,GAAgJ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACJzgC;AACA;AACA;AACA;AACuV,YAAY,iEAAW,2JAA2J,EAAE,iFAAiF,mDAAC,gDAAgD,SAAS,kBAAkB,iGAAiG,aAAa,mGAAmG,sDAAsD,eAAe,iBAAiB,yBAAyB,SAAS,2BAA2B,WAAW,gBAAgB,2BAA2B,4BAA4B,mCAAmC,SAAS,4EAA4E,iFAAiF,OAAO,8CAA8C,6CAA6C,yBAAyB,iBAAiB,wEAAwE,uCAAuC,oBAAoB,eAAe,MAAM,6CAA6C,6DAAa,gEAAgE,WAAW,iDAAC,MAAM,kBAAkB,mGAAmG,aAAa,uGAAuG,sDAAsD,eAAe,iBAAiB,yBAAyB,SAAS,2BAA2B,WAAW,gBAAgB,6BAA6B,4BAA4B,mCAAmC,SAAS,4EAA4E,iFAAiF,OAAO,8CAA8C,6CAA6C,yBAAyB,iBAAiB,wEAAwE,uCAAuC,oBAAoB,eAAe,MAAM,oBAAoB,oCAAoC,2BAA2B,wCAAwC,kBAAkB,oGAAoG,aAAa,yGAAyG,yLAAyL,gBAAgB,SAAS,+BAA+B,mBAAmB,MAAM,mCAAmC,SAAS,4EAA4E,iFAAiF,OAAO,8CAA8C,6CAA6C,yBAAyB,oBAAoB,mDAAmD,kBAAkB,sDAAsD,eAAe,MAAM,gBAAgB,SAAS,2BAA2B,MAAM,uDAAuD,2BAA2B,oCAAoC,KAAK,4EAAY,EAAE,mCAAmC,SAAS,4EAA4E,iFAAiF,OAAO,8CAA8C,6CAA6C,yBAAyB,MAAM,KAAK,uEAAO,mBAAmB,MAAM,KAAK,yEAAS,QAAQ,IAAI,oEAAC,gBAAgB,qCAAqC,mDAAmD,OAAO,oEAAC,oBAAoB,cAAc,kBAAkB,gBAAgB,gGAAgG,kBAAkB,gGAAgG,aAAa,iGAAiG,yCAAyC,6BAA6B,kBAAkB,oBAAoB,qEAAC,aAAa,oEAAC,WAAW,kBAAkB,OAAO,oEAAC,WAAW,oEAAC,aAAa,oBAAoB,iDAAiD,kBAAkB,gBAAgB,2BAA2B,uCAAuC,oBAAoB,0HAA0H,8BAA8B,8BAA8B,gCAAgC,0BAA0B,qEAAqE,uCAAuC,iBAAiB,oBAAoB,wFAAwF,WAAW,sHAAsH,sBAAsB,oBAAoB,0CAA0C,iCAAiC,yCAAyC,oBAAoB,2BAA2B,4DAAC,qDAAqD,sBAAsB,GAAG,WAAW,uFAAuF,cAAc,SAAS,sBAAsB,6BAA6B,KAAK,8EAAU,mBAAmB,KAAK,8EAAU,iBAAiB,KAAK,mFAAe,mBAAmB,KAAK,kFAAc,mBAAmB,KAAK,2EAAO,qBAAqB,KAAK,mFAAe,mBAAmB,KAAK,8EAAU,aAAa,KAAK,6EAAS,cAAc,kBAAkB,MAAM,gBAAgB,SAAS,iCAAiC,SAAS,gBAAgB,0CAA0C,qBAAqB,QAAQ,UAAU,QAAQ,OAAO,sBAAsB,kBAAkB,6BAA6B,+BAA+B,gDAAgD,sBAAsB,MAAM,wBAAwB,MAAM,yBAAyB,MAAM,qBAAqB,sBAAsB,iBAAiB,QAAQ,mBAAmB,EAAE,kBAAkB,iBAAiB,QAAQ,mBAAmB,EAAE,kBAAkB,iBAAiB,QAAQ,mBAAmB,EAAE,kBAAkB,iBAAiB,QAAQ,mBAAmB,EAAE,gCAAgC,gBAAgB,aAAa,qBAAqB,yEAAyE,kBAAkB,uDAAuD,kBAAkB,iDAAiD,eAAe,mBAAmB,MAAM,mBAAmB,MAAM,oBAAoB,MAAM,oCAAoC,MAAM,qDAAqD,MAAM,QAAQ,oEAAC,UAAU,SAAgO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACJh4P;AACA;AACA;AACA;AACA;AAA2B;AAAiC;AAA+B;AAA+B;AAAuC;AAAwG;AAAiT;AAAoE;AAA8D;;SAAiLnG;;;;;yMAAf,WAAiBrG,CAAjB,EAAmBE,CAAnB,EAAqB;AAACF,IAAAA,CAAC,YAAYge,GAAb,KAAmBhe,CAAC,GAACA,CAAC,CAACkD,QAAF,EAArB,GAAmChD,CAAC,EAAEiH,KAAH,YAAoB4nE,eAApB,KAAsC7uE,CAAC,CAACiH,KAAF,GAAQtG,gEAAC,CAACX,CAAC,CAACiH,KAAF,CAAQjE,QAAR,GAAmBmlB,UAAnB,CAA8B,GAA9B,EAAkC,GAAlC,CAAD,CAA/C,CAAnC;AAA4H,UAAMpoB,CAAC,GAACuB,iEAAC,CAACxB,CAAD,CAAT;AAAA,UAAaI,CAAC,GAACY,iEAAC,CAAChB,CAAD,CAAhB;AAAoBI,IAAAA,CAAC,IAAEH,CAAH,KAAOD,CAAC,GAAC0B,4DAAC,CAAC1B,CAAD,CAAV;;AAAe,UAAMM,CAAC,GAAC;AAACuF,MAAAA,GAAG,EAAC7F,CAAL;AAAOiyB,MAAAA,cAAc,EAAC,EAAC,GAAG/xB;AAAJ;AAAtB,KAAR;AAAA,UAAsCS,CAAC,GAACX,CAAC,KAAG;AAACkE,MAAAA,IAAI,EAAClE,CAAN;AAAQgvE,MAAAA,aAAa,EAAC9nD,CAAtB;AAAwBvI,MAAAA,SAAS,EAACuI,CAAlC;AAAoC6K,MAAAA,UAAU,EAAC,GAA/C;AAAmDE,MAAAA,cAAc,EAAC3xB,CAAC,CAAC2xB,cAApE;AAAmFpsB,MAAAA,GAAG,EAACvF,CAAC,CAACuF;AAAzF,KAAH,CAAzC;AAAA,UAA2InF,CAAC,GAACI,iEAAC,CAACd,CAAD,EAAGmL,CAAC,CAAC8jE,oBAAL,CAA9I;;AAAyK,QAAGvuE,CAAH,EAAK;AAAC,YAAMV,CAAC,SAAOyL,CAAC,CAAC/K,CAAD,EAAGJ,CAAH,CAAf;AAAqB,UAAG,QAAMN,CAAT,EAAW,OAAOW,CAAC,CAACX,CAAD,CAAR;AAAY;;AAAA,QAAIsB,CAAC,GAACR,iEAAC,CAACd,CAAD,CAAP;;AAAW,QAAGsB,CAAH,EAAK;AAAC,YAAMtB,CAAC,SAAOyL,CAAC,CAACnK,CAAD,EAAGhB,CAAH,CAAf;AAAqB,UAAG,QAAMN,CAAT,EAAW,OAAOW,CAAC,CAACX,CAAD,CAAR;AAAYsB,MAAAA,CAAC,CAACye,KAAF,IAASze,CAAC,CAACmC,KAAX,KAAmBnC,CAAC,GAAC,IAArB;AAA2B;;AAAA,QAAGtB,CAAC,GAACM,CAAC,CAACuF,GAAJ,EAAQ,YAAU,CAAC3F,CAAC,GAACI,CAAC,CAAC2xB,cAAL,EAAqB/T,YAA/B,KAA8C7O,wDAAG,CAAC,gBAAD,CAAH,IAAuBA,wDAAG,CAAC,WAAD,CAAxE,CAAX,EAAkG,MAAMjE,CAAC,CAAC,4BAAD,EAA8B,IAAIkQ,KAAJ,CAAU,0EAAV,CAA9B,EAAoHhb,CAApH,CAAP;;AAA8H,QAAG,WAASJ,CAAC,CAACo4D,MAAd,EAAqB;AAAC,UAAGp4D,CAAC,CAAC0pB,IAAL,EAAU,MAAMxe,CAAC,CAAC,4BAAD,EAA8B,IAAIkQ,KAAJ,CAAU,oDAAV,CAA9B,EAA8Fhb,CAA9F,CAAP;AAAwG,UAAGL,CAAC,IAAEG,CAAN,EAAQ,MAAMgL,CAAC,CAAC,4BAAD,EAA8B,IAAIkQ,KAAJ,CAAU,wDAAV,CAA9B,EAAkGhb,CAAlG,CAAP;AAA4G;;AAAA,QAAG,MAAMoL,CAAC,EAAP,EAAUpJ,CAAb,EAAe,OAAOA,CAAC,CAAC4sE,OAAF,CAAUlvE,CAAV,EAAYE,CAAZ,CAAP;AAAsB,UAAMgB,CAAC,GAAC,IAAImb,eAAJ,EAAR;AAAA,UAA4Bza,CAAC,GAACpB,8DAAC,CAACN,CAAD,EAAI,MAAIgB,CAAC,CAACib,KAAF,EAAR,CAA/B;AAAA,UAAmD/a,CAAC,GAAC;AAAC8vB,MAAAA,UAAU,EAAChwB,CAAZ;AAAc22C,MAAAA,UAAU,EAAC,KAAK,CAA9B;AAAgCs3B,MAAAA,eAAe,EAAC,KAAK,CAArD;AAAuDC,MAAAA,YAAY,EAAC,KAAK,CAAzE;AAA2EC,MAAAA,QAAQ,EAAC,CAAC,CAArF;AAAuFC,MAAAA,WAAW,EAAChuE,CAAnG;AAAqGiuE,MAAAA,MAAM,EAACjvE,CAA5G;AAA8GkvE,MAAAA,WAAW,EAAC,CAAC,CAA3H;AAA6HC,MAAAA,WAAW,EAACtkE,CAAC,CAACskE,WAA3I;AAAuJC,MAAAA,QAAQ,EAAC,CAAC,CAAjK;AAAmKC,MAAAA,MAAM,EAAC,CAAC,CAA3K;AAA6KjY,MAAAA,eAAe,EAAC,CAAC;AAA9L,KAArD;AAAA,UAAsP31D,CAAC,SAAO+lB,CAAC,CAAC1mB,CAAD,CAAD,CAAKgqE,OAAL,CAAc,MAAIxpE,CAAC,EAAE0B,MAAH,EAAlB,CAA9P;AAA8R,WAAOhC,CAAC,EAAEye,KAAH,GAAWhe,CAAX,GAAcA,CAArB;AAAuB;;;;AAAA,IAAIO,CAAJ;;AAAM,MAAM6I,CAAC,GAACnL,0DAAR;AAAA,MAAkB2M,CAAC,IAAC,cAAaq2B,UAAd,CAAnB;AAAA,MAA4CjjC,CAAC,GAAC,IAAI6M,GAAJ,CAAQ,CAAC,GAAD,EAAK,GAAL,EAAS,GAAT,EAAa,GAAb,CAAR,CAA9C;AAAA,MAAyEkT,CAAC,GAAC,IAAIlT,GAAJ,CAAQ,CAAC,UAAD,EAAY,UAAZ,EAAuB,SAAvB,CAAR,CAA3E;AAAA,MAAsHrE,CAAC,GAAC,CAAC,mBAAD,EAAqB,oCAArB,EAA0D,eAA1D,CAAxH;AAAA,MAAmM2e,CAAC,GAAC,MAAI,IAAzM;AAAA,MAA8M/kB,CAAC,GAAC4Y,MAAM,EAAtN;;AAAyN,SAASxP,CAAT,CAAWvL,CAAX,EAAa;AAAC,QAAME,CAAC,GAACgB,4DAAC,CAAClB,CAAD,CAAT;AAAaE,EAAAA,CAAC,IAAE,CAACmG,CAAC,CAACupE,YAAF,CAAe99C,QAAf,CAAwB5xB,CAAxB,CAAJ,IAAgCmG,CAAC,CAACupE,YAAF,CAAe9qE,IAAf,CAAoB5E,CAApB,CAAhC;AAAuD;;AAAA,SAAS8G,CAAT,CAAWhH,CAAX,EAAa;AAAC,QAAME,CAAC,GAACgB,4DAAC,CAAClB,CAAD,CAAT;AAAa,SAAM,CAACE,CAAD,IAAIA,CAAC,CAACmqB,QAAF,CAAW,aAAX,CAAJ,IAA+BhkB,CAAC,CAACupE,YAAF,CAAe99C,QAAf,CAAwB5xB,CAAxB,CAA/B,IAA2DoB,kEAAC,CAACpB,CAAD,CAAlE;AAAsE;;AAAA,SAASkL,CAAT,CAAWpL,CAAX,EAAaE,CAAb,EAAeM,CAAf,EAAiBE,CAAjB,EAAmB;AAAC,MAAIG,CAAC,GAAC,OAAN;AAAc,QAAMW,CAAC,GAAC;AAACqE,IAAAA,GAAG,EAACrF,CAAC,CAACqF,GAAP;AAAWosB,IAAAA,cAAc,EAACzxB,CAAC,CAACyxB,cAA5B;AAA2C+8C,IAAAA,aAAa,EAAC9nD,CAAzD;AAA2DvI,IAAAA,SAAS,EAACuI,CAArE;AAAuE8K,IAAAA,GAAG,EAAC,CAAC;AAA5E,GAAR;AAAuF,MAAG9xB,CAAC,YAAYD,sDAAhB,EAAkB,OAAOC,CAAC,CAACuyB,OAAF,IAAWvyB,CAAC,CAACuyB,OAAF,GAAUryB,oDAAC,CAACF,CAAC,CAACuyB,OAAH,CAAX,EAAuBvyB,CAAC,CAACuyB,OAAF,CAAU5sB,GAAV,GAAcrF,CAAC,CAACqF,GAAvC,EAA2C3F,CAAC,CAACuyB,OAAF,CAAUR,cAAV,GAAyBzxB,CAAC,CAACyxB,cAAjF,IAAiG/xB,CAAC,CAACuyB,OAAF,GAAUjxB,CAA3G,EAA6GtB,CAApH;;AAAsH,MAAGA,CAAH,EAAK;AAAC,UAAMF,CAAC,GAACU,CAAC,KAAG,MAAI6F,KAAK,CAACiZ,IAAN,CAAW9e,CAAC,CAACmvE,OAAb,CAAP,CAAT;AAAA,UAAuC5vE,CAAC,GAACS,CAAC,KAAGV,CAAC,IAAEU,CAAC,CAACmvE,OAAF,CAAU/1D,GAAV,CAAc9Z,CAAd,CAAN,CAA1C;AAAA,UAAkEI,CAAC,GAACM,CAAC,EAAE+e,MAAvE;AAAA,UAA8Ejf,CAAC,GAACN,CAAC,CAACmxB,OAAlF;;AAA0F7wB,IAAAA,CAAC,KAAGK,CAAC,GAACL,CAAL,CAAD,EAASR,CAAC,IAAEC,CAAH,KAAOuB,CAAC,CAACwtE,aAAF,GAAgBhvE,CAAhB,EAAkBwB,CAAC,CAACmd,SAAF,GAAY1e,CAArC,CAAT,EAAiDuB,CAAC,CAACuwB,UAAF,GAAa,CAAC,QAAM7xB,CAAC,CAAC4vE,QAAR,GAAiB5vE,CAAC,CAAC4vE,QAAnB,GAA4B5vE,CAAC,CAACo1C,IAA/B,KAAsCl1C,CAAtC,IAAyC,CAAvG,EAAyGoB,CAAC,CAACuuE,OAAF,GAAU7vE,CAAC,CAAC8vE,OAArH,EAA6HxuE,CAAC,CAACyuE,WAAF,GAAc/vE,CAAC,CAAC+vE,WAA7I,EAAyJ,YAAU,OAAO/vE,CAAC,CAACuyB,OAAnB,GAA2BjxB,CAAC,CAAC8H,QAAF,GAAW,CAACpJ,CAAC,CAACuyB,OAAH,CAAtC,GAAkDjxB,CAAC,CAAC8H,QAAF,GAAWpJ,CAAC,CAACuyB,OAAxN,EAAgOjxB,CAAC,CAAC0uE,GAAF,GAAM/tE,CAAC,IAAIjC,CAAL,GAAOA,CAAC,CAACiC,CAAD,CAAR,GAAYjC,CAAlP;AAAoP;;AAAA,SAAOI,mEAAC,CAACJ,CAAD,CAAD,GAAKS,uEAAC,EAAN,GAAS,IAAIV,sDAAJ,CAAMD,CAAN,EAAQa,CAAR,EAAUW,CAAV,CAAhB;AAA6B;;SAAekK;;;;;yMAAf,aAAkB;AAAC2D,IAAAA,wDAAG,CAAC,gBAAD,CAAH,IAAuB,CAAC/M,CAAxB,KAA4BA,CAAC,SAAO,qLAApC;AAAyE;;;;SAAewQ;;;;;yMAAf,aAAkB;AAAC5S,IAAAA,0CAAC,WAAQ,6LAAR,CAAD;AAAiD;;;;SAAemnB;;;;;yMAAf,WAAiBpnB,CAAjB,EAAmB;AAAC,UAAMG,CAAC,GAACH,CAAC,CAACsvE,MAAF,CAAS1pE,GAAjB;AAAA,UAAqBrF,CAAC,GAACP,CAAC,CAACsvE,MAAF,CAASt9C,cAAhC;AAAA,UAA+C3xB,CAAC,GAACL,CAAC,CAACixB,UAAF,CAAaxpB,MAA9D;AAAA,UAAqE/G,CAAC,GAACH,CAAC,CAACopB,IAAzE;AAA8E,QAAI/oB,CAAC,GAAC,IAAN;AAAA,QAAWW,CAAC,GAAC,IAAb;;AAAkB,QAAGmL,CAAC,IAAE,qBAAoBq2B,UAAvB,KAAoCriC,CAAC,YAAYi7D,QAAb,GAAsB/6D,CAAC,GAACF,CAAxB,GAA0BA,CAAC,YAAYwvE,eAAb,KAA+BtvE,CAAC,GAAC,IAAI+6D,QAAJ,CAAaj7D,CAAb,CAAjC,CAA9D,GAAiH,YAAU,OAAOA,CAAjB,KAAqBa,CAAC,GAACb,CAAvB,CAAjH,EAA2IV,CAAC,CAACmvE,YAAF,GAAe;AAACx0C,MAAAA,KAAK,EAACp6B,CAAC,CAAC63D,SAAF,GAAY,UAAZ,GAAuB,SAA9B;AAAwC+X,MAAAA,WAAW,EAAC,aAApD;AAAkEP,MAAAA,OAAO,EAACrvE,CAAC,CAACqvE,OAAF,IAAW,EAArF;AAAwFvX,MAAAA,MAAM,EAAC,WAAS93D,CAAC,CAAC83D,MAAX,GAAkB,MAAlB,GAAyB,KAAxH;AAA8HlsB,MAAAA,IAAI,EAAC,MAAnI;AAA0IikC,MAAAA,QAAQ,EAACllE,CAAC,CAACklE,QAArJ;AAA8JC,MAAAA,QAAQ,EAAC,QAAvK;AAAgL5oE,MAAAA,MAAM,EAACpH;AAAvL,KAA1J,EAAoV,CAACO,CAAC,IAAEW,CAAJ,MAASvB,CAAC,CAACmvE,YAAF,CAAexlD,IAAf,GAAoB/oB,CAAC,IAAEW,CAAhC,CAApV,EAAuX,gBAAchB,CAAC,CAAC23C,QAAhB,KAA2Bl4C,CAAC,CAACwvE,WAAF,GAAc,CAAC,CAA1C,CAAvX,EAAoaxvE,CAAC,CAACovE,QAAF,GAAW,CAAC,EAAE,UAAU5nD,IAAV,CAAernB,CAAf,KAAmBI,CAAC,CAAC2G,KAAF,EAASK,KAA5B,IAAmC3G,CAAC,EAAEiZ,GAAH,CAAO,OAAP,CAArC,CAAhb,EAAse,CAAC7Z,CAAC,CAACovE,QAAH,IAAa/jE,2EAAC,CAAClL,CAAD,CAAd,KAAoBI,CAAC,CAAC2G,KAAF,KAAU3G,CAAC,CAAC2G,KAAF,GAAQ,EAAlB,GAAsB3G,CAAC,CAAC2G,KAAF,CAAQK,KAAR,GAAcxH,yDAApC,EAA6CC,CAAC,CAACovE,QAAF,GAAW,CAAC,CAA7E,CAAte,EAAsjBpvE,CAAC,CAACwvE,WAAF,IAAe,CAACxvE,CAAC,CAACovE,QAAlB,IAA4B,CAACpvE,CAAC,CAACkvE,eAA/B,IAAgD,CAACtiE,CAAC,CAACzM,CAAD,CAAlD,IAAuD,CAACM,gEAAC,CAACJ,CAAD,CAAlnB,EAAsnB;AAAC,UAAIN,CAAJ;AAAM,sBAAcQ,CAAC,CAAC23C,QAAhB,IAA0B,MAAMrlC,CAAC,EAAP,EAAU9S,CAAC,SAAOE,wDAAA,CAAgBE,CAAhB,EAAkB;AAACsH,QAAAA,MAAM,EAACpH;AAAR,OAAlB,CAAlB,EAAgDL,CAAC,CAAC43C,UAAF,GAAa73C,CAAvF,IAA0F,gBAAcQ,CAAC,CAAC23C,QAAhB,IAA0B,MAAMrlC,CAAC,EAAP,EAAU9S,CAAC,SAAOE,wDAAA,CAAgBE,CAAhB,EAAkB;AAACu3C,QAAAA,MAAM,EAAC,CAAC,CAAT;AAAWjwC,QAAAA,MAAM,EAACpH;AAAlB,OAAlB,EAAwCyD,KAAxC,CAA+C,MAAI,CAAE,CAArD,CAAlB,EAA0E9D,CAAC,CAAC43C,UAAF,GAAa73C,CAAjH,IAAoHE,0CAAC,KAAGF,CAAC,GAACE,yDAAA,CAAiBE,CAAjB,CAAL,CAA/M,EAAyOJ,CAAC,KAAGC,CAAC,CAACkvE,eAAF,GAAkBnvE,CAAC,CAACwH,KAApB,EAA0BvH,CAAC,CAAC0vE,MAAF,GAAS,CAAC,CAAC3vE,CAAC,CAACgyB,GAA1C,CAA1O;AAAyR;AAAC;;;;AAAA,SAASnlB,CAAT,CAAW7M,CAAX,EAAa;AAAC,SAAOuI,CAAC,CAACiP,IAAF,CAAQtX,CAAC,IAAEA,CAAC,CAACunB,IAAF,CAAOznB,CAAP,CAAX,CAAP;AAA8B;;SAAeooB;;;;;yMAAf,WAAiBpoB,CAAjB,EAAmB;AAAC,QAAIC,CAAC,GAACD,CAAC,CAACuvE,MAAF,CAAS1pE,GAAf;AAAmB,UAAMzF,CAAC,GAACJ,CAAC,CAACuvE,MAAF,CAASt9C,cAAjB;AAAA,UAAgCzxB,CAAC,GAACR,CAAC,CAACovE,YAAF,IAAgB,EAAlD;AAAA,UAAqD9uE,CAAC,GAACU,iEAAC,CAACf,CAAD,CAAD,IAAMuB,iEAAC,CAACvB,CAAD,CAA9D;AAAA,UAAkES,CAAC,GAACN,CAAC,CAAC8d,YAAF,IAAgB,MAApF;AAAA,UAA2Frd,CAAC,GAACP,CAAC,GAAC,CAAD,GAAG,QAAMF,CAAC,CAACyf,OAAR,GAAgBzf,CAAC,CAACyf,OAAlB,GAA0B1U,CAAC,CAAC0U,OAA7H;AAAqI,QAAIne,CAAC,GAAC,CAAC,CAAP;;AAAS,QAAG,CAACpB,CAAJ,EAAM;AAACN,MAAAA,CAAC,CAAC2vE,MAAF,KAAW1vE,CAAC,GAAC2B,0DAAC,CAAC3B,CAAD,CAAd;AAAmB,UAAIK,CAAC,GAAC,EAAC,GAAGF,CAAC,CAAC+G;AAAN,OAAN;AAAmBnH,MAAAA,CAAC,CAACmvE,eAAF,KAAoB7uE,CAAC,CAACkH,KAAF,GAAQxH,CAAC,CAACmvE,eAA9B;AAA+C,UAAIxuE,CAAC,GAACS,gEAAC,CAACd,CAAD,CAAP;AAAW+O,MAAAA,wDAAG,CAAC,6BAAD,CAAH,KAAqC1O,CAAC,GAACA,CAAC,CAAC0nB,UAAF,CAAa,GAAb,EAAiB,KAAjB,CAAvC;AAAgE,YAAM3nB,CAAC,GAACT,CAAC,CAAC4N,MAAF,GAAS,CAAT,GAAWlN,CAAC,CAACkN,MAArB;AAA4B,UAAIhN,CAAJ;AAAMa,MAAAA,CAAC,GAAC,aAAWtB,CAAC,CAACk4D,MAAb,IAAqB,WAASl4D,CAAC,CAACk4D,MAAhC,IAAwC,UAAQl4D,CAAC,CAACk4D,MAAlD,IAA0D,CAAC,CAACl4D,CAAC,CAACwpB,IAA9D,IAAoElpB,CAAC,GAACyK,CAAC,CAAColE,YAA1E;AAAuF,YAAM/uE,CAAC,GAACpB,CAAC,CAACsvE,QAAF,IAAY,CAAC,CAAC3tE,+DAAC,CAAC9B,CAAD,CAAvB;;AAA2B,UAAGuB,CAAH,EAAK;AAAC,cAAMxB,CAAC,GAACiC,8DAAC,CAAChC,CAAD,CAAT;AAAaY,QAAAA,CAAC,GAACb,CAAC,CAACylB,IAAJ,EAAS,CAAC/jB,CAAD,IAAIb,CAAC,CAACgN,MAAF,GAAS,CAAT,GAAWnN,CAAX,GAAayK,CAAC,CAAColE,YAAnB,KAAkC7uE,CAAC,GAAC,CAAC,CAArC,CAAT,EAAiD1B,CAAC,CAACmH,KAAF,KAAU7G,CAAC,GAAC,EAAC,GAAGN,CAAC,CAACmH,KAAN;AAAY,aAAG7G;AAAf,SAAZ,CAAjD;AAAgF;;AAAA,UAAG,WAASE,CAAC,CAAC83D,MAAX,KAAoB52D,CAAC,IAAEF,CAAvB,CAAH,EAA6B;AAAC,YAAGE,CAAH,EAAK;AAAC,cAAGhB,CAAC,GAACyK,CAAC,CAAColE,YAAP,EAAoB,MAAMnlE,CAAC,CAAC,4BAAD,EAA8B,IAAIkQ,KAAJ,CAAU,4BAAV,CAA9B,EAAsEtb,CAAC,CAACuvE,MAAxE,CAAP;AAAuF,gBAAMnkE,CAAC,CAAC,4BAAD,EAA8B,IAAIkQ,KAAJ,CAAU,+CAAV,CAA9B,EAAyFtb,CAAC,CAACuvE,MAA3F,CAAP;AAA0G;;AAAA,YAAG/tE,CAAH,EAAK,MAAM4J,CAAC,CAAC,4BAAD,EAA8B,IAAIkQ,KAAJ,CAAU,wCAAV,CAA9B,EAAkFtb,CAAC,CAACuvE,MAApF,CAAP;AAAmG;;AAAA,UAAG7tE,CAAC,IAAElB,CAAC,CAAC83D,MAAF,GAAS,aAAWl4D,CAAC,CAACk4D,MAAb,GAAoB,QAApB,GAA6B,UAAQl4D,CAAC,CAACk4D,MAAV,GAAiB,KAAjB,GAAuB,MAA7D,EAAoEl4D,CAAC,CAACwpB,IAAF,GAAO3pB,CAAC,GAAC4B,qEAAC,CAAC5B,CAAD,EAAGK,CAAH,CAAV,IAAiBE,CAAC,CAACopB,IAAF,GAAOxoB,gEAAC,CAACd,CAAD,CAAR,EAAYE,CAAC,CAACqvE,OAAF,KAAYrvE,CAAC,CAACqvE,OAAF,GAAU,EAAtB,CAAZ,EAAsCrvE,CAAC,CAACqvE,OAAF,CAAU,cAAV,IAA0B,mCAAjF,CAAtE,IAA6L5vE,CAAC,GAAC4B,qEAAC,CAAC5B,CAAD,EAAGK,CAAH,CAAjM,EAAuMkB,CAAC,KAAGxB,CAAC,CAAC0vE,QAAF,GAAW,CAAC,CAAZ,EAAczvE,CAAC,GAAE,GAAEY,CAAE,IAAGZ,CAAE,EAA7B,CAAxM,EAAwOK,CAAC,CAACkH,KAAF,IAASmF,CAAT,IAAYnM,CAAC,CAACopB,IAAF,YAAkBgyC,QAA9B,IAAwC,CAAC1vD,iFAAC,CAACjM,CAAD,CAA1C,IAA+CO,CAAC,CAACopB,IAAF,CAAOlkB,GAAP,CAAW,OAAX,EAAmBpF,CAAC,CAACkH,KAArB,CAAvR,EAAmTpH,CAAC,CAACsxB,cAAF,CAAiB,iBAAjB,CAAtT,EAA0V1xB,CAAC,CAAC03D,eAAF,GAAkBt3D,CAAC,CAACs3D,eAApB,CAA1V,KAAmY,IAAG,CAAChmD,gEAAC,CAACzR,CAAD,EAAGmC,4DAAC,EAAJ,CAAL,EAAa,IAAGd,kEAAC,CAACrB,CAAD,CAAJ,EAAQD,CAAC,CAAC03D,eAAF,GAAkB,CAAC,CAAnB,CAAR,KAAkC,IAAGx3D,0CAAH,EAAK;AAAC,cAAME,CAAC,GAACF,yDAAA,CAAiBD,CAAjB,CAAR;AAA4BG,QAAAA,CAAC,EAAEowE,WAAH,KAAiBxwE,CAAC,CAAC03D,eAAF,GAAkB,CAAC,CAApC;AAAuC;AAAA13D,MAAAA,CAAC,CAAC03D,eAAF,KAAoBl3D,CAAC,CAAC4vE,WAAF,GAAc,SAAd,EAAwBrnE,kFAAC,CAAC9I,CAAD,CAAD,WAAYuC,4EAAC,CAACd,CAAC,GAACG,qEAAC,CAAC5B,CAAD,EAAGK,CAAH,CAAF,GAAQL,CAAV,CAAb,CAA5C;AAAuE;;AAAA,QAAIa,CAAJ;AAAA,QAAMwK,CAAN;AAAA,QAAQ/I,CAAC,GAAC,CAAV;AAAA,QAAY8I,CAAC,GAAC,CAAC,CAAf;AAAiBxK,IAAAA,CAAC,GAAC,CAAF,KAAM0B,CAAC,GAACod,UAAU,CAAE,MAAI;AAACtU,MAAAA,CAAC,GAAC,CAAC,CAAH,EAAKrL,CAAC,CAACkxB,UAAF,CAAa/U,KAAb,EAAL;AAA0B,KAAjC,EAAmCtb,CAAnC,CAAlB;;AAAyD,QAAG;AAAC,UAAG,0BAAwBT,CAAC,CAAC8d,YAA7B,EAA0C5S,CAAC,GAAC9K,CAAF,EAAI8K,CAAC,CAACzF,GAAF,GAAM5F,CAAV,EAAYG,CAAC,CAACsH,MAAF,GAAS4D,CAAC,CAAC5D,MAAF,GAAStH,CAAC,CAACsH,MAApB,GAA2B,OAAO4D,CAAC,CAAC5D,MAAhD,CAA1C,KAAsG,IAAG,YAAUtH,CAAC,CAAC8d,YAAZ,IAA0B,cAAY1d,CAAC,CAACo6B,KAAxC,IAA+C,UAAQp6B,CAAC,CAAC83D,MAAzD,IAAiE52D,CAAjE,IAAoE6lB,CAAC,CAACnnB,CAAC,CAACyvE,OAAH,CAArE,IAAkF,CAACvvE,CAAD,IAAI,CAACN,CAAC,CAAC0vE,QAAP,IAAiBvkE,CAAC,CAACwb,QAAnB,IAA6B,CAAC3f,CAAC,CAAC/G,CAAD,CAApH,EAAwH;AAAC,YAAGoG,CAAC,CAACoqE,YAAF,WAAsBpqE,CAAC,CAACoqE,YAAF,CAAexwE,CAAf,EAAiBO,CAAjB,CAAtB,GAA0CM,CAAC,SAAOooB,KAAK,CAACjpB,CAAD,EAAGO,CAAH,CAAvD,EAA6D6F,CAAC,CAACqqE,WAAF,WAAqBrqE,CAAC,CAACqqE,WAAF,CAAc5vE,CAAd,CAArB,CAA7D,EAAmGd,CAAC,CAAC0vE,QAAF,IAAYnkE,CAAC,CAACtL,CAAD,CAAhH,EAAoH,aAAWG,CAAC,CAAC8d,YAApI,EAAiJ5S,CAAC,GAACxK,CAAF,CAAjJ,KAA0J,IAAG,WAASN,CAAC,CAAC83D,MAAd,EAAqB,IAAGx3D,CAAC,CAACib,EAAL,EAAQ;AAAC,kBAAOrb,CAAP;AAAU,iBAAI,cAAJ;AAAmB4K,cAAAA,CAAC,SAAOxK,CAAC,CAACsd,WAAF,EAAR;AAAwB;;AAAM,iBAAI,MAAJ;AAAW,iBAAI,OAAJ;AAAY9S,cAAAA,CAAC,SAAOxK,CAAC,CAACqoB,IAAF,EAAR;AAAiB;;AAAM;AAAQ7d,cAAAA,CAAC,SAAOxK,CAAC,CAACuL,IAAF,EAAR;AAAjH;;AAAkI,cAAG9J,CAAC,KAAGqd,YAAY,CAACrd,CAAD,CAAZ,EAAgBA,CAAC,GAAC,CAArB,CAAD,EAAyB,WAAS7B,CAAT,IAAY,UAAQA,CAApB,IAAuB,eAAaA,CAAhE,EAAkE,IAAG4K,CAAH,EAAK,QAAO5K,CAAP;AAAU,iBAAI,MAAJ;AAAW4K,cAAAA,CAAC,GAACmb,IAAI,CAAC3R,KAAL,CAAWxJ,CAAX,CAAF;AAAgB;;AAAM,iBAAI,KAAJ;AAAUA,cAAAA,CAAC,GAAC4c,CAAC,CAAC5c,CAAD,EAAG,iBAAH,CAAH;AAAyB;;AAAM,iBAAI,UAAJ;AAAeA,cAAAA,CAAC,GAAC4c,CAAC,CAAC5c,CAAD,EAAG,WAAH,CAAH;AAAnG,WAAL,MAAgIA,CAAC,GAAC,IAAF;;AAAO,cAAGA,CAAH,EAAK;AAAC,gBAAG,mBAAiB5K,CAAjB,IAAoB,WAASA,CAAhC,EAAkC;AAAC,oBAAMV,CAAC,GAACc,CAAC,CAAC+uE,OAAF,CAAU/1D,GAAV,CAAc,cAAd,CAAR;AAAsC,kBAAG9Z,CAAC,IAAE,iCAAiCynB,IAAjC,CAAsCznB,CAAtC,CAAH,IAA6CsL,CAAC,CAAC,WAAS5K,CAAT,GAAW,MAAX,GAAkB,YAAnB,CAAD,IAAmC,GAAnF,EAAuF,IAAG;AAAC,sBAAMV,CAAC,SAAO,IAAI2wE,QAAJ,CAAarlE,CAAb,EAAgBvD,IAAhB,EAAd;AAAqC/H,gBAAAA,CAAC,CAACyD,KAAF,KAAU6H,CAAC,GAACtL,CAAZ;AAAe,eAAxD,CAAwD,MAAK,CAAE;AAAC;;AAAA,wBAAUU,CAAV,IAAa4K,CAAC,YAAYmT,IAA1B,KAAiCnT,CAAC,SAAOsc,CAAC,CAAC5J,GAAG,CAACC,eAAJ,CAAoB3S,CAApB,CAAD,EAAwBtL,CAAxB,EAA0B,CAAC,CAA3B,CAA1C;AAAyE;AAAC,SAApoB,MAAwoB;AAACsL,UAAAA,CAAC,SAAOxK,CAAC,CAACuL,IAAF,EAAR;;AAAiB,cAAG;AAACf,YAAAA,CAAC,GAACmb,IAAI,CAAC3R,KAAL,CAAWxJ,CAAX,CAAF;AAAgB,WAApB,CAAoB,MAAK,CAAE;AAAC;AAAC,OAA/9B,MAAo+BA,CAAC,SAAOsc,CAAC,CAAC3nB,CAAD,EAAGD,CAAH,CAAT;AAAe,KAA7lC,CAA6lC,OAAMsC,CAAN,EAAQ;AAAC,UAAG,iBAAeA,CAAC,CAAC8X,IAApB,EAAyB;AAAC,YAAG/O,CAAH,EAAK,MAAMvJ,6EAAC,EAAP;AAAU,cAAMnB,uEAAC,CAAC,kBAAD,CAAP;AAA4B;;AAAA,UAAG,EAAE,CAACG,CAAD,IAAIwB,CAAC,YAAYwY,SAAjB,IAA4B3P,CAAC,CAACwb,QAAhC,KAA2CvmB,CAAC,CAACwpB,IAA7C,IAAmD,aAAWxpB,CAAC,CAACk4D,MAAhE,IAAwE,WAASl4D,CAAC,CAACk4D,MAAnF,IAA2F,WAASl4D,CAAC,CAACk4D,MAAtG,IAA8G,UAAQl4D,CAAC,CAACk4D,MAAxH,IAAgIt4D,CAAC,CAAC0vE,QAAlI,IAA4I1oE,CAAC,CAAC/G,CAAD,CAAhJ,EAAoJ,MAAMqC,CAAN;AAAQtC,MAAAA,CAAC,CAACwvE,WAAF,GAAc,CAAC,CAAf,EAAiBhkE,+DAAC,CAAC;AAACmb,QAAAA,QAAQ,EAACxb,CAAC,CAACwb,QAAZ;AAAqBQ,QAAAA,SAAS,EAACjmB,4DAAC,CAACjB,CAAD,CAAD,IAAM;AAArC,OAAD,CAAlB;AAA6D,KAAp4C,SAA24C;AAACsC,MAAAA,CAAC,IAAEqd,YAAY,CAACrd,CAAD,CAAf;AAAmB;;AAAA,WAAM,CAACzB,CAAD,EAAGwK,CAAH,CAAN;AAAY;;;;SAAeG;;;;;yMAAf,WAAiBzL,CAAjB,EAAmBE,CAAnB,EAAqB;AAAC,QAAG,QAAMF,CAAC,CAAC4wE,YAAX,EAAwB,OAAO5wE,CAAC,CAAC4wE,YAAT;;AAAsB,QAAG5wE,CAAC,CAAC6vE,OAAF,KAAY3vE,CAAC,CAAC+xB,cAAF,CAAiB49C,OAAjB,GAAyB,EAAC,GAAG3vE,CAAC,CAAC+xB,cAAF,CAAiB49C,OAArB;AAA6B,SAAG7vE,CAAC,CAAC6vE;AAAlC,KAArC,GAAiF7vE,CAAC,CAACmH,KAAF,KAAUjH,CAAC,CAAC+xB,cAAF,CAAiB9qB,KAAjB,GAAuB,EAAC,GAAGjH,CAAC,CAAC+xB,cAAF,CAAiB9qB,KAArB;AAA2B,SAAGnH,CAAC,CAACmH;AAAhC,KAAjC,CAAjF,EAA0JnH,CAAC,CAAC6wE,MAA/J,EAAsK;AAAC,UAAIrwE,CAAJ,EAAMF,CAAN;;AAAQ,UAAG;AAACA,QAAAA,CAAC,SAAON,CAAC,CAAC6wE,MAAF,CAAS3wE,CAAT,CAAR;AAAoB,OAAxB,CAAwB,OAAME,CAAN,EAAQ;AAACI,QAAAA,CAAC,GAAC4K,CAAC,CAAC,qBAAD,EAAuBhL,CAAvB,EAAyBF,CAAzB,CAAH;AAA+B;;AAAA,UAAG,CAACI,CAAC,YAAYgb,KAAb,IAAoBhb,CAAC,YAAYL,sDAAlC,MAAuCO,CAAC,GAAC4K,CAAC,CAAC,qBAAD,EAAuB9K,CAAvB,EAAyBJ,CAAzB,CAA1C,GAAuEM,CAA1E,EAA4E,MAAMR,CAAC,CAACyD,KAAF,IAASzD,CAAC,CAACyD,KAAF,CAAQjD,CAAR,CAAT,EAAoBA,CAA1B;AAA4B,aAAOF,CAAP;AAAS;AAAC;;;;AAAA,SAASinB,CAAT,CAAWvnB,CAAX,EAAa;AAAC,MAAGA,CAAH,EAAK,KAAI,MAAME,CAAV,IAAema,MAAM,CAACy2D,mBAAP,CAA2B9wE,CAA3B,CAAf,EAA6C,IAAGA,CAAC,CAACE,CAAD,CAAJ,EAAQ,OAAM,CAAC,CAAP;AAAS,SAAM,CAAC,CAAP;AAAS;;AAAA,SAASgoB,CAAT,CAAWloB,CAAX,EAAaE,CAAb,EAAe;AAAC,MAAID,CAAJ;;AAAM,MAAG;AAACA,IAAAA,CAAC,GAAE,IAAI8wE,SAAJ,EAAD,CAAgBC,eAAhB,CAAgChxE,CAAhC,EAAkCE,CAAlC,CAAF;AAAuC,GAA3C,CAA2C,MAAK,CAAE;;AAAA,MAAG,CAACD,CAAD,IAAIA,CAAC,CAACgxE,oBAAF,CAAuB,aAAvB,EAAsCpjE,MAA7C,EAAoD,MAAM,IAAIqjE,WAAJ,CAAgB,iBAAhB,CAAN;AAAyC,SAAOjxE,CAAP;AAAS;;SAAe6nB;;;;;yMAAf,WAAiB9nB,CAAjB,EAAmB;AAAC,QAAIC,CAAJ,EAAMG,CAAN;AAAQ,UAAMinB,CAAC,CAACrnB,CAAD,CAAP;;AAAW,QAAG;AAAC,SAAE;AAAC,SAACC,CAAD,EAAGG,CAAH,UAAYgoB,CAAC,CAACpoB,CAAD,CAAb;AAAiB,OAApB,QAA0B,QAAOqS,CAAC,CAACrS,CAAD,EAAGC,CAAH,EAAKG,CAAL,CAAR,CAA1B;AAA2C,KAA/C,CAA+C,OAAMO,CAAN,EAAQ;AAAC,YAAMT,CAAC,GAACkL,CAAC,CAAC,gBAAD,EAAkBzK,CAAlB,EAAoBX,CAAC,CAACuvE,MAAtB,EAA6BtvE,CAA7B,CAAT;AAAyC,YAAMC,CAAC,CAACuyB,OAAF,CAAUT,GAAV,GAAchyB,CAAC,CAAC2vE,MAAhB,EAAuB3vE,CAAC,CAACsvE,WAAF,EAAe7rE,KAAf,IAAsBzD,CAAC,CAACsvE,WAAF,CAAc7rE,KAAd,CAAoBvD,CAApB,CAA7C,EAAoEA,CAA1E;AAA4E;;AAAA,UAAMM,CAAC,GAACR,CAAC,CAACuvE,MAAF,CAAS1pE,GAAjB;;AAAqB,QAAGzF,CAAC,IAAE,6CAA6CqnB,IAA7C,CAAkDjnB,CAAlD,CAAN,EAA2D;AAAC,UAAG,CAACR,CAAC,CAACqvE,QAAH,IAAa,CAACrvE,CAAC,CAACmvE,eAAhB,IAAiC/uE,CAAC,CAACulB,IAAF,EAAQi1C,QAAzC,IAAmD,CAACt5D,kEAAC,CAACd,CAAD,CAAxD,EAA4D;AAAC,cAAMR,CAAC,GAACkB,4DAAC,CAACV,CAAD,EAAG,CAAC,CAAJ,CAAT;AAAgBR,QAAAA,CAAC,IAAEmL,CAAC,CAAC0c,cAAF,CAAiB/iB,IAAjB,CAAsB9E,CAAtB,CAAH;AAA4B;;AAAAuG,MAAAA,KAAK,CAACC,OAAN,CAAcpG,CAAC,CAAC+wE,kCAAhB,KAAqD5uE,gFAAC,CAACnC,CAAC,CAAC+wE,kCAAH,CAAtD;AAA6F;;AAAA,UAAM7wE,CAAC,GAACN,CAAC,CAAC63C,UAAV;;AAAqB,QAAGv3C,CAAC,IAAEJ,0CAAN,EAAQ;AAAC,YAAMF,CAAC,GAACE,yDAAA,CAAiBI,CAAC,CAAC8wE,MAAnB,CAAR;AAAmC,UAAInxE,CAAC,GAACD,CAAC,EAAEi4C,eAAT;;AAAyB,UAAGh4C,CAAH,EAAK;AAACA,QAAAA,CAAC,GAACA,CAAC,CAACsQ,OAAF,CAAU,MAAV,EAAiB,UAAjB,CAAF;AAA+B,cAAMvQ,CAAC,GAACE,yDAAA,CAAiBD,CAAjB,EAAmBK,CAAC,CAAC+wE,MAArB,CAAR;AAAqCrxE,QAAAA,CAAC,IAAE,CAAC,CAAD,KAAKE,8DAAA,CAAsBD,CAAtB,EAAwBD,CAAxB,CAAR,IAAoCA,CAAC,CAACuxE,SAAF,CAAY3vC,OAAZ,CAAoB3hC,CAApB,CAApC;AAA2D;AAAC;;AAAA,WAAM;AAACiE,MAAAA,IAAI,EAAC9D,CAAN;AAAQ4uE,MAAAA,aAAa,EAAC/uE,CAAC,GAAC,MAAIsG,KAAK,CAACiZ,IAAN,CAAWvf,CAAC,CAAC4vE,OAAb,CAAL,GAA2B3oD,CAAlD;AAAoDvI,MAAAA,SAAS,EAAC1e,CAAC,GAACD,CAAC,IAAEC,CAAC,CAAC4vE,OAAF,CAAU/1D,GAAV,CAAc9Z,CAAd,CAAJ,GAAqBknB,CAApF;AAAsF6K,MAAAA,UAAU,EAAC9xB,CAAC,EAAEwf,MAAH,IAAW,GAA5G;AAAgHwS,MAAAA,cAAc,EAACjyB,CAAC,CAACuvE,MAAF,CAASt9C,cAAxI;AAAuJD,MAAAA,GAAG,EAAChyB,CAAC,CAAC2vE,MAA7J;AAAoK9pE,MAAAA,GAAG,EAAC7F,CAAC,CAACuvE,MAAF,CAAS1pE;AAAjL,KAAN;AAA4L;;;;SAAewM;;;;;yMAAf,WAAiBrS,CAAjB,EAAmBC,CAAnB,EAAqBG,CAArB,EAAuB;AAAC,QAAGJ,CAAC,CAACwvE,WAAL,EAAiB,OAAOxvE,CAAC,CAACwvE,WAAF,GAAc,CAAC,CAAf,EAAiB,CAAC,CAAzB;AAA2B,UAAMhvE,CAAC,GAACR,CAAC,CAACuvE,MAAF,CAASt9C,cAAjB;AAAgC,QAAG,CAAChyB,CAAD,IAAI,aAAWO,CAAC,CAAC0d,YAAjB,IAA+B,0BAAwB1d,CAAC,CAAC0d,YAA5D,EAAyE,OAAM,CAAC,CAAP;AAAS,QAAI5d,CAAJ,EAAMK,CAAN;AAAQ,QAAGP,CAAC,KAAGA,CAAC,CAACqD,KAAF,IAAS,YAAU,OAAOrD,CAAC,CAACqD,KAA5B,GAAkCnD,CAAC,GAACF,CAAC,CAACqD,KAAtC,GAA4C,YAAUrD,CAAC,CAACqf,MAAZ,IAAoBlZ,KAAK,CAACC,OAAN,CAAcpG,CAAC,CAACkJ,QAAhB,CAApB,KAAgDhJ,CAAC,GAAC,EAAC,GAAGF;AAAJ,KAAF,EAASE,CAAC,CAAC6B,CAAD,CAAD,GAAK/B,CAAd,EAAgBE,CAAC,CAACmyB,OAAF,GAAUryB,CAAC,CAACkJ,QAA5E,CAA/C,CAAD,EAAuI,CAAChJ,CAAD,IAAI,CAACL,CAAC,CAAC8b,EAAjJ,EAAoJ,MAAMzb,CAAC,GAAC,IAAIgb,KAAJ,CAAW,kBAAiBrb,CAAC,CAAC4F,GAAI,YAAW5F,CAAC,CAACwf,MAAO,EAAtD,CAAF,EAA2Dnf,CAAC,CAAC6B,CAAD,CAAD,GAAK/B,CAAhE,EAAkEE,CAAxE;AAA0E,QAAII,CAAJ;AAAA,QAAMG,CAAC,GAAC,IAAR;AAAaP,IAAAA,CAAC,KAAGK,CAAC,GAACoJ,MAAM,CAACzJ,CAAC,CAACg1C,IAAH,CAAR,EAAiBz0C,CAAC,GAACP,CAAC,CAACoxB,cAAF,CAAiB,SAAjB,IAA4B3nB,MAAM,CAACzJ,CAAC,CAAC0vE,OAAH,CAAlC,GAA8C,IAAjE,EAAsEtvE,CAAC,GAACJ,CAAC,CAAC2vE,WAA1E,EAAsFvvE,CAAC,GAACA,CAAC,EAAEo9B,WAAH,EAA3F,CAAD;AAA8G,UAAMt8B,CAAC,GAAChB,CAAC,CAAC23C,QAAV;;AAAmB,QAAG,QAAMx3C,CAAN,KAAU,MAAIE,CAAJ,IAAOP,CAAC,CAAC+wB,OAAF,EAAWzhB,WAAX,GAAyBkiB,QAAzB,CAAkC,KAAlC,KAA0C,CAACxxB,CAAC,CAAC+wB,OAAF,CAAUzhB,WAAV,GAAwBkiB,QAAxB,CAAiC,YAAjC,CAA5D,CAAH,EAA+G;AAAC,UAAG,CAAC9xB,CAAC,CAAC2vE,MAAN,EAAa,OAAO3vE,CAAC,CAAC2vE,MAAF,GAAS,CAAC,CAAV,EAAY,CAAC,CAApB;AAAsB,KAAnJ,MAAwJ,IAAG,CAAC3vE,CAAC,CAACqvE,QAAH,IAAarvE,CAAC,CAACyvE,WAAf,KAA6B,gBAAcjuE,CAAd,IAAiB,QAAMb,CAApD,KAAwD,KAAK,CAAL,KAASA,CAAjE,IAAoEZ,CAAC,CAACsP,GAAF,CAAM1O,CAAN,CAApE,IAA8E,CAACkM,CAAC,CAAC7M,CAAC,CAACuvE,MAAF,CAAS1pE,GAAV,CAAhF,KAAiG,QAAMlF,CAAN,IAAS,CAAC,CAACD,CAAD,IAAI,CAACof,CAAC,CAACzQ,GAAF,CAAM3O,CAAN,CAAN,MAAkB,QAAMG,CAAN,IAAS,MAAIA,CAAJ,IAAOb,CAAC,CAACmvE,eAApC,CAA1G,CAAH,EAAmK;AAAC,YAAMr8D,CAAC,EAAP;;AAAU,UAAG;AAAC,cAAM7S,CAAC,SAAOC,wDAAA,CAAgBF,CAAC,CAACuvE,MAAF,CAAS1pE,GAAzB,EAA6B;AAACpC,UAAAA,KAAK,EAAC2H,CAAC,CAAC,gBAAD,EAAkB9K,CAAlB,EAAoBN,CAAC,CAACuvE,MAAtB,CAAR;AAAsC53B,UAAAA,MAAM,EAAC,gBAAcn2C,CAA3D;AAA6DkG,UAAAA,MAAM,EAAC1H,CAAC,CAACkxB,UAAF,CAAaxpB,MAAjF;AAAwFF,UAAAA,KAAK,EAACxH,CAAC,CAACmvE;AAAhG,SAA7B,CAAd;AAA6J,eAAOnvE,CAAC,CAAC63C,UAAF,GAAa53C,CAAb,EAAeD,CAAC,CAACmvE,eAAF,GAAkBlvE,CAAC,CAACuH,KAAnC,EAAyCxH,CAAC,CAAC2vE,MAAF,GAAS3vE,CAAC,CAAC2vE,MAAF,IAAU1vE,CAAC,CAAC+xB,GAA9D,EAAkE,CAAC,CAA1E;AAA4E,OAA7O,CAA6O,OAAMhxB,CAAN,EAAQ;AAAC,YAAG,gBAAcQ,CAAjB,EAAmB,OAAOxB,CAAC,CAAC63C,UAAF,GAAa,KAAK,CAAlB,EAAoB73C,CAAC,CAACmvE,eAAF,GAAkB,KAAK,CAA3C,EAA6C,CAAC,CAArD;AAAuD7uE,QAAAA,CAAC,GAACU,CAAF;AAAI;AAAC;;AAAA,QAAGV,CAAH,EAAK,MAAMA,CAAN;AAAQ,WAAM,CAAC,CAAP;AAAS;;;;AAAA,SAASsnB,CAAT,CAAW5nB,CAAX,EAAaE,CAAb,EAAeD,CAAC,GAAC,CAAC,CAAlB,EAAoB;AAAC,QAAMG,CAAC,GAACF,CAAC,CAACgxB,UAAF,CAAaxpB,MAArB;AAAA,QAA4BlH,CAAC,GAAC,IAAIgxE,KAAJ,EAA9B;AAAwC,SAAOtxE,CAAC,CAACw3D,eAAF,GAAkBl3D,CAAC,CAACixE,WAAF,GAAc,iBAAhC,GAAkDjxE,CAAC,CAACixE,WAAF,GAAc,WAAhE,EAA4EjxE,CAAC,CAACkxE,GAAF,GAAM,EAAlF,EAAqFlxE,CAAC,CAACmxE,aAAF,GAAgBxmE,CAAC,CAACklE,QAAvG,EAAgH7vE,CAAC,CAACoxE,GAAF,GAAM5xE,CAAtH,EAAwHqL,yEAAC,CAAC7K,CAAD,EAAGR,CAAH,EAAKC,CAAL,EAAOG,CAAP,CAAhI;AAA0I;;AAAAiG,CAAC,CAACupE,YAAF,GAAe,CAAC,iCAAD,EAAmC,mCAAnC,CAAf,EAAuFvpE,CAAC,CAACoqE,YAAF,GAAe,KAAK,CAA3G,EAA6GpqE,CAAC,CAACqqE,WAAF,GAAc,KAAK,CAAhI;;;;;;;;;;;;;;;;;;;;;;;;ACJxwU;AACA;AACA;AACA;AACA;AAA0B;AAAgC;AAAgF;AAAgF;;SAAsDhwE;;;;;yMAAf,WAAiBA,CAAjB,EAAmBC,CAAnB,EAAqBG,CAArB,EAAuBI,CAAvB,EAAyB;AAAC,UAAMZ,CAAC,GAACE,mDAAC,CAACE,CAAD,CAAT;AAAA,UAAac,CAAC,GAACb,CAAC,CAAC,CAAD,CAAD,CAAKiC,gBAApB;AAAA,UAAqC5B,CAAC,GAAC,EAAC,GAAGE,CAAJ;AAAMgd,MAAAA,YAAY,EAAC,MAAnB;AAA0B/W,MAAAA,KAAK,EAAC,EAAC,GAAG7G,CAAC,CAAC6G,KAAN;AAAYvF,QAAAA,CAAC,EAAC,MAAd;AAAqBy/B,QAAAA,EAAE,EAACjhC,yFAAC,CAACoB,CAAD,CAAzB;AAA6ByG,QAAAA,MAAM,EAACwe,IAAI,CAACC,SAAL,CAAe;AAACskB,UAAAA,YAAY,EAAC9qC,2EAAC,CAACS,CAAC,CAAC,CAAD,CAAF,CAAf;AAAsBy2B,UAAAA,UAAU,EAACz2B;AAAjC,SAAf,CAApC;AAAwFoxE,QAAAA,MAAM,EAACtrD,IAAI,CAACC,SAAL,CAAe5lB,CAAf;AAA/F;AAAhC,KAAvC;AAAA,UAA0Lc,CAAC,SAAO5B,uDAAC,CAACM,CAAC,CAACmlB,IAAF,GAAO,MAAR,EAAezkB,CAAf,CAAnM;AAAA,UAAqN;AAACi7B,MAAAA,UAAU,EAAC76B,CAAZ;AAAcg2B,MAAAA,UAAU,EAACn1B,CAAC,GAAC;AAA3B,QAA+BL,CAAC,CAACsC,IAAtP;AAA2P,WAAM;AAAC+3B,MAAAA,UAAU,EAAC76B,CAAZ;AAAcg2B,MAAAA,UAAU,EAACn1B,CAAC,CAACsD,GAAF,CAAOvF,CAAC,IAAE;AAAC,cAAME,CAAC,GAACD,wEAAC,CAACD,CAAD,CAAT;AAAa,eAAOE,CAAC,CAAC0C,gBAAF,GAAmBpB,CAAnB,EAAqBtB,CAA5B;AAA8B,OAAtD;AAAzB,KAAN;AAAyF;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACJ/mB;AACA;AACA;AACA;AACA;AAAgC;AAAsE;AAAkE;AAA2D;AAA8C;AAA+C,MAAMQ,CAAC,GAACF,+EAAC,CAACU,qEAAD,CAAT;;SAA4BP;;;;;yMAAf,WAAiBH,CAAjB,EAAmBU,CAAnB,EAAqBP,CAArB,EAAuB;AAACO,IAAAA,CAAC,GAACR,CAAC,CAACQ,CAAD,CAAH;AAAO,UAAMM,CAAC,GAACxB,mDAAC,CAACQ,CAAD,CAAT;AAAA,UAAaQ,CAAC,GAAC,EAAC,GAAGQ,CAAC,CAAC2F,KAAN;AAAYvF,MAAAA,CAAC,EAAC,MAAd;AAAqB,SAAGV,CAAC,CAACqJ,MAAF;AAAxB,KAAf;AAAA,UAAmDjI,CAAC,GAACpB,CAAC,CAAC8vD,mBAAvD;AAAA,UAA2E1wD,CAAC,GAACJ,2EAAC,CAACgB,CAAC,CAACk2B,UAAF,CAAa,CAAb,CAAD,CAA9E;AAAA,UAAgGx1B,CAAC,GAACxB,yDAAC,CAACY,CAAD,EAAGL,CAAH,CAAnG;AAAyG,WAAOV,uDAAC,CAACuB,CAAC,CAACikB,IAAF,GAAO,UAAR,EAAmB7jB,CAAnB,CAAD,CAAuBoE,IAAvB,CAA6B,CAAC;AAAC9B,MAAAA,IAAI,EAAC;AAACkzB,QAAAA,UAAU,EAACn3B;AAAZ;AAAN,KAAD,KAAyBa,2DAAC,CAACb,CAAD,EAAGK,CAAH,EAAKgC,CAAL,CAAvD,CAAP;AAAwE;;;;;;;;;;;;;;;;;;;;;;;;;;;ACJ7hB;AACA;AACA;AACA;AACA;AAAgC;AAAqD;AAAkE;AAAgF;;SAAmFpB;;;;;yMAAf,WAAiBA,CAAjB,EAAmBJ,CAAnB,EAAqBc,CAArB,EAAuB;AAAC,UAAMjB,CAAC,GAAC,YAAU,OAAOO,CAAjB,GAAmBhB,8DAAC,CAACgB,CAAD,CAApB,GAAwBA,CAAhC;AAAA,UAAkCZ,CAAC,GAACQ,CAAC,CAAC,CAAD,CAAD,CAAK8B,gBAAzC;AAAA,UAA0DpB,CAAC,GAACxB,2EAAC,CAACc,CAAC,CAAC,CAAD,CAAF,CAA7D;AAAA,UAAoED,CAAC,GAAC,EAAC,GAAGe,CAAJ;AAAMuF,MAAAA,KAAK,EAAC,EAAC,GAAGxG,CAAC,CAACwG,KAAN;AAAYvF,QAAAA,CAAC,EAAC,MAAd;AAAqBy/B,QAAAA,EAAE,EAACjhC,yFAAC,CAACE,CAAD,CAAzB;AAA6B82B,QAAAA,UAAU,EAAC3Q,IAAI,CAACC,SAAL,CAAelmB,2DAAC,CAACM,CAAD,CAAhB;AAAxC;AAAZ,KAAtE;AAAA,UAAiJ;AAACoD,MAAAA,IAAI,EAAC9C;AAAN,cAAenB,uDAAC,CAACU,CAAC,CAAC8kB,IAAF,GAAO,WAAR,EAAoB5kB,CAApB,CAAjK;AAAwL,WAAOH,2DAAC,CAACU,CAAC,CAACg2B,UAAH,EAAc51B,CAAd,EAAgBlB,CAAhB,CAAR;AAA2B;;;;;;;;;;;;;;;;;;;;;ACJthB;AACA;AACA;AACA;AACuF,cAAc,OAAO,aAAa,2EAAC,0CAA0C,kBAAkB,QAAQ,+EAAC,IAAI,kBAAkB,sBAAsB,8BAA8B,GAAuD;;;;;;;;;;;;;;;;;;;;;;;;;;ACJhU;AACA;AACA;AACA;AACof,oBAAoB,6DAAC,CAAC,eAAe,iEAAiE,uDAAC,EAAE,sFAAC,EAAE,KAAK,6DAAC,OAAO,SAAS,aAAa,8BAA8B,uDAAC,EAAE,sFAAC,EAAE,KAAK,+DAAC,OAAO,MAAM,eAAe,QAAQ,gBAAgB,aAAa,oCAAoC,uDAAC,EAAE,sFAAC,EAAE,KAAK,4DAAC,OAAO,SAAS,aAAa,mCAAmC,uDAAC,EAAE,sFAAC,sDAAsD,UAA+B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACJv7B;AACA;AACA;AACA;AACmsB,oBAAoB,6DAAC,CAAC,eAAe,+OAA+O,4BAA4B,WAAW,2DAAC,EAAE,0FAA0F,EAAE,6BAA6B,qGAAqG,0BAA0B,WAAW,2DAAC,EAAE,oFAAoF,EAAE,2BAA2B,iGAAiG,uDAAC,EAAE,sFAAC,EAAE,kBAAkB,UAAU,kCAAkC,uDAAC,EAAE,sFAAC,EAAE,KAAK,+FAAW,OAAO,KAAK,gGAAY,MAAM,0FAAM,OAAO,2FAAO,EAAE,yCAAyC,uDAAC,EAAE,sFAAC,EAAE,KAAK,2DAAC,OAAO,OAAO,QAAQ,cAAc,YAAY,sBAAsB,YAAY,iBAAiB,cAAc,OAAO,iEAAiE,4CAA4C,uDAAC,EAAE,kFAAC,mEAAmE,uDAAC,EAAE,kFAAC,oEAAoE,uDAAC,EAAE,sFAAC,EAAE,KAAK,2DAAC,OAAO,OAAO,QAAQ,YAAY,YAAY,oBAAoB,YAAY,eAAe,cAAc,OAAO,2DAA2D,0CAA0C,uDAAC,EAAE,kFAAC,+DAA+D,uDAAC,EAAE,kFAAC,gEAAgE,uDAAC,EAAE,sFAAC,EAAE,KAAK,8DAAC,OAAO,UAAU,kCAAkC,uDAAC,EAAE,sFAAC,EAAE,kBAAkB,UAAU,sCAAsC,uDAAC,EAAE,sFAAC,EAAE,kBAAkB,UAAU,sCAAsC,uDAAC,EAAE,sFAAC,EAAE,kBAAkB,UAAU,mCAAmC,uDAAC,EAAE,sFAAC,EAAE,mBAAmB,UAAU,0CAA0C,uDAAC,EAAE,sFAAC,EAAE,kBAAkB,UAAU,kCAAkC,uDAAC,EAAE,sFAAC,+CAA+C,UAA+B;;;;;;;;;;;;;;;;;;;;;;;ACJj3F;AACA;AACA;AACA;AAC4W,oBAAoB,6DAAC,CAAC,eAAe,kFAAkF,uDAAC,EAAE,sFAAC,EAAE,4DAA4D,SAAS,aAAa,sCAAsC,uDAAC,EAAE,sFAAC,EAAE,kBAAkB,SAAS,aAAa,8CAA8C,uDAAC,EAAE,sFAAC,EAAE,kBAAkB,SAAS,aAAa,kCAAkC,uDAAC,EAAE,sFAAC,kDAAkD,UAA+B;;;;;;;;;;;;;;;;;;;;;;;ACJl2B;AACA;AACA;AACA;AAC4W,oBAAoB,6DAAC,CAAC,eAAe,6LAA6L,uDAAC,EAAE,sFAAC,EAAE,kBAAkB,UAAU,wCAAwC,uDAAC,EAAE,sFAAC,EAAE,kBAAkB,UAAU,uCAAuC,uDAAC,EAAE,sFAAC,EAAE,kBAAkB,UAAU,kCAAkC,uDAAC,EAAE,sFAAC,EAAE,kBAAkB,UAAU,yCAAyC,uDAAC,EAAE,sFAAC,EAAE,kBAAkB,UAAU,kCAAkC,uDAAC,EAAE,sFAAC,EAAE,kBAAkB,UAAU,sCAAsC,uDAAC,EAAE,sFAAC,EAAE,kBAAkB,UAAU,oCAAoC,uDAAC,EAAE,sFAAC,EAAE,kBAAkB,UAAU,sCAAsC,uDAAC,EAAE,sFAAC,kDAAkD,UAA+B;;;;;;;;;;;;;;;;;;;;;;;;;;ACJ/tC;AACA;AACA;AACA;AACyd,oBAAoB,6DAAC,CAAC,eAAe,yKAAyK,uDAAC,EAAE,sFAAC,EAAE,KAAK,8DAAC,OAAO,SAAS,aAAa,4CAA4C,uDAAC,EAAE,sFAAC,EAAE,MAAM,0DAAC,QAAQ,SAAS,aAAa,kCAAkC,uDAAC,EAAE,sFAAC,EAAE,MAAM,0DAAC,QAAQ,SAAS,aAAa,+CAA+C,uDAAC,EAAE,sFAAC,EAAE,mBAAmB,SAAS,aAAa,8CAA8C,uDAAC,EAAE,sFAAC,EAAE,mBAAmB,SAAS,aAAa,+CAA+C,uDAAC,EAAE,sFAAC,EAAE,oBAAoB,SAAS,aAAa,oCAAoC,uDAAC,EAAE,sFAAC,+CAA+C,UAA+B;;;;;;;;;;;;;;;;;;;;;;;ACJpwC;AACA;AACA;AACA;AAC4W,oBAAoB,6DAAC,CAAC,eAAe,6LAA6L,uDAAC,EAAE,sFAAC,EAAE,gBAAgB,mBAAmB,eAAe,+BAA+B,gCAAgC,uDAAC,EAAE,sFAAC,EAAE,mBAAmB,UAAU,oCAAoC,uDAAC,EAAE,sFAAC,EAAE,mBAAmB,UAAU,+CAA+C,uDAAC,EAAE,sFAAC,EAAE,kBAAkB,UAAU,wCAAwC,uDAAC,EAAE,sFAAC,EAAE,mBAAmB,UAAU,+CAA+C,uDAAC,EAAE,sFAAC,EAAE,oBAAoB,UAAU,sCAAsC,uDAAC,EAAE,sFAAC,EAAE,oBAAoB,UAAU,iDAAiD,uDAAC,EAAE,sFAAC,iEAAiE,UAA+B;;;;;;;;;;;;;;;;ACJ7vC;AACA;AACA;AACA;AACA,cAAc,WAAW,kBAAkB,gCAAgC,aAAa,sDAAsD,QAAQ,YAAY,WAAW,oBAAoB,iEAAiE,SAAoC;;;;;;;;;;;;;;;;;;;;;;;;ACJtS;AACA;AACA;AACA;AACA;AAAuC;AAAqD;AAAwC;;SAAkDF;;;;;yMAAf,WAAiBH,CAAjB,EAAmBC,CAAnB,EAAqBF,CAArB,EAAuB;AAAC,UAAMI,CAAC,SAAOE,CAAC,CAACL,CAAD,EAAGC,CAAH,EAAKF,CAAL,CAAf;AAAuB,WAAOQ,uEAAA,CAAWJ,CAAX,CAAP;AAAqB;;;;SAAeE;;;;;yMAAf,WAAiBE,CAAjB,EAAmBJ,CAAnB,EAAqBE,CAArB,EAAuB;AAAC,UAAMK,CAAC,GAACV,mDAAC,CAACO,CAAD,CAAT;AAAA,UAAaE,CAAC,GAAC,EAAC,GAAGJ;AAAJ,KAAf;AAAA,UAAsBQ,CAAC,GAACd,8DAAA,CAAOI,CAAP,CAAxB;AAAA,UAAkC;AAAC8D,MAAAA,IAAI,EAAC1C;AAAN,cAAetB,kEAAC,CAACS,CAAD,EAAGG,CAAH,EAAKA,CAAC,CAACsxE,sBAAP,EAA8B1xE,CAA9B,CAAlD;AAAmF,WAAOc,CAAP;AAAS;;;;;;;;;;;;;;;;;;;;;ACJ/V;AACA;AACA;AACA;AACuJ,kBAAkB,gFAAgF,kBAAkB,qBAAqB,QAAQ,iFAAC,IAAI,kBAAkB,kBAAkB,wCAAwC,kBAAkB,yBAAyB,kFAAC,8BAA8B,QAAQ,iFAAC,uBAAuB,wCAAwC,mCAAmC,mCAAmC,2FAAiI;;;;;;;;;;;;;;;;;;;;;;;ACJltB;AACA;AACA;AACA;AAC4M,s2BAAs2B,cAAc,6BAA6B,cAAc,6BAA6B,cAAc,6BAA6B,gBAAgB,yDAAyD,kBAAkB,oDAAoD,KAAK,SAAS,iBAAiB,QAAQ,kCAAkC,QAAQ,KAAK,UAAU,2CAA2C,MAAM,iBAAiB,SAAS,kBAAkB,iFAAiF,KAAK,SAAS,iBAAiB,QAAQ,kCAAkC,QAAQ,KAAK,UAAU,kCAAkC,MAAM,QAAQ,kCAAkC,QAAQ,6BAA6B,UAAU,qDAAqD,MAAM,iBAAiB,SAAS,cAAc,uCAAuC,6EAAC,CAAC,0BAA0B,KAAK,SAAS,iBAAiB,QAAQ,kCAAkC,KAAK,UAAU,+BAA+B,MAAM,QAAQ,kCAAkC,KAAK,UAAU,8BAA8B,MAAM,SAAS,8EAAC,cAAc,MAAM,iBAAiB,OAAO,qCAAqC,cAAc,yDAAyD,KAAK,SAAS,iBAAiB,4BAA4B,2BAA2B,4BAA4B,4BAA4B,4BAA4B,2BAA2B,4BAA4B,4BAA4B,0BAA0B,6BAA6B,YAAY,cAAc,gDAAgD,WAAW,KAAK,SAAS,iBAAiB,4BAA4B,MAAM,6BAA6B,MAAM,6BAA6B,MAAM,gCAAgC,MAAM,gBAAgB,MAAM,oCAAoC,MAAM,iBAAiB,SAAS,cAAc,kBAAkB,gBAAgB,KAAK,SAAS,iBAAiB,4BAA4B,MAAM,wCAAwC,MAAM,iBAAiB,SAAS,oBAAoB,uCAAuC,QAAQ,KAAK,SAAS,iBAAiB,QAAQ,oBAAoB,oCAAoC,MAAM,kDAAkD,MAAM,kDAAkD,MAAM,iBAAiB,SAAS,cAAc,iDAAiD,KAAK,SAAS,iBAAiB,0BAA0B,MAAM,0BAA0B,MAAM,0BAA0B,MAAM,0BAA0B,MAAM,iBAAiB,SAAS,cAAc,iDAAiD,KAAK,SAAS,iBAAiB,0BAA0B,MAAM,0BAA0B,MAAM,0BAA0B,MAAM,0BAA0B,MAAM,iBAAiB,SAAS,cAAc,qBAAqB,oBAAoB,gBAAgB,KAAK,SAAS,iBAAiB,uCAAuC,MAAM,mCAAmC,MAAM,uCAAuC,MAAM,iBAAiB,SAAS,cAAc,sBAAsB,gBAAgB,KAAK,SAAS,iBAAiB,0CAA0C,MAAM,4CAA4C,MAAM,6BAA6B,MAAM,iBAAiB,SAAS,gBAAgB,uDAAuD,KAAK,SAAS,iBAAiB,4BAA4B,MAAM,2BAA2B,MAAM,kCAAkC,MAAM,+BAA+B,MAAM,qCAAqC,MAAM,iBAAiB,SAAS,gBAAgB,wGAAwG,sBAAsB,SAAS,KAAK,SAAS,iBAAiB,yCAAyC,MAAM,yCAAyC,MAAM,wCAAwC,MAAM,gDAAgD,MAAM,uCAAuC,MAAM,wDAAwD,MAAM,0BAA0B,MAAM,0BAA0B,MAAM,uCAAuC,MAAM,2CAA2C,MAAM,yCAAyC,MAAM,+FAA+F,MAAM,2CAA2C,MAAM,iBAAiB,kCAAkC,gBAAgB,mBAAmB,WAAW,KAAK,SAAS,iBAAiB,qCAAqC,MAAM,qDAAqD,MAAM,iBAAiB,2DAA2D,gBAAgB,IAAI,gBAAgB,oDAAC,yCAAyC,KAAK,SAAS,4DAA4D,cAAc,SAAS,SAAS,UAAU,sDAAC,mEAAmE,QAAQ,GAA0F;;;;;;;;;;;;;;;;;;;;;;ACJ9sM;AACA;AACA;AACA;AACoX,oGAAoG,QAAQ,eAAe,mFAAmF,sBAAsB,WAAW,+EAAC,CAAC,mBAAmB,wFAAwF,uBAAuB,sFAAsF,kFAAC,6FAA6F,QAAQ,iFAAC,uCAAuC,iFAAC,qBAAqB,oCAAoC,IAAI,iFAAC,aAAa,0BAA0B,YAAY,WAAW,cAAc,gBAAgB,mBAAmB,gBAAgB,WAAW,kFAAC,CAAC,yBAAyB,OAAO,QAAQ,iBAAiB,WAAW,6EAAC,CAAC,cAAc,iBAAiB,uBAAuB,6FAA6F,mBAAmB,kCAAkC,wBAAwB,iBAAiB,eAAe,kBAAkB,sBAAsB,wEAAwE,sBAAsB,WAAW,6EAAC,EAA4E;;;;;;;;;;;;;;;;;ACJ1rD;AACA;AACA;AACA;AACiE,gBAAgB,QAAQ,8EAAC,oGAAoG,0DAA0D,4BAA4B,qEAAqE,sDAAwF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACJjb;AACA;AACA;AACA;AACA;AAAmC;AAAkE;AAAqE;AAAuF;AAAmF;AAA6D;AAA0D;AAA+D,MAAMpB,CAAC,GAAC,4CAAR;;AAAqD,SAASc,CAAT,CAAWhB,CAAX,EAAaF,CAAb,EAAe;AAAC,MAAGA,CAAC,IAAE,aAAWE,CAAC,CAACqD,IAAnB,EAAwB,OAAO,GAAErD,CAAC,CAACgZ,IAAK,IAAGhZ,CAAC,CAACy4B,IAAK,IAAGz4B,CAAC,CAACiZ,IAAK,IAAGjZ,CAAC,CAAC04B,IAAK,EAA9C;AAAgD,MAAG54B,CAAC,IAAE,YAAUE,CAAC,CAACqD,IAAlB,EAAuB,OAAO,GAAErD,CAAC,CAACsC,CAAE,IAAGtC,CAAC,CAACkB,CAAE,EAApB;AAAsB,QAAMT,CAAC,GAACT,CAAC,CAACqK,MAAF,EAAR;AAAmB,SAAO,OAAO5J,CAAC,CAACiC,gBAAT,EAA0B6jB,IAAI,CAACC,SAAL,CAAe/lB,CAAf,CAAjC;AAAmD;;AAAA,SAASS,CAAT,CAAWlB,CAAX,EAAaF,CAAb,EAAe;AAAC,QAAMW,CAAC,GAACT,CAAC,CAACi3B,QAAV;AAAA,QAAmBz2B,CAAC,GAACR,CAAC,CAACqK,MAAF,EAArB;AAAgC,SAAO7J,CAAC,CAACm6C,sBAAT,EAAgC,OAAOn6C,CAAC,CAACq6C,8BAAzC;AAAwE,QAAMv6C,CAAC,GAACE,CAAR;AAAU,MAAIc,CAAJ,EAAMX,CAAN,EAAQT,CAAR;;AAAU,MAAG,QAAMO,CAAN,KAAUE,CAAC,GAACF,CAAC,CAACiC,gBAAJ,EAAqBxC,CAAC,GAACE,yFAAC,CAACO,CAAD,CAAxB,EAA4BL,CAAC,CAACwqC,YAAF,GAAe/qC,2EAAC,CAACU,CAAD,CAA5C,EAAgDH,CAAC,CAAC22B,QAAF,GAAWj2B,CAAC,CAACP,CAAD,EAAGT,CAAC,CAAC26C,sBAAL,CAA5D,EAAyFr6C,CAAC,CAACiyE,IAAF,GAAOryE,CAA1G,GAA6GM,CAAC,CAACgyE,0BAAF,KAA+BlyE,CAAC,CAACkyE,0BAAF,GAA6BhyE,CAAC,CAACgyE,0BAAF,CAA6BlsD,IAA7B,CAAkC,GAAlC,CAA5D,CAA7G,EAAiN9lB,CAAC,CAAC45C,SAAF,KAAc95C,CAAC,CAAC85C,SAAF,GAAY55C,CAAC,CAAC45C,SAAF,CAAY9zB,IAAZ,CAAiB,GAAjB,CAA1B,CAAjN,EAAkQ9lB,CAAC,CAACoP,aAAF,KAAkBtP,CAAC,CAACsP,aAAF,GAAgBpP,CAAC,CAACoP,aAAF,CAAgB0W,IAAhB,CAAqB,GAArB,CAAlC,CAAlQ,EAA+T,CAAC9lB,CAAC,CAAC2M,SAAH,IAAc,CAAC3M,CAAC,CAACiyE,oBAAH,KAA0B3yE,CAAC,EAAE4yE,eAAH,IAAoB5yE,CAAC,EAAE6yE,gBAAvB,IAAyC7yE,CAAC,EAAE8yE,aAAtE,CAAd,GAAmG,OAAOtyE,CAAC,CAAC6M,SAA5G,GAAsH3M,CAAC,CAAC2M,SAAF,CAAYykB,QAAZ,CAAqB,GAArB,IAA0BtxB,CAAC,CAAC6M,SAAF,GAAY,GAAtC,GAA0C7M,CAAC,CAAC6M,SAAF,GAAY3M,CAAC,CAAC2M,SAAF,CAAYmZ,IAAZ,CAAiB,GAAjB,CAA3e,EAAigB9lB,CAAC,CAACqyE,KAAF,IAASvyE,CAAC,CAACuyE,KAAF,GAAQzyE,yFAAC,CAACI,CAAC,CAACqyE,KAAH,CAAT,EAAmBvxE,CAAC,GAACtB,CAAC,CAAC8wD,mBAAhC,IAAqDrwD,CAAC,KAAGD,CAAC,CAAC6M,cAAF,IAAkB7M,CAAC,CAACsyE,cAAvB,CAAD,KAA0CxyE,CAAC,CAACuyE,KAAF,GAAQvyE,CAAC,CAACiyE,IAAV,EAAejxE,CAAC,GAACX,CAA3D,CAAtjB,EAAonBH,CAAC,CAAC6M,cAAF,IAAkB,OAAO7M,CAAC,CAAC6M,cAA/oB,EAA8pB7M,CAAC,CAACg8C,aAAF,KAAkBl8C,CAAC,CAACk8C,aAAF,GAAgBj2B,IAAI,CAACC,SAAL,CAAehmB,CAAC,CAACg8C,aAAjB,CAAlC,CAA9pB,EAAiuBh8C,CAAC,CAACuyE,QAAF,KAAazyE,CAAC,CAACyyE,QAAF,GAAWxsD,IAAI,CAACC,SAAL,CAAehmB,CAAC,CAACuyE,QAAjB,CAAxB,CAAjuB,EAAqxBvyE,CAAC,CAACwyE,SAAF,KAAc1yE,CAAC,CAAC0yE,SAAF,GAAYzsD,IAAI,CAACC,SAAL,CAAehmB,CAAC,CAACwyE,SAAjB,CAA1B,CAArxB,EAA40BxyE,CAAC,CAACyyE,sBAAF,KAA2BjzE,CAAC,CAAC66C,8BAAF,IAAkC,QAAMl6C,CAAxC,IAA2C,QAAMX,CAAC,CAACizE,sBAAF,EAA0Bn6D,MAA3E,IAAmFnY,CAAC,CAACwgB,MAAF,CAASnhB,CAAC,CAACizE,sBAAF,CAAyBn6D,MAAzB,CAAgCpW,gBAAzC,CAAnF,IAA+I,OAAOlC,CAAC,CAACyyE,sBAAF,CAAyBn6D,MAAzB,CAAgCpW,gBAAtL,EAAuMpC,CAAC,CAAC2yE,sBAAF,GAAyB1sD,IAAI,CAACC,SAAL,CAAehmB,CAAC,CAACyyE,sBAAjB,CAA3P,CAA50B,EAAinCzyE,CAAC,CAAC0yE,eAAF,KAAoB5yE,CAAC,CAAC4yE,eAAF,GAAkB3sD,IAAI,CAACC,SAAL,CAAehmB,CAAC,CAAC0yE,eAAjB,CAAtC,CAAjnC,EAA0rC1yE,CAAC,CAAC2yE,WAAF,KAAgB7yE,CAAC,CAAC6yE,WAAF,GAAc5sD,IAAI,CAACC,SAAL,CAAehmB,CAAC,CAAC2yE,WAAjB,CAA9B,CAA1rC,EAAuvC3yE,CAAC,CAACmqC,iBAAF,KAAsBrqC,CAAC,CAACgJ,KAAF,GAAQid,IAAI,CAACC,SAAL,CAAe;AAACrc,IAAAA,MAAM,EAAC3J,CAAC,CAACmqC;AAAV,GAAf,CAAR,EAAqD,OAAOnqC,CAAC,CAACmqC,iBAApF,CAAvvC,EAA81CnqC,CAAC,CAACgU,UAAn2C,EAA82C;AAAC,UAAMxU,CAAC,GAACQ,CAAC,CAACgU,UAAV;AAAA,UAAqB;AAACkN,MAAAA,KAAK,EAAC5hB,CAAP;AAASszE,MAAAA,GAAG,EAAC3yE;AAAb,QAAgBT,CAArC;AAAuC,YAAMF,CAAN,IAAS,QAAMW,CAAf,KAAmBH,CAAC,CAACuiB,IAAF,GAAO/iB,CAAC,KAAGW,CAAJ,GAAMX,CAAN,GAAS,GAAEA,CAAC,IAAE,MAAO,IAAGW,CAAC,IAAE,MAAO,EAA5D,GAA+D,OAAOD,CAAC,CAACgU,UAAxE;AAAmF;;AAAA,SAAOxU,CAAC,CAAC66C,8BAAF,IAAkC,QAAMl6C,CAAxC,IAA2C,QAAMW,CAAjD,IAAoDX,CAAC,CAACwgB,MAAF,CAAS7f,CAAT,CAApD,KAAkEhB,CAAC,CAAC+yE,SAAF,GAAY/yE,CAAC,CAACiyE,IAAd,EAAmB,OAAOjyE,CAAC,CAACiyE,IAA5B,EAAiC,OAAOjyE,CAAC,CAACuyE,KAA5G,GAAmHvyE,CAA1H;AAA4H;;SAAeQ;;;;;yMAAf,WAAiBd,CAAjB,EAAmBF,CAAnB,EAAqBW,CAArB,EAAuBV,CAAvB,EAAyB;AAAC,UAAMS,CAAC,GAAC,QAAMV,CAAC,CAAC0U,UAAR,IAAoB1U,CAAC,CAAC0U,UAAF,CAAa8+D,OAAjC,GAAyC;AAACtvE,MAAAA,IAAI,EAAC;AAACqqC,QAAAA,QAAQ,EAAC;AAAV;AAAN,KAAzC,SAAoEljC,CAAC,CAACnL,CAAD,EAAGF,CAAH,EAAK,MAAL,EAAYC,CAAZ,CAA7E;AAA4F,WAAOY,4EAAC,CAACb,CAAD,EAAGW,CAAH,EAAKD,CAAC,CAACwD,IAAP,CAAD,EAAcxD,CAArB;AAAuB;;;;SAAekB;;;;;yMAAf,WAAiB1B,CAAjB,EAAmBF,CAAnB,EAAqBW,CAArB,EAAuBV,CAAvB,EAAyB;AAAC,QAAG,QAAMD,CAAC,CAAC0U,UAAR,IAAoB1U,CAAC,CAAC0U,UAAF,CAAa8+D,OAApC,EAA4C,OAAM;AAACtvE,MAAAA,IAAI,EAACvD,CAAC,CAAC8yE,mBAAF;AAAN,KAAN;AAAqC,UAAM/yE,CAAC,SAAOgB,CAAC,CAACxB,CAAD,EAAGF,CAAH,EAAKC,CAAL,CAAf;AAAA,UAAuBK,CAAC,GAACI,CAAzB;AAA2B,WAAOJ,CAAC,CAAC4D,IAAF,GAAO1C,uEAAC,CAACd,CAAC,CAACwD,IAAH,EAAQvD,CAAR,CAAR,EAAmBL,CAA1B;AAA4B;;;;AAAA,SAASoB,CAAT,CAAWxB,CAAX,EAAaF,CAAb,EAAeW,CAAf,EAAiB;AAAC,SAAO0K,CAAC,CAACnL,CAAD,EAAGF,CAAH,EAAK,KAAL,EAAWW,CAAX,CAAR;AAAsB;;AAAA,SAASG,CAAT,CAAWZ,CAAX,EAAaF,CAAb,EAAeW,CAAf,EAAiB;AAAC,SAAO,QAAMX,CAAC,CAAC0U,UAAR,IAAoB1U,CAAC,CAAC0U,UAAF,CAAa8+D,OAAjC,GAAyCnuE,OAAO,CAACC,OAAR,CAAgB;AAACpB,IAAAA,IAAI,EAAC;AAACo2C,MAAAA,SAAS,EAAC;AAAX;AAAN,GAAhB,CAAzC,GAAgFjvC,CAAC,CAACnL,CAAD,EAAGF,CAAH,EAAK,MAAL,EAAYW,CAAZ,EAAc;AAACmyE,IAAAA,aAAa,EAAC,CAAC;AAAhB,GAAd,CAAxF;AAA0H;;AAAA,SAAS1wE,CAAT,CAAWlC,CAAX,EAAaF,CAAb,EAAeW,CAAf,EAAiB;AAAC,SAAO,QAAMX,CAAC,CAAC0U,UAAR,IAAoB1U,CAAC,CAAC0U,UAAF,CAAa8+D,OAAjC,GAAyCnuE,OAAO,CAACC,OAAR,CAAgB;AAACpB,IAAAA,IAAI,EAAC;AAACqvC,MAAAA,KAAK,EAAC;AAAP;AAAN,GAAhB,CAAzC,GAA2EloC,CAAC,CAACnL,CAAD,EAAGF,CAAH,EAAK,MAAL,EAAYW,CAAZ,EAAc;AAACmyE,IAAAA,aAAa,EAAC,CAAC,CAAhB;AAAkBF,IAAAA,eAAe,EAAC,CAAC;AAAnC,GAAd,CAAnF;AAAwI;;SAAepwE;;;;;0MAAf,WAAiBtC,CAAjB,EAAmBF,CAAnB,EAAqBW,CAArB,EAAuB;AAAC,QAAG,QAAMX,CAAC,CAAC0U,UAAR,IAAoB1U,CAAC,CAAC0U,UAAF,CAAa8+D,OAApC,EAA4C,OAAM;AAACtvE,MAAAA,IAAI,EAAC;AAACqvC,QAAAA,KAAK,EAAC,CAAP;AAASv6B,QAAAA,MAAM,EAAC;AAAhB;AAAN,KAAN;AAAmC,UAAM/Y,CAAC,SAAOoL,CAAC,CAACnL,CAAD,EAAGF,CAAH,EAAK,MAAL,EAAYW,CAAZ,EAAc;AAACkyE,MAAAA,gBAAgB,EAAC,CAAC,CAAnB;AAAqBD,MAAAA,eAAe,EAAC,CAAC;AAAtC,KAAd,CAAf;AAAA,UAAuElyE,CAAC,GAACT,CAAC,CAACiE,IAA3E;AAAgF,QAAGxD,CAAC,CAACgxB,cAAF,CAAiB,QAAjB,CAAH,EAA8B,OAAOzxB,CAAP;AAAS,QAAGS,CAAC,CAAC6tC,QAAL,EAAc,MAAM,IAAIjzB,KAAJ,CAAUlb,CAAV,CAAN;AAAmB,QAAGM,CAAC,CAACgxB,cAAF,CAAiB,OAAjB,CAAH,EAA6B,MAAM,IAAIpW,KAAJ,CAAUlb,CAAV,CAAN;AAAmB,WAAOH,CAAP;AAAS;;;;SAAeoL;;;;;yMAAf,WAAiBpL,CAAjB,EAAmBK,CAAnB,EAAqBkB,CAArB,EAAuBX,CAAC,GAAC,EAAzB,EAA4BT,CAAC,GAAC,EAA9B,EAAiC;AAAC,UAAMc,CAAC,GAAC,YAAU,OAAOjB,CAAjB,GAAmBD,8DAAC,CAACC,CAAD,CAApB,GAAwBA,CAAhC;AAAA,UAAkCe,CAAC,GAACV,CAAC,CAAC62B,QAAF,GAAW,CAAC72B,CAAC,CAAC62B,QAAH,CAAX,GAAwB,EAA5D;AAAA,UAA+Dv1B,CAAC,SAAOlB,6FAAC,CAACM,CAAD,EAAG,IAAH,EAAQ;AAAC0G,MAAAA,MAAM,EAAC7G,CAAC,CAAC6G;AAAV,KAAR,CAAxE;AAAA,UAAmGhG,CAAC,GAACE,CAAC,GAAG,CAAH,CAAtG;AAA4G,YAAMF,CAAN,KAAU,CAACpB,CAAC,GAACA,CAAC,CAACG,KAAF,EAAH,EAAc02B,QAAd,GAAuBz1B,CAAjC;AAAoC,UAAMZ,CAAC,GAACN,sEAAC,CAAC,EAAC,GAAGU,CAAC,CAACiG,KAAN;AAAYvF,MAAAA,CAAC,EAACJ,CAAd;AAAgB,SAAGpB,CAAnB;AAAqB,SAAGgB,CAAC,CAACd,CAAD,EAAGF,CAAH;AAAzB,KAAD,CAAT;AAA2C,WAAOF,uDAAC,CAACS,uDAAC,CAACO,CAAC,CAACukB,IAAH,EAAQxjB,CAAC,CAAC3B,CAAD,EAAGF,CAAH,CAAD,GAAO,SAAP,GAAiB,OAAzB,CAAF,EAAoC,EAAC,GAAGS,CAAJ;AAAMqd,MAAAA,YAAY,EAAC,UAAQ1c,CAAR,GAAU,cAAV,GAAyB,MAA5C;AAAmD2F,MAAAA,KAAK,EAAC,EAAC,GAAGrG,CAAJ;AAAM,WAAGD,CAAC,CAACsG;AAAX;AAAzD,KAApC,CAAR;AAAyH;;;;AAAA,SAASlF,CAAT,CAAW/B,CAAX,EAAaF,CAAb,EAAe;AAAC,SAAO,QAAME,CAAC,CAACwzE,iBAAR,IAA2B,EAAE1zE,CAAC,CAAC4yE,eAAF,IAAmB5yE,CAAC,CAAC6yE,gBAArB,IAAuC7yE,CAAC,CAAC8yE,aAA3C,CAAlC;AAA4F;;;;;;;;;;;;;;;;;;ACJl3H;AACA;AACA;AACA;AACyE,kBAAkB,gCAAgC,QAAQ,+EAAC,yCAAyC,mDAA4F;;;;;;;;;;;;;;;;;;;;;;;;ACJzQ;AACA;AACA;AACA;AACsd,MAAM,SAAS,GAAG,4BAA4B,IAAI,4BAA4B,IAAI,8BAA8B,IAAI,8BAA8B,IAAI,8BAA8B,IAAI,6BAA6B,IAAI,6BAA6B,IAAI,gCAAgC,sBAAsB,6DAAC,CAAC,eAAe,mMAAmM,sBAAsB,MAAM,WAAW,QAAQ,0EAAC,EAAE,sDAAsD,EAAE,kBAAkB,QAAQ,cAAc,8NAA8N,IAAI,uDAAC,EAAE,sFAAC,EAAE,YAAY,qCAAqC,uDAAC,EAAE,sFAAC,mCAAmC,uDAAC,EAAE,sFAAC,EAAE,YAAY,uCAAuC,uDAAC,EAAE,sFAAC,EAAE,KAAK,wEAAC,CAAC,4BAA4B,uDAAC,EAAE,sFAAC,EAAE,YAAY,kCAAkC,uDAAC,EAAE,sFAAC,EAAE,YAAY,kCAAkC,uDAAC,EAAE,sFAAC,EAAE,YAAY,8BAA8B,uDAAC,EAAE,sFAAC,EAAE,MAAM,SAAS,wCAAwC,uDAAC,EAAE,sFAAC,EAAE,MAAM,SAAS,wCAAwC,uDAAC,EAAE,sFAAC,EAAE,KAAK,wEAAC,CAAC,8BAA8B,uDAAC,EAAE,sFAAC,EAAE,MAAM,SAAS,iCAAiC,uDAAC,EAAE,sFAAC,+CAA+C,UAA+B;;;;;;;;;;;;;;;;;;;;;;;;ACJn9D;AACA;AACA;AACA;AACqc,MAAM,sBAAsB,qDAAC,CAAC,eAAe,2FAA2F,QAAQ,cAAc,UAAU,oDAAC,yBAAyB,oDAAC,wCAAwC,IAAI,uDAAC,EAAE,4FAAC,EAAE,mFAAmF,mCAAmC,uDAAC,EAAE,sFAAC,EAAE,KAAK,iDAAC,OAAO,MAAM,wEAAC,YAAY,mCAAmC,uDAAC,EAAE,sFAAC,EAAE,KAAK,iDAAC,OAAO,MAAM,wEAAC,YAAY,iCAAiC,uDAAC,EAAE,sFAAC,EAAE,qBAAqB,kCAAkC,uDAAC,EAAE,sFAAC,+CAA+C,UAA+B;;;;;;;;;;;;;;;;;;;;;;;ACJ/kC;AACA;AACA;AACA;AAC0b,MAAM,sBAAsB,6DAAC,CAAC,eAAe,kPAAkP,gBAAgB,2DAA2D,QAAQ,aAAa,oDAAC,EAAE,8RAA8R,KAAK,uDAAC,EAAE,sFAAC,EAAE,oBAAoB,UAAU,yCAAyC,uDAAC,EAAE,sFAAC,EAAE,kBAAkB,MAAM,yCAAyC,QAAQ,2CAA2C,0CAA0C,uDAAC,EAAE,sFAAC,EAAE,mBAAmB,UAAU,mCAAmC,uDAAC,EAAE,sFAAC,EAAE,oBAAoB,UAAU,kCAAkC,uDAAC,EAAE,sFAAC,EAAE,oBAAoB,UAAU,mCAAmC,uDAAC,EAAE,sFAAC,EAAE,MAAM,UAAU,8BAA8B,uDAAC,EAAE,sFAAC,EAAE,kBAAkB,MAAM,6BAA6B,6BAA6B,uDAAC,EAAE,sFAAC,EAAE,oBAAoB,UAAU,mCAAmC,uDAAC,EAAE,sFAAC,EAAE,mBAAmB,qBAAqB,wCAAwC,uDAAC,EAAE,sFAAC,EAAE,oBAAoB,UAAU,8BAA8B,uDAAC,EAAE,sFAAC,EAAE,kBAAkB,MAAM,wBAAwB,+BAA+B,uDAAC,EAAE,kFAAC,UAAU,kFAAC,wCAAwC,uDAAC,EAAE,sFAAC,EAAE,kBAAkB,MAAM,8BAA8B,QAAQ,gCAAgC,mCAAmC,uDAAC,EAAE,sFAAC,iDAAiD,+EAAC,IAAI,UAA+B;;;;;;;;;;;;;;;;;;;;;;;ACJ1vE;AACA;AACA;AACA;AACuV,oBAAoB,6DAAC,CAAC,eAAe,0BAA0B,uDAAC,EAAE,sFAAC,EAAE,kBAAkB,kBAAkB,gCAAgC,uDAAC,EAAE,sFAAC,oCAAoC,UAA+B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACJviB;AACA;AACA;AACA;AACmyB,MAAM,YAAY,qDAAC,EAAE,8KAA8K,EAAE,sBAAsB,6DAAC,CAAC,eAAe,wMAAwM,kBAAkB,QAAQ,+EAAU,0BAA0B,YAAY,WAAW,KAAK,eAAe,4DAAU,mCAAmC,qDAAqD,sDAAsD,gCAAgC,0CAA0C,mCAAmC,UAAU,SAAS,2BAA2B,kCAAkC,MAAM,WAAW,MAAM,sFAAsF,uBAAuB,kBAAkB,+BAA+B,yEAAC,IAAI,sDAAsD,+EAAU,wBAAwB,2BAA2B,gDAAgD,MAAM,WAAW,MAAM,+IAA+I,QAAQ,qCAAqC,kBAAkB,OAAO,oDAAC,EAAE,gSAAgS,EAAE,UAAU,qBAAqB,wDAAwD,oBAAoB,KAAK,sBAAsB,eAAe,eAAe,oCAAoC,SAAS,YAAY,MAAM,4BAA4B,4HAA4H,uBAAuB,IAAI,gDAAgD,6BAA6B,aAAa,MAAM,sCAAsC,MAAM,kBAAkB,MAAM,4BAA4B,yBAAyB,kBAAkB,mCAAmC,MAAM,4BAA4B,GAAG,WAAW,mCAAmC,MAAM,8BAA8B,GAAG,qBAAqB,8CAA8C,UAAU,WAAW,sBAAsB,gCAAgC,uBAAuB,QAAQ,WAAW,uBAAuB,IAAI,KAAK,aAAa,QAAQ,0BAA0B,0CAA0C,uCAAuC,yBAAyB,gCAAgC,iFAAiF,QAAQ,0EAAC,yBAAyB,uBAAuB,IAAI,KAAK,2CAA2C,aAAa,mBAAmB,0EAAC,gCAAgC,sBAAsB,2CAA2C,yCAAyC,wBAAwB,iCAAiC,sBAAsB,sCAAsC,mCAAmC,QAAQ,0EAAC,oBAAoB,QAAQ,uBAAuB,IAAI,KAAK,aAAa,uBAAuB,IAAI,KAAK,aAAa,2DAA2D,+BAA+B,IAAI,KAAK,aAAa,uBAAuB,IAAI,KAAK,aAAa,2BAA2B,iCAAiC,IAAI,KAAK,aAAa,uBAAuB,IAAI,KAAK,aAAa,cAAc,iCAAiC,IAAI,KAAK,aAAa,uBAAuB,IAAI,KAAK,aAAa,eAAe,kBAAkB,0MAA0M,sBAAsB,iBAAiB,QAAQ,uBAAuB,IAAI,KAAK,aAAa,0DAA0D,+BAA+B,IAAI,KAAK,aAAa,0BAA0B,iCAAiC,IAAI,KAAK,aAAa,aAAa,iCAAiC,IAAI,KAAK,aAAa,cAAc,QAAQ,uDAAC,EAAE,sFAAC,EAAE,kBAAkB,UAAU,0CAA0C,uDAAC,EAAE,sFAAC,EAAE,mBAAmB,OAAO,oBAAoB,UAAU,IAAI,+CAA+C,uDAAC,EAAE,sFAAC,EAAE,MAAM,mDAAC,QAAQ,UAAU,kCAAkC,uDAAC,EAAE,kFAAC,+CAA+C,uDAAC,EAAE,sFAAC,EAAE,MAAM,iEAAC,QAAQ,UAAU,gCAAgC,uDAAC,EAAE,sFAAC,EAAE,uEAAuE,MAAM,gBAAgB,sCAAsC,uDAAC,EAAE,mFAAC,wDAAwD,uDAAC,EAAE,sFAAC,EAAE,mBAAmB,OAAO,oBAAoB,UAAU,IAAI,8BAA8B,uDAAC,EAAE,sFAAC,EAAE,mBAAmB,OAAO,oBAAoB,UAAU,IAAI,8BAA8B,uDAAC,EAAE,sFAAC,EAAE,MAAM,uDAAC,OAAO,UAAU,uCAAuC,uDAAC,EAAE,kFAAC,yDAAyD,uDAAC,EAAE,sFAAC,EAAE,KAAK,sEAAC,OAAO,UAAU,0CAA0C,uDAAC,EAAE,mFAAC,gEAAgE,uDAAC,EAAE,sFAAC,EAAE,MAAM,UAAU,uCAAuC,uDAAC,EAAE,uFAAC,2EAA2E,UAA+B;;;;;;;;;;;;;;;;;;;;;;;;ACJ98M;AACA;AACA;AACA;AAC8Y,oBAAoB,gEAAC,CAAC,6DAAC,GAAG,eAAe,2FAA2F,uDAAC,EAAE,sFAAC,EAAE,oBAAoB,OAAO,4BAA4B,OAAO,wDAAwD,kCAAkC,uDAAC,EAAE,sFAAC,EAAE,kBAAkB,UAAU,kCAAkC,uDAAC,EAAE,sFAAC,EAAE,kBAAkB,UAAU,oCAAoC,uDAAC,EAAE,sFAAC,EAAE,kBAAkB,UAAU,sCAAsC,uDAAC,EAAE,sFAAC,yCAAyC,UAA+B;;;;;;;;;;;;;;;;;;;;;;;;ACJ98B;AACA;AACA;AACA;AACiX,MAAM,sBAAsB,qDAAC,CAAC,eAAe,oDAAoD,QAAQ,cAAc,WAAW,oDAAC,kBAAkB,IAAI,uDAAC,EAAE,sFAAC,EAAE,MAAM,gEAAC,QAAQ,UAAU,oCAAoC,uDAAC,EAAE,sFAAC,EAAE,mBAAmB,kCAAkC,uDAAC,EAAE,sFAAC,6CAA6C,UAA+B;;;;;;;;;;;;;;;;;;;;;;;;;ACJxtB;AACA;AACA;AACA;AACye,oBAAoB,6DAAC,CAAC,eAAe,8GAA8G,SAAS,uEAAuE,eAAe,yFAAC,kCAAkC,yFAAC,kDAAkD,aAAa,2EAAC,iBAAiB,oLAAoL,uDAAC,EAAE,sFAAC,qCAAqC,uDAAC,EAAE,sFAAC,EAAE,MAAM,MAAM,iBAAiB,6CAA6C,uDAAC,EAAE,sFAAC,yCAAyC,uDAAC,EAAE,sFAAC,6CAA6C,uDAAC,EAAE,sFAAC,4CAA4C,UAA+B;;;;;;;;;;;;;;;;;;;;;;;;;;ACJ1yC;AACA;AACA;AACA;AACod,MAAM,YAAY,qDAAC,EAAE,8CAA8C,EAAE,sBAAsB,6DAAC,CAAC,eAAe,6FAA6F,QAAQ,aAAa,oDAAC,EAAE,8FAA8F,KAAK,uDAAC,EAAE,sFAAC,EAAE,KAAK,2DAAC,OAAO,OAAO,iBAAiB,OAAO,+BAA+B,gCAAgC,uDAAC,EAAE,sFAAC,EAAE,2BAA2B,UAAU,8BAA8B,uDAAC,EAAE,sFAAC,EAAE,kBAAkB,2BAA2B,wCAAwC,uDAAC,EAAE,sFAAC,EAAE,kBAAkB,OAAO,iBAAiB,OAAO,+BAA+B,uCAAuC,uDAAC,EAAE,sFAAC,iDAAiD,UAA+B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACJ9vC;AACA;AACA;AACA;AAC4nC,MAAM,YAAY,qDAAC,EAAE,yMAAyM,EAAE,sBAAsB,6DAAC,CAAC,eAAe,OAAO,iFAAC,MAAM,eAAe,0oCAA0oC,2BAA2B,oDAAoD,yBAAyB,gCAAgC,0BAA0B,MAAM,WAAW,kBAAkB,aAAa,4GAA4G,qBAAqB,gBAAgB,yEAAyE,gBAAgB,iBAAiB,QAAQ,aAAa,oDAAC,EAAE,qnDAAqnD,KAAK,gCAAgC,uDAAC,EAAE,sFAAC,EAAE,MAAM,UAAU,sCAAsC,uDAAC,EAAE,sFAAC,EAAE,mBAAmB,UAAU,mCAAmC,uDAAC,EAAE,sFAAC,EAAE,mBAAmB,qBAAqB,gDAAgD,uDAAC,EAAE,sFAAC,EAAE,MAAM,UAAU,6CAA6C,uDAAC,EAAE,8EAAC,qEAAqE,uDAAC,EAAE,sFAAC,EAAE,mBAAmB,qBAAqB,wDAAwD,uDAAC,EAAE,sFAAC,EAAE,kBAAkB,OAAO,oBAAoB,YAAY,IAAI,kCAAkC,uDAAC,EAAE,sFAAC,EAAE,KAAK,uFAAC,OAAO,UAAU,2CAA2C,uDAAC,EAAE,sFAAC,EAAE,kBAAkB,UAAU,2CAA2C,uDAAC,EAAE,sFAAC,EAAE,MAAM,2DAAC,QAAQ,OAAO,4BAA4B,OAAO,wDAAwD,kCAAkC,uDAAC,EAAE,sFAAC,EAAE,kBAAkB,UAAU,oCAAoC,uDAAC,EAAE,sFAAC,EAAE,MAAM,uDAAC,OAAO,KAAK,qEAAC,WAAW,kCAAkC,uDAAC,EAAE,sFAAC,EAAE,kBAAkB,UAAU,2CAA2C,uDAAC,EAAE,sFAAC,EAAE,oBAAoB,UAAU,oDAAoD,uDAAC,EAAE,sFAAC,EAAE,kBAAkB,UAAU,gCAAgC,uDAAC,EAAE,sFAAC,EAAE,UAAU,wCAAwC,uDAAC,EAAE,kFAAC,4DAA4D,uDAAC,EAAE,sFAAC,EAAE,kBAAkB,UAAU,4CAA4C,uDAAC,EAAE,sFAAC,EAAE,gGAAgG,OAAO,oBAAoB,YAAY,IAAI,8CAA8C,uDAAC,EAAE,sFAAC,EAAE,2BAA2B,UAAU,0CAA0C,uDAAC,EAAE,sFAAC,EAAE,kBAAkB,MAAM,6BAA6B,6BAA6B,uDAAC,EAAE,sFAAC,EAAE,MAAM,UAAU,mCAAmC,uDAAC,EAAE,sFAAC,EAAE,oBAAoB,UAAU,uCAAuC,uDAAC,EAAE,sFAAC,EAAE,oBAAoB,UAAU,mCAAmC,uDAAC,EAAE,sFAAC,EAAE,KAAK,sEAAC,OAAO,uBAAuB,6CAA6C,uDAAC,EAAE,sFAAC,EAAE,MAAM,gEAAC,QAAQ,OAAO,4BAA4B,OAAO,kEAAkE,uCAAuC,uDAAC,EAAE,sFAAC,EAAE,MAAM,UAAU,yCAAyC,uDAAC,EAAE,kFAAC,8DAA8D,uDAAC,EAAE,sFAAC,EAAE,KAAK,2DAAC,OAAO,UAAU,mCAAmC,uDAAC,EAAE,sFAAC,EAAE,KAAK,mEAAC,OAAO,UAAU,gDAAgD,uDAAC,EAAE,sFAAC,EAAE,oBAAoB,UAAU,qCAAqC,uDAAC,EAAE,sFAAC,EAAE,kBAAkB,MAAM,uBAAuB,QAAQ,wCAAwC,OAAO,kDAAkD,2CAA2C,uDAAC,EAAE,sFAAC,EAAE,kBAAkB,UAAU,oCAAoC,uDAAC,EAAE,sFAAC,EAAE,mBAAmB,qBAAqB,wCAAwC,uDAAC,EAAE,sFAAC,EAAE,mBAAmB,qBAAqB,8CAA8C,uDAAC,EAAE,sFAAC,EAAE,mBAAmB,qBAAqB,qDAAqD,uDAAC,EAAE,sFAAC,EAAE,mBAAmB,UAAU,wCAAwC,uDAAC,EAAE,sFAAC,EAAE,mBAAmB,qBAAqB,6CAA6C,uDAAC,EAAE,sFAAC,EAAE,mBAAmB,qBAAqB,iCAAiC,uDAAC,EAAE,sFAAC,EAAE,mBAAmB,OAAO,oBAAoB,UAAU,IAAI,iCAAiC,uDAAC,EAAE,sFAAC,EAAE,KAAK,sEAAC,OAAO,UAAU,gDAAgD,uDAAC,EAAE,4FAAC,CAAC,0EAAC,EAAE,mCAAmC,6CAA6C,uDAAC,EAAE,sFAAC,EAAE,kBAAkB,MAAM,wBAAwB,+BAA+B,uDAAC,EAAE,kFAAC,UAAU,kFAAC,wCAAwC,uDAAC,EAAE,sFAAC,EAAE,kBAAkB,UAAU,mCAAmC,uDAAC,EAAE,sFAAC,EAAE,kBAAkB,UAAU,8BAA8B,uDAAC,EAAE,sFAAC,EAAE,KAAK,4DAAC,OAAO,UAAU,oCAAoC,uDAAC,EAAE,sFAAC,EAAE,mBAAmB,qBAAqB,oDAAoD,uDAAC,EAAE,4FAAC,IAAI,iBAAiB,EAAE,sFAAC,EAAE,MAAM,OAAO,kBAAkB,OAAO,sDAAsD,+BAA+B,uDAAC,EAAE,sFAAC,EAAE,kBAAkB,OAAO,kBAAkB,OAAO,oDAAoD,+BAA+B,uDAAC,EAAE,kFAAC,8CAA8C,uDAAC,EAAE,sFAAC,gCAAgC,UAA+B;;;;;;;;;;;;;;;;;;;;;;;;;;ACJnkS;AACA;AACA;AACA;AACulB,MAAM,sBAAsB,6DAAC,CAAC,eAAe,kZAAkZ,0BAA0B,gCAAgC,gBAAgB,0HAA0H,QAAQ,aAAa,oDAAC,EAAE,4hBAA4hB,KAAK,uDAAC,EAAE,sFAAC,EAAE,mBAAmB,UAAU,mCAAmC,uDAAC,EAAE,sFAAC,EAAE,KAAK,sFAAC,OAAO,UAAU,2CAA2C,uDAAC,EAAE,sFAAC,EAAE,kBAAkB,UAAU,oCAAoC,uDAAC,EAAE,sFAAC,EAAE,kBAAkB,UAAU,2CAA2C,uDAAC,EAAE,sFAAC,EAAE,UAAU,wCAAwC,uDAAC,EAAE,kFAAC,6DAA6D,uDAAC,EAAE,sFAAC,EAAE,kBAAkB,UAAU,4CAA4C,uDAAC,EAAE,sFAAC,EAAE,MAAM,UAAU,mCAAmC,uDAAC,EAAE,sFAAC,EAAE,oBAAoB,UAAU,uCAAuC,uDAAC,EAAE,sFAAC,EAAE,oBAAoB,UAAU,mCAAmC,uDAAC,EAAE,sFAAC,EAAE,KAAK,qEAAC,OAAO,MAAM,eAAe,QAAQ,iBAAiB,6CAA6C,uDAAC,EAAE,sFAAC,EAAE,MAAM,UAAU,wCAAwC,uDAAC,EAAE,sFAAC,EAAE,kBAAkB,MAAM,wBAAwB,+BAA+B,uDAAC,EAAE,kFAAC,UAAU,kFAAC,wCAAwC,uDAAC,EAAE,sFAAC,EAAE,kBAAkB,MAAM,6BAA6B,6BAA6B,uDAAC,EAAE,sFAAC,EAAE,MAAM,UAAU,wCAAwC,uDAAC,EAAE,sFAAC,EAAE,mBAAmB,OAAO,oBAAoB,UAAU,IAAI,iCAAiC,uDAAC,EAAE,sFAAC,EAAE,mBAAmB,OAAO,oBAAoB,UAAU,IAAI,iCAAiC,uDAAC,EAAE,sFAAC,EAAE,kBAAkB,MAAM,8BAA8B,QAAQ,gCAAgC,mCAAmC,uDAAC,EAAE,sFAAC,mDAAmD,+EAAC,IAAI,UAA+B;;;;;;;;;;;;;;;;;;;;;;;;;ACJ5zG;AACA;AACA;AACA;AAC2d,MAAM,YAAY,qDAAC,EAAE,oTAAoT,EAAE,sBAAsB,6DAAC,CAAC,eAAe,0MAA0M,8BAA8B,iHAAiH,oDAAC,KAAK,QAAQ,cAAc,oPAAoP,oDAAC,2BAA2B,IAAI,uDAAC,EAAE,sFAAC,EAAE,kBAAkB,UAAU,uCAAuC,uDAAC,EAAE,sFAAC,EAAE,kBAAkB,UAAU,wCAAwC,uDAAC,EAAE,sFAAC,EAAE,kBAAkB,UAAU,wCAAwC,uDAAC,EAAE,sFAAC,EAAE,kBAAkB,UAAU,0CAA0C,uDAAC,EAAE,sFAAC,EAAE,kBAAkB,UAAU,+CAA+C,uDAAC,EAAE,sFAAC,EAAE,kBAAkB,MAAM,qCAAqC,QAAQ,wCAAwC,uCAAuC,uDAAC,EAAE,sFAAC,EAAE,YAAY,6CAA6C,uDAAC,EAAE,kFAAC,0EAA0E,uDAAC,EAAE,sFAAC,8CAA8C,UAA+B;;;;;;;;;;;;;;;;;;;;ACJxsE;AACA;AACA;AACA;AAC8G,SAAS,gBAAgB,qDAAC,UAAU,YAAY,gEAAC,WAAW,8DAAC,GAAG,cAAc,sCAAsC,yEAAU,yBAAyB,uEAAU,cAA+C;;;;;;;;;;;;;;;;;;ACJ9T;AACA;AACA;AACA;AACA,kBAAkB,iBAAiB,kBAAkB,gBAAgB,kBAAkB,qCAA6F;;;;;;;;;;;;;;;;;ACJpL;AACA;AACA;AACA;AACgD,YAAY,qDAAC,EAAE,oXAAoX,EAAmC;;;;;;;;;;;;;;;;;;;;;;;;ACJtd;AACA;AACA;AACA;AACuN,gBAAgB,UAAU,YAAY,QAAQ,aAAa,EAAE,SAAS,cAAc,yBAAyB,8DAAC,IAAI,oDAAC,IAAI,kBAAkB,WAAW,kBAAkB,gCAAgC,aAAa,2EAA2E,wCAAwC,yBAAyB,2BAA2B,gCAAgC,YAAY,SAAS,gBAAgB,SAAS,2EAAC,SAAS,yDAAQ,CAAC,yDAAiB,gBAAoF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACJvxB;AACA;AACA;AACA;AACA;AAAiJ;AAAkH;AAA6D;AAAsE;AAAoF,MAAM5xE,CAAC,GAAC,GAAR;AAAA,MAAYM,CAAC,GAAC;AAACizE,EAAAA,KAAK,EAAC,CAAC,SAAD,EAAW,MAAX,EAAkB,MAAlB,EAAyB,SAAzB,EAAmC,QAAnC,EAA4C,KAA5C,EAAkD,aAAlD,EAAgE,gBAAhE,EAAiF,aAAjF,EAA+F,uBAA/F,EAAuH,2BAAvH,EAAmJ,SAAnJ,EAA6J,eAA7J,EAA6K,YAA7K,EAA0L,QAA1L,EAAmM,SAAnM,EAA6M,mBAA7M,EAAiO,mBAAjO,EAAqP,gBAArP,EAAsQ,uBAAtQ,EAA8R,oBAA9R,EAAmT,eAAnT,EAAmU,cAAnU,EAAkV,qBAAlV,EAAwW,aAAxW,EAAsX,oBAAtX,EAA2Y,gBAA3Y,EAA4Z,gBAA5Z,EAA6a,0BAA7a,EAAwc,kBAAxc,EAA2d,uBAA3d,EAAmf,uBAAnf,EAA2gB,mBAA3gB,EAA+hB,kBAA/hB,EAAkjB,wBAAljB,CAAP;AAAmlBC,EAAAA,IAAI,EAAC,CAAC,WAAD,EAAa,QAAb,EAAsB,WAAtB,EAAkC,kBAAlC,EAAqD,sBAArD,EAA4E,oBAA5E,EAAiG,iBAAjG,EAAmH,cAAnH,EAAkI,gBAAlI,EAAmJ,yBAAnJ,EAA6K,kBAA7K,EAAgM,yBAAhM,EAA0N,sBAA1N,EAAiP,eAAjP,EAAiQ,aAAjQ,EAA+Q,uBAA/Q;AAAxlB,CAAd;AAAA,MAA+4B9yE,CAAC,GAAC,kBAAj5B;AAAA,MAAo6Bd,CAAC,GAAC,OAAt6B;AAAA,MAA86BM,CAAC,GAAC;AAACuzE,EAAAA,OAAO,EAAC,CAAC,QAAD;AAAT,CAAh7B;AAAA,MAAq8BrzE,CAAC,GAAC;AAACszE,EAAAA,KAAK,EAAC,GAAP;AAAWC,EAAAA,MAAM,EAAC,EAAlB;AAAqBC,EAAAA,IAAI,EAAC,CAA1B;AAA4BC,EAAAA,KAAK,EAAC,IAAE,EAApC;AAAuCC,EAAAA,OAAO,EAAC,IAAE,IAAjD;AAAsDC,EAAAA,OAAO,EAAC,IAAE,KAAhE;AAAsEC,EAAAA,YAAY,EAAC,IAAE;AAArF,CAAv8B;AAAA,MAAmiC3yE,CAAC,GAAC,IAAIqK,GAAJ,CAAQ,CAAC,SAAD,EAAW,eAAX,CAAR,CAAriC;AAA0kC,IAAIpB,CAAC,GAAC,IAAN;AAAW,MAAMoH,CAAC,GAAC,CAAC,MAAD,EAAQ,WAAR,EAAoB,kBAApB,CAAR;;AAAgD,SAASE,CAAT,CAAW5S,CAAX,EAAa;AAAC,SAAOE,0EAAC,CAACF,CAAD,CAAD,IAAMM,8EAAC,CAACN,CAAD,CAAP,IAAYI,qFAAC,CAACJ,CAAD,CAApB;AAAwB;;SAAe6B;;;;;yMAAf,WAAiB7B,CAAjB,EAAmB;AAAC,UAAK;AAACkQ,MAAAA,KAAK,EAACpQ,CAAP;AAASimE,MAAAA,MAAM,EAAChmE,CAAhB;AAAkBimE,MAAAA,MAAM,EAACxlE,CAAzB;AAA2By/D,MAAAA,kBAAkB,EAACx/D,CAA9C;AAAgDm1B,MAAAA,eAAe,EAAC11B;AAAhE,QAAmEF,CAAxE;AAA0E,QAAIM,CAAC,GAAC,EAAN;;AAAS,QAAGJ,CAAH,EAAK;AAAC,UAAG,CAACoL,CAAJ,EAAM;AAAC,cAAK;AAAC6yC,UAAAA,WAAW,EAACn+C;AAAb,kBAAsBc,sEAAC,EAA5B;AAA+BwK,QAAAA,CAAC,GAACtL,CAAF;AAAI;;AAAAM,MAAAA,CAAC,GAACgL,CAAC,CAAC8yC,iBAAF,CAAoBl+C,CAApB,CAAF;AAAyB;;AAAA,WAAOJ,CAAC,IAAEQ,CAAC,CAACsE,IAAF,CAAO9E,CAAP,CAAH,EAAaC,CAAC,IAAEO,CAAC,CAACsE,IAAF,CAAO7E,CAAP,CAAhB,EAA0BS,CAAC,IAAEF,CAAC,CAACsE,IAAF,CAAOpE,CAAP,CAA7B,EAAuCC,CAAC,IAAEH,CAAC,CAACsE,IAAF,CAAOnE,CAAP,CAA1C,EAAoDH,CAA3D;AAA6D;;;;AAAA,SAAS6F,CAAT,CAAWnG,CAAX,EAAa;AAAC,MAAIF,CAAC,GAACE,CAAC,CAAC2gE,iBAAR;AAA0B,SAAO7gE,CAAC,KAAGE,CAAC,CAACigE,kBAAF,GAAqBngE,CAAC,GAACc,CAAvB,GAAyB,QAAMZ,CAAC,CAACkgE,kBAAR,KAA6BpgE,CAAC,GAAC4B,CAA/B,CAA5B,CAAD,EAAgE5B,CAAC,IAAE,KAAK,CAA/E;AAAiF;;AAAA,SAASkM,CAAT,CAAWhM,CAAX,EAAa;AAAC,SAAOkI,MAAM,CAAClI,CAAD,CAAN,CAAUi1E,QAAV,CAAmB,CAAnB,EAAqB,GAArB,CAAP;AAAiC;;AAAA,SAASr1D,CAAT,CAAW5f,CAAX,EAAaF,CAAb,EAAeC,CAAf,EAAiB;AAAC,MAAIS,CAAJ;;AAAM,MAAG,WAASV,CAAT,IAAY,aAAWA,CAA1B,EAA4B;AAAC,iBAAWA,CAAX,KAAeE,CAAC,GAAC,IAAI8C,IAAJ,CAAS9C,CAAT,CAAjB;AAA8BQ,IAAAA,CAAC,GAAE,aAAYT,CAAC,GAACC,CAAC,CAACmtE,WAAF,EAAD,GAAiBntE,CAAC,CAACk1E,cAAF,EAAmB,IAAGlpE,CAAC,CAAC,CAACjM,CAAC,GAACC,CAAC,CAACotE,QAAF,EAAD,GAAcptE,CAAC,CAACm1E,WAAF,EAAhB,IAAiC,CAAlC,CAAqC,IAAGnpE,CAAC,CAACjM,CAAC,GAACC,CAAC,CAACqtE,OAAF,EAAD,GAAartE,CAAC,CAACo1E,UAAF,EAAf,CAA+B,IAAGppE,CAAC,CAACjM,CAAC,GAACC,CAAC,CAACstE,QAAF,EAAD,GAActtE,CAAC,CAACq1E,WAAF,EAAhB,CAAiC,IAAGrpE,CAAC,CAACjM,CAAC,GAACC,CAAC,CAACutE,UAAF,EAAD,GAAgBvtE,CAAC,CAACs1E,aAAF,EAAlB,CAAqC,IAAGtpE,CAAC,CAACjM,CAAC,GAACC,CAAC,CAACwtE,UAAF,EAAD,GAAgBxtE,CAAC,CAACu1E,aAAF,EAAlB,CAAqC,GAAvP;AAA0P,GAArT,MAA0T/0E,CAAC,GAACR,CAAF;;AAAI,SAAOQ,CAAP;AAAS;;AAAA,SAAS0B,CAAT,CAAWlC,CAAX,EAAaF,CAAb,EAAeC,CAAf,EAAiBS,CAAjB,EAAmB;AAAC,QAAK;AAACg1E,IAAAA,cAAc,EAAC/0E;AAAhB,MAAmBT,CAAxB;AAAA,QAA0BE,CAAC,GAAE,IAAG0f,CAAC,CAAC7f,CAAD,EAAG8I,CAAC,CAAC7I,CAAD,EAAGD,CAAH,CAAJ,EAAUU,CAAV,CAAa,MAAKmf,CAAC,CAAC9f,CAAD,EAAG+I,CAAC,CAAC7I,CAAD,EAAGF,CAAH,CAAJ,EAAUW,CAAV,CAAa,GAAjE;AAAoE,MAAIH,CAAC,GAACc,CAAC,CAACZ,CAAD,CAAP;AAAA,MAAWJ,CAAC,GAAC,GAAb;AAAiBE,EAAAA,CAAC,GAAC,CAAF,KAAMA,CAAC,GAAC,IAAEA,CAAJ,EAAMF,CAAC,GAAC,GAAd;AAAmB,SAAM;AAACq1E,IAAAA,aAAa,EAAC,MAAIn1E,CAAJ,GAAMJ,CAAN,GAAS,IAAGA,CAAE,IAAGE,CAAE,IAAGE,CAAE,GAAvC;AAA0Co1E,IAAAA,QAAQ,EAAC;AAAnD,GAAN;AAA+D;;AAAA,SAAS7sE,CAAT,CAAW7I,CAAX,EAAaF,CAAb,EAAe;AAAC,MAAGA,CAAC,YAAYgD,IAAhB,EAAqB,OAAM,MAAN;AAAa,MAAG,YAAU,OAAOhD,CAApB,EAAsB,OAAM,QAAN;;AAAe,MAAG,YAAU,OAAOA,CAApB,EAAsB;AAAC,UAAMC,CAAC,GAACC,CAAC,CAAC4vC,QAAF,CAAW9vC,CAAX,CAAR;AAAsB,QAAG,YAAUA,CAAC,CAAC4P,WAAF,EAAb,EAA6B;AAAO,QAAGxP,0EAAC,CAACH,CAAD,CAAJ,EAAQ,OAAM,OAAN;AAAc;AAAC;;AAAA,SAASsI,CAAT,CAAWrI,CAAX,EAAaF,CAAC,GAACwB,CAAf,EAAiB;AAAC,OAAI,MAAMvB,CAAV,IAAeD,CAAf,EAAiB,IAAGA,CAAC,CAACC,CAAD,CAAD,CAAK6xB,QAAL,CAAc5xB,CAAd,CAAH,EAAoB,OAAOD,CAAP;AAAS;;AAAA,SAAS4B,CAAT,CAAW3B,CAAX,EAAaF,CAAb,EAAeC,CAAC,GAAC,CAAC,CAAlB,EAAoB;AAAC,MAAIS,CAAC,GAAC,IAAN;AAAW,SAAOR,CAAC,KAAG,YAAU,OAAOA,CAAjB,GAAmBF,CAAC,CAAC8xB,QAAF,CAAW5xB,CAAX,MAAgBQ,CAAC,GAACR,CAAlB,CAAnB,GAAwCQ,CAAC,GAACG,+EAAC,CAACX,CAAD,CAA9C,CAAD,EAAoDD,CAAC,GAACS,CAAC,IAAE,MAAJ,GAAWA,CAAvE;AAAyE;;AAAA,SAASsG,CAAT,CAAW9G,CAAX,EAAaF,CAAb,EAAe;AAAC,QAAMC,CAAC,GAACD,CAAC,IAAEE,CAAC,CAAC4vC,QAAF,CAAW9vC,CAAX,CAAX;AAAyB,SAAM,CAAC,CAACC,CAAF,IAAKsC,CAAC,CAAC8M,GAAF,CAAMpP,CAAC,CAACsD,IAAR,CAAX;AAAyB;;AAAA,SAAS6H,CAAT,CAAWlL,CAAX,EAAa;AAAC,SAAO,QAAOA,CAAE,YAAhB;AAA4B;;AAAA,SAASoC,CAAT,CAAWlC,CAAX,EAAaI,CAAb,EAAe;AAAC,QAAK;AAAC+Y,IAAAA,MAAM,EAACjZ,CAAR;AAAUu1E,IAAAA,eAAe,EAAC70E,CAA1B;AAA4B8sE,IAAAA,SAAS,EAACjtE;AAAtC,MAAyCL,CAAC,IAAE,EAAjD;AAAoD,MAAIU,CAAJ,EAAMM,CAAN;AAAQ,MAAGR,CAAC,KAAG;AAACkU,IAAAA,QAAQ,EAAChU,CAAV;AAAY40E,IAAAA,YAAY,EAACt0E;AAAzB,MAA4BS,oFAAC,CAACjB,CAAC,CAAC+0E,aAAH,EAAiB/0E,CAAC,CAACg1E,sBAAnB,EAA0Ch1E,CAAC,CAACi1E,YAA5C,EAAyD/1E,6EAAC,CAACI,CAAC,IAAE,uBAAJ,CAA1D,EAAuFO,CAAvF,CAAhC,CAAD,EAA4H,YAAU,OAAOT,CAAjB,IAAoBu/C,KAAK,CAAC38C,IAAI,CAAC8R,KAAL,CAAW,gBAAcjU,CAAd,GAAiB,cAAaT,CAAE,GAAhC,GAAmCA,CAA9C,CAAD,CAAxJ,EAA2M,OAAOA,CAAP;;AAAS,UAAOS,CAAP;AAAU,SAAI,WAAJ;AAAgB;AAAC,cAAMZ,CAAC,GAACC,6EAAC,CAACI,CAAC,IAAE,YAAJ,CAAT;AAA2B,eAAM,YAAU,OAAOF,CAAjB,GAAmBO,6DAAC,CAACP,CAAD,EAAG,EAAC,GAAGH;AAAJ,SAAH,CAApB,GAA+BD,yDAAC,CAACI,CAAD,EAAG,EAAC,GAAGH,CAAJ;AAAMiV,UAAAA,QAAQ,EAACxT,uDAACA;AAAhB,SAAH,CAAtC;AAA4D;;AAAA,SAAI,WAAJ;AAAgB;AAAC,cAAMzB,CAAC,GAACC,6EAAC,CAACI,CAAC,IAAE,YAAJ,CAAT;AAA2B,eAAM,YAAU,OAAOF,CAAjB,GAAmBM,6DAAC,CAACN,CAAD,EAAGH,CAAH,CAApB,GAA0BD,yDAAC,CAACI,CAAD,EAAG,EAAC,GAAGH,CAAJ;AAAMiV,UAAAA,QAAQ,EAACxT,uDAACA;AAAhB,SAAH,CAAjC;AAAuD;;AAAA,SAAI,kBAAJ;AAAuB;AAAC,YAAG,CAACR,CAAD,IAAI,YAAU,OAAOd,CAArB,IAAwB,IAAI4C,IAAJ,CAAS5C,CAAT,EAAY81E,WAAZ,OAA4B91E,CAAvD,EAAyD,OAAOA,CAAP;AAAS,cAAMM,CAAC,GAACJ,CAAC,IAAEU,CAAH,GAAKd,6EAAC,CAACI,CAAC,IAAE,uBAAJ,CAAN,GAAmC,KAAK,CAAhD;AAAA,cAAkDK,CAAC,GAACD,CAAC,GAAC,EAAC,GAAGA,CAAJ;AAAMwU,UAAAA,QAAQ,EAAChU,CAAf;AAAiB40E,UAAAA,YAAY,EAACt0E;AAA9B,SAAD,GAAkC,KAAK,CAA5F;AAA8F,eAAM,YAAU,OAAOpB,CAAjB,GAAmBH,8DAAC,CAACG,CAAD,EAAGO,CAAH,CAApB,GAA0BX,yDAAC,CAACI,CAAD,EAAGO,CAAH,CAAjC;AAAuC;;AAAA;AAAQ;AAAC,cAAMV,CAAC,GAACK,CAAC,IAAEU,CAAH,GAAKd,6EAAC,CAACI,CAAC,IAAE,uBAAJ,CAAN,GAAmC,KAAK,CAAhD;AAAkD,eAAON,yDAAC,CAAC,YAAU,OAAOI,CAAjB,GAAmB,IAAI4C,IAAJ,CAAS5C,CAAT,CAAnB,GAA+BA,CAAhC,EAAkCH,CAAC,GAAC,EAAC,GAAGA,CAAJ;AAAMiV,UAAAA,QAAQ,EAAChU,CAAf;AAAiB40E,UAAAA,YAAY,EAACt0E;AAA9B,SAAD,GAAkC,KAAK,CAA1E,CAAR;AAAqF;AAApkB;AAAskB;;;;;;;;;;;;;;;;;;;;;;;;ACJ92H;AACA;AACA;AACA;AAC0S,oBAAoB,+EAAC,CAAC,eAAe,mDAAmD,2CAA2C,iEAAW,iHAAiH,IAAI,QAAQ,oBAAoB,YAAY,gBAAgB,EAAE,uDAAC,EAAE,sFAAC,wCAAwE;;;;;;;;;;;;;;;;;;;;;;;;ACJnrB;AACA;AACA;AACA;AAC+W,mLAAmL,oBAAoB,yDAAC,CAAC,eAAe,6LAA6L,wBAAwB,sCAAsC,QAAQ,0DAAC,iBAAiB,UAAU,0BAA0B,0BAA0B,0BAA0B,0BAA0B,0BAA0B,QAAQ,4DAAC,IAAI,gDAAgD,uDAAC,EAAE,sFAAC,iCAAiC,uDAAC,EAAE,sFAAC,6BAA6B,uDAAC,EAAE,sFAAC,mCAAmC,uDAAC,EAAE,sFAAC,iCAAiC,uDAAC,EAAE,sFAAC,qCAAqC,uDAAC,EAAE,sFAAC,sCAAsC,uDAAC,EAAE,sFAAC,kCAAkC,UAA+B;;;;;;;;;;;;;;;;;;;;;;;;;;ACJ/0C;AACA;AACA;AACA;AACyc,oBAAoB,+EAAC,CAAC,QAAQ,wFAAwF,YAAY,uCAAuC,uDAAC,EAAE,kFAAC,EAAE,KAAK,mDAAC,YAAY,+EAAC,CAAC,mDAAC,EAAE,oCAAoC,uDAAC,EAAE,sFAAC,wCAAwE;;;;;;;;;;;;;;;;;;;;;;;;;;ACJ/vB;AACA;AACA;AACA;AACgd,kBAAkB,QAAQ,4BAA4B,IAAI,KAAK,iCAAiC,sDAAsD,YAAY,sBAAsB,kBAAkB,4BAA4B,2DAAC,CAAC,YAAY,kDAAkD,OAAO,kFAAkF,iEAAW,6BAA6B,QAAQ,OAAO,KAAK,aAAa,OAAO,4EAA4E,OAAO,oCAAoC,kDAAkD,gDAAgD,iEAAW,qDAAqD,UAAU,8FAA8F,UAAU,8BAA8B,6BAA6B,sBAAsB,cAAc,mBAAmB,yEAAC,yBAAyB,SAAS,oBAAoB,oCAAoC,wDAAC,EAAE,UAAU,6CAA6C,KAAK,oEAAC,gBAAgB,8BAA8B,GAAG,iEAAW,oGAAoG,aAAa,oBAAoB,wBAAwB,uBAAuB,oDAAoD,GAAG,iBAAiB,6BAA6B,kBAAkB,8BAA8B,UAAU,6BAA6B,cAAc,iCAAiC,YAAY,+BAA+B,aAAa,gCAAgC,eAAe,mBAAmB,OAAO,uDAAC,EAAE,sFAAC,iCAAiC,uDAAC,EAAE,sFAAC,oCAA6D;;;;;;;;;;;;;;;;;;;;;;;;;;ACJzvE;AACA;AACA;AACA;AAC6d,oBAAoB,6DAAC,CAAC,eAAe,4EAA4E,uDAAC,EAAE,sFAAC,EAAE,KAAK,yEAAC,OAAO,UAAU,oCAAoC,uDAAC,EAAE,sFAAC,EAAE,KAAK,4EAAC,OAAO,UAAU,uCAAuC,uDAAC,EAAE,sFAAC,EAAE,KAAK,wEAAC,OAAO,UAAU,qCAAqC,uDAAC,EAAE,sFAAC,kCAAkC,UAA+B;;;;;;;;;;;;;;;;;;;;;;;;ACJ11B;AACA;AACA;AACA;AACsX,kBAAkB,4BAA4B,IAAI,KAAK,gBAAgB,qBAAqB,sBAAsB,wBAAwB,gBAAgB,YAAY,sBAAsB,kBAAkB,4BAA4B,2DAAC,kDAAkD,eAAe,4GAA4G,iEAAW,6BAA6B,QAAQ,OAAO,KAAK,aAAa,OAAO,+DAA+D,sCAAsC,mBAAmB,KAAK,UAAU,8BAA8B,6BAA6B,sBAAsB,cAAc,mBAAmB,yEAAC,yBAAyB,iBAAiB,6BAA6B,kBAAkB,gCAAgC,OAAO,uDAAC,EAAE,sFAAC,iCAAiC,uDAAC,EAAE,sFAAC,oCAA6D;;;;;;;;;;;;;;;;;;;;;;;;ACJ9zC;AACA;AACA;AACA;AACoY,MAAM,sBAAsB,wEAAC,CAAC,yDAAC,GAAG,eAAe,0JAA0J,QAAQ,cAAc,4JAA4J,IAAI,uDAAC,EAAE,sFAAC,iCAAiC,uDAAC,EAAE,sFAAC,oCAAoC,uDAAC,EAAE,sFAAC,mCAAmC,uDAAC,EAAE,sFAAC,+BAA+B,uDAAC,EAAE,sFAAC,6BAA6B,uDAAC,EAAE,sFAAC,oCAAoC,uDAAC,EAAE,sFAAC,gCAAgC,uDAAC,EAAE,sFAAC,+BAA+B,uDAAC,EAAE,sFAAC,sCAAsC,uDAAC,EAAE,sFAAC,wCAAwC,UAA+B;;;;;;;;;;;;;;;;;;;;;;;ACJjqC;AACA;AACA;AACA;AAC8T,MAAM,sBAAsB,sDAAC,CAAC,eAAe,4CAA4C,QAAQ,cAAc,6KAA6K,IAAI,uDAAC,EAAE,sFAAC,oCAAoC,uDAAC,EAAE,sFAAC,0CAA0C,UAA+B;;;;;;;;;;;;;;;;;;;;;;;ACJntB;AACA;AACA;AACA;AAC8T,MAAM,sBAAsB,sDAAC,CAAC,eAAe,2GAA2G,QAAQ,cAAc,oPAAoP,IAAI,uDAAC,EAAE,sFAAC,8CAA8C,uDAAC,EAAE,sFAAC,8BAA8B,uDAAC,EAAE,sFAAC,8BAA8B,uDAAC,EAAE,sFAAC,+BAA+B,uDAAC,EAAE,sFAAC,oCAAoC,uDAAC,EAAE,sFAAC,0CAA0C,UAA+B;;;;;;;;;;;;;;;;;;;;;;;ACJl/B;AACA;AACA;AACA;AAC8T,MAAM,sBAAsB,sDAAC,CAAC,eAAe,0DAA0D,QAAQ,cAAc,8LAA8L,IAAI,uDAAC,EAAE,sFAAC,gCAAgC,uDAAC,EAAE,sFAAC,oCAAoC,uDAAC,EAAE,sFAAC,0CAA0C,UAA+B;;;;;;;;;;;;;;;;;;;;ACJtxB;AACA;AACA;AACA;AAC4E,cAAc,yEAAyE,cAAc,UAAU,uBAAuB,EAAE,GAAG,IAAI,YAAY,mBAAmB,EAAE,mDAAmD,YAAY,+DAAC,YAAuF;;;;;;;;;;;;;;;;;;;;ACJnZ;AACA;AACA;AACA;AAC4E,qHAAqH,cAAc,4CAA4C,cAAc,QAAQ,4DAAC,OAAO,8FAA8F,gBAAgB,aAAa,yDAAQ,SAA2E;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACJve;AACA;AACA;AACA;AACA;AAAuB;AAAgC;AAAiC;;AAA+C,MAAMlB,CAAC,GAAC,MAAIL,iEAAA,CAAY,6BAAZ,CAAZ;;AAAuD,IAAIG,CAAJ;;AAAM,SAASM,CAAT,GAAY;AAAC,SAAON,CAAC,KAAGA,CAAC,GAAC,kMAAC,aAAS;AAAC,UAAMJ,CAAC,SAAO,iXAAd;AAAyC,WAAM;AAACkhE,MAAAA,MAAM,EAAClhE,CAAC,CAACkhE,MAAV;AAAiB7iB,MAAAA,WAAW,EAACr+C,CAA7B;AAA+B82E,MAAAA,UAAU,EAAC92E,CAAC,CAAC82E,UAA5C;AAAuDC,MAAAA,OAAO,EAAC/2E,CAAC,CAACg3E;AAAjE,KAAN;AAAsF,GAA1I,GAAL,CAAD,EAAqJ52E,CAA5J;AAA8J;;AAAA,MAAMY,CAAC,GAAC,CAAChB,CAAD,EAAGC,CAAH,EAAKC,CAAL,KAASY,CAAC,CAAC+jB,MAAF,CAAS7kB,CAAT,EAAWC,CAAX,EAAaC,CAAb,EAAe,IAAf,EAAoB,CAAC,UAAD,EAAY,OAAZ,CAApB,EAAyC,EAAzC,CAAjB;AAAA,MAA8DS,CAAC,GAAC,CAACX,CAAD,EAAGC,CAAH,KAAOa,CAAC,CAAC+jB,MAAF,CAAS7kB,CAAT,EAAWC,CAAC,CAAC2C,gBAAb,EAA8B3C,CAAC,CAACsM,MAAhC,EAAuC,IAAvC,EAA4C,CAAC,UAAD,EAAY,OAAZ,CAA5C,EAAiE,EAAjE,CAAvE;AAAA,MAA4I/L,CAAC,GAAC,CAACR,CAAD,EAAGC,CAAH,EAAKC,CAAL,KAASY,CAAC,CAAC+jB,MAAF,CAAS7kB,CAAT,EAAWC,CAAX,EAAaC,CAAb,EAAe,IAAf,EAAoB,CAAC,UAAD,EAAY,OAAZ,CAApB,EAAyC,EAAzC,CAAvJ;AAAA,MAAoMW,CAAC,GAACL,CAAtM;AAAA,MAAwMgB,CAAC,GAAC,CAACxB,CAAD,EAAGC,CAAH,EAAKC,CAAL,EAAOI,CAAP,KAAWQ,CAAC,CAAC+jB,MAAF,CAAS7kB,CAAT,EAAWC,CAAX,EAAaC,CAAb,EAAeI,CAAf,EAAiB,CAAC,UAAD,EAAY,OAAZ,CAAjB,EAAsC,EAAtC,CAArN;;AAA+P,MAAMQ,CAAN,CAAO;AAAC2B,EAAAA,WAAW,CAACzC,CAAD,EAAGC,CAAH,EAAKC,CAAL,EAAOI,CAAP,EAASF,CAAT,EAAWM,CAAX,EAAaM,CAAb,EAAe;AAAC,SAAKiqE,QAAL,GAAc,IAAd,EAAmB,KAAKgM,MAAL,GAAYj3E,CAA/B,EAAiC,KAAK8qE,QAAL,GAAcxqE,CAA/C;AAAiD,UAAMK,CAAC,GAAC4F,KAAK,CAACC,OAAN,CAAc9F,CAAd,IAAiBA,CAAjB,GAAmBA,CAAC,EAAE6L,MAA9B;AAAqC,SAAKA,MAAL,GAAY5L,CAAC,IAAE,EAAf,EAAkB,KAAKu2E,WAAL,GAAiBh3E,CAAnC,EAAqC,KAAKi3E,OAAL,GAAal3E,CAAlD,EAAoD,KAAKm3E,cAAL,GAAoBh3E,CAAxE,EAA0E,KAAKi3E,iBAAL,GAAuBr2E,CAAjG,EAAmG,KAAKs2E,mBAAL,GAAyBr3E,CAAC,CAACs3E,qBAAF,CAAwB,KAAKL,WAA7B,CAA5H,EAAsK,KAAKM,gBAAL,GAAsB,KAAKL,OAAL,CAAaM,gBAAb,CAA8B,KAAKP,WAAnC,EAA+C,OAA/C,CAA5L;AAAoP;;AAAmB,SAANryD,MAAM,CAAC5kB,CAAD,EAAGG,CAAH,EAAKY,CAAL,EAAOL,CAAP,EAASH,CAAT,EAAWK,CAAX,EAAa;AAAA;AAAC,YAAK;AAACqgE,QAAAA,MAAM,EAAC1/D,CAAR;AAAUu1E,QAAAA,OAAO,EAACn1E,CAAlB;AAAoBk1E,QAAAA,UAAU,EAAC51E;AAA/B,gBAAwCR,CAAC,EAA9C;AAAA,YAAiDgB,CAAC,GAACtB,CAAC,YAAYF,qEAAb,GAAeE,CAAf,GAAiBF,8EAAA,CAAWE,CAAX,CAApE;AAAkF,UAAIgB,CAAJ;;AAAM,UAAG;AAACA,QAAAA,CAAC,GAACI,CAAC,CAACk2E,WAAF,CAAcz3E,CAAd,EAAgBY,CAAhB,CAAF;AAAqB,OAAzB,CAAyB,OAAM2B,CAAN,EAAQ;AAAC,eAAOlC,CAAC,GAAGmD,KAAJ,CAAU,IAAIzD,sDAAJ,CAAM,uBAAN,EAA8B,+BAA9B,EAA8D;AAACi3E,UAAAA,MAAM,EAACh3E,CAAR;AAAUwD,UAAAA,KAAK,EAACjB;AAAhB,SAA9D,CAAV,GAA6F,IAApG;AAAyG;;AAAA,YAAMlB,CAAC,GAACd,CAAC,CAACsQ,MAAF,CAAU,CAAC9Q,CAAD,EAAGC,CAAH,MAAQ,EAAC,GAAGD,CAAJ;AAAM,SAACC,CAAD,GAAI;AAAV,OAAR,CAAV,EAAoC,EAApC,CAAR;AAAgD,UAAI8B,CAAC,GAAC,IAAN;AAAW,cAAMpB,CAAN,KAAUoB,CAAC,GAAC,IAAIb,CAAJ,CAAMP,CAAN,CAAF,EAAWoB,CAAC,CAAC41E,SAAF,GAAY,CAAC,CAAxB,EAA0Br2E,CAAC,CAACs2E,OAAF,GAAU,IAA9C;;AAAoD,YAAMr1E,CAAC,GAACf,CAAC,CAACq2E,wBAAF,CAA2Bz2E,CAA3B,CAAR;AAAA,YAAsC0R,CAAC,GAACvQ,CAAC,IAAEf,CAAC,CAACs2E,qBAAF,EAA3C;AAAA,YAAqE71E,CAAC,GAACT,CAAC,CAACu2E,oBAAF,CAAuB32E,CAAvB,KAA2BI,CAAC,CAACw2E,uBAAF,EAAlG;AAAA,YAA8Hj4E,CAAC,GAACyB,CAAC,CAACy2E,aAAF,CAAgB72E,CAAhB,CAAhI;AAAA,YAAmJmH,CAAC,GAACxI,CAAC,IAAEyB,CAAC,CAAC02E,kBAAF,EAAxJ;AAAA,YAA+K91E,CAAC,GAAC;AAAC+1E,QAAAA,IAAI,EAAC72E,CAAN;AAAQsB,QAAAA,gBAAgB,EAAClB,CAAzB;AAA2B02E,QAAAA,QAAQ,EAAC,CAAC,CAAC7vE;AAAtC,OAAjL;;AAA0N,YAAMlD,OAAO,CAACc,GAAR,CAAY,CAAC2M,CAAD,EAAG7Q,CAAH,EAAKsG,CAAL,CAAZ,CAAN;AAA2B,YAAM1G,CAAC,GAAC,IAAI+K,GAAJ,EAAR;AAAgB,YAAMpL,CAAC,CAAC62E,oBAAF,CAAuBx2E,CAAvB,EAAyBT,CAAzB,EAA2B,IAA3B,EAAgCrB,CAAhC,EAAkCwC,CAAlC,CAAN;AAA2C,YAAMgJ,CAAC,GAAC,IAAIrK,CAAJ,EAAR;AAAcqK,MAAAA,CAAC,CAACosE,SAAF,GAAY,CAAC,CAAb,EAAepsE,CAAC,CAAC+sE,QAAF,CAAW,OAAX,EAAmB,CAAnB,CAAf;;AAAqC,YAAMh2E,CAAC,GAACd,CAAC,CAAC+2E,aAAF,CAAgBn3E,CAAhB,EAAkBgB,CAAlB,CAAR;AAAA,YAA6BgmB,CAAC,GAAC,CAACpoB,CAAD,EAAGC,CAAH,KAAO;AAAC,cAAMC,CAAC,GAACF,CAAC,CAACgrE,KAAF,EAAS91D,QAAjB;AAA0B,eAAM,WAAUlV,CAAV,IAAaA,CAAC,CAACgrE,KAAf,KAAuBz/D,CAAC,CAAC+sE,QAAF,CAAW,OAAX,EAAmB,YAAU,OAAOt4E,CAAC,CAACgrE,KAAnB,IAA0B,WAAUhrE,CAAC,CAACgrE,KAAtC,GAA4ChrE,CAAC,CAACgrE,KAAF,CAAQzyD,KAApD,GAA0D,KAAK,CAAlF,GAAqFvY,CAAC,CAACgrE,KAAF,GAAQz/D,CAApH,GAAuHxJ,CAAC,KAAG/B,CAAC,CAAC43E,OAAF,GAAU71E,CAAb,CAAxH,EAAwIO,CAAC,CAAC;AAAC61E,UAAAA,IAAI,EAACn4E,CAAN;AAAQ4C,UAAAA,gBAAgB,EAAClB,CAAzB;AAA2BupE,UAAAA,QAAQ,EAAChrE,CAApC;AAAsCiV,UAAAA,QAAQ,EAAChV;AAA/C,SAAD,CAA/I;AAAmM,OAApQ;;AAAqQ,aAAO,IAAIY,CAAJ,CAAMb,CAAN,EAAQuB,CAAR,EAAUJ,CAAV,EAAYgnB,CAAZ,EAAc,IAAIxmB,CAAJ,EAAd,EAAoBZ,CAApB,EAAsBU,CAAtB,CAAP;AAA37B;AAA29B;;AAAAmpE,EAAAA,gBAAgB,CAAC7qE,CAAD,EAAG;AAAC,WAAOA,CAAC,CAACm3B,QAAF,IAAY,CAACn3B,CAAC,CAACm3B,QAAF,CAAWv0B,gBAAxB,KAA2C5C,CAAC,CAACm3B,QAAF,CAAWv0B,gBAAX,GAA4B,KAAKy0E,iBAA5E,GAA+F,KAAKD,cAAL,CAAoBoB,8BAApB,CAAmDx4E,CAAC,CAACm3B,QAArD,EAA8Dn3B,CAAC,CAACuxC,UAAhE,EAA2E;AAAChlC,MAAAA,MAAM,EAAC,KAAKA;AAAb,KAA3E,CAA/F,EAAgM,KAAK6qE,cAA5M;AAA2N;;AAAAqB,EAAAA,kBAAkB,GAAE;AAAC,WAAO,KAAKnB,mBAAZ;AAAgC;;AAAAoB,EAAAA,eAAe,GAAE;AAAC,WAAO,KAAKlB,gBAAZ;AAA6B;;AAAprD;;;;;;;;;;;;;;;;;;ACJrnB;AACA;AACA;AACA;AACA,cAAc,2CAA2C,YAAY,WAAW,yBAAyB,gBAAgB,cAAc,0BAA0B,SAAS,YAAY,WAAW,iCAAiC,eAAyE;;;;;;;;;;;;;;;;;;;;;;ACJ3S;AACA;AACA;AACA;AACA;AAA2C;;SAAwEl3E;;;;;yMAAf,WAAiBN,CAAjB,EAAmB;AAAC,QAAG,CAACA,CAAJ,EAAM;AAAO,UAAMM,CAAC,GAACN,CAAC,CAAC8xB,QAAF,CAAW,SAAX,IAAsB9xB,CAAC,CAAC8J,KAAF,CAAQ,CAAR,EAAU9J,CAAC,CAACyR,OAAF,CAAU,SAAV,CAAV,CAAtB,GAAsDzR,CAAC,CAAC8xB,QAAF,CAAW,KAAX,IAAkB9xB,CAAC,CAAC8J,KAAF,CAAQ,CAAR,EAAU9J,CAAC,CAACyR,OAAF,CAAU,KAAV,CAAV,CAAlB,GAA8CzR,CAA5G;AAAA,UAA8GI,CAAC,SAAOH,qEAAC,CAAC,mBAAD,CAAvH;AAA6I,WAAOG,CAAC,CAACJ,CAAD,CAAD,IAAMI,CAAC,CAACE,CAAD,CAAd;AAAkB;;;;AAAA,MAAMF,CAAC,GAAC;AAAC44E,EAAAA,SAAS,EAAC;AAACt2E,IAAAA,EAAE,EAAC,WAAJ;AAAgBu2E,IAAAA,OAAO,EAAC,CAAC,CAAzB;;AAA2B,QAAIn2E,YAAJ,GAAkB;AAAC,aAAO9C,uDAAC,CAAC,mCAAD,CAAR;AAA8C,KAA5F;;AAA6FgF,IAAAA,aAAa,EAAC,CAAC;AAACtC,MAAAA,EAAE,EAAC,sBAAJ;AAA2BmD,MAAAA,GAAG,EAAC,0EAA/B;AAA0Ga,MAAAA,SAAS,EAAC,4BAApH;AAAiJ3D,MAAAA,KAAK,EAAC,eAAvJ;AAAuK4tC,MAAAA,UAAU,EAAC,CAAC,CAAnL;AAAqLxB,MAAAA,UAAU,EAAC,CAAC,CAAjM;AAAmMnmC,MAAAA,OAAO,EAAC;AAA3M,KAAD;AAA3G,GAAX;AAAuUkwE,EAAAA,MAAM,EAAC;AAACx2E,IAAAA,EAAE,EAAC,QAAJ;AAAau2E,IAAAA,OAAO,EAAC,CAAC,CAAtB;;AAAwB,QAAIn2E,YAAJ,GAAkB;AAAC,aAAO9C,uDAAC,CAAC,gCAAD,CAAR;AAA2C,KAAtF;;AAAuFgF,IAAAA,aAAa,EAAC,CAAC;AAACtC,MAAAA,EAAE,EAAC,mBAAJ;AAAwBmD,MAAAA,GAAG,EAAC,0EAA5B;AAAuGa,MAAAA,SAAS,EAAC,4BAAjH;AAA8I3D,MAAAA,KAAK,EAAC,eAApJ;AAAoK4tC,MAAAA,UAAU,EAAC,CAAC,CAAhL;AAAkLxB,MAAAA,UAAU,EAAC,CAAC,CAA9L;AAAgMnmC,MAAAA,OAAO,EAAC;AAAxM,KAAD,EAA4M;AAACtG,MAAAA,EAAE,EAAC,wBAAJ;AAA6B6kE,MAAAA,QAAQ,EAAC,+GAAtC;AAAsJ7gE,MAAAA,SAAS,EAAC,iBAAhK;AAAkL3D,MAAAA,KAAK,EAAC,wBAAxL;AAAiNgC,MAAAA,WAAW,EAAC,CAAC,CAA9N;AAAgO4rC,MAAAA,UAAU,EAAC,CAAC,CAA5O;AAA8OxB,MAAAA,UAAU,EAAC,CAAC,CAA1P;AAA4PnmC,MAAAA,OAAO,EAAC;AAApQ,KAA5M;AAArG,GAA9U;AAAw4BmwE,EAAAA,OAAO,EAAC;AAACz2E,IAAAA,EAAE,EAAC,SAAJ;AAAcu2E,IAAAA,OAAO,EAAC,CAAC,CAAvB;;AAAyB,QAAIn2E,YAAJ,GAAkB;AAAC,aAAO9C,uDAAC,CAAC,iCAAD,CAAR;AAA4C,KAAxF;;AAAyFgF,IAAAA,aAAa,EAAC,CAAC;AAACtC,MAAAA,EAAE,EAAC,oBAAJ;AAAyBmD,MAAAA,GAAG,EAAC,+EAA7B;AAA6Ga,MAAAA,SAAS,EAAC,4BAAvH;AAAoJ3D,MAAAA,KAAK,EAAC,oBAA1J;AAA+K4tC,MAAAA,UAAU,EAAC,CAAC,CAA3L;AAA6LxB,MAAAA,UAAU,EAAC,CAAC,CAAzM;AAA2MnmC,MAAAA,OAAO,EAAC;AAAnN,KAAD,EAAuN;AAACtG,MAAAA,EAAE,EAAC,yBAAJ;AAA8BmD,MAAAA,GAAG,EAAC,8FAAlC;AAAiIa,MAAAA,SAAS,EAAC,4BAA3I;AAAwK3D,MAAAA,KAAK,EAAC,yBAA9K;AAAwMgC,MAAAA,WAAW,EAAC,CAAC,CAArN;AAAuN4rC,MAAAA,UAAU,EAAC,CAAC,CAAnO;AAAqOxB,MAAAA,UAAU,EAAC,CAAC,CAAjP;AAAmPnmC,MAAAA,OAAO,EAAC;AAA3P,KAAvN;AAAvG,GAAh5B;AAA88CowE,EAAAA,MAAM,EAAC;AAAC12E,IAAAA,EAAE,EAAC,QAAJ;AAAau2E,IAAAA,OAAO,EAAC,CAAC,CAAtB;;AAAwB,QAAIn2E,YAAJ,GAAkB;AAAC,aAAO9C,uDAAC,CAAC,gCAAD,CAAR;AAA2C,KAAtF;;AAAuFgF,IAAAA,aAAa,EAAC,CAAC;AAACtC,MAAAA,EAAE,EAAC,mBAAJ;AAAwBmD,MAAAA,GAAG,EAAC,mFAA5B;AAAgHa,MAAAA,SAAS,EAAC,4BAA1H;AAAuJ3D,MAAAA,KAAK,EAAC,kBAA7J;AAAgL4tC,MAAAA,UAAU,EAAC,CAAC,CAA5L;AAA8LxB,MAAAA,UAAU,EAAC,CAAC,CAA1M;AAA4MnmC,MAAAA,OAAO,EAAC;AAApN,KAAD,EAAwN;AAACtG,MAAAA,EAAE,EAAC,wBAAJ;AAA6BmD,MAAAA,GAAG,EAAC,wFAAjC;AAA0Ha,MAAAA,SAAS,EAAC,4BAApI;AAAiK3D,MAAAA,KAAK,EAAC,uBAAvK;AAA+LgC,MAAAA,WAAW,EAAC,CAAC,CAA5M;AAA8M4rC,MAAAA,UAAU,EAAC,CAAC,CAA1N;AAA4NxB,MAAAA,UAAU,EAAC,CAAC,CAAxO;AAA0OnmC,MAAAA,OAAO,EAAC;AAAlP,KAAxN;AAArG,GAAr9C;AAAygEqwE,EAAAA,GAAG,EAAC;AAAC32E,IAAAA,EAAE,EAAC,KAAJ;AAAUu2E,IAAAA,OAAO,EAAC,CAAC,CAAnB;;AAAqB,QAAIn2E,YAAJ,GAAkB;AAAC,aAAO9C,uDAAC,CAAC,6BAAD,CAAR;AAAwC,KAAhF;;AAAiFgF,IAAAA,aAAa,EAAC,CAAC;AAACtC,MAAAA,EAAE,EAAC,gBAAJ;AAAqBgE,MAAAA,SAAS,EAAC,eAA/B;AAA+C3D,MAAAA,KAAK,EAAC,iBAArD;AAAuE4tC,MAAAA,UAAU,EAAC,CAAC,CAAnF;AAAqFxB,MAAAA,UAAU,EAAC,CAAC,CAAjG;AAAmGnmC,MAAAA,OAAO,EAAC;AAA3G,KAAD;AAA/F,GAA7gE;AAA6tE,sBAAmB;AAACtG,IAAAA,EAAE,EAAC,kBAAJ;AAAuBu2E,IAAAA,OAAO,EAAC,CAAC,CAAhC;;AAAkC,QAAIn2E,YAAJ,GAAkB;AAAC,aAAO9C,uDAAC,CAAC,0CAAD,CAAR;AAAqD,KAA1G;;AAA2GgF,IAAAA,aAAa,EAAC,CAAC;AAACtC,MAAAA,EAAE,EAAC,sBAAJ;AAA2B6kE,MAAAA,QAAQ,EAAC,+GAApC;AAAoJ7gE,MAAAA,SAAS,EAAC,iBAA9J;AAAgL3D,MAAAA,KAAK,EAAC,gBAAtL;AAAuMosC,MAAAA,UAAU,EAAC,CAAC,CAAnN;AAAqNnmC,MAAAA,OAAO,EAAC;AAA7N,KAAD,EAAiO;AAACtG,MAAAA,EAAE,EAAC,2BAAJ;AAAgC6kE,MAAAA,QAAQ,EAAC,+GAAzC;AAAyJ7gE,MAAAA,SAAS,EAAC,iBAAnK;AAAqL3D,MAAAA,KAAK,EAAC,qBAA3L;AAAiNgC,MAAAA,WAAW,EAAC,CAAC,CAA9N;AAAgOoqC,MAAAA,UAAU,EAAC,CAAC,CAA5O;AAA8OnmC,MAAAA,OAAO,EAAC;AAAtP,KAAjO;AAAzH,GAAhvE;;AAAq0F,MAAG,WAAH,GAAgB;AAAC,WAAM,EAAC,GAAG,KAAK,kBAAL,CAAJ;AAA6BtG,MAAAA,EAAE,EAAC;AAAhC,KAAN;AAAmD,GAAz4F;;AAA04F,iBAAc;AAACA,IAAAA,EAAE,EAAC,aAAJ;AAAkBu2E,IAAAA,OAAO,EAAC,CAAC,CAA3B;;AAA6B,QAAIn2E,YAAJ,GAAkB;AAAC,aAAO9C,uDAAC,CAAC,qCAAD,CAAR;AAAgD,KAAhG;;AAAiGgF,IAAAA,aAAa,EAAC,CAAC;AAACtC,MAAAA,EAAE,EAAC,iBAAJ;AAAsB6kE,MAAAA,QAAQ,EAAC,+GAA/B;AAA+I7gE,MAAAA,SAAS,EAAC,iBAAzJ;AAA2K3D,MAAAA,KAAK,EAAC,iBAAjL;AAAmMosC,MAAAA,UAAU,EAAC,CAAC,CAA/M;AAAiNnmC,MAAAA,OAAO,EAAC;AAAzN,KAAD,EAA6N;AAACtG,MAAAA,EAAE,EAAC,sBAAJ;AAA2B6kE,MAAAA,QAAQ,EAAC,+GAApC;AAAoJ7gE,MAAAA,SAAS,EAAC,iBAA9J;AAAgL3D,MAAAA,KAAK,EAAC,sBAAtL;AAA6MgC,MAAAA,WAAW,EAAC,CAAC,CAA1N;AAA4NoqC,MAAAA,UAAU,EAAC,CAAC,CAAxO;AAA0OnmC,MAAAA,OAAO,EAAC;AAAlP,KAA7N;AAA/G,GAAx5F;;AAA29G,MAAIswE,IAAJ,GAAU;AAAC,WAAM,EAAC,GAAG,KAAK,aAAL,CAAJ;AAAwB52E,MAAAA,EAAE,EAAC;AAA3B,KAAN;AAAyC,GAA/gH;;AAAghH,oBAAiB;AAACA,IAAAA,EAAE,EAAC,gBAAJ;AAAqBu2E,IAAAA,OAAO,EAAC,CAAC,CAA9B;;AAAgC,QAAIn2E,YAAJ,GAAkB;AAAC,aAAO9C,uDAAC,CAAC,wCAAD,CAAR;AAAmD,KAAtG;;AAAuGgF,IAAAA,aAAa,EAAC,CAAC;AAACtC,MAAAA,EAAE,EAAC,2BAAJ;AAAgC6kE,MAAAA,QAAQ,EAAC,yGAAzC;AAAmJ7gE,MAAAA,SAAS,EAAC,iBAA7J;AAA+K3D,MAAAA,KAAK,EAAC,eAArL;AAAqMosC,MAAAA,UAAU,EAAC,CAAC,CAAjN;AAAmNnmC,MAAAA,OAAO,EAAC;AAA3N,KAAD;AAArH,GAAjiH;;AAAu3H,MAAIuwE,OAAJ,GAAa;AAAC,WAAM,EAAC,GAAG,KAAK,gBAAL,CAAJ;AAA2B72E,MAAAA,EAAE,EAAC;AAA9B,KAAN;AAA+C,GAAp7H;;AAAq7H,iBAAc;AAACA,IAAAA,EAAE,EAAC,aAAJ;AAAkBu2E,IAAAA,OAAO,EAAC,CAAC,CAA3B;;AAA6B,QAAIn2E,YAAJ,GAAkB;AAAC,aAAO9C,uDAAC,CAAC,qCAAD,CAAR;AAAgD,KAAhG;;AAAiGgF,IAAAA,aAAa,EAAC,CAAC;AAACtC,MAAAA,EAAE,EAAC,uBAAJ;AAA4BmD,MAAAA,GAAG,EAAC,sFAAhC;AAAuHa,MAAAA,SAAS,EAAC,4BAAjI;AAA8J3D,MAAAA,KAAK,EAAC,iBAApK;AAAsL4tC,MAAAA,UAAU,EAAC,CAAC,CAAlM;AAAoMxB,MAAAA,UAAU,EAAC,CAAC,CAAhN;AAAkNnmC,MAAAA,OAAO,EAAC;AAA1N,KAAD,EAA8N;AAACtG,MAAAA,EAAE,EAAC,wBAAJ;AAA6B6kE,MAAAA,QAAQ,EAAC,yGAAtC;AAAgJ7gE,MAAAA,SAAS,EAAC,iBAA1J;AAA4K3D,MAAAA,KAAK,EAAC,YAAlL;AAA+LosC,MAAAA,UAAU,EAAC,CAAC,CAA3M;AAA6MnmC,MAAAA,OAAO,EAAC;AAArN,KAA9N;AAA/G,GAAn8H;;AAA0+I,MAAIwwE,IAAJ,GAAU;AAAC,WAAM,EAAC,GAAG,KAAK,aAAL,CAAJ;AAAwB92E,MAAAA,EAAE,EAAC;AAA3B,KAAN;AAAyC,GAA9hJ;;AAA+hJ,0BAAuB;AAACA,IAAAA,EAAE,EAAC,sBAAJ;AAA2Bu2E,IAAAA,OAAO,EAAC,CAAC,CAApC;;AAAsC,QAAIn2E,YAAJ,GAAkB;AAAC,aAAO9C,uDAAC,CAAC,uCAAD,CAAR;AAAkD,KAA3G;;AAA4GgF,IAAAA,aAAa,EAAC,CAAC;AAACtC,MAAAA,EAAE,EAAC,iCAAJ;AAAsC6kE,MAAAA,QAAQ,EAAC,yGAA/C;AAAyJ7gE,MAAAA,SAAS,EAAC,iBAAnK;AAAqL3D,MAAAA,KAAK,EAAC,qBAA3L;AAAiNosC,MAAAA,UAAU,EAAC,CAAC,CAA7N;AAA+NnmC,MAAAA,OAAO,EAAC;AAAvO,KAAD;AAA1H,GAAtjJ;AAA65J,2BAAwB;AAACtG,IAAAA,EAAE,EAAC,uBAAJ;AAA4Bu2E,IAAAA,OAAO,EAAC,CAAC,CAArC;;AAAuC,QAAIn2E,YAAJ,GAAkB;AAAC,aAAO9C,uDAAC,CAAC,wCAAD,CAAR;AAAmD,KAA7G;;AAA8GgF,IAAAA,aAAa,EAAC,CAAC;AAACtC,MAAAA,EAAE,EAAC,uBAAJ;AAA4BmD,MAAAA,GAAG,EAAC,sFAAhC;AAAuHa,MAAAA,SAAS,EAAC,4BAAjI;AAA8J3D,MAAAA,KAAK,EAAC,iBAApK;AAAsL4tC,MAAAA,UAAU,EAAC,CAAC,CAAlM;AAAoMxB,MAAAA,UAAU,EAAC,CAAC,CAAhN;AAAkNnmC,MAAAA,OAAO,EAAC;AAA1N,KAAD,EAA8N;AAACtG,MAAAA,EAAE,EAAC,kCAAJ;AAAuC6kE,MAAAA,QAAQ,EAAC,yGAAhD;AAA0JxkE,MAAAA,KAAK,EAAC,sBAAhK;AAAuL2D,MAAAA,SAAS,EAAC,iBAAjM;AAAmNyoC,MAAAA,UAAU,EAAC,CAAC,CAA/N;AAAiOnmC,MAAAA,OAAO,EAAC;AAAzO,KAA9N;AAA5H,GAAr7J;AAA6/K,+BAA4B;AAACtG,IAAAA,EAAE,EAAC,2BAAJ;AAAgCu2E,IAAAA,OAAO,EAAC,CAAC,CAAzC;;AAA2C,QAAIn2E,YAAJ,GAAkB;AAAC,aAAO9C,uDAAC,CAAC,4CAAD,CAAR;AAAuD,KAArH;;AAAsHgF,IAAAA,aAAa,EAAC,CAAC;AAACtC,MAAAA,EAAE,EAAC,sCAAJ;AAA2C6kE,MAAAA,QAAQ,EAAC,yGAApD;AAA8J7gE,MAAAA,SAAS,EAAC,iBAAxK;AAA0L3D,MAAAA,KAAK,EAAC,0BAAhM;AAA2NosC,MAAAA,UAAU,EAAC,CAAC,CAAvO;AAAyOnmC,MAAAA,OAAO,EAAC;AAAjP,KAAD;AAApI,GAAzhL;AAAo5L,aAAU;AAACtG,IAAAA,EAAE,EAAC,SAAJ;AAAcoF,IAAAA,IAAI,EAAC,CAAC,CAApB;;AAAsB,QAAIhF,YAAJ,GAAkB;AAAC,aAAO9C,uDAAC,CAAC,iCAAD,CAAR;AAA4C,KAArF;;AAAsFgF,IAAAA,aAAa,EAAC,CAAC;AAACtC,MAAAA,EAAE,EAAC,oBAAJ;AAAyB6kE,MAAAA,QAAQ,EAAC,+GAAlC;AAAkJ7gE,MAAAA,SAAS,EAAC,iBAA5J;AAA8K3D,MAAAA,KAAK,EAAC,aAApL;AAAkMosC,MAAAA,UAAU,EAAC,CAAC,CAA9M;AAAgNnmC,MAAAA,OAAO,EAAC;AAAxN,KAAD,EAA4N;AAACtG,MAAAA,EAAE,EAAC,eAAJ;AAAoBK,MAAAA,KAAK,EAAC,OAA1B;AAAkC8C,MAAAA,GAAG,EAAC,kGAAtC;AAAyI+B,MAAAA,MAAM,EAAC,kCAAhJ;AAAmLlB,MAAAA,SAAS,EAAC;AAA7L,KAA5N,EAAob;AAAChE,MAAAA,EAAE,EAAC,2BAAJ;AAAgCK,MAAAA,KAAK,EAAC,mBAAtC;AAA0D8C,MAAAA,GAAG,EAAC,8FAA9D;AAA6J+B,MAAAA,MAAM,EAAC,kCAApK;AAAuMlB,MAAAA,SAAS,EAAC;AAAjN,KAApb,EAAgqB;AAAChE,MAAAA,EAAE,EAAC,mBAAJ;AAAwBK,MAAAA,KAAK,EAAC,WAA9B;AAA0C8C,MAAAA,GAAG,EAAC,6FAA9C;AAA4I+B,MAAAA,MAAM,EAAC,kCAAnJ;AAAsLlB,MAAAA,SAAS,EAAC;AAAhM,KAAhqB;AAApG,GAA95L;AAA+3N,mBAAgB;AAAChE,IAAAA,EAAE,EAAC,eAAJ;AAAoBoF,IAAAA,IAAI,EAAC,CAAC,CAA1B;;AAA4B,QAAIhF,YAAJ,GAAkB;AAAC,aAAO9C,uDAAC,CAAC,uCAAD,CAAR;AAAkD,KAAjG;;AAAkGgF,IAAAA,aAAa,EAAC,CAAC;AAACtC,MAAAA,EAAE,EAAC,0BAAJ;AAA+B6kE,MAAAA,QAAQ,EAAC,+GAAxC;AAAwJ7gE,MAAAA,SAAS,EAAC,iBAAlK;AAAoL3D,MAAAA,KAAK,EAAC,YAA1L;AAAuMosC,MAAAA,UAAU,EAAC,CAAC,CAAnN;AAAqNnmC,MAAAA,OAAO,EAAC;AAA7N,KAAD,EAAiO;AAACtG,MAAAA,EAAE,EAAC,iCAAJ;AAAsCK,MAAAA,KAAK,EAAC,mBAA5C;AAAgE8C,MAAAA,GAAG,EAAC,8FAApE;AAAmK+B,MAAAA,MAAM,EAAC,kCAA1K;AAA6MlB,MAAAA,SAAS,EAAC;AAAvN,KAAjO,EAAmd;AAAChE,MAAAA,EAAE,EAAC,yBAAJ;AAA8BK,MAAAA,KAAK,EAAC,WAApC;AAAgD8C,MAAAA,GAAG,EAAC,6FAApD;AAAkJ+B,MAAAA,MAAM,EAAC,kCAAzJ;AAA4LlB,MAAAA,SAAS,EAAC;AAAtM,KAAnd;AAAhH,GAA/4N;AAAqrP,gBAAa;AAAChE,IAAAA,EAAE,EAAC,YAAJ;AAAiBoF,IAAAA,IAAI,EAAC,CAAC,CAAvB;;AAAyB,QAAIhF,YAAJ,GAAkB;AAAC,aAAO9C,uDAAC,CAAC,oCAAD,CAAR;AAA+C,KAA3F;;AAA4FgF,IAAAA,aAAa,EAAC,CAAC;AAACtC,MAAAA,EAAE,EAAC,uBAAJ;AAA4B6kE,MAAAA,QAAQ,EAAC,+GAArC;AAAqJ7gE,MAAAA,SAAS,EAAC,iBAA/J;AAAiL3D,MAAAA,KAAK,EAAC,SAAvL;AAAiMosC,MAAAA,UAAU,EAAC,CAAC,CAA7M;AAA+MnmC,MAAAA,OAAO,EAAC;AAAvN,KAAD,EAA2N;AAACtG,MAAAA,EAAE,EAAC,8BAAJ;AAAmCK,MAAAA,KAAK,EAAC,mBAAzC;AAA6D8C,MAAAA,GAAG,EAAC,8FAAjE;AAAgK+B,MAAAA,MAAM,EAAC,kCAAvK;AAA0MlB,MAAAA,SAAS,EAAC;AAApN,KAA3N,EAA0c;AAAChE,MAAAA,EAAE,EAAC,sBAAJ;AAA2BK,MAAAA,KAAK,EAAC,WAAjC;AAA6C8C,MAAAA,GAAG,EAAC,6FAAjD;AAA+I+B,MAAAA,MAAM,EAAC,kCAAtJ;AAAyLlB,MAAAA,SAAS,EAAC;AAAnM,KAA1c;AAA1G,GAAlsP;AAAs9Q,YAAS;AAAChE,IAAAA,EAAE,EAAC,QAAJ;AAAaoF,IAAAA,IAAI,EAAC,CAAC,CAAnB;;AAAqB,QAAIhF,YAAJ,GAAkB;AAAC,aAAO9C,uDAAC,CAAC,gCAAD,CAAR;AAA2C,KAAnF;;AAAoFgF,IAAAA,aAAa,EAAC,CAAC;AAACtC,MAAAA,EAAE,EAAC,mBAAJ;AAAwB6kE,MAAAA,QAAQ,EAAC,+GAAjC;AAAiJ7gE,MAAAA,SAAS,EAAC,iBAA3J;AAA6K3D,MAAAA,KAAK,EAAC,eAAnL;AAAmMosC,MAAAA,UAAU,EAAC,CAAC,CAA/M;AAAiNnmC,MAAAA,OAAO,EAAC;AAAzN,KAAD,EAA6N;AAACtG,MAAAA,EAAE,EAAC,cAAJ;AAAmBK,MAAAA,KAAK,EAAC,OAAzB;AAAiC8C,MAAAA,GAAG,EAAC,kGAArC;AAAwI+B,MAAAA,MAAM,EAAC,kCAA/I;AAAkLlB,MAAAA,SAAS,EAAC;AAA5L,KAA7N,EAAob;AAAChE,MAAAA,EAAE,EAAC,0BAAJ;AAA+BK,MAAAA,KAAK,EAAC,mBAArC;AAAyD8C,MAAAA,GAAG,EAAC,8FAA7D;AAA4J+B,MAAAA,MAAM,EAAC,kCAAnK;AAAsMlB,MAAAA,SAAS,EAAC;AAAhN,KAApb,EAA+pB;AAAChE,MAAAA,EAAE,EAAC,kBAAJ;AAAuBK,MAAAA,KAAK,EAAC,WAA7B;AAAyC8C,MAAAA,GAAG,EAAC,6FAA7C;AAA2I+B,MAAAA,MAAM,EAAC,kCAAlJ;AAAqLlB,MAAAA,SAAS,EAAC;AAA/L,KAA/pB;AAAlG,GAA/9Q;AAA47S,aAAU;AAAChE,IAAAA,EAAE,EAAC,SAAJ;AAAcoF,IAAAA,IAAI,EAAC,CAAC,CAApB;;AAAsB,QAAIhF,YAAJ,GAAkB;AAAC,aAAO9C,uDAAC,CAAC,iCAAD,CAAR;AAA4C,KAArF;;AAAsFgF,IAAAA,aAAa,EAAC,CAAC;AAACtC,MAAAA,EAAE,EAAC,oBAAJ;AAAyB6kE,MAAAA,QAAQ,EAAC,+GAAlC;AAAkJ7gE,MAAAA,SAAS,EAAC,iBAA5J;AAA8K3D,MAAAA,KAAK,EAAC,SAApL;AAA8LosC,MAAAA,UAAU,EAAC,CAAC,CAA1M;AAA4MnmC,MAAAA,OAAO,EAAC;AAApN,KAAD,EAAwN;AAACtG,MAAAA,EAAE,EAAC,2BAAJ;AAAgCK,MAAAA,KAAK,EAAC,mBAAtC;AAA0D8C,MAAAA,GAAG,EAAC,8FAA9D;AAA6J+B,MAAAA,MAAM,EAAC,kCAApK;AAAuMlB,MAAAA,SAAS,EAAC;AAAjN,KAAxN,EAAoc;AAAChE,MAAAA,EAAE,EAAC,mBAAJ;AAAwBK,MAAAA,KAAK,EAAC,WAA9B;AAA0C8C,MAAAA,GAAG,EAAC,6FAA9C;AAA4I+B,MAAAA,MAAM,EAAC,kCAAnJ;AAAsLlB,MAAAA,SAAS,EAAC;AAAhM,KAApc;AAApG,GAAt8S;AAA2sU,wBAAqB;AAAChE,IAAAA,EAAE,EAAC,oBAAJ;AAAyBkF,IAAAA,MAAM,EAAC,kCAAhC;AAAmEE,IAAAA,IAAI,EAAC,CAAC,CAAzE;AAA2E9C,IAAAA,aAAa,EAAC,CAAC;AAACtC,MAAAA,EAAE,EAAC,+BAAJ;AAAoC6kE,MAAAA,QAAQ,EAAC,+GAA7C;AAA6J7gE,MAAAA,SAAS,EAAC,iBAAvK;AAAyL3D,MAAAA,KAAK,EAAC;AAA/L,KAAD,EAAmN;AAACL,MAAAA,EAAE,EAAC,sCAAJ;AAA2CK,MAAAA,KAAK,EAAC,mBAAjD;AAAqE8C,MAAAA,GAAG,EAAC,wGAAzE;AAAkL+B,MAAAA,MAAM,EAAC,kCAAzL;AAA4NlB,MAAAA,SAAS,EAAC;AAAtO,KAAnN,EAAod;AAAChE,MAAAA,EAAE,EAAC,8BAAJ;AAAmCK,MAAAA,KAAK,EAAC,WAAzC;AAAqD8C,MAAAA,GAAG,EAAC,6FAAzD;AAAuJ+B,MAAAA,MAAM,EAAC,kCAA9J;AAAiMlB,MAAAA,SAAS,EAAC;AAA3M,KAApd;AAAzF,GAAhuU;AAAq/V,qBAAkB;AAAChE,IAAAA,EAAE,EAAC,iBAAJ;AAAsBkF,IAAAA,MAAM,EAAC,kCAA7B;AAAgEE,IAAAA,IAAI,EAAC,CAAC,CAAtE;AAAwE9C,IAAAA,aAAa,EAAC,CAAC;AAACtC,MAAAA,EAAE,EAAC,4BAAJ;AAAiC6kE,MAAAA,QAAQ,EAAC,+GAA1C;AAA0J7gE,MAAAA,SAAS,EAAC,iBAApK;AAAsL3D,MAAAA,KAAK,EAAC;AAA5L,KAAD,EAAqO;AAACL,MAAAA,EAAE,EAAC,mCAAJ;AAAwCK,MAAAA,KAAK,EAAC,mBAA9C;AAAkE8C,MAAAA,GAAG,EAAC,+FAAtE;AAAsK+B,MAAAA,MAAM,EAAC,kCAA7K;AAAgNlB,MAAAA,SAAS,EAAC;AAA1N,KAArO,EAA0d;AAAChE,MAAAA,EAAE,EAAC,2BAAJ;AAAgCK,MAAAA,KAAK,EAAC,WAAtC;AAAkD8C,MAAAA,GAAG,EAAC,6FAAtD;AAAoJ+B,MAAAA,MAAM,EAAC,kCAA3J;AAA8LlB,MAAAA,SAAS,EAAC;AAAxM,KAA1d;AAAtF,GAAvgW;AAA4xX,kBAAe;AAAChE,IAAAA,EAAE,EAAC,cAAJ;AAAmBkF,IAAAA,MAAM,EAAC,kCAA1B;AAA6DE,IAAAA,IAAI,EAAC,CAAC,CAAnE;AAAqE9C,IAAAA,aAAa,EAAC,CAAC;AAACtC,MAAAA,EAAE,EAAC,yBAAJ;AAA8B6kE,MAAAA,QAAQ,EAAC,+GAAvC;AAAuJ7gE,MAAAA,SAAS,EAAC,iBAAjK;AAAmL3D,MAAAA,KAAK,EAAC;AAAzL,KAAD,EAAqO;AAACL,MAAAA,EAAE,EAAC,gCAAJ;AAAqCK,MAAAA,KAAK,EAAC,mBAA3C;AAA+D8C,MAAAA,GAAG,EAAC,wGAAnE;AAA4K+B,MAAAA,MAAM,EAAC,kCAAnL;AAAsNlB,MAAAA,SAAS,EAAC;AAAhO,KAArO,EAAge;AAAChE,MAAAA,EAAE,EAAC,wBAAJ;AAA6BK,MAAAA,KAAK,EAAC,WAAnC;AAA+C8C,MAAAA,GAAG,EAAC,6FAAnD;AAAiJ+B,MAAAA,MAAM,EAAC,kCAAxJ;AAA2LlB,MAAAA,SAAS,EAAC;AAArM,KAAhe;AAAnF,GAA3yX;AAAgkZ,oBAAiB;AAAC,QAAI5D,YAAJ,GAAkB;AAAC,aAAO9C,uDAAC,CAAC,gCAAD,CAAR;AAA2C,KAA/D;;AAAgE+C,IAAAA,KAAK,EAAC,gBAAtE;AAAuFiC,IAAAA,aAAa,EAAC,CAAC;AAAC0B,MAAAA,SAAS,EAAC,4BAAX;AAAwCiqC,MAAAA,UAAU,EAAC,CAAC,CAApD;AAAsD5tC,MAAAA,KAAK,EAAC,eAA5D;AAA4E8C,MAAAA,GAAG,EAAC;AAAhF,KAAD,EAAkK;AAACa,MAAAA,SAAS,EAAC,iBAAX;AAA6B6gE,MAAAA,QAAQ,EAAC,mFAAtC;AAA0HxkE,MAAAA,KAAK,EAAC,wBAAhI;AAAyJgC,MAAAA,WAAW,EAAC,CAAC;AAAtK,KAAlK;AAArG,GAAjlZ;AAAmga,6BAA0B;AAAC,QAAIjC,YAAJ,GAAkB;AAAC,aAAO9C,uDAAC,CAAC,mCAAD,CAAR;AAA8C,KAAlE;;AAAmE+C,IAAAA,KAAK,EAAC,SAAzE;AAAmFiC,IAAAA,aAAa,EAAC,CAAC;AAAC0B,MAAAA,SAAS,EAAC,4BAAX;AAAwCiqC,MAAAA,UAAU,EAAC,CAAC,CAApD;AAAsD5tC,MAAAA,KAAK,EAAC,eAA5D;AAA4E8C,MAAAA,GAAG,EAAC;AAAhF,KAAD;AAAjG,GAA7ha;AAAkya,2BAAwB;AAAC9C,IAAAA,KAAK,EAAC,oBAAP;AAA4BiC,IAAAA,aAAa,EAAC,CAAC;AAAC0B,MAAAA,SAAS,EAAC,iBAAX;AAA6B6gE,MAAAA,QAAQ,EAAC,mFAAtC;AAA0HxkE,MAAAA,KAAK,EAAC,wBAAhI;AAAyJgC,MAAAA,WAAW,EAAC,CAAC;AAAtK,KAAD;AAA1C,GAA1za;AAAghb,uBAAoB;AAAC,QAAIjC,YAAJ,GAAkB;AAAC,aAAO9C,uDAAC,CAAC,qCAAD,CAAR;AAAgD,KAApE;;AAAqE+C,IAAAA,KAAK,EAAC,mBAA3E;AAA+FiC,IAAAA,aAAa,EAAC,CAAC;AAAC0B,MAAAA,SAAS,EAAC,iBAAX;AAA6B6gE,MAAAA,QAAQ,EAAC,mFAAtC;AAA0HxkE,MAAAA,KAAK,EAAC;AAAhI,KAAD,EAA2J;AAAC2D,MAAAA,SAAS,EAAC,iBAAX;AAA6B6gE,MAAAA,QAAQ,EAAC,qFAAtC;AAA4HxkE,MAAAA,KAAK,EAAC,0BAAlI;AAA6JgC,MAAAA,WAAW,EAAC,CAAC;AAA1K,KAA3J;AAA7G,GAApib;AAA29b,sBAAmB;AAAC,QAAIjC,YAAJ,GAAkB;AAAC,aAAO9C,uDAAC,CAAC,mCAAD,CAAR;AAA8C,KAAlE;;AAAmE+C,IAAAA,KAAK,EAAC,kBAAzE;AAA4FiC,IAAAA,aAAa,EAAC,CAAC;AAAC0B,MAAAA,SAAS,EAAC,iBAAX;AAA6B6gE,MAAAA,QAAQ,EAAC,kFAAtC;AAAyHxkE,MAAAA,KAAK,EAAC;AAA/H,KAAD,EAAyJ;AAAC2D,MAAAA,SAAS,EAAC,iBAAX;AAA6B6gE,MAAAA,QAAQ,EAAC,oFAAtC;AAA2HxkE,MAAAA,KAAK,EAAC,yBAAjI;AAA2JgC,MAAAA,WAAW,EAAC,CAAC;AAAxK,KAAzJ;AAA1G,GAA9+b;AAA85c,uBAAoB;AAAC,QAAIjC,YAAJ,GAAkB;AAAC,aAAO9C,uDAAC,CAAC,4CAAD,CAAR;AAAuD,KAA3E;;AAA4E+C,IAAAA,KAAK,EAAC,YAAlF;AAA+FiC,IAAAA,aAAa,EAAC,CAAC;AAAC0B,MAAAA,SAAS,EAAC,iBAAX;AAA6B6gE,MAAAA,QAAQ,EAAC,+EAAtC;AAAsHxkE,MAAAA,KAAK,EAAC;AAA5H,KAAD;AAA7G,GAAl7c;AAAsrd,6BAA0B;AAACA,IAAAA,KAAK,EAAC,wBAAP;AAAgCiC,IAAAA,aAAa,EAAC,CAAC;AAAC0B,MAAAA,SAAS,EAAC,iBAAX;AAA6B6gE,MAAAA,QAAQ,EAAC,oFAAtC;AAA2HxkE,MAAAA,KAAK,EAAC;AAAjI,KAAD;AAA9C,GAAhtd;AAAs6d,oBAAiB;AAAC,QAAID,YAAJ,GAAkB;AAAC,aAAO9C,uDAAC,CAAC,wCAAD,CAAR;AAAmD,KAAvE;;AAAwE+C,IAAAA,KAAK,EAAC,SAA9E;AAAwFiC,IAAAA,aAAa,EAAC,CAAC;AAAC0B,MAAAA,SAAS,EAAC,iBAAX;AAA6B6gE,MAAAA,QAAQ,EAAC,4EAAtC;AAAmHxkE,MAAAA,KAAK,EAAC;AAAzH,KAAD;AAAtG,GAAv7d;AAA6qe,0BAAuB;AAAC,QAAID,YAAJ,GAAkB;AAAC,aAAO9C,uDAAC,CAAC,uCAAD,CAAR;AAAkD,KAAtE;;AAAuE+C,IAAAA,KAAK,EAAC,iBAA7E;AAA+FiC,IAAAA,aAAa,EAAC,CAAC;AAAC0B,MAAAA,SAAS,EAAC,iBAAX;AAA6B6gE,MAAAA,QAAQ,EAAC,iFAAtC;AAAwHxkE,MAAAA,KAAK,EAAC;AAA9H,KAAD;AAA7G,GAApse;AAA88e,2BAAwB;AAAC,QAAID,YAAJ,GAAkB;AAAC,aAAO9C,uDAAC,CAAC,wCAAD,CAAR;AAAmD,KAAvE;;AAAwE+C,IAAAA,KAAK,EAAC,uBAA9E;AAAsGiC,IAAAA,aAAa,EAAC,CAAC;AAAC0B,MAAAA,SAAS,EAAC,4BAAX;AAAwCiqC,MAAAA,UAAU,EAAC,CAAC,CAApD;AAAsD5tC,MAAAA,KAAK,EAAC,iBAA5D;AAA8E8C,MAAAA,GAAG,EAAC;AAAlF,KAAD,EAAgL;AAACa,MAAAA,SAAS,EAAC,iBAAX;AAA6B6gE,MAAAA,QAAQ,EAAC,uFAAtC;AAA8HxkE,MAAAA,KAAK,EAAC;AAApI,KAAhL;AAApH,GAAt+e;AAAk7f,wBAAqB;AAAC,QAAID,YAAJ,GAAkB;AAAC,aAAO9C,uDAAC,CAAC,8BAAD,CAAR;AAAyC,KAA7D;;AAA8D+C,IAAAA,KAAK,EAAC,aAApE;AAAkFiC,IAAAA,aAAa,EAAC,CAAC;AAAC0B,MAAAA,SAAS,EAAC,4BAAX;AAAwCiqC,MAAAA,UAAU,EAAC,CAAC,CAApD;AAAsD5tC,MAAAA,KAAK,EAAC,iBAA5D;AAA8E8C,MAAAA,GAAG,EAAC;AAAlF,KAAD,EAAgL;AAACa,MAAAA,SAAS,EAAC,iBAAX;AAA6B6gE,MAAAA,QAAQ,EAAC,qFAAtC;AAA4HxkE,MAAAA,KAAK,EAAC;AAAlI,KAAhL;AAAhG,GAAv8f;AAAo3gB,mBAAgB;AAAC,QAAID,YAAJ,GAAkB;AAAC,aAAO9C,uDAAC,CAAC,gCAAD,CAAR;AAA2C,KAA/D;;AAAgE+C,IAAAA,KAAK,EAAC,QAAtE;AAA+EiC,IAAAA,aAAa,EAAC,CAAC;AAAC0B,MAAAA,SAAS,EAAC,4BAAX;AAAwCiqC,MAAAA,UAAU,EAAC,CAAC,CAApD;AAAsD5tC,MAAAA,KAAK,EAAC,kBAA5D;AAA+E8C,MAAAA,GAAG,EAAC;AAAnF,KAAD,EAA8K;AAACa,MAAAA,SAAS,EAAC,iBAAX;AAA6B6gE,MAAAA,QAAQ,EAAC,kFAAtC;AAAyHxkE,MAAAA,KAAK,EAAC,uBAA/H;AAAuJgC,MAAAA,WAAW,EAAC,CAAC;AAApK,KAA9K;AAA7F,GAAp4gB;AAAwzhB,kBAAe;AAAChC,IAAAA,KAAK,EAAC,eAAP;AAAuBiC,IAAAA,aAAa,EAAC,CAAC;AAAC0B,MAAAA,SAAS,EAAC,iBAAX;AAA6B6gE,MAAAA,QAAQ,EAAC,0EAAtC;AAAiHxkE,MAAAA,KAAK,EAAC;AAAvH,KAAD;AAArC,GAAv0hB;AAAu/hB,yBAAsB;AAACA,IAAAA,KAAK,EAAC,6BAAP;AAAqCiC,IAAAA,aAAa,EAAC,CAAC;AAAC0B,MAAAA,SAAS,EAAC,4BAAX;AAAwCiqC,MAAAA,UAAU,EAAC,CAAC,CAApD;AAAsD5tC,MAAAA,KAAK,EAAC,iBAA5D;AAA8E8C,MAAAA,GAAG,EAAC;AAAlF,KAAD,EAAgL;AAAC0hE,MAAAA,QAAQ,EAAC,qFAAV;AAAgG7gE,MAAAA,SAAS,EAAC,iBAA1G;AAA4H3D,MAAAA,KAAK,EAAC;AAAlI,KAAhL;AAAnD,GAA7giB;AAAi5iB,iBAAc;AAACA,IAAAA,KAAK,EAAC,yBAAP;AAAiCiC,IAAAA,aAAa,EAAC,CAAC;AAAC0B,MAAAA,SAAS,EAAC,iBAAX;AAA6B6gE,MAAAA,QAAQ,EAAC,yEAAtC;AAAgHxkE,MAAAA,KAAK,EAAC;AAAtH,KAAD;AAA/C,GAA/5iB;AAAkmjB,wBAAqB;AAACA,IAAAA,KAAK,EAAC,qCAAP;AAA6CiC,IAAAA,aAAa,EAAC,CAAC;AAAC0B,MAAAA,SAAS,EAAC,4BAAX;AAAwCiqC,MAAAA,UAAU,EAAC,CAAC,CAApD;AAAsD5tC,MAAAA,KAAK,EAAC,iBAA5D;AAA8E8C,MAAAA,GAAG,EAAC;AAAlF,KAAD,EAAgL;AAAC0hE,MAAAA,QAAQ,EAAC,oFAAV;AAA+F7gE,MAAAA,SAAS,EAAC,iBAAzG;AAA2H3D,MAAAA,KAAK,EAAC;AAAjI,KAAhL;AAA3D,GAAvnjB;AAAkgkB,oBAAiB;AAACA,IAAAA,KAAK,EAAC,mCAAP;AAA2CiC,IAAAA,aAAa,EAAC,CAAC;AAAC0B,MAAAA,SAAS,EAAC,iBAAX;AAA6B6gE,MAAAA,QAAQ,EAAC,gFAAtC;AAAuHxkE,MAAAA,KAAK,EAAC;AAA7H,KAAD,EAAuJ;AAAC2D,MAAAA,SAAS,EAAC,iBAAX;AAA6B6gE,MAAAA,QAAQ,EAAC,kFAAtC;AAAyHxkE,MAAAA,KAAK,EAAC,4BAA/H;AAA4JgC,MAAAA,WAAW,EAAC,CAAC;AAAzK,KAAvJ;AAAzD,GAAnhkB;AAAi5kB,mBAAgB;AAAChC,IAAAA,KAAK,EAAC,kCAAP;AAA0CiC,IAAAA,aAAa,EAAC,CAAC;AAAC0B,MAAAA,SAAS,EAAC,iBAAX;AAA6B6gE,MAAAA,QAAQ,EAAC,+EAAtC;AAAsHxkE,MAAAA,KAAK,EAAC;AAA5H,KAAD,EAAqJ;AAAC2D,MAAAA,SAAS,EAAC,iBAAX;AAA6B6gE,MAAAA,QAAQ,EAAC,iFAAtC;AAAwHxkE,MAAAA,KAAK,EAAC,2BAA9H;AAA0JgC,MAAAA,WAAW,EAAC,CAAC;AAAvK,KAArJ;AAAxD,GAAj6kB;AAA0xlB,oBAAiB;AAAChC,IAAAA,KAAK,EAAC,qBAAP;AAA6BiC,IAAAA,aAAa,EAAC,CAAC;AAAC0B,MAAAA,SAAS,EAAC,4BAAX;AAAwCiqC,MAAAA,UAAU,EAAC,CAAC,CAApD;AAAsD5tC,MAAAA,KAAK,EAAC,iBAA5D;AAA8E8C,MAAAA,GAAG,EAAC;AAAlF,KAAD,EAAgL;AAACa,MAAAA,SAAS,EAAC,iBAAX;AAA6B6gE,MAAAA,QAAQ,EAAC,iFAAtC;AAAwHxkE,MAAAA,KAAK,EAAC;AAA9H,KAAhL,EAAoU;AAAC2D,MAAAA,SAAS,EAAC,iBAAX;AAA6B6gE,MAAAA,QAAQ,EAAC,mFAAtC;AAA0HxkE,MAAAA,KAAK,EAAC,yBAAhI;AAA0JgC,MAAAA,WAAW,EAAC,CAAC;AAAvK,KAApU;AAA3C,GAA3ylB;AAAs0mB,sBAAmB;AAAChC,IAAAA,KAAK,EAAC,WAAP;AAAmBiC,IAAAA,aAAa,EAAC,CAAC;AAAC0B,MAAAA,SAAS,EAAC,iBAAX;AAA6B6gE,MAAAA,QAAQ,EAAC,8EAAtC;AAAqHxkE,MAAAA,KAAK,EAAC;AAA3H,KAAD;AAAjC,GAAz1mB;AAAqgnB,8BAA2B;AAACA,IAAAA,KAAK,EAAC,mBAAP;AAA2BiC,IAAAA,aAAa,EAAC,CAAC;AAAC0B,MAAAA,SAAS,EAAC,4BAAX;AAAwCiqC,MAAAA,UAAU,EAAC,CAAC,CAApD;AAAsD5tC,MAAAA,KAAK,EAAC,iBAA5D;AAA8E8C,MAAAA,GAAG,EAAC;AAAlF,KAAD,EAAgL;AAACa,MAAAA,SAAS,EAAC,iBAAX;AAA6B6gE,MAAAA,QAAQ,EAAC,0FAAtC;AAAiIxkE,MAAAA,KAAK,EAAC;AAAvI,KAAhL;AAAzC,GAAhinB;AAAu5nB,2BAAwB;AAACA,IAAAA,KAAK,EAAC,gBAAP;AAAwBiC,IAAAA,aAAa,EAAC,CAAC;AAAC0B,MAAAA,SAAS,EAAC,iBAAX;AAA6B6gE,MAAAA,QAAQ,EAAC,kFAAtC;AAAyHxkE,MAAAA,KAAK,EAAC;AAA/H,KAAD;AAAtC,GAA/6nB;AAAymoB,iBAAc;AAACA,IAAAA,KAAK,EAAC,MAAP;AAAciC,IAAAA,aAAa,EAAC,CAAC;AAAC0B,MAAAA,SAAS,EAAC,iBAAX;AAA6B6gE,MAAAA,QAAQ,EAAC,yEAAtC;AAAgHxkE,MAAAA,KAAK,EAAC;AAAtH,KAAD;AAA5B,GAAvnoB;AAAoxoB,2BAAwB;AAACA,IAAAA,KAAK,EAAC,gBAAP;AAAwBiC,IAAAA,aAAa,EAAC,CAAC;AAAC0B,MAAAA,SAAS,EAAC,4BAAX;AAAwCiqC,MAAAA,UAAU,EAAC,CAAC,CAApD;AAAsD5tC,MAAAA,KAAK,EAAC,iBAA5D;AAA8E8C,MAAAA,GAAG,EAAC;AAAlF,KAAD,EAAgL;AAACa,MAAAA,SAAS,EAAC,iBAAX;AAA6B6gE,MAAAA,QAAQ,EAAC,uFAAtC;AAA8HxkE,MAAAA,KAAK,EAAC;AAApI,KAAhL;AAAtC,GAA5yoB;AAA0ppB,uBAAoB;AAACA,IAAAA,KAAK,EAAC,aAAP;AAAqBiC,IAAAA,aAAa,EAAC,CAAC;AAAC0B,MAAAA,SAAS,EAAC,iBAAX;AAA6B6gE,MAAAA,QAAQ,EAAC,+EAAtC;AAAsHxkE,MAAAA,KAAK,EAAC;AAA5H,KAAD;AAAnC,GAA9qpB;AAA+1pB,sBAAmB;AAACA,IAAAA,KAAK,EAAC,WAAP;AAAmBiC,IAAAA,aAAa,EAAC,CAAC;AAAC0B,MAAAA,SAAS,EAAC,iBAAX;AAA6B6gE,MAAAA,QAAQ,EAAC,8EAAtC;AAAqHxkE,MAAAA,KAAK,EAAC;AAA3H,KAAD;AAAjC,GAAl3pB;AAA8hqB,4BAAyB;AAACA,IAAAA,KAAK,EAAC,WAAP;AAAmBiC,IAAAA,aAAa,EAAC,CAAC;AAAC0B,MAAAA,SAAS,EAAC,4BAAX;AAAwCiqC,MAAAA,UAAU,EAAC,CAAC,CAApD;AAAsD5tC,MAAAA,KAAK,EAAC,iBAA5D;AAA8E8C,MAAAA,GAAG,EAAC;AAAlF,KAAD;AAAjC,GAAvjqB;AAA0wqB,2BAAwB;AAAC9C,IAAAA,KAAK,EAAC,kBAAP;AAA0BiC,IAAAA,aAAa,EAAC,CAAC;AAAC0B,MAAAA,SAAS,EAAC,4BAAX;AAAwCiqC,MAAAA,UAAU,EAAC,CAAC,CAApD;AAAsD5tC,MAAAA,KAAK,EAAC,wBAA5D;AAAqF8C,MAAAA,GAAG,EAAC;AAAzF,KAAD;AAAxC,GAAlyqB;AAAwgrB,4BAAyB;AAAC9C,IAAAA,KAAK,EAAC,iBAAP;AAAyBiC,IAAAA,aAAa,EAAC,CAAC;AAAC0B,MAAAA,SAAS,EAAC,iBAAX;AAA6B6gE,MAAAA,QAAQ,EAAC,wFAAtC;AAA+HxkE,MAAAA,KAAK,EAAC;AAArI,KAAD,EAA8J;AAAC2D,MAAAA,SAAS,EAAC,iBAAX;AAA6B6gE,MAAAA,QAAQ,EAAC,0FAAtC;AAAiIxkE,MAAAA,KAAK,EAAC,wBAAvI;AAAgKgC,MAAAA,WAAW,EAAC,CAAC;AAA7K,KAA9J,EAA8U;AAAC2B,MAAAA,SAAS,EAAC,iBAAX;AAA6B6gE,MAAAA,QAAQ,EAAC,yFAAtC;AAAgIxkE,MAAAA,KAAK,EAAC,uBAAtI;AAA8JgC,MAAAA,WAAW,EAAC,CAAC;AAA3K,KAA9U;AAAvC,GAAjirB;AAAsksB,iCAA8B;AAAChC,IAAAA,KAAK,EAAC,wBAAP;AAAgCiC,IAAAA,aAAa,EAAC,CAAC;AAAC0B,MAAAA,SAAS,EAAC,iBAAX;AAA6B6gE,MAAAA,QAAQ,EAAC,4FAAtC;AAAmIxkE,MAAAA,KAAK,EAAC;AAAzI,KAAD,EAAuK;AAAC2D,MAAAA,SAAS,EAAC,iBAAX;AAA6B6gE,MAAAA,QAAQ,EAAC,8FAAtC;AAAqIxkE,MAAAA,KAAK,EAAC,6BAA3I;AAAyKgC,MAAAA,WAAW,EAAC,CAAC;AAAtL,KAAvK,EAAgW;AAAC2B,MAAAA,SAAS,EAAC,iBAAX;AAA6B6gE,MAAAA,QAAQ,EAAC,6FAAtC;AAAoIxkE,MAAAA,KAAK,EAAC,4BAA1I;AAAuKgC,MAAAA,WAAW,EAAC,CAAC;AAApL,KAAhW;AAA9C;AAApmsB,CAAR;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACJpS;AACA;AACA;AACA;AACwc,YAAY,iEAAW,8BAA8B,aAAa,SAAS,cAAc,kBAAkB,aAAa,4DAAC,iBAAiB,gBAAgB,MAAM,uBAAuB,aAAa,0EAAC,uBAAuB,WAAW,GAAG,yDAAQ,oDAAoD,EAAE,+EAA+E,KAAK,uBAAuB,0EAAC,uDAAuD,EAAE,uBAAuB,mDAAmD,EAAE,sBAAsB,EAAE,GAAG,YAAY,oBAAoB,0DAAQ,QAAQ,mDAAC,EAAE,OAAO,MAAM,eAAe,OAAO,+EAAC,CAAC,mDAAC,IAAI,4EAA4E,UAAU,YAAY,cAAc,sFAAsF,cAAc,iEAAiE,gBAAgB,qGAAqG,qBAAqB,aAAa,kBAAkB,kBAAkB,iHAAiH,MAAM,cAAc,iBAAiB,WAAW,qCAAqC,eAAe,0EAAC,EAAE,cAAc,0EAAC,MAAM,sBAAsB,EAAE,gBAAgB,IAAI,MAAM,+BAA+B,SAAS,cAAc,IAAI,gBAAgB,kBAAkB,yEAAyE,6BAA6B,uBAAuB,EAAE,gBAAgB,YAAY,2DAAC,CAAC,sBAAsB,uDAAuD,kCAAkC,KAAK,cAAc,wDAAwD,cAAc,qBAAqB,+DAA+D,gCAAgC,4BAA4B,SAAS,gBAAgB,2BAA2B,mCAAmC,gDAAgD,mCAAmC,6BAA6B,iDAAiD,kCAAkC,mCAAmC,2BAA2B,qBAAqB,0BAA0B,qBAAqB,mCAAmC,oBAAoB,mCAAmC,sLAAsL,UAAU,kEAAkE,EAAE,mCAAmC,qDAAqD,cAAc,eAAe,YAAY,kDAAC,CAAC,+DAAC,KAAK,yCAAyC,cAAc,2DAA2D,gEAAgE,MAAM,cAAc,OAAO,wEAAc,0BAA0B,cAAc,OAAO,sZAAsZ,0BAA0B,4DAA4D,cAAc,8DAA8D,cAAc,UAAU,kHAAkH,MAAM,cAAc,wBAAwB,cAAc,MAAM,oBAAoB,sCAAsC,MAAM,0CAA0C,MAAM,wCAAwC,MAAM,oBAAoB,OAAO,mOAAmO,kBAAkB,wCAAwC,wBAAwB,mDAAmD,4GAA4G,gBAAgB,gCAAgC,YAAY,WAAW,8BAA8B,SAAS,gBAAgB,2IAA2I,IAAI,sEAAC,6BAA6B,yFAAyF,yCAAyC,0FAA0F,YAAY,qBAAqB,KAAK,8CAA8C,oDAAoD,SAAS,cAAc,SAAS,4DAAC,gDAAgD,cAAc,kBAAkB,MAAM,eAAe,GAAG,cAAc,aAAa,SAAS,0EAAC,iBAAiB,0DAAC,iBAAiB,cAAc,yDAAgZ;;;;;;;;;;;;;;;;;;ACJnrM;AACA;AACA;AACA;AAC8C,cAAc,WAAW,oEAAC,EAAE,+DAA+D,WAAW,sEAAsE,wBAAwB,iBAAiB,+CAA+C,EAAE,cAAc,uCAAuC,UAAuE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACJhb;AACA;AACA;AACA;AAC4K,cAAc,aAAa,gBAAgB,gCAAgC,gBAAgB,sBAAsB,gBAAgB,kCAAkC,gBAAgB,kCAAkC,cAAc,aAAa,uBAAuB,cAAc,gGAAgG,OAAO,yCAAyC,cAAc,eAAe,cAAc,kBAAkB,cAAc,iDAAiD,cAAc,eAAe,qCAAqC,yEAAyE,qBAAqB,cAAc,qEAAqE,gBAAgB,uBAAuB,MAAM,gBAAgB,GAAG,kCAAkC,sCAAsC,0FAAC,IAAI,SAAS,+DAAC,UAAU,kBAAkB,mBAAmB,+CAA+C,eAAe,iCAAiC,6BAA6B,mHAAmH,kHAAkH,yBAAyB,wDAAwD,2BAA2B,8CAA8C,+BAA+B,kBAAkB,yCAAyC,gCAAgC,MAAM,YAAY,gBAAgB,0BAA0B,wBAAwB,eAAe,eAAe,6BAA6B,2BAA2B,qBAAqB,8DAA8D,OAAO,yBAAyB,0BAA0B,8DAA8D,OAAO,6BAA6B,yBAAyB,6DAA6D,OAAO,+BAA+B,4BAA4B,eAAe,UAAU,iCAAiC,8FAA8F,6FAA6F,gBAAgB,oBAAoB,MAAM,OAAO,GAAG,4FAA4F,kBAAkB,wBAAwB,GAAG,eAAe,GAAG,qBAAqB,kBAAkB,sBAAsB,GAAG,iBAAiB,GAAG,qBAAqB,gBAAgB,mFAAmF,GAAG,2CAA2C,gBAAgB,+BAA+B,cAAc,qBAAqB,yFAAC,UAAU,SAAS,gCAAgC,IAAI,kCAA01B;;;;;;;;;;;;;;;;;;ACJ98H;AACA;AACA;AACA;AAC+F,cAAc,iBAAiB,oBAAoB,iEAAiE,oEAAY,GAAG,+BAA+B,gBAAgB,+BAA+B,OAAO,wEAAC,wBAA2D;;;;;;;;;;;;;;;;;;;;ACJnX;AACA;AACA;AACA;AACgI,SAAS,mBAAmB,4JAA4J,yBAAyB,qKAAqK,cAAc,WAAW,iCAAiC,aAAa,MAAM,kDAAC,EAAE,cAAc,MAAM,aAAa,EAAE,KAAK,iEAAW,2EAA2E,EAAE,0BAA0B,OAAO,+EAAC,CAAC,kDAAC,IAAI,SAA4D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACJ1yB;AACA;AACA;AACA;AACkrB,YAAY,iEAAiE,IAAI,kBAAkB,WAAW,0CAA0C,IAAI,yBAAyB,WAAW,oCAAoC,QAAQ,WAAW,yDAAC,EAAE,+BAA+B,EAAE,cAAc,MAAM,oCAAoC,cAAc,kBAAkB,mBAAmB,yBAAyB,YAAY,WAAW,yDAAC,EAAE,+BAA+B,EAAE,cAAc,MAAM,kBAAkB,MAAM,EAAE,2BAA2B,MAAM,4FAA4F,mBAAmB,mEAAmE,sFAAC,MAAM,YAAY,2CAA2C,EAAE,UAAU,0FAA0F,gBAAgB,mJAAmJ,gBAAgB,WAAW,uEAAC,EAAE,yCAAyC,EAAE,gBAAgB,6BAA6B,UAAU,yFAAyF,cAAc,4DAAC,EAAE,4BAA4B,8EAAC,6CAA6C,yBAAyB,EAAE,IAAI,gBAAgB,qBAAqB,4DAAC,EAAE,sEAAsE,IAAI,gBAAgB,MAAM,2DAA2D,GAAG,MAAM,gCAAgC,iBAAiB,mCAAmC,0EAAC,EAAE,2BAA2B,kBAAkB,0EAAC,EAAE,2BAA2B,SAAS,cAAc,eAAe,0DAA0D,0EAAC,EAAE,2BAA2B,EAAE,wBAAwB,0EAAC,EAAE,2BAA2B,EAAE,oBAAoB,sFAAC,aAAa,0EAAC,EAAE,2BAA2B,SAAS,gBAAgB,aAAa,WAAW,uEAAC,KAAK,4EAAC,EAAE,aAAa,WAAW,uEAAC,EAAE,cAAc,QAAQ,kFAAC,KAAK,YAAY,GAAG,YAAY,EAAE,GAAG,EAAE,UAAU,QAAQ,cAAc,oDAAoD,+BAA+B,iBAAiB,kDAAwM;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACJ5mG;AACA;AACA;AACA;AACA;AAA4B;AAAgC;AAAoD;;AAAmG,SAASrE,CAAT,CAAWV,CAAX,EAAaQ,CAAb,EAAeN,CAAC,GAAC,CAAC,CAAlB,EAAoBS,CAApB,EAAsB;AAAC,SAAO,IAAI0E,OAAJ,CAAa,CAACjF,CAAD,EAAGM,CAAH,KAAO;AAAC,QAAGT,gEAAC,CAACU,CAAD,CAAJ,EAAQ,OAAO,KAAKD,CAAC,CAACM,CAAC,EAAF,CAAb;;AAAmB,QAAIV,CAAC,GAAC,MAAI;AAACO,MAAAA,CAAC,IAAGH,CAAC,CAAC,IAAI4a,KAAJ,CAAW,kBAAiB9a,CAAE,EAA9B,CAAD,CAAL;AAAwC,KAAnD;AAAA,QAAoDgB,CAAC,GAAC,MAAI;AAAC,YAAMvB,CAAC,GAACD,CAAR;AAAUa,MAAAA,CAAC,IAAGT,CAAC,CAACH,CAAD,CAAL;AAAS,KAA9E;AAAA,QAA+EiB,CAAC,GAAC,MAAI;AAAC,UAAG,CAAClB,CAAJ,EAAM;AAAO,YAAMC,CAAC,GAACD,CAAR;AAAUa,MAAAA,CAAC,IAAGZ,CAAC,CAAC2xE,GAAF,GAAM,EAAT,EAAYlxE,CAAC,CAACM,CAAC,EAAF,CAAd;AAAoB,KAAjI;;AAAkI,UAAMH,CAAC,GAAC,MAAI;AAACwO,MAAAA,wDAAG,CAAC,mBAAD,CAAH,KAA2BrP,CAAC,CAAC+uB,mBAAF,CAAsB,OAAtB,EAA8BzuB,CAA9B,GAAiCN,CAAC,CAAC+uB,mBAAF,CAAsB,MAAtB,EAA6BvtB,CAA7B,CAA5D,GAA6FlB,CAAC,GAAC,IAA/F,EAAoGkB,CAAC,GAAC,IAAtG,EAA2GxB,CAAC,GAAC,IAA7G,EAAkH,QAAMW,CAAN,IAASA,CAAC,CAACouB,mBAAF,CAAsB,OAAtB,EAA8B7tB,CAA9B,CAA3H,EAA4JA,CAAC,GAAC,IAA9J,EAAmKhB,CAAC,IAAE8d,GAAG,CAACG,eAAJ,CAAoB3d,CAApB,CAAtK;AAA6L,KAA1M;;AAA2M,YAAMG,CAAN,IAASA,CAAC,CAACquB,gBAAF,CAAmB,OAAnB,EAA2B9tB,CAA3B,CAAT,EAAuCmO,wDAAG,CAAC,mBAAD,CAAH,GAAyBrP,CAAC,CAACy5E,MAAF,GAAWzzE,IAAX,CAAgBxE,CAAhB,EAAkBlB,CAAlB,CAAzB,IAA+CN,CAAC,CAACgvB,gBAAF,CAAmB,OAAnB,EAA2B1uB,CAA3B,GAA8BN,CAAC,CAACgvB,gBAAF,CAAmB,MAAnB,EAA0BxtB,CAA1B,CAA7E,CAAvC;AAAkJ,GAA/gB,CAAP;AAAyhB;;AAAA,SAASR,CAAT,GAAY;AAAC,MAAG;AAAC,WAAO,IAAI04E,YAAJ,CAAiB,SAAjB,EAA2B,YAA3B,CAAP;AAAgD,GAApD,CAAoD,MAAK;AAAC,UAAM15E,CAAC,GAAC,IAAIsb,KAAJ,EAAR;AAAkB,WAAOtb,CAAC,CAACoa,IAAF,GAAO,YAAP,EAAoBpa,CAA3B;AAA6B;AAAC;;AAAA,MAAMM,CAAC,GAAC,kBAAR;;AAA2B,SAASkB,CAAT,GAAY;AAAC,SAAO,IAAI8Z,KAAJ,CAAUhb,CAAV,CAAP;AAAoB;;AAAA,SAASY,CAAT,CAAWlB,CAAX,EAAa;AAAC,SAAM,YAAU,OAAOA,CAAjB,IAAoB,CAAC,CAACA,CAAtB,IAAyB,aAAYA,CAArC,IAAwCA,CAAC,CAACqxB,OAAF,KAAY/wB,CAA1D;AAA4D;;AAAA,SAASO,CAAT,CAAWZ,CAAX,EAAa;AAACD,EAAAA,mFAAA,KAAqCA,mFAAA,GAAmC,EAAxE;AAA4E,QAAME,CAAC,GAACF,mFAAR;;AAA2C,OAAI,IAAIA,CAAR,IAAaC,CAAb,EAAeD,CAAC,GAACA,CAAC,CAAC4P,WAAF,EAAF,EAAkB,eAAe6X,IAAf,CAAoBznB,CAApB,IAAuBE,CAAC,CAACM,4DAAC,CAACR,CAAD,CAAD,IAAM,EAAP,CAAD,GAAY,CAAnC,IAAsCE,CAAC,CAACM,4DAAC,CAAC,YAAUR,CAAX,CAAD,IAAgB,EAAjB,CAAD,GAAsB,CAAtB,EAAwBE,CAAC,CAACM,4DAAC,CAAC,aAAWR,CAAZ,CAAD,IAAiB,EAAlB,CAAD,GAAuB,CAArF,CAAlB;AAA0G;;AAAA,SAAS0B,CAAT,CAAWzB,CAAX,EAAa;AAAC,QAAMG,CAAC,GAACJ,mFAAR;;AAA2C,MAAGI,CAAH,EAAK;AAAC,QAAIJ,CAAC,GAACQ,4DAAC,CAACP,CAAD,CAAP;AAAW,QAAGD,CAAH,EAAK,OAAOA,CAAC,GAACA,CAAC,CAAC4P,WAAF,EAAF,EAAkB,CAAC1P,gEAAC,CAACF,CAAD,EAAGW,4DAAC,EAAJ,CAAF,IAAWP,CAAC,CAACJ,CAAD,CAAD,GAAKgD,IAAI,CAACC,GAAL,KAAW,IAApD;AAAyD;;AAAA,SAAM,CAAC,CAAP;AAAS;;SAAerB;;;;;yMAAf,WAAiB3B,CAAjB,EAAmB;AAAC,UAAMC,CAAC,GAACE,8DAAC,CAACH,CAAD,CAAT;AAAaA,IAAAA,CAAC,GAACC,CAAC,CAACulB,IAAJ,EAAS,WAASvlB,CAAC,CAACiH,KAAF,EAASvF,CAAlB,KAAsB3B,CAAC,IAAE,SAAzB,CAAT;;AAA6C,QAAG;AAAC,YAAMipB,KAAK,CAACjpB,CAAD,EAAG;AAACmsC,QAAAA,IAAI,EAAC,SAAN;AAAgBgkC,QAAAA,WAAW,EAAC;AAA5B,OAAH,CAAX;AAAsD,KAA1D,CAA0D,MAAK,CAAE;;AAAA,UAAMzvE,CAAC,GAACX,mFAAR;AAAA,UAA2CU,CAAC,GAACF,4DAAC,CAACP,CAAD,CAA9C;AAAkDU,IAAAA,CAAC,IAAED,CAAH,KAAOC,CAAC,CAACD,CAAC,CAACkP,WAAF,EAAD,CAAD,GAAmB5M,IAAI,CAACC,GAAL,EAA1B;AAAsC;;;;;;;;;;;;;;;;;;;;ACJtnD;AACA;AACA;AACA;AACA,gEAAuG;;;;;;;;;;;;;;;;;;ACJvG;AACA;AACA;AACA;AACA,wBAAwB,aAAa,6GAA6G,aAAa,8BAA8B,aAAa,SAAS,EAAE,EAAE,mBAAmB,EAAE,cAAc,0BAA0B,cAAc,qCAAqC,uCAAuC,GAAgF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACJ9b;AACA;AACA;AACA;AACoyD,cAAc,oBAAoB,2DAAC,CAAC,cAAc,eAAe,eAAe,8HAA8H,kBAAkB,cAAc,eAAe,eAAe,oFAAoF,kBAAkB,SAAS,KAAK,2DAAC,qBAAqB,cAAc,qEAAC,gBAAgB,sEAAC,kBAAkB,wEAAC,eAAe,qEAAC,iBAAiB,uEAAC,MAAM,+DAAC,YAAY,iEAAC,WAAW,gEAAC,WAAW,iEAAC,YAAY,kEAAC,cAAc,oEAAC,aAAa,mEAAC,KAAK,6DAAC,CAAC,uBAAuB,IAAI,KAAK,2DAAC,qBAAqB,iBAAiB,wEAAC,iBAAiB,uEAAC,YAAY,kEAAC,KAAK,6DAAC,CAAC,uBAAuB,IAAI,KAAK,2DAAC,qBAAqB,cAAc,qEAAC,WAAW,gEAAC,KAAK,6DAAC,CAAC,uBAAuB,IAAI,KAAK,2DAAC,qBAAqB,cAAc,qEAAC,gBAAgB,sEAAC,cAAc,oEAAC,KAAK,6DAAC,CAAC,uBAAuB,IAAI,KAAK,2DAAC,qBAAqB,iBAAiB,wEAAC,iBAAiB,uEAAC,MAAM,+DAAC,aAAa,mEAAC,KAAK,6DAAC,CAAC,uBAAuB,GAAG,iHAAC,EAAE,QAAQ,KAAK,KAAK,2DAAC,qBAAqB,cAAc,qEAAC,gBAAgB,sEAAC,kBAAkB,wEAAC,eAAe,qEAAC,iBAAiB,uEAAC,MAAM,+DAAC,WAAW,gEAAC,WAAW,iEAAC,YAAY,kEAAC,cAAc,oEAAC,aAAa,mEAAC,KAAK,6DAAC,CAAC,uBAAuB,IAAI,KAAK,2DAAC,qBAAqB,KAAK,+DAAC,YAAY,iEAAC,CAAC,uBAAuB,IAAI,KAAK,2DAAC,qBAAqB,WAAW,iEAAC,WAAW,gEAAC,WAAW,iEAAC,YAAY,kEAAC,cAAc,oEAAC,aAAa,mEAAC,CAAC,uBAAuB,IAAI,KAAK,2DAAC,qBAAqB,UAAU,gEAAC,WAAW,iEAAC,YAAY,kEAAC,cAAc,oEAAC,aAAa,mEAAC,KAAK,6DAAC,CAAC,uBAAuB,IAAI,KAAK,2DAAC,qBAAqB,WAAW,iEAAC,CAAC,uBAAuB,GAAG,oFAAC,IAAilB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACJ1/H;AACA;AACA;AACA;AACA;AAA2C;AAAwC;AAAgD;AAA0E;AAAuB;AAA0B;AAAgF;AAAsE;AAA0E;AAAsE;AAA0E;AAA2B,IAAItC,CAAJ;AAAM,IAAIE,CAAC,GAACF,CAAC,GAAC,cAAcO,mDAAd,CAAe;AAACuB,EAAAA,WAAW,CAACxC,CAAD,EAAG;AAAC,UAAMA,CAAN,GAAS,KAAKiE,IAAL,GAAU,IAAnB,EAAwB,KAAKX,IAAL,GAAU,KAAlC;AAAwC;;AAAAu2E,EAAAA,QAAQ,CAAC75E,CAAD,EAAGO,CAAH,EAAK;AAAC,WAAOA,CAAP;AAAS;;AAAA4iE,EAAAA,SAAS,CAACnjE,CAAD,EAAGO,CAAH,EAAK;AAAC6Z,IAAAA,MAAM,CAAC2+C,MAAP,CAAcx4D,CAAd,EAAgBP,CAAhB;AAAmB;;AAAM4O,EAAAA,qBAAqB,CAAC5O,CAAD,EAAGO,CAAH,EAAK;AAAA;;AAAA;AAAC,UAAG,yBAAuB,KAAI,CAAC0D,IAAL,EAAWX,IAArC,EAA0C;AAAC,cAAMrD,CAAC,GAAC,KAAI,CAACgE,IAAL,CAAUsnE,kBAAlB;;AAAqC,YAAGtrE,CAAH,EAAK;AAAC,gBAAMF,CAAC,GAACE,CAAC,CAACqF,GAAF,CAAOrF,CAAC,IAAE;AAAC,kBAAMF,CAAC,GAACE,CAAC,CAAC65E,mBAAV;AAA8B,mBAAO/5E,CAAC,GAACgB,uFAAC,CAACf,CAAD,EAAGO,CAAH,EAAKR,CAAC,CAACwM,UAAP,CAAF,GAAqB,IAA7B;AAAkC,WAA3E,CAAR;AAAsF,gBAAMnH,OAAO,CAACc,GAAR,CAAYnG,CAAZ,CAAN;AAAqB;AAAC;AAAnM;AAAoM;;AAAAS,EAAAA,KAAK,GAAE;AAAC,WAAO,IAAIE,CAAJ,CAAM;AAACuD,MAAAA,IAAI,EAAC1D,oDAAC,CAAC,KAAK0D,IAAN;AAAP,KAAN,CAAP;AAAkC;;AAAAmiB,EAAAA,IAAI,GAAE;AAAC,WAAOnmB,4DAAC,CAACumB,IAAI,CAACC,SAAL,CAAe,KAAKxiB,IAApB,CAAD,CAAD,CAA6BhB,QAA7B,EAAP;AAA+C;;AAArb,CAAvB;AAA8cjD,uDAAC,CAAC,CAACD,sFAAC,CAAC;AAAC+H,EAAAA,IAAI,EAAC;AAACpC,IAAAA,KAAK,EAAC,CAAC;AAAR;AAAN,CAAD,CAAF,CAAD,EAAwB9E,CAAC,CAACsH,SAA1B,EAAoC,OAApC,EAA4C,KAAK,CAAjD,CAAD,EAAqDlI,uDAAC,CAAC,CAACD,sFAAC,CAAC;AAAC+H,EAAAA,IAAI,EAAC;AAACpC,IAAAA,KAAK,EAAC,CAAC;AAAR;AAAN,CAAD,CAAF,CAAD,EAAwB9E,CAAC,CAACsH,SAA1B,EAAoC,MAApC,EAA2C,KAAK,CAAhD,CAAtD,EAAyGlI,uDAAC,CAAC,CAACK,kFAAC,CAAC,MAAD,EAAQ,CAAC,QAAD,CAAR,CAAF,CAAD,EAAwBO,CAAC,CAACsH,SAA1B,EAAoC,UAApC,EAA+C,IAA/C,CAA1G,EAA+JlI,uDAAC,CAAC,CAACa,mFAAC,CAAC,MAAD,EAAQ,EAAR,CAAF,CAAD,EAAgBD,CAAC,CAACsH,SAAlB,EAA4B,WAA5B,EAAwC,IAAxC,CAAhK,EAA8MlI,uDAAC,CAAC,CAACG,4FAAC,CAAC;AAAC45E,EAAAA,kBAAkB,EAAC;AAApB,CAAD,EAA4B;AAAC3xE,EAAAA,QAAQ,EAAC,CAAC;AAAX,CAA5B,CAAF,CAAD,EAA+CxH,CAAC,CAACsH,SAAjD,EAA2D,MAA3D,EAAkE,KAAK,CAAvE,CAA/M,EAAyRtH,CAAC,GAACF,CAAC,GAACV,uDAAC,CAAC,CAACS,sFAAC,CAAC,wBAAD,CAAF,CAAD,EAA+BG,CAA/B,CAA9R;AAAgU,MAAMa,CAAC,GAACb,CAAR;;;;;;;;;;;;;;;;;;;;;;;;;;ACJ75C;AACA;AACA;AACA;AACyf,MAAM,sBAAsB,yDAAC,CAAC,eAAe,gGAAgG,QAAQ,cAAc,2HAA2H,IAAI,uDAAC,EAAE,4FAAC,EAAE,kBAAkB,EAAE,YAAY,8BAA8B,uDAAC,EAAE,sFAAC,EAAE,kBAAkB,OAAO,0BAA0B,gBAAgB,8BAA8B,uDAAC,EAAE,sFAAC,EAAE,KAAK,0EAAC,OAAO,UAAU,kCAAkC,uDAAC,EAAE,sFAAC,EAAE,kCAAkC,qBAAqB,qCAAqC,uDAAC,EAAE,sFAAC,CAAC,kEAAC,mCAAmC,uDAAC,EAAE,sFAAC,0CAA0C,UAA+B;;;;;;;;;;;;;;;;;;;;;;;;ACJ7tC;AACA;AACA;AACA;AAC6U,oBAAoB,kDAAC,CAAC,eAAe,0CAA0C,OAAO,SAAS,UAAU,GAAG,qBAAqB,IAAI,uDAAC,EAAE,sFAAC,EAAE,OAAO,4DAA4D,cAAc,4DAAC,EAAE,OAAO,uBAAuB,iCAAiC,uDAAC,EAAE,sFAAC,EAAE,gDAAgD,gCAAgC,uDAAC,EAAE,sFAAC,gCAAgC,UAA+B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACJpwB;AACA;AACA;AACA;AAC4xB,MAAM,sBAAsB,yDAAC,CAAC,eAAe,qHAAqH,QAAQ,SAAS,oQAAoQ,gBAAgB,+BAA+B,kEAAkE,uEAAC,EAAE,sBAAsB,UAAU,kDAAkD,sDAAC,qBAAqB,8DAA8D,aAAa,mFAAC,EAAE,gBAAgB,iEAAC,UAAU,yCAAyC,oEAAC,EAAE,cAAc,iBAAiB,IAAI,uDAAC,EAAE,4FAAC,EAAE,YAAY,EAAE,YAAY,8BAA8B,uDAAC,EAAE,sFAAC,EAAE,KAAK,mFAAC,OAAO,UAAU,kCAAkC,uDAAC,EAAE,sFAAC,CAAC,wEAAC,iCAAiC,uDAAC,EAAE,sFAAC,EAAE,kCAAkC,qBAAqB,qCAAqC,uDAAC,EAAE,sFAAC,EAAE,KAAK,yEAAC,OAAO,UAAU,iCAAiC,uDAAC,EAAE,sFAAC,CAAC,kEAAC,mCAAmC,uDAAC,EAAE,sFAAC,uCAAuC,UAA+B;;;;;;;;;;;;;;;;;;;;;;;;;ACJ9hE;AACA;AACA;AACA;AACkf,MAAM,sBAAsB,6DAAC,CAAC,eAAe,8GAA8G,YAAY,OAAO,0DAAC,IAAI,QAAQ,cAAc,iGAAiG,EAAE,OAAO,SAAS,gBAAgB,GAAG,YAAY,GAAG,UAAU,GAAG,WAAW,GAAG,YAAY,IAAI,uDAAC,EAAE,sFAAC,EAAE,KAAK,kEAAC,OAAO,yBAAyB,oCAAoC,uDAAC,EAAE,sFAAC,EAAE,kBAAkB,UAAU,gCAAgC,uDAAC,EAAE,sFAAC,EAAE,kBAAkB,OAAO,0BAA0B,4BAA4B,IAAI,8BAA8B,uDAAC,EAAE,8EAAC,uCAAuC,uDAAC,EAAE,sFAAC,EAAE,KAAK,6DAAC,OAAO,2BAA2B,+BAA+B,uDAAC,EAAE,sFAAC,EAAE,KAAK,8DAAC,OAAO,2BAA2B,oCAAoC,uDAAC,EAAE,sFAAC,0BAA0B,UAA+B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACJ34C;AACA;AACA;AACA;AACq2B,MAAM,yCAAyC,sBAAsB,yDAAC,CAAC,eAAe,0JAA0J,QAAQ,cAAc,kCAAkC,oDAAC,oDAAoD,oDAAC,wBAAwB,oDAAC,wBAAwB,oDAAC,gDAAgD,EAAE,iCAAiC,iBAAiB,qDAAC,wCAAwC,6CAA6C,qDAAC,UAAU,MAAM,cAAc,oCAAoC,qBAAqB,WAAW,QAAQ,uDAAuD,EAAE,kCAAkC,kBAAkB,2DAAC,UAAU,qDAAC,gBAAgB,cAAc,gEAAgE,WAAW,WAAW,gBAAgB,6CAA6C,EAAE,wBAAwB,cAAc,UAAU,KAAK,2DAAC,EAAE,yDAAyD,GAAG,IAAI,uDAAC,EAAE,sFAAC,EAAE,KAAK,2EAAC,OAAO,UAAU,kCAAkC,uDAAC,EAAE,sFAAC,EAAE,KAAK,6FAAC,OAAO,UAAU,kCAAkC,uDAAC,EAAE,4FAAC,EAAE,YAAY,EAAE,YAAY,8BAA8B,uDAAC,EAAE,sFAAC,CAAC,0EAAC,8BAA8B,uDAAC,EAAE,4FAAC,EAAE,oLAAoL,EAAE,iBAAiB,gCAAgC,uDAAC,EAAE,sFAAC,EAAE,KAAK,2FAAC,OAAO,oBAAoB,cAAc,2FAAC,EAAE,cAAc,EAAE,QAAQ,eAAe,2BAA2B,kBAAkB,OAAO,qCAAqC,wCAAwC,uDAAC,EAAE,sFAAC,EAAE,KAAK,iFAAC,OAAO,UAAU,iCAAiC,uDAAC,EAAE,sFAAC,EAAE,kBAAkB,oBAAoB,mCAAmC,uDAAC,EAAE,sFAAC,QAAQ,UAAU,cAAc,gGAAgG,oBAAoB,aAAa,MAAM,cAAc,uBAAuB,SAAS,kGAAkG,cAAc,aAAa,WAAW,iEAAW,YAAY,GAAG,kEAAuF;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACJ1sG;AACA;AACA;AACA;AACqnB,MAAM,QAAQ,kEAAQ,EAAE,8BAA8B,KAAK,6DAAC,EAAE,EAAE,sBAAsB,oDAAC,CAAC,eAAe,uHAAuH,kBAAkB,SAAS,oBAAoB,OAAO,6EAAC,OAAO,2BAA2B,OAAO,oFAAC,OAAO,QAAQ,cAAc,YAAY,oDAAC,gCAAgC,oDAAC,8BAA8B,oDAAC,yBAAyB,oDAAC,8BAA8B,oDAAC,sBAAsB,EAAE,yBAAyB,cAAc,iBAAiB,2DAAC,EAAE,4EAAgB,MAAM,IAAI,uDAAC,EAAE,sFAAC,EAAE,KAAK,2EAAC,OAAO,UAAU,wCAAwC,uDAAC,EAAE,sFAAC,CAAC,uEAAC,iCAAiC,uDAAC,EAAE,sFAAC,EAAE,MAAM,kBAAkB,qCAAqC,uDAAC,EAAE,sFAAC,EAAE,OAAO,sCAAsC,uDAAC,EAAE,4FAAC,EAAE,yBAAyB,EAAE,YAAY,kCAAkC,uDAAC,EAAE,sFAAC,mCAAmC,UAA+B;;;;;;;;;;;;;;;;;;;;;;;;;;ACJ3jD;AACA;AACA;AACA;AAC6gB,oBAAoB,gEAAC,CAAC,6DAAC,GAAG,eAAe,yFAAyF,UAAU,iLAAiL,uDAAC,EAAE,sFAAC,EAAE,iCAAiC,eAAe,kBAAkB,8BAA8B,uDAAC,EAAE,sFAAC,EAAE,KAAK,yEAAC,OAAO,8BAA8B,mCAAmC,uDAAC,EAAE,sFAAC,EAAE,KAAK,qEAAC,OAAO,0BAA0B,+BAA+B,uDAAC,EAAE,sFAAC,EAAE,KAAK,iDAAC,OAAO,MAAM,wEAAC,yBAAyB,iCAAiC,uDAAC,EAAE,sFAAC,uCAAuC,UAA+B;;;;;;;;;;;;;;;;;;;;;;;;;ACJ9uC;AACA;AACA;AACA;AACsa,oBAAoB,kDAAC,CAAC,eAAe,gDAAgD,OAAO,SAAS,UAAU,GAAG,WAAW,IAAI,uDAAC,EAAE,4FAAC,EAAE,sBAAsB,EAAE,YAAY,8BAA8B,uDAAC,EAAE,sFAAC,EAAE,iBAAiB,sDAAC,OAAO,UAAU,iCAAiC,uDAAC,EAAE,sFAAC,gCAAgC,UAA+B;;;;;;;;;;;;;;;;;;;;;;;;;;;ACJ5vB;AACA;AACA;AACA;AACsf,MAAM,QAAQ,kEAAQ,EAAE,8BAA8B,KAAK,6DAAC,MAAM,6DAAC,EAAE,IAAI,kEAAQ,EAAE,8BAA8B,KAAK,6DAAC,MAAM,6DAAC,EAAE,EAAE,sBAAsB,qDAAC,CAAC,eAAe,qDAAqD,QAAQ,cAAc,YAAY,oDAAC,gCAAgC,oDAAC,8BAA8B,oDAAC,iBAAiB,EAAE,+BAA+B,cAAc,iBAAiB,2DAAC,EAAE,kFAAsB,MAAM,IAAI,uDAAC,EAAE,sFAAC,EAAE,aAAa,QAAQ,sCAAsC,uDAAC,EAAE,4FAAC,EAAE,uBAAuB,EAAE,YAAY,kCAAkC,uDAAC,EAAE,sFAAC,kCAAkC,UAA+B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACJ9nC;AACA;AACA;AACA;AAC6zB,MAAM,sBAAsB,yDAAC,CAAC,eAAe,yFAAyF,2DAAC,uCAAuC,QAAQ,SAAS,gOAAgO,gBAAgB,+BAA+B,SAAS,yBAAyB,2DAAC,+DAA+D,wEAAC,EAAE,cAAc,oBAAoB,2EAAC,EAAE,gBAAgB,sDAAC,UAAU,sBAAsB,6DAAC,EAAE,sFAAsF,QAAQ,kBAAkB,uDAAC,EAAE,sFAAC,EAAE,KAAK,2EAAC,OAAO,UAAU,kCAAkC,uDAAC,EAAE,4FAAC,EAAE,YAAY,EAAE,YAAY,8BAA8B,uDAAC,EAAE,sFAAC,EAAE,KAAK,sEAAC,OAAO,0BAA0B,8BAA8B,uDAAC,EAAE,sFAAC,EAAE,KAAK,qEAAC,OAAO,yBAAyB,6BAA6B,uDAAC,EAAE,sFAAC,CAAC,0EAAC,8BAA8B,uDAAC,EAAE,sFAAC,CAAC,4EAAC,iCAAiC,uDAAC,EAAE,sFAAC,EAAE,OAAO,gBAAgB,6DAAC,UAAU,MAAM,6DAAC,EAAE,OAAO,UAAU,oCAAoC,uDAAC,EAAE,sFAAC,uCAAuC,UAA+B;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACJrkE;AACA;AACA;AACA;AACgoB,MAAM,sBAAsB,6DAAC,CAAC,eAAe,+EAA+E,oBAAoB,qCAAqC,aAAa,qBAAqB,aAAa,gDAAgD,oBAAoB,gCAAgC,QAAQ,cAAc,MAAM,oDAAC,uDAAuD,EAAE,OAAO,SAAS,eAAe,GAAG,mBAAmB,GAAG,WAAW,IAAI,uDAAC,EAAE,sFAAC,EAAE,uCAAuC,UAAU,mCAAmC,uDAAC,EAAE,4FAAC,EAAE,4BAA4B,EAAE,YAAY,EAAE,sFAAC,EAAE,MAAM,SAAS,WAAW,YAAY,8BAA8B,uDAAC,EAAE,sFAAC,EAAE,KAAK,sEAAC,CAAC,+BAA+B,uDAAC,EAAE,mFAAC,0CAA0C,uDAAC,EAAE,sFAAC,EAAE,KAAK,iDAAC,kBAAkB,OAAO,eAAe,6BAA6B,uDAAC,EAAE,kFAAC,yCAAyC,uDAAC,EAAE,mFAAC,8CAA8C,uDAAC,EAAE,sFAAC,sCAAsC,UAA+B;;;;;;;;;;;;;;;;;;;;;;;;ACJ3oD;AACA;AACA;AACA;AACiY,oBAAoB,kDAAC,CAAC,eAAe,+EAA+E,OAAO,SAAS,UAAU,GAAG,WAAW,GAAG,UAAU,GAAG,aAAa,GAAG,aAAa,IAAI,uDAAC,EAAE,sFAAC,EAAE,kBAAkB,8CAA8C,+BAA+B,uDAAC,EAAE,sFAAC,EAAE,oDAAoD,8BAA8B,uDAAC,EAAE,sFAAC,EAAE,iBAAiB,sDAAC,OAAO,UAAU,iCAAiC,uDAAC,EAAE,sFAAC,EAAE,iBAAiB,sDAAC,OAAO,UAAU,iCAAiC,uDAAC,EAAE,sFAAC,EAAE,qBAAqB,iFAAC,CAAC,0DAAC,WAAW,UAAU,gCAAgC,uDAAC,EAAE,sFAAC,kCAAkC,UAA+B;;;;;;;;;;;;;;;;;;;;;;;;;;ACJvjC;AACA;AACA;AACA;AACgd,MAAM,QAAQ,kEAAQ,EAAE,8BAA8B,KAAK,6DAAC,EAAE,EAAE,sBAAsB,oDAAC,CAAC,eAAe,qDAAqD,QAAQ,cAAc,YAAY,oDAAC,gCAAgC,oDAAC,8BAA8B,oDAAC,iBAAiB,EAAE,+BAA+B,cAAc,iBAAiB,2DAAC,EAAE,kFAAsB,MAAM,IAAI,uDAAC,EAAE,sFAAC,EAAE,OAAO,sCAAsC,uDAAC,EAAE,4FAAC,EAAE,uBAAuB,EAAE,YAAY,kCAAkC,uDAAC,EAAE,sFAAC,kCAAkC,UAA+B;;;;;;;;;;;;;;;;;;;;;;;;;;;ACJxgC;AACA;AACA;AACA;AACwmB,MAAM,sBAAsB,yDAAC,CAAC,eAAe,iPAAiP,QAAQ,cAAc,+RAA+R,EAAE,kBAAkB,4DAA4D,uDAAC,EAAE,sFAAC,EAAE,KAAK,2EAAC,OAAO,UAAU,kCAAkC,uDAAC,EAAE,sFAAC,EAAE,kCAAkC,qBAAqB,qCAAqC,uDAAC,EAAE,sFAAC,EAAE,KAAK,gGAAC,OAAO,UAAU,kCAAkC,uDAAC,EAAE,4FAAC,EAAE,gBAAgB,EAAE,YAAY,8BAA8B,uDAAC,EAAE,sFAAC,EAAE,kBAAkB,UAAU,+BAA+B,uDAAC,EAAE,sFAAC,EAAE,kBAAkB,UAAU,gCAAgC,uDAAC,EAAE,sFAAC,EAAE,kBAAkB,UAAU,+BAA+B,uDAAC,EAAE,4FAAC,EAAE,8EAA8E,EAAE,iBAAiB,gCAAgC,uDAAC,EAAE,sFAAC,EAAE,KAAK,0FAAC,OAAO,oBAAoB,cAAc,0FAAC,EAAE,qBAAqB,EAAE,QAAQ,eAAe,+BAA+B,kBAAkB,OAAO,qCAAqC,wCAAwC,uDAAC,EAAE,sFAAC,EAAE,kBAAkB,UAAU,iCAAiC,uDAAC,EAAE,sFAAC,EAAE,kBAAkB,UAAU,8BAA8B,uDAAC,EAAE,sFAAC,EAAE,kBAAkB,UAAU,8BAA8B,uDAAC,EAAE,sFAAC,EAAE,YAAY,uCAAuC,uDAAC,EAAE,sFAAC,yCAAyC,UAA+B;;;;;;;;;;;;;;;;;;;;;;;;;;;ACJ36E;AACA;AACA;AACA;AACglB,MAAM,sBAAsB,yDAAC,CAAC,eAAe,8MAA8M,eAAe,4DAA4D,gBAAgB,2DAA2D,QAAQ,cAAc,uPAAuP,IAAI,uDAAC,EAAE,sFAAC,EAAE,KAAK,0EAAC,OAAO,UAAU,kCAAkC,uDAAC,EAAE,sFAAC,EAAE,kCAAkC,qBAAqB,qCAAqC,uDAAC,EAAE,4FAAC,EAAE,YAAY,EAAE,YAAY,8BAA8B,uDAAC,EAAE,sFAAC,EAAE,6BAA6B,2BAA2B,iCAAiC,uDAAC,EAAE,sFAAC,EAAE,KAAK,sEAAC,OAAO,0BAA0B,8BAA8B,uDAAC,EAAE,sFAAC,EAAE,KAAK,qEAAC,OAAO,yBAAyB,6BAA6B,uDAAC,EAAE,sFAAC,EAAE,kBAAkB,OAAO,mBAAmB,OAAO,YAAY,OAAO,gBAAgB,+BAA+B,uDAAC,EAAE,kFAAC,mEAAmE,uDAAC,EAAE,sFAAC,EAAE,kBAAkB,UAAU,gCAAgC,uDAAC,EAAE,kFAAC,qEAAqE,uDAAC,EAAE,sFAAC,EAAE,qCAAqC,2BAA2B,gCAAgC,uDAAC,EAAE,sFAAC,EAAE,6BAA6B,wBAAwB,6CAA6C,uDAAC,EAAE,sFAAC,uCAAuC,UAA+B;;;;;;;;;;;;;;;;;;;;;;;;;;ACJzyE;AACA;AACA;AACA;AACihB,MAAM,sBAAsB,sDAAC,CAAC,kBAAkB,2JAA2J,2BAA2B,qDAAqD,WAAW,uDAAuD,0DAAC,wBAAwB,0DAAC,OAAO,QAAQ,eAAe,MAAM,oDAAC,wCAAwC,oDAAC,6HAA6H,EAAE,uBAAuB,oDAAC,iBAAiB,OAAO,SAAS,aAAa,GAAG,mBAAmB,GAAG,YAAY,GAAG,SAAS,GAAG,WAAW,GAAG,aAAa,GAAG,YAAY,GAAG,aAAa,GAAG,YAAY,IAAI,uDAAC,EAAE,4FAAC,EAAE,uBAAuB,EAAE,YAAY,8BAA8B,uDAAC,EAAE,sFAAC,CAAC,uEAAC,6BAA6B,uDAAC,EAAE,sFAAC,EAAE,kBAAkB,UAAU,gCAAgC,uDAAC,EAAE,sFAAC,EAAE,kBAAkB,UAAU,gCAAgC,uDAAC,EAAE,sFAAC,EAAE,iBAAiB,sDAAC,OAAO,UAAU,+BAA+B,uDAAC,EAAE,sFAAC,EAAE,iBAAiB,sDAAC,OAAO,UAAU,gCAAgC,uDAAC,EAAE,sFAAC,EAAE,iBAAiB,sDAAC,OAAO,UAAU,iCAAiC,uDAAC,EAAE,sFAAC,EAAE,iBAAiB,sDAAC,OAAO,UAAU,iCAAiC,uDAAC,EAAE,sFAAC,CAAC,0EAAC,oCAAoC,uDAAC,EAAE,sFAAC,uCAAuC,UAA+B;;;;;;;;;;;;;;;;;;;;;;;;;;;ACJr6D;AACA;AACA;AACA;AACylB,MAAM,sBAAsB,wDAAC,CAAC,kBAAkB,kIAAkI,yBAAyB,qDAAqD,WAAW,sCAAsC,0DAAC,wBAAwB,0DAAC,OAAO,gBAAgB,iBAAiB,eAAe,iBAAiB,QAAQ,eAAe,4GAA4G,EAAE,uBAAuB,oDAAC,iBAAiB,OAAO,SAAS,aAAa,GAAG,YAAY,GAAG,SAAS,GAAG,WAAW,IAAI,uDAAC,EAAE,sFAAC,EAAE,MAAM,UAAU,+BAA+B,uDAAC,EAAE,4FAAC,EAAE,yBAAyB,EAAE,YAAY,8BAA8B,uDAAC,EAAE,sFAAC,CAAC,wEAAC,6BAA6B,uDAAC,EAAE,sFAAC,CAAC,2EAAC,gCAAgC,uDAAC,EAAE,sFAAC,EAAE,iBAAiB,sDAAC,OAAO,UAAU,gCAAgC,uDAAC,EAAE,kFAAC,6DAA6D,uDAAC,EAAE,sFAAC,EAAE,iBAAiB,sDAAC,OAAO,UAAU,+BAA+B,uDAAC,EAAE,sFAAC,EAAE,MAAM,UAAU,kCAAkC,uDAAC,EAAE,sFAAC,yCAAyC,UAA+B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACJnwD;AACA;AACA;AACA;AACywB,MAAM,QAAQ,kEAAQ,EAAE,8BAA8B,KAAK,6DAAC,QAAQ,gEAAC,MAAM,8DAAC,EAAE,EAAE,sBAAsB,qDAAC,CAAC,eAAe,iGAAiG,kBAAkB,6DAA6D,sDAAsD,4CAA4C,iBAAiB,SAAS,oBAAoB,OAAO,6EAAC,OAAO,2BAA2B,OAAO,oFAAC,OAAO,QAAQ,cAAc,eAAe,oDAAC,8BAA8B,oDAAC,2BAA2B,oDAAC,gCAAgC,oDAAC,8BAA8B,oDAAC,iBAAiB,EAAE,iCAAiC,cAAc,iBAAiB,2DAAC,EAAE,oFAAwB,MAAM,EAAE,kCAAkC,cAAc,iBAAiB,2DAAC,EAAE,qFAAyB,MAAM,EAAE,wBAAwB,6BAA6B,oCAAoC,sBAAsB,yBAAyB,iBAAiB,2DAAC,EAAE,2EAAe,kBAAkB,mEAAC,EAAE,kBAAkB,iDAAC,UAAU,qBAAqB,2EAAC,EAAE,gBAAgB,EAAE,EAAE,iBAAiB,2DAAC,EAAE,2EAAe,MAAM,EAAE,yBAAyB,cAAc,iBAAiB,2DAAC,EAAE,6EAAgB,MAAM,IAAI,uDAAC,EAAE,sFAAC,EAAE,KAAK,2EAAC,OAAO,UAAU,wCAAwC,uDAAC,EAAE,sFAAC,CAAC,uEAAC,iCAAiC,uDAAC,EAAE,sFAAC,EAAE,aAAa,SAAS,aAAa,YAAY,sCAAsC,uDAAC,EAAE,4FAAC,EAAE,yBAAyB,EAAE,YAAY,kCAAkC,uDAAC,EAAE,sFAAC,mCAAmC,UAA+B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACJ11E;AACA;AACA;AACA;AAC2yB,MAAM,QAAQ,kEAAQ,EAAE,8BAA8B,QAAQ,iEAAC,MAAM,8DAAC,MAAM,8DAAC,MAAM,8DAAC,QAAQ,gEAAC,MAAM,8DAAC,OAAO,+DAAC,EAAE,EAAE,sBAAsB,qDAAC,CAAC,eAAe,wDAAwD,aAAa,YAAY,iBAAiB,8DAAC,CAAC,iEAAW,oGAAoG,oEAAoE,mBAAmB,8DAAC,CAAC,iEAAW,oGAAoG,iDAAiD,GAAG,sCAAsC,gBAAgB,0DAAC,wCAAwC,OAAO,SAAS,wDAAC,GAAG,QAAQ,cAAc,YAAY,oDAAC,gCAAgC,oDAAC,8BAA8B,oDAAC,iBAAiB,EAAE,mBAAmB,cAAc,gHAAgH,oDAAoD,4EAA4E,yDAAyD,6BAA6B,SAAS,+BAA+B,cAAc,iBAAiB,2DAAC,EAAE,mFAAsB,MAAM,IAAI,uDAAC,EAAE,sFAAC,EAAE,aAAa,UAAU,sCAAsC,uDAAC,EAAE,4FAAC,EAAE,6BAA6B,EAAE,YAAY,kCAAkC,uDAAC,EAAE,sFAAC,qCAAqC,UAA+B;;;;;;;;;;;;;;;;;;;;;;;;;;;ACJzyE;AACA;AACA;AACA;AACof,MAAM,YAAY,qDAAC,EAAE,mPAAmP,EAAE,sBAAsB,sDAAC,CAAC,kBAAkB,2BAA2B,iDAAC,+BAA+B,6DAAC,4CAA4C,yBAAyB,kCAAkC,WAAW,wDAAwD,QAAQ,cAAc,MAAM,oDAAC,yEAAyE,EAAE,OAAO,SAAS,aAAa,EAAE,WAAW,GAAG,8BAA8B,IAAI,uDAAC,EAAE,sFAAC,gCAAgC,uDAAC,EAAE,sFAAC,kCAAkC,uDAAC,EAAE,4FAAC,EAAE,sBAAsB,EAAE,YAAY,8BAA8B,uDAAC,EAAE,sFAAC,EAAE,uBAAuB,2BAA2B,mCAAmC,uDAAC,EAAE,sFAAC,sCAAsC,UAA+B;;;;;;;;;;;;;;;;;;;;;;;;;;;ACJ3/C;AACA;AACA;AACA;AACugB,MAAM,YAAY,qDAAC,EAAE,sVAAsV,EAAE,sBAAsB,sDAAC,CAAC,kBAAkB,6HAA6H,+BAA+B,kCAAkC,WAAW,mEAAmE,0DAAC,mEAAmE,0DAAC,OAAO,QAAQ,cAAc,MAAM,oDAAC,kIAAkI,EAAE,OAAO,SAAS,aAAa,GAAG,mBAAmB,GAAG,WAAW,GAAG,SAAS,GAAG,UAAU,GAAG,gBAAgB,GAAG,oBAAoB,IAAI,uDAAC,EAAE,4FAAC,EAAE,sBAAsB,EAAE,YAAY,8BAA8B,uDAAC,EAAE,sFAAC,EAAE,uBAAuB,2BAA2B,+BAA+B,uDAAC,EAAE,sFAAC,EAAE,qCAAqC,OAAO,0BAA0B,qCAAqC,IAAI,6BAA6B,uDAAC,EAAE,sFAAC,EAAE,qCAAqC,OAAO,0BAA0B,qCAAqC,IAAI,8BAA8B,uDAAC,EAAE,sFAAC,EAAE,OAAO,4DAA4D,cAAc,6DAAC,EAAE,OAAO,kBAAkB,aAAa,YAAY,gCAAgC,uDAAC,EAAE,sFAAC,EAAE,kBAAkB,kBAAkB,wCAAwC,uDAAC,EAAE,sFAAC,sCAAsC,UAA+B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACJ1yE;AACA;AACA;AACA;AAC0mB,MAAM,YAAY,qDAAC,EAAE,uJAAuJ,EAAE,sBAAsB,yDAAC,CAAC,kBAAkB,2BAA2B,iDAAC,gGAAgG,6DAAC,CAAC,2BAA2B,kCAAkC,WAAW,uCAAuC,0DAAC,uCAAuC,gBAAgB,yFAAyF,YAAY,sCAAsC,QAAQ,cAAc,uBAAuB,oDAAC,iJAAiJ,EAAE,OAAO,SAAS,aAAa,GAAG,8BAA8B,GAAG,UAAU,GAAG,WAAW,GAAG,qBAAqB,IAAI,uDAAC,EAAE,sFAAC,gCAAgC,uDAAC,EAAE,mFAAC,0CAA0C,uDAAC,EAAE,4FAAC,EAAE,wBAAwB,EAAE,YAAY,8BAA8B,uDAAC,EAAE,sFAAC,+BAA+B,uDAAC,EAAE,sFAAC,EAAE,uBAAuB,2BAA2B,+BAA+B,uDAAC,EAAE,sFAAC,EAAE,kBAAkB,UAAU,4BAA4B,uDAAC,EAAE,sFAAC,EAAE,OAAO,4DAA4D,cAAc,6DAAC,EAAE,OAAO,uBAAuB,qCAAqC,uDAAC,EAAE,sFAAC,wCAAwC,UAA+B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACJpmE;AACA;AACA;AACA;AACA;AAA2C;AAA2B;AAA6C;AAAqD;AAA0E;AAAuB;AAA0B;AAA6B;AAAsE;AAA0E,MAAMC,CAAC,GAAC,IAAId,qDAAJ,CAAM;AAACi6E,EAAAA,OAAO,EAAC,eAAT;AAAyBC,EAAAA,OAAO,EAAC,gBAAjC;AAAkDC,EAAAA,OAAO,EAAC,aAA1D;AAAwEC,EAAAA,OAAO,EAAC,aAAhF;AAA8FC,EAAAA,OAAO,EAAC,cAAtG;AAAqHC,EAAAA,MAAM,EAAC,MAA5H;AAAmIC,EAAAA,OAAO,EAAC,qBAA3I;AAAiKC,EAAAA,aAAa,EAAC,UAA/K;AAA0LC,EAAAA,YAAY,EAAC,SAAvM;AAAiNC,EAAAA,eAAe,EAAC,YAAjO;AAA8OC,EAAAA,cAAc,EAAC,WAA7P;AAAyQC,EAAAA,YAAY,EAAC,SAAtR;AAAgSC,EAAAA,aAAa,EAAC,UAA9S;AAAyTb,EAAAA,kBAAkB,EAAC;AAA5U,CAAN,CAAR;AAAkW,IAAI94E,CAAC,GAAC,CAAN;AAAA,IAAQF,CAAC,GAAC,cAAcZ,6DAAd,CAAe;AAACqC,EAAAA,WAAW,CAACjC,CAAD,EAAG;AAAC,UAAMA,CAAN,GAAS,KAAKkC,EAAL,GAAQ,QAAMxB,CAAC,EAAxB,EAA2B,KAAKqC,IAAL,GAAU,IAArC,EAA0C,KAAK6R,KAAL,GAAW,IAAInV,iDAAJ,CAAM,CAAC,CAAD,EAAG,CAAH,EAAK,CAAL,EAAO,CAAP,CAAN,CAArD;AAAsE;;AAAA66E,EAAAA,SAAS,CAACt6E,CAAD,EAAG;AAAC,WAAO,QAAMA,CAAC,GAAG,CAAH,CAAP,GAAa,CAACA,CAAC,CAAC,CAAD,CAAF,EAAMA,CAAC,CAAC,CAAD,CAAP,EAAWA,CAAC,CAAC,CAAD,CAAZ,EAAgBA,CAAC,CAAC,CAAD,CAAD,GAAK,GAArB,CAAb,GAAuCA,CAA9C;AAAgD;;AAAMqO,EAAAA,qBAAqB,CAACrO,CAAD,EAAGP,CAAH,EAAK;AAAA;AAAE;;AAAAomB,EAAAA,IAAI,GAAE;AAAC,WAAOI,IAAI,CAACC,SAAL,CAAe,KAAKnc,MAAL,EAAf,CAAP;AAAqC;;AAAA9J,EAAAA,KAAK,GAAE,CAAE;;AAA1O,CAAzB;AAAqQD,uDAAC,CAAC,CAACN,sFAAC,CAAC;AAACqD,EAAAA,IAAI,EAACzC,CAAC,CAAC6hE,SAAR;AAAkBt6D,EAAAA,QAAQ,EAAC,CAAC,CAA5B;AAA8BN,EAAAA,IAAI,EAAC;AAAC9D,IAAAA,IAAI,EAAC,CAAC,CAAP;AAAS0B,IAAAA,KAAK,EAAC;AAACqC,MAAAA,YAAY,EAAC,CAAC,CAAf;AAAiBrG,MAAAA,MAAM,EAACb,CAAC,CAAC6E;AAA1B;AAAf;AAAnC,CAAD,CAAF,CAAD,EAA2F3E,CAAC,CAACmH,SAA7F,EAAuG,MAAvG,EAA8G,KAAK,CAAnH,CAAD,EAAuH3H,uDAAC,CAAC,CAACN,sFAAC,CAAC;AAACqD,EAAAA,IAAI,EAACtD,iDAAN;AAAQ8H,EAAAA,IAAI,EAAC;AAACpC,IAAAA,KAAK,EAAC;AAACsU,MAAAA,SAAS,EAAC,CAAC;AAAZ;AAAP;AAAb,CAAD,CAAF,CAAD,EAA2CjZ,CAAC,CAACmH,SAA7C,EAAuD,OAAvD,EAA+D,KAAK,CAApE,CAAxH,EAA+L3H,uDAAC,CAAC,CAACK,kFAAC,CAAC,OAAD,CAAF,CAAD,EAAcG,CAAC,CAACmH,SAAhB,EAA0B,WAA1B,EAAsC,IAAtC,CAAhM,EAA4OnH,CAAC,GAACR,uDAAC,CAAC,CAACE,uFAAC,CAAC,qBAAD,CAAF,CAAD,EAA4BM,CAA5B,CAA/O;AAA8Q,MAAML,CAAC,GAACK,CAAR;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACJr0C;AACA;AACA;AACA;AAC6vC,SAAS,KAAK,8DAAC,QAAQ,gEAAC,MAAM,8DAAC,MAAM,8DAAC,MAAM,8DAAC,SAAS,iEAAC,MAAM,8DAAC,OAAO,+DAAC,CAAC,GAAG,kEAAQ,EAAE,KAAK,0DAAC,kDAAkD,EAAE,oBAAoB,mDAAC,CAAC,eAAe,kEAAkE,8GAA8G,2DAAC,CAAC,gCAAgC,YAAY,YAAY,aAAa,kBAAkB,iEAAW,sIAAsI,oBAAoB,yEAAC,8BAA8B,uBAAuB,uBAAuB,QAAQ,kEAAC,eAAe,WAAW,gEAAC,EAAE,uBAAuB,EAAE,kCAAkC,gEAAC,EAAE,kBAAkB,qEAAY,qCAAqC,EAAE,iCAAiC,wDAAC,sHAAsH,uBAAuB,GAAG,0BAA0B,uBAAuB,MAAM,kEAAC,eAAe,6DAAC,QAAQ,4DAAC,oBAAoB,wBAAwB,iDAAiD,gEAAC,qEAAqE,wDAAC,sJAAsJ,YAAY,kBAAkB,kCAAkC,EAAE,qBAAqB,oBAAoB,0DAAC,gBAAgB,iBAAiB,mBAAmB,eAAe,KAAK,uDAAC,EAAE,sFAAC,EAAE,MAAM,kBAAkB,6BAA6B,uDAAC,EAAE,sFAAC,EAAE,4BAA4B,UAAU,EAAE,8EAAC,CAAC,4EAAC,oCAAoC,uDAAC,EAAE,sFAAC,EAAE,KAAK,gEAAC,CAAC,qCAAqC,uDAAC,EAAE,mFAAC,qDAAqD,uDAAC,EAAE,mFAAC,gBAAgB,wBAAwB,YAAY,0BAA0B,YAAY,qBAAqB,aAAa,wCAAwC,uDAAC,EAAE,sFAAC,EAAE,KAAK,6DAAC,OAAO,SAAS,mCAAmC,uDAAC,EAAE,sFAAC,EAAE,0EAA0E,gCAAgC,uDAAC,EAAE,uFAAC,8BAA8B,UAA+B;;;;;;;;;;;;;;;;;;;;;;;;ACJx9G;AACA;AACA;AACA;AACwY,oBAAoB,6DAAC,CAAC,eAAe,8DAA8D,oBAAoB,cAAc,uDAAC,EAAE,sFAAC,EAAE,mBAAmB,MAAM,gBAAgB,QAAQ,kBAAkB,iCAAiC,uDAAC,EAAE,kFAAC,8CAA8C,uDAAC,EAAE,sFAAC,EAAE,iFAAiF,gCAAgC,uDAAC,EAAE,sFAAC,mCAAmC,UAA+B;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACJt2B;AACA;AACA;AACA;AACwrB,MAAM,sBAAsB,mDAAC,CAAC,kBAAkB,uGAAuG,gDAAC,gSAAgS,yBAAyB,kCAAkC,WAAW,oDAAoD,wBAAwB,sCAAsC,iBAAiB,OAAO,0DAAC,IAAI,yBAAyB,sCAAsC,QAAQ,cAAc,iCAAiC,oDAAC,uCAAuC,oDAAC,gEAAgE,oDAAC,yDAAyD,oDAAC,mUAAmU,EAAE,OAAO,SAAS,6BAA6B,GAAG,qBAAqB,GAAG,oBAAoB,GAAG,mBAAmB,GAAG,4BAA4B,GAAG,uBAAuB,GAAG,cAAc,GAAG,yBAAyB,GAAG,aAAa,GAAG,iBAAiB,GAAG,aAAa,GAAG,UAAU,GAAG,uBAAuB,GAAG,WAAW,GAAG,aAAa,GAAG,aAAa,GAAG,gBAAgB,GAAG,eAAe,GAAG,WAAW,IAAI,uDAAC,EAAE,sFAAC,EAAE,KAAK,iDAAC,OAAO,UAAU,yCAAyC,uDAAC,EAAE,sFAAC,EAAE,KAAK,iDAAC,OAAO,UAAU,yCAAyC,uDAAC,EAAE,sFAAC,EAAE,kBAAkB,SAAS,MAAM,sDAAC,CAAC,wCAAwC,uDAAC,EAAE,sFAAC,EAAE,KAAK,gDAAC,OAAO,UAAU,8BAA8B,uDAAC,EAAE,sFAAC,EAAE,GAAG,+EAAC,OAAO,UAAU,6CAA6C,uDAAC,EAAE,sFAAC,EAAE,mBAAmB,UAAU,iCAAiC,uDAAC,EAAE,sFAAC,EAAE,KAAK,iDAAC,OAAO,UAAU,mCAAmC,uDAAC,EAAE,sFAAC,EAAE,iBAAiB,sDAAC,OAAO,UAAU,kCAAkC,uDAAC,EAAE,sFAAC,EAAE,mBAAmB,UAAU,qCAAqC,uDAAC,EAAE,sFAAC,EAAE,mBAAmB,UAAU,iCAAiC,uDAAC,EAAE,sFAAC,EAAE,kBAAkB,UAAU,8BAA8B,uDAAC,EAAE,4FAAC,EAAE,cAAc,EAAE,YAAY,8BAA8B,uDAAC,EAAE,sFAAC,EAAE,GAAG,6EAAC,OAAO,UAAU,2CAA2C,uDAAC,EAAE,sFAAC,EAAE,iBAAiB,sDAAC,OAAO,UAAU,iCAAiC,uDAAC,EAAE,sFAAC,EAAE,iBAAiB,sDAAC,OAAO,UAAU,iCAAiC,uDAAC,EAAE,sFAAC,EAAE,kBAAkB,8CAA8C,+BAA+B,uDAAC,EAAE,sFAAC,EAAE,kBAAkB,UAAU,+BAA+B,uDAAC,EAAE,sFAAC,EAAE,YAAY,mCAAmC,uDAAC,EAAE,kFAAC,kDAAkD,uDAAC,EAAE,8EAAC,iDAAiD,uDAAC,EAAE,sFAAC,CAAC,sEAAC,oCAAoC,uDAAC,EAAE,kFAAC,wDAAwD,uDAAC,EAAE,sFAAC,gCAAgC,UAA+B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACJh0H;AACA;AACA;AACA;AAC42B,MAAM,sBAAsB,yDAAC,CAAC,eAAe,4MAA4M,WAAW,+BAA+B,YAAY,2EAA2E,mBAAmB,SAAS,sBAAsB,iBAAiB,uBAAuB,WAAW,kFAAkF,YAAY,4FAA4F,QAAQ,eAAe,qCAAqC,oDAAC,4BAA4B,oDAAC,+MAA+M,oDAAC,kBAAkB,EAAE,oCAAoC,yBAAyB,cAAc,qCAAqC,gDAAC,uHAAuH,2EAAC,EAAE,sBAAsB,0FAA0F,uFAAC,EAAE,gCAAgC,OAAO,IAAI,gBAAgB,2BAA2B,mEAAC,EAAE,MAAM,oDAAC,WAAW,OAAO,uDAAC,EAAE,sFAAC,EAAE,KAAK,gDAAC,OAAO,UAAU,4BAA4B,uDAAC,EAAE,kFAAC,wCAAwC,uDAAC,EAAE,sFAAC,EAAE,KAAK,mEAAC,OAAO,UAAU,8BAA8B,uDAAC,EAAE,sFAAC,EAAE,GAAG,+EAAC,OAAO,2BAA2B,6CAA6C,uDAAC,EAAE,sFAAC,EAAE,GAAG,sEAAC,OAAO,oBAAoB,oCAAoC,uDAAC,EAAE,sFAAC,EAAE,KAAK,2EAAC,OAAO,UAAU,kCAAkC,uDAAC,EAAE,sFAAC,EAAE,KAAK,uFAAC,OAAO,UAAU,oCAAoC,uDAAC,EAAE,sFAAC,CAAC,0EAAC,4BAA4B,uDAAC,EAAE,sFAAC,EAAE,kBAAkB,UAAU,8BAA8B,uDAAC,EAAE,4FAAC,EAAE,YAAY,EAAE,YAAY,8BAA8B,uDAAC,EAAE,sFAAC,EAAE,GAAG,6EAAC,OAAO,6BAA6B,+CAA+C,uDAAC,EAAE,sFAAC,uCAAuC,UAA+B;;;;;;;;;;;;;;;;;;;;;;;;ACJ5hG;AACA;AACA;AACA;AACob,MAAM,sBAAsB,yDAAC,CAAC,eAAe,iIAAiI,QAAQ,cAAc,MAAM,oDAAC,8GAA8G,IAAI,uDAAC,EAAE,sFAAC,EAAE,KAAK,iDAAC,sBAAsB,MAAM,wEAAC,gCAAgC,yEAAyB,oEAAoE,+BAA+B,uDAAC,EAAE,4FAAC,EAAE,cAAc,EAAE,YAAY,8BAA8B,uDAAC,EAAE,sFAAC,EAAE,sCAAsC,2BAA2B,uCAAuC,uDAAC,EAAE,sFAAC,EAAE,kBAAkB,uBAAuB,uCAAuC,uDAAC,EAAE,sFAAC,EAAE,kDAAkD,6BAA6B,0CAA0C,uDAAC,EAAE,sFAAC,wCAAwC,gBAAgB,iDAAC,cAAmC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACJz5C;AACA;AACA;AACA;AACA;AAA2C;AAAiC;AAAyD;AAA0E;AAAuB;AAA6B;AAAgF;AAA0E;AAAmC;AAA4D;AAA2B;AAAmD,IAAIA,CAAJ;AAAM,IAAII,CAAC,GAACJ,CAAC,GAAC,cAAcL,mDAAd,CAAe;AAAC8B,EAAAA,WAAW,CAACvC,CAAD,EAAG;AAAC,UAAMA,CAAN,GAAS,KAAKkV,KAAL,GAAW,IAApB,EAAyB,KAAKiyD,SAAL,GAAe,IAAxC,EAA6C,KAAKjhE,MAAL,GAAY,IAAzD,EAA8D,KAAKmhE,QAAL,GAAc,IAA5E,EAAiF,KAAKxwD,SAAL,GAAe,IAAhG,EAAqG,KAAKqD,IAAL,GAAU,IAA/G,EAAoH,KAAK7W,IAAL,GAAU,WAA9H;AAA0I;;AAAkB,MAAdy3E,cAAc,GAAE;AAAC,UAAM96E,CAAC,GAAC,QAAM,KAAKkG,MAAX,GAAkB,KAAKA,MAAvB,GAA8B1F,oEAAA,EAAtC;AAAA,UAAqDV,CAAC,GAACE,CAAC,CAACylB,IAAF,GAAOzlB,CAAC,CAACylB,IAAF,CAAOi1C,QAAd,GAAuB,IAA9E;AAAmF,WAAO,GAAE,KAAKyM,SAAU,IAAG,KAAKE,QAAS,IAAG,KAAKntD,IAAK,IAAGpa,CAAE,IAAGE,CAAC,CAAC2F,GAAI,EAApE;AAAsE;;AAAA5B,EAAAA,IAAI,CAAC/D,CAAD,EAAGF,CAAH,EAAK;AAAC,SAAKoG,MAAL,GAAYpG,CAAC,EAAEoG,MAAf,EAAsB,MAAMnC,IAAN,CAAW/D,CAAX,EAAaF,CAAb,CAAtB;AAAsC;;AAAAS,EAAAA,KAAK,GAAE;AAAC,WAAO,IAAIO,CAAJ,CAAM;AAACoZ,MAAAA,IAAI,EAAC,KAAKA,IAAX;AAAgBmtD,MAAAA,QAAQ,EAAC,KAAKA,QAA9B;AAAuCF,MAAAA,SAAS,EAAC,KAAKA,SAAtD;AAAgEjhE,MAAAA,MAAM,EAAC,KAAKA;AAA5E,KAAN,CAAP;AAAkG;;AAAA60E,EAAAA,WAAW,CAAC/6E,CAAD,EAAG;AAAC,WAAO,KAAKg7E,YAAL,CAAkB,QAAlB,EAA2Bh7E,CAA3B,CAAP;AAAqC;;AAAAi7E,EAAAA,cAAc,CAACj7E,CAAD,EAAG;AAAC,WAAO,KAAKg7E,YAAL,CAAkB,QAAlB,EAA2Bh7E,CAA3B,CAAP;AAAqC;;AAAMg7E,EAAAA,YAAY,CAACh7E,CAAD,EAAGD,CAAH,EAAK;AAAA;;AAAA;AAAC,YAAMG,CAAC,GAAC,QAAMH,CAAN,GAAQA,CAAC,CAAC26B,KAAV,GAAgB,IAAxB;AAAA,YAA6B/5B,CAAC,GAACT,CAAC,GAAC,KAAI,CAAC46E,cAAN,GAAqB,IAArD;;AAA0D,UAAG,QAAM56E,CAAT,EAAW;AAAC,cAAMF,CAAC,GAACW,CAAC,IAAET,CAAC,CAAC0Z,GAAF,CAAMjZ,CAAN,CAAX;AAAoB,YAAGX,CAAH,EAAK,OAAOA,CAAC,CAACO,KAAF,EAAP;AAAiB;;AAAA,YAAK;AAAC26E,QAAAA,qBAAqB,EAAC16E;AAAvB,gBAAgC,mIAArC;AAAgFF,MAAAA,qEAAC,CAACP,CAAD,CAAD;AAAK,YAAMa,CAAC,GAACJ,CAAC,CAAC,KAAD,EAAM;AAAC0F,QAAAA,MAAM,EAAC,KAAI,CAACA;AAAb,OAAN,EAA2BlG,CAA3B,EAA6BD,CAA7B,CAAT;AAAyCa,MAAAA,CAAC,CAACiD,KAAF,CAAS7D,CAAC,IAAE;AAACF,QAAAA,iEAAA,CAAY,KAAZ,EAAkByD,KAAlB,CAAwB,gBAAxB,EAAyC,oCAAzC,EAA8EvD,CAA9E;AAAiF,OAA9F;AAAiG,YAAMI,CAAC,SAAOQ,CAAd;AAAgB,aAAM,aAAWZ,CAAX,IAAc,eAAaI,CAAC,CAACiD,IAA7B,IAAmC,aAAWrD,CAAX,IAAc,UAAQI,CAAC,CAACiD,IAA3D,IAAiE,QAAMnD,CAAN,IAASA,CAAC,CAACsF,GAAF,CAAM7E,CAAN,EAAQP,CAAC,CAACG,KAAF,EAAR,CAAT,EAA4BH,CAA7F,IAAgG,IAAtG;AAAhW;AAA2c;;AAA/iC,CAAvB;AAAwkCJ,uDAAC,CAAC,CAACD,sFAAC,CAAC;AAAC8H,EAAAA,IAAI,EAAC;AAACpC,IAAAA,KAAK,EAAC,CAAC;AAAR;AAAN,CAAD,CAAF,CAAD,EAAwBvE,CAAC,CAAC+G,SAA1B,EAAoC,OAApC,EAA4C,KAAK,CAAjD,CAAD,EAAqDjI,uDAAC,CAAC,CAACD,sFAAC,CAAC;AAACsD,EAAAA,IAAI,EAAC6E,MAAN;AAAaL,EAAAA,IAAI,EAAC;AAACpC,IAAAA,KAAK,EAAC,CAAC;AAAR;AAAlB,CAAD,CAAF,CAAD,EAAoCvE,CAAC,CAAC+G,SAAtC,EAAgD,WAAhD,EAA4D,KAAK,CAAjE,CAAtD,EAA0HjI,uDAAC,CAAC,CAACD,sFAAC,CAAC;AAACsD,EAAAA,IAAI,EAAC7C,yDAAN;AAAQqH,EAAAA,IAAI,EAAC;AAACpC,IAAAA,KAAK,EAAC,CAAC;AAAR;AAAb,CAAD,CAAF,CAAD,EAA+BvE,CAAC,CAAC+G,SAAjC,EAA2C,QAA3C,EAAoD,KAAK,CAAzD,CAA3H,EAAuLjI,uDAAC,CAAC,CAACD,sFAAC,CAAC;AAACsD,EAAAA,IAAI,EAAC6E,MAAN;AAAaL,EAAAA,IAAI,EAAC;AAAC9D,IAAAA,IAAI,EAACnD,8DAAN;AAAQ6E,IAAAA,KAAK,EAACrF,8DAACA;AAAf;AAAlB,CAAD,CAAF,CAAD,EAA0Cc,CAAC,CAAC+G,SAA5C,EAAsD,UAAtD,EAAiE,KAAK,CAAtE,CAAxL,EAAiQjI,uDAAC,CAAC,CAACD,sFAAC,CAAC;AAACsD,EAAAA,IAAI,EAACrC,6DAAN;AAAQ6G,EAAAA,IAAI,EAAC;AAAC9D,IAAAA,IAAI,EAAC,CAAC;AAAP;AAAb,CAAD,CAAF,CAAD,EAA8B7C,CAAC,CAAC+G,SAAhC,EAA0C,WAA1C,EAAsD,KAAK,CAA3D,CAAlQ,EAAgUjI,uDAAC,CAAC,CAACD,sFAAC,CAAC;AAACsD,EAAAA,IAAI,EAAC6E,MAAN;AAAaL,EAAAA,IAAI,EAAC;AAACpC,IAAAA,KAAK,EAAC,CAAC;AAAR;AAAlB,CAAD,CAAF,CAAD,EAAoCvE,CAAC,CAAC+G,SAAtC,EAAgD,MAAhD,EAAuD,KAAK,CAA5D,CAAjU,EAAgYjI,uDAAC,CAAC,CAACE,4FAAC,CAAC;AAACi7E,EAAAA,oBAAoB,EAAC;AAAtB,CAAD,EAAoC;AAAChzE,EAAAA,QAAQ,EAAC,CAAC;AAAX,CAApC,CAAF,CAAD,EAAuDjH,CAAC,CAAC+G,SAAzD,EAAmE,MAAnE,EAA0E,KAAK,CAA/E,CAAjY,EAAmdjI,uDAAC,CAAC,CAACD,sFAAC,EAAF,CAAD,EAAOmB,CAAC,CAAC+G,SAAT,EAAmB,gBAAnB,EAAoC,IAApC,CAApd,EAA8f/G,CAAC,GAACJ,CAAC,GAACd,uDAAC,CAAC,CAACW,sFAAC,CAAC,6BAAD,CAAF,CAAD,EAAoCO,CAApC,CAAngB;AAA0iB,MAAME,CAAC,GAACF,CAAR;;;;;;;;;;;;;;;;;;;;;;;ACJlsE;AACA;AACA;AACA;AACuV,oBAAoB,6DAAC,CAAC,eAAe,yBAAyB,QAAQ,sFAAsF,uDAAC,EAAE,sFAAC,EAAE,qCAAqC,eAAe,kBAAkB,8BAA8B,uDAAC,EAAE,sFAAC,EAAE,YAAY,mCAAmC,uDAAC,EAAE,sFAAC,wCAAwC,UAA+B;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACJ7tB;AACA;AACA;AACA;AACsnB,MAAM,sBAAsB,qDAAC,CAAC,eAAe,yCAAyC,iDAAC,sBAAsB,2DAAC,qBAAqB,cAAc,qDAAqD,QAAQ,cAAc,MAAM,oDAAC,mCAAmC,oDAAC,cAAc,IAAI,uDAAC,EAAE,4FAAC,EAAE,YAAY,8BAA8B,uDAAC,EAAE,sFAAC,CAAC,oFAAC,+BAA+B,uDAAC,EAAE,sFAAC,CAAC,0EAAC,8BAA8B,uDAAC,EAAE,sFAAC,EAAE,KAAK,gEAAC,OAAO,UAAU,gCAAgC,uDAAC,EAAE,sFAAC,EAAE,YAAY,mCAAmC,uDAAC,EAAE,sFAAC,4CAA4C,UAA+B;;;;;;;;;;;;;;;;;;;;;;;;;ACJzsC;AACA;AACA;AACA;AAC2c,MAAM,sBAAsB,6DAAC,CAAC,eAAe,wBAAwB,iDAAC,UAAU,QAAQ,cAAc,MAAM,oDAAC,aAAa,IAAI,uDAAC,EAAE,sFAAC,CAAC,mFAAC,mCAAmC,uDAAC,EAAE,sFAAC,kDAAkD,UAA+B;;;;;;;;;;;;;;;;;;;;;;ACJvsB;AACA;AACA;AACA;AACgE,cAAc,eAAe,yBAAyB,6EAA6E,cAAc,eAAe,qDAAqD,kBAAkB,iCAAiC,cAAc,+CAA+C,cAAc,uCAAuC,SAAS,OAAO,gBAAgB,qDAAC,UAAU,KAAK,yDAAC,EAAE,OAAO,WAA+J;;;;;;;;;;;;;;;;;;;;;;;;;ACJnpB;AACA;AACA;AACA;AACA;AAA8B;AAAiD;AAA2C;AAA2E;AAAqN;;AAAkE,MAAMF,CAAC,GAAClB,CAAC,IAAE;AAAC,MAAG,CAACA,CAAJ,EAAM,OAAM,CAAC,CAAD,EAAG,CAAH,EAAK,CAAL,EAAO,CAAP,CAAN;AAAgB,QAAK;AAACC,IAAAA,CAAD;AAAGgC,IAAAA,CAAC,EAACvB,CAAL;AAAOmB,IAAAA,CAAC,EAAC3B,CAAT;AAAWI,IAAAA,CAAC,EAACF;AAAb,MAAgBJ,CAArB;AAAuB,SAAM,CAACC,CAAD,EAAGS,CAAH,EAAKR,CAAL,EAAO,MAAIE,CAAX,CAAN;AAAoB,CAA7E;;AAA8E,MAAMgB,CAAN,CAAO;AAA+B,SAAvB06E,uBAAuB,CAAC97E,CAAD,EAAGC,CAAH,EAAKS,CAAL,EAAO;AAAC,QAAGV,CAAC,IAAEC,CAAN,EAAQ;AAAC,UAAGD,CAAC,CAACoqE,aAAL,EAAmB;AAAC,YAAIlqE,CAAC,GAAC,CAAC,CAAP;;AAAS,aAAI,MAAMD,CAAV,IAAeS,CAAf,EAAiB,IAAGT,CAAC,CAACmqE,aAAF,KAAkBpqE,CAAC,CAACoqE,aAAvB,EAAqC;AAAClqE,UAAAA,CAAC,GAAC,CAAC,CAAH;AAAK;AAAM;;AAAA,YAAG,CAACA,CAAJ,EAAM,KAAI,MAAME,CAAV,IAAeH,CAAf,EAAiBG,CAAC,CAACgqE,aAAF,KAAkBpqE,CAAC,CAACoqE,aAApB,IAAmC1pE,CAAC,CAACoE,IAAF,CAAO1E,CAAP,CAAnC;AAA6C;;AAAA,cAAOJ,CAAC,CAACuD,IAAT;AAAe,aAAI,gBAAJ;AAAqB,aAAI,eAAJ;AAAoB,aAAI,kBAAJ;AAAuB,cAAGvD,CAAC,CAACsrE,OAAL,EAAa,KAAI,MAAMprE,CAAV,IAAeF,CAAC,CAACsrE,OAAjB,EAAyBlqE,CAAC,CAAC06E,uBAAF,CAA0B57E,CAA1B,EAA4BD,CAA5B,EAA8BS,CAA9B;AAAiC,cAAGV,CAAC,CAACusC,YAAL,EAAkB,KAAI,MAAMrsC,CAAV,IAAeF,CAAC,CAACusC,YAAjB,EAA8BnrC,CAAC,CAAC06E,uBAAF,CAA0B57E,CAA1B,EAA4BD,CAA5B,EAA8BS,CAA9B;AAAiC;;AAAM,aAAI,eAAJ;AAAoB;;AAAM,aAAI,gBAAJ;AAAqB,aAAI,kBAAJ;AAAuB,aAAI,mBAAJ;AAAwB,aAAI,cAAJ;AAAmB,aAAI,gBAAJ;AAAqB,aAAI,cAAJ;AAAmB,aAAI,iBAAJ;AAAsB,aAAI,iBAAJ;AAAsB,aAAI,oBAAJ;AAAyB,aAAI,kBAAJ;AAAuB,cAAGV,CAAC,CAACsrE,OAAL,EAAa,KAAI,MAAMprE,CAAV,IAAeF,CAAC,CAACsrE,OAAjB,EAAyBlqE,CAAC,CAAC06E,uBAAF,CAA0B57E,CAA1B,EAA4BD,CAA5B,EAA8BS,CAA9B;;AAAiC,cAAGV,CAAC,CAAC+7E,eAAF,IAAmB36E,CAAC,CAAC06E,uBAAF,CAA0B97E,CAAC,CAAC+7E,eAA5B,EAA4C97E,CAA5C,EAA8CS,CAA9C,CAAnB,EAAoE,sBAAoBV,CAAC,CAACuD,IAA7F,EAAkG;AAAC,gBAAGvD,CAAC,CAACg8E,cAAL,EAAoB,KAAI,MAAM97E,CAAV,IAAeF,CAAC,CAACg8E,cAAjB,EAAgC56E,CAAC,CAAC06E,uBAAF,CAA0B57E,CAA1B,EAA4BD,CAA5B,EAA8BS,CAA9B,GAAiCU,CAAC,CAAC06E,uBAAF,CAA0B57E,CAAC,CAACosC,MAA5B,EAAmCrsC,CAAnC,EAAqCS,CAArC,CAAjC;AAAyE,WAAhO,MAAoO,yBAAuBV,CAAC,CAACuD,IAAzB,GAA8BnC,CAAC,CAAC06E,uBAAF,CAA0B97E,CAAC,CAACssC,MAA5B,EAAmCrsC,CAAnC,EAAqCS,CAArC,CAA9B,GAAsE,mBAAiBV,CAAC,CAACuD,IAAnB,GAAwBnC,CAAC,CAAC06E,uBAAF,CAA0B97E,CAAC,CAAC2pE,UAA5B,EAAuC1pE,CAAvC,EAAyCS,CAAzC,CAAxB,GAAoE,uBAAqBV,CAAC,CAACuD,IAAvB,IAA6BnC,CAAC,CAAC06E,uBAAF,CAA0B97E,CAAC,CAACi8E,wBAA5B,EAAqDh8E,CAArD,EAAuDS,CAAvD,CAAvK;;AAA7wB;AAA++B;AAAC;;AAA0B,SAAnBw7E,mBAAmB,CAACl8E,CAAD,EAAGC,CAAH,EAAK;AAAC,QAAG,CAACD,CAAJ,EAAM,OAAO,IAAP;AAAY,QAAG,+BAA6BA,CAAC,CAACuD,IAA/B,IAAqCnD,sEAAC,CAACJ,CAAD,CAAtC,EAA0C,CAACC,CAAD,IAAI,CAACD,CAAC,CAACoqE,aAApD,EAAkE,OAAM;AAAC7mE,MAAAA,IAAI,EAAC,kBAAN;AAAyB44E,MAAAA,MAAM,EAACn8E,CAAhC;AAAkCo8E,MAAAA,SAAS,EAAC;AAA5C,KAAN;AAAsD,UAAM17E,CAAC,GAACF,2DAAC,CAACR,CAAD,CAAT;AAAA,UAAaE,CAAC,GAACF,CAAC,CAACoqE,aAAjB;AAAA,UAA+BppE,CAAC,GAAC,EAAjC;;AAAoC,SAAI,MAAMZ,CAAV,IAAeH,CAAf,EAAiBG,CAAC,CAACgqE,aAAF,KAAkBlqE,CAAlB,IAAqBc,CAAC,CAAC8D,IAAF,CAAOtE,2DAAC,CAACJ,CAAD,CAAR,CAArB;;AAAkC,WAAM;AAACmD,MAAAA,IAAI,EAAC,kBAAN;AAAyB44E,MAAAA,MAAM,EAACz7E,CAAhC;AAAkC07E,MAAAA,SAAS,EAAC97E,0EAAC,CAACU,CAAD;AAA7C,KAAN;AAAwD;;AAAmC,SAAtBq7E,sBAAsB,CAACr8E,CAAD,EAAGC,CAAH,EAAKC,CAAL,EAAOE,CAAP,EAASI,CAAT,EAAWF,CAAX,EAAaO,CAAb,EAAe;AAAA;AAAC,UAAG,CAACb,CAAC,EAAEssC,MAAP,EAAc,OAAO,IAAP;AAAY,UAAG;AAACA,QAAAA,MAAM,EAAC3rC,CAAR;AAAU6qE,QAAAA,kBAAkB,EAAC1qE;AAA7B,UAAgCd,CAAnC;AAAqC,YAAM4B,CAAC,GAAC,CAAC,CAACd,CAAV;AAAY,UAAG,CAACc,CAAD,IAAI,CAACxB,CAAR,EAAU,OAAOO,CAAP;AAASA,MAAAA,CAAC,GAACD,oDAAC,CAACC,CAAD,CAAH,EAAOG,CAAC,GAACJ,oDAAC,CAACI,CAAD,CAAV;AAAc,UAAII,CAAC,GAAC,CAAC,CAAP;;AAAS,UAAGjB,CAAC,KAAGA,CAAC,GAAC;AAACsxC,QAAAA,UAAU,EAAC;AAAZ,OAAF,EAAkBrwC,CAAC,GAAC,CAAC,CAAxB,CAAD,EAA4BU,CAA/B,EAAiC;AAAC,YAAGV,CAAC,KAAGJ,CAAC,GAACA,CAAC,CAAC6F,MAAF,CAAU3G,CAAC,IAAE,CAACA,CAAC,CAAC+5E,mBAAF,EAAuBvtE,UAAvB,CAAkCslB,QAAlC,CAA2C,UAA3C,CAAd,CAAL,CAAD,EAA8EjxB,CAAC,KAAGC,CAAC,GAACA,CAAC,CAAC6F,MAAF,CAAU3G,CAAC,IAAE,CAACA,CAAC,CAAC+5E,mBAAF,EAAuBvtE,UAAvB,CAAkCslB,QAAlC,CAA2C,OAA3C,CAAd,CAAL,CAA/E,EAAyJhxB,CAAC,CAAC+M,MAAF,GAAS,CAArK,EAAuK;AAAC,gBAAM7N,CAAC,GAAC;AAAC4C,YAAAA,gBAAgB,EAAC1C,CAAlB;AAAoBqM,YAAAA,MAAM,EAACvL,6DAAC,CAACf,CAAC,CAACsxC,UAAH,CAA5B;AAA2CvG,YAAAA,YAAY,EAACxqC;AAAxD,WAAR;AAAmE,gBAAMY,CAAC,CAACk7E,uBAAF,CAA0Bx7E,CAA1B,EAA4Bd,CAA5B,CAAN,EAAqCoB,CAAC,CAACm7E,iBAAF,CAAoBz7E,CAApB,EAAsBb,CAAtB,EAAwBO,CAAC,IAAE,mBAA3B,EAA+CF,CAA/C,EAAiDO,CAAjD,CAArC;AAAyF;;AAAAO,QAAAA,CAAC,CAACo7E,cAAF,CAAiB77E,CAAjB,EAAmBG,CAAnB;AAAsB;;AAAA,aAAOV,CAAC,IAAEgB,CAAC,CAAC+pE,4BAAF,CAA+BxqE,CAA/B,EAAiCV,CAAjC,EAAmCG,CAAnC,EAAqC,IAArC,CAAH,EAA8CO,CAArD;AAAlf;AAAyiB;;AAAoC,SAAvB27E,uBAAuB,CAACt8E,CAAD,EAAGC,CAAH,EAAK;AAAA;AAAC,YAAMS,CAAC,GAAC,EAAR;;AAAW,WAAI,MAAMN,CAAV,IAAeJ,CAAf,EAAiB;AAAC,cAAMA,CAAC,GAACI,CAAC,CAAC25E,mBAAV;AAA8B,YAAG,CAAC/5E,CAAD,IAAIoB,CAAC,CAACq7E,6BAAF,CAAgCptE,GAAhC,CAAoCrP,CAAC,CAACwM,UAAtC,CAAP,EAAyD;AAAS,cAAMhM,CAAC,GAACN,oFAAC,CAACF,CAAC,CAACwM,UAAH,EAAcvM,CAAC,CAAC2C,gBAAhB,EAAiC3C,CAAC,CAACsM,MAAnC,CAAT;AAAoD7L,QAAAA,CAAC,CAACoE,IAAF,CAAOtE,CAAP,GAAUA,CAAC,CAACwF,IAAF,CAAQ/F,CAAC,IAAEmB,CAAC,CAACq7E,6BAAF,CAAgC/2E,GAAhC,CAAoC1F,CAAC,CAACwM,UAAtC,EAAiDvM,CAAjD,CAAX,CAAV;AAA2E;;AAAAS,MAAAA,CAAC,CAACmN,MAAF,GAAS,CAAT,WAAkBxI,OAAO,CAACc,GAAR,CAAYzF,CAAZ,CAAlB;AAA7P;AAA8R;;AAAwB,SAAjB67E,iBAAiB,CAACv8E,CAAD,EAAGU,CAAH,EAAKR,CAAL,EAAOE,CAAP,EAASI,CAAT,EAAW;AAAC,UAAMF,CAAC,GAAC;AAAC0qE,MAAAA,KAAK,EAAC;AAACzyD,QAAAA,KAAK,EAAC/X,CAAC,EAAE+X;AAAV;AAAP,KAAR;;AAAiC,SAAI,MAAMvX,CAAV,IAAehB,CAAf,EAAiB;AAACgB,MAAAA,CAAC,CAAC0M,KAAF,IAAS,YAAU,OAAO1M,CAAC,CAAC0M,KAA5B,IAAmCzN,0DAAC,CAACe,CAAC,CAAC0M,KAAH,CAApC,KAAgD,YAAU1M,CAAC,CAACqpE,YAAZ,IAA0B,kBAAgBrpE,CAAC,CAACqpE,YAA5F,MAA4GrpE,CAAC,CAAC0M,KAAF,GAAQxM,CAAC,CAACF,CAAC,CAAC0M,KAAH,CAArH;AAAgI,YAAM1N,CAAC,GAACgB,CAAC,CAAC+4E,mBAAV;AAA8B,UAAG,CAAC/5E,CAAJ,EAAM;;AAAS,YAAMQ,CAAC,GAACY,CAAC,CAACq7E,6BAAF,CAAgC3iE,GAAhC,CAAoC9Z,CAAC,CAACwM,UAAtC,CAAR;;AAA0DhM,MAAAA,CAAC,KAAGQ,CAAC,CAAC0M,KAAF,GAAQ9L,yFAAC,CAACpB,CAAD,EAAGE,CAAH,EAAKJ,CAAL,EAAOJ,CAAP,EAASE,CAAT,CAAZ,CAAD;AAA0B;AAAC;;AAAmC,SAA5B+qE,4BAA4B,CAACnrE,CAAD,EAAGC,CAAH,EAAKS,CAAL,EAAOR,CAAP,EAASE,CAAC,GAAC,QAAX,EAAoB;AAAC,QAAGJ,CAAC,EAAEuD,IAAN,EAAW,QAAOvD,CAAC,CAACuD,IAAT;AAAe,WAAI,gBAAJ;AAAqB,WAAI,eAAJ;AAAoB,WAAI,kBAAJ;AAAuB,WAAI,eAAJ;AAAoB;AAAC,gBAAM/C,CAAC,GAACR,CAAC,CAACusC,YAAV;AAAuB,cAAG,CAAC/rC,CAAJ,EAAM;;AAAO,eAAI,MAAMF,CAAV,IAAeE,CAAf,EAAiBF,CAAC,IAAE,sBAAoBA,CAAC,CAACiD,IAAzB,IAA+BnC,CAAC,CAAC+pE,4BAAF,CAA+B7qE,CAA/B,EAAiCL,CAAjC,EAAmCS,CAAnC,EAAqCR,CAArC,EAAuC,oBAAkBF,CAAC,CAACuD,IAApB,GAAyBvD,CAAC,CAAC08E,QAA3B,GAAoCt8E,CAA3E,CAA/B;AAA6G;AAAA;;AAAM,WAAI,iBAAJ;AAAsB;AAAC,gBAAMA,CAAC,GAACJ,CAAC,CAACg8E,cAAV;AAAyB,cAAG,CAAC57E,CAAJ,EAAM;;AAAO,eAAI,MAAMJ,CAAV,IAAeI,CAAf,EAAiBJ,CAAC,IAAEoB,CAAC,CAAC+pE,4BAAF,CAA+BnrE,CAA/B,EAAiCC,CAAjC,EAAmCS,CAAnC,EAAqCR,CAArC,CAAH;AAA2C;AAAA;;AAAM,WAAI,kBAAJ;AAAuB;AAAC,gBAAMM,CAAC,GAACR,CAAC,CAAC28E,UAAV;;AAAqB,cAAGn8E,CAAC,IAAEA,CAAC,CAACsxB,QAAF,CAAW,GAAX,CAAN,EAAsB;AAAC,kBAAMxxB,CAAC,GAACO,2DAAC,CAACL,CAAD,EAAGE,CAAH,CAAT;AAAeV,YAAAA,CAAC,CAAC28E,UAAF,GAAah8E,sEAAC,CAACV,CAAD,EAAGK,CAAH,EAAKJ,CAAL,EAAOE,CAAP,CAAd;AAAwB;AAAC;AAAvf;AAAyf;;AAAqB,SAAdo8E,cAAc,CAACx8E,CAAD,EAAGC,CAAH,EAAKS,CAAL,EAAOR,CAAP,EAAS;AAAC,QAAGF,CAAC,CAACoqE,aAAL,EAAmB,KAAI,MAAMhqE,CAAV,IAAeH,CAAf,EAAiB,IAAGG,CAAC,CAACgqE,aAAF,KAAkBpqE,CAAC,CAACoqE,aAAvB,EAAqC;AAAC,YAAMnqE,CAAC,GAACa,uDAAC,CAACV,CAAC,CAACiqE,YAAH,CAAT;;AAA0B,UAAGnqE,CAAC,IAAEA,CAAC,CAAC4E,IAAF,CAAO;AAAC83E,QAAAA,GAAG,EAAC58E,CAAL;AAAO68E,QAAAA,iBAAiB,EAAC58E,CAAzB;AAA2ByN,QAAAA,KAAK,EAAC1N,CAAC,CAACC,CAAD;AAAlC,OAAP,CAAH,EAAkDS,CAArD,EAAuD;AAAC,YAAIT,CAAC,GAAC,CAAC,CAAP;;AAAS,aAAI,MAAMC,CAAV,IAAeQ,CAAf,EAAiBR,CAAC,CAACkqE,aAAF,KAAkBpqE,CAAC,CAACoqE,aAApB,KAAoCnqE,CAAC,GAAC,CAAC,CAAvC;;AAA0CA,QAAAA,CAAC,IAAES,CAAC,CAACoE,IAAF,CAAO1E,CAAP,CAAH;AAAa;;AAAA,cAAMA,CAAC,CAACsN,KAAR,KAAgB1N,CAAC,CAACC,CAAD,CAAD,GAAKG,CAAC,CAACsN,KAAvB;AAA8B;;AAAA,YAAO1N,CAAC,CAACuD,IAAT;AAAe,WAAI,gBAAJ;AAAqB,WAAI,eAAJ;AAAoB,WAAI,kBAAJ;AAAuB,YAAGvD,CAAC,CAACsrE,OAAL,EAAa,KAAI,MAAMlrE,CAAV,IAAeJ,CAAC,CAACsrE,OAAjB,EAAyBlqE,CAAC,CAACo7E,cAAF,CAAiBp8E,CAAjB,EAAmBH,CAAnB,EAAqBS,CAArB,EAAuBR,CAAvB;AAA0B,YAAGF,CAAC,CAACusC,YAAL,EAAkB,KAAI,MAAMnsC,CAAV,IAAeJ,CAAC,CAACusC,YAAjB,EAA8BnrC,CAAC,CAACo7E,cAAF,CAAiBp8E,CAAjB,EAAmBH,CAAnB,EAAqBS,CAArB,EAAuBR,CAAvB;AAA0B;;AAAM,WAAI,eAAJ;AAAoB;;AAAM,WAAI,gBAAJ;AAAqB,WAAI,cAAJ;AAAmB,WAAI,iBAAJ;AAAsB,YAAGF,CAAC,CAACsrE,OAAL,EAAa,KAAI,MAAMlrE,CAAV,IAAeJ,CAAC,CAACsrE,OAAjB,EAAyBlqE,CAAC,CAACo7E,cAAF,CAAiBp8E,CAAjB,EAAmBH,CAAnB,EAAqBS,CAArB,EAAuBR,CAAvB;AAA0B,YAAG,sBAAoBF,CAAC,CAACuD,IAAtB,IAA4BvD,CAAC,CAACg8E,cAAjC,EAAgD,KAAI,MAAM57E,CAAV,IAAeJ,CAAC,CAACg8E,cAAjB,EAAgC56E,CAAC,CAACo7E,cAAF,CAAiBp8E,CAAjB,EAAmBH,CAAnB,EAAqBS,CAArB,EAAuBR,CAAvB,GAA0BkB,CAAC,CAACo7E,cAAF,CAAiBp8E,CAAC,CAACksC,MAAnB,EAA0BrsC,CAA1B,EAA4BS,CAA5B,EAA8BR,CAA9B,CAA1B;AAAvc;AAAmgB;;AAAuB,SAAhB48E,gBAAgB,CAAC98E,CAAD,EAAG;AAAC,SAAI,MAAMC,CAAV,IAAeD,CAAf,EAAiBC,CAAC,CAAC28E,GAAF,CAAM38E,CAAC,CAAC48E,iBAAR,IAA2B58E,CAAC,CAACyN,KAA7B;AAAmC;;AAAuB,SAAhBqvE,gBAAgB,CAAC/8E,CAAD,EAAG;AAAC,QAAIC,CAAC,GAAC,EAAN;;AAAS,SAAI,MAAMS,CAAV,IAAeV,CAAf,EAAiB,KAAK,CAAL,KAASU,CAAC,CAACgN,KAAX,KAAmBzN,CAAC,IAAG,GAAES,CAAC,CAAC0pE,aAAc,GAAE1pE,CAAC,CAAC2pE,YAAa,GAAE5jD,IAAI,CAACC,SAAL,CAAehmB,CAAC,CAACgN,KAAjB,CAAwB,EAApF;;AAAuF,WAAOzN,CAAP;AAAS;;AAAc,SAAP+8E,OAAO,CAAC/8E,CAAD,EAAGS,CAAH,EAAK;AAAC,QAAG,mBAAiBT,CAApB,EAAsB,OAAOS,CAAC,CAAC8P,KAAF,CAAQ,GAAR,EAAajL,GAAb,CAAkBvF,CAAC,IAAE+J,MAAM,CAAC/J,CAAD,CAA3B,CAAP;;AAAwC,QAAG,YAAUC,CAAb,EAAe;AAAC,YAAMA,CAAC,GAAC,IAAID,iDAAJ,CAAMU,CAAN,EAASypE,MAAT,EAAR;AAA0B,aAAOlqE,CAAC,CAAC,CAAD,CAAD,IAAM,GAAN,EAAUA,CAAjB;AAAmB;;AAAA,WAAOS,CAAP;AAAS;;AAA59I;;AAA69IU,CAAC,CAACq7E,6BAAF,GAAgC,IAAI9pE,GAAJ,EAAhC;;;;;;;;;;;;;;;;;;ACJ9gK;AACA;AACA;AACA;AACoF,SAAS,iIAAiI,IAAI,iBAAiB,6JAA6J,mBAAmB,8IAA8I,gBAAgB,kRAAkR,iBAAiB,iFAAiF,mBAAmB,uGAAuG,oBAAoB,iFAAiF,eAAe,yBAAyB,iBAAiB,iGAAiG,eAAe,qEAAqE,qCAAqC,mBAAmB,0BAA0B,8BAA8B,2BAA2B,OAAO,wBAAwB,0CAA0C,2BAA2B,qEAAqE,0BAA0B,2CAA2C,wBAAwB,gCAAgC,uCAAuC,oBAAoB,yBAAyB,qBAAqB,2BAA2B,uCAAuC,2BAA2B,SAAS,0BAA0B,oCAAoC,yBAAyB,6CAA6C,8BAA8B,qGAAqG,kCAAkC,oEAAoE,qCAAqC,mEAAmE,kCAAkC,mIAAmI,2BAA2B,mEAAmE,+BAA+B,8GAA8G,kCAAkC,yDAAyD,8BAA8B,8JAA8J,oEAAM,sBAAsB,sEAAQ,CAAC,yBAAyB,UAAU,0BAA0B,cAAc,0BAA0B,wBAAwB,iCAAiC,iBAAiB,6BAA6B,aAAa,2BAA2B,sBAAyE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACJh+G;AACA;AACA;AACA;AACA,wIAAwI,aAAa,wFAAwF,SAAS,eAAe,wFAAwF,SAAS,eAAe,wCAAwC,SAAS,eAAe,sEAAsE,SAAS,eAAe,wEAAwE,SAAS,eAAe,kDAAkD,SAAS,eAAe,qFAAqF,SAAS,eAAe,oDAAoD,SAAS,eAAe,+IAA+I,SAAS,eAAe,0CAA0C,SAAS,eAAe,oDAAoD,SAAS,eAAe,gFAAgF,SAAS,eAAe,uCAAuC,SAAS,eAAe,mDAAmD,SAAS,eAAe,2FAA2F,SAAS,eAAe,2GAA2G,SAAS,eAAe,mDAAmD,SAAS,eAAe,mFAAmF,SAAS,eAAe,qEAAqE,SAAS,eAAe,wDAAwD,SAAS,eAAe,4DAA4D,SAAS,eAAe,82DAA82D,SAAS,eAAe,0GAA0G,SAAS,eAAe,oFAAoF,SAAS,eAAe,4DAA4D,SAAS,eAAe,gFAAgF,SAAS,eAAe,oCAAoC,SAAS,eAAe,4DAA4D,SAAS,eAAe,0EAA0E,SAAS,eAAe,iEAAiE,SAAS,eAAe,gGAAgG,SAAS,eAAe,8GAA8G,SAAS,eAAe,0DAA0D,SAAS,eAAe,4DAA4D,SAAS,eAAe,wFAAwF,SAAS,eAAe,uMAAuM,SAAS,eAAe,gDAAgD,SAAS,eAAe,gJAAgJ,SAAS,eAAe,yJAAyJ,SAAS,eAAe,mFAAmF,SAAS,eAAe,gDAAgD,SAAS,eAAe,yEAAyE,SAAS,eAAe,+HAA+H,SAAS,eAAe,uEAAuE,SAAS,eAAe,wLAAwL,SAAS,eAAe,oIAAoI,SAAS,eAAe,8EAA8E,SAAS,eAAe,kHAAkH,SAAS,eAAe,8FAA8F,SAAS,eAAe,2DAA2D,SAAS,eAAe,sEAAsE,SAAS,eAAe,+JAA+J,SAAS,eAAe,4CAA4C,SAAS,eAAe,gJAAgJ,SAAS,eAAe,sDAAsD,WAAW,eAAe,6EAA6E,WAAW,eAAe,kCAAkC,WAAW,eAAe,kDAAkD,WAAW,eAAe,0FAA0F,WAAW,eAAe,8CAA8C,WAAW,eAAe,iEAAiE,WAAW,eAAe,8FAA8F,WAAW,GAAu+C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACJ/yT;AACA;AACA;AACA;AAC8E,cAAc,2BAA2B,oBAAoB,uBAAuB,cAAc,wBAAwB,iBAAiB,cAAc,eAAe,KAAK,IAAI,sCAAsC,SAAS,gBAAgB,WAAW,aAAa,GAAG,4BAA4B,QAAQ,qBAAqB,sBAAsB,kCAAkC,QAAQ,wBAAwB,uBAAuB,QAAQ,cAAc,eAAe,mBAAmB,sBAAsB,SAAS,oBAAoB,gBAAgB,kBAAkB,eAAe,mCAAmC,KAAK,QAAQ,oBAAoB,wBAAwB,4BAA4B,cAAc,gBAAgB,4CAA4C,uCAAuC,qCAAqC,kBAAkB,6BAA6B,oDAAoD,YAAY,IAAI,gBAAgB,IAAI,KAAK,4BAA4B,gCAAgC,iBAAiB,0BAA0B,UAAU,KAAK,8CAA8C,0BAA0B,UAAU,KAAK,2BAA2B,yBAAyB,0IAA0I,2CAA2C,cAAc,6CAA6C,cAAc,4BAA4B,cAAc,8LAA8L,cAAc,2FAA2F,cAAc,mJAAmJ,cAAc,8XAA8X,gIAAgI,eAAe,gCAAgC,qGAAqG,UAAU,aAAa,OAAO,yPAA8C,CAAC,cAAc,qBAAqB,wBAAwB,4BAA4B,8BAA8B,wBAAwB,cAAc,qBAAqB,wBAAwB,wBAAwB,4BAA4B,8BAA8B,wBAAwB,cAAc,0BAA0B,MAAM,wBAAwB,oIAAoI,OAAO,kBAAkB,cAAc,qEAAqE,cAAc,kBAAkB,eAAe,wEAAwE,aAAa,oBAAoB,MAAM,uCAAuC,kCAAkC,YAAY,cAAc,oBAAoB,4CAA4C,uBAAuB,uBAAuB,aAAa,oBAAoB,MAAM,uCAAuC,qCAAqC,cAAc,oBAAoB,4FAA4F,aAAa,uBAAuB,MAAM,uCAAuC,oFAAoF,cAAc,UAAU,gCAAgC,0BAA0B,2CAA2C,cAAc,UAAU,8BAA8B,4BAA4B,gCAAgC,6BAA6B,cAAc,sCAAsC,sFAAsF,IAAI,4CAA4C,cAAc,kBAAkB,eAAe,mEAAmE,iDAAiD,mDAAmD,qBAAqB,cAAc,gDAAgD,6BAA6B,MAAM,QAAQ,GAAG,wBAAwB,UAAU,yHAAyH,MAAM,QAAQ,6DAA6D,oCAAoC,OAAO,gDAAgD,cAAc,oBAAoB,8CAA8C,iBAAiB,uBAAuB,8BAA8B,gBAAgB,4GAA4G,iEAAC,KAAK,QAAQ,kEAAC,IAAI,+DAA+D,EAAE,IAAI,YAAY,cAAc,wCAAwC,cAAc,gCAAgC,cAAc,6DAA6D,cAAc,0BAA0B,eAAe,gDAAgD,iEAAiE,uBAAuB,qBAAqB,2DAA2D,MAAM,uBAAuB,yBAAyB,qBAAqB,iDAAiD,eAAe,cAAc,oBAAoB,oCAAoC,sBAAsB,QAAQ,oEAAoE,qHAAqH,gBAAgB,uFAAsB,CAAC,WAAW,OAAO,SAAS,4CAA4C,QAAQ,oEAAoE,qEAAqE,gBAAgB,oBAAoB,MAAM,gKAAgK,gBAAgB,uFAAsB,CAAC,WAAW,MAAM,sBAAsB,iBAAiB,qBAAqB,WAAW,gBAAgB,aAAa,iBAAiB,kBAAkB,SAAS,cAAc,mBAAmB,oCAAoC,IAAI,cAAc,WAAW,kBAAkB,aAAa,UAAU,SAAS,sBAAsB,sBAAsB,MAAM,oBAAoB,8BAA8B,aAAa,sBAAsB,sBAAsB,MAAM,wCAAwC,aAAa,kBAAkB,iBAAiB,kBAAkB,oGAAoG,cAAc,+MAA+M,2BAA2B,YAAY,aAAa,sJAAsJ,qCAAqC,gBAAgB,wCAAwC,QAAQ,oDAAoD,MAAM,6EAA6E,EAAE,KAAK,SAA8+B;;;;;;;;;;;;;;;;;;;;;;;;;;ACJ1tS;AACA;AACA;AACA;AACqhB,oBAAoB,6DAAC,CAAC,eAAe,wBAAwB,iDAAC,6CAA6C,2DAAC,IAAI,SAAS,kBAAkB,OAAO,MAAM,oDAAC,oEAAoE,uDAAC,EAAE,sFAAC,EAAE,0CAA0C,eAAe,kBAAkB,8BAA8B,uDAAC,EAAE,sFAAC,CAAC,mFAAC,+BAA+B,uDAAC,EAAE,sFAAC,EAAE,GAAG,yEAAC,OAAO,OAAO,oBAAoB,YAAY,IAAI,yCAAyC,uDAAC,EAAE,sFAAC,CAAC,yEAAC,gCAAgC,uDAAC,EAAE,sFAAC,mCAAmC,UAA+B;;;;;;;;;;;;;;;;;;;;;;;;ACJvlC;AACA;AACA;AACA;AAC6V,MAAM,sBAAsB,mDAAC,CAAC,eAAe,4BAA4B,QAAQ,uCAAuC,uDAAC,EAAE,4FAAC,EAAE,gBAAgB,EAAE,YAAY,kCAAkC,uDAAC,EAAE,sFAAC,yCAAyC,UAA+B;;;;;;;;;;;;;;;;;;;;;;;;ACJvmB;AACA;AACA;AACA;AAC6V,MAAM,sBAAsB,mDAAC,CAAC,eAAe,2BAA2B,QAAQ,uCAAuC,uDAAC,EAAE,4FAAC,EAAE,cAAc,EAAE,YAAY,kCAAkC,uDAAC,EAAE,sFAAC,wCAAwC,UAA+B;;;;;;;;;;;;;;;;;;;ACJnmB;AACA;AACA;AACA;AAC+F,SAAS,OAAO,gBAAgB,mDAAC,UAAU,MAAM,wDAAC,QAAQ,yDAAC,EAAE,OAAO,WAA8C;;;;;;;;;;;;;;;;;;;;;;;ACJjN;AACA;AACA;AACA;AACuV,oBAAoB,6DAAC,CAAC,eAAe,SAAS,QAAQ,0FAA0F,uDAAC,EAAE,sFAAC,EAAE,iCAAiC,eAAe,kBAAkB,gCAAgC,uDAAC,EAAE,sFAAC,4CAA4C,UAA+B;;;;;;;;;;;;;;;;;;;;;;;;;;ACJ9pB;AACA;AACA;AACA;AACgf,MAAM,QAAQ,wDAAC,IAAI,+RAA+R,EAAE,sBAAsB,yDAAC,CAAC,eAAe,8CAA8C,QAAQ,SAAS,kBAAkB,kBAAkB,uDAAC,EAAE,sFAAC,EAAE,eAAe,8BAA8B,uDAAC,EAAE,4FAAC,IAAI,sFAAC,EAAE,KAAK,sDAAC,CAAC,mCAAmC,uDAAC,EAAE,sFAAC,iDAAiD,UAA+B;;;;;;;;;;;;;;;;;;;;;;;ACJ1mC;AACA;AACA;AACA;AACuV,oBAAoB,6DAAC,CAAC,eAAe,2BAA2B,QAAQ,sFAAsF,uDAAC,EAAE,sFAAC,EAAE,iCAAiC,eAAe,kBAAkB,gCAAgC,uDAAC,EAAE,sFAAC,wCAAwC,UAA+B;;;;;;;;;;;;;;;;;;;;;;;;ACJxqB;AACA;AACA;AACA;AACwV,MAAM,sBAAsB,qDAAC,CAAC,eAAe,8CAA8C,QAAQ,cAAc,iBAAiB,IAAI,uDAAC,EAAE,sFAAC,EAAE,eAAe,8BAA8B,uDAAC,EAAE,sFAAC,EAAE,KAAK,kDAAC,OAAO,kBAAkB,mCAAmC,uDAAC,EAAE,sFAAC,6CAA6C,UAA+B;;;;;;;;;;;;;;;;ACJzqB;AACA;AACA;AACA;AACA,gKAAwL;;;;;;;;;;;;;;;;ACJxL;AACA;AACA;AACA;AACA,iHAAsI;;;;;;;;;;;;;;;;;;;;;ACJtI;AACA;AACA;AACA;AAC0I,SAAS,OAAO,gBAAgB,qDAAC,UAAU,MAAM,0DAAC,EAAE,OAAO,UAAU,IAAI,OAAO,gBAAgB,yDAAC,UAAU,MAAM,8DAAC,EAAE,OAAO,WAAiF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACJtV;AACA;AACA;AACA;AAC2rB,MAAM,QAAQ,wDAAC,IAAI,uIAAuI,QAAQ,qDAAC,EAAE,gGAAgG,EAAE,sBAAsB,6DAAC,CAAC,eAAe,0BAA0B,+BAA+B,qEAAqE,eAAe,QAAQ,oCAAoC,eAAe,8CAA8C,QAAQ,EAAE,WAAW,MAAM,iCAAiC,MAAM,oGAAoG,YAAY,yBAAyB,YAAY,oBAAoB,WAAW,2FAA2F,QAAQ,cAAc,4IAA4I,EAAE,UAAU,uEAAuE,2DAAC,uDAAuD,uDAAC,EAAE,sFAAC,EAAE,KAAK,kEAAC,OAAO,UAAU,+CAA+C,uDAAC,EAAE,kFAAC,uHAAuH,uDAAC,EAAE,mFAAC,0BAA0B,uBAAuB,KAAK,kEAAC,CAAC,4BAA4B,UAAU,kDAAkD,uDAAC,EAAE,sFAAC,EAAE,sCAAsC,qCAAqC,+BAA+B,4BAA4B,uDAAC,EAAE,sFAAC,EAAE,kBAAkB,UAAU,gCAAgC,uDAAC,EAAE,sFAAC,EAAE,KAAK,oEAAC,OAAO,uCAAuC,gCAAgC,uDAAC,EAAE,sFAAC,2CAA2C,UAA+B;;;;;;;;;;;;;;;;;;;;;;;;;;;ACJ9iF;AACA;AACA;AACA;AACA;AAA8C;AAAwD;AAA6E;AAA0B;AAA6B;AAAgC;AAA6E;AAA6E,IAAIjS,CAAJ;AAAM,IAAII,CAAC,GAACJ,CAAC,GAAC,cAAcN,6DAAd,CAAe;AAACqC,EAAAA,WAAW,CAACxC,CAAD,EAAG;AAAC,UAAMA,CAAN;AAAS;;AAAM4O,EAAAA,qBAAqB,CAAC5O,CAAD,EAAGG,CAAH,EAAK;AAAA;;AAAA;AAAC,aAAOF,sFAAC,CAACD,CAAD,EAAGG,CAAH,EAAK,KAAI,CAACoM,UAAV,CAAR;AAAD;AAA+B;;AAAA/L,EAAAA,KAAK,GAAE;AAAC,WAAO,IAAIC,CAAJ,CAAM;AAAC8L,MAAAA,UAAU,EAAC,KAAKA,UAAjB;AAA4BzJ,MAAAA,KAAK,EAAC,KAAKA;AAAvC,KAAN,CAAP;AAA4D;;AAAAse,EAAAA,MAAM,CAACphB,CAAD,EAAG;AAAC,WAAO,KAAKuM,UAAL,KAAkBvM,CAAC,CAACuM,UAApB,IAAgC,KAAKzJ,KAAL,KAAa9C,CAAC,CAAC8C,KAAtD;AAA4D;;AAAlO,CAAvB;AAA2P9C,uDAAC,CAAC,CAACD,sFAAC,CAAC;AAACuD,EAAAA,IAAI,EAAC6E,MAAN;AAAaL,EAAAA,IAAI,EAAC;AAACpC,IAAAA,KAAK,EAAC,CAAC;AAAR;AAAlB,CAAD,CAAF,CAAD,EAAoC7E,CAAC,CAACqH,SAAtC,EAAgD,YAAhD,EAA6D,KAAK,CAAlE,CAAD,EAAsElI,uDAAC,CAAC,CAACD,sFAAC,CAAC;AAACuD,EAAAA,IAAI,EAAC6E,MAAN;AAAaL,EAAAA,IAAI,EAAC;AAACpC,IAAAA,KAAK,EAAC,CAAC;AAAR;AAAlB,CAAD,CAAF,CAAD,EAAoC7E,CAAC,CAACqH,SAAtC,EAAgD,OAAhD,EAAwD,KAAK,CAA7D,CAAvE,EAAuIrH,CAAC,GAACJ,CAAC,GAACT,uDAAC,CAAC,CAACO,sFAAC,CAAC,4CAAD,CAAF,CAAD,EAAmDM,CAAnD,CAA5I;AAAkM,MAAMH,CAAC,GAACG,CAAR;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACJv2B;AACA;AACA;AACA;AACiwB,MAAM,QAAQ,wDAAC,IAAI,oFAAoF,EAAE,sBAAsB,6DAAC,CAAC,eAAe,SAAS,gBAAgB,SAAS,kEAAC,gBAAgB,mBAAmB,IAAI,iEAAC,wBAAwB,kEAAC,MAAM,6DAAC,kBAAkB,4DAAC,YAAY,QAAQ,cAAc,wCAAwC,IAAI,uDAAC,EAAE,sFAAC,EAAE,kBAAkB,eAAe,4BAA4B,8BAA8B,uDAAC,EAAE,kFAAC,uCAAuC,uDAAC,EAAE,mFAAC,SAAS,MAAM,YAAY,UAAU,aAAa,iCAAiC,uDAAC,EAAE,4FAAC,yCAAyC,uDAAC,EAAE,uFAAC,uDAAuD,iBAA8E;;;;;;;;;;;;;;;;;;;;;;;;;;;ACJt/C;AACA;AACA;AACA;AACwhB,MAAM,QAAQ,wDAAC,IAAI,qIAAqI,EAAE,sBAAsB,6DAAC,CAAC,QAAQ,cAAc,wCAAwC,IAAI,uDAAC,EAAE,sFAAC,EAAE,kBAAkB,KAAK,6DAAC,OAAO,6DAAC,EAAE,8BAA8B,uDAAC,EAAE,4FAAC,yCAAyC,uDAAC,EAAE,sFAAC,yDAAyD,iBAAgF;;;;;;;;;;;;;;;;;;;;;;;;ACJ5gC;AACA;AACA;AACA;AAC2W,MAAM,sBAAsB,yDAAC,CAAC,eAAe,gFAAgF,QAAQ,cAAc,kFAAkF,IAAI,uDAAC,EAAE,sFAAC,EAAE,YAAY,8BAA8B,uDAAC,EAAE,sFAAC,EAAE,YAAY,kCAAkC,uDAAC,EAAE,sFAAC,EAAE,YAAY,mCAAmC,uDAAC,EAAE,sFAAC,EAAE,KAAK,yDAAC,CAAC,oCAAoC,uDAAC,EAAE,sFAAC,yCAAyC,UAA+B;;;;;;;;;;;;;;;;;;;;;;;ACJ12B;AACA;AACA;AACA;AACqU,MAAM,sBAAsB,yDAAC,CAAC,cAAc,sCAAsC,QAAQ,cAAc,kBAAkB,IAAI,uDAAC,EAAE,sFAAC,EAAE,YAAY,2BAA2B,uDAAC,EAAE,sFAAC,EAAE,YAAY,+BAA+B,uDAAC,EAAE,sFAAC,sDAA4F;;;;;;;;;;;;;;;;;;;;;;;ACJjoB;AACA;AACA;AACA;AACqU,MAAM,sBAAsB,yDAAC,CAAC,cAAc,+CAA+C,QAAQ,cAAc,2BAA2B,IAAI,uDAAC,EAAE,sFAAC,EAAE,YAAY,2BAA2B,uDAAC,EAAE,sFAAC,EAAE,YAAY,2BAA2B,uDAAC,EAAE,sFAAC,EAAE,YAAY,+BAA+B,uDAAC,EAAE,sFAAC,sDAA4F;;;;;;;;;;;;;;;;;;;;;;;;;ACJhsB;AACA;AACA;AACA;AACmc,MAAM,sBAAsB,kEAAC,CAAC,eAAe,gCAAgC,QAAQ,SAAS,mEAAmE,kFAAC,2DAA2D,kBAAkB,uDAAC,EAAE,4FAAC,EAAE,kDAAkD,0CAA0C,uDAAC,EAAE,sFAAC,kDAAoF;;;;;;;;;;;;;;;;;;;;;;;;;ACJ52B;AACA;AACA;AACA;AAC0d,MAAM,sBAAsB,6DAAC,CAAC,cAAc,mCAAmC,iDAAC,wBAAwB,QAAQ,SAAS,MAAM,oDAAC,6BAA6B,kBAAkB,uDAAC,EAAE,sFAAC,CAAC,2EAAC,+BAA+B,uDAAC,EAAE,sFAAC,CAAC,iEAAC,kCAAkC,uDAAC,EAAE,sFAAC,0CAAoE;;;;;;;;;;;;;;;;;;;;;;;;;;ACJ9xB;AACA;AACA;AACA;AACigB,MAAM,sBAAsB,6DAAC,CAAC,eAAe,wBAAwB,iDAAC,sBAAsB,2DAAC,IAAI,QAAQ,SAAS,+DAA+D,kBAAkB,uDAAC,EAAE,sFAAC,CAAC,2EAAC,+BAA+B,uDAAC,EAAE,sFAAC,CAAC,iEAAC,kCAAkC,uDAAC,EAAE,sFAAC,iDAAkF;;;;;;;;;;;;;;;;;;;;;;;;;ACJv2B;AACA;AACA;AACA;AACke,MAAM,sBAAsB,6DAAC,CAAC,eAAe,kDAAkD,QAAQ,SAAS,mEAAmE,kFAAC,4BAA4B,kBAAkB,uDAAC,EAAE,sFAAC,CAAC,2EAAC,+BAA+B,uDAAC,EAAE,sFAAC,EAAE,oBAAoB,UAAU,4CAA4C,uDAAC,EAAE,sFAAC,8CAA4E;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACJz4B;AACA;AACA;AACA;AACunB,MAAM,sBAAsB,6DAAC,CAAC,eAAe,wBAAwB,iDAAC,sBAAsB,2DAAC,6CAA6C,QAAQ,SAAS,+IAA+I,kBAAkB,uDAAC,EAAE,sFAAC,CAAC,4EAAC,+BAA+B,uDAAC,EAAE,sFAAC,CAAC,kEAAC,8BAA8B,uDAAC,EAAE,sFAAC,CAAC,2EAAC,iCAAiC,uDAAC,EAAE,sFAAC,EAAE,KAAK,6DAAC,OAAO,sBAAsB,iBAAiB,OAAO,+BAA+B,wCAAwC,uDAAC,EAAE,sFAAC,6CAA0E;;;;;;;;;;;;;;;;;;;;;;;;;ACJzvC;AACA;AACA;AACA;AACgd,oBAAoB,gEAAC,CAAC,6DAAC,GAAG,eAAe,2BAA2B,uDAAC,EAAE,sFAAC,CAAC,2EAAC,iCAAiC,uDAAC,EAAE,sFAAC,oDAAwF;;;;;;;;;;;;;;;;;;;;;;;;ACJvpB;AACA;AACA;AACA;AAC+Y,MAAM,sBAAsB,6DAAC,CAAC,eAAe,4EAA4E,QAAQ,cAAc,qGAAqG,IAAI,uDAAC,EAAE,sFAAC,CAAC,iEAAC,sCAAsC,uDAAC,EAAE,sFAAC,EAAE,iCAAiC,oBAAoB,wCAAwC,uDAAC,EAAE,sFAAC,EAAE,kBAAkB,UAAU,4CAA4C,uDAAC,EAAE,sFAAC,oDAAoD,UAA+B;;;;;;;;;;;;;;;;;;;;;;;ACJ37B;AACA;AACA;AACA;AACqU,MAAM,sBAAsB,yDAAC,CAAC,cAAc,gCAAgC,QAAQ,cAAc,aAAa,IAAI,uDAAC,EAAE,sFAAC,EAAE,YAAY,iCAAiC,uDAAC,EAAE,sFAAC,uCAA8D;;;;;;;;;;;;;;;;;;;;;;;;;;ACJ7iB;AACA;AACA;AACA;AACqL,cAAc,QAAQ,8DAAC,IAAI,gDAAgD,QAAQ,iDAAiD,0DAAC,qCAAqC,0DAAC,wCAAwC,wDAAC,IAAI,SAAS,kBAAkB,aAAa,QAAQ,8DAAC,WAAW,4BAA4B,cAAc,gBAAgB,kCAAkC,+DAA+D,sDAAsD,MAAM,uDAAuD,gBAAgB,oBAAoB,kCAAkC,gDAAgD,+DAA+D,sDAAsD,MAAM,4FAA4F,MAAM,iGAAiG,MAAM,wCAAwC,6BAA6B,uFAAuF,mCAAmC,kBAAkB,qKAAqK,wCAAwC,gKAAgK,gBAAgB,OAAO,yEAAC,qCAAqC,oOAAoO,0CAA0C,sBAAsB,MAAM,4IAA4I,0CAA0C,sBAAsB,MAAM,2EAA2E,MAAM,gFAAgF,MAAM,iFAAiF,iHAAiH,MAAM,0FAA0F,MAAM,uIAAuI,gBAAgB,eAAe,kFAAkF,MAAM,mDAAmD,MAAM,8GAA8G,MAAM,mKAAmK,qCAAqC,iBAAiB,MAAM,qHAAqH,MAAM,iFAAiF,MAAM,6FAA6F,MAAM,+DAA+D,MAAM,uHAAuH,MAAM,oFAAoF,cAAc,WAAW,SAAS,8DAAC,oBAAoB,iDAAC,CAAC,6DAAC,aAAa,gBAAgB,aAAa,MAAM,sCAAsC,oCAAoC,yEAAyE,0DAAC,KAAK,0DAAC,wBAAwB,yEAAC,qCAAqC,iGAAiG,MAAM,qDAAqD,cAAc,GAAG,MAAM,qDAAqD,MAAM,sCAAsC,gBAAgB,qDAAqD,UAAU,kBAAkB,aAAa,iDAAC,SAAS,iDAAC,KAAK,QAAQ,8DAAC,IAAI,YAAY,kBAAkB,aAAa,MAAM,sCAAsC,qCAAqC,kDAAkD,0BAA0B,WAAW,MAAM,gBAAgB,GAAG,IAAI,0DAAC,KAAK,0DAAC,wBAAwB,yEAAC,kCAAkC,wDAAC,4BAA4B,QAAQ,0DAAC,KAAK,0DAAC,wBAAwB,yEAAC,6BAA6B,oBAAoB,eAAe,iFAAiF,MAAM,qDAAqD,gBAAgB,GAAG,MAAM,kDAAkD,MAAM,yCAAyC,mBAAmB,QAAQ,8DAAC,IAAI,0DAA0D,gBAAgB,6BAA6B,SAAS,qBAAqB,QAAQ,8DAAC,IAAI,2CAA2C,+CAA+C,uBAAuB,iCAAiC,0DAAC,KAAK,oBAAoB,yCAAyC,WAAW,eAAe,cAAc,QAAQ,8DAAC,IAAI,kBAAkB,eAAe,4CAA4C,0CAA0C,gDAAgD,0CAA0C,0CAA0C,qBAA6O;;;;;;;;;;;;;;;;;;;;ACJ9uM;AACA;AACA;AACA;AAC8B,YAAY,iDAAC,gBAAgB,iDAAC,gBAAgB,iDAAC,kBAAkB,cAAc,iCAAkG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACJ/M;AACA;AACA;AACA;AACoZ,QAAQ,uEAAU,CAAC,oEAAC,IAAI,qEAAU,CAAC,uEAAC,IAAI,qEAAU,CAAC,sEAAC,IAAI,+DAAU,CAAC,mEAAC,EAAE,cAAc,uBAAuB,eAAe,uBAAuB,sCAAsC,wBAAwB,oCAAoC,YAAY,QAAQ,uEAAU,CAAC,kEAAC,IAAI,qEAAU,CAAC,qEAAC,IAAI,qEAAU,CAAC,oEAAC,EAA2N;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACJl6B;AACA;AACA;AACA;AACqmB,QAAQ,gFAAwB,CAAC,+DAAC,IAAI,6EAAsB,CAAC,kEAAC,IAAI,gFAAsB,CAAC,iEAAC,QAAQ,wDAAC,EAAE,iBAAiB,2DAAC,MAAM,6DAAC,EAAE,UAAU,MAAM,2DAAC,CAAC,WAAW,+DAAC,EAAE,KAAK,2DAAC,cAAc,iDAAC,CAAC,kEAAC,EAAE,EAAE,IAAI,QAAQ,wDAAC,EAAE,iBAAiB,2DAAC,MAAM,8DAAC,EAAE,UAAU,UAAU,iDAAC,UAAU,MAAM,2DAAC,IAAI,IAAI,QAAQ,2DAAC,EAAE,iBAAiB,2DAAC,MAAM,6DAAC,EAAE,SAAS,UAAU,iDAAC,eAAe,2DAAC,KAAK,IAAI,EAAE,cAAc,uBAAuB,eAAe,oBAAoB,sCAAsC,wBAAwB,oCAAoC,YAAqH;;;;;;;;;;;;;;;;;;;;;;;;ACJ5uC;AACA;AACA;AACA;AACA,gDAAgD,6DAA6D,uEAAuE,IAAI,sDAAsD,IAAI,oEAAoE,uEAAuE,IAAI,4CAA4C,gDAAgD,yHAAyH,IAAI,8EAA8E,IAAI,gEAAgE,IAAI,oEAA8T;;;;;;;;;;;;;;;;;;;;;;;;;;;ACJ9iC;AACA;AACA;AACA;AACwQ,+VAA+V,uDAAC,MAAM,cAAc,gBAAgB,WAAW,oBAAoB,yCAAyC,MAAM,sCAAsC,2BAA2B,uDAAC,0BAA0B,EAAE,wBAAwB,YAAY,MAAM,UAAU,+BAA+B,2DAAC,0BAA0B,2DAAC,sBAAsB,2DAAC,cAAc,2DAAC,aAAa,MAAM,iBAAiB,MAAM,SAAS,qEAAC,IAAI,SAAS,gBAAgB,gBAAgB,mDAAmD,uDAAC,IAAI,qBAAqB,YAAY,qFAAqF,qBAAqB,2BAA2B,iGAAiG,sBAAsB,oBAAoB,GAAG,cAAc,kBAAkB,WAAW,eAAe,oCAAoC,MAAM,QAAQ,QAAQ,2DAAC,UAAU,4CAA4C,uEAAuE,2DAAC,sBAAsB,qCAAqC,MAAM,eAAe,SAAS,cAAc,sBAAsB,MAAM,4BAA4B,GAAG,0EAA0E,kDAAkD,+EAA+E,SAAS,cAAc,WAAW,WAAW,oBAAoB,6BAA6B,iBAAiB,UAAU,iDAAC,gBAAqJ;;;;;;;;;;;;;;;;;;;;;;;;ACJzwE;AACA;AACA;AACA;AACyQ,oBAAoB,cAAc,EAAE,2BAA2B,EAAE,kBAAkB,oBAAoB,cAAc,EAAE,2BAA2B,EAAE,kBAAkB,cAAc,oBAAoB,oDAAC,eAAe,0DAAC,CAAC,cAAc,oBAAoB,oDAAC,8CAA8C,kBAAkB,uBAAuB,MAAM,0BAA0B,6BAA6B,2BAA2B,QAAQ,0DAAC,IAAI,kCAAkC,EAAE,uDAAuD,sDAAC,0CAA0C,gBAAgB,mGAAmG,iCAAiC,SAAS,OAAO,kFAAC,8BAA8B,sDAAC,0CAA0C,gBAAgB,yCAAyC,wBAAwB,KAAK,mBAAmB,6CAA6C,kFAAC,+BAA+B,sDAAC,0CAA0C,gBAAgB,qHAAqH,mBAAmB,sBAAsB,gBAAgB,OAAO,uDAAC,WAAkE;;;;;;;;;;;;;;;;;ACJ/hD;AACA;AACA;AACA;AACA,wFAAgJ;;;;;;;;;;;;;;;;;;;;;ACJhJ;AACA;AACA;AACA;AAC0P,gBAAgB,6BAA6B,sFAAC,6BAA6B,+BAA+B,iDAAC,mCAAmC,gBAAgB,8BAA8B,QAAQ,sFAAC,MAAM,0BAA0B,SAAS,KAAK,iDAAC,OAAO,MAAM,wEAAC,qBAAqB,yCAAyC,QAAQ,QAAQ,OAAO,MAAM,wEAAC,EAAE,eAAe,KAAK,wEAAC,EAAE,YAAY,IAAI,iBAAiB,sDAAC,OAAO,WAA6E;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACJvuB;AACA;AACA;AACA;AACA;AAA8C;AAA4D;AAA0B;AAAmC;AAAoC;AAAkD;AAA0G;AAAkE;AAAoE;AAA8T;AAAwE;AAAiE;AAAiE,MAAM6L,CAAC,GAACnL,sEAAR;AAAA,MAAese,CAAC,GAACte,yEAAjB;AAAA,MAA2B6E,CAAC,GAAC7E,gFAA7B;AAAA,MAA8C8J,CAAC,GAAC9J,2EAAhD;AAAA,MAA4D+J,CAAC,GAAC/J,iFAA9D;;AAAgF,SAASuH,CAAT,CAAW/I,CAAX,EAAa;AAAC,QAAME,CAAC,GAACF,CAAC,CAAC6jE,OAAV;AAAA,QAAkBhjE,CAAC,GAAC,QAAMb,CAAC,CAACwsC,QAAR,GAAiBxsC,CAAC,CAACwsC,QAAF,CAAWp3B,KAA5B,GAAkC,IAAtD;AAAA,QAA2D9U,CAAC,GAAC,QAAMO,CAAN,GAAQA,CAAC,CAAC+9E,KAAF,EAAR,GAAkB,IAA/E;AAAoF,MAAG,QAAM1+E,CAAN,IAAS,aAAYA,CAAZ,IAAe,QAAMA,CAAC,CAACyhC,OAAvB,IAAgC,YAAUzhC,CAAC,CAACyhC,OAAF,CAAUp+B,IAApD,IAA0D,WAASrD,CAAC,CAACyhC,OAAF,CAAU9+B,KAAzF,EAA+F,OAAM,WAAS7C,CAAC,CAACuD,IAAX,IAAiB,cAAYjD,CAA7B,GAA+B;AAAC8U,IAAAA,KAAK,EAAC,SAAP;AAAiB6D,IAAAA,KAAK,EAAC;AAAvB,GAA/B,GAA2D,IAAjE;AAAsE,QAAM7Y,CAAC,GAACO,2DAAC,CAACT,CAAC,CAACs1B,IAAH,CAAD,IAAW,CAAnB;AAAqB,SAAM;AAACpgB,IAAAA,KAAK,EAAC,WAAS,QAAMlV,CAAC,CAACkV,KAAR,GAAclV,CAAC,CAACkV,KAAF,CAAQ+0D,MAAR,EAAd,GAA+B,eAAxC,IAAyD,GAAhE;AAAoElxD,IAAAA,KAAK,EAAC6K,IAAI,CAAC5Z,GAAL,CAAS9J,CAAT,EAAWiG,CAAX,CAA1E;AAAwFxD,IAAAA,KAAK,EAAC,aAAY3C,CAAZ,IAAe,QAAMA,CAAC,CAACyhC,OAAvB,IAAgC,YAAUzhC,CAAC,CAACyhC,OAAF,CAAUp+B,IAApD,GAAyD7C,iEAAC,CAACR,CAAC,CAACyhC,OAAF,CAAU9+B,KAAX,CAA1D,GAA4E,IAA1K;AAA+K2jB,IAAAA,IAAI,EAAC,MAApL;AAA2Lq4D,IAAAA,GAAG,EAAC,gBAAe3+E,CAAf,GAAiBA,CAAC,CAAC4+E,UAAnB,GAA8B;AAA7N,GAAN;AAA2O;;SAAezzE;;;;;yMAAf,WAAiBnL,CAAjB,EAAmBW,CAAnB,EAAqB;AAAC,QAAGX,CAAC,CAAC6W,SAAF,EAAalR,GAAhB,EAAoB,OAAO3F,CAAC,CAAC6W,SAAF,CAAYlR,GAAnB;;AAAuB,QAAG,WAAShF,CAAC,CAAC0C,IAAd,EAAmB;AAAC,YAAMvD,CAAC,GAACa,CAAC,EAAEo7D,QAAH,EAAavyC,IAArB;AAA0B,UAAG1pB,CAAH,EAAK,OAAOqnB,uDAAC,CAACxmB,CAAD,CAAR;AAAY;;AAAA,UAAMP,CAAC,GAACN,uDAAC,CAAC,8CAAD,CAAT;;AAA0D,QAAGE,CAAC,CAACumE,WAAF,KAAgBvmE,CAAC,CAACumE,WAAF,CAAcY,SAAd,IAAyBnnE,CAAC,CAACumE,WAAF,CAAcc,QAAvD,CAAH,EAAoE;AAAC,YAAMvnE,CAAC,SAAOoC,+EAAC,CAAClC,CAAC,CAACumE,WAAH,EAAe;AAACrgE,QAAAA,MAAM,EAAClG,CAAC,CAACumE,WAAF,CAAcrgE;AAAtB,OAAf,EAA6C,QAA7C,CAAD,CAAwDrC,KAAxD,CAA+D,MAAI,IAAnE,CAAd;AAAwF,UAAG/D,CAAC,IAAE,eAAcA,CAAjB,IAAoBA,CAAC,CAAC+W,SAAF,EAAalR,GAApC,EAAwC,OAAO7F,CAAC,CAAC+W,SAAF,CAAYlR,GAAnB;AAAuB;;AAAA,WAAOvF,CAAP;AAAS;;;;AAAA,SAASoR,CAAT,CAAW1R,CAAX,EAAaM,CAAC,GAAC,CAAf,EAAiB;AAAC,QAAMF,CAAC,GAACJ,CAAC,CAACM,CAAV;AAAA,QAAYK,CAAC,GAACT,0DAAC,CAACF,CAAD,CAAf;AAAA,QAAmBC,CAAC,GAACU,CAAC,CAACW,CAAvB;AAAA,QAAyBd,CAAC,GAACG,CAAC,CAACP,CAAF,GAAIE,CAA/B;AAAA,QAAiCI,CAAC,GAAC,MAAI,CAAC,MAAIC,CAAC,CAAC4B,CAAP,IAAUjC,CAAjD;AAAA,QAAmD;AAACL,IAAAA,CAAC,EAACe,CAAH;AAAKiB,IAAAA,CAAC,EAACnB,CAAP;AAASe,IAAAA,CAAC,EAACL;AAAX,MAAcX,0DAAC,CAAC;AAACS,IAAAA,CAAC,EAACrB,CAAH;AAAKG,IAAAA,CAAC,EAACI,CAAP;AAAS+B,IAAAA,CAAC,EAAC7B;AAAX,GAAD,CAAlE;AAAkF,SAAM,CAACM,CAAD,EAAGF,CAAH,EAAKU,CAAL,EAAOpB,CAAP,CAAN;AAAgB;;AAAA,SAAS+B,CAAT,CAAWnC,CAAX,EAAa;AAAC,SAAM,YAAUA,CAAC,CAACuD,IAAZ,GAAiB,QAAMvD,CAAC,CAACoV,KAAR,GAAc,IAAd,GAAmBpV,CAAC,CAACoV,KAAtC,GAA4C,QAAMpV,CAAC,CAACwsC,QAAF,EAAYp3B,KAAlB,GAAwB,IAAxB,GAA6BpV,CAAC,CAACwsC,QAAF,CAAWp3B,KAA1F;AAAgG;;AAAA,SAASxC,CAAT,CAAW5S,CAAX,EAAaE,CAAC,GAAC,CAAf,EAAiB;AAAC,QAAMW,CAAC,GAACsB,CAAC,CAACnC,CAAD,CAAT;;AAAa,MAAG,CAACa,CAAJ,EAAM;AAAC,QAAG,WAASb,CAAC,CAACuD,IAAd,EAAmB,OAAO,IAAP;AAAY,UAAM1C,CAAC,GAACZ,gEAAR;AAAA,UAAYK,CAAC,GAACgB,iFAAC,CAACT,CAAD,EAAGX,CAAH,CAAf;AAAqB,WAAM,CAACI,CAAD,EAAGA,CAAH,EAAKA,CAAL,EAAO,GAAP,CAAN;AAAkB;;AAAA,QAAMA,CAAC,GAACO,CAAC,CAACspE,MAAF,EAAR;;AAAmB,OAAI,IAAI/pE,CAAC,GAAC,CAAV,EAAYA,CAAC,GAAC,CAAd,EAAgBA,CAAC,EAAjB,EAAoBE,CAAC,CAACF,CAAD,CAAD,GAAKkB,iFAAC,CAAChB,CAAC,CAACF,CAAD,CAAF,EAAMF,CAAN,CAAN;;AAAe,SAAOI,CAAP;AAAS;;SAAe4mB;;;;;yMAAf,WAAiBhnB,CAAjB,EAAmBW,CAAnB,EAAqB;AAAC,UAAMP,CAAC,GAACJ,CAAC,CAAC2C,KAAV;AAAgB,QAAG,WAASvC,CAAZ,EAAc,OAAO,IAAP;AAAY,WAAM;AAACiD,MAAAA,IAAI,EAAC,SAAN;AAAgBf,MAAAA,CAAC,EAAC,CAAlB;AAAoBpB,MAAAA,CAAC,EAAC,CAAtB;AAAwBwwE,MAAAA,GAAG,QAAOpxE,oEAAC,CAACR,uDAAC,CAAE,yBAAwBM,CAAE,MAA5B,CAAF,EAAqCO,CAAC,CAACk+E,KAAF,CAAQ,CAAC,CAAT,CAArC,CAAnC;AAAqF9lE,MAAAA,KAAK,EAAC,CAA3F;AAA6FO,MAAAA,MAAM,EAAC;AAApG,KAAN;AAA6G;;;;AAAA,SAASpO,CAAT,CAAWpL,CAAX,EAAa;AAAC,SAAOA,CAAC,CAAC6jE,OAAF,GAAU96D,CAAC,CAAC/I,CAAD,CAAX,GAAe;AAACoV,IAAAA,KAAK,EAAC,kBAAP;AAA0B6D,IAAAA,KAAK,EAAC;AAAhC,GAAtB;AAA2D;;AAAA,SAASzN,CAAT,CAAWxL,CAAX,EAAaE,CAAb,EAAe;AAAC,QAAMW,CAAC,GAACsB,CAAC,CAACnC,CAAD,CAAT;AAAa,MAAG,CAACa,CAAJ,EAAM,OAAO,IAAP;AAAY,MAAIP,CAAC,GAAC,OAAN;AAAc,SAAOA,CAAC,IAAEgB,iFAAC,CAACT,CAAC,CAACZ,CAAH,EAAKC,CAAL,CAAD,GAAS,GAAZ,EAAgBI,CAAC,IAAEgB,iFAAC,CAACT,CAAC,CAACoB,CAAH,EAAK/B,CAAL,CAAD,GAAS,GAA5B,EAAgCI,CAAC,IAAEgB,iFAAC,CAACT,CAAC,CAACgB,CAAH,EAAK3B,CAAL,CAAD,GAAS,GAA5C,EAAgDI,CAAC,GAACO,CAAC,CAACP,CAAJ,GAAM,IAA7D;AAAkE;;AAAA,SAASuM,CAAT,CAAW7M,CAAX,EAAaE,CAAb,EAAe;AAAC,QAAMW,CAAC,GAAC2K,CAAC,CAACxL,CAAD,EAAGE,CAAH,CAAT;AAAe,MAAG,CAACW,CAAJ,EAAM,OAAM,EAAN;AAAS,MAAG,aAAYb,CAAZ,IAAe,QAAMA,CAAC,CAAC2hC,OAAvB,IAAgC,YAAU3hC,CAAC,CAAC2hC,OAAF,CAAUp+B,IAApD,IAA0D,WAASvD,CAAC,CAAC2hC,OAAF,CAAU9+B,KAAhF,EAAsF,OAAO,IAAP;AAAY,SAAM;AAACuS,IAAAA,KAAK,EAACvU,CAAP;AAASoY,IAAAA,KAAK,EAAC6K,IAAI,CAAC5Z,GAAL,CAASlK,CAAC,CAACw1B,IAAF,GAAO70B,2DAAC,CAACX,CAAC,CAACw1B,IAAH,CAAR,GAAiB,GAA1B,EAA8BnvB,CAA9B,CAAf;AAAgDxD,IAAAA,KAAK,EAAC,aAAY7C,CAAZ,IAAe,QAAMA,CAAC,CAAC2hC,OAAvB,IAAgC,YAAU3hC,CAAC,CAAC2hC,OAAF,CAAUp+B,IAApD,GAAyD7C,iEAAC,CAACV,CAAC,CAAC2hC,OAAF,CAAU9+B,KAAX,CAA1D,GAA4E,IAAlI;AAAuIg8E,IAAAA,GAAG,EAAC,SAAQ7+E,CAAR,GAAUA,CAAC,CAAC6+E,GAAZ,GAAgB,IAA3J;AAAgKr4D,IAAAA,IAAI,EAAC,UAASxmB,CAAT,GAAW,YAAUA,CAAC,CAACwmB,IAAZ,GAAiB7lB,2DAAC,CAAC,CAAD,CAAlB,GAAsBX,CAAC,CAACwmB,IAAnC,GAAwC;AAA7M,GAAN;AAAyN;;AAAA,SAASje,CAAT,CAAWvI,CAAX,EAAaE,CAAb,EAAeW,CAAf,EAAiB;AAAC,QAAMP,CAAC,GAAC,QAAMO,CAAN,GAAQ,MAAIA,CAAZ,GAAc,CAAtB;AAAwB,SAAM;AAAC0C,IAAAA,IAAI,EAAC,QAAN;AAAey7E,IAAAA,EAAE,EAAC1+E,CAAC,GAAC,MAAIA,CAAL,GAAO,CAA1B;AAA4B2+E,IAAAA,EAAE,EAAC3+E,CAAC,GAAC,KAAGA,CAAJ,GAAM,CAAtC;AAAwC4+E,IAAAA,EAAE,EAAC5+E,CAAC,IAAE,CAA9C;AAAgD6+E,IAAAA,EAAE,EAAC7+E,CAAC,GAAC,KAAGA,CAAJ,GAAM,CAA1D;AAA4D0sE,IAAAA,MAAM,EAAC,CAAC;AAAC53D,MAAAA,KAAK,EAACpV,CAAP;AAASg8B,MAAAA,MAAM,EAAC;AAAhB,KAAD,EAAoB;AAAC5mB,MAAAA,KAAK,EAAClV,CAAP;AAAS87B,MAAAA,MAAM,EAAC;AAAhB,KAApB;AAAnE,GAAN;AAAkH;;AAAA,SAASlpB,CAAT,CAAW9S,CAAX,EAAa;AAAC,QAAME,CAAC,GAACF,CAAC,CAACo/E,KAAV;AAAA,QAAgBv+E,CAAC,GAACb,CAAC,CAACwZ,MAApB;AAAA,QAA2BlZ,CAAC,GAACN,CAAC,CAACiZ,KAA/B;AAAqC,SAAO,MAAI3Y,CAAJ,IAAO,MAAIJ,CAAX,IAAc,MAAIW,CAAlB,IAAqBP,CAAC,KAAGJ,CAAzB,IAA4B,QAAMI,CAAlC,IAAqC,QAAMO,CAA3C,IAA8CP,CAAC,GAACO,CAAvD;AAAyD;;AAAA,SAASsK,CAAT,CAAWnL,CAAX,EAAaE,CAAb,EAAeW,CAAf,EAAiB;AAAC,QAAMP,CAAC,GAAC,EAAR;AAAW,MAAG,CAACN,CAAJ,EAAM,OAAOM,CAAP;;AAAS,UAAON,CAAC,CAACuD,IAAT;AAAe,SAAI,MAAJ;AAAW;AAAC,cAAM1C,CAAC,GAAC,CAAR;AAAA,cAAUT,CAAC,GAAC,CAAZ;AAAA,cAAcO,CAAC,GAACT,CAAhB;AAAA,cAAkBD,CAAC,GAACC,CAApB;;AAAsB,gBAAOF,CAAC,CAACi8D,QAAF,EAAYojB,SAAZ,IAAuBr+E,2EAA9B;AAAiC,eAAI,QAAJ;AAAaV,YAAAA,CAAC,CAACwE,IAAF,CAAO;AAACw6E,cAAAA,KAAK,EAAC;AAAC/7E,gBAAAA,IAAI,EAAC,QAAN;AAAeg8E,gBAAAA,EAAE,EAAC,CAAlB;AAAoBC,gBAAAA,EAAE,EAAC,CAAvB;AAAyBv/E,gBAAAA,CAAC,EAAC,KAAGC;AAA9B,eAAP;AAAwCu/E,cAAAA,IAAI,EAAC7sE,CAAC,CAAC5S,CAAD,EAAG,CAAH,CAA9C;AAAoD0/E,cAAAA,MAAM,EAAC32E,CAAC,CAAC/I,CAAD;AAA5D,aAAP;AAAyE;;AAAM,eAAI,QAAJ;AAAaM,YAAAA,CAAC,CAACwE,IAAF,CAAO;AAACw6E,cAAAA,KAAK,EAAC;AAAC/7E,gBAAAA,IAAI,EAAC,MAAN;AAAakiB,gBAAAA,IAAI,EAAC,CAAC;AAACk6D,kBAAAA,OAAO,EAAC,GAAT;AAAazgC,kBAAAA,MAAM,EAAC,CAACr+C,CAAD,EAAGZ,CAAH;AAApB,iBAAD,EAA4B;AAAC0/E,kBAAAA,OAAO,EAAC,GAAT;AAAazgC,kBAAAA,MAAM,EAAC,CAACr+C,CAAD,EAAGT,CAAH;AAApB,iBAA5B,EAAuD;AAACu/E,kBAAAA,OAAO,EAAC,GAAT;AAAazgC,kBAAAA,MAAM,EAAC,CAACv+C,CAAD,EAAGP,CAAH;AAApB,iBAAvD,EAAkF;AAACu/E,kBAAAA,OAAO,EAAC,GAAT;AAAazgC,kBAAAA,MAAM,EAAC,CAACv+C,CAAD,EAAGV,CAAH;AAApB,iBAAlF,EAA6G;AAAC0/E,kBAAAA,OAAO,EAAC,GAAT;AAAazgC,kBAAAA,MAAM,EAAC;AAApB,iBAA7G;AAAlB,eAAP;AAAgKugC,cAAAA,IAAI,EAAC7sE,CAAC,CAAC5S,CAAD,EAAG,CAAH,CAAtK;AAA4K0/E,cAAAA,MAAM,EAAC32E,CAAC,CAAC/I,CAAD;AAApL,aAAP;AAAiM;;AAAM,eAAI,UAAJ;AAAeM,YAAAA,CAAC,CAACwE,IAAF,CAAO;AAACw6E,cAAAA,KAAK,EAAC;AAAC/7E,gBAAAA,IAAI,EAAC,MAAN;AAAakiB,gBAAAA,IAAI,EAAC,CAAC;AAACk6D,kBAAAA,OAAO,EAAC,GAAT;AAAazgC,kBAAAA,MAAM,EAAC,CAACr+C,CAAD,EAAGZ,CAAH;AAApB,iBAAD,EAA4B;AAAC0/E,kBAAAA,OAAO,EAAC,GAAT;AAAazgC,kBAAAA,MAAM,EAAC,CAAC,KAAGv+C,CAAJ,EAAMP,CAAN;AAApB,iBAA5B,EAA0D;AAACu/E,kBAAAA,OAAO,EAAC,GAAT;AAAazgC,kBAAAA,MAAM,EAAC,CAACv+C,CAAD,EAAGV,CAAH;AAApB,iBAA1D,EAAqF;AAAC0/E,kBAAAA,OAAO,EAAC,GAAT;AAAazgC,kBAAAA,MAAM,EAAC;AAApB,iBAArF;AAAlB,eAAP;AAAwIugC,cAAAA,IAAI,EAAC7sE,CAAC,CAAC5S,CAAD,EAAG,CAAH,CAA9I;AAAoJ0/E,cAAAA,MAAM,EAAC32E,CAAC,CAAC/I,CAAD;AAA5J,aAAP;AAAyK;;AAAM,eAAI,OAAJ;AAAYM,YAAAA,CAAC,CAACwE,IAAF,CAAO;AAACw6E,cAAAA,KAAK,EAAC;AAAC/7E,gBAAAA,IAAI,EAAC,MAAN;AAAakiB,gBAAAA,IAAI,EAAC,CAAC;AAACk6D,kBAAAA,OAAO,EAAC,GAAT;AAAazgC,kBAAAA,MAAM,EAAC,CAAC,KAAGv+C,CAAJ,EAAMP,CAAN;AAApB,iBAAD,EAA+B;AAACu/E,kBAAAA,OAAO,EAAC,GAAT;AAAazgC,kBAAAA,MAAM,EAAC,CAAC,KAAGv+C,CAAJ,EAAMV,CAAN;AAApB,iBAA/B,EAA6D;AAAC0/E,kBAAAA,OAAO,EAAC,GAAT;AAAazgC,kBAAAA,MAAM,EAAC,CAACr+C,CAAD,EAAG,KAAGZ,CAAN;AAApB,iBAA7D,EAA2F;AAAC0/E,kBAAAA,OAAO,EAAC,GAAT;AAAazgC,kBAAAA,MAAM,EAAC,CAACv+C,CAAD,EAAG,KAAGV,CAAN;AAApB,iBAA3F;AAAlB,eAAP;AAAoJy/E,cAAAA,MAAM,EAACt0E,CAAC,CAACpL,CAAD;AAA5J,aAAP;AAAyK;;AAAM,eAAI,GAAJ;AAAQM,YAAAA,CAAC,CAACwE,IAAF,CAAO;AAACw6E,cAAAA,KAAK,EAAC;AAAC/7E,gBAAAA,IAAI,EAAC,MAAN;AAAakiB,gBAAAA,IAAI,EAAC,CAAC;AAACk6D,kBAAAA,OAAO,EAAC,GAAT;AAAazgC,kBAAAA,MAAM,EAAC,CAACr+C,CAAD,EAAGT,CAAH;AAApB,iBAAD,EAA4B;AAACu/E,kBAAAA,OAAO,EAAC,GAAT;AAAazgC,kBAAAA,MAAM,EAAC,CAACv+C,CAAD,EAAGV,CAAH;AAApB,iBAA5B,EAAuD;AAAC0/E,kBAAAA,OAAO,EAAC,GAAT;AAAazgC,kBAAAA,MAAM,EAAC,CAACv+C,CAAD,EAAGP,CAAH;AAApB,iBAAvD,EAAkF;AAACu/E,kBAAAA,OAAO,EAAC,GAAT;AAAazgC,kBAAAA,MAAM,EAAC,CAACr+C,CAAD,EAAGZ,CAAH;AAApB,iBAAlF;AAAlB,eAAP;AAAwIy/E,cAAAA,MAAM,EAACt0E,CAAC,CAACpL,CAAD;AAAhJ,aAAP;AAA6J;;AAAM,eAAI,MAAJ;AAAWM,YAAAA,CAAC,CAACwE,IAAF,CAAO;AAACw6E,cAAAA,KAAK,EAAC;AAAC/7E,gBAAAA,IAAI,EAAC,MAAN;AAAakiB,gBAAAA,IAAI,EAAC,CAAC;AAACk6D,kBAAAA,OAAO,EAAC,GAAT;AAAazgC,kBAAAA,MAAM,EAAC,CAACr+C,CAAD,EAAG,KAAGZ,CAAN;AAApB,iBAAD,EAA+B;AAAC0/E,kBAAAA,OAAO,EAAC,GAAT;AAAazgC,kBAAAA,MAAM,EAAC,CAAC,KAAGv+C,CAAJ,EAAMP,CAAN;AAApB,iBAA/B,EAA6D;AAACu/E,kBAAAA,OAAO,EAAC,GAAT;AAAazgC,kBAAAA,MAAM,EAAC,CAACv+C,CAAD,EAAG,KAAGV,CAAN;AAApB,iBAA7D,EAA2F;AAAC0/E,kBAAAA,OAAO,EAAC,GAAT;AAAazgC,kBAAAA,MAAM,EAAC,CAAC,KAAGv+C,CAAJ,EAAMV,CAAN;AAApB,iBAA3F,EAAyH;AAAC0/E,kBAAAA,OAAO,EAAC,GAAT;AAAazgC,kBAAAA,MAAM,EAAC;AAApB,iBAAzH;AAAlB,eAAP;AAA4KugC,cAAAA,IAAI,EAAC7sE,CAAC,CAAC5S,CAAD,EAAG,CAAH,CAAlL;AAAwL0/E,cAAAA,MAAM,EAAC32E,CAAC,CAAC/I,CAAD;AAAhM,aAAP;AAAh4B;;AAA6kC;AAAM;;AAAA,SAAI,QAAJ;AAAa,cAAOA,CAAC,CAACi8D,QAAF,EAAYojB,SAAZ,IAAuBv+E,6EAA9B;AAAiC,aAAI,MAAJ;AAAW;AAAC,kBAAMV,CAAC,GAACmI,CAAC,CAACqK,CAAC,CAAC5S,CAAD,EAAG,CAAH,CAAF,EAAQ4S,CAAC,CAAC5S,CAAD,EAAG,CAAC,EAAJ,CAAT,EAAiBa,CAAC,GAAC0K,CAAD,GAAGrL,CAArB,CAAT;AAAA,kBAAiCS,CAAC,GAACsB,gEAAC,CAAC/B,CAAD,EAAGW,CAAH,CAApC;AAA0CP,YAAAA,CAAC,CAACwE,IAAF,CAAO;AAACw6E,cAAAA,KAAK,EAAC3+E,CAAC,CAAC,CAAD,CAAR;AAAY8+E,cAAAA,IAAI,EAACr/E;AAAjB,aAAP,EAA2B;AAACk/E,cAAAA,KAAK,EAAC3+E,CAAC,CAAC,CAAD,CAAR;AAAY8+E,cAAAA,IAAI,EAACr/E;AAAjB,aAA3B;AAAgD;AAAM;;AAAA,aAAI,eAAJ;AAAoB;AAAC,kBAAMS,CAAC,GAAC+R,CAAC,CAAC5S,CAAD,EAAG,CAAH,CAAT;AAAA,kBAAeI,CAAC,GAACmI,CAAC,CAAC1H,CAAD,EAAG+R,CAAC,CAAC5S,CAAD,EAAG,CAAC,EAAJ,CAAJ,EAAYE,CAAZ,CAAlB;AAAA,kBAAiCS,CAAC,GAACoB,wEAAC,CAAC7B,CAAD,CAApC;AAAwCI,YAAAA,CAAC,CAACwE,IAAF,CAAO;AAACw6E,cAAAA,KAAK,EAAC3+E,CAAC,CAAC,CAAD,CAAR;AAAY8+E,cAAAA,IAAI,EAACr/E;AAAjB,aAAP,EAA2B;AAACk/E,cAAAA,KAAK,EAAC3+E,CAAC,CAAC,CAAD,CAAR;AAAY8+E,cAAAA,IAAI,EAAC5+E;AAAjB,aAA3B;AAAgD;AAAM;;AAAA,aAAI,MAAJ;AAAW;AAAC,kBAAMT,CAAC,GAACmC,gEAAC,CAACrC,CAAD,EAAGW,CAAH,CAAT;AAAeP,YAAAA,CAAC,CAACwE,IAAF,CAAO;AAACw6E,cAAAA,KAAK,EAACl/E,CAAC,CAAC,CAAD,CAAR;AAAYq/E,cAAAA,IAAI,EAAC7sE,CAAC,CAAC5S,CAAD,EAAG,CAAH;AAAlB,aAAP,EAAgC;AAACs/E,cAAAA,KAAK,EAACl/E,CAAC,CAAC,CAAD,CAAR;AAAYq/E,cAAAA,IAAI,EAAC7sE,CAAC,CAAC5S,CAAD,EAAG,CAAC,EAAJ;AAAlB,aAAhC,EAA2D;AAACs/E,cAAAA,KAAK,EAACl/E,CAAC,CAAC,CAAD,CAAR;AAAYq/E,cAAAA,IAAI,EAAC7sE,CAAC,CAAC5S,CAAD,EAAG,CAAC,EAAJ;AAAlB,aAA3D;AAAuF;AAAM;;AAAA,aAAI,UAAJ;AAAe;AAAC,kBAAMI,CAAC,GAACmI,CAAC,CAACqK,CAAC,CAAC5S,CAAD,EAAG,CAAH,CAAF,EAAQ4S,CAAC,CAAC5S,CAAD,EAAG,CAAC,EAAJ,CAAT,EAAiBa,CAAC,GAAC0K,CAAD,GAAGrL,CAArB,CAAT;AAAA,kBAAiCS,CAAC,GAACuL,oEAAC,CAAChM,CAAD,EAAGW,CAAH,CAApC;AAA0CP,YAAAA,CAAC,CAACwE,IAAF,CAAO;AAACw6E,cAAAA,KAAK,EAAC3+E,CAAC,CAAC,CAAD,CAAR;AAAY8+E,cAAAA,IAAI,EAACr/E;AAAjB,aAAP,EAA2B;AAACk/E,cAAAA,KAAK,EAAC3+E,CAAC,CAAC,CAAD,CAAR;AAAY8+E,cAAAA,IAAI,EAACr/E;AAAjB,aAA3B,EAA+C;AAACk/E,cAAAA,KAAK,EAAC3+E,CAAC,CAAC,CAAD,CAAR;AAAY8+E,cAAAA,IAAI,EAAC7sE,CAAC,CAAC5S,CAAD,EAAG,CAAH;AAAlB,aAA/C;AAAyE;AAAM;;AAAA,aAAI,SAAJ;AAAc;AAAC,kBAAMa,CAAC,GAACgB,mEAAC,CAAC3B,CAAD,CAAT;AAAaI,YAAAA,CAAC,CAACwE,IAAF,CAAO;AAACw6E,cAAAA,KAAK,EAACz+E,CAAC,CAAC,CAAD,CAAR;AAAY4+E,cAAAA,IAAI,EAAC7sE,CAAC,CAAC5S,CAAD,EAAG,CAAC,EAAJ;AAAlB,aAAP,EAAkC;AAACs/E,cAAAA,KAAK,EAACz+E,CAAC,CAAC,CAAD,CAAR;AAAY4+E,cAAAA,IAAI,EAAC7sE,CAAC,CAAC5S,CAAD,EAAG,CAAH;AAAlB,aAAlC,EAA2D;AAACs/E,cAAAA,KAAK,EAACz+E,CAAC,CAAC,CAAD,CAAR;AAAY4+E,cAAAA,IAAI,EAAC7sE,CAAC,CAAC5S,CAAD,EAAG,CAAC,EAAJ;AAAlB,aAA3D,EAAsF;AAACs/E,cAAAA,KAAK,EAACz+E,CAAC,CAAC,CAAD,CAAR;AAAY4+E,cAAAA,IAAI,EAAC7sE,CAAC,CAAC5S,CAAD,EAAG,CAAC,EAAJ;AAAlB,aAAtF;AAAkH;AAAM;;AAAA,aAAI,QAAJ;AAAa;AAAC,kBAAMa,CAAC,GAAC0H,CAAC,CAACqK,CAAC,CAAC5S,CAAD,EAAG,CAAH,CAAF,EAAQ4S,CAAC,CAAC5S,CAAD,EAAG,CAAC,EAAJ,CAAT,CAAT;AAA2Ba,YAAAA,CAAC,CAACm+E,EAAF,GAAK,CAAL,EAAOn+E,CAAC,CAACo+E,EAAF,GAAK,CAAZ,EAAcp+E,CAAC,CAACq+E,EAAF,GAAK,MAAIh/E,CAAvB,EAAyBW,CAAC,CAACs+E,EAAF,GAAK,MAAIj/E,CAAlC,EAAoCI,CAAC,CAACwE,IAAF,CAAO;AAACw6E,cAAAA,KAAK,EAAC;AAAC/7E,gBAAAA,IAAI,EAAC,QAAN;AAAeg8E,gBAAAA,EAAE,EAAC,CAAlB;AAAoBC,gBAAAA,EAAE,EAAC,CAAvB;AAAyBv/E,gBAAAA,CAAC,EAAC,KAAGC;AAA9B,eAAP;AAAwCu/E,cAAAA,IAAI,EAAC5+E;AAA7C,aAAP,CAApC;AAA4F;AAAM;;AAAA,aAAI,aAAJ;AAAkB;AAAC,kBAAMA,CAAC,GAACa,uEAAC,CAACxB,CAAD,CAAT;AAAaI,YAAAA,CAAC,CAACwE,IAAF,CAAO;AAACw6E,cAAAA,KAAK,EAACz+E,CAAC,CAAC,CAAD,CAAR;AAAY4+E,cAAAA,IAAI,EAAC7sE,CAAC,CAAC5S,CAAD,EAAG,CAAC,EAAJ;AAAlB,aAAP,EAAkC;AAACs/E,cAAAA,KAAK,EAACz+E,CAAC,CAAC,CAAD,CAAR;AAAY4+E,cAAAA,IAAI,EAAC7sE,CAAC,CAAC5S,CAAD,EAAG,CAAH;AAAlB,aAAlC,EAA2D;AAACs/E,cAAAA,KAAK,EAACz+E,CAAC,CAAC,CAAD,CAAR;AAAY4+E,cAAAA,IAAI,EAAC7sE,CAAC,CAAC5S,CAAD,EAAG,CAAC,EAAJ;AAAlB,aAA3D;AAAuF;AAAM;AAA75B;;AAA85B;AAA/iE;;AAAqjE,SAAOM,CAAP;AAAS;;AAAA,SAASoL,CAAT,CAAW1L,CAAX,EAAa;AAAC,QAAME,CAAC,GAAC,YAAU,OAAOF,CAAC,EAAEw1B,IAApB,GAAyBx1B,CAAC,EAAEw1B,IAA5B,GAAiC,IAAzC;AAA8C,SAAOt1B,CAAC,GAACS,2DAAC,CAACT,CAAD,CAAF,GAAM,IAAd;AAAmB;;AAAA,SAASkoB,CAAT,CAAWpoB,CAAX,EAAa;AAAC,SAAM,WAASA,CAAC,CAACuD,IAAX,GAAgB,UAAhB,GAA2B,MAAjC;AAAwC;;SAAekI;;;;;yMAAf,WAAiBzL,CAAjB,EAAmBE,CAAnB,EAAqB;AAAC,UAAMW,CAAC,GAAC6K,CAAC,CAACxL,CAAD,CAAT;AAAA,UAAaI,CAAC,GAACJ,CAAC,EAAEs+E,OAAH,GAAW79E,2DAAC,CAACT,CAAC,CAACs+E,OAAH,CAAZ,GAAwB,IAAvC;AAAA,UAA4Cv+E,CAAC,GAACC,CAAC,EAAE0/E,iBAAH,IAAsB,CAAC,CAArE;AAAA,UAAuEp/E,CAAC,GAACR,CAAC,CAACusC,YAA3E;AAAA,UAAwF7rC,CAAC,GAAC,EAA1F;AAAA,UAA6FM,CAAC,GAAC,EAA/F;AAAkG,QAAIF,CAAC,GAAC,CAAC,CAAP;AAAA,QAASU,CAAC,GAAC,CAAX;AAAA,QAAaF,CAAC,GAAC,CAAf;AAAA,QAAiBJ,CAAC,GAAC,CAAnB;AAAqBV,IAAAA,CAAC,CAACmE,OAAF,CAAWvE,CAAC,IAAE;AAAC,UAAG,WAASA,CAAC,CAACmD,IAAX,IAAiB,aAAWnD,CAAC,CAACmD,IAAjC,EAAsC;AAAOnD,MAAAA,CAAC,IAAE,WAASA,CAAC,CAACmD,IAAd,KAAqBrC,CAAC,GAAC4iB,IAAI,CAAC3Z,GAAL,CAAS/J,CAAC,CAACo1B,IAAF,IAAQ70B,2DAAC,CAACP,CAAC,CAACo1B,IAAH,CAAlB,EAA2Bt0B,CAA3B,CAAvB;AAAsD,YAAMV,CAAC,GAAC,WAASJ,CAAC,CAACmD,IAAX,GAAgBnD,CAAC,CAACo1B,IAAF,IAAQ70B,2DAAC,CAACP,CAAC,CAACo1B,IAAH,CAAzB,GAAkC,CAA1C;AAAA,YAA4C5zB,CAAC,GAACf,CAAC,IAAEL,CAAH,GAAKsjB,IAAI,CAACiZ,IAAL,CAAUjZ,IAAI,CAAC5Z,GAAL,CAASrJ,CAAC,IAAEL,CAAZ,EAAcF,CAAC,IAAEwf,CAAjB,CAAV,CAAL,GAAoCnT,CAAlF;AAAoF,UAAIvL,CAAC,GAAC,WAAShB,CAAC,CAACmD,IAAX,GAAgBnD,CAAC,CAACy/E,KAAlB,GAAwB,IAA9B;;AAAmC,UAAG,QAAM3/E,CAAC,EAAE2U,QAAT,KAAoBzT,CAAC,GAAC,CAACA,CAAC,IAAE,CAAJ,IAAOlB,CAAC,CAAC2U,QAA/B,GAAyC7T,CAAC,CAAC8D,IAAF,CAAO1D,CAAP,CAAzC,EAAmDhB,CAAC,EAAE67D,QAAH,EAAavyC,IAAnE,EAAwE;AAAC,cAAMxpB,CAAC,GAACmL,CAAC,CAACrL,CAAD,EAAGI,CAAH,CAAD,CAAO4F,IAAP,CAAahG,CAAC,IAAE;AAAC,gBAAME,CAAC,GAACE,CAAC,EAAEosC,QAAH,EAAap3B,KAArB;AAAA,gBAA2BvU,CAAC,GAACunB,CAAC,CAAChoB,CAAD,CAA9B;AAAkC,iBAAO4G,oEAAC,CAAChH,CAAD,EAAG4B,CAAH,EAAK1B,CAAL,EAAOW,CAAP,EAASZ,CAAT,CAAR;AAAoB,SAAvE,EAA0E+F,IAA1E,CAAgFhG,CAAC,IAAE;AAAC,gBAAME,CAAC,GAACF,CAAC,CAACiZ,KAAV;AAAA,gBAAgBpY,CAAC,GAACb,CAAC,CAACwZ,MAApB;AAA2B,iBAAOhY,CAAC,GAACsiB,IAAI,CAAC3Z,GAAL,CAAS3I,CAAT,EAAWtB,CAAX,CAAF,EAAgBoB,CAAC,GAACwiB,IAAI,CAAC3Z,GAAL,CAAS7I,CAAT,EAAWT,CAAX,CAAlB,EAAgCO,CAAC,KAAGN,CAAC,GAAC,CAAC,CAAN,CAAjC,EAA0C,CAAC;AAACw+E,YAAAA,KAAK,EAAC;AAAC/7E,cAAAA,IAAI,EAAC,OAAN;AAAcf,cAAAA,CAAC,EAAC,CAAhB;AAAkBpB,cAAAA,CAAC,EAAC,CAApB;AAAsB6X,cAAAA,KAAK,EAAC/Y,CAA5B;AAA8BsZ,cAAAA,MAAM,EAAC3Y,CAArC;AAAuC+wE,cAAAA,GAAG,EAAC5xE,CAAC,CAAC6F;AAA7C,aAAP;AAAyD45E,YAAAA,IAAI,EAAC,IAA9D;AAAmEC,YAAAA,MAAM,EAAC;AAA1E,WAAD,CAAjD;AAAmI,SAAlP,CAAR;AAA6Ph/E,QAAAA,CAAC,CAACoE,IAAF,CAAO5E,CAAP;AAAU,OAAhV,MAAoV;AAAC,YAAIF,CAAC,GAAC4B,CAAN;AAAQ,mBAASxB,CAAC,CAACmD,IAAX,IAAiB1C,CAAjB,KAAqBb,CAAC,GAAC4B,CAAC,IAAEpB,CAAC,GAACU,CAAJ,CAAxB;AAAgC,cAAMZ,CAAC,GAAC,WAASJ,CAAC,EAAE4/E,YAAZ,IAA0B5/E,CAAC,EAAE4/E,YAAH,EAAiBC,MAA3C,IAAmD,aAAW3/E,CAAC,CAACmD,IAAb,IAAmBuP,CAAC,CAAC1S,CAAD,CAA/E;AAAmFoB,QAAAA,CAAC,GAACsiB,IAAI,CAAC3Z,GAAL,CAAS3I,CAAT,EAAWlB,CAAC,GAACiL,CAAD,GAAGvL,CAAf,CAAF,EAAoBsB,CAAC,GAACwiB,IAAI,CAAC3Z,GAAL,CAAS7I,CAAT,EAAWtB,CAAX,CAAtB,EAAoCoB,CAAC,IAAEhB,CAAC,CAAC67D,QAAF,EAAYojB,SAAf,IAA0B,CAAC,QAAD,EAAU,UAAV,EAAqB,GAArB,EAA0BvtD,QAA1B,CAAmC1xB,CAAC,CAAC67D,QAAF,EAAYojB,SAA/C,CAA1B,KAAsFv+E,CAAC,GAAC,CAAC,CAAzF,CAApC,EAAgIJ,CAAC,CAACoE,IAAF,CAAOO,OAAO,CAACC,OAAR,CAAgB6F,CAAC,CAAC/K,CAAD,EAAGJ,CAAH,EAAKM,CAAL,CAAjB,CAAP,CAAhI;AAAkK;AAAC,KAA51B;AAA+1B,UAAMsB,CAAC,SAAOyD,OAAO,CAACuB,UAAR,CAAmBlG,CAAnB,CAAd;AAAA,UAAoCU,CAAC,GAAC,EAAtC;AAAyC,WAAOQ,CAAC,CAAC+C,OAAF,CAAW3E,CAAC,IAAE;AAAC,sBAAcA,CAAC,CAACyf,MAAhB,GAAuBre,CAAC,CAAC0D,IAAF,CAAO9E,CAAC,CAAC0N,KAAT,CAAvB,GAAuC1N,CAAC,CAAC0f,MAAF,IAAUtf,iEAAA,CAAY,sCAAZ,EAAoDymB,IAApD,CAAyD,kCAAzD,EAA4F7mB,CAAC,CAAC0f,MAA9F,CAAjD;AAAuJ,KAAtK,GAAyK5d,8DAAC,CAACV,CAAD,EAAG,CAACI,CAAD,EAAGF,CAAH,CAAH,EAAS;AAAC0+E,MAAAA,IAAI,EAAC9/E,CAAC,EAAE8/E,IAAT;AAAcznE,MAAAA,KAAK,EAAC,CAAC,CAArB;AAAuBvP,MAAAA,OAAO,EAAC9I,CAAC,EAAE8I,OAAlC;AAA0Ci3E,MAAAA,SAAS,EAAC//E,CAAC,EAAE+/E,SAAvD;AAAiEC,MAAAA,SAAS,EAACl/E,CAA3E;AAA6Em/E,MAAAA,eAAe,EAACr/E;AAA7F,KAAT,CAAjL;AAA2R;;;;AAAA,SAASymB,CAAT,CAAWvnB,CAAX,EAAaE,CAAb,EAAe;AAAC,QAAMW,CAAC,GAACb,CAAC,CAACusC,YAAV;AAAA,QAAuBjsC,CAAC,GAAC,EAAzB;AAAA,QAA4BF,CAAC,GAACkC,8DAAC,CAACtC,CAAD,CAA/B;AAAA,QAAmCC,CAAC,GAACyL,CAAC,CAACxL,CAAD,CAAtC;AAAA,QAA0CM,CAAC,GAAC,CAACN,CAAC,EAAEs+E,OAAH,GAAW79E,2DAAC,CAACT,CAAC,CAACs+E,OAAH,CAAZ,GAAwB,IAAzB,KAAgCn4E,CAA5E;AAA8E,MAAI3F,CAAJ;AAAA,MAAMM,CAAC,GAAC,CAAR;AAAA,MAAUF,CAAC,GAAC,CAAZ;AAAc,SAAOD,CAAC,CAAC8D,OAAF,CAAW,CAAC3E,CAAD,EAAGE,CAAH,KAAO;AAAC,QAAG,CAACF,CAAJ,EAAM;AAAO,QAAG,WAASA,CAAC,CAACuD,IAAX,IAAiB,WAASvD,CAAC,CAACuD,IAA/B,EAAoC;AAAO,UAAM1C,CAAC,GAAC,EAAR;;AAAW,YAAOb,CAAC,CAACuD,IAAT;AAAe,WAAI,MAAJ;AAAW;AAAC,gBAAMjD,CAAC,GAACuM,CAAC,CAAC7M,CAAD,EAAG,CAAH,CAAT;AAAe,cAAG,QAAMM,CAAT,EAAW;AAAM,gBAAMF,CAAC,GAACE,CAAC,EAAE2Y,KAAH,IAAU,CAAlB;AAAoB,gBAAI/Y,CAAJ,KAAQQ,CAAC,GAACN,CAAV;AAAa,gBAAMO,CAAC,GAACmjB,IAAI,CAAC5Z,GAAL,CAASjK,CAAC,IAAEG,CAAZ,EAAcI,CAAd,CAAR;AAAA,gBAAyBgB,CAAC,GAAC,MAAItB,CAAJ,GAAMS,CAAN,GAAQV,CAAC,GAACU,CAAC,IAAEP,CAAC,GAACM,CAAJ,CAAF,GAASC,CAA7C;AAAA,gBAA+CW,CAAC,GAACE,CAAC,GAAC8J,CAAC,GAAC,CAAJ,GAAM,IAAE9J,CAAR,GAAU8J,CAA3D;AAA6DxK,UAAAA,CAAC,GAACgjB,IAAI,CAAC3Z,GAAL,CAASrJ,CAAT,EAAWU,CAAX,CAAF,EAAgBR,CAAC,GAAC8iB,IAAI,CAAC3Z,GAAL,CAASnJ,CAAT,EAAWM,CAAX,CAAlB,EAAgChB,CAAC,CAAC2Y,KAAF,GAAQzX,CAAxC,EAA0CX,CAAC,CAACiE,IAAF,CAAO;AAACw6E,YAAAA,KAAK,EAAC;AAAC/7E,cAAAA,IAAI,EAAC,MAAN;AAAakiB,cAAAA,IAAI,EAAC,CAAC;AAACk6D,gBAAAA,OAAO,EAAC,GAAT;AAAazgC,gBAAAA,MAAM,EAAC,CAAC,CAAD,EAAG,KAAGp+C,CAAN;AAApB,eAAD,EAA+B;AAAC6+E,gBAAAA,OAAO,EAAC,GAAT;AAAazgC,gBAAAA,MAAM,EAAC,CAACl+C,CAAD,EAAG,KAAGF,CAAN;AAApB,eAA/B;AAAlB,aAAP;AAAwF4+E,YAAAA,MAAM,EAACp/E;AAA/F,WAAP,CAA1C;AAAoJ;AAAM;;AAAA,WAAI,MAAJ;AAAW;AAAC,gBAAMJ,CAAC,GAAC4jB,IAAI,CAAC5Z,GAAL,CAASjK,CAAC,IAAE0M,CAAZ,EAAcnM,CAAd,CAAR;AAAA,gBAAyBF,CAAC,GAACsS,CAAC,CAAC5S,CAAD,EAAG,CAAH,CAA5B;AAAA,gBAAkCI,CAAC,GAACwS,CAAC,CAAC5S,CAAD,EAAG,CAAC,EAAJ,CAArC;AAAA,gBAA6CW,CAAC,GAAC6K,CAAC,CAACxL,CAAD,EAAG,CAAC,EAAJ,CAAhD;AAAA,gBAAwDU,CAAC,GAACC,CAAC,GAAC;AAACyU,YAAAA,KAAK,EAACzU,CAAP;AAASsY,YAAAA,KAAK,EAAC;AAAf,WAAD,GAAmB,EAA9E;;AAAiF,cAAG,WAASjZ,CAAC,CAACogF,OAAd,EAAsB;AAAC,kBAAMlgF,CAAC,GAACF,CAAC,CAACiZ,KAAV;AAAA,kBAAgBtY,CAAC,GAACX,CAAC,CAACwZ,MAApB;AAAA,kBAA2BvZ,CAAC,GAACiB,sEAAC,CAAChB,CAAC,IAAES,CAAH,GAAKT,CAAC,GAACS,CAAP,GAAS,CAAV,EAAY,MAAIA,CAAhB,EAAkB,MAAIT,CAAtB,CAA9B;AAAA,kBAAuDM,CAAC,GAAC,EAAC,GAAGE,CAAJ;AAAM8lB,cAAAA,IAAI,EAAC;AAAX,aAAzD;AAA6E3lB,YAAAA,CAAC,CAACiE,IAAF,CAAO;AAACw6E,cAAAA,KAAK,EAACr/E,CAAC,CAAC,CAAD,CAAR;AAAYw/E,cAAAA,IAAI,EAACr/E,CAAjB;AAAmBs/E,cAAAA,MAAM,EAACl/E;AAA1B,aAAP,EAAoC;AAAC8+E,cAAAA,KAAK,EAACr/E,CAAC,CAAC,CAAD,CAAR;AAAYw/E,cAAAA,IAAI,EAACr/E,CAAjB;AAAmBs/E,cAAAA,MAAM,EAACl/E;AAA1B,aAApC,EAAiE;AAAC8+E,cAAAA,KAAK,EAACr/E,CAAC,CAAC,CAAD,CAAR;AAAYw/E,cAAAA,IAAI,EAACn/E,CAAjB;AAAmBo/E,cAAAA,MAAM,EAACl/E;AAA1B,aAAjE;AAA+F,WAAnM,MAAwMK,CAAC,CAACiE,IAAF,CAAO;AAACw6E,YAAAA,KAAK,EAAC19E,0EAAP;AAA8B69E,YAAAA,IAAI,EAACr/E,CAAnC;AAAqCs/E,YAAAA,MAAM,EAACh/E;AAA5C,WAAP,EAAsD;AAAC4+E,YAAAA,KAAK,EAAC19E,0EAAP;AAA8B69E,YAAAA,IAAI,EAACn/E,CAAnC;AAAqCo/E,YAAAA,MAAM,EAACh/E;AAA5C,WAAtD;;AAAsGI,UAAAA,CAAC,GAACgjB,IAAI,CAAC3Z,GAAL,CAASrJ,CAAT,EAAWZ,CAAX,CAAF,EAAgBc,CAAC,GAACF,CAAlB;AAAoB;AAAltB;;AAAmtBR,IAAAA,CAAC,CAACwE,IAAF,CAAOjE,CAAP;AAAU,GAAnzB,GAAszBwE,OAAO,CAACC,OAAR,CAAgBxD,8DAAC,CAACxB,CAAD,EAAG,CAACU,CAAD,EAAGF,CAAH,CAAH,EAAS;AAACk/E,IAAAA,IAAI,EAAC9/E,CAAC,EAAE8/E,IAAT;AAAcznE,IAAAA,KAAK,EAACnY,CAApB;AAAsB4I,IAAAA,OAAO,EAAC9I,CAAC,EAAE8I,OAAjC;AAAyCi3E,IAAAA,SAAS,EAAC//E,CAAC,EAAE+/E;AAAtD,GAAT,CAAjB,CAA7zB;AAA05B;;SAAen4D;;;;;yMAAf,WAAiB9nB,CAAjB,EAAmBE,CAAnB,EAAqB;AAAC,UAAMW,CAAC,GAAC,cAAYb,CAAC,CAACuD,IAAtB;AAAA,UAA2BjD,CAAC,GAACN,CAAC,CAACusC,YAA/B;AAAA,UAA4CnsC,CAAC,GAACsL,CAAC,CAACxL,CAAD,CAA/C;AAAA,UAAmDD,CAAC,GAACC,CAAC,EAAEs+E,OAAH,GAAW79E,2DAAC,CAACT,CAAC,CAACs+E,OAAH,CAAZ,GAAwB,IAA7E;AAAA,UAAkFh+E,CAAC,GAACJ,CAAC,IAAEuM,CAAvF;AAAA,UAAyFjM,CAAC,GAAC,EAA3F;AAA8F,QAAIM,CAAC,GAAC,CAAN;AAAA,QAAQF,CAAC,GAAC,CAAV;AAAA,QAAYU,CAAC,GAAC,CAAC,CAAf;;AAAiB,SAAI,IAAIb,CAAC,GAAC,CAAV,EAAYA,CAAC,GAACL,CAAC,CAACuN,MAAhB,EAAuBlN,CAAC,EAAxB,EAA2B;AAAC,YAAMX,CAAC,GAACM,CAAC,CAACkpB,EAAF,CAAK7oB,CAAL,CAAR;AAAA,YAAgBT,CAAC,GAAC,EAAlB;;AAAqB,UAAG,CAACW,CAAD,IAAI,WAASb,CAAC,CAACuD,IAAlB,EAAuB;AAAC,gBAAOvD,CAAC,CAACuD,IAAT;AAAe,eAAI,MAAJ;AAAW;AAAC,oBAAMjD,CAAC,GAACwjB,IAAI,CAAC5Z,GAAL,CAAS1J,CAAT,EAAWP,CAAC,IAAE6f,CAAd,CAAR;;AAAyB,kBAAG9e,CAAC,GAAC8iB,IAAI,CAAC3Z,GAAL,CAASnJ,CAAT,EAAWV,CAAX,CAAF,EAAgBQ,CAAC,GAACgjB,IAAI,CAAC3Z,GAAL,CAASrJ,CAAT,EAAWR,CAAX,CAAlB,EAAgCkB,CAAC,GAAC,CAAC,CAAnC,EAAqCX,CAAxC,EAA0C;AAAC,sBAAMA,CAAC,GAACe,sEAAR;AAAA,sBAA2BtB,CAAC,GAACkL,CAAC,CAACxL,CAAD,EAAG,CAAC,EAAJ,CAA9B;AAAA,sBAAsCI,CAAC,GAACE,CAAC,GAAC;AAAC8U,kBAAAA,KAAK,EAAC9U,CAAP;AAAS2Y,kBAAAA,KAAK,EAAC,CAAf;AAAiBuN,kBAAAA,IAAI,EAAC;AAAtB,iBAAD,GAAgC,EAAzE;AAA4EtmB,gBAAAA,CAAC,CAAC4E,IAAF,CAAO;AAACw6E,kBAAAA,KAAK,EAACz+E,CAAC,CAAC,CAAD,CAAR;AAAY4+E,kBAAAA,IAAI,EAAC7sE,CAAC,CAAC5S,CAAD,EAAG,CAAH,CAAlB;AAAwB0/E,kBAAAA,MAAM,EAACt/E;AAA/B,iBAAP,EAAyC;AAACk/E,kBAAAA,KAAK,EAACz+E,CAAC,CAAC,CAAD,CAAR;AAAY4+E,kBAAAA,IAAI,EAAC7sE,CAAC,CAAC5S,CAAD,EAAG,CAAC,EAAJ,CAAlB;AAA0B0/E,kBAAAA,MAAM,EAACt/E;AAAjC,iBAAzC,EAA6E;AAACk/E,kBAAAA,KAAK,EAACz+E,CAAC,CAAC,CAAD,CAAR;AAAY4+E,kBAAAA,IAAI,EAAC7sE,CAAC,CAAC5S,CAAD,EAAG,CAAC,EAAJ,CAAlB;AAA0B0/E,kBAAAA,MAAM,EAACt/E;AAAjC,iBAA7E;AAAkH,eAAzO,MAA6O;AAAC,oBAAIS,CAAC,GAAC+R,CAAC,CAAC5S,CAAD,EAAG,CAAH,CAAP;AAAa,sBAAMM,CAAC,GAAC,aAAYN,CAAZ,GAAcA,CAAC,CAAC2hC,OAAhB,GAAwB,IAAhC;AAAA,sBAAqCvhC,CAAC,GAAC2I,CAAC,CAAC/I,CAAD,CAAxC;AAAA,sBAA4CW,CAAC,GAACwB,CAAC,CAACnC,CAAD,CAA/C;AAAmD,wBAAMM,CAAN,IAAS,YAAUA,CAAC,CAACiD,IAArB,IAA2B,YAAUjD,CAAC,CAACuC,KAAvC,IAA8ClC,CAA9C,KAAkDE,CAAC,SAAOqmB,CAAC,CAAC5mB,CAAD,EAAGK,CAAH,CAA3D,GAAkET,CAAC,CAAC4E,IAAF,CAAO;AAACw6E,kBAAAA,KAAK,EAAC19E,6DAAP;AAAiB69E,kBAAAA,IAAI,EAAC5+E,CAAtB;AAAwB6+E,kBAAAA,MAAM,EAACt/E;AAA/B,iBAAP,CAAlE;AAA4G;;AAAA;AAAM;;AAAA,eAAI,MAAJ;AAAW;AAAC,oBAAMS,CAAC,GAACgM,CAAC,CAAC7M,CAAD,EAAG,CAAH,CAAT;AAAe,kBAAG,QAAMa,CAAT,EAAW;AAAM,oBAAMP,CAAC,GAAC;AAACo/E,gBAAAA,MAAM,EAAC7+E,CAAR;AAAUy+E,gBAAAA,KAAK,EAAC19E,6DAAA;AAAhB,eAAR;AAAmCZ,cAAAA,CAAC,GAAC8iB,IAAI,CAAC3Z,GAAL,CAASnJ,CAAT,EAAW2L,CAAX,CAAF,EAAgB7L,CAAC,GAACgjB,IAAI,CAAC3Z,GAAL,CAASrJ,CAAT,EAAW6L,CAAX,CAAlB,EAAgCzM,CAAC,CAAC4E,IAAF,CAAOxE,CAAP,CAAhC;AAA0C;AAAM;;AAAA,eAAI,SAAJ;AAAc;AAAC,oBAAMO,CAAC,GAAC;AAAC2lB,gBAAAA,IAAI,EAAC,OAAN;AAAcvN,gBAAAA,KAAK,EAAC,CAApB;AAAsB,mBAAGpM,CAAC,CAAC7M,CAAD,EAAG,CAAC,EAAJ;AAA1B,eAAR;AAAA,oBAA2CM,CAAC,GAACsS,CAAC,CAAC5S,CAAD,EAAG,CAAH,CAA9C;AAAA,oBAAoDI,CAAC,GAACwS,CAAC,CAAC5S,CAAD,EAAG,CAAC,EAAJ,CAAvD;AAAA,oBAA+DW,CAAC,GAACmjB,IAAI,CAAC5Z,GAAL,CAAS1J,CAAT,EAAWP,CAAC,IAAE6f,CAAd,CAAjE;AAAA,oBAAkFpf,CAAC,GAACU,yEAAC,CAACT,CAAD,CAArF;AAAyFE,cAAAA,CAAC,CAACoY,KAAF,GAAQ,CAAR,EAAU/Y,CAAC,CAAC4E,IAAF,CAAO;AAACw6E,gBAAAA,KAAK,EAAC5+E,CAAC,CAAC,CAAD,CAAR;AAAY++E,gBAAAA,IAAI,EAACr/E,CAAjB;AAAmBs/E,gBAAAA,MAAM,EAAC7+E;AAA1B,eAAP,EAAoC;AAACy+E,gBAAAA,KAAK,EAAC5+E,CAAC,CAAC,CAAD,CAAR;AAAY++E,gBAAAA,IAAI,EAACr/E,CAAjB;AAAmBs/E,gBAAAA,MAAM,EAAC7+E;AAA1B,eAApC,EAAiE;AAACy+E,gBAAAA,KAAK,EAAC5+E,CAAC,CAAC,CAAD,CAAR;AAAY++E,gBAAAA,IAAI,EAACn/E,CAAjB;AAAmBo/E,gBAAAA,MAAM,EAAC7+E;AAA1B,eAAjE,CAAV;AAAyG,oBAAMW,CAAC,GAACmL,CAAR;AAAA,oBAAUrL,CAAC,GAAC,KAAGqL,CAAH,GAAK,KAAGhM,CAApB;AAAsBK,cAAAA,CAAC,GAAC8iB,IAAI,CAAC3Z,GAAL,CAASnJ,CAAT,EAAWQ,CAAX,CAAF,EAAgBV,CAAC,GAACgjB,IAAI,CAAC3Z,GAAL,CAASrJ,CAAT,EAAWQ,CAAX,CAAlB;AAAgC;AAAM;;AAAA,eAAI,OAAJ;AAAY;AAAC,oBAAMT,CAAC,GAACsB,CAAC,CAACnC,CAAD,CAAT;AAAA,oBAAaM,CAAC,GAACoR,CAAC,CAAC7Q,CAAD,CAAhB;AAAA,oBAAoBT,CAAC,GAACsR,CAAC,CAAC7Q,CAAD,EAAG,CAAH,CAAvB;AAAA,oBAA6BF,CAAC,GAAC+Q,CAAC,CAAC7Q,CAAD,EAAG,CAAH,CAAhC;AAAA,oBAAsCH,CAAC,GAAC8B,uEAAC,EAAzC;AAA4ChB,cAAAA,CAAC,GAAC,CAAC,CAAH,EAAKtB,CAAC,CAAC4E,IAAF,CAAO;AAACw6E,gBAAAA,KAAK,EAAC5+E,CAAC,CAAC,CAAD,CAAR;AAAY++E,gBAAAA,IAAI,EAACn/E;AAAjB,eAAP,EAA2B;AAACg/E,gBAAAA,KAAK,EAAC5+E,CAAC,CAAC,CAAD,CAAR;AAAY++E,gBAAAA,IAAI,EAACr/E;AAAjB,eAA3B,EAA+C;AAACk/E,gBAAAA,KAAK,EAAC5+E,CAAC,CAAC,CAAD,CAAR;AAAY++E,gBAAAA,IAAI,EAAC9+E;AAAjB,eAA/C,CAAL;AAAyE,oBAAMW,CAAC,GAACwiB,IAAI,CAAC5Z,GAAL,CAAS1J,CAAT,EAAWP,CAAC,IAAE6f,CAAd,CAAR;AAAyB9e,cAAAA,CAAC,GAAC8iB,IAAI,CAAC3Z,GAAL,CAASnJ,CAAT,EAAWM,CAAX,CAAF,EAAgBR,CAAC,GAACgjB,IAAI,CAAC3Z,GAAL,CAASrJ,CAAT,EAAWQ,CAAX,CAAlB;AAAgC;AAAM;AAAjiC;;AAAkiCZ,QAAAA,CAAC,CAACoE,IAAF,CAAO5E,CAAP;AAAU;AAAC;;AAAA,WAAO4B,8DAAC,CAACpB,CAAD,EAAG,CAACM,CAAD,EAAGF,CAAH,CAAH,EAAS;AAACk/E,MAAAA,IAAI,EAAC9/E,CAAC,EAAE8/E,IAAT;AAAcznE,MAAAA,KAAK,EAAC/W,CAApB;AAAsBwH,MAAAA,OAAO,EAAC9I,CAAC,EAAE8I,OAAjC;AAAyCi3E,MAAAA,SAAS,EAAC//E,CAAC,EAAE+/E;AAAtD,KAAT,CAAR;AAAmF;;;;AAAA,SAAS5tE,CAAT,CAAWrS,CAAX,EAAaE,CAAb,EAAe;AAAC,MAAG,MAAIF,CAAC,CAACusC,YAAF,CAAe1+B,MAAtB,EAA6B,OAAOxI,OAAO,CAAC+O,MAAR,CAAe,IAAI9T,sDAAJ,CAAM,oCAAN,EAA2C,gCAA3C,CAAf,CAAP;;AAAoG,UAAON,CAAC,CAACuD,IAAT;AAAe,SAAI,UAAJ;AAAe,aAAOkI,CAAC,CAACzL,CAAD,EAAGE,CAAH,CAAR;;AAAc,SAAI,SAAJ;AAAc,aAAOqnB,CAAC,CAACvnB,CAAD,EAAGE,CAAH,CAAR;;AAAc,SAAI,YAAJ;AAAiB,SAAI,SAAJ;AAAc,aAAO4nB,CAAC,CAAC9nB,CAAD,EAAGE,CAAH,CAAR;AAAvG;;AAAqH,SAAOmF,OAAO,CAAC+O,MAAR,CAAe,IAAI9T,sDAAJ,CAAM,6BAAN,EAAoC,uBAApC,CAAf,CAAP;AAAoF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACJ3iT;AACA;AACA;AACA;AAC8B,MAAM,aAAa,+JAA+J,SAAS,GAAG,SAAS,OAAO,iEAAiE,eAAe,mEAAmE,qBAAqB,2DAA2D,EAAE,6DAA6D,EAAE,oDAAoD,sBAAsB,6EAA6E,EAAE,8BAA8B,yBAAyB,0DAA0D,EAAE,2DAA2D,EAAE,8DAA8D,SAAS,iEAAiE,aAAa,+EAA+E,iBAAiB,0CAA0C,EAAE,yFAAyF,SAAS,8DAA8D,EAAE,6DAA6D,EAAE,yDAAyD,aAAa,0EAA0E,EAAE,qEAAqE,EAAE,gEAAgE,aAAa,wEAAwE,EAAE,oCAAoC,iBAAiB,oFAAoF,EAAE,sCAAsC,YAAY,oDAAoD,EAAE,oDAAoD,EAAE,kDAAkD,EAAE,kDAAkD,gBAAgB,kDAAkD,EAAE,kDAAkD,EAAE,gDAAgD,GAAG,kBAAkB,eAAe,YAAY,0BAA0B,cAAc,YAAY,kBAAkB,QAAQ,mBAAmB,yBAAyB,EAAE,kCAAkC,EAAE,uCAAuC,EAAE,mCAAmC,EAAE,sBAAsB,EAAE,EAAE,mBAAmB,yBAAyB,EAAE,kCAAkC,EAAE,uCAAuC,EAAE,mCAAmC,EAAE,sBAAsB,EAAE,EAAE,mBAAmB,mCAAmC,EAAE,uCAAuC,EAAE,2CAA2C,EAAE,uCAAuC,EAAE,sBAAsB,EAAE,EAAE,cAAc,8BAA8B,QAAQ,mBAAmB,+BAA+B,EAAE,+BAA+B,EAAE,iCAAiC,EAAE,sCAAsC,EAAE,sBAAsB,EAAE,EAAE,mBAAmB,+BAA+B,EAAE,iCAAiC,EAAE,yBAAyB,EAAE,yBAAyB,EAAE,sBAAsB,EAAE,EAAE,mBAAmB,4BAA4B,EAAE,yBAAyB,EAAE,+BAA+B,EAAE,+BAA+B,EAAE,sBAAsB,EAAE,EAAE,aAAa,QAAQ,6TAA6T,EAAE,8kBAA8kB,EAAE,8hBAA8hB,EAAE,gBAAgB,4BAA4B,kBAAkB,uBAAuB,6BAA6B,QAAQ,mBAAmB,4BAA4B,EAAE,4BAA4B,EAAE,4BAA4B,EAAE,4BAA4B,EAAE,sBAAsB,EAAE,EAAE,mBAAmB,4BAA4B,EAAE,4BAA4B,EAAE,4BAA4B,EAAE,8BAA8B,EAAE,sBAAsB,EAAE,EAAE,mBAAmB,4BAA4B,EAAE,4BAA4B,EAAE,8BAA8B,EAAE,4BAA4B,EAAE,sBAAsB,EAAE,EAAE,gBAAgB,4BAA4B,kBAAkB,uBAAuB,+BAA+B,QAAQ,sCAAsC,EAAE,mBAAmB,yBAAyB,EAAE,yBAAyB,EAAE,yBAAyB,EAAE,yBAAyB,EAAE,sBAAsB,EAAE,EAAE,sCAAsC,EAAE,gBAAgB,4BAA4B,kBAAkB,uBAAuB,oBAAoB,QAAQ,yCAAyC,EAAE,mBAAmB,4BAA4B,EAAE,yBAAyB,EAAE,yBAAyB,EAAE,sBAAsB,EAAE,EAAE,cAAc,QAAQ,cAAc,sBAAsB,kBAAkB,QAAQ,mBAAmB,yBAAyB,EAAE,yBAAyB,EAAE,8BAA8B,EAAE,sBAAsB,EAAE,EAAE,yCAAyC,EAAE,cAAc,QAAQ,cAAc,sBAAsB,8CAA8C,QAAQ,mBAAmB,6BAA6B,EAAE,8BAA8B,EAAE,oCAAoC,EAAE,sBAAsB,EAAE,EAAE,mBAAmB,6BAA6B,EAAE,oCAAoC,EAAE,8BAA8B,EAAE,sBAAsB,EAAE,EAAE,mBAAmB,8BAA8B,EAAE,oCAAoC,EAAE,6BAA6B,EAAE,sBAAsB,EAAE,EAAE,mBAAmB,6BAA6B,EAAE,8BAA8B,EAAE,oCAAoC,EAAE,sBAAsB,EAAE,EAAE,cAAc,cAAc,QAAQ,sBAAsB,cAAc,QAAQ,mBAAmB,6BAA6B,EAAE,yBAAyB,EAAE,gCAAgC,EAAE,sBAAsB,EAAE,EAAE,mBAAmB,6BAA6B,EAAE,gCAAgC,EAAE,yBAAyB,EAAE,sBAAsB,EAAE,EAAE,mBAAmB,yBAAyB,EAAE,gCAAgC,EAAE,yBAAyB,EAAE,sBAAsB,EAAE,EAAE,gBAAgB,YAAY,uDAAuD,gBAAgB,sBAAsB,iDAAC,CAAC,gEAAgE,YAAY,iDAAC,IAAI,WAAW,iDAAC,mCAAqW;;;;;;;;;;;;;;;;;;;;;;;;;;;ACJnpQ;AACA;AACA;AACA;AACsZ,QAAQ,4EAAC,GAAG,gBAAgB,0BAA0B,kBAAkB,0CAA0C,wCAAwC,+CAA+C,4FAA4F,qEAAC,gBAAgB,gBAAgB,uDAAC,cAAc,gBAAgB,8BAA8B,yCAAyC,gEAAgE,2BAA2B,8BAA8B,kBAAkB,SAAS,uDAAC,IAAI,qBAAqB,YAAY,0CAA0C,QAAQ,MAAM,sBAAsB,gBAAgB,OAAO,kEAAkE,sBAAsB,sDAAC,qDAAqD,gBAAgB,sFAAsF,sBAAsB,UAAU,iEAAiE,MAAM,SAAS,QAAQ,0DAAC,EAAE,yBAAyB,EAAE,gCAAgC,QAAQ,0DAAC,IAAI,4CAA4C,QAAQ,sBAAsB,0BAA0B,iCAAiC,oBAAoB,qCAAqC,wDAAG,yCAAyC,eAAe,qCAAqC,kEAAkE,0DAAC,IAAI,YAAY,gBAAgB,uBAAuB,wDAAwD,KAAK,QAAQ,yDAAiB,IAAI,aAAa,gCAAgC,KAAK,EAAE,EAAE,EAAE,QAAQ,QAAQ,GAAG,OAAO,wBAAwB,gBAAgB,uBAAuB,IAAsE;;;;;;;;;;;;;;;;ACJjuE;AACA;AACA;AACA;AACA,gBAA0C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACJ1C;AACA;AACA;AACA;AACA;AAAgC;AAAmC;AAAmC;AAA+D;AAAmE;AAAsC;AAAiD;;SAA8DsB;;;;;yMAAf,WAAiB5B,CAAjB,EAAmBE,CAAnB,EAAqB;AAAC,QAAG;AAAC,aAAM;AAACgE,QAAAA,IAAI,EAAC,OAAOpD,CAAC,CAACd,CAAD,EAAGE,CAAH,CAAR,EAAegE,IAArB;AAA0BstB,QAAAA,OAAO,EAACpxB,6DAAC,CAACJ,CAAD,CAAnC;AAAuCunE,QAAAA,QAAQ,EAACvnE;AAAhD,OAAN;AAAyD,KAA7D,CAA6D,OAAMQ,CAAN,EAAQ;AAAC,aAAOP,wEAAC,CAACO,CAAD,CAAD,EAAK,IAAZ;AAAiB;AAAC;;;;AAAA,SAASgB,CAAT,CAAWxB,CAAX,EAAaE,CAAb,EAAeD,CAAf,EAAiB;AAAC,QAAMO,CAAC,GAAC,QAAMN,CAAC,CAACkG,MAAR,GAAelG,CAAC,CAACkG,MAAjB,GAAwBzF,oEAAA,EAAhC;AAA+C,MAAIP,CAAJ;AAAM,QAAMS,CAAC,GAAE,GAAEL,CAAC,CAACqF,GAAI,MAAKrF,CAAC,CAACmlB,IAAF,EAAQi1C,QAAS,MAAK56D,CAAE,EAA9C;AAAA,QAAgD4B,CAAC,GAACtB,4DAAA,CAAMO,CAAN,CAAlD;AAA2D,MAAGe,CAAH,EAAK,OAAOA,CAAP;AAAS,QAAMJ,CAAC,GAACR,CAAC,CAAChB,CAAD,EAAGQ,CAAH,EAAKP,CAAL,CAAD,CAAS+F,IAAT,CAAehG,CAAC,KAAGI,CAAC,GAACJ,CAAF,EAAIA,CAAC,CAAC6G,SAAF,EAAP,CAAhB,EAAwCb,IAAxC,CAA8C9F,CAAC,KAAG;AAACgE,IAAAA,IAAI,EAAChE,CAAN;AAAQsxB,IAAAA,OAAO,EAACpxB,CAAC,CAAC0G,OAAF,IAAW,EAA3B;AAA8BugE,IAAAA,SAAS,EAACrnE;AAAxC,GAAH,CAA/C,CAAR;AAAwG,SAAOM,4DAAA,CAAMO,CAAN,EAAQW,CAAR,GAAWA,CAAlB;AAAoB;;AAAA,SAASR,CAAT,CAAWhB,CAAX,EAAaC,CAAb,EAAeO,CAAf,EAAiB;AAAC,SAAOP,CAAC,CAACiF,IAAF,CAAO1E,CAAP,EAAUwF,IAAV,CAAgB,MAAI;AAAC,UAAM9F,CAAC,GAAC,IAAIW,oEAAJ,CAAM;AAACi2D,MAAAA,iBAAiB,EAAC,CAAC,CAApB;AAAsB3vD,MAAAA,KAAK,EAAE,SAAQzF,CAAE,aAAYG,CAAE,sBAAqB7B,CAAE;AAA5E,KAAN,CAAR;AAA+F,WAAOC,CAAC,CAAC82D,UAAF,CAAa72D,CAAb,EAAeM,CAAf,CAAP;AAAyB,GAA7I,EAAgJwF,IAAhJ,CAAsJ,CAAC;AAACgxD,IAAAA,OAAO,EAAC/2D;AAAT,GAAD,KAAe;AAAC,QAAIG,CAAC,GAAC,IAAN;AAAW,UAAMO,CAAC,GAACX,CAAC,CAAC4P,WAAF,EAAR;AAAwB,QAAG3P,CAAC,IAAEsG,KAAK,CAACC,OAAN,CAAcvG,CAAd,CAAN,EAAuB,KAAI,MAAMD,CAAV,IAAeC,CAAf,EAAiB;AAAC,YAAMC,CAAC,GAACF,CAAC,CAACq6D,YAAF,EAAgB7iD,IAAhB,CAAsBxX,CAAC,IAAEA,CAAC,CAAC4P,WAAF,OAAkBjP,CAA3C,CAAR;;AAAuD,UAAGT,CAAC,IAAEF,CAAC,CAACuD,IAAF,KAAS1B,CAAZ,IAAe7B,CAAC,CAACsnD,KAAF,KAAU5lD,CAA5B,EAA8B;AAACtB,QAAAA,CAAC,GAACJ,CAAF;AAAI;AAAM;AAAC;AAAA,QAAG,CAACI,CAAJ,EAAM,MAAM,IAAIF,sDAAJ,CAAM,kCAAN,EAA0C,cAAaF,CAAE,sBAAzD,EAA+E;AAACqnE,MAAAA,SAAS,EAACrnE;AAAX,KAA/E,CAAN;AAAoG,WAAOI,CAAC,CAAC8E,IAAF,CAAO1E,CAAP,CAAP;AAAiB,GAA9c,CAAP;AAAwd;;AAAA,SAASE,CAAT,CAAWV,CAAX,EAAaC,CAAb,EAAeO,CAAf,EAAiB;AAAC,SAAO,QAAMR,CAAC,EAAEunE,QAAT,GAAkB3lE,CAAC,CAAC5B,CAAC,CAACunE,QAAH,EAAY/mE,CAAZ,CAAnB,GAAkC,QAAMR,CAAC,EAAEqnE,SAAT,GAAmB7lE,CAAC,CAACxB,CAAC,CAACqnE,SAAH,EAAapnE,CAAb,EAAeO,CAAf,CAApB,GAAsC6E,OAAO,CAAC+O,MAAR,CAAe,IAAIlU,sDAAJ,CAAM,6CAAN,EAAoD,6DAApD,CAAf,CAA/E;AAAkN;;AAAA,SAASgB,CAAT,CAAWlB,CAAX,EAAa;AAAC,SAAO,SAAOA,CAAP,IAAU,yBAAuBA,CAAC,CAACuD,IAAnC,GAAwCvD,CAAxC,GAA0C;AAACuD,IAAAA,IAAI,EAAC,oBAAN;AAA2B+oC,IAAAA,MAAM,EAACtsC;AAAlC,GAAjD;AAAsF;;AAAA,SAASoB,CAAT,CAAWpB,CAAX,EAAaE,CAAb,EAAeD,CAAC,GAAC,CAAC,MAAD,CAAjB,EAA0B;AAAC,MAAG,aAAWC,CAAd,EAAgB,OAAO0gF,SAAS,CAAC5gF,CAAC,CAAC6gF,MAAH,CAAhB;AAA2B,MAAG7gF,CAAC,CAAC8gF,WAAF,IAAe,CAACzxE,wDAAG,CAAC,2BAAD,CAAtB,EAAoD,KAAI,MAAM7O,CAAV,IAAeP,CAAf,EAAiB;AAAC,UAAMC,CAAC,GAACF,CAAC,CAAC8gF,WAAF,CAAcpxE,IAAd,CAAoB1P,CAAC,IAAEA,CAAC,CAACuD,IAAF,KAAS/C,CAAhC,CAAR;AAA4C,QAAGN,CAAH,EAAK,OAAOA,CAAC,CAACwpB,IAAT;AAAc;AAAA,SAAOk3D,SAAS,CAAC5gF,CAAC,CAAC+gF,MAAH,CAAhB;AAA2B;;AAAA,SAASjgF,CAAT,CAAWZ,CAAX,EAAaD,CAAb,EAAe;AAAC,QAAMG,CAAC,GAAC;AAAC8d,IAAAA,YAAY,EAAC,MAAd;AAAqB/W,IAAAA,KAAK,EAAC;AAACvF,MAAAA,CAAC,EAAC;AAAH,KAA3B;AAAsC,OAAG3B;AAAzC,GAAR;AAAoD,SAAOD,uDAAC,CAACQ,4DAAC,CAACN,CAAD,CAAF,EAAME,CAAN,CAAR;AAAiB;;AAAA,MAAMsB,CAAC,GAAC,SAAR;AAAA,MAAkBG,CAAC,GAAC,OAApB;AAAA,MAA4BP,CAAC,GAAC,kIAA9B;;;;;;;;;;;;;;;;;;;;;;ACJr1D;AACA;AACA;AACA;AACA,QAAQ,aAAa,WAAW,gBAAgB,IAAI,QAAQ,aAAa,WAAW,gBAAgB,IAAI,QAAQ,aAAa,WAAW,gBAAgB,IAAI,aAAa,YAA4K;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACJrV;AACA;AACA;AACA;AAC2iB,uCAAuC,wDAAG,cAAc,wDAAG,mDAAmD,wCAAwC,0DAA0D,QAAQ,MAAM,gBAAgB,gBAAgB,kBAAkB,uDAAuD,cAAc,oBAAoB,WAAW,EAAE,mBAAmB,qBAAqB,sBAAsB,MAAM,4BAA4B,mEAAC,WAAW,iOAAiO,EAAE,6BAA6B,mEAAC,YAAY,0MAA0M,EAAE,0BAA0B,mEAAC,SAAS,oNAAoN,EAAE,2BAA2B,mEAAC,UAAU,+FAA+F,EAAE,oBAAoB,iDAAiD,OAAO,mEAAC,SAAS,8KAA8K,EAAE,0BAA0B,4DAAC,IAAI,mEAAC,SAAS,+cAA+c,SAAS,YAAY,cAAc,aAAa,8CAA8C,wBAAwB,SAAS,iDAAC,iDAAiD,uBAAuB,qBAAqB,iEAAC,GAAG,EAAE,OAAO,aAAa,EAAE,YAAY,sDAAsD,kDAAkD,sBAAsB,4BAA4B,wEAAC,GAAG,EAAE,OAAO,aAAa,EAAE,gCAAgC,8DAA8D,mCAAmC,iDAAC,qBAAqB,MAAM,cAAc,SAAS,0EAA0E,0HAA0H,iDAAC,2IAA2I,0DAAC,0BAA0B,gBAAgB,SAAS,0DAA0D,4DAA4D,MAAM,8FAA8F,0HAA0H,4DAAC,qLAAqL,SAAS,cAAc,MAAM,2BAA2B,GAAG,YAAY,mEAAC,YAAY,gFAAgF,CAAC,mEAAC,UAAU,oFAAoF,GAAG,MAAM,4BAA4B,mEAAC,SAAS,OAAO,EAAE,4CAA4C,IAAI,OAAO,mEAAC,mBAAmB,uEAAuE,IAAI,YAAY,gBAAgB,gCAAgC,WAAW,kBAAkB,MAAM,+BAA+B,iEAAiE,aAAa,OAAO,mEAAC,SAAS,gCAAgC,CAAC,mEAAC,cAAc,kBAAkB,OAAO,+EAAC,GAAG,8EAAC,WAAW,sBAAsB,OAAO,2EAAC,GAAG,8EAAC,iDAAiD,oBAAoB,0BAA0B,4EAAC,GAAG,8EAAC,OAAO,gDAAgD,uDAAuD,gBAAgB,2KAA2K,+BAA+B,cAAc,0BAA0B,MAAM,iBAAiB,wDAAwD,IAAI,oBAAoB,sBAAsB,MAAM,gBAAgB,IAAI,gBAAgB,WAAW,MAAM,gBAAgB,IAAI,gBAAgB,WAAW,MAAM,SAAS,QAAQ,oCAAoC,QAAQ,IAAI,8BAA8B,MAAM,wBAAwB,IAAI,8BAA8B,MAAM,gBAAgB,IAAI,qBAAqB,MAAM,gBAAgB,IAAI,qBAAqB,MAAM,gBAAgB,IAAI,gFAAgF,MAAM,wBAAwB,IAAI,uDAAuD,MAAM,gBAAgB,IAAI,sBAAsB,sBAAsB,MAAM,gBAAgB,IAAI,iCAAiC,kBAAkB,2BAA2B,MAAM,wCAAwC,6CAA6C,qBAAqB,iBAAiB,kBAAkB,cAAc,iEAAiE,OAAO,KAAK,gBAAgB,cAAc,iBAAiB,YAAY,IAAI,KAAK,6BAA6B,0CAA0C,SAAS,SAAS,0BAA0B,8FAA8F,cAAc,SAAS,0BAA0B,4EAA4E,sFAAsF,4FAA4F,yBAAyB,aAAa,kDAAkD,SAAS,cAAc,SAAS,0BAA0B,iEAAiE,yKAAyK,2CAA2C,8BAA8B,4CAA4C,MAAM,oBAAoB,wCAAwC,iCAAiC,oFAAC,KAAK,oFAAC,GAAG,SAAS,oBAAoB,gCAAgC,YAAY,gDAAgD,8EAAC,wBAAwB,kCAAkC,GAAG,8EAAC,mCAAmC,kCAAkC,8EAAC,mBAAmB,UAAU,8EAAC,wBAAwB,8EAAC,2BAA2B,KAAK,GAAG,KAAK,GAAG,KAAK,GAAG,KAAK,GAAG,KAAK,GAAG,KAAK,GAAG,kBAAkB,+CAA+C,kBAAkB,MAAM,oBAAoB,+BAA+B,OAAO,mEAAC,WAAW,sDAAsD,EAAE,mCAAmC,CAAC,mEAAC,iBAAiB,6FAA6F,EAAE,mEAAC,mBAAmB,4CAA4C,EAAE,mEAAC,mBAAmB,mDAAmD,EAAE,mEAAC,wBAAwB,gDAAgD,CAAC,mEAAC,YAAY,sBAAsB,EAAE,mEAAC,YAAY,sBAAsB,EAAE,mEAAC,YAAY,sBAAsB,GAAG,mEAAC,gBAAgB,mEAAC,gBAAgB,mBAAmB,EAAE,mEAAC,gBAAgB,yBAAyB,EAAE,mEAAC,mBAAmB,kBAAkB,IAAI,qBAAqB,EAAE,kBAAkB,+DAAC,yBAAyB,WAAW,MAAM,mHAAmH,kCAAkC,YAAY,iCAAiC,WAAW,KAAK,4BAA4B,0CAA0C,YAAY,WAAW,KAAK,uBAAuB,gBAAgB,kBAAkB,MAAM,wCAAwC,GAAG,uDAAuD,kDAAkD,mFAAmF,4BAA4B,qDAAqD,kEAAkE,WAAW,cAAc,gBAAgB,EAAE,iBAAiB,yBAAyB,EAAE,GAAG,SAAS,mEAAC,MAAM,OAAO,CAAC,mEAAC,MAAM,YAAY,KAAK,mEAAC,MAAM,YAAY,KAAK,IAAI,4DAAC,mBAAmB,wBAAwB,EAAE,OAAO,mEAAC,QAAQ,kFAAkF,GAAG,mEAAC,kBAAkB,mEAAC,MAAM,oBAAoB,EAAE,GAAG,OAAiN;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACJvoU;AACA;AACA;AACA;AACukB,wCAAwC,oDAAoD,kBAAkB,aAAa,aAAa,MAAM,kKAAkK,GAAG,WAAW,GAAG,uDAAC,kBAAkB,0DAAC,aAAa,wBAAwB,6BAA6B,UAAU,mCAAmC,uEAAe,IAAI,MAAM,0BAA0B,iFAAO,gGAAgG,MAAM,6BAA6B,gFAAO,sGAAsG,aAAa,UAAU,sDAAC,mEAAmE,aAAa,yBAAyB,SAAS,GAAG,qBAAqB,4DAAC,GAAG,6EAAsB,IAAI,qBAAqB,8DAAC,GAAG,gFAAwB,IAAI,qBAAqB,+DAAC,GAAG,iFAAyB,IAAI,qBAAqB,4DAAC,2CAA2C,8EAAsB,IAAI,iFAAsB,IAAI,KAAK,kBAAkB,uDAAC,SAAS,UAAU,sDAAC,iEAAiE,wBAAwB,yBAAyB,SAAS,GAAG,IAAI,yEAAgB,IAAI,wEAAgB,IAAI,4CAA4C,uDAAC,sDAAsD,UAAoD;;;;;;;;;;;;;;;;;;;;;;;;;;ACJlkE;AACA;AACA;AACA;AAC6K,cAAc,uCAAuC,EAAE,eAAe,0DAA0D,QAAQ,uFAAC,QAAQ,MAAM,YAAY,IAAI,KAAK,aAAa,YAAY,SAAS,OAAO,YAAY,IAAI,8BAA8B,SAAS,QAAQ,8EAAC,yBAAyB,8EAAC,sBAAsB,8EAAC,qBAAqB,cAAc,UAAU,+CAA+C,uDAAuD,2BAA2B,gBAAgB,8EAA4V;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACJ7gC;AACA;AACA;AACA;AACA;AAA0B;AAA6D;AAA0C;AAAuD;AAAgE;AAA6M;AAAkG;AAAmG,IAAIF,CAAC,GAAC,IAAN;AAAW,MAAMM,CAAC,GAAC,CAAC,GAAD,EAAK,GAAL,EAAS,GAAT,CAAR;;AAAsB,SAASR,CAAT,CAAWlB,CAAX,EAAaE,CAAb,EAAe;AAAC,SAAO4jB,IAAI,CAACiY,KAAL,CAAWjY,IAAI,CAACg+D,MAAL,MAAe5hF,CAAC,GAACF,CAAF,GAAI,CAAnB,IAAsBA,CAAjC,CAAP;AAA2C;;AAAA,SAAS6B,CAAT,CAAW7B,CAAX,EAAaE,CAAb,EAAeI,CAAf,EAAiB;AAAC,QAAK;AAACmjE,IAAAA,eAAe,EAAC/iE,CAAjB;AAAmBmjE,IAAAA,OAAO,EAACzjE,CAA3B;AAA6BwjE,IAAAA,OAAO,EAAC3jE;AAArC,MAAwCD,CAA7C;AAAA,QAA+CW,CAAC,GAACL,CAAC,EAAEyhF,UAAH,IAAelhF,qEAAhE;AAAA,QAAuEL,CAAC,GAAC,EAAzE;AAAA,QAA4EQ,CAAC,GAAC8iB,IAAI,CAACgoD,KAAL,CAAWnrE,CAAC,GAACA,CAAF,GAAImjB,IAAI,CAAC3Z,GAAL,CAASlK,CAAT,EAAW,EAAX,KAAgB,CAApB,GAAsBO,CAAjC,CAA9E;AAAA,QAAkHgB,CAAC,GAACuc,MAAM,CAACikE,gBAA3H;AAAA,QAA4IpgF,CAAC,GAAC+b,QAAQ,CAACC,aAAT,CAAuB,QAAvB,CAA9I;AAAA,QAA+K9c,CAAC,GAACH,CAAC,GAACa,CAAnL;AAAqLI,EAAAA,CAAC,CAACqX,KAAF,GAAQnY,CAAR,EAAUc,CAAC,CAAC4X,MAAF,GAAS1Y,CAAnB,EAAqBc,CAAC,CAACiB,KAAF,CAAQoW,KAAR,GAAcrX,CAAC,CAACqX,KAAF,GAAQzX,CAAR,GAAU,IAA7C,EAAkDI,CAAC,CAACiB,KAAF,CAAQ2W,MAAR,GAAe5X,CAAC,CAAC4X,MAAF,GAAShY,CAAT,GAAW,IAA5E;AAAiF,QAAMF,CAAC,GAACM,CAAC,CAACic,UAAF,CAAa,IAAb,CAAR;AAA2B,MAAGnd,CAAC,KAAGY,CAAC,CAAC2gF,SAAF,GAAYvhF,CAAC,CAACq+E,KAAF,CAAQ,CAAC,CAAT,CAAZ,EAAwBz9E,CAAC,CAAC4gF,QAAF,CAAW,CAAX,EAAa,CAAb,EAAephF,CAAf,EAAiBA,CAAjB,CAAxB,EAA4CQ,CAAC,CAACm+E,IAAF,EAA/C,CAAD,EAA0Dn+E,CAAC,CAAC2gF,SAAF,GAAY/hF,CAAC,EAAE6+E,KAAH,CAAS,CAAC,CAAV,KAAc,EAApF,EAAuF39E,CAAC,IAAEA,CAAC,CAACyM,MAAF,GAAS,CAAT,KAAa7M,CAA1G,EAA4G,KAAI,IAAIH,CAAC,GAAC,CAAV,EAAYA,CAAC,GAAC,IAAEG,CAAhB,EAAkBH,CAAC,IAAE,CAArB,EAAuB;AAAC,UAAMb,CAAC,GAACoB,CAAC,CAACP,CAAD,CAAT;AAAA,UAAaX,CAAC,GAACkB,CAAC,CAACP,CAAC,GAAC,CAAH,CAAhB;AAAsBS,IAAAA,CAAC,CAAC4gF,QAAF,CAAWliF,CAAX,EAAaE,CAAb,EAAeD,CAAC,GAACuB,CAAjB,EAAmBvB,CAAC,GAACuB,CAArB,GAAwBF,CAAC,CAACm+E,IAAF,EAAxB;AAAiC,GAA3L,MAA+L;AAACr+E,IAAAA,CAAC,GAAC,EAAF;;AAAK,SAAI,IAAIpB,CAAC,GAAC,CAAV,EAAYA,CAAC,GAAC,IAAEgB,CAAhB,EAAkBhB,CAAC,IAAE,CAArB,EAAuB;AAAC,YAAMA,CAAC,GAACkB,CAAC,CAAC,CAAD,EAAGJ,CAAH,CAAT;AAAA,YAAeZ,CAAC,GAACgB,CAAC,CAAC,CAAD,EAAGJ,CAAH,CAAlB;AAAwBM,MAAAA,CAAC,CAAC0D,IAAF,CAAO9E,CAAP,EAASE,CAAT,GAAYoB,CAAC,CAAC4gF,QAAF,CAAWliF,CAAX,EAAaE,CAAb,EAAeD,CAAC,GAACuB,CAAjB,EAAmBvB,CAAC,GAACuB,CAArB,CAAZ,EAAoCF,CAAC,CAACm+E,IAAF,EAApC;AAA6C;AAAC;AAAAr/E,EAAAA,CAAC,KAAGA,CAAC,CAACgV,KAAF,KAAU9T,CAAC,CAAC6gF,WAAF,GAAc/hF,CAAC,CAACgV,KAAF,CAAQ2pE,KAAR,CAAc,CAAC,CAAf,CAAxB,GAA2Cz9E,CAAC,CAACo9E,SAAF,GAAYt+E,CAAC,CAAC6Y,KAAzD,EAA+D3X,CAAC,CAAC8gF,UAAF,CAAa,CAAb,EAAe,CAAf,EAAiBthF,CAAjB,EAAmBA,CAAnB,CAAlE,CAAD;AAA0F,QAAMY,CAAC,GAAC,IAAI8vE,KAAJ,CAAU7wE,CAAV,EAAYA,CAAZ,CAAR;AAAuB,SAAOe,CAAC,CAACkwE,GAAF,GAAMhwE,CAAC,CAACygF,SAAF,EAAN,EAAoB3gF,CAAC,CAACu+E,SAAF,GAAY3/E,CAAC,EAAE2/E,SAAH,IAAc,IAA9C,EAAmDv+E,CAAC,CAACgwE,GAAF,GAAMpxE,CAAC,EAAE2/E,SAAH,IAAc,EAAvE,EAA0Ev+E,CAAjF;AAAmF;;AAAA,SAASO,CAAT,CAAWjC,CAAX,EAAaa,CAAC,GAAC,EAAf,EAAkB;AAAC,QAAMH,CAAC,GAACG,CAAC,CAAC8jE,MAAF,IAAU,EAAlB;AAAA,QAAqBvkE,CAAC,GAAC,IAAE0jB,IAAI,CAACw+D,EAAP,GAAU5hF,CAAjC;AAAA,QAAmCT,CAAC,GAACD,CAAC,CAAC6N,MAAvC;AAAA,QAA8ClN,CAAC,GAACP,CAAC,GAACH,CAAlD;AAAA,QAAoDO,CAAC,GAAC,EAAtD;AAAA,QAAyDQ,CAAC,GAACd,uDAAC,CAACW,CAAC,CAACgjE,OAAH,CAA5D;AAAwE,UAAM7iE,CAAC,EAAEiY,KAAT,KAAiBjY,CAAC,CAACiY,KAAF,IAAS,CAA1B,GAA6B,CAACjY,CAAC,IAAEH,CAAC,CAAC4iE,eAAN,KAAwBjjE,CAAC,CAACsE,IAAF,CAAO;AAACw6E,IAAAA,KAAK,EAAC;AAAC/7E,MAAAA,IAAI,EAAC,QAAN;AAAeg8E,MAAAA,EAAE,EAAC7+E,CAAlB;AAAoB8+E,MAAAA,EAAE,EAAC9+E,CAAvB;AAAyBT,MAAAA,CAAC,EAACS;AAA3B,KAAP;AAAqC++E,IAAAA,IAAI,EAAC5+E,CAAC,CAAC4iE,eAA5C;AAA4Dic,IAAAA,MAAM,EAAC1+E,CAAnE;AAAqEg7B,IAAAA,MAAM,EAAC,CAAC,CAAD,EAAG,CAAH;AAA5E,GAAP,CAArD;AAAgJ,QAAMx6B,CAAC,GAACX,CAAC,CAACq+C,MAAV;AAAA,QAAiBt9C,CAAC,GAACJ,CAAC,IAAEA,CAAC,CAACqM,MAAF,KAAW5N,CAAd,IAAiB,QAAMuB,CAAC,CAACsP,MAAF,CAAU,CAAC9Q,CAAD,EAAGE,CAAH,KAAOF,CAAC,GAACE,CAAnB,EAAsB,CAAtB,CAA1C;AAAA,QAAmEY,CAAC,GAAC,CAAC,CAAD,CAArE;;AAAyE,OAAI,IAAIZ,CAAC,GAAC,CAAV,EAAYA,CAAC,GAACD,CAAd,EAAgBC,CAAC,EAAjB,EAAoB;AAAC,QAAIW,CAAC,GAAC,IAAN;AAAWe,IAAAA,CAAC,KAAGf,CAAC,GAACW,CAAC,CAACtB,CAAD,CAAD,GAAKE,CAAL,GAAO,GAAT,EAAaU,CAAC,CAACgE,IAAF,CAAOjE,CAAC,GAACC,CAAC,CAACZ,CAAD,CAAV,CAAhB,CAAD,EAAiCM,CAAC,CAACsE,IAAF,CAAO;AAACw6E,MAAAA,KAAK,EAAC;AAAC/7E,QAAAA,IAAI,EAAC,QAAN;AAAeg8E,QAAAA,EAAE,EAAC7+E,CAAlB;AAAoB8+E,QAAAA,EAAE,EAAC9+E,CAAvB;AAAyBT,QAAAA,CAAC,EAACS,CAAC,GAAC;AAA7B,OAAP;AAAuC++E,MAAAA,IAAI,EAAC,CAAC,CAAD,EAAG,CAAH,EAAK,CAAL,EAAO,CAAP,CAA5C;AAAsDC,MAAAA,MAAM,EAAC;AAACzmE,QAAAA,KAAK,EAACvY,CAAP;AAAS6hF,QAAAA,SAAS,EAAE,GAAE,CAAC1hF,CAAC,IAAEF,CAAJ,IAAO,CAAE,IAAGP,CAAE,EAApC;AAAsCoiF,QAAAA,UAAU,EAAC,OAAK5gF,CAAC,GAACd,CAAC,CAACZ,CAAD,CAAD,GAAK,CAAN,GAAQA,CAAC,IAAES,CAAC,GAAC,CAAJ,CAAf,CAAjD;AAAwEyU,QAAAA,KAAK,EAACpV,CAAC,CAACE,CAAD;AAA/E,OAA7D;AAAiJ87B,MAAAA,MAAM,EAAC,CAAC,CAAD,EAAG,CAAH;AAAxJ,KAAP,CAAjC;AAAwM;;AAAA,MAAI16B,CAAC,GAAC,IAAN;AAAW,QAAMF,CAAC,GAAC,IAAEV,CAAF,IAAKM,CAAC,EAAEiY,KAAH,IAAU,CAAf,CAAR;AAAA,QAA0B/X,CAAC,GAACL,CAAC,CAACwkE,cAA9B;;AAA6C,MAAGnkE,CAAH,EAAK;AAACF,IAAAA,CAAC,IAAER,CAAC,CAACsE,IAAF,CAAO;AAACw6E,MAAAA,KAAK,EAAC;AAAC/7E,QAAAA,IAAI,EAAC,QAAN;AAAeg8E,QAAAA,EAAE,EAAC7+E,CAAlB;AAAoB8+E,QAAAA,EAAE,EAAC9+E,CAAvB;AAAyBT,QAAAA,CAAC,EAACS,CAAC,GAACQ;AAA7B,OAAP;AAAuCu+E,MAAAA,IAAI,EAAC,IAA5C;AAAiDC,MAAAA,MAAM,EAAC1+E,CAAxD;AAA0Dg7B,MAAAA,MAAM,EAAC,CAAC,CAAD,EAAG,CAAH;AAAjE,KAAP,CAAH;AAAmF,UAAMh8B,CAAC,GAACoB,CAAC,GAAC,CAAV;AAAYE,IAAAA,CAAC,GAAC,CAAC,CAAC;AAACg+E,MAAAA,KAAK,EAAC;AAAC/7E,QAAAA,IAAI,EAAC,QAAN;AAAeg8E,QAAAA,EAAE,EAACv/E,CAAlB;AAAoBw/E,QAAAA,EAAE,EAACx/E,CAAvB;AAAyBC,QAAAA,CAAC,EAACD;AAA3B,OAAP;AAAqCy/E,MAAAA,IAAI,EAAC/9E,CAA1C;AAA4Cg+E,MAAAA,MAAM,EAAC1+E,CAAC,GAAC,EAAC,GAAGA,CAAJ;AAAMoU,QAAAA,KAAK,EAAC1T;AAAZ,OAAD,GAAgB,IAApE;AAAyEs6B,MAAAA,MAAM,EAAC,CAAC,CAAD,EAAG,CAAH;AAAhF,KAAD,EAAwF;AAACsjD,MAAAA,KAAK,EAAC;AAAC/7E,QAAAA,IAAI,EAAC,QAAN;AAAeg8E,QAAAA,EAAE,EAACv/E,CAAlB;AAAoBw/E,QAAAA,EAAE,EAACx/E,CAAvB;AAAyBC,QAAAA,CAAC,EAACS,CAAC,GAACQ;AAA7B,OAAP;AAAuCu+E,MAAAA,IAAI,EAAC,CAAC,CAAD,EAAG,CAAH,EAAK,CAAL,CAA5C;AAAoDC,MAAAA,MAAM,EAAC,IAA3D;AAAgE1jD,MAAAA,MAAM,EAAC,CAAC,CAAD,EAAG,CAAH;AAAvE,KAAxF,CAAD,CAAF;AAA2K;;AAAA,SAAO17B,6DAAC,CAAC,CAACE,CAAD,CAAD,EAAK,CAACY,CAAD,EAAGA,CAAH,CAAL,EAAW;AAACqhF,IAAAA,UAAU,EAAC5hF,CAAC,CAAC6hF,UAAd;AAAyBC,IAAAA,iBAAiB,EAAC,CAAC,CAA5C;AAA8CC,IAAAA,OAAO,EAACthF,CAAtD;AAAwD4+E,IAAAA,SAAS,EAAC,CAAC,CAAC,EAAF,CAAlE;AAAwED,IAAAA,SAAS,EAACp/E,CAAC,CAACo/E;AAApF,GAAX,CAAR;AAAmH;;AAAA,SAASl+E,CAAT,CAAW/B,CAAX,EAAaE,CAAC,GAAC,EAAf,EAAkB;AAAC,QAAMW,CAAC,GAACb,CAAC,EAAE+hE,aAAX;AAAyB,MAAG,EAAE,mBAAiBlhE,CAAC,EAAE0C,IAAtB,KAA6B,CAAC1C,CAAC,EAAEgiF,UAAjC,IAA6C,CAAC7iF,CAAC,CAAC47C,gBAAnD,EAAoE,OAAO,IAAP;AAAY,QAAK;AAACknC,IAAAA,KAAK,EAACxiF,CAAP;AAASuiF,IAAAA,UAAU,EAACziF;AAApB,MAAuBS,CAA5B;AAAA,QAA8BZ,CAAC,GAACqB,4GAAC,CAAC;AAACwhF,IAAAA,KAAK,EAACxiF,CAAP;AAASuiF,IAAAA,UAAU,EAACziF,CAApB;AAAsB2iF,IAAAA,KAAK,EAAC/iF,CAAC,CAAC47C;AAA9B,GAAD,CAAjC;AAAA,QAAmFj7C,CAAC,GAACT,CAAC,EAAE8/E,IAAH,IAASriE,QAAQ,CAACC,aAAT,CAAuB,KAAvB,CAA9F;AAA4H,SAAOld,2DAAC,CAACC,CAAD,EAAI,MAAIG,2GAAC,CAACb,CAAD,EAAGC,CAAC,CAACwC,EAAF,IAAM,cAAT,EAAwB;AAACsG,IAAAA,OAAO,EAAC9I,CAAC,CAAC8I,OAAF,IAAW,CAApB;AAAsB05E,IAAAA,UAAU,EAACxiF,CAAC,CAACwiF,UAAnC;AAA8CzC,IAAAA,SAAS,EAAC//E,CAAC,CAAC+/E;AAA1D,GAAxB,CAAT,CAAD,EAA0Gt/E,CAAjH;AAAmH;;AAAA,SAAS4B,CAAT,CAAWvC,CAAX,EAAaE,CAAC,GAAC,EAAf,EAAkB;AAAC,QAAMW,CAAC,GAAC,EAAR;AAAA,QAAWP,CAAC,GAAC,EAAb;AAAA,QAAgBI,CAAC,GAAC,iBAAeR,CAAC,CAAC8iF,KAAnC;AAAA,QAAyC5iF,CAAC,GAACM,CAAC,GAACJ,CAAD,GAAGO,CAA/C;AAAA,QAAiDZ,CAAC,GAACS,CAAC,GAACG,CAAD,GAAGP,CAAvD;AAAA,QAAyDK,CAAC,GAACT,CAAC,CAAC+Y,KAAF,IAAS7Y,CAApE;AAAA,QAAsEI,CAAC,GAACN,CAAC,CAACsZ,MAAF,IAAUvZ,CAAlF;AAAA,QAAoFe,CAAC,GAACd,CAAC,CAAC+iF,QAAF,IAAY,CAAC,CAAnG;AAAA,QAAqGzhF,CAAC,GAACuc,MAAM,CAACikE,gBAA9G;AAAA,QAA+HpgF,CAAC,GAACjB,CAAC,GAACa,CAAnI;AAAA,QAAqIV,CAAC,GAACN,CAAC,GAACgB,CAAzI;AAAA,QAA2IF,CAAC,GAACqc,QAAQ,CAACC,aAAT,CAAuB,QAAvB,CAA7I;AAA8Ktc,EAAAA,CAAC,CAAC2X,KAAF,GAAQrX,CAAR,EAAUN,CAAC,CAACkY,MAAF,GAAS1Y,CAAnB,EAAqBQ,CAAC,CAAC2+E,SAAF,GAAY//E,CAAC,CAAC+/E,SAAF,IAAa,IAA9C,EAAmD3+E,CAAC,CAACuB,KAAF,CAAQoW,KAAR,GAAe,GAAEtY,CAAE,IAAtE,EAA0EW,CAAC,CAACuB,KAAF,CAAQ2W,MAAR,GAAgB,GAAEhZ,CAAE,IAA9F;AAAkG,QAAMY,CAAC,GAACE,CAAC,CAACuc,UAAF,CAAa,IAAb,CAAR;AAAA,QAA2Bnc,CAAC,GAAChB,CAAC,GAACkB,CAAD,GAAG,CAAjC;AAAA,QAAmCV,CAAC,GAACR,CAAC,GAAC,CAAD,GAAGI,CAAzC;;AAA2C,MAAGE,CAAH,EAAK;AAAC,UAAMd,CAAC,GAACkB,CAAC,CAAC8hF,oBAAF,CAAuB,CAAvB,EAAyB,CAAzB,EAA2BxhF,CAA3B,EAA6BR,CAA7B,CAAR;AAAA,UAAwCL,CAAC,GAACb,CAAC,CAAC6N,MAA5C;AAAA,UAAmDvN,CAAC,GAAC,MAAIO,CAAJ,GAAM,CAAN,GAAQ,KAAGA,CAAC,GAAC,CAAL,CAA7D;AAAqEb,IAAAA,CAAC,CAAC2E,OAAF,CAAW,CAAC3E,CAAD,EAAGa,CAAH,KAAOX,CAAC,CAACijF,YAAF,CAAetiF,CAAC,GAACP,CAAjB,EAAmBN,CAAC,CAACkD,QAAF,EAAnB,CAAlB,GAAqD9B,CAAC,CAAC6gF,SAAF,GAAY/hF,CAAjE,EAAmEkB,CAAC,CAAC8gF,QAAF,CAAW,CAAX,EAAa,CAAb,EAAetgF,CAAf,EAAiBd,CAAjB,CAAnE;AAAuF,GAAlK,MAAsK;AAAC,UAAMZ,CAAC,GAACQ,CAAC,GAACkB,CAAC,GAAC5B,CAAC,CAAC6N,MAAL,GAAYjM,CAArB;AAAA,UAAuBf,CAAC,GAACH,CAAC,GAACI,CAAD,GAAGA,CAAC,GAACd,CAAC,CAAC6N,MAAjC;AAAwC,QAAIvN,CAAC,GAAC,CAAN;AAAA,QAAQF,CAAC,GAAC,CAAV;;AAAY,SAAI,MAAMH,CAAV,IAAeD,CAAf,EAAiBoB,CAAC,CAAC6gF,SAAF,GAAYhiF,CAAC,CAACiD,QAAF,EAAZ,EAAyB9B,CAAC,CAAC8gF,QAAF,CAAW5hF,CAAX,EAAaF,CAAb,EAAeF,CAAf,EAAiBW,CAAjB,CAAzB,EAA6CP,CAAC,GAACI,CAAC,GAACJ,CAAC,GAACJ,CAAH,GAAK,CAArD,EAAuDE,CAAC,GAACM,CAAC,GAAC,CAAD,GAAGN,CAAC,GAACS,CAA/D;AAAiE;;AAAA,QAAMgB,CAAC,GAAC8b,QAAQ,CAACC,aAAT,CAAuB,KAAvB,CAAR;AAAsC,SAAO/b,CAAC,CAACgB,KAAF,CAAQoW,KAAR,GAAe,GAAEtY,CAAE,IAAnB,EAAuBkB,CAAC,CAACgB,KAAF,CAAQ2W,MAAR,GAAgB,GAAEhZ,CAAE,IAA3C,EAA+C4B,CAAC,CAACP,CAAD,EAAG3B,CAAC,EAAEwiF,UAAN,CAAhD,EAAkE7gF,CAAC,CAACgoB,WAAF,CAAcvoB,CAAd,CAAlE,EAAmFO,CAA1F;AAA4F;;AAAA,SAASO,CAAT,CAAWpC,CAAX,EAAaE,CAAb,EAAe;AAAC,MAAG,CAACA,CAAJ,EAAM;AAAOF,EAAAA,CAAC,CAAC6C,KAAF,CAAQ8D,MAAR,GAAevG,qEAAC,CAACF,CAAD,CAAhB;AAAoB,QAAMW,CAAC,GAACX,CAAC,CAACorE,OAAV;AAAkB,MAAGzqE,CAAH,EAAK,KAAI,MAAMP,CAAV,IAAeO,CAAf,EAAiB,IAAG,kBAAgBP,CAAC,EAAEiD,IAAtB,EAA2B;AAACjD,IAAAA,CAAC,CAAC8iF,OAAF,GAAU,CAAV,GAAYpjF,CAAC,CAAC6C,KAAF,CAAQwgF,UAAR,GAAoB,GAAEv/D,IAAI,CAACkZ,GAAL,CAAS18B,CAAC,CAAC8iF,OAAX,CAAoB,IAAtD,GAA0DpjF,CAAC,CAAC6C,KAAF,CAAQygF,WAAR,GAAqB,GAAEhjF,CAAC,CAAC8iF,OAAQ,IAA3F;AAA+F;AAAM;AAAC;;SAAe/wE;;;;;yMAAf,WAAiBrS,CAAjB,EAAmBE,CAAnB,EAAqB;AAAC,YAAOF,CAAC,CAACuD,IAAT;AAAe,WAAI,WAAJ;AAAgB;AAAC,gBAAK;AAACggF,YAAAA,qBAAqB,EAAC1iF;AAAvB,oBAAgC,uMAArC;AAA0E,iBAAOA,CAAC,CAACb,CAAD,EAAGqS,CAAH,EAAKnS,CAAL,CAAR;AAAgB;;AAAA,WAAI,UAAJ;AAAe,WAAI,SAAJ;AAAc,WAAI,SAAJ;AAAc,WAAI,UAAJ;AAAe,WAAI,YAAJ;AAAiB;AAAC,gBAAK;AAACwgF,YAAAA,eAAe,EAAC7/E;AAAjB,oBAA0B,uHAA/B;AAA8D,iBAAOA,CAAC,CAACb,CAAD,EAAGE,CAAH,CAAR;AAAc;;AAAA,WAAI,eAAJ;AAAoB,WAAI,aAAJ;AAAkB,WAAI,aAAJ;AAAkB,WAAI,gBAAJ;AAAqB,WAAI,cAAJ;AAAmB,WAAI,MAAJ;AAAW;AAAC,gBAAK;AAACsjF,YAAAA,eAAe,EAAC3iF;AAAjB,oBAA0B,2LAA/B;AAA8D,iBAAOA,CAAC,CAACb,CAAD,EAAGE,CAAH,CAAR;AAAc;;AAAA,WAAI,KAAJ;AAAU;AAAC,gBAAK;AAACujF,YAAAA,gBAAgB,EAAC5iF;AAAlB,oBAA2B,qlBAAhC;AAAgE,iBAAOA,CAAC,CAACb,CAAD,EAAGE,CAAH,CAAR;AAAc;;AAAA;AAAQ;AAA3iB;AAAmjB;;;;AAAA,SAASgM,CAAT,CAAWlM,CAAX,EAAa;AAAC,SAAOA,CAAC,IAAE,aAAYA,CAAf,GAAiBA,CAAC,CAACgJ,OAAF,GAAUkD,CAAC,CAAClM,CAAC,CAACqD,MAAH,CAA5B,GAAuC,CAA9C;AAAgD;;SAAevB;;;;;yMAAf,WAAiB5B,CAAjB,EAAmBW,CAAnB,EAAqB;AAAC,QAAG,CAACX,CAAJ,EAAM;AAAO,UAAMI,CAAC,GAACJ,CAAC,CAAC8vC,WAAV;AAAA,UAAsBtvC,CAAC,GAAC,CAAC,QAAMG,CAAN,IAASA,CAAC,CAAC6iF,cAAX,GAA0BpjF,CAA1B,GAA4BJ,CAAC,CAACsJ,KAA/B,KAAuClJ,CAA/D;AAAA,UAAiEF,CAAC,GAAC8L,CAAC,CAACxL,CAAD,CAApE;;AAAwE,QAAG,QAAMR,CAAC,CAACosC,MAAR,KAAiB,QAAMzrC,CAAN,IAAS,CAAC,CAAD,KAAKA,CAAC,CAAC8iF,mBAAjC,CAAH,EAAyD;AAAC,YAAM3jF,CAAC,GAAC,gBAAcE,CAAC,CAACosC,MAAF,CAAS/oC,IAAvB,SAAkCtD,8DAAC,CAACC,CAAC,CAACosC,MAAH,EAAU,EAAC,GAAGzrC,CAAJ;AAAM+5B,QAAAA,KAAK,EAAC,QAAM/5B,CAAN,GAAQA,CAAC,CAAC+iF,aAAV,GAAwB;AAApC,OAAV,CAAnC,GAAwF1jF,CAAC,CAACosC,MAAF,CAAS7rC,KAAT,EAAhG;AAAiH,aAAOE,6DAAC,CAACX,CAAD,EAAG,IAAH,EAAQI,CAAR,CAAD,EAAYJ,CAAnB;AAAqB;;AAAA,UAAMwB,CAAC,GAACX,CAAC,EAAEwrC,QAAH,IAAatjC,CAAC,CAACrI,CAAD,CAAtB;AAA0B,QAAIkB,CAAC,GAACJ,CAAC,IAAE,oBAAmBA,CAAtB,SAA8BA,CAAC,CAAC+/D,cAAF,CAAiBrhE,CAAjB,EAAmBW,CAAnB,CAA9B,GAAoD,IAA1D;AAA+D,QAAG,CAACe,CAAJ,EAAM;AAAO,QAAGA,CAAC,GAAC,gBAAcA,CAAC,CAAC2B,IAAhB,SAA2B3B,CAAC,CAACq5E,WAAF,CAAc,EAAC,GAAGp6E,CAAJ;AAAM+5B,MAAAA,KAAK,EAAC,QAAM/5B,CAAN,GAAQA,CAAC,CAAC+iF,aAAV,GAAwB;AAApC,KAAd,CAA3B,GAAoFhiF,CAAC,CAACnB,KAAF,EAAtF,EAAgG,CAACe,CAAD,IAAI,EAAE,qBAAoBA,CAAtB,CAAJ,IAA8B,CAACA,CAAC,CAACw8C,eAAF,EAAmBnwC,MAArJ,EAA4J,OAAOlN,6DAAC,CAACiB,CAAD,EAAG,IAAH,EAAQxB,CAAR,CAAD,EAAYwB,CAAnB;;AAAqB,QAAG,sCAAqCJ,CAArC,IAAwCA,CAAC,CAACsgE,gCAA1C,IAA4E,QAAMjhE,CAAC,EAAEqgE,MAAxF,EAA+F;AAAC,YAAMhhE,CAAC,GAAC,EAAC,GAAGW;AAAJ,OAAR;AAAeX,MAAAA,CAAC,CAACghE,MAAF,SAAelhE,sEAAC,EAAhB,EAAmBa,CAAC,GAACX,CAArB;AAAuB;;AAAA,UAAK;AAAC2jF,MAAAA,QAAQ,EAAC/iF,CAAV;AAAYgjF,MAAAA,UAAU,EAACxiF,CAAvB;AAAyByiF,MAAAA,WAAW,EAAC3iF,CAArC;AAAuC4iF,MAAAA,gBAAgB,EAACtiF;AAAxD,cAAiE,iKAAtE;AAAA,UAA+IR,CAAC,GAAC,EAAjJ;AAAA,UAAoJW,CAAC,GAAC,EAAtJ;AAAA,UAAyJI,CAAC,GAAC,EAA3J;AAAA,UAA8JF,CAAC,GAAC,EAAhK;;AAAmK,SAAI,MAAM/B,CAAV,IAAewB,CAAC,CAACw8C,eAAjB,EAAiC,QAAOh+C,CAAC,CAACuD,IAAT;AAAe,WAAI,OAAJ;AAAYrC,QAAAA,CAAC,CAAC4D,IAAF,CAAO9E,CAAP;AAAU;;AAAM,WAAI,SAAJ;AAAc6B,QAAAA,CAAC,CAACiD,IAAF,CAAO9E,CAAP;AAAU;;AAAM,WAAI,UAAJ;AAAe+B,QAAAA,CAAC,CAAC+C,IAAF,CAAO9E,CAAP;AAAU;;AAAM,WAAI,MAAJ;AAAWA,QAAAA,CAAC,CAACiI,MAAF,IAAUhG,CAAC,CAAC6C,IAAF,CAAO9E,CAAP,CAAV;AAAnH;;AAAuI,UAAMuC,CAAC,GAAC,CAAC,CAACrB,CAAC,CAAC2M,MAAJ,IAAY3M,CAAC,CAACA,CAAC,CAAC2M,MAAF,GAAS,CAAV,CAArB;AAAA,UAAkCzL,CAAC,GAACG,CAAC,GAACzB,CAAC,CAACyB,CAAD,EAAGrC,CAAH,EAAKW,CAAL,CAAF,GAAU,IAA/C;AAAA,UAAoDwR,CAAC,GAAC,CAAC,CAACxQ,CAAC,CAACgM,MAAJ,IAAYhM,CAAC,CAACA,CAAC,CAACgM,MAAF,GAAS,CAAV,CAAnE;AAAgF,QAAI/L,CAAC,GAACuQ,CAAC,GAAC/Q,CAAC,CAAC+Q,CAAD,EAAGnS,CAAH,EAAKW,CAAL,CAAF,GAAU,IAAjB;;AAAsB,QAAG,QAAMT,CAAN,KAAU0B,CAAC,GAAC,QAAMA,CAAN,GAAQA,CAAC,GAAC1B,CAAV,GAAYA,CAAxB,GAA2BO,6DAAC,CAACiB,CAAD,EAAGQ,CAAH,EAAKN,CAAL,CAA5B,EAAoCG,CAAC,CAAC4L,MAAzC,EAAgD;AAAC,YAAM7N,CAAC,GAACoB,CAAC,CAACa,CAAD,EAAG/B,CAAH,EAAKW,CAAL,CAAT;AAAiB,YAAML,6DAAC,CAACoB,CAAD,EAAG5B,CAAH,CAAP;AAAa;;AAAA,SAAI,MAAMA,CAAV,IAAe+B,CAAf,EAAiBf,gEAAC,CAACY,CAAD,EAAGF,CAAC,CAAC1B,CAAD,EAAGE,CAAH,EAAKW,CAAL,CAAJ,EAAYb,CAAC,CAACikF,IAAd,CAAD;;AAAqB,WAAOriF,CAAP;AAAS;;;;SAAeY;;;;;0MAAf,WAAiBtC,CAAjB,EAAmBW,CAAnB,EAAqB;AAAC,QAAG,CAACX,CAAJ,EAAM;AAAO,UAAK;AAACsJ,MAAAA,KAAK,EAAClJ,CAAP;AAAS0vC,MAAAA,WAAW,EAACtvC;AAArB,QAAwBR,CAA7B;AAAA,UAA+BE,CAAC,GAAC8L,CAAC,CAAC5L,CAAC,IAAEI,CAAJ,CAAlC;;AAAyC,QAAG,QAAMR,CAAC,CAACosC,MAAR,KAAiB,QAAMzrC,CAAN,IAAS,CAAC,CAAD,KAAKA,CAAC,CAAC8iF,mBAAjC,CAAH,EAAyD;AAAC,YAAM3jF,CAAC,GAAC,gBAAcE,CAAC,CAACosC,MAAF,CAAS/oC,IAAvB,SAAkCtD,8DAAC,CAACC,CAAC,CAACosC,MAAH,EAAUzrC,CAAV,CAAnC,GAAgDX,CAAC,CAACosC,MAAF,CAAS7rC,KAAT,EAAxD;AAAyE,aAAOe,6DAAC,CAACxB,CAAD,EAAGI,CAAH,CAAR;AAAc;;AAAA,UAAMO,CAAC,GAACE,CAAC,EAAEwrC,QAAH,IAAatjC,CAAC,CAACzI,CAAD,CAAd,IAAmByI,CAAC,CAACrI,CAAD,CAA5B;AAAgC,QAAIF,CAAC,GAACG,CAAC,IAAE,oBAAmBA,CAAtB,SAA8BA,CAAC,CAAC4gE,cAAF,CAAiBrhE,CAAjB,EAAmBW,CAAnB,CAA9B,GAAoD,KAAK,CAA/D;AAAiE,QAAG,CAACL,CAAJ,EAAM;AAAOA,IAAAA,CAAC,GAAC,gBAAcA,CAAC,CAAC+C,IAAhB,SAA2BtD,8DAAC,CAACO,CAAD,EAAGK,CAAH,CAA5B,GAAkCL,CAAC,CAACC,KAAF,EAApC;AAA8C,UAAMO,CAAC,GAACQ,6DAAC,CAAChB,CAAD,EAAGJ,CAAH,CAAT;AAAe,QAAG,CAACO,CAAD,IAAI,EAAE,qBAAoBA,CAAtB,CAAJ,IAA8B,qBAAoBA,CAApB,IAAuB,CAACA,CAAC,CAACq9C,eAAxD,IAAyE,qBAAoBr9C,CAApB,IAAuB,CAACA,CAAC,CAACq9C,eAAF,EAAmBnwC,MAAvH,EAA8H,OAAO7M,CAAP;;AAAS,QAAG,sCAAqCL,CAArC,IAAwCA,CAAC,CAACmhE,gCAA1C,IAA4E,QAAMjhE,CAAC,EAAEqgE,MAAxF,EAA+F;AAAC,YAAMhhE,CAAC,GAAC,EAAC,GAAGW;AAAJ,OAAR;AAAeX,MAAAA,CAAC,CAACghE,MAAF,SAAelhE,sEAAC,EAAhB,EAAmBa,CAAC,GAACX,CAArB;AAAuB;;AAAA,UAAK;AAAC2jF,MAAAA,QAAQ,EAAC/iF,CAAV;AAAYgjF,MAAAA,UAAU,EAACxiF;AAAvB,cAAgC,iKAArC;AAAA,UAA8GF,CAAC,GAAC,EAAhH;AAAA,UAAmHM,CAAC,GAAC,EAArH;AAAwH,QAAGf,CAAC,CAACq9C,eAAL,EAAqB,KAAI,MAAMh+C,CAAV,IAAeW,CAAC,CAACq9C,eAAjB,EAAiC,QAAOh+C,CAAC,CAACuD,IAAT;AAAe,WAAI,OAAJ;AAAYnC,QAAAA,CAAC,CAAC0D,IAAF,CAAO9E,CAAP;AAAU;;AAAM,WAAI,SAAJ;AAAc0B,QAAAA,CAAC,CAACoD,IAAF,CAAO9E,CAAP;AAAzD;AAAmE,UAAMkB,CAAC,GAACE,CAAC,CAACyM,MAAF,GAAS,CAAT,GAAWzM,CAAC,CAACA,CAAC,CAACyM,MAAF,GAAS,CAAV,CAAZ,GAAyB,IAAjC;AAAA,UAAsChM,CAAC,GAACX,CAAC,GAACJ,CAAC,CAACI,CAAD,EAAGhB,CAAH,EAAKW,CAAL,CAAF,GAAUG,CAAnD;AAAA,UAAqDiB,CAAC,GAACP,CAAC,CAACmM,MAAF,GAAS,CAAT,GAAWnM,CAAC,CAACA,CAAC,CAACmM,MAAF,GAAS,CAAV,CAAZ,GAAyB,IAAhF;AAAqF,QAAI9L,CAAC,GAACE,CAAC,GAACX,CAAC,CAACW,CAAD,EAAG/B,CAAH,EAAKW,CAAL,CAAF,GAAU,IAAjB;AAAsB,WAAO,QAAMT,CAAN,KAAU2B,CAAC,GAAC,QAAMA,CAAN,GAAQA,CAAC,GAAC3B,CAAV,GAAYA,CAAxB,GAA2ByB,CAAC,GAACD,8DAAC,CAACC,CAAD,EAAGE,CAAH,CAAF,GAAQ,IAA3C;AAAgD;;;;AAAA,SAASgH,CAAT,CAAW/I,CAAX,EAAa;AAAC,MAAGA,CAAH,EAAK,OAAM,cAAaA,CAAb,GAAeA,CAAC,CAACqsC,QAAjB,GAA0B,KAAK,CAArC;AAAuC;;SAAe9gC;;;;;yMAAf,WAAiBvL,CAAjB,EAAmBE,CAAnB,EAAqBW,CAArB,EAAuB;AAAC,QAAG,CAACb,CAAJ,EAAM;AAAO,UAAK;AAACwJ,MAAAA,KAAK,EAAClJ,CAAP;AAAS0vC,MAAAA,WAAW,EAACtvC;AAArB,QAAwBV,CAA7B;AAAA,UAA+BI,CAAC,GAACS,CAAC,EAAEwrC,QAAH,IAAatjC,CAAC,CAACzI,CAAD,CAAd,IAAmByI,CAAC,CAACrI,CAAD,CAArD;AAAyD,QAAG,CAACN,CAAJ,EAAM,OAAO,IAAP;;AAAY,QAAG,qBAAoBA,CAApB,IAAuBA,CAAC,CAAC49C,eAAF,EAAmBnwC,MAA7C,EAAoD;AAAC,YAAK;AAACq+D,QAAAA,YAAY,EAACxrE;AAAd,gBAAuB,iJAA5B;AAAA,YAAqF;AAACwrE,QAAAA,YAAY,EAACjsE;AAAd,gBAAuB,iOAA5G;AAAA,YAAoK;AAACikF,QAAAA,oBAAoB,EAACvjF;AAAtB,gBAA+B,uIAAnM;AAAmP,UAAIH,CAAC,GAAC,IAAN;;AAAW,WAAI,MAAMQ,CAAV,IAAeZ,CAAC,CAAC49C,eAAjB,EAAiC;AAAC,cAAMx8C,CAAC,GAACtB,CAAC,GAACS,CAAC,CAACL,CAAD,EAAGU,CAAH,EAAKd,CAAC,CAACgV,QAAP,CAAF,GAAmB,IAA5B;AAAiC,YAAItT,CAAC,GAAC,IAAN;;AAAW,gBAAOZ,CAAC,CAACuC,IAAT;AAAe,eAAI,OAAJ;AAAY3B,YAAAA,CAAC,SAAOlB,CAAC,CAACM,CAAD,EAAG,IAAH,EAAQQ,CAAR,CAAT;AAAoB;;AAAM,eAAI,SAAJ;AAAcI,YAAAA,CAAC,SAAOlB,CAAC,CAACM,CAAD,CAAT;AAAa;;AAAM,eAAI,MAAJ;AAAWA,YAAAA,CAAC,CAACiH,MAAF,KAAWrG,CAAC,SAAO3B,CAAC,CAACG,CAAD,EAAGY,CAAH,EAAK,IAAL,EAAUH,CAAC,EAAE0X,KAAH,IAAUrY,CAAC,EAAEqY,KAAvB,EAA6BrY,CAA7B,EAA+BsB,CAA/B,CAApB;AAAjG;;AAAwJ,YAAGI,CAAC,EAAEiM,MAAN,EAAa;AAAC,gBAAM3N,CAAC,GAAC0B,CAAC,CAAC8N,IAAF,CAAQ,CAACxP,CAAD,EAAGW,CAAH,KAAO;AAAC,kBAAMP,CAAC,GAACN,CAAC,CAACuxC,UAAF,CAAavwC,CAAC,CAACoP,KAAf,CAAR;AAA8B,mBAAO,MAAIvP,CAAJ,GAAMP,CAAC,IAAEJ,CAAC,CAACwN,KAAX,GAAiB7M,CAAC,KAAGe,CAAC,EAAEiM,MAAH,GAAU,CAAd,GAAgBvN,CAAC,IAAEJ,CAAC,CAACwN,KAArB,GAA2BxN,CAAC,CAACwN,KAAF,KAAUpN,CAA7D;AAA+D,WAA7G,CAAR;;AAAwH,cAAGJ,CAAH,EAAK;AAACM,YAAAA,CAAC,GAACN,CAAC,CAACu1B,KAAJ;AAAU;AAAM;AAAC;AAAC;;AAAA,UAAGj1B,CAAH,EAAK,OAAOA,CAAP;AAAS;;AAAA,YAAOJ,CAAC,CAACmD,IAAT;AAAe,WAAI,cAAJ;AAAmB;AAAC,gBAAMrD,CAAC,GAAC,uBAAsBE,CAAtB,SAA8BA,CAAC,CAACihE,iBAAF,CAAoBrhE,CAApB,EAAsBa,CAAtB,CAA9B,GAAuD,IAA/D;AAAoE,iBAAOX,CAAC,EAAEu1B,KAAH,KAAWv1B,CAAC,IAAEE,CAAC,CAAC2/D,eAAF,EAAmBlyD,MAAnB,GAA0B,CAAxC,IAA4C,GAAE3N,CAAC,CAACqgE,QAAS,MAAKrgE,CAAC,CAACsgE,QAAS,EAAzE,GAA2E,IAAlF;AAAuF;;AAAA,WAAI,cAAJ;AAAmB;AAAC,gBAAMtgE,CAAC,GAAC,wBAAuBE,CAAvB,SAA+BA,CAAC,CAAC6nE,kBAAF,CAAqBjoE,CAArB,EAAuBa,CAAvB,CAA/B,GAAyD,IAAjE;AAAsE,iBAAOX,CAAC,EAAEu1B,KAAV;AAAgB;AAAxS;;AAAyS,WAAO,IAAP;AAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACJ71P;AACA;AACA;AACA;AACwH,sHAAsH,qBAAqB,QAAQ,iFAAC,IAAI,eAAe,yDAAC,SAAS,gBAAgB,uEAAuE,sBAAsB,IAAI,sBAAsB,KAAoO;;;;;;;;;;;;;;;;;;;;ACJppB;AACA;AACA;AACA;AACmH,cAAc,iBAAiB,sEAAC,IAAI,cAAc,UAAU,sEAAC,QAAQ,aAAa,oBAAoB,sEAAC,EAAE,OAAO,2DAAC,iCAAiC,YAAgF;;;;;;;;;;;;;;;;;;;;;;ACJrV;AACA;AACA;AACA;AACmL,kBAAkB,mBAAmB,2DAAC,EAAE,kEAAkE,aAAa,gBAAgB,IAAI,6DAAC,KAAK,aAAa,YAAY,uDAAC,eAAe,OAAO,iEAAC,MAAM,oBAAoB,GAAG,iEAAC,KAAK,QAAQ,iEAAC,IAAI,aAAa,kFAAkF,iEAAC,kBAAkB,KAAK,iEAAC,cAAc,SAAS,MAAM,MAAM,oCAAoC,QAAQ,gBAAgB,wBAAwB,IAAI,kBAAkB,MAAM,yCAAyC,WAAW,2HAA2H,cAAc,kBAAkB,MAAM,iBAAiB,GAAG,gDAAgD,gBAAgB,iGAA8N;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACJvrC;AACA;AACA;AACA;AACA;AAA8B;AAA8D;AAAmD;AAA0B;AAAkD;AAAwE;AAA4E;AAAwD;AAA0C;AAAyD,MAAMn1B,CAAC,GAAC,IAAIN,iDAAJ,CAAM,OAAN,CAAR;;AAAuB,SAAS4B,CAAT,CAAW5B,CAAX,EAAa;AAAC,QAAME,CAAC,GAACF,CAAC,CAACusC,YAAF,EAAgB/iB,EAAhB,CAAmB,CAAC,CAApB,CAAR;AAA+B,MAAGtpB,CAAC,IAAE,aAAYA,CAAlB,EAAoB,OAAOA,CAAC,EAAE2jE,OAAH,EAAYruC,IAAnB;AAAwB;;AAAA,SAASt0B,CAAT,CAAWlB,CAAX,EAAa;AAAC,MAAG,CAACA,CAAJ,EAAM,OAAO,CAAP;;AAAS,MAAGE,uDAAC,CAACF,CAAD,CAAJ,EAAQ;AAAC,UAAME,CAAC,GAAC0B,CAAC,CAAC5B,CAAD,CAAT;AAAa,WAAO,QAAME,CAAN,GAAQA,CAAR,GAAU,CAAjB;AAAmB;;AAAA,SAAOS,2DAAC,CAACP,uDAAC,CAACJ,CAAD,CAAD,EAAMiZ,KAAP,CAAR;AAAsB;;AAAA,SAAS7X,CAAT,CAAWpB,CAAX,EAAa;AAAC,MAAG,QAAMA,CAAN,IAAS,EAAE,kBAAiBA,CAAnB,CAAT,IAAgC,QAAMA,CAAC,CAACusC,YAA3C,EAAwD,OAAM,CAAC,CAAP;;AAAS,UAAOvsC,CAAC,CAACuD,IAAT;AAAe,SAAI,UAAJ;AAAe,aAAOvD,CAAC,CAACusC,YAAF,CAAe/0B,IAAf,CAAqBxX,CAAC,IAAE,aAAWA,CAAC,CAACuD,IAArC,CAAP;;AAAmD,SAAI,SAAJ;AAAc,aAAOvD,CAAC,CAACusC,YAAF,CAAe/0B,IAAf,CAAqBxX,CAAC,IAAE,WAASA,CAAC,CAACuD,IAAnC,CAAP;;AAAiD,SAAI,YAAJ;AAAiB,aAAOvD,CAAC,CAACusC,YAAF,CAAe/0B,IAAf,CAAqBxX,CAAC,IAAE,aAAWA,CAAC,CAACuD,IAAb,IAAmB,cAAYvD,CAAC,CAACuD,IAAzD,CAAP;;AAAuE;AAAQ,aAAM,CAAC,CAAP;AAAhP;AAA0P;;AAAA,SAASzC,CAAT,CAAWd,CAAX,EAAa;AAAC,SAAOA,CAAC,CAACi8D,QAAF,EAAYvyC,IAAZ,IAAkB,EAAzB;AAA4B;;AAAA,SAASpoB,CAAT,CAAWrB,CAAX,EAAaU,CAAb,EAAe;AAAC,MAAG,CAACV,CAAJ,EAAM,OAAO,IAAP;AAAY,MAAIY,CAAC,GAAC,IAAN;AAAW,SAAOX,uDAAC,CAACD,CAAD,CAAD,GAAKY,CAAC,GAACgB,CAAC,CAAC5B,CAAD,CAAR,GAAYO,uDAAC,CAACP,CAAD,CAAD,KAAOY,CAAC,GAAC,UAAQZ,CAAC,CAACsD,IAAV,GAAevC,qEAAC,CAACf,CAAD,CAAhB,GAAoBA,CAAC,CAACmV,KAAF,GAAQ,IAAIpV,iDAAJ,CAAMC,CAAC,CAACmV,KAAR,CAAR,GAAuB,IAApD,CAAZ,EAAsEvU,CAAC,GAACkB,CAAC,CAAClB,CAAD,EAAGF,CAAH,CAAF,GAAQ,IAAtF;AAA2F;;AAAA,SAASkB,CAAT,CAAW3B,CAAX,EAAa;AAAC,QAAMM,CAAC,GAACN,CAAC,CAACqsC,YAAV;AAAuB,MAAG,CAAC/rC,CAAJ,EAAM,OAAO,IAAP;AAAY,MAAIP,CAAC,GAAC,IAAN;AAAW,SAAOO,CAAC,CAACmE,OAAF,CAAW3E,CAAC,IAAE;AAAC,iBAAWA,CAAC,CAACuD,IAAb,IAAmBvD,CAAC,CAACi8D,QAAF,EAAYvyC,IAA/B,KAAsCzpB,CAAC,GAAC,YAAUD,CAAC,CAACuD,IAAZ,GAAiBvD,CAAC,CAACoV,KAAnB,GAAyBpV,CAAC,CAACwsC,QAAF,GAAWxsC,CAAC,CAACwsC,QAAF,CAAWp3B,KAAtB,GAA4B,IAA7F;AAAmG,GAAlH,GAAqHnV,CAAC,GAAC,IAAID,iDAAJ,CAAMC,CAAN,CAAD,GAAU,IAAvI;AAA4I;;AAAA,SAAS8B,CAAT,CAAW7B,CAAX,EAAaM,CAAb,EAAe;AAAC,MAAG,QAAMA,CAAN,IAAS,QAAMN,CAAlB,EAAoB,OAAOA,CAAP;AAAS,QAAMD,CAAC,GAACC,CAAC,CAACiqE,MAAF,EAAR;AAAmB,SAAOlqE,CAAC,CAAC,CAAD,CAAD,GAAKA,CAAC,CAAC,CAAD,CAAD,GAAKO,CAAV,EAAY,IAAIR,iDAAJ,CAAMC,CAAN,CAAnB;AAA4B;;AAAA,SAASyB,CAAT,CAAW1B,CAAX,EAAaE,CAAb,EAAeM,CAAf,EAAiB;AAAC,QAAMP,CAAC,GAACD,CAAC,CAACusC,YAAV;AAAuB,MAAG,CAACtsC,CAAJ,EAAM;;AAAO,QAAMU,CAAC,GAACX,CAAC,IAAE+B,CAAC,CAAC7B,CAAC,GAACA,CAAC,IAAEF,CAAH,KAAO,QAAMQ,CAAN,GAAQF,CAAR,GAAU,IAAjB,CAAH,EAA0BE,CAA1B,CAAZ;;AAAyCP,EAAAA,CAAC,CAAC0E,OAAF,CAAW3E,CAAC,IAAE;AAAC,QAAG,aAAWA,CAAC,CAACuD,IAAb,IAAmB,CAACvD,CAAC,CAACi8D,QAAF,EAAYvyC,IAAhC,IAAsCxpB,CAAzC,EAA2C,IAAG,YAAUF,CAAC,CAACuD,IAAf,EAAoBvD,CAAC,CAACoV,KAAF,GAAQzU,CAAC,CAACX,CAAC,CAACoV,KAAH,CAAT,CAApB,KAA2C;AAAC,YAAMlV,CAAC,GAAC,QAAMF,CAAC,CAACwsC,QAAR,GAAiBxsC,CAAC,CAACwsC,QAAF,CAAWp3B,KAA5B,GAAkC,IAA1C;AAAA,YAA+CnV,CAAC,GAACU,CAAC,CAACT,CAAD,CAAlD;AAAsD,cAAMF,CAAC,CAACwsC,QAAR,GAAiBxsC,CAAC,CAACwsC,QAAF,GAAW,IAAIhrC,mEAAJ,CAAM;AAAC4T,QAAAA,KAAK,EAACnV;AAAP,OAAN,CAA5B,GAA6CD,CAAC,CAACwsC,QAAF,CAAWp3B,KAAX,GAAiBnV,CAA9D,EAAgE,QAAMO,CAAN,IAAS,aAAYR,CAArB,IAAwB,QAAMA,CAAC,CAAC6jE,OAAF,EAAWzuD,KAAzC,KAAiDpV,CAAC,CAAC6jE,OAAF,CAAUzuD,KAAV,GAAgBrT,CAAC,CAAC/B,CAAC,CAAC6jE,OAAF,CAAUzuD,KAAX,EAAiB5U,CAAjB,CAAlE,CAAhE;AAAuJ;AAAC,GAApT;AAAuT;;AAAA,SAAS8B,CAAT,CAAWtC,CAAX,EAAaE,CAAb,EAAeM,CAAf,EAAiB;AAAC,GAACN,CAAC,GAACA,CAAC,IAAEF,CAAC,CAACoV,KAAR,MAAiBpV,CAAC,CAACoV,KAAF,GAAQrT,CAAC,CAAC7B,CAAD,EAAGM,CAAH,CAA1B,GAAiC,QAAMA,CAAN,IAAS,aAAYR,CAArB,IAAwBA,CAAC,CAAC6jE,OAAF,EAAWzuD,KAAnC,KAA2CpV,CAAC,CAAC6jE,OAAF,CAAUzuD,KAAV,GAAgBrT,CAAC,CAAC/B,CAAC,CAAC6jE,OAAF,CAAUzuD,KAAX,EAAiB5U,CAAjB,CAA5D,CAAjC;AAAkH;;AAAA,SAASyB,CAAT,CAAWhC,CAAX,EAAaU,CAAb,EAAeE,CAAf,EAAiB;AAACZ,EAAAA,CAAC,KAAGU,CAAC,IAAE,QAAME,CAAZ,CAAD,KAAkBF,CAAC,KAAGA,CAAC,GAAC,IAAIX,iDAAJ,CAAMW,CAAN,CAAL,CAAD,EAAgBT,uDAAC,CAACD,CAAD,CAAD,GAAKyB,CAAC,CAACzB,CAAD,EAAGU,CAAH,EAAKE,CAAL,CAAN,GAAcL,uDAAC,CAACP,CAAD,CAAD,IAAMqC,CAAC,CAACrC,CAAD,EAAGU,CAAH,EAAKE,CAAL,CAAvD;AAAgE;;SAAeqL;;;;;yMAAf,WAAiBlM,CAAjB,EAAmBE,CAAnB,EAAqB;AAAC,UAAMM,CAAC,GAACR,CAAC,CAACusC,YAAV;AAAuB/rC,IAAAA,CAAC,WAAQP,4DAAC,CAACO,CAAD;AAAA,mNAAI,WAAMR,CAAN;AAAA,eAAS8B,CAAC,CAAC9B,CAAD,EAAGE,CAAH,CAAV;AAAA,OAAJ;;AAAA;AAAA;AAAA;AAAA,QAAT,CAAD;AAAgC;;;;SAAe4B;;;;;yMAAf,WAAiB9B,CAAjB,EAAmBE,CAAnB,EAAqB;AAAC,YAAOF,CAAC,CAACuD,IAAT;AAAe,WAAI,SAAJ;AAAcf,QAAAA,CAAC,CAACxC,CAAD,EAAGE,CAAH,CAAD;AAAO;;AAAM,WAAI,MAAJ;AAAW,WAAI,MAAJ;AAAW,WAAI,MAAJ;AAAWmnB,QAAAA,CAAC,CAACrnB,CAAD,EAAGE,CAAH,CAAD;AAAO;;AAAM,WAAI,MAAJ;AAAWqC,QAAAA,CAAC,CAACvC,CAAD,EAAGE,CAAH,CAAD;AAAO;;AAAM,WAAI,QAAJ;AAAa,cAAMmG,CAAC,CAACrG,CAAD,EAAGE,CAAH,CAAP;AAA7H;AAA2I;;;;AAAA,SAASmnB,CAAT,CAAWrnB,CAAX,EAAaE,CAAb,EAAe;AAAC,QAAMM,CAAC,GAAC4B,CAAC,CAAClC,CAAD,CAAT;AAAa,UAAMM,CAAN,KAAUR,CAAC,CAACw1B,IAAF,GAAOh1B,CAAjB;AAAoB;;AAAA,SAAS4B,CAAT,CAAWpC,CAAX,EAAa;AAAC,OAAI,MAAME,CAAV,IAAeF,CAAf,EAAiB,IAAG,YAAU,OAAOE,CAApB,EAAsB,OAAOA,CAAP;;AAAS,SAAO,IAAP;AAAY;;AAAA,SAASsC,CAAT,CAAWxC,CAAX,EAAaE,CAAb,EAAe;AAACF,EAAAA,CAAC,CAACw1B,IAAF,GAAO,YAAU,OAAOt1B,CAAC,CAAC,CAAD,CAAlB,GAAsBA,CAAC,CAAC,CAAD,CAAvB,GAA2B,CAAlC;AAAoC;;SAAemG;;;;;yMAAf,WAAiBrG,CAAjB,EAAmBE,CAAnB,EAAqB;AAAC,UAAK;AAACglF,MAAAA,YAAY,EAAC1kF,CAAd;AAAgB2kF,MAAAA,UAAU,EAACllF;AAA3B,cAAoC8I,CAAC,CAAC/I,CAAD,CAA1C;AAAA,UAA8CW,CAAC,GAAC0K,CAAC,CAACnL,CAAD,EAAGM,CAAH,EAAKP,CAAL,CAAjD;AAAyDD,IAAAA,CAAC,CAACiZ,KAAF,GAAQjS,CAAC,CAAC9G,CAAC,CAAC,CAAD,CAAF,EAAMD,CAAC,CAAC,CAAD,CAAP,EAAWO,CAAC,CAAC,CAAD,CAAZ,EAAgBG,CAAhB,CAAT,EAA4BX,CAAC,CAACo/E,KAAF,GAAQp4E,CAAC,CAAC9G,CAAC,CAAC,CAAD,CAAF,EAAMD,CAAC,CAAC,CAAD,CAAP,EAAWO,CAAC,CAAC,CAAD,CAAZ,EAAgBG,CAAhB,CAArC,EAAwDX,CAAC,CAACwZ,MAAF,GAASxS,CAAC,CAAC9G,CAAC,CAAC,CAAD,CAAF,EAAMD,CAAC,CAAC,CAAD,CAAP,EAAWO,CAAC,CAAC,CAAD,CAAZ,EAAgBG,CAAhB,CAAlE;AAAqF;;;;AAAA,SAAS4B,CAAT,CAAWvC,CAAX,EAAaE,CAAb,EAAe;AAAC,QAAMM,CAAC,GAAC6K,CAAC,CAACnL,CAAD,EAAGW,6EAAH,EAAK,CAACb,CAAC,CAACiZ,KAAH,EAAS,KAAK,CAAd,EAAgBjZ,CAAC,CAACwZ,MAAlB,CAAL,CAAT;AAAyCxZ,EAAAA,CAAC,CAACiZ,KAAF,GAAQjS,CAAC,CAAC9G,CAAC,CAAC,CAAD,CAAF,EAAMF,CAAC,CAACiZ,KAAR,EAAc,CAAd,EAAgBzY,CAAhB,CAAT,EAA4BR,CAAC,CAACwZ,MAAF,GAASxS,CAAC,CAAC9G,CAAC,CAAC,CAAD,CAAF,EAAMF,CAAC,CAACwZ,MAAR,EAAe,CAAf,EAAiBhZ,CAAjB,CAAtC;AAA0D;;AAAA,SAAS6K,CAAT,CAAWrL,CAAX,EAAaE,CAAb,EAAeM,CAAf,EAAiB;AAAC,OAAI,IAAIP,CAAC,GAAC,CAAV,EAAYA,CAAC,GAAC,CAAd,EAAgBA,CAAC,EAAjB,EAAoB;AAAC,UAAMU,CAAC,GAACX,CAAC,CAACC,CAAD,CAAT;;AAAa,YAAOU,CAAP;AAAU,WAAI,cAAJ;AAAmB;AAAC,gBAAMX,CAAC,GAACQ,CAAC,CAACP,CAAD,CAAT;AAAa,iBAAO,QAAMD,CAAN,GAAQA,CAAC,GAACE,CAAC,CAACD,CAAD,CAAX,GAAe,CAAtB;AAAwB;;AAAA,WAAI,cAAJ;AAAmB;;AAAM;AAAQ,YAAGU,CAAC,IAAET,CAAC,CAACD,CAAD,CAAP,EAAW,OAAOU,CAAC,GAACT,CAAC,CAACD,CAAD,CAAV;AAA/G;AAA8H;;AAAA,SAAO,CAAP;AAAS;;SAAe8I;;;;;yMAAf,WAAiB/I,CAAjB,EAAmB;AAAC,UAAK;AAAColF,MAAAA,8BAA8B,EAACllF;AAAhC,cAAyC,6LAA9C;AAAA,UAA8EM,CAAC,SAAON,CAAC,CAACF,CAAD,EAAG,EAAH,CAAvF;AAAA,UAA8F;AAACiZ,MAAAA,KAAK,EAAChZ,CAAP;AAASuZ,MAAAA,MAAM,EAAC7Y,CAAhB;AAAkBy+E,MAAAA,KAAK,EAACv+E;AAAxB,QAA2Bb,CAAzH;AAAA,UAA2HU,CAAC,GAAC,CAACT,CAAD,EAAGY,CAAH,EAAKF,CAAL,CAA7H;AAAqI,QAAIK,CAAC,GAAC,CAAN;;AAAQ,SAAI,IAAIZ,CAAC,GAAC,CAAV,EAAYA,CAAC,GAAC,CAAd,EAAgBA,CAAC,EAAjB,EAAoB;AAAC,YAAMJ,CAAC,GAACU,CAAC,CAACN,CAAD,CAAT;;AAAa,UAAG,QAAMJ,CAAT,EAAW;AAACgB,QAAAA,CAAC,GAAChB,CAAC,GAACQ,CAAC,CAACJ,CAAD,CAAL;AAAS;AAAM;AAAC;;AAAA,SAAI,IAAIA,CAAC,GAAC,CAAV,EAAYA,CAAC,GAAC,CAAd,EAAgBA,CAAC,EAAjB,EAAoB,QAAMM,CAAC,CAACN,CAAD,CAAP,KAAaM,CAAC,CAACN,CAAD,CAAD,GAAKI,CAAC,CAACJ,CAAD,CAAD,GAAKY,CAAvB;;AAA0B,WAAM;AAACkkF,MAAAA,YAAY,EAAC1kF,CAAd;AAAgB2kF,MAAAA,UAAU,EAACzkF;AAA3B,KAAN;AAAoC;;;;AAAA,SAASsG,CAAT,CAAWhH,CAAX,EAAaE,CAAb,EAAeM,CAAf,EAAiBP,CAAjB,EAAmB;AAAC,UAAOD,CAAP;AAAU,SAAI,cAAJ;AAAmB,aAAOQ,CAAC,GAACP,CAAT;;AAAW,SAAI,cAAJ;AAAmB,aAAO,QAAMC,CAAN,GAAQA,CAAR,GAAUM,CAAjB;;AAAmB;AAAQ,aAAOR,CAAP;AAAtF;AAAgG;;AAAA,SAASsL,CAAT,CAAWtL,CAAX,EAAaE,CAAb,EAAe;AAAC,QAAMM,CAAC,GAAC4B,CAAC,CAAClC,CAAD,CAAT;AAAa,MAAG,QAAMM,CAAT,EAAW,QAAOR,CAAC,CAACuD,IAAT;AAAe,SAAI,eAAJ;AAAoBvD,MAAAA,CAAC,CAACw1B,IAAF,GAAOh1B,CAAP;AAAS;;AAAM,SAAI,gBAAJ;AAAqB;AAAC,cAAMN,CAAC,GAACF,CAAC,CAACiZ,KAAF,GAAQjZ,CAAC,CAACwZ,MAAlB;AAAyBtZ,QAAAA,CAAC,GAAC,CAAF,IAAKF,CAAC,CAACiZ,KAAF,GAAQzY,CAAR,EAAUR,CAAC,CAACwZ,MAAF,GAAShZ,CAAC,GAACN,CAA1B,KAA8BF,CAAC,CAACiZ,KAAF,GAAQzY,CAAC,GAACN,CAAV,EAAYF,CAAC,CAACwZ,MAAF,GAAShZ,CAAnD;AAAsD;AAAM;;AAAA,SAAI,aAAJ;AAAkBR,MAAAA,CAAC,CAACiZ,KAAF,GAAQzY,CAAR;AAAU;;AAAM,SAAI,MAAJ;AAAWR,MAAAA,CAAC,CAACqlF,IAAF,CAAO7vD,IAAP,GAAYh1B,CAAZ;AAA1M;AAAyN;;SAAe+K;;;;;yMAAf,WAAiBvL,CAAjB,EAAmBC,CAAnB,EAAqB;AAAC,QAAGD,CAAC,IAAEC,CAAN,EAAQ,OAAOC,uDAAC,CAACF,CAAD,CAAD,GAAKkM,CAAC,CAAClM,CAAD,EAAGC,CAAH,CAAN,GAAY,MAAKO,uDAAC,CAACR,CAAD,CAAD,IAAMsL,CAAC,CAACtL,CAAD,EAAGC,CAAH,CAAZ,CAAnB;AAAsC;;;;AAAA,SAAS6f,CAAT,CAAW9f,CAAX,EAAaC,CAAb,EAAeU,CAAf,EAAiB;AAAC,MAAGX,CAAC,IAAE,QAAMC,CAAZ,EAAc,IAAGC,uDAAC,CAACF,CAAD,CAAJ,EAAQ;AAAC,UAAME,CAAC,GAACF,CAAC,CAACusC,YAAV;AAAuBrsC,IAAAA,CAAC,IAAEA,CAAC,CAACyE,OAAF,CAAW3E,CAAC,IAAE;AAAC,UAAG,aAAWA,CAAC,CAACuD,IAAhB,EAAqB,QAAO5C,CAAP;AAAU,aAAI,MAAJ;AAAWX,UAAAA,CAAC,CAACslF,IAAF,GAAO,CAACtlF,CAAC,CAACslF,IAAF,IAAQ,CAAT,IAAYrlF,CAAnB;AAAqB;;AAAM,aAAI,MAAJ;AAAWD,UAAAA,CAAC,CAACulF,IAAF,GAAO,CAACvlF,CAAC,CAACulF,IAAF,IAAQ,CAAT,IAAYtlF,CAAnB;AAAqB;;AAAM;AAAQD,UAAAA,CAAC,CAACwlF,OAAF,GAAU,CAACxlF,CAAC,CAACwlF,OAAF,IAAW,CAAZ,IAAevlF,CAAzB;AAA9F;AAAyH,iBAASD,CAAC,CAACuD,IAAX,KAAkBvD,CAAC,CAAC6/E,KAAF,IAAS5/E,CAA3B;AAA8B,KAA3L,CAAH;AAAiM,GAAjO,MAAsOO,uDAAC,CAACR,CAAD,CAAD,KAAO,oBAAkBA,CAAC,CAACuD,IAApB,IAA0B,qBAAmBvD,CAAC,CAACuD,IAA/C,IAAqD,WAASvD,CAAC,CAACuD,IAAhE,KAAuEvD,CAAC,CAAC6/E,KAAF,IAAS5/E,CAAhF,CAAP;AAA2F;;AAAA,SAASkC,CAAT,CAAWnC,CAAX,EAAa;AAAC,MAAG,CAACA,CAAJ,EAAM,OAAO,IAAP;AAAY,QAAME,CAAC,GAACF,CAAC,CAACsrE,OAAF,CAAU3kE,MAAV,CAAkB3G,CAAC,IAAE,YAAUA,CAAC,CAACuD,IAAjC,EAAwCgC,GAAxC,CAA6CvF,CAAC,IAAEA,CAAC,CAACuK,MAAF,EAAhD,CAAR;AAAqE,SAAO7J,qFAAC,CAACR,CAAD,CAAR;AAAY;;AAAA,SAASuL,CAAT,CAAWzL,CAAX,EAAa;AAAC,SAAO,QAAMA,CAAN,IAAS,iBAAeA,CAAC,CAACuD,IAA1B,IAAgCvD,CAAC,CAACusC,YAAF,CAAe/0B,IAAf,CAAqBxX,CAAC,IAAE,cAAYA,CAAC,CAACuD,IAAtC,CAAvC;AAAoF;;SAAe6H;;;;;yMAAf,WAAiBpL,CAAjB,EAAmBE,CAAnB,EAAqB;AAAC,UAAMM,CAAC,SAAOR,CAAC,CAACi7E,WAAF,CAAc/6E,CAAd,CAAd;AAA+B,WAAOM,CAAC,IAAER,CAAC,CAACm7E,cAAF,CAAiBj7E,CAAjB,CAAV;AAA8B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACJv0I;AACA;AACA;AACA;AAC8kB,oBAAoB,eAAe,kCAAkC,sDAAC,oJAAoJ,0DAAC,2BAA2B,kEAAC,MAAM,gBAAgB,qCAAqC,wBAAwB,iCAAiC,oEAAY,MAAM,aAAa,8DAAC,iCAAiC,eAAe,OAAO,4BAA4B,EAAE,sBAAsB,0BAA0B,sDAAC,6CAA6C,aAAa,GAAG,MAAM,iEAAC,qCAAqC,+BAA+B,8EAAC,OAAO,gFAAC,UAAU,gFAAC,KAAK,SAAS,aAAa,8DAAC,CAAC,6DAAC,2BAA2B,OAAO,2DAAC,gBAAgB,qBAAqB,gEAAC,kBAAkB,uDAAC,MAAM,MAAM,uDAAC,KAAK,MAAM,QAAQ,iEAAC,MAAM,gBAAgB,oDAAC,EAAE,MAAM,EAAE,yBAAyB,oDAAC,EAAE,oBAAoB,SAAS,EAAE,EAAE,GAAG,6BAA6B,uDAAC,EAAE,2CAA2C,kCAAkC,uDAAC,EAAE,6CAA6C,GAAG,SAAS,GAAG,kBAAkB,QAAQ,yEAAY,IAAI,YAAY,iCAAiC,oEAAY,GAAG,OAAO,2DAAC,gBAAgB,QAAQ,gEAAC,SAAS,OAAO,uDAAC,IAAI,aAAa,8DAAC,CAAC,6DAAC,0BAA0B,EAAE,GAA2F;;;;;;;;;;;;;;;;;;;;;;;;;;ACJt8D;AACA;AACA;AACA;AACkoB,MAAM,QAAQ,mEAAC,CAAC,+EAAC,EAAE,sBAAsB,6DAAC,CAAC,eAAe,oDAAoD,gBAAgB,OAAO,gEAAC,MAAM,kBAAkB,OAAO,8DAAC,6BAA6B,mBAAmB,yBAAyB,4DAAC,MAAM,QAAQ,cAAc,SAAS,oDAAC,iDAAiD,IAAI,uDAAC,EAAE,sFAAC,EAAE,MAAM,UAAU,kCAAkC,uDAAC,EAAE,8EAAC,+CAA+C,uDAAC,EAAE,kFAAC,0EAA0E,uDAAC,EAAE,kFAAC,gDAAgD,uDAAC,EAAE,sFAAC,EAAE,oBAAoB,UAAU,2CAA2C,uDAAC,EAAE,sFAAC,2CAA2C,UAA+B;;;;;;;;;;;;;;;;;;;;;;;ACJv1C;AACA;AACA;AACA;AACyU,MAAM,sBAAsB,iEAAC,CAAC,eAAe,wDAAwD,QAAQ,cAAc,2EAA2E,IAAI,uDAAC,EAAE,sFAAC,EAAE,oBAAoB,UAAU,qCAAqC,uDAAC,EAAE,sFAAC,EAAE,sCAAsC,kBAAkB,kCAAkC,uDAAC,EAAE,sFAAC,6DAA6D,UAA+B;;;;;;;;;;;;;;;;;;;;ACJ5xB;AACA;AACA;AACA;AACgQ,oBAAoB,6DAAC,CAAC,eAAe,gEAAgE,uDAAC,EAAE,sFAAC,EAAE,kBAAkB,UAAU,qCAAqC,uDAAC,EAAE,sFAAC,EAAE,kBAAkB,UAAU,+BAA+B,uDAAC,EAAE,sFAAC,iCAAiC,uDAAC,EAAE,sFAAC,mDAAmD,UAA+B;;;;;;;;;;;;;;;;;;;;;;;ACJxmB;AACA;AACA;AACA;AACyU,MAAM,sBAAsB,iEAAC,CAAC,eAAe,+CAA+C,QAAQ,cAAc,uEAAuE,IAAI,uDAAC,EAAE,sFAAC,EAAE,kBAAkB,UAAU,mCAAmC,uDAAC,EAAE,sFAAC,EAAE,kBAAkB,kBAAkB,kCAAkC,uDAAC,EAAE,sFAAC,wDAAwD,UAA+B;;;;;;;;;;;;;;;;;;;;;;;;;ACJlvB;AACA;AACA;AACA;AACqlB,MAAM,sBAAsB,iEAAC,CAAC,eAAe,8CAA8C,gBAAgB,OAAO,gEAAC,SAAS,kBAAkB,OAAO,8DAAC,gCAAgC,mBAAmB,yBAAyB,4DAAC,SAAS,QAAQ,cAAc,sCAAsC,oDAAC,iCAAiC,IAAI,uDAAC,EAAE,sFAAC,EAAE,MAAM,UAAU,kCAAkC,uDAAC,EAAE,8EAAC,+CAA+C,uDAAC,EAAE,kFAAC,0EAA0E,uDAAC,EAAE,kFAAC,gDAAgD,uDAAC,EAAE,sFAAC,EAAE,kBAAkB,kBAAkB,kCAAkC,uDAAC,EAAE,sFAAC,wDAAwD,QAAQ,mEAAC,QAA6B;;;;;;;;;;;;;;;;;;;;;;;ACJ9zC;AACA;AACA;AACA;AACyU,MAAM,sBAAsB,iEAAC,CAAC,eAAe,2DAA2D,QAAQ,cAAc,iFAAiF,IAAI,uDAAC,EAAE,sFAAC,EAAE,kBAAkB,UAAU,wCAAwC,uDAAC,EAAE,sFAAC,EAAE,4BAA4B,kBAAkB,kCAAkC,uDAAC,EAAE,sFAAC,+DAA+D,UAA+B;;;;;;;;;;;;;;;;;;;;;;;;ACJ9xB;AACA;AACA;AACA;AACsT,cAAc,OAAO,gBAAgB,KAAK,0EAAC,qBAAqB,WAAW,oFAAC,OAAO,+EAAC,sBAAsB,sFAAC,EAAE,oBAAoB,KAAK,0EAAC,qBAAqB,WAAW,oFAAC,OAAO,+EAAC,cAAc,sFAAC,IAAI,qBAAqB,kBAAkB,+DAA+D,gEAAgE,qBAAqB,kBAAkB,+DAA+D,qDAAqD,qBAAqB,mBAAmB,oFAAC,kDAAuH;;;;;;;;;;;;;;;;;;;;;;;;;;;ACJ19B;AACA;AACA;AACA;AAC8jB,MAAM,sBAAsB,6DAAC,CAAC,qBAAqB,SAAS,mBAAmB,SAAS,oBAAoB,cAAc,wEAAwE,EAAE,eAAe,uCAAuC,aAAa,wCAAwC,cAAc,yBAAyB,gBAAgB,8BAA8B,cAAc,4BAA4B,eAAe,4CAA4C,gBAAgB,2BAA2B,QAAQ,cAAc,8BAA8B,EAAE,UAAU,eAAe,kIAAkI,oBAAoB,aAAa,sDAAC,EAAE,oDAAoD,iBAAiB,MAAM,gEAAC,SAAS,eAAe,MAAM,QAAQ,gEAAC,QAAQ,8BAA8B,8DAAC,UAAU,cAAc,cAAc,EAAE,gBAAgB,0BAA0B,0CAA0C,mCAAmC,mCAAmC,kHAAkH,QAAQ,6HAA6H,6DAA6D,EAAE,aAAa,sDAAC,EAAE,oDAAoD,eAAe,cAAc,MAAM,yBAAyB,8DAAC,2BAA2B,8DAAC,aAAa,UAAU,4FAA4F,SAAS,qCAAqC,iCAAiC,gDAAgD,kMAAkM,cAAc,cAAc,IAAI,uDAAC,EAAE,sFAAC,EAAE,gBAAgB,OAAO,eAAe,6BAA6B,uDAAC,EAAE,kFAAC,qCAAqC,uDAAC,EAAE,kFAAC,sCAAsC,uDAAC,EAAE,sFAAC,EAAE,kBAAkB,SAAS,iCAAiC,uDAAC,EAAE,sFAAC,EAAE,kBAAkB,SAAS,+BAA+B,uDAAC,EAAE,sFAAC,EAAE,gBAAgB,OAAO,eAAe,+BAA+B,uDAAC,EAAE,kFAAC,yCAAyC,uDAAC,EAAE,kFAAC,8CAA8C,uDAAC,EAAE,sFAAC,6BAA6B,2BAA2B,wBAAwB,EAAuB;;;;;;;;;;;;;;;;;;;;;;;;;;;ACJ7nG;AACA;AACA;AACA;AACwkB,oBAAoB,gEAAC,CAAC,6DAAC,GAAG,eAAe,+CAA+C,iBAAiB,OAAO,+DAAC,wCAAwC,uDAAC,EAAE,4FAAC,CAAC,wFAAC,EAAE,eAAe,8BAA8B,uDAAC,EAAE,sFAAC,EAAE,kBAAkB,SAAS,gBAAgB,iCAAiC,uDAAC,EAAE,sFAAC,+BAA+B,UAA+B;;;;;;;;;;;;;;;;ACJ16B;AACA;AACA;AACA;AACA,2/MAA0hN;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACJ1hN;AACA;AACA;AACA;AACiH,wGAAwG,cAAc,yBAAyB,cAAc,2BAA2B,mBAAmB,OAAO,MAAM,MAAM,yCAAyC,aAAa,yBAAyB,qBAAqB,kBAAkB,sCAAsC,cAAc,OAAO,gBAAgB,kBAAkB,QAAQ,wEAAK,sBAAsB,QAAQ,wEAAK,aAAa,sDAAsD,cAAc,QAAQ,iDAAO,gCAAgC,cAAc,gBAAgB,QAAQ,UAAU,yBAAyB,gBAAgB,2DAAU,8BAA8B,EAAE,sBAAsB,wBAAwB,gCAAgC,oCAAoC,OAAO,4EAA4E,cAAc,sFAAsF,cAAc,2BAA2B,2BAA2B,GAAG,OAAO,uCAAuC,OAAO,YAAY,cAAc,qHAAqH,oEAAwU;;;;;;;;;;;;;;;;;;;;;;;;;;;ACJjtD;AACA;AACA;AACA;AACA;AAAgC;AAAiE,MAAMA,CAAC,GAACD,0EAAC,EAAT;AAAA,MAAYU,CAAC,GAAC,IAAIgS,GAAJ,EAAd;AAAA,MAAsBvS,CAAC,GAAC,IAAIuS,GAAJ,EAAxB;AAAA,MAAgCrS,CAAC,GAAC,IAAIqS,GAAJ,EAAlC;;SAAyDnS;;;;;yMAAf,WAAiBP,CAAjB,EAAmBC,CAAnB,EAAqBE,CAArB,EAAuB;AAAC,QAAG,CAACH,CAAD,IAAI,CAACG,CAAR,EAAU,OAAM,CAAC,CAAP;AAAS,QAAG,CAACF,CAAJ,EAAM,OAAM,CAAC,CAAP;AAAS,UAAMI,CAAC,GAAC,IAAI0d,GAAJ,CAAQ/d,CAAR,EAAW4lB,IAAnB;AAAwB,QAAIrlB,CAAC,GAACG,CAAC,CAACmZ,GAAF,CAAMxZ,CAAN,CAAN;;AAAe,QAAG,CAACE,CAAJ,EAAM;AAAC,YAAMN,CAAC,GAACD,CAAC,CAACsQ,OAAF,CAAU,kBAAV,EAA6B,0BAA7B,EAAyDA,OAAzD,CAAiE,QAAjE,EAA0E,EAA1E,CAAR;AAAsF/P,MAAAA,CAAC,GAAC,OAAOR,uDAAC,CAACE,CAAD,EAAG;AAACge,QAAAA,YAAY,EAAC,MAAd;AAAqB/W,QAAAA,KAAK,EAAC;AAACvF,UAAAA,CAAC,EAAC;AAAH;AAA3B,OAAH,CAAR,EAAoDsC,IAApD,CAAyDolD,kBAA3D;AAA8E;;AAAA,WAAO9oD,CAAC,KAAGN,CAAX;AAAa;;;;SAAeQ;;;;;yMAAf,WAAiBV,CAAjB,EAAmBC,CAAnB,EAAqBU,CAAC,GAAC,CAAC,CAAxB,EAA0B;AAAC,QAAG,CAACX,CAAD,IAAI,CAACC,CAAR,EAAU,OAAM,CAAC,CAAP;AAAS,UAAMK,CAAC,GAACN,CAAC,CAACuQ,OAAF,CAAU,kBAAV,EAA6B,0BAA7B,EAAyDA,OAAzD,CAAiE,QAAjE,EAA0E,EAA1E,CAAR;AAAA,UAAsF/P,CAAC,GAACJ,CAAC,CAAC0Z,GAAF,CAAMxZ,CAAN,GAAUwqB,OAAV,EAAxF;AAA4G,QAAGtqB,CAAH,EAAK,KAAI,MAAK,CAACJ,CAAD,EAAGM,CAAH,CAAT,IAAiBF,CAAjB,EAAmB,IAAGE,CAAC,CAAC0Z,IAAF,KAASna,CAAZ,EAAc;AAAC,YAAMD,CAAC,GAAC,CAACU,CAAC,CAACya,KAAF,EAASyqE,eAAT,EAAT;;AAAoC,UAAG,CAAC5lF,CAAD,IAAIW,CAAP,EAAS;AAAC,cAAK,CAAC;AAACklF,UAAAA,kBAAkB,EAAC7lF;AAApB,SAAD,EAAwB;AAACwI,UAAAA,OAAO,EAACvI;AAAT,SAAxB,UAA2CoF,OAAO,CAACc,GAAR,CAAY,CAAC,yPAAD,EAAyE,6RAAzE,CAAZ,CAAhD;AAAA,cAAiOxF,CAAC,SAAOX,CAAC,CAACM,CAAD,EAAGF,CAAH,EAAK,IAAIH,CAAJ,CAAM;AAAC6lF,UAAAA,SAAS,EAAC5lF,CAAX;AAAaknD,UAAAA,MAAM,EAAC1mD,CAAC,CAAC0mD;AAAtB,SAAN,CAAL,CAA1O;AAAqR,eAAOzmD,CAAC,CAACg0C,OAAF,IAAWj0C,CAAC,CAACya,KAAF,EAAS4qE,iBAAT,EAAX,EAAwCplF,CAAC,CAACg0C,OAAjD;AAAyD;;AAAA,aAAO30C,CAAP;AAAS;AAAA,WAAM,CAAC,CAAP;AAAS;;;;AAAA,SAASgB,CAAT,CAAWhB,CAAX,EAAaC,CAAb,EAAe;AAAC,MAAG,CAACD,CAAJ,EAAM,OAAM,CAAC,CAAP;AAAS,QAAME,CAAC,GAACF,CAAC,CAACuQ,OAAF,CAAU,kBAAV,EAA6B,0BAA7B,EAAyDA,OAAzD,CAAiE,QAAjE,EAA0E,EAA1E,CAAR;AAAA,QAAsF5P,CAAC,GAACP,CAAC,CAAC0Z,GAAF,CAAM5Z,CAAN,GAAU4qB,OAAV,EAAxF;AAA4G,MAAGnqB,CAAH,EAAK,KAAI,MAAK,CAACP,CAAD,EAAGE,CAAH,CAAT,IAAiBK,CAAjB,EAAmB,IAAGL,CAAC,CAAC8Z,IAAF,KAASna,CAAZ,EAAc;AAAC,WAAM,WAASK,CAAC,CAAC0lF,QAAjB;AAA0B;AAAA,SAAM,CAAC,CAAP;AAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACJxsC;AACA;AACA;AACA;AACmkC,iBAAiB,QAAQ,eAAe,iCAAiC,4EAAC,UAAU,4DAAC,iCAAiC,4DAAC,aAAa,cAAc,yCAAyC,cAAc,yCAAyC,eAAe,4BAA4B,gBAAgB,uBAAuB,eAAe,EAAE,yDAAC,4BAA4B,yDAAC,2BAA2B,yDAAC,+EAA+E,gBAAgB,0CAA0C,yDAAC,6BAA6B,oBAAoB,yDAAC,CAAC,eAAe,6DAA6D,4DAAC,sCAAsC,iEAAM,oBAAoB,qDAAC,EAAE,mBAAmB,2DAAC,oBAAoB,mBAAmB,iEAAC,EAAE,uCAAuC,0DAA0D,UAAU,iBAAiB,2DAAC,mBAAmB,gBAAgB,uBAAuB,iBAAiB,wCAAwC,eAAe,YAAY,uBAAuB,yDAAC,MAAM,oCAAoC,sDAAC,8CAA8C,0CAA0C,MAAM,gHAAgH,4DAA4D,2DAAC,sBAAsB,+FAAa,uEAAuE,4OAA4O,SAAS,2DAAC,IAAI,GAAG,aAAa,gOAAgO,kGAAkG,uBAAuB,mDAAmD,YAAY,0DAAC,EAAE,iBAAiB,SAAS,sFAAsF,kGAAkG,OAAO,qFAAqF,eAAe,uBAAuB,gBAAgB,wEAAe,EAAE,8GAA8G,KAAK,yFAAyF,0EAA0E,oEAAoE,gCAAgC,oBAAoB,8BAA8B,MAAM,kBAAkB,yCAAyC,+FAAa,GAAG,GAAG,wDAAG,+KAA+K,wDAAG,8FAA8F,MAAM,OAAO,MAAM,cAAc,oFAAC,KAAK,uEAAC,iCAAiC,uEAAC,uOAAuO,GAAG,wDAAG,oDAAoD,GAAG,0DAA0D,GAAG,gDAAgD,wDAAG,6GAA6G,QAAQ,0BAA0B,MAAM,qFAAqF,MAAM,qEAAqE,SAAS,uDAAC,EAAE,sFAAC,iCAAiC,uDAAC,EAAE,sFAAC,+BAA+B,uDAAC,EAAE,sFAAC,sCAAsC,uDAAC,EAAE,uFAAC,uCAAuC,UAA+B;;;;;;;;;;;;;;;;;;;;;;ACJryK;AACA;AACA;AACA;AAC0T,QAAQ,eAAe,wIAAwI,mEAAC,wCAAwC,sVAAsV,oEAAC,yGAAyG,iBAAiB,wDAAwD,MAAM,qDAAqD,MAAM,WAAW,+YAA+Y,0EAAW,6CAA6C,4EAAa,uBAAuB,qEAAM,2DAA2D,UAAU,sCAAsC,gBAAgB,uBAAuB,QAAQ,gCAAgC,kBAAkB,qDAAqD,8BAA8B,2DAAC,mGAAmG,wBAAwB,6DAAC,yBAAyB,sCAAsC,yBAAyB,iEAAC,4BAA4B,OAAO,8MAA8M,gBAAgB,sEAAsE,eAAe,sDAAsD,oBAAoB,gDAAgD,yCAAyC,sRAA2S;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACJj2F;AACA;AACA;AACA;AACA;AAA8C;AAA+D;AAAsC;AAAmC;AAAoC;AAA6E;AAAuD;AAA6E;AAA0B;AAAgC;AAA6E;AAAmC;AAA6C,IAAI1kF,CAAC,GAAC,cAActB,yDAAd,CAAe;AAACyC,EAAAA,WAAW,CAACvC,CAAD,EAAG;AAAC,UAAMA,CAAN,GAAS,KAAKomF,SAAL,GAAe,IAAxB;AAA6B;;AAAAliF,EAAAA,OAAO,GAAE;AAAC,SAAKkiF,SAAL,GAAe,IAAf;AAAoB;;AAAMC,EAAAA,IAAI,CAACrmF,CAAD,EAAGF,CAAH,EAAK;AAAA;;AAAA;AAAC,UAAG,CAACE,CAAJ,EAAM,OAAO,KAAKD,iEAAA,CAAY,KAAZ,EAAkBwD,KAAlB,CAAwB,SAAxB,EAAkC,oCAAlC,CAAZ;AAAoF,YAAM/C,CAAC,GAAC,IAAII,0DAAJ,EAAR;AAAc,WAAI,CAAC0lF,IAAL,CAAUC,SAAV,GAAoB/lF,CAApB,QAA4BC,gEAAC,CAAE,MAAI,KAAI,CAAC6lF,IAAL,CAAUxuE,KAAhB,EAAuBhY,CAAvB,CAA7B;AAAuD,YAAMI,CAAC,GAAC,EAAC,GAAGJ,CAAJ;AAAM0mF,QAAAA,OAAO,EAAC1mF,CAAC,EAAE0mF,OAAH,IAAY,CAAClmF,wEAAC,EAA5B;AAA+BmmF,QAAAA,aAAa,EAAC3mF,CAAC,EAAE2mF,aAAH,IAAkB;AAA/D,OAAR;AAAA,YAA+E;AAAC3tE,QAAAA,MAAM,EAAC1Y,CAAR;AAAUsC,QAAAA,gBAAgB,EAAC5B,CAA3B;AAA6Bw0B,QAAAA,IAAI,EAACt0B,CAAlC;AAAoC0T,QAAAA,SAAS,EAACtT,CAA9C;AAAgDslF,QAAAA,WAAW,EAAC3kF,CAA5D;AAA8D4kF,QAAAA,OAAO,EAAC9kF,CAAtE;AAAwEmW,QAAAA,aAAa,EAACxW;AAAtF,UAAyF,KAAI,CAAC8kF,IAA7K;AAAA,YAAkLhlF,CAAC,GAACX,2DAAC,CAACX,CAAD,EAAG;AAAC8Y,QAAAA,MAAM,EAAC1Y,CAAR;AAAUsC,QAAAA,gBAAgB,EAAC5B,CAA3B;AAA6Bw0B,QAAAA,IAAI,EAACt0B,CAAlC;AAAoC0T,QAAAA,SAAS,EAACtT,CAA9C;AAAgDslF,QAAAA,WAAW,EAAC3kF,CAA5D;AAA8D4kF,QAAAA,OAAO,EAAC9kF,CAAtE;AAAwEmW,QAAAA,aAAa,EAACxW,CAAtF;AAAwFolF,QAAAA,iBAAiB,EAAC9mF,CAAC,EAAE8mF,iBAAH,IAAsB,CAAC;AAAjI,OAAH,CAArL;AAA6T,aAAOpmF,CAAC,EAAE26D,MAAH,CAAU75D,CAAV,GAAa,KAAI,CAAC8kF,SAAL,GAAe,EAA5B,EAA+BlmF,CAAC,CAACsmF,OAAF,GAAU,KAAI,CAACK,aAAL,CAAmBvlF,CAAnB,EAAqBpB,CAArB,CAAV,GAAkC,KAAI,CAAC4mF,cAAL,CAAoBxlF,CAApB,EAAsBpB,CAAtB,CAAxE;AAA7d;AAA8jB;;AAAA4mF,EAAAA,cAAc,CAAC9mF,CAAD,EAAGM,CAAH,EAAK;AAAC,UAAMR,CAAC,GAAC,KAAKsmF,SAAb;AAAA,UAAuBrmF,CAAC,GAAC,KAAKumF,IAAL,CAAUC,SAAnC;AAAA,UAA6CnmF,CAAC,GAACJ,CAAC,CAAC8F,IAAF,CAAQ9F,CAAC,IAAE;AAAC,UAAGE,qEAAC,CAACI,CAAD,CAAD,EAAKR,CAAC,KAAG,KAAKsmF,SAAjB,EAA2B,MAAM,IAAI5lF,sDAAJ,CAAM,uBAAN,EAA8B,sBAA9B,CAAN;AAA4D,WAAK8lF,IAAL,CAAU5xE,SAAV,GAAoB3U,CAAC,CAACgI,MAAF,GAAS/H,CAA7B,EAA+BD,CAAC,CAACm0C,MAAF,EAA/B;AAA0C,KAA7I,CAA/C;AAA+L,WAAO,KAAK6yC,gBAAL,CAAsBjnF,CAAtB,EAAwBC,CAAxB,EAA0BK,CAA1B,EAA4BE,CAA5B,CAAP;AAAsC;;AAAAumF,EAAAA,aAAa,CAAC7mF,CAAD,EAAGM,CAAH,EAAK;AAAC,UAAMR,CAAC,GAAC,KAAKsmF,SAAb;AAAA,UAAuBrmF,CAAC,GAAC,KAAKumF,IAAL,CAAUC,SAAnC;AAA6C,QAAG,CAACxmF,CAAJ,EAAM,OAAOoF,OAAO,CAACC,OAAR,EAAP;AAAyB,UAAMhF,CAAC,GAACJ,CAAC,CAAC8F,IAAF,CAAQ9F,CAAC,IAAE;AAAC,UAAGE,qEAAC,CAACI,CAAD,CAAD,EAAKR,CAAC,KAAG,KAAKsmF,SAAjB,EAA2B,MAAM,IAAI5lF,sDAAJ,CAAM,uBAAN,EAA8B,sBAA9B,CAAN;AAA4D,aAAOT,CAAC,CAACo7D,MAAF,CAASn7D,CAAT,GAAY,KAAKsmF,IAAL,CAAUU,gBAAV,CAA2BR,OAA3B,CAAmCzmF,CAAnC,EAAqC,KAAKumF,IAAL,CAAU5xE,SAA/C,EAAyDpU,CAAzD,CAAZ,EAAwEP,CAAC,CAAC6D,IAAF,GAASkC,IAAT,CAAe,MAAI,CAAE,CAArB,EAAwB,MAAI,CAAE,CAA9B,CAA/E;AAAgH,KAAnN,CAAR;AAA8N,WAAO,KAAKihF,gBAAL,CAAsBjnF,CAAtB,EAAwBC,CAAxB,EAA0BK,CAA1B,EAA4BE,CAA5B,CAAP;AAAsC;;AAAAymF,EAAAA,gBAAgB,CAAC/mF,CAAD,EAAGM,CAAH,EAAKR,CAAL,EAAOU,CAAP,EAAS;AAAC,UAAMT,CAAC,GAAC,MAAIC,CAAC,KAAG,KAAKomF,SAArB;;AAA+B,WAAOhmF,kEAAC,CAACN,CAAD,EAAGU,CAAH,CAAD,CAAO0qE,OAAP,CAAgB,MAAI;AAACnrE,MAAAA,CAAC,OAAKO,CAAC,CAACoa,IAAF,IAAQpa,CAAC,CAAC2mF,IAAF,EAAb,CAAD;AAAwB,KAA7C,CAAP;AAAuD;;AAAp2C,CAArB;AAA23CjnF,uDAAC,CAAC,CAACc,sFAAC,CAAC;AAACo1C,EAAAA,aAAa,EAAC,CAAC;AAAhB,CAAD,CAAF,CAAD,EAAyB90C,CAAC,CAAC6G,SAA3B,EAAqC,MAArC,EAA4C,KAAK,CAAjD,CAAD,EAAqD7G,CAAC,GAACpB,uDAAC,CAAC,CAACgB,uFAAC,CAAC,2BAAD,CAAF,CAAD,EAAkCI,CAAlC,CAAxD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACJ7/D;AACA;AACA;AACA;AAC8qB,SAAS,8BAA8B,OAAO,4DAAC,SAAS,6DAAC,GAAG,oBAAoB,yDAAC,CAAC,eAAe,8JAA8J,2DAAC,CAAC,UAAU,eAAe,oBAAoB,gCAAgC,wBAAwB,oCAAoC,wBAAwB,oCAAoC,uBAAuB,mCAAmC,uBAAuB,mCAAmC,gBAAgB,qDAAqD,cAAc,SAAS,gBAAgB,GAAG,oBAAoB,GAAG,oBAAoB,EAAE,gBAAgB,+BAA+B,6GAA6G,mFAAC,EAAE,oFAAoF,EAAE,gBAAgB,WAAW,2EAAC,EAAE,qCAAqC,EAAE,YAAY,wJAAwJ,2GAA2G,uEAAC,EAAE,8DAA8D,EAAE,eAAe,+BAA+B,mBAAmB,gBAAgB,+BAA+B,mBAAmB,eAAe,qJAAqJ,uBAAuB,oGAAoG,OAAO,yBAAyB,eAAe,iCAAiC,eAAe,iCAAiC,aAAa,wCAAwC,mBAAmB,qCAAqC,uBAAuB,2CAA2C,uDAAC,EAAE,sFAAC,EAAE,YAAY,qCAAqC,uDAAC,EAAE,sFAAC,EAAE,YAAY,yCAAyC,uDAAC,EAAE,sFAAC,EAAE,YAAY,yCAAyC,uDAAC,EAAE,sFAAC,EAAE,YAAY,wCAAwC,uDAAC,EAAE,sFAAC,EAAE,YAAY,wCAAwC,uDAAC,EAAE,sFAAC,EAAE,mBAAmB,gCAAgC,uDAAC,EAAE,sFAAC,EAAE,MAAM,8DAAC,EAAE,8BAA8B,uDAAC,EAAE,sFAAC,mCAAmC,uDAAC,EAAE,sFAAC,mCAAmC,uDAAC,EAAE,sFAAC,kCAAkC,uDAAC,EAAE,sFAAC,kCAAkC,uDAAC,EAAE,sFAAC,0CAA0C,uDAAC,EAAE,sFAAC,qCAAqC,uDAAC,EAAE,sFAAC,EAAE,KAAK,2DAAC,CAAC,2CAA2C,uDAAC,EAAE,sFAAC,+BAA+B,uDAAC,EAAE,sFAAC,EAAE,YAAY,+BAA+B,uDAAC,EAAE,sFAAC,EAAE,KAAK,mFAAC,aAAa,iCAAiC,uDAAC,EAAE,sFAAC,EAAE,KAAK,2EAAC,CAAC,iCAAiC,uDAAC,EAAE,sFAAC,EAAE,iBAAiB,uEAAC,CAAC,+BAA+B,uDAAC,EAAE,sFAAC,yCAAyC,UAA+B;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACJjtH;AACA;AACA;AACA;AACmnB,QAAQ,sBAAsB,yDAAC,CAAC,cAAc,sEAAsE,QAAQ,cAAc,gEAAgE,IAAI,uDAAC,EAAE,sFAAC,+BAA+B,uDAAC,EAAE,sFAAC,8BAA8B,uDAAC,EAAE,sFAAC,gCAAgC,uDAAC,EAAE,sFAAC,qCAAqC,uDAAC,EAAE,sFAAC,8CAA8C,sBAAsB,sDAAC,CAAC,kBAAkB,qCAAqC,sDAAC,2BAA2B,QAAQ,mFAAC,GAAG,WAAW,iDAAiD,iBAAiB,6BAA6B,wEAAC,kCAAkC,6EAAC,QAAQ,yEAAC,WAAW,oBAAoB,uBAAuB,oBAAoB,6DAAC,4DAA4D,wDAAC,sCAAsC,eAAe,8BAA8B,iBAAiB,MAAM,iCAAiC,QAAQ,6BAA6B,MAAM,+DAAC,mCAAmC,MAAM,oCAAoC,IAAI,2BAA2B,uBAAuB,wFAAwF,QAAQ,cAAc,gIAAgI,IAAI,uDAAC,EAAE,sFAAC,0CAA0C,uDAAC,EAAE,sFAAC,EAAE,OAAO,+BAA+B,uDAAC,EAAE,sFAAC,sCAAsC,uDAAC,EAAE,sFAAC,sCAAsC,UAA+B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACJppE;AACA;AACA;AACA;AACojD,MAAM,cAAc,sBAAsB,6DAAC,CAAC,eAAe,4BAA4B,OAAO,oFAAC,8CAA8C,mCAAmC,4DAAC,iCAAiC,qFAAC,iEAAiE,qFAAC,4BAA4B,qFAAC,oBAAoB,oFAAC,wBAAwB,oFAAC,iBAAiB,oFAAC,kBAAkB,qFAAC,2CAA2C,kBAAkB,yCAAyC,YAAY,mCAAmC,iBAAiB,MAAM,6CAA6C,4GAA4G,eAAe,kBAAkB,qBAAqB,gGAAgG,QAAQ,mCAAmC,4BAA4B,yDAAC,iCAAiC,0EAAC,oIAAoI,QAAQ,cAAc,2EAA2E,EAAE,aAAa,OAAO,6EAAC,IAAI,oFAAC,2CAA2C,oFAAC,6BAA6B,gBAAgB,OAAO,6EAAC,IAAI,oFAAC,oCAAoC,oFAAC,sBAAsB,0BAA0B,OAAO,6EAAC,IAAI,oFAAC,8CAA8C,oFAAC,gCAAgC,uBAAuB,0EAAC,MAAM,4BAA4B,4BAA4B,MAAM,IAAI,cAAc,GAAG,kBAAkB,QAAQ,kEAAC,MAAM,oCAAoC,wBAAwB,wGAAC,WAAW,wBAAwB,MAAM,SAAS,oEAAoE,OAAO,8DAAC,gBAAgB,UAAU,MAAM,+CAA+C,0EAA0E,qDAAC,EAAE,mBAAmB,2DAAC,iCAAiC,EAAE,8CAA8C,gBAAgB,kEAAC,yDAAyD,0EAAC,gBAAgB,+CAA+C,yEAAC,sCAAsC,QAAQ,8EAAC,kBAAkB,wFAAC,kBAAkB,wFAAC,oBAAoB,+EAAC,IAAI,+EAAC,QAAQ,4EAAC,QAAQ,+EAAC,QAAQ,8EAAC,0CAA0C,QAAQ,sFAAC,mBAAmB,OAAO,6EAAC,QAAQ,gFAAC,QAAQ,8DAAC,kBAAkB,iEAAC,uBAAuB,6EAAC,uCAAuC,2EAAC,uDAAuD,wEAAC,0GAA0G,uDAAC,EAAE,sFAAC,EAAE,YAAY,4BAA4B,uDAAC,EAAE,sFAAC,EAAE,cAAc,UAAU,kCAAkC,uDAAC,EAAE,sFAAC,EAAE,MAAM,UAAU,4BAA4B,uDAAC,EAAE,sFAAC,2CAA2C,uDAAC,EAAE,sFAAC,EAAE,KAAK,qDAAC,OAAO,UAAU,iCAAiC,uDAAC,EAAE,sFAAC,EAAE,YAAY,uCAAuC,uDAAC,EAAE,sFAAC,gCAAgC,UAA+B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACJvlJ;AACA;AACA;AACA;AACmgC,oBAAoB,yDAAC,CAAC,eAAe,wFAAwF,6DAAC,sCAAsC,mHAAmH,EAAE,wDAAC,IAAI,aAAa,0CAA0C,MAAM,4BAA4B,4BAA4B,2CAA2C,2DAAC,EAAE,iCAAiC,EAAE,cAAc,kBAAkB,iDAAiD,MAAM,IAAI,+CAA+C,SAAS,YAAY,iEAAW,iBAAiB,sDAAC,yFAAyF,gBAAgB,GAAG,uBAAuB,6DAAC,yBAAyB,aAAa,kHAAkH,cAAc,kBAAkB,mCAAmC,iEAAW,iBAAiB,sDAAC,kDAAkD,6JAA6J,MAAM,IAAI,+CAA+C,SAAS,YAAY,iEAAW,iBAAiB,sDAAC,yFAAyF,QAAQ,GAAG,uBAAuB,8DAAC,wBAAwB,6BAA6B,mBAAmB,cAAc,0DAA0D,eAAe,iGAAiG,iBAAiB,4EAA4E,eAAe,8FAA8F,gBAAgB,mBAAmB,mDAAmD,uBAAuB,6DAAC,yBAAyB,YAAY,wFAAwF,aAAa,uBAAuB,gBAAgB,8CAA8C,4BAA4B,0EAA0E,uBAAuB,4DAAC,yBAAyB,gBAAgB,6CAA6C,oDAAoD,iBAAiB,kBAAkB,6JAA6J,QAAQ,IAAI,8EAA8E,sDAAC,uDAAuD,QAAQ,kCAAkC,sDAAC,sDAAsD,SAAS,MAAM,sDAAC,4FAA4F,QAAQ,EAAE,iBAAiB,iEAAW,gBAAgB,+CAA+C,YAAY,qDAAC,EAAE,mBAAmB,2DAAC,oBAAoB,EAAE,yDAAC,0HAA0H,kBAAkB,8CAA8C,WAAW,kFAAkF,YAAY,kBAAkB,gBAAgB,8CAA8C,4BAA4B,0EAA0E,4CAA4C,uCAAuC,uBAAuB,4DAAC,yFAAyF,yBAAyB,uBAAuB,4CAA4C,MAAM,wBAAwB,yLAAyL,UAAU,wCAAwC,2DAA2D,aAAa,OAAO,yDAAyD,kEAAC,yDAAyD,iBAAiB,yBAAyB,IAAI,mBAAmB,SAAS,iEAAW,gBAAgB,wDAAC,6IAA6I,6CAA6C,2BAA2B,2DAAC,EAAE,2BAA2B,EAAE,+CAA+C,4DAAC,EAAE,wCAAwC,yBAAyB,WAAW,sBAAsB,MAAM,mDAAmD,kCAAkC,2DAAC,EAAE,2BAA2B,EAAE,qKAAqK,0BAA0B,2CAA2C,qGAAqG,KAAK,4BAA4B,gEAAgE,iCAAiC,WAAW,IAAI,oBAAoB,2DAAC,EAAE,4CAA4C,KAAK,SAAS,iDAAC,IAAI,iEAAW,gBAAgB,wDAAC,wGAAwG,8CAA8C,GAAG,UAAU,2DAAC,EAAE,2BAA2B,GAAG,QAAQ,6DAAC,KAAK,qDAAC,EAAE,mBAAmB,2DAAC,oBAAoB,iBAAiB,cAAc,IAAI,2EAA2E,QAAQ,mBAAmB,2DAAC,EAAE,kDAAkD,KAAK,8BAA8B,QAAQ,iEAAC,4CAA4C,sEAAsE,2DAAC,EAAE,2BAA2B,uBAAuB,wDAAG,sGAAsG,OAAO,6EAA6E,YAAY,sBAAsB,mBAAmB,2CAA2C,gDAAgD,aAAa,2DAAC,2HAA2H,SAAS,2BAA2B,gFAAgF,WAAW,2DAAC,EAAE,2BAA2B,EAAE,cAAc,2BAA2B,iEAAiE,4GAA4G,uEAAC,YAAY,cAAc,6BAA6B,eAAe,kBAAkB,+EAA+E,GAAG,mFAAC,gCAAgC,QAAQ,iEAAC,MAAM,gBAAgB,sDAAC,kHAAkH,8BAA8B,EAAE,uCAAuC,cAAc,0CAA0C,uDAAC,EAAE,uFAAC,EAAE,KAAK,2DAAC,CAAC,8BAA8B,uDAAC,EAAE,uFAAC,sCAAsC,uDAAC,EAAE,uFAAC,EAAE,KAAK,4DAAC,CAAC,8BAA8B,uDAAC,EAAE,uFAAC,EAAE,OAAO,8BAA8B,WAAW,mCAAmC,EAAE,+BAA+B,uDAAC,EAAE,uFAAC,gCAAgC,uDAAC,EAAE,uFAAC,sCAAsC,uDAAC,EAAE,uFAAC,EAAE,YAAY,kCAAkC,uDAAC,EAAE,uFAAC,EAAE,YAAY,gCAAgC,uDAAC,EAAE,uFAAC,EAAE,YAAY,6BAA6B,uDAAC,EAAE,uFAAC,EAAE,YAAY,+BAA+B,uDAAC,EAAE,uFAAC,EAAE,KAAK,qDAAC,CAAC,iCAAiC,uDAAC,EAAE,uFAAC,EAAE,YAAY,mCAAmC,uDAAC,EAAE,uFAAC,+BAA+B,uDAAC,EAAE,uFAAC,uCAAqE;;;;;;;;;;;;;;;;;;;ACJrsS;AACA;AACA;AACA;AACuO,sBAAsB,uBAAuB,qEAAqE,IAAI,mBAAmB,gBAAgB,aAAa,SAAS,OAAO,iEAAW,2FAA2F,gBAAgB,kBAAkB,MAAM,0BAA0B,GAAG,wBAAwB,mCAAmC,OAAO,iBAAiB,cAAc,WAAW,UAAU,yCAAyC,uFAAC,YAAY,2CAA2C,yFAAC,YAAY,4CAA4C,0FAAC,YAAY,8CAA8C,4FAAC,YAAY,eAAe,iEAAW,mDAAmD,sDAAC,oDAAoD,EAAE,UAA+B;;;;;;;;;;;;;;;;;;;;;;;;;;;ACJnkC;AACA;AACA;AACA;AACgpB,MAAM,sBAAsB,+EAAC,CAAC,yDAAC,GAAG,eAAe,uDAAuD,yBAAyB,2DAA2D,qEAAqE,OAAO,gEAAC,sCAAsC,SAAS,OAAO,iEAAW,uGAAuG,sEAAsE,OAAO,qBAAqB,eAAe,0CAA0C,yBAAyB,2CAA2C,kFAAC,4BAA4B,mFAAC,qCAAqC,MAAM,aAAa,CAAC,6EAAC,4BAA4B,kCAAkC,QAAQ,cAAc,gFAAgF,IAAI,uDAAC,EAAE,sFAAC,EAAE,iBAAiB,kCAAkC,uDAAC,EAAE,sFAAC,EAAE,YAAY,0CAA0C,uDAAC,EAAE,sFAAC,EAAE,iBAAiB,8CAA8C,uDAAC,EAAE,sFAAC,qDAAqF;;;;;;;;;;;;;;;;;;;;;;;;ACJnzD;AACA;AACA;AACA;AACma,MAAM,sBAAsB,+EAAC,CAAC,yDAAC,GAAG,cAAc,4DAA4D,eAAe,2EAA2E,QAAQ,cAAc,0DAA0D,IAAI,uDAAC,EAAE,sFAAC,kCAAkC,uDAAC,EAAE,sFAAC,8CAA8C,uDAAC,EAAE,sFAAC,qDAAqD,UAA+B;;;;;;;;;;;;;;;;;;;;;;;;ACJ72B;AACA;AACA;AACA;AACma,MAAM,sBAAsB,+EAAC,CAAC,yDAAC,GAAG,eAAe,4BAA4B,+OAA+O,aAAa,OAAO,iDAAiD,0BAA0B,6HAA6H,uFAAuF,sGAAsG,8OAA8O,oDAAoD,kKAAkK,eAAe,iCAAiC,uIAAuI,SAAS,cAAc,SAAS,sCAAsC,wCAAwC,UAAU,uFAAuF,OAAO,uEAAuE,8DAA8D,qEAAqE,eAAe,gCAAgC,yCAAyC,qBAAqB,oBAAoB,oCAAoC,qCAAqC,8BAA8B,eAAe,gCAAgC,qBAAqB,QAAQ,wCAAwC,iDAAiD,YAAY,aAAa,KAAK,0BAA0B,iCAAiC,aAAa,8CAA8C,SAAS,sBAAsB,gCAAgC,4BAA4B,uCAAuC,wBAAwB,kCAAkC,wCAAwC,6BAA6B,2BAA2B,kCAAkC,wCAAwC,6BAA6B,QAAQ,cAAc,uGAAuG,EAAE,oBAAoB,2IAA2I,uDAAC,EAAE,sFAAC,EAAE,YAAY,uCAAuC,uDAAC,EAAE,sFAAC,EAAE,YAAY,0CAA0C,uDAAC,EAAE,sFAAC,EAAE,YAAY,0CAA0C,uDAAC,EAAE,sFAAC,EAAE,YAAY,2CAA2C,uDAAC,EAAE,sFAAC,EAAE,YAAY,2CAA2C,uDAAC,EAAE,sFAAC,+BAA+B,uDAAC,EAAE,sFAAC,kCAAkC,uDAAC,EAAE,sFAAC,kCAAkC,uDAAC,EAAE,sFAAC,mCAAmC,uDAAC,EAAE,sFAAC,mCAAmC,uDAAC,EAAE,sFAAC,yCAAyC,uDAAC,EAAE,sFAAC,iDAAiD,UAA+B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACJ97H;AACA;AACA;AACA;AACA,wJAAwJ,SAAS,6CAA6C,sEAAsE,MAAM,aAAa,8LAA8L,SAAS,GAAG,ySAAm3F;;;;;;;;;;;;;;;;;;;;;;;ACJp2G;AACA;AACA;AACA;AACsc,YAAY,iEAAW,mEAAmE,gBAAgB,6yBAA6yB,kBAAkB,QAAQ,cAAc,8CAA8C,oEAAC,kCAAkC,8GAA8G,8DAA8D,4DAAC,6BAA6B,uBAAuB,yBAAyB,2BAA2B,4DAA4D,qEAAC,2DAA2D,UAAU,8CAA8C,0BAA0B,QAAQ,kBAAkB,gEAAC,wBAAwB,EAAE,0BAA0B,MAAM,aAAa,wBAAwB,uCAAuC,qFAAqF,qPAAqP,iDAAC,yGAAyG,MAAM,8FAA8F,wMAAwM,oMAAoM,uCAAuC,sCAAsC,kBAAkB,4FAA4F,MAAM,aAAa,MAAM,YAAY,EAAE,4DAAC,CAAC,WAAW,4DAAC,+QAA+Q,wEAAwE,YAAY,0EAAC,CAAC,WAAW,0EAAe,SAAS,4DAAC,+BAA+B,sDAAC,MAAM,gCAAgC,4DAAC,qBAA0C;;;;;;;;;;;;;;;;;ACJpuH;AACA;AACA;AACA;AACsC,QAAQ,cAAc,oCAAoC,uBAAuB,YAAY,WAAW,8CAA8C,6DAAC,sDAAsD,qBAAqB,wBAAwB,gCAAgC,+BAA+B,UAAU,0CAA0C,0BAA0B,QAAQ,WAAW,YAAY,wBAAwB,KAAK,0BAA0B,QAAQ,iCAAiC,QAAQ,UAA8C;;;;;;;;;;;;;;;;;;;ACJlmB;AACA;AACA;AACA;AACA,wFAA4M;;;;;;;;;;;;;;;;;;;;;;;;ACJ5M;AACA;AACA;AACA;AACA,sBAAsB,aAAa,qGAAqG,SAAS,eAAe,oOAAoO,SAAS,eAAe,4FAA4F,SAAS,eAAe,6NAA6N,SAAS,eAAe,4CAA4C,SAAS,eAAe,2NAA2N,SAAS,eAAe,sHAAsH,SAAS,eAAe,uHAAuH,SAAS,eAAe,gFAAgF,SAAS,GAA0M;;;;;;;;;;;;;;;;;;;;;;;;;;;ACJ5nD;AACA;AACA;AACA;AAC6R,SAAS,OAAO,0CAA0C,mBAAmB,eAAe,4BAA4B,kEAAO,cAAc,KAAK,kEAAM,OAAO,kEAAM,OAAO,qEAAS,IAAI,IAAI,OAAO,yCAAyC,qBAAqB,IAAI,YAAY,yCAAyC,YAAY,oDAAoD,IAAI,oDAAoD,OAAO,yRAAyR,yEAAC,uDAAuD,cAAc,wCAAwC,cAAc,sCAAsC,cAAc,qBAAqB,MAAM,uEAAuE,eAAe,OAAO,wEAAwE,cAAc,qBAAqB,MAAM,+BAA+B,eAAe,OAAO,oCAAoC,kBAAkB,WAAW,kEAAkE,SAAS,gBAAgB,MAAM,0BAA0B,GAAG,OAAO,yEAAyE,cAAc,OAAO,qBAAqB,oEAAc,uBAAuB,qEAAe,EAAE,cAAc,yDAAyD,cAAc,MAAM,YAAY,WAAW,qDAAC,KAAK,qDAAC,CAAC,OAAO,6BAA6B,gEAAC,GAAG,gEAAC,qCAAqC,gEAAC,eAAe,gEAAC,IAAmM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACJzsE;AACA;AACA;AACA;AACipD,SAAS,uBAAuB,kEAAkE,OAAO,mCAAmC,SAAS,sIAAsI,oBAAoB,yDAAC,CAAC,aAAa,6BAA6B,iBAAiB,4DAAC,sCAAsC,4DAAC,4BAA4B,UAAU,mBAAmB,wBAAwB,6CAA6C,4BAA4B,iDAAiD,uBAAuB,gDAAgD,qBAAqB,oDAAoD,cAAc,qDAAqD,4DAAC,qBAAqB,WAAW,gCAAgC,6EAAC,2BAA2B,6FAAC,KAAK,mGAAC,KAAK,6FAAC,KAAK,6DAAC,2BAA2B,+EAAC,QAAQ,iEAAC,EAAE,4BAA4B,EAAE,8CAA8C,sFAAC,EAAE,iFAAU,sCAAsC,yEAAC,gBAAgB,8EAAC,gBAAgB,wEAAC,gBAAgB,yEAAC,gBAAgB,yEAAC,4BAA4B,0DAAC,0BAA0B,wDAAC,sBAAsB,0DAAC,uBAAuB,8DAAC,yBAAyB,gEAAC,4BAA4B,8EAAC,qBAAqB,iFAAU,sEAAsE,6DAAC,0DAA0D,2DAA2D,EAAE,2DAAC,EAAE,cAAc,uDAAC,EAAE,sFAAC,+BAA+B,uDAAC,EAAE,sFAAC,0CAA0C,uDAAC,EAAE,sFAAC,8CAA8C,uDAAC,EAAE,sFAAC,2CAA2C,uDAAC,EAAE,sFAAC,gDAAgD,UAA+B;;;;;;;;;;;;;;;;;;ACJ/6G;AACA;AACA;AACA;AAC6I,gBAAgB,gEAAC,CAAC,iBAAiB,iGAAiG,wBAAwB,qFAAC,gKAA6L;;;;;;;;;;;;;;;;;;ACJve;AACA;AACA;AACA;AAC8F,gBAAgB,gEAAC,CAAC,mBAAmB,sHAAsH,wBAAwB,MAAM,OAAO,IAAI,cAAc,GAAG,+BAA+B,oBAAoB,MAAM,iBAAiB,IAAI,OAAO,OAAO,oBAAoB,GAAG,UAAU,aAAa,MAAM,QAAQ,GAAG,wEAAwE,MAAM,cAAc,sCAAsC,sBAAsB,+DAA+D,gDAAgD,MAAM,WAAW,MAAM,cAAc,IAAI,6BAA6B,GAAG,8BAA8B,yKAAyK,qBAAqB,QAAQ,GAAG,SAAwC;;;;;;;;;;;;;;;;;;;ACJ7iC;AACA;AACA;AACA;AACuN,gBAAgB,gEAAC,CAAC,mBAAmB,8KAA8K,aAAa,gDAAgD,4EAAC,EAAE,cAAc,4EAA4E,gBAAgB,6EAA6E,aAAa,0EAA0E,yBAAyB,qFAAC,4BAA4B,EAAE,eAAe,oCAAoC,8GAA8G,yBAAyB,0DAA+E;;;;;;;;;;;;;;;;;;;ACJzjC;AACA;AACA;AACA;AACuN,gBAAgB,gEAAC,CAAC,mBAAmB,4CAA4C,qCAAqC,6BAA6B,4EAAC,EAAE,cAAc,sDAAsD,gBAAgB,uDAAuD,aAAa,mCAAmC,yBAAyB,qFAAC,4BAA4B,2EAAmG;;;;;;;;;;;;;;;;;;;;;;ACJjsB;AACA;AACA;AACA;AACoc,gBAAgB,gEAAC,CAAC,eAAe,mEAAmE,wDAAC,gDAAgD,4CAA4C,qGAAqG,aAAa,2CAA2C,6DAAC,mDAAmD,2DAA2D,iEAAC,EAAE,yCAAyC,4FAA4F,EAAE,2DAAC,IAAI,cAAc,oHAAoH,uBAAuB,6CAA6C,iIAAiI,2FAAC,2DAA2D,6FAAC,8DAA8D,gBAAgB,6BAA6B,GAAG,4FAAC,WAAW,4FAA4F,+DAAC,+CAA+C,2HAA2H,oEAAC,cAAc,iEAAiE,wBAAwB,wBAAuD;;;;;;;;;;;;;;;;;;ACJp8D;AACA;AACA;AACA;AACsI,gBAAgB,gEAAC,CAAC,mBAAmB,iLAAiL,iCAAiC,wFAAwF,kBAAkB,uCAAuC,4BAA4B,6CAA6C,8BAA8B,2DAA2D,qCAAqC,GAAG,KAAK,0DAA0D,6CAA6C,yBAAyB,gGAAgG,yBAAyB,4FAA4F,eAAe,8DAA8D,iLAAiL,8EAAC,mCAAmC,cAAc,sDAAsD,iBAAiB,8BAA8B,kBAAkB,qCAAqC,YAAY,+EAA+E,2DAA2D,MAAM,6DAA6D,MAAM,uDAAuD,MAAM,4DAA4D,2CAA2C,yBAAyB,eAAe,6EAA6E,yBAAyB,4BAAgD;;;;;;;;;;;;;;;;;;ACJ/jE;AACA;AACA;AACA;AACsI,gBAAgB,gEAAC,CAAC,mBAAmB,yEAAyE,kNAAkN,6MAA6M,8EAAC,iCAAiC,cAAc,oDAAoD,kBAAkB,qCAAqC,gBAAgB,sBAAsB,cAAc,qEAAqE,gBAAgB,oBAAoB,4EAA4E,yCAAyC,wCAAwC,sEAAsE,wEAAwE,MAAM,sFAAsF,MAAM,wDAAwD,yDAAyD,sBAA6C;;;;;;;;;;;;;;;;;;ACJt/C;AACA;AACA;AACA;AAC8F,MAAM,aAAa,gCAAgC,SAAS,GAAG,gBAAgB,gEAAC,CAAC,mBAAmB,2DAA2D,+KAA+K,kBAAkB,mBAAmB,cAAc,oBAAoB,oCAAoC,MAAM,MAAM,QAAQ,yCAAyC,mCAAmC,oBAAoB,WAAW,WAAW,UAAU,uBAAuB,MAAM,yBAAyB,MAAM,eAAe,qDAA0E;;;;;;;;;;;;;;;;;ACJh0B;AACA;AACA;AACA;AAC8D,WAAW,gBAAgB,gEAAC,CAAC,iBAAiB,8GAA8G,qBAAqB,uDAAuD,gEAAgE,sCAAsC,iBAAiB,0CAA0C,oCAAoC,cAAc,yBAAyB,KAAiC;;;;;;;;;;;;;;;;;;ACJnjB;AACA;AACA;AACA;AACwI,gBAAgB,gEAAC,CAAC,eAAe,wJAAwJ,oCAAoC,6BAA6B,4EAAC,EAAE,cAAc,oDAAoD,gBAAgB,qDAAqD,aAAa,2CAA2C,mBAAmB,EAAE,eAAe,mCAAmC,0BAA0B,4DAA4F;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACJjwB;AACA;AACA;AACA;AACilC,gBAAgB,4FAAC,CAAC,eAAe,iEAAiE,gCAAgC,4CAA4C,2DAAC,EAAE,sFAAsF,kFAAkF,oBAAoB,4CAA4C,2DAAC,EAAE,8DAA8D,sEAAsE,mBAAmB,4CAA4C,8DAAC,EAAE,2DAA2D,gFAAC,CAAC,sEAAC,qBAAqB,qEAAqE,2BAA2B,4CAA4C,8DAAC,EAAE,2DAA2D,gFAAC,CAAC,sEAAC,qBAAqB,6EAA6E,6BAA6B,QAAQ,mFAAC,KAAK,mFAAC,KAAK,mFAAC,GAAG,6EAAC,GAAG,+EAAC,iBAAiB,+EAAC,oBAAoB,6EAAC,GAAG,+EAAC,eAAe,+EAAC,oBAAoB,0EAAC,QAAQ,yBAAyB,cAAc,EAAE,4CAA4C,8DAAC,EAAE,uFAAuF,gFAAC,CAAC,sEAAC,qBAAqB,gEAAgE,iCAAiC,YAAY,mDAAC,EAAE,oBAAoB,EAAE,kCAAkC,gEAAC,OAAO,8BAA8B,GAAG,wBAAwB,mCAAmC,qCAAqC,sBAAsB,mBAAmB,gBAAgB,+BAA+B,UAAU,uBAAuB,uEAAC,EAAE,SAAS,yBAAyB,iBAAiB,EAAE,mCAAmC,uEAAC,EAAE,YAAY,qEAAC,EAAE,kBAAkB,0BAA0B,EAAE,sBAAsB,8DAAC,EAAE,MAAM,kCAAkC,oCAAoC,yCAAyC,oEAAM,WAAW,sEAAO,qBAAqB,2DAAC,CAAC,4FAAqB,UAAU,IAAI,EAAE,8BAA8B,8DAAC,EAAE,MAAM,kCAAkC,oCAAoC,8CAA8C,aAAa,qDAAqD,uFAAuF,QAAQ,kCAAkC,kBAAkB,kCAAkC,wCAAwC,SAAS,uCAAuC,sCAAsC,GAAG,gDAAgD,EAAE,8CAA8C,YAAY,qDAAqD,uFAAuF,QAAQ,kCAAkC,kBAAkB,kCAAkC,0CAA0C,SAAS,uCAAuC,sCAAsC,GAAG,gDAAgD,IAAI,EAAE,gDAAgD,sCAAsC,WAAW,8DAAC,EAAE,MAAM,kCAAkC,oCAAoC,8CAA8C,cAAc,kCAAkC,2DAAC,CAAC,2FAAoB,8BAA8B,uFAAuF,QAAQ,8BAA8B,kBAAkB,kCAAkC,6CAA6C,SAAS,oCAAoC,sFAAsF,2DAAC,CAAC,kGAA2B,UAAU,EAAE,8DAA8D,GAAG,gDAAgD,IAAI,IAAsC;;;;;;;;;;;;;;;;;ACJ9jK;AACA;AACA;AACA;AACmC,aAAa,oBAAoB,qTAAwB,CAAC,o5EAA0B,GAAG,0BAA0B,2lFAAqC,uBAAuB,ujDAAwC,MAAM,iCAAiC,w/BAA4C,yDAAyD,6aAAwC,6CAA6C,qcAAoD,yCAAyC,kqDAAiD,qCAAqC,i5DAAuC,4DAA4D,q5DAAyC,2BAA2B,yaAAsC,6BAA6B,o4EAAwC,oCAAoC,4wCAA4C,yBAAyB,8xEAAoC,uCAAuC,2bAA+C,kCAAkC,2bAA+C,8DAA8D,uwEAAyC,iCAAiC,q5DAAyC,2BAA2B,stEAAsC,mCAAmC,spDAA2C,oEAAoE,8gEAAsC,4BAA4B,8oDAAuC,qCAAqC,0pDAA6C,0CAA0C,mpCAA2C,2BAA2B,g7DAAsC,yBAAyB,4wCAA4C,4CAA4C,ygCAAoC,0BAA0B,mhCAAqC,6PAA6P,cAAc,oJAAoJ,WAAW,sDAAC,IAAI,EAAE,wBAAwB,GAAG,yBAAyB,SAAS,0DAA0D,kBAAkB,sBAAsB,cAA+C;;;;;;;;;;;;;;;;;;;;;ACJ1vF;AACA;AACA;AACA;AAC2R,QAAQ,iBAAiB,aAAa,0DAAC,sBAAsB,2EAAC,0CAA0C,iCAAiC,8NAA8N,UAAU,gDAAgD,SAAS,mBAAmB,aAAa,OAAO,sEAAY,0DAA0D,gBAAgB,OAAO,8GAA8G,iCAAiC,OAAO,OAAO,8BAA8B,mBAAmB,kCAAkC,kEAAS,GAAG,YAAY,WAAW,uCAAuC,SAAS,4BAA4B,OAAO,wFAAU,EAAE,yEAAyE,8IAA8I,GAAqB;;;;;;;;;;;;;;;;;;;;;;;;ACJv6C;AACA;AACA;AACA;AAC4b,SAAS,oBAAoB,iBAAiB,0DAAC,UAAU,gBAAgB,QAAQ,mFAAC,IAAI,kBAAkB,mBAAmB,eAAe,2EAAC,qBAAqB,2EAAC,kCAAkC,2EAAC,qBAAqB,2EAAC,iCAAiC,gBAAgB,wDAAC,CAAC,eAAe,wCAAwC,mDAAC,GAAG,wDAAG,+BAA+B,oEAAoE,yFAAyF,UAAU,aAAa,QAAQ,4DAA4D,OAAO,0BAA0B,OAAO,0BAA0B,wBAAwB,WAAW,0EAAC,SAAS,2EAAC,aAAa,8CAA8C,+HAA+H,uBAAuB,2BAA2B,wCAAwC,EAAE,eAAe,SAAS,qBAAqB,wCAAwC,YAAY,0CAAC,oBAAoB,2DAA2D,yCAAyC,oBAAoB,8DAA8D,2HAA2H,gBAAgB,6CAA6C,aAAa,MAAM,kBAAkB,IAAI,QAAQ,GAAG,wBAAwB,wBAAwB,iBAAiB,KAAK,KAAK,+DAA+D,0BAA0B,YAAY,0CAAC,oBAAoB,+EAA+E,8BAA8B,KAAK,KAAK,sBAAsB,uGAAuG,0DAA0D,4EAAc,mDAAwE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACJrgF;AACA;AACA;AACA;AAC24B,YAAY,iEAAW,8CAA8C,yDAAO,mCAAmC,QAAQ,yDAAG,wFAAwF,gBAAgB,gBAAgB,kBAAkB,mDAAmD,oEAAC,EAAE,WAAW,uEAAC,CAAC,yCAAyC,4EAAC,4DAA4D,+EAA+E,eAAe,2ZAA2Z,uBAAuB,eAAe,mBAAmB,kLAAkL,MAAM,2JAA2J,MAAM,wQAAwQ,SAAS,sBAAsB,OAAO,wCAAwC,QAAQ,+BAA+B,yBAAyB,uDAAC,2BAA2B,WAAW,GAAG,eAAe,eAAe,kIAAkI,MAAM,4CAA4C,4BAA4B,2FAA2F,EAAE,MAAM,MAAM,mCAAmC,+EAA+E,OAAO,MAAM,OAAO,kLAAkL,iQAAiQ,UAAU,kBAAkB,UAAU,+BAA+B,EAAE,EAAE,+CAA+C,EAAE,EAAE,iCAAiC,EAAE,EAAE,gBAAgB,qEAAqE,qBAAqB,4DAAC,MAAM,oBAAoB,QAAQ,4DAAC,iCAAiC,EAAE,2BAA2B,EAAE,iBAAiB,EAAE,EAAE,2CAA2C,0EAAC,EAAE,oDAAoD,0EAAC,EAAE,0BAA0B,kBAAkB,KAAK,sBAAsB,yDAAyD,iBAAiB,2DAA2D,0EAAC,EAAE,oDAAoD,0EAAC,EAAE,uBAAuB,GAAG,aAAa,EAAE,eAAe,sBAAsB,cAAc,0EAAC,EAAE,6DAA6D,MAAyH;;;;;;;;;;;;;;;;;;;;;;;;ACJvhJ;AACA;AACA;AACA;AACoV,YAAY,qDAAC,EAAE,4KAA4K,EAAE,cAAc,mBAAmB,kBAAkB,gBAAgB,YAAY,kBAAkB,UAAU,wBAAwB,kBAAkB,QAAQ,YAAY,WAAW,KAAK,cAAc,iDAAiD,gFAAgF,kBAAkB,cAAc,MAAM,oDAAoD,qBAAqB,qDAAqD,gBAAgB,oLAAoL,6GAAC,KAAK,4FAAC,6GAA6G,oBAAoB,MAAM,8BAA8B,IAAI,YAAY,WAAW,aAAa,oDAAoD,YAAY,WAAW,KAAK,SAAS,kBAAkB,kJAAkJ,gCAAgC,QAAQ,cAAc,WAAW,0BAA0B,GAAG,kBAAkB,iIAAiI,EAAE,SAAS,kBAAkB,kJAAkJ,mBAAmB,sHAAC,2DAA2D,gBAAwK;;;;;;;;;;;;;;;;;;ACJzyE;AACA;AACA;AACA;AAC2F,aAAa,QAAQ,wDAAG,oCAAoC,iBAAiB,2DAAC,IAAiC;;;;;;;;;;;;;;;;;;;;;;ACJ1M;AACA;AACA;AACA;AAC0T,QAAQ,eAAe,gCAAgC,qDAAC,EAAE,mBAAmB,0DAAC,oBAAoB,EAAE,WAAW,kBAAkB,WAAW,2BAA2B,0BAA0B,YAAY,4BAA4B,eAAe,+BAA+B,aAAa,qCAAqC,8BAA8B,OAAO,8EAAC,+BAA+B,sBAAsB,0CAA0C,sBAAsB,0CAA0C,kBAAkB,mBAAmB,eAAe,MAAM,yEAAC,uBAAuB,yCAAyC,0BAA0B,2DAAC,iDAAiD,mBAAmB,MAAM,mCAAmC,IAAI,SAAS,MAAM,iDAAiD,wDAAC,8BAA8B,wDAAC,+CAA+C,wDAAC,sBAAsB,iBAAiB,mBAAmB,gEAAgE,wDAAC,QAAQ,YAAY,wDAAC,gDAAoE;;;;;;;;;;;;;;;;;;;;;;;;ACJn7C;AACA;AACA;AACA;AAC+X,MAAM,sBAAsB,yDAAC,CAAC,kBAAkB,iDAAiD,4DAAC,CAAC,QAAQ,cAAc,4CAA4C,IAAI,uDAAC,EAAE,sFAAC,EAAE,YAAY,8BAA8B,uDAAC,EAAE,sFAAC,EAAE,KAAK,4DAAC,CAAC,qCAAqC,uDAAC,EAAE,sFAAC,6CAAyE;;;;;;;;;;;;;;;;;;;;;;;ACJvtB;AACA;AACA;AACA;AACkW,MAAM,sBAAsB,oEAAC,CAAC,eAAe,4DAA4D,UAAU,iFAAiF,iBAAiB,SAAS,YAAY,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,cAAc,EAAE,QAAQ,cAAc,qKAAqK,IAAI,uDAAC,EAAE,sFAAC,oCAAoC,uDAAC,EAAE,sFAAC,uCAAuC,uDAAC,EAAE,sFAAC,+CAA+C,UAA+B;;;;;;;;;;;;;;;;;;;;;;;ACJ9gC;AACA;AACA;AACA;AAC0V,YAAY,oBAAoB,yDAAC,CAAC,cAAc,uCAAuC,iBAAiB,mBAAmB,OAAO,oFAAoF,mDAAmD,MAAM,QAAQ,+DAA+D,uDAAC,EAAE,sFAAC,iCAAiC,uDAAC,EAAE,sFAAC,qCAAqC,uDAAC,EAAE,sFAAC,gDAA+E;;;;;;;;;;;;;;;;ACJj1B;AACA;AACA;AACA;AACA,+BAA+B,QAAQ,cAAc,oBAAoB,SAAS,wGAAwG,EAAE,UAAU,OAAO,yFAAyF,EAAE,QAAQ,UAAU,oEAAoE,EAAE,KAA2B;;;;;;;;;;;;;;;;;;ACJ3Z;AACA;AACA;AACA;AAC+H,6BAA6B,kBAAkB,oMAAoM,OAAO,yDAAyD,oBAAoB,eAAe,YAAY,MAAM,iBAAiB,IAAI,4BAA4B,WAAW,QAAQ,GAAG,0BAA0B,mEAAmE,kFAAC,mBAAmB,qEAAqE,mFAAC,eAAe,kFAAC,iBAAwE;;;;;;;;;;;;;;;;;;;;;;;ACJ7zB;AACA;AACA;AACA;AACwQ,QAAQ,kEAAQ,CAAC,8DAAC,EAAE,aAAa,eAAe,KAAK,+EAAC,aAAa,4DAAC,CAAC,EAAE,KAAK,iFAAC,aAAa,4DAAC,EAAE,MAAM,kFAAC,CAAC,EAAE,GAAG,mCAAmC,cAAc,6BAA6B,wDAAwD,gDAAgD,gBAAgB,kBAAkB,aAAa,qBAAqB,2BAA2B,4DAAC,CAAC,GAAG,wDAAwD,2DAAwM;;;;;;;;;;;;;;;;;;;;;;;;ACJ54B;AACA;AACA;AACA;AACA;AAAmC;AAAqD;AAA4D;AAAuD;;SAAmIlB;;;;;yMAAf,WAAiBJ,CAAjB,EAAmBU,CAAnB,EAAqBN,CAArB,EAAuB;AAAC,UAAMwB,CAAC,GAACtB,oFAAC,CAACI,CAAD,CAAD,GAAKG,4FAAC,CAACb,CAAD,EAAGU,CAAH,CAAN,GAAYA,CAApB;AAAsB,QAAG,CAACV,CAAC,CAACgY,KAAH,IAAU2nC,KAAK,CAAC/9C,CAAC,CAACY,CAAH,CAAf,IAAsBm9C,KAAK,CAAC/9C,CAAC,CAACR,CAAH,CAA9B,EAAoC,OAAM;AAACqmF,MAAAA,WAAW,EAAC7lF,CAAb;AAAeo1D,MAAAA,OAAO,EAAC;AAAvB,KAAN;AAAiC,QAAIt1D,CAAC,GAAC,IAAIkL,GAAJ,EAAN;AAAc,UAAMxL,CAAC,GAAC,IAAIwL,GAAJ,EAAR;AAAgB,QAAIpL,CAAC,GAAC,CAAC,CAAP;AAAA,QAASF,CAAC,GAAC,IAAX;AAAA,QAAgBW,CAAC,GAAC,IAAlB;AAAuB7B,IAAAA,CAAC,EAAEsnF,OAAH,GAAWlnF,CAAC,CAACJ,CAAC,CAACsnF,OAAH,EAAW/mF,CAAC,CAACX,CAAD,EAAIA,CAAC,IAAE;AAAC0B,MAAAA,CAAC,CAACmgC,GAAF,CAAM7hC,CAAN,GAASc,CAAC,CAACd,CAAD,EAAIA,CAAC,IAAEoB,CAAC,CAACygC,GAAF,CAAM7hC,CAAN,CAAP,CAAV;AAA4B,KAApC,EAAuC,CAACA,CAAD,EAAGC,CAAH,KAAO;AAACmB,MAAAA,CAAC,CAACygC,GAAF,CAAM7hC,CAAN,GAAS0B,CAAC,CAACmgC,GAAF,CAAM5hC,CAAN,CAAT;AAAkB,KAAjE,EAAoED,CAAC,IAAE;AAACsB,MAAAA,CAAC,KAAGA,CAAC,GAAC,IAAIsL,GAAJ,EAAL,CAAD,EAAetL,CAAC,CAACugC,GAAF,CAAM7hC,CAAN,CAAf;AAAwB,KAAhG,EAAmGA,CAAC,IAAE0B,CAAC,CAACmgC,GAAF,CAAM7hC,CAAN,CAAtG,EAAiH,MAAIwB,CAAC,GAAC,CAAC,CAAxH,CAAZ,CAAZ,IAAsJA,CAAC,GAAC,CAAC,CAAH,EAAKE,CAAC,GAAC,IAAIkL,GAAJ,CAAQ5M,CAAC,CAACkY,aAAV,CAAP,EAAgCxW,CAAC,CAACiD,OAAF,CAAW3E,CAAC,IAAE;AAACc,MAAAA,CAAC,CAACd,CAAD,EAAIA,CAAC,IAAEoB,CAAC,CAACygC,GAAF,CAAM7hC,CAAN,CAAP,CAAD;AAAmB,KAAlC,CAAtL,GAA4NI,CAAC,EAAEu0E,OAAH,IAAYn0E,CAAC,CAACJ,CAAC,CAACu0E,OAAH,EAAWh0E,CAAC,CAACX,CAAD,EAAIA,CAAC,IAAE;AAAC0B,MAAAA,CAAC,CAACkvB,MAAF,CAAS5wB,CAAT,GAAYc,CAAC,CAACd,CAAD,EAAIA,CAAC,IAAEoB,CAAC,CAACwvB,MAAF,CAAS5wB,CAAT,CAAP,CAAb;AAAkC,KAA1C,EAA6CA,CAAC,IAAEoB,CAAC,CAACwvB,MAAF,CAAS5wB,CAAT,CAAhD,EAA8DA,CAAC,IAAE;AAACiC,MAAAA,CAAC,KAAGA,CAAC,GAAC,IAAI2K,GAAJ,EAAL,CAAD,EAAe3K,CAAC,CAAC4/B,GAAF,CAAM7hC,CAAN,CAAf;AAAwB,KAA1F,CAAZ,CAAzO;AAAmV,UAAMkB,CAAC,GAAClB,CAAC,CAAC2nF,KAAF,CAAQ/lF,CAAR,CAAR;AAAA,UAAmBG,CAAC,GAAC/B,CAAC,CAACkY,aAAF,CAAgBvR,MAAhB,CAAwB1G,CAAC,IAAE,CAACA,CAAC,CAAC2nF,SAAH,IAAclmF,CAAC,CAAC2N,GAAF,CAAMpP,CAAN,CAAd,IAAwBA,CAAC,CAAC4nF,KAAF,CAAQv5E,KAAR,CAAerO,CAAC,IAAEC,oEAAC,CAACF,CAAD,EAAGC,CAAH,EAAK2B,CAAL,EAAOV,CAAP,CAAnB,CAAnD,EAAoF6rE,OAApF,EAArB;AAAmH,QAAI16D,CAAC,GAAC,CAAC,IAAG7Q,CAAC,GAACxB,CAAC,CAAC8nF,YAAF,CAAeC,OAAf,CAAuB7mF,CAAvB,EAA0BqE,GAA1B,CAA+BvF,CAAC,KAAG;AAACuD,MAAAA,IAAI,EAAC,SAAN;AAAgBykF,MAAAA,OAAO,EAAChoF,CAAxB;AAA0BwJ,MAAAA,KAAK,EAAC,IAAhC;AAAqCy+E,MAAAA,QAAQ,EAAC/mF;AAA9C,KAAH,CAAhC,CAAD,GAAwF,EAA5F,CAAD,EAAgG,UAASmE,OAAO,CAACc,GAAR,CAAYpE,CAAC,CAACwD,GAAF,CAAOvF,CAAC,IAAEA,CAAC,CAAC+nF,OAAF,CAAU7mF,CAAV,EAAYU,CAAZ,CAAV,EAA2ByC,OAA3B,EAAZ,CAAT,CAAhG,EAA4JsC,MAA5J,CAAmK1G,uDAAnK,EAAsKioF,IAAtK,GAA6KvhF,MAA7K,CAAoL1G,uDAApL,CAAN;AAA6L,WAAOoS,CAAC,GAACA,CAAC,CAAC1L,MAAF,CAAU3G,CAAC,IAAE,cAAYA,CAAC,CAACuD,IAAd,IAAoB,oBAAkBvD,CAAC,CAACwJ,KAAF,EAASjG,IAA/C,IAAqDnC,CAAC,CAACiO,GAAF,CAAMrP,CAAC,CAACgoF,OAAF,CAAUx+E,KAAhB,CAAlE,CAAF,EAA6FlI,CAAC,KAAG+Q,CAAC,GAACA,CAAC,CAAC1L,MAAF,CAAU3G,CAAC,IAAE,EAAE,aAAYA,CAAd,KAAkB,CAACA,CAAC,CAACgoF,OAArB,IAA8B1mF,CAAC,EAAE+N,GAAH,CAAOrO,CAAC,CAAChB,CAAC,CAACgoF,OAAH,CAAR,CAA3C,CAAL,CAA9F,EAAsK/lF,CAAC,KAAGoQ,CAAC,GAACA,CAAC,CAAC1L,MAAF,CAAU3G,CAAC,IAAE,EAAE,aAAYA,CAAd,KAAkB,CAACA,CAAC,CAACgoF,OAArB,IAA8B,CAAC/lF,CAAC,EAAEoN,GAAH,CAAOrO,CAAC,CAAChB,CAAC,CAACgoF,OAAH,CAAR,CAA5C,CAAL,CAAvK,EAAgP;AAACP,MAAAA,WAAW,EAAC7lF,CAAb;AAAeo1D,MAAAA,OAAO,EAAC3kD;AAAvB,KAAvP;AAAiR;;;;AAAA,SAAS1R,CAAT,CAAWV,CAAX,EAAaS,CAAb,EAAeR,CAAf,EAAiBI,CAAjB,EAAmBO,CAAnB,EAAqBT,CAArB,EAAuB;AAAC,SAAOO,CAAC,IAAE;AAAC,QAAGA,CAAC,YAAYX,mDAAhB,EAAkB;AAAC,UAAGW,CAAC,CAAC6I,KAAF,KAAUvJ,CAAb,EAAeG,CAAC,KAAhB,KAAyB;AAAC,cAAMJ,CAAC,GAACC,CAAC,CAACiY,aAAF,CAAgBxI,IAAhB,CAAsB1P,CAAC,IAAEA,CAAC,CAACwJ,KAAF,KAAU7I,CAAC,CAAC6I,KAArC,CAAR;AAAqDxJ,QAAAA,CAAC,IAAEa,CAAC,GAAGb,CAAH,CAAJ;AAAU;AAAAM,MAAAA,CAAC,CAACU,CAAC,CAACL,CAAD,CAAF,CAAD;AAAQ,KAApH,MAAyH,IAAG,WAAUA,CAAV,IAAa,aAAYA,CAA5B,EAA8B,CAA9B,KAAoC,IAAG,uBAAqBA,CAAC,CAAC4C,IAA1B,EAA+B;AAAC,YAAMvD,CAAC,GAACC,CAAC,CAACiY,aAAF,CAAgBxI,IAAhB,CAAsB1P,CAAC,IAAEA,CAAC,CAACwJ,KAAF,KAAU7I,CAAC,CAAC0C,MAArC,CAAR;AAAsDrD,MAAAA,CAAC,IAAEE,CAAC,CAACS,CAAD,EAAGX,CAAH,CAAJ;AAAU,KAAhG,MAAoG;AAAC,YAAMA,CAAC,GAACC,CAAC,CAACiY,aAAF,CAAgBxI,IAAhB,CAAsB1P,CAAC,IAAEA,CAAC,CAACwJ,KAAF,KAAU7I,CAAnC,CAAR;AAA+CX,MAAAA,CAAC,IAAEU,CAAC,CAACV,CAAD,CAAJ;AAAQ;AAAC,GAArU;AAAsU;;AAAA,SAASQ,CAAT,CAAWR,CAAX,EAAaC,CAAb,EAAe;AAAC,MAAGD,CAAH,EAAK,IAAGU,kEAAC,CAACV,CAAD,CAAJ;AAAQ,SAAI,MAAME,CAAV,IAAeF,CAAf,EAAiB,IAAGU,kEAAC,CAACR,CAAD,CAAJ,EAAQ,KAAI,MAAMF,CAAV,IAAeE,CAAf,EAAiBD,CAAC,CAACD,CAAD,CAAD,CAAzB,KAAmCC,CAAC,CAACC,CAAD,CAAD;AAA5D,SAAsED,CAAC,CAACD,CAAD,CAAD;AAAK;;AAAA,SAASgB,CAAT,CAAWhB,CAAX,EAAa;AAAC,QAAMC,CAAC,GAACD,CAAC,CAACmoF,WAAF,EAAR;AAAwB,SAAOloF,CAAC,GAAE,GAAED,CAAC,CAACwJ,KAAF,EAASgsC,GAAT,IAAcx1C,CAAC,CAACgwC,WAAF,EAAewF,GAA7B,IAAkC,SAAU,IAAGv1C,CAAE,EAArD,GAAwD,YAAWD,CAAC,CAACw1C,GAAI,EAAjF;AAAmF;;AAAA,SAAS10C,CAAT,CAAW;AAAC0I,EAAAA,KAAK,EAACxJ;AAAP,CAAX,EAAqBC,CAArB,EAAuB;AAAC,sBAAkBD,CAAC,EAAEuD,IAArB,IAA2BvD,CAAC,CAACooF,SAAF,CAAYzjF,OAAZ,CAAqB3E,CAAC,IAAE;AAACC,IAAAA,CAAC,CAACD,CAAD,CAAD;AAAK,GAA9B,CAA3B;AAA4D;;;;;;;;;;;;;;;;;;;;;;;ACJtgE;AACA;AACA;AACA;AACA;AAAkI,MAAMA,CAAC,GAAC;AAACwoF,EAAAA,KAAK,EAAC,CAAC,CAAR;AAAUC,EAAAA,kBAAkB,EAAC,CAAC;AAA9B,CAAR;;SAAwDjoF;;;;;yMAAf,WAAiBc,CAAjB,EAAmBX,CAAnB,EAAqB;AAAC,UAAMH,CAAC,SAAOF,CAAC,CAACgB,CAAD,EAAGX,CAAH,CAAf;AAAA,UAAqB;AAAC4Y,MAAAA,MAAM,EAACtZ,CAAR;AAAUyoF,MAAAA,OAAO,EAAC7nF;AAAlB,QAAqBX,gFAAC,CAACS,CAAC,EAAE4Y,MAAJ,EAAW5Y,CAAC,EAAE+nF,OAAd,CAA3C;AAAkE,WAAOhoF,mEAAC,CAACF,CAAD,EAAG;AAAC+Y,MAAAA,MAAM,EAACtZ,CAAR;AAAUyoF,MAAAA,OAAO,EAAC7nF;AAAlB,KAAH,EAAwBb,CAAxB,CAAR;AAAmC;;;;SAAeC;;;;;yMAAf,WAAiBC,CAAjB,EAAmBQ,CAAnB,EAAqB;AAAC,UAAMC,CAAC,SAAOL,CAAC,CAACJ,CAAD,EAAGQ,CAAH,CAAf;AAAqB,WAAOY,uEAAC,CAACX,CAAD,EAAGX,CAAH,CAAR;AAAc;;;;AAAA,SAASM,CAAT,CAAWJ,CAAX,EAAaQ,CAAb,EAAe;AAAC,QAAMY,CAAC,GAACI,CAAC,CAAChB,CAAC,IAAE,EAAJ,EAAOc,CAAC,CAACtB,CAAC,CAACyoF,KAAH,EAASzoF,CAAC,CAACs1B,IAAX,CAAR,EAAyBt1B,CAAC,CAACs1B,IAA3B,EAAgCt1B,CAAC,CAAC2mF,OAAlC,CAAT;AAAA,QAAoDlmF,CAAC,GAACE,CAAC,CAACH,CAAD,EAAGR,CAAC,CAACgY,aAAL,CAAvD;AAA2E,SAAOhY,CAAC,CAACyoF,KAAF,CAAQrvE,cAAR,CAAuBhY,CAAvB,EAAyBX,CAAzB,EAA2BT,CAAC,CAACujE,eAA7B,EAA6C/iE,CAAC,EAAEmU,QAAhD,CAAP;AAAiE;;AAAA,SAAShU,CAAT,CAAWX,CAAC,GAAC,EAAb,EAAgBQ,CAAhB,EAAkB;AAAC,MAAG,CAACR,CAAC,CAACiJ,MAAN,EAAa;AAAO,QAAM7H,CAAC,GAAC,EAAR;AAAW,SAAOpB,CAAC,CAACiJ,MAAF,CAASxE,OAAT,CAAkBzE,CAAC,IAAE;AAAC,UAAMS,CAAC,GAACD,CAAC,CAACgP,IAAF,CAAQhP,CAAC,IAAEA,CAAC,CAAC8I,KAAF,CAAQ9G,EAAR,KAAaxC,CAAC,CAACwC,EAA1B,CAAR;AAAuC/B,IAAAA,CAAC,EAAEioF,SAAH,IAActnF,CAAC,CAACwD,IAAF,CAAOnE,CAAC,CAACioF,SAAT,CAAd;AAAkC,GAA/F,GAAkGtnF,CAAzG;AAA2G;;AAAA,SAASE,CAAT,CAAWtB,CAAX,EAAaQ,CAAb,EAAe;AAAC,SAAOojB,IAAI,CAAC5Z,GAAL,CAAS,CAAT,EAAWvJ,sFAAC,CAACD,CAAD,EAAGojB,IAAI,CAAC5Z,GAAL,CAAS,IAAT,EAAchK,CAAC,CAACiE,OAAF,CAAU0kF,UAAV,CAAqBC,cAAnC,CAAH,CAAZ,CAAP;AAA2E;;AAAA,SAASpnF,CAAT,CAAWxB,CAAX,EAAaQ,CAAb,EAAeY,CAAf,EAAiBX,CAAjB,EAAmB;AAACT,EAAAA,CAAC,CAAC6oF,aAAF,KAAkBpoF,CAAC,GAAC;AAACqoF,IAAAA,IAAI,EAAC,CAAN;AAAQC,IAAAA,KAAK,EAAC,CAAd;AAAgBC,IAAAA,GAAG,EAAC,CAApB;AAAsBC,IAAAA,MAAM,EAAC;AAA7B,GAApB;AAAqD,MAAInpF,CAAC,GAAC,IAAN;AAAW,UAAME,CAAC,CAAC+Y,KAAR,IAAe,QAAM/Y,CAAC,CAACsZ,MAAvB,GAA8BxZ,CAAC,GAAC,CAACE,CAAC,CAAC+Y,KAAH,EAAS/Y,CAAC,CAACsZ,MAAX,CAAhC,GAAmD,QAAMtZ,CAAC,CAAC+Y,KAAR,IAAe,QAAM/Y,CAAC,CAACsZ,MAAvB,GAA8BxZ,CAAC,GAAC,CAACE,CAAC,CAACsZ,MAAH,EAAUtZ,CAAC,CAACsZ,MAAZ,CAAhC,GAAoD,QAAMtZ,CAAC,CAAC+Y,KAAR,IAAe,QAAM/Y,CAAC,CAACsZ,MAAvB,GAA8BxZ,CAAC,GAAC,CAACE,CAAC,CAAC+Y,KAAH,EAAS/Y,CAAC,CAAC+Y,KAAX,CAAhC,GAAkD,QAAM/Y,CAAC,CAAC+Y,KAAR,IAAe,QAAM/Y,CAAC,CAACsZ,MAAvB,KAAgCxZ,CAAC,GAAC,IAAlC,CAAzJ;AAAiM,QAAMQ,CAAC,GAACc,CAAC,CAAC,CAAD,CAAD,IAAMX,CAAC,CAACqoF,IAAF,GAAOroF,CAAC,CAACsoF,KAAf,CAAR;AAAA,QAA8BhpF,CAAC,GAACqB,CAAC,CAAC,CAAD,CAAD,IAAMX,CAAC,CAACuoF,GAAF,GAAMvoF,CAAC,CAACwoF,MAAd,CAAhC;AAAsD,MAAI7oF,CAAJ;AAAA,MAAMO,CAAN;AAAA,MAAQW,CAAC,GAACtB,CAAC,CAACkpF,IAAF,IAAQ;AAAC5mF,IAAAA,CAAC,EAAC,CAAH;AAAKpB,IAAAA,CAAC,EAAC,CAAP;AAAS6X,IAAAA,KAAK,EAACzY,CAAf;AAAiBgZ,IAAAA,MAAM,EAACvZ;AAAxB,GAAlB;;AAA6C,MAAGD,CAAH,EAAK;AAAC,UAAME,CAAC,GAACM,CAAC,GAACP,CAAV;AAAA,UAAYS,CAAC,GAACV,CAAC,CAAC,CAAD,CAAD,GAAKA,CAAC,CAAC,CAAD,CAApB;;AAAwB,QAAGU,CAAC,GAACR,CAAL,EAAO;AAAC,YAAMA,CAAC,GAACsB,CAAC,CAACyX,KAAF,GAAQvY,CAAhB;AAAkBc,MAAAA,CAAC,GAAC;AAACgB,QAAAA,CAAC,EAAChB,CAAC,CAACgB,CAAL;AAAOpB,QAAAA,CAAC,EAAC0iB,IAAI,CAACgoD,KAAL,CAAWtqE,CAAC,CAACJ,CAAF,GAAI,CAACI,CAAC,CAACgY,MAAF,GAAStZ,CAAV,IAAa,CAA5B,CAAT;AAAwC+Y,QAAAA,KAAK,EAACzX,CAAC,CAACyX,KAAhD;AAAsDO,QAAAA,MAAM,EAACsK,IAAI,CAACgoD,KAAL,CAAW5rE,CAAX;AAA7D,OAAF;AAA8E,KAAxG,MAA4G;AAAC,YAAMA,CAAC,GAACsB,CAAC,CAACgY,MAAF,GAAS9Y,CAAjB;AAAmBc,MAAAA,CAAC,GAAC;AAACgB,QAAAA,CAAC,EAACshB,IAAI,CAACgoD,KAAL,CAAWtqE,CAAC,CAACgB,CAAF,GAAI,CAAChB,CAAC,CAACyX,KAAF,GAAQ/Y,CAAT,IAAY,CAA3B,CAAH;AAAiCkB,QAAAA,CAAC,EAACI,CAAC,CAACJ,CAArC;AAAuC6X,QAAAA,KAAK,EAAC6K,IAAI,CAACgoD,KAAL,CAAW5rE,CAAX,CAA7C;AAA2DsZ,QAAAA,MAAM,EAAChY,CAAC,CAACgY;AAApE,OAAF;AAA8E;AAAC,GAA7O,MAAkPxZ,CAAC,GAAC,CAACwB,CAAC,CAACyX,KAAH,EAASzX,CAAC,CAACgY,MAAX,CAAF;;AAAqB,SAAOxZ,CAAC,CAAC,CAAD,CAAD,GAAKwB,CAAC,CAACyX,KAAP,IAAc3Y,CAAC,GAACwjB,IAAI,CAAC5Z,GAAL,CAASlK,CAAC,CAAC,CAAD,CAAD,GAAKwB,CAAC,CAACyX,KAAhB,EAAsBvY,CAAtB,CAAF,EAA2BG,CAAC,GAACb,CAAC,CAAC,CAAD,CAAD,GAAKwB,CAAC,CAACyX,KAAP,GAAa3Y,CAAxD,KAA4DA,CAAC,GAAC,CAAF,EAAIO,CAAC,GAACb,CAAC,CAAC,CAAD,CAAD,GAAKwB,CAAC,CAACyX,KAAzE,GAAgF;AAACowE,IAAAA,QAAQ,EAAC;AAAC7mF,MAAAA,CAAC,EAACshB,IAAI,CAACgoD,KAAL,CAAW,CAACtqE,CAAC,CAACgB,CAAF,GAAI7B,CAAC,CAACqoF,IAAP,IAAa1oF,CAAxB,CAAH;AAA8Bc,MAAAA,CAAC,EAAC0iB,IAAI,CAACgoD,KAAL,CAAW,CAACtqE,CAAC,CAACJ,CAAF,GAAIT,CAAC,CAACuoF,GAAP,IAAY5oF,CAAvB,CAAhC;AAA0D2Y,MAAAA,KAAK,EAAC6K,IAAI,CAACgoD,KAAL,CAAWtqE,CAAC,CAACyX,KAAF,GAAQ3Y,CAAnB,CAAhE;AAAsFkZ,MAAAA,MAAM,EAACsK,IAAI,CAACgoD,KAAL,CAAWtqE,CAAC,CAACgY,MAAF,GAASlZ,CAApB;AAA7F,KAAV;AAA+HgpF,IAAAA,WAAW,EAACzoF,CAA3I;AAA6I0oF,IAAAA,eAAe,EAACjpF;AAA7J,GAAvF;AAAuP;;;;;;;;;;;;;;;;;;;ACJzmD;AACA;AACA;AACA;AACyG,gBAAgB,YAAY,kBAAkB,uBAAuB,sBAAsB,qCAAqC,YAAY,mDAAC,YAAY,QAAQ,0BAA0B,QAAQ,mFAAC,sJAAsJ,8NAA8N,MAAM,cAAc,GAAG,YAAY,wQAAwQ,qCAAqC,qMAAqM,gBAAgB,uBAAuB,0BAA0B,qCAAqC,gBAAgB,qBAAqB,kCAAkC,wDAAwD,oBAAoB,yCAAyC,qBAAqB,mDAAmD,0BAA0B,yCAAyC,yBAAyB,wDAAwD,iBAAiB,sCAAsC,iBAAiB,mGAAmG,2FAA2F,cAAc,sCAAsC,cAAc,qCAAqC,wBAAwB,SAAS,2DAA2D,oGAAoG,wBAAwB,SAAS,mDAAmD,oIAAyJ;;;;;;;;;;;;;;;;;ACJ98E;AACA;AACA;AACA;AAC8E,QAAQ,mBAAmB,0GAA0G,QAAQ,kDAAkD,OAAO,8BAA8B,OAAO,8BAA8B,OAAO,+BAA+B,aAAa,gDAAgD,qBAAqB,YAAY,WAAW,oBAAoB,cAAc,MAAM,sBAAsB,OAAO,aAAa,qBAAqB,iCAAiC,yBAAyB,gBAAgB,4FAA4F,aAAa,2BAA2B,0BAA0B,sCAAsC,KAAK,qBAAqB,qDAAqD,yDAAyD,gCAAgC,kCAAkC,6BAA6B,MAAM,gBAAgB,+DAA+D,4GAA4G,oFAAC,MAAM,oFAAC,SAAS,WAAW,EAAE,gBAAgB,mDAAmD,SAAS,eAAe,+BAA+B,iEAAiE,gBAAgB,YAAiC;;;;;;;;;;;;;;;;;;ACJ7gD;AACA;AACA;AACA;AACuE,QAAQ,cAAc,cAAc,WAAW,eAAe,UAAU,sCAAsC,QAAQ,qBAAqB,UAAU,wBAAwB,0BAA0B,KAAK,KAAK,+BAA+B,UAAU,mDAAC,iCAAiC,aAAa,MAAM,kBAAkB,OAAO,QAAQ,GAAG,0BAA0B,wBAAwB,iBAAiB,KAAK,4DAA4D,WAAW,2DAAC,IAAyB;;;;;;;;;;;;;;;;;;;;;ACJnkB;AACA;AACA;AACA;AACmM,YAAY,mDAAC,YAAY,QAAQ,mBAAmB,yBAAyB,0FAA0F,6EAA6E,6BAA6B,qHAAqH,UAAU,kBAAkB,aAAa,uDAAuD,cAAc,0DAA0D,yCAAyC,QAAQ,wEAAwE,qEAAqE,sBAAsB,mDAAmD,2DAA2D,iCAAiC,0DAAQ,UAAU,mBAAmB,uFAAuF,iCAAiC,uBAAuB,sCAAsC,gBAAgB,uDAAuD,wBAAwB,SAAS,mCAAmC,kCAAkC,wBAAwB,SAAS,mCAAmC,kCAAkC,0CAA0C,kEAAkE,mGAAmG,qEAAc,iBAAiB,uBAAuB,gBAAgB,2FAA2F,iFAAiF,WAAW,QAAQ,YAAY,IAAI,KAAK,sBAAsB,IAAI,SAAS,4BAA4B,mGAAmG,yCAAyC,SAAS,QAAQ,IAAI,EAAE,4CAA4C,qBAAqB,KAAK,KAAK,aAAa,2DAA2D,iGAAiG,qCAAqC,uCAAuC,KAAK,eAAe,oDAAC,oFAAoF,gBAAgB,oDAAC,SAAS,6FAA6F,oDAAC,UAAU,KAAK,qBAAqB,KAAK,KAAK,aAAa,qCAAqC,SAAS,mBAAmB,SAAS,iEAAiE,mEAAmE,qBAAqB,wDAAwD,yBAAyB,gBAAgB,mCAAmC,oBAAoB,gBAAgB,SAAS,+CAA+C,8BAA8B,4BAA4B,wCAAwC,2EAA2E,8BAA8B,4WAA4W,4BAA4B,wCAAwC,kEAAkE,uBAAuB,uDAAuD,QAAQ,mFAAC,8DAA8D,gBAAgB,SAAS,2BAA2B,oBAAoB,oDAAoD,yCAAyC,YAAY,aAAa,iDAAiD,wCAAwC,0BAA0B,oBAAoB,8GAA8G,gBAAgB,oBAAoB,0DAA0D,qBAAqB,KAAK,eAAe,gEAAgE,4DAA4D,qCAAqC,eAAe,oCAAoC,eAAe,oCAAoC,uBAAuB,mCAAmC,+MAAoO;;;;;;;;;;;;;;;;;ACJ5tK;AACA;AACA;AACA;AAC2C,QAAQ,sBAAsB,4BAA4B,QAAQ,GAAG,MAAM,GAAG,MAAM,GAAG,QAAQ,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,qBAAqB,kBAAkB,UAAU,YAAY,SAAS,uBAAuB,mBAAmB,SAAS,WAAW,GAAG,SAAS,GAAG,SAAS,EAAE,UAAU,YAAY,WAAW,sDAAsD,sCAAsC,iBAAiB,kBAAkB,YAAY,2BAA2B,4EAA4E,iBAAiB,2BAA2B,2EAA2E,UAAU,sFAAsF,QAAQ,mBAAmB,UAAU,gDAAgD,aAAa,2DAA2D,2GAA2G,4BAA4B,4BAA4B,gGAAgG,4DAA4D,YAAY,WAAW,SAAS,WAAW,GAAG,SAAS,GAAG,SAAS,GAAG,WAAW,EAAE,eAAe,iFAAiF,6BAA6B,qBAAqB,6CAA6C,eAAe,8DAA8D,4EAA4E,mBAAmB,gFAAgF,WAAW,2DAAC,oBAAyC;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACJz0D;AACA;AACA;AACA;AAC4oB,cAAc,oBAAoB,yDAAC,CAAC,eAAe,+EAA+E,aAAa,MAAM,+CAA+C,MAAM,gBAAgB,uEAAC,EAAE,qDAAqD,+BAA+B,YAAY,SAAS,EAAE,yBAAyB,EAAE,UAAU,yBAAyB,4DAAC,cAAc,aAAa,wCAAwC,SAAS,kCAAkC,qBAAqB,QAAQ,uEAAuE,OAAO,0EAA0E,QAAQ,oBAAoB,QAAQ,iBAAiB,gDAAgD,sEAAsE,sEAAC,4CAA4C,oFAAoF,2DAA2D,QAAQ,oBAAoB,SAAS,qBAAqB,SAAS,8CAA8C,gBAAgB,mDAAmD,yBAAyB,iCAAiC,qCAAqC,GAAG,0DAAC,mBAAmB,sBAAsB,gBAAgB,uCAAuC,wBAAwB,8CAA8C,iCAAiC,iCAAiC,qBAAqB,QAAQ,8EAAC,MAAM,eAAe,WAAW,uDAAC,EAAE,sFAAC,EAAE,iBAAiB,qCAAqC,uDAAC,EAAE,sFAAC,EAAE,iBAAiB,kCAAkC,uDAAC,EAAE,sFAAC,EAAE,iBAAiB,iCAAiC,uDAAC,EAAE,sFAAC,EAAE,iBAAiB,mCAAmC,uDAAC,EAAE,sFAAC,gCAAgC,uDAAC,EAAE,sFAAC,EAAE,iBAAiB,wCAAwC,uDAAC,EAAE,sFAAC,uCAAuC,UAA+B;;;;;;;;;;;;;;;;ACJ9mF;AACA;AACA;AACA;AACA,QAAQ,mBAAmB,wCAA6D;;;;;;;;;;;;;;;;;;;;ACJxF;AACA;AACA;AACA;AAC8K,YAAY,mDAAC,8BAA8B,QAAQ,eAAe,+eAA+e,qDAAC,oCAAoC,oBAAoB,IAAI,UAAU,uBAAuB,UAAU,MAAM,yBAAyB,OAAO,8BAA8B,UAAU,sBAAsB,0DAA0D,qFAAqF,mGAAmG,mDAAmD,MAAM,kBAAkB,IAAI,QAAQ,GAAG,iDAAiD,YAAY,wBAAwB,wBAAwB,iBAAiB,KAAK,KAAK,IAAI,+DAA+D,eAAe,4DAA4D,KAAK,4BAA4B,+DAA+D,eAAe,UAAU,mDAAmD,6BAA6B,cAAc,oBAAoB,qBAAqB,SAAS,6FAA6F,iIAAiI,8CAA8C,+FAA+F,6CAA6C,0DAA0D,8BAA8B,qEAAc,oCAAoC,QAAQ,MAAM,YAAY,MAAM,8CAA8C,UAAU,WAAW,4CAA4C,yBAAyB,mBAAmB,6CAA6C,oBAAoB,eAAe,KAAK,yCAAyC,2BAA2B,uCAAuC,mCAAmC,OAAO,gGAAgG,mCAAmC,OAAO,uBAAuB,QAAQ,2EAAC,GAAG,wCAAwC,0FAA0F,QAAQ,2EAAC,GAAG,+CAA+C,6EAAC,eAAe,UAA+B;;;;;;;;;;;;;;;;;;ACJtnG;AACA;AACA;AACA;AACA,oBAAoB,0DAA0D,cAAc,sBAAsB,cAAc,sBAAsB,cAAc,sBAAsB,gBAAgB,gBAAgB,YAAY,IAAI,KAAK,mCAAmC,iCAAiC,OAAO,4BAA4B,gBAAgB,KAAK,IAAI,EAAE,mCAAmC,yBAAyB,SAAS,0BAA0B,kBAAkB,qCAAqC,cAAc,iBAAiB,OAAO,kBAAkB,MAAM,uDAAuD,uDAAuD,SAAS,+JAAuN;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACJn5B;AACA;AACA;AACA;AACA;AAAkC;AAAwC;AAAkD;AAAgE;AAAsE;AAAiK;AAA2E;AAAmM;AAA0F;AAAwC;AAA0C;AAAuC;AAA4G;AAAkD;AAAyH;AAAmG,MAAMgL,CAAC,GAAC,EAAR;AAAA,MAAWwc,CAAC,GAAC,KAAb;AAAA,MAAmBtc,CAAC,GAAC,MAAIsY,IAAI,CAACw+D,EAA9B;;AAAiC,SAAS52E,CAAT,CAAWxL,CAAX,EAAa;AAAC,SAAOA,CAAC,CAACw9B,IAAF,GAAOx9B,CAAP,GAASA,CAAC,CAAC0C,gBAAF,IAAoByP,4EAApC;AAA4C;;AAAA,SAASyN,CAAT,CAAW5f,CAAX,EAAaF,CAAb,EAAe;AAAC,SAAOA,CAAC,CAACuD,IAAF,GAAOzC,wEAAC,CAACZ,CAAD,EAAGF,CAAC,CAACwC,CAAL,EAAOxC,CAAC,CAACoB,CAAT,CAAR,GAAoB+J,yEAAC,CAACjL,CAAD,EAAGF,CAAH,CAA5B;AAAkC;;AAAA,SAAS6M,CAAT,CAAW3M,CAAX,EAAa;AAAC,SAAOS,yEAAC,CAACT,CAAD,CAAR;AAAY;;AAAA,SAASgnB,CAAT,CAAWhnB,CAAX,EAAaF,CAAb,EAAeW,CAAC,GAAC,CAAjB,EAAmB;AAAC,MAAIH,CAAC,GAACN,CAAC,CAAC+Y,KAAR;AAAA,MAAc3Y,CAAC,GAACJ,CAAC,CAACsZ,MAAlB;;AAAyB,MAAG,MAAI7Y,CAAP,EAAS;AAAC,UAAMX,CAAC,GAACC,2DAAC,CAACU,CAAD,CAAT;AAAA,UAAaD,CAAC,GAACojB,IAAI,CAACkZ,GAAL,CAASlZ,IAAI,CAAC4mE,GAAL,CAAS1qF,CAAT,CAAT,CAAf;AAAA,UAAqCgB,CAAC,GAAC8iB,IAAI,CAACkZ,GAAL,CAASlZ,IAAI,CAAC6mE,GAAL,CAAS3qF,CAAT,CAAT,CAAvC;AAA6DQ,IAAAA,CAAC,GAACN,CAAC,CAAC+Y,KAAF,GAAQvY,CAAR,GAAUR,CAAC,CAACsZ,MAAF,GAASxY,CAArB,EAAuBV,CAAC,GAACJ,CAAC,CAAC+Y,KAAF,GAAQjY,CAAR,GAAUd,CAAC,CAACsZ,MAAF,GAAS9Y,CAA5C;AAA8C;;AAAA,QAAMA,CAAC,GAACojB,IAAI,CAAC3Z,GAAL,CAAS,CAAT,EAAWnK,CAAC,CAAC,CAAD,CAAZ,CAAR;AAAA,QAAyBgB,CAAC,GAAC8iB,IAAI,CAAC3Z,GAAL,CAAS,CAAT,EAAWnK,CAAC,CAAC,CAAD,CAAZ,CAA3B;AAA4C,SAAO8jB,IAAI,CAAC3Z,GAAL,CAAS3J,CAAC,GAACE,CAAX,EAAaJ,CAAC,GAACU,CAAf,IAAkBuoB,EAAE,CAACrpB,CAAC,CAAC0C,gBAAH,CAA3B;AAAgD;;SAAe6I;;;;;yMAAf,WAAiBvL,CAAjB,EAAmBD,CAAnB,EAAqBU,CAArB,EAAuBH,CAAvB,EAAyB;AAAC,QAAIF,CAAJ,EAAMI,CAAN;AAAQ,QAAG,CAACR,CAAJ,EAAM,OAAO,IAAP;AAAY,QAAGqG,KAAK,CAACC,OAAN,CAActG,CAAd,KAAkB,CAACA,CAAC,CAAC2N,MAAxB,EAA+B,OAAO,IAAP;;AAAY,QAAG7N,wEAAA,CAAeE,CAAf,MAAoBA,CAAC,GAACA,CAAC,CAACmE,OAAF,EAAtB,GAAmCkC,KAAK,CAACC,OAAN,CAActG,CAAd,KAAkBA,CAAC,CAAC2N,MAApB,IAA4B,YAAU,OAAO3N,CAAC,CAAC,CAAD,CAApF,EAAwF;AAAC,YAAMF,CAAC,GAACE,CAAC,CAACoO,KAAF,CAASpO,CAAC,IAAE,gBAAeA,CAA3B,CAAR;AAAA,YAAuCI,CAAC,GAACJ,CAAC,CAACsX,IAAF,CAAQtX,CAAC,IAAE,CAACA,CAAC,CAACi3B,QAAd,CAAzC;AAAkE,UAAIz2B,CAAC,GAACR,CAAN;;AAAQ,UAAGF,CAAC,IAAEM,CAAH,IAAML,CAAN,IAASA,CAAC,CAACiY,aAAd,EAA4B;AAAC,cAAMlY,CAAC,GAAC,IAAI2S,GAAJ,EAAR;;AAAgB,aAAI,MAAM1S,CAAV,IAAeC,CAAf,EAAiB;AAAC,gBAAMA,CAAC,GAACD,CAAC,CAACuJ,KAAV;AAAA,gBAAgB7I,CAAC,GAACX,CAAC,CAAC8Z,GAAF,CAAM5Z,CAAN,KAAU,EAA5B;AAAA,gBAA+BM,CAAC,GAACP,CAAC,CAACsxC,UAAF,CAAarxC,CAAC,CAACkrC,aAAf,CAAjC;AAA+D,kBAAM5qC,CAAN,IAASG,CAAC,CAACmE,IAAF,CAAOtE,CAAP,CAAT,EAAmBR,CAAC,CAAC0F,GAAF,CAAMxF,CAAN,EAAQS,CAAR,CAAnB;AAA8B;;AAAA,cAAMA,CAAC,GAAC,EAAR;AAAWX,QAAAA,CAAC,CAAC2E,OAAF,CAAW,CAACzE,CAAD,EAAGF,CAAH,KAAO;AAAC,gBAAMQ,CAAC,GAACP,CAAC,CAACiY,aAAF,CAAgBxI,IAAhB,CAAsBxP,CAAC,IAAEA,CAAC,CAACsJ,KAAF,CAAQ9G,EAAR,KAAa1C,CAAC,CAAC0C,EAAxC,CAAR;;AAAqD,cAAGlC,CAAC,IAAE,mBAAkBA,CAAxB,EAA0B;AAAC,kBAAMP,CAAC,GAACD,CAAC,CAACymC,WAAF,EAAR;AAAwBxmC,YAAAA,CAAC,CAACq6C,SAAF,GAAYp6C,CAAZ,EAAcD,CAAC,CAACsN,cAAF,GAAiB,CAAC,CAAhC,EAAkC5M,CAAC,CAACmE,IAAF,CAAOtE,CAAC,CAACuvC,aAAF,CAAgB9vC,CAAhB,CAAP,CAAlC;AAA6D;AAAC,SAAzL;AAA4L,cAAMO,CAAC,SAAO6E,OAAO,CAACc,GAAR,CAAYxF,CAAZ,CAAd;AAAA,cAA6BL,CAAC,GAAC,EAA/B;;AAAkC,aAAI,MAAMJ,CAAV,IAAeM,CAAf,EAAiB,IAAGN,CAAC,IAAEA,CAAC,CAACquC,QAAL,IAAeruC,CAAC,CAACquC,QAAF,CAAW1gC,MAA7B,EAAoC,KAAI,MAAM7N,CAAV,IAAeE,CAAC,CAACquC,QAAjB,EAA0B,QAAMvuC,CAAC,CAACm3B,QAAR,IAAkB72B,CAAC,CAACwE,IAAF,CAAO9E,CAAC,CAACm3B,QAAT,CAAlB;;AAAqCz2B,QAAAA,CAAC,GAACJ,CAAF;AAAI;;AAAA,WAAI,MAAMJ,CAAV,IAAeQ,CAAf,EAAiBF,CAAC,SAAOiL,CAAC,CAACvL,CAAD,EAAGD,CAAH,EAAKU,CAAL,EAAOH,CAAP,CAAT;;AAAmB,aAAOA,CAAP;AAAS;;AAAA,QAAG+F,KAAK,CAACC,OAAN,CAActG,CAAd,KAAkB,MAAIA,CAAC,CAAC2N,MAAxB,IAAgC,YAAU,OAAO3N,CAAC,CAAC,CAAD,CAAlD,IAAuD,YAAU,OAAOA,CAAC,CAAC,CAAD,CAA5E,EAAgFI,CAAC,GAAC,IAAI+mB,2DAAJ,CAAMnnB,CAAN,CAAF,CAAhF,KAAgG,IAAGA,CAAC,YAAYqC,8DAAhB,EAAkBjC,CAAC,GAACJ,CAAF,CAAlB,KAA2B,IAAG,cAAaA,CAAhB,EAAkB,IAAGA,CAAC,CAACi3B,QAAL,EAAc72B,CAAC,GAACJ,CAAC,CAACi3B,QAAJ,CAAd,KAAgC,IAAGj3B,CAAC,CAACsJ,KAAL,EAAW;AAAC,YAAMxJ,CAAC,GAACE,CAAC,CAACsJ,KAAV;AAAA,YAAgB7I,CAAC,GAACV,CAAC,CAACiY,aAAF,CAAgBxI,IAAhB,CAAsBxP,CAAC,IAAEA,CAAC,CAACsJ,KAAF,CAAQ9G,EAAR,KAAa1C,CAAC,CAAC0C,EAAxC,CAAlB;;AAA+D,UAAG/B,CAAC,IAAE,mBAAkBA,CAAxB,EAA0B;AAAC,cAAMV,CAAC,GAACD,CAAC,CAACymC,WAAF,EAAR;AAAwBxmC,QAAAA,CAAC,CAACq6C,SAAF,GAAY,CAACp6C,CAAC,CAACqxC,UAAF,CAAavxC,CAAC,CAACorC,aAAf,CAAD,CAAZ,EAA4CnrC,CAAC,CAACsN,cAAF,GAAiB,CAAC,CAA9D;AAAgE,cAAM/M,CAAC,SAAOG,CAAC,CAACovC,aAAF,CAAgB9vC,CAAhB,CAAd;AAAiCK,QAAAA,CAAC,GAACE,CAAC,EAAE+tC,QAAH,GAAc,CAAd,GAAkBpX,QAApB;AAA6B;AAAC;AAAA,QAAG,QAAM72B,CAAT,EAAW,OAAO,IAAP;;AAAY,YAAOA,CAAC,CAACiD,IAAT;AAAe,WAAI,OAAJ;AAAY7C,QAAAA,CAAC,GAAC,IAAIsG,4DAAJ,CAAM;AAACkS,UAAAA,IAAI,EAAC5Y,CAAC,CAACkC,CAAR;AAAUm2B,UAAAA,IAAI,EAACr4B,CAAC,CAACc,CAAjB;AAAmB+X,UAAAA,IAAI,EAAC7Y,CAAC,CAACkC,CAA1B;AAA4Bo2B,UAAAA,IAAI,EAACt4B,CAAC,CAACc,CAAnC;AAAqCwB,UAAAA,gBAAgB,EAACtC,CAAC,CAACsC;AAAxD,SAAN,CAAF;AAAmF;;AAAM,WAAI,QAAJ;AAAa,WAAI,YAAJ;AAAiB,WAAI,SAAJ;AAAc,WAAI,UAAJ;AAAelC,QAAAA,CAAC,GAACoB,2FAAC,CAACxB,CAAD,CAAH;AAAO;;AAAM;AAAQI,QAAAA,CAAC,GAACJ,CAAC,CAAC0Y,MAAJ;AAApM;;AAA+M,QAAG,CAACtY,CAAJ,EAAM,OAAO,IAAP;AAAYqI,IAAAA,kEAAC,MAAIR,iFAAC,CAAC7H,CAAC,CAACkC,gBAAH,EAAoBjC,CAApB,CAAN,WAAoCyK,8DAAC,EAArC;AAAwC,UAAMpK,CAAC,GAACmB,iEAAC,CAACzB,CAAD,EAAGC,CAAH,CAAT;AAAe,QAAG,CAACK,CAAJ,EAAM,OAAO,IAAP;;AAAY,QAAGR,CAAH,EAAK;AAAC,YAAMN,CAAC,GAACc,CAAC,CAAC8X,MAAV;AAAA,YAAiB9Y,CAAC,GAACE,CAAC,CAACO,KAAF,EAAnB;AAA6BT,MAAAA,CAAC,CAACwC,CAAF,GAAIkP,wGAAC,CAACxR,CAAC,CAACsC,CAAH,EAAKhC,CAAC,CAACsY,MAAF,CAAStW,CAAd,EAAgB7B,CAAhB,CAAL,EAAwBX,CAAC,CAACwC,CAAF,KAAMtC,CAAC,CAACsC,CAAR,IAAWxB,CAAC,CAAC+5B,QAAF,CAAW/6B,CAAX,CAAnC,EAAiDQ,CAAC,GAACA,CAAC,CAACm9C,KAAF,CAAQ38C,CAAR,CAAnD;AAA8D,KAAjG,MAAsGR,CAAC,GAACQ,CAAF;;AAAI,WAAOR,CAAP;AAAS;;;;AAAA,SAAS+mB,CAAT,CAAWrnB,CAAX,EAAa;AAAC,MAAGA,CAAC,KAAG,CAACqG,KAAK,CAACC,OAAN,CAActG,CAAd,CAAD,IAAmB,YAAU,OAAOA,CAAC,CAAC,CAAD,CAAxC,CAAD,KAAgD,YAAU,OAAOA,CAAjB,IAAoBqG,KAAK,CAACC,OAAN,CAActG,CAAd,KAAkB,YAAU,OAAOA,CAAC,CAAC,CAAD,CAAxG,CAAH,EAAgH;AAAC,QAAG,WAAUA,CAAV,IAAa,QAAMA,CAAC,CAACsJ,KAAF,EAASohF,QAA5B,IAAsC,QAAM1qF,CAAC,CAACsJ,KAAF,CAAQqhF,QAAvD,EAAgE;AAAC,YAAM7qF,CAAC,GAACE,CAAC,CAACsJ,KAAV;AAAgB,aAAM;AAACU,QAAAA,GAAG,EAAClK,CAAC,CAAC4qF,QAAP;AAAgBzgF,QAAAA,GAAG,EAACnK,CAAC,CAAC6qF;AAAtB,OAAN;AAAsC;;AAAA,QAAGtkF,KAAK,CAACC,OAAN,CAActG,CAAd,KAAkBA,CAAC,CAAC2N,MAApB,IAA4B3N,CAAC,CAACoO,KAAF,CAASpO,CAAC,IAAE,WAAUA,CAAtB,CAA/B,EAAyD;AAAC,UAAIF,CAAC,GAAC,CAAN;AAAA,UAAQC,CAAC,GAAC,CAAV;;AAAY,WAAI,MAAMU,CAAV,IAAeT,CAAf,EAAiB;AAAC,cAAMA,CAAC,GAACS,CAAC,CAAC6I,KAAV;AAAgBtJ,QAAAA,CAAC,EAAE0qF,QAAH,IAAa1qF,CAAC,CAAC2qF,QAAf,KAA0B7qF,CAAC,GAACE,CAAC,CAAC0qF,QAAF,GAAW5qF,CAAX,GAAaE,CAAC,CAAC0qF,QAAf,GAAwB5qF,CAA1B,EAA4BC,CAAC,GAACC,CAAC,CAAC2qF,QAAF,GAAW5qF,CAAX,GAAaC,CAAC,CAAC2qF,QAAf,GAAwB5qF,CAAhF;AAAmF;;AAAA,aAAOD,CAAC,IAAEC,CAAH,GAAK;AAACiK,QAAAA,GAAG,EAAClK,CAAL;AAAOmK,QAAAA,GAAG,EAAClK;AAAX,OAAL,GAAmB,IAA1B;AAA+B;AAAC;AAAC;;AAAA,SAASioB,CAAT,CAAWhoB,CAAX,EAAaF,CAAb,EAAe;AAAC,QAAMC,CAAC,GAACyL,CAAC,CAACxL,CAAD,CAAT;AAAa,SAAOyM,mFAAC,CAAC1M,CAAD,EAAGD,CAAH,CAAD,IAAQC,CAAC,CAAC6qF,qBAAV,IAAiC9qF,CAAC,CAAC8qF,qBAAnC,GAAyD5qF,CAAzD,GAA2DiC,iEAAC,CAACjC,CAAD,EAAGF,CAAH,CAAnE;AAAyE;;SAAe4nB;;;;;yMAAf,WAAiB5nB,CAAjB,EAAmBC,CAAnB,EAAqB;AAAC,QAAG,CAACD,CAAD,IAAI,CAACC,CAAR,EAAU,OAAO,IAAIC,qDAAJ,CAAM;AAACuY,MAAAA,cAAc,EAAC,IAAI4O,2DAAJ,EAAhB;AAAsB9O,MAAAA,KAAK,EAAC,CAA5B;AAA8B1D,MAAAA,QAAQ,EAAC;AAAvC,KAAN,CAAP;AAAwD,QAAIlU,CAAC,GAACV,CAAC,CAAC2C,gBAAR;AAAyB,UAAK;AAACgkF,MAAAA,WAAW,EAACpmF,CAAb;AAAeqmF,MAAAA,OAAO,EAACvmF,CAAvB;AAAyBsU,MAAAA,SAAS,EAAClU,CAAnC;AAAqC80B,MAAAA,IAAI,EAACx0B;AAA1C,QAA6Cf,CAAlD;AAAA,UAAoDG,CAAC,GAAC,CAACE,CAAC,GAACU,CAAC,CAAC,CAAD,CAAD,GAAKV,CAAC,CAAC0oF,IAAP,GAAY1oF,CAAC,CAAC2oF,KAAf,GAAqBjoF,CAAC,CAAC,CAAD,CAAxB,EAA4BV,CAAC,GAACU,CAAC,CAAC,CAAD,CAAD,GAAKV,CAAC,CAAC4oF,GAAP,GAAW5oF,CAAC,CAAC6oF,MAAd,GAAqBnoF,CAAC,CAAC,CAAD,CAAnD,CAAtD;AAA8G,QAAIQ,CAAC,GAAC,IAAN;AAAWxB,IAAAA,CAAC,YAAYE,qDAAb,GAAesB,CAAC,GAACxB,CAAjB,GAAmBA,CAAC,CAAC4U,SAAF,GAAYpT,CAAC,GAACxB,CAAC,CAAC4U,SAAhB,GAA0B5U,CAAC,CAACiI,MAAF,IAAU,qBAAmBjI,CAAC,CAACiI,MAAF,CAASsB,aAAtC,KAAsD/H,CAAC,GAACxB,CAAC,CAACiI,MAA1D,CAA7C;AAA+G,QAAIpH,CAAC,GAAC,IAAN;AAAWW,IAAAA,CAAC,EAAEiX,cAAH,GAAkB5X,CAAC,GAACW,CAAC,CAACiX,cAAtB,GAAqCzY,CAAC,YAAYgH,4DAAb,GAAenG,CAAC,GAACb,CAAjB,GAAmBA,CAAC,YAAYuC,8DAAb,GAAe1B,CAAC,SAAO4K,CAAC,CAACzL,CAAD,EAAGC,CAAH,EAAKU,CAAL,CAAxB,GAAgCX,CAAC,KAAGa,CAAC,GAAC,OAAM4K,CAAC,CAACzL,CAAC,CAAC8Y,MAAH,EAAU7Y,CAAV,EAAYU,CAAZ,CAAP,YAA6B8K,CAAC,CAACzL,CAAC,CAACiI,MAAH,EAAUhI,CAAV,EAAYU,CAAZ,CAA9B,YAAoD8K,CAAC,CAACzL,CAAD,EAAGC,CAAH,EAAKU,CAAL,CAArD,CAAL,CAAzF,EAA4J,CAACE,CAAD,IAAIH,CAAC,EAAE+X,cAAP,GAAsB5X,CAAC,GAACH,CAAC,CAAC+X,cAA1B,GAAyC,CAAC5X,CAAD,IAAIZ,CAAC,CAAC+Y,MAAN,KAAenY,CAAC,GAACZ,CAAC,CAAC+Y,MAAnB,CAArM,EAAgOrY,CAAC,KAAGA,CAAC,GAAC+K,CAAC,CAACzL,CAAC,CAAC2C,gBAAF,IAAoB3C,CAAC,CAAC+Y,MAAtB,IAA8BnY,CAA/B,CAAN,CAAjO,EAA0QkI,kEAAC,MAAI4D,mFAAC,CAAC9L,CAAC,CAAC+B,gBAAH,EAAoBjC,CAApB,CAAN,IAA8B4H,iFAAC,CAAC1H,CAAC,CAAC+B,gBAAH,EAAoBjC,CAApB,CAA/B,WAA6DyK,8DAAC,EAA9D,CAA1Q;AAA2U,UAAMxJ,CAAC,GAACsmB,CAAC,CAACrnB,CAAD,EAAGF,CAAH,CAAT;AAAA,UAAeO,CAAC,GAAC,YAAWU,CAAX,GAAaA,CAAC,CAACkX,MAAf,GAAsBlX,CAAvC;AAAyC,KAAC,CAAD,KAAK3B,CAAC,CAAC6mF,iBAAP,IAA0B,YAAU5lF,CAAC,CAACqC,IAAtC,IAA4C,YAAU7C,CAAC,CAAC+X,cAAF,EAAkBlV,IAAxE,KAA+ErC,CAAC,CAACsB,CAAF,GAAIkP,wGAAC,CAACxQ,CAAC,CAACsB,CAAH,EAAK9B,CAAC,CAAC+X,cAAF,CAAiBjW,CAAtB,EAAwBtB,CAAC,CAAC0B,gBAA1B,CAApF;AAAiI,QAAIxB,CAAC,GAAC,CAAN;AAAQI,IAAAA,CAAC,GAACJ,CAAC,GAACI,CAAC,CAACqT,QAAL,GAAc7U,CAAC,CAAC0xB,cAAF,CAAiB,UAAjB,IAA6BtwB,CAAC,GAACpB,CAAC,CAAC6U,QAAjC,GAA0CnU,CAAC,KAAGU,CAAC,GAACV,CAAC,CAACmU,QAAP,CAA1D;AAA2E,QAAI/T,CAAC,GAAC,CAAN;AAAQA,IAAAA,CAAC,GAAC,QAAMU,CAAC,EAAEiX,cAAT,IAAyB,YAAUjX,CAAC,CAACiX,cAAF,CAAiBlV,IAApD,GAAyD/B,CAAC,CAAC+W,KAA3D,GAAiE,WAAUvY,CAAV,IAAaA,CAAC,CAACuY,KAAf,GAAqBvY,CAAC,CAACuY,KAAvB,GAA6B,UAASvY,CAAT,IAAY,CAAC,CAAD,KAAKA,CAAC,CAAC+qF,IAAnB,IAAyBvqF,CAAzB,IAA4BA,CAAC,CAACwqF,aAA9B,GAA4CxqF,CAAC,CAACyqF,WAAF,CAAcjrF,CAAC,CAAC+qF,IAAhB,CAA5C,GAAkExkF,KAAK,CAACC,OAAN,CAAc3F,CAAd,KAAkB,YAAUA,CAAC,CAAC0C,IAA9B,IAAoC,aAAW1C,CAAC,CAAC0C,IAAb,IAAmB,MAAI1C,CAAC,CAACoY,KAAzB,IAAgC,MAAIpY,CAAC,CAAC2Y,MAA1E,GAAiF9Y,CAAC,CAAC6X,KAAnF,GAAyF2O,CAAC,CAACgB,CAAC,CAACrnB,CAAC,CAACmY,MAAH,EAAUrY,CAAV,CAAF,EAAeP,CAAf,EAAiBgB,CAAjB,CAA5P;AAAgR,UAAMa,CAAC,GAACslB,CAAC,CAACvnB,CAAC,CAACiI,MAAF,IAAUjI,CAAX,CAAT;AAAuBiC,IAAAA,CAAC,KAAGA,CAAC,CAACiI,GAAF,IAAOjI,CAAC,CAACiI,GAAF,GAAMpJ,CAAb,GAAeA,CAAC,GAACmB,CAAC,CAACiI,GAAnB,GAAuBjI,CAAC,CAACkI,GAAF,IAAOlI,CAAC,CAACkI,GAAF,GAAMrJ,CAAb,KAAiBA,CAAC,GAACmB,CAAC,CAACkI,GAArB,CAA1B,CAAD;AAAsD,QAAI3H,CAAC,GAAC,IAAItC,qDAAJ,CAAM;AAACuY,MAAAA,cAAc,EAACvX,CAAhB;AAAkBqX,MAAAA,KAAK,EAACzX,CAAxB;AAA0B+T,MAAAA,QAAQ,EAACzT;AAAnC,KAAN,CAAN;AAAmD,WAAOZ,CAAC,KAAGgC,CAAC,GAAChC,CAAC,CAAC0qF,GAAF,CAAM1oF,CAAN,CAAF,EAAWhC,CAAC,CAAC2qF,mBAAF,CAAsB3oF,CAAtB,CAAX,EAAoChC,CAAC,CAAC4qF,eAAF,KAAoB5oF,CAAC,CAACqS,QAAF,GAAWnU,CAAC,CAACmU,QAAjC,CAAvC,CAAD,EAAoFrS,CAA3F;AAA6F;;;;AAAA,SAASoQ,CAAT,CAAW1S,CAAX,EAAaF,CAAb,EAAe;AAAC,QAAMC,CAAC,GAACC,CAAC,CAACuY,cAAV;AAAA,QAAyB9X,CAAC,GAACX,CAAC,CAACyY,cAA7B;AAA4C,SAAOxY,CAAC,CAACuC,CAAF,GAAI7B,CAAC,CAAC6B,CAAN,EAAQvC,CAAC,CAACmB,CAAF,GAAIT,CAAC,CAACS,CAAd,EAAgBnB,CAAC,CAAC2C,gBAAF,GAAmBjC,CAAC,CAACiC,gBAArC,EAAsD1C,CAAC,CAACqY,KAAF,GAAQvY,CAAC,CAACuY,KAAhE,EAAsErY,CAAC,CAAC2U,QAAF,GAAW7U,CAAC,CAAC6U,QAAnF,EAA4F3U,CAAnG;AAAqG;;AAAA,SAAS4S,CAAT,CAAW5S,CAAX,EAAaF,CAAb,EAAeC,CAAf,EAAiB;AAAC,SAAOA,CAAC,GAACa,wEAAC,CAACZ,CAAD,EAAG,MAAIF,CAAC,CAAC,CAAD,CAAD,GAAKC,CAAC,CAACgpF,KAAP,GAAahpF,CAAC,CAAC+oF,IAAnB,CAAH,EAA4B,MAAIhpF,CAAC,CAAC,CAAD,CAAD,GAAKC,CAAC,CAACkpF,MAAP,GAAclpF,CAAC,CAACipF,GAApB,CAA5B,CAAF,GAAwD9nF,0EAAC,CAAClB,CAAD,EAAGF,CAAH,EAAK,EAAL,CAAjE;AAA0E;;AAAA,MAAMD,CAAC,GAAC,YAAU;AAAC,QAAMG,CAAC,GAACgM,mFAAC,EAAT;AAAY,SAAO,UAASlM,CAAT,EAAWC,CAAX,EAAaU,CAAb,EAAe;AAAC,UAAMH,CAAC,GAACP,CAAC,CAACwY,cAAV;AAAyBqH,IAAAA,CAAC,CAAC5f,CAAD,EAAGM,CAAH,CAAD;AAAO,UAAMF,CAAC,GAAC,KAAGuoB,EAAE,CAAC5oB,CAAD,CAAb;AAAiB,WAAOD,CAAC,CAACkZ,IAAF,GAAOhZ,CAAC,CAAC,CAAD,CAAD,GAAKI,CAAC,GAACK,CAAC,CAAC,CAAD,CAAf,EAAmBX,CAAC,CAAC24B,IAAF,GAAOz4B,CAAC,CAAC,CAAD,CAAD,GAAKI,CAAC,GAACK,CAAC,CAAC,CAAD,CAAlC,EAAsCX,CAAC,CAACmZ,IAAF,GAAOjZ,CAAC,CAAC,CAAD,CAAD,GAAKI,CAAC,GAACK,CAAC,CAAC,CAAD,CAArD,EAAyDX,CAAC,CAAC44B,IAAF,GAAO14B,CAAC,CAAC,CAAD,CAAD,GAAKI,CAAC,GAACK,CAAC,CAAC,CAAD,CAAxE,EAA4EX,CAAC,CAAC4C,gBAAF,GAAmBpC,CAAC,CAACoC,gBAAjG,EAAkH5C,CAAzH;AAA2H,GAAnM;AAAoM,CAA3N,EAAR;;AAAsO,SAAS2oB,EAAT,CAAYzoB,CAAZ,EAAcF,CAAd,EAAgBC,CAAhB,EAAkBU,CAAlB,EAAoBH,CAApB,EAAsB;AAAC,SAAO0pB,EAAE,CAAChqB,CAAD,EAAGF,CAAH,EAAKC,CAAC,CAAC6Y,MAAP,CAAF,EAAiB5Y,CAAC,CAACqY,KAAF,GAAQ2O,CAAC,CAACjnB,CAAD,EAAGU,CAAH,CAA1B,EAAgCH,CAAC,EAAEomF,WAAH,EAAgByE,SAAhB,CAA0BnrF,CAA1B,CAAhC,EAA6DA,CAApE;AAAsE;;AAAA,SAAS4oB,EAAT,CAAY5oB,CAAZ,EAAcF,CAAd,EAAgBC,CAAhB,EAAkBU,CAAlB,EAAoB;AAAC,SAAO0oB,EAAE,CAACnpB,CAAD,EAAGF,CAAH,EAAKC,CAAL,EAAOU,CAAP,CAAF,EAAYiB,4EAAC,CAAC1B,CAAD,EAAGA,CAAH,CAApB;AAA0B;;AAAA,MAAM6oB,EAAE,GAAC,YAAU;AAAC,QAAM7oB,CAAC,GAACgM,mFAAC,EAAT;AAAY,SAAO,UAASlM,CAAT,EAAWC,CAAX,EAAaU,CAAb,EAAe;AAAC,WAAOsB,wEAAC,CAACjC,CAAD,EAAGipB,EAAE,CAACjpB,CAAD,EAAGC,CAAH,CAAL,EAAW6S,CAAC,CAAC5S,CAAD,EAAGD,CAAH,EAAKU,CAAL,CAAZ,CAAR;AAA6B,GAApD;AAAqD,CAA5E,EAAT;AAAA,MAAwFioB,EAAE,GAAC,YAAU;AAAC,QAAM1oB,CAAC,GAACgB,oFAAC,EAAT;AAAA,QAAYlB,CAAC,GAACkM,mFAAC,EAAf;AAAkB,SAAO,UAASjM,CAAT,EAAWU,CAAX,EAAaH,CAAb,EAAeJ,CAAf,EAAiB;AAAC,UAAMoB,CAAC,GAACqnB,EAAE,CAACloB,CAAD,CAAV;AAAA,UAAcE,CAAC,GAACmoB,EAAE,CAACroB,CAAD,CAAlB;AAAsB,WAAOG,wEAAC,CAACd,CAAD,EAAGwB,CAAH,EAAKA,CAAL,CAAD,EAASlB,iFAAC,CAACJ,CAAD,EAAGF,CAAH,CAAV,EAAgBU,4EAAC,CAACR,CAAD,EAAGA,CAAH,EAAKW,CAAL,CAAjB,EAAyBG,+EAAC,CAACd,CAAD,EAAGA,CAAH,EAAK6oB,EAAE,CAAC/oB,CAAD,EAAGQ,CAAH,EAAKJ,CAAL,CAAP,CAA1B,EAA0CY,+EAAC,CAACd,CAAD,EAAGA,CAAH,EAAK,CAAC,CAAD,EAAGE,CAAC,CAAC8oF,GAAF,GAAM9oF,CAAC,CAAC+oF,MAAX,CAAL,CAA3C,EAAoEroF,wEAAC,CAACb,CAAD,EAAGC,CAAC,CAAC,CAAD,CAAJ,EAAQA,CAAC,CAAC,CAAD,CAAT,CAA5E;AAA0F,GAAzI;AAA0I,CAAvK,EAA3F;;AAAqQ,SAAS2oB,EAAT,CAAY3oB,CAAZ,EAAc;AAAC,SAAOA,CAAC,CAACqY,KAAF,GAAQiR,EAAE,CAACtpB,CAAC,CAACuY,cAAF,EAAkB7V,gBAAnB,CAAjB;AAAsD;;AAAA,SAAS4mB,EAAT,CAAYtpB,CAAZ,EAAc;AAAC,SAAO,QAAMA,CAAN,IAASmG,oFAAC,CAACnG,CAAD,CAAV,GAAc,KAAG2M,CAAC,CAAC3M,CAAD,CAAD,GAAK4nB,CAAL,GAAOxc,CAAV,CAAd,GAA2B,CAAlC;AAAoC;;AAAA,SAAS0d,EAAT,CAAY9oB,CAAZ,EAAc;AAAC,SAAOM,+EAAC,CAACN,CAAC,CAAC2U,QAAH,CAAD,IAAe,CAAtB;AAAwB;;AAAA,SAAS0U,EAAT,CAAYrpB,CAAZ,EAAc;AAAC,SAAOmG,oFAAC,CAACnG,CAAD,CAAD,GAAK2M,CAAC,CAAC3M,CAAD,CAAD,GAAK4nB,CAAL,GAAOxc,CAAZ,GAAc,CAArB;AAAuB;;AAAA,SAAS2d,EAAT,CAAY/oB,CAAZ,EAAcF,CAAd,EAAgB;AAAC,SAAOoB,0EAAC,CAAClB,CAAD,EAAGF,CAAH,EAAK,EAAL,CAAR;AAAiB;;AAAA,MAAMopB,EAAE,GAAC,YAAU;AAAC,QAAMlpB,CAAC,GAACgM,mFAAC,EAAT;AAAA,QAAYlM,CAAC,GAACkM,mFAAC,EAAf;AAAA,QAAkBjM,CAAC,GAACiM,mFAAC,EAArB;AAAwB,SAAO,UAASvL,CAAT,EAAWH,CAAX,EAAaF,CAAb,EAAeO,CAAf,EAAiBe,CAAjB,EAAmBV,CAAnB,EAAqB;AAAC,WAAOsB,2EAAC,CAACtC,CAAD,EAAGM,CAAH,CAAD,EAAOY,0EAAC,CAACpB,CAAD,EAAGM,CAAH,EAAK,KAAGY,CAAR,CAAR,EAAmBJ,wEAAC,CAACb,CAAD,EAAG,IAAEY,CAAF,GAAIK,CAAP,EAAS,CAAC,CAAD,GAAGL,CAAH,GAAKK,CAAd,CAApB,EAAqCd,qFAAC,CAACO,CAAD,EAAGX,CAAH,CAAtC,EAA4C4B,CAAC,IAAElB,4EAAC,CAACC,CAAD,EAAGA,CAAH,EAAKiB,CAAL,CAAhD,EAAwDJ,2EAAC,CAACb,CAAD,EAAGA,CAAH,EAAKV,CAAL,CAAzD,EAAiEe,+EAAC,CAACL,CAAD,EAAGA,CAAH,EAAKT,CAAL,CAAlE,EAA0ES,CAAjF;AAAmF,GAAhH;AAAiH,CAApJ,EAAT;AAAA,MAAgK0oB,EAAE,GAAC,YAAU;AAAC,QAAMnpB,CAAC,GAACgM,mFAAC,EAAT;AAAY,SAAO,UAASlM,CAAT,EAAWC,CAAX,EAAaU,CAAb,EAAeH,CAAf,EAAiB;AAAC,UAAMF,CAAC,GAACuoB,EAAE,CAAC5oB,CAAD,CAAV;AAAA,UAAcS,CAAC,GAACsoB,EAAE,CAAC/oB,CAAD,CAAlB;AAAsB,WAAO6f,CAAC,CAAC5f,CAAD,EAAGD,CAAC,CAACwY,cAAL,CAAD,EAAsB2Q,EAAE,CAACppB,CAAD,EAAGE,CAAH,EAAKS,CAAL,EAAOL,CAAP,EAASI,CAAT,EAAWF,CAAX,CAA/B;AAA6C,GAA5F;AAA6F,CAApH,EAAnK;AAAA,MAA0R8oB,EAAE,GAAC,YAAU;AAAC,QAAMppB,CAAC,GAACgM,mFAAC,EAAT;AAAY,SAAO,UAASlM,CAAT,EAAWC,CAAX,EAAaU,CAAb,EAAeH,CAAf,EAAiB;AAAC,UAAMF,CAAC,GAACuoB,EAAE,CAAC5oB,CAAD,CAAV;AAAc,WAAO6f,CAAC,CAAC5f,CAAD,EAAGD,CAAC,CAACwY,cAAL,CAAD,EAAsB2Q,EAAE,CAACppB,CAAD,EAAGE,CAAH,EAAKS,CAAL,EAAOL,CAAP,EAAS,CAAT,EAAWE,CAAX,CAA/B;AAA6C,GAApF;AAAqF,CAA5G,EAA7R;;AAA4Y,SAASwpB,EAAT,CAAY9pB,CAAZ,EAAc;AAAC,QAAMF,CAAC,GAACqL,oFAAC,CAACnL,CAAD,CAAT;AAAa,SAAOF,CAAC,GAACA,CAAC,CAAC88B,KAAF,CAAQ,CAAR,IAAW98B,CAAC,CAAC88B,KAAF,CAAQ,CAAR,CAAZ,GAAuB,CAA/B;AAAiC;;AAAA,SAASpU,EAAT,CAAYxoB,CAAZ,EAAcF,CAAd,EAAgB;AAAC,SAAO8jB,IAAI,CAACgoD,KAAL,CAAW9hD,EAAE,CAAC9pB,CAAD,CAAF,GAAMF,CAAjB,CAAP;AAA2B;;AAAA,MAAMgoB,EAAE,GAAC,YAAU;AAAC,QAAM9nB,CAAC,GAACgM,mFAAC,EAAT;AAAA,QAAYlM,CAAC,GAACkM,mFAAC,EAAf;AAAA,QAAkBjM,CAAC,GAAC,CAAC,CAAD,EAAG,CAAH,EAAK,CAAL,CAApB;AAA4B,SAAO,UAASU,CAAT,EAAWH,CAAX,EAAaF,CAAb,EAAe;AAACgB,IAAAA,6EAAC,CAACpB,CAAD,EAAGS,CAAH,EAAKH,CAAL,CAAD,EAASqB,8EAAC,CAAC3B,CAAD,EAAGA,CAAH,CAAV,EAAgBoB,6EAAC,CAACtB,CAAD,EAAGW,CAAH,EAAKL,CAAL,CAAjB,EAAyBuB,8EAAC,CAAC7B,CAAD,EAAGA,CAAH,CAA1B,EAAgC+B,0EAAC,CAAC9B,CAAD,EAAGC,CAAH,EAAKF,CAAL,CAAjC;AAAyC,QAAIU,CAAC,GAACojB,IAAI,CAACwnE,IAAL,CAAU5pF,wEAAC,CAACxB,CAAD,EAAGF,CAAH,CAAD,IAAQsC,2EAAC,CAACpC,CAAD,CAAD,GAAKoC,2EAAC,CAACtC,CAAD,CAAd,CAAV,IAA8BwL,CAApC;AAAsC,WAAOvL,CAAC,CAAC,CAAD,CAAD,GAAK,CAAL,KAASS,CAAC,GAAC,CAACA,CAAZ,GAAei/C,KAAK,CAACj/C,CAAD,CAAL,KAAWA,CAAC,GAAC,CAAb,CAAf,EAA+BA,CAAtC;AAAwC,GAA9I;AAA+I,CAAtL,EAAT;AAAA,MAAkMupB,EAAE,GAAC,YAAU;AAAC,QAAM/pB,CAAC,GAACgM,mFAAC,EAAT;AAAY,SAAO,UAASlM,CAAT,EAAWC,CAAX,EAAaU,CAAb,EAAeH,CAAf,EAAiB;AAAC,UAAMF,CAAC,GAACN,CAAC,CAACyY,cAAV;AAAyB,WAAO7F,CAAC,CAAC5S,CAAD,EAAGC,CAAH,CAAD,EAAO2oB,EAAE,CAAC1oB,CAAD,EAAGD,CAAH,EAAKU,CAAL,EAAOH,CAAP,CAAT,EAAmBF,CAAC,CAACkC,CAAF,IAAKtC,CAAC,CAAC,CAAD,CAAzB,EAA6BI,CAAC,CAACc,CAAF,IAAKlB,CAAC,CAAC,CAAD,CAAnC,EAAuCF,CAA9C;AAAgD,GAAlG;AAAmG,CAA1H,EAArM;AAAA,MAAkUkqB,EAAE,GAAC,UAAShqB,CAAT,EAAWF,CAAX,EAAaC,CAAb,EAAe;AAAC2S,EAAAA,CAAC,CAAC1S,CAAD,EAAGF,CAAH,CAAD;AAAO,QAAMW,CAAC,GAACT,CAAC,CAACuY,cAAV;AAAyB,SAAO9X,CAAC,CAAC6B,CAAF,GAAIvC,CAAC,CAACuC,CAAN,EAAQ7B,CAAC,CAACS,CAAF,GAAInB,CAAC,CAACmB,CAAd,EAAgBT,CAAC,CAACiC,gBAAF,GAAmB3C,CAAC,CAAC2C,gBAArC,EAAsD1C,CAA7D;AAA+D,CAApb;AAAA,MAAqb6nB,EAAE,GAAC,YAAU;AAAC,QAAM7nB,CAAC,GAACgM,mFAAC,EAAT;AAAY,SAAO,UAASlM,CAAT,EAAWC,CAAX,EAAaU,CAAb,EAAeH,CAAf,EAAiBF,CAAjB,EAAmB;AAACA,IAAAA,CAAC,KAAGA,CAAC,GAAC,QAAL,CAAD,EAAgB2B,wEAAC,CAAC/B,CAAD,EAAGS,CAAH,EAAKH,CAAL,CAAjB,EAAyBY,0EAAC,CAAClB,CAAD,EAAGA,CAAH,EAAK,EAAL,CAA1B;AAAmC,UAAMQ,CAAC,GAACR,CAAC,CAAC,CAAD,CAAT;AAAA,UAAac,CAAC,GAACd,CAAC,CAAC,CAAD,CAAhB;;AAAoB,YAAOI,CAAP;AAAU,WAAI,QAAJ;AAAaQ,QAAAA,wEAAC,CAACZ,CAAD,EAAG,CAAH,EAAK,CAAL,CAAD;AAAS;;AAAM,WAAI,MAAJ;AAAWY,QAAAA,wEAAC,CAACZ,CAAD,EAAG,CAACQ,CAAJ,EAAM,CAAN,CAAD;AAAU;;AAAM,WAAI,KAAJ;AAAUI,QAAAA,wEAAC,CAACZ,CAAD,EAAG,CAAH,EAAKc,CAAL,CAAD;AAAS;;AAAM,WAAI,OAAJ;AAAYF,QAAAA,wEAAC,CAACZ,CAAD,EAAGQ,CAAH,EAAK,CAAL,CAAD;AAAS;;AAAM,WAAI,QAAJ;AAAaI,QAAAA,wEAAC,CAACZ,CAAD,EAAG,CAAH,EAAK,CAACc,CAAN,CAAD;AAAU;;AAAM,WAAI,UAAJ;AAAeF,QAAAA,wEAAC,CAACZ,CAAD,EAAG,CAACQ,CAAJ,EAAMM,CAAN,CAAD;AAAU;;AAAM,WAAI,aAAJ;AAAkBF,QAAAA,wEAAC,CAACZ,CAAD,EAAG,CAACQ,CAAJ,EAAM,CAACM,CAAP,CAAD;AAAW;;AAAM,WAAI,WAAJ;AAAgBF,QAAAA,wEAAC,CAACZ,CAAD,EAAGQ,CAAH,EAAKM,CAAL,CAAD;AAAS;;AAAM,WAAI,cAAJ;AAAmBF,QAAAA,wEAAC,CAACZ,CAAD,EAAGQ,CAAH,EAAK,CAACM,CAAN,CAAD;AAAtQ;;AAAgR,WAAO4pB,EAAE,CAAC5qB,CAAD,EAAGC,CAAH,EAAKC,CAAL,CAAF,EAAUF,CAAjB;AAAmB,GAArX;AAAsX,CAA7Y,EAAxb;;AAAw0B,SAASwoB,EAAT,CAAYtoB,CAAZ,EAAcF,CAAd,EAAgBC,CAAhB,EAAkB;AAAC,SAAO2S,CAAC,CAAC1S,CAAD,EAAGF,CAAH,CAAD,EAAOE,CAAC,CAAC2U,QAAF,IAAY5U,CAAnB,EAAqBC,CAA5B;AAA8B;;AAAA,SAAS4mB,EAAT,CAAY5mB,CAAZ,EAAcF,CAAd,EAAgBC,CAAhB,EAAkB;AAAC,SAAO2S,CAAC,CAAC1S,CAAD,EAAGF,CAAH,CAAD,EAAOE,CAAC,CAAC2U,QAAF,GAAW5U,CAAlB,EAAoBC,CAA3B;AAA6B;;AAAA,MAAM0mB,EAAE,GAAC,YAAU;AAAC,QAAM1mB,CAAC,GAACgM,mFAAC,EAAT;AAAY,SAAO,UAASlM,CAAT,EAAWC,CAAX,EAAaU,CAAb,EAAeH,CAAf,EAAiBF,CAAjB,EAAmB;AAAC,WAAOsS,CAAC,CAAC5S,CAAD,EAAGC,CAAH,CAAD,EAAO0/C,KAAK,CAACh/C,CAAD,CAAL,IAAU,MAAIA,CAAd,KAAkB6pB,EAAE,CAACtqB,CAAD,EAAGM,CAAH,EAAKP,CAAL,EAAOK,CAAP,CAAF,EAAYN,CAAC,CAACuY,KAAF,GAAQtY,CAAC,CAACsY,KAAF,GAAQ5X,CAA5B,EAA8BgqB,EAAE,CAACzqB,CAAD,EAAGA,CAAH,EAAKF,CAAL,EAAOM,CAAP,CAAhC,EAA0CsqB,EAAE,CAAC5qB,CAAD,EAAGA,CAAH,EAAKc,wEAAC,CAACZ,CAAD,EAAGA,CAAC,CAAC,CAAD,CAAD,GAAKM,CAAC,CAAC,CAAD,CAAT,EAAaA,CAAC,CAAC,CAAD,CAAD,GAAKN,CAAC,CAAC,CAAD,CAAnB,CAAN,CAA9D,CAAP,EAAqGF,CAA5G;AAA8G,GAAzI;AAA0I,CAAjK,EAAT;;AAA6K,SAASsqB,EAAT,CAAYpqB,CAAZ,EAAcF,CAAd,EAAgBC,CAAhB,EAAkB;AAAC,SAAO2S,CAAC,CAAC1S,CAAD,EAAGF,CAAH,CAAD,EAAOE,CAAC,CAACqY,KAAF,GAAQtY,CAAf,EAAiBC,CAAxB;AAA0B;;AAAA,MAAMqrF,EAAE,GAAC,YAAU;AAAC,QAAMrrF,CAAC,GAACgM,mFAAC,EAAT;AAAY,SAAO,UAASlM,CAAT,EAAWC,CAAX,EAAaU,CAAb,EAAeH,CAAf,EAAiBF,CAAjB,EAAmBI,CAAnB,EAAqB;AAAC,WAAOkS,CAAC,CAAC5S,CAAD,EAAGC,CAAH,CAAD,EAAO0/C,KAAK,CAACh/C,CAAD,CAAL,IAAU,MAAIA,CAAd,KAAkB6pB,EAAE,CAACtqB,CAAD,EAAGI,CAAH,EAAKL,CAAL,EAAOS,CAAP,CAAF,EAAYV,CAAC,CAACuY,KAAF,GAAQtY,CAAC,CAACsY,KAAF,GAAQ5X,CAA5B,EAA8BX,CAAC,CAAC6U,QAAF,IAAYrU,CAA1C,EAA4CmqB,EAAE,CAACzqB,CAAD,EAAGA,CAAH,EAAKF,CAAL,EAAOU,CAAP,CAA9C,EAAwDkqB,EAAE,CAAC5qB,CAAD,EAAGA,CAAH,EAAKc,wEAAC,CAACZ,CAAD,EAAGA,CAAC,CAAC,CAAD,CAAD,GAAKI,CAAC,CAAC,CAAD,CAAT,EAAaA,CAAC,CAAC,CAAD,CAAD,GAAKJ,CAAC,CAAC,CAAD,CAAnB,CAAN,CAA5E,CAAP,EAAmHF,CAA1H;AAA4H,GAAzJ;AAA0J,CAAjL,EAAT;AAAA,MAA6LmqB,EAAE,GAAC,YAAU;AAAC,QAAMjqB,CAAC,GAACgM,mFAAC,EAAT;AAAA,QAAYlM,CAAC,GAACkM,mFAAC,EAAf;AAAkB,SAAO,UAASjM,CAAT,EAAWU,CAAX,EAAaH,CAAb,EAAeF,CAAf,EAAiBI,CAAjB,EAAmBM,CAAnB,EAAqBZ,CAArB,EAAuB;AAAC,WAAO2oB,EAAE,CAAC/oB,CAAD,EAAGgB,CAAH,EAAKZ,CAAL,CAAF,EAAUgoB,wEAAC,CAACloB,CAAD,EAAGQ,CAAH,EAAKV,CAAL,CAAX,EAAmBM,CAAC,GAACirF,EAAE,CAACtrF,CAAD,EAAGU,CAAH,EAAKH,CAAL,EAAOF,CAAP,EAASJ,CAAT,EAAWc,CAAX,CAAH,GAAiB4lB,EAAE,CAAC3mB,CAAD,EAAGU,CAAH,EAAKH,CAAL,EAAON,CAAP,EAASc,CAAT,CAA9C;AAA0D,GAAzF;AAA0F,CAAvH,EAAhM;AAAA,MAA0TwpB,EAAE,GAAC,YAAU;AAAC,QAAMtqB,CAAC,GAACgB,oFAAC,EAAT;AAAY,SAAO,UAASlB,CAAT,EAAWC,CAAX,EAAaU,CAAb,EAAeH,CAAf,EAAiB;AAAC,WAAO+K,mFAAC,CAACvL,CAAD,EAAGC,CAAH,EAAK6oB,EAAE,CAAC5oB,CAAD,EAAGS,CAAH,EAAKH,CAAL,EAAO,CAAP,CAAP,CAAR;AAA0B,GAAnD;AAAoD,CAA3E,EAA7T;AAAA,MAA2YmqB,EAAE,GAAC,YAAU;AAAC,QAAMzqB,CAAC,GAACgB,oFAAC,EAAT;AAAY,SAAO,UAASlB,CAAT,EAAWC,CAAX,EAAaU,CAAb,EAAeH,CAAf,EAAiB;AAAC,WAAO+K,mFAAC,CAACvL,CAAD,EAAGC,CAAH,EAAKopB,EAAE,CAACnpB,CAAD,EAAGS,CAAH,EAAKH,CAAL,EAAO,CAAP,CAAP,CAAR;AAA0B,GAAnD;AAAoD,CAA3E,EAA9Y;AAAA,MAA4doqB,EAAE,GAAC,YAAU;AAAC,QAAM1qB,CAAC,GAACgM,mFAAC,EAAT;AAAA,QAAYlM,CAAC,GAACkB,oFAAC,EAAf;AAAkB,SAAO,UAASjB,CAAT,EAAWU,CAAX,EAAaH,CAAb,EAAe;AAACoS,IAAAA,CAAC,CAAC3S,CAAD,EAAGU,CAAH,CAAD;AAAO,UAAML,CAAC,GAACuoB,EAAE,CAACloB,CAAD,CAAV;AAAA,UAAcD,CAAC,GAACT,CAAC,CAACwY,cAAlB;AAAiC,WAAO5X,kFAAC,CAACb,CAAD,EAAGgpB,EAAE,CAACroB,CAAD,CAAL,CAAD,EAAWa,2EAAC,CAACxB,CAAD,EAAGA,CAAH,EAAKoC,uFAAC,CAAC9B,CAAD,EAAGA,CAAH,CAAN,CAAZ,EAAyBiL,mFAAC,CAACrL,CAAD,EAAGM,CAAH,EAAKR,CAAL,CAA1B,EAAkCU,CAAC,CAAC8B,CAAF,IAAKtC,CAAC,CAAC,CAAD,CAAxC,EAA4CQ,CAAC,CAACU,CAAF,IAAKlB,CAAC,CAAC,CAAD,CAAlD,EAAsDD,CAA7D;AAA+D,GAA9H;AAA+H,CAA5J,EAA/d;;;;;;;;;;;;;;;;;;;;;;;ACJz9P;AACA;AACA;AACA;AACoY,oBAAoB,0DAA0D,6EAAC,QAAQ,8EAAC,MAAM,qBAAqB,mFAAC,IAAI,QAAQ,mDAAC,MAAM,YAAY,+FAAC,0DAA0D,QAAQ,mFAAC,KAAK,kFAAC,KAAK,kFAAC,GAA6D;;;;;;;;;;;;;;;;;;;;;ACJpqB;AACA;AACA;AACA;AACA,IAAID,CAAJ;AAAA,IAAME,CAAC,GAAC,IAAR;AAAa,MAAMS,CAAC,GAAC,IAAIgS,GAAJ,EAAR;;SAA+BjS;;;;;yMAAf,WAAiBA,CAAjB,EAAmB;AAAC,YAAMR,CAAN,KAAU,QAAMF,CAAN,KAAUA,CAAC,GAAC,0PAAZ,GAAgEE,CAAC,SAAOF,CAAlF;AAAqF,UAAMa,CAAC,GAACH,CAAC,CAAC8lF,IAAV;AAAe,QAAIvmF,CAAC,GAACU,CAAC,CAACmZ,GAAF,CAAMjZ,CAAN,CAAN;AAAeZ,IAAAA,CAAC,KAAGA,CAAC,GAAC,IAAIC,CAAC,CAACsI,OAAN,CAAc;AAACg+E,MAAAA,IAAI,EAAC3lF;AAAN,KAAd,CAAF,EAA0BF,CAAC,CAAC+E,GAAF,CAAM7E,CAAN,EAAQZ,CAAR,CAA7B,CAAD;AAA0C,UAAMK,CAAC,GAAC,CAAC,CAACO,CAAC,CAACmsF,MAAF,CAASC,UAAT,CAAoBC,gBAApB,CAAqCngD,YAArC,CAAkDogD,qBAA5D;AAAkF,WAAO,MAAMltF,CAAC,CAACmtF,cAAF,CAAiB9sF,CAAjB,CAAN,EAA0BL,CAAC,CAACotF,mBAAF,CAAsB3sF,CAAtB,CAAjC;AAA0D;;;;AAAA,SAASG,CAAT,CAAWb,CAAX,EAAa;AAAC,SAAOW,CAAC,CAACmZ,GAAF,CAAM9Z,CAAN,CAAP;AAAgB;;AAAA,SAASC,CAAT,CAAWS,CAAX,EAAa;AAAC,QAAMG,CAAC,GAACH,CAAC,CAAC8lF,IAAV;AAAA,QAAevmF,CAAC,GAACU,CAAC,CAACmZ,GAAF,CAAMjZ,CAAN,CAAjB;;AAA0B,MAAGZ,CAAH,EAAK;AAACA,IAAAA,CAAC,CAACqtF,sBAAF,CAAyB5sF,CAAzB,IAA4B,CAA5B,KAAgCC,CAAC,CAACiwB,MAAF,CAAS/vB,CAAT,GAAY,MAAIF,CAAC,CAAC60B,IAAN,KAAax1B,CAAC,GAAC,IAAF,EAAOE,CAAC,GAAC,IAAtB,CAA5C;AAAyE;AAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACJhf;AACA;AACA;AACA;AAC2O,gBAAgB,mCAAmC,kBAAkB,uCAAuC,kBAAkB,uCAAuC,cAAc,wGAAwG,kCAAkC,gBAAgB,yIAAyI,OAAO,mDAAC,YAAY,kBAAkB,OAAO,QAAQ,mDAAC,MAAM,mDAAC,wCAAwC,mDAAC,MAAM,kBAAkB,8BAA8B,mDAAC,UAAU,mDAAC,UAAU,mDAAC,QAAQ,mDAAC,QAAQ,mDAAC,MAAM,mDAAC,MAAM,wBAAwB,kBAAkB,yBAAyB,mBAAmB,mFAAC,IAAI,QAAQ,mDAAC,MAAM,mDAAC,MAAM,mDAAC,YAAY,wBAAwB,6FAA6F,OAAO,mDAAC,QAAQ,mDAAC,QAAQ,mDAAC,QAAQ,OAAO,mDAAC,UAAU,mBAAmB,mFAAC,KAAK,mFAAC,IAAI,QAAQ,mDAAC,MAAM,mDAAC,MAAM,mDAAC,YAAY,wBAAwB,sFAAsF,oBAAoB,mDAAC,YAAY,mDAAC,QAAQ,mDAAC,SAAS,8CAA8C,mDAAC,QAAQ,yCAAyC,mDAAC,QAAQ,mDAAC,QAAQ,mDAAC,UAAU,SAAS,OAAO,mDAAC,UAAU,mDAAC,QAAQ,mDAAC,QAAQ,kBAAkB,EAAE,mDAAC,QAAQ,mDAAC,MAAM,QAAQ,+DAAC,CAAC,mDAAC,OAAO,MAAM,QAAQ,mDAAC,QAAQ,GAAG,mDAAC,iBAAiB,SAAS,cAAc,iBAAiB,WAAW,6BAA6B,iCAAiC,QAAQ,KAAK,UAAU,KAAK,0CAA0C,kCAAkC,oBAAoB,mDAAC,QAAQ,mDAAC,QAAQ,mDAAC,QAAQ,mDAAC,YAAY,mDAAC,MAAM,gBAAgB,GAAG,mDAAC,sBAAsB,YAAY,WAAW,IAAI,mDAAC,WAAW,mDAAC,kBAAkB,QAAQ,mFAAC,KAAK,mFAAC,KAAK,mFAAC,KAAK,mFAAC,KAAK,mFAAC,GAA4P;;;;;;;;;;;;;;;;ACJt0E;AACA;AACA;AACA;AACA,gBAAyC;;;;;;;;;;;;;;;;;;;;;;;;;ACJzC;AACA;AACA;AACA;AACmZ,oBAAoB,yDAAC,CAAC,eAAe,gDAAgD,2DAAC,8BAA8B,2DAAC,qBAAqB,6DAAC,oCAAoC,yBAAyB,GAAG,EAAE,2DAAC,EAAE,UAAU,oGAAoG,+CAA+C,6BAA6B,oDAAoD,kCAAkC,gBAAgB,sCAAsC,eAAe,iCAAiC,gCAAgC,uHAAuH,uDAAC,EAAE,sFAAC,EAAE,iBAAiB,8BAA8B,uDAAC,EAAE,sFAAC,EAAE,YAAY,wCAAwC,uDAAC,EAAE,sFAAC,EAAE,YAAY,6CAA6C,uDAAC,EAAE,sFAAC,EAAE,YAAY,iCAAiC,uDAAC,EAAE,sFAAC,EAAE,yBAAyB,kCAAkC,uDAAC,EAAE,sFAAC,+BAA+B,UAA+B;;;;;;;;;;;;;;;;;;;;;;;;ACJp9C;AACA;AACA;AACA;AAC+W,SAAS,iBAAiB,YAAY,oDAAoD,gGAAgG,SAAS,4EAA4E,mBAAmB,u0BAAu0B,mBAAmB,YAAY,oDAAoD,gGAAgG,SAAS,4EAA4E,mBAAmB,g2BAAg2B,cAAc,YAAY,+CAA+C,mCAAmC,SAAS,0CAA0C,mBAAmB,wFAAwF,IAAI,4CAA4C,cAAc,UAAU,+DAA+D,gBAAgB,gDAAgD,YAAY,sBAAsB,kBAAkB,0GAA0G,aAAa,gBAAgB,6DAAC,mEAAmE,2DAAC,GAAG,UAAU,+CAA+C,mBAAmB,uCAAuC,UAAU,iCAAiC,0EAA0E,yBAAyB,KAAK,EAAE,oBAAoB,0BAA0B,QAAQ,kEAAS,KAAK,kEAAS,GAAG,WAAW,YAAY,iCAAiC,gDAAgD,EAAE,sFAAsF,qCAAqC,kEAAS,IAAI,kEAAS,KAAK,4BAA4B,uBAAuB,8EAA8E,0BAA0B,uBAAuB,aAAa,MAAM,8DAA8D,OAAO,uDAAC,EAAE,sFAAC,oCAAoC,uDAAC,EAAE,sFAAC,sCAAsC,uDAAC,EAAE,sFAAC,0CAA0C,uDAAC,EAAE,sFAAC,6CAA6C,uDAAC,EAAE,sFAAC,uCAAqE;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACJn4I;AACA;AACA;AACA;AACglB,cAAc,cAAc,mFAAmF,wEAAwE,cAAc,gEAAgE,cAAc,sCAAsC,0BAA0B,iCAAiC,sBAAsB,kBAAkB,4BAA4B,cAAc,+QAA+Q,6DAAC,wBAAwB,MAAM,UAAU,MAAM,mCAAmC,GAAG,6DAAC,4BAA4B,MAAM,UAAU,MAAM,kDAAkD,KAAK,aAAa,iBAAiB,6DAAC,kDAAkD,2DAAC,2GAA2G,UAAU,yBAAyB,4DAAC,+BAA+B,gBAAgB,oCAAoC,iBAAiB,iCAAiC,uDAAC,IAAI,0BAA0B,iEAAW,8CAA8C,EAAE,2BAA2B,6SAA6S,2DAAC,8OAA8O,6BAA6B,sCAAsC,qCAAqC,2DAAC,kDAAkD,sCAAsC,gFAAgF,sCAAsC,0HAA0H,YAAY,gEAAC,CAAC,gEAAgE,6DAAC,0BAA0B,gEAAgE,iEAAC,EAAE,kCAAkC,gCAAgC,2DAAC,gCAAgC,8EAA8E,cAAc,8CAA8C,8BAA8B,WAAW,+BAA+B,OAAO,qBAAqB,QAAQ,sBAAsB,uBAAuB,sBAAsB,2DAA2D,uBAAuB,sBAAsB,2DAA2D,qBAAqB,+EAA+E,6DAAC,sBAAsB,wBAAwB,EAAE,2DAAC,2BAA2B,iBAAiB,gFAAgF,kBAAkB,uBAAuB,mCAAmC,mDAAC,uBAAuB,kBAAkB,GAAG,iEAAC,EAAE,YAAY,yCAAyC,0GAA0G,SAAS,yBAAyB,mGAAmG,iDAAiD,WAAW,gEAAgE,oEAAoE,iCAAiC,6KAA6K,wCAAwC,MAAM,YAAY,iDAAiD,oFAAoF,wBAAwB,OAAO,uDAAC,EAAE,sFAAC,kCAAkC,uDAAC,EAAE,sFAAC,EAAE,YAAY,+BAA+B,uDAAC,EAAE,sFAAC,EAAE,YAAY,gCAAgC,uDAAC,EAAE,sFAAC,yCAAyC,uDAAC,EAAE,sFAAC,EAAE,KAAK,gEAAC,CAAC,iCAAiC,uDAAC,EAAE,sFAAC,EAAE,YAAY,kCAAkC,uDAAC,EAAE,sFAAC,EAAE,YAAY,kCAAkC,uDAAC,EAAE,sFAAC,EAAE,YAAY,8BAA8B,uDAAC,EAAE,sFAAC,EAAE,uBAAuB,4BAA4B,uDAAC,EAAE,sFAAC,EAAE,YAAY,iCAAiC,uDAAC,EAAE,sFAAC,EAAE,YAAY,mCAAmC,uDAAC,EAAE,sFAAC,6BAA6B,uDAAC,EAAE,sFAAC,EAAE,YAAY,qCAAqC,uDAAC,EAAE,sFAAC,EAAE,YAAY,+BAA+B,uDAAC,EAAE,sFAAC,4CAA4C,uDAAC,EAAE,uFAAC,mCAA6D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACJ5qL;AACA;AACA;AACA;AACA;AAA2C;AAAmC;AAAgC;AAAiC;AAA8C;AAA+C;AAAkI;AAA6E;AAAiD;AAA0E;AAAuB;AAA6B;AAA0E;AAAqD;AAAqE;;AAA2D,SAASmS,CAAT,CAAWrS,CAAX,EAAa;AAAC,SAAM,oBAAmBA,CAAzB;AAA2B;;AAAA,SAASuC,CAAT,CAAWvC,CAAX,EAAa;AAAC,SAAO,QAAMA,CAAN,IAAS,YAAU,OAAOA,CAA1B,IAA6B,gBAAeA,CAAnD;AAAqD;;AAAA,MAAM8B,CAAN,CAAO;AAACW,EAAAA,WAAW,CAACzC,CAAD,EAAGC,CAAH,EAAKC,CAAL,EAAO;AAAC,SAAKsJ,KAAL,GAAWxJ,CAAX,EAAa,KAAKwmF,IAAL,GAAUvmF,CAAvB,EAAyB,KAAK4tF,iBAAL,GAAuB3tF,CAAhD,EAAkD,KAAK4tF,WAAL,GAAiB,IAAIzxE,eAAJ,EAAnE,EAAuF,KAAK0xE,SAAL,GAAevtF,qEAAC,EAAvG,EAA0G,KAAKwtF,QAAL,GAAc,CAAC,CAAzH,EAA2H,KAAKpzE,IAAL,GAAU,CAAC,CAAtI,EAAwI,KAAK0B,OAAL,GAAa,KAAKyxE,SAAL,CAAezxE,OAApK,EAA4Klb,8DAAC,CAAC,KAAK0sF,WAAL,CAAiBpmF,MAAlB,EAA0B,MAAI;AAAC,YAAMzH,CAAC,GAAC,IAAIS,sDAAJ,CAAM,4BAAN,EAAmC,8BAAnC,EAAkE;AAAC8I,QAAAA,KAAK,EAACxJ;AAAP,OAAlE,CAAR;;AAAqF,WAAK+tF,SAAL,CAAe35E,MAAf,CAAsBnU,CAAtB;AAAyB,KAA7I,CAA7K;AAA6T;;AAAAguF,EAAAA,UAAU,CAACjuF,CAAD,EAAG;AAAC,QAAG,CAAC,KAAK4a,IAAN,IAAY,CAAC,KAAKszE,SAAlB,IAA6B,CAAC77E,CAAC,CAAC,KAAK67E,SAAN,CAAlC,EAAmD,OAAO,IAAP;AAAY,UAAMjuF,CAAC,GAAC,KAAKuJ,KAAL,CAAWjG,IAAnB;AAAA,UAAwB7C,CAAC,GAAC,KAAKotF,WAAL,CAAiBpmF,MAA3C;;AAAkD,SAAI,IAAIxH,CAAC,GAAC,CAAV,EAAYA,CAAC,GAACF,CAAC,CAAC6N,MAAhB,EAAuB3N,CAAC,EAAxB,EAA2B;AAAC,YAAME,CAAC,GAACJ,CAAC,CAACE,CAAD,CAAT;AAAa,UAAGE,CAAC,CAACmD,IAAF,KAAStD,CAAZ,EAAc;AAAS,YAAMK,CAAC,GAAC,KAAK4tF,SAAL,CAAeC,cAAf,CAA8B/tF,CAA9B,EAAgC;AAACsH,QAAAA,MAAM,EAAChH;AAAR,OAAhC,CAAR;;AAAoD,UAAGJ,CAAH,EAAK;AAACN,QAAAA,CAAC,CAAC8hB,MAAF,CAAS5hB,CAAT,EAAW,CAAX,GAAc,KAAKsJ,KAAL,GAAWpJ,CAAzB;AAA2B,cAAMH,CAAC,GAAC,KAAKiuF,SAAb;AAAA,cAAuBxtF,CAAC,GAACT,CAAC,CAACumF,IAA3B;AAAgC,eAAO,KAAKlqE,OAAL,GAAajX,OAAO,CAACia,IAAR,CAAa,CAAChf,CAAC,CAAC0F,IAAF,CAAQ,OAAK1E,qEAAC,CAAC,KAAKwsF,WAAL,CAAiBpmF,MAAlB,CAAD,EAA2BtH,CAAC,CAAC84C,IAAF,CAAO,mBAAP,EAA2B;AAACstC,UAAAA,IAAI,EAAC9lF,CAAN;AAAQwtF,UAAAA,SAAS,EAACjuF;AAAlB,SAA3B,CAA3B,EAA4ES,CAAC,CAACw4C,IAAF,CAAO,mBAAP,EAA2B;AAACstC,UAAAA,IAAI,EAAC9lF,CAAN;AAAQwtF,UAAAA,SAAS,EAACjuF;AAAlB,SAA3B,CAA5E,EAA6HG,CAAC,CAAC84C,IAAF,CAAO,kBAAP,EAA0B;AAACstC,UAAAA,IAAI,EAAC9lF,CAAN;AAAQwtF,UAAAA,SAAS,EAACjuF;AAAlB,SAA1B,CAA7H,EAA6KS,CAAC,CAACw4C,IAAF,CAAO,kBAAP,EAA0B;AAACstC,UAAAA,IAAI,EAAC9lF,CAAN;AAAQwtF,UAAAA,SAAS,EAACjuF;AAAlB,SAA1B,CAA7K,EAA6NA,CAAlO,CAAR,CAAD,EAAgP,IAAIoF,OAAJ,CAAa,CAACrF,CAAD,EAAGC,CAAH,KAAOmB,8DAAC,CAAC,KAAK0sF,WAAL,CAAiBpmF,MAAlB,EAA0B,MAAIzH,CAAC,CAACY,uEAAC,EAAF,CAA/B,CAArB,CAAhP,CAAb,CAAb,EAA0U,KAAKyb,OAAtV;AAA8V;AAAC;;AAAA,WAAO,IAAP;AAAY;;AAAAlY,EAAAA,OAAO,GAAE;AAAC,SAAK0pF,WAAL,CAAiB3xE,KAAjB;;AAAyB,UAAK;AAAC+xE,MAAAA,SAAS,EAACluF;AAAX,QAAc,IAAnB;;AAAwB,QAAGA,CAAH,EAAK;AAAC,YAAK;AAACwJ,QAAAA,KAAK,EAACvJ,CAAP;AAASumF,QAAAA,IAAI,EAAC9lF;AAAd,UAAiB,IAAtB;AAA2BT,MAAAA,CAAC,CAACi5C,IAAF,CAAO,mBAAP,EAA2B;AAACstC,QAAAA,IAAI,EAAC9lF,CAAN;AAAQwtF,QAAAA,SAAS,EAACluF;AAAlB,OAA3B,GAAiDU,CAAC,CAACw4C,IAAF,CAAO,mBAAP,EAA2B;AAAC1vC,QAAAA,KAAK,EAACvJ,CAAP;AAASiuF,QAAAA,SAAS,EAACluF;AAAnB,OAA3B,CAAjD;AAAmG;;AAAA,SAAK4a,IAAL,GAAU,CAAC,CAAX,EAAa,KAAKpR,KAAL,GAAW,IAAxB,EAA6B,KAAK0kF,SAAL,GAAe,IAA5C,EAAiD,KAAK1H,IAAL,GAAU,IAA3D,EAAgE,KAAKqH,iBAAL,GAAuB,IAAvF,EAA4F,KAAKO,IAAL,GAAU,IAAtG;AAA2G;;AAAMxsE,EAAAA,KAAK,GAAE;AAAA;;AAAA;AAAC,UAAG,KAAI,CAACosE,QAAR,EAAiB;AAAO,WAAI,CAACA,QAAL,GAAc,CAAC,CAAf;AAAiB,YAAK;AAACF,QAAAA,WAAW,EAAC;AAACpmF,UAAAA,MAAM,EAAC1H;AAAR,SAAb;AAAwBwJ,QAAAA,KAAK,EAACvJ,CAA9B;AAAgCumF,QAAAA,IAAI,EAACtmF;AAArC,UAAwC,KAA7C;AAAkD,WAAI,CAACkuF,IAAL,GAAUluF,CAAC,CAACqF,GAAZ;;AAAgB,UAAG;AAAC,YAAI/E,CAAJ,EAAMK,CAAN;AAAQ,YAAG,MAAMZ,CAAC,CAACiF,IAAF,CAAO;AAACwC,UAAAA,MAAM,EAAC1H;AAAR,SAAP,CAAN,EAAyBC,CAAC,CAACouF,iBAAF,WAA2BpuF,CAAC,CAACouF,iBAAF,CAAoB;AAAC3mF,UAAAA,MAAM,EAAC1H;AAAR,SAApB,CAA3B,CAAzB,EAAoF+I,CAAC,CAAC9I,CAAD,CAAxF,EAA4FO,CAAC,SAAOP,CAAC,CAACquF,eAAF,CAAkBpuF,CAAlB,EAAoB;AAACwH,UAAAA,MAAM,EAAC1H;AAAR,SAApB,CAAR,CAA5F,KAAwI;AAAC,cAAG,CAAC,KAAI,CAAC6tF,iBAAL,CAAuBU,kBAAvB,CAA0CtuF,CAA1C,CAAJ,EAAiD,MAAM,IAAIS,sDAAJ,CAAM,0BAAN,EAAiC,uCAAjC,CAAN;AAAgF,gBAAMN,CAAC,SAAO,KAAI,CAACytF,iBAAL,CAAuBW,eAAvB,CAAuCvuF,CAAvC,CAAd;AAAwDqB,UAAAA,qEAAC,CAACtB,CAAD,CAAD,EAAKQ,CAAC,GAAC,aAAYJ,CAAZ,GAAc,IAAIA,CAAC,CAACoI,OAAN,CAAc;AAACgB,YAAAA,KAAK,EAACvJ,CAAP;AAASumF,YAAAA,IAAI,EAACtmF;AAAd,WAAd,CAAd,GAA8C,IAAIE,CAAJ,CAAM;AAACoJ,YAAAA,KAAK,EAACvJ,CAAP;AAASumF,YAAAA,IAAI,EAACtmF;AAAd,WAAN,CAArD;AAA6E;;AAAA,cAAMS,CAAC,GAAC,MAAI;AAACE,UAAAA,CAAC,GAACP,2DAAC,CAACO,CAAD,CAAH,EAAOL,CAAC,CAAC63C,SAAF,IAAa73C,CAAC,CAAC4D,OAAF,EAApB,EAAgC5D,CAAC,CAACgJ,KAAF,GAAQ,IAAxC,EAA6ChJ,CAAC,CAAC6C,MAAF,GAAS,IAAtD,EAA2D7C,CAAC,CAACgmF,IAAF,GAAO,IAAlE,EAAuE,KAAI,CAAC5rE,IAAL,GAAU,CAAC,CAAlF;AAAoF,SAAjG;;AAAkG/Z,QAAAA,CAAC,GAACO,8DAAC,CAACpB,CAAD,EAAGW,CAAH,CAAH,EAASW,qEAAC,CAACtB,CAAD,CAAV;;AAAc,YAAG;AAAC,gBAAMQ,CAAC,CAACsD,IAAF,EAAN;AAAe,SAAnB,CAAmB,OAAM1D,CAAN,EAAQ;AAAC,gBAAMO,CAAC,IAAGP,CAAV;AAAY;;AAAA,cAAMY,CAAC,GAAC,KAAI,CAACotF,IAAL,EAAW72E,SAAX,EAAsBua,QAAtB,CAA+B7xB,CAA/B,CAAR;AAA0C,YAAG,CAACe,CAAJ,EAAM,OAAOL,CAAC,IAAG,KAAK,KAAI,CAACotF,SAAL,CAAe35E,MAAf,CAAsB,IAAI1T,sDAAJ,CAAM,6BAAN,EAAoC,yCAApC,EAA8E;AAAC8I,UAAAA,KAAK,EAACvJ;AAAP,SAA9E,CAAtB,CAAhB;AAAgI,aAAI,CAACiuF,SAAL,GAAe1tF,CAAf,EAAiBP,CAAC,CAACi5C,IAAF,CAAO,kBAAP,EAA0B;AAACstC,UAAAA,IAAI,EAACtmF,CAAN;AAAQguF,UAAAA,SAAS,EAAC1tF;AAAlB,SAA1B,CAAjB,EAAiEN,CAAC,CAACg5C,IAAF,CAAO,kBAAP,EAA0B;AAAC1vC,UAAAA,KAAK,EAACvJ,CAAP;AAASiuF,UAAAA,SAAS,EAAC1tF;AAAnB,SAA1B,CAAjE,EAAkH,KAAI,CAACoa,IAAL,GAAU,CAAC,CAA7H,EAA+H,KAAI,CAACmzE,SAAL,CAAezoF,OAAf,CAAuB9E,CAAvB,CAA/H;AAAyJ,OAA53B,CAA43B,OAAMJ,CAAN,EAAQ;AAACH,QAAAA,CAAC,CAACi5C,IAAF,CAAO,wBAAP,EAAgC;AAACstC,UAAAA,IAAI,EAACtmF,CAAN;AAAQuD,UAAAA,KAAK,EAACrD;AAAd,SAAhC,GAAkDF,CAAC,CAACg5C,IAAF,CAAO,wBAAP,EAAgC;AAAC1vC,UAAAA,KAAK,EAACvJ,CAAP;AAASwD,UAAAA,KAAK,EAACrD;AAAf,SAAhC,CAAlD,EAAqG,KAAI,CAACwa,IAAL,GAAU,CAAC,CAAhH,EAAkH,KAAI,CAACmzE,SAAL,CAAe35E,MAAf,CAAsB,IAAI1T,sDAAJ,CAAM,wBAAN,EAA+B,2BAA/B,EAA2D;AAAC8I,UAAAA,KAAK,EAACvJ,CAAP;AAASwD,UAAAA,KAAK,EAACrD;AAAf,SAA3D,CAAtB,CAAlH;AAAuN;AAAxsC;AAAysC;;AAAh/E;;AAAi/E,IAAI4G,CAAC,GAAC,cAAc/G,yDAAd,CAAe;AAACwC,EAAAA,WAAW,CAACzC,CAAD,EAAG;AAAC,UAAMA,CAAN,GAAS,KAAKyuF,sBAAL,GAA4B,IAAI97E,GAAJ,EAArC,EAA6C,KAAK+7E,iBAAL,GAAuB,IAAI/7E,GAAJ,EAApE,EAA4E,KAAKg8E,sBAAL,GAA4B,IAAI5uF,8EAAJ,EAAxG,EAA8G,KAAK6uF,cAAL,GAAoB,CAAC,CAAnI,EAAqI,KAAKC,wBAAL,GAA8B,MAAI;AAAC,YAAM7uF,CAAC,GAAC,KAAKwmF,IAAL,CAAUjhF,GAAV,EAAegS,SAAvB;AAAiC,UAAGvX,CAAH,EAAK,KAAI,MAAMC,CAAV,IAAeD,CAAf,EAAiB,KAAK6tF,iBAAL,CAAuBU,kBAAvB,CAA0CtuF,CAA1C,KAA8C,KAAK4tF,iBAAL,CAAuBW,eAAvB,CAAuCvuF,CAAvC,CAA9C;AAAwF,KAAvT,EAAwT,KAAK6uF,WAAL,GAAiB,MAAI,KAAKz2C,SAAL,GAAehzC,OAAO,CAAC+O,MAAR,EAAf,IAAiC,QAAM,KAAK26E,YAAX,KAA0B,KAAKA,YAAL,GAAkBvuF,qEAAC,EAAnB,EAAsB,KAAKuuF,YAAL,CAAkBzyE,OAAlB,CAA0BvY,KAA1B,CAAiC,MAAI,CAAE,CAAvC,CAAhD,GAA2F,KAAKyZ,aAAL,CAAmB,YAAnB,CAA3F,EAA4H,KAAK9Z,UAAL,CAAgBhC,6DAAC,CAAC,KAAKstF,OAAN,CAAjB,EAAgC,YAAhC,CAA5H,EAA0K,KAAKD,YAAL,CAAkBzyE,OAA7N,CAA7U,EAAmjB,KAAK0yE,OAAL,GAAa,MAAI;AAAC,UAAG,KAAK32C,SAAR,EAAkB;AAAO,YAAMr4C,CAAC,GAAC,KAAKwmF,IAAL,CAAUjhF,GAAlB;AAAsB,UAAG,KAAK6oF,IAAL,KAAYpuF,CAAZ,KAAgB,KAAK4Z,KAAL,IAAa,KAAKw0E,IAAL,GAAUpuF,CAAvC,GAA0C,QAAM,KAAK+uF,YAAxD,EAAqE,OAAO,KAAK,KAAKhuB,YAAL,CAAkB,UAAlB,CAAZ;AAA0C,WAAKvjD,aAAL,CAAmB,YAAnB,GAAiC,KAAKA,aAAL,CAAmB,mBAAnB,CAAjC;;AAAyE,YAAMvd,CAAC,GAAC,IAAI2M,GAAJ,EAAR;AAAA,YAAgBlM,CAAC,GAAC,EAAlB;AAAA,YAAqBR,CAAC,GAAC,KAAKsmF,IAAL,CAAUxuE,KAAjC;AAAA,YAAuC5X,CAAC,GAACJ,CAAC,IAAE;AAAC,YAAG,QAAMA,CAAT,EAAW,KAAI,MAAMM,CAAV,IAAeN,CAAf,EAAiB,IAAGM,CAAH,EAAK;AAACL,UAAAA,CAAC,CAAC4hC,GAAF,CAAMvhC,CAAN;;AAAS,gBAAMN,CAAC,GAAC,KAAKyuF,sBAAL,CAA4B30E,GAA5B,CAAgCxZ,CAAhC,CAAR;;AAA2CN,UAAAA,CAAC,IAAEE,CAAH,GAAKF,CAAC,CAAC4hB,KAAF,EAAL,GAAe5hB,CAAC,IAAE,KAAK0uF,iBAAL,CAAuBr/E,GAAvB,CAA2B/O,CAA3B,CAAH,IAAkCI,CAAC,CAACoE,IAAF,CAAOxE,CAAP,CAAjD,EAA2D,YAAWA,CAAX,IAAcA,CAAC,CAAC6I,MAAhB,IAAwB/I,CAAC,CAACE,CAAC,CAAC6I,MAAH,CAApF;AAA+F;AAAC,OAAnO;;AAAoO,WAAI,MAAM3I,CAAV,IAAe,KAAKyuF,oBAApB,EAAyC7uF,CAAC,CAACoB,kEAAC,CAAC,IAAD,EAAMhB,CAAN,CAAF,CAAD;;AAAa,WAAI,MAAK,CAACA,CAAD,EAAGK,CAAH,CAAT,IAAiB,KAAK4tF,sBAAtB,EAA6C,IAAG,CAACxuF,CAAC,CAACoP,GAAF,CAAM7O,CAAN,CAAJ,EAAa;AAAC,aAAKiuF,sBAAL,CAA4B79D,MAA5B,CAAmC/vB,CAAC,CAAC2I,KAArC;;AAA4C,cAAMxJ,CAAC,GAACa,CAAC,CAACotF,UAAF,CAAavtF,CAAb,CAAR;AAAwBV,QAAAA,CAAC,IAAE,KAAK+gE,YAAL,CAAkB,UAAlB,GAA8B,KAAK2tB,iBAAL,CAAuBhpF,GAAvB,CAA2B7E,CAAC,CAAC2I,KAA7B,EAAmC3I,CAAnC,CAA9B,EAAoEb,CAAC,CAACgG,IAAF,CAAQ,MAAI;AAAC,eAAK+6D,YAAL,CAAkB,UAAlB,GAA8B,KAAK2tB,iBAAL,CAAuB99D,MAAvB,CAA8B/vB,CAAC,CAAC2I,KAAhC,CAA9B,EAAqE,KAAKilF,sBAAL,CAA4B/oF,GAA5B,CAAgC7E,CAAC,CAAC2I,KAAlC,EAAwC3I,CAAxC,CAArE,EAAgH,KAAKiuF,WAAL,EAAhH;AAAmI,SAAhJ,EAAmJ/qF,KAAnJ,CAA0J,MAAI;AAAC,eAAKg9D,YAAL,CAAkB,UAAlB,GAA8B,KAAK2tB,iBAAL,CAAuB99D,MAAvB,CAA8B/vB,CAAC,CAAC2I,KAAhC,CAA9B,EAAqE3I,CAAC,CAACuD,OAAF,EAArE,EAAiF,KAAK0qF,WAAL,EAAjF;AAAoG,SAAnQ,CAAtE,IAA6UjuF,CAAC,CAACuD,OAAF,EAA9U;AAA0V;;AAAA,WAAI,MAAK,CAAC5D,CAAD,EAAGK,CAAH,CAAT,IAAiB,KAAK6tF,iBAAtB,EAAwCzuF,CAAC,CAACoP,GAAF,CAAM7O,CAAN,MAAW,KAAKugE,YAAL,CAAkB,UAAlB,GAA8B,KAAK2tB,iBAAL,CAAuB99D,MAAvB,CAA8B/vB,CAAC,CAAC2I,KAAhC,CAA9B,EAAqE3I,CAAC,CAACuD,OAAF,EAAhF;;AAA6F,WAAI,MAAM5D,CAAV,IAAeE,CAAf,EAAiB,KAAKwuF,gBAAL,CAAsB1uF,CAAtB;;AAAyB,WAAK2uF,mBAAL;;AAA2B,YAAM7uF,CAAC,GAAC,CAACN,CAAC,EAAEgW,MAAH,EAAW7M,MAAZ,EAAmBnJ,CAAC,EAAEiW,OAAH,EAAY9S,UAA/B,EAA0CnD,CAAC,EAAEiW,OAAH,EAAY7S,eAAtD,EAAsEpD,CAAC,EAAEmJ,MAAzE,EAAiFxC,MAAjF,CAAyF3G,CAAC,IAAE,CAAC,CAACA,CAA9F,CAAR;AAA0GC,MAAAA,CAAC,CAAC0E,OAAF,CAAW3E,CAAC,IAAE,YAAWA,CAAX,IAAcM,CAAC,CAACwE,IAAF,CAAO9E,CAAC,CAACmJ,MAAT,CAA5B,GAA+C,KAAKzF,UAAL,CAAgBpD,CAAC,CAACiF,GAAF,CAAOvF,CAAC,IAAE,KAAK2uF,sBAAL,CAA4BS,qBAA5B,CAAmD,MAAIpvF,CAAvD,EAA0D,KAAK8uF,WAA/D,CAAV,CAAhB,EAAwG,mBAAxG,CAA/C,EAA4K,KAAKC,YAAL,CAAkBzpF,OAAlB,EAA5K,EAAwM,KAAKypF,YAAL,GAAkB,IAA1N;AAA+N,KAAljE;AAAmjE;;AAAAlrF,EAAAA,UAAU,GAAE;AAAC,SAAKH,UAAL,CAAgB,CAAC1C,0DAAC,CAAE,MAAI,KAAKwlF,IAAL,EAAWjhF,GAAX,EAAgBgS,SAAtB,EAAiC,QAAjC,EAA0C,KAAKs3E,wBAA/C,EAAwE;AAACrtE,MAAAA,aAAa,EAAC,KAAKqtE;AAApB,KAAxE,CAAF,EAAyH/tF,6DAAC,CAAE,MAAI;AAAC,YAAMd,CAAC,GAAC,KAAKwmF,IAAb;AAAA,YAAkBvmF,CAAC,GAACD,CAAC,EAAEuF,GAAvB;AAA2B,aAAM,CAACtF,CAAC,EAAEgW,OAAJ,EAAYhW,CAAC,EAAE+V,MAAf,EAAsB/V,CAAC,EAAEkJ,MAAzB,EAAgCnJ,CAAC,EAAEgY,KAAnC,CAAN;AAAgD,KAAlF,EAAqF,MAAI,KAAK82E,WAAL,EAAzF,EAA6G/sF,kEAA7G,CAA1H,CAAhB,GAA4P,KAAK8sF,wBAAL,EAA5P,EAA4R,KAAKC,WAAL,EAA5R;AAA+S;;AAAA1qF,EAAAA,OAAO,GAAE;AAAC,SAAKwV,KAAL,IAAa3X,wEAAC,CAAC,KAAKysF,iBAAN,CAAd,EAAuCzsF,wEAAC,CAAC,KAAKwsF,sBAAN,CAAxC,EAAsE,KAAKE,sBAAL,CAA4BvqF,OAA5B,EAAtE,EAA4G,KAAKgqF,IAAL,GAAU,IAAtH,EAA2H,QAAM,KAAKW,YAAX,KAA0B,KAAKA,YAAL,CAAkB36E,MAAlB,CAAyBvT,uEAAC,EAA1B,GAA8B,KAAKkuF,YAAL,GAAkB,IAA1E,CAA3H;AAA2M;;AAAuB,MAAnBM,mBAAmB,GAAE;AAAC,UAAMrvF,CAAC,GAAC,CAAC,CAAC,6BAAD,EAA+B,iCAA/B,CAAD,EAAmE,CAAC,iBAAD,EAAmB,iBAAnB,CAAnE,EAAyG,CAAC,kCAAD,EAAoC,sCAApC,CAAzG,CAAR;AAA8L,WAAO,KAAK4uF,cAAL,IAAqB5uF,CAAC,CAAC8E,IAAF,CAAO,CAAC,wBAAD,EAA0B,4BAA1B,CAAP,CAArB,EAAqF,IAAI6N,GAAJ,CAAQ3S,CAAR,CAA5F;AAAuG;;AAAwB,MAApBivF,oBAAoB,GAAE;AAAC,WAAO1oF,KAAK,CAACiZ,IAAN,CAAW,KAAK6vE,mBAAL,CAAyB9vE,IAAzB,EAAX,CAAP;AAAmD;;AAAY,MAARg5B,QAAQ,GAAE;AAAC,WAAO,QAAM,KAAKw2C,YAAX,IAAyB,KAAKJ,sBAAL,CAA4Bp2C,QAArD,IAA+Dn4C,0DAAC,CAAC,KAAKquF,sBAAN,EAA8BzuF,CAAC,IAAE,CAACA,CAAC,CAAC4a,IAApC,CAAhE,IAA4G,KAAK8zE,iBAAL,CAAuBl5D,IAAvB,GAA4B,CAA/I;AAAiJ;;AAAqB,MAAjB85D,iBAAiB,GAAE;AAAC,QAAItvF,CAAC,GAAC,CAAN;;AAAQ,SAAI,MAAMC,CAAV,IAAe,KAAKwuF,sBAAL,CAA4BvvC,MAA5B,EAAf,EAAoDj/C,CAAC,CAAC2a,IAAF,IAAQ,EAAE5a,CAAV;;AAAY,WAAOA,CAAP;AAAS;;AAAA4Z,EAAAA,KAAK,GAAE;AAAC,SAAKy+B,SAAL,KAAiBp2C,wEAAC,CAAC,KAAKwsF,sBAAN,CAAD,EAA+B,KAAKU,mBAAL,EAAhD;AAA4E;;AAAMI,EAAAA,aAAa,CAACvvF,CAAD,EAAG;AAAA;;AAAA;AAAC,UAAG,MAAM,MAAI,CAAC8uF,WAAL,EAAN,EAAyB,CAAC,MAAI,CAACL,sBAAL,CAA4Bp/E,GAA5B,CAAgCrP,CAAhC,CAA7B,EAAgE;AAAC,YAAG,MAAI,CAAC0uF,iBAAL,CAAuBr/E,GAAvB,CAA2BrP,CAA3B,CAAH,EAAiC,OAAO,MAAI,CAAC0uF,iBAAL,CAAuB50E,GAAvB,CAA2B9Z,CAA3B,EAA8Bsc,OAArC;AAA6C,cAAM,IAAI5b,sDAAJ,CAAM,6BAAN,EAAoC,2CAApC,EAAgF;AAAC8I,UAAAA,KAAK,EAACxJ;AAAP,SAAhF,CAAN;AAAiG;;AAAA,aAAO,MAAI,CAACyuF,sBAAL,CAA4B30E,GAA5B,CAAgC9Z,CAAhC,EAAmCsc,OAA1C;AAAjP;AAAmS;;AAAAkzE,EAAAA,4BAA4B,CAACxvF,CAAD,EAAGC,CAAH,EAAK;AAAC,SAAK4sC,cAAL,CAAoB,mBAApB;;AAAyC,UAAMnsC,CAAC,GAAC,KAAK+tF,sBAAL,CAA4B30E,GAA5B,CAAgC9Z,CAAhC,CAAR;;AAA2C,QAAG,CAACU,CAAC,EAAEka,IAAP,EAAY,OAAM,CAAC,CAAP;AAAS,UAAM1a,CAAC,GAACQ,CAAC,CAACwtF,SAAV;AAAoB,WAAM,EAAE,CAAChuF,CAAD,IAAI,CAACD,CAAL,IAAQC,CAAC,CAACmD,MAAF,KAAWpD,CAArB,KAAyB,CAAC,EAAES,CAAC,CAACka,IAAF,IAAQ1a,CAAR,IAAW,YAAWF,CAAtB,IAAyBA,CAAC,CAACmJ,MAAF,EAAU0E,MAArC,CAAD,IAA+C7N,CAAC,CAACmJ,MAAF,CAASqO,IAAT,CAAexX,CAAC,IAAE,KAAKwvF,4BAAL,CAAkCxvF,CAAlC,EAAoCE,CAApC,CAAlB,CAA9E;AAAyI;;AAAAivF,EAAAA,mBAAmB,GAAE;AAAC,SAAI,MAAK,CAACnvF,CAAD,EAAGC,CAAH,CAAT,IAAiB,KAAKovF,mBAAtB,EAA0C,KAAKI,yBAAL,CAA+BjuF,kEAAC,CAAC,IAAD,EAAMxB,CAAN,CAAhC,EAAyCwB,kEAAC,CAAC,IAAD,EAAMvB,CAAN,CAA1C,EAAmD,KAAKumF,IAAxD;;AAA8D,SAAKzlB,YAAL,CAAkB,UAAlB,GAA8B,KAAKA,YAAL,CAAkB,mBAAlB,CAA9B;AAAqE;;AAAA0uB,EAAAA,yBAAyB,CAACzvF,CAAD,EAAGC,CAAH,EAAKS,CAAL,EAAO;AAAC,QAAG,CAACV,CAAD,IAAI,CAACC,CAAR,EAAU,OAAO,MAAKA,CAAC,IAAEA,CAAC,CAACmJ,SAAF,EAAR,CAAP;AAA8B,QAAIlJ,CAAC,GAAC,CAAN;;AAAQ,SAAI,MAAME,CAAV,IAAeJ,CAAf,EAAiB;AAAC,YAAMA,CAAC,GAAC,KAAKyuF,sBAAL,CAA4B30E,GAA5B,CAAgC1Z,CAAhC,CAAR;;AAA2C,UAAG,CAACJ,CAAC,EAAEkuF,SAAP,EAAiB;AAAS,YAAM5tF,CAAC,GAACN,CAAC,CAACkuF,SAAV;AAAoB5tF,MAAAA,CAAC,CAACkJ,KAAF,GAAQpJ,CAAR,EAAUE,CAAC,CAAC+C,MAAF,GAAS3C,CAAnB,EAAqBT,CAAC,CAACupB,EAAF,CAAKtpB,CAAL,MAAUI,CAAV,IAAaL,CAAC,CAAC6hB,MAAF,CAAS5hB,CAAT,EAAW,CAAX,EAAaI,CAAb,CAAlC,EAAkD,YAAWF,CAAX,IAAcmC,CAAC,CAACjC,CAAD,CAAf,IAAoB,KAAKmvF,yBAAL,CAA+BrvF,CAAC,CAAC+I,MAAjC,EAAwC7I,CAAC,CAACovF,UAA1C,EAAqDpvF,CAArD,CAAtE,EAA8HJ,CAAC,IAAE,CAAjI;AAAmI;;AAAAA,IAAAA,CAAC,GAACD,CAAC,CAAC4N,MAAJ,IAAY5N,CAAC,CAAC6hB,MAAF,CAAS5hB,CAAT,EAAWD,CAAC,CAAC4N,MAAb,CAAZ;AAAiC;;AAAAqhF,EAAAA,gBAAgB,CAAClvF,CAAD,EAAG;AAACA,IAAAA,CAAC,CAACkF,IAAF,GAASnB,KAAT,CAAgB,MAAI,CAAE,CAAtB,GAAyB,KAAK8pF,iBAAL,CAAuBU,kBAAvB,CAA0CvuF,CAA1C,KAA8C,KAAK6tF,iBAAL,CAAuBW,eAAvB,CAAuCxuF,CAAvC,CAAvE;AAAiH,UAAMC,CAAC,GAAC,IAAI6B,CAAJ,CAAM9B,CAAN,EAAQ,KAAKwmF,IAAb,EAAkB,KAAKqH,iBAAvB,CAAR;AAAkD5tF,IAAAA,CAAC,CAACqc,OAAF,CAAUtW,IAAV,CAAgB,MAAI,KAAKmpF,mBAAL,EAApB,EAAiDlvF,CAAC,IAAE;AAACA,MAAAA,CAAC,KAAGU,mEAAC,CAACV,CAAD,CAAD,IAAM,iCAA+BA,CAAC,CAACma,IAA1C,CAAD,IAAkDla,iEAAA,CAAY,IAAZ,EAAkBuD,KAAlB,CAAyB,+CAA8CzD,CAAC,CAAC+C,KAAF,IAAS,UAAW,UAAS/C,CAAC,CAAC0C,EAAF,IAAM,OAAQ,cAAa1C,CAAC,CAACuD,IAAK,IAAtI,EAA0I;AAACiG,QAAAA,KAAK,EAACxJ,CAAP;AAASyD,QAAAA,KAAK,EAACxD;AAAf,OAA1I,CAAlD,EAA+M,KAAKkvF,mBAAL,EAA/M;AAA0O,KAA/R,GAAkS,KAAKV,sBAAL,CAA4B/oF,GAA5B,CAAgC1F,CAAhC,EAAkCC,CAAlC,CAAlS,EAAuU,KAAKumF,IAAL,CAAUxuE,KAAV,IAAiB/X,CAAC,CAAC2hB,KAAF,EAAxV,EAAkW,KAAKm/C,YAAL,CAAkB,UAAlB,CAAlW,EAAgY,KAAKA,YAAL,CAAkB,mBAAlB,CAAhY;AAAua;;AAAhiK,CAArB;AAAujK/gE,uDAAC,CAAC,CAACkB,uFAAC,EAAF,CAAD,EAAO8F,CAAC,CAACmB,SAAT,EAAmB,cAAnB,EAAkC,KAAK,CAAvC,CAAD,EAA2CnI,uDAAC,CAAC,CAACkB,uFAAC,CAAC;AAACmH,EAAAA,QAAQ,EAAC,CAAC;AAAX,CAAD,CAAF,CAAD,EAAoBrB,CAAC,CAACmB,SAAtB,EAAgC,wBAAhC,EAAyD,KAAK,CAA9D,CAA5C,EAA6GnI,uDAAC,CAAC,CAACkB,uFAAC,CAAC;AAACmH,EAAAA,QAAQ,EAAC,CAAC;AAAX,CAAD,CAAF,CAAD,EAAoBrB,CAAC,CAACmB,SAAtB,EAAgC,qBAAhC,EAAsD,IAAtD,CAA9G,EAA0KnI,uDAAC,CAAC,CAACkB,uFAAC,CAAC;AAACmH,EAAAA,QAAQ,EAAC,CAAC;AAAX,CAAD,CAAF,CAAD,EAAoBrB,CAAC,CAACmB,SAAtB,EAAgC,sBAAhC,EAAuD,IAAvD,CAA3K,EAAwOnI,uDAAC,CAAC,CAACkB,uFAAC,EAAF,CAAD,EAAO8F,CAAC,CAACmB,SAAT,EAAmB,mBAAnB,EAAuC,KAAK,CAA5C,CAAzO,EAAwRnI,uDAAC,CAAC,CAACkB,uFAAC,EAAF,CAAD,EAAO8F,CAAC,CAACmB,SAAT,EAAmB,gBAAnB,EAAoC,KAAK,CAAzC,CAAzR,EAAqUnI,uDAAC,CAAC,CAACkB,uFAAC,CAAC;AAACmH,EAAAA,QAAQ,EAAC,CAAC;AAAX,CAAD,CAAF,CAAD,EAAoBrB,CAAC,CAACmB,SAAtB,EAAgC,UAAhC,EAA2C,IAA3C,CAAtU,EAAuXnI,uDAAC,CAAC,CAACkB,uFAAC,CAAC;AAACmH,EAAAA,QAAQ,EAAC,CAAC;AAAX,CAAD,CAAF,CAAD,EAAoBrB,CAAC,CAACmB,SAAtB,EAAgC,mBAAhC,EAAoD,IAApD,CAAxX,EAAkbnI,uDAAC,CAAC,CAACkB,uFAAC,CAAC;AAACk1C,EAAAA,aAAa,EAAC,CAAC;AAAhB,CAAD,CAAF,CAAD,EAAyBpvC,CAAC,CAACmB,SAA3B,EAAqC,MAArC,EAA4C,KAAK,CAAjD,CAAnb,EAAuenB,CAAC,GAAChH,uDAAC,CAAC,CAAC4B,uFAAC,CAAC,6BAAD,CAAF,CAAD,EAAoCoF,CAApC,CAA1e;AAAihB,MAAM7E,CAAC,GAAC6E,CAAR;;AAAU,SAAS+B,CAAT,CAAW/I,CAAX,EAAa;AAAC,SAAM,qBAAoBA,CAApB,IAAuB,QAAMA,CAAC,CAACsuF,eAArC;AAAqD;;;;;;;;;;;;;;;;;;;;;;;;;ACJlmS;AACA;AACA;AACA;AAC2W,oBAAoB,yDAAC,CAAC,eAAe,qCAAqC,uEAAC,yIAAyI,cAAc,sUAAsU,uDAAC,EAAE,sFAAC,EAAE,YAAY,gCAAgC,uDAAC,EAAE,sFAAC,EAAE,eAAe,gCAAgC,uDAAC,EAAE,sFAAC,mCAAmC,uDAAC,EAAE,sFAAC,EAAE,mBAAmB,OAAO,8BAA8B,uDAAC,EAAE,sFAAC,kCAAkC,uDAAC,EAAE,sFAAC,sCAAsC,uDAAC,EAAE,sFAAC,qCAAqC,uDAAC,EAAE,sFAAC,yCAAyC,uDAAC,EAAE,sFAAC,EAAE,YAAY,+BAA+B,uDAAC,EAAE,sFAAC,EAAE,aAAa,mCAAmC,uDAAC,EAAE,sFAAC,6BAA6B,UAA+B;;;;;;;;;;;;;;;;;;;;;;;ACJ56C;AACA;AACA;AACA;AACwS,oBAAoB,kDAAC,CAAC,eAAe,iCAAiC,uDAAC,EAAE,sFAAC,EAAE,YAAY,sCAAsC,uDAAC,EAAE,sFAAC,2BAA2B,UAA+B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACJpe;AACA;AACA;AACA;AACA;AAA2C;AAAmD;AAAgC;AAAgC;AAAiC;AAA6H;AAA4E;AAA0E;AAA6B;AAA0E;;AAA8D,SAASptF,CAAT,CAAWJ,CAAX,EAAa;AAAC,SAAO,QAAMA,CAAN,IAAS,UAASA,CAAlB,IAAqB,mBAAkBA,CAA9C;AAAgD;;AAAA,SAASc,CAAT,CAAWd,CAAX,EAAa;AAAC,SAAO,QAAMA,CAAN,IAAS,mBAAkBA,CAA3B,IAA8B,iBAAgBA,CAArD;AAAuD;;AAAA,MAAMiB,CAAC,GAACzB,CAAC,IAAE;AAAC,MAAIyB,CAAC,GAAC,cAAczB,CAAd,CAAe;AAACmC,IAAAA,WAAW,GAAE;AAAC,YAAM,GAAGqK,SAAT,GAAoB,KAAK8iF,eAAL,GAAqB,IAAzC,EAA8C,KAAKC,KAAL,GAAW,EAAzD,EAA4D,KAAKzqD,YAAL,GAAkB,CAAC,CAA/E;AAAiF;;AAAAvhC,IAAAA,UAAU,GAAE;AAAA;;AAAC,WAAKH,UAAL,CAAgB,CAAClC,6DAAC,CAAE,MAAI,CAAC,KAAKsuF,EAAN,EAAS,KAAKD,KAAd,CAAN,EAA6B,CAAC,CAAC/uF,CAAD,EAAGd,CAAH,CAAD,EAAOE,CAAP,KAAW;AAAC,cAAMM,CAAC,GAAC,OAAR;AAAA,cAAgBE,CAAC,GAAC,QAAlB;;AAA2B,YAAGR,CAAH,EAAK;AAAC,gBAAK,CAACY,CAAD,EAAGd,CAAH,IAAME,CAAX;AAAaY,UAAAA,CAAC,IAAEI,CAAC,CAAClB,CAAD,CAAJ,KAAUA,CAAC,CAACwmF,IAAF,GAAO,IAAP,EAAY5kF,CAAC,CAAC5B,CAAD,CAAD,IAAMc,CAAC,CAACwC,MAAF,CAAStD,CAAT,EAAWQ,CAAX,CAA5B;AAA2C;;AAAAM,QAAAA,CAAC,IAAEI,CAAC,CAAClB,CAAD,CAAJ,KAAUA,CAAC,CAACwmF,IAAF,GAAO,IAAP,EAAY5kF,CAAC,CAAC5B,CAAD,CAAD,IAAMc,CAAC,CAAC+gC,GAAF,CAAM7hC,CAAN,EAAQ;AAAC4L,UAAAA,GAAG,EAACpL,CAAL;AAAOuvF,UAAAA,QAAQ,EAACrvF,CAAhB;AAAkBsvF,UAAAA,QAAQ,EAAC,CAAC;AAA5B,SAAR,CAA5B;AAAqE,OAAvM,EAAyMrvF,2DAAzM,CAAF,EAA8M,KAAKgD,EAAL,CAAQ,OAAR,EAAiB7C,CAAC,IAAE;AAAC,aAAK+uF,KAAL,IAAY,KAAKzqD,YAAjB,KAAgC,YAAUtkC,CAAC,CAACmvF,WAAZ,IAAyB,MAAInvF,CAAC,CAACkL,MAA/D,MAAyE9K,CAAC,CAAC,KAAK2uF,KAAN,CAAD,GAAc,KAAKA,KAAL,CAAWK,SAAX,CAAqBC,eAArB,CAAqCrvF,CAArC,CAAd,GAAsDA,CAAC,CAACsa,KAAF,iNAAS,aAAS;AAAC,gBAAM,KAAI,CAACg1E,UAAL,EAAN,EAAwBlvF,CAAC,CAAC,KAAI,CAAC2uF,KAAN,CAAD,IAAe,CAAC,KAAI,CAACx3C,SAArB,IAAgC,KAAI,CAACrgC,KAArC,IAA4C,KAAI,CAACotB,YAAjD,IAA+D,KAAI,CAACyqD,KAAL,CAAWK,SAAX,CAAqBC,eAArB,CAAqCrvF,CAArC,CAAvF;AAA+H,SAAlJ,EAA/H;AAAqR,OAA1S,EAA4SY,+EAA5S,CAA9M,CAAhB,GAAshBV,gEAAC,CAAE,MAAI,KAAKgX,KAAL,IAAY,KAAKotB,YAAjB,IAA+B,CAAC,KAAKmT,QAA3C,CAAD,CAAuDvyC,IAAvD,CAA6D,MAAI;AAAC;AAA8B,OAAhG,CAAthB;AAAynB;;AAAA5B,IAAAA,OAAO,GAAE;AAAC,WAAKi0C,SAAL,IAAgB,KAAKi4C,UAAL,EAAhB;AAAkC;;AAAMC,IAAAA,SAAS,CAACzvF,CAAD,EAAG;AAAA;;AAAA;AAAC,YAAGI,CAAC,CAAC,MAAI,CAAC2uF,KAAN,CAAJ,EAAiB,OAAO,MAAI,CAACA,KAAL,CAAWl/D,IAAX,CAAgB7vB,CAAhB,CAAP;;AAA0B,YAAG;AAAC,cAAG,MAAM,MAAI,CAACsvF,UAAL,EAAN,EAAwB,CAAC,MAAI,CAACP,KAAjC,EAAuC,OAAO,KAAKrvF,iEAAA,CAAY,MAAZ,EAAkBiD,KAAlB,CAAwB,IAAIvD,sDAAJ,CAAM,iBAAN,EAAwB,mCAAxB,CAAxB,CAAZ;;AAAkG,gBAAI,CAAC2vF,KAAL,CAAWl/D,IAAX,CAAgB7vB,CAAhB;AAAmB,SAAhK,CAAgK,MAAK,CAAE;AAAnN;AAAoN;;AAAAwvF,IAAAA,UAAU,GAAE;AAAC,WAAKV,eAAL,EAAsBzzE,KAAtB,IAA8Bjb,CAAC,CAAC,KAAK2uF,KAAN,CAAD,IAAe,KAAKA,KAAL,CAAW98C,KAAX,EAA7C;AAAgE;;AAAMy9C,IAAAA,kBAAkB,CAAC1vF,CAAD,EAAGd,CAAH,EAAK;AAAA;;AAAA;AAAC,eAAO,MAAM,MAAI,CAAC8D,IAAL,EAAN,EAAkB,MAAI,CAAC2sF,oBAAL,OAAgC,MAAI,CAACC,aAAL,CAAmB5vF,CAAnB,EAAqBd,CAArB,CAAhC,EAAwDA,CAAxD,CAAzB;AAAD;AAAqF;;AAAMowF,IAAAA,UAAU,GAAE;AAAA;;AAAA;AAAC,YAAG,MAAI,CAACR,eAAL,EAAsBzzE,KAAtB,IAA8B,MAAI,CAAC0zE,KAAL,IAAY,CAAC3uF,CAAC,CAAC,MAAI,CAAC2uF,KAAN,CAA/C,EAA4D,OAAO,MAAI,CAACD,eAAL,GAAqB5vF,+DAAC;AAAA,wNAAE,WAAMc,CAAN,EAAS;AAAC,kBAAK;AAAC0H,cAAAA,OAAO,EAACxI;AAAT,sBAAkB,sHAAvB;AAAqD,gBAAGU,qEAAC,CAACI,CAAD,CAAD,EAAK,CAAC,MAAI,CAAC+uF,KAAN,IAAa3uF,CAAC,CAAC,MAAI,CAAC2uF,KAAN,CAAtB,EAAmC;AAAO,kBAAM3vF,CAAC,GAAC,MAAI,CAAC2vF,KAAb;AAAmB,mBAAO3vF,CAAC,CAACywB,IAAT,EAAc,OAAOzwB,CAAC,CAAC6yC,KAAvB,EAA6B,MAAI,CAAC88C,KAAL,GAAW,IAAI7vF,CAAJ,CAAME,CAAN,CAAxC;AAAiD,WAA/K;;AAAA;AAAA;AAAA;AAAA,YAAtB,EAAwM,MAAI,CAAC0vF,eAAL,CAAqBtzE,OAApO;AAA7D;AAAyS;;AAAMm0E,IAAAA,oBAAoB,CAAC;AAAC9tD,MAAAA,QAAQ,EAAC7hC,CAAV;AAAY6vF,MAAAA,IAAI,EAAC3wF;AAAjB,KAAD,EAAqBE,CAArB,EAAuB;AAAA;AAAC,cAAMM,CAAC,GAAC,EAAR;AAAA,cAAWE,CAAC,GAAC,EAAb;AAAgB,YAAIJ,CAAC,GAAC,CAAC,CAAP;;AAAS,cAAMkB,CAAC,GAACpB,2EAAC,CAACF,CAAD,EAAGmP,wDAAG,CAAC,0BAAD,CAAH,IAAiC1C,CAApC,CAAT;AAAA,cAAgDhM,CAAC,GAACG,CAAC,IAAE;AAAC,gBAAMd,CAAC,GAAC,IAAIoB,CAAJ,CAAMN,CAAN,CAAR;AAAiB,iBAAOJ,CAAC,CAACoE,IAAF,CAAO9E,CAAP,GAAUQ,CAAC,CAACsE,IAAF,CAAO9E,CAAC,CAACsc,OAAT,CAAV,EAA4Btc,CAAnC;AAAqC,SAA5G;AAAA,cAA6GgB,CAAC,GAACF,CAAC,IAAE;AAAC,gBAAMd,CAAC,GAACU,CAAC,CAAC8oB,EAAF,CAAK,CAAC,CAAN,CAAR;AAAiB,iBAAOxpB,CAAC,IAAEA,CAAC,CAACkuF,SAAF,KAAcptF,CAAjB,IAAoB,CAACR,CAArB,GAAuBN,CAAvB,GAAyBW,CAAC,CAACG,CAAD,CAAjC;AAAqC,SAAzK;;AAA0K,aAAI,MAAMV,CAAV,IAAeJ,CAAf,EAAiB,IAAG,aAAYI,CAAf,EAAiB;AAACY,UAAAA,CAAC,CAACZ,CAAC,CAAC8tF,SAAH,CAAD,CAAe0C,QAAf,CAAwB9rF,IAAxB,CAA6B1E,CAAC,CAAC4nF,OAA/B,GAAwC1nF,CAAC,GAAC,CAAC,CAA3C;AAA6C,SAA/D,MAAoEE,CAAC,CAACsE,IAAF,CAAO1E,CAAC,CAAC8tF,SAAF,CAAY2C,4BAAZ,CAAyCzwF,CAAC,CAAC6nF,QAA3C,EAAoDzmF,CAApD,CAAP,GAA+DlB,CAAC,GAAC,CAAC,CAAlE;;AAAoEI,QAAAA,CAAC,CAAC6E,GAAF,CAAOzE,CAAC,IAAEA,CAAC,CAACwE,OAAF,CAAU9D,CAAV,CAAV;AAAyB,cAAMF,CAAC,GAACrB,uEAAC,CAACO,CAAD,CAAD,CAAKwF,IAAL,CAAWlF,CAAC,IAAEA,CAAC,CAAC6F,MAAF,CAAU7F,CAAC,IAAE,CAAC,CAACA,CAAf,EAAmBonF,IAAnB,EAAd,CAAR;AAAkD,eAAM;AAAC4I,UAAAA,eAAe,EAACtwF,CAAjB;AAAmBuwF,UAAAA,kBAAkB,EAACzvF,CAAtC;AAAwCqhC,UAAAA,QAAQ,EAAC7hC;AAAjD,SAAN;AAAxa;AAAke;;AAAM4vF,IAAAA,aAAa,CAAC5vF,CAAD,EAAGd,CAAH,EAAK;AAAA;;AAAA;AAAC,cAAK;AAAC2wF,UAAAA,IAAI,EAACzwF,CAAN;AAAQyiC,UAAAA,QAAQ,EAACniC;AAAjB,kBAA0B,MAAI,CAACwwF,YAAL,CAAkBlwF,CAAlB,CAA/B;AAAoDJ,QAAAA,qEAAC,CAACV,CAAD,CAAD;AAAK,cAAMI,CAAC,GAAC,EAAR;;AAAW,aAAI,MAAMM,CAAV,IAAeR,CAAf,EAAiB,IAAG,aAAYQ,CAAf,EAAiB;AAAC,cAAG,MAAI,CAACuwF,oBAAL,CAA0BvwF,CAAC,CAACsnF,OAA5B,EAAoChoF,CAApC,CAAH,EAA0C;AAAC,kBAAMc,CAAC,GAAC,MAAI,CAACowF,8BAAL,CAAoCxwF,CAAC,CAACwtF,SAAtC,IAAiDxtF,CAAC,CAACwtF,SAAnD,GAA6D,KAAK,CAA1E;AAA4E9tF,YAAAA,CAAC,CAAC0E,IAAF,CAAO;AAACkjF,cAAAA,OAAO,EAACtnF,CAAC,CAACsnF,OAAX;AAAmBkG,cAAAA,SAAS,EAACptF;AAA7B,aAAP;AAAwC;AAAC,SAAlL,MAAuL,MAAI,CAACqwF,8BAAL,CAAoCzwF,CAAC,CAACwtF,SAAtC,KAAkD9tF,CAAC,CAAC0E,IAAF,CAAO;AAACmjF,UAAAA,QAAQ,EAACvnF,CAAC,CAACunF,QAAZ;AAAqBiG,UAAAA,SAAS,EAACxtF,CAAC,CAACwtF;AAAjC,SAAP,CAAlD;;AAAsG,eAAM;AAACyC,UAAAA,IAAI,EAACvwF,CAAN;AAAQuiC,UAAAA,QAAQ,EAACniC;AAAjB,SAAN;AAAnX;AAA6Y;;AAAAywF,IAAAA,oBAAoB,CAACnwF,CAAD,EAAGd,CAAH,EAAK;AAAC,aAAOc,CAAC,IAAE,CAAC,CAACA,CAAC,CAACswF,yBAAF,CAA4BpxF,CAAC,EAAEqxF,2BAA/B,CAAZ;AAAwE;;AAAAH,IAAAA,8BAA8B,CAACpwF,CAAD,EAAG;AAAC,aAAM,CAACA,CAAD,IAAI,CAAC,EAAE,WAAUA,CAAZ,KAAgB,CAACA,CAAC,CAAC8mF,SAApB,KAAgC,oCAAmC9mF,CAA7E;AAA+E;;AAAAqwF,IAAAA,8BAA8B,CAACrwF,CAAD,EAAG;AAAC,aAAM,CAAC,EAAE,WAAUA,CAAZ,KAAgB,CAACA,CAAC,CAAC8mF,SAApB,KAAgC,kCAAiC9mF,CAAvE;AAAyE;;AAAxuF,GAArB;AAA+vF,SAAOA,uDAAC,CAAC,CAACQ,sFAAC,EAAF,CAAD,EAAOS,CAAC,CAACoG,SAAT,EAAmB,OAAnB,EAA2B,KAAK,CAAhC,CAAD,EAAoCrH,uDAAC,CAAC,CAACQ,sFAAC,EAAF,CAAD,EAAOS,CAAC,CAACoG,SAAT,EAAmB,cAAnB,EAAkC,KAAK,CAAvC,CAArC,EAA+EpG,CAAC,GAACjB,uDAAC,CAAC,CAACD,uFAAC,CAAC,sBAAD,CAAF,CAAD,EAA6BkB,CAA7B,CAAlF,EAAkHA,CAAzH;AAA2H,CAAt4F;;AAAu4F,MAAMX,CAAN,CAAO;AAACqB,EAAAA,WAAW,CAAC3B,CAAD,EAAG;AAAC,SAAKotF,SAAL,GAAeptF,CAAf,EAAiB,KAAKwwF,SAAL,GAAehxF,qEAAC,EAAjC,EAAoC,KAAKswF,QAAL,GAAc,EAAlD;AAAqD;;AAAW,MAAPt0E,OAAO,GAAE;AAAC,WAAO,KAAKg1E,SAAL,CAAeh1E,OAAtB;AAA8B;;AAAAhX,EAAAA,OAAO,CAACxE,CAAD,EAAG;AAAC,UAAK;AAACotF,MAAAA,SAAS,EAACluF,CAAX;AAAa4wF,MAAAA,QAAQ,EAAC1wF,CAAtB;AAAwBoxF,MAAAA,SAAS,EAAC9wF;AAAlC,QAAqC,IAA1C;AAA+C,QAAG,CAACR,CAAJ,EAAM,OAAOQ,CAAC,CAAC8E,OAAF,CAAUpF,CAAV,GAAaM,CAAC,CAAC8b,OAAtB;AAA8B,QAAI5b,CAAJ;AAAM,WAAOV,CAAC,CAACuxF,8BAAF,CAAiCrxF,CAAjC,EAAmCY,CAAnC,EAAsCiD,KAAtC,CAA6CjD,CAAC,KAAGJ,CAAC,GAACI,CAAF,EAAI,IAAP,CAA9C,EAA6DkF,IAA7D,CAAmElF,CAAC,IAAE;AAACA,MAAAA,CAAC,GAACN,CAAC,CAAC8E,OAAF,CAAUxE,CAAV,CAAD,GAAcN,CAAC,CAAC4T,MAAF,CAAS1T,CAAT,CAAf;AAA2B,KAAlG,GAAqGF,CAAC,CAAC8b,OAA9G;AAAsH;;AAA3U;;AAA4U,MAAM3P,CAAC,GAAC,GAAR;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACJp9H;AACA;AACA;AACA;AACA;AAA2C;AAA+D;AAAqC;AAA6D;AAAkC;AAA0D;AAA+C;AAAsC;AAAyD;AAA0D;AAA0E;AAAuB;AAA0B;AAA0E;AAA6F;AAAwC;AAAgE,IAAIvL,CAAC,GAAC,cAAcT,wEAAd,CAA+B;AAAC8B,EAAAA,WAAW,CAACzC,CAAD,EAAG;AAAC,UAAMA,CAAN,GAAS,KAAK6xF,aAAL,GAAmB,IAAI7wF,4DAAJ,EAA5B,EAAkC,KAAK8wF,QAAL,GAAc,IAAIpxF,2DAAJ,EAAhD,EAAsD,KAAKqxF,SAAL,GAAe,EAArE,EAAwE,KAAKC,iBAAL,GAAuB,IAAItxF,2DAAJ,EAA/F,EAAqG,KAAKuxF,UAAL,GAAgB,CAArH,EAAuH,KAAKC,aAAL,GAAmB,CAAC,CAA3I;AAA6I;;AAAAruF,EAAAA,UAAU,GAAE;AAAC,SAAKH,UAAL,CAAgB,CAACpD,6DAAC,CAAE,MAAI,CAAC,KAAKkmF,IAAN,EAAW,KAAK0L,aAAhB,CAAN,EAAuC,MAAI,KAAKC,qBAAL,EAA3C,CAAF,EAA4E7wF,0DAAC,CAAE,MAAI,KAAK8wF,OAAX,EAAoB,QAApB,EAA8BpyF,CAAC,IAAE;AAAC,YAAME,CAAC,GAAC,KAAK2xF,aAAb;;AAA2B,WAAI,MAAMzxF,CAAV,IAAeJ,CAAC,CAAC4iB,OAAjB,EAAyB1iB,CAAC,CAAC0wB,MAAF,CAASxwB,CAAT;;AAAY,WAAKiyF,iBAAL,IAAyB,KAAKF,qBAAL,EAAzB;AAAsD,KAAxJ,EAA0J;AAAC3wE,MAAAA,aAAa,EAAC,MAAI,KAAK6wE,iBAAL;AAAnB,KAA1J,CAA7E,CAAhB;AAAuS,UAAMryF,CAAC,GAAC,IAAIU,2DAAJ,EAAR;AAAc,SAAK8lF,IAAL,CAAU1iF,IAAV,GAAiBkC,IAAjB,CAAuB,MAAI;AAAC,WAAKwgF,IAAL,CAAUjhF,GAAV,KAAgB,KAAKihF,IAAL,CAAUjhF,GAAV,CAAcgS,SAAd,CAAwB+6E,OAAxB,CAAiCtyF,CAAC,IAAE,eAAcA,CAAd,IAAiBA,CAAC,CAACooF,SAAnB,GAA6BpoF,CAAC,CAACooF,SAA/B,GAAyC,IAA7E,EAAoFzjF,OAApF,CAA6FzE,CAAC,IAAE;AAAC,SAACgB,8EAAC,CAAChB,CAAD,CAAD,IAAM,CAAC0B,mFAAC,CAAC1B,CAAD,CAAR,IAAa+B,iFAAC,CAAC/B,CAAD,CAAf,KAAqBF,CAAC,CAAC6hC,GAAF,CAAM3hC,CAAN,CAArB;AAA8B,OAA/H,GAAkI,KAAKkyF,OAAL,GAAapyF,CAA/J;AAAkK,KAA9L;AAAiM;;AAAAoE,EAAAA,OAAO,GAAE;AAAC,SAAK4tF,iBAAL,CAAuBhwE,KAAvB,CAA6B/hB,uDAA7B;AAAgC;;AAAc,MAAVsyF,UAAU,GAAE;AAAC,WAAOhsF,KAAK,CAACiZ,IAAN,CAAW,KAAKqyE,aAAL,CAAmB/mE,OAAnB,EAAX,EAAyCvlB,GAAzC,CAA8CvF,CAAC,IAAE;AAAC,YAAK,CAACE,CAAD,EAAGE,CAAH,IAAMJ,CAAX;AAAa,aAAM;AAACwJ,QAAAA,KAAK,EAACtJ,CAAP;AAASsyF,QAAAA,SAAS,EAAC,CAAC,GAAGpyF,CAAC,CAACoyF,SAAN;AAAnB,OAAN;AAA2C,KAA1G,CAAP;AAAoH;;AAAS,MAALj/C,KAAK,GAAE;AAAC,QAAIvzC,CAAC,GAAC,CAAN;;AAAQ,SAAI,MAAME,CAAV,IAAe,KAAK2xF,aAAL,CAAmB3yC,MAAnB,EAAf,EAA2Cl/C,CAAC,IAAEE,CAAC,CAACsyF,SAAF,CAAY3kF,MAAf;;AAAsB,WAAO7N,CAAP;AAAS;;AAAgB,MAAZyyF,YAAY,GAAE;AAAC,WAAO,KAAKl/C,KAAL,GAAW,CAAlB;AAAoB;;AAAW,MAAP6+C,OAAO,GAAE;AAAC,WAAO,KAAKN,QAAZ;AAAqB;;AAAW,MAAPM,OAAO,CAACpyF,CAAD,EAAG;AAACQ,IAAAA,yEAAC,CAACR,CAAD,EAAG,KAAK8xF,QAAR,CAAD;AAAmB;;AAAMY,EAAAA,mBAAmB,CAAC1yF,CAAD,EAAGE,CAAC,GAAC,EAAL,EAAQE,CAAC,GAAC,WAAV,EAAsB;AAAA;;AAAA;AAAC,YAAK;AAAComF,QAAAA,IAAI,EAAC9lF,CAAN;AAAQ6xF,QAAAA,UAAU,EAAC/xF;AAAnB,UAAsB,KAA3B;AAAA,YAAgCG,CAAC,GAAC,CAAC,KAAK,CAAL,KAASX,CAAT,GAAWQ,CAAC,CAACmG,MAAF,CAAUzG,CAAC,IAAEF,CAAC,CAAC8xB,QAAF,CAAW5xB,CAAC,CAACsJ,KAAb,CAAb,CAAX,GAA8ChJ,CAA/C,EAAkDmG,MAAlD,CAA0D3G,CAAC,IAAEA,CAAC,CAACwyF,SAAF,CAAY3kF,MAAZ,GAAmB,CAAhF,EAAoFtI,GAApF;AAAA,qNAAyF,WAAMvF,CAAN,EAAS;AAAC,gBAAK;AAACwJ,YAAAA,KAAK,EAAChJ,CAAP;AAASgyF,YAAAA,SAAS,EAAC7xF;AAAnB,cAAsBX,CAA3B;AAAA,gBAA6Ba,CAAC,GAACoB,iFAAC,CAACzB,CAAD,CAAD,GAAKA,CAAC,CAAC6C,MAAP,GAAc7C,CAA7C;AAA+C,cAAG,QAAMK,CAAN,IAAS,CAACuB,CAAC,CAACvB,CAAD,CAAd,EAAkB,OAAO,IAAP;AAAY,cAAG,YAAUT,CAAb,EAAe,OAAO4G,CAAC,CAACnG,CAAD,EAAGF,CAAH,EAAKT,CAAL,CAAR;AAAgB,cAAGqC,CAAC,CAAC1B,CAAD,CAAJ,EAAQ,OAAO,IAAP;AAAY,gBAAMZ,CAAC,SAAOS,CAAC,CAAC6uF,aAAF,CAAgB1uF,CAAhB,EAAmBkD,KAAnB,CAA0B,MAAI,IAA9B,CAAd;AAAmD,iBAAO9D,CAAC,GAAC+G,CAAC,CAAC/G,CAAD,EAAGU,CAAH,EAAKT,CAAL,CAAF,GAAU,IAAlB;AAAuB,SAA7S;;AAAA;AAAA;AAAA;AAAA,UAAlC;AAAkV,aAAM,OAAOmF,OAAO,CAACc,GAAR,CAAYxF,CAAZ,CAAP,EAAuBgG,MAAvB,CAA+B3G,CAAC,IAAE,QAAMA,CAAxC,CAAN;AAAnV;AAAqY;;AAAA2yF,EAAAA,eAAe,CAAC3yF,CAAD,EAAG;AAAC,UAAMI,CAAC,GAAC,IAAIuS,GAAJ,EAAR;;AAAgB,SAAI,MAAK,CAACzS,CAAD,EAAGS,CAAH,CAAT,IAAiB,KAAKkxF,aAAtB,EAAoCzxF,CAAC,CAACsF,GAAF,CAAMxF,CAAN,EAAQ,CAAC,GAAGS,CAAC,CAAC6xF,SAAN,CAAR;;AAA0B,QAAI9xF,CAAC,GAAC,CAAC,CAAP;AAAS,UAAMF,CAAC,GAACR,CAAC,CAAC6oD,OAAF,CAAU1xC,MAAV,CAAiBnX,CAAC,CAAC2hB,KAAnB,CAAR;;AAAkC,SAAI,MAAMzhB,CAAV,IAAeM,CAAf,EAAiB;AAAC,YAAMR,CAAC,GAACE,CAAC,CAAC8vC,WAAV;AAAA,YAAsBxvC,CAAC,GAACN,CAAC,CAACioF,WAAF,EAAxB;;AAAwC,UAAG,KAAKiK,OAAL,CAAatgE,QAAb,CAAsB9xB,CAAtB,MAA2BkB,8EAAC,CAAClB,CAAD,CAAD,IAAMiC,iFAAC,CAACjC,CAAD,CAAlC,KAAwC,SAAOQ,CAAlD,EAAoD;AAAC,cAAMN,CAAC,GAACW,sEAAC,CAACT,CAAD,EAAGJ,CAAH,EAAM,MAAI,EAAV,CAAT;AAAwBE,QAAAA,CAAC,CAAC4xB,QAAF,CAAWtxB,CAAX,MAAgBN,CAAC,CAAC4E,IAAF,CAAOtE,CAAP,GAAUE,CAAC,GAAC,CAAC,CAA7B;AAAgC;AAAC;;AAAA,SAAI,MAAMR,CAAV,IAAeF,CAAC,CAAC4iB,OAAjB,EAAyB;AAAC,YAAM5iB,CAAC,GAACE,CAAC,CAAC8vC,WAAV;AAAA,YAAsBxvC,CAAC,GAACN,CAAC,CAACioF,WAAF,EAAxB;;AAAwC,UAAG,KAAKiK,OAAL,CAAatgE,QAAb,CAAsB9xB,CAAtB,MAA2BkB,8EAAC,CAAClB,CAAD,CAAD,IAAMiC,iFAAC,CAACjC,CAAD,CAAlC,KAAwC,SAAOQ,CAAlD,EAAoD;AAAC,cAAMN,CAAC,GAACE,CAAC,CAAC0Z,GAAF,CAAM9Z,CAAN,CAAR;AAAA,cAAiBW,CAAC,GAACT,CAAC,EAAEuR,OAAH,CAAWjR,CAAX,CAAnB;AAAiC,aAAK,CAAL,KAASG,CAAT,IAAYA,CAAC,IAAE,CAAf,KAAmBT,CAAC,EAAE4hB,MAAH,CAAUnhB,CAAV,EAAY,CAAZ,GAAeD,CAAC,GAAC,CAAC,CAArC;AAAwC;AAAC;;AAAA,QAAGA,CAAH,EAAK;AAAC,YAAK;AAACmxF,QAAAA,aAAa,EAAC7xF,CAAf;AAAiB+xF,QAAAA,SAAS,EAACrxF;AAA3B,UAA8B,IAAnC;AAAA,YAAwCF,CAAC,GAAC,EAA1C;;AAA6C,WAAI,MAAK,CAACG,CAAD,EAAGE,CAAH,CAAT,IAAiBT,CAAjB,EAAmB;AAAC,cAAMA,CAAC,GAACJ,CAAC,CAAC8Z,GAAF,CAAMnZ,CAAN,CAAR;AAAiB,aAAK,CAAL,KAASP,CAAT,IAAYM,CAAC,CAACoE,IAAF,CAAO1E,CAAP,CAAZ,EAAsBJ,CAAC,CAAC0F,GAAF,CAAM/E,CAAN,EAAQ;AAAC6xF,UAAAA,SAAS,EAAC3xF;AAAX,SAAR,CAAtB,EAA6CL,CAAC,CAACsE,IAAF,CAAO;AAAC0E,UAAAA,KAAK,EAAC7I,CAAP;AAAS6xF,UAAAA,SAAS,EAAC3xF,CAAnB;AAAqB,aAAGX,+DAAC,CAAC,KAAK,CAAL,KAASE,CAAT,GAAWA,CAAC,CAACoyF,SAAb,GAAuB,EAAxB,EAA2B3xF,CAA3B;AAAzB,SAAP,CAA7C;AAA6G;;AAAA,WAAK+xF,kBAAL,CAAwBpyF,CAAxB;AAA2B;AAAC;;AAAAqyF,EAAAA,YAAY,CAAC7yF,CAAD,EAAGE,CAAH,EAAK;AAAC,SAAK4yF,aAAL,CAAmB9yF,CAAnB,EAAqBE,CAArB;AAAwB;;AAAA6yF,EAAAA,YAAY,CAAC/yF,CAAD,EAAG;AAAC,UAAME,CAAC,GAAC,KAAK2xF,aAAL,CAAmB/3E,GAAnB,CAAuB9Z,CAAvB,CAAR;;AAAkC,WAAOE,CAAC,EAAEsyF,SAAV;AAAoB;;AAAAQ,EAAAA,iBAAiB,CAAChzF,CAAD,EAAGE,CAAH,EAAK;AAAC,UAAME,CAAC,GAAC,KAAKyxF,aAAL,CAAmB/3E,GAAnB,CAAuB9Z,CAAvB,CAAR;AAAA,UAAkCU,CAAC,GAAC,KAAK,CAAL,KAASN,CAAT,GAAW,CAAC,GAAGA,CAAC,CAACoyF,SAAN,CAAX,GAA4B,EAAhE;;AAAmE,SAAI,MAAMhyF,CAAV,IAAeN,CAAf,EAAiBQ,CAAC,CAACoxB,QAAF,CAAWtxB,CAAX,KAAeE,CAAC,CAACoE,IAAF,CAAOtE,CAAP,CAAf;;AAAyB,SAAKsyF,aAAL,CAAmB9yF,CAAnB,EAAqBU,CAArB;AAAwB;;AAAAuyF,EAAAA,mBAAmB,CAACjzF,CAAD,EAAGE,CAAH,EAAK;AAAC,UAAME,CAAC,GAAC,KAAKyxF,aAAL,CAAmB/3E,GAAnB,CAAuB9Z,CAAvB,CAAR;;AAAkC,QAAG,CAACI,CAAJ,EAAM;AAAO,UAAMM,CAAC,GAAC,EAAR;;AAAW,SAAI,MAAMF,CAAV,IAAeJ,CAAC,CAACoyF,SAAjB,EAA2BtyF,CAAC,CAAC4xB,QAAF,CAAWtxB,CAAX,KAAeE,CAAC,CAACoE,IAAF,CAAOtE,CAAP,CAAf;;AAAyB,SAAKsyF,aAAL,CAAmB9yF,CAAnB,EAAqBU,CAArB;AAAwB;;AAAAwyF,EAAAA,iBAAiB,CAAClzF,CAAD,EAAGE,CAAH,EAAK;AAAC,UAAME,CAAC,GAAC,KAAKyxF,aAAL,CAAmB/3E,GAAnB,CAAuB9Z,CAAvB,CAAR;;AAAkC,QAAG,CAACI,CAAD,IAAI,MAAIA,CAAC,CAACoyF,SAAF,CAAY3kF,MAAvB,EAA8B,OAAO,KAAK,KAAKilF,aAAL,CAAmB9yF,CAAnB,EAAqBE,CAArB,CAAZ;AAAoC,UAAMQ,CAAC,GAAC,IAAIkM,GAAJ,CAAQxM,CAAC,CAACoyF,SAAV,CAAR;AAAA,UAA6BhyF,CAAC,GAAC,IAAIoM,GAAJ,CAAQ1M,CAAR,CAA/B;AAAA,UAA0CS,CAAC,GAACa,uEAAC,CAACd,CAAD,EAAGF,CAAH,CAA7C;;AAAmD,SAAKsyF,aAAL,CAAmB9yF,CAAnB,EAAqBuG,KAAK,CAACiZ,IAAN,CAAW7e,CAAX,CAArB;AAAoC;;AAAAiZ,EAAAA,KAAK,GAAE;AAAC,UAAM5Z,CAAC,GAAC,KAAK6xF,aAAL,CAAmB3yC,MAAnB,EAAR;;AAAoC,SAAK6yC,SAAL,CAAejtF,IAAf,CAAoB,GAAG9E,CAAvB;;AAA0B,UAAME,CAAC,GAAC,EAAR;;AAAW,SAAI,MAAK,CAACE,CAAD,EAAGM,CAAH,CAAT,IAAiB,KAAKmxF,aAAL,CAAmB/mE,OAAnB,EAAjB,EAA8C5qB,CAAC,CAAC4E,IAAF,CAAO;AAAC0E,MAAAA,KAAK,EAACpJ,CAAP;AAASuhB,MAAAA,KAAK,EAAC,EAAf;AAAkBiB,MAAAA,OAAO,EAAC,CAAC,GAAGliB,CAAC,CAAC8xF,SAAN,CAA1B;AAA2CA,MAAAA,SAAS,EAAC;AAArD,KAAP;;AAAiE,SAAKX,aAAL,CAAmBj4E,KAAnB,IAA2B,KAAKg5E,kBAAL,CAAwB1yF,CAAxB,CAA3B;AAAsD;;AAAA0yF,EAAAA,kBAAkB,CAAC5yF,CAAD,EAAG;AAAC,SAAKmyF,qBAAL,IAA6B,KAAKj5C,IAAL,CAAU,kBAAV,EAA6B;AAACstC,MAAAA,IAAI,EAAC,KAAKA,IAAX;AAAgB2M,MAAAA,OAAO,EAACnzF;AAAxB,KAA7B,CAA7B;AAAsF;;AAAAmyF,EAAAA,qBAAqB,GAAE;AAAC,QAAG,QAAM,KAAK3L,IAAX,IAAiB,QAAM,KAAK4L,OAA/B,EAAuC;;AAAO,SAAI,KAAKH,UAAL,EAAJ,EAAsB,KAAKF,SAAL,CAAelkF,MAAf,GAAsB,CAA5C,GAA+C;AAAC,YAAM7N,CAAC,GAAC,KAAK+xF,SAAL,CAAet2E,GAAf,EAAR;;AAA6Bzb,MAAAA,CAAC,EAAEozF,eAAH,EAAoB9vF,MAApB;AAA6B;;AAAA,UAAK;AAAC8uF,MAAAA,OAAO,EAACpyF,CAAT;AAAWwmF,MAAAA,IAAI,EAACtmF,CAAhB;AAAkB2xF,MAAAA,aAAa,EAACzxF,CAAhC;AAAkC8xF,MAAAA,aAAa,EAACxxF;AAAhD,QAAmD,IAAxD;AAAA,UAA6DF,CAAC,GAAC,KAAKyxF,UAApE;;AAA+E,SAAI,MAAMtxF,CAAV,IAAeX,CAAf,EAAiB;AAAC,YAAMA,CAAC,GAACI,CAAC,CAAC0Z,GAAF,CAAMnZ,CAAN,CAAR;AAAA,YAAiBE,CAAC,GAACoB,iFAAC,CAACtB,CAAD,CAAD,GAAKA,CAAC,CAAC0C,MAAP,GAAc1C,CAAjC;;AAAmC,UAAG,QAAME,CAAN,IAASuB,CAAC,CAACvB,CAAD,CAAb,EAAiB;AAAC,YAAG0B,CAAC,CAAC1B,CAAD,CAAJ,EAAQ;AAASX,QAAAA,CAAC,CAACqvF,aAAF,CAAgB1uF,CAAhB,EAAmBmF,IAAnB,CAAyB9F,CAAC,IAAE;AAACF,UAAAA,CAAC,EAAEozF,eAAH,EAAoB9vF,MAApB,IAA6B,QAAMtD,CAAN,IAASU,CAAT,IAAYF,CAAC,KAAG,KAAKyxF,UAArB,IAAiC,eAAc/xF,CAA/C,IAAkD,cAAY,OAAOA,CAAC,CAACmzF,SAAvE,IAAkFrzF,CAAC,CAACwyF,SAAF,CAAY3kF,MAAZ,GAAmB,CAArG,KAAyG7N,CAAC,CAACozF,eAAF,GAAkBlzF,CAAC,CAACmzF,SAAF,CAAYrzF,CAAC,CAACwyF,SAAd,EAAwB,WAAxB,CAA3H,CAA7B;AAA8L,SAA3N,EAA8NzuF,KAA9N,CAAqO,MAAI;AAAC/D,UAAAA,CAAC,EAAEozF,eAAH,EAAoB9vF,MAApB;AAA6B,SAAvQ;AAA0Q;AAAC;AAAC;;AAAA+uF,EAAAA,iBAAiB,GAAE;AAAC,SAAKL,iBAAL,CAAuBhwE,KAAvB,CAA6B/hB,uDAA7B;;AAAgC,SAAI,MAAMD,CAAV,IAAe,KAAKoyF,OAApB,EAA4B;AAAC,YAAMlyF,CAAC,GAAC+B,iFAAC,CAACjC,CAAD,CAAD,GAAKA,CAAC,CAACqD,MAAP,GAAcrD,CAAtB;;AAAwB,UAAG,QAAME,CAAN,IAASgB,8EAAC,CAAChB,CAAD,CAAb,EAAiB;AAAC,cAAME,CAAC,GAACF,CAAC,CAACyD,EAAF,CAAK,OAAL,EAAczD,CAAC,IAAE;AAAC,eAAKozF,kBAAL,CAAwBpzF,CAAxB,EAA0BF,CAA1B;AAA6B,SAA/C,CAAR;;AAA0D,aAAKgyF,iBAAL,CAAuBltF,IAAvB,CAA4B1E,CAA5B;AAA+B;AAAC;AAAC;;AAAAkzF,EAAAA,kBAAkB,CAACtzF,CAAD,EAAGE,CAAH,EAAK;AAAC,QAAG,KAAK,CAAL,KAASF,CAAC,CAACipD,eAAX,IAA4BjpD,CAAC,CAACipD,eAAF,CAAkBp7C,MAAlB,GAAyB,CAArD,IAAwD,KAAKgkF,aAAL,CAAmBxiF,GAAnB,CAAuBnP,CAAvB,CAA3D,EAAqF;AAAC,YAAMQ,CAAC,GAACV,CAAC,CAACipD,eAAF,CAAkBtiD,MAAlB,CAA0B3G,CAAC,IAAE,QAAMA,CAAC,CAACyD,KAArC,EAA6C8B,GAA7C,CAAkDvF,CAAC,IAAEA,CAAC,CAAC4zC,QAAvD,EAAkEjtC,MAAlE,CAAyEvG,uDAAzE,CAAR;AAAoF,WAAK6yF,mBAAL,CAAyB/yF,CAAzB,EAA2BQ,CAA3B;AAA8B;AAAC;;AAAAoyF,EAAAA,aAAa,CAAC9yF,CAAD,EAAGI,CAAH,EAAK;AAAC,QAAG,CAAC,KAAKgyF,OAAL,CAAatgE,QAAb,CAAsB9xB,CAAtB,CAAJ,EAA6B,MAAM,IAAIsb,KAAJ,CAAW,iCAAgCtb,CAAC,CAAC+C,KAAM,iCAAnD,CAAN;;AAA2F,UAAMrC,CAAC,GAAC,KAAKmxF,aAAL,CAAmB/3E,GAAnB,CAAuB9Z,CAAvB,CAAR;;AAAkC,QAAG,KAAK,CAAL,KAASU,CAAT,IAAY,CAAC4B,CAAC,CAAC5B,CAAD,EAAG;AAAC8xF,MAAAA,SAAS,EAACpyF;AAAX,KAAH,CAAjB,EAAmC;AAAC,WAAK,CAAL,KAASM,CAAT,IAAY,KAAKqxF,SAAL,CAAejtF,IAAf,CAAoBpE,CAApB,CAAZ,EAAmC,KAAKmxF,aAAL,CAAmBnsF,GAAnB,CAAuB1F,CAAvB,EAAyB;AAACwyF,QAAAA,SAAS,EAAC,CAAC,GAAGpyF,CAAJ;AAAX,OAAzB,CAAnC;AAAgF,YAAMI,CAAC,GAAC;AAACgJ,QAAAA,KAAK,EAACxJ,CAAP;AAASwyF,QAAAA,SAAS,EAAC,CAAC,GAAGpyF,CAAJ,CAAnB;AAA0B,WAAGF,+DAAC,CAAC,KAAK,CAAL,KAASQ,CAAT,GAAWA,CAAC,CAAC8xF,SAAb,GAAuB,EAAxB,EAA2BpyF,CAA3B;AAA9B,OAAR;;AAAqE,WAAKwyF,kBAAL,CAAwB,CAACpyF,CAAD,CAAxB;AAA6B;AAAC;;AAAhiJ,CAArC;AAAukJR,uDAAC,CAAC,CAAC0B,uFAAC,CAAC;AAAC2G,EAAAA,QAAQ,EAAC,CAAC,CAAX;AAAa2B,EAAAA,WAAW,EAAC,CAAC;AAA1B,CAAD,CAAF,CAAD,EAAmC5I,CAAC,CAAC+G,SAArC,EAA+C,YAA/C,EAA4D,IAA5D,CAAD,EAAmEnI,uDAAC,CAAC,CAAC0B,uFAAC,CAAC;AAAC2G,EAAAA,QAAQ,EAAC,CAAC,CAAX;AAAa2B,EAAAA,WAAW,EAAC,CAAC;AAA1B,CAAD,CAAF,CAAD,EAAmC5I,CAAC,CAAC+G,SAArC,EAA+C,OAA/C,EAAuD,IAAvD,CAApE,EAAiInI,uDAAC,CAAC,CAAC0B,uFAAC,CAAC;AAAC00C,EAAAA,aAAa,EAAC,CAAC,CAAhB;AAAkBpsC,EAAAA,WAAW,EAAC,CAAC;AAA/B,CAAD,CAAF,CAAD,EAAwC5I,CAAC,CAAC+G,SAA1C,EAAoD,MAApD,EAA2D,KAAK,CAAhE,CAAlI,EAAqMnI,uDAAC,CAAC,CAAC0B,uFAAC,CAAC;AAAC2G,EAAAA,QAAQ,EAAC,CAAC,CAAX;AAAa2B,EAAAA,WAAW,EAAC,CAAC;AAA1B,CAAD,CAAF,CAAD,EAAmC5I,CAAC,CAAC+G,SAArC,EAA+C,cAA/C,EAA8D,IAA9D,CAAtM,EAA0QnI,uDAAC,CAAC,CAAC0B,uFAAC,EAAF,CAAD,EAAON,CAAC,CAAC+G,SAAT,EAAmB,eAAnB,EAAmC,KAAK,CAAxC,CAA3Q,EAAsTnI,uDAAC,CAAC,CAAC0B,uFAAC,EAAF,CAAD,EAAON,CAAC,CAAC+G,SAAT,EAAmB,SAAnB,EAA6B,IAA7B,CAAvT,EAA0V/G,CAAC,GAACpB,uDAAC,CAAC,CAACc,uFAAC,CAAC,6BAAD,CAAF,CAAD,EAAoCM,CAApC,CAA7V;;AAAoY,MAAMmB,CAAC,GAACvC,CAAC,IAAEiC,iFAAC,CAACjC,CAAD,CAAD,GAAK,CAAC,CAAD,KAAKA,CAAC,CAACqD,MAAF,EAAU6nC,OAApB,GAA4BlrC,CAAC,CAACkrC,OAAzC;AAAA,MAAiDnpC,CAAC,GAAC/B,CAAC,IAAE,KAAK,CAAL,KAASA,CAAC,CAACwJ,KAAjE;AAAA,MAAuEpH,CAAC,GAACpC,CAAC,IAAE,KAAK,CAAL,KAASA,CAAC,EAAE8D,IAAxF;AAAA,MAA6FxB,CAAC,GAAC,CAACtC,CAAD,EAAGE,CAAH,KAAO;AAAC,MAAG,QAAMF,CAAN,IAAS,QAAME,CAAlB,EAAoB,OAAM,CAAC,CAAP;AAAS,MAAG,QAAMF,CAAN,IAAS,QAAME,CAAf,IAAkB,QAAMF,CAAN,IAAS,QAAME,CAApC,EAAsC,OAAM,CAAC,CAAP;;AAAS,MAAG,QAAMF,CAAN,IAAS,QAAME,CAAf,IAAkB,QAAMF,CAAC,CAACwyF,SAA1B,IAAqC,QAAMtyF,CAAC,CAACsyF,SAAhD,EAA0D;AAAC,UAAMpyF,CAAC,GAAC,CAAC,GAAGJ,CAAC,CAACwyF,SAAN,CAAR;AAAA,UAAyB9xF,CAAC,GAAC,CAAC,GAAGR,CAAC,CAACsyF,SAAN,CAA3B;AAA4C,QAAGpyF,CAAC,CAACyN,MAAF,KAAWnN,CAAC,CAACmN,MAAhB,EAAuB,OAAM,CAAC,CAAP;AAASzN,IAAAA,CAAC,CAACgP,IAAF,IAAS1O,CAAC,CAAC0O,IAAF,EAAT;;AAAkB,SAAI,IAAIpP,CAAC,GAAC,CAAV,EAAYA,CAAC,GAACI,CAAC,CAACyN,MAAhB,EAAuB7N,CAAC,EAAxB,EAA2B,IAAGI,CAAC,CAACJ,CAAD,CAAD,KAAOU,CAAC,CAACV,CAAD,CAAX,EAAe,OAAM,CAAC,CAAP;AAAS;;AAAA,SAAM,CAAC,CAAP;AAAS,CAAxY;AAAA,MAAyYgH,CAAC;AAAA,gNAAC,WAAMhH,CAAN,EAAQE,CAAR,EAAUE,CAAC,GAAC,EAAZ,EAAiB;AAAC,QAAIM,CAAJ;;AAAM,QAAGqB,CAAC,CAAC/B,CAAD,CAAJ,EAAQ;AAAC,YAAMQ,CAAC,GAACR,CAAR;AAAUU,MAAAA,CAAC,GAAC,KAAK,CAAL,KAASF,CAAT,GAAW,IAAX,SAAsBA,CAAC,CAACuvC,aAAF,CAAgB,IAAIhwC,+DAAJ,CAAM,EAAC,GAAGK,CAAJ;AAAMk6C,QAAAA,SAAS,EAACp6C;AAAhB,OAAN,CAAhB,EAA2C8F,IAA3C,CAAiD9F,CAAC,KAAG;AAACgE,QAAAA,IAAI,EAAChE,CAAN;AAAQsJ,QAAAA,KAAK,EAACxJ,CAAC,CAACwJ;AAAhB,OAAH,CAAlD,CAAxB;AAAuG,KAA1H,MAA8H;AAAC,YAAMhJ,CAAC,GAACR,CAAR;AAAUU,MAAAA,CAAC,GAAC,KAAK,CAAL,KAASF,CAAT,GAAW,IAAX,SAAsBA,CAAC,CAACuvC,aAAF,CAAgB,IAAIhwC,+DAAJ,CAAM,EAAC,GAAGK,CAAJ;AAAMk6C,QAAAA,SAAS,EAACp6C;AAAhB,OAAN,CAAhB,EAA2C8F,IAA3C,CAAiDhG,CAAC,KAAG;AAACkE,QAAAA,IAAI,EAAClE,CAAN;AAAQwJ,QAAAA,KAAK,EAAChJ;AAAd,OAAH,CAAlD,CAAxB;AAAiG;;AAAA,WAAOE,CAAP;AAAS,GAA5Q;;AAAA,kBAADsG,CAAC;AAAA;AAAA;AAAA,GAA1Y;AAAA,MAAupBnF,CAAC,GAACT,CAAzpB;;;;;;;;;;;;;;;;;;;;;;;;;;ACJr0L;AACA;AACA;AACA;AAC+X,oBAAoB,gEAAC,CAAC,yDAAC,GAAG,eAAe,8BAA8B,iDAAC,iCAAiC,iDAAC,kBAAkB,uDAAC,EAAE,sFAAC,EAAE,KAAK,iDAAC,gBAAgB,qCAAqC,uDAAC,EAAE,sFAAC,EAAE,KAAK,iDAAC,gBAAgB,qCAAqC,uDAAC,EAAE,sFAAC,yBAAyB,UAA+B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACJzrB;AACA;AACA;AACA;AAC26B,mCAAmC,oBAAoB,yDAAC,CAAC,eAAe,mCAAmC,8EAAC,aAAa,iDAAC,4BAA4B,6GAAC,gBAAgB,2DAAC,4HAA4H,gDAAgD,aAAa,8BAA8B,6DAAC,MAAM,0BAA0B,EAAE,6EAAM,KAAK,+FAAC,2CAA2C,OAAO,IAAI,gCAAgC,oCAAoC,OAAO,IAAI,6FAA6F,gCAAgC,4BAA4B,KAAK,UAAU,6IAA6I,iCAAiC,OAAO,2EAA2E,kBAAkB,iBAAiB,kBAAkB,yCAAyC,iEAAW,gEAAgE,8BAA8B,wBAAwB,uGAAuG,2BAA2B,gCAAgC,QAAQ,kGAAC,IAAI,qGAAqG,qBAAqB,eAAe,wEAAwE,kBAAkB,yBAAyB,2BAA2B,+BAA+B,2DAAC,iCAAiC,2BAA2B,2IAA2I,SAAS,uCAAuC,6DAAC,OAAO,MAAM,QAAQ,WAAW,6BAA6B,4LAA4L,6DAAC,gFAAgF,SAAS,uHAAuH,uBAAuB,uBAAuB,0CAA0C,cAAc,YAAY,GAAG,qBAAqB,SAAS,SAAS,0BAA0B,2BAA2B,mHAAmH,qCAAqC,8dAA8d,uBAAuB,6CAA6C,gBAAgB,yDAAC,EAAE,QAAQ,6DAAC,6CAA6C,kGAAC,kGAAkG,GAAG,qBAAqB,uEAAuE,8FAA8F,oCAAoC,mGAAmG,OAAO,sGAAsG,2BAA2B,oBAAoB,6EAAS,6CAA6C,gBAAgB,oCAAoC,+HAA+H,0BAA0B,8FAA8F,qBAAqB,GAAG,cAAc,uDAAC,EAAE,sFAAC,EAAE,gCAAgC,8BAA8B,uDAAC,EAAE,sFAAC,EAAE,WAAW,kCAAkC,uDAAC,EAAE,sFAAC,EAAE,iBAAiB,2DAAC,CAAC,+BAA+B,uDAAC,EAAE,sFAAC,EAAE,YAAY,gCAAgC,uDAAC,EAAE,sFAAC,EAAE,YAAY,gCAAgC,uDAAC,EAAE,sFAAC,uCAAuC,uDAAC,EAAE,sFAAC,EAAE,YAAY,qCAAqC,uDAAC,EAAE,uFAAC,mCAAwF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACJ5nL;AACA;AACA;AACA;AACA;AAA2C;AAAyB;AAAmC;AAAmD;AAAqC;AAA8C;AAAgC;AAAkC;AAAkC;AAAoD;AAAuB;AAAmC;AAAiC;AAAgE;AAAsD;AAAgD;AAAuG;AAA0E;AAA6B;AAA0E;AAA+E;AAAqE;AAAqC;AAA8C;AAA+C;AAAsE;AAAsE;AAAsE;AAAqC;AAAuE;AAAgC;AAAqC;AAA8B;AAAqC;AAA0B;AAAuD;AAAgC;AAAmD;AAA0C;AAA+D,IAAIyL,CAAJ;AAAM,IAAIub,CAAC,GAACvb,CAAC,GAAC,cAAclM,qEAAA,CAAeS,mEAAC,CAACV,yDAAD,CAAhB,CAAd,CAAmC;AAAC+B,EAAAA,WAAW,CAACzC,CAAD,EAAG;AAAC,UAAMA,CAAN,GAAS,KAAK+zF,qBAAL,GAA2B,IAApC,EAAyC,KAAKC,OAAL,GAAa,IAAtD,EAA2D,KAAKC,OAAL,GAAa,IAAIpzF,wDAAJ,EAAxE,EAA8E,KAAKqzF,eAAL,GAAqB,IAAI5xF,8EAAJ,EAAnG,EAAyG,KAAK4V,aAAL,GAAmB,IAAI1X,oEAAJ,CAAM;AAAC2zF,MAAAA,cAAc,EAAC,MAAI,CAAC,KAAKC,WAAL,EAAkBC,cAAnB,EAAkC,KAAKC,UAAL,EAAiB5E,UAAnD,EAA8D,KAAKA,UAAnE,EAA8E,KAAK0E,WAAL,EAAkBG,mBAAhG,CAApB;AAAyIC,MAAAA,mBAAmB,EAAC9oF;AAA7J,KAAN,CAA5H,EAAmS,KAAK4oF,UAAL,GAAgB,IAAnT,EAAwT,KAAKF,WAAL,GAAiB,IAAzU,EAA8U,KAAKK,UAAL,GAAgB,IAA9V,EAAmW,KAAK7D,QAAL,GAAc,IAAI/uF,+EAAJ,EAAjX,EAAuX,KAAK6yF,QAAL,GAAc,IAAIlyF,+EAAJ,EAArY,EAA2Y,KAAKmyF,8BAAL,GAAoC,CAAC,CAAhb,EAAkb,KAAKjF,UAAL,GAAgB,IAAItvF,2DAAJ,EAAlc,EAAwc,KAAKw0F,SAAL,GAAe,IAAIzyF,sDAAJ,EAAvd,EAA6d,KAAK0kF,OAAL,GAAa;AAACmC,MAAAA,IAAI,EAAC,CAAN;AAAQE,MAAAA,GAAG,EAAC,CAAZ;AAAcD,MAAAA,KAAK,EAAC,CAApB;AAAsBE,MAAAA,MAAM,EAAC;AAA7B,KAA1e,EAA0gB,KAAKnxE,KAAL,GAAW,CAAC,CAAthB,EAAwhB,KAAK68E,4BAAL,GAAkC,GAA1jB,EAA8jB,KAAKjG,cAAL,GAAoB,CAAC,CAAnlB,EAAqlB,KAAKrrF,IAAL,GAAU,IAA/lB,EAAomB,KAAKgV,KAAL,GAAW,IAA/mB,EAAonB,KAAKggC,QAAL,GAAc,CAAC,CAAnoB,EAAqoB,KAAKu8C,qBAAL,GAA2B,CAAC,CAAjqB,EAAmqB,KAAKC,KAAL,GAAW,IAAIrjF,wDAAJ,EAA9qB,EAAorB,KAAKsjF,UAAL,GAAgB,IAAI7pF,kEAAJ,EAApsB,EAA0sB,KAAK8pF,gBAAL,GAAsB,IAAhuB,EAAquB,KAAKC,mBAAL,GAAyB,IAA9vB,EAAmwB,KAAKC,yBAAL,GAA+B,CAAC,CAAnyB,EAAqyB,KAAKl8E,KAAL,GAAW,IAAhzB,EAAqzB,KAAKO,MAAL,GAAY,IAAj0B,EAAs0B,KAAK47E,QAAL,GAAc,CAAC,CAAr1B,EAAu1B,KAAKxN,SAAL,GAAe,CAAC,CAAv2B,EAAy2B,KAAKyN,UAAL,GAAgB,IAAIhvF,6DAAJ,CAAM,IAAN,CAAz3B,EAAq4B,KAAKuS,qBAAL,GAA2B,IAAIxY,2DAAJ,EAAh6B,EAAs6B,KAAKk1F,QAAL,GAAc,CAAC,CAAr7B,EAAu7B,KAAKC,iBAAL,GAAuB,CAAC,CAA/8B,EAAi9B,KAAKC,uBAAL,GAA6B,IAA9+B,EAAm/B,KAAKC,aAAL,GAAmB,IAAtgC,EAA2gC,KAAKC,eAAL,GAAqB,IAAhiC,EAAqiC,KAAKC,eAAL,GAAqB,IAA1jC,EAA+jC,KAAKC,iBAAL,GAAuB,IAAtlC,EAA2lC,KAAKC,KAAL,GAAW,IAAtmC,EAA2mC,KAAK5B,OAAL,CAAapyD,GAAb,CAAiB5/B,8DAAC,CAAE,MAAI,KAAK6zF,kBAAX,EAAgC91F,CAAC,IAAE;AAAC,YAAME,CAAC,GAAC,KAAK8X,KAAb;AAAmB,UAAGhY,CAAC,IAAE,KAAKw1F,uBAAL,GAA6B,KAAK5yF,gBAAlC,EAAmD,KAAK8yF,eAAL,GAAqB,KAAKxgF,QAA7E,EAAsF,KAAK0gF,iBAAL,GAAuB,KAAKlhF,UAAlH,EAA6H7H,CAAC,CAACkpF,KAAF,CAAQl0D,GAAR,CAAY,IAAZ,CAA/H,KAAmJ,KAAK2zD,uBAAL,GAA6B,IAA7B,EAAkC3oF,CAAC,CAACkpF,KAAF,CAAQzyF,MAAR,CAAe,IAAf,CAArL,CAAD,EAA4M,KAAKy9D,YAAL,CAAkB,kBAAlB,CAA5M,EAAkP,CAAC/gE,CAAD,IAAIE,CAAzP,EAA2P,KAAK81F,eAAL,EAAsBC,MAAtB,IAA+B,QAAM,KAAKf,mBAAX,IAAgC,KAAKA,mBAAL,CAAyBe,MAAzB,EAA/D,EAAiG,KAAKhB,gBAAL,EAAuBr7E,KAAvB,EAAjG,EAAgI,KAAKs8E,SAAL,EAAhI,CAA3P,KAAiZ,IAAGl2F,CAAC,IAAE,CAACE,CAAP,EAAS;AAAC,YAAG;AAAC,eAAKi2F,QAAL;AAAgB,SAApB,CAAoB,OAAMz1F,CAAN,EAAQ;AAAC,iBAAO,KAAK01F,cAAc,CAAE,MAAI;AAAC,iBAAK3B,UAAL,GAAgB,IAAIn0F,sDAAJ,CAAM,eAAN,EAAsB,IAAtB,EAA2BI,CAA3B,CAAhB;AAA8C,WAArD,CAA1B;AAAkF;;AAAA,gBAAM,KAAKw0F,mBAAX,IAAgC,KAAKA,mBAAL,CAAyBmB,MAAzB,EAAhC,EAAkE,KAAKL,eAAL,CAAqBK,MAArB,EAAlE;AAAgG;AAAC,KAAlqB,EAAoqB9zF,yDAApqB,CAAlB,CAA3mC;AAAqyD;;AAAAsB,EAAAA,UAAU,GAAE;AAAC,SAAKsB,mBAAL,CAAyBE,OAAO,CAACc,GAAR,CAAY,CAAC,KAAKmwF,qBAAL,EAAD,EAA8B,KAAKl/E,QAAL,EAA9B,CAAZ,EAA4DpR,IAA5D,CAAkE,OAAK,KAAKsvF,QAAL,GAAc,CAAC,CAAf,EAAiB1zF,iEAAC,CAAE,MAAI,KAAKoW,KAAX,CAAvB,CAAlE,CAAzB,GAAyI,KAAKo8E,WAAL,GAAiB,IAAIrrF,wDAAJ,CAAM;AAACy9E,MAAAA,IAAI,EAAC;AAAN,KAAN,CAA1J,EAA6K,KAAKyO,gBAAL,GAAsB,IAAIriF,6DAAJ,CAAM;AAAC4zE,MAAAA,IAAI,EAAC,IAAN;AAAWqH,MAAAA,iBAAiB,EAAC;AAACW,QAAAA,eAAe,EAACxuF,CAAC,IAAE,KAAKwuF,eAAL,CAAqBxuF,CAArB,CAApB;AAA4CuuF,QAAAA,kBAAkB,EAACvuF,CAAC,IAAE,KAAKuuF,kBAAL,CAAwBvuF,CAAxB;AAAlE,OAA7B;AAA2H4uF,MAAAA,cAAc,EAAC,KAAKA;AAA/I,KAAN,CAAnM,EAAyW,KAAKoH,eAAL,GAAqB,IAAIrpF,iEAAJ,CAAM;AAAC65E,MAAAA,IAAI,EAAC;AAAN,KAAN,CAA9X,EAAiZ,KAAK+P,4BAAL,EAAjZ,EAAqb,KAAKC,gBAAL,GAAsB,IAAI12E,6DAAJ,CAAM;AAAC0mE,MAAAA,IAAI,EAAC;AAAN,KAAN,CAA3c,EAA8d,KAAK9iF,UAAL,CAAgB,CAACzB,8DAAC,CAAE,MAAI,KAAK6yF,qBAAX,EAAmC90F,CAAC,IAAE,KAAKy2F,eAAL,CAAqBC,QAArB,GAA8B,EAAC,GAAG,KAAKD,eAAL,CAAqBC,QAAzB;AAAkC19E,MAAAA,MAAM,EAAChZ;AAAzC,KAApE,EAAiHgH,mEAAjH,CAAF,EAAsH/E,8DAAC,CAAE,MAAI,KAAK+V,KAAX,EAAmBhY,CAAC,IAAE;AAAC,WAAKy2F,eAAL,KAAuB,KAAKA,eAAL,CAAqB7O,SAArB,GAA+B5nF,CAA/B,EAAiC,KAAKy2F,eAAL,CAAqBE,oBAArB,GAA0C32F,CAAC,GAAC,KAAK4C,gBAAN,GAAuB,KAAKmxF,qBAA/H;AAAsJ,KAA7K,EAA+KxxF,yDAA/K,CAAvH,EAAySN,8DAAC,CAAE,MAAI,KAAK8xF,qBAAX,EAAmC/zF,CAAC,IAAE;AAAC,WAAKy2F,eAAL,KAAuB,KAAKA,eAAL,CAAqBE,oBAArB,GAA0C32F,CAAjE;AAAoE,KAA3G,EAA6GgH,mEAA7G,CAA1S,CAAhB,CAA9d;AAA04B;;AAAAuvF,EAAAA,4BAA4B,GAAE;AAAA;;AAAC,QAAIv2F,CAAC,GAAC,IAAN;AAAW,SAAK0D,UAAL,CAAgB,CAACzB,8DAAC,CAAE,MAAI,KAAKw0F,eAAL,EAAsBz+E,KAA5B,EAAoC9X,CAAC,IAAE;AAAC,YAAMQ,CAAC,GAAC,KAAK6E,GAAL,EAAUgS,SAAV,CAAoB1J,MAApB,GAA2B,CAAnC;;AAAqC,UAAG3N,CAAC,IAAE,CAAC,KAAK0C,gBAAT,IAA2BlC,CAA9B,EAAgC;AAAC,YAAG,QAAMV,CAAT,EAAW;AAAO,cAAME,CAAC,GAACY,iEAAC,CAAE,MAAId,CAAC,GAACgB,2DAAC,CAAChB,CAAD,CAAT,CAAT;AAAwBA,QAAAA,CAAC,GAACC,+DAAC;AAAA,uNAAE,WAAMC,CAAN,EAAS;AAAC,gBAAG;AAAC,oBAAMgB,6DAAC,CAAC,KAAI,CAAC2zF,4BAAN,EAAmC,IAAnC,EAAwC30F,CAAxC,CAAP;AAAkD,aAAtD,CAAsD,MAAK;AAAC;AAAO,aAAnE,SAA0E;AAACF,cAAAA,CAAC,GAAC,IAAF;AAAO;;AAAA0B,YAAAA,kEAAA,CAAY,KAAZ,EAAkBmlB,IAAlB,CAAuB,mBAAvB,EAA2C,2EAA3C;AAAwH,WAAtN;;AAAA;AAAA;AAAA;AAAA,YAAH,EAA4N,KAAKnjB,UAAL,CAAgBxD,CAAhB,EAAkB,+BAAlB,CAA5N;AAA+Q,OAA1V,MAA+V,KAAKsd,aAAL,CAAmB,+BAAnB;AAAoD,KAAhe,EAAke;AAAC4D,MAAAA,IAAI,EAAC,CAAC;AAAP,KAAle,CAAF,CAAhB;AAAigB;;AAAAhd,EAAAA,OAAO,GAAE;AAAC,SAAKi0C,SAAL,KAAiBxrC,CAAC,CAACkpF,KAAF,CAAQzyF,MAAR,CAAe,IAAf,GAAqB,KAAK+xF,UAAL,CAAgBjxF,OAAhB,EAArB,EAA+C,KAAK8T,aAAL,CAAmB9T,OAAnB,EAA/C,EAA4E,KAAK4wF,UAAL,KAAkB,KAAKA,UAAL,CAAgB5wF,OAAhB,IAA0B,KAAKG,IAAL,CAAU,YAAV,EAAuB,IAAvB,CAA5C,CAA5E,EAAsJ,KAAKqsF,QAAL,GAAcpvF,6DAAC,CAAC,KAAKovF,QAAN,CAArK,EAAqL,KAAK8D,QAAL,GAAclzF,6DAAC,CAAC,KAAKkzF,QAAN,CAApM,EAAoN,KAAK+B,eAAL,CAAqBryF,OAArB,EAApN,EAAmP,KAAKG,IAAL,CAAU,iBAAV,EAA4B,IAA5B,CAAnP,EAAqR/C,6DAAC,CAAC,KAAK0zF,mBAAN,CAAtR,EAAiT,KAAKc,eAAL,GAAqBx0F,6DAAC,CAAC,KAAKw0F,eAAN,CAAvU,EAA8V,KAAKf,gBAAL,GAAsBzzF,6DAAC,CAAC,KAAKyzF,gBAAN,CAArX,EAA6Y,KAAKuB,gBAAL,GAAsBh1F,6DAAC,CAAC,KAAKg1F,gBAAN,CAApa,EAA4b,KAAKpC,WAAL,GAAiB5yF,6DAAC,CAAC,KAAK4yF,WAAN,CAA9c,EAAie,KAAKE,UAAL,EAAiBlwF,OAAjB,EAAje,EAA4f,KAAKsrF,UAAL,EAAiB/qF,OAAjB,CAA0B3E,CAAC,IAAEA,CAAC,CAACoE,OAAF,EAA7B,CAA5f,EAAuiB,KAAKsrF,UAAL,CAAgB7hF,MAAhB,GAAuB,CAA9jB,EAAgkB,KAAK+oF,UAAL,EAAhkB,EAAklB,KAAKC,QAAL,CAAcj9E,KAAd,EAAllB,EAAwmB,KAAKq6E,OAAL,CAAa7vF,OAAb,EAAxmB,EAA+nB,KAAKmB,GAAL,GAAS/D,6DAAC,CAAC,KAAK+D,GAAN,CAAzoB,EAAopB,KAAK2uF,eAAL,CAAqB9vF,OAArB,EAArqB;AAAqsB;;AAAA+xF,EAAAA,QAAQ,GAAE;AAAC,SAAK5xF,IAAL,CAAU,OAAV,EAAkB,CAAC,CAAnB;AAAsB;;AAAA2xF,EAAAA,SAAS,GAAE;AAAC,SAAK3xF,IAAL,CAAU,OAAV,EAAkB,CAAC,CAAnB;AAAsB;;AAAAuyF,EAAAA,SAAS,GAAE;AAAC,WAAOzxF,OAAO,CAACC,OAAR,CAAgB,IAAhB,CAAP;AAA6B;;AAAAqiF,EAAAA,KAAK,GAAE;AAAC,WAAOjmF,kEAAA,CAAY,IAAZ,EAAkB+B,KAAlB,CAAwB,UAAxB,EAAmC,0CAAnC,GAA+E,IAAtF;AAA2F;;AAAc,MAAVszF,UAAU,GAAE;AAAC,WAAO,KAAKf,eAAL,EAAsBe,UAA7B;AAAwC;;AAAc,MAAVA,UAAU,CAAC/2F,CAAD,EAAG;AAAC,SAAKg2F,eAAL,KAAuB,KAAKA,eAAL,CAAqBe,UAArB,GAAgC/2F,CAAvD;AAA0D;;AAAa,MAATymF,SAAS,GAAE;AAAC,WAAO,KAAKjiF,IAAL,CAAU,WAAV,CAAP;AAA8B;;AAAa,MAATiiF,SAAS,CAACzmF,CAAD,EAAG;AAAC,SAAKuE,IAAL,CAAU,WAAV,EAAsBvE,CAAtB;AAAyB;;AAAU,MAAN8Y,MAAM,GAAE;AAAC,WAAO,IAAP;AAAY;;AAA2B,MAAvBk+E,uBAAuB,GAAE;AAAC,WAAM,EAAN;AAAS;;AAAmB,MAAfP,eAAe,GAAE;AAAC,WAAO,IAAIpvE,yEAAJ,CAAM;AAACqvE,MAAAA,QAAQ,EAAC;AAACO,QAAAA,QAAQ,EAAC,CAAC,CAAX;AAAaC,QAAAA,eAAe,EAAC,CAAC,CAA9B;AAAgCl+E,QAAAA,MAAM,EAAC,CAAC;AAAxC,OAAV;AAAqDzT,MAAAA,GAAG,EAAC,MAAI,KAAKA,GAAlE;AAAsE4xF,MAAAA,0BAA0B,EAAC,CAACn3F,CAAD,EAAGE,CAAH,KAAO,KAAKi3F,0BAAL,CAAgCn3F,CAAhC,EAAkCE,CAAlC,CAAxG;AAA6I,SAAG,KAAK82F;AAArJ,KAAN,CAAP;AAA4L;;AAAU,MAANh+E,MAAM,GAAE;AAAC,WAAO,KAAKxU,IAAL,CAAU,QAAV,CAAP;AAA2B;;AAAU,MAANwU,MAAM,CAAChZ,CAAD,EAAG;AAAC,SAAKuE,IAAL,CAAU,QAAV,EAAmBvE,CAAnB;AAAsB;;AAAmB,MAAfk3F,eAAe,GAAE;AAAC,WAAO,KAAKE,yBAAL,EAAP;AAAwC;;AAAe,MAAXC,WAAW,GAAE;AAAC,WAAO,KAAKC,UAAZ;AAAuB;;AAAc,MAAVA,UAAU,GAAE;AAAC,WAAM,CAAC,CAAP;AAAS;;AAAsB,MAAlBxB,kBAAkB,GAAE;AAAC,WAAM,EAAE,KAAKrB,UAAL,IAAiB,CAAC,KAAKa,QAAvB,IAAiC,KAAKC,iBAAtC,IAAyD,CAAC,KAAKhwF,GAA/D,IAAoEjE,qEAAA,CAAa,KAAKiE,GAAlB,KAAwB,CAAC,KAAKA,GAAL,CAASC,MAAtG,IAA8G,MAAI,KAAKyT,KAAvH,IAA8H,MAAI,KAAKO,MAAvI,IAA+I,CAAC,KAAK5W,gBAArJ,IAAuK,CAAC,KAAK20F,yBAAL,CAA+B,KAAK30F,gBAApC,CAAxK,IAA+N,CAAC,KAAK4yF,uBAAN,IAA+B,CAAC,KAAKiB,eAAL,EAAsBz+E,KAArR,IAA4R,CAAC,KAAK28E,8BAApS,CAAN;AAA0U;;AAAc,MAAV6C,UAAU,GAAE;AAAC,WAAO,CAAP;AAAS;;AAAO,MAAHjyF,GAAG,CAACvF,CAAD,EAAG;AAACA,IAAAA,CAAC,KAAG,KAAKwE,IAAL,CAAU,KAAV,CAAJ,KAAuBxE,CAAC,EAAEq4C,SAAH,KAAe32C,kEAAA,CAAY,IAAZ,EAAkBmlB,IAAlB,CAAuB,MAAvB,EAA8B,uCAA9B,EAAsE;AAACthB,MAAAA,GAAG,EAACvF;AAAL,KAAtE,GAA+EA,CAAC,GAAC,IAAhG,GAAsGsB,qEAAA,CAAatB,CAAb,KAAiBA,CAAC,CAACkF,IAAF,GAASnB,KAAT,CAAgB,MAAI,CAAE,CAAtB,CAAvH,EAAgJ,KAAK0zF,WAAL,IAAkB,CAAC,KAAKp/C,SAAxB,KAAoC,KAAKq/C,eAAL,IAAuB,KAAKlC,uBAAL,GAA6B,IAAxF,CAAhJ,EAA8O,KAAKjxF,IAAL,CAAU,KAAV,EAAgBvE,CAAhB,CAArQ;AAAyR;;AAAoB,MAAhB4C,gBAAgB,GAAE;AAAC,UAAM5C,CAAC,GAAC,KAAK+zF,qBAAL,IAA4B,KAAKyB,uBAAjC,IAA0D,KAAKmC,0BAAL,EAA1D,IAA6F,IAArG;;AAA0G,QAAG33F,CAAC,IAAE,KAAKy2F,eAAL,EAAsBC,QAAtB,EAAgCQ,eAAtC,EAAsD;AAAC,YAAMh3F,CAAC,GAACF,CAAC,CAACS,KAAF,EAAR;AAAkB,aAAOP,CAAC,CAACm+B,OAAF,GAAU,KAAKo4D,eAAL,CAAqBp4D,OAA/B,EAAuCn+B,CAAC,CAAC03F,aAAF,GAAgB,KAAKnB,eAAL,CAAqBmB,aAA5E,EAA0F13F,CAAjG;AAAmG;;AAAA,WAAOF,CAAP;AAAS;;AAAoB,MAAhB4C,gBAAgB,CAAC5C,CAAD,EAAG;AAAC,UAAME,CAAC,GAAC,CAACqI,mFAAC,CAACvI,CAAD,EAAG,KAAKwE,IAAL,CAAU,kBAAV,CAAH,CAAV;AAA4C,SAAKD,IAAL,CAAU,uBAAV,EAAkCvE,CAAlC,GAAqCE,CAAC,KAAG,KAAKqE,IAAL,CAAU,kBAAV,EAA6BvE,CAA7B,GAAgC,KAAK63F,wBAAL,CAA8B73F,CAA9B,CAAnC,CAAtC;AAA2G;;AAAA63F,EAAAA,wBAAwB,CAAC73F,CAAD,EAAG,CAAE;;AAAc,MAAV83F,UAAU,GAAE;AAAC,WAAM,CAAC,KAAKrR,SAAN,IAAiB,CAAC,KAAK6Q,UAAvB,IAAmC,CAAC,KAAKlC,QAA/C;AAAwD;;AAAc,MAAV1gF,UAAU,GAAE;AAAC,WAAO,KAAKihF,eAAL,IAAsB,KAAKC,iBAA3B,IAA8C,KAAKmC,oBAAL,EAA9C,IAA2E,IAAlF;AAAuF;;AAAc,MAAVrjF,UAAU,CAAC1U,CAAD,EAAG;AAAC,SAAK21F,eAAL,GAAqB31F,CAArB;AAAuB;;AAAY,MAARkV,QAAQ,GAAE;AAAC,WAAO,KAAKugF,aAAL,IAAoB,KAAKC,eAAzB,IAA0C,KAAKsC,kBAAL,EAA1C,IAAqE9rF,2DAA5E;AAA8E;;AAAY,MAARgJ,QAAQ,CAAClV,CAAD,EAAG;AAAC,SAAKy1F,aAAL,GAAmBz1F,CAAnB,EAAqBsL,wEAAC,CAACtL,CAAD,CAAD,IAAM0B,kEAAA,CAAY,IAAZ,EAAkBmlB,IAAlB,CAAuB,WAAvB,EAAoC,qBAAoB7mB,CAAE,qCAA1D,CAA3B;AAA2H;;AAAS,MAALi4F,KAAK,GAAE;AAAC,WAAO,KAAKjC,eAAL,EAAsBiC,KAA7B;AAAmC;;AAAiB,MAAbC,aAAa,GAAE;AAAC,WAAO,KAAKzB,eAAL,EAAsBz9E,MAA7B;AAAoC;;AAAU,MAANm/E,MAAM,GAAE;AAAC,WAAO,KAAKnC,eAAL,EAAsBmC,MAAtB,IAA8B,KAAKnE,OAAnC,IAA4C,SAAnD;AAA6D;;AAAU,MAANmE,MAAM,CAACn4F,CAAD,EAAG;AAAC,SAAKg0F,OAAL,GAAah0F,CAAb,EAAe,KAAK+gE,YAAL,CAAkB,QAAlB,CAAf;AAA2C;;AAAQ,MAAJvrC,IAAI,GAAE;AAAC,WAAM,CAAC,KAAKvc,KAAN,EAAY,KAAKO,MAAjB,CAAN;AAA+B;;AAAkB,MAAd4+E,cAAc,GAAE;AAAC,WAAO,KAAKvC,KAAL,IAAY,IAAI3uE,kDAAJ,EAAnB;AAAyB;;AAAAqoE,EAAAA,aAAa,CAACvvF,CAAD,EAAG;AAAC,WAAO,KAAKi1F,gBAAL,EAAuB1F,aAAvB,CAAqCvvF,CAArC,KAAyCqF,OAAO,CAAC+O,MAAR,EAAhD;AAAiE;;AAAAujF,EAAAA,0BAA0B,GAAE;AAAC,WAAO,KAAKlB,eAAL,EAAsB7zF,gBAA7B;AAA8C;;AAAAw0F,EAAAA,yBAAyB,GAAE;AAAC,WAAM,CAAC,KAAK7xF,GAAL,IAAU,qBAAoB,KAAKA,GAAnC,GAAuC,KAAKA,GAAL,CAAS2xF,eAAhD,GAAgE,KAAK,CAAtE,KAA0E,KAAKT,eAAL,EAAsBS,eAAhG,IAAiH,IAAvH;AAA4H;;AAAAc,EAAAA,kBAAkB,GAAE;AAAC,WAAO,IAAP;AAAY;;AAAAD,EAAAA,oBAAoB,GAAE;AAAC,WAAO,IAAP;AAAY;;AAAAvJ,EAAAA,eAAe,CAACxuF,CAAD,EAAG;AAAC,UAAM,IAAIM,sDAAJ,CAAM,mCAAN,CAAN;AAAiD;;AAAAiuF,EAAAA,kBAAkB,CAACvuF,CAAD,EAAG;AAAC,WAAM,CAAC,CAAP;AAAS;;AAAMoX,EAAAA,QAAQ,GAAE;AAAA;AAAE;;AAAMk/E,EAAAA,qBAAqB,GAAE;AAAA;AAAE;;AAAAM,EAAAA,UAAU,GAAE;AAAC,SAAKtB,QAAL,GAAc,CAAC,CAAf;AAAiB;;AAAA6B,EAAAA,0BAA0B,GAAE;AAAC,WAAM;AAACvQ,MAAAA,WAAW,EAAC;AAAb,KAAN;AAAyB;;AAAA2Q,EAAAA,yBAAyB,CAACv3F,CAAD,EAAG;AAAC,WAAO,QAAM,KAAKm3F,0BAAL,CAAgCn3F,CAAhC,CAAb;AAAgD;;AAAA8D,EAAAA,IAAI,CAAC9D,CAAD,EAAGE,CAAH,EAAK;AAAC,WAAO,KAAKm4F,UAAL,MAAmB,CAAC,KAAKrgF,KAAzB,IAAgCtW,kEAAA,CAAY,IAAZ,EAAkBmlB,IAAlB,CAAuB,SAAvB,EAAiC,+KAAjC,CAAhC,EAAkP,MAAM/iB,IAAN,CAAW9D,CAAX,EAAaE,CAAb,CAAzP;AAAyQ;;AAAAw3F,EAAAA,eAAe,GAAE;AAAC,SAAK1/E,KAAL,KAAajW,6DAAC,CAAE,MAAI,KAAKs2C,SAAL,IAAgB,CAAC,CAAD,KAAK,KAAKy9C,kBAAhC,EAAqD,MAAI,KAAKP,iBAAL,GAAuB,CAAC,CAAjF,EAAoF;AAACp2E,MAAAA,IAAI,EAAC,CAAC;AAAP,KAApF,CAAD,EAAgG,KAAKo2E,iBAAL,GAAuB,CAAC,CAArI;AAAwI;;AAAA+C,EAAAA,kBAAkB,CAACt4F,CAAD,EAAG;AAAC,SAAKg2F,eAAL,CAAqBiC,KAArB,CAA2Bp2D,GAA3B,CAA+B7hC,CAA/B,GAAkC,KAAK+2F,UAAL,GAAgB/2F,CAAlD;AAAoD;;AAAAu4F,EAAAA,qBAAqB,GAAE;AAAC,SAAK9D,UAAL,GAAgB,IAAhB;AAAqB;;AAA18P,CAA3C;AAAu/PrsE,CAAC,CAAC2tE,KAAF,GAAQ,IAAI31F,2DAAJ,EAAR,EAAcJ,uDAAC,CAAC,CAACqS,uFAAC,EAAF,CAAD,EAAO+V,CAAC,CAACjgB,SAAT,EAAmB,uBAAnB,EAA2C,KAAK,CAAhD,CAAf,EAAkEnI,uDAAC,CAAC,CAACqS,uFAAC,EAAF,CAAD,EAAO+V,CAAC,CAACjgB,SAAT,EAAmB,YAAnB,EAAgC,IAAhC,CAAnE,EAAyGnI,uDAAC,CAAC,CAACqS,uFAAC,CAAC;AAAChK,EAAAA,QAAQ,EAAC,CAAC;AAAX,CAAD,CAAF,CAAD,EAAoB+f,CAAC,CAACjgB,SAAtB,EAAgC,eAAhC,EAAgD,KAAK,CAArD,CAA1G,EAAkKnI,uDAAC,CAAC,CAACqS,uFAAC,EAAF,CAAD,EAAO+V,CAAC,CAACjgB,SAAT,EAAmB,YAAnB,EAAgC,KAAK,CAArC,CAAnK,EAA2MnI,uDAAC,CAAC,CAACqS,uFAAC,EAAF,CAAD,EAAO+V,CAAC,CAACjgB,SAAT,EAAmB,WAAnB,EAA+B,IAA/B,CAA5M,EAAiPnI,uDAAC,CAAC,CAACqS,uFAAC,EAAF,CAAD,EAAO+V,CAAC,CAACjgB,SAAT,EAAmB,aAAnB,EAAiC,KAAK,CAAtC,CAAlP,EAA2RnI,uDAAC,CAAC,CAACqS,uFAAC,EAAF,CAAD,EAAO+V,CAAC,CAACjgB,SAAT,EAAmB,QAAnB,EAA4B,IAA5B,CAA5R,EAA8TnI,uDAAC,CAAC,CAACqS,uFAAC,EAAF,CAAD,EAAO+V,CAAC,CAACjgB,SAAT,EAAmB,yBAAnB,EAA6C,IAA7C,CAA/T,EAAkXnI,uDAAC,CAAC,CAACqS,uFAAC,EAAF,CAAD,EAAO+V,CAAC,CAACjgB,SAAT,EAAmB,iBAAnB,EAAqC,IAArC,CAAnX,EAA8ZnI,uDAAC,CAAC,CAACqS,uFAAC,EAAF,CAAD,EAAO+V,CAAC,CAACjgB,SAAT,EAAmB,YAAnB,EAAgC,KAAK,CAArC,CAA/Z,EAAucnI,uDAAC,CAAC,CAACqS,uFAAC,CAAC;AAAC9O,EAAAA,IAAI,EAACnB,4DAACA;AAAP,CAAD,CAAF,CAAD,EAAegmB,CAAC,CAACjgB,SAAjB,EAA2B,QAA3B,EAAoC,IAApC,CAAxc,EAAkfnI,uDAAC,CAAC,CAACqS,uFAAC,CAAC9G,4FAAC,CAAC1J,+EAAD,EAAG,UAAH,CAAF,CAAF,CAAD,EAAsBumB,CAAC,CAACjgB,SAAxB,EAAkC,UAAlC,EAA6C,KAAK,CAAlD,CAAnf,EAAwiBnI,uDAAC,CAAC,CAACqS,uFAAC,CAAC9G,4FAAC,CAAC/I,+EAAD,EAAG,UAAH,CAAF,CAAF,CAAD,EAAsB4lB,CAAC,CAACjgB,SAAxB,EAAkC,UAAlC,EAA6C,KAAK,CAAlD,CAAziB,EAA8lBnI,uDAAC,CAAC,CAACqS,uFAAC,CAAC;AAAChK,EAAAA,QAAQ,EAAC,CAAC,CAAX;AAAa9E,EAAAA,IAAI,EAAC8H,qEAACA;AAAnB,CAAD,CAAF,CAAD,EAA2B+c,CAAC,CAACjgB,SAA7B,EAAuC,iBAAvC,EAAyD,IAAzD,CAA/lB,EAA8pBnI,uDAAC,CAAC,CAACqS,uFAAC,CAAC;AAAChK,EAAAA,QAAQ,EAAC,CAAC;AAAX,CAAD,CAAF,CAAD,EAAoB+f,CAAC,CAACjgB,SAAtB,EAAgC,aAAhC,EAA8C,IAA9C,CAA/pB,EAAmtBnI,uDAAC,CAAC,CAACqS,uFAAC,CAAC;AAAChK,EAAAA,QAAQ,EAAC,CAAC;AAAX,CAAD,CAAF,CAAD,EAAoB+f,CAAC,CAACjgB,SAAtB,EAAgC,YAAhC,EAA6C,IAA7C,CAAptB,EAAuwBnI,uDAAC,CAAC,CAACqS,uFAAC,CAAC;AAAChK,EAAAA,QAAQ,EAAC,CAAC,CAAX;AAAamwF,EAAAA,SAAS,EAAC,CAAC,YAAD,EAAc,UAAd,EAAyB,mBAAzB,EAA6C,KAA7C,EAAmD,aAAnD,EAAiE,OAAjE,EAAyE,QAAzE,EAAkF,kBAAlF,EAAqG,yBAArG,EAA+H,uBAA/H,EAAuJ,gCAAvJ;AAAvB,CAAD,CAAF,CAAD,EAAuNpwE,CAAC,CAACjgB,SAAzN,EAAmO,oBAAnO,EAAwP,IAAxP,CAAxwB,EAAsgCnI,uDAAC,CAAC,CAACqS,uFAAC,CAAC;AAAChK,EAAAA,QAAQ,EAAC,CAAC;AAAX,CAAD,CAAF,CAAD,EAAoB+f,CAAC,CAACjgB,SAAtB,EAAgC,gCAAhC,EAAiE,KAAK,CAAtE,CAAvgC,EAAglCnI,uDAAC,CAAC,CAACqS,uFAAC,CAAC;AAAC9O,EAAAA,IAAI,EAACnD,2DAAN;AAAQiI,EAAAA,QAAQ,EAAC,CAAC;AAAlB,CAAD,CAAF,CAAD,EAA2B+f,CAAC,CAACjgB,SAA7B,EAAuC,YAAvC,EAAoD,KAAK,CAAzD,CAAjlC,EAA6oCnI,uDAAC,CAAC,CAACqS,uFAAC,EAAF,CAAD,EAAO+V,CAAC,CAACjgB,SAAT,EAAmB,YAAnB,EAAgC,IAAhC,CAA9oC,EAAorCnI,uDAAC,CAAC,CAACqS,uFAAC,CAAC;AAAC9O,EAAAA,IAAI,EAACpB,sDAACA;AAAP,CAAD,CAAF,CAAD,EAAeimB,CAAC,CAACjgB,SAAjB,EAA2B,WAA3B,EAAuC,KAAK,CAA5C,CAArrC,EAAouCnI,uDAAC,CAAC,CAACqS,uFAAC,CAAC;AAAC3E,EAAAA,KAAK,EAAC,IAAP;AAAYnK,EAAAA,IAAI,EAACrD,+CAACA;AAAlB,CAAD,CAAF,CAAD,EAA0BkoB,CAAC,CAACjgB,SAA5B,EAAsC,KAAtC,EAA4C,IAA5C,CAAruC,EAAuxCnI,uDAAC,CAAC,CAACqS,uFAAC,EAAF,CAAD,EAAO+V,CAAC,CAACjgB,SAAT,EAAmB,SAAnB,EAA6B,KAAK,CAAlC,CAAxxC,EAA6zCnI,uDAAC,CAAC,CAACqS,uFAAC,CAAC;AAAChK,EAAAA,QAAQ,EAAC,CAAC;AAAX,CAAD,CAAF,CAAD,EAAoB+f,CAAC,CAACjgB,SAAtB,EAAgC,OAAhC,EAAwC,KAAK,CAA7C,CAA9zC,EAA82CnI,uDAAC,CAAC,CAACqS,uFAAC,CAAC;AAAC9O,EAAAA,IAAI,EAACiI,sEAACA;AAAP,CAAD,CAAF,CAAD,EAAe4c,CAAC,CAACjgB,SAAjB,EAA2B,kBAA3B,EAA8C,IAA9C,CAA/2C,EAAm6CnI,uDAAC,CAAC,CAACqS,uFAAC,EAAF,CAAD,EAAO+V,CAAC,CAACjgB,SAAT,EAAmB,8BAAnB,EAAkD,KAAK,CAAvD,CAAp6C,EAA89CnI,uDAAC,CAAC,CAACqS,uFAAC,EAAF,CAAD,EAAO+V,CAAC,CAACjgB,SAAT,EAAmB,YAAnB,EAAgC,IAAhC,CAA/9C,EAAqgDnI,uDAAC,CAAC,CAACqS,uFAAC,CAAC;AAAChK,EAAAA,QAAQ,EAAC,CAAC;AAAX,CAAD,CAAF,CAAD,EAAoB+f,CAAC,CAACjgB,SAAtB,EAAgC,gBAAhC,EAAiD,KAAK,CAAtD,CAAtgD,EAA+jDnI,uDAAC,CAAC,CAACqS,uFAAC,CAAC;AAAC9O,EAAAA,IAAI,EAACzB,4DAACA;AAAP,CAAD,CAAF,CAAD,EAAesmB,CAAC,CAACjgB,SAAjB,EAA2B,YAA3B,EAAwC,IAAxC,CAAhkD,EAA8mDnI,uDAAC,CAAC,CAACqS,uFAAC,CAAC;AAAC9O,EAAAA,IAAI,EAAC6E,MAAN;AAAa4B,EAAAA,WAAW,EAAC,CAAC;AAA1B,CAAD,CAAF,CAAD,EAAmCoe,CAAC,CAACjgB,SAArC,EAA+C,UAA/C,EAA0D,IAA1D,CAA/mD,EAA+qDnI,uDAAC,CAAC,CAACqS,uFAAC,EAAF,CAAD,EAAO+V,CAAC,CAACjgB,SAAT,EAAmB,OAAnB,EAA2B,IAA3B,CAAhrD,EAAitDnI,uDAAC,CAAC,CAACqS,uFAAC,EAAF,CAAD,EAAO+V,CAAC,CAACjgB,SAAT,EAAmB,iBAAnB,EAAqC,KAAK,CAA1C,CAAltD,EAA+vDnI,uDAAC,CAAC,CAACqS,uFAAC,CAAC;AAAChK,EAAAA,QAAQ,EAAC,CAAC;AAAX,CAAD,CAAF,CAAD,EAAoB+f,CAAC,CAACjgB,SAAtB,EAAgC,MAAhC,EAAuC,KAAK,CAA5C,CAAhwD,EAA+yDnI,uDAAC,CAAC,CAACqS,uFAAC,CAAC;AAAC9O,EAAAA,IAAI,EAACwG;AAAN,CAAD,CAAF,CAAD,EAAoBqe,CAAC,CAACjgB,SAAtB,EAAgC,OAAhC,EAAwC,KAAK,CAA7C,CAAhzD,EAAg2DnI,uDAAC,CAAC,CAACqS,uFAAC,CAAC;AAAChK,EAAAA,QAAQ,EAAC,CAAC;AAAX,CAAD,CAAF,CAAD,EAAoB+f,CAAC,CAACjgB,SAAtB,EAAgC,UAAhC,EAA2C,KAAK,CAAhD,CAAj2D,EAAo5DnI,uDAAC,CAAC,CAACqS,uFAAC,CAAC;AAAChK,EAAAA,QAAQ,EAAC,CAAC;AAAX,CAAD,CAAF,CAAD,EAAoB+f,CAAC,CAACjgB,SAAtB,EAAgC,uBAAhC,EAAwD,KAAK,CAA7D,CAAr5D,EAAq9DnI,uDAAC,CAAC,CAACqS,uFAAC,CAAC;AAAChK,EAAAA,QAAQ,EAAC,CAAC;AAAX,CAAD,CAAF,CAAD,EAAoB+f,CAAC,CAACjgB,SAAtB,EAAgC,eAAhC,EAAgD,IAAhD,CAAt9D,EAA4gEnI,uDAAC,CAAC,CAACqS,uFAAC,EAAF,CAAD,EAAO+V,CAAC,CAACjgB,SAAT,EAAmB,QAAnB,EAA4B,IAA5B,CAA7gE,EAA+iEnI,uDAAC,CAAC,CAACqS,uFAAC,CAAC;AAAChK,EAAAA,QAAQ,EAAC,CAAC;AAAX,CAAD,CAAF,CAAD,EAAoB+f,CAAC,CAACjgB,SAAtB,EAAgC,OAAhC,EAAwC,KAAK,CAA7C,CAAhjE,EAAgmEnI,uDAAC,CAAC,CAACqS,uFAAC,CAAC;AAAC9O,EAAAA,IAAI,EAAC4H,kEAAN;AAAQnB,EAAAA,WAAW,EAAC,CAAC;AAArB,CAAD,CAAF,CAAD,EAA8Boe,CAAC,CAACjgB,SAAhC,EAA0C,YAA1C,EAAuD,KAAK,CAA5D,CAAjmE,EAAgqEnI,uDAAC,CAAC,CAACqS,uFAAC,EAAF,CAAD,EAAO+V,CAAC,CAACjgB,SAAT,EAAmB,kBAAnB,EAAsC,KAAK,CAA3C,CAAjqE,EAA+sEnI,uDAAC,CAAC,CAACqS,uFAAC,EAAF,CAAD,EAAO+V,CAAC,CAACjgB,SAAT,EAAmB,qBAAnB,EAAyC,KAAK,CAA9C,CAAhtE,EAAiwEnI,uDAAC,CAAC,CAACqS,uFAAC,EAAF,CAAD,EAAO+V,CAAC,CAACjgB,SAAT,EAAmB,kBAAnB,EAAsC,KAAK,CAA3C,CAAlwE,EAAgzEnI,uDAAC,CAAC,CAACqS,uFAAC,EAAF,CAAD,EAAO+V,CAAC,CAACjgB,SAAT,EAAmB,OAAnB,EAA2B,KAAK,CAAhC,CAAjzE,EAAo1EnI,uDAAC,CAAC,CAACqS,uFAAC,EAAF,CAAD,EAAO+V,CAAC,CAACjgB,SAAT,EAAmB,QAAnB,EAA4B,KAAK,CAAjC,CAAr1E,EAAy3EnI,uDAAC,CAAC,CAACqS,uFAAC,CAAC;AAAChK,EAAAA,QAAQ,EAAC,CAAC;AAAX,CAAD,CAAF,CAAD,EAAoB+f,CAAC,CAACjgB,SAAtB,EAAgC,UAAhC,EAA2C,KAAK,CAAhD,CAA13E,EAA66EnI,uDAAC,CAAC,CAACqS,uFAAC,CAAC;AAAC3E,EAAAA,KAAK,EAAC,IAAP;AAAYrF,EAAAA,QAAQ,EAAC,CAAC;AAAtB,CAAD,CAAF,CAAD,EAA+B+f,CAAC,CAACjgB,SAAjC,EAA2C,MAA3C,EAAkD,IAAlD,CAA96E,EAAs+EnI,uDAAC,CAAC,CAACqS,uFAAC,CAAC;AAAChK,EAAAA,QAAQ,EAAC,CAAC;AAAX,CAAD,CAAF,CAAD,EAAoB+f,CAAC,CAACjgB,SAAtB,EAAgC,WAAhC,EAA4C,KAAK,CAAjD,CAAv+E,EAA2hFnI,uDAAC,CAAC,CAACqS,uFAAC,CAAC;AAAChK,EAAAA,QAAQ,EAAC,CAAC;AAAX,CAAD,CAAF,CAAD,EAAoB+f,CAAC,CAACjgB,SAAtB,EAAgC,YAAhC,EAA6C,KAAK,CAAlD,CAA5hF,EAAilFnI,uDAAC,CAAC,CAACqS,uFAAC,CAAC;AAAChK,EAAAA,QAAQ,EAAC,CAAC;AAAX,CAAD,CAAF,CAAD,EAAoB+f,CAAC,CAACjgB,SAAtB,EAAgC,uBAAhC,EAAwD,KAAK,CAA7D,CAAllF,EAAkpFnI,uDAAC,CAAC,CAACqS,uFAAC,EAAF,CAAD,EAAO+V,CAAC,CAACjgB,SAAT,EAAmB,UAAnB,EAA8B,KAAK,CAAnC,CAAnpF,EAAyrFnI,uDAAC,CAAC,CAACqS,uFAAC,EAAF,CAAD,EAAO+V,CAAC,CAACjgB,SAAT,EAAmB,mBAAnB,EAAuC,KAAK,CAA5C,CAA1rF,EAAyuFnI,uDAAC,CAAC,CAACqS,uFAAC,EAAF,CAAD,EAAO+V,CAAC,CAACjgB,SAAT,EAAmB,yBAAnB,EAA6C,KAAK,CAAlD,CAA1uF,EAA+xFnI,uDAAC,CAAC,CAACqS,uFAAC,EAAF,CAAD,EAAO+V,CAAC,CAACjgB,SAAT,EAAmB,eAAnB,EAAmC,KAAK,CAAxC,CAAhyF,EAA20FnI,uDAAC,CAAC,CAACqS,uFAAC,EAAF,CAAD,EAAO+V,CAAC,CAACjgB,SAAT,EAAmB,iBAAnB,EAAqC,KAAK,CAA1C,CAA50F,EAAy3FnI,uDAAC,CAAC,CAACqS,uFAAC,EAAF,CAAD,EAAO+V,CAAC,CAACjgB,SAAT,EAAmB,iBAAnB,EAAqC,KAAK,CAA1C,CAA13F,EAAu6FnI,uDAAC,CAAC,CAACqS,uFAAC,EAAF,CAAD,EAAO+V,CAAC,CAACjgB,SAAT,EAAmB,mBAAnB,EAAuC,KAAK,CAA5C,CAAx6F,EAAu9FnI,uDAAC,CAAC,CAACqS,uFAAC,CAAC;AAAC9O,EAAAA,IAAI,EAAC2jB,kDAACA;AAAP,CAAD,CAAF,CAAD,EAAekB,CAAC,CAACjgB,SAAjB,EAA2B,OAA3B,EAAmC,KAAK,CAAxC,CAAx9F,EAAmgGnI,uDAAC,CAAC,CAACqS,uFAAC,CAAC;AAAChK,EAAAA,QAAQ,EAAC,CAAC,CAAX;AAAa9E,EAAAA,IAAI,EAAC2jB,kDAACA;AAAnB,CAAD,CAAF,CAAD,EAA2BkB,CAAC,CAACjgB,SAA7B,EAAuC,gBAAvC,EAAwD,IAAxD,CAApgG,EAAkkGigB,CAAC,GAACvb,CAAC,GAAC7M,uDAAC,CAAC,CAACD,uFAAC,CAAC,iBAAD,CAAF,CAAD,EAAwBqoB,CAAxB,CAAvkG;AAAkmG,MAAMhd,CAAC,GAAC43B,UAAU,CAACC,OAAnB;AAA2B73B,CAAC,IAAE,CAACA,CAAC,CAAC2qF,KAAN,IAAa17E,MAAM,CAACI,cAAP,CAAsBrP,CAAtB,EAAwB,OAAxB,EAAgC;AAAC83B,EAAAA,YAAY,EAAC,CAAC,CAAf;AAAiBC,EAAAA,UAAU,EAAC,CAAC,CAA7B;AAA+BC,EAAAA,QAAQ,EAAC,CAAC,CAAzC;AAA2C11B,EAAAA,KAAK,EAAC0a,CAAC,CAAC2tE;AAAnD,CAAhC,CAAb;AAAwG,MAAMjjF,CAAC,GAACsV,CAAR;;AAAU,SAAS1c,CAAT,CAAW1L,CAAX,EAAa;AAAC,SAAOA,CAAC,CAAC0vF,UAAT;AAAoB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACJrpa;AACA;AACA;AACA;AACA;AAA2C;AAAuB;AAA+B;AAAqC;AAA8C;AAAgC;AAAgC;AAAiC;AAAgD;AAA+E;AAAwD;AAA0E;AAAkE;AAA6B;AAA0E;AAAoE;AAA8D;AAA6C;AAAyD;AAAiD;AAA2C;AAAyB;AAAwC;AAAiC;AAAkD;AAAyE;AAA0C;AAA2C;AAA+B;AAAiC;AAAoC;AAAuD;AAA4D;AAAiD;AAAyD;AAA6E;AAAkE;AAAgE;AAAmJ;AAAgD;AAAuD;AAAwF;AAAsE;AAAoD;AAAgH;AAAuD;AAAiC;AAAsC;AAA8C;AAAuD;AAAsC,IAAI5nE,CAAJ,EAAMI,CAAN,EAAQN,CAAR,EAAUud,EAAV,EAAaE,EAAb,EAAgBI,EAAhB,EAAmBF,EAAnB;;SAAqCM;;;;;0MAAf,aAAmB;AAAC,UAAK,GAAE;AAACyzD,MAAAA,cAAc,EAACt5F,CAAhB;AAAkBu5F,MAAAA,gBAAgB,EAACr5F,CAAnC;AAAqCs5F,MAAAA,YAAY,EAAC94F,CAAlD;AAAoD+4F,MAAAA,iBAAiB,EAACx5F,CAAtE;AAAwEy5F,MAAAA,eAAe,EAACt5F,CAAxF;AAA0Fu5F,MAAAA,UAAU,EAACr5F,CAArG;AAAuGs5F,MAAAA,KAAK,EAACj5F;AAA7G,KAAF,UAAyH0E,OAAO,CAACc,GAAR,CAAY,CAAC,wTAAD,EAA6B,u5EAA7B,CAAZ,CAA9H;AAAuM+hB,IAAAA,CAAC,GAACloB,CAAF,EAAI4nB,CAAC,GAAC1nB,CAAN,EAAQilC,EAAE,GAACzkC,CAAX,EAAa2kC,EAAE,GAACplC,CAAhB,EAAkBwlC,EAAE,GAACrlC,CAArB,EAAuBmlC,EAAE,GAACjlC,CAA1B,EAA4BwnB,CAAC,GAACnnB,CAA9B;AAAgC;;;;AAAA,IAAIolC,EAAE,GAAC,cAAcnkC,uEAAC,CAACyQ,yDAAC,CAACtQ,+DAAC,CAACiF,iDAAD,CAAF,CAAF,CAAf,CAAyB;AAACvE,EAAAA,WAAW,CAACzC,CAAD,EAAG;AAAA;;AAAC,WAAMA,CAAN,kBAAS,KAAK65F,cAAL,GAAoB,IAA7B,EAAkC,KAAKC,SAAL,GAAe,IAAjD,EAAsD,KAAKnR,KAAL,GAAW,IAAjE,EAAsE,KAAKoR,iBAAL,GAAuB,EAA7F,EAAgG,KAAKC,cAAL,GAAoB,IAAI/5F,oEAAJ,CAAM;AAACk0F,MAAAA,cAAc,EAAC,MAAI,CAAC,KAAKC,WAAL,EAAkBC,cAAnB,EAAkC,KAAK3E,UAAvC,EAAkD,KAAK0E,WAAL,EAAkBG,mBAApE,CAApB;AAA6GC,MAAAA,mBAAmB,EAAC,MAAI;AAArI,KAAN,CAApH,EAAsQ,KAAKyF,oBAAL,GAA0B,IAAhS,EAAqS,KAAKC,WAAL,GAAiB,CAAtT,EAAwT,KAAKC,WAAL,GAAiB,IAAIp6F,4DAAJ,CAAM;AAACymF,MAAAA,IAAI,EAAC;AAAN,KAAN,CAAzU,EAA4V,KAAKsB,YAAL,GAAkB,IAA9W,EAAmX,KAAKsS,YAAL,GAAkB,IAAIt4F,sEAAJ,CAAM;AAAC8kF,MAAAA,WAAW,EAAC,IAAIxkF,kEAAJ,CAAM;AAACokF,QAAAA,IAAI,EAAC;AAAN,OAAN;AAAb,KAAN,CAArY,EAA6a,KAAK6T,iBAAL,GAAuB,IAAIl4F,gFAAJ,EAApc,EAA0c,KAAKm4F,YAAL,GAAkB,IAA5d,EAAie,KAAKC,iBAAL,GAAuB,IAAxf,EAA6f,KAAKC,gBAAL,GAAsB;AAACC,MAAAA,YAAY,EAAC,SAAd;AAAwBC,MAAAA,iBAAiB,EAAC,CAAC,CAA3C;AAA6CC,MAAAA,mBAAmB,EAAC,GAAjE;AAAqEC,MAAAA,sBAAsB,EAAC,CAAC;AAA7F,KAAnhB,EAAmnB,KAAKC,6BAAL,GAAmC,CAAC,CAAvpB,EAAypB,KAAKjM,cAAL,GAAoB,CAAC,CAA9qB,EAAgrB,KAAKkM,SAAL,GAAe,IAAIj5F,yDAAJ,CAAM,IAAN,CAA/rB,EAA2sB,KAAKk5F,MAAL,GAAY,IAAIr6F,2DAAJ,EAAvtB,EAA6tB,KAAKs6F,IAAL,GAAU,IAAvuB,EAA4uB,KAAKC,UAAL,GAAgB5vF,iGAAC,EAA7vB,EAAgwB,KAAK6vF,YAAL,GAAkB,IAAI3vF,yEAAJ,CAAM;AAACi7E,MAAAA,IAAI,EAAC;AAAN,KAAN,CAAlxB,EAAqyB,KAAKjhF,GAAL,GAAS,IAA9yB,EAAmzB,KAAK41F,sBAAL,GAA4B,CAAC,CAAh1B,EAAk1B,KAAKC,QAAL,GAAc,IAAI7yF,8DAAJ,EAAh2B,EAAs2B,KAAKhF,IAAL,GAAU,IAAh3B,EAAq3B,KAAK83F,UAAL,GAAgB,IAAr4B,EAA04B,KAAKvL,EAAL,GAAQ,IAAIpkF,8DAAJ,EAAl5B,EAAw5B,KAAK+b,IAAL,GAAU;AAACnO,MAAAA,cAAc;AAAA,qNAAC,WAAMtZ,CAAN;AAAA,iBAASqG,kFAAC,CAAC,KAAI,CAACi1F,kBAAL,CAAwBt7F,CAAxB,CAAD,EAA4BA,CAA5B,CAAV;AAAA,SAAD;;AAAA;AAAA;AAAA;AAAA;AAAf,KAAl6B,EAA49B,KAAK6mF,OAAL,GAAa;AAACqC,MAAAA,GAAG,EAAC,CAAL;AAAOD,MAAAA,KAAK,EAAC,CAAb;AAAeE,MAAAA,MAAM,EAAC,CAAtB;AAAwBH,MAAAA,IAAI,EAAC;AAA7B,KAAz+B,EAAygC,KAAKtlF,UAAL,CAAgB,CAAClD,8DAAC,CAAE,MAAI,KAAKoU,SAAX,EAAuB,MAAI,KAAKylF,iBAAL,CAAuBkB,IAAvB,EAA3B,EAA0D16F,yDAA1D,CAAF,EAA+D,KAAK8C,EAAL,CAAQ,QAAR,EAAkB3D,CAAC,IAAE,KAAKo6F,YAAL,CAAkB5N,MAAlB,CAAyBxsF,CAAC,CAACiZ,KAA3B,EAAiCjZ,CAAC,CAACwZ,MAAnC,CAArB,CAA/D,CAAhB,CAAzgC,EAA4pClY,qEAAC,EAA7pC;AAAgqC;;AAAA8C,EAAAA,OAAO,GAAE;AAAC,SAAK6wF,gBAAL,CAAsBr7E,KAAtB,IAA8B,KAAKrV,IAAL,CAAU,oBAAV,EAA+B,CAAC,CAAhC,CAA9B,EAAiE,KAAKu2F,SAAL,GAAen6F,4DAAC,CAAC,KAAKm6F,SAAN,CAAjF,EAAkG,KAAKX,WAAL,CAAiB/1F,OAAjB,EAAlG,EAA6H,KAAK41F,cAAL,CAAoB51F,OAApB,EAA7H,EAA2J,KAAK82F,YAAL,CAAkB92F,OAAlB,EAA3J,EAAuL,KAAKG,IAAL,CAAU,cAAV,EAAyB,IAAzB,CAAvL;AAAsN;;AAAqB,MAAjBi3F,iBAAiB,GAAE;AAAC,WAAO,IAAItvF,iFAAJ,CAAM,KAAK+tF,oBAAX,CAAP;AAAwC;;AAAmB,MAAfwB,eAAe,GAAE;AAAC,UAAMz7F,CAAC,GAAC,KAAKy2F,eAAL,EAAsBQ,QAA9B;AAAA,UAAuC/2F,CAAC,GAAC,KAAK0C,gBAA9C;AAA+D,WAAM;AAAC84F,MAAAA,IAAI,EAAC17F,CAAC,EAAE4C,gBAAH,EAAqBye,MAArB,CAA4BnhB,CAA5B,IAA+BF,CAAC,CAAC07F,IAAjC,GAAsC,IAA5C;AAAiD94F,MAAAA,gBAAgB,EAAC1C;AAAlE,KAAN;AAA2E;;AAAS,MAALy7F,KAAK,GAAE;AAAC,WAAO,KAAKvB,YAAL,CAAkBuB,KAAzB;AAA+B;;AAAyB,MAArB7G,qBAAqB,GAAE;AAAC,QAAG,CAAC,KAAKsF,YAAT,EAAsB,OAAM,CAAC,CAAP;AAAS,UAAK;AAAC7hF,MAAAA,KAAK,EAACvY,CAAP;AAAS4mF,MAAAA,WAAW,EAAC1mF,CAArB;AAAuB4Y,MAAAA,MAAM,EAACpY,CAA9B;AAAgCkU,MAAAA,SAAS,EAAC3U,CAA1C;AAA4C+Y,MAAAA,MAAM,EAAC5Y;AAAnD,QAAsD,IAA3D;AAAgE,QAAIE,CAAC,GAAC,KAAKyqF,IAAX;AAAgB,WAAM,EAAE,KAAKxlF,GAAL,IAAU,2BAA0B,KAAKA,GAAzC,IAA8C,KAAKA,GAAL,CAASkO,qBAAT,EAAgCmB,SAAhF,KAA6F,CAACxU,CAAD,KAAKF,CAAC,EAAE8qF,aAAH,KAAmB1qF,CAAC,GAAC,CAAC,CAAtB,GAAyB,CAAC,CAACI,CAAD,IAAI,MAAIV,CAAJ,IAAO,CAAC,CAAD,KAAKM,CAAjB,MAAsB,QAAML,CAAC,EAAEwY,cAAT,IAAyB,aAAWxY,CAAC,CAACwY,cAAF,CAAiBlV,IAA5B,IAAkC,CAACtD,CAAC,CAACsY,KAApF,CAA9B,CAAnG;AAA8N;;AAA2B,MAAvBy+E,uBAAuB,GAAE;AAAC,WAAM;AAACN,MAAAA,QAAQ,EAAC;AAAC19E,QAAAA,MAAM,EAAC,CAAC,CAAT;AAAWk+E,QAAAA,eAAe,EAAC,CAAC,CAA5B;AAA8BD,QAAAA,QAAQ,EAAC,CAAC;AAAxC,OAAV;AAAqD2E,MAAAA,gCAAgC,EAAC,KAAKT;AAA3F,KAAN;AAAyH;;AAAa,MAATU,SAAS,GAAE;AAAC,WAAO,KAAKf,SAAL,CAAee,SAAtB;AAAgC;;AAAkC,MAA9BlH,8BAA8B,GAAE;AAAC,UAAM30F,CAAC,GAAC,KAAK87F,oBAAL,EAAR;;AAAoC,QAAG,CAAC97F,CAAJ,EAAM,OAAM,CAAC,CAAP;AAAS,UAAME,CAAC,GAACF,CAAC,CAACyY,cAAV;AAAA,UAAyB/X,CAAC,GAAC,KAAKkC,gBAAhC;AAAiD,WAAO1B,2EAAC,CAAChB,CAAC,CAAC0C,gBAAH,EAAoBlC,CAApB,CAAR;AAA+B;;AAAa,MAAT+lF,SAAS,CAACzmF,CAAD,EAAG;AAAC,UAAME,CAAC,GAAC,KAAKsE,IAAL,CAAU,WAAV,CAAR;;AAA+B,QAAGxE,CAAC,KAAGE,CAAP,EAAS;AAAO,QAAGA,CAAC,IAAEA,CAAC,CAACinF,IAAF,EAAH,EAAYnnF,CAAC,KAAG,KAAKknF,gBAAL,CAAsBT,SAA1B,IAAqC,KAAKS,gBAAL,CAAsBC,IAAtB,EAAjD,EAA8E,CAACnnF,CAAD,IAAIA,CAAC,CAAC+7F,WAAF,EAArF,EAAqG,OAAO,KAAK,KAAKx3F,IAAL,CAAU,WAAV,EAAsB,IAAtB,CAAZ;;AAAwC,SAAKA,IAAL,CAAU,WAAV,EAAsBvE,CAAtB;;AAAyB,UAAMU,CAAC,GAAC,MAAI;AAAC,WAAK23C,SAAL,IAAgBr4C,CAAC,KAAG,KAAKwE,IAAL,CAAU,WAAV,CAAJ,KAA6B,KAAKD,IAAL,CAAU,WAAV,EAAsB,IAAtB,GAA4B,KAAKu2F,SAAL,EAAgBkB,YAAhB,EAAzD,CAAhB;AAAyG,KAAtH;;AAAuHh8F,IAAAA,CAAC,CAAC8D,IAAF,CAAOpD,CAAP,EAASA,CAAT;AAAY;;AAAc,MAAV8T,UAAU,GAAE;AAAC,WAAO5B,2DAAC,CAAC,KAAKrN,GAAN,CAAD,GAAY,KAAKA,GAAL,CAASkO,qBAAT,CAA+Be,UAA3C,GAAsD,IAA7D;AAAkE;;AAAc,MAAVA,UAAU,CAACxU,CAAD,EAAG;AAAC,SAAK4V,SAAL,CAAe,YAAf,EAA4B5V,CAA5B;AAA+B;;AAAU,MAAN8Y,MAAM,GAAE;AAAC,WAAO,KAAKshF,YAAL,EAAmBthF,MAAnB,IAA2B,IAAlC;AAAuC;;AAAU,MAANA,MAAM,CAAC9Y,CAAD,EAAG;AAAC,SAAKo6F,YAAL,CAAkBthF,MAAlB,GAAyB9Y,CAAzB;AAA2B;;AAAe,MAAX4mF,WAAW,GAAE;AAAC,WAAO,KAAKwT,YAAL,EAAmBxT,WAA1B;AAAsC;;AAAe,MAAXA,WAAW,CAAC5mF,CAAD,EAAG;AAACA,IAAAA,CAAC,CAACwmF,IAAF,GAAO,IAAP;AAAY,UAAMtmF,CAAC,GAAC,KAAKk6F,YAAL,CAAkBxT,WAA1B;AAAsC,SAAKwT,YAAL,CAAkBxT,WAAlB,GAA8B5mF,CAA9B,EAAgCE,CAAC,EAAEkE,OAAH,EAAhC;AAA6C;;AAAU,MAAN4U,MAAM,GAAE;AAAC,WAAO,KAAKohF,YAAL,EAAmBphF,MAAnB,IAA2B,IAAlC;AAAuC;;AAAU,MAANA,MAAM,CAAChZ,CAAD,EAAG;AAAC,SAAKo6F,YAAL,CAAkBphF,MAAlB,GAAyBhZ,CAAzB;AAA2B;;AAAoB,MAAhBi8F,gBAAgB,GAAE;AAAC,WAAO7zE,+FAAC,CAAC,IAAD,CAAR;AAAe;;AAAoB,MAAhB6zE,gBAAgB,CAACj8F,CAAD,EAAG;AAAC2M,IAAAA,+FAAC,CAAC,IAAD,EAAM3M,CAAN,CAAD;AAAU;;AAAW,MAAP6mF,OAAO,GAAE;AAAC,WAAO,KAAKuT,YAAL,EAAmBvT,OAA1B;AAAkC;;AAAW,MAAPA,OAAO,CAAC7mF,CAAD,EAAG;AAAC,SAAKo6F,YAAL,KAAoB,KAAKA,YAAL,CAAkBvT,OAAlB,GAA0B7mF,CAA9C;AAAiD;;AAAa,MAATk8F,SAAS,GAAE;AAAC,WAAO,KAAKvT,KAAL,EAAYwT,eAAZ,IAA6B,CAAC,CAArC;AAAuC;;AAAe,MAAXC,WAAW,GAAE;AAAC,WAAO,KAAKhC,YAAL,CAAkBgC,WAAzB;AAAqC;;AAAe,MAAXA,WAAW,CAACp8F,CAAD,EAAG;AAAC,SAAKo6F,YAAL,CAAkBgC,WAAlB,GAA8Bp8F,CAA9B;AAAgC;;AAAc,MAAVw3F,UAAU,GAAE;AAAC,WAAO,KAAK4C,YAAL,CAAkB5C,UAAlB,IAA8B,CAArC;AAAuC;;AAAY,MAAR3iF,QAAQ,GAAE;AAAC,WAAO,KAAKulF,YAAL,CAAkBvlF,QAAlB,IAA4B,CAAnC;AAAqC;;AAAY,MAARA,QAAQ,CAAC7U,CAAD,EAAG;AAAC,UAAK;AAACorF,MAAAA,eAAe,EAAClrF;AAAjB,QAAoB,KAAK0mF,WAA9B;AAA0C,SAAKA,WAAL,CAAiBwE,eAAjB,GAAiC,CAAC,CAAlC,EAAoC,KAAKgP,YAAL,CAAkBvlF,QAAlB,GAA2B7U,CAA/D,EAAiE,KAAK4mF,WAAL,CAAiBwE,eAAjB,GAAiClrF,CAAlG;AAAoG;;AAAS,MAALqY,KAAK,GAAE;AAAC,WAAO,KAAK6hF,YAAL,EAAmB7hF,KAAnB,IAA0B,CAAjC;AAAmC;;AAAS,MAALA,KAAK,CAACvY,CAAD,EAAG;AAAC,SAAKo6F,YAAL,KAAoB,KAAKA,YAAL,CAAkB7hF,KAAlB,GAAwBvY,CAA5C;AAA+C;;AAAc,MAAV83F,UAAU,GAAE;AAAC,WAAM,CAAC,KAAKrR,SAAN,IAAiB,CAAC,KAAK6Q,UAAvB,IAAmC,CAAC,KAAKlC,QAAzC,IAAmD,KAAKiF,iBAAL,CAAuBvC,UAAhF;AAA2F;;AAAY,MAARb,QAAQ,GAAE;AAAC,WAAO,KAAKgD,oBAAL,EAA2BhD,QAAlC;AAA2C;;AAAY,MAAR1+C,QAAQ,GAAE;AAAC,UAAMv4C,CAAC,GAAC,EAAE,CAAC,KAAK40F,SAAL,CAAepmF,OAAhB,IAAyB,SAAO,KAAKomF,SAAL,CAAe7E,QAA/C,IAAyD,CAAC,KAAK8J,cAAL,EAAqB3F,eAArB,CAAqC37C,QAAjG,CAAR;AAAA,UAAmHr4C,CAAC,GAAC,CAAC,KAAKm4C,SAAN,KAAkB,CAAC,KAAK48C,gBAAN,IAAwB,CAAC,KAAKqF,YAA9B,IAA4C,CAAC,KAAKxS,YAAlD,IAAgE,CAAC,CAAD,KAAK,KAAKmN,gBAAL,CAAsB18C,QAA3F,IAAqG,CAAC,CAAD,KAAK,KAAK+hD,YAAL,CAAkB/hD,QAA5H,IAAsI,CAAC,CAAD,KAAK,KAAKuvC,YAAL,CAAkBvvC,QAA7J,IAAuK,KAAKrgC,aAAL,CAAmBV,IAAnB,CAAyBxX,CAAC,IAAE,CAACA,CAAC,CAACq4C,SAAH,IAAc,EAAE,gBAAer4C,CAAjB,CAAd,IAAmC,CAAC,CAAD,KAAKA,CAAC,CAACu4C,QAAtE,CAAvK,IAAyPv4C,CAA3Q,CAArH;;AAAmY,QAAGqP,wDAAG,CAAC,sBAAD,CAAN,EAA+B;AAAC,YAAM3O,CAAC,GAAC,KAAKwX,aAAL,CAAmBpH,MAAnB,CAA2B,CAAC9Q,CAAD,EAAGE,CAAH,MAAQ,EAAC,GAAGF,CAAJ;AAAM,SAAE,GAAEE,CAAC,CAACsJ,KAAF,CAAQ9G,EAAG,IAAGxC,CAAC,CAACsJ,KAAF,CAAQjG,IAAK,GAA/B,GAAmC,CAACrD,CAAC,CAACm4C,SAAH,IAAc,EAAE,gBAAen4C,CAAjB,CAAd,IAAmCA,CAAC,CAACq4C;AAA9E,OAAR,CAA3B,EAA6H,EAA7H,CAAR;AAAyIjH,MAAAA,OAAO,CAAC/d,GAAR,CAAa,qBAAoBrzB,CAAE,+BAA8B,CAAC,KAAK+0F,gBAAiB,2BAA0B,CAAC,KAAKqF,YAAa,2BAA0B,CAAC,KAAKxS,YAAa,mCAAkC,KAAKmN,gBAAL,EAAuB18C,QAAS,+BAA8B,KAAK+hD,YAAL,EAAmB/hD,QAAS,+BAA8B,KAAKuvC,YAAL,EAAmBvvC,QAAS,uBAAsB9xB,IAAI,CAACC,SAAL,CAAehmB,CAAf,CAAkB,2BAA0BV,CAAE,IAA5a;AAAib;;AAAA,WAAOE,CAAP;AAAS;;AAAa,MAAT0U,SAAS,GAAE;AAAC,WAAO,KAAKwlF,YAAL,CAAkBxlF,SAAlB,IAA6B,IAApC;AAAyC;;AAAa,MAATA,SAAS,CAAC5U,CAAD,EAAG;AAAC,SAAKo6F,YAAL,CAAkBxlF,SAAlB,GAA4B5U,CAA5B,EAA8B,KAAK86F,SAAL,CAAekB,YAAf,EAA9B;AAA4D;;AAAe,MAAXK,WAAW,GAAE;AAAC,UAAMr8F,CAAC,GAAC,KAAKo6F,YAAL,CAAkBiC,WAA1B;AAAsC,WAAOr8F,CAAC,GAAC,IAAIunB,6DAAJ,CAAM;AAACkR,MAAAA,KAAK,EAAC,CAACz4B,CAAC,CAACuF,GAAF,CAAOvF,CAAC,IAAE,CAACA,CAAC,CAAC,CAAD,CAAF,EAAMA,CAAC,CAAC,CAAD,CAAP,CAAV,CAAD,CAAP;AAAiC4C,MAAAA,gBAAgB,EAAC,KAAKA;AAAvD,KAAN,CAAD,GAAiF5C,CAAzF;AAA2F;;AAAQ,MAAJ+qF,IAAI,GAAE;AAAC,WAAO,KAAKqP,YAAL,CAAkBrP,IAAlB,IAAwB,CAAC,CAAhC;AAAkC;;AAAQ,MAAJA,IAAI,CAAC/qF,CAAD,EAAG;AAAC,SAAKo6F,YAAL,CAAkBrP,IAAlB,GAAuB/qF,CAAvB;AAAyB;;AAAc,MAAVs3F,UAAU,GAAE;AAAC,WAAO,KAAKiD,iBAAL,EAAwBlD,WAAxB,IAAqC,CAAC,CAA7C;AAA+C;;AAAA9Q,EAAAA,IAAI,CAACvmF,CAAD,EAAGE,CAAH,EAAK;AAAC,WAAO,KAAKi6F,WAAL,CAAiB5T,IAAjB,CAAsBvmF,CAAtB,EAAwBE,CAAxB,CAAP;AAAkC;;AAAM6nF,EAAAA,OAAO,CAAC/nF,CAAD,EAAGE,CAAH,EAAK;AAAA;;AAAA;AAAC,aAAOiL,qEAAC,CAAC,MAAD,EAAMnL,CAAN,EAAQE,CAAR,CAAR;AAAD;AAAoB;;AAAMoZ,EAAAA,cAAc,CAACtZ,CAAD,EAAG;AAAA;;AAAA;AAAC,aAAO0R,+EAAC,CAAC,MAAI,CAAC4pF,kBAAL,CAAwBt7F,CAAxB,CAAD,EAA4BA,CAA5B,CAAR;AAAD;AAAwC;;AAAA2nF,EAAAA,KAAK,CAAC3nF,CAAD,EAAG;AAAC,QAAG,CAAC,KAAKgY,KAAT,EAAe,OAAO,IAAP;AAAY,UAAM9X,CAAC,GAACkL,qFAAC,CAACpL,CAAD,CAAD,GAAK6M,6FAAC,CAAC,IAAD,EAAM7M,CAAN,CAAN,GAAeA,CAAvB;AAAyB,WAAO,KAAKo6F,YAAL,CAAkBzS,KAAlB,CAAwBznF,CAAxB,CAAP;AAAkC;;AAAA4sF,EAAAA,QAAQ,CAAC9sF,CAAD,EAAGE,CAAH,EAAK;AAAC,WAAO,KAAKk6F,YAAL,CAAkBtN,QAAlB,CAA2B9sF,CAA3B,EAA6BE,CAA7B,CAAP;AAAuC;;AAAAyD,EAAAA,EAAE,CAAC3D,CAAD,EAAGE,CAAH,EAAKQ,CAAL,EAAOT,CAAP,EAAS;AAAC,UAAMG,CAAC,GAAC,KAAK86F,YAAL,IAAmB,KAAK7F,UAAL,CAAgB1xF,EAAhB,CAAmB3D,CAAnB,EAAqBE,CAArB,EAAuBQ,CAAvB,EAAyBT,CAAzB,CAA3B;AAAuD,WAAOG,CAAC,IAAE,MAAMuD,EAAN,CAAS3D,CAAT,EAAWE,CAAX,CAAV;AAAwB;;AAAAo8F,EAAAA,gBAAgB,CAACt8F,CAAD,EAAG;AAAC,WAAO,MAAMs8F,gBAAN,CAAuBt8F,CAAvB,KAA2B,KAAKq1F,UAAL,CAAgBkH,UAAhB,CAA2Bv8F,CAA3B,CAAlC;AAAgE;;AAAAuvF,EAAAA,aAAa,CAACvvF,CAAD,EAAG;AAAC,WAAO,MAAMuvF,aAAN,CAAoBvvF,CAApB,CAAP;AAA8B;;AAAAw8F,EAAAA,cAAc,CAACx8F,CAAD,EAAG;AAAC,QAAG,KAAK8nF,YAAR,EAAqB;AAAC,WAAKA,YAAL,CAAkB2U,oBAAlB,CAAuCz8F,CAAvC;AAA0C;AAAC;;AAAA82F,EAAAA,SAAS,GAAE;AAAC,WAAO,IAAIzxF,OAAJ,CAAarF,CAAC,IAAE;AAAC,WAAKgY,KAAL,GAAWhY,CAAC,CAAC,IAAD,CAAZ,GAAmB,KAAK+5F,iBAAL,CAAuBj1F,IAAvB,CAA4B9E,CAA5B,CAAnB;AAAkD,KAAnE,CAAP;AAA6E;;AAAA08F,EAAAA,kBAAkB,GAAE;AAAC,SAAKhF,eAAL;AAAuB;;AAAAC,EAAAA,0BAA0B,GAAE;AAAC,WAAO,KAAKpyF,GAAL,IAAU,2BAA0B,KAAKA,GAAzC,IAA8C,KAAKA,GAAL,CAASkO,qBAAT,CAA+B7Q,gBAA7E,IAA+F,KAAK6zF,eAAL,EAAsB7zF,gBAArH,IAAuI,IAA9I;AAAmJ;;AAAAo1F,EAAAA,kBAAkB,GAAE;AAAC,WAAOplF,2DAAC,CAAC,KAAKrN,GAAN,CAAD,GAAY,KAAKA,GAAL,CAASkO,qBAAT,CAA+ByB,QAA3C,GAAoD,IAA3D;AAAgE;;AAAA6iF,EAAAA,oBAAoB,GAAE;AAAC,WAAOnlF,2DAAC,CAAC,KAAKrN,GAAN,CAAD,GAAY,KAAKA,GAAL,CAASkO,qBAAT,CAA+BiB,UAA3C,GAAsD,IAA7D;AAAkE;;AAAA65E,EAAAA,kBAAkB,CAACvuF,CAAD,EAAG;AAAC,WAAOsC,sGAAA,CAAqBtC,CAArB,CAAP;AAA+B;;AAAAwuF,EAAAA,eAAe,CAACxuF,CAAD,EAAG;AAAC,WAAOsC,mGAAA,CAAkBtC,CAAlB,CAAP;AAA4B;;AAAA28F,EAAAA,WAAW,GAAE;AAAC,WAAO,KAAK3kF,KAAL,GAAW,KAAKw/E,UAAhB,IAA4Bl3F,iEAAA,CAAY,IAAZ,EAAkBmD,KAAlB,CAAwB,gBAAxB,EAAyC,4CAAzC,GAAuF,IAAnH,CAAP;AAAgI;;AAAMutF,EAAAA,YAAY,CAAChxF,CAAD,EAAG;AAAA;;AAAA;AAAC,YAAME,CAAC,GAAC,MAAI,CAACynF,KAAL,CAAW3nF,CAAX,CAAR;AAAA,YAAsBU,CAAC,SAAO,MAAI,CAACqnF,OAAL,CAAa/nF,CAAb,CAA9B;AAAA,YAA8CC,CAAC,GAAC,MAAI,CAACiY,aAAL,CAAmB7T,OAAnB,GAA6BsC,MAA7B,CAAqCjG,CAAC,IAAEA,CAAC,CAACmnF,KAAF,CAAQv5E,KAAR,CAAe5N,CAAC,IAAE8B,gFAAC,CAAC,MAAD,EAAM9B,CAAN,EAAQV,CAAR,EAAUE,CAAV,CAAnB,CAAxC,EAA4E6sE,OAA5E,EAAhD;AAAA,YAAsI3sE,CAAC,GAAC,IAAI4iC,UAAU,CAACrwB,GAAf,CAAmB1S,CAAC,CAACsF,GAAF,CAAOvF,CAAC,IAAE,CAACA,CAAC,CAACwJ,KAAF,CAAQgsC,GAAT,EAAax1C,CAAb,CAAV,CAAnB,CAAxI;AAAA,YAAwLM,CAAC,GAAC,EAA1L;;AAA6L,UAAIK,CAAC,GAAC,CAAN;AAAA,UAAQH,CAAC,GAAC,CAAV;;AAAY,aAAKG,CAAC,GAACD,CAAC,CAACs2D,OAAF,CAAUnpD,MAAZ,IAAoBrN,CAAC,GAACP,CAAC,CAAC4N,MAA7B,GAAqC;AAAC,cAAM7N,CAAC,GAACU,CAAC,CAACs2D,OAAF,CAAUxtC,EAAV,CAAa7oB,CAAb,CAAR;;AAAwB,YAAGX,CAAC,IAAE,cAAYA,CAAC,CAACuD,IAApB,EAAyB;AAAC,YAAE5C,CAAF;AAAI;AAAS;;AAAA,cAAME,CAAC,GAACT,CAAC,CAAC0Z,GAAF,CAAM,CAAC9Z,CAAC,EAAEwJ,KAAH,IAAUxJ,CAAC,EAAEgoF,OAAH,CAAWx+E,KAAtB,GAA8BgsC,GAApC,CAAR;;AAAiD,YAAG,CAAC,CAACx1C,CAAD,IAAIa,CAAL,KAASL,CAAC,GAACP,CAAC,CAAC4N,MAAb,IAAqB5N,CAAC,CAACupB,EAAF,CAAKhpB,CAAL,MAAUK,CAAlC,EAAoC;AAAC,gBAAMb,CAAC,GAACC,CAAC,CAACupB,EAAF,CAAKhpB,CAAL,CAAR;AAAgB,4CAAiCR,CAAjC,IAAoCM,CAAC,CAACwE,IAAF,CAAO;AAACmjF,YAAAA,QAAQ,EAAC/nF,CAAV;AAAYguF,YAAAA,SAAS,EAACluF;AAAtB,WAAP,CAApC,EAAqE,EAAEQ,CAAvE;AAAyE,SAA9H,MAAmIR,CAAC,KAAGM,CAAC,CAACwE,IAAF,CAAO;AAACkjF,UAAAA,OAAO,EAAChoF,CAAC,CAACgoF,OAAX;AAAmBkG,UAAAA,SAAS,EAACrtF;AAA7B,SAAP,GAAwC,EAAEF,CAA7C,CAAD;AAAiD;;AAAA,aAAM;AAACgwF,QAAAA,IAAI,EAACrwF,CAAN;AAAQqiC,QAAAA,QAAQ,EAACziC;AAAjB,OAAN;AAAphB;AAA8iB;;AAAA08F,EAAAA,aAAa,GAAE;AAAC,SAAK5kF,KAAL,IAAY,KAAK8iF,SAAL,CAAe8B,aAAf,EAAZ;AAA2C;;AAAMxlF,EAAAA,QAAQ,GAAE;AAAA;;AAAA;AAAC,UAAIpX,CAAC,GAAC8S,qEAAC,CAAC,MAAI,CAACvP,IAAN,CAAP;AAAmB,UAAG8L,wDAAG,CAAC,QAAD,CAAH,IAAeA,wDAAG,CAAC,QAAD,CAAH,GAAc,CAA7B,KAAiCrP,CAAC,GAAC,IAAII,sDAAJ,CAAM,+BAAN,EAAsC,uDAAtC,EAA8F;AAACmD,QAAAA,IAAI,EAAC,QAAN;AAAes5F,QAAAA,eAAe,EAAC,CAA/B;AAAiCC,QAAAA,eAAe,EAACztF,wDAAG,CAAC,QAAD;AAApD,OAA9F,CAAnC,GAAmM,QAAMrP,CAA5M,EAA8M,MAAMM,iEAAA,CAAY,MAAZ,EAAkBumB,IAAlB,CAAuB,aAAvB,EAAqC7mB,CAAC,CAACqxB,OAAvC,GAAgDrxB,CAAtD;AAAlO;AAA0R;;AAAAs2F,EAAAA,qBAAqB,GAAE;AAAC,WAAOzwD,EAAE,EAAT;AAAY;;AAAAi2D,EAAAA,oBAAoB,GAAE;AAAC,UAAK;AAAClV,MAAAA,WAAW,EAAC5mF,CAAb;AAAek4F,MAAAA,aAAa,EAACx3F,CAA7B;AAA+B6E,MAAAA,GAAG,EAACtF,CAAnC;AAAqC4mF,MAAAA,OAAO,EAACzmF,CAA7C;AAA+Co1B,MAAAA,IAAI,EAACl1B;AAApD,QAAuD,IAA5D;AAAiE,QAAG,CAACN,CAAJ,EAAM,OAAO,IAAP;AAAY,UAAMW,CAAC,GAACV,CAAC,IAAE,2BAA0BA,CAA7B,GAA+BA,CAAC,CAACwT,qBAAjC,GAAuD,KAAK,CAApE;AAAA,UAAsEjT,CAAC,GAAC,KAAK45F,YAAL,CAAkB2C,qBAAlB,CAAwC,KAAKvnE,IAA7C,CAAxE;AAAA,UAA2H30B,CAAC,GAACF,CAAC,EAAEiU,SAAhI;AAAA,UAA0I9T,CAAC,GAACD,CAAC,EAAE4X,cAAH,EAAmBO,MAAnB,IAA2BtY,CAAvK;AAAA,UAAyKY,CAAC,GAACR,CAAC,EAAEgY,MAA9K;AAAA,UAAqL7W,CAAC,GAACpB,CAAC,EAAEgU,QAAH,IAAa,CAApM;AAAA,UAAsMnT,CAAC,GAACb,CAAC,EAAE0X,KAAH,IAAUzX,CAAC,IAAEwK,qEAAC,CAACxK,CAAD,EAAG,CAACR,CAAC,CAAC,CAAD,CAAD,GAAKF,CAAC,CAAC4oF,IAAP,GAAY5oF,CAAC,CAAC6oF,KAAf,EAAqB3oF,CAAC,CAAC,CAAD,CAAD,GAAKF,CAAC,CAAC8oF,GAAP,GAAW9oF,CAAC,CAAC+oF,MAAlC,CAAH,CAAtN;AAAA,UAAoQ3nF,CAAC,GAAChB,CAAC,CAACsY,MAAF,IAAUxX,CAAhR;AAAA,UAAkRN,CAAC,GAACR,CAAC,CAACqU,QAAF,IAAY5S,CAAhS;AAAA,UAAkSf,CAAC,GAACV,CAAC,CAAC+X,KAAF,IAAS7W,CAA7S;AAA+S,WAAOF,CAAC,IAAEN,CAAH,GAAK,IAAIhB,qDAAJ,CAAM;AAACuY,MAAAA,cAAc,EAACjX,CAAhB;AAAkB+W,MAAAA,KAAK,EAACrX,CAAxB;AAA0B2T,MAAAA,QAAQ,EAAC7T;AAAnC,KAAN,CAAL,GAAkD,IAAzD;AAA8D;;AAAAm1F,EAAAA,QAAQ,GAAE;AAAC,SAAKiF,QAAL,CAAc4B,KAAd,CAAoB,iBAApB;;AAAuC,UAAMh9F,CAAC,GAAC,KAAK87F,oBAAL,EAAR;;AAAoC,SAAK1B,YAAL,CAAkB6C,OAAlB,CAA0Bj9F,CAA1B,EAA4B,KAAKw1B,IAAjC,EAAsC,KAAK5yB,gBAA3C,EAA4D,KAAK6zF,eAAL,CAAqBz9E,MAArB,EAA6BF,MAAzF,GAAiG,KAAK83E,QAAL,CAActpC,KAAd,GAAoB,IAArH;AAA0H,UAAMpnD,CAAC,GAAC,IAAI4nB,CAAJ,CAAM,KAAKo1E,OAAX,EAAmB;AAACC,MAAAA,MAAM,EAAC,KAAKC,YAAb;AAA0BC,MAAAA,cAAc,EAAC;AAACC,QAAAA,kBAAkB,EAAC,KAAKC,0BAAzB;AAAoDC,QAAAA,oBAAoB,EAAC,KAAKA;AAA9E,OAAzC;AAA6IhD,MAAAA,gBAAgB,EAAC,KAAKA,gBAAnK;AAAoLY,MAAAA,QAAQ,EAAC,KAAKA;AAAlM,KAAnB,CAAR;AAAwO,SAAKzS,KAAL,GAAWzoF,CAAX,EAAa,KAAK25F,cAAL,GAAoB,IAAIp0D,EAAJ,EAAjC,EAAwC,KAAKo0D,cAAL,CAAoBjF,SAApB,GAA8B,KAAKA,SAA3E,EAAqF,KAAKkF,SAAL,GAAe,IAAIv0D,EAAJ,EAApG;AAA2G,UAAM7kC,CAAC,GAAC,IAAIykC,EAAJ,CAAO;AAACqhD,MAAAA,IAAI,EAAC;AAAN,KAAP,CAAR;;AAA4B,SAAKjiF,IAAL,CAAU,cAAV,EAAyB7D,CAAzB;;AAA4B,UAAMT,CAAC,GAAC,IAAIsC,gEAAJ,CAAM;AAACikF,MAAAA,IAAI,EAAC;AAAN,KAAN,CAAR;;AAA2B,SAAKjiF,IAAL,CAAU,kBAAV,EAA6BtE,CAA7B;;AAAgC,UAAMG,CAAC,GAAC,IAAIilC,EAAJ,CAAO;AAACmhD,MAAAA,IAAI,EAAC,IAAN;AAAWU,MAAAA,gBAAgB,EAACjnF;AAA5B,KAAP,CAAR;AAA+C,SAAKsE,IAAL,CAAU,mBAAV,EAA8BnE,CAA9B,GAAiC,KAAKq9F,yCAAL,EAAjC,EAAkF,KAAK/5F,UAAL,CAAgB,CAAC,KAAKs2F,cAAL,CAAoBr2F,EAApB,CAAuB,QAAvB,EAAiC,MAAI,KAAK+5F,oBAAL,EAArC,CAAD,EAAoEx9F,CAAC,CAACyD,EAAF,CAAK,aAAL,EAAoB3D,CAAC,IAAE,KAAKy0F,UAAL,GAAgBz0F,CAAC,CAACyD,KAAzC,CAApE,EAAqHjD,8DAAC,CAAE,MAAI,KAAKs3F,UAAX,EAAwB93F,CAAC,IAAEE,CAAC,CAAC43F,UAAF,GAAa93F,CAAxC,EAA2Cc,mEAA3C,CAAtH,EAAoKN,8DAAC,CAAE,MAAI,KAAKgU,UAAX,EAAwBxU,CAAC,IAAE;AAACE,MAAAA,CAAC,CAACujE,eAAF,GAAkBzjE,CAAC,EAAEoV,KAArB,EAA2B,KAAKykF,cAAL,CAAoBp2B,eAApB,GAAoCzjE,CAAC,EAAEoV,KAAlE;AAAwE,KAApG,EAAsGtU,mEAAtG,CAArK,EAA8QN,8DAAC,CAAE,MAAI,KAAKo0F,SAAX,EAAuB50F,CAAC,IAAE,KAAK65F,cAAL,CAAoBjF,SAApB,GAA8B50F,CAAxD,EAA2Dc,mEAA3D,CAA/Q,EAA6UN,8DAAC,CAAE,MAAI,KAAKw6F,IAAX,EAAkBh7F,CAAC,IAAE,KAAK85F,SAAL,CAAekB,IAAf,GAAoBh7F,CAAzC,EAA4Cc,mEAA5C,CAA9U,EAA6XN,8DAAC,CAAE,MAAI,KAAKg6F,gBAAX,EAA8Bx6F,CAAC,IAAEE,CAAC,CAACs6F,gBAAF,GAAmBx6F,CAApD,EAAuDc,mEAAvD,CAA9X,EAAwbN,8DAAC,CAAE,MAAI,KAAKy6F,UAAL,CAAgBh5E,KAAhB,CAAsB1c,GAAtB,CAA2BvF,CAAC,KAAG;AAACoa,MAAAA,IAAI,EAACpa,CAAC,CAACoa,IAAR;AAAayX,MAAAA,OAAO,EAAC;AAAC8rE,QAAAA,SAAS,EAAC39F,CAAC,CAAC6xB,OAAF,CAAUzc,KAArB;AAA2BwoF,QAAAA,SAAS,EAAC59F,CAAC,CAAC6xB,OAAF,CAAU+rE,SAA/C;AAAyDC,QAAAA,WAAW,EAAC79F,CAAC,CAAC6xB,OAAF,CAAUgsE,WAA/E;AAA2FC,QAAAA,WAAW,EAAC99F,CAAC,CAAC6xB,OAAF,CAAUisE,WAAjH;AAA6HC,QAAAA,SAAS,EAAC/9F,CAAC,CAAC6xB,OAAF,CAAUksE,SAAjJ;AAA2JC,QAAAA,QAAQ,EAACh+F,CAAC,CAAC6xB,OAAF,CAAUmsE;AAA9K;AAArB,KAAH,CAA5B,CAAN,EAAwP,MAAI;AAAC99F,MAAAA,CAAC,CAAC+9F,iBAAF,GAAoBl1F,2FAAC,CAAC7I,CAAC,CAAC+9F,iBAAH,EAAqB,KAAKhD,UAAL,CAAgBh5E,KAArC,CAArB;AAAiE,KAA9T,EAAgUnhB,mEAAhU,CAAzb,EAA4vBN,8DAAC,CAAE,MAAI,KAAKm7F,KAAL,CAAWj5F,EAAjB,EAAsB,MAAIxC,CAAC,CAACy7F,KAAF,GAAQ,KAAKA,KAAvC,EAA8C76F,mEAA9C,CAA7vB,CAAhB,EAA+zB,UAA/zB,CAAlF,EAA65B,KAAK48F,oBAAL,EAA75B;AAAy7B,UAAMp9F,CAAC,GAAC,KAAKy5F,iBAAb;AAA+B,SAAKA,iBAAL,GAAuB,EAAvB,EAA0Bz5F,CAAC,CAACqE,OAAF,CAAW3E,CAAC,IAAEA,CAAC,CAAC,IAAD,CAAf,CAA1B,EAAkD,KAAKo7F,QAAL,CAAc9nB,GAAd,CAAkB,iBAAlB,CAAlD,EAAuF,KAAKwnB,SAAL,CAAel5E,KAAf,EAAvF,EAA8G,KAAKrd,IAAL,CAAU,OAAV,EAAkB,CAAC,CAAnB,CAA9G;AAAoI;;AAAA2xF,EAAAA,SAAS,GAAE;AAAC,SAAKgI,2CAAL,IAAmD,KAAK1gF,aAAL,CAAmB,UAAnB,CAAnD,EAAkF,KAAK+8E,iBAAL,CAAuBn2F,OAAvB,EAAlF,EAAmH,KAAKG,IAAL,CAAU,mBAAV,EAA8B,IAA9B,CAAnH,EAAuJ,KAAKkiF,SAAL,GAAe,IAAtK,EAA2K,KAAKS,gBAAL,CAAsB9iF,OAAtB,EAA3K,EAA2M,KAAKG,IAAL,CAAU,kBAAV,EAA6B,IAA7B,CAA3M,EAA8O,KAAK0wF,gBAAL,CAAsBr7E,KAAtB,EAA9O,EAA4Q,KAAK0gF,YAAL,CAAkBl2F,OAAlB,EAA5Q,EAAwS,KAAKy1F,cAAL,CAAoBz1F,OAApB,EAAxS,EAAsU,KAAK01F,SAAL,CAAe11F,OAAf,EAAtU,EAA+V,KAAKukF,KAAL,CAAWvkF,OAAX,EAA/V,EAAoX,KAAKukF,KAAL,GAAW,IAA/X,EAAoY,KAAKpkF,IAAL,CAAU,cAAV,EAAyB,IAAzB,CAApY,EAAma,KAAKs1F,cAAL,GAAoB,IAAvb,EAA4b,KAAKC,SAAL,GAAe,IAA3c,EAAgd,KAAKv1F,IAAL,CAAU,cAAV,EAAyB,IAAzB,CAAhd,EAA+e,KAAKA,IAAL,CAAU,mBAAV,EAA8B,IAA9B,CAA/e,EAAmhB,KAAKqsF,QAAL,CAActpC,KAAd,GAAoB,IAAviB,EAA4iB,KAAKwzC,SAAL,CAAe3T,IAAf,EAA5iB,EAAkkB,KAAKkT,iBAAL,CAAuBzgF,KAAvB,EAAlkB,EAAimB,KAAKrV,IAAL,CAAU,OAAV,EAAkB,CAAC,CAAnB,CAAjmB,EAAunB,KAAK61F,YAAL,CAAkB+D,QAAlB,EAAvnB;AAAopB;;AAAAT,EAAAA,oBAAoB,GAAE;AAAC,SAAK/U,KAAL,CAAWyV,iBAAX,IAA+B,KAAKpE,cAAL,CAAoBr1F,OAApB,CAA6B3E,CAAC,IAAE;AAAC,WAAK2oF,KAAL,CAAW0V,QAAX,CAAoBr+F,CAAC,CAAC4oF,SAAtB;AAAiC,KAAlE,CAA/B;AAAoG,UAAM5oF,CAAC,GAAC,KAAK8nF,YAAb;AAA0B,SAAKa,KAAL,CAAW0V,QAAX,CAAoBr+F,CAAC,CAAC4oF,SAAtB,GAAiC,KAAKD,KAAL,CAAW0V,QAAX,CAAoB,KAAKxE,cAAzB,CAAjC,EAA0E,KAAKlR,KAAL,CAAW0V,QAAX,CAAoB,KAAKvE,SAAzB,CAA1E;AAA8G;;AAAA2D,EAAAA,yCAAyC,GAAE;AAAC,UAAMz9F,CAAC,GAAC,IAAIwL,mEAAJ,CAAMpK,2EAAA,CAAS;AAACwB,MAAAA,gBAAgB,EAAC,KAAKA,gBAAvB;AAAwC4yB,MAAAA,IAAI,EAAC,GAA7C;AAAiD8oE,MAAAA,OAAO,EAAC;AAAzD,KAAT,CAAN,CAAR;;AAAsF,SAAK/5F,IAAL,CAAU,sBAAV,EAAiCvE,CAAjC;;AAAoC,UAAME,CAAC,GAAC,IAAIgoB,CAAJ,CAAM;AAACs+D,MAAAA,IAAI,EAAC,IAAN;AAAWoK,MAAAA,QAAQ,EAAC,KAAKA,QAAzB;AAAkC2N,MAAAA,qBAAqB,EAAC,MAAI,KAAK3B,aAAL,EAA5D;AAAiFhU,MAAAA,SAAS,EAAC,IAAIhhE,CAAJ,CAAM5nB,CAAN;AAA3F,KAAN,CAAR;;AAAoH,SAAKuE,IAAL,CAAU,cAAV,EAAyBrE,CAAzB;AAA4B;;AAAAg+F,EAAAA,2CAA2C,GAAE;AAAC,UAAMl+F,CAAC,GAAC,KAAK8nF,YAAb;AAA0B,SAAKvjF,IAAL,CAAU,cAAV,EAAyB,IAAzB,GAA+BvE,CAAC,CAACoE,OAAF,EAA/B,EAA2C,KAAKG,IAAL,CAAU,sBAAV,EAAiC,IAAjC,CAA3C;AAAkF;;AAAA+2F,EAAAA,kBAAkB,CAACt7F,CAAD,EAAG;AAAC,UAAK;AAACkY,MAAAA,aAAa,EAAChY,CAAf;AAAiB2mF,MAAAA,OAAO,EAACnmF,CAAzB;AAA2B80B,MAAAA,IAAI,EAACv1B,CAAhC;AAAkC0oF,MAAAA,KAAK,EAACvoF;AAAxC,QAA2C,IAAhD;AAAqD,WAAM;AAAC8X,MAAAA,aAAa,EAAChY,CAAf;AAAiBujE,MAAAA,eAAe,EAACzjE,CAAC,EAAEw+F,gBAAH,GAAoB,IAApB,GAAyB,KAAKhqF,UAAL,EAAiBY,KAA3E;AAAiFyxE,MAAAA,OAAO,EAACnmF,CAAzF;AAA2F80B,MAAAA,IAAI,EAACv1B,CAAhG;AAAkG0oF,MAAAA,KAAK,EAACvoF;AAAxG,KAAN;AAAiH;;AAAAy3F,EAAAA,wBAAwB,CAAC73F,CAAD,EAAG;AAAC,QAAG,KAAKgY,KAAR,EAAc;AAAC,WAAK8iF,SAAL,CAAe3T,IAAf;;AAAsB,WAAI,MAAMnnF,CAAV,IAAe,KAAKkY,aAApB,EAAkClY,CAAC,CAACy+F,aAAF;;AAAkB,WAAKP,2CAAL,IAAmD,KAAK9D,YAAL,CAAkBsE,sBAAlB,CAAyC1+F,CAAzC,CAAnD,EAA+F,KAAK2oF,KAAL,CAAWgT,KAAX,GAAiB,KAAKA,KAArH,EAA2H,KAAK8B,yCAAL,EAA3H;;AAA4K,WAAI,MAAMz9F,CAAV,IAAe,KAAKkY,aAApB,EAAkClY,CAAC,CAAC2+F,aAAF;;AAAkB,WAAK7D,SAAL,CAAekB,YAAf,IAA8B,KAAKlB,SAAL,CAAel5E,KAAf,EAA9B,EAAqD,KAAK87E,oBAAL,EAArD;AAAiF;AAAC;;AAA75X,CAAhC;AAA+7X33D,EAAE,CAACxiC,IAAH,GAAQ,IAAR,EAAavD,uDAAC,CAAC,CAACiC,uFAAC,CAAC;AAACoG,EAAAA,QAAQ,EAAC,CAAC;AAAX,CAAD,CAAF,CAAD,EAAoB09B,EAAE,CAAC59B,SAAvB,EAAiC,kBAAjC,EAAoD,KAAK,CAAzD,CAAd,EAA0EnI,uDAAC,CAAC,CAACiC,uFAAC,CAAC;AAACm0C,EAAAA,aAAa,EAAC,CAAC;AAAhB,CAAD,CAAF,CAAD,EAAyBrQ,EAAE,CAAC59B,SAA5B,EAAsC,4BAAtC,EAAmE,KAAK,CAAxE,CAA3E,EAAsJnI,uDAAC,CAAC,CAACiC,uFAAC,CAAC;AAACm0C,EAAAA,aAAa,EAAC,CAAC;AAAhB,CAAD,CAAF,CAAD,EAAyBrQ,EAAE,CAAC59B,SAA5B,EAAsC,sBAAtC,EAA6D,KAAK,CAAlE,CAAvJ,EAA4NnI,uDAAC,CAAC,CAACiC,uFAAC,CAAC;AAACoG,EAAAA,QAAQ,EAAC,CAAC;AAAX,CAAD,CAAF,CAAD,EAAoB09B,EAAE,CAAC59B,SAAvB,EAAiC,sBAAjC,EAAwD,KAAK,CAA7D,CAA7N,EAA6RnI,uDAAC,CAAC,CAACiC,uFAAC,CAAC;AAACoG,EAAAA,QAAQ,EAAC,CAAC;AAAX,CAAD,CAAF,CAAD,EAAoB09B,EAAE,CAAC59B,SAAvB,EAAiC,aAAjC,EAA+C,KAAK,CAApD,CAA9R,EAAqVnI,uDAAC,CAAC,CAACiC,uFAAC,EAAF,CAAD,EAAO8jC,EAAE,CAAC59B,SAAV,EAAoB,aAApB,EAAkC,KAAK,CAAvC,CAAtV,EAAgYnI,uDAAC,CAAC,CAACiC,uFAAC,CAAC;AAACoG,EAAAA,QAAQ,EAAC,CAAC;AAAX,CAAD,CAAF,CAAD,EAAoB09B,EAAE,CAAC59B,SAAvB,EAAiC,mBAAjC,EAAqD,IAArD,CAAjY,EAA4bnI,uDAAC,CAAC,CAACiC,uFAAC,EAAF,CAAD,EAAO8jC,EAAE,CAAC59B,SAAV,EAAoB,cAApB,EAAmC,KAAK,CAAxC,CAA7b,EAAwenI,uDAAC,CAAC,CAACiC,uFAAC,EAAF,CAAD,EAAO8jC,EAAE,CAAC59B,SAAV,EAAoB,cAApB,EAAmC,KAAK,CAAxC,CAAze,EAAohBnI,uDAAC,CAAC,CAACiC,uFAAC,EAAF,CAAD,EAAO8jC,EAAE,CAAC59B,SAAV,EAAoB,iBAApB,EAAsC,IAAtC,CAArhB,EAAikBnI,uDAAC,CAAC,CAACiC,uFAAC,CAAC;AAACoG,EAAAA,QAAQ,EAAC,CAAC;AAAX,CAAD,CAAF,CAAD,EAAoB09B,EAAE,CAAC59B,SAAvB,EAAiC,OAAjC,EAAyC,IAAzC,CAAlkB,EAAinBnI,uDAAC,CAAC,CAACiC,uFAAC,EAAF,CAAD,EAAO8jC,EAAE,CAAC59B,SAAV,EAAoB,uBAApB,EAA4C,IAA5C,CAAlnB,EAAoqBnI,uDAAC,CAAC,CAACiC,uFAAC,EAAF,CAAD,EAAO8jC,EAAE,CAAC59B,SAAV,EAAoB,cAApB,EAAmC,KAAK,CAAxC,CAArqB,EAAgtBnI,uDAAC,CAAC,CAACiC,uFAAC,CAAC;AAACoG,EAAAA,QAAQ,EAAC,CAAC;AAAX,CAAD,CAAF,CAAD,EAAoB09B,EAAE,CAAC59B,SAAvB,EAAiC,mBAAjC,EAAqD,KAAK,CAA1D,CAAjtB,EAA8wBnI,uDAAC,CAAC,CAACiC,uFAAC,CAAC;AAACm0C,EAAAA,aAAa,EAAC,CAAC;AAAhB,CAAD,CAAF,CAAD,EAAyBrQ,EAAE,CAAC59B,SAA5B,EAAsC,cAAtC,EAAqD,KAAK,CAA1D,CAA/wB,EAA40BnI,uDAAC,CAAC,CAACiC,uFAAC,EAAF,CAAD,EAAO8jC,EAAE,CAAC59B,SAAV,EAAoB,kBAApB,EAAuC,KAAK,CAA5C,CAA70B,EAA43BnI,uDAAC,CAAC,CAACiC,uFAAC,CAAC;AAACm0C,EAAAA,aAAa,EAAC,CAAC;AAAhB,CAAD,CAAF,CAAD,EAAyBrQ,EAAE,CAAC59B,SAA5B,EAAsC,+BAAtC,EAAsE,KAAK,CAA3E,CAA73B,EAA28BnI,uDAAC,CAAC,CAACiC,uFAAC,CAAC;AAACoG,EAAAA,QAAQ,EAAC,CAAC;AAAX,CAAD,CAAF,CAAD,EAAoB09B,EAAE,CAAC59B,SAAvB,EAAiC,gBAAjC,EAAkD,KAAK,CAAvD,CAA58B,EAAsgCnI,uDAAC,CAAC,CAACiC,uFAAC,EAAF,CAAD,EAAO8jC,EAAE,CAAC59B,SAAV,EAAoB,yBAApB,EAA8C,IAA9C,CAAvgC,EAA2jCnI,uDAAC,CAAC,CAACiC,uFAAC,CAAC;AAACoG,EAAAA,QAAQ,EAAC,CAAC;AAAX,CAAD,CAAF,CAAD,EAAoB09B,EAAE,CAAC59B,SAAvB,EAAiC,gCAAjC,EAAkE,IAAlE,CAA5jC,EAAooCnI,uDAAC,CAAC,CAACiC,uFAAC,EAAF,CAAD,EAAO8jC,EAAE,CAAC59B,SAAV,EAAoB,WAApB,EAAgC,IAAhC,CAAroC,EAA2qCnI,uDAAC,CAAC,CAACiC,uFAAC,CAAC;AAACsB,EAAAA,IAAI,EAACkI,8EAACA;AAAP,CAAD,CAAF,CAAD,EAAes6B,EAAE,CAAC59B,SAAlB,EAA4B,YAA5B,EAAyC,IAAzC,CAA5qC,EAA2tCnI,uDAAC,CAAC,CAACiC,uFAAC,EAAF,CAAD,EAAO8jC,EAAE,CAAC59B,SAAV,EAAoB,QAApB,EAA6B,IAA7B,CAA5tC,EAA+vCnI,uDAAC,CAAC,CAACiC,uFAAC,CAAC;AAACsB,EAAAA,IAAI,EAACnB,kEAACA;AAAP,CAAD,CAAF,CAAD,EAAe2jC,EAAE,CAAC59B,SAAlB,EAA4B,aAA5B,EAA0C,IAA1C,CAAhwC,EAAgzCnI,uDAAC,CAAC,CAACiC,uFAAC,EAAF,CAAD,EAAO8jC,EAAE,CAAC59B,SAAV,EAAoB,QAApB,EAA6B,IAA7B,CAAjzC,EAAo1CnI,uDAAC,CAAC,CAACiC,uFAAC,EAAF,CAAD,EAAO8jC,EAAE,CAAC59B,SAAV,EAAoB,QAApB,EAA6B,KAAK,CAAlC,CAAr1C,EAA03CnI,uDAAC,CAAC,CAACiC,uFAAC,EAAF,CAAD,EAAO8jC,EAAE,CAAC59B,SAAV,EAAoB,MAApB,EAA2B,KAAK,CAAhC,CAA33C,EAA85CnI,uDAAC,CAAC,CAACiC,uFAAC,CAAC;AAACsB,EAAAA,IAAI,EAAC8jB,wEAACA;AAAP,CAAD,CAAF,CAAD,EAAe0e,EAAE,CAAC59B,SAAlB,EAA4B,kBAA5B,EAA+C,IAA/C,CAA/5C,EAAo9CnI,uDAAC,CAAC,CAACiC,uFAAC,CAAC;AAACsB,EAAAA,IAAI,EAAC7C,kEAAA,CAASof,0EAAT;AAAN,CAAD,CAAF,CAAD,EAAyBimB,EAAE,CAAC59B,SAA5B,EAAsC,YAAtC,EAAmD,KAAK,CAAxD,CAAr9C,EAAghDnI,uDAAC,CAAC,CAACiC,uFAAC,CAAC;AAACoG,EAAAA,QAAQ,EAAC,CAAC;AAAX,CAAD,CAAF,CAAD,EAAoB09B,EAAE,CAAC59B,SAAvB,EAAiC,cAAjC,EAAgD,KAAK,CAArD,CAAjhD,EAAykDnI,uDAAC,CAAC,CAACiC,uFAAC,EAAF,CAAD,EAAO8jC,EAAE,CAAC59B,SAAV,EAAoB,KAApB,EAA0B,KAAK,CAA/B,CAA1kD,EAA4mDnI,uDAAC,CAAC,CAACiC,uFAAC,EAAF,CAAD,EAAO8jC,EAAE,CAAC59B,SAAV,EAAoB,SAApB,EAA8B,IAA9B,CAA7mD,EAAipDnI,uDAAC,CAAC,CAACiC,uFAAC,CAAC;AAACoG,EAAAA,QAAQ,EAAC,CAAC;AAAX,CAAD,CAAF,CAAD,EAAoB09B,EAAE,CAAC59B,SAAvB,EAAiC,WAAjC,EAA6C,IAA7C,CAAlpD,EAAqsDnI,uDAAC,CAAC,CAACiC,uFAAC,EAAF,CAAD,EAAO8jC,EAAE,CAAC59B,SAAV,EAAoB,aAApB,EAAkC,IAAlC,CAAtsD,EAA8uDnI,uDAAC,CAAC,CAACiC,uFAAC,CAAC;AAACoG,EAAAA,QAAQ,EAAC,CAAC;AAAX,CAAD,CAAF,CAAD,EAAoB09B,EAAE,CAAC59B,SAAvB,EAAiC,YAAjC,EAA8C,IAA9C,CAA/uD,EAAmyDnI,uDAAC,CAAC,CAACiC,uFAAC,EAAF,CAAD,EAAO8jC,EAAE,CAAC59B,SAAV,EAAoB,UAApB,EAA+B,IAA/B,CAApyD,EAAy0DnI,uDAAC,CAAC,CAACiC,uFAAC,EAAF,CAAD,EAAO8jC,EAAE,CAAC59B,SAAV,EAAoB,OAApB,EAA4B,IAA5B,CAA10D,EAA42DnI,uDAAC,CAAC,CAACiC,uFAAC,CAAC;AAACm0C,EAAAA,aAAa,EAAC,CAAC;AAAhB,CAAD,CAAF,CAAD,EAAyBrQ,EAAE,CAAC59B,SAA5B,EAAsC,wBAAtC,EAA+D,KAAK,CAApE,CAA72D,EAAo7DnI,uDAAC,CAAC,CAACiC,uFAAC,EAAF,CAAD,EAAO8jC,EAAE,CAAC59B,SAAV,EAAoB,YAApB,EAAiC,IAAjC,CAAr7D,EAA49DnI,uDAAC,CAAC,CAACiC,uFAAC,CAAC;AAACoG,EAAAA,QAAQ,EAAC,CAAC;AAAX,CAAD,CAAF,CAAD,EAAoB09B,EAAE,CAAC59B,SAAvB,EAAiC,UAAjC,EAA4C,IAA5C,CAA79D,EAA+gEnI,uDAAC,CAAC,CAACiC,uFAAC,CAAC;AAACsB,EAAAA,IAAI,EAACgF,8DAAN;AAAQF,EAAAA,QAAQ,EAAC,CAAC;AAAlB,CAAD,CAAF,CAAD,EAA2B09B,EAAE,CAAC59B,SAA9B,EAAwC,UAAxC,EAAmD,KAAK,CAAxD,CAAhhE,EAA2kEnI,uDAAC,CAAC,CAACiC,uFAAC,CAAC;AAACoG,EAAAA,QAAQ,EAAC,CAAC;AAAX,CAAD,CAAF,CAAD,EAAoB09B,EAAE,CAAC59B,SAAvB,EAAiC,MAAjC,EAAwC,KAAK,CAA7C,CAA5kE,EAA4nEnI,uDAAC,CAAC,CAACiC,uFAAC,CAAC;AAACoG,EAAAA,QAAQ,EAAC,CAAC;AAAX,CAAD,CAAF,CAAD,EAAoB09B,EAAE,CAAC59B,SAAvB,EAAiC,UAAjC,EAA4C,IAA5C,CAA7nE,EAA+qEnI,uDAAC,CAAC,CAACiC,uFAAC,CAAC;AAACoG,EAAAA,QAAQ,EAAC,CAAC;AAAX,CAAD,CAAF,CAAD,EAAoB09B,EAAE,CAAC59B,SAAvB,EAAiC,YAAjC,EAA8C,KAAK,CAAnD,CAAhrE,EAAsuEnI,uDAAC,CAAC,CAACiC,uFAAC,EAAF,CAAD,EAAO8jC,EAAE,CAAC59B,SAAV,EAAoB,WAApB,EAAgC,IAAhC,CAAvuE,EAA6wEnI,uDAAC,CAAC,CAACiC,uFAAC,CAAC;AAACoG,EAAAA,QAAQ,EAAC,CAAC;AAAX,CAAD,CAAF,CAAD,EAAoB09B,EAAE,CAAC59B,SAAvB,EAAiC,aAAjC,EAA+C,IAA/C,CAA9wE,EAAm0EnI,uDAAC,CAAC,CAACiC,uFAAC,EAAF,CAAD,EAAO8jC,EAAE,CAAC59B,SAAV,EAAoB,MAApB,EAA2B,IAA3B,CAAp0E,EAAq2EnI,uDAAC,CAAC,CAACiC,uFAAC,CAAC;AAACoG,EAAAA,QAAQ,EAAC,CAAC;AAAX,CAAD,CAAF,CAAD,EAAoB09B,EAAE,CAAC59B,SAAvB,EAAiC,YAAjC,EAA8C,IAA9C,CAAt2E,EAA05EnI,uDAAC,CAAC,CAACiC,uFAAC,EAAF,EAAKP,+EAAC,CAAE1B,CAAC,IAAEA,CAAC,YAAYknB,yDAAb,GAAelnB,CAAf,GAAiBgB,iFAAC,CAAC0K,8DAAD,EAAG1L,CAAH,CAAvB,CAAN,CAAD,EAAuC+lC,EAAE,CAAC59B,SAA1C,EAAoD,IAApD,EAAyD,KAAK,CAA9D,CAA35E,EAA49E49B,EAAE,GAAC/lC,uDAAC,CAAC,CAACwB,uFAAC,CAAC,mBAAD,CAAF,CAAD,EAA0BukC,EAA1B,CAAh+E;AAA8/E,MAAME,EAAE,GAACF,EAAT;;;;;;;;;;;;;;;;;;;;;;;;;ACJx1iB;AACA;AACA;AACA;AAC0a,oBAAoB,yDAAC,CAAC,eAAe,mEAAmE,aAAa,eAAe,qEAAC,oDAAoD,WAAW,sDAAsD,OAAO,0GAA0G,sDAAC,4BAA4B,SAAS,2GAA2G,YAAY,MAAM,oEAAC,iFAAiF,uDAAC,EAAE,sFAAC,EAAE,YAAY,4BAA4B,uDAAC,EAAE,sFAAC,EAAE,wBAAwB,+BAA+B,uDAAC,EAAE,sFAAC,mCAAmC,uDAAC,EAAE,sFAAC,6CAA6C,SAAS,iGAAiG,SAAS,GAAG,UAA+B;;;;;;;;;;;;;;;;;;ACJl2C;AACA;AACA;AACA;AACA,MAAM,cAAc,oCAAoC,cAAc,qCAAqC,aAAa,4CAA4C,SAAS,GAAkF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACJ/P;AACA;AACA;AACA;AACA,6eAA6e,cAAc,yCAAyC,4BAA4B,gBAAgB,qDAAqD,6JAA6J,uiBAAslC;;;;;;;;;;;;;;;;;;;;;;ACJx3D;AACA;AACA;AACA;AACgW,YAAY,4EAAC,CAAC,YAAY,WAAW,kBAAkB,eAAe,qCAAqC,eAAe,WAAW,2DAAC,iBAAiB,sDAAC,qBAAqB,sDAAC,kBAAkB,+CAAC,CAAC,cAAc,qGAAqG,sEAAC,yCAAyC,sDAAC,gDAAgD,sDAAC,CAAC,+CAAC,EAAE,cAAc,wDAAwD,+CAA+C,+DAA+D,qBAAqB,gEAAgE,2CAA2C,wBAAwB,6DAA6D,qEAAa,oBAAoB,qEAAa,GAAG,qCAAqC,2DAAC,gCAAuD;;;;;;;;;;;;;;;;ACJ5wC;AACA;AACA;AACA;AACA,QAAQ,cAAc,yEAAoG;;;;;;;;;;;;;;;;;;;ACJ1H;AACA;AACA;AACA;AACuK,QAAQ,eAAe,uCAAuC,qDAAC,sDAAsD,kBAAkB,2EAAmB,CAAC,iCAAiC,QAAQ,kCAAkC,0BAA0B,YAAY,0CAA0C,cAAc,wLAAwL,2EAAmB,+GAA+G,uBAAuB,0CAA0C,6BAA6B,cAAc,wEAAwE,aAAa,yBAAyB,iFAAC,GAAG,aAAa,mCAAmC,iFAAC,GAAG,gBAAgB,4BAA4B,iFAAC,IAA4B;;;;;;;;;;;;;;;;ACJhoC;AACA;AACA;AACA;AACA,QAAQ,cAAc,mEAAsG;;;;;;;;;;;;;;;;;ACJ5H;AACA;AACA;AACA;AACgD,YAAY,cAAc,wBAAwB,WAAW,oCAAoC,sDAAC,YAAY,sDAAC,KAAK,6BAA6B,yCAAyC,YAAY,oFAAoF,YAAY,uBAAuB,KAAK,wCAAwC,0CAA0C,8VAA8V,MAAM,0BAA0B,wLAAwL,oCAAoC,cAAc,SAAS,kDAAkD,sCAAsC,iCAAmD;;;;;;;;;;;;;;;;;;ACJhsC;AACA;AACA;AACA;AACqG,QAAQ,WAAW,kBAAkB,eAAe,kBAAkB,UAAU,sIAAsI,8BAA8B,mEAAmE,qFAAqF,kEAAkE,8BAA8B,mBAAmB,mFAAmF,+BAA+B,iBAAiB,YAAY,8QAA8Q,yCAAyC,YAAY,gBAAgB,iFAAiF,cAAc,YAAY,mDAAmD,cAAc,YAAY,sDAAsD,cAAc,yDAAyD,qDAAqD,iFAAiF,cAAc,sDAAC,gFAAgF,gCAAgC,+FAA+F,iBAAiB,iCAAiC,sDAAC,2CAA2C,sDAAC,IAAI,eAAe,+BAA+B,sDAAC,iKAAiK,sDAAC,IAAI,cAAc,8BAA8B,sDAAC,2CAA2C,sDAAC,IAAI,cAAc,kCAAkC,sDAAC,IAAI,4BAA4B,gGAAgG,OAAO,sDAAC,iFAAiF,OAAO,sDAAC,6CAA6C,8BAA8B,yBAAyB,4BAA4B,kFAAkF,4BAA4B,SAAS,6BAA6B,6CAA6C,2CAA2C,2BAA2B,MAAM,4BAA4B,iBAAiB,iBAAiB,oCAAoC,6BAA6B,yBAAyB,oDAAoD,+EAA+E,2FAA2F,SAAS,gCAAgC,SAAS,6BAA6B,oNAAoN,QAAQ,2DAAC,KAA0B;;;;;;;;;;;;;;;;;;ACJ/8G;AACA;AACA;AACA;AACqD,SAAS,gCAAgC,2DAAC,kBAAkB,2DAAC,MAAM,IAAI,iBAAiB,2DAAC,OAA2D;;;;;;;;;;;;;;;;;;;;ACJzM;AACA;AACA;AACA;AACgL,gBAAgB,0CAAC,CAAC,iBAAiB,oCAAoC,gDAAC,KAAK,gDAAC,KAAK,gDAAC,4EAA4E,YAAY,aAAa,sEAAsE,gBAAgB,6DAAC,gBAAgB,4IAA4I,sCAAsC,iEAAiE,mDAAC,8CAA8C,kDAAC,UAAU,qBAAqB,8JAA8J,+lCAA+lC,qBAAqB,gCAAgC,iDAAmE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACJvoE;AACA;AACA;AACA;AACA,kBAAkB,2DAA2D,wIAAwI,kBAAkB,oNAAoN,0FAA0F,kBAAkB,gLAAgL,iGAAiG,gBAAgB,wFAAwF,gBAAgB,wDAAwD,gBAAgB,0DAA0D,kBAAkB,8HAA8H,kBAAkB,gIAAgI,kBAAkB,oIAAoI,kBAAkB,4PAA4P,kBAAkB,8PAA8P,0FAA0F,kBAAkB,8NAA8N,iGAAiG,gBAAgB,wFAAwF,gBAAgB,wDAAwD,gBAAgB,0DAA0D,cAAc,oDAAoD,kHAAkH,wKAAwK,oEAAib;;;;;;;;;;;;;;;;;ACJ17G;AACA;AACA;AACA;AACiY,gBAAgB,aAAa,SAAS,6HAA6H,sDAAsD,6DAAC,CAAC,4DAAC,KAAK,8DAAC,CAAC,6DAAC,KAAK,+DAAC,CAAC,8DAAC,KAAK,8DAAC,CAAC,6DAAC,KAAK,+DAAC,CAAC,8DAAC,KAAK,gEAAC,CAAC,+DAAC,eAAe,sDAAC,+BAA+B,uDAAC,+BAA+B,wDAAC,iBAAiB,WAAW,QAAQ,wDAAC,IAAI,MAAM,gFAAgF,QAAQ,IAAI,KAAK,6BAA6B,WAAW,sBAAsB,eAAe,wBAAwB,4BAA4B,WAAW,MAAM,qEAAqE,aAAa,+BAA+B,IAAI,2EAA2E,gBAAgB,iIAAiI,qHAAkJ;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACJ19C;AACA;AACA;AACA;AACqgB,oBAAoB,yDAAC,CAAC,cAAc,2EAA2E,UAAU,wEAAwE,YAAY,aAAa,SAAS,qBAAqB,UAAU,6DAA6D,2DAAC,IAAI,MAAM,mEAAmE,+DAAC,IAAI,MAAM,oEAAoE,gEAAC,IAAI,MAAM,iEAAiE,6DAAC,IAAI,MAAM,6GAA6G,8DAAC,IAAI,yBAAyB,WAAW,uEAAuE,QAAQ,wEAAwE,uDAAC,EAAE,sFAAC,uCAAuC,uDAAC,EAAE,sFAAC,EAAE,YAAY,8BAA8B,uDAAC,EAAE,sFAAC,iCAAiC,uDAAC,EAAE,sFAAC,6BAA6B,UAA+B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACJriD;AACA;AACA;AACA;AACoqC,MAAM,sBAAsB,wEAAiB,CAAC,eAAe,uTAAuT,yFAAC,+GAA+G,wGAAC,KAAK,oFAAC,uDAAuD,+DAAO,kCAAkC,iEAAC,EAAE,4DAA4D,4BAA4B,sFAAC,EAAE,mEAAmE,8BAA8B,gCAAgC,0FAAC,8BAA8B,4BAA4B,iFAAC,yBAAyB,+DAAO,2EAA2E,qBAAqB,SAAS,MAAM,4DAA4D,aAAa,4BAA4B,0FAAC,EAAE,eAAe,+EAA+E,UAAU,yLAAyL,4DAAC,iEAAiE,yBAAyB,gFAAgF,eAAe,6IAA6I,WAAW,yDAAyD,YAAY,uCAAuC,oBAAoB,2CAA2C,qBAAqB,oCAAoC,oDAAC,IAAI,UAAU,4CAA4C,UAAU,4CAA4C,OAAO,kDAAkD,OAAO,kDAAkD,4BAA4B,+BAA+B,mDAAmD,oCAAoC,4BAA4B,4BAA4B,gCAAgC,EAAE,6BAA6B,eAAe,WAAW,uCAAuC,8BAA8B,iEAAiE,4EAAC,uCAAuC,KAAK,8BAA8B,iEAAiE,4EAAC,qCAAqC,oFAAoF,SAAS,uBAAuB,QAAQ,yFAAC,8CAA8C,8BAA8B,8BAA8B,gDAAgD,wEAAC,+BAA+B,QAAQ,sCAAsC,IAAI,GAAG,mBAAmB,yDAAyD,qBAAqB,qBAAqB,iBAAiB,gCAAgC,4BAA4B,6EAA6E,wCAAwC,MAAM,QAAQ,mDAAmD,yGAAyG,6BAA6B,gFAAgF,qBAAqB,gJAAgJ,qCAAqC,wBAAwB,kCAAkC,kEAAkE,uDAAC,EAAE,sFAAC,EAAE,YAAY,gCAAgC,uDAAC,EAAE,sFAAC,EAAE,4BAA4B,iDAAiD,uDAAC,EAAE,sFAAC,EAAE,YAAY,iCAAiC,uDAAC,EAAE,sFAAC,EAAE,YAAY,qCAAqC,uDAAC,EAAE,sFAAC,sCAAsC,uDAAC,EAAE,sFAAC,+BAA+B,uDAAC,EAAE,sFAAC,wCAAwC,uDAAC,EAAE,sFAAC,EAAE,eAAe,kCAAkC,uDAAC,EAAE,sFAAC,6BAA6B,uDAAC,EAAE,sFAAC,6CAA6C,uDAAC,EAAE,sFAAC,0CAA0C,uDAAC,EAAE,sFAAC,mCAAmC,SAAS,gCAAgC,IAAI,+BAA+B,cAAc,4CAA4C,UAA+B;;;;;;;;;;;;;;;;;ACJl4L;AACA;AACA;AACA;AACqC,QAAQ,aAAa,qCAAqC,EAAE,gBAAgB,wDAAC,0HAA0H,WAAW,0BAA0B,SAAS,UAAU,UAAU,qBAAqB,iBAA8C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACJjX;AACA;AACA;AACA;AACsqE,uDAAuD,oBAAoB,qEAAc,CAAC,yDAAC,GAAG,eAAe,kGAAkG,4DAAC,qFAAqF,8EAAC,wGAAwG,yDAAC,CAAC,uFAAC,uCAAuC,yDAAC,CAAC,mGAAC,kFAAkF,kFAAC,kLAAkL,0FAAC,YAAY,aAAa,MAAM,sBAAsB,yEAAyE,+DAAO,gDAAgD,sBAAsB,yFAAC,yDAAyD,wGAAC,KAAK,oFAAC,yDAAyD,0FAAC,EAAE,OAAO,mBAAmB,6DAAC,QAAQ,4EAA4E,MAAM,2BAA2B,MAAM,MAAM,kBAAkB,MAAM,6BAA6B,4EAAC,KAAK,qFAAqF,mEAAmE,GAAG,6CAA6C,2DAAC,4BAA4B,EAAE,6DAAC,oCAAoC,MAAM,yEAAC,qCAAqC,+BAA+B,iFAAC,+EAA+E,2BAA2B,qBAAqB,2HAA2H,iBAAiB,6DAAC,sCAAsC,YAAY,EAAE,kEAAC,wGAAwG,6BAA6B,4FAA4F,mIAAmI,6FAAC,2CAA2C,wGAAwG,6FAAC,yCAAyC,iHAAiH,OAAO,6FAAC,wGAAwG,mCAAmC,wBAAwB,EAAE,MAAM,sCAAsC,0BAA0B,EAAE,MAAM,sCAAsC,0BAA0B,GAAG,IAAI,8BAA8B,iEAAC,EAAE,oJAAoJ,EAAE,2MAA2M,6DAAC,8BAA8B,gFAAgF,EAAE,kEAAC,EAAE,6DAAC,QAAQ,qCAAqC,MAAM,kBAAkB,IAAI,WAAW,EAAE,kEAAC,IAAI,mGAAC,YAAY,wFAAwF,+BAA+B,sFAAsF,iCAAiC,wEAAC,MAAM,GAAG,UAAU,4DAAC,qBAAqB,4DAAC,uDAAuD,4DAAC,+DAA+D,kBAAkB,MAAM,kCAAkC,MAAM,2EAA2E,uBAAuB,iFAAiF,0BAA0B,iDAAiD,kDAAkD,cAAc,4CAA4C,cAAc,4CAA4C,wBAAwB,2FAA2F,kBAAkB,MAAM,mCAAmC,MAAM,kCAAkC,+CAA+C,qHAAqH,mBAAmB,2BAA2B,gEAAC,EAAE,sBAAsB,kEAAkE,kBAAkB,qCAAqC,mBAAmB,gCAAgC,kBAAkB,sCAAsC,2BAA2B,6CAA6C,sBAAsB,oEAAoE,mBAAmB,iCAAiC,gCAAgC,+DAA+D,wBAAwB,MAAM,yDAAyD,MAAM,qBAAqB,2FAAC,OAAO,2FAAC,aAAa,eAAe,sCAAsC,2CAA2C,MAAM,2DAA2D,kBAAkB,4CAA4C,SAAS,eAAe,WAAW,EAAE,qBAAqB,gCAAgC,MAAM,oBAAoB,MAAM,2FAA2F,YAAY,uBAAuB,qEAAqE,MAAM,sCAAsC,yEAAyE,qPAAqP,8CAA8C,6CAA6C,8BAA8B,GAAG,gBAAgB,eAAe,4DAA4D,MAAM,6DAA6D,eAAe,iDAAiD,mCAAmC,OAAO,oCAAoC,OAAO,oGAAoG,kBAAkB,QAAQ,oDAAC,sBAAsB,oDAAC,iIAAiI,2FAAC,iOAAiO,wBAAwB,qHAAqH,yCAAyC,GAAG,wBAAwB,mGAAmG,6BAA6B,eAAe,8BAA8B,4JAA4J,kCAAkC,yBAAyB,+DAA+D,qEAAqE,kEAAkE,uCAAuC,OAAO,sGAAC,gBAAgB,2CAA2C,+BAA+B,MAAM,gCAAgC,CAAC,mHAAC,EAAE,yEAAyE,sFAAC,EAAE,wLAAwL,uEAAuE,EAAE,2SAA2S,2FAAC,2TAA2T,GAAG,0CAA0C,OAAO,sGAAC,YAAY,iQAAiQ,iBAAiB,gJAAgJ,MAAM,0BAA0B,SAAS,GAAG,GAAG,wCAAwC,OAAO,sGAAC,YAAY,sQAAsQ,iBAAiB,gJAAgJ,MAAM,+KAA+K,SAAS,GAAG,GAAG,4BAA4B,MAAM,yEAAyE,MAAM,yEAAyE,oCAAoC,MAAM,kGAAkG,MAAM,oBAAoB,uCAAuC,iCAAiC,+CAA+C,0EAA0E,gFAAgF,4BAA4B,gBAAgB,gEAAgE,WAAW,gKAAgK,qBAAqB,4EAA4E,MAAM,6BAA6B,MAAM,4EAA4E,yCAAyC,kBAAkB,+CAA+C,mIAAmI,sOAAsO,QAAQ,qBAAqB,2BAA2B,+FAA+F,kBAAkB,QAAQ,uEAAC,UAAU,uOAAuO,yBAAyB,yOAAyO,6CAA6C,wHAAwH,sFAAsF,2BAA2B,6BAA6B,wDAAwD,oCAAoC,iCAAiC,wEAAC,SAAS,qBAAqB,QAAQ,qBAAqB,MAAM,4BAA4B,MAAM,uBAAuB,MAAM,UAAU,KAAK,+FAAC,gCAAgC,eAAe,QAAQ,+FAAC,0EAA0E,+EAA+E,gBAAgB,uEAAuE,4BAA4B,WAAW,WAAW,gFAAgF,uCAAuC,gBAAgB,yBAAyB,OAAO,kCAAkC,iFAAiF,yBAAyB,uBAAuB,4EAA4E,WAAW,sFAAC,EAAE,8KAA8K,yCAAyC,uCAAuC,IAAI,kBAAkB,0BAA0B,kBAAkB,uDAAC,EAAE,uFAAC,6CAA6C,uDAAC,EAAE,uFAAC,2CAA2C,uDAAC,EAAE,uFAAC,oCAAoC,uDAAC,EAAE,uFAAC,6CAA6C,uDAAC,EAAE,uFAAC,yCAAyC,uDAAC,EAAE,uFAAC,EAAE,iBAAiB,iCAAiC,uDAAC,EAAE,uFAAC,6CAA6C,uDAAC,EAAE,uFAAC,sCAAsC,uDAAC,EAAE,uFAAC,oCAAoC,uDAAC,EAAE,uFAAC,sCAAsC,uDAAC,EAAE,uFAAC,mCAAmC,uDAAC,EAAE,uFAAC,mCAAmC,uDAAC,EAAE,uFAAC,EAAE,MAAM,gEAAC,CAAC,mCAAmC,uDAAC,EAAE,uFAAC,EAAE,iBAAiB,8CAA8C,uDAAC,EAAE,uFAAC,EAAE,iBAAiB,uCAAuC,uDAAC,EAAE,uFAAC,EAAE,sBAAsB,kFAAC,CAAC,sCAAsC,uDAAC,EAAE,uFAAC,EAAE,iBAAiB,sCAAsC,uDAAC,EAAE,uFAAC,EAAE,iBAAiB,8BAA8B,uDAAC,EAAE,uFAAC,EAAE,iBAAiB,8BAA8B,uDAAC,EAAE,uFAAC,iCAAiC,uDAAC,EAAE,uFAAC,wCAAwC,uDAAC,EAAE,uFAAC,kCAAkC,uDAAC,EAAE,uFAAC,EAAE,iBAAiB,sCAAsC,uDAAC,EAAE,uFAAC,EAAE,iBAAiB,qCAAqC,uDAAC,EAAE,uFAAC,EAAE,iBAAiB,uCAAuC,uDAAC,EAAE,uFAAC,EAAE,iBAAiB,yCAAyC,uDAAC,EAAE,uFAAC,EAAE,iBAAiB,4CAA4C,uDAAC,EAAE,uFAAC,6CAA6C,uDAAC,EAAE,uFAAC,EAAE,YAAY,oCAAoC,uDAAC,EAAE,uFAAC,EAAE,YAAY,iDAAiD,uDAAC,EAAE,uFAAC,0CAA0C,uDAAC,EAAE,uFAAC,sCAAsC,uDAAC,EAAE,uFAAC,qCAAqC,uDAAC,EAAE,uFAAC,6CAA6C,uDAAC,EAAE,uFAAC,iCAAiC,uDAAC,EAAE,uFAAC,EAAE,iBAAiB,gCAAgC,uDAAC,EAAE,uFAAC,sCAA8G;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACJ1nkB;AACA;AACA;AACA;AACqpB,oBAAoB,qEAAc,CAAC,qFAAC,GAAG,eAAe,uHAAuH,aAAa,oBAAoB,yFAAC,+BAA+B,uBAAuB,4DAAC,EAAE,mMAAmM,+DAAC,kDAAkD,mEAAC,iDAAiD,+WAA+W,UAAU,mBAAmB,4DAAC,4CAA4C,eAAe,wDAAwD,eAAe,wCAAwC,0BAA0B,8BAA8B,eAAe,4DAA4D,kBAAkB,+DAA+D,gBAAgB,mCAAmC,UAAU,kCAAkC,UAAU,kCAAkC,OAAO,0BAA0B,SAAS,OAAO,0BAA0B,cAAc,wBAAwB,kBAAkB,6BAA6B,eAAe,0BAA0B,kBAAkB,6BAA6B,kBAAkB,+BAA+B,uDAAC,EAAE,sFAAC,EAAE,gCAAgC,kCAAkC,uDAAC,EAAE,sFAAC,wCAAwC,uDAAC,EAAE,sFAAC,EAAE,iBAAiB,uCAAuC,uDAAC,EAAE,sFAAC,EAAE,SAAS,+BAA+B,uDAAC,EAAE,sFAAC,EAAE,iBAAiB,sCAAsC,uDAAC,EAAE,sFAAC,EAAE,iBAAiB,8BAA8B,uDAAC,EAAE,sFAAC,EAAE,iBAAiB,8BAA8B,uDAAC,EAAE,sFAAC,sCAAsC,uDAAC,EAAE,sFAAC,EAAE,YAAY,8BAA8B,uDAAC,EAAE,sFAAC,EAAE,YAAY,gCAAgC,uDAAC,EAAE,sFAAC,EAAE,gCAAgC,gCAAgC,uDAAC,EAAE,sFAAC,iCAAuD;;;;;;;;;;;;;;;;;ACJxhG;AACA;AACA;AACA;AACA,gDAAkG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACJlG;AACA;AACA;AACA;AAC2oB,6DAA6D,oBAAoB,sDAAC,CAAC,eAAe,uEAAuE,aAAa,kDAAkD,UAAU,6EAA6E,OAAO,2CAA2C,OAAO,2CAA2C,WAAW,wBAAwB,kBAAkB,qEAAqE,oBAAoB,EAAE,4EAAM,mCAAmC,kJAAkJ,oFAAC,mDAAmD,EAAE,4EAAM,mCAAmC,0HAA0H,oFAAC,kDAAkD,EAAE,4EAAM,mCAAmC,yFAAyF,EAAE,4EAAM,iCAAiC,8IAA8I,KAAK,gCAAgC,uBAAuB,EAAE,4EAAM,qCAAqC,oBAAoB,EAAE,4EAAM,mCAAmC,iDAAiD,EAAE,4EAAM,+CAA+C,iDAAiD,EAAE,4EAAM,+BAA+B,MAAM,eAAe,GAAG,IAAI,8EAAW,wGAAwG,6EAAU,QAAQ,yEAAM,sCAAsC,yEAAM,sCAAsC,wEAAK,gJAAgJ,EAAE,4EAAM,6BAA6B,QAAQ,wEAAK,sBAAsB,EAAE,4EAAM,MAAM,sBAAsB,oGAAoG,uDAAuD,qCAAqC,+GAA+G,mEAAC,oCAAoC,qDAAqD,wDAAwD,+CAA+C,gEAAC,4BAA4B,gFAAgF,8BAA8B,qCAAqC,+GAA+G,gEAAC,oCAAoC,OAAO,qBAAqB,sBAAsB,yBAAyB,sBAAsB,cAAc,gDAAgD,+EAA+E,oBAAoB,2DAA2D,uEAAuE,+EAA+E,mEAAC,4FAA4F,2DAAC,8BAA8B,mBAAmB,4KAA4K,YAAY,mEAAC,gBAAgB,6EAA6E,EAAE,uDAAC,EAAE,sFAAC,6CAA6C,UAA+B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACJhiJ;AACA;AACA;AACA;AACyoB,oBAAoB,sDAAC,CAAC,eAAe,2DAA2D,aAAa,kEAAkE,UAAU,4CAA4C,WAAW,wBAAwB,kBAAkB,2EAA2E,QAAQ,6EAAU,qFAAqF,EAAE,6EAAM,IAAI,wBAAwB,yEAAyE,kJAAkJ,oFAAC,mDAAmD,EAAE,6EAAM,mCAAmC,8CAA8C,oFAAC,kDAAkD,EAAE,6EAAM,mCAAmC,yFAAyF,EAAE,6EAAM,iCAAiC,kKAAkK,KAAK,gCAAgC,uBAAuB,EAAE,6EAAM,qCAAqC,oBAAoB,EAAE,6EAAM,IAAI,eAAe,YAAY,kDAAC,EAAE,iGAAiG,EAAE,4FAA4F,qDAAqD,mEAAC,2DAA2D,wBAAwB,8BAA8B,mEAAC,sEAAsE,KAAK,kBAAkB,6EAA6E,cAAc,gDAAgD,qNAAqN,oBAAoB,2DAA2D,uEAAuE,+EAA+E,mEAAC,4FAA4F,2DAAC,8BAA8B,mBAAmB,uEAAuE,2IAA2I,YAAY,mEAAC,gBAAgB,2EAA2E,EAAE,uDAAC,EAAE,sFAAC,wCAAwC,UAA+B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACJziH;AACA;AACA;AACA;AAC6yB,oBAAoB,sDAAC,CAAC,eAAe,yHAAyH,+DAAC,CAAC,aAAa,kEAAkE,UAAU,4CAA4C,mBAAmB,mDAAmD,oBAAoB,gDAAgD,OAAO,kFAAkF,OAAO,kFAAkF,UAAU,kDAAkD,UAAU,kDAAkD,WAAW,wBAAwB,qBAAqB,2EAA2E,kBAAkB,0EAA0E,MAAM,eAAe,GAAG,IAAI,8EAAW,QAAQ,6EAAU,QAAQ,yEAAM,sCAAsC,yEAAM,4MAA4M,EAAE,6EAAM,GAAG,wBAAwB,mEAAmE,oBAAoB,EAAE,6EAAM,mCAAmC,kJAAkJ,oFAAC,mDAAmD,EAAE,6EAAM,mCAAmC,0HAA0H,oFAAC,kDAAkD,EAAE,6EAAM,mCAAmC,kFAAkF,oFAAC,kGAAkG,EAAE,6EAAM,iCAAiC,qHAAqH,8GAA8G,0BAA0B,KAAK,gCAAgC,uBAAuB,EAAE,6EAAM,2BAA2B,uFAAuF,EAAE,6EAAM,qCAAqC,oBAAoB,EAAE,6EAAM,mCAAmC,iDAAiD,EAAE,6EAAM,+CAA+C,iDAAiD,EAAE,6EAAM,+BAA+B,MAAM,eAAe,GAAG,IAAI,wEAAK,+CAA+C,EAAE,6EAAM,6BAA6B,QAAQ,wEAAK,4CAA4C,EAAE,6EAAM,gCAAgC,uBAAuB,4IAA4I,sBAAsB,sEAAsE,uDAAuD,qCAAqC,+GAA+G,oEAAC,oCAAoC,qDAAqD,wDAAwD,+CAA+C,iEAAC,4BAA4B,gFAAgF,8BAA8B,qCAAqC,+GAA+G,iEAAC,oCAAoC,KAAK,eAAe,YAAY,kDAAC,EAAE,qGAAqG,EAAE,wEAAwE,0BAA0B,MAAM,OAAO,wDAAwD,2BAA2B,iEAAC,+EAA+E,iEAAC,UAAU,6BAA6B,0BAA0B,MAAM,OAAO,wDAAwD,8BAA8B,oEAAC,+EAA+E,oEAAC,UAAU,6BAA6B,qDAAqD,oEAAC,2DAA2D,wBAAwB,8BAA8B,oEAAC,sEAAsE,GAAG,kBAAkB,6EAA6E,cAAc,gDAAgD,+JAA+J,oBAAoB,2DAA2D,uEAAuE,+EAA+E,oEAAC,4FAA4F,2DAAC,8BAA8B,mBAAmB,uEAAuE,8FAA8F,wFAAwF,YAAY,oEAAC,gBAAgB,2EAA2E,uDAAC,EAAE,sFAAC,qCAAqC,uDAAC,EAAE,sFAAC,sCAAsC,uDAAC,EAAE,sFAAC,EAAE,KAAK,yDAAC,CAAC,gCAAgC,uDAAC,EAAE,sFAAC,0CAA0C,UAA+B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACJh4N;AACA;AACA;AACA;AAC6yB,oBAAoB,sDAAC,CAAC,eAAe,yHAAyH,+DAAC,CAAC,aAAa,kEAAkE,UAAU,4CAA4C,oBAAoB,gDAAgD,mBAAmB,mDAAmD,OAAO,kFAAkF,OAAO,kFAAkF,UAAU,kDAAkD,UAAU,kDAAkD,WAAW,wBAAwB,kBAAkB,2EAA2E,MAAM,eAAe,GAAG,IAAI,8EAAW,QAAQ,6EAAU,QAAQ,yEAAM,sCAAsC,yEAAM,4MAA4M,EAAE,6EAAM,IAAI,wBAAwB,mEAAmE,oBAAoB,EAAE,6EAAM,mCAAmC,qKAAqK,oFAAC,mDAAmD,EAAE,6EAAM,mCAAmC,0HAA0H,oFAAC,kDAAkD,EAAE,6EAAM,mCAAmC,kFAAkF,oFAAC,kGAAkG,EAAE,6EAAM,iCAAiC,qHAAqH,8GAA8G,0BAA0B,KAAK,gCAAgC,uBAAuB,EAAE,6EAAM,2BAA2B,uFAAuF,EAAE,6EAAM,qCAAqC,oBAAoB,EAAE,6EAAM,mCAAmC,iDAAiD,EAAE,6EAAM,+CAA+C,iDAAiD,EAAE,6EAAM,+BAA+B,MAAM,eAAe,GAAG,IAAI,wEAAK,+CAA+C,EAAE,6EAAM,6BAA6B,QAAQ,wEAAK,4CAA4C,EAAE,6EAAM,gCAAgC,uBAAuB,4IAA4I,sBAAsB,sEAAsE,uDAAuD,qCAAqC,+GAA+G,oEAAC,oCAAoC,qDAAqD,wDAAwD,+CAA+C,iEAAC,4BAA4B,gFAAgF,8BAA8B,qCAAqC,+GAA+G,iEAAC,oCAAoC,KAAK,eAAe,YAAY,kDAAC,EAAE,sGAAsG,EAAE,yFAAyF,gCAAgC,MAAM,OAAO,wDAAwD,2BAA2B,iEAAC,+EAA+E,iEAAC,SAAS,6BAA6B,gCAAgC,MAAM,OAAO,wDAAwD,8BAA8B,oEAAC,+EAA+E,oEAAC,SAAS,6BAA6B,qDAAqD,oEAAC,2DAA2D,wBAAwB,8BAA8B,oEAAC,sEAAsE,KAAK,kBAAkB,6EAA6E,cAAc,gDAAgD,+JAA+J,oBAAoB,2DAA2D,uEAAuE,+EAA+E,oEAAC,4FAA4F,2DAAC,8BAA8B,mBAAmB,uEAAuE,8FAA8F,wFAAwF,YAAY,oEAAC,gBAAgB,2EAA2E,uDAAC,EAAE,sFAAC,sCAAsC,uDAAC,EAAE,sFAAC,qCAAqC,uDAAC,EAAE,sFAAC,EAAE,KAAK,yDAAC,CAAC,gCAAgC,uDAAC,EAAE,sFAAC,2CAA2C,UAA+B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACJp1N;AACA;AACA;AACA;AACihC,6BAA6B,oBAAoB,sDAAC,CAAC,eAAe,8JAA8J,aAAa,iEAAiE,UAAU,4CAA4C,WAAW,wBAAwB,qBAAqB,2EAA2E,kBAAkB,qHAAqH,0BAA0B,2CAA2C,sDAAsD,oCAAoC,oFAAC,gEAAgE,EAAE,6EAAM,mCAAmC,yJAAyJ,oFAAC,oIAAoI,EAAE,6EAAM,mCAAmC,qGAAqG,oFAAC,0BAA0B,EAAE,6EAAM,mCAAmC,sGAAsG,oFAAC,0BAA0B,EAAE,6EAAM,iCAAiC,mPAAmP,EAAE,6EAAM,+BAA+B,QAAQ,6EAAU,iHAAiH,wEAAK,wBAAwB,EAAE,6EAAM,6BAA6B,QAAQ,wEAAK,wBAAwB,EAAE,6EAAM,2BAA2B,iDAAiD,EAAE,6EAAM,qCAAqC,oBAAoB,EAAE,6EAAM,GAAG,2BAA2B,wCAAwC,8CAA8C,oFAAC,wGAAwG,EAAE,6EAAM,mCAAmC,8CAA8C,oFAAC,+EAA+E,EAAE,6EAAM,mCAAmC,+EAA+E,EAAE,6EAAM,iCAAiC,mPAAmP,EAAE,6EAAM,+BAA+B,QAAQ,8EAAW,sHAAsH,6EAAU,8GAA8G,EAAE,6EAAM,GAAG,eAAe,YAAY,kDAAC,EAAE,qGAAqG,EAAE,yFAAyF,kDAAkD,iEAAC,2DAA2D,6BAA6B,qDAAqD,oEAAC,2DAA2D,wBAAwB,8BAA8B,oEAAC,8CAA8C,gCAAgC,QAAQ,8EAAW,wCAAwC,6EAAU,gJAAgJ,EAAE,6EAAM,IAAI,kBAAkB,6EAA6E,cAAc,gDAAgD,2CAA2C,iMAAiM,wGAAC,wCAAwC,+CAA+C,iEAAC,4BAA4B,0BAA0B,gBAAgB,2DAA2D,uEAAuE,4EAA4E,oEAAC,4FAA4F,2DAAC,8BAA8B,mBAAmB,+FAA+F,6NAA6N,YAAY,oEAAC,gBAAgB,yEAAyE,iBAAiB,wEAAwE,wGAAC,KAAK,oFAAC,mCAAmC,8DAAO,4BAA4B,iFAAC,yCAAyC,8DAAO,6EAA6E,uDAAC,EAAE,sFAAC,EAAE,OAAO,gCAAgC,uDAAC,EAAE,sFAAC,0CAA0C,UAA+B;;;;;;;;;;;;;;;;;;;;;;;;;;ACJ7xN;AACA;AACA;AACA;AACyc,QAAQ,0BAA0B,2EAA2E,eAAe,MAAM,mBAAmB,+DAA+D,4EAAC,0DAA0D,wCAAwC,eAAe,QAAQ,wFAAC,SAAS,qFAAC,uDAAuD,8BAA8B,cAAc,MAAM,WAAW,MAAM,6BAA6B,gFAAC,aAAa,QAAQ,sBAAsB,gDAAgD,eAAe,2BAA2B,sCAAsC,EAAE,qBAAqB,oFAAC,oCAAoC,eAAe,QAAQ,oCAAoC,wFAAC,SAAS,qFAAC,4EAA4E,cAAc,UAAU,QAAQ,wBAAwB,iGAAiG,mBAAmB,eAAe,eAAe,cAAc,MAAM,WAAW,MAAM,+BAA+B,gFAAC,aAAa,QAAQ,eAAe,MAAM,QAAQ,GAAG,WAAW,0DAAC,EAAE,4CAA4C,EAAE,eAAe,OAAO,uEAAC,UAAU,cAAc,UAAU,uBAAuB,qEAAC,CAAoG;;;;;;;;;;;;;;;;;;;;ACJx2D;AACA;AACA;AACA;AACA,QAAQ,mBAAmB,+FAA+F,iBAAiB,0BAA0B,QAAQ,mBAAmB,kGAAkG,iBAAiB,0BAA0B,QAAQ,mBAAmB,kGAAkG,iBAAiB,0BAA0B,QAAQ,0BAA0B,gLAAgL,iBAAiB,0BAA0B,QAAQ,eAAe,iIAAiI,iBAAiB,0BAAkJ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACJ7iC;AACA;AACA;AACA;AACmpB,uBAAuB,6BAA6B,uBAAuB,gBAAgB,YAAY,EAAE,SAAS,QAAQ,eAAe,wBAAwB,sBAAsB,6CAA6C,uDAAC,EAAE,wBAAwB,UAAU,kBAAkB,wBAAwB,yCAAyC,oFAAC,qBAAqB,oFAAC,kBAAkB,mFAAC,IAAI,4EAAC,mCAAmC,kBAAkB,6BAA6B,cAAc,0IAA0I,cAAc,wKAAwK,kBAAkB,iBAAiB,kEAAkE,mFAAC,yBAAyB,mFAAC,4BAA4B,mFAAC,8BAA8B,mFAAC,0BAA0B,mFAAC,uBAAuB,mFAAC,8BAA8B,mFAAC,8BAA8B,mFAAC,+FAA+F,iCAAiC,wIAAwI,6DAAG,sFAAsF,6DAAG,mFAAmF,6DAAG,6BAA6B,QAAQ,mFAAC,GAAG,mDAAC,8BAA8B,mDAAC,gCAAgC,mDAAC,6BAA6B,mDAAC,gDAAgD,mDAAC,wEAAwE,+EAAC,6EAA6E,2EAAC,wDAAwD,wBAAwB,uCAAuC,kBAAkB,4BAA4B,cAAc,QAAQ,mFAAC,GAAG,gDAAgD,0DAAC,EAAE,qDAAqD,KAAK,mDAAC,iCAAiC,4DAA4D,0DAAC,EAAE,4CAA4C,GAAG,qDAAqD,cAAc,QAAQ,mFAAC,GAAG,gDAAgD,0DAAC,EAAE,yEAAyE,KAAK,mDAAC,iCAAiC,4DAA4D,0DAAC,EAAE,4CAA4C,GAAG,8CAA8C,gBAAgB,yFAAyF,kBAAkB,uBAAuB,0DAAC,EAAE,yDAAyD,MAAM,0DAAC,EAAE,kDAAkD,EAAE,kBAAkB,YAA2L;;;;;;;;;;;;;;;;;;;;ACJvxH;AACA;AACA;AACA;AAC8N,QAAQ,wDAAG,WAAW,wDAAG,aAAa,wDAAG,SAAS,wDAAG,oCAAoC,aAAa,EAAE,0BAA0B,EAAE,cAAc,QAAQ,iBAAiB,6BAA6B,sBAAsB,oNAAoN,+XAA+X,wHAAwH,oEAAC,2EAA2E,UAAU,qBAAqB,iEAAiE,mCAAmC,uBAAuB,4DAAC,yJAAyJ,iCAAiC,wCAAwC,kCAAkC,8FAA8F,uBAAuB,iBAAiB,oBAAoB,8CAA8C,wBAAwB,iEAAiE,kBAAkB,2BAA2B,mEAAmE,0DAA0D,+DAA+D,uBAAuB,0IAA0I,qBAAqB,6KAA6K,4BAA4B,0LAA0L,qBAAqB,qKAAqK,0BAA0B,IAAI,sEAAsE,QAAQ,8BAA8B,IAAI,+EAA+E,uCAAuC,WAAW,uCAAuC,QAAQ,yFAAC,kBAAkB,sGAAsG,gBAAgB,MAAM,MAAM,GAAG,8CAA8C,SAAS,sDAAsD,qEAAqE,oBAAoB,kDAAkD,qGAAqG,EAAE,oBAAoB,kCAAkC,kDAAkD,qGAAqG,EAAE,uCAAuC,qCAAqC,mBAAmB,wDAAG,wCAAwC,uBAAuB,gDAAgD,oBAAoB,0DAA0D,MAAM,aAAa,MAAM,cAAc,iCAAiC,0BAA0B,QAAQ,YAAY,iCAAiC,kDAAkD,0BAA0B,EAAE,oBAAoB,+BAA+B,yEAAyE,oBAAoB,SAAS,UAAU,uCAAuC,yBAAyB,kCAAkC,6BAA6B,wCAAwC,QAAQ,+BAA+B,SAAS,4XAA4Z;;;;;;;;;;;;;;;;ACJ7oK;AACA;AACA;AACA;AACA,QAAQ,eAAe,qGAAqG,UAAU,iCAAiC,iBAAiB,oDAAoD,MAAM,uFAAuF,MAAM,iCAAiC,MAAM,2GAA2G,MAAM,gDAAgD,sBAAsB,cAAc,mIAAmI,eAAe,iHAAiH,YAAY,qIAAqK;;;;;;;;;;;;;;;;ACJ/+B;AACA;AACA;AACA;AACA,QAAQ,oBAAoB,qCAAqC,WAAW,oCAAoC,yCAAyC,oBAAoB,uDAAuD,UAAkC;;;;;;;;;;;;;;;;ACJtQ;AACA;AACA;AACA;AACA,MAAM,aAAa,+DAA+D,SAAS,GAA4B;;;;;;;;;;;;;;;;;;;;;;;;ACJvH;AACA;AACA;AACA;AACiX,oBAAoB,yDAAC,CAAC,cAAc,qCAAqC,mEAAC,GAAG,uDAAC,EAAE,sFAAC,EAAE,YAAY,mCAAmC,uDAAC,EAAE,sFAAC,+BAA+B,UAA+B;;;;;;;;;;;;;;;;;;;ACJrjB;AACA;AACA;AACA;AACoG,QAAQ,eAAe,oCAAoC,kBAAkB,oHAAoH,2BAA2B,gCAAgC,8BAA8B,+BAA+B,0BAA0B,2DAA2D,kCAAkC,yBAAyB,qIAAqI,yBAAyB,iHAAiH,qBAAqB,4BAA4B,uBAAuB,SAAS,aAAa,iIAAiI,eAAe,wBAAwB,MAAM,wCAAwC,+BAA+B,sDAAC,eAAe,8DAA8D,OAAO,0CAA0C,MAAM,qBAAqB,qEAAqE,cAAc,kCAAkC,0CAA0C,sFAAsF,EAAE,kCAAkC,iHAAiH,oBAAoB,gHAAgH,iBAAiB,mBAAmB,uCAAuC,cAAc,wEAAwE,EAAE,6GAA6G,yBAAyB,uCAAuC,wBAAwB,uCAAuC,0BAA0B,yCAAyC,eAAe,uDAAuD,gBAAgB,+BAA+B,gGAAgG,QAAQ,mBAAmB,8CAA8C,QAAQ,4BAA4B,SAAS,6BAA6B,SAAS,6BAA6B,eAAe,uBAAuB,QAAQ,iBAAiB,kDAAkD,YAAY,gDAAgD,SAAS,+CAAyE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACJt5F;AACA;AACA;AACA;AACA;AAA8C;AAAsC;AAA0B;AAAoC;AAAmC;AAA6E;AAAgC;AAA6E;AAA6D;AAA4D;AAAsD;AAA8D,IAAIrkC,CAAC,GAAC,cAAcxB,yDAAd,CAAe;AAACuC,EAAAA,WAAW,CAACzC,CAAD,EAAG;AAAC,UAAMA,CAAN,GAAS,KAAKi/F,gBAAL,GAAsB,IAAItsF,GAAJ,EAA/B,EAAuC,KAAKusF,YAAL,GAAkB,EAAzD,EAA4D,KAAKC,SAAL,GAAe,EAA3E,EAA8E,KAAKC,iBAAL,GAAuB,EAArG,EAAwG,KAAKC,mBAAL,GAAyB,IAAjI,EAAsI,KAAKC,mCAAL,GAAyC,CAAC,CAAhL,EAAkL,KAAKC,aAAL,GAAmB,IAAI3yF,GAAJ,EAArM,EAA6M,KAAK4yF,aAAL,GAAmB,IAAI5yF,GAAJ,EAAhO,EAAwO,KAAK6yF,mBAAL,GAAyB,IAAI7yF,GAAJ,EAAjQ,EAAyQ,KAAK8yF,2BAAL,GAAiC,IAAI9yF,GAAJ,EAA1S,EAAkT,KAAKgyF,UAAL,GAAgBp+F,gDAAlU,EAAoU,KAAKm/F,kBAAL,GAAwB,OAA5V,EAAoW,KAAKC,eAAL,GAAqB,IAAI9+F,uEAAJ,CAAM;AAAC++F,MAAAA,qBAAqB,EAAClzF;AAAvB,KAAN,EAAgC,IAAhC,CAAzX,EAA+Z,KAAKkzF,qBAAL,GAA2B,IAA1b,EAA+b,KAAKC,OAAL,GAAa,CAAC,CAA7c,EAA+c,KAAKr4E,IAAL,GAAU;AAACs4E,MAAAA,SAAS,EAAC,KAAK,CAAhB;AAAkBC,MAAAA,qBAAqB,EAAC,MAAI,CAAC,CAAC,KAAKX;AAAnD,KAAzd;AAAiiB;;AAAAx7F,EAAAA,UAAU,GAAE;AAAC,SAAKo8F,WAAL,CAAiBC,eAAjB,GAAiC,KAAKC,gBAAL,CAAsB1vE,IAAtB,CAA2B,IAA3B,CAAjC,EAAkE,KAAK2vE,mBAAL,EAAlE;AAA6F;;AAAAh8F,EAAAA,OAAO,GAAE;AAAC,UAAMpE,CAAC,GAACqa,MAAM,CAACkF,IAAP,CAAY,KAAK2/E,YAAjB,CAAR;;AAAuC,SAAI,MAAMh/F,CAAV,IAAeF,CAAf,EAAiB,KAAKqgG,iBAAL,CAAuBngG,CAAvB;;AAA0B,SAAK+/F,WAAL,CAAiB77F,OAAjB,IAA2B,KAAKi7F,mBAAL,GAAyB,IAApD,EAAyD,KAAKO,eAAL,CAAqBx7F,OAArB,EAAzD;AAAwF;;AAAoB,MAAhBk8F,gBAAgB,GAAE;AAAC,WAAO,KAAKnB,SAAL,CAAe3nF,IAAf,CAAqBxX,CAAC,IAAEA,CAAC,CAACugG,OAAF,CAAUD,gBAAlC,CAAP;AAA4D;;AAAqB,MAAjBE,iBAAiB,GAAE;AAAC,WAAO,KAAKb,kBAAZ;AAA+B;;AAAoB,MAAhBc,gBAAgB,GAAE;AAAC,WAAO,KAAKC,kBAAL,CAAwBD,gBAA/B;AAAgD;;AAAY,MAARloD,QAAQ,GAAE;AAAC,WAAO,KAAK+nD,gBAAL,IAAuB,KAAKR,OAAnC;AAA2C;;AAAAa,EAAAA,eAAe,CAAC3gG,CAAD,EAAGE,CAAH,EAAKQ,CAAC,GAACX,CAAC,CAAC6gG,QAAT,EAAkB;AAAC,QAAG,KAAK1B,YAAL,CAAkBl/F,CAAlB,CAAH,EAAwB;AAAO,QAAG,MAAIE,CAAC,CAAC2N,MAAT,EAAgB;AAAO,UAAM5N,CAAC,GAAC;AAACma,MAAAA,IAAI,EAACpa,CAAN;AAAQ6gG,MAAAA,QAAQ,EAAC3gG,CAAC,CAACqF,GAAF,CAAOvF,CAAC,KAAG;AAACugG,QAAAA,OAAO,EAACvgG,CAAT;AAAW8gG,QAAAA,MAAM,EAAC,CAAC,CAAnB;AAAqBl+E,QAAAA,OAAO,EAAC,CAAC,CAA9B;AAAgCm+E,QAAAA,aAAa,EAAC,CAA9C;AAAgDC,QAAAA,aAAa,EAACtgG,CAA9D;AAAgEugG,QAAAA,aAAa,EAAC,IAA9E;AAAmFC,QAAAA,iBAAiB,EAAC;AAArG,OAAH,CAAR;AAAjB,KAAR;AAAmJ,SAAKhC,YAAL,CAAkBl/F,CAAlB,IAAqBC,CAArB;;AAAuB,SAAI,IAAIU,CAAC,GAACV,CAAC,CAAC4gG,QAAF,CAAWhzF,MAAX,GAAkB,CAA5B,EAA8BlN,CAAC,IAAE,CAAjC,EAAmCA,CAAC,EAApC,EAAuC;AAAC,YAAMX,CAAC,GAACC,CAAC,CAAC4gG,QAAF,CAAWlgG,CAAX,CAAR;AAAsB,WAAKw+F,SAAL,CAAer6F,IAAf,CAAoB9E,CAApB,GAAuBA,CAAC,CAACugG,OAAF,CAAUY,SAAV,CAAoB;AAACC,QAAAA,kBAAkB,EAAC,MAAI;AAAC,eAAKA,kBAAL;AAA0B,SAAnD;AAAoDloD,QAAAA,IAAI,EAAC,CAACh5C,CAAD,EAAGQ,CAAH,EAAKT,CAAL,EAAOU,CAAP,EAASP,CAAT,KAAa;AAAC,eAAKihG,eAAL,CAAqBrhG,CAAC,CAAC+gG,aAAF,GAAgB,CAArC,EAAuC7gG,CAAvC,EAAyCQ,CAAzC,EAA2CT,CAA3C,EAA6CG,CAA7C,EAA+CO,CAA/C;AAAkD,SAAzH;AAA0H2gG,QAAAA,iBAAiB,EAAC,CAACphG,CAAD,EAAGQ,CAAH,KAAO;AAAC,eAAK6gG,kBAAL,CAAwBthG,CAAxB,EAA0BD,CAA1B,EAA4BE,CAA5B,EAA8BQ,CAA9B;AAAiC,SAArL;AAAsL8gG,QAAAA,gBAAgB,EAACthG,CAAC,IAAE;AAACF,UAAAA,CAAC,CAACihG,aAAF,GAAgB/gG,CAAhB;AAAkB,SAA7N;AAA8NuhG,QAAAA,oBAAoB,EAACvhG,CAAC,IAAE;AAACF,UAAAA,CAAC,CAACkhG,iBAAF,GAAoBhhG,CAApB;AAAsB,SAA7Q;AAA8QwhG,QAAAA,uBAAuB,EAAC,MAAI;AAAC,eAAK3gC,YAAL,CAAkB,kBAAlB;AAAsC;AAAjV,OAApB,CAAvB;AAA+X;;AAAA,SAAKqgC,kBAAL;AAA0B;;AAAAf,EAAAA,iBAAiB,CAACrgG,CAAD,EAAG;AAAC,UAAME,CAAC,GAAC,KAAKg/F,YAAL,CAAkBl/F,CAAlB,CAAR;AAA6BE,IAAAA,CAAC,IAAEA,CAAC,CAAC2gG,QAAF,CAAWl8F,OAAX,CAAoB3E,CAAC,IAAE;AAACA,MAAAA,CAAC,CAAC4iB,OAAF,GAAU,CAAC,CAAX,EAAa5iB,CAAC,CAACkhG,iBAAF,IAAb;AAAqC,KAA7D,GAAgE,OAAO,KAAKhC,YAAL,CAAkBl/F,CAAlB,CAAvE,EAA4F,KAAKq/F,mBAAL,GAAyB,KAAKA,mBAAL,CAAyBsC,0BAAzB,GAAoD,CAAC,CAA9E,GAAgF,KAAKC,8BAAL,EAA9K,IAAqNlhG,iEAAA,CAAY,IAAZ,EAAkB+C,KAAlB,CAAwB,+DAA6DzD,CAA7D,GAA+D,GAAvF,CAAtN;AAAkT;;AAAA6hG,EAAAA,WAAW,CAAC7hG,CAAD,EAAG;AAAC,WAAO,KAAK,CAAL,KAAS,KAAKk/F,YAAL,CAAkBl/F,CAAlB,CAAhB;AAAqC;;AAAA8hG,EAAAA,iBAAiB,CAAC9hG,CAAD,EAAG;AAAC,WAAO,KAAKy/F,mBAAL,CAAyBpwF,GAAzB,CAA6BrP,CAA7B,CAAP;AAAuC;;AAAAohG,EAAAA,kBAAkB,GAAE;AAAC,QAAG,KAAK/B,mBAAR,EAA4B,OAAO,MAAK,KAAKC,mCAAL,GAAyC,CAAC,CAA/C,CAAP;AAAyD,SAAKA,mCAAL,GAAyC,CAAC,CAA1C;AAA4C,UAAMt/F,CAAC,GAAC,IAAI4M,GAAJ,EAAR;AAAA,UAAgB1M,CAAC,GAAC,IAAI0M,GAAJ,EAAlB;AAA0B,SAAKwyF,iBAAL,GAAuB,EAAvB;;AAA0B,SAAI,IAAI1+F,CAAC,GAAC,KAAKy+F,SAAL,CAAetxF,MAAf,GAAsB,CAAhC,EAAkCnN,CAAC,IAAE,CAArC,EAAuCA,CAAC,EAAxC,EAA2C;AAAC,YAAMV,CAAC,GAAC,KAAKm/F,SAAL,CAAez+F,CAAf,CAAR;AAA0BV,MAAAA,CAAC,CAAC+gG,aAAF,GAAgBrgG,CAAhB,EAAkB,KAAK0+F,iBAAL,CAAuBt6F,IAAvB,CAA4B9E,CAA5B,CAAlB;AAAiD;;AAAA,SAAKo/F,iBAAL,GAAuB,KAAK2C,qBAAL,CAA2B,KAAK3C,iBAAhC,CAAvB;;AAA0E,SAAI,IAAI1+F,CAAC,GAAC,KAAK0+F,iBAAL,CAAuBvxF,MAAvB,GAA8B,CAAxC,EAA0CnN,CAAC,IAAE,CAA7C,EAA+CA,CAAC,EAAhD,EAAmD;AAAC,YAAMT,CAAC,GAAC,KAAKm/F,iBAAL,CAAuB1+F,CAAvB,CAAR;AAAkCT,MAAAA,CAAC,CAAC8gG,aAAF,GAAgBrgG,CAAhB;AAAkB,UAAIC,CAAC,GAACV,CAAC,CAACsgG,OAAF,CAAUyB,cAAhB;AAA+B,UAAG,CAACrhG,CAAJ,EAAM,KAAI,MAAMT,CAAV,IAAeD,CAAC,CAACsgG,OAAF,CAAU0B,kBAAzB,EAA4C,IAAGjiG,CAAC,CAACqP,GAAF,CAAMnP,CAAN,CAAH,EAAY;AAACS,QAAAA,CAAC,GAAC,CAAC,CAAH;AAAK;AAAM;AAAA,UAAGA,CAAH,EAAK,KAAI,MAAMD,CAAV,IAAeT,CAAC,CAACsgG,OAAF,CAAU2B,oBAAzB,EAA8C;AAACliG,QAAAA,CAAC,CAAC6hC,GAAF,CAAMnhC,CAAC,CAACyhG,SAAR;;AAAmB,aAAI,MAAMniG,CAAV,IAAeU,CAAC,CAAC0hG,YAAjB,EAA8B9hG,0DAAC,CAACN,CAAD,CAAD,IAAME,CAAC,CAAC2hC,GAAF,CAAM7hC,CAAN,CAAN;AAAe;AAAAC,MAAAA,CAAC,CAAC6gG,MAAF,GAASngG,CAAT;AAAW;;AAAA,SAAK4+F,aAAL,GAAmBv/F,CAAnB,EAAqB,KAAKw/F,aAAL,GAAmBt/F,CAAxC,EAA0C,KAAK++F,gBAAL,CAAsBzpE,IAAtB,GAA2B,CAA3B,IAA8B,KAAK+pE,aAAL,CAAmB19D,GAAnB,CAAuB,sBAAvB,CAAxE,EAAuH,KAAK29D,aAAL,CAAmBhqE,IAAnB,GAAwB,CAAxB,KAA4B,KAAK+pE,aAAL,CAAmB19D,GAAnB,CAAuB,UAAvB,GAAmC,KAAK09D,aAAL,CAAmB19D,GAAnB,CAAuB,QAAvB,CAA/D,CAAvH,EAAwN,KAAKo+D,WAAL,KAAmB,KAAKA,WAAL,CAAiBoC,YAAjB,GAA8B,KAAK9C,aAAtD,CAAxN;AAA6R;;AAAA+C,EAAAA,iBAAiB,CAACtiG,CAAD,EAAGE,CAAH,EAAKQ,CAAL,EAAO;AAAC,SAAKi/F,kBAAL,GAAwB3/F,CAAxB;;AAA0B,UAAMC,CAAC,GAAC,KAAKuE,IAAL,CAAU,uBAAV,CAAR;;AAA2C,QAAG,QAAMvE,CAAN,IAASA,CAAC,CAACuC,CAAF,KAAMtC,CAAf,IAAkBD,CAAC,CAACmB,CAAF,KAAMV,CAA3B,EAA6B;AAAC,YAAMV,CAAC,GAAC,KAAK4/F,eAAL,CAAqB9lF,GAArB,CAAyB,uBAAzB,CAAR;;AAA0D9Z,MAAAA,CAAC,CAACwC,CAAF,GAAItC,CAAJ,EAAMF,CAAC,CAACoB,CAAF,GAAIV,CAAV,EAAY,KAAK6D,IAAL,CAAU,uBAAV,EAAkCvE,CAAlC,CAAZ;AAAiD;AAAC;;AAAAmgG,EAAAA,gBAAgB,CAACngG,CAAD,EAAGE,CAAH,EAAK;AAAC,QAAG,2BAAyBF,CAA5B,EAA8B;AAAC,YAAMA,CAAC,GAACE,CAAR;;AAAU,WAAK++F,gBAAL,CAAsBruE,MAAtB,CAA6B5wB,CAAC,CAACuiG,MAAF,CAASC,SAAtC;AAAiD;;AAAA,SAAKC,mBAAL,CAAyBziG,CAAzB,EAA2BE,CAA3B;;AAA8B,UAAMQ,CAAC,GAAC,QAAM,KAAK+mB,IAAL,CAAUs4E,SAAhB,GAA0B,KAAKt4E,IAAL,CAAUs4E,SAApC,GAA8C7/F,CAAC,CAACqiG,MAAF,GAASriG,CAAC,CAACqiG,MAAF,CAASxC,SAAlB,GAA4B,KAAK,CAAvF;AAAA,UAAyF9/F,CAAC,GAACC,CAAC,CAACqiG,MAAF,GAASriG,CAAC,CAACqiG,MAAF,CAASG,UAAlB,GAA6B,KAAK,CAA7H;;AAA+H,SAAKC,yBAAL,CAA+B3iG,CAA/B,EAAiCE,CAAjC,EAAmCQ,CAAnC,EAAqCT,CAArC;AAAwC;;AAAAwiG,EAAAA,mBAAmB,CAACziG,CAAD,EAAGE,CAAH,EAAK;AAAC,QAAG,CAACA,CAAJ,EAAM;AAAO,QAAIQ,CAAC,GAAC,CAAC,CAAP;;AAAS,UAAMT,CAAC,GAAC,MAAI;AAACS,MAAAA,CAAC,KAAG,KAAK++F,mBAAL,GAAyB,IAAI7yF,GAAJ,CAAQ,KAAK6yF,mBAAb,CAAzB,EAA2D/+F,CAAC,GAAC,CAAC,CAAjE,CAAD;AAAqE,KAAlF;AAAA,UAAmFC,CAAC,GAAC,CAACX,CAAD,EAAGE,CAAH,KAAO;AAACA,MAAAA,CAAC,IAAE,CAAC,KAAKu/F,mBAAL,CAAyBpwF,GAAzB,CAA6BrP,CAA7B,CAAJ,IAAqCC,CAAC,IAAG,KAAKw/F,mBAAL,CAAyB59D,GAAzB,CAA6B7hC,CAA7B,CAAzC,IAA0E,CAACE,CAAD,IAAI,KAAKu/F,mBAAL,CAAyBpwF,GAAzB,CAA6BrP,CAA7B,CAAJ,KAAsCC,CAAC,IAAG,KAAKw/F,mBAAL,CAAyB7uE,MAAzB,CAAgC5wB,CAAhC,CAA1C,CAA1E;AAAwJ,KAArP;;AAAsP,QAAG,eAAaA,CAAb,IAAgB,aAAWA,CAA9B,EAAgC;AAAC,YAAMU,CAAC,GAACR,CAAC,CAAC0L,GAAV;AAAc,WAAK4zF,aAAL,CAAmBnwF,GAAnB,CAAuB3O,CAAvB,KAA2BC,CAAC,CAACD,CAAD,EAAG,eAAaV,CAAhB,CAA5B;AAA+C;;AAAA,UAAMI,CAAC,GAACF,CAAC,CAACqiG,MAAV;AAAiB5hG,IAAAA,CAAC,CAAC,KAAD,EAAO,CAAC,CAACP,CAAC,EAAEwiG,MAAZ,CAAD,EAAqBjiG,CAAC,CAAC,SAAD,EAAW,CAAC,CAACP,CAAC,EAAEyiG,OAAhB,CAAtB,EAA+CliG,CAAC,CAAC,MAAD,EAAQ,CAAC,CAACP,CAAC,EAAEyiG,OAAb,CAAhD,EAAsEliG,CAAC,CAAC,OAAD,EAAS,CAAC,CAACP,CAAC,EAAE0iG,QAAd,CAAvE,EAA+FniG,CAAC,CAAC,MAAD,EAAQ,CAAC,CAACP,CAAC,EAAE2iG,OAAb,CAAhG,EAAsHpiG,CAAC,CAAC,SAAD,EAAW,KAAK8+F,mBAAL,CAAyBpwF,GAAzB,CAA6B,KAAKuvF,UAAlC,CAAX,CAAvH;AAAiL;;AAAAwB,EAAAA,mBAAmB,GAAE;AAAC,SAAK4C,qBAAL,GAA2B,IAAIniG,qEAAJ,CAAO,CAACb,CAAD,EAAGE,CAAH,EAAKQ,CAAL,KAAS,KAAK4hG,iBAAL,CAAuBtiG,CAAvB,EAAyBE,CAAzB,EAA2BQ,CAA3B,CAAhB,CAA3B,EAA2E,KAAKggG,kBAAL,GAAwB,IAAIp/F,gEAAJ,EAAnG,EAAyG,KAAKq/F,eAAL,CAAqB,qBAArB,EAA2C,CAAC,KAAKqC,qBAAN,EAA4B,KAAKtC,kBAAjC,CAA3C,EAAgG3gG,CAAC,CAACkjG,MAAlG,CAAzG,EAAmN,KAAKC,WAAL,CAAiBr1F,MAAjB,GAAwB,CAAxB,IAA2B,KAAK8yF,eAAL,CAAqB,SAArB,EAA+B,KAAKuC,WAApC,EAAgDnjG,CAAC,CAAC6gG,QAAlD,CAA9O;AAA0S;;AAAAW,EAAAA,kBAAkB,CAACvhG,CAAD,EAAGE,CAAH,EAAKQ,CAAL,EAAOT,CAAP,EAAS;AAAC,UAAMU,CAAC,GAACX,CAAC,CAACoa,IAAF,GAAO,GAAP,GAAWla,CAAC,CAAC6gG,aAArB;AAAA,UAAmC3gG,CAAC,GAAC,KAAK6+F,gBAAL,CAAsBnlF,GAAtB,CAA0BpZ,CAAC,CAAC8hG,SAA5B,KAAwC,IAAI51F,GAAJ,EAA7E;AAAqF,SAAKqyF,gBAAL,CAAsBv5F,GAAtB,CAA0BhF,CAAC,CAAC8hG,SAA5B,EAAsCpiG,CAAtC,GAAyCH,CAAC,IAAEG,CAAC,CAACyhC,GAAF,CAAMlhC,CAAN,GAAS,MAAIP,CAAC,CAACo1B,IAAN,IAAY,KAAKyqE,WAAjB,IAA8B,KAAKA,WAAL,CAAiBqB,iBAAjB,CAAmC5gG,CAAnC,EAAqC,CAAC,CAAtC,CAAzC,IAAmFN,CAAC,CAACiP,GAAF,CAAM1O,CAAN,MAAWP,CAAC,CAACwwB,MAAF,CAASjwB,CAAT,GAAY,MAAIP,CAAC,CAACo1B,IAAN,KAAa,KAAKypE,gBAAL,CAAsBruE,MAAtB,CAA6BlwB,CAAC,CAAC8hG,SAA/B,GAA0C,KAAKvC,WAAL,IAAkB,KAAKA,WAAL,CAAiBqB,iBAAjB,CAAmC5gG,CAAnC,EAAqC,CAAC,CAAtC,CAAzE,CAAvB,CAA7H;AAAwQ;;AAAAkhG,EAAAA,8BAA8B,GAAE;AAAC,SAAKzC,SAAL,GAAe,KAAKA,SAAL,CAAex4F,MAAf,CAAuB3G,CAAC,IAAE,CAACA,CAAC,CAAC4iB,OAA7B,CAAf,EAAsD,KAAKw+E,kBAAL,EAAtD;AAAgF;;AAAAuB,EAAAA,yBAAyB,CAAC3iG,CAAD,EAAGE,CAAH,EAAKQ,CAAL,EAAOT,CAAP,EAAS;AAAC,SAAKohG,eAAL,CAAqB,CAArB,EAAuBrhG,CAAvB,EAAyBE,CAAzB,EAA2BQ,CAA3B,EAA6BT,CAA7B;AAAgC;;AAAAohG,EAAAA,eAAe,CAACrhG,CAAD,EAAGE,CAAH,EAAKQ,CAAL,EAAOT,CAAP,EAASU,CAAT,EAAWP,CAAX,EAAa;AAAC,UAAMI,CAAC,GAAC,KAAK,CAAL,KAASP,CAAT,GAAWA,CAAX,GAAa,KAAKo/F,mBAAL,GAAyB,KAAKA,mBAAL,CAAyBU,SAAlD,GAA4Dn8E,WAAW,CAAC3gB,GAAZ,EAAjF;AAAA,UAAmG3C,CAAC,GAAC,KAAK,CAAL,KAASK,CAAT,IAAYA,CAAjH;AAAA,UAAmHE,CAAC,GAAC;AAACsiG,MAAAA,KAAK,EAAC,IAAI3hG,CAAJ,CAAMtB,CAAN,EAAQQ,CAAR,EAAUF,CAAV,EAAYJ,CAAC,IAAE,KAAKq/F,mBAApB,EAAwCn/F,CAAxC,CAAP;AAAkDygG,MAAAA,aAAa,EAAC/gG;AAAhE,KAArH;AAAwL,SAAKq/F,mBAAL,GAAyB,KAAKA,mBAAL,CAAyB+D,MAAzB,CAAgCt+F,IAAhC,CAAqCjE,CAArC,CAAzB,GAAiE,KAAKwiG,iBAAL,CAAuBxiG,CAAvB,CAAjE;AAA2F;;AAAAwiG,EAAAA,iBAAiB,CAACrjG,CAAD,EAAG;AAAC,SAAKq/F,mBAAL,GAAyB;AAAC+D,MAAAA,MAAM,EAAC,IAAInjG,sDAAJ,EAAR;AAAcqjG,MAAAA,cAAc,EAAC,IAA7B;AAAkC3B,MAAAA,0BAA0B,EAAC,CAAC,CAA9D;AAAgE5B,MAAAA,SAAS,EAAC//F,CAAC,CAACmjG,KAAF,CAAQpD;AAAlF,KAAzB,EAAsH,KAAKV,mBAAL,CAAyB+D,MAAzB,CAAgCt+F,IAAhC,CAAqC9E,CAArC,CAAtH,EAA8J,KAAKujG,oBAAL,EAA9J;AAA0L;;AAAAA,EAAAA,oBAAoB,GAAE;AAAC,SAAKzD,OAAL,GAAa,CAAC,CAAd;AAAgB,UAAM9/F,CAAC,GAAC,KAAKq/F,mBAAb;;AAAiC,QAAGr/F,CAAH,EAAK;AAAC,aAAKA,CAAC,CAACojG,MAAF,CAASv1F,MAAT,GAAgB,CAArB,GAAwB;AAAC,cAAK;AAACs1F,UAAAA,KAAK,EAACjjG,CAAP;AAAS6gG,UAAAA,aAAa,EAACrgG;AAAvB,YAA0BV,CAAC,CAACojG,MAAF,CAAS3nF,GAAT,EAA/B;AAAA,cAA8Cxb,CAAC,GAACC,CAAC,CAACgE,IAAF,EAAQs/F,OAAxD;AAAgE,YAAG,EAAE,QAAMvjG,CAAN,IAAS,KAAKy/F,2BAAL,CAAiCrwF,GAAjC,CAAqCpP,CAArC,CAAX,CAAH,EAAuD,KAAID,CAAC,CAACsjG,cAAF,GAAiB,KAAKlE,iBAAL,CAAuB1+F,CAAvB,CAArB,EAA+CV,CAAC,CAACsjG,cAAjD,GAAiE;AAAC,cAAGtjG,CAAC,CAACsjG,cAAF,CAAiB1gF,OAApB,EAA4B5iB,CAAC,CAAC2hG,0BAAF,GAA6B,CAAC,CAA9B,CAA5B,KAAgE;AAAC,gBAAG3hG,CAAC,CAACsjG,cAAF,CAAiBxC,MAAjB,IAAyB,CAAC5gG,CAAC,CAACujG,qBAAF,EAA1B,IAAqDzjG,CAAC,CAACsjG,cAAF,CAAiBrC,aAAjB,GAAiC/gG,CAAjC,CAArD,EAAyFA,CAAC,CAACujG,qBAAF,EAA5F,EAAsH;AAAC,sBAAMxjG,CAAN,IAAS,KAAKy/F,2BAAL,CAAiC79D,GAAjC,CAAqC5hC,CAArC,CAAT;AAAiD;AAAM;;AAAA,gBAAGC,CAAC,CAACwjG,sBAAF,CAA0B,MAAI,KAAKH,oBAAL,EAA9B,CAAH,EAA+D,OAAO,KAAK,KAAKI,iBAAL,CAAuB;AAACR,cAAAA,KAAK,EAACjjG,CAAP;AAAS6gG,cAAAA,aAAa,EAAC/gG,CAAC,CAACsjG,cAAF,CAAiBvC,aAAjB,GAA+B;AAAtD,aAAvB,CAAZ;AAA6F;AAAA/gG,UAAAA,CAAC,CAACsjG,cAAF,GAAiB,KAAKlE,iBAAL,CAAuBp/F,CAAC,CAACsjG,cAAF,CAAiBvC,aAAjB,GAA+B,CAAtD,CAAjB;AAA0E;AAAC;;AAAA/gG,MAAAA,CAAC,CAAC2hG,0BAAF,IAA8B,KAAKC,8BAAL,EAA9B,EAAoE,KAAKtB,gBAAL,IAAuB,KAAKZ,2BAAL,CAAiC9lF,KAAjC,EAA3F,EAAoI,KAAKylF,mBAAL,GAAyB,IAA7J,EAAkK,KAAKC,mCAAL,IAA0C,KAAK8B,kBAAL,EAA5M;AAAsO;AAAC;;AAAAuC,EAAAA,iBAAiB,CAAC3jG,CAAD,EAAG;AAAC,UAAME,CAAC,GAAC,IAAID,sDAAJ,EAAR;AAAcC,IAAAA,CAAC,CAAC4E,IAAF,CAAO9E,CAAP;AAAU,UAAMU,CAAC,GAAC,KAAK2+F,mBAAb;;AAAiC,QAAG3+F,CAAH,EAAK;AAAC,aAAKA,CAAC,CAAC0iG,MAAF,CAASv1F,MAAd,GAAsB3N,CAAC,CAAC4E,IAAF,CAAOpE,CAAC,CAAC0iG,MAAF,CAAS3nF,GAAT,EAAP;;AAAuB/a,MAAAA,CAAC,CAAC0iG,MAAF,GAASljG,CAAT,EAAWQ,CAAC,CAAC4iG,cAAF,GAAiB,IAA5B,EAAiC,KAAKxD,OAAL,GAAa,CAAC,CAA/C;AAAiD;AAAC;;AAAA8D,EAAAA,uBAAuB,CAAC5jG,CAAD,EAAGE,CAAH,EAAK;AAAC,QAAGF,CAAC,CAACugG,OAAF,CAAUyB,cAAV,KAA2B9hG,CAAC,CAACqgG,OAAF,CAAUyB,cAAxC,EAAuD,OAAOhiG,CAAC,CAACugG,OAAF,CAAUyB,cAAV,GAAyB,CAAzB,GAA2B,CAAC,CAAnC;AAAqC,QAAGhiG,CAAC,CAACghG,aAAF,KAAkB9gG,CAAC,CAAC8gG,aAAvB,EAAqC,OAAOhhG,CAAC,CAACghG,aAAF,GAAgB9gG,CAAC,CAAC8gG,aAAlB,GAAgC,CAAC,CAAjC,GAAmC,CAA1C;;AAA4C,SAAI,MAAMtgG,CAAV,IAAeV,CAAC,CAACugG,OAAF,CAAU2B,oBAAzB,EAA8C,KAAI,MAAMliG,CAAV,IAAeE,CAAC,CAACqgG,OAAF,CAAU2B,oBAAzB,EAA8C;AAAC,UAAGxhG,CAAC,CAACyhG,SAAF,KAAcniG,CAAC,CAACmiG,SAAnB,EAA6B;AAAS,YAAMjiG,CAAC,GAACQ,CAAC,CAAC0hG,YAAF,CAAez7F,MAAf,CAAuBzG,CAAC,IAAEF,CAAC,CAACoiG,YAAF,CAAetwE,QAAf,CAAwB5xB,CAAxB,CAA1B,CAAR;AAA+D,UAAGA,CAAC,CAAC2N,MAAF,KAAWnN,CAAC,CAAC0hG,YAAF,CAAev0F,MAA1B,MAAoC3N,CAAC,CAAC2N,MAAF,KAAW7N,CAAC,CAACoiG,YAAF,CAAev0F,MAA9D,CAAH,EAAyE,OAAOnN,CAAC,CAAC0hG,YAAF,CAAev0F,MAAf,GAAsB7N,CAAC,CAACoiG,YAAF,CAAev0F,MAArC,GAA4C,CAAC,CAA7C,GAA+C,CAAtD;AAAwD;;AAAA,WAAO7N,CAAC,CAAC+gG,aAAF,GAAgB7gG,CAAC,CAAC6gG,aAAlB,GAAgC,CAAC,CAAjC,GAAmC,CAA1C;AAA4C;;AAAAgB,EAAAA,qBAAqB,CAAC/hG,CAAD,EAAG;AAAC,UAAME,CAAC,GAAC,EAAR;;AAAW,SAAI,MAAMQ,CAAV,IAAeV,CAAf,EAAiB;AAAC,UAAIA,CAAC,GAAC,CAAN;;AAAQ,aAAKA,CAAC,GAACE,CAAC,CAAC2N,MAAJ,IAAY,KAAK+1F,uBAAL,CAA6BljG,CAA7B,EAA+BR,CAAC,CAACF,CAAD,CAAhC,KAAsC,CAAvD,GAA0DA,CAAC;;AAAGE,MAAAA,CAAC,CAAC4hB,MAAF,CAAS9hB,CAAT,EAAW,CAAX,EAAaU,CAAb;AAAgB;;AAAA,WAAOR,CAAP;AAAS;;AAAS,MAALkkB,KAAK,GAAE;AAAC,UAAMpkB,CAAC,GAACA,CAAC,IAAE;AAAC,YAAME,CAAC,GAAC,KAAKqhG,kBAAb;AAAgC,WAAKA,kBAAL,GAAwB,MAAI,CAAE,CAA9B,EAA+BvhG,CAAC,EAAhC,EAAmC,KAAKuhG,kBAAL,GAAwBrhG,CAA3D;AAA6D,KAAzG;;AAA0G,WAAM;AAAC2jG,MAAAA,WAAW,EAAC,CAAC3jG,CAAD,EAAGQ,CAAH,KAAO;AAACV,QAAAA,CAAC,CAAE,MAAI,KAAKmgG,gBAAL,CAAsBjgG,CAAtB,EAAwBQ,CAAxB,CAAN,CAAD;AAAoC,OAAzD;AAA0DojG,MAAAA,qBAAqB,EAAC9jG;AAAhF,KAAN;AAAyF;;AAA1vP,CAArB;AAAixPA,uDAAC,CAAC,CAACW,sFAAC,CAAC;AAAC0H,EAAAA,QAAQ,EAAC,CAAC;AAAX,CAAD,CAAF,CAAD,EAAoB3G,CAAC,CAACyG,SAAtB,EAAgC,kBAAhC,EAAmD,IAAnD,CAAD,EAA0DnI,uDAAC,CAAC,CAACW,sFAAC,CAAC;AAACy1C,EAAAA,aAAa,EAAC,CAAC;AAAhB,CAAD,CAAF,CAAD,EAAyB10C,CAAC,CAACyG,SAA3B,EAAqC,aAArC,EAAmD,KAAK,CAAxD,CAA3D,EAAsHnI,uDAAC,CAAC,CAACW,sFAAC,CAAC;AAACy1C,EAAAA,aAAa,EAAC,CAAC;AAAhB,CAAD,CAAF,CAAD,EAAyB10C,CAAC,CAACyG,SAA3B,EAAqC,aAArC,EAAmD,KAAK,CAAxD,CAAvH,EAAkLnI,uDAAC,CAAC,CAACW,sFAAC,EAAF,CAAD,EAAOe,CAAC,CAACyG,SAAT,EAAmB,oBAAnB,EAAwC,KAAK,CAA7C,CAAnL,EAAmOnI,uDAAC,CAAC,CAACW,sFAAC,EAAF,CAAD,EAAOe,CAAC,CAACyG,SAAT,EAAmB,mBAAnB,EAAuC,IAAvC,CAApO,EAAiRnI,uDAAC,CAAC,CAACW,sFAAC,EAAF,CAAD,EAAOe,CAAC,CAACyG,SAAT,EAAmB,kBAAnB,EAAsC,IAAtC,CAAlR,EAA8TnI,uDAAC,CAAC,CAACW,sFAAC,CAAC;AAAC0H,EAAAA,QAAQ,EAAC,CAAC;AAAX,CAAD,CAAF,CAAD,EAAoB3G,CAAC,CAACyG,SAAtB,EAAgC,uBAAhC,EAAwD,KAAK,CAA7D,CAA/T,EAA+XnI,uDAAC,CAAC,CAACW,sFAAC,EAAF,CAAD,EAAOe,CAAC,CAACyG,SAAT,EAAmB,SAAnB,EAA6B,KAAK,CAAlC,CAAhY,EAAqanI,uDAAC,CAAC,CAACW,sFAAC,CAAC;AAAC0H,EAAAA,QAAQ,EAAC,CAAC;AAAX,CAAD,CAAF,CAAD,EAAoB3G,CAAC,CAACyG,SAAtB,EAAgC,UAAhC,EAA2C,IAA3C,CAAta,EAAudzG,CAAC,GAAC1B,uDAAC,CAAC,CAACI,sFAAC,CAAC,+BAAD,CAAF,CAAD,EAAsCsB,CAAtC,CAA1d;;AAAmgB,MAAMF,CAAN,CAAO;AAACiB,EAAAA,WAAW,CAACzC,CAAD,EAAGE,CAAH,EAAKQ,CAAL,EAAOT,CAAP,EAASU,CAAT,EAAW;AAAC,SAAK4C,IAAL,GAAUvD,CAAV,EAAY,KAAKkE,IAAL,GAAUhE,CAAtB,EAAwB,KAAK6/F,SAAL,GAAer/F,CAAvC,EAAyC,KAAKqjG,SAAL,GAAe9jG,CAAxD,EAA0D,KAAKyiG,UAAL,GAAgB/hG,CAA1E,EAA4E,KAAKqjG,iBAAL,GAAuBhjG,CAAC,CAACijG,IAArG,EAA0G,KAAKC,eAAL,GAAqB,IAA/H;AAAoI;;AAAAC,EAAAA,eAAe,GAAE;AAAC,SAAKH,iBAAL,IAAwBhjG,CAAC,CAACojG,OAA1B;AAAkC;;AAAAX,EAAAA,qBAAqB,GAAE;AAAC,WAAM,CAAC,EAAE,KAAKO,iBAAL,GAAuBhjG,CAAC,CAACojG,OAA3B,CAAP;AAA2C;;AAAAhpF,EAAAA,KAAK,CAACpb,CAAD,EAAG;AAAC,SAAKgkG,iBAAL,IAAwBhjG,CAAC,CAACqjG,MAA1B;;AAAiC,UAAMnkG,CAAC,GAAC,CAACF,CAAD,EAAGE,CAAH,KAAO;AAAC,WAAK8jG,iBAAL,IAAwB,CAAChjG,CAAC,CAACqjG,MAA3B;AAAkC,YAAM3jG,CAAC,GAAC,KAAKwjG,eAAb;AAA6B,UAAG,KAAKA,eAAL,GAAqB,IAArB,EAA0BxjG,CAAC,IAAEA,CAAC,EAA9B,EAAiCR,CAApC,EAAsC,MAAMF,CAAN;AAAQ,aAAOA,CAAP;AAAS,KAAtI;;AAAuI,WAAM,CAAC,cAAY,OAAOA,CAAnB,GAAqBA,CAAC,EAAtB,GAAyBA,CAA1B,EAA6BgG,IAA7B,CAAmChG,CAAC,IAAEE,CAAC,CAACF,CAAD,EAAG,CAAC,CAAJ,CAAvC,EAAgDA,CAAC,IAAEE,CAAC,CAACF,CAAD,EAAG,CAAC,CAAJ,CAApD,CAAN;AAAmE;;AAAA0jG,EAAAA,sBAAsB,CAAC1jG,CAAD,EAAG;AAAC,WAAM,CAAC,EAAE,KAAKgkG,iBAAL,GAAuBhjG,CAAC,CAACqjG,MAA3B,CAAD,KAAsC,KAAKH,eAAL,GAAqBlkG,CAArB,EAAuB,CAAC,CAA9D,CAAN;AAAuE;;AAAA0wB,EAAAA,cAAc,GAAE;AAAC,SAAKxsB,IAAL,CAAUq+F,MAAV,CAAiB7xE,cAAjB;AAAkC;;AAA3pB;;AAA4pB,IAAI1vB,CAAJ;AAAM,CAAC,UAAShB,CAAT,EAAW;AAACA,EAAAA,CAAC,CAACA,CAAC,CAACikG,IAAF,GAAO,CAAR,CAAD,GAAY,MAAZ,EAAmBjkG,CAAC,CAACA,CAAC,CAACokG,OAAF,GAAU,CAAX,CAAD,GAAe,SAAlC,EAA4CpkG,CAAC,CAACA,CAAC,CAACqkG,MAAF,GAAS,CAAV,CAAD,GAAc,QAA1D;AAAmE,CAA/E,CAAgFrjG,CAAC,KAAGA,CAAC,GAAC,EAAL,CAAjF,CAAD;AAA4F,MAAMjB,CAAC,GAAC;AAACkjG,EAAAA,MAAM,EAAC,CAAR;AAAUqB,EAAAA,OAAO,EAAC,CAAlB;AAAoBC,EAAAA,IAAI,EAAC,CAAC,CAA1B;AAA4BlU,EAAAA,MAAM,EAAC,CAAC,CAApC;AAAsCuQ,EAAAA,QAAQ,EAAC,CAAC;AAAhD,CAAR;;AAA2D,MAAM3+F,CAAN,CAAO;;AAAE,MAAM0K,CAAC,GAAC1K,CAAR;;;;;;;;;;;;;;;;;;;;;;;;;ACJzrT;AACA;AACA;AACA;AACA;AAA0B;AAAuD;AAAkD;AAA8D;AAAiD;AAAwD;AAA0C,MAAMhC,CAAC,GAAC,CAAC,OAAD,EAAS,cAAT,EAAwB,iBAAxB,EAA0C,wBAA1C,EAAmE,MAAnE,EAA0E,MAA1E,EAAiF,UAAjF,EAA4F,QAA5F,EAAqG,cAArG,EAAoH,cAApH,EAAmI,YAAnI,EAAgJ,cAAhJ,EAA+J,aAA/J,EAA6K,eAA7K,EAA6L,eAA7L,EAA6M,SAA7M,EAAuN,OAAvN,EAA+N,MAA/N,CAAR;AAAA,MAA+OO,CAAC,GAAC,EAAjP;;AAAoP,SAASJ,CAAT,CAAWF,CAAX,EAAa;AAAC,SAAM,CAAC,CAACM,CAAC,CAACN,CAAD,CAAT;AAAa;;AAAA,SAASY,CAAT,CAAWZ,CAAX,EAAa;AAAC,OAAI,MAAMF,CAAV,IAAeE,CAAf,EAAiB,IAAG,CAACE,CAAC,CAACJ,CAAD,CAAL,EAAS,OAAM,CAAC,CAAP;;AAAS,SAAM,CAAC,CAAP;AAAS;;AAAAC,CAAC,CAAC0E,OAAF,CAAWzE,CAAC,IAAE;AAACM,EAAAA,CAAC,CAACN,CAAD,CAAD,GAAK,CAAC,CAAN;AAAQ,CAAvB;;AAA0B,MAAMc,CAAN,CAAO;AAACyB,EAAAA,WAAW,CAACvC,CAAD,EAAG;AAAC,SAAKi/F,SAAL,GAAe,IAAIxsF,GAAJ,EAAf,EAAuB,KAAKkyF,QAAL,GAAc,CAArC,EAAuC,KAAKC,cAAL,GAAoB,IAAInyF,GAAJ,EAA3D,EAAmE,KAAK6zE,IAAL,GAAUtmF,CAA7E,EAA+E,KAAKg7F,YAAL,GAAkB,IAAjG;AAAsG;;AAAAtrE,EAAAA,OAAO,CAAC1vB,CAAD,EAAG;AAACA,IAAAA,CAAC,IAAE,KAAK6kG,UAAL,EAAH,EAAqB,KAAK7J,YAAL,GAAkBh7F,CAAvC,EAAyC,KAAKi/F,SAAL,CAAex6F,OAAf,CAAwB,CAAC;AAAC47F,MAAAA,OAAO,EAACrgG,CAAT;AAAWmwE,MAAAA,QAAQ,EAACrwE;AAApB,KAAD,EAAwBW,CAAxB,KAA4B,KAAKu6F,YAAL,EAAmByF,eAAnB,CAAmChgG,CAAnC,EAAqC,CAACT,CAAD,CAArC,EAAyCF,CAAzC,CAApD,CAAzC;AAA2I;;AAAA+kG,EAAAA,UAAU,GAAE;AAAC,SAAK7J,YAAL,IAAmB,KAAKiE,SAAL,CAAex6F,OAAf,CAAwB,CAACzE,CAAD,EAAGF,CAAH,KAAO,KAAKk7F,YAAL,EAAmBmF,iBAAnB,CAAqCrgG,CAArC,CAA/B,CAAnB,EAA4F,KAAKk7F,YAAL,GAAkB,IAA9G;AAAmH;;AAAA92F,EAAAA,OAAO,GAAE;AAAC,SAAK2gG,UAAL,IAAkB,KAAK5F,SAAL,CAAevlF,KAAf,EAAlB,EAAyC,KAAK4sE,IAAL,GAAU,IAAnD;AAAwD;;AAAA7iF,EAAAA,EAAE,CAAC3D,CAAD,EAAGW,CAAH,EAAKL,CAAL,EAAOL,CAAP,EAAS;AAAC,UAAMO,CAAC,GAAC+F,KAAK,CAACC,OAAN,CAAcxG,CAAd,IAAiBA,CAAjB,GAAmBA,CAAC,CAACwQ,KAAF,CAAQ,GAAR,CAA3B;AAAwC,QAAG,CAAC1P,CAAC,CAACN,CAAD,CAAL,EAAS,OAAOA,CAAC,CAACgX,IAAF,CAAOpX,CAAP,KAAWkxC,OAAO,CAAC7tC,KAAR,CAAc,iGAAd,CAAX,EAA4H,IAAnI;AAAwI,QAAIzC,CAAJ,EAAMQ,CAAN;AAAQ+E,IAAAA,KAAK,CAACC,OAAN,CAAc7F,CAAd,IAAiBa,CAAC,GAACb,CAAnB,IAAsBK,CAAC,GAACL,CAAF,EAAIa,CAAC,GAAC,EAA5B,GAAgC,cAAY,OAAOlB,CAAnB,GAAqBU,CAAC,GAACV,CAAvB,GAAyBL,CAAC,GAACK,CAA3D,EAA6DL,CAAC,GAAC,QAAMA,CAAN,GAAQA,CAAR,GAAUS,yEAAzE;;AAAmF,UAAMQ,CAAC,GAAC,KAAK8jG,sBAAL,EAAR;AAAA,UAAsCtjG,CAAC,GAAC,IAAIb,CAAJ,CAAM,KAAK2lF,IAAX,EAAgBhmF,CAAhB,EAAkBgB,CAAlB,EAAoBR,CAApB,CAAxC;;AAA+D,SAAKm+F,SAAL,CAAez5F,GAAf,CAAmBxE,CAAnB,EAAqB;AAACq/F,MAAAA,OAAO,EAAC7+F,CAAT;AAAW2uE,MAAAA,QAAQ,EAACpwE;AAApB,KAArB;;AAA6C,SAAI,MAAMC,CAAV,IAAeM,CAAf,EAAiB;AAAC,YAAMR,CAAC,GAAC,KAAK8kG,cAAL,CAAoBhrF,GAApB,CAAwB5Z,CAAxB,KAA4B,CAApC;;AAAsC,WAAK4kG,cAAL,CAAoBp/F,GAApB,CAAwBxF,CAAxB,EAA0BF,CAAC,GAAC,CAA5B;AAA+B;;AAAA,WAAO,KAAKk7F,YAAL,IAAmB,KAAKA,YAAL,CAAkByF,eAAlB,CAAkCz/F,CAAlC,EAAoC,CAACQ,CAAD,CAApC,EAAwCzB,CAAxC,CAAnB,EAA8DC,gEAAC,CAAE,MAAI,KAAK+kG,cAAL,CAAoB/jG,CAApB,EAAsBV,CAAtB,CAAN,CAAtE;AAAuG;;AAAA+7F,EAAAA,UAAU,CAACr8F,CAAD,EAAG;AAAC,WAAM,CAAC,CAAC,KAAK4kG,cAAL,CAAoBhrF,GAApB,CAAwB5Z,CAAxB,CAAR;AAAmC;;AAAA+kG,EAAAA,cAAc,CAAC/kG,CAAD,EAAGF,CAAH,EAAK;AAAC,QAAG,KAAKm/F,SAAL,CAAe9vF,GAAf,CAAmBnP,CAAnB,CAAH,EAAyB;AAAC,WAAKi/F,SAAL,CAAevuE,MAAf,CAAsB1wB,CAAtB;;AAAyB,WAAI,MAAMA,CAAV,IAAeF,CAAf,EAAiB;AAAC,cAAMA,CAAC,GAAC,KAAK8kG,cAAL,CAAoBhrF,GAApB,CAAwB5Z,CAAxB,CAAR;;AAAmC,aAAK,CAAL,KAASF,CAAT,KAAa,MAAIA,CAAJ,GAAM,KAAK8kG,cAAL,CAAoBl0E,MAApB,CAA2B1wB,CAA3B,CAAN,GAAoC,KAAK4kG,cAAL,CAAoBp/F,GAApB,CAAwBxF,CAAxB,EAA0BF,CAAC,GAAC,CAA5B,CAAjD;AAAiF;AAAC;;AAAA,SAAKk7F,YAAL,IAAmB,KAAKA,YAAL,CAAkBmF,iBAAlB,CAAoCngG,CAApC,CAAnB;AAA0D;;AAAA8kG,EAAAA,sBAAsB,GAAE;AAAC,WAAO,KAAKH,QAAL,IAAe,CAAf,EAAkB,cAAa,KAAKA,QAAS,EAApD;AAAsD;;AAAh6C;;AAAi6C,MAAMhkG,CAAN,SAAgBP,0DAAhB,CAAiB;AAACmC,EAAAA,WAAW,CAACvC,CAAD,EAAGF,CAAH,EAAKW,CAAL,EAAOL,CAAP,EAAS;AAAC,UAAM,CAAC,CAAP,GAAU,KAAK4kG,gBAAL,GAAsB,KAAK,CAArC,EAAuC,KAAK1e,IAAL,GAAUtmF,CAAjD;;AAAmD,SAAI,MAAMQ,CAAV,IAAeV,CAAf,EAAiB,QAAOU,CAAP;AAAU,WAAI,OAAJ;AAAY,aAAKykG,gBAAL,CAAsB,OAAtB,EAA8BxkG,CAA9B,EAAiCX,CAAC,IAAEM,CAAC,CAACoB,CAAC,CAACxB,CAAD,EAAGF,CAAH,CAAF,CAArC;AAAgD;;AAAM,WAAI,cAAJ;AAAmB,aAAKmlG,gBAAL,CAAsB,cAAtB,EAAqCxkG,CAArC,EAAwCX,CAAC,IAAEM,CAAC,CAAC2B,CAAC,CAAC/B,CAAD,EAAGF,CAAH,CAAF,CAA5C;AAAuD;;AAAM,WAAI,iBAAJ;AAAsB,aAAKmlG,gBAAL,CAAsB,iBAAtB,EAAwCxkG,CAAxC,EAA2CX,CAAC,IAAEM,CAAC,CAACc,CAAC,CAAClB,CAAD,EAAGF,CAAH,CAAF,CAA/C;AAA0D;;AAAM,WAAI,wBAAJ;AAA6B,aAAKmlG,gBAAL,CAAsB,wBAAtB,EAA+CxkG,CAA/C,EAAkDX,CAAC,IAAEM,CAAC,CAACiC,CAAC,CAACrC,CAAD,EAAGF,CAAH,CAAF,CAAtD;AAAiE;;AAAM,WAAI,MAAJ;AAAW,aAAKmlG,gBAAL,CAAsB,MAAtB,EAA6BxkG,CAA7B,EAAgCX,CAAC,IAAEM,CAAC,CAACgB,CAAC,CAACpB,CAAD,EAAGF,CAAH,CAAF,CAApC;AAA+C;;AAAM,WAAI,MAAJ;AAAW,aAAKmlG,gBAAL,CAAsB,MAAtB,EAA6BxkG,CAA7B,EAAgCT,CAAC,IAAE;AAAC,gBAAMF,CAAC,GAAC,KAAKolG,SAAL,CAAellG,CAAf,CAAR;;AAA0BF,UAAAA,CAAC,IAAEM,CAAC,CAACN,CAAD,CAAJ;AAAQ,SAAtE;AAAyE;;AAAM,WAAI,UAAJ;AAAe,aAAKmlG,gBAAL,CAAsB,UAAtB,EAAiCxkG,CAAjC,EAAoCT,CAAC,IAAEI,CAAC,CAACsB,CAAC,CAAC1B,CAAD,CAAF,CAAxC;AAAiD;;AAAM,WAAI,QAAJ;AAAa,aAAKilG,gBAAL,CAAsB,QAAtB,EAA+BxkG,CAA/B,EAAkCT,CAAC,IAAEI,CAAC,CAAC4L,CAAC,CAAChM,CAAD,CAAF,CAAtC;AAA+C;;AAAM,WAAI,cAAJ;AAAmB,aAAKilG,gBAAL,CAAsB,cAAtB,EAAqCxkG,CAArC,EAAwCT,CAAC,IAAEI,CAAC,CAAC6B,CAAC,CAACjC,CAAD,EAAG,cAAH,CAAF,CAA5C;AAAoE;;AAAM,WAAI,cAAJ;AAAmB,aAAKilG,gBAAL,CAAsB,cAAtB,EAAqCxkG,CAArC,EAAwCT,CAAC,IAAEI,CAAC,CAAC6B,CAAC,CAACjC,CAAD,EAAG,cAAH,CAAF,CAA5C;AAAoE;;AAAM,WAAI,YAAJ;AAAiB,aAAKilG,gBAAL,CAAsB,YAAtB,EAAmCxkG,CAAnC,EAAsCT,CAAC,IAAEI,CAAC,CAAC6B,CAAC,CAACjC,CAAD,EAAG,YAAH,CAAF,CAA1C;AAAgE;;AAAM,WAAI,cAAJ;AAAmB,aAAKilG,gBAAL,CAAsB,cAAtB,EAAqCxkG,CAArC,EAAwCT,CAAC,IAAEI,CAAC,CAACwf,CAAC,CAAC5f,CAAD,CAAF,CAA5C;AAAqD;;AAAM,WAAI,aAAJ;AAAkB,aAAKilG,gBAAL,CAAsB,aAAtB,EAAoCxkG,CAApC,EAAuCT,CAAC,IAAEI,CAAC,CAACqM,CAAC,CAACzM,CAAD,CAAF,CAA3C;AAAoD;;AAAM,WAAI,eAAJ;AAAoB,aAAKilG,gBAAL,CAAsB,eAAtB,EAAsCxkG,CAAtC,EAAyCT,CAAC,IAAEI,CAAC,CAAC6B,CAAC,CAACjC,CAAD,EAAG,eAAH,CAAF,CAA7C;AAAsE;;AAAM,WAAI,eAAJ;AAAoB,aAAKilG,gBAAL,CAAsB,eAAtB,EAAsCxkG,CAAtC,EAAyCT,CAAC,IAAEI,CAAC,CAAC6B,CAAC,CAACjC,CAAD,EAAG,eAAH,CAAF,CAA7C;AAAsE;;AAAM,WAAI,SAAJ;AAAc,aAAKilG,gBAAL,CAAsB,SAAtB,EAAgCxkG,CAAhC,EAAmCT,CAAC,IAAE;AAACI,UAAAA,CAAC,CAACP,CAAC,CAACG,CAAD,CAAF,CAAD;AAAQ,SAA/C;AAAkD;;AAAM,WAAI,OAAJ;AAAY,aAAKilG,gBAAL,CAAsB,OAAtB,EAA8BxkG,CAA9B,EAAiCT,CAAC,IAAE;AAACI,UAAAA,CAAC,CAACkB,CAAC,CAACtB,CAAD,CAAF,CAAD;AAAQ,SAA7C;AAAgD;;AAAM,WAAI,MAAJ;AAAW,aAAKilG,gBAAL,CAAsB,MAAtB,EAA6BxkG,CAA7B,EAAgCT,CAAC,IAAE;AAACI,UAAAA,CAAC,CAACY,CAAC,CAAChB,CAAD,CAAF,CAAD;AAAQ,SAA5C;AAAt3C;AAAs6C;;AAAAklG,EAAAA,SAAS,CAACllG,CAAD,EAAG;AAAC,UAAMS,CAAC,GAACT,CAAC,CAACgE,IAAV;AAAA,UAAe;AAAC1B,MAAAA,CAAC,EAAClC,CAAH;AAAKc,MAAAA,CAAC,EAACV;AAAP,QAAUC,CAAC,CAACmY,MAA3B;AAAA,UAAkC;AAACusF,MAAAA,MAAM,EAACplG,CAAR;AAAUgwF,MAAAA,WAAW,EAACzvF,CAAtB;AAAwBwL,MAAAA,MAAM,EAAC5L;AAA/B,QAAkCO,CAApE;AAAsE,QAAG,YAAUV,CAAV,KAAc,KAAKilG,gBAAL,GAAsBvkG,CAApC,GAAuC,CAAC,KAAKukG,gBAAhD,EAAiE;AAAO,UAAMpkG,CAAC,GAACH,CAAC,CAAC2kG,OAAF,CAAU/C,MAAlB;AAAA,UAAyBvhG,CAAC,GAACL,CAAC,CAAC4kG,OAA7B;AAAA,UAAqC;AAAC7C,MAAAA,UAAU,EAAC7hG,CAAZ;AAAck/F,MAAAA,SAAS,EAACv+F;AAAxB,QAA2BtB,CAAhE;AAAA,UAAkEgB,CAAC,GAAC;AAACsB,MAAAA,CAAC,EAAC,KAAK0iG,gBAAL,CAAsBpsF,MAAtB,CAA6BtW,CAAhC;AAAkCpB,MAAAA,CAAC,EAAC,KAAK8jG,gBAAL,CAAsBpsF,MAAtB,CAA6B1X;AAAjE,KAApE;AAAwI,WAAM,UAAQnB,CAAR,KAAY,KAAKilG,gBAAL,GAAsB,KAAK,CAAvC,GAA0C;AAAC3hG,MAAAA,IAAI,EAAC,MAAN;AAAa8hG,MAAAA,MAAM,EAACplG,CAApB;AAAsBuC,MAAAA,CAAC,EAAClC,CAAxB;AAA0Bc,MAAAA,CAAC,EAACV,CAA5B;AAA8BkF,MAAAA,MAAM,EAAC1E,CAArC;AAAuC+uF,MAAAA,WAAW,EAACzvF,CAAnD;AAAqDwL,MAAAA,MAAM,EAAC5L,CAA5D;AAA8DmlG,MAAAA,OAAO,EAACvkG,CAAtE;AAAwE2jE,MAAAA,MAAM,EAAChkE,CAAC,CAACgkE,MAAjF;AAAwFkb,MAAAA,KAAK,EAAC7/E,2DAAC,CAACW,CAAC,CAACk/E,KAAH,CAA/F;AAAyG0iB,MAAAA,MAAM,EAACzhG,CAAhH;AAAkHi/F,MAAAA,SAAS,EAACv+F,CAA5H;AAA8HkhG,MAAAA,UAAU,EAAC7hG,CAAzI;AAA2IsjG,MAAAA,eAAe,EAAC,MAAIjkG,CAAC,CAACikG,eAAF,EAA/J;AAAmL/oF,MAAAA,KAAK,EAACpb,CAAC,IAAEE,CAAC,CAACkb,KAAF,CAAQpb,CAAR,CAA5L;AAAuM0wB,MAAAA,cAAc,EAAC,MAAIxwB,CAAC,CAACwwB,cAAF;AAA1N,KAAhD;AAA8R;;AAAjkE;;AAAkkE,SAASlvB,CAAT,CAAWtB,CAAX,EAAa;AAAC,SAAM;AAACqD,IAAAA,IAAI,EAAC,OAAN;AAAcw8F,IAAAA,SAAS,EAAC7/F,CAAC,CAAC6/F,SAA1B;AAAoCwC,IAAAA,MAAM,EAACriG,CAAC,CAACgE,IAAF,CAAOq+F,MAAlD;AAAyDG,IAAAA,UAAU,EAACxiG,CAAC,CAACwiG,UAAtE;AAAiFyB,IAAAA,eAAe,EAAC,MAAIjkG,CAAC,CAACikG,eAAF,EAArG;AAAyH/oF,IAAAA,KAAK,EAACpb,CAAC,IAAEE,CAAC,CAACkb,KAAF,CAAQpb,CAAR,CAAlI;AAA6I0wB,IAAAA,cAAc,EAAC,MAAIxwB,CAAC,CAACwwB,cAAF;AAAhK,GAAN;AAA0L;;AAAA,SAASxvB,CAAT,CAAWhB,CAAX,EAAa;AAAC,SAAM;AAACqD,IAAAA,IAAI,EAAC,MAAN;AAAaw8F,IAAAA,SAAS,EAAC7/F,CAAC,CAAC6/F,SAAzB;AAAmCwC,IAAAA,MAAM,EAACriG,CAAC,CAACgE,IAAF,CAAOq+F,MAAjD;AAAwDG,IAAAA,UAAU,EAACxiG,CAAC,CAACwiG,UAArE;AAAgFyB,IAAAA,eAAe,EAAC,MAAIjkG,CAAC,CAACikG,eAAF,EAApG;AAAwH/oF,IAAAA,KAAK,EAACpb,CAAC,IAAEE,CAAC,CAACkb,KAAF,CAAQpb,CAAR,CAAjI;AAA4I0wB,IAAAA,cAAc,EAAC,MAAIxwB,CAAC,CAACwwB,cAAF;AAA/J,GAAN;AAAyL;;AAAA,SAAShvB,CAAT,CAAWxB,CAAX,EAAaF,CAAb,EAAe;AAAC,QAAK;AAACiwF,IAAAA,WAAW,EAAC3vF,CAAb;AAAe0L,IAAAA,MAAM,EAACtL,CAAtB;AAAwB6kG,IAAAA,OAAO,EAACtlG,CAAhC;AAAkCuC,IAAAA,CAAC,EAAChC,CAApC;AAAsCY,IAAAA,CAAC,EAAChB,CAAxC;AAA0CmiG,IAAAA,MAAM,EAACzhG,CAAjD;AAAmD0iG,IAAAA,OAAO,EAACxiG;AAA3D,MAA8DhB,CAAC,CAACkE,IAArE;AAAA,QAA0E;AAACw+F,IAAAA,UAAU,EAAC7hG,CAAZ;AAAck/F,IAAAA,SAAS,EAACv+F;AAAxB,MAA2BxB,CAArG;AAAuG,SAAM;AAACuD,IAAAA,IAAI,EAAC,OAAN;AAAc0sF,IAAAA,WAAW,EAAC3vF,CAA1B;AAA4B0L,IAAAA,MAAM,EAACtL,CAAnC;AAAqC6kG,IAAAA,OAAO,EAACtlG,CAA7C;AAA+CuC,IAAAA,CAAC,EAAChC,CAAjD;AAAmDY,IAAAA,CAAC,EAAChB,CAArD;AAAuDmiG,IAAAA,MAAM,EAACzhG,CAA9D;AAAgEi/F,IAAAA,SAAS,EAACv+F,CAA1E;AAA4EimF,IAAAA,WAAW,EAAC9mF,uEAAC,CAACH,CAAD,EAAGJ,CAAH,CAAzF;AAA+F6nF,IAAAA,QAAQ,EAACpmF,CAAC,CAAC3B,CAAD,EAAGM,CAAH,EAAKJ,CAAL,CAAzG;AAAiHojG,IAAAA,OAAO,EAACxiG,CAAzH;AAA2H0hG,IAAAA,UAAU,EAAC7hG,CAAtI;AAAwIsjG,IAAAA,eAAe,EAAC,MAAInkG,CAAC,CAACmkG,eAAF,EAA5J;AAAgL/oF,IAAAA,KAAK,EAAClb,CAAC,IAAEF,CAAC,CAACob,KAAF,CAAQlb,CAAR,CAAzL;AAAoMwwB,IAAAA,cAAc,EAAC,MAAI1wB,CAAC,CAAC0wB,cAAF;AAAvN,GAAN;AAAiP;;AAAA,SAASzuB,CAAT,CAAW/B,CAAX,EAAaF,CAAb,EAAe;AAAC,QAAK;AAACiwF,IAAAA,WAAW,EAACtvF,CAAb;AAAeqL,IAAAA,MAAM,EAAC1L,CAAtB;AAAwBilG,IAAAA,OAAO,EAAC7kG,CAAhC;AAAkC8B,IAAAA,CAAC,EAACvC,CAApC;AAAsCmB,IAAAA,CAAC,EAACZ,CAAxC;AAA0C+hG,IAAAA,MAAM,EAACniG,CAAjD;AAAmDojG,IAAAA,OAAO,EAAC1iG;AAA3D,MAA8Dd,CAAC,CAACkE,IAArE;AAAA,QAA0E;AAACw+F,IAAAA,UAAU,EAAC1hG,CAAZ;AAAc++F,IAAAA,SAAS,EAACl/F;AAAxB,MAA2Bb,CAArG;AAAuG,SAAM;AAACuD,IAAAA,IAAI,EAAC,cAAN;AAAqB0sF,IAAAA,WAAW,EAACtvF,CAAjC;AAAmCqL,IAAAA,MAAM,EAAC1L,CAA1C;AAA4CilG,IAAAA,OAAO,EAAC7kG,CAApD;AAAsD8B,IAAAA,CAAC,EAACvC,CAAxD;AAA0DmB,IAAAA,CAAC,EAACZ,CAA5D;AAA8D+hG,IAAAA,MAAM,EAACniG,CAArE;AAAuE2/F,IAAAA,SAAS,EAACl/F,CAAjF;AAAmFonF,IAAAA,QAAQ,EAACpmF,CAAC,CAAC3B,CAAD,EAAGD,CAAH,EAAKO,CAAL,CAA7F;AAAqGgjG,IAAAA,OAAO,EAAC1iG,CAA7G;AAA+G4hG,IAAAA,UAAU,EAAC1hG,CAA1H;AAA4HmjG,IAAAA,eAAe,EAAC,MAAInkG,CAAC,CAACmkG,eAAF,EAAhJ;AAAoK/oF,IAAAA,KAAK,EAAClb,CAAC,IAAEF,CAAC,CAACob,KAAF,CAAQlb,CAAR,CAA7K;AAAwLwwB,IAAAA,cAAc,EAAC,MAAI1wB,CAAC,CAAC0wB,cAAF;AAA3M,GAAN;AAAqO;;AAAA,SAAStvB,CAAT,CAAWlB,CAAX,EAAaF,CAAb,EAAe;AAAC,QAAK;AAACiwF,IAAAA,WAAW,EAACtvF,CAAb;AAAeqL,IAAAA,MAAM,EAAC1L,CAAtB;AAAwBilG,IAAAA,OAAO,EAAC7kG,CAAhC;AAAkC8B,IAAAA,CAAC,EAACvC,CAApC;AAAsCmB,IAAAA,CAAC,EAACZ,CAAxC;AAA0C+hG,IAAAA,MAAM,EAACniG,CAAjD;AAAmDojG,IAAAA,OAAO,EAAC1iG;AAA3D,MAA8Dd,CAAC,CAACkE,IAArE;AAAA,QAA0ElD,CAAC,GAACZ,CAAC,CAACoiG,SAA9E;AAAA,QAAwF;AAACE,IAAAA,UAAU,EAAC7hG,CAAZ;AAAck/F,IAAAA,SAAS,EAACv+F;AAAxB,MAA2BxB,CAAnH;AAAqH,SAAM;AAACuD,IAAAA,IAAI,EAAC,iBAAN;AAAwBi/F,IAAAA,SAAS,EAACxhG,CAAlC;AAAoCivF,IAAAA,WAAW,EAACtvF,CAAhD;AAAkDqL,IAAAA,MAAM,EAAC1L,CAAzD;AAA2DilG,IAAAA,OAAO,EAAC7kG,CAAnE;AAAqE8B,IAAAA,CAAC,EAACvC,CAAvE;AAAyEmB,IAAAA,CAAC,EAACZ,CAA3E;AAA6E+hG,IAAAA,MAAM,EAACniG,CAApF;AAAsF2/F,IAAAA,SAAS,EAACv+F,CAAhG;AAAkGymF,IAAAA,QAAQ,EAACpmF,CAAC,CAAC3B,CAAD,EAAGD,CAAH,EAAKO,CAAL,CAA5G;AAAoHgjG,IAAAA,OAAO,EAAC1iG,CAA5H;AAA8H4hG,IAAAA,UAAU,EAAC7hG,CAAzI;AAA2IsjG,IAAAA,eAAe,EAAC,MAAInkG,CAAC,CAACmkG,eAAF,EAA/J;AAAmL/oF,IAAAA,KAAK,EAAClb,CAAC,IAAEF,CAAC,CAACob,KAAF,CAAQlb,CAAR,CAA5L;AAAuMwwB,IAAAA,cAAc,EAAC,MAAI1wB,CAAC,CAAC0wB,cAAF;AAA1N,GAAN;AAAoP;;AAAA,SAASnuB,CAAT,CAAWrC,CAAX,EAAaF,CAAb,EAAe;AAAC,QAAK;AAACiwF,IAAAA,WAAW,EAACtvF,CAAb;AAAeqL,IAAAA,MAAM,EAAC1L,CAAtB;AAAwBilG,IAAAA,OAAO,EAAC7kG,CAAhC;AAAkC8B,IAAAA,CAAC,EAACvC,CAApC;AAAsCmB,IAAAA,CAAC,EAACZ,CAAxC;AAA0C+hG,IAAAA,MAAM,EAACniG,CAAjD;AAAmDojG,IAAAA,OAAO,EAAC1iG;AAA3D,MAA8Dd,CAAC,CAACkE,IAArE;AAAA,QAA0ElD,CAAC,GAACZ,CAAC,CAACoiG,SAA9E;AAAA,QAAwF;AAACE,IAAAA,UAAU,EAAC7hG,CAAZ;AAAck/F,IAAAA,SAAS,EAACv+F;AAAxB,MAA2BxB,CAAnH;AAAqH,SAAM;AAACuD,IAAAA,IAAI,EAAC,wBAAN;AAA+Bi/F,IAAAA,SAAS,EAACxhG,CAAzC;AAA2CivF,IAAAA,WAAW,EAACtvF,CAAvD;AAAyDqL,IAAAA,MAAM,EAAC1L,CAAhE;AAAkEilG,IAAAA,OAAO,EAAC7kG,CAA1E;AAA4E8B,IAAAA,CAAC,EAACvC,CAA9E;AAAgFmB,IAAAA,CAAC,EAACZ,CAAlF;AAAoF+hG,IAAAA,MAAM,EAACniG,CAA3F;AAA6F2/F,IAAAA,SAAS,EAACv+F,CAAvG;AAAyGymF,IAAAA,QAAQ,EAACpmF,CAAC,CAAC3B,CAAD,EAAGD,CAAH,EAAKO,CAAL,CAAnH;AAA2HgjG,IAAAA,OAAO,EAAC1iG,CAAnI;AAAqI4hG,IAAAA,UAAU,EAAC7hG,CAAhJ;AAAkJsjG,IAAAA,eAAe,EAAC,MAAInkG,CAAC,CAACmkG,eAAF,EAAtK;AAA0L/oF,IAAAA,KAAK,EAAClb,CAAC,IAAEF,CAAC,CAACob,KAAF,CAAQlb,CAAR,CAAnM;AAA8MwwB,IAAAA,cAAc,EAAC,MAAI1wB,CAAC,CAAC0wB,cAAF;AAAjO,GAAN;AAA2P;;AAAA,SAASpvB,CAAT,CAAWpB,CAAX,EAAaF,CAAb,EAAe;AAAC,QAAK;AAACiwF,IAAAA,WAAW,EAACtvF,CAAb;AAAeqL,IAAAA,MAAM,EAAC1L,CAAtB;AAAwBilG,IAAAA,OAAO,EAAC7kG,CAAhC;AAAkC8B,IAAAA,CAAC,EAACvC,CAApC;AAAsCmB,IAAAA,CAAC,EAACZ,CAAxC;AAA0C+hG,IAAAA,MAAM,EAACniG;AAAjD,MAAoDJ,CAAC,CAACkE,IAA3D;AAAA,QAAgE;AAACw+F,IAAAA,UAAU,EAAC5hG,CAAZ;AAAci/F,IAAAA,SAAS,EAAC/+F;AAAxB,MAA2BhB,CAA3F;AAA6F,SAAM;AAACuD,IAAAA,IAAI,EAAC,MAAN;AAAa0sF,IAAAA,WAAW,EAACtvF,CAAzB;AAA2BqL,IAAAA,MAAM,EAAC1L,CAAlC;AAAoCilG,IAAAA,OAAO,EAAC7kG,CAA5C;AAA8C8B,IAAAA,CAAC,EAACvC,CAAhD;AAAkDmB,IAAAA,CAAC,EAACZ,CAApD;AAAsD+hG,IAAAA,MAAM,EAACniG,CAA7D;AAA+D2/F,IAAAA,SAAS,EAAC/+F,CAAzE;AAA2EinF,IAAAA,QAAQ,EAACpmF,CAAC,CAAC3B,CAAD,EAAGD,CAAH,EAAKO,CAAL,CAArF;AAA6FkiG,IAAAA,UAAU,EAAC5hG,CAAxG;AAA0GqjG,IAAAA,eAAe,EAAC,MAAInkG,CAAC,CAACmkG,eAAF,EAA9H;AAAkJ/oF,IAAAA,KAAK,EAAClb,CAAC,IAAEF,CAAC,CAACob,KAAF,CAAQlb,CAAR,CAA3J;AAAsKwwB,IAAAA,cAAc,EAAC,MAAI1wB,CAAC,CAAC0wB,cAAF;AAAzL,GAAN;AAAmN;;AAAA,SAAS7uB,CAAT,CAAW3B,CAAX,EAAaF,CAAb,EAAeM,CAAf,EAAiB;AAAC,SAAOJ,CAAC,CAACynF,KAAF,CAAQhnF,uEAAC,CAACX,CAAD,EAAGM,CAAH,CAAT,EAAe;AAACq0E,IAAAA,OAAO,EAAC;AAAT,GAAf,CAAP;AAAoC;;AAAA,SAAS/yE,CAAT,CAAW1B,CAAX,EAAa;AAAC,QAAK;AAAC0L,IAAAA,GAAG,EAAC5L,CAAL;AAAOwlG,IAAAA,MAAM,EAAC7kG,CAAd;AAAgB4hG,IAAAA,MAAM,EAACjiG;AAAvB,MAA0BJ,CAAC,CAACgE,IAAjC;AAAA,QAAsC;AAACw+F,IAAAA,UAAU,EAAChiG,CAAZ;AAAcq/F,IAAAA,SAAS,EAAC9/F;AAAxB,MAA2BC,CAAjE;AAAmE,SAAM;AAACqD,IAAAA,IAAI,EAAC,UAAN;AAAiBqI,IAAAA,GAAG,EAAC5L,CAArB;AAAuBwlG,IAAAA,MAAM,EAAC7kG,CAA9B;AAAgC4hG,IAAAA,MAAM,EAACjiG,CAAvC;AAAyCy/F,IAAAA,SAAS,EAAC9/F,CAAnD;AAAqDyiG,IAAAA,UAAU,EAAChiG,CAAhE;AAAkEyjG,IAAAA,eAAe,EAAC,MAAIjkG,CAAC,CAACikG,eAAF,EAAtF;AAA0G/oF,IAAAA,KAAK,EAACpb,CAAC,IAAEE,CAAC,CAACkb,KAAF,CAAQpb,CAAR,CAAnH;AAA8H0wB,IAAAA,cAAc,EAAC,MAAIxwB,CAAC,CAACwwB,cAAF;AAAjJ,GAAN;AAA2K;;AAAA,SAASxkB,CAAT,CAAWhM,CAAX,EAAa;AAAC,QAAK;AAAC0L,IAAAA,GAAG,EAAC5L,CAAL;AAAOuiG,IAAAA,MAAM,EAAC5hG;AAAd,MAAiBT,CAAC,CAACgE,IAAxB;AAAA,QAA6B;AAACw+F,IAAAA,UAAU,EAACpiG,CAAZ;AAAcy/F,IAAAA,SAAS,EAACr/F;AAAxB,MAA2BR,CAAxD;AAA0D,SAAM;AAACqD,IAAAA,IAAI,EAAC,QAAN;AAAeqI,IAAAA,GAAG,EAAC5L,CAAnB;AAAqBuiG,IAAAA,MAAM,EAAC5hG,CAA5B;AAA8Bo/F,IAAAA,SAAS,EAACr/F,CAAxC;AAA0CgiG,IAAAA,UAAU,EAACpiG,CAArD;AAAuD6jG,IAAAA,eAAe,EAAC,MAAIjkG,CAAC,CAACikG,eAAF,EAA3E;AAA+F/oF,IAAAA,KAAK,EAACpb,CAAC,IAAEE,CAAC,CAACkb,KAAF,CAAQpb,CAAR,CAAxG;AAAmH0wB,IAAAA,cAAc,EAAC,MAAIxwB,CAAC,CAACwwB,cAAF;AAAtI,GAAN;AAAgK;;AAAA,SAASvuB,CAAT,CAAWjC,CAAX,EAAaF,CAAb,EAAe;AAAC,QAAK;AAACwC,IAAAA,CAAC,EAAC7B,CAAH;AAAKS,IAAAA,CAAC,EAACd,CAAP;AAAS0L,IAAAA,MAAM,EAACtL,CAAhB;AAAkB6kG,IAAAA,OAAO,EAACtlG,CAA1B;AAA4BsiG,IAAAA,MAAM,EAAC/hG,CAAnC;AAAqCgjG,IAAAA,OAAO,EAACpjG;AAA7C,MAAgDF,CAAC,CAACgE,IAAvD;AAAA,QAA4DpD,CAAC,GAACN,CAAC,CAACgiG,SAAhE;AAAA,QAA0ExhG,CAAC,GAACR,CAAC,CAACyvF,WAA9E;AAAA,QAA0F;AAACyS,IAAAA,UAAU,EAAC7hG,CAAZ;AAAck/F,IAAAA,SAAS,EAACv+F;AAAxB,MAA2BtB,CAArH;AAAuH,SAAM;AAACqD,IAAAA,IAAI,EAACvD,CAAN;AAAQwC,IAAAA,CAAC,EAAC7B,CAAV;AAAYS,IAAAA,CAAC,EAACd,CAAd;AAAgBkiG,IAAAA,SAAS,EAAC1hG,CAA1B;AAA4BmvF,IAAAA,WAAW,EAACjvF,CAAxC;AAA0CgL,IAAAA,MAAM,EAACtL,CAAjD;AAAmD6kG,IAAAA,OAAO,EAACtlG,CAA3D;AAA6DsiG,IAAAA,MAAM,EAAC/hG,CAApE;AAAsEu/F,IAAAA,SAAS,EAACv+F,CAAhF;AAAkFgiG,IAAAA,OAAO,EAACpjG,CAA1F;AAA4FsiG,IAAAA,UAAU,EAAC7hG,CAAvG;AAAyGsjG,IAAAA,eAAe,EAAC,MAAIjkG,CAAC,CAACikG,eAAF,EAA7H;AAAiJ/oF,IAAAA,KAAK,EAACpb,CAAC,IAAEE,CAAC,CAACkb,KAAF,CAAQpb,CAAR,CAA1J;AAAqK0wB,IAAAA,cAAc,EAAC,MAAIxwB,CAAC,CAACwwB,cAAF;AAAxL,GAAN;AAAkN;;AAAA,SAAS5Q,CAAT,CAAW5f,CAAX,EAAa;AAAC,QAAK;AAACsC,IAAAA,CAAC,EAACxC,CAAH;AAAKoB,IAAAA,CAAC,EAACT,CAAP;AAAS4kG,IAAAA,OAAO,EAACjlG,CAAjB;AAAmBiiG,IAAAA,MAAM,EAAC7hG,CAA1B;AAA4B8iG,IAAAA,OAAO,EAACvjG;AAApC,MAAuCC,CAAC,CAACgE,IAAF,CAAOuhG,YAAnD;AAAA,QAAgE;AAACz5F,IAAAA,MAAM,EAACxL;AAAR,MAAWN,CAAC,CAACgE,IAAF,CAAOwhG,UAAlF;AAAA,QAA6FtlG,CAAC,GAACF,CAAC,CAACgE,IAAF,CAAOwhG,UAAP,CAAkBnD,MAAlB,CAAyBC,SAAxH;AAAA,QAAkI1hG,CAAC,GAACZ,CAAC,CAACgE,IAAF,CAAOwhG,UAAP,CAAkBnD,MAAlB,CAAyBtS,WAA7J;AAAA,QAAyKjvF,CAAC,GAACd,CAAC,CAACgE,IAAF,CAAOmhG,MAAlL;AAAA,QAAyLxkG,CAAC,GAAC;AAAC2B,IAAAA,CAAC,EAACtC,CAAC,CAACgE,IAAF,CAAOwhG,UAAP,CAAkBljG,CAArB;AAAuBpB,IAAAA,CAAC,EAAClB,CAAC,CAACgE,IAAF,CAAOwhG,UAAP,CAAkBtkG;AAA3C,GAA3L;AAAA,QAAyO;AAACshG,IAAAA,UAAU,EAAClhG,CAAZ;AAAcu+F,IAAAA,SAAS,EAAC7+F;AAAxB,MAA2BhB,CAApQ;AAAsQ,SAAM;AAACqD,IAAAA,IAAI,EAAC,cAAN;AAAqBf,IAAAA,CAAC,EAACxC,CAAvB;AAAyBoB,IAAAA,CAAC,EAACT,CAA3B;AAA6B6hG,IAAAA,SAAS,EAACpiG,CAAvC;AAAyC6vF,IAAAA,WAAW,EAACnvF,CAArD;AAAuDkL,IAAAA,MAAM,EAACxL,CAA9D;AAAgE+kG,IAAAA,OAAO,EAACjlG,CAAxE;AAA0E+kG,IAAAA,MAAM,EAACrkG,CAAjF;AAAmF4E,IAAAA,MAAM,EAAC/E,CAA1F;AAA4F0hG,IAAAA,MAAM,EAAC7hG,CAAnG;AAAqGq/F,IAAAA,SAAS,EAAC7+F,CAA/G;AAAiHsiG,IAAAA,OAAO,EAACvjG,CAAzH;AAA2HyiG,IAAAA,UAAU,EAAClhG,CAAtI;AAAwI2iG,IAAAA,eAAe,EAAC,MAAIjkG,CAAC,CAACikG,eAAF,EAA5J;AAAgL/oF,IAAAA,KAAK,EAACpb,CAAC,IAAEE,CAAC,CAACkb,KAAF,CAAQpb,CAAR,CAAzL;AAAoM0wB,IAAAA,cAAc,EAAC,MAAIxwB,CAAC,CAACwwB,cAAF;AAAvN,GAAN;AAAiP;;AAAA,SAAS/jB,CAAT,CAAWzM,CAAX,EAAa;AAAC,QAAK;AAACwiG,IAAAA,UAAU,EAAC1iG,CAAZ;AAAckE,IAAAA,IAAI,EAACvD,CAAnB;AAAqBo/F,IAAAA,SAAS,EAACz/F;AAA/B,MAAkCJ,CAAvC;AAAA,QAAyC;AAACsC,IAAAA,CAAC,EAAC9B,CAAH;AAAKU,IAAAA,CAAC,EAACnB,CAAP;AAAS0lG,IAAAA,MAAM,EAACnlG,CAAhB;AAAkB+hG,IAAAA,MAAM,EAACniG;AAAzB,MAA4BO,CAArE;AAAuE,SAAM;AAAC4C,IAAAA,IAAI,EAAC,aAAN;AAAoBf,IAAAA,CAAC,EAAC9B,CAAtB;AAAwBU,IAAAA,CAAC,EAACnB,CAA1B;AAA4B0lG,IAAAA,MAAM,EAACnlG,CAAnC;AAAqC+hG,IAAAA,MAAM,EAACniG,CAA5C;AAA8C2/F,IAAAA,SAAS,EAACz/F,CAAxD;AAA0DoiG,IAAAA,UAAU,EAAC1iG,CAArE;AAAuEmkG,IAAAA,eAAe,EAAC,MAAIjkG,CAAC,CAACikG,eAAF,EAA3F;AAA+G/oF,IAAAA,KAAK,EAACpb,CAAC,IAAEE,CAAC,CAACkb,KAAF,CAAQpb,CAAR,CAAxH;AAAmI0wB,IAAAA,cAAc,EAAC,MAAIxwB,CAAC,CAACwwB,cAAF;AAAtJ,GAAN;AAAgL;;AAAA,SAAS3wB,CAAT,CAAWG,CAAX,EAAa;AAAC,QAAK;AAACmlG,IAAAA,MAAM,EAACrlG,CAAR;AAAU27F,IAAAA,KAAK,EAACh7F,CAAhB;AAAkBilG,IAAAA,MAAM,EAACtlG;AAAzB,MAA4BJ,CAAC,CAACgE,IAAnC;AAAA,QAAwC;AAACw+F,IAAAA,UAAU,EAAChiG,CAAZ;AAAcq/F,IAAAA,SAAS,EAAC9/F;AAAxB,MAA2BC,CAAnE;AAAA,QAAqE;AAACqlG,IAAAA,OAAO,EAAC/kG,CAAT;AAAWqlG,IAAAA,IAAI,EAACzlG;AAAhB,MAAmBO,CAAxF;AAA0F,SAAM;AAAC4C,IAAAA,IAAI,EAAC,SAAN;AAAgBqiG,IAAAA,MAAM,EAACtlG,CAAvB;AAAyBy/F,IAAAA,SAAS,EAAC9/F,CAAnC;AAAqColG,IAAAA,MAAM,EAACrlG,CAA5C;AAA8CulG,IAAAA,OAAO,EAAC/kG,CAAtD;AAAwDqlG,IAAAA,IAAI,EAACzlG,CAA7D;AAA+DsiG,IAAAA,UAAU,EAAChiG,CAA1E;AAA4EyjG,IAAAA,eAAe,EAAC,MAAIjkG,CAAC,CAACikG,eAAF,EAAhG;AAAoH/oF,IAAAA,KAAK,EAACpb,CAAC,IAAEE,CAAC,CAACkb,KAAF,CAAQpb,CAAR,CAA7H;AAAwI0wB,IAAAA,cAAc,EAAC,MAAIxwB,CAAC,CAACwwB,cAAF;AAA3J,GAAN;AAAqL;;;;;;;;;;;;;;;;;;ACJxtQ;AACA;AACA;AACA;AACuD,cAAc,oDAAoD,uDAAuD,gEAAC,2DAA2F;;;;;;;;;;;;;;;;;;;;;;;ACJ5Q;AACA;AACA;AACA;AAC0V,oBAAoB,yDAAC,CAAC,eAAe,2OAA2O,aAAa,yDAAyD,kFAAkF,iBAAiB,gCAAgC,oBAAoB,4BAA4B,uDAAC,EAAE,sFAAC,EAAE,2BAA2B,qCAAqC,uDAAC,EAAE,sFAAC,EAAE,wBAAwB,kCAAkC,uDAAC,EAAE,sFAAC,EAAE,wBAAwB,uCAAuC,uDAAC,EAAE,sFAAC,oDAAoD,sFAAsF,wCAA6D;;;;;;;;;;;;;;;;;;;;;;;;;ACJzvC;AACA;AACA;AACA;AAC4a,oBAAoB,yDAAC,CAAC,kBAAkB,6BAA6B,2DAAC,oCAAoC,uDAAC,EAAE,sFAAC,EAAE,KAAK,kEAAQ,CAAC,8DAAC,cAAc,iCAAiC,uDAAC,EAAE,sFAAC,EAAE,gCAAgC,4CAA4C,uDAAC,EAAE,sFAAC,iDAAiD,UAA+B;;;;;;;;;;;;;;;;;;;ACJhwB;AACA;AACA;AACA;AACkL,QAAQ,iBAAiB,oFAAoF,gCAAgC,+BAA+B,oDAAoD,6BAA6B,8DAAC,uIAAuI,oGAAoG,kEAAkE,4OAA4O,UAAU,8LAA8L,yBAAyB,mFAAmF,qBAAqB,4EAA4E,eAAe,iBAAiB,mBAAmB,YAAY,8DAAC,IAAI,uHAAuH,qBAAqB,6DAA6D,gBAAgB,wCAAwC,iEAAC,EAAE,oCAAoC,GAAG,eAAe,oGAAoG,oBAAoB,wLAAwL,OAAO,oCAAoC,aAAa,sCAAsC,8DAAC,SAAS,2DAAC,IAAI,MAAM,oCAAoC,uBAAuB,GAAG,4DAAC,mBAAmB,+BAA+B,GAAG,yBAAyB,kDAAkD,iBAAiB,0CAA0C,6BAA6B,uCAAuC,iCAAiC,oDAAoD,GAAG,cAAc,eAAe,yBAAyB,YAAY,gBAAgB,iCAAiC,SAAS,cAAc,kDAA6E;;;;;;;;;;;;;;;;;;ACJ5uF;AACA;AACA;AACA;AACA,cAAc,iBAAiB,UAAU,8FAA8F,EAAE,oBAAoB,gBAAgB,0CAA0C,gDAAgD,YAAY,gBAAgB,sCAAsC,YAAY,mBAAmB,4CAA4C,SAAS,cAAc,YAAY,gBAAgB,8BAA8B,YAAY,mBAAmB,iCAAiC,SAAS,gBAAgB,oBAAoB,sCAA+F;;;;;;;;;;;;;;;;;ACJjrB;AACA;AACA;AACA;AACkD,gBAAgB,0DAAC,CAAC,eAAe,yIAAyI,WAAW,wDAAwD,QAAQ,GAAG,sGAAiI;;;;;;;;;;;;;;;;;;ACJ3a;AACA;AACA;AACA;AACmG,gBAAgB,0DAAC,CAAC,uBAAuB,oCAAoC,cAAc,qEAAqE,uDAAC,0BAA0B,OAAO,IAAI,8FAA8F,yBAAyB,OAAO,IAAI,iGAAiG,sPAAsP,UAAU,iEAAyF;;;;;;;;;;;;;;;;;ACJr2B;AACA;AACA;AACA;AACkD,gBAAgB,0DAAC,CAAC,cAAc,qFAAqH;;;;;;;;;;;;;;;;;ACJvM;AACA;AACA;AACA;AACA,gBAAgB,UAAU,0DAA0D,4DAA4D,4DAA4D,gBAAgB,oCAAoC,UAAU,kCAAkC,oCAAoC,oCAA+G;;;;;;;;;;;;;;;;;;ACJ/b;AACA;AACA;AACA;AACmC,QAAQ,wDAAG,oGAAkJ;;;;;;;;;;;;;;;;;;;;;;ACJhM;AACA;AACA;AACA;AAC+W,gBAAgB,0DAAC,CAAC,cAAc,kFAAyB,GAAG,qFAA4B,GAAG,kFAAyB,GAAG,qFAA4B,GAAG,iDAAC,EAAE,6OAA6O,uEAAC,2HAA2H,sEAAC,EAAE,gGAAgG,gNAAgN,cAAc,gCAAgC,mBAAmB,2DAAC,qBAAqB,GAAG,uBAAuB,gFAAgF,SAAS,qBAAqB,kCAAkC,uBAAuB,2DAAC,kFAAkF,gBAAgB,2CAA2C,yDAAyD,MAAM,mBAAmB,IAAI,SAAS,GAAG,wBAAwB,kBAAkB,uEAAC,SAAS,yDAAyD,eAAe,qCAAqC,MAAM,mBAAmB,IAAI,SAAS,gBAAgB,uEAAC,6DAA6D,yDAAyD,YAAY,qCAAqC,MAAM,mBAAmB,IAAI,SAAS,aAAa,uEAAC,6DAA6D,sFAAsF,sBAAsB,MAAM,OAAO,KAAK,yDAAC,iCAAiC,cAAc,UAAU,MAAM,sFAAsF,0BAA0B,8DAAC,yEAAyE,+BAA+B,mBAAmB,4BAA4B,qBAAqB,MAAM,OAAO,IAAI,cAAc,YAAY,yDAAC,0IAA0I,0BAA0B,2BAA2B,kCAAkC,kBAAkB,MAAM,kEAAkE,GAAG,OAAO,oFAA+G;;;;;;;;;;;;;;;;;;;;;ACJvlG;AACA;AACA;AACA;AACoN,gBAAgB,0DAAC,CAAC,eAAe,ihBAAihB,wBAAwB,OAAO,0LAA0L,eAAe,gEAAgE,oCAAoC,gCAAgC,uCAAuC,4DAA4D,kBAAkB,kCAAkC,2DAA2D,gCAAgC,kBAAkB,wCAAwC,8DAA8D,wBAAwB,kCAAkC,oCAAoC,6CAA6C,GAAG,kBAAkB,kCAAkC,+EAA+E,kCAAkC,kCAAkC,2DAAC,cAAc,mSAAmS,2DAAC,iBAAiB,sBAAsB,kCAAkC,2DAAC,cAAc,iBAAiB,ijBAAijB,oBAAoB,4IAA4I,cAAc,WAAW,sBAAsB,OAAO,uEAAC,uBAAuB,GAAG,yDAAC,IAAI,cAAc,aAAa,QAAQ,sBAAsB,6BAA6B,KAAK,UAAU,cAAc,KAAK,WAAW,cAAc,8BAA8B,yBAAyB,KAAK,iBAAiB,yCAAyC,cAAc,gBAAgB,8CAA8C,gBAAgB,kDAAkD,uBAAuB,MAAM,aAAa,yIAAyI,SAAS,GAAiC;;;;;;;;;;;;;;;;;;;ACJtmH;AACA;AACA;AACA;AAC2L,gBAAgB,0DAAC,CAAC,cAAc,kFAAyB,GAAG,qFAA4B,GAAG,kFAAyB,GAAG,qFAA4B,GAAG,iDAAC,EAAE,kZAAkZ,cAAc,gCAAgC,sEAAsE,uBAAuB,sBAAsB,iBAAiB,yDAAC,IAAI,+BAA+B,SAAS,kEAAkE,kEAAkE,oBAAoB,iBAAiB,yDAAC,gCAAgC,sCAAsC,uIAAuI,4BAA4B,8DAAC,qIAAqI,8DAAC,wEAAwE,gCAAgC,wGAAwG,wBAAwB,qHAAqH,gBAAgB,QAAQ,yDAAC,IAAI,iGAAmI;;;;;;;;;;;;;;;;;;;;ACJ59D;AACA;AACA;AACA;AAC8N,gBAAgB,0DAAC,CAAC,cAAc,4EAAmB,GAAG,iFAAwB,GAAG,+EAAsB,GAAG,iFAAwB,GAAG,oEAAW,GAAG,iDAAC,EAAE,qyBAAqyB,cAAc,gCAAgC,cAAc,2DAAC,gBAAgB,uBAAuB,sBAAsB,oCAAoC,WAAW,6DAA6D,kCAAkC,MAAM,kBAAkB,wBAAwB,8DAA8D,oBAAoB,oBAAoB,SAAS,kIAAkI,6IAA6I,sBAAsB,gEAAgE,MAAM,2EAA2E,KAAK,8DAAC,sFAAsF,mBAAmB,qBAAqB,UAAU,gDAAgD,4CAA4C,6CAA6C,kBAAkB,oCAAoC,gCAAgC,mQAAmQ,GAAG,wBAAwB,gEAAgE,MAAM,0KAA0K,0DAA0D,oGAAoG,yHAAyH,kBAAkB,OAAO,+EAAoH;;;;;;;;;;;;;;;;;;;;ACJrxG;AACA;AACA;AACA;AACgP,gBAAgB,0DAAC,CAAC,cAAc,kFAAyB,GAAG,qFAA4B,GAAG,kFAAyB,GAAG,qFAA4B,GAAG,iDAAC,EAAE,8aAA8a,cAAc,kDAAkD,2DAAC,uBAAuB,uBAAuB,gFAAgF,SAAS,4BAA4B,kCAAkC,uBAAuB,2DAAC,6IAA6I,+BAA+B,kCAAkC,oKAAoK,yBAAyB,gBAAgB,cAAc,iBAAiB,8DAA8D,mCAAmC,mBAAmB,yFAAyF,8DAAC,+JAA+J,sBAAsB,QAAQ,yDAAC,qCAAqC,2BAA2B,eAAe,MAAM,OAAO,IAAI,QAAQ,eAAe,KAAK,yDAAC,wJAAwJ,0BAA0B,8CAA8C,kCAAkC,cAAc,MAAM,mCAAmC,UAAU,qBAAqB,EAAE,GAAG,EAAE,KAAK,EAAE,EAAoC;;;;;;;;;;;;;;;;;;;;;ACJl6E;AACA;AACA;AACA;AACiE,SAAS,oOAAoO,gBAAgB,2CAA2C,gBAAgB,0BAA0B,0BAA0B,gBAAgB,+CAA+C,gBAAgB,uEAAC,GAAG,uBAAuB,6DAA6D,iBAAiB,qCAAqC,qFAAqF,YAAY,YAAY,WAAW,wBAAwB,wBAAwB,8CAA8C,gCAAgC,YAAY,WAAW,KAAK,gCAAgC,6CAA6C,oEAAoE,uEAAC,UAAU,OAAO,mDAAmD,cAAc,MAAM,SAAS,IAAI,mCAAmC,GAAG,qBAAqB,EAAE,GAAG,EAAE,KAAK,EAAE,EAAmH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACJ/0C;AACA;AACA;AACA;AAC4sC,oBAAoB,yDAAC,CAAC,eAAe,gHAAgH,oBAAoB,MAAM,QAAQ,8DAA8D,iGAAC,8BAA8B,WAAW,0EAAC,EAAE,gBAAgB,EAAE,qBAAqB,2HAA2H,oBAAoB,SAAS,gBAAgB,iFAAiF,gBAAgB,iFAAiF,gBAAgB,mHAAmH,6BAA6B,GAAG,eAAe,oDAAoD,eAAe,2JAA2J,qEAAc,iGAAiG,UAAU,6EAA6E,wBAAwB,qBAAqB,8BAA8B,mBAAmB,uBAAuB,wDAAwD,gHAAgH,SAAS,0EAA0E,SAAS,wGAAwG,sBAAsB,4DAA4D,6DAAC,iCAAiC,sKAAsK,EAAE,wDAAC,EAAE,sBAAsB,0HAA0H,qBAAqB,gBAAgB,uBAAuB,oGAAoG,sBAAsB,yCAAyC,8BAA8B,eAAe,iFAAC,iBAAiB,UAAU,iCAAiC,yGAAyG,MAAM,2BAA2B,CAAC,iEAAC,MAAM,8EAAC,4CAA4C,OAAO,qFAAC,qBAAqB,qDAAqD,kFAAC,eAAe,wCAAwC,+BAA+B,GAAG,iFAAC,wBAAwB,QAAQ,iEAAC,MAAM,GAAG,4CAA4C,2DAAC,SAAS,+BAA+B,YAAY,QAAQ,8EAAC,iCAAiC,kBAAkB,yBAAyB,2DAAC,kBAAkB,2DAAC,YAAY,OAAO,qFAAC,qBAAqB,YAAY,4BAA4B,mBAAmB,YAAY,EAAE,UAAU,mGAAC,+BAA+B,oDAAC,8BAA8B,uDAAC,EAAE,sFAAC,EAAE,gCAAgC,+BAA+B,uDAAC,EAAE,sFAAC,sCAAsC,uDAAC,EAAE,sFAAC,EAAE,gCAAgC,8BAA8B,uDAAC,EAAE,sFAAC,EAAE,WAAW,qCAAqC,uDAAC,EAAE,sFAAC,EAAE,iBAAiB,+BAA+B,uDAAC,EAAE,sFAAC,sCAAsC,uDAAC,EAAE,sFAAC,qCAAqC,uDAAC,EAAE,sFAAC,oCAAoC,uDAAC,EAAE,sFAAC,EAAE,SAAS,gCAAgC,uDAAC,EAAE,sFAAC,mCAAmC,uDAAC,EAAE,sFAAC,iCAAiC,uDAAC,EAAE,sFAAC,EAAE,SAAS,gCAAgC,uDAAC,EAAE,sFAAC,mCAAmC,uDAAC,EAAE,sFAAC,kDAAkD,QAAQ,oFAAC,KAAK,4EAAC,GAAmC;;;;;;;;;;;;;;;;;;;;;;;;;;ACJ5oK;AACA;AACA;AACA;AACmf,oBAAoB,yDAAC,CAAC,eAAe,+BAA+B,4EAAC,sNAAsN,gEAAS,MAAM,6DAAM,sCAAsC,qEAAC,GAAG,aAAa,oDAAoD,eAAe,uEAAuE,eAAe,4BAA4B,6DAAM,EAAE,gBAAgB,qBAAqB,6DAAM,IAAI,eAAe,SAAS,aAAa,YAAY,6BAA6B,gEAAgE,UAAU,mDAAmD,QAAQ,oBAAoB,WAAW,uDAAuD,aAAa,oBAAoB,oBAAoB,qBAAqB,yBAAyB,0BAA0B,qBAAqB,8HAA8H,6DAAM,6FAA6F,mBAAmB,sCAAsC,UAAU,qDAAqD,aAAa,SAAS,6BAA6B,cAAc,IAAI,wCAAwC,mCAAmC,GAAG,kDAAkD,cAAc,8CAA8C,iCAAiC,cAAc,gBAAgB,UAAU,UAAU,oBAAoB,iBAAiB,sBAAsB,yBAAyB,4BAA4B,6DAAM,wBAAwB,gEAAS,EAAE,qBAAqB,mFAAmF,eAAe,iDAAiD,wEAAwE,QAAQ,kDAAkD,QAAQ,kDAAkD,+BAA+B,qEAAqE,uDAAC,EAAE,sFAAC,EAAE,iBAAiB,8BAA8B,uDAAC,EAAE,sFAAC,EAAE,YAAY,8BAA8B,uDAAC,EAAE,sFAAC,EAAE,SAAS,+BAA+B,uDAAC,EAAE,sFAAC,EAAE,SAAS,gCAAgC,uDAAC,EAAE,sFAAC,EAAE,YAAY,sCAAsC,uDAAC,EAAE,sFAAC,EAAE,YAAY,gCAAgC,uDAAC,EAAE,sFAAC,+BAA+B,uDAAC,EAAE,sFAAC,EAAE,YAAY,uDAAuD,uDAAC,EAAE,sFAAC,+CAA+C,uDAAC,EAAE,sFAAC,iDAAiD,uDAAC,EAAE,sFAAC,iDAAiD,uDAAC,EAAE,sFAAC,kDAAkD,uDAAC,EAAE,sFAAC,EAAE,YAAY,iCAAiC,uDAAC,EAAE,sFAAC,EAAE,YAAY,oDAAoD,uDAAC,EAAE,sFAAC,mDAAoF;;;;;;;;;;;;;;;;;;ACJ3kH;AACA;AACA;AACA;AACwC,MAAM,aAAa,mHAAmH,SAAS,GAAG,QAAQ,cAAc,+CAA+C,2DAAC,yBAAyB,iBAAiB,mBAAmB,sBAAsB,uBAAuB,aAAa,iCAAiC,4BAA4B,oBAAoB,gCAAgC,kBAAkB,SAAS,iDAAiD,gFAAgF,UAAU,YAAY,4BAA4B,iDAAiD,0CAA0C,2BAA2B,OAAO,YAAY,gCAAgC,2BAA2B,kCAAkC,SAAS,gCAAgC,qCAAqC,qBAAqB,SAAS,gCAAgC,2BAA2B,qBAAqB,UAAU,4CAA4C,cAAc,0EAA0E,QAAQ,oCAAoC,KAAK,GAAG,WAAW,6CAA6C,QAAQ,wCAAwC,UAAU,WAAW,kDAAkD,eAAe,8BAA8B,qCAAqC,yBAAyB,IAAI,6BAA6B,oCAAoC,wBAAwB,KAAK,gCAAgC,wFAAwF,sBAAsB,+FAA+F,sBAAsB,sBAAsB,sBAAsB,iHAAiH,6BAA6B,0JAAiO;;;;;;;;;;;;;;;;;;;;;ACJpzE;AACA;AACA;AACA;AACgT,QAAQ,cAAc,qOAAqO,aAAa,oBAAoB,yBAAyB,0EAA0E,sBAAsB,gCAAgC,eAAe,6EAA6E,sCAAsC,EAAE,MAAM,yNAAyN,MAAM,oBAAoB,eAAe,QAAQ,mFAAC,uCAAuC,iBAAiB,+BAA+B,6QAA6Q,uDAAuD,gKAAgK,uDAAuD,OAAO,MAAM,yFAAyF,MAAM,oBAAoB,eAAe,8EAA8E,0BAA0B,QAAQ,mFAAC,IAAI,IAAI,yDAAC,yBAAyB,yDAAC,sBAAsB,6DAA6D,iBAAiB,yHAAyH,sCAAsC,wBAAwB,+DAA+D,6CAA6C,6BAA6B,GAAG,MAAM,iDAAiD,mCAAmC,4EAA4E,IAAI,MAAM,uBAAuB,QAAQ,mFAAC,uCAAuC,4BAA4B,2EAA2E,SAAS,0BAA0B,cAAc,IAAI,iCAAiC,0EAA0E,iBAAiB,MAAM,qBAAqB,GAAG,wBAAwB,2IAA2I,0BAA0B,iCAAiC,qFAAqF,SAAS,MAAM,aAAa,QAAQ,mFAAC,wDAAwD,iCAAiC,0BAA0B,sBAAsB,mEAAmE,MAAM,MAAM,oBAAoB,QAAQ,mFAAC,oEAAoE,iCAAiC,0BAA0B,8BAA8B,qFAAqF,SAAS,MAAM,8BAA8B,QAAQ,mFAAC,oEAAoE,iCAAiC,0BAA0B,wCAAwC,qFAAqF,kCAAkC,OAAO,mCAAmC,yCAAyC,4CAA4C,mDAAmD,mFAAC,IAAI,uCAAuC,cAAc,MAAM,2CAA2C,kDAAkD,uBAAuB,gEAAgE,kEAAkE,mDAAmD,mFAAC,IAAI,gGAAgG,kBAAkB,4DAA4D,gBAAgB,+LAA+L,kCAAkC,0BAA0B,qCAAqC,OAAO,IAAI,SAAS,wCAAwC,OAAO,IAAI,SAAS,UAAU,oEAAoE,6CAA6C,4DAAC,MAAM,OAAO,WAAW,qDAAqD,GAAG,iBAAiB,8BAA8B,SAAS,uCAAuC,qCAAqC,mCAAmC,MAAM,yFAAyF,4CAA4C,GAAG,wCAAwC,qBAAqB,MAAM,iFAAiF,gBAAgB,GAAG,2CAA2C,qBAAqB,MAAM,4DAA4D,2DAA2D,uCAAuC,wCAAwC,mDAAmD,uEAAC,6BAA6B,GAAG,sBAAsB,eAAe,gOAAgO,mFAAC,kCAAkC,uDAAuD,eAAe,sDAAsD,sOAAsO,4BAA4B,4GAA4G,kCAAkC,qCAAqC,cAAc,MAAM,2DAA2D,IAAI,cAAc,UAAU,cAAc,yCAAyC,gDAAgD,4BAA4B,YAAY,kBAAkB,WAAW,cAAc,0BAA0B,qFAAC,aAAa,sCAAsC,oBAAoB,qBAAqB,KAAK,KAAK,cAAc,kBAAkB,cAAc,4CAA4C,cAAc,0BAA0B,gBAAgB,uBAAoE;;;;;;;;;;;;;;;;;;;;;;;;;;ACJjqP;AACA;AACA;AACA;AACokB,MAAM,aAAa,0BAA0B,SAAS,GAAG,QAAQ,eAAe,wBAAwB,eAAe,iBAAiB,mFAAC,IAAI,iBAAiB,iBAAiB,uFAAC,WAAW,iBAAiB,iBAAiB,uFAAC,aAAa,iBAAiB,kBAAkB,gBAAgB,gBAAgB,sBAAsB,0DAAC,EAAE,0FAA0F,qBAAqB,0DAAC,EAAE,0FAA0F,6BAA6B,iBAAiB,iGAAiG,wGAAwG,cAAc,OAAO,yEAAC,UAAU,gBAAgB,gBAAgB,cAAc,OAAO,6EAAC,MAAM,iBAAiB,SAAS,OAAO,SAAS,iBAAiB,SAAS,OAAO,SAAS,SAAS,iBAAiB,sFAAC,KAAK,UAAU,OAAO,yEAAC,MAAM,WAAW,iBAAiB,uFAAC,aAAa,UAAU,mFAAC,IAAI,OAAO,mDAAC,gBAAgB,eAAe,mFAAC,IAAI,OAAO,mDAAC,cAAc,YAAY,OAAO,2EAAC,MAAM,QAAQ,UAAU,QAAQ,iBAAiB,0CAA0C,eAAe,iBAAiB,mFAAC,IAAI,iBAAiB,iBAAiB,uFAAC,yCAAyC,iBAAiB,iBAAiB,uFAAC,qBAAqB,iBAAiB,uBAAuB,gBAAgB,yDAAyD,sBAAsB,0DAAC,EAAE,gJAAgJ,qBAAqB,0DAAC,EAAE,gJAAgJ,6BAA6B,aAAa,KAAK,kGAAkG,sDAAsD,0HAA0H,cAAc,OAAO,mDAAC,UAAU,kBAAkB,iDAAiD,cAAc,6BAA6B,mDAAC,MAAM,6EAAC,YAAY,iBAAiB,oCAAoC,OAAO,6BAA6B,iBAAiB,oCAAoC,OAAO,6BAA6B,SAAS,iBAAiB,sFAAC,KAAK,UAAU,OAAO,mDAAC,MAAM,mBAAmB,iBAAiB,uFAAC,uDAAuD,UAAU,mFAAC,IAAI,OAAO,mDAAC,2CAA2C,eAAe,mFAAC,IAAI,OAAO,mDAAC,2CAA2C,YAAY,OAAO,mDAAC,MAAM,QAAQ,UAAU,QAAQ,eAAe,wBAAwB,eAAe,iBAAiB,mFAAC,IAAI,iBAAiB,iBAAiB,uFAAC,mBAAmB,iBAAiB,iBAAiB,uFAAC,6BAA6B,iBAAiB,4BAA4B,gBAAgB,wBAAwB,sBAAsB,0DAAC,EAAE,sFAAsF,qBAAqB,0DAAC,EAAE,sFAAsF,6BAA6B,iBAAiB,iGAAiG,oGAAoG,cAAc,OAAO,mDAAC,UAAU,kBAAkB,wBAAwB,cAAc,OAAO,mDAAC,YAAY,QAAQ,YAAY,OAAO,SAAS,QAAQ,YAAY,OAAO,SAAS,SAAS,iBAAiB,sFAAC,KAAK,UAAU,OAAO,mDAAC,MAAM,mBAAmB,iBAAiB,uFAAC,iCAAiC,UAAU,mFAAC,IAAI,OAAO,mDAAC,mBAAmB,eAAe,mFAAC,IAAI,OAAO,mDAAC,mBAAmB,YAAY,OAAO,mDAAC,MAAM,QAAQ,UAAU,cAAc,SAAS,cAAc,SAAS,kBAAkB,4DAAwK;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACJvvJ;AACA;AACA;AACA;AAC6nB,gBAAgB,kBAAkB,WAAW,wDAAwD,gBAAgB,kBAAkB,SAAS,6DAA6D,0IAA0I,gBAAgB,kCAAkC,gBAAgB,0FAA0F,qBAAqB,gBAAgB,YAAY,wCAAwC,iCAAiC,sCAAsC,YAAY,EAAE,cAAc,WAAW,WAAW,gFAAgF,8FAA8F,+BAA+B,oDAAoD,gBAAgB,2DAA2D,gEAAC,MAAM,gBAAgB,qBAAqB,kBAAkB,0BAA0B,8FAAC,IAAI,oDAAoD,GAAG,oBAAoB,eAAe,uBAAuB,2BAA2B,WAAW,wGAAc,wBAAwB,QAAQ,gEAAC,MAAM,oBAAoB,GAAG,GAAG,wGAAC,KAAK,sBAAsB,kBAAkB,6BAA6B,wGAAc,kBAAkB,mBAAmB,QAAQ,gEAAC,iFAAiF,cAAc,GAAG,YAAY,kBAAkB,gBAAgB,OAAO,iBAAiB,2BAA2B,wBAAwB,mEAAmE,uBAAuB,WAAW,+DAA+D,gEAAC,WAAW,iBAAiB,WAAW,2EAA2E,kCAAkC,gBAAgB,yBAAyB,OAAO,cAAc,gCAAgC,uDAAC,EAAE,WAAW,oFAAoF,6BAA6B,oDAAoD,gBAAgB,gBAAgB,yBAAyB,oDAAC,QAAQ,8BAA8B,OAAO,MAAM,cAAc,yCAAyC,0BAA0B,cAAc,8CAA8C,mCAAmC,aAAa,gBAAgB,WAAW,mEAAmE,mDAAmD,+CAA+C,gGAAgG,aAAa,YAAY,WAAW,0DAA0D,0CAA0C,wCAAwC,qCAAqC,gBAAgB,mBAAmB,WAAW,uKAAuK,QAAQ,yDAAC,8BAA8B,yDAAC,+BAA+B,uEAAC,MAAM,wCAAwC,eAAe,QAAQ,cAAc,eAAe,gBAAgB,kCAAkC,aAAa,sBAAsB,KAAK,qBAAqB,6BAA6B,WAAW,WAAW,8CAA8C,UAAU,gBAAgB,oFAAC,UAAU,6BAA6B,UAAU,EAAE,cAAc,oFAAC,SAAS,0BAA0B,wBAAwB,MAAM,OAAO,qBAAqB,kBAAkB,yFAAyF,gFAAC,IAAI,2BAA2B,oFAAC,UAAU,gBAAgB,6BAA6B,WAAW,WAAW,0CAA0C,4CAA4C,wBAAwB,MAAM,OAAO,qBAA6a;;;;;;;;;;;;;;;;;;;;;;;;;;;ACJtqK;AACA;AACA;AACA;AACyY,QAAQ,eAAe,2FAA2F,UAAU,iBAAiB,WAAW,yDAAyD,QAAQ,mBAAmB,yGAAyG,QAAQ,iBAAiB,4FAA4F,6BAA6B,yBAAyB,sEAAC,eAAe,iFAAC,4CAA4C,uBAAuB,mCAAmC,yBAAyB,mBAAmB,GAAG,2DAA2D,sBAAsB,0HAA0H,iBAAiB,2BAA2B,gBAAgB,4BAA4B,WAAW,gEAAgE,kBAAkB,yBAAyB,qDAAqD,mBAAmB,mCAAmC,yBAAyB,QAAQ,GAAG,8DAA8D,uBAAuB,gBAAgB,wDAAC,CAAC,iBAAiB,kGAAkG,eAAe,gBAAgB,kBAAkB,2CAA2C,MAAM,iDAAiD,MAAM,+CAA+C,MAAM,iBAAiB,QAAQ,oEAAC,YAAY,eAAe,sBAAsB,uBAAuB,8CAA8C,kBAAkB,0CAA0C,mBAAmB,iEAAiE,iBAAiB,qCAAqC,WAAW,uJAAuJ,cAAc,iDAAiD,gCAAgC,gCAAgC,WAAW,6CAA6C,UAAU,GAAG,4DAA4D,gBAAgB,UAAU,WAAW,6DAAC,EAAE,mHAAmH,EAAE,aAAa,iDAAiD,gCAAgC,gCAAgC,2BAA2B,QAAQ,UAAU,GAAG,kEAAkE,gBAAgB,yCAAyC,WAAW,4DAAC,EAAE,mHAAmH,EAAE,yBAAyB,6BAA6B,4EAAC,oCAAoC,eAAe,uBAAuB,MAAM,wBAAwB,MAAM,qBAAqB,MAAM,qDAAqD,UAAU,kBAAkB,0DAA0D,YAAY,WAAW,KAAK,0BAA0B,UAAU,oBAAoB,2DAAC,6CAA6C,YAAY,IAAI,KAAK,yCAAyC,qCAAqC,4BAA4B,YAAY,IAAI,KAAK,uDAAuD,gBAAgB,MAAM,+DAA+D,gBAAgB,sBAAsB,kBAAkB,0DAA0D,YAAY,WAAW,KAAK,0BAA0B,UAAU,iBAAiB,YAAY,IAAI,KAAK,yCAAyC,qCAAqC,4BAA4B,YAAY,IAAI,KAAK,uDAAuD,gBAAgB,sBAAsB,kBAAkB,6DAA6D,UAAU,iBAAiB,2EAA2E,cAAc,sBAA6G;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACJjxJ;AACA;AACA;AACA;AACurC,gBAAgB,wDAAC,CAAC,iBAAiB,uHAAuH,yCAAyC,iEAAiE,gDAAgD,sEAAsE,gDAAgD,sEAAsE,EAAE,GAAG,UAAU,wBAAwB,eAAe,uBAAuB,+DAAC,iBAAiB,qBAAqB,iFAAkB,EAAE,uBAAuB,yEAAC,mBAAmB,aAAa,iFAAkB,EAAE,OAAO,oEAAC,4BAA4B,8DAAC,sEAAsE,uBAAuB,iFAAkB,EAAE,OAAO,oEAAC,4BAA4B,8DAAC,+CAA+C,kEAAC,sCAAsC,gBAAgB,iFAAkB,GAAG,sFAAY,EAAE,6DAA6D,0BAA0B,iFAAkB,GAAG,sFAAY,EAAE,iCAAiC,oEAAC,eAAe,aAAa,iFAAkB,GAAG,sFAAY,EAAE,0DAA0D,uBAAuB,iFAAkB,GAAG,sFAAY,EAAE,iCAAiC,sEAAC,WAAW,kBAAkB,uBAAuB,yEAAC,2CAA2C,gBAAgB,4DAA4D,qEAAC,uCAAuC,uBAAuB,uBAAuB,gFAAC,iBAAiB,mBAAmB,iFAAkB,EAAE,4DAA4D,8EAAC,sCAAsC,mBAAmB,iFAAkB,EAAE,MAAM,OAAO,OAAO,mBAAmB,GAAG,2GAA2G,uFAAC,gBAAgB,oEAAC,WAAW,mBAAmB,uEAAc,mDAAmD,oCAAoC,uBAAuB,iFAAkB,EAAE,uBAAuB,wFAAC,iBAAiB,mBAAmB,GAAG,oEAAC,gDAAgD,mCAAmC,OAAO,gEAAC,+BAA+B,kBAAkB,wDAAwD,0EAAC,oBAAoB,mBAAmB,qDAAqD,kBAAkB,YAAY,gEAAC,CAAC,sBAAsB,gEAAC,kBAAkB,OAAO,6BAA6B,8BAA8B,0CAA0C,YAAY,OAAO,6BAA6B,8BAA8B,2CAA2C,YAAY,cAAc,gCAAgC,cAAc,gCAAgC,oBAAoB,+EAA+E,6BAA6B,uBAAuB,qBAAqB,wBAAwB,uBAAuB,kBAAkB,WAAW,iFAAkB,EAAE,WAAW,yEAAU,uHAAuH,wBAAwB,IAAI,oEAAC,mBAAmB,gEAAC,GAAG,4BAA4B,cAAc,GAAG,aAAa,QAAQ,kFAAC,WAAW,OAAO,gEAAC,OAAO,uBAAuB,GAAG,6CAA6C,OAAO,gEAAC,OAAO,iDAAiD,GAAG,yBAAyB,aAAa,uEAAc,UAA8C;;;;;;;;;;;;;;;;ACJt1J;AACA;AACA;AACA;AACA,MAAM,aAAa,sEAAsE,SAAS,GAAqC;;;;;;;;;;;;;;;;;ACJvI;AACA;AACA;AACA;AACsD,QAAQ,mBAAmB,mIAAmI,QAAQ,aAAa,0DAA0D,oDAAC,mBAAmB,wCAAwC,sHAAsH,KAAK,WAAW,oRAAoR,kDAAC,6KAA6K,kDAAC,sKAAsK,kCAAkC,8CAA8C,EAAE,OAAO,0vBAA0vB,qDAAqD,GAAG,aAAa,UAAoC;;;;;;;;;;;;;;;;;;ACJ1gE;AACA;AACA;AACA;AACkG,QAAQ,iBAAiB,8DAA8D,QAAQ,aAAa,4BAA4B,UAAU,2EAA2E,0FAA0F,sBAAsB,kDAAC,sBAAsB,kMAAkM,YAAY,EAAE,OAAO,0BAA0B,2DAAC,oKAAoK,iBAAiB,GAAG,aAAa,UAAsC;;;;;;;;;;;;;;;;ACJn6B;AACA;AACA;AACA;AACA,QAAQ,qBAAqB,sEAAsE,QAAQ,uCAAuC,0DAA0D,OAAO,+CAA+C,cAAc,oCAAoC,wIAAwI,gBAAgB,oCAAoC,gBAAgB,0DAA0D,aAAa,4CAA4C,kEAAkE,gCAAgC,GAAyB;;;;;;;;;;;;;;;;ACJ9uB;AACA;AACA;AACA;AACA,QAAQ,qBAAqB,6CAA6C,eAAe,mCAAmC,SAAS,sCAAsC,QAAQ,yCAAyC,iBAAiB,sBAAsB,gBAAgB,6BAA6B,oBAAoB,2CAAmE;;;;;;;;;;;;;;;;;;;;;;;;;ACJvY;AACA;AACA;AACA;AAC0yB,QAAQ,YAAY,mBAAmB,4BAA4B,sCAAsC,6BAA6B,uCAAuC,oBAAoB,2BAA2B,qCAAqC,0EAA0E,kEAAC,qBAAqB,kEAAC,0GAA0G,cAAc,0FAA0F,uBAAuB,0NAA0N,oBAAoB,mDAAC,CAAC,mFAAC,+QAA+Q,UAAU,0CAA0C,eAAe,kDAAkD,0BAA0B,QAAQ,mFAAC,GAAG,MAAM,mDAAC,QAAQ,kDAAkD,OAAO,0FAA0F,+BAA+B,mDAAC,kBAAkB,mDAAC,QAAQ,mDAAC,yCAAyC,mDAAC,UAAU,mDAAC,kBAAkB,kDAAkD,oCAAoC,iBAAiB,kEAAC,OAAO,0BAA0B,iCAAiC,QAAQ,mDAAC,UAAU,mDAAC,CAAC,mFAAC,iBAAiB,mDAAC,OAAO,mDAAmD,QAAQ,mDAAC,CAAC,mFAAC,cAAc,OAAO,mDAAC,MAAM,sBAAsB,QAAQ,mDAAC,CAAC,mFAAC,QAAQ,OAAO,mDAAC,MAAM,mBAAmB,6FAA6F,mDAAC,SAAS,mDAAC,MAAM,iFAAC,0DAA0D,2BAA2B,QAAQ,mDAAC,CAAC,mFAAC,oCAAoC,mDAAC,MAAM,QAAQ,mDAAC,CAAC,mFAAC,0BAA0B,wCAAwC,mDAAC,MAAM,iCAAiC,iFAAiF,0EAAC,iHAAiH,0EAAC,oFAAoF,6BAA6B,gHAAgH,sCAAsC,QAAQ,qEAAC,4BAA4B,mDAAC,CAAC,mFAAC,4CAA4C,mDAAC,CAAC,mFAAC,mEAAmE,mFAAC,gDAAgD,mFAAC,iCAAiC,mFAAC,iDAAiD,mFAAC,cAAc,gFAAC,EAAE,mBAAmB,sEAAM,CAAC,EAAE,mBAAmB,sEAAM,CAAC,EAAE,aAAa,QAAQ,6EAAC,CAAC,mFAAC,QAAQ,8EAAC,MAAM,QAAQ,6EAAC,CAAC,mFAAC,UAAU,wEAAC,QAAQ,mDAAC,CAAC,mFAAC,KAAK,mDAAC,CAAC,mFAAC,+BAA+B,0EAAC,MAAM,kCAAkC,yBAAyB,YAAY,qFAAC,WAAW,qFAAC,QAAQ,aAAa,4IAA4I,gEAAC,wDAAwD,0BAA0B,yEAAC,qBAAqB,mDAAC,CAAC,mFAAC,aAAa,mFAAC,GAAG,sMAAsM,6BAA6B,oBAAoB,yEAAC,sCAAsC,oBAAoB,2BAA2B,yBAAyB,OAAO,0EAAC,iCAAiC,sBAAsB,4DAA4D,wEAAC,eAAe,mFAAC,MAAM,0EAAC,kBAAkB,yDAAC,wCAAwC,OAAO,mDAAC,aAAa,eAAe,SAAS,8BAA8B,QAAQ,kBAAkB,iBAAiB,mTAAmT,mDAAC,CAAC,qEAAC,cAAc,qEAAC,YAAY,gBAAgB,8CAA8C,kBAAkB,oBAAoB,+BAA+B,+BAA+B,QAAQ,gFAAgF,OAAO,gEAAC,uBAAuB,gEAAC,wMAAwM,mDAAC,CAAC,mFAAC,0BAA0B,sBAAsB,2CAA2C,mDAAC,MAAM,gBAAgB,gDAAgD,EAAE,OAAO,MAAM,mDAAC,CAAC,mFAAC,kBAAkB,mDAAC,CAAC,mFAAC,qBAAqB,mDAAC,CAAC,mFAAC,8BAA8B,QAAQ,2DAAC,YAAY,QAAQ,aAAa,gCAAgC,SAAS,eAAe,wDAAwD,SAAS,GAAgD;;;;;;;;;;;;;;;;;ACJ/uM;AACA;AACA;AACA;AAC0C,QAAQ,qBAAqB,4FAA4F,QAAQ,aAAa,+BAA+B,gCAAgC,4BAA4B,8BAA8B,mBAAmB,aAAa,uCAAuC,oCAAoC,GAAG,kCAAkC,2CAA2C,EAAE,OAAO,mCAAmC,0BAA0B,qCAAqC,8CAA8C,EAAE,aAAa,SAAS,iBAAiB,oBAAoB,4DAA4D,SAAS,iCAAiC,4BAA4B,oTAAoT,kDAAC,0HAA0H,qBAAqB,+EAA+E,+MAA2O;;;;;;;;;;;;;;;;;;;ACJlkD;AACA;AACA;AACA;AACuL,QAAQ,kBAAkB,2EAAY,EAAE,oDAAoD,aAAa,2EAAC,4BAA4B,SAAS,2BAA2B,QAAQ,4BAA4B,iBAAiB,uBAAuB,2DAAC,uBAAuB,gBAAgB,8BAA8B,wEAAS,CAAC,6CAA6C,oBAAoB,8BAA8B,wEAAS,CAAC,yCAAmE;;;;;;;;;;;;;;;;;;;;ACJzqB;AACA;AACA;AACA;AACoR,QAAQ,sBAAsB,2EAAY,EAAE,6FAA6F,uFAAC,aAAa,cAAc,oFAAC,uCAAuC,oFAAC,uCAAuC,SAAS,yCAAyC,QAAQ,6CAA6C,iBAAiB,uBAAuB,2DAAC,wBAAwB,2DAAC,qBAAqB,gBAAgB,sBAAsB,wEAAS,iGAAiG,oBAAoB,8BAA8B,wEAAS,CAAC,iGAA0H;;;;;;;;;;;;;;;;ACJ7gC;AACA;AACA;AACA;AACA,QAAQ,iBAAiB,0CAA0C,QAAQ,qDAAqD,6BAA6B,4CAA4C,gFAAgF,kCAAkC,OAAO,qEAAqE,cAAc,uGAAuG,YAAY,6EAA6E,YAAY,WAAW,0BAA0B,6GAA6G,8BAA8B,GAAsC;;;;;;;;;;;;;;;;ACJvzB;AACA;AACA;AACA;AACA,QAAQ,mBAAmB,gDAAgD,QAAQ,qCAAqC,2EAA2E,OAAO,0EAA0E,gDAAgD,EAAE,cAAc,4FAA4F,UAAU,wIAAwI,2CAA2C,GAAkC;;;;;;;;;;;;;;;;;ACJ/oB;AACA;AACA;AACA;AACsD,QAAQ,mBAAmB,qGAAqG,QAAQ,aAAa,gEAAgE,iGAAiG,oDAAC,oPAAoP,kDAAC,yKAAyK,kDAAC,+JAA+J,+CAA+C,EAAE,OAAO,6EAA6E,+HAA+H,sVAAsV,sDAAsD,EAAE,aAAa,UAAiC;;;;;;;;;;;;;;;;;ACJ3mD;AACA;AACA;AACA;AACA,MAAM,iBAAiB,QAAQ,eAAe,uFAAuF,QAAQ,gBAAgB,QAAQ,0CAA0C,OAAO,oCAAoC,KAAK,+BAA+B,cAAc,yBAAyB,iFAAiF,oEAAoE,cAAc,cAAc,IAA4C;;;;;;;;;;;;;;;;;ACJliB;AACA;AACA;AACA;AACA,QAAQ,mBAAmB,uEAAuE,QAAQ,kKAAkK,qEAAqE,EAAE,OAAO,sFAAsF,gDAAgD,kBAAkB,iBAAiB,qEAAqE,YAAY,qBAAqB,mDAAmD,iDAAiD,cAAc,kRAAkR,iDAAiD,OAAO,MAAM,aAAa,wDAAwD,SAAS,GAAqD;;;;;;;;;;;;;;;;;;;ACJ9qC;AACA;AACA;AACA;AACgI,gBAAgB,uBAAuB,iBAAiB,oCAAoC,eAAe,eAAe,KAAK,gBAAgB,MAAM,KAAK,gBAAgB,MAAM,2CAA2C,GAAG,YAAY,sBAAsB,0BAA0B,GAAG,gBAAgB,QAAQ,mFAAC,IAAI,WAAW,+DAAQ,KAAK,2DAA2D,EAAE,gDAAqG;;;;;;;;;;;;;;;;;;;ACJpnB;AACA;AACA;AACA;AACmF,cAAc,8BAA8B,eAAe,iCAAiC,iEAAW,gKAAgK,UAAU,4BAA4B,eAAe,+CAA+C,IAAI,cAAc,6DAA6D,6DAAM,qBAAqB,gEAAS,EAAyE;;;;;;;;;;;;;;;;;;ACJ1nB;AACA;AACA;AACA;AACA,UAAU,aAAa,4CAA4C,SAAS,eAAe,qJAAqJ,SAAS,eAAe,uXAAuX,SAAS,GAAyF;;;;;;;;;;;;;;;;;;;;;;;;;ACJjuB;AACA;AACA;AACA;AACqS,qBAAqB,mIAAmI,IAAI,iBAAiB,IAAI,gEAAgE,IAAI,QAAQ,0CAA0C,WAAW,4CAA4C,WAAW,4CAA4C,YAAY,6CAA6C,UAAU,yBAAyB,YAAY,yBAAyB,iBAAiB,IAAI,sDAAC,wBAAwB,wCAAwC,mCAAmC,mBAAmB,mCAAmC,gBAAgB,QAAQ,cAAc,uBAAuB,SAAS,6BAA6B,0BAA0B,GAAG,eAAe,gCAAgC,sEAAC,gCAAgC,iBAAiB,gEAAC,MAAM,2DAAC,QAAQ,aAAa,8EAAQ,EAAE,OAAO,kEAAC,kHAAkH,cAAc,sCAAsC,sCAAsC,QAAQ,uBAAuB,sFAAsF,aAAa,+DAA+D,gEAAgE,gEAAgE,2BAA2B,iDAAiD,MAAM,iDAAiD,GAAG,uDAAkJ;;;;;;;;;;;;;;;;;;;;;;;ACJ/hE;AACA;AACA;AACA;AAC0V,oBAAoB,yDAAC,CAAC,eAAe,2BAA2B,uDAAC,EAAE,sFAAC,EAAE,4BAA4B,mCAAmC,uDAAC,EAAE,sFAAC,yDAAyD,UAA+B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACJ3jB;AACA;AACA;AACA;AACmrC,wBAAwB,mBAAmB,sGAAC,IAAI,QAAQ,mEAAC,GAAG,OAAO,8DAAC,oBAAoB,oGAAC,gCAAgC,mHAAmH,kBAAkB,2BAA2B,QAAQ,kFAAC,kBAAkB,kBAAkB,eAAe,kBAAkB,QAAQ,mEAAC,MAAM,WAAW,uEAAC,MAAM,oBAAoB,2BAA2B,eAAe,kBAAkB,QAAQ,0FAAC,eAAe,kBAAkB,QAAQ,mEAAC,KAAK,mEAAC,2BAA2B,OAAO,mGAAC,qCAAqC,wEAAC,aAAa,QAAQ,2BAA2B,0FAAC,CAAC,4FAAC,QAAQ,wBAAwB,KAAK,wFAAU,aAAa,KAAK,wFAAU,EAAE,YAAY,kBAAkB,cAAc,KAAK,iGAAmB,EAAE,YAAY,kBAAkB,OAAO,gEAAC,oBAAoB,gBAAgB,eAAe,mBAAmB,sEAAC,WAAW,kBAAkB,MAAM,oEAAoE,GAAG,gDAAgD,qBAAqB,QAAQ,0FAAC,MAAM,0FAAC,aAAa,WAAW,iEAAC,QAAQ,iBAAiB,gBAAgB,6CAA6C,EAAE,yBAAyB,MAAM,uCAAuC,KAAK,8DAAC,QAAQ,QAAQ,oGAAC,kCAAkC,uBAAuB,mEAAC,sBAAsB,0FAAC,mBAAmB,YAAY,+DAAC,gBAAgB,+CAA+C,4DAAC,kBAAkB,4BAA4B,aAAa,2BAA2B,0FAAC,CAAC,4FAAC,QAAQ,wBAAwB,KAAK,wFAAU,aAAa,KAAK,wFAAU,EAAE,YAAY,kBAAkB,cAAc,KAAK,iGAAmB,EAAE,YAAY,kBAAkB,OAAO,gEAAC,oBAAoB,cAAc,sDAAsD,kBAAkB,MAAM,qDAAqD,GAAG,yFAAyF,YAAY,8BAA8B,EAAE,sEAAsE,iBAAiB,WAAW,iEAAC,mEAAmE,cAAc,MAAM,2CAA2C,SAAS,iBAAiB,mEAAC,IAAI,MAAM,uDAAuD,GAAG,GAAG,8DAAC,UAAU,oGAAC,iDAAiD,mDAAC,UAAU,oBAAoB,MAAM,0DAA0D,GAAG,kBAAkB,mDAAC,MAAM,mDAAC,QAAQ,oGAAC,iBAAiB,sFAAC,YAAY,gBAAgB,6BAA6B,cAAc,uDAAuD,EAAE,sBAAsB,QAAQ,0FAAC,IAAI,kBAAkB,eAAe,mEAAC,uBAAuB,4FAAC,gBAAgB,eAAe,oEAAC,aAAa,QAAQ,mEAAC,KAAK,mEAAC,KAAK,mEAAC,KAAK,wFAAC,OAAO,4EAAO,EAAqM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACJhtI;AACA;AACA;AACA;AACs6D,SAAS,aAAa,kBAAkB,iBAAiB,2BAA2B,oBAAoB,eAAe,qBAAqB,UAAU,wBAAwB,mDAAC,qBAAqB,YAAY,OAAO,2DAAC,cAAc,oBAAoB,mBAAmB,+CAA+C,sBAAsB,UAAU,8DAA8D,mDAAC,sBAAsB,mDAAC,iBAAiB,aAAa,QAAQ,oEAAC,GAAG,OAAO,oFAAE,uBAAuB,oBAAoB,iBAAiB,UAAU,uEAAO,GAAG,oBAAoB,iBAAiB,UAAU,sEAAM,GAAG,oBAAoB,eAAe,2BAA2B,UAAU,wBAAwB,2DAAC,sDAAsD,aAAa,YAAY,iCAAiC,yBAAyB,mDAAC,MAAM,eAAe,OAAO,2DAAC,OAAO,iBAAiB,sEAAsE,oBAAoB,iBAAiB,oCAAoC,UAAU,2GAA2G,aAAa,QAAQ,oEAAC,GAAG,OAAO,4FAAE,iCAAiC,oBAAoB,iBAAiB,oCAAoC,UAAU,wBAAwB,mDAAC,+CAA+C,aAAa,QAAQ,oEAAC,GAAG,OAAO,4FAAE,oDAAoD,WAAW,cAAc,2DAAC,0BAA0B,gEAAC,UAAU,oBAAoB,4BAA4B,oEAAoE,UAAU,wBAAwB,mDAAC,wBAAwB,mDAAC,+CAA+C,aAAa,MAAM,kBAAkB,MAAM,yEAAC,yBAAyB,QAAQ,mDAAC,YAAY,mDAAC,IAAI,GAAG,qEAAC,aAAa,2DAAC,IAAI,yBAAyB,oEAAC,GAAG,mDAAC,UAAU,MAAM,aAAa,MAAM,OAAO,gFAAE,OAAO,mBAAmB,wBAAwB,2DAAC,IAAI,SAAS,WAAW,mEAAC,IAAI,OAAO,kFAAC,6BAA6B,SAAS,mFAAC,MAAM,mEAAC,GAAG,oBAAoB,eAAe,iBAAiB,UAAU,qCAAqC,aAAa,OAAO,gEAAC,mBAAmB,WAAW,mEAAC,IAAI,OAAO,mDAAC,gBAAgB,kFAAC,IAAI,+EAAC,KAAK,SAAS,mFAAC,GAAG,oBAAoB,mBAAmB,gDAAgD,MAAM,4DAAC,QAAQ,4DAAC,YAAY,UAAU,gEAAgE,mDAAC,sBAAsB,mDAAC,iBAAiB,aAAa,QAAQ,oEAAC,GAAG,OAAO,yFAAE,uBAAuB,gBAAgB,MAAM,cAAc,gBAAgB,iBAAiB,wEAAC,CAAC,6EAAC,SAAS,6EAAC,IAAI,4DAAC,+BAA+B,WAAW,mEAAC,IAAI,QAAQ,mDAAC,cAAc,eAAe,uEAAC,0BAA0B,gBAAgB,mEAAC,IAAI,MAAM,qBAAqB,gBAAgB,OAAO,iFAAQ,QAAQ,QAAQ,mDAAC,mBAAmB,mDAAC,mBAAmB,mDAAC,SAAS,OAAO,kFAAC,WAAW,SAAS,mFAAC,MAAM,mFAAC,MAAM,mFAAC,MAAM,mFAAC,GAAG,oBAAoB,iBAAiB,UAAU,sFAAa,GAAG,oBAAoB,iBAAiB,UAAU,iFAAQ,GAAG,oBAAoB,iBAAiB,oBAAoB,qDAAC,MAAM,UAAU,wBAAwB,qDAAC,uBAAuB,aAAa,QAAQ,oEAAC,GAAG,OAAO,qDAAC,oBAAoB,aAAa,OAAO,qDAAC,cAAc,aAAa,uBAAuB,oBAAoB,mBAAmB,4DAA4D,MAAM,4DAAC,QAAQ,4DAAC,SAAS,iFAAQ,EAAE,UAAU,wBAAwB,mDAAC,sBAAsB,mDAAC,qCAAqC,aAAa,kBAAkB,sBAAsB,kBAAkB,gCAAgC,qEAAC,+BAA+B,oBAAoB,mBAAmB,sCAAsC,UAAU,uEAAuE,mBAAmB,OAAO,4DAAC,oCAAoC,oBAAoB,uBAAuB,0GAA0G,UAAU,wBAAwB,gFAAC,+KAA+K,mBAAmB,OAAO,wEAAC,SAAS,gFAAC,uDAAuD,4DAAC,yBAAyB,8BAA8B,4DAA4D,wFAAC,oFAAoF,wGAAwG,oCAAoC,MAAM,UAAU,CAAC,yFAAC,2CAA2C,wFAAC,oEAAoE,sBAAsB,2FAAC,CAAC,uBAAuB,IAAI,qBAAqB,CAAC,yFAAC,WAAW,MAAM,uBAAuB,6EAAC,EAAE,gBAAgB,wFAAC,YAAY,aAAa,2FAAC,CAAC,iBAAiB,QAAQ,oEAAC,GAAG,OAAO,yFAAE,+CAA+C,iBAAiB,UAAU,WAAW,8BAA8B,uBAAuB,aAAa,aAAa,wBAAwB,wBAAwB,wBAAwB,UAAU,MAAM,QAAQ,GAAG,gBAAgB,mDAAC,qBAAqB,uBAAuB,OAAO,mDAAC,eAAe,UAAU,wBAAwB,mBAAmB,gFAAE,yBAAyB,wBAAwB,mBAAmB,+FAAE,0BAA0B,mBAAmB,kGAAE,gCAAgC,mBAAmB,wFAAE,gBAAgB,wBAAwB,wBAAwB,eAAe,+BAA+B,wBAAwB,wBAAwB,wBAAwB,wBAAwB,wBAAwB,wBAAwB,eAAe,sCAAsC,mBAAmB,qFAAE,2BAA2B,mBAAmB,uGAAE,iCAAiC,wBAAwB,wBAAwB,wBAAwB,eAAe,6CAA6C,mBAAmB,wFAAE,CAAC,4DAAC,oBAAoB,4DAAC,sBAAsB,qBAAqB,wBAAwB,qBAAqB,eAAe,oDAAoD,qBAAqB,iCAAiC,qBAAqB,eAAe,2DAA2D,wBAAwB,qBAAqB,eAAe,2DAA2D,sBAAsB,eAAe,QAAQ,mEAAC,GAAG,cAAc,MAAM,cAAc,GAAG,GAAG,+EAAC,OAAO,qEAAC,oBAAoB,QAAQ,oEAAC,GAAG,OAAO,0EAAC,wCAAwC,IAAI,aAAa,WAAW,EAAE,kBAAkB,EAAE,aAAa,UAAU,kGAAE,mBAAmB,qEAAC,YAAY,aAAa,WAAW,EAAE,SAAS,EAAE,UAAU,qDAAC,mBAAmB,eAAe,QAAQ,mFAAC,KAAK,mFAAC,KAAK,mFAAC,GAAG,gBAAgB,MAAM,2BAA2B,GAAG,uEAAC,QAAQ,QAAQ,sEAAC,QAAQ,mDAAC,UAAU,mDAAC,MAAM,mDAAC,qBAAqB,QAAQ,mDAAC,0BAA0B,qEAAC,MAAM,GAAG,qEAAC,CAAC,qEAAC,UAAU,cAAc,GAAG,qEAAC,gBAAgB,gFAAE,aAAa,2DAAC,YAAY,mDAAC,QAAQ,mDAAC,MAAM,oBAAoB,kFAAC,IAAI,mDAAC,cAAc,gFAAE,iBAAiB,QAAQ,kFAAC,IAAI,OAAO,mDAAC,eAAe,gFAAE,uBAAuB,YAAY,aAAa,kBAAkB,qEAAC,aAAa,yBAAyB,+DAAC,gCAAgC,mFAAC,GAAG,mDAAC,sBAAsB,mDAAC,gCAAgC,QAAQ,mFAAC,GAAG,OAAO,mDAAC,sBAAsB,mDAAC,qCAAqC,+EAAE,UAAU,IAAI,iBAAiB,OAAO,qEAAC,mBAAmB,aAAa,IAAI,EAAE,YAAY,EAAE,iCAAiC,gEAAC,UAAU,gEAAC,QAAQ,gBAAgB,iFAAQ,yBAAyB,iBAAiB,oBAAoB,cAAc,gEAAC,oBAAoB,iBAAiB,OAAO,qEAAC,2BAA2B,eAAe,QAAQ,mEAAC,GAAG,8CAA8C,IAAI,eAAe,kBAAkB,EAAE,2BAA2B,SAAS,qEAAC,aAAa,QAAQ,gEAAC,uCAAuC,OAAO,qEAAC,yBAAyB,eAAe,QAAQ,mEAAC,GAAG,UAAU,kBAAkB,IAAI,QAAQ,uGAAE,yBAAyB,mBAAmB,kBAAkB,oBAAoB,gBAAgB,gFAAE,iBAAiB,cAAc,aAAa,QAAQ,mEAAC,KAAK,mEAAC,GAAG,oDAAoD,aAAa,QAAQ,mEAAC,GAAG,UAAU,kBAAkB,IAAI,wBAAwB,2EAAC,oBAAoB,SAAS,qEAAC,aAAa,6BAA6B,GAAG,qEAAC,OAAO,QAAQ,oEAAC,GAAG,OAAO,yEAAC,kBAAkB,QAAQ,oEAAC,KAAK,kFAAC,CAAC,sEAAC,KAAK,OAAO,mDAAC,2CAA2C,IAAI,kBAAkB,iBAAiB,QAAQ,oFAAC,CAAC,4DAAC,WAAW,4DAAC,YAAY,GAAG,qEAAC,OAAO,qEAAC,6BAA6B,UAAU,wFAAE,CAAC,4DAAC,oBAAoB,4DAAC,kCAAkC,kBAAkB,kBAAkB,kBAAkB,iBAAiB,IAAI,+EAAC,2BAA2B,QAAQ,oFAAC,CAAC,4DAAC,WAAW,4DAAC,YAAY,GAAG,qEAAC,OAAO,qEAAC,6BAA6B,UAAU,wFAAE,CAAC,4DAAC,oBAAoB,4DAAC,kCAAkC,kBAAkB,kBAAkB,iBAAiB,MAAM,mBAAmB,eAAe,8BAA8B,4FAAE,aAAa,mCAAmC,+FAAE,gBAAgB,+BAA+B,uGAAE,uBAAuB,eAAe,gBAAgB,uFAAC,SAAS,sCAAsC,qFAAE,iBAAiB,mBAAmB,OAAO,uFAAC,SAAS,aAAa,eAAe,2BAA2B,QAAQ,gEAAC,UAAU,gEAAC,QAAQ,mBAAmB,IAAI,eAAe,6BAA6B,8DAAC,eAAe,iBAAiB,qCAAqC,eAAe,iEAAiE,uDAAC,GAAG,eAAe,uBAAuB,eAAe,uBAAuB,eAAe,uBAAuB,eAAe,uBAAuB,eAAe,uBAAuB,eAAe,uBAAuB,eAAe,uBAAuB,eAAe,uBAAuB,eAAe,uBAAuB,eAAe,uBAAuB,eAAe,uBAAuB,eAAe,uBAAuB,WAAqf;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACJpgZ;AACA;AACA;AACA;AACkX,MAAM,kBAAkB,gBAAgB,wBAAwB,OAAO,uFAAC,QAAQ,cAAc,SAAS,cAAc,SAAS,kBAAkB,SAAS,uFAAC,SAAS,cAAc,eAAe,uCAAuC,cAAc,0DAA0D,cAAc,4DAA4D,gBAAgB,mCAAmC,IAAI,sDAAsD,wBAAwB,yEAAyE,qFAAC,OAAO,uFAAC,QAAQ,kBAAkB,UAAU,uFAAC,wBAAwB,wFAAC,mBAAmB,gBAAgB,QAAQ,MAAM,MAAM,mCAAmC,GAAG,MAAM,6BAA6B,2CAA2C,KAAK,EAAE,+FAAC,OAAO,uFAAC,OAAO,aAAa,SAAS,uFAAC,cAAc,wFAAC,uCAAuC,0BAA0B,aAAa,2FAA2F,4FAAC,iCAAiC,uFAAC,QAAQ,aAAa,0CAA0C,SAAS,GAAG,QAAQ,wFAAC,aAAmQ;;;;;;;;;;;;;;;;;;;;;;;;ACJ3wD;AACA;AACA;AACA;AACqY,oBAAoB,yDAAC,CAAC,eAAe,uGAAuG,2DAAC,GAAG,uDAAC,EAAE,sFAAC,EAAE,iBAAiB,+BAA+B,uDAAC,EAAE,sFAAC,kCAAkC,uDAAC,EAAE,sFAAC,mCAAmC,uDAAC,EAAE,sFAAC,uCAAuC,uDAAC,EAAE,sFAAC,4CAA4C,uDAAC,EAAE,sFAAC,mEAAmE,UAA+B;;;;;;;;;;;;;;;;;;;;;ACJz1B;AACA;AACA;AACA;AAC6S,oBAAoB,6DAAC,CAAC,cAAc,sCAAsC,uDAAC,EAAE,sFAAC,EAAE,aAAa,mCAAmC,uDAAC,EAAE,sFAAC,0EAA0E,oBAAoB,6DAAC,CAAC,eAAe,wYAAwY,iDAAC,yCAAyC,iDAAC,gTAAgT,uDAAC,EAAE,sFAAC,EAAE,6CAA6C,UAAU,qCAAqC,uDAAC,EAAE,sFAAC,EAAE,6CAA6C,UAAU,6CAA6C,uDAAC,EAAE,sFAAC,EAAE,6CAA6C,UAAU,2CAA2C,uDAAC,EAAE,sFAAC,EAAE,6CAA6C,UAAU,mDAAmD,uDAAC,EAAE,sFAAC,EAAE,kCAAkC,qBAAqB,OAAO,UAAU,4CAA4C,uDAAC,EAAE,sFAAC,EAAE,kCAAkC,qBAAqB,OAAO,UAAU,kCAAkC,uDAAC,EAAE,sFAAC,EAAE,kCAAkC,eAAe,OAAO,UAAU,wCAAwC,uDAAC,EAAE,sFAAC,EAAE,kCAAkC,eAAe,OAAO,UAAU,2DAA2D,uDAAC,EAAE,sFAAC,EAAE,kCAAkC,eAAe,OAAO,UAAU,+CAA+C,uDAAC,EAAE,sFAAC,EAAE,kCAAkC,YAAY,OAAO,UAAU,qDAAqD,uDAAC,EAAE,sFAAC,EAAE,kCAAkC,aAAa,OAAO,UAAU,oDAAoD,uDAAC,EAAE,sFAAC,EAAE,kCAAkC,eAAe,OAAO,UAAU,8CAA8C,uDAAC,EAAE,sFAAC,EAAE,KAAK,iDAAC,gBAAgB,gCAAgC,uDAAC,EAAE,sFAAC,EAAE,KAAK,iDAAC,gBAAgB,2CAA2C,uDAAC,EAAE,sFAAC,EAAE,kCAAkC,aAAa,OAAO,UAAU,gDAAgD,uDAAC,EAAE,sFAAC,EAAE,kCAAkC,aAAa,OAAO,UAAU,6CAA6C,uDAAC,EAAE,sFAAC,EAAE,kCAAkC,YAAY,OAAO,UAAU,iDAAiD,uDAAC,EAAE,sFAAC,EAAE,kCAAkC,aAAa,OAAO,UAAU,+CAA+C,uDAAC,EAAE,sFAAC,EAAE,kCAAkC,aAAa,OAAO,UAAU,gDAAgD,uDAAC,EAAE,sFAAC,EAAE,kCAAkC,YAAY,OAAO,UAAU,gDAAgD,uDAAC,EAAE,sFAAC,EAAE,kCAAkC,aAAa,OAAO,UAAU,4CAA4C,uDAAC,EAAE,sFAAC,EAAE,kCAAkC,YAAY,OAAO,UAAU,mDAAmD,uDAAC,EAAE,sFAAC,EAAE,kCAAkC,YAAY,OAAO,UAAU,8DAA8D,uDAAC,EAAE,sFAAC,0DAA0D,cAAoC;;;;;;;;;;;;;;;;ACJt3H;AACA;AACA;AACA;AACA,QAAQ,eAAe,0aAA0a,uBAAuB,yDAAyD,uBAAuB,+CAA4E;;;;;;;;;;;;;;;;ACJpnB;AACA;AACA;AACA;AACA,MAAM,aAAa,6DAA6D,SAAS,GAA+B;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACJxH;AACA;AACA;AACA;AACA;AAAqE;AAAgF;AAAuD;AAAsF;AAA0E;AAAqF;AAAwD;AAAuD;;AAA6E,SAAS9uB,CAAT,CAAW;AAAC0kG,EAAAA,SAAS,EAAC9lG,CAAC,GAAC,MAAI,CAAC,CAAlB;AAAoB+lG,EAAAA,eAAe,EAAC7lG,CAApC;AAAsC8lG,EAAAA,eAAe,EAAC3lG,CAAtD;AAAwDqzF,EAAAA,eAAe,EAAC1yF,CAAxE;AAA0EilG,EAAAA,IAAI,EAACzlG,CAAC,GAAC,CAAC;AAAlF,CAAX,EAAgG;AAAC,QAAMF,CAAC,GAAC,IAAIV,gEAAJ,EAAR;AAAc,MAAG,QAAMM,CAAT,EAAW,OAAM;AAACgmG,IAAAA,YAAY,EAAC,CAACtlG,CAAD,EAAGN,CAAH,CAAd;AAAoB6lG,IAAAA,cAAc,EAACvlG;AAAnC,GAAN;AAA4C,MAAIQ,CAAJ;AAAA,MAAMgR,CAAC,GAAC,IAAR;AAAA,MAAatQ,CAAC,GAAC,IAAf;AAAA,MAAoB+kB,CAAC,GAAC,IAAtB;;AAA2B,QAAM7b,CAAC,GAAC,MAAI;AAACoH,IAAAA,CAAC,GAACjS,0DAAC,CAACiS,CAAD,CAAH,EAAOlS,CAAC,CAACkmG,YAAF,EAAP,EAAwBtkG,CAAC,EAAEw4F,SAAH,CAAax3F,MAAb,EAAxB,EAA8ChB,CAAC,GAAC,IAAhD,EAAqDV,CAAC,GAAC5B,2DAAC,CAAC4B,CAAD,CAAxD,EAA4DylB,CAAC,GAAC,IAA9D;AAAmE,GAAhF;AAAA,QAAiFnb,CAAC,GAACxK,CAAC,CAAChB,CAAD,EAAGM,CAAH,EAAKF,CAAL,CAApF;;AAA4F,MAAIiB,CAAC,GAAC,IAAN;AAAA,MAAWI,CAAC,GAAC,IAAb;AAAA,MAAkBkE,CAAC,GAAC,IAApB;AAAyB,SAAM;AAACqgG,IAAAA,YAAY,EAAC,CAAC/lG,CAAC,IAAE;AAAC,UAAG,CAACH,CAAC,CAACG,CAAD,CAAL,EAAS,OAAOA,CAAP;AAAS,YAAK;AAAC0kG,QAAAA,MAAM,EAACrlG;AAAR,UAAWW,CAAhB;;AAAkB,UAAG,YAAUX,CAAb,EAAe;AAAC,cAAK;AAAC2X,UAAAA,IAAI,EAAC3X;AAAN,YAASW,CAAd;AAAA,cAAgBT,CAAC,GAACgB,CAAC,CAACR,CAAC,CAAC8lF,IAAH,CAAnB;;AAA4B,YAAGlkF,CAAC,GAACL,CAAC,CAACpB,CAAD,EAAGF,CAAH,EAAKT,CAAL,CAAH,EAAWoC,CAAC,CAAC6B,OAAF,CAAU0iG,aAAV,GAAwB,IAAnC,EAAwC,CAAC7lG,CAAD,IAAI,QAAMhB,CAArD,EAAuD;AAAC,gBAAMW,CAAC,GAACyB,CAAC,CAACvB,CAAC,CAACimG,gBAAH,EAAoB9mG,CAAC,CAAC+mG,MAAF,CAASC,SAA7B,CAAT;AAAiD,kBAAMrmG,CAAN,KAAU2B,CAAC,CAAC6B,OAAF,CAAU0iG,aAAV,GAAwB;AAACn5F,YAAAA,KAAK,EAAC/M,CAAP;AAASwrC,YAAAA,aAAa,EAACtrC,CAAC,CAACsrC,aAAF,IAAiB7rC,uFAACA;AAAzC,WAAlC;AAA8E;AAAC;;AAAA,UAAG,QAAMgC,CAAT,EAAW;AAAC,cAAK;AAAC6B,UAAAA,OAAO,EAAC3D,CAAT;AAAWymG,UAAAA,gBAAgB,EAACpmG,CAA5B;AAA8BqmG,UAAAA,WAAW,EAAC5mG;AAA1C,YAA6CgC,CAAlD;AAAA,cAAoD;AAAC6kG,UAAAA,MAAM,EAAC/mG,CAAR;AAAUgnG,UAAAA,QAAQ,EAACtmG,CAAnB;AAAqBumG,UAAAA,WAAW,EAAC3lG;AAAjC,YAAoCf,CAAxF;AAAA,cAA0FO,CAAC,GAACsB,CAAC,CAAClC,CAAD,EAAGiC,CAAC,CAACnC,CAAD,EAAGU,CAAH,CAAJ,CAA7F;AAAA,cAAwGmB,CAAC,GAACM,CAAC,CAACzB,CAAD,EAAGR,CAAH,CAA3G;AAAA,cAAiH8B,CAAC,GAAC,EAAC,GAAGzB,CAAJ;AAAM0kG,UAAAA,MAAM,EAAC;AAAb,SAAnH;AAAA,cAA0IjkG,CAAC,GAACkB,CAAC,CAAC6B,OAA9I;AAAA,cAAsJqH,CAAC,GAACmB,CAAC,CAAC9L,CAAD,EAAGa,CAAH,CAAzJ;AAAA,cAA+JqH,CAAC,GAACrI,CAAC,CAAC26D,MAAF,CAAS;AAACisC,UAAAA,KAAK,EAACpmG,CAAP;AAASqmG,UAAAA,UAAU,EAAC/7F,CAApB;AAAsBrH,UAAAA,OAAO,EAAC3D;AAA9B,SAAT,CAAjK;;AAA4M,YAAG6F,CAAC,GAAC0C,CAAF,EAAIzH,CAAC,CAAClB,CAAD,EAAG2I,CAAH,EAAK9G,CAAL,EAAOjB,CAAP,CAAL,EAAee,CAAC,GAACb,CAAjB,EAAmBiB,CAAC,GAACqJ,CAArB,EAAuB,UAAQxL,CAAlC,EAAoC;AAAC,gBAAK;AAAC86F,YAAAA,SAAS,EAACn6F;AAAX,cAAc2B,CAAnB;AAAqB,kBAAMsQ,CAAN,KAAUA,CAAC,GAAC,IAAIyJ,eAAJ,EAAZ,GAAiCgL,CAAC,GAACrnB,CAAC,IAAE;AAACwB,YAAAA,CAAC,CAACgmG,UAAF,CAAatnG,wEAAC,CAACgM,CAAC,CAAC;AAAC4uF,cAAAA,SAAS,EAACn6F,CAAX;AAAawiG,cAAAA,KAAK,EAAC/gG,CAAnB;AAAqB+B,cAAAA,OAAO,EAAC/C,CAA7B;AAA+BkmG,cAAAA,KAAK,EAACpmG,CAArC;AAAuCqmG,cAAAA,UAAU,EAAC/7F,CAAlD;AAAoDi8F,cAAAA,KAAK,EAACxlG,CAA1D;AAA4DylG,cAAAA,YAAY,EAAC,OAAK;AAACJ,gBAAAA,KAAK,EAACvlG,CAAP;AAASwlG,gBAAAA,UAAU,EAACplG,CAApB;AAAsBwlG,gBAAAA,WAAW,EAAC3nG,CAAC,CAAC4nG,WAAF,GAAc,IAAd,GAAmBvhG;AAArD,eAAL;AAAzE,aAAD,EAAyIuM,CAAC,CAAClL,MAA3I,CAAF,CAAd;AAAqK,WAA5M,EAA6M2f,CAAC,CAAC;AAACugF,YAAAA,WAAW,EAAC,CAAC;AAAd,WAAD,CAA9M,EAAiO,QAAMhmG,CAAN,KAAUA,CAAC,GAAC3B,6DAAC,CAAE,MAAIS,CAAC,CAACmxB,OAAF,CAAUg2E,gBAAhB,EAAmC,MAAIxgF,CAAC,GAAG;AAACugF,YAAAA,WAAW,EAAC,CAAC;AAAd,WAAH,CAAxC,CAAb,CAAjO;AAA8S;AAAC;;AAAA,aAAM,UAAQ5nG,CAAR,IAAWwL,CAAC,EAAZ,EAAe7K,CAArB;AAAuB,KAAr2B,EAAs2BG,CAAt2B,CAAd;AAAu3B6lG,IAAAA,cAAc,EAAChmG,CAAC,KAAG6K,CAAC,IAAG7K,CAAP;AAAv4B,GAAN;AAAw5B;;AAAA,SAASe,CAAT,CAAWf,CAAX,EAAaX,CAAb,EAAeE,CAAf,EAAiB;AAAC,SAAOM,+DAAC;AAAA,iNAAE,WAAM;AAACs6F,MAAAA,SAAS,EAACt6F,CAAX;AAAa8mG,MAAAA,KAAK,EAACrnG,CAAnB;AAAqBsnG,MAAAA,UAAU,EAAC1mG,CAAhC;AAAkCsD,MAAAA,OAAO,EAAC7D,CAA1C;AAA4C6iG,MAAAA,KAAK,EAAC/iG,CAAlD;AAAoDqnG,MAAAA,KAAK,EAACjmG,CAA1D;AAA4DkmG,MAAAA,YAAY,EAAC1mG;AAAzE,KAAN,EAAkFF,CAAlF,EAAsF;AAAC,YAAMc,CAAC,SAAOpB,CAAC,CAAC+jB,QAAF,CAAY,MAAI5jB,CAAC,CAACmnG,IAAF,CAAO;AAACR,QAAAA,KAAK,EAACrnG,CAAP;AAASsnG,QAAAA,UAAU,EAAC1mG,CAApB;AAAsBsD,QAAAA,OAAO,EAAC7D,CAA9B;AAAgCoH,QAAAA,MAAM,EAAC5G;AAAvC,OAAP,CAAhB,EAAmEA,CAAnE,CAAd;;AAAoF,UAAGc,CAAC,CAACk7B,KAAL,EAAW;AAAC,YAAIj8B,CAAC,SAAOL,CAAC,CAAC+jB,QAAF,CAAY,MAAI3iB,CAAC,CAACiZ,KAAF,EAAhB,EAA2B/Z,CAA3B,CAAZ;AAA0C,cAAMY,CAAC,GAACV,CAAC,EAAT;AAAY,gBAAMU,CAAC,CAAC4lG,KAAR,IAAernG,CAAC,KAAGyB,CAAC,CAAC4lG,KAArB,KAA6BzmG,CAAC,GAACF,CAAC,CAAC06D,MAAF,CAAS;AAACisC,UAAAA,KAAK,EAAC5lG,CAAC,CAAC4lG,KAAT;AAAeC,UAAAA,UAAU,EAAC7lG,CAAC,CAAC6lG,UAA5B;AAAuCpjG,UAAAA,OAAO,EAAC7D;AAA/C,SAAT,CAA/B,GAA4F,QAAMoB,CAAC,CAACimG,WAAR,IAAqBjnG,4FAAC,CAACG,CAAD,EAAGa,CAAC,CAACimG,WAAL,CAAtB,KAA0CrmG,CAAC,CAAClB,CAAC,CAAC+mG,MAAH,EAAUtmG,CAAV,EAAYW,CAAZ,EAAcxB,CAAd,CAAD,EAAkBE,CAAC,CAACgvE,OAAF,CAAU9uE,CAAV,CAA5D,CAA5F;AAAsK;AAAC,KAAtZ;;AAAA;AAAA;AAAA;AAAA,MAAR;AAAia;;AAAA,SAASc,CAAT,CAAWP,CAAX,EAAa;AAAC,SAAM,SAAOA,CAAC,CAAC4C,IAAT,GAAc5C,CAAC,CAAConG,kBAAF,CAAqBlM,SAArB,CAA+BmM,YAA/B,CAA4ChnG,wEAA5C,CAAd,GAAsEF,gEAA5E;AAA8E;;AAAA,SAASmB,CAAT,CAAWtB,CAAX,EAAaX,CAAb,EAAeE,CAAf,EAAiB;AAAC,SAAM;AAACiE,IAAAA,OAAO,EAAC,IAAI3C,gEAAJ,CAAM;AAAC0mG,MAAAA,sBAAsB,EAACvnG,CAAC,CAACunG,sBAA1B;AAAiD/7D,MAAAA,aAAa,EAACxrC,CAAC,CAACwrC,aAAjE;AAA+Em5D,MAAAA,OAAO,EAAC3kG,CAAC,CAAC2kG,OAAzF;AAAiG6C,MAAAA,YAAY,EAAC,QAAMnoG,CAAC,CAAC2X,IAAR,GAAa3X,CAAC,CAAC2X,IAAF,CAAOovF,MAApB,GAA2B,IAAzI;AAA8IqB,MAAAA,cAAc,EAACznG,CAAC,CAACynG,cAA/J;AAA8K34D,MAAAA,OAAO,EAAC9uC,CAAC,CAAC8uC,OAAxL;AAAgM44D,MAAAA,UAAU,EAAC1nG,CAAC,CAAC0nG;AAA7M,KAAN,CAAT;AAAyOnB,IAAAA,WAAW,EAAC,QAAMlnG,CAAC,CAACsoG,UAAR,GAAmB3nG,CAAC,CAACmmG,gBAAF,CAAmByB,uBAAnB,CAA2CvoG,CAAC,CAACsoG,UAA7C,CAAnB,GAA4EtoG,CAAC,CAAConG,QAAnU;AAA4UH,IAAAA,gBAAgB,EAAC,QAAMjnG,CAAC,CAACqnG,WAAR,GAAoBrnG,CAAC,CAACqnG,WAAF,CAAcmB,UAAlC,GAA6C,IAA1Y;AAA+Y1N,IAAAA,SAAS,EAAC56F;AAAzZ,GAAN;AAAka;;AAAA,SAASsC,CAAT,CAAW7B,CAAX,EAAa,CAACX,CAAD,EAAGE,CAAH,EAAKM,CAAL,CAAb,EAAqB;AAAC,QAAMP,CAAC,GAACY,gFAAC,CAACF,CAAD,CAAT;AAAa,SAAOV,CAAC,CAACuC,CAAF,IAAKxC,CAAL,EAAOC,CAAC,CAACmB,CAAF,IAAKlB,CAAZ,EAAcD,CAAC,CAACk4B,IAAF,KAASl4B,CAAC,CAAConB,CAAF,IAAK7mB,CAAd,CAAd,EAA+BP,CAAtC;AAAwC;;AAAA,SAAS0M,CAAT,CAAWhM,CAAX,EAAaX,CAAb,EAAe;AAAC,SAAO,QAAMW,CAAN,IAAS,QAAMX,CAAf,GAAiB,IAAjB,GAAsBwC,CAAC,CAAC7B,CAAD,EAAG4B,CAAC,CAACvC,CAAC,CAACyoG,QAAH,EAAYzoG,CAAC,CAACwoG,UAAd,CAAJ,CAA9B;AAA6D;;AAAA,SAASjmG,CAAT,CAAW5B,CAAX,EAAaX,CAAb,EAAe;AAAC,QAAME,CAAC,GAACS,CAAC,CAACw3B,IAAF,IAAQn4B,CAAC,CAACm4B,IAAV,GAAex3B,CAAC,CAAC0mB,CAAF,GAAIrnB,CAAC,CAACqnB,CAArB,GAAuB,CAA/B;AAAiC,SAAM,CAAC1mB,CAAC,CAAC6B,CAAF,GAAIxC,CAAC,CAACwC,CAAP,EAAS7B,CAAC,CAACS,CAAF,GAAIpB,CAAC,CAACoB,CAAf,EAAiBlB,CAAjB,CAAN;AAA0B;;AAAA,SAASoB,CAAT,CAAWX,CAAX,EAAaX,CAAb,EAAe,CAACE,CAAD,EAAGM,CAAH,EAAKP,CAAL,CAAf,EAAuBS,CAAvB,EAAyB;AAACC,EAAAA,CAAC,CAAC6B,CAAF,GAAIxC,CAAC,CAACwC,CAAF,GAAItC,CAAR,EAAUS,CAAC,CAACS,CAAF,GAAIpB,CAAC,CAACoB,CAAF,GAAIZ,CAAlB,EAAoBE,CAAC,IAAEC,CAAC,CAACw3B,IAAL,IAAWn4B,CAAC,CAACm4B,IAAb,KAAoBx3B,CAAC,CAAC0mB,CAAF,GAAIrnB,CAAC,CAACqnB,CAAF,GAAIpnB,CAA5B,CAApB;AAAmD;;AAAA,SAASmC,CAAT,CAAWzB,CAAX,EAAaX,CAAb,EAAe;AAAC,MAAG,CAACW,CAAC,CAACw3B,IAAF,EAAJ,EAAa,OAAO,IAAP;AAAY,QAAMj4B,CAAC,GAACF,CAAC,CAAC0oG,QAAV;AAAmB,MAAIloG,CAAC,GAAC,IAAN;;AAAW,OAAI,MAAMP,CAAV,IAAeC,CAAf,EAAiB;AAAC,UAAMF,CAAC,GAACW,CAAC,CAACgoG,IAAF,CAAO1oG,CAAC,CAAC2oG,GAAT,CAAR;AAAsB,QAAG,QAAMpoG,CAAN,IAAS,QAAMR,CAAf,IAAkB8jB,IAAI,CAACkZ,GAAL,CAASh9B,CAAC,GAACQ,CAAX,IAAc,IAAnC,EAAwC,OAAO,IAAP;AAAY,YAAMA,CAAN,KAAUA,CAAC,GAACR,CAAZ;AAAe;;AAAA,SAAOQ,CAAP;AAAS;;AAAA,SAASY,CAAT,CAAWT,CAAX,EAAa;AAAC,SAAOA,CAAP;AAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACJhxG;AACA;AACA;AACA;AACA;AAAiD;AAAyC;AAAyD;AAAwC;AAA6B;AAA8E;AAAqF;AAAgF;AAAgC;AAAmC;AAAgF;AAAoF;AAAqF;AAAkH;AAAyC;AAAqD;AAAoC;AAAsF;AAA0F;AAA8E;AAA8F;AAA8E;AAA8F;AAA0H;AAA0G;AAA8D,IAAIwB,CAAC,GAAC,cAAczB,qEAAA,CAAeR,yDAAf,CAAd,CAAgC;AAACuC,EAAAA,WAAW,CAACzC,CAAD,EAAG;AAAC,UAAMA,CAAN,GAAS,KAAK6xB,OAAL,GAAa,IAAItvB,4DAAJ,EAAtB,EAA4B,KAAKunG,YAAL,GAAkB,IAAIn3F,GAAJ,EAA9C,EAAsD,KAAKo3F,SAAL,GAAe,IAArE,EAA0E,KAAKC,QAAL,GAAc,EAAxF,EAA2F,KAAKC,qBAAL,GAA2B,IAAtH,EAA2H,KAAKC,6BAAL,GAAmC,EAA9J,EAAiK,KAAKC,mBAAL,GAAyB3nG,CAAC,CAAC4nG,IAA5L;AAAiM;;AAAAvmG,EAAAA,UAAU,GAAE;AAAC,SAAKH,UAAL,CAAgB,CAACzD,6DAAC,CAAE,MAAI;AAAC,YAAK;AAACoqG,QAAAA,QAAQ,EAACrqG,CAAV;AAAYsqG,QAAAA,0BAA0B,EAACpqG,CAAvC;AAAyCqqG,QAAAA,oBAAoB,EAAC5pG,CAA9D;AAAgE6pG,QAAAA,uBAAuB,EAAC9pG,CAAxF;AAA0F+pG,QAAAA,oBAAoB,EAACrqG;AAA/G,UAAkH,KAAKyxB,OAA5H;AAAoI,aAAM;AAAC64E,QAAAA,WAAW,EAAC/pG,CAAb;AAAegqG,QAAAA,cAAc,EAACjqG,CAA9B;AAAgCkqG,QAAAA,WAAW,EAAC,SAAO,KAAKpkB,IAAL,CAAUjjF,IAAjB,IAAuBnD,CAAnE;AAAqEyqG,QAAAA,SAAS,EAAC,KAAKrkB,IAAL,CAAUxuE,KAAzF;AAA+F8yF,QAAAA,oBAAoB,EAAC,KAAKtkB,IAAL,CAAU5jF,gBAA9H;AAA+IynG,QAAAA,QAAQ,EAACrqG,CAAxJ;AAA0JsqG,QAAAA,0BAA0B,EAACpqG;AAArL,OAAN;AAA8L,KAAzU,EAA4U,CAACF,CAAD,EAAGE,CAAH,KAAO;AAACA,MAAAA,CAAC,KAAG,KAAK0mG,YAAL,IAAoB,KAAK1tD,IAAL,CAAU,SAAV,CAAvB,CAAD,EAA8C,KAAK6wD,SAAL,EAAgB5tF,KAAhB,EAA9C,EAAsE,KAAK4tF,SAAL,GAAeppG,+DAAC,CAAEA,CAAC,IAAE,KAAKoqG,cAAL,CAAoB/qG,CAApB,EAAsBE,CAAtB,EAAwBS,CAAxB,CAAL,CAAtF;AAAwH,KAA5c,EAA8cH,kEAA9c,CAAF,EAAmdP,6DAAC,CAAE,MAAI,KAAK4xB,OAAX,EAAqB7xB,CAAC,IAAE;AAAC,WAAI,MAAME,CAAV,IAAe,KAAK8pG,QAApB,EAA6B9pG,CAAC,CAAC2xB,OAAF,GAAU7xB,CAAV;AAAY,KAAlE,EAAoEc,wDAApE,CAApd,CAAhB;AAA6iB;;AAAAsD,EAAAA,OAAO,GAAE;AAAC,SAAK4mG,eAAL;AAAuB;;AAAY,MAARzyD,QAAQ,GAAE;AAAC,WAAO,KAAKyxD,QAAL,CAAcxyF,IAAd,CAAoBxX,CAAC,IAAEA,CAAC,CAACu4C,QAAzB,KAAqC,CAAC,KAAKwxD,SAAL,EAAgB9tF,QAA7D;AAAsE;;AAAA+uF,EAAAA,eAAe,GAAE;AAAC,SAAKlB,YAAL,CAAkBnlG,OAAlB,CAA2B3E,CAAC,IAAEA,CAAC,CAACoE,OAAF,EAA9B,GAA4C,KAAK0lG,YAAL,CAAkBlwF,KAAlB,EAA5C,EAAsE,KAAKowF,QAAL,GAAc,EAApF;AAAuF;;AAAMe,EAAAA,cAAc,CAAC/qG,CAAD,EAAGE,CAAH,EAAKS,CAAL,EAAO;AAAA;;AAAA;AAAC,UAAG,CAACX,CAAC,CAAC6qG,SAAN,EAAgB,OAAO,KAAK,KAAI,CAACG,eAAL,EAAZ;AAAmC9qG,MAAAA,CAAC,EAAE4qG,oBAAH,KAA0B9qG,CAAC,CAAC8qG,oBAA5B,IAAkD,KAAI,CAACE,eAAL,EAAlD;AAAyE,YAAK;AAAClB,QAAAA,YAAY,EAACppG;AAAd,UAAiB,KAAtB;AAAA,YAA2BN,CAAC,GAAC,EAA7B;AAAgCJ,MAAAA,CAAC,CAAC2qG,cAAF,IAAkB,CAACjqG,CAAC,CAAC2O,GAAF,CAAM,SAAN,CAAnB,IAAqCjP,CAAC,CAAC0E,IAAF,CAAO,KAAI,CAACmmG,2BAAL,CAAiCtqG,CAAjC,CAAP,CAArC,EAAiFX,CAAC,CAAC0qG,WAAF,IAAe,CAAChqG,CAAC,CAAC2O,GAAF,CAAM,MAAN,CAAhB,IAA+BjP,CAAC,CAAC0E,IAAF,CAAO,KAAI,CAAComG,wBAAL,CAA8BvqG,CAA9B,CAAP,CAAhH,EAAyJX,CAAC,CAAC4qG,WAAF,IAAe,CAAClqG,CAAC,CAAC2O,GAAF,CAAM,MAAN,CAAhB,IAA+B,SAAO,KAAI,CAACm3E,IAAL,CAAUjjF,IAAhD,IAAsDnD,CAAC,CAAC0E,IAAF,CAAO,KAAI,CAACqmG,wBAAL,CAA8BxqG,CAA9B,CAAP,CAA/M,QAA8P0E,OAAO,CAACuB,UAAR,CAAmBxG,CAAnB,CAA9P,EAAoRO,CAAC,CAAC0e,OAAF,KAAY,KAAI,CAAC2qF,QAAL,GAAczjG,KAAK,CAACiZ,IAAN,CAAW9e,CAAC,CAACw+C,MAAF,EAAX,CAA1B,CAApR;AAA7J;AAAme;;AAAMgsD,EAAAA,wBAAwB,CAAClrG,CAAD,EAAG;AAAA;;AAAA;AAAC,YAAK;AAACorG,QAAAA,kBAAkB,EAAClrG;AAApB,gBAA6B,2PAAlC;AAAoEE,MAAAA,qEAAC,CAACJ,CAAD,CAAD;AAAK,YAAMW,CAAC,GAAC,IAAIT,CAAJ,CAAM;AAACsmF,QAAAA,IAAI,EAAC,MAAI,CAACA,IAAX;AAAgB30D,QAAAA,OAAO,EAAC,MAAI,CAACA;AAA7B,OAAN,CAAR;;AAAqD,YAAI,CAACi4E,YAAL,CAAkBpkG,GAAlB,CAAsB,MAAtB,EAA6B/E,CAA7B;AAA/H;AAA+J;;AAAMwqG,EAAAA,wBAAwB,CAACnrG,CAAD,EAAG;AAAA;;AAAA;AAAC,YAAK;AAACwmF,QAAAA,IAAI,EAACtmF;AAAN,UAAS,MAAd;AAAA,YAAmB;AAACmrG,QAAAA,kBAAkB,EAAC1qG;AAApB,gBAA6B,2PAAhD;;AAAkF,UAAGP,qEAAC,CAACJ,CAAD,CAAD,EAAK,SAAOE,CAAC,CAACqD,IAAjB,EAAsB;AAAC,cAAMvD,CAAC,GAAC,IAAIW,CAAJ,CAAM;AAAC6lF,UAAAA,IAAI,EAACtmF,CAAN;AAAQ2xB,UAAAA,OAAO,EAAC,MAAI,CAACA;AAArB,SAAN,CAAR;;AAA6C,cAAI,CAACi4E,YAAL,CAAkBpkG,GAAlB,CAAsB,MAAtB,EAA6B1F,CAA7B;AAAgC;AAAvL;AAAwL;;AAAMirG,EAAAA,2BAA2B,CAACjrG,CAAD,EAAG;AAAA;;AAAA;AAAC,YAAK;AAACsrG,QAAAA,qBAAqB,EAACprG;AAAvB,gBAAgC,kNAArC;AAA0EE,MAAAA,qEAAC,CAACJ,CAAD,CAAD;AAAK,YAAK;AAACwmF,QAAAA,IAAI,EAAC7lF,CAAN;AAAQkxB,QAAAA,OAAO,EAACnxB,CAAhB;AAAkBopG,QAAAA,YAAY,EAACxpG;AAA/B,UAAkC,MAAvC;AAAA,YAA4CL,CAAC,GAAC,IAAIC,CAAJ,CAAM;AAACsmF,QAAAA,IAAI,EAAC7lF,CAAN;AAAQkxB,QAAAA,OAAO,EAACnxB,CAAhB;AAAkBkC,QAAAA,gBAAgB,EAACjC,CAAC,CAACiC;AAArC,OAAN,CAA9C;AAA4GtC,MAAAA,CAAC,CAACoF,GAAF,CAAM,SAAN,EAAgBzF,CAAhB;AAA5L;AAA+M;;AAAmC,MAA/BsrG,+BAA+B,GAAE;AAAC,WAAO,KAAK15E,OAAL,CAAaw4E,QAAb,GAAsB,KAAKx4E,OAAL,CAAaw4E,QAA1C;AAAmD;;AAAmC,MAA/BmB,+BAA+B,GAAE;AAAC,UAAK;AAACnB,MAAAA,QAAQ,EAACrqG,CAAV;AAAYsqG,MAAAA,0BAA0B,EAACpqG;AAAvC,QAA0C,KAAK2xB,OAApD;AAAA,UAA4DlxB,CAAC,GAACX,CAAC,GAACE,CAAhE;AAAkE,WAAOS,CAAC,GAACA,CAAT;AAAW;;AAAAmnG,EAAAA,IAAI,CAAC9nG,CAAD,EAAG;AAAC,WAAO8B,CAAC,CAAC9B,CAAD,CAAD,GAAK,KAAKyrG,eAAL,CAAqBzrG,CAArB,CAAL,GAA6B,KAAK0rG,gBAAL,CAAsB1rG,CAAtB,CAApC;AAA6D;;AAAAq7D,EAAAA,MAAM,CAACr7D,CAAD,EAAG;AAAC,UAAK;AAACsnG,MAAAA,KAAK,EAACpnG,CAAP;AAASiE,MAAAA,OAAO,EAACxD;AAAjB,QAAoBX,CAAzB;;AAA2B,SAAK2rG,oBAAL;;AAA4B,UAAMjrG,CAAC,GAAC,KAAKupG,qBAAb;AAAmC,QAAG,QAAMvpG,CAAT,EAAW,OAAOR,CAAP;;AAAS,UAAME,CAAC,GAAC,KAAKwrG,kBAAL,CAAwB5rG,CAAxB,CAAR;;AAAmC,QAAG,QAAMI,CAAT,EAAW,OAAOF,CAAP;AAAS,UAAK;AAAC0C,MAAAA,gBAAgB,EAACtC;AAAlB,QAAqBK,CAA1B;AAAA,UAA4BV,CAAC,GAACqB,iEAAC,CAAClB,CAAD,EAAGE,CAAH,CAA/B;AAAqC,QAAG,QAAML,CAAT,EAAW,OAAOC,CAAP;AAAS,UAAK;AAACsmF,MAAAA,IAAI,EAAChmF;AAAN,QAAS,IAAd;AAAA,UAAmB;AAAC2rC,MAAAA,aAAa,EAACrrC,CAAf;AAAiBunG,MAAAA,UAAU,EAACrnG;AAA5B,QAA+BL,CAAlD;AAAA,UAAoDe,CAAC,GAAC,EAAtD;AAAA,UAAyDb,CAAC,GAACe,sEAAC,CAAC3B,CAAD,EAAGO,CAAH,EAAKM,CAAL,CAA5D;AAAA,UAAoEU,CAAC,GAACd,CAAC,CAACmrG,UAAF,CAAaC,SAAb,CAAuBjrG,CAAvB,CAAtE;AAAgG,QAAG,CAAC,KAAKkrG,+BAAL,CAAqClrG,CAArC,EAAuCW,CAAvC,EAAyCb,CAAzC,CAAD,IAA8C,CAACyK,CAAC,CAAC1K,CAAD,EAAGC,CAAC,CAACqrG,eAAL,CAAnD,EAAyE,OAAO,KAAKC,mBAAL,IAA2B/rG,CAAlC;AAAoCQ,IAAAA,CAAC,CAACwrG,WAAF,GAAcjqG,yEAAC,CAACT,CAAD,CAAf,EAAmBE,CAAC,CAACoD,IAAF,CAAO,GAAGpE,CAAC,CAACyrG,KAAZ,CAAnB;;AAAsC,SAAI,MAAM7qG,CAAV,IAAe,KAAK4oG,6BAApB,EAAkD9+F,CAAC,CAAC9J,CAAD,EAAGX,CAAC,CAACqrG,eAAL,CAAD,KAAyB1qG,CAAC,CAAC4qG,WAAF,GAAcjqG,yEAAC,CAACT,CAAD,CAAf,EAAmBE,CAAC,CAACoD,IAAF,CAAO,GAAGxD,CAAC,CAAC6qG,KAAZ,CAA5C;;AAAgE,WAAO,QAAMnrG,CAAN,IAAS,KAAK0C,UAAL,CAAgB1C,CAAC,CAACorG,IAAF,CAAO1qG,CAAP,EAAS;AAACkB,MAAAA,gBAAgB,EAACtC,CAAlB;AAAoB6rC,MAAAA,aAAa,EAAC9lC,CAAC,CAAC1F,CAAD,CAAnC;AAAuC6lF,MAAAA,IAAI,EAAChmF,CAA5C;AAA8CqmG,MAAAA,aAAa,EAAClmG,CAAC,CAACkmG;AAA9D,KAAT,CAAhB,EAAuGhlG,CAAvG,CAAT,EAAmH9B,8FAAC,CAACyB,CAAD,EAAGhB,CAAH,EAAKN,CAAL,EAAOS,CAAP,CAA3H;AAAqI;;AAAAimG,EAAAA,YAAY,GAAE;AAAC,SAAK+E,oBAAL,IAA4B,KAAKM,mBAAL,EAA5B;AAAuD;;AAAAL,EAAAA,kBAAkB,CAAC;AAACtE,IAAAA,KAAK,EAACtnG,CAAP;AAASunG,IAAAA,UAAU,EAACrnG;AAApB,GAAD,EAAwB;AAAC,YAAO,KAAKiqG,mBAAZ;AAAiC,WAAK3nG,CAAC,CAAC4nG,IAAP;AAAY,eAAOpqG,CAAP;;AAAS,WAAKwC,CAAC,CAAC6pG,KAAP;AAAa,eAAOnsG,CAAP;AAAnE;AAA6E;;AAAA+rG,EAAAA,mBAAmB,GAAE;AAAC,SAAKhC,qBAAL,GAA2B,IAA3B,EAAgC,KAAKC,6BAAL,GAAmC,EAAnE,EAAsE,KAAKC,mBAAL,GAAyB3nG,CAAC,CAAC4nG,IAAjG;AAAsG;;AAAAuB,EAAAA,oBAAoB,GAAE;AAAC,SAAKnuF,aAAL,CAAmB3b,CAAnB;AAAsB;;AAAM6pG,EAAAA,gBAAgB,CAAC;AAACpE,IAAAA,KAAK,EAACtnG,CAAP;AAASmE,IAAAA,OAAO,EAACjE,CAAjB;AAAmBwH,IAAAA,MAAM,EAAC/G;AAA1B,GAAD,EAA8B;AAAA;;AAAA;AAAC,YAAK;AAAC6lF,QAAAA,IAAI,EAAC9lF;AAAN,UAAS,MAAd;AAAA,YAAmB;AAACyrC,QAAAA,aAAa,EAAC/rC;AAAf,UAAkBF,CAArC;AAAA,YAAuCI,CAAC,GAACsB,sEAAC,CAAC5B,CAAD,EAAGU,CAAH,EAAKN,CAAL,CAA1C;AAAA,YAAkDH,CAAC,SAAO,MAAI,CAACqsG,gBAAL,CAAsBhsG,CAAtB,EAAwBY,mEAAxB,EAA8BhB,CAA9B,EAAgCS,CAAhC,CAA1D;AAA6F,aAAO,MAAI,CAAC6rG,iBAAL,CAAuBlsG,CAAvB,EAAyBkC,CAAC,CAAC4nG,IAA3B,EAAgCnqG,CAAhC,EAAkCS,CAAlC,EAAoCV,CAApC,EAAsCE,CAAtC,EAAwCS,CAAxC,CAAP;AAA9F;AAAgJ;;AAAM8qG,EAAAA,eAAe,CAAC;AAACnE,IAAAA,KAAK,EAACtnG,CAAP;AAASunG,IAAAA,UAAU,EAACrnG,CAApB;AAAsBiE,IAAAA,OAAO,EAACxD,CAA9B;AAAgC+G,IAAAA,MAAM,EAAChH;AAAvC,GAAD,EAA2C;AAAA;;AAAA;AAAC,YAAK;AAAC8lF,QAAAA,IAAI,EAACpmF;AAAN,UAAS,MAAd;AAAA,YAAmB;AAAC0mG,QAAAA,gBAAgB,EAACxmG,CAAlB;AAAoB6rC,QAAAA,aAAa,EAAClsC,CAAlC;AAAoC2C,QAAAA,gBAAgB,EAACpC;AAArD,UAAwDG,CAA3E;AAA6E,YAAME,8EAAC,CAACX,CAAC,CAAC0C,gBAAH,EAAoBpC,CAApB,CAAP;AAA8B,YAAMM,CAAC,GAACQ,iEAAC,CAACpB,CAAD,EAAGM,CAAH,CAAT;AAAA,YAAeQ,CAAC,GAACY,sEAAC,CAACd,CAAD,EAAGV,CAAH,EAAKH,CAAL,CAAlB;AAAA,YAA0ByB,CAAC,SAAO,MAAI,CAAC4qG,gBAAL,CAAsBtrG,CAAtB,EAAwBE,uEAAxB,EAAkCP,CAAlC,EAAoCD,CAApC,CAAlC;;AAAyE,UAAGgB,CAAC,CAACmM,MAAF,GAAS,CAAZ,EAAc;AAAC,cAAM7N,CAAC,SAAO,MAAI,CAACssG,gBAAL,CAAsBtrG,CAAtB,EAAwBE,oEAAxB,EAA+BP,CAA/B,EAAiCD,CAAjC,CAAd;AAAkD,eAAO,MAAI,CAAC8rG,iBAAL,CAAuBxrG,CAAvB,EAAyBwB,CAAC,CAAC6pG,KAA3B,EAAiC,CAAC,GAAG3qG,CAAJ,EAAM,GAAG1B,CAAT,CAAjC,EAA6CI,CAA7C,EAA+CU,CAA/C,EAAiDH,CAAjD,EAAmDD,CAAnD,CAAP;AAA6D;;AAAA,YAAMc,CAAC,GAACI,sEAAC,CAAC5B,CAAD,EAAGI,CAAH,EAAKH,CAAL,CAAT;AAAA,YAAiBgC,CAAC,SAAO,MAAI,CAACqqG,gBAAL,CAAsB9qG,CAAtB,EAAwBN,oEAAxB,EAA+BP,CAA/B,EAAiCD,CAAjC,CAAzB;AAA6D,aAAO,MAAI,CAAC8rG,iBAAL,CAAuBhrG,CAAvB,EAAyBgB,CAAC,CAAC4nG,IAA3B,EAAgCnoG,CAAhC,EAAkC7B,CAAlC,EAAoC;AAACinB,QAAAA,CAAC,EAAC/mB,CAAC,CAAC63B,IAAF,MAAUn4B,CAAC,CAACm4B,IAAZ,GAAiBn4B,CAAC,CAACqnB,CAAF,IAAK,CAAtB,GAAwB,KAAK,CAAhC;AAAkCnmB,QAAAA,CAAC,EAACZ,CAAC,CAAC83B,IAAF,MAAUp4B,CAAC,CAACo4B,IAAZ,GAAiBp4B,CAAC,CAACkB,CAAF,IAAK,CAAtB,GAAwB,KAAK;AAAjE,OAApC,EAAwGP,CAAxG,EAA0GD,CAA1G,CAAP;AAAhX;AAAoe;;AAAM4rG,EAAAA,gBAAgB,CAACtsG,CAAD,EAAGE,CAAH,EAAKS,CAAL,EAAOD,CAAP,EAAS;AAAA;;AAAA;AAAC,aAAM,OAAO2E,OAAO,CAACc,GAAR,CAAY,MAAI,CAAC6jG,QAAL,CAAczkG,GAAd,CAAmBnF,CAAC,IAAEA,CAAC,CAACusG,eAAF,CAAkB3sG,CAAlB,EAAoBE,CAApB,EAAsBS,CAAtB,EAAwBD,CAAxB,CAAtB,CAAZ,CAAP,EAAwEwnF,IAAxE,EAAN;AAAD;AAAsF;;AAAAskB,EAAAA,iBAAiB,CAACxsG,CAAD,EAAGE,CAAH,EAAKS,CAAL,EAAOD,CAAP,EAASN,CAAT,EAAWH,CAAX,EAAaO,CAAb,EAAe;AAAC,WAAM;AAAC,UAAIs8B,KAAJ,GAAW;AAAC,eAAM,CAACx8B,gEAAC,CAACE,CAAD,CAAR;AAAY,OAAzB;;AAA0Bqa,MAAAA,KAAK,EAAC,MAAI;AAAC,cAAK;AAACjY,UAAAA,gBAAgB,EAACtC;AAAlB,YAAqBL,CAA1B;AAAA,cAA4B;AAAC2sG,UAAAA,YAAY,EAACpsG,CAAd;AAAgB2rG,UAAAA,KAAK,EAACrrG;AAAtB,YAAyB,KAAK+rG,kBAAL,CAAwB7sG,CAAxB,EAA0BE,CAA1B,EAA4BS,CAA5B,EAA8BV,CAA9B,CAArD;;AAAsF,eAAO,KAAK0rG,oBAAL,IAA4B,QAAM1rG,CAAC,CAACooG,UAAR,IAAoB,KAAK3kG,UAAL,CAAgBzD,CAAC,CAACooG,UAAF,CAAa+D,IAAb,CAAkBtrG,CAAlB,EAAoB;AAAC8B,UAAAA,gBAAgB,EAACtC,CAAlB;AAAoB6rC,UAAAA,aAAa,EAAC3qC,wFAAlC;AAAoCglF,UAAAA,IAAI,EAAC9lF,CAAzC;AAA2CmmG,UAAAA,aAAa,EAAC5mG,CAAC,CAAC4mG;AAA3D,SAApB,CAAhB,EAA+GhlG,CAA/G,CAAhD,EAAkK9B,8FAAC,CAACS,CAAD,EAAGE,CAAH,EAAKN,CAAL,EAAOH,CAAP,CAA1K;AAAoL;AAA/S,KAAN;AAAuT;;AAAA4sG,EAAAA,kBAAkB,CAAC7sG,CAAD,EAAGE,CAAH,EAAKS,CAAL,EAAOD,CAAP,EAAS;AAAC,QAAGC,CAAC,CAACkN,MAAF,GAAS,CAAZ,EAAc,OAAO,KAAK+4F,YAAL,IAAoB;AAACgG,MAAAA,YAAY,EAAC5sG,CAAd;AAAgBmsG,MAAAA,KAAK,EAAC;AAAtB,KAA3B;AAAqD,SAAKhC,mBAAL,KAA2BjqG,CAA3B,IAA8B,KAAK+rG,mBAAL,EAA9B,EAAyD7qG,yEAAC,CAACpB,CAAD,EAAGW,CAAH,CAA1D;AAAgE,UAAMP,CAAC,GAAC,KAAK6pG,qBAAb;;AAAmC,QAAG,QAAM7pG,CAAT,EAAW;AAAC,YAAME,CAAC,GAACgL,CAAC,CAAClL,CAAD,EAAGO,CAAH,CAAT;;AAAe,UAAGL,CAAC,IAAE,CAAN,EAAQ;AAAC,YAAG,EAAEK,CAAC,CAACL,CAAD,CAAD,YAAeqM,wGAAjB,CAAH,EAAuB,OAAO,KAAKmgG,6BAAL,CAAmCxsG,CAAnC,EAAqCK,CAArC,EAAuCX,CAAvC,EAAyCE,CAAzC,EAA2CQ,CAA3C,CAAP;AAAqD,YAAG,KAAKqrG,+BAAL,CAAqC/rG,CAArC,EAAuCI,CAAC,CAAC8rG,WAAzC,EAAqDxrG,CAArD,CAAH,EAA2D,OAAO,KAAKqsG,wBAAL,CAA8B3sG,CAA9B,EAAgCF,CAAhC,EAAkCS,CAAlC,EAAoCD,CAApC,CAAP;AAA8C;AAAC;;AAAA,WAAO,KAAKosG,6BAAL,CAAmC,CAAnC,EAAqCnsG,CAArC,EAAuCX,CAAvC,EAAyCE,CAAzC,EAA2CQ,CAA3C,CAAP;AAAqD;;AAAAosG,EAAAA,6BAA6B,CAAC9sG,CAAD,EAAGE,CAAH,EAAKS,CAAL,EAAOD,CAAP,EAASN,CAAT,EAAW;AAAC,UAAK;AAAC0mG,MAAAA,gBAAgB,EAACxmG;AAAlB,QAAqBF,CAA1B;AAAA,UAA4BH,CAAC,GAACC,CAAC,CAACF,CAAD,CAA/B;AAAA,UAAmCQ,CAAC,GAAC,EAArC;;AAAwC,SAAI,IAAIM,CAAC,GAAC,CAAV,EAAYA,CAAC,GAACZ,CAAC,CAAC2N,MAAhB,EAAuB,EAAE/M,CAAzB,EAA2B;AAAC,UAAGA,CAAC,KAAGd,CAAP,EAAS;AAAS,YAAMU,CAAC,GAACR,CAAC,CAACY,CAAD,CAAT;AAAA,YAAaV,CAAC,GAACH,CAAC,CAAC4rG,UAAF,CAAamB,SAAb,CAAuBtsG,CAAC,CAACmrG,UAAzB,CAAf;AAAoD,UAAGzrG,CAAH,EAAK,KAAI,MAAMJ,CAAV,IAAeI,CAAC,CAAC6sG,aAAF,CAAgBhtG,CAAC,CAACisG,WAAlB,CAAf,EAA8C1rG,CAAC,CAACsE,IAAF,CAAO,CAAC,IAAI6H,wGAAJ,CAAM1K,yEAAC,CAACjC,CAAD,CAAP,EAAWC,CAAX,EAAaS,CAAb,EAAeA,CAAC,CAACwsG,QAAjB,CAAD,EAA4B,KAAKC,sBAAL,CAA4BxsG,CAA5B,EAA8BX,CAA9B,EAAgCM,CAAhC,CAA5B,CAAP;AAAwE;;AAAA,WAAOE,CAAC,CAACqN,MAAF,GAAS,CAAT,KAAarN,CAAC,CAAC4O,IAAF,CAAQ,CAACpP,CAAD,EAAGE,CAAH,KAAOF,CAAC,CAAC,CAAD,CAAD,GAAKE,CAAC,CAAC,CAAD,CAArB,GAA2BM,CAAC,CAAC,CAAD,CAAD,CAAK,CAAL,IAAQ,KAAK4sG,+BAAL,CAAqChtG,CAAC,CAACklG,OAAvC,CAAhD,IAAiG,KAAKyH,wBAAL,CAA8BvsG,CAAC,CAAC,CAAD,CAAD,CAAK,CAAL,CAA9B,EAAsCE,CAAtC,EAAwCR,CAAxC,EAA0CE,CAA1C,CAAjG,GAA8IgL,CAAC,CAACnL,CAAD,EAAGG,CAAC,CAAC4rG,eAAL,CAAD,GAAuB,KAAKe,wBAAL,CAA8B9sG,CAA9B,EAAgCS,CAAhC,EAAkCR,CAAlC,EAAoCE,CAApC,CAAvB,GAA8D;AAACwsG,MAAAA,YAAY,EAACjsG,CAAd;AAAgBwrG,MAAAA,KAAK,EAAC;AAAtB,KAAnN;AAA6O;;AAAAY,EAAAA,wBAAwB,CAAC/sG,CAAD,EAAGE,CAAH,EAAKS,CAAL,EAAOD,CAAP,EAAS;AAAC,SAAKkmG,YAAL,IAAoB,KAAKqD,qBAAL,GAA2BjqG,CAA/C,EAAiD,KAAKmqG,mBAAL,GAAyBjqG,CAA1E;AAA4E,UAAME,CAAC,GAAC,KAAK6pG,qBAAL,CAA2BiC,WAAnC;AAAA,UAA+C5rG,CAAC,GAAC,EAAjD;AAAoDA,IAAAA,CAAC,CAACwE,IAAF,CAAO,GAAG9E,CAAC,CAACmsG,KAAZ;;AAAmB,SAAI,MAAMlsG,CAAV,IAAeU,CAAf,EAAiB;AAAC,UAAGX,CAAC,YAAY2M,wGAAhB,EAAkB;AAAC,YAAG1M,CAAC,CAAC4rG,UAAF,CAAaxqF,MAAb,CAAoBrhB,CAAC,CAACqtG,KAAF,CAAQxB,UAA5B,KAAyC5rG,CAAC,CAAC4rG,UAAF,CAAaxqF,MAAb,CAAoBrhB,CAAC,CAACysE,MAAF,CAASo/B,UAA7B,CAA5C,EAAqF;AAAS,OAAjH,MAAsH,IAAG5rG,CAAC,CAAC4rG,UAAF,CAAaxqF,MAAb,CAAoBrhB,CAAC,CAAC6rG,UAAtB,CAAH,EAAqC;;AAAS,YAAM3rG,CAAC,GAACD,CAAC,CAAC4rG,UAAF,CAAaC,SAAb,CAAuB1rG,CAAvB,CAAR;AAAkC,WAAK+sG,sBAAL,CAA4BjtG,CAA5B,EAA8BE,CAA9B,EAAgCM,CAAC,CAAComG,gBAAlC,IAAoDz/E,CAAC,EAArD,KAA0DpnB,CAAC,CAACisG,WAAF,GAAc9rG,CAAd,EAAgB,KAAK8pG,6BAAL,CAAmCplG,IAAnC,CAAwC7E,CAAxC,CAAhB,EAA2DK,CAAC,CAACwE,IAAF,CAAO,GAAG7E,CAAC,CAACksG,KAAZ,CAArH;AAAyI;;AAAA,WAAM;AAACS,MAAAA,YAAY,EAACxsG,CAAd;AAAgB+rG,MAAAA,KAAK,EAAC7rG;AAAtB,KAAN;AAA+B;;AAAA8sG,EAAAA,+BAA+B,CAACptG,CAAD,EAAG;AAAC,WAAM,YAAUA,CAAV,GAAY,KAAKwrG,+BAAjB,GAAiD,KAAKD,+BAA5D;AAA4F;;AAAAQ,EAAAA,+BAA+B,CAAC/rG,CAAD,EAAGE,CAAH,EAAKS,CAAL,EAAO;AAAC,WAAO,KAAKwsG,sBAAL,CAA4BntG,CAA5B,EAA8BE,CAA9B,EAAgCS,CAAC,CAACmmG,gBAAlC,IAAoD,KAAKsG,+BAAL,CAAqCzsG,CAAC,CAAC2kG,OAAvC,CAA3D;AAA2G;;AAAA6H,EAAAA,sBAAsB,CAACntG,CAAD,EAAGE,CAAH,EAAKS,CAAL,EAAO;AAAC,WAAOoI,yEAAC,CAAC,KAAKukG,SAAL,CAAettG,CAAf,EAAiBW,CAAjB,CAAD,EAAqB,KAAK2sG,SAAL,CAAeptG,CAAf,EAAiBS,CAAjB,CAArB,CAAR;AAAkD;;AAAA2sG,EAAAA,SAAS,CAACttG,CAAD,EAAGE,CAAH,EAAK;AAAC,WAAOiL,2EAAC,CAACnL,CAAD,EAAGE,CAAC,CAAC0C,gBAAL,EAAsBpB,wFAAtB,EAAwB,KAAKglF,IAA7B,CAAR;AAA2C;;AAAQ,MAAJ/+D,IAAI,GAAE,CAAE;;AAA3jN,CAAtC;AAAmmN,IAAIjlB,CAAJ;AAAMxC,uDAAC,CAAC,CAACgB,sFAAC,CAAC;AAACo1C,EAAAA,aAAa,EAAC,CAAC;AAAhB,CAAD,CAAF,CAAD,EAAyBj0C,CAAC,CAACgG,SAA3B,EAAqC,MAArC,EAA4C,KAAK,CAAjD,CAAD,EAAqDnI,uDAAC,CAAC,CAACgB,sFAAC,EAAF,CAAD,EAAOmB,CAAC,CAACgG,SAAT,EAAmB,SAAnB,EAA6B,KAAK,CAAlC,CAAtD,EAA2FnI,uDAAC,CAAC,CAACgB,sFAAC,CAAC;AAACqH,EAAAA,QAAQ,EAAC,CAAC;AAAX,CAAD,CAAF,CAAD,EAAoBlG,CAAC,CAACgG,SAAtB,EAAgC,UAAhC,EAA2C,IAA3C,CAA5F,EAA6InI,uDAAC,CAAC,CAACgB,sFAAC,EAAF,CAAD,EAAOmB,CAAC,CAACgG,SAAT,EAAmB,WAAnB,EAA+B,KAAK,CAApC,CAA9I,EAAqLnI,uDAAC,CAAC,CAACgB,sFAAC,EAAF,CAAD,EAAOmB,CAAC,CAACgG,SAAT,EAAmB,UAAnB,EAA8B,KAAK,CAAnC,CAAtL,EAA4NnI,uDAAC,CAAC,CAACgB,sFAAC,EAAF,CAAD,EAAOmB,CAAC,CAACgG,SAAT,EAAmB,iCAAnB,EAAqD,IAArD,CAA7N,EAAwRnI,uDAAC,CAAC,CAACgB,sFAAC,EAAF,CAAD,EAAOmB,CAAC,CAACgG,SAAT,EAAmB,iCAAnB,EAAqD,IAArD,CAAzR,EAAoVhG,CAAC,GAACnC,uDAAC,CAAC,CAAC0B,uFAAC,CAAC,iDAAD,CAAF,CAAD,EAAwDS,CAAxD,CAAvV,EAAkZ,UAASnC,CAAT,EAAW;AAACA,EAAAA,CAAC,CAACA,CAAC,CAACoqG,IAAF,GAAO,CAAR,CAAD,GAAY,MAAZ,EAAmBpqG,CAAC,CAACA,CAAC,CAACqsG,KAAF,GAAQ,CAAT,CAAD,GAAa,OAAhC;AAAwC,CAApD,CAAqD7pG,CAAC,KAAGA,CAAC,GAAC,EAAL,CAAtD,CAAlZ;AAAkd,MAAMX,CAAC,GAAC,sBAAR;;AAA+B,SAASwlB,CAAT,GAAY;AAAC,SAAOjlB,sFAAA,GAAqCA,sFAA5C;AAAiF;;AAAA,SAASgJ,CAAT,CAAWpL,CAAX,EAAaE,CAAb,EAAe;AAAC,SAAM,CAACA,CAAD,IAAI,QAAMA,CAAC,CAACstG,SAAR,IAAmB,QAAMttG,CAAC,CAACmqG,QAA/B,IAAyC,EAAErqG,CAAC,YAAY+B,oGAAb,IAAgB/B,CAAC,YAAYqL,wFAA7B,IAAgCrL,CAAC,YAAYwL,wFAA7C,IAAgDxL,CAAC,YAAYsC,wGAA7D,IAAgEtC,CAAC,YAAY0R,oHAA/E,MAAoF,EAAE1R,CAAC,YAAYgH,oGAAf,KAAmB,QAAM9G,CAAC,CAACstG,SAAR,IAAmBxtG,CAAC,CAACytG,gBAAF,KAAqBliG,8GAA/I,CAA/C;AAA4M;;AAAA,SAASD,CAAT,CAAWtL,CAAX,EAAaE,CAAb,EAAe;AAAC,SAAOF,CAAC,YAAY2M,wGAAb,GAAeua,CAAC,CAAChnB,CAAD,EAAGF,CAAC,CAACqtG,KAAL,CAAD,IAAc,CAAd,IAAiBnmF,CAAC,CAAChnB,CAAD,EAAGF,CAAC,CAACysE,MAAL,CAAD,IAAe,CAAhC,GAAkC,CAAlC,GAAoC,CAAC,CAApD,GAAsDvlD,CAAC,CAAChnB,CAAD,EAAGF,CAAH,CAA9D;AAAoE;;AAAA,SAASknB,CAAT,CAAWlnB,CAAX,EAAaE,CAAb,EAAe;AAAC,MAAIS,CAAC,GAAC,CAAC,CAAP;;AAAS,OAAI,IAAID,CAAC,GAAC,CAAV,EAAYA,CAAC,GAACV,CAAC,CAAC6N,MAAhB,EAAuB,EAAEnN,CAAzB,EAA2B,IAAGR,CAAC,CAAC2rG,UAAF,CAAaxqF,MAAb,CAAoBrhB,CAAC,CAACU,CAAD,CAAD,CAAKmrG,UAAzB,CAAH,EAAwC;AAAClrG,IAAAA,CAAC,GAACD,CAAF;AAAI;AAAM;;AAAA,SAAOC,CAAP;AAAS;;AAAA,SAASmB,CAAT,CAAW9B,CAAX,EAAa;AAAC,SAAO,QAAMA,CAAC,CAACunG,UAAf;AAA0B;;AAAA,SAASlhG,CAAT,CAAW;AAACygG,EAAAA,gBAAgB,EAAC9mG,CAAlB;AAAoBmsC,EAAAA,aAAa,EAACjsC;AAAlC,CAAX,EAAgD;AAAC,SAAOF,CAAC,CAACm4B,IAAF,KAAS32B,wFAAT,GAAWtB,CAAlB;AAAoB;;;;;;;;;;;;;;;;;;;;;ACJ1+S;AACA;AACA;AACA;AAC0O,gBAAgB,cAAc,cAAc,QAAQ,iFAAC,IAAI,YAAY,mBAAmB,SAAS,+CAA+C,wBAAwB,EAAE,iBAAiB,mBAAmB,QAAQ,gEAAC,eAAe,OAAO,wCAAwC,gBAAgB,uCAAuC,2DAAC,OAAO,+CAA+C,GAAG,gBAAgB,WAAW,gEAAC,EAAE,iBAAiB,EAAuB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACJtrB;AACA;AACA;AACA;AACA;AAAiD;AAAyC;AAAqE;AAAyD;AAAgF;AAA6B;AAAgC;AAAmC;AAAgF;AAA6E,IAAIY,CAAC,GAAC,cAAcV,yDAAd,CAAe;AAACqC,EAAAA,WAAW,CAACvC,CAAD,EAAG;AAAA;;AAAC,WAAMA,CAAN,kBAAS,KAAK0tG,eAAL,GAAqB1tG,CAAC,IAAEA,CAAjC,EAAmC,KAAK2tG,WAAL,GAAiB,IAApD,EAAyD,KAAKC,UAAL,GAAgB,IAAzE,EAA8E,KAAK1xF,gBAAL,GAAsB,IAApG,EAAyG,KAAK2xF,YAAL,GAAkB,IAA3H,EAAgI,KAAKC,KAAL,GAAWttG,+DAAC;AAAA,mNAAE,WAAMR,CAAN,EAAQE,CAAR,EAAUI,CAAV,EAAYG,CAAZ,EAAgB;AAAC,cAAMD,CAAC,GAAC,KAAI,CAACotG,UAAb;AAAwB,YAAG,QAAMptG,CAAT,EAAW;AAAO,cAAMT,CAAC,SAAOS,CAAC,CAAC6jB,QAAF,CAAY,MAAInkB,CAAC,CAAC0nG,IAAF,CAAO,EAAC,GAAG5nG,CAAJ;AAAMiE,UAAAA,OAAO,EAAC3D,CAAd;AAAgBkH,UAAAA,MAAM,EAAC/G;AAAvB,SAAP,CAAhB,EAAmDA,CAAnD,CAAd;AAAoEV,QAAAA,CAAC,CAAC68B,KAAF,WAAep8B,CAAC,CAAC6jB,QAAF,CAAY,MAAI;AAAC,eAAI,CAAC0pF,WAAL,GAAiBhuG,CAAC,CAAC4a,KAAF,EAAjB,EAA2B3a,CAAC,KAAG,KAAI,CAAC2tG,WAAT,IAAsB,QAAM,KAAI,CAACA,WAAjC,KAA+C,KAAI,CAACI,WAAL,GAAiB7tG,CAAC,CAACi7D,MAAF,CAAS,EAAC,GAAG,KAAI,CAACwyC,WAAT;AAAqB1pG,YAAAA,OAAO,EAAC3D;AAA7B,WAAT,CAAhE,CAA3B;AAAsI,SAAvJ,EAAyJG,CAAzJ,CAAf;AAA2K,OAA5S;;AAAA;AAAA;AAAA;AAAA,QAA5I;AAA2b;;AAAe,MAAXstG,WAAW,GAAE;AAAC,WAAO,KAAKF,YAAZ;AAAyB;;AAAe,MAAXE,WAAW,CAAC/tG,CAAD,EAAG;AAAC,SAAK6tG,YAAL,GAAkB,KAAKH,eAAL,CAAqB1tG,CAArB,CAAlB;AAA0C;;AAAA2D,EAAAA,UAAU,GAAE;AAAC,UAAM3D,CAAC,GAAC,SAAO,KAAKsmF,IAAL,CAAUjjF,IAAjB,GAAsB,KAAKijF,IAAL,EAAWuhB,kBAAX,EAA+BlM,SAArD,GAA+D,IAAvE;AAA4E,SAAKiS,UAAL,GAAgB,QAAM5tG,CAAN,GAAQA,CAAC,CAAC8nG,YAAF,CAAe1nG,yEAAf,CAAR,GAAmCO,iEAAnD;AAAqD;;AAAAuD,EAAAA,OAAO,GAAE;AAAC,SAAKgY,gBAAL,GAAsB5b,0DAAC,CAAC,KAAK4b,gBAAN,CAAvB,EAA+C,KAAK0xF,UAAL,GAAgBntG,2DAAC,CAAC,KAAKmtG,UAAN,CAAhE;AAAkF;;AAAAzyC,EAAAA,MAAM,CAACn7D,CAAD,EAAGE,CAAH,EAAKI,CAAL,EAAO;AAAC,SAAKqtG,WAAL,GAAiB3tG,CAAjB;AAAmB,UAAK;AAAConG,MAAAA,KAAK,EAAC3mG,CAAP;AAAS4mG,MAAAA,UAAU,EAAC7mG;AAApB,QAAuBR,CAA5B;AAAA,UAA8BD,CAAC,GAACG,CAAC,CAACi7D,MAAF,CAAS;AAACisC,MAAAA,KAAK,EAAC3mG,CAAP;AAAS4mG,MAAAA,UAAU,EAAC7mG,CAApB;AAAsByD,MAAAA,OAAO,EAAC3D;AAA9B,KAAT,CAAhC;AAA2E,WAAO,KAAKytG,WAAL,GAAiBhuG,CAAjB,EAAmBA,CAA1B;AAA4B;;AAAM6nG,EAAAA,IAAI,CAAC5nG,CAAD,EAAGE,CAAH,EAAKI,CAAL,EAAO;AAAA;;AAAA;AAAC,YAAK;AAAC8mG,QAAAA,KAAK,EAAC3mG,CAAP;AAAS4mG,QAAAA,UAAU,EAAC7mG;AAApB,UAAuBR,CAA5B;AAA8B,aAAO,MAAI,CAAC+tG,WAAL,GAAiB7tG,CAAC,CAACi7D,MAAF,CAAS;AAACisC,QAAAA,KAAK,EAAC3mG,CAAP;AAAS4mG,QAAAA,UAAU,EAAC7mG,CAApB;AAAsByD,QAAAA,OAAO,EAAC3D;AAA9B,OAAT,CAAjB,EAA4D,MAAI,CAACqtG,WAAL,GAAiB3tG,CAA7E,EAA+E,QAAM,MAAI,CAACkc,gBAAX,KAA8B,MAAI,CAACA,gBAAL,GAAsB,IAAIC,eAAJ,EAApD,CAA/E,EAAwJ,MAAI,CAAC2xF,KAAL,CAAW9tG,CAAX,EAAaE,CAAb,EAAeI,CAAf,EAAiB,MAAI,CAAC4b,gBAAL,CAAsB1U,MAAvC,CAA/J;AAA/B;AAA6O;;AAAMwmG,EAAAA,6BAA6B,CAAChuG,CAAD,EAAGE,CAAH,EAAK;AAAA;;AAAA;AAAC,cAAM,MAAI,CAACytG,WAAX,WAA8B,MAAI,CAAC/F,IAAL,CAAU,MAAI,CAAC+F,WAAf,EAA2B3tG,CAA3B,EAA6BE,CAA7B,CAA9B;AAAD;AAA+D;;AAAA+b,EAAAA,KAAK,GAAE;AAAC,SAAKC,gBAAL,GAAsB5b,0DAAC,CAAC,KAAK4b,gBAAN,CAAvB,EAA+C,KAAKyxF,WAAL,GAAiB,IAAhE;AAAqE;;AAAv1C,CAArB;AAA82C3tG,uDAAC,CAAC,CAACD,sFAAC,CAAC;AAACm2C,EAAAA,aAAa,EAAC,CAAC;AAAhB,CAAD,CAAF,CAAD,EAAyBt1C,CAAC,CAACqH,SAA3B,EAAqC,MAArC,EAA4C,KAAK,CAAjD,CAAD,EAAqDjI,uDAAC,CAAC,CAACD,sFAAC,EAAF,CAAD,EAAOa,CAAC,CAACqH,SAAT,EAAmB,aAAnB,EAAiC,IAAjC,CAAtD,EAA6FjI,uDAAC,CAAC,CAACD,sFAAC,EAAF,CAAD,EAAOa,CAAC,CAACqH,SAAT,EAAmB,iBAAnB,EAAqC,KAAK,CAA1C,CAA9F,EAA2IjI,uDAAC,CAAC,CAACD,sFAAC,EAAF,CAAD,EAAOa,CAAC,CAACqH,SAAT,EAAmB,cAAnB,EAAkC,KAAK,CAAvC,CAA5I,EAAsLrH,CAAC,GAACZ,uDAAC,CAAC,CAACF,sFAAC,CAAC,mDAAD,CAAF,CAAD,EAA0Dc,CAA1D,CAAzL;;;;;;;;;;;;;;;;;;;;;;;;;;ACJn5D;AACA;AACA;AACA;AAC0f,oBAAoB,yDAAC,CAAC,eAAe,2LAA2L,2DAAC,eAAe,2DAAU,iCAAiC,6EAA4B,CAAC,uBAAuB,4EAA4E,2BAA2B,+CAA+C,2BAA2B,+CAA+C,8BAA8B,kDAAkD,+BAA+B,4BAA4B,WAAW,iEAAW,wKAAwK,4EAA4E,2DAAC,CAAC,kBAAkB,8CAA8C,6DAA6D,wBAAwB,YAAY,sEAAC,EAAE,qBAAqB,EAAE,mCAAmC,kBAAkB,sDAAsD,gCAAgC,0DAA0D,iEAAiE,2DAAC,EAAE,kBAAkB,CAAC,+DAAC,0BAA0B,wCAAwC,uDAAC,EAAE,sFAAC,kCAAkC,uDAAC,EAAE,sFAAC,yCAAyC,uDAAC,EAAE,sFAAC,wCAAwC,uDAAC,EAAE,sFAAC,sCAAsC,uDAAC,EAAE,sFAAC,yCAAyC,uDAAC,EAAE,sFAAC,sCAAsC,uDAAC,EAAE,sFAAC,gDAAgD,uDAAC,EAAE,sFAAC,EAAE,KAAK,kEAAQ,CAAC,sEAAC,EAAE,wCAAwC,uDAAC,EAAE,sFAAC,mCAAmC,uDAAC,EAAE,sFAAC,qDAAqD,uDAAC,EAAE,sFAAC,EAAE,YAAY,wCAAwC,uDAAC,EAAE,sFAAC,EAAE,YAAY,4CAA4C,uDAAC,EAAE,sFAAC,EAAE,YAAY,4CAA4C,uDAAC,EAAE,sFAAC,EAAE,YAAY,+CAA+C,uDAAC,EAAE,sFAAC,EAAE,YAAY,kDAAkD,uDAAC,EAAE,sFAAC,wDAAwD,UAAU,cAAc,qCAAqC,cAAc,qCAAqC,cAAc,wCAA6D;;;;;;;;;;;;;;;;;;;;;;ACJ/9F;AACA;AACA;AACA;AAC6Z,QAAQ,UAAU,4CAA4C,8BAA8B,wFAAC,4DAA4D,wEAAC,+CAA+C,gFAAC,uDAAuD,oFAAC,yDAAyD,0EAAC,mCAAmC,OAAO,kEAAC,IAAI,mBAAmB,UAAU,cAAc,WAAW,kBAAkB,SAAS,iCAAiC,KAAK,MAAM,aAAa,SAAyC;;;;;;;;;;;;;;;;;;;;;ACJ37B;AACA;AACA;AACA;AACkP,gBAAgB,YAAY,2DAAC,EAAE,kEAAkE,2DAAU,2DAA2D,6EAA4B,CAAC,EAAE,OAAO,GAAG,6DAAC,4CAA4C,qBAAqB,2DAAC,gBAAgB,sEAAC,EAAE,QAAQ,IAAI,EAAE,kEAAC,aAAsD;;;;;;;;;;;;;;;;;;;;ACJ5lB;AACA;AACA;AACA;AACsQ,gBAAgB,kFAAC,CAAC,eAAe,OAAO,gCAAgC,wEAAC,6CAA6C,EAAE,YAAY,WAAW,wEAAC,CAAC,4EAAW,wEAAiH;;;;;;;;;;;;;;;;;;;;ACJnhB;AACA;AACA;AACA;AACgQ,gBAAgB,kFAAC,CAAC,eAAe,OAAO,oBAAoB,kEAAC,wBAAwB,EAAE,YAAY,WAAW,wEAAC,CAAC,4EAAW,wEAA2G;;;;;;;;;;;;;;;;;;ACJte;AACA;AACA;AACA;AACiH,gBAAgB,oEAAC,CAAC,aAAa,iDAAiD,EAAE,YAAY,sEAAS,mBAAyD;;;;;;;;;;;;;;;;;;;;ACJjR;AACA;AACA;AACA;AAC+P,gBAAgB,oEAAC,CAAC,qBAAqB,YAAY,mEAAC,MAAM,kEAAK,6BAA6B,YAAY,sIAAsI,wFAAC,+CAA0F;;;;;;;;;;;;;;;;;;;;;ACJxkB;AACA;AACA;AACA;AACiT,gBAAgB,oEAAC,CAAC,aAAa,+CAA+C,EAAE,YAAY,2EAAC,QAAQ,mEAAM,8BAA8B,wEAAC,CAAC,sFAAqB,oBAAoB,YAAY,mCAAmC,wEAAC,CAAC,yEAAQ,6EAA6E,0BAA0B,uDAA0F;;;;;;;;;;;;;;;;;;;;;;;;;ACJ/tB;AACA;AACA;AACA;AACikB,gBAAgB,oEAAC,CAAC,aAAa,qDAAqD,EAAE,QAAQ,kFAAC,KAAK,eAAe,GAAG,mDAAC,GAAG,mDAAC,uBAAuB,2EAAC,GAAG,oEAAC,OAAO,mEAAM,yBAAyB,gCAAgC,EAAE,YAAY,WAAW,wEAAC,CAAC,yEAAQ,uEAAuE,gFAAC,uGAAuG,wEAAC,CAAC,4EAAW,+EAA+E,oBAAoB,SAAS,iCAAiC,kCAAkC,mDAAC,sDAAsD,mDAAC,wDAAwD,mDAAC,sDAAsD,mDAAC,oDAAoD,iCAA4E;;;;;;;;;;;;;;;;;;;;;;;ACJp9C;AACA;AACA;AACA;AACuT,gBAAgB,oEAAC,CAAC,aAAa,8HAA8H,EAAE,eAAe,mEAAM,wHAAwH,YAAY,oKAAoK,WAAW,wEAAC,CAAC,yEAAQ,oCAAoC,wEAAC,CAAC,4EAAW,oCAAoC,oFAAC,sDAAsD,QAAQ,aAAa,0CAA0C,SAAS,eAAe,sHAAsH,SAAS,GAAiG;;;;;;;;;;;;;;;;;;;;;;;;;;ACJ3uC;AACA;AACA;AACA;AACipB,gBAAgB,oEAAC,CAAC,aAAa,2CAA2C,EAAE,YAAY,8EAAC,CAAC,oEAAC,CAAC,mDAAC,CAAC,mFAAC,eAAe,6EAAC,CAAC,kEAAC,IAAI,kEAAC,QAAQ,mEAAM,wBAAwB,YAAY,WAAW,wEAAC,CAAC,4EAAW,0DAA0D,wEAAC,CAAC,4EAAW,0DAA0D,oFAAC,iEAAkH;;;;;;;;;;;;;;;;ACJrkC;AACA;AACA;AACA;AACA,QAAQ,qBAAqB,oEAAmG;;;;;;;;;;;;;;;;;;;ACJhI;AACA;AACA;AACA;AACuJ,gBAAgB,0DAAC,CAAC,kBAAkB,kEAAK,EAAE,oCAAoC,UAAU,uBAAuB,mDAAC,8CAAoF;;;;;;;;;;;;;;;;;;;;;ACJ5V;AACA;AACA;AACA;AACiO,gBAAgB,0DAAC,CAAC,sBAAsB,kEAAK,YAAY,wFAAwF,UAAU,4CAA4C,mDAAC,8BAA8B,mDAAC,oFAAoF,aAAa,OAAO,mDAAC,+BAA6D;;;;;;;;;;;;;;;;;;;;;ACJ9mB;AACA;AACA;AACA;AAC0N,gBAAgB,0DAAC,CAAC,oBAAoB,kEAAK,EAAE,2CAA2C,UAAU,wBAAwB,mDAAC,8BAA8B,mDAAC,2BAA6D;;;;;;;;;;;;;;;;;;ACJjb;AACA;AACA;AACA;AACiG,gBAAgB,0DAAC,CAAC,mBAAmB,wBAAwB,UAAU,uBAAuB,mDAAC,sBAAqD;;;;;;;;;;;;;;;;;;;;;ACJrP;AACA;AACA;AACA;AAC0N,gBAAgB,0DAAC,CAAC,sBAAsB,kEAAK,EAAE,uEAAuE,UAAU,wBAAwB,mDAAC,wCAAwC,mDAAC,oCAAoC,mDAAC,iCAAqE;;;;;;;;;;;;;;;;ACJtgB;AACA;AACA;AACA;AACA,QAAQ,iBAAiB,+BAAyD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACJlF;AACA;AACA;AACA;AACmoB,yCAAyC,gBAAgB,sDAAsD,iBAAiB,gBAAgB,6BAA6B,0CAA0C,SAAS,gBAAgB,0BAA0B,eAAe,gBAAgB,yBAAyB,gBAAgB,eAAe,mDAAC,kBAAkB,mDAAC,oBAAoB,MAAM,YAAY,+DAA+D,mBAAmB,UAAU,MAAM,+BAA+B,8DAAC,EAAE,YAAY,sGAAsG,oDAAC,+BAA+B,oEAAC,qEAAqE,MAAM,wFAAC,0FAA0F,gBAAgB,2BAA2B,+DAAC,kCAAkC,kBAAkB,OAAO,KAAK,2EAAC,6BAA6B,2EAAC,yBAAyB,cAAc,uBAAuB,aAAa,qGAAqG,SAAS,GAAG,kCAAkC,qBAAqB,EAAE,QAAQ,6DAAC,QAAQ,8CAA8C,MAAM,yBAAyB,IAAI,oCAAoC,QAAQ,4EAAM,yBAAyB,QAAQ,gEAAQ,sCAAsC,wBAAwB,QAAQ,gEAAQ,4BAA4B,8BAA8B,yBAAyB,+CAA+C,MAAM,kBAAkB,EAAE,kEAAC,EAAE,gBAAgB,cAAc,OAAO,2DAAC,wDAAmV;;;;;;;;;;;;;;;;;ACJ9nF;AACA;AACA;AACA;AACqD,cAAc,gBAAgB,yIAAyI,kLAAkL,KAAK,2DAAC,MAAM,2DAAC,MAAM,2DAAC,KAAK,2BAA2B,GAAG,4BAAuD;;;;;;;;;;;;;;;;;;;;ACJ5f;AACA;AACA;AACA;AACuU,oBAAoB,4EAA4E,oFAAC,gDAAgD,uEAAC,aAAa,QAAQ,wFAAC,eAAe,mFAAC,KAAK,4EAAC,GAAoC;;;;;;;;;;;;;;;;;;;;;;;;;ACJziB;AACA;AACA;AACA;AACgb,oBAAoB,yDAAC,CAAC,eAAe,yDAAyD,mEAAC,uDAAuD,+BAA+B,8BAA8B,wEAAC,KAAK,uDAAC,EAAE,sFAAC,EAAE,aAAa,gDAAgD,uDAAC,EAAE,sFAAC,EAAE,KAAK,mEAAC,gBAAgB,iCAAiC,uDAAC,EAAE,sFAAC,EAAE,aAAa,yCAAyC,uDAAC,EAAE,sFAAC,EAAE,aAAa,iDAAiD,uDAAC,EAAE,sFAAC,yCAAyC,UAA+B;;;;;;;;;;;;;;;;;;;;ACJr9B;AACA;AACA;AACA;AAC0C,cAAc,UAAU,sBAAsB,cAAc,uFAAuF,kBAAkB,2EAA2E,2XAA2X,mDAAC,kCAAkC,gBAAgB,UAAU,kJAAkJ,cAAc,+GAAwO;;;;;;;;;;;;;;;;;;;;;;;;ACJ1lC;AACA;AACA;AACA;AACmZ,oBAAoB,yDAAC,CAAC,eAAe,oHAAoH,uDAAC,EAAE,sFAAC,EAAE,4BAA4B,iCAAiC,uDAAC,EAAE,sFAAC,EAAE,KAAK,4EAAC,CAAC,gCAAgC,uDAAC,EAAE,sFAAC,EAAE,mCAAmC,8BAA8B,uDAAC,EAAE,sFAAC,EAAE,kDAAkD,uCAAuC,uDAAC,EAAE,sFAAC,EAAE,2BAA2B,0CAA0C,uDAAC,EAAE,sFAAC,sDAAsD,UAA+B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACJt+B;AACA;AACA;AACA;AACA;AAA8C;AAAsC;AAAwC;AAA6E;AAA0B;AAA6B;AAAgC;AAA6E;AAAwE;AAA0C;AAAmE,IAAIR,CAAC,GAAC,cAAcN,yDAAd,CAAe;AAACyC,EAAAA,WAAW,GAAE;AAAC,UAAM,GAAGqK,SAAT,GAAoB,KAAKmV,KAAL,GAAW,IAAIzhB,2DAAJ,EAA/B,EAAqC,KAAKmuF,sBAAL,GAA4B,IAAIjuF,6EAAJ,EAAjE,EAAuE,KAAK2tG,UAAL,GAAgB,IAAI17F,GAAJ,EAAvF,EAA+F,KAAK27F,UAAL,GAAgB3tG,6EAAC,EAAhH,EAAmH,KAAK4tG,gBAAL,GAAsB5tG,6EAAC,EAA1I;AAA6I;;AAAe,MAAX6tG,WAAW,GAAE;AAAC,WAAO,KAAKvsF,KAAL,CAAWpU,MAAX,GAAkB,CAAzB;AAA2B;;AAAY,MAAR0qC,QAAQ,GAAE;AAAC,WAAO,KAAKo2C,sBAAL,EAA6Bp2C,QAA7B,IAAuC,CAAC,CAA/C;AAAiD;;AAAA10C,EAAAA,UAAU,GAAE;AAAC,UAAM3D,CAAC,GAACyd,QAAQ,CAACC,aAAT,CAAuB,KAAvB,CAAR;AAAsC1d,IAAAA,CAAC,CAACqR,SAAF,GAAY,sBAAZ,EAAmC,KAAKhN,IAAL,CAAU,SAAV,EAAoBrE,CAApB,CAAnC,EAA0D,KAAKuuG,cAAL,GAAoB9wF,QAAQ,CAACC,aAAT,CAAuB,KAAvB,CAA9E,EAA4G,KAAK6wF,cAAL,CAAoBC,YAApB,CAAiC,OAAjC,EAAyC,qBAAzC,CAA5G,EAA4KxuG,CAAC,CAAC2pB,WAAF,CAAc,KAAK4kF,cAAnB,CAA5K,EAA+M,KAAK9f,sBAAL,CAA4BS,qBAA5B,CAAmD,MAAI,KAAKntE,KAA5D,EAAoE/hB,CAAC,IAAE;AAAC,WAAI,MAAMF,CAAV,IAAeE,CAAC,CAACyhB,KAAjB,EAAuB;AAAC,cAAMzhB,CAAC,GAAC,MAAIF,CAAC,CAAC2uG,MAAF,EAAZ;;AAAuB,aAAKN,UAAL,CAAgB3oG,GAAhB,CAAoB1F,CAApB,EAAsBE,CAAtB,GAAyB,KAAKouG,UAAL,CAAgBzyC,MAAhB,CAAuB,KAAKqhC,OAA5B,EAAoCh9F,CAApC,CAAzB;AAAgE;;AAAA,WAAI,MAAMF,CAAV,IAAeE,CAAC,CAAC0iB,OAAjB,EAAyB;AAAC,cAAM1iB,CAAC,GAAC,KAAKouG,UAAL,CAAgBrY,MAAhB,CAAuB,KAAKoY,UAAL,CAAgBv0F,GAAhB,CAAoB9Z,CAApB,CAAvB,CAAR;;AAAuD,aAAKk9F,OAAL,CAAanzE,WAAb,CAAyB7pB,CAAC,CAAC0uG,OAA3B,GAAoC,KAAKP,UAAL,CAAgBz9E,MAAhB,CAAuB5wB,CAAvB,CAApC;AAA8D;AAAC,KAAvU,CAA/M;AAAyhB;;AAAAm9D,EAAAA,OAAO,CAACj9D,CAAD,EAAG;AAAC,SAAK+hB,KAAL,CAAW4f,GAAX,CAAe3hC,CAAf;AAAkB;;AAAA2uG,EAAAA,UAAU,CAAC3uG,CAAD,EAAG;AAAC,SAAK+hB,KAAL,CAAW3e,MAAX,CAAkBpD,CAAlB;AAAqB;;AAAAkE,EAAAA,OAAO,GAAE;AAAC,SAAK6d,KAAL,CAAW7Y,SAAX,IAAuB,KAAKilG,UAAL,CAAgB1pG,OAAhB,CAAyBzE,CAAC,IAAE,KAAKouG,UAAL,CAAgBrY,MAAhB,CAAuB/1F,CAAvB,CAA5B,CAAvB,EAA+E,KAAKmuG,UAAL,GAAgB,IAA/F,EAAoG,KAAKC,UAAL,GAAgB,IAApH,EAAyH,KAAK3f,sBAAL,CAA4BvqF,OAA5B,EAAzH;AAA+J;;AAAAuqG,EAAAA,MAAM,GAAE;AAAC,SAAKL,UAAL,CAAgBQ,SAAhB;AAA4B;;AAAAC,EAAAA,mBAAmB,CAAC7uG,CAAD,EAAG;AAAC,UAAMF,CAAC,GAAC,KAAKyuG,cAAb;AAAA,UAA4BjuG,CAAC,GAAC,KAAK+tG,gBAAnC;AAAoD,QAAItuG,CAAJ;;AAAM,UAAMG,CAAC,GAAC,OAAKH,CAAC,GAACC,CAAC,CAACyuG,MAAF,EAAF,EAAa1uG,CAAlB,CAAR;;AAA6BO,IAAAA,CAAC,CAACq7D,MAAF,CAAS77D,CAAT,EAAWI,CAAX,GAAcI,CAAC,CAACsuG,SAAF,EAAd;AAA4B,UAAMpuG,CAAC,GAAC;AAACsoF,MAAAA,IAAI,EAAC,CAAN;AAAQE,MAAAA,GAAG,EAAC,CAAZ;AAAcD,MAAAA,KAAK,EAAC,CAApB;AAAsBE,MAAAA,MAAM,EAAC;AAA7B,KAAR;;AAAwC,QAAGlpF,CAAC,EAAE2uG,OAAN,EAAc;AAAC,YAAM1uG,CAAC,GAACD,CAAC,CAAC2uG,OAAF,CAAUI,qBAAV,EAAR;AAA0CtuG,MAAAA,CAAC,CAACsoF,IAAF,GAAO9oF,CAAC,CAAC8oF,IAAT,EAActoF,CAAC,CAACwoF,GAAF,GAAMhpF,CAAC,CAACgpF,GAAtB,EAA0BxoF,CAAC,CAACuoF,KAAF,GAAQ/oF,CAAC,CAAC+oF,KAApC,EAA0CvoF,CAAC,CAACyoF,MAAF,GAASjpF,CAAC,CAACipF,MAArD;AAA4D;;AAAA,SAAI3oF,CAAC,CAACy1F,MAAF,CAAS71F,CAAT,CAAJ,EAAgBJ,CAAC,CAACivG,UAAlB,GAA8BjvG,CAAC,CAAC+pB,WAAF,CAAc/pB,CAAC,CAACivG,UAAhB;;AAA4B,WAAOvuG,CAAP;AAAS;;AAAAwuG,EAAAA,QAAQ,CAAChvG,CAAD,EAAGF,CAAH,EAAK;AAAC,UAAMQ,CAAC,GAAC,KAAKuuG,mBAAL,CAAyB7uG,CAAzB,CAAR;AAAA,UAAoCD,CAAC,GAAC,KAAK8uG,mBAAL,CAAyB/uG,CAAzB,CAAtC;AAAkE,WAAO8jB,IAAI,CAAC3Z,GAAL,CAAS3J,CAAC,CAACwoF,IAAX,EAAgB/oF,CAAC,CAAC+oF,IAAlB,KAAyBllE,IAAI,CAAC5Z,GAAL,CAAS1J,CAAC,CAACyoF,KAAX,EAAiBhpF,CAAC,CAACgpF,KAAnB,CAAzB,IAAoDnlE,IAAI,CAAC3Z,GAAL,CAAS3J,CAAC,CAAC0oF,GAAX,EAAejpF,CAAC,CAACipF,GAAjB,KAAuBplE,IAAI,CAAC5Z,GAAL,CAAS1J,CAAC,CAAC2oF,MAAX,EAAkBlpF,CAAC,CAACkpF,MAApB,CAAlF;AAA8G;;AAAmB,MAAfgmB,eAAe,GAAE;AAAC,WAAO,KAAKltF,KAAL,CAAWzK,IAAX,CAAiBtX,CAAC,IAAEA,CAAC,CAACsO,OAAtB,CAAP;AAAuC;;AAAM4gG,EAAAA,OAAO,GAAE;AAAA;;AAAA;AAAC,YAAMzxF,QAAQ,CAAC0xF,KAAT,CAAenqG,IAAf,CAAoB,KAAI,CAACoqG,WAAL,EAApB,EAAwCvrG,KAAxC,CAA+C,MAAI,CAAE,CAArD,CAAN;AAAD;AAA+D;;AAAAq5F,EAAAA,YAAY,CAACl9F,CAAD,EAAGF,CAAH,EAAK;AAAC,UAAMQ,CAAC,GAAC,CAAC,CAACR,CAAC,EAAEuvG,kBAAb;AAAgC,QAAG,CAAC,KAAKttF,KAAL,CAAWzK,IAAX,CAAiBtX,CAAC,IAAEA,CAAC,CAACsO,OAAF,IAAW,EAAEhO,CAAC,IAAEN,CAAC,CAACsvG,YAAP,CAA/B,CAAJ,EAA0D;AAAO,UAAMvvG,CAAC,GAACC,CAAC,CAAC2d,UAAF,CAAa,IAAb,CAAR;AAA2B5d,IAAAA,CAAC,CAAC4T,IAAF,IAAS5T,CAAC,CAAColF,IAAF,GAAO,KAAKiqB,WAAL,EAAhB,EAAmC,KAAKrtF,KAAL,CAAWtd,OAAX,CAAoBzE,CAAC,IAAE;AAACM,MAAAA,CAAC,IAAEN,CAAC,CAACsvG,YAAL,KAAoBvvG,CAAC,CAAC4T,IAAF,IAAS3T,CAAC,CAACk9F,YAAF,CAAen9F,CAAf,CAAT,EAA2BA,CAAC,CAACwvG,OAAF,EAA/C;AAA4D,KAApF,CAAnC,EAA0HxvG,CAAC,CAACwvG,OAAF,EAA1H;AAAsI;;AAAAH,EAAAA,WAAW,GAAE;AAAC,WAAO,QAAOI,gBAAgB,CAAC,KAAKxS,OAAN,CAAhB,CAA+ByS,UAAW,EAAxD;AAA0D;;AAAlnE,CAArB;AAAyoEzvG,uDAAC,CAAC,CAACD,sFAAC,CAAC;AAACoI,EAAAA,QAAQ,EAAC,CAAC;AAAX,CAAD,CAAF,CAAD,EAAoB/H,CAAC,CAAC6H,SAAtB,EAAgC,SAAhC,EAA0C,KAAK,CAA/C,CAAD,EAAmDjI,uDAAC,CAAC,CAACD,sFAAC,CAAC;AAACoI,EAAAA,QAAQ,EAAC,CAAC;AAAX,CAAD,CAAF,CAAD,EAAoB/H,CAAC,CAAC6H,SAAtB,EAAgC,OAAhC,EAAwC,KAAK,CAA7C,CAApD,EAAoGjI,uDAAC,CAAC,CAACD,sFAAC,CAAC;AAACoI,EAAAA,QAAQ,EAAC,CAAC;AAAX,CAAD,CAAF,CAAD,EAAoB/H,CAAC,CAAC6H,SAAtB,EAAgC,aAAhC,EAA8C,IAA9C,CAArG,EAAyJjI,uDAAC,CAAC,CAACD,sFAAC,CAAC;AAACoI,EAAAA,QAAQ,EAAC,CAAC;AAAX,CAAD,CAAF,CAAD,EAAoB/H,CAAC,CAAC6H,SAAtB,EAAgC,wBAAhC,EAAyD,KAAK,CAA9D,CAA1J,EAA2NjI,uDAAC,CAAC,CAACD,sFAAC,CAAC;AAACoI,EAAAA,QAAQ,EAAC,CAAC;AAAX,CAAD,CAAF,CAAD,EAAoB/H,CAAC,CAAC6H,SAAtB,EAAgC,UAAhC,EAA2C,IAA3C,CAA5N,EAA6Q7H,CAAC,GAACJ,uDAAC,CAAC,CAACE,sFAAC,CAAC,gCAAD,CAAF,CAAD,EAAuCE,CAAvC,CAAhR;AAA0T,MAAMU,CAAC,GAACV,CAAR;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACJr+F;AACA;AACA;AACA;AACA;AAA8C;AAAsC;AAAsD;AAAiD;AAAyE;AAA6E;AAA0B;AAA6B;AAAgC;AAA6E;AAA6H;AAAgD;AAAkE,IAAIoB,CAAC,GAAC,cAAcxB,yDAAd,CAAe;AAACuC,EAAAA,WAAW,CAACzC,CAAD,EAAG;AAAC,UAAMA,CAAN,GAAS,KAAK02F,QAAL,GAAc;AAAC19E,MAAAA,MAAM,EAAC,CAAC,CAAT;AAAWk+E,MAAAA,eAAe,EAAC,CAAC,CAA5B;AAA8BD,MAAAA,QAAQ,EAAC,CAAC;AAAxC,KAAvB,EAAkE,KAAK+Y,uBAAL,GAA6B,IAA/F,EAAoG,KAAKrZ,oBAAL,GAA0B,IAA9H,EAAmI,KAAKsZ,kBAAL,GAAwB,EAA3J,EAA8J,KAAKC,kBAAL,GAAwB,IAAtL,EAA2L,KAAKtU,gCAAL,GAAsC,CAAC,CAAlO,EAAoO,KAAKhU,SAAL,GAAe,CAAC,CAApP,EAAsP,KAAKuoB,kBAAL,GAAwB;AAACC,MAAAA,IAAI,EAAC,IAAN;AAAWrb,MAAAA,KAAK,EAAC,IAAjB;AAAsBsb,MAAAA,MAAM,EAAC,IAA7B;AAAkCztG,MAAAA,gBAAgB,EAAC;AAAnD,KAA9Q;AAAuU;;AAAAwB,EAAAA,OAAO,GAAE;AAAC,SAAK+rG,kBAAL,CAAwBC,IAAxB,KAA+B,KAAKD,kBAAL,CAAwBC,IAAxB,GAA6B9vG,0DAAC,CAAC,KAAK6vG,kBAAL,CAAwBC,IAAzB,CAA7D,GAA6F,KAAK7rG,IAAL,CAAU,KAAV,EAAgB,IAAhB,CAA7F;AAAmH;;AAAS,MAALyT,KAAK,GAAE;AAAC,WAAM,CAAC,KAAKs4F,qBAAL,CAA2B/3D,QAA5B,IAAsC,CAAC,KAAKg4D,aAAL,CAAmBh4D,QAA1D,IAAoE,CAAC,KAAKi4D,WAAL,CAAiBj4D,QAA5F;AAAqG;;AAAwB,MAApBk4D,oBAAoB,GAAE;AAAC,WAAM,CAAC,KAAKC,oBAAL,CAA0Bn4D,QAAjC;AAA0C;;AAAoB,MAAhB31C,gBAAgB,GAAE;AAAC,WAAO,KAAK+zF,oBAAL,IAA2B,KAAK2Z,qBAAL,CAA2B1tG,gBAA7D;AAA8E;;AAAU,MAANoW,MAAM,GAAE;AAAC,WAAO,KAAKw3F,WAAL,CAAiBx3F,MAAxB;AAA+B;;AAAmB,MAAfk+E,eAAe,GAAE;AAAC,WAAO,KAAKwZ,oBAAL,CAA0BxZ,eAAjC;AAAiD;;AAAW,MAAP74D,OAAO,GAAE;AAAC,WAAO,KAAKqyE,oBAAL,CAA0BryE,OAAjC;AAAyC;;AAAiB,MAAbu5D,aAAa,GAAE;AAAC,WAAO,KAAK8Y,oBAAL,CAA0B9Y,aAAjC;AAA+C;;AAAe,MAAX11B,WAAW,GAAE;AAAC,WAAO,QAAM,KAAKy0B,oBAAX,IAAiC,KAAKA,oBAAL,CAA0Bt1E,MAA1B,CAAiC,KAAKivF,qBAAL,CAA2B1tG,gBAA5D,CAAjC,GAA+G,KAAK0tG,qBAAL,CAA2BpuC,WAA1I,GAAsJ,IAA7J;AAAkK;;AAAY,MAAR+0B,QAAQ,GAAE;AAAC,WAAO,KAAKsZ,aAAL,CAAmBtZ,QAA1B;AAAmC;;AAAkB,MAAd0Z,cAAc,GAAE;AAAC,UAAM3wG,CAAC,GAAC,KAAKuF,GAAL,IAAR;AAAA,UAAqBrF,CAAC,GAAC,EAAvB;AAA0B,WAAO,QAAM,KAAKgwG,kBAAX,IAA+BhwG,CAAC,CAAC4E,IAAF,CAAO,KAAKorG,kBAAZ,CAA/B,EAA+DhwG,CAAC,CAAC4E,IAAF,CAAO;AAACzB,MAAAA,MAAM,EAACrD,CAAC,EAAEiW,OAAX;AAAmB9M,MAAAA,MAAM,EAACnJ,CAAC,EAAEiW,OAAH,EAAY9S;AAAtC,KAAP,EAAyD;AAACgG,MAAAA,MAAM,EAACnJ,CAAC,EAAEmJ;AAAX,KAAzD,EAA4E;AAAC9F,MAAAA,MAAM,EAACrD,CAAC,EAAEgW,MAAX;AAAkB7M,MAAAA,MAAM,EAACnJ,CAAC,EAAEgW,MAAH,EAAW7M;AAApC,KAA5E,EAAwH;AAAC9F,MAAAA,MAAM,EAACrD,CAAC,EAAEiW,OAAX;AAAmB9M,MAAAA,MAAM,EAACnJ,CAAC,EAAEiW,OAAH,EAAY7S;AAAtC,KAAxH,CAA/D,EAA+OlD,CAAtP;AAAwP;;AAAyB,MAArBowG,qBAAqB,GAAE;AAAC,QAAG,KAAK1oB,SAAR,EAAkB,OAAO,KAAKpjF,IAAL,CAAU,uBAAV,KAAoC;AAAC+zC,MAAAA,QAAQ,EAAC,CAAC;AAAX,KAA3C;AAAyD,QAAIv4C,CAAJ;AAAM,QAAG,KAAK4wG,cAAL,CAAoB,KAAKD,cAAzB,EAAyCzwG,CAAC,IAAE;AAAC,YAAMS,CAAC,GAAC,KAAKkwG,8BAAL,CAAoC3wG,CAApC,CAAR;;AAA+C,UAAGS,CAAC,CAACkN,MAAF,GAAS,CAAZ,EAAc;AAAC,cAAM3N,CAAC,GAAC,KAAK4wG,qCAAL,CAA2C9wG,CAA3C,EAA6CW,CAA7C,CAAR;;AAAwD,gBAAMT,CAAN,KAAUF,CAAC,GAACE,CAAZ;AAAe;;AAAA,aAAO,MAAIF,CAAC,EAAE6N,MAAd;AAAqB,KAAvM,KAA2M,MAAI7N,CAAC,EAAE6N,MAArN,EAA4N,OAAM;AAAC0qC,MAAAA,QAAQ,EAAC,CAAC;AAAX,KAAN;;AAAoB,UAAMr4C,CAAC,GAAC,KAAK6wG,8BAAL,CAAoC/wG,CAApC,CAAR;;AAA+C,WAAM;AAAC4C,MAAAA,gBAAgB,EAAC1C,CAAC,EAAE0C,gBAAH,IAAqB,IAAvC;AAA4Cs/D,MAAAA,WAAW,EAAChiE,CAAC,EAAEgiE,WAAH,IAAgB,IAAxE;AAA6E3pB,MAAAA,QAAQ,EAAC,CAAC;AAAvF,KAAN;AAAgG;;AAAiB,MAAbg4D,aAAa,GAAE;AAAC,QAAG,CAAC,KAAK7Z,QAAL,CAAcO,QAAlB,EAA2B,OAAO,KAAKzyF,IAAL,CAAU,eAAV,KAA4B;AAAC+zC,MAAAA,QAAQ,EAAC,CAAC;AAAX,KAAnC;AAAiD,UAAMv4C,CAAC,GAAC,KAAKuF,GAAL,IAAR;AAAA,UAAqBrF,CAAC,GAAC,KAAK0C,gBAA5B;AAA6C,QAAG,CAAC1C,CAAJ,EAAM,OAAM;AAACq4C,MAAAA,QAAQ,EAAC,KAAK+3D,qBAAL,CAA2B/3D;AAArC,KAAN;AAAqD,QAAI53C,CAAJ;;AAAM,UAAML,CAAC,GAAC,KAAKswG,cAAL,CAAoB,CAAC;AAACvtG,MAAAA,MAAM,EAACrD,CAAC,EAAEiW,OAAX;AAAmB9M,MAAAA,MAAM,EAACnJ,CAAC,EAAEiW,OAAH,EAAY9S;AAAtC,KAAD,EAAmD;AAACgG,MAAAA,MAAM,EAACnJ,CAAC,EAAEmJ;AAAX,KAAnD,CAApB,EAA4FnJ,CAAC,IAAE,EAAE,EAAE,cAAaA,CAAf,KAAmB,CAACA,CAAC,CAACi3F,QAAF,EAAYr0F,gBAAZ,CAA6Bye,MAA7B,CAAoCnhB,CAApC,CAAtB,MAAgES,CAAC,GAACX,CAAF,EAAI,CAAC,CAArE,CAA/F,EAAyKA,CAAC,IAAE,cAAaA,CAAzL,CAAR;;AAAqM,QAAGW,CAAH,EAAK;AAAC,aAAM;AAACs2F,QAAAA,QAAQ,EAACt2F,CAAC,CAACs2F,QAAZ;AAAqB1+C,QAAAA,QAAQ,EAAC,CAAC;AAA/B,OAAN;AAAwC;;AAAA,WAAM;AAACA,MAAAA,QAAQ,EAACj4C;AAAV,KAAN;AAAmB;;AAAwB,MAApBowG,oBAAoB,GAAE;AAAC,QAAG,CAAC,KAAKha,QAAL,CAAcQ,eAAf,IAAgC,KAAKtP,SAAL,IAAgB,KAAKpjF,IAAL,CAAU,sBAAV,GAAmC0yF,eAAtF,EAAsG,OAAO,KAAK1yF,IAAL,CAAU,sBAAV,KAAmC;AAAC+zC,MAAAA,QAAQ,EAAC,CAAC;AAAX,KAA1C;AAAwD,QAAIv4C,CAAC,GAAC,EAAN;;AAAS,UAAME,CAAC,GAAC,KAAK0wG,cAAL,CAAoB,KAAKD,cAAzB,EAAyCzwG,CAAC,IAAE;AAAC,YAAMS,CAAC,GAACH,0GAAC,CAACN,CAAD,CAAT;AAAa,aAAM,CAAC,CAACS,CAAF,KAAMX,CAAC,GAAC;AAACk3F,QAAAA,eAAe,EAACv2F,CAAjB;AAAmB09B,QAAAA,OAAO,EAACn+B,CAAC,CAAC0C,gBAAF,EAAoBy7B,OAA/C;AAAuDu5D,QAAAA,aAAa,EAAC13F,CAAC,CAAC0C,gBAAF,EAAoBg1F;AAAzF,OAAF,EAA0G,CAAC,CAAjH,CAAN;AAA0H,KAApL,EAAuL53F,CAAC,IAAEc,mGAAC,CAACd,CAAD,CAA3L,CAAR;;AAAyM,WAAM,EAAC,GAAGA,CAAJ;AAAMu4C,MAAAA,QAAQ,EAACr4C;AAAf,KAAN;AAAwB;;AAAyB,MAArB8wG,qBAAqB,GAAE;AAAC,QAAG,KAAKppB,SAAL,IAAgB,CAAC,KAAK8O,QAAL,CAAc19E,MAAlC,EAAyC,OAAO,KAAKxU,IAAL,CAAU,uBAAV,KAAoC;AAAC+zC,MAAAA,QAAQ,EAAC,CAAC;AAAX,KAA3C;AAAyD,QAAG,CAAC,KAAK31C,gBAAT,EAA0B,OAAM;AAAC21C,MAAAA,QAAQ,EAAC,KAAK+3D,qBAAL,CAA2B/3D;AAArC,KAAN;;AAAqD,UAAMv4C,CAAC,GAAC,EAAR;AAAA,UAAWE,CAAC,GAAC,KAAK0wG,cAAL,CAAoB,KAAKD,cAAzB,EAAyCzwG,CAAC,IAAE;AAAC,YAAMS,CAAC,GAAC,iBAAgBT,CAAhB,IAAmBA,CAAC,CAAC+wG,WAArB,KAAmC,QAAM/wG,CAAC,CAAC6qC,UAAR,GAAmB,CAAC7qC,CAAC,CAAC6qC,UAAH,CAAnB,GAAkC,EAArE,CAAR;AAAA,YAAiFzqC,CAAC,GAAC,KAAKs7F,gCAAL,GAAsC,IAAtC,GAA2Cj7F,CAAC,CAAC,CAAD,CAA/H;AAAA,YAAmIP,CAAC,GAACO,CAAC,CAAC+O,IAAF,CAAQ1P,CAAC,IAAEA,CAAC,CAAC4C,gBAAF,CAAmBye,MAAnB,CAA0B,KAAKze,gBAA/B,CAAX,KAA+DtC,CAApM;AAAsM,UAAGF,CAAH,EAAK,OAAOJ,CAAC,CAAC8E,IAAF,CAAO;AAACkU,QAAAA,MAAM,EAAC5Y,CAAR;AAAUoJ,QAAAA,KAAK,EAACtJ;AAAhB,OAAP,GAA2B,CAAC,CAAnC;AAAqC,UAAG,KAAK2wG,8BAAL,CAAoC3wG,CAApC,EAAuC2N,MAAvC,GAA8C,CAAjD,EAAmD,KAAI,MAAMnN,CAAV,IAAeC,CAAf,EAAiBX,CAAC,CAAC8E,IAAF,CAAO;AAACkU,QAAAA,MAAM,EAACtY,CAAR;AAAU8I,QAAAA,KAAK,EAACtJ;AAAhB,OAAP;AAA2B,aAAM,CAAC,CAAP;AAAS,KAArY,CAAb;;AAAqZ,WAAM;AAACgxG,MAAAA,UAAU,EAAClxG,CAAZ;AAAcu4C,MAAAA,QAAQ,EAACr4C;AAAvB,KAAN;AAAgC;;AAAe,MAAXswG,WAAW,GAAE;AAAA;;AAAC,UAAK;AAACU,MAAAA,UAAU,EAAClxG,CAAZ;AAAcu4C,MAAAA,QAAQ,EAACr4C;AAAvB,QAA0B,KAAK8wG,qBAApC;AAA0D,QAAG9wG,CAAH,EAAK,OAAM;AAACq4C,MAAAA,QAAQ,EAACr4C;AAAV,KAAN;AAAmB,QAAG,QAAMF,CAAN,IAAS,MAAIA,CAAC,CAAC6N,MAAlB,EAAyB,OAAM;AAAC0qC,MAAAA,QAAQ,EAAC,CAAC;AAAX,KAAN;AAAoB,QAAG,CAAC,KAAK31C,gBAAT,EAA0B,OAAM;AAAC21C,MAAAA,QAAQ,EAAC,KAAK+3D,qBAAL,CAA2B/3D;AAArC,KAAN;;AAAqD,UAAM73C,CAAC,GAAC,KAAKywG,oBAAL,CAA0BnxG,CAA1B,CAAR;AAAA,UAAqCC,CAAC,GAAC,KAAK2C,gBAA5C;;AAA6D,WAAOlC,CAAC,CAACsY,MAAF,CAASqI,MAAT,CAAgB,KAAK8uF,kBAAL,CAAwBpb,KAAxC,KAAgD90F,CAAC,CAACohB,MAAF,CAAS,KAAK8uF,kBAAL,CAAwBvtG,gBAAjC,CAAhD,GAAmG;AAACoW,MAAAA,MAAM,EAAC,KAAKm3F,kBAAL,CAAwBE,MAAhC;AAAuC93D,MAAAA,QAAQ,EAAC,QAAM,KAAK43D,kBAAL,CAAwBC,IAA9B,IAAoC,CAAC,KAAKD,kBAAL,CAAwBC,IAAxB,CAA6Bn0F;AAAlH,KAAnG,IAAgO,QAAM,KAAKk0F,kBAAL,CAAwBC,IAA9B,KAAqC,KAAKD,kBAAL,CAAwBC,IAAxB,GAA6B9vG,0DAAC,CAAC,KAAK6vG,kBAAL,CAAwBC,IAAzB,CAAnE,GAAmG,KAAKD,kBAAL,GAAwB;AAACpb,MAAAA,KAAK,EAACr0F,CAAC,CAACsY,MAAF,CAASvY,KAAT,EAAP;AAAwB4vG,MAAAA,MAAM,EAAC,IAA/B;AAAoCztG,MAAAA,gBAAgB,EAAC3C,CAAC,CAACQ,KAAF,EAArD;AAA+D2vG,MAAAA,IAAI,EAACzvG,+DAAC;AAAA,qNAAE,WAAMX,CAAN,EAAS;AAAC,cAAG;AAAC,kBAAME,CAAC,SAAOc,gFAAC,CAACN,CAAC,CAACsY,MAAH,EAAU/Y,CAAV,EAAY,gBAAeS,CAAC,CAAC8I,KAAjB,GAAuB9I,CAAC,CAAC8I,KAAF,CAAQ7G,UAA/B,GAA0C,KAAK,CAA3D,EAA6D3C,CAA7D,CAAf;AAA+E,iBAAI,CAACmwG,kBAAL,GAAwB,EAAC,GAAG,KAAI,CAACA,kBAAT;AAA4BC,cAAAA,IAAI,EAAC,IAAjC;AAAsCC,cAAAA,MAAM,EAACnwG;AAA7C,aAAxB;AAAwE,WAA3J,CAA2J,OAAMA,CAAN,EAAQ;AAAC,gBAAGE,gEAAC,CAACJ,CAAD,CAAJ,EAAQ;AAAO,iBAAI,CAACmwG,kBAAL,GAAwB,EAAC,GAAG,KAAI,CAACA,kBAAT;AAA4BC,cAAAA,IAAI,EAAC;AAAjC,aAAxB;AAA+D;AAAC,SAA/P;;AAAA;AAAA;AAAA;AAAA;AAArE,KAA3H,EAAmc;AAAC73D,MAAAA,QAAQ,EAAC,CAAC;AAAX,KAAnqB,CAAP;AAAyrB;;AAAAu4D,EAAAA,qCAAqC,CAAC9wG,CAAD,EAAGE,CAAH,EAAK;AAAC,QAAG,QAAMF,CAAT,EAAW,OAAOE,CAAP;AAAS,UAAMS,CAAC,GAAC,IAAI4F,KAAJ,EAAR;;AAAkB,SAAI,MAAMjG,CAAV,IAAeN,CAAf,EAAiB,KAAI,MAAMA,CAAV,IAAeE,CAAf,EAAiB;AAAC,UAAG,CAACI,CAAC,CAACsC,gBAAF,CAAmBye,MAAnB,CAA0BrhB,CAAC,CAAC4C,gBAA5B,CAAJ,EAAkD;AAAS,YAAM1C,CAAC,GAACoB,CAAC,CAAChB,CAAC,CAAC4hE,WAAH,EAAeliE,CAAC,CAACkiE,WAAjB,CAAT;;AAAuC,UAAG,CAAC,CAAD,KAAKhiE,CAAR,EAAU;AAACS,QAAAA,CAAC,CAACmE,IAAF,CAAO;AAAClC,UAAAA,gBAAgB,EAACtC,CAAC,CAACsC,gBAApB;AAAqCs/D,UAAAA,WAAW,EAAChiE;AAAjD,SAAP;AAA4D;AAAM;AAAC;;AAAA,WAAOS,CAAC,CAACkN,MAAF,GAAS,CAAT,GAAWlN,CAAX,GAAa,IAApB;AAAyB;;AAAAowG,EAAAA,8BAA8B,CAAC/wG,CAAD,EAAG;AAAC,UAAME,CAAC,GAAC,KAAK8vG,uBAAb;AAAqC,WAAO,QAAMhwG,CAAN,IAASA,CAAC,CAAC6N,MAAF,GAAS,CAAlB,GAAoB3N,CAAC,GAAC;AAAC0C,MAAAA,gBAAgB,EAAC1C,CAAlB;AAAoBgiE,MAAAA,WAAW,EAAC;AAAhC,KAAD,GAAuC,IAA5D,IAAkE,QAAMhiE,CAAN,IAASF,CAAC,CAAC6N,MAAF,GAAS,CAAlB,IAAqB7N,CAAC,CAACwX,IAAF,CAAQ,CAAC;AAAC5U,MAAAA,gBAAgB,EAAC5C;AAAlB,KAAD,KAAwBA,CAAC,CAACqhB,MAAF,CAASnhB,CAAT,CAAhC,CAArB,KAAqEF,CAAC,GAACA,CAAC,CAAC2G,MAAF,CAAU,CAAC;AAAC/D,MAAAA,gBAAgB,EAAC5C;AAAlB,KAAD,KAAwBA,CAAC,CAACqhB,MAAF,CAASnhB,CAAT,CAAlC,CAAvE,GAAwHF,CAAC,CAAC6N,MAAF,GAAS,CAAT,IAAY7N,CAAC,CAACwX,IAAF,CAAQ,CAAC;AAAC0qD,MAAAA,WAAW,EAACliE;AAAb,KAAD,KAAmBA,CAAC,KAAGwB,+DAA/B,CAAZ,KAAuDxB,CAAC,GAACA,CAAC,CAAC2G,MAAF,CAAU,CAAC;AAACu7D,MAAAA,WAAW,EAACliE;AAAb,KAAD,KAAmBA,CAAC,KAAGwB,+DAAjC,CAAzD,CAAxH,EAA6NxB,CAAC,CAAC,CAAD,CAAhS,CAAP;AAA4S;;AAAA6wG,EAAAA,8BAA8B,CAAC7wG,CAAD,EAAG;AAAC,UAAME,CAAC,GAAC,gCAA+BF,CAA/B,IAAkCA,CAAC,CAACqxG,0BAApC,KAAiErxG,CAAC,CAAC4C,gBAAF,GAAmB,CAAC5C,CAAC,CAAC4C,gBAAH,CAAnB,GAAwC,EAAzG,CAAR;AAAqH,QAAG,MAAI1C,CAAC,CAAC2N,MAAT,EAAgB,OAAM,EAAN;AAAS,UAAMlN,CAAC,GAAC,EAAR;;AAAW,SAAI,MAAML,CAAV,IAAeJ,CAAf,EAAiB;AAAC,YAAMA,CAAC,GAAC,KAAKi3F,0BAAL,CAAgC72F,CAAhC,EAAkCN,CAAlC,CAAR;;AAA6C,UAAG,QAAME,CAAT,EAAW;AAAC,cAAMF,CAAC,GAACE,CAAC,CAAC0mF,WAAF,IAAe,CAAC;AAAChkF,UAAAA,gBAAgB,EAACtC,CAAlB;AAAoB4hE,UAAAA,WAAW,EAAC;AAAhC,SAAD,CAAvB;;AAA+D,aAAI,MAAK;AAACt/D,UAAAA,gBAAgB,EAAC1C,CAAlB;AAAoBgiE,UAAAA,WAAW,EAAC5hE;AAAhC,SAAT,IAA8CN,CAA9C,EAAgD,KAAK47F,gCAAL,IAAuC,QAAM,KAAKjF,oBAAlD,IAAwE,CAACz2F,CAAC,CAACmhB,MAAF,CAAS,KAAKs1E,oBAAd,CAAzE,IAA8Gh2F,CAAC,CAACmE,IAAF,CAAO;AAAClC,UAAAA,gBAAgB,EAAC1C,CAAlB;AAAoBgiE,UAAAA,WAAW,EAAC5hE;AAAhC,SAAP,CAA9G;AAAyJ;AAAC;;AAAA,WAAOK,CAAP;AAAS;;AAAAwwG,EAAAA,oBAAoB,CAACnxG,CAAD,EAAG;AAAC,UAAME,CAAC,GAAC,KAAK0C,gBAAb;AAA8B,WAAO5C,CAAC,CAAC0P,IAAF,CAAQ,CAAC;AAACsJ,MAAAA,MAAM,EAAChZ;AAAR,KAAD,KAAcE,CAAC,CAACmhB,MAAF,CAASrhB,CAAC,CAAC4C,gBAAX,CAAtB,KAAsD5C,CAAC,CAAC,CAAD,CAA9D;AAAkE;;AAAA4wG,EAAAA,cAAc,CAAC5wG,CAAD,EAAGE,CAAH,EAAKS,CAAC,GAAC,MAAI,CAAC,CAAZ,EAAc;AAAC,QAAG,aAAW,KAAK2wG,UAAL,CAAgB,KAAK/rG,GAAL,IAAhB,CAAd,EAA4C,OAAM,CAAC,CAAP;AAAS,UAAMjF,CAAC,GAAC,IAAIsB,CAAJ,CAAMjB,CAAN,EAAQT,CAAR,CAAR;;AAAmB,SAAI,MAAME,CAAV,IAAeJ,CAAf,EAAiB,IAAG,KAAKuxG,kBAAL,CAAwBnxG,CAAxB,EAA0BE,CAA1B,GAA6BA,CAAC,CAACsa,IAAF,IAAQta,CAAC,CAACkxG,UAAF,KAAe,KAAKvB,kBAA5D,EAA+E;;AAAM,WAAO3vG,CAAC,CAACi4C,QAAT;AAAkB;;AAAAg5D,EAAAA,kBAAkB,CAACvxG,CAAD,EAAGE,CAAH,EAAK;AAAC,QAAGF,CAAC,CAACmJ,MAAL,EAAY;AAAC,cAAO,KAAKmoG,UAAL,CAAgBtxG,CAAC,CAACqD,MAAlB,CAAP;AAAkC,aAAI,SAAJ;AAAc,iBAAOnD,CAAC,CAACq4C,QAAF,GAAW,CAAC,CAAZ,EAAc,KAAI,EAAEr4C,CAAC,CAACsxG,UAA7B;;AAAwC,aAAI,QAAJ;AAAa;AAArG;;AAA4G,WAAI,MAAM7wG,CAAV,IAAeX,CAAC,CAACmJ,MAAjB,EAAwB,IAAGjJ,CAAC,CAACuxG,WAAF,CAAc9wG,CAAd,CAAH,EAAoB;AAAC,gBAAO,KAAK2wG,UAAL,CAAgB3wG,CAAhB,CAAP;AAA2B,eAAI,QAAJ;AAAa;;AAAS,eAAI,SAAJ;AAAcT,YAAAA,CAAC,CAACq4C,QAAF,GAAW,CAAC,CAAZ,EAAc,EAAEr4C,CAAC,CAACsxG,UAAlB;AAA6B;;AAAM,eAAI,QAAJ;AAAa,gBAAGtxG,CAAC,CAACq4C,QAAF,KAAar4C,CAAC,CAAC0a,IAAF,GAAO1a,CAAC,CAACwxG,SAAF,CAAY/wG,CAAZ,CAApB,GAAoCT,CAAC,CAAC0a,IAAF,IAAQ1a,CAAC,CAACsxG,UAAF,KAAe,KAAKvB,kBAAnE,EAAsF;AAAM,wBAAWtvG,CAAX,IAAc,KAAK4wG,kBAAL,CAAwB;AAACpoG,cAAAA,MAAM,EAACxI,CAAC,CAACwI;AAAV,aAAxB,EAA0CjJ,CAA1C,CAAd;AAA3M;;AAAsQ,YAAGA,CAAC,CAAC0a,IAAF,IAAQ1a,CAAC,CAACsxG,UAAF,KAAe,KAAKvB,kBAA/B,EAAkD;AAAM;AAAC;AAAC;;AAAAqB,EAAAA,UAAU,CAACtxG,CAAD,EAAG;AAAC,WAAOA,CAAC,IAAE,gBAAeA,CAAlB,IAAqB,QAAMA,CAAC,CAACyF,UAA7B,GAAwC,iBAAezF,CAAC,CAACyF,UAAjB,IAA6BzF,CAAC,CAACkF,IAAF,GAASnB,KAAT,CAAgB/D,CAAC,IAAE;AAACU,MAAAA,mEAAC,CAACV,CAAD,CAAD;AAAK,KAAzB,GAA4B,SAAzD,IAAoEA,CAAC,CAACyF,UAA9G,GAAyH,QAAhI;AAAyI;;AAAtlN,CAArB;AAA6mNzF,uDAAC,CAAC,CAACC,sFAAC,EAAF,CAAD,EAAOyB,CAAC,CAACyG,SAAT,EAAmB,UAAnB,EAA8B,KAAK,CAAnC,CAAD,EAAuCnI,uDAAC,CAAC,CAACC,sFAAC,CAAC;AAACm2C,EAAAA,aAAa,EAAC,CAAC;AAAhB,CAAD,CAAF,CAAD,EAAyB10C,CAAC,CAACyG,SAA3B,EAAqC,KAArC,EAA2C,KAAK,CAAhD,CAAxC,EAA2FnI,uDAAC,CAAC,CAACC,sFAAC,CAAC;AAACm2C,EAAAA,aAAa,EAAC,CAAC;AAAhB,CAAD,CAAF,CAAD,EAAyB10C,CAAC,CAACyG,SAA3B,EAAqC,4BAArC,EAAkE,KAAK,CAAvE,CAA5F,EAAsKnI,uDAAC,CAAC,CAACC,sFAAC,EAAF,CAAD,EAAOyB,CAAC,CAACyG,SAAT,EAAmB,yBAAnB,EAA6C,KAAK,CAAlD,CAAvK,EAA4NnI,uDAAC,CAAC,CAACC,sFAAC,EAAF,CAAD,EAAOyB,CAAC,CAACyG,SAAT,EAAmB,sBAAnB,EAA0C,KAAK,CAA/C,CAA7N,EAA+QnI,uDAAC,CAAC,CAACC,sFAAC,EAAF,CAAD,EAAOyB,CAAC,CAACyG,SAAT,EAAmB,oBAAnB,EAAwC,KAAK,CAA7C,CAAhR,EAAgUnI,uDAAC,CAAC,CAACC,sFAAC,EAAF,CAAD,EAAOyB,CAAC,CAACyG,SAAT,EAAmB,oBAAnB,EAAwC,KAAK,CAA7C,CAAjU,EAAiXnI,uDAAC,CAAC,CAACC,sFAAC,EAAF,CAAD,EAAOyB,CAAC,CAACyG,SAAT,EAAmB,kCAAnB,EAAsD,KAAK,CAA3D,CAAlX,EAAgbnI,uDAAC,CAAC,CAACC,sFAAC,EAAF,CAAD,EAAOyB,CAAC,CAACyG,SAAT,EAAmB,WAAnB,EAA+B,KAAK,CAApC,CAAjb,EAAwdnI,uDAAC,CAAC,CAACC,sFAAC,CAAC;AAACoI,EAAAA,QAAQ,EAAC,CAAC;AAAX,CAAD,CAAF,CAAD,EAAoB3G,CAAC,CAACyG,SAAtB,EAAgC,OAAhC,EAAwC,IAAxC,CAAzd,EAAugBnI,uDAAC,CAAC,CAACC,sFAAC,CAAC;AAACoI,EAAAA,QAAQ,EAAC,CAAC;AAAX,CAAD,CAAF,CAAD,EAAoB3G,CAAC,CAACyG,SAAtB,EAAgC,sBAAhC,EAAuD,IAAvD,CAAxgB,EAAqkBnI,uDAAC,CAAC,CAACC,sFAAC,CAAC;AAACoI,EAAAA,QAAQ,EAAC,CAAC;AAAX,CAAD,CAAF,CAAD,EAAoB3G,CAAC,CAACyG,SAAtB,EAAgC,kBAAhC,EAAmD,IAAnD,CAAtkB,EAA+nBnI,uDAAC,CAAC,CAACC,sFAAC,CAAC;AAACoI,EAAAA,QAAQ,EAAC,CAAC;AAAX,CAAD,CAAF,CAAD,EAAoB3G,CAAC,CAACyG,SAAtB,EAAgC,QAAhC,EAAyC,IAAzC,CAAhoB,EAA+qBnI,uDAAC,CAAC,CAACC,sFAAC,CAAC;AAACoI,EAAAA,QAAQ,EAAC,CAAC;AAAX,CAAD,CAAF,CAAD,EAAoB3G,CAAC,CAACyG,SAAtB,EAAgC,iBAAhC,EAAkD,IAAlD,CAAhrB,EAAwuBnI,uDAAC,CAAC,CAACC,sFAAC,CAAC;AAACoI,EAAAA,QAAQ,EAAC,CAAC;AAAX,CAAD,CAAF,CAAD,EAAoB3G,CAAC,CAACyG,SAAtB,EAAgC,SAAhC,EAA0C,IAA1C,CAAzuB,EAAyxBnI,uDAAC,CAAC,CAACC,sFAAC,CAAC;AAACoI,EAAAA,QAAQ,EAAC,CAAC;AAAX,CAAD,CAAF,CAAD,EAAoB3G,CAAC,CAACyG,SAAtB,EAAgC,eAAhC,EAAgD,IAAhD,CAA1xB,EAAg1BnI,uDAAC,CAAC,CAACC,sFAAC,CAAC;AAACoI,EAAAA,QAAQ,EAAC,CAAC;AAAX,CAAD,CAAF,CAAD,EAAoB3G,CAAC,CAACyG,SAAtB,EAAgC,aAAhC,EAA8C,IAA9C,CAAj1B,EAAq4BnI,uDAAC,CAAC,CAACC,sFAAC,CAAC;AAACoI,EAAAA,QAAQ,EAAC,CAAC;AAAX,CAAD,CAAF,CAAD,EAAoB3G,CAAC,CAACyG,SAAtB,EAAgC,UAAhC,EAA2C,IAA3C,CAAt4B,EAAu7BnI,uDAAC,CAAC,CAACC,sFAAC,CAAC;AAACoI,EAAAA,QAAQ,EAAC,CAAC;AAAX,CAAD,CAAF,CAAD,EAAoB3G,CAAC,CAACyG,SAAtB,EAAgC,gBAAhC,EAAiD,IAAjD,CAAx7B,EAA++BnI,uDAAC,CAAC,CAACC,sFAAC,CAAC;AAACoI,EAAAA,QAAQ,EAAC,CAAC;AAAX,CAAD,CAAF,CAAD,EAAoB3G,CAAC,CAACyG,SAAtB,EAAgC,uBAAhC,EAAwD,IAAxD,CAAh/B,EAA8iCnI,uDAAC,CAAC,CAACC,sFAAC,CAAC;AAACoI,EAAAA,QAAQ,EAAC,CAAC;AAAX,CAAD,CAAF,CAAD,EAAoB3G,CAAC,CAACyG,SAAtB,EAAgC,eAAhC,EAAgD,IAAhD,CAA/iC,EAAqmCnI,uDAAC,CAAC,CAACC,sFAAC,CAAC;AAACoI,EAAAA,QAAQ,EAAC,CAAC;AAAX,CAAD,CAAF,CAAD,EAAoB3G,CAAC,CAACyG,SAAtB,EAAgC,sBAAhC,EAAuD,IAAvD,CAAtmC,EAAmqCnI,uDAAC,CAAC,CAACC,sFAAC,CAAC;AAACoI,EAAAA,QAAQ,EAAC,CAAC;AAAX,CAAD,CAAF,CAAD,EAAoB3G,CAAC,CAACyG,SAAtB,EAAgC,uBAAhC,EAAwD,IAAxD,CAApqC,EAAkuCnI,uDAAC,CAAC,CAACC,sFAAC,EAAF,CAAD,EAAOyB,CAAC,CAACyG,SAAT,EAAmB,aAAnB,EAAiC,IAAjC,CAAnuC,EAA0wCnI,uDAAC,CAAC,CAACC,sFAAC,EAAF,CAAD,EAAOyB,CAAC,CAACyG,SAAT,EAAmB,oBAAnB,EAAwC,KAAK,CAA7C,CAA3wC,EAA2zCzG,CAAC,GAAC1B,uDAAC,CAAC,CAACa,uFAAC,CAAC,oCAAD,CAAF,CAAD,EAA2Ca,CAA3C,CAA9zC;;AAA42C,MAAME,CAAN,CAAO;AAACa,EAAAA,WAAW,CAACzC,CAAD,EAAGE,CAAH,EAAK;AAAC,SAAKuxG,WAAL,GAAiBzxG,CAAjB,EAAmB,KAAK0xG,SAAL,GAAexxG,CAAlC,EAAoC,KAAKsxG,UAAL,GAAgB,CAAC,CAArD,EAAuD,KAAKj5D,QAAL,GAAc,CAAC,CAAtE,EAAwE,KAAK39B,IAAL,GAAU,CAAC,CAAnF;AAAqF;;AAAvG;;AAAwG,SAAStZ,CAAT,CAAWtB,CAAX,EAAaE,CAAb,EAAe;AAAC,SAAO,QAAMF,CAAN,GAAQ,QAAME,CAAN,GAAQF,CAAC,KAAGE,CAAJ,IAAOF,CAAf,GAAiBA,CAAzB,GAA2BE,CAAlC;AAAoC;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACJh2R;AACA;AACA;AACA;AAC8B,YAAY,iDAAC,yBAAyB,iDAAC,0DAA0D,iDAAC,eAA6S;;;;;;;;;;;;;;;;;;;;;;;;;ACJ7a;AACA;AACA;AACA;AACyc,oBAAoB,yDAAC,CAAC,eAAe,oBAAoB,qEAAO,oBAAoB,qEAAC,kBAAkB,qEAAC,CAAC,UAAU,mKAAmK,uDAAC,EAAE,sFAAC,EAAE,KAAK,iDAAC,CAAC,+BAA+B,uDAAC,EAAE,sFAAC,EAAE,KAAK,iDAAC,CAAC,mCAAmC,uDAAC,EAAE,sFAAC,sCAAsC,uDAAC,EAAE,sFAAC,wCAAwC,uDAAC,EAAE,sFAAC,4CAA4C,UAA+B;;;;;;;;;;;;;;;;;;ACJh+B;AACA;AACA;AACA;AAC8J,QAAQ,iBAAiB,iCAAiC,gCAAgC,kBAAkB,mBAAmB,6EAAC,sBAAsB,qBAAqB,oBAAoB,0BAA0B,6EAAC,wBAAwB,UAAU,+FAA+F,iCAAiC,4BAA4B,0BAA0B,4EAAC,uBAAuB,6CAA6C,uCAAuC,OAAO,kDAAkD,uBAAuB,uBAAuB,MAAM,uCAAuC,SAAS,WAAW,iCAAiC,4BAA4B,QAAQ,0BAA0B,4EAAC,wCAAwC,sBAAkD;;;;;;;;;;;;;;;;;;;;;;;ACJ9hC;AACA;AACA;AACA;AACgY,QAAQ,iBAAiB,iDAAiD,QAAQ,eAAe,wDAAwD,4DAAC,uBAAuB,4DAAC,2BAA2B,4DAAC,oBAAoB,uDAAC,wFAAwF,sDAAC,kCAAkC,oBAAoB,4DAA4D,UAAU,4BAA4B,2DAAC,4BAA4B,2DAAC,aAAa,eAAe,2CAA2C,aAAa,qDAAqD,SAAS,iCAAiC,aAAa,QAAQ,oBAAoB,WAAW,+IAA+I,WAAW,uCAAuC,OAAO,+BAA+B,0BAA0B,aAAa,oCAAoC,OAAO,8BAA8B,QAAQ,2EAA2E,UAAU,oBAAoB,cAAc,4BAA4B,WAAW,MAAM,8DAAC,qBAAqB,aAAa,qCAAqC,qCAAqC,uEAAC,IAAI,QAAQ,8FAA8F,GAAG,qEAAC,eAAe,qEAAC,GAAG,kIAAkI,OAAO,0BAA0B,cAAc,oBAAoB,0BAA0B,OAAO,0BAA0B,UAAU,8BAA8B,0CAA0C,uEAAC,2BAA2B,QAAQ,mDAAmD,8BAA8B,+DAA+D,qBAAqB,SAAS,6EAA6E,UAAU,WAAW,KAAK,mBAAmB,2BAA2B,sBAAsB,cAAc,mGAAmG,WAAW,KAAK,2EAA2E,mDAAmD,eAAe,sFAAsF,gBAAgB,sEAAsE,6DAAC,OAAO,iCAAiC,IAAI,QAAQ,KAAK,kEAAkE,kCAAkC,cAAc,8DAA8D,oBAAoB,8FAA8F,mBAAmB,6FAA6F,0BAA0B,2EAA2E,YAAY,kBAAkB,MAAM,yCAAyC,+BAA+B,IAAI,2BAA2B,SAAS,wBAAwB,oEAAC,8GAA8G,aAAyC;;;;;;;;;;;;;;;;ACJz0H;AACA;AACA;AACA;AACA,MAAM,aAAa,iFAAiF,SAAS,GAA4B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACJzI;AACA;AACA;AACA;AACqqB,aAAa,uBAAuB,MAAM,aAAa,y/CAAy/C,SAAS,GAAG,o6BAAo6B,cAAc,gDAAgD,QAAQ,2DAAC,QAAQ,2DAAC,MAAM,2DAAC,OAAO,2DAAC,WAAW,2DAAC,WAAW,QAAQ,aAAa,QAAQ,eAAe,4BAA4B,mBAAmB,0DAA0D,cAAc,eAAe,uDAAC,wEAAwE,UAAU,mEAAC,wBAAwB,6DAA6D,qEAAa,iBAAiB,4DAAC,oBAAoB,4DAAC,2CAA2C,4DAAC,oFAAoF,6DAAC,MAAM,gFAA0B,qBAAqB,2DAAC,EAAE,sEAAsE,mEAAC,QAAQ,UAAU,mEAAmE,2DAAC,qEAAqE,sBAAsB,4HAA4H,2GAA2G,IAAI,kBAAkB,wBAAwB,2HAA2H,mEAAC,OAAO,gCAAgC,SAAS,uBAAuB,8CAA8C,8DAAM,6CAA6C,aAAa,OAAO,8DAA8D,kDAAkD,8DAAM,qBAAqB,gBAAgB,cAAc,WAAW,kBAAkB,aAAa,6CAA6C,8DAAM,mHAAmH,YAAY,mBAAmB,gBAAgB,0DAA0D,8BAA8B,mBAAmB,KAAK,8DAAM,GAAG,2DAAC,MAAM,2DAAC,kCAAkC,MAAM,KAAK,qEAAa,GAAG,2DAAC,8BAA8B,KAAK,mEAAW,EAAE,SAAS,2DAAC,sCAAsC,8DAAM,mDAAmD,2DAAC,sFAAsF,QAAQ,+DAA+D,KAAK,8DAAM,mIAAmI,MAAM,KAAK,qEAAa,wBAAwB,MAAM,6BAA6B,yDAAyD,YAAY,mBAAmB,2DAAC,6CAA6C,6BAA6B,qFAAqF,cAAc,yFAAyF,eAAe,wBAAwB,6BAA6B,GAAG,aAAa,2DAA2D,aAAa,+BAA+B,wFAAwF,KAAK,eAAe,QAAQ,+BAA+B,2BAA2B,KAAK,iBAAiB,qCAAqC,cAAc,gBAAgB,2BAA2B,kDAAkD,0BAA0B,SAAS,0BAA0B,WAAW,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,KAAK,WAAW,YAAY,kBAAkB,YAAY,gBAAgB,YAAY,cAAc,2DAA2D,gCAAgC,YAAY,uHAAuH,4HAA4H,GAAG,0BAA0B,EAAE,aAAa,2BAA2B,uMAAuM,yBAAyB,wCAAwC,kCAAkC,OAAO,2BAA2B,4BAA4B,GAAG,KAAK,wBAAwB,EAAE,kDAAkD,6BAA6B,IAAI,+BAA+B,6CAAC,mCAAmC,SAAS,iEAAW,6DAA6D,OAAO,qCAAqC,yKAAyK,6BAA6B,4MAA4M,wBAAwB,yEAAyE,uBAAuB,+DAA+D,yBAAyB,oHAAoH,WAAW,mBAAmB,cAAc,QAAQ,WAAW,wBAAwB,eAAe,2BAA2B,mBAAmB,+EAA+E,0EAAC,mBAAmB,wDAAC,6EAA6E,uDAAC,0CAA0C,4DAAC,wDAAwD,SAAS,oIAAoI,mBAAmB,0BAA0B,eAAe,wBAAwB,YAAY,aAAa,kGAAkG,eAAe,iBAAiB,gBAAgB,oBAAoB,kBAAkB,wCAAwC,gBAAgB,+BAA+B,kBAAkB,kCAAkC,gBAAgB,+BAA+B,QAAQ,cAAc,2FAA2F,8DAAM,oDAAoD,OAAO,qDAAqD,WAAW,kBAAkB,aAAa,oBAAoB,eAAe,2FAA2F,YAAY,mBAAmB,cAAc,qBAAqB,eAAe,gBAAgB,WAAW,yEAAyE,gBAAgB,6CAA6C,MAAM,yBAAyB,cAAc,8BAA8B,gBAAgB,kCAAkC,oBAAoB,yBAAyB,WAAW,SAAS,eAAe,qDAAqD,SAAS,GAAG,cAAc,qBAAqB,sBAAsB,IAAI,QAAQ,UAAU,gBAAgB,gBAAgB,IAAI,GAAG,gEAAC,KAAK,QAAQ,uEAAC,GAAG,iDAAiD,OAAO,2DAAC,OAAO,SAAS,0BAA0B,kBAAkB,6BAA6B,cAAmJ;;;;;;;;;;;;;;;;;;ACJx5V;AACA;AACA;AACA;AACmG,cAAc,QAAQ,4EAAC,GAAG,0DAA0D,sDAAC,sQAAsQ,sDAAC,wHAAwH,sDAAC,kIAAkI,sDAAC,6EAAgG;;;;;;;;;;;;;;;;ACJ3xB;AACA;AACA;AACA;AACA,wBAA2C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACJ3C;AACA;AACA;AACA;AACg0B,MAAM,gBAAgB,2BAA2B,eAAe,eAAe,mEAAC,kCAAkC,aAAa,qFAAqF,SAAS,GAAG,cAAc,QAAQ,mFAAC,KAAK,mFAAC,GAAG,cAAc,mDAAC,mBAAmB,mDAAC,iEAAiE,YAAY,QAAQ,mFAAC,KAAK,mFAAC,KAAK,mFAAC,GAAG,kBAAkB,GAAG,mDAAC,aAAa,QAAQ,sGAAC,MAAM,sGAAC,IAAI,SAAS,kFAAC,OAAO,oGAAC,WAAW,oGAAC,WAAW,MAAM,UAAU,CAAC,yFAAC,UAAU,eAAe,+DAAC,+BAA+B,8BAA8B,MAAM,0EAAC,CAAC,+EAAC,IAAI,0BAA0B,IAAI,+BAA+B,kBAAkB,8BAA8B,8CAA8C,iEAAiE,kBAAkB,qBAAqB,wBAAwB,wBAAwB,mEAAC,oCAAoC,gBAAgB,qBAAqB,4BAA4B,iBAAiB,aAAa,0BAA0B,wBAAwB,mEAAC,2BAA2B,0BAA0B,6CAA6C,OAAO,mEAAC,6BAA6B,cAAc,mCAAmC,OAAO,mEAAC,2BAA2B,kBAAkB,MAAM,+DAAC,2BAA2B,SAAS,2EAAC,uBAAuB,+DAAC,gBAAgB,mEAAC,QAAQ,cAAc,QAAQ,mFAAC,GAAG,iCAAiC,mDAAC,MAAM,aAAa,mBAAmB,QAAQ,sGAAC,IAAI,MAAM,oGAAC,iBAAiB,wFAAC,wBAAwB,oGAAC,UAAU,QAAQ,2EAAC,gCAAgC,+DAAC,yEAAyE,OAAO,mDAAC,cAAc,IAAI,cAAc,kBAAkB,2EAAC,mCAAmC,cAAc,kBAAkB,2EAAC,mCAAmC,cAAc,OAAO,+DAAC,2BAA2B,YAAY,2FAAC,eAAe,8DAAC,OAAO,uDAAC,WAA0S;;;;;;;;;;;;;;;;;;;;;;;ACJlhG;AACA;AACA;AACA;AACqU,oBAAoB,yDAAC,CAAC,cAAc,oHAAoH,uDAAC,EAAE,sFAAC,mDAAmD,uDAAC,EAAE,sFAAC,iFAAiF,uDAAC,EAAE,sFAAC,sCAAsC,cAAmC;;;;;;;;;;;;;;;;;;;;;ACJtrB;AACA;AACA;AACA;AACsN,uBAAuB,2DAAC,EAAE,QAAQ,uCAAuC,uBAAuB,oEAAoE,4CAA4C,yEAAC,IAAI,yEAAC,qBAAqB,uCAAuC,mBAAmB,GAAG,kHAAkH,kBAAkB,mBAAmB,oBAAoB,WAAW,6FAAC,sBAAsB,YAAY,2DAAC,CAAgE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACJxxB;AACA;AACA;AACA;AAC2T,gBAAgB,2BAA2B,kBAAkB,wDAAwD,mBAAmB,6EAAC,MAAM,kBAAkB,QAAQ,wEAAC,MAAM,kFAAC,IAAI,OAAO,0EAAC,QAAQ,wBAAwB,OAAO,6EAAC,QAAQ,6EAAC,iBAAiB,wEAAC,QAAQ,oBAAoB,6EAAC,QAAQ,6EAAC,QAAQ,QAAQ,wEAAC,MAAM,kFAAC,IAAI,WAAW,gFAAC,UAAU,yEAAC,MAAM,oBAAoB,6EAAC,QAAQ,UAAU,2EAAC,IAAI,OAAO,gFAAC,UAAU,gBAAgB,4BAA4B,sEAAC,aAAa,sEAAC,aAAa,kFAAC,QAAQ,kBAAkB,kBAAkB,sEAAC,aAAa,sEAAC,aAAa,kFAAC,QAAQ,gBAAgB,4CAA4C,6EAAC,UAAU,6EAAC,iBAAiB,2BAA2B,QAAQ,6EAAC,8BAA8B,SAAS,gCAAgC,gFAAC,WAAW,wDAAwD,gFAAC,WAAW,SAAS,kBAAkB,aAAa,6EAAC,oBAAoB,6EAAC,gBAAgB,kFAAC,QAAQ,wEAAC,iBAAiB,kFAAC,SAAS,UAAU,iBAAiB,gCAAgC,gFAAC,iBAAiB,aAAa,oCAAoC,gCAAgC,gFAAC,iBAAiB,qBAAqB,gCAAgC,gFAAC,iBAAiB,SAAS,MAAM,aAAa,oCAAoC,SAAS,GAAG,eAAe,mFAAC,KAAK,mFAAC,KAAK,mFAAC,KAAK,mFAAC,GAAyQ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACJv2D;AACA;AACA;AACA;AACs3B,YAAY,qBAAqB,MAAM,aAAa,6EAAC,WAAW,6EAAC,WAAW,kFAAC,QAAQ,wEAAC,iBAAiB,kFAAC,SAAS,UAAU,iBAAiB,6BAA6B,gFAAC,CAAC,mFAAC,WAAW,aAAa,oCAAoC,6BAA6B,gFAAC,CAAC,mFAAC,WAAW,qBAAqB,6BAA6B,gFAAC,CAAC,mFAAC,WAAW,SAAS,gBAAgB,0BAA0B,6EAAC,WAAW,mDAAC,sCAAsC,mDAAC,WAAW,mDAAC,QAAQ,mDAAC,mBAAmB,mDAAC,WAAW,mDAAC,QAAQ,iFAAC,GAAG,uCAAuC,QAAQ,mDAAC,aAAa,YAAY,6DAAK,EAAE,QAAQ,mDAAC,SAAS,GAAG,mDAAC,kBAAkB,2BAA2B,QAAQ,wEAAC,SAAS,GAAG,wEAAC,kBAAkB,OAAO,kFAAC,KAAK,gBAAgB,yBAAyB,gBAAgB,UAAU,4CAA4C,uFAAC,QAAQ,kBAAkB,2BAA2B,gBAAgB,yBAAyB,mBAAmB,mFAAC,IAAI,QAAQ,6EAAC,WAAW,2EAAC,IAAI,OAAO,gFAAC,gCAAgC,kBAAkB,OAAO,6EAAC,QAAQ,cAAc,qBAAqB,GAAG,mFAAC,IAAI,QAAQ,mDAAC,WAAW,mDAAC,WAAW,mDAAC,MAAM,mDAAC,MAAM,OAAO,mDAAC,WAAW,6DAAK,kBAAkB,YAAY,qBAAqB,IAAI,QAAQ,mDAAC,WAAW,mDAAC,SAAS,OAAO,6DAAK,EAAE,mDAAC,OAAO,iFAAC,UAAU,mDAAC,MAAM,QAAQ,mDAAC,SAAS,OAAO,mDAAC,IAAI,mDAAC,IAAI,cAAc,QAAQ,mFAAC,KAAK,mFAAC,KAAK,mFAAC,GAAG,QAAQ,cAAc,EAAE,wCAAwC,IAAI,QAAQ,iFAAC,SAAS,KAAK,oEAAC,YAAY,oEAAC,UAAU,sEAAC,QAAQ,gBAAgB,mDAAC,QAAQ,wEAAC,GAAG,mDAAC,MAAM,mDAAC,YAAY,+EAAC,EAAE,+BAA+B,8DAAM,CAAC,CAAC,8EAAC,SAAS,oBAAoB,QAAQ,mDAAC,CAAC,mFAAC,MAAM,mDAAC,UAAU,mDAAC,iCAAiC,SAAS,QAAQ,mFAAC,GAAG,OAAO,yEAAC,aAAa,mDAAC,iCAAiC,IAAI,YAAY,qBAAqB,MAAM,aAAa,mDAAC,WAAW,6EAAC,WAAW,kFAAC,QAAQ,wEAAC,iBAAiB,kFAAC,SAAS,UAAU,iBAAiB,KAAK,8DAAM,gBAAgB,mDAAC,CAAC,mFAAC,WAAW,aAAa,oCAAoC,KAAK,8DAAM,gBAAgB,mDAAC,CAAC,mFAAC,WAAW,qBAAqB,KAAK,8DAAM,gBAAgB,mDAAC,CAAC,mFAAC,WAAW,SAAS,gBAAgB,4CAA4C,mDAAC,WAAW,mDAAC,WAAW,mDAAC,WAAW,mDAAC,SAAS,MAAM,mDAAC,kBAAkB,QAAQ,mDAAC,IAAI,mBAAmB,QAAQ,mDAAC,WAAW,mDAAC,UAAU,mDAAC,WAAW,YAAY,6DAAK,EAAE,QAAQ,mDAAC,SAAS,GAAG,mDAAC,OAAO,iFAAC,YAAY,YAAY,6DAAK,EAAE,QAAQ,mDAAC,SAAS,GAAG,mDAAC,OAAO,iFAAC,YAAY,OAAO,kFAAC,KAAK,YAAY,qBAAqB,IAAI,QAAQ,mDAAC,WAAW,mDAAC,WAAW,mDAAC,WAAW,mDAAC,IAAI,mDAAC,MAAM,iFAAC,GAAG,iBAAiB,KAAK,8DAAM,QAAQ,kFAAC,KAAK,KAAK,6DAAK,QAAQ,mDAAC,aAAa,kFAAC,KAAK,SAAS,kBAAkB,SAAS,oFAAC,YAAY,kFAAC,QAAQ,oBAAoB,0DAA0D,kBAAkB,4BAA4B,2BAA2B,qEAAqE,yEAAC,aAAa,eAAe,uFAAC,QAAQ,uFAAC,UAAU,uFAAC,WAAW,gBAAgB,qBAAqB,EAAE,OAAO,mDAAC,sBAAsB,mDAAC,mCAAmC,gBAAgB,oBAAoB,gBAAgB,OAAO,sEAAC,iBAAiB,iFAAC,IAAI,iBAAiB,8BAA8B,iBAAiB,OAAO,yEAAC,MAAM,OAAO,aAAa,oDAAoD,WAAW,GAAG,UAAU,WAAW,8DAAM,iBAAiB,6DAAK,CAAC,IAAI,mFAAC,MAAM,mFAAC,MAAM,mFAAC,MAAM,mFAAC,MAAM,mFAAC,MAAM,mFAAC,MAAM,mFAAC,MAAM,mFAAC,MAAM,mFAAC,MAAM,kEAAC,OAAO,MAAM,mFAAC,OAAO,mFAAC,QAAQ,8DAAM,CAAC,KAAK,MAAM,mFAAC,OAAO,mFAAC,QAAQ,8DAAM,EAAqqB;;;;;;;;;;;;;;;;;;;;;;;;;ACJ56J;AACA;AACA;AACA;AACmC,cAAc,yCAAyC,cAAc,4CAA4C,kBAAkB,oCAAoC,gBAAgB,SAAS,MAAM,sBAAsB,GAAG,0BAA0B,SAAS,gBAAgB,kCAAkC,cAAc,wDAAwD,cAAc,8BAA8B,OAAO,iDAAiD,cAAc,oGAAoG,kBAAkB,WAAW,sDAAC,6EAA6E,EAAE,EAAE,WAAW,EAAE,OAAO,wDAAwD,WAAW,EAAE,MAAM,KAAK,EAAkQ;;;;;;;;;;;;;;;;;;;;;ACJxkC;AACA;AACA;AACA;AACA;AAA4D;AAA4G,IAAIS,CAAJ;AAAA,IAAMP,CAAC,GAAC,IAAR;;SAA4BY;;;;;yMAAf,WAAiBf,CAAjB,EAAmB;AAACG,IAAAA,CAAC,KAAGA,CAAC,GAAC,wNAAuD4F,IAAvD,CAA6DhG,CAAC,IAAEW,CAAC,GAACX,CAAlE,CAAL,CAAD,QAAmFI,CAAnF,EAAqFJ,qEAAC,CAACC,CAAD,CAAtF;AAA0F;;;;SAAea;;;;;yMAAf,WAAiBd,CAAjB,EAAmBI,CAAnB,EAAqBE,CAArB,EAAuBY,CAAvB,EAAyB;AAAC,QAAG,CAAClB,CAAJ,EAAM,OAAO,IAAP;AAAY,UAAMa,CAAC,GAACb,CAAC,CAAC4C,gBAAV;AAA2B,WAAO3C,iEAAC,MAAIC,gFAAC,CAACW,CAAD,EAAGT,CAAH,CAAN,GAAYI,gEAAC,CAACR,CAAD,EAAGI,CAAH,CAAb,GAAmBO,CAAC,GAACA,CAAC,CAACgxG,eAAF,CAAkB3xG,CAAlB,EAAoBI,CAApB,EAAsBE,CAAtB,EAAwBY,CAAxB,CAAD,IAA6B,MAAMmE,OAAO,CAACia,IAAR,CAAa,CAACte,CAAC,CAACE,CAAD,CAAF,EAAMR,6DAAC,CAACQ,CAAD,CAAP,CAAb,CAAN,EAAgCJ,CAAC,CAACd,CAAD,EAAGI,CAAH,EAAKE,CAAL,EAAOY,CAAP,CAA9D,CAA3B;AAAoG;;;;;;;;;;;;;;;;;;;;;;;;;ACJ9c;AACA;AACA;AACA;AACoH,cAAc,OAAO,uEAAC,UAAU,cAAc,OAAO,4EAAC,UAAU,gBAAgB,wEAAwE,SAAS,uEAAC,mCAAmC,uEAAC,MAAM,gBAAgB,sCAAsC,cAAc,+BAA+B,mCAAmC,eAAe,qPAAqP,kBAAkB,SAAsM;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACJl6B;AACA;AACA;AACA;AACqI,uBAAuB,gBAAgB,MAAM,mDAAmD,MAAM,yBAAyB,4DAA4D,GAAG,iBAAiB,sBAAsB,OAAO,iBAAiB,yDAAC,uJAAuJ,gBAAgB,qNAAqN,OAAO,+CAA+C,mFAAmF,kLAAkL,kBAAkB,MAAM,eAAe,wDAAwD,aAAa,kBAAkB,gBAAgB,MAAM,eAAe,+CAA+C,cAAc,gBAAgB,YAAY,6DAA6D,2BAA2B,sBAAsB,EAAE,4CAA4C,gBAAgB,cAAc,qBAAqB,aAAa,uDAAuD,WAAW,gBAAgB,oCAAoC,wBAAwB,gBAAgB,oBAAoB,OAAO,iBAAiB,yDAAC,qBAAqB,gBAAgB,6BAA6B,wDAAwD,MAAM,OAAO,IAAI,wBAAwB,2DAA2D,YAAY,IAAI,gBAAgB,IAAI,KAAK,4BAA4B,4BAA4B,iBAAiB,0BAA0B,UAAU,KAAK,8CAA8C,0BAA0B,UAAU,KAAK,gDAAgD,iBAAiB,sBAAsB,wBAAwB,0FAA0F,0CAA0C,SAAS,kBAAkB,eAAe,MAAM,6DAA6D,kGAAkG,cAAc,qGAAqG,QAAQ,gIAAgI,oBAAoB,gBAAgB,eAAe,2BAA2B,2BAA2B,0CAA0C,6BAA6B,yBAAyB,gBAAgB,2CAA2C,EAAE,4CAA4C,gBAAgB,SAAS,uCAAuC,YAAY,sFAAsF,8GAA8G,wHAAwH,0BAA0B,4BAA4B,sCAAsC,0BAA0B,6BAA6B,uCAAuC,mBAAmB,gBAAgB,qEAAqE,uGAAuG,uCAAuC,kBAAkB,QAAQ,2CAA2C,OAAO,oDAAoD,2CAA2C,OAAO,qDAAqD,gBAAgB,2CAA2C,4CAA4C,kBAAkB,QAAQ,+BAA+B,sCAAsC,8BAA8B,wCAAwC,gBAAgB,+BAA+B,cAAc,UAAU,wCAAwC,kBAAkB,cAAc,+HAA+H,cAAc,0BAA0B,YAAY,IAAI,MAAM,eAAe,iBAAiB,cAAc,8CAA8C,SAAS,mDAAmD,iBAAiB,qBAAqB,IAAI,+BAAkP;;;;;;;;;;;;;;;;ACJvsK;AACA;AACA;AACA;AACA,cAAc,wFAAuH;;;;;;;;;;;;;;;;;;;;;;;ACJrI;AACA;AACA;AACA;AACgV,oBAAoB,qDAAC,CAAC,eAAe,kDAAkD,uDAAC,EAAE,sFAAC,uCAAuC,uDAAC,EAAE,sFAAC,qCAAqC,UAA+B;;;;;;;;;;;;;;;;;;;;;;;;ACJ1hB;AACA;AACA;AACA;AAC2Z,cAAc,yBAAyB,cAAc,sCAAsC,SAAS,4BAA4B,oBAAoB,yDAAC,CAAC,cAAc,qCAAqC,UAAU,sCAAsC,SAAS,uDAAuD,UAAU,kBAAkB,YAAY,0BAA0B,gGAAgG,YAAY,mFAAmF,uDAAC,qIAAqI,uDAAC,EAAE,sFAAC,2BAA2B,uDAAC,EAAE,sFAAC,6BAA6B,uDAAC,EAAE,8EAAC,uCAAuC,uDAAC,EAAE,sFAAC,EAAE,YAAY,kCAAkC,uDAAC,EAAE,sFAAC,gCAAgC,UAA+B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACJ7zC;AACA;AACA;AACA;AAC+jB,cAAc,wBAAwB,oBAAoB,8CAAC,CAAC,eAAe,sCAAsC,uFAAuF,qDAAqD,6BAA6B,kCAAkC,iBAAiB,GAAG,iCAAiC,yEAAyE,aAAa,iBAAiB,6DAAC,+CAA+C,2DAAC,EAAE,6DAAC,8CAA8C,2DAAC,IAAI,gBAAgB,QAAQ,uDAAuD,wBAAwB,2BAA2B,sBAAsB,qBAAqB,eAAe,sBAAsB,gCAAgC,GAAG,kBAAkB,+DAA+D,MAAM,MAAM,cAAc,gBAAgB,kBAAkB,oGAAoG,oBAAoB,8BAA8B,WAAW,qDAAC,EAAE,YAAY,EAAE,iBAAiB,kBAAkB,UAAU,6BAA6B,+DAAC,EAAE,OAAO,EAAE,yBAAyB,4DAAC,EAAE,OAAO,EAAE,mCAAmC,qEAAC,EAAE,OAAO,EAAE,sBAAsB,yDAAC,EAAE,OAAO,KAAK,uDAAC,EAAE,sFAAC,uCAAuC,uDAAC,EAAE,sFAAC,gCAAgC,UAA+B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACJ/+D;AACA;AACA;AACA;AACqxB,SAAS,8BAA8B,IAAI,kCAAkC,gBAAgB,eAAe,EAAE,2BAA2B,EAAE,qCAAqC,EAAE,sCAAsC,EAAE,8BAA8B,EAAE,uBAAuB,EAAE,0BAA0B,EAAE,6BAA6B,EAAE,gBAAgB,cAAc,oKAAoK,cAAc,oBAAoB,EAAE,IAAI,cAAc,+DAA+D,8FAA8F,cAAc,8BAA8B,EAAE,8DAA8D,oBAAoB,wEAAiB,CAAC,eAAe,6CAA6C,uCAAuC,kIAAkI,2DAAC,8CAA8C,uBAAuB,sDAAsD,2BAA2B,6BAA6B,4CAA4C,wBAAwB,aAAa,iBAAiB,6DAAC,kEAAkE,2DAAC,EAAE,6DAAC,yCAAyC,2DAAC,EAAE,6DAAC,gDAAgD,4BAA4B,EAAE,2DAAC,EAAE,gEAAC,MAAM,eAAe,KAAK,UAAU,oBAAoB,4CAA4C,qDAAqD,iBAAiB,+BAA+B,kCAAkC,6EAAC,iEAAiE,kCAAkC,8CAA8C,aAAa,6BAA6B,kBAAkB,gCAAgC,eAAe,GAAG,yBAAyB,cAAc,4BAA4B,eAAe,kCAAkC,eAAe,0BAA0B,8BAA8B,EAAE,WAAW,YAAY,4BAA4B,kBAAkB,gCAAgC,eAAe,GAAG,yBAAyB,SAAS,UAAU,8DAA8D,aAAa,KAAK,qCAAqC,6BAA6B,oCAAoC,2DAA2D,YAAY,aAAa,wDAAwD,sBAAsB,MAAM,wEAAwE,wDAAwD,0JAA0J,WAAW,kBAAkB,EAAE,qBAAqB,iCAAiC,OAAO,4IAA4I,oBAAoB,mEAAmE,GAAG,gCAAgC,UAAU,8DAA8D,MAAM,mBAAmB,oFAAoF,uBAAuB,eAAe,mBAAmB,EAAE,QAAQ,kBAAkB,0BAA0B,6BAA6B,mBAAmB,mBAAmB,EAAE,6MAA6M,gBAAgB,UAAU,eAAe,oDAAoD,+DAA+D,YAAY,gBAAgB,aAAa,sDAAC,SAAS,sDAAC,EAAE,OAAO,GAAG,MAAM,SAAS,GAAG,sBAAsB,yDAAC,eAAe,gEAAC,OAAO,qCAAqC,6CAA6C,+BAA+B,qDAAqD,iBAAiB,EAAE,SAAS,sBAAsB,sDAAC,mGAAmG,kBAAkB,6BAA6B,qBAAqB,yEAAyE,kBAAkB,sCAAsC,oDAAoD,sCAAsC,oDAAoD,sCAAsC,qDAAqD,sCAAsC,sDAAsD,sCAAsC,wDAAwD,sCAAsC,wGAAwG,QAAQ,uEAAC,GAAG,mCAAmC,oJAAoJ,sCAAsC,+CAA+C,oBAAoB,+CAA+C,UAAU,8BAA8B,oBAAoB,4DAA4D,wEAAwE,+BAA+B,UAAU,MAAM,aAAa,GAAG,0EAA0E,iDAAiD,aAAa,qCAAqC,oBAAoB,OAAO,iEAAiE,oBAAoB,+CAA+C,aAAa,gCAAgC,KAAK,iBAAiB,eAAe,gCAAgC,OAAO,iBAAiB,8BAA8B,+CAA+C,mFAAmF,uDAAC,8EAA8E,gBAAgB,YAAY,uDAAC,EAAE,sFAAC,kCAAkC,uDAAC,EAAE,sFAAC,kCAAkC,uDAAC,EAAE,sFAAC,+BAA+B,uDAAC,EAAE,sFAAC,EAAE,QAAQ,+BAA+B,uDAAC,EAAE,8EAAC,6CAA6C,uDAAC,EAAE,sFAAC,+BAA+B,uDAAC,EAAE,sFAAC,gCAAgC,uDAAC,EAAE,uFAAC,yBAAyB,UAA+B;;;;;;;;;;;;;;;;ACJ/nP;AACA;AACA;AACA;AACA,MAAM,aAAa,4DAA4D,SAAS,GAA6B;;;;;;;;;;;;;;;;;;;;;;;;ACJrH;AACA;AACA;AACA;AACid,aAAa,cAAc,6BAA6B,aAAa,kEAAS,yIAAyI,KAAK,QAAQ,+FAAU,MAAM,gBAAgB,sDAAC,+BAA+B,mBAAmB,0BAA0B,mEAAkB,yCAAyC,aAAa,oBAAoB,iBAAiB,wBAAwB,iBAAiB,OAAO,qEAAC,mBAAmB,cAAc,oDAAoD,UAAU,iEAAiE,2DAAS,2KAA2K,UAAU,eAAe,YAAY,yBAAyB,8BAA8B,yCAAyC,sDAAC,yCAAyC,+CAA+C,mEAAkB,gDAAgD,wBAAwB,UAAU,8EAA6B,CAAC,GAAG,8EAA6B,CAAC,uBAAuB,WAAW,iBAAiB,cAAc,qCAAqC,aAAa,oEAAC,mHAAmH,2DAAS,QAAQ,0FAA0F,uFAA0B,EAAE,0CAA0C,uFAA0B,qCAAqC,oEAAC,IAAI,qCAAqC,SAAS,6EAA6E,UAAU,gNAAgN,oEAAC,wCAAwC,oEAAC,0EAA0E,KAAK,MAAM,yBAAyB,GAAG,8BAA8B,sDAAC,wCAAwC,wBAAwB,sDAAC,6BAA6B,8FAA8F,yDAAyD,0EAA0E,UAAU,mBAAmB,sDAAC,mEAAmE,sCAAsC,kCAAkC,wCAAwC,KAAK,mCAAmC,oEAAC,uCAAuC,yFAAyF,oEAAC,2CAA2C,uFAA0B,EAAE,4BAA4B,qIAAqI,yDAAyD,0DAA0D,GAAG,6CAA6C,sDAAC,uDAAuD,2BAA2B,uFAA0B,KAAK,yIAAyI,MAAM,KAAK,GAAG,mOAAmO,uFAA0B,EAAE,8BAA8B,qIAAqI,yDAAyD,0DAA0D,GAAG,6CAA6C,sDAAC,uDAAuD,4EAA4E,2BAA2B,uFAA0B,EAAE,mBAAmB,uFAA0B,6JAA6J,MAAM,KAAK,GAAG,qEAAqE,KAAK,UAAU,uCAAuC,gBAAgB,uFAA0B,EAAE,iBAAiB,yBAAyB,iBAAiB,yCAAyC,sDAAC,6DAA6D,+CAA+C,iBAAiB,iEAAQ,4CAA4C,gFAAuB,mBAAmB,kEAAS,6CAA6C,iFAAwB,EAAE,kDAAkD,uFAA0B,EAAE,0CAA0C,uFAA0B,8FAA8F,uFAA0B,EAAE,cAAc,yBAAyB,gBAAgB,yCAAyC,sDAAC,gEAAgE,+CAA+C,iBAAiB,gFAAuB,4CAA4C,iEAAQ,mBAAmB,iFAAwB,6CAA6C,kEAAS,EAAE,mBAAmB,gGAAgG,eAAe,wGAAwG,eAAe,wCAAwC,kHAAkH,wBAAwB,kFAAkF,gEAAe,mCAAmC,mEAAkB,kCAAkC,kCAAkC,KAAK,sDAAO,sCAAsC,KAAK,uDAAM,wCAAwC,+DAAS,CAAC,KAAK,sDAAK,wCAAwC,8DAAQ,CAAC,kBAAkB,sDAAC,4BAA4B,KAAK,8DAAe,sCAAsC,KAAK,uDAAM,wCAAwC,6DAAO,CAAC,KAAK,sDAAK,wCAAwC,4DAAM,EAAE,sEAAsE,gEAAe,CAAC,mEAAkB,8BAA8B,yBAAyB,qCAAqC,+CAA+C,kBAAkB,qIAAqI,yBAAyB,MAAM,KAAK,0BAA0B,mBAAmB,sDAAC,yDAAyD,wCAAwC,uBAAuB,SAAS,qBAAqB,sDAAC,kDAAkD,4BAA4B,+BAA+B,+BAA+B,yBAAyB,4CAA4C,uCAAuC,kBAAkB,MAAM,YAAY,UAAU,MAAM,qBAAqB,sDAAC,kDAAkD,uCAAuC,yCAAyC,KAAK,UAAU,MAAM,qBAAqB,sDAAC,kDAAkD,kCAAkC,sCAAsC,mCAAmC,2CAA2C,iCAAiC,iBAAiB,qBAAqB,sDAAC,kDAAkD,+CAA+C,gDAAgD,WAAW,qBAAqB,sDAAC,kDAAkD,wCAAwC,2CAA2C,6BAA6B,IAAI,8CAA8C,kBAAkB,YAAY,6DAAY,CAAC,0CAA0C,sDAAC,sDAAsD,YAAY,gDAAgD,oEAAoE,cAAc,kJAAkJ,gBAAgB,sCAAsC,IAAI,gFAAuB,MAAM,+EAAsB,IAAI,iEAAQ,iBAAiB,iEAAQ,OAAO,iFAAwB,MAAM,gFAAuB,KAAK,kEAAS,iBAAiB,kEAAS,qGAAqG,gBAAgB,4PAA4P,gBAAgB,gDAAgD,aAAa,yEAAyE,cAAc,YAAY,uDAAC,CAAC,cAAc,YAAY,8DAAC,CAAC,cAAc,kDAAkD,cAAc,iCAAiC,cAAc,6BAA6B,cAAc,WAAW,6DAAY,MAAM,mEAAkB,CAAC,sBAAsB,oBAAoB,WAAW,6DAAY,uDAAuD,6BAA8D;;;;;;;;;;;;;;;;;;;ACJ5+U;AACA;AACA;AACA;AAC4K,QAAQ,qBAAqB,uCAAuC,6DAAY,kBAAkB,uDAAM,eAAe,8DAAe,mBAAmB,iEAAQ,eAAe,6DAAQ,2JAA2J,cAAc,2GAA2G,kEAAC,gCAAgC,mEAAkB,OAA0D;;;;;;;;;;;;;;;;;;;;;;;;;ACJruB;AACA;AACA;AACA;AACgR,cAAc,aAAa,qBAAqB,4BAA4B,gGAAgG,sFAAsF,4FAA4F,yGAAyG,8EAA8E,wDAAwD,sBAAsB,gBAAgB,iEAAiE,cAAc,mBAAmB,wBAAwB,aAAa,gBAAgB,kBAAkB,sBAAsB,YAAY,2DAA2D,OAAO,aAAa,SAAS,mBAAmB,uKAAuK,gCAAgC,IAAI,kKAAkK,iCAAiC,IAAI,mKAAmK,2EAA2E,GAAG,sEAAC,IAAI,eAAe,sEAAC,oGAAoG,GAAG,yCAAyC,EAAE,KAAK,qDAAqD,OAAO,4BAA4B,EAAE,EAAE,EAAE,UAAU,oBAAoB,aAAa,gBAAgB,kBAAkB,sBAAsB,mGAAmG,gCAAgC,IAAI,6FAA6F,iCAAiC,IAAI,6FAA6F,2EAA2E,eAAe,8DAAc,EAAE,cAAc,UAAU,KAAK,wDAAO,MAAM,4DAAW,MAAM,sDAAK,MAAM,8DAAa,MAAM,0DAAI,MAAM,2DAAK,MAAM,4DAAM,MAAM,gEAAU,MAAM,wEAAgB,UAAU,KAAK,kEAAiB,MAAM,qDAAI,MAAM,6DAAY,MAAM,6DAAO,MAAM,4DAAM,MAAM,4DAAM,MAAM,6DAAO,MAAM,2DAAK,MAAM,4DAAM,MAAM,6DAAO,MAAM,iEAAW,MAAM,8DAAQ,MAAM,+DAAS,MAAM,2EAAmB,UAAU,KAAK,kEAAiB,MAAM,sDAAK,MAAM,8DAAa,MAAM,4DAAM,MAAM,6DAAO,MAAM,8DAAQ,MAAM,kEAAY,MAAM,6DAAO,MAAM,2EAAmB,UAAU,KAAK,gEAAe,MAAM,mEAAkB,MAAM,uDAAM,MAAM,+DAAc,MAAM,6DAAO,MAAM,4DAAM,MAAM,sEAAgB,MAAM,6DAAO,MAAM,4DAAM,MAAM,6DAAO,MAAM,6DAAO,MAAM,8DAAQ,MAAM,8DAAQ,MAAM,+DAAS,MAAM,mEAAa,MAAM,oEAAc,MAAM,+DAAS,MAAM,kEAAY,MAAM,gEAAU,MAAM,uEAAe,MAAM,4EAAoB,MAAM,0EAAkB,UAAU,KAAK,2EAAmB,UAAU,KAAK,8DAAQ,MAAM,8DAAQ,MAAM,+DAAS,UAAU,KAAK,6DAAO,MAAM,6DAAO,MAAM,8DAAQ,MAAM,+DAAS,MAAM,+DAAS,MAAM,gEAAU,UAAU,KAAK,8DAAQ,MAAM,8DAAQ,MAAM,+DAAS,WAAW,KAAK,+DAAS,MAAM,+DAAS,MAAM,gEAAU,WAAW,KAAK,2FAA8B,MAAM,4FAA+B,UAAU,KAAK,4FAA+B,MAAM,4FAA+B,UAAU,KAAK,iFAAoB,MAAM,wFAA2B,MAAM,mFAAsB,MAAM,oFAAuB,MAAM,uGAA0C,MAAM,wGAA2C,UAAU,KAAK,kFAAqB,MAAM,yFAA4B,MAAM,wFAA2B,MAAM,+FAAkC,UAAU,SAA6J;;;;;;;;;;;;;;;;;;ACJt+I;AACA;AACA;AACA;AAC0H,gBAAgB,oEAAC,CAAC,iBAAiB,yEAAyE,KAAK,4DAAM,MAAM,4DAAM,MAAM,6DAAO,MAAM,4DAAM,MAAM,4DAAM,MAAM,6DAAO,MAAM,gEAAU,MAAM,0DAAI,MAAM,2DAAK,MAAM,4DAAM,kBAAkB,sDAAK,EAAE,qBAAqB,mBAA2D;;;;;;;;;;;;;;;;ACJzc;AACA;AACA;AACA;AACA,MAAM,aAAa,oBAAoB,QAAQ,cAAc,+PAA+P,cAAc,0DAA0D,yCAAyC,kBAAkB,6BAA6B,gCAAgC,EAAE,+FAA+F,qJAAqJ,mEAAmE,4DAA4D,aAAa,qBAAqB,wRAA0T;;;;;;;;;;;;;;;;;;;;;;ACJ7sC;AACA;AACA;AACA;AAC0G,YAAY,iEAAW,qCAAqC,gBAAgB,UAAU,+GAA+G,gFAAgF,gHAAgH,qLAAqL,8FAA8F,8DAA8D,+BAA+B,UAAU,wDAAG,+BAA+B,aAAa,SAAS,aAAa,SAAS,cAAc,QAAQ,qBAAqB,MAAM,mCAAmC,cAAc,sDAAC,uCAAuC,kBAAkB,KAAwH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACJ3sC;AACA;AACA;AACA;AACA,4CAA4C,aAAa,4EAA4E,SAAS,eAAe,+MAA+M,SAAS,eAAe,inBAAinB,SAAS,eAAe,6IAA6I,SAAS,eAAe,gZAAgZ,SAAS,eAAe,wFAAwF,SAAS,eAAe,sCAAsC,SAAS,eAAe,oPAAoP,SAAS,eAAe,sMAAsM,SAAS,eAAe,6MAA6M,SAAS,eAAe,sRAAsR,SAAS,eAAe,iHAAiH,SAAS,eAAe,ikBAAikB,SAAS,eAAe,6cAA6c,SAAS,eAAe,m0CAAm0C,SAAS,eAAe,wuBAAwuB,SAAS,eAAe,yUAAyU,SAAS,eAAe,mVAAmV,SAAS,eAAe,sFAAsF,SAAS,eAAe,mIAAmI,SAAS,GAAG,cAAc,UAAU,aAAa,uZAAuZ,SAAS,eAAe,4xBAA4xB,SAAS,eAAe,yCAAyC,SAAS,GAAG,cAAc,kBAAkB,aAAa,88BAA88B,SAAS,eAAe,unDAAunD,SAAS,eAAe,wJAAwJ,SAAS,eAAe,kEAAkE,SAAS,eAAe,sLAAsL,SAAS,eAAe,mEAAmE,SAAS,eAAe,yDAAyD,SAAS,GAAmnB;;;;;;;;;;;;;;;;;ACJvrY;AACA;AACA;AACA;AACsC,cAAc,UAAU,KAAK,oDAAM,MAAM,6DAAe,UAAU,KAAK,qDAAO,MAAM,8DAAgB,MAAM,0DAAY,UAAU,KAAK,qDAAO,MAAM,mDAAK,MAAM,4DAAc,WAAyC;;;;;;;;;;;;;;;;;;;;;;;;;ACJ1P;AACA;AACA;AACA;AAC2b,oBAAoB,gEAAC,CAAC,6DAAC,GAAG,eAAe,iCAAiC,uDAAC,EAAE,sFAAC,EAAE,OAAO,8EAAC,QAAQ,OAAO,gBAAgB,uCAAuC,uDAAC,EAAE,sFAAC,oCAAoC,UAA+B;;;;;;;;;;;;;;;;;;;;;;;;;ACJhqB;AACA;AACA;AACA;AACia,oBAAoB,gEAAC,CAAC,6DAAC,GAAG,eAAe,wCAAwC,uDAAC,EAAE,sFAAC,EAAE,KAAK,kEAAC,OAAO,OAAO,gBAAgB,8CAA8C,uDAAC,EAAE,sFAAC,4BAA4B,UAA+B;;;;;;;;;;;;;;;;;;;;;;;ACJzoB;AACA;AACA;AACA;AAC6U,MAAM,sBAAsB,6DAAC,CAAC,eAAe,sFAAsF,QAAQ,aAAa,oDAAC,EAAE,6GAA6G,KAAK,uDAAC,EAAE,sFAAC,EAAE,iCAAiC,MAAM,yBAAyB,QAAQ,yCAAyC,qCAAqC,uDAAC,EAAE,sFAAC,EAAE,oBAAoB,UAAU,4CAA4C,uDAAC,EAAE,sFAAC,EAAE,oBAAoB,UAAU,6CAA6C,uDAAC,EAAE,sFAAC,8BAA8B,UAA+B;;;;;;;;;;;;;;;;;;;;;;;;;;ACJx9B;AACA;AACA;AACA;AAC8b,MAAM,sBAAsB,6DAAC,CAAC,eAAe,oEAAoE,QAAQ,aAAa,oDAAC,EAAE,yEAAyE,KAAK,uDAAC,EAAE,sFAAC,EAAE,KAAK,yDAAC,OAAO,UAAU,+BAA+B,uDAAC,EAAE,sFAAC,EAAE,KAAK,8DAAC,OAAO,UAAU,oCAAoC,uDAAC,EAAE,sFAAC,EAAE,KAAK,+DAAC,OAAO,UAAU,yCAAyC,uDAAC,EAAE,sFAAC,4BAA4B,UAA+B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACJv5B;AACA;AACA;AACA;AAC2tB,MAAM,QAAQ,kEAAQ,CAAC,wDAAC,IAAI,kEAAQ,CAAC,wDAAC,EAAE,sBAAsB,6DAAC,CAAC,eAAe,6GAA6G,4BAA4B,SAAS,iCAAiC,QAAQ,QAAQ,aAAa,oDAAC,EAAE,iIAAiI,KAAK,uDAAC,EAAE,sFAAC,EAAE,kCAAkC,MAAM,4BAA4B,QAAQ,0CAA0C,UAAU,aAAa,oBAAoB,8CAA8C,uDAAC,EAAE,kFAAC,uEAAuE,uDAAC,EAAE,kFAAC,wEAAwE,uDAAC,EAAE,sFAAC,EAAE,kCAAkC,kBAAkB,WAAW,OAAO,eAAe,cAAc,uBAAuB,iCAAiC,uDAAC,EAAE,sFAAC,EAAE,kBAAkB,UAAU,kCAAkC,uDAAC,EAAE,sFAAC,EAAE,aAAa,OAAO,eAAe,qIAAC,CAAC,UAAU,aAAa,OAAO,kBAAkB,gCAAgC,uDAAC,EAAE,sFAAC,EAAE,aAAa,eAAe,eAAe,qIAAC,GAAG,oCAAoC,uDAAC,EAAE,sFAAC,iDAAiD,UAA+B;;;;;;;;;;;;;;;;;;;;;;;ACJ5/D;AACA;AACA;AACA;AACmZ,MAAM,sBAAsB,6DAAC,CAAC,eAAe,yDAAyD,QAAQ,aAAa,oDAAC,EAAE,mDAAmD,KAAK,uDAAC,EAAE,sFAAC,EAAE,KAAK,4DAAC,OAAO,OAAO,gBAAgB,+BAA+B,uDAAC,EAAE,sFAAC,EAAE,kBAAkB,OAAO,gBAAgB,4BAA4B,uDAAC,EAAE,sFAAC,EAAE,KAAK,wEAAC,OAAO,UAAU,sCAAsC,uDAAC,EAAE,sFAAC,sDAAsD,UAA+B;;;;;;;;;;;;;;;;;;;;;;;;;ACJz3B;AACA;AACA;AACA;AACwe,MAAM,sBAAsB,6DAAC,CAAC,eAAe,0DAA0D,QAAQ,cAAc,yDAAyD,IAAI,uDAAC,EAAE,sFAAC,EAAE,mBAAmB,UAAU,oCAAoC,uDAAC,EAAE,sFAAC,EAAE,kBAAkB,UAAU,8BAA8B,uDAAC,EAAE,4FAAC,CAAC,mEAAC,kCAAkC,uDAAC,EAAE,sFAAC,2DAA2D,UAA+B;;;;;;;;;;;;;;;;;;;;;;;;ACJ/6B;AACA;AACA;AACA;AACuY,MAAM,sBAAsB,6DAAC,CAAC,eAAe,sCAAsC,QAAQ,aAAa,oDAAC,EAAE,4BAA4B,KAAK,uDAAC,EAAE,sFAAC,EAAE,KAAK,4DAAC,OAAO,OAAO,gBAAgB,+BAA+B,uDAAC,EAAE,sFAAC,EAAE,kBAAkB,OAAO,gBAAgB,gCAAgC,uDAAC,EAAE,sFAAC,sDAAsD,UAA+B;;;;;;;;;;;;;;;;;;;;;;;;;ACJpwB;AACA;AACA;AACA;AACwe,MAAM,sBAAsB,6DAAC,CAAC,eAAe,0DAA0D,QAAQ,cAAc,yDAAyD,IAAI,uDAAC,EAAE,sFAAC,EAAE,mBAAmB,UAAU,oCAAoC,uDAAC,EAAE,sFAAC,EAAE,kBAAkB,UAAU,8BAA8B,uDAAC,EAAE,4FAAC,CAAC,mEAAC,kCAAkC,uDAAC,EAAE,sFAAC,2DAA2D,UAA+B;;;;;;;;;;;;;;;;;;;;;;;;ACJ/6B;AACA;AACA;AACA;AAC6X,MAAM,sBAAsB,6DAAC,CAAC,eAAe,0BAA0B,QAAQ,aAAa,oDAAC,EAAE,mBAAmB,KAAK,uDAAC,EAAE,sFAAC,EAAE,KAAK,kDAAC,OAAO,UAAU,oCAAoC,uDAAC,EAAE,sFAAC,kDAAkD,UAA+B;;;;;;;;;;;;;;;;;;;;;;;;;;ACJ1oB;AACA;AACA;AACA;AACie,YAAY,qDAAC,EAAE,iCAAiC,EAAE,oBAAoB,gEAAC,CAAC,6DAAC,GAAG,eAAe,kEAAkE,uDAAC,EAAE,sFAAC,EAAE,KAAK,0DAAC,OAAO,UAAU,0CAA0C,uDAAC,EAAE,sFAAC,EAAE,mCAAmC,6CAA6C,gCAAgC,uDAAC,EAAE,sFAAC,uDAAuD,UAA+B;;;;;;;;;;;;;;;;;;;;;;;;ACJr5B;AACA;AACA;AACA;AAC8Y,oBAAoB,gEAAC,CAAC,6DAAC,GAAG,eAAe,yEAAyE,uDAAC,EAAE,sFAAC,EAAE,kBAAkB,OAAO,gBAAgB,oCAAoC,uDAAC,EAAE,sFAAC,EAAE,+BAA+B,UAAU,oCAAoC,uDAAC,EAAE,sFAAC,EAAE,kBAAkB,UAAU,iCAAiC,uDAAC,EAAE,sFAAC,mDAAmD,UAA+B;;;;;;;;;;;;;;;;;;;;;;;;;;;ACJ/zB;AACA;AACA;AACA;AAC0iB,oBAAoB,gEAAC,CAAC,6DAAC,GAAG,eAAe,gGAAgG,uDAAC,EAAE,sFAAC,EAAE,KAAK,+DAAC,OAAO,OAAO,gBAAgB,qCAAqC,uDAAC,EAAE,sFAAC,EAAE,KAAK,yDAAC,OAAO,UAAU,gCAAgC,uDAAC,EAAE,sFAAC,EAAE,kBAAkB,UAAU,wCAAwC,uDAAC,EAAE,4FAAC,EAAE,oBAAoB,EAAE,YAAY,gCAAgC,uDAAC,EAAE,sFAAC,2DAA2D,UAA+B;;;;;;;;;;;;;;;;;;;;;;;;;;ACJ/iC;AACA;AACA;AACA;AAC+f,oBAAoB,gEAAC,CAAC,6DAAC,GAAG,eAAe,8CAA8C,uDAAC,EAAE,sFAAC,EAAE,MAAM,uDAAC,OAAO,KAAK,oEAAC,WAAW,kCAAkC,uDAAC,EAAE,sFAAC,EAAE,kBAAkB,UAAU,iCAAiC,uDAAC,EAAE,sFAAC,kDAAkD,UAA+B;;;;;;;;;;;;;;;;;;;;;;;;;ACJrzB;AACA;AACA;AACA;AACie,oBAAoB,gEAAC,CAAC,6DAAC,GAAG,eAAe,0EAA0E,uDAAC,EAAE,sFAAC,EAAE,kBAAkB,OAAO,iBAAiB,OAAO,oCAAoC,iCAAiC,uDAAC,EAAE,sFAAC,EAAE,kBAAkB,OAAO,iBAAiB,OAAO,mCAAmC,kCAAkC,uDAAC,EAAE,4FAAC,EAAE,6BAA6B,EAAE,YAAY,gCAAgC,uDAAC,EAAE,sFAAC,uDAAuD,UAA+B;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACJv/B;AACA;AACA;AACA;AACwpB,oBAAoB,sDAAC,CAAC,eAAe,wPAAwP,uDAAC,EAAE,4FAAC,CAAC,0EAAC,uCAAuC,uDAAC,EAAE,sFAAC,EAAE,KAAK,8DAAC,OAAO,OAAO,gBAAgB,8BAA8B,uDAAC,EAAE,4FAAC,CAAC,6EAAC,0CAA0C,uDAAC,EAAE,sFAAC,EAAE,KAAK,4FAAW,OAAO,KAAK,6FAAY,MAAM,uFAAM,QAAQ,OAAO,wFAAO,iBAAiB,+CAA+C,uDAAC,EAAE,sFAAC,EAAE,KAAK,kEAAC,OAAO,OAAO,gBAAgB,yCAAyC,uDAAC,EAAE,sFAAC,EAAE,kBAAkB,UAAU,8BAA8B,uDAAC,EAAE,sFAAC,EAAE,KAAK,0EAAC,OAAO,UAAU,6CAA6C,uDAAC,EAAE,4FAAC,EAAE,cAAc,EAAE,YAAY,gCAAgC,uDAAC,EAAE,sFAAC,oDAAoD,UAA+B;;;;;;;;;;;;;;;;;;;;;;;;;ACJhmD;AACA;AACA;AACA;AACgb,oBAAoB,gEAAC,CAAC,6DAAC,GAAG,eAAe,6BAA6B,uDAAC,EAAE,4FAAC,EAAE,cAAc,EAAE,YAAY,gCAAgC,uDAAC,EAAE,sFAAC,+CAA+C,UAA+B;;;;;;;;;;;;;;;;;;;;;;;;;ACJ1oB;AACA;AACA;AACA;AACib,oBAAoB,gEAAC,CAAC,6DAAC,GAAG,eAAe,+DAA+D,uDAAC,EAAE,sFAAC,EAAE,KAAK,0DAAC,OAAO,UAAU,wCAAwC,uDAAC,EAAE,sFAAC,EAAE,oBAAoB,UAAU,4CAA4C,uDAAC,EAAE,sFAAC,kEAAkE,UAA+B;;;;;;;;;;;;;;;;;;ACJnxB;AACA;AACA;AACA;AACqE,SAAS,KAAK,sDAAC,qBAAqB,MAAM,2DAAC,GAAsB;;;;;;;;;;;;;;;;;;;ACJtI;AACA;AACA;AACA;AACmD,YAAY,qDAAC,EAAE,sPAAsP,QAAQ,qDAAC,EAAE,gFAAgF,QAAQ,qDAAC,EAAE,sDAAsD,EAAyG;;;;;;;;;;;;;;;;ACJ7jB;AACA;AACA;AACA;AACA,MAAM,aAAa,4CAA4C,SAAS,GAAkC;;;;;;;;;;;;;;;;;;;;;;;;;;;ACJ1G;AACA;AACA;AACA;AAC0kB,oBAAoB,gEAAC,CAAC,6DAAC,GAAG,eAAe,8BAA8B,sBAAsB,MAAM,SAAS,GAAG,gBAAgB,8DAAC,EAAE,sBAAsB,EAAE,qBAAqB,yBAAyB,uDAAC,EAAE,sFAAC,EAAE,KAAK,8DAAC,OAAO,OAAO,gBAAgB,oCAAoC,uDAAC,EAAE,kFAAC,8DAA8D,uDAAC,EAAE,kFAAC,eAAe,QAAQ,aAAa,yCAAyC,uDAAC,EAAE,sFAAC,2CAA2C,UAA+B;;;;;;;;;;;;;;;;;;;;;;;;ACJjkC;AACA;AACA;AACA;AACoa,MAAM,sBAAsB,6DAAC,CAAC,cAAc,gCAAgC,UAAU,YAAY,kBAAkB,OAAO,kEAAC,WAAW,gBAAgB,OAAO,iEAAC,WAAW,QAAQ,cAAc,aAAa,IAAI,uDAAC,EAAE,sFAAC,EAAE,kBAAkB,OAAO,gBAAgB,6BAA6B,uDAAC,EAAE,sFAAC,oCAAoC,uDAAC,EAAE,sFAAC,sCAAsC,uDAAC,EAAE,sFAAC,2CAAuE;;;;;;;;;;;;;;;;;;ACJ91B;AACA;AACA;AACA;AACyE,cAAc,QAAQ,kFAAC,YAAY,mCAAmC,cAAc,gBAAgB,iCAA+F;;;;;;;;;;;;;;;;ACJ5Q;AACA;AACA;AACA;AACA,SAAS,qBAAqB,OAAO,gBAAgB,OAAO,IAAI,iBAAiB,GAAG,YAAY,0GAA0G,0CAA+E;;;;;;;;;;;;;;;;;;;ACJzR;AACA;AACA;AACA;AACwJ,SAAS,KAAK,2DAAC,OAAO,MAAM,iDAAiD,qEAAW,IAAI,oEAAU,SAAS,QAAQ,mBAAmB,+CAA+C,sDAAC,uEAAuE,SAAS,YAAY,OAAO,wEAAC,CAAC,qEAAC,QAAgC;;;;;;;;;;;;;;;;;;;;;;;;;;;ACJxd;AACA;AACA;AACA;AACA;AAAkC;AAAmC;AAAoC;AAAqF;AAAsC;AAAwE;AAAgE;;AAAuD,SAASJ,CAAT,CAAWd,CAAX,EAAaE,CAAb,EAAe;AAAC,SAAOA,CAAC,CAAC8D,YAAF,GAAenD,CAAC,CAACX,CAAD,EAAGA,CAAC,CAAC8D,YAAL,EAAkB;AAAC4B,IAAAA,MAAM,EAAC5F,CAAC,CAAC4F;AAAV,GAAlB,CAAhB,GAAqD1F,CAAC,CAACyC,UAAF,EAAcD,EAAd,GAAiB1B,CAAC,CAAChB,CAAD,EAAGE,CAAH,EAAKA,CAAC,CAACyC,UAAP,CAAlB,GAAqC0C,OAAO,CAACC,OAAR,EAAjG;AAAmH;;AAAA,SAASzE,CAAT,CAAWb,CAAX,EAAaE,CAAb,EAAeD,CAAf,EAAiB;AAAC,QAAMO,CAAC,GAAC;AAAC2D,IAAAA,OAAO,EAAC,EAAC,GAAGlE,CAAJ;AAAMyE,MAAAA,kBAAkB,EAAC;AAAzB;AAAT,GAAR;AAAiE,SAAO1E,CAAC,CAAC2C,UAAF,KAAenC,CAAC,CAAC2D,OAAF,CAAUiC,MAAV,GAAiBpG,CAAC,CAAC2C,UAAF,CAAayD,MAAb,IAAqBzF,oEAAA,EAArD,GAAqE,+XAAgDqF,IAAhD,CAAsD,CAAC;AAACM,IAAAA,yBAAyB,EAACrG;AAA3B,GAAD,KAAiC;AAAC,UAAMU,CAAC,GAAC,EAAR;AAAA,UAAWD,CAAC,GAACR,CAAC,CAACyW,iBAAf;AAAiCjW,IAAAA,CAAC,EAAEmN,MAAH,IAAWlN,CAAC,CAACmE,IAAF,CAAO7E,CAAC,CAACD,CAAC,CAACmJ,MAAH,EAAUzI,CAAV,EAAYF,CAAZ,CAAR,CAAX;AAAmC,UAAMF,CAAC,GAAC,EAAC,GAAGE,CAAJ;AAAM2D,MAAAA,OAAO,EAAC,EAAC,GAAG3D,CAAC,CAAC2D,OAAN;AAAcO,QAAAA,kBAAkB,EAAC;AAAjC,OAAd;AAAyD+B,MAAAA,gBAAgB,EAAC;AAA1E,KAAR;AAAA,UAAwGrG,CAAC,GAACF,CAAC,CAACgW,MAA5G;AAAmH,WAAO9V,CAAC,EAAEyN,MAAH,IAAWlN,CAAC,CAACmE,IAAF,CAAO7E,CAAC,CAACD,CAAC,CAACkW,MAAH,EAAU9V,CAAV,EAAYE,CAAZ,CAAR,CAAX,EAAmC+E,OAAO,CAACuB,UAAR,CAAmBjG,CAAnB,EAAsBqF,IAAtB,CAA4B,MAAI,CAAE,CAAlC,CAA1C;AAA+E,GAA9V,CAA5E;AAA6a;;SAAehF;;;;;yMAAf,WAAiBhB,CAAjB,EAAmBQ,CAAnB,EAAqBG,CAArB,EAAuB;AAAC,QAAG,MAAMA,CAAC,CAACuE,IAAF,GAASnB,KAAT,CAAgB9D,CAAC,IAAE;AAAC,YAAM,IAAIC,sDAAJ,CAAO,GAAEF,CAAC,CAACoa,IAAK,mBAAhB,EAAmC,4BAAnC,EAAgE;AAAC3W,QAAAA,KAAK,EAACxD;AAAP,OAAhE,CAAN;AAAiF,KAArG,CAAN,EAA8GU,CAAC,CAAC4C,IAAF,KAASvD,CAAC,CAAC6xG,QAA5H,EAAqI,MAAM,IAAI3xG,sDAAJ,CAAO,GAAEF,CAAC,CAACoa,IAAK,sBAAhB,EAAuC,6BAA4BzZ,CAAC,CAAC4C,IAAK,gBAAevD,CAAC,CAAC6xG,QAAS,GAApG,EAAuG;AAACtuG,MAAAA,IAAI,EAAC5C,CAAC,CAAC4C;AAAR,KAAvG,CAAN;AAA4H,UAAMjD,CAAC,SAAOK,CAAC,CAACkG,SAAF,EAAd;AAA4BrG,IAAAA,CAAC,CAACwD,YAAF,GAAe1D,CAAf;AAAiB,UAAMF,CAAC,GAACM,iFAAC,CAACC,CAAD,EAAGX,CAAC,CAAC4F,MAAL,CAAT;AAAsB,UAAM1E,CAAC,CAAClB,CAAD,EAAGQ,CAAH,EAAKF,CAAL,EAAOF,CAAP,CAAP,EAAiBI,CAAC,CAAC4S,kBAAF,GAAqB;AAACzQ,MAAAA,UAAU,EAAChC,CAAZ;AAAc0S,MAAAA,KAAK,EAACjT,CAAC,CAAC0xG;AAAtB,KAAtC;AAA+E,UAAMhxG,CAAC,SAAOc,CAAC,CAACpB,CAAC,CAACiT,qBAAH,EAAyB9S,CAAzB,EAA2BV,iEAAA,CAAYO,CAAZ,CAA3B,CAAf;;AAA0D,QAAGM,CAAH,EAAK;AAAC,YAAMZ,CAAC,GAACM,CAAC,CAACiT,qBAAF,EAAyBhT,KAAzB,MAAkCT,CAAC,CAAC+xG,2BAAF,EAA1C;AAA0E7xG,MAAAA,CAAC,CAAC0U,SAAF,GAAY9T,CAAZ,EAAcN,CAAC,CAACiT,qBAAF,GAAwBvT,CAAtC;AAAwC;AAAC;;;;AAAA,SAASgB,CAAT,CAAWlB,CAAX,EAAaE,CAAb,EAAeD,CAAf,EAAiBO,CAAjB,EAAmB;AAAC,QAAMG,CAAC,GAACa,CAAC,CAACxB,CAAD,EAAGC,CAAH,CAAT;AAAe,SAAOC,CAAC,CAAC+D,IAAF,CAAOtD,CAAP,EAASH,CAAT,GAAYK,CAAC,CAACX,CAAD,EAAGS,CAAH,EAAKH,CAAL,CAApB;AAA4B;;AAAA,SAASgB,CAAT,CAAWxB,CAAX,EAAaE,CAAb,EAAe;AAAC,QAAMD,CAAC,GAACD,CAAC,CAACgyG,YAAF,CAAe9xG,CAAC,CAACyR,OAAF,IAAW,EAA1B,EAA6B3R,CAAC,CAACoa,IAA/B,CAAR;AAA6C,SAAOpa,CAAC,CAACwV,cAAF,CAAiB4B,QAAjB,CAA0BnX,CAA1B,GAA6BC,CAAC,CAACyR,OAAF,GAAW,GAAE1R,CAAC,CAACwV,KAAM,IAAGxV,CAAC,CAACyV,KAAM,EAA7D,EAA+DxV,CAAtE;AAAwE;;SAAe0B;;;;;yMAAf,WAAiB1B,CAAjB,EAAmBD,CAAnB,EAAqBO,CAArB,EAAuB;AAAC,UAAMG,CAAC,GAACT,CAAC,EAAE0U,SAAH,EAAc6D,cAAtB;AAAqC,QAAG9X,CAAH,EAAK,OAAO,IAAP;AAAY,UAAMD,CAAC,SAAOU,CAAC,CAAClB,CAAD,EAAGD,CAAH,EAAKO,CAAL,CAAf;AAAuB,QAAG,CAACE,CAAJ,EAAM,OAAO,IAAP;AAAY,WAAO,IAAIV,qDAAJ,CAAM;AAACyY,MAAAA,cAAc,EAAC/X;AAAhB,KAAN,CAAP;AAAiC;;;;SAAeU;;;;;yMAAf,WAAiBpB,CAAjB,EAAmBE,CAAnB,EAAqBD,CAArB,EAAuB;AAAC,UAAMU,CAAC,GAACX,CAAC,EAAE4C,gBAAX;AAAA,UAA4BlC,CAAC,GAACR,CAAC,EAAE8Y,MAAjC;AAAwC,QAAG,CAACrY,CAAD,IAAI,CAACD,CAAR,EAAU,OAAO,IAAP;AAAY,QAAGC,CAAC,CAAC61B,OAAL,EAAa,OAAO91B,CAAC,CAACD,KAAF,EAAP;AAAiB,QAAGE,CAAC,CAAC81B,aAAL,EAAmB,OAAOj2B,8FAAC,CAACE,CAAD,CAAR;AAAY,UAAK;AAACuxG,MAAAA,qBAAqB,EAACnxG;AAAvB,cAAgC,uNAArC;;AAA4F,QAAG;AAAC,YAAMd,CAAC,SAAOc,CAAC,CAACZ,CAAD,CAAf;AAAA,YAAmBD,CAAC,GAAC,IAAIG,0EAAJ,CAAM;AAACg3B,QAAAA,UAAU,EAAC,CAAC12B,CAAD,CAAZ;AAAgBswD,QAAAA,mBAAmB,EAACrwD;AAApC,OAAN,CAArB;AAAmE,aAAM,OAAOL,yEAAC,CAACN,CAAD,EAAGC,CAAH,CAAR,EAAe,CAAf,CAAN;AAAwB,KAA/F,CAA+F,OAAMY,CAAN,EAAQ;AAACZ,MAAAA,CAAC,CAACwD,KAAF,CAAQ,iCAAR,EAA0C5C,CAA1C;AAA6C;;AAAA,WAAO,IAAP;AAAY;;;;;;;;;;;;;;;;;;;;;;;;;;ACJh3E;AACA;AACA;AACA;AACoT,4bAA4b,cAAc,wBAAwB,cAAc,kBAAkB,cAAc,4FAA4F,gBAAgB,8BAA8B,aAAa,gCAAgC,uFAAC,IAAI,SAAS,gBAAgB,QAAQ,uFAAC,KAAK,QAAQ,6DAAC,yDAAyD,UAAU,6BAA6B,gBAAgB,4BAA4B,6GAAC,kDAAkD,6GAAC,sBAAsB,gBAAgB,wHAAwH,6GAAC,6GAA6G,uFAAC,KAAK,4BAA4B,kCAAkC,kCAAkC,kBAAkB,qCAAqC,oEAAoE,sDAAC,gCAAgC,QAAQ,IAAI,KAAK,aAAa,gBAAgB,wBAAwB,QAAQ,QAAQ,GAAG,uFAAC,iCAAiC,gBAAgB,WAAW,2BAA2B,sBAAsB,oDAAC,OAA4F;;;;;;;;;;;;;;;;;;;;;;;ACJliE;AACA;AACA;AACA;AACkW,MAAM,sBAAsB,6DAAC,CAAC,eAAe,oIAAoI,QAAQ,aAAa,oDAAC,EAAE,6JAA6J,KAAK,uDAAC,EAAE,sFAAC,EAAE,mBAAmB,MAAM,iBAAiB,QAAQ,mBAAmB,iCAAiC,uDAAC,EAAE,sFAAC,EAAE,mBAAmB,MAAM,mBAAmB,QAAQ,qBAAqB,mCAAmC,uDAAC,EAAE,sFAAC,EAAE,mBAAmB,MAAM,mBAAmB,QAAQ,qBAAqB,mCAAmC,uDAAC,EAAE,sFAAC,EAAE,mBAAmB,MAAM,sBAAsB,QAAQ,wBAAwB,sCAAsC,uDAAC,EAAE,sFAAC,EAAE,kBAAkB,MAAM,cAAc,QAAQ,gBAAgB,8BAA8B,uDAAC,EAAE,sFAAC,EAAE,kBAAkB,MAAM,kBAAkB,QAAQ,oBAAoB,kCAAkC,uDAAC,EAAE,sFAAC,EAAE,kBAAkB,MAAM,eAAe,QAAQ,iBAAiB,mCAAmC,uDAAC,EAAE,sFAAC,wCAAwC,UAA+B;;;;;;;;;;;;;;;;;;;;;;;;ACJ5hD;AACA;AACA;AACA;AAC6a,MAAM,YAAY,qDAAC,EAAE,gCAAgC,EAAE,sBAAsB,6DAAC,CAAC,eAAe,6EAA6E,QAAQ,cAAc,2FAA2F,IAAI,uDAAC,EAAE,sFAAC,EAAE,sCAAsC,qCAAqC,cAAc,QAAQ,+BAA+B,yCAAyC,uDAAC,EAAE,sFAAC,EAAE,KAAK,wEAAC,OAAO,MAAM,uBAAuB,QAAQ,wCAAwC,gCAAgC,OAAO,6BAA6B,kCAAkC,uDAAC,EAAE,sFAAC,EAAE,kBAAkB,OAAO,iBAAiB,OAAO,mCAAmC,0CAA0C,uDAAC,EAAE,sFAAC,kCAAkC,UAA+B;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACJ3wC;AACA;AACA;AACA;AACkuB,MAAM,sBAAsB,6DAAC,CAAC,eAAe,6KAA6K,yBAAyB,SAAS,sEAAW,WAAW,8BAA8B,GAAG,6DAAC,kBAAkB,wBAAwB,qBAAqB,aAAa,gGAAgG,WAAW,4DAAC,EAAE,cAAc,EAAE,yBAAyB,aAAa,qCAAqC,mBAAmB,kFAAkF,wBAAwB,SAAS,uEAAU,EAAE,8BAA8B,SAAS,2BAA2B,aAAa,oBAAoB,6DAAC,gCAAgC,8BAA8B,IAAI,aAAa,8CAA8C,kBAAkB,WAAW,6DAAC,8BAA8B,QAAQ,aAAa,oDAAC,EAAE,oNAAoN,KAAK,uDAAC,EAAE,sFAAC,EAAE,KAAK,4DAAC,OAAO,OAAO,wEAAC,CAAC,qEAAC,SAAS,sCAAsC,QAAQ,wCAAwC,2CAA2C,uDAAC,EAAE,kFAAC,iEAAiE,uDAAC,EAAE,kFAAC,kEAAkE,uDAAC,EAAE,sFAAC,EAAE,KAAK,4DAAC,OAAO,MAAM,qDAAqD,QAAQ,QAAQ,sBAAsB,YAAY,yBAAyB,gBAAgB,wCAAwC,uDAAC,EAAE,kFAAC,2DAA2D,uDAAC,EAAE,kFAAC,4DAA4D,uDAAC,EAAE,sFAAC,EAAE,kCAAkC,iBAAiB,yBAAyB,QAAQ,2BAA2B,8BAA8B,uDAAC,EAAE,sFAAC,EAAE,KAAK,wEAAC,OAAO,MAAM,kCAAkC,QAAQ,mDAAmD,6DAA6D,OAAO,2BAA2B,kCAAkC,uDAAC,EAAE,sFAAC,EAAE,gCAAgC,KAAK,wEAAC,OAAO,+BAA+B,QAAQ,+CAA+C,mCAAmC,uDAAC,EAAE,sFAAC,EAAE,iCAAiC,MAAM,oCAAoC,QAAQ,oDAAoD,mCAAmC,uDAAC,EAAE,sFAAC,EAAE,KAAK,8DAAC,OAAO,MAAM,qCAAqC,QAAQ,QAAQ,wCAAwC,YAAY,sCAAsC,KAAK,yGAAmB,mCAAmC,kBAAkB,mDAAmD,OAAO,kCAAkC,sCAAsC,uDAAC,EAAE,kFAAC,uDAAuD,uDAAC,EAAE,kFAAC,wDAAwD,uDAAC,EAAE,sFAAC,EAAE,kBAAkB,MAAM,wEAAC,QAAQ,0BAA0B,QAAQ,2CAA2C,OAAO,uDAAuD,+BAA+B,uDAAC,EAAE,kFAAC,yCAAyC,uDAAC,EAAE,kFAAC,8CAA8C,uDAAC,EAAE,sFAAC,uCAAuC,UAA+B;;;;;;;;;;;;;;;;;;;;;;;;ACJ3pI;AACA;AACA;AACA;AACuY,MAAM,sBAAsB,6DAAC,CAAC,eAAe,+DAA+D,QAAQ,aAAa,oDAAC,EAAE,+DAA+D,KAAK,uDAAC,EAAE,sFAAC,EAAE,MAAM,UAAU,iCAAiC,uDAAC,EAAE,sFAAC,EAAE,MAAM,UAAU,iCAAiC,uDAAC,EAAE,sFAAC,EAAE,KAAK,gFAAC,OAAO,UAAU,qCAAqC,uDAAC,EAAE,sFAAC,0CAA0C,UAA+B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACJ50B;AACA;AACA;AACA;AAC+0B,MAAM,sBAAsB,wEAAC,CAAC,6DAAC,GAAG,eAAe,2CAA2C,8EAAC,sBAAsB,iBAAiB,6BAA6B,8EAAC,EAAE,MAAM,EAAE,gFAAC,CAAC,8EAAC,IAAI,iBAAiB,MAAM,yBAAyB,GAAG,oCAAoC,iEAAW,wHAAwH,mBAAmB,MAAM,qBAAqB,GAAG,OAAO,8DAAU,KAAK,iBAAiB,EAAE,wBAAwB,aAAa,MAAM,iBAAiB,GAAG,6EAA6E,KAAK,6GAA6G,gCAAgC,sDAAC,4BAA4B,iEAAW,iBAAiB,QAAQ,aAAa,oDAAC,EAAE,4FAA4F,KAAK,uDAAC,EAAE,sFAAC,EAAE,iCAAiC,OAAO,gBAAgB,8BAA8B,uDAAC,EAAE,sFAAC,EAAE,KAAK,8EAAC,OAAO,OAAO,oBAAoB,sBAAsB,IAAI,mCAAmC,uDAAC,EAAE,8EAAC,iDAAiD,uDAAC,EAAE,sFAAC,CAAC,0EAAC,oCAAoC,uDAAC,EAAE,sFAAC,EAAE,KAAK,qDAAC,sBAAsB,UAAU,iCAAiC,uDAAC,EAAE,kFAAC,wEAAwE,uDAAC,EAAE,mFAAC,sDAAsD,uDAAC,EAAE,uFAAC,6BAA6B,UAA+B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACJ/zE;AACA;AACA;AACA;AAC8lB,oBAAoB,gEAAC,CAAC,yDAAC,GAAG,eAAe,gHAAgH,2DAAC,uBAAuB,uDAAC,EAAE,sFAAC,EAAE,KAAK,uEAAC,CAAC,oCAAoC,uDAAC,EAAE,sFAAC,EAAE,KAAK,6DAAC,CAAC,mCAAmC,uDAAC,EAAE,sFAAC,EAAE,KAAK,qEAAC,CAAC,0CAA0C,uDAAC,EAAE,sFAAC,EAAE,KAAK,4DAAC,CAAC,oCAAoC,uDAAC,EAAE,sFAAC,EAAE,eAAe,kCAAkC,uDAAC,EAAE,sFAAC,EAAE,KAAK,qDAAC,CAAC,qCAAqC,uDAAC,EAAE,sFAAC,0CAA0C,UAA+B;;;;;;;;;;;;;;;;;ACJ9oC;AACA;AACA;AACA;AAC6C,gBAAgB,qDAAC,CAAC,iBAAiB,qBAA0C;;;;;;;;;;;;;;;;;;;;;;;;ACJ1H;AACA;AACA;AACA;AACgY,MAAM,sBAAsB,6DAAC,CAAC,eAAe,wBAAwB,iDAAC,YAAY,QAAQ,aAAa,oDAAC,EAAE,iBAAiB,KAAK,uDAAC,EAAE,sFAAC,EAAE,KAAK,iDAAC,OAAO,UAAU,mCAAmC,uDAAC,EAAE,sFAAC,+CAA+C,UAA+B;;;;;;;;;;;;;;;;;;ACJlpB;AACA;AACA;AACA;AACuC,cAAc,yFAAyF,YAAY,gDAAC,OAAiD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACJ5M;AACA;AACA;AACA;AACs/B,SAAS,wIAAwI,yBAAyB,0BAA0B,EAAE,8BAA8B,EAAE,oBAAoB,EAAE,wBAAwB,EAAE,8BAA8B,EAAE,uCAAuC,EAAE,iCAAiC,EAAE,2BAA2B,EAAE,wCAAwC,EAAE,yCAAyC,EAAE,0BAA0B,EAAE,iBAAiB,EAAE,sBAAsB,EAAE,2BAA2B,EAAE,6BAA6B,EAAE,gCAAgC,EAAE,+BAA+B,EAAE,iCAAiC,EAAE,yBAAyB,EAAE,+BAA+B,EAAE,iCAAiC,EAAE,gCAAgC,EAAE,4CAA4C,EAAE,0CAA0C,EAAE,iCAAiC,EAAE,kCAAkC,EAAE,+BAA+B,EAAE,6BAA6B,EAAE,8BAA8B,EAAE,0BAA0B,EAAE,0BAA0B,EAAE,0BAA0B,EAAE,gCAAgC,EAAE,oCAAoC,EAAE,gBAAgB,cAAc,oBAAoB,kDAAC,CAAC,iBAAiB,kKAAkK,KAAK,yJAAyJ,qBAAqB,yBAAyB,cAAc,6EAAC,MAAM,IAAI,aAAa,iBAAiB,0DAAC,6EAA6E,0DAAC,uEAAuE,6DAAC,sDAAsD,2DAAC,IAAI,mBAAmB,OAAO,mFAAC,EAAE,SAAS,oVAAkE,CAAC,EAAE,mBAAmB,mCAAmC,oBAAoB,8BAA8B,2BAA2B,MAAM,cAAc,MAAM,iFAAiF,cAAc,8BAA8B,eAAe,yBAAyB,WAAW,mBAAmB,YAAY,+BAA+B,YAAY,sCAAsC,aAAa,gCAAgC,uBAAuB,OAAO,WAAW,gBAAgB,MAAM,iCAAiC,MAAM,wKAAwK,uDAAuD,sDAAC,kEAAkE,GAAG,oBAAoB,MAAM,YAAY,MAAM,2KAA2K,uDAAuD,sDAAC,wEAAwE,GAAG,mBAAmB,MAAM,YAAY,OAAO,wBAAwB,MAAM,2KAA2K,uDAAuD,sDAAC,wEAAwE,GAAG,UAAU,0EAA0E,oCAAoC,aAAa,MAAM,YAAY,oFAAoF,uBAAuB,cAAc,0EAA0E,oCAAoC,SAAS,MAAM,yBAAyB,OAAO,QAAQ,GAAG,OAAO,4DAAC,QAAQ,0BAA0B,oEAAQ,EAAE,4HAA4H,sBAAsB,MAAM,0BAA0B,MAAM,yBAAyB,4DAAC,QAAQ,yCAAyC,iBAAiB,qBAAqB,MAAM,+CAA+C,gBAAgB,iHAAiH,iBAAiB,OAAO,4DAAC,QAAQ,qCAAqC,CAAC,4DAAC,QAAQ,eAAe,GAAG,qBAAqB,wCAAwC,4DAAC,QAAQ,uCAAuC,OAAO,iBAAiB,MAAM,4BAA4B,qDAAqD,4DAAC,WAAW,6BAA6B,oEAAQ,CAAC,4EAAgB,CAAC,yEAAa,CAAC,wEAAY,IAAI,4EAAgB,oDAAoD,mEAAmE,4DAAC,WAAW,mBAAmB,oEAAQ,CAAC,6EAAiB,CAAC,yEAAa,CAAC,wEAAY,EAAE,CAAC,4EAAgB,IAAI,2BAA2B,6BAA6B,4DAAC,SAAS,iCAAiC,gBAAgB,4DAAC,SAAS,YAAY,+DAAC,cAAc,iEAAC,mFAAmF,CAAC,4DAAC,aAAa,qBAAqB,GAAG,4DAAC,UAAU,+BAA+B,oEAAQ,CAAC,6EAAiB,EAAE,qDAAqD,4DAAC,UAAU,+FAA+F,SAAS,OAAO,4DAAC,QAAQ,0CAA0C,IAAI,sBAAsB,MAAM,0DAA0D,OAAO,eAAe,WAAW,YAAY,2JAA2J,wDAAwD,4DAAC,WAAW,6BAA6B,oEAAQ,CAAC,yEAAa,CAAC,4EAAgB,iBAAiB,CAAC,4EAAgB,IAAI,4FAA4F,gFAAgF,4DAAC,WAAW,mBAAmB,oEAAQ,CAAC,yEAAa,CAAC,yEAAa,EAAE,CAAC,4EAAgB,IAAI,+CAA+C,wEAAwE,4DAAC,WAAW,6BAA6B,oEAAQ,CAAC,yEAAa,CAAC,4EAAgB,CAAC,yEAAa,EAAE,CAAC,4EAAgB,IAAI,wEAAwE,gEAAgE,4DAAC,aAAa,gCAAgC,CAAC,4DAAC,SAAS,iCAAiC,IAAI,4DAAC,UAAU,+BAA+B,oEAAQ,CAAC,6EAAiB,EAAE,0BAA0B,4DAAC,UAAU,+FAA+F,aAAa,4DAAC,aAAa,oCAAoC,CAAC,4DAAC,cAAc,wEAAC,8BAA8B,4DAAC,aAAa,4CAA4C,CAAC,4DAAC,4BAA4B,4DAAC,MAAM,yDAAyD,8BAA8B,4DAAC,QAAQ,wBAAwB,CAAC,4DAAC,SAAS,4BAA4B,CAAC,4DAAC,iBAAiB,cAAc,oCAAoC,4DAAC,SAAS,YAAY,+DAAC,cAAc,iEAAC,iGAAiG,CAAC,4DAAC,QAAQ,iBAAiB,QAAQ,4DAAC,QAAQ,gBAAgB,SAAS,OAAO,4DAAC,QAAQ,2CAA2C,MAAM,sBAAsB,uHAAuH,6BAA6B,MAAM,4BAA4B,kBAAkB,qFAAC,OAAO,0BAA0B,OAAO,4DAAC,QAAQ,oDAAoD,CAAC,4DAAC,QAAQ,sDAAsD,GAAG,mCAAmC,MAAM,4BAA4B,gBAAgB,kBAAkB,MAAM,2BAA2B,GAAG,QAAQ,0FAAC,6CAA6C,sCAAsC,uCAAuC,GAAG,MAAM,EAAE,EAAE,yBAAyB,IAAI,EAAE,KAAK,0BAA0B,OAAO,4DAAC,QAAQ,qCAAqC,CAAC,4DAAC,QAAQ,+DAA+D,GAAG,eAAe,MAAM,OAAO,GAAG,OAAO,4DAAC,OAAO,mBAAmB,CAAC,4DAAC,WAAW,sLAAsL,0BAA0B,4DAAC,UAAU,kBAAkB,CAAC,4DAAC,SAAS,qBAAqB,gCAAgC,4DAAC,SAAS,0DAA0D,+DAAC,iBAAiB,oEAAM,CAAC,qEAAO,EAAE,KAAK,uBAAuB,+BAA+B,EAAE,MAAM,mCAAmC,OAAO,2CAA2C,IAAI,2BAA2B,4DAA4D,4DAAC,SAAS,0DAA0D,+DAAC,iBAAiB,oEAAM,CAAC,qEAAO,EAAE,8BAA8B,0FAAC,SAAS,4DAAC,UAAU,kBAAkB,CAAC,4DAAC,SAAS,qBAAqB,2CAA2C,4DAAC,WAAW,2NAA2N,IAAI,4DAAC,MAAM,sFAAsF,IAAI,OAAO,4DAAC,OAAO,mBAAmB,IAAI,6BAA6B,MAAM,qDAAqD,OAAO,6CAA6C,kCAAkC,mEAAmE,6CAA6C,4DAAC,WAAW,6BAA6B,oEAAQ,CAAC,4EAAgB,6EAA6E,CAAC,4DAAC,SAAS,sDAAsD,oEAAM,EAAE,gCAAgC,4DAAC,OAAO,qCAAqC,iDAAiD,+BAA+B,gBAAgB,4DAAC,OAAO,8BAA8B,iEAAiE,4DAAC,QAAQ,MAAM,mEAAO,CAAC,8BAA8B,OAAO,4DAAC,QAAQ,8DAA8D,UAAU,eAAe,uDAAuD,0BAA0B,oCAAoC,4BAA4B,6BAA6B,uFAAuF,wBAAwB,mFAAmF,6BAA6B,2EAA2E,wBAAwB,MAAM,YAAY,MAAM,6DAA6D,kBAAkB,MAAM,YAAY,MAAM,6DAA6D,sBAAsB,0BAA0B,eAAe,8CAA8C,oBAAoB,MAAM,kBAAkB,GAAG,+DAA+D,WAAW,oDAAoD,uDAAC,EAAE,sFAAC,qCAAqC,uDAAC,EAAE,sFAAC,sCAAsC,uDAAC,EAAE,sFAAC,EAAE,YAAY,4CAA4C,uDAAC,EAAE,sFAAC,gCAAgC,uDAAC,EAAE,sFAAC,6BAA6B,uDAAC,EAAE,sFAAC,8BAA8B,uDAAC,EAAE,sFAAC,GAAG,oFAAC,6EAA6E,uDAAC,EAAE,sFAAC,GAAG,oFAAC,6DAA6D,uDAAC,EAAE,sFAAC,EAAE,YAAY,sCAAsC,uDAAC,EAAE,sFAAC,EAAE,YAAY,oCAAoC,uDAAC,EAAE,sFAAC,EAAE,YAAY,+BAA+B,uDAAC,EAAE,sFAAC,EAAE,KAAK,6EAAC,CAAC,mCAAmC,uDAAC,EAAE,sFAAC,0CAA0C,uDAAC,EAAE,8EAAC,+DAA+D,uDAAC,EAAE,sFAAC,iCAAiC,UAA+B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACJrkb;AACA;AACA;AACA;AACA;AAA8C;AAAgC;AAAsC;AAAwC;AAAmC;AAAiE;AAA6E;AAAqE;AAAgC;AAA0B;AAA6E;AAA0D;AAAqD;AAAoE,MAAMC,CAAC,GAAC;AAAC2W,EAAAA,OAAO,EAAC,CAAC,CAAV;AAAYu1B,EAAAA,UAAU,EAAC;AAACnL,IAAAA,GAAG,EAAC,CAAC,CAAN;AAAQw5B,IAAAA,MAAM,EAAC,CAAC,CAAhB;AAAkBzqC,IAAAA,MAAM,EAAC,CAAC;AAA1B;AAAvB,CAAR;AAAA,MAA6DpvB,CAAC,GAAClB,kEAAA,CAASoB,8EAAT,CAA/D;AAA2E,IAAIE,CAAC,GAAC,cAAclB,yDAAd,CAAe;AAAC+B,EAAAA,WAAW,CAACvC,CAAD,EAAG;AAAC,UAAMA,CAAN,GAAS,KAAKiyG,sBAAL,GAA4B,IAArC,EAA0C,KAAKC,gBAAL,GAAsB,IAAhE,EAAqE,KAAKrlE,YAAL,GAAkB,EAAC,GAAGjsC;AAAJ,KAAvF,EAA8F,KAAKuxG,oBAAL,GAA0B,IAAxH,EAA6H,KAAKC,cAAL,GAAoB,IAAjJ,EAAsJ,KAAKC,eAAL,GAAqB,IAAI/wG,CAAJ,EAA3K,EAAiL,KAAKgxG,SAAL,GAAe,IAAIlyG,2DAAJ,EAAhM,EAAsM,KAAK0nF,OAAL,GAAa,IAAnN,EAAwN,KAAK57C,IAAL,GAAU,MAAlO,EAAyO,KAAKqmE,YAAL,GAAkB,CAAC,CAA5P,EAA8P,KAAK/uG,UAAL,CAAgBzD,6DAAC,CAAE,MAAI,KAAK+nF,OAAX,EAAqB,MAAI,KAAK0qB,eAAL,EAAzB,EAAiDtyG,2DAAjD,CAAjB,CAA9P;AAAoU;;AAAAgE,EAAAA,OAAO,GAAE;AAAC,SAAKguG,gBAAL,GAAsB,IAAtB,EAA2B,KAAKpqB,OAAL,GAAa,IAAxC;AAA6C;;AAAA2qB,EAAAA,gBAAgB,CAACzyG,CAAD,EAAG;AAAC,WAAM,EAAC,GAAGY,CAAJ;AAAM,SAAGZ;AAAT,KAAN;AAAkB;;AAAS,MAALy7F,KAAK,GAAE;AAAC,WAAO,KAAKwW,sBAAL,GAA4B,SAA5B,GAAsC,KAAKnqB,OAAL,GAAa,OAAb,GAAqB,UAAlE;AAA6E;;AAA6B,MAAzB4qB,yBAAyB,GAAE;AAAC,UAAK;AAAC5qB,MAAAA,OAAO,EAAC9nF;AAAT,QAAY,IAAjB;AAAsB,QAAG,CAACA,CAAJ,EAAM,OAAM,CAAC,CAAP;AAAS,UAAMF,CAAC,GAACE,CAAC,CAACsJ,KAAF,IAAStJ,CAAC,CAAC8vC,WAAnB;AAA+B,WAAOhwC,CAAC,EAAEwF,MAAH,IAAW,kBAAiBxF,CAA5B,IAA+BA,CAAC,CAAC+sC,YAAjC,IAA+C,gBAAe/sC,CAAC,CAAC+sC,YAAhE,IAA8E,+BAA8B/sC,CAAC,CAAC+sC,YAAF,CAAeC,UAA3H,IAAuIhtC,CAAC,CAAC+sC,YAAF,CAAeC,UAAf,CAA0B4lE,yBAAjK,IAA4L,CAAC,CAApM;AAAsM;;AAAMC,EAAAA,cAAc,GAAE;AAAA;;AAAA;AAAC,YAAK;AAACT,QAAAA,gBAAgB,EAAClyG,CAAlB;AAAoBqyG,QAAAA,eAAe,EAACvyG;AAApC,UAAuC,KAA5C;AAAiD,UAAG,CAACE,CAAD,IAAI,cAAY,OAAOA,CAAC,CAAConC,gBAA5B,EAA6C,MAAM,IAAI3mC,sDAAJ,CAAM,eAAN,EAAsB,8CAAtB,CAAN;;AAA4E,YAAMD,CAAC,GAAC,KAAI,CAACoyG,YAAL,EAAR;;AAA4B,UAAG,YAAU,OAAOpyG,CAApB,EAAsB,MAAM,IAAIC,sDAAJ,CAAM,mBAAN,EAA0B,iDAA1B,CAAN;AAAmF,YAAML,CAAC,GAAC,IAAIO,yEAAJ,CAAM;AAACy5C,QAAAA,SAAS,EAAC,CAAC55C,CAAD,CAAX;AAAeqyG,QAAAA,cAAc,EAAC,CAAC;AAA/B,OAAN,CAAR;AAAA,YAAiD9yG,CAAC,GAAC,EAAnD;AAAA,YAAsDG,CAAC,GAACF,CAAC,CAAConC,gBAAF,CAAmBhnC,CAAnB,EAAsB0F,IAAtB,CAA4B9F,CAAC,IAAEA,CAAC,CAACQ,CAAD,CAAD,IAAMT,CAArC,EAAyC8D,KAAzC,CAAgD,MAAI9D,CAApD,CAAxD;AAAgH,WAAI,CAACkyG,sBAAL,GAA4B/xG,CAA5B,EAA8B,KAAI,CAAC2gE,YAAL,CAAkB,OAAlB,CAA9B;AAAyD,YAAMvgE,CAAC,SAAOJ,CAAd;AAAgB,aAAOJ,CAAC,CAACgzG,UAAF,IAAexyG,CAAC,CAACqN,MAAF,IAAU7N,CAAC,CAAC+hB,OAAF,CAAUvhB,CAAV,CAAzB,EAAsC,KAAI,CAAC2xG,sBAAL,GAA4B,IAAlE,EAAuE,KAAI,CAACpxC,YAAL,CAAkB,OAAlB,CAAvE,EAAkGvgE,CAAzG;AAAze;AAAolB;;AAAM0lC,EAAAA,aAAa,CAAChmC,CAAD,EAAGF,CAAC,GAAC,KAAKgoF,OAAV,EAAkB;AAAA;;AAAA;AAAC,YAAK;AAACoqB,QAAAA,gBAAgB,EAAC1xG,CAAlB;AAAoB6xG,QAAAA,eAAe,EAACjyG,CAApC;AAAsCysC,QAAAA,YAAY,EAAC9sC;AAAnD,UAAsD,MAA3D;AAAgE,UAAG,CAACD,CAAJ,EAAM,MAAM,IAAIW,sDAAJ,CAAM,iBAAN,EAAwB,+CAAxB,EAAwE;AAACqnF,QAAAA,OAAO,EAAChoF;AAAT,OAAxE,CAAN;AAA2F,UAAG,CAACE,CAAJ,EAAM,MAAM,IAAIS,sDAAJ,CAAM,oBAAN,EAA2B,6CAA3B,EAAyE;AAACopD,QAAAA,UAAU,EAAC7pD;AAAZ,OAAzE,CAAN;AAA+F,UAAG,CAACD,CAAC,CAAC+sC,UAAF,EAAcnL,GAAlB,EAAsB,MAAM,IAAIlhC,sDAAJ,CAAM,sBAAN,EAA6B,iDAA7B,CAAN;AAAsF,UAAG,CAACD,CAAD,IAAI,cAAY,OAAOA,CAAC,CAACwlC,aAA5B,EAA0C,MAAM,IAAIvlC,sDAAJ,CAAM,eAAN,EAAsB,6CAAtB,CAAN;AAA2E,YAAMP,CAAC,GAACM,CAAC,CAACwlC,aAAF,CAAgBlmC,CAAhB,EAAkBE,CAAlB,EAAqB8F,IAArB,CAA2B9F,CAAC,IAAE,MAAI,CAAC+yG,gBAAL,CAAsB/yG,CAAC,CAAC0zC,QAAxB,EAAiC5zC,CAAjC,CAA9B,CAAR;AAAA,YAA4EQ,CAAC,SAAOJ,CAApF;AAAsF,aAAOE,CAAC,CAACuhC,GAAF,CAAMrhC,CAAN,GAASA,CAAhB;AAA9jB;AAAglB;;AAAM0yG,EAAAA,gBAAgB,CAAChzG,CAAD,EAAG;AAAA;;AAAA;AAAC,YAAK;AAACkyG,QAAAA,gBAAgB,EAACpyG,CAAlB;AAAoBuyG,QAAAA,eAAe,EAAC7xG,CAApC;AAAsCsnF,QAAAA,OAAO,EAAC1nF,CAA9C;AAAgDysC,QAAAA,YAAY,EAAC9sC;AAA7D,UAAgE,MAArE;AAA0E,UAAG,CAACC,CAAJ,EAAM,MAAM,IAAIS,sDAAJ,CAAM,yBAAN,EAAgC,oDAAhC,EAAqF;AAACwyG,QAAAA,cAAc,EAACjzG;AAAhB,OAArF,CAAN;AAA+G,UAAG,CAACD,CAAC,CAAC+sC,UAAF,EAAcpc,MAAlB,EAAyB,MAAM,IAAIjwB,sDAAJ,CAAM,sBAAN,EAA6B,uDAA7B,CAAN;AAA4F,UAAG,CAACX,CAAD,IAAI,cAAY,OAAOA,CAAC,CAAC2mC,iBAA5B,EAA8C,MAAM,IAAIhmC,sDAAJ,CAAM,eAAN,EAAsB,gDAAtB,CAAN;AAA8E,UAAG,CAACL,CAAJ,EAAM,MAAM,IAAIK,sDAAJ,CAAM,iBAAN,EAAwB,4CAAxB,CAAN;AAA4E,YAAMP,CAAC,GAACJ,CAAC,CAAC2mC,iBAAF,CAAoBrmC,CAApB,EAAsB,CAACJ,CAAC,CAACwC,EAAH,CAAtB,EAA8BsD,IAA9B,CAAoC,MAAI9F,CAAxC,CAAR;AAAA,YAAoDM,CAAC,SAAOJ,CAA5D;AAA8D,aAAOM,CAAC,CAAC4C,MAAF,CAAS9C,CAAT,GAAYA,CAAC,CAAC4D,OAAF,EAAZ,EAAwB5D,CAA/B;AAAjkB;AAAkmB;;AAAM4lC,EAAAA,gBAAgB,CAAClmC,CAAD,EAAGF,CAAC,GAAC,KAAKqyG,oBAAV,EAA+B;AAAA;;AAAA;AAAC,YAAK;AAACD,QAAAA,gBAAgB,EAAC1xG,CAAlB;AAAoB6xG,QAAAA,eAAe,EAACjyG,CAApC;AAAsC0nF,QAAAA,OAAO,EAAC/nF,CAA9C;AAAgD8sC,QAAAA,YAAY,EAAC3sC;AAA7D,UAAgE,MAArE;AAA0E,UAAG,CAACF,CAAJ,EAAM,MAAM,IAAIS,sDAAJ,CAAM,oBAAN,EAA2B,gDAA3B,EAA4E;AAACopD,QAAAA,UAAU,EAAC7pD;AAAZ,OAA5E,CAAN;AAAkG,UAAG,CAACF,CAAJ,EAAM,MAAM,IAAIW,sDAAJ,CAAM,yBAAN,EAAgC,oDAAhC,EAAqF;AAACwyG,QAAAA,cAAc,EAACnzG;AAAhB,OAArF,CAAN;AAA+G,UAAG,CAACI,CAAC,CAAC4sC,UAAF,EAAcquB,MAAlB,EAAyB,MAAM,IAAI16D,sDAAJ,CAAM,sBAAN,EAA6B,uDAA7B,CAAN;AAA4F,YAAMH,CAAC,GAACF,CAAC,CAACmR,OAAF,CAAUzR,CAAV,CAAR;AAAqB,UAAG,CAACU,CAAD,IAAI,cAAY,OAAOA,CAAC,CAAC0lC,gBAA5B,EAA6C,MAAM,IAAIzlC,sDAAJ,CAAM,eAAN,EAAsB,gDAAtB,CAAN;AAA8E,UAAG,CAACV,CAAJ,EAAM,MAAM,IAAIU,sDAAJ,CAAM,iBAAN,EAAwB,4CAAxB,CAAN;AAA4E,YAAMK,CAAC,GAACN,CAAC,CAAC0lC,gBAAF,CAAmBnmC,CAAnB,EAAqBD,CAAC,CAAC0C,EAAvB,EAA0BxC,CAA1B,EAA6B8F,IAA7B,CAAmC9F,CAAC,IAAE,MAAI,CAAC+yG,gBAAL,CAAsB/yG,CAAC,CAAC0zC,QAAxB,CAAtC,CAAR;AAAA,YAAkFtyC,CAAC,SAAON,CAA1F;AAA4F,aAAOV,CAAC,CAACwhB,MAAF,CAASthB,CAAT,EAAW,CAAX,EAAac,CAAb,GAAgBA,CAAvB;AAA3tB;AAAovB;;AAAM8xG,EAAAA,WAAW,GAAE;AAAA;;AAAA;AAAC,aAAO,MAAM/tG,OAAO,CAACc,GAAR,CAAY,MAAI,CAACqsG,SAAL,CAAevwF,KAAf,CAAqB1c,GAArB,CAA0BrF,CAAC,IAAE,MAAI,CAACgmC,aAAL,CAAmBhmC,CAAC,CAACmzG,IAArB,CAA7B,CAAZ,CAAN,EAA6E,MAAI,CAACb,SAAL,CAAeppG,SAAf,EAA7E,EAAwG,MAAI,CAACypG,cAAL,EAA/G;AAAD;AAAsI;;AAAAS,EAAAA,OAAO,CAACpzG,CAAD,EAAGF,CAAH,EAAK;AAAC,QAAG,CAACE,CAAD,IAAI,CAACF,CAAR,EAAU,OAAO,IAAP;AAAY,UAAMU,CAAC,GAAC;AAAC6yG,MAAAA,IAAI,EAACrzG,CAAN;AAAQmzG,MAAAA,IAAI,EAACrzG;AAAb,KAAR;AAAwB,WAAO,KAAKwyG,SAAL,CAAe3wE,GAAf,CAAmBnhC,CAAnB,GAAsBA,CAA7B;AAA+B;;AAAA8yG,EAAAA,UAAU,CAACtzG,CAAD,EAAGF,CAAH,EAAKU,CAAC,GAAC,KAAK4xG,cAAZ,EAA2B;AAAC,QAAG,CAACpyG,CAAD,IAAI,CAACF,CAAL,IAAQ,CAACU,CAAZ,EAAc,OAAO,IAAP;AAAY,UAAMJ,CAAC,GAAC,KAAKkyG,SAAL,CAAe/gG,OAAf,CAAuB/Q,CAAvB,CAAR;AAAkC,WAAOJ,CAAC,GAAC,CAAC,CAAH,IAAM,KAAKkyG,SAAL,CAAe1wF,MAAf,CAAsBxhB,CAAtB,EAAwB,CAAxB,EAA0B;AAACizG,MAAAA,IAAI,EAACrzG,CAAN;AAAQmzG,MAAAA,IAAI,EAACrzG;AAAb,KAA1B,CAAN,EAAiD,KAAKwyG,SAAL,CAAevwF,KAAf,CAAqB3hB,CAArB,CAAxD;AAAgF;;AAAAmzG,EAAAA,UAAU,CAACvzG,CAAD,EAAG;AAAC,UAAMF,CAAC,GAAC,KAAKwyG,SAAL,CAAe9iG,IAAf,CAAqB1P,CAAC,IAAEA,CAAC,CAACuzG,IAAF,KAASrzG,CAAjC,CAAR;AAA6C,WAAOF,CAAC,IAAE,KAAKwyG,SAAL,CAAelvG,MAAf,CAAsBtD,CAAtB,GAAyBA,CAA3B,IAA8B,IAAtC;AAA2C;;AAAMizG,EAAAA,gBAAgB,CAAC/yG,CAAD,EAAGF,CAAH,EAAK;AAAA;;AAAA;AAAC,YAAK;AAACoyG,QAAAA,gBAAgB,EAAC1xG;AAAlB,UAAqB,MAA1B;AAA+B,UAAG,CAACR,CAAD,IAAI,CAACQ,CAAC,EAAE4mC,gBAAX,EAA4B,MAAM,IAAI3mC,sDAAJ,CAAM,uBAAN,EAA8B,6BAA9B,CAAN;;AAAmE,YAAML,CAAC,GAAC,MAAI,CAACwyG,YAAL,CAAkB9yG,CAAlB,CAAR;;AAA6B,UAAG,YAAU,OAAOM,CAApB,EAAsB,MAAM,IAAIK,sDAAJ,CAAM,mBAAN,EAA0B,iDAA1B,CAAN;AAAmF,YAAMV,CAAC,GAAC,IAAIY,yEAAJ,CAAM;AAACy5C,QAAAA,SAAS,EAAC,CAACh6C,CAAD,CAAX;AAAeozG,QAAAA,gBAAgB,EAAE,gBAAexzG,CAAE,EAAlD;AAAoD6yG,QAAAA,cAAc,EAAC,CAAC;AAApE,OAAN,CAAR;AAAsF,aAAOryG,CAAC,CAAC4mC,gBAAF,CAAmBrnC,CAAnB,EAAsB+F,IAAtB,CAA4B9F,CAAC,IAAEA,CAAC,CAACI,CAAD,CAAD,CAAK,CAAL,CAA/B,CAAP;AAA3V;AAA2Y;;AAAAwyG,EAAAA,YAAY,CAAC5yG,CAAC,GAAC,KAAK8nF,OAAR,EAAgB;AAAC,WAAO9nF,CAAC,EAAEioF,WAAH,MAAkB,IAAzB;AAA8B;;AAAAuqB,EAAAA,eAAe,GAAE;AAAC,SAAK1qB,OAAL,KAAe,KAAK2rB,mBAAL,IAA2B,KAAKd,cAAL,GAAsB9uG,KAAtB,CAA6B,MAAI,KAAKwuG,eAAL,CAAqBS,UAArB,EAAjC,CAA1C;AAAgH;;AAAAW,EAAAA,mBAAmB,GAAE;AAAC,UAAK;AAAC3rB,MAAAA,OAAO,EAAC9nF;AAAT,QAAY,IAAjB;AAAA,UAAsBF,CAAC,GAACkB,iFAAC,CAAChB,CAAD,CAAzB;AAA6B,SAAKkyG,gBAAL,GAAsBpyG,CAAC,GAAC,YAAUA,CAAC,CAACuD,IAAZ,IAAkB,QAAMvD,CAAC,CAAC4zG,eAA1B,GAA0C5zG,CAAC,CAAC4zG,eAA5C,GAA4D5zG,CAA7D,GAA+D,IAAtF;AAA2F;;AAAnrJ,CAArB;AAA0sJE,uDAAC,CAAC,CAACM,sFAAC,EAAF,CAAD,EAAOoB,CAAC,CAACuG,SAAT,EAAmB,cAAnB,EAAkC,KAAK,CAAvC,CAAD,EAA2CjI,uDAAC,CAAC,CAACc,8EAAC,CAAC,cAAD,CAAF,CAAD,EAAqBY,CAAC,CAACuG,SAAvB,EAAiC,kBAAjC,EAAoD,IAApD,CAA5C,EAAsGjI,uDAAC,CAAC,CAACM,sFAAC,EAAF,CAAD,EAAOoB,CAAC,CAACuG,SAAT,EAAmB,sBAAnB,EAA0C,KAAK,CAA/C,CAAvG,EAAyJjI,uDAAC,CAAC,CAACM,sFAAC,EAAF,CAAD,EAAOoB,CAAC,CAACuG,SAAT,EAAmB,gBAAnB,EAAoC,KAAK,CAAzC,CAA1J,EAAsMjI,uDAAC,CAAC,CAACM,sFAAC,CAAC;AAAC6H,EAAAA,QAAQ,EAAC,CAAC,CAAX;AAAa9E,EAAAA,IAAI,EAAC/B;AAAlB,CAAD,CAAF,CAAD,EAA2BI,CAAC,CAACuG,SAA7B,EAAuC,iBAAvC,EAAyD,KAAK,CAA9D,CAAvM,EAAwQjI,uDAAC,CAAC,CAACM,sFAAC,EAAF,CAAD,EAAOoB,CAAC,CAACuG,SAAT,EAAmB,WAAnB,EAA+B,KAAK,CAApC,CAAzQ,EAAgTjI,uDAAC,CAAC,CAACM,sFAAC,CAAC;AAAC+C,EAAAA,IAAI,EAACvD,mDAACA;AAAP,CAAD,CAAF,CAAD,EAAe4B,CAAC,CAACuG,SAAjB,EAA2B,SAA3B,EAAqC,KAAK,CAA1C,CAAjT,EAA8VjI,uDAAC,CAAC,CAACM,sFAAC,EAAF,CAAD,EAAOoB,CAAC,CAACuG,SAAT,EAAmB,MAAnB,EAA0B,KAAK,CAA/B,CAA/V,EAAiYjI,uDAAC,CAAC,CAACM,sFAAC,CAAC;AAAC6H,EAAAA,QAAQ,EAAC,CAAC;AAAX,CAAD,CAAF,CAAD,EAAoBzG,CAAC,CAACuG,SAAtB,EAAgC,OAAhC,EAAwC,IAAxC,CAAlY,EAAgbjI,uDAAC,CAAC,CAACM,sFAAC,EAAF,CAAD,EAAOoB,CAAC,CAACuG,SAAT,EAAmB,cAAnB,EAAkC,KAAK,CAAvC,CAAjb,EAA2djI,uDAAC,CAAC,CAACM,sFAAC,CAAC;AAAC6H,EAAAA,QAAQ,EAAC,CAAC;AAAX,CAAD,CAAF,CAAD,EAAoBzG,CAAC,CAACuG,SAAtB,EAAgC,2BAAhC,EAA4D,IAA5D,CAA5d,EAA8hBvG,CAAC,GAAC1B,uDAAC,CAAC,CAACoB,uFAAC,CAAC,+CAAD,CAAF,CAAD,EAAsDM,CAAtD,CAAjiB;AAA0lB,MAAMR,CAAC,GAACQ,CAAR;;;;;;;;;;;;;;;;;;;ACJ3jM;AACA;AACA;AACA;AACiD,cAAc,wBAAwB,sKAAsK,cAAc,QAAQ,uDAAC,mCAAmC,6BAA6B,EAAE,sCAAsC,EAAE,8BAA8B,EAAE,yCAAyC,EAAE,uCAAuC,EAAE,sGAAsG,EAAE,oVAAoV,EAAE,oCAAoC,EAAE,sCAAsC,EAAE,sCAAsC,EAAE,4FAA4F,EAAE,6FAA6F,EAAE,uEAAuE,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,gBAAgB,cAAc,i8BAAihC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACJp4E;AACA;AACA;AACA;AACiqB,8BAA8B,oBAAoB,EAAE,yBAAyB,EAAE,mBAAmB,EAAE,uBAAuB,EAAE,yBAAyB,EAAE,SAAS,oBAAoB,kDAAC,CAAC,iBAAiB,oJAAoJ,SAAS,uGAAuG,4EAAC,CAAC,aAAa,gBAAgB,0DAAC,oEAAoE,UAAU,mCAAmC,qBAAqB,qDAAqD,sBAAsB,gHAAgH,WAAW,oBAAoB,YAAY,+BAA+B,YAAY,sCAAsC,aAAa,gCAAgC,WAAW,2BAA2B,YAAY,sBAAsB,SAAS,SAAS,uBAAuB,OAAO,4DAAC,QAAQ,oCAAoC,mEAAQ,oEAAoE,oDAAoD,mBAAmB,OAAO,4DAAC,QAAQ,kBAAkB,kBAAkB,4DAAC,MAAM,2EAA2E,UAAU,qBAAqB,yDAAyD,kBAAkB,SAAS,mBAAmB,wEAAa,KAAK,OAAO,4DAAC,QAAQ,0GAA0G,EAAE,2BAA2B,yEAAyE,4BAA4B,SAAS,MAAM,2CAA2C,+CAA+C,6DAA6D,qCAAqC,uDAAuD,yBAAyB,eAAe,oDAAoD,uDAAC,EAAE,sFAAC,kCAAkC,uDAAC,EAAE,sFAAC,uCAAuC,uDAAC,EAAE,sFAAC,qDAAqD,uDAAC,EAAE,sFAAC,gDAAgD,uDAAC,EAAE,sFAAC,EAAE,iEAAiE,uCAAuC,uDAAC,EAAE,sFAAC,6BAA6B,uDAAC,EAAE,sFAAC,wCAAwC,uDAAC,EAAE,sFAAC,8BAA8B,uDAAC,EAAE,sFAAC,GAAG,oFAAC,6EAA6E,uDAAC,EAAE,sFAAC,6BAA6B,uDAAC,EAAE,sFAAC,EAAE,KAAK,4EAAC,CAAC,mCAAmC,uDAAC,EAAE,4FAAC,uCAAuC,uDAAC,EAAE,sFAAC,iCAAiC,UAA+B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACJv9G;AACA;AACA;AACA;AACA;AAA8C;AAAsC;AAAkD;AAAwC;AAAsE;AAA6E;AAA0B;AAA6B;AAAgC;AAA6E;AAAwC;AAAkD;AAAyE;AAAkG;;AAAkE,SAASA,CAAT,CAAW1B,CAAX,EAAaF,CAAb,EAAe;AAAC,SAAOE,CAAC,IAAE,eAAcA,CAAjB,KAAqB,CAACF,CAAD,IAAI,cAAY,OAAOE,CAAC,CAAC41C,QAArB,IAA+B,WAAS51C,CAAC,CAAC41C,QAAF,CAAW,WAAX,CAAjE,CAAP;AAAiG;;AAAA,SAAS10C,CAAT,CAAWlB,CAAX,EAAaF,CAAb,EAAe;AAAC,SAAOE,CAAC,CAAC2N,MAAF,KAAW7N,CAAC,CAAC6N,MAAb,IAAqB3N,CAAC,CAACsX,IAAF,CAAQ,CAACtX,CAAD,EAAGQ,CAAH,KAAOR,CAAC,CAACmM,IAAF,KAASrM,CAAC,CAACU,CAAD,CAAD,CAAK2L,IAA7B,CAA5B;AAAgE;;AAAA,SAASxK,CAAT,CAAW3B,CAAX,EAAaF,CAAb,EAAeU,CAAf,EAAiB;AAAC,MAAG,CAACA,CAAD,IAAI,CAACV,CAAR,EAAU;AAAOE,EAAAA,CAAC,CAACwP,IAAF,CAAQxP,CAAC,IAAEA,CAAC,CAACguF,SAAF,KAAcluF,CAAd,IAAiBE,CAAC,CAACmM,IAAF,KAAS3L,CAArC,KAA0CR,CAAC,CAAC4E,IAAF,CAAO;AAACuH,IAAAA,IAAI,EAAC3L,CAAN;AAAQwtF,IAAAA,SAAS,EAACluF;AAAlB,GAAP,CAA1C;AAAuE;;AAAA,SAASiC,CAAT,CAAW/B,CAAX,EAAa;AAAC,SAAM,gBAAcA,CAAC,CAACqD,IAAtB;AAA2B;;AAAA,MAAM4H,CAAC,GAAC,EAAR;;AAAW,IAAIpL,CAAC,GAAC,cAAcC,yDAAd,CAAe;AAACyC,EAAAA,WAAW,CAACvC,CAAD,EAAG;AAAC,UAAMA,CAAN,GAAS,KAAK4zG,MAAL,GAAY,MAAI;AAAC,WAAKC,uBAAL,CAA6Bn6F,KAA7B,IAAqC,KAAKo6F,oBAAL,CAA0Bp6F,KAA1B,EAArC,EAAuE,KAAK4D,aAAL,CAAmB,YAAnB,CAAvE,EAAwG,KAAKujD,YAAL,CAAkB,OAAlB,CAAxG;AAAmI,KAA7J,EAA8J,KAAKizC,oBAAL,GAA0B,IAAIpnG,GAAJ,EAAxL,EAAgM,KAAKmnG,uBAAL,GAA6B,IAAIphG,GAAJ,EAA7N,EAAqO,KAAKsP,KAAL,GAAW,IAAIhiB,2DAAJ,EAAhP,EAAsP,KAAKumF,IAAL,GAAU,IAAhQ,EAAqQ,KAAKytB,oBAAL,GAA0B/zG,CAAC,IAAE;AAAC,WAAKsd,aAAL,CAAmB,YAAnB,GAAiC,KAAKA,aAAL,CAAmB,0BAAnB,CAAjC;AAAgF,YAAMxd,CAAC,GAAC,KAAKwmF,IAAL,EAAWtuE,aAAnB;AAAiClY,MAAAA,CAAC,KAAG,KAAK0D,UAAL,CAAgB1D,CAAC,CAACuF,GAAF,CAAOrF,CAAC,IAAEE,6DAAC,CAAE,MAAI,CAACF,CAAC,CAAC0nF,SAAH,EAAa1nF,CAAC,CAACsJ,KAAF,EAASyoC,kBAAtB,CAAN,EAAkD,MAAI,KAAKiiE,uBAAL,EAAtD,CAAX,EAAoG7vG,OAApG,EAAhB,EAA8H,YAA9H,GAA4IrE,CAAC,CAAC2E,OAAF,CAAWzE,CAAC,IAAE;AAAC,sDAA4CA,CAAC,CAACqJ,aAA9C,IAA6D,KAAK7F,UAAL,CAAgBxD,CAAC,CAACyD,EAAF,CAAK,0BAAL,EAAiC,MAAI,KAAKuwG,uBAAL,EAArC,CAAhB,EAAsF,0BAAtF,CAA7D;AAA+K,OAA9L,CAA/I,CAAD,EAAkVh0G,CAAC,EAAE0iB,OAAH,IAAY1iB,CAAC,CAAC0iB,OAAF,CAAUje,OAAV,CAAmBzE,CAAC,IAAE;AAAC,aAAK8zG,oBAAL,CAA0BpjF,MAA1B,CAAiC1wB,CAAjC,GAAoC,KAAK6zG,uBAAL,CAA6BnjF,MAA7B,CAAoC1wB,CAApC,CAApC;AAA2E,OAAlG,CAA9V,EAAmc,KAAKg0G,uBAAL,EAAnc;AAAke,KAAt3B,EAAu3B,KAAKxwG,UAAL,CAAgB,CAAClD,0DAAC,CAAE,MAAI,KAAKgmF,IAAL,EAAWtuE,aAAjB,EAAgC,QAAhC,EAA0ChY,CAAC,IAAE,KAAK+zG,oBAAL,CAA0B/zG,CAA1B,CAA7C,EAA2E;AAACshB,MAAAA,aAAa,EAAC,MAAI,KAAKyyF,oBAAL,EAAnB;AAA+C1yF,MAAAA,gBAAgB,EAAC,KAAKuyF;AAArE,KAA3E,CAAF,EAA2JnzG,4DAAC,CAAE,MAAI,CAAC,CAAD,KAAK,KAAK6lF,IAAL,EAAWsR,UAAtB,EAAmC,MAAI,KAAKoc,uBAAL,EAAvC,CAA5J,CAAhB,CAAv3B;AAA6mC;;AAAA9vG,EAAAA,OAAO,GAAE;AAAC,SAAKoiF,IAAL,GAAU,IAAV,EAAe,KAAKutB,uBAAL,CAA6Bn6F,KAA7B,EAAf,EAAoD,KAAKo6F,oBAAL,CAA0Bp6F,KAA1B,EAApD,EAAsF,KAAKqI,KAAL,CAAW7Y,SAAX,EAAtF;AAA6G;;AAAS,MAALuyF,KAAK,GAAE;AAAC,WAAO,KAAKnV,IAAL,EAAWxuE,KAAX,GAAiB,KAAKg8F,oBAAL,CAA0Bx+E,IAA1B,GAA+B,CAA/B,GAAiC,SAAjC,GAA2C,OAA5D,GAAoE,UAA3E;AAAsF;;AAAA0+E,EAAAA,uBAAuB,GAAE;AAAC,UAAMh0G,CAAC,GAAC,KAAKsmF,IAAb;AAAA,UAAkBxmF,CAAC,GAACE,CAAC,EAAEgY,aAAvB;AAAqC,QAAG/M,CAAC,CAAC0C,MAAF,GAAS,CAAT,EAAW,CAAC3N,CAAD,IAAI,CAACF,CAAnB,EAAqB,OAAO,KAAK,KAAK8zG,MAAL,EAAZ;AAA0B9zG,IAAAA,CAAC,CAAC2E,OAAF,CAAW3E,CAAC,IAAE;AAAC,UAAGA,CAAC,CAAC4nF,SAAF,IAAa,CAAC5nF,CAAC,CAACwJ,KAAF,EAASyoC,kBAA1B,EAA6C;AAAO,YAAMvxC,CAAC,GAACV,CAAC,CAACwJ,KAAV;AAAgB,UAAG5H,CAAC,CAAClB,CAAD,EAAG,MAAH,CAAJ,EAAe,OAAO,KAAKmB,CAAC,CAACsJ,CAAD,EAAGnL,CAAH,EAAKU,CAAC,CAACiqC,SAAP,CAAb;;AAA+B,UAAGjqC,CAAC,CAAC4xC,kBAAL,EAAwB;AAAC,YAAG,KAAKyhE,uBAAL,CAA6B1kG,GAA7B,CAAiCrP,CAAjC,CAAH,EAAuC;AAAC,gBAAMC,CAAC,GAAC,KAAK8zG,uBAAL,CAA6Bj6F,GAA7B,CAAiC9Z,CAAjC,CAAR;;AAA4C,iBAAO,MAAKC,CAAC,GAAC4B,CAAC,CAACsJ,CAAD,EAAGnL,CAAH,EAAK,KAAKm0G,sBAAL,CAA4Bl0G,CAA5B,EAA8BC,CAA9B,EAAgCQ,CAAhC,CAAL,CAAF,GAA2CkB,CAAC,CAAClB,CAAD,CAAD,IAAMmB,CAAC,CAACsJ,CAAD,EAAGnL,CAAH,EAAKU,CAAC,CAACiqC,SAAP,CAAxD,CAAP;AAAkF;;AAAA,eAAO,KAAK,KAAKypE,qBAAL,CAA2Bp0G,CAA3B,CAAZ;AAA0C;;AAAA,YAAMC,CAAC,GAAC,gBAAeS,CAAf,GAAiBA,CAAC,CAACiC,UAAF,EAAc22D,iBAA/B,GAAiD,KAAK,CAA9D;AAAgEz3D,MAAAA,CAAC,CAACsJ,CAAD,EAAGnL,CAAH,EAAKC,CAAC,IAAES,CAAC,CAACiqC,SAAV,CAAD;AAAsB,KAAhc;AAAmc,UAAMjqC,CAAC,GAACV,CAAC,CAAC0P,IAAF,CAAQxP,CAAC,IAAE,8BAA4BA,CAAC,CAACsJ,KAAF,EAASjG,IAAhD,CAAR;;AAA+D,QAAG,KAAKijF,IAAL,IAAW9lF,CAAd,EAAgB;AAAC,YAAMR,CAAC,GAACY,4EAAC,CAAC,KAAK0lF,IAAN,CAAT;;AAAqB,UAAGtmF,CAAH,EAAK;AAAC,cAAMF,CAAC,GAACE,CAAC,CAACm0G,kBAAF,EAAR;;AAA+B,aAAI,IAAIn0G,CAAC,GAAC,CAAV,EAAYA,CAAC,GAACF,CAAC,CAAC6N,MAAhB,EAAuB,EAAE3N,CAAzB,EAA2B2B,CAAC,CAACsJ,CAAD,EAAGzK,CAAH,EAAKV,CAAC,CAACE,CAAD,CAAN,CAAD;AAAY;AAAC;;AAAAkB,IAAAA,CAAC,CAAC,KAAK6gB,KAAN,EAAY9W,CAAZ,CAAD,KAAkB,KAAK8W,KAAL,CAAW7Y,SAAX,IAAuB,KAAK6Y,KAAL,CAAWF,OAAX,CAAmB5W,CAAnB,CAAzC,GAAgEA,CAAC,CAAC0C,MAAF,GAAS,CAAzE,EAA2E,KAAKkzD,YAAL,CAAkB,OAAlB,CAA3E;AAAsG;;AAAMqzC,EAAAA,qBAAqB,CAACl0G,CAAD,EAAG;AAAA;;AAAA;AAAC,UAAG,KAAI,CAAC8zG,oBAAL,CAA0B3kG,GAA1B,CAA8BnP,CAA9B,CAAH,EAAoC;;AAAO,WAAI,CAAC8zG,oBAAL,CAA0BnyE,GAA1B,CAA8B3hC,CAA9B;;AAAiC,YAAMF,CAAC,SAAOU,2DAAC,CAACR,CAAC,CAACsJ,KAAF,CAAQ+oC,oBAAR,EAAD,CAAf;;AAAgD,UAAG,KAAI,CAACyhE,oBAAL,CAA0B3kG,GAA1B,CAA8BnP,CAA9B,CAAH,EAAoC;AAAC,cAAMQ,CAAC,GAACV,CAAC,CAAC+b,EAAF,GAAK,KAAI,CAACu4F,wBAAL,CAA8Bt0G,CAAC,CAAC0N,KAAhC,EAAsCzL,CAAC,CAAC/B,CAAC,CAACsJ,KAAH,CAAvC,CAAL,GAAuD,IAA/D;AAAoE,aAAI,CAACwqG,oBAAL,CAA0BpjF,MAA1B,CAAiC1wB,CAAjC,GAAoC,KAAI,CAAC6zG,uBAAL,CAA6BruG,GAA7B,CAAiCxF,CAAjC,EAAmCQ,CAAnC,CAApC;AAA0E;;AAAA,WAAI,CAACwzG,uBAAL;AAAhT;AAA+U;;AAAAI,EAAAA,wBAAwB,CAACp0G,CAAD,EAAGF,CAAH,EAAK;AAAC,UAAMU,CAAC,GAACR,CAAC,CAACq0G,YAAV;AAAA,UAAuBt0G,CAAC,GAAC,EAAzB;AAA4B,QAAG,CAACS,CAAJ,EAAM,OAAOT,CAAP;;AAAS,SAAI,IAAIG,CAAC,GAAC,CAAV,EAAYA,CAAC,GAACM,CAAC,CAACmN,MAAhB,EAAuBzN,CAAC,EAAxB,EAA2B;AAAC,YAAMF,CAAC,GAACQ,CAAC,CAACN,CAAD,CAAT;AAAA,YAAaI,CAAC,GAACN,CAAC,CAACs0G,aAAjB;AAA+B,UAAG,CAACh0G,CAAJ,EAAM;;AAAO,WAAI,MAAME,CAAV,IAAeF,CAAf,EAAiB;AAAC,cAAMA,CAAC,GAACE,CAAC,CAAC+zG,IAAV;AAAA,cAAe9zG,CAAC,GAACD,CAAC,CAACg0G,OAAF,IAAW10G,CAAC,IAAEU,CAAC,CAACg0G,OAAL,GAAa,CAAb,GAAe,CAA1B,CAAjB;AAAA,cAA8Cp0G,CAAC,GAACI,CAAC,CAACi0G,OAAF,IAAW30G,CAAC,IAAEU,CAAC,CAACi0G,OAAL,GAAa,CAAb,GAAe,CAA1B,CAAhD;AAAA,cAA6E3zG,CAAC,GAAC,IAAIH,4DAAJ,CAAM;AAACqY,UAAAA,IAAI,EAAC1Y,CAAC,CAAC,CAAD,CAAP;AAAWm4B,UAAAA,IAAI,EAACn4B,CAAC,CAAC,CAAD,CAAjB;AAAqB2Y,UAAAA,IAAI,EAAC3Y,CAAC,CAAC,CAAD,CAA3B;AAA+Bo4B,UAAAA,IAAI,EAACp4B,CAAC,CAAC,CAAD,CAArC;AAAyCoC,UAAAA,gBAAgB,EAACtB,4EAAOy1B;AAAjE,SAAN,CAA/E;AAAA,cAAyJv1B,CAAC,GAAC;AAACwX,UAAAA,MAAM,EAACtX,+FAAC,CAACV,CAAD,CAAT;AAAa4zG,UAAAA,WAAW,EAAC10G,CAAC,CAAC00G,WAAF,IAAe,EAAxC;AAA2CC,UAAAA,KAAK,EAAC,QAAMn0G,CAAC,CAACm0G,KAAR,GAAcn0G,CAAC,CAACm0G,KAAhB,GAAsB,GAAvE;AAA2EnyG,UAAAA,EAAE,EAACtC;AAA9E,SAA3J;;AAA4O,aAAI,IAAIF,CAAC,GAACS,CAAV,EAAYT,CAAC,IAAEI,CAAf,EAAiBJ,CAAC,EAAlB,EAAqBD,CAAC,CAACC,CAAD,CAAD,KAAO,EAAP,EAAUD,CAAC,CAACC,CAAD,CAAD,CAAK4E,IAAL,CAAUtD,CAAV,CAAV;AAAuB;AAAC;;AAAA,WAAOvB,CAAC,CAAC60G,MAAF,GAAShxF,IAAI,CAAC3Z,GAAL,CAAS0Q,KAAT,CAAe,IAAf,EAAoBR,MAAM,CAACkF,IAAP,CAAYtf,CAAZ,CAApB,CAAT,EAA6CA,CAApD;AAAsD;;AAAAk0G,EAAAA,sBAAsB,CAACj0G,CAAD,EAAGF,CAAH,EAAKU,CAAL,EAAO;AAAC,UAAK;AAACsY,MAAAA,MAAM,EAAC/Y,CAAR;AAAUsY,MAAAA,KAAK,EAACnY;AAAhB,QAAmBJ,CAAxB;AAA0B,QAAIQ,CAAC,GAACE,CAAC,CAACu2F,QAAF,EAAY8d,WAAZ,CAAwB30G,CAAxB,KAA4B,CAAlC;AAAoC,QAAGI,CAAC,GAACsjB,IAAI,CAAC5Z,GAAL,CAAShK,CAAC,CAAC40G,MAAF,IAAU,CAAnB,EAAqBhxF,IAAI,CAACgoD,KAAL,CAAWtrE,CAAX,CAArB,CAAF,EAAsC,CAACP,CAAD,IAAI,QAAMO,CAAV,IAAaA,CAAC,IAAE,CAAC,CAA1D,EAA4D,OAAM,EAAN;AAAS,UAAMG,CAAC,GAACT,CAAC,CAACM,CAAD,CAAT;AAAA,UAAaF,CAAC,GAACY,+EAAC,CAACjB,CAAC,CAAC6Y,MAAF,CAASrY,KAAT,GAAiBsY,SAAjB,EAAD,EAA8BzX,kFAA9B,CAAhB;AAAA,UAA6DN,CAAC,GAAC,IAAI4L,GAAJ,EAA/D;AAAuE,WAAOjM,CAAC,GAACA,CAAC,CAACgG,MAAF,CAAUzG,CAAC,IAAE;AAAC,YAAMF,CAAC,GAACE,CAAC,CAACwC,EAAV;AAAA,YAAahC,CAAC,GAAC,CAACM,CAAC,CAACqO,GAAF,CAAMrP,CAAN,CAAD,IAAWM,CAAX,IAAcJ,CAAC,CAAC8Y,MAAhB,IAAwBxX,mFAAC,CAACtB,CAAC,CAAC8Y,MAAH,EAAU1Y,CAAV,CAAxC;AAAqD,aAAOI,CAAC,IAAEM,CAAC,CAAC6gC,GAAF,CAAM7hC,CAAN,CAAH,EAAYU,CAAnB;AAAqB,KAAxF,EAA2F0O,IAA3F,CAAiG,CAAClP,CAAD,EAAGF,CAAH,KAAOA,CAAC,CAAC60G,KAAF,GAAQ30G,CAAC,CAAC20G,KAAV,IAAiB30G,CAAC,CAAC0zC,QAAF,GAAW5zC,CAAC,CAAC4zC,QAAtI,EAAiJruC,GAAjJ,CAAsJrF,CAAC,IAAEA,CAAC,CAAC00G,WAA3J,EAAyKpuF,IAAzK,CAA8K,IAA9K,CAAD,GAAqL,EAA7L;AAAgM;;AAAt6G,CAArB;;AAA67GtmB,uDAAC,CAAC,CAACI,sFAAC,CAAC;AAAC+H,EAAAA,QAAQ,EAAC,CAAC,CAAX;AAAa9E,EAAAA,IAAI,EAACtD,2DAACA;AAAnB,CAAD,CAAF,CAAD,EAA2BF,CAAC,CAACoI,SAA7B,EAAuC,OAAvC,EAA+C,KAAK,CAApD,CAAD,EAAwDjI,uDAAC,CAAC,CAACI,sFAAC,CAAC;AAAC+H,EAAAA,QAAQ,EAAC,CAAC;AAAX,CAAD,CAAF,CAAD,EAAoBtI,CAAC,CAACoI,SAAtB,EAAgC,OAAhC,EAAwC,IAAxC,CAAzD,EAAuGjI,uDAAC,CAAC,CAACI,sFAAC,EAAF,CAAD,EAAOP,CAAC,CAACoI,SAAT,EAAmB,MAAnB,EAA0B,KAAK,CAA/B,CAAxG,EAA0IpI,CAAC,GAACG,uDAAC,CAAC,CAACc,uFAAC,CAAC,+CAAD,CAAF,CAAD,EAAsDjB,CAAtD,CAA7I;AAAsM,MAAMwC,CAAC,GAACxC,CAAR;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACJ9wJ;AACA;AACA;AACA;AACyoB,oBAAoB,kDAAC,CAAC,iBAAiB,iDAAiD,oEAAC,kBAAkB,uBAAuB,gCAAgC,qBAAqB,IAAI,MAAM,EAAE,mBAAmB,OAAO,kFAAC,EAAE,WAAW,wxBAAoE,UAAU,oVAAkE,CAAC,EAAE,mBAAmB,mCAAmC,oBAAoB,8BAA8B,WAAW,oEAAoE,YAAY,+BAA+B,YAAY,sCAAsC,aAAa,gCAAgC,WAAW,2BAA2B,YAAY,sBAAsB,QAAQ,8BAA8B,SAAS,MAAM,sBAAsB,iBAAiB,WAAW,MAAM,OAAO,4DAAC,QAAQ,mBAAmB,qDAAM,CAAC,oEAAQ,EAAE,CAAC,4DAAC,mBAAmB,MAAM,0EAAc,2GAA2G,CAAC,4DAAC,QAAQ,2BAA2B,8DAAe,eAAe,CAAC,4DAAC,iBAAiB,mDAAmD,OAAO,uDAAC,EAAE,sFAAC,qCAAqC,uDAAC,EAAE,sFAAC,6BAA6B,uDAAC,EAAE,sFAAC,8BAA8B,uDAAC,EAAE,sFAAC,GAAG,oFAAC,qEAAqE,uDAAC,EAAE,sFAAC,6BAA6B,uDAAC,EAAE,sFAAC,EAAE,KAAK,oEAAC,CAAC,qCAAqC,uDAAC,EAAE,sFAAC,6BAA6B,UAA+B;;;;;;;;;;;;;;;;;;;;;;;;;;;ACJjqE;AACA;AACA;AACA;AACuiB,oBAAoB,4DAAC,CAAC,yDAAC,GAAG,eAAe,2BAA2B,YAAY,qMAAqM,aAAa,gBAAgB,6DAAC,6CAA6C,2DAAC,GAAG,UAAU,eAAe,mBAAmB,OAAO,uDAAC,YAAY,YAAY,yIAAyI,QAAQ,yDAAyD,QAAQ,WAAW,UAAU,gCAAgC,iFAAC,IAAI,iBAAiB,QAAQ,WAAW,GAAG,sBAAsB,kCAAkC,IAAI,EAAE,oBAAoB,aAAa,mBAAmB,yBAAyB,YAAY,EAAE,0BAA0B,yDAAyD,6DAAC,2CAA2C,2DAAC,EAAE,6DAAC,uCAAuC,2DAAC,KAAK,uDAAC,EAAE,sFAAC,EAAE,YAAY,oCAAoC,uDAAC,EAAE,sFAAC,EAAE,YAAY,qCAAqC,uDAAC,EAAE,sFAAC,EAAE,YAAY,6BAA6B,uDAAC,EAAE,sFAAC,iCAAiC,uDAAC,EAAE,sFAAC,8CAA8C,UAA+B;;;;;;;;;;;;;;;;ACJr2D;AACA;AACA;AACA;AACA,0BAA0B,wBAAwB,EAAE,mBAAoC;;;;;;;;;;;;;;;;ACJxF;AACA;AACA;AACA;AACA,cAAc,iFAA2G;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACJzH;AACA;AACA;AACA;AACssB,0CAA0C,+BAA+B,EAAE,iBAAiB,oBAAoB,kDAAC,CAAC,iBAAiB,0EAA0E,gGAAC,CAAC,aAAa,6BAA6B,WAAW,qBAAqB,YAAY,+BAA+B,YAAY,sCAAsC,aAAa,gCAAgC,WAAW,2BAA2B,YAAY,sBAAsB,kBAAkB,kCAAkC,mBAAmB,6BAA6B,WAAW,2BAA2B,YAAY,sBAAsB,cAAc,8BAA8B,eAAe,yBAAyB,SAAS,MAAM,6DAA6D,OAAO,gDAAgD,GAAG,OAAO,4DAAC,QAAQ,iEAAiE,mEAAQ,CAAC,kEAAO,+BAA+B,cAAc,4DAAC,CAAC,2FAAC,EAAE,4BAA4B,wCAAwC,YAAY,mCAAmC,sHAAsH,wEAAC,yBAAyB,kBAAkB,aAAa,UAAU,uDAAC,EAAE,sFAAC,EAAE,YAAY,8BAA8B,uDAAC,EAAE,sFAAC,6BAA6B,uDAAC,EAAE,sFAAC,8BAA8B,uDAAC,EAAE,sFAAC,oCAAoC,uDAAC,EAAE,sFAAC,GAAG,oFAAC,iGAAiG,uDAAC,EAAE,sFAAC,GAAG,oFAAC,0DAA0D,uDAAC,EAAE,sFAAC,6BAA6B,uDAAC,EAAE,sFAAC,oCAAoC,uDAAC,EAAE,sFAAC,6BAA6B,uDAAC,EAAE,sFAAC,EAAE,KAAK,gGAAC,CAAC,mCAAmC,uDAAC,EAAE,sFAAC,EAAE,aAAa,iCAAiC,uDAAC,EAAE,sFAAC,2CAA2C,UAA+B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACJxlF;AACA;AACA;AACA;AACA;AAA8C;AAA0B;AAAgC;AAAsB;AAAyB;AAAqG;AAAyD;AAAmD;AAAiE;AAAgH;AAAsD;AAA6E;AAA0B;AAA6B;AAAgC;AAA6E;AAAwE;AAAyG;AAAuD;AAAgH;AAA6C;AAAyD;AAA0F;AAAwC;AAAqF;AAA8I;AAAmF;AAAqF;AAAoF;AAAwG;AAAsF;AAA+G;AAAkF;AAA+F;AAA4D;AAAsD;AAAuC;AAA0C;AAA2C;AAAqC;AAAmD;AAA0C;AAAkD,MAAMwnB,CAAC,GAAC,GAAR;AAAY,IAAIO,CAAC,GAAC,cAActc,2FAAd,CAAe;AAAC/I,EAAAA,WAAW,CAACzC,CAAD,EAAG;AAAC,UAAMA,CAAN,GAAS,KAAKy2G,WAAL,GAAiB,CAAC,CAA3B,EAA6B,KAAKC,iBAAL,GAAuB,IAAI70G,iEAAJ,CAAM;AAACmuF,MAAAA,QAAQ,EAAC,CAAC,CAAX;AAAa9qD,MAAAA,QAAQ,EAAC,MAAtB;AAA6B12B,MAAAA,OAAO,EAAC,CAAC;AAAtC,KAAN,CAApD,EAAoG,KAAKmoG,iBAAL,GAAuB,IAAI90G,iEAAJ,CAAM;AAACmuF,MAAAA,QAAQ,EAAC,CAAC,CAAX;AAAa9qD,MAAAA,QAAQ,EAAC,MAAtB;AAA6B12B,MAAAA,OAAO,EAAC,CAAC;AAAtC,KAAN,CAA3H,EAA2K,KAAKooG,cAAL,GAAoB,IAAI/0G,iEAAJ,CAAM;AAACmuF,MAAAA,QAAQ,EAAC,CAAC,CAAX;AAAa9qD,MAAAA,QAAQ,EAAC,MAAtB;AAA6B12B,MAAAA,OAAO,EAAC,CAAC;AAAtC,KAAN,CAA/L,EAA+O,KAAKqoG,gBAAL,GAAsB,IAAI50G,8EAAJ,EAArQ,EAA2Q,KAAK60G,SAAL,GAAe,EAA1R,EAA6R,KAAKC,yBAAL,GAA+B,IAA5T,EAAiU,KAAKC,WAAL,GAAiB,IAAlV,EAAuV,KAAKC,gBAAL,GAAsB,IAA7W;AAAkX;;AAAApzG,EAAAA,UAAU,GAAE;AAAA;;AAACyH,IAAAA,sEAAC,CAAC,qBAAD,CAAD,CAAyBtF,IAAzB,CAA+BhG,CAAC,IAAE;AAAC,WAAKsJ,QAAL,GAActJ,CAAd;AAAgB,KAAnD;AAAsD,UAAMA,CAAC,GAAC,KAAKwmF,IAAb;AAAkB,SAAK0wB,KAAL,GAAW,IAAI10G,4DAAJ,CAAM;AAACgkF,MAAAA,IAAI,EAACxmF;AAAN,KAAN,CAAX,EAA2BA,CAAC,CAACuF,GAAF,CAAMwc,OAAN,CAAc,CAAC,KAAK20F,iBAAN,EAAwB,KAAKC,iBAA7B,EAA+C,KAAKC,cAApD,CAAd,CAA3B,EAA8G52G,CAAC,CAAC8iF,KAAF,EAA9G,EAAwH,KAAKq0B,sBAAL,GAA4B9rG,4FAAC,CAACrL,CAAD,CAArJ,EAAyJ,KAAK0D,UAAL,CAAgB,CAAC2jB,gEAAC,iNAAE,aAAS;AAAC,WAAI,CAAC/d,QAAL,SAAoBgC,sEAAC,CAAC,qBAAD,CAArB;AAA6C,KAAzD,EAAF,EAA8DhL,6DAAC,CAAE,MAAI,CAAC,KAAKg7C,IAAN,EAAW,KAAKy7D,yBAAhB,EAA0C,KAAKztG,QAA/C,CAAN,EAAiE,MAAI;AAAC,WAAK8tG,gBAAL;AAAwB,KAA9F,EAAgGt2G,2DAAhG,CAA/D,EAAkKR,6DAAC,CAAE,MAAI,CAAC,KAAKkmF,IAAL,CAAU4R,cAAV,CAAyBif,WAA1B,EAAsC,KAAK7wB,IAAL,CAAU4R,cAAV,CAAyBkf,SAA/D,CAAN,EAAkF,MAAI;AAAC,UAAG,CAAC,KAAKR,SAAL,CAAejpG,MAAnB,EAA0B;;AAAO,YAAM7N,CAAC,GAAC,KAAK82G,SAAL,CAAevxG,GAAf,CAAoB,CAAC;AAACgyG,QAAAA,KAAK,EAACv3G;AAAP,OAAD,KAAaA,CAAjC,CAAR;;AAA6C,WAAI,MAAK;AAAC+mG,QAAAA,MAAM,EAAC7mG;AAAR,OAAT,IAAsB,KAAK42G,SAA3B,EAAqC52G,CAAC,CAACoD,MAAF;;AAAW,WAAKwzG,SAAL,GAAe,EAAf,EAAkB,KAAKJ,iBAAL,CAAuBttG,SAAvB,EAAlB,EAAqD,KAAKutG,iBAAL,CAAuBvtG,SAAvB,EAArD,EAAwF,KAAKwtG,cAAL,CAAoBxtG,SAApB,EAAxF,EAAwH,KAAKouG,YAAL,CAAkBpuG,SAAlB,EAAxH,EAAsJ,KAAKquG,aAAL,CAAmBz3G,CAAnB,CAAtJ;AAA4K,KAAjY,CAAnK,EAAuiBM,6DAAC,CAAE,MAAI,KAAKo3G,eAAL,CAAqBC,cAA3B,EAA4C33G,CAAC,IAAE;AAAC,WAAI,MAAME,CAAV,IAAeF,CAAf,EAAiBE,CAAC,CAACsJ,KAAF,KAAU,KAAKktG,iBAAf,IAAkCx2G,CAAC,CAACsJ,KAAF,KAAU,KAAKmtG,iBAAjD,KAAqEz2G,CAAC,CAACia,OAAF,GAAU,CAAC,CAAhF;AAAmF,KAApJ,EAAsJrZ,2DAAtJ,CAAxiB,EAAisB,KAAKq2G,sBAAtsB,CAAhB,CAAzJ,EAAw4Bh1G,yGAAC,CAAC,IAAD,CAAz4B;AAAg5B;;AAAAiC,EAAAA,OAAO,GAAE;AAAC,UAAK;AAACmB,MAAAA,GAAG,EAACvF;AAAL,QAAQ,KAAKwmF,IAAlB;AAAuB,SAAK0wB,KAAL,CAAW1wB,IAAX,GAAgB,IAAhB,EAAqB,KAAK0wB,KAAL,GAAWv2G,4DAAC,CAAC,KAAKu2G,KAAN,CAAjC,EAA8Cl3G,CAAC,CAAC43G,UAAF,CAAa,CAAC,KAAKlB,iBAAN,EAAwB,KAAKC,iBAA7B,EAA+C,KAAKC,cAApD,CAAb,CAA9C,EAAgI,KAAKF,iBAAL,CAAuBttG,SAAvB,EAAhI,EAAmK,KAAKutG,iBAAL,CAAuBvtG,SAAvB,EAAnK,EAAsM,KAAKwtG,cAAL,CAAoBxtG,SAApB,EAAtM,EAAsO,KAAK7E,IAAL,CAAU,aAAV,EAAwB,IAAxB,CAAtO,EAAoQ,KAAKA,IAAL,CAAU,kBAAV,EAA6B,IAA7B,CAApQ,EAAuS,KAAKmyG,iBAAL,GAAuB/1G,4DAAC,CAAC,KAAK+1G,iBAAN,CAA/T,EAAwV,KAAKC,iBAAL,GAAuBh2G,4DAAC,CAAC,KAAKg2G,iBAAN,CAAhX,EAAyY,KAAKC,cAAL,GAAoBj2G,4DAAC,CAAC,KAAKi2G,cAAN,CAA9Z,EAAob,KAAKC,gBAAL,GAAsBl2G,4DAAC,CAAC,KAAKk2G,gBAAN,CAA3c,EAAme,KAAKgB,cAAL,EAAne;AAAyf;;AAAoB,MAAhBC,gBAAgB,GAAE;AAAC,WAAO,KAAKX,sBAAL,CAA4B5Q,eAAnC;AAAmD;;AAAU,MAANpO,MAAM,GAAE;AAAC,WAAO,KAAKse,WAAL,GAAiB,WAAjB,GAA6B,IAApC;AAAyC;;AAAY,MAARl3D,QAAQ,CAACv/C,CAAD,EAAG;AAAC,SAAKuE,IAAL,CAAU,UAAV,EAAqBvE,CAArB,GAAwBA,CAAC,IAAE,KAAKk3G,KAAL,CAAWa,KAAX,EAA3B;AAA8C;;AAAmB,MAAfL,eAAe,GAAE;AAAC,WAAO,KAAKI,gBAAL,CAAsBjmF,OAA7B;AAAqC;;AAAY,MAAR0mB,QAAQ,GAAE;AAAC,WAAO,KAAKs+D,gBAAL,CAAsBt+D,QAAtB,IAAgC,KAAKu/D,gBAAL,CAAsBv/D,QAA7D;AAAsE;;AAAAy/D,EAAAA,UAAU,GAAE;AAAC,SAAKvB,WAAL,IAAkB,MAAI,KAAKK,SAAL,CAAejpG,MAArC,IAA6C,KAAKoqG,YAAL,EAA7C;AAAiE;;AAAAC,EAAAA,MAAM,GAAE;AAAC,SAAKxB,iBAAL,CAAuBloG,OAAvB,GAA+B,CAAC,CAAhC,EAAkC,KAAKmoG,iBAAL,CAAuBnoG,OAAvB,GAA+B,CAAC,CAAlE,EAAoE,KAAKooG,cAAL,CAAoBpoG,OAApB,GAA4B,CAAC,CAAjG;AAAmG;;AAAA2pG,EAAAA,MAAM,GAAE;AAAC,SAAKzB,iBAAL,CAAuBloG,OAAvB,GAA+B,CAAC,CAAhC,EAAkC,KAAKmoG,iBAAL,CAAuBnoG,OAAvB,GAA+B,CAAC,CAAlE,EAAoE,KAAKooG,cAAL,CAAoBpoG,OAApB,GAA4B,CAAC,CAAjG;AAAmG;;AAAA4pG,EAAAA,mBAAmB,CAACp4G,CAAD,EAAG;AAAC,WAAO,IAAI2M,4FAAJ,CAAM;AAACw/B,MAAAA,aAAa,EAAC;AAACC,QAAAA,IAAI,EAAC,eAAN;AAAsBpQ,QAAAA,MAAM,EAAC;AAA7B,OAAf;AAA+CspE,MAAAA,OAAO,EAACtlG,CAAvD;AAAyDkoG,MAAAA,sBAAsB,EAAC,IAAIhhF,8GAAJ,CAAM,IAAIhb,0FAAJ,CAAM,OAAN,EAAcnD,+FAAC,CAAC,CAAC,CAAF,EAAI,CAAC,CAAL,EAAO,KAAKy9E,IAAL,CAAU5jF,gBAAjB,CAAf,CAAN,EAAyDR,qEAAzD,CAAhF;AAAkJimG,MAAAA,UAAU,EAAC,IAAIrhG,gGAAJ,CAAM,KAAK4vG,cAAX;AAA7J,KAAN,CAAP;AAAuM;;AAAAiB,EAAAA,cAAc,GAAE;AAAC,SAAI,MAAK;AAAC9Q,MAAAA,MAAM,EAAC/mG;AAAR,KAAT,IAAsB,KAAK82G,SAA3B,EAAqC92G,CAAC,CAACsD,MAAF;;AAAW,SAAKwzG,SAAL,GAAe,EAAf;AAAkB;;AAAAmB,EAAAA,YAAY,GAAE;AAAC,SAAKxB,WAAL,GAAiB,CAAC,CAAlB;;AAAoB,UAAMz2G,CAAC,GAAC,KAAK83G,gBAAb;AAAA,UAA8B53G,CAAC,GAAC,KAAKg3G,KAAL,CAAWryF,MAAX,CAAkB,UAAlB,EAA6B;AAACunB,MAAAA,IAAI,EAAC,OAAN;AAAcm6D,MAAAA,eAAe,EAACvmG;AAA9B,KAA7B,CAAhC;;AAA+FE,IAAAA,CAAC,CAACyD,EAAF,CAAK,CAAC,YAAD,EAAc,eAAd,EAA8B,eAA9B,EAA8C,eAA9C,EAA8D,MAA9D,EAAqE,MAArE,CAAL,EAAmF3D,CAAC,IAAE,KAAKy3G,aAAL,CAAmBz3G,CAAC,CAAC0oG,QAArB,CAAtF,GAAuHxoG,CAAC,CAACyD,EAAF,CAAK,eAAL,EAAsB,MAAI;AAAC,WAAK00G,WAAL;AAAmB,KAA9C,CAAvH;AAAwK;;AAAAA,EAAAA,WAAW,GAAE;AAAC,SAAKb,YAAL,CAAkB7yG,OAAlB,CAA2B,CAAC;AAAC2zG,MAAAA,WAAW,EAACt4G;AAAb,KAAD,KAAmB;AAACA,MAAAA,CAAC,CAACu4G,WAAF,GAAc,CAAC,CAAf;AAAiB,KAAhE,GAAmE,KAAK9B,WAAL,GAAiB,CAAC,CAArF,EAAuF,KAAK+B,kBAAL,EAAvF;AAAiH;;AAAAf,EAAAA,aAAa,CAACz3G,CAAD,EAAG;AAAC,UAAK;AAAC4C,MAAAA,gBAAgB,EAAC1C;AAAlB,QAAqB,KAAKsmF,IAA/B;;AAAoC,WAAK,KAAKswB,SAAL,CAAejpG,MAAf,GAAsB7N,CAAC,CAAC6N,MAA7B,GAAqC;AAAC,YAAK;AAACk5F,QAAAA,MAAM,EAAC/mG,CAAR;AAAUs4G,QAAAA,WAAW,EAACp4G;AAAtB,UAAyB,KAAK42G,SAAL,CAAer7F,GAAf,EAA9B;;AAAmDzb,MAAAA,CAAC,CAACsD,MAAF,IAAW,KAAKk0G,YAAL,CAAkBl0G,MAAlB,CAAyBpD,CAAzB,CAAX;AAAuC;;AAAA,SAAI,IAAIY,CAAC,GAAC,KAAKg2G,SAAL,CAAejpG,MAAzB,EAAgC/M,CAAC,GAACd,CAAC,CAAC6N,MAApC,EAA2C/M,CAAC,EAA5C,EAA+C;AAAC,YAAK,CAACJ,CAAD,EAAGN,CAAH,IAAMJ,CAAC,CAACc,CAAD,CAAZ;AAAA,YAAgBb,CAAC,GAAC,IAAI4M,2DAAJ,CAAM;AAACrK,QAAAA,CAAC,EAAC9B,CAAH;AAAKU,QAAAA,CAAC,EAAChB,CAAP;AAASwC,QAAAA,gBAAgB,EAAC1C;AAA1B,OAAN,CAAlB;AAAA,YAAsDS,CAAC,GAACunB,CAAC,CAACjoB,CAAD,EAAG,KAAKumF,IAAR,EAAa,KAAKmwB,iBAAlB,CAAzD;AAA8F,WAAKa,YAAL,CAAkB31E,GAAlB,CAAsBlhC,CAAtB;AAAyB,YAAML,CAAC,GAAC4mB,2HAAA,CAAejnB,CAAf,EAAiBmC,qEAAjB,CAAR;AAAA,YAAkCvB,CAAC,GAAC,CAACP,CAAC,CAACqD,EAAF,CAAK,eAAL,EAAsB3D,CAAC,IAAE;AAAC,cAAME,CAAC,GAACF,CAAC,CAAC0oG,QAAF,CAAWl/E,EAAX,CAAc,CAAd,CAAR;AAAyBtpB,QAAAA,CAAC,KAAG,KAAK42G,SAAL,CAAeh2G,CAAf,EAAkBy2G,KAAlB,GAAwB,CAACr3G,CAAC,CAAC0oG,GAAF,CAAM,CAAN,CAAD,EAAU1oG,CAAC,CAAC0oG,GAAF,CAAM,CAAN,CAAV,CAAxB,EAA4C,KAAKwO,gBAAL,EAA/C,CAAD;AAAyE,OAA5H,CAAD,EAAgIjsG,4GAAC,CAACxK,CAAD,EAAI,CAACX,CAAD,EAAGE,CAAH,EAAKQ,CAAL,EAAON,CAAP,KAAW;AAAC,cAAMH,CAAC,GAAC,KAAKm4G,mBAAL,CAAyBh4G,CAAzB,CAAR;AAAA,cAAoCI,CAAC,GAAC,KAAKs3G,gBAA3C;AAAA,cAA4Dn3G,CAAC,GAAC,KAAKk2G,gBAAnE;AAAA,cAAoF;AAACnQ,UAAAA,YAAY,EAAC5lG;AAAd,YAAiBuF,yHAAC,CAAC;AAACmgG,UAAAA,eAAe,EAACvmG,CAAjB;AAAmBsmG,UAAAA,eAAe,EAAC/lG,CAAnC;AAAqC0zF,UAAAA,eAAe,EAACvzF;AAArD,SAAD,CAAtG;;AAAgKT,QAAAA,CAAC,CAACwa,IAAF,CAAO0N,qFAAC,CAAC,KAAKo+D,IAAN,CAAR,EAAqB9rE,IAArB,CAA2Bxa,CAAC,IAAE;AAAC,cAAG,YAAUA,CAAC,CAACmlG,MAAf,EAAsB;AAAC,kBAAM3kG,CAAC,GAAC,IAAImM,2DAAJ,CAAM3M,CAAC,CAACknG,QAAR,CAAR;AAA0BpnG,YAAAA,CAAC,CAACgoF,OAAF,CAAU7wD,QAAV,GAAmBz2B,CAAnB,EAAqBJ,CAAC,CAACo4G,cAAF,CAAiBh4G,CAAjB,CAArB;AAAyC;;AAAA,iBAAOR,CAAP;AAAS,SAAlI,EAAqIwa,IAArI,CAA0I,GAAG5Z,CAA7I,EAAgJ4Z,IAAhJ,CAAqJoF,+FAAC,CAAC;AAACktB,UAAAA,UAAU,EAAC1sC;AAAZ,SAAD,CAAtJ,EAAwKoa,IAAxK,CAA8K,MAAI;AAAC1a,UAAAA,CAAC,CAACgoF,OAAF,CAAU7wD,QAAV,GAAmB72B,CAAC,CAAC4D,IAAF,CAAOizB,QAA1B;AAAmC,SAAtN;AAAyN,OAAzY,CAAjI,CAApC;;AAAkjB,WAAK2/E,SAAL,CAAehyG,IAAf,CAAoB;AAACwzG,QAAAA,WAAW,EAAC33G,CAAb;AAAe42G,QAAAA,KAAK,EAAC,CAAC72G,CAAD,EAAGN,CAAH,CAArB;AAA2B2mG,QAAAA,MAAM,EAACvmG,kEAAC,CAACK,CAAD;AAAnC,OAApB;AAA6D;;AAAA,UAAMH,CAAC,GAAC,KAAKo2G,SAAL,CAAejpG,MAAf,GAAsB,CAA9B;AAAA,UAAgCzN,CAAC,GAAC,KAAK02G,SAAL,CAAep2G,CAAf,CAAlC;AAAA,UAAoD,CAACT,CAAD,EAAGU,CAAH,IAAMX,CAAC,CAACU,CAAD,CAA3D;AAA+DN,IAAAA,CAAC,CAACm3G,KAAF,CAAQ,CAAR,MAAat3G,CAAb,IAAgBG,CAAC,CAACm3G,KAAF,CAAQ,CAAR,MAAa52G,CAA7B,KAAiCP,CAAC,CAACm3G,KAAF,GAAQ,CAACt3G,CAAD,EAAGU,CAAH,CAAR,EAAcP,CAAC,CAACk4G,WAAF,CAActwB,OAAd,CAAsB7wD,QAAtB,GAA+B,IAAItqB,2DAAJ,CAAM;AAACrK,MAAAA,CAAC,EAACvC,CAAH;AAAKmB,MAAAA,CAAC,EAACT,CAAP;AAASiC,MAAAA,gBAAgB,EAAC1C;AAA1B,KAAN,CAA9E;AAAmH,UAAMI,CAAC,GAAC,KAAKm2G,WAAL,GAAiB,KAAKK,SAAL,CAAep2G,CAAf,EAAkB43G,WAAnC,GAA+C,IAAvD;AAA4D,SAAKd,YAAL,CAAkB7yG,OAAlB,CAA2B,CAAC;AAAC2zG,MAAAA,WAAW,EAACt4G;AAAb,KAAD,KAAmB;AAACA,MAAAA,CAAC,CAACu4G,WAAF,GAAc,QAAMj4G,CAAN,IAASN,CAAC,KAAGM,CAA3B;AAA6B,KAA5E,GAA+E,KAAK82G,gBAAL,EAA/E;AAAuG;;AAAAA,EAAAA,gBAAgB,GAAE;AAAC,QAAG,KAAKN,SAAL,CAAejpG,MAAf,GAAsB,CAAzB,EAA2B,OAAO,KAAK,KAAK6oG,iBAAL,CAAuBttG,SAAvB,EAAZ;;AAA+C,UAAMpJ,CAAC,GAAC,KAAK82G,SAAL,CAAevxG,GAAf,CAAoB,CAAC;AAACgyG,MAAAA,KAAK,EAACv3G;AAAP,KAAD,KAAaA,CAAjC,CAAR;AAAA,UAA6C;AAACg3G,MAAAA,WAAW,EAACx2G,CAAb;AAAem4G,MAAAA,OAAO,EAACh4G,CAAvB;AAAyBioD,MAAAA,QAAQ,EAACtoD;AAAlC,QAAqCsnB,CAAC,CAAC5nB,CAAD,EAAG,KAAKwmF,IAAL,CAAU5jF,gBAAb,EAA8B,KAAKm0G,yBAAnC,CAAnF;;AAAiJ,SAAKxyG,IAAL,CAAU,aAAV,EAAwB/D,CAAxB;;AAA2B,UAAMM,CAAC,GAACqkC,EAAE,CAAC,KAAK77B,QAAN,EAAe9I,CAAf,EAAiB,KAAK86C,IAAtB,CAAV;AAAsC,QAAIz6C,CAAJ,EAAMK,CAAN;;AAAQ,SAAKqD,IAAL,CAAU,kBAAV,EAA6BzD,CAA7B;;AAAgC,UAAK;AAAC8vF,MAAAA,QAAQ,EAAC5vF;AAAV,QAAa,KAAK01G,iBAAvB;AAAA,UAAyCp1G,CAAC,GAAC,MAAIN,CAAC,CAAC6M,MAAjD;AAAA,UAAwD;AAACuqF,MAAAA,cAAc,EAAC52F;AAAhB,QAAmB,KAAKglF,IAAhF;AAAqFllF,IAAAA,CAAC,IAAET,CAAC,GAACG,CAAC,CAACwoB,EAAF,CAAK,CAAL,CAAF,EAAUtoB,CAAC,GAACF,CAAC,CAACwoB,EAAF,CAAK,CAAL,CAAd,KAAwB3oB,CAAC,GAAC,IAAIX,mDAAJ,CAAM;AAACosC,MAAAA,MAAM,EAAC,IAAIj6B,8DAAJ,CAAM;AAACnO,QAAAA,IAAI,EAAC;AAACX,UAAAA,IAAI,EAAC,oBAAN;AAA2B+oC,UAAAA,MAAM,EAAC;AAAC/oC,YAAAA,IAAI,EAAC,eAAN;AAAsBgpC,YAAAA,YAAY,EAAC,CAAC;AAAChpC,cAAAA,IAAI,EAAC,gBAAN;AAAuB+nE,cAAAA,OAAO,EAAC,CAAC;AAAC/nE,gBAAAA,IAAI,EAAC,0BAAN;AAAiCq1G,gBAAAA,YAAY,EAAC,CAAC,EAAD,EAAI,EAAJ,CAA9C;AAAsDC,gBAAAA,cAAc,EAAC,SAArE;AAA+EC,gBAAAA,kBAAkB,EAAC;AAAlG,eAAD,CAA/B;AAAmJC,cAAAA,MAAM,EAAC,CAAC,CAA3J;AAA6JC,cAAAA,QAAQ,EAAC,MAAtK;AAA6KC,cAAAA,SAAS,EAAC,OAAvL;AAA+LhgG,cAAAA,KAAK,EAAC,GAArM;AAAyM7D,cAAAA,KAAK,EAAC1U,gEAAC,CAACc,CAAC,CAAC61G,WAAH,CAAD,CAAiBhzG,OAAjB;AAA/M,aAAD,EAA4O;AAACd,cAAAA,IAAI,EAAC,gBAAN;AAAuBw1G,cAAAA,MAAM,EAAC,CAAC,CAA/B;AAAiCC,cAAAA,QAAQ,EAAC,MAA1C;AAAiDC,cAAAA,SAAS,EAAC,OAA3D;AAAmEhgG,cAAAA,KAAK,EAAC,CAAzE;AAA2E7D,cAAAA,KAAK,EAAC5T,CAAC,CAAC61G,WAAF,CAAchzG,OAAd;AAAjF,aAA5O;AAAnC;AAAlC;AAAN,OAAN;AAAR,KAAN,CAAF,EAA8bnD,CAAC,GAAC,IAAIhB,mDAAJ,CAAM;AAACosC,MAAAA,MAAM,EAAC,IAAI5gC,+DAAJ,CAAM;AAAC0J,QAAAA,KAAK,EAAC5T,CAAC,CAAC81G,SAAT;AAAmB1Z,QAAAA,SAAS,EAACx9F,oEAAC,CAACM,gEAAC,CAACc,CAAC,CAAC81G,SAAH,EAAar3G,wEAAb,CAAF,EAAsB,EAAtB,CAA9B;AAAwDk5G,QAAAA,QAAQ,EAAC,CAAjE;AAAmE9zB,QAAAA,IAAI,EAAC,IAAI98E,yDAAJ,CAAM;AAACitB,UAAAA,IAAI,EAAC,EAAN;AAAS4jF,UAAAA,MAAM,EAAC;AAAhB,SAAN;AAAxE,OAAN;AAAR,KAAN,CAAhc,EAAqkBp4G,CAAC,CAACoI,SAAF,EAArkB,EAAmlBpI,CAAC,CAAC+gB,OAAF,CAAU,CAAClhB,CAAD,EAAGK,CAAH,CAAV,CAA3mB,CAAD,EAA8nBL,CAAC,CAACs2B,QAAF,GAAWx2B,CAAzoB,EAA2oBO,CAAC,CAACi2B,QAAF,GAAW72B,CAAC,CAAC0Y,MAAF,EAAUF,MAAhqB,EAAuqB5X,CAAC,CAACorC,MAAF,CAASjgC,IAAT,GAAcvL,CAArrB;AAAurB;;AAAllL,CAArB;;AAAymL,SAASonB,CAAT,CAAWloB,CAAX,EAAaU,CAAb,EAAeT,CAAf,EAAiB;AAAC,QAAMO,CAAC,GAACJ,oEAAC,CAACM,CAAC,CAAC03F,cAAF,CAAiBif,WAAlB,EAA8B,EAA9B,CAAT;AAAA,QAA2C12G,CAAC,GAAC;AAAC4C,IAAAA,IAAI,EAAC,aAAN;AAAoB0V,IAAAA,KAAK,EAAC;AAA1B,GAA7C;AAAA,QAA0E3Y,CAAC,GAAC,CAA5E;AAAA,QAA8EQ,CAAC,GAAC,IAAIsK,uEAAJ,CAAM;AAACvI,IAAAA,KAAK,EAAC,QAAP;AAAgBuS,IAAAA,KAAK,EAAC5U,CAAtB;AAAwBg1B,IAAAA,IAAI,EAACl1B,CAA7B;AAA+BujE,IAAAA,OAAO,EAACljE;AAAvC,GAAN,CAAhF;AAAA,QAAiIE,CAAC,GAAC,IAAIuK,uEAAJ,CAAM;AAACvI,IAAAA,KAAK,EAAC,QAAP;AAAgBuS,IAAAA,KAAK,EAAC5U,CAAtB;AAAwBg1B,IAAAA,IAAI,EAAC,MAAIl1B,CAAjC;AAAmCujE,IAAAA,OAAO,EAACljE;AAA3C,GAAN,CAAnI;AAAA,QAAwLO,CAAC,GAAC,IAAIhB,mDAAJ,CAAM;AAACi3B,IAAAA,QAAQ,EAACn3B,CAAV;AAAYssC,IAAAA,MAAM,EAACxrC;AAAnB,GAAN,CAA1L;AAAuN,SAAO,IAAIyK,yFAAJ,CAAM;AAACi7E,IAAAA,IAAI,EAAC9lF,CAAN;AAAQ8I,IAAAA,KAAK,EAACvJ,CAAd;AAAgB+nF,IAAAA,OAAO,EAAC9mF,CAAxB;AAA0Bm4G,IAAAA,aAAa,EAACx4G;AAAxC,GAAN,CAAP;AAAyD;;AAAA,SAAS+mB,CAAT,CAAW5nB,CAAX,EAAaE,CAAb,EAAeQ,CAAf,EAAiB;AAAC,QAAMN,CAAC,GAAC,IAAIsR,8DAAJ,CAAM;AAAC2B,IAAAA,KAAK,EAAC,CAACrT,CAAD,CAAP;AAAW4C,IAAAA,gBAAgB,EAAC1C;AAA5B,GAAN,CAAR;AAA8C,MAAID,CAAJ,EAAMO,CAAN;AAAQ,MAAGN,CAAC,CAAC4+B,YAAL;AAAkB,QAAG/8B,gFAAC,CAAC7B,CAAD,CAAJ,EAAQD,CAAC,GAACqC,oFAAC,CAAC,CAAClC,CAAD,CAAD,EAAK,QAAL,CAAD,CAAgB,CAAhB,CAAF,EAAqBI,CAAC,GAACsB,oFAAC,CAAC1B,CAAD,EAAGmnB,CAAH,CAAxB,CAAR,KAA0C;AAAC,YAAMvnB,CAAC,GAAC4B,iEAAC,CAACxB,CAAD,EAAGqL,4EAAH,CAAT;AAAA,YAAqB/K,CAAC,GAACoB,oFAAC,CAAC9B,CAAD,EAAGunB,CAAH,CAAxB;AAA8BtnB,MAAAA,CAAC,GAACqC,oFAAC,CAAC,CAACtC,CAAD,CAAD,EAAK,QAAL,CAAD,CAAgB,CAAhB,CAAF,EAAqBQ,CAAC,GAACoB,iEAAC,CAAClB,CAAD,EAAGR,CAAH,CAAxB;AAA8B;AAAzH,SAA8H,IAAGA,CAAC,CAACu2B,aAAL,EAAmBx2B,CAAC,GAACmB,4EAAC,CAAChB,CAAD,EAAG,QAAH,CAAH,EAAgBI,CAAC,GAAC+B,6EAAC,CAACnC,CAAD,EAAGmnB,CAAH,EAAK,QAAL,CAAnB,CAAnB,KAAyD;AAAC,UAAMvnB,CAAC,GAACD,0EAAC,CAACK,CAAD,EAAG,QAAH,CAAT;;AAAsB,QAAG,QAAMM,CAAN,IAASV,CAAC,IAAEU,CAAf,EAAiB;AAAC,YAAMV,CAAC,GAAC4B,iEAAC,CAACxB,CAAD,EAAGqL,4EAAH,CAAT;AAAA,YAAqB/K,CAAC,GAACoB,oFAAC,CAAC9B,CAAD,EAAGunB,CAAH,CAAxB;AAA8BtnB,MAAAA,CAAC,GAACqC,oFAAC,CAAC,CAACtC,CAAD,CAAD,EAAK,QAAL,CAAD,CAAgB,CAAhB,CAAF,EAAqBQ,CAAC,GAACoB,iEAAC,CAAClB,CAAD,EAAGR,CAAH,CAAxB;AAA8B,KAA9E,MAAmFD,CAAC,GAACD,CAAF,EAAIQ,CAAC,GAACJ,CAAN;AAAQ;AAAA,SAAM;AAAC42G,IAAAA,WAAW,EAAC;AAAC7/E,MAAAA,QAAQ,EAAC32B,CAAV;AAAYqN,MAAAA,MAAM,EAAC5N;AAAnB,KAAb;AAAmC2oD,IAAAA,QAAQ,EAACxoD,CAA5C;AAA8Cu4G,IAAAA,OAAO,EAACn4G;AAAtD,GAAN;AAA+D;;AAAA,SAASoS,CAAT,CAAW5S,CAAX,EAAa;AAAC,SAAO,QAAMA,CAAb;AAAe;;AAAA,SAAS8S,CAAT,CAAW9S,CAAX,EAAa;AAAC,MAAG,CAACA,CAAJ,EAAM,OAAM,CAAC,CAAP;AAAS,QAAK;AAAC8+B,IAAAA,YAAY,EAAC5+B,CAAd;AAAgBu2B,IAAAA,aAAa,EAAC/1B,CAA9B;AAAgC81B,IAAAA,OAAO,EAACp2B;AAAxC,MAA2CJ,CAAhD;AAAkD,SAAOE,CAAC,IAAE,CAACE,CAAJ,IAAO,CAAC2B,gFAAC,CAAC/B,CAAD,CAAT,IAAc,CAACE,CAAD,IAAI,CAACQ,CAA1B;AAA4B;;AAAA,SAASykC,EAAT,CAAYnlC,CAAZ,EAAcE,CAAd,EAAgBQ,CAAhB,EAAkB;AAAC,MAAG,CAACR,CAAD,IAAI,CAACF,CAAR,EAAU,OAAM,EAAN;;AAAS,UAAOU,CAAP;AAAU,SAAI,QAAJ;AAAa,aAAOM,6EAAC,CAAChB,CAAD,EAAGE,CAAC,CAAC2N,MAAL,EAAY,QAAZ,CAAR;;AAA8B,SAAI,UAAJ;AAAe,aAAO3M,+EAAC,CAAClB,CAAD,EAAGE,CAAC,CAAC2N,MAAL,EAAY,QAAZ,CAAR;;AAA8B;AAAQ,aAAOhN,wEAAC,CAACb,CAAD,EAAGsB,gEAAC,CAACpB,CAAC,CAAC2N,MAAH,EAAU,QAAV,EAAmBnN,CAAnB,CAAJ,EAA0BA,CAA1B,CAAR;AAA1G;AAAgJ;;AAAAV,uDAAC,CAAC,CAACwB,uFAAC,EAAF,CAAD,EAAOsmB,CAAC,CAAC3f,SAAT,EAAmB,aAAnB,EAAiC,KAAK,CAAtC,CAAD,EAA0CnI,uDAAC,CAAC,CAACwB,uFAAC,CAAC;AAAC6G,EAAAA,QAAQ,EAAC,CAAC;AAAX,CAAD,CAAF,CAAD,EAAoByf,CAAC,CAAC3f,SAAtB,EAAgC,QAAhC,EAAyC,IAAzC,CAA3C,EAA0FnI,uDAAC,CAAC,CAACwB,uFAAC,CAAC;AAACkM,EAAAA,KAAK,EAAC,CAAC;AAAR,CAAD,CAAF,CAAD,EAAiBoa,CAAC,CAAC3f,SAAnB,EAA6B,UAA7B,EAAwC,IAAxC,CAA3F,EAAyInI,uDAAC,CAAC,CAACwB,uFAAC,CAAC;AAAC+B,EAAAA,IAAI,EAACwG;AAAN,CAAD,CAAF,CAAD,EAAoB+d,CAAC,CAAC3f,SAAtB,EAAgC,2BAAhC,EAA4D,KAAK,CAAjE,CAA1I,EAA8MnI,uDAAC,CAAC,CAACwB,uFAAC,CAAC;AAAC6G,EAAAA,QAAQ,EAAC,CAAC;AAAX,CAAD,CAAF,CAAD,EAAoByf,CAAC,CAAC3f,SAAtB,EAAgC,aAAhC,EAA8C,KAAK,CAAnD,CAA/M,EAAqQnI,uDAAC,CAAC,CAACwB,uFAAC,CAAC;AAAC6G,EAAAA,QAAQ,EAAC,CAAC;AAAX,CAAD,CAAF,CAAD,EAAoByf,CAAC,CAAC3f,SAAtB,EAAgC,kBAAhC,EAAmD,KAAK,CAAxD,CAAtQ,EAAiUnI,uDAAC,CAAC,CAACwB,uFAAC,EAAF,CAAD,EAAOsmB,CAAC,CAAC3f,SAAT,EAAmB,UAAnB,EAA8B,KAAK,CAAnC,CAAlU,EAAwWnI,uDAAC,CAAC,CAACwB,uFAAC,EAAF,CAAD,EAAOsmB,CAAC,CAAC3f,SAAT,EAAmB,MAAnB,EAA0B,KAAK,CAA/B,CAAzW,EAA2YnI,uDAAC,CAAC,CAACwB,uFAAC,EAAF,CAAD,EAAOsmB,CAAC,CAAC3f,SAAT,EAAmB,UAAnB,EAA8B,IAA9B,CAA5Y,EAAgbnI,uDAAC,CAAC,CAACwB,uFAAC,CAAC;AAAC40C,EAAAA,aAAa,EAAC,CAAC;AAAhB,CAAD,CAAF,CAAD,EAAyBtuB,CAAC,CAAC3f,SAA3B,EAAqC,MAArC,EAA4C,KAAK,CAAjD,CAAjb,EAAqe2f,CAAC,GAAC9nB,uDAAC,CAAC,CAAC0B,uFAAC,CAAC,8DAAD,CAAF,CAAD,EAAqEomB,CAArE,CAAxe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACJp2S;AACA;AACA;AACA;AACA;AAA8C;AAA6D;AAAoC;AAA+E;AAAiE;AAA6E;AAA0B;AAAgC;AAA6E;AAAoD;AAA8E;AAA4H;AAAkF,IAAI7lB,CAAC,GAAC,cAAcf,2FAAd,CAAe;AAACuB,EAAAA,WAAW,CAACzC,CAAD,EAAG;AAAC,UAAMA,CAAN,GAAS,KAAK85G,iBAAL,GAAuB,IAAhC,EAAqC,KAAKC,uBAAL,GAA6B,+DAAlE;AAAkI;;AAAAl2G,EAAAA,UAAU,GAAE;AAAC,SAAKH,UAAL,CAAgB,CAAChD,6DAAC,CAAE,MAAI,KAAK8lF,IAAL,EAAW5jF,gBAAjB,EAAoC,MAAI,KAAKgX,KAAL,EAAxC,CAAF,EAAyDlZ,6DAAC,CAAE,MAAI,KAAK46C,IAAX,EAAkBt7C,CAAC,IAAE;AAAC,cAAM,KAAKg6G,IAAX,KAAkB,KAAKA,IAAL,CAAU1+D,IAAV,GAAet7C,CAAjC;AAAoC,KAA1D,EAA4DQ,2DAA5D,CAA1D,EAAyHE,6DAAC,CAAE,MAAI,KAAKq2G,yBAAX,EAAuC/2G,CAAC,IAAE;AAAC,cAAM,KAAKg6G,IAAX,KAAkB,KAAKA,IAAL,CAAUjD,yBAAV,GAAoC/2G,CAAtD;AAAyD,KAApG,EAAsGQ,2DAAtG,CAA1H,CAAhB;AAAqP;;AAA6B,MAAzBu2G,yBAAyB,GAAE;AAAC,WAAO,KAAKvyG,IAAL,CAAU,2BAAV,CAAP;AAA8C;;AAA6B,MAAzBuyG,yBAAyB,CAAC/2G,CAAD,EAAG;AAACE,IAAAA,sEAAC,CAACE,iEAAA,CAAY,IAAZ,CAAD,EAAmB,2BAAnB,EAA+C;AAACuR,MAAAA,OAAO,EAAC,MAAT;AAAgBsoG,MAAAA,QAAQ,EAAC,CAAC;AAA1B,KAA/C,CAAD,EAA8E,KAAK11G,IAAL,CAAU,2BAAV,EAAsCvE,CAAtC,CAA9E;AAAuH;;AAAe,MAAXg3G,WAAW,GAAE;AAAC,WAAO,QAAM,KAAKgD,IAAX,GAAgB,KAAKA,IAAL,CAAUhD,WAA1B,GAAsC,IAA7C;AAAkD;;AAAoB,MAAhBC,gBAAgB,GAAE;AAAC,WAAO,QAAM,KAAK+C,IAAX,GAAgB,KAAKA,IAAL,CAAU/C,gBAA1B,GAA2C,IAAlD;AAAuD;;AAAS,MAALtb,KAAK,GAAE;AAAC,WAAO,KAAKue,QAAL,IAAe,QAAM,KAAK1zB,IAA1B,IAAgC,CAAC9kF,2EAAC,CAAC,KAAK8kF,IAAL,EAAW5jF,gBAAZ,CAAlC,GAAgE,UAAhE,GAA2E,QAAM,KAAKo3G,IAAX,IAAiB,KAAKhD,WAAtB,GAAkC,KAAKgD,IAAL,CAAUlZ,MAAV,GAAiB,WAAjB,GAA6B,UAA/D,GAA0E,OAA5J;AAAoK;;AAAQ,MAAJxlD,IAAI,GAAE;AAAC,WAAO,KAAK6+D,aAAL,CAAmB,KAAKC,WAAxB,CAAP;AAA4C;;AAAQ,MAAJ9+D,IAAI,CAACt7C,CAAD,EAAG;AAAC,SAAKmtC,eAAL,CAAqB,MAArB,EAA4B,KAAKgtE,aAAL,CAAmBn6G,CAAnB,CAA5B;AAAmD;;AAAe,MAAXq6G,WAAW,GAAE;AAAC,WAAO15G,sEAAP;AAAS;;AAAe,MAAX05G,WAAW,CAACr6G,CAAD,EAAG;AAAC,SAAKmtC,eAAL,CAAqB,aAArB,EAAmC,KAAKmtE,cAAL,CAAoBt6G,CAApB,CAAnC;AAA2D;;AAAM4hB,EAAAA,KAAK,GAAE;AAAA;;AAAA;AAAC,YAAM5hB,CAAC,GAAC,KAAI,CAACwmF,IAAb;AAAkB,cAAMxmF,CAAN,KAAU,MAAMC,gEAAC,CAAE,MAAID,CAAC,CAACgY,KAAR,CAAP,EAAuB1W,0FAAC,CAACtB,CAAC,CAAC4C,gBAAH,CAAD,WAA6BpB,8DAAC,EAA9B,CAAjC,GAAmE,KAAI,CAAC+4G,UAAL,CAAgB;AAAChC,QAAAA,WAAW,EAAC,CAAC;AAAd,OAAhB,CAAnE;AAAnB;AAAwH;;AAAA3+F,EAAAA,KAAK,GAAE;AAAC,SAAK4gG,UAAL;AAAkB;;AAAAC,EAAAA,aAAa,GAAE;AAAC,WAAO,IAAI35G,qFAAJ,CAAM;AAAC0lF,MAAAA,IAAI,EAAC,KAAKA,IAAX;AAAgBh4E,MAAAA,OAAO,EAAC,KAAKA,OAA7B;AAAqCuoG,MAAAA,yBAAyB,EAAC,KAAKA,yBAApE;AAA8Fz7D,MAAAA,IAAI,EAAC,KAAKA;AAAxG,KAAN,CAAP;AAA4H;;AAAA6+D,EAAAA,aAAa,CAACn6G,CAAD,EAAG;AAAC,UAAK;AAACq6G,MAAAA,WAAW,EAACn6G,CAAb;AAAek6G,MAAAA,WAAW,EAACh6G;AAA3B,QAA8B,IAAnC;AAAwC,WAAO,QAAMJ,CAAN,IAASE,CAAC,CAAC4xB,QAAF,CAAW9xB,CAAX,CAAT,GAAuBA,CAAvB,GAAyBE,CAAC,CAAC4xB,QAAF,CAAW1xB,CAAX,IAAcA,CAAd,GAAgBF,CAAC,CAAC2N,MAAF,GAAS,CAAT,GAAW3N,CAAC,CAAC,CAAD,CAAZ,GAAgBE,CAAhE;AAAkE;;AAAAk6G,EAAAA,cAAc,CAACt6G,CAAD,EAAG;AAAC,QAAG,QAAMA,CAAT,EAAW,OAAM,EAAN;AAAS,UAAME,CAAC,GAACF,CAAC,CAAC2G,MAAF,CAAU3G,CAAC,IAAEW,+EAAA,CAAWX,CAAX,CAAb,CAAR;AAAqC,WAAO,MAAIE,CAAC,CAAC2N,MAAN,GAAalN,4EAAA,EAAb,GAAuBT,CAA9B;AAAgC;;AAA5qD,CAArB;AAAmsDF,uDAAC,CAAC,CAACa,sFAAC,CAACG,oFAAD,CAAF,CAAD,EAAQiB,CAAC,CAACkG,SAAV,EAAoB,aAApB,EAAkC,KAAK,CAAvC,CAAD,EAA2CnI,uDAAC,CAAC,CAACa,sFAAC,EAAF,CAAD,EAAOoB,CAAC,CAACkG,SAAT,EAAmB,2BAAnB,EAA+C,IAA/C,CAA5C,EAAiGnI,uDAAC,CAAC,CAACa,sFAAC,CAAC;AAACwH,EAAAA,QAAQ,EAAC,CAAC;AAAX,CAAD,CAAF,CAAD,EAAoBpG,CAAC,CAACkG,SAAtB,EAAgC,aAAhC,EAA8C,IAA9C,CAAlG,EAAsJnI,uDAAC,CAAC,CAACa,sFAAC,CAAC;AAACwH,EAAAA,QAAQ,EAAC,CAAC;AAAX,CAAD,CAAF,CAAD,EAAoBpG,CAAC,CAACkG,SAAtB,EAAgC,kBAAhC,EAAmD,IAAnD,CAAvJ,EAAgNnI,uDAAC,CAAC,CAACa,sFAAC,CAAC;AAACwH,EAAAA,QAAQ,EAAC,CAAC;AAAX,CAAD,CAAF,CAAD,EAAoBpG,CAAC,CAACkG,SAAtB,EAAgC,OAAhC,EAAwC,IAAxC,CAAjN,EAA+PnI,uDAAC,CAAC,CAACa,sFAAC,CAAC;AAAC0C,EAAAA,IAAI,EAAC6E;AAAN,CAAD,CAAF,CAAD,EAAoBnG,CAAC,CAACkG,SAAtB,EAAgC,MAAhC,EAAuC,IAAvC,CAAhQ,EAA6SnI,uDAAC,CAAC,CAACa,sFAAC,CAAC;AAAC0C,EAAAA,IAAI,EAAC,CAAC6E,MAAD;AAAN,CAAD,CAAF,CAAD,EAAsBnG,CAAC,CAACkG,SAAxB,EAAkC,aAAlC,EAAgD,IAAhD,CAA9S,EAAoWlG,CAAC,GAACjC,uDAAC,CAAC,CAACM,sFAAC,CAAC,mEAAD,CAAF,CAAD,EAA0E2B,CAA1E,CAAvW;AAAob,MAAML,CAAC,GAACK,CAAR;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACJ17F;AACA;AACA;AACA;AACkwC,SAAS,uCAAuC,oBAAoB,6FAAC,CAAC,kDAAC,GAAG,iBAAiB,qKAAqK,KAAK,oBAAoB,qEAAC,CAAC,aAAa,gBAAgB,6DAAC,2EAA2E,2DAAC,GAAG,mBAAmB,OAAO,mFAAC,EAAE,WAAW,wjBAAoE,YAAY,0hBAAoE,CAAC,EAAE,UAAU,8BAA8B,cAAc,8BAA8B,eAAe,yBAAyB,kCAAkC,kDAAkD,mCAAmC,6CAA6C,cAAc,8BAA8B,WAAW,gBAAgB,YAAY,+BAA+B,YAAY,sCAAsC,aAAa,gCAAgC,eAAe,+BAA+B,gBAAgB,0BAA0B,uBAAuB,uCAAuC,wBAAwB,kCAAkC,eAAe,+BAA+B,gBAAgB,0BAA0B,YAAY,4BAA4B,uBAAuB,OAAO,WAAW,UAAU,0BAA0B,WAAW,qBAAqB,WAAW,2BAA2B,YAAY,sBAAsB,oBAAoB,0CAA0C,aAAa,mCAAmC,iBAAiB,uCAAuC,SAAS,MAAM,QAAQ,kBAAkB,4DAAC,QAAQ,MAAM,iEAAW,iBAAiB,yHAAyH,OAAO,4DAAC,QAAQ,mBAAmB,4DAAM,CAAC,oEAAQ,EAAE,IAAI,eAAe,MAAM,8CAA8C,MAAM,OAAO,4DAAC,mBAAmB,+DAA+D,SAAS,4DAAC,QAAQ,+BAA+B,sBAAsB,4DAAC,QAAQ,mCAAmC,kBAAkB,iBAAiB,OAAO,4DAAC,QAAQ,MAAM,+EAAyB,yBAAyB,CAAC,4DAAC,mBAAmB,mBAAmB,GAAG,0BAA0B,MAAM,kBAAkB,MAAM,iBAAiB,4DAAC,QAAQ,MAAM,4DAAM,CAAC,0DAA0D,eAAe,MAAM,0BAA0B,MAAM,eAAe,4DAAC,CAAC,yDAAC,EAAE,MAAM,6DAAO,qCAAqC,OAAO,iBAAiB,2CAA2C,kBAAkB,oCAAoC,4DAAC,QAAQ,MAAM,mEAAa,QAAQ,EAAE,mBAAmB,8CAA8C,uBAAuB,gCAAgC,2BAA2B,4DAAC,QAAQ,mBAAmB,mEAAa,CAAC,uEAAiB,SAAS,EAAE,UAAU,aAAa,iCAAiC,2BAA2B,MAAM,kBAAkB,MAAM,iEAAiE,eAAe,oDAAoD,4CAA4C,0CAA0C,wCAAwC,wCAAwC,kDAAkD,sDAAsD,qEAAqE,qBAAqB,sBAAsB,gCAAgC,+BAA+B,MAAM,0BAA0B,aAAa,gCAAgC,4DAAC,QAAQ,mBAAmB,sEAAgB,8CAA8C,kBAAkB,uBAAuB,gCAAgC,uCAAuC,4DAAC,QAAQ,MAAM,sEAAgB,8CAA8C,kBAAkB,sBAAsB,gCAAgC,uCAAuC,4DAAC,QAAQ,MAAM,sEAAgB,6DAA6D,kBAAkB,qBAAqB,gCAAgC,mDAAmD,4DAAC,QAAQ,MAAM,sEAAgB,4CAA4C,kBAAkB,mBAAmB,MAAM,UAAU,6BAA6B,6BAA6B,4DAAC,QAAQ,MAAM,sEAAgB,wCAAwC,kBAAkB,iBAAiB,gCAAgC,2BAA2B,4DAAC,QAAQ,MAAM,sEAAgB,wCAAwC,aAAa,gBAAgB,gCAAgC,2BAA2B,4DAAC,QAAQ,MAAM,sEAAgB,uCAAuC,aAAa,sBAAsB,MAAM,6BAA6B,OAAO,eAAe,gBAAgB,qCAAqC,MAAM,cAAc,6FAA6F,gEAAC,IAAI,cAAc,EAAE,OAAO,4DAAC,QAAQ,mBAAmB,sEAAgB,CAAC,sEAAgB,0BAA0B,IAAI,iBAAiB,yCAAyC,6BAA6B,4DAAC,QAAQ,mBAAmB,sEAAgB,CAAC,4DAAM,uCAAuC,kBAAkB,kBAAkB,SAAS,EAAE,IAAI,kCAAkC,GAAG,YAAY,EAAE,yBAAyB,gDAAgD,yBAAyB,yFAAyF,uBAAuB,8BAA8B,MAAM,yDAAyD,oBAAoB,oBAAoB,GAAG,uCAAuC,wDAAwD,sEAAC,EAAE,yEAAyE,mDAAmD,kEAAC,EAAE,eAAe,kDAAkD,iEAAC,EAAE,eAAe,iDAAiD,mEAAC,EAAE,eAAe,mDAAmD,mEAAC,EAAE,eAAe,uDAAuD,sEAAC,EAAE,eAAe,4BAA4B,YAAY,wEAAC,EAAE,oDAAoD,EAAE,0BAA0B,4CAA4C,YAAY,sFAAC,EAAE,6EAA6E,EAAE,2BAA2B,QAAQ,KAAK,aAAa,8CAA8C,mEAAC,EAAE,YAAY,GAAG,wBAAwB,uDAAC,EAAE,sFAAC,mCAAmC,uDAAC,EAAE,sFAAC,gCAAgC,uDAAC,EAAE,sFAAC,oDAAoD,uDAAC,EAAE,sFAAC,oCAAoC,uDAAC,EAAE,sFAAC,uCAAuC,uDAAC,EAAE,sFAAC,EAAE,YAAY,+BAA+B,uDAAC,EAAE,sFAAC,6BAA6B,uDAAC,EAAE,sFAAC,8BAA8B,uDAAC,EAAE,sFAAC,iCAAiC,uDAAC,EAAE,sFAAC,GAAG,oFAAC,qEAAqE,uDAAC,EAAE,sFAAC,GAAG,oFAAC,0DAA0D,uDAAC,EAAE,sFAAC,yCAAyC,uDAAC,EAAE,sFAAC,iCAAiC,uDAAC,EAAE,sFAAC,EAAE,YAAY,6BAA6B,uDAAC,EAAE,sFAAC,0CAA0C,uDAAC,EAAE,8EAAC,6DAA6D,uDAAC,EAAE,sFAAC,4BAA4B,uDAAC,EAAE,sFAAC,6BAA6B,uDAAC,EAAE,sFAAC,EAAE,KAAK,qEAAC,CAAC,qCAAqC,uDAAC,EAAE,sFAAC,6BAA6B,UAA+B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACJn+R;AACA;AACA;AACA;AAC80B,sXAAsX,2CAA2C,8DAA8D,cAAc,MAAM,8CAA8C,GAAG,mCAAmC,kCAAkC,+DAAC,yDAAyD,uDAAC,EAAE,cAAc,6BAA6B,GAAG,2CAA2C,cAAc,sBAAsB,mBAAmB,iEAAW,kHAAkH,GAAG,mDAAmD,EAAE,uBAAuB,cAAc,SAAS,EAAE,EAAE,EAAE,EAAE,cAAc,SAAS,EAAE,EAAE,EAAE,EAAE,cAAc,uBAAuB,cAAc,uBAAuB,cAAc,MAAM,kBAAkB,yCAAyC,WAAW,4CAA4C,mDAAmD,oBAAoB,OAAO,+EAAC,KAAK,8EAAC,SAAS,iFAAC,MAAM,cAAc,8EAAC,IAAI,cAAc,GAAG,6BAA6B,gBAAgB,OAAO,wDAAC,CAAC,wDAAC,SAAS,EAAE,iBAAiB,+EAA+E,YAAY,SAAS,6BAA6B,mTAAmT,sBAAsB,KAAK,wBAAwB,uGAAuG,MAAM,aAAa,gGAAgG,SAAS,GAAG,SAAS,cAAc,IAAI,2BAA2B,wBAAwB,cAAc,uBAAuB,cAAc,mBAAmB,EAAE,+FAA+F,kBAAkB,MAAM,kDAAkD,yBAAyB,sBAAsB,qCAAqC,OAAO,oGAAoB,MAAM,mGAAc,EAAE,MAAM,gBAAgB,MAAM,yBAAyB,wCAAwC,8EAAC,KAAK,UAAU,OAAO,gEAAC,MAAM,QAAQ,uFAAuF,EAAE,WAAW,qGAAqB,yBAAyB,2FAAc,+BAA+B,gEAAC,aAAa,MAAM,oBAAoB,OAAO,aAAa,iFAAiF,qJAAqJ,OAAO,WAAW,mBAAmB,MAAM,sBAAsB,gBAAgB,uBAAuB,WAAW,+DAAC,gBAAgB,+DAAC,WAAW,uBAAuB,GAAG,UAAU,gBAAgB,gDAAgD,MAAM,0BAA0B,sEAAC,eAAe,YAAY,2BAA2B,SAAS,gBAAgB,8CAA8C,gBAAgB,qBAAqB,mBAAmB,0BAA0B,yCAAyC,+FAA+F,eAAe,oEAAC,mBAAmB,kBAAkB,QAAQ,mFAAC,+BAA+B,eAAe,iCAAiC,OAAO,4DAAC,sFAA+6B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACJ/tL;AACA;AACA;AACA;AACgmB,SAAS,iCAAiC,oBAAoB,kDAAC,CAAC,iBAAiB,oEAAoE,uDAAC,wCAAwC,0FAAC,CAAC,aAAa,6BAA6B,uEAAC,kBAAkB,6DAAC,mHAAmH,2DAAC,EAAE,6DAAC,8DAA8D,2DAAC,IAAI,UAAU,2GAA2G,kBAAkB,kCAAkC,mBAAmB,6BAA6B,kBAAkB,0CAA0C,mBAAmB,qCAAqC,cAAc,8BAA8B,eAAe,yBAAyB,YAAY,4BAA4B,aAAa,uBAAuB,SAAS,MAAM,oBAAoB,MAAM,OAAO,4DAAC,QAAQ,aAAa,iDAAiD,2BAA2B,MAAM,qCAAqC,MAAM,+BAA+B,qCAAqC,IAAI,uDAAC,EAAE,sFAAC,EAAE,YAAY,2CAA2C,uDAAC,EAAE,sFAAC,oCAAoC,uDAAC,EAAE,sFAAC,oCAAoC,uDAAC,EAAE,sFAAC,gCAAgC,uDAAC,EAAE,sFAAC,uCAAuC,uDAAC,EAAE,sFAAC,8BAA8B,uDAAC,EAAE,sFAAC,EAAE,KAAK,0FAAC,CAAC,qCAAqC,uDAAC,EAAE,sFAAC,gDAAgD,UAA+B;;;;;;;;;;;;;;;;;;;;;;;ACJnpE;AACA;AACA;AACA;AAC0W,oBAAoB,4EAAC,CAAC,eAAe,iDAAiD,uDAAC,EAAE,sFAAC,sCAAsC,uDAAC,EAAE,sFAAC,kCAAkC,uDAAC,EAAE,sFAAC,4EAA4E,UAA+B;;;;;;;;;;;;;;;;;;;;;;;;;;;ACJ/nB;AACA;AACA;AACA;AACohB,kCAAkC,0BAA0B,EAAE,8BAA8B,EAAE,WAAW,oBAAoB,kDAAC,CAAC,iBAAiB,4DAA4D,iDAAiD,4EAAC,uEAAuE,IAAI,cAAc,+BAA+B,eAAe,2CAA2C,cAAc,+BAA+B,eAAe,2CAA2C,SAAS,8BAA8B,OAAO,4DAAC,QAAQ,aAAa,4DAA4D,iBAAiB,OAAO,4DAAC,QAAQ,qCAAqC,CAAC,4DAAC,QAAQ,eAAe,GAAG,iBAAiB,gCAAgC,kCAAkC,4DAAC,QAAQ,4CAA4C,EAAE,4DAAC,IAAI,4DAAC,QAAQ,MAAM,2BAA2B,4DAAC,QAAQ,uDAAuD,OAAO,iBAAiB,aAAa,mBAAmB,uDAAC,EAAE,sFAAC,gCAAgC,uDAAC,EAAE,sFAAC,gCAAgC,uDAAC,EAAE,sFAAC,EAAE,KAAK,kFAAC,CAAC,qCAAqC,uDAAC,EAAE,sFAAC,4CAA4C,UAA+B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACJvwD;AACA;AACA;AACA;AACA;AAAiD;AAAmC;AAAyC;AAAoE;AAAgF;AAA6B;AAAgC;AAAmC;AAAgF;AAA6D,IAAIjB,CAAC,GAAC,cAAcf,yDAAd,CAAe;AAACwC,EAAAA,WAAW,CAACvC,CAAD,EAAG;AAAC,UAAMA,CAAN,GAAS,KAAKy6G,eAAL,GAAqB,IAA9B,EAAmC,KAAKloD,OAAL,GAAa,IAAhD,EAAqD,KAAKmoD,OAAL,GAAa,IAAlE,EAAuE,KAAKC,SAAL,GAAe,IAAtF,EAA2F,KAAK7yB,OAAL,GAAa,IAAxG,EAA6G,KAAKtkF,UAAL,CAAgBlD,6DAAC,CAAE,MAAI,KAAKo6G,OAAX,EAAqB16G,CAAC,IAAE;AAAC,WAAK46G,eAAL,IAAuB,KAAKC,cAAL,CAAoB76G,CAApB,CAAvB;AAA8C,KAAvE,EAAyEE,2DAAzE,CAAjB,CAA7G;AAA2M;;AAAAgE,EAAAA,OAAO,GAAE;AAAC,SAAK02G,eAAL;AAAuB;;AAAS,MAALnf,KAAK,GAAE;AAAC,WAAO,KAAKgf,eAAL,GAAqB,SAArB,GAA+B,OAAtC;AAA8C;;AAAAG,EAAAA,eAAe,GAAE;AAAC,UAAK;AAACroD,MAAAA,OAAO,EAACvyD,CAAT;AAAW8nF,MAAAA,OAAO,EAAChoF,CAAnB;AAAqB66G,MAAAA,SAAS,EAAC56G;AAA/B,QAAkC,IAAvC;AAA4CC,IAAAA,CAAC,IAAEF,CAAH,KAAOW,0EAAC,CAAC;AAAC4C,MAAAA,IAAI,EAAC,SAAN;AAAgBmK,MAAAA,KAAK,EAACzN,CAAtB;AAAwBkjG,MAAAA,KAAK,EAAC;AAACnb,QAAAA,OAAO,EAAChoF;AAAT;AAA9B,KAAD,CAAD,EAA8C,KAAKuE,IAAL,CAAU,SAAV,EAAoB,IAApB,CAArD;AAAgF;;AAAMw2G,EAAAA,cAAc,CAAC76G,CAAD,EAAG;AAAA;;AAAA;AAAC,YAAMF,CAAC,GAAC,KAAI,CAACgoF,OAAb;AAAqB,UAAG,CAAChoF,CAAD,IAAI,CAACE,CAAR,EAAU;AAAO,YAAMD,CAAC,GAACU,0EAAC,CAAC;AAAC4C,QAAAA,IAAI,EAAC,SAAN;AAAgBmK,QAAAA,KAAK,EAACxN,CAAtB;AAAwBijG,QAAAA,KAAK,EAAC;AAACnb,UAAAA,OAAO,EAAChoF;AAAT;AAA9B,OAAD,CAAT;AAAsD,WAAI,CAAC26G,eAAL,GAAqB16G,CAArB,EAAuB,KAAI,CAAC8gE,YAAL,CAAkB,OAAlB,CAAvB;AAAkD,YAAMvgE,CAAC,SAAOP,CAAd;AAAgBA,MAAAA,CAAC,KAAG,KAAI,CAAC06G,eAAT,KAA2B,KAAI,CAACA,eAAL,GAAqB,IAArB,EAA0B,KAAI,CAAC55C,YAAL,CAAkB,OAAlB,CAA1B,EAAqD,KAAI,CAACx8D,IAAL,CAAU,SAAV,EAAoB/D,CAApB,CAAhF;AAA/J;AAAuQ;;AAAluB,CAArB;AAAyvBN,uDAAC,CAAC,CAACQ,sFAAC,CAAC;AAAC2H,EAAAA,QAAQ,EAAC,CAAC;AAAX,CAAD,CAAF,CAAD,EAAoBrH,CAAC,CAACmH,SAAtB,EAAgC,SAAhC,EAA0C,KAAK,CAA/C,CAAD,EAAmDjI,uDAAC,CAAC,CAACQ,sFAAC,EAAF,CAAD,EAAOM,CAAC,CAACmH,SAAT,EAAmB,SAAnB,EAA6B,KAAK,CAAlC,CAApD,EAAyFjI,uDAAC,CAAC,CAACQ,sFAAC,EAAF,CAAD,EAAOM,CAAC,CAACmH,SAAT,EAAmB,WAAnB,EAA+B,KAAK,CAApC,CAA1F,EAAiIjI,uDAAC,CAAC,CAACQ,sFAAC,CAAC;AAAC6C,EAAAA,IAAI,EAACvD,mDAACA;AAAP,CAAD,CAAF,CAAD,EAAegB,CAAC,CAACmH,SAAjB,EAA2B,SAA3B,EAAqC,KAAK,CAA1C,CAAlI,EAA+KjI,uDAAC,CAAC,CAACQ,sFAAC,CAAC;AAAC2H,EAAAA,QAAQ,EAAC,CAAC;AAAX,CAAD,CAAF,CAAD,EAAoBrH,CAAC,CAACmH,SAAtB,EAAgC,OAAhC,EAAwC,IAAxC,CAAhL,EAA8NnH,CAAC,GAACd,uDAAC,CAAC,CAACI,sFAAC,CAAC,6DAAD,CAAF,CAAD,EAAoEU,CAApE,CAAjO;AAAwS,MAAMF,CAAC,GAACE,CAAR;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACJ/hD;AACA;AACA;AACA;AAC0rB,0BAA0B,QAAQ,EAAE,wCAAwC,EAAE,sBAAsB,oBAAoB,kDAAC,CAAC,iBAAiB,uDAAuD,yFAAC,CAAC,aAAa,gBAAgB,6DAAC,mFAAmF,2DAAC,GAAG,mBAAmB,OAAO,mFAAC,EAAE,WAAW,0hBAAoE,CAAC,EAAE,UAAU,6BAA6B,SAAS,MAAM,QAAQ,gBAAgB,OAAO,4DAAC,QAAQ,aAAa,wFAAwF,iBAAiB,OAAO,4DAAC,QAAQ,wDAAwD,CAAC,4DAAC,mBAAmB,mBAAmB,GAAG,wBAAwB,MAAM,iBAAiB,MAAM,2DAA2D,yBAAyB,MAAM,2CAA2C,0BAA0B,6BAA6B,2BAA2B,yDAAC,EAAE,YAAY,kBAAkB,yDAAC,EAAE,YAAY,iBAAiB,0DAAC,EAAE,YAAY,YAAY,8CAA8C,uDAAC,EAAE,sFAAC,EAAE,KAAK,yFAAC,CAAC,qCAAqC,uDAAC,EAAE,sFAAC,+CAA+C,UAA+B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACJn8D;AACA;AACA;AACA;AACA;AAAiD;AAA6B;AAAmC;AAAyC;AAAoE;AAAqD;AAAgF;AAA6B;AAAgC;AAAmC;AAAgF;AAAqD;AAA0C;AAAgD;AAAoD;AAAuD;AAAsD;AAAsD;AAAqD;AAAoE;AAAuD;AAA4D;AAA0D;AAAwD;AAA4F;AAA0C,MAAMe,CAAC,GAAC,CAAR;AAAU,IAAIO,CAAC,GAAC,cAAc9B,yDAAd,CAAe;AAACiC,EAAAA,WAAW,CAACvC,CAAD,EAAG;AAAA;;AAAC,WAAMA,CAAN,kBAAS,KAAKkc,gBAAL,GAAsB,IAA/B,EAAoC,KAAK/K,cAAL,GAAoB,IAAxD,EAA6D,KAAK22E,OAAL,GAAa,IAA1E,EAA+E,KAAKkzB,cAAL,GAAoB,IAAnG,EAAwG,KAAKC,uBAAL,GAA6B,IAArI,EAA0I,KAAK7rC,WAAL,GAAiB,IAA3J,EAAgK,KAAK3sC,QAAL,GAAc,IAA9K,EAAmL,KAAK6jD,IAAL,GAAU,IAA7L,EAAkM,KAAK40B,YAAL,GAAkB,MAAI;AAAC,YAAK;AAACh/F,QAAAA,gBAAgB,EAAClc;AAAlB,UAAqB,IAA1B;AAA+BA,MAAAA,CAAC,IAAEA,CAAC,CAACic,KAAF,EAAH,EAAa,KAAKC,gBAAL,GAAsB,IAAnC;AAAwC,KAAhS,EAAiS,KAAKi/F,SAAL,GAAe,MAAI;AAAC,YAAMn7G,CAAC,GAAC,KAAKg7G,cAAL,EAAqB33G,IAA7B;AAAkC,WAAK43G,uBAAL,EAA8B/2G,OAA9B;AAAwC,YAAMpE,CAAC,GAAC,aAAWE,CAAX,GAAa,IAAIoB,iFAAJ,EAAb,GAAmB,YAAUpB,CAAV,GAAY,IAAIsB,+EAAJ,EAAZ,GAAkB,WAAStB,CAAT,GAAW,IAAIwB,mFAAJ,EAAX,GAAiB,IAA9D;;AAAmE,WAAK6C,IAAL,CAAU,yBAAV,EAAoCvE,CAApC;AAAuC,KAAze,EAA0e,KAAKs7G,QAAL,kNAAc,aAAS;AAAC,WAAI,CAACF,YAAL;;AAAoB,YAAMl7G,CAAC,GAAC,IAAImc,eAAJ,EAAR;AAA4B,WAAI,CAACD,gBAAL,GAAsBlc,CAAtB,QAA8B,KAAI,CAACq7G,kBAAL,EAA9B,EAAwD,KAAI,CAACn/F,gBAAL,KAAwBlc,CAAxB,KAA4B,KAAI,CAACkc,gBAAL,GAAsB,IAAlD,CAAxD;AAAgH,KAAxL,CAA1e,EAAmqB,KAAKo/F,iBAAL,GAAuB96G,2DAAC,CAAC,KAAK46G,QAAN,EAAev5G,CAAf,EAAiB,IAAjB,CAA3rB,EAAktB,KAAKw5G,kBAAL,kNAAwB,aAAS;AAAC,YAAK;AAAClqG,QAAAA,cAAc,EAACnR,CAAhB;AAAkB8nF,QAAAA,OAAO,EAAChoF,CAA1B;AAA4BsvE,QAAAA,WAAW,EAAC9uE,CAAxC;AAA0CoC,QAAAA,gBAAgB,EAACjC,CAA3D;AAA6D4E,QAAAA,GAAG,EAACtF,CAAjE;AAAmE0iC,QAAAA,QAAQ,EAACjiC,CAA5E;AAA8E8lF,QAAAA,IAAI,EAACpmF,CAAnF;AAAqFgc,QAAAA,gBAAgB,EAACvb;AAAtG,UAAyG,KAA9G;AAAmH,UAAG,CAACX,CAAD,IAAI,CAACF,CAAR,EAAU,OAAO,KAAK,KAAI,CAACuE,IAAL,CAAU,gBAAV,EAA2B,IAA3B,CAAZ;AAA6C,YAAMrD,CAAC,SAAOU,2EAAC,EAAf;AAAkB,UAAGf,CAAC,KAAG,KAAI,CAACub,gBAAZ,EAA6B;AAAO,YAAM1a,CAAC,SAAON,yFAAC,CAAC;AAAC8/D,QAAAA,MAAM,EAAChgE,CAAR;AAAUmQ,QAAAA,cAAc,EAACnR,CAAzB;AAA2B8nF,QAAAA,OAAO,EAAChoF,CAAnC;AAAqC2iC,QAAAA,QAAQ,EAACjiC,CAA9C;AAAgD4uE,QAAAA,WAAW,EAAC9uE,CAA5D;AAA8D+E,QAAAA,GAAG,EAACtF,CAAlE;AAAoE2C,QAAAA,gBAAgB,EAACjC,CAArF;AAAuF6lF,QAAAA,IAAI,EAACpmF;AAA5F,OAAD,CAAf;AAAgH,UAAG,CAACsB,CAAD,IAAI,6BAA2BA,CAAC,CAAC6H,aAApC,EAAkD,OAAO,KAAK,KAAI,CAAChF,IAAL,CAAU,gBAAV,EAA2B,IAA3B,CAAZ;;AAA6C,YAAMjD,CAAC,SAAOI,CAAC,CAAC+5G,eAAF,CAAkB56G,CAAC,EAAE6G,MAArB,CAAd;AAAA,YAA2ClG,CAAC,GAACF,CAAC,EAAEiC,IAAhD;AAAA,YAAqDxD,CAAC,GAAC,YAAUyB,CAAV,GAAYlB,gFAAA,CAAWgB,CAAX,CAAZ,GAA0B,WAASE,CAAT,GAAWR,+EAAA,CAAWM,CAAX,CAAX,GAAyB,aAAWE,CAAX,GAAaV,iFAAA,CAAWQ,CAAX,CAAb,GAA2B,IAArI;;AAA0I,kBAAUvB,CAAC,CAACwD,IAAZ,IAAkB,CAACxD,CAAC,CAACiO,UAArB,IAAiC,aAAWjO,CAAC,CAACwD,IAAb,IAAmB,CAACxD,CAAC,CAACmN,UAAvD,IAAmE,WAASnN,CAAC,CAACwD,IAAX,IAAiB,CAACxD,CAAC,CAACsM,IAAvF,GAA4F,KAAI,CAAC9H,IAAL,CAAU,gBAAV,EAA2B,IAA3B,CAA5F,GAA6H,KAAI,CAACA,IAAL,CAAU,gBAAV,EAA2BxE,CAA3B,CAA7H;AAA2J,KAAtvB,CAAltB,EAAy8C,KAAK2D,UAAL,CAAgB,CAAC/C,6DAAC,CAAE,MAAI,CAAC,KAAK0Q,cAAN,EAAqB,KAAK22E,OAA1B,EAAkC,KAAKziF,GAAvC,EAA2C,KAAK3C,gBAAhD,EAAiE,KAAK4jF,IAAtE,CAAN,EAAoF,MAAI,KAAKg1B,iBAAL,EAAxF,EAAkHv7G,2DAAlH,CAAF,EAAuHU,6DAAC,CAAE,MAAI,CAAC,KAAKu6G,cAAN,CAAN,EAA8B,MAAI,KAAKG,SAAL,EAAlC,EAAoDp7G,2DAApD,CAAxH,CAAhB,CAAz8C;AAA0oD;;AAAA4D,EAAAA,UAAU,GAAE;AAAC,SAAKH,UAAL,CAAgB,KAAK83G,iBAArB;AAAwC;;AAAAp3G,EAAAA,OAAO,GAAE;AAAC,SAAKg3G,YAAL,IAAoB,KAAKD,uBAAL,EAA8B/2G,OAA9B,EAApB,EAA4D,KAAKG,IAAL,CAAU,yBAAV,EAAoC,IAApC,CAA5D,EAAsG,KAAKA,IAAL,CAAU,gBAAV,EAA2B,IAA3B,CAAtG;AAAuI;;AAAoB,MAAhB3B,gBAAgB,GAAE;AAAC,WAAO,KAAK4jF,IAAL,EAAW5jF,gBAAX,IAA6B,IAApC;AAAyC;;AAAoB,MAAhBA,gBAAgB,CAAC1C,CAAD,EAAG;AAAC,SAAK0V,SAAL,CAAe,kBAAf,EAAkC1V,CAAlC;AAAqC;;AAAS,MAALy7F,KAAK,GAAE;AAAC,UAAK;AAACv/E,MAAAA,gBAAgB,EAAClc,CAAlB;AAAoBg7G,MAAAA,cAAc,EAACl7G,CAAnC;AAAqCm7G,MAAAA,uBAAuB,EAAC36G;AAA7D,QAAgE,IAArE;AAA0E,WAAON,CAAC,GAAC,SAAD,GAAWF,CAAC,IAAEQ,CAAH,GAAK,OAAL,GAAa,UAAhC;AAA2C;;AAAO,MAAH+E,GAAG,GAAE;AAAC,WAAO,KAAKihF,IAAL,EAAWjhF,GAAX,IAAgB,IAAvB;AAA4B;;AAAO,MAAHA,GAAG,CAACrF,CAAD,EAAG;AAAC,SAAK0V,SAAL,CAAe,KAAf,EAAqB1V,CAArB;AAAwB;;AAAvqE,CAArB;AAA8rEA,uDAAC,CAAC,CAACE,sFAAC,EAAF,CAAD,EAAOkC,CAAC,CAAC6F,SAAT,EAAmB,kBAAnB,EAAsC,KAAK,CAA3C,CAAD,EAA+CjI,uDAAC,CAAC,CAACE,sFAAC,CAAC;AAACmD,EAAAA,IAAI,EAACrC,wEAACA;AAAP,CAAD,CAAF,CAAD,EAAeoB,CAAC,CAAC6F,SAAjB,EAA2B,gBAA3B,EAA4C,KAAK,CAAjD,CAAhD,EAAoGjI,uDAAC,CAAC,CAACE,sFAAC,CAAC;AAACmD,EAAAA,IAAI,EAACvD,mDAACA;AAAP,CAAD,CAAF,CAAD,EAAesC,CAAC,CAAC6F,SAAjB,EAA2B,SAA3B,EAAqC,KAAK,CAA1C,CAArG,EAAkJjI,uDAAC,CAAC,CAACE,sFAAC,CAAC;AAACiI,EAAAA,QAAQ,EAAC,CAAC;AAAX,CAAD,CAAF,CAAD,EAAoB/F,CAAC,CAAC6F,SAAtB,EAAgC,gBAAhC,EAAiD,KAAK,CAAtD,CAAnJ,EAA4MjI,uDAAC,CAAC,CAACE,sFAAC,CAAC;AAACiI,EAAAA,QAAQ,EAAC,CAAC;AAAX,CAAD,CAAF,CAAD,EAAoB/F,CAAC,CAAC6F,SAAtB,EAAgC,yBAAhC,EAA0D,KAAK,CAA/D,CAA7M,EAA+QjI,uDAAC,CAAC,CAACE,sFAAC,EAAF,CAAD,EAAOkC,CAAC,CAAC6F,SAAT,EAAmB,aAAnB,EAAiC,KAAK,CAAtC,CAAhR,EAAyTjI,uDAAC,CAAC,CAACE,sFAAC,CAAC;AAACmD,EAAAA,IAAI,EAACxD,2DAACA;AAAP,CAAD,CAAF,CAAD,EAAeuC,CAAC,CAAC6F,SAAjB,EAA2B,UAA3B,EAAsC,KAAK,CAA3C,CAA1T,EAAwWjI,uDAAC,CAAC,CAACE,sFAAC,EAAF,CAAD,EAAOkC,CAAC,CAAC6F,SAAT,EAAmB,kBAAnB,EAAsC,IAAtC,CAAzW,EAAqZjI,uDAAC,CAAC,CAACE,sFAAC,CAAC;AAACiI,EAAAA,QAAQ,EAAC,CAAC;AAAX,CAAD,CAAF,CAAD,EAAoB/F,CAAC,CAAC6F,SAAtB,EAAgC,OAAhC,EAAwC,IAAxC,CAAtZ,EAAocjI,uDAAC,CAAC,CAACE,sFAAC,EAAF,CAAD,EAAOkC,CAAC,CAAC6F,SAAT,EAAmB,KAAnB,EAAyB,IAAzB,CAArc,EAAoejI,uDAAC,CAAC,CAACE,sFAAC,EAAF,CAAD,EAAOkC,CAAC,CAAC6F,SAAT,EAAmB,MAAnB,EAA0B,KAAK,CAA/B,CAAre,EAAugB7F,CAAC,GAACpC,uDAAC,CAAC,CAACW,uFAAC,CAAC,mEAAD,CAAF,CAAD,EAA0EyB,CAA1E,CAA1gB;AAAulB,MAAMyG,CAAC,GAACzG,CAAR;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACJ5nI;AACA;AACA;AACA;AACkuB,iCAAiC,sBAAsB,EAAE,6BAA6B,EAAE,+BAA+B,EAAE,qBAAqB,oBAAoB,kDAAC,CAAC,iBAAiB,4DAA4D,gFAAC,+CAA+C,aAAa,6BAA6B,sEAAC,iBAAiB,6DAAC,iGAAiG,2DAAC,GAAG,UAAU,oCAAoC,iBAAiB,iCAAiC,kBAAkB,4BAA4B,kBAAkB,kCAAkC,mBAAmB,6BAA6B,sBAAsB,sCAAsC,uBAAuB,iCAAiC,iBAAiB,iCAAiC,kBAAkB,4BAA4B,YAAY,4BAA4B,aAAa,uBAAuB,SAAS,OAAO,4DAAC,QAAQ,aAAa,0DAA0D,sBAAsB,MAAM,aAAa,6IAA6I,+DAAC,6BAA6B,qBAAqB,OAAO,4DAAC,OAAO,+BAA+B,EAAE,GAAG,EAAE,EAAE,CAAC,4DAAC,OAAO,sEAAsE,EAAE,GAAG,EAAE,EAAE,EAAE,4DAAC,OAAO,kFAAkF,EAAE,GAAG,EAAE,EAAE,GAAG,gBAAgB,MAAM,sBAAsB,gBAAgB,iBAAiB,4DAAC,UAAU,MAAM,mEAAO,qCAAqC,CAAC,4DAAC,gEAAgE,2BAA2B,MAAM,sBAAsB,MAAM,+BAA+B,sBAAsB,EAAE,aAAa,YAAY,EAAE,EAAE,IAAI,uDAAC,EAAE,sFAAC,mCAAmC,uDAAC,EAAE,sFAAC,oCAAoC,uDAAC,EAAE,sFAAC,wCAAwC,uDAAC,EAAE,sFAAC,mCAAmC,uDAAC,EAAE,sFAAC,8BAA8B,uDAAC,EAAE,sFAAC,EAAE,KAAK,gFAAC,gBAAgB,mCAAmC,uDAAC,EAAE,sFAAC,GAAG,oFAAC,qEAAqE,uDAAC,EAAE,sFAAC,GAAG,oFAAC,gFAAgF,uDAAC,EAAE,sFAAC,2CAA2C,UAA+B;;;;;;;;;;;;;;;;;;;;;;;;;;ACJ9kG;AACA;AACA;AACA;AACof,oBAAoB,yDAAC,CAAC,eAAe,mHAAmH,0BAA0B,MAAM,+BAA+B,WAAW,uBAAuB,qDAAqD,kBAAkB,QAAQ,2EAAC,gBAAgB,OAAO,uDAAC,EAAE,sFAAC,qCAAqC,uDAAC,EAAE,sFAAC,EAAE,MAAM,gEAAC,EAAE,yCAAyC,uDAAC,EAAE,sFAAC,sCAAsC,uDAAC,EAAE,sFAAC,EAAE,MAAM,2DAAC,EAAE,oCAAoC,uDAAC,EAAE,sFAAC,EAAE,YAAY,2CAA2C,uDAAC,EAAE,sFAAC,kCAAkC,uDAAC,EAAE,sFAAC,kEAAkE,UAA+B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACJ1tC;AACA;AACA;AACA;AACA;AAA8C;AAAsB;AAA+D;AAAiE;AAA6E;AAA0B;AAA6B;AAAgC;AAA6E;AAAyE;AAA4B;AAAuD;AAA+C;AAA+D;AAAsE;AAAkD;AAAuE;AAA+C;AAA0D;AAAsD,MAAML,CAAC,GAAC,oBAAR;AAAA,MAA6BM,CAAC,GAAC;AAACuJ,EAAAA,IAAI,EAAC7J,CAAN;AAAQg6G,EAAAA,cAAc,EAAE,GAAEh6G,CAAE,aAA5B;AAAyCi6G,EAAAA,kBAAkB,EAAE,GAAEj6G,CAAE,kBAAjE;AAAmFk6G,EAAAA,SAAS,EAAE,GAAEl6G,CAAE,QAAlG;AAA0Gm6G,EAAAA,aAAa,EAAE,GAAEn6G,CAAE,aAA7H;AAA0Io6G,EAAAA,cAAc,EAAE,GAAEp6G,CAAE,cAA9J;AAA4Kq6G,EAAAA,gBAAgB,EAAE,GAAEr6G,CAAE,gBAAlM;AAAkNs6G,EAAAA,eAAe,EAAE,GAAEt6G,CAAE,mBAAvO;AAA0Pu6G,EAAAA,eAAe,EAAE,GAAEv6G,CAAE,cAA/Q;AAA6Rw6G,EAAAA,mBAAmB,EAAE,GAAEx6G,CAAE,mBAAtT;AAAyUy6G,EAAAA,aAAa,EAAE,GAAEz6G,CAAE,YAA5V;AAAwW06G,EAAAA,oBAAoB,EAAE,GAAE16G,CAAE,iBAAlY;AAAmZ26G,EAAAA,oBAAoB,EAAE,GAAE36G,CAAE,sBAA7a;AAAmc46G,EAAAA,SAAS,EAAE,GAAE56G,CAAE,QAAld;AAA0d66G,EAAAA,gBAAgB,EAAE,GAAE76G,CAAE,aAAhf;AAA6f86G,EAAAA,gBAAgB,EAAE,GAAE96G,CAAE,kBAAnhB;AAAqiB+6G,EAAAA,UAAU,EAAE,GAAE/6G,CAAE,SAArjB;AAA8jBg7G,EAAAA,qBAAqB,EAAE,GAAEh7G,CAAE,qBAAzlB;AAA8mBi7G,EAAAA,mBAAmB,EAAE,GAAEj7G,CAAE,mBAAvoB;AAA0pBk7G,EAAAA,kBAAkB,EAAE,GAAEl7G,CAAE;AAAlrB,CAA/B;AAAA,MAAquB+E,CAAC,GAAC,EAAvuB;AAAA,MAA0uBjF,CAAC,GAAC,UAA5uB;AAAA,MAAuvBoJ,CAAC,GAAC,OAAzvB;AAAA,MAAiwBhJ,CAAC,GAAC,qBAAnwB;AAAA,MAAyxB4G,CAAC,GAAC,GAA3xB;AAAA,MAA+xB3H,CAAC,GAAC,GAAjyB;AAAA,MAAqyBoB,CAAC,GAAC,GAAvyB;AAA2yB,IAAIgJ,CAAC,GAAC,cAAc7K,mDAAd,CAAe;AAAC8B,EAAAA,WAAW,CAACzC,CAAD,EAAGE,CAAH,EAAK;AAAA;;AAAC,WAAMF,CAAN,EAAQE,CAAR,kBAAW,KAAKk9G,aAAL,GAAmB,IAA9B,EAAmC,KAAKC,oBAAL,GAA0B,IAA7D,EAAkE,KAAKC,mBAAL,GAAyB,IAA3F,EAAgG,KAAKC,aAAL,GAAmB,IAAIC,OAAJ,EAAnH,EAA+H,KAAKttB,SAAL,GAAe,IAAIrvF,+EAAJ,EAA9I,EAAoJ,KAAKyI,QAAL,GAAc,IAAlK,EAAuK,KAAKm0G,aAAL,GAAmBz9G,CAAC,IAAE;AAAC,WAAKu9G,aAAL,CAAmBzjG,GAAnB,CAAuB9Z,CAAvB,GAA2Bib,OAA3B,IAAqC,KAAKsiG,aAAL,CAAmB3sF,MAAnB,CAA0B5wB,CAA1B,CAArC;AAAkE,KAAhQ,EAAiQ,KAAK09G,YAAL;AAAA,mNAAkB,WAAM19G,CAAN,EAAS;AAAC,cAAK;AAACq4C,UAAAA,SAAS,EAACn4C,CAAX;AAAagwF,UAAAA,SAAS,EAACxvF;AAAvB,YAA0B,KAA/B;AAAoC,YAAGR,CAAC,IAAE,CAACQ,CAAJ,IAAO,CAACV,CAAX,EAAa;AAAO,cAAK;AAAC29G,UAAAA,UAAU,EAAC19G;AAAZ,kBAAqB,4YAA1B;AAAA,cAAgEK,CAAC,SAAOL,CAAC,CAACD,CAAD,CAAzE;AAA6E,aAAI,CAACu9G,aAAL,CAAmB73G,GAAnB,CAAuB1F,CAAvB,EAAyBM,CAAzB,GAA4B,KAAI,CAACs9G,YAAL,CAAkB;AAACC,UAAAA,SAAS,EAACn9G,CAAC,CAACo9G,eAAb;AAA6BC,UAAAA,IAAI,EAACz9G;AAAlC,SAAlB,CAA5B;AAAoF,OAArP;;AAAA;AAAA;AAAA;AAAA,OAAjQ;AAAuf;;AAAAuD,EAAAA,UAAU,GAAE;AAAC,SAAKy5G,mBAAL,GAAyB,IAAI57G,uEAAJ,EAAzB,EAA+B,KAAKgC,UAAL,CAAgB,CAAChD,6DAAC,CAAE,MAAI,CAAC,KAAKwvF,SAAL,EAAgB4tB,eAAjB,EAAiC,KAAK5tB,SAAL,EAAgB8tB,oBAAjD,CAAN,EAA+E,MAAI,KAAKC,uBAAL,EAAnF,EAAmHh+G,2DAAnH,CAAF,EAAwHS,6DAAC,CAAE,MAAI,CAAC,KAAKwvF,SAAL,EAAgBniF,WAAjB,EAA6B,KAAKmiF,SAAL,EAAgBntF,KAA7C,CAAN,EAA4D,MAAI,KAAKm7G,wBAAL,EAAhE,EAAiGj+G,2DAAjG,CAAzH,CAAhB,CAA/B;AAA8Q;;AAAAk+G,EAAAA,gBAAgB,GAAE;AAAC,WAAOn9G,mFAAC,CAAC;AAACo9G,MAAAA,IAAI,EAAC,MAAI;AAAV,KAAD,CAAR;AAAwF;;AAAAh6G,EAAAA,OAAO,GAAE;AAAC,SAAKi6G,uBAAL,IAA+B,KAAKf,mBAAL,EAA0Bl5G,OAA1B,EAA/B;AAAmE;;AAAc,MAAVmtC,UAAU,GAAE;AAAC,WAAO,KAAK2+C,SAAL,CAAe3+C,UAAtB;AAAiC;;AAAc,MAAVA,UAAU,CAACvxC,CAAD,EAAG;AAAC,SAAKkwF,SAAL,CAAe3+C,UAAf,GAA0BvxC,CAA1B;AAA4B;;AAAwB,MAApBg+G,oBAAoB,GAAE;AAAC,WAAO,KAAK9tB,SAAL,CAAe8tB,oBAAtB;AAA2C;;AAAwB,MAApBA,oBAAoB,CAACh+G,CAAD,EAAG;AAAC,SAAKkwF,SAAL,CAAe8tB,oBAAf,GAAoCh+G,CAApC;AAAsC;;AAAe,MAAX+N,WAAW,GAAE;AAAC,WAAO,KAAKmiF,SAAL,CAAeniF,WAAtB;AAAkC;;AAAe,MAAXA,WAAW,CAAC/N,CAAD,EAAG;AAAC,SAAKkwF,SAAL,CAAeniF,WAAf,GAA2B/N,CAA3B;AAA6B;;AAAgB,MAAZs+G,YAAY,GAAE;AAAC,WAAO,KAAKpuB,SAAL,CAAeouB,YAAtB;AAAmC;;AAAgB,MAAZA,YAAY,CAACt+G,CAAD,EAAG;AAAC,SAAKkwF,SAAL,CAAeouB,YAAf,GAA4Bt+G,CAA5B;AAA8B;;AAAS,MAALwJ,KAAK,GAAE;AAAC,WAAO,KAAK0mF,SAAL,CAAe1mF,KAAtB;AAA4B;;AAAS,MAALA,KAAK,CAACxJ,CAAD,EAAG;AAAC,SAAKkwF,SAAL,CAAe1mF,KAAf,GAAqBxJ,CAArB;AAAuB;;AAAc,MAAVgO,UAAU,GAAE;AAAC,WAAO,KAAKkiF,SAAL,CAAeliF,UAAtB;AAAiC;;AAAc,MAAVA,UAAU,CAAChO,CAAD,EAAG;AAAC,SAAKkwF,SAAL,CAAeliF,UAAf,GAA0BhO,CAA1B;AAA4B;;AAAiB,MAAbqrC,aAAa,GAAE;AAAC,WAAO,KAAK6kD,SAAL,CAAe7kD,aAAtB;AAAoC;;AAAiB,MAAbA,aAAa,CAACrrC,CAAD,EAAG;AAAC,SAAKkwF,SAAL,CAAe7kD,aAAf,GAA6BrrC,CAA7B;AAA+B;;AAAgB,MAAZu+G,YAAY,GAAE;AAAC,WAAO,KAAKruB,SAAL,CAAequB,YAAtB;AAAmC;;AAAgB,MAAZA,YAAY,CAACv+G,CAAD,EAAG;AAAC,SAAKkwF,SAAL,CAAequB,YAAf,GAA4Bv+G,CAA5B;AAA8B;;AAAS,MAAL+C,KAAK,GAAE;AAAC,WAAO,KAAKmtF,SAAL,CAAentF,KAAtB;AAA4B;;AAAS,MAALA,KAAK,CAAC/C,CAAD,EAAG;AAAC,SAAKkwF,SAAL,CAAentF,KAAf,GAAqB/C,CAArB;AAAuB;;AAAA2uG,EAAAA,MAAM,GAAE;AAAC,WAAOntG,4DAAC,CAAC,KAAD,EAAO;AAACivB,MAAAA,IAAI,EAAC,IAAN;AAAW+tF,MAAAA,KAAK,EAACj8G,CAAC,CAACuJ,IAAnB;AAAwB2yG,MAAAA,OAAO,EAAC,KAAKC;AAArC,KAAP,EAA+D,KAAKpB,mBAAL,EAA0B3O,MAA1B,EAA/D,EAAkG,KAAKgQ,YAAL,EAAlG,CAAR;AAA+H;;AAAAA,EAAAA,YAAY,GAAE;AAAC,UAAK;AAACC,MAAAA,uBAAuB,EAAC5+G,CAAzB;AAA2Bg+G,MAAAA,oBAAoB,EAAC99G;AAAhD,QAAmD,KAAKgwF,SAA7D;AAAA,UAAuExvF,CAAC,GAAC,KAAKm+G,gBAAL,EAAzE;;AAAiG,WAAO7+G,CAAC,GAACwB,4DAAC,CAAC,KAAD,EAAO;AAACg9G,MAAAA,KAAK,EAACj8G,CAAC,CAAC05G,cAAT;AAAwBrwG,MAAAA,GAAG,EAAC;AAA5B,KAAP,EAA8D,KAAKkzG,gBAAL,EAA9D,EAAsFt9G,4DAAC,CAAC,KAAD,EAAO;AAACg9G,MAAAA,KAAK,EAACj8G,CAAC,CAACg6G;AAAT,KAAP,EAAiC77G,CAAjC,EAAmCV,CAAC,GAAC,CAAF,GAAIwB,4DAAC,CAAC,KAAD,EAAO;AAACg9G,MAAAA,KAAK,EAACj8G,CAAC,CAACi6G;AAAT,KAAP,EAAiC,KAAKuC,sBAAL,CAA4B,UAA5B,CAAjC,EAAyEv9G,4DAAC,CAAC,MAAD,EAAQ;AAACg9G,MAAAA,KAAK,EAACj8G,CAAC,CAACk6G;AAAT,KAAR,EAAsC18G,gEAAC,CAAC,KAAKuJ,QAAL,CAAc01G,QAAf,EAAwB;AAACC,MAAAA,KAAK,EAAC/+G,CAAC,GAAC,CAAT;AAAW63D,MAAAA,KAAK,EAAC/3D;AAAjB,KAAxB,CAAvC,CAA1E,EAA+J,KAAK++G,sBAAL,CAA4B,MAA5B,CAA/J,CAAL,GAAyM,IAA5O,CAAvF,CAAF,GAA4U,IAApV;AAAyV;;AAAAF,EAAAA,gBAAgB,GAAE;AAAC,UAAK;AAACf,MAAAA,eAAe,EAAC99G;AAAjB,QAAoB,KAAKkwF,SAA9B;AAAwC,QAAG,CAAClwF,CAAJ,EAAM,OAAO,IAAP;AAAY,UAAME,CAAC,GAACF,CAAC,IAAEA,CAAC,CAAC+C,KAAL,GAAWvB,4DAAC,CAAC,KAAD,EAAO;AAACg9G,MAAAA,KAAK,EAACj8G,CAAC,CAAC85G,cAAT;AAAwB6C,MAAAA,SAAS,EAACl/G,CAAC,CAAC+C,KAApC;AAA0C6I,MAAAA,GAAG,EAAC;AAA9C,KAAP,CAAZ,GAAiF,IAAzF;AAAA,UAA8FlL,CAAC,GAACV,CAAC,IAAEA,CAAC,CAACgR,OAAL,GAAaxP,4DAAC,CAAC,KAAD,EAAO;AAACg9G,MAAAA,KAAK,EAACj8G,CAAC,CAAC+5G,gBAAT;AAA0B4C,MAAAA,SAAS,EAACl/G,CAAC,CAACgR,OAAtC;AAA8CpF,MAAAA,GAAG,EAAC;AAAlD,KAAP,CAAd,GAAyF,IAAzL;AAA8L,WAAO1L,CAAC,IAAEQ,CAAH,GAAKc,4DAAC,CAAC,KAAD,EAAO;AAACg9G,MAAAA,KAAK,EAACj8G,CAAC,CAAC65G,aAAT;AAAuBxwG,MAAAA,GAAG,EAAC;AAA3B,KAAP,EAAgD1L,CAAhD,EAAkDQ,CAAlD,CAAN,GAA2D,IAAlE;AAAuE;;AAAAy+G,EAAAA,qBAAqB,CAACn/G,CAAD,EAAG;AAAC,QAAG,CAACA,CAAC,CAAC0N,KAAN,EAAY,OAAO,IAAP;;AAAY,UAAK;AAAC2vG,MAAAA,oBAAoB,EAACn9G;AAAtB,QAAyB,IAA9B;AAAA,UAAmC;AAAC89G,MAAAA,oBAAoB,EAACt9G,CAAtB;AAAwBk+G,MAAAA,uBAAuB,EAAC3+G;AAAhD,QAAmD,KAAKiwF,SAA3F;AAAA,UAAqG;AAACxiF,MAAAA,KAAK,EAACpN,CAAP;AAASs4C,MAAAA,eAAe,EAACp4C,CAAzB;AAA2B4+G,MAAAA,OAAO,EAACh/G,CAAnC;AAAqC2C,MAAAA,KAAK,EAACpC,CAA3C;AAA6C4C,MAAAA,IAAI,EAAC1C;AAAlD,QAAqDb,CAA1J;AAAA,UAA4J;AAACmR,MAAAA,SAAS,EAACzP,CAAX;AAAa0P,MAAAA,OAAO,EAACpQ;AAArB,QAAwBV,CAApL;AAAA,UAAsLQ,CAAC,GAACI,6EAAC,CAACF,CAAC,IAAE,KAAK,CAAT,CAAD,GAAa,QAAb,GAAsB,OAA9M;AAAA,UAAsNM,CAAC,GAAC,aAAWR,CAAX,GAAa,YAAb,GAA0B,EAAlP;AAAA,UAAqPc,CAAC,GAACpB,CAAC,GAACN,CAAD,GAAG,IAA3P;AAAA,UAAgQH,CAAC,GAAC6B,CAAC,GAACA,CAAC,CAACm+F,SAAH,GAAa,CAAhR;AAAA,UAAkR99F,CAAC,GAACL,CAAC,GAACA,CAAC,CAACuP,SAAH,GAAazP,CAAlS;AAAA,UAAoSa,CAAC,GAACf,4DAAC,CAAC,KAAD,EAAO;AAACkwE,MAAAA,GAAG,EAACtxE,CAAC,IAAEO,CAAR;AAAUiL,MAAAA,GAAG,EAAE,SAAQ/K,CAAE,IAAGH,CAAE,IAAGT,CAAE,IAAGF,CAAE,EAAxC;AAA0C6xE,MAAAA,GAAG,EAAC3vE,CAAC,IAAE,KAAK;AAAtD,KAAP,CAAvS;;AAAwW,WAAM,CAACjB,CAAC,GAACQ,4DAAC,CAAC,GAAD,EAAK;AAACkoB,MAAAA,IAAI,EAAC1oB,CAAN;AAAQq+G,MAAAA,GAAG,EAAC/9G,CAAZ;AAAc2G,MAAAA,MAAM,EAACnH,CAArB;AAAuBiC,MAAAA,KAAK,EAACpC;AAA7B,KAAL,EAAqC4B,CAArC,CAAF,GAA0C,IAA5C,KAAmDA,CAAzD;AAA2D;;AAAA+8G,EAAAA,qBAAqB,CAACt/G,CAAD,EAAG;AAAC,UAAK;AAACg+G,MAAAA,oBAAoB,EAAC99G,CAAtB;AAAwB0+G,MAAAA,uBAAuB,EAACl+G;AAAhD,QAAmD,KAAKwvF,SAA7D;AAAuE,WAAO1uF,4DAAC,CAAC,KAAD,EAAO;AAAC+9G,MAAAA,WAAW,EAAC,KAAK7B,YAAlB;AAA+B8B,MAAAA,YAAY,EAAC,KAAK/B,aAAjD;AAA+DhtF,MAAAA,IAAI,EAAC,IAApE;AAAyE+tF,MAAAA,KAAK,EAACj8G,CAAC,CAACy6G,UAAjF;AAA4FpxG,MAAAA,GAAG,EAAE,SAAQ5L,CAAC,CAACuD,IAAK,IAAGrD,CAAE,IAAGQ,CAAE;AAA1H,KAAP,CAAR;AAA6I;;AAAA++G,EAAAA,oBAAoB,GAAE;AAAC,UAAK;AAAC3B,MAAAA,eAAe,EAAC99G;AAAjB,QAAoB,KAAKkwF,SAA9B;AAAwC,WAAOlwF,CAAC,GAAC,YAAUA,CAAC,CAACuD,IAAZ,GAAiB,KAAK47G,qBAAL,CAA2Bn/G,CAA3B,CAAjB,GAA+CA,CAAC,CAACuD,IAAF,CAAOuuB,QAAP,CAAgB,OAAhB,IAAyB,KAAKwtF,qBAAL,CAA2Bt/G,CAA3B,CAAzB,GAAuD,IAAvG,GAA4G,IAApH;AAAyH;;AAAA8+G,EAAAA,gBAAgB,GAAE;AAAC,UAAK;AAAChB,MAAAA,eAAe,EAAC99G;AAAjB,QAAoB,KAAKkwF,SAA9B;AAAwC,WAAOlwF,CAAC,GAACwB,4DAAC,CAAC,KAAD,EAAO;AAACg9G,MAAAA,KAAK,EAACj8G,CAAC,CAAC25G,kBAAT;AAA4BtwG,MAAAA,GAAG,EAAC;AAAhC,KAAP,EAA0DpK,4DAAC,CAAC,KAAD,EAAO;AAACg9G,MAAAA,KAAK,EAACj8G,CAAC,CAAC45G,SAAT;AAAmBvwG,MAAAA,GAAG,EAAC;AAAvB,KAAP,EAAsD,KAAK6zG,oBAAL,EAAtD,CAA3D,CAAF,GAAiJ,IAAzJ;AAA8J;;AAAAV,EAAAA,sBAAsB,CAAC/+G,CAAD,EAAG;AAAC,QAAG,KAAKkwF,SAAL,CAAe0uB,uBAAf,GAAuC,CAA1C,EAA4C,OAAO,IAAP;AAAY,UAAM1+G,CAAC,GAAC,eAAaF,CAArB;AAAA,UAAuBU,CAAC,GAACR,CAAC,GAAC,KAAKoJ,QAAL,CAAco2G,QAAf,GAAwB,KAAKp2G,QAAL,CAAcoR,IAAhE;AAAA,UAAqEza,CAAC,GAACC,CAAC,GAAC,cAAD,GAAgB,eAAxF;AAAA,UAAwGI,CAAC,GAACJ,CAAC,GAAC,gBAAD,GAAkB,YAA7H;AAAA,UAA0IM,CAAC,GAACN,CAAC,GAAC,KAAKy/G,SAAN,GAAgB,KAAKC,KAAlK;AAAwK,WAAOp+G,4DAAC,CAAC,QAAD,EAAU;AAAC,oBAAad,CAAd;AAAgB+vB,MAAAA,IAAI,EAAC,IAArB;AAA0B+tF,MAAAA,KAAK,EAACj8G,CAAC,CAAC06G,qBAAlC;AAAwDrxG,MAAAA,GAAG,EAACtL,CAA5D;AAA8Du/G,MAAAA,OAAO,EAACr/G,CAAtE;AAAwEs/G,MAAAA,QAAQ,EAAC,CAAjF;AAAmF/8G,MAAAA,KAAK,EAACrC,CAAzF;AAA2F6C,MAAAA,IAAI,EAAC;AAAhG,KAAV,EAAoH/B,4DAAC,CAAC,cAAD,EAAgB;AAACg9G,MAAAA,KAAK,EAACj8G,CAAC,CAAC26G,mBAAT;AAA6BkB,MAAAA,IAAI,EAACn+G,CAAlC;AAAoCsY,MAAAA,KAAK,EAAC;AAA1C,KAAhB,CAArH,CAAR;AAA8L;;AAAA2lG,EAAAA,wBAAwB,GAAE;AAAC,UAAK;AAACnwG,MAAAA,WAAW,EAAC/N,CAAb;AAAe+C,MAAAA,KAAK,EAAC7C;AAArB,QAAwB,IAA7B;AAAkC,SAAKo9G,mBAAL,EAA0B53G,GAA1B,CAA8B;AAACqI,MAAAA,WAAW,EAAC/N,CAAb;AAAe+C,MAAAA,KAAK,EAAC7C;AAArB,KAA9B;AAAuD;;AAAA0/G,EAAAA,KAAK,GAAE;AAAC,SAAK1vB,SAAL,CAAex1E,IAAf;AAAsB;;AAAAilG,EAAAA,SAAS,GAAE;AAAC,SAAKzvB,SAAL,CAAewvB,QAAf;AAA0B;;AAAAK,EAAAA,YAAY,GAAE;AAAC,QAAG,CAAC,KAAK7vB,SAAT,EAAmB;AAAO,UAAK;AAAC8vB,MAAAA,WAAW,EAAChgH,CAAb;AAAewJ,MAAAA,KAAK,EAACtJ;AAArB,QAAwB,KAAKgwF,SAAlC;AAA4C,WAAOlwF,CAAC,IAAEE,CAAC,EAAE+/G,gBAAN,IAAwB,cAAa//G,CAAC,CAAC+/G,gBAAvC,GAAwD//G,CAAC,CAAC+/G,gBAAF,CAAmB5zE,QAA3E,GAAoFnsC,CAAC,EAAEmsC,QAA9F;AAAuG;;AAAM6zE,EAAAA,gBAAgB,CAAClgH,CAAD,EAAG;AAAA;AAAC,YAAK;AAACmgH,QAAAA,QAAQ,EAACjgH;AAAV,gBAAmB,uUAAxB;AAAA,YAAgEQ,CAAC,GAAC,IAAIiS,GAAJ,EAAlE;AAA0E,aAAO3S,CAAC,CAAC2E,OAAF,CAAW3E,CAAC,IAAE;AAACA,QAAAA,CAAC,CAACoV,KAAF,IAAS1U,CAAC,CAACgF,GAAF,CAAM1F,CAAN,EAAQE,CAAC,CAACF,CAAC,CAACoV,KAAF,CAAQ2pE,KAAR,CAAc,CAAC,CAAf,CAAD,CAAT,CAAT;AAAuC,OAAtD,GAAyDr+E,CAAhE;AAA3E;AAA6I;;AAAM0/G,EAAAA,kBAAkB,GAAE;AAAA;;AAAA;AAAC,YAAK;AAACD,QAAAA,QAAQ,EAACngH;AAAV,gBAAmB,uUAAxB;AAAA,YAAgEE,CAAC,GAAC,IAAIyS,GAAJ,EAAlE;AAAA,YAA0EjS,CAAC,GAAC,MAAI,CAACq/G,YAAL,EAA5E;AAAA,YAAgG9/G,CAAC,GAAC,SAAlG;;AAA4G,UAAG,CAACS,CAAJ,EAAM,OAAOR,CAAP;AAAS,YAAMI,CAAC,SAAOF,mFAAC,CAACM,CAAD,CAAf;AAAmBJ,MAAAA,CAAC,CAACswB,MAAF,CAAS3wB,CAAT;AAAY,aAAOsG,KAAK,CAACiZ,IAAN,CAAWlf,CAAC,CAAC4+C,MAAF,EAAX,EAAuB5wC,KAAvB,CAA8BtO,CAAC,IAAE,MAAIA,CAAC,EAAE6N,MAAxC,KAAkDtH,KAAK,CAACiZ,IAAN,CAAWlf,CAAC,CAACif,IAAF,EAAX,EAAqB5a,OAArB,CAA8BjE,CAAC,IAAE;AAAC,cAAMT,CAAC,GAACK,CAAC,CAACwZ,GAAF,CAAMpZ,CAAN,IAAW,CAAX,GAAeq+E,KAAf,CAAqB,CAAC,CAAtB,CAAR;AAAiC9+E,QAAAA,CAAC,IAAEC,CAAC,CAACwF,GAAF,CAAMhF,CAAN,EAAQV,CAAC,CAACC,CAAD,CAAT,CAAH;AAAiB,OAApF,GAAuFC,CAAzI,IAA4IA,CAAnJ;AAA3J;AAAgT;;AAAAw+G,EAAAA,iBAAiB,CAAC1+G,CAAD,EAAG;AAAC,UAAK;AAAC4L,MAAAA,GAAG,EAAC1L;AAAL,QAAQF,CAAb;AAAe,oBAAcE,CAAd,KAAkBF,CAAC,CAACmkG,eAAF,IAAoB,KAAKjU,SAAL,CAAewvB,QAAf,EAAtC,GAAiE,iBAAex/G,CAAf,KAAmBF,CAAC,CAACmkG,eAAF,IAAoB,KAAKjU,SAAL,CAAex1E,IAAf,EAAvC,CAAjE;AAA+H;;AAAA2lG,EAAAA,gBAAgB,GAAE;AAAC,WAAM,CAAC,CAAC,KAAKnwB,SAAP,IAAmB,CAAC,CAAC,KAAKA,SAAL,CAAeowB,SAAf,CAAyBC,cAA3B,IAA2C,CAACrgH,wEAAC,EAAtE;AAA0E;;AAAAsgH,EAAAA,oBAAoB,GAAE;AAAC,WAAO,KAAKH,gBAAL,KAAwBt3G,CAAxB,GAA0B,CAAjC;AAAmC;;AAAA03G,EAAAA,0BAA0B,GAAE;AAAC,WAAO,KAAKJ,gBAAL,KAAwBj/G,CAAxB,GAA0B,CAAjC;AAAmC;;AAAMw8G,EAAAA,YAAY,CAAC59G,CAAD,EAAG;AAAA;;AAAA;AAAC,YAAK;AAAC+9G,QAAAA,IAAI,EAAC79G,CAAN;AAAQ29G,QAAAA,SAAS,EAACn9G;AAAlB,UAAqBV,CAA1B;AAAA,YAA4B;AAAC0N,QAAAA,KAAK,EAACzN,CAAP;AAASsD,QAAAA,IAAI,EAACjD;AAAd,UAAiBI,CAA7C;AAAA,YAA+C;AAACggH,QAAAA,kBAAkB,EAAClgH,CAApB;AAAsBmgH,QAAAA,YAAY,EAACvgH,CAAnC;AAAqCwgH,QAAAA,gBAAgB,EAACjgH,CAAtD;AAAwDkgH,QAAAA,WAAW,EAAChgH,CAApE;AAAsEigH,QAAAA,QAAQ,EAACp/G,CAA/E;AAAiFq/G,QAAAA,iBAAiB,EAAC7/G;AAAnG,gBAA4G,uUAA3J;AAAA,YAAmMF,CAAC,GAACU,CAAC,CAACs/G,GAAF,CAAM9gH,CAAN,CAArM;AAA8Mc,MAAAA,CAAC,CAACigH,IAAF,CAAO,UAAP,EAAmBv7G,GAAnB,CAAuB,QAAvB,EAAgCxE,CAAhC,GAAmCF,CAAC,CAACigH,IAAF,CAAO,UAAP,EAAmBv7G,GAAnB,CAAuB,OAAvB,EAA+B,CAAC,CAAhC,CAAnC;AAAsE,YAAM5E,CAAC,GAAC,CAACN,CAAC,CAACwgH,GAAF,CAAM9gH,CAAN,CAAD,EAAUc,CAAV,CAAR;AAAqBY,MAAAA,oEAAC,MAAId,CAAC,CAACgE,IAAF,CAAO1E,CAAC,CAAC4gH,GAAF,CAAM9gH,CAAN,CAAP,CAAL,EAAsB,MAAI,CAACmgH,gBAAL,MAAyBv/G,CAAC,CAACgE,IAAF,CAAOnE,CAAC,CAACqgH,GAAF,CAAM9gH,CAAN,CAAP,CAA/C,EAAgEA,CAAC,CAACghH,SAAF,CAAYpgH,CAAZ,CAAhE;;AAA+E,YAAMQ,CAAC,SAAO,MAAI,CAAC8+G,kBAAL,EAAd;AAAA,YAAwC5+G,CAAC,SAAO,MAAI,CAAC0+G,gBAAL,CAAsBjgH,CAAC,CAACkhH,MAAxB,CAAhD;AAAA,YAAgFphH,CAAC,GAACc,CAAC,CAACmgH,GAAF,CAAM9gH,CAAN,EAAQ,EAAR,CAAlF;AAAA,YAA8F+B,CAAC,GAACT,CAAC,CAACsY,GAAF,CAAM7Z,CAAC,CAACkhH,MAAF,CAAS,CAAT,CAAN,CAAhG;AAAA,YAAmH5+G,CAAC,GAACN,CAAC,GAAC;AAACm/G,QAAAA,YAAY,EAAC;AAAC1hC,UAAAA,MAAM,EAACz9E;AAAR;AAAd,OAAD,GAA2B,KAAK,CAAtJ;AAAA,YAAwJ+E,CAAC,GAAC/G,CAAC,CAACkhH,MAAF,CAAS57G,GAAT,CAAc,CAACvF,CAAD,EAAGE,CAAH,KAAO;AAAC,cAAMQ,CAAC,GAACc,CAAC,CAACsY,GAAF,CAAM9Z,CAAN,KAAUsB,CAAC,CAACwY,GAAF,CAAM9Z,CAAC,CAAC2P,SAAR,CAAV,IAA8B5P,CAAC,CAACshH,QAAF,CAAWnhH,CAAX,CAAtC;;AAAoD,eAAM;AAAC,WAAC6B,CAAD,GAAI/B,CAAC,CAACshH,OAAP;AAAe,WAACn2G,CAAD,GAAInL,CAAC,CAAC0N,KAArB;AAA2B6zG,UAAAA,cAAc,EAAC;AAAC9hC,YAAAA,IAAI,EAAC/+E,CAAN;AAAQg/E,YAAAA,MAAM,EAACh/E;AAAf,WAA1C;AAA4D,aAAG6B;AAA/D,SAAN;AAAwE,OAAlJ,EAAqJoE,MAArJ,CAA6J3G,CAAC,IAAE,gBAAcM,CAAd,IAAiB,QAAMN,CAAC,CAAC0N,KAAR,IAAe1N,CAAC,CAAC0N,KAAF,GAAQ,CAAxM,CAA1J;;AAAsW,sBAAcpN,CAAd,GAAgB,MAAI,CAACkhH,eAAL,CAAqBxhH,CAArB,EAAuBgH,CAAvB,CAAhB,GAA0C,MAAI,CAACy6G,cAAL,CAAoBzhH,CAApB,EAAsBgH,CAAtB,CAA1C;AAA/tB;AAAkyB;;AAAA06G,EAAAA,aAAa,GAAE;AAAC,WAAO5gH,+DAAC,CAAC,KAAK8nF,SAAN,CAAD,GAAkB,KAAlB,GAAwB,KAA/B;AAAqC;;AAAM+4B,EAAAA,sBAAsB,CAAC3hH,CAAD,EAAGE,CAAC,GAAC,YAAL,EAAkB;AAAA;;AAAA;AAAC,YAAK;AAACigH,QAAAA,QAAQ,EAACz/G;AAAV,gBAAmB,uUAAxB;AAAgEV,MAAAA,CAAC,CAAC4hH,MAAF,CAAS;AAACC,QAAAA,kBAAkB,EAAC3hH;AAApB,OAAT,GAAiCF,CAAC,CAAC8Z,GAAF,CAAM,YAAN,GAAqB8nG,MAArB,CAA4B;AAACliC,QAAAA,MAAM,EAACh/E,CAAC,CAACyB,CAAD;AAAT,OAA5B,CAAjC,EAA4EnC,CAAC,CAACy1B,KAAF,CAAQmsF,MAAR,CAAe;AAACpU,QAAAA,SAAS,EAAC,MAAI,CAACkU,aAAL,EAAX;AAAgCI,QAAAA,iBAAiB,EAAC,MAAlD;AAAyDC,QAAAA,QAAQ,EAACv/G;AAAlE,OAAf,CAA5E;AAAjE;AAAkO;;AAAMg/G,EAAAA,eAAe,CAACxhH,CAAD,EAAGE,CAAH,EAAK;AAAA;;AAAA;AAAC,YAAK;AAAC8hH,QAAAA,UAAU,EAACthH;AAAZ,gBAAqB,uUAA1B;AAAA,YAAkE;AAACuhH,QAAAA,WAAW,EAAChiH,CAAb;AAAeiiH,QAAAA,YAAY,EAAC5hH;AAA5B,gBAAqC,weAAvG;AAAA,YAA4I;AAACu9G,QAAAA,SAAS,EAACr9G,CAAX;AAAau9G,QAAAA,IAAI,EAAC39G;AAAlB,UAAqBJ,CAAjK;AAAA,YAAmK;AAAC+C,QAAAA,KAAK,EAACpC;AAAP,UAAUH,CAA7K;AAAA,YAA+KK,CAAC,GAAC,CAAjL;AAAA,YAAmLa,CAAC,GAAClB,CAAC,EAAE4+G,OAAH,IAAY5+G,CAAC,EAAEuC,KAAf,IAAsB,EAA3M;AAAA,YAA8M7B,CAAC,GAACd,CAAC,CAACwoF,SAAF,CAAYu5B,QAAZ,CAAqBr9G,IAArB,CAA0B7E,CAAC,CAAC+gH,GAAF,CAAM5gH,CAAN,EAAQ;AAAC6/E,QAAAA,SAAS,EAACv+E,CAAX;AAAa0gH,QAAAA,SAAS,EAAC,CAAC,CAAxB;AAA0BC,QAAAA,aAAa,EAACxhH,CAAxC;AAA0CyhH,QAAAA,UAAU,EAACzhH,CAArD;AAAuD0hH,QAAAA,WAAW,EAAC1hH,CAAnE;AAAqE2hH,QAAAA,YAAY,EAAC3hH;AAAlF,OAAR,CAA1B,CAAhN;AAAA,YAAyUG,CAAC,GAAC,mEAA3U;AAAA,YAA+YF,CAAC,GAACJ,CAAC,CAACsgH,GAAF,CAAM5gH,CAAN,EAAQ;AAACqiH,QAAAA,SAAS,EAACzhH;AAAX,OAAR,CAAjZ;AAAA,YAAwaM,CAAC,GAACJ,CAAC,CAACigH,MAAF,CAASr8G,IAAT,CAAcxE,CAAC,CAAC0gH,GAAF,CAAM5gH,CAAN,EAAQ;AAACga,QAAAA,IAAI,EAACzZ,CAAN;AAAQ+hH,QAAAA,UAAU,EAACv3G,CAAnB;AAAqBw3G,QAAAA,aAAa,EAAC5gH,CAAnC;AAAqCu/G,QAAAA,OAAO,EAACxgH;AAA7C,OAAR,CAAd,CAA1a;AAAkfQ,MAAAA,CAAC,CAACqhB,KAAF,CAAQigG,QAAR,CAAiBl9G,GAAjB,CAAqB,aAArB,EAAmC,CAAC,CAApC,GAAuCpE,CAAC,CAACuhH,MAAF,CAASD,QAAT,CAAkBl9G,GAAlB,CAAsB,aAAtB,EAAoC,CAAC,CAArC,CAAvC,EAA+EpE,CAAC,CAACwhH,MAAF,CAASF,QAAT,CAAkBG,MAAlB,CAAyBl+F,MAAzB,CAAgC,QAAhC,EAAyC;AAACm+F,QAAAA,WAAW,EAACniH;AAAb,OAAzC,CAA/E,EAAyI,MAAI,CAAC8gH,sBAAL,CAA4B7gH,CAA5B,CAAzI,EAAwKQ,CAAC,CAACwhH,MAAF,CAASF,QAAT,CAAkBhB,MAAlB,CAAyB;AAAC3hC,QAAAA,SAAS,EAACj/E,CAAX;AAAaohH,QAAAA,SAAS,EAAC,CAAC,CAAxB;AAA0Ba,QAAAA,aAAa,EAAC;AAAxC,OAAzB,CAAxK,EAA4P3hH,CAAC,CAAC4C,IAAF,CAAO09G,MAAP,CAAc1hH,CAAd,CAA5P,EAA6QoB,CAAC,CAAC4hH,MAAF,CAAS,MAAI,CAACzC,0BAAL,EAAT,CAA7Q,EAAyTv/G,CAAC,CAACgiH,MAAF,CAAS,MAAI,CAAC1C,oBAAL,EAAT,CAAzT,EAA+Vt/G,CAAC,CAAC68G,IAAF,CAAOoF,GAAP,CAAWC,SAAX,CAAqBn3G,MAArB,CAA4B1J,CAAC,CAAC46G,kBAA9B,EAAiD,CAAC,CAAlD,CAA/V;AAAnf;AAAu4B;;AAAAkG,EAAAA,kBAAkB,CAACrjH,CAAD,EAAG;AAAC,QAAIE,CAAC,GAAC,CAAN;AAAQ,WAAOF,CAAC,CAAC2E,OAAF,CAAW3E,CAAC,IAAEE,CAAC,GAAC4jB,IAAI,CAAC5Z,GAAL,CAASlK,CAAC,CAAC0N,KAAX,EAAiBxN,CAAjB,CAAhB,GAAsCA,CAA7C;AAA+C;;AAAMojH,EAAAA,kBAAkB,CAACtjH,CAAD,EAAGE,CAAH,EAAKQ,CAAL,EAAO;AAAA;;AAAA;AAAC,YAAK;AAACshH,QAAAA,UAAU,EAAC/hH,CAAZ;AAAcsjH,QAAAA,YAAY,EAACjjH;AAA3B,gBAAoC,uUAAzC;AAAA,YAAiF;AAACkjH,QAAAA,eAAe,EAAChjH,CAAjB;AAAmBijH,QAAAA,gBAAgB,EAACrjH,CAApC;AAAsCsjH,QAAAA,YAAY,EAAC/iH,CAAnD;AAAqDgjH,QAAAA,gBAAgB,EAAC9iH,CAAtE;AAAwE+iH,QAAAA,eAAe,EAACliH;AAAxF,gBAAiG,ugBAAlL;AAAA,YAAsN;AAACm8G,QAAAA,SAAS,EAAC38G,CAAX;AAAa68G,QAAAA,IAAI,EAAC/8G;AAAlB,UAAqBd,CAA3O;AAAA,YAA6O;AAACwN,QAAAA,KAAK,EAACpM,CAAP;AAASyB,QAAAA,KAAK,EAACvB;AAAf,UAAkBN,CAA/P;AAAiQlB,MAAAA,CAAC,CAAC4hH,MAAF,CAAS;AAACiC,QAAAA,MAAM,EAAC,MAAR;AAAeC,QAAAA,MAAM,EAAC;AAAtB,OAAT;AAAyC,YAAMliH,CAAC,GAAC5B,CAAC,CAAC+jH,KAAF,CAAQj/G,IAAR,CAAatE,CAAC,CAACwgH,GAAF,CAAMhgH,CAAN,EAAQ;AAACqrC,QAAAA,QAAQ,EAACjsC,CAAC,CAAC4gH,GAAF,CAAMhgH,CAAN,EAAQ;AAACgjH,UAAAA,QAAQ,EAACljH,+DAAC,CAAC,MAAI,CAAC8nF,SAAN;AAAX,SAAR,CAAV;AAAgD+5B,QAAAA,aAAa,EAAC5gH;AAA9D,OAAR,CAAb,CAAR;AAAgGH,MAAAA,CAAC,CAACkY,GAAF,CAAM,UAAN,EAAkB+oG,MAAlB,CAAyBD,QAAzB,CAAkChB,MAAlC,CAAyC;AAACqC,QAAAA,WAAW,EAAC,CAAC;AAAd,OAAzC;;AAA2D,YAAMlkH,CAAC,GAACC,CAAC,CAACkkH,KAAF,CAAQp/G,IAAR,CAAanE,CAAC,CAACqgH,GAAF,CAAMhgH,CAAN,EAAQ;AAACqrC,QAAAA,QAAQ,EAACxrC,CAAC,CAACmgH,GAAF,CAAMhgH,CAAN,EAAQ;AAACmjH,UAAAA,MAAM,EAAC,CAAC;AAAT,SAAR,CAAV;AAA+Bj6G,QAAAA,GAAG,EAAC,MAAI,CAACm5G,kBAAL,CAAwB/hH,CAAC,CAAC6/G,MAA1B;AAAnC,OAAR,CAAb,CAAR;;AAAqGphH,MAAAA,CAAC,CAAC+Z,GAAF,CAAM,UAAN,EAAkB+oG,MAAlB,CAAyBD,QAAzB,CAAkChB,MAAlC,CAAyC;AAACpU,QAAAA,SAAS,EAAC,MAAI,CAACkU,aAAL;AAAX,OAAzC;;AAA2E,YAAMz/G,CAAC,GAAC,aAAR;AAAA,YAAsBM,CAAC,GAACtC,CAAC,CAAC+gH,GAAF,CAAMhgH,CAAN,EAAQ;AAACyhH,QAAAA,SAAS,EAACxgH;AAAX,OAAR,CAAxB;AAAA,YAA+CE,CAAC,GAACnC,CAAC,CAACmhH,MAAF,CAASr8G,IAAT,CAAcpD,CAAC,CAACs/G,GAAF,CAAMhgH,CAAN,EAAQ;AAACoZ,QAAAA,IAAI,EAAC5Y,CAAN;AAAQ4iH,QAAAA,KAAK,EAACxiH,CAAd;AAAgByiH,QAAAA,KAAK,EAACtkH,CAAtB;AAAwBukH,QAAAA,WAAW,EAACn5G,CAApC;AAAsCo5G,QAAAA,cAAc,EAACxiH,CAArD;AAAuDu/G,QAAAA,OAAO,EAAC/+G;AAA/D,OAAR,CAAd,CAAjD;AAA2I,YAAI,CAACo/G,sBAAL,CAA4Bp/G,CAA5B,GAA+BJ,CAAC,CAACqiH,OAAF,CAAU5B,QAAV,CAAmBhB,MAAnB,CAA0B;AAAC3hC,QAAAA,SAAS,EAACh+E,CAAX;AAAamgH,QAAAA,SAAS,EAAC,CAAC,CAAxB;AAA0Ba,QAAAA,aAAa,EAAC;AAAxC,OAA1B,CAA/B,EAAoH3hH,CAAC,CAAC6/G,MAAF,CAAStzG,MAAT,GAAgB7G,CAAhB,IAAmBhH,CAAC,CAAC0F,GAAF,CAAM,YAAN,EAAmBpF,CAAC,CAAC0gH,GAAF,CAAMhgH,CAAN,EAAQ;AAACyjH,QAAAA,WAAW,EAAC;AAAb,OAAR,CAAnB,CAAvI,EAA+L7iH,CAAC,CAACsC,IAAF,CAAO09G,MAAP,CAAclhH,CAAd,CAA/L,EAAgNyB,CAAC,CAAC+B,IAAF,CAAO09G,MAAP,CAAclhH,CAAd,CAAhN,EAAiOyB,CAAC,CAAC+gH,MAAF,CAAS,MAAI,CAACzC,0BAAL,EAAT,CAAjO,EAA6QzgH,CAAC,CAACkjH,MAAF,CAAS,MAAI,CAAC1C,oBAAL,EAAT,CAA7Q;AAAjwB;AAAojC;;AAAMkE,EAAAA,eAAe,CAAC1kH,CAAD,EAAGE,CAAH,EAAKQ,CAAL,EAAO;AAAA;;AAAA;AAAC,YAAK;AAACshH,QAAAA,UAAU,EAAC/hH,CAAZ;AAAcsjH,QAAAA,YAAY,EAACjjH;AAA3B,gBAAoC,uUAAzC;AAAA,YAAiF;AAACkjH,QAAAA,eAAe,EAAChjH,CAAjB;AAAmBijH,QAAAA,gBAAgB,EAACrjH,CAApC;AAAsCsjH,QAAAA,YAAY,EAAC/iH,CAAnD;AAAqDgjH,QAAAA,gBAAgB,EAAC9iH,CAAtE;AAAwE+iH,QAAAA,eAAe,EAACliH;AAAxF,gBAAiG,ugBAAlL;AAAA,YAAsN;AAACm8G,QAAAA,SAAS,EAAC38G,CAAX;AAAa68G,QAAAA,IAAI,EAAC/8G;AAAlB,UAAqBd,CAA3O;AAAA,YAA6O;AAACwN,QAAAA,KAAK,EAACpM,CAAP;AAASyB,QAAAA,KAAK,EAACvB;AAAf,UAAkBN,CAA/P;AAAiQlB,MAAAA,CAAC,CAAC4hH,MAAF,CAAS;AAACiC,QAAAA,MAAM,EAAC,MAAR;AAAeC,QAAAA,MAAM,EAAC;AAAtB,OAAT;AAAyC,YAAMliH,CAAC,GAAC5B,CAAC,CAACkkH,KAAF,CAAQp/G,IAAR,CAAatE,CAAC,CAACwgH,GAAF,CAAMhgH,CAAN,EAAQ;AAACqrC,QAAAA,QAAQ,EAACxrC,CAAC,CAACmgH,GAAF,CAAMhgH,CAAN,EAAQ;AAACgjH,UAAAA,QAAQ,EAAC,CAAC;AAAX,SAAR,CAAV;AAAiCrB,QAAAA,aAAa,EAAC5gH;AAA/C,OAAR,CAAb,CAAR;AAAiFH,MAAAA,CAAC,CAACkY,GAAF,CAAM,UAAN,EAAkB+oG,MAAlB,CAAyBD,QAAzB,CAAkChB,MAAlC,CAAyC;AAACqC,QAAAA,WAAW,EAAC,CAAC;AAAd,OAAzC;;AAA2D,YAAMlkH,CAAC,GAACC,CAAC,CAAC+jH,KAAF,CAAQj/G,IAAR,CAAanE,CAAC,CAACqgH,GAAF,CAAMhgH,CAAN,EAAQ;AAACqrC,QAAAA,QAAQ,EAACjsC,CAAC,CAAC4gH,GAAF,CAAMhgH,CAAN,EAAQ;AAACmjH,UAAAA,MAAM,EAAC,CAAC,CAAT;AAAWH,UAAAA,QAAQ,EAACljH,+DAAC,CAAC,MAAI,CAAC8nF,SAAN;AAArB,SAAR,CAAV;AAA0D1+E,QAAAA,GAAG,EAAC,MAAI,CAACm5G,kBAAL,CAAwB/hH,CAAC,CAAC6/G,MAA1B;AAA9D,OAAR,CAAb,CAAR;;AAAgIphH,MAAAA,CAAC,CAAC+Z,GAAF,CAAM,UAAN,EAAkB+oG,MAAlB,CAAyBD,QAAzB,CAAkChB,MAAlC,CAAyC;AAACpU,QAAAA,SAAS,EAAC,MAAI,CAACkU,aAAL;AAAX,OAAzC;;AAA2E,YAAMz/G,CAAC,GAAC,aAAR;AAAA,YAAsBM,CAAC,GAACtC,CAAC,CAAC+gH,GAAF,CAAMhgH,CAAN,EAAQ;AAACyhH,QAAAA,SAAS,EAACxgH;AAAX,OAAR,CAAxB;AAAA,YAA+CE,CAAC,GAACnC,CAAC,CAACmhH,MAAF,CAASr8G,IAAT,CAAcpD,CAAC,CAACs/G,GAAF,CAAMhgH,CAAN,EAAQ;AAACoZ,QAAAA,IAAI,EAAC5Y,CAAN;AAAQ4iH,QAAAA,KAAK,EAACrkH,CAAd;AAAgBskH,QAAAA,KAAK,EAACziH,CAAtB;AAAwB+iH,QAAAA,WAAW,EAACx5G,CAApC;AAAsCy5G,QAAAA,cAAc,EAAC7iH,CAArD;AAAuDu/G,QAAAA,OAAO,EAAC/+G;AAA/D,OAAR,CAAd,CAAjD;AAA2I,YAAI,CAACo/G,sBAAL,CAA4Bp/G,CAA5B,EAA8B,UAA9B,GAA0CJ,CAAC,CAACqiH,OAAF,CAAU5B,QAAV,CAAmBhB,MAAnB,CAA0B;AAAC3hC,QAAAA,SAAS,EAACh+E,CAAX;AAAamgH,QAAAA,SAAS,EAAC,CAAC,CAAxB;AAA0Ba,QAAAA,aAAa,EAAC;AAAxC,OAA1B,CAA1C,EAA+H3hH,CAAC,CAAC6/G,MAAF,CAAStzG,MAAT,GAAgB7G,CAAhB,IAAmBhH,CAAC,CAAC0F,GAAF,CAAM,YAAN,EAAmBpF,CAAC,CAAC0gH,GAAF,CAAMhgH,CAAN,EAAQ;AAACyjH,QAAAA,WAAW,EAAC;AAAb,OAAR,CAAnB,CAAlJ,EAAwM7iH,CAAC,CAACsC,IAAF,CAAO09G,MAAP,CAAclhH,CAAd,CAAxM,EAAyNyB,CAAC,CAAC+B,IAAF,CAAO09G,MAAP,CAAclhH,CAAd,CAAzN,EAA0OyB,CAAC,CAAC+gH,MAAF,CAAS,MAAI,CAACzC,0BAAL,EAAT,CAA1O,EAAsRzgH,CAAC,CAACkjH,MAAF,CAAS,MAAI,CAAC1C,oBAAL,EAAT,CAAtR;AAA7wB;AAAykC;;AAAMqE,EAAAA,gBAAgB,CAAC7kH,CAAD,EAAGE,CAAH,EAAKQ,CAAL,EAAO;AAAA;;AAAA;AAAC,YAAK;AAACshH,QAAAA,UAAU,EAAC/hH,CAAZ;AAAcsjH,QAAAA,YAAY,EAACjjH;AAA3B,gBAAoC,uUAAzC;AAAA,YAAiF;AAACkjH,QAAAA,eAAe,EAAChjH,CAAjB;AAAmBijH,QAAAA,gBAAgB,EAACrjH,CAApC;AAAsCsjH,QAAAA,YAAY,EAAC/iH,CAAnD;AAAqDgjH,QAAAA,gBAAgB,EAAC9iH,CAAtE;AAAwEikH,QAAAA,aAAa,EAACpjH;AAAtF,gBAA+F,ugBAAhL;AAAA,YAAoN;AAACq8G,QAAAA,IAAI,EAAC78G,CAAN;AAAQ28G,QAAAA,SAAS,EAAC78G;AAAlB,UAAqBd,CAAzO;AAAA,YAA2O;AAACwN,QAAAA,KAAK,EAACpM,CAAP;AAASyB,QAAAA,KAAK,EAACvB;AAAf,UAAkBR,CAA7P;AAA+PhB,MAAAA,CAAC,CAAC4hH,MAAF,CAAS;AAACiC,QAAAA,MAAM,EAAC,MAAR;AAAeC,QAAAA,MAAM,EAAC;AAAtB,OAAT;AAAyC,YAAMliH,CAAC,GAAC5B,CAAC,CAAC+jH,KAAF,CAAQj/G,IAAR,CAAatE,CAAC,CAACwgH,GAAF,CAAM9/G,CAAN,EAAQ;AAACmrC,QAAAA,QAAQ,EAACjsC,CAAC,CAAC4gH,GAAF,CAAM9/G,CAAN,EAAQ;AAAC8iH,UAAAA,QAAQ,EAACljH,+DAAC,CAAC,MAAI,CAAC8nF,SAAN;AAAX,SAAR,CAAV;AAAgD+5B,QAAAA,aAAa,EAAC5gH;AAA9D,OAAR,CAAb,CAAR;AAAgGH,MAAAA,CAAC,CAACkY,GAAF,CAAM,UAAN,EAAkB+oG,MAAlB,CAAyBD,QAAzB,CAAkChB,MAAlC,CAAyC;AAACqC,QAAAA,WAAW,EAAC,CAAC;AAAd,OAAzC;;AAA2D,YAAMlkH,CAAC,GAACC,CAAC,CAACkkH,KAAF,CAAQp/G,IAAR,CAAanE,CAAC,CAACqgH,GAAF,CAAM9/G,CAAN,EAAQ;AAACmrC,QAAAA,QAAQ,EAACxrC,CAAC,CAACmgH,GAAF,CAAM9/G,CAAN,EAAQ;AAACijH,UAAAA,MAAM,EAAC,CAAC;AAAT,SAAR,CAAV;AAA+Bj6G,QAAAA,GAAG,EAAC,MAAI,CAACm5G,kBAAL,CAAwB/hH,CAAC,CAAC6/G,MAA1B;AAAnC,OAAR,CAAb,CAAR;;AAAqGphH,MAAAA,CAAC,CAAC+Z,GAAF,CAAM,UAAN,EAAkB+oG,MAAlB,CAAyBD,QAAzB,CAAkChB,MAAlC,CAAyC;AAACpU,QAAAA,SAAS,EAAC,MAAI,CAACkU,aAAL;AAAX,OAAzC;;AAA2E,YAAMz/G,CAAC,GAAC,aAAR;AAAA,YAAsBM,CAAC,GAAC7B,CAAC,CAAC,CAAD,CAAD,EAAM0gH,YAAN,EAAoB1hC,MAA5C;AAAA,YAAmDv9E,CAAC,GAAClC,CAAC,CAAC+gH,GAAF,CAAM9/G,CAAN,EAAQ;AAAC6jH,QAAAA,iBAAiB,EAAC,CAACxiH,CAApB;AAAsBkgH,QAAAA,SAAS,EAACxgH;AAAhC,OAAR,CAArD;AAAiGM,MAAAA,CAAC,IAAEJ,CAAC,CAAC2X,GAAF,CAAM,YAAN,GAAqB8nG,MAArB,CAA4B;AAACniC,QAAAA,IAAI,EAACl9E;AAAN,OAA5B,CAAH;AAAyC,YAAMwG,CAAC,GAAC/I,CAAC,CAACmhH,MAAF,CAASr8G,IAAT,CAAcpD,CAAC,CAACs/G,GAAF,CAAM9/G,CAAN,EAAQ;AAACkZ,QAAAA,IAAI,EAAC5Y,CAAN;AAAQ4iH,QAAAA,KAAK,EAACxiH,CAAd;AAAgByiH,QAAAA,KAAK,EAACtkH,CAAtB;AAAwBukH,QAAAA,WAAW,EAACn5G,CAApC;AAAsCo5G,QAAAA,cAAc,EAACxiH,CAArD;AAAuDu/G,QAAAA,OAAO,EAACn/G;AAA/D,OAAR,CAAd,CAAR;AAAkG4G,MAAAA,CAAC,CAACi8G,OAAF,CAAUpC,QAAV,CAAmBhB,MAAnB,CAA0B;AAACqB,QAAAA,aAAa,EAAC;AAAf,OAA1B,GAA0D,MAAI,CAACtB,sBAAL,CAA4Bx/G,CAA5B,EAA8B,UAA9B,CAA1D,EAAoGb,CAAC,CAAC6/G,MAAF,CAAStzG,MAAT,GAAgB7G,CAAhB,IAAmBhH,CAAC,CAAC0F,GAAF,CAAM,YAAN,EAAmBpF,CAAC,CAAC0gH,GAAF,CAAM9/G,CAAN,EAAQ;AAACujH,QAAAA,WAAW,EAAC;AAAb,OAAR,CAAnB,CAAvH,EAA+K7iH,CAAC,CAACsC,IAAF,CAAO09G,MAAP,CAAclhH,CAAd,CAA/K,EAAgMqI,CAAC,CAAC7E,IAAF,CAAO09G,MAAP,CAAclhH,CAAd,CAAhM,EAAiNqI,CAAC,CAACm6G,MAAF,CAAS,MAAI,CAACzC,0BAAL,EAAT,CAAjN,EAA6PzgH,CAAC,CAACkjH,MAAF,CAAS,MAAI,CAAC1C,oBAAL,EAAT,CAA7P;AAAh2B;AAAmoC;;AAAMiB,EAAAA,cAAc,CAACzhH,CAAD,EAAGE,CAAH,EAAK;AAAA;;AAAA;AAAC,YAAK;AAAC+kH,QAAAA,UAAU,EAACvkH,CAAZ;AAAcwkH,QAAAA,WAAW,EAACjlH;AAA1B,gBAAmC,ugBAAxC;AAAA,YAA4E;AAAC89G,QAAAA,IAAI,EAACz9G,CAAN;AAAQu9G,QAAAA,SAAS,EAACr9G;AAAlB,UAAqBR,CAAjG;AAAA,YAAmG;AAACuD,QAAAA,IAAI,EAACnD;AAAN,UAASI,CAA5G;AAAA,YAA8GG,CAAC,GAACH,CAAC,EAAE4+G,OAAH,IAAY5+G,CAAC,EAAEuC,KAAf,IAAsB,EAAtI;AAAA,YAAyIlC,CAAC,GAACP,CAAC,CAACsoF,SAAF,CAAYu5B,QAAZ,CAAqBr9G,IAArB,CAA0BpE,CAAC,CAACsgH,GAAF,CAAM1gH,CAAN,EAAQ;AAAC2/E,QAAAA,SAAS,EAACt/E,CAAX;AAAayhH,QAAAA,SAAS,EAAC,CAAC,CAAxB;AAA0B+C,QAAAA,IAAI,EAAC,CAAC,CAAhC;AAAkCC,QAAAA,IAAI,EAAC,CAAC;AAAxC,OAAR,CAA1B,CAA3I;AAA0NvkH,MAAAA,CAAC,CAAC6E,GAAF,CAAM,QAAN,EAAezF,CAAC,CAAC+gH,GAAF,CAAM1gH,CAAN,EAAQ,EAAR,CAAf,GAA4B,mBAAiBF,CAAjB,WAA0B,MAAI,CAACkjH,kBAAL,CAAwBziH,CAAxB,EAA0Bb,CAA1B,EAA4BE,CAA5B,CAA1B,CAA5B,EAAqF,gBAAcE,CAAd,WAAuB,MAAI,CAACskH,eAAL,CAAqB7jH,CAArB,EAAuBb,CAAvB,EAAyBE,CAAzB,CAAvB,CAArF,EAAwI,iBAAeE,CAAf,WAAwB,MAAI,CAACykH,gBAAL,CAAsBhkH,CAAtB,EAAwBb,CAAxB,EAA0BE,CAA1B,CAAxB,CAAxI,EAA6LW,CAAC,CAACk9G,IAAF,CAAOoF,GAAP,CAAWC,SAAX,CAAqBn3G,MAArB,CAA4B1J,CAAC,CAAC46G,kBAA9B,EAAiD,CAAC,CAAlD,CAA7L;AAA3N;AAA6c;;AAAAkB,EAAAA,uBAAuB,GAAE;AAAC,UAAK;AAACjB,MAAAA,aAAa,EAACp9G;AAAf,QAAkB,IAAvB;AAA4BA,IAAAA,CAAC,KAAG4f,YAAY,CAAC5f,CAAD,CAAZ,EAAgB,KAAKo9G,aAAL,GAAmB,IAAtC,CAAD;AAA6C;;AAAAiI,EAAAA,yBAAyB,CAACrlH,CAAD,EAAG;AAAC,UAAME,CAAC,GAAC8C,IAAI,CAACC,GAAL,EAAR;AAAmB,SAAKo6G,oBAAL,GAA0B;AAACtd,MAAAA,SAAS,EAAC7/F,CAAX;AAAaiR,MAAAA,SAAS,EAACnR,CAAC,IAAE,KAAKslH,eAAL,CAAqBtlH,CAArB,EAAuBE,CAAvB;AAA1B,KAA1B;AAA+E;;AAAA+9G,EAAAA,uBAAuB,GAAE;AAAC,SAAKI,uBAAL;;AAA+B,UAAK;AAACP,MAAAA,eAAe,EAAC99G;AAAjB,QAAoB,KAAKkwF,SAA9B;AAAwC,gBAAUlwF,CAAC,EAAEuD,IAAb,IAAmBvD,CAAC,EAAE44C,eAAH,GAAmB,CAAtC,IAAyC,KAAK2sE,kBAAL,CAAwBvlH,CAAxB,CAAzC;AAAoE;;AAAAulH,EAAAA,kBAAkB,CAACvlH,CAAD,EAAG;AAAC,UAAK;AAAC44C,MAAAA,eAAe,EAAC14C,CAAjB;AAAmBwN,MAAAA,KAAK,EAAChN;AAAzB,QAA4BV,CAAjC;AAAA,UAAmCC,CAAC,GAAC,MAAIC,CAAzC;;AAA2C,SAAKmlH,yBAAL,CAA+B3kH,CAAC,CAACyQ,SAAjC;;AAA4C,UAAM7Q,CAAC,GAACuwD,WAAW,CAAE,MAAI;AAAC,WAAKw0D,yBAAL,CAA+B3kH,CAAC,CAACyQ,SAAjC;AAA4C,KAAnD,EAAqDlR,CAArD,CAAnB;AAA2E,SAAKm9G,aAAL,GAAmB98G,CAAnB;AAAqB;;AAAAglH,EAAAA,eAAe,CAACtlH,CAAD,EAAGE,CAAH,EAAK;AAAC,UAAMQ,CAAC,GAACV,CAAC,CAAC8xB,QAAF,CAAW,GAAX,IAAgB,GAAhB,GAAoB,GAA5B;AAAA,UAAgC,CAAC7xB,CAAD,EAAGK,CAAC,GAAC,EAAL,IAASN,CAAC,CAACwQ,KAAF,CAAQ,GAAR,CAAzC;AAAsD,WAAO,GAAEvQ,CAAE,GAAES,CAAE,aAAYR,CAAE,GAAEI,CAAC,GAAC,GAAD,GAAK,EAAG,GAAEA,CAAE,EAA5C;AAA8C;;AAA5lY,CAArB;AAAmnYN,uDAAC,CAAC,CAACM,sFAAC,EAAF,CAAD,EAAOkL,CAAC,CAACrD,SAAT,EAAmB,sBAAnB,EAA0C,KAAK,CAA/C,CAAD,EAAmDnI,uDAAC,CAAC,CAACM,sFAAC,EAAF,CAAD,EAAOkL,CAAC,CAACrD,SAAT,EAAmB,YAAnB,EAAgC,IAAhC,CAApD,EAA0FnI,uDAAC,CAAC,CAACM,sFAAC,EAAF,CAAD,EAAOkL,CAAC,CAACrD,SAAT,EAAmB,sBAAnB,EAA0C,IAA1C,CAA3F,EAA2InI,uDAAC,CAAC,CAACM,sFAAC,EAAF,CAAD,EAAOkL,CAAC,CAACrD,SAAT,EAAmB,aAAnB,EAAiC,IAAjC,CAA5I,EAAmLnI,uDAAC,CAAC,CAACM,sFAAC,EAAF,CAAD,EAAOkL,CAAC,CAACrD,SAAT,EAAmB,cAAnB,EAAkC,IAAlC,CAApL,EAA4NnI,uDAAC,CAAC,CAACM,sFAAC,EAAF,CAAD,EAAOkL,CAAC,CAACrD,SAAT,EAAmB,OAAnB,EAA2B,IAA3B,CAA7N,EAA8PnI,uDAAC,CAAC,CAACM,sFAAC,EAAF,CAAD,EAAOkL,CAAC,CAACrD,SAAT,EAAmB,YAAnB,EAAgC,IAAhC,CAA/P,EAAqSnI,uDAAC,CAAC,CAACM,sFAAC,EAAF,CAAD,EAAOkL,CAAC,CAACrD,SAAT,EAAmB,eAAnB,EAAmC,IAAnC,CAAtS,EAA+UnI,uDAAC,CAAC,CAACM,sFAAC,EAAF,CAAD,EAAOkL,CAAC,CAACrD,SAAT,EAAmB,cAAnB,EAAkC,IAAlC,CAAhV,EAAwXnI,uDAAC,CAAC,CAACM,sFAAC,EAAF,CAAD,EAAOkL,CAAC,CAACrD,SAAT,EAAmB,OAAnB,EAA2B,IAA3B,CAAzX,EAA0ZnI,uDAAC,CAAC,CAACM,sFAAC,CAAC;AAACiD,EAAAA,IAAI,EAAC1C,+EAACA;AAAP,CAAD,CAAF,CAAD,EAAe2K,CAAC,CAACrD,SAAjB,EAA2B,WAA3B,EAAuC,KAAK,CAA5C,CAA3Z,EAA0cnI,uDAAC,CAAC,CAACM,sFAAC,EAAF,EAAKgB,oFAAC,CAAC,kCAAD,CAAN,CAAD,EAA6CkK,CAAC,CAACrD,SAA/C,EAAyD,UAAzD,EAAoE,KAAK,CAAzE,CAA3c,EAAuhBqD,CAAC,GAACxL,uDAAC,CAAC,CAACQ,sFAAC,CAAC,mCAAD,CAAF,CAAD,EAA0CgL,CAA1C,CAA1hB;AAAukB,MAAM3J,CAAC,GAAC2J,CAAR;;;;;;;;;;;;;;;;;;;;;;;;;;;ACJlgd;AACA;AACA;AACA;AACg1B,SAAS,mBAAmB,oBAAoB,yDAAC,CAAC,eAAe,yBAAyB,KAAK,oRAAoR,iBAAiB,OAAO,WAAW,sBAAsB,iEAAiE,0BAA0B,oCAAoC,8BAA8B,uCAAuC,kBAAkB,gCAAgC,OAAO,iCAAiC,WAAW,kCAAkC,2BAA2B,MAAM,0BAA0B,gBAAgB,4BAA4B,4BAA4B,MAAM,uBAAuB,YAAY,gCAAgC,oBAAoB,MAAM,qBAAqB,2BAA2B,+BAA+B,gCAAgC,8BAA8B,mBAAmB,mBAAmB,kBAAkB,WAAW,8FAAC,EAAE,2FAA2F,YAAY,8FAAC,EAAE,6FAA6F,YAAY,8FAAC,EAAE,6FAA6F,oBAAoB,mBAAmB,4BAA4B,4CAA4C,6BAA6B,+FAA+F,mBAAmB,4BAA4B,iGAAiG,IAAI,YAAY,UAAU,uDAAC,MAAM,kBAAkB,oCAAoC,sCAAsC,IAAI,sBAAsB,GAAG,MAAM,QAAQ,mEAAC,MAAM,YAAY,8EAAC,EAAE,gDAAgD,EAAE,MAAM,QAAQ,mEAAC,MAAM,UAAU,8EAAC,EAAE,gDAAgD,GAAG,kBAAkB,MAAM,sFAAsF,IAAI,+BAA+B,OAAO,0BAA0B,OAAO,SAAS,4EAAC,2BAA2B,2EAAC,OAAO,8BAA8B,wEAAC,uBAAuB,0BAA0B,mBAAmB,sBAAsB,GAAG,wEAAC,qEAAqE,2EAA2E,IAAI,8BAA8B,+GAA+G,EAAE,iBAAiB,GAAG,yBAAyB,MAAM,2EAA2E,UAAU,qFAAC,sDAAsD,eAAe,MAAM,6BAA6B,GAAG,mBAAmB,MAAM,cAAc,GAAG,eAAe,MAAM,aAAa,GAAG,+BAA+B,8CAA8C,kJAAkJ,GAAG,GAAG,GAAG,qDAAqD,aAAa,4BAA4B,EAAE,yBAAyB,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,mBAAmB,MAAM,+JAA+J,8CAA8C,gCAAgC,OAAO,wEAAC,MAAM,qFAAC,2BAA2B,2EAAC,+EAA+E,2FAAC,EAAE,qDAAqD,EAAE,GAAG,wEAAC,KAAK,oFAAoF,qFAAC,2FAA2F,mCAAmC,4BAA4B,IAAI,QAAQ,sEAAC,QAAQ,2EAAC,8BAA8B,2EAAC,QAAQ,2DAAC,EAAE,YAAY,8CAA8C,mCAAmC,4BAA4B,MAAM,uDAAC,EAAE,sFAAC,oCAAoC,uDAAC,EAAE,8EAAC,iDAAiD,uDAAC,EAAE,sFAAC,+CAA+C,uDAAC,EAAE,sFAAC,EAAE,YAAY,uCAAuC,uDAAC,EAAE,sFAAC,qCAAqC,uDAAC,EAAE,sFAAC,sCAAsC,uDAAC,EAAE,sFAAC,uCAAuC,uDAAC,EAAE,sFAAC,8CAA8C,uDAAC,EAAE,sFAAC,+CAA+C,uDAAC,EAAE,sFAAC,EAAE,YAAY,2CAA2C,uDAAC,EAAE,sFAAC,sCAAsC,uDAAC,EAAE,sFAAC,gCAAgC,uDAAC,EAAE,sFAAC,EAAE,YAAY,+CAA+C,uDAAC,EAAE,sFAAC,qCAAqC,uDAAC,EAAE,sFAAC,wCAAwC,uDAAC,EAAE,sFAAC,uCAAuC,uDAAC,EAAE,sFAAC,kCAAkC,uDAAC,EAAE,sFAAC,gEAAgE,UAA+B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACJhiM;AACA;AACA;AACA;AACA;AAA8C;AAAsB;AAAmD;AAAmD;AAAyE;AAA6E;AAAqE;AAAgC;AAA0B;AAA6E;AAA4B;AAAqE;AAA+C;AAAsE;AAAoD;AAAkD;AAAuE;AAA+C;AAAsD,IAAI5J,CAAJ;AAAM,MAAMC,CAAC,GAAC,cAAR;AAAA,MAAuBI,CAAC,GAAE,GAAEJ,CAAE,eAA9B;AAAA,MAA6CT,CAAC,GAAC;AAAC0K,EAAAA,IAAI,EAAC7J,CAAN;AAAQwjH,EAAAA,aAAa,EAAE,GAAExjH,CAAE,QAA3B;AAAmCyjH,EAAAA,QAAQ,EAAE,GAAEzjH,CAAE,aAAjD;AAA8D0jH,EAAAA,cAAc,EAAE,GAAE1jH,CAAE,qBAAlF;AAAuG2jH,EAAAA,qBAAqB,EAAE,GAAE3jH,CAAE,kBAAlI;AAAoJ4jH,EAAAA,eAAe,EAAE,GAAEhkH,CAAE,oBAAzK;AAA6LikH,EAAAA,sBAAsB,EAAE,GAAEjkH,CAAE,4BAAzN;AAAqPkkH,EAAAA,uBAAuB,EAAE,GAAElkH,CAAE;AAAlR,CAA/C;AAAA,MAAuV0G,CAAC,GAAC;AAACxF,EAAAA,KAAK,EAAC,CAAC,CAAR;AAAUgL,EAAAA,WAAW,EAAC,CAAC;AAAvB,CAAzV;AAAmX,IAAI5L,CAAC,GAACP,CAAC,GAAC,cAAcF,mDAAd,CAAe;AAACe,EAAAA,WAAW,CAACzC,CAAD,EAAGE,CAAH,EAAK;AAAC,UAAMF,CAAN,EAAQE,CAAR,GAAW,KAAKo9G,mBAAL,GAAyB,IAApC,EAAyC,KAAK0I,uCAAL,GAA6C,IAAtF,EAA2F,KAAKC,mCAAL,GAAyC,IAAIC,oBAAJ,CAA0B,CAAC,CAAClmH,CAAD,CAAD,KAAO;AAACA,MAAAA,CAAC,EAAEmmH,cAAH,IAAmB,KAAKC,oBAAL,EAAnB;AAA+C,KAAjF,EAAmF;AAACrI,MAAAA,IAAI,EAAChgG,MAAM,CAACJ;AAAb,KAAnF,CAApI,EAA+O,KAAK0oG,SAAL,GAAe,IAA9P,EAAmQ,KAAKC,QAAL,GAAc,sBAAjR,EAAwS,KAAKC,YAAL,GAAkB,CAA1T,EAA4T,KAAKr2B,SAAL,GAAe,IAAIlvF,6FAAJ,EAA3U,EAAiV,KAAKsI,QAAL,GAAc,IAA/V,EAAoW,KAAKk9G,cAAL,GAAoB,IAAxX,EAA6X,KAAKC,eAAL,GAAqB,EAAC,GAAGl+G;AAAJ,KAAlZ,EAAyZ,KAAK69G,oBAAL,GAA0B,MAAI;AAAC,YAAK;AAACzqB,QAAAA,KAAK,EAAC37F,CAAP;AAAS0mH,QAAAA,cAAc,EAACxmH,CAAxB;AAA0BymH,QAAAA,eAAe,EAACvmH,CAA1C;AAA4CwmH,QAAAA,eAAe,EAAClmH,CAA5D;AAA8DmmH,QAAAA,WAAW,EAAC5mH;AAA1E,UAA6E,KAAKiwF,SAAvF;AAAiG,kBAAUlwF,CAAV,IAAaE,CAAb,IAAgBE,CAAC,CAACyN,MAAF,IAAUnN,CAAC,GAACT,CAA5B,IAA+B,KAAKiwF,SAAL,CAAe22B,WAAf,EAA/B;AAA4D,KAArlB;AAAslB;;AAAAhjH,EAAAA,UAAU,GAAE;AAAC,SAAKy5G,mBAAL,GAAyB,IAAI97G,uEAAJ,EAAzB,EAA+B,KAAKkC,UAAL,CAAgB,CAAChD,6DAAC,CAAE,MAAI,CAAC,KAAKwvF,SAAL,CAAeniF,WAAhB,EAA4B,KAAKmiF,SAAL,CAAentF,KAA3C,EAAiD,KAAKwjH,YAAtD,CAAN,EAA4E,MAAI,KAAKrI,wBAAL,EAAhF,EAAiHj+G,2DAAjH,CAAF,EAAsHS,6DAAC,CAAE,MAAI,CAAC,KAAKwvF,SAAL,CAAeyL,KAAhB,EAAsB,KAAKzL,SAAL,CAAew2B,cAArC,EAAoD,KAAKV,uCAAzD,CAAN,EAA0G,MAAI,KAAKc,mCAAL,EAA9G,CAAvH,EAAkRtmH,0DAAC,CAAE,MAAI,KAAK0vF,SAAL,CAAe62B,wBAArB,EAA+C,QAA/C,EAAyD,MAAI,KAAKC,8BAAL,EAA7D,CAAnR,CAAhB,CAA/B;AAAya;;AAAA7I,EAAAA,gBAAgB,GAAE;AAAC,WAAO78G,mFAAC,CAAC;AAAC88G,MAAAA,IAAI,EAAC,MAAI,oVAAV;AAA6E6I,MAAAA,IAAI,EAAC,MAAI,y/BAAtF;AAAyJ,mBAAY,MAAI,iyBAAzK;AAAiPC,MAAAA,MAAM,EAAC,MAAI,0hBAA5P;AAAiUC,MAAAA,MAAM,EAAC,MAAI;AAA5U,KAAD,CAAR;AAA4Z;;AAAA/iH,EAAAA,OAAO,GAAE;AAAC,SAAKgjH,gCAAL,IAAwC,KAAK9J,mBAAL,GAAyBp9G,4DAAC,CAAC,KAAKo9G,mBAAN,CAAlE;AAA6F;;AAAwB,MAApB+J,oBAAoB,GAAE;AAAC,UAAK;AAACX,MAAAA,cAAc,EAAC1mH,CAAhB;AAAkBsnH,MAAAA,YAAY,EAACpnH,CAA/B;AAAiCqnH,MAAAA,YAAY,EAACnnH,CAA9C;AAAgDu7F,MAAAA,KAAK,EAACj7F;AAAtD,QAAyD,KAAKwvF,SAAnE;AAA6E,WAAM,CAAClwF,CAAD,IAAI,CAAC,CAACE,CAAN,IAAS,YAAUQ,CAAnB,KAAuBR,CAAC,GAACE,CAAF,IAAK,MAAIA,CAAhC,CAAN;AAAyC;;AAAoB,MAAhBonH,gBAAgB,GAAE;AAAC,WAAO,KAAKH,oBAAL,IAA2B,KAAKn3B,SAAL,CAAe62B,wBAAf,CAAwCl5G,MAAxC,GAA+C,CAAjF;AAAmF;;AAAe,MAAXE,WAAW,GAAE;AAAC,WAAO,KAAKmiF,SAAL,CAAeniF,WAAtB;AAAkC;;AAAe,MAAXA,WAAW,CAAC/N,CAAD,EAAG;AAAC,SAAKkwF,SAAL,CAAeniF,WAAf,GAA2B/N,CAA3B;AAA6B;;AAA2B,MAAvBynH,uBAAuB,GAAE;AAAC,UAAK;AAACn+G,MAAAA,QAAQ,EAACtJ;AAAV,QAAa,IAAlB;AAAA,UAAuB;AAACsnH,MAAAA,YAAY,EAACpnH;AAAd,QAAiB,KAAKgwF,SAA7C;AAAuD,WAAOnwF,gEAAC,CAACC,CAAC,EAAE0nH,aAAJ,EAAkB;AAACC,MAAAA,MAAM,EAACznH;AAAR,KAAlB,CAAR;AAAsC;;AAAS,MAAL6C,KAAK,GAAE;AAAC,WAAO,KAAKmtF,SAAL,CAAentF,KAAtB;AAA4B;;AAAS,MAALA,KAAK,CAAC/C,CAAD,EAAG;AAAC,SAAKkwF,SAAL,CAAentF,KAAf,GAAqB/C,CAArB;AAAuB;;AAAA4nH,EAAAA,mBAAmB,CAAC5nH,CAAD,EAAG;AAAC,WAAM,EAAC,GAAGuI,CAAJ;AAAM,SAAGvI;AAAT,KAAN;AAAkB;;AAAA2uG,EAAAA,MAAM,GAAE;AAAC,UAAK;AAAChT,MAAAA,KAAK,EAAC37F;AAAP,QAAU,KAAKkwF,SAApB;AAA8B,WAAOnuF,4DAAC,CAAC,KAAD,EAAO;AAACy8G,MAAAA,KAAK,EAAC,KAAKp4C,OAAL,CAAahlE,CAAC,CAAC0K,IAAf,EAAoBhL,oEAApB;AAAP,KAAP,EAA6C,KAAKw8G,mBAAL,EAA0B3O,MAA1B,EAA7C,EAAgF,cAAY3uG,CAAZ,GAAc,KAAK8nH,cAAL,EAAd,GAAoC,eAAa9nH,CAAb,GAAe,KAAK+nH,2BAAL,EAAf,GAAkD,KAAKC,sBAAL,EAAtK,CAAR;AAA6M;;AAAMC,EAAAA,aAAa,CAACjoH,CAAD,EAAG;AAAA;;AAAA;AAAC,YAAK;AAACqmH,QAAAA,SAAS,EAACnmH,CAAX;AAAagoH,QAAAA,sBAAsB,EAAC9nH;AAApC,UAAuC,KAA5C;AAAiD,UAAG,CAACF,CAAJ,EAAM;AAAOF,MAAAA,CAAC,CAACsgH,SAAF,GAAY;AAAC6H,QAAAA,mBAAmB,EAAC,CAAC;AAAtB,OAAZ;AAAqC,YAAK;AAAC3/G,QAAAA,OAAO,EAAC9H;AAAT,gBAAkB,gHAAvB;AAA+CR,MAAAA,CAAC,CAAC4E,IAAF,CAAO,IAAIpE,CAAJ,CAAM;AAAC2lH,QAAAA,SAAS,EAACnmH,CAAX;AAAaomH,QAAAA,QAAQ,EAAC,KAAI,CAACA,QAA3B;AAAoCp2B,QAAAA,SAAS,EAAClwF,CAA9C;AAAgDymH,QAAAA,eAAe,EAACrmH;AAAhE,OAAN,CAAP;AAAnJ;AAAqO;;AAAAgoH,EAAAA,eAAe,GAAE;AAAC,UAAK;AAAC/B,MAAAA,SAAS,EAACrmH;AAAX,QAAc,IAAnB;AAAwB,QAAG,CAACA,CAAJ,EAAM;AAAO,UAAK;AAACkwF,MAAAA,SAAS,EAAChwF,CAAX;AAAagoH,MAAAA,sBAAsB,EAAC9nH;AAApC,QAAuC,IAA5C;AAAiDF,IAAAA,CAAC,CAACwmH,cAAF,GAAiB,CAAC,CAAlB;AAAoB,UAAMhmH,CAAC,GAAC,IAAIkB,CAAJ,CAAM;AAACykH,MAAAA,SAAS,EAACrmH,CAAX;AAAakoH,MAAAA,sBAAsB,EAAC9nH,CAApC;AAAsCqmH,MAAAA,eAAe,EAAC;AAAC1jH,QAAAA,KAAK,EAAC,CAAC,CAAR;AAAUgL,QAAAA,WAAW,EAAC,CAAC;AAAvB,OAAtD;AAAgFmiF,MAAAA,SAAS,EAAChwF;AAA1F,KAAN,CAAR;AAA4GF,IAAAA,CAAC,CAAC8E,IAAF,CAAOpE,CAAP;AAAU;;AAAA2nH,EAAAA,oBAAoB,GAAE;AAAC,WAAM,eAAa,KAAKn4B,SAAL,CAAeyL,KAA5B,GAAkC55F,4DAAC,CAAC,KAAD,EAAO;AAACy8G,MAAAA,KAAK,EAACp9G,CAAC,CAAC0kH,sBAAT;AAAgCl6G,MAAAA,GAAG,EAAC;AAApC,KAAP,EAA4D,KAAK08G,kBAAL,EAA5D,CAAnC,GAA0H,IAAhI;AAAqI;;AAAAA,EAAAA,kBAAkB,GAAE;AAAC,WAAOvmH,4DAAC,CAAC,gBAAD,EAAkB;AAACwmH,MAAAA,MAAM,EAAC,CAAC,CAAT;AAAW9yF,MAAAA,KAAK,EAAC;AAAjB,KAAlB,CAAR;AAAgD;;AAAAqyF,EAAAA,cAAc,GAAE;AAAC,WAAO/lH,4DAAC,CAAC,KAAD,EAAO;AAACy8G,MAAAA,KAAK,EAACp9G,CAAC,CAAC2kH,uBAAT;AAAiCn6G,MAAAA,GAAG,EAAC;AAArC,KAAP,EAAiE,KAAK08G,kBAAL,EAAjE,CAAR;AAAoG;;AAAAE,EAAAA,sBAAsB,GAAE;AAAC,WAAOzmH,4DAAC,CAAC,cAAD,EAAgB;AAACq8G,MAAAA,IAAI,EAAC,MAAN;AAAa7lG,MAAAA,KAAK,EAAC,GAAnB;AAAuBkwG,MAAAA,IAAI,EAAC;AAA5B,KAAhB,CAAR;AAAoE;;AAAAC,EAAAA,sBAAsB,GAAE;AAAC,UAAM1oH,CAAC,GAACkB,+DAAC,CAAC,KAAK0nF,SAAN,CAAD,GAAkB,cAAlB,GAAiC,eAAzC;AAAyD,WAAO7mF,4DAAC,CAAC,cAAD,EAAgB;AAACq8G,MAAAA,IAAI,EAACp+G,CAAN;AAAQuY,MAAAA,KAAK,EAAC,GAAd;AAAkBkwG,MAAAA,IAAI,EAAC;AAAvB,KAAhB,CAAR;AAA+D;;AAAAE,EAAAA,qBAAqB,CAAC3oH,CAAD,EAAG;AAAC,UAAK;AAAC4oH,MAAAA,wBAAwB,EAAC1oH;AAA1B,QAA6B,KAAKgwF,SAAvC;AAAA,UAAiD9vF,CAAC,GAACJ,CAAC,CAAC+C,KAArD;AAA2D/C,IAAAA,CAAC,CAAC+N,WAAF,GAAc7N,CAAC,IAAEF,CAAC,CAAC6oH,mBAAF,EAAuBC,MAAvB,CAA8B5oH,CAA9B,CAAjB;AAAkD,UAAMQ,CAAC,GAAC,cAAYV,CAAC,CAAC27F,KAAtB;AAA4B,WAAO55F,4DAAC,CAAC,mBAAD,EAAqB;AAACy8G,MAAAA,KAAK,EAAC,KAAKp4C,OAAL,CAAahlE,CAAC,CAACskH,QAAf,EAAwB;AAAC,SAACtkH,CAAC,CAACukH,cAAH,GAAmBjlH;AAApB,OAAxB,CAAP;AAAuDqN,MAAAA,WAAW,EAAC/N,CAAC,CAAC+N,WAAF,IAAe,EAAlF;AAAqFnC,MAAAA,GAAG,EAAC5L,CAAC,CAACw1C,GAA3F;AAA+F/f,MAAAA,KAAK,EAACr1B,CAArG;AAAuG2oH,MAAAA,uBAAuB,EAAC,MAAI,KAAKd,aAAL,CAAmBjoH,CAAnB;AAAnI,KAArB,EAA+K,KAAK0oH,sBAAL,EAA/K,CAAR;AAAsN;;AAAAM,EAAAA,sBAAsB,GAAE;AAAC,WAAO,KAAK3B,oBAAL,GAA0BtlH,4DAAC,CAAC,mBAAD,EAAqB;AAACgM,MAAAA,WAAW,EAAC,KAAK05G,uBAAlB;AAA0C77G,MAAAA,GAAG,EAAC,eAA9C;AAA8D6pB,MAAAA,KAAK,EAAC,KAAKnsB,QAAL,EAAe2/G,OAAnF;AAA2FF,MAAAA,uBAAuB,EAAC,MAAI,KAAKX,eAAL;AAAvH,KAArB,EAAoK,KAAKI,sBAAL,EAApK,CAA3B,GAA8N,IAArO;AAA0O;;AAAAU,EAAAA,+BAA+B,GAAE;AAAC,WAAOnnH,4DAAC,CAAC,gBAAD,EAAkB;AAACq8G,MAAAA,IAAI,EAAC,aAAN;AAAoBxyG,MAAAA,GAAG,EAAC,6BAAxB;AAAsDu9G,MAAAA,IAAI,EAAC,OAA3D;AAAmEx4F,MAAAA,IAAI,EAAC,CAAC,CAAzE;AAA2EpY,MAAAA,KAAK,EAAC,GAAjF;AAAqFU,MAAAA,KAAK,EAAC;AAA3F,KAAlB,EAAqHlX,4DAAC,CAAC,KAAD,EAAO;AAAC0mH,MAAAA,IAAI,EAAC;AAAN,KAAP,EAAwB,KAAKn/G,QAAL,EAAe8/G,iBAAvC,CAAtH,CAAR;AAAyL;;AAAAC,EAAAA,sBAAsB,GAAE;AAAC,WAAOtnH,4DAAC,CAAC,KAAD,EAAO;AAACw9G,MAAAA,WAAW,EAAC,KAAK+J,0CAAlB;AAA6D74F,MAAAA,IAAI,EAAC,IAAlE;AAAuE+tF,MAAAA,KAAK,EAACp9G,CAAC,CAACykH,eAA/E;AAA+Fj6G,MAAAA,GAAG,EAAC;AAAnG,KAAP,CAAR;AAAuI;;AAAA29G,EAAAA,WAAW,GAAE;AAAC,UAAK;AAACxC,MAAAA,wBAAwB,EAAC/mH;AAA1B,QAA6B,KAAKkwF,SAAvC;AAAiD,WAAOnuF,4DAAC,CAAC,cAAD,EAAgB,IAAhB,EAAqB/B,CAAC,CAACqE,OAAF,GAAYkB,GAAZ,CAAiBvF,CAAC,IAAE,KAAK2oH,qBAAL,CAA2B3oH,CAA3B,CAApB,CAArB,EAAyE,KAAKgpH,sBAAL,EAAzE,CAAR;AAAgH;;AAAAhB,EAAAA,sBAAsB,GAAE;AAAC,UAAK;AAACR,MAAAA,gBAAgB,EAACxnH;AAAlB,QAAqB,IAA1B;AAAA,UAA+B;AAAC27F,MAAAA,KAAK,EAACz7F;AAAP,QAAU,KAAKgwF,SAA9C;AAAwD,WAAOnuF,4DAAC,CAAC,KAAD,EAAO;AAACy8G,MAAAA,KAAK,EAAC,KAAKp4C,OAAL,CAAahlE,CAAC,CAACqkH,aAAf,EAA6B;AAAC,SAACrkH,CAAC,CAACwkH,qBAAH,GAA0B,eAAa1lH;AAAxC,OAA7B,CAAP;AAAgF0L,MAAAA,GAAG,EAAC;AAApF,KAAP,EAA6G5L,CAAC,GAAC,KAAKupH,WAAL,EAAD,GAAoB,YAAUrpH,CAAV,GAAY,KAAKgpH,+BAAL,EAAZ,GAAmD,IAArL,EAA0L,KAAKb,oBAAL,EAA1L,EAAsN,KAAKgB,sBAAL,EAAtN,CAAR;AAA6P;;AAAAtB,EAAAA,2BAA2B,GAAE;AAAC,WAAOhmH,4DAAC,CAAC,gBAAD,EAAkB;AAACq8G,MAAAA,IAAI,EAAC,2BAAN;AAAkCxyG,MAAAA,GAAG,EAAC,wBAAtC;AAA+Du9G,MAAAA,IAAI,EAAC,QAApE;AAA6Ex4F,MAAAA,IAAI,EAAC,CAAC,CAAnF;AAAqFpY,MAAAA,KAAK,EAAC,GAA3F;AAA+FU,MAAAA,KAAK,EAAC;AAArG,KAAlB,EAA+HlX,4DAAC,CAAC,KAAD,EAAO;AAAC0mH,MAAAA,IAAI,EAAC;AAAN,KAAP,EAAwB,KAAKn/G,QAAL,EAAekgH,oBAAvC,CAAhI,CAAR;AAAsM;;AAAAxC,EAAAA,8BAA8B,GAAE;AAAC,UAAK;AAACD,MAAAA,wBAAwB,EAAC/mH;AAA1B,QAA6B,KAAKkwF,SAAvC;AAAA,UAAiDhwF,CAAC,GAAC,4BAAnD;AAAgF,SAAKsd,aAAL,CAAmBtd,CAAnB,GAAsBF,CAAC,EAAE2E,OAAH,CAAY3E,CAAC,IAAE;AAAC,WAAK0D,UAAL,CAAgBhD,6DAAC,CAAE,MAAI,CAACV,CAAC,CAAC+C,KAAH,EAAS/C,CAAC,CAAC27F,KAAX,CAAN,EAA0B,MAAI,KAAK8tB,cAAL,EAA9B,EAAqDxpH,2DAArD,CAAjB,EAAyEC,CAAzE;AAA4E,KAA5F,CAAtB,EAAqH,KAAKupH,cAAL,EAArH;AAA2I;;AAAAvL,EAAAA,wBAAwB,GAAE;AAAC,UAAK;AAACqI,MAAAA,YAAY,EAACvmH,CAAd;AAAgBymH,MAAAA,eAAe,EAACvmH;AAAhC,QAAmC,IAAxC;AAAA,UAA6CE,CAAC,GAACF,CAAC,CAAC6N,WAAF,IAAe,KAAKA,WAAnE;AAAA,UAA+ErN,CAAC,GAACR,CAAC,CAAC6C,KAAF,IAAS,KAAKA,KAA/F;AAAqG,SAAKu6G,mBAAL,EAA0B53G,GAA1B,CAA8B;AAACqI,MAAAA,WAAW,EAAC3N,CAAb;AAAe2C,MAAAA,KAAK,EAACrC,CAArB;AAAuB6lH,MAAAA,YAAY,EAACvmH;AAApC,KAA9B;AAAsE;;AAAM8mH,EAAAA,mCAAmC,GAAE;AAAA;;AAAA;AAAC,YAAI,CAACM,gCAAL;;AAAwC,YAAK;AAACzrB,QAAAA,KAAK,EAAC37F,CAAP;AAAS0mH,QAAAA,cAAc,EAACxmH;AAAxB,UAA2B,MAAI,CAACgwF,SAArC;AAA+C,YAAM9vF,4DAAC,CAAC,CAAD,CAAP,EAAW,MAAI,CAAC4lH,uCAAL,IAA8C,YAAUhmH,CAAxD,IAA2DE,CAA3D,IAA8D,MAAI,CAAC+lH,mCAAL,CAAyCyD,OAAzC,CAAiD,MAAI,CAAC1D,uCAAtD,CAAzE;AAAxF;AAAgQ;;AAAAsD,EAAAA,0CAA0C,CAACtpH,CAAD,EAAG;AAAC,SAAKgmH,uCAAL,GAA6ChmH,CAA7C;AAA+C;;AAAAonH,EAAAA,gCAAgC,GAAE;AAAC,SAAKpB,uCAAL,IAA8C,KAAKC,mCAAL,CAAyC0D,SAAzC,CAAmD,KAAK3D,uCAAxD,CAA9C;AAA+I;;AAA3nM,CAAvB;AAAopMhmH,uDAAC,CAAC,CAACW,sFAAC,EAAF,CAAD,EAAOwB,CAAC,CAACgG,SAAT,EAAmB,yCAAnB,EAA6D,KAAK,CAAlE,CAAD,EAAsEnI,uDAAC,CAAC,CAACW,sFAAC,CAAC;AAAC0H,EAAAA,QAAQ,EAAC,CAAC;AAAX,CAAD,CAAF,CAAD,EAAoBlG,CAAC,CAACgG,SAAtB,EAAgC,sBAAhC,EAAuD,IAAvD,CAAvE,EAAoInI,uDAAC,CAAC,CAACW,sFAAC,CAAC;AAAC0H,EAAAA,QAAQ,EAAC,CAAC;AAAX,CAAD,CAAF,CAAD,EAAoBlG,CAAC,CAACgG,SAAtB,EAAgC,kBAAhC,EAAmD,IAAnD,CAArI,EAA8LnI,uDAAC,CAAC,CAACW,sFAAC,EAAF,CAAD,EAAOwB,CAAC,CAACgG,SAAT,EAAmB,aAAnB,EAAiC,IAAjC,CAA/L,EAAsOnI,uDAAC,CAAC,CAACW,sFAAC,CAAC;AAAC0H,EAAAA,QAAQ,EAAC,CAAC;AAAX,CAAD,CAAF,CAAD,EAAoBlG,CAAC,CAACgG,SAAtB,EAAgC,yBAAhC,EAA0D,IAA1D,CAAvO,EAAuSnI,uDAAC,CAAC,CAACW,sFAAC,EAAF,CAAD,EAAOwB,CAAC,CAACgG,SAAT,EAAmB,wBAAnB,EAA4C,KAAK,CAAjD,CAAxS,EAA4VnI,uDAAC,CAAC,CAACW,sFAAC,EAAF,CAAD,EAAOwB,CAAC,CAACgG,SAAT,EAAmB,WAAnB,EAA+B,KAAK,CAApC,CAA7V,EAAoYnI,uDAAC,CAAC,CAACW,sFAAC,EAAF,CAAD,EAAOwB,CAAC,CAACgG,SAAT,EAAmB,UAAnB,EAA8B,KAAK,CAAnC,CAArY,EAA2anI,uDAAC,CAAC,CAACW,sFAAC,EAAF,CAAD,EAAOwB,CAAC,CAACgG,SAAT,EAAmB,cAAnB,EAAkC,KAAK,CAAvC,CAA5a,EAAsdnI,uDAAC,CAAC,CAACW,sFAAC,EAAF,CAAD,EAAOwB,CAAC,CAACgG,SAAT,EAAmB,OAAnB,EAA2B,IAA3B,CAAvd,EAAwfnI,uDAAC,CAAC,CAACW,sFAAC,CAAC;AAAC4C,EAAAA,IAAI,EAACvC,6FAACA;AAAP,CAAD,CAAF,CAAD,EAAemB,CAAC,CAACgG,SAAjB,EAA2B,WAA3B,EAAuC,KAAK,CAA5C,CAAzf,EAAwiBnI,uDAAC,CAAC,CAACW,sFAAC,EAAF,EAAK4B,oFAAC,CAAC,kCAAD,CAAN,CAAD,EAA6CJ,CAAC,CAACgG,SAA/C,EAAyD,UAAzD,EAAoE,KAAK,CAAzE,CAAziB,EAAqnBnI,uDAAC,CAAC,CAACW,sFAAC,EAAF,EAAK4B,oFAAC,CAAC,iBAAD,CAAN,CAAD,EAA4BJ,CAAC,CAACgG,SAA9B,EAAwC,gBAAxC,EAAyD,KAAK,CAA9D,CAAtnB,EAAurBnI,uDAAC,CAAC,CAACW,sFAAC,EAAF,CAAD,EAAOwB,CAAC,CAACgG,SAAT,EAAmB,iBAAnB,EAAqC,KAAK,CAA1C,CAAxrB,EAAquBnI,uDAAC,CAAC,CAACa,8EAAC,CAAC,iBAAD,CAAF,CAAD,EAAwBsB,CAAC,CAACgG,SAA1B,EAAoC,qBAApC,EAA0D,IAA1D,CAAtuB,EAAsyBhG,CAAC,GAACP,CAAC,GAAC5B,uDAAC,CAAC,CAACM,uFAAC,CAAC,0CAAD,CAAF,CAAD,EAAiD6B,CAAjD,CAA3yB;AAA+1B,MAAM6E,CAAC,GAAC7E,CAAR;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACJh2Q;AACA;AACA;AACA;AACA;AAAiD;AAAmC;AAAyC;AAAqD;AAA0D;AAA2C;AAAkE;AAAgF;AAAoE;AAAgF;AAA6B;AAAgC;AAAgF;AAA0D;AAAqF;AAAgF,MAAMF,CAAC,GAAC,GAAR;;AAAY,IAAIlC,CAAC,GAAC,cAAcc,gEAAC,CAACP,wEAAC,CAACL,yDAAD,CAAF,CAAf,CAAsB;AAACwC,EAAAA,WAAW,CAACzC,CAAD,EAAG;AAAA;;AAAC,WAAMA,CAAN,kBAAS,KAAK+pH,OAAL,GAAa,CAAC,CAAvB,EAAyB,KAAKC,qBAAL,GAA2B,IAApD,EAAyD,KAAKC,yBAAL,GAA+B,IAAxF,EAA6F,KAAKC,iCAAL,GAAuC,IAApI,EAAyI,KAAKtD,eAAL,GAAqB,EAA9J,EAAiK,KAAK74G,WAAL,GAAiB,IAAlL,EAAuL,KAAKi6E,OAAL,GAAa,IAApM,EAAyM,KAAKx+E,KAAL,GAAW,IAApN,EAAyN,KAAKjE,GAAL,GAAS,IAAlO,EAAuO,KAAKuK,aAAL,GAAmB,IAA1P,EAA+P,KAAKw3G,YAAL,GAAkB,CAAjR,EAAmR,KAAKt3G,cAAL,GAAoB,IAAvS,EAA4S,KAAK02G,cAAL,GAAoB,CAAC,CAAjU,EAAmU,KAAK3jH,KAAL,GAAW,IAA9U,EAAmV,KAAKq4G,YAAL,GAAkB,MAAI;AAAC,YAAK;AAAC4O,QAAAA,qBAAqB,EAAChqH;AAAvB,UAA0B,IAA/B;AAAoCA,MAAAA,CAAC,IAAEA,CAAC,CAACmc,KAAF,EAAH,EAAa,KAAK6tG,qBAAL,GAA2B,IAAxC;AAA6C,KAA3b,EAA4b,KAAKG,wBAAL,GAA8B,MAAI;AAAC,YAAK;AAACD,QAAAA,iCAAiC,EAAClqH;AAAnC,UAAsC,IAA3C;AAAgDA,MAAAA,CAAC,IAAEA,CAAC,CAACmc,KAAF,EAAH,EAAa,KAAK+tG,iCAAL,GAAuC,IAApD;AAAyD,KAAxkB,EAAykB,KAAKE,gBAAL,GAAsB,MAAI;AAAC,YAAK;AAACH,QAAAA,yBAAyB,EAACjqH;AAA3B,UAA8B,IAAnC;AAAwCA,MAAAA,CAAC,IAAEA,CAAC,CAACmc,KAAF,EAAH,EAAa,KAAK8tG,yBAAL,GAA+B,IAA5C;AAAiD,KAA7rB,EAA8rB,KAAKI,gBAAL,kNAAsB,aAAS;AAAC,WAAI,CAACjP,YAAL;;AAAoB,YAAMp7G,CAAC,GAAC,IAAIqc,eAAJ,EAAR;AAA4B,WAAI,CAAC2tG,qBAAL,GAA2BhqH,CAA3B,QAAmCU,wEAAC,CAAC,KAAI,CAAC4pH,MAAL,EAAD,CAApC,EAAoD,KAAI,CAACN,qBAAL,KAA6BhqH,CAA7B,KAAiC,KAAI,CAACgqH,qBAAL,GAA2B,IAA5D,CAApD;AAAsH,KAAtM,CAA9rB,EAAq4B,KAAKO,4BAAL,kNAAkC,aAAS;AAAC,WAAI,CAACR,OAAL,GAAa,CAAC,CAAd,EAAgB,KAAI,CAACI,wBAAL,EAAhB;AAAgD,YAAMnqH,CAAC,GAAC,IAAIqc,eAAJ,EAAR;AAA4B,WAAI,CAAC6tG,iCAAL,GAAuClqH,CAAvC,QAA+CU,wEAAC,CAAC,KAAI,CAAC8pH,kBAAL,EAAD,CAAhD,EAA4E,KAAI,CAACN,iCAAL,KAAyClqH,CAAzC,KAA6C,KAAI,CAACkqH,iCAAL,GAAuC,IAApF,CAA5E,EAAsK,KAAI,CAACH,OAAL,GAAa,CAAC,CAApL;AAAsL,KAA9S,CAAr4B,EAAorC,KAAKU,oBAAL,kNAA0B,aAAS;AAAC,YAAMzqH,CAAC,GAAC,IAAIqc,eAAJ,EAAR;AAA4B,WAAI,CAAC4tG,yBAAL,GAA+BjqH,CAA/B,QAAuCU,wEAAC,CAAC,KAAI,CAACgqH,UAAL,EAAD,CAAxC,EAA4D,KAAI,CAACT,yBAAL,KAAiCjqH,CAAjC,KAAqC,KAAI,CAACiqH,yBAAL,GAA+B,IAApE,CAA5D;AAAsI,KAAtM,CAAprC,EAA23C,KAAKU,eAAL,GAAqBhqH,+DAAC,CAAC,KAAK0pH,gBAAN,EAAuBpoH,CAAvB,CAAj5C,EAA26C,KAAK2oH,2BAAL,GAAiCjqH,+DAAC,CAAC,KAAK4pH,4BAAN,EAAmCtoH,CAAnC,CAA78C,EAAm/C,KAAK4oH,mBAAL,GAAyBlqH,+DAAC,CAAC,KAAK8pH,oBAAN,EAA2BxoH,CAA3B,CAA7gD,EAA2iD,KAAKqoH,MAAL,kNAAY,aAAS;AAAC,YAAK;AAACN,QAAAA,qBAAqB,EAAChqH,CAAvB;AAAyB2mH,QAAAA,eAAe,EAACzmH;AAAzC,UAA4C,KAAjD;AAAsD,WAAI,CAAConH,YAAL,KAAoB,KAAI,CAACwD,gCAAL,IAAwC,KAAI,CAACjE,WAAL,GAAiB,CAAzD,EAA2D3mH,CAAC,CAAC8yG,UAAF,EAA3D,EAA0E,KAAI,CAAC36D,SAAL,IAAgBn4C,CAAC,CAAC6hB,OAAF,CAAU,KAAI,CAACgpG,cAAL,OAA0B,KAAI,CAACC,qBAAL,CAA2B;AAACtjH,QAAAA,MAAM,EAAC1H,CAAC,EAAE0H;AAAX,OAA3B,CAA1B,CAAV,CAA9G;AAAoM,KAAhR,CAA3iD,EAA4zD,KAAKhE,UAAL,CAAgB,CAAClC,6DAAC,CAAE,MAAI,CAAC,KAAK+lH,YAAN,EAAmB,KAAKv/B,OAAxB,EAAgC,KAAKx+E,KAArC,EAA2C,KAAKA,KAAL,EAAYhE,MAAvD,EAA8D,KAAKD,GAAnE,EAAuE,KAAKuK,aAA5E,EAA0F,KAAKE,cAA/F,EAA8G,KAAK42G,eAAnH,EAAmI,KAAKF,cAAxI,EAAuJ,KAAKuE,QAA5J,EAAqK,KAAK3D,YAA1K,CAAN,EAAgM,MAAI,KAAKqD,eAAL,EAApM,EAA4NjpH,2DAA5N,CAAF,EAAiOF,6DAAC,CAAE,MAAI,CAAC,KAAKqlH,WAAN,EAAkB,KAAKH,cAAvB,CAAN,EAA+C,MAAI,KAAKmE,mBAAL,EAAnD,CAAlO,EAAkTrpH,6DAAC,CAAE,MAAI,CAAC,KAAKgI,KAAN,EAAY,KAAKwG,cAAjB,EAAgC,KAAK4jC,QAArC,EAA8C,KAAKq3E,QAAnD,CAAN,EAAqE,MAAI,KAAKL,2BAAL,EAAzE,CAAnT,CAAhB,CAA5zD;AAA+uE;;AAAAxmH,EAAAA,OAAO,GAAE;AAAC,SAAK0mH,gCAAL,IAAwC,KAAKnE,eAAL,CAAqB3T,UAArB,EAAxC,EAA0E,KAAKoI,YAAL,EAA1E,EAA8F,KAAK+O,wBAAL,EAA9F,EAA8H,KAAKC,gBAAL,EAA9H;AAAsJ;;AAAe,MAAXvD,WAAW,CAAC7mH,CAAD,EAAG;AAAC,UAAK;AAAC4mH,MAAAA,eAAe,EAAC1mH,CAAjB;AAAmBonH,MAAAA,YAAY,EAACrnH;AAAhC,QAAmC,IAAxC;AAAA,UAA6CO,CAAC,GAAC,CAA/C;AAAA,UAAiDK,CAAC,GAACijB,IAAI,CAACiZ,IAAL,CAAU98B,CAAC,GAACC,CAAZ,KAAgB,CAAnE;;AAAqE,SAAKqE,IAAL,CAAU,aAAV,EAAwBuf,IAAI,CAAC5Z,GAAL,CAAS4Z,IAAI,CAAC3Z,GAAL,CAASnK,CAAT,EAAWQ,CAAX,CAAT,EAAuBK,CAAvB,CAAxB;AAAmD;;AAAe,MAAXgmH,WAAW,GAAE;AAAC,WAAO,KAAKriH,IAAL,CAAU,aAAV,CAAP;AAAgC;;AAA4B,MAAxB0mH,wBAAwB,GAAE;AAAC,UAAK;AAACp7G,MAAAA,aAAa,EAAC9P,CAAf;AAAiBmrH,MAAAA,YAAY,EAACjrH;AAA9B,QAAiC,IAAtC;AAA2C,WAAOF,CAAC,IAAEE,CAAC,EAAEsF,MAAN,GAAaxF,CAAC,CAACuF,GAAF,CAAOvF,CAAC,IAAE;AAAC,YAAMC,CAAC,GAACD,CAAC,CAACS,KAAF,EAAR;AAAkB,aAAOR,CAAC,CAACmQ,KAAF,GAAQpP,4EAAC,CAAChB,CAAC,CAACoQ,KAAH,EAASlQ,CAAT,CAAT,EAAqBD,CAA5B;AAA8B,KAA3D,CAAb,GAA2ED,CAAC,IAAE,EAArF;AAAwF;;AAAqB,MAAjBorH,iBAAiB,GAAE;AAAC,WAAM,CAAC,CAAC,KAAK5hH,KAAL,EAAYujC,YAAZ,EAA0Bs+E,YAA1B,EAAwCD,iBAAhD;AAAkE;;AAAW,MAAPE,OAAO,GAAE;AAAC,WAAM,CAAC,CAAC,KAAK/lH,GAAP,IAAY,QAAM,KAAKyK,cAAvB,IAAuC,YAAU,OAAO,KAAK4jC,QAAnE;AAA4E;;AAAY,MAARq3E,QAAQ,GAAE;AAAC,UAAMjrH,CAAC,GAAC,KAAKwJ,KAAL,EAAYujC,YAAZ,EAA0Bs+E,YAAlC;AAA+C,WAAM,CAAC,EAAE,KAAKF,YAAL,IAAmB,KAAK1+G,YAAxB,IAAsC,QAAM,KAAKuD,cAAjD,IAAiE,QAAM,KAAK4jC,QAA5E,IAAsF5zC,CAAC,EAAEurH,aAAzF,IAAwGvrH,CAAC,EAAEm9C,kBAA7G,CAAP;AAAwI;;AAA4B,MAAxByrE,wBAAwB,GAAE;AAAC,WAAO,KAAKsC,wBAAL,CAA8B,CAA9B,GAAkC96G,KAAlC,IAAyC,IAAhD;AAAqD;;AAAgB,MAAZm3G,YAAY,CAACvnH,CAAD,EAAG;AAAC,UAAME,CAAC,GAAC,CAAR;AAAA,UAAUD,CAAC,GAAC,EAAZ;;AAAe,SAAKsE,IAAL,CAAU,cAAV,EAAyBuf,IAAI,CAAC5Z,GAAL,CAAS4Z,IAAI,CAAC3Z,GAAL,CAASnK,CAAT,EAAWE,CAAX,CAAT,EAAuBD,CAAvB,CAAzB;AAAoD;;AAAgB,MAAZsnH,YAAY,GAAE;AAAC,WAAO,KAAK/iH,IAAL,CAAU,cAAV,CAAP;AAAiC;;AAAY,MAARovC,QAAQ,GAAE;AAAC,WAAM,CAAC,KAAKxI,aAAL,IAAoB,KAAK48C,OAAL,EAAcz2C,UAAd,GAA2B,KAAKnG,aAAhC,CAArB,KAAsE,IAA5E;AAAiF;;AAAiB,MAAbA,aAAa,GAAE;AAAC,WAAO,KAAK5hC,KAAL,EAAY4hC,aAAZ,IAA2B,IAAlC;AAAuC;;AAAmB,MAAfu7E,eAAe,GAAE;AAAC,WAAO,KAAKniH,IAAL,CAAU,iBAAV,KAA8B,IAAIpE,2DAAJ,EAArC;AAA2C;;AAAgB,MAAZ+qH,YAAY,GAAE;AAAC,UAAK;AAAC3hH,MAAAA,KAAK,EAACxJ,CAAP;AAASuF,MAAAA,GAAG,EAACrF,CAAb;AAAeuM,MAAAA,YAAY,EAACxM;AAA5B,QAA+B,IAApC;AAAyC,WAAOD,CAAC,EAAEwF,MAAH,IAAWtF,CAAX,IAAcD,CAAd,GAAgB8I,2EAAC,CAAC7I,CAAD,EAAGF,CAAH,EAAKC,CAAL,CAAD,IAAU,IAA1B,GAA+B,IAAtC;AAA2C;;AAAgB,MAAZwM,YAAY,GAAE;AAAC,UAAK;AAACuD,MAAAA,cAAc,EAAChQ,CAAhB;AAAkBwJ,MAAAA,KAAK,EAACtJ;AAAxB,QAA2B,IAAhC;AAAqC,WAAO,QAAMF,CAAN,GAAQE,CAAC,EAAEq1B,aAAH,EAAkB7lB,IAAlB,CAAwB,CAAC;AAAChN,MAAAA,EAAE,EAACxC;AAAJ,KAAD,KAAUA,CAAC,KAAGF,CAAtC,KAA2C,IAAnD,GAAwD,IAA/D;AAAoE;;AAA4B,MAAxB+mH,wBAAwB,GAAE;AAAC,WAAO,KAAKviH,IAAL,CAAU,0BAAV,KAAuC,IAAIpE,2DAAJ,EAA9C;AAAoD;;AAAS,MAALu7F,KAAK,GAAE;AAAC,UAAK;AAACquB,MAAAA,qBAAqB,EAAChqH,CAAvB;AAAyBkqH,MAAAA,iCAAiC,EAAChqH,CAA3D;AAA6D+pH,MAAAA,yBAAyB,EAAChqH,CAAvF;AAAyFgrH,MAAAA,QAAQ,EAACzqH,CAAlG;AAAoGupH,MAAAA,OAAO,EAAClpH,CAA5G;AAA8GyqH,MAAAA,OAAO,EAAClrH;AAAtH,QAAyH,IAA9H;AAAmI,WAAOF,CAAC,IAAEE,CAAC,IAAE,CAACS,CAAP,GAAS,SAAT,GAAmBb,CAAC,IAAEC,CAAH,GAAK,UAAL,GAAgBO,CAAC,GAAC,OAAD,GAAS,UAApD;AAA+D;;AAAAgrH,EAAAA,2BAA2B,CAACxrH,CAAD,EAAG;AAAC,WAAO,KAAK2mH,eAAL,CAAqBj3G,IAArB,CAA2BxP,CAAC,IAAEA,CAAC,CAACioF,WAAF,OAAkBnoF,CAAhD,CAAP;AAA2D;;AAAAw4C,EAAAA,OAAO,GAAE;AAAC,SAAKoyE,2BAAL;AAAmC;;AAAAE,EAAAA,gCAAgC,GAAE;AAAC,SAAK/D,wBAAL,EAA+B/T,UAA/B;AAA4C;;AAAMwX,EAAAA,kBAAkB,GAAE;AAAA;;AAAA;AAAC,YAAK;AAAChhH,QAAAA,KAAK,EAACxJ,CAAP;AAASmrH,QAAAA,YAAY,EAACjrH,CAAtB;AAAwB8P,QAAAA,cAAc,EAAC/P,CAAvC;AAAyC2zC,QAAAA,QAAQ,EAACpzC,CAAlD;AAAoD0pH,QAAAA,iCAAiC,EAACrpH,CAAtF;AAAwFoqH,QAAAA,QAAQ,EAAC7qH,CAAjG;AAAmGgrH,QAAAA,iBAAiB,EAAC9qH;AAArH,UAAwH,MAA7H;AAAkI,UAAG,MAAMN,CAAC,EAAEkF,IAAH,EAAN,QAAuBhF,CAAC,EAAEgF,IAAH,EAAvB,EAAkC,CAAC9E,CAAD,IAAI,CAACJ,CAAL,IAAQ,CAACE,CAAT,IAAY,QAAMM,CAAvD,EAAyD,OAAO,KAAK,MAAI,CAAC+D,IAAL,CAAU,cAAV,EAAyB,CAAzB,CAAZ;AAAwC,YAAM7D,CAAC,GAACR,CAAC,CAACumC,WAAF,EAAR;AAAA,YAAwB;AAACkU,QAAAA,cAAc,EAACh6C,CAAhB;AAAkBi6C,QAAAA,UAAU,EAACp5C;AAA7B,UAAgCxB,CAAxD;AAAA,YAA0D0B,CAAC,GAAC,IAAIZ,2EAAJ,CAAM;AAACm7C,QAAAA,SAAS,EAAC37C,CAAX;AAAas6C,QAAAA,UAAU,EAACp5C,CAAxB;AAA0Bm5C,QAAAA,cAAc,EAACh6C,CAAzC;AAA2CqP,QAAAA,cAAc,EAAC/P,CAA1D;AAA4DsN,QAAAA,cAAc,EAAC,CAAC,CAA5E;AAA8E+sC,QAAAA,SAAS,EAAC,CAAC95C,CAAD,CAAxF;AAA4F+uC,QAAAA,KAAK,EAAC7uC,CAAC,CAAC6uC,KAAF,IAAS,KAAK;AAAhH,OAAN,CAA5D;AAAA,YAAsLjuC,CAAC,SAAOtB,CAAC,CAACgoC,yBAAF,CAA4BtmC,CAA5B,EAA8B;AAACgG,QAAAA,MAAM,EAAC7G,CAAC,EAAE6G;AAAX,OAA9B,CAA9L;;AAAgP,YAAI,CAACnD,IAAL,CAAU,cAAV,EAAyBjD,CAAC,CAACd,CAAD,CAAD,IAAM,CAA/B;AAApd;AAAsf;;AAAAuqH,EAAAA,cAAc,CAAC/qH,CAAD,EAAG;AAAC,UAAK;AAAC0mH,MAAAA,cAAc,EAACxmH,CAAhB;AAAkBqnH,MAAAA,YAAY,EAACtnH;AAA/B,QAAkC,IAAvC;AAA4C,WAAOC,CAAC,GAACF,CAAD,GAAGC,CAAC,GAACD,CAAC,CAAC8J,KAAF,CAAQ,CAAR,EAAU7J,CAAV,CAAD,GAAc,EAA1B;AAA6B;;AAAMyqH,EAAAA,UAAU,GAAE;AAAA;;AAAA;AAAC,YAAK;AAAC/D,QAAAA,eAAe,EAAC3mH,CAAjB;AAAmB6mH,QAAAA,WAAW,EAAC3mH,CAA/B;AAAiCwmH,QAAAA,cAAc,EAACzmH,CAAhD;AAAkDgqH,QAAAA,yBAAyB,EAACzpH,CAA5E;AAA8E8mH,QAAAA,YAAY,EAACzmH;AAA3F,UAA8F,MAAnG;AAAwG,OAACZ,CAAD,IAAIC,CAAC,GAAC,CAAN,IAAS,CAACW,CAAV,IAAab,CAAC,CAAC+hB,OAAF,OAAgB,MAAI,CAACipG,qBAAL,CAA2B;AAACtjH,QAAAA,MAAM,EAAClH,CAAC,EAAEkH;AAAX,OAA3B,CAAhB,CAAb;AAAzG;AAAsL;;AAAMsjH,EAAAA,qBAAqB,CAAChrH,CAAD,EAAG;AAAA;;AAAA;AAAC,YAAK;AAACkrH,QAAAA,wBAAwB,EAAChrH,CAA1B;AAA4BwmH,QAAAA,cAAc,EAACzmH,CAA3C;AAA6C2mH,QAAAA,eAAe,EAAC/lH,CAA7D;AAA+D0mH,QAAAA,YAAY,EAACnnH,CAA5E;AAA8EoJ,QAAAA,KAAK,EAAClJ,CAApF;AAAsF0P,QAAAA,cAAc,EAACtP,CAArG;AAAuGmmH,QAAAA,WAAW,EAAClmH,CAAnH;AAAqH2mH,QAAAA,YAAY,EAAC9lH,CAAlI;AAAoI2pH,QAAAA,YAAY,EAACzpH,CAAjJ;AAAmJ0pH,QAAAA,iBAAiB,EAAC9pH;AAArK,UAAwK,MAA7K;AAAA,YAAkL;AAAC2pH,QAAAA,QAAQ,EAAC7pH,CAAV;AAAYwyC,QAAAA,QAAQ,EAAC5yC;AAArB,UAAwB,MAA1M;AAA+M,UAAG,CAACI,CAAD,IAAI,CAACd,CAAL,IAAQ,CAACoB,CAAT,IAAY,QAAMV,CAArB,EAAuB,OAAM,EAAN;AAAS,YAAM+H,CAAC,GAAC9I,CAAC,GAAC,CAAC,CAACU,CAAC,GAAC,CAAH,IAAME,CAAN,GAAQW,CAAT,IAAYA,CAAb,GAAe,CAAxB;AAAA,YAA0BS,CAAC,GAAChC,CAAC,GAACY,CAAD,GAAGT,CAAhC;AAAA,YAAkCL,CAAC,GAAC2B,CAAC,CAAC0pC,aAAtC;AAAA,YAAoD7iC,CAAC,GAAC,CAAC,GAAGrI,CAAC,CAACqF,GAAF,CAAOvF,CAAC,IAAEA,CAAC,CAACoQ,KAAZ,CAAJ,EAAwB,GAAGvO,0FAAC,CAACH,CAAD,CAA5B,EAAgC3B,CAAhC,EAAmC4G,MAAnC,CAA0CnG,uDAA1C,CAAtD;AAAA,YAAmGU,CAAC,GAAChB,CAAC,CAACqF,GAAF,CAAOvF,CAAC,IAAG,GAAEA,CAAC,CAACoQ,KAAM,IAAGpQ,CAAC,CAACqQ,KAAM,EAAhC,CAArG;AAAA,YAAyIzO,CAAC,GAACF,CAAC,CAAC+kC,WAAF,EAA3I;AAAA,YAA2J;AAACkU,QAAAA,cAAc,EAACjpC,CAAhB;AAAkBkpC,QAAAA,UAAU,EAACzvC;AAA7B,UAAgC7K,CAA3L;AAAA,YAA6LqM,CAAC,GAAC,IAAI7L,2EAAJ,CAAM;AAACgP,QAAAA,aAAa,EAAC5O,CAAf;AAAiB0gB,QAAAA,KAAK,EAAC7Y,CAAvB;AAAyByxC,QAAAA,GAAG,EAACv4C,CAA7B;AAA+BoL,QAAAA,SAAS,EAAC9E,CAAzC;AAA2C0zC,QAAAA,SAAS,EAAC36C,CAArD;AAAuDq5C,QAAAA,cAAc,EAACjpC,CAAtE;AAAwEkpC,QAAAA,UAAU,EAACzvC,CAAnF;AAAqF6E,QAAAA,cAAc,EAACtP,CAApG;AAAsG6M,QAAAA,cAAc,EAAC,CAAC,CAAtH;AAAwH+sC,QAAAA,SAAS,EAAC,CAACt5C,CAAD,CAAlI;AAAsIuuC,QAAAA,KAAK,EAAC3tC,CAAC,CAAC2tC,KAAF,IAAS,KAAK;AAA1J,OAAN,CAA/L;AAAA,YAAmWxtC,CAAC,SAAOzB,CAAC,CAACwnC,oBAAF,CAAuBn7B,CAAvB,EAAyB;AAACjF,QAAAA,MAAM,EAAC1H,CAAC,EAAE0H;AAAX,OAAzB,CAA3W;AAAA,YAAwZpF,CAAC,GAACP,CAAC,CAACf,CAAD,CAAD,EAAMutC,QAAN,IAAgB,EAA1a;AAA6a,aAAOjsC,CAAC,CAACqC,OAAF,CAAW3E,CAAC,IAAE;AAACA,QAAAA,CAAC,CAACgwC,WAAF,GAActuC,CAAd,EAAgB1B,CAAC,CAACwJ,KAAF,GAAQ9H,CAAxB;AAA0B,OAAzC,GAA4CY,CAAnD;AAA7pB;AAAktB;;AAAhzL,CAA5B;;AAA80LtC,uDAAC,CAAC,CAACsB,uFAAC,EAAF,CAAD,EAAOvB,CAAC,CAACoI,SAAT,EAAmB,SAAnB,EAA6B,KAAK,CAAlC,CAAD,EAAsCnI,uDAAC,CAAC,CAACsB,uFAAC,EAAF,CAAD,EAAOvB,CAAC,CAACoI,SAAT,EAAmB,uBAAnB,EAA2C,KAAK,CAAhD,CAAvC,EAA0FnI,uDAAC,CAAC,CAACsB,uFAAC,EAAF,CAAD,EAAOvB,CAAC,CAACoI,SAAT,EAAmB,2BAAnB,EAA+C,KAAK,CAApD,CAA3F,EAAkJnI,uDAAC,CAAC,CAACsB,uFAAC,EAAF,CAAD,EAAOvB,CAAC,CAACoI,SAAT,EAAmB,mCAAnB,EAAuD,KAAK,CAA5D,CAAnJ,EAAkNnI,uDAAC,CAAC,CAACsB,uFAAC,CAAC;AAACoM,EAAAA,KAAK,EAAC;AAAP,CAAD,CAAF,CAAD,EAAgB3N,CAAC,CAACoI,SAAlB,EAA4B,aAA5B,EAA0C,IAA1C,CAAnN,EAAmQnI,uDAAC,CAAC,CAACsB,uFAAC,EAAF,CAAD,EAAOvB,CAAC,CAACoI,SAAT,EAAmB,iBAAnB,EAAqC,KAAK,CAA1C,CAApQ,EAAiTnI,uDAAC,CAAC,CAACsB,uFAAC,CAAC;AAAC+G,EAAAA,QAAQ,EAAC,CAAC;AAAX,CAAD,CAAF,CAAD,EAAoBtI,CAAC,CAACoI,SAAtB,EAAgC,0BAAhC,EAA2D,IAA3D,CAAlT,EAAmXnI,uDAAC,CAAC,CAACsB,uFAAC,CAAC;AAAC+G,EAAAA,QAAQ,EAAC,CAAC;AAAX,CAAD,CAAF,CAAD,EAAoBtI,CAAC,CAACoI,SAAtB,EAAgC,mBAAhC,EAAoD,IAApD,CAApX,EAA8anI,uDAAC,CAAC,CAACsB,uFAAC,CAAC;AAAC+G,EAAAA,QAAQ,EAAC,CAAC;AAAX,CAAD,CAAF,CAAD,EAAoBtI,CAAC,CAACoI,SAAtB,EAAgC,SAAhC,EAA0C,IAA1C,CAA/a,EAA+dnI,uDAAC,CAAC,CAACsB,uFAAC,CAAC;AAAC+G,EAAAA,QAAQ,EAAC,CAAC;AAAX,CAAD,CAAF,CAAD,EAAoBtI,CAAC,CAACoI,SAAtB,EAAgC,UAAhC,EAA2C,IAA3C,CAAhe,EAAihBnI,uDAAC,CAAC,CAACsB,uFAAC,EAAF,CAAD,EAAOvB,CAAC,CAACoI,SAAT,EAAmB,aAAnB,EAAiC,KAAK,CAAtC,CAAlhB,EAA2jBnI,uDAAC,CAAC,CAACsB,uFAAC,CAAC;AAAC+G,EAAAA,QAAQ,EAAC,CAAC;AAAX,CAAD,CAAF,CAAD,EAAoBtI,CAAC,CAACoI,SAAtB,EAAgC,0BAAhC,EAA2D,IAA3D,CAA5jB,EAA6nBnI,uDAAC,CAAC,CAACsB,uFAAC,CAAC;AAACoM,EAAAA,KAAK,EAAC;AAAP,CAAD,CAAF,CAAD,EAAgB3N,CAAC,CAACoI,SAAlB,EAA4B,cAA5B,EAA2C,IAA3C,CAA9nB,EAA+qBnI,uDAAC,CAAC,CAACsB,uFAAC,CAAC;AAACiC,EAAAA,IAAI,EAACrD,mDAACA;AAAP,CAAD,CAAF,CAAD,EAAeH,CAAC,CAACoI,SAAjB,EAA2B,SAA3B,EAAqC,KAAK,CAA1C,CAAhrB,EAA6tBnI,uDAAC,CAAC,CAACsB,uFAAC,EAAF,CAAD,EAAOvB,CAAC,CAACoI,SAAT,EAAmB,OAAnB,EAA2B,KAAK,CAAhC,CAA9tB,EAAiwBnI,uDAAC,CAAC,CAACsB,uFAAC,EAAF,CAAD,EAAOvB,CAAC,CAACoI,SAAT,EAAmB,KAAnB,EAAyB,KAAK,CAA9B,CAAlwB,EAAmyBnI,uDAAC,CAAC,CAACsB,uFAAC,CAAC;AAAC+G,EAAAA,QAAQ,EAAC,CAAC;AAAX,CAAD,CAAF,CAAD,EAAoBtI,CAAC,CAACoI,SAAtB,EAAgC,UAAhC,EAA2C,IAA3C,CAApyB,EAAq1BnI,uDAAC,CAAC,CAACsB,uFAAC,CAAC;AAAC+G,EAAAA,QAAQ,EAAC,CAAC;AAAX,CAAD,CAAF,CAAD,EAAoBtI,CAAC,CAACoI,SAAtB,EAAgC,eAAhC,EAAgD,IAAhD,CAAt1B,EAA44BnI,uDAAC,CAAC,CAACsB,uFAAC,EAAF,CAAD,EAAOvB,CAAC,CAACoI,SAAT,EAAmB,eAAnB,EAAmC,KAAK,CAAxC,CAA74B,EAAw7BnI,uDAAC,CAAC,CAACsB,uFAAC,CAAC;AAAC+G,EAAAA,QAAQ,EAAC,CAAC;AAAX,CAAD,CAAF,CAAD,EAAoBtI,CAAC,CAACoI,SAAtB,EAAgC,iBAAhC,EAAkD,IAAlD,CAAz7B,EAAi/BnI,uDAAC,CAAC,CAACsB,uFAAC,CAAC;AAAC+G,EAAAA,QAAQ,EAAC,CAAC;AAAX,CAAD,CAAF,CAAD,EAAoBtI,CAAC,CAACoI,SAAtB,EAAgC,cAAhC,EAA+C,IAA/C,CAAl/B,EAAuiCnI,uDAAC,CAAC,CAACsB,uFAAC,CAAC;AAAC+G,EAAAA,QAAQ,EAAC,CAAC;AAAX,CAAD,CAAF,CAAD,EAAoBtI,CAAC,CAACoI,SAAtB,EAAgC,cAAhC,EAA+C,IAA/C,CAAxiC,EAA6lCnI,uDAAC,CAAC,CAACsB,uFAAC,EAAF,CAAD,EAAOvB,CAAC,CAACoI,SAAT,EAAmB,cAAnB,EAAkC,KAAK,CAAvC,CAA9lC,EAAwoCnI,uDAAC,CAAC,CAACsB,uFAAC,CAAC;AAAC+G,EAAAA,QAAQ,EAAC,CAAC;AAAX,CAAD,CAAF,CAAD,EAAoBtI,CAAC,CAACoI,SAAtB,EAAgC,0BAAhC,EAA2D,IAA3D,CAAzoC,EAA0sCnI,uDAAC,CAAC,CAACsB,uFAAC,EAAF,CAAD,EAAOvB,CAAC,CAACoI,SAAT,EAAmB,gBAAnB,EAAoC,KAAK,CAAzC,CAA3sC,EAAuvCnI,uDAAC,CAAC,CAACsB,uFAAC,EAAF,CAAD,EAAOvB,CAAC,CAACoI,SAAT,EAAmB,gBAAnB,EAAoC,KAAK,CAAzC,CAAxvC,EAAoyCnI,uDAAC,CAAC,CAACsB,uFAAC,EAAF,CAAD,EAAOvB,CAAC,CAACoI,SAAT,EAAmB,OAAnB,EAA2B,IAA3B,CAAryC,EAAs0CnI,uDAAC,CAAC,CAACsB,uFAAC,EAAF,CAAD,EAAOvB,CAAC,CAACoI,SAAT,EAAmB,OAAnB,EAA2B,KAAK,CAAhC,CAAv0C,EAA02CpI,CAAC,GAACC,uDAAC,CAAC,CAACoB,uFAAC,CAAC,uEAAD,CAAF,CAAD,EAA8ErB,CAA9E,CAA72C;AAA87C,MAAMwI,CAAC,GAACxI,CAAR;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACJjsQ;AACA;AACA;AACA;AACA;AAA8C;AAAsB;AAAmD;AAAyC;AAAoD;AAA6E;AAA0B;AAA6B;AAAgC;AAA6E;AAAoD;AAAmE;AAA4B;AAAiG;AAAsE;AAAsE;AAAoD;AAAkC;AAAuE;AAAgE;;AAAsD,IAAIA,CAAJ;;AAAM,MAAMkC,CAAC,GAAC,cAAR;AAAA,MAAuBL,CAAC,GAAE,GAAEK,CAAE,eAA9B;AAAA,MAA6CF,CAAC,GAAC;AAAC+J,EAAAA,IAAI,EAAClK,CAAN;AAAQ6jH,EAAAA,aAAa,EAAE,GAAE7jH,CAAE,QAA3B;AAAmC8jH,EAAAA,QAAQ,EAAE,GAAE9jH,CAAE,aAAjD;AAA8D+jH,EAAAA,cAAc,EAAE,GAAE/jH,CAAE,qBAAlF;AAAuGgkH,EAAAA,qBAAqB,EAAE,GAAEhkH,CAAE,kBAAlI;AAAoJikH,EAAAA,eAAe,EAAE,GAAE5jH,CAAE,oBAAzK;AAA6L6jH,EAAAA,sBAAsB,EAAE,GAAE7jH,CAAE,4BAAzN;AAAqP8jH,EAAAA,uBAAuB,EAAE,GAAE9jH,CAAE,qBAAlR;AAAuS2pH,EAAAA,QAAQ,EAAE,GAAEhqH,CAAE,YAArT;AAAiUiqH,EAAAA,eAAe,EAAE,GAAE5pH,CAAE;AAAtV,CAA/C;AAA0Z,IAAIsG,CAAC,GAACxI,CAAC,GAAC,cAAcc,mDAAd,CAAe;AAAC4B,EAAAA,WAAW,CAACzC,CAAD,EAAGE,CAAH,EAAK;AAAC,UAAMF,CAAN,EAAQE,CAAR,GAAW,KAAKomH,QAAL,GAAc,0CAAzB,EAAoE,KAAKv4G,WAAL,GAAiB,IAArF,EAA0F,KAAKw4G,YAAL,GAAkB,CAA5G,EAA8G,KAAKxjH,KAAL,GAAW,IAAzH,EAA8H,KAAKmtF,SAAL,GAAe,IAAIlvF,yHAAJ,EAA7I,EAAmJ,KAAK8qH,sBAAL,GAA4B,IAA/K,EAAoL,KAAKC,QAAL,GAAc,IAAlM,EAAuM,KAAKC,aAAL,GAAmB,IAA1N,EAA+N,KAAK3F,SAAL,GAAe,IAA9O,EAAmP,KAAK/8G,QAAL,GAAc,IAAjQ,EAAsQ,KAAKk9G,cAAL,GAAoB,IAA1R,EAA+R,KAAKC,eAAL,GAAqB,IAAI/kH,8FAAJ,EAApT,EAA0T,KAAKuqH,gBAAL,GAAsB,EAAhV,EAAmV,KAAKC,eAAL,GAAqB,GAAxW,EAA4W,KAAKC,mBAAL,GAAyB,CAArY,EAAuY,KAAKC,oBAAL,GAA0B,CAAja,EAAma,KAAKC,0CAAL,GAAgD,IAAnd,EAAwd,KAAKC,sCAAL,GAA4C,IAAIpG,oBAAJ,CAA0B,CAAC,CAAClmH,CAAD,CAAD,KAAO;AAACA,MAAAA,CAAC,EAAEmmH,cAAH,IAAmB,KAAKC,oBAAL,EAAnB;AAA+C,KAAjF,EAAmF;AAACrI,MAAAA,IAAI,EAAChgG,MAAM,CAACJ;AAAb,KAAnF,CAApgB,EAA+mB,KAAK4uG,oBAAL,GAA0B,IAAI7rH,4DAAJ,EAAzoB,EAA+oB,KAAK8rH,WAAL,GAAiB,EAAhqB;AAAmqB;;AAAA3oH,EAAAA,UAAU,GAAE;AAAC,SAAKH,UAAL,CAAgB,CAACtD,6DAAC,CAAE,MAAI,CAAC,KAAKisH,0CAAN,CAAN,EAA0D,MAAI,KAAKI,sCAAL,EAA9D,CAAF,CAAhB;AAAkI;;AAAAtO,EAAAA,gBAAgB,GAAE;AAAC,WAAO38G,mFAAC,CAAC;AAACkrH,MAAAA,IAAI,EAAC,MAAI,ojBAAV;AAA6EtO,MAAAA,IAAI,EAAC,MAAI,oVAAtF;AAAyJrpB,MAAAA,KAAK,EAAC,MAAI,qxBAAnK;AAAuOmyB,MAAAA,MAAM,EAAC,MAAI,0hBAAlP;AAAuTD,MAAAA,IAAI,EAAC,MAAI,y/BAAhU;AAAmY,mBAAY,MAAI,iyBAAnZ;AAA2d3F,MAAAA,OAAO,EAAC,MAAI;AAAve,KAAD,CAAR;AAAwjB;;AAAAl9G,EAAAA,OAAO,GAAE;AAAC,SAAKmoH,oBAAL,CAA0B3yG,KAA1B;AAAkC;;AAA0B,MAAtB+yG,sBAAsB,GAAE;AAAC,UAAM3sH,CAAC,GAAC,KAAKkwF,SAAL,CAAe08B,qBAAvB;AAA6C,WAAO,KAAKZ,aAAL,GAAmBhsH,CAAC,CAAC8Z,GAAF,CAAM,KAAKkyG,aAAX,EAA0Bn+G,MAA7C,GAAoD,CAA3D;AAA6D;;AAAsB,MAAlBg/G,kBAAkB,CAAC7sH,CAAD,EAAG;AAAC,UAAK;AAACisH,MAAAA,gBAAgB,EAAC/rH,CAAlB;AAAoBysH,MAAAA,sBAAsB,EAACjsH;AAA3C,QAA8C,IAAnD;AAAA,UAAwDN,CAAC,GAAC,CAA1D;AAAA,UAA4DI,CAAC,GAACsjB,IAAI,CAACiZ,IAAL,CAAUr8B,CAAC,GAACR,CAAZ,KAAgB,CAA9E;AAAgF,SAAKisH,mBAAL,GAAyBroG,IAAI,CAAC3Z,GAAL,CAAS2Z,IAAI,CAAC5Z,GAAL,CAASlK,CAAT,EAAWQ,CAAX,CAAT,EAAuBJ,CAAvB,CAAzB;AAAmD;;AAAsB,MAAlBysH,kBAAkB,GAAE;AAAC,WAAO,KAAKV,mBAAZ;AAAgC;;AAAAxd,EAAAA,MAAM,GAAE;AAAC,UAAM3uG,CAAC,GAAC,KAAKkwF,SAAL,CAAe08B,qBAAvB;AAAA,UAA6C;AAACjxB,MAAAA,KAAK,EAACz7F,CAAP;AAASwmH,MAAAA,cAAc,EAAChmH;AAAxB,QAA2B,KAAKwvF,SAA7E;AAAA,UAAuF;AAACyL,MAAAA,KAAK,EAACv7F;AAAP,QAAU,KAAK0rH,sBAAL,IAA6B,EAA9H;AAAiI,WAAOxqH,4DAAC,CAAC,KAAD,EAAO;AAACk9G,MAAAA,KAAK,EAAC,KAAKp4C,OAAL,CAAarkE,CAAC,CAAC+J,IAAf,EAAoBhL,oEAApB;AAAP,KAAP,EAA6C,cAAYZ,CAAZ,IAAe,eAAaA,CAA5B,IAA+B,cAAYE,CAA3C,GAA6C,KAAK0nH,cAAL,EAA7C,GAAmExmH,4DAAC,CAAC,cAAD,EAAgB,IAAhB,EAAqBZ,CAAC,IAAE,KAAKsrH,aAAR,GAAsB1qH,4DAAC,CAACF,gEAAD,EAAG,IAAH,EAAQ,KAAK0rH,aAAL,EAAR,EAA6B,KAAKC,gCAAL,EAA7B,EAAqE,KAAK1D,sBAAL,EAArE,CAAvB,GAA2H9iH,KAAK,CAACiZ,IAAN,CAAWxf,CAAC,CAACuf,IAAF,EAAX,EAAqBrf,CAAC,IAAE,KAAK8sH,eAAL,CAAqB9sH,CAArB,EAAuBF,CAAC,CAAC8Z,GAAF,CAAM5Z,CAAN,CAAvB,CAAxB,CAAhJ,CAAjH,CAAR;AAAsU;;AAAA4sH,EAAAA,aAAa,GAAE;AAAC,WAAOxrH,4DAAC,CAAC,KAAD,EAAO;AAACk9G,MAAAA,KAAK,EAACz8G,CAAC,CAAC8pH,eAAT;AAAyBjgH,MAAAA,GAAG,EAAC;AAA7B,KAAP,EAA8CtK,4DAAC,CAAC,eAAD,EAAiB;AAAC88G,MAAAA,IAAI,EAAC,QAAN;AAAe6O,MAAAA,WAAW,EAAC,KAAK3jH,QAAL,CAAc4jH,4BAAzC;AAAsE3pH,MAAAA,IAAI,EAAC,QAA3E;AAAoF4pH,MAAAA,mBAAmB,EAACntH,CAAC,IAAE;AAAC,aAAKwsH,WAAL,GAAiBxsH,CAAC,CAACiI,MAAF,CAASyF,KAAT,CAAe+a,IAAf,GAAsB7Y,WAAtB,EAAjB,EAAqD,KAAKu8G,mBAAL,GAAyB,CAA9E;AAAgF;AAA5L,KAAjB,CAA/C,CAAR;AAAwQ;;AAAAiB,EAAAA,oBAAoB,CAACptH,CAAD,EAAG;AAAC,UAAK;AAACqmH,MAAAA,SAAS,EAACnmH,CAAX;AAAagwF,MAAAA,SAAS,EAACxvF,CAAvB;AAAyBqN,MAAAA,WAAW,EAAC3N;AAArC,QAAwC,IAA7C;AAAkD,QAAG,CAACF,CAAD,IAAI,CAACF,CAAR,EAAU;AAAOU,IAAAA,CAAC,CAACgmH,cAAF,GAAiB,CAAC,CAAlB;AAAoB,UAAMlmH,CAAC,GAAC,IAAIT,CAAJ,CAAM;AAACisH,MAAAA,aAAa,EAAChsH,CAAf;AAAiB+C,MAAAA,KAAK,EAAC/C,CAAC,EAAE+C,KAA1B;AAAgCsjH,MAAAA,SAAS,EAACnmH,CAA1C;AAA4C4rH,MAAAA,sBAAsB,EAAC,KAAKA,sBAAxE;AAA+F5D,MAAAA,sBAAsB,EAAC,KAAKA,sBAA3H;AAAkJn6G,MAAAA,WAAW,EAAC3N,CAA9J;AAAgKqmH,MAAAA,eAAe,EAAC;AAAC1jH,QAAAA,KAAK,EAAC,CAAC,CAAR;AAAUgL,QAAAA,WAAW,EAAC,CAAC;AAAvB,OAAhL;AAA0MmiF,MAAAA,SAAS,EAACxvF;AAApN,KAAN,CAAR;AAAsOR,IAAAA,CAAC,CAAC4E,IAAF,CAAOtE,CAAP;AAAU;;AAAAusH,EAAAA,gCAAgC,GAAE;AAAC,UAAK;AAACF,MAAAA,kBAAkB,EAAC7sH,CAApB;AAAsBisH,MAAAA,gBAAgB,EAAC/rH,CAAvC;AAAyCgsH,MAAAA,eAAe,EAACxrH,CAAzD;AAA2D8rH,MAAAA,WAAW,EAACpsH;AAAvE,QAA0E,IAA/E;AAAA,UAAoFI,CAAC,GAACsjB,IAAI,CAAC5Z,GAAL,CAASlK,CAAC,GAACE,CAAX,EAAaQ,CAAb,CAAtF;AAAA,UAAsGT,CAAC,GAAC,KAAKiwF,SAAL,CAAe08B,qBAAf,CAAqC9yG,GAArC,CAAyC,KAAKkyG,aAA9C,EAA6DrlH,MAA7D,CAAqE3G,CAAC,IAAEM,6EAAC,CAACN,CAAC,CAACqtH,gBAAH,CAAD,CAAsBz9G,WAAtB,GAAoCkiB,QAApC,CAA6C1xB,CAA7C,CAAxE,EAA0H0J,KAA1H,CAAgI,CAAhI,EAAkItJ,CAAlI,CAAxG;AAA6O,WAAM,CAAC,GAAG,KAAK8sH,eAAL,CAAqBrtH,CAArB,CAAJ,EAA4B,GAAG,KAAKstH,4BAAL,CAAkCttH,CAAlC,CAA/B,CAAN;AAA2E;;AAAMwsH,EAAAA,sCAAsC,GAAE;AAAA;;AAAA;AAAC,WAAI,CAACJ,0CAAL,IAAiD,KAAI,CAACC,sCAAL,CAA4C3C,SAA5C,CAAsD,KAAI,CAAC0C,0CAA3D,CAAjD;AAAwJ,YAAK;AAAC1wB,QAAAA,KAAK,EAAC37F,CAAP;AAAS0mH,QAAAA,cAAc,EAAChmH;AAAxB,UAA2B,KAAI,CAACwvF,SAArC;AAA+C,YAAMhwF,4DAAC,CAAC,CAAD,CAAP,EAAW,KAAI,CAACmsH,0CAAL,IAAiD,YAAUrsH,CAA3D,IAA8DU,CAA9D,IAAiE,KAAI,CAAC4rH,sCAAL,CAA4C5C,OAA5C,CAAoD,KAAI,CAAC2C,0CAAzD,CAA5E;AAAxM;AAAyX;;AAAAmB,EAAAA,6CAA6C,CAACxtH,CAAD,EAAG;AAAC,SAAKqsH,0CAAL,GAAgDrsH,CAAhD;AAAkD;;AAAAqpH,EAAAA,sBAAsB,GAAE;AAAC,WAAO/nH,4DAAC,CAAC,KAAD,EAAO;AAACi+G,MAAAA,WAAW,EAAC,KAAKiO,6CAAlB;AAAgE/8F,MAAAA,IAAI,EAAC,IAArE;AAA0E+tF,MAAAA,KAAK,EAACz8G,CAAC,CAAC8jH,eAAlF;AAAkGj6G,MAAAA,GAAG,EAAC;AAAtG,KAAP,CAAR;AAA0I;;AAAAw6G,EAAAA,oBAAoB,GAAE;AAAC,SAAKyG,kBAAL;AAA0B;;AAAA/E,EAAAA,cAAc,GAAE;AAAC,WAAOxmH,4DAAC,CAAC,KAAD,EAAO;AAACk9G,MAAAA,KAAK,EAACz8G,CAAC,CAACgkH,uBAAT;AAAiCn6G,MAAAA,GAAG,EAAC;AAArC,KAAP,EAAiE,KAAK08G,kBAAL,EAAjE,CAAR;AAAoG;;AAAAA,EAAAA,kBAAkB,GAAE;AAAC,WAAOhnH,4DAAC,CAAC,gBAAD,EAAkB;AAACinH,MAAAA,MAAM,EAAC,CAAC,CAAT;AAAW9yF,MAAAA,KAAK,EAAC;AAAjB,KAAlB,CAAR;AAAgD;;AAAAg4F,EAAAA,cAAc,CAACztH,CAAD,EAAG;AAAC,WAAM,CAAC,cAAD,EAAgB,gCAAhB,EAAiD,iCAAjD,EAAmF,+BAAnF,EAAmH,+BAAnH,EAAoJ8xB,QAApJ,CAA6J9xB,CAAC,CAAC0tH,WAAF,CAAcn/D,eAA3K,CAAN;AAAkM;;AAAAo/D,EAAAA,uBAAuB,CAAC3tH,CAAD,EAAG;AAAC,YAAOA,CAAP;AAAU,WAAI,cAAJ;AAAmB,WAAI,gCAAJ;AAAqC,eAAO,KAAKsJ,QAAL,CAAcskH,4BAArB;;AAAkD,WAAI,iCAAJ;AAAsC,eAAO,KAAKtkH,QAAL,CAAcukH,4BAArB;;AAAkD,WAAI,+BAAJ;AAAoC,eAAO,KAAKvkH,QAAL,CAAcwkH,+BAArB;;AAAqD,WAAI,+BAAJ;AAAoC,eAAO,KAAKxkH,QAAL,CAAcykH,0BAArB;;AAAgD;AAAQ,eAAM,EAAN;AAAjY;AAA2Y;;AAAAC,EAAAA,kBAAkB,CAAChuH,CAAD,EAAG;AAAC,UAAK;AAACusH,MAAAA,oBAAoB,EAACrsH;AAAtB,QAAyB,IAA9B;AAAmC,WAAO,KAAKutH,cAAL,CAAoBztH,CAApB,IAAuBsB,4DAAC,CAAC,iBAAD,EAAmB;AAACsK,MAAAA,GAAG,EAAE,WAAU5L,CAAC,CAACqtH,gBAAF,CAAmB73E,GAAI,EAAvC;AAAyCy4E,MAAAA,gBAAgB,EAAC/tH,CAAC,CAAC4Z,GAAF,CAAM9Z,CAAC,CAACqtH,gBAAF,CAAmB73E,GAAzB;AAA1D,KAAnB,EAA4G,KAAKm4E,uBAAL,CAA6B3tH,CAAC,CAAC0tH,WAAF,CAAcn/D,eAA3C,CAA5G,CAAxB,GAAiM,IAAxM;AAA6M;;AAAA2/D,EAAAA,uBAAuB,CAACluH,CAAD,EAAGE,CAAH,EAAK;AAAC,QAAIQ,CAAJ;;AAAM,YAAOV,CAAP;AAAU,WAAI,iCAAJ;AAAsCU,QAAAA,CAAC,GAAC,qBAAF;AAAwB;;AAAM,WAAI,+BAAJ;AAAoCA,QAAAA,CAAC,GAAC,sBAAF;AAAyB;;AAAM,WAAI,+BAAJ;AAAoCA,QAAAA,CAAC,GAAC,mBAAF;AAAsB;;AAAM;AAAQA,QAAAA,CAAC,GAAC,0BAAF;AAAzN;;AAAsP,WAAOY,4DAAC,CAAC,cAAD,EAAgB;AAACi+G,MAAAA,WAAW,EAACv/G,CAAC,IAAE,KAAKusH,oBAAL,CAA0B7mH,GAA1B,CAA8BxF,CAA9B,EAAgCF,CAAhC,CAAhB;AAAmDw/G,MAAAA,YAAY,EAAC,MAAI,KAAK+M,oBAAL,CAA0B37F,MAA1B,CAAiC1wB,CAAjC,CAApE;AAAwGk+G,MAAAA,IAAI,EAAC19G,CAA7G;AAA+G6X,MAAAA,KAAK,EAAC,GAArH;AAAyHkwG,MAAAA,IAAI,EAAC;AAA9H,KAAhB,CAAR;AAAwK;;AAAA0F,EAAAA,mBAAmB,CAACnuH,CAAD,EAAG;AAAC,WAAO,GAAEW,8DAAC,CAACX,CAAC,CAAC0tH,WAAF,CAAcn+D,YAAf,EAA4B;AAAC1sD,MAAAA,KAAK,EAAC,SAAP;AAAiBurH,MAAAA,qBAAqB,EAAC;AAAvC,KAA5B,CAAuE,EAAjF;AAAmF;;AAAAC,EAAAA,wBAAwB,CAACruH,CAAD,EAAG;AAAC,UAAK;AAACqtH,MAAAA,gBAAgB,EAACntH;AAAlB,QAAqBF,CAA1B;AAAA,UAA4BU,CAAC,GAACJ,6EAAC,CAACJ,CAAD,CAA/B;AAAA,UAAmCE,CAAC,GAAC,cAAYF,CAAC,CAACy7F,KAAnD;AAAA,UAAyDn7F,CAAC,GAAC,KAAK8tH,aAAL,CAAmBpuH,CAAnB,CAA3D;AAAA,UAAiFD,CAAC,GAACO,CAAC,GAAC,CAAF,IAAK,KAAK+tH,gBAAL,CAAsBruH,CAAtB,CAAxF;AAAA,UAAiHS,CAAC,GAACV,CAAC,IAAEO,CAAC,IAAE,CAAzH;AAAA,UAA2HK,CAAC,GAAC,KAAK4sH,cAAL,CAAoBztH,CAApB,CAA7H;AAAA,UAAoJgB,CAAC,GAACH,CAAC,IAAE,oCAAkCb,CAAC,CAAC0tH,WAAF,CAAcn/D,eAAzM;;AAAyN,WAAOjtD,4DAAC,CAAC,mBAAD,EAAqB;AAACk9G,MAAAA,KAAK,EAAC,KAAKp4C,OAAL,CAAarkE,CAAC,CAAC2jH,QAAf,EAAwB;AAAC,SAAC3jH,CAAC,CAAC4jH,cAAH,GAAmBvlH;AAApB,OAAxB,CAAP;AAAuD2N,MAAAA,WAAW,EAAC/N,CAAC,CAACwuH,YAAF,IAAgB,EAAnF;AAAsF5iH,MAAAA,GAAG,EAAE,2BAA0B1L,CAAC,CAACs1C,GAAI,EAA3H;AAA6H/f,MAAAA,KAAK,EAAC/0B,CAAnI;AAAqIqoH,MAAAA,uBAAuB,EAAC,MAAI,KAAK0F,mBAAL,CAAyBxuH,CAAzB,EAA2BO,CAA3B,EAA6BN,CAA7B;AAAjK,KAArB,EAAuNW,CAAC,GAAC,KAAKqtH,uBAAL,CAA6BluH,CAAC,CAAC0tH,WAAF,CAAcn/D,eAA3C,EAA2DvuD,CAAC,CAACqtH,gBAAF,CAAmB73E,GAA9E,CAAD,GAAoF,IAA5S,EAAiTx0C,CAAC,GAACM,4DAAC,CAAC,cAAD,EAAgB;AAACiX,MAAAA,KAAK,EAAC,GAAP;AAAWkwG,MAAAA,IAAI,EAAC,aAAhB;AAA8B/6G,MAAAA,KAAK,EAAC1N,CAAC,CAAC0tH,WAAF,CAAcn+D;AAAlD,KAAhB,EAAgF,KAAK4+D,mBAAL,CAAyBnuH,CAAzB,CAAhF,CAAF,GAA+G,IAAja,EAAsa,KAAK0oH,sBAAL,CAA4B/nH,CAA5B,CAAta,CAAR;AAA8c;;AAAM+tH,EAAAA,kBAAkB,CAAC1uH,CAAD,EAAG;AAAA;;AAAA;AAAC,YAAK;AAACqmH,QAAAA,SAAS,EAACnmH,CAAX;AAAagoH,QAAAA,sBAAsB,EAACxnH;AAApC,UAAuC,MAA5C;AAAiD,UAAG,CAACR,CAAJ,EAAM;AAAOF,MAAAA,CAAC,CAACsgH,SAAF,GAAY;AAACqO,QAAAA,iCAAiC,EAAC,CAAC;AAApC,OAAZ;AAAmD,YAAK;AAACnmH,QAAAA,OAAO,EAACpI;AAAT,gBAAkB,gHAAvB;AAA+CF,MAAAA,CAAC,CAAC4E,IAAF,CAAO,IAAI1E,CAAJ,CAAM;AAACimH,QAAAA,SAAS,EAACnmH,CAAX;AAAaomH,QAAAA,QAAQ,EAAC,qBAAtB;AAA4Cp2B,QAAAA,SAAS,EAAClwF,CAAtD;AAAwDymH,QAAAA,eAAe,EAAC/lH;AAAxE,OAAN,CAAP;AAAjK;AAA2P;;AAAA+tH,EAAAA,mBAAmB,CAACzuH,CAAD,EAAGE,CAAH,EAAKQ,CAAL,EAAO;AAAC,QAAGV,CAAH,EAAK,KAAKqmH,SAAL,CAAerkG,KAAf,CAAsBhiB,CAAC,IAAE;AAAC,0BAAmBA,CAAC,CAACkwF,SAArB,KAAiClwF,CAAC,CAACkwF,SAAF,CAAYw2B,cAAZ,GAA2B,CAAC,CAA7D,GAAgE1mH,CAAC,CAACkwF,SAAF,GAAY,IAA5E,EAAiFlwF,CAAC,CAACoE,OAAF,EAAjF;AAA6F,KAAvH,EAAL,KAAoI,IAAGlE,CAAC,GAAC,CAAF,IAAK,CAAC,KAAKmmH,SAAd,EAAwB,KAAKqI,kBAAL,CAAwBhuH,CAAxB,EAAxB,KAAwD,OAAK,KAAK2lH,SAAL,CAAex4G,MAAf,GAAsB3N,CAAC,GAAC,CAA7B,GAAgC;AAAC,YAAMF,CAAC,GAAC,KAAKqmH,SAAL,CAAe5qG,GAAf,EAAR;AAA6Bzb,MAAAA,CAAC,KAAG,oBAAmBA,CAAC,CAACkwF,SAArB,KAAiClwF,CAAC,CAACkwF,SAAF,CAAYw2B,cAAZ,GAA2B,CAAC,CAA7D,GAAgE1mH,CAAC,CAACkwF,SAAF,GAAY,IAA5E,EAAiFlwF,CAAC,CAACoE,OAAF,EAApF,CAAD;AAAkG;AAAC;;AAAAwqH,EAAAA,sBAAsB,CAAC5uH,CAAD,EAAGE,CAAH,EAAK;AAAC,UAAMQ,CAAC,GAACV,CAAC,CAACgoF,OAAV;AAAA,UAAkB5nF,CAAC,GAACM,CAAC,EAAE8I,KAAvB;AAA6B,QAAIhJ,CAAC,GAAC,IAAN;AAAW,2BAAqBJ,CAAC,EAAEmD,IAAxB,IAA8BnD,CAAC,CAACiD,MAAhC,GAAuC7C,CAAC,GAACJ,CAAC,CAACiD,MAAF,CAAS82C,aAAT,IAAwB,IAAjE,GAAsE/5C,CAAC,IAAE,mBAAkBA,CAArB,KAAyBI,CAAC,GAACJ,CAAC,CAAC+5C,aAA7B,CAAtE;AAAkH,UAAMl6C,CAAC,GAACO,CAAC,GAACE,CAAC,EAAE6wC,UAAH,CAAc/wC,CAAd,CAAD,GAAkB,IAA3B;AAAA,UAAgCG,CAAC,GAACT,CAAC,CAAC8nF,OAApC;AAAA,UAA4C1nF,CAAC,GAACK,CAAC,EAAE6I,KAAjD;AAAuD,QAAI3I,CAAC,GAAC,IAAN;AAAW,2BAAqBP,CAAC,EAAEiD,IAAxB,IAA8BjD,CAAC,CAAC+C,MAAhC,GAAuCxC,CAAC,GAACP,CAAC,CAAC+C,MAAF,CAAS82C,aAAT,IAAwB,IAAjE,GAAsE75C,CAAC,IAAE,mBAAkBA,CAArB,KAAyBO,CAAC,GAACP,CAAC,CAAC65C,aAA7B,CAAtE;AAAkH,UAAMn5C,CAAC,GAACH,CAAC,GAACF,CAAC,EAAE4wC,UAAH,CAAc1wC,CAAd,CAAD,GAAkB,IAA3B;AAAgC,WAAOZ,CAAC,IAAEe,CAAH,IAAMf,CAAC,KAAGe,CAAjB;AAAmB;;AAAAutH,EAAAA,gBAAgB,CAACvuH,CAAD,EAAG;AAAC,UAAME,CAAC,GAAC,KAAKmmH,SAAL,EAAgBwI,SAAhB,CAA0B,CAA1B,CAAR;AAAqC,QAAG,CAAC3uH,CAAJ,EAAM,OAAM,CAAC,CAAP;AAAS,UAAMQ,CAAC,GAACR,CAAC,CAAC4rH,sBAAV;AAAiC,WAAO,KAAK8C,sBAAL,CAA4BluH,CAA5B,EAA8BV,CAA9B,CAAP;AAAwC;;AAAAsuH,EAAAA,aAAa,CAACtuH,CAAD,EAAG;AAAC,WAAO,KAAKqmH,SAAL,EAAgByI,SAAhB,CAA2B5uH,CAAC,IAAE;AAAC,UAAG,cAAYA,CAAC,CAAComH,QAAjB,EAA0B,OAAM,CAAC,CAAP;AAAS,YAAM5lH,CAAC,GAACR,CAAC,CAACgwF,SAAV;AAAoB,aAAO,KAAK0+B,sBAAL,CAA4BluH,CAA5B,EAA8BV,CAA9B,CAAP;AAAwC,KAA9H,KAAkI,CAAC,CAA1I;AAA4I;;AAAAstH,EAAAA,eAAe,CAACttH,CAAD,EAAG;AAAC,WAAOA,CAAC,CAACqE,OAAF,GAAYkB,GAAZ,CAAiBvF,CAAC,IAAE,KAAKguH,kBAAL,CAAwBhuH,CAAxB,CAApB,CAAP;AAAwD;;AAAAutH,EAAAA,4BAA4B,CAACvtH,CAAD,EAAG;AAAC,WAAOA,CAAC,CAACqE,OAAF,GAAYkB,GAAZ,CAAiBvF,CAAC,IAAE,KAAKquH,wBAAL,CAA8BruH,CAA9B,CAApB,CAAP;AAA8D;;AAAA0oH,EAAAA,sBAAsB,CAAC1oH,CAAD,EAAG;AAAC,WAAOsB,4DAAC,CAAC,cAAD,EAAgB;AAACytH,MAAAA,OAAO,EAAC,CAAC,CAAV;AAAY3Q,MAAAA,IAAI,EAACp+G,CAAC,GAAC,SAAD,GAAW,eAA7B;AAA6CuY,MAAAA,KAAK,EAAC,GAAnD;AAAuDkwG,MAAAA,IAAI,EAAC;AAA5D,KAAhB,CAAR;AAAoG;;AAAAuE,EAAAA,eAAe,CAAChtH,CAAD,EAAGE,CAAH,EAAK;AAAC,UAAK;AAACoJ,MAAAA,QAAQ,EAAC5I;AAAV,QAAa,IAAlB;AAAA,UAAuBN,CAAC,GAACF,CAAC,CAAC4J,KAAF,CAAQ,CAAR,EAAU,KAAKsiH,oBAAf,CAAzB;AAAA,UAA8D5rH,CAAC,GAACJ,CAAC,CAACyN,MAAF,GAAS3N,CAAC,CAAC2N,MAA3E;AAAkF,WAAOvM,4DAAC,CAAC,mBAAD,EAAqB;AAACsK,MAAAA,GAAG,EAAC,UAAL;AAAgB6pB,MAAAA,KAAK,EAACz1B,CAAC,CAAC+C,KAAxB;AAA8B4tB,MAAAA,IAAI,EAAC,CAAC,CAApC;AAAsCjjB,MAAAA,KAAK,EAAC1N,CAAC,CAAC0C;AAA9C,KAArB,EAAuEpB,4DAAC,CAAC,cAAD,EAAgB;AAACiX,MAAAA,KAAK,EAAC,GAAP;AAAWkwG,MAAAA,IAAI,EAAC,aAAhB;AAA8B/6G,MAAAA,KAAK,EAAC1N,CAAC,CAAC0C;AAAtC,KAAhB,EAA0DxC,CAAC,CAAC2N,MAA5D,CAAxE,EAA4IvM,4DAAC,CAAC,cAAD,EAAgB;AAAC0tH,MAAAA,KAAK,EAAChvH,CAAC,CAAC0C;AAAT,KAAhB,EAA6B,CAAC,KAAK4qH,eAAL,CAAqBltH,CAArB,CAAD,EAAyB,KAAKmtH,4BAAL,CAAkCntH,CAAlC,CAAzB,CAA7B,EAA4FI,CAAC,GAACc,4DAAC,CAAC,mBAAD,EAAqB;AAACyM,MAAAA,WAAW,EAACxL,gEAAC,CAAC7B,CAAC,EAAEgnH,aAAJ,EAAkB;AAACC,QAAAA,MAAM,EAACznH,CAAC,CAAC2N,MAAF,CAAS3K,QAAT;AAAR,OAAlB,CAAd;AAA8D0I,MAAAA,GAAG,EAAC,eAAlE;AAAkF6pB,MAAAA,KAAK,EAAC/0B,CAAC,CAACuoH,OAA1F;AAAkGF,MAAAA,uBAAuB,EAAC,MAAI,KAAKqE,oBAAL,CAA0BptH,CAA1B;AAA9H,KAArB,EAAiLsB,4DAAC,CAAC,cAAD,EAAgB;AAAC88G,MAAAA,IAAI,EAAC,MAAN;AAAa7lG,MAAAA,KAAK,EAAC,GAAnB;AAAuBkwG,MAAAA,IAAI,EAAC;AAA5B,KAAhB,CAAlL,CAAF,GAAiP,IAA9U,CAA7I,CAAR;AAA0e;;AAAj5Q,CAAvB;AAA06QzoH,uDAAC,CAAC,CAACQ,sFAAC,EAAF,CAAD,EAAO+H,CAAC,CAACJ,SAAT,EAAmB,UAAnB,EAA8B,KAAK,CAAnC,CAAD,EAAuCnI,uDAAC,CAAC,CAACQ,sFAAC,EAAF,CAAD,EAAO+H,CAAC,CAACJ,SAAT,EAAmB,aAAnB,EAAiC,KAAK,CAAtC,CAAxC,EAAiFnI,uDAAC,CAAC,CAACQ,sFAAC,EAAF,CAAD,EAAO+H,CAAC,CAACJ,SAAT,EAAmB,cAAnB,EAAkC,KAAK,CAAvC,CAAlF,EAA4HnI,uDAAC,CAAC,CAACQ,sFAAC,EAAF,CAAD,EAAO+H,CAAC,CAACJ,SAAT,EAAmB,OAAnB,EAA2B,KAAK,CAAhC,CAA7H,EAAgKnI,uDAAC,CAAC,CAACQ,sFAAC,CAAC;AAAC+C,EAAAA,IAAI,EAACvC,yHAACA;AAAP,CAAD,CAAF,CAAD,EAAeuH,CAAC,CAACJ,SAAjB,EAA2B,WAA3B,EAAuC,KAAK,CAA5C,CAAjK,EAAgNnI,uDAAC,CAAC,CAACQ,sFAAC,EAAF,CAAD,EAAO+H,CAAC,CAACJ,SAAT,EAAmB,wBAAnB,EAA4C,KAAK,CAAjD,CAAjN,EAAqQnI,uDAAC,CAAC,CAACQ,sFAAC,EAAF,CAAD,EAAO+H,CAAC,CAACJ,SAAT,EAAmB,UAAnB,EAA8B,KAAK,CAAnC,CAAtQ,EAA4SnI,uDAAC,CAAC,CAACQ,sFAAC,EAAF,CAAD,EAAO+H,CAAC,CAACJ,SAAT,EAAmB,eAAnB,EAAmC,KAAK,CAAxC,CAA7S,EAAwVnI,uDAAC,CAAC,CAACQ,sFAAC,EAAF,CAAD,EAAO+H,CAAC,CAACJ,SAAT,EAAmB,wBAAnB,EAA4C,KAAK,CAAjD,CAAzV,EAA6YnI,uDAAC,CAAC,CAACQ,sFAAC,EAAF,CAAD,EAAO+H,CAAC,CAACJ,SAAT,EAAmB,WAAnB,EAA+B,KAAK,CAApC,CAA9Y,EAAqbnI,uDAAC,CAAC,CAACQ,sFAAC,EAAF,EAAKU,oFAAC,CAAC,kCAAD,CAAN,CAAD,EAA6CqH,CAAC,CAACJ,SAA/C,EAAyD,UAAzD,EAAoE,KAAK,CAAzE,CAAtb,EAAkgBnI,uDAAC,CAAC,CAACQ,sFAAC,EAAF,EAAKU,oFAAC,CAAC,iBAAD,CAAN,CAAD,EAA4BqH,CAAC,CAACJ,SAA9B,EAAwC,gBAAxC,EAAyD,KAAK,CAA9D,CAAngB,EAAokBnI,uDAAC,CAAC,CAACQ,sFAAC,CAAC;AAAC+C,EAAAA,IAAI,EAAC7B,8FAAN;AAAQsI,EAAAA,WAAW,EAAC,CAAC;AAArB,CAAD,CAAF,CAAD,EAA8BzB,CAAC,CAACJ,SAAhC,EAA0C,iBAA1C,EAA4D,KAAK,CAAjE,CAArkB,EAAyoBnI,uDAAC,CAAC,CAACQ,sFAAC,EAAF,CAAD,EAAO+H,CAAC,CAACJ,SAAT,EAAmB,kBAAnB,EAAsC,KAAK,CAA3C,CAA1oB,EAAwrBnI,uDAAC,CAAC,CAACQ,sFAAC,EAAF,CAAD,EAAO+H,CAAC,CAACJ,SAAT,EAAmB,iBAAnB,EAAqC,KAAK,CAA1C,CAAzrB,EAAsuBnI,uDAAC,CAAC,CAACQ,sFAAC,EAAF,CAAD,EAAO+H,CAAC,CAACJ,SAAT,EAAmB,wBAAnB,EAA4C,IAA5C,CAAvuB,EAAyxBnI,uDAAC,CAAC,CAACQ,sFAAC,EAAF,CAAD,EAAO+H,CAAC,CAACJ,SAAT,EAAmB,qBAAnB,EAAyC,KAAK,CAA9C,CAA1xB,EAA20BnI,uDAAC,CAAC,CAACQ,sFAAC,EAAF,CAAD,EAAO+H,CAAC,CAACJ,SAAT,EAAmB,oBAAnB,EAAwC,IAAxC,CAA50B,EAA03BnI,uDAAC,CAAC,CAACQ,sFAAC,EAAF,CAAD,EAAO+H,CAAC,CAACJ,SAAT,EAAmB,sBAAnB,EAA0C,KAAK,CAA/C,CAA33B,EAA66BnI,uDAAC,CAAC,CAACQ,sFAAC,EAAF,CAAD,EAAO+H,CAAC,CAACJ,SAAT,EAAmB,4CAAnB,EAAgE,KAAK,CAArE,CAA96B,EAAs/BnI,uDAAC,CAAC,CAACQ,sFAAC,EAAF,CAAD,EAAO+H,CAAC,CAACJ,SAAT,EAAmB,sBAAnB,EAA0C,KAAK,CAA/C,CAAv/B,EAAyiCnI,uDAAC,CAAC,CAACQ,sFAAC,EAAF,CAAD,EAAO+H,CAAC,CAACJ,SAAT,EAAmB,aAAnB,EAAiC,KAAK,CAAtC,CAA1iC,EAAmlCI,CAAC,GAACxI,CAAC,GAACC,uDAAC,CAAC,CAACC,uFAAC,CAAC,2DAAD,CAAF,CAAD,EAAkEsI,CAAlE,CAAxlC;AAA6pC,MAAM1G,CAAC,GAAC0G,CAAR;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACJ/jW;AACA;AACA;AACA;AACg9B,4BAA4B,EAAE,kBAAkB,wBAAwB,EAAE,oBAAoB,EAAE,+BAA+B,EAAE,8CAA8C,EAAE,qCAAqC,EAAE,8CAA8C,EAAE,uDAAuD,EAAE,iCAAiC,EAAE,aAAa,oBAAoB,kDAAC,CAAC,iBAAiB,0LAA0L,yHAAC,sEAAsE,8FAAC,CAAC,aAAa,6BAA6B,uEAAC,kBAAkB,6DAAC,iHAAiH,2DAAC,IAAI,mBAAmB,OAAO,mFAAC,EAAE,SAAS,ojBAAkE,UAAU,oVAAkE,YAAY,0hBAAoE,YAAY,wjBAAoE,UAAU,y/BAAkE,iBAAiB,iyBAAuE,CAAC,EAAE,UAAU,yBAAyB,4DAAC,2BAA2B,kBAAkB,kCAAkC,mBAAmB,6BAA6B,YAAY,4BAA4B,aAAa,uBAAuB,SAAS,MAAM,QAAQ,gBAAgB,OAAO,4DAAC,QAAQ,0BAA0B,oEAAQ,EAAE,gJAAgJ,uBAAuB,wCAAwC,4DAAC,QAAQ,mDAAmD,iCAAiC,qBAAqB,OAAO,4DAAC,mBAAmB,mBAAmB,EAAE,iBAAiB,OAAO,4DAAC,QAAQ,wDAAwD,4BAA4B,6BAA6B,OAAO,4DAAC,mBAAmB,0GAA0G,CAAC,4DAAC,QAAQ,eAAe,iCAAiC,2BAA2B,MAAM,iCAAiC,8DAA8D,+BAA+B,qCAAqC,EAAE,4BAA4B,MAAM,WAAW,MAAM,0BAA0B,eAAe,kDAAkD,qDAAqD,+CAA+C,4CAA4C,gDAAgD,0BAA0B,MAAM,iDAAiD,MAAM,aAAa,MAAM,mBAAmB,GAAG,eAAe,oCAAoC,GAAG,YAAY,gFAAC,EAAE,qMAAqM,EAAE,UAAU,0BAA0B,yCAAyC,OAAO,4DAAC,sBAAsB,kDAAkD,OAAO,kFAAkF,CAAC,4DAAC,iBAAiB,0CAA0C,gCAAgC,4DAAC,iBAAiB,6DAA6D,GAAG,oBAAoB,UAAU,+DAA+D,4DAA4D,wDAAwD,4DAA4D,mEAAmE,uBAAuB,OAAO,4DAAC,iFAAiF,iBAAiB,MAAM,2BAA2B,gBAAgB,OAAO,4DAAC,QAAQ,oCAAoC,yCAAyC,uBAAuB,aAAa,4DAAC,kGAAkG,uDAAC,EAAE,sFAAC,mCAAmC,uDAAC,EAAE,sFAAC,oCAAoC,uDAAC,EAAE,sFAAC,iDAAiD,uDAAC,EAAE,sFAAC,iDAAiD,uDAAC,EAAE,sFAAC,oCAAoC,uDAAC,EAAE,sFAAC,uCAAuC,uDAAC,EAAE,sFAAC,8BAA8B,uDAAC,EAAE,sFAAC,EAAE,KAAK,yHAAC,CAAC,mCAAmC,uDAAC,EAAE,sFAAC,GAAG,oFAAC,qEAAqE,uDAAC,EAAE,sFAAC,GAAG,oFAAC,0DAA0D,uDAAC,EAAE,sFAAC,EAAE,KAAK,8FAAC,gBAAgB,2CAA2C,uDAAC,EAAE,sFAAC,+DAA+D,UAA+B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACJv+L;AACA;AACA;AACA;AACA;AAAiD;AAAmC;AAAyC;AAA0D;AAA2C;AAAkE;AAAgF;AAA4C;AAAoE;AAAgF;AAA6B;AAAgC;AAAmC;AAAgF;AAA+C;AAAwG;AAA6D;AAAgE;AAA8C;AAA6D;AAAgE,MAAM3G,CAAC,GAAC,GAAR;;AAAY,IAAI7B,CAAC,GAAC,cAAcE,gEAAC,CAACK,wEAAC,CAACE,yDAAD,CAAF,CAAf,CAAsB;AAACiC,EAAAA,WAAW,CAACvC,CAAD,EAAG;AAAA;;AAAC,WAAMA,CAAN,kBAAS,KAAK6pH,OAAL,GAAa,CAAC,CAAvB,EAAyB,KAAKC,qBAAL,GAA2B,IAApD,EAAyD,KAAKC,yBAAL,GAA+B,IAAxF,EAA6F,KAAKC,iCAAL,GAAuC,IAApI,EAAyI,KAAKmF,qBAAL,GAA2B,IAAIziH,GAAJ,EAApK,EAA4K,KAAKmB,WAAL,GAAiB,IAA7L,EAAkM,KAAKi6E,OAAL,GAAa,IAA/M,EAAoN,KAAKx+E,KAAL,GAAW,IAA/N,EAAoO,KAAKjE,GAAL,GAAS,IAA7O,EAAkP,KAAK+hH,YAAL,GAAkB,CAApQ,EAAsQ,KAAKgI,gBAAL,GAAsB,IAA5R,EAAiS,KAAK5I,cAAL,GAAoB,CAAC,CAAtT,EAAwT,KAAK3jH,KAAL,GAAW,IAAnU,EAAwU,KAAKwsH,uBAAL,GAA6B,CAArW,EAAuW,KAAKC,qBAAL,GAA2B,CAAlY,EAAoY,KAAKC,mBAAL,GAAyB,CAA7Z,EAA+Z,KAAKC,qBAAL,GAA2B,CAA1b,EAA4b,KAAKC,wBAAL,GAA8B,CAA1d,EAA4d,KAAKvU,YAAL,GAAkB,MAAI;AAAC,YAAK;AAAC4O,QAAAA,qBAAqB,EAAC9pH;AAAvB,UAA0B,IAA/B;AAAoCA,MAAAA,CAAC,IAAEA,CAAC,CAACic,KAAF,EAAH,EAAa,KAAK6tG,qBAAL,GAA2B,IAAxC;AAA6C,KAApkB,EAAqkB,KAAKG,wBAAL,GAA8B,MAAI;AAAC,YAAK;AAACD,QAAAA,iCAAiC,EAAChqH;AAAnC,UAAsC,IAA3C;AAAgDA,MAAAA,CAAC,IAAEA,CAAC,CAACic,KAAF,EAAH,EAAa,KAAK+tG,iCAAL,GAAuC,IAApD;AAAyD,KAAjtB,EAAktB,KAAKG,gBAAL;AAAA,mNAAsB,WAAMnqH,CAAN,EAAS;AAAC,aAAI,CAACk7G,YAAL;;AAAoB,cAAMp7G,CAAC,GAAC,IAAIqc,eAAJ,EAAR;AAA4B,aAAI,CAAC2tG,qBAAL,GAA2BhqH,CAA3B,QAAmCW,wEAAC,CAAC,KAAI,CAAC2pH,MAAL,CAAYpqH,CAAZ,CAAD,CAApC,EAAqD,KAAI,CAAC8pH,qBAAL,KAA6BhqH,CAA7B,KAAiC,KAAI,CAACgqH,qBAAL,GAA2B,IAA5D,CAArD;AAAuH,OAAvM;;AAAA;AAAA;AAAA;AAAA,OAAltB,EAA05B,KAAKO,4BAAL,kNAAkC,aAAS;AAAC,WAAI,CAACR,OAAL,GAAa,CAAC,CAAd,EAAgB,KAAI,CAACI,wBAAL,EAAhB;AAAgD,YAAMjqH,CAAC,GAAC,IAAImc,eAAJ,EAAR;AAA4B,WAAI,CAAC6tG,iCAAL,GAAuChqH,CAAvC,QAA+CS,wEAAC,CAAC,KAAI,CAAC6pH,kBAAL,EAAD,CAAhD,EAA4E,KAAI,CAACN,iCAAL,KAAyChqH,CAAzC,KAA6C,KAAI,CAACgqH,iCAAL,GAAuC,IAApF,CAA5E,EAAsK,KAAI,CAACH,OAAL,GAAa,CAAC,CAApL;AAAsL,KAA9S,CAA15B,EAAysC,KAAKY,eAAL,GAAqBjqH,+DAAC,CAAC,KAAK2pH,gBAAN,EAAuBzoH,CAAvB,CAA/tC,EAAyvC,KAAKgpH,2BAAL,GAAiClqH,+DAAC,CAAC,KAAK6pH,4BAAN,EAAmC3oH,CAAnC,CAA3xC;AAAi0C;;AAAAiC,EAAAA,UAAU,GAAE;AAAC,SAAKyrH,gBAAL,EAAuB3qH,OAAvB,CAAgCzE,CAAC,IAAE;AAACA,MAAAA,CAAC,CAACywB,IAAF,GAAO,CAAC,CAAR;AAAU,KAA9C,GAAiD,KAAKjtB,UAAL,CAAgB,CAAC,IAAG,KAAK4rH,gBAAL,EAAuB/pH,GAAvB,CAA4BrF,CAAC,IAAEsB,6DAAC,CAAE,MAAItB,CAAC,CAACywB,IAAR,EAAe,MAAI;AAACzwB,MAAAA,CAAC,CAACywB,IAAF,IAAQ,KAAKg6F,eAAL,CAAqBzqH,CAArB,CAAR;AAAgC,KAApD,CAAhC,KAA0F,EAA7F,CAAD,EAAiGsB,6DAAC,CAAE,MAAI,CAAC,KAAKwmF,OAAN,EAAc,KAAKx+E,KAAnB,EAAyB,KAAKjE,GAA9B,EAAkC,KAAK+pH,gBAAvC,EAAwD,KAAK17E,QAA7D,EAAsE,KAAK2B,QAA3E,EAAoF,KAAK01E,QAAzF,CAAN,EAA2G,MAAI,KAAKL,2BAAL,EAA/G,EAAmJ5pH,2DAAnJ,CAAlG,CAAhB,CAAjD;AAA2T;;AAAAoD,EAAAA,OAAO,GAAE;AAAC,SAAKg3G,YAAL,IAAoB,KAAK+O,wBAAL,EAApB,EAAoD,KAAKyF,mCAAL,EAApD;AAA+F;;AAAqB,MAAjBxE,iBAAiB,GAAE;AAAC,WAAM,CAAC,CAAC,KAAK5hH,KAAL,EAAYujC,YAAZ,EAA0B5lC,KAA1B,EAAiCikH,iBAAzC;AAA2D;;AAAW,MAAPE,OAAO,GAAE;AAAC,WAAM,CAAC,CAAC,KAAK/lH,GAAP,IAAY,CAAC,CAAC,KAAK+pH,gBAAnB,IAAqC,YAAU,OAAO,KAAK/5E,QAAjE;AAA0E;;AAAY,MAAR01E,QAAQ,GAAE;AAAC,UAAM/qH,CAAC,GAAC,KAAKsJ,KAAL,EAAYujC,YAAZ,EAA0B5lC,KAAlC;AAAwC,WAAM,CAAC,CAAC,KAAKmoH,gBAAP,IAAyB,YAAU,OAAO,KAAK/5E,QAA/C,IAAyD,CAAC,CAACr1C,CAAC,EAAEi9C,kBAApE;AAAuF;;AAAY,MAARvJ,QAAQ,GAAE;AAAC,WAAM,CAAC,KAAKxI,aAAL,IAAoB,KAAK48C,OAAL,EAAcz2C,UAAd,GAA2B,KAAKnG,aAAhC,CAArB,KAAsE,IAA5E;AAAiF;;AAAiB,MAAbA,aAAa,GAAE;AAAC,WAAO,KAAK5hC,KAAL,EAAY4hC,aAAZ,IAA2B,IAAlC;AAAuC;;AAAY,MAARmK,QAAQ,GAAE;AAAC,WAAM,CAAC,KAAK4E,aAAL,IAAoB,KAAK6tC,OAAL,EAAcz2C,UAAd,GAA2B,KAAK4I,aAAhC,CAArB,KAAsE,IAA5E;AAAiF;;AAAiB,MAAbA,aAAa,GAAE;AAAC,UAAK;AAAC3wC,MAAAA,KAAK,EAACtJ;AAAP,QAAU,IAAf;AAAoB,WAAM,uBAAqBA,CAAC,EAAEqD,IAAxB,IAA8BrD,CAAC,EAAEmD,MAAjC,GAAwCnD,CAAC,CAACmD,MAAF,CAAS82C,aAAT,IAAwB,IAAhE,GAAqEj6C,CAAC,EAAEi6C,aAAH,IAAkB,IAA7F;AAAkG;;AAAS,MAALwhD,KAAK,GAAE;AAAC,UAAK;AAACquB,MAAAA,qBAAqB,EAAC9pH,CAAvB;AAAyBgqH,MAAAA,iCAAiC,EAAClqH,CAA3D;AAA6DiqH,MAAAA,yBAAyB,EAACzpH,CAAvF;AAAyFyqH,MAAAA,QAAQ,EAAChrH,CAAlG;AAAoG8pH,MAAAA,OAAO,EAAC3pH,CAA5G;AAA8GkrH,MAAAA,OAAO,EAAChrH;AAAtH,QAAyH,IAA9H;AAAmI,WAAON,CAAC,IAAEM,CAAC,IAAE,CAACF,CAAP,GAAS,SAAT,GAAmBF,CAAC,IAAEM,CAAH,GAAK,UAAL,GAAgBP,CAAC,IAAE,MAAI,KAAKqnH,YAAZ,GAAyB,OAAzB,GAAiC,UAA3E;AAAsF;;AAAkB,MAAduI,cAAc,GAAE;AAAC,UAAK;AAACrmH,MAAAA,KAAK,EAACtJ,CAAP;AAASqF,MAAAA,GAAG,EAACvF;AAAb,QAAgB,IAArB;AAA0B,WAAOE,CAAC,EAAEsF,MAAH,IAAWxF,CAAX,GAAa,uBAAqBE,CAAC,EAAEqD,IAAxB,IAA8BrD,CAAC,EAAEmD,MAAjC,GAAwCtB,6EAAC,CAAC/B,CAAD,EAAGE,CAAC,CAACmD,MAAL,CAAD,IAAe,IAAvD,GAA4DtB,6EAAC,CAAC/B,CAAD,EAAGE,CAAH,CAAD,IAAQ,IAAjF,GAAsF,IAA7F;AAAkG;;AAAqB,MAAjB4vH,iBAAiB,GAAE;AAAC,UAAK;AAACD,MAAAA,cAAc,EAAC3vH;AAAhB,QAAmB,IAAxB;AAA6B,WAAOA,CAAC,EAAEsF,MAAH,GAAU,IAAIlE,gEAAJ,CAAM;AAACuE,MAAAA,GAAG,EAAC3F,CAAC,CAACynD,mBAAF,CAAsBwE,oBAA3B;AAAgDvR,MAAAA,UAAU,EAAC16C,CAAC,CAAC06C;AAA7D,KAAN,CAAV,GAA0F,IAAjG;AAAsG;;AAA2B,MAAvBm1E,uBAAuB,GAAE;AAAC,WAAO,KAAKvrH,IAAL,CAAU,yBAAV,KAAsC,IAAIpE,2DAAJ,EAA7C;AAAmD;;AAAyB,MAArB4vH,qBAAqB,GAAE;AAAC,WAAO,KAAKxrH,IAAL,CAAU,uBAAV,KAAoC,IAAIpE,2DAAJ,EAA3C;AAAiD;;AAAuB,MAAnB6vH,mBAAmB,GAAE;AAAC,WAAO,KAAKzrH,IAAL,CAAU,qBAAV,KAAkC,IAAIpE,2DAAJ,EAAzC;AAA+C;;AAAyB,MAArB8vH,qBAAqB,GAAE;AAAC,WAAO,KAAK1rH,IAAL,CAAU,uBAAV,KAAoC,IAAIpE,2DAAJ,EAA3C;AAAiD;;AAA4B,MAAxB+vH,wBAAwB,GAAE;AAAC,WAAO,KAAK3rH,IAAL,CAAU,0BAAV,KAAuC,IAAIpE,2DAAJ,EAA9C;AAAoD;;AAAuB,MAAnBgwH,mBAAmB,GAAE;AAAC,WAAO,KAAK5rH,IAAL,CAAU,qBAAV,KAAkC,IAAI3D,4DAAJ,EAAzC;AAA+C;;AAAyB,MAArB+rH,qBAAqB,GAAE;AAAC,WAAO,KAAKpoH,IAAL,CAAU,uBAAV,KAAoC,IAAImO,GAAJ,EAA3C;AAAmD;;AAAA6lC,EAAAA,OAAO,GAAE;AAAC,SAAKoyE,2BAAL;AAAmC;;AAAAgF,EAAAA,mCAAmC,GAAE;AAAC,SAAKhD,qBAAL,CAA2BjoH,OAA3B,CAAoCzE,CAAC,IAAEA,CAAC,CAAC8yG,UAAF,EAAvC;AAAwD;;AAAAqd,EAAAA,4BAA4B,CAACnwH,CAAD,EAAGF,CAAH,EAAK;AAAC,UAAK;AAACu1C,MAAAA,QAAQ,EAAC/0C,CAAV;AAAY6uH,MAAAA,qBAAqB,EAACpvH;AAAlC,QAAqC,IAA1C;AAAA,UAA+C;AAACqwH,MAAAA,yBAAyB,EAAClwH;AAA3B,QAA8BF,CAA7E;AAAA,UAA+EI,CAAC,GAACN,CAAC,CAAC8kB,WAAF,CAAchL,GAAd,CAAkB3O,oFAAlB,CAAjF;AAAA,UAAmHxK,CAAC,GAACX,CAAC,CAAC8kB,WAAF,CAAchL,GAAd,CAAkB3O,kFAAlB,CAArH;AAAA,UAAqJzK,CAAC,GAACV,CAAC,CAAC8kB,WAAF,CAAchL,GAAd,CAAkB3O,2FAAlB,CAAvJ;AAAA,UAAgMtK,CAAC,GAACb,CAAC,CAAC8kB,WAAF,CAAchL,GAAd,CAAkB3O,yFAAlB,CAAlM;AAAA,UAAyO3J,CAAC,GAAC,QAAMpB,CAAjP;AAAA,UAAmPY,CAAC,GAAE,IAAGuF,KAAK,CAACiZ,IAAN,CAAWvf,CAAC,CAACi/C,MAAF,EAAX,CAAuB,GAAhR;AAAA,UAAmRx9C,CAAC,GAACF,CAAC,GAAE,QAAOX,CAAC,CAACuZ,IAAK,MAAKha,CAAE,QAAOS,CAAC,CAACuZ,IAAK,OAAMpZ,CAAE,EAA7C,GAA+C,EAArU;AAAA,UAAwUI,CAAC,GAACI,CAAC,GAAE,QAAOd,CAAC,CAAC0Z,IAAK,MAAKha,CAAE,QAAOM,CAAC,CAAC0Z,IAAK,OAAMpZ,CAAE,EAA7C,GAA+C,EAA1X;;AAA6X,YAAOd,CAAC,CAACqD,IAAT;AAAe,WAAI,cAAJ;AAAmB,eAAO,KAAIjD,CAAC,CAAC8Z,IAAK,OAAM5Z,CAAE,IAAGkB,CAAE,SAAQf,CAAC,CAACyZ,IAAK,OAAM5Z,CAAE,IAAGY,CAAE,IAA3D;;AAA+D,WAAI,YAAJ;AAAiB,WAAI,SAAJ;AAAc,eAAO,GAAEd,CAAC,CAAC8Z,IAAK,OAAM5Z,CAAE,IAAGkB,CAAE,EAA7B;;AAA+B,WAAI,WAAJ;AAAgB,WAAI,WAAJ;AAAgB,eAAO,GAAEf,CAAC,CAACyZ,IAAK,OAAM5Z,CAAE,IAAGY,CAAE,EAA7B;;AAA+B;AAAQ,eAAM,EAAN;AAAtO;AAAgP;;AAAAuvH,EAAAA,mCAAmC,CAACzwH,CAAD,EAAG;AAAC,UAAK;AAACmvH,MAAAA,qBAAqB,EAACrvH;AAAvB,QAA0B,IAA/B;AAAA,UAAoCQ,CAAC,GAAE,IAAG+F,KAAK,CAACiZ,IAAN,CAAWxf,CAAC,CAACk/C,MAAF,EAAX,CAAuB,GAAjE;AAAA,UAAoEj/C,CAAC,GAACC,CAAC,CAAC4kB,WAAF,CAAchL,GAAd,CAAkB3O,2FAAlB,CAAtE;AAAA,UAA+G/K,CAAC,GAACF,CAAC,CAAC4kB,WAAF,CAAchL,GAAd,CAAkB3O,yFAAlB,CAAjH;AAAwJ,WAAO,IAAGlL,CAAC,CAACma,IAAK,OAAM5Z,CAAE,QAAOJ,CAAC,CAACga,IAAK,OAAM5Z,CAAE,GAA/C;AAAkD;;AAAAowH,EAAAA,mCAAmC,CAAC1wH,CAAD,EAAGF,CAAH,EAAK;AAAC,UAAMQ,CAAC,GAACR,CAAC,CAAC8kB,WAAF,CAAchL,GAAd,CAAkB3O,uFAAlB,CAAR;;AAA6C,YAAOjL,CAAC,CAACqD,IAAT;AAAe,WAAI,YAAJ;AAAiB,WAAI,WAAJ;AAAgB,eAAO,GAAE/C,CAAC,CAAC4Z,IAAK,MAAhB;;AAAsB,WAAI,cAAJ;AAAmB,eAAO,GAAE5Z,CAAC,CAAC4Z,IAAK,mBAAhB;;AAAmC,WAAI,WAAJ;AAAgB,WAAI,SAAJ;AAAc,eAAO,GAAE5Z,CAAC,CAAC4Z,IAAK,MAAhB;;AAAsB;AAAQ,eAAM,EAAN;AAAxL;AAAkM;;AAAAy2G,EAAAA,oBAAoB,CAAC3wH,CAAD,EAAGF,CAAH,EAAK;AAAC,UAAMQ,CAAC,GAACR,CAAC,CAAC8kB,WAAF,CAAchL,GAAd,CAAkB3O,8EAAlB,CAAR;AAAA,UAAoClL,CAAC,GAAE,IAAGa,uFAAA,CAAO,GAAP,CAAY,GAAtD;AAAA,UAAyDV,CAAC,GAAE,GAAEI,CAAC,CAAC4Z,IAAK,OAAMna,CAAE,EAA7E;AAA+E,WAAO,IAAG,KAAKowH,4BAAL,CAAkCnwH,CAAlC,EAAoCF,CAApC,CAAuC,QAAOI,CAAE,QAAO,KAAKwwH,mCAAL,CAAyC1wH,CAAzC,EAA2CF,CAA3C,CAA8C,GAA/G;AAAkH;;AAAM8wH,EAAAA,mBAAmB,GAAE;AAAA;;AAAA;AAAC,YAAM5wH,CAAC,GAAC,MAAI,CAACqF,GAAb;AAAiB,UAAG,CAACrF,CAAJ,EAAM;AAAO,YAAMmF,OAAO,CAACuB,UAAR,CAAmB1G,CAAC,CAAC6wH,eAAF,EAAmBxrH,GAAnB;AAAA,sNAAwB,WAAMrF,CAAN,EAAS;AAAC,gBAAMA,CAAC,CAACgF,IAAF,EAAN;AAAe,SAAjD;;AAAA;AAAA;AAAA;AAAA,cAAqD,EAAxE,CAAN;;AAAkF,YAAMlF,CAAC,GAACE,CAAC,IAAE;AAAC,YAAG,aAAYA,CAAZ,IAAeM,CAAC,CAAC4sD,cAAF,CAAiBltD,CAAjB,CAAlB,EAAsC;AAAC,gBAAMF,CAAC,GAACQ,CAAC,CAACynD,oBAAF,CAAuB/nD,CAAC,CAAC0X,OAAzB,CAAR;AAA0C,mBAAO5X,CAAP,IAAU,MAAI,CAACqvH,qBAAL,CAA2BxtF,GAA3B,CAA+B7hC,CAA/B,CAAV;AAA4C;AAAC,OAA1I;AAAA,YAA2IQ,CAAC,GAAC,MAAI,CAACqvH,cAAlJ;;AAAiK,YAAI,CAACtrH,IAAL,CAAU,uBAAV,EAAkC,IAAIqI,GAAJ,EAAlC,GAA2C1M,CAAC,CAACqX,SAAF,CAAY5S,OAAZ,CAAoB3E,CAApB,CAA3C,EAAkEE,CAAC,CAAC8wH,SAAF,CAAYrsH,OAAZ,CAAoB3E,CAApB,CAAlE;AAAlR;AAA2W;;AAAMixH,EAAAA,qBAAqB,CAAC/wH,CAAD,EAAG;AAAA;;AAAA;AAAC,YAAK;AAAC2vH,QAAAA,cAAc,EAAC7vH,CAAhB;AAAkBuF,QAAAA,GAAG,EAAC/E;AAAtB,UAAyB,MAA9B;AAAA,YAAmCP,CAAC,GAACC,CAAC,IAAE;AAAC,cAAMM,CAAC,GAACN,CAAR;AAAU,YAAG,CAACA,CAAC,CAAC2F,GAAN,EAAU,OAAM,CAAC,CAAP;;AAAS,YAAGrF,CAAC,CAACoX,OAAF,KAAYxX,CAAf,EAAiB;AAAC,iBAAOF,CAAC,CAAC2F,GAAF,CAAM0K,OAAN,CAAc,QAAd,EAAuB,EAAvB,MAA6BvQ,CAAC,EAAEknD,iBAAvC;AAAyD;;AAAA,eAAM,CAAC,CAAP;AAAS,OAA1J;;AAA2J,YAAMlnD,CAAC,EAAEkF,IAAH,EAAN;AAAiB,YAAM9E,CAAC,GAACJ,CAAC,CAAC8nD,oBAAF,CAAuB5nD,CAAvB,CAAR;AAAA,YAAkCI,CAAC,GAACE,CAAC,CAAC+W,SAAF,CAAY5Q,MAAZ,CAAmB1G,CAAnB,CAApC;AAAA,YAA0DU,CAAC,GAACH,CAAC,CAACwwH,SAAF,CAAYrqH,MAAZ,CAAmB1G,CAAnB,CAA5D;AAAA,YAAkFS,CAAC,GAACJ,CAAC,CAAC6W,MAAF,CAASxW,CAAT,EAAY0D,OAAZ,EAApF;AAA0G,aAAO,MAAMgB,OAAO,CAACuB,UAAR,CAAmBlG,CAAC,CAAC6E,GAAF,CAAOrF,CAAC,IAAEA,CAAC,CAACgF,IAAF,EAAV,CAAnB,CAAN,EAA+CxE,CAAtD;AAAvR;AAA+U;;AAAAwwH,EAAAA,kBAAkB,GAAE;AAAC,SAAKnB,uBAAL,CAA6B3mH,SAA7B,IAAyC,KAAK4mH,qBAAL,CAA2B5mH,SAA3B,EAAzC,EAAgF,KAAK6mH,mBAAL,CAAyB7mH,SAAzB,EAAhF,EAAqH,KAAK8mH,qBAAL,CAA2B9mH,SAA3B,EAArH,EAA4J,KAAK+mH,wBAAL,CAA8B/mH,SAA9B,EAA5J;AAAsM;;AAAA+nH,EAAAA,cAAc,GAAE;AAAC,SAAKf,mBAAL,CAAyBzrH,OAAzB,CAAkCzE,CAAC,IAAEA,CAAC,CAACkJ,SAAF,EAArC,GAAqD,KAAKgnH,mBAAL,CAAyBx2G,KAAzB,EAArD;AAAsF;;AAAAw3G,EAAAA,sBAAsB,CAAClxH,CAAD,EAAG;AAAC,YAAOA,CAAP;AAAU,WAAI,YAAJ;AAAiB,eAAO,KAAK6vH,uBAAZ;;AAAoC,WAAI,WAAJ;AAAgB,eAAO,KAAKC,qBAAZ;;AAAkC,WAAI,cAAJ;AAAmB,eAAO,KAAKG,wBAAZ;;AAAqC,WAAI,WAAJ;AAAgB,eAAO,KAAKD,qBAAZ;;AAAkC,WAAI,SAAJ;AAAc,eAAO,KAAKD,mBAAZ;AAAzO;AAA0Q;;AAAAoB,EAAAA,6BAA6B,CAACnxH,CAAD,EAAGF,CAAH,EAAK;AAAC,QAAG,CAACE,CAAJ,EAAM,OAAO,IAAP;AAAY,UAAMM,CAAC,GAACU,oFAAA,CAAMlB,CAAC,CAACuxC,UAAF,CAAarxC,CAAC,CAAC4kB,WAAF,CAAchL,GAAd,CAAkB3O,uFAAlB,EAAqCiP,IAAlD,CAAN,CAAR;AAAuE,WAAO,IAAInY,8EAAJ,CAAM;AAACszC,MAAAA,QAAQ,EAACv1C,CAAC,CAACuxC,UAAF,CAAarxC,CAAC,CAAC4kB,WAAF,CAAchL,GAAd,CAAkB3O,gFAAlB,EAA8BiP,IAA3C,CAAV;AAA2D0zC,MAAAA,kBAAkB,EAAC,IAAIjsD,iFAAJ,CAAM;AAAC0zC,QAAAA,QAAQ,EAACv1C,CAAC,CAACuxC,UAAF,CAAarxC,CAAC,CAAC4kB,WAAF,CAAchL,GAAd,CAAkB3O,oFAAlB,EAAkCiP,IAA/C,CAAV;AAA+D+tC,QAAAA,eAAe,EAACnoD,CAAC,CAACuxC,UAAF,CAAarxC,CAAC,CAAC4kB,WAAF,CAAchL,GAAd,CAAkB3O,2FAAlB,EAAyCiP,IAAtD,CAA/E;AAA2IuzC,QAAAA,UAAU,EAAC3tD,CAAC,CAACuxC,UAAF,CAAarxC,CAAC,CAAC4kB,WAAF,CAAchL,GAAd,CAAkB3O,sFAAlB,EAAoCiP,IAAjD;AAAtJ,OAAN,CAA9E;AAAmS4zC,MAAAA,gBAAgB,EAAC,IAAInsD,iFAAJ,CAAM;AAAC0zC,QAAAA,QAAQ,EAACv1C,CAAC,CAACuxC,UAAF,CAAarxC,CAAC,CAAC4kB,WAAF,CAAchL,GAAd,CAAkB3O,kFAAlB,EAAgCiP,IAA7C,CAAV;AAA6D+tC,QAAAA,eAAe,EAACnoD,CAAC,CAACuxC,UAAF,CAAarxC,CAAC,CAAC4kB,WAAF,CAAchL,GAAd,CAAkB3O,yFAAlB,EAAuCiP,IAApD,CAA7E;AAAuIuzC,QAAAA,UAAU,EAAC3tD,CAAC,CAACuxC,UAAF,CAAarxC,CAAC,CAAC4kB,WAAF,CAAchL,GAAd,CAAkB3O,oFAAlB,EAAkCiP,IAA/C;AAAlJ,OAAN,CAApT;AAAmgBm0C,MAAAA,eAAe,EAAC/tD,CAAnhB;AAAqhBif,MAAAA,MAAM,EAACzf,CAAC,CAACuxC,UAAF,CAAarxC,CAAC,CAAC4kB,WAAF,CAAchL,GAAd,CAAkB3O,8EAAlB,EAA4BiP,IAAzC,CAA5hB;AAA2kBi1C,MAAAA,gBAAgB,EAACrvD,CAAC,CAACuxC,UAAF,CAAarxC,CAAC,CAAC4kB,WAAF,CAAchL,GAAd,CAAkB3O,wFAAlB,EAAsCiP,IAAnD,CAA5lB;AAAqpBm1C,MAAAA,YAAY,EAACvvD,CAAC,CAACuxC,UAAF,CAAarxC,CAAC,CAAC4kB,WAAF,CAAchL,GAAd,CAAkB3O,oFAAlB,EAAkCiP,IAA/C;AAAlqB,KAAN,CAAP;AAAsuB;;AAAMo3G,EAAAA,WAAW,CAACtxH,CAAD,EAAGF,CAAH,EAAKQ,CAAL,EAAOP,CAAP,EAASG,CAAT,EAAW;AAAA;;AAAA;AAAC,YAAME,CAAC,GAACJ,CAAC,CAAC4kB,WAAF,CAAchL,GAAd,CAAkB3O,kFAAlB,CAAR;AAAA,YAAwCxK,CAAC,GAACT,CAAC,CAAC4kB,WAAF,CAAchL,GAAd,CAAkB3O,iFAAlB,CAA1C;AAAA,YAAyEzK,CAAC,GAAC,QAAMF,CAAjF;AAAA,YAAmFK,CAAC,GAAC,QAAMZ,CAA3F;AAAA,YAA6FuB,CAAC,GAAC,MAAIxB,CAAC,CAACuF,GAAF,CAAOrF,CAAC,IAAG,IAAGA,CAAE,GAAhB,EAAqBsmB,IAArB,CAA0B,IAA1B,CAAJ,GAAoC,GAAnI;AAAA,YAAuIxlB,CAAC,GAACN,CAAC,GAAE,QAAOJ,CAAC,EAAE8Z,IAAK,MAAK5Z,CAAE,EAAxB,GAA0B,EAApK;AAAA,YAAuKkB,CAAC,GAAChB,CAAC,IAAEG,CAAH,GAAM,QAAOF,CAAC,EAAEyZ,IAAK,MAAKna,CAAE,EAA5B,GAA8B,EAAvM;AAAA,YAA0MmB,CAAC,GAAE,GAAElB,CAAC,CAACi6C,aAAc,OAAM34C,CAAE,EAA3B,GAA6BR,CAA7B,GAA+BU,CAA3O;AAAA,YAA6OJ,CAAC,GAAC,IAAIa,+DAAJ,CAAM;AAACkL,QAAAA,SAAS,EAAC,CAAC,GAAD,CAAX;AAAiB4uC,QAAAA,SAAS,EAAC,MAAI,CAACmvE,iBAAhC;AAAkD77E,QAAAA,KAAK,EAACnuC;AAAxD,OAAN,CAA/O;AAAiT,mBAAa,MAAI,CAACuwH,SAAL,CAAerwH,CAAf,EAAiBpB,CAAjB,EAAmB;AAACwH,QAAAA,MAAM,EAACtH,CAAC,EAAEsH;AAAX,OAAnB,CAAb;AAAlT;AAAsW;;AAAMkqH,EAAAA,gCAAgC,CAAC1xH,CAAD,EAAGF,CAAH,EAAKQ,CAAL,EAAOP,CAAP,EAASG,CAAT,EAAWE,CAAX,EAAa;AAAA;;AAAA;AAAC,UAAG,MAAIJ,CAAC,CAAC2N,MAAT,EAAgB,OAAM,EAAN;AAAS,YAAMlN,CAAC,GAAC,IAAIgS,GAAJ,EAAR;;AAAgB,WAAI,MAAK,CAAC9R,CAAD,EAAGW,CAAH,CAAT,IAAiBxB,CAAjB,EAAmB;AAAC,cAAME,CAAC,SAAO,MAAI,CAAC+wH,qBAAL,CAA2BpwH,CAA3B,CAAd;;AAA4C,aAAI,MAAMb,CAAV,IAAeE,CAAf,EAAiB;AAAC,iBAAO,MAAI,CAACsxH,WAAL,CAAiBxxH,CAAjB,EAAmBwB,CAAnB,EAAqBvB,CAArB,EAAuBG,CAAvB,EAAyBE,CAAzB,CAAP,EAAoCqE,OAApC,CAA6CzE,CAAC,IAAE;AAAC,gBAAGA,CAAC,CAACkxF,yBAAF,MAA+BlxF,CAAC,CAACsJ,KAApC,EAA0C;AAAC,oBAAMhJ,CAAC,GAACG,CAAC,CAACmZ,GAAF,CAAM5Z,CAAC,CAACqxC,UAAF,CAAavxC,CAAC,CAACm6C,aAAf,CAAN,KAAsC,EAA9C;AAAiD35C,cAAAA,CAAC,CAACsE,IAAF,CAAO5E,CAAP,GAAUS,CAAC,CAAC+E,GAAF,CAAMxF,CAAC,CAACqxC,UAAF,CAAavxC,CAAC,CAACm6C,aAAf,CAAN,EAAoC35C,CAApC,CAAV;AAAiD;AAAC,WAA/L;AAAkM;AAAC;;AAAA,YAAME,CAAC,GAAC,EAAR;AAAW,aAAOR,CAAC,CAACmE,OAAF,GAAYM,OAAZ,CAAqBzE,CAAC,IAAE;AAAC,cAAMF,CAAC,GAACE,CAAC,CAAC4tD,kBAAF,CAAqBvY,QAArB,KAAgC/0C,CAAhC,GAAkCN,CAAC,CAAC8tD,gBAApC,GAAqD9tD,CAAC,CAAC4tD,kBAA/D;AAAkF,SAACntD,CAAC,CAACmZ,GAAF,CAAM9Z,CAAC,CAACu1C,QAAR,KAAmB,EAApB,EAAwB5wC,OAAxB,CAAiCnE,CAAC,IAAE;AAAC,gBAAMP,CAAC,GAAC,MAAI,CAAC4vH,cAAL,EAAqB3iE,eAArB,CAAqCltD,CAAC,EAAE2tD,UAAxC,GAAqDvzC,IAA7D;AAAkE1Z,UAAAA,CAAC,CAACoE,IAAF,CAAO;AAAC4oH,YAAAA,WAAW,EAACxtH,CAAb;AAAeuvC,YAAAA,OAAO,EAACjvC,CAAvB;AAAyBguH,YAAAA,YAAY,EAACvuH;AAAtC,WAAP;AAAiD,SAAxJ;AAA2J,OAAtQ,GAAyQS,CAAhR;AAA1U;AAA4lB;;AAAAmxH,EAAAA,oBAAoB,CAAC3xH,CAAD,EAAGF,CAAH,EAAK;AAACE,IAAAA,CAAC,CAACyE,OAAF,CAAWzE,CAAC,IAAE;AAAC,YAAMM,CAAC,GAACN,CAAC,EAAEuvC,OAAX;AAAA,YAAmBxvC,CAAC,GAACO,CAAC,CAACgJ,KAAvB;AAAA,YAA6BlJ,CAAC,GAACN,CAAC,CAAC8Z,GAAF,CAAM7Z,CAAN,KAAU,IAAIG,2DAAJ,EAAzC;AAA+CE,MAAAA,CAAC,CAACuhC,GAAF,CAAM3hC,CAAN,GAASF,CAAC,CAAC0F,GAAF,CAAMzF,CAAN,EAAQK,CAAR,CAAT;AAAoB,KAAlF;AAAqF;;AAAMqxH,EAAAA,SAAS,CAACzxH,CAAD,EAAGF,CAAH,EAAKQ,CAAL,EAAO;AAAA;AAAC,YAAMP,CAAC,GAAC,EAAR;AAAW,UAAIG,CAAC,GAAC,CAAN;AAAA,UAAQE,CAAC,GAAC,CAAC,CAAX;AAAaJ,MAAAA,CAAC,CAACs6C,GAAF,GAAMx6C,CAAC,CAACkxC,UAAF,EAAcmM,cAAd,IAA8B,GAApC;;AAAwC,SAAE;AAACn9C,QAAAA,CAAC,CAAC0hB,KAAF,GAAQxhB,CAAR;AAAU,cAAMO,CAAC,SAAOX,CAAC,CAAC+vC,aAAF,CAAgB7vC,CAAhB,EAAkBM,CAAlB,CAAd;AAAmCP,QAAAA,CAAC,CAAC6E,IAAF,CAAO,GAAGnE,CAAC,CAAC4tC,QAAZ,GAAsBjuC,CAAC,GAACK,CAAC,CAACy8C,qBAA1B,EAAgD98C,CAAC,KAAGF,CAAC,IAAEO,CAAC,CAAC4tC,QAAF,CAAW1gC,MAAjB,CAAjD;AAA0E,OAA1H,QAAgIvN,CAAhI;;AAAmI,aAAOL,CAAP;AAApM;AAA6M;;AAAM6xH,EAAAA,4BAA4B,CAAC5xH,CAAD,EAAG;AAAA;;AAAA;AAAC,YAAK;AAACsJ,QAAAA,KAAK,EAACxJ,CAAP;AAASu1C,QAAAA,QAAQ,EAAC/0C,CAAlB;AAAoB4qH,QAAAA,iBAAiB,EAACnrH,CAAtC;AAAwCqvH,QAAAA,gBAAgB,EAAClvH,CAAzD;AAA2D0vH,QAAAA,iBAAiB,EAACxvH,CAA7E;AAA+EuvH,QAAAA,cAAc,EAAClvH,CAA9F;AAAgGsqH,QAAAA,QAAQ,EAACvqH;AAAzG,UAA4G,MAAjH;AAAsH,UAAG,MAAM2E,OAAO,CAACuB,UAAR,CAAmB,CAAC5G,CAAC,EAAEkF,IAAH,EAAD,EAAWvE,CAAC,EAAEuE,IAAH,EAAX,EAAqB5E,CAAC,EAAE4E,IAAH,EAArB,CAAnB,CAAN,EAA0D,MAAI,CAACgsH,kBAAL,EAA1D,EAAoF,EAAExwH,CAAC,IAAEV,CAAH,IAAMI,CAAN,IAASE,CAAX,CAAvF,EAAqG;;AAAO,YAAMO,CAAC,GAACP,CAAC,CAACwkB,WAAF,CAAchL,GAAd,CAAkB3O,kFAAlB,EAAgCiP,IAAxC;AAAA,YAA6C5Y,CAAC,GAAClB,CAAC,CAACwkB,WAAF,CAAchL,GAAd,CAAkB3O,oFAAlB,EAAkCiP,IAAjF;AAAA,YAAsFpZ,CAAC,GAACZ,CAAC,CAACmF,GAAF,CAAOrF,CAAC,IAAE,MAAI,CAAC2wH,oBAAL,CAA0B3wH,CAA1B,EAA4BI,CAA5B,CAAV,CAAxF;AAAA,YAAmIoB,CAAC,GAAC,MAAI,CAACivH,mCAAL,CAAyCrwH,CAAzC,CAArI;AAAA,YAAiLc,CAAC,GAACJ,CAAC,CAACwlB,IAAF,CAAO,MAAP,CAAnL;AAAA,YAAkMllB,CAAC,GAAC,IAAIa,+DAAJ,CAAM;AAACkL,QAAAA,SAAS,EAAC,CAAC,GAAD,CAAX;AAAiB4uC,QAAAA,SAAS,EAACh8C,CAA3B;AAA6BsN,QAAAA,cAAc,EAAC,CAAC,CAA7C;AAA+CgiC,QAAAA,KAAK,EAAE,IAAGnuC,CAAE,UAASM,CAAE;AAAtE,OAAN,CAApM;AAAA,YAAqRZ,CAAC,SAAO,MAAI,CAAC6wH,SAAL,CAAerwH,CAAf,EAAiBhB,CAAjB,EAAmB;AAACoH,QAAAA,MAAM,EAACxH,CAAC,EAAEwH;AAAX,OAAnB,CAA7R;AAAA,YAAoUxG,CAAC,GAAC,IAAIyR,GAAJ,EAAtU;;AAA8UvS,MAAAA,CAAC,CAACuE,OAAF,CAAWzE,CAAC,IAAE;AAACgB,QAAAA,CAAC,CAACwE,GAAF,CAAMxF,CAAC,CAACqD,IAAR,EAAa,EAAb;AAAiB,OAAhC,GAAmCzC,CAAC,CAAC6D,OAAF,CAAWzE,CAAC,IAAE;AAAC,cAAMF,CAAC,GAACM,CAAC,CAACwkB,WAAF,CAAchL,GAAd,CAAkB3O,uFAAlB,CAAR;;AAA6C,gBAAOjL,CAAC,CAACqxC,UAAF,CAAavxC,CAAC,CAACoa,IAAf,CAAP;AAA6B,eAAK,CAAL;AAAO,eAAK,CAAL;AAAO,eAAK,CAAL;AAAO,eAAK,CAAL;AAAOla,YAAAA,CAAC,CAACqxC,UAAF,CAAa/vC,CAAb,MAAkBhB,CAAlB,GAAoBU,CAAC,CAAC4Y,GAAF,CAAM,cAAN,EAAsBhV,IAAtB,CAA2B5E,CAAC,CAACqxC,UAAF,CAAa1wC,CAAb,CAA3B,CAApB,GAAgEK,CAAC,CAAC4Y,GAAF,CAAM,cAAN,EAAsBhV,IAAtB,CAA2B5E,CAAC,CAACqxC,UAAF,CAAa/vC,CAAb,CAA3B,CAAhE,EAA4G,MAAI,CAAC2uH,wBAAL,CAA8BtuF,GAA9B,CAAkC,MAAI,CAACwvF,6BAAL,CAAmC/wH,CAAnC,EAAqCJ,CAArC,CAAlC,CAA5G;AAAuL;;AAAM,eAAK,CAAL;AAAOA,YAAAA,CAAC,CAACqxC,UAAF,CAAa/vC,CAAb,MAAkBhB,CAAlB,IAAqBU,CAAC,CAAC4Y,GAAF,CAAM,SAAN,EAAiBhV,IAAjB,CAAsB5E,CAAC,CAACqxC,UAAF,CAAa1wC,CAAb,CAAtB,GAAuC,MAAI,CAACovH,mBAAL,CAAyBpuF,GAAzB,CAA6B,MAAI,CAACwvF,6BAAL,CAAmC/wH,CAAnC,EAAqCJ,CAArC,CAA7B,CAA5D,KAAoIgB,CAAC,CAAC4Y,GAAF,CAAM,WAAN,EAAmBhV,IAAnB,CAAwB5E,CAAC,CAACqxC,UAAF,CAAa/vC,CAAb,CAAxB,GAAyC,MAAI,CAAC0uH,qBAAL,CAA2BruF,GAA3B,CAA+B,MAAI,CAACwvF,6BAAL,CAAmC/wH,CAAnC,EAAqCJ,CAArC,CAA/B,CAA7K;AAAsP;;AAAM,eAAK,CAAL;AAAOA,YAAAA,CAAC,CAACqxC,UAAF,CAAa/vC,CAAb,MAAkBhB,CAAlB,IAAqBU,CAAC,CAAC4Y,GAAF,CAAM,YAAN,EAAoBhV,IAApB,CAAyB5E,CAAC,CAACqxC,UAAF,CAAa1wC,CAAb,CAAzB,GAA0C,MAAI,CAACkvH,uBAAL,CAA6BluF,GAA7B,CAAiC,MAAI,CAACwvF,6BAAL,CAAmC/wH,CAAnC,EAAqCJ,CAArC,CAAjC,CAA/D,KAA2IgB,CAAC,CAAC4Y,GAAF,CAAM,WAAN,EAAmBhV,IAAnB,CAAwB5E,CAAC,CAACqxC,UAAF,CAAa/vC,CAAb,CAAxB,GAAyC,MAAI,CAACwuH,qBAAL,CAA2BnuF,GAA3B,CAA+B,MAAI,CAACwvF,6BAAL,CAAmC/wH,CAAnC,EAAqCJ,CAArC,CAA/B,CAApL;AAAhgB;AAA8vB,OAA1zB,CAAnC;AAAg2B,YAAM+B,CAAC,GAAC7B,CAAC,CAACmF,GAAF;AAAA,sNAAO,WAAMvF,CAAN,EAAS;AAAC,gBAAK;AAACswH,YAAAA,yBAAyB,EAAC9vH,CAA3B;AAA6BuxH,YAAAA,oBAAoB,EAAC9xH,CAAlD;AAAoD+xH,YAAAA,mBAAmB,EAAC5xH;AAAxE,cAA2EJ,CAAhF;AAAA,gBAAkFM,CAAC,GAACY,CAAC,CAAC4Y,GAAF,CAAM9Z,CAAC,CAACuD,IAAR,CAApF;AAAA,gBAAkG5C,CAAC,GAAC,QAAMV,CAAN,SAAc,MAAI,CAACgyH,wBAAL,CAA8BzxH,CAA9B,EAAgCF,CAAhC,EAAkCL,CAAlC,EAAoCG,CAApC,EAAsCF,CAAtC,CAAd,GAAuDI,CAAC,CAACuN,MAA7J;;AAAoK,kBAAO7N,CAAC,CAACuD,IAAT;AAAe,iBAAI,YAAJ;AAAiB,oBAAI,CAACgB,IAAL,CAAU,yBAAV,EAAoC5D,CAApC;;AAAuC;;AAAM,iBAAI,WAAJ;AAAgB,oBAAI,CAAC4D,IAAL,CAAU,uBAAV,EAAkC5D,CAAlC;;AAAqC;;AAAM,iBAAI,SAAJ;AAAc,oBAAI,CAAC4D,IAAL,CAAU,qBAAV,EAAgC5D,CAAhC;;AAAmC;;AAAM,iBAAI,WAAJ;AAAgB,oBAAI,CAAC4D,IAAL,CAAU,uBAAV,EAAkC5D,CAAlC;;AAAqC;;AAAM,iBAAI,cAAJ;AAAmB,oBAAI,CAAC4D,IAAL,CAAU,0BAAV,EAAqC5D,CAArC;;AAA7Q;AAAsT,SAA3e;;AAAA;AAAA;AAAA;AAAA,UAAR;AAAsf,YAAM0E,OAAO,CAACuB,UAAR,CAAmB3E,CAAnB,CAAN;AAAv4D;AAAm6D;;AAAMiwH,EAAAA,4BAA4B,CAAChyH,CAAD,EAAGF,CAAH,EAAKQ,CAAL,EAAOP,CAAP,EAASG,CAAT,EAAW;AAAA;AAAC,YAAME,CAAC,GAACJ,CAAC,CAAC4kB,WAAF,CAAchL,GAAd,CAAkB3O,kFAAlB,CAAR;AAAA,YAAwCxK,CAAC,GAACT,CAAC,CAAC4kB,WAAF,CAAchL,GAAd,CAAkB3O,iFAAlB,CAA1C;AAAA,YAAyEzK,CAAC,GAAC,QAAMT,CAAjF;AAAA,YAAmFY,CAAC,GAAC,MAAIb,CAAC,CAACuF,GAAF,CAAOrF,CAAC,IAAG,IAAGA,CAAE,GAAhB,EAAqBsmB,IAArB,CAA0B,IAA1B,CAAJ,GAAoC,GAAzH;AAAA,YAA6HhlB,CAAC,GAAE,QAAOlB,CAAC,EAAE8Z,IAAK,MAAK5Z,CAAE,EAAtJ;AAAA,YAAwJQ,CAAC,GAACN,CAAC,GAAE,QAAOC,CAAC,EAAEyZ,IAAK,MAAKna,CAAE,EAAxB,GAA0B,EAArL;AAAA,YAAwLyB,CAAC,GAAE,GAAExB,CAAC,CAACi6C,aAAc,OAAMt5C,CAAE,EAA3B,GAA6BW,CAA7B,GAA+BR,CAAzN;AAA2N,aAAOd,CAAC,CAACwnC,iBAAF,CAAoB;AAAC6H,QAAAA,KAAK,EAAC7tC,CAAP;AAAS2L,QAAAA,SAAS,EAAC,CAAC,GAAD,CAAnB;AAAyBE,QAAAA,cAAc,EAAC,CAAC;AAAzC,OAApB,EAAgE;AAAC7F,QAAAA,MAAM,EAACtH,CAAC,EAAEsH;AAAX,OAAhE,CAAP;AAA5N;AAAuT;;AAAMuqH,EAAAA,wBAAwB,CAAC/xH,CAAD,EAAGF,CAAH,EAAKQ,CAAL,EAAOP,CAAP,EAASG,CAAT,EAAW;AAAA;;AAAA;AAAC,UAAG,MAAIJ,CAAC,CAAC6N,MAAT,EAAgB,OAAO,CAAP;AAAS,YAAMvN,CAAC,GAAC,OAAO,MAAI,CAAC2wH,qBAAL,CAA2B/wH,CAA3B,CAAP,EAAsCqF,GAAtC;AAAA,sNAA2C,WAAMrF,CAAN;AAAA,iBAAS,MAAI,CAACgyH,4BAAL,CAAkChyH,CAAlC,EAAoCF,CAApC,EAAsCQ,CAAtC,EAAwCP,CAAxC,EAA0CG,CAA1C,CAAT;AAAA,SAA3C;;AAAA;AAAA;AAAA;AAAA,UAAR;AAA2G,aAAM,OAAOiF,OAAO,CAACc,GAAR,CAAY7F,CAAZ,CAAP,EAAuBwQ,MAAvB,CAA+B,CAAC5Q,CAAD,EAAGF,CAAH,KAAOE,CAAC,GAACF,CAAxC,EAA2C,CAA3C,CAAN;AAArI;AAAyL;;AAAMmyH,EAAAA,wBAAwB,CAACjyH,CAAD,EAAGF,CAAH,EAAK;AAAA;;AAAA;AAAC,YAAK;AAACwJ,QAAAA,KAAK,EAAChJ,CAAP;AAAS+0C,QAAAA,QAAQ,EAACt1C,CAAlB;AAAoBqvH,QAAAA,gBAAgB,EAAClvH,CAArC;AAAuC0vH,QAAAA,iBAAiB,EAACxvH,CAAzD;AAA2DuvH,QAAAA,cAAc,EAAClvH,CAA1E;AAA4EsqH,QAAAA,QAAQ,EAACvqH,CAArF;AAAuF0vH,QAAAA,mBAAmB,EAACvvH;AAA3G,UAA8G,MAAnH;AAAwH,UAAG,MAAMwE,OAAO,CAACuB,UAAR,CAAmB,CAACpG,CAAC,EAAE0E,IAAH,EAAD,EAAWvE,CAAC,EAAEuE,IAAH,EAAX,EAAqB5E,CAAC,EAAE4E,IAAH,EAArB,CAAnB,CAAN,EAA0D,EAAExE,CAAC,IAAEF,CAAH,IAAMJ,CAAN,IAASE,CAAX,CAA7D,EAA2E;;AAAO,YAAMkB,CAAC,GAAC,MAAI,CAAC4vH,sBAAL,CAA4BlxH,CAAC,CAACqD,IAA9B,CAAR;AAAA,YAA4C;AAACwuH,QAAAA,oBAAoB,EAAC/wH,CAAtB;AAAwBgxH,QAAAA,mBAAmB,EAACtwH;AAA5C,UAA+CxB,CAA3F;AAAA,YAA6FkB,CAAC,GAAC,IAAIuR,GAAJ,EAA/F;;AAAuGnR,MAAAA,CAAC,CAACmD,OAAF,CAAWzE,CAAC,IAAE;AAAC,cAAK;AAACioD,UAAAA,eAAe,EAACnoD,CAAjB;AAAmBoyH,UAAAA,eAAe,EAAC5xH;AAAnC,YAAsCN,CAAC,CAAC4tD,kBAAF,CAAqBvY,QAArB,KAAgCt1C,CAAhC,GAAkC;AAACkoD,UAAAA,eAAe,EAACjoD,CAAC,CAAC8tD,gBAAF,CAAmB7F,eAApC;AAAoDiqE,UAAAA,eAAe,EAAClyH,CAAC,CAAC8tD,gBAAF,CAAmBzY;AAAvF,SAAlC,GAAmI;AAAC4S,UAAAA,eAAe,EAACjoD,CAAC,CAAC4tD,kBAAF,CAAqB3F,eAAtC;AAAsDiqE,UAAAA,eAAe,EAAClyH,CAAC,CAAC4tD,kBAAF,CAAqBvY;AAA3F,SAA9K;AAAA,cAAmRn1C,CAAC,GAACgB,CAAC,CAAC0Y,GAAF,CAAM9Z,CAAN,KAAU,EAA/R;AAAkSI,QAAAA,CAAC,CAAC0E,IAAF,CAAOtE,CAAP,GAAUY,CAAC,CAACsE,GAAF,CAAM1F,CAAN,EAAQI,CAAR,CAAV;AAAqB,OAAtU;AAAyU,YAAMkB,CAAC,SAAO,MAAI,CAACswH,gCAAL,CAAsCpwH,CAAtC,EAAwCJ,CAAxC,EAA0CnB,CAA1C,EAA4Ce,CAA5C,EAA8CU,CAA9C,EAAgD1B,CAAhD,CAAd;;AAAiE,YAAI,CAAC6xH,oBAAL,CAA0BvwH,CAA1B,EAA4BT,CAA5B;AAA5rB;AAA2tB;;AAAM2pH,EAAAA,kBAAkB,GAAE;AAAA;;AAAA;AAAC,YAAM,MAAI,CAACsG,mBAAL,EAAN;AAAiC,YAAK;AAAC5G,QAAAA,iCAAiC,EAAChqH,CAAnC;AAAqC+qH,QAAAA,QAAQ,EAACjrH;AAA9C,UAAiD,MAAtD;AAA2DA,MAAAA,CAAC,IAAE,MAAM,MAAI,CAAC8xH,4BAAL,CAAkC5xH,CAAlC,CAAN,EAA2C,MAAI,CAACqE,IAAL,CAAU,cAAV,EAAyB,MAAI,CAACgrH,uBAAL,GAA6B,MAAI,CAACC,qBAAlC,GAAwD,MAAI,CAACC,mBAA7D,GAAiF,MAAI,CAACC,qBAAtF,GAA4G,MAAI,CAACC,wBAA1I,CAA7C,IAAkN,MAAI,CAACprH,IAAL,CAAU,cAAV,EAAyB,CAAzB,CAAnN;AAA7F;AAA4U;;AAAM+lH,EAAAA,MAAM,CAACpqH,CAAD,EAAG;AAAA;;AAAA;AAAC,YAAM,OAAI,CAAC4wH,mBAAL,EAAN;AAAiC,YAAK;AAAC9G,QAAAA,qBAAqB,EAAChqH;AAAvB,UAA0B,OAA/B;AAAoC,aAAI,CAACsnH,YAAL,KAAoB,OAAI,CAACsI,mCAAL,IAA2C,OAAI,CAACuB,cAAL,EAA3C,EAAiE,OAAI,CAAC94E,SAAL,WAAsB,OAAI,CAAC85E,wBAAL,CAA8BjyH,CAA9B,EAAgC;AAACwH,QAAAA,MAAM,EAAC1H,CAAC,EAAE0H;AAAX,OAAhC,CAAtB,CAArF;AAAtE;AAAsO;;AAAn3Y,CAA5B;;AAAi5YxH,uDAAC,CAAC,CAACwB,uFAAC,EAAF,CAAD,EAAO3B,CAAC,CAACoI,SAAT,EAAmB,SAAnB,EAA6B,KAAK,CAAlC,CAAD,EAAsCjI,uDAAC,CAAC,CAACwB,uFAAC,EAAF,CAAD,EAAO3B,CAAC,CAACoI,SAAT,EAAmB,uBAAnB,EAA2C,KAAK,CAAhD,CAAvC,EAA0FjI,uDAAC,CAAC,CAACwB,uFAAC,EAAF,CAAD,EAAO3B,CAAC,CAACoI,SAAT,EAAmB,2BAAnB,EAA+C,KAAK,CAApD,CAA3F,EAAkJjI,uDAAC,CAAC,CAACwB,uFAAC,EAAF,CAAD,EAAO3B,CAAC,CAACoI,SAAT,EAAmB,mCAAnB,EAAuD,KAAK,CAA5D,CAAnJ,EAAkNjI,uDAAC,CAAC,CAACwB,uFAAC,CAAC;AAAC2G,EAAAA,QAAQ,EAAC,CAAC;AAAX,CAAD,CAAF,CAAD,EAAoBtI,CAAC,CAACoI,SAAtB,EAAgC,mBAAhC,EAAoD,IAApD,CAAnN,EAA6QjI,uDAAC,CAAC,CAACwB,uFAAC,CAAC;AAAC2G,EAAAA,QAAQ,EAAC,CAAC;AAAX,CAAD,CAAF,CAAD,EAAoBtI,CAAC,CAACoI,SAAtB,EAAgC,SAAhC,EAA0C,IAA1C,CAA9Q,EAA8TjI,uDAAC,CAAC,CAACwB,uFAAC,CAAC;AAAC2G,EAAAA,QAAQ,EAAC,CAAC;AAAX,CAAD,CAAF,CAAD,EAAoBtI,CAAC,CAACoI,SAAtB,EAAgC,UAAhC,EAA2C,IAA3C,CAA/T,EAAgXjI,uDAAC,CAAC,CAACwB,uFAAC,EAAF,CAAD,EAAO3B,CAAC,CAACoI,SAAT,EAAmB,uBAAnB,EAA2C,KAAK,CAAhD,CAAjX,EAAoajI,uDAAC,CAAC,CAACwB,uFAAC,EAAF,CAAD,EAAO3B,CAAC,CAACoI,SAAT,EAAmB,aAAnB,EAAiC,KAAK,CAAtC,CAAra,EAA8cjI,uDAAC,CAAC,CAACwB,uFAAC,CAAC;AAAC6B,EAAAA,IAAI,EAACvD,mDAACA;AAAP,CAAD,CAAF,CAAD,EAAeD,CAAC,CAACoI,SAAjB,EAA2B,SAA3B,EAAqC,KAAK,CAA1C,CAA/c,EAA4fjI,uDAAC,CAAC,CAACwB,uFAAC,EAAF,CAAD,EAAO3B,CAAC,CAACoI,SAAT,EAAmB,OAAnB,EAA2B,KAAK,CAAhC,CAA7f,EAAgiBjI,uDAAC,CAAC,CAACwB,uFAAC,EAAF,CAAD,EAAO3B,CAAC,CAACoI,SAAT,EAAmB,KAAnB,EAAyB,KAAK,CAA9B,CAAjiB,EAAkkBjI,uDAAC,CAAC,CAACwB,uFAAC,CAAC;AAAC2G,EAAAA,QAAQ,EAAC,CAAC;AAAX,CAAD,CAAF,CAAD,EAAoBtI,CAAC,CAACoI,SAAtB,EAAgC,UAAhC,EAA2C,IAA3C,CAAnkB,EAAonBjI,uDAAC,CAAC,CAACwB,uFAAC,CAAC;AAAC2G,EAAAA,QAAQ,EAAC,CAAC;AAAX,CAAD,CAAF,CAAD,EAAoBtI,CAAC,CAACoI,SAAtB,EAAgC,eAAhC,EAAgD,IAAhD,CAArnB,EAA2qBjI,uDAAC,CAAC,CAACwB,uFAAC,CAAC;AAAC2G,EAAAA,QAAQ,EAAC,CAAC;AAAX,CAAD,CAAF,CAAD,EAAoBtI,CAAC,CAACoI,SAAtB,EAAgC,UAAhC,EAA2C,IAA3C,CAA5qB,EAA6tBjI,uDAAC,CAAC,CAACwB,uFAAC,CAAC;AAAC2G,EAAAA,QAAQ,EAAC,CAAC;AAAX,CAAD,CAAF,CAAD,EAAoBtI,CAAC,CAACoI,SAAtB,EAAgC,eAAhC,EAAgD,IAAhD,CAA9tB,EAAoxBjI,uDAAC,CAAC,CAACwB,uFAAC,EAAF,CAAD,EAAO3B,CAAC,CAACoI,SAAT,EAAmB,cAAnB,EAAkC,KAAK,CAAvC,CAArxB,EAA+zBjI,uDAAC,CAAC,CAACwB,uFAAC,EAAF,CAAD,EAAO3B,CAAC,CAACoI,SAAT,EAAmB,kBAAnB,EAAsC,KAAK,CAA3C,CAAh0B,EAA82BjI,uDAAC,CAAC,CAACwB,uFAAC,EAAF,CAAD,EAAO3B,CAAC,CAACoI,SAAT,EAAmB,gBAAnB,EAAoC,KAAK,CAAzC,CAA/2B,EAA25BjI,uDAAC,CAAC,CAACwB,uFAAC,EAAF,CAAD,EAAO3B,CAAC,CAACoI,SAAT,EAAmB,OAAnB,EAA2B,IAA3B,CAA55B,EAA67BjI,uDAAC,CAAC,CAACwB,uFAAC,EAAF,CAAD,EAAO3B,CAAC,CAACoI,SAAT,EAAmB,OAAnB,EAA2B,KAAK,CAAhC,CAA97B,EAAi+BjI,uDAAC,CAAC,CAACwB,uFAAC,CAAC;AAAC2G,EAAAA,QAAQ,EAAC,CAAC;AAAX,CAAD,CAAF,CAAD,EAAoBtI,CAAC,CAACoI,SAAtB,EAAgC,gBAAhC,EAAiD,IAAjD,CAAl+B,EAAyhCjI,uDAAC,CAAC,CAACwB,uFAAC,CAAC;AAAC2G,EAAAA,QAAQ,EAAC,CAAC;AAAX,CAAD,CAAF,CAAD,EAAoBtI,CAAC,CAACoI,SAAtB,EAAgC,mBAAhC,EAAoD,IAApD,CAA1hC,EAAolCjI,uDAAC,CAAC,CAACwB,uFAAC,CAAC;AAAC2G,EAAAA,QAAQ,EAAC,CAAC;AAAX,CAAD,CAAF,CAAD,EAAoBtI,CAAC,CAACoI,SAAtB,EAAgC,yBAAhC,EAA0D,KAAK,CAA/D,CAArlC,EAAupCjI,uDAAC,CAAC,CAACwB,uFAAC,CAAC;AAAC2G,EAAAA,QAAQ,EAAC,CAAC;AAAX,CAAD,CAAF,CAAD,EAAoBtI,CAAC,CAACoI,SAAtB,EAAgC,uBAAhC,EAAwD,KAAK,CAA7D,CAAxpC,EAAwtCjI,uDAAC,CAAC,CAACwB,uFAAC,CAAC;AAAC2G,EAAAA,QAAQ,EAAC,CAAC;AAAX,CAAD,CAAF,CAAD,EAAoBtI,CAAC,CAACoI,SAAtB,EAAgC,yBAAhC,EAA0D,IAA1D,CAAztC,EAAyxCjI,uDAAC,CAAC,CAACwB,uFAAC,CAAC;AAAC2G,EAAAA,QAAQ,EAAC,CAAC;AAAX,CAAD,CAAF,CAAD,EAAoBtI,CAAC,CAACoI,SAAtB,EAAgC,uBAAhC,EAAwD,IAAxD,CAA1xC,EAAw1CjI,uDAAC,CAAC,CAACwB,uFAAC,CAAC;AAAC2G,EAAAA,QAAQ,EAAC,CAAC;AAAX,CAAD,CAAF,CAAD,EAAoBtI,CAAC,CAACoI,SAAtB,EAAgC,qBAAhC,EAAsD,KAAK,CAA3D,CAAz1C,EAAu5CjI,uDAAC,CAAC,CAACwB,uFAAC,CAAC;AAAC2G,EAAAA,QAAQ,EAAC,CAAC;AAAX,CAAD,CAAF,CAAD,EAAoBtI,CAAC,CAACoI,SAAtB,EAAgC,uBAAhC,EAAwD,KAAK,CAA7D,CAAx5C,EAAw9CjI,uDAAC,CAAC,CAACwB,uFAAC,CAAC;AAAC2G,EAAAA,QAAQ,EAAC,CAAC;AAAX,CAAD,CAAF,CAAD,EAAoBtI,CAAC,CAACoI,SAAtB,EAAgC,qBAAhC,EAAsD,IAAtD,CAAz9C,EAAqhDjI,uDAAC,CAAC,CAACwB,uFAAC,CAAC;AAAC2G,EAAAA,QAAQ,EAAC,CAAC;AAAX,CAAD,CAAF,CAAD,EAAoBtI,CAAC,CAACoI,SAAtB,EAAgC,uBAAhC,EAAwD,IAAxD,CAAthD,EAAolDjI,uDAAC,CAAC,CAACwB,uFAAC,CAAC;AAAC2G,EAAAA,QAAQ,EAAC,CAAC;AAAX,CAAD,CAAF,CAAD,EAAoBtI,CAAC,CAACoI,SAAtB,EAAgC,0BAAhC,EAA2D,KAAK,CAAhE,CAArlD,EAAwpDjI,uDAAC,CAAC,CAACwB,uFAAC,CAAC;AAAC2G,EAAAA,QAAQ,EAAC,CAAC;AAAX,CAAD,CAAF,CAAD,EAAoBtI,CAAC,CAACoI,SAAtB,EAAgC,0BAAhC,EAA2D,IAA3D,CAAzpD,EAA0tDjI,uDAAC,CAAC,CAACwB,uFAAC,CAAC;AAAC2G,EAAAA,QAAQ,EAAC,CAAC;AAAX,CAAD,CAAF,CAAD,EAAoBtI,CAAC,CAACoI,SAAtB,EAAgC,qBAAhC,EAAsD,IAAtD,CAA3tD,EAAuxDjI,uDAAC,CAAC,CAACwB,uFAAC,CAAC;AAAC2G,EAAAA,QAAQ,EAAC,CAAC;AAAX,CAAD,CAAF,CAAD,EAAoBtI,CAAC,CAACoI,SAAtB,EAAgC,uBAAhC,EAAwD,IAAxD,CAAxxD,EAAs1DpI,CAAC,GAACG,uDAAC,CAAC,CAACkB,uFAAC,CAAC,mGAAD,CAAF,CAAD,EAA0GrB,CAA1G,CAAz1D;AAAs8D,MAAMwI,CAAC,GAACxI,CAAR;;;;;;;;;;;;;;;;;;;;;;;ACJtgf;AACA;AACA;AACA;AAC0V,oBAAoB,yDAAC,CAAC,eAAe,6CAA6C,uDAAC,EAAE,sFAAC,EAAE,4BAA4B,+BAA+B,uDAAC,EAAE,sFAAC,EAAE,4BAA4B,uCAAuC,uDAAC,EAAE,sFAAC,+EAA+E,UAA+B;;;;;;;;;;;;;;;;ACJxqB;AACA;AACA;AACA;AACA,SAAS,qXAA8Z;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACJva;AACA;AACA;AACA;AACA;AAA8C;AAA0B;AAAgC;AAA2G;AAAsC;AAAkD;AAAwC;AAA+D;AAAoC;AAA0E;AAAuF;AAAkD;AAA6E;AAAqE;AAA0B;AAA6E;AAAkD;AAAmE;AAAqD;AAAmE;AAA2D;AAAiE;AAAyD;AAAuD;AAAqE;AAAiG;AAA4E;AAA4a;AAA4L;AAAuC,IAAImoB,CAAJ;AAAM,MAAMN,CAAC,GAAC,CAAR;AAAA,MAAU9U,CAAC,GAAC,qBAAZ;AAAA,MAAkCqyB,EAAE,GAAC,0BAArC;AAAA,MAAgEE,EAAE,GAAC,yBAAnE;AAAA,MAA6FI,EAAE,GAAC;AAACguF,EAAAA,kBAAkB,EAAC,CAAC,CAArB;AAAuBlT,EAAAA,cAAc,EAAC,CAAC,CAAvC;AAAyCmT,EAAAA,aAAa,EAAC,CAAC,CAAxD;AAA0DC,EAAAA,iBAAiB,EAAC,CAAC,CAA7E;AAA+EC,EAAAA,aAAa,EAAC,CAAC,CAA9F;AAAgGC,EAAAA,YAAY,EAAC,CAAC,CAA9G;AAAgHC,EAAAA,WAAW,EAAC,CAAC,CAA7H;AAA+H3L,EAAAA,mBAAmB,EAAC,CAAC,CAApJ;AAAsJwG,EAAAA,iCAAiC,EAAC,CAAC;AAAzL,CAAhG;AAA4R,IAAIhpF,EAAE,GAACzd,CAAC,GAAC,cAAcvnB,wEAAC,CAACH,yDAAD,CAAf,CAAmB;AAACiC,EAAAA,WAAW,CAACzC,CAAD,EAAG;AAAC,UAAMA,CAAN,GAAS,KAAK+zH,MAAL,GAAY,IAArB,EAA0B,KAAKC,uBAAL,GAA6B,IAAvD,EAA4D,KAAKC,6BAAL,GAAmC,IAA/F,EAAoG,KAAKC,wBAAL,GAA8BtyH,4DAAC,CAAC,KAAK8wG,eAAN,EAAsB9qF,CAAtB,EAAwB,IAAxB,CAAnI,EAAiK,KAAKusG,qBAAL,GAA2B,IAA5L,EAAiM,KAAKC,4BAAL,GAAkC,IAAnO,EAAwO,KAAK9T,SAAL,GAAe,EAAC,GAAG76E;AAAJ,KAAvP,EAA+P,KAAKz4B,OAAL,GAAa,IAA5Q,EAAiR,KAAKqnH,iBAAL,GAAuB,EAAxS,EAA2S,KAAKtmH,WAAL,GAAiB,IAA5T,EAAiU,KAAKsjF,2BAAL,GAAiC,CAAC,CAAnW,EAAqW,KAAKw3B,mBAAL,GAAyB,IAA9X,EAAmY,KAAKyL,YAAL,GAAkB,IAArZ,EAA0Z,KAAK3xF,QAAL,GAAc,IAAxa,EAA6a,KAAK47E,YAAL,GAAkB,IAAI5rG,GAAJ,EAA/b,EAAuc,KAAK5P,KAAL,GAAW,EAAld,EAAqd,KAAKyjF,IAAL,GAAU,IAA/d,EAAoe,KAAK+tC,qBAAL,GAA2Bv0H,CAAC,IAAE;AAAC,YAAK;AAACsgH,QAAAA,SAAS,EAACpgH;AAAX,UAAc,IAAnB;AAAwB,aAAM,kBAAgBF,CAAC,CAACuD,IAAlB,IAAwB,CAAC,CAACrD,CAAC,CAACuzH,kBAA5B,IAAgD,aAAWzzH,CAAC,CAACuD,IAAb,IAAmB,CAAC,CAACrD,CAAC,CAACwzH,aAAvE,IAAsF,aAAW1zH,CAAC,CAACuD,IAAb,IAAmB,CAAC,CAACrD,CAAC,CAAC0zH,aAA7G,IAA4H,YAAU5zH,CAAC,CAACuD,IAAZ,IAAkB,CAAC,CAACrD,CAAC,CAAC2zH,YAAlJ,IAAgK,WAAS7zH,CAAC,CAACuD,IAAX,IAAiB,CAAC,CAACrD,CAAC,CAAC4zH,WAArL,IAAkM,iBAAe9zH,CAAC,CAACuD,IAAjB,IAAuB,CAAC,CAACrD,CAAC,CAACyzH,iBAA7N,IAAgP,mBAAiB3zH,CAAC,CAACuD,IAAnB,IAAyB,CAAC,CAACrD,CAAC,CAACioH,mBAA7Q,IAAkS,mCAAiCnoH,CAAC,CAACuD,IAAnC,IAAyC,CAAC,CAACrD,CAAC,CAACyuH,iCAArV;AAAuX,KAAl5B,EAAm5B,KAAKjrH,UAAL,CAAgB5C,8DAAC,CAAE,MAAI,CAAC,KAAKknF,OAAN,EAAc,KAAKwsC,uBAAnB,EAA2C,KAAKlU,SAAhD,EAA0D,KAAKprG,QAA/D,CAAN,EAAiF,MAAI,KAAKg/G,wBAAL,EAArF,EAAsH5yH,4DAAtH,CAAjB,CAAn5B;AAA8hC;;AAAAuC,EAAAA,UAAU,GAAE;AAAC,SAAKH,UAAL,CAAgB,KAAKwwH,wBAArB;AAA+C;;AAAA9vH,EAAAA,OAAO,GAAE;AAAC,SAAK0vG,MAAL,IAAc,KAAK2gB,mBAAL,EAAd,EAAyC,KAAKV,MAAL,GAAY,IAArD,EAA0D,KAAK/rC,OAAL,GAAa,IAAvE,EAA4E,KAAK0sC,yBAAL,EAA5E,EAA6G,KAAKnW,YAAL,CAAkB3kG,KAAlB,EAA7G;AAAuI;;AAA2B,MAAvB46G,uBAAuB,GAAE;AAAC,WAAO,QAAM,KAAKxsC,OAAX,GAAmB,KAAKA,OAAL,CAAaoJ,yBAAb,CAAuC,KAAKC,2BAA5C,CAAnB,GAA4F,IAAnG;AAAwG;;AAAiB,MAAbsjC,aAAa,GAAE;AAAC,WAAOnpH,6EAAC,CAACH,2EAAC,CAAC,KAAKmpH,uBAAN,CAAF,EAAiC,KAAKI,YAAtC,CAAR;AAA4D;;AAAgB,MAAZA,YAAY,GAAE;AAAC,WAAOtyH,yEAAC,CAAC,KAAK0lF,OAAN,CAAR;AAAuB;;AAAA6sC,EAAAA,aAAa,CAAC70H,CAAD,EAAG;AAAC,WAAM,EAAC,GAAGylC,EAAJ;AAAO,SAAGzlC;AAAV,KAAN;AAAmB;;AAAW,MAAPkrC,OAAO,GAAE;AAAC,WAAO,KAAK0pF,YAAL,EAAmB1pF,OAAnB,IAA4B,CAAC,CAApC;AAAsC;;AAAS,MAALywD,KAAK,GAAE;AAAC,WAAO,KAAK3T,OAAL,GAAa,KAAK+rC,MAAL,GAAY,OAAZ,GAAoB,KAAKe,iBAAL,GAAuB,SAAvB,GAAiC,OAAlE,GAA0E,UAAjF;AAA4F;;AAAW,MAAP9sC,OAAO,CAAChoF,CAAD,EAAG;AAAC,SAAKg0H,uBAAL,GAA6B,IAAI33G,eAAJ,EAA7B,EAAiD,KAAK9X,IAAL,CAAU,SAAV,EAAoBvE,CAAC,EAAES,KAAH,MAAY,IAAhC,CAAjD;AAAuF;;AAAoB,MAAhBmC,gBAAgB,GAAE;AAAC,WAAO,KAAK4jF,IAAL,EAAW5jF,gBAAX,IAA6B,IAApC;AAAyC;;AAAoB,MAAhBA,gBAAgB,CAAC5C,CAAD,EAAG;AAAC,SAAK4V,SAAL,CAAe,kBAAf,EAAkC5V,CAAlC;AAAqC;;AAAY,MAARkV,QAAQ,GAAE;AAAC,WAAO,KAAKsxE,IAAL,EAAWtxE,QAAX,IAAqB/J,2DAA5B;AAA8B;;AAAY,MAAR+J,QAAQ,CAAClV,CAAD,EAAG;AAAC,SAAKmtC,eAAL,CAAqB,UAArB,EAAgCntC,CAAhC;AAAmC;;AAAO,MAAHuF,GAAG,GAAE;AAAC,WAAO,KAAKihF,IAAL,EAAWjhF,GAAX,IAAgB,IAAvB;AAA4B;;AAAO,MAAHA,GAAG,CAACvF,CAAD,EAAG;AAAC,SAAK4V,SAAL,CAAe,KAAf,EAAqB5V,CAArB;AAAwB;;AAAqB,MAAjB80H,iBAAiB,GAAE;AAAC,WAAM,EAAE,CAAC,KAAKd,uBAAN,IAA+B,CAAC,KAAKC,6BAAvC,CAAN;AAA4E;;AAAAc,EAAAA,cAAc,CAAC/0H,CAAD,EAAGE,CAAH,EAAK;AAAC,UAAMQ,CAAC,GAAC,KAAK2zH,iBAAL,CAAuBr0H,CAAvB,CAAR;AAAkCU,IAAAA,CAAC,YAAY6H,+EAAb,IAAgB7H,CAAC,CAACq0H,cAAF,CAAiB70H,CAAjB,CAAhB;AAAoC;;AAAA80H,EAAAA,SAAS,CAACh1H,CAAD,EAAG;AAAC,UAAME,CAAC,GAAC,KAAKm0H,iBAAL,CAAuBr0H,CAAvB,CAAR;AAAkCE,IAAAA,CAAC,YAAYqI,+EAAb,IAAgBrI,CAAC,CAACwa,IAAF,EAAhB;AAAyB;;AAAAu6G,EAAAA,aAAa,CAACj1H,CAAD,EAAG;AAAC,UAAME,CAAC,GAAC,KAAKm0H,iBAAL,CAAuBr0H,CAAvB,CAAR;AAAkCE,IAAAA,CAAC,YAAYqI,+EAAb,IAAgBrI,CAAC,CAACw/G,QAAF,EAAhB;AAA6B;;AAAMwV,EAAAA,cAAc,GAAE;AAAA;;AAAA;AAAC,YAAK;AAACltC,QAAAA,OAAO,EAAChoF,CAAT;AAAW4C,QAAAA,gBAAgB,EAAC1C,CAA5B;AAA8B00H,QAAAA,YAAY,EAACl0H;AAA3C,UAA8C,KAAnD;AAAwD,YAAMA,CAAC,EAAEwE,IAAH,EAAN;AAAiB,YAAM1E,CAAC,GAACE,CAAC,EAAE0qC,aAAX;AAAyB,UAAG,CAAC5qC,CAAD,IAAI,CAACR,CAAL,IAAQ,CAACU,CAAZ,EAAc;AAAO,YAAMT,CAAC,GAACD,CAAC,EAAEuxC,UAAH,GAAgB/wC,CAAhB,CAAR;AAA2B,UAAG,QAAMP,CAAT,EAAW;AAAO,YAAMG,CAAC,GAAC,CAACH,CAAD,CAAR;;AAAY,UAAG,CAACD,CAAC,CAACm3B,QAAN,EAAe;AAAC,cAAM32B,CAAC,SAAOmM,2EAAC,CAAC;AAACnD,UAAAA,KAAK,EAAC9I,CAAP;AAASsnF,UAAAA,OAAO,EAAChoF,CAAjB;AAAmBqN,UAAAA,SAAS,EAAC,EAA7B;AAAgCitC,UAAAA,SAAS,EAACl6C,CAA1C;AAA4CmN,UAAAA,cAAc,EAAC,CAAC,CAA5D;AAA8D3K,UAAAA,gBAAgB,EAAC1C;AAA/E,SAAD,CAAf;AAAA,cAAmGD,CAAC,GAACO,CAAC,EAAE22B,QAAxG;AAAiHl3B,QAAAA,CAAC,KAAGD,CAAC,CAACm3B,QAAF,GAAWl3B,CAAd,CAAD;AAAkB;AAApU;AAAqU;;AAAA6zG,EAAAA,MAAM,GAAE;AAAC,SAAKvvG,IAAL,CAAU,OAAV,EAAkB,EAAlB,GAAsB,KAAKA,IAAL,CAAU,SAAV,EAAoB,IAApB,CAAtB,EAAgD,KAAKA,IAAL,CAAU,qBAAV,EAAgC,IAAhC,CAAhD;AAAsF;;AAAMmuG,EAAAA,eAAe,GAAE;AAAA;;AAAA;AAAC,YAAI,CAAC+hB,mBAAL,IAA2B,MAAI,CAACV,MAAL,GAAY,IAAvC,EAA4C,MAAI,CAACjgB,MAAL,EAA5C;AAA0D,YAAK;AAAC9rB,QAAAA,OAAO,EAAChoF;AAAT,UAAY,MAAjB;AAAsB,UAAG,CAACA,CAAJ,EAAM;AAAO,YAAME,CAAC,GAAC,IAAImc,eAAJ,EAAR;AAA4B,YAAI,CAAC23G,uBAAL,GAA6B9zH,CAA7B;;AAA+B,UAAG;AAAC,cAAM,MAAI,CAACi1H,aAAL,CAAmB;AAACztH,UAAAA,MAAM,EAACxH,CAAC,CAACwH;AAAV,SAAnB,CAAN;AAA4C,OAAhD,CAAgD,OAAMhH,CAAN,EAAQ;AAACG,QAAAA,oEAAC,CAACH,CAAD,CAAD,KAAO,MAAI,CAACqzH,MAAL,GAAYrzH,CAAZ,EAAcJ,iEAAA,CAAY,MAAZ,EAAkBmD,KAAlB,CAAwB,OAAxB,EAAgC,4DAAhC,EAA6F;AAACA,UAAAA,KAAK,EAAC/C,CAAP;AAASsnF,UAAAA,OAAO,EAAChoF,CAAjB;AAAmBqrC,UAAAA,aAAa,EAAC,MAAI,CAACmpF;AAAtC,SAA7F,CAArB;AAAmL;;AAAA,YAAI,CAACR,uBAAL,KAA+B9zH,CAA/B,KAAmC,MAAI,CAAC8zH,uBAAL,GAA6B,IAAhE;AAArY;AAA2c;;AAAAS,EAAAA,mBAAmB,GAAE;AAAC,UAAK;AAACT,MAAAA,uBAAuB,EAACh0H;AAAzB,QAA4B,IAAjC;AAAsCA,IAAAA,CAAC,IAAEA,CAAC,CAACmc,KAAF,EAAH,EAAa,KAAK63G,uBAAL,GAA6B,IAA1C;AAA+C;;AAAAoB,EAAAA,sBAAsB,CAACp1H,CAAD,EAAGE,CAAH,EAAK;AAAC,WAAM,kBAAgBF,CAAC,CAACuD,IAAlB,GAAuB,KAAK8xH,mBAAL,CAAyBr1H,CAAzB,EAA2BE,CAA3B,CAAvB,GAAqD,aAAWF,CAAC,CAACuD,IAAb,GAAkB,KAAK+xH,cAAL,CAAoBt1H,CAApB,EAAsBE,CAAtB,CAAlB,GAA2C,aAAWF,CAAC,CAACuD,IAAb,GAAkB,KAAKgyH,cAAL,CAAoBv1H,CAApB,EAAsBE,CAAtB,CAAlB,GAA2C,YAAUF,CAAC,CAACuD,IAAZ,GAAiB,KAAKiyH,aAAL,CAAmBx1H,CAAnB,EAAqBE,CAArB,CAAjB,GAAyC,WAASF,CAAC,CAACuD,IAAX,GAAgB,KAAKkyH,YAAL,CAAkBz1H,CAAlB,EAAoBE,CAApB,CAAhB,GAAuC,iBAAeF,CAAC,CAACuD,IAAjB,GAAsB,KAAKg4G,kBAAL,CAAwBv7G,CAAxB,EAA0BE,CAA1B,CAAtB,GAAmD,mBAAiBF,CAAC,CAACuD,IAAnB,GAAwB,KAAKmyH,oBAAL,CAA0B11H,CAA1B,EAA4BE,CAA5B,CAAxB,GAAuD,mCAAiCF,CAAC,CAACuD,IAAnC,GAAwC,KAAKoyH,iCAAL,CAAuC31H,CAAvC,EAAyCE,CAAzC,CAAxC,GAAoF,KAAK,CAApa;AAAsa;;AAAA01H,EAAAA,eAAe,CAAC51H,CAAD,EAAG;AAAC,QAAG,KAAK00H,yBAAL,IAAiC,KAAK1sC,OAAzC,EAAiD,OAAOzhF,KAAK,CAACC,OAAN,CAAcxG,CAAd,IAAiBA,CAAC,CAAC2G,MAAF,CAAS,KAAK4tH,qBAAd,EAAqChvH,GAArC,CAA0C,CAACvF,CAAD,EAAGE,CAAH,KAAO,KAAKk1H,sBAAL,CAA4Bp1H,CAA5B,EAA8BE,CAA9B,CAAjD,EAAoFyG,MAApF,CAA2F1G,uDAA3F,CAAjB,GAA+G,YAAU,OAAOD,CAAjB,GAAmB,KAAKy1H,YAAL,CAAkB,IAAI5zH,sEAAJ,CAAM;AAACwK,MAAAA,IAAI,EAACrM;AAAN,KAAN,CAAlB,EAAkC,CAAlC,EAAqCqM,IAAxD,GAA6DrM,CAAnL;AAAqL;;AAAA00H,EAAAA,yBAAyB,GAAE;AAAC,SAAKl3G,aAAL,CAAmB2nB,EAAnB,GAAuB,KAAK3nB,aAAL,CAAmB1K,CAAnB,CAAvB,EAA6C,KAAKuhH,iBAAL,CAAuB1vH,OAAvB,CAAgC3E,CAAC,IAAEA,CAAC,IAAE,CAACA,CAAC,CAACq4C,SAAN,IAAiBr4C,CAAC,CAACoE,OAAF,EAApD,CAA7C,EAA+G,KAAKG,IAAL,CAAU,mBAAV,EAA8B,EAA9B,CAA/G;AAAiJ;;AAAAsxH,EAAAA,eAAe,CAAC71H,CAAD,EAAGE,CAAH,EAAK;AAAC,UAAMQ,CAAC,GAACV,CAAC,EAAEgoF,OAAH,EAAYG,WAAZ,EAAR;AAAA,UAAkC3nF,CAAC,GAACN,CAAC,EAAEioF,WAAH,EAApC;AAAqD,WAAO,QAAMznF,CAAN,IAAS,QAAMF,CAAf,IAAkBE,CAAC,KAAGF,CAA7B;AAA+B;;AAAAs1H,EAAAA,6BAA6B,CAAC;AAAC/O,IAAAA,wBAAwB,EAAC/mH,CAA1B;AAA4B2mH,IAAAA,eAAe,EAACzmH,CAA5C;AAA8CqF,IAAAA,GAAG,EAAC7E;AAAlD,GAAD,EAAsD;AAAC,UAAK;AAAC8lF,MAAAA,IAAI,EAAChmF,CAAN;AAAQoC,MAAAA,gBAAgB,EAAC3C,CAAzB;AAA2BiV,MAAAA,QAAQ,EAAC9U;AAApC,QAAuC,IAA5C;AAAiDF,IAAAA,CAAC,EAAEyG,MAAH,CAAU4H,OAAV,EAAmB5J,OAAnB,CAA4BzE,CAAC,IAAE;AAACF,MAAAA,CAAC,CAACwX,IAAF,CAAQxX,CAAC,IAAE,KAAK61H,eAAL,CAAqB71H,CAArB,EAAuBE,CAAvB,CAAX,KAAwCF,CAAC,CAAC6hC,GAAF,CAAM,IAAI3Z,CAAJ,CAAM;AAACo4F,QAAAA,SAAS,EAAC;AAAC6H,UAAAA,mBAAmB,EAAC,CAAC;AAAtB,SAAX;AAAoC5iH,QAAAA,GAAG,EAAC7E,CAAxC;AAA0C8lF,QAAAA,IAAI,EAAChmF,CAA/C;AAAiDoC,QAAAA,gBAAgB,EAAC3C,CAAlE;AAAoEiV,QAAAA,QAAQ,EAAC9U,CAA7E;AAA+E4nF,QAAAA,OAAO,EAAC9nF;AAAvF,OAAN,CAAN,CAAxC;AAAgJ,KAAhL,GAAmLF,CAAC,CAAC2E,OAAF,CAAWjE,CAAC,IAAE;AAAC,YAAMF,CAAC,GAACN,CAAC,EAAEwP,IAAH,CAAS1P,CAAC,IAAE,KAAK61H,eAAL,CAAqBn1H,CAArB,EAAuBV,CAAvB,CAAZ,CAAR;AAAgDQ,MAAAA,CAAC,IAAER,CAAC,CAACsD,MAAF,CAAS5C,CAAT,CAAH;AAAe,KAA9E,CAAnL;AAAoQ;;AAAAq1H,EAAAA,uBAAuB,CAAC/1H,CAAD,EAAGE,CAAH,EAAK;AAAC,UAAMQ,CAAC,GAAC,KAAKmoH,mBAAb;AAAA,UAAiC;AAAC3N,MAAAA,cAAc,EAAC16G,CAAhB;AAAkB26G,MAAAA,uBAAuB,EAACl7G;AAA1C,QAA6CD,CAA9E;AAAA,UAAgFI,CAAC,GAACI,CAAC,EAAE+C,IAArF;AAA0FtD,IAAAA,CAAC,IAAEG,CAAH,KAAO,aAAWA,CAAX,KAAe,KAAK41H,gCAAL,CAAsC;AAAC9a,MAAAA,cAAc,EAAC16G,CAAhB;AAAkBy1H,MAAAA,mBAAmB,EAAC/1H,CAAtC;AAAwC2oH,MAAAA,mBAAmB,EAACnoH;AAA5D,KAAtC,GAAsGT,CAAC,CAACyF,GAAF,CAAM,KAAKwwH,qBAAL,CAA2B11H,CAA3B,EAA6BN,CAA7B,CAAN,CAArH,GAA6J,YAAUE,CAAV,KAAc,KAAK+1H,+BAAL,CAAqC;AAACjb,MAAAA,cAAc,EAAC16G,CAAhB;AAAkBy1H,MAAAA,mBAAmB,EAAC/1H,CAAtC;AAAwC2oH,MAAAA,mBAAmB,EAACnoH;AAA5D,KAArC,GAAqGT,CAAC,CAACyF,GAAF,CAAM,KAAK0wH,oBAAL,CAA0B51H,CAA1B,EAA4BN,CAA5B,CAAN,CAAnH,CAA7J,EAAuT,WAASE,CAAT,IAAYH,CAAC,CAACyF,GAAF,CAAM,KAAK2wH,mBAAL,CAAyB71H,CAAzB,CAAN,CAA1U;AAA8W;;AAAAk1H,EAAAA,oBAAoB,CAAC11H,CAAD,EAAGE,CAAH,EAAK;AAAC,UAAK;AAACqnH,MAAAA,YAAY,EAAC7mH,CAAd;AAAgBoP,MAAAA,aAAa,EAACtP,CAA9B;AAAgCwP,MAAAA,cAAc,EAAC/P,CAA/C;AAAiD8C,MAAAA,KAAK,EAAC3C,CAAvD;AAAyD2N,MAAAA,WAAW,EAACpN;AAArE,QAAwEX,CAA7E;AAAA,UAA+E;AAAC40H,MAAAA,YAAY,EAACt0H,CAAd;AAAgB0nF,MAAAA,OAAO,EAACnnF,CAAxB;AAA0B0E,MAAAA,GAAG,EAACvE;AAA9B,QAAiC,IAAhH;AAAqH,QAAG,CAACuK,2FAAC,CAACjL,CAAD,CAAL,EAAS;AAAO,UAAMQ,CAAC,GAAC,IAAIiI,6FAAJ,CAAM;AAACw+G,MAAAA,YAAY,EAAC7mH,CAAd;AAAgBsnF,MAAAA,OAAO,EAACnnF,CAAxB;AAA0BiP,MAAAA,aAAa,EAACtP,CAAxC;AAA0CwP,MAAAA,cAAc,EAAC/P,CAAzD;AAA2DuJ,MAAAA,KAAK,EAAClJ,CAAjE;AAAmEiF,MAAAA,GAAG,EAACvE,CAAvE;AAAyE,SAAG,KAAKs1H,oBAAL,CAA0B;AAACvzH,QAAAA,KAAK,EAAC3C,CAAP;AAAS2N,QAAAA,WAAW,EAACpN;AAArB,OAA1B;AAA5E,KAAN,CAAR;AAA+I,WAAO,KAAK0zH,iBAAL,CAAuBn0H,CAAvB,IAA0BY,CAA1B,EAA4B,KAAK4C,UAAL,CAAgBhC,2DAAC,CAAE,MAAIZ,CAAC,CAAC6lH,eAAR,EAAyB,QAAzB,EAAmC,MAAI,KAAKmP,6BAAL,CAAmCh1H,CAAnC,CAAvC,CAAjB,EAAgGqkC,EAAhG,CAA5B,EAAgInlC,CAAvI;AAAyI;;AAAAu2H,EAAAA,qBAAqB,CAACv2H,CAAD,EAAGE,CAAH,EAAK;AAAC,UAAMQ,CAAC,GAACV,CAAC,EAAE0tH,WAAH,CAAen4E,QAAvB;AAAA,UAAgC/0C,CAAC,GAACN,CAAC,EAAEwtH,WAAH,CAAen4E,QAAjD;AAA0D,WAAO,QAAM70C,CAAN,IAAS,QAAMF,CAAf,IAAkBE,CAAC,KAAGF,CAA7B;AAA+B;;AAAMg2H,EAAAA,0CAA0C,CAACx2H,CAAD,EAAGE,CAAH,EAAKQ,CAAL,EAAO;AAAA;;AAAA;AAAC,YAAK;AAAC8lF,QAAAA,IAAI,EAAChmF,CAAN;AAAQoC,QAAAA,gBAAgB,EAAC3C,CAAzB;AAA2BiV,QAAAA,QAAQ,EAACvU;AAApC,UAAuC,MAA5C;AAAiDX,MAAAA,CAAC,CAAC2E,OAAF,CAAW,CAACjE,CAAD,EAAGF,CAAH,KAAO;AAAC,cAAMP,CAAC,GAACC,CAAC,CAAC4Z,GAAF,CAAMtZ,CAAN,CAAR;AAAiBP,QAAAA,CAAC,GAACS,CAAC,CAACiE,OAAF,CAAWzE,CAAC,IAAE;AAACD,UAAAA,CAAC,CAACyP,IAAF,CAAQ1P,CAAC,IAAE,MAAI,CAACu2H,qBAAL,CAA2Br2H,CAA3B,EAA6BF,CAA7B,CAAX,MAA+CU,CAAC,CAAC4C,MAAF,CAASpD,CAAT,GAAY,MAAIQ,CAAC,CAACmN,MAAN,IAAc7N,CAAC,CAAC4wB,MAAF,CAASpwB,CAAT,CAAzE;AAAsF,SAArG,CAAD,IAA0GE,CAAC,CAAC0I,SAAF,IAAcpJ,CAAC,CAAC4wB,MAAF,CAASpwB,CAAT,CAAxH,CAAD;AAAsI,OAA1K,GAA6KN,CAAC,CAACyE,OAAF,CAAW,CAACzE,CAAD,EAAGI,CAAH,KAAO;AAAC,cAAMO,CAAC,GAACb,CAAC,CAAC8Z,GAAF,CAAMxZ,CAAN,KAAU,IAAIF,2DAAJ,EAAlB;AAAwBF,QAAAA,CAAC,EAAEyG,MAAH,CAAU4H,OAAV,EAAmB5J,OAAnB,CAA4B3E,CAAC,IAAE;AAACa,UAAAA,CAAC,CAAC2W,IAAF,CAAQtX,CAAC,IAAE,MAAI,CAACq2H,qBAAL,CAA2Br2H,CAA3B,EAA6BF,CAA7B,CAAX,KAA8Ca,CAAC,CAACghC,GAAF,CAAM;AAAC6rF,YAAAA,WAAW,EAAC1tH,CAAC,CAAC0tH,WAAf;AAA2BL,YAAAA,gBAAgB,EAAC,IAAInlG,CAAJ,CAAM;AAACo4F,cAAAA,SAAS,EAAC;AAACqO,gBAAAA,iCAAiC,EAAC,CAAC;AAApC,eAAX;AAAkDppH,cAAAA,GAAG,EAAC7E,CAAtD;AAAwD8lF,cAAAA,IAAI,EAAChmF,CAA7D;AAA+DoC,cAAAA,gBAAgB,EAAC3C,CAAhF;AAAkFiV,cAAAA,QAAQ,EAACvU,CAA3F;AAA6FqnF,cAAAA,OAAO,EAAChoF,CAAC,CAACyvC;AAAvG,aAAN,CAA5C;AAAmK++E,YAAAA,YAAY,EAACxuH,CAAC,CAACwuH;AAAlL,WAAN,CAA9C;AAAqP,SAArR,GAAwRxuH,CAAC,CAAC0F,GAAF,CAAMpF,CAAN,EAAQO,CAAR,CAAxR;AAAmS,OAA9U,CAA7K;AAA8f,YAAMP,CAAC,GAAC,IAAI+b,eAAJ,EAAR;AAA4B,YAAI,CAAC43G,6BAAL,GAAmC3zH,CAAnC,QAA2C,MAAI,CAACm2H,uBAAL,CAA6Bz2H,CAA7B,EAA+B;AAAC0H,QAAAA,MAAM,EAACpH,CAAC,CAACoH;AAAV,OAA/B,CAA3C,EAA6F,MAAI,CAACusH,6BAAL,KAAqC3zH,CAArC,KAAyC,MAAI,CAAC2zH,6BAAL,GAAmC,IAA5E,CAA7F;AAA5kB;AAA2vB;;AAAMwC,EAAAA,uBAAuB,CAACz2H,CAAD,EAAGE,CAAH,EAAK;AAAA;;AAAA;AAAC,WAAI,MAAMQ,CAAV,IAAeV,CAAC,CAACk/C,MAAF,EAAf,EAA0B;AAAC,cAAMl/C,CAAC,GAACU,CAAC,CAAC6E,GAAF,CAAOvF,CAAC,IAAEwB,iEAAC,CAAE,MAAI,YAAUxB,CAAC,CAACqtH,gBAAF,CAAmB1xB,KAAnC,EAA0Cz7F,CAAC,EAAEwH,MAA7C,CAAX,CAAR;AAA0E,cAAMrC,OAAO,CAACc,GAAR,CAAYnG,CAAZ,CAAN,EAAqBU,CAAC,CAAC0O,IAAF,CAAO,MAAI,CAACsnH,sBAAZ,CAArB;AAAyD;AAA/J;AAAgK;;AAAAA,EAAAA,sBAAsB,CAAC12H,CAAD,EAAGE,CAAH,EAAK;AAAC,UAAMQ,CAAC,GAACuB,6EAAC,CAACjC,CAAC,CAACqtH,gBAAH,CAAT;AAAA,UAA8B7sH,CAAC,GAACyB,6EAAC,CAAC/B,CAAC,CAACmtH,gBAAH,CAAjC;AAAsD,WAAO3sH,CAAC,CAACi2H,aAAF,CAAgBn2H,CAAhB,EAAkB,KAAK,CAAvB,EAAyB;AAACo2H,MAAAA,OAAO,EAAC,CAAC;AAAV,KAAzB,CAAP;AAA8C;;AAAAjB,EAAAA,iCAAiC,CAAC31H,CAAD,EAAGE,CAAH,EAAK;AAAC,UAAK;AAAC6C,MAAAA,KAAK,EAACrC,CAAP;AAASqN,MAAAA,WAAW,EAACvN,CAArB;AAAuB8uH,MAAAA,gBAAgB,EAACrvH;AAAxC,QAA2CD,CAAhD;AAAA,UAAkD;AAAC40H,MAAAA,YAAY,EAACx0H,CAAd;AAAgB4nF,MAAAA,OAAO,EAACrnF,CAAxB;AAA0B4E,MAAAA,GAAG,EAACjF;AAA9B,QAAiC,IAAnF;AAAwF,QAAG,CAACwB,4FAAC,CAAC1B,CAAD,CAAL,EAAS;AAAO,UAAMS,CAAC,GAAC,IAAI2B,yHAAJ,CAAM;AAACwlF,MAAAA,OAAO,EAACrnF,CAAT;AAAW2uH,MAAAA,gBAAgB,EAACrvH,CAA5B;AAA8BuJ,MAAAA,KAAK,EAACpJ,CAApC;AAAsCmF,MAAAA,GAAG,EAACjF,CAA1C;AAA4C,SAAG,KAAKg2H,oBAAL,CAA0B;AAACvzH,QAAAA,KAAK,EAACrC,CAAP;AAASqN,QAAAA,WAAW,EAACvN;AAArB,OAA1B;AAA/C,KAAN,CAAR;AAAkH,WAAO,KAAK6zH,iBAAL,CAAuBn0H,CAAvB,IAA0BW,CAA1B,EAA4B,KAAK6C,UAAL,CAAgB,CAAC5C,8DAAC,CAAE,MAAID,CAAC,CAACuvH,mBAAF,CAAsBlxE,MAAtB,EAAN,EAAuC,MAAI,KAAKs3E,0CAAL,CAAgD31H,CAAC,CAAC+rH,qBAAlD,EAAwE/rH,CAAC,CAACuvH,mBAA1E,EAA8FvvH,CAAC,CAAC0E,GAAhG,CAA3C,CAAF,CAAhB,EAAqK8/B,EAArK,CAA5B,EAAqMrlC,CAA5M;AAA8M;;AAAAu7G,EAAAA,kBAAkB,CAACv7G,CAAD,EAAGE,CAAH,EAAK;AAAC,UAAK;AAACmR,MAAAA,cAAc,EAAC3Q;AAAhB,QAAmBV,CAAxB;AAAA,UAA0B;AAACgoF,MAAAA,OAAO,EAACxnF,CAAT;AAAW+E,MAAAA,GAAG,EAACtF,CAAf;AAAiB2C,MAAAA,gBAAgB,EAACxC,CAAlC;AAAoComF,MAAAA,IAAI,EAAC7lF,CAAzC;AAA2CgiC,MAAAA,QAAQ,EAACriC;AAApD,QAAuD,IAAjF;AAAA,UAAsFO,CAAC,GAAC,IAAImG,yFAAJ,CAAM;AAACqK,MAAAA,cAAc,EAAC3Q,CAAhB;AAAkBsnF,MAAAA,OAAO,EAACxnF,CAA1B;AAA4B8uE,MAAAA,WAAW,EAACpnD,CAAC,CAAConD,WAA1C;AAAsD/pE,MAAAA,GAAG,EAACtF,CAA1D;AAA4D2C,MAAAA,gBAAgB,EAACxC,CAA7E;AAA+EomF,MAAAA,IAAI,EAAC7lF,CAApF;AAAsFgiC,MAAAA,QAAQ,EAACriC;AAA/F,KAAN,CAAxF;AAAiM,WAAO,KAAK+zH,iBAAL,CAAuBn0H,CAAvB,IAA0BW,CAA1B,EAA4B,KAAK6C,UAAL,CAAgB5C,8DAAC,CAAE,MAAID,CAAC,CAACs6G,uBAAR,EAAkC,MAAI,KAAK4a,uBAAL,CAA6Bl1H,CAA7B,EAA+BX,CAA/B,CAAtC,EAAyEoB,4DAAzE,CAAjB,EAA6FwR,CAA7F,CAA5B,EAA4H9S,CAAnI;AAAqI;;AAAAq1H,EAAAA,mBAAmB,CAACr1H,CAAD,EAAGE,CAAH,EAAK;AAAC,UAAK;AAAC8nF,MAAAA,OAAO,EAACtnF;AAAT,QAAY,IAAjB;AAAA,UAAsB;AAACqN,MAAAA,WAAW,EAACvN,CAAb;AAAeuC,MAAAA,KAAK,EAAC9C;AAArB,QAAwBD,CAA9C;AAAgD,WAAO,KAAKq0H,iBAAL,CAAuBn0H,CAAvB,IAA0B,IAAI6B,2FAAJ,CAAM;AAACimF,MAAAA,OAAO,EAACtnF,CAAT;AAAW,SAAG,KAAK41H,oBAAL,CAA0B;AAACvzH,QAAAA,KAAK,EAAC9C,CAAP;AAAS8N,QAAAA,WAAW,EAACvN;AAArB,OAA1B;AAAd,KAAN,CAA1B,EAAmGR,CAA1G;AAA4G;;AAAAs1H,EAAAA,cAAc,CAACt1H,CAAD,EAAGE,CAAH,EAAK;AAAC,UAAK;AAAC8nF,MAAAA,OAAO,EAACtnF;AAAT,QAAY,IAAjB;AAAA,UAAsB;AAACk6G,MAAAA,OAAO,EAACp6G,CAAT;AAAWq6G,MAAAA,SAAS,EAAC56G;AAArB,QAAwBD,CAA9C;AAAgD,WAAO,KAAKq0H,iBAAL,CAAuBn0H,CAAvB,IAA0B,IAAIiC,mFAAJ,CAAM;AAAC6lF,MAAAA,OAAO,EAACtnF,CAAT;AAAWk6G,MAAAA,OAAO,EAACp6G,CAAnB;AAAqBq6G,MAAAA,SAAS,EAAC56G;AAA/B,KAAN,CAA1B,EAAmED,CAA1E;AAA4E;;AAAAs2H,EAAAA,oBAAoB,CAAC;AAACvzH,IAAAA,KAAK,EAAC/C,CAAP;AAAS+N,IAAAA,WAAW,EAAC7N;AAArB,GAAD,EAAyB;AAAC,UAAK;AAACy0H,MAAAA,aAAa,EAACj0H,CAAf;AAAiBk0H,MAAAA,YAAY,EAACp0H,CAA9B;AAAgCwnF,MAAAA,OAAO,EAAC/nF,CAAxC;AAA0C4oH,MAAAA,mBAAmB,EAACzoH;AAA9D,QAAiE,IAAtE;AAAA,UAA2EO,CAAC,GAACV,CAAC,EAAEsxC,UAAhF;AAAA,UAA2FjxC,CAAC,GAAC,KAAK6zH,qBAAlG;AAAA,UAAwHtzH,CAAC,GAACT,CAAC,CAAC0oH,MAA5H;AAAmI,WAAM;AAAC/lH,MAAAA,KAAK,EAACuI,+FAAC,CAAC;AAACimC,QAAAA,UAAU,EAAC5wC,CAAZ;AAAc29G,QAAAA,YAAY,EAAC59G,CAA3B;AAA6Bm2H,QAAAA,gBAAgB,EAACh2H,CAA9C;AAAgDi2H,QAAAA,oBAAoB,EAACx2H,CAArE;AAAuEkJ,QAAAA,KAAK,EAAChJ,CAA7E;AAA+E6L,QAAAA,IAAI,EAACrM;AAApF,OAAD,CAAR;AAAiG+N,MAAAA,WAAW,EAACzC,+FAAC,CAAC;AAACimC,QAAAA,UAAU,EAAC5wC,CAAZ;AAAc29G,QAAAA,YAAY,EAAC59G,CAA3B;AAA6Bm2H,QAAAA,gBAAgB,EAACh2H,CAA9C;AAAgDi2H,QAAAA,oBAAoB,EAACx2H,CAArE;AAAuEkJ,QAAAA,KAAK,EAAChJ,CAA7E;AAA+E6L,QAAAA,IAAI,EAACnM;AAApF,OAAD;AAA9G,KAAN;AAA8M;;AAAAg2H,EAAAA,qBAAqB,CAACl2H,CAAD,EAAGE,CAAH,EAAK;AAAC,UAAMQ,CAAC,GAAC,KAAK8zH,uBAAb;AAAA,UAAqCh0H,CAAC,GAAC,KAAKqoH,mBAA5C;AAAA,UAAgE5oH,CAAC,GAAC,EAAC,GAAGO,CAAC,EAAEsoH,MAAP;AAAc,SAAGtoH,CAAC,EAAEwM,OAAH,CAAW9M,CAAX;AAAjB,KAAlE;AAAA,UAAkGE,CAAC,GAACJ,CAAC,EAAEkN,UAAH,IAAexM,CAAC,EAAEwM,UAAtH;AAAA,UAAiIvM,CAAC,GAACP,CAAC,EAAEuG,MAAH,CAAW,CAAC;AAACgJ,MAAAA,SAAS,EAAC3P;AAAX,KAAD,KAAiB,CAAC,CAACA,CAAF,KAAM4S,4EAAC,CAAC5S,CAAD,CAAD,IAAMkM,yEAAC,CAAClM,CAAD,CAAP,IAAYC,CAAC,CAACyxB,cAAF,CAAiB1xB,CAAjB,CAAlB,CAA5B,CAAnI;AAAA,UAAwMM,CAAC,GAACI,CAAC,EAAEuM,eAA7M;AAAA,UAA6N;AAACc,MAAAA,WAAW,EAAClN,CAAb;AAAekC,MAAAA,KAAK,EAAC/B;AAArB,QAAwBhB,CAArP;AAAuP,WAAM;AAACuxC,MAAAA,UAAU,EAACtxC,CAAZ;AAAcgN,MAAAA,eAAe,EAAC3M,CAA9B;AAAgC4M,MAAAA,UAAU,EAACvM,CAA3C;AAA6C,SAAG,KAAK21H,oBAAL,CAA0B;AAACvzH,QAAAA,KAAK,EAAC/B,CAAP;AAAS+M,QAAAA,WAAW,EAAClN;AAArB,OAA1B;AAAhD,KAAN;AAA0G;;AAAA00H,EAAAA,cAAc,CAACv1H,CAAD,EAAGE,CAAH,EAAK;AAAC,UAAMQ,CAAC,GAACV,CAAC,CAACS,KAAF,EAAR;AAAA,UAAkBD,CAAC,GAAC,IAAI+B,iFAAJ,CAAM,KAAK2zH,qBAAL,CAA2Bl2H,CAA3B,EAA6BE,CAA7B,CAAN,CAApB;AAA2D,WAAO,KAAKm0H,iBAAL,CAAuBn0H,CAAvB,IAA0BM,CAA1B,EAA4BE,CAAC,CAACwM,UAAF,GAAa1M,CAAC,CAACu2H,mBAAF,CAAsBjtH,KAAtB,EAAzC,EAAuEpJ,CAA9E;AAAgF;;AAAA01H,EAAAA,oBAAoB,CAACp2H,CAAD,EAAGE,CAAH,EAAK;AAAC,UAAK;AAACogH,MAAAA,SAAS,EAAC5/G,CAAX;AAAasnF,MAAAA,OAAO,EAACxnF,CAArB;AAAuBm0H,MAAAA,aAAa,EAAC10H,CAArC;AAAuCu0H,MAAAA,uBAAuB,EAACp0H,CAA/D;AAAiEm+G,MAAAA,YAAY,EAAC59G,CAA9E;AAAgFi0H,MAAAA,YAAY,EAACt0H,CAA7F;AAA+F6zH,MAAAA,qBAAqB,EAACtzH;AAArH,QAAwH,IAA7H;AAAA,UAAkIG,CAAC,GAAC,KAAK6nH,mBAAzI;AAAA,UAA6J/nH,CAAC,GAACN,CAAC,EAAE+wC,UAAH,IAAe,EAA9K;AAAA,UAAiL;AAACxjC,MAAAA,WAAW,EAACrM,CAAb;AAAesM,MAAAA,UAAU,EAACxM,CAA1B;AAA4BuB,MAAAA,KAAK,EAACzB;AAAlC,QAAqCtB,CAAtN;AAAwN,WAAM;AAACsgH,MAAAA,SAAS,EAAC;AAACC,QAAAA,cAAc,EAAC7/G,CAAC,CAAC6/G;AAAlB,OAAX;AAA6CvC,MAAAA,oBAAoB,EAACh+G,CAAC,CAACg+G,oBAAF,IAAwB,CAA1F;AAA4FzsE,MAAAA,UAAU,EAACzwC,CAAvG;AAAyGk/G,MAAAA,WAAW,EAACx/G,CAAC,EAAEw/G,WAAxH;AAAoIx2G,MAAAA,KAAK,EAAClJ,CAA1I;AAA4Ig+G,MAAAA,YAAY,EAACr+G,CAAzJ;AAA2J4oH,MAAAA,mBAAmB,EAAC,EAAC,GAAG7nH,CAAC,EAAE8nH,MAAP;AAAc,WAAG9nH,CAAC,EAAEgM,OAAH,CAAW9M,CAAX;AAAjB,OAA/K;AAA+M42H,MAAAA,oBAAoB,EAACj2H,CAApO;AAAsOmN,MAAAA,UAAU,EAACxM,CAAjP;AAAmP6pC,MAAAA,aAAa,EAACjrC,CAAjQ;AAAmQm+G,MAAAA,YAAY,EAAC59G,CAAhR;AAAkR,SAAG,KAAK21H,oBAAL,CAA0B;AAACvzH,QAAAA,KAAK,EAACzB,CAAP;AAASyM,QAAAA,WAAW,EAACrM;AAArB,OAA1B;AAArR,KAAN;AAA+U;;AAAA8zH,EAAAA,aAAa,CAACx1H,CAAD,EAAGE,CAAH,EAAK;AAAC,UAAMQ,CAAC,GAACV,CAAC,CAACS,KAAF,EAAR;AAAA,UAAkBD,CAAC,GAAC,IAAI+H,+EAAJ,CAAM,KAAK6tH,oBAAL,CAA0Bp2H,CAA1B,EAA4BE,CAA5B,CAAN,CAApB;AAA0D,WAAOQ,CAAC,CAACsN,UAAF,GAAaxN,CAAC,CAACw2H,mBAAF,CAAsBltH,KAAtB,EAAb,EAA2C,KAAKuqH,iBAAL,CAAuBn0H,CAAvB,IAA0BM,CAArE,EAAuEE,CAA9E;AAAgF;;AAAA21H,EAAAA,mBAAmB,CAACr2H,CAAD,EAAG;AAAC,UAAK;AAACgoF,MAAAA,OAAO,EAAC9nF,CAAT;AAAWy0H,MAAAA,aAAa,EAACj0H,CAAzB;AAA2Bk0H,MAAAA,YAAY,EAACp0H,CAAxC;AAA0C2zH,MAAAA,qBAAqB,EAACl0H;AAAhE,QAAmE,IAAxE;;AAA6E,QAAGD,CAAC,IAAEA,CAAC,CAACqM,IAAR,EAAa;AAAC,YAAMjM,CAAC,GAACF,CAAC,EAAEqxC,UAAH,IAAe,EAAvB;AAAA,YAA0B5wC,CAAC,GAAC,KAAKkoH,mBAAL,EAA0BC,MAA1B,IAAkC,EAA9D;AAAiE9oH,MAAAA,CAAC,CAACqM,IAAF,GAAOf,+FAAC,CAAC;AAACimC,QAAAA,UAAU,EAACnxC,CAAZ;AAAck+G,QAAAA,YAAY,EAAC59G,CAA3B;AAA6Bm2H,QAAAA,gBAAgB,EAACl2H,CAA9C;AAAgDm2H,QAAAA,oBAAoB,EAAC72H,CAArE;AAAuEuJ,QAAAA,KAAK,EAAChJ,CAA7E;AAA+E6L,QAAAA,IAAI,EAACrM,CAAC,CAACqM;AAAtF,OAAD,CAAR;AAAsG;;AAAA,WAAM;AAAC27E,MAAAA,OAAO,EAAC9nF,CAAT;AAAW06G,MAAAA,OAAO,EAAC56G,CAAC,CAACqM;AAArB,KAAN;AAAiC;;AAAAopH,EAAAA,YAAY,CAACz1H,CAAD,EAAGE,CAAH,EAAK;AAAC,UAAMQ,CAAC,GAACV,CAAC,CAACS,KAAF,EAAR;AAAkB,WAAO,KAAK4zH,iBAAL,CAAuBn0H,CAAvB,IAA0B,IAAIiC,mFAAJ,CAAM,KAAKk0H,mBAAL,CAAyB31H,CAAzB,CAAN,CAA1B,EAA6DA,CAApE;AAAsE;;AAAAu2H,EAAAA,oBAAoB,GAAE;AAAC,UAAK;AAACzC,MAAAA,uBAAuB,EAACx0H,CAAzB;AAA2B40H,MAAAA,YAAY,EAAC10H,CAAxC;AAA0C8nF,MAAAA,OAAO,EAACtnF,CAAlD;AAAoDwU,MAAAA,QAAQ,EAAC1U;AAA7D,QAAgE,IAArE;AAA0E,QAAG,CAACR,CAAJ,EAAM;AAAO,UAAK;AAACoN,MAAAA,mBAAmB,EAACnN;AAArB,QAAwBD,CAA7B;AAAA,UAA+BI,CAAC,GAACF,CAAC,EAAEuuC,cAApC;AAAmD,WAAOxuC,CAAC,IAAEG,CAAH,GAAKgL,yEAAC,CAAChL,CAAD,EAAGM,CAAC,EAAE6wC,UAAN,EAAiB/wC,CAAjB,EAAmBN,CAAnB,CAAN,GAA4B,KAAK,CAAxC;AAA0C;;AAAAg3H,EAAAA,aAAa,CAACl3H,CAAD,EAAG;AAAC,UAAK;AAAC20H,MAAAA,aAAa,EAACz0H,CAAf;AAAiB00H,MAAAA,YAAY,EAACl0H,CAA9B;AAAgCsnF,MAAAA,OAAO,EAACxnF,CAAxC;AAA0C2zH,MAAAA,qBAAqB,EAACl0H;AAAhE,QAAmE,IAAxE;AAAA,UAA6EG,CAAC,GAACI,CAAC,EAAE+wC,UAAH,IAAe,EAA9F;AAAA,UAAiG5wC,CAAC,GAAC,KAAKkoH,mBAAL,EAA0BC,MAA1B,IAAkC,EAArI;AAAwI,WAAOx9G,+FAAC,CAAC;AAACimC,MAAAA,UAAU,EAACnxC,CAAZ;AAAck+G,MAAAA,YAAY,EAACp+G,CAA3B;AAA6B22H,MAAAA,gBAAgB,EAACl2H,CAA9C;AAAgDm2H,MAAAA,oBAAoB,EAAC72H,CAArE;AAAuEuJ,MAAAA,KAAK,EAAC9I,CAA7E;AAA+E2L,MAAAA,IAAI,EAACrM;AAApF,KAAD,CAAR;AAAiG;;AAAMm3H,EAAAA,SAAS,GAAE;AAAA;;AAAA;AAAC,YAAK;AAAC3C,QAAAA,uBAAuB,EAACx0H,CAAzB;AAA2BgoF,QAAAA,OAAO,EAAC9nF;AAAnC,UAAsC,MAA3C;AAAgD,aAAOA,CAAC,GAACmG,0EAAC,CAAC;AAAC9C,QAAAA,IAAI,EAAC,OAAN;AAAcmK,QAAAA,KAAK,EAAC1N,CAAC,EAAE+C,KAAvB;AAA6BogG,QAAAA,KAAK,EAAC;AAACnb,UAAAA,OAAO,EAAC9nF;AAAT;AAAnC,OAAD,CAAF,GAAoD,IAA5D;AAAjD;AAAkH;;AAAMk3H,EAAAA,WAAW,GAAE;AAAA;;AAAA;AAAC,YAAK;AAAC5C,QAAAA,uBAAuB,EAACx0H,CAAzB;AAA2BgoF,QAAAA,OAAO,EAAC9nF;AAAnC,UAAsC,MAA3C;AAAgD,aAAOA,CAAC,GAACmG,0EAAC,CAAC;AAAC9C,QAAAA,IAAI,EAAC,SAAN;AAAgBmK,QAAAA,KAAK,EAAC1N,CAAC,EAAEgN,OAAzB;AAAiCm2F,QAAAA,KAAK,EAAC;AAACnb,UAAAA,OAAO,EAAC9nF;AAAT;AAAvC,OAAD,CAAF,GAAwD,IAAhE;AAAjD;AAAsH;;AAAMi1H,EAAAA,aAAa,CAACn1H,CAAD,EAAG;AAAA;;AAAA;AAAC,YAAK;AAACg0H,QAAAA,uBAAuB,EAAC9zH,CAAzB;AAA2B00H,QAAAA,YAAY,EAACl0H,CAAxC;AAA0CsnF,QAAAA,OAAO,EAACxnF,CAAlD;AAAoDg0H,QAAAA,uBAAuB,EAACv0H;AAA5E,UAA+E,MAApF;AAAA,YAAyFG,CAAC,GAAC,MAAI,CAACmF,GAAhG;AAAA,YAAoG5E,CAAC,GAAC,MAAI,CAAC6lF,IAA3G;AAAA,YAAgHlmF,CAAC,GAAC,MAAI,CAACsC,gBAAvH;AAAA,YAAwI/B,CAAC,GAAC,MAAI,CAAC8hC,QAA/I;AAAwJ,UAAGziC,CAAC,KAAG,MAAI,CAAC8zH,uBAAT,IAAkC,CAACxzH,CAAtC,EAAwC;AAAO,YAAMkL,8EAAC,CAAC;AAACs8E,QAAAA,OAAO,EAACxnF,CAAT;AAAW6qC,QAAAA,aAAa,EAACprC,CAAzB;AAA2BuJ,QAAAA,KAAK,EAAC9I,CAAjC;AAAmCkC,QAAAA,gBAAgB,EAACtC;AAApD,OAAD,EAAwDN,CAAxD,CAAP;AAAkE,YAAK;AAACgN,QAAAA,OAAO,EAAC;AAACU,UAAAA,KAAK,EAAC5M;AAAP,SAAT;AAAmBiC,QAAAA,KAAK,EAAC;AAAC2K,UAAAA,KAAK,EAAChM;AAAP;AAAzB,gBAA0CV,kEAAC,CAAC;AAACgM,QAAAA,OAAO,EAAC,MAAI,CAACoqH,WAAL,EAAT;AAA4Br0H,QAAAA,KAAK,EAAC,MAAI,CAACo0H,SAAL;AAAlC,OAAD,CAAhD;AAAA,YAAsG;AAACL,QAAAA,oBAAoB,EAAC;AAACppH,UAAAA,KAAK,EAAClM;AAAP;AAAtB,gBAAuCR,kEAAC,CAAC;AAACq2H,QAAAA,uBAAuB,EAAC,MAAI,CAACC,wBAAL,CAA8Bt3H,CAA9B,CAAzB;AAA0D82H,QAAAA,oBAAoB,EAACzkH,0FAAC,CAAC;AAACpF,UAAAA,eAAe,EAAChN,CAAC,EAAEgN,eAApB;AAAoCrK,UAAAA,gBAAgB,EAACtC,CAArD;AAAuD0nF,UAAAA,OAAO,EAACxnF,CAA/D;AAAiE+E,UAAAA,GAAG,EAACnF,CAArE;AAAuEkvE,UAAAA,WAAW,EAACpnD,CAAC,CAAConD,WAArF;AAAiGkX,UAAAA,IAAI,EAAC7lF,CAAtG;AAAwGkxB,UAAAA,OAAO,EAAC7xB,CAAhH;AAAkH2iC,UAAAA,QAAQ,EAAC9hC;AAA3H,SAAD;AAAhF,OAAD,CAA9I;AAAiWX,MAAAA,CAAC,KAAG,MAAI,CAAC8zH,uBAAT,IAAkCxzH,CAAlC,KAAsC,MAAI,CAAC2zH,qBAAL,GAA2B3yH,CAA3B,EAA6B,MAAI,CAAC4yH,4BAAL,GAAkC,EAAC,GAAG5zH,CAAC,CAAC+wC,UAAN;AAAiB,WAAG/vC;AAApB,OAA/D,EAAsF,MAAI,CAAC+C,IAAL,CAAU,qBAAV,EAAgC,MAAI,CAACgzH,0BAAL,CAAgCz2H,CAAhC,CAAhC,CAAtF,EAA0J,MAAI,CAACyD,IAAL,CAAU,OAAV,EAAkB,MAAI,CAAC2yH,aAAL,CAAmBx1H,CAAnB,CAAlB,CAA1J,EAAmM,MAAI,CAAC6C,IAAL,CAAU,cAAV,EAAyB,MAAI,CAAC0yH,oBAAL,MAA6B,IAAtD,CAAnM,EAA+P,MAAI,CAAC1yH,IAAL,CAAU,SAAV,EAAoB,MAAI,CAACqxH,eAAL,CAAqB90H,CAArB,KAAyB,IAA7C,CAArS;AAA3mB;AAAo8B;;AAAAq1H,EAAAA,+BAA+B,CAAC;AAACjb,IAAAA,cAAc,EAACl7G,CAAhB;AAAkBi2H,IAAAA,mBAAmB,EAAC/1H,CAAtC;AAAwC2oH,IAAAA,mBAAmB,EAACnoH;AAA5D,GAAD,EAAgE;AAAC,UAAK;AAAC8zH,MAAAA,uBAAuB,EAACh0H,CAAzB;AAA2BwnF,MAAAA,OAAO,EAAC/nF,CAAnC;AAAqCs+G,MAAAA,YAAY,EAACn+G,CAAlD;AAAoDw0H,MAAAA,YAAY,EAACj0H,CAAjE;AAAmEg0H,MAAAA,aAAa,EAACr0H,CAAjF;AAAmF8zH,MAAAA,4BAA4B,EAACvzH,CAAhH;AAAkHqU,MAAAA,QAAQ,EAAClU;AAA3H,QAA8H,IAAnI;AAAwIN,IAAAA,CAAC,CAACsM,OAAF,CAAU9M,CAAV,IAAakC,2EAAC,CAAC;AAAC8K,MAAAA,UAAU,EAAC1M,CAAC,EAAE0M,UAAf;AAA0B86E,MAAAA,OAAO,EAAC/nF,CAAlC;AAAoCsxC,MAAAA,UAAU,EAAC,EAAC,GAAG1wC,CAAJ;AAAM,WAAGb,CAAC,CAACuxC;AAAX,OAA/C;AAAsE/nC,MAAAA,KAAK,EAAC7I,CAA5E;AAA8E29G,MAAAA,YAAY,EAACh+G,CAA3F;AAA6Fi+G,MAAAA,YAAY,EAACn+G,CAA1G;AAA4G8U,MAAAA,QAAQ,EAAClU;AAArH,KAAD,CAAd;AAAwI;;AAAAg1H,EAAAA,gCAAgC,CAAC;AAAC9a,IAAAA,cAAc,EAACl7G,CAAhB;AAAkBi2H,IAAAA,mBAAmB,EAAC/1H,CAAtC;AAAwC2oH,IAAAA,mBAAmB,EAACnoH;AAA5D,GAAD,EAAgE;AAAC,QAAGV,CAAC,CAACkN,UAAL,EAAgB;AAAC,YAAK;AAAC86E,QAAAA,OAAO,EAACxnF,CAAT;AAAW+9G,QAAAA,YAAY,EAACt+G,CAAxB;AAA0B20H,QAAAA,YAAY,EAACx0H,CAAvC;AAAyCu0H,QAAAA,aAAa,EAACh0H,CAAvD;AAAyDyzH,QAAAA,4BAA4B,EAAC9zH,CAAtF;AAAwF4U,QAAAA,QAAQ,EAACrU;AAAjG,UAAoG,IAAzG;AAA8GH,MAAAA,CAAC,CAACsM,OAAF,CAAU9M,CAAV,IAAakC,2EAAC,CAAC;AAAC8K,QAAAA,UAAU,EAAClN,CAAC,CAACkN,UAAd;AAAyB86E,QAAAA,OAAO,EAACxnF,CAAjC;AAAmC+wC,QAAAA,UAAU,EAAC,EAAC,GAAGjxC,CAAJ;AAAM,aAAGN,CAAC,CAACuxC;AAAX,SAA9C;AAAqE/nC,QAAAA,KAAK,EAACpJ,CAA3E;AAA6Ek+G,QAAAA,YAAY,EAAC39G,CAA1F;AAA4F49G,QAAAA,YAAY,EAACt+G,CAAzG;AAA2GiV,QAAAA,QAAQ,EAACrU;AAApH,OAAD,CAAd;AAAuI;AAAC;;AAAA02H,EAAAA,0BAA0B,CAACv3H,CAAD,EAAG;AAAC,UAAK;AAACw0H,MAAAA,uBAAuB,EAACt0H,CAAzB;AAA2B8nF,MAAAA,OAAO,EAACtnF,CAAnC;AAAqC69G,MAAAA,YAAY,EAAC/9G,CAAlD;AAAoDo0H,MAAAA,YAAY,EAAC30H,CAAjE;AAAmE00H,MAAAA,aAAa,EAACv0H,CAAjF;AAAmFg0H,MAAAA,4BAA4B,EAACzzH,CAAhH;AAAkHuU,MAAAA,QAAQ,EAAC5U;AAA3H,QAA8H,IAAnI;AAAA,UAAwIO,CAAC,GAACX,CAAC,EAAEgN,UAA7I;AAAA,UAAwJlM,CAAC,GAAC;AAAC8nH,MAAAA,MAAM,EAAC1mH,2EAAC,CAAC;AAAC8K,QAAAA,UAAU,EAACrM,CAAZ;AAAcmnF,QAAAA,OAAO,EAACtnF,CAAtB;AAAwB6wC,QAAAA,UAAU,EAAC5wC,CAAnC;AAAqC6I,QAAAA,KAAK,EAACvJ,CAA3C;AAA6Cq+G,QAAAA,YAAY,EAACl+G,CAA1D;AAA4Dm+G,QAAAA,YAAY,EAAC/9G,CAAzE;AAA2E0U,QAAAA,QAAQ,EAAC5U;AAApF,OAAD,CAAT;AAAkG0M,MAAAA,OAAO,EAAC;AAA1G,KAA1J;AAAwQ,WAAOzG,KAAK,CAACC,OAAN,CAAcxG,CAAd,KAAkBA,CAAC,CAAC2E,OAAF,CAAW,CAAC3E,CAAD,EAAGE,CAAH,KAAO;AAAC,mBAAWF,CAAC,CAACuD,IAAb,IAAmB,KAAKyyH,gCAAL,CAAsC;AAAC9a,QAAAA,cAAc,EAACl7G,CAAhB;AAAkBi2H,QAAAA,mBAAmB,EAAC/1H,CAAtC;AAAwC2oH,QAAAA,mBAAmB,EAAC7nH;AAA5D,OAAtC,CAAnB,EAAyH,YAAUhB,CAAC,CAACuD,IAAZ,IAAkB,KAAK4yH,+BAAL,CAAqC;AAACjb,QAAAA,cAAc,EAACl7G,CAAhB;AAAkBi2H,QAAAA,mBAAmB,EAAC/1H,CAAtC;AAAwC2oH,QAAAA,mBAAmB,EAAC7nH;AAA5D,OAArC,CAA3I;AAAgP,KAAnQ,CAAlB,EAAwRA,CAA/R;AAAiS;;AAAAs2H,EAAAA,wBAAwB,CAACt3H,CAAD,EAAG;AAAC,UAAK;AAACgoF,MAAAA,OAAO,EAAC9nF,CAAT;AAAWs0H,MAAAA,uBAAuB,EAAC9zH;AAAnC,QAAsC,IAA3C;AAAgD,WAAO,KAAK82H,kBAAL,CAAwBt3H,CAAxB,EAA0BmL,2EAAC,CAAC3K,CAAD,CAA3B,EAA+BV,CAA/B,CAAP;AAAyC;;AAAMw3H,EAAAA,kBAAkB,CAACx3H,CAAD,EAAGE,CAAH,EAAKQ,CAAL,EAAO;AAAA;;AAAA;AAAC,YAAK;AAAC69G,QAAAA,YAAY,EAAC/9G,CAAd;AAAgBo0H,QAAAA,YAAY,EAAC30H;AAA7B,UAAgC,MAArC;AAA0CO,MAAAA,CAAC,CAACoZ,KAAF;AAAU,YAAMxZ,CAAC,GAAC,QAAMH,CAAC,EAAE2zG,eAAT,SAA+B3zG,CAAC,EAAE2zG,eAAH,CAAmB1uG,IAAnB,CAAwBxE,CAAxB,CAA/B,GAA2DT,CAAnE;AAAqE,UAAG,CAACG,CAAD,IAAI,CAACJ,CAAR,EAAU;AAAO,YAAMW,CAAC,GAACT,CAAC,CAACyG,MAAF,CAAU3G,CAAC,IAAE,CAAC,CAACA,CAAC,CAAC2P,SAAJ,IAAezD,yEAAC,CAAClM,CAAC,CAAC2P,SAAH,CAA7B,CAAR;AAAqD,UAAG,CAAChP,CAAC,EAAEkN,MAAP,EAAc;AAAO3N,MAAAA,CAAC,CAACyE,OAAF,CAAW3E,CAAC,IAAE,MAAI,CAACy3H,qBAAL,CAA2Bz3H,CAA3B,EAA6BI,CAA7B,CAAd;AAAgD,YAAME,CAAC,SAAO8nB,iFAAC,CAAC;AAACm2F,QAAAA,YAAY,EAAC/9G,CAAd;AAAgBgJ,QAAAA,KAAK,EAACpJ;AAAtB,OAAD,EAA0BM,CAA1B,CAAf;AAA4C2Z,MAAAA,MAAM,CAACkF,IAAP,CAAYjf,CAAZ,EAAeqE,OAAf,CAAwB3E,CAAC,IAAE;AAAC,cAAME,CAAC,GAACM,CAAC,CAACsZ,GAAF,CAAM9Z,CAAC,CAACkD,QAAF,EAAN,CAAR;AAAA,cAA4BxC,CAAC,GAACJ,CAAC,CAACN,CAAD,CAAD,EAAM0N,KAApC;AAA0CxN,QAAAA,CAAC,IAAEQ,CAAH,KAAOR,CAAC,CAACw3H,SAAF,GAAYh3H,CAAC,CAACwD,IAArB;AAA2B,OAAjG;AAAoG,YAAMrD,CAAC,SAAO6Q,sFAAC,CAAC;AAACs2E,QAAAA,OAAO,EAAChoF,CAAT;AAAWu+G,QAAAA,YAAY,EAAC/9G,CAAxB;AAA0BgJ,QAAAA,KAAK,EAACpJ;AAAhC,OAAD,EAAoCM,CAApC,CAAf;AAAsD2Z,MAAAA,MAAM,CAACkF,IAAP,CAAY1e,CAAZ,EAAe8D,OAAf,CAAwB3E,CAAC,IAAE;AAAC8nB,QAAAA,oFAAC,CAACjnB,CAAC,CAACb,CAAD,CAAD,EAAM0N,KAAP,EAAalN,CAAC,CAACsZ,GAAF,CAAM9Z,CAAC,CAACkD,QAAF,EAAN,CAAb,CAAD;AAAmC,OAA/D;AAA3c;AAA6gB;;AAAAu0H,EAAAA,qBAAqB,CAACz3H,CAAD,EAAGE,CAAH,EAAK;AAAC,UAAK;AAACq+G,MAAAA,YAAY,EAAC79G;AAAd,QAAiB,IAAtB;AAAA,UAA2BF,CAAC,GAAC6mB,qFAAC,CAACrnB,CAAC,CAAC2P,SAAF,IAAa,EAAd,CAA9B;AAAgD,QAAG,CAACnP,CAAJ,EAAM;AAAO,UAAK;AAACoX,MAAAA,OAAO,EAAC3X,CAAT;AAAW0P,MAAAA,SAAS,EAACvP;AAArB,QAAwBI,CAA7B;AAA+B,QAAG,CAACP,CAAJ,EAAM;AAAO,UAAMU,CAAC,GAACD,CAAC,CAACoZ,GAAF,CAAM7Z,CAAC,CAACiD,QAAF,EAAN,KAAqBuI,mFAAC,CAACxL,CAAD,EAAGC,CAAH,CAA9B;AAAoCS,IAAAA,CAAC,KAAG4mB,mFAAC,CAAC;AAACowG,MAAAA,WAAW,EAACh3H,CAAb;AAAegP,MAAAA,SAAS,EAACvP,CAAzB;AAA2ButE,MAAAA,SAAS,EAAC3tE;AAArC,KAAD,CAAD,EAA2C,KAAKu+G,YAAL,CAAkB74G,GAAlB,CAAsBzF,CAAtB,EAAwBU,CAAxB,CAA9C,CAAD;AAA2E;;AAA92b,CAA5B;AAA44bglC,EAAE,CAAC2pC,WAAH,GAAe,IAAI5uE,gHAAJ,CAAMwmB,4EAAN,EAAQpH,yEAAR,CAAf,EAA0B9f,uDAAC,CAAC,CAACkB,uFAAC,EAAF,CAAD,EAAOykC,EAAE,CAACx9B,SAAV,EAAoB,QAApB,EAA6B,KAAK,CAAlC,CAA3B,EAAgEnI,uDAAC,CAAC,CAACkB,uFAAC,EAAF,CAAD,EAAOykC,EAAE,CAACx9B,SAAV,EAAoB,yBAApB,EAA8C,KAAK,CAAnD,CAAjE,EAAuHnI,uDAAC,CAAC,CAACkB,uFAAC,EAAF,CAAD,EAAOykC,EAAE,CAACx9B,SAAV,EAAoB,+BAApB,EAAoD,KAAK,CAAzD,CAAxH,EAAoLnI,uDAAC,CAAC,CAACkB,uFAAC,CAAC;AAACmH,EAAAA,QAAQ,EAAC,CAAC;AAAX,CAAD,CAAF,CAAD,EAAoBs9B,EAAE,CAACx9B,SAAvB,EAAiC,yBAAjC,EAA2D,IAA3D,CAArL,EAAsPnI,uDAAC,CAAC,CAACkB,uFAAC,CAAC;AAACmH,EAAAA,QAAQ,EAAC,CAAC;AAAX,CAAD,CAAF,CAAD,EAAoBs9B,EAAE,CAACx9B,SAAvB,EAAiC,eAAjC,EAAiD,IAAjD,CAAvP,EAA8SnI,uDAAC,CAAC,CAACkB,uFAAC,CAAC;AAACmH,EAAAA,QAAQ,EAAC,CAAC;AAAX,CAAD,CAAF,CAAD,EAAoBs9B,EAAE,CAACx9B,SAAvB,EAAiC,cAAjC,EAAgD,IAAhD,CAA/S,EAAqWnI,uDAAC,CAAC,CAACkB,uFAAC,EAAF,CAAD,EAAOykC,EAAE,CAACx9B,SAAV,EAAoB,WAApB,EAAgC,KAAK,CAArC,CAAtW,EAA8YnI,uDAAC,CAAC,CAACD,+EAAC,CAAC,WAAD,CAAF,CAAD,EAAkB4lC,EAAE,CAACx9B,SAArB,EAA+B,eAA/B,EAA+C,IAA/C,CAA/Y,EAAocnI,uDAAC,CAAC,CAACkB,uFAAC,CAAC;AAACmH,EAAAA,QAAQ,EAAC,CAAC;AAAX,CAAD,CAAF,CAAD,EAAoBs9B,EAAE,CAACx9B,SAAvB,EAAiC,SAAjC,EAA2C,KAAK,CAAhD,CAArc,EAAwfnI,uDAAC,CAAC,CAACkB,uFAAC,CAAC;AAACmH,EAAAA,QAAQ,EAAC,CAAC;AAAX,CAAD,CAAF,CAAD,EAAoBs9B,EAAE,CAACx9B,SAAvB,EAAiC,mBAAjC,EAAqD,KAAK,CAA1D,CAAzf,EAAsjBnI,uDAAC,CAAC,CAACkB,uFAAC,EAAF,CAAD,EAAOykC,EAAE,CAACx9B,SAAV,EAAoB,aAApB,EAAkC,KAAK,CAAvC,CAAvjB,EAAimBnI,uDAAC,CAAC,CAACkB,uFAAC,CAAC;AAACqC,EAAAA,IAAI,EAACgL;AAAN,CAAD,CAAF,CAAD,EAAqBo3B,EAAE,CAACx9B,SAAxB,EAAkC,6BAAlC,EAAgE,KAAK,CAArE,CAAlmB,EAA0qBnI,uDAAC,CAAC,CAACkB,uFAAC,CAAC;AAACmH,EAAAA,QAAQ,EAAC,CAAC;AAAX,CAAD,CAAF,CAAD,EAAoBs9B,EAAE,CAACx9B,SAAvB,EAAiC,SAAjC,EAA2C,IAA3C,CAA3qB,EAA4tBnI,uDAAC,CAAC,CAACkB,uFAAC,CAAC;AAACmH,EAAAA,QAAQ,EAAC,CAAC;AAAX,CAAD,CAAF,CAAD,EAAoBs9B,EAAE,CAACx9B,SAAvB,EAAiC,OAAjC,EAAyC,IAAzC,CAA7tB,EAA4wBnI,uDAAC,CAAC,CAACkB,uFAAC,CAAC;AAACmH,EAAAA,QAAQ,EAAC,CAAC;AAAX,CAAD,CAAF,CAAD,EAAoBs9B,EAAE,CAACx9B,SAAvB,EAAiC,qBAAjC,EAAuD,KAAK,CAA5D,CAA7wB,EAA40BnI,uDAAC,CAAC,CAACkB,uFAAC,CAAC;AAACqC,EAAAA,IAAI,EAACrD,mDAAN;AAAQwN,EAAAA,KAAK,EAAC;AAAd,CAAD,CAAF,CAAD,EAA0Bi4B,EAAE,CAACx9B,SAA7B,EAAuC,SAAvC,EAAiD,IAAjD,CAA70B,EAAo4BnI,uDAAC,CAAC,CAACkB,uFAAC,CAAC;AAACmH,EAAAA,QAAQ,EAAC,CAAC;AAAX,CAAD,CAAF,CAAD,EAAoBs9B,EAAE,CAACx9B,SAAvB,EAAiC,cAAjC,EAAgD,KAAK,CAArD,CAAr4B,EAA67BnI,uDAAC,CAAC,CAACkB,uFAAC,CAAC;AAACqC,EAAAA,IAAI,EAACsJ,2DAACA;AAAP,CAAD,CAAF,CAAD,EAAe84B,EAAE,CAACx9B,SAAlB,EAA4B,UAA5B,EAAuC,KAAK,CAA5C,CAA97B,EAA6+BnI,uDAAC,CAAC,CAACkB,uFAAC,CAAC;AAACmH,EAAAA,QAAQ,EAAC,CAAC;AAAX,CAAD,CAAF,CAAD,EAAoBs9B,EAAE,CAACx9B,SAAvB,EAAiC,cAAjC,EAAgD,KAAK,CAArD,CAA9+B,EAAsiCnI,uDAAC,CAAC,CAACkB,uFAAC,EAAF,CAAD,EAAOykC,EAAE,CAACx9B,SAAV,EAAoB,kBAApB,EAAuC,IAAvC,CAAviC,EAAolCnI,uDAAC,CAAC,CAACkB,uFAAC,EAAF,CAAD,EAAOykC,EAAE,CAACx9B,SAAV,EAAoB,UAApB,EAA+B,IAA/B,CAArlC,EAA0nCnI,uDAAC,CAAC,CAACkB,uFAAC,CAAC;AAACmH,EAAAA,QAAQ,EAAC,CAAC;AAAX,CAAD,CAAF,CAAD,EAAoBs9B,EAAE,CAACx9B,SAAvB,EAAiC,OAAjC,EAAyC,KAAK,CAA9C,CAA3nC,EAA4qCnI,uDAAC,CAAC,CAACkB,uFAAC,EAAF,CAAD,EAAOykC,EAAE,CAACx9B,SAAV,EAAoB,KAApB,EAA0B,IAA1B,CAA7qC,EAA6sCnI,uDAAC,CAAC,CAACkB,uFAAC,CAAC;AAACmH,EAAAA,QAAQ,EAAC,CAAC;AAAX,CAAD,CAAF,CAAD,EAAoBs9B,EAAE,CAACx9B,SAAvB,EAAiC,mBAAjC,EAAqD,IAArD,CAA9sC,EAAywCnI,uDAAC,CAAC,CAACkB,uFAAC,EAAF,CAAD,EAAOykC,EAAE,CAACx9B,SAAV,EAAoB,MAApB,EAA2B,KAAK,CAAhC,CAA1wC,EAA6yCw9B,EAAE,GAACzd,CAAC,GAACloB,uDAAC,CAAC,CAACoB,uFAAC,CAAC,uCAAD,CAAF,CAAD,EAA8CukC,EAA9C,CAAnzC;AAAq2C,MAAMJ,EAAE,GAACI,EAAT;;;;;;;;;;;;;;;;ACJ/ujB;AACA;AACA;AACA;AACA,0BAA0B,oBAAoB,EAAE,2BAA2B,EAAE,iBAAiB,EAAE,yBAAyB,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,0BAA0B,EAAE,mCAAmC,EAAE,wCAAwC,EAAE,2BAA2B,EAAE,0BAA0B,EAAE,8BAA8B,EAAE,yBAAyB,EAAE,6BAA6B,EAAE,+BAA+B,EAAE,+CAA+C,EAAE,sBAAuC;;;;;;;;;;;;;;;;;;;;;;;;;ACJ3hB;AACA;AACA;AACA;AAC2Z,YAAY,sBAAsB,cAAc,8CAA8C,4DAAC,kBAAkB,2DAAC,QAAQ,MAAM,0DAAa,OAAO,sCAAsC,2DAAC,QAAQ,4CAA4C,0DAAa,OAAO,EAAE,8DAAC,IAAI,2DAAC,QAAQ,oDAAoD,0DAAa,OAAO,OAAO,iBAAiB,aAAa,mBAAmB,SAAS,uDAAC,EAAE,sFAAC,4DAA6F;;;;;;;;;;;;;;;;;;;;;;;;;;ACJx5B;AACA;AACA;AACA;AAC0d,uCAAuC,gBAAgB,EAAE,wBAAwB,EAAE,gBAAgB,oBAAoB,kDAAC,CAAC,iBAAiB,qEAAqE,SAAS,OAAO,2DAAC,QAAQ,aAAa,gDAAgD,eAAe,MAAM,QAAQ,MAAM,SAAS,2DAAC,CAAC,wDAAC,EAAE,kDAAkD,OAAO,qBAAqB,MAAM,cAAc,MAAM,SAAS,2DAAC,QAAQ,kDAAkD,SAAS,uDAAC,EAAE,sFAAC,sCAAsC,uDAAC,EAAE,sFAAC,uCAAuC,uDAAC,EAAE,sFAAC,kCAAkC,uDAAC,EAAE,sFAAC,wDAAwD,UAA+B;;;;;;;;;;;;;;;;;;;;;;;;;;;ACJ3rC;AACA;AACA;AACA;AACA;AAAgF;AAAuC;AAA2D;AAA+C;AAA8E;;AAAuD,MAAMvlC,CAAC,GAAC,iDAAR;AAAA,MAA0DU,CAAC,GAAC,MAAIb,iEAAA,CAAYG,CAAZ,CAAhE;;AAA+E,SAASY,CAAT,CAAWhB,CAAX,EAAa;AAAC,SAAM,YAAU,OAAOA,CAAjB,GAAmBQ,yEAAC,CAACE,8DAAC,CAACV,CAAD,CAAF,CAApB,GAA2BuG,KAAK,CAACC,OAAN,CAAcxG,CAAd,IAAiBwB,CAAC,CAACxB,CAAD,CAAlB,GAAsB,6BAA2BA,CAAC,EAAEuJ,aAA9B,GAA4C1I,CAAC,CAACb,CAAD,CAA7C,GAAiDA,CAAxG;AAA0G;;AAAA,SAASwB,CAAT,CAAWxB,CAAX,EAAa;AAAC,SAAO,iCAAgCA,CAAC,CAACuF,GAAF,CAAOvF,CAAC,IAAG,OAAM,YAAU,OAAOA,CAAjB,GAAmBQ,yEAAC,CAACE,8DAAC,CAACV,CAAD,CAAF,CAApB,GAA2BA,CAAE,OAA9C,EAAuDwmB,IAAvD,CAA4D,EAA5D,CAAgE,OAAvG;AAA8G;;AAAA,SAAS3lB,CAAT,CAAWb,CAAX,EAAa;AAAC,QAAMC,CAAC,GAACD,CAAC,CAACuf,IAAF,GAASha,GAAT,CAActF,CAAC,IAAE;AAAC,UAAMC,CAAC,GAACF,CAAC,CAACoQ,KAAF,CAAQnQ,CAAR,CAAR;AAAmB,WAAO,WAAUA,CAAE,YAAW,YAAU,OAAOC,CAAjB,GAAmBM,yEAAC,CAACE,8DAAC,CAACR,CAAD,CAAF,CAApB,GAA2BA,CAAE,YAA3D;AAAuE,GAA5G,EAA+GsmB,IAA/G,CAAoH,EAApH,CAAR;AAAgI,SAAO,iBAAgB7lB,kEAAQ,KAAIV,CAAE,UAArC;AAA+C;;AAAA,SAASyB,CAAT,GAAY;AAAC,SAAO,gKAAP;AAAoC;;AAAA,SAASE,CAAT,CAAW5B,CAAX,EAAa;AAAC,SAAM,iBAAgBA,CAAhB,IAAmB,mBAAkBA,CAA3C;AAA6C;;SAAeiC;;;;;yMAAf,WAAiB;AAAC+lF,IAAAA,OAAO,EAAChoF,CAAT;AAAWwmF,IAAAA,IAAI,EAACvmF,CAAhB;AAAkB4xB,IAAAA,OAAO,EAAC3xB;AAA1B,GAAjB,EAA8C;AAAC,UAAK;AAAC8/G,MAAAA,WAAW,EAAC1/G,CAAb;AAAekJ,MAAAA,KAAK,EAAChJ;AAArB,QAAwBR,CAA7B;AAA+B,QAAG,CAACM,CAAD,IAAI,CAACE,CAAL,IAAQ,SAAOP,CAAC,EAAEsD,IAArB,EAA0B,OAAM,EAAN;AAAS,UAAM7C,CAAC,SAAOT,CAAC,CAACsvF,aAAF,CAAgB/uF,CAAhB,CAAd;AAAiC,QAAG,CAACoB,CAAC,CAAClB,CAAD,CAAL,EAAS,OAAM,EAAN;AAAS,UAAMC,CAAC,GAACD,CAAC,CAAC+lC,WAAF,EAAR;AAAA,UAAwBrmC,CAAC,GAACJ,CAAC,CAACmoF,WAAF,EAA1B;AAA0CxnF,IAAAA,CAAC,CAACq3H,YAAF,GAAe,QAAM53H,CAAN,GAAQ,CAACA,CAAD,CAAR,GAAY,EAA3B;AAA8B,UAAK;AAACmuC,MAAAA,QAAQ,EAACztC;AAAV,cAAmBJ,CAAC,CAACqvC,aAAF,CAAgBpvC,CAAhB,EAAkBT,CAAlB,CAAxB;AAA6C,WAAOY,CAAP;AAAS;;;;AAAA,SAASM,CAAT,CAAW;AAACoI,EAAAA,KAAK,EAACxJ,CAAP;AAASi4H,EAAAA,kBAAkB,EAACh4H,CAA5B;AAA8BqvE,EAAAA,WAAW,EAACpvE;AAA1C,CAAX,EAAwD;AAAC,QAAK;AAACqM,IAAAA,MAAM,EAAC/L,CAAR;AAAU4qC,IAAAA,aAAa,EAAC1qC,CAAxB;AAA0BsqC,IAAAA,YAAY,EAACrqC,CAAvC;AAAyCiC,IAAAA,gBAAgB,EAACxC,CAA1D;AAA4DwqC,IAAAA,YAAY,EAAC9pC;AAAzE,MAA4Ed,CAAjF;AAAmF,SAAO,IAAIM,+DAAJ,CAAM;AAACiM,IAAAA,MAAM,EAAC/L,CAAR;AAAU4qC,IAAAA,aAAa,EAAC1qC,CAAxB;AAA0BsqC,IAAAA,YAAY,EAACrqC,CAAvC;AAAyCiC,IAAAA,gBAAgB,EAACxC,CAA1D;AAA4DwqC,IAAAA,YAAY,EAAC9pC,CAAzE;AAA2EwuE,IAAAA,WAAW,EAACpvE,CAAvF;AAAyF,QAAG,cAAYF,CAAC,CAACuD,IAAd,GAAmB;AAACioC,MAAAA,SAAS,EAACxrC,CAAC,CAACwrC,SAAb;AAAuBG,MAAAA,WAAW,EAAC3rC,CAAC,CAAC2rC,WAArC;AAAiDzgC,MAAAA,KAAK,EAAClL,CAAC,CAACkL;AAAzD,KAAnB,GAAmF,IAAtF,CAAzF;AAAoLb,IAAAA,MAAM,EAACpK;AAA3L,GAAN,CAAP;AAA4M;;SAAeiB;;;;;yMAAf,WAAiB;AAACmQ,IAAAA,cAAc,EAACpR,CAAhB;AAAkBihE,IAAAA,MAAM,EAAChhE,CAAzB;AAA2BovE,IAAAA,WAAW,EAAChvE,CAAvC;AAAyCsC,IAAAA,gBAAgB,EAACpC,CAA1D;AAA4D+E,IAAAA,GAAG,EAAC7E,CAAhE;AAAkEsnF,IAAAA,OAAO,EAACrnF,CAA1E;AAA4EgiC,IAAAA,QAAQ,EAACviC,CAArF;AAAuFomF,IAAAA,IAAI,EAACxlF,CAA5F;AAA8F6wB,IAAAA,OAAO,EAACrwB;AAAtG,GAAjB,EAA0H;AAAC,QAAG,CAACvB,CAAC,EAAEuM,UAAP,EAAkB,OAAO,IAAP;AAAY,UAAK;AAACwzG,MAAAA,WAAW,EAACn/G;AAAb,QAAgBF,CAArB;AAAA,UAAuBe,CAAC,GAAC,CAACf,CAAC,CAACqvC,WAAF,IAAervC,CAAC,CAAC6I,KAAlB,KAA0B,KAAK,CAAxD;AAAA,UAA0D5H,CAAC,GAACf,CAAC,GAAC,yBAAD,GAA2B,OAAxF;AAAA,UAAgGK,CAAC,GAAChB,CAAC,CAACg4H,mBAAF,CAAsBt2H,CAAtB,CAAlG;AAAA,UAA2HG,CAAC,GAAC7B,CAAC,CAACi4H,oBAAF,CAAuBl4H,CAAC,CAACuM,UAAzB,EAAoCtL,CAApC,EAAuC6C,KAAvC,CAA8C/D,CAAC,IAAEc,CAAC,GAAG2C,KAAJ,CAAU,uBAAV,EAAkC;AAACA,MAAAA,KAAK,EAACzD,CAAP;AAASqR,MAAAA,cAAc,EAACpR;AAAxB,KAAlC,CAAjD,CAA7H;AAAA,UAA8O,CAACqB,CAAD,EAAGiH,CAAH,UAAYlD,OAAO,CAACc,GAAR,CAAY,CAAClE,CAAC,CAAC;AAAC+lF,MAAAA,OAAO,EAACrnF,CAAT;AAAW6lF,MAAAA,IAAI,EAACxlF,CAAhB;AAAkB6wB,MAAAA,OAAO,EAACrwB;AAA1B,KAAD,CAAF,EAAiCO,CAAjC,CAAZ,CAA1P;AAA2S,QAAG,CAACwG,CAAJ,EAAM,OAAO,IAAP;AAAY,UAAMuK,CAAC,GAAC,8BAA4BlR,CAA5B,GAA8BR,CAAC,CAAC;AAACoI,MAAAA,KAAK,EAAC9H,CAAP;AAASu2H,MAAAA,kBAAkB,EAAC32H,CAA5B;AAA8BguE,MAAAA,WAAW,EAAChvE;AAA1C,KAAD,CAA/B,GAA8E,KAAK,CAA3F;AAAA,UAA6FiC,CAAC,GAAC,EAAC,IAAG,8BAA4BX,CAA5B,GAA8B;AAACw2H,QAAAA,mBAAmB,EAACtlH;AAArB,OAA9B,GAAsD;AAACulH,QAAAA,UAAU,EAAC32H,CAAC,EAAEmE,GAAf;AAAmByyH,QAAAA,MAAM,EAAC,QAAM52H,CAAN,IAAS1B,sFAAC,CAAC0B,CAAD,CAAV,GAAcA,CAAd,GAAgB,YAAUA,CAAC,EAAE6B,IAAb,IAAmB,QAAM7B,CAAC,CAACkyG,eAA3B,GAA2ClyG,CAAC,CAACkyG,eAA7C,GAA6D,KAAK,CAA5G;AAA8G2kB,QAAAA,IAAI,EAAC73H,CAAnH;AAAqH83H,QAAAA,UAAU,EAACp4H,CAAhI;AAAkIq4H,QAAAA,MAAM,EAAC,+BAA6B/2H,CAAC,EAAE6B,IAAhC,GAAqC7B,CAAC,EAAEg3H,oBAAH,EAAyBC,cAA9D,GAA6E,KAAK;AAA3N,OAAzD,CAAD;AAAwR5tD,MAAAA,QAAQ,EAACpqE;AAAjS,KAA/F;AAAA,UAAmY6B,CAAC,GAAC;AAACo2H,MAAAA,WAAW,EAACp3H,CAAC,EAAEkG,MAAH,IAAW,KAAK,CAA7B;AAA+B4nE,MAAAA,WAAW,EAAChvE,CAAC,IAAE,KAAK,CAAnD;AAAqDu4H,MAAAA,SAAS,EAAC,CAAC,CAAhE;AAAkEj2H,MAAAA,gBAAgB,EAACpC,CAAC,IAAE,KAAK,CAA3F;AAA6F0U,MAAAA,QAAQ,EAAClU,CAAC,EAAEkU;AAAzG,KAArY;AAAwf,iBAAa3M,CAAC,CAACuwH,YAAF,CAAev2H,CAAf,EAAiBC,CAAjB,EAAoBuB,KAApB,CAA2B/D,CAAC,IAAEc,CAAC,GAAG2C,KAAJ,CAAU,wBAAV,EAAmC;AAACA,MAAAA,KAAK,EAACzD,CAAP;AAASgoF,MAAAA,OAAO,EAACrnF,CAAjB;AAAmB0Q,MAAAA,cAAc,EAACpR;AAAlC,KAAnC,CAA9B,EAAyGmrE,OAAzG,CAAkH,MAAIt4D,CAAC,EAAE1O,OAAH,EAAtH,CAAb;AAAkJ;;;;SAAerC;;;;;yMAAf,WAAiB;AAACkL,IAAAA,eAAe,EAACjN,CAAjB;AAAmB4C,IAAAA,gBAAgB,EAAC3C,CAApC;AAAsC+nF,IAAAA,OAAO,EAAC1nF,CAA9C;AAAgDgvE,IAAAA,WAAW,EAAC9uE,CAA5D;AAA8D+E,IAAAA,GAAG,EAAC7E,CAAlE;AAAoE8lF,IAAAA,IAAI,EAAC7lF,CAAzE;AAA2EgiC,IAAAA,QAAQ,EAACviC,CAApF;AAAsFyxB,IAAAA,OAAO,EAAC/wB;AAA9F,GAAjB,EAAkH;AAAC,QAAG,CAACd,CAAC,EAAE6N,MAAP,EAAc,OAAM,EAAN;AAAS,UAAMrM,CAAC,SAAOE,CAAC,EAAf;AAAA,UAAkBb,CAAC,GAAC,EAApB;;AAAuB,SAAI,MAAMX,CAAV,IAAeF,CAAf,EAAiBa,CAAC,CAAE,cAAaX,CAAC,CAACka,IAAK,EAAtB,CAAD,GAA0BlZ,CAAC,CAAC;AAACmQ,MAAAA,cAAc,EAACnR,CAAhB;AAAkBghE,MAAAA,MAAM,EAAC1/D,CAAzB;AAA2B8tE,MAAAA,WAAW,EAAC9uE,CAAvC;AAAyCoC,MAAAA,gBAAgB,EAAC3C,CAA1D;AAA4DsF,MAAAA,GAAG,EAAC7E,CAAhE;AAAkEsnF,MAAAA,OAAO,EAAC1nF,CAA1E;AAA4EqiC,MAAAA,QAAQ,EAACviC,CAArF;AAAuFomF,MAAAA,IAAI,EAAC7lF,CAA5F;AAA8FkxB,MAAAA,OAAO,EAAC/wB;AAAtG,KAAD,CAA3B;;AAAsI,UAAMc,CAAC,SAAO1B,iEAAC,CAACW,CAAD,CAAf;AAAA,UAAmBoB,CAAC,GAAC,EAArB;;AAAwB,SAAI,MAAM/B,CAAV,IAAe0B,CAAf,EAAiBK,CAAC,CAAC/B,CAAD,CAAD,GAAKc,CAAC,CAACY,CAAC,CAAC1B,CAAD,CAAD,CAAKwN,KAAN,CAAN;;AAAmB,WAAOzL,CAAP;AAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACJziG;AACA;AACA;AACA;AACA;AAAsC;AAAuC;AAAkD;AAAuF;AAA6F;AAA2H;AAAsF;AAA2F;AAAgE;;AAA8E,MAAMb,CAAC,GAAC,2CAAR;AAAA,MAAoDF,CAAC,GAAC,MAAIlB,iEAAA,CAAYoB,CAAZ,CAA1D;AAAA,MAAyEa,CAAC,GAAC,gBAA3E;AAAA,MAA4FJ,CAAC,GAAC,oBAA9F;AAAA,MAAmHP,CAAC,GAAC,IAArH;AAAA,MAA0Ha,CAAC,GAAC,mBAA5H;AAAA,MAAgJqJ,CAAC,GAAC,QAAlJ;AAAA,MAA2JzJ,CAAC,GAAC,uBAA7J;AAAA,MAAqLwG,CAAC,GAAC,sCAAvL;AAAA,MAA8N6C,CAAC,GAAC,mBAAhO;AAAA,MAAoP9I,CAAC,GAAC,gBAAtP;AAAA,MAAuQsQ,CAAC,GAACjS,6EAAC,CAAC,uBAAD,CAA1Q;;AAAoS,SAASmB,CAAT,CAAW9B,CAAX,EAAa;AAAC,MAAG,QAAMA,CAAT,EAAW,OAAM,CAACA,CAAC,CAACgwC,WAAF,IAAehwC,CAAC,CAACwJ,KAAlB,KAA0B,KAAK,CAArC;AAAuC;;SAAe6B;;;;;yMAAf,WAAiB;AAAC9H,IAAAA,IAAI,EAACvD,CAAN;AAAQ0N,IAAAA,KAAK,EAACxN,CAAd;AAAgBijG,IAAAA,KAAK,EAACxiG;AAAtB,GAAjB,EAA0C;AAAC,QAAG;AAAC,aAAM,cAAY,OAAOT,CAAnB,GAAqBA,CAAC,CAACS,CAAD,CAAtB,SAAgCT,CAAtC;AAAwC,KAA5C,CAA4C,OAAMD,CAAN,EAAQ;AAAC,aAAO,KAAKiB,CAAC,GAAGuC,KAAJ,CAAU,OAAV,EAAmB,uCAAsCzD,CAAE,YAA3D,EAAuE;AAACyD,QAAAA,KAAK,EAACxD,CAAP;AAAS+nF,QAAAA,OAAO,EAACrnF,CAAC,CAACqnF,OAAnB;AAA2Bt6E,QAAAA,KAAK,EAACxN;AAAjC,OAAvE,CAAZ;AAAwH;AAAC;;;;AAAA,SAASqC,CAAT,CAAWvC,CAAC,GAAC,EAAb,EAAgB;AAAC,MAAGA,CAAH,EAAK,OAAM,CAACoL,CAAC,CAACqc,IAAF,CAAOznB,CAAC,CAACyoB,IAAF,GAAS7Y,WAAT,EAAP,CAAP;AAAsC;;AAAA,SAASpN,CAAT,CAAWxC,CAAX,EAAa;AAAC,SAAM,CAAC,CAACA,CAAF,IAAKmC,CAAC,CAACslB,IAAF,CAAOznB,CAAP,CAAX;AAAqB;;AAAA,SAAS+I,CAAT,CAAW/I,CAAX,EAAaE,CAAb,EAAe;AAAC,MAAG,CAACA,CAAD,IAAI,CAACsC,CAAC,CAACtC,CAAD,CAAN,IAAW,CAACF,CAAf,EAAiB;AAAO,QAAMW,CAAC,GAACT,CAAC,CAACqQ,OAAF,CAAUpO,CAAV,EAAY,EAAZ,EAAgByN,WAAhB,EAAR;AAAsC,SAAO5P,CAAC,CAAC0P,IAAF,CAAQ,CAAC;AAAC0K,IAAAA,IAAI,EAACpa;AAAN,GAAD,KAAYA,CAAC,CAAC4P,WAAF,OAAkBjP,CAAtC,CAAP;AAAiD;;AAAA,SAAS0F,CAAT,CAAWrG,CAAX,EAAaE,CAAb,EAAe;AAAC,QAAMS,CAAC,GAACoI,CAAC,CAAC7I,CAAD,EAAGF,CAAC,EAAE2P,SAAN,CAAT;AAA0B,SAAOhP,CAAC,GAACA,CAAC,CAACoC,KAAF,IAAS,IAAV,GAAe/C,CAAC,GAACA,CAAC,CAACy1B,KAAF,IAASz1B,CAAC,CAAC2P,SAAZ,GAAsB,IAA9C;AAAmD;;AAAA,SAAS+B,CAAT,CAAW1R,CAAX,EAAaE,CAAb,EAAe;AAAC,QAAMS,CAAC,GAACT,CAAC,CAAC4Z,GAAF,CAAM9Z,CAAC,CAAC4P,WAAF,EAAN,CAAR;AAA+B,SAAO,IAAGjP,CAAC,EAAEgP,SAAH,IAAc3P,CAAE,GAA1B;AAA6B;;AAAA,SAASmL,CAAT,CAAWnL,CAAX,EAAa;AAAC,SAAOA,CAAC,CAACqoB,UAAF,CAAapmB,CAAb,EAAe,EAAf,CAAP;AAA0B;;AAAA,SAAS+E,CAAT,CAAWhH,CAAX,EAAaE,CAAb,EAAe;AAAC,QAAMS,CAAC,GAACmS,CAAC,CAAC5S,CAAD,EAAGF,CAAH,CAAT;AAAe,SAAOW,CAAC,GAACA,CAAC,CAACyZ,IAAH,GAAQpa,CAAhB;AAAkB;;AAAA,SAASuL,CAAT,CAAWvL,CAAX,EAAaE,CAAb,EAAe;AAAC,SAAOF,CAAC,IAAEA,CAAC,CAACuF,GAAF,CAAOvF,CAAC,IAAEgH,CAAC,CAAChH,CAAD,EAAGE,CAAH,CAAX,CAAV;AAA6B;;AAAA,SAAS4S,CAAT,CAAW9S,CAAX,EAAaE,CAAb,EAAe;AAAC,SAAOF,CAAC,IAAE,cAAY,OAAOA,CAAC,CAAC8vC,QAAxB,IAAkC5vC,CAAlC,GAAoCF,CAAC,CAAC8vC,QAAF,CAAW5vC,CAAX,KAAe,IAAnD,GAAwD,IAA/D;AAAoE;;AAAA,SAASgM,CAAT,CAAWlM,CAAX,EAAa;AAAC,SAAO,GAAEA,CAAE,EAAL,CAAOyoB,IAAP,EAAN;AAAoB;;AAAA,SAAS3I,CAAT,CAAW;AAACyxB,EAAAA,UAAU,EAACvxC,CAAZ;AAAc62H,EAAAA,gBAAgB,EAAC32H,CAA/B;AAAiCsJ,EAAAA,KAAK,EAAC7I,CAAvC;AAAyC0L,EAAAA,IAAI,EAACpM,CAA9C;AAAgD62H,EAAAA,oBAAoB,EAACp2H,CAArE;AAAuE49G,EAAAA,YAAY,EAAC99G;AAApF,CAAX,EAAkG;AAAC,SAAOP,CAAC,GAAConB,CAAC,CAAC;AAACwhG,IAAAA,mBAAmB,EAAC3oH,CAArB;AAAuB0iH,IAAAA,QAAQ,EAACj2G,CAAC,CAAC1M,CAAD,EAAG,EAAC,GAAGC,CAAJ;AAAM,SAAGQ,CAAT;AAAW,SAAGV;AAAd,KAAH,EAAoBW,CAApB,CAAjC;AAAwD29G,IAAAA,YAAY,EAAC99G;AAArE,GAAD,CAAF,GAA4E,EAApF;AAAuF;;AAAA,SAAS6mB,CAAT,CAAW;AAACwhG,EAAAA,mBAAmB,EAAC7oH,CAArB;AAAuB4iH,EAAAA,QAAQ,EAACjiH,CAAhC;AAAkC29G,EAAAA,YAAY,EAACr+G;AAA/C,CAAX,EAA6D;AAAC,SAAOiM,CAAC,CAACf,CAAC,CAACjL,wDAAC,CAACA,wDAAC,CAACS,CAAD,EAAIX,CAAC,IAAE0R,CAAC,CAAC1R,CAAD,EAAGC,CAAH,CAAR,CAAF,EAAkBD,CAAlB,CAAF,CAAF,CAAR;AAAmC;;AAAA,SAASsL,CAAT,CAAWtL,CAAX,EAAaE,CAAb,EAAeS,CAAC,GAAC,CAAC,CAAlB,EAAoB;AAAC,QAAMV,CAAC,GAACC,CAAC,CAACF,CAAD,CAAT;;AAAa,MAAG,YAAU,OAAOC,CAApB,EAAsB;AAAC,UAAMS,CAAC,GAAC,KAAR;AAAA,UAAcF,CAAC,GAAC,CAACG,CAAC,GAAC4lB,kBAAkB,CAACtmB,CAAD,CAAnB,GAAuBA,CAAzB,EAA4BooB,UAA5B,CAAuC/mB,CAAvC,EAAyCZ,CAAzC,CAAhB;AAA4DR,IAAAA,CAAC,CAACF,CAAD,CAAD,GAAKQ,CAAL;AAAO;AAAC;;AAAA,SAAS4nB,CAAT,CAAWpoB,CAAX,EAAaE,CAAC,GAAC,CAAC,CAAhB,EAAkB;AAAC,QAAMS,CAAC,GAAC,EAAC,GAAGX;AAAJ,GAAR;AAAe,SAAOqa,MAAM,CAACkF,IAAP,CAAY5e,CAAZ,EAAegE,OAAf,CAAwB3E,CAAC,IAAEsL,CAAC,CAACtL,CAAD,EAAGW,CAAH,EAAKT,CAAL,CAA5B,GAAsCS,CAA7C;AAA+C;;AAAA,SAASyB,CAAT,CAAWpC,CAAX,EAAaW,CAAb,EAAeV,CAAf,EAAiB;AAAC,QAAMS,CAAC,GAAC,CAACC,CAAC,GAACuL,CAAC,CAACvL,CAAD,CAAJ,KAAU,QAAMA,CAAC,CAAC,CAAD,CAAzB;AAA6B,SAAOT,wDAAC,CAACF,CAAD,EAAGooB,CAAC,CAACnoB,CAAD,EAAGS,CAAC,IAAE,CAAC,CAAP,CAAJ,CAAR;AAAuB;;AAAA,SAASonB,CAAT,CAAW9nB,CAAX,EAAaE,CAAb,EAAe;AAAC,SAAOF,CAAC,CAACqoB,UAAF,CAAaxmB,CAAb,EAAgB,CAAC7B,CAAD,EAAGW,CAAH,EAAKV,CAAL,KAAS;AAAC,UAAMS,CAAC,GAACoS,CAAC,CAAC5S,CAAD,EAAGD,CAAH,CAAT;AAAe,WAAOS,CAAC,GAAE,IAAGA,CAAC,CAAC0Z,IAAK,GAAZ,GAAezZ,CAAvB;AAAyB,GAAlE,CAAP;AAA4E;;AAAA,SAASgM,CAAT,CAAW3M,CAAX,EAAaE,CAAb,EAAeS,CAAf,EAAiB;AAAC,QAAMV,CAAC,GAAC6nB,CAAC,CAAC9nB,CAAD,EAAGW,CAAH,CAAT;AAAe,SAAOV,CAAC,GAACA,CAAC,CAACooB,UAAF,CAAa9f,CAAb,EAAgB,CAACvI,CAAD,EAAGW,CAAH,EAAKV,CAAL,KAASmC,CAAC,CAACpC,CAAD,EAAGW,CAAC,IAAEV,CAAN,EAAQC,CAAR,CAA1B,CAAD,GAAwCD,CAAhD;AAAkD;;AAAA,SAASF,CAAT,CAAWC,CAAX,EAAaE,CAAb,EAAe;AAAC,MAAG,YAAU,OAAOF,CAAjB,IAAoBE,CAApB,IAAuB,QAAMA,CAAC,CAAC84H,UAA/B,KAA4C,QAAM94H,CAAC,CAACoH,MAAR,IAAgB,QAAMpH,CAAC,CAAC+4H,cAApE,CAAH,EAAuF;AAAC,UAAM/4H,CAAC,GAAC6J,MAAM,CAAC/J,CAAD,CAAd;AAAkB,QAAG,CAAC2/C,KAAK,CAACz/C,CAAD,CAAT,EAAa,OAAOA,CAAP;AAAS;;AAAA,SAAOF,CAAP;AAAS;;AAAA,SAASknB,CAAT,CAAWlnB,CAAX,EAAa;AAAC,SAAO,QAAMA,CAAN,IAAS,YAAU,OAAOA,CAA1B,IAA6B,iBAAgBA,CAA7C,IAAgD,kBAAiBA,CAAjE,IAAoE,cAAaA,CAAjF,IAAoF,UAASA,CAA7F,IAAgG,YAAWA,CAA3G,IAA8G,mBAAkBA,CAAhI,IAAmI,sBAAqBA,CAAxJ,IAA2J,UAASA,CAApK,KAAwK,cAAYA,CAAC,CAACuD,IAAd,IAAoB,YAAUvD,CAAC,CAACuD,IAAhC,IAAsC,uBAAqBvD,CAAC,CAACuD,IAA7D,IAAmE,eAAavD,CAAC,CAACuD,IAA1P,KAAiQ,UAASvD,CAAjR;AAAmR;;AAAA,SAAS0L,CAAT,CAAW1L,CAAX,EAAa;AAAC,SAAO,QAAMA,CAAN,IAAS,YAAU,OAAOA,CAA1B,IAA6B,iBAAgBA,CAA7C,IAAgD,uBAAsBA,CAAtE,IAAyE,oBAAmBA,CAA5F,IAA+F,0BAAyBA,CAAxH,IAA2H,+BAA8BA,CAAzJ,IAA4J,mBAAkBA,CAArL;AAAuL;;AAAA,SAASyL,CAAT,CAAWzL,CAAX,EAAa;AAAC,SAAM,CAAC,EAAEA,CAAC,IAAE,YAAU,OAAOA,CAApB,IAAuB,iBAAgBA,CAAvC,IAA0C,uBAAsBA,CAAhE,IAAmE,UAASA,CAA9E,CAAD,KAAoF,uBAAqBA,CAAC,CAACuD,IAAvB,IAA6B,YAAWvD,CAAxC,IAA2CA,CAAC,CAACqD,MAA7C,IAAqD,YAAU,OAAOrD,CAAC,CAACqD,MAAxE,GAA+E,mBAAkBrD,CAAC,CAACqD,MAAnG,GAA0G,mBAAkBrD,CAAhN,CAAN;AAAyN;;AAAA,SAASunB,CAAT,CAAWvnB,CAAX,EAAa;AAAC,SAAOknB,CAAC,CAAClnB,CAAD,CAAD,IAAM0L,CAAC,CAAC1L,CAAD,CAAd;AAAkB;;AAAA,SAASqS,CAAT,CAAWrS,CAAX,EAAa;AAAC,SAAOknB,CAAC,CAAClnB,CAAD,CAAD,IAAMyL,CAAC,CAACzL,CAAD,CAAd;AAAkB;;AAAA,SAAS6M,CAAT,CAAW7M,CAAX,EAAa;AAAC,SAAM,CAAC,CAACA,CAAF,IAAK,YAAU,OAAOA,CAAtB,IAAyB,iBAAgBA,CAAzC,IAA4CunB,CAAC,CAACvnB,CAAC,CAACgwC,WAAH,CAAnD;AAAmE;;AAAA,SAAS9nB,CAAT,CAAWloB,CAAX,EAAaE,CAAb,EAAe;AAAC,QAAK;AAACgN,IAAAA,UAAU,EAACvM,CAAZ;AAAcgP,IAAAA,SAAS,EAAC1P,CAAxB;AAA0Bi5H,IAAAA,uBAAuB,EAACr4H,CAAlD;AAAoD2I,IAAAA,KAAK,EAAChI,CAA1D;AAA4D0T,IAAAA,QAAQ,EAAC9U;AAArE,MAAwEF,CAA7E;AAAA,QAA+Ec,CAAC,GAACqkC,EAAE,CAAC1kC,CAAD,EAAGV,CAAH,CAAnF;AAAA,QAAyFyB,CAAC,GAACoR,CAAC,CAACtR,CAAD,EAAGvB,CAAH,CAA5F;;AAAkG,MAAGe,CAAC,IAAE,CAACV,sFAAC,CAACL,CAAD,CAAR,EAAY;AAAC,UAAMC,CAAC,GAACwB,CAAC,EAAE6B,IAAX;AAAA,UAAgB5C,CAAC,GAACK,CAAC,CAACuY,MAAF,EAAUy/G,UAA5B;AAAuC,QAAG,WAAS94H,CAAT,IAAY,gBAAcA,CAA1B,IAA6B,gBAAcA,CAA3C,IAA8C,uBAAqBA,CAAnE,IAAsES,CAAzE,EAA2E,OAAOiB,6EAAC,CAAC5B,CAAD,EAAG;AAACuZ,MAAAA,MAAM,EAAC5Y,CAAR;AAAUmtE,MAAAA,SAAS,EAAC5tE,CAApB;AAAsB21E,MAAAA,eAAe,EAAC;AAACE,QAAAA,aAAa,EAACv0E,CAAC,IAAE,uBAAsBA,CAAzB,GAA2BA,CAAC,CAAC23H,iBAA7B,GAA+C,IAA9D;AAAmEljD,QAAAA,YAAY,EAAC71E,CAAhF;AAAkF41E,QAAAA,sBAAsB,EAAC,EAAE,CAACx0E,CAAD,IAAI,EAAE,4BAA2BA,CAA7B,CAAN,KAAwC,CAAC,CAACA,CAAC,CAACw0E;AAArJ;AAAtC,KAAH,CAAR;AAAgO;;AAAA,QAAMl1E,CAAC,GAACE,CAAC,EAAEuY,MAAX;AAAkB,SAAM,YAAU,OAAOvZ,CAAjB,IAAoBM,sFAAC,CAACL,CAAD,CAArB,IAA0Ba,CAA1B,GAA4B8mB,CAAC,CAAC5nB,CAAD,EAAGc,CAAH,CAA7B,GAAmC,YAAU,QAAOd,CAAC,GAACD,CAAC,CAACC,CAAD,EAAGc,CAAH,CAAV,CAAV,IAA4B,QAAMd,CAAlC,IAAqC,QAAMc,CAA3C,GAA6CylC,EAAE,CAACvmC,CAAD,CAA/C,GAAmDU,6DAAC,CAACV,CAAD,EAAGa,CAAC,GAAC,EAAC,GAAGL,iFAAC,CAACM,CAAD,CAAL;AAASs4H,IAAAA,qBAAqB,EAAC,CAA/B;AAAiChL,IAAAA,qBAAqB,EAAC;AAAvD,GAAD,GAA4D5tH,iFAAC,CAACM,CAAD,CAAjE,CAA7F;AAAmK;;AAAA,SAAS8mB,CAAT,CAAW5nB,CAAX,EAAaE,CAAb,EAAe;AAAC,SAAOF,CAAC,GAACA,CAAC,CAACyoB,IAAF,EAAF,EAAW,cAAchB,IAAd,CAAmBznB,CAAnB,IAAsBA,CAAtB,GAAwBA,CAAC,CAAC8xB,QAAF,CAAW,GAAX,IAAgBqT,EAAE,CAACnlC,CAAD,EAAG,GAAH,EAAO,IAAP,EAAYE,CAAZ,CAAlB,GAAiCF,CAAC,CAAC8xB,QAAF,CAAW,GAAX,IAAgBqT,EAAE,CAACnlC,CAAD,EAAG,GAAH,EAAO,IAAP,EAAYE,CAAZ,CAAlB,GAAiCF,CAAC,CAAC8xB,QAAF,CAAW,GAAX,IAAgBqT,EAAE,CAACnlC,CAAD,EAAG,GAAH,EAAO,GAAP,EAAWE,CAAX,CAAlB,GAAgCQ,6DAAC,CAACqJ,MAAM,CAAC/J,CAAD,CAAP,EAAWQ,iFAAC,CAACN,CAAD,CAAZ,CAA7I;AAA8J;;AAAA,SAASilC,EAAT,CAAYnlC,CAAZ,EAAcE,CAAd,EAAgBS,CAAhB,EAAkBV,CAAlB,EAAoB;AAAC,SAAOD,CAAC,CAACyoB,IAAF,GAASjY,KAAT,CAAetQ,CAAf,EAAkBqF,GAAlB,CAAuBvF,CAAC,IAAEU,6DAAC,CAACqJ,MAAM,CAAC/J,CAAD,CAAP,EAAWQ,iFAAC,CAACP,CAAD,CAAZ,CAA3B,EAA8CumB,IAA9C,CAAmD7lB,CAAnD,CAAP;AAA6D;;AAAA,SAAS0kC,EAAT,CAAYrlC,CAAZ,EAAcE,CAAd,EAAgB;AAAC,MAAGF,CAAC,EAAE6N,MAAH,IAAW3N,CAAd,EAAgB,OAAOF,CAAC,CAAC0P,IAAF,CAAQ1P,CAAC,IAAEA,CAAC,CAAC2P,SAAF,EAAaC,WAAb,OAA6B1P,CAAC,CAAC0P,WAAF,EAAxC,CAAP;AAAiE;;AAAA,SAASq2B,EAAT,CAAY;AAACt2B,EAAAA,SAAS,EAAC3P,CAAX;AAAagoF,EAAAA,OAAO,EAAC9nF,CAArB;AAAuBsJ,EAAAA,KAAK,EAAC7I;AAA7B,CAAZ,EAA4C;AAAC,MAAG+lC,EAAE,CAAC1mC,CAAD,CAAL,EAAS,OAAO,IAAP;AAAY,MAAG,CAACW,CAAD,IAAI,cAAY,OAAOA,CAAC,CAAComC,cAA5B,EAA2C,OAAO,IAAP;AAAY,QAAK;AAAC4E,IAAAA,WAAW,EAAC1rC;AAAb,MAAgBU,CAArB;AAAuB,MAAG,CAACV,CAAD,IAAID,CAAC,KAAGC,CAAX,EAAa,OAAO,IAAP;AAAY,QAAMS,CAAC,GAACC,CAAC,CAAComC,cAAF,CAAiB7mC,CAAjB,CAAR;AAA4B,SAAOQ,CAAC,GAACA,CAAC,CAAC0Z,IAAH,GAAQ,IAAhB;AAAqB;;AAAA,SAASmrB,EAAT,CAAY;AAAC51B,EAAAA,SAAS,EAAC3P,CAAX;AAAa0N,EAAAA,KAAK,EAACxN,CAAnB;AAAqB8nF,EAAAA,OAAO,EAACrnF,CAA7B;AAA+B6I,EAAAA,KAAK,EAACvJ;AAArC,CAAZ,EAAoD;AAAC,MAAGymC,EAAE,CAAC1mC,CAAD,CAAL,EAAS,OAAO,IAAP;AAAY,MAAG,CAACC,CAAD,IAAI,cAAY,OAAOA,CAAC,CAACuvC,cAA5B,EAA2C,OAAO,IAAP;AAAY,QAAM9uC,CAAC,GAACC,CAAC,IAAEV,CAAC,CAACuvC,cAAF,CAAiBxvC,CAAjB,EAAmB;AAACyvC,IAAAA,OAAO,EAAC9uC,CAAT;AAAWgvC,IAAAA,qBAAqB,EAACtgC,wDAAG,CAAC,6CAAD;AAApC,GAAnB,CAAX;AAAoH,SAAO3O,CAAC,IAAE,kBAAgBA,CAAC,CAAC6C,IAArB,GAA0B7C,CAAC,CAACmtE,OAAF,CAAU3tE,CAAV,CAA1B,GAAuC,IAA9C;AAAmD;;AAAA,SAASulC,EAAT,CAAYzlC,CAAZ,EAAcE,CAAd,EAAgBS,CAAhB,EAAkBD,CAAlB,EAAoB;AAAC,QAAK;AAACguC,IAAAA,YAAY,EAACluC,CAAd;AAAgB6+C,IAAAA,iBAAiB,EAAC/+C,CAAlC;AAAoCquC,IAAAA,WAAW,EAAC9tC,CAAhD;AAAkDy+C,IAAAA,aAAa,EAAC99C;AAAhE,MAAmExB,CAAxE;AAA0E,MAAG,CAACE,CAAJ,EAAM;AAAO,QAAME,CAAC,GAACU,qFAAC,CAACJ,CAAC,IAAE,uBAAsBA,CAAzB,GAA2BA,CAAC,CAACy4H,iBAA7B,GAA+C,IAAhD,EAAqD,EAAE,CAACz4H,CAAD,IAAI,EAAE,4BAA2BA,CAA7B,CAAN,KAAwC,CAAC,CAACA,CAAC,CAACs1E,sBAAjG,EAAwHr1E,CAAxH,EAA0HiS,CAA1H,EAA4H,MAA5H,CAAT;AAAA,QAA6IhR,CAAC,GAAC,EAAC,GAAGgR,CAAJ;AAAM,OAAGxS;AAAT,GAA/I;AAAA,QAA2JY,CAAC,GAACd,CAAC,CAACsB,CAAD,CAA9J;;AAAkK,MAAG,YAAU,OAAOR,CAApB,EAAsB;AAAC,UAAMhB,CAAC,GAACE,CAAC,CAACW,CAAD,CAAT;AAAa,WAAM;AAAC0C,MAAAA,IAAI,EAAC,MAAN;AAAa81H,MAAAA,IAAI,EAACp5H,yDAAC,CAACe,CAAD,EAAGY,CAAH,CAAnB;AAAyB+jB,MAAAA,IAAI,EAAC3lB;AAA9B,KAAN;AAAuC;;AAAA,QAAM0B,CAAC,GAACxB,CAAC,CAACI,CAAD,CAAT;;AAAa,MAAG,YAAU,OAAOoB,CAApB,EAAsB;AAAC,UAAM1B,CAAC,GAACE,CAAC,CAACM,CAAD,CAAT;AAAa,WAAM;AAAC+C,MAAAA,IAAI,EAAC,QAAN;AAAe81H,MAAAA,IAAI,EAACp5H,yDAAC,CAACyB,CAAD,EAAGE,CAAH,CAArB;AAA2B+jB,MAAAA,IAAI,EAAC3lB;AAAhC,KAAN;AAAyC;;AAAA,SAAO,IAAP;AAAY;;AAAA,SAAS2lC,EAAT,CAAY3lC,CAAZ,EAAcE,CAAd,EAAgB;AAAC,QAAMS,CAAC,GAAC,IAAIgS,GAAJ,EAAR;AAAgB,MAAG,CAAC3S,CAAJ,EAAM,OAAOW,CAAP;;AAAS,OAAI,MAAMV,CAAV,IAAeD,CAAf,EAAiB;AAAC,QAAG,CAACC,CAAC,CAAC0P,SAAN,EAAgB;AAAS,UAAM3P,CAAC,GAACgH,CAAC,CAAC/G,CAAC,CAAC0P,SAAH,EAAazP,CAAb,CAAT;AAAyBD,IAAAA,CAAC,CAAC0P,SAAF,GAAY3P,CAAZ,EAAcW,CAAC,CAAC+E,GAAF,CAAM1F,CAAC,CAAC4P,WAAF,EAAN,EAAsB3P,CAAtB,CAAd;AAAuC;;AAAA,SAAOU,CAAP;AAAS;;AAAA,SAASolC,EAAT,CAAY/lC,CAAZ,EAAc;AAAC,QAAME,CAAC,GAAC,EAAR;AAAW,MAAG,CAACF,CAAJ,EAAM,OAAOE,CAAP;AAAS,QAAK;AAACgN,IAAAA,UAAU,EAACvM,CAAZ;AAAcqM,IAAAA,OAAO,EAAC/M;AAAtB,MAAyBD,CAA9B;AAAgC,SAAOW,CAAC,IAAET,CAAC,CAAC4E,IAAF,CAAO,GAAGnE,CAAV,CAAH,EAAgBV,CAAC,IAAEsG,KAAK,CAACC,OAAN,CAAcvG,CAAd,CAAH,IAAqBA,CAAC,CAAC0E,OAAF,CAAW3E,CAAC,IAAE;AAAC,QAAG,aAAWA,CAAC,CAACuD,IAAhB,EAAqB;AAAC,YAAM5C,CAAC,GAACX,CAAC,EAAEkN,UAAX;AAAsBvM,MAAAA,CAAC,IAAET,CAAC,CAAC4E,IAAF,CAAO,GAAGnE,CAAV,CAAH;AAAgB;AAAC,GAA5E,GAA+ET,CAApG,IAAuGA,CAA9H;AAAgI;;AAAA,SAASimC,EAAT,CAAYnmC,CAAZ,EAAc;AAAC,SAAOA,CAAC,CAACqoB,UAAF,CAAatmB,CAAb,EAAgB/B,CAAC,IAAG,KAAIA,CAAC,CAACs5H,UAAF,CAAa,CAAb,CAAgB,GAAxC,CAAP;AAAoD;;AAAA,SAAS/yF,EAAT,CAAYvmC,CAAZ,EAAc;AAAC,SAAM,YAAU,OAAOA,CAAjB,GAAmBA,CAAC,CAACqoB,UAAF,CAAa7c,CAAb,EAAe,mCAAf,CAAnB,GAAuExL,CAA7E;AAA+E;;AAAA,SAAS6lC,EAAT,CAAY7lC,CAAZ,EAAc;AAAC,QAAK;AAAC0N,IAAAA,KAAK,EAACxN,CAAP;AAASyP,IAAAA,SAAS,EAAChP,CAAnB;AAAqBuM,IAAAA,UAAU,EAACjN,CAAhC;AAAkCq+G,IAAAA,YAAY,EAAC59G,CAA/C;AAAiD8I,IAAAA,KAAK,EAAChJ,CAAvD;AAAyDwnF,IAAAA,OAAO,EAAC1nF,CAAjE;AAAmE4U,IAAAA,QAAQ,EAACrU;AAA5E,MAA+Eb,CAApF;AAAsF,MAAG,QAAME,CAAT,EAAW,OAAM,EAAN;AAAS,QAAME,CAAC,GAACmlC,EAAE,CAAC;AAAC51B,IAAAA,SAAS,EAAChP,CAAX;AAAa+M,IAAAA,KAAK,EAACxN,CAAnB;AAAqB8nF,IAAAA,OAAO,EAAC1nF,CAA7B;AAA+BkJ,IAAAA,KAAK,EAAChJ;AAArC,GAAD,CAAV;AAAoD,MAAGJ,CAAH,EAAK,OAAOA,CAAP;AAAS,QAAMsB,CAAC,GAACukC,EAAE,CAAC;AAACt2B,IAAAA,SAAS,EAAChP,CAAX;AAAaqnF,IAAAA,OAAO,EAAC1nF,CAArB;AAAuBkJ,IAAAA,KAAK,EAAChJ;AAA7B,GAAD,CAAV;AAA4C,MAAGkB,CAAH,EAAK,OAAOA,CAAP;AAAS,MAAGhB,CAAC,CAACoZ,GAAF,CAAMnZ,CAAC,CAACiP,WAAF,EAAN,CAAH,EAA0B,OAAOsY,CAAC,CAAChoB,CAAD,EAAG;AAACgN,IAAAA,UAAU,EAACjN,CAAC,IAAEsG,KAAK,CAACiZ,IAAN,CAAW9e,CAAC,CAACw+C,MAAF,EAAX,CAAf;AAAsCvvC,IAAAA,SAAS,EAAChP,CAAhD;AAAkD6I,IAAAA,KAAK,EAAChJ,CAAxD;AAA0D0U,IAAAA,QAAQ,EAACrU;AAAnE,GAAH,CAAR;AAAkF,QAAMC,CAAC,GAACN,CAAC,EAAEskB,WAAH,EAAgBhL,GAAhB,CAAoBnZ,CAApB,CAAR;AAA+B,SAAOG,CAAC,KAAGE,8EAAC,CAACF,CAAD,CAAD,IAAMU,8EAAC,CAACV,CAAD,CAAV,CAAD,GAAgBc,6EAAC,CAAC1B,CAAD,EAAG;AAAC4tE,IAAAA,SAAS,EAAChtE,CAAC,CAACyC,IAAb;AAAkBsyE,IAAAA,eAAe,EAAC;AAACE,MAAAA,aAAa,EAACv1E,CAAC,IAAE,uBAAsBA,CAAzB,GAA2BA,CAAC,CAAC24H,iBAA7B,GAA+C,IAA9D;AAAmEljD,MAAAA,YAAY,EAACp1E,CAAhF;AAAkFm1E,MAAAA,sBAAsB,EAAC,EAAE,CAACx1E,CAAD,IAAI,EAAE,4BAA2BA,CAA7B,CAAN,KAAwC,CAAC,CAACA,CAAC,CAACw1E;AAArJ;AAAlC,GAAH,CAAjB,GAAqOzvC,EAAE,CAACrmC,CAAD,CAA9O;AAAkP;;AAAA,SAAS+mC,EAAT,CAAY;AAAC/5B,EAAAA,UAAU,EAAClN,CAAZ;AAAcuxC,EAAAA,UAAU,EAACrxC,CAAzB;AAA2BsJ,EAAAA,KAAK,EAAC7I,CAAjC;AAAmCqnF,EAAAA,OAAO,EAAC/nF,CAA3C;AAA6Cq+G,EAAAA,YAAY,EAAC59G,CAA1D;AAA4D69G,EAAAA,YAAY,EAAC/9G,CAAzE;AAA2E0U,EAAAA,QAAQ,EAAC5U;AAApF,CAAZ,EAAmG;AAAC,QAAMO,CAAC,GAAC,EAAR;AAAW,SAAOL,CAAC,EAAEmE,OAAH,CAAYzE,CAAC,IAAEinC,EAAE,CAAC;AAACoK,IAAAA,UAAU,EAAC1wC,CAAZ;AAAc82H,IAAAA,WAAW,EAACz3H,CAA1B;AAA4Bo+G,IAAAA,YAAY,EAAC59G,CAAzC;AAA2CwM,IAAAA,UAAU,EAAClN,CAAtD;AAAwDwJ,IAAAA,KAAK,EAAC7I,CAA9D;AAAgEuU,IAAAA,QAAQ,EAAC5U;AAAzE,GAAD,CAAjB,GAAiGJ,CAAC,IAAEma,MAAM,CAACkF,IAAP,CAAYrf,CAAZ,EAAeyE,OAAf,CAAwBnE,CAAC,IAAE;AAAC,UAAMgB,CAAC,GAACtB,CAAC,CAACM,CAAD,CAAT;AAAaK,IAAAA,CAAC,CAACL,CAAD,CAAD,GAAKqlC,EAAE,CAAC;AAACl2B,MAAAA,SAAS,EAACnP,CAAX;AAAa0M,MAAAA,UAAU,EAAClN,CAAxB;AAA0Bs+G,MAAAA,YAAY,EAAC59G,CAAvC;AAAyC8I,MAAAA,KAAK,EAAC7I,CAA/C;AAAiD+M,MAAAA,KAAK,EAAClM,CAAvD;AAAyDwmF,MAAAA,OAAO,EAAC/nF,CAAjE;AAAmEiV,MAAAA,QAAQ,EAAC5U;AAA5E,KAAD,CAAP;AAAwF,GAAjI,CAApG,EAAwOO,CAA/O;AAAiP;;SAAe+lC;;;;;0MAAf,WAAkB5mC,CAAlB,EAAoBE,CAApB,EAAsB;AAAC,UAAK;AAACsJ,MAAAA,KAAK,EAAC7I,CAAP;AAASqnF,MAAAA,OAAO,EAAC/nF,CAAjB;AAAmBoN,MAAAA,SAAS,EAAC3M,CAA7B;AAA+B45C,MAAAA,SAAS,EAAC95C,CAAzC;AAA2C+M,MAAAA,cAAc,EAACjN,CAA1D;AAA4DsC,MAAAA,gBAAgB,EAAC/B;AAA7E,QAAgFb,CAArF;AAAA,UAAuFwB,CAAC,GAAChB,CAAC,CAAC,CAAD,CAA1F;;AAA8F,QAAG,YAAU,OAAOgB,CAAjB,IAAoB,YAAU,OAAOA,CAAxC,EAA0C;AAAC,YAAMxB,CAAC,GAAC,yFAAR;AAAA,YAAkGE,CAAC,GAAC;AAACsJ,QAAAA,KAAK,EAAC7I,CAAP;AAASqnF,QAAAA,OAAO,EAAC/nF,CAAjB;AAAmB2zC,QAAAA,QAAQ,EAACpyC,CAA5B;AAA8B+3H,QAAAA,cAAc,EAAC74H;AAA7C,OAApG;AAAoJ,aAAOQ,CAAC,GAAG2lB,IAAJ,CAAS7mB,CAAT,EAAWE,CAAX,GAAc,IAArB;AAA0B;;AAAA,QAAG,CAACE,4FAAC,CAACO,CAAD,CAAD,EAAMqsC,UAAN,EAAkBwsF,aAAtB,EAAoC;AAAC,YAAMx5H,CAAC,GAAC,oFAAR;AAAA,YAA6FE,CAAC,GAAC;AAACsJ,QAAAA,KAAK,EAAC7I,CAAP;AAASqnF,QAAAA,OAAO,EAAC/nF,CAAjB;AAAmBs5H,QAAAA,cAAc,EAAC74H,CAAlC;AAAoC6M,QAAAA,cAAc,EAACjN;AAAnD,OAA/F;AAAqJ,aAAOY,CAAC,GAAG2lB,IAAJ,CAAS7mB,CAAT,EAAWE,CAAX,GAAc,IAArB;AAA0B;;AAAA,UAAM0B,CAAC,GAACjB,CAAC,CAAC8lC,WAAF,EAAR;AAAwB7kC,IAAAA,CAAC,CAAC04C,SAAF,GAAY95C,CAAZ,EAAcoB,CAAC,CAACyL,SAAF,GAAY3M,CAAC,EAAEmN,MAAH,GAAUnN,CAAV,GAAY,CAACC,CAAC,CAACyqC,aAAH,CAAtC,EAAwDxpC,CAAC,CAAC2L,cAAF,GAAiB,CAAC,CAACjN,CAA3E,EAA6EsB,CAAC,CAACs5C,OAAF,GAAU,CAAC,CAAC56C,CAAzF,EAA2FsB,CAAC,CAACw5C,OAAF,GAAU,CAAC,CAAC96C,CAAvG,EAAyGsB,CAAC,CAACovD,mBAAF,GAAsBnwD,CAA/H;AAAiI,WAAM,OAAOF,CAAC,CAACovC,aAAF,CAAgBnuC,CAAhB,EAAkB1B,CAAlB,CAAP,EAA6BquC,QAA7B,CAAsC,CAAtC,CAAN;AAA+C;;;;SAAepO;;;;;0MAAf,WAAkBngC,CAAlB,EAAoB;AAAC,QAAG,CAACA,CAAC,CAACiN,eAAF,EAAmBY,MAAvB,EAA8B,OAAM,CAAC,CAAP;AAAS,UAAM3N,CAAC,SAAOwB,sEAAC,EAAf;AAAA,UAAkB;AAAC28C,MAAAA,WAAW,EAAC;AAACo7E,QAAAA,oBAAoB,EAAC94H;AAAtB;AAAb,QAAuCT,CAAzD;AAA2D,WAAOS,CAAC,CAACX,CAAD,CAAR;AAAY;;;;SAAeqmC;;;;;0MAAf,WAAkB;AAAC2hD,IAAAA,OAAO,EAAChoF,CAAT;AAAWqrC,IAAAA,aAAa,EAACnrC,CAAzB;AAA2BsJ,IAAAA,KAAK,EAAC7I,CAAjC;AAAmCiC,IAAAA,gBAAgB,EAAC3C;AAApD,GAAlB,EAAyES,CAAzE,EAA2E;AAAC,QAAG,CAACC,CAAD,IAAI,CAACT,CAAR,EAAU;AAAO,QAAG,cAAY,OAAOS,CAAC,CAACuE,IAArB,WAAiCvE,CAAC,CAACuE,IAAF,CAAOxE,CAAP,CAAjC,GAA2C,CAACV,CAAC,CAACuxC,UAAjD,EAA4D;AAAO,UAAM/wC,CAAC,GAACG,CAAC,CAACyqC,aAAV;AAAA,UAAwB9qC,CAAC,GAACN,CAAC,CAACuxC,UAAF,CAAa/wC,CAAb,CAA1B;AAA0C,QAAG,QAAMF,CAAT,EAAW;AAAO,UAAMkB,CAAC,GAAC,CAAClB,CAAD,CAAR;AAAA,UAAYF,CAAC,SAAOF,CAAC,CAACiP,iBAAF,CAAoBxO,CAAC,CAACmkB,WAAtB,CAApB;AAAA,UAAuDljB,CAAC,GAACf,+EAAC,CAACT,CAAD,EAAGJ,CAAH,CAA1D;AAAA,UAAgEgB,CAAC,GAACY,CAAC,GAAC,EAAD,GAAIxB,CAAC,CAAC0xB,QAAF,CAAWtxB,CAAX,IAAcJ,CAAd,GAAgB,CAAC,GAAGA,CAAJ,EAAMI,CAAN,CAAvF;AAAA,UAAgGkB,CAAC,GAACxB,CAAC,CAACqN,cAAF,WAAwB4yB,EAAE,CAACjgC,CAAD,CAA1B,CAAlG;AAAgI,QAAG0B,CAAC,IAAE,CAACF,CAAP,EAAS;AAAO,UAAMZ,CAAC,SAAO8lC,EAAE,CAAC;AAACp9B,MAAAA,KAAK,EAAC7I,CAAP;AAASqnF,MAAAA,OAAO,EAAChoF,CAAjB;AAAmBqN,MAAAA,SAAS,EAACrM,CAA7B;AAA+Bs5C,MAAAA,SAAS,EAAC94C,CAAzC;AAA2C+L,MAAAA,cAAc,EAAC7L,CAA1D;AAA4DkB,MAAAA,gBAAgB,EAAC3C;AAA7E,KAAD,EAAiFS,CAAjF,CAAhB;AAAoGI,IAAAA,CAAC,KAAGA,CAAC,CAACq2B,QAAF,KAAan3B,CAAC,CAACm3B,QAAF,GAAWr2B,CAAC,CAACq2B,QAA1B,GAAoCr2B,CAAC,CAACywC,UAAF,KAAevxC,CAAC,CAACuxC,UAAF,GAAa,EAAC,GAAGvxC,CAAC,CAACuxC,UAAN;AAAiB,SAAGzwC,CAAC,CAACywC;AAAtB,KAA5B,CAAvC,CAAD;AAAwG;;;;AAAA,SAAS7K,EAAT,CAAY1mC,CAAC,GAAC,EAAd,EAAiB;AAAC,SAAM,CAAC,CAACA,CAAF,IAAKA,CAAC,CAAC8xB,QAAF,CAAWxvB,CAAX,CAAX;AAAyB;;AAAA,SAASwkC,EAAT,CAAY9mC,CAAZ,EAAc;AAAC,SAAOA,CAAC,GAAE,GAAEsC,CAAE,GAAEtC,CAAC,CAAC4X,OAAQ,IAAG5X,CAAC,CAAC2P,SAAU,EAAjC,GAAmC,EAA3C;AAA8C;;AAAA,SAAS03B,EAAT,CAAY;AAACkK,EAAAA,UAAU,EAACvxC,CAAZ;AAAcgoF,EAAAA,OAAO,EAAC9nF,CAAtB;AAAwBy3H,EAAAA,WAAW,EAACh3H,CAApC;AAAsCuM,EAAAA,UAAU,EAACjN,CAAjD;AAAmDq+G,EAAAA,YAAY,EAAC59G,CAAhE;AAAkE8I,EAAAA,KAAK,EAAChJ,CAAxE;AAA0E0U,EAAAA,QAAQ,EAAC5U;AAAnF,CAAZ,EAAkG;AAACN,EAAAA,CAAC,IAAEE,CAAH,IAAMS,CAAN,IAAS0Z,MAAM,CAACkF,IAAP,CAAYrf,CAAC,CAACqxC,UAAd,EAA0B5sC,OAA1B,CAAmC9D,CAAC,IAAE;AAAC,UAAMW,CAAC,GAACslC,EAAE,CAAC;AAAClvB,MAAAA,OAAO,EAACjX,CAAC,CAAC+4H,QAAF,CAAWh3H,EAAX,CAAcQ,QAAd,EAAT;AAAkCyM,MAAAA,SAAS,EAAC9O;AAA5C,KAAD,CAAV;AAAA,UAA2DT,CAAC,GAACF,CAAC,CAACqxC,UAAF,CAAa1wC,CAAb,CAA7D;AAA6Eb,IAAAA,CAAC,CAACwB,CAAD,CAAD,GAAKqkC,EAAE,CAAC;AAACl2B,MAAAA,SAAS,EAACnO,CAAX;AAAa0L,MAAAA,UAAU,EAACjN,CAAxB;AAA0Bq+G,MAAAA,YAAY,EAAC59G,CAAvC;AAAyC8I,MAAAA,KAAK,EAAChJ,CAA/C;AAAiDkN,MAAAA,KAAK,EAACtN,CAAvD;AAAyD4nF,MAAAA,OAAO,EAAC9nF,CAAjE;AAAmEgV,MAAAA,QAAQ,EAAC5U;AAA5E,KAAD,CAAP;AAAwF,GAA5M,CAAT;AAAwN;;AAAA,SAAS6mC,EAAT,CAAY;AAACoK,EAAAA,UAAU,EAACvxC,CAAZ;AAAc23H,EAAAA,WAAW,EAACz3H,CAA1B;AAA4Bo+G,EAAAA,YAAY,EAAC39G,CAAzC;AAA2CuM,EAAAA,UAAU,EAACjN,CAAtD;AAAwDuJ,EAAAA,KAAK,EAAC9I,CAA9D;AAAgEwU,EAAAA,QAAQ,EAAC1U;AAAzE,CAAZ,EAAwF;AAACR,EAAAA,CAAC,IAAEE,CAAH,KAAOA,CAAC,CAACymH,eAAF,EAAmBhiH,OAAnB,CAA4BrE,CAAC,IAAE+mC,EAAE,CAAC;AAACkK,IAAAA,UAAU,EAACvxC,CAAZ;AAAcgoF,IAAAA,OAAO,EAAC1nF,CAAtB;AAAwBq3H,IAAAA,WAAW,EAACz3H,CAApC;AAAsCo+G,IAAAA,YAAY,EAAC39G,CAAnD;AAAqDuM,IAAAA,UAAU,EAACjN,CAAhE;AAAkEuJ,IAAAA,KAAK,EAAC9I,CAAxE;AAA0EwU,IAAAA,QAAQ,EAAC1U;AAAnF,GAAD,CAAjC,GAA2HN,CAAC,CAACy5H,oBAAF,EAAwBh1H,OAAxB,CAAiCrE,CAAC,IAAE+mC,EAAE,CAAC;AAACkK,IAAAA,UAAU,EAACvxC,CAAZ;AAAcgoF,IAAAA,OAAO,EAAC1nF,CAAtB;AAAwBq3H,IAAAA,WAAW,EAACz3H,CAApC;AAAsCo+G,IAAAA,YAAY,EAAC39G,CAAnD;AAAqDuM,IAAAA,UAAU,EAACjN,CAAhE;AAAkEuJ,IAAAA,KAAK,EAAC9I,CAAxE;AAA0EwU,IAAAA,QAAQ,EAAC1U;AAAnF,GAAD,CAAtC,CAAlI;AAAmQ;;AAAA,MAAMggC,EAAE,GAACxgC,CAAC,IAAE;AAAC,MAAG,CAACA,CAAJ,EAAM,OAAM,CAAC,CAAP;AAAS,QAAME,CAAC,GAACF,CAAC,CAAC89B,WAAF,EAAR;AAAwB,SAAO59B,CAAC,CAAC4xB,QAAF,CAAW,mBAAX,KAAiC5xB,CAAC,CAAC4xB,QAAF,CAAW,cAAX,CAAjC,IAA6D5xB,CAAC,CAAC4xB,QAAF,CAAW,cAAX,CAApE;AAA+F,CAAnJ;AAAA,MAAoJqW,EAAE,GAAC,CAAC;AAAC3+B,EAAAA,KAAK,EAACxJ,CAAP;AAASs4D,EAAAA,MAAM,EAACp4D,CAAhB;AAAkBiH,EAAAA,KAAK,EAACxG,CAAxB;AAA0B2uC,EAAAA,oBAAoB,EAACrvC;AAA/C,CAAD,KAAqD;AAAC,MAAG,CAACD,CAAC,CAAC+sC,YAAF,EAAgB5lC,KAAhB,EAAuBikH,iBAAxB,IAA2C,kBAAgBlrH,CAA9D,EAAgE;AAAO,QAAMQ,CAAC,GAAC,QAAMC,CAAC,CAAC4uC,KAAR,GAAc5uC,CAAC,CAAC4uC,KAAhB,GAAsB,IAA9B;AAAA,QAAmC/uC,CAAC,GAAC,QAAMG,CAAC,CAACw2B,QAAR,GAAiBx2B,CAAC,CAACw2B,QAAnB,GAA4B,IAAjE;AAAsEqJ,EAAAA,EAAE,CAACvgC,CAAD,CAAF,IAAOugC,EAAE,CAAC9/B,CAAD,CAAT,IAAc,aAAWF,CAAC,EAAE+C,IAA5B,IAAkC,WAAS5C,CAAC,CAACi5H,UAA7C,KAA0Dj5H,CAAC,CAACs7C,SAAF,GAAY,CAAC,CAAvE;AAA0E,CAApa;AAAA,MAAqahU,EAAE,GAAC,CAAC;AAAC9gC,EAAAA,KAAK,EAACnH,CAAP;AAASwJ,EAAAA,KAAK,EAACtJ,CAAf;AAAiBo4D,EAAAA,MAAM,EAAC33D;AAAxB,CAAD,KAA8B;AAACwnC,EAAAA,EAAE,CAAC;AAAC3+B,IAAAA,KAAK,EAACtJ,CAAP;AAASo4D,IAAAA,MAAM,EAAC33D,CAAhB;AAAkBwG,IAAAA,KAAK,EAACnH,CAAxB;AAA0BsvC,IAAAA,oBAAoB,EAAE,GAAEpvC,CAAC,CAACovC,oBAAqB,IAAGpvC,CAAC,CAAC25H,2BAAF,IAA+B,EAAG;AAA9G,GAAD,CAAF;AAAqH,CAA5jB;AAAA,MAA6jBtyF,EAAE,GAAC,CAAC;AAACuyF,EAAAA,YAAY,EAAC95H,CAAd;AAAgBwJ,EAAAA,KAAK,EAACtJ,CAAtB;AAAwBo4D,EAAAA,MAAM,EAAC33D;AAA/B,CAAD,KAAqC;AAACwnC,EAAAA,EAAE,CAAC;AAAC3+B,IAAAA,KAAK,EAACtJ,CAAP;AAASo4D,IAAAA,MAAM,EAAC33D,CAAhB;AAAkBwG,IAAAA,KAAK,EAACnH,CAAxB;AAA0BsvC,IAAAA,oBAAoB,EAAE,GAAEpvC,CAAC,CAACovC,oBAAqB,IAAGpvC,CAAC,CAAC25H,2BAAF,IAA+B,EAAG;AAA9G,GAAD,CAAF;AAAqH,CAA3tB;;AAA4tB,SAAS9xF,EAAT,CAAY/nC,CAAZ,EAAcE,CAAd,EAAgBS,CAAhB,EAAkB;AAAC,SAAOX,CAAC,IAAEE,CAAH,IAAMS,CAAN,GAAQ,eAAaT,CAAC,CAACqD,IAAf,GAAoB6mC,EAAE,CAAC;AAACjhC,IAAAA,MAAM,EAACjJ,CAAC,CAACsJ,KAAF,EAAS4+E,SAAjB;AAA2B7iF,IAAAA,GAAG,EAACvF,CAA/B;AAAiCmrH,IAAAA,YAAY,EAACjrH,CAA9C;AAAgDuM,IAAAA,YAAY,EAAC9L;AAA7D,GAAD,CAAF,IAAqEypC,EAAE,CAAC;AAACjhC,IAAAA,MAAM,EAACjJ,CAAC,CAACsJ,KAAF,EAASuwH,SAAjB;AAA2Bx0H,IAAAA,GAAG,EAACvF,CAA/B;AAAiCmrH,IAAAA,YAAY,EAACjrH,CAA9C;AAAgDuM,IAAAA,YAAY,EAAC9L;AAA7D,GAAD,CAA3F,GAA6JypC,EAAE,CAAC;AAACjhC,IAAAA,MAAM,EAACnJ,CAAC,CAACuX,SAAV;AAAoBhS,IAAAA,GAAG,EAACvF,CAAxB;AAA0BmrH,IAAAA,YAAY,EAACjrH,CAAvC;AAAyCuM,IAAAA,YAAY,EAAC9L;AAAtD,GAAD,CAAF,IAA8DypC,EAAE,CAAC;AAACjhC,IAAAA,MAAM,EAACnJ,CAAC,CAACgxH,SAAV;AAAoBzrH,IAAAA,GAAG,EAACvF,CAAxB;AAA0BmrH,IAAAA,YAAY,EAACjrH,CAAvC;AAAyCuM,IAAAA,YAAY,EAAC9L;AAAtD,GAAD,CAArO,GAAgS,IAAvS;AAA4S;;AAAA,SAASmpC,EAAT,CAAY9pC,CAAZ,EAAcE,CAAd,EAAgB;AAAC,SAAOF,CAAC,IAAE,qBAAoBA,CAAvB,IAA0BE,CAA1B,GAA4BF,CAAC,CAAC+wH,eAAF,EAAmBrhH,IAAnB,CAAyB1P,CAAC,IAAEA,CAAC,CAACotD,cAAF,CAAiBltD,CAAjB,CAA5B,CAA5B,GAA8E,IAArF;AAA0F;;AAAA,SAASynC,EAAT,CAAY3nC,CAAZ,EAAcE,CAAd,EAAgB;AAAC,SAAOF,CAAC,EAAEgxH,SAAH,CAAathH,IAAb,CAAmB1P,CAAC,IAAE,cAAYA,CAAC,CAACuD,IAAd,IAAoBvD,CAAC,CAAC4X,OAAF,KAAY1X,CAAC,CAACwC,EAAlC,IAAsC1C,CAAC,CAAC6F,GAAF,KAAQ3F,CAAC,CAACsJ,KAAF,EAAS3D,GAA7E,CAAP;AAA0F;;AAAA,SAASukC,EAAT,CAAY;AAAC7kC,EAAAA,GAAG,EAACvF,CAAL;AAAOyM,EAAAA,YAAY,EAACvM,CAApB;AAAsBuM,EAAAA,YAAY,EAAC;AAACutH,IAAAA,cAAc,EAACr5H;AAAhB,GAAnC;AAAsDwqH,EAAAA,YAAY,EAAClrH,CAAnE;AAAqEkJ,EAAAA,MAAM,EAACzI;AAA5E,CAAZ,EAA2F;AAAC,MAAG,CAACA,CAAJ,EAAM,OAAO,IAAP;;AAAY,OAAI,MAAMF,CAAV,IAAeE,CAAf,EAAiB;AAAC,QAAG,gBAAcF,CAAC,CAAC+C,IAAnB,EAAwB;AAAC,YAAM5C,CAAC,GAACypC,EAAE,CAAC;AAACjhC,QAAAA,MAAM,EAAC3I,CAAC,CAAC4nF,SAAV;AAAoB7iF,QAAAA,GAAG,EAACvF,CAAxB;AAA0BmrH,QAAAA,YAAY,EAAClrH,CAAvC;AAAyCwM,QAAAA,YAAY,EAACvM;AAAtD,OAAD,CAAF,IAA8DkqC,EAAE,CAAC;AAACjhC,QAAAA,MAAM,EAAC3I,CAAC,CAACu5H,SAAV;AAAoBx0H,QAAAA,GAAG,EAACvF,CAAxB;AAA0BmrH,QAAAA,YAAY,EAAClrH,CAAvC;AAAyCwM,QAAAA,YAAY,EAACvM;AAAtD,OAAD,CAAxE;AAAmI,UAAGS,CAAH,EAAK,OAAOA,CAAP;AAAS;AAAS;;AAAA,QAAG,CAAC4mB,CAAC,CAAC/mB,CAAD,CAAL,EAAS;;AAAS,QAAG,eAAaP,CAAC,CAACsD,IAAlB,EAAuB;AAAC,UAAG/C,CAAC,KAAGP,CAAJ,IAAOO,CAAC,CAACkC,EAAF,KAAO/B,CAAjB,EAAmB,OAAOH,CAAC,CAAC0qC,OAAF,GAAUvD,EAAE,CAAC3nC,CAAD,EAAGQ,CAAH,CAAZ,GAAkBA,CAAzB;AAA2B;AAAS;;AAAA,UAAME,CAAC,GAAC,YAAUT,CAAC,CAACsD,IAAZ,IAAkBtD,CAAC,CAAC2zG,eAApB,GAAoC3zG,CAAC,CAAC2zG,eAAF,CAAkB/tG,GAAtD,GAA0D5F,CAAC,CAAC4F,GAApE;AAAwE,QAAG,CAACnF,CAAJ,EAAM,OAAO,IAAP;;AAAY,QAAG,eAAaF,CAAC,CAAC+C,IAAlB,EAAuB;AAAC,UAAG/C,CAAC,KAAGP,CAAJ,IAAOO,CAAC,CAACqF,GAAF,KAAQnF,CAAf,IAAkBF,CAAC,CAACoX,OAAF,KAAYjX,CAAjC,EAAmC,OAAOH,CAAP;AAAS,KAApE,MAAyE,IAAGA,CAAC,KAAGP,CAAJ,IAAOO,CAAC,CAACgJ,KAAF,EAAS3D,GAAT,KAAenF,CAAtB,IAAyBF,CAAC,CAACkC,EAAF,KAAO/B,CAAnC,EAAqC,OAAOH,CAAC,CAAC0qC,OAAF,GAAUvD,EAAE,CAAC3nC,CAAD,EAAGQ,CAAH,CAAZ,GAAkBA,CAAzB;AAA2B;;AAAA,SAAO,IAAP;AAAY;;AAAA,SAASgoC,EAAT,CAAYxoC,CAAZ,EAAc;AAAC,QAAME,CAAC,GAACF,CAAC,CAACmoF,WAAF,EAAR;AAAwB,SAAO,QAAMjoF,CAAN,GAAS,OAAMA,CAAE,EAAjB,GAAoB,OAAMF,CAAC,CAACw1C,GAAI,EAAvC;AAAyC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACJnnW;AACA;AACA;AACA;AACA;AAAmC;AAAqD;AAAsC;AAAuC;AAA4E;AAAuE;AAA2E;AAA8C;AAA0D;AAA4D;;AAAmD,MAAM9zC,CAAC,GAAC,kDAAR;AAAA,MAA2DZ,CAAC,GAAC,MAAIJ,iEAAA,CAAYgB,CAAZ,CAAjE;AAAA,MAAgFR,CAAC,GAAC,IAAIyR,GAAJ,EAAlF;;AAA0F,SAASrR,CAAT,CAAWtB,CAAX,EAAa;AAAC,MAAG,CAAC4B,iEAAC,CAAC5B,CAAD,CAAL,EAAS,OAAO,IAAP;AAAY,QAAK,CAACE,CAAD,EAAGD,CAAH,IAAMD,CAAC,CAACwQ,KAAF,CAAQ,GAAR,EAAa1G,KAAb,CAAmB,CAAnB,CAAX;AAAiC,SAAM;AAAC8N,IAAAA,OAAO,EAAC1X,CAAT;AAAWyP,IAAAA,SAAS,EAAC1P;AAArB,GAAN;AAA8B;;AAAA,SAASmB,CAAT,CAAWpB,CAAX,EAAaE,CAAb,EAAe;AAAC,MAAG,CAACA,CAAC,CAACq1B,aAAN,EAAoB,OAAO,IAAP;AAAY,MAAIt1B,CAAC,GAAC,IAAN;AAAW,QAAK;AAACs1B,IAAAA,aAAa,EAAC70B;AAAf,MAAkBR,CAAvB;AAAyB,SAAOQ,CAAC,CAAC8W,IAAF,CAAQtX,CAAC,IAAEA,CAAC,CAACwC,EAAF,KAAO+N,QAAQ,CAACzQ,CAAD,EAAG,EAAH,CAAf,KAAwBC,CAAC,GAACC,CAAF,EAAI,CAAC,CAA7B,CAAX,GAA6CD,CAApD;AAAsD;;AAAA,SAASkC,CAAT,CAAW;AAACy4H,EAAAA,kBAAkB,EAAC56H,CAApB;AAAsBu1B,EAAAA,aAAa,EAACr1B,CAApC;AAAsC0X,EAAAA,OAAO,EAAC3X;AAA9C,CAAX,EAA4D;AAAC,SAAOC,CAAC,CAACwP,IAAF,CAAQ,CAAC;AAACsqH,IAAAA,cAAc,EAAC95H,CAAhB;AAAkBwC,IAAAA,EAAE,EAAChC;AAArB,GAAD,KAA4B,GAAER,CAAE,EAAL,KAASD,CAAT,IAAYS,CAAC,KAAGV,CAAC,EAAE0C,EAAtD,KAA4D,IAAnE;AAAwE;;AAAA,SAAS6F,CAAT,CAAWvI,CAAX,EAAaE,CAAb,EAAe;AAAC,QAAMD,CAAC,GAACC,CAAC,CAAC0P,WAAF,EAAR;;AAAwB,OAAI,MAAMlP,CAAV,IAAeV,CAAf,EAAiB,IAAGU,CAAC,CAACkP,WAAF,OAAkB3P,CAArB,EAAuB,OAAOD,CAAC,CAACU,CAAD,CAAR;;AAAY,SAAO,IAAP;AAAY;;AAAA,SAASuB,CAAT,CAAWjC,CAAX,EAAaE,CAAb,EAAe;AAAC,QAAMD,CAAC,GAACmB,CAAC,CAACpB,CAAD,EAAGE,CAAH,CAAT;AAAe,MAAG,CAACD,CAAJ,EAAM;AAAO,SAAM;AAAC4F,IAAAA,GAAG,EAAE,GAAE3F,CAAC,CAAC2F,GAAI,IAAG5F,CAAC,CAAC+5H,cAAe,EAAlC;AAAoC5nD,IAAAA,sBAAsB,EAAClyE,CAAC,CAAC0C,gBAA7D;AAA8E82H,IAAAA,QAAQ,EAACz5H,CAAvF;AAAyF46H,IAAAA,aAAa,EAAC,EAAvG;AAA0Gn+E,IAAAA,aAAa,EAAC;AAAxH,GAAN;AAAkI;;AAAA,SAASt6C,CAAT,CAAWpC,CAAX,EAAaE,CAAb,EAAe;AAAC,MAAG,CAACA,CAAJ,EAAM;AAAO,MAAG,CAACF,CAAJ,EAAM;AAAO,QAAK;AAACuuC,IAAAA,QAAQ,EAACtuC,CAAV;AAAY66H,IAAAA,aAAa,EAACp6H;AAA1B,MAA6BV,CAAlC;AAAA,QAAoCQ,CAAC,GAACP,CAAC,EAAEyN,KAAzC;AAA+CxN,EAAAA,CAAC,CAACymH,eAAF,GAAkBnmH,CAAC,GAACA,CAAC,CAAC+tC,QAAH,GAAY,EAA/B;AAAkC,QAAMnuC,CAAC,GAACM,CAAC,EAAEgN,KAAX;AAAiBxN,EAAAA,CAAC,CAACy5H,oBAAF,GAAuBv5H,CAAC,GAACA,CAAC,CAACmuC,QAAH,GAAY,EAApC;AAAuC;;AAAA,SAAS1sC,CAAT,CAAW7B,CAAX,EAAaE,CAAb,EAAeD,CAAf,EAAiBS,CAAjB,EAAmB;AAAC,QAAMF,CAAC,GAAC,IAAIgB,0EAAJ,EAAR;AAAc,SAAOhB,CAAC,CAAC6M,SAAF,GAAY,CAAC,GAAD,CAAZ,EAAkB7M,CAAC,CAACwP,cAAF,GAAiB,YAAU,OAAO9P,CAAC,CAACwC,EAAnB,GAAsBxC,CAAC,CAACwC,EAAxB,GAA2B+N,QAAQ,CAACvQ,CAAC,CAACwC,EAAH,EAAM,EAAN,CAAtE,EAAgFlC,CAAC,CAAC85C,SAAF,GAAY,CAACt6C,CAAC,CAACuxC,UAAF,CAAatxC,CAAC,CAACmrC,aAAf,CAAD,CAA5F,EAA4H5qC,CAAC,CAACo6C,UAAF,GAAa36C,CAAC,CAAC26C,UAAF,IAAc,IAAvJ,EAA4Jp6C,CAAC,CAACm6C,cAAF,GAAiB16C,CAAC,CAAC06C,cAAF,IAAkB,IAA/L,EAAoM16C,CAAC,CAAC6nC,oBAAF,GAAyBtnC,CAAzB,EAA2BE,CAA3B,KAA+B2E,OAAO,CAACC,OAAR,CAAgB,EAAhB,CAA1O;AAA8P;;AAAA,SAASvD,CAAT,CAAW/B,CAAX,EAAaE,CAAb,EAAeD,CAAf,EAAiB;AAAC,MAAIS,CAAC,GAAC,CAAN;AAAQ,QAAMF,CAAC,GAAC,EAAR;;AAAW,SAAKE,CAAC,GAACR,CAAC,CAAC2N,MAAT,GAAiBrN,CAAC,CAACsE,IAAF,CAAQ,GAAE9E,CAAE,QAAOE,CAAC,CAAC4J,KAAF,CAAQpJ,CAAR,EAAUT,CAAC,GAACS,CAAZ,CAAe,GAAlC,GAAsCA,CAAC,IAAET,CAAzC;;AAA2C,SAAOO,CAAC,CAACgmB,IAAF,CAAO,MAAP,CAAP;AAAsB;;AAAA,SAASlkB,CAAT,CAAWtC,CAAX,EAAa;AAAC,SAAOA,CAAC,GAACE,2DAAC,CAACF,CAAD,CAAF,GAAM,KAAK,CAAnB;AAAqB;;AAAA,SAASuL,CAAT,CAAWvL,CAAX,EAAa;AAAC,SAAOA,CAAC,GAACE,2DAAC,CAACF,CAAD,EAAI,CAACA,CAAD,EAAGE,CAAH,KAAOumB,IAAI,CAACC,SAAL,CAAe1mB,CAAC,CAACuK,MAAF,EAAf,MAA6Bkc,IAAI,CAACC,SAAL,CAAexmB,CAAC,CAACqK,MAAF,EAAf,CAAxC,CAAF,GAAuE,KAAK,CAApF;AAAsF;;SAAeuI;;;;;yMAAf,WAAiB9S,CAAjB,EAAmBE,CAAnB,EAAqBD,CAArB,EAAuBS,CAAvB,EAAyB;AAAC,UAAMF,CAAC,GAACP,CAAC,CAAC2X,OAAF,CAAU1U,QAAV,EAAR;AAAA,UAA6B;AAACw0H,MAAAA,SAAS,EAACl2H,CAAX;AAAak4H,MAAAA,QAAQ,EAAC14H,CAAtB;AAAwB65H,MAAAA,aAAa,EAACj5H,CAAtC;AAAwC86C,MAAAA,aAAa,EAACh7C,CAAtD;AAAwDmE,MAAAA,GAAG,EAAC/E,CAA5D;AAA8DsxE,MAAAA,sBAAsB,EAAClxE;AAArF,QAAwFhB,CAArH;AAAA,UAAuHoB,CAAC,GAACgB,CAAC,CAACV,CAAD,CAA1H;AAAA,UAA8HR,CAAC,GAACmK,CAAC,CAAC7J,CAAD,CAAjI;AAAqI,QAAG,CAACF,CAAD,IAAI,CAACR,CAAR,EAAU,OAAO,IAAP;AAAY,UAAMiB,CAAC,GAACE,CAAC,CAAC;AAACy4H,MAAAA,kBAAkB,EAAC55H,CAApB;AAAsBu0B,MAAAA,aAAa,EAAC/zB,CAAC,CAAC+zB,aAAtC;AAAoD3d,MAAAA,OAAO,EAACpX;AAA5D,KAAD,CAAT;;AAA0E,QAAGyB,CAAC,EAAE84H,mBAAH,IAAwB94H,CAAC,CAAC+4H,2BAA7B,EAAyD;AAAC,YAAM96H,CAAC,GAAC,OAAO2B,CAAC,CAAC7B,CAAD,EAAGiC,CAAH,EAAKhC,CAAL,EAAOS,CAAP,CAAR,EAAmBV,CAAC,CAACuxC,UAAF,CAAatxC,CAAC,CAACmrC,aAAf,CAAnB,CAAR;AAA0D,UAAG,CAAClrC,CAAJ,EAAM,OAAO,IAAP;AAAY,YAAMM,CAAC,GAACN,CAAC,CAACquC,QAAF,CAAWhpC,GAAX,CAAgBvF,CAAC,IAAEA,CAAC,CAACuxC,UAAF,CAAa/vC,CAAC,CAAC4pC,aAAf,CAAnB,CAAR;;AAA2D,UAAGhqC,CAAC,EAAEyM,MAAH,IAAWrM,CAAC,CAACy5H,kBAAhB,EAAmC;AAAC,cAAMj7H,CAAC,GAAC,IAAIM,8DAAJ,EAAR;AAAcN,QAAAA,CAAC,CAACuvC,KAAF,GAAQxtC,CAAC,CAACP,CAAC,CAAC4pC,aAAH,EAAiB5qC,CAAjB,EAAmB,GAAnB,CAAT,EAAiCR,CAAC,CAACqN,SAAF,GAAY/L,CAA7C,EAA+CtB,CAAC,CAAC08C,aAAF,GAAgBt7C,CAA/D,EAAiEpB,CAAC,CAACoyE,sBAAF,GAAyBlxE,CAA1F;AAA4F,cAAMjB,CAAC,GAAC;AAACsuC,UAAAA,QAAQ,EAAClpC,OAAO,CAACC,OAAR,CAAgBpF,CAAhB,CAAV;AAA6B46H,UAAAA,aAAa,EAACj6H,iFAAC,CAACC,CAAD,EAAGd,CAAH;AAA5C,SAAR;AAA2D,eAAOI,iEAAC,CAACH,CAAD,CAAR;AAAY;AAAC;;AAAA,UAAMmC,CAAC,GAACH,CAAC,EAAEyzB,QAAX;;AAAoB,QAAGtzB,CAAH,EAAK;AAAC,YAAMlC,CAAC,GAACS,6EAAC,CAACmB,CAAC,CAACN,CAAC,CAAC+K,MAAH,EAAUnK,CAAV,CAAF,CAAT;AAAA,YAAyB5B,CAAC,GAAC+H,CAAC,CAACvI,CAAC,CAACuxC,UAAH,EAAcvwC,CAAC,CAAC00B,QAAhB,CAA5B;AAAA,YAAsD9zB,CAAC,GAAC1B,CAAC,GAAE,GAAEkC,CAAE,IAAG5B,CAAE,EAAX,GAAc,GAAE4B,CAAE,KAAI5B,CAAE,GAAjF;AAAA,YAAoFkB,CAAC,GAACzB,CAAC,CAAC06C,cAAxF;AAAA,YAAuGx4C,CAAC,GAAClC,CAAC,CAAC26C,UAA3G;AAAA,YAAsH34C,CAAC,GAACpB,iFAAC,CAACC,CAAD,EAAG,IAAIR,8DAAJ,CAAM;AAACivC,QAAAA,KAAK,EAAC3tC,CAAP;AAASyL,QAAAA,SAAS,EAAC/L,CAAnB;AAAqB8wE,QAAAA,sBAAsB,EAAClxE,CAA5C;AAA8Cy5C,QAAAA,cAAc,EAACj5C,CAA7D;AAA+Dk5C,QAAAA,UAAU,EAACz4C;AAA1E,OAAN,CAAH,EAAuFzB,CAAvF,CAAzH;AAAA,YAAmNmB,CAAC,GAAC,CAAC,CAACT,CAAC,EAAEyM,MAAL,IAAarM,CAAC,CAACy5H,kBAAf,GAAkCp6H,iFAAC,CAACC,CAAD,EAAG,IAAIR,8DAAJ,CAAM;AAACivC,QAAAA,KAAK,EAAC3tC,CAAP;AAASyL,QAAAA,SAAS,EAAC/L,CAAnB;AAAqBo7C,QAAAA,aAAa,EAACt7C,CAAnC;AAAqCgxE,QAAAA,sBAAsB,EAAClxE;AAA5D,OAAN,CAAH,EAAyER,CAAzE,CAAnC,GAA+G,IAApU;AAAA,YAAyUqB,CAAC,GAAC;AAACwsC,QAAAA,QAAQ,EAACtsC;AAAV,OAA3U;AAAwV,aAAOJ,CAAC,KAAGE,CAAC,CAAC+4H,aAAF,GAAgBj5H,CAAnB,CAAD,EAAuBzB,iEAAC,CAAC2B,CAAD,CAA/B;AAAmC;;AAAA,WAAO,IAAP;AAAY;;;;AAAA,SAASqJ,CAAT,CAAWlL,CAAX,EAAaD,CAAb,EAAe;AAAC,SAAOD,uDAAC,CAACE,CAAD,EAAG;AAACiH,IAAAA,KAAK,EAAC;AAACvF,MAAAA,CAAC,EAAC;AAAH,KAAP;AAAkB8F,IAAAA,MAAM,EAACzH,CAAC,EAAEyH;AAA5B,GAAH,CAAR;AAAgD;;AAAA,SAASnF,CAAT,CAAW;AAACg8G,EAAAA,YAAY,EAACv+G,CAAd;AAAgBwJ,EAAAA,KAAK,EAACtJ;AAAtB,CAAX,EAAoCQ,CAApC,EAAsC;AAAC,QAAMC,CAAC,GAAC,EAAR;AAAW,SAAOX,CAAC,CAAC2E,OAAF,CAAW,CAAC3E,CAAD,EAAGU,CAAH,KAAO;AAAC,UAAK;AAACg5H,MAAAA,QAAQ,EAACl5H;AAAV,QAAaR,CAAlB;;AAAoB,QAAG,CAACQ,CAAJ,EAAM;AAAC,YAAMR,CAAC,GAAC,IAAIC,sDAAJ,CAAM,mBAAN,EAA0B,gEAA1B,CAAR;AAAoG,YAAMa,CAAC,GAAG2C,KAAJ,CAAUzD,CAAV,GAAaA,CAAnB;AAAqB;;AAAA,UAAK;AAACg6H,MAAAA,cAAc,EAAC55H;AAAhB,QAAmBI,CAAxB;;AAA0B,QAAG,YAAU,OAAOJ,CAApB,EAAsB;AAAC,YAAMJ,CAAC,GAAC,IAAIC,sDAAJ,CAAM,wEAAN,CAAR;AAAwF,YAAMa,CAAC,GAAG2C,KAAJ,CAAUzD,CAAV,GAAaA,CAAnB;AAAqB;;AAAA,UAAMa,CAAC,GAAE,GAAEX,CAAC,CAAC2F,GAAI,IAAGzF,CAAE,EAAtB;AAAA,UAAwBE,CAAC,GAACY,CAAC,CAAC4Y,GAAF,CAAMjZ,CAAN,CAA1B;AAAA,UAAmCW,CAAC,GAAClB,CAAC,IAAE8K,CAAC,CAACvK,CAAD,CAAzC;AAA6CP,IAAAA,CAAC,IAAEY,CAAC,CAACwE,GAAF,CAAM7E,CAAN,EAAQW,CAAR,CAAH,EAAcb,CAAC,CAACD,CAAD,CAAD,GAAKc,CAAnB;AAAqB,GAAvY,GAA0YhB,kEAAC,CAACJ,iEAAC,CAACO,CAAD,CAAF,EAAMD,CAAN,CAAlZ;AAA2Z;;AAAA,SAAS8K,CAAT,CAAW;AAACw8E,EAAAA,OAAO,EAAChoF,CAAT;AAAWu+G,EAAAA,YAAY,EAACr+G,CAAxB;AAA0BsJ,EAAAA,KAAK,EAACvJ;AAAhC,CAAX,EAA8CS,CAA9C,EAAgD;AAAC,QAAMF,CAAC,GAAC,EAAR;AAAW,SAAON,CAAC,CAACyE,OAAF,CAAW,CAACzE,CAAD,EAAGE,CAAH,KAAO;AAACF,IAAAA,CAAC,CAACw3H,SAAF,KAAcl3H,CAAC,CAACJ,CAAD,CAAD,GAAK0S,CAAC,CAAC9S,CAAD,EAAGE,CAAH,EAAKD,CAAL,EAAOS,CAAP,CAApB;AAA+B,GAAlD,GAAqDN,iEAAC,CAACI,CAAD,CAA7D;AAAiE;;AAAA,SAASkR,CAAT,CAAW;AAACimH,EAAAA,WAAW,EAAC33H,CAAb;AAAe2P,EAAAA,SAAS,EAACzP,CAAzB;AAA2BytE,EAAAA,SAAS,EAAC1tE;AAArC,CAAX,EAAmD;AAAC,MAAGD,CAAC,CAAC66H,aAAF,EAAiB/1H,IAAjB,CAAsB5E,CAAtB,GAAyBD,CAAC,CAAC08C,aAA9B,EAA4C;AAAC,UAAMj8C,CAAC,GAAC,IAAIM,6EAAJ,CAAM;AAAC27C,MAAAA,aAAa,EAAC18C,CAAC,CAAC08C,aAAjB;AAA+BiC,MAAAA,gBAAgB,EAAC1+C,CAAhD;AAAkDg7H,MAAAA,qBAAqB,EAACh7H;AAAxE,KAAN,CAAR;AAA0FF,IAAAA,CAAC,CAAC08C,aAAF,EAAiB53C,IAAjB,CAAsBpE,CAAtB;AAAyB;AAAC;;AAAA,SAASoB,CAAT,CAAW9B,CAAX,EAAaE,CAAb,EAAe;AAAC,MAAG,QAAMF,CAAT,EAAW;AAACE,IAAAA,CAAC,GAACA,CAAC,CAAC0P,WAAF,EAAF;;AAAkB,SAAI,MAAM3P,CAAV,IAAeD,CAAf,EAAiB,IAAGC,CAAC,IAAEA,CAAC,CAACma,IAAF,CAAOxK,WAAP,OAAuB1P,CAA7B,EAA+B,OAAOD,CAAP;AAAS;;AAAA,SAAO,IAAP;AAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACJrhI;AACA;AACA;AACA;AACA;AAA2C;AAAmB;AAAqC;AAAiC;AAA4D;AAA2D;AAA2D;AAA+C;AAA0E;AAAuB;AAA6B;AAA0E;AAA4E;AAA+F;AAA4B;AAA4B;AAA2B;AAA6C;AAA+E;AAAwC;AAA6C;AAA+C;AAAqD;AAAuD;AAAwD;AAAqE;AAAmD;AAA+C;AAAoD;AAAsE;AAA0D;AAA8C;AAAmD;AAAiD,MAAMoL,CAAC,GAAC,gBAAR;AAAA,MAAyBvJ,CAAC,GAAC,CAA3B;AAAA,MAA6B+K,CAAC,GAAC,kBAA/B;;AAAkD,SAASzK,CAAT,CAAWpC,CAAX,EAAa;AAAC,SAAOA,CAAC,EAAEuJ,aAAH,CAAiB+G,UAAjB,CAA4B,cAA5B,KAA6C,CAAC,CAArD;AAAuD;;AAAA,IAAI5E,CAAC,GAAC,cAAc3J,6FAAC,CAACQ,mDAAD,CAAf,CAAmB;AAACE,EAAAA,WAAW,CAACzC,CAAD,EAAGU,CAAH,EAAK;AAAC,UAAMV,CAAN,EAAQU,CAAR,GAAW,KAAKq7H,wCAAL,GAA8C,CAAC,CAAC/7H,CAAD,CAAD,KAAO;AAACA,MAAAA,CAAC,EAAEmmH,cAAH,IAAmB,QAAM,KAAKj2B,SAAL,CAAe22B,WAAxC,IAAqD,KAAK32B,SAAL,CAAe22B,WAAf,EAArD;AAAkF,KAAnJ,EAAoJ,KAAKmV,gCAAL,GAAsC,IAAI9V,oBAAJ,CAAyB,KAAK6V,wCAA9B,EAAuE;AAAChe,MAAAA,IAAI,EAAChgG,MAAM,CAACJ;AAAb,KAAvE,CAA1L,EAAyR,KAAKs+G,oCAAL,GAA0C,IAAnU,EAAwU,KAAKC,QAAL,GAAc,IAAtV,EAA2V,KAAKC,QAAL,GAAc,IAAzW,EAA8W,KAAKC,qBAAL,GAA2B,IAAzY,EAA8Y,KAAKC,iBAAL,GAAuB,IAAIn8H,2DAAJ,EAAra,EAA2a,KAAKo8H,cAAL,GAAoB,IAAI16H,qEAAJ,CAAM;AAACykH,MAAAA,SAAS,EAAC,KAAKgW;AAAhB,KAAN,CAA/b,EAAye,KAAKE,iBAAL,GAAuB,IAAhgB,EAAqgB,KAAKC,wBAAL,GAA8B,IAAniB,EAAwiB,KAAKC,kBAAL,GAAwB,IAAhkB,EAAqkB,KAAKC,SAAL,GAAe,CAAC,CAArlB,EAAulB,KAAKC,oBAAL,GAA0B,CAAC,CAAlnB,EAAonB,KAAKC,aAAL,GAAmB,IAAI/6H,iEAAJ,EAAvoB,EAA6oB,KAAK0kH,YAAL,GAAkB,CAA/pB,EAAiqB,KAAKj9G,QAAL,GAAc,IAA/qB,EAAorB,KAAKk9G,cAAL,GAAoB,IAAxsB,EAA6sB,KAAKqW,wBAAL,GAA8B,CAAC,CAA5uB,EAA8uB,KAAK3sC,SAAL,GAAe,IAAIlpF,uEAAJ,EAA7vB,EAAmwB,KAAKy/G,eAAL,GAAqB,IAAIl+G,6EAAJ,EAAxxB,EAA8xB,KAAKu0H,aAAL,GAAmB,CAAC98H,CAAD,EAAGE,CAAH,KAAO;AAAC,YAAMQ,CAAC,GAAC,KAAKq8H,eAAL,CAAqB/8H,CAArB,CAAR;AAAA,YAAgC;AAACuD,QAAAA,IAAI,EAAC/C,CAAN;AAAQsgG,QAAAA,MAAM,EAAC1gG,CAAf;AAAiBo1C,QAAAA,GAAG,EAAC70C,CAArB;AAAuBu5G,QAAAA,QAAQ,EAACj6G,CAAhC;AAAkC+8H,QAAAA,SAAS,EAACn8H;AAA5C,UAA+Cb,CAA/E;;AAAiF,aAAOA,CAAC,CAACwO,OAAF,GAAUlD,4DAAC,CAAC,gBAAD,EAAkB;AAACw1F,QAAAA,MAAM,EAAC,aAAWtgG,CAAX,IAAcR,CAAC,CAAC0N,KAAxB;AAA8BuvH,QAAAA,UAAU,EAAC,OAAzC;AAAiDxsG,QAAAA,IAAI,EAAC,IAAtD;AAA2D,2BAAkB9vB,CAA7E;AAA+Eu5G,QAAAA,QAAQ,EAACj6G,CAAxF;AAA0Fm+G,QAAAA,IAAI,EAAC,KAAK8e,cAAL,CAAoBl9H,CAApB,CAA/F;AAAsHg9H,QAAAA,SAAS,EAACn8H,CAAhI;AAAkI+K,QAAAA,GAAG,EAAE,UAAS1L,CAAE,EAAlJ;AAAoJi9H,QAAAA,OAAO,EAAC/8H,CAA5J;AAA8Jy/G,QAAAA,OAAO,EAAC,KAAKud,cAA3K;AAA0L7kH,QAAAA,KAAK,EAAC,GAAhM;AAAoMlM,QAAAA,IAAI,EAAC3L,CAAzM;AAA2MqC,QAAAA,KAAK,EAAC,KAAKs6H,eAAL,GAAqB38H,CAArB,GAAuB,KAAK;AAA7O,OAAlB,EAAkQ,KAAK48H,gBAAL,CAAsBt9H,CAAtB,CAAlQ,CAAX,GAAuS,IAA9S;AAAmT,KAA7rC,EAA8rC,KAAKu9H,gBAAL,GAAsB,MAAI;AAAC,WAAKC,eAAL,GAAqB,CAAC,CAAtB,EAAwB,KAAKC,kBAAL,CAAwB,gBAAxB,CAAxB;AAAkE,KAA3xC,EAA4xC,KAAKC,gBAAL,GAAsB,MAAI;AAAC,WAAKxtC,SAAL,CAAeytC,oBAAf;AAAsC,KAA71C,EAA81C,KAAKC,YAAL,GAAkB,MAAI;AAAC,WAAK1tC,SAAL,CAAeytC,oBAAf;AAAsC,KAA35C,EAA45C,KAAKE,sBAAL,GAA4B,MAAI;AAAC,WAAKL,eAAL,KAAuB,KAAKC,kBAAL,CAAwB,gBAAxB,GAA0C,KAAKD,eAAL,GAAqB,CAAC,CAAvF;AAA0F,KAAvhD,EAAwhD,KAAKM,wBAAL,GAA8Bj9H,2DAAC,CAAE,MAAI,KAAKk9H,eAAL,EAAN,EAA8Bj8H,CAA9B,CAAvjD,EAAwlD,KAAKk8H,8BAAL,EAAxlD,EAA8nD,KAAKt6H,UAAL,CAAgB,CAAC,KAAKo6H,wBAAN,EAA+B19H,6DAAC,CAAE,MAAI,KAAK8vF,SAAL,EAAgB4Q,MAAtB,EAA+B,MAAI,KAAKm9B,4BAAL,EAAnC,CAAhC,EAAyG79H,6DAAC,CAAE,MAAI,KAAK8vF,SAAL,EAAgB4Q,MAAtB,EAA+B9gG,CAAC,IAAE,KAAKs8H,cAAL,CAAoB4B,MAApB,GAA2B,CAACl+H,CAA9D,CAA1G,EAA4KI,6DAAC,CAAE,MAAI,KAAKqmH,eAAL,EAAsB0X,WAA5B,EAA0Cn+H,CAAC,IAAE,KAAKs8H,cAAL,CAAoB8B,QAApB,GAA6Bp+H,CAA1E,CAA7K,EAA2PI,6DAAC,CAAE,MAAI,KAAKqmH,eAAL,EAAsB4X,OAA5B,EAAsCr+H,CAAC,IAAE,KAAKs+H,qBAAL,CAA2Bt+H,CAA3B,CAAzC,CAA5P,EAAqUI,6DAAC,CAAE,MAAI,KAAK8vF,SAAL,EAAgB1J,IAAtB,EAA6B,CAACxmF,CAAD,EAAGE,CAAH,KAAO,KAAKq+H,WAAL,CAAiBv+H,CAAjB,EAAmBE,CAAnB,CAApC,CAAtU,EAAkYE,6DAAC,CAAE,MAAI,KAAK8vF,SAAL,EAAgB1J,IAAhB,EAAsBxuE,KAA5B,EAAoC,CAAChY,CAAD,EAAGE,CAAH,KAAO,KAAKs+H,gBAAL,CAAsBx+H,CAAC,IAAE,CAAC,CAA1B,EAA4BE,CAAC,IAAE,CAAC,CAAhC,CAA3C,CAAnY,EAAmdE,6DAAC,CAAE,MAAI,CAAC,KAAK8vF,SAAL,EAAgBuuC,gBAAjB,EAAkC,KAAKvuC,SAAL,EAAgBvtD,QAAlD,CAAN,EAAoE,MAAI;AAAC,WAAK+7F,YAAL,IAAoB,KAAKZ,wBAAL,EAApB;AAAoD,KAA7H,CAApd,EAAolB19H,6DAAC,CAAE,MAAI,KAAK8vF,SAAL,EAAgByuC,cAAtB,EAAuC,MAAI,KAAKC,oBAAL,EAA3C,CAArlB,EAA8pBx+H,6DAAC,CAAE,MAAI,KAAKy+H,qBAAX,EAAmC,MAAI,KAAKC,8BAAL,EAAvC,CAA/pB,EAA8uB1+H,6DAAC,CAAE,MAAI;AAAC,YAAMJ,CAAC,GAAC,KAAK6+H,qBAAL,EAA4B3uC,SAApC;AAA8C,aAAM,CAAClwF,CAAC,EAAE+C,KAAJ,EAAU/C,CAAC,EAAE27F,KAAb,CAAN;AAA0B,KAA/E,EAAkF,MAAI,KAAKojC,0BAAL,EAAtF,CAA/uB,EAAy2B3+H,6DAAC,CAAE,MAAI;AAAC,YAAMJ,CAAC,GAAC,KAAK6+H,qBAAL,EAA4B3uC,SAApC;AAA8C,aAAM,CAAClwF,CAAC,EAAEgN,OAAJ,EAAYhN,CAAC,EAAE27F,KAAf,CAAN;AAA4B,KAAjF,EAAoF,MAAI,KAAKqjC,4BAAL,EAAxF,CAA12B,EAAw+B5+H,6DAAC,CAAE,MAAI,KAAK8vF,SAAL,EAAgB+uC,iBAAtB,EAA0C,MAAI,KAAKC,6BAAL,EAA9C,CAAz+B,EAA8jC,KAAK5C,cAAL,CAAoB34H,EAApB,CAAuB,OAAvB,EAAgC,MAAI,KAAKovC,KAAL,EAApC,CAA9jC,EAAinC,KAAKupF,cAAL,CAAoB34H,EAApB,CAAuB,MAAvB,EAA+B,MAAI,KAAKm7H,8BAAL,EAAnC,CAAjnC,EAA4rC,KAAKxC,cAAL,CAAoB34H,EAApB,CAAuB,cAAvB,EAAuC,CAAC;AAAC8rC,MAAAA,OAAO,EAACzvC;AAAT,KAAD,KAAe,KAAKm/H,mBAAL,CAAyBn/H,CAAzB,CAAtD,CAA5rC,EAAgxC,KAAKs8H,cAAL,CAAoB34H,EAApB,CAAuB,iBAAvB,EAA0C,CAAC;AAACy7H,MAAAA,aAAa,EAACp/H;AAAf,KAAD,KAAqBoB,sEAAC,CAAC,KAAK8uF,SAAN,EAAgBlwF,CAAhB,CAAhE,CAAhxC,CAAhB,CAA9nD;AAAq/F;;AAAAm+G,EAAAA,gBAAgB,GAAE;AAAC,WAAOh8G,mFAAC,CAAC;AAACkjG,MAAAA,MAAM,EAAC,MAAI,0vBAAZ;AAAiF,oBAAa,MAAI,irCAAlG;AAA2K,sBAAe,MAAI,qrCAA9L;AAAyQr5F,MAAAA,MAAM,EAAC,MAAI,wxBAApR;AAAyVqzH,MAAAA,IAAI,EAAC,MAAI,wOAAlW;AAAqa,mBAAY,MAAI,wqCAArb;AAA6fpY,MAAAA,IAAI,EAAC,MAAI,y/BAAtgB;AAAykB,mBAAY,MAAI,iyBAAzlB;AAAiqB,yBAAkB,MAAI,6SAAvrB;AAAqwBC,MAAAA,MAAM,EAAC,MAAI;AAAhxB,KAAD,CAAR;AAAg2B;;AAAA9iH,EAAAA,OAAO,GAAE;AAAC,SAAK06H,8BAAL,IAAsC,KAAKQ,6BAAL,EAAtC,EAA2E,KAAKC,eAAL,EAA3E,EAAkG,KAAKC,6BAAL,EAAlG,EAAuI,KAAKxD,gCAAL,EAAuCj3B,UAAvC,EAAvI,EAA2L,KAAKu3B,cAAL,EAAqBl4H,OAArB,EAA3L,EAA0N,KAAKg4H,qBAAL,EAA4BjgH,KAA5B,EAA1N;AAA8P;;AAAmB,MAAfkhH,eAAe,GAAE;AAAC,QAAG,CAAC,KAAKR,wBAAT,EAAkC,OAAM,CAAC,CAAP;AAAS,UAAM78H,CAAC,GAAC,KAAKwmF,IAAL,EAAWi5C,eAAnB;AAAmC,WAAM,aAAWz/H,CAAX,IAAc,YAAUA,CAAxB,IAA2B,aAAWA,CAA5C;AAA8C;;AAA6B,MAAzB0/H,yBAAyB,GAAE;AAAC,WAAO,KAAKxvC,SAAL,CAAe4Q,MAAf,IAAuB,KAAK5Q,SAAL,CAAeo3B,YAAf,GAA4B,CAAnD,IAAsD,KAAKb,eAAL,CAAqBkZ,iBAAlF;AAAoG;;AAAgB,MAAZC,YAAY,GAAE;AAAC,WAAO,KAAKC,gBAAL,IAAuB,KAAKnD,SAAnC;AAA6C;;AAAoB,MAAhBmD,gBAAgB,GAAE;AAAC,WAAO,KAAKpZ,eAAL,CAAqBqZ,cAArB,IAAqC,CAAC,CAAC,KAAK/8H,KAA5C,IAAmD,CAAC,CAAC,KAAKiK,OAAjE;AAAyE;;AAAU,MAAN8zF,MAAM,GAAE;AAAC,WAAO,KAAK5Q,SAAL,CAAe4Q,MAAtB;AAA6B;;AAAW,MAAP9zF,OAAO,GAAE;AAAC,WAAO,KAAKkjF,SAAL,CAAeljF,OAAtB;AAA8B;;AAAW,MAAPA,OAAO,CAAChN,CAAD,EAAG;AAAC,SAAKkwF,SAAL,CAAeljF,OAAf,GAAuBhN,CAAvB;AAAyB;;AAAQ,MAAJo+G,IAAI,GAAE;AAAC,WAAO,IAAP;AAAY;;AAAmB,MAAfof,eAAe,GAAE;AAAC,WAAO,KAAKttC,SAAL,CAAestC,eAAtB;AAAsC;;AAAmB,MAAfA,eAAe,CAACx9H,CAAD,EAAG;AAAC,SAAKkwF,SAAL,CAAestC,eAAf,GAA+Bx9H,CAA/B;AAAiC;;AAAY,MAARuuC,QAAQ,GAAE;AAAC,WAAO,KAAK2hD,SAAL,CAAe3hD,QAAtB;AAA+B;;AAAY,MAARA,QAAQ,CAACvuC,CAAD,EAAG;AAAC,SAAKkwF,SAAL,CAAe3hD,QAAf,GAAwBvuC,CAAxB;AAA0B;;AAAgB,MAAZ+/H,YAAY,GAAE;AAAC,WAAO,KAAK7vC,SAAL,CAAe6vC,YAAtB;AAAmC;;AAAgB,MAAZA,YAAY,CAAC//H,CAAD,EAAG;AAAC,SAAKkwF,SAAL,CAAe6vC,YAAf,GAA4B//H,CAA5B;AAA8B;;AAAY,MAAR2iC,QAAQ,GAAE;AAAC,WAAO,KAAKutD,SAAL,CAAevtD,QAAtB;AAA+B;;AAAY,MAARA,QAAQ,CAAC3iC,CAAD,EAAG;AAAC,SAAKkwF,SAAL,CAAevtD,QAAf,GAAwB3iC,CAAxB;AAA0B;;AAAS,MAALy1B,KAAK,GAAE;AAAC,WAAO,KAAKnsB,QAAL,EAAe02H,WAAf,IAA4B,EAAnC;AAAsC;;AAAS,MAALvqG,KAAK,CAACz1B,CAAD,EAAG;AAAC,SAAKmtC,eAAL,CAAqB,OAArB,EAA6BntC,CAA7B;AAAgC;;AAAO,MAAHuF,GAAG,GAAE;AAAC,WAAO,KAAK2qF,SAAL,CAAe3qF,GAAtB;AAA0B;;AAAO,MAAHA,GAAG,CAACvF,CAAD,EAAG;AAAC,SAAKkwF,SAAL,CAAe3qF,GAAf,GAAmBvF,CAAnB;AAAqB;;AAAY,MAARigI,QAAQ,GAAE;AAAC,WAAO,KAAK/vC,SAAL,CAAe+vC,QAAtB;AAA+B;;AAAY,MAARA,QAAQ,CAACjgI,CAAD,EAAG;AAAC,SAAKkwF,SAAL,CAAe+vC,QAAf,GAAwBjgI,CAAxB;AAA0B;;AAAmB,MAAfkgI,eAAe,GAAE;AAAC,WAAO,KAAKhwC,SAAL,CAAegwC,eAAtB;AAAsC;;AAA0B,MAAtBC,sBAAsB,GAAE;AAAC,UAAMngI,CAAC,GAACuG,KAAK,CAACiZ,IAAN,CAAW,KAAK68G,iBAAhB,EAAmC7yG,EAAnC,CAAsC,CAAC,CAAvC,CAAR;AAAkD,QAAG,CAACxpB,CAAJ,EAAM,OAAO,IAAP;AAAY,UAAK;AAACsmH,MAAAA,QAAQ,EAACpmH;AAAV,QAAaF,CAAlB;AAAoB,WAAM,0BAAwBE,CAAxB,IAA2B,2BAAyBA,CAApD,GAAsDF,CAAC,CAACgoF,OAAF,IAAW,IAAjE,GAAsE,IAA5E;AAAiF;;AAAwB,MAApB21C,oBAAoB,GAAE;AAAC,WAAO,KAAKztC,SAAL,CAAeytC,oBAAtB;AAA2C;;AAAwB,MAApBA,oBAAoB,CAAC39H,CAAD,EAAG;AAAC,SAAKkwF,SAAL,CAAeytC,oBAAf,GAAoC39H,CAApC;AAAsC;;AAAyB,MAArB6+H,qBAAqB,GAAE;AAAC,UAAK;AAAC1C,MAAAA,QAAQ,EAACn8H,CAAV;AAAYumH,MAAAA,YAAY,EAACrmH,CAAzB;AAA2Bm8H,MAAAA,iBAAiB,EAAC37H,CAA7C;AAA+CwU,MAAAA,QAAQ,EAAC1U,CAAxD;AAA0DoC,MAAAA,gBAAgB,EAACxC,CAA3E;AAA6EmF,MAAAA,GAAG,EAAC5E;AAAjF,QAAoF,IAAzF;AAAA,UAA8F;AAACy/H,MAAAA,wBAAwB,EAACngI;AAA1B,QAA6B,KAAKiwF,SAAhI;AAAA,UAA0IrvF,CAAC,GAAC;AAACkC,MAAAA,KAAK,EAAC,CAAC;AAAR,KAA5I;AAAuJ,WAAO9C,CAAC,IAAED,CAAC,IAAEA,CAAC,CAACkwF,SAAF,GAAYjwF,CAAZ,EAAcD,CAAC,CAACymH,eAAF,GAAkB5lH,CAAlC,IAAqC,KAAKs7H,QAAL,GAAc,IAAIr7H,oDAAJ,CAAM;AAACulH,MAAAA,SAAS,EAAC3lH,CAAX;AAAa6lH,MAAAA,YAAY,EAACrmH,CAAC,GAAC,CAA5B;AAA8BgV,MAAAA,QAAQ,EAAC1U,CAAvC;AAAyCoC,MAAAA,gBAAgB,EAACxC,CAA1D;AAA4DmF,MAAAA,GAAG,EAAC5E,CAAhE;AAAkEuvF,MAAAA,SAAS,EAACjwF,CAA5E;AAA8EwmH,MAAAA,eAAe,EAAC5lH;AAA9F,KAAN,CAApD,EAA4J,KAAKs7H,QAAnK,IAA6K,IAArL;AAA0L;;AAAoB,MAAhBv5H,gBAAgB,GAAE;AAAC,WAAO,KAAKstF,SAAL,CAAettF,gBAAtB;AAAuC;;AAAoB,MAAhBA,gBAAgB,CAAC5C,CAAD,EAAG;AAAC,SAAKkwF,SAAL,CAAettF,gBAAf,GAAgC5C,CAAhC;AAAkC;;AAAS,MAAL+C,KAAK,GAAE;AAAC,WAAO,KAAKmtF,SAAL,CAAentF,KAAtB;AAA4B;;AAAS,MAALA,KAAK,CAAC/C,CAAD,EAAG;AAAC,SAAKkwF,SAAL,CAAentF,KAAf,GAAqB/C,CAArB;AAAuB;;AAAY,MAARkV,QAAQ,GAAE;AAAC,WAAO,KAAKg7E,SAAL,CAAeh7E,QAAtB;AAA+B;;AAAY,MAARA,QAAQ,CAAClV,CAAD,EAAG;AAAC,SAAKkwF,SAAL,CAAeh7E,QAAf,GAAwBlV,CAAxB;AAA0B;;AAAyB,MAArBqgI,qBAAqB,GAAE;AAAC,WAAO,KAAKnwC,SAAL,CAAemwC,qBAAtB;AAA4C;;AAAyB,MAArBA,qBAAqB,CAACrgI,CAAD,EAAG;AAAC,SAAKkwF,SAAL,CAAemwC,qBAAf,GAAqCrgI,CAArC;AAAuC;;AAAQ,MAAJwmF,IAAI,GAAE;AAAC,WAAO,KAAK0J,SAAL,CAAe1J,IAAtB;AAA2B;;AAAQ,MAAJA,IAAI,CAACxmF,CAAD,EAAG;AAAC,SAAKkwF,SAAL,CAAe1J,IAAf,GAAoBxmF,CAApB;AAAsB;;AAAW,MAAPwO,OAAO,GAAE;AAAC,WAAO,KAAK0hF,SAAL,CAAe1hF,OAAtB;AAA8B;;AAAW,MAAPA,OAAO,CAACxO,CAAD,EAAG;AAAC,SAAKkwF,SAAL,CAAe1hF,OAAf,GAAuBxO,CAAvB;AAAyB;;AAAAsgI,EAAAA,IAAI,GAAE;AAAC,UAAK;AAACx/B,MAAAA,MAAM,EAAC9gG;AAAR,QAAW,KAAKkwF,SAArB;AAA+BlwF,IAAAA,CAAC,GAAC,KAAKu8H,iBAAL,EAAwB+D,IAAxB,EAAD,GAAgC5/H,iEAAA,CAAY,IAAZ,EAAkBmmB,IAAlB,CAAuB,qDAAvB,CAAjC;AAA+G;;AAAAjN,EAAAA,KAAK,GAAE;AAAC,WAAO,KAAKs2E,SAAL,CAAet2E,KAAf,EAAP;AAA8B;;AAAAm5B,EAAAA,KAAK,GAAE;AAAC,SAAKm9C,SAAL,CAAe1hF,OAAf,GAAuB,CAAC,CAAxB;AAA0B;;AAAA+xH,EAAAA,aAAa,CAACvgI,CAAD,EAAGE,CAAH,EAAK;AAAC,WAAO,KAAKgwF,SAAL,CAAeqwC,aAAf,CAA6BvgI,CAA7B,EAA+BE,CAA/B,CAAP;AAAyC;;AAAA4iF,EAAAA,KAAK,GAAE;AAAC,UAAK;AAACge,MAAAA,MAAM,EAAC9gG;AAAR,QAAW,KAAKkwF,SAArB;AAA+BlwF,IAAAA,CAAC,GAAC,KAAKy9H,kBAAL,CAAwB,KAAKD,eAAL,GAAqB,gBAArB,GAAsC,gBAA9D,CAAD,GAAiF98H,iEAAA,CAAY,IAAZ,EAAkBmmB,IAAlB,CAAuB,qDAAvB,CAAlF;AAAgK;;AAAAnM,EAAAA,IAAI,GAAE;AAAC,WAAO,KAAKw1E,SAAL,CAAex1E,IAAf,EAAP;AAA6B;;AAAAiW,EAAAA,IAAI,CAAC3wB,CAAD,EAAG;AAAC,SAAKwd,aAAL,CAAmBnS,CAAnB;AAAsB,UAAMnL,CAAC,GAAC;AAACw8H,MAAAA,SAAS,EAAC18H,CAAC,EAAE08H,SAAH,IAAc,CAAC;AAA1B,KAAR;AAAqC,SAAKh3H,GAAL,CAASxF,CAAT,GAAY,KAAKgwF,SAAL,CAAev/D,IAAf,CAAoB3wB,CAApB,CAAZ,EAAmC,KAAK0D,UAAL,CAAgB/C,4DAAC,CAAE,MAAI,CAAC,KAAKuvF,SAAL,CAAeuuC,gBAAtB,EAAyC,MAAI,KAAKT,8BAAL,EAA7C,EAAoF;AAAC7+G,MAAAA,IAAI,EAAC,CAAC;AAAP,KAApF,CAAjB,CAAnC;AAAoJ;;AAAAugG,EAAAA,QAAQ,GAAE;AAAC,WAAO,KAAKxvB,SAAL,CAAewvB,QAAf,EAAP;AAAiC;;AAAA8gB,EAAAA,aAAa,CAACxgI,CAAD,EAAG;AAAC,WAAO,KAAKkwF,SAAL,CAAeswC,aAAf,CAA6BxgI,CAA7B,CAAP;AAAuC;;AAAA2uG,EAAAA,MAAM,GAAE;AAAC,WAAOrjG,4DAAC,CAAC,KAAD,EAAO;AAACmlB,MAAAA,IAAI,EAAC,IAAN;AAAW+tF,MAAAA,KAAK,EAAC,KAAKp4C,OAAL,CAAarmE,uDAAb,EAAoBgJ,oEAApB,EAA6BA,mEAA7B,CAAjB;AAAuD23H,MAAAA,SAAS,EAAC,KAAKC;AAAtE,KAAP,EAA6F,KAAKC,aAAL,EAA7F,EAAkH,KAAKC,uBAAL,EAAlH,CAAR;AAA0J;;AAAAC,EAAAA,wBAAwB,GAAE;AAAC,WAAM,CAAC,KAAKC,iBAAL,EAAD,EAA0B,KAAKC,wBAAL,EAA1B,CAAN;AAAiE;;AAAAJ,EAAAA,aAAa,GAAE;AAAC,WAAM,CAAC,KAAKpD,eAAN,IAAuB,KAAKb,oBAA5B,IAAkD,KAAK+C,yBAAvD,GAAiFp0H,4DAAC,CAAC,KAAD,EAAO;AAACkzG,MAAAA,KAAK,EAACz+G,yDAAP;AAAgB6L,MAAAA,GAAG,EAAC;AAApB,KAAP,EAA6C,KAAKk1H,wBAAL,EAA7C,CAAlF,GAAgK,IAAtK;AAA2K;;AAAAI,EAAAA,aAAa,GAAE;AAAC,WAAO,KAAK1D,eAAL,IAAsB,KAAKb,oBAA3B,IAAiD,CAAC,KAAK+C,yBAAvD,GAAiF,IAAjF,GAAsFp0H,4DAAC,CAAC,KAAD,EAAO;AAACkzG,MAAAA,KAAK,EAACz+G,yDAAP;AAAgB6L,MAAAA,GAAG,EAAC,gBAApB;AAAqC68G,MAAAA,IAAI,EAAC;AAA1C,KAAP,EAA2D,KAAKqY,wBAAL,EAA3D,CAA9F;AAA0L;;AAAAE,EAAAA,wBAAwB,GAAE;AAAC,UAAK;AAAC13H,MAAAA,QAAQ,EAACtJ,CAAV;AAAYkwF,MAAAA,SAAS,EAAChwF;AAAtB,QAAyB,IAA9B;AAAA,UAAmC;AAAConH,MAAAA,YAAY,EAAC5mH,CAAd;AAAgBi9H,MAAAA,oBAAoB,EAACn9H,CAArC;AAAuC4gI,MAAAA,oBAAoB,EAAChhI;AAA5D,QAA+DF,CAAlG;AAAoG,WAAOoL,4DAAC,CAAC,gBAAD,EAAkB;AAAC2xH,MAAAA,UAAU,EAAC,OAAZ;AAAoBxsG,MAAAA,IAAI,EAAC,IAAzB;AAA8B2tF,MAAAA,IAAI,EAAC,MAAnC;AAA0CxyG,MAAAA,GAAG,EAAC,qBAA9C;AAAoE6pB,MAAAA,KAAK,EAACz1B,CAAC,CAACqhI,aAA5E;AAA0FlE,MAAAA,OAAO,EAAC/8H,CAAC,GAAC,CAApG;AAAsGy/G,MAAAA,OAAO,EAAC,KAAK0d,gBAAnH;AAAoIhlH,MAAAA,KAAK,EAAC,GAA1I;AAA8IlM,MAAAA,IAAI,EAACH,gEAAC,CAAClM,CAAC,CAACg/G,QAAH,EAAY;AAACC,QAAAA,KAAK,EAACzzG,8DAAC,CAAChL,CAAC,GAAC,CAAH,CAAR;AAAcu3D,QAAAA,KAAK,EAACvsD,8DAAC,CAAC9K,CAAD;AAArB,OAAZ,CAApJ;AAA2L4gI,MAAAA,WAAW,EAAC,CAAC,CAAxM;AAA0Mv+H,MAAAA,KAAK,EAAC/C,CAAC,CAACqhI;AAAlN,KAAlB,CAAR;AAA4P;;AAAAN,EAAAA,iBAAiB,GAAE;AAAC,UAAK;AAACrhB,MAAAA,QAAQ,EAAC1/G,CAAV;AAAY0a,MAAAA,IAAI,EAACxa;AAAjB,QAAoB,KAAKsmH,cAAL,CAAoB+a,UAA7C;AAAwD,WAAOj2H,4DAAC,CAAC,oBAAD,EAAsB;AAACkzG,MAAAA,KAAK,EAACz+G,sEAAP;AAA6B0hI,MAAAA,cAAc,EAAC,CAAC,CAA7C;AAA+C71H,MAAAA,GAAG,EAAC,uBAAnD;AAA2E81H,MAAAA,MAAM,EAAC,YAAlF;AAA+FC,MAAAA,uBAAuB,EAAC,CAAC,CAAxH;AAA0HppH,MAAAA,KAAK,EAAC;AAAhI,KAAtB,EAA2JjN,4DAAC,CAAC,sBAAD,EAAwB;AAACiN,MAAAA,KAAK,EAAC;AAAP,KAAxB,EAAoCjN,4DAAC,CAAC,gBAAD,EAAkB;AAAC2xH,MAAAA,UAAU,EAAC,OAAZ;AAAoBze,MAAAA,KAAK,EAACz+G,qEAA1B;AAA+Cq+G,MAAAA,IAAI,EAAC,cAApD;AAAmEyjB,MAAAA,WAAW,EAAC,CAAC,CAAhF;AAAkFpsG,MAAAA,KAAK,EAACz1B,CAAxF;AAA0F6/G,MAAAA,OAAO,EAAC,KAAK6d,gBAAvG;AAAwHnlH,MAAAA,KAAK,EAAC,GAA9H;AAAkIlM,MAAAA,IAAI,EAACrM,CAAvI;AAAyI+C,MAAAA,KAAK,EAAC/C;AAA/I,KAAlB,CAArC,EAA0MsL,4DAAC,CAAC,gBAAD,EAAkB;AAAC2xH,MAAAA,UAAU,EAAC,OAAZ;AAAoB7e,MAAAA,IAAI,EAAC,eAAzB;AAAyCyjB,MAAAA,WAAW,EAAC,CAAC,CAAtD;AAAwDpsG,MAAAA,KAAK,EAACv1B,CAA9D;AAAgE2/G,MAAAA,OAAO,EAAC,KAAK+d,YAA7E;AAA0FrlH,MAAAA,KAAK,EAAC,GAAhG;AAAoGlM,MAAAA,IAAI,EAACnM,CAAzG;AAA2G6C,MAAAA,KAAK,EAAC7C;AAAjH,KAAlB,CAA3M,CAA5J,CAAR;AAAwf;;AAAA4hI,EAAAA,sBAAsB,CAAC9hI,CAAD,EAAG;AAAC,UAAK;AAACogI,MAAAA,wBAAwB,EAAClgI,CAA1B;AAA4B++H,MAAAA,iBAAiB,EAACv+H;AAA9C,QAAiD,KAAKwvF,SAA3D;AAAA,UAAqE1vF,CAAC,GAACR,CAAC,KAAGE,CAA3E;AAAA,UAA6EE,CAAC,GAACM,CAAC,CAAC+Q,OAAF,CAAUzR,CAAV,CAA/E;AAA4F,WAAOsL,4DAAC,CAAC,mBAAD,EAAqB;AAACmlB,MAAAA,IAAI,EAAC,IAAN;AAAW,4BAAqBrwB,CAAhC;AAAkCwL,MAAAA,GAAG,EAAE,qBAAoB5L,CAAC,CAACw1C,GAAI,EAAjE;AAAmEusF,MAAAA,MAAM,EAAC,KAAKC,oBAA/E;AAAoGC,MAAAA,OAAO,EAAC,KAAKC,iBAAjH;AAAmIC,MAAAA,YAAY,EAAC,KAAKH,oBAArJ;AAA0KI,MAAAA,WAAW,EAAC,KAAKF,iBAA3L;AAA6MG,MAAAA,QAAQ,EAAC7hI,CAAtN;AAAwNuoH,MAAAA,uBAAuB,EAAC,KAAKuZ;AAArP,KAArB,EAA0Rh3H,4DAAC,CAAC,MAAD,EAAQ;AAAC4zG,MAAAA,SAAS,EAACl/G,CAAC,CAAC+C,KAAF,IAAS,KAAKyjH,cAAL,CAAoB+b,QAAxC;AAAiD9Z,MAAAA,IAAI,EAAC;AAAtD,KAAR,CAA3R,CAAR;AAA8W;;AAAA+Z,EAAAA,oBAAoB,GAAE;AAAC,UAAK;AAACvD,MAAAA,iBAAiB,EAACj/H;AAAnB,QAAsB,KAAKkwF,SAAhC;AAAA,UAA0ChwF,CAAC,GAAC,IAAIyS,GAAJ,EAA5C;AAAoD,WAAO3S,CAAC,CAAC2E,OAAF,CAAW3E,CAAC,IAAE;AAAC,YAAMU,CAAC,GAACV,CAAC,EAAEgoF,OAAX;AAAmB,UAAG,CAACtnF,CAAJ,EAAM;AAAO,YAAK;AAAC8I,QAAAA,KAAK,EAAChJ,CAAP;AAASwvC,QAAAA,WAAW,EAAC5vC;AAArB,UAAwBM,CAA7B;AAAA,YAA+BC,CAAC,GAAC,CAACyB,CAAC,CAAC5B,CAAD,CAAD,GAAKA,CAAL,GAAO,IAAR,MAAgB4B,CAAC,CAAChC,CAAD,CAAD,GAAKA,CAAL,GAAO,IAAvB,CAAjC;AAAA,YAA8DH,CAAC,GAACC,CAAC,CAAC4Z,GAAF,CAAMnZ,CAAN,KAAU,EAA1E;AAA6ET,MAAAA,CAAC,CAACwF,GAAF,CAAM/E,CAAN,EAAQ,CAAC,GAAGV,CAAJ,EAAMD,CAAN,CAAR;AAAkB,KAA9I,GAAiJE,CAAxJ;AAA0J;;AAAAuiI,EAAAA,kBAAkB,GAAE;AAAC,UAAK;AAACxD,MAAAA,iBAAiB,EAACj/H;AAAnB,QAAsB,KAAKkwF,SAAhC;AAAA,UAA0ChwF,CAAC,GAAC,KAAKsiI,oBAAL,EAA5C;;AAAwE,WAAOxiI,CAAC,CAAC6N,MAAF,GAASvC,4DAAC,CAAC,cAAD,EAAgB;AAACo3H,MAAAA,mBAAmB,EAAC,MAArB;AAA4BC,MAAAA,aAAa,EAAC;AAA1C,KAAhB,EAAoEp8H,KAAK,CAACiZ,IAAN,CAAWtf,CAAC,CAACqf,IAAF,EAAX,EAAqBvf,CAAC,IAAE;AAAC,YAAMU,CAAC,GAACR,CAAC,CAAC4Z,GAAF,CAAM9Z,CAAN,GAAUuF,GAAV,CAAevF,CAAC,IAAE,KAAK8hI,sBAAL,CAA4B9hI,CAA5B,CAAlB,CAAR;AAAA,YAA2DQ,CAAC,GAACR,CAAC,GAACA,CAAC,CAAC+C,KAAF,IAAS,KAAKyjH,cAAL,CAAoB+b,QAA9B,GAAuC,IAArG;AAA0G,aAAO,KAAK9b,eAAL,CAAqBmc,qBAArB,IAA4C,SAAOpiI,CAAnD,GAAqD8K,4DAAC,CAAC,yBAAD,EAA2B;AAACk6E,QAAAA,OAAO,EAAChlF,CAAT;AAAWoL,QAAAA,GAAG,EAAC5L,CAAC,EAAEw1C,GAAH,IAAQ;AAAvB,OAA3B,EAAkE90C,CAAlE,CAAtD,GAA2HA,CAAlI;AAAoI,KAAvQ,CAApE,CAAV,GAAyV,IAAhW;AAAqW;;AAAAmiI,EAAAA,mBAAmB,CAAC7iI,CAAD,EAAGE,CAAH,EAAK;AAAC,UAAMQ,CAAC,GAACV,CAAC,CAAC+C,KAAF,IAAS,EAAjB;AAAoB,WAAO/C,CAAC,CAACwO,OAAF,GAAUlD,4DAAC,CAAC,gBAAD,EAAkB;AAACw1F,MAAAA,MAAM,EAAC,aAAW9gG,CAAC,CAACuD,IAAb,IAAmBvD,CAAC,CAAC0N,KAA7B;AAAmCuvH,MAAAA,UAAU,EAAC,OAA9C;AAAsDxsG,MAAAA,IAAI,EAAC,IAA3D;AAAgE,yBAAkBzwB,CAAC,CAACw1C,GAApF;AAAwF0kE,MAAAA,QAAQ,EAACl6G,CAAC,CAACk6G,QAAnG;AAA4GkE,MAAAA,IAAI,EAACp+G,CAAC,CAACo+G,IAAF,IAAQ,KAAK,CAA9H;AAAgI4e,MAAAA,SAAS,EAACh9H,CAAC,CAACg9H,SAA5I;AAAsJpxH,MAAAA,GAAG,EAAE,iBAAgB1L,CAAE,EAA7K;AAA+Ki9H,MAAAA,OAAO,EAACn9H,CAAC,CAAC8gG,MAAzL;AAAgM+e,MAAAA,OAAO,EAAC,KAAKijB,oBAA7M;AAAkOra,MAAAA,IAAI,EAAC,oBAAvO;AAA4Pp8G,MAAAA,IAAI,EAAC3L,CAAjQ;AAAmQqC,MAAAA,KAAK,EAACrC;AAAzQ,KAAlB,CAAX,GAA0S,IAAjT;AAAsT;;AAAAqiI,EAAAA,oBAAoB,GAAE;AAAC,WAAO,KAAKnG,aAAL,CAAmBr3H,GAAnB,CAAwB,CAACvF,CAAD,EAAGE,CAAH,KAAO,KAAK2iI,mBAAL,CAAyB7iI,CAAzB,EAA2BE,CAA3B,CAA/B,EAA+DmE,OAA/D,EAAP;AAAgF;;AAAA2+H,EAAAA,qBAAqB,GAAE;AAAC,UAAK;AAACzc,MAAAA,YAAY,EAACvmH,CAAd;AAAgBymH,MAAAA,eAAe,EAACvmH,CAAhC;AAAkC0/H,MAAAA,YAAY,EAACl/H,CAA/C;AAAiDm/H,MAAAA,gBAAgB,EAACr/H,CAAlE;AAAoEm8H,MAAAA,oBAAoB,EAACv8H;AAAzF,QAA4F,IAAjG;AAAA,UAAsG;AAAC2C,MAAAA,KAAK,EAACpC,CAAP;AAASmgG,MAAAA,MAAM,EAAC7gG;AAAhB,QAAmB,KAAKiwF,SAA9H;AAAA,UAAwIrvF,CAAC,GAACX,CAAC,CAACslF,OAAF,IAAW7kF,CAAX,GAAaA,CAAb,GAAe,EAAzJ;AAA4J,WAAO2K,4DAAC,CAAC,mBAAD,EAAqB;AAACi0G,MAAAA,WAAW,EAAC,KAAK0jB,sBAAlB;AAAyCxyG,MAAAA,IAAI,EAAC,IAA9C;AAAmD+tF,MAAAA,KAAK,EAAC,KAAKp4C,OAAL,CAAa;AAAC,SAACrmE,iEAAD,GAAmB,CAAC,CAArB;AAAuB,SAACA,oEAAD,GAAsBW;AAA7C,OAAb,CAAzD;AAAuH09H,MAAAA,QAAQ,EAACl+H,CAAC,CAACi+H,WAAlI;AAA8ID,MAAAA,MAAM,EAAC,CAACj+H,CAAtJ;AAAwJy8H,MAAAA,SAAS,EAACh8H,CAAlK;AAAoK0iI,MAAAA,iBAAiB,EAAChjI,CAAC,GAAC,MAAD,GAAQ,IAA/L;AAAoMijI,MAAAA,WAAW,EAAC7iI,CAAhN;AAAkN+lH,MAAAA,YAAY,EAACvmH,CAA/N;AAAiO4L,MAAAA,GAAG,EAAC,gBAArO;AAAsP03H,MAAAA,sBAAsB,EAAC,KAAKvwF,KAAlR;AAAwRwwF,MAAAA,uBAAuB,EAAC,KAAKC;AAArT,KAArB,EAAiW3iI,CAAC,GAACyK,4DAAC,CAACH,yDAAD,EAAG;AAACqzG,MAAAA,KAAK,EAAC,KAAKp4C,OAAL,CAAarmE,kEAAb,EAA+BgJ,qEAA/B,CAAP;AAAiDm2G,MAAAA,SAAS,EAACr+G,CAA3D;AAA6D+K,MAAAA,GAAG,EAAC,gBAAjE;AAAkF83H,MAAAA,KAAK,EAAC,KAAKnd,YAA7F;AAA0GkC,MAAAA,IAAI,EAAC;AAA/G,KAAH,CAAF,GAAuI,IAAze,EAA8e,KAAKsa,oBAAL,EAA9e,EAA0gB,KAAKY,gBAAL,EAA1gB,EAAkiBjjI,CAAC,GAAC,IAAD,GAAM4K,4DAAC,CAAC,KAAD,EAAO;AAACkzG,MAAAA,KAAK,EAAC,KAAKp4C,OAAL,CAAarmE,4DAAb,EAAyBA,mEAAzB;AAAP,KAAP,EAA4D,KAAK8jI,cAAL,EAA5D,CAA1iB,EAA6nB,KAAK3C,aAAL,EAA7nB,CAAR;AAA2pB;;AAAA4C,EAAAA,2BAA2B,GAAE;AAAC,UAAK;AAAC5zC,MAAAA,SAAS,EAAClwF,CAAX;AAAaw9H,MAAAA,eAAe,EAACt9H,CAA7B;AAA+BoJ,MAAAA,QAAQ,EAAC5I,CAAxC;AAA0C8lH,MAAAA,cAAc,EAAChmH;AAAzD,QAA4D,IAAjE;AAAA,UAAsE;AAACsgG,MAAAA,MAAM,EAAC1gG,CAAR;AAAU6+H,MAAAA,iBAAiB,EAACt+H,CAA5B;AAA8BygI,MAAAA,oBAAoB,EAACnhI;AAAnD,QAAsDD,CAA5H;AAA8H,WAAOE,CAAC,GAACoL,4DAAC,CAAC,mBAAD,EAAqB;AAACi0G,MAAAA,WAAW,EAAC,KAAKwkB,6BAAlB;AAAgDtzG,MAAAA,IAAI,EAAC,IAArD;AAA0D2tG,MAAAA,QAAQ,EAAC,CAAC,CAApE;AAAsEF,MAAAA,MAAM,EAAC,CAAC99H,CAA9E;AAAgF2N,MAAAA,WAAW,EAAC7B,gEAAC,CAACxL,CAAC,CAACq3D,KAAH,EAAS;AAACA,QAAAA,KAAK,EAACp3D,CAAC,CAACkN;AAAT,OAAT,CAA7F;AAAwH23E,MAAAA,OAAO,EAAC9kF,CAAC,CAAC2gI,aAAlI;AAAgJz1H,MAAAA,GAAG,EAAC,cAApJ;AAAmKuxH,MAAAA,OAAO,EAACn9H,CAAC,CAACgkI,kBAA7K;AAAgMC,MAAAA,qBAAqB,EAACjkI,CAAC,IAAE;AAACA,QAAAA,CAAC,CAAC0wB,cAAF,IAAmB,KAAKmtG,sBAAL,EAAnB;AAAiD;AAA3Q,KAArB,EAAkS59H,CAAC,GAAC,CAAF,GAAIqL,4DAAC,CAAC,gBAAD,EAAkB;AAACkzG,MAAAA,KAAK,EAACz+G,yDAAP;AAAgBwoH,MAAAA,MAAM,EAAC,CAAC,CAAxB;AAA0B38G,MAAAA,GAAG,EAAC,qBAA9B;AAAoD6pB,MAAAA,KAAK,EAACj1B,CAAC,CAAC28H,OAA5D;AAAoE1U,MAAAA,IAAI,EAAC;AAAzE,KAAlB,CAAL,GAAuH,IAAzZ,EAA8Zn9G,4DAAC,CAAC,KAAD,EAAO;AAACkzG,MAAAA,KAAK,EAACz+G,4DAAW6oF;AAAlB,KAAP,EAA2B,KAAK65C,kBAAL,EAA3B,CAA/Z,EAAqdn3H,4DAAC,CAAC,KAAD,EAAO;AAACi0G,MAAAA,WAAW,EAAC,KAAK2kB,uCAAlB;AAA0DzzG,MAAAA,IAAI,EAAC,IAA/D;AAAoE+tF,MAAAA,KAAK,EAACz+G,sEAAqBokI;AAA/F,KAAP,CAAtd,EAA+jB74H,4DAAC,CAAC,gBAAD,EAAkB;AAAC2xH,MAAAA,UAAU,EAAC,aAAZ;AAA0Bpd,MAAAA,OAAO,EAAC,KAAKge,sBAAvC;AAA8DpV,MAAAA,IAAI,EAAC,gBAAnE;AAAoFxvG,MAAAA,KAAK,EAAC;AAA1F,KAAlB,EAAoHzY,CAAC,CAAC4jI,IAAtH,CAAhkB,CAAF,GAA+rB,IAAvsB;AAA4sB;;AAAAvD,EAAAA,uBAAuB,GAAE;AAAC,UAAM7gI,CAAC,GAAC,CAAC,KAAKgjI,qBAAL,EAAD,EAA8B,KAAKc,2BAAL,EAA9B,EAAiE,KAAKxH,cAAL,CAAoB3tB,MAApB,EAAjE,CAAR;AAAuG,WAAO,KAAK8X,eAAL,CAAqB4Y,IAArB,GAA0B/zH,4DAAC,CAAC,cAAD,EAAgB;AAACM,MAAAA,GAAG,EAAC;AAAL,KAAhB,EAA0C5L,CAA1C,CAA3B,GAAwEA,CAA/E;AAAiF;;AAAAs9H,EAAAA,gBAAgB,CAACt9H,CAAD,EAAG;AAAC,UAAK;AAACuR,MAAAA,SAAS,EAACrR,CAAX;AAAak+G,MAAAA,IAAI,EAAC19G;AAAlB,QAAqBV,CAA1B;AAA4B,QAAGU,CAAH,EAAK,OAAO,IAAP;AAAY,UAAMF,CAAC,GAACgB,uFAAC,CAAC;AAAC6jG,MAAAA,MAAM,EAACrlG,CAAR;AAAUyvC,MAAAA,OAAO,EAAC,KAAKywF;AAAvB,KAAD,CAAT;AAAA,UAAmD9/H,CAAC,GAAC;AAAC,OAACL,uDAAD,GAAS,CAAC,CAACG,CAAZ;AAAc,OAACH,8DAAD,GAAgB,CAAC,CAACS;AAAhC,KAArD;AAAwF,WAAON,CAAC,KAAGE,CAAC,CAACF,CAAD,CAAD,GAAK,CAAC,CAAT,CAAD,EAAaM,CAAC,IAAEN,CAAH,GAAKoL,4DAAC,CAAC,MAAD,EAAQ;AAAC,qBAAc,MAAf;AAAsBkzG,MAAAA,KAAK,EAAC,KAAKp4C,OAAL,CAAarmE,uDAAb,EAAoBK,CAApB,CAA5B;AAAmDwL,MAAAA,GAAG,EAAC,MAAvD;AAA8D04H,MAAAA,MAAM,EAAChjI,iFAAC,CAACd,CAAD;AAAtE,KAAR,CAAN,GAA0F,IAA9G;AAAmH;;AAAAmjI,EAAAA,gBAAgB,GAAE;AAAC,WAAM,CAAC,KAAK/D,YAAN,IAAoB,KAAKnZ,eAAL,CAAqB8d,SAAzC,IAAoD,KAAKr0C,SAAL,CAAes0C,UAAf,EAA2B32H,MAA/E,GAAsFvC,4DAAC,CAAC,oBAAD,EAAsB;AAACm2H,MAAAA,cAAc,EAAC,CAAC,CAAjB;AAAmBgD,MAAAA,QAAQ,EAAC,CAAC,KAAKpH,eAAlC;AAAkDzxH,MAAAA,GAAG,EAAC,mBAAtD;AAA0E2M,MAAAA,KAAK,EAAC,GAAhF;AAAoFkwG,MAAAA,IAAI,EAAC;AAAzF,KAAtB,EAA6Hn9G,4DAAC,CAAC,sBAAD,EAAwB;AAACi0G,MAAAA,WAAW,EAACv/G,CAAC,IAAE,KAAKy8H,kBAAL,GAAwBz8H,CAAxC;AAA0C0kI,MAAAA,kBAAkB,EAAC,OAA7D;AAAqEnsH,MAAAA,KAAK,EAAC;AAA3E,KAAxB,EAAwG,KAAKosH,cAAL,EAAxG,CAA9H,CAAvF,GAAqV,IAA3V;AAAgW;;AAAAA,EAAAA,cAAc,GAAE;AAAC,WAAO,KAAKz0C,SAAL,CAAes0C,UAAf,CAA0BngI,OAA1B,GAAoCkB,GAApC,CAAwC,KAAKu3H,aAA7C,CAAP;AAAmE;;AAAA+G,EAAAA,cAAc,GAAE;AAAC,UAAM7jI,CAAC,GAAC,KAAKkwF,SAAL,EAAgBljF,OAAxB;AAAgC,WAAOhN,CAAC,GAAC,YAAU,OAAOA,CAAjB,GAAmBsL,4DAAC,CAAC,KAAD,EAAO;AAACkzG,MAAAA,KAAK,EAACv8G,mEAAP;AAAqBi9G,MAAAA,SAAS,EAACl/G,CAA/B;AAAiC4L,MAAAA,GAAG,EAAC5L;AAArC,KAAP,CAApB,GAAoE,KAAK6kI,iBAAL,CAAuB7kI,CAAvB,CAArE,GAA+F,IAAvG;AAA4G;;AAAAwjI,EAAAA,qBAAqB,GAAE;AAAC,SAAK9G,SAAL,GAAe,CAAC,KAAKA,SAArB;AAA+B;;AAAMyC,EAAAA,mBAAmB,CAACn/H,CAAD,EAAG;AAAA;;AAAA;AAAC,YAAMA,CAAC,CAACkwF,SAAF,CAAYglC,cAAZ,EAAN;AAAmC,YAAMh1H,CAAC,GAACF,CAAC,CAACgoF,OAAV;AAAA,YAAkBtnF,CAAC,GAACR,CAAC,EAAEi3B,QAAvB;AAAgC,UAAG,QAAMz2B,CAAN,IAAS,QAAMR,CAAlB,EAAoB;AAAO,WAAI,CAAC4+H,8BAAL,UAA4C,KAAI,CAAC5uC,SAAL,CAAe40C,MAAf,CAAsB;AAAC78H,QAAAA,MAAM,EAACvH;AAAR,OAAtB,CAA5C;AAA8E,YAAMF,CAAC,GAACQ,yFAAC,CAACN,CAAD,CAAT;;AAAa,WAAI,CAACiwB,IAAL,CAAU;AAAC4d,QAAAA,QAAQ,EAAC,CAACruC,CAAD,CAAV;AAAcyiC,QAAAA,QAAQ,EAAC,QAAMniC,CAAN,GAAQA,CAAR,GAAU,KAAK;AAAtC,OAAV;AAA1L;AAA8O;;AAAMi9H,EAAAA,kBAAkB,CAACz9H,CAAD,EAAG;AAAA;;AAAA;AAAC,YAAI,CAACo8H,qBAAL,EAA4BjgH,KAA5B,IAAoC,MAAI,CAACigH,qBAAL,GAA2B,IAAI//G,eAAJ,EAA/D;AAAmF,YAAMnc,CAAC,GAAC,MAAI,CAACk8H,qBAAL,CAA2B10H,MAAnC;AAA0C,YAAMlH,wEAAC,CAACP,uEAAC,CAACC,CAAD,CAAF,CAAP;AAAc,YAAMQ,CAAC,GAAC,qBAAmBV,CAAnB,GAAqB,MAAI,CAACw8H,wBAA1B,GAAmD,MAAI,CAACD,iBAAhE;AAAkF/5H,MAAAA,kEAAC,CAAC9B,CAAD,CAAD;AAA9N;AAAmO;;AAAAuiI,EAAAA,sBAAsB,CAACjjI,CAAD,EAAG;AAAC,SAAKu8H,iBAAL,GAAuBv8H,CAAvB;AAAyB;;AAAA+jI,EAAAA,6BAA6B,CAAC/jI,CAAD,EAAG;AAAC,SAAKw8H,wBAAL,GAA8Bx8H,CAA9B;AAAgC;;AAAAkiI,EAAAA,iBAAiB,CAACliI,CAAD,EAAG;AAAC,UAAK;AAACkwF,MAAAA,SAAS,EAAChwF;AAAX,QAAc,IAAnB;AAAA,UAAwBQ,CAAC,GAACV,CAAC,CAAC+kI,aAAF,CAAgB,oBAAhB,CAA1B;AAAgE7kI,IAAAA,CAAC,CAAC8kI,aAAF,GAAgB9kI,CAAC,CAACquC,QAAF,GAAa7tC,CAAb,KAAiB,IAAjC;AAAsC;;AAAAshI,EAAAA,oBAAoB,GAAE;AAAC,SAAK9xC,SAAL,CAAe80C,aAAf,GAA6B,IAA7B;AAAkC;;AAAA1C,EAAAA,cAAc,CAACtiI,CAAD,EAAG;AAAC,UAAME,CAAC,GAACF,CAAC,CAAC+kI,aAAF,CAAgB,oBAAhB,CAAR;AAA8CplF,IAAAA,KAAK,CAACz/C,CAAD,CAAL,KAAW,KAAKgwF,SAAL,CAAeytC,oBAAf,GAAoCz9H,CAA/C,GAAkD,KAAK29H,sBAAL,EAAlD;AAAgF;;AAAA2B,EAAAA,6BAA6B,GAAE;AAAC,SAAKvD,oCAAL,IAA2C,KAAKD,gCAAL,CAAsCrS,SAAtC,CAAgD,KAAKsS,oCAArD,CAA3C;AAAsI;;AAAAiI,EAAAA,uCAAuC,CAAClkI,CAAD,EAAG;AAAC,SAAKw/H,6BAAL,IAAqC,KAAKxD,gCAAL,CAAsCtS,OAAtC,CAA8C1pH,CAA9C,CAArC,EAAsF,KAAKi8H,oCAAL,GAA0Cj8H,CAAhI;AAAkI;;AAAAk9H,EAAAA,cAAc,CAACl9H,CAAD,EAAG;AAAC,WAAOA,CAAC,CAACo+G,IAAF,GAAOp+G,CAAC,CAACo+G,IAAT,GAAcp+G,CAAC,CAACwR,KAAF,IAASxR,CAAC,CAACuR,SAAX,GAAqB,KAAK,CAA1B,GAA4B,UAAjD;AAA4D;;AAAAwrH,EAAAA,eAAe,CAAC/8H,CAAD,EAAG;AAAC,UAAK;AAACsJ,MAAAA,QAAQ,EAACpJ,CAAV;AAAYggI,MAAAA,eAAe,EAACx/H,CAA5B;AAA8B8lH,MAAAA,cAAc,EAAChmH;AAA7C,QAAgD,IAArD;AAAA,UAA0D;AAACkC,MAAAA,EAAE,EAACtC;AAAJ,QAAOJ,CAAjE;AAAA,UAAmEW,CAAC,GAACD,CAAC,EAAE6wC,UAAxE;AAAA,UAAmFtxC,CAAC,GAACD,CAAC,CAAC+C,KAAF,IAAS,EAA9F;AAAA,UAAiGlC,CAAC,GAAC,sBAAoBT,CAApB,GAAsB8L,gEAAC,CAACjM,CAAD,EAAG;AAACqJ,MAAAA,QAAQ,EAACpJ;AAAV,KAAH,CAAvB,GAAwC,8BAA4BE,CAA5B,GAA8B8L,gEAAC,CAACjM,CAAD,EAAG;AAACqJ,MAAAA,QAAQ,EAAC9I;AAAV,KAAH,CAA/B,GAAgD,iCAA+BJ,CAA/B,IAAkC,gCAA8BA,CAAhE,GAAkE8L,gEAAC,CAACjM,CAAD,EAAG;AAACqJ,MAAAA,QAAQ,EAACpJ;AAAV,KAAH,CAAnE,GAAoFF,CAAC,CAAC+C,KAAjR;AAAuR,WAAOlC,CAAC,IAAEF,CAAH,GAAKuL,gEAAC,CAACrL,CAAD,EAAGF,CAAH,CAAN,GAAYE,CAAC,IAAE,EAAtB;AAAyB;;AAAA8/H,EAAAA,cAAc,CAAC3gI,CAAD,EAAG;AAAC,UAAK;AAAC4L,MAAAA,GAAG,EAAC1L;AAAL,QAAQF,CAAb;AAAe,oBAAcE,CAAd,KAAkBF,CAAC,CAACmkG,eAAF,IAAoB,KAAK05B,sBAAL,EAApB,EAAkD,KAAKne,QAAL,EAApE,GAAqF,iBAAex/G,CAAf,KAAmBF,CAAC,CAACmkG,eAAF,IAAoB,KAAK05B,sBAAL,EAApB,EAAkD,KAAKnjH,IAAL,EAArE,CAArF;AAAuK;;AAAAwkH,EAAAA,6BAA6B,GAAE;AAAC,SAAK1C,wBAAL,IAA+B,KAAKA,wBAAL,CAA8ByI,eAA9B,CAA8C;AAAC/7C,MAAAA,GAAG,EAAC;AAAL,KAA9C,CAA/B;AAAsF;;AAAA81C,EAAAA,4BAA4B,GAAE;AAAC,UAAK;AAACH,MAAAA,qBAAqB,EAAC7+H;AAAvB,QAA0B,IAA/B;AAAoCA,IAAAA,CAAC,KAAG,KAAKkwF,SAAL,CAAeljF,OAAf,GAAuBhN,CAA1B,CAAD;AAA8B;;AAAA++H,EAAAA,0BAA0B,GAAE;AAAC,UAAK;AAACF,MAAAA,qBAAqB,EAAC7+H,CAAvB;AAAyBwmH,MAAAA,cAAc,EAACtmH;AAAxC,QAA2C,IAAhD;AAAA,UAAqDQ,CAAC,GAACV,CAAC,EAAEkwF,SAA1D;AAAoElwF,IAAAA,CAAC,KAAG,KAAKkwF,SAAL,CAAentF,KAAf,GAAqB,YAAUrC,CAAC,EAAEi7F,KAAb,GAAmBz7F,CAAC,EAAEglI,YAAtB,GAAmCxkI,CAAC,EAAEqC,KAAH,IAAU,EAArE,CAAD;AAA0E;;AAAAi7H,EAAAA,8BAA8B,GAAE;AAAC,UAAMh+H,CAAC,GAACI,6DAAC,CAAE,MAAI,KAAK8vF,SAAL,EAAgBytC,oBAAtB,EAA6C,CAAC39H,CAAD,EAAGE,CAAH,KAAO,KAAKilI,4BAAL,CAAkCnlI,CAAlC,EAAoCE,CAApC,CAApD,CAAT;AAAsG,SAAKwD,UAAL,CAAgB1D,CAAhB,EAAkBqL,CAAlB;AAAqB;;AAAA85H,EAAAA,4BAA4B,CAACnlI,CAAD,EAAGE,CAAH,EAAK;AAAC,UAAK;AAAConH,MAAAA,YAAY,EAAC5mH;AAAd,QAAiB,KAAKwvF,SAA3B;AAAqCxvF,IAAAA,CAAC,IAAEV,CAAC,KAAGE,CAAP,IAAU,CAAC,CAAD,KAAKF,CAAf,KAAmB,KAAK8+H,8BAAL,IAAsC,KAAKvC,iBAAL,IAAwB,KAAKA,iBAAL,CAAuB0I,eAAvB,CAAuC;AAAC/7C,MAAAA,GAAG,EAAC;AAAL,KAAvC,CAAjF;AAAkI;;AAAA45C,EAAAA,oBAAoB,CAAC9iI,CAAD,EAAG;AAAC,UAAME,CAAC,GAACF,CAAC,CAAC+kI,aAAV;AAAwB,QAAG7kI,CAAC,CAACg6G,QAAL,EAAc;AAAO,UAAMx5G,CAAC,GAACR,CAAC,CAACklI,OAAF,CAAUC,SAAlB;AAAA,UAA4B7kI,CAAC,GAAC,KAAKo8H,aAAL,CAAmBltH,IAAnB,CAAyB,CAAC;AAAC8lC,MAAAA,GAAG,EAACx1C;AAAL,KAAD,KAAWA,CAAC,KAAGU,CAAxC,CAA9B;AAA0EF,IAAAA,CAAC,IAAE,CAACA,CAAC,CAAC05G,QAAN,KAAiB,aAAW15G,CAAC,EAAE+C,IAAd,KAAqB/C,CAAC,CAACkN,KAAF,GAAQ,CAAClN,CAAC,CAACkN,KAAhC,GAAuC,KAAKwrC,IAAL,CAAU,uBAAV,EAAkC;AAACmsD,MAAAA,MAAM,EAAC7kG;AAAR,KAAlC,CAAxD;AAAuG;;AAAA48H,EAAAA,cAAc,CAACp9H,CAAD,EAAG;AAAC,UAAME,CAAC,GAACF,CAAC,CAAC+kI,aAAV;AAAwB,QAAG7kI,CAAC,CAACg6G,QAAL,EAAc;AAAO,UAAMx5G,CAAC,GAACR,CAAC,CAACklI,OAAF,CAAUC,SAAlB;AAAA,UAA4B;AAACb,MAAAA,UAAU,EAAChkI;AAAZ,QAAe,KAAK0vF,SAAhD;AAAA,UAA0D9vF,CAAC,GAACI,CAAC,CAACsuH,SAAF,CAAa9uH,CAAC,IAAEA,CAAC,CAACw1C,GAAF,KAAQ90C,CAAxB,CAA5D;AAAA,UAAwFC,CAAC,GAACH,CAAC,CAACgpB,EAAF,CAAKppB,CAAL,CAA1F;AAAkGO,IAAAA,CAAC,IAAE,aAAWA,CAAC,CAAC4C,IAAhB,KAAuB5C,CAAC,CAAC+M,KAAF,GAAQ,CAAC/M,CAAC,CAAC+M,KAAlC,GAAyC,KAAKwiF,SAAL,CAAeswC,aAAf,CAA6BpgI,CAA7B,CAAzC;AAAyE;;AAAAklI,EAAAA,cAAc,CAACtlI,CAAD,EAAG;AAACA,IAAAA,CAAC,KAAG,KAAKk8H,QAAL,GAAc,IAAIh7H,oDAAJ,CAAM;AAACslF,MAAAA,IAAI,EAACxmF;AAAN,KAAN,CAAd,EAA8BA,CAAC,CAAC8vF,EAAF,CAAKjuD,GAAL,CAAS,KAAKq6F,QAAd,EAAuB;AAACtwH,MAAAA,GAAG,EAACiB,CAAL;AAAOkjF,MAAAA,QAAQ,EAAC,QAAhB;AAAyBC,MAAAA,QAAQ,EAAC,CAAC;AAAnC,KAAvB,CAAjC,CAAD;AAAiG;;AAAAu1C,EAAAA,WAAW,CAACvlI,CAAD,EAAG;AAAC,SAAKu/H,eAAL,IAAuBv/H,CAAC,IAAE,KAAKymH,eAAL,EAAsB4X,OAAzB,IAAkC,KAAKiH,cAAL,CAAoBtlI,CAApB,CAAzD;AAAgF;;AAAA0+H,EAAAA,YAAY,GAAE;AAAC,UAAK;AAACxC,MAAAA,QAAQ,EAACl8H;AAAV,QAAa,IAAlB;AAAuBA,IAAAA,CAAC,KAAGA,CAAC,CAAC2iC,QAAF,GAAW,IAAX,EAAgB3iC,CAAC,CAACwlI,IAAF,EAAnB,CAAD;AAA8B;;AAAAhH,EAAAA,gBAAgB,CAACx+H,CAAD,EAAGE,CAAH,EAAK;AAACF,IAAAA,CAAC,GAAC,KAAKulI,WAAL,CAAiB,KAAKr1C,SAAL,EAAgB1J,IAAjC,CAAD,GAAwCtmF,CAAC,IAAE,KAAKgwF,SAAL,CAAet2E,KAAf,EAA5C;AAAmE;;AAAA2kH,EAAAA,WAAW,CAACv+H,CAAD,EAAGE,CAAH,EAAK;AAACF,IAAAA,CAAC,IAAEE,CAAH,IAAM,KAAKgwF,SAAL,CAAet2E,KAAf,EAAN;AAA6B;;AAAA0lH,EAAAA,6BAA6B,GAAE;AAAC,UAAK;AAACnD,MAAAA,QAAQ,EAACn8H;AAAV,QAAa,IAAlB;AAAuBA,IAAAA,CAAC,KAAGA,CAAC,CAACkwF,SAAF,GAAY,IAAZ,EAAiB,CAAClwF,CAAC,CAACq4C,SAAH,IAAcr4C,CAAC,CAACoE,OAAF,EAAlC,CAAD,EAAgD,KAAK+3H,QAAL,GAAc,IAA9D;AAAmE;;AAAAyC,EAAAA,oBAAoB,GAAE;AAAC,UAAK;AAACnC,MAAAA,kBAAkB,EAACz8H;AAApB,QAAuB,IAA5B;AAAiCA,IAAAA,CAAC,KAAGA,CAAC,CAACylI,QAAF,GAAW,CAAC,CAAf,CAAD;AAAmB;;AAAA3G,EAAAA,8BAA8B,GAAE;AAAC,SAAKzC,iBAAL,CAAuBr6G,KAAvB,CAA8BhiB,CAAC,IAAE;AAAC,0BAAmBA,CAAC,CAACkwF,SAArB,KAAiClwF,CAAC,CAACkwF,SAAF,CAAYw2B,cAAZ,GAA2B,CAAC,CAA7D,GAAgE1mH,CAAC,CAACkwF,SAAF,GAAY,IAA5E,EAAiFlwF,CAAC,CAACoE,OAAF,EAAjF;AAA6F,KAA/H;AAAkI;;AAAA65H,EAAAA,4BAA4B,GAAE;AAAC,UAAK;AAAC/tC,MAAAA,SAAS,EAAClwF;AAAX,QAAc,IAAnB;AAAwBA,IAAAA,CAAC,KAAGA,CAAC,CAAC0lI,qBAAF,GAAwB1lI,CAAC,CAAC8gG,MAA7B,CAAD;AAAsC;;AAAAi9B,EAAAA,eAAe,GAAE;AAAC,UAAK;AAAC7B,MAAAA,QAAQ,EAACl8H;AAAV,QAAa,IAAlB;AAAuB,QAAG,CAACA,CAAJ,EAAM;AAAO,UAAK;AAAC2iC,MAAAA,QAAQ,EAACziC,CAAV;AAAYu+H,MAAAA,gBAAgB,EAAC/9H;AAA7B,QAAgC,KAAKwvF,SAA1C;AAAoDxvF,IAAAA,CAAC,IAAER,CAAH,GAAKF,CAAC,CAAC2lI,IAAF,CAAO;AAAChjG,MAAAA,QAAQ,EAACziC;AAAV,KAAP,CAAL,GAA0BF,CAAC,CAACwlI,IAAF,EAA1B;AAAmC;;AAAAjG,EAAAA,eAAe,GAAE;AAAC,UAAK;AAACrD,MAAAA,QAAQ,EAACl8H,CAAV;AAAYwmF,MAAAA,IAAI,EAACtmF;AAAjB,QAAoB,IAAzB;AAA8BF,IAAAA,CAAC,KAAGE,CAAC,EAAE4vF,EAAH,EAAOxsF,MAAP,CAActD,CAAd,EAAgB6M,CAAhB,GAAmB7M,CAAC,CAACoE,OAAF,EAAnB,EAA+B,KAAK83H,QAAL,GAAc,IAAhD,CAAD;AAAuD;;AAAAoC,EAAAA,qBAAqB,CAACt+H,CAAD,EAAG;AAAC,SAAKu/H,eAAL,IAAuBv/H,CAAC,IAAE,KAAKslI,cAAL,CAAoB,KAAKp1C,SAAL,EAAgB1J,IAApC,CAA1B;AAAoE;;AAA5njB,CAAzB;AAAupjBxmF,uDAAC,CAAC,CAACM,sFAAC,EAAF,CAAD,EAAOoL,CAAC,CAACvD,SAAT,EAAmB,mBAAnB,EAAuC,KAAK,CAA5C,CAAD,EAAgDnI,uDAAC,CAAC,CAACM,sFAAC,EAAF,CAAD,EAAOoL,CAAC,CAACvD,SAAT,EAAmB,iBAAnB,EAAqC,IAArC,CAAjD,EAA4FnI,uDAAC,CAAC,CAACM,sFAAC,EAAF,CAAD,EAAOoL,CAAC,CAACvD,SAAT,EAAmB,2BAAnB,EAA+C,IAA/C,CAA7F,EAAkJnI,uDAAC,CAAC,CAACM,sFAAC,EAAF,CAAD,EAAOoL,CAAC,CAACvD,SAAT,EAAmB,cAAnB,EAAkC,IAAlC,CAAnJ,EAA2LnI,uDAAC,CAAC,CAACM,sFAAC,EAAF,CAAD,EAAOoL,CAAC,CAACvD,SAAT,EAAmB,kBAAnB,EAAsC,IAAtC,CAA5L,EAAwOnI,uDAAC,CAAC,CAACM,sFAAC,CAAC;AAAC+H,EAAAA,QAAQ,EAAC,CAAC;AAAX,CAAD,CAAF,CAAD,EAAoBqD,CAAC,CAACvD,SAAtB,EAAgC,QAAhC,EAAyC,IAAzC,CAAzO,EAAwRnI,uDAAC,CAAC,CAACM,sFAAC,EAAF,CAAD,EAAOoL,CAAC,CAACvD,SAAT,EAAmB,WAAnB,EAA+B,KAAK,CAApC,CAAzR,EAAgUnI,uDAAC,CAAC,CAACM,sFAAC,EAAF,CAAD,EAAOoL,CAAC,CAACvD,SAAT,EAAmB,SAAnB,EAA6B,IAA7B,CAAjU,EAAoWnI,uDAAC,CAAC,CAACM,sFAAC,EAAF,CAAD,EAAOoL,CAAC,CAACvD,SAAT,EAAmB,MAAnB,EAA0B,IAA1B,CAArW,EAAqYnI,uDAAC,CAAC,CAACM,sFAAC,EAAF,CAAD,EAAOoL,CAAC,CAACvD,SAAT,EAAmB,iBAAnB,EAAqC,IAArC,CAAtY,EAAibnI,uDAAC,CAAC,CAACM,sFAAC,EAAF,CAAD,EAAOoL,CAAC,CAACvD,SAAT,EAAmB,sBAAnB,EAA0C,KAAK,CAA/C,CAAlb,EAAoenI,uDAAC,CAAC,CAACM,sFAAC,EAAF,CAAD,EAAOoL,CAAC,CAACvD,SAAT,EAAmB,UAAnB,EAA8B,IAA9B,CAAre,EAAygBnI,uDAAC,CAAC,CAACM,sFAAC,EAAF,CAAD,EAAOoL,CAAC,CAACvD,SAAT,EAAmB,cAAnB,EAAkC,IAAlC,CAA1gB,EAAkjBnI,uDAAC,CAAC,CAACM,sFAAC,CAAC;AAACiD,EAAAA,IAAI,EAAC1B,iEAACA;AAAP,CAAD,CAAF,CAAD,EAAe6J,CAAC,CAACvD,SAAjB,EAA2B,eAA3B,EAA2C,KAAK,CAAhD,CAAnjB,EAAsmBnI,uDAAC,CAAC,CAACM,sFAAC,EAAF,CAAD,EAAOoL,CAAC,CAACvD,SAAT,EAAmB,cAAnB,EAAkC,KAAK,CAAvC,CAAvmB,EAAipBnI,uDAAC,CAAC,CAACM,sFAAC,EAAF,CAAD,EAAOoL,CAAC,CAACvD,SAAT,EAAmB,UAAnB,EAA8B,IAA9B,CAAlpB,EAAsrBnI,uDAAC,CAAC,CAACM,sFAAC,EAAF,CAAD,EAAOoL,CAAC,CAACvD,SAAT,EAAmB,OAAnB,EAA2B,IAA3B,CAAvrB,EAAwtBnI,uDAAC,CAAC,CAACM,sFAAC,EAAF,CAAD,EAAOoL,CAAC,CAACvD,SAAT,EAAmB,KAAnB,EAAyB,IAAzB,CAAztB,EAAwvBnI,uDAAC,CAAC,CAACM,sFAAC,EAAF,EAAK8K,oFAAC,CAAC,oCAAD,CAAN,CAAD,EAA+CM,CAAC,CAACvD,SAAjD,EAA2D,UAA3D,EAAsE,KAAK,CAA3E,CAAzvB,EAAu0BnI,uDAAC,CAAC,CAACM,sFAAC,EAAF,EAAK8K,oFAAC,CAAC,iBAAD,CAAN,CAAD,EAA4BM,CAAC,CAACvD,SAA9B,EAAwC,gBAAxC,EAAyD,KAAK,CAA9D,CAAx0B,EAAy4BnI,uDAAC,CAAC,CAACM,sFAAC,EAAF,CAAD,EAAOoL,CAAC,CAACvD,SAAT,EAAmB,UAAnB,EAA8B,IAA9B,CAA14B,EAA86BnI,uDAAC,CAAC,CAACM,sFAAC,EAAF,CAAD,EAAOoL,CAAC,CAACvD,SAAT,EAAmB,0BAAnB,EAA8C,KAAK,CAAnD,CAA/6B,EAAq+BnI,uDAAC,CAAC,CAACM,sFAAC,CAAC;AAAC+H,EAAAA,QAAQ,EAAC,CAAC;AAAX,CAAD,CAAF,CAAD,EAAoBqD,CAAC,CAACvD,SAAtB,EAAgC,iBAAhC,EAAkD,IAAlD,CAAt+B,EAA8hCnI,uDAAC,CAAC,CAACM,sFAAC,CAAC;AAAC+H,EAAAA,QAAQ,EAAC,CAAC;AAAX,CAAD,CAAF,CAAD,EAAoBqD,CAAC,CAACvD,SAAtB,EAAgC,wBAAhC,EAAyD,IAAzD,CAA/hC,EAA8lCnI,uDAAC,CAAC,CAACM,sFAAC,EAAF,CAAD,EAAOoL,CAAC,CAACvD,SAAT,EAAmB,sBAAnB,EAA0C,IAA1C,CAA/lC,EAA+oCnI,uDAAC,CAAC,CAACM,sFAAC,CAAC;AAAC+H,EAAAA,QAAQ,EAAC,CAAC;AAAX,CAAD,CAAF,CAAD,EAAoBqD,CAAC,CAACvD,SAAtB,EAAgC,uBAAhC,EAAwD,IAAxD,CAAhpC,EAA8sCnI,uDAAC,CAAC,CAACM,sFAAC,EAAF,CAAD,EAAOoL,CAAC,CAACvD,SAAT,EAAmB,kBAAnB,EAAsC,IAAtC,CAA/sC,EAA2vCnI,uDAAC,CAAC,CAACM,sFAAC,EAAF,CAAD,EAAOoL,CAAC,CAACvD,SAAT,EAAmB,OAAnB,EAA2B,IAA3B,CAA5vC,EAA6xCnI,uDAAC,CAAC,CAACM,sFAAC,EAAF,CAAD,EAAOoL,CAAC,CAACvD,SAAT,EAAmB,UAAnB,EAA8B,IAA9B,CAA9xC,EAAk0CnI,uDAAC,CAAC,CAACM,sFAAC,EAAF,CAAD,EAAOoL,CAAC,CAACvD,SAAT,EAAmB,uBAAnB,EAA2C,IAA3C,CAAn0C,EAAo3CnI,uDAAC,CAAC,CAACM,sFAAC,EAAF,CAAD,EAAOoL,CAAC,CAACvD,SAAT,EAAmB,MAAnB,EAA0B,IAA1B,CAAr3C,EAAq5CnI,uDAAC,CAAC,CAACM,sFAAC,CAAC;AAACiD,EAAAA,IAAI,EAACyD,uEAACA;AAAP,CAAD,CAAF,EAAa1E,wEAAC,CAAC,CAAC,eAAD,EAAiB,gBAAjB,CAAD,CAAd,CAAD,EAAqDoJ,CAAC,CAACvD,SAAvD,EAAiE,WAAjE,EAA6E,KAAK,CAAlF,CAAt5C,EAA2+CnI,uDAAC,CAAC,CAACM,sFAAC,CAAC;AAACiD,EAAAA,IAAI,EAACgF,6EAAN;AAAQyB,EAAAA,WAAW,EAAC,CAAC;AAArB,CAAD,CAAF,CAAD,EAA8B0B,CAAC,CAACvD,SAAhC,EAA0C,iBAA1C,EAA4D,KAAK,CAAjE,CAA5+C,EAAgjDnI,uDAAC,CAAC,CAACM,sFAAC,EAAF,CAAD,EAAOoL,CAAC,CAACvD,SAAT,EAAmB,SAAnB,EAA6B,IAA7B,CAAjjD,EAAolDuD,CAAC,GAAC1L,uDAAC,CAAC,CAAC0B,uFAAC,CAAC,uBAAD,CAAF,CAAD,EAA8BgK,CAA9B,CAAvlD;AAAwnD,MAAMH,CAAC,GAACG,CAAR;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACJlkqB;AACA;AACA;AACA;AACysB,QAAQ,kEAAO,GAAG,oBAAoB,kDAAC,CAAC,iBAAiB,0FAA0F,0BAA0B,UAAU,EAAE,+BAA+B,6BAA6B,gBAAgB,GAAG,mBAAmB,OAAO,mFAAC,EAAE,WAAW,0vBAAoE,kBAAkB,irCAAwE,oBAAoB,qrCAA0E,iBAAiB,wqCAAuE,CAAC,EAAE,SAAS,MAAM,YAAY,qBAAqB,OAAO,4DAAC,CAAC,gEAAC,4CAA4C,oBAAoB,mBAAmB,mBAAmB,kBAAkB,0BAA0B,8BAA8B,uGAAuG,mBAAmB,mBAAmB,iDAAiD,mEAAmE,iIAAiI,mBAAmB,MAAM,+BAA+B,mHAAmH,OAAO,4DAAC,sBAAsB,sHAAsH,gBAAgB,4BAA4B,kDAAkD,+CAA+C,CAAC,4DAAC,mBAAmB,yCAAyC,mDAAY,2GAA2G,IAAI,4DAAC,mBAAmB,mKAAmK,SAAS,4DAAC,uBAAuB,kFAAkF,CAAC,4DAAC,yBAAyB,qCAAqC,sCAAsC,4DAAC,QAAQ,MAAM,kDAAW,CAAC,cAAc,yBAAyB,gCAAgC,OAAO,4DAAC,mBAAmB,qJAAqJ,MAAM,oGAAoG,EAAE,mBAAmB,MAAM,WAAW,OAAO,KAAK,iBAAiB,4BAA4B,gEAAC,IAAI,WAAW,IAAI,kCAAkC,mBAAmB,sHAAsH,4DAA4D,2EAA2E,uDAAC,EAAE,sFAAC,oCAAoC,uDAAC,EAAE,sFAAC,GAAG,oFAAC,uEAAuE,uDAAC,EAAE,sFAAC,iCAAiC,uDAAC,EAAE,sFAAC,qCAAqC,uDAAC,EAAE,sFAAC,8CAA8C,UAA+B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACJxgI;AACA;AACA;AACA;AACA;AAA8C;AAA0B;AAAgC;AAAyB;AAAkD;AAAmC;AAAoC;AAAwE;AAAyC;AAAwE;AAA6E;AAA0B;AAA6E;AAAiF;AAA+E;AAAqF;AAAqC;AAA2E;AAA0E;AAAqD;AAA4E;AAA8C;AAAqI;AAAoM;AAAoD;AAA+C;AAAiD;;AAAuC,MAAMwb,CAAC,GAAC,uBAAR;AAAA,MAAgCxb,CAAC,GAAC,MAAI,CAACiB,mEAAA,EAAD,CAAtC;AAAA,MAAkDtG,CAAC,GAAC,MAAI,CAACgF,6EAAA,EAAD,EAAW/I,6EAAA,EAAX,CAAxD;;AAA8E,IAAI8lB,CAAC,GAAC,IAAN;;AAAW,SAASxV,CAAT,CAAW5S,CAAX,EAAaE,CAAb,EAAe;AAAC,SAAM,qBAAmBF,CAAnB,IAAsB,SAAOE,CAAP,KAAW,gBAAcF,CAAd,IAAiB,WAASA,CAA1B,IAA6B,cAAYA,CAAzC,IAA4C,mBAAiBA,CAAxE,CAA5B;AAAuG;;AAAA,IAAIqnB,CAAC,GAAC,cAAc7b,4DAAC,CAACF,2EAAD,CAAf,CAAmB;AAAC7I,EAAAA,WAAW,CAACzC,CAAD,EAAG;AAAA;;AAAC,WAAMA,CAAN,kBAAS,KAAKumI,gBAAL,GAAsB,IAAI5lI,4DAAJ,EAA/B,EAAqC,KAAK6lI,wBAAL,GAA8B,IAAnE,EAAwE,KAAKC,gCAAL,GAAsC,IAA9G,EAAmH,KAAKC,8BAAL,GAAoC,IAAvJ,EAA4J,KAAKC,uBAAL,GAA6B,IAAzL,EAA8L,KAAK55H,OAAL,GAAa,IAAIhE,iEAAJ,EAA3M,EAAiN,KAAKi8H,aAAL,GAAmB,IAApO,EAAyO,KAAK4B,gBAAL,GAAsB,CAAC,CAAhQ,EAAkQ,KAAKC,oBAAL,GAA0B,CAAC,CAA7R,EAA+R,KAAK75H,OAAL,GAAa,IAA5S,EAAiT,KAAKqkF,2BAAL,GAAiC,CAAC,CAAnV,EAAqV,KAAKw1B,WAAL,GAAiB,IAAtW,EAA2W,KAAKD,eAAL,GAAqB,EAAhY,EAAmY,KAAK4W,eAAL,GAAqB,CAAC,CAAzZ,EAA2Z,KAAKsJ,yBAAL,GAA+B,IAA1b,EAA+b,KAAK7H,iBAAL,GAAuB,EAAtd,EAAyd,KAAK8H,gBAAL,GAAsB,CAAC,CAAhf,EAAkf,KAAKC,qBAAL,GAA2B,CAAC,CAA9gB,EAAghB,KAAKC,8BAAL,GAAoC,IAAI/mI,mDAAJ,CAAM;AAACosC,MAAAA,MAAM,EAAC,IAAI/gC,qEAAJ,CAAM;AAACs4D,QAAAA,OAAO,EAAC;AAAC5qD,UAAAA,KAAK,EAAC,GAAP;AAAW7D,UAAAA,KAAK,EAAC;AAAjB,SAAT;AAAkCvS,QAAAA,KAAK,EAAC;AAAxC,OAAN;AAAR,KAAN,CAApjB,EAA2nB,KAAKE,KAAL,GAAW,IAAtoB,EAA2oB,KAAKs9H,qBAAL,GAA2B,CAAC,CAAvqB,EAAyqB,KAAK75C,IAAL,GAAU,IAAnrB,EAAwrB,KAAKh4E,OAAL,GAAa,CAAC,CAAtsB,EAAwsB,KAAK04H,UAAL,GAAgB,CAAxtB,EAA0tB,KAAKvL,cAAL,GAAoB,IAA9uB,EAAmvB,KAAKwL,wBAAL,GAA8B3mI,+DAAC;AAAA,mNAAE,WAAMR,CAAN,EAAS;AAAC,cAAK;AAAC4C,UAAAA,gBAAgB,EAAC1C;AAAlB,YAAqB,KAA1B;AAAA,cAA+BQ,CAAC,GAAC,KAAI,CAACw/H,eAAL,EAAsB/oG,QAAtB,EAAgC5zB,IAAjE;AAAA,cAAsEnD,CAAC,GAAC,KAAI,CAACuiC,QAAL,IAAe3iC,CAAvF;AAAyF,YAAGU,CAAC,IAAE,WAASA,CAAZ,IAAeR,CAAf,IAAkBE,CAAlB,IAAqB,KAAI,CAAC8/H,eAA7B,EAA6C,IAAG,YAAUx/H,CAAb,EAAe,IAAG;AAAC,gBAAMV,CAAC,GAAC,KAAI,CAACkgI,eAAb;AAA6B,cAAIx/H,CAAC,GAACV,CAAC,CAACm3B,QAAR;;AAAiB,gBAAMl3B,CAAC,GAAC,KAAI,CAACmnI,kBAAL,CAAwBpnI,CAAxB,CAAR;AAAA,gBAAmCQ,CAAC,GAACR,CAAC,CAACmoF,WAAF,EAArC;;AAAqD,cAAG,CAACloF,CAAD,IAAI,CAAC,KAAI,CAACumF,IAAb,EAAkB;;AAAO,cAAGhmF,CAAH,EAAK;AAAC,kBAAMR,CAAC,GAAC,KAAI,CAACwmF,IAAL,EAAWtuE,aAAX,CAAyBxI,IAAzB,CAA+B1P,CAAC,IAAEA,CAAC,CAACwJ,KAAF,CAAQgsC,GAAR,KAAcv1C,CAAC,CAACu1C,GAAlD,CAAR;AAAgE,gBAAG,CAACx1C,CAAD,IAAI,EAAE,mBAAkBA,CAApB,CAAP,EAA8B;AAAO,kBAAMI,CAAC,GAACJ,CAAC,CAACymC,WAAF,EAAR;AAAwBrmC,YAAAA,CAAC,CAAC4wD,mBAAF,GAAsB9wD,CAAtB,EAAwBE,CAAC,CAACk6C,SAAF,GAAY,CAAC95C,CAAD,CAApC,EAAwCJ,CAAC,CAACmN,cAAF,GAAiB,CAAC,CAA1D;AAA4D,kBAAK;AAACghC,cAAAA,QAAQ,EAACjuC;AAAV,sBAAmBN,CAAC,CAAC+vC,aAAF,CAAgB3vC,CAAhB,CAAxB;AAA2CM,YAAAA,CAAC,GAACJ,CAAC,CAAC,CAAD,CAAD,EAAM62B,QAAR;AAAiB;;AAAA,cAAG,CAACz2B,CAAD,IAAI,WAASA,CAAC,CAAC6C,IAAlB,EAAuB;;AAAO,cAAG7C,CAAC,GAACuB,iEAAC,CAACvB,CAAD,EAAGR,CAAH,CAAH,EAASkoB,CAAC,KAAGA,CAAC,SAAO,wMAAX,CAAV,EAAsE,QAAOA,CAAC,CAACyU,UAAF,CAAan8B,CAAb,EAAeN,CAAf,CAAP,CAAzE,EAAkG;AAAC,kBAAMF,CAAC,GAAC,OAAOkoB,CAAC,CAACi/G,iBAAF,CAAoB3mI,CAApB,EAAsBN,CAAtB,CAAP,EAAiCknI,UAAjC,IAA6ClnI,CAArD;AAAuD,iBAAI,CAAC8/H,eAAL,KAAuBlgI,CAAvB,KAA2B,KAAI,CAAC2iC,QAAL,GAAcziC,CAAzC;AAA4C;AAAC,SAAhmB,CAAgmB,OAAMM,CAAN,EAAQ;AAACF,UAAAA,mEAAC,CAACE,CAAD,CAAD,IAAMP,iEAAA,CAAY,KAAZ,EAAkBwD,KAAlB,CAAwBjD,CAAxB,CAAN;AAAiC,SAAzpB,MAA8pB,KAAI,CAACmiC,QAAL,GAAczhC,yFAAC,CAAC,KAAI,CAACg/H,eAAL,CAAqB/oG,QAAtB,CAAD,IAAkC/2B,CAAhD;AAAkD,OAAl2B;;AAAA;AAAA;AAAA;AAAA,QAAlxB;AAAunD;;AAAAyD,EAAAA,UAAU,GAAE;AAAC,SAAKH,UAAL,CAAgB,CAAC,KAAKC,EAAL,CAAQ,aAAR,EAAuB,MAAI,KAAK4jI,UAAL,EAA3B,CAAD,EAAgD1mI,8DAAC,CAAE,MAAI,CAAC,KAAKkmI,gBAAN,EAAuB,KAAK7G,eAA5B,EAA4C,KAAK1xH,OAAjD,EAAyD,KAAKg4E,IAA9D,CAAN,EAA4E,MAAI,KAAKghD,yBAAL,EAAhF,CAAjD,EAAoK3mI,8DAAC,CAAE,MAAI,CAAC,KAAKkmI,gBAAN,EAAuB,KAAK/B,aAA5B,EAA0C,KAAKx2H,OAA/C,EAAuD,KAAKg4E,IAA5D,CAAN,EAA0E,MAAI,KAAKihD,uBAAL,EAA9E,CAArK,EAAoR5mI,8DAAC,CAAE,MAAI,KAAK2lF,IAAL,EAAWC,SAAX,EAAsBkV,KAA5B,EAAoC37F,CAAC,IAAE,KAAK0nI,qBAAL,CAA2B1nI,CAA3B,CAAvC,CAArR,EAA4Va,8DAAC,CAAE,MAAI,KAAK8hC,QAAX,EAAsB3iC,CAAC,IAAE,KAAK2nI,eAAL,CAAqB3nI,CAArB,CAAzB,CAA7V,EAAgZa,8DAAC,CAAE,MAAI,KAAKq/H,eAAX,EAA6BlgI,CAAC,IAAE,KAAK4nI,sBAAL,CAA4B5nI,CAA5B,CAAhC,CAAjZ,EAAkda,8DAAC,CAAE,MAAI,CAAC,KAAK88H,oBAAN,EAA2B,KAAKrW,YAAhC,EAA6C,KAAKV,eAAlD,CAAN,EAA2E,MAAI,KAAKihB,2BAAL,EAA/E,CAAnd,EAAukBhnI,8DAAC,CAAE,MAAI,CAAC,KAAKgmH,WAAN,EAAkB,KAAK8W,oBAAvB,EAA4C,KAAKrW,YAAjD,EAA8D,KAAKV,eAAnE,EAAmF,KAAKqY,iBAAxF,CAAN,EAAmH,MAAI,KAAK6I,8BAAL,EAAvH,CAAxkB,EAAuuBjnI,8DAAC,CAAE,MAAI,KAAKo+H,iBAAX,EAA+B,MAAI,KAAK8I,wBAAL,EAAnC,CAAxuB,EAA6yB,KAAKpkI,EAAL,CAAQ,gBAAR,EAA0B3D,CAAC,IAAEgH,qEAAC,CAAC;AAACm8F,MAAAA,KAAK,EAACnjG,CAAP;AAASkwF,MAAAA,SAAS,EAAC,IAAnB;AAAwB1J,MAAAA,IAAI,EAAC,KAAKA;AAAlC,KAAD,CAA9B,CAA7yB,EAAu3BhlF,6DAAC,CAAE,MAAI,CAAC,KAAKi9H,gBAAZ,EAA+B,MAAI,KAAKuJ,uBAAL,EAAnC,EAAmE1mI,yDAAnE,CAAx3B,EAA87BT,8DAAC,CAAE,MAAI,CAAC,KAAK0tC,QAAN,EAAe,KAAKhpC,GAApB,EAAwB,KAAK3C,gBAA7B,EAA8C,KAAKsS,QAAnD,CAAN,EAAqE,MAAI,KAAK+yH,iBAAL,EAAzE,CAA/7B,EAAmiCpnI,8DAAC,CAAE,MAAI,KAAK2lF,IAAL,EAAWjuE,KAAjB,EAAyB,MAAI,KAAK2vH,gBAAL,EAA7B,CAApiC,EAA2lC1mI,6DAAC,CAAE,MAAI,CAAC,KAAKgN,OAAZ,EAAsB,MAAI,KAAKq4H,oBAAL,GAA0B,CAAC,CAArD,CAA5lC,EAAqpChmI,8DAAC,CAAE,MAAI,KAAKgmI,oBAAX,EAAkC7mI,CAAC,IAAEA,CAAC,GAAC,KAAKmoI,qBAAL,EAAD,GAA8B,KAAKC,sBAAL,EAApE,CAAtpC,CAAhB;AAA4wC;;AAAAhkI,EAAAA,OAAO,GAAE;AAAC,SAAKikI,uBAAL,IAA+B,KAAK9B,gBAAL,CAAsB3sH,KAAtB,EAA/B,EAA6D,KAAKitH,oBAAL,GAA0B,CAAC,CAAxF,EAA0F,KAAKrgD,IAAL,GAAU,IAApG,EAAyG,KAAKjhF,GAAL,GAAS,IAAlH,EAAuH,KAAK3C,gBAAL,GAAsB,IAA7I,EAAkJ,KAAKsS,QAAL,GAAc,IAAhK;AAAqK;;AAAU,MAAN4rF,MAAM,GAAE;AAAC,WAAM,EAAE,CAAC,KAAKtyF,OAAN,IAAe,KAAKiwH,gBAAtB,CAAN;AAA8C;;AAAc,MAAV+F,UAAU,GAAE;AAAC,UAAMxkI,CAAC,GAAC,KAAKwE,IAAL,CAAU,YAAV,KAAyB,IAAIuE,iEAAJ,EAAjC;AAAuC/I,IAAAA,CAAC,CAACoJ,SAAF;AAAc,UAAK;AAAC2D,MAAAA,OAAO,EAAC7M,CAAT;AAAWooI,MAAAA,cAAc,EAAC5nI,CAA1B;AAA4B2wF,MAAAA,2BAA2B,EAACjxF,CAAxD;AAA0D4mI,MAAAA,qBAAqB,EAAC/mI,CAAhF;AAAkFigI,MAAAA,eAAe,EAAC1/H;AAAlG,QAAqG,IAA1G;AAAA,UAA+GF,CAAC,GAACL,CAAC,GAACS,CAAC,CAACyW,MAAF,CAASjX,CAAT,CAAD,GAAaA,CAA/H;AAAA,UAAiIS,CAAC,GAACH,CAAC,KAAG,cAAY,OAAOA,CAAC,CAAC4wF,yBAArB,IAAgD5wF,CAAC,CAAC4wF,yBAAF,CAA4BhxF,CAA5B,CAAhD,IAAgFI,CAAC,CAAC6qC,aAArF,CAApI;AAAA,UAAwOxqC,CAAC,GAACF,CAAC,EAAEoM,OAA7O;AAAA,UAAqPvL,CAAC,GAACb,CAAC,EAAE2M,gBAAH,GAAoBzM,CAApB,GAAsBA,CAAC,EAAEsW,MAAH,CAAU7W,CAAV,KAAcA,CAA3R;AAA6R,WAAOkB,CAAC,EAAEmF,MAAH,CAAU4H,OAAV,EAAmB5J,OAAnB,CAA4BzE,CAAC,IAAEF,CAAC,CAAC6hC,GAAF,CAAM3hC,CAAN,CAA/B,GAA0CF,CAAjD;AAAmD;;AAAkB,MAAdsoI,cAAc,GAAE;AAAC,UAAMtoI,CAAC,GAAC,KAAKwE,IAAL,CAAU,gBAAV,KAA6B,IAAIuE,iEAAJ,EAArC;AAA2C,WAAO/I,CAAC,CAACoJ,SAAF,IAAcpJ,CAAC,CAAC+hB,OAAF,CAAU5W,wEAAC,CAAC,KAAK+0H,eAAN,CAAD,GAAwB75H,CAAC,EAAzB,GAA4BqF,CAAC,EAAvC,CAAd,EAAyD1L,CAAhE;AAAkE;;AAAgB,MAAZsnH,YAAY,GAAE;AAAC,WAAO,KAAK/4E,QAAL,CAAc1gC,MAArB;AAA4B;;AAAY,MAAR0gC,QAAQ,CAACvuC,CAAD,EAAG;AAAC,UAAME,CAAC,GAACF,CAAC,IAAE,EAAX;;AAAc,SAAKuE,IAAL,CAAU,UAAV,EAAqBrE,CAArB;;AAAwB,UAAK;AAACkhI,MAAAA,oBAAoB,EAAC1gI,CAAtB;AAAwB6nI,MAAAA,YAAY,EAACnoI,CAArC;AAAuCu9H,MAAAA,oBAAoB,EAAC19H;AAA5D,QAA+D,IAApE;AAAA,UAAyEO,CAAC,GAACJ,CAAC,IAAEF,CAAC,CAAC2N,MAAhF;AAAuFrN,IAAAA,CAAC,IAAEE,CAAH,IAAM,CAAC,CAAD,KAAKT,CAAX,GAAa,KAAK09H,oBAAL,GAA0B,CAAvC,GAAyCn9H,CAAC,IAAE,CAAC,CAAD,KAAKP,CAAR,KAAY,KAAK09H,oBAAL,GAA0Bz9H,CAAC,CAAC2N,MAAF,GAAS,CAAT,GAAW,CAAC,CAAlD,CAAzC;AAA8F;;AAAY,MAAR80B,QAAQ,CAAC3iC,CAAD,EAAG;AAAC,QAAIE,CAAC,GAACF,CAAN;AAAQ,UAAMU,CAAC,GAAC,KAAKkC,gBAAL,EAAuB6zB,aAA/B;AAAA,UAA6Cr2B,CAAC,GAACJ,CAAC,EAAE4C,gBAAH,EAAqB4zB,OAApE;AAA4Ep2B,IAAAA,CAAC,IAAEM,CAAH,KAAOR,CAAC,GAAC0B,+FAAC,CAAC5B,CAAD,CAAV,GAAe,KAAKuE,IAAL,CAAU,UAAV,EAAqBrE,CAArB,CAAf;AAAuC;;AAAO,MAAHqF,GAAG,GAAE;AAAC,WAAO,KAAKihF,IAAL,EAAWjhF,GAAX,IAAgB,IAAvB;AAA4B;;AAAO,MAAHA,GAAG,CAACvF,CAAD,EAAG;AAAC,SAAK4V,SAAL,CAAe,KAAf,EAAqB5V,CAArB;AAAwB;;AAAwB,MAApBohI,oBAAoB,GAAE;AAAC,WAAO,KAAKmF,gBAAL,CAAsB/wG,IAA7B;AAAkC;;AAAgB,MAAZ+yG,YAAY,GAAE;AAAC,WAAO,KAAKtI,QAAL,CAAcpyH,MAArB;AAA4B;;AAAY,MAARoyH,QAAQ,GAAE;AAAC,WAAO,KAAKz7H,IAAL,CAAU,UAAV,KAAuB,EAA9B;AAAiC;;AAAY,MAARy7H,QAAQ,CAACjgI,CAAD,EAAG;AAAC,SAAKumI,gBAAL,CAAsB3sH,KAAtB,IAA8B,KAAK20B,QAAL,GAAc,EAA5C,EAA+ChoC,KAAK,CAACC,OAAN,CAAcxG,CAAd,KAAkBA,CAAC,CAAC6N,MAApB,IAA4B,KAAKtJ,IAAL,CAAU,UAAV,EAAqBvE,CAArB,GAAwB,CAACA,CAAC,GAACA,CAAC,CAAC8J,KAAF,EAAH,EAAcnF,OAAd,CAAuB3E,CAAC,IAAE,KAAKumI,gBAAL,CAAsB1kG,GAAtB,CAA0B7hC,CAA1B,CAA1B,CAAxB,EAAiFA,CAAC,CAAC8Q,MAAF,CAAU,CAAC9Q,CAAD,EAAGE,CAAH,KAAOF,CAAC,CAACorE,OAAF,CAAW,MAAIlrE,CAAC,CAAC8F,IAAF,CAAQhG,CAAC,IAAE;AAAC,WAAKumI,gBAAL,CAAsBl3H,GAAtB,CAA0BnP,CAA1B,KAA8B,KAAKsoI,eAAL,CAAqBxoI,CAArB,CAA9B;AAAsD,KAAlE,EAAqEorE,OAArE,CAA8E,MAAI,KAAKm7D,gBAAL,CAAsB31G,MAAtB,CAA6B1wB,CAA7B,CAAlF,EAAoH6D,KAApH,CAA2H,MAAI,CAAE,CAAjI,CAAf,CAAjB,EAAuKsB,OAAO,CAACC,OAAR,EAAvK,CAA7G,IAAwS,KAAKf,IAAL,CAAU,UAAV,EAAqB,EAArB,CAAvV;AAAgX;;AAAmB,MAAf27H,eAAe,GAAE;AAAC,UAAK;AAAC3xF,MAAAA,QAAQ,EAACvuC,CAAV;AAAY29H,MAAAA,oBAAoB,EAACz9H;AAAjC,QAAoC,IAAzC;AAA8C,QAAG,CAAC,CAAD,KAAKA,CAAR,EAAU,OAAO,IAAP;AAAY,WAAOF,CAAC,CAACE,CAAD,CAAD,IAAM,IAAb;AAAkB;;AAAwB,MAApBy9H,oBAAoB,GAAE;AAAC,UAAM39H,CAAC,GAAC,KAAKwE,IAAL,CAAU,sBAAV,CAAR;;AAA0C,WAAM,YAAU,OAAOxE,CAAjB,GAAmBA,CAAnB,GAAqB,CAAC,CAA5B;AAA8B;;AAAwB,MAApB29H,oBAAoB,CAAC39H,CAAD,EAAG;AAAC,UAAK;AAACsnH,MAAAA,YAAY,EAACpnH;AAAd,QAAiB,IAAtB;AAA2BF,IAAAA,CAAC,GAAC2/C,KAAK,CAAC3/C,CAAD,CAAL,IAAUA,CAAC,GAAC,CAAC,CAAb,IAAgB,CAACE,CAAjB,GAAmB,CAAC,CAApB,GAAsB,CAACF,CAAC,GAACE,CAAH,IAAMA,CAA9B,EAAgC,KAAK8kI,aAAL,GAAmB,IAAnD,EAAwD,KAAKzgI,IAAL,CAAU,sBAAV,EAAiCvE,CAAjC,CAAxD;AAA4F;;AAA4B,MAAxBogI,wBAAwB,GAAE;AAAC,WAAO,KAAKnB,iBAAL,CAAuB,KAAKtB,oBAA5B,KAAmD,IAA1D;AAA+D;;AAAoB,MAAhB/6H,gBAAgB,GAAE;AAAC,WAAO,KAAK4jF,IAAL,EAAW5jF,gBAAX,IAA6B,IAApC;AAAyC;;AAAoB,MAAhBA,gBAAgB,CAAC5C,CAAD,EAAG;AAAC,SAAK4V,SAAL,CAAe,kBAAf,EAAkC5V,CAAlC;AAAqC;;AAAS,MAAL27F,KAAK,GAAE;AAAC,UAAK;AAACnV,MAAAA,IAAI,EAACxmF,CAAN;AAAQuF,MAAAA,GAAG,EAACrF;AAAZ,QAAe,IAApB;AAAyB,WAAOF,CAAC,GAACA,CAAC,CAACgY,KAAF,GAAQ,OAAR,GAAgB,UAAjB,GAA4B9X,CAAC,GAAC,OAAD,GAAS,UAA9C;AAAyD;;AAAY,MAARgV,QAAQ,GAAE;AAAC,WAAO,KAAKsxE,IAAL,EAAWtxE,QAAX,IAAqB3S,2DAA5B;AAA8B;;AAAY,MAAR2S,QAAQ,CAAClV,CAAD,EAAG;AAAC,SAAKmtC,eAAL,CAAqB,UAArB,EAAgCntC,CAAhC;AAAmC;;AAAsB,MAAlBgkI,kBAAkB,GAAE;AAAC,WAAO,KAAK/E,iBAAL,CAAuBznH,IAAvB,CAA6BxX,CAAC,IAAEA,CAAC,CAAC80H,iBAAlC,CAAP;AAA6D;;AAAoB,MAAhB2J,gBAAgB,GAAE;AAAC,WAAM,EAAE,EAAE,CAAC,CAAC,KAAK+H,wBAAP,IAAiC,KAAKpF,oBAAL,GAA0B,CAA7D,KAAiE,MAAI,KAAK9Z,YAA5E,CAAN;AAAgG;;AAAAmhB,EAAAA,gBAAgB,GAAE;AAAC,UAAK;AAACjiD,MAAAA,IAAI,EAACxmF;AAAN,QAAS,IAAd;AAAA,UAAmBE,CAAC,GAACkC,yEAAC,CAAC,IAAD,CAAtB;AAA6B,WAAOlC,CAAC,IAAEF,CAAH,GAAK,KAAK0oI,QAAL,CAAc;AAACzgI,MAAAA,MAAM,EAAC;AAACA,QAAAA,MAAM,EAAC/H,CAAR;AAAUqY,QAAAA,KAAK,EAACvY,CAAC,CAACuY;AAAlB;AAAR,KAAd,CAAL,GAAsDlT,OAAO,CAAC+O,MAAR,CAAe,IAAIhU,sDAAJ,CAAM,2CAAN,EAAkD,wDAAlD,EAA2G;AAAC6H,MAAAA,MAAM,EAAC/H,CAAR;AAAUsmF,MAAAA,IAAI,EAACxmF;AAAf,KAA3G,CAAf,CAA7D;AAA2M;;AAAA8kI,EAAAA,MAAM,CAAC9kI,CAAD,EAAG;AAAC,WAAO,KAAK0oI,QAAL,CAAc1oI,CAAd,CAAP;AAAwB;;AAAA4Z,EAAAA,KAAK,GAAE;AAAC,SAAKlU,GAAL,CAAS;AAACu6H,MAAAA,QAAQ,EAAC,EAAV;AAAa1xF,MAAAA,QAAQ,EAAC,EAAtB;AAAyBvhC,MAAAA,OAAO,EAAC,IAAjC;AAAsCjK,MAAAA,KAAK,EAAC,IAA5C;AAAiD4/B,MAAAA,QAAQ,EAAC,IAA1D;AAA+DqiG,MAAAA,aAAa,EAAC;AAA7E,KAAT;AAA6F;;AAAAzE,EAAAA,aAAa,CAACvgI,CAAD,EAAGE,CAAH,EAAK;AAAC,UAAK;AAACsmF,MAAAA,IAAI,EAAC9lF;AAAN,QAAS,IAAd;AAAmB,QAAG,CAACA,CAAD,IAAI,CAACV,CAAR,EAAU,MAAM,IAAII,sDAAJ,CAAM,4CAAN,EAAmD,uDAAnD,EAA2G;AAACqnF,MAAAA,WAAW,EAACznF,CAAb;AAAewmF,MAAAA,IAAI,EAAC9lF;AAApB,KAA3G,CAAN;AAAyI,WAAOA,CAAC,CAAC8vF,kBAAF,CAAqBxwF,CAArB,EAAuB;AAACiwF,MAAAA,WAAW,EAAC/vF,CAAC,EAAEijG,KAAH,EAAUlT,WAAvB;AAAmCoB,MAAAA,2BAA2B,EAAC,KAAKA,2BAApE;AAAgG3pF,MAAAA,MAAM,EAACxH,CAAC,EAAEwH;AAA1G,KAAvB,CAAP;AAAiJ;;AAAAipB,EAAAA,IAAI,CAAC3wB,CAAD,EAAG;AAAC,UAAME,CAAC,GAAC;AAACmgI,MAAAA,qBAAqB,EAAC,CAAC,CAAxB;AAA0BJ,MAAAA,QAAQ,EAAC,EAAnC;AAAsCM,MAAAA,aAAa,EAAC,CAAC,CAArD;AAAuD,SAAGvgI,CAA1D;AAA4DwO,MAAAA,OAAO,EAAC,CAAC;AAArE,KAAR;AAAA,UAAgF;AAAC+xH,MAAAA,aAAa,EAAC7/H;AAAf,QAAkBR,CAAlG;AAAoG,WAAOA,CAAC,CAACqgI,aAAT,EAAuB7/H,CAAC,IAAE,KAAKioI,yBAAL,CAA+BzoI,CAAC,CAACyiC,QAAjC,CAA1B;AAAqE,UAAMviC,CAAC,GAAC,CAAC,iBAAD,EAAmB,WAAnB,CAAR;;AAAwC,SAAI,MAAMH,CAAV,IAAeG,CAAf,EAAiB,OAAOF,CAAC,CAACD,CAAD,CAAR;;AAAY,SAAKyF,GAAL,CAASxF,CAAT;AAAY;;AAAAsgI,EAAAA,aAAa,CAACxgI,CAAD,EAAG;AAAC,UAAME,CAAC,GAAC,KAAKskI,UAAL,CAAgBh7G,EAAhB,CAAmBxpB,CAAnB,CAAR;AAA8BE,IAAAA,CAAC,IAAE,CAACA,CAAC,CAACg6G,QAAN,IAAgB,KAAKhhE,IAAL,CAAU,gBAAV,EAA2B;AAACmsD,MAAAA,MAAM,EAACnlG;AAAR,KAA3B,CAAhB;AAAuD;;AAAAwa,EAAAA,IAAI,GAAE;AAAC,WAAO,KAAKijH,oBAAL,IAA4B,IAAnC;AAAwC;;AAAAje,EAAAA,QAAQ,GAAE;AAAC,WAAO,KAAKie,oBAAL,IAA4B,IAAnC;AAAwC;;AAAAyK,EAAAA,sBAAsB,GAAE;AAACtmI,IAAAA,0FAAC,CAAC,IAAD,CAAD,EAAQ,KAAK8mI,4BAAL,EAAR;AAA4C;;AAAMT,EAAAA,qBAAqB,GAAE;AAAA;;AAAA;AAAC,YAAK;AAAC3hD,QAAAA,IAAI,EAACxmF,CAAN;AAAQkgI,QAAAA,eAAe,EAAChgI;AAAxB,UAA2B,MAAhC;AAAqC,eAAOF,CAAC,EAAEuD,IAAV,GAAe4H,wEAAC,CAACjL,CAAD,CAAD,IAAM,MAAMmS,4EAAC,CAAC,MAAD,CAAP,QAAoBlQ,+EAAC,CAAC,MAAD,CAA3B,IAAmClC,iEAAA,CAAY,MAAZ,EAAkB4mB,IAAlB,CAAuB,8GAAvB,EAAsI3mB,CAAtI,CAAlD,GAA2LD,iEAAA,CAAY,MAAZ,EAAkB4mB,IAAlB,CAAuB,8DAAvB,EAAsF3mB,CAAtF,CAA3L;AAAtC;AAA0T;;AAAAiwF,EAAAA,eAAe,CAACnwF,CAAD,EAAG;AAAC,SAAK6oI,qBAAL,CAA2B7oI,CAA3B;AAA8B;;AAAA0nI,EAAAA,qBAAqB,CAAC1nI,CAAD,EAAG;AAAC,SAAK27H,cAAL,KAAsBhvH,sEAAA,GAAW,yBAAuB3M,CAAxD;AAA2D;;AAAA4oI,EAAAA,4BAA4B,GAAE;AAAC,UAAM5oI,CAAC,GAAC,CAAC,KAAKinI,8BAAN,EAAqC,KAAKN,uBAA1C,EAAmEhgI,MAAnE,CAA0EjG,uDAA1E,CAAR;AAAqF,SAAK8lF,IAAL,EAAWoK,QAAX,EAAqBgnB,UAArB,CAAgC53G,CAAhC,GAAmC,KAAK2mI,uBAAL,GAA6B,IAAhE,EAAqE,KAAKM,8BAAL,CAAoC9vG,QAApC,GAA6C,IAAlH;AAAuH;;AAAA+wG,EAAAA,gBAAgB,GAAE;AAAC,QAAG/8H,wEAAC,CAAC,KAAK+0H,eAAN,CAAJ,EAA2B,OAAO,KAAK2G,oBAAL,GAA0B,CAAC,CAA3B,EAA6B,KAAKr4H,OAAL,GAAa,CAAC,CAA3C,EAA6C,KAAK,KAAKoL,KAAL,EAAzD;AAAsE,SAAKitH,oBAAL,KAA4B,KAAKt4F,QAAL,GAAc,KAAK2xF,eAAL,GAAqB,CAAC,KAAKA,eAAN,CAArB,GAA4C,EAAtF;AAA0F;;AAAAyH,EAAAA,eAAe,CAAC3nI,CAAD,EAAG;AAAC,UAAK;AAACkgI,MAAAA,eAAe,EAAChgI,CAAjB;AAAmBmgI,MAAAA,qBAAqB,EAAC3/H,CAAzC;AAA2C8lF,MAAAA,IAAI,EAACpmF;AAAhD,QAAmD,IAAxD;AAA6DA,IAAAA,CAAC,IAAEM,CAAH,IAAMV,CAAN,KAAU,CAACE,CAAD,IAAIA,CAAC,CAACi3B,QAAhB,KAA2B,KAAKsxG,gBAAL,EAA3B;AAAmD;;AAAAZ,EAAAA,2BAA2B,GAAE;AAAC,SAAKhhB,WAAL,GAAiB,KAAKS,YAAL,GAAkB,CAAlB,GAAoBxjG,IAAI,CAACiY,KAAL,CAAW,KAAK4hG,oBAAL,GAA0B,KAAK/W,eAA1C,IAA2D,CAA/E,GAAiF,IAAlG;AAAuG;;AAAAmhB,EAAAA,wBAAwB,GAAE;AAAC,SAAKlhB,WAAL,GAAiB,KAAKS,YAAL,GAAkB,CAAlB,GAAoB,CAApB,GAAsB,IAAvC;AAA4C;;AAAAwgB,EAAAA,8BAA8B,GAAE;AAAC,UAAK;AAACv5F,MAAAA,QAAQ,EAACvuC,CAAV;AAAYsnH,MAAAA,YAAY,EAACpnH,CAAzB;AAA2B2mH,MAAAA,WAAW,EAACnmH,CAAvC;AAAyCkmH,MAAAA,eAAe,EAACxmH,CAAzD;AAA2D6+H,MAAAA,iBAAiB,EAACh/H;AAA7E,QAAgF,IAArF;AAA0F,QAAG,SAAOS,CAAV,EAAY;AAAO,UAAMF,CAAC,GAAC,CAAC,CAACE,CAAC,GAAC,CAAH,IAAMN,CAAN,GAAQF,CAAT,IAAYA,CAApB;AAAA,UAAsBI,CAAC,GAACE,CAAC,GAACJ,CAA1B;AAA4BH,IAAAA,CAAC,CAAC6J,KAAF,CAAQtJ,CAAR,EAAUF,CAAV,EAAaqE,OAAb,CAAsB,CAACzE,CAAD,EAAGQ,CAAH,KAAO;AAACR,MAAAA,CAAC,KAAGA,CAAC,CAAC8nF,OAAF,KAAYhoF,CAAC,CAACQ,CAAC,GAACE,CAAH,CAAhB,CAAD;AAAwB,KAAtD;AAAyD;;AAAMknI,EAAAA,sBAAsB,CAAC5nI,CAAD,EAAG;AAAA;;AAAA;AAAC,YAAK;AAAC2iC,QAAAA,QAAQ,EAACziC,CAAV;AAAYmgI,QAAAA,qBAAqB,EAAC3/H,CAAlC;AAAoC8lF,QAAAA,IAAI,EAACpmF;AAAzC,UAA4C,MAAjD;AAAsD,UAAG,CAACJ,CAAD,IAAI,CAACI,CAAR,EAAU;;AAAO,UAAG,MAAI,CAACymI,oBAAR,EAA6B;AAAC,YAAG,MAAI,CAACF,uBAAL,KAA+BvmI,CAAC,CAACwwF,QAAF,CAAWttF,MAAX,CAAkB,MAAI,CAACqjI,uBAAvB,GAAgD,MAAI,CAACA,uBAAL,GAA6B,IAA5G,GAAkHx7H,wEAAC,CAACnL,CAAD,CAAtH,EAA0H;AAAO,eAAOA,CAAC,CAACssC,MAAF,SAAe/jC,oFAAC,CAACvI,CAAD,CAAhB,EAAoB,MAAI,CAAC2mI,uBAAL,GAA6B3mI,CAAjD,EAAmD,KAAKI,CAAC,CAACwwF,QAAF,CAAW/uD,GAAX,CAAe,MAAI,CAAC8kG,uBAApB,CAA/D;AAA4G;;AAAA,YAAM1mI,CAAC,GAACD,CAAC,CAACgwC,WAAF,EAAezsC,IAAvB;;AAA4B,UAAG,gBAActD,CAAd,IAAiB,cAAYA,CAA7B,IAAgC,mBAAiBA,CAAjD,KAAqDD,CAAC,CAACssC,MAAF,SAAe/jC,oFAAC,CAACvI,CAAD,CAArE,GAA0E,CAACU,CAAD,IAAIR,CAAJ,IAAO,CAACF,CAAC,CAACm3B,QAAvF,EAAgG;AAAC,YAAGz2B,CAAC,IAAE,CAACV,CAAC,CAACm3B,QAAT,EAAkB;AAAC,gBAAM,MAAI,CAACsxG,gBAAL,EAAN;AAA8B,gBAAMzoI,CAAC,GAACI,CAAC,CAAC0Y,MAAF,EAAUrY,KAAV,EAAR;AAA0BT,UAAAA,CAAC,KAAG,MAAI,CAAC2iC,QAAL,GAAc3iC,CAAjB,CAAD;AAAqB;AAAC,OAAlM,MAAuM,MAAI,CAAC2iC,QAAL,GAAczhC,yFAAC,CAAClB,CAAC,CAACm3B,QAAH,CAAf;AAAtjB;AAAklB;;AAAA6wG,EAAAA,uBAAuB,GAAE;AAAC,KAAC,KAAK1gB,YAAN,IAAoB,KAAK2Y,QAAzB,KAAoC,KAAKzxH,OAAL,GAAa,CAAC,CAAlD;AAAqD;;AAAMm6H,EAAAA,yBAAyB,CAAC3oI,CAAD,EAAG;AAAA;;AAAA;AAAC,YAAK;AAAC8wF,QAAAA,eAAe,EAAC5wF;AAAjB,gBAA0B,MAAI,CAAC4oI,4BAAL,CAAkC;AAAC7gD,QAAAA,QAAQ,EAACjoF;AAAV,OAAlC,CAA/B;AAA+E,YAAI,CAACigI,QAAL,GAAc//H,CAAd;AAAhF;AAAgG;;AAAA6oI,EAAAA,kBAAkB,GAAE;AAAC,SAAK9J,iBAAL,CAAuBt6H,OAAvB,CAAgC3E,CAAC,IAAEA,CAAC,IAAE,CAACA,CAAC,CAACq4C,SAAN,IAAiBr4C,CAAC,CAACoE,OAAF,EAApD,GAAkE,KAAKG,IAAL,CAAU,mBAAV,EAA8B,EAA9B,CAAlE;AAAoG;;AAAA0jI,EAAAA,iBAAiB,GAAE;AAAC,UAAK;AAAC/H,MAAAA,eAAe,EAAClgI,CAAjB;AAAmBuuC,MAAAA,QAAQ,EAACruC,CAA5B;AAA8B++H,MAAAA,iBAAiB,EAACv+H,CAAhD;AAAkD8lF,MAAAA,IAAI,EAACpmF,CAAvD;AAAyDwC,MAAAA,gBAAgB,EAAC3C,CAA1E;AAA4EsF,MAAAA,GAAG,EAAC/E,CAAhF;AAAkF0U,MAAAA,QAAQ,EAAC5U,CAA3F;AAA6FqiC,MAAAA,QAAQ,EAAChiC;AAAtG,QAAyG,IAA9G;AAAmH,QAAGwK,wEAAC,CAACnL,CAAD,CAAD,KAAO,KAAK6mI,oBAAL,GAA0B,CAAC,CAAlC,GAAqC,KAAKkC,kBAAL,EAArC,EAA+D,CAAC7oI,CAAC,EAAE2N,MAAtE,EAA6E;AAAO,UAAMhN,CAAC,GAACH,CAAC,CAACoJ,KAAF,EAAR;AAAA,UAAkBtI,CAAC,GAAC,EAApB;AAAuBtB,IAAAA,CAAC,CAACyE,OAAF,CAAW,CAACzE,CAAD,EAAGQ,CAAH,KAAO;AAAC,UAAG,CAACR,CAAJ,EAAM;AAAO,UAAIoB,CAAC,GAAC,IAAN;AAAW,UAAGT,CAAC,CAAC2W,IAAF,CAAQ,CAACxX,CAAD,EAAGU,CAAH,MAAQV,CAAC,IAAEA,CAAC,CAACgoF,OAAF,KAAY9nF,CAAf,KAAmBoB,CAAC,GAACtB,CAAF,EAAIa,CAAC,CAACihB,MAAF,CAASphB,CAAT,EAAW,CAAX,CAAvB,GAAsC,CAAC,CAACY,CAAhD,CAAR,GAA6DA,CAAhE,EAAkEE,CAAC,CAACd,CAAD,CAAD,GAAKY,CAAL,CAAlE,KAA6E;AAAC,cAAMT,CAAC,GAAC,IAAIgB,qEAAJ,CAAM;AAACy+G,UAAAA,SAAS,EAAC,KAAKwmB,yBAAhB;AAA0Cz1C,UAAAA,2BAA2B,EAAC,KAAKA,2BAA3E;AAAuGzuF,UAAAA,gBAAgB,EAAC3C,CAAxH;AAA0H+nF,UAAAA,OAAO,EAAC9nF,CAAC,KAAGF,CAAJ,GAAME,CAAN,GAAQ,IAA1I;AAA+IyiC,UAAAA,QAAQ,EAAChiC,CAAxJ;AAA0J4E,UAAAA,GAAG,EAAC/E,CAA9J;AAAgKgmF,UAAAA,IAAI,EAACpmF,CAArK;AAAuK8U,UAAAA,QAAQ,EAAC5U;AAAhL,SAAN,CAAR;AAAkMkB,QAAAA,CAAC,CAACd,CAAD,CAAD,GAAKG,CAAL;AAAO;AAAC,KAAnU,GAAsUA,CAAC,CAAC8D,OAAF,CAAW3E,CAAC,IAAEA,CAAC,IAAE,CAACA,CAAC,CAACq4C,SAAN,IAAiBr4C,CAAC,CAACoE,OAAF,EAA/B,CAAtU,EAAmX,KAAKG,IAAL,CAAU,mBAAV,EAA8B/C,CAA9B,CAAnX;AAAoZ;;AAAMwnI,EAAAA,eAAe,CAAChpI,CAAD,EAAGE,CAAH,EAAK;AAAA;;AAAA;AAAC,YAAK;AAAC0C,QAAAA,gBAAgB,EAAClC,CAAlB;AAAoB8lF,QAAAA,IAAI,EAACpmF;AAAzB,UAA4B,MAAjC;AAAsC,UAAG,CAACA,CAAJ,EAAM,OAAO,IAAP;AAAY,YAAMA,CAAC,EAAE0D,IAAH,EAAN;AAAiB,YAAM7D,CAAC,GAACD,CAAC,EAAE4C,gBAAX;AAA4B,aAAO3C,CAAC,IAAES,CAAH,IAAM,MAAMI,8EAAC,CAACb,CAAD,EAAGS,CAAH,EAAK,IAAL,EAAUR,CAAV,CAAP,EAAoBE,CAAC,CAAC0sF,QAAF,CAAW9sF,CAAX,CAA1B,IAAyC,IAAhD;AAAtG;AAA2J;;AAAAqoI,EAAAA,uBAAuB,GAAE;AAAC,UAAMroI,CAAC,GAAC,KAAKwmI,wBAAb;AAAsCxmI,IAAAA,CAAC,IAAEA,CAAC,CAACmc,KAAF,EAAH,EAAa,KAAKqqH,wBAAL,GAA8B,IAA3C;AAAgD;;AAAMyC,EAAAA,mCAAmC,CAAC;AAAChhD,IAAAA,QAAQ,EAACjoF,CAAV;AAAYynF,IAAAA,WAAW,EAACvnF,CAAxB;AAA0BijG,IAAAA,KAAK,EAACziG,CAAhC;AAAkCgH,IAAAA,MAAM,EAACtH;AAAzC,GAAD,EAA6C;AAAA;;AAAA;AAAC,aAAO,MAAI,CAACmgI,aAAL,CAAmBrgI,CAAC,WAAQ,MAAI,CAAC8oI,eAAL,CAAqBhpI,CAAC,IAAE,MAAI,CAAC2iC,QAA7B,EAAsC;AAACj7B,QAAAA,MAAM,EAACtH;AAAR,OAAtC,CAAR,CAApB,EAA8E;AAACsH,QAAAA,MAAM,EAACtH,CAAR;AAAU+iG,QAAAA,KAAK,EAACziG;AAAhB,OAA9E,CAAP;AAAD;AAA0G;;AAAAooI,EAAAA,4BAA4B,CAAC;AAAC7gD,IAAAA,QAAQ,EAACjoF,CAAV;AAAYynF,IAAAA,WAAW,EAACvnF,CAAxB;AAA0BijG,IAAAA,KAAK,EAACziG;AAAhC,GAAD,EAAoC;AAAC,SAAK2nI,uBAAL;;AAA+B,UAAMjoI,CAAC,GAAC,IAAIic,eAAJ,EAAR;AAAA,UAA4B;AAAC3U,MAAAA,MAAM,EAACzH;AAAR,QAAWG,CAAvC;AAAyC,SAAKomI,wBAAL,GAA8BpmI,CAA9B;;AAAgC,UAAMI,CAAC,GAAC,KAAKyoI,mCAAL,CAAyC;AAAChhD,MAAAA,QAAQ,EAACjoF,CAAV;AAAYynF,MAAAA,WAAW,EAACvnF,CAAxB;AAA0BwH,MAAAA,MAAM,EAACzH,CAAjC;AAAmCkjG,MAAAA,KAAK,EAACziG;AAAzC,KAAzC,CAAR;;AAA8F,WAAOF,CAAC,CAACuD,KAAF,CAAS,MAAI,CAAE,CAAf,EAAkBiC,IAAlB,CAAwB,MAAI;AAAC,WAAKwgI,wBAAL,GAA8B,IAA9B;AAAmC,KAAhE,GAAmEhmI,CAA1E;AAA4E;;AAAMqoI,EAAAA,qBAAqB,CAAC7oI,CAAD,EAAG;AAAA;;AAAA;AAAC,YAAK;AAACioF,QAAAA,QAAQ,EAAC/nF,CAAV;AAAYunF,QAAAA,WAAW,EAAC/mF;AAAxB,UAA2BV,CAAhC;AAAA,YAAkC;AAACwmF,QAAAA,IAAI,EAACpmF;AAAN,UAAS,MAA3C;AAAgD,YAAI,CAACod,aAAL,CAAmB0J,CAAnB,GAAsB,MAAI,CAACxjB,UAAL,CAAgB,CAAC7C,8DAAC,CAAE,MAAI,MAAI,CAAC2lF,IAAL,EAAWjuE,KAAjB,EAAyB,MAAI,MAAI,CAAC4uH,wBAAL,CAA8BjnI,CAA9B,EAAiC6D,KAAjC,CAAwC/D,CAAC,IAAE;AAACM,QAAAA,mEAAC,CAACN,CAAD,CAAD,IAAMC,iEAAA,CAAY,MAAZ,EAAkBwD,KAAlB,CAAwBzD,CAAxB,CAAN;AAAiC,OAA7E,CAA7B,CAAF,EAAiHwB,6DAAC,CAAE,MAAI,CAAC,MAAI,CAACgN,OAAZ,EAAsB,MAAI;AAAC,cAAI,CAACgP,aAAL,CAAmB0J,CAAnB;AAAsB,OAAjD,EAAmD;AAAC/H,QAAAA,IAAI,EAAC,CAAC;AAAP,OAAnD,CAAlH,CAAhB,EAAiM+H,CAAjM,CAAtB;AAA0N,YAAK;AAAC4pE,QAAAA,eAAe,EAACtwF;AAAjB,gBAA0B,MAAI,CAACsoI,4BAAL,CAAkC;AAAC7gD,QAAAA,QAAQ,EAAC/nF,CAAV;AAAYunF,QAAAA,WAAW,EAAC/mF,CAAxB;AAA0ByiG,QAAAA,KAAK,EAACnjG;AAAhC,OAAlC,CAA/B;AAAqGI,MAAAA,CAAC,EAAEyvF,KAAH,IAAU,UAASzvF,CAAC,CAACyvF,KAArB,IAA4BzvF,CAAC,CAACyvF,KAAF,CAAQl/D,IAAR,CAAa;AAACgS,QAAAA,QAAQ,EAACziC,CAAC,IAAE,KAAK,CAAlB;AAAoB+/H,QAAAA,QAAQ,EAACz/H;AAA7B,OAAb,CAA5B;AAAhX;AAA0b;;AAAA+mI,EAAAA,UAAU,GAAE;AAAC,SAAKX,gBAAL,KAAwB,KAAKp4H,OAAL,GAAa,CAAC,CAAtC;AAAyC;;AAAM06H,EAAAA,aAAa,CAAClpI,CAAD,EAAGE,CAAH,EAAK;AAAA;AAAC,aAAO,MAAMF,CAAC,CAAC8D,IAAF,EAAN,EAAe9D,CAAC,CAACuvF,aAAF,CAAgBrvF,CAAhB,CAAtB;AAAD;AAA0C;;AAAAknI,EAAAA,kBAAkB,CAACpnI,CAAD,EAAG;AAAC,UAAK;AAACwJ,MAAAA,KAAK,EAACtJ,CAAP;AAAS8vC,MAAAA,WAAW,EAACtvC;AAArB,QAAwBV,CAA7B;AAA+B,WAAOU,CAAC,IAAE,WAAUA,CAAb,IAAgBA,CAAC,CAAC8I,KAAlB,GAAwB9I,CAAC,CAAC8I,KAA1B,GAAgC,gBAAc9I,CAAC,EAAE6C,IAAjB,IAAuB,oBAAkB7C,CAAC,EAAE6C,IAA5C,GAAiD7C,CAAjD,GAAmDR,CAA1F;AAA4F;;AAAAipI,EAAAA,mBAAmB,CAACnpI,CAAD,EAAGE,CAAH,EAAKQ,CAAL,EAAO;AAAC,QAAGkS,CAAC,CAAC1S,CAAC,CAACqD,IAAH,EAAQ7C,CAAR,CAAJ,EAAe,OAAOV,CAAP;AAAS,UAAMI,CAAC,GAACJ,CAAC,CAACmoF,WAAF,EAAR;AAAwB,QAAG,QAAM/nF,CAAT,EAAW,OAAOA,CAAP;AAAS,UAAMH,CAAC,GAAC,cAAYC,CAAC,CAACqD,IAAd,GAAmB,KAAK,CAAxB,GAA0B,mBAAkBrD,CAAlB,GAAoBA,CAAC,CAACkrC,aAAF,IAAiBrpC,iFAArC,GAAuC,IAAzE;AAAA,UAA8EvB,CAAC,GAACR,CAAC,CAACuxC,UAAlF;AAA6F,WAAO/wC,CAAC,IAAEP,CAAH,IAAMO,CAAC,CAACP,CAAD,CAAP,IAAYD,CAAnB;AAAqB;;AAAAopI,EAAAA,iBAAiB,CAACppI,CAAD,EAAG;AAAC,WAAM,CAAC,CAAC,KAAKuF,GAAL,EAAUgS,SAAV,EAAqBua,QAArB,CAA8B9xB,CAA9B,CAAR;AAAyC;;AAAMynI,EAAAA,uBAAuB,GAAE;AAAA;;AAAA;AAAC,YAAMznI,CAAC,GAAC,0BAAR;;AAAmC,YAAI,CAACwd,aAAL,CAAmBxd,CAAnB;;AAAsB,YAAK;AAAC+mI,QAAAA,gBAAgB,EAAC7mI,CAAlB;AAAoBsmF,QAAAA,IAAI,EAAC9lF,CAAzB;AAA2BskI,QAAAA,aAAa,EAAC5kI,CAAzC;AAA2CoO,QAAAA,OAAO,EAACvO;AAAnD,UAAsD,MAA3D;AAAgE,UAAG,EAAEG,CAAC,IAAEM,CAAH,IAAMR,CAAN,IAASD,CAAX,CAAH,EAAiB;;AAAO,YAAMO,CAAC,GAAC,MAAI,CAAC4mI,kBAAL,CAAwBhnI,CAAxB,CAAR;;AAAmC,UAAG,EAAEI,CAAC,IAAEA,CAAC,YAAYY,yDAAhB,IAAmB,MAAI,CAACgoI,iBAAL,CAAuB5oI,CAAvB,CAArB,CAAH,EAAmD;;AAAO,YAAMF,CAAC,GAAC,MAAI,CAAC4oI,aAAL,CAAmBxoI,CAAnB,EAAqBF,CAArB,CAAR;;AAAgC,YAAI,CAACkmI,8BAAL,GAAoCpmI,CAApC;AAAsC,YAAMK,CAAC,SAAOL,CAAd;AAAgB,UAAG,EAAEK,CAAC,IAAEZ,sFAAC,CAACY,CAAD,CAAJ,IAAS,MAAI,CAAC+lI,8BAAL,KAAsCpmI,CAA/C,IAAkD,MAAI,CAAC0kI,aAAvD,IAAsE,MAAI,CAAC+B,gBAA7E,CAAH,EAAkG;AAAO,YAAMlmI,CAAC,GAACF,CAAC,CAAC0yF,SAAF,CAAY,MAAI,CAAC81C,mBAAL,CAAyB/oI,CAAzB,EAA2BI,CAA3B,EAA6BE,CAAC,CAAC6C,IAA/B,CAAZ,CAAR;;AAA0D,YAAI,CAACG,UAAL,CAAgB7C,CAAhB,EAAkBb,CAAlB;AAAxe;AAA6f;;AAAMwnI,EAAAA,yBAAyB,GAAE;AAAA;;AAAA;AAAC,YAAMxnI,CAAC,GAAC,4BAAR;;AAAqC,YAAI,CAACwd,aAAL,CAAmBxd,CAAnB;;AAAsB,YAAK;AAACkgI,QAAAA,eAAe,EAAChgI,CAAjB;AAAmB6mI,QAAAA,gBAAgB,EAACrmI,CAApC;AAAsC8lF,QAAAA,IAAI,EAACpmF,CAA3C;AAA6CoO,QAAAA,OAAO,EAACvO;AAArD,UAAwD,MAA7D;AAAkE,UAAG,EAAEC,CAAC,IAAEE,CAAH,IAAMM,CAAN,IAAST,CAAX,CAAH,EAAiB;;AAAO,YAAMO,CAAC,GAAC,MAAI,CAAC4mI,kBAAL,CAAwBlnI,CAAxB,CAAR;;AAAmC,UAAG,EAAEM,CAAC,IAAEA,CAAC,YAAYY,yDAAhB,IAAmB,MAAI,CAACgoI,iBAAL,CAAuB5oI,CAAvB,CAArB,CAAH,EAAmD;;AAAO,YAAMF,CAAC,GAAC,MAAI,CAAC4oI,aAAL,CAAmB9oI,CAAnB,EAAqBI,CAArB,CAAR;;AAAgC,YAAI,CAACimI,gCAAL,GAAsCnmI,CAAtC;AAAwC,YAAMK,CAAC,SAAOL,CAAd;AAAgB,UAAG,EAAEK,CAAC,IAAEZ,sFAAC,CAACY,CAAD,CAAJ,IAAS,MAAI,CAAC8lI,gCAAL,KAAwCnmI,CAAjD,IAAoD,MAAI,CAAC4/H,eAAzD,IAA0E,MAAI,CAAC6G,gBAA/E,IAAiG,MAAI,CAACv4H,OAAxG,CAAH,EAAoH;AAAO,YAAM3N,CAAC,GAACF,CAAC,CAAC0yF,SAAF,CAAY,MAAI,CAAC81C,mBAAL,CAAyBjpI,CAAzB,EAA2BM,CAA3B,EAA6BJ,CAAC,CAACmD,IAA/B,CAAZ,CAAR;;AAA0D,YAAI,CAACG,UAAL,CAAgB7C,CAAhB,EAAkBb,CAAlB;AAAhgB;AAAqhB;;AAAAwoI,EAAAA,eAAe,CAACxoI,CAAD,EAAG;AAAC,UAAK;AAACuuC,MAAAA,QAAQ,EAACruC;AAAV,QAAa,IAAlB;AAAA,UAAuBQ,CAAC,GAACV,CAAC,CAAC2G,MAAF,CAAU3G,CAAC,IAAE,CAACE,CAAC,CAAC4xB,QAAF,CAAW9xB,CAAX,CAAd,CAAzB;AAAuDU,IAAAA,CAAC,EAAEmN,MAAH,KAAY,KAAK0gC,QAAL,GAAcruC,CAAC,CAACiX,MAAF,CAASzW,CAAT,CAA1B;AAAuC;;AAAl0Z,CAAzB;AAA61ZV,uDAAC,CAAC,CAACgB,uFAAC,EAAF,CAAD,EAAOqmB,CAAC,CAAClf,SAAT,EAAmB,0BAAnB,EAA8C,KAAK,CAAnD,CAAD,EAAuDnI,uDAAC,CAAC,CAACgB,uFAAC,CAAC;AAACuC,EAAAA,IAAI,EAACwF,iEAACA;AAAP,CAAD,CAAF,CAAD,EAAese,CAAC,CAAClf,SAAjB,EAA2B,SAA3B,EAAqC,KAAK,CAA1C,CAAxD,EAAqGnI,uDAAC,CAAC,CAACgB,uFAAC,CAAC;AAACqH,EAAAA,QAAQ,EAAC,CAAC;AAAX,CAAD,CAAF,CAAD,EAAoBgf,CAAC,CAAClf,SAAtB,EAAgC,QAAhC,EAAyC,IAAzC,CAAtG,EAAqJnI,uDAAC,CAAC,CAACgB,uFAAC,EAAF,CAAD,EAAOqmB,CAAC,CAAClf,SAAT,EAAmB,eAAnB,EAAmC,KAAK,CAAxC,CAAtJ,EAAiMnI,uDAAC,CAAC,CAACgB,uFAAC,CAAC;AAACqH,EAAAA,QAAQ,EAAC,CAAC;AAAX,CAAD,CAAF,CAAD,EAAoBgf,CAAC,CAAClf,SAAtB,EAAgC,YAAhC,EAA6C,IAA7C,CAAlM,EAAqPnI,uDAAC,CAAC,CAACgB,uFAAC,EAAF,CAAD,EAAOqmB,CAAC,CAAClf,SAAT,EAAmB,kBAAnB,EAAsC,KAAK,CAA3C,CAAtP,EAAoSnI,uDAAC,CAAC,CAACgB,uFAAC,EAAF,CAAD,EAAOqmB,CAAC,CAAClf,SAAT,EAAmB,sBAAnB,EAA0C,KAAK,CAA/C,CAArS,EAAuVnI,uDAAC,CAAC,CAACgB,uFAAC,EAAF,CAAD,EAAOqmB,CAAC,CAAClf,SAAT,EAAmB,SAAnB,EAA6B,KAAK,CAAlC,CAAxV,EAA6XnI,uDAAC,CAAC,CAACgB,uFAAC,CAAC;AAACuC,EAAAA,IAAI,EAACwF,iEAAN;AAAQV,EAAAA,QAAQ,EAAC,CAAC;AAAlB,CAAD,CAAF,CAAD,EAA2Bgf,CAAC,CAAClf,SAA7B,EAAuC,gBAAvC,EAAwD,IAAxD,CAA9X,EAA4bnI,uDAAC,CAAC,CAACgB,uFAAC,CAAC;AAACuC,EAAAA,IAAI,EAACgL;AAAN,CAAD,CAAF,CAAD,EAAqB8Y,CAAC,CAAClf,SAAvB,EAAiC,6BAAjC,EAA+D,KAAK,CAApE,CAA7b,EAAogBnI,uDAAC,CAAC,CAACgB,uFAAC,CAAC;AAACqH,EAAAA,QAAQ,EAAC,CAAC;AAAX,CAAD,CAAF,CAAD,EAAoBgf,CAAC,CAAClf,SAAtB,EAAgC,cAAhC,EAA+C,IAA/C,CAArgB,EAA0jBnI,uDAAC,CAAC,CAACgB,uFAAC,EAAF,CAAD,EAAOqmB,CAAC,CAAClf,SAAT,EAAmB,aAAnB,EAAiC,KAAK,CAAtC,CAA3jB,EAAomBnI,uDAAC,CAAC,CAACgB,uFAAC,CAAC;AAAC0M,EAAAA,KAAK,EAAC;AAAP,CAAD,CAAF,CAAD,EAAiB2Z,CAAC,CAAClf,SAAnB,EAA6B,UAA7B,EAAwC,IAAxC,CAArmB,EAAmpBnI,uDAAC,CAAC,CAACgB,uFAAC,EAAF,CAAD,EAAOqmB,CAAC,CAAClf,SAAT,EAAmB,iBAAnB,EAAqC,KAAK,CAA1C,CAAppB,EAAisBnI,uDAAC,CAAC,CAACgB,uFAAC,EAAF,CAAD,EAAOqmB,CAAC,CAAClf,SAAT,EAAmB,iBAAnB,EAAqC,KAAK,CAA1C,CAAlsB,EAA+uBnI,uDAAC,CAAC,CAACgB,uFAAC,EAAF,CAAD,EAAOqmB,CAAC,CAAClf,SAAT,EAAmB,2BAAnB,EAA+C,KAAK,CAApD,CAAhvB,EAAuyBnI,uDAAC,CAAC,CAACgB,uFAAC,CAAC;AAACqH,EAAAA,QAAQ,EAAC,CAAC;AAAX,CAAD,CAAF,CAAD,EAAoBgf,CAAC,CAAClf,SAAtB,EAAgC,mBAAhC,EAAoD,KAAK,CAAzD,CAAxyB,EAAo2BnI,uDAAC,CAAC,CAACgB,uFAAC,EAAF,CAAD,EAAOqmB,CAAC,CAAClf,SAAT,EAAmB,kBAAnB,EAAsC,KAAK,CAA3C,CAAr2B,EAAm5BnI,uDAAC,CAAC,CAACgB,uFAAC,EAAF,CAAD,EAAOqmB,CAAC,CAAClf,SAAT,EAAmB,uBAAnB,EAA2C,KAAK,CAAhD,CAAp5B,EAAu8BnI,uDAAC,CAAC,CAACgB,uFAAC,CAAC;AAACuC,EAAAA,IAAI,EAACf,2DAACA;AAAP,CAAD,CAAF,CAAD,EAAe6kB,CAAC,CAAClf,SAAjB,EAA2B,UAA3B,EAAsC,IAAtC,CAAx8B,EAAo/BnI,uDAAC,CAAC,CAACgB,uFAAC,EAAF,CAAD,EAAOqmB,CAAC,CAAClf,SAAT,EAAmB,KAAnB,EAAyB,IAAzB,CAAr/B,EAAohCnI,uDAAC,CAAC,CAACgB,uFAAC,CAAC;AAACqH,EAAAA,QAAQ,EAAC,CAAC;AAAX,CAAD,CAAF,CAAD,EAAoBgf,CAAC,CAAClf,SAAtB,EAAgC,sBAAhC,EAAuD,IAAvD,CAArhC,EAAklCnI,uDAAC,CAAC,CAACgB,uFAAC,CAAC;AAACqH,EAAAA,QAAQ,EAAC,CAAC;AAAX,CAAD,CAAF,CAAD,EAAoBgf,CAAC,CAAClf,SAAtB,EAAgC,cAAhC,EAA+C,IAA/C,CAAnlC,EAAwoCnI,uDAAC,CAAC,CAACgB,uFAAC,EAAF,CAAD,EAAOqmB,CAAC,CAAClf,SAAT,EAAmB,UAAnB,EAA8B,IAA9B,CAAzoC,EAA6qCnI,uDAAC,CAAC,CAACgB,uFAAC,CAAC;AAACqH,EAAAA,QAAQ,EAAC,CAAC;AAAX,CAAD,CAAF,CAAD,EAAoBgf,CAAC,CAAClf,SAAtB,EAAgC,gCAAhC,EAAiE,KAAK,CAAtE,CAA9qC,EAAuvCnI,uDAAC,CAAC,CAACgB,uFAAC,CAAC;AAAC0M,EAAAA,KAAK,EAAC,IAAP;AAAYrF,EAAAA,QAAQ,EAAC,CAAC;AAAtB,CAAD,CAAF,CAAD,EAA+Bgf,CAAC,CAAClf,SAAjC,EAA2C,iBAA3C,EAA6D,IAA7D,CAAxvC,EAA2zCnI,uDAAC,CAAC,CAACgB,uFAAC,CAAC;AAAC0M,EAAAA,KAAK,EAAC,CAAC;AAAR,CAAD,CAAF,CAAD,EAAiB2Z,CAAC,CAAClf,SAAnB,EAA6B,sBAA7B,EAAoD,IAApD,CAA5zC,EAAs3CnI,uDAAC,CAAC,CAACgB,uFAAC,CAAC;AAACqH,EAAAA,QAAQ,EAAC,CAAC;AAAX,CAAD,CAAF,CAAD,EAAoBgf,CAAC,CAAClf,SAAtB,EAAgC,0BAAhC,EAA2D,IAA3D,CAAv3C,EAAw7CnI,uDAAC,CAAC,CAACgB,uFAAC,CAAC;AAACqH,EAAAA,QAAQ,EAAC,CAAC;AAAX,CAAD,CAAF,CAAD,EAAoBgf,CAAC,CAAClf,SAAtB,EAAgC,OAAhC,EAAwC,IAAxC,CAAz7C,EAAu+CnI,uDAAC,CAAC,CAACgB,uFAAC,EAAF,CAAD,EAAOqmB,CAAC,CAAClf,SAAT,EAAmB,UAAnB,EAA8B,IAA9B,CAAx+C,EAA4gDnI,uDAAC,CAAC,CAACgB,uFAAC,EAAF,CAAD,EAAOqmB,CAAC,CAAClf,SAAT,EAAmB,OAAnB,EAA2B,KAAK,CAAhC,CAA7gD,EAAgjDnI,uDAAC,CAAC,CAACgB,uFAAC,EAAF,CAAD,EAAOqmB,CAAC,CAAClf,SAAT,EAAmB,uBAAnB,EAA2C,KAAK,CAAhD,CAAjjD,EAAomDnI,uDAAC,CAAC,CAACgB,uFAAC,EAAF,CAAD,EAAOqmB,CAAC,CAAClf,SAAT,EAAmB,MAAnB,EAA0B,KAAK,CAA/B,CAArmD,EAAuoDnI,uDAAC,CAAC,CAACgB,uFAAC,EAAF,CAAD,EAAOqmB,CAAC,CAAClf,SAAT,EAAmB,SAAnB,EAA6B,KAAK,CAAlC,CAAxoD,EAA6qDnI,uDAAC,CAAC,CAACgB,uFAAC,CAAC;AAACqH,EAAAA,QAAQ,EAAC,CAAC;AAAX,CAAD,CAAF,CAAD,EAAoBgf,CAAC,CAAClf,SAAtB,EAAgC,oBAAhC,EAAqD,IAArD,CAA9qD,EAAyuDnI,uDAAC,CAAC,CAACgB,uFAAC,CAAC;AAACqH,EAAAA,QAAQ,EAAC,CAAC;AAAX,CAAD,CAAF,CAAD,EAAoBgf,CAAC,CAAClf,SAAtB,EAAgC,kBAAhC,EAAmD,IAAnD,CAA1uD,EAAmyDnI,uDAAC,CAAC,CAACgB,uFAAC,EAAF,CAAD,EAAOqmB,CAAC,CAAClf,SAAT,EAAmB,YAAnB,EAAgC,KAAK,CAArC,CAApyD,EAA40DnI,uDAAC,CAAC,CAACgB,uFAAC,EAAF,CAAD,EAAOqmB,CAAC,CAAClf,SAAT,EAAmB,gBAAnB,EAAoC,KAAK,CAAzC,CAA70D,EAAy3DnI,uDAAC,CAAC,CAACgB,uFAAC,EAAF,CAAD,EAAOqmB,CAAC,CAAClf,SAAT,EAAmB,kBAAnB,EAAsC,IAAtC,CAA13D,EAAs6Dkf,CAAC,GAACrnB,uDAAC,CAAC,CAAC0B,uFAAC,CAAC,yCAAD,CAAF,CAAD,EAAgD2lB,CAAhD,CAAz6D;AAA49D,MAAMxa,CAAC,GAACwa,CAAR;;;;;;;;;;;;;;;;;;;;;;;ACJlthB;AACA;AACA;AACA;AACqU,oBAAoB,yDAAC,CAAC,cAAc,wLAAwL,uDAAC,EAAE,sFAAC,EAAE,4BAA4B,mCAAmC,uDAAC,EAAE,sFAAC,EAAE,4BAA4B,qCAAqC,uDAAC,EAAE,sFAAC,EAAE,4BAA4B,wCAAwC,uDAAC,EAAE,sFAAC,EAAE,4BAA4B,2CAA2C,uDAAC,EAAE,sFAAC,EAAE,4BAA4B,+CAA+C,uDAAC,EAAE,sFAAC,EAAE,4BAA4B,8BAA8B,uDAAC,EAAE,sFAAC,EAAE,4BAA4B,iCAAiC,uDAAC,EAAE,sFAAC,EAAE,4BAA4B,mCAAmC,uDAAC,EAAE,sFAAC,sDAAsD,UAA+B;;;;;;;;;;;;;;;;ACJtrC;AACA;AACA;AACA;AACA,2BAA2B,QAAQ,EAAE,uBAAuB,EAAE,oCAAoC,EAAE,iCAAiC,EAAE,uCAAuC,EAAE,wCAAwC,EAAE,kCAAkC,EAAE,oBAAoB,EAAE,iCAAiC,EAAE,uCAAuC,EAAE,0BAA0B,EAAE,6BAA6B,EAAE,kCAAkC,EAAE,+CAA+C,EAAE,yCAAyC,EAAE,oBAAqC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACJhkB;AACA;AACA;AACA;AACA;AAA2C;AAAqC;AAA0D;AAA4D;AAAiC;AAAsC;AAA2D;AAA0E;AAAuB;AAA6B;AAA0E;AAA2B;AAAyC;AAA4C;AAAiD;AAAuD;AAAuC;AAA8K;AAAqE;AAAmD;AAAgE;AAAoD;AAAsE;AAA0D;AAA8C,MAAM7b,CAAC,GAACtL,kEAAA,CAASkB,+DAAT,CAAR;AAAoB,IAAIkB,CAAC,GAAC,cAAc9B,wEAAC,CAACQ,mDAAD,CAAf,CAAmB;AAACyB,EAAAA,WAAW,CAACzC,CAAD,EAAGU,CAAH,EAAK;AAAC,UAAMV,CAAN,EAAQU,CAAR,GAAW,KAAKkpI,WAAL,GAAiB,IAA5B,EAAiC,KAAKrd,oBAAL,GAA0B,IAAI1rH,4DAAJ,EAA3D,EAAiE,KAAKgpI,kBAAL,GAAwB,CAAC,CAA1F,EAA4F,KAAKC,mBAAL,GAAyB,CAAC,CAAtH,EAAwH,KAAKC,mBAAL,GAAyB,IAAjJ,EAAsJ,KAAKC,aAAL,GAAmB,IAAInpI,4DAAJ,EAAzK,EAA+K,KAAKopI,eAAL,GAAqB,IAApM,EAAyM,KAAKC,yBAAL,GAA+B,IAAxO,EAA6O,KAAKC,aAAL,GAAoB,eAAc,KAAK30F,GAAI,EAAxR,EAA0R,KAAK40F,uBAAL,GAA6B,IAAvT,EAA4T,KAAKC,gBAAL,GAAsB,IAAlV,EAAuV,KAAKC,cAAL,GAAoB,IAA3W,EAAgX,KAAK5N,SAAL,GAAe,CAAC,CAAhY,EAAkY,KAAK6N,WAAL,GAAiB,CAAC,CAApZ,EAAsZ,KAAKC,iBAAL,GAAuB,EAA7a,EAAgb,KAAKC,UAAL,GAAgB,EAAhc,EAAmc,KAAKlkB,YAAL,GAAkB,CAArd,EAAud,KAAKmkB,qBAAL,GAA2B,IAAlf,EAAuf,KAAKC,kBAAL,GAAwB,IAAIzqI,2DAAJ,CAAM,CAAC,iBAAD,CAAN,CAA/gB,EAA0iB,KAAK0qI,uBAAL,GAA6B,IAAvkB,EAA4kB,KAAKC,0BAAL,GAAgC,IAA5mB,EAAinB,KAAKC,eAAL,GAAqB,IAAtoB,EAA2oB,KAAKxhI,QAAL,GAAc,IAAzpB,EAA8pB,KAAKk9G,cAAL,GAAoB,IAAlrB,EAAurB,KAAK6iB,mBAAL,GAAyBpnI,sFAAhtB,EAAktB,KAAKqnI,cAAL,GAAoB1nI,iFAAtuB,EAAwuB,KAAKmpI,YAAL,GAAkB,IAAI7qI,2DAAJ,EAA1vB,EAAgwB,KAAK8qI,gBAAL,GAAsB,IAAI9qI,2DAAJ,EAAtxB,EAA4xB,KAAK+qI,aAAL,GAAmB,IAAIz/H,CAAJ,EAA/yB,EAAqzB,KAAKm3H,aAAL,GAAmB,MAAx0B,EAA+0B,KAAKuI,SAAL,GAAe,IAA91B,EAAm2B,KAAKC,WAAL,GAAiB,IAAp3B,EAAy3B,KAAKj7C,SAAL,GAAe,IAAI5uF,yEAAJ,EAAx4B,EAA84B,KAAK8pI,oBAAL,GAA0B,SAAx6B,EAAk7B,KAAK3kB,eAAL,GAAqB,IAAIjlH,+EAAJ,EAAv8B,EAA68B,KAAK6pI,QAAL,GAAc,CAAC;AAACC,MAAAA,MAAM,EAACtrI,CAAR;AAAUurI,MAAAA,MAAM,EAACrrI,CAAjB;AAAmBsrI,MAAAA,IAAI,EAAC9qI;AAAxB,KAAD,EAA4BF,CAA5B,KAAgC;AAAC,YAAMJ,CAAC,GAAC,WAASI,CAAT,GAAW,KAAKoqI,uBAAhB,GAAwC,KAAKC,0BAArD;AAAA,YAAgFhqI,CAAC,GAACiB,8EAAC,CAAC9B,CAAD,CAAnF;AAAuF,UAAG,CAACa,CAAC,EAAE4qI,QAAP,EAAgB,OAAM,CAAC,CAAP;;AAAS,YAAMxrI,CAAC,GAAC6B,8EAAC,CAAC5B,CAAD,CAAT;AAAA,YAAaI,CAAC,GAACP,mFAAC,CAACG,CAAD,CAAhB;AAAA,YAAoBS,CAAC,GAACmB,8EAAC,CAACpB,CAAD,CAAvB;AAAA,YAA2BgB,CAAC,GAAC3B,mFAAC,CAACW,CAAD,CAA9B;AAAA,YAAkCM,CAAC,GAAC,CAAC,CAACV,CAAF,IAAK,CAAC,CAACoB,CAAP,IAAUpB,CAAC,KAAGoB,CAAlD;AAAA,YAAoDZ,CAAC,GAAC;AAACuhI,QAAAA,QAAQ,EAACxhI,CAAV;AAAY2e,QAAAA,IAAI,EAACvf,CAAjB;AAAmBsqD,QAAAA,EAAE,EAAC5pD;AAAtB,OAAtD;AAAA,YAA+EO,CAAC,GAAChB,CAAC,CAAC8uH,KAAnF;AAAA,YAAyF1tH,CAAC,GAACZ,CAAC,CAACsuH,KAA7F;AAAA,YAAmGxtH,CAAC,GAACvB,CAAC,EAAEuJ,KAAH,EAAUjG,IAAV,IAAgB,EAArH;AAAA,YAAwHnC,CAAC,GAACT,CAAC,EAAE6I,KAAH,EAAUjG,IAAV,IAAgB,EAA1I;AAAA,YAA6ItB,CAAC,GAAC,IAAI2K,GAAJ,CAAQ,CAAC,WAAD,EAAa,SAAb,EAAuB,iBAAvB,CAAR,CAA/I;AAAA,YAAkMhL,CAAC,GAAC,UAApM;;AAA+M,aAAOV,CAAC,IAAEI,CAAH,IAAM,cAAY,OAAOlB,CAAzB,GAA2BA,CAAC,CAAC8a,IAAF,CAAO,IAAP,EAAYpa,CAAZ,CAA3B,GAA0CE,CAAC,IAAE,CAACiB,CAAC,CAACoN,GAAF,CAAM7N,CAAN,CAAJ,IAAc,CAACS,CAAC,CAACoN,GAAF,CAAMjO,CAAN,CAAf,IAAyBP,CAAC,EAAE2I,KAAH,EAAUjG,IAAV,KAAiB3B,CAA3F;AAA6F,KAAx5C,EAAy5C,KAAK8pI,cAAL,GAAoB1rI,CAAC,IAAE;AAAC,WAAK+qI,YAAL,CAAkBjmI,IAAlB,CAAuB9E,CAAC,CAACwJ,KAAF,CAAQnG,MAA/B,GAAuC,KAAK0mI,mBAAL,GAAyB/pI,CAAC,CAACwJ,KAAF,CAAQgsC,GAAxE;AAA4E,KAA7/C,EAA8/C,KAAKm2F,aAAL,GAAmB3rI,CAAC,IAAE;AAAC,WAAK+qI,YAAL,CAAkBjmI,IAAlB,CAAuB9E,CAAC,CAACwJ,KAAzB,GAAgC,KAAKugI,mBAAL,GAAyB/pI,CAAC,CAACwJ,KAAF,CAAQgsC,GAAjE;AAAqE,KAA1lD,EAA2lD,KAAKo2F,YAAL,GAAkB,MAAI;AAAC,WAAK9B,mBAAL,GAAyB,CAAC,CAA1B;AAA4B,KAA9oD,EAA+oD,KAAK+B,iCAAL,GAAuC7rI,CAAC,IAAE;AAAC,WAAKkqI,yBAAL,GAA+BlqI,CAA/B;AAAiC,KAA3tD,EAA4tD,KAAK8rI,yBAAL,GAA+B,CAAC9rI,CAAD,EAAGE,CAAH,KAAO;AAACA,MAAAA,CAAC,GAAC,KAAKqsH,oBAAL,CAA0B7mH,GAA1B,CAA8B1F,CAA9B,EAAgCE,CAAhC,CAAD,GAAoC,KAAKqsH,oBAAL,CAA0B37F,MAA1B,CAAiC5wB,CAAjC,CAArC;AAAyE,KAA50D,EAA60D,KAAK+rI,gBAAL,GAAsB,CAAC/rI,CAAD,EAAGE,CAAH,KAAO;AAAC,WAAKsgI,aAAL,CAAmBxgI,CAAnB,EAAqBE,CAArB;AAAwB,KAAn4D,EAAo4D,KAAK8rI,gBAAL,GAAsB,MAAI;AAAC,WAAKpC,WAAL,GAAiB,IAAjB;AAAsB,KAAr7D,EAAs7D,KAAKqC,cAAL,GAAoBjsI,CAAC,IAAE;AAAC,UAAG,cAAY,KAAKorI,oBAApB,EAAyC;AAAO,YAAMlrI,CAAC,GAACqG,KAAK,CAACiZ,IAAN,CAAWxf,CAAC,CAACksI,YAAF,EAAX,EAA6Bx8H,IAA7B,CAAmC1P,CAAC,IAAEA,CAAC,CAACojH,SAAF,EAAa+oB,QAAb,CAAsBrrI,wDAAtB,CAAtC,CAAR;AAA8E,WAAK8oI,WAAL,GAAiB9nI,8EAAC,CAAC5B,CAAD,CAAlB;AAAsB,KAAlmE,EAAmmE,KAAKksI,yBAAL,GAA+BpsI,CAAC,IAAE;AAAC,YAAK;AAACiqI,QAAAA,eAAe,EAAC/pI;AAAjB,UAAoB,IAAzB;AAAA,YAA8B;AAACsrI,QAAAA,IAAI,EAAC9qI,CAAN;AAAQ6qI,QAAAA,MAAM,EAAC/qI,CAAf;AAAiB8qI,QAAAA,MAAM,EAAClrI,CAAxB;AAA0BisI,QAAAA,QAAQ,EAACxrI;AAAnC,UAAsCb,CAApE;AAAsE,UAAGQ,CAAC,IAAEE,CAAH,IAAM,EAAER,CAAC,EAAEmsI,QAAH,KAAcxrI,CAAd,IAAiBX,CAAC,EAAEorI,MAAH,KAAYlrI,CAA7B,IAAgCF,CAAC,EAAEsrI,IAAH,KAAU9qI,CAA1C,IAA6CR,CAAC,EAAEqrI,MAAH,KAAY/qI,CAA3D,CAAT,EAAuE,IAAG,KAAKypI,eAAL,GAAqBjqI,CAArB,EAAuBQ,CAAC,KAAGE,CAA9B,EAAgC,KAAK4rI,uBAAL,CAA6B;AAACd,QAAAA,IAAI,EAAC9qI,CAAN;AAAQ6qI,QAAAA,MAAM,EAAC/qI,CAAf;AAAiB8qI,QAAAA,MAAM,EAAClrI,CAAxB;AAA0BisI,QAAAA,QAAQ,EAACxrI;AAAnC,OAA7B,EAAhC,KAAwG;AAAC,cAAMb,CAAC,GAACuG,KAAK,CAACiZ,IAAN,CAAWhf,CAAC,CAAC2hH,QAAb,EAAuBx7G,MAAvB,CAA+B3G,CAAC,IAAEA,CAAC,EAAEusI,OAAH,CAAW,mBAAX,CAAlC,EAAoEhnI,GAApE,CAAyEvF,CAAC,IAAEA,CAAC,CAAC0N,KAA9E,CAAR;;AAA8F,aAAK8+H,WAAL,CAAiBhsI,CAAjB,EAAmBR,CAAnB;AAAsB;AAAC,KAAj/E;AAAk/E;;AAAA6D,EAAAA,UAAU,GAAE;AAAC,SAAKH,UAAL,CAAgBzD,0DAAC,CAAE,MAAI,KAAK8qI,YAAX,EAAyB,QAAzB,EAAmC,MAAI,KAAK0B,yBAAL,EAAvC,EAAyEnsI,2DAAzE,CAAjB;AAA8F;;AAAA69G,EAAAA,gBAAgB,GAAE;AAAC,WAAOt8G,mFAAC,CAAC;AAACmK,MAAAA,MAAM,EAAC,MAAI,wxBAAZ;AAAiFqzH,MAAAA,IAAI,EAAC,MAAI,wOAA1F;AAA6J,mBAAY,MAAI,wqCAA7K;AAAqPpY,MAAAA,IAAI,EAAC,MAAI,y/BAA9P;AAAiUE,MAAAA,MAAM,EAAC,MAAI,wjBAA5U;AAAiZ7F,MAAAA,OAAO,EAAC,MAAI;AAA7Z,KAAD,CAAR;AAA8e;;AAAAl9G,EAAAA,OAAO,GAAE;AAAC,SAAKsoI,wBAAL,IAAgC,KAAKngB,oBAAL,CAA0B3yG,KAA1B,EAAhC;AAAkE;;AAAe,MAAX+yH,WAAW,GAAE;AAAC,WAAO,KAAKz8C,SAAL,CAAe08C,gBAAf,CAAgCt6C,OAAhC,CAAyCtyF,CAAC,IAAEA,CAAC,CAACmiH,QAAF,CAAWx7G,MAAX,CAAmB3G,CAAC,IAAE,4BAA0BA,CAAC,CAACwJ,KAAF,CAAQjG,IAAxD,CAA5C,EAA6GsK,MAApH;AAA2H;;AAAgB,MAAZg/H,YAAY,GAAE;AAAC,WAAO,KAAKF,WAAL,IAAkB,KAAKtD,mBAAvB,IAA4C,KAAKkB,WAAxD;AAAoE;;AAAkB,MAAduC,cAAc,GAAE;AAAC,WAAO,KAAKH,WAAL,IAAkB,KAAKrD,cAAvB,IAAuC,KAAK7iB,eAAL,CAAqB9/G,MAAnE;AAA0E;;AAA+B,MAA3BomI,2BAA2B,GAAE;AAAC,WAAO,KAAKhC,YAAL,CAAkB1mI,OAAlB,GAA4BkB,GAA5B,CAAiCvF,CAAC,IAAE,KAAKgtI,oBAAL,CAA0BhtI,CAA1B,CAApC,CAAP;AAA0E;;AAAQ,MAAJo+G,IAAI,GAAE;AAAC,WAAM,QAAN;AAAe;;AAAQ,MAAJA,IAAI,CAACp+G,CAAD,EAAG;AAAC,SAAKmtC,eAAL,CAAqB,MAArB,EAA4BntC,CAA5B;AAA+B;;AAAS,MAALy1B,KAAK,GAAE;AAAC,WAAO,KAAKnsB,QAAL,EAAe02H,WAAf,IAA4B,EAAnC;AAAsC;;AAAS,MAALvqG,KAAK,CAACz1B,CAAD,EAAG;AAAC,SAAKmtC,eAAL,CAAqB,OAArB,EAA6BntC,CAA7B;AAAgC;;AAA2B,MAAvBitI,uBAAuB,GAAE;AAAC,WAAO,KAAK/8C,SAAL,CAAe+8C,uBAAtB;AAA8C;;AAA2B,MAAvBA,uBAAuB,CAACjtI,CAAD,EAAG;AAAC,SAAKkwF,SAAL,CAAe+8C,uBAAf,GAAuCjtI,CAAvC;AAAyC;;AAA4B,MAAxBktI,wBAAwB,GAAE;AAAC,WAAOxsI,sEAAC,CAACN,iEAAA,CAAY,IAAZ,CAAD,EAAmB,0BAAnB,EAA8C;AAAC+sI,MAAAA,WAAW,EAAC,eAAb;AAA6Bx7H,MAAAA,OAAO,EAAC,MAArC;AAA4CsoG,MAAAA,QAAQ,EAAC,CAAC;AAAtD,KAA9C,CAAD,EAAyG,eAAa,KAAK0oB,aAAlI;AAAgJ;;AAA4B,MAAxBuK,wBAAwB,CAACltI,CAAD,EAAG;AAACU,IAAAA,sEAAC,CAACN,iEAAA,CAAY,IAAZ,CAAD,EAAmB,0BAAnB,EAA8C;AAAC+sI,MAAAA,WAAW,EAAC,eAAb;AAA6Bx7H,MAAAA,OAAO,EAAC,MAArC;AAA4CsoG,MAAAA,QAAQ,EAAC,CAAC;AAAtD,KAA9C,CAAD,EAAyG,KAAK0oB,aAAL,GAAmB3iI,CAAC,GAAC,UAAD,GAAY,KAAKotI,gBAAL,GAAsB,QAAtB,GAA+B,MAAxK;AAA+K;;AAAoB,MAAhBR,gBAAgB,GAAE;AAAC,WAAO,KAAK18C,SAAL,CAAe08C,gBAAtB;AAAuC;;AAAoB,MAAhBA,gBAAgB,CAAC5sI,CAAD,EAAG;AAAC,SAAKkwF,SAAL,CAAe08C,gBAAf,GAAgC5sI,CAAhC;AAAkC;;AAAoB,MAAhBotI,gBAAgB,GAAE;AAAC,WAAO1sI,sEAAC,CAACN,iEAAA,CAAY,IAAZ,CAAD,EAAmB,kBAAnB,EAAsC;AAAC+sI,MAAAA,WAAW,EAAC,4BAAb;AAA0Cx7H,MAAAA,OAAO,EAAC,MAAlD;AAAyDsoG,MAAAA,QAAQ,EAAC,CAAC;AAAnE,KAAtC,CAAD,EAA8G,WAAS,KAAK0oB,aAAd,IAA6B,KAAK4H,WAAvJ;AAAmK;;AAAoB,MAAhB6C,gBAAgB,CAACptI,CAAD,EAAG;AAACU,IAAAA,sEAAC,CAACN,iEAAA,CAAY,IAAZ,CAAD,EAAmB,kBAAnB,EAAsC;AAAC+sI,MAAAA,WAAW,EAAC,4BAAb;AAA0Cx7H,MAAAA,OAAO,EAAC,MAAlD;AAAyDsoG,MAAAA,QAAQ,EAAC,CAAC;AAAnE,KAAtC,CAAD,EAA8G,KAAKswB,WAAL,GAAiBvqI,CAA/H,EAAiI,KAAK2iI,aAAL,GAAmB3iI,CAAC,GAAC,KAAKktI,wBAAL,GAA8B,UAA9B,GAAyC,QAA1C,GAAmD,MAAxM;AAA+M;;AAAQ,MAAJ1mD,IAAI,GAAE;AAAC,WAAO,KAAK0J,SAAL,CAAe1J,IAAtB;AAA2B;;AAAQ,MAAJA,IAAI,CAACxmF,CAAD,EAAG;AAAC,SAAKkwF,SAAL,CAAe1J,IAAf,GAAoBxmF,CAApB;AAAsB;;AAAAwgI,EAAAA,aAAa,CAACxgI,CAAD,EAAGE,CAAH,EAAK;AAAC,WAAO,KAAKgwF,SAAL,CAAeswC,aAAf,CAA6BxgI,CAA7B,EAA+BE,CAA/B,CAAP;AAAyC;;AAAAyuG,EAAAA,MAAM,GAAE;AAAC,UAAM3uG,CAAC,GAAC,KAAKkwF,SAAL,EAAgByL,KAAxB;AAAA,UAA8Bz7F,CAAC,GAAC;AAAC,OAAC6B,oEAAD,GAAW,cAAY/B,CAAxB;AAA0B,OAAC+B,sEAAD,GAAa,eAAa/B;AAApD,KAAhC;AAAA,UAAuFU,CAAC,GAAC,KAAKksI,gBAAL,EAAuBjmI,MAAvB,CAA+B3G,CAAC,IAAE,CAACA,CAAC,CAACqtI,MAAH,KAAY,KAAK5mB,eAAL,CAAqBzkF,MAArB,IAA6B,CAAChiC,CAAC,CAACyD,KAA5C,CAAlC,CAAzF;AAAgL,WAAO6H,4DAAC,CAAC,KAAD,EAAO;AAACkzG,MAAAA,KAAK,EAAC,KAAKp4C,OAAL,CAAatlE,wDAAb,EAAoBiB,oEAApB,EAA6BA,mEAA7B,EAAqC7B,CAArC;AAAP,KAAP,EAAuDQ,CAAC,EAAEmN,MAAH,GAAU,CAAC,KAAKy/H,mBAAL,CAAyB5sI,CAAzB,CAAD,EAA6B,KAAK6sI,YAAL,CAAkB7sI,CAAlB,CAA7B,CAAV,GAA6D,KAAK8sI,cAAL,EAApH,CAAR;AAAmJ;;AAAMC,EAAAA,eAAe,CAACztI,CAAD,EAAGE,CAAH,EAAK;AAAA;;AAAA;AAAC,YAAK;AAAC8pI,QAAAA,aAAa,EAACtpI;AAAf,UAAkB,KAAvB;AAAA,YAA4BF,CAAC,GAACE,CAAC,CAACoZ,GAAF,CAAM9Z,CAAN,CAA9B;AAAuC,UAAGQ,CAAH,EAAK,OAAOA,CAAP;AAAS,YAAMJ,CAAC,GAAC,cAAYJ,CAAC,CAACuD,IAAd,SAAyB,KAAI,CAACmqI,uBAAL,CAA6B1tI,CAA7B,CAAzB,SAA+D,KAAI,CAAC2tI,gBAAL,CAAsB3tI,CAAtB,CAAvE;AAAgG,aAAOE,CAAC,CAACmf,OAAF,IAAW3e,CAAC,CAACgF,GAAF,CAAM1F,CAAN,EAAQI,CAAR,CAAX,EAAsBA,CAA7B;AAAtJ;AAAqL;;AAAMqsI,EAAAA,yBAAyB,GAAE;AAAA;;AAAA;AAAC,YAAK;AAACzC,QAAAA,aAAa,EAAChqI,CAAf;AAAiB+qI,QAAAA,YAAY,EAAC7qI,CAA9B;AAAgC8qI,QAAAA,gBAAgB,EAACtqI;AAAjD,UAAoD,MAAzD;AAA8D,YAAI,CAAC0pI,uBAAL,EAA8BjuH,KAA9B;AAAsC,YAAM3b,CAAC,GAAC,IAAI6b,eAAJ,EAAR;AAAA,YAA4B;AAAC3U,QAAAA,MAAM,EAACtH;AAAR,UAAWI,CAAvC;AAAyC,YAAI,CAAC4pI,uBAAL,GAA6B5pI,CAA7B,EAA+BR,CAAC,CAAC2E,OAAF,CAAW,CAACjE,CAAD,EAAGF,CAAH,KAAO;AAACN,QAAAA,CAAC,CAAC4xB,QAAF,CAAWtxB,CAAX,MAAgBE,CAAC,CAAC0D,OAAF,IAAYpE,CAAC,CAAC4wB,MAAF,CAASpwB,CAAT,CAA5B;AAAyC,OAA5D,CAA/B;AAA8F,YAAMK,CAAC,SAAOwE,OAAO,CAACc,GAAR,CAAYjG,CAAC,CAACqF,GAAF,CAAOvF,CAAC,IAAE,MAAI,CAACytI,eAAL,CAAqBztI,CAArB,EAAuBI,CAAvB,CAAV,CAAZ,CAAd;AAAiE,UAAGA,CAAC,CAACif,OAAL,EAAa;AAAO3e,MAAAA,CAAC,CAAC0I,SAAF,IAAc1I,CAAC,CAACqhB,OAAF,CAAUlhB,CAAV,CAAd;AAA2B,YAAMZ,CAAC,GAACS,CAAC,CAAC8oB,EAAF,CAAK,CAAC,CAAN,CAAR;AAAiBvpB,MAAAA,CAAC,GAAC,kBAAiBA,CAAjB,IAAoB,MAAI,CAACsE,IAAL,CAAU,kBAAV,EAA6BtE,CAA7B,GAAgC,MAAI,CAACsE,IAAL,CAAU,WAAV,EAAsB,IAAtB,CAApD,KAAkF,MAAI,CAACA,IAAL,CAAU,kBAAV,EAA6B,IAA7B,GAAmC,MAAI,CAACA,IAAL,CAAU,WAAV,EAAsBtE,CAAtB,CAArH,CAAD,IAAiJ,MAAI,CAACsE,IAAL,CAAU,kBAAV,EAA6B,IAA7B,GAAmC,MAAI,CAACA,IAAL,CAAU,WAAV,EAAsB,IAAtB,CAApL,CAAD;AAA7W;AAA+jB;;AAAAmoI,EAAAA,wBAAwB,GAAE;AAAC,SAAK1B,gBAAL,CAAsBh4B,UAAtB,IAAmC,KAAK+3B,YAAL,CAAkB3hI,SAAlB,EAAnC,EAAiE,KAAK4gI,aAAL,CAAmBpwH,KAAnB,EAAjE;AAA4F;;AAAAo0G,EAAAA,kBAAkB,CAAChuH,CAAD,EAAG;AAAC,UAAK;AAACusH,MAAAA,oBAAoB,EAACrsH,CAAtB;AAAwBoJ,MAAAA,QAAQ,EAAC5I;AAAjC,QAAoC,IAAzC;AAA8C,WAAOV,CAAC,GAACsL,4DAAC,CAAC,iBAAD,EAAmB;AAACM,MAAAA,GAAG,EAAE,WAAU5L,CAAC,CAACwJ,KAAF,CAAQgsC,GAAI,EAA5B;AAA8By4E,MAAAA,gBAAgB,EAAC/tH,CAAC,CAAC4Z,GAAF,CAAM9Z,CAAC,CAACwJ,KAAF,CAAQgsC,GAAd;AAA/C,KAAnB,EAAsF90C,CAAC,CAACktI,wBAAxF,CAAF,GAAoH,IAA5H;AAAiI;;AAAAC,EAAAA,uBAAuB,CAAC7tI,CAAD,EAAG;AAAC,WAAOA,CAAC,CAAC8tI,YAAF,GAAe,KAAK9f,kBAAL,CAAwBhuH,CAAxB,CAAf,GAA0CA,CAAC,CAACmiH,QAAF,EAAYx7G,MAAZ,CAAoB3G,CAAC,IAAE,CAACA,CAAC,CAACqtI,MAA1B,EAAmChpI,OAAnC,GAA6CkB,GAA7C,CAAkDvF,CAAC,IAAE,KAAK6tI,uBAAL,CAA6B7tI,CAA7B,CAArD,CAAjD;AAAwI;;AAAAstI,EAAAA,mBAAmB,CAACttI,CAAD,EAAG;AAAC,WAAOA,CAAC,EAAEqE,OAAH,GAAakB,GAAb,CAAkBvF,CAAC,IAAE,KAAK6tI,uBAAL,CAA6B7tI,CAA7B,CAArB,CAAP;AAA8D;;AAAA+tI,EAAAA,qBAAqB,GAAE;AAAC,WAAOziI,4DAAC,CAAC,KAAD,EAAO;AAACm9G,MAAAA,IAAI,EAAC;AAAN,KAAP,EAAwB,KAAKn/G,QAAL,CAAc0kI,gBAAtC,CAAR;AAAgE;;AAAAR,EAAAA,cAAc,GAAE;AAAC,WAAOliI,4DAAC,CAAC,KAAD,EAAO;AAACkzG,MAAAA,KAAK,EAAC19G,+DAAP;AAAqB8K,MAAAA,GAAG,EAAC;AAAzB,KAAP,EAA6DN,4DAAC,CAAC,gBAAD,EAAkB;AAAC8yG,MAAAA,IAAI,EAAC,aAAN;AAAoB+K,MAAAA,IAAI,EAAC,MAAzB;AAAgCx4F,MAAAA,IAAI,EAAC,CAAC,CAAtC;AAAwC1X,MAAAA,KAAK,EAAC;AAA9C,KAAlB,EAAwE,KAAK80H,qBAAL,EAAxE,CAA9D,CAAR;AAA6K;;AAAML,EAAAA,uBAAuB,CAAC1tI,CAAD,EAAG;AAAA;;AAAA;AAAC,YAAK;AAACwI,QAAAA,OAAO,EAACtI;AAAT,gBAAkB,qLAAvB;AAAA,YAAuD;AAACqmH,QAAAA,YAAY,EAAC7lH,CAAd;AAAgB4pI,QAAAA,cAAc,EAAC9pI,CAA/B;AAAiCgmF,QAAAA,IAAI,EAACpmF,CAAtC;AAAwCoqI,QAAAA,iBAAiB,EAAC3pI,CAA1D;AAA4DosI,QAAAA,uBAAuB,EAAChtI,CAApF;AAAsFqpI,QAAAA,cAAc,EAAChpI,CAArG;AAAuGqiI,QAAAA,aAAa,EAAChiI,CAArH;AAAuHyqI,QAAAA,oBAAoB,EAAC1pI,CAA5I;AAA8IgqI,QAAAA,cAAc,EAAC1qI,CAA7J;AAA+J2qI,QAAAA,aAAa,EAAC7qI,CAA7K;AAA+K6pI,QAAAA,kBAAkB,EAACzpI;AAAlM,UAAqM,MAA5P;AAAiQ,aAAO,IAAIhB,CAAJ,CAAM;AAACqmH,QAAAA,YAAY,EAAC7lH,CAAd;AAAgB8lF,QAAAA,IAAI,EAACpmF,CAArB;AAAuBoqI,QAAAA,iBAAiB,EAAC3pI,CAAzC;AAA2CosI,QAAAA,uBAAuB,EAAChtI,CAAnE;AAAqEqpI,QAAAA,cAAc,EAAChpI,CAApF;AAAsFqiI,QAAAA,aAAa,EAAChiI,CAApG;AAAsGyqI,QAAAA,oBAAoB,EAAC1pI,CAA3H;AAA6H,WAAGlB,CAAhI;AAAkI0tI,QAAAA,YAAY,EAACluI,CAA/I;AAAiJ2qI,QAAAA,kBAAkB,EAACzpI,CAApK;AAAsKitI,QAAAA,aAAa,EAACntI,CAApL;AAAsLotI,QAAAA,YAAY,EAACttI;AAAnM,OAAN,CAAP;AAAlQ;AAAsd;;AAAAutI,EAAAA,mBAAmB,CAACruI,CAAD,EAAG;AAAC,YAAOA,CAAC,CAACuD,IAAT;AAAe,WAAI,iBAAJ;AAAsB,eAAM,EAAC,GAAG,KAAKmnI,qBAAT;AAA+Bx0H,UAAAA,MAAM,EAAClW,CAAC,CAACkW;AAAxC,SAAN;;AAAsD,WAAI,WAAJ;AAAgB,eAAM,EAAC,GAAG,KAAK40H,eAAT;AAAyB50H,UAAAA,MAAM,EAAClW,CAAC,CAAC+5H;AAAlC,SAAN;;AAAmD,WAAI,MAAJ;AAAW,eAAM,EAAC,GAAG,KAAKoR,WAAT;AAAqBj1H,UAAAA,MAAM,EAAClW,CAAC,CAAC+5H;AAA9B,SAAN;;AAA+C;AAAQ,eAAO,IAAP;AAAhO;AAA6O;;AAAM4T,EAAAA,gBAAgB,CAAC3tI,CAAD,EAAG;AAAA;;AAAA;AAAC,YAAK;AAACwI,QAAAA,OAAO,EAACtI;AAAT,gBAAkB,uKAAvB;AAAA,YAAgD;AAACqmH,QAAAA,YAAY,EAAC7lH,CAAd;AAAgBiiI,QAAAA,aAAa,EAACniI,CAA9B;AAAgC+pI,QAAAA,WAAW,EAACnqI;AAA5C,UAA+C,MAA/F;AAAoG,aAAO,IAAIF,CAAJ,CAAM;AAACqmH,QAAAA,YAAY,EAAC7lH,CAAd;AAAgBiiI,QAAAA,aAAa,EAACniI,CAA9B;AAAgC+pI,QAAAA,WAAW,EAACnqI,CAA5C;AAA8C,WAAG,MAAI,CAACiuI,mBAAL,CAAyBruI,CAAzB;AAAjD,OAAN,CAAP;AAArG;AAAiM;;AAAAgtI,EAAAA,oBAAoB,CAAChtI,CAAD,EAAG;AAAC,UAAK;AAACsJ,MAAAA,QAAQ,EAACpJ,CAAV;AAAY6qI,MAAAA,YAAY,EAACrqI;AAAzB,QAA4B,IAAjC;AAAA,UAAsCF,CAAC,GAACR,CAAC,CAAC+C,KAAF,IAAS,KAAKuG,QAAL,CAAcglI,aAA/D;AAA6E,WAAOhjI,4DAAC,CAAC,mBAAD,EAAqB;AAACi0G,MAAAA,WAAW,EAAC,KAAKgvB,uBAAlB;AAA0CC,MAAAA,WAAW,EAAC,KAAKD,uBAA3D;AAAmF99G,MAAAA,IAAI,EAAC,IAAxF;AAA6F,wBAAiBzwB,CAAC,CAACw1C,GAAhH;AAAoHznC,MAAAA,WAAW,EAACvN,CAAhI;AAAkIglF,MAAAA,OAAO,EAACtlF,CAAC,CAAC,cAAYF,CAAC,CAACuD,IAAd,GAAmB,eAAnB,GAAmC,QAApC,CAA3I;AAAyLgjH,MAAAA,YAAY,EAAC,KAAKA,YAA3M;AAAwN36G,MAAAA,GAAG,EAAE,mBAAkB5L,CAAC,CAACw1C,GAAI,EAArP;AAAuPyuF,MAAAA,qBAAqB,EAACjkI,CAAC,IAAE;AAACA,QAAAA,CAAC,CAAC0wB,cAAF,IAAmBhwB,CAAC,CAAC+a,GAAF,EAAnB;AAA2B,cAAMvb,CAAC,GAACQ,CAAC,CAAC8oB,EAAF,CAAK,CAAC,CAAN,CAAR;AAAiBtpB,QAAAA,CAAC,GAAC,KAAK6pI,mBAAL,GAAyB7pI,CAAC,CAACs1C,GAA5B,GAAgC,KAAKq0F,kBAAL,GAAwB,CAAC,CAA1D;AAA4D;AAAzX,KAArB,EAAgZ,KAAKG,aAAL,CAAmBlwH,GAAnB,CAAuB9Z,CAAvB,GAA2B2uG,MAA3B,EAAhZ,CAAR;AAA6b;;AAAA8/B,EAAAA,qBAAqB,CAACzuI,CAAD,EAAG;AAAC,WAAOA,CAAC,GAACA,CAAC,CAACsyF,OAAF,CAAWtyF,CAAC,IAAEA,CAAC,CAACmiH,QAAhB,EAA2Bx7G,MAA3B,CAAmC,CAAC;AAAC0mI,MAAAA,MAAM,EAACrtI,CAAR;AAAUygI,MAAAA,KAAK,EAACvgI;AAAhB,KAAD,KAAsB,CAACF,CAAD,IAAIE,CAAC,EAAEywB,IAAP,IAAa,CAACzwB,CAAC,CAACg6G,QAAhB,IAA0Bh6G,CAAC,CAACwuI,WAArF,EAAmGrqI,OAAnG,GAA6GkB,GAA7G,CAAkH,CAAC;AAACxC,MAAAA,KAAK,EAAC/C,CAAP;AAASygI,MAAAA,KAAK,EAACvgI;AAAf,KAAD,KAAqB;AAAC,YAAMQ,CAAC,GAAC,MAAI,KAAKiuI,wBAAL,CAA8BzuI,CAA9B,CAAZ;;AAA6C,aAAOoL,4DAAC,CAAC,mBAAD,EAAqB;AAACi0G,QAAAA,WAAW,EAAC,KAAKqvB,uBAAlB;AAA0CJ,QAAAA,WAAW,EAAC,KAAKI,uBAA3D;AAAmFn+G,QAAAA,IAAI,EAAC,IAAxF;AAA6F1iB,QAAAA,WAAW,EAAC/N,CAAzG;AAA2GwlF,QAAAA,OAAO,EAACtlF,CAAC,CAAC6C,KAArH;AAA2HwjH,QAAAA,YAAY,EAAC,KAAKA,YAA7I;AAA0J36G,QAAAA,GAAG,EAAE,cAAa1L,CAAC,CAACs1C,GAAI,EAAlL;AAAoLyuF,QAAAA,qBAAqB,EAACjkI,CAAC,IAAE;AAACA,UAAAA,CAAC,CAAC0wB,cAAF,IAAmBhwB,CAAC,EAApB;AAAuB;AAArO,OAArB,EAA4PR,CAAC,CAACyuG,MAAF,EAA5P,EAAuQrjG,4DAAC,CAAC,gBAAD,EAAkB;AAAC2xH,QAAAA,UAAU,EAAC,aAAZ;AAA0Bpd,QAAAA,OAAO,EAACn/G,CAAlC;AAAoC+nH,QAAAA,IAAI,EAAC,gBAAzC;AAA0DxvG,QAAAA,KAAK,EAAC;AAAhE,OAAlB,EAA0F,KAAKutG,cAAL,CAAoB4d,IAA9G,CAAxQ,CAAR;AAAqY,KAA1jB,CAAD,GAA8jB,EAAtkB;AAAykB;;AAAAuK,EAAAA,wBAAwB,CAAC3uI,CAAD,EAAG;AAACA,IAAAA,CAAC,CAAC2wB,IAAF,GAAO,CAAC,CAAR,EAAU,KAAKk5G,kBAAL,GAAwB,CAAC,CAAnC;AAAqC;;AAAAgF,EAAAA,sBAAsB,CAAC7uI,CAAD,EAAG;AAAC,SAAK6pI,kBAAL,KAA0B,KAAKA,kBAAL,GAAwB,CAAC,CAAzB,EAA2B9gI,kEAAC,CAAC/I,CAAD,CAAtD;AAA2D;;AAAAuuI,EAAAA,uBAAuB,CAACvuI,CAAD,EAAG;AAAC,SAAK+pI,mBAAL,KAA2B/pI,CAAC,CAAColI,OAAF,CAAU0J,QAArC,KAAgD,KAAK/E,mBAAL,GAAyB,IAAzB,EAA8BhhI,kEAAC,CAAC/I,CAAD,CAA/E;AAAoF;;AAAA4uI,EAAAA,uBAAuB,CAAC5uI,CAAD,EAAG;AAAC,SAAK8pI,mBAAL,KAA2B,KAAKA,mBAAL,GAAyB,CAAC,CAA1B,EAA4B/gI,kEAAC,CAAC/I,CAAD,CAAxD;AAA6D;;AAAAutI,EAAAA,YAAY,CAACvtI,CAAD,EAAG;AAAC,UAAK;AAACwO,MAAAA,OAAO,EAACtO,CAAT;AAAWw8H,MAAAA,SAAS,EAACh8H,CAArB;AAAuBosI,MAAAA,cAAc,EAACtsI,CAAtC;AAAwC2pI,MAAAA,aAAa,EAAC/pI,CAAtD;AAAwDqmH,MAAAA,eAAe,EAAC;AAAC0X,QAAAA,WAAW,EAACt9H,CAAb;AAAei/H,QAAAA,cAAc,EAAC7/H,CAA9B;AAAgCulF,QAAAA,OAAO,EAACllF,CAAxC;AAA0C++H,QAAAA,IAAI,EAAC1+H;AAA/C,OAAxE;AAA0HksI,MAAAA,YAAY,EAACnrI,CAAvI;AAAyIihI,MAAAA,aAAa,EAAC3hI,CAAvJ;AAAyJypI,MAAAA,UAAU,EAACvpI,CAApK;AAAsKspI,MAAAA,iBAAiB,EAAClpI,CAAxL;AAA0LgI,MAAAA,QAAQ,EAAC9H;AAAnM,QAAsM,IAA3M;AAAA,UAAgNJ,CAAC,GAAC,CAACkK,4DAAC,CAAC,mBAAD,EAAqB;AAACi0G,MAAAA,WAAW,EAAC,KAAKsvB,sBAAlB;AAAyCL,MAAAA,WAAW,EAAC,KAAKK,sBAA1D;AAAiFp+G,MAAAA,IAAI,EAAC,IAAtF;AAA2F2tG,MAAAA,QAAQ,EAACv9H,CAApG;AAAsGq9H,MAAAA,MAAM,EAAC,CAACh+H,CAA9G;AAAgHw8H,MAAAA,SAAS,EAACh8H,CAA1H;AAA4H2iI,MAAAA,WAAW,EAACpjI,CAAxI;AAA0IulF,MAAAA,OAAO,EAACllF,CAAC,GAACkB,CAAC,CAACw+H,WAAH,GAAe,KAAK,CAAvK;AAAyKzZ,MAAAA,YAAY,EAAC,KAAKA,YAA3L;AAAwM36G,MAAAA,GAAG,EAAC,gBAA5M;AAA6N03H,MAAAA,sBAAsB,EAAC,MAAI,KAAK90H,OAAL,GAAa,CAAC;AAAtQ,KAArB,EAA8RlD,4DAAC,CAAC,cAAD,EAAgB;AAACi0G,MAAAA,WAAW,EAACv/G,CAAC,IAAE;AAACA,QAAAA,CAAC,CAACgvB,gBAAF,CAAmB,SAAnB,EAA6B,KAAKi9G,cAAlC,GAAkDjsI,CAAC,CAACgvB,gBAAF,CAAmB,UAAnB,EAA8B,KAAKg9G,gBAAnC,CAAlD;AAAuG,OAAxH;AAAyHxsB,MAAAA,YAAY,EAACx/G,CAAC,IAAE;AAACA,QAAAA,CAAC,CAAC+uB,mBAAF,CAAsB,SAAtB,EAAgC,KAAKk9G,cAArC,GAAqDjsI,CAAC,CAAC+uB,mBAAF,CAAsB,UAAtB,EAAiC,KAAKi9G,gBAAtC,CAArD;AAA6G,OAAvP;AAAwP+C,MAAAA,OAAO,EAAC/uI,CAAC,IAAE,KAAKqrI,QAAL,CAAcrrI,CAAd,EAAgB,MAAhB,CAAnQ;AAA2RgvI,MAAAA,MAAM,EAAChvI,CAAC,IAAE,KAAKqrI,QAAL,CAAcrrI,CAAd,EAAgB,KAAhB,CAArS;AAA4T,yBAAkBI,CAA9U;AAAgVmqI,MAAAA,WAAW,EAAC7oI,CAA5V;AAA8VutI,MAAAA,aAAa,EAACzuI,CAA5W;AAA8WgqI,MAAAA,iBAAiB,EAAClpI,CAAhY;AAAkY4tI,MAAAA,WAAW,EAAC7jI,0EAA9Y;AAAgZo/H,MAAAA,UAAU,EAACjqI,CAAC,GAACU,CAAD,GAAG,EAA/Z;AAAka8tH,MAAAA,KAAK,EAAC5uH,CAAxa;AAA0awL,MAAAA,GAAG,EAAC,WAA9a;AAA0b6pB,MAAAA,KAAK,EAACj0B,CAAC,CAACw+H,WAAlc;AAA8cmC,MAAAA,YAAY,EAAC,KAAK6J,gBAAhe;AAAif5J,MAAAA,WAAW,EAAC,KAAK6J,cAAlgB;AAAihBvJ,MAAAA,mBAAmB,EAAC,QAAriB;AAA8iBC,MAAAA,aAAa,EAAC3hI,CAA5jB;AAA8jBmuI,MAAAA,mBAAmB,EAACnvI,CAAC,IAAE,KAAKovI,wBAAL,CAA8BpvI,CAA9B,CAArlB;AAAsnBqvI,MAAAA,oBAAoB,EAACrvI,CAAC,IAAE,KAAKsvI,yBAAL,CAA+BtvI,CAAC,CAACuvI,MAAjC,CAA9oB;AAAurBC,MAAAA,mBAAmB,EAACxvI,CAAC,IAAE,KAAKyqI,UAAL,GAAgBzqI,CAAC,CAACiI,MAAF,EAAUwiI,UAAV,IAAsB,EAApvB;AAAuvBgF,MAAAA,wBAAwB,EAACzvI,CAAC,IAAE,KAAKosI,yBAAL,CAA+BpsI,CAAC,CAACuvI,MAAjC;AAAnxB,KAAhB,EAA60BvvI,CAAC,EAAEqE,OAAH,GAAakB,GAAb,CAAkBvF,CAAC,IAAE,KAAK0vI,WAAL,CAAiB1vI,CAAjB,CAArB,CAA70B,EAAw3BA,CAAC,EAAE6N,MAAH,IAAWrN,CAAX,GAAa8K,4DAAC,CAAC,KAAD,EAAO;AAACkzG,MAAAA,KAAK,EAAC19G,mEAAP;AAAyB2nH,MAAAA,IAAI,EAAC;AAA9B,KAAP,EAA0Dn9G,4DAAC,CAAC,gBAAD,EAAkB;AAAC69G,MAAAA,IAAI,EAAC,MAAN;AAAax4F,MAAAA,IAAI,EAAC,CAAC,CAAnB;AAAqB1X,MAAAA,KAAK,EAAC;AAA3B,KAAlB,EAAqD,KAAK80H,qBAAL,EAArD,CAA3D,CAAd,GAA6J,IAArhC,CAA/R,CAAF,EAA6zC,KAAKU,qBAAL,CAA2BzuI,CAA3B,CAA7zC,EAA21C,KAAK+sI,2BAAh2C,CAAlN;AAA+kD,WAAO7sI,CAAC,GAACS,CAAC,GAAC2K,4DAAC,CAAC,cAAD,EAAgB;AAACM,MAAAA,GAAG,EAAC;AAAL,KAAhB,EAAkCxK,CAAlC,CAAF,GAAuCA,CAAzC,GAA2C,IAAnD;AAAwD;;AAAAsuI,EAAAA,WAAW,CAAC1vI,CAAD,EAAGE,CAAH,EAAKQ,CAAL,EAAO;AAAC,WAAO4K,4DAAC,CAACpK,oEAAD,EAAG;AAAC0uI,MAAAA,UAAU,EAAC,KAAKhG,WAAjB;AAA6BiG,MAAAA,OAAO,EAAC,KAAKxE,QAA1C;AAAmD7P,MAAAA,GAAG,EAAC16H,mDAAvD;AAAyDypI,MAAAA,WAAW,EAAC,KAAKA,WAA1E;AAAsF3mI,MAAAA,IAAI,EAAC5D,CAA3F;AAA6F4L,MAAAA,GAAG,EAAE,iBAAgB5L,CAAC,CAACwJ,KAAF,CAAQgsC,GAAI,EAA9H;AAAgIm1F,MAAAA,kBAAkB,EAAC,KAAKA,kBAAxJ;AAA2KmF,MAAAA,gBAAgB,EAAC,KAAK5/C,SAAL,CAAe4/C,gBAA3M;AAA4NxmI,MAAAA,QAAQ,EAAC,KAAKA,QAA1O;AAAmPk9G,MAAAA,cAAc,EAAC,KAAKA,cAAvQ;AAAsRnjH,MAAAA,MAAM,EAACnD,CAA7R;AAA+R6vI,MAAAA,YAAY,EAACrvI,CAA5S;AAA8SsvI,MAAAA,YAAY,EAAC,KAAK7F,aAAhU;AAA8U8F,MAAAA,wBAAwB,EAAC,KAAK/F,yBAA5W;AAAsYe,MAAAA,aAAa,EAAC,KAAKA,aAAzZ;AAAuatI,MAAAA,aAAa,EAAC,KAAKA,aAA1b;AAAwcyI,MAAAA,oBAAoB,EAAC,KAAKA,oBAAle;AAAuf3kB,MAAAA,eAAe,EAAC,KAAKA,eAA5gB;AAA4hBypB,MAAAA,QAAQ,EAAC,KAAKnE,gBAA1iB;AAA2jBoC,MAAAA,aAAa,EAAC,KAAKzC,cAA9kB;AAA6lByE,MAAAA,WAAW,EAAC,KAAKvE,YAA9mB;AAA2nBwE,MAAAA,gCAAgC,EAAC,KAAKvE,iCAAjqB;AAAmsBuC,MAAAA,YAAY,EAAC,KAAKzC,aAArtB;AAAmuB0E,MAAAA,wBAAwB,EAAC,KAAKvE;AAAjwB,KAAH,CAAR;AAAwyB;;AAAAQ,EAAAA,uBAAuB,CAAC;AAACd,IAAAA,IAAI,EAACxrI,CAAN;AAAQurI,IAAAA,MAAM,EAACrrI,CAAf;AAAiBorI,IAAAA,MAAM,EAAC5qI,CAAxB;AAA0B2rI,IAAAA,QAAQ,EAAC7rI;AAAnC,GAAD,EAAuC;AAAC,UAAMJ,CAAC,GAAC0B,8EAAC,CAACpB,CAAD,CAAT;AAAA,UAAaG,CAAC,GAACiB,8EAAC,CAAC9B,CAAD,CAAhB;AAAA,UAAoBC,CAAC,GAAC6B,8EAAC,CAAC5B,CAAD,CAAvB;AAA2B,SAAKgwF,SAAL,CAAeogD,YAAf,CAA4BlwI,CAA5B,EAA8BH,CAA9B,EAAgCY,CAAhC,EAAkCL,CAAlC;AAAqC;;AAAA8uI,EAAAA,yBAAyB,CAACtvI,CAAD,EAAG;AAAC,UAAK;AAACurI,MAAAA,MAAM,EAACrrI,CAAR;AAAUorI,MAAAA,MAAM,EAAC5qI,CAAjB;AAAmB6vI,MAAAA,QAAQ,EAAC/vI;AAA5B,QAA+BR,CAApC;AAAsCE,IAAAA,CAAC,CAACswI,YAAF,CAAe9vI,CAAf,EAAiBR,CAAC,CAACiiH,QAAF,CAAW3hH,CAAX,CAAjB;AAAgC;;AAAAgsI,EAAAA,WAAW,CAACxsI,CAAD,EAAGE,CAAH,EAAK;AAAC,QAAGF,CAAH,EAAK,IAAGA,CAAC,CAACgvH,KAAF,KAAU,KAAKmb,aAAlB,EAAgC5nI,sFAAC,CAAC,KAAKikF,IAAL,EAAWjhF,GAAX,EAAgB4D,MAAjB,EAAwBjJ,CAAxB,CAAD,CAAhC,KAAgE;AAAC,YAAMQ,CAAC,GAACoB,8EAAC,CAAC9B,CAAD,CAAT;AAAa,UAAG,CAACU,CAAJ,EAAM;AAAOyB,MAAAA,2FAAC,CAACzB,CAAD,EAAGR,CAAH,CAAD;AAAO;AAAC;;AAAAkvI,EAAAA,wBAAwB,CAACpvI,CAAD,EAAG;AAAC,UAAK;AAAC2iI,MAAAA,aAAa,EAACziI,CAAf;AAAiB+qI,MAAAA,aAAa,EAACvqI;AAA/B,QAAkC,IAAvC;AAA4C,QAAG,WAASR,CAAZ,EAAc;AAAO,UAAMM,CAAC,GAACR,CAAC,CAACiI,MAAF,CAASgjI,aAAT,CAAuB1lI,GAAvB,CAA4BvF,CAAC,IAAE8B,8EAAC,CAAC9B,CAAD,CAAhC,EAAsC2G,MAAtC,CAA6C4H,OAA7C,CAAR;AAA8D7N,IAAAA,CAAC,CAAC0I,SAAF,IAAc1I,CAAC,CAACqhB,OAAF,CAAUvhB,CAAV,CAAd;AAA2B;;AAA3xY,CAAzB;AAAszYR,uDAAC,CAAC,CAACW,sFAAC,EAAF,CAAD,EAAO2B,CAAC,CAAC6F,SAAT,EAAmB,aAAnB,EAAiC,KAAK,CAAtC,CAAD,EAA0CnI,uDAAC,CAAC,CAACW,sFAAC,EAAF,CAAD,EAAO2B,CAAC,CAAC6F,SAAT,EAAmB,sBAAnB,EAA0C,KAAK,CAA/C,CAA3C,EAA6FnI,uDAAC,CAAC,CAACW,sFAAC,EAAF,CAAD,EAAO2B,CAAC,CAAC6F,SAAT,EAAmB,oBAAnB,EAAwC,KAAK,CAA7C,CAA9F,EAA8InI,uDAAC,CAAC,CAACW,sFAAC,EAAF,CAAD,EAAO2B,CAAC,CAAC6F,SAAT,EAAmB,qBAAnB,EAAyC,KAAK,CAA9C,CAA/I,EAAgMnI,uDAAC,CAAC,CAACW,sFAAC,EAAF,CAAD,EAAO2B,CAAC,CAAC6F,SAAT,EAAmB,qBAAnB,EAAyC,KAAK,CAA9C,CAAjM,EAAkPnI,uDAAC,CAAC,CAACW,sFAAC,EAAF,CAAD,EAAO2B,CAAC,CAAC6F,SAAT,EAAmB,eAAnB,EAAmC,KAAK,CAAxC,CAAnP,EAA8RnI,uDAAC,CAAC,CAACW,sFAAC,EAAF,CAAD,EAAO2B,CAAC,CAAC6F,SAAT,EAAmB,aAAnB,EAAiC,IAAjC,CAA/R,EAAsUnI,uDAAC,CAAC,CAACW,sFAAC,EAAF,CAAD,EAAO2B,CAAC,CAAC6F,SAAT,EAAmB,cAAnB,EAAkC,IAAlC,CAAvU,EAA+WnI,uDAAC,CAAC,CAACW,sFAAC,EAAF,CAAD,EAAO2B,CAAC,CAAC6F,SAAT,EAAmB,gBAAnB,EAAoC,IAApC,CAAhX,EAA0ZnI,uDAAC,CAAC,CAACW,sFAAC,EAAF,CAAD,EAAO2B,CAAC,CAAC6F,SAAT,EAAmB,6BAAnB,EAAiD,IAAjD,CAA3Z,EAAkdnI,uDAAC,CAAC,CAACW,sFAAC,CAAC;AAAC0H,EAAAA,QAAQ,EAAC,CAAC;AAAX,CAAD,CAAF,CAAD,EAAoB/F,CAAC,CAAC6F,SAAtB,EAAgC,kBAAhC,EAAmD,KAAK,CAAxD,CAAnd,EAA8gBnI,uDAAC,CAAC,CAACW,sFAAC,EAAF,CAAD,EAAO2B,CAAC,CAAC6F,SAAT,EAAmB,gBAAnB,EAAoC,KAAK,CAAzC,CAA/gB,EAA2jBnI,uDAAC,CAAC,CAACW,sFAAC,EAAF,CAAD,EAAO2B,CAAC,CAAC6F,SAAT,EAAmB,WAAnB,EAA+B,KAAK,CAApC,CAA5jB,EAAmmBnI,uDAAC,CAAC,CAACW,sFAAC,EAAF,CAAD,EAAO2B,CAAC,CAAC6F,SAAT,EAAmB,aAAnB,EAAiC,KAAK,CAAtC,CAApmB,EAA6oBnI,uDAAC,CAAC,CAACW,sFAAC,EAAF,CAAD,EAAO2B,CAAC,CAAC6F,SAAT,EAAmB,mBAAnB,EAAuC,KAAK,CAA5C,CAA9oB,EAA6rBnI,uDAAC,CAAC,CAACW,sFAAC,EAAF,CAAD,EAAO2B,CAAC,CAAC6F,SAAT,EAAmB,YAAnB,EAAgC,KAAK,CAArC,CAA9rB,EAAsuBnI,uDAAC,CAAC,CAACW,sFAAC,EAAF,CAAD,EAAO2B,CAAC,CAAC6F,SAAT,EAAmB,cAAnB,EAAkC,KAAK,CAAvC,CAAvuB,EAAixBnI,uDAAC,CAAC,CAACW,sFAAC,EAAF,CAAD,EAAO2B,CAAC,CAAC6F,SAAT,EAAmB,MAAnB,EAA0B,IAA1B,CAAlxB,EAAkzBnI,uDAAC,CAAC,CAACW,sFAAC,EAAF,CAAD,EAAO2B,CAAC,CAAC6F,SAAT,EAAmB,uBAAnB,EAA2C,KAAK,CAAhD,CAAnzB,EAAs2BnI,uDAAC,CAAC,CAACW,sFAAC,EAAF,CAAD,EAAO2B,CAAC,CAAC6F,SAAT,EAAmB,OAAnB,EAA2B,IAA3B,CAAv2B,EAAw4BnI,uDAAC,CAAC,CAACW,sFAAC,EAAF,CAAD,EAAO2B,CAAC,CAAC6F,SAAT,EAAmB,oBAAnB,EAAwC,KAAK,CAA7C,CAAz4B,EAAy7BnI,uDAAC,CAAC,CAACW,sFAAC,EAAF,CAAD,EAAO2B,CAAC,CAAC6F,SAAT,EAAmB,yBAAnB,EAA6C,KAAK,CAAlD,CAA17B,EAA++BnI,uDAAC,CAAC,CAACW,sFAAC,EAAF,CAAD,EAAO2B,CAAC,CAAC6F,SAAT,EAAmB,4BAAnB,EAAgD,KAAK,CAArD,CAAh/B,EAAwiCnI,uDAAC,CAAC,CAACW,sFAAC,EAAF,CAAD,EAAO2B,CAAC,CAAC6F,SAAT,EAAmB,yBAAnB,EAA6C,IAA7C,CAAziC,EAA4lCnI,uDAAC,CAAC,CAACW,sFAAC,EAAF,CAAD,EAAO2B,CAAC,CAAC6F,SAAT,EAAmB,iBAAnB,EAAqC,KAAK,CAA1C,CAA7lC,EAA0oCnI,uDAAC,CAAC,CAACW,sFAAC,EAAF,EAAK4H,oFAAC,CAAC,sCAAD,CAAN,CAAD,EAAiDjG,CAAC,CAAC6F,SAAnD,EAA6D,UAA7D,EAAwE,KAAK,CAA7E,CAA3oC,EAA2tCnI,uDAAC,CAAC,CAACW,sFAAC,EAAF,EAAK4H,oFAAC,CAAC,iBAAD,CAAN,CAAD,EAA4BjG,CAAC,CAAC6F,SAA9B,EAAwC,gBAAxC,EAAyD,KAAK,CAA9D,CAA5tC,EAA6xCnI,uDAAC,CAAC,CAACW,sFAAC,EAAF,CAAD,EAAO2B,CAAC,CAAC6F,SAAT,EAAmB,qBAAnB,EAAyC,KAAK,CAA9C,CAA9xC,EAA+0CnI,uDAAC,CAAC,CAACW,sFAAC,EAAF,CAAD,EAAO2B,CAAC,CAAC6F,SAAT,EAAmB,gBAAnB,EAAoC,KAAK,CAAzC,CAAh1C,EAA43CnI,uDAAC,CAAC,CAACW,sFAAC,EAAF,CAAD,EAAO2B,CAAC,CAAC6F,SAAT,EAAmB,0BAAnB,EAA8C,IAA9C,CAA73C,EAAi7CnI,uDAAC,CAAC,CAACW,sFAAC,CAAC;AAAC0H,EAAAA,QAAQ,EAAC,CAAC;AAAX,CAAD,CAAF,CAAD,EAAoB/F,CAAC,CAAC6F,SAAtB,EAAgC,cAAhC,EAA+C,KAAK,CAApD,CAAl7C,EAAy+CnI,uDAAC,CAAC,CAACW,sFAAC,CAAC;AAAC0H,EAAAA,QAAQ,EAAC,CAAC;AAAX,CAAD,CAAF,CAAD,EAAoB/F,CAAC,CAAC6F,SAAtB,EAAgC,kBAAhC,EAAmD,KAAK,CAAxD,CAA1+C,EAAqiDnI,uDAAC,CAAC,CAACW,sFAAC,EAAF,CAAD,EAAO2B,CAAC,CAAC6F,SAAT,EAAmB,kBAAnB,EAAsC,IAAtC,CAAtiD,EAAklDnI,uDAAC,CAAC,CAACW,sFAAC,EAAF,CAAD,EAAO2B,CAAC,CAAC6F,SAAT,EAAmB,kBAAnB,EAAsC,IAAtC,CAAnlD,EAA+nDnI,uDAAC,CAAC,CAACW,sFAAC,EAAF,CAAD,EAAO2B,CAAC,CAAC6F,SAAT,EAAmB,eAAnB,EAAmC,KAAK,CAAxC,CAAhoD,EAA2qDnI,uDAAC,CAAC,CAACW,sFAAC,EAAF,CAAD,EAAO2B,CAAC,CAAC6F,SAAT,EAAmB,eAAnB,EAAmC,KAAK,CAAxC,CAA5qD,EAAutDnI,uDAAC,CAAC,CAACW,sFAAC,CAAC;AAAC0H,EAAAA,QAAQ,EAAC,CAAC;AAAX,CAAD,CAAF,CAAD,EAAoB/F,CAAC,CAAC6F,SAAtB,EAAgC,WAAhC,EAA4C,KAAK,CAAjD,CAAxtD,EAA4wDnI,uDAAC,CAAC,CAACW,sFAAC,EAAF,CAAD,EAAO2B,CAAC,CAAC6F,SAAT,EAAmB,aAAnB,EAAiC,KAAK,CAAtC,CAA7wD,EAAszDnI,uDAAC,CAAC,CAACW,sFAAC,EAAF,CAAD,EAAO2B,CAAC,CAAC6F,SAAT,EAAmB,MAAnB,EAA0B,IAA1B,CAAvzD,EAAu1DnI,uDAAC,CAAC,CAACgH,wEAAC,CAAC,gBAAD,CAAF,EAAqBrG,sFAAC,CAAC;AAAC4C,EAAAA,IAAI,EAACjC,yEAACA;AAAP,CAAD,CAAtB,CAAD,EAAmCgB,CAAC,CAAC6F,SAArC,EAA+C,WAA/C,EAA2D,KAAK,CAAhE,CAAx1D,EAA25DnI,uDAAC,CAAC,CAACW,sFAAC,EAAF,CAAD,EAAO2B,CAAC,CAAC6F,SAAT,EAAmB,sBAAnB,EAA0C,KAAK,CAA/C,CAA55D,EAA88DnI,uDAAC,CAAC,CAACW,sFAAC,CAAC;AAAC4C,EAAAA,IAAI,EAAC/B,+EAAN;AAAQwI,EAAAA,WAAW,EAAC,CAAC;AAArB,CAAD,CAAF,CAAD,EAA8B1H,CAAC,CAAC6F,SAAhC,EAA0C,iBAA1C,EAA4D,KAAK,CAAjE,CAA/8D,EAAmhE7F,CAAC,GAACtC,uDAAC,CAAC,CAAC0B,uFAAC,CAAC,wBAAD,CAAF,CAAD,EAA+BY,CAA/B,CAAthE;AAAwjE,MAAM6I,CAAC,GAAC7I,CAAR;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACJztf;AACA;AACA;AACA;AACo0B,MAAM,sBAAsB,kDAAC,CAAC,eAAe,6IAA6I,oCAAoC,+BAA+B,uDAAuD,mCAAmC,2DAA2D,mBAAmB,OAAO,mFAAC,EAAE,mBAAmB,qrCAA0E,mBAAmB,4kCAAyE,YAAY,0vBAAoE,UAAU,oVAAkE,iBAAiB,iyBAAuE,UAAU,y/BAAkE,YAAY,wjBAAoE,CAAC,EAAE,SAAS,+BAA+B,kHAAkH,uGAAuG,GAAG,GAAG,uBAAuB,yFAAyF,GAAG,GAAG,wBAAwB,wDAAwD,QAAQ,4HAA4H,OAAO,4DAAC,sBAAsB,yIAAyI,qBAAqB,kHAAkH,MAAM,oBAAoB,wBAAwB,qVAAqV,qEAAqE,4DAAC,QAAQ,uDAAuD,oBAAoB,iBAAiB,6OAA6O,aAAa,MAAM,WAAW,MAAM,8EAA8E,0BAA0B,MAAM,wCAAwC,MAAM,mCAAmC,MAAM,aAAa,6FAA6F,OAAO,4DAAC,iBAAiB,sCAAsC,iBAAiB,kBAAkB,eAAe,0BAA0B,uBAAuB,mCAAmC,iDAAiD,OAAO,yEAAC,EAAE,gCAAgC,uDAAuD,EAAE,iCAAiC,MAAM,+BAA+B,OAAO,QAAQ,0JAA0J,mFAAC,4BAA4B,gBAAgB,4DAAC,iBAAiB,6HAA6H,OAAO,0BAA0B,MAAM,wDAAwD,MAAM,+EAA+E,MAAM,UAAU,uBAAuB,+BAA+B,QAAQ,6EAAC,EAAE,2DAA2D,uCAAuC,OAAO,4DAAC,mBAAmB,6LAA6L,QAAQ,4DAAC,iBAAiB,oBAAoB,mCAAmC,mBAAmB,GAAG,qBAAqB,MAAM,QAAQ,WAAW,+CAA+C,4DAAC,QAAQ,sDAAsD,MAAM,wBAAwB,aAAa,2BAA2B,MAAM,QAAQ,WAAW,2BAA2B,MAAM,0BAA0B,GAAG,OAAO,4DAAC,mBAAmB,kDAAkD,8EAAC,kBAAkB,MAAM,2FAA2F,8BAA8B,uBAAuB,2BAA2B,mBAAmB,iCAAiC,yCAAyC,0BAA0B,MAAM,wBAAwB,kBAAkB,OAAO,4DAAC,wBAAwB,8MAA8M,CAAC,4DAAC,mBAAmB,iFAAiF,mCAAmC,iCAAiC,gDAAgD,4DAAC,yBAAyB,sBAAsB,MAAM,EAAE,yCAAyC,wBAAwB,OAAO,oCAAoC,MAAM,MAAM,oDAAoD,+BAA+B,4DAAC,iBAAiB,wFAAwF,OAAO,kCAAkC,MAAM,MAAM,wDAAwD,+BAA+B,4DAAC,iBAAiB,oGAAoG,OAAO,iCAAiC,MAAM,kCAAkC,MAAM,2BAA2B,MAAM,QAAQ,uCAAuC,oDAAoD,4DAAC,mBAAmB,+JAA+J,OAAO,yBAAyB,MAAM,uEAAuE,MAAM,2BAA2B,4CAA4C,mBAAmB,wCAAwC,+EAAC,UAAU,6EAAC,IAAI,uCAAuC,4DAAC,iBAAiB,0KAA0K,4EAAC,cAAc,EAAE,GAAG,MAAM,oBAAoB,MAAM,+CAA+C,sGAAsG,iBAAiB,MAAM,qBAAqB,wBAAwB,mBAAmB,eAAe,oEAAoE,4EAA4E,kBAAkB,0BAA0B,MAAM,wBAAwB,OAAO,QAAQ,GAAG,wEAAwE,4DAAC,sBAAsB,qFAAqF,MAAM,0EAA0E,CAAC,4DAAC,QAAQ,mCAAmC,WAAW,4DAAC,iBAAiB,kEAAkE,EAAE,4DAAC,iBAAiB,6DAA6D,QAAQ,2BAA2B,MAAM,wBAAwB,MAAM,eAAe,4DAAC,QAAQ,uEAAuE,CAAC,4DAAC,mBAAmB,+EAA+E,CAAC,4DAAC,QAAQ,eAAe,2GAA2G,4DAAC,QAAQ,8EAA8E,CAAC,4DAAC,mBAAmB,oLAAoL,CAAC,4DAAC,QAAQ,eAAe,6BAA6B,oBAAoB,2BAA2B,OAAO,2EAAC,wCAAwC,EAAE,wBAAwB,oEAAoE,oBAAoB,+DAA+D,iBAAiB,MAAM,OAAO,OAAO,uBAAuB,GAAG,kBAAkB,MAAM,+CAA+C,GAAG,OAAO,4DAAC,mBAAmB,sEAAsE,8EAAC,8BAA8B,MAAM,gIAAgI,8BAA8B,uBAAuB,MAAM,MAAM,OAAO,mBAAmB,GAAG,iBAAiB,sCAAsC,gDAAgD,yBAAyB,4DAAC,SAAS,8EAA8E,gFAAC,IAAI,OAAO,sBAAsB,OAAO,4DAAC,IAAI,sHAAsH,YAAY,ooBAAooB,EAAE,oBAAoB,iEAAiE,wBAAwB,2CAA2C,yBAAyB,2BAA2B,0BAA0B,6CAA6C,kEAAC,IAAI,kCAAkC,yCAAyC,4CAA4C,oBAAoB,8BAA8B,4DAA4D,oCAAoC,mEAAC,0GAA0G,gBAAgB,0CAA0C,uBAAuB,aAAa,0BAA0B,qDAAqD,oCAAoC,uDAAC,EAAE,sFAAC,qCAAqC,uDAAC,EAAE,sFAAC,kCAAkC,uDAAC,EAAE,sFAAC,8BAA8B,uDAAC,EAAE,sFAAC,sCAAsC,uDAAC,EAAE,sFAAC,+BAA+B,uDAAC,EAAE,sFAAC,6CAA6C,uDAAC,EAAE,sFAAC,2CAA2C,uDAAC,EAAE,sFAAC,mCAAmC,uDAAC,EAAE,sFAAC,yCAAyC,uDAAC,EAAE,sFAAC,mCAAmC,uDAAC,EAAE,sFAAC,sCAAsC,uDAAC,EAAE,sFAAC,wCAAwC,uDAAC,EAAE,sFAAC,uCAAuC,uDAAC,EAAE,sFAAC,2DAA2D,uDAAC,EAAE,sFAAC,mDAAmD,uDAAC,EAAE,sFAAC,iCAAiC,uDAAC,EAAE,sFAAC,uCAAuC,uDAAC,EAAE,sFAAC,uCAAuC,uDAAC,EAAE,sFAAC,wCAAwC,uDAAC,EAAE,sFAAC,wCAAwC,uDAAC,EAAE,sFAAC,mDAAmD,uDAAC,EAAE,sFAAC,0CAA0C,uDAAC,EAAE,sFAAC,+CAA+C,uDAAC,EAAE,sFAAC,+BAA+B,uDAAC,EAAE,sFAAC,4CAA4C,uDAAC,EAAE,sFAAC,mDAAmD,uDAAC,EAAE,sFAAC,4CAA4C,uDAAC,EAAE,sFAAC,uCAAuC,uDAAC,EAAE,sFAAC,6CAA6C,uDAAC,EAAE,sFAAC,yCAAyC,uDAAC,EAAE,sFAAC,4CAA4C,uDAAC,EAAE,sFAAC,mDAAmD,uDAAC,EAAE,sFAAC,sDAAsD,uDAAC,EAAE,sFAAC,oDAAoD,uDAAC,EAAE,sFAAC,mDAAmD,uDAAC,EAAE,sFAAC,2CAA2C,uDAAC,EAAE,sFAAC,mCAAmC,uDAAC,EAAE,sFAAC,4CAA4C,uDAAC,EAAE,sFAAC,6CAA6C,uDAAC,EAAE,sFAAC,sCAAsC,uDAAC,EAAE,sFAAC,0CAA0C,uDAAC,EAAE,sFAAC,0CAA0C,uDAAC,EAAE,sFAAC,6CAA6C,UAA+B;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACJzpc;AACA;AACA;AACA;AACwlB,SAAS,qHAAqH,YAAY,kEAAQ,CAAC,qDAAC,EAAE,oBAAoB,wEAAiB,CAAC,eAAe,iJAAiJ,aAAa,iBAAiB,6DAAC,uDAAuD,2DAAC,EAAE,6DAAC,wHAAwH,6DAAC,MAAM,oEAAC,mFAAmF,UAAU,sCAAsC,YAAY,MAAM,OAAO,MAAM,+CAA+C,iBAAiB,6DAA6D,mBAAmB,4CAA4C,gBAAgB,EAAE,sBAAsB,iBAAiB,+DAA+D,mCAAmC,0EAAC,UAAU,0EAAC,MAAM,iBAAiB,MAAM,mBAAmB,qDAAqD,iHAAiH,2BAA2B,+HAA+H,0BAA0B,6HAA6H,mBAAmB,MAAM,gFAAgF,MAAM,WAAW,qDAAC,EAAE,wFAAwF,EAAE,kBAAkB,mCAAmC,sBAAsB,8CAA8C,8EAAC,iBAAiB,wBAAwB,+EAA+E,6DAAC,gHAAgH,eAAe,iCAAiC,oEAAC,wDAAwD,OAAO,wBAAwB,6BAA6B,mCAAmC,mGAAmG,mBAAmB,MAAM,mBAAmB,MAAM,eAAe,yDAAyD,GAAG,gBAAgB,MAAM,mBAAmB,WAAW,eAAe,qCAAqC,oBAAoB,cAAc,MAAM,mBAAmB,MAAM,gBAAgB,gDAAgD,sBAAsB,GAAG,iBAAiB,2CAA2C,eAAe,MAAM,OAAO,MAAM,sFAAsF,6DAAC,qEAAqE,2DAAC,EAAE,6DAAC,qEAAqE,2DAAC,0CAA0C,uDAAC,EAAE,sFAAC,oDAAoD,uDAAC,EAAE,sFAAC,kDAAkD,uDAAC,EAAE,sFAAC,EAAE,eAAe,0CAA0C,uDAAC,EAAE,sFAAC,EAAE,OAAO,0CAA0C,uDAAC,EAAE,sFAAC,EAAE,YAAY,6BAA6B,uDAAC,EAAE,sFAAC,mCAAmC,uDAAC,EAAE,sFAAC,iCAAiC,uDAAC,EAAE,sFAAC,kDAAkD,UAA+B;;;;;;;;;;;;;;;;;;;;;;;ACJhqI;AACA;AACA;AACA;AACqU,oBAAoB,yDAAC,CAAC,cAAc,+MAA+M,uDAAC,EAAE,sFAAC,EAAE,4BAA4B,0CAA0C,uDAAC,EAAE,sFAAC,EAAE,4BAA4B,qCAAqC,uDAAC,EAAE,sFAAC,EAAE,4BAA4B,wCAAwC,uDAAC,EAAE,sFAAC,EAAE,4BAA4B,gCAAgC,uDAAC,EAAE,sFAAC,EAAE,4BAA4B,gCAAgC,uDAAC,EAAE,sFAAC,EAAE,4BAA4B,8BAA8B,uDAAC,EAAE,sFAAC,EAAE,4BAA4B,iCAAiC,uDAAC,EAAE,sFAAC,EAAE,4BAA4B,0CAA0C,uDAAC,EAAE,sFAAC,EAAE,4BAA4B,oDAAoD,uDAAC,EAAE,sFAAC,wDAAwD,UAA+B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACJzxC;AACA;AACA;AACA;AACwgC,MAAM,QAAQ,kEAAQ,EAAE,yCAAyC,uEAAC,UAAU,OAAO,yEAAC,QAAQ,yEAAC,QAAQ,yEAAC,EAAE,IAAI,kEAAQ,2CAA2C,sBAAsB,wEAAC,CAAC,yDAAC,GAAG,eAAe,4GAA4G,kEAAQ,qLAAqL,aAAa,oBAAoB,6DAAC,4GAA4G,2DAAC,EAAE,6DAAC,6EAA6E,2DAAC,EAAE,6DAAC,kDAAkD,2DAAC,EAAE,6DAAC,mDAAmD,2DAAC,qDAAqD,SAAS,WAAW,2CAA2C,UAAU,gEAAgE,uBAAuB,MAAM,yBAAyB,MAAM,2DAA2D,YAAY,6BAA6B,mBAAmB,MAAM,YAAY,MAAM,8EAA8E,gBAAgB,MAAM,eAAe,MAAM,2CAA2C,+CAA+C,oDAAoD,aAAa,sEAAsE,0DAAC,SAAS,eAAe,2EAA2E,gBAAgB,wBAAwB,YAAY,QAAQ,kEAAC,qBAAqB,cAAc,kEAAC,8BAA8B,kEAAC,sBAAsB,kEAAC,oCAAoC,aAAa,0BAA0B,iBAAiB,MAAM,oCAAoC,MAAM,2EAA2E,eAAe,MAAM,oDAAoD,MAAM,2DAA2D,cAAc,2BAA2B,eAAe,mBAAmB,iBAAiB,4BAA4B,+CAA+C,qFAAC,8BAA8B,iCAAiC,sDAAsD,qBAAqB,OAAO,oFAAC,aAAa,QAAQ,cAAc,wcAAwc,EAAE,uBAAuB,qBAAqB,6BAA6B,sBAAsB,iDAAiD,uBAAuB,sBAAsB,4BAA4B,mBAAmB,MAAM,8BAA8B,iDAAiD,uCAAuC,oBAAoB,MAAM,WAAW,4CAA4C,iBAAiB,iBAAiB,mEAAmE,sBAAsB,iDAAiD,4BAA4B,iFAAiF,6DAAC,uDAAuD,oBAAoB,8CAA8C,8EAAC,UAAU,+IAA+I,yBAAyB,oEAAoE,0BAA0B,uDAAuD,uBAAuB,oBAAoB,4EAAC,WAAW,wLAAwL,gBAAgB,uDAAC,YAAY,yBAAyB,yDAAyD,8CAA8C,8EAAC,4CAA4C,QAAQ,4FAAC,IAAI,mBAAmB,6DAAC,iBAAiB,oDAAoD,EAAE,2DAAC,OAAO,uDAAC,EAAE,sFAAC,EAAE,OAAO,yCAAyC,uDAAC,EAAE,sFAAC,sCAAsC,uDAAC,EAAE,sFAAC,oDAAoD,uDAAC,EAAE,sFAAC,EAAE,KAAK,2DAAC,CAAC,kCAAkC,uDAAC,EAAE,sFAAC,2CAA2C,uDAAC,EAAE,sFAAC,EAAE,YAAY,wCAAwC,uDAAC,EAAE,sFAAC,EAAE,YAAY,6BAA6B,uDAAC,EAAE,sFAAC,iCAAiC,uDAAC,EAAE,sFAAC,EAAE,YAAY,oCAAoC,uDAAC,EAAE,sFAAC,gCAAgC,uDAAC,EAAE,sFAAC,EAAE,YAAY,iCAAiC,uDAAC,EAAE,sFAAC,kDAAkD,uDAAC,EAAE,sFAAC,EAAE,eAAe,0CAA0C,uDAAC,EAAE,sFAAC,+BAA+B,uDAAC,EAAE,sFAAC,EAAE,KAAK,0DAAC,CAAC,+BAA+B,uDAAC,EAAE,8EAAC,yCAAyC,uDAAC,EAAE,sFAAC,iCAAiC,uDAAC,EAAE,sFAAC,EAAE,SAAS,gCAAgC,uDAAC,EAAE,sFAAC,8BAA8B,uDAAC,EAAE,sFAAC,EAAE,YAAY,kCAAkC,uDAAC,EAAE,sFAAC,EAAE,YAAY,gCAAgC,uDAAC,EAAE,sFAAC,+BAA+B,uDAAC,EAAE,sFAAC,gCAAgC,uDAAC,EAAE,sFAAC,EAAE,YAAY,6CAA6C,uDAAC,EAAE,sFAAC,EAAE,YAAY,kDAAkD,uDAAC,EAAE,sFAAC,EAAE,YAAY,0CAA0C,uDAAC,EAAE,sFAAC,wCAAwC,UAA+B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACJ15N;AACA;AACA;AACA;AACA;AAA8C;AAA+D;AAAmD;AAAiE;AAA6E;AAA0B;AAA6B;AAAgC;AAA6E;AAA4B;AAAyD;AAAgD;AAA+C,IAAIL,CAAC,GAAC,cAAc/B,wEAAC,CAACW,mDAAD,CAAf,CAAmB;AAAC4B,EAAAA,WAAW,CAACzC,CAAD,EAAGE,CAAH,EAAK;AAAC,UAAMF,CAAN,EAAQE,CAAR,GAAW,KAAKywI,OAAL,GAAa,IAAxB,EAA6B,KAAKp/H,SAAL,GAAe,IAA5C,EAAiD,KAAKvE,OAAL,GAAa,IAA9D,EAAmE,KAAK0hI,WAAL,GAAiB,CAAC,CAArF,EAAuF,KAAKl9H,KAAL,GAAW,IAAlG,EAAuG,KAAKk0G,QAAL,GAAc,IAArH,EAA0H,KAAK/0F,IAAL,GAAU,CAAC,CAArI,EAAuI,KAAKniB,OAAL,GAAa,CAAC,CAArJ;AAAuJ;;AAAA3K,EAAAA,UAAU,GAAE;AAAC,SAAKH,UAAL,CAAgB,CAAChD,6DAAC,CAAE,MAAI,KAAKkwI,gBAAX,EAA8B,MAAI,KAAKC,aAAL,EAAlC,EAAwD5wI,2DAAxD,CAAF,EAA6DS,6DAAC,CAAE,MAAI,CAAC,KAAKiwI,OAAN,EAAc,KAAKG,cAAnB,CAAN,EAA2C,MAAI,KAAKC,aAAL,EAA/C,EAAqE9wI,2DAArE,CAA9D,CAAhB;AAAwJ;;AAAAmE,EAAAA,OAAO,GAAE;AAAC,SAAKusI,OAAL,GAAahwI,4DAAC,CAAC,KAAKgwI,OAAN,CAAd;AAA6B;;AAAoB,MAAhBC,gBAAgB,GAAE;AAAC,UAAK;AAAC5jI,MAAAA,OAAO,EAAChN,CAAT;AAAW0lH,MAAAA,QAAQ,EAACxlH;AAApB,QAAuB,IAA5B;AAAiC,QAAG,CAACA,CAAJ,EAAM,OAAM,CAAC,CAAP;AAAS,UAAMS,CAAC,GAAC,QAAR;AAAiB,WAAOX,CAAC,KAAGW,CAAJ,IAAO,QAAMX,CAAN,IAAS,CAAC,CAACuG,KAAK,CAACC,OAAN,CAAcxG,CAAd,CAAX,IAA6BA,CAAC,CAAC8xB,QAAF,CAAWnxB,CAAX,CAA3C;AAAyD;;AAAkB,MAAdmwI,cAAc,GAAE;AAAC,UAAK;AAACprB,MAAAA,QAAQ,EAAC1lH,CAAV;AAAYgxI,MAAAA,gBAAgB,EAAC9wI;AAA7B,QAAgC,IAArC;AAAA,UAA0CS,CAAC,GAACX,CAAC,EAAEwmF,IAA/C;AAAoD,WAAOtmF,CAAC,IAAES,CAAH,GAAK;AAAC6lF,MAAAA,IAAI,EAAC7lF,CAAN;AAAQowD,MAAAA,UAAU,EAAC,CAAC7wD,CAAD;AAAnB,KAAL,GAA6B,EAApC;AAAuC;;AAAoB,MAAhB8wI,gBAAgB,GAAE;AAAC,UAAMhxI,CAAC,GAAC,KAAK0lH,QAAL,EAAel8G,KAAvB;AAA6B,QAAG,CAACxJ,CAAD,IAAI,uBAAqBA,CAAC,CAACuD,IAA9B,EAAmC,OAAO,IAAP;AAAY,UAAMrD,CAAC,GAACwB,uEAAC,CAAC1B,CAAD,CAAD,GAAKA,CAAL,GAAO,IAAf;AAAA,UAAoBW,CAAC,GAACX,CAAC,EAAEqD,MAAzB;AAAA,UAAgC3C,CAAC,GAAC,QAAMC,CAAN,IAAS,UAASA,CAAlB,IAAqB,gBAAcA,CAAC,CAAC4C,IAArC,GAA0CrD,CAAC,EAAEmK,MAA7C,GAAoD,IAAtF;AAAA,UAA2FpK,CAAC,GAAC,EAA7F;AAAgG,WAAOS,CAAC,IAAEC,CAAH,GAAK;AAAC6I,MAAAA,KAAK,EAAC7I,CAAP;AAASoC,MAAAA,KAAK,EAAC9C,CAAf;AAAiBgxI,MAAAA,WAAW,EAAC,CAACvwI,CAAC,CAACwwI,UAAH;AAA7B,KAAL,GAAkD;AAAC1nI,MAAAA,KAAK,EAACxJ,CAAP;AAAS+C,MAAAA,KAAK,EAAC9C;AAAf,KAAzD;AAA2E;;AAAY,MAARi6G,QAAQ,GAAE;AAAC,UAAK;AAACwL,MAAAA,QAAQ,EAAC1lH,CAAV;AAAY2wI,MAAAA,OAAO,EAACzwI,CAApB;AAAsB8M,MAAAA,OAAO,EAACrM;AAA9B,QAAiC,IAAtC;AAA2C,WAAM,CAACX,CAAD,IAAI,EAAEuG,KAAK,CAACC,OAAN,CAAc7F,CAAd,KAAkBA,CAAC,CAACkN,MAAF,GAAS,CAA7B,KAAkC,CAAC,CAAC3N,CAAF,KAAM,CAACA,CAAC,CAACixI,gBAAF,EAAoBtjI,MAArB,IAA6B,CAAC7N,CAAC,CAACoxI,qBAAhC,IAAuD,CAACpxI,CAAC,CAACwO,OAAhE,CAA5C;AAAsH;;AAAY,MAAR0rG,QAAQ,CAACl6G,CAAD,EAAG;AAAC,SAAKmtC,eAAL,CAAqB,UAArB,EAAgCntC,CAAhC;AAAmC;;AAAQ,MAAJo+G,IAAI,GAAE;AAAC,UAAK;AAAC5sG,MAAAA,KAAK,EAACxR;AAAP,QAAU,IAAf;AAAA,UAAoBE,CAAC,GAAC,KAAKmxI,eAAL,EAAtB;;AAA6C,WAAO,KAAK7sI,IAAL,CAAU,MAAV,MAAoB,CAACxE,CAAD,IAAIE,CAAJ,GAAMA,CAAC,CAACk+G,IAAR,GAAa,IAAjC,CAAP;AAA8C;;AAAQ,MAAJA,IAAI,CAACp+G,CAAD,EAAG;AAAC,SAAKmtC,eAAL,CAAqB,MAArB,EAA4BntC,CAA5B;AAA+B;;AAAS,MAAL+C,KAAK,GAAE;AAAC,WAAO,KAAKyB,IAAL,CAAU,OAAV,MAAqB,KAAK6sI,eAAL,IAAwB57G,KAAxB,IAA+B,EAApD,CAAP;AAA+D;;AAAS,MAAL1yB,KAAK,CAAC/C,CAAD,EAAG;AAAC,SAAK4V,SAAL,CAAe,OAAf,EAAuB5V,CAAvB;AAA0B;;AAAA2uG,EAAAA,MAAM,GAAE;AAAC,WAAO7tG,4DAAC,CAAC,KAAD,EAAO;AAAC09G,MAAAA,KAAK,EAAC;AAAP,KAAP,EAAsC,KAAK8yB,eAAL,EAAtC,CAAR;AAAsE;;AAAAzN,EAAAA,cAAc,CAAC7jI,CAAD,EAAG;AAAC,UAAK;AAAC2wI,MAAAA,OAAO,EAACzwI,CAAT;AAAWg6G,MAAAA,QAAQ,EAACv5G,CAApB;AAAsBgwB,MAAAA,IAAI,EAACjwB;AAA3B,QAA8B,IAAnC;AAAwC,WAAOV,CAAC,IAAE,CAACW,CAAJ,IAAOD,CAAP,GAAS,aAAWV,CAAX,IAAcE,CAAd,GAAgBY,4DAAC,CAAC,KAAD,EAAO;AAAC8K,MAAAA,GAAG,EAAC;AAAL,KAAP,EAA6B1L,CAAC,CAACyuG,MAAF,EAA7B,CAAjB,GAA0D,YAAU,OAAO3uG,CAAjB,GAAmBc,4DAAC,CAAC,KAAD,EAAO;AAACo+G,MAAAA,SAAS,EAACl/G,CAAX;AAAa4L,MAAAA,GAAG,EAAC5L;AAAjB,KAAP,CAApB,GAAgDM,6DAAC,CAACN,CAAD,CAAD,GAAKc,4DAAC,CAAC,KAAD,EAAO;AAAC8K,MAAAA,GAAG,EAAC;AAAL,KAAP,EAA8B5L,CAAC,CAAC2uG,MAAF,EAA9B,CAAN,GAAgD3uG,CAAC,YAAYyN,WAAb,GAAyB3M,4DAAC,CAAC,KAAD,EAAO;AAACy+G,MAAAA,WAAW,EAAC,KAAKgyB,aAAlB;AAAgC9gH,MAAAA,IAAI,EAACzwB,CAArC;AAAuC4L,MAAAA,GAAG,EAAC;AAA3C,KAAP,CAA1B,GAAgG,IAAnQ,GAAwQ,IAA/Q;AAAoR;;AAAA0lI,EAAAA,eAAe,GAAE;AAAC,UAAK;AAACtkI,MAAAA,OAAO,EAAChN,CAAT;AAAW2wB,MAAAA,IAAI,EAACzwB;AAAhB,QAAmB,IAAxB;AAA6B,WAAOA,CAAC,GAACqG,KAAK,CAACC,OAAN,CAAcxG,CAAd,IAAiBA,CAAC,CAACuF,GAAF,CAAOvF,CAAC,IAAE,KAAK6jI,cAAL,CAAoB7jI,CAApB,CAAV,CAAjB,GAAoD,KAAK6jI,cAAL,CAAoB7jI,CAApB,CAArD,GAA4E,IAApF;AAAyF;;AAAM6wI,EAAAA,aAAa,GAAE;AAAA;;AAAA;AAAC,UAAGlwI,4DAAC,CAAC,KAAI,CAACgwI,OAAN,CAAD,EAAgB,KAAI,CAACA,OAAL,GAAa,IAA7B,EAAkC,CAAC,KAAI,CAACC,gBAA3C,EAA4D;AAAO,YAAK;AAACpoI,QAAAA,OAAO,EAACxI;AAAT,gBAAkB,6WAAvB;AAAA,YAA8CE,CAAC,GAAC,IAAIF,CAAJ,CAAM,KAAI,CAAC8wI,cAAX,CAAhD;AAA2E,WAAI,CAACH,OAAL,GAAazwI,CAAb;AAA/I;AAA8J;;AAAAqxI,EAAAA,aAAa,CAACvxI,CAAD,EAAG;AAACA,IAAAA,CAAC,CAAC6pB,WAAF,CAAc,IAAd;AAAoB;;AAAAknH,EAAAA,aAAa,GAAE;AAAC,UAAM/wI,CAAC,GAAC,KAAK2wI,OAAb;AAAqB3wI,IAAAA,CAAC,IAAEA,CAAC,CAAC0F,GAAF,CAAM,KAAKorI,cAAX,CAAH;AAA8B;;AAAAU,EAAAA,UAAU,CAACxxI,CAAD,EAAG;AAAC,WAAM,aAAWA,CAAX,GAAa,KAAK2wI,OAAlB,GAA0BrwI,6DAAC,CAACN,CAAD,CAAD,GAAKA,CAAL,GAAO,IAAvC;AAA4C;;AAAAqxI,EAAAA,eAAe,GAAE;AAAC,UAAK;AAACrkI,MAAAA,OAAO,EAAChN;AAAT,QAAY,IAAjB;AAAsB,WAAOuG,KAAK,CAACC,OAAN,CAAcxG,CAAd,IAAiBA,CAAC,CAACuF,GAAF,CAAOvF,CAAC,IAAE,KAAKwxI,UAAL,CAAgBxxI,CAAhB,CAAV,EAA+B0P,IAA/B,CAAqC1P,CAAC,IAAEA,CAAxC,CAAjB,GAA6D,KAAKwxI,UAAL,CAAgBxxI,CAAhB,CAApE;AAAuF;;AAAn2E,CAAzB;AAA83EA,uDAAC,CAAC,CAACI,sFAAC,EAAF,CAAD,EAAO6B,CAAC,CAACkG,SAAT,EAAmB,SAAnB,EAA6B,KAAK,CAAlC,CAAD,EAAsCnI,uDAAC,CAAC,CAACI,sFAAC,EAAF,CAAD,EAAO6B,CAAC,CAACkG,SAAT,EAAmB,kBAAnB,EAAsC,IAAtC,CAAvC,EAAmFnI,uDAAC,CAAC,CAACI,sFAAC,EAAF,CAAD,EAAO6B,CAAC,CAACkG,SAAT,EAAmB,gBAAnB,EAAoC,IAApC,CAApF,EAA8HnI,uDAAC,CAAC,CAACI,sFAAC,EAAF,CAAD,EAAO6B,CAAC,CAACkG,SAAT,EAAmB,kBAAnB,EAAsC,IAAtC,CAA/H,EAA2KnI,uDAAC,CAAC,CAACI,sFAAC,EAAF,CAAD,EAAO6B,CAAC,CAACkG,SAAT,EAAmB,WAAnB,EAA+B,KAAK,CAApC,CAA5K,EAAmNnI,uDAAC,CAAC,CAACI,sFAAC,EAAF,CAAD,EAAO6B,CAAC,CAACkG,SAAT,EAAmB,SAAnB,EAA6B,KAAK,CAAlC,CAApN,EAAyPnI,uDAAC,CAAC,CAACI,sFAAC,EAAF,CAAD,EAAO6B,CAAC,CAACkG,SAAT,EAAmB,UAAnB,EAA8B,IAA9B,CAA1P,EAA8RnI,uDAAC,CAAC,CAACI,sFAAC,EAAF,CAAD,EAAO6B,CAAC,CAACkG,SAAT,EAAmB,aAAnB,EAAiC,KAAK,CAAtC,CAA/R,EAAwUnI,uDAAC,CAAC,CAACI,sFAAC,EAAF,CAAD,EAAO6B,CAAC,CAACkG,SAAT,EAAmB,MAAnB,EAA0B,IAA1B,CAAzU,EAAyWnI,uDAAC,CAAC,CAACI,sFAAC,EAAF,CAAD,EAAO6B,CAAC,CAACkG,SAAT,EAAmB,OAAnB,EAA2B,KAAK,CAAhC,CAA1W,EAA6YnI,uDAAC,CAAC,CAACI,sFAAC,EAAF,CAAD,EAAO6B,CAAC,CAACkG,SAAT,EAAmB,UAAnB,EAA8B,KAAK,CAAnC,CAA9Y,EAAobnI,uDAAC,CAAC,CAACI,sFAAC,EAAF,CAAD,EAAO6B,CAAC,CAACkG,SAAT,EAAmB,MAAnB,EAA0B,KAAK,CAA/B,CAArb,EAAudnI,uDAAC,CAAC,CAACI,sFAAC,EAAF,CAAD,EAAO6B,CAAC,CAACkG,SAAT,EAAmB,OAAnB,EAA2B,IAA3B,CAAxd,EAAyfnI,uDAAC,CAAC,CAACI,sFAAC,EAAF,CAAD,EAAO6B,CAAC,CAACkG,SAAT,EAAmB,SAAnB,EAA6B,KAAK,CAAlC,CAA1f,EAA+hBlG,CAAC,GAACjC,uDAAC,CAAC,CAACQ,sFAAC,CAAC,sCAAD,CAAF,CAAD,EAA6CyB,CAA7C,CAAliB;AAAklB,MAAMjB,CAAC,GAACiB,CAAR;;;;;;;;;;;;;;;;ACJtlH;AACA;AACA;AACA;AACA,+BAA+B,EAAE,WAAW,qBAAqB,EAAE,8BAA8B,EAAE,mCAAmC,EAAE,0CAA0C,EAAE,yBAAyB,EAAE,+BAA+B,EAAE,gCAAgC,EAAE,2BAA2B,EAAE,+BAA+B,EAAE,iCAAiC,EAAE,oCAAoC,EAAE,kCAAkC,EAAE,gCAAgC,EAAE,kCAAkC,EAAE,kCAAkC,EAAE,0BAA0B,EAAE,gCAAgC,EAAE,kDAAkD,EAAE,iDAAiD,EAAE,iCAAiC,EAAE,iBAAkC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACJjxB;AACA;AACA;AACA;AACA,SAAS,yCAAyC,UAAU,YAAY,6CAA6C,EAAE,uBAAuB,0FAA0F,YAAY,gCAAgC,EAAE,sEAAsE,cAAc,oCAAoC,cAAc,2BAA2B,cAAc,mEAAmE,cAAc,mEAAmE,cAAc,wBAAwB,0BAA0B,uHAAuH,cAAc,sGAAsG,cAAc,8DAA8D,4CAA4C,cAAc,qBAAqB,gBAAgB,kCAAkC,kFAAkF,YAAY,gBAAgB,iBAAiB,sEAAsE,sBAAsB,GAAG,gBAAgB,iBAAiB,aAAa,aAAa,aAAa,MAAM,+FAA+F,cAAc,iBAAiB,qCAAqC,cAAc,2CAA2C,cAAc,aAAa,qFAAqF,cAAc,aAAa,2EAA2E,cAAc,iHAAiH,cAAc,wBAAwB,cAAc,0CAA0C,YAAY,kCAAkC,EAAE,iDAAiD,cAAc,mFAAwjB;;;;;;;;;;;;;;;;;;;;ACJnrF;AACA;AACA;AACA;AACwZ,sCAAsC,EAAE,gBAAgB,EAAE,4CAA4C,oBAAoB,EAAE,+BAA+B,EAAE,kCAAkC,EAAE,iCAAiC,EAAE,uCAAuC,EAAE,6CAA6C,EAAE,sCAAsC,EAAE,2BAA2B,EAAE,gCAAgC,EAAE,kCAAkC,EAAE,6CAA6C,EAAE,2DAA2D,EAAE,wDAAwD,EAAE,qDAAqD,EAAE,2BAA2B,mBAAmB,EAAE,MAAM,iBAAiB,uBAAuB,wBAAwB,GAAG,8DAAC,cAAc,SAAS,2DAAC,QAAQ,gCAAgC,EAAE,qBAAqB,CAAC,2DAAC,QAAQ,uBAAuB,mBAAmB,2DAAC,QAAQ,sBAAsB,CAAC,2DAAC,QAAQ,2BAA2B,UAAU,2DAAC,QAAQ,2BAA2B,YAAY,2DAAC,QAAQ,wBAAwB,oBAAoB,2DAAC,QAAQ,2BAA2B,EAAE,YAAY,CAAC,2DAAC,QAAQ,uBAAuB,CAAC,2DAAC,QAAQ,MAAM,gEAAC,qEAAqE,iBAAiB,2DAAC,QAAQ,wBAAwB,EAAE,2DAAC,QAAQ,MAAM,gEAAC,oEAAoE,kBAAkB,2DAAC,QAAQ,uBAAuB,CAAC,2DAAC,QAAQ,wBAAwB,IAAI,2DAAC,QAAQ,wBAAwB,GAAG,2DAAC,QAAQ,uBAAuB,CAAC,2DAAC,QAAQ,MAAM,gEAAC,kEAAkE,qBAAqB,2DAAC,QAAQ,wBAAwB,EAAE,2DAAC,QAAQ,MAAM,gEAAC,iEAAiE,uBAAuB,kBAAkB,WAAW,EAAE,kBAAkB,EAAE,2BAA2B,iCAAiC,UAAU,iCAAiC,EAAE,uBAAuB,EAAE,GAAG,MAAM,+BAA+B,EAAE,GAAG,MAAM,+BAA+B,EAAE,yBAAyB,EAAE,GAAG,MAAM,4BAA4B,EAAE,GAAG,SAAS,mBAAmB,EAAE,MAAM,yCAAyC,IAAI,mCAAmC,gFAAgF,YAAY,IAAI,KAAK,YAAY,YAAY,IAAI,KAAK,cAAc,oFAAC,YAAY,sFAAC,UAAU,qCAAqC,GAAG,uEAAC,IAAI,aAAa,QAAQ,yEAAC,kBAAkB,oBAAoB,4EAAC,MAAM,0BAA0B,WAAW,yCAAyC,yCAAyC,yEAAC,MAAM,gFAAC,oBAAoB,gFAAC,8BAA8B,OAAO,qFAAC,kCAAkC,EAAE,GAAG,OAAO,2DAAC,QAAQ,uDAAuD,CAAC,2DAAC,QAAQ,0EAA0E,CAAC,2DAAC,aAAa,2DAAC,WAAW,MAAM,EAAE,0GAA0G,CAAC,2DAAC,aAAa,sEAAsE,GAAG,2DAAC,WAAW,MAAM,EAAE,wGAAwG,CAAC,2DAAC,aAAa,sEAAsE,MAAM,2DAAC,MAAM,YAAY,IAAI,2DAAC,MAAM,YAAY,CAAC,2DAAC,SAAS,8HAA8H,EAAE,2DAAC,SAAS,gIAAgI,KAAyC;;;;;;;;;;;;;;;;;;;;;;;;ACJljI;AACA;AACA;AACA;AACA;AAAiC;AAA6C,MAAMzB,CAAC,GAAC,IAAIK,iDAAJ,CAAM,CAAC,EAAD,EAAI,EAAJ,EAAO,EAAP,CAAN,CAAR;;AAA0B,SAASF,CAAT,CAAWE,CAAX,EAAaL,CAAb,EAAe;AAAC,QAAMG,CAAC,GAAC,EAAR;AAAA,QAAWV,CAAC,GAACY,CAAC,CAACgN,MAAF,GAAS,CAAtB;AAAwB,SAAO,MAAIhN,CAAC,CAACgN,MAAN,GAAalN,CAAC,CAACmE,IAAF,CAAO,CAAP,EAAS,CAAT,EAAW,CAAX,CAAb,GAA2BnE,CAAC,CAACmE,IAAF,CAAO,CAAP,EAAS7E,CAAT,CAA3B,EAAuCY,CAAC,CAAC0E,GAAF,CAAO,CAAC1E,CAAD,EAAGX,CAAH,KAAOS,CAAC,CAACmxB,QAAF,CAAW5xB,CAAX,IAAcF,0DAAC,CAACa,CAAD,EAAGX,CAAH,EAAKD,CAAL,EAAOO,CAAP,CAAf,GAAyB,IAAvC,CAA9C;AAA4F;;SAAeP;;;;;yMAAf,WAAiBY,CAAjB,EAAmBb,CAAnB,EAAqBQ,CAArB,EAAuB;AAAC,QAAIP,CAAC,GAAC,CAAC,CAAP;AAAA,QAASK,CAAC,GAAC,EAAX;AAAA,QAAckB,CAAC,GAAC,EAAhB;;AAAmB,QAAGX,CAAC,CAAC6wI,KAAL,EAAW;AAAC,YAAM1xI,CAAC,GAACa,CAAC,CAAC6wI,KAAV;AAAgBpxI,MAAAA,CAAC,GAACN,CAAC,CAACuF,GAAF,CAAO1E,CAAC,IAAEA,CAAC,CAAC6M,KAAZ,CAAF,EAAsBzN,CAAC,GAACD,CAAC,CAACwX,IAAF,CAAQ3W,CAAC,IAAE,CAAC,CAACA,CAAC,CAAC40B,KAAf,CAAxB,EAA+Cx1B,CAAC,KAAGuB,CAAC,GAACxB,CAAC,CAACuF,GAAF,CAAO1E,CAAC,IAAEA,CAAC,CAAC40B,KAAZ,CAAL,CAAhD;AAA0E;;AAAA,UAAMr1B,CAAC,GAACE,CAAC,CAAC,CAAD,CAAT;AAAA,UAAaI,CAAC,GAACJ,CAAC,CAACA,CAAC,CAACuN,MAAF,GAAS,CAAV,CAAhB;AAA6B,QAAG,QAAMzN,CAAN,IAAS,QAAMM,CAAlB,EAAoB,OAAO,IAAP;AAAY,UAAMM,CAAC,GAACf,CAAC,GAAC,IAAD,GAAMU,CAAC,CAACL,CAAD,EAAGE,CAAH,CAAhB;AAAsB,WAAM,OAAO6E,OAAO,CAACc,GAAR,CAAY7F,CAAC,CAACiF,GAAF;AAAA,mNAAO,WAAM/E,CAAN,EAAQG,CAAR;AAAA,eAAa;AAAC+M,UAAAA,KAAK,EAAClN,CAAP;AAAS4U,UAAAA,KAAK,EAAC,cAAYvU,CAAC,CAAC0C,IAAd,SAAyBrD,CAAC,CAACM,CAAD,EAAGK,CAAH,EAAKb,CAAL,CAA1B,GAAkC,OAAO,oKAAP,EAAoF6jF,QAApF,CAA6FhjF,CAA7F,EAA+FL,CAA/F,CAAjD;AAAmJi1B,UAAAA,KAAK,EAACx1B,CAAC,GAACuB,CAAC,CAACb,CAAD,CAAF,GAAMK,CAAC,GAAGL,CAAH,CAAD,IAAQ;AAAxK,SAAb;AAAA,OAAP;;AAAA;AAAA;AAAA;AAAA,QAAZ,CAAP,EAAwNosE,OAAxN,EAAN;AAAwO;;;;SAAe7sE;;;;;yMAAf,WAAiBF,CAAjB,EAAmBW,CAAnB,EAAqBV,CAArB,EAAuB;AAAC,UAAMC,CAAC,GAAC,IAAIW,iDAAJ,CAAMZ,CAAC,IAAEO,CAAT,CAAR;AAAA,UAAoBF,CAAC,GAAC,OAAO,oKAAP,EAAoFwjF,UAApF,CAA+FnjF,CAA/F,EAAiGX,CAAjG,CAAtB;AAA0H,WAAO,QAAMM,CAAN,KAAUJ,CAAC,CAACI,CAAF,GAAIA,CAAd,GAAiBJ,CAAxB;AAA0B;;;;AAAA,SAASI,CAAT,CAAWO,CAAX,EAAa;AAAC,MAAIb,CAAC,GAAC,CAAC,CAAP;AAAA,MAASQ,CAAC,GAAC,EAAX;AAAA,MAAcP,CAAC,GAAC,EAAhB;AAAmBO,EAAAA,CAAC,GAACK,CAAC,CAAC0E,GAAF,CAAO1E,CAAC,IAAEA,CAAC,CAAC6M,KAAZ,CAAF,EAAsB1N,CAAC,GAACa,CAAC,CAAC2W,IAAF,CAAQ3W,CAAC,IAAE,CAAC,CAACA,CAAC,CAAC40B,KAAf,CAAxB,EAA+Cz1B,CAAC,KAAGC,CAAC,GAACY,CAAC,CAAC0E,GAAF,CAAO1E,CAAC,IAAEA,CAAC,CAAC40B,KAAF,IAAS,EAAnB,CAAL,CAAhD;AAA8E,QAAMv1B,CAAC,GAACM,CAAC,CAAC,CAAD,CAAT;AAAA,QAAaF,CAAC,GAACE,CAAC,CAACA,CAAC,CAACqN,MAAF,GAAS,CAAV,CAAhB;AAA6B,MAAG,QAAM3N,CAAN,IAAS,QAAMI,CAAlB,EAAoB,OAAO,IAAP;AAAY,QAAMF,CAAC,GAACJ,CAAC,GAAC,IAAD,GAAMW,CAAC,CAACH,CAAD,CAAhB;AAAoB,SAAOA,CAAC,CAAC+E,GAAF,CAAO,CAAC/E,CAAD,EAAGG,CAAH,MAAQ;AAAC+M,IAAAA,KAAK,EAAClN,CAAP;AAAS4U,IAAAA,KAAK,EAAC5T,CAAC,CAAChB,CAAD,EAAGK,CAAH,CAAhB;AAAsB40B,IAAAA,KAAK,EAACz1B,CAAC,GAACC,CAAC,CAACU,CAAD,CAAF,GAAMP,CAAC,GAAGO,CAAH,CAAD,IAAQ;AAA3C,GAAR,CAAP,EAAiEosE,OAAjE,EAAP;AAAkF;;AAAA,SAASvrE,CAAT,CAAWxB,CAAX,EAAaQ,CAAb,EAAe;AAAC,QAAK;AAACmxI,IAAAA,UAAU,EAAChxI,CAAZ;AAAcixI,IAAAA,QAAQ,EAAC3xI,CAAvB;AAAyB4xI,IAAAA,MAAM,EAAC3xI;AAAhC,MAAmCE,CAAC,CAACJ,CAAD,EAAGQ,CAAH,CAAzC;AAA+C,MAAGG,CAAC,KAAGV,CAAP,EAAS,OAAOO,CAAC,CAACG,CAAD,CAAD,CAAKyU,KAAZ;AAAkB,QAAM9U,CAAC,GAACO,6DAAA,CAAcL,CAAC,CAACG,CAAD,CAAD,CAAKyU,KAAnB,EAAyB5U,CAAC,CAACP,CAAD,CAAD,CAAKmV,KAA9B,EAAoClV,CAApC,CAAR;AAA+C,SAAO,IAAIW,iDAAJ,CAAMP,CAAN,CAAP;AAAgB;;AAAA,SAASF,CAAT,CAAWS,CAAX,EAAab,CAAb,EAAe;AAAC,MAAIQ,CAAC,GAAC,CAAN;AAAA,MAAQG,CAAC,GAACX,CAAC,CAAC6N,MAAF,GAAS,CAAnB;AAAqB,SAAO7N,CAAC,CAACwX,IAAF,CAAQ,CAACxX,CAAD,EAAGC,CAAH,KAAOY,CAAC,GAACb,CAAC,CAAC0N,KAAJ,IAAW/M,CAAC,GAACV,CAAF,EAAI,CAAC,CAAhB,KAAoBO,CAAC,GAACP,CAAF,EAAI,CAAC,CAAzB,CAAf,GAA6C;AAAC0xI,IAAAA,UAAU,EAACnxI,CAAZ;AAAcoxI,IAAAA,QAAQ,EAACjxI,CAAvB;AAAyBkxI,IAAAA,MAAM,EAAC,CAAChxI,CAAC,GAACb,CAAC,CAACQ,CAAD,CAAD,CAAKkN,KAAR,KAAgB1N,CAAC,CAACW,CAAD,CAAD,CAAK+M,KAAL,GAAW1N,CAAC,CAACQ,CAAD,CAAD,CAAKkN,KAAhC;AAAhC,GAApD;AAA4H;;AAAA,SAAShN,CAAT,CAAWV,CAAX,EAAaQ,CAAb,EAAe;AAAC,MAAIG,CAAC,GAAC,EAAN;AAAS,MAAGX,CAAC,IAAE,gBAAcA,CAAC,CAACuD,IAAtB,EAA2BvD,CAAC,CAAC+xI,UAAF,CAAahlE,OAAb,GAAuBpoE,OAAvB,CAAgC,CAAC1E,CAAD,EAAGC,CAAH,KAAO;AAAC,UAAIA,CAAJ,GAAMS,CAAC,CAACmE,IAAF,CAAO;AAAC4I,MAAAA,KAAK,EAAClN,CAAC,CAAC2J,GAAT;AAAaiL,MAAAA,KAAK,EAAC,IAAIvU,iDAAJ,CAAMZ,CAAC,CAAC+xI,OAAR,CAAnB;AAAoCv8G,MAAAA,KAAK,EAAC;AAA1C,KAAP,CAAN,GAAgE90B,CAAC,CAACmE,IAAF,CAAO;AAAC4I,MAAAA,KAAK,EAAC,IAAP;AAAY0H,MAAAA,KAAK,EAAC,IAAIvU,iDAAJ,CAAMZ,CAAC,CAAC+xI,OAAR,CAAlB;AAAmCv8G,MAAAA,KAAK,EAAC;AAAzC,KAAP,CAAhE,EAAqHv1B,CAAC,KAAGF,CAAC,CAAC+xI,UAAF,CAAalkI,MAAb,GAAoB,CAAxB,GAA0BlN,CAAC,CAACmE,IAAF,CAAO;AAAC4I,MAAAA,KAAK,EAAClN,CAAC,CAAC0J,GAAT;AAAakL,MAAAA,KAAK,EAAC,IAAIvU,iDAAJ,CAAMZ,CAAC,CAACgyI,SAAR,CAAnB;AAAsCx8G,MAAAA,KAAK,EAAC;AAA5C,KAAP,CAA1B,GAAqF90B,CAAC,CAACmE,IAAF,CAAO;AAAC4I,MAAAA,KAAK,EAAC,IAAP;AAAY0H,MAAAA,KAAK,EAAC,IAAIvU,iDAAJ,CAAMZ,CAAC,CAACgyI,SAAR,CAAlB;AAAqCx8G,MAAAA,KAAK,EAAC;AAA3C,KAAP,CAA1M;AAAiQ,GAAzS,EAA3B,KAA2U;AAAC,QAAIx1B,CAAJ,EAAMC,CAAN;AAAQF,IAAAA,CAAC,IAAE,kBAAgBA,CAAC,CAACuD,IAArB,IAA2BtD,CAAC,GAACD,CAAC,CAACiyI,SAAJ,EAAc/xI,CAAC,GAACF,CAAC,CAACgyI,OAA7C,KAAuD/xI,CAAC,GAAC,CAAC,CAAD,EAAG,CAAH,EAAK,CAAL,EAAO,CAAP,CAAF,EAAYC,CAAC,GAAC,CAAC,GAAD,EAAK,GAAL,EAAS,GAAT,EAAa,CAAb,CAArE,GAAsFS,CAAC,GAAC,CAAC;AAAC+M,MAAAA,KAAK,EAAClN,CAAC,CAAC2J,GAAT;AAAaiL,MAAAA,KAAK,EAAC,IAAIvU,iDAAJ,CAAMX,CAAN,CAAnB;AAA4Bu1B,MAAAA,KAAK,EAAC;AAAlC,KAAD,EAA2C;AAAC/nB,MAAAA,KAAK,EAAClN,CAAC,CAAC0J,GAAT;AAAakL,MAAAA,KAAK,EAAC,IAAIvU,iDAAJ,CAAMZ,CAAN,CAAnB;AAA4Bw1B,MAAAA,KAAK,EAAC;AAAlC,KAA3C,CAAxF;AAA6K;AAAA,SAAO90B,CAAP;AAAS;;;;;;;;;;;;;;;;;;ACJn9D;AACA;AACA;AACA;AAC8D,cAAc,0BAA0B,oDAAoD,iBAAiB,YAAY,aAAa,4BAA4B,8EAAC,EAAE,sBAAsB,QAAQ,sBAAsB,SAAS,8FAA8F,qCAAqC,aAA8C;;;;;;;;;;;;;;;;;;;;;ACJjd;AACA;AACA;AACA;AAC6M,SAAS,2BAA2B,IAAI,gMAAgM,cAAc,aAAa,MAAM,OAAO,GAAG,2BAA2B,uFAAC,uBAAuB,sBAAsB,QAAQ,uEAAC,IAAI,kBAAkB,iEAAiE,QAAQ,uEAAC,IAAI,kBAAkB,OAAO,qEAAC,IAAI,gBAAgB,0DAA0D,UAAU,wBAAwB,+BAA+B,gBAAgB,+BAA+B,gBAAgB,+BAA+B,gBAAgB,gCAAgC,gBAAgB,4BAA4B,oDAAC,8CAA8C,KAAK,SAAS,EAAE,WAAW,KAAK,WAAW,mBAAmB,yBAAyB,6BAA6B,cAAc,MAAM,6BAA6B,eAAe,eAAe,YAAY,gCAAgC,GAAG,WAAW,YAAY,IAAI,KAAK,WAAW,YAAY,IAAI,KAAK,mBAAmB,eAAe,UAAU,OAAO,oFAAoF,cAAc,WAAW,iCAAwI;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACJloD;AACA;AACA;AACA;AACA;AAA4B;AAAqE;AAAwE;AAAmE;AAA2F;AAAoD,MAAMH,CAAC,GAAC,GAAR;AAAA,MAAYK,CAAC,GAAC,GAAd;;AAAkB,SAASZ,CAAT,CAAWD,CAAX,EAAamL,CAAb,EAAezK,CAAf,EAAiBJ,CAAjB,EAAmB;AAAC,MAAIL,CAAC,GAAC,EAAN;AAAS,QAAIkL,CAAJ,GAAMlL,CAAC,GAAE,GAAEO,CAAE,GAAb,GAAgB2K,CAAC,KAAGzK,CAAJ,KAAQT,CAAC,GAAE,GAAEY,CAAE,GAAf,CAAhB;AAAmC,SAAOZ,CAAC,IAAEK,CAAC,GAACK,6EAAC,CAACX,CAAD,EAAGM,CAAH,CAAF,GAAQJ,yEAAC,CAACF,CAAD,CAAZ,CAAR;AAAyB;;AAAA,MAAMI,CAAC,GAAC,CAAC,wMAAD,EAA0M,wMAA1M,EAAmZ,wMAAnZ,CAAR;;SAAonBoB;;;;;yMAAf,WAAiBxB,CAAjB,EAAmB;AAAC,QAAG,EAAE,qBAAoBA,CAAtB,KAA0B,CAACA,CAAC,CAACg+C,eAAhC,EAAgD,OAAO,IAAP;AAAY,UAAM7yC,CAAC,GAACnL,CAAC,CAACg+C,eAAF,CAAkBtuC,IAAlB,CAAwB1P,CAAC,IAAE,YAAUA,CAAC,CAACuD,IAAvC,CAAR;AAAsD,QAAG,CAAC4H,CAAJ,EAAM,OAAO,IAAP;AAAY,QAAIjL,CAAC,GAAC,IAAN;AAAA,QAAWS,CAAC,GAAC,IAAb;;AAAkB,QAAGwK,CAAC,CAACumI,KAAL,EAAW;AAAC,UAAG,MAAIvmI,CAAC,CAACumI,KAAF,CAAQ7jI,MAAf,EAAsB,OAAO1C,CAAC,CAACumI,KAAF,CAAQ,CAAR,EAAWt8H,KAAlB;AAAwBlV,MAAAA,CAAC,GAACiL,CAAC,CAACumI,KAAF,CAAQ,CAAR,EAAWhkI,KAAb,EAAmB/M,CAAC,GAACwK,CAAC,CAACumI,KAAF,CAAQvmI,CAAC,CAACumI,KAAF,CAAQ7jI,MAAR,GAAe,CAAvB,EAA0BH,KAA/C;AAAqD;;AAAA,UAAMhN,CAAC,GAAC,QAAMR,CAAN,IAAS,QAAMS,CAAf,GAAiBT,CAAC,GAAC,CAACS,CAAC,GAACT,CAAH,IAAM,CAAzB,GAA2B,CAAnC;AAAA,UAAqC;AAAC2jF,MAAAA,QAAQ,EAACvjF;AAAV,cAAmB,oKAAxD;AAAoI,WAAOA,CAAC,CAAC6K,CAAD,EAAGzK,CAAH,CAAD,IAAQ,IAAf;AAAoB;;;;SAAeI;;;;;yMAAf,WAAiBd,CAAjB,EAAmBmL,CAAnB,EAAqB;AAAC,UAAMjL,CAAC,GAACF,CAAC,CAACsyI,QAAV;AAAA,UAAmB3xI,CAAC,GAACX,CAAC,CAACuyI,UAAF,IAAc,CAAnC;AAAA,UAAqC7xI,CAAC,GAACyK,CAAC,WAAQ3J,CAAC,CAACxB,CAAD,CAAT,CAAD,IAAeA,CAAC,CAACoV,KAAxD;AAA8D,WAAO,IAAI9U,oEAAJ,CAAM;AAACu+E,MAAAA,GAAG,EAAC3+E,CAAL;AAAOkV,MAAAA,KAAK,EAAC1U,CAAb;AAAeuY,MAAAA,KAAK,EAACtY;AAArB,KAAN,CAAP;AAAsC;;;;AAAA,SAASiB,CAAT,CAAW5B,CAAX,EAAamL,CAAb,EAAe;AAAC,MAAG,CAACA,CAAC,CAACiF,KAAN,EAAY,OAAO,IAAP;AAAY,MAAG,sBAAqBpQ,CAAxB,EAA0B,QAAOA,CAAC,CAACigH,gBAAF,EAAoB18G,IAA3B;AAAiC,SAAI,SAAJ;AAAc,SAAI,SAAJ;AAAc;AAAC,cAAMrD,CAAC,GAACF,CAAC,CAACigH,gBAAF,CAAmB1zG,MAAnB,CAA0BmD,IAA1B,CAAgC,CAAC;AAAC0K,UAAAA,IAAI,EAACpa;AAAN,SAAD,KAAYA,CAAC,CAAC4P,WAAF,OAAkBzE,CAAC,CAACiF,KAAF,CAAQR,WAAR,EAA9D,CAAR;AAA8F,eAAO1P,CAAC,IAAE,cAAaF,CAAhB,GAAkBA,CAAC,CAAC8vC,QAAF,CAAW5vC,CAAC,CAAC0+C,gBAAb,CAAlB,GAAiD,IAAxD;AAA6D;AAAzN;AAA0N,SAAM,cAAa5+C,CAAb,GAAeA,CAAC,CAAC8vC,QAAF,GAAa3kC,CAAC,CAACiF,KAAf,CAAf,GAAqC,IAA3C;AAAgD;;AAAA,SAASlP,CAAT,CAAWlB,CAAX,EAAamL,CAAb,EAAe;AAAC,QAAMjL,CAAC,GAAC,mBAAkBF,CAAlB,GAAoBA,CAAC,CAACqrC,aAAF,EAAiBn+B,UAArC,GAAgD,IAAxD;AAA6D,MAAGhN,CAAC,EAAE2N,MAAH,IAAW1C,CAAd,EAAgB,OAAOjL,CAAC,CAACwP,IAAF,CAAQ1P,CAAC,IAAEA,CAAC,CAAC2P,SAAF,EAAaC,WAAb,OAA6BzE,CAAC,CAACyE,WAAF,EAAxC,GAA2D2J,MAA3D,EAAmEy/G,UAA1E;AAAqF;;AAAA,SAASt3H,CAAT,CAAWxB,CAAX,EAAaS,CAAb,EAAeL,CAAf,EAAiB;AAAC,QAAME,CAAC,GAACoB,CAAC,CAAC1B,CAAD,EAAGS,CAAH,CAAT;AAAe,MAAG,CAACH,CAAD,IAAI,CAACE,8EAAC,CAACF,CAAD,CAAF,IAAO,CAAC2K,8EAAC,CAAC3K,CAAD,CAAhB,EAAoB,OAAO,IAAP;AAAY,MAAIK,CAAC,GAACK,CAAC,CAAChB,CAAD,EAAGM,CAAC,CAAC4Z,IAAL,CAAP;;AAAkB,MAAG,CAACvZ,CAAD,IAAI,WAASL,CAAC,CAAC+C,IAAlB,EAAuB;AAAC,QAAI4H,CAAC,GAAC,CAAN;AAAA,QAAQjL,CAAC,GAAC,CAAV;AAAYS,IAAAA,CAAC,CAAC+wI,KAAF,IAASvmI,CAAC,GAACxK,CAAC,CAAC+wI,KAAF,EAASloH,EAAT,CAAY,CAAZ,GAAgB9b,KAAhB,IAAuBvC,CAAzB,EAA2BjL,CAAC,GAACS,CAAC,CAAC+wI,KAAF,EAASloH,EAAT,CAAY,CAAC,CAAb,GAAiB9b,KAAjB,IAAwBxN,CAA9D,IAAiE,kBAAiBS,CAAjB,IAAoB,kBAAiBA,CAArC,KAAyCwK,CAAC,GAACxK,CAAC,CAAC6xI,YAAF,IAAgBrnI,CAAlB,EAAoBjL,CAAC,GAACS,CAAC,CAAC8xI,YAAF,IAAgBvyI,CAA/E,CAAjE,EAAmJW,CAAC,GAACX,CAAC,GAACiL,CAAF,GAAI,IAAEnL,4EAAN,GAAa,YAAb,GAA0B,uBAA/K;AAAuM;;AAAA,SAAM;AAAC8tE,IAAAA,SAAS,EAACttE,CAAC,CAAC+C,IAAb;AAAkBgW,IAAAA,MAAM,EAAC1Y,CAAzB;AAA2Bg1E,IAAAA,eAAe,EAAC;AAACE,MAAAA,aAAa,EAAC,uBAAsB71E,CAAtB,GAAwBA,CAAC,CAACi5H,iBAA1B,GAA4C,IAA3D;AAAgEljD,MAAAA,YAAY,EAAC31E,CAA7E;AAA+E01E,MAAAA,sBAAsB,EAAC,4BAA2B91E,CAA3B,IAA8BA,CAAC,CAAC81E;AAAtI;AAA3C,GAAN;AAAgN;;AAAA,SAASh1E,CAAT,CAAWhB,CAAX,EAAa;AAAC,MAAG,mBAAkBA,CAArB,EAAuB,OAAOA,CAAC,CAAC+hE,aAAF,EAAiB/jB,eAAjB,EAAkCtuC,IAAlC,CAAwC,CAAC;AAACmmF,IAAAA,KAAK,EAAC71F;AAAP,GAAD,KAAa,qBAAmBA,CAAxE,CAAP;AAAmF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACJ1vF;AACA;AACA;AACA;AACurB,oBAAoB,kDAAC,CAAC,iBAAiB,iDAAiD,sFAAC,wGAAwG,kFAAkF,kEAAC,mBAAmB,mBAAmB,OAAO,kFAAC,EAAE,WAAW,wxBAAoE,CAAC,EAAE,WAAW,aAAa,YAAY,+BAA+B,YAAY,sCAAsC,aAAa,gCAAgC,cAAc,uDAAuD,WAAW,2BAA2B,YAAY,sBAAsB,SAAS,2GAA2G,OAAO,4DAAC,QAAQ,mBAAmB,8DAAM,CAAC,oEAAQ,EAAE,CAAC,4EAAoB,6BAA6B,EAAE,CAAC,4DAAC,mBAAmB,gBAAgB,kBAAkB,2CAA2C,0EAAc,sGAAsG,EAAE,4DAAC,mBAAmB,gBAAgB,qBAAqB,2CAA2C,0EAAc,wGAAwG,KAAK,uDAAC,EAAE,sFAAC,6BAA6B,uDAAC,EAAE,sFAAC,8BAA8B,uDAAC,EAAE,sFAAC,EAAE,iBAAiB,8BAA8B,uDAAC,EAAE,sFAAC,GAAG,oFAAC,uFAAuF,uDAAC,EAAE,sFAAC,6BAA6B,uDAAC,EAAE,sFAAC,EAAE,KAAK,sFAAC,CAAC,qCAAqC,uDAAC,EAAE,sFAAC,sCAAsC,UAA+B;;;;;;;;;;;;;;;;;;;;;;;;ACJl4E;AACA;AACA;AACA;AACwX,oBAAoB,yDAAC,CAAC,eAAe,mDAAmD,aAAa,gBAAgB,4DAAC,iEAAiE,UAAU,eAAe,YAAY,mEAAmE,qBAAqB,4BAA4B,sBAAsB,iDAAiD,SAAS,0FAA0F,qBAAqB,gCAAgC,uEAAuE,uDAAC,EAAE,sFAAC,EAAE,YAAY,6BAA6B,uDAAC,EAAE,sFAAC,0CAA0C,uDAAC,EAAE,sFAAC,iCAAiC,uDAAC,EAAE,sFAAC,gEAAgE,UAA+B;;;;;;;;;;;;;;;;ACJntC;AACA;AACA;AACA;AACA,oCAAoC,6BAA6B,EAAE,eAAgC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACJnG;AACA;AACA;AACA;AACA;AAA2C;AAA0D;AAAiC;AAAuE;AAAoF;AAA2D;AAA0E;AAAuB;AAA6B;AAA0E;AAAkD;AAA6B;AAA2B;AAAqC;AAAyC;AAA+C;AAAmD;AAAiD;AAAsE;AAA0D;AAA8C,MAAMgH,CAAC,GAAC,GAAR;AAAA,MAAY5F,CAAC,GAAC;AAAC4xI,EAAAA,aAAa,EAAC,CAAC,CAAhB;AAAkBjjD,EAAAA,QAAQ,EAAC,MAA3B;AAAkCkjD,EAAAA,UAAU,EAAC;AAACh6H,IAAAA,KAAK,EAAC;AAAP;AAA7C,CAAd;AAAwE,IAAIlQ,CAAC,GAAC,cAAc9G,mDAAd,CAAe;AAACQ,EAAAA,WAAW,CAACzC,CAAD,EAAGE,CAAH,EAAK;AAAC,UAAMF,CAAN,EAAQE,CAAR,GAAW,KAAKgzI,WAAL,GAAiB,IAAI5xI,yEAAJ,CAAM;AAACoB,MAAAA,EAAE,EAAC;AAAJ,KAAN,CAA5B,EAA4D,KAAKywI,eAAL,GAAqB,IAAI3xI,qDAAJ,CAAM;AAACq7H,MAAAA,wBAAwB,EAAC,CAAC;AAA3B,KAAN,CAAjF,EAAsH,KAAKuW,cAAL,GAAoB,IAA1I,EAA+I,KAAKC,kBAAL,GAAwB,IAAvK,EAA4K,KAAKC,kBAAL,GAAwB,EAApM,EAAuM,KAAKlX,qBAAL,GAA2B,IAAlO,EAAuO,KAAKmX,SAAL,GAAe,MAAtP,EAA6P,KAAKC,WAAL,GAAiB,CAAC,CAA/Q,EAAiR,KAAKjtB,YAAL,GAAkB,CAAnS,EAAqS,KAAKj9G,QAAL,GAAc,IAAnT,EAAwT,KAAK4mF,SAAL,GAAe,IAAIhvF,iEAAJ,EAAvU,EAA6U,KAAKulH,eAAL,GAAqB,IAAI5kH,uEAAJ,EAAlW;AAAwW;;AAAAgC,EAAAA,UAAU,GAAE;AAAC,SAAKH,UAAL,CAAgB,CAACtD,6DAAC,CAAE,MAAI,CAAC,KAAK8vF,SAAL,EAAgB1J,IAAhB,EAAsBi5C,eAAvB,EAAuC,KAAK+T,WAA5C,CAAN,EAAiE,MAAI,KAAKC,eAAL,EAArE,EAA6FxzI,2DAA7F,CAAF,EAAkGG,6DAAC,CAAE,MAAI,CAAC,KAAKozI,WAAN,EAAkB,KAAKlqI,QAAL,EAAeoqI,MAAjC,EAAwC,KAAKpqI,QAAL,EAAeqqI,IAAvD,CAAN,EAAqE,MAAI,KAAKC,kBAAL,EAAzE,EAAoG3zI,2DAApG,CAAnG,EAA0MG,6DAAC,CAAE,MAAI,KAAKyzI,WAAX,EAAyB7zI,CAAC,IAAE;AAAC,YAAK;AAACkzI,QAAAA,WAAW,EAAChzI;AAAb,UAAgB,IAArB;AAAA,YAA0BQ,CAAC,GAAC,KAAKyyI,eAAL,CAAqBvW,aAAjD;AAA+Dl8H,MAAAA,CAAC,CAAC4C,MAAF,CAASpD,CAAT,GAAYF,CAAC,CAACgzI,aAAF,IAAiBtyI,CAAC,CAACmhC,GAAF,CAAM3hC,CAAN,CAA7B;AAAsC,KAAlI,EAAoID,2DAApI,CAA3M,EAAkVG,6DAAC,CAAE,MAAI,KAAK8vF,SAAL,EAAgByuC,cAAtB,EAAuC,MAAI,KAAKmV,kBAAL,EAA3C,CAAnV,EAA0Z1zI,6DAAC,CAAE,MAAI,CAAC,KAAK8vF,SAAL,EAAgB4Q,MAAjB,EAAwB,KAAK0yC,WAA7B,CAAN,EAAkD,MAAI,KAAKvV,4BAAL,EAAtD,CAA3Z,EAAuf79H,6DAAC,CAAE,MAAI,CAAC,KAAK8vF,SAAL,EAAgByuC,cAAjB,EAAgC,KAAKzuC,SAAL,EAAgB1J,IAAhB,EAAsBK,OAAtD,EAA8D,KAAKqJ,SAAL,EAAgB1J,IAAhB,EAAsBhxD,IAApF,EAAyF,KAAK06D,SAAL,EAAgB4Q,MAAzG,EAAgH,KAAK5Q,SAAL,EAAgBvtD,QAAhI,EAAyI,KAAK4wG,SAA9I,CAAN,EAAiK,MAAI,KAAKQ,UAAL,EAArK,CAAxf,EAAirB3zI,6DAAC,CAAE,MAAI,KAAK8vF,SAAL,EAAgB1J,IAAhB,EAAsBhxD,IAA5B,EAAmC,CAACx1B,CAAD,EAAGE,CAAH,KAAO,KAAK8zI,6BAAL,CAAmCh0I,CAAnC,EAAqCE,CAArC,CAA1C,CAAlrB,EAAswBE,6DAAC,CAAE,MAAI,KAAK8vF,SAAL,EAAgB1J,IAAtB,EAA6B,CAACxmF,CAAD,EAAGE,CAAH,KAAO,KAAKq+H,WAAL,CAAiBv+H,CAAjB,EAAmBE,CAAnB,CAApC,CAAvwB,EAAm0BE,6DAAC,CAAE,MAAI,KAAK8vF,SAAL,EAAgB1J,IAAhB,EAAsBxuE,KAA5B,EAAoC,CAAChY,CAAD,EAAGE,CAAH,KAAO,KAAKs+H,gBAAL,CAAsBx+H,CAAC,IAAE,CAAC,CAA1B,EAA4BE,CAAC,IAAE,CAAC,CAAhC,CAA3C,CAAp0B,EAAo5BE,6DAAC,CAAE,MAAI,KAAK8vF,SAAX,EAAuB,MAAI,KAAKijD,eAAL,CAAqBjjD,SAArB,GAA+B,KAAKA,SAA/D,EAA0EjwF,2DAA1E,CAAr5B,EAAk+BG,6DAAC,CAAE,MAAI,KAAK6zI,qBAAX,EAAmCj0I,CAAC,IAAE,KAAKmzI,eAAL,CAAqBxW,oBAArB,GAA0C38H,CAAhF,EAAmFC,2DAAnF,CAAn+B,EAAyjCG,6DAAC,CAAE,MAAI,KAAKmmH,YAAX,EAA0BvmH,CAAC,IAAE,KAAKmzI,eAAL,CAAqB5sB,YAArB,GAAkCvmH,CAA/D,EAAkEC,2DAAlE,CAA1jC,EAA+nCG,6DAAC,CAAE,MAAI,KAAKqmH,eAAL,CAAqB8d,SAA3B,EAAuCvkI,CAAC,IAAE,KAAKmzI,eAAL,CAAqB1sB,eAArB,CAAqC8d,SAArC,GAA+C,CAAC,CAACvkI,CAA3F,EAA8FC,2DAA9F,CAAhoC,EAAiuCG,6DAAC,CAAE,MAAI,KAAKqmH,eAAL,CAAqB0X,WAA3B,EAAyCn+H,CAAC,IAAE,KAAKmzI,eAAL,CAAqB1sB,eAArB,CAAqC0X,WAArC,GAAiD,CAAC,CAACn+H,CAA/F,EAAkGC,2DAAlG,CAAluC,EAAu0CG,6DAAC,CAAE,MAAI,KAAKqmH,eAAL,CAAqBqZ,cAA3B,EAA4C9/H,CAAC,IAAE,KAAKmzI,eAAL,CAAqB1sB,eAArB,CAAqCqZ,cAArC,GAAoD,CAAC,CAAC9/H,CAArG,EAAwGC,2DAAxG,CAAx0C,EAAm7CG,6DAAC,CAAE,MAAI,KAAKqmH,eAAL,CAAqBjhC,OAA3B,EAAqCxlF,CAAC,IAAE,KAAKmzI,eAAL,CAAqB1sB,eAArB,CAAqCjhC,OAArC,GAA6C,CAAC,CAACxlF,CAAvF,EAA0FC,2DAA1F,CAAp7C,EAAihDG,6DAAC,CAAE,MAAI,KAAKqmH,eAAL,CAAqB4X,OAA3B,EAAqCr+H,CAAC,IAAE,KAAKmzI,eAAL,CAAqB1sB,eAArB,CAAqC4X,OAArC,GAA6C,CAAC,CAACr+H,CAAvF,EAA0FC,2DAA1F,CAAlhD,EAA+mDG,6DAAC,CAAE,MAAI,KAAKqmH,eAAL,CAAqBkZ,iBAA3B,EAA+C3/H,CAAC,IAAE,KAAKmzI,eAAL,CAAqB1sB,eAArB,CAAqCkZ,iBAArC,GAAuD,CAAC,CAAC3/H,CAA3G,EAA8GC,2DAA9G,CAAhnD,EAAiuDG,6DAAC,CAAE,MAAI,KAAKqmH,eAAL,CAAqBmc,qBAA3B,EAAmD5iI,CAAC,IAAE,KAAKmzI,eAAL,CAAqB1sB,eAArB,CAAqCmc,qBAArC,GAA2D,CAAC,CAAC5iI,CAAnH,EAAsHC,2DAAtH,CAAluD,EAA21DY,0DAAC,CAAE,MAAI,KAAKsyI,eAAX,EAA4B,uBAA5B,EAAqDnzI,CAAC,IAAE;AAACA,MAAAA,CAAC,CAACqlG,MAAF,KAAW,KAAK6tC,WAAhB,KAA8B,KAAKM,WAAL,GAAiB,CAAC,KAAKA,WAArD;AAAkE,KAA3H,CAA51D,CAAhB;AAA4+D;;AAAAlvI,EAAAA,iBAAiB,CAACtE,CAAD,EAAG;AAAC,UAAME,CAAC,GAAC,EAAC,GAAGF;AAAJ,KAAR;AAAe,WAAO,QAAMA,CAAC,EAAEymH,eAAT,KAA2BvmH,CAAC,CAACumH,eAAF,GAAkB,IAAI5kH,uEAAJ,CAAM7B,CAAC,CAACymH,eAAR,CAAlB,EAA2C,QAAMzmH,CAAC,CAACk0I,eAAR,KAA0Bh0I,CAAC,CAACumH,eAAF,CAAkBqZ,cAAlB,GAAiC9/H,CAAC,CAACk0I,eAA7D,CAA3C,EAAyH,QAAMl0I,CAAC,CAACm0I,cAAR,KAAyBj0I,CAAC,CAACumH,eAAF,CAAkB4X,OAAlB,GAA0Br+H,CAAC,CAACm0I,cAArD,CAApJ,GAA0Nj0I,CAAjO;AAAmO;;AAAAkE,EAAAA,OAAO,GAAE;AAAC,SAAK8uI,WAAL,CAAiB9uI,OAAjB,IAA2B,KAAK+uI,eAAL,EAAsB/uI,OAAtB,EAA3B,EAA2D,KAAKg4H,qBAAL,EAA4BjgH,KAA5B,EAA3D;AAA+F;;AAAyB,MAArB83H,qBAAqB,GAAE;AAAC,UAAK;AAACG,MAAAA,gBAAgB,EAACp0I,CAAlB;AAAoBq0I,MAAAA,mBAAmB,EAACn0I;AAAxC,QAA2C,IAAhD;AAAqD,WAAM,kBAAgBF,CAAhB,IAAmB,oBAAkBA,CAArC,IAAwC,mBAAiBA,CAAzD,IAA4D,eAAaE,CAAzE,IAA4E,iBAAeA,CAA3F,IAA8F,gBAAcA,CAAlH;AAAoH;;AAAW,MAAP6M,OAAO,GAAE;AAAC,WAAO,KAAKmjF,SAAL,CAAenjF,OAAtB;AAA8B;;AAAW,MAAPA,OAAO,CAAC/M,CAAD,EAAG;AAAC,SAAKkwF,SAAL,CAAenjF,OAAf,GAAuB/M,CAAvB;AAAyB;;AAAU,MAAN8gG,MAAM,GAAE;AAAC,WAAO,KAAK5Q,SAAL,CAAe4Q,MAAtB;AAA6B;;AAAoB,MAAhB8lC,gBAAgB,GAAE;AAAC,WAAO,KAAK12C,SAAL,CAAe02C,gBAAtB;AAAuC;;AAAoB,MAAhBA,gBAAgB,CAAC5mI,CAAD,EAAG;AAAC,SAAKkwF,SAAL,CAAe02C,gBAAf,GAAgC5mI,CAAhC;AAAkC;;AAA+B,MAA3BqxF,2BAA2B,GAAE;AAAC,WAAO,KAAKnB,SAAL,CAAemB,2BAAtB;AAAkD;;AAA+B,MAA3BA,2BAA2B,CAACrxF,CAAD,EAAG;AAAC,SAAKkwF,SAAL,CAAemB,2BAAf,GAA2CrxF,CAA3C;AAA6C;;AAAW,MAAPgN,OAAO,GAAE;AAAC,WAAO,KAAKkjF,SAAL,CAAeljF,OAAtB;AAA8B;;AAAW,MAAPA,OAAO,CAAChN,CAAD,EAAG;AAAC,SAAKkwF,SAAL,CAAeljF,OAAf,GAAuBhN,CAAvB;AAAyB;;AAAa,MAAT08H,SAAS,GAAE;AAAC,WAAO,KAAKyW,eAAL,CAAqBzW,SAA5B;AAAsC;;AAAa,MAATA,SAAS,CAAC18H,CAAD,EAAG;AAAC,SAAKmzI,eAAL,CAAqBzW,SAArB,GAA+B18H,CAA/B;AAAiC;;AAAmB,MAAfk0I,eAAe,GAAE;AAAC,WAAOh0I,sEAAC,CAACQ,iEAAA,CAAY,IAAZ,CAAD,EAAmB,iBAAnB,EAAqC;AAACysI,MAAAA,WAAW,EAAC,qCAAb;AAAmDx7H,MAAAA,OAAO,EAAC;AAA3D,KAArC,CAAD,EAA0G,KAAK80G,eAAL,CAAqBqZ,cAAtI;AAAqJ;;AAAmB,MAAfoU,eAAe,CAACl0I,CAAD,EAAG;AAACE,IAAAA,sEAAC,CAACQ,iEAAA,CAAY,IAAZ,CAAD,EAAmB,iBAAnB,EAAqC;AAACysI,MAAAA,WAAW,EAAC,qCAAb;AAAmDx7H,MAAAA,OAAO,EAAC;AAA3D,KAArC,CAAD,EAA0G,KAAK80G,eAAL,CAAqBqZ,cAArB,GAAoC9/H,CAA9I;AAAgJ;;AAAoB,MAAhBo0I,gBAAgB,GAAE;AAAC,WAAO,KAAKE,oBAAL,EAAP;AAAmC;;AAAuB,MAAnBD,mBAAmB,GAAE;AAAC,WAAO,KAAKE,uBAAL,EAAP;AAAsC;;AAAe,MAAXV,WAAW,GAAE;AAAC,WAAO,KAAKrvI,IAAL,CAAU,aAAV,KAA0BpD,CAAjC;AAAmC;;AAAe,MAAXyyI,WAAW,CAAC7zI,CAAD,EAAG;AAAC,UAAME,CAAC,GAAC,EAAC,GAAGkB;AAAJ,KAAR;AAAA,UAAeV,CAAC,GAAC,KAAKwvF,SAAL,EAAgB1J,IAAhB,EAAsBguD,WAAvC;AAAA,UAAmDh0I,CAAC,GAAC,EAArD;AAAwDE,IAAAA,CAAC,KAAGF,CAAC,CAACyY,KAAF,GAAQvY,CAAC,CAAC+zI,MAAV,EAAiBj0I,CAAC,CAACgZ,MAAF,GAAS9Y,CAAC,CAAC+zI,MAA/B,CAAD;AAAwC,UAAM9zI,CAAC,GAAC,EAAC,GAAGT,CAAJ;AAAM,SAAGF;AAAT,KAAR;AAAA,UAAoBI,CAAC,GAAC,EAAC,GAAGF,CAAC,CAAC+yI,UAAN;AAAiB,SAAGzyI;AAApB,KAAtB;AAAA,UAA6C;AAACyyI,MAAAA,UAAU,EAAChzI;AAAZ,QAAeU,CAA5D;AAA8D,gBAAU,OAAOV,CAAjB,GAAmBU,CAAC,CAACsyI,UAAF,GAAa,EAAC,GAAG7yI,CAAJ;AAAM,SAAGH;AAAT,KAAhC,GAA4CA,CAAC,KAAGU,CAAC,CAACsyI,UAAF,GAAa7yI,CAAhB,CAA7C,EAAgE,KAAKmE,IAAL,CAAU,aAAV,EAAwB5D,CAAxB,CAAhE,EAA2F,KAAK+zI,uBAAL,EAA3F,EAA0H,KAAKX,UAAL,EAA1H;AAA4I;;AAAgB,MAAZzsB,YAAY,GAAE;AAAC,WAAO,KAAKp3B,SAAL,CAAeo3B,YAAtB;AAAmC;;AAAmB,MAAfkW,eAAe,GAAE;AAAC,WAAO,KAAKttC,SAAL,CAAestC,eAAtB;AAAsC;;AAAmB,MAAfA,eAAe,CAACx9H,CAAD,EAAG;AAAC,SAAKkwF,SAAL,CAAestC,eAAf,GAA+Bx9H,CAA/B;AAAiC;;AAAY,MAARuuC,QAAQ,GAAE;AAAC,WAAO,KAAK2hD,SAAL,CAAe3hD,QAAtB;AAA+B;;AAAY,MAARA,QAAQ,CAACvuC,CAAD,EAAG;AAAC,SAAKkwF,SAAL,CAAe3hD,QAAf,GAAwBvuC,CAAxB;AAA0B;;AAAgB,MAAZ+/H,YAAY,GAAE;AAAC,WAAO,KAAK7vC,SAAL,CAAe6vC,YAAtB;AAAmC;;AAAgB,MAAZA,YAAY,CAAC//H,CAAD,EAAG;AAAC,SAAKkwF,SAAL,CAAe6vC,YAAf,GAA4B//H,CAA5B;AAA8B;;AAAoB,MAAhB+mI,gBAAgB,GAAE;AAAC,WAAO,KAAK72C,SAAL,CAAe62C,gBAAtB;AAAuC;;AAAoB,MAAhBA,gBAAgB,CAAC/mI,CAAD,EAAG;AAAC,SAAKkwF,SAAL,CAAe62C,gBAAf,GAAgC/mI,CAAhC;AAAkC;;AAAQ,MAAJo+G,IAAI,GAAE;AAAC,WAAM,OAAN;AAAc;;AAAQ,MAAJA,IAAI,CAACp+G,CAAD,EAAG;AAAC,SAAKmtC,eAAL,CAAqB,MAArB,EAA4BntC,CAA5B;AAA+B;;AAAY,MAAR2iC,QAAQ,GAAE;AAAC,WAAO,KAAKutD,SAAL,CAAevtD,QAAtB;AAA+B;;AAAY,MAARA,QAAQ,CAAC3iC,CAAD,EAAG;AAAC,SAAKkwF,SAAL,CAAevtD,QAAf,GAAwB3iC,CAAxB;AAA0B;;AAAS,MAALy1B,KAAK,GAAE;AAAC,WAAO,KAAKnsB,QAAL,EAAe02H,WAAf,IAA4B,EAAnC;AAAsC;;AAAS,MAALvqG,KAAK,CAACz1B,CAAD,EAAG;AAAC,SAAKmtC,eAAL,CAAqB,OAArB,EAA6BntC,CAA7B;AAAgC;;AAAY,MAARigI,QAAQ,GAAE;AAAC,WAAO,KAAK/vC,SAAL,CAAe+vC,QAAtB;AAA+B;;AAAY,MAARA,QAAQ,CAACjgI,CAAD,EAAG;AAAC,SAAKkwF,SAAL,CAAe+vC,QAAf,GAAwBjgI,CAAxB;AAA0B;;AAAmB,MAAfkgI,eAAe,GAAE;AAAC,WAAO,KAAKhwC,SAAL,CAAegwC,eAAtB;AAAsC;;AAAwB,MAApBvC,oBAAoB,GAAE;AAAC,WAAO,KAAKztC,SAAL,CAAeytC,oBAAtB;AAA2C;;AAAwB,MAApBA,oBAAoB,CAAC39H,CAAD,EAAG;AAAC,SAAKkwF,SAAL,CAAeytC,oBAAf,GAAoC39H,CAApC;AAAsC;;AAAyB,MAArB6+H,qBAAqB,GAAE;AAAC,WAAO,KAAKsU,eAAL,CAAqBtU,qBAA5B;AAAkD;;AAAkB,MAAdsV,cAAc,GAAE;AAAC,WAAOj0I,sEAAC,CAACQ,iEAAA,CAAY,IAAZ,CAAD,EAAmB,gBAAnB,EAAoC;AAACysI,MAAAA,WAAW,EAAC,8BAAb;AAA4Cx7H,MAAAA,OAAO,EAAC;AAApD,KAApC,CAAD,EAAkG,KAAK80G,eAAL,CAAqB4X,OAA9H;AAAsI;;AAAkB,MAAd8V,cAAc,CAACn0I,CAAD,EAAG;AAACE,IAAAA,sEAAC,CAACQ,iEAAA,CAAY,IAAZ,CAAD,EAAmB,gBAAnB,EAAoC;AAACysI,MAAAA,WAAW,EAAC,8BAAb;AAA4Cx7H,MAAAA,OAAO,EAAC;AAApD,KAApC,CAAD,EAAkG,KAAK80G,eAAL,CAAqB4X,OAArB,GAA6Br+H,CAA/H;AAAiI;;AAAS,MAAL+C,KAAK,GAAE;AAAC,WAAO,KAAKmtF,SAAL,CAAentF,KAAtB;AAA4B;;AAAS,MAALA,KAAK,CAAC/C,CAAD,EAAG;AAAC,SAAKkwF,SAAL,CAAentF,KAAf,GAAqB/C,CAArB;AAAuB;;AAAyB,MAArBqgI,qBAAqB,GAAE;AAAC,WAAO,KAAKnwC,SAAL,CAAemwC,qBAAtB;AAA4C;;AAAyB,MAArBA,qBAAqB,CAACrgI,CAAD,EAAG;AAAC,SAAKkwF,SAAL,CAAemwC,qBAAf,GAAqCrgI,CAArC;AAAuC;;AAAQ,MAAJwmF,IAAI,GAAE;AAAC,WAAO,KAAK0J,SAAL,CAAe1J,IAAtB;AAA2B;;AAAQ,MAAJA,IAAI,CAACxmF,CAAD,EAAG;AAAC,SAAKkwF,SAAL,CAAe1J,IAAf,GAAoBxmF,CAApB;AAAsB;;AAAW,MAAPwO,OAAO,GAAE;AAAC,WAAO,KAAK0hF,SAAL,CAAe1hF,OAAtB;AAA8B;;AAAW,MAAPA,OAAO,CAACxO,CAAD,EAAG;AAAC,SAAKkwF,SAAL,CAAe1hF,OAAf,GAAuBxO,CAAvB;AAAyB;;AAAAsgI,EAAAA,IAAI,GAAE;AAAC,UAAK;AAACx/B,MAAAA,MAAM,EAAC9gG;AAAR,QAAW,KAAKkwF,SAArB;AAA+BlwF,IAAAA,CAAC,IAAEU,iEAAA,CAAY,IAAZ,EAAkBmmB,IAAlB,CAAuB,kDAAvB,CAAH,EAA8E,KAAKssH,eAAL,CAAqB7S,IAArB,EAA9E;AAA0G;;AAAA1mH,EAAAA,KAAK,GAAE;AAAC,WAAO,KAAKs2E,SAAL,CAAet2E,KAAf,EAAP;AAA8B;;AAAAm5B,EAAAA,KAAK,GAAE;AAAC,SAAKvkC,OAAL,GAAa,CAAC,CAAd;AAAgB;;AAAA+xH,EAAAA,aAAa,CAACvgI,CAAD,EAAGE,CAAH,EAAK;AAAC,WAAO,KAAKgwF,SAAL,CAAeqwC,aAAf,CAA6BvgI,CAA7B,EAA+BE,CAA/B,CAAP;AAAyC;;AAAA4iF,EAAAA,KAAK,GAAE;AAAC,UAAK;AAACge,MAAAA,MAAM,EAAC9gG;AAAR,QAAW,KAAKkwF,SAArB;AAA+BlwF,IAAAA,CAAC,IAAEU,iEAAA,CAAY,IAAZ,EAAkBmmB,IAAlB,CAAuB,kDAAvB,CAAH,EAA8E,KAAK8tH,YAAL,EAA9E;AAAkG;;AAAAj6H,EAAAA,IAAI,GAAE;AAAC,WAAO,KAAKw1E,SAAL,CAAex1E,IAAf,EAAP;AAA6B;;AAAAiW,EAAAA,IAAI,CAAC3wB,CAAD,EAAG;AAAC,UAAME,CAAC,GAAC,CAAC,CAACF,CAAF,IAAK,CAAC,CAACA,CAAC,CAACw9H,eAAjB;AAAA,UAAiC98H,CAAC,GAAC;AAACg8H,MAAAA,SAAS,EAAC,CAAC,CAAC18H,CAAF,IAAK,CAAC,CAACA,CAAC,CAAC08H,SAApB;AAA8Bc,MAAAA,eAAe,EAACt9H;AAA9C,KAAnC;AAAoF,SAAKwF,GAAL,CAAShF,CAAT,GAAY,KAAKwvF,SAAL,CAAev/D,IAAf,CAAoB3wB,CAApB,CAAZ,EAAmCA,CAAC,EAAE40I,WAAH,IAAgB,KAAKD,YAAL,CAAkB,CAAC,CAAnB,CAAnD;AAAyE;;AAAAj1B,EAAAA,QAAQ,GAAE;AAAC,WAAO,KAAKxvB,SAAL,CAAewvB,QAAf,EAAP;AAAiC;;AAAAq0B,EAAAA,UAAU,GAAE;AAAC,SAAKjlC,SAAL,IAAiB,KAAKglC,kBAAL,EAAjB,EAA2C,KAAKe,oBAAL,EAA3C;AAAuE;;AAAArU,EAAAA,aAAa,CAACxgI,CAAD,EAAG;AAAC,WAAO,KAAKkwF,SAAL,CAAeswC,aAAf,CAA6BxgI,CAA7B,CAAP;AAAuC;;AAAA2uG,EAAAA,MAAM,GAAE;AAAC,UAAK;AAAC6kC,MAAAA,WAAW,EAACxzI,CAAb;AAAeo0I,MAAAA,gBAAgB,EAACl0I,CAAhC;AAAkCm0I,MAAAA,mBAAmB,EAAC3zI;AAAtD,QAAyD,IAA9D;AAAA,UAAmE;AAACogG,MAAAA,MAAM,EAACtgG,CAAR;AAAUm+H,MAAAA,cAAc,EAACh+H;AAAzB,QAA4B,KAAKuvF,SAApG;AAAA,UAA8G9vF,CAAC,GAACI,CAAC,IAAER,CAAnH;AAAA,UAAqHC,CAAC,GAACO,CAAC,IAAE,CAACR,CAA3H;AAAA,UAA6Ha,CAAC,GAAC,KAAKq/H,eAAL,EAAsB12H,KAAtB,EAA6BzG,KAA5J;AAAA,UAAkKzC,CAAC,GAAC,KAAK4/H,eAAL,EAAsB12H,KAAtB,EAA6B9G,EAAjM;AAAA,UAAoMhB,CAAC,GAAC;AAAC,OAACa,8DAAD,GAAmB,iBAAerC,CAAnC;AAAqC,OAACqC,iEAAD,GAAsB,oBAAkBrC,CAA7E;AAA+E,OAACqC,4DAAD,GAAiB,eAAarC,CAA7G;AAA+G,OAACqC,+DAAD,GAAoB,kBAAgBrC,CAAnJ;AAAqJ,OAACqC,6DAAD,GAAkB,gBAAcrC,CAArL;AAAuL,OAACqC,gEAAD,GAAqB,mBAAiBrC,CAA7N;AAA+N,OAACqC,wDAAD,GAAanC,CAA5O;AAA8O,OAACmC,sDAAD,GAAWtC,CAAzP;AAA2P,OAACsC,+DAAD,GAAoB,eAAa7B,CAA5R;AAA8R,OAAC6B,iEAAD,GAAsB,iBAAe7B,CAAnU;AAAqU,OAAC6B,gEAAD,GAAqB,gBAAc7B,CAAxW;AAA0W,OAAC6B,kEAAD,GAAuB,kBAAgB7B,CAAjZ;AAAmZ,OAAC6B,oEAAD,GAAyB,oBAAkB7B,CAA9b;AAAgc,OAAC6B,mEAAD,GAAwB,mBAAiB7B;AAAze,KAAtM;AAAkrB,WAAOwL,4DAAC,CAAC,KAAD,EAAO;AAACqzG,MAAAA,WAAW,EAAC,KAAKu0B,kBAAlB;AAAqCtF,MAAAA,WAAW,EAAC,KAAKsF,kBAAtD;AAAyErjH,MAAAA,IAAI,EAAC,IAA9E;AAAmF+tF,MAAAA,KAAK,EAAC,KAAKp4C,OAAL,CAAa7jE,oDAAb,EAAoBb,CAApB,EAAsB;AAAC,SAACa,0DAAD,GAAe,CAAC5B,CAAD,IAAI,CAACX;AAArB,OAAtB,CAAzF;AAAwI,uBAAgBM,CAAxJ;AAA0J,0BAAmBO,CAA7K;AAA+Ki8D,MAAAA,IAAI,EAAC;AAApL,KAAP,EAA2Mt8D,CAAC,GAAC,CAAC,KAAKq1I,oBAAL,EAAD,EAA6B,KAAKC,cAAL,EAA7B,CAAD,GAAqD,IAAjQ,CAAR;AAA+Q;;AAAAA,EAAAA,cAAc,GAAE;AAAC,WAAO,KAAKtC,WAAL,GAAiB,IAAjB,GAAsBtnI,4DAAC,CAAC,KAAD,EAAO;AAACsyG,MAAAA,KAAK,EAACj8G,uDAAP;AAAiBqJ,MAAAA,GAAG,EAAC,eAArB;AAAqCkxD,MAAAA,IAAI,EAAC;AAA1C,KAAP,EAAiE5wD,4DAAC,CAAC,KAAD,EAAO;AAACsyG,MAAAA,KAAK,EAAC,KAAKp4C,OAAL,CAAa7jE,gEAAb,EAAgCA,sDAAhC;AAAP,KAAP,CAAlE,CAA9B;AAA2J;;AAAAszI,EAAAA,oBAAoB,GAAE;AAAC,UAAK;AAACrC,MAAAA,WAAW,EAACxzI;AAAb,QAAgB,IAArB;AAAA,UAA0BE,CAAC,GAAC;AAAC,OAACqC,sDAAD,GAAWvC;AAAZ,KAA5B;AAA2C,WAAOkM,4DAAC,CAAC,KAAD,EAAO;AAACqzG,MAAAA,WAAW,EAAC,KAAKy2B,qBAAlB;AAAwCxH,MAAAA,WAAW,EAAC,KAAKwH,qBAAzD;AAA+EvlH,MAAAA,IAAI,EAAC,IAApF;AAAyF+tF,MAAAA,KAAK,EAAC,KAAKp4C,OAAL,CAAa7jE,oDAAb,EAAoBX,oEAApB,EAA6B1B,CAA7B;AAA/F,KAAP,EAAuI,KAAKizI,eAAL,CAAqBxkC,MAArB,EAAvI,CAAR;AAA8K;;AAAAunC,EAAAA,uBAAuB,GAAE;AAAC,UAAK;AAAC9C,MAAAA,cAAc,EAACpzI;AAAhB,QAAmB,IAAxB;AAA6B,WAAOA,CAAC,GAAC,MAAIyiE,UAAU,CAAC1kD,MAAM,CAAC2xF,gBAAP,CAAwB1vG,CAAxB,EAA2Bm2I,iBAA5B,CAAf,GAA8DnvI,CAAtE;AAAwE;;AAAM2tI,EAAAA,YAAY,CAAC30I,CAAC,GAAC,CAAC,CAAJ,EAAM;AAAA;;AAAA;AAAC,WAAI,CAACo8H,qBAAL,EAA4BjgH,KAA5B,IAAoC,KAAI,CAACigH,qBAAL,GAA2B,IAAI//G,eAAJ,EAA/D;AAAmF,YAAMnc,CAAC,GAAC,KAAI,CAACk8H,qBAAL,CAA2B10H,MAAnC;AAA0C1H,MAAAA,CAAC,WAAQM,gEAAC,CAAE,MAAI,CAAC,CAAD,KAAK,KAAI,CAAC4vF,SAAL,EAAgB4Q,MAA3B,EAAmC;AAACp5F,QAAAA,MAAM,EAACxH;AAAR,OAAnC,CAAT,CAAD,QAA+DM,wEAAC,CAACkB,uEAAC,CAACxB,CAAD,CAAF,CAAhE,QAA6EM,wEAAC,CAACG,4DAAC,CAAC,KAAI,CAACu1I,uBAAL,EAAD,EAAgCh2I,CAAhC,CAAF,CAA9E,EAAoH,KAAI,CAACizI,eAAL,CAAqBrwD,KAArB,EAApH;AAA9H;AAA+Q;;AAAAszD,EAAAA,cAAc,CAACp2I,CAAD,EAAG;AAAC,UAAK;AAACq2I,MAAAA,WAAW,EAACn2I,CAAb;AAAeo2I,MAAAA,UAAU,EAAC51I,CAA1B;AAA4Bi+H,MAAAA,cAAc,EAACn+H,CAA3C;AAA6C+1I,MAAAA,IAAI,EAAC51I,CAAlD;AAAoD6lF,MAAAA,IAAI,EAACpmF;AAAzD,QAA4DJ,CAAjE;AAAmE,QAAG2/C,KAAK,CAACj/C,CAAD,CAAL,IAAUi/C,KAAK,CAACz/C,CAAD,CAAf,IAAoB,CAACE,CAArB,IAAwB,CAACI,CAA5B,EAA8B,OAAM,CAAC,CAAP;AAAS,UAAMP,CAAC,GAACG,CAAC,CAACymF,OAAV;AAAkB,WAAM,YAAUlmF,CAAV,IAAaH,CAAC,CAACgC,CAAF,GAAI9B,CAAC,GAAC,CAAN,GAAQN,CAAC,CAAC6Y,KAAF,GAAQhZ,CAAC,CAACgpF,KAA/B,IAAuC,WAAStoF,CAAT,IAAYH,CAAC,CAACgC,CAAF,GAAI9B,CAAC,GAAC,CAAN,GAAQT,CAAC,CAAC+oF,IAAtB,IAA6B,UAAQroF,CAAR,IAAWH,CAAC,CAACY,CAAF,GAAIlB,CAAJ,GAAMD,CAAC,CAACipF,GAAnB,IAAwB,aAAWvoF,CAAX,IAAcH,CAAC,CAACY,CAAF,GAAIlB,CAAJ,GAAME,CAAC,CAACoZ,MAAF,GAASvZ,CAAC,CAACkpF,MAAjI;AAA0I;;AAAAqtD,EAAAA,uBAAuB,CAACx2I,CAAD,EAAG;AAAC,QAAG,WAASA,CAAZ,EAAc,OAAOA,CAAP;AAAS,UAAK;AAACszI,MAAAA,kBAAkB,EAACpzI,CAApB;AAAsBkzI,MAAAA,cAAc,EAAC1yI,CAArC;AAAuC2yI,MAAAA,kBAAkB,EAAC7yI,CAA1D;AAA4D0vF,MAAAA,SAAS,EAACvvF;AAAtE,QAAyE,IAA9E;AAAA,UAAmF;AAACg+H,MAAAA,cAAc,EAACv+H,CAAhB;AAAkBomF,MAAAA,IAAI,EAACvmF;AAAvB,QAA0BU,CAA7G;AAA+G,QAAG,QAAMP,CAAN,IAAS,CAACH,CAAV,IAAa,CAACS,CAAjB,EAAmB,OAAM,YAAN;;AAAmB,aAASG,CAAT,CAAWb,CAAX,EAAa;AAAC,aAAOyQ,QAAQ,CAACzQ,CAAC,CAACqoB,UAAF,CAAa,UAAb,EAAwB,EAAxB,CAAD,EAA6B,EAA7B,CAAf;AAAgD;;AAAA,UAAM/nB,CAAC,GAACE,CAAC,GAACud,MAAM,CAAC2xF,gBAAP,CAAwBlvG,CAAxB,EAA0B,IAA1B,CAAD,GAAiC,IAA1C;AAAA,UAA+CkB,CAAC,GAACpB,CAAC,GAACO,CAAC,CAACP,CAAC,CAACm2I,gBAAF,CAAmB,YAAnB,CAAD,CAAF,GAAqC,CAAvF;AAAA,UAAyFz1I,CAAC,GAACV,CAAC,GAACO,CAAC,CAACP,CAAC,CAACm2I,gBAAF,CAAmB,QAAnB,CAAD,CAAF,GAAiC,CAA7H;AAAA,UAA+H;AAACj9H,MAAAA,MAAM,EAAC1Y,CAAR;AAAUmY,MAAAA,KAAK,EAAC3X;AAAhB,QAAmBZ,CAAC,CAACsuG,qBAAF,EAAlJ;AAAA,UAA4KxtG,CAAC,GAACF,CAAC,GAACpB,CAAhL;AAAA,UAAkL+B,CAAC,GAAC6hB,IAAI,CAAC3Z,GAAL,CAASrJ,CAAT,EAAWY,CAAX,EAAaV,CAAb,IAAgBd,CAApM;AAAA,UAAsMqC,CAAC,GAAC,KAAK6zI,cAAL,CAAoB;AAACC,MAAAA,WAAW,EAACp0I,CAAb;AAAeq0I,MAAAA,UAAU,EAAC90I,CAA1B;AAA4Bm9H,MAAAA,cAAc,EAACv+H,CAA3C;AAA6Cm2I,MAAAA,IAAI,EAAC,OAAlD;AAA0D/vD,MAAAA,IAAI,EAACvmF;AAA/D,KAApB,CAAxM;AAAA,UAA+RiB,CAAC,GAAC,KAAKk1I,cAAL,CAAoB;AAACC,MAAAA,WAAW,EAACp0I,CAAb;AAAeq0I,MAAAA,UAAU,EAAC90I,CAA1B;AAA4Bm9H,MAAAA,cAAc,EAACv+H,CAA3C;AAA6Cm2I,MAAAA,IAAI,EAAC,MAAlD;AAAyD/vD,MAAAA,IAAI,EAACvmF;AAA9D,KAApB,CAAjS;AAAA,UAAuX4B,CAAC,GAAC,KAAKu0I,cAAL,CAAoB;AAACC,MAAAA,WAAW,EAACp0I,CAAb;AAAeq0I,MAAAA,UAAU,EAAC90I,CAA1B;AAA4Bm9H,MAAAA,cAAc,EAACv+H,CAA3C;AAA6Cm2I,MAAAA,IAAI,EAAC,KAAlD;AAAwD/vD,MAAAA,IAAI,EAACvmF;AAA7D,KAApB,CAAzX;AAAA,UAA8c2B,CAAC,GAAC,KAAKw0I,cAAL,CAAoB;AAACC,MAAAA,WAAW,EAACp0I,CAAb;AAAeq0I,MAAAA,UAAU,EAAC90I,CAA1B;AAA4Bm9H,MAAAA,cAAc,EAACv+H,CAA3C;AAA6Cm2I,MAAAA,IAAI,EAAC,QAAlD;AAA2D/vD,MAAAA,IAAI,EAACvmF;AAAhE,KAApB,CAAhd;;AAAwiB,WAAOiB,CAAC,GAACW,CAAC,GAAC,cAAD,GAAgB,WAAlB,GAA8BU,CAAC,GAACV,CAAC,GAAC,aAAD,GAAe,UAAjB,GAA4BA,CAAC,GAACD,CAAC,GAAC,YAAD,GAAc,eAAhB,GAAgC,YAApG;AAAiH;;AAAA80I,EAAAA,qBAAqB,CAAC12I,CAAD,EAAG;AAAC,WAAM,cAAY,OAAOA,CAAnB,GAAqBA,CAAC,CAACkb,IAAF,CAAO,IAAP,CAArB,GAAkClb,CAAxC;AAA0C;;AAAAs0I,EAAAA,oBAAoB,GAAE;AAAC,UAAK;AAACf,MAAAA,SAAS,EAACvzI,CAAX;AAAawzI,MAAAA,WAAW,EAACtzI;AAAzB,QAA4B,IAAjC;AAAsC,WAAOA,CAAC,IAAE,CAAC,KAAKgwF,SAAL,CAAe4Q,MAAnB,GAA0B,IAA1B,GAA+B,KAAK61C,wBAAL,CAA8B,KAAKH,uBAAL,CAA6B,KAAKE,qBAAL,CAA2B12I,CAA3B,CAA7B,CAA9B,CAAtC;AAAiI;;AAAA60I,EAAAA,oBAAoB,GAAE;AAAC,SAAKtwI,IAAL,CAAU,kBAAV,EAA6B,KAAK+vI,oBAAL,EAA7B;AAA0D;;AAAAI,EAAAA,uBAAuB,GAAE;AAAC,SAAKnwI,IAAL,CAAU,qBAAV,EAAgC,KAAKgwI,uBAAL,EAAhC;AAAgE;;AAAAoC,EAAAA,wBAAwB,CAAC32I,CAAD,EAAG;AAAC,UAAME,CAAC,GAAC,CAAC,MAAD,EAAQ,OAAR,CAAR;AAAyB,WAAO6B,+DAAC,CAAC,KAAK6mF,SAAN,CAAD,IAAmB1oF,CAAC,CAAC6sE,OAAF,EAAnB,EAA+B/sE,CAAC,EAAEuQ,OAAH,CAAW,WAAX,EAAuBrQ,CAAC,CAAC,CAAD,CAAxB,EAA6BmoB,UAA7B,CAAwC,YAAxC,EAAqDnoB,CAAC,CAAC,CAAD,CAAtD,CAAtC;AAAiG;;AAAA02I,EAAAA,iBAAiB,CAAC52I,CAAD,EAAG;AAAC,WAAM,cAAY,OAAOA,CAAnB,GAAqBA,CAAC,CAACkb,IAAF,CAAO,IAAP,CAArB,GAAkClb,CAAxC;AAA0C;;AAAA62I,EAAAA,gBAAgB,GAAE;AAAC,WAAO,KAAKF,wBAAL,CAA8B,KAAKG,0BAAL,CAAgC,KAAKF,iBAAL,CAAuB,KAAK/C,WAAL,EAAkB9jD,QAAzC,CAAhC,CAA9B,CAAP;AAA0H;;AAAAwkD,EAAAA,uBAAuB,GAAE;AAAC,WAAO,KAAKf,WAAL,IAAkB,KAAKtjD,SAAL,CAAe4Q,MAAjC,GAAwC,KAAK+1C,gBAAL,EAAxC,GAAgE,IAAvE;AAA4E;;AAAAC,EAAAA,0BAA0B,CAAC92I,CAAD,EAAG;AAAC,QAAG,WAASA,CAAZ,EAAc,OAAOA,CAAP;AAAS,UAAME,CAAC,GAAC,KAAKgwF,SAAL,EAAgB1J,IAAxB;AAAA,UAA6B9lF,CAAC,GAACqB,+DAAC,CAAC,KAAK6mF,SAAN,CAAD,GAAkB,UAAlB,GAA6B,WAA5D;AAAwE,QAAG,CAAC1oF,CAAJ,EAAM,OAAOQ,CAAP;AAAS,UAAMF,CAAC,GAACN,CAAC,CAAC2mF,OAAF,IAAW;AAACmC,MAAAA,IAAI,EAAC,CAAN;AAAQC,MAAAA,KAAK,EAAC,CAAd;AAAgBC,MAAAA,GAAG,EAAC,CAApB;AAAsBC,MAAAA,MAAM,EAAC;AAA7B,KAAnB;AAAA,UAAmDxoF,CAAC,GAACT,CAAC,CAAC+Y,KAAF,GAAQzY,CAAC,CAACwoF,IAAV,GAAexoF,CAAC,CAACyoF,KAAtE;AAAA,UAA4E;AAACurD,MAAAA,WAAW,EAACp0I;AAAb,QAAgBF,CAA5F;AAA8F,WAAOE,CAAC,IAAEO,CAAC,IAAEP,CAAC,CAACq0I,MAAR,GAAe,eAAf,GAA+B/zI,CAAtC;AAAwC;;AAAAq2I,EAAAA,YAAY,GAAE;AAAC,UAAM/2I,CAAC,GAAC,KAAK62I,gBAAL,EAAR;;AAAgC,QAAG,KAAKrD,WAAR,EAAoB,OAAM,UAAN;;AAAiB,YAAOxzI,CAAP;AAAU,WAAI,UAAJ;AAAe,WAAI,aAAJ;AAAkB,eAAM,WAAN;;AAAkB,WAAI,YAAJ;AAAiB,eAAM,UAAN;;AAAiB,WAAI,eAAJ;AAAoB,eAAM,aAAN;;AAAoB;AAAQ,eAAM,YAAN;AAA/I;AAAmK;;AAAAyzI,EAAAA,eAAe,GAAE;AAAC,SAAKP,WAAL,CAAiB90B,IAAjB,GAAsB,KAAK24B,YAAL,EAAtB;AAA0C;;AAAAnD,EAAAA,kBAAkB,GAAE;AAAC,SAAKV,WAAL,CAAiBnwI,KAAjB,GAAuB,KAAKywI,WAAL,GAAiB,KAAKlqI,QAAL,EAAeoqI,MAAhC,GAAuC,KAAKpqI,QAAL,EAAeqqI,IAA7E;AAAkF;;AAAAqC,EAAAA,qBAAqB,CAACh2I,CAAD,EAAG;AAAC,SAAKqzI,kBAAL,GAAwBrzI,CAAxB;AAA0B;;AAAA8zI,EAAAA,kBAAkB,CAAC9zI,CAAC,GAAC,KAAKozI,cAAR,EAAuB;AAAC,QAAGpzI,CAAC,KAAG,KAAKozI,cAAL,GAAoBpzI,CAAvB,CAAD,EAA2B,CAAC,KAAKozI,cAApC,EAAmD;;AAAO,UAAK;AAACzU,MAAAA,cAAc,EAACz+H;AAAhB,QAAmB,KAAKgwF,SAA7B;AAAA,UAAuC;AAACj3E,MAAAA,KAAK,EAACvY;AAAP,QAAU,KAAK0yI,cAAL,CAAoBpkC,qBAApB,EAAjD;AAAA,UAA6FxuG,CAAC,GAAC,KAAKw2I,uBAAL,CAA6B92I,CAA7B,EAA+BQ,CAA/B,CAA/F;;AAAiIF,IAAAA,CAAC,IAAE6Z,MAAM,CAAC2+C,MAAP,CAAc,KAAKo6E,cAAL,CAAoBvwI,KAAlC,EAAwCrC,CAAxC,CAAH;AAA8C;;AAAAy2I,EAAAA,mBAAmB,CAACj3I,CAAD,EAAG;AAAC,UAAK;AAACo0I,MAAAA,gBAAgB,EAACl0I,CAAlB;AAAoBozI,MAAAA,kBAAkB,EAAC5yI;AAAvC,QAA0C,IAA/C;AAAoD,WAAM,eAAaR,CAAb,IAAgB,kBAAgBA,CAAhC,IAAmC,gBAAcA,CAAjD,IAAoD,mBAAiBA,CAArE,GAAuEF,CAAC,GAACU,CAAzE,GAA2EV,CAAjF;AAAmF;;AAAAk3I,EAAAA,2BAA2B,CAACl3I,CAAD,EAAGE,CAAH,EAAKQ,CAAL,EAAOF,CAAP,EAAS;AAAC,UAAK;AAAC4zI,MAAAA,gBAAgB,EAACzzI,CAAlB;AAAoB2yI,MAAAA,kBAAkB,EAAClzI;AAAvC,QAA0C,IAA/C;AAAoD,QAAG,CAACM,CAAJ,EAAM;AAAO,UAAK;AAACmmF,MAAAA,OAAO,EAAC5mF;AAAT,QAAYS,CAAjB;AAAA,UAAmBG,CAAC,GAACL,CAAC,GAAC,CAAvB;AAAA,UAAyBF,CAAC,GAACI,CAAC,CAAC8Y,MAAF,GAAStZ,CAApC;AAAA,UAAsCwB,CAAC,GAAChB,CAAC,CAACuY,KAAF,GAAQjZ,CAAhD;AAAkD,WAAM,oBAAkBW,CAAlB,GAAoB;AAACuoF,MAAAA,GAAG,EAAChpF,CAAC,GAACE,CAAF,GAAIH,CAAC,CAACipF,GAAX;AAAeF,MAAAA,IAAI,EAAChpF,CAAC,GAACa,CAAF,GAAIZ,CAAC,CAAC+oF;AAA1B,KAApB,GAAoD,eAAaroF,CAAb,GAAe;AAACwoF,MAAAA,MAAM,EAAC7oF,CAAC,GAACF,CAAF,GAAIH,CAAC,CAACkpF,MAAd;AAAqBF,MAAAA,KAAK,EAACvnF,CAAC,GAACtB,CAAF,GAAIH,CAAC,CAACgpF;AAAjC,KAAf,GAAuD,kBAAgBtoF,CAAhB,GAAkB;AAACuoF,MAAAA,GAAG,EAAChpF,CAAC,GAACE,CAAF,GAAIH,CAAC,CAACipF,GAAX;AAAeD,MAAAA,KAAK,EAACvnF,CAAC,GAACtB,CAAF,GAAIH,CAAC,CAACgpF;AAA3B,KAAlB,GAAoD,gBAActoF,CAAd,GAAgB;AAACwoF,MAAAA,MAAM,EAAC7oF,CAAC,GAACF,CAAF,GAAIH,CAAC,CAACkpF,MAAd;AAAqBH,MAAAA,IAAI,EAAChpF,CAAC,GAACI,CAAF,GAAIH,CAAC,CAAC+oF;AAAhC,KAAhB,GAAsD,mBAAiBroF,CAAjB,GAAmB;AAACuoF,MAAAA,GAAG,EAAChpF,CAAC,GAACE,CAAF,GAAIH,CAAC,CAACipF,GAAX;AAAeF,MAAAA,IAAI,EAAChpF,CAAC,GAACI,CAAF,GAAIH,CAAC,CAAC+oF;AAA1B,KAAnB,GAAmD,iBAAeroF,CAAf,GAAiB;AAACwoF,MAAAA,MAAM,EAAC7oF,CAAC,GAACF,CAAF,GAAIH,CAAC,CAACkpF,MAAd;AAAqBH,MAAAA,IAAI,EAAChpF,CAAC,GAACa,CAAF,GAAIZ,CAAC,CAAC+oF;AAAhC,KAAjB,GAAuD,KAAK,CAA1U;AAA4U;;AAAAguD,EAAAA,uBAAuB,CAACh3I,CAAD,EAAGE,CAAH,EAAK;AAAC,UAAK;AAACszI,MAAAA,WAAW,EAAC9yI,CAAb;AAAe8lF,MAAAA,IAAI,EAAChmF;AAApB,QAAuB,IAA5B;AAAiC,QAAG,CAACA,CAAJ,EAAM;AAAO,QAAGE,CAAH,EAAK,OAAM;AAACsoF,MAAAA,IAAI,EAAC,EAAN;AAASE,MAAAA,GAAG,EAAC,EAAb;AAAgBD,MAAAA,KAAK,EAAC,EAAtB;AAAyBE,MAAAA,MAAM,EAAC;AAAhC,KAAN;AAA0C,QAAG,QAAMnpF,CAAN,IAAS,CAACE,CAAb,EAAe;;AAAO,UAAMS,CAAC,GAAC,KAAKs2I,mBAAL,CAAyB/2I,CAAzB,CAAR;AAAA,UAAoCE,CAAC,GAAC,KAAK82I,2BAAL,CAAiCl3I,CAAC,CAACwC,CAAnC,EAAqCxC,CAAC,CAACoB,CAAvC,EAAyCZ,CAAzC,EAA2CG,CAA3C,CAAtC;;AAAoF,WAAOP,CAAC,GAAC;AAAC8oF,MAAAA,GAAG,EAAC,KAAK,CAAL,KAAS9oF,CAAC,CAAC8oF,GAAX,GAAgB,GAAE9oF,CAAC,CAAC8oF,GAAI,IAAxB,GAA4B,MAAjC;AAAwCF,MAAAA,IAAI,EAAC,KAAK,CAAL,KAAS5oF,CAAC,CAAC4oF,IAAX,GAAiB,GAAE5oF,CAAC,CAAC4oF,IAAK,IAA1B,GAA8B,MAA3E;AAAkFG,MAAAA,MAAM,EAAC,KAAK,CAAL,KAAS/oF,CAAC,CAAC+oF,MAAX,GAAmB,GAAE/oF,CAAC,CAAC+oF,MAAO,IAA9B,GAAkC,MAA3H;AAAkIF,MAAAA,KAAK,EAAC,KAAK,CAAL,KAAS7oF,CAAC,CAAC6oF,KAAX,GAAkB,GAAE7oF,CAAC,CAAC6oF,KAAM,IAA5B,GAAgC;AAAxK,KAAD,GAAiL,KAAK,CAA9L;AAAgM;;AAAAs1C,EAAAA,WAAW,CAACv+H,CAAD,EAAGE,CAAH,EAAK;AAACF,IAAAA,CAAC,IAAEE,CAAH,KAAO,KAAK6yC,KAAL,IAAa,KAAKn5B,KAAL,EAApB;AAAkC;;AAAA4kH,EAAAA,gBAAgB,CAACx+H,CAAD,EAAGE,CAAH,EAAK;AAACF,IAAAA,CAAC,GAAC,KAAKulI,WAAL,EAAD,GAAoBrlI,CAAC,KAAG,KAAK6yC,KAAL,IAAa,KAAKn5B,KAAL,EAAhB,CAAtB;AAAoD;;AAAA2rH,EAAAA,WAAW,GAAE;AAAC,SAAK4R,0BAAL,CAAgC,KAAKtD,WAArC;AAAkD;;AAAAuD,EAAAA,wBAAwB,CAACp3I,CAAD,EAAGE,CAAH,EAAKQ,CAAL,EAAO;AAAC,UAAK,CAACF,CAAD,EAAGG,CAAH,IAAMX,CAAX;AAAA,UAAa,CAACI,CAAD,EAAGH,CAAH,IAAMC,CAAnB;AAAA,UAAqB;AAAC+Y,MAAAA,KAAK,EAACpY,CAAC,GAAC,CAAT;AAAW2Y,MAAAA,MAAM,EAAClZ,CAAC,GAAC;AAApB,QAAuBI,CAAC,IAAE,EAA/C;AAAkD,WAAOF,CAAC,IAAEK,CAAH,IAAMT,CAAC,GAACS,CAAR,IAAWL,CAAC,GAACK,CAAF,IAAKT,CAAC,IAAES,CAAnB,IAAsBF,CAAC,IAAEL,CAAH,IAAML,CAAC,GAACK,CAA9B,IAAiCK,CAAC,GAACL,CAAF,IAAKL,CAAC,IAAEK,CAAhD;AAAkD;;AAAA0zI,EAAAA,6BAA6B,CAACh0I,CAAD,EAAGE,CAAH,EAAK;AAAC,QAAG,CAACF,CAAD,IAAI,CAACE,CAAR,EAAU;AAAO,UAAMQ,CAAC,GAAC,KAAKwvF,SAAL,EAAgB1J,IAAhB,EAAsBK,OAAtB,IAA+B;AAACmC,MAAAA,IAAI,EAAC,CAAN;AAAQC,MAAAA,KAAK,EAAC,CAAd;AAAgBC,MAAAA,GAAG,EAAC,CAApB;AAAsBC,MAAAA,MAAM,EAAC;AAA7B,KAAvC;AAAA,UAAuE3oF,CAAC,GAACE,CAAC,CAACsoF,IAAF,GAAOtoF,CAAC,CAACuoF,KAAlF;AAAA,UAAwFtoF,CAAC,GAACD,CAAC,CAACwoF,GAAF,GAAMxoF,CAAC,CAACyoF,MAAlG;AAAA,UAAyG/oF,CAAC,GAAC,EAA3G;AAAA,UAA8GH,CAAC,GAAC,EAAhH;AAAmHG,IAAAA,CAAC,CAAC,CAAD,CAAD,GAAKJ,CAAC,CAAC,CAAD,CAAD,GAAKQ,CAAV,EAAYJ,CAAC,CAAC,CAAD,CAAD,GAAKJ,CAAC,CAAC,CAAD,CAAD,GAAKW,CAAtB,EAAwBV,CAAC,CAAC,CAAD,CAAD,GAAKC,CAAC,CAAC,CAAD,CAAD,GAAKM,CAAlC,EAAoCP,CAAC,CAAC,CAAD,CAAD,GAAKC,CAAC,CAAC,CAAD,CAAD,GAAKS,CAA9C;AAAgD,UAAK;AAACkzI,MAAAA,WAAW,EAAChzI;AAAb,QAAgB,IAArB;AAAA,UAA0BP,CAAC,GAACO,CAAC,CAACoyI,UAA9B;AAAyC,SAAKmE,wBAAL,CAA8Bh3I,CAA9B,EAAgCH,CAAhC,EAAkCK,CAAlC,KAAsC,KAAK62I,0BAAL,CAAgCt2I,CAAhC,CAAtC,EAAyE,KAAK6zI,uBAAL,EAAzE;AAAwG;;AAAAzW,EAAAA,4BAA4B,GAAE;AAAC,UAAK;AAACuV,MAAAA,WAAW,EAACxzI,CAAb;AAAekwF,MAAAA,SAAS,EAAChwF;AAAzB,QAA4B,IAAjC;AAAsC,QAAG,CAACA,CAAJ,EAAM;AAAO,UAAMQ,CAAC,GAACR,CAAC,CAAC4gG,MAAF,IAAU,CAAC9gG,CAAnB;AAAqBE,IAAAA,CAAC,CAACwlI,qBAAF,GAAwBhlI,CAAxB;AAA0B;;AAAA22I,EAAAA,4BAA4B,CAACr3I,CAAD,EAAG;AAAC,UAAME,CAAC,GAACF,CAAC,CAACizI,UAAV;AAAA,UAAqBvyI,CAAC,GAAC,KAAKwvF,SAAL,EAAgB1J,IAAhB,EAAsBsJ,EAA7C;AAAgD,QAAG,CAACpvF,CAAJ,EAAM,OAAM,CAAC,CAAP;AAAS,UAAK;AAACuY,MAAAA,KAAK,EAACzY,CAAP;AAASgZ,MAAAA,MAAM,EAAC7Y;AAAhB,QAAmBD,CAAxB;AAA0B,QAAGi/C,KAAK,CAACn/C,CAAD,CAAL,IAAUm/C,KAAK,CAACh/C,CAAD,CAAlB,EAAsB,OAAM,CAAC,CAAP;AAAS,QAAG,CAACT,CAAJ,EAAM,OAAM,CAAC,CAAP;AAAS,UAAME,CAAC,GAACF,CAAC,CAACwxB,cAAF,CAAiB,OAAjB,KAA2BlxB,CAAC,KAAGN,CAAC,CAAC+Y,KAAF,IAAS,CAAZ,CAApC;AAAA,UAAmDhZ,CAAC,GAACC,CAAC,CAACwxB,cAAF,CAAiB,QAAjB,KAA4B/wB,CAAC,KAAGT,CAAC,CAACsZ,MAAF,IAAU,CAAb,CAAlF;AAAkG,WAAOpZ,CAAC,IAAEH,CAAV;AAAY;;AAAAk3I,EAAAA,0BAA0B,CAACn3I,CAAD,EAAG;AAACA,IAAAA,CAAC,CAACizI,UAAF,KAAe,KAAKO,WAAL,GAAiB,KAAK6D,4BAAL,CAAkCr3I,CAAlC,CAAhC;AAAsE;;AAA9yb,CAArB;AAAq0bA,uDAAC,CAAC,CAACgB,sFAAC,CAAC;AAACqH,EAAAA,QAAQ,EAAC,CAAC;AAAX,CAAD,CAAF,CAAD,EAAoBU,CAAC,CAACZ,SAAtB,EAAgC,uBAAhC,EAAwD,IAAxD,CAAD,EAA+DnI,uDAAC,CAAC,CAACgB,sFAAC,EAAF,CAAD,EAAO+H,CAAC,CAACZ,SAAT,EAAmB,SAAnB,EAA6B,IAA7B,CAAhE,EAAmGnI,uDAAC,CAAC,CAACgB,sFAAC,CAAC;AAACqH,EAAAA,QAAQ,EAAC,CAAC;AAAX,CAAD,CAAF,CAAD,EAAoBU,CAAC,CAACZ,SAAtB,EAAgC,QAAhC,EAAyC,IAAzC,CAApG,EAAmJnI,uDAAC,CAAC,CAACgB,sFAAC,EAAF,CAAD,EAAO+H,CAAC,CAACZ,SAAT,EAAmB,WAAnB,EAA+B,KAAK,CAApC,CAApJ,EAA2LnI,uDAAC,CAAC,CAACgB,sFAAC,EAAF,CAAD,EAAO+H,CAAC,CAACZ,SAAT,EAAmB,kBAAnB,EAAsC,IAAtC,CAA5L,EAAwOnI,uDAAC,CAAC,CAACgB,sFAAC,EAAF,CAAD,EAAO+H,CAAC,CAACZ,SAAT,EAAmB,6BAAnB,EAAiD,IAAjD,CAAzO,EAAgSnI,uDAAC,CAAC,CAACgB,sFAAC,EAAF,CAAD,EAAO+H,CAAC,CAACZ,SAAT,EAAmB,SAAnB,EAA6B,IAA7B,CAAjS,EAAoUnI,uDAAC,CAAC,CAACgB,sFAAC,EAAF,CAAD,EAAO+H,CAAC,CAACZ,SAAT,EAAmB,WAAnB,EAA+B,IAA/B,CAArU,EAA0WnI,uDAAC,CAAC,CAACgB,sFAAC,EAAF,CAAD,EAAO+H,CAAC,CAACZ,SAAT,EAAmB,iBAAnB,EAAqC,IAArC,CAA3W,EAAsZnI,uDAAC,CAAC,CAACgB,sFAAC,CAAC;AAACqH,EAAAA,QAAQ,EAAC,CAAC;AAAX,CAAD,CAAF,CAAD,EAAoBU,CAAC,CAACZ,SAAtB,EAAgC,kBAAhC,EAAmD,IAAnD,CAAvZ,EAAgdnI,uDAAC,CAAC,CAACgB,sFAAC,CAAC;AAACqH,EAAAA,QAAQ,EAAC,CAAC;AAAX,CAAD,CAAF,CAAD,EAAoBU,CAAC,CAACZ,SAAtB,EAAgC,qBAAhC,EAAsD,IAAtD,CAAjd,EAA6gBnI,uDAAC,CAAC,CAACgB,sFAAC,EAAF,CAAD,EAAO+H,CAAC,CAACZ,SAAT,EAAmB,aAAnB,EAAiC,IAAjC,CAA9gB,EAAqjBnI,uDAAC,CAAC,CAACgB,sFAAC,EAAF,CAAD,EAAO+H,CAAC,CAACZ,SAAT,EAAmB,aAAnB,EAAiC,KAAK,CAAtC,CAAtjB,EAA+lBnI,uDAAC,CAAC,CAACgB,sFAAC,CAAC;AAACqH,EAAAA,QAAQ,EAAC,CAAC;AAAX,CAAD,CAAF,CAAD,EAAoBU,CAAC,CAACZ,SAAtB,EAAgC,cAAhC,EAA+C,IAA/C,CAAhmB,EAAqpBnI,uDAAC,CAAC,CAACgB,sFAAC,EAAF,CAAD,EAAO+H,CAAC,CAACZ,SAAT,EAAmB,iBAAnB,EAAqC,IAArC,CAAtpB,EAAisBnI,uDAAC,CAAC,CAACgB,sFAAC,EAAF,CAAD,EAAO+H,CAAC,CAACZ,SAAT,EAAmB,UAAnB,EAA8B,IAA9B,CAAlsB,EAAsuBnI,uDAAC,CAAC,CAACgB,sFAAC,EAAF,CAAD,EAAO+H,CAAC,CAACZ,SAAT,EAAmB,cAAnB,EAAkC,IAAlC,CAAvuB,EAA+wBnI,uDAAC,CAAC,CAACgB,sFAAC,EAAF,CAAD,EAAO+H,CAAC,CAACZ,SAAT,EAAmB,cAAnB,EAAkC,KAAK,CAAvC,CAAhxB,EAA0zBnI,uDAAC,CAAC,CAACgB,sFAAC,EAAF,CAAD,EAAO+H,CAAC,CAACZ,SAAT,EAAmB,kBAAnB,EAAsC,IAAtC,CAA3zB,EAAu2BnI,uDAAC,CAAC,CAACgB,sFAAC,EAAF,CAAD,EAAO+H,CAAC,CAACZ,SAAT,EAAmB,MAAnB,EAA0B,IAA1B,CAAx2B,EAAw4BnI,uDAAC,CAAC,CAACgB,sFAAC,EAAF,CAAD,EAAO+H,CAAC,CAACZ,SAAT,EAAmB,UAAnB,EAA8B,IAA9B,CAAz4B,EAA66BnI,uDAAC,CAAC,CAACgB,sFAAC,EAAF,CAAD,EAAO+H,CAAC,CAACZ,SAAT,EAAmB,OAAnB,EAA2B,IAA3B,CAA96B,EAA+8BnI,uDAAC,CAAC,CAACgB,sFAAC,EAAF,EAAKjB,oFAAC,CAAC,8BAAD,CAAN,CAAD,EAAyCgJ,CAAC,CAACZ,SAA3C,EAAqD,UAArD,EAAgE,KAAK,CAArE,CAAh9B,EAAwhCnI,uDAAC,CAAC,CAACgB,sFAAC,EAAF,CAAD,EAAO+H,CAAC,CAACZ,SAAT,EAAmB,UAAnB,EAA8B,IAA9B,CAAzhC,EAA6jCnI,uDAAC,CAAC,CAACgB,sFAAC,CAAC;AAACqH,EAAAA,QAAQ,EAAC,CAAC;AAAX,CAAD,CAAF,CAAD,EAAoBU,CAAC,CAACZ,SAAtB,EAAgC,iBAAhC,EAAkD,IAAlD,CAA9jC,EAAsnCnI,uDAAC,CAAC,CAACgB,sFAAC,EAAF,CAAD,EAAO+H,CAAC,CAACZ,SAAT,EAAmB,sBAAnB,EAA0C,IAA1C,CAAvnC,EAAuqCnI,uDAAC,CAAC,CAACgB,sFAAC,CAAC;AAACqH,EAAAA,QAAQ,EAAC,CAAC;AAAX,CAAD,CAAF,CAAD,EAAoBU,CAAC,CAACZ,SAAtB,EAAgC,uBAAhC,EAAwD,IAAxD,CAAxqC,EAAsuCnI,uDAAC,CAAC,CAACgB,sFAAC,EAAF,CAAD,EAAO+H,CAAC,CAACZ,SAAT,EAAmB,gBAAnB,EAAoC,IAApC,CAAvuC,EAAixCnI,uDAAC,CAAC,CAACgB,sFAAC,EAAF,CAAD,EAAO+H,CAAC,CAACZ,SAAT,EAAmB,OAAnB,EAA2B,IAA3B,CAAlxC,EAAmzCnI,uDAAC,CAAC,CAACgB,sFAAC,EAAF,CAAD,EAAO+H,CAAC,CAACZ,SAAT,EAAmB,uBAAnB,EAA2C,IAA3C,CAApzC,EAAq2CnI,uDAAC,CAAC,CAACgB,sFAAC,EAAF,CAAD,EAAO+H,CAAC,CAACZ,SAAT,EAAmB,MAAnB,EAA0B,IAA1B,CAAt2C,EAAs4CnI,uDAAC,CAAC,CAACgB,sFAAC,CAAC;AAACuC,EAAAA,IAAI,EAACrC,iEAACA;AAAP,CAAD,CAAF,EAAamK,wEAAC,CAAC,CAAC,eAAD,EAAiB,gBAAjB,CAAD,CAAd,CAAD,EAAqDtC,CAAC,CAACZ,SAAvD,EAAiE,WAAjE,EAA6E,KAAK,CAAlF,CAAv4C,EAA49CnI,uDAAC,CAAC,CAACgB,sFAAC,EAAF,CAAD,EAAO+H,CAAC,CAACZ,SAAT,EAAmB,SAAnB,EAA6B,IAA7B,CAA79C,EAAggDnI,uDAAC,CAAC,CAACgB,sFAAC,CAAC;AAACuC,EAAAA,IAAI,EAAC1B,uEAAN;AAAQmI,EAAAA,WAAW,EAAC,CAAC;AAArB,CAAD,CAAF,CAAD,EAA8BjB,CAAC,CAACZ,SAAhC,EAA0C,iBAA1C,EAA4D,KAAK,CAAjE,CAAjgD,EAAqkDY,CAAC,GAAC/I,uDAAC,CAAC,CAACc,uFAAC,CAAC,oBAAD,CAAF,CAAD,EAA2BiI,CAA3B,CAAxkD;AAAsmD,MAAM4D,CAAC,GAAC5D,CAAR;;;;;;;;;;;;;;;;;;;;;;;ACJhhhB;AACA;AACA;AACA;AAC8R,oBAAoB,sEAAC,CAAC,eAAe,WAAW,EAAE,uDAAC,EAAE,sFAAC,0CAA0C,UAA+B;;;;;;;;;;;;;;;;;;;;;;;ACJ7Z;AACA;AACA;AACA;AACqU,oBAAoB,yDAAC,CAAC,cAAc,2KAA2K,uDAAC,EAAE,sFAAC,EAAE,4BAA4B,mCAAmC,uDAAC,EAAE,sFAAC,EAAE,4BAA4B,qCAAqC,uDAAC,EAAE,sFAAC,EAAE,4BAA4B,wCAAwC,uDAAC,EAAE,sFAAC,EAAE,4BAA4B,2CAA2C,uDAAC,EAAE,sFAAC,EAAE,4BAA4B,+CAA+C,uDAAC,EAAE,sFAAC,EAAE,4BAA4B,iCAAiC,uDAAC,EAAE,sFAAC,EAAE,4BAA4B,mCAAmC,uDAAC,EAAE,sFAAC,gDAAgD,UAA+B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACJnmC;AACA;AACA;AACA;AACA;AAAmC;AAAoC;AAAoF;;AAAkI,MAAM/H,CAAC,GAAC,mCAAR;AAAA,MAA4CQ,CAAC,GAAC,MAAItB,iEAAA,CAAYc,CAAZ,CAAlD;AAAA,MAAiEH,CAAC,GAACX,CAAC,IAAE;AAAC,QAAK;AAACijG,IAAAA,KAAK,EAAC3iG,CAAP;AAASgmF,IAAAA,IAAI,EAACxlF,CAAd;AAAgBkvF,IAAAA,SAAS,EAAC1uF;AAA1B,MAA6BtB,CAAlC;AAAA,QAAoC;AAACmlG,IAAAA,MAAM,EAACxkG;AAAR,MAAWL,CAA/C;AAAiD,MAAG,CAACK,CAAJ,EAAM,OAAOwE,OAAO,CAAC+O,MAAR,CAAe,IAAIpU,sDAAJ,CAAM,kCAAN,EAAyC,qBAAzC,CAAf,CAAP;AAAuF,QAAK;AAACk6G,IAAAA,QAAQ,EAACx4G,CAAV;AAAYgB,IAAAA,EAAE,EAACT;AAAf,MAAkBpB,CAAvB;AAAyB,MAAG,CAACoB,CAAJ,EAAM,OAAOoD,OAAO,CAAC+O,MAAR,CAAe,IAAIpU,sDAAJ,CAAM,+BAAN,EAAsC,sBAAtC,CAAf,CAAP;AAAqF,MAAG0B,CAAH,EAAK,OAAO2D,OAAO,CAAC+O,MAAR,CAAe,IAAIpU,sDAAJ,CAAM,+BAAN,EAAsC,oBAAtC,CAAf,CAAP;AAAmF,MAAGiC,CAAC,KAAGvB,yDAAP,EAAY,OAAOkB,CAAC,CAACJ,CAAD,CAAD,CAAKuC,KAAL,CAAW9D,uEAAX,CAAP;AAAqB,MAAGgC,CAAC,KAAGtB,mEAAP,EAAY,OAAOO,CAAC,CAACM,CAAD,CAAR;AAAY,MAAGS,CAAC,KAAG3B,mEAAP,EAAY,OAAOkB,CAAC,CAACqlI,oBAAF,GAAuB,CAACrlI,CAAC,CAACqlI,oBAA1B,EAA+CrlI,CAAC,CAACg8H,eAAF,GAAkBh8H,CAAC,CAACqlI,oBAAnE,EAAwFxhI,OAAO,CAACC,OAAR,EAA/F;;AAAiH,MAAGrD,CAAC,KAAG7B,iEAAP,EAAY;AAACoB,IAAAA,CAAC,CAACgN,OAAF,GAAU,CAAC,CAAX;AAAa,UAAK;AAAC0xH,MAAAA,eAAe,EAAChgI;AAAjB,QAAoBsB,CAAzB;AAA2B,QAAG,CAACtB,CAAJ,EAAM,OAAOmF,OAAO,CAAC+O,MAAR,CAAe,IAAIpU,sDAAJ,CAAO,kBAAiBI,iEAAK,EAA7B,EAA+B,6BAA/B,EAA6D;AAAC8/H,MAAAA,eAAe,EAAChgI;AAAjB,KAA7D,CAAf,CAAP;AAAyG,UAAK;AAAC8vC,MAAAA,WAAW,EAAC/vC;AAAb,QAAgBC,CAArB;AAAuB,WAAOD,CAAC,GAACA,CAAC,CAACqD,MAAF,CAASpD,CAAT,CAAD,GAAac,CAAC,EAAE4vF,QAAH,CAAYttF,MAAZ,CAAmBpD,CAAnB,CAAd,EAAoCmF,OAAO,CAACC,OAAR,EAA3C;AAA6D;;AAAA,SAAOD,OAAO,CAACC,OAAR,EAAP;AAAyB,CAAx2B;;AAAy2B,SAAS5D,CAAT,CAAW1B,CAAX,EAAa;AAAC,QAAK;AAACkgI,IAAAA,eAAe,EAAChgI,CAAjB;AAAmByiC,IAAAA,QAAQ,EAAC1iC,CAA5B;AAA8BumF,IAAAA,IAAI,EAAChmF;AAAnC,MAAsCR,CAA3C;AAA6C,SAAOQ,CAAC,GAACN,CAAC,IAAED,CAAH,IAAM,IAAP,GAAY,IAApB;AAAyB;;AAAA,SAASgC,CAAT,CAAWjC,CAAX,EAAa;AAAC,SAAM,CAAC,CAACA,CAAF,IAAKA,CAAC,CAACggH,WAAP,IAAoB,cAAYhgH,CAAC,CAACgwC,WAAF,EAAeiwE,gBAAf,EAAiC18G,IAAvE;AAA4E;;SAAexB;;;;;yMAAf,WAAiB/B,CAAjB,EAAmBE,CAAnB,EAAqB;AAAC,QAAG,SAAOA,CAAC,EAAEqD,IAAV,IAAgB,CAACvD,CAAjB,IAAoB,mBAAiBA,CAAC,CAACuJ,aAA1C,EAAwD,OAAM,CAAC,CAAP;AAAS,UAAMtJ,CAAC,GAACC,CAAC,CAACq3I,iBAAF,CAAoBv3I,CAApB,CAAR;;AAA+B,QAAGC,CAAC,IAAE,uBAAsBA,CAA5B,EAA8B;AAAC,UAAIC,CAAC,GAAC,IAAN;;AAAW,UAAG;AAACA,QAAAA,CAAC,SAAOD,CAAC,CAACu3I,iBAAF,CAAoBx3I,CAApB,EAAsB;AAACy3I,UAAAA,gBAAgB,EAAC,CAAC;AAAnB,SAAtB,CAAR;AAAqD,OAAzD,CAAyD,OAAMj3I,CAAN,EAAQ,CAAE;;AAAA,aAAM,CAACN,CAAD,IAAI,CAACA,CAAC,CAACw3I,WAAP,IAAoBx3I,CAAC,CAACw3I,WAAF,CAAc,CAAd,MAAmBx3I,CAAC,CAACw3I,WAAF,CAAc,CAAd,CAAnB,IAAqCx3I,CAAC,CAACw3I,WAAF,CAAc,CAAd,MAAmBx3I,CAAC,CAACw3I,WAAF,CAAc,CAAd,CAAxD,IAA0Ex3I,CAAC,CAACw3I,WAAF,CAAc,CAAd,MAAmBx3I,CAAC,CAACw3I,WAAF,CAAc,CAAd,CAAvH;AAAwI;;AAAA,WAAM,CAAC,CAAP;AAAS;;;;SAAe91I;;;;;yMAAf,WAAiB1B,CAAjB,EAAmBD,CAAnB,EAAqB;AAAC,UAAK;AAAC0iC,MAAAA,QAAQ,EAAChiC,CAAV;AAAYu/H,MAAAA,eAAe,EAAC5/H,CAA5B;AAA8BkmF,MAAAA,IAAI,EAACpmF,CAAnC;AAAqC8mI,MAAAA,UAAU,EAAClmI;AAAhD,QAAmDd,CAAxD;AAA0D,UAAMD,CAAC,EAAEiwF,SAAH,EAAcglC,cAAd,EAAN;AAAsC,UAAMr0H,CAAC,GAACZ,CAAC,EAAE+nF,OAAX;AAAA,UAAmB/lF,CAAC,GAACpB,CAAC,EAAEs2B,QAAH,GAAYt2B,CAAZ,GAAca,CAAC,CAACxB,CAAD,CAApC;;AAAwC,QAAG,CAACE,CAAD,IAAI,CAAC6B,CAAR,EAAU;AAAC,YAAM/B,CAAC,GAAC,IAAIF,sDAAJ,CAAM,gCAAN,EAAuC,oDAAvC,EAA4F;AAACiI,QAAAA,MAAM,EAAChG,CAAR;AAAUukF,QAAAA,IAAI,EAACpmF;AAAf,OAA5F,CAAR;AAAuH,YAAMoB,CAAC,GAAGiC,KAAJ,CAAUvD,CAAV,GAAaA,CAAnB;AAAqB;;AAAA,UAAM0B,CAAC,GAACxB,CAAC,CAACmY,KAAF,GAAQvX,CAAhB;AAAA,UAAkBE,CAAC,GAACL,CAAC,EAAEs2B,QAAH,IAAaj3B,CAAC,CAACggI,eAAF,EAAmB/oG,QAAhC,IAA0Cx2B,CAA9D;AAAA,UAAgE4B,CAAC,GAAC,QAAMrB,CAAN,IAAS,YAAUA,CAAC,CAACqC,IAArB,WAAiCxB,CAAC,CAAClB,CAAC,IAAEP,CAAJ,EAAMF,CAAN,CAAlC,CAAlE;AAA6GM,IAAAA,6DAAA,GAAS,CAAC,CAAV,EAAYA,+DAAA,GAAW,CAAC,CAAxB;;AAA0B,QAAG;AAAC,YAAMR,CAAC,CAAC4kI,MAAF,CAAS;AAAC78H,QAAAA,MAAM,EAAC;AAACA,UAAAA,MAAM,EAAChG,CAAR;AAAUsW,UAAAA,KAAK,EAAChW,CAAC,GAACX,CAAD,GAAG,KAAK;AAAzB;AAAR,OAAT,CAAN;AAAqD,KAAzD,CAAyD,OAAMd,CAAN,EAAQ;AAAC,UAAGN,mEAAC,CAACM,CAAD,CAAJ,EAAQ;AAAO,YAAMZ,CAAC,GAAC,IAAIF,sDAAJ,CAAM,yBAAN,EAAgC,gDAAhC,EAAiF;AAACgoF,QAAAA,OAAO,EAACnnF,CAAC,IAAEP;AAAZ,OAAjF,CAAR;AAAyGkB,MAAAA,CAAC,GAAGiC,KAAJ,CAAUvD,CAAV;AAAa,KAAvM,SAA8M;AAACQ,MAAAA,6DAAA,GAAS,CAAC,CAAV,EAAYA,+DAAA,GAAW,CAAC,CAAxB,EAA0BR,CAAC,CAACy7H,cAAF,GAAiB,IAA3C,EAAgDp5H,CAAC,KAAGrC,CAAC,CAACyiC,QAAF,GAAWzhC,CAAd,CAAjD;AAAkE;AAAC;;;;SAAeA;;;;;yMAAf,WAAiBhB,CAAjB,EAAmB;AAAC,UAAK;AAACggI,MAAAA,eAAe,EAACjgI,CAAjB;AAAmBumF,MAAAA,IAAI,EAAChmF;AAAxB,QAA2BN,CAAhC;;AAAkC,QAAG,SAAOM,CAAC,EAAE+C,IAAb,EAAkB;AAAC,YAAMrD,CAAC,GAAC,IAAIF,sDAAJ,CAAM,4BAAN,EAAmC,0BAAnC,EAA8D;AAACwmF,QAAAA,IAAI,EAAChmF;AAAN,OAA9D,CAAR;AAAgF,YAAMgB,CAAC,GAAGiC,KAAJ,CAAUvD,CAAV,GAAaA,CAAnB;AAAqB;;AAAA,QAAG,CAACD,CAAD,IAAI,CAACgC,CAAC,CAAChC,CAAD,CAAT,EAAa;AAAC,YAAMC,CAAC,GAAC,IAAIF,sDAAJ,CAAM,uCAAN,EAA8C,+DAA9C,EAA8G;AAACkgI,QAAAA,eAAe,EAACjgI;AAAjB,OAA9G,CAAR;AAA2I,YAAMuB,CAAC,GAAGiC,KAAJ,CAAUvD,CAAV,GAAaA,CAAnB;AAAqB;;AAAA,UAAK,CAACQ,CAAD,EAAGJ,CAAH,UAAYc,CAAC,CAACZ,CAAD,EAAGP,CAAH,CAAlB;AAAwBU,IAAAA,uEAAA,GAAS,CAAC,CAAV,EAAYA,yEAAA,GAAW,CAAC,CAAxB;AAA0B,UAAK;AAACqY,MAAAA,MAAM,EAAC5Y;AAAR,cAAiBM,CAAC,CAACknC,WAAF,CAActnC,CAAd,CAAtB;AAAuCF,IAAAA,CAAC,WAAQF,CAAC,CAAC4kI,MAAF,CAAS;AAAC78H,MAAAA,MAAM,EAAC7H;AAAR,KAAT,CAAR,CAAD,EAA8BO,uEAAA,GAAS,CAAC,CAAxC,EAA0CA,yEAAA,GAAW,CAAC,CAAtD;AAAwD;;;;SAAe4B;;;;;yMAAf,WAAiBvC,CAAjB,EAAmB;AAAC,UAAK;AAACwmF,MAAAA,IAAI,EAACtmF,CAAN;AAAQggI,MAAAA,eAAe,EAACjgI;AAAxB,QAA2BD,CAAhC;AAAkC,QAAG,CAACE,CAAD,IAAI,CAACD,CAAR,EAAU;AAAO,UAAK,CAACO,CAAD,EAAGE,CAAH,UAAYU,CAAC,CAAClB,CAAD,EAAGD,CAAH,CAAlB;AAAA,UAAwB;AAAC+Y,MAAAA,MAAM,EAACrY;AAAR,cAAiBH,CAAC,CAAConC,WAAF,CAAclnC,CAAd,CAAzC;AAA0DV,IAAAA,CAAC,CAACinI,8BAAF,CAAiC9vG,QAAjC,GAA0Cx2B,CAA1C,EAA4CT,CAAC,CAAC0wF,QAAF,CAAW/uD,GAAX,CAAe7hC,CAAC,CAACinI,8BAAjB,CAA5C;AAA6F;;;;SAAenmI;;;;;yMAAf,WAAiBd,CAAjB,EAAmB;AAAC,UAAK;AAACkgI,MAAAA,eAAe,EAAChgI,CAAjB;AAAmBsmF,MAAAA,IAAI,EAACvmF;AAAxB,QAA2BD,CAAhC;AAAkC,QAAG,CAACC,CAAD,IAAI,CAACC,CAAR,EAAU;AAAO,UAAK,CAACM,CAAD,EAAGE,CAAH,UAAYU,CAAC,CAACnB,CAAD,EAAGC,CAAH,CAAlB;AAAwBI,IAAAA,uEAAA,GAAS,CAAC,CAAV,EAAYA,yEAAA,GAAW,CAAC,CAAxB;AAA0B,UAAK;AAACiuC,MAAAA,QAAQ,EAAC5tC;AAAV,cAAmBH,CAAC,CAACuvC,aAAF,CAAgBrvC,CAAhB,CAAxB;AAA2CJ,IAAAA,uEAAA,GAAS,CAAC,CAAV,EAAYA,yEAAA,GAAW,CAAC,CAAxB,EAA0BA,sEAAA,GAAQ,CAAC,CAAnC,EAAqCN,CAAC,EAAE2wB,IAAH,CAAQ;AAAC4d,MAAAA,QAAQ,EAAC,CAACruC,CAAD,EAAIiX,MAAJ,CAAWxW,CAAX,CAAV;AAAwB68H,MAAAA,eAAe,EAAC,CAAC;AAAzC,KAAR,CAArC;AAA0F;;;;SAAep8H;;;;;yMAAf,WAAiBpB,CAAjB,EAAmBE,CAAnB,EAAqB;AAAC,UAAMD,CAAC,SAAOD,CAAC,CAACuvF,aAAF,CAAgBrvF,CAAC,CAAC8vC,WAAlB,CAAd;AAAA,UAA6CxvC,CAAC,GAACP,CAAC,CAACwmC,WAAF,EAA/C;AAAA,UAA+D/lC,CAAC,GAACR,CAAC,CAACioF,WAAF,EAAjE;AAAiF,WAAO3nF,CAAC,CAACw3H,YAAF,GAAe,QAAMt3H,CAAN,GAAQ,CAACA,CAAD,CAAR,GAAY,EAA3B,EAA8B,CAACT,CAAD,EAAGO,CAAH,CAArC;AAA2C;;;;AAAA,SAASc,CAAT,CAAWtB,CAAX,EAAa;AAACM,EAAAA,sEAAA,GAAQ,CAAC,CAAT;AAAW,QAAMJ,CAAC,GAACF,CAAC,CAACuuC,QAAF,CAAW5nC,MAAX,CAAmB3G,CAAC,IAAEiC,CAAC,CAACjC,CAAD,CAAvB,CAAR;AAAqCE,EAAAA,CAAC,CAAC2N,MAAF,KAAW7N,CAAC,CAACuuC,QAAF,GAAWruC,CAAtB;AAAyB;;;;;;;;;;;;;;;;;;;;;;;;;;;ACJxiH;AACA;AACA;AACA;AAC2P,QAAQ,kEAAQ,EAAE,yCAAyC,sEAAC,UAAU,OAAO,wEAAC,QAAQ,wEAAC,EAAE,QAAQ,wEAAC,EAAE,0DAA0D,cAAc,YAAY,oFAAuB,CAAC,QAAQ,wEAAC,EAAE,kDAAkD,gBAAgB,YAAY,oEAAO,CAAC,QAAQ,wEAAC,EAAE,qEAAqE,cAAc,YAAY,oFAAuB,CAAC,QAAQ,wEAAC,EAAE,oDAAoD,iCAAiC,YAAY,oEAAO,UAAU,cAA8J;;;;;;;;;;;;;;;;ACJz8B;AACA;AACA;AACA;AACA,0BAA0B,EAAE,gBAAgB,qBAAqB,EAAE,kBAAkB,EAAE,4BAA4B,EAAE,wCAAwC,EAAE,gCAAgC,EAAE,iCAAiC,EAAE,kCAAkC,EAAE,sCAAsC,EAAE,uCAAuC,EAAE,iCAAiC,EAAE,2CAA2C,EAAE,yCAAyC,EAAE,uCAAuC,EAAE,wCAAwC,EAAE,yCAAyC,EAAE,mCAAmC,EAAE,+BAA+B,EAAE,sBAAuC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACJ/rB;AACA;AACA;AACA;AACuxB,SAAS,iOAAiO,IAAI,0BAA0B,oBAAoB,kDAAC,CAAC,iBAAiB,kcAAkc,2DAAC,0EAA0E,2DAAC,4JAA4J,2DAAC,gIAAgI,2DAAC,uBAAuB,2DAAC,2CAA2C,mEAAC,uBAAuB,KAAK,kqBAAkqB,UAAU,klBAAklB,mBAAmB,mCAAmC,oBAAoB,8BAA8B,mBAAmB,mCAAmC,oBAAoB,8BAA8B,0BAA0B,0CAA0C,2BAA2B,qCAAqC,yBAAyB,yCAAyC,0BAA0B,oCAAoC,WAAW,gCAAgC,YAAY,+BAA+B,YAAY,sCAAsC,aAAa,gCAAgC,0BAA0B,0CAA0C,2BAA2B,qCAAqC,aAAa,6BAA6B,cAAc,wHAAwH,UAAU,0BAA0B,WAAW,qBAAqB,UAAU,0BAA0B,WAAW,qBAAqB,gBAAgB,gCAAgC,iBAAiB,2BAA2B,YAAY,MAAM,iIAAiI,MAAM,sFAAsF,wBAAwB,wCAAwC,yBAAyB,mCAAmC,mBAAmB,iDAAiD,aAAa,6BAA6B,cAAc,wBAAwB,uBAAuB,OAAO,WAAW,SAAS,MAAM,QAAQ,qBAAqB,qDAAM,CAAC,oEAAQ,4BAA4B,iEAAkB,CAAC,+DAAgB,0BAA0B,yDAAU,yBAAyB,sEAAU,OAAO,oCAAoC,4DAAC,QAAQ,8FAA8F,wBAAwB,cAAc,kBAAkB,kBAAkB,mBAAmB,qBAAqB,oDAAoD,iBAAiB,MAAM,YAAY,MAAM,uGAAuG,yBAAyB,OAAO,4DAAC,QAAQ,gBAAgB,+DAAgB,wBAAwB,6FAA6F,sBAAsB,OAAO,4DAAC,QAAQ,wFAAwF,6DAAc,uBAAuB,oGAAoG,kCAAkC,mDAAmD,0DAA0D,iBAAiB,MAAM,wBAAwB,2BAA2B,+HAA+H,yBAAyB,mDAAmD,gCAAgC,YAAY,KAAK,0CAA0C,SAAS,yBAAyB,MAAM,qEAAqE,oNAAoN,QAAQ,kCAAkC,6KAA6K,sFAAsF,EAAE,gBAAgB,EAAE,KAAK,+BAA+B,EAAE,cAAc,EAAE,EAAE,iBAAiB,+DAAgB,CAAC,0EAA2B,2BAA2B,0EAA2B,OAAO,OAAO,4DAAC,QAAQ,8KAA8K,EAAE,WAAW,EAAE,gCAAgC,EAAE,sCAAsC,MAAM,sCAAsC,+IAA+I,WAAW,qBAAqB,4BAA4B,yBAAyB,gDAAgD,OAAO,EAAE,GAAG,EAAE,KAAK,gBAAgB,4BAA4B,EAAE,gBAAgB,EAAE,KAAK,+BAA+B,EAAE,cAAc,EAAE,EAAE,EAAE,UAAU,2EAA4B,CAAC,2EAA4B,gBAAgB,+DAAgB,CAAC,wEAAyB,IAAI,OAAO,4DAAC,QAAQ,8IAA8I,EAAE,wBAAwB,MAAM,wBAAwB,MAAM,kDAAkD,8GAA8G,yCAAyC,sEAAsE,0BAA0B,gEAAgE,4BAA4B,MAAM,wEAAwE,UAAU,4DAA4D,8DAAe,CAAC,yEAA0B,KAAK,oEAAqB,QAAQ,uEAAwB,oEAAoE,YAAY,6CAA6C,sBAAsB,qBAAqB,gEAAC,sCAAsC,QAAQ,iCAAiC,EAAE,UAAU,IAAI,oBAAoB,EAAE,UAAU,IAAI,KAAK,EAAE,UAAU,KAAK,EAAE,EAAE,UAAU,IAAI,EAAE,OAAO,4DAAC,QAAQ,kLAAkL,EAAE,SAAS,EAAE,oMAAoM,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,8FAA8F,CAAC,4DAAC,SAAS,wFAAwF,6DAAc,4CAA4C,4BAA4B,oBAAoB,MAAM,2CAA2C,iEAAiE,6DAAc,QAAQ,oEAAQ,mBAAmB,wEAAyB,OAAO,OAAO,4DAAC,SAAS,mJAAmJ,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,6CAA6C,8DAA8D,qBAAqB,MAAM,oBAAoB,MAAM,kBAAkB,aAAa,OAAO,4DAAC,UAAU,0FAA0F,2DAAY,mEAAmE,EAAE,iJAAiJ,EAAE,aAAa,MAAM,+DAA+D,wDAAwD,2DAAY,EAAE,CAAC,oEAAQ,MAAM,sEAAuB,qBAAqB,mEAAoB,IAAI,EAAE,OAAO,4DAAC,QAAQ,2MAA2M,iCAAiC,aAAa,MAAM,+DAA+D,wDAAwD,2DAAY,EAAE,CAAC,oEAAQ,MAAM,sEAAuB,qBAAqB,mEAAoB,IAAI,EAAE,OAAO,4DAAC,QAAQ,2MAA2M,iCAAiC,kBAAkB,OAAO,4DAAC,UAAU,2FAA2F,2DAAY,qLAAqL,EAAE,kBAAkB,OAAO,4DAAC,UAAU,2FAA2F,2DAAY,qLAAqL,EAAE,8BAA8B,OAAO,4DAAC,QAAQ,gBAAgB,oEAAqB,CAAC,kBAAkB,wBAAwB,0HAA0H,4DAAC,QAAQ,mBAAmB,sEAAuB,wBAAwB,2BAA2B,kBAAkB,MAAM,gBAAgB,GAAG,sDAAsD,2DAAC,oBAAoB,+BAA+B,oFAAoF,oCAAoC,8FAA8F,oFAAoF,mFAAmF,+FAA+F,0BAA0B,oGAAoG,6BAA6B,4DAAC,QAAQ,kNAAkN,EAAE,iCAAiC,oFAAoF,yBAAyB,OAAO,4DAAC,QAAQ,mFAAmF,4DAAa,uGAAuG,EAAE,4CAA4C,EAAE,0BAA0B,4GAA4G,OAAO,4DAAC,QAAQ,sHAAsH,iEAAkB,uGAAuG,EAAE,qCAAqC,EAAE,oCAAoC,EAAE,IAAI,yBAAyB,gBAAgB,kEAAC,iCAAiC,qBAAqB,6GAA6G,sBAAsB,oMAAoM,uBAAuB,yFAAyF,wBAAwB,+FAA+F,gCAAgC,qCAAqC,iCAAiC,wCAAwC,sBAAsB,uHAAuH,gFAAgF,oCAAoC,sBAAsB,mCAAmC,4EAA4E,uBAAuB,0CAA0C,sGAAsG,qBAAqB,0BAA0B,sBAAsB,6BAA6B,qBAAqB,4IAA4I,sBAAsB,qJAAqJ,qBAAqB,mDAAmD,kEAAkE,kCAAkC,wBAAwB,wDAAwD,yBAAyB,kDAAkD,IAAI,yBAAyB,wDAAwD,0BAA0B,kDAAkD,IAAI,0BAA0B,6EAA6E,eAAe,yBAAyB,aAAa,2BAA2B,6DAA6D,MAAM,iBAAiB,mDAAmD,+BAA+B,wBAAwB,+BAA+B,wBAAwB,+BAA+B,oBAAoB,qDAAqD,MAAM,eAAe,gIAAgI,qGAAqG,uBAAuB,mBAAmB,MAAM,QAAQ,uDAAuD,2DAA2D,KAAK,MAAM,YAAY,uGAAuG,MAAM,qGAAqG,uBAAuB,mCAAmC,2BAA2B,EAAE,sDAAsD,mBAAmB,MAAM,YAAY,mHAAmH,sBAAsB,uBAAuB,mCAAmC,2BAA2B,GAAG,wBAAwB,6BAA6B,MAAM,6BAA6B,UAAU,wIAAwI,yFAAyF,+JAA+J,wBAAwB,uDAAuD,mBAAmB,MAAM,uEAAuE,oBAAoB,OAAO,oBAAoB,sJAAsJ,gBAAgB,aAAa,uCAAuC,uBAAuB,mCAAmC,wBAAwB,4BAA4B,wBAAwB,EAAE,sBAAsB,uKAAuK,mBAAmB,MAAM,QAAQ,sDAAsD,8HAA8H,6BAA6B,4EAA4E,gBAAgB,GAAG,uBAAuB,MAAM,uDAAuD,MAAM,+CAA+C,yJAAyJ,MAAM,QAAQ,OAAO,oBAAoB,uKAAuK,kBAAkB,+DAA+D,4DAA4D,uCAAuC,iFAAiF,8BAA8B,EAAE,uBAAuB,iCAAiC,6BAA6B,oIAAoI,uBAAuB,oCAAoC,qBAAqB,wNAAwN,yEAAyE,2BAA2B,QAAQ,GAAG,yBAAyB,mBAAmB,sCAAsC,+CAA+C,iHAAiH,8DAA8D,6EAA6E,qEAAsB,qDAAqD,oEAAqB,+CAA+C,qEAAsB,+CAA+C,oEAAqB,+CAA+C,oEAAqB,+BAA+B,kGAAkG,YAAY,EAAE,4JAA4J,yCAAyC,GAAG,yBAAyB,sCAAsC,mBAAmB,MAAM,oDAAoD,kCAAkC,cAAc,OAAO,2BAA2B,IAAI,2BAA2B,GAAG,iBAAiB,4CAA4C,gBAAgB,iIAAiI,MAAM,qCAAqC,MAAM,oCAAoC,cAAc,2BAA2B,MAAM,YAAY,8GAA8G,sHAAsH,MAAM,MAAM,YAAY,8GAA8G,sHAAsH,yKAAyK,8GAA8G,sFAAsF,wCAAwC,EAAE,uBAAuB,mMAAmM,MAAM,WAAW,2CAA2C,iBAAiB,KAAK,QAAQ,MAAM,UAAU,4BAA4B,uDAAuD,qEAAsB,wDAAwD,oEAAqB,mCAAmC,0BAA0B,wJAAwJ,wCAAwC,EAAE,OAAO,yEAAyE,6BAA6B,mCAAmC,GAAG,qBAAqB,iBAAiB,SAAS,2BAA2B,0BAA0B,mCAAmC,GAAG,wBAAwB,sBAAsB,+CAA+C,qHAAqH,sBAAsB,yKAAyK,sBAAsB,uCAAuC,qBAAqB,6BAA6B,oBAAoB,oQAAoQ,qBAAqB,MAAM,8CAA8C,uBAAuB,2FAA2F,mDAAmD,YAAY,4CAA4C,mBAAmB,gBAAgB,uBAAuB,mCAAmC,2BAA2B,EAAE,mBAAmB,6BAA6B,MAAM,eAAe,IAAI,uCAAuC,IAAI,2CAA2C,UAAU,wBAAwB,oBAAoB,UAAU,wDAAwD,mBAAmB,wDAAwD,gCAAgC,wFAAwF,oBAAoB,MAAM,EAAE,4FAA4F,mBAAmB,uBAAuB,kEAAkE,kDAAkD,kFAAkF,0BAA0B,GAAG,mBAAmB,wDAAwD,gCAAgC,wFAAwF,oBAAoB,MAAM,EAAE,4FAA4F,mBAAmB,uBAAuB,kEAAkE,kDAAkD,kFAAkF,0BAA0B,GAAG,cAAc,8CAA8C,sBAAsB,MAAM,6BAA6B,wCAAwC,2BAA2B,mCAAmC,4FAA4F,iDAAiD,sBAAsB,MAAM,yCAAyC,wCAAwC,+DAA+D,oEAAoE,sBAAsB,MAAM,6BAA6B,+CAA+C,yCAAyC,6BAA6B,sDAAsD,sBAAsB,MAAM,SAAS,MAAM,gDAAgD,sBAAsB,0CAA0C,oBAAoB,wCAAwC,4BAA4B,+BAA+B,MAAM,YAAY,GAAG,OAAO,aAAa,SAAS,wBAAwB,0GAA0G,yBAAyB,6GAA6G,qBAAqB,kEAAkE,OAAO,8EAA8E,wBAAwB,gCAAgC,+CAA+C,EAAE,iBAAiB,EAAE,GAAG,0BAA0B,4CAA4C,oCAAoC,EAAE,EAAE,0BAA0B,SAAS,IAAI,WAAW,yBAAyB,EAAE,+BAA+B,gEAAgE,SAAS,wCAAwC,IAAI,EAAE,GAAG,yBAAyB,qEAAqE,4HAA4H,yBAAyB,0CAA0C,mCAAmC,MAAM,qBAAqB,MAAM,kEAAkE,cAAc,qBAAqB,6DAA6D,4FAA4F,iBAAiB,2GAA2G,4FAA4F,kCAAkC,MAAM,YAAY,mCAAmC,YAAY,4CAA4C,eAAe,oHAAoH,sCAAsC,+GAA+G,8CAA8C,8BAA8B,MAAM,YAAY,kCAAkC,OAAO,+DAA+D,4BAA4B,MAAM,iGAAiG,yDAAyD,QAAQ,gOAAgO,4EAA4E,EAAE,4EAA4E,EAAE,aAAa,2BAA2B,oBAAoB,qEAAqE,+BAA+B,+CAA+C,mIAAmI,iBAAiB,MAAM,QAAQ,MAAM,6BAA6B,MAAM,YAAY,MAAM,sCAAsC,gCAAgC,YAAY,KAAK,KAAK,cAAc,gBAAgB,SAAS,aAAa,8DAA8D,WAAW,SAAS,aAAa,mBAAmB,mCAAmC,6CAA6C,KAAK,2CAA2C,6BAA6B,+BAA+B,MAAM,QAAQ,MAAM,uBAAuB,mFAAmF,oBAAoB,iCAAiC,iGAAiG,qCAAqC,oBAAoB,MAAM,OAAO,GAAG,+DAA+D,2BAA2B,8CAA8C,sCAAsC,MAAM,6BAA6B,sDAAsD,qBAAqB,YAAY,IAAI,KAAK,YAAY,gBAAgB,SAAS,kBAAkB,IAAI,OAAO,4DAAC,8BAA8B,SAAS,4DAA4D,SAAS,wBAAwB,yBAAyB,wBAAwB,EAAE,uBAAuB,wBAAwB,uBAAuB,EAAE,uBAAuB,wBAAwB,uBAAuB,EAAE,uBAAuB,wBAAwB,uBAAuB,EAAE,yBAAyB,0BAA0B,yBAAyB,EAAE,wBAAwB,yBAAyB,wBAAwB,EAAE,uBAAuB,wBAAwB,uBAAuB,EAAE,0BAA0B,2BAA2B,0BAA0B,EAAE,yBAAyB,0BAA0B,yBAAyB,EAAE,gCAAgC,yBAAyB,gCAAgC,2BAA2B,cAAc,+BAA+B,cAAc,+BAA+B,cAAc,iCAAiC,cAAc,mCAAmC,cAAc,mCAAmC,cAAc,yBAAyB,cAAc,qCAAqC,cAAc,oCAAoC,cAAc,0BAA0B,uDAAC,EAAE,sFAAC,mCAAmC,uDAAC,EAAE,sFAAC,mDAAmD,uDAAC,EAAE,sFAAC,qCAAqC,uDAAC,EAAE,sFAAC,qCAAqC,uDAAC,EAAE,sFAAC,EAAE,YAAY,kDAAkD,uDAAC,EAAE,sFAAC,qCAAqC,uDAAC,EAAE,sFAAC,+CAA+C,uDAAC,EAAE,sFAAC,4CAA4C,uDAAC,EAAE,sFAAC,2CAA2C,uDAAC,EAAE,sFAAC,6BAA6B,uDAAC,EAAE,sFAAC,8BAA8B,uDAAC,EAAE,sFAAC,EAAE,YAAY,uCAAuC,uDAAC,EAAE,sFAAC,6CAA6C,uDAAC,EAAE,sFAAC,4CAA4C,uDAAC,EAAE,sFAAC,EAAE,YAAY,8BAA8B,uDAAC,EAAE,sFAAC,EAAE,mBAAmB,8BAA8B,uDAAC,EAAE,sFAAC,4BAA4B,uDAAC,EAAE,sFAAC,EAAE,YAAY,yCAAyC,uDAAC,EAAE,sFAAC,GAAG,oFAAC,mEAAmE,uDAAC,EAAE,sFAAC,4BAA4B,uDAAC,EAAE,sFAAC,EAAE,YAAY,yCAAyC,uDAAC,EAAE,sFAAC,kCAAkC,uDAAC,EAAE,sFAAC,kDAAkD,uDAAC,EAAE,sFAAC,EAAE,YAAY,yCAAyC,uDAAC,EAAE,sFAAC,6CAA6C,uDAAC,EAAE,sFAAC,EAAE,YAAY,6BAA6B,uDAAC,EAAE,sFAAC,gCAAgC,uDAAC,EAAE,sFAAC,gDAAgD,uDAAC,EAAE,sFAAC,0CAA0C,uDAAC,EAAE,sFAAC,+CAA+C,uDAAC,EAAE,sFAAC,EAAE,YAAY,uCAAuC,uDAAC,EAAE,sFAAC,oCAAoC,uDAAC,EAAE,sFAAC,EAAE,YAAY,sCAAsC,uDAAC,EAAE,sFAAC,EAAE,YAAY,sCAAsC,uDAAC,EAAE,sFAAC,+BAA+B,uDAAC,EAAE,sFAAC,oCAAoC,uDAAC,EAAE,sFAAC,0CAA0C,uDAAC,EAAE,8EAAC,+DAA+D,uDAAC,EAAE,sFAAC,4BAA4B,UAA+B;;;;;;;;;;;;;;;;;;;;;;;;ACJnooC;AACA;AACA;AACA;AAC+W,oBAAoB,yDAAC,CAAC,eAAe,oDAAoD,oBAAoB,wBAAwB,oBAAoB,wBAAwB,2BAA2B,mCAAmC,2BAA2B,mCAAmC,0BAA0B,kCAAkC,aAAa,MAAM,qBAAqB,wEAAwE,OAAO,gFAAgF,WAAW,eAAe,WAAW,eAAe,YAAY,MAAM,YAAY,MAAM,gDAAgD,cAAc,MAAM,YAAY,oBAAoB,+NAA+N,eAAe,6CAA6C,8BAA8B,MAAM,wBAAwB,qCAAqC,2CAA2C,8BAA8B,oBAAoB,6BAA6B,qBAAqB,YAAY,MAAM,0CAA0C,MAAM,OAAO,2EAA2E,4BAA4B,MAAM,6BAA6B,OAAO,YAAY,kBAAkB,SAAS,kBAAkB,OAAO,6CAA6C,OAAO,aAAa,wBAAwB,gHAAgH,UAAU,MAAM,eAAe,MAAM,6CAA6C,2GAA2G,4BAA4B,qDAAqD,WAAW,+BAA+B,UAAU,MAAM,eAAe,MAAM,6CAA6C,2GAA2G,4BAA4B,qDAAqD,WAAW,+BAA+B,mBAAmB,sDAAsD,oHAAoH,4BAA4B,6EAA6E,mBAAmB,sDAAsD,oHAAoH,4BAA4B,6EAA6E,cAAc,wHAAwH,MAAM,SAAS,MAAM,wHAAwH,mCAAmC,gBAAgB,eAAe,yDAAyD,uBAAuB,MAAM,YAAY,MAAM,uCAAuC,iBAAiB,iEAAW,iBAAiB,sDAAC,WAAW,uDAAC,EAAE,sFAAC,qCAAqC,uDAAC,EAAE,sFAAC,qCAAqC,uDAAC,EAAE,sFAAC,4CAA4C,uDAAC,EAAE,sFAAC,4CAA4C,uDAAC,EAAE,sFAAC,2CAA2C,uDAAC,EAAE,sFAAC,EAAE,YAAY,8BAA8B,uDAAC,EAAE,sFAAC,4BAA4B,uDAAC,EAAE,sFAAC,4BAA4B,uDAAC,EAAE,sFAAC,oCAAoC,uDAAC,EAAE,sFAAC,EAAE,YAAY,6BAA6B,uDAAC,EAAE,sFAAC,4CAA4C,uDAAC,EAAE,sFAAC,iCAAiC,uDAAC,EAAE,sFAAC,4CAA4C,UAA+B;;;;;;;;;;;;;;;;ACJ92I;AACA;AACA;AACA;AACA,yBAAyB,mBAAmB,EAAE,gCAAgC,EAAE,gCAAgC,EAAE,8BAA8B,EAAE,kCAAkC,EAAE,iCAAiC,EAAE,kCAAkC,EAAE,wBAAwB,EAAE,4BAA4B,EAAE,4BAA4B,EAAE,qBAAqB,EAAE,gCAAgC,EAAE,6CAA6C,EAAE,0CAA0C,EAAE,+BAA+B,EAAE,gCAAgC,EAAE,iCAAiC,EAAE,4CAA4C,EAAE,wCAAwC,EAAE,8CAA8C,EAAE,6BAA6B,EAAE,wCAAwC,EAAE,yCAAyC,EAAE,gDAAgD,EAAE,8CAA8C,EAAE,mDAAmD,EAAE,uDAAuD,EAAE,yCAAyC,EAAE,yBAAyB,EAAE,oCAAoC,EAAE,oCAAoC,EAAE,gBAAiC;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACJ5sC;AACA;AACA;AACA;AACqgB,0BAA0B,uBAAuB,EAAE,0BAA0B,EAAE,WAAW,oBAAoB,kDAAC,CAAC,iBAAiB,mFAAmF,oEAAC,CAAC,aAAa,gBAAgB,6DAAC,kDAAkD,UAAU,4BAA4B,eAAe,+BAA+B,gBAAgB,0BAA0B,WAAW,2BAA2B,YAAY,sBAAsB,cAAc,8BAA8B,eAAe,yBAAyB,QAAQ,MAAM,qBAAqB,OAAO,+CAA+C,wBAAwB,kBAAkB,WAAW,OAAO,gBAAgB,SAAS,MAAM,UAAU,OAAO,iBAAiB,wCAAwC,uCAAuC,6BAA6B,OAAO,4DAAC,QAAQ,sCAAsC,EAAE,kBAAkB,0DAA0D,QAAQ,4DAAC,uBAAuB,wCAAwC,cAAc,kGAAkG,GAAG,qBAAqB,MAAM,wBAAwB,gBAAgB,6BAA6B,MAAM,UAAU,GAAG,OAAO,2CAA2C,uDAAC,EAAE,sFAAC,iCAAiC,uDAAC,EAAE,sFAAC,6BAA6B,uDAAC,EAAE,sFAAC,EAAE,KAAK,oEAAC,CAAC,mCAAmC,uDAAC,EAAE,sFAAC,kCAAkC,uDAAC,EAAE,sFAAC,6BAA6B,UAA+B;;;;;;;;;;;;;;;;;;;;;;;ACJvkE;AACA;AACA;AACA;AACmV,oBAAoB,0EAAC,CAAC,eAAe,2BAA2B,uDAAC,EAAE,sFAAC,oCAAoC,uDAAC,EAAE,sFAAC,8CAA8C,UAA+B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACJ5gB;AACA;AACA;AACA;AACA;AAA2C;AAA+C;AAAwD;AAA0D;AAAiC;AAA8D;AAAoE;AAA0E;AAA0E;AAAiF;AAAuC;AAA+D;AAA2B;AAA2B;AAAqE;AAAmD;AAAqD;AAA8E;AAAsE;AAA0D;AAA8C;AAAoD;AAAgE;AAA0C;AAAmD,MAAMqI,CAAC,GAAC,CAAR;AAAA,MAAUQ,CAAC,GAAC,GAAZ;AAAA,MAAgB+W,CAAC,GAAC,CAAC;AAACpK,EAAAA,KAAK,EAAC;AAAChI,IAAAA,KAAK,EAAC,GAAP;AAAW4tC,IAAAA,IAAI,EAAC;AAAhB,GAAP;AAAuC7lC,EAAAA,KAAK,EAAC;AAAC/H,IAAAA,KAAK,EAAC,CAAP;AAAS4tC,IAAAA,IAAI,EAAC;AAAd,GAA7C;AAAsE/hC,EAAAA,MAAM,EAAC;AAACkzD,IAAAA,MAAM,EAAC;AAAR;AAA7E,CAAD,EAAkG;AAAC/2D,EAAAA,KAAK,EAAC;AAAChI,IAAAA,KAAK,EAAC,GAAP;AAAW4tC,IAAAA,IAAI,EAAC;AAAhB,GAAP;AAAuC7lC,EAAAA,KAAK,EAAC;AAAC/H,IAAAA,KAAK,EAAC,CAAP;AAAS4tC,IAAAA,IAAI,EAAC;AAAd,GAA7C;AAAsE/hC,EAAAA,MAAM,EAAC;AAACkzD,IAAAA,MAAM,EAAC;AAAR;AAA7E,CAAlG,EAAmM;AAAC/2D,EAAAA,KAAK,EAAC;AAAChI,IAAAA,KAAK,EAAC,CAAP;AAAS4tC,IAAAA,IAAI,EAAC;AAAd,GAAP;AAAgC7lC,EAAAA,KAAK,EAAC;AAAC/H,IAAAA,KAAK,EAAC,EAAP;AAAU4tC,IAAAA,IAAI,EAAC;AAAf,GAAtC;AAAgE/hC,EAAAA,MAAM,EAAC;AAACmzD,IAAAA,MAAM,EAAC,SAAR;AAAkBD,IAAAA,MAAM,EAAC;AAAzB;AAAvE,CAAnM,EAA+S;AAAC/2D,EAAAA,KAAK,EAAC;AAAChI,IAAAA,KAAK,EAAC,CAAP;AAAS4tC,IAAAA,IAAI,EAAC;AAAd,GAAP;AAAgC7lC,EAAAA,KAAK,EAAC;AAAC/H,IAAAA,KAAK,EAAC,EAAP;AAAU4tC,IAAAA,IAAI,EAAC;AAAf,GAAtC;AAAgE/hC,EAAAA,MAAM,EAAC;AAACmzD,IAAAA,MAAM,EAAC,SAAR;AAAkBD,IAAAA,MAAM,EAAC;AAAzB;AAAvE,CAA/S,EAA2Z;AAAC/2D,EAAAA,KAAK,EAAC;AAAChI,IAAAA,KAAK,EAAC,EAAP;AAAU4tC,IAAAA,IAAI,EAAC;AAAf,GAAP;AAAiC7lC,EAAAA,KAAK,EAAC;AAAC/H,IAAAA,KAAK,EAAC,CAAP;AAAS4tC,IAAAA,IAAI,EAAC;AAAd,GAAvC;AAAgE/hC,EAAAA,MAAM,EAAC;AAACmzD,IAAAA,MAAM,EAAC;AAAR;AAAvE,CAA3Z,EAAsf;AAACh3D,EAAAA,KAAK,EAAC;AAAChI,IAAAA,KAAK,EAAC,EAAP;AAAU4tC,IAAAA,IAAI,EAAC;AAAf,GAAP;AAAiC7lC,EAAAA,KAAK,EAAC;AAAC/H,IAAAA,KAAK,EAAC,CAAP;AAAS4tC,IAAAA,IAAI,EAAC;AAAd,GAAvC;AAAgE/hC,EAAAA,MAAM,EAAC;AAACozD,IAAAA,IAAI,EAAC,SAAN;AAAgBD,IAAAA,MAAM,EAAC;AAAvB;AAAvE,CAAtf,EAAgmB;AAACh3D,EAAAA,KAAK,EAAC;AAAChI,IAAAA,KAAK,EAAC,CAAP;AAAS4tC,IAAAA,IAAI,EAAC;AAAd,GAAP;AAAgC7lC,EAAAA,KAAK,EAAC;AAAC/H,IAAAA,KAAK,EAAC,EAAP;AAAU4tC,IAAAA,IAAI,EAAC;AAAf,GAAtC;AAAgE/hC,EAAAA,MAAM,EAAC;AAACozD,IAAAA,IAAI,EAAC,SAAN;AAAgBD,IAAAA,MAAM,EAAC;AAAvB;AAAvE,CAAhmB,EAA0sB;AAACh3D,EAAAA,KAAK,EAAC;AAAChI,IAAAA,KAAK,EAAC,CAAP;AAAS4tC,IAAAA,IAAI,EAAC;AAAd,GAAP;AAAgC7lC,EAAAA,KAAK,EAAC;AAAC/H,IAAAA,KAAK,EAAC,CAAP;AAAS4tC,IAAAA,IAAI,EAAC;AAAd,GAAtC;AAA6D/hC,EAAAA,MAAM,EAAC;AAACozD,IAAAA,IAAI,EAAC,SAAN;AAAgBD,IAAAA,MAAM,EAAC;AAAvB;AAApE,CAA1sB,EAAizB;AAACh3D,EAAAA,KAAK,EAAC;AAAChI,IAAAA,KAAK,EAAC,EAAP;AAAU4tC,IAAAA,IAAI,EAAC;AAAf,GAAP;AAAiC7lC,EAAAA,KAAK,EAAC;AAAC/H,IAAAA,KAAK,EAAC,CAAP;AAAS4tC,IAAAA,IAAI,EAAC;AAAd,GAAvC;AAA8D/hC,EAAAA,MAAM,EAAC;AAACozD,IAAAA,IAAI,EAAC,SAAN;AAAgBD,IAAAA,MAAM,EAAC;AAAvB;AAArE,CAAjzB,EAAy5B;AAACh3D,EAAAA,KAAK,EAAC;AAAChI,IAAAA,KAAK,EAAC,CAAP;AAAS4tC,IAAAA,IAAI,EAAC;AAAd,GAAP;AAA8B7lC,EAAAA,KAAK,EAAC;AAAC/H,IAAAA,KAAK,EAAC,CAAP;AAAS4tC,IAAAA,IAAI,EAAC;AAAd,GAApC;AAA0D/hC,EAAAA,MAAM,EAAC;AAACqzD,IAAAA,GAAG,EAAC,SAAL;AAAeC,IAAAA,KAAK,EAAC;AAArB;AAAjE,CAAz5B,EAAy/B;AAACn3D,EAAAA,KAAK,EAAC;AAAChI,IAAAA,KAAK,EAAC,CAAP;AAAS4tC,IAAAA,IAAI,EAAC;AAAd,GAAP;AAA8B7lC,EAAAA,KAAK,EAAC;AAAC/H,IAAAA,KAAK,EAAC,CAAP;AAAS4tC,IAAAA,IAAI,EAAC;AAAd,GAApC;AAA2D/hC,EAAAA,MAAM,EAAC;AAACqzD,IAAAA,GAAG,EAAC,SAAL;AAAeC,IAAAA,KAAK,EAAC;AAArB;AAAlE,CAAz/B,EAA0lC;AAACn3D,EAAAA,KAAK,EAAC;AAAChI,IAAAA,KAAK,EAAC,CAAP;AAAS4tC,IAAAA,IAAI,EAAC;AAAd,GAAP;AAA6B7lC,EAAAA,KAAK,EAAC;AAAC/H,IAAAA,KAAK,EAAC,CAAP;AAAS4tC,IAAAA,IAAI,EAAC;AAAd,GAAnC;AAA2D/hC,EAAAA,MAAM,EAAC;AAACszD,IAAAA,KAAK,EAAC;AAAP;AAAlE,CAA1lC,EAA4qC;AAACn3D,EAAAA,KAAK,EAAC;AAAChI,IAAAA,KAAK,EAAC,CAAP;AAAS4tC,IAAAA,IAAI,EAAC;AAAd,GAAP;AAA6B7lC,EAAAA,KAAK,EAAC;AAAC/H,IAAAA,KAAK,EAAC,CAAP;AAAS4tC,IAAAA,IAAI,EAAC;AAAd,GAAnC;AAA2D/hC,EAAAA,MAAM,EAAC;AAACszD,IAAAA,KAAK,EAAC;AAAP;AAAlE,CAA5qC,EAA+vC;AAACn3D,EAAAA,KAAK,EAAC;AAAChI,IAAAA,KAAK,EAAC,CAAP;AAAS4tC,IAAAA,IAAI,EAAC;AAAd,GAAP;AAA6B7lC,EAAAA,KAAK,EAAC;AAAC/H,IAAAA,KAAK,EAAC,CAAP;AAAS4tC,IAAAA,IAAI,EAAC;AAAd,GAAnC;AAA2D/hC,EAAAA,MAAM,EAAC;AAACszD,IAAAA,KAAK,EAAC;AAAP;AAAlE,CAA/vC,EAAk1C;AAACn3D,EAAAA,KAAK,EAAC;AAAChI,IAAAA,KAAK,EAAC,CAAP;AAAS4tC,IAAAA,IAAI,EAAC;AAAd,GAAP;AAA6B7lC,EAAAA,KAAK,EAAC;AAAC/H,IAAAA,KAAK,EAAC,CAAP;AAAS4tC,IAAAA,IAAI,EAAC;AAAd,GAAnC;AAA2D/hC,EAAAA,MAAM,EAAC;AAACszD,IAAAA,KAAK,EAAC,OAAP;AAAeC,IAAAA,IAAI,EAAC;AAApB;AAAlE,CAAl1C,EAAo7C;AAACp3D,EAAAA,KAAK,EAAC;AAAChI,IAAAA,KAAK,EAAC,CAAP;AAAS4tC,IAAAA,IAAI,EAAC;AAAd,GAAP;AAA8B7lC,EAAAA,KAAK,EAAC;AAAC/H,IAAAA,KAAK,EAAC,CAAP;AAAS4tC,IAAAA,IAAI,EAAC;AAAd,GAApC;AAA2D/hC,EAAAA,MAAM,EAAC;AAACuzD,IAAAA,IAAI,EAAC;AAAN;AAAlE,CAAp7C,EAAwgD;AAACp3D,EAAAA,KAAK,EAAC;AAAChI,IAAAA,KAAK,EAAC,CAAP;AAAS4tC,IAAAA,IAAI,EAAC;AAAd,GAAP;AAA+B7lC,EAAAA,KAAK,EAAC;AAAC/H,IAAAA,KAAK,EAAC,CAAP;AAAS4tC,IAAAA,IAAI,EAAC;AAAd,GAArC;AAA4D/hC,EAAAA,MAAM,EAAC;AAACuzD,IAAAA,IAAI,EAAC;AAAN;AAAnE,CAAxgD,EAA6lD;AAACp3D,EAAAA,KAAK,EAAC;AAAChI,IAAAA,KAAK,EAAC,CAAP;AAAS4tC,IAAAA,IAAI,EAAC;AAAd,GAAP;AAA+B7lC,EAAAA,KAAK,EAAC;AAAC/H,IAAAA,KAAK,EAAC,CAAP;AAAS4tC,IAAAA,IAAI,EAAC;AAAd,GAArC;AAA4D/hC,EAAAA,MAAM,EAAC;AAACuzD,IAAAA,IAAI,EAAC;AAAN;AAAnE,CAA7lD,EAAkrD;AAACp3D,EAAAA,KAAK,EAAC;AAAChI,IAAAA,KAAK,EAAC,CAAP;AAAS4tC,IAAAA,IAAI,EAAC;AAAd,GAAP;AAA8B7lC,EAAAA,KAAK,EAAC;AAAC/H,IAAAA,KAAK,EAAC,CAAP;AAAS4tC,IAAAA,IAAI,EAAC;AAAd,GAApC;AAA6D/hC,EAAAA,MAAM,EAAC;AAACuzD,IAAAA,IAAI,EAAC;AAAN;AAApE,CAAlrD,EAAwwD;AAACp3D,EAAAA,KAAK,EAAC;AAAChI,IAAAA,KAAK,EAAC,CAAP;AAAS4tC,IAAAA,IAAI,EAAC;AAAd,GAAP;AAA8B7lC,EAAAA,KAAK,EAAC;AAAC/H,IAAAA,KAAK,EAAC,CAAP;AAAS4tC,IAAAA,IAAI,EAAC;AAAd,GAApC;AAA6D/hC,EAAAA,MAAM,EAAC;AAACuzD,IAAAA,IAAI,EAAC;AAAN;AAApE,CAAxwD,EAA81D;AAACp3D,EAAAA,KAAK,EAAC;AAAChI,IAAAA,KAAK,EAAC,CAAP;AAAS4tC,IAAAA,IAAI,EAAC;AAAd,GAAP;AAAgC7lC,EAAAA,KAAK,EAAC;AAAC/H,IAAAA,KAAK,EAAC,EAAP;AAAU4tC,IAAAA,IAAI,EAAC;AAAf,GAAtC;AAAkE/hC,EAAAA,MAAM,EAAC;AAAC8+H,IAAAA,GAAG,EAAC,OAAL;AAAavrE,IAAAA,IAAI,EAAC;AAAlB;AAAzE,CAA91D,EAAq8D;AAACp3D,EAAAA,KAAK,EAAC;AAAChI,IAAAA,KAAK,EAAC,CAAP;AAAS4tC,IAAAA,IAAI,EAAC;AAAd,GAAP;AAAkC7lC,EAAAA,KAAK,EAAC;AAAC/H,IAAAA,KAAK,EAAC,EAAP;AAAU4tC,IAAAA,IAAI,EAAC;AAAf,GAAxC;AAAoE/hC,EAAAA,MAAM,EAAC;AAAC8+H,IAAAA,GAAG,EAAC,OAAL;AAAavrE,IAAAA,IAAI,EAAC;AAAlB;AAA3E,CAAr8D,EAA8iE;AAACp3D,EAAAA,KAAK,EAAC;AAAChI,IAAAA,KAAK,EAAC,CAAP;AAAS4tC,IAAAA,IAAI,EAAC;AAAd,GAAP;AAAkC7lC,EAAAA,KAAK,EAAC;AAAC/H,IAAAA,KAAK,EAAC,EAAP;AAAU4tC,IAAAA,IAAI,EAAC;AAAf,GAAxC;AAAoE/hC,EAAAA,MAAM,EAAC;AAAC8+H,IAAAA,GAAG,EAAC,OAAL;AAAavrE,IAAAA,IAAI,EAAC;AAAlB;AAA3E,CAA9iE,EAAupE;AAACp3D,EAAAA,KAAK,EAAC;AAAChI,IAAAA,KAAK,EAAC,CAAP;AAAS4tC,IAAAA,IAAI,EAAC;AAAd,GAAP;AAAkC7lC,EAAAA,KAAK,EAAC;AAAC/H,IAAAA,KAAK,EAAC,EAAP;AAAU4tC,IAAAA,IAAI,EAAC;AAAf,GAAxC;AAAoE/hC,EAAAA,MAAM,EAAC;AAAC8+H,IAAAA,GAAG,EAAC,OAAL;AAAavrE,IAAAA,IAAI,EAAC;AAAlB;AAA3E,CAAvpE,EAAgwE;AAACp3D,EAAAA,KAAK,EAAC;AAAChI,IAAAA,KAAK,EAAC,EAAP;AAAU4tC,IAAAA,IAAI,EAAC;AAAf,GAAP;AAAmC7lC,EAAAA,KAAK,EAAC;AAAC/H,IAAAA,KAAK,EAAC,GAAP;AAAW4tC,IAAAA,IAAI,EAAC;AAAhB,GAAzC;AAAsE/hC,EAAAA,MAAM,EAAC;AAAC8+H,IAAAA,GAAG,EAAC,OAAL;AAAavrE,IAAAA,IAAI,EAAC;AAAlB;AAA7E,CAAhwE,EAA22E;AAACp3D,EAAAA,KAAK,EAAC;AAAChI,IAAAA,KAAK,EAAC,EAAP;AAAU4tC,IAAAA,IAAI,EAAC;AAAf,GAAP;AAAmC7lC,EAAAA,KAAK,EAAC;AAAC/H,IAAAA,KAAK,EAAC,GAAP;AAAW4tC,IAAAA,IAAI,EAAC;AAAhB,GAAzC;AAAsE/hC,EAAAA,MAAM,EAAC;AAAC8+H,IAAAA,GAAG,EAAC,OAAL;AAAavrE,IAAAA,IAAI,EAAC;AAAlB;AAA7E,CAA32E,EAAs9E;AAACp3D,EAAAA,KAAK,EAAC;AAAChI,IAAAA,KAAK,EAAC,EAAP;AAAU4tC,IAAAA,IAAI,EAAC;AAAf,GAAP;AAAmC7lC,EAAAA,KAAK,EAAC;AAAC/H,IAAAA,KAAK,EAAC,GAAP;AAAW4tC,IAAAA,IAAI,EAAC;AAAhB,GAAzC;AAAsE/hC,EAAAA,MAAM,EAAC;AAAC8+H,IAAAA,GAAG,EAAC,OAAL;AAAavrE,IAAAA,IAAI,EAAC;AAAlB;AAA7E,CAAt9E,EAAikF;AAACp3D,EAAAA,KAAK,EAAC;AAAChI,IAAAA,KAAK,EAAC,GAAP;AAAW4tC,IAAAA,IAAI,EAAC;AAAhB,GAAP;AAAoC7lC,EAAAA,KAAK,EAAC;AAAC/H,IAAAA,KAAK,EAAC,GAAP;AAAW4tC,IAAAA,IAAI,EAAC;AAAhB,GAA1C;AAAuE/hC,EAAAA,MAAM,EAAC;AAAC8+H,IAAAA,GAAG,EAAC,OAAL;AAAavrE,IAAAA,IAAI,EAAC;AAAlB;AAA9E,CAAjkF,EAA6qF;AAACp3D,EAAAA,KAAK,EAAC;AAAChI,IAAAA,KAAK,EAAC,GAAP;AAAW4tC,IAAAA,IAAI,EAAC;AAAhB,GAAP;AAAoC7lC,EAAAA,KAAK,EAAC;AAAC/H,IAAAA,KAAK,EAAC,GAAP;AAAW4tC,IAAAA,IAAI,EAAC;AAAhB,GAA1C;AAAuE/hC,EAAAA,MAAM,EAAC;AAAC8+H,IAAAA,GAAG,EAAC,OAAL;AAAavrE,IAAAA,IAAI,EAAC;AAAlB;AAA9E,CAA7qF,EAAyxF;AAACp3D,EAAAA,KAAK,EAAC;AAAChI,IAAAA,KAAK,EAAC,GAAP;AAAW4tC,IAAAA,IAAI,EAAC;AAAhB,GAAP;AAAoC7lC,EAAAA,KAAK,EAAC;AAAC/H,IAAAA,KAAK,EAAC,GAAP;AAAW4tC,IAAAA,IAAI,EAAC;AAAhB,GAA1C;AAAuE/hC,EAAAA,MAAM,EAAC;AAAC8+H,IAAAA,GAAG,EAAC,OAAL;AAAavrE,IAAAA,IAAI,EAAC;AAAlB;AAA9E,CAAzxF,EAAq4F;AAACp3D,EAAAA,KAAK,EAAC;AAAChI,IAAAA,KAAK,EAAC,GAAP;AAAW4tC,IAAAA,IAAI,EAAC;AAAhB,GAAP;AAAoC7lC,EAAAA,KAAK,EAAC;AAAC/H,IAAAA,KAAK,EAAC,GAAP;AAAW4tC,IAAAA,IAAI,EAAC;AAAhB,GAA1C;AAAuE/hC,EAAAA,MAAM,EAAC;AAAC8+H,IAAAA,GAAG,EAAC,OAAL;AAAavrE,IAAAA,IAAI,EAAC;AAAlB;AAA9E,CAAr4F,CAAlB;AAAogG,IAAIzmE,CAAC,GAAC,cAAcjF,mDAAd,CAAe;AAACqB,EAAAA,WAAW,CAACvC,CAAD,EAAGF,CAAH,EAAK;AAAC,UAAME,CAAN,EAAQF,CAAR,GAAW,KAAKs4I,uBAAL,GAA6B,CAAC,CAAzC,EAA2C,KAAKC,OAAL,GAAa,IAAI32I,mDAAJ,CAAM;AAAC42I,MAAAA,SAAS,EAAC,CAAX;AAAa/xB,MAAAA,eAAe,EAAC;AAACgyB,QAAAA,WAAW,EAAC,CAAC;AAAd,OAA7B;AAA8CC,MAAAA,uBAAuB,EAAC,CAAC,CAAvE;AAAyEC,MAAAA,iBAAiB,EAAC,CAAC;AAA5F,KAAN,CAAxD,EAA8J,KAAKC,WAAL,GAAiB,IAA/K,EAAoL,KAAK1+B,QAAL,GAAc,CAAC,CAAnM,EAAqM,KAAK2+B,mBAAL,GAAyB,IAA9N,EAAmO,KAAKvvI,QAAL,GAAc,IAAjP,EAAsP,KAAKk9G,cAAL,GAAoB,IAA1Q,EAA+Q,KAAKsyB,WAAL,GAAiB,IAAhS,EAAqS,KAAKC,WAAL,GAAiB,CAAC,CAAvT,EAAyT,KAAK7oD,SAAL,GAAe,IAAIlpF,2EAAJ,EAAxU;AAA8U;;AAAAnD,EAAAA,UAAU,GAAE;AAAC,SAAKH,UAAL,CAAgB,CAACzD,6DAAC,CAAE,MAAI,KAAKs4I,OAAL,CAAar5F,MAAnB,EAA4Bh/C,CAAC,IAAE;AAAC,UAAG,KAAKo4I,uBAAR,EAAgC,OAAO,MAAK,KAAKA,uBAAL,GAA6B,CAAC,CAAnC,CAAP;AAA6C,YAAMt4I,CAAC,GAAC,KAAKkwF,SAAL,CAAe8oD,kBAAf,CAAkC94I,CAAlC,CAAR;AAA6C,cAAM,KAAKwU,UAAX,GAAsB,QAAM1U,CAAN,GAAQ,KAAK0U,UAAL,CAAgB2M,MAAhB,CAAuBrhB,CAAvB,MAA4B,KAAK0U,UAAL,GAAgB1U,CAA5C,CAAR,GAAuD,KAAK0U,UAAL,GAAgB,IAA7F,GAAkG,QAAM1U,CAAN,KAAU,KAAK0U,UAAL,GAAgB1U,CAA1B,CAAlG;AAA+H,KAAzR,CAAF,EAA8RC,6DAAC,CAAE,MAAI,KAAKg5I,cAAX,EAA4B,MAAI,KAAKC,kBAAL,EAAhC,EAA2D54I,2DAA3D,CAA/R,CAAhB;AAA+W;;AAAA69G,EAAAA,gBAAgB,GAAE;AAAC,WAAOl8G,mFAAC,CAAC;AAACojG,MAAAA,MAAM,EAAC,MAAI,0vBAAZ;AAAiF,qBAAc,MAAI;AAAnG,KAAD,CAAR;AAAwL;;AAAAjhG,EAAAA,OAAO,GAAE;AAAC,SAAKm0I,OAAL,CAAan0I,OAAb,IAAuB,KAAKw0I,WAAL,GAAiB,IAAxC;AAA6C;;AAAe,MAAXO,WAAW,GAAE;AAAC,WAAO,KAAKC,eAAL,CAAqB,YAArB,CAAP;AAA0C;;AAAe,MAAXC,WAAW,GAAE;AAAC,WAAO,KAAKD,eAAL,CAAqB,WAArB,CAAP;AAAyC;;AAAW,MAAPrsI,OAAO,GAAE;AAAC,WAAO,KAAKmjF,SAAL,CAAenjF,OAAtB;AAA8B;;AAAW,MAAPA,OAAO,CAAC7M,CAAD,EAAG;AAAC,SAAKgwF,SAAL,CAAenjF,OAAf,GAAuB7M,CAAvB;AAAyB;;AAAkB,MAAd+4I,cAAc,GAAE;AAAC,WAAO,KAAK/oD,SAAL,CAAe+oD,cAAtB;AAAqC;;AAAkB,MAAdK,cAAc,GAAE;AAAC,WAAO,KAAKppD,SAAL,CAAeopD,cAAtB;AAAqC;;AAAkB,MAAdA,cAAc,CAACp5I,CAAD,EAAG;AAAC,SAAKgwF,SAAL,CAAeopD,cAAf,GAA8Bp5I,CAA9B;AAAgC;;AAAQ,MAAJk+G,IAAI,GAAE;AAAC,WAAM,OAAN;AAAc;;AAAQ,MAAJA,IAAI,CAACl+G,CAAD,EAAG;AAAC,SAAKitC,eAAL,CAAqB,MAArB,EAA4BjtC,CAA5B;AAA+B;;AAAe,MAAXq4G,WAAW,GAAE;AAAC,WAAM,EAAE,KAAK2B,QAAL,IAAe,eAAa,KAAKhqB,SAAL,CAAeyL,KAA3C,IAAkD,KAAKzmF,QAAL,KAAgB3S,4DAApE,CAAN;AAA6E;;AAAS,MAALkzB,KAAK,GAAE;AAAC,WAAO,KAAKnsB,QAAL,EAAe02H,WAAf,IAA4B,EAAnC;AAAsC;;AAAS,MAALvqG,KAAK,CAACv1B,CAAD,EAAG;AAAC,SAAKitC,eAAL,CAAqB,OAArB,EAA6BjtC,CAA7B;AAAgC;;AAAU,MAANwhI,MAAM,CAACxhI,CAAD,EAAG;AAAC,KAAC,MAAD,EAAQ,SAAR,EAAkB,MAAlB,EAA0B4xB,QAA1B,CAAmC5xB,CAAnC,MAAwCA,CAAC,GAAC,MAA1C,GAAkD,KAAKqE,IAAL,CAAU,QAAV,EAAmBrE,CAAnB,CAAlD;AAAwE;;AAAQ,MAAJq5I,IAAI,GAAE;AAAC,WAAO,KAAKrpD,SAAL,CAAeqpD,IAAtB;AAA2B;;AAAQ,MAAJA,IAAI,CAACr5I,CAAD,EAAG;AAAC,SAAKgwF,SAAL,CAAeqpD,IAAf,GAAoBr5I,CAApB;AAAsB;;AAAQ,MAAJksC,IAAI,GAAE;AAAC,WAAO,KAAK8jD,SAAL,CAAe9jD,IAAtB;AAA2B;;AAAQ,MAAJA,IAAI,CAAClsC,CAAD,EAAG;AAAC,SAAKgwF,SAAL,CAAe9jD,IAAf,GAAoBlsC,CAApB;AAAsB;;AAAY,MAARs5I,QAAQ,GAAE;AAAC,WAAO,KAAKtpD,SAAL,CAAespD,QAAtB;AAA+B;;AAAY,MAARA,QAAQ,CAACt5I,CAAD,EAAG;AAAC,SAAKgwF,SAAL,CAAespD,QAAf,GAAwBt5I,CAAxB;AAA0B;;AAAS,MAALwxI,KAAK,GAAE;AAAC,WAAO,KAAKxhD,SAAL,CAAewhD,KAAtB;AAA4B;;AAAS,MAALA,KAAK,CAACxxI,CAAD,EAAG;AAAC,SAAKgwF,SAAL,CAAewhD,KAAf,GAAqBxxI,CAArB;AAAuB;;AAAe,MAAXu5I,WAAW,GAAE;AAAC,UAAK;AAACvkI,MAAAA,QAAQ,EAAChV;AAAV,QAAa,IAAlB;AAAuB,WAAO4f,CAAC,CAACva,GAAF,CAAO,CAAC;AAACmQ,MAAAA,KAAK,EAAC1V,CAAP;AAASyV,MAAAA,KAAK,EAAC/U,CAAf;AAAiB6Y,MAAAA,MAAM,EAACnZ;AAAxB,KAAD,MAA+B;AAACsV,MAAAA,KAAK,EAAC,IAAI5U,8DAAJ,CAAMd,CAAN,CAAP;AAAgByV,MAAAA,KAAK,EAAC,IAAI3U,8DAAJ,CAAMJ,CAAN,CAAtB;AAA+B6Y,MAAAA,MAAM,EAAC,EAAC,GAAGnZ,CAAJ;AAAM8U,QAAAA,QAAQ,EAAChV;AAAf;AAAtC,KAA/B,CAAP,CAAP;AAAyG;;AAAc,MAAVwU,UAAU,GAAE;AAAC,WAAO,KAAKw7E,SAAL,CAAex7E,UAAtB;AAAiC;;AAAc,MAAVA,UAAU,CAACxU,CAAD,EAAG;AAAC,SAAKgwF,SAAL,CAAex7E,UAAf,GAA0BxU,CAA1B;AAA4B;;AAAY,MAARgV,QAAQ,GAAE;AAAC,WAAO,KAAKg7E,SAAL,CAAe1J,IAAf,EAAqBtxE,QAArB,IAA+B5T,2DAAtC;AAAwC;;AAAY,MAAR4T,QAAQ,CAAChV,CAAD,EAAG;AAAC,SAAKitC,eAAL,CAAqB,UAArB,EAAgCjtC,CAAhC;AAAmC;;AAAQ,MAAJsmF,IAAI,GAAE;AAAC,WAAO,KAAK0J,SAAL,CAAe1J,IAAtB;AAA2B;;AAAQ,MAAJA,IAAI,CAACtmF,CAAD,EAAG;AAAC,SAAKgwF,SAAL,CAAe1J,IAAf,GAAoBtmF,CAApB;AAAsB;;AAAoC,SAAvBw5I,uBAAuB,CAACx5I,CAAD,EAAGF,CAAH,EAAK;AAAA;AAAC,aAAOI,sEAAC,CAACI,iEAAA,CAAY,yBAAZ,CAAD,EAAwC,iHAAxC,EAA0J;AAAC2sI,QAAAA,WAAW,EAAC,gDAAb;AAA8Dx7H,QAAAA,OAAO,EAAC,MAAtE;AAA6EgoI,QAAAA,GAAG,EAAC,gIAAjF;AAAkN1/B,QAAAA,QAAQ,EAAC,CAAC;AAA5N,OAA1J,CAAD,EAA2XjzG,mGAAA,CAA0B9G,CAA1B,EAA4BF,CAA5B,CAAlY;AAAD;AAAka;;AAAA0a,EAAAA,IAAI,GAAE;AAAC,WAAO,KAAKw1E,SAAL,CAAex1E,IAAf,EAAP;AAA6B;;AAAAk/H,EAAAA,IAAI,GAAE;AAAC,WAAO,KAAK1pD,SAAL,CAAe0pD,IAAf,EAAP;AAA6B;;AAAAl6B,EAAAA,QAAQ,GAAE;AAAC,WAAO,KAAKxvB,SAAL,CAAewvB,QAAf,EAAP;AAAiC;;AAAAv4B,EAAAA,IAAI,GAAE;AAAC,WAAO,KAAK+I,SAAL,CAAe/I,IAAf,EAAP;AAA6B;;AAAAwnB,EAAAA,MAAM,GAAE;AAAC,UAAK;AAAC4pC,MAAAA,OAAO,EAACr4I,CAAT;AAAW6M,MAAAA,OAAO,EAACrM,CAAnB;AAAqBkuG,MAAAA,OAAO,EAACxuG,CAA7B;AAA+B64I,MAAAA,cAAc,EAACz4I,CAA9C;AAAgD84I,MAAAA,cAAc,EAACr5I,CAA/D;AAAiEs4G,MAAAA,WAAW,EAACj4G,CAA7E;AAA+EgJ,MAAAA,QAAQ,EAAC3I,CAAxF;AAA0F6lH,MAAAA,cAAc,EAAC3lH,CAAzG;AAA2GurC,MAAAA,IAAI,EAAClrC,CAAhH;AAAkH43I,MAAAA,WAAW,EAACt3I,CAA9H;AAAgIkT,MAAAA,UAAU,EAAC1T,CAA3I;AAA6I+3I,MAAAA,WAAW,EAACj4I,CAAzJ;AAA2JovF,MAAAA,SAAS,EAAC;AAACyL,QAAAA,KAAK,EAACp5F,CAAP;AAASs3I,QAAAA,gBAAgB,EAACv4I;AAA1B;AAArK,QAAmM,IAAxM;;AAA6M,QAAG,QAAMrB,CAAT,EAAW;AAAC,YAAK;AAAC2hB,QAAAA,KAAK,EAAC5hB,CAAP;AAASszE,QAAAA,GAAG,EAAC5yE;AAAb,UAAgBT,CAArB;;AAAuB,UAAG,QAAMD,CAAN,IAAS,QAAMU,CAAlB,EAAoB;AAAC,cAAMN,CAAC,GAACJ,CAAC,CAACg8C,OAAF,EAAR;AAAA,cAAoBx7C,CAAC,GAACE,CAAC,CAACs7C,OAAF,EAAtB;AAAA,cAAkC/7C,CAAC,GAACC,CAAC,CAACgK,GAAF,KAAQ9J,CAAR,IAAWF,CAAC,CAACiK,GAAF,KAAQ3J,CAAvD;AAAyD,YAAGP,CAAC,KAAGC,CAAC,CAACgK,GAAF,GAAM9J,CAAN,EAAQF,CAAC,CAACiK,GAAF,GAAM3J,CAAjB,CAAD,EAAqB,QAAMgB,CAA9B,EAAgCtB,CAAC,CAAC44I,WAAF,KAAgBt3I,CAAhB,KAAoBtB,CAAC,CAAC44I,WAAF,GAAct3I,CAAlC,EAAhC,KAAyE;AAAC,gBAAMxB,CAAC,GAAC,CAACQ,CAAC,GAACJ,CAAH,KAAOF,CAAC,CAAC45I,YAAF,EAAgBC,WAAhB,IAA6B,GAApC,CAAR;AAAA,gBAAiDr5I,CAAC,GAAC,KAAK+4I,WAAL,CAAiB/pI,IAAjB,CAAuBxP,CAAC,IAAEA,CAAC,CAACwV,KAAF,CAAQskI,cAAR,KAAyBzxI,CAAC,GAACvI,CAArD,KAA0D,KAAKy5I,WAAL,CAAiBjwH,EAAjB,CAAoB,CAAC,CAArB,CAA7G;AAAA,gBAAqIlpB,CAAC,GAAC,KAAKs4I,WAAL,KAAmBl4I,CAAnB,IAAsB,QAAMA,CAAnK;;AAAqK,cAAGJ,CAAC,KAAG,KAAKs4I,WAAL,GAAiBl4I,CAApB,CAAD,EAAwBT,CAAC,IAAEK,CAA9B,EAAgC;AAAC,kBAAMN,CAAC,GAAC;AAACosC,cAAAA,IAAI,EAAC,UAAN;AAAiB8S,cAAAA,MAAM,EAAC,KAAK+6F,iBAAL,CAAuBv5I,CAAC,CAACgV,KAAzB,CAAxB;AAAwDqvB,cAAAA,aAAa,EAAC,CAAC,CAAvE;AAAyEm1G,cAAAA,mBAAmB,EAAC,CAACh6I,CAAD,EAAGF,CAAH,KAAO;AAACA,gBAAAA,CAAC,EAAEojH,SAAH,CAAavhF,GAAb,CAAiBz/B,oEAAjB;AAAoC;AAAzI,aAAR;AAAA,kBAAmJhC,CAAC,GAAC;AAACgsC,cAAAA,IAAI,EAAC,UAAN;AAAiB8S,cAAAA,MAAM,EAAC,KAAK+6F,iBAAL,CAAuBv5I,CAAC,CAAC+U,KAAzB,CAAxB;AAAwDsvB,cAAAA,aAAa,EAAC,CAAC,CAAvE;AAAyEm1G,cAAAA,mBAAmB,EAAC,CAACh6I,CAAD,EAAGF,CAAH,KAAO;AAACA,gBAAAA,CAAC,EAAEojH,SAAH,CAAavhF,GAAb,CAAiBz/B,oEAAjB;AAAoC,eAAzI;AAA0Iy2I,cAAAA,mBAAmB,EAAC34I,CAAC,IAAEwB,0DAAC,CAACxB,CAAD,EAAGQ,CAAC,CAAC6Y,MAAL;AAAlK,aAArJ;AAAqUrZ,YAAAA,CAAC,CAAC44I,WAAF,GAAc,CAAC94I,CAAD,EAAGI,CAAH,CAAd;AAAoB;AAAC;AAAC;AAAC;;AAAA,UAAMwB,CAAC,GAAC,QAAM,KAAK03I,cAAL,EAAqB13H,KAA3B,IAAkC,QAAM,KAAK03H,cAAL,CAAoBhmE,GAA5D,IAAiE,QAAM,KAAK5+D,UAA5E,IAAwF,KAAKA,UAAL,CAAgB2lI,SAAxG,IAAmH,KAAK3lI,UAAL,CAAgB8+D,OAAnI,IAA4I,QAAM,KAAK9+D,UAAL,CAAgBkN,KAAtB,KAA8B,KAAKlN,UAAL,CAAgBkN,KAAhB,GAAsB,KAAK03H,cAAL,CAAoB13H,KAA1C,IAAiD,KAAKlN,UAAL,CAAgBkN,KAAhB,GAAsB,KAAK03H,cAAL,CAAoBhmE,GAAzH,CAA5I,IAA2Q,QAAM,KAAK5+D,UAAL,CAAgB4+D,GAAtB,KAA4B,KAAK5+D,UAAL,CAAgB4+D,GAAhB,GAAoB,KAAKgmE,cAAL,CAAoBhmE,GAAxC,IAA6C,KAAK5+D,UAAL,CAAgB4+D,GAAhB,GAAoB,KAAKgmE,cAAL,CAAoB13H,KAAjH,CAAnR;AAA2Y,QAAGhgB,CAAH,EAAK,QAAO,KAAK02I,uBAAL,GAA6B,CAAC,CAA9B,EAAgCp3I,CAAvC;AAA0C,WAAI,aAAJ;AAAkBhB,QAAAA,CAAC,CAACg/C,MAAF,GAAS,CAACh/C,CAAC,CAACgK,GAAH,EAAOhK,CAAC,CAACiK,GAAT,CAAT;AAAuB;;AAAM,WAAI,SAAJ;AAAc,WAAI,qBAAJ;AAA0BjK,QAAAA,CAAC,CAACg/C,MAAF,GAAS,CAACh/C,CAAC,CAACgK,GAAH,CAAT;AAAiB;;AAAM,WAAI,uBAAJ;AAA4BhK,QAAAA,CAAC,CAACg/C,MAAF,GAAS,CAACh/C,CAAC,CAACiK,GAAH,CAAT;AAApL,KAAL,MAA+M,QAAM7I,CAAN,GAAQtB,2DAAC,CAACE,CAAC,CAACg/C,MAAH,EAAU59C,CAAV,CAAD,KAAgBpB,CAAC,CAACg/C,MAAF,GAAS59C,CAAzB,CAAR,GAAoCpB,CAAC,CAACg/C,MAAF,GAAS,IAA7C;AAAkDh/C,IAAAA,CAAC,CAACg6G,QAAF,GAAW,CAAC55G,CAAZ;AAAc,UAAMc,CAAC,GAAC,YAAUmB,CAAlB;AAAA,UAAoBN,CAAC,GAAC,cAAYM,CAAlC;AAAA,UAAoCR,CAAC,GAACH,CAAC,IAAE,CAACtB,CAAJ,IAAO,QAAME,CAAb,IAAgB,MAAIA,CAAC,CAACqN,MAA5D;AAAA,UAAmEvL,CAAC,GAAC,WAAS,KAAKo/H,MAAd,GAAqBthI,CAAC,CAACk6I,WAAF,GAAcvxI,CAAd,GAAgB,SAAhB,GAA0B,MAA/C,GAAsD,KAAK24H,MAAhI;AAAA,UAAuIx1H,CAAC,GAACV,4DAAC,CAAC,KAAD,EAAO;AAACgzG,MAAAA,KAAK,EAACp8G,8DAAWqkF;AAAlB,KAAP,EAA2Bj7E,4DAAC,CAAC,QAAD,EAAU;AAAC,uBAAgBzJ,CAAC,GAAC,MAAD,GAAQ,OAA1B;AAAkC,oBAAaE,CAAC,GAACpB,CAAC,CAAC05I,OAAF,CAAUpzD,IAAX,GAAgBtmF,CAAC,CAAC05I,OAAF,CAAUX,IAA1E;AAA+EnpH,MAAAA,IAAI,EAAC,IAApF;AAAyF+tF,MAAAA,KAAK,EAAC,KAAKp4C,OAAL,CAAavkE,0EAAb,EAA4BO,oEAA5B,EAA8CL,CAAC,IAAEF,4EAAjD,CAA/F;AAAkKq4G,MAAAA,QAAQ,EAACn4G,CAA3K;AAA6K89G,MAAAA,OAAO,EAAC,KAAK86B,gBAA1L;AAA2M53I,MAAAA,KAAK,EAACd,CAAC,GAACpB,CAAC,CAAC05I,OAAF,CAAUpzD,IAAX,GAAgBtmF,CAAC,CAAC05I,OAAF,CAAUX,IAA5O;AAAiPr2I,MAAAA,IAAI,EAAC;AAAtP,KAAV,EAA0QiI,4DAAC,CAAC,KAAD,EAAO;AAACgzG,MAAAA,KAAK,EAAC,KAAKp4C,OAAL,CAAa,CAAChlE,CAAC,IAAEW,CAAJ,KAAQS,oEAArB,EAA4BP,CAAC,IAAEO,qEAA/B;AAAP,KAAP,CAA3Q,CAA5B,CAA1I;AAAA,UAA2ewE,CAAC,GAAC,QAAM,KAAK6xI,mBAAX,GAA+BrtI,4DAAC,CAAC,KAAD,EAAO;AAAC+zG,MAAAA,WAAW,EAAC,KAAKq7B,YAAlB;AAA+BpM,MAAAA,WAAW,EAAC,KAAKoM,YAAhD;AAA6DnqH,MAAAA,IAAI,EAAC,IAAlE;AAAuE+tF,MAAAA,KAAK,EAACp8G,mEAA7E;AAA8F,mBAAYpB,CAAC,GAAC,CAACA,CAAC,CAAC4gB,KAAH,EAAS5gB,CAAC,CAACsyE,GAAX,CAAD,GAAiB,IAA5H;AAAiI,qBAAchxE,CAA/I;AAAiJ,mBAAY,QAA7J;AAAsKsJ,MAAAA,GAAG,EAAC;AAA1K,KAAP,CAAhC,GAA4N,QAAM5K,CAAN,IAAS,QAAMA,CAAN,IAASA,CAAC,CAACq5I,SAApB,GAA8B,CAAC7uI,4DAAC,CAAC,KAAD,EAAO;AAACgzG,MAAAA,KAAK,EAAC,KAAKp4C,OAAL,CAAahkE,4DAAb,EAAuBI,8EAAvB;AAAP,KAAP,CAAF,EAA2DgJ,4DAAC,CAAC,KAAD,EAAO;AAACgzG,MAAAA,KAAK,EAACp8G,gEAAP;AAAqBwJ,MAAAA,GAAG,EAAC;AAAzB,KAAP,EAAgDjL,CAAC,CAACq6I,YAAlD,CAA5D,CAA9B,GAA2Jh6I,CAAC,CAACwyE,OAAF,GAAU,CAAChoE,4DAAC,CAAC,KAAD,EAAO;AAACgzG,MAAAA,KAAK,EAAC,KAAKp4C,OAAL,CAAahkE,4DAAb,EAAuBI,8EAAvB;AAAP,KAAP,CAAF,EAA2DgJ,4DAAC,CAAC,KAAD,EAAO;AAACgzG,MAAAA,KAAK,EAACp8G,gEAAP;AAAqBwJ,MAAAA,GAAG,EAAC;AAAzB,KAAP,EAAgDjL,CAAC,CAACs6I,eAAlD,CAA5D,CAAV,GAA0I,CAAC,QAAMj6I,CAAC,CAAC4gB,KAAR,IAAepW,4DAAC,CAAC,KAAD,EAAO;AAACgzG,MAAAA,KAAK,EAACp8G,oEAAP;AAAyBwJ,MAAAA,GAAG,EAAC;AAA7B,KAAP,EAAwDJ,4DAAC,CAAC,KAAD,EAAO;AAACgzG,MAAAA,KAAK,EAACp8G,mEAAP;AAAwBwJ,MAAAA,GAAG,EAAC;AAA5B,KAAP,EAAiD,KAAKuvI,WAAL,CAAiBn6I,CAAC,CAAC4gB,KAAnB,CAAjD,CAAzD,EAAqI9gB,CAAC,GAAC0K,4DAAC,CAAC,KAAD,EAAO;AAACgzG,MAAAA,KAAK,EAACp8G,mEAAP;AAAwBwJ,MAAAA,GAAG,EAAC;AAA5B,KAAP,EAAiD,KAAKyvI,WAAL,CAAiBr6I,CAAC,CAAC4gB,KAAnB,CAAjD,CAAF,GAA8E,IAApN,CAAjB,EAA2O,QAAM5gB,CAAC,CAAC4gB,KAAR,IAAe,QAAM5gB,CAAC,CAACsyE,GAAvB,IAA4BtyE,CAAC,CAAC4gB,KAAF,CAAQo6B,OAAR,OAAoBh7C,CAAC,CAACsyE,GAAF,CAAMt3B,OAAN,EAAhD,IAAiExwC,4DAAC,CAAC,KAAD,EAAO;AAACgzG,MAAAA,KAAK,EAACp8G,wEAAP;AAA6BwJ,MAAAA,GAAG,EAAC;AAAjC,KAAP,EAAqD,GAArD,CAA7S,EAAuW,QAAM5K,CAAC,CAACsyE,GAAR,KAAc,QAAMtyE,CAAC,CAAC4gB,KAAR,IAAe5gB,CAAC,CAAC4gB,KAAF,CAAQo6B,OAAR,OAAoBh7C,CAAC,CAACsyE,GAAF,CAAMt3B,OAAN,EAAjD,KAAmExwC,4DAAC,CAAC,KAAD,EAAO;AAACgzG,MAAAA,KAAK,EAACp8G,oEAAP;AAAyBwJ,MAAAA,GAAG,EAAC;AAA7B,KAAP,EAAsDJ,4DAAC,CAAC,KAAD,EAAO;AAACgzG,MAAAA,KAAK,EAACp8G,mEAAP;AAAwBwJ,MAAAA,GAAG,EAAC;AAA5B,KAAP,EAA+C,KAAKuvI,WAAL,CAAiBn6I,CAAC,CAACsyE,GAAnB,CAA/C,CAAvD,EAA+HxyE,CAAC,GAAC0K,4DAAC,CAAC,KAAD,EAAO;AAACgzG,MAAAA,KAAK,EAACp8G,mEAAP;AAAwBwJ,MAAAA,GAAG,EAAC;AAA5B,KAAP,EAA+C,KAAKyvI,WAAL,CAAiBr6I,CAAC,CAACsyE,GAAnB,CAA/C,CAAF,GAA0E,IAA1M,CAA3a,CAA9+B;AAAA,UAA0mDxzD,CAAC,GAACtU,4DAAC,CAAC,KAAD,EAAO;AAACgzG,MAAAA,KAAK,EAAC,KAAKp4C,OAAL,CAAahkE,+DAAb,EAA0B,CAAC9B,CAAD,IAAIuB,4EAA9B;AAAP,KAAP,EAA+D,CAACmF,CAAD,CAA/D,CAA7mD;AAAA,UAAirDX,CAAC,GAAC,QAAM,KAAKwyI,mBAAX,GAA+BrtI,4DAAC,CAAC,KAAD,EAAO;AAAC+zG,MAAAA,WAAW,EAAC,KAAKq7B,YAAlB;AAA+BpM,MAAAA,WAAW,EAAC,KAAKoM,YAAhD;AAA6DnqH,MAAAA,IAAI,EAAC,IAAlE;AAAuE+tF,MAAAA,KAAK,EAACp8G,4DAA7E;AAAuF,mBAAYnC,CAAC,EAAE2hB,KAAtG;AAA4G,qBAActf,CAA1H;AAA4H,mBAAY,KAAxI;AAA8IsJ,MAAAA,GAAG,EAAC;AAAlJ,KAAP,CAAhC,GAAsM,QAAM3L,CAAC,EAAE2hB,KAAT,IAAgB,CAACpW,4DAAC,CAAC,KAAD,EAAO;AAACgzG,MAAAA,KAAK,EAACp8G,4DAAP;AAAiBwJ,MAAAA,GAAG,EAAC;AAArB,KAAP,EAAwC,KAAKuvI,WAAL,CAAiBl7I,CAAC,CAAC2hB,KAAnB,CAAxC,CAAF,EAAqE9gB,CAAC,IAAE0K,4DAAC,CAAC,KAAD,EAAO;AAACgzG,MAAAA,KAAK,EAACp8G,4DAAP;AAAiBwJ,MAAAA,GAAG,EAAC;AAArB,KAAP,EAAwC,KAAKyvI,WAAL,CAAiBp7I,CAAC,CAAC2hB,KAAnB,CAAxC,CAAzE,CAAz4D;AAAA,UAAshE9f,CAAC,GAAC0J,4DAAC,CAAC,KAAD,EAAO;AAACgzG,MAAAA,KAAK,EAAC,KAAKp4C,OAAL,CAAahkE,wDAAb,EAAmB,CAAC9B,CAAD,IAAIuB,4EAAvB;AAAP,KAAP,EAAwD,CAACwE,CAAD,CAAxD,CAAzhE;AAAA,UAAslEuM,CAAC,GAACpH,4DAAC,CAAC,KAAD,EAAO;AAACgzG,MAAAA,KAAK,EAACp8G,2DAAQq5I;AAAf,KAAP,EAAwBv7I,CAAC,CAACyuG,MAAF,EAAxB,CAAzlE;AAAA,UAA6nE9hG,CAAC,GAAC,QAAM,KAAKgsI,mBAAX,GAA+BrtI,4DAAC,CAAC,KAAD,EAAO;AAAC+zG,MAAAA,WAAW,EAAC,KAAKq7B,YAAlB;AAA+BpM,MAAAA,WAAW,EAAC,KAAKoM,YAAhD;AAA6DnqH,MAAAA,IAAI,EAAC,IAAlE;AAAuE+tF,MAAAA,KAAK,EAACp8G,4DAA7E;AAAuF,mBAAYnC,CAAC,EAAEqzE,GAAtG;AAA0G,qBAAchxE,CAAxH;AAA0H,mBAAY,KAAtI;AAA4IsJ,MAAAA,GAAG,EAAC;AAAhJ,KAAP,CAAhC,GAAoM,QAAM3L,CAAC,EAAEqzE,GAAT,IAAc,CAAC9nE,4DAAC,CAAC,KAAD,EAAO;AAACgzG,MAAAA,KAAK,EAACp8G,4DAAP;AAAiBwJ,MAAAA,GAAG,EAAC;AAArB,KAAP,EAAwC,KAAKuvI,WAAL,CAAiBl7I,CAAC,CAACqzE,GAAnB,CAAxC,CAAF,EAAmExyE,CAAC,IAAE0K,4DAAC,CAAC,KAAD,EAAO;AAACgzG,MAAAA,KAAK,EAACp8G,4DAAP;AAAiBwJ,MAAAA,GAAG,EAAC;AAArB,KAAP,EAAwC,KAAKyvI,WAAL,CAAiBp7I,CAAC,CAACqzE,GAAnB,CAAxC,CAAvE,CAAj1E;AAAA,UAA09EhoE,CAAC,GAACE,4DAAC,CAAC,KAAD,EAAO;AAACgzG,MAAAA,KAAK,EAAC,KAAKp4C,OAAL,CAAahkE,wDAAb,EAAmB,CAAC9B,CAAD,IAAIuB,4EAAvB;AAAP,KAAP,EAAwD,CAACgL,CAAD,CAAxD,CAA79E;AAAA,UAA0hFtB,CAAC,GAACC,4DAAC,CAAC,KAAD,EAAO;AAACgzG,MAAAA,KAAK,EAACp8G,6DAAUs9G;AAAjB,KAAP,EAA0Bl0G,4DAAC,CAAC,QAAD,EAAU;AAAC,uBAAgBzJ,CAAC,GAAC,MAAD,GAAQ,OAA1B;AAAkC,oBAAalB,CAAC,CAAC0gI,UAAF,CAAa7hB,QAA5D;AAAqEjvF,MAAAA,IAAI,EAAC,IAA1E;AAA+E+tF,MAAAA,KAAK,EAAC,KAAKp4C,OAAL,CAAavkE,0EAAb,EAA4BO,mEAA5B,EAA6C,CAACH,CAAC,IAAEF,CAAJ,KAAQF,4EAArD,CAArF;AAA4Jq4G,MAAAA,QAAQ,EAACn4G,CAArK;AAAuK89G,MAAAA,OAAO,EAAC,KAAKg8B,cAApL;AAAmM94I,MAAAA,KAAK,EAAClC,CAAC,CAAC0gI,UAAF,CAAa7hB,QAAtN;AAA+Nn8G,MAAAA,IAAI,EAAC;AAApO,KAAV,EAAwPiI,4DAAC,CAAC,KAAD,EAAO;AAACgzG,MAAAA,KAAK,EAACh8G,uEAASuqE;AAAhB,KAAP,CAAzP,CAA3B,CAA7hF;AAAA,UAA60FrhE,CAAC,GAACF,4DAAC,CAAC,KAAD,EAAO;AAACgzG,MAAAA,KAAK,EAACp8G,yDAAMsY;AAAb,KAAP,EAAsBlP,4DAAC,CAAC,QAAD,EAAU;AAAC,uBAAgBzJ,CAAC,GAAC,MAAD,GAAQ,OAA1B;AAAkC,oBAAalB,CAAC,CAAC0gI,UAAF,CAAa7mH,IAA5D;AAAiE+V,MAAAA,IAAI,EAAC,IAAtE;AAA2E+tF,MAAAA,KAAK,EAAC,KAAKp4C,OAAL,CAAavkE,0EAAb,EAA4BO,+DAA5B,EAAyC,CAACH,CAAC,IAAEF,CAAJ,KAAQF,4EAAjD,CAAjF;AAAoJq4G,MAAAA,QAAQ,EAACn4G,CAA7J;AAA+J89G,MAAAA,OAAO,EAAC,KAAKk8B,UAA5K;AAAuLh5I,MAAAA,KAAK,EAAClC,CAAC,CAAC0gI,UAAF,CAAa7mH,IAA1M;AAA+MnX,MAAAA,IAAI,EAAC;AAApN,KAAV,EAAwOiI,4DAAC,CAAC,KAAD,EAAO;AAACgzG,MAAAA,KAAK,EAACh8G,uEAASw5I;AAAhB,KAAP,CAAzO,CAAvB,CAAh1F;AAAA,UAA4mG75I,CAAC,GAACzB,CAAC,EAAEmN,MAAH,GAAU,CAAxnG;AAAA,UAA0nG1C,CAAC,GAAChJ,CAAC,IAAEqJ,4DAAC,CAAC,KAAD,EAAO;AAACgzG,MAAAA,KAAK,EAACp8G,4DAAP;AAAiBW,MAAAA,KAAK,EAAClC,CAAC,CAACgxB;AAAzB,KAAP,EAAyCrmB,4DAAC,CAAC,qBAAD,EAAuB;AAACgzG,MAAAA,KAAK,EAACp8G,kEAAP;AAAuBqzB,MAAAA,KAAK,EAAC50B,CAAC,CAACgxB;AAA/B,KAAvB,EAA+DnxB,CAAC,CAAC2D,OAAF,GAAYkB,GAAZ,CAAiBrF,CAAC,IAAEsL,4DAAC,CAAC,gBAAD,EAAkB;AAACilB,MAAAA,IAAI,EAAC,IAAN;AAAW2tF,MAAAA,IAAI,EAACl+G,CAAC,CAACk+G,IAAlB;AAAuB17G,MAAAA,EAAE,EAACxC,CAAC,CAACwC,EAA5B;AAA+Bm9G,MAAAA,OAAO,EAAC,MAAI,KAAK3vB,SAAL,CAAeswC,aAAf,CAA6BtgI,CAA7B,CAA3C;AAA2EmM,MAAAA,IAAI,EAACnM,CAAC,CAAC6C,KAAlF;AAAwFu+H,MAAAA,WAAW,EAAC,CAAC,CAArG;AAAuGv+H,MAAAA,KAAK,EAAC7C,CAAC,CAAC6C;AAA/G,KAAlB,CAArB,CAA/D,CAA1C,CAAhoG;AAA24G,WAAOyI,4DAAC,CAAC,KAAD,EAAO;AAAC+zG,MAAAA,WAAW,EAACr/G,CAAC,IAAE;AAAC,aAAKwD,UAAL,CAAgB3D,kEAAC,CAACG,CAAD,EAAI,MAAI,KAAKupH,cAAL,EAAR,CAAjB;AAAkD,OAAnE;AAAoE,oBAAa9oH,CAAC,CAACq/H,WAAnF;AAA+FxhB,MAAAA,KAAK,EAAC,KAAKp4C,OAAL,CAAahkE,+DAAb,EAA0BP,oEAA1B,EAAoC,GAAEO,mEAAiB,GAAElB,CAAE,EAA3D,EAA8D,GAAEkB,qEAAmB,GAAEE,CAAE,EAAvF,EAAyF,CAAChC,CAAD,IAAIuB,sEAA7F,EAAwGD,CAAC,IAAEQ,0EAA3G,EAAmID,CAAC,IAAEC,+DAAtI,EAAmJiJ,6EAAC,EAApJ;AAArG,KAAP,EAAqQ,WAAS/I,CAAT,IAAYkJ,4DAAC,CAAC,KAAD,EAAO;AAACgzG,MAAAA,KAAK,EAACp8G,kEAAem6I;AAAtB,KAAP,EAA+B/wI,4DAAC,CAAC,KAAD,EAAO;AAACgzG,MAAAA,KAAK,EAACp8G,qEAAkBo6I;AAAzB,KAAP,EAAkC,CAACtwI,CAAD,EAAG4T,CAAH,EAAKhe,CAAL,EAAO8Q,CAAP,EAAStH,CAAT,EAAWC,CAAX,EAAaG,CAAb,CAAlC,CAAhC,EAAmFP,CAAnF,CAAlR,EAAwW,cAAY7I,CAAZ,IAAe,CAACkJ,4DAAC,CAAC,KAAD,EAAO;AAACgzG,MAAAA,KAAK,EAACp8G,kEAAP;AAAuBwJ,MAAAA,GAAG,EAAC;AAA3B,KAAP,EAAuD,CAACkU,CAAD,EAAG3U,CAAH,CAAvD,CAAF,EAAgEK,4DAAC,CAAC,KAAD,EAAO;AAACgzG,MAAAA,KAAK,EAACp8G,kEAAP;AAAuBwJ,MAAAA,GAAG,EAAC;AAA3B,KAAP,EAAuD,CAACgH,CAAD,CAAvD,CAAjE,EAA6HpH,4DAAC,CAAC,KAAD,EAAO;AAACgzG,MAAAA,KAAK,EAACp8G,kEAAP;AAAuBwJ,MAAAA,GAAG,EAAC;AAA3B,KAAP,EAAuD,CAAC9J,CAAD,EAAGyJ,CAAH,EAAKW,CAAL,EAAOR,CAAP,EAASJ,CAAT,CAAvD,CAA9H,CAAvX,CAAR;AAAmkB;;AAAAuN,EAAAA,iBAAiB,CAAC3Y,CAAD,EAAG;AAAC,SAAKgwF,SAAL,EAAgBr3E,iBAAhB,CAAkC3Y,CAAlC;AAAqC;;AAAA06I,EAAAA,YAAY,CAAC16I,CAAD,EAAG;AAAC,QAAG,QAAM,KAAK24I,mBAAd,EAAkC;AAAO,UAAM74I,CAAC,GAACE,CAAC,CAACg8C,YAAF,CAAe,WAAf,CAAR;AAAA,UAAoCx7C,CAAC,GAACR,CAAC,CAACg8C,YAAF,CAAe,aAAf,CAAtC;AAAA,UAAoE97C,CAAC,GAACF,CAAC,CAAC,WAAD,CAAvE;AAAqF,SAAK24I,mBAAL,CAAyBz4I,CAAzB,EAA2BJ,CAA3B,EAA6BE,CAA7B,EAA+BQ,CAA/B;AAAkC;;AAAAy6I,EAAAA,WAAW,CAACj7I,CAAD,EAAG;AAAC,WAAOwB,0DAAC,CAACxB,CAAD,EAAG,KAAKi5I,WAAR,CAAR;AAA6B;;AAAAkC,EAAAA,WAAW,CAACn7I,CAAD,EAAG;AAAC,WAAOwB,0DAAC,CAACxB,CAAD,EAAG,KAAKm5I,WAAR,CAAR;AAA6B;;AAAAD,EAAAA,eAAe,CAACl5I,CAAD,EAAG;AAAC,UAAK;AAACgV,MAAAA,QAAQ,EAAClV;AAAV,QAAa,IAAlB;AAAuB,WAAM,EAAC,GAAGgB,8EAAC,CAACd,CAAD,CAAL;AAASgV,MAAAA,QAAQ,EAAClV;AAAlB,KAAN;AAA2B;;AAAAi6I,EAAAA,iBAAiB,CAAC/5I,CAAD,EAAG;AAAC,UAAK;AAACo5I,MAAAA,cAAc,EAACt5I;AAAhB,QAAmB,IAAxB;AAA6B,QAAG,QAAMA,CAAC,EAAE4hB,KAAT,IAAgB,QAAM5hB,CAAC,CAACszE,GAA3B,EAA+B,OAAM,EAAN;AAAS,UAAK;AAAC1xD,MAAAA,KAAK,EAAClhB,CAAP;AAAS4yE,MAAAA,GAAG,EAAClzE;AAAb,QAAgBJ,CAArB;AAAA,UAAuBQ,CAAC,GAAC,EAAzB;AAAA,UAA4B;AAACkN,MAAAA,KAAK,EAACzN,CAAP;AAASq7C,MAAAA,IAAI,EAACh7C;AAAd,QAAiBJ,CAA7C;AAA+C,QAAIgB,CAAC,GAACP,gEAAC,CAACD,CAAD,EAAGJ,CAAH,EAAK,KAAK4U,QAAV,CAAP;;AAA2B,WAAKhU,CAAC,CAAC86C,OAAF,MAAa57C,CAAC,CAAC47C,OAAF,EAAlB,GAA+B96C,CAAC,CAAC86C,OAAF,MAAat7C,CAAC,CAACs7C,OAAF,EAAb,IAA0Bx7C,CAAC,CAACsE,IAAF,CAAO5D,CAAC,CAAC86C,OAAF,EAAP,CAA1B,EAA8C96C,CAAC,GAACL,8DAAC,CAACK,CAAD,EAAGjB,CAAH,EAAKK,CAAL,EAAO,KAAK4U,QAAZ,CAAjD;;AAAuE,WAAO1U,CAAP;AAAS;;AAAA04I,EAAAA,kBAAkB,GAAE;AAAC,SAAKX,OAAL,CAAakE,KAAb,GAAmB,QAAM,KAAKxD,cAAX,IAA2B,KAAKA,cAAL,CAAoBprI,MAApB,GAA2B,CAAtD,GAAwD,KAAKorI,cAAL,CAAoB1zI,GAApB,CAAyBrF,CAAC,IAAEA,CAAC,CAAC87C,OAAF,EAA5B,CAAxD,GAAkG,IAArH;AAA0H;;AAAA2+F,EAAAA,gBAAgB,GAAE;AAAC,YAAO,KAAKzqD,SAAL,CAAeyL,KAAtB;AAA6B,WAAI,OAAJ;AAAY,aAAKzL,SAAL,CAAe0pD,IAAf;AAAsB;;AAAM,WAAI,SAAJ;AAAc,aAAK1pD,SAAL,CAAe/I,IAAf;AAAsB;;AAAM,WAAI,UAAJ;AAAe;;AAAM;AAAQzmF,QAAAA,oEAAC,CAAC,KAAKwvF,SAAL,CAAeyL,KAAhB,CAAD;AAA5I;AAAqK;;AAAAkgD,EAAAA,cAAc,GAAE;AAAC,SAAK3rD,SAAL,CAAewvB,QAAf;AAA0B;;AAAAq8B,EAAAA,UAAU,GAAE;AAAC,SAAK7rD,SAAL,CAAex1E,IAAf;AAAsB;;AAAhjT,CAArB;AAAukTxa,uDAAC,CAAC,CAACgB,sFAAC,EAAF,CAAD,EAAOmF,CAAC,CAAC8B,SAAT,EAAmB,aAAnB,EAAiC,IAAjC,CAAD,EAAwCjI,uDAAC,CAAC,CAACgB,sFAAC,EAAF,CAAD,EAAOmF,CAAC,CAAC8B,SAAT,EAAmB,aAAnB,EAAiC,IAAjC,CAAzC,EAAgFjI,uDAAC,CAAC,CAACgB,sFAAC,EAAF,CAAD,EAAOmF,CAAC,CAAC8B,SAAT,EAAmB,SAAnB,EAA6B,IAA7B,CAAjF,EAAoHjI,uDAAC,CAAC,CAACgB,sFAAC,EAAF,CAAD,EAAOmF,CAAC,CAAC8B,SAAT,EAAmB,UAAnB,EAA8B,KAAK,CAAnC,CAArH,EAA2JjI,uDAAC,CAAC,CAACgB,sFAAC,EAAF,CAAD,EAAOmF,CAAC,CAAC8B,SAAT,EAAmB,gBAAnB,EAAoC,IAApC,CAA5J,EAAsMjI,uDAAC,CAAC,CAACgB,sFAAC,EAAF,CAAD,EAAOmF,CAAC,CAAC8B,SAAT,EAAmB,gBAAnB,EAAoC,IAApC,CAAvM,EAAiPjI,uDAAC,CAAC,CAACgB,sFAAC,EAAF,CAAD,EAAOmF,CAAC,CAAC8B,SAAT,EAAmB,MAAnB,EAA0B,IAA1B,CAAlP,EAAkRjI,uDAAC,CAAC,CAACgB,sFAAC,CAAC;AAACmH,EAAAA,QAAQ,EAAC,CAAC;AAAX,CAAD,CAAF,CAAD,EAAoBhC,CAAC,CAAC8B,SAAtB,EAAgC,aAAhC,EAA8C,IAA9C,CAAnR,EAAuUjI,uDAAC,CAAC,CAACgB,sFAAC,EAAF,CAAD,EAAOmF,CAAC,CAAC8B,SAAT,EAAmB,OAAnB,EAA2B,IAA3B,CAAxU,EAAyWjI,uDAAC,CAAC,CAACgB,sFAAC,EAAF,CAAD,EAAOmF,CAAC,CAAC8B,SAAT,EAAmB,qBAAnB,EAAyC,KAAK,CAA9C,CAA1W,EAA2ZjI,uDAAC,CAAC,CAACgB,sFAAC,CAAC;AAACwM,EAAAA,KAAK,EAAC;AAAP,CAAD,CAAF,CAAD,EAAqBrH,CAAC,CAAC8B,SAAvB,EAAiC,QAAjC,EAA0C,IAA1C,CAA5Z,EAA4cjI,uDAAC,CAAC,CAACgB,sFAAC,EAAF,CAAD,EAAOmF,CAAC,CAAC8B,SAAT,EAAmB,MAAnB,EAA0B,IAA1B,CAA7c,EAA6ejI,uDAAC,CAAC,CAACgB,sFAAC,EAAF,EAAKoB,oFAAC,CAAC,wCAAD,CAAN,CAAD,EAAmD+D,CAAC,CAAC8B,SAArD,EAA+D,UAA/D,EAA0E,KAAK,CAA/E,CAA9e,EAAgkBjI,uDAAC,CAAC,CAACgB,sFAAC,EAAF,EAAKoB,oFAAC,CAAC,iBAAD,CAAN,CAAD,EAA4B+D,CAAC,CAAC8B,SAA9B,EAAwC,gBAAxC,EAAyD,KAAK,CAA9D,CAAjkB,EAAkoBjI,uDAAC,CAAC,CAACgB,sFAAC,EAAF,CAAD,EAAOmF,CAAC,CAAC8B,SAAT,EAAmB,MAAnB,EAA0B,IAA1B,CAAnoB,EAAmqBjI,uDAAC,CAAC,CAACgB,sFAAC,EAAF,CAAD,EAAOmF,CAAC,CAAC8B,SAAT,EAAmB,UAAnB,EAA8B,IAA9B,CAApqB,EAAwsBjI,uDAAC,CAAC,CAACgB,sFAAC,EAAF,CAAD,EAAOmF,CAAC,CAAC8B,SAAT,EAAmB,OAAnB,EAA2B,IAA3B,CAAzsB,EAA0uBjI,uDAAC,CAAC,CAACgB,sFAAC,EAAF,CAAD,EAAOmF,CAAC,CAAC8B,SAAT,EAAmB,aAAnB,EAAiC,KAAK,CAAtC,CAA3uB,EAAoxBjI,uDAAC,CAAC,CAACgB,sFAAC,EAAF,CAAD,EAAOmF,CAAC,CAAC8B,SAAT,EAAmB,aAAnB,EAAiC,IAAjC,CAArxB,EAA4zBjI,uDAAC,CAAC,CAACgB,sFAAC,EAAF,CAAD,EAAOmF,CAAC,CAAC8B,SAAT,EAAmB,YAAnB,EAAgC,IAAhC,CAA7zB,EAAm2BjI,uDAAC,CAAC,CAACgB,sFAAC,CAAC;AAAC8I,EAAAA,WAAW,EAAC,CAAC;AAAd,CAAD,CAAF,CAAD,EAAuB3D,CAAC,CAAC8B,SAAzB,EAAmC,aAAnC,EAAiD,KAAK,CAAtD,CAAp2B,EAA65BjI,uDAAC,CAAC,CAACgB,sFAAC,EAAF,CAAD,EAAOmF,CAAC,CAAC8B,SAAT,EAAmB,UAAnB,EAA8B,IAA9B,CAA95B,EAAk8BjI,uDAAC,CAAC,CAACgB,sFAAC,EAAF,CAAD,EAAOmF,CAAC,CAAC8B,SAAT,EAAmB,MAAnB,EAA0B,IAA1B,CAAn8B,EAAm+BjI,uDAAC,CAAC,CAACgB,sFAAC,CAAC;AAACqC,EAAAA,IAAI,EAACyD,2EAACA;AAAP,CAAD,CAAF,EAAakF,wEAAC,CAAC,gBAAD,CAAd,CAAD,EAAmC7F,CAAC,CAAC8B,SAArC,EAA+C,WAA/C,EAA2D,KAAK,CAAhE,CAAp+B,EAAuiCjI,uDAAC,CAAC,CAAC6B,4FAAC,EAAF,CAAD,EAAOsE,CAAC,CAAC8B,SAAT,EAAmB,kBAAnB,EAAsC,IAAtC,CAAxiC,EAAolCjI,uDAAC,CAAC,CAAC6B,4FAAC,EAAF,CAAD,EAAOsE,CAAC,CAAC8B,SAAT,EAAmB,gBAAnB,EAAoC,IAApC,CAArlC,EAA+nCjI,uDAAC,CAAC,CAAC6B,4FAAC,EAAF,CAAD,EAAOsE,CAAC,CAAC8B,SAAT,EAAmB,YAAnB,EAAgC,IAAhC,CAAhoC,EAAsqC9B,CAAC,GAACnG,uDAAC,CAAC,CAACsB,sFAAC,CAAC,yBAAD,CAAF,CAAD,EAAgC6E,CAAhC,CAAzqC;AAA4sC,MAAMvE,CAAC,GAACuE,CAAR;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACJjoe;AACA;AACA;AACA;AACA;AAA8C;AAAwC;AAA6D;AAAqC;AAAoC;AAAqE;AAAmG;AAAqD;AAA6E;AAAsE;AAAgC;AAA0B;AAA6E;AAAwC;AAA0C;AAAuC;AAAkD,MAAMmF,CAAC,GAAC,GAAR;;AAAY,SAAShJ,CAAT,CAAWtC,CAAX,EAAa;AAAC,SAAO,QAAMA,CAAN,IAAS,KAAK,CAAL,KAASA,CAAC,CAACqzC,KAA3B;AAAiC;;AAAA,SAASloC,CAAT,CAAWnL,CAAX,EAAa;AAAC,SAAO,QAAMA,CAAN,IAAS,KAAK,CAAL,KAASA,CAAC,CAACwwD,QAA3B;AAAoC;;AAAA,SAAS3wD,CAAT,CAAWG,CAAX,EAAa;AAAC,SAAO,QAAMA,CAAN,IAAS,KAAK,CAAL,KAASA,CAAC,CAACw8I,KAA3B;AAAiC;;AAAA,IAAIt7I,CAAC,GAAC,cAAcT,wEAAd,CAA+B;AAAC8B,EAAAA,WAAW,CAACvC,CAAD,EAAG;AAAC,UAAMA,CAAN,GAAS,KAAKy8I,oBAAL,GAA0B,IAAnC,EAAwC,KAAKC,4BAAL,GAAkC,CAAC,CAA3E,EAA6E,KAAKC,QAAL,GAAc,IAA3F,EAAgG,KAAK9vI,OAAL,GAAa,IAAI/M,2DAAJ,EAA7G,EAAmH,KAAKs5I,cAAL,GAAoB,IAAvI,EAA4I,KAAKC,IAAL,GAAU,CAAC,CAAvJ,EAAyJ,KAAKntG,IAAL,GAAU,aAAnK,EAAiL,KAAKslG,KAAL,GAAW;AAACn+F,MAAAA,KAAK,EAAC;AAAP,KAA5L,EAAuM,KAAK7+B,UAAL,GAAgB,IAAvN,EAA4N,KAAK8xE,IAAL,GAAU,IAAtO;AAA2O;;AAAA3iF,EAAAA,UAAU,GAAE;AAAC,SAAKH,UAAL,CAAgB,CAAClD,6DAAC,CAAE,MAAI,KAAKy4I,cAAX,EAA4B,MAAI;AAAC,cAAM,KAAKvkI,UAAX,KAAwB,KAAKA,UAAL,GAAgB,KAAKooI,qBAAL,EAAxC;AAAsE,KAAvG,EAAyG57I,2DAAzG,CAAF,EAA8GV,6DAAC,CAAE,MAAI,KAAKgmF,IAAX,EAAkB,CAACtmF,CAAD,EAAGF,CAAH,KAAO;AAAC,WAAK+8I,iBAAL,CAAuB/8I,CAAvB,GAA0B,KAAKg9I,eAAL,CAAqB98I,CAArB,CAA1B;AAAkD,KAA5E,EAA8EsB,kEAA9E,CAA/G,EAAgMhB,6DAAC,CAAE,MAAI,KAAKkU,UAAX,EAAwBxU,CAAC,IAAE;AAAC,UAAG,QAAM,KAAKsmF,IAAd,EAAmB;AAAO,YAAMxmF,CAAC,GAAC,KAAKwmF,IAAL,CAAU9xE,UAAlB;AAA6B,OAAC,QAAMxU,CAAN,IAAS,CAACA,CAAC,CAACm6I,SAAZ,IAAuB,QAAMr6I,CAAN,IAAS,CAACA,CAAC,CAACq6I,SAApC,MAAiD,QAAMn6I,CAAN,IAAS,QAAMF,CAAf,IAAkBE,CAAC,CAACmhB,MAAF,CAASrhB,CAAT,CAAlB,KAAgC,KAAKwmF,IAAL,CAAU9xE,UAAV,GAAqBxU,CAArD,CAAjD;AAA0G,KAA7L,EAA+LgB,2DAA/L,CAAjM,EAAmYV,6DAAC,CAAE,MAAI,KAAKgmF,IAAL,EAAW9xE,UAAjB,EAA8BxU,CAAC,IAAE;AAAC,WAAK08I,4BAAL,GAAkC,CAAC,QAAM18I,CAAN,IAAS,CAACA,CAAC,CAACm6I,SAAZ,IAAuB,QAAM,KAAK3lI,UAAX,IAAuB,CAAC,KAAKA,UAAL,CAAgB2lI,SAAhE,MAA6E,QAAMn6I,CAAN,IAAS,QAAM,KAAKwU,UAApB,IAAgCxU,CAAC,CAACmhB,MAAF,CAAS,KAAK3M,UAAd,CAAhC,KAA4D,KAAKA,UAAL,GAAgBxU,CAA5E,CAA7E,CAAlC,GAA+L,KAAK08I,4BAAL,GAAkC,CAAC,CAAlO;AAAoO,KAAtQ,CAApY,CAAhB;AAA+pB;;AAAAx4I,EAAAA,OAAO,GAAE;AAAC,YAAM,KAAKy4I,QAAX,KAAsBtsF,aAAa,CAAC,KAAKssF,QAAN,CAAb,EAA6B,KAAKA,QAAL,GAAc,IAAjE,GAAuE,KAAKE,iBAAL,CAAuB,KAAKv2D,IAA5B,CAAvE,EAAyG,KAAKA,IAAL,GAAU,IAAnH,EAAwH,QAAM,KAAKm2D,oBAAX,KAAkC,KAAKA,oBAAL,CAA0BxgI,KAA1B,IAAkC,KAAKwgI,oBAAL,GAA0B,IAA9F,CAAxH;AAA4N;;AAAkB,MAAd1D,cAAc,GAAE;AAAC,UAAK;AAACK,MAAAA,cAAc,EAACp5I,CAAhB;AAAkBwxI,MAAAA,KAAK,EAAC1xI;AAAxB,QAA2B,IAAhC;;AAAqC,QAAGD,CAAC,CAACC,CAAD,CAAJ,EAAQ;AAAC,YAAK;AAAC08I,QAAAA,KAAK,EAACh8I;AAAP,UAAUV,CAAf;AAAiB,UAAG,QAAMU,CAAN,IAAS,MAAIA,CAAC,CAACmN,MAAlB,EAAyB,OAAO,IAAP;AAAY,YAAMlN,CAAC,GAACD,CAAC,CAAC0O,IAAF,CAAQ,CAAClP,CAAD,EAAGF,CAAH,KAAOE,CAAC,CAAC87C,OAAF,KAAYh8C,CAAC,CAACg8C,OAAF,EAA3B,CAAR;AAAiD,UAAG,QAAM97C,CAAT,EAAW,OAAOS,CAAP;AAAS,YAAK;AAACihB,QAAAA,KAAK,EAAC/gB,CAAP;AAASyyE,QAAAA,GAAG,EAAClzE;AAAb,UAAgBF,CAArB;AAAuB,UAAG,QAAMW,CAAN,IAAS,QAAMT,CAAlB,EAAoB,OAAOO,CAAP;AAAS,aAAOA,CAAC,CAACgG,MAAF,CAAUzG,CAAC,IAAE,EAAEA,CAAC,CAAC87C,OAAF,KAAYn7C,CAAC,CAACm7C,OAAF,EAAZ,IAAyB97C,CAAC,CAAC87C,OAAF,KAAY57C,CAAC,CAAC47C,OAAF,EAAvC,CAAb,CAAP;AAA0E;;AAAA,QAAGx5C,CAAC,CAACxC,CAAD,CAAJ,EAAQ;AAAC,YAAMU,CAAC,GAACV,CAAC,CAAC0U,UAAF,IAAcxU,CAAtB;AAAwB,aAAO,KAAK+8I,wBAAL,CAA8Bv8I,CAA9B,EAAgCV,CAAC,CAACuzC,KAAlC,CAAP;AAAgD;;AAAA,QAAGloC,CAAC,CAACrL,CAAD,CAAJ,EAAQ;AAAC,YAAMU,CAAC,GAACV,CAAC,CAAC0U,UAAF,IAAcxU,CAAtB;AAAwB,aAAO,KAAKg9I,2BAAL,CAAiCx8I,CAAjC,EAAmCV,CAAC,CAAC0wD,QAArC,CAAP;AAAsD;;AAAA,WAAM,EAAN;AAAS;;AAAY,MAAR8oF,QAAQ,CAACt5I,CAAD,EAAG;AAACA,IAAAA,CAAC,IAAE,CAAH,IAAMA,CAAC,GAAC,IAAR,KAAe,cAAY,KAAKy7F,KAAjB,IAAwB,KAAKwhD,eAAL,EAAxB,EAA+C,KAAK54I,IAAL,CAAU,UAAV,EAAqBrE,CAArB,CAA9D;AAAuF;;AAAS,MAALy7F,KAAK,GAAE;AAAC,WAAO,QAAM,KAAK29C,cAAX,GAA0B,UAA1B,GAAqC,QAAM,KAAKqD,oBAAX,GAAgC,SAAhC,GAA0C,OAAtF;AAA8F;;AAAoB,MAAhB9C,gBAAgB,GAAE;AAAC,UAAK;AAACztG,MAAAA,IAAI,EAAClsC,CAAN;AAAQwU,MAAAA,UAAU,EAAC1U;AAAnB,QAAsB,IAA3B;AAAgC,QAAG,QAAMA,CAAN,IAASA,CAAC,CAACq6I,SAAX,IAAsBr6I,CAAC,CAACwzE,OAA3B,EAAmC,OAAO,IAAP;AAAY,UAAK;AAAC5xD,MAAAA,KAAK,EAAClhB,CAAP;AAAS4yE,MAAAA,GAAG,EAAC3yE;AAAb,QAAgBX,CAArB;;AAAuB,YAAOE,CAAP;AAAU,WAAI,qBAAJ;AAA0B,WAAI,SAAJ;AAAc,eAAO,QAAMQ,CAAN,GAAQ,CAACA,CAAC,CAACs7C,OAAF,EAAD,CAAR,GAAsB,IAA7B;;AAAkC,WAAI,uBAAJ;AAA4B,eAAO,QAAMr7C,CAAN,GAAQ,CAACA,CAAC,CAACq7C,OAAF,EAAD,CAAR,GAAsB,IAA7B;;AAAkC,WAAI,aAAJ;AAAkB,eAAO,QAAMt7C,CAAN,IAAS,QAAMC,CAAf,GAAiB,CAACD,CAAC,CAACs7C,OAAF,EAAD,EAAar7C,CAAC,CAACq7C,OAAF,EAAb,CAAjB,GAA2C,IAAlD;AAApK;AAA4N;;AAAoC,SAAvB09F,uBAAuB,CAACx5I,CAAD,EAAGF,CAAH,EAAK;AAAA;AAACU,MAAAA,sEAAC,CAACG,iEAAA,CAAY,6CAAZ,CAAD,EAA4D,0HAA5D,EAAuL;AAACssI,QAAAA,WAAW,EAAC,gDAAb;AAA8Dx7H,QAAAA,OAAO,EAAC,MAAtE;AAA6EgoI,QAAAA,GAAG,EAAC,gIAAjF;AAAkN1/B,QAAAA,QAAQ,EAAC,CAAC;AAA5N,OAAvL,CAAD;AAAwZ,YAAK;AAACmjC,QAAAA,oCAAoC,EAACz8I;AAAtC,gBAA+C,mLAApD;AAAyF,aAAOA,CAAC,CAACT,CAAD,EAAGF,CAAH,CAAR;AAAlf;AAAggB;;AAAA0a,EAAAA,IAAI,GAAE;AAAC,SAAK2iI,KAAL,CAAW;AAACrB,MAAAA,OAAO,EAAC,CAAC,CAAV;AAAYsB,MAAAA,YAAY,EAAC,CAAC;AAA1B,KAAX;AAAyC;;AAAA1D,EAAAA,IAAI,GAAE;AAAC,SAAKuD,eAAL;AAAuB;;AAAAz9B,EAAAA,QAAQ,GAAE;AAAC,SAAK29B,KAAL,CAAW;AAACrB,MAAAA,OAAO,EAAC,CAAC,CAAV;AAAYsB,MAAAA,YAAY,EAAC,CAAC;AAA1B,KAAX;AAAyC;;AAAAn2D,EAAAA,IAAI,GAAE;AAAC,SAAKo2D,cAAL;AAAsB;;AAAA/c,EAAAA,aAAa,CAACtgI,CAAD,EAAG;AAAC,SAAKg5C,IAAL,CAAU,gBAAV,EAA2B;AAACmsD,MAAAA,MAAM,EAACnlG;AAAR,KAA3B;AAAuC;;AAAA2Y,EAAAA,iBAAiB,CAAC3Y,CAAD,EAAG;AAAC,UAAMF,CAAC,GAAC,IAAIuC,sEAAJ,CAAM;AAACi7I,MAAAA,iBAAiB,EAAC,KAAK9oI,UAAxB;AAAmC4kI,MAAAA,cAAc,EAAC,KAAKA,cAAvD;AAAsEC,MAAAA,IAAI,EAAC,KAAKA,IAAhF;AAAqFkE,MAAAA,QAAQ,EAACj7I,CAAC,CAAC,KAAKkvI,KAAN,CAAD,GAAc,KAAKA,KAAL,CAAWn+F,KAAzB,GAA+B,IAA7H;AAAkImqG,MAAAA,SAAS,EAAC,kBAAgB,KAAKtxG,IAArB,GAA0B,CAA1B,GAA4B,CAAxK;AAA0KuxG,MAAAA,SAAS,EAAC,KAAKnE,QAAzL;AAAkMoE,MAAAA,YAAY,EAACvyI,CAAC,CAAC,KAAKqmI,KAAN,CAAD,GAAc,KAAKA,KAAL,CAAWhhF,QAAzB,GAAkC,IAAjP;AAAsPghF,MAAAA,KAAK,EAAC3xI,CAAC,CAAC,KAAK2xI,KAAN,CAAD,GAAc,KAAKA,KAAL,CAAWgL,KAAzB,GAA+B;AAA3R,KAAN,CAAR;AAAgTx8I,IAAAA,CAAC,CAACyT,OAAF,GAAUzT,CAAC,CAACyT,OAAF,CAAUuoI,UAAV,GAAqBl8I,CAA/B,GAAiCE,CAAC,CAACyT,OAAF,GAAU,IAAI5R,2DAAJ,CAAM;AAACm6I,MAAAA,UAAU,EAACl8I;AAAZ,KAAN,CAA3C;AAAiE;;AAAAg5I,EAAAA,kBAAkB,CAAC94I,CAAD,EAAG;AAAC,QAAG,QAAMA,CAAT,EAAW,OAAO,IAAP;AAAY,UAAMF,CAAC,GAACE,CAAC,CAACkP,IAAF,CAAQ,CAAClP,CAAD,EAAGF,CAAH,KAAOE,CAAC,GAACF,CAAjB,EAAqBuF,GAArB,CAA0BrF,CAAC,IAAE,IAAI8C,IAAJ,CAAS9C,CAAT,CAA7B,CAAR;AAAA,UAAmDQ,CAAC,GAACV,CAAC,CAAC6N,MAAF,GAAS,CAAT,GAAW7N,CAAC,CAAC,CAAD,CAAZ,GAAgB,IAArE;AAAA,UAA0EW,CAAC,GAACX,CAAC,CAAC6N,MAAF,GAAS,CAAT,GAAW7N,CAAC,CAAC,CAAD,CAAZ,GAAgB,IAA5F;;AAAiG,YAAO,KAAKosC,IAAZ;AAAkB,WAAI,aAAJ;AAAkB,eAAO,IAAIxqC,4DAAJ,CAAM;AAACggB,UAAAA,KAAK,EAAClhB,CAAP;AAAS4yE,UAAAA,GAAG,EAAC3yE;AAAb,SAAN,CAAP;;AAA8B,WAAI,SAAJ;AAAc,eAAO,IAAIiB,4DAAJ,CAAM;AAACggB,UAAAA,KAAK,EAAClhB,CAAP;AAAS4yE,UAAAA,GAAG,EAAC5yE;AAAb,SAAN,CAAP;;AAA8B,WAAI,uBAAJ;AAA4B,eAAO,IAAIkB,4DAAJ,CAAM;AAACggB,UAAAA,KAAK,EAAC,IAAP;AAAY0xD,UAAAA,GAAG,EAAC5yE;AAAhB,SAAN,CAAP;;AAAiC,WAAI,qBAAJ;AAA0B,eAAO,IAAIkB,4DAAJ,CAAM;AAACggB,UAAAA,KAAK,EAAClhB,CAAP;AAAS4yE,UAAAA,GAAG,EAAC;AAAb,SAAN,CAAP;;AAAiC;AAAQ,eAAO1xE,oEAAP;AAA9O;AAAgQ;;AAAMk8I,EAAAA,QAAQ,GAAE;AAAA;;AAAA;AAAC,UAAG;AAAC,cAAM59I,CAAC,GAAC,KAAI,CAACsmF,IAAb;AAAA,cAAkBxmF,CAAC,GAAC,KAAI,CAAC28I,oBAAL,EAA2Bj1I,MAA/C;AAAsD,cAAMrC,OAAO,CAACc,GAAR,CAAY,CAAC/F,4DAAC,CAAC,KAAI,CAACo5I,QAAN,EAAe,IAAf,EAAoBx5I,CAApB,CAAF,EAAyB,QAAME,CAAN,IAASI,gEAAC,CAAE,MAAI,CAAC,CAAD,KAAKJ,CAAC,CAACq4C,QAAb,EAAuBv4C,CAAvB,CAAnC,CAAZ,CAAN;AAAiF,OAA3I,CAA2I,OAAME,CAAN,EAAQ;AAAC,eAAOD,mEAAC,CAACC,CAAD,CAAD,IAAMW,iEAAA,CAAY,KAAZ,EAAkB4C,KAAlB,CAAwBvD,CAAxB,CAAN,EAAiC,MAAK,KAAI,CAACy8I,oBAAL,GAA0B,IAA/B,CAAxC;AAA6E;;AAAA,WAAI,CAACU,KAAL,CAAW;AAACrB,QAAAA,OAAO,EAAC,CAAC,CAAV;AAAYsB,QAAAA,YAAY,EAAC,CAAC;AAA1B,OAAX,GAAyC,QAAM,KAAI,CAACX,oBAAX,IAAiC,KAAI,CAACmB,QAAL,EAA1E;AAAlO;AAA4T;;AAAAb,EAAAA,wBAAwB,CAAC/8I,CAAD,EAAGF,CAAC,GAAC,EAAL,EAAQ;AAAC,QAAG,CAACE,CAAD,IAAI,CAACF,CAAR,EAAU,OAAM,EAAN;AAAS,UAAK;AAAC4hB,MAAAA,KAAK,EAAClhB,CAAP;AAAS4yE,MAAAA,GAAG,EAAC3yE;AAAb,QAAgBT,CAArB;AAAuB,QAAG,QAAMQ,CAAN,IAAS,QAAMC,CAAlB,EAAoB,OAAM,EAAN;AAAS,QAAGX,CAAC,GAACwL,CAAL,EAAO,OAAO,KAAKyxI,wBAAL,CAA8B/8I,CAA9B,CAAP;AAAwC,UAAMW,CAAC,GAAC,EAAR;AAAA,UAAWT,CAAC,GAACM,CAAC,CAACs7C,OAAF,EAAb;AAAA,UAAyB/7C,CAAC,GAACU,CAAC,CAACq7C,OAAF,KAAY57C,CAAvC;;AAAyC,SAAI,IAAII,CAAC,GAAC,CAAV,EAAYA,CAAC,IAAER,CAAf,EAAiBQ,CAAC,EAAlB,EAAqBK,CAAC,CAACiE,IAAF,CAAO,IAAI9B,IAAJ,CAAS5C,CAAC,GAACI,CAAC,GAACR,CAAF,GAAIC,CAAf,CAAP;;AAA0B,WAAOY,CAAP;AAAS;;AAAAq8I,EAAAA,2BAA2B,CAACh9I,CAAD,EAAGF,CAAH,EAAKU,CAAC,GAAC8K,CAAP,EAAS;AAAC,QAAG,CAACtL,CAAD,IAAI,CAACF,CAAR,EAAU,OAAM,EAAN;AAAS,UAAK;AAAC4hB,MAAAA,KAAK,EAACjhB,CAAP;AAAS2yE,MAAAA,GAAG,EAACzyE;AAAb,QAAgBX,CAArB;AAAuB,QAAG,QAAMS,CAAN,IAAS,QAAME,CAAlB,EAAoB,OAAM,EAAN;AAAS,UAAMT,CAAC,GAACS,CAAC,CAACm7C,OAAF,KAAYr7C,CAAC,CAACq7C,OAAF,EAApB;AAAA,UAAgC/7C,CAAC,GAACD,CAAC,CAACg6I,cAAF,EAAlC;AAAqD,QAAG/5I,CAAC,IAAE,CAAH,IAAMG,CAAC,GAACH,CAAF,GAAIS,CAAb,EAAe,OAAO,KAAKu8I,wBAAL,CAA8B/8I,CAA9B,CAAP;AAAwC,UAAMM,CAAC,GAAC,EAAR;AAAA,UAAW;AAACkN,MAAAA,KAAK,EAACpN,CAAP;AAASg7C,MAAAA,IAAI,EAACp6C;AAAd,QAAiBlB,CAA5B;AAA8B,QAAIwB,CAAC,GAACb,CAAN;;AAAQ,WAAKa,CAAC,CAACw6C,OAAF,MAAan7C,CAAC,CAACm7C,OAAF,EAAlB,GAA+Bx7C,CAAC,CAACsE,IAAF,CAAO,IAAI9B,IAAJ,CAASxB,CAAC,CAACw6C,OAAF,EAAT,CAAP,GAA8Bx6C,CAAC,GAACV,8DAAC,CAACU,CAAD,EAAGlB,CAAH,EAAKY,CAAL,CAAjC;;AAAyC,WAAOV,CAAP;AAAS;;AAAAs8I,EAAAA,qBAAqB,GAAE;AAAC,UAAK;AAAC7D,MAAAA,cAAc,EAAC/4I,CAAhB;AAAkBksC,MAAAA,IAAI,EAACpsC;AAAvB,QAA0B,IAA/B;AAAoC,QAAG,QAAME,CAAN,IAAS,CAACF,CAAb,EAAe,OAAO,IAAP;;AAAY,YAAOA,CAAP;AAAU,WAAI,aAAJ;AAAkB,eAAOE,CAAC,CAAC2N,MAAF,GAAS,CAAT,GAAW,IAAIjM,4DAAJ,CAAM;AAACggB,UAAAA,KAAK,EAAC1hB,CAAC,CAAC,CAAD,CAAR;AAAYozE,UAAAA,GAAG,EAACpzE,CAAC,CAAC,CAAD;AAAjB,SAAN,CAAX,GAAwC,IAA/C;;AAAoD,WAAI,uBAAJ;AAA4B,eAAOA,CAAC,CAAC2N,MAAF,GAAS,CAAT,GAAW,IAAIjM,4DAAJ,CAAM;AAACggB,UAAAA,KAAK,EAAC,IAAP;AAAY0xD,UAAAA,GAAG,EAACpzE,CAAC,CAAC,CAAD;AAAjB,SAAN,CAAX,GAAwC,IAA/C;;AAAoD,WAAI,qBAAJ;AAA0B,eAAOA,CAAC,CAAC2N,MAAF,GAAS,CAAT,GAAW,IAAIjM,4DAAJ,CAAM;AAACggB,UAAAA,KAAK,EAAC1hB,CAAC,CAAC,CAAD,CAAR;AAAYozE,UAAAA,GAAG,EAAC;AAAhB,SAAN,CAAX,GAAwC,IAA/C;;AAAoD,WAAI,SAAJ;AAAc,eAAOpzE,CAAC,CAAC2N,MAAF,GAAS,CAAT,GAAW,IAAIjM,4DAAJ,CAAM;AAACggB,UAAAA,KAAK,EAAC1hB,CAAC,CAAC,CAAD,CAAR;AAAYozE,UAAAA,GAAG,EAACpzE,CAAC,CAAC,CAAD;AAAjB,SAAN,CAAX,GAAwC,IAA/C;;AAAoD;AAAQ,eAAO,IAAP;AAAxT;AAAqU;;AAAA88I,EAAAA,eAAe,CAAC98I,CAAD,EAAG;AAAC,QAAG,QAAMA,CAAT,EAAW;AAACA,MAAAA,CAAC,CAAC0Y,qBAAF,CAAwBkZ,QAAxB,CAAiC,IAAjC,KAAwC5xB,CAAC,CAAC0Y,qBAAF,CAAwBipB,GAAxB,CAA4B,IAA5B,CAAxC;AAA0E;AAAC;;AAAAs7G,EAAAA,eAAe,GAAE;AAAC,SAAKI,cAAL,IAAsB,KAAKZ,oBAAL,GAA0B,IAAItgI,eAAJ,EAAhD,EAAoE,KAAKghI,KAAL,CAAW;AAACrB,MAAAA,OAAO,EAAC,CAAC,CAAV;AAAYsB,MAAAA,YAAY,EAAC,CAAC;AAA1B,KAAX,CAApE,EAA6G,KAAKQ,QAAL,EAA7G;AAA6H;;AAAAT,EAAAA,KAAK,CAACn9I,CAAD,EAAG;AAAC,UAAK;AAAC87I,MAAAA,OAAO,EAACh8I,CAAT;AAAWs9I,MAAAA,YAAY,EAAC58I;AAAxB,QAA2BR,CAAhC;AAAA,UAAkC;AAAC+4I,MAAAA,cAAc,EAACt4I;AAAhB,QAAmB,IAArD;AAA0D,QAAG,QAAM,KAAKk5I,gBAAX,IAA6B,QAAMl5I,CAAtC,EAAwC;AAAO,UAAME,CAAC,GAACF,CAAC,CAAC4E,GAAF,CAAOrF,CAAC,IAAEA,CAAC,CAAC87C,OAAF,EAAV,CAAR;AAAA,UAAgC57C,CAAC,GAAC,KAAKy5I,gBAAL,CAAsBt0I,GAAtB,CAA2BrF,CAAC,IAAE;AAAC,YAAMF,CAAC,GAACa,CAAC,CAAC4Q,OAAF,CAAUvR,CAAV,CAAR;AAAqB,UAAG,CAAC,CAAD,KAAKF,CAAR,EAAU,OAAOA,CAAP;AAAS,YAAMU,CAAC,GAACG,CAAC,CAACiQ,MAAF,CAAU,CAAC9Q,CAAD,EAAGU,CAAH,KAAOojB,IAAI,CAACkZ,GAAL,CAASt8B,CAAC,GAACR,CAAX,IAAc4jB,IAAI,CAACkZ,GAAL,CAASh9B,CAAC,GAACE,CAAX,CAAd,GAA4BQ,CAA5B,GAA8BV,CAA/C,CAAR;AAA2D,aAAOa,CAAC,CAAC4Q,OAAF,CAAU/Q,CAAV,CAAP;AAAoB,KAAtJ,CAAlC;AAAA,UAA2LT,CAAC,GAACG,CAAC,CAACmF,GAAF,CAAOrF,CAAC,IAAEA,CAAC,IAAEF,CAAC,GAAC,CAAD,GAAG,CAAC,CAAP,CAAX,CAA7L;AAAA,UAAoNQ,CAAC,GAACP,CAAC,CAACuX,IAAF,CAAQtX,CAAC,IAAEA,CAAC,GAAC,CAAF,IAAKA,CAAC,GAACW,CAAC,CAACgN,MAAF,GAAS,CAA3B,CAAtN;AAAA,UAAqP;AAAC0rI,MAAAA,IAAI,EAACj5I,CAAN;AAAQq7F,MAAAA,KAAK,EAACz6F;AAAd,QAAiB,IAAtQ;AAA2Q,QAAGV,CAAH;AAAK,UAAGF,CAAC,IAAEI,CAAN,EAAQ;AAAC,cAAMR,CAAC,GAAC4jB,IAAI,CAAC5Z,GAAL,CAAS,GAAG9J,CAAZ,CAAR;AAAA,cAAuBM,CAAC,GAACojB,IAAI,CAAC3Z,GAAL,CAAS,GAAG/J,CAAZ,CAAzB;AAAA,cAAwCO,CAAC,GAAC,CAACX,CAAC,GAACI,CAAC,CAACmF,GAAF,CAAOvF,CAAC,IAAEA,CAAC,GAACE,CAAZ,CAAD,GAAiBE,CAAC,CAACmF,GAAF,CAAOrF,CAAC,IAAEA,CAAC,IAAEW,CAAC,CAACgN,MAAF,GAAS,CAAT,GAAWnN,CAAb,CAAX,CAAnB,EAAiD6E,GAAjD,CAAsDrF,CAAC,IAAEW,CAAC,CAACX,CAAD,CAA1D,CAA1C;AAA0G,aAAKwU,UAAL,GAAgB,KAAKskI,kBAAL,CAAwBr4I,CAAxB,CAAhB;AAA2C,OAA9J,MAAkK,cAAYO,CAAZ,IAAe,KAAKimF,IAAL,EAAf;AAAvK,WAAsM;AAAC,YAAMjnF,CAAC,GAACD,CAAC,CAACsF,GAAF,CAAOrF,CAAC,IAAEW,CAAC,CAACX,CAAD,CAAX,CAAR;AAAyB,WAAKwU,UAAL,GAAgB,KAAKskI,kBAAL,CAAwB94I,CAAxB,CAAhB;AAA2C;AAAC;;AAAAq9I,EAAAA,cAAc,GAAE;AAAC,YAAM,KAAKZ,oBAAX,KAAkC,KAAKA,oBAAL,CAA0BxgI,KAA1B,IAAkC,KAAKwgI,oBAAL,GAA0B,IAA9F;AAAoG;;AAAAI,EAAAA,iBAAiB,CAAC78I,CAAD,EAAG;AAAC,YAAMA,CAAN,IAASA,CAAC,CAAC0Y,qBAAF,CAAwBtV,MAAxB,CAA+B,IAA/B,CAAT;AAA8C;;AAAjiM,CAArC;AAAwkMpD,uDAAC,CAAC,CAACwB,sFAAC,EAAF,CAAD,EAAON,CAAC,CAAC+G,SAAT,EAAmB,sBAAnB,EAA0C,KAAK,CAA/C,CAAD,EAAmDjI,uDAAC,CAAC,CAACwB,sFAAC,CAAC;AAAC6B,EAAAA,IAAI,EAACvD,2DAACA;AAAP,CAAD,CAAF,CAAD,EAAeoB,CAAC,CAAC+G,SAAjB,EAA2B,SAA3B,EAAqC,KAAK,CAA1C,CAApD,EAAiGjI,uDAAC,CAAC,CAACwB,sFAAC,CAAC;AAAC2G,EAAAA,QAAQ,EAAC,CAAC;AAAX,CAAD,CAAF,CAAD,EAAoBjH,CAAC,CAAC+G,SAAtB,EAAgC,gBAAhC,EAAiD,IAAjD,CAAlG,EAAyJjI,uDAAC,CAAC,CAACwB,sFAAC,CAAC;AAAC6B,EAAAA,IAAI,EAAC3B,4DAACA;AAAP,CAAD,CAAF,CAAD,EAAeR,CAAC,CAAC+G,SAAjB,EAA2B,gBAA3B,EAA4C,KAAK,CAAjD,CAA1J,EAA8MjI,uDAAC,CAAC,CAACwB,sFAAC,CAAC;AAACsI,EAAAA,WAAW,EAAC,CAAC;AAAd,CAAD,CAAF,CAAD,EAAuB5I,CAAC,CAAC+G,SAAzB,EAAmC,MAAnC,EAA0C,KAAK,CAA/C,CAA/M,EAAiQjI,uDAAC,CAAC,CAACwB,sFAAC,CAAC;AAACsI,EAAAA,WAAW,EAAC,CAAC;AAAd,CAAD,CAAF,CAAD,EAAuB5I,CAAC,CAAC+G,SAAzB,EAAmC,MAAnC,EAA0C,KAAK,CAA/C,CAAlQ,EAAoTjI,uDAAC,CAAC,CAACwB,sFAAC,CAAC;AAACsI,EAAAA,WAAW,EAAC,CAAC,CAAd;AAAgB0D,EAAAA,KAAK,EAAC;AAAtB,CAAD,CAAF,CAAD,EAAiCtM,CAAC,CAAC+G,SAAnC,EAA6C,UAA7C,EAAwD,IAAxD,CAArT,EAAmXjI,uDAAC,CAAC,CAACwB,sFAAC,CAAC;AAAC2G,EAAAA,QAAQ,EAAC,CAAC;AAAX,CAAD,CAAF,CAAD,EAAoBjH,CAAC,CAAC+G,SAAtB,EAAgC,OAAhC,EAAwC,IAAxC,CAApX,EAAkajI,uDAAC,CAAC,CAACwB,sFAAC,CAAC;AAACiJ,EAAAA,IAAI,EAACzK,CAAC,IAAE,QAAMA,CAAN,GAAQ,IAAR,IAAcmL,CAAC,CAACnL,CAAD,CAAD,KAAOA,CAAC,CAACwwD,QAAF,GAAW1vD,gFAAC,CAACiB,8DAAD,EAAG/B,CAAC,CAACwwD,QAAL,CAAnB,GAAmC,CAACrlD,CAAC,CAACnL,CAAD,CAAD,IAAMsC,CAAC,CAACtC,CAAD,CAAR,MAAeA,CAAC,CAACwU,UAAF,GAAa1T,gFAAC,CAACY,4DAAD,EAAG1B,CAAC,CAACwU,UAAL,CAA7B,CAAnC,EAAkFxU,CAAhG;AAAT,CAAD,CAAF,CAAD,EAAmHkB,CAAC,CAAC+G,SAArH,EAA+H,OAA/H,EAAuI,KAAK,CAA5I,CAAna,EAAkjBjI,uDAAC,CAAC,CAACwB,sFAAC,CAAC;AAAC6B,EAAAA,IAAI,EAAC3B,4DAACA;AAAP,CAAD,CAAF,CAAD,EAAeR,CAAC,CAAC+G,SAAjB,EAA2B,YAA3B,EAAwC,KAAK,CAA7C,CAAnjB,EAAmmBjI,uDAAC,CAAC,CAACwB,sFAAC,CAAC;AAAC2G,EAAAA,QAAQ,EAAC,CAAC;AAAX,CAAD,CAAF,CAAD,EAAoBjH,CAAC,CAAC+G,SAAtB,EAAgC,kBAAhC,EAAmD,IAAnD,CAApmB,EAA6pBjI,uDAAC,CAAC,CAACwB,sFAAC,EAAF,CAAD,EAAON,CAAC,CAAC+G,SAAT,EAAmB,MAAnB,EAA0B,KAAK,CAA/B,CAA9pB,EAAgsBjI,uDAAC,CAAC,CAACwB,sFAAC,EAAF,CAAD,EAAON,CAAC,CAAC+G,SAAT,EAAmB,MAAnB,EAA0B,IAA1B,CAAjsB,EAAiuBjI,uDAAC,CAAC,CAACwB,sFAAC,EAAF,CAAD,EAAON,CAAC,CAAC+G,SAAT,EAAmB,MAAnB,EAA0B,IAA1B,CAAluB,EAAkwBjI,uDAAC,CAAC,CAACwB,sFAAC,EAAF,CAAD,EAAON,CAAC,CAAC+G,SAAT,EAAmB,UAAnB,EAA8B,IAA9B,CAAnwB,EAAuyBjI,uDAAC,CAAC,CAACwB,sFAAC,EAAF,CAAD,EAAON,CAAC,CAAC+G,SAAT,EAAmB,MAAnB,EAA0B,IAA1B,CAAxyB,EAAw0BjI,uDAAC,CAAC,CAACwB,sFAAC,EAAF,CAAD,EAAON,CAAC,CAAC+G,SAAT,EAAmB,mBAAnB,EAAuC,IAAvC,CAAz0B,EAAs3B/G,CAAC,GAAClB,uDAAC,CAAC,CAACoB,uFAAC,CAAC,6CAAD,CAAF,CAAD,EAAoDF,CAApD,CAAz3B;AAAg7B,MAAMS,CAAC,GAACT,CAAR;;;;;;;;;;;;;;;;ACJlhQ;AACA;AACA;AACA;AACA,8BAA8B,cAAc,EAAE,2BAA2B,EAAE,mCAAmC,EAAE,8BAA8B,EAAE,6BAA6B,EAAE,oBAAoB,EAAE,gCAAgC,EAAE,kCAAkC,EAAE,kCAAkC,EAAE,uCAAuC,EAAE,sCAAsC,EAAE,2CAA2C,EAAE,6CAA6C,EAAE,4BAA4B,EAAE,kBAAkB,EAAE,uBAAuB,EAAE,sBAAsB,EAAE,yEAAyE,EAAE,kBAAkB,EAAE,uBAAuB,EAAE,wBAAwB,EAAE,8BAA8B,EAAE,2BAA2B,EAAE,sBAAsB,EAAE,0BAA0B,EAAE,0BAA0B,EAAE,8BAA8B,EAAE,0BAA0B,EAAE,4BAA4B,EAAE,mBAAoC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACJ59B;AACA;AACA;AACA;AACA;AAA2C;AAAmB;AAA0D;AAA2C;AAAkC;AAAmE;AAAuB;AAAwC;AAAiC;AAAgD;AAAsD;AAA6E;AAA+E;AAA+C;AAA0E;AAAkE;AAA0E;AAAiE;AAAgG;AAA2F;AAA+D;AAAwF;AAA8E;AAAqD;AAAsH;AAAmD;AAAmD;AAAyD,IAAI0R,CAAJ;AAAM,MAAMzM,CAAC,GAAC,qBAAR;AAA8B,IAAIghB,CAAC,GAAC,CAAN;;AAAQ,SAASxa,CAAT,CAAW7M,CAAX,EAAaE,CAAb,EAAe;AAAC,QAAMD,CAAC,GAACoa,MAAM,CAAClS,SAAP,CAAiBupB,cAAzB;;AAAwC,OAAI,MAAMtxB,CAAV,IAAeF,CAAf,EAAiBD,CAAC,CAACib,IAAF,CAAOhb,CAAP,EAASE,CAAT,KAAaH,CAAC,CAACib,IAAF,CAAOlb,CAAP,EAASI,CAAT,CAAb,KAA2B,QAAMJ,CAAC,CAACI,CAAD,CAAP,IAAY,QAAMF,CAAC,CAACE,CAAD,CAAnB,IAAwB,YAAU,OAAOJ,CAAC,CAACI,CAAD,CAA1C,IAA+C,YAAU,OAAOF,CAAC,CAACE,CAAD,CAAjE,GAAqEyM,CAAC,CAAC7M,CAAC,CAACI,CAAD,CAAF,EAAMF,CAAC,CAACE,CAAD,CAAP,CAAtE,GAAkFJ,CAAC,CAACI,CAAD,CAAD,GAAKF,CAAC,CAACE,CAAD,CAAnH;;AAAwH,SAAOJ,CAAP;AAAS;;AAAA,MAAMwC,CAAC,GAACX,wGAAC,CAAC;AAACi9I,EAAAA,4BAA4B,CAAC9+I,CAAD,EAAG;AAAC,UAAME,CAAC,GAACF,CAAC,CAAC++I,uBAAV;AAAA,UAAkC9+I,CAAC,GAAC,WAApC;;AAAgDD,IAAAA,CAAC,CAAC++I,uBAAF,GAA0B,CAAC/+I,CAAD,EAAGI,CAAH,EAAKI,CAAL,EAAOE,CAAP,KAAW;AAAC,YAAMC,CAAC,GAACT,CAAC,GAAGF,CAAH,EAAKI,CAAL,EAAOI,CAAP,EAASE,CAAT,CAAT;AAAA,YAAqBJ,CAAC,GAACL,CAAC,CAACwnB,IAAF,CAAOznB,CAAP,CAAvB;;AAAiC,UAAG,EAAE,CAACA,CAAC,GAACA,CAAC,CAACuQ,OAAF,CAAUtQ,CAAV,EAAY,EAAZ,CAAH,EAAoB2P,WAApB,MAAoCpP,CAAtC,KAA0CF,CAA7C,EAA+C;AAAC,cAAMJ,CAAC,GAACF,CAAC,CAAC,CAAD,CAAD,CAAK4P,WAAL,KAAmB5P,CAAC,CAAC8J,KAAF,CAAQ,CAAR,CAA3B;AAAA,cAAsC7J,CAAC,GAACD,CAAC,IAAEW,CAAC,EAAEua,IAAH,CAAQ1a,CAAR,EAAUR,CAAV,CAA3C;;AAAwDQ,QAAAA,CAAC,CAACwuB,gBAAF,CAAmB9uB,CAAnB,EAAqBD,CAArB,EAAuBK,CAAvB;;AAA0B,cAAMF,CAAC,GAAC,MAAII,CAAC,CAACuuB,mBAAF,CAAsB7uB,CAAtB,EAAwBD,CAAxB,EAA0BK,CAA1B,CAAZ;AAAA,cAAyCoB,CAAC,GAAChB,CAAC,CAAC8+G,YAA7C;;AAA0D9+G,QAAAA,CAAC,CAAC8+G,YAAF,GAAex/G,CAAC,IAAE;AAAC0B,UAAAA,CAAC,GAAG1B,CAAH,CAAD,EAAOI,CAAC,EAAR;AAAW,SAA9B;AAA+B;;AAAA,aAAOO,CAAP;AAAS,KAA3S;AAA4S,GAA7X;;AAA8Xq+I,EAAAA,sBAAsB,CAACh/I,CAAD,EAAGE,CAAH,EAAKD,CAAL,EAAOG,CAAP,EAAS;AAAC,UAAK;AAAC6+I,MAAAA,UAAU,EAACz+I,CAAZ;AAAc+C,MAAAA,IAAI,EAAC7C;AAAnB,QAAsBN,CAA3B;AAAA,UAA6BO,CAAC,GAACH,CAAC,KAAG0+I,KAAK,CAACC,eAAzC;AAAyD,QAAI7+I,CAAC,GAAE,KAAII,CAAE,GAAEC,CAAC,GAAC,SAAD,GAAW,EAAG,EAA9B;AAAgC,UAAMe,CAAC,GAACxB,CAAC,CAACyoE,UAAV;AAAqB,KAACjnE,CAAC,IAAEpB,CAAC,IAAIoB,CAAR,KAAYpB,CAAC,GAAE,KAAII,CAAC,CAAC,CAAD,CAAD,CAAKo9B,WAAL,EAAmB,GAAEp9B,CAAC,CAACoJ,KAAF,CAAQ,CAAR,CAAW,GAAEnJ,CAAC,GAAC,SAAD,GAAW,EAAG,EAAxD,EAA0De,CAAC,IAAEpB,CAAC,IAAIoB,CAA9E,CAAD,MAAqF8J,wEAAC,IAAGxL,CAAC,CAACypH,cAAF,EAAH,EAAsB/nH,CAAC,CAACpB,CAAD,CAAD,CAAK4a,IAAL,CAAUxZ,CAAC,CAAC+uB,IAAF,IAAQxwB,CAAlB,EAAoBG,CAApB,CAA5G;AAAoI;;AAAhpB,CAAD,CAAT;AAA6pB,IAAI+K,CAAC,GAAC,CAAC,CAAP;AAAA,IAASG,CAAC,GAAC,cAAczK,mEAAC,CAACT,wEAAD,CAAf,CAAmC;AAACqC,EAAAA,WAAW,CAACzC,CAAD,EAAGE,CAAH,EAAK;AAAA;;AAAC,WAAMF,CAAN,EAAQE,CAAR,kBAAW,KAAKk/I,SAAL,GAAe,CAAC,CAA3B,EAA6B,KAAK9wC,UAAL,GAAgB9rG,CAA7C,EAA+C,KAAK68I,mBAAL,GAAyB,CAAC,CAAzE,EAA2E,KAAKzzI,GAAL,GAAS,IAApF,EAAyF,KAAK0zI,oBAAL,GAA0B,CAAC,CAApH,EAAsH,KAAKC,WAAL,GAAiBv+I,gEAAC,iNAAE,aAAS;AAAC,UAAG,KAAI,CAACw+I,mBAAL,EAA0B3xI,MAA7B,EAAoC;AAAC,cAAM7N,CAAC,SAAOqF,OAAO,CAACuB,UAAR,CAAmB,KAAI,CAAC44I,mBAAL,CAAyBj6I,GAAzB;AAAA,wNAA8B,WAAM;AAACk6I,YAAAA,UAAU,EAACz/I,CAAZ;AAAcqqE,YAAAA,YAAY,EAACnqE;AAA3B,WAAN,EAAsC;AAAC,gBAAG,KAAI,CAACm4C,SAAR,EAAkB;AAAO,gBAAIp4C,CAAC,SAAOmL,sEAAC,CAACpL,CAAD,CAAb;AAAiB,iBAAI,CAAC0/I,SAAL,IAAgBrlI,MAAM,CAACkF,IAAP,CAAY,KAAI,CAACmgI,SAAjB,CAAhB,KAA8Cz/I,CAAC,GAAC4M,CAAC,CAAClM,oDAAC,CAACV,CAAD,CAAF,EAAM,KAAI,CAACy/I,SAAX,CAAjD,GAAwE,KAAI,CAACx/I,CAAD,CAAJ,GAAQD,CAAhF;AAAkF,WAAjM;;AAAA;AAAA;AAAA;AAAA,YAAnB,CAAd;AAAsO,YAAG,KAAI,CAACo4C,SAAR,EAAkB;;AAAO,aAAI,MAAMn4C,CAAV,IAAeF,CAAf,EAAiB,eAAaE,CAAC,CAACuf,MAAf,IAAuBnf,iEAAA,CAAY,KAAZ,EAAkBmD,KAAlB,CAAwB,0BAAxB,EAAmD,KAAI,CAAC8F,aAAxD,EAAsErJ,CAAC,CAACwf,MAAxE,CAAvB;AAAuG;;AAAA,YAAM,KAAI,CAACigI,UAAL,EAAN;AAAwB,KAAhc,EAAxI,EAA2kB59I,6EAAC,EAA5kB;AAA+kB,UAAM9B,CAAC,GAAC,qBAAmBgC,4DAAC,EAA5B;AAAA,UAA+B7B,CAAC,GAAC,KAAKuuG,MAAL,CAAYl+E,IAAZ,CAAiB,IAAjB,CAAjC;AAAwD,SAAKmvH,eAAL,GAAqB,IAAIt9I,yGAAJ,CAAO,MAAI;AAAC,WAAKg9I,oBAAL,IAA2B,KAAK71B,cAAL,EAA3B;AAAiD,KAA7D,CAArB;;AAAqF,UAAMjpH,CAAC,GAAC,OAAK;AAACq/I,MAAAA,aAAa,EAAC,KAAf;AAAqBl3E,MAAAA,UAAU,EAAC;AAAC/8D,QAAAA,GAAG,EAAE,GAAE3L,CAAE,SAAV;AAAmBu+G,QAAAA,KAAK,EAAC,EAAzB;AAA4B8lB,QAAAA,MAAM,EAAC;AAAC36G,UAAAA,OAAO,EAAC;AAAT;AAAnC,OAAhC;AAAqFilF,MAAAA,OAAO,EAAC,IAA7F;AAAkGuT,MAAAA,QAAQ,EAAC,KAAK,CAAhH;AAAkH91G,MAAAA,IAAI,EAAC,KAAK;AAA5H,KAAL,CAAR;AAAA,UAA6I3L,CAAC,GAAC,MAAI;AAAC,UAAG,CAAC,KAAK2+I,mBAAN,IAA2B,KAAKhnG,SAAnC,EAA6C,OAAO,IAAP;AAAY,YAAMr4C,CAAC,GAACI,CAAC,MAAII,CAAC,EAAd;AAAA,YAAiBN,CAAC,GAACF,CAAC,CAAC2oE,UAAF,KAAe,EAAlC;;AAAqC,UAAGzoE,CAAC,CAAC0L,GAAF,KAAQ3L,CAAR,EAAUmC,kFAAC,CAACpC,CAAC,CAAC6/I,aAAH,CAAd,EAAgC;AAAC,YAAG,CAAC,KAAKrxI,OAAT,EAAiB,OAAOhO,CAAC,EAAR;AAAW,OAA7D,MAAkE,KAAKgO,OAAL,GAAatO,CAAC,CAACokI,MAAF,KAAWpkI,CAAC,CAACokI,MAAF,GAAS,EAApB,CAAb,IAAsCpkI,CAAC,CAACs+G,KAAF,GAAQ,EAAR,EAAWt+G,CAAC,CAACokI,MAAF,GAAS;AAAC36G,QAAAA,OAAO,EAAC;AAAT,OAA1D,GAA4EzpB,CAAC,CAACokI,MAAF,CAAS36G,OAAT,KAAmB,EAA/F;;AAAkG,UAAIjpB,CAAC,GAAC,CAAN;AAAQ,aAAOV,CAAC,CAACmiH,QAAF,EAAYx9G,OAAZ,CAAqB3E,CAAC,IAAE;AAACoC,QAAAA,kFAAC,CAACpC,CAAC,CAAC6/I,aAAH,CAAD,KAAqB7/I,CAAC,CAAC2oE,UAAF,KAAe,EAAf,EAAkB3oE,CAAC,CAAC2oE,UAAF,CAAa/8D,GAAb,KAAoB,GAAE,KAAKlJ,EAAG,KAAIhC,CAAC,EAAG,EAA7E;AAAgF,OAAzG,GAA4G6K,6EAAC,CAAC,IAAD,EAAMvL,CAAN,CAApH;AAA6H,KAA3hB;;AAA4hB,SAAK2uG,MAAL,GAAY,MAAI;AAAC,UAAGxjG,CAAH,EAAK,OAAOzK,CAAC,EAAR;AAAW,UAAIV,CAAC,GAACqL,sEAAC,CAAC,IAAD,CAAD,IAAS,IAAf;AAAoB,UAAGrL,CAAH,EAAK,OAAOA,CAAP;AAAS,WAAK4/I,eAAL,CAAqBhmI,KAArB,IAA6BzO,CAAC,GAAC,CAAC,CAAhC;;AAAkC,UAAG;AAACnL,QAAAA,CAAC,GAACD,8EAAC,CAAC,KAAK6/I,eAAN,EAAsBl/I,CAAtB,CAAH;AAA4B,OAAhC,CAAgC,OAAMR,CAAN,EAAQ;AAAC,cAAMI,iEAAA,CAAY,IAAZ,EAAkBmD,KAAlB,CAAwBvD,CAAxB,GAA2BA,CAAjC;AAAmC,OAA5E,SAAmF;AAACiL,QAAAA,CAAC,GAAC,CAAC,CAAH;AAAK;;AAAA,aAAOnL,CAAC,IAAE8B,sEAAC,CAAC,IAAD,EAAM9B,CAAN,CAAJ,EAAaA,CAApB;AAAsB,KAApN;;AAAqN,UAAM0B,CAAC,GAAC,KAAKo+I,iBAAL,EAAR;AAAiCp+I,IAAAA,CAAC,GAAC,KAAKq+I,eAAL,GAAqBr+I,CAAC,CAACsE,IAAF,CAAQ,MAAI;AAAC,WAAKq5I,mBAAL,GAAyB,CAAC,CAA1B,EAA4B,KAAKW,eAAL,EAA5B;AAAmD,KAAhE,CAAtB,IAA0F,KAAKD,eAAL,GAAqB16I,OAAO,CAACC,OAAR,GAAkBU,IAAlB,CAAwB,MAAI;AAAC,WAAKg6I,eAAL;AAAuB,KAApD,CAArB,EAA4E,KAAKX,mBAAL,GAAyB,CAAC,CAAhM,CAAD,EAAoM,KAAKl6I,mBAAL,CAAyB,KAAK46I,eAA9B,CAApM,EAAmPh3I,mEAAC,CAAC,KAAKg3I,eAAN,CAApP;AAA2Q;;AAAAz7I,EAAAA,iBAAiB,CAACtE,CAAD,EAAGE,CAAH,EAAK;AAAC,UAAMD,CAAC,GAAC,EAAC,GAAGD;AAAJ,KAAR;AAAe,WAAOE,CAAC,KAAGD,CAAC,CAAC2oF,SAAF,GAAY1oF,CAAf,CAAD,EAAmBD,CAA1B;AAA4B;;AAAAggJ,EAAAA,cAAc,GAAE,CAAE;;AAAAH,EAAAA,iBAAiB,GAAE;AAAC,UAAM9/I,CAAC,GAAC,KAAKm+G,gBAAL,EAAR;AAAgC,WAAO,KAAKqhC,mBAAL,EAA0B3xI,MAA1B,IAAkC7N,CAAlC,GAAoCqF,OAAO,CAACc,GAAR,CAAY,CAACnG,CAAD,EAAG,KAAKu/I,WAAL,EAAH,CAAZ,EAAoCv5I,IAApC,CAA0C,MAAI,CAAE,CAAhD,EAAmDjC,KAAnD,CAAyDjD,wEAAzD,CAApC,GAAgG,IAAvG;AAA4G;;AAAAq9G,EAAAA,gBAAgB,GAAE;AAAC,WAAO,IAAP;AAAY;;AAAAwhC,EAAAA,UAAU,GAAE;AAAC,WAAO,IAAP;AAAY;;AAAAv7I,EAAAA,OAAO,GAAE;AAAC,SAAKi0C,SAAL,KAAiB32C,6DAAC,CAAC,KAAKk+I,eAAN,CAAD,EAAwBl+I,6DAAC,CAAC,KAAKwuF,SAAN,CAAzB,EAA0C,KAAKgwD,OAAL,CAAa,KAAKt3D,SAAlB,CAA1C,EAAuE,KAAKrkF,IAAL,CAAU,WAAV,EAAsB,IAAtB,CAAvE,EAAmG,KAAKsyF,QAAL,CAAcj9E,KAAd,EAAnG,EAAyH,KAAK+0F,MAAL,GAAY,MAAI,IAAzI,EAA8I,KAAKL,UAAL,GAAgB,IAA9J,EAAmK/lG,yEAAC,CAAC,IAAD,CAArL;AAA6L;;AAAa,MAATqgF,SAAS,CAAC5oF,CAAD,EAAG;AAAC,SAAKwE,IAAL,CAAU,WAAV,KAAwB,KAAKD,IAAL,CAAU,WAAV,EAAsBvE,CAAtB,CAAxB;AAAiD;;AAAAmgJ,EAAAA,aAAa,CAACngJ,CAAD,EAAG;AAAC,WAAOC,uDAAC,CAACD,CAAD,CAAR;AAAY;;AAAW,MAAP4uG,OAAO,GAAE;AAAC,WAAO,KAAKhmB,SAAZ;AAAsB;;AAAW,MAAPgmB,OAAO,CAAC5uG,CAAD,EAAG;AAAC,SAAK4oF,SAAL,GAAe5oF,CAAf;AAAiB;;AAAQ,MAAJo+G,IAAI,GAAE;AAAC,WAAO,IAAP;AAAY;;AAAQ,MAAJA,IAAI,CAACp+G,CAAD,EAAG;AAAC,SAAKmtC,eAAL,CAAqB,MAArB,EAA4BntC,CAA5B;AAA+B;;AAAM,MAAF0C,EAAE,GAAE;AAAC,WAAO,KAAK8B,IAAL,CAAU,IAAV,KAAiB,KAAKokF,SAAL,EAAgBlmF,EAAjC,IAAqCM,IAAI,CAACC,GAAL,GAAWC,QAAX,CAAoB,EAApB,IAAwB,UAAxB,GAAmCmkB,CAAC,EAAhF;AAAmF;;AAAM,MAAF3kB,EAAE,CAAC1C,CAAD,EAAG;AAACA,IAAAA,CAAC,IAAE,KAAKuE,IAAL,CAAU,IAAV,EAAevE,CAAf,CAAH;AAAqB;;AAAS,MAALy1B,KAAK,GAAE;AAAC,WAAO,KAAKlsB,aAAL,CAAmBiH,KAAnB,CAAyB,GAAzB,EAA8BiL,GAA9B,EAAP;AAA2C;;AAAS,MAALga,KAAK,CAACz1B,CAAD,EAAG;AAAC,SAAKmtC,eAAL,CAAqB,OAArB,EAA6BntC,CAA7B;AAAgC;;AAAc,MAAVogJ,UAAU,GAAE;AAAC,WAAO,KAAKL,eAAZ;AAA4B;;AAAW,MAAPvxI,OAAO,GAAE;AAAC,WAAO,KAAKhK,IAAL,CAAU,SAAV,CAAP;AAA4B;;AAAW,MAAPgK,OAAO,CAACxO,CAAD,EAAG;AAAC,SAAKuE,IAAL,CAAU,SAAV,EAAoBvE,CAApB;AAAuB;;AAAU,QAAL8S,CAAC,GAAC5G,8DAAF,EAAIS,sEAAC,KAAI;AAAC,WAAM;AAAC0zI,MAAAA,SAAS,EAAC,KAAK/xC;AAAhB,KAAN;AAAkC;;AAAAK,EAAAA,MAAM,GAAE;AAAC,UAAM,IAAIrzF,KAAJ,CAAU,iBAAV,CAAN;AAAmC;;AAAAmuG,EAAAA,cAAc,GAAE;AAAC,SAAKpxE,SAAL,KAAiB9vC,yEAAC,CAAC,IAAD,CAAD,EAAQ,KAAK+lG,UAAL,CAAgBmb,cAAhB,EAAzB;AAA2D;;AAAA62B,EAAAA,GAAG,CAACtgJ,CAAD,EAAG;AAACE,IAAAA,sEAAC,CAACI,iEAAA,CAAY,IAAZ,CAAD,EAAmB,gEAAnB,EAAoF;AAAC6sI,MAAAA,WAAW,EAAC,qBAAb;AAAmCx7H,MAAAA,OAAO,EAAC;AAA3C,KAApF,CAAD,EAAyI,KAAKjO,UAAL,CAAgB1D,CAAhB,CAAzI;AAA4J;;AAAAomE,EAAAA,OAAO,CAAC,GAAGpmE,CAAJ,EAAM;AAAC,WAAOmC,mEAAA,CAAQ,IAAR,EAAanC,CAAb,CAAP;AAAuB;;AAAA8uG,EAAAA,SAAS,GAAE;AAACvmG,IAAAA,yEAAC,CAAC,IAAD,CAAD,EAAQ,KAAK+lG,UAAL,CAAgBQ,SAAhB,EAAR;AAAoC;;AAAAkxC,EAAAA,eAAe,GAAE;AAAA;;AAAC,QAAG,KAAK3nG,SAAR,EAAkB;AAAO,SAAKoxE,cAAL,IAAsB,KAAK82B,oBAAL,EAA2B1yI,MAA3B,IAAmC,KAAKnK,UAAL,CAAgBpC,8DAAC,CAAE,MAAI,KAAK4uF,SAAX,EAAuB,CAAClwF,CAAD,EAAGE,CAAH,KAAO;AAACA,MAAAA,CAAC,IAAE,KAAKsd,aAAL,CAAmB,kBAAnB,CAAH,EAA0Cxd,CAAC,IAAEQ,uEAAC,CAACR,CAAD,CAAJ,IAAS,KAAK0D,UAAL,CAAgB,KAAK68I,oBAAL,CAA0Bh7I,GAA1B,CAA+BrF,CAAC,IAAEQ,mDAAC,CAACV,CAAD,EAAGE,CAAH,EAAMF,CAAC,IAAE;AAAC,aAAKk5C,IAAL,CAAUh5C,CAAV,EAAYF,CAAZ;AAAe,OAAzB,CAAnC,CAAhB,EAAiF,kBAAjF,CAAnD;AAAwJ,KAAvL,EAAyLkB,mEAAzL,CAAjB,CAAzD,EAAuQ,KAAK++I,cAAL,EAAvQ;;AAA6R,UAAMjgJ,CAAC;AAAA,oNAAC,aAAS;AAAC,cAAM,MAAI,CAACu/I,WAAL,GAAmBx7I,KAAnB,CAAyBjD,wEAAzB,CAAN,EAAkC,MAAI,CAAC2oH,cAAL,EAAlC;AAAwD,OAAnE;;AAAA,sBAADzpH,CAAC;AAAA;AAAA;AAAA,OAAP;;AAA2E,SAAK0D,UAAL,CAAgB,CAACwjB,gEAAC,CAAClnB,CAAD,CAAF,EAAMsB,8DAAC,CAAE,MAAI,KAAKo+I,SAAX,EAAsB1/I,CAAtB,CAAP,EAAgCwB,6DAAC,CAAE,MAAI,KAAKonF,SAAX,EAAuB5oF,CAAC,IAAE;AAAC,WAAKq4C,SAAL,IAAgB,KAAKmoG,OAAL,CAAaxgJ,CAAb,CAAhB;AAAgC,KAA3D,EAA6D;AAACshB,MAAAA,OAAO,EAAC,CAAC,CAAV;AAAYnC,MAAAA,IAAI,EAAC,CAAC;AAAlB,KAA7D,CAAjC,CAAhB;AAAsI;;AAAAqhI,EAAAA,OAAO,CAACxgJ,CAAD,EAAG;AAACA,IAAAA,CAAC,KAAG,KAAKsuG,UAAL,CAAgBmyC,KAAhB,CAAsBzgJ,CAAtB,EAAwB,KAAK2uG,MAA7B,GAAqC,KAAKywC,SAAL,GAAe,CAAC,CAAxD,CAAD;AAA4D;;AAAAc,EAAAA,OAAO,CAAClgJ,CAAD,EAAG;AAAC,SAAKo/I,SAAL,KAAiB,KAAK9wC,UAAL,CAAgBrY,MAAhB,CAAuB,KAAK0Y,MAA5B,GAAoC,KAAKywC,SAAL,GAAe,CAAC,CAArE,GAAwEp/I,CAAC,EAAE0gJ,UAAH,EAAe32H,WAAf,CAA2B/pB,CAA3B,CAAxE;AAAsG;;AAAj7H,CAA9C;AAAi+HsL,CAAC,CAACwH,CAAD,CAAD,GAAK,CAAC,CAAN,EAAQxH,CAAC,CAACu0I,aAAF,GAAgB,KAAxB,EAA8B7/I,uDAAC,CAAC,CAACuC,uFAAC,EAAF,CAAD,EAAO+I,CAAC,CAACnD,SAAT,EAAmB,qBAAnB,EAAyC,KAAK,CAA9C,CAA/B,EAAgFnI,uDAAC,CAAC,CAACuC,uFAAC,CAAC;AAACmL,EAAAA,KAAK,EAAC;AAAP,CAAD,CAAF,CAAD,EAAmBpC,CAAC,CAACnD,SAArB,EAA+B,WAA/B,EAA2C,IAA3C,CAAjF,EAAkInI,uDAAC,CAAC,CAACoB,+EAAC,CAAC,WAAD,CAAF,CAAD,EAAkBkK,CAAC,CAACnD,SAApB,EAA8B,eAA9B,EAA8C,IAA9C,CAAnI,EAAuLnI,uDAAC,CAAC,CAACuC,uFAAC,EAAF,CAAD,EAAO+I,CAAC,CAACnD,SAAT,EAAmB,MAAnB,EAA0B,IAA1B,CAAxL,EAAwNnI,uDAAC,CAAC,CAACuC,uFAAC,EAAF,CAAD,EAAO+I,CAAC,CAACnD,SAAT,EAAmB,IAAnB,EAAwB,IAAxB,CAAzN,EAAuPnI,uDAAC,CAAC,CAACuC,uFAAC,EAAF,CAAD,EAAO+I,CAAC,CAACnD,SAAT,EAAmB,OAAnB,EAA2B,IAA3B,CAAxP,EAAyRnI,uDAAC,CAAC,CAACuC,uFAAC,EAAF,CAAD,EAAO+I,CAAC,CAACnD,SAAT,EAAmB,YAAnB,EAAgC,IAAhC,CAA1R,EAAgUnI,uDAAC,CAAC,CAACuC,uFAAC,EAAF,CAAD,EAAO+I,CAAC,CAACnD,SAAT,EAAmB,WAAnB,EAA+B,KAAK,CAApC,CAAjU,EAAwWnI,uDAAC,CAAC,CAACuC,uFAAC,EAAF,CAAD,EAAO+I,CAAC,CAACnD,SAAT,EAAmB,WAAnB,EAA+B,KAAK,CAApC,CAAzW,EAAgZnI,uDAAC,CAAC,CAACuC,uFAAC,CAAC;AAACmL,EAAAA,KAAK,EAAC,CAAC;AAAR,CAAD,CAAF,CAAD,EAAiBpC,CAAC,CAACnD,SAAnB,EAA6B,SAA7B,EAAuC,IAAvC,CAAjZ,EAA8bnI,uDAAC,CAAC,CAACuC,uFAAC,EAAF,CAAD,EAAO+I,CAAC,CAACnD,SAAT,EAAmB,KAAnB,EAAyB,KAAK,CAA9B,CAA/b,EAAgenI,uDAAC,CAAC,CAACuC,uFAAC,EAAF,CAAD,EAAO+I,CAAC,CAACnD,SAAT,EAAmB,UAAnB,EAA8B,KAAK,CAAnC,CAAje,EAAugBnI,uDAAC,CAAC,CAACuC,uFAAC,EAAF,CAAD,EAAO+I,CAAC,CAACnD,SAAT,EAAmB,aAAnB,EAAiC,KAAK,CAAtC,CAAxgB,EAAijBnI,uDAAC,CAAC,CAACuC,uFAAC,EAAF,CAAD,EAAO+I,CAAC,CAACnD,SAAT,EAAmB,aAAnB,EAAiC,KAAK,CAAtC,CAAljB,EAA2lBnI,uDAAC,CAAC,CAACuC,uFAAC,EAAF,CAAD,EAAO+I,CAAC,CAACnD,SAAT,EAAmB,cAAnB,EAAkC,KAAK,CAAvC,CAA5lB,EAAsoBmD,CAAC,GAACtL,uDAAC,CAAC,CAAC4B,uFAAC,CAACyE,CAAD,CAAF,CAAD,EAAQiF,CAAR,CAAzoB;AAAopB,MAAMI,CAAC,GAACJ,CAAR;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACJlqO;AACA;AACA;AACA;AAC4lB,SAAS,2DAA2D,oBAAoB,kDAAC,CAAC,iBAAiB,iDAAiD,+DAAC,mFAAmF,mBAAmB,OAAO,kFAAC,EAAE,WAAW,wxBAAoE,CAAC,EAAE,WAAW,8BAA8B,YAAY,+BAA+B,YAAY,sCAAsC,aAAa,gCAAgC,cAAc,uDAAuD,YAAY,sBAAsB,WAAW,2BAA2B,SAAS,SAAS,gDAAgD,EAAE,yBAAyB,iBAAiB,mBAAmB,eAAe,OAAO,4DAAC,QAAQ,0BAA0B,mEAAQ,IAAI,CAAC,4DAAC,mBAAmB,MAAM,yEAAc,iFAAiF,EAAE,4DAAC,mBAAmB,MAAM,yEAAc,mFAAmF,KAAK,uDAAC,EAAE,sFAAC,6BAA6B,uDAAC,EAAE,sFAAC,8BAA8B,uDAAC,EAAE,sFAAC,EAAE,iBAAiB,8BAA8B,uDAAC,EAAE,sFAAC,GAAG,oFAAC,+DAA+D,uDAAC,EAAE,sFAAC,6BAA6B,uDAAC,EAAE,sFAAC,EAAE,KAAK,+DAAC,CAAC,qCAAqC,uDAAC,EAAE,sFAAC,0BAA0B,UAA+B;;;;;;;;;;;;;;;;;;;;;;;ACJ5gE;AACA;AACA;AACA;AACqU,oBAAoB,yDAAC,CAAC,gBAAgB,yBAAyB,eAAe,kDAAkD,4BAA4B,iBAAiB,MAAM,OAAO,iBAAiB,eAAe,yCAAyC,4BAA4B,aAAa,qCAAqC,6DAA6D,uDAAC,EAAE,sFAAC,EAAE,YAAY,iCAAiC,uDAAC,EAAE,sFAAC,EAAE,YAAY,kCAAkC,uDAAC,EAAE,sFAAC,+BAA+B,uDAAC,EAAE,sFAAC,iCAAiC,uDAAC,EAAE,sFAAC,2CAA2C,UAA+B;;;;;;;;;;;;;;;;;;;;;;;ACJh9B;AACA;AACA;AACA;AACqU,oBAAoB,yDAAC,CAAC,gBAAgB,wBAAwB,iBAAiB,0BAA0B,uDAAC,EAAE,sFAAC,EAAE,YAAY,iCAAiC,uDAAC,EAAE,sFAAC,EAAE,YAAY,kCAAkC,uDAAC,EAAE,sFAAC,iCAAiC,uDAAC,EAAE,sFAAC,2CAA2C,UAA+B;;;;;;;;;;;;;;;;;;;;;;;;;;ACJxoB;AACA;AACA;AACA;AAC8c,oBAAoB,yDAAC,CAAC,eAAe,SAAS,UAAU,eAAe,gBAAgB,kEAAkE,iBAAiB,oEAAoE,YAAY,2CAA2C,YAAY,yCAAyC,4DAAC,EAAE,OAAO,2CAA2C,4DAAC,EAAE,OAAO,iDAAiD,SAAS,0BAA0B,kBAAkB,2CAA2C,wEAAC,SAAS,aAAa,GAAG,UAAU,2BAA2B,kBAAkB,4CAA4C,wEAAC,SAAS,cAAc,KAAK,uDAAC,EAAE,sFAAC,0CAA0C,uDAAC,EAAE,sFAAC,kCAAkC,uDAAC,EAAE,sFAAC,mCAAmC,uDAAC,EAAE,sFAAC,EAAE,YAAY,6BAA6B,uDAAC,EAAE,sFAAC,+BAA+B,uDAAC,EAAE,sFAAC,wCAAwC,UAA+B;;;;;;;;;;;;;;;;;;;;;;;;;ACJ16C;AACA;AACA;AACA;AAC+b,oBAAoB,wEAAiB,CAAC,eAAe,0FAA0F,4DAAC,OAAO,kDAAkD,0DAA0D,6CAA6C,6DAAC,oCAAoC,2CAA2C,KAAK,UAAU,eAAe,qBAAqB,MAAM,0CAA0C,gCAAgC,sEAAC,oBAAoB,2CAA2C,uDAAC,EAAE,sFAAC,mCAAmC,uDAAC,EAAE,sFAAC,uCAAuC,uDAAC,EAAE,sFAAC,gDAAgD,uDAAC,EAAE,sFAAC,iCAAiC,uDAAC,EAAE,sFAAC,oDAAoD,UAA+B;;;;;;;;;;;;;;;;;;;;;;;ACJpwC;AACA;AACA;AACA;AACkV,YAAY,sBAAsB,kBAAkB,kDAAkD,YAAY,MAAM,OAAO,MAAM,OAAO,4DAAC,0EAA0E,OAAO,uDAAC,EAAE,sFAAC,uCAAuC,uDAAC,EAAE,sFAAC,iCAAiC,uDAAC,EAAE,sFAAC,qCAA4D;;;;;;;;;;;;;;;;;;;;;ACJhsB;AACA;AACA;AACA;AAC4K,YAAY,qBAAqB,IAAI,aAAa,OAAO,mDAAC,KAAK,EAAE,GAAG,kCAAkC,wDAAC,CAAC,4DAAS,mBAAmB,IAAI,cAAc,OAAO,yDAAC,mBAAmB,kBAAkB,cAA8D;;;;;;;;;;;;;;;;;;;;;;;;ACJ7a;AACA;AACA;AACA;AAC8Z,oBAAoB,yDAAC,CAAC,eAAe,uGAAuG,aAAa,gBAAgB,6DAAC,QAAQ,gEAAgE,MAAM,oBAAoB,IAAI,2HAA2H,EAAE,kEAAC,GAAG,UAAU,iCAAiC,aAAa,yCAAyC,eAAe,0DAA0D,gBAAgB,gEAAgE,WAAW,yBAAyB,YAAY,wBAAwB,sCAAsC,gBAAgB,8EAA8E,2CAA2C,MAAM,eAAe,8DAA8D,cAAc,eAAe,EAAE,+EAA+E,6BAA6B,0HAA0H,4DAAC,uBAAuB,uDAAuD,GAAG,mBAAmB,eAAe,aAAa,kBAAkB,kBAAkB,yBAAyB,uDAAuD,eAAe,iEAAW,qBAAqB,uDAAC,EAAE,sFAAC,EAAE,iBAAiB,8BAA8B,uDAAC,EAAE,sFAAC,+BAA+B,uDAAC,EAAE,sFAAC,iCAAiC,uDAAC,EAAE,sFAAC,kCAAkC,uDAAC,EAAE,sFAAC,EAAE,WAAW,4BAA4B,uDAAC,EAAE,sFAAC,EAAE,sBAAsB,iCAAiC,uDAAC,EAAE,sFAAC,sDAA4F;;;;;;;;;;;;;;;;;;;;;;;;;;;ACJzwE;AACA;AACA;AACA;AACoe,6CAA6C,kBAAkB,EAAE,oBAAoB,EAAE,iBAAiB,EAAE,oBAAoB,EAAE,2BAA2B,EAAE,4BAA4B,EAAE,2BAA2B,EAAE,kCAAkC,EAAE,+CAA+C,EAAE,sDAAsD,EAAE,mDAAmD,EAAE,4BAA4B,oBAAoB,kDAAC,CAAC,iBAAiB,WAAW,mBAAmB,OAAO,0EAAC,EAAE,WAAW,wxBAAoE,CAAC,EAAE,SAAS,OAAO,oDAAC,QAAQ,aAAa,wBAAwB,iBAAiB,MAAM,6BAA6B,MAAM,UAAU,gHAAgH,+GAA+G,4BAA4B,OAAO,oDAAC,YAAY,gCAAgC,CAAC,oDAAC,sCAAsC,cAAc,MAAM,WAAW,MAAM,OAAO,oDAAC,YAAY,wBAAwB,CAAC,oDAAC,MAAM,iBAAiB,UAAU,kBAAkB,OAAO,oDAAC,QAAQ,gCAAgC,CAAC,oDAAC,CAAC,sDAAC,EAAE,mGAAmG,GAAG,qBAAqB,OAAO,oDAAC,YAAY,sCAAsC,iEAAiE,wBAAwB,sBAAsB,EAAE,OAAO,oDAAC,QAAQ,+EAA+E,CAAC,oDAAC,SAAS,6BAA6B,IAAI,oDAAC,SAAS,kDAAkD,kCAAkC,iBAAiB,MAAM,WAAW,MAAM,OAAO,oDAAC,QAAQ,gBAAgB,CAAC,oDAAC,mBAAmB,yGAAyG,sBAAsB,uDAAC,EAAE,sFAAC,iCAAiC,uDAAC,EAAE,sFAAC,2CAA2C,uDAAC,EAAE,sFAAC,mCAAmC,uDAAC,EAAE,sFAAC,oDAAoD,uDAAC,EAAE,sFAAC,gDAAgD,uDAAC,EAAE,sFAAC,uCAAuC,uDAAC,EAAE,sFAAC,gCAAgC,uDAAC,EAAE,sFAAC,oCAAoC,uDAAC,EAAE,sFAAC,+BAA+B,uDAAC,EAAE,sFAAC,wCAAwC,uDAAC,EAAE,sFAAC,sDAA4F;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACJx8F;AACA;AACA;AACA;AACmjB,8BAA8B,gBAAgB,EAAE,mBAAmB,EAAE,WAAW,oBAAoB,kDAAC,CAAC,iBAAiB,oCAAoC,+BAA+B,mBAAmB,OAAO,0EAAC,EAAE,UAAU,sVAAmE,YAAY,4OAAoE,YAAY,sdAAoE,CAAC,EAAE,SAAS,MAAM,6DAA6D,MAAM,OAAO,oDAAC,QAAQ,yBAAyB,CAAC,oDAAC,kBAAkB,cAAc,GAAG,oDAAC,mBAAmB,+CAA+C,WAAW,oDAAC,mBAAmB,6BAA6B,CAAC,uEAAC,uDAAuD,uDAAC,EAAE,sFAAC,kCAAkC,uDAAC,EAAE,sFAAC,mCAAmC,uDAAC,EAAE,sFAAC,sCAAsC,uDAAC,EAAE,sFAAC,gCAAgC,uDAAC,EAAE,sFAAC,GAAG,4EAAC,0DAA0D,uDAAC,EAAE,sFAAC,wCAAgE;;;;;;;;;;;;;;;;;;;;;ACJnnD;AACA;AACA;AACA;AACiO,MAAM,aAAa,IAAI,+FAAC,MAAM,MAAM,+FAAC,CAAC,+DAAC,CAAC,uDAAC,OAAO,cAAc,WAAW,4DAA4D,EAAE,qBAAqB,sCAAsC,sBAA8E;;;;;;;;;;;;;;;;;ACJjf;AACA;AACA;AACA;AACA,cAAc,yBAAyB,cAAc,8CAAkF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACJvI;AACA;AACA;AACA;AACshB,QAAQ,uDAAC,IAAI,wCAAwC,wHAAwH,MAAM,aAAa,sDAAsD,SAAS,GAAG,kJAAkJ,cAAc,OAAO,OAAO,0DAAC,gCAAgC,cAAc,oCAAoC,gBAAgB,qBAAqB,sDAAY,SAAS,gBAAgB,aAAa,uDAAC,aAAa,MAAM,QAAQ,iDAAO,EAAE,OAAO,EAAE,OAAO,uEAAuE,SAAS,QAAQ,mDAAS,IAAI,WAAW,EAAE,OAAO,yFAAyF,gBAAgB,aAAa,uDAAC,uBAAuB,eAAe,UAAU,gDAAgD,GAAG,cAAc,eAAe,0BAA0B,6EAAC,0BAA0B,uBAAuB,6EAAC,eAAe,uBAAuB,6EAAC,eAAe,8BAA8B,GAAG,6EAAC,iEAAiE,kBAAkB,2BAA2B,eAAe,kBAAkB,yDAAC,MAAM,uBAAuB,6DAAC,MAAM,uBAAuB,6DAAC,MAAM,8BAA8B,8DAAC,MAAM,qBAAqB,cAAc,MAAM,iFAAiF,GAAG,yBAAyB,MAAM,qBAAqB,CAAC,sDAAY,aAAa,uCAAuC,KAAK,uDAAC,GAAG,+CAAK,kIAAkI,2DAAU,MAAM,sDAAY,EAAE,4DAA4D,EAAE,OAAO,EAAE,0BAA0B,iBAAiB,OAAO,yBAAyB,OAAO,sDAAY,IAAI,OAAO,UAAU,cAAc,MAAM,kEAAkE,YAAY,qBAAqB,kBAAkB,WAAW,mBAAmB,iDAAiD,sDAAY,iBAAiB,qBAAqB,IAAI,uCAAuC,MAAM,SAAS,4DAA4D,EAAE,KAAK,aAAa,gCAAgC,MAAM,qBAAqB,IAAI,uCAAuC,GAAG,cAAc,4DAA4D,EAAE,0BAA0B,qBAAqB,YAAY,oBAAoB,IAAI,gBAAgB,sDAAsD,WAAW,cAAc,sDAAY,8CAA8C,cAAc,MAAM,oBAAoB,GAAG,oDAAoD,cAAc,MAAM,oBAAoB,GAAG,wBAAwB,yDAAC,wCAAwC,cAAc,eAAe,2BAA2B,4BAA4B,sDAAC,4EAA4E,EAAE,GAAG,oCAAoC,YAAY,IAAI,KAAK,oBAAoB,uBAAuB,mBAAmB,gBAAgB,UAAU,8BAA8B,qCAAqC,6CAA6C,gDAAgD,qBAAqB,cAAc,gFAAgF,cAAc,QAAQ,uDAAC,gBAAgB,QAAQ,sDAAY,MAAM,wBAAwB,cAAc,UAAU,uDAAC,IAAI,0DAAC,QAAQ,QAAQ,sDAAY,MAAM,wBAAwB,cAAc,cAAc,QAAQ,uDAAC,gBAAgB,QAAQ,mDAAS,IAAI,wBAAwB,cAAc,MAAM,uBAAuB,GAAG,8CAA8C,wBAAwB,4BAA4B,EAAE,MAAM,kBAAkB,GAAG,yBAAyB,UAAU,qCAAqC,MAAM,qCAAqC,MAAM,4CAA4C,aAAa,oDAAoD,EAAE,6EAA6E,cAAc,gBAAgB,yFAAyF,cAAc,gBAA01B;;;;;;;;;;;;;;;;;ACJzyL;AACA;AACA;AACA;AACoD,aAAa,qBAAqB,qEAAqE,UAAU,IAAI,OAAO,gBAAgB,cAAc,gBAAgB,8EAA8E,cAAc,wBAAwB,KAAK,gEAAC,wFAAuH;;;;;;;;;;;;;;;;ACJ/c;AACA;AACA;AACA;AACA,cAAc,cAAc,wHAAwH,4BAA4B,4BAA4B,GAA8B;;;;;;;;;;;;;;;;ACJ1O;AACA;AACA;AACA;AACA,cAAc,WAAW,4HAA4H,yDAAyD,cAAc,cAAc,uCAA4D;;;;;;;;;;;;;;;;ACJtS;AACA;AACA;AACA;AACA,SAAS,4vCAAmxC;;;;;;;;;;;;;;;;;;ACJ5xC;AACA;AACA;AACA;AAC4D,kBAAkB,OAAO,mFAAmF,iBAAiB,uBAAuB,IAAI,KAAK,WAAW,kGAAkG,iBAAiB,iBAAiB,mBAAmB,wBAAwB,8CAA8C,6EAA6E,SAAS,eAAe,2EAA2E,qBAAqB,4BAA4B,yEAAC,0BAA0B,iBAAiB,SAA2C;;;;;;;;;;;;;;;;;;;ACJzvB;AACA;AACA;AACA;AAC6H,eAAe,eAAe,gBAAgB,iBAAiB,yBAAyB,WAAW,mBAAmB,SAAS,wBAAwB,SAAS,sCAAsC,sGAAsG,wBAAwB,OAAO,qFAAqF,SAAS,kBAAkB,sDAAsD,EAAE,iBAAiB,2DAA2D,gEAAC,mCAAmC,EAAE,6DAAC,wBAAwB,GAAG,kBAAkB,mBAAmB,EAAE,iBAAiB,mCAAmC,cAAc,iBAAiB,mDAAmD,cAAc,8BAA8B,qDAAC,EAAuD;;;;;;;;;;;;;;;;ACJ/gC;AACA;AACA;AACA;AACA,SAAS,+gCAAuiC;;;;;;;;;;;;;;;;ACJhjC;AACA;AACA;AACA;AACA,2CAA+E;;;;;;;;;;;;;;;;;ACJ/E;AACA;AACA;AACA;AACA,sDAA0G;;;;;;;;;;;;;;;;;ACJ1G;AACA;AACA;AACA;AACA,gBAAgB,cAAc,sCAAsC,aAAa,gBAAoE;;;;;;;;;;;;;;;;;ACJrJ;AACA;AACA;AACA;AAC+C,UAAU,iEAAiE,cAAc,EAAE,EAAE,0CAA0C,SAAS,EAAE,EAAE,6CAA6C,SAAS,EAAE,EAAE,kEAAkE,mBAAmB,8BAA8B,EAAE,2DAA2D,mBAAmB,sBAAsB,EAAE,0DAA0D,mBAAmB,qBAAqB,EAAE,2DAA2D,mBAAmB,sBAAsB,EAAE,2DAA2D,mBAAmB,sBAAsB,EAAE,4DAA4D,mBAAmB,uBAAuB,EAAE,2DAA2D,mBAAmB,sBAAsB,EAAE,gDAAgD,mBAAmB,kBAAkB,EAAE,+CAA+C,mBAAmB,uBAAuB,EAAE,mDAAmD,mBAAmB,wBAAwB,EAAE,gDAAgD,mBAAmB,+BAA+B,EAAE,gBAAgB,mCAAmC,uCAAuC,eAAe,sCAAsC,wDAAC,CAAC,wDAAC,UAAU,sBAAsB,GAAG,kBAAkB,yBAAyB,SAAS,mDAAmD,gCAAgC,GAAG,WAAW,EAAE,GAAG,EAAE,OAA6B;;;;;;;;;;;;;;;;;;;ACJ1rD;AACA;AACA;AACA;AACA,gBAAgB,aAAa,UAAU,cAAc,gBAAgB,gBAAgB,WAAW,cAAc,YAAqG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACJnN;AACA;AACA;AACA;AAC0c,cAAc,sCAAsC,cAAc,uJAA6L;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACJzsB;AACA;AACA;AACA;AACA;AAA2C;AAAuC;AAAyE;AAA0B;AAA6B;AAAuE;AAAwE;AAA8D;;AAAkD,SAASzK,CAAT,CAAW,GAAGb,CAAd,EAAgB;AAAC,QAAMC,CAAC,GAACC,kEAAA,EAAR;;AAAoB,OAAI,IAAIA,CAAC,GAAC,CAAV,EAAYA,CAAC,GAACF,CAAC,CAAC6N,MAAhB,EAAuB3N,CAAC,EAAxB,EAA2B;AAAC,UAAMM,CAAC,GAACR,CAAC,CAACE,CAAD,CAAT;AAAA,UAAaS,CAAC,GAAC,OAAOH,CAAtB;AAAwB,QAAG,aAAWG,CAAd,EAAgBV,CAAC,CAAC6E,IAAF,CAAOtE,CAAP,EAAhB,KAA+B,IAAG+F,KAAK,CAACC,OAAN,CAAchG,CAAd,CAAH,EAAoBP,CAAC,CAAC6E,IAAF,CAAO+V,KAAP,CAAa5a,CAAb,EAAeO,CAAf,EAApB,KAA2C,IAAG,aAAWG,CAAd,EAAgB,KAAI,MAAMX,CAAV,IAAeQ,CAAf,EAAiBA,CAAC,CAACR,CAAD,CAAD,IAAMC,CAAC,CAAC6E,IAAF,CAAO9E,CAAP,CAAN;AAAgB;;AAAA,QAAMQ,CAAC,GAACP,CAAC,CAACumB,IAAF,CAAO,GAAP,CAAR;AAAoB,SAAOtmB,kEAAA,CAAUD,CAAV,GAAaO,CAApB;AAAsB;;AAAA,MAAMM,CAAC,GAAC,CAAC,MAAI;AAAC,QAAMd,CAAC,GAAC,IAAI2S,GAAJ,EAAR;AAAA,QAAgBzS,CAAC,GAAC,IAAI0gJ,cAAJ,CAAoB1gJ,CAAC,IAAE;AAACc,IAAAA,+DAAC;;AAAG,SAAI,MAAMf,CAAV,IAAeC,CAAf,EAAiBF,CAAC,CAAC8Z,GAAF,CAAM7Z,CAAC,CAACgI,MAAR,IAAkBhI,CAAlB;AAAqB,GAAlE,CAAlB;AAAA,QAAuFU,CAAC,GAAC,CAACV,CAAD,EAAGU,CAAH,EAAKP,CAAL,MAAUJ,CAAC,CAAC0F,GAAF,CAAMzF,CAAN,EAAQU,CAAR,GAAWT,CAAC,CAACwpH,OAAF,CAAUzpH,CAAV,EAAYG,CAAZ,CAAX,EAA0BI,gEAAC,CAAE,MAAI;AAACN,IAAAA,CAAC,CAACypH,SAAF,CAAY1pH,CAAZ,GAAeD,CAAC,CAAC4wB,MAAF,CAAS3wB,CAAT,CAAf;AAA2B,GAAlC,CAArC,CAAzF;;AAAoK,SAAM,CAACD,CAAD,EAAGE,CAAH,EAAKI,CAAL,KAAS;AAAC,QAAIU,CAAC,GAAC,IAAN;AAAW,WAAOf,kEAAC,CAAC,CAACG,6DAAC,CAAE,MAAI,cAAY,OAAOJ,CAAnB,GAAqBA,CAAC,EAAtB,GAAyBA,CAA/B,EAAmCA,CAAC,IAAE;AAACgB,MAAAA,CAAC,EAAEsC,MAAH,IAAYtD,CAAC,KAAGgB,CAAC,GAACL,CAAC,CAACX,CAAD,EAAGE,CAAH,EAAKI,CAAL,CAAN,CAAb;AAA4B,KAAnE,EAAqEI,kEAArE,CAAF,EAA0EF,gEAAC,CAAE,MAAIQ,CAAC,EAAEsC,MAAH,EAAN,CAA3E,CAAD,CAAR;AAA0G,GAArI;AAAsI,CAAhT,GAAR;;AAA4T,SAAS9B,CAAT,CAAWxB,CAAX,EAAa;AAAC,QAAME,CAAC,GAACF,CAAC,EAAE6gJ,OAAH,CAAW,OAAX,CAAR;AAA4B,SAAO,SAAO3gJ,CAAP,IAAUA,CAAC,YAAYuN,WAAvB,IAAoC,UAAQvN,CAAC,CAAC4gJ,GAA9C,IAAmD,UAAQnjI,QAAQ,CAACmjI,GAA3E;AAA+E;;AAAA,SAASl/I,CAAT,CAAW5B,CAAX,EAAa;AAAC,QAAME,CAAC,GAAC,eAAR;AAAwB,OAAKF,CAAC,CAACk8C,YAAF,CAAeh8C,CAAf,CAAL,IAAwB,IAAxB;AAA6B;;AAAA,SAASgB,CAAT,CAAWlB,CAAX,EAAa;AAAC,QAAME,CAAC,GAAC,eAAR;AAAwB,OAAKF,CAAC,CAACk8C,YAAF,CAAeh8C,CAAf,CAAL,IAAwBF,CAAxB;AAA0B;;AAAA,MAAM0B,CAAC,GAAC,CAAC,IAAD,EAAM,IAAN,EAAW,IAAX,EAAgB,IAAhB,EAAqB,IAArB,EAA0B,IAA1B,EAA+B,IAA/B,EAAoC,IAApC,EAAyC,IAAzC,EAA8C,KAA9C,EAAoD,KAApD,EAA0D,GAAG,CAAC,SAAD,EAAW,kBAAX,EAA8B,QAA9B,EAAuC,UAAvC,EAAkD,MAAlD,EAAyD,SAAzD,EAAmE,GAAnE,EAAuE,OAAvE,EAA+E,MAA/E,EAAsF,gBAAtF,EAAuG,QAAvG,EAAgH,MAAhH,EAAuH,MAAvH,EAA8H,SAA9H,EAAwI,SAAxI,EAAkJ,UAAlJ,EAA6J,gBAA7J,EAA8K,MAA9K,EAAqL,MAArL,EAA4L,KAA5L,EAAkM,QAAlM,EAA2M,QAA3M,EAAoN,MAApN,EAA2N,UAA3N,EAAsO,OAAtO,EAA8O,KAA9O,CAA7D,CAAR;AAAA,MAA2TO,CAAC,GAACP,CAAC,CAACoP,MAAF,CAAU,CAAC9Q,CAAD,EAAGE,CAAH,MAAQF,CAAC,CAACE,CAAD,CAAD,GAAK,EAAL,EAAQF,CAAhB,CAAV,EAA8B,EAA9B,CAA7T;AAAA,MAA+VsB,CAAC,GAAC,CAAC,OAAD,EAAS,OAAT,EAAiB,KAAjB,EAAuB,SAAvB,EAAiC,QAAjC,EAA0C,aAA1C,EAAwD,aAAxD,EAAsE,OAAtE,EAA8E,OAA9E,EAAsF,MAAtF,EAA6F,SAA7F,EAAuG,QAAvG,EAAgH,GAAhH,EAAoH,KAApH,EAA0H,MAA1H,EAAiI,QAAjI,EAA0I,QAA1I,EAAmJ,OAAnJ,EAA2J,MAA3J,EAAkK,cAAlK,EAAiL,aAAjL,EAA+L,UAA/L,EAA0M,QAA1M,EAAmN,UAAnN,EAA8N,SAA9N,EAAwO,QAAxO,EAAiP,KAAjP,EAAuP,KAAvP,EAA6P,KAA7P,EAAmQ,MAAnQ,EAA0Q,SAA1Q,EAAoR,WAApR,EAAgS,OAAhS,EAAwS,MAAxS,EAA+S,SAA/S,EAAyT,UAAzT,EAAoU,OAApU,EAA4U,QAA5U,EAAqV,QAArV,EAA8V,OAA9V,EAAsW,OAAtW,EAA8W,QAA9W,EAAuX,OAAvX,CAAjW;AAAA,MAAiuBF,CAAC,GAAC,IAAIpB,mEAAJ,CAAM;AAAC+gJ,EAAAA,SAAS,EAAC9+I,CAAX;AAAa++I,EAAAA,SAAS,EAAC,CAAChhJ,CAAD,EAAGE,CAAH,EAAKD,CAAL,KAAS;AAAC,UAAMO,CAAC,GAAE,GAAEN,CAAE,KAAID,CAAE,GAAnB;AAAsB,QAAGqB,CAAC,CAACwwB,QAAF,CAAW5xB,CAAX,CAAH,EAAiB,OAAOM,CAAP;AAAS,GAAjF;AAAkFygJ,EAAAA,cAAc,EAAC,CAAC,CAAlG;AAAoGC,EAAAA,kBAAkB,EAAC,CAAC,QAAD,EAAU,OAAV;AAAvH,CAAN,EAAiJ,CAAC,CAAlJ,CAAnuB;;AAAw3B,SAAS3+I,CAAT,CAAWvC,CAAX,EAAa;AAAC,SAAM,YAAUA,CAAV,IAAa,QAAMA,CAAzB;AAA2B;;SAAe+B;;;;;yMAAf,WAAiB/B,CAAjB,EAAmBE,CAAnB,EAAqB;AAAC,UAAMI,uEAAC,CAACK,gFAAC,CAACT,CAAD,CAAF,CAAP;AAAc,UAAMD,CAAC,GAAC,cAAY,OAAOD,CAAnB,GAAqBA,CAAC,EAAtB,GAAyBA,CAAjC;AAAmCC,IAAAA,CAAC,KAAG,cAAaA,CAAb,IAAgB,cAAY,OAAOA,CAAC,CAAC47H,QAArC,SAAoD57H,CAAC,CAAC47H,QAAF,EAApD,GAAiE57H,CAAC,YAAYwN,WAAb,IAA0BxN,CAAC,CAAC6iF,KAAF,EAA9F,CAAD;AAA0G;;;;;;;;;;;;;;;;;;;;ACJz1E;AACA;AACA;AACA;AACA;AACA;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,OAAO;AACxD;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,aAAa;;AAEb;;AAEA,WAAW;;AAEX;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,kCAAkC;AAClC;AACA;AACA;;AAEA,sCAAsC;AACtC,oCAAoC;AACpC,mCAAmC;AACnC,yCAAyC;AACzC,2CAA2C;AAC3C,4BAA4B;AAC5B,qCAAqC;AACrC,kCAAkC;AAClC,wCAAwC;AACxC,4CAA4C;AAC5C,2CAA2C;AAC3C,4CAA4C;AAC5C,kDAAkD;AAClD,uCAAuC;AACvC,6CAA6C;AAC7C,kDAAkD;AAClD,gCAAgC;AAChC,4CAA4C;AAC5C,kCAAkC;AAClC,6CAA6C;AAC7C,uCAAuC;AACvC,wCAAwC;AACxC,wCAAwC;AACxC,yCAAyC;AACzC,2CAA2C;AAC3C,yCAAyC;AACzC,uCAAuC;AACvC,uCAAuC;AACvC,gCAAgC;AAChC,8BAA8B;AAC9B,uCAAuC;AACvC,uCAAuC;AACvC,uCAAuC;AACvC,8BAA8B;AAC9B,qCAAqC;AACrC,2CAA2C;AAC3C,iDAAiD;AACjD,kDAAkD;AAClD,2CAA2C;AAC3C,2CAA2C;AAC3C,uCAAuC;AACvC,oCAAoC;AACpC,oCAAoC;AACpC,2CAA2C;AAC3C,2CAA2C;AAC3C,0CAA0C;AAC1C,2CAA2C;AAC3C,0CAA0C;AAC1C,mCAAmC;AACnC,yCAAyC;AACzC,yCAAyC;AACzC,yCAAyC;AACzC,qCAAqC;AACrC,oCAAoC;AACpC,0CAA0C;AAC1C,0CAA0C;AAC1C,0CAA0C;AAC1C,sCAAsC;AACtC,oCAAoC;AACpC,kCAAkC;AAClC,wCAAwC;AACxC,8CAA8C;AAC9C,+CAA+C;AAC/C,wCAAwC;AACxC,wCAAwC;AACxC,oCAAoC;AACpC,+BAA+B;AAC/B,4CAA4C;AAC5C,kCAAkC;AAClC,kCAAkC;AAClC,gCAAgC;AAChC,oCAAoC;AACpC,mCAAmC;AACnC,oCAAoC;AACpC,oCAAoC;AACpC,qCAAqC;AACrC,+BAA+B;AAC/B,6BAA6B;AAC7B,6BAA6B;AAC7B,kCAAkC;AAClC,kCAAkC;AAClC,6BAA6B;AAC7B,mDAAmD;AACnD,qCAAqC;AACrC,oCAAoC;AACpC,mCAAmC;AACnC,oCAAoC;AACpC,0CAA0C;AAC1C,0CAA0C;AAC1C,0CAA0C;AAC1C,oCAAoC;AACpC,qCAAqC;AACrC,gCAAgC;AAChC,gCAAgC;AAChC,gCAAgC;AAChC,0CAA0C;AAC1C,sCAAsC;AACtC,oCAAoC;AACpC,6BAA6B;AAC7B,4BAA4B;AAC5B,kCAAkC;AAClC,mCAAmC;AACnC,+BAA+B;AAC/B,kCAAkC;AAClC,+BAA+B;AAC/B,sCAAsC;AACtC,oCAAoC;AACpC,uCAAuC;AACvC,0CAA0C;AAC1C,kCAAkC;AAClC,oCAAoC;AACpC,+BAA+B;AAC/B,6BAA6B;AAC7B,mCAAmC;AACnC,uCAAuC;AACvC,kCAAkC;AAClC,kCAAkC;AAClC,oCAAoC;AACpC,kCAAkC;AAClC,8BAA8B;AAC9B,qCAAqC;AACrC,oCAAoC;AACpC,sCAAsC;AACtC,kCAAkC;AAClC,kCAAkC;AAClC,4BAA4B;AAC5B,mCAAmC;AACnC,6CAA6C;AAC7C,oCAAoC;AACpC,8CAA8C;AAC9C,iCAAiC;AACjC,wCAAwC;AACxC,oCAAoC;AACpC,kCAAkC;AAClC,sCAAsC;AACtC,oCAAoC;AACpC,+CAA+C;AAC/C,yCAAyC;AACzC,+CAA+C;AAC/C,8CAA8C;AAC9C,4CAA4C;AAC5C,6CAA6C;AAC7C,mCAAmC;AACnC,6BAA6B;AAC7B,kCAAkC;AAClC,0CAA0C;AAC1C,uCAAuC;AACvC,uCAAuC;AACvC,oCAAoC;AACpC,wCAAwC;AACxC,0CAA0C;AAC1C,iCAAiC;AACjC,qCAAqC;AACrC,uCAAuC;AACvC,sCAAsC;AACtC,4CAA4C;AAC5C,8CAA8C;AAC9C,2CAA2C;AAC3C,4CAA4C;AAC5C,8BAA8B;AAC9B,gCAAgC;AAChC,6BAA6B;AAC7B,0CAA0C;AAC1C,yCAAyC;AACzC,iCAAiC;AACjC,wCAAwC;AACxC,yCAAyC;AACzC,wCAAwC;AACxC,sCAAsC;AACtC,qCAAqC;AACrC,6BAA6B;AAC7B,sCAAsC;AACtC,sCAAsC;AACtC,yCAAyC;AACzC,mCAAmC;AACnC,kCAAkC;AAClC,oCAAoC;AACpC,kCAAkC;AAClC,sCAAsC;AACtC,2CAA2C;AAC3C,4CAA4C;AAC5C,+CAA+C;AAC/C,kCAAkC;AAClC,wCAAwC;AACxC,2CAA2C;AAC3C,uCAAuC;AACvC,8BAA8B;AAC9B,qCAAqC;AACrC,mCAAmC;AACnC,oCAAoC;AACpC,kCAAkC;AAClC,sCAAsC;AACtC,oCAAoC;AACpC,8BAA8B;AAC9B,6BAA6B;AAC7B,iCAAiC;AACjC,wCAAwC;AACxC,wCAAwC;AACxC,uCAAuC;AACvC,wCAAwC;AACxC,uCAAuC;AACvC,kCAAkC;AAClC,mCAAmC;AACnC,oCAAoC;AACpC,sCAAsC;AACtC,oCAAoC;AACpC,kCAAkC;AAClC,yCAAyC;AACzC,kCAAkC;AAClC,kCAAkC;AAClC,kCAAkC;AAClC,iCAAiC;AACjC,kCAAkC;AAClC,iCAAiC;AACjC,gCAAgC;AAChC,iCAAiC;AACjC,kCAAkC;AAClC,iCAAiC;AACjC,kCAAkC;AAClC,+BAA+B;AAC/B,mCAAmC;AACnC,wCAAwC;AACxC,gCAAgC;AAChC,8BAA8B;AAC9B,gCAAgC;AAChC,gCAAgC;AAChC,sCAAsC;AACtC,uCAAuC;AACvC,sCAAsC;AACtC,sCAAsC;AACtC,iCAAiC;AACjC,sCAAsC;AACtC,mCAAmC;AACnC,mCAAmC;AACnC,+BAA+B;AAC/B,sCAAsC;AACtC,oCAAoC;AACpC,qCAAqC;AACrC,mCAAmC;AACnC,6BAA6B;AAC7B,yCAAyC;AACzC,0CAA0C;AAC1C,0CAA0C;AAC1C,oCAAoC;AACpC,8BAA8B;AAC9B,oCAAoC;AACpC,qCAAqC;AACrC,oCAAoC;AACpC,2CAA2C;AAC3C,8BAA8B;AAC9B,oCAAoC;AACpC,oCAAoC;AACpC,iCAAiC;AACjC,2CAA2C;AAC3C,+BAA+B;AAC/B,wCAAwC;AACxC,+BAA+B;AAC/B,6BAA6B;AAC7B,mCAAmC;AACnC,oCAAoC;AACpC,iCAAiC;AACjC,8BAA8B;AAC9B,iCAAiC;AACjC,uCAAuC;AACvC,mCAAmC;AACnC,mCAAmC;AACnC,sCAAsC;AACtC,8CAA8C;AAC9C,sCAAsC;AACtC,qCAAqC;AACrC,6BAA6B;AAC7B,8BAA8B;AAC9B,iCAAiC;AACjC,qCAAqC;AACrC,sCAAsC;AACtC,0CAA0C;AAC1C,oCAAoC;AACpC,+BAA+B;AAC/B,mCAAmC;AACnC,iCAAiC;AACjC,qCAAqC;AACrC,kCAAkC;AAClC,uCAAuC;AACvC,4CAA4C;AAC5C,uCAAuC;AACvC,6CAA6C;AAC7C,4CAA4C;AAC5C,4CAA4C;AAC5C,6CAA6C;AAC7C,qCAAqC;AACrC,2CAA2C;AAC3C,8CAA8C;AAC9C,2CAA2C;AAC3C,mCAAmC;AACnC,mCAAmC;AACnC,oCAAoC;AACpC,wCAAwC;AACxC,qCAAqC;AACrC,mCAAmC;AACnC,2CAA2C;AAC3C,sCAAsC;AACtC,+CAA+C;AAC/C,iCAAiC;AACjC,4BAA4B;AAC5B,kCAAkC;AAClC,yCAAyC;AACzC,wCAAwC;AACxC,mCAAmC;AACnC,yCAAyC;AACzC,4CAA4C;AAC5C,4CAA4C;AAC5C,mDAAmD;AACnD,qCAAqC;AACrC,uCAAuC;AACvC,mCAAmC;AACnC,sCAAsC;AACtC,uCAAuC;AACvC,qCAAqC;AACrC,oCAAoC;AACpC,oCAAoC;AACpC,mCAAmC;AACnC,qCAAqC;AACrC,qCAAqC;AACrC,+BAA+B;AAC/B,oCAAoC;AACpC,+BAA+B;AAC/B,6BAA6B;AAC7B,oCAAoC;AACpC,kCAAkC;AAClC,oCAAoC;AACpC,iCAAiC;AACjC,kCAAkC;AAClC,qCAAqC;AACrC,qCAAqC;AACrC,gCAAgC;;AAEhC;AACA;;;AAGA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB,YAAY;AACZ;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB,YAAY;AACZ;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB,YAAY;AACZ;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,gCAAgC,OAAO;AACvC;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,gCAAgC,OAAO;AACvC;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;;AAGA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,WAAW,UAAU;AACrB;AACA,YAAY;AACZ;AACA;AACA;AACA,gCAAgC,YAAY;AAC5C;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sCAAsC;AACtC;AACA;AACA;AACA;AACA;;AAEA,SAAS,eAAe;AACxB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA,MAAM;AACN;AACA,MAAM,iBAAiB;AACvB,+BAA+B;AAC/B;AACA;AACA,MAAM;AACN;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;;AAGA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,YAAY;AACZ;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,QAAQ,QAAQ;AAChB,QAAQ,UAAU;AAClB,QAAQ,UAAU;AAClB,QAAQ,UAAU;AAClB;AACA;AACA,6CAA6C;AAC7C;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,QAAQ;AACR;AACA;;AAEA,MAAM;;AAEN;AACA;AACA;AACA;;AAEA;AACA,GAAG;;AAEH;AACA;;;AAGA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;;AAGA;AACA;AACA;AACA,YAAY,QAAQ;AACpB,YAAY,QAAQ;AACpB,aAAa;AACb;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA,EAAE;;AAEF;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,gCAAgC,OAAO;AACvC;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,gCAAgC,OAAO;AACvC;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;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;;AAEA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB,YAAY;AACZ;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB,YAAY;AACZ;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB,YAAY;AACZ;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB,YAAY;AACZ;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA;AACA,sCAAsC,2BAA2B;AACjE;;AAEA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB,YAAY;AACZ;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,4BAA4B;AAC5B,4CAA4C;AAC5C,sCAAsC;AACtC,0CAA0C;AAC1C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,YAAY,QAAQ;AACpB;AACA;AACA,0CAA0C;AAC1C;;AAEA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,YAAY,QAAQ;AACpB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,YAAY;AACZ;AACA;AACA;AACA,oCAAoC,SAAS;AAC7C;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,UAAU;AACrB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAU;AACV;AACA;AACA;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,YAAY;AACZ;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,WAAW,UAAU;AACrB,WAAW,UAAU;AACrB,YAAY;AACZ;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,qCAAqC,kBAAkB;AACvD;AACA;AACA;AACA;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;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,WAAW,UAAU;AACrB,YAAY;AACZ;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,kBAAkB,SAAS;AAC3B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAU;AACV;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAU;AACV;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAU;AACV;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;;AAEA;AACA;;AAEA;AACA,SAAS,gBAAgB;AACzB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,SAAS,gBAAgB;AACzB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,SAAS,OAAO;AAChB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;;AAEA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,YAAY;AACZ;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,YAAY;AACZ,QAAQ,QAAQ;AAChB,QAAQ,SAAS;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP,MAAM;AACN;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA;AACA;AACA,cAAc,iCAAiC;AAC/C;AACA;AACA,2CAA2C;;AAE3C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,cAAc;AACd;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA,SAAS;;AAET;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,YAAY,QAAQ;AACpB,YAAY,QAAQ,UAAU;AAC9B,aAAa;AACb;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE;;AAEF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE;;AAEF;;AAEA;AACA;AACA,WAAW,GAAG;AACd,aAAa,SAAS;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sDAAsD,0CAA0C,8pBAA8pB;AAC9vB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;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,wBAAwB;AACxB,wBAAwB;AACxB,wBAAwB;AACxB,wBAAwB;AACxB,wBAAwB;AACxB,wBAAwB;AACxB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qCAAqC;AACrC;AACA;AACA;AACA;AACA;AACA,qDAAqD;AACrD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yBAAyB;AACzB;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA,qCAAqC;AACrC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,KAAK;AACpB,iBAAiB,KAAK;AACtB;AACA;AACA;AACA,kCAAkC;AAClC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,QAAQ;AACvB,iBAAiB,+BAA+B;AAChD,iBAAiB,QAAQ;AACzB;AACA;AACA,uEAAuE;AACvE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,QAAQ;AACvB,eAAe,QAAQ;AACvB,eAAe,QAAQ;AACvB,eAAe,gBAAgB;AAC/B,iBAAiB,QAAQ;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,KAAK;AACpB,iBAAiB;AACjB;AACA;AACA;AACA,kCAAkC;AAClC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yBAAyB,YAAY,OAAO;AAC5C;AACA,eAAe,QAAQ;AACvB,iBAAiB,QAAQ;AACzB;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,wDAAwD,cAAc,YAAY;AAClF;AACA,eAAe,QAAQ;AACvB,iBAAiB,QAAQ;AACzB;AACA;AACA;AACA;AACA;AACA;AACA,6EAA6E;AAC7E;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,QAAQ,GAAG;AAC1B,qBAAqB;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,QAAQ;AACvB,iBAAiB,iBAAiB;AAClC;AACA;AACA;AACA;AACA,kCAAkC;AAClC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB,IAAI;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,QAAQ;AACvB,iBAAiB,QAAQ;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAE0C;;;;;;;;;;;;;;;;;;ACrmE3C;AACA;AACA;AACA;AACA;AACsD;;AAEtD,wBAAwB,0EAAe;AACvC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+BAA+B,gBAAgB,QAAQ,MAAM,GAAG,QAAQ;AACxE;AACA;;AAEmD;;;;;;;;;;;;;;;;;;;;AC3BnD;AACA;AACA;AACA;AACA;AACsD;;AAEtD;AACA;AACA;AACA;AACA;AACA,yBAAyB,0EAAe,IAAI,0EAAe;AAC3D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6CAA6C,SAAS,SAAS,UAAU,cAAc,SAAS;AAChG;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEiE;;;;;;;;;;;;;;;;;;;;;;;;AClCjE;AACA;AACA;AACA;AACA;AAC8D;AACd;AACF;AAC2D;;AAEzG;AACA;A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AAChE;;AAEA;AACA;AACA,WAAW,UAAU;AACrB;AACA;AACA;AACA,kBAAkB,sEAAe;AACjC;AACA;AACA;;AAEA;AACA,WAAW,UAAU;AACrB;AACA;AACA;AACA,uBAAuB,sEAAe;AACtC;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wBAAwB,mCAAmC;AAC3D;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,mBAAmB,2DAAY;AAC/B;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6BAA6B,0DAAW;AACxC;AACA;AACA,KAAK;AACL,kBAAkB,+DAAmB;AACrC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL,cAAc,2DAAY;;AAE1B;;AAEA;AACA;AACA;AACA;AACA;;AAEA,WAAW;AACX;;AAEA;AACA;AACA;AACA,UAAU,gBAAgB;AAC1B;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA,IAAI;AACJ;AACA,UAAU,yDAAO,6BAA6B,KAAK,uBAAuB,OAAO;AACjF;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,MAAM,iEAAgB,CAAC,8DAAa;AACpC;AACA;AACA,OAAO;AACP;AACA;;AAEA;AACA;AACA;AACA;AACA,OAAO,uDAAQ;;AAEf;AACA;AACA,SAAS,uDAAQ;AACjB;AACA,SAAS,uDAAQ;AACjB,IAAI;AACJ,SAAS,uDAAQ;AACjB,SAAS,uDAAQ;AACjB;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAU,uDAAQ;AAClB;AACA;AACA,SAAS,uDAAQ;AACjB;AACA;AACA;AACA,IAAI;AACJ,SAAS,uDAAQ;AACjB;;AAEA;AACA,SAAS,uDAAQ;;AAEjB;AACA;AACA,WAAW,uDAAQ;AACnB;AACA;;AAEA;AACA;AACA;AACA,MAAM;AACN;AACA,WAAW,uDAAQ;AACnB;AACA,WAAW,uDAAQ;AACnB,MAAM;AACN;AACA,WAAW,uDAAQ;AACnB;AACA,WAAW,uDAAQ;AACnB;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH,6BAA6B,yDAAgB;;AAE7C;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB,wDAAY;AACjC;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,eAAe,gEAAa,YAAY,gEAAoB;AAC5D;AACA;AACA;;AAEA,cAAc,kEAAiB;;AAE/B;;AAEA;AACA,OAAO,0DAAW;AAClB;AACA,UAAU,0DAAW;AACrB;AACA;AACA;;AAEA,oBAAoB,8EAAuB,SAAS,yEAAkB;AACtE;AACA;AACA;;AAEA;AACA;AACA,IAAI;AACJ,SAAS,wDAAY;AACrB;;AAEA,wBAAwB,kBAAkB;AAC1C;;AAEA;AACA,gBAAgB,0DAAW;AAC3B;AACA,UAAU,sDAAO;AACjB;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,UAAU;AA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pF;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA,aAAa,QAAQ;AACrB,uDAAuD;AACvD,qDAAqD;AACrD,cAAc;AACd;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;;AAEA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;;AAEA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;;AAEA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;;AAEA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;;AAEA;AACA;AACA,eAAe;AACf;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,eAAe;AACf;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,eAAe;AACf;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,eAAe;AACf;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA,0BAA0B,yEAAkB;AAC5C;;AAEA;AACA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA,0BAA0B,uDAAW,YAAY,kBAAkB;AACnE;;AAEA;AACA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA,0BAA0B,uDAAW,WAAW,kBAAkB;AAClE;;AAEA;AACA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA,0BAA0B,yDAAa,YAAY,kBAAkB;AACrE;;AAEA;AACA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA,0BAA0B,yDAAa,WAAW,kBAAkB;AACpE;;AAEA;AACA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP,MAAM;AACN;AACA;AACA;;AAEA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP,MAAM;AACN;AACA;AACA;;AAEA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;;AAEA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;AACA,MAAM;AACN;AACA,iCAAiC,kBAAkB;AACnD,iCAAiC,UAAU;AAC3C;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,eAAe;AACf;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB,2DAAY;AAChC;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4BAA4B,SAAS,iBAAiB,SAAS;AAC/D;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA,WAAW,yDAAU;AACrB;;AAEA;AACA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA,WAAW,0DAAW;AACtB;;AAEA;AACA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA,0BAA0B,yDAAU;AACpC;;AAEA;AACA;AACA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA,0BAA0B,8DAAe;AACzC;;AAEA;AACA;AACA,uCAAuC,gBAAgB;AACvD,uCAAuC,gBAAgB;AACvD,YAAY;AACZ;AACA;AACA;AACA,QAAQ,8DAAe;AACvB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,aAAa,QAAQ;AACrB,cAAc;AACd;AACA,iCAAiC;AACjC,YAAY,oCAAoC,EAAE,iEAAgB;AAClE;AACA;AACA;AACA,aAAa;AACb;;AAEA;;AAEA;AACA;AACA;AACA,oBAAoB,uBAAuB;AAC3C,aAAa,QAAQ;AACrB,aAAa,QAAQ,QAAQ;AAC7B,cAAc;AACd;AACA,6BAA6B;AAC7B,wBAAwB,0EAAwB;AAChD;;AAEA;AACA;AACA;AACA;AACA,cAAc;AACd;AACA;AACA,wBAAwB,gEAAoB;AAC5C;;AAEA;AACA;AACA;AACA,wMAAwM,oBAAoB,uBAAuB,wBAAwB,KAAK,sBAAsB;AACtS,aAAa,aAAa,iOAAiO,qBAAqB;AAChR,aAAa,QAAQ;AACrB,aAAa,SAAS;AACtB,cAAc;AACd;AACA,kBAAkB,kDAAkD,IAAI;AACxE,WAAW,gEAAa,OAAO,gEAAoB;AACnD;AACA;AACA,MAAM;AACN;AACA,MAAM;AACN;AACA;AACA;AACA;AACA;AACA;AACA,2BAA2B,iBAAiB;AAC5C;AACA;;AAEA;AACA;AACA,aAAa,QAAQ;AACrB,wDAAwD,iBAAiB;AACzE,cAAc;AACd;AACA,gBAAgB,0CAA0C,IAAI;AAC9D,iCAAiC,yCAAyC;AAC1E,yBAAyB,KAAK;AAC9B;;AAEA;AACA;AACA,+CAA+C,QAAQ;AACvD;AACA,cAAc;AACd;AACA;AACA,8BAA8B,QAAQ;AACtC;;AAEA;AACA;AACA,8CAA8C,6BAA6B,4BAA4B,KAAK,uBAAuB;AACnI;AACA;AACA;AACA,aAAa,QAAQ;AACrB,uBAAuB,YAAY;AACnC,uBAAuB,qBAAqB;AAC5C,uBAAuB,YAAY;AACnC,uBAAuB,0BAA0B;AACjD,cAAc;AACd;AACA;AACA;;AAEA,uBAAuB,8DAAe;AACtC,YAAY,kCAAkC,EAAE,0EAAmB;;AAEnE;AACA,SAAS,0DAAW;AACpB,SAAS,0DAAW;AACpB,SAAS,0DAAW;AACpB,yBAAyB,0DAAW;AACpC,4BAA4B,0DAAW;AACvC,0BAA0B,0DAAW,uBAAuB,0DAAW;AACvE;AACA;;AAEA;AACA,gBAAgB,sEAA6B;AAC7C;AACA;AACA;;AAEA;AACA,gBAAgB,sEAA6B;AAC7C;;AAEA;AACA;AACA,cAAc,sEAAe;AAC7B,UAAU,GAAG,sEAAe,0DAA0D;AACtF;AACA;AACA;AACA,MAAM,UAAU,0DAAW;AAC3B,cAAc,yEAAkB,GAAG,GAAG,yEAAkB,yBAAyB;AACjF,MAAM;AACN,gBAAgB;;AAEhB;AACA;AACA,UAAU,0DAAW;AACrB,6BAA6B,0DAAW;AACxC;AACA;;AAEA;AACA,yBAAyB,OAAO;AAChC;;AAEA;AACA;AACA;AACA,wOAAwO,WAAW,kDAAkD,SAAS;AAC9S,aAAa,wBAAwB;AACrC;AACA,oCAAoC,aAAa;AACjD,oCAAoC,SAAS;AAC7C,oCAAoC,UAAU;AAC9C,oCAAoC,uBAAuB;AAC3D,wDAAwD,uBAAuB;AAC/E,cAAc;AACd;AACA;AACA;AACA,gBAAgB,qEAAyB;AACzC;AACA;;AAEA;AACA;AACA,UAAU;AACV,aAAa,wBAAwB;AACrC,YAAY;AACZ;AACA;AACA;AACA,gBAAgB,qEAAyB;AACzC;AACA;;AAEA;AACA;AACA,aAAa,QAAQ;AACrB,aAAa,QAAQ;AACrB,aAAa,SAAS;AACtB,uEAAuE;AACvE,sEAAsE;AACtE,sEAAsE;AACtE,4EAA4E;AAC5E,6EAA6E;AAC7E,cAAc;AACd;AACA,kBAAkB,yBAAyB,IAAI;AAC/C;;AAEA,gBAAgB;AAChB,uBAAuB,kEAAsB;AAC7C;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;AACA,gBAAgB,UAAU;AAC1B;AACA;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,aAAa,QAAQ;AACrB,aAAa,QAAQ;AACrB,aAAa,SAAS;AACtB,iEAAiE;AACjE,gEAAgE;AAChE,gEAAgE;AAChE,sEAAsE;AACtE,uEAAuE;AACvE,cAAc;AACd;AACA;AACA;AACA,oBAAoB,WAAW;AAC/B;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA,qCAAqC,+BAA+B;AACpE;AACA,aAAa,QAAQ;AACrB,aAAa,QAAQ;AACrB;AACA;AACA,uDAAuD,cAAc;AACrE;AACA,cAAc;AACd;AACA,yBAAyB;AACzB;AACA,QAAQ,iEAAgB;AACxB;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,wBAAwB,QAAQ;AAChC,aAAa,QAAQ;AACrB,+CAA+C;AAC/C,kEAAkE;AAClE,iEAAiE;AACjE,kEAAkE,cAAc,GAAG;AACnF,mEAAmE;AACnE,sEAAsE;AACtE,8CAA8C,gDAAgD,GAAG;AACjG,8CAA8C,sFAAsF,GAAG;AACvI,8CAA8C,sDAAsD,GAAG;AACvG,cAAc;AACd;AACA,8BAA8B,yDAAkB,WAAW;AAC3D;AACA,QAAQ,iEAAgB;AACxB;AACA;;AAEA;AACA;AACA;AACA;AACA,kBAAkB,QAAQ;AAC1B,8CAA8C;AAC9C,gDAAgD,0BAA0B;AAC1E,gDAAgD,6BAA6B;AAC7E,gDAAgD,4BAA4B;AAC5E,gDAAgD,6BAA6B;AAC7E,gDAAgD;AAChD;AACA;AACA,yBAAyB;AACzB;AACA,QAAQ,iEAAgB;AACxB;AACA;;AAEA;AACA;AACA,aAAa,QAAQ;AACrB,aAAa,SAAS;AACtB,aAAa,SAAS;AACtB,aAAa,SAAS;AACtB,aAAa,SAAS;AACtB,aAAa,QAAQ;AACrB;AACA;AACA,qCAAqC,sBAAsB;AAC3D,qCAAqC,iBAAiB;AACtD,cAAc;AACd;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI,IAAI;AACR;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,aAAa,QAAQ;AACrB,aAAa,QAAQ;AACrB;AACA,oDAAoD,iBAAiB;AACrE,cAAc;AACd;AACA,cAAc,sBAAsB,IAAI;AACxC;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,cAAc;AACd;AACA;AACA;AACA;;AAEA;AACA;AACA,aAAa,QAAQ;AACrB,aAAa,SAAS;AACtB,aAAa,SAAS;AACtB,aAAa,SAAS;AACtB,aAAa,SAAS;AACtB,aAAa,SAAS;AACtB,aAAa,QAAQ;AACrB,mCAAmC,qBAAqB;AACxD,mCAAmC,kDAAkD,cAAc,uBAAuB;AAC1H,mCAAmC,qBAAqB,cAAc,iBAAiB;AACvF,mCAAmC,qBAAqB,cAAc,qBAAqB;AAC3F,cAAc;AACd;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI,IAAI;AACR;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,cAAc;AACd;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc;AACd;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,cAAc;AACd;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,aAAa,QAAQ;AACrB,aAAa,SAAS;AACtB,aAAa,SAAS;AACtB,aAAa,SAAS;AACtB;AACA;AACA,qCAAqC,sBAAsB;AAC3D,qCAAqC,oBAAoB;AACzD,cAAc;AACd;AACA,cAAc,uEAAuE,IAAI;AACzF;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,aAAa,QAAQ;AACrB,aAAa,SAAS;AACtB,aAAa,SAAS;AACtB,aAAa,SAAS;AACtB;AACA;AACA,kDAAkD,sBAAsB;AACxE,kDAAkD,mBAAmB;AACrE,cAAc;AACd;AACA,iBAAiB;AACjB;AACA;AACA;;AAEA,cAAc,kBAAkB,EAAE,qBAAqB;AACvD;;AAEA;AACA;AACA,cAAc;AACd;AACA;AACA;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA;AACA;AACA,yBAAyB,MAAM,aAAa,UAAU,eAAe,YA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;AAC1E,eAAe,sCAAsC;AACrD,eAAe,oBAAoB;AACnC,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA,oCAAoC,oCAAoC,GAAG;AAC3E;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA,SAAS,0DAAW;AACpB;AACA;AACA;;AAEA;AACA,gDAAgD,oBAAoB;AACpE;AACA;AACA;AACA;AACA;AACA;AACA,gDAAgD,sBAAsB,KAAK,sBAAsB;AACjG;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA,GAAG;;AAEH;AACA,uBAAuB,kCAAkC,iBAAiB;AAC1E;AACA,SAAS,0DAAW;AACpB;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,4VAA4V,0BAA0B,qBAAqB;AAC3Y;AACA;AACA;AACA,6CAA6C,0BAA0B,GAAG,0BAA0B,MAAM,uBAAuB;AACjI,8BAA8B,qBAAqB,GAAG,sBAAsB,GAAG,qBAAqB,GAAG,oBAAoB,GAAG,qBAAqB,GAAG,uBAAuB,GAAG,uBAAuB,GAAG,6BAA6B;AACvO,6BAA6B,uBAAuB,KAAK,gCAAgC;AACzF,qEAAqE,oBAAoB,GAAG,qBAAqB,GAAG,yBAAyB,GAAG,mBAAmB,GAAG,2BAA2B,GAAG,uBAAuB,OAAO,sBAAsB;AACxP,yEAAyE,kBAAkB,GAAG,qBAAqB,GAAG,wBAAwB,OAAO;AACrJ;AACA;AACA;AACe;AACf;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6BAA6B,8DAAa;AAC1C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,aAAa,QAAQ;AACrB,aAAa,QAAQ;AACrB,aAAa,QAAQ;AACrB,aAAa,QAAQ;AACrB,aAAa,QAAQ;AACrB,cAAc;AACd;AACA;AACA,iCAAiC,qBAAqB;AACtD;;AAEA;AACA;AACA;AACA,aAAa,QAAQ;AACrB,aAAa,QAAQ;AACrB,aAAa,QAAQ;AACrB,aAAa,QAAQ;AACrB,aAAa,QAAQ;AACrB,aAAa,QAAQ;AACrB,aAAa,QAAQ;AACrB,aAAa,QAAQ;AACrB,aAAa,QAAQ;AACrB,aAAa,QAAQ;AACrB,aAAa,QAAQ;AACrB,aAAa,QAAQ;AACrB,aAAa,QAAQ;AACrB,aAAa,QAAQ;AACrB,aAAa,QAAQ;AACrB,cAAc;AACd;AACA,kCAAkC;AAClC;AACA,gBAAgB,4DAAoB;AACpC;AACA;AACA,SAAS;AACT;AACA;;AAEA;AACA,cAAc,8DAAe;AAC7B,WAAW,kEAAiB;AAC5B;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA,aAAa,4BAA4B;AACzC;AACA;AACA;AACA;AACA,cAAc;AACd;AACA;AACA,QAAQ,uDAAQ;AAChB;AACA,MAAM;AACN;AACA,MAAM;AACN;AACA,MAAM;AACN,gBAAgB,4DAAoB;AACpC,qCAAqC,cAAc,UAAU,oBAAoB;AACjF;AACA;AACA;;AAEA;AACA;AACA,aAAa,QAAQ;AACrB,aAAa,QAAQ;AACrB,aAAa,QAAQ;AACrB,aAAa,QAAQ;AACrB,aAAa,QAAQ;AACrB,aAAa,QAAQ;AACrB;AACA,uEAAuE;AACvE,0DAA0D;AAC1D,0DAA0D;AAC1D,cAAc;AACd;AACA;AACA,qBAAqB,sEAAgB;AACrC;AACA;AACA,MAAM;AACN,0DAA0D,KAAK;AAC/D;AACA;;AAEA;AACA;AACA,aAAa,QAAQ;AACrB,aAAa,QAAQ;AACrB,aAAa,QAAQ;AACrB,aAAa,QAAQ;AACrB,aAAa,QAAQ;AACrB,aAAa,QAAQ;AACrB;AACA,qEAAqE;AACrE,8DAA8D;AAC9D,+DAA+D;AAC/D,6DAA6D;AAC7D,8DAA8D;AAC9D,cAAc;AACd;AACA;AACA,qBAAqB,sEAAgB;AACrC;AACA;AACA,MAAM;AACN,0DAA0D,KAAK;AAC/D;AACA;;AAEA;AACA;AACA,aAAa,QAAQ;AACrB,aAAa,QAAQ;AACrB,cAAc;AACd;AACA;AACA;AACA,gBAAgB,4DAAoB;AACpC;;AAEA,sCAAsC,wDAAO,gBAAgB,wDAAO;;AAEpE,QAAQ,mEAAuB;AAC/B,gBAAgB,4DAAoB;AACpC,MAAM;AACN,4BAA4B,SAAS;AACrC;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,KAAK;;AAEL,+BAA+B,wDAAgB;;AAE/C;AACA;;AAEA;AACA;AACA,aAAa,QAAQ;AACrB,cAAc;AACd;AACA;AACA;AACA;;AAEA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sFAAsF,wBAAwB;AAC9G,aAAa,QAAQ;AACrB,aAAa,QAAQ;AACrB,aAAa,SAAS;AACtB,oCAAoC,+BAA+B;AACnE,oCAAoC,+BAA+B;AACnE,oCAAoC,+BAA+B;AACnE,cAAc;AACd;AACA,yBAAyB;AACzB,iCAAiC;AACjC;AACA;AACA;AACA;AACA;AACA,QAAQ,iEAAgB;AACxB;AACA;;AAEA;AACA;AACA;AACA;AACA,aAAa,QAAQ;AACrB,aAAa,QAAQ;AACrB;AACA;AACA,qCAAqC,+BAA+B;AACpE;AACA,mBAAmB,mBAAmB;AACtC,mBAAmB,sBAAsB;AACzC;AACA;AACA,mBAAmB;AACnB;;AAEA;AACA;AACA;AACA,YAAY,0DAAW;AACvB;AACA;AACA;AACA,6BAA6B,sEAAsE;AACnG;AACA,OAAO;AACP;;AAEA;AACA,uBAAuB,iEAAiE;AACxF;AACA;;AAEA;AACA;AACA,oCAAoC,+BAA+B,oBAAoB;AACvF,cAAc;AACd;AACA;AACA;AACA,aAAa;AACb;;AAEA;AACA;AACA;AACA,oCAAoC,uBAAuB;AAC3D,oCAAoC,wBAAwB;AAC5D,oCAAoC,WAAW;AAC/C,oCAAoC,YAAY;AAChD,oCAAoC,iBAAiB;AACrD,cAAc;AACd;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,sDAAO;AAClB;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,aAAa,QAAQ;AACrB,aAAa,SAAS;AACtB,aAAa,SAAS;AACtB,aAAa,SAAS;AACtB,aAAa,QAAQ;AACrB,oCAAoC,WAAW;AAC/C,oCAAoC,WAAW,cAAc,4BAA4B;AACzF,oCAAoC,WAAW,cAAc,uBAAuB;AACpF,oCAAoC,WAAW,cAAc,qBAAqB;AAClF,oCAAoC,WAAW,cAAc,iBAAiB;AAC9E,cAAc;AACd;AACA,qBAAqB;AACrB;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,qBAAqB,+DAAmB,WAAW,aAAa;AAChE;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA;AACA;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA;AACA;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA;AACA;AACA,yBAAyB,UAAU,8BAA8B;AACjE,MAAM;AACN,yBAAyB,mBAAmB,qBAAqB;AACjE;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA;AACA;;AAEA;AACA;;AAEA;AACA,+DAA+D;AAC/D,cAAc;AACd;AACA;AACA;AACA;;AAEA;AACA;AACA,aAAa,wBAAwB;AACrC,cAAc;AACd;AACA;AACA;;AAEA;AACA;;AAEA;AACA,UAAU,6DAAc,mBAAmB,6DAAc;AACzD;AACA;AACA;;AAEA,yBAAyB,gBAAgB;AACzC;;AAEA;AACA;AACA,aAAa,wBAAwB;AACrC,cAAc;AACd;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,aAAa,UAAU;AACvB,oCAAoC,uBAAuB,8BAA8B;AACzF,oCAAoC,uBAAuB,uDAAuD;AAClH,cAAc;AACd;AACA;AACA;AACA;AACA;AACA,kBAAkB,uDAAQ;AAC1B;AACA,yBAAyB,gBAAgB;AACzC;;AAEA;AACA;AACA,aAAa,QAAQ;AACrB,mCAAmC,kBAAkB;AACrD,mCAAmC,kBAAkB;AACrD,mCAAmC,kBAAkB;AACrD,cAAc;AACd;AACA;AACA;AACA;;AAEA;AACA;AACA,aAAa,QAAQ;AACrB,wBAAwB,aAAa;AACrC,wBAAwB,uBAAuB;AAC/C,cAAc;AACd;AACA;AACA;;AAEA,oBAAoB,mBAAmB,8DAAe;AACtD,yBAAyB,eAAe;AACxC;;AAEA;AACA;AACA,gCAAgC,iBAAiB;AACjD,cAAc;AACd;AACA,gBAAgB,sDAAsD,IAAI;AAC1E,iCAAiC,yBAAyB;AAC1D,mBAAmB;AACnB;AACA;;AAEA;AACA;AACA,aAAa,QAAQ;AACrB,mCAAmC,SAAS;AAC5C,mCAAmC,SAAS;AAC5C,mCAAmC,UAAU;AAC7C,cAAc;AACd;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oCAAoC,sBAAsB,gCAAgC;AAC1F,oCAAoC,YAAY,gCAAgC;AAChF,oCAAoC,yBAAyB,gCAAgC;AAC7F,oCAAoC,+BAA+B,gCAAgC;AACnG,cAAc;AACd;AACA;AACA;AACA;AACA;AACA,yBAAyB,cAAc;AACvC;;AAEA;AACA;AACA,oCAAoC,qBAAqB,8BAA8B;AACvF,cAAc;AACd;AACA;AACA;AACA;AACA,yBAAyB,cAAc;AACvC;;AAEA;AACA;AACA,oCAAoC,uBAAuB,uDAAuD;AAClH,cAAc;AACd;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA,oBAAoB;AACpB,sBAAsB;AACtB;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA,YAAY,uDAAQ;AACpB;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA,QAAQ,SAAS,uDAAQ;AACzB;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,yBAAyB,eAAe;AACxC;;AAEA;AACA;AACA;AACA,cAAc;AACd;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,oCAAoC,uBAAuB,6BAA6B;AACxF,cAAc;AACd;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yBAAyB,iBAAiB;AAC1C;;AAEA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;;AAEA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;;AAEA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;;AAEA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;;AAEA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;;AAEA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;;AAEA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA;AACA;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,cAAc;AACd;AACA;AACA;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA;AACA;AACA;;AAEA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,aAAa,UAAU;AACvB,cAAc;AACd;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AAC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AkB;AAClD;;AAEA;AACA;AACA;AACA;;AAEA,mBAAmB,+DAAmB;;AAEtC;AACA,WAAW,+DAAmB;AAC9B;AACA;AACA,IAAI;AACJ;AACA;AACA;;;;;;;;;;;;;;;;;;AC9FA;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;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEO;AACP;AACA;AACA;AACA,oBAAoB,gBAAgB;AACpC;;AAEA;AACA;AACA,QAAQ;AACR;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;;AAEA,aAAa,kBAAkB;AAC/B;AACO;AACP;AACA;;AAEO,sBAAsB,iBAAiB;AAC9C;;AAEA;AACA;AACA;AACA;AACA,gDAAgD,qBAAqB,EAAE,OAAO;AAC9E;;AAEA;AACA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACzFwC;AACP;;AAEjC;AACA;AACA;;AAEA;AACA;AACA;;AAEO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEO;;AAEA;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEO;;AAEA;;AAEA;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEO;;AAEA;;AAEA;;AAEA;;AAEA;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEO;AACP;AACA;;AAEO;AACP;AACA;;AAEO;AACP;AACA;;AAEO;AACP;AACA;;AAEO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA,4CAA4C,eAAe;AAC3D;AACA,6CAA6C,eAAe;AAC5D;AACA,yCAAyC,eAAe;AACxD;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,UAAU,EAAE,SAAS,aAAa,UAAU,EAAE,QAAQ;AAC7E;;AAEO;AACP;AACA;AACA,mBAAmB,8CAAI;AACvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,mDAAkB;AACrC;AACA,mBAAmB,iDAAgB;AACnC;AACA,mBAAmB,8DAA6B;AAChD;AACA,mBAAmB,kDAAiB;AACpC;AACA,mBAAmB,kDAAiB;AACpC;AACA,mBAAmB,oDAAmB;AACtC;AACA,mBAAmB,0DAAyB;AAC5C;AACA,mBAAmB,+DAA8B;AACjD;AACA,mBAAmB,8DAA6B;AAChD;AACA,mBAAmB,uDAAsB;AACzC;AACA,mBAAmB,6DAA4B;AAC/C;AACA,mBAAmB,kEAAiC;AACpD;AACA,mBAAmB,iEAAgC;AACnD;AACA,mBAAmB,uDAAsB;AACzC;AACA,mBAAmB,qDAAoB;AACvC;AACA,mBAAmB,sDAAqB;AACxC;AACA,mBAAmB,sDAAqB;AACxC;AACA,mBAAmB,oEAAmC;AACtD;AACA,mBAAmB,kEAAiC;AACpD;AACA,mBAAmB,kEAAiC;AACpD;AACA,mBAAmB,mEAAkC;AACrD;AACA,mBAAmB,mEAAkC;AACrD;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACxOA;AACA;AACA;;AAEA;AACA;AACA;;AAEO;AACP;AACA;AACA;AACA;;AAEO;AACP;AACA;AACA;AACA;;AAEO;AACP;AACA;AACA;AACA;AACA;;AAEO;AACP;AACA;AACA;AACA;;AAEO;AACP;AACA;AACA;AACA;AACA;;AAEO;AACP;AACA;AACA;;AAEO;AACP;AACA;AACA;AACA;;AAEO;AACP;AACA;AACA;AACA;AACA;;AAEO;AACP;AACA;AACA;AACA;AACA;;AAEO;AACP;AACA;AACA;AACA;;AAEO;AACP;AACA;AACA;AACA;AACA;;AAEO;AACP;AACA;AACA;AACA;AACA;AACA;;AAEO;AACP;AACA;AACA;AACA;AACA;AACA;;AAEO;AACP;AACA;AACA;AACA;AACA;AACA;;AAEO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;;AAEO;AACP;AACA;AACA;AACA;AACA;AACA;;AAEO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;;AAEO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;;AAEO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;;AAEO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;;;;;;AC/KwC;AACA;AACH;;AAErC;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;AACA;AACA;;AAEA;AACA,KAAK,mDAAkB;AACvB,MAAM,iDAAgB;AACtB,OAAO,kDAAiB;AACxB,QAAQ,kDAAiB;AACzB,KAAK,oDAAmB;AACxB,MAAM,0DAAyB;AAC/B,OAAO,+DAA8B;AACrC,QAAQ,8DAA6B;AACrC,KAAK,uDAAsB;AAC3B,MAAM,6DAA4B;AAClC,OAAO,kEAAiC;AACxC,QAAQ,iEAAgC;AACxC,KAAK,uDAAsB;AAC3B,MAAM,qDAAoB;AAC1B,OAAO,sDAAqB;AAC5B,QAAQ,sDAAqB;AAC7B,KAAK,oEAAmC;AACxC,MAAM,kEAAiC;AACvC,OAAO,mEAAkC;AACzC,QAAQ,mEAAkC;AAC1C;;AAEA;AACA;AACA;;AAEe;AACf,iCAAiC;AACjC;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,oBAAoB,gBAAgB;AACpC;AACA;AACA;AACA,wBAAwB,mEAAmE;AAC3F;AACA;AACA;AACA;AACA,QAAQ;AACR;AACA,QAAQ;AACR;AACA,QAAQ;AACR;AACA,wBAAwB,sDAAsD;AAC9E;AACA;AACA;AACA;AACA;;AAEA;AACA,oBAAoB,mEAAmE;AACvF;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,gDAAgD,uBAAuB;AACvE;AACA;;AAEA,2BAA2B;AAC3B,sCAAsC,uBAAuB;AAC7D;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,aAAa,kDAAQ;AACrB;;AAEA,mBAAmB;;AAEnB;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,OAAO;AACP;AACA;AACA,YAAY,4DAA2B;AACvC,qBAAqB,mCAAmC;AACxD;AACA;AACA,YAAY,yDAAwB;AACpC,kCAAkC,gBAAgB,IAAI,+BAA+B;AACrF;AACA;AACA,YAAY,2DAA0B;AACtC;AACA,6BAA6B,kBAAkB,IAAI,gDAAgD;AACnG;AACA;AACA;AACA;AACA;AACA;AACA,UAAU;AACV;AACA;AACA,OAAO;AACP;AACA,uBAAuB,uDAAsB,wBAAwB,aAAa;AAClF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kCAAkC,4CAA4C;AAC9E;AACA;AACA,kCAAkC,2CAA2C;AAC7E;AACA;AACA,kCAAkC,4CAA4C;AAC9E;AACA;AACA,+CAA+C,0CAA0C;AACzF;AACA;AACA,+CAA+C,yCAAyC;AACxF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mDAAmD,gBAAgB;AACnE;AACA,mDAAmD,gBAAgB;AACnE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yBAAyB,kCAAkC;AAC3D;AACA;AACA;AACA;AACA,yBAAyB,kCAAkC;AAC3D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yBAAyB,kBAAkB;AAC3C;AACA;AACA;AACA;AACA,yBAAyB,kBAAkB;AAC3C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mDAAmD,iBAAiB;AACpE;AACA;AACA;AACA,yBAAyB,iBAAiB;AAC1C;AACA;AACA;AACA;AACA,yBAAyB,iBAAiB;AAC1C;AACA;AACA;AACA;AACA,yBAAyB,iBAAiB;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;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;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,UAAU;AACV;AACA;AACA,OAAO;AACP;AACA;AACA,kBAAkB,cAAc;AAChC;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;;;ACxZe;AACf;AACA;AACA;AACA;;AAEA;AACA;AACA,gBAAgB,YAAY,IAAI,iBAAiB;AACjD,MAAM;AACN;AACA;AACA;AACA;;;;;;;;;;;;;;;;;;;;;ACboG;AAC5D;AACF;AACA;AACM;;AAE5C;;AAEA;AACA,yCAAyC;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,0CAA0C;AAC1C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,0CAA0C;AAC1C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,0CAA0C;AAC1C,UAAU,wBAAwB,QAAQ;AAC1C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;AACA;;AAEA,YAAY,4BAA4B;AACxC;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA,0BAA0B,eAAe;AACzC;;AAEA;AACA,0BAA0B,gBAAgB;AAC1C;AACA;AACA,IAAI;AACJ;AACA;AACA;;AAEA;AACA;AACA,kBAAkB,SAAS;AAC3B,eAAe,wDAAY;AAC3B;AACA;AACA;AACA;;AAEA;AACA;AACA,kBAAkB,QAAQ;AAC1B,eAAe,wDAAY;AAC3B;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,IAAI;AACJ;AACA,IAAI;AACJ;AACA;AACA;;AAEA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA,YAAY,6BAA6B;;AAEzC;AACA,yBAAyB;AACzB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA,iDAAiD,iDAAO;AACxD,aAAa,kDAAQ;AACrB;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kDAAkD,UAAU,cAAc,UAAU;AACpF,6BAA6B,iEAAe;AAC5C;AACA;AACA,QAAQ;AACR;AACA;AACA;AACA,kEAAkE,oBAAoB;AACtF;AACA;AACA,MAAM;AACN;AACA,MAAM;AACN;AACA;AACA,MAAM;AACN;AACA;AACA;AACA,yCAAyC,oBAAoB;AAC7D;AACA;;AAEA,uBAAuB;AACvB;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,gBAAgB,OAAO;AACvB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA,UAAU;AACV;AACA;AACA,OAAO;AACP;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,kBAAkB;AAClB,sBAAsB,qDAAW;AACjC;AACA;AACA;;AAEA;AACA;AACA;AACA,MAAM;AACN,aAAa,2DAA0B;AACvC;AACA;;AAEA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEe;AACf;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,sCAAsC,kEAAsB;AAC5D;AACA;AACA,gDAAgD,2EAA+B;AAC/E,8CAA8C,0EAA8B;AAC5E,0BAA0B,8DAAoB,kBAAkB,wEAA4B;AAC5F;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA,sBAAsB,wDAAwD,IAAI;AAClF;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA,2BAA2B,UAAU;AACrC,yBAAyB,UAAU;AACnC;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;AACA;AACA,QAAQ,8DAAoB;AAC5B;AACA;AACA;AACA;;AAEA,yBAAyB;AACzB,wBAAwB,4BAA4B;AACpD;;AAEA,6BAA6B;AAC7B,wBAAwB,6BAA6B;AACrD;;AAEA;AACA,mCAAmC,+CAAc;AACjD,8BAA8B,gCAAgC,IAAI,eAAe;AACjF;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA,mCAAmC,iDAAgB;AACnD;AACA,cAAc;AACd,cAAc,iBAAiB;AAC/B;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA,YAAY,kDAAiB;AAC7B;AACA;AACA;AACA;AACA,yBAAyB;AACzB,gCAAgC,wDAAY,mBAAmB,wDAAY;AAC3E;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,mCAAmC,6CAAY;AAC/C,qBAAqB;;AAErB;AACA;AACA;AACA,iCAAiC,wDAAY,aAAa,wDAAY;AACtE;AACA;AACA;;AAEA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA,2BAA2B;AAC3B;AACA;AACA;AACA;;AAEA,+BAA+B;AAC/B;AACA;;AAEA,wBAAwB;AACxB;AACA;;AAEA,yBAAyB;AACzB;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,MAAM,UAAU,2DAAiB;AACjC;AACA,MAAM;AACN;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,qBAAqB,YAAY,IAAI,qBAAqB,IAAI,oBAAoB;AAClF;AACA;;;;;;;;;;;;;;;;;;;;;;;;;AC1hBmB;AACqB;AACkB;AACd;;AAE5C;AACA;AACA;AACA,kFAAkF,wBAAwB;AAC1G;AACA;AACA;AACA;AACA;;AAEA,+BAA+B,MAAM,sBAAsB,MAAM,oBAAoB,MAAM;;AAE3F;AACA;AACA,oBAAoB,KAAK;AACzB;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB,uBAAuB;AAC3C,SAAS;AACT,WAAW;AACX;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA,gBAAgB,iBAAiB;AACjC,qBAAqB,sDAAY;AACjC;AACA;AACA;AACA;;AAEA;AACA;AACA,8BAA8B,mBAAmB,UAAU,iBAAiB;AAC5E,iEAAiE,KAAK;AACtE,+BAA+B,wBAAwB,EAAE,gBAAgB;AACzE,4CAA4C,oBAAoB;AAChE,6BAA6B,EAAE,IAAI,EAAE;AACrC,0BAA0B,EAAE;AAC5B,6BAA6B,EAAE,OAAO,EAAE;AACxC;AACA;AACA,yBAAyB,EAAE,kBAAkB;AAC7C;AACA,KAAK,yBAAyB,MAAM,mBAAmB,IAAI,iBAAiB;AAC5E;AACA,4CAA4C,oBAAoB;;AAEhE;AACA;AACA,SAAS,qDAAW,iBAAiB,sDAAY;AACjD;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,kBAAkB,qDAAW;AAC7B;;AAEA;AACA;;AAEA;AACA;AACA,iBAAiB,sDAAY;AAC7B,0BAA0B,0EAAwB;AAClD,YAAY;AACZ;;AAEA;AACA,+BAA+B,iEAAe;AAC9C,YAAY;AACZ;;AAEA;;AAEA,iCAAiC,wBAAwB;;AAEzD;;AAEA;AACA,mBAAmB,KAAK,QAAQ,KAAK,eAAe,KAAK,QAAQ,KAAK,eAAe,KAAK,QAAQ,KAAK,eAAe,KAAK,QAAQ,KAAK,mBAAmB,KAAK,QAAQ,KAAK,eAAe,KAAK,QAAQ,KAAK,eAAe,KAAK,cAAc,KAAK;;AAErP;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,yBAAyB,uDAAa;AACtC,0BAA0B,uDAAa;AACvC,yBAAyB,uDAAa;AACtC,wBAAwB,uDAAa;AACrC,yBAAyB,uDAAa;AACtC,2BAA2B,uDAAa;AACxC,2BAA2B,uDAAa;AACxC,gCAAgC,qDAAW;AAC3C,KAAK;AACL;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,iCAAiC,wDAAc,CAAC,sDAAY,aAAa,sDAAY;AACrF,WAAW,4DAA2B;AACtC,SAAS,sDAAY;AACrB,UAAU,sDAAY;AACtB,YAAY,sDAAY;AACxB;;AAEA,iCAAiC,sDAAY;AAC7C;AACA;AACA;AACA,UAAU,6DAA4B;AACtC,UAAU,8DAA6B;AACvC;;AAEA;AACA;;AAEA;AACA;AACA,6CAA6C,IAAI,0DAA0D,IAAI;;AAE/G;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,IAAI;AACJ;AACA,IAAI;AACJ,aAAa,sDAAY;AACzB;;AAEA,sBAAsB,iEAAe;AACrC;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA,kGAAkG,EAAE;AACpG;AACA;AACA;AACA,0HAA0H,EAAE;;AAE5H;AACA;AACA;AACA,kBAAkB,6EAA2B;AAC7C;;AAEA;AACA;AACA;AACA,kBAAkB,6EAA2B;AAC7C;;AAEA;AACA;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;;AAEA;AACA;AACA;;AAEO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEO;AACP;AACA;;AAEO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;;AAEO;AACP;AACA;;AAEA;;AAEO;AACP;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEO;AACP;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;;;;;;;;;;;;;;AC9UmG;AAC5D;AACmB;AACd;AACN;AACgB;AACO;;AAE7D;;AAEA;AACA,WAAW,4BAA4B,uDAAW;AAClD;;AAEA;AACA,yBAAyB,KAAK;AAC9B;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,WAAW,4BAA4B,sDAAY;AACnD;;AAEA;AACA,WAAW;AACX;;AAEA;AACA,iCAAiC;AACjC;;AAEA;AACA;AACA,WAAW,QAAQ;AACnB;AACA;AACA,cAAc,sDAAU;AACxB,UAAU,sDAAU,QAAQ,EAAE;AAC9B,YAAY,sDAAU,QAAQ,EAAE;AAChC,WAAW,sDAAU,QAAQ,EAAE;AAC/B,UAAU,sDAAU,QAAQ,EAAE;AAC9B,eAAe,sDAAU,QAAQ,IAAI;AACrC,iBAAiB,sDAAU,QAAQ,IAAI;AACvC,eAAe,sDAAU,QAAQ,IAAI;AACrC,gBAAgB,sDAAU,QAAQ,IAAI;AACtC,gBAAgB,sDAAU,QAAQ,IAAI;AACtC,gBAAgB,sDAAU,QAAQ,IAAI;AACtC,wBAAwB,qEAAqE;AAC7F;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oCAAoC,oDAAc;AAClD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oCAAoC,oDAAc;AAClD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2CAA2C,gBAAgB,QAAQ,WAAW;AAC9E;AACA,2CAA2C,gBAAgB,IAAI,WAAW;AAC1E;AACA;AACA;AACA,mCAAmC,MAAM;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA,UAAU,cAAc;;AAExB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA,QAAQ;AACR;AACA;AACA,MAAM;AACN;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA,2DAA2D,EAAE,GAAG,SAAS;AACzE,cAAc,GAAG;AACjB;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,UAAU,wDAAc;AACxB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ,uBAAuB;AACvB;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,OAAO,qDAAW;AAClB,WAAW,iEAAe;AAC1B;;AAEA,OAAO,qDAAW;AAClB;AACA,iBAAiB,iEAAe;AAChC;AACA;AACA;;AAEA,OAAO,qDAAW;AAClB;AACA;;AAEA,OAAO,qDAAW;AAClB;AACA;AACA,MAAM;AACN;AACA;AACA;;AAEA;AACA;AACA;;AAEA,OAAO,qDAAW;AAClB,gBAAgB,qDAAW;AAC3B;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA,GAAG,IAAI;;AAEP;AACA;;AAEA;;AAEA;AACA;AACA,yBAAyB,+DAAmB;AAC5C;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA,qBAAqB,4EAAgC;AACrD;;AAEA;AACA;AACA;;AAEA;AACA;;AAEO;AACP;AACA;;AAEA;AACA;AACA;;AAEO;AACP;AACA;AACA;AACA,oCAAoC,iEAAqB;AACzD;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,eAAe;AACf,MAAM;AACN;AACA;AACA;AACA;AACA,UAAU,wDAAc,kBAAkB,wDAAc;AACxD,kBAAkB,qEAA6B;AAC/C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEO;AACP;AACA;AACA;;AAEO;AACP,UAAU,8CAA8C;AACxD;AACA;;AAEO;AACP;AACA;AACA;;AAEA,oBAAoB,4DAAgB;AACpC;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACxfA;AACA;AACA;AACA;AACA;;AAEoD;AACd;AAC0B;;AAEhE;AACA;AACA;;AAEA;;AAEO;AACP;AACA;;AAEO;AACP;AACA;;AAEO;AACP;AACA;;AAEO;AACP;AACA;;AAEO;AACP;AACA;;AAEA;;AAEO;AACP;AACA;AACA,IAAI;AACJ;AACA;AACA;;AAEO;AACP;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;;AAEA;;AAEO;AACP;AACA;;AAEO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA,MAAM;AACN;AACA;AACA,GAAG;AACH;;AAEO;AACP;AACA;AACA;AACA,GAAG,IAAI;AACP;;AAEO;AACP;AACA;;AAEO;AACP;AACA;AACA,IAAI;AACJ,cAAc,4DAAoB;AAClC,IAAI;AACJ;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB,4DAAoB;AACpC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEO;AACP;AACA;;AAEA;AACO;AACP;AACA;;AAEO;AACP;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;;AAEO;AACP;AACA;AACA,IAAI;AACJ;AACA;AACA;;AAEO;AACP;AACA;AACA,IAAI;AACJ;AACA;AACA;;AAEO;AACP;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;;AAEO;AACP;AACA;AACA;AACA;;AAEA;;AAEO;AACP;AACA;;AAEO;AACP;AACA;;AAEO;AACP;AACA;;AAEA;AACA;AACA,IAAI;AACJ;AACA;AACA;;AAEA;AACO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,yEAAyE;AACzE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,gBAAgB,kEAAiB,CAAC,0DAAS;AAC3C;AACA;;AAEO;AACP;AACA;AACA;AACA;;AAEO;AACP;AACA;AACA,IAAI,mBAAmB,uEAA2B;AAClD;;AAEA;;AAEO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA,qBAAqB;;AAErB;AACA;AACA;AACA;AACA;;AAEA;AACO;AACP;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEO;AACP;AACA;AACA,cAAc,4DAAoB,uBAAuB,MAAM;AAC/D;AACA;;AAEO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB;AACA,YAAY;AACZ;AACO;AACP;AACA;AACA;;AAEA;AACA;AACA,gBAAgB,KAAK,EAAE,mBAAmB,GAAG,qBAAqB;AAClE;AACA,gBAAgB,KAAK,EAAE,MAAM,EAAE,kBAAkB,QAAQ,OAAO;AAChE;AACA,gBAAgB,KAAK,EAAE,mBAAmB,EAAE,qBAAqB;AACjE;AACA,2CAA2C,QAAQ;AACnD;AACA;;AAEO;AACP;AACA;;;;;;;;;;;;;;;;;;;;;;AC3TA;AACA;AACA;;AAE8B;AACc;AACc;AACR;;AAEU;AACZ;;AAEzC;AACP;AACA,MAAM,qDAAW;AACjB;AACA,IAAI,0BAA0B,gDAAI;AAClC;AACA,IAAI,SAAS,kDAAQ;AACrB;AACA;AACA,iEAAiE,qEAAmB;AACpF,4DAA4D,6EAA2B;AACvF,gBAAgB,gFAA8B,aAAa,iEAAe;AAC1E,IAAI,SAAS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;AACA;AACA;AACA;AACA;AACA,gBAAgB,4DAAgB;AAChC;AACA,QAAQ;AACR;AACA;;AAEA;AACA;AACA,cAAc,4DAAgB;AAC9B;AACA,QAAQ;AACR;AACA;;AAEA;AACA;AACA;;AAEA;AACA,oBAAoB,4DAAgB;AACpC;AACA;AACA;AACA,QAAQ;AACR,oBAAoB,4DAAgB;AACpC;AACA;AACA;AACA;AACA;AACA,wDAAwD,KAAK;AAC7D;;AAEA;AACA;AACA,aAAa,QAAQ;AACrB,cAAc;AACd;AACA;AACA;AACA;;AAEA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;;AAEA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;;AAEA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;;AAEA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;;AAEA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;;AAEA;AACA;AACA,aAAa,QAAQ;AACrB,cAAc;AACd;AACA;AACA;AACA;;AAEA;AACA;AACA,aAAa,uBAAuB;AACpC;AACA,aAAa,QAAQ;AACrB,aAAa,QAAQ;AACrB,aAAa,SAAS,uHAAuH;AAC7I,cAAc;AACd;AACA;AACA;AACA;AACA;AACA;AACA,mCAAmC,sBAAsB;AACzD,MAAM;AACN;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,aAAa,QAAQ;AACrB,cAAc;AACd;AACA;AACA;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA;AACA;AACA;;AAEA;AACA;AACA,aAAa,UAAU;AACvB,cAAc;AACd;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,aAAa,UAAU;AACvB,cAAc;AACd;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,aAAa,UAAU;AACvB,cAAc;AACd;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,aAAa,QAAQ;AACrB,aAAa,UAAU;AACvB,aAAa,UAAU;AACvB,cAAc;AACd;AACA,QAAQ,aAAa,IAAI;AACzB;AACA;AACA;;AAEA;AACA;AACA,aAAa,aAAa;AAC1B,cAAc;AACd;AACA;AACA;AACA;AACA,aAAa,0DAAgB;AAC7B;AACA;AACA;AACA,UAAU,IAAI;AACd;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,aAAa,wBAAwB;AACrC,cAAc;AACd;AACA;AACA,gBAAgB,qEAAyB;;AAEzC;AACA;AACA;;AAEA,UAAU,IAAI;AACd;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,aAAa,QAAQ;AACrB,cAAc;AACd;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,aAAa,UAAU;AACvB,cAAc;AACd;AACA;AACA;AACA;;AAEA;AACA;AACA,aAAa,UAAU;AACvB,cAAc;AACd;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,aAAa,UAAU;AACvB,cAAc;AACd;AACA;AACA;AACA;AACA;;AAEA;AACA,kLAAkL;AAClL,aAAa,UAAU;AACvB,cAAc;AACd;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,aAAa,UAAU;AACvB,cAAc;AACd;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,aAAa,UAAU;AACvB,cAAc;AACd;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,MAAM;AACN;AACA;AACA;;AAEA;AACA;AACA;AACA,aAAa,UAAU;AACvB,cAAc;AACd;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,aAAa,OAAO;AACpB,cAAc;AACd;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY;AACZ;AACA,YAAY;AACZ;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,aAAa,OAAO;AACpB,cAAc;AACd;AACA;AACA;AACA;AACA;AACA;AACA,UAAU,sBAAsB;AAChC,UAAU,sBAAsB;AAChC;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,QAAQ;AACR;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,aAAa,aAAa;AAC1B,cAAc;AACd;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA;AACA;AACA,eAAe,gBAAgB,IAAI,eAAe;AAClD;;AAEA;AACA;AACA,cAAc;AACd;AACA;AACA;AACA,yBAAyB,SAAS,eAAe,SAAS,iBAAiB;AAC3E,MAAM;AACN,yBAAyB,mBAAmB,qBAAqB;AACjE;AACA;;AAEA;AACA;AACA;AACA,MAAM,0BAA0B,IAAI,2BAA2B;AAC/D;AACA;AACA;AACA;AACA,aAAa,QAAQ;AACrB;AACA,aAAa,QAAQ;AACrB,wFAAwF;AACxF,0GAA0G;AAC1G,2GAA2G,iBAAiB,GAAG;AAC/H,4GAA4G;AAC5G,uFAAuF,sFAAsF,GAAG;AAChL,cAAc;AACd;AACA,8BAA8B,wDAAkB,WAAW;AAC3D;AACA,QAAQ,iEAAgB;AACxB;AACA;;AAEA;AACA;AACA;AACA,aAAa,QAAQ,4BAA4B;AACjD,cAAc;AACd;AACA;AACA;AACA,cAAc,mBAAmB,GAAG,mBAAmB;AACvD;;AAEA;AACA;AACA;AACA;AACA,cAAc;AACd;AACA;AACA;AACA,cAAc,mBAAmB,GAAG,mBAAmB;AACvD;;AAEA;AACA;AACA;AACA;AACA,aAAa,QAAQ,4BAA4B;AACjD,cAAc;AACd;AACA;AACA;AACA,cAAc,uBAAuB,GAAG,uBAAuB;AAC/D;;AAEA;AACA;AACA,6CAA6C,+BAA+B;AAC5E;AACA,aAAa,QAAQ;AACrB,UAAU,yBAAyB;AACnC,aAAa,QAAQ;AACrB,aAAa,QAAQ;AACrB;AACA,cAAc;AACd;AACA,yBAAyB,oBAAoB,IAAI;AACjD;AACA,cAAc,4BAA4B,EAAE,UAAU,EAAE,4BAA4B;AACpF;;AAEA;AACA;AACA,aAAa,iBAAiB;AAC9B,aAAa,QAAQ;AACrB,aAAa,QAAQ;AACrB,8EAA8E;AAC9E,oFAAoF;AACpF,kGAAkG;AAClG,6GAA6G;AAC7G,uFAAuF;AACvF,cAAc;AACd;AACA;AACA;AACA,aAAa,4DAAgB;AAC7B;AACA;AACA;;AAEA;AACA;AACA,aAAa,UAAU;AACvB,cAAc;AACd;AACA,wFAAwF,UAAU;AAClG;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AChpBqC;AACA;AACA;AACR;AACA;AAC4B;AACd;AACM;AACF;AACV;;AAErC;;AAcE;;;;;;;;;;;;;;;;;;;;;;;ACzB6C;AACJ;AACL;AACD;;AAEc;AACG;AACE;;AAExD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACe;AACf;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA,WAAW,gEAAa,cAAc,qEAAmB;AACzD;;AAEA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;;AAEA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;;AAEA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;;AAEA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;;AAEA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;;AAEA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;;AAEA;AACA,eAAe,QAAQ;AACvB,gBAAgB,QAAQ;AACxB,gBAAgB,QAAQ;AACxB,gBAAgB,UAAU;AAC1B;;AAEA;AACA,cAAc;AACd;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,aAAa,mBAAmB;AAChC;AACA;AACA,0BAA0B,mEAAoB;AAC9C;;AAEA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;;AAEA;AACA;AACA,YAAY;AACZ;AACA;AACA,gEAAgE;AAChE;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;;AAEA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA;AACA,IAAI,kEAAiB;AACrB,IAAI,qEAAmB;AACvB,IAAI,+DAAmB;AACvB,IAAI,qEAAoB;AACxB;AACA;;;;;;;;;;;;;;;;;ACnLkD;;AAElD;AACA;AACA;AACe;AACf;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA,cAAc,2DAAmB;AACjC;;AAEA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA,cAAc,2DAAmB;AACjC;;AAEA;AACA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA,cAAc,2DAAmB;AACjC;;AAEA;AACA;AACA;AACA,aAAa,QAAQ;AACrB,aAAa,QAAQ;AACrB,aAAa,QAAQ;AACrB,aAAa,QAAQ;AACrB,cAAc;AACd;AACA;AACA,cAAc,2DAAmB;AACjC;;AAEA;AACA;AACA;AACA,aAAa,QAAQ;AACrB,aAAa,QAAQ;AACrB;AACA,cAAc;AACd;AACA;AACA,cAAc,2DAAmB;AACjC;;AAEA;AACA;AACA;AACA,aAAa,QAAQ;AACrB,cAAc;AACd;AACA;AACA,cAAc,2DAAmB;AACjC;;AAEA;AACA;AACA;AACA,aAAa,MAAM;AACnB,cAAc;AACd;AACA;AACA,cAAc,2DAAmB;AACjC;;AAEA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA,cAAc,2DAAmB;AACjC;AACA;;;;;;;;;;;;;;;;;;AChGyF;AAC3D;;AAE9B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,kBAAkB,sBAAsB;AACxC,YAAY,cAAc;AAC1B;;AAEA;AACA;AACA,MAAM,UAAU,0DAAW;AAC3B;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,gBAAgB;AAChB;AACe,uBAAuB,gDAAI;AAC1C;AACA,aAAa,QAAQ;AACrB,cAAc;AACd;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA;AACA;AACA;AACA;;AAEA;AACA,qJAAqJ;AACrJ,aAAa,QAAQ;AACrB;AACA;AACA;AACA,cAAc;AACd;AACA;AACA;AACA;;AAEA;AACA;AACA,aAAa,QAAQ;AACrB;AACA;AACA;AACA,cAAc;AACd;AACA;AACA;AACA;AACA;AACA;AACA,yCAAyC,gBAAgB;AACzD;AACA,MAAM;AACN;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,aAAa,QAAQ;AACrB,aAAa,QAAQ;AACrB,aAAa,QAAQ;AACrB,aAAa,QAAQ;AACrB,cAAc;AACd;AACA,mBAAmB,gBAAgB;AACnC,WAAW,4DAAa;AACxB;;AAEA;AACA;AACA;AACA,aAAa,QAAQ;AACrB,aAAa,QAAQ;AACrB;AACA,cAAc;AACd;AACA;AACA,WAAW,2DAAY;AACvB;;AAEA;AACA;AACA;AACA,aAAa,QAAQ;AACrB,cAAc;AACd;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA,kBAAkB,2DAAY;AAC9B;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,aAAa,MAAM;AACnB,cAAc;AACd;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;;;;;ACtO6D;AAC/B;;AAE9B;;AAEA;AACA;AACA,gBAAgB;AAChB;AACe,8BAA8B,gDAAI;AACjD;AACA;AACA,cAAc;AACd;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,aAAa,QAAQ;AACrB,cAAc;AACd;AACA;AACA;AACA;;AAEA;AACA;AACA,aAAa,QAAQ;AACrB;AACA;AACA;AACA,cAAc;AACd;AACA;AACA;AACA,wCAAwC,IAAI,SAAS,EAAE;AACvD;AACA,mCAAmC,2DAAY;AAC/C;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA,4CAA4C,2DAAY,uBAAuB;AAC/E;;AAEA;AACA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;AACA,MAAM;AACN,uBAAuB,2DAAY,wBAAwB;AAC3D;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,aAAa,QAAQ;AACrB,aAAa,QAAQ;AACrB;AACA,cAAc;AACd;AACA;AACA,WAAW,2DAAY;AACvB;;AAEA;AACA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,cAAc;AACd;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,aAAa,MAAM;AACnB,cAAc;AACd;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;;;;ACrJ8B;;AAE9B;AACA;AACA,gBAAgB;AAChB;AACe,0BAA0B,gDAAI;AAC7C;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;;;;;ACpD8D;AAChC;;AAE9B;;AAEA;AACA;AACA,gBAAgB;AAChB;AACe,yBAAyB,gDAAI;AAC5C;AACA;AACA,cAAc;AACd;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,mBAAmB,gBAAgB;AACnC,WAAW,4DAAa;AACxB;;AAEA;AACA;AACA,WAAW,2DAAY;AACvB;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AC5DA;AACA;AACA;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,WAAW,kBAAkB;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB,UAAU;AAC3B,+BAA+B,gBAAgB;AAC/C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;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;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yFAAyF;AACzF,cAAc;AACd;AACA;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;AACA;AACA;AACA;AACA;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;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,wBAAwB;AACnC;AACA;AACA;AACA;AACA,IAAI;AACJ;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;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4CAA4C,+BAA+B;AAC3E;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wBAAwB,mBAAmB;AAC3C;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,oBAAoB;AACjC,aAAa,mBAAmB;AAChC;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2BAA2B,qBAAqB;AAChD,2BAA2B,gBAAgB;AAC3C;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;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,YAAY;AACzB,2BAA2B,YAAY;AACvC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yBAAyB,+BAA+B;AACxD;AACA;AACA,sCAAsC,+BAA+B;AACrE;AACA;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;AACA;AACA;AACA,WAAW,kCAAkC;AAC7C;AACA;AACA,WAAW,uBAAuB;AAClC;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,WAAW;AACtB,yBAAyB,aAAa;AACtC;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;AACA;AACA;AACA;AACA;AACA;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;AACA;AACA;AACA;AACA,aAAa,mCAAmC;AAChD,aAAa,sCAAsC;AACnD,aAAa,wCAAwC;AACrD,aAAa,qCAAqC;AAClD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,wBAAwB;AACrC,aAAa,yBAAyB;AACtC,aAAa,2BAA2B;AACxC,aAAa,0BAA0B;AACvC;AACA;;AAEA;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;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wBAAwB,qBAAqB;AAC7C,yBAAyB,oBAAoB;AAC7C;AACA;AACA;AACA,gEAAgE,+BAA+B;AAC/F;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY,YAAY;AACxB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,YAAY;AACzB,0BAA0B,YAAY;AACtC;AACA;AACA,0BAA0B,YAAY;AACtC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,cAAc;AAC7B;AACA;AACA;AACA,wCAAwC,eAAe;AACvD;AACA;AACA;AACA;AACA;AACA,eAAe,cAAc;AAC7B;AACA;AACA;AACA,wCAAwC,eAAe;AACvD;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,aAAa,YAAY;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2BAA2B,aAAa;AACxC,4BAA4B,eAAe;AAC3C;AACA;AACA;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,aAAa,aAAa,QAAQ,GAAG;AACrC,iBAAiB,OAAO;AACxB,aAAa,aAAa,MAAM,EAAE;AAClC;AACA,OAAO,UAAU,mCAAmC;AACpD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA;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,iBAAiB,8DAA8D;AAC/E;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;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;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ,UAAU;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ,gBAAgB;AACxB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8BAA8B,YAAY;AAC1C,oCAAoC,YAAY;AAChD;AACA;AACA,4CAA4C,YAAY;AACxD,kDAAkD,YAAY;AAC9D;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;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;AACA;AACA;AACA;AACA,UAAU;AACV;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,qDAAqD;AAChE;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mCAAmC,YAAY;AAC/C;AACA;AACA;AACA,iBAAiB,YAAY;AAC7B;AACA,mCAAmC,YAAY;AAC/C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;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;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAU,+BAA+B;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,iBAAiB;AACjB;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA,iBAAiB;AACjB,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;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;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEyQ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACtrCzQ;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AAC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,EAAU85B,YAAV,EAAwB;AAC1B,QAAIC,oBAAoB,GAAG,KAAK/tF,IAAL,CAAUt0E,GAAV,CAAcsoI,OAAd,CAA3B;;AACA,QAAI,CAAC+5B,oBAAL,EAA2B;AACvB,WAAK/tF,IAAL,CAAU1oF,GAAV,CAAc08I,OAAd,EAAuB+5B,oBAAoB,GAAG,EAA9C;AACH;;AACDA,IAAAA,oBAAoB,CAACr3K,IAArB,CAA0B,GAAGo3K,YAA7B;AACH;;AACD7sK,EAAAA,GAAG,CAAC+yI,OAAD,EAAU;AACT,WAAO,KAAKh0D,IAAL,CAAU/+E,GAAV,CAAc+yI,OAAd,CAAP;AACH;;AACDxoI,EAAAA,KAAK,GAAG;AACJ,SAAKw0E,IAAL,CAAUx0E,KAAV;AACH;;AA1BuB;AA6B5B;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,MAAMwiK,yBAAyB,GAAG,CAAlC;AACA,MAAMC,WAAW,GAAG,QAApB;AACA,MAAMC,iBAAiB,GAAG,IAAIj3J,MAAJ,CAAWg3J,WAAX,EAAwB,GAAxB,CAA1B;AACA,MAAME,WAAW,GAAG,QAApB;AACA,MAAMC,iBAAiB,GAAG,IAAIn3J,MAAJ,CAAWk3J,WAAX,EAAwB,GAAxB,CAA1B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,SAASE,uBAAT,CAAiC9P,MAAjC,EAAyC+P,WAAzC,EAAsDjD,GAAtD,EAA2DkD,cAA3D,EAA2EC,cAA3E,EAA2FC,cAAc,G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ACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kDAAkD,MAAM;AACxD;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mCAAmC,qDAAU;AAC7C;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kBAAkB;AAClB,oBAAoB;AACpB,8BAA8B;AAC9B,yBAAyB;AACzB,SAAS,MAAM,SAAS;AACxB,QAAQ,MAAM,QAAQ;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+DAA+D,MAAM;AACrE;AACA,qCAAqC,YAAY;AACjD;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAE2I;;;;;;;;;;;;;;;;;;;;;;;;;;;;AClI3I;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,MAAMU,UAAN,CAAiB;AAEjB;;;AACA,SAASC,YAAT,CAAsBjoM,KAAtB,EAA6B;AACzB;AACA;AACA;AACA,SAAOA,KAAK,IAAI,OAAOA,KAAK,CAACkiB,OAAb,KAAyB,UAAzC;AACH;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;;;AACA,MAAMgmL,eAAN,SAA8BF,UAA9B,CAAyC;AACrCjzM,EAAAA,WAAW,CAACozM,KAAD,EAAQ;AACf;AACA,SAAKA,KAAL,GAAaA,KAAb;AACH;;AACDjmL,EAAAA,OAAO,GAAG;AACN,WAAO6lL,kDAAY,CAAC,KAAKI,KAAN,CAAZ,GAA2B,KAAKA,KAAhC,GAAwC9X,wCAAE,CAAC,KAAK8X,KAAN,CAAjD;AACH;;AACD9wG,EAAAA,UAAU,GAAG,C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F4G3sC,+DAE5G,CAA2F2sC,yBAA3F,EAAkI,CAAC;AACvHx1M,IAAAA,IAAI,EAAE8oK,qDADiH;AAEvHtK,IAAAA,IAAI,EAAE,CAAC;AAAEygC,MAAAA,UAAU,EAAE;AAAd,KAAD;AAFiH,GAAD,CAAlI;AAAA;AAKA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;AACA;AACA;;;AACA,MAAM0W,uBAAuB,GAAG,IAAI3b,yDAAJ,CAAmB,eAAnB,CAAhC;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AC5dA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yBAAyB;AACzB,sBAAsB;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;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,kBAAkB;AAClB,yBAAyB;AACzB,uBAAuB;AACvB;AACA;AACA;AACA;AACA,uBAAuB;AACvB,oBAAoB;AACpB;AACA,kBAAkB;AAClB;AACA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AAe;AACtB,SAAK6vH,MAAL,GAAcA,MAAd;AACA,SAAK7vH,IAAL,GAAYA,IAAZ;AACH;;AAJiB;;AAMtB,SAASy2J,WAAT,CAAqB15O,IAArB,EAA2B;AACvB,SAAOA,IAAI,CAAC,MAAD,CAAJ,IAAgB,OAAOA,IAA9B;AACH;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,MAAMg6O,IAAN,CAAW;AACP96O,EAAAA,WAAW,CAACk6O,cAAD,EAAiB/lC,WAAjB,EAA8B;AACrC,SAAK+lC,cAAL,GAAsBA,cAAtB;AACA,SAAKa,QAAL,GAAgB,IAAIC,WAAJ,EAAhB;AACA,SAAKC,gBAAL,GAAwB,IAAxB;AACA,SAAKC,gBAAL,GAAwB,IAAxB;AACA,SAAKC,YAAL,GAAoB,IAApB;AACA,SAAKC,YAAL,GAAoB,IAApB;AACA,SAAKH,gBAAL,GAAwB9mC,WAAxB;AAC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ED;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,MAAMynC,UAAN,CAAiB;AACb57O,EAAAA,WAAW,CAACq2N,iBAAD,EAAoBwlB,YAApB,EAAkC;AACzC,SAAKxlB,iBAAL,GAAyBA,iBAAzB;AACA,SAAKwlB,YAAL,GAAoBA,YAApB;AACA,SAAKC,QAAL,GAAgB,KAAhB;AACH;;AACD15N,EAAAA,MAAM,GAAG;AACL,SAAK05N,QAAL,GAAgB,IAAhB;;AACA,SAAKzlB,iBAAL,CAAuBniB,kBAAvB,CAA0C,KAAK2nC,YAA/C;AACH;;AACDl6O,EAAAA,OAAO,GAAG;AACN,SAAKm6O,QAAL,GAAgB,KAAhB;;AACA,SAAKzlB,iBAAL,CAAuBl/M,KAAvB;AACH;;AACD4kO,EAAAA,YAAY,CAAC/rL,OAAD,EAAU;AAClB,QAAIA,OAAO,IAAI,CAAC,KAAK8rL,QAArB,EAA+B;AAC3B,WAAK15N,MAAL;AACH,KAFD,MAGK,IAAI,CAAC4tC,OAAD,IAAY,KAAK8rL,QAArB,EAA+B;AAChC,WAAKn6O,OAAL;AACH;AACJ;;AArBY;AAuBjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,MAAMq6O,QAAN,CAAe;AACXh8O,EAAAA,WAAW,GAAG;AACV,SAAKi8O,YAAL,GAAoB,KAApB;AACA,SAAKC,UAAL,GAAkB,CAAlB;AACA,SAAKC,mBAAL,GAA2B,CAA3B;AACA,SAAKC,iBAAL,GAAyB,KAAzB;AACH;;AACW,MAARC,QAAQ,CAACn4K,QAAD,EAAW;AACnB,SAAKo4K,SAAL,GAAiBp4K,QAAjB;;AACA,QAA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CA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,MAAMqlD,QAAN,CAAe;AACXngP,EAAAA,WAAW,CAAC8uB,MAAD,EAASsxN,eAAT,EAA0B;AACjC,SAAKtxN,MAAL,GAAcA,MAAd;AACA,SAAKsxN,eAAL,GAAuBA,eAAvB;AACH;;AACDr2B,EAAAA,SAAS,CAAC9+M,KAAD,EAAQ6L,MAAM,GAAG,YAAjB,EAA+Bq1N,QAA/B,EAAyCr9M,MAAzC,EAAiD;AACtD,QAAI7jB,KAAK,IAAI,IAAT,IAAiBA,KAAK,KAAK,EAA3B,IAAiCA,KAAK,KAAKA,KAA/C,EACI,OAAO,IAAP;;AACJ,QAAI;AACA,aAAOm+D,UAAU,CAACn+D,KAAD,EAAQ6L,MAAR,EAAgBgY,MAAM,IAAI,KAAKA,MAA/B,EAAuCq9M,QAAQ,IAAI,KAAKiU,eAAjB,IAAoCt0E,SAA3E,CAAjB;AACH,KAFD,CAGA,OAAO9qK,KAAP,EAAc;AACV,YAAM49O,wBAAwB,CAACuB,QAAD,EAAWn/O,KAAK,CAAC4tB,OAAjB,CAA9B;AACH;AACJ;;AAdU;;AAgBfuxN,QAAQ,CAAC1xE,IAAT;AAAA,mBAAqG0xE,QAArG,EAjwImGx2E,+DAiwInG,CAA+Hg5D,oDAA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miP,OAAO,GAAG57O,MAAM,CAAC9H,CAAD,CAAtB;AACA,QAAM2jP,OAAO,GAAG77O,MAAM,CAACvG,CAAD,CAAtB;AACA,SAAOmiP,OAAO,IAAIC,OAAX,GAAqB,CAArB,GAAyBD,OAAO,GAAGC,OAAV,GAAoB,CAAC,CAArB,GAAyB,CAAzD;AACH;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,MAAMC,WAAN,CAAkB;AACdzhP,EAAAA,WAAW,CAAC0hP,OAAD,EAAU;AACjB,SAAKA,OAAL,GAAeA,OAAf;AACH;AACD;AACJ;AACA;AACA;AACA;AACA;AACA;;;AACI33B,EAAAA,SAAS,CAAC9+M,KAAD,EAAQooO,UAAR,EAAoBvkN,MAApB,EAA4B;AACjC,QAAI,CAAC6yN,OAAO,CAAC12O,KAAD,CAAZ,EACI,OAAO,IAAP;AACJ6jB,IAAAA,MAAM,GAAGA,MAAM,IAAI,KAAK4yN,OAAxB;;AACA,QAAI;AACA,YAAM3pM,GAAG,GAAG6pM,WAAW,CAAC32O,KAAD,CAAvB;AACA,aAAO+9G,YAAY,CAACjxE,GAAD,EAAMjpB,MAAN,EAAcukN,UAAd,CAAnB;AACH,KAHD,CAIA,OAAOryO,KAAP,EAAc;AACV,YAAM49O,wBAAwB,CAAC6C,WAAD,EAAczgP,KAAK,CAAC4tB,OAApB,CAA9B;AACH;AACJ;;AAtBa;;AAwBlB6yN,WAAW,CAAChzE,IAAZ;AAAA,mBAAwGgzE,WAAxG,EAzlJmG93E,+DAylJnG,CAAqIg5D,oDAArI;AAAA;;AACA8e,WAAW,CAAC9B,KAAZ,kBA1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A;;;AACII,EAAAA,gBAAgB,CAAC91J,QAAD,EAAW,CAAG;AAC9B;AACJ;AACA;;;AACI+1J,EAAAA,cAAc,CAAC37C,MAAD,EAAS,CAAG;AAC1B;AACJ;AACA;;;AACIg8C,EAAAA,2BAA2B,CAACC,iBAAD,EAAoB,CAAG;;AAtB3B;AAyB3B;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;AACA;AACA;AACA;;;AACA,MAAMe,UAAN,CAAiB;AAGjB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACxzKA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,MAAMa,WAAN,CAAkB;AAElB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,MAAMC,WAAN,CAAkB;AAGlB;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,MAAMC,WAAN,CAAkB;AACd;AACAzlP,EAAAA,WAAW,CAACotE,OAAD,EAAU;AACjB;AACR;AACA;AACA;AACQ,SAAKs4K,eAAL,GAAuB,IAAIx1O,GAAJ,EAAvB;AACA;AACR;AACA;;AACQ,SAAKy1O,UAAL,GAAkB,IAAlB;;AACA,QAAI,CAACv4K,OAAL,EAAc;AACV,WAAKA,OAAL,GAAe,IAAIl9D,GAAJ,EAAf;AACH,KAFD,MAGK,IAAI,OAAOk9D,OAAP,KAAmB,QAAvB,EAAiC;AAClC,WAAKw4K,QAAL,GAAgB,MAAM;AAClB,aAAKx4K,OAAL,GAAe,IAAIl9D,GAAJ,EAAf;AACAk9D,QAAAA,OAAO,CAACr/D,KAAR,CAAc,IAAd,EAAoB7L,OAApB,CAA4B2jP,IAAI,I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H;;AACD,SAAKnoP,KAAL,GAAa+jL,IAAI,CAAC/jL,KAAL,IAAc,IAA3B;AACH;;AAnB4C;AAsBjD;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASwoP,OAAT,CAAiBp6N,OAAjB,EAA0BjI,IAA1B,EAAgC;AAC5B,SAAO;AACHA,IAAAA,IADG;AAEHimD,IAAAA,OAAO,EAAEh+C,OAAO,CAACg+C,OAFd;AAGH1rE,IAAAA,OAAO,EAAE0tB,OAAO,CAAC1tB,OAHd;AAIHulH,IAAAA,OAAO,EAAE73F,OAAO,CAAC63F,OAJd;AAKHn6C,IAAAA,MAAM,EAAE19C,OAAO,CAAC09C,MALb;AAMHy7K,IAAAA,cAAc,EAAEn5N,OAAO,CAACm5N,cANrB;AAOH9sO,IAAAA,YAAY,EAAE2T,OAAO,CAAC3T,YAPnB;AAQHw5C,IAAAA,eAAe,EAAE7lC,OAAO,CAAC6lC;AARtB,GAAP;AAUH;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;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,MAAMw0L,UAAN,CAAiB;AACbzpP,EAAAA,WAAW,CAAC89F,OAAD,EAAU;AACjB,SAAKA,OAAL,GAAeA,OAAf;AACH;AACD;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACIn7E,EAAAA,OAAO,CAACioF,KAAD,EAAQxnG,GAAR,EAAagsB,OAAO,GAAG,EAAvB,EAA2B;AAC9B,QAAIs6N,GAAJ,CAD8B,CAE9B;;AACA,QAAI9+I,KAAK,YAAYw9I,WAArB,EAAkC;AAC9B;AACA;AACAsB,MAAAA,GAAG,GAAG9+I,KAAN;AACH,KAJD,MAKK;AACD;AACA;AACA;AACA;AACA,UAAIx9B,OAAO,GAAG0+F,SAAd;;AACA,UAAI18I,OAAO,CAACg+C,OAAR,YAA2Bq4K,WAA/B,EAA4C;AACxCr4K,QAAAA,OAAO,GAAGh+C,OAAO,CAACg+C,OAAlB;AACH,OAFD,MAGK;AACDA,QAAAA,OAAO,GAAG,IAAIq4K,WAAJ,CAAgBr2N,OAAO,CAACg+C,OAAxB,CAAV;AACH,OAXA,CAYD;;;AACA,UAAIN,MAAM,GAAGg/F,SAAb;;AACA,UAAI,CAAC,CAAC18I,OAAO,CAAC09C,MAAd,EAAsB;AAClB,YAAI19C,OAAO,CAAC09C,MAAR,YAA0Bu6K,UAA9B,EAA0C;AACtCv6K,UAAAA,MAAM,GAAG19C,OAAO,CAAC09C,MAAjB;AACH,SAFD,MAGK;AACDA,UAAAA,MAAM,GAAG,IAAIu6K,UAAJ,CAAe;AAAEG,YAAAA,UAAU,EAAEp4N,OAAO,CAAC09C;AAAtB,WAAf,CAAT;AACH;AACJ,OArBA,CAsBD;;;AACA48K,MAAAA,GAAG,GAAG,IAAItB,WAAJ,CAAgBx9I,KAAhB,EAAuBxnG,GAAvB,EAA6BgsB,OAAO,CAACjI,IAAR,KAAiB2kJ,SAAjB,GAA6B18I,OAAO,CAACjI,IAArC,GAA4C,IAAzE,EAAgF;AAClFimD,QAAAA,OADkF;AAElF1rE,QAAAA,OAAO,EAAE0tB,OAAO,CAAC1tB,OAFiE;AAGlForE,QAAAA,MAHkF;AAIlFy7K,QAAAA,cAAc,EAAEn5N,OAAO,CAACm5N,cAJ0D;AAKlF;AACA9sO,QAAAA,YAAY,EAAE2T,OAAO,CAAC3T,YAAR,IAAwB,MAN4C;AAOlFw5C,QAAAA,eAAe,EAAE7lC,OAAO,CAAC6lC;AAPyD,OAAhF,CAAN;AASH,KAxC6B,CAyC9B;AACA;AACA;AACA;;;AACA,UAAM00L,OAAO,GAAGruD,wCAAE,CAACouD,GAAD,CAAF,CAAQ7nD,IAAR,CAAayjD,yDAAS,CAAEoE,GAAD,IAAS,KAAK5rJ,OAAL,CAAawG,MAAb,CAAoBolJ,GAApB,CAAV,CAAtB,CAAhB,CA7C8B,CA8C9B;AACA;AACA;;AACA,QAAI9+I,KAAK,YAAYw9I,WAAjB,IAAgCh5N,OAAO,CAAC63F,OAAR,KAAoB,QAAxD,EAAkE;AAC9D,aAAO0iI,OAAP;AACH,KAnD6B,CAoD9B;AACA;AACA;;;AACA,UAAMC,IAAI,GAAGD,OAAO,CAAC9nD,IAAR,CAAa39L,sDAAM,CAAEw8F,KAAD,IAAWA,KAAK,YAAY4oJ,YAA7B,CAAnB,CAAb,CAvD8B,CAwD9B;;AACA,YAAQl6N,OAAO,CAAC63F,OAAR,IAAmB,MAA3B;AACI,WAAK,MAAL;AACI;AACA;AACA;AACA;AACA;AACA,gBAAQyiI,GAAG,CAACjuO,YAAZ;AACI,eAAK,aAAL;AACI,mBAAOmuO,IAAI,CAAC/nD,IAAL,CAAU/+L,mDAAG,CAAEinO,GAAD,IAAS;AAC1B;AACA,kBAAIA,GAAG,CAAC5iN,IAAJ,KAAa,IAAb,IAAqB,EAAE4iN,GAAG,CAAC5iN,IAAJ,YAAoB+I,WAAtB,CAAzB,EAA6D;AACzD,sBAAM,IAAIrX,KAAJ,CAAU,iCAAV,CAAN;AACH;;AACD,qBAAOkxN,GAAG,CAAC5iN,IAAX;AACH,aANmB,CAAb,CAAP;;AAOJ,eAAK,MAAL;AACI,mBAAOyiO,IAAI,CAAC/nD,IAAL,CAAU/+L,mDAAG,CAAEinO,GAAD,IAAS;AAC1B;AACA,kBAAIA,GAAG,CAAC5iN,IAAJ,KAAa,IAAb,IAAqB,EAAE4iN,GAAG,CAAC5iN,IAAJ,YAAoBnL,IAAtB,CAAzB,EAAsD;AAClD,sBAAM,IAAInD,KAAJ,CAAU,yBAAV,CAAN;AACH;;AACD,qBAAOkxN,GAAG,CAAC5iN,IAAX;AACH,aANmB,CAAb,CAAP;;AAOJ,eAAK,MAAL;AACI,mBAAOyiO,IAAI,CAAC/nD,IAAL,CAAU/+L,mDAAG,CAAEinO,GAAD,IAAS;AAC1B;AACA,kBAAIA,GAAG,CAAC5iN,IAAJ,KAAa,IAAb,IAAqB,OAAO4iN,GAAG,CAAC5iN,IAAX,KAAoB,QAA7C,EAAuD;AACnD,sBAAM,IAAItO,KAAJ,CAAU,2BAAV,CAAN;AACH;;AACD,qBAAOkxN,GAAG,CAAC5iN,IAAX;AACH,aANmB,CAAb,CAAP;;AAOJ,eAAK,MAAL;AACA;AACI;AACA,mBAAOyiO,IAAI,CAAC/nD,IAAL,CAAU/+L,mDAAG,CAAEinO,GAAD,IAASA,GAAG,CAAC5iN,IAAd,CAAb,CAAP;AA5BR;;AA8BJ,WAAK,UAAL;AACI;AACA,eAAOyiO,IAAP;;AACJ;AACI;AACA,cAAM,IAAI/wO,KAAJ,CAAW,uCAAsCuW,OAAO,CAAC63F,OAAQ,GAAjE,CAAN;AA1CR;AA4CH;AACD;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACI94F,EAAAA,MAAM,CAAC/qB,GAAD,EAAMgsB,OAAO,GAAG,EAAhB,EAAoB;AACtB,WAAO,KAAKzM,OAAL,CAAa,QAAb,EAAuBvf,GAAvB,EAA4BgsB,OAA5B,CAAP;AACH;AACD;AACJ;AACA;AACA;AACA;;;AACI/X,EAAAA,GAAG,CAACjU,GAAD,EAAMgsB,OAAO,GAAG,EAAhB,EAAoB;AACnB,WAAO,KAAKzM,OAAL,CAAa,KAAb,EAAoBvf,GAApB,EAAyBgsB,OAAzB,CAAP;AACH;AACD;AACJ;AACA;AACA;AACA;AACA;AACA;;;AACIy4H,EAAAA,IAAI,CAACzkJ,GAAD,EAAMgsB,OAAO,GAAG,EAAhB,EAAoB;AACpB,WAAO,KAAKzM,OAAL,CAAa,MAAb,EAAqBvf,GAArB,EAA0BgsB,OAA1B,CAAP;AACH;AACD;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACIy6N,EAAAA,KAAK,CAACzmP,GAAD,EAAM0mP,aAAN,EAAqB;AACtB,WAAO,KAAKnnO,OAAL,CAAa,OAAb,EAAsBvf,GAAtB,EAA2B;AAC9B0pE,MAAAA,MAAM,EAAE,IAAIu6K,UAAJ,GAAiBjuL,MAAjB,CAAwB0wL,aAAxB,EAAuC,gBAAvC,CADsB;AAE9B7iI,MAAAA,OAAO,EAAE,MAFqB;AAG9BxrG,MAAAA,YAAY,EAAE;AAHgB,KAA3B,CAAP;AAKH;AACD;AACJ;AACA;AACA;AACA;AACA;AACA;;;AACI2T,EAAAA,OAAO,CAAChsB,GAAD,EAAMgsB,OAAO,GAAG,EAAhB,EAAoB;AACvB,WAAO,KAAKzM,OAAL,CAAa,SAAb,EAAwBvf,GAAxB,EAA6BgsB,OAA7B,CAAP;AACH;AACD;AACJ;AACA;AACA;AACA;;;AACIwqI,EAAAA,KAAK,CAACx2J,GAAD,EAAM+jB,IAAN,EAAYiI,OAAO,GAAG,EAAtB,EAA0B;AAC3B,WAAO,KAAKzM,OAAL,CAAa,OAAb,EAAsBvf,GAAtB,EAA2BomP,OAAO,CAACp6N,OAAD,EAAUjI,IAAV,CAAlC,CAAP;AACH;AACD;AACJ;AACA;AACA;AACA;AACA;;;AACIknK,EAAAA,IAAI,CAACjrL,GAAD,EAAM+jB,IAAN,EAAYiI,OAAO,GAAG,EAAtB,EAA0B;AAC1B,WAAO,KAAKzM,OAAL,CAAa,MAAb,EAAqBvf,GAArB,EAA0BomP,OAAO,CAACp6N,OAAD,EAAUjI,IAAV,CAAjC,CAAP;AACH;AACD;AACJ;AACA;AACA;AACA;AACA;;;AACIyhD,EAAAA,GAAG,CAACxlE,GAAD,EAAM+jB,IAAN,EAAYiI,OAAO,GAAG,EAAtB,EAA0B;AACzB,WAAO,KAAKzM,OAAL,CAAa,KAAb,EAAoBvf,GAApB,EAAyBomP,OAAO,CAACp6N,OAAD,EAAUjI,IAAV,CAAhC,CAAP;AACH;;AA9NY;;AAgOjBsiO,UAAU,CAACh7E,IAAX;AAAA,mBAAuGg7E,UAAvG,EAA6F9/E,sDAA7F,CAAmI47E,WAAnI;AAAA;;AACAkE,UAAU,CAAC/6E,KAAX,kBAD6F/E,gEAC7F;AAAA,SAA2G8/E,UAA3G;AAAA,WAA2GA,UAA3G;AAAA;;AACA;AAAA,qDAF6F9/E,+DAE7F,CAA2F8/E,UAA3F,EAAmH,CAAC;AACxG3oP,IAAAA,IAAI,EAAE8oK,qDAAUA;AADwF,GAAD,CAAnH,EAE4B,YAAY;AAAE,WAAO,CAAC;AAAE9oK,MAAAA,IAAI,EAAEykP;AAAR,KAAD,CAAP;AAAiC,GAF3E;AAAA;AAIA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;AACA;AACA;AACA;;;AACA,MAAMwE,sBAAN,CAA6B;AACzB/pP,EAAAA,WAAW,CAACiY,IAAD,EAAO40D,WAAP,EAAoB;AAC3B,SAAK50D,IAAL,GAAYA,IAAZ;AACA,SAAK40D,WAAL,GAAmBA,WAAnB;AACH;;AACDy3B,EAAAA,MAAM,CAAColJ,GAAD,EAAM;AACR,WAAO,KAAK78K,WAAL,CAAiBm9K,SAAjB,CAA2BN,GAA3B,EAAgC,KAAKzxO,IAArC,CAAP;AACH;;AAPwB;AAS7B;AACA;AACA;AACA;AACA;AACA;;;AACA,MAAMgyO,iBAAiB,GAAG,IAAInvD,yDAAJ,CAAmB,mBAAnB,CAA1B;;AACA,MAAMovD,eAAN,CAAsB;AAClBF,EAAAA,SAAS,CAACN,GAAD,EAAMzxO,IAAN,EAAY;AACjB,WAAOA,IAAI,CAACqsF,MAAL,CAAYolJ,GAAZ,CAAP;AACH;;AAHiB;;AAKtBQ,eAAe,CAACz7E,IAAhB;AAAA,mBAA4Gy7E,eAA5G;AAAA;;AACAA,eAAe,CAACx7E,KAAhB,kBAxC6F/E,gEAwC7F;AAAA,SAAgHugF,eAAhH;AAAA,WAAgHA,eAAhH;AAAA;;AACA;AAAA,qDAzC6FvgF,+DAyC7F,CAA2FugF,eAA3F,EAAwH,CAAC;AAC7GppP,IAAAA,IAAI,EAAE8oK,qDAAUA;AAD6F,GAAD,CAAxH;AAAA;AAIA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,IAAIugF,aAAa,GAAG,CAApB,EACA;AACA;;AACA,MAAMC,qBAAqB,GAAG,gDAA9B,EACA;AACA;;AACA,MAAMC,sBAAsB,GAAG,+CAA/B;AACA,MAAMC,6BAA6B,GAAG,6CAAtC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,MAAMC,oBAAN,CAA2B;AAE3B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,MAAMC,kBAAN,CAAyB;AACrBxqP,EAAAA,WAAW,CAACyqP,WAAD,EAAcvvO,QAAd,EAAwB;AAC/B,SAAKuvO,WAAL,GAAmBA,WAAnB;AACA,SAAKvvO,QAAL,GAAgBA,QAAhB;AACA;AACR;AACA;;AACQ,SAAKwvO,eAAL,GAAuB9nP,OAAO,CAACC,OAAR,EAAvB;AACH;AACD;AACJ;AACA;;;AACI8nP,EAAAA,YAAY,GAAG;AACX,WAAQ,qBAAoBR,aAAa,EAAG,EAA5C;AACH;AACD;AACJ;AACA;AACA;AACA;AACA;;;AACI7lJ,EAAAA,MAAM,CAAColJ,GAAD,EAAM;AACR;AACA;AACA,QAAIA,GAAG,CAAC7zL,MAAJ,KAAe,OAAnB,EAA4B;AACxB,YAAM,IAAIh9C,KAAJ,CAAUwxO,sBAAV,CAAN;AACH,KAFD,MAGK,IAAIX,GAAG,CAACjuO,YAAJ,KAAqB,MAAzB,EAAiC;AAClC,YAAM,IAAI5C,KAAJ,CAAUyxO,6BAAV,CAAN;AACH,KARO,CASR;;;AACA,WAAO,IAAI3zC,4CAAJ,CAAgBO,QAAD,IAAc;AAChC;AACA;AACA;AACA,YAAM92L,QAAQ,GAAG,KAAKuqO,YAAL,EAAjB;AACA,YAAMvnP,GAAG,GAAGsmP,GAAG,CAAClB,aAAJ,CAAkB16O,OAAlB,CAA0B,sBAA1B,EAAmD,IAAGsS,QAAS,IAA/D,CAAZ,CALgC,CAMhC;;AACA,YAAMm9D,IAAI,GAAG,KAAKriE,QAAL,CAAcC,aAAd,CAA4B,QAA5B,CAAb;AACAoiE,MAAAA,IAAI,CAACpO,GAAL,GAAW/rE,GAAX,CARgC,CAShC;AACA;AACA;;AACA,UAAI+jB,IAAI,GAAG,IAAX,CAZgC,CAahC;;AACA,UAAI3N,QAAQ,GAAG,KAAf,CAdgC,CAehC;AACA;;AACA,UAAIoxO,SAAS,GAAG,KAAhB,CAjBgC,CAkBhC;AACA;AACA;;AACA,WAAKH,WAAL,CAAiBrqO,QAAjB,IAA8B3e,IAAD,IAAU;AACnC;AACA,eAAO,KAAKgpP,WAAL,CAAiBrqO,QAAjB,CAAP,CAFmC,CAGnC;;AACA,YAAIwqO,SAAJ,EAAe;AACX;AACH,SANkC,CAOnC;;;AACAzjO,QAAAA,IAAI,GAAG1lB,IAAP;AACA+X,QAAAA,QAAQ,GAAG,IAAX;AACH,OAVD,CArBgC,CAgChC;AACA;AACA;;;AACA,YAAMqxO,OAAO,GAAG,MAAM;AAClB;AACA,YAAIttK,IAAI,CAAC0gE,UAAT,EAAqB;AACjB1gE,UAAAA,IAAI,CAAC0gE,UAAL,CAAgB32H,WAAhB,CAA4Bi2D,IAA5B;AACH,SAJiB,CAKlB;AACA;;;AACA,eAAO,KAAKktK,WAAL,CAAiBrqO,QAAjB,CAAP;AACH,OARD,CAnCgC,CA4ChC;AACA;AACA;AACA;;;AACA,YAAM0qO,MAAM,GAAIpqJ,KAAD,IAAW;AACtB;AACA,YAAIkqJ,SAAJ,EAAe;AACX;AACH,SAJqB,CAKtB;AACA;AACA;;;AACA,aAAKF,eAAL,CAAqBnnP,IAArB,CAA0B,MAAM;AAC5B;AACAsnP,UAAAA,OAAO,GAFqB,CAG5B;;AACA,cAAI,CAACrxO,QAAL,EAAe;AACX;AACA;AACA09L,YAAAA,QAAQ,CAACl2M,KAAT,CAAe,IAAIuoP,iBAAJ,CAAsB;AACjCnmP,cAAAA,GADiC;AAEjC4Z,cAAAA,MAAM,EAAE,CAFyB;AAGjCmsO,cAAAA,UAAU,EAAE,aAHqB;AAIjCnoP,cAAAA,KAAK,EAAE,IAAI6X,KAAJ,CAAUuxO,qBAAV;AAJ0B,aAAtB,CAAf;AAMA;AACH,WAd2B,CAe5B;AACA;;;AACAlzC,UAAAA,QAAQ,CAACj/L,IAAT,CAAc,IAAIqxO,YAAJ,CAAiB;AAC3BniO,YAAAA,IAD2B;AAE3BnK,YAAAA,MAAM,EAAE;AAAI;AAFe;AAG3BmsO,YAAAA,UAAU,EAAE,IAHe;AAI3B/lP,YAAAA;AAJ2B,WAAjB,CAAd,EAjB4B,CAuB5B;;AACA8zM,UAAAA,QAAQ,CAACnL,QAAT;AACH,SAzBD;AA0BH,OAlCD,CAhDgC,CAmFhC;AACA;AACA;;;AACA,YAAMg/C,OAAO,GAAI/pP,KAAD,IAAW;AACvB;AACA,YAAI4pP,SAAJ,EAAe;AACX;AACH;;AACDC,QAAAA,OAAO,GALgB,CAMvB;;AACA3zC,QAAAA,QAAQ,CAACl2M,KAAT,CAAe,IAAIuoP,iBAAJ,CAAsB;AACjCvoP,UAAAA,KADiC;AAEjCgc,UAAAA,MAAM,EAAE,CAFyB;AAGjCmsO,UAAAA,UAAU,EAAE,aAHqB;AAIjC/lP,UAAAA;AAJiC,SAAtB,CAAf;AAMH,OAbD,CAtFgC,CAoGhC;AACA;;;AACAm6E,MAAAA,IAAI,CAAChxD,gBAAL,CAAsB,MAAtB,EAA8Bu+N,MAA9B;AACAvtK,MAAAA,IAAI,CAAChxD,gBAAL,CAAsB,OAAtB,EAA+Bw+N,OAA/B;AACA,WAAK7vO,QAAL,CAAciM,IAAd,CAAmBC,WAAnB,CAA+Bm2D,IAA/B,EAxGgC,CAyGhC;;AACA25H,MAAAA,QAAQ,CAACj/L,IAAT,CAAc;AAAEnX,QAAAA,IAAI,EAAEioP,aAAa,CAACiC;AAAtB,OAAd,EA1GgC,CA2GhC;;AACA,aAAO,MAAM;AACT;AACAJ,QAAAA,SAAS,GAAG,IAAZ,CAFS,CAGT;;AACArtK,QAAAA,IAAI,CAACjxD,mBAAL,CAAyB,MAAzB,EAAiCw+N,MAAjC;AACAvtK,QAAAA,IAAI,CAACjxD,mBAAL,CAAyB,OAAzB,EAAkCy+N,OAAlC,EALS,CAMT;;AACAF,QAAAA,OAAO;AACV,OARD;AASH,KArHM,CAAP;AAsHH;;AArJoB;;AAuJzBL,kBAAkB,CAAC/7E,IAAnB;AAAA,mBAA+G+7E,kBAA/G,EAxO6F7gF,sDAwO7F,CAAmJ4gF,oBAAnJ,GAxO6F5gF,sDAwO7F,CAAoL8wB,qDAApL;AAAA;;AACA+vD,kBAAkB,CAAC97E,KAAnB,kBAzO6F/E,gEAyO7F;AAAA,SAAmH6gF,kBAAnH;AAAA,WAAmHA,kBAAnH;AAAA;;AACA;AAAA,qDA1O6F7gF,+DA0O7F,CAA2F6gF,kBAA3F,EAA2H,CAAC;AAChH1pP,IAAAA,IAAI,EAAE8oK,qDAAUA;AADgG,GAAD,CAA3H,EAE4B,YAAY;AAAE,WAAO,CAAC;AAAE9oK,MAAAA,IAAI,EAAEypP;AAAR,KAAD,EAAiC;AAAEzpP,MAAAA,IAAI,EAAEgrK,SAAR;AAAmBk0B,MAAAA,UAAU,EAAE,CAAC;AAC9Fl/L,QAAAA,IAAI,EAAE45L,iDADwF;AAE9Fp7B,QAAAA,IAAI,EAAE,CAACm7B,qDAAD;AAFwF,OAAD;AAA/B,KAAjC,CAAP;AAGlB,GALxB;AAAA;AAMA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,MAAMwwD,gBAAN,CAAuB;AACnBjrP,EAAAA,WAAW,CAAC6pP,KAAD,EAAQ;AACf,SAAKA,KAAL,GAAaA,KAAb;AACH;AACD;AACJ;AACA;AACA;AACA;AACA;AACA;;;AACIG,EAAAA,SAAS,CAACN,GAAD,EAAMzxO,IAAN,EAAY;AACjB,QAAIyxO,GAAG,CAAC7zL,MAAJ,KAAe,OAAnB,EAA4B;AACxB,aAAO,KAAKg0L,KAAL,CAAWvlJ,MAAX,CAAkBolJ,GAAlB,CAAP;AACH,KAHgB,CAIjB;;;AACA,WAAOzxO,IAAI,CAACqsF,MAAL,CAAYolJ,GAAZ,CAAP;AACH;;AAjBkB;;AAmBvBuB,gBAAgB,CAACx8E,IAAjB;AAAA,mBAA6Gw8E,gBAA7G,EA3Q6FthF,sDA2Q7F,CAA+I6gF,kBAA/I;AAAA;;AACAS,gBAAgB,CAACv8E,KAAjB,kBA5Q6F/E,gEA4Q7F;AAAA,SAAiHshF,gBAAjH;AAAA,WAAiHA,gBAAjH;AAAA;;AACA;AAAA,qDA7Q6FthF,+DA6Q7F,CAA2FshF,gBAA3F,EAAyH,CAAC;AAC9GnqP,IAAAA,IAAI,EAAE8oK,qDAAUA;AAD8F,GAAD,CAAzH,EAE4B,YAAY;AAAE,WAAO,CAAC;AAAE9oK,MAAAA,IAAI,EAAE0pP;AAAR,KAAD,CAAP;AAAwC,GAFlF;AAAA;AAIA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,MAAMU,WAAW,GAAG,cAApB;AACA;AACA;AACA;AACA;;AACA,SAASC,cAAT,CAAwBC,GAAxB,EAA6B;AACzB,MAAI,iBAAiBA,GAAjB,IAAwBA,GAAG,CAACC,WAAhC,EAA6C;AACzC,WAAOD,GAAG,CAACC,WAAX;AACH;;AACD,MAAI,mBAAmBrmO,IAAnB,CAAwBomO,GAAG,CAACE,qBAAJ,EAAxB,CAAJ,EAA0D;AACtD,WAAOF,GAAG,CAACG,iBAAJ,CAAsB,eAAtB,CAAP;AACH;;AACD,SAAO,IAAP;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,MAAMC,cAAN,CAAqB;AACjBxrP,EAAAA,WAAW,CAACyrP,UAAD,EAAa;AACpB,SAAKA,UAAL,GAAkBA,UAAlB;AACH;AACD;AACJ;AACA;AACA;AACA;;;AACInnJ,EAAAA,MAAM,CAAColJ,GAAD,EAAM;AACR;AACA;AACA,QAAIA,GAAG,CAAC7zL,MAAJ,KAAe,OAAnB,EAA4B;AACxB,YAAM,IAAIh9C,KAAJ,CAAW,+EAAX,CAAN;AACH,KALO,CAMR;;;AACA,WAAO,IAAI89L,4CAAJ,CAAgBO,QAAD,IAAc;AAChC;AACA,YAAMk0C,GAAG,GAAG,KAAKK,UAAL,CAAgB52E,KAAhB,EAAZ;AACAu2E,MAAAA,GAAG,CAACl9N,IAAJ,CAASw7N,GAAG,CAAC7zL,MAAb,EAAqB6zL,GAAG,CAAClB,aAAzB;;AACA,UAAI,CAAC,CAACkB,GAAG,CAACz0L,eAAV,EAA2B;AACvBm2L,QAAAA,GAAG,CAACn2L,eAAJ,GAAsB,IAAtB;AACH,OAN+B,CAOhC;;;AACAy0L,MAAAA,GAAG,CAACt8K,OAAJ,CAAYlrE,OAAZ,CAAoB,CAACyV,IAAD,EAAO8kC,MAAP,KAAkB2uM,GAAG,CAACM,gBAAJ,CAAqB/zO,IAArB,EAA2B8kC,MAAM,CAAC14B,IAAP,CAAY,GAAZ,CAA3B,CAAtC,EARgC,CAShC;;AACA,UAAI,CAAC2lO,GAAG,CAACt8K,OAAJ,CAAYxgE,GAAZ,CAAgB,QAAhB,CAAL,EAAgC;AAC5Bw+O,QAAAA,GAAG,CAACM,gBAAJ,CAAqB,QAArB,EAA+B,mCAA/B;AACH,OAZ+B,CAahC;;;AACA,UAAI,CAAChC,GAAG,CAACt8K,OAAJ,CAAYxgE,GAAZ,CAAgB,cAAhB,CAAL,EAAsC;AAClC,cAAM++O,YAAY,GAAGjC,GAAG,CAACd,uBAAJ,EAArB,CADkC,CAElC;;AACA,YAAI+C,YAAY,KAAK,IAArB,EAA2B;AACvBP,UAAAA,GAAG,CAACM,gBAAJ,CAAqB,cAArB,EAAqCC,YAArC;AACH;AACJ,OApB+B,CAqBhC;;;AACA,UAAIjC,GAAG,CAACjuO,YAAR,EAAsB;AAClB,cAAMA,YAAY,GAAGiuO,GAAG,CAACjuO,YAAJ,CAAiBtO,WAAjB,EAArB,CADkB,CAElB;AACA;AACA;AACA;AACA;;AACAi+O,QAAAA,GAAG,CAAC3vO,YAAJ,GAAqBA,YAAY,KAAK,MAAlB,GAA4BA,YAA5B,GAA2C,MAA/D;AACH,OA9B+B,CA+BhC;;;AACA,YAAMmwO,OAAO,GAAGlC,GAAG,CAACf,aAAJ,EAAhB,CAhCgC,CAiChC;AACA;AACA;AACA;AACA;AACA;;AACA,UAAIkD,cAAc,GAAG,IAArB,CAvCgC,CAwChC;AACA;;AACA,YAAMC,cAAc,GAAG,MAAM;AACzB,YAAID,cAAc,KAAK,IAAvB,EAA6B;AACzB,iBAAOA,cAAP;AACH,SAHwB,CAIzB;;;AACA,cAAM7uO,MAAM,GAAGouO,GAAG,CAACpuO,MAAJ,KAAe,IAAf,GAAsB;AAAI;AAA1B,UAA4CouO,GAAG,CAACpuO,MAA/D;AACA,cAAMmsO,UAAU,GAAGiC,GAAG,CAACjC,UAAJ,IAAkB,IAArC,CANyB,CAOzB;;AACA,cAAM/7K,OAAO,GAAG,IAAIq4K,WAAJ,CAAgB2F,GAAG,CAACE,qBAAJ,EAAhB,CAAhB,CARyB,CASzB;AACA;;AACA,cAAMloP,GAAG,GAAG+nP,cAAc,CAACC,GAAD,CAAd,IAAuB1B,GAAG,CAACtmP,GAAvC,CAXyB,CAYzB;;AACAyoP,QAAAA,cAAc,GAAG,IAAIzC,kBAAJ,CAAuB;AAAEh8K,UAAAA,OAAF;AAAWpwD,UAAAA,MAAX;AAAmBmsO,UAAAA,UAAnB;AAA+B/lP,UAAAA;AAA/B,SAAvB,CAAjB;AACA,eAAOyoP,cAAP;AACH,OAfD,CA1CgC,CA0DhC;AACA;AACA;;;AACA,YAAMf,MAAM,GAAG,MAAM;AACjB;AACA,YAAI;AAAE19K,UAAAA,OAAF;AAAWpwD,UAAAA,MAAX;AAAmBmsO,UAAAA,UAAnB;AAA+B/lP,UAAAA;AAA/B,YAAuC0oP,cAAc,EAAzD,CAFiB,CAGjB;;AACA,YAAI3kO,IAAI,GAAG,IAAX;;AACA,YAAInK,MAAM,KAAK;AAAI;AAAnB,UAAoC;AAChC;AACAmK,UAAAA,IAAI,GAAI,OAAOikO,GAAG,CAACW,QAAX,KAAwB,WAAzB,GAAwCX,GAAG,CAACY,YAA5C,GAA2DZ,GAAG,CAACW,QAAtE;AACH,SARgB,CASjB;;;AACA,YAAI/uO,MAAM,KAAK,CAAf,EAAkB;AACdA,UAAAA,MAAM,GAAG,CAAC,CAACmK,IAAF,GAAS;AAAI;AAAb,YAAwB,CAAjC;AACH,SAZgB,CAajB;AACA;AACA;AACA;;;AACA,YAAI7N,EAAE,GAAG0D,MAAM,IAAI,GAAV,IAAiBA,MAAM,GAAG,GAAnC,CAjBiB,CAkBjB;AACA;;AACA,YAAI0sO,GAAG,CAACjuO,YAAJ,KAAqB,MAArB,IAA+B,OAAO0L,IAAP,KAAgB,QAAnD,EAA6D;AACzD;AACA,gBAAM8kO,YAAY,GAAG9kO,IAArB;AACAA,UAAAA,IAAI,GAAGA,IAAI,CAACrZ,OAAL,CAAao9O,WAAb,EAA0B,EAA1B,CAAP;;AACA,cAAI;AACA;AACA/jO,YAAAA,IAAI,GAAGA,IAAI,KAAK,EAAT,GAAcnD,IAAI,CAAC3R,KAAL,CAAW8U,IAAX,CAAd,GAAiC,IAAxC;AACH,WAHD,CAIA,OAAOnmB,KAAP,EAAc;AACV;AACA;AACA;AACAmmB,YAAAA,IAAI,GAAG8kO,YAAP,CAJU,CAKV;AACA;;AACA,gBAAI3yO,EAAJ,EAAQ;AACJ;AACAA,cAAAA,EAAE,GAAG,KAAL,CAFI,CAGJ;;AACA6N,cAAAA,IAAI,GAAG;AAAEnmB,gBAAAA,KAAF;AAAS4I,gBAAAA,IAAI,EAAEud;AAAf,eAAP;AACH;AACJ;AACJ;;AACD,YAAI7N,EAAJ,EAAQ;AACJ;AACA49L,UAAAA,QAAQ,CAACj/L,IAAT,CAAc,IAAIqxO,YAAJ,CAAiB;AAC3BniO,YAAAA,IAD2B;AAE3BimD,YAAAA,OAF2B;AAG3BpwD,YAAAA,MAH2B;AAI3BmsO,YAAAA,UAJ2B;AAK3B/lP,YAAAA,GAAG,EAAEA,GAAG,IAAI0oK;AALe,WAAjB,CAAd,EAFI,CASJ;AACA;;AACAorC,UAAAA,QAAQ,CAACnL,QAAT;AACH,SAZD,MAaK;AACD;AACAmL,UAAAA,QAAQ,CAACl2M,KAAT,CAAe,IAAIuoP,iBAAJ,CAAsB;AACjC;AACAvoP,YAAAA,KAAK,EAAEmmB,IAF0B;AAGjCimD,YAAAA,OAHiC;AAIjCpwD,YAAAA,MAJiC;AAKjCmsO,YAAAA,UALiC;AAMjC/lP,YAAAA,GAAG,EAAEA,GAAG,IAAI0oK;AANqB,WAAtB,CAAf;AAQH;AACJ,OAnED,CA7DgC,CAiIhC;AACA;AACA;;;AACA,YAAMi/E,OAAO,GAAI/pP,KAAD,IAAW;AACvB,cAAM;AAAEoC,UAAAA;AAAF,YAAU0oP,cAAc,EAA9B;AACA,cAAM/hB,GAAG,GAAG,IAAIwf,iBAAJ,CAAsB;AAC9BvoP,UAAAA,KAD8B;AAE9Bgc,UAAAA,MAAM,EAAEouO,GAAG,CAACpuO,MAAJ,IAAc,CAFQ;AAG9BmsO,UAAAA,UAAU,EAAEiC,GAAG,CAACjC,UAAJ,IAAkB,eAHA;AAI9B/lP,UAAAA,GAAG,EAAEA,GAAG,IAAI0oK;AAJkB,SAAtB,CAAZ;AAMAorC,QAAAA,QAAQ,CAACl2M,KAAT,CAAe+oO,GAAf;AACH,OATD,CApIgC,CA8IhC;AACA;AACA;AACA;;;AACA,UAAImiB,WAAW,GAAG,KAAlB,CAlJgC,CAmJhC;AACA;;AACA,YAAMC,cAAc,GAAIzrJ,KAAD,IAAW;AAC9B;AACA,YAAI,CAACwrJ,WAAL,EAAkB;AACdh1C,UAAAA,QAAQ,CAACj/L,IAAT,CAAc6zO,cAAc,EAA5B;AACAI,UAAAA,WAAW,GAAG,IAAd;AACH,SAL6B,CAM9B;AACA;;;AACA,YAAIE,aAAa,GAAG;AAChBtrP,UAAAA,IAAI,EAAEioP,aAAa,CAACsD,gBADJ;AAEhBtpP,UAAAA,MAAM,EAAE29F,KAAK,CAAC39F;AAFE,SAApB,CAR8B,CAY9B;;AACA,YAAI29F,KAAK,CAAC4rJ,gBAAV,EAA4B;AACxBF,UAAAA,aAAa,CAAC92L,KAAd,GAAsBorC,KAAK,CAACprC,KAA5B;AACH,SAf6B,CAgB9B;AACA;AACA;;;AACA,YAAIo0L,GAAG,CAACjuO,YAAJ,KAAqB,MAArB,IAA+B,CAAC,CAAC2vO,GAAG,CAACY,YAAzC,EAAuD;AACnDI,UAAAA,aAAa,CAACG,WAAd,GAA4BnB,GAAG,CAACY,YAAhC;AACH,SArB6B,CAsB9B;;;AACA90C,QAAAA,QAAQ,CAACj/L,IAAT,CAAcm0O,aAAd;AACH,OAxBD,CArJgC,CA8KhC;AACA;;;AACA,YAAMI,YAAY,GAAI9rJ,KAAD,IAAW;AAC5B;AACA;AACA,YAAI+rJ,QAAQ,GAAG;AACX3rP,UAAAA,IAAI,EAAEioP,aAAa,CAAC2D,cADT;AAEX3pP,UAAAA,MAAM,EAAE29F,KAAK,CAAC39F;AAFH,SAAf,CAH4B,CAO5B;AACA;;AACA,YAAI29F,KAAK,CAAC4rJ,gBAAV,EAA4B;AACxBG,UAAAA,QAAQ,CAACn3L,KAAT,GAAiBorC,KAAK,CAACprC,KAAvB;AACH,SAX2B,CAY5B;;;AACA4hJ,QAAAA,QAAQ,CAACj/L,IAAT,CAAcw0O,QAAd;AACH,OAdD,CAhLgC,CA+LhC;;;AACArB,MAAAA,GAAG,CAAC7+N,gBAAJ,CAAqB,MAArB,EAA6Bu+N,MAA7B;AACAM,MAAAA,GAAG,CAAC7+N,gBAAJ,CAAqB,OAArB,EAA8Bw+N,OAA9B;AACAK,MAAAA,GAAG,CAAC7+N,gBAAJ,CAAqB,SAArB,EAAgCw+N,OAAhC;AACAK,MAAAA,GAAG,CAAC7+N,gBAAJ,CAAqB,OAArB,EAA8Bw+N,OAA9B,EAnMgC,CAoMhC;;AACA,UAAIrB,GAAG,CAACnB,cAAR,EAAwB;AACpB;AACA6C,QAAAA,GAAG,CAAC7+N,gBAAJ,CAAqB,UAArB,EAAiC4/N,cAAjC,EAFoB,CAGpB;;AACA,YAAIP,OAAO,KAAK,IAAZ,IAAoBR,GAAG,CAACuB,MAA5B,EAAoC;AAChCvB,UAAAA,GAAG,CAACuB,MAAJ,CAAWpgO,gBAAX,CAA4B,UAA5B,EAAwCigO,YAAxC;AACH;AACJ,OA5M+B,CA6MhC;;;AACApB,MAAAA,GAAG,CAACwB,IAAJ,CAAShB,OAAT;AACA10C,MAAAA,QAAQ,CAACj/L,IAAT,CAAc;AAAEnX,QAAAA,IAAI,EAAEioP,aAAa,CAACiC;AAAtB,OAAd,EA/MgC,CAgNhC;AACA;;AACA,aAAO,MAAM;AACT;AACAI,QAAAA,GAAG,CAAC9+N,mBAAJ,CAAwB,OAAxB,EAAiCy+N,OAAjC;AACAK,QAAAA,GAAG,CAAC9+N,mBAAJ,CAAwB,OAAxB,EAAiCy+N,OAAjC;AACAK,QAAAA,GAAG,CAAC9+N,mBAAJ,CAAwB,MAAxB,EAAgCw+N,MAAhC;AACAM,QAAAA,GAAG,CAAC9+N,mBAAJ,CAAwB,SAAxB,EAAmCy+N,OAAnC;;AACA,YAAIrB,GAAG,CAACnB,cAAR,EAAwB;AACpB6C,UAAAA,GAAG,CAAC9+N,mBAAJ,CAAwB,UAAxB,EAAoC6/N,cAApC;;AACA,cAAIP,OAAO,KAAK,IAAZ,IAAoBR,GAAG,CAACuB,MAA5B,EAAoC;AAChCvB,YAAAA,GAAG,CAACuB,MAAJ,CAAWrgO,mBAAX,CAA+B,UAA/B,EAA2CkgO,YAA3C;AACH;AACJ,SAXQ,CAYT;;;AACA,YAAIpB,GAAG,CAACyB,UAAJ,KAAmBzB,GAAG,CAAC0B,IAA3B,EAAiC;AAC7B1B,UAAAA,GAAG,CAAC1xO,KAAJ;AACH;AACJ,OAhBD;AAiBH,KAnOM,CAAP;AAoOH;;AApPgB;;AAsPrB8xO,cAAc,CAAC/8E,IAAf;AAAA,mBAA2G+8E,cAA3G,EAniB6F7hF,sDAmiB7F,CAA2ImzB,uDAA3I;AAAA;;AACA0uD,cAAc,CAAC98E,KAAf,kBApiB6F/E,gEAoiB7F;AAAA,SAA+G6hF,cAA/G;AAAA,WAA+GA,cAA/G;AAAA;;AACA;AAAA,qDAriB6F7hF,+DAqiB7F,CAA2F6hF,cAA3F,EAAuH,CAAC;AAC5G1qP,IAAAA,IAAI,EAAE8oK,qDAAUA;AAD4F,GAAD,CAAvH,EAE4B,YAAY;AAAE,WAAO,CAAC;AAAE9oK,MAAAA,IAAI,EAAEg8L,uDAAa4nD;AAArB,KAAD,CAAP;AAAmC,GAF7E;AAAA;AAIA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,MAAMqI,gBAAgB,GAAG,IAAIjyD,yDAAJ,CAAmB,kBAAnB,CAAzB;AACA,MAAMkyD,gBAAgB,GAAG,IAAIlyD,yDAAJ,CAAmB,kBAAnB,CAAzB;AACA;AACA;AACA;AACA;AACA;;AACA,MAAMmyD,sBAAN,CAA6B;AAE7B;AACA;AACA;;;AACA,MAAMC,uBAAN,CAA8B;AAC1BltP,EAAAA,WAAW,CAAC4nJ,GAAD,EAAM0oE,QAAN,EAAgBonB,UAAhB,EAA4B;AACnC,SAAK9vF,GAAL,GAAWA,GAAX;AACA,SAAK0oE,QAAL,GAAgBA,QAAhB;AACA,SAAKonB,UAAL,GAAkBA,UAAlB;AACA,SAAKyV,gBAAL,GAAwB,EAAxB;AACA,SAAKC,SAAL,GAAiB,IAAjB;AACA;AACR;AACA;;AACQ,SAAKC,UAAL,GAAkB,CAAlB;AACH;;AACDC,EAAAA,QAAQ,GAAG;AACP,QAAI,KAAKh9B,QAAL,KAAkB,QAAtB,EAAgC;AAC5B,aAAO,IAAP;AACH;;AACD,UAAMi9B,YAAY,GAAG,KAAK3lG,GAAL,CAAS4vF,MAAT,IAAmB,EAAxC;;AACA,QAAI+V,YAAY,KAAK,KAAKJ,gBAA1B,EAA4C;AACxC,WAAKE,UAAL;AACA,WAAKD,SAAL,GAAiBjI,qEAAiB,CAACoI,YAAD,EAAe,KAAK7V,UAApB,CAAlC;AACA,WAAKyV,gBAAL,GAAwBI,YAAxB;AACH;;AACD,WAAO,KAAKH,SAAZ;AACH;;AAvByB;;AAyB9BF,uBAAuB,CAACz+E,IAAxB;AAAA,mBAAoHy+E,uBAApH,EArlB6FvjF,sDAqlB7F,CAA6J8wB,qDAA7J,GArlB6F9wB,sDAqlB7F,CAAkL0nD,sDAAlL,GArlB6F1nD,sDAqlB7F,CAA0MojF,gBAA1M;AAAA;;AACAG,uBAAuB,CAACx+E,KAAxB,kBAtlB6F/E,gEAslB7F;AAAA,SAAwHujF,uBAAxH;AAAA,WAAwHA,uBAAxH;AAAA;;AACA;AAAA,qDAvlB6FvjF,+DAulB7F,CAA2FujF,uBAA3F,EAAgI,CAAC;AACrHpsP,IAAAA,IAAI,EAAE8oK,qDAAUA;AADqG,GAAD,CAAhI,EAE4B,YAAY;AAAE,WAAO,CAAC;AAAE9oK,MAAAA,IAAI,EAAEgrK,SAAR;AAAmBk0B,MAAAA,UAAU,EAAE,CAAC;AAC9Dl/L,QAAAA,IAAI,EAAE45L,iDADwD;AAE9Dp7B,QAAAA,IAAI,EAAE,CAACm7B,qDAAD;AAFwD,OAAD;AAA/B,KAAD,EAG3B;AAAE35L,MAAAA,IAAI,EAAEgrK,SAAR;AAAmBk0B,MAAAA,UAAU,EAAE,CAAC;AAClCl/L,QAAAA,IAAI,EAAE45L,iDAD4B;AAElCp7B,QAAAA,IAAI,EAAE,CAAC+xD,sDAAD;AAF4B,OAAD;AAA/B,KAH2B,EAM3B;AAAEvwN,MAAAA,IAAI,EAAEgrK,SAAR;AAAmBk0B,MAAAA,UAAU,EAAE,CAAC;AAClCl/L,QAAAA,IAAI,EAAE45L,iDAD4B;AAElCp7B,QAAAA,IAAI,EAAE,CAACytF,gBAAD;AAF4B,OAAD;AAA/B,KAN2B,CAAP;AASlB,GAXxB;AAAA;AAYA;AACA;AACA;;;AACA,MAAMS,mBAAN,CAA0B;AACtBxtP,EAAAA,WAAW,CAACytP,YAAD,EAAeC,UAAf,EAA2B;AAClC,SAAKD,YAAL,GAAoBA,YAApB;AACA,SAAKC,UAAL,GAAkBA,UAAlB;AACH;;AACD1D,EAAAA,SAAS,CAACN,GAAD,EAAMzxO,IAAN,EAAY;AACjB,UAAM01O,KAAK,GAAGjE,GAAG,CAACtmP,GAAJ,CAAQ+J,WAAR,EAAd,CADiB,CAEjB;AACA;AACA;AACA;;AACA,QAAIu8O,GAAG,CAAC7zL,MAAJ,KAAe,KAAf,IAAwB6zL,GAAG,CAAC7zL,MAAJ,KAAe,MAAvC,IAAiD83L,KAAK,CAAC9/O,UAAN,CAAiB,SAAjB,CAAjD,IACA8/O,KAAK,CAAC9/O,UAAN,CAAiB,UAAjB,CADJ,EACkC;AAC9B,aAAOoK,IAAI,CAACqsF,MAAL,CAAYolJ,GAAZ,CAAP;AACH;;AACD,UAAM3kP,KAAK,GAAG,KAAK0oP,YAAL,CAAkBH,QAAlB,EAAd,CAViB,CAWjB;;AACA,QAAIvoP,KAAK,KAAK,IAAV,IAAkB,CAAC2kP,GAAG,CAACt8K,OAAJ,CAAYxgE,GAAZ,CAAgB,KAAK8gP,UAArB,CAAvB,EAAyD;AACrDhE,MAAAA,GAAG,GAAGA,GAAG,CAAC1rP,KAAJ,CAAU;AAAEovE,QAAAA,OAAO,EAAEs8K,GAAG,CAACt8K,OAAJ,CAAYnqE,GAAZ,CAAgB,KAAKyqP,UAArB,EAAiC3oP,KAAjC;AAAX,OAAV,CAAN;AACH;;AACD,WAAOkT,IAAI,CAACqsF,MAAL,CAAYolJ,GAAZ,CAAP;AACH;;AArBqB;;AAuB1B8D,mBAAmB,CAAC/+E,IAApB;AAAA,mBAAgH++E,mBAAhH,EA7nB6F7jF,sDA6nB7F,CAAqJsjF,sBAArJ,GA7nB6FtjF,sDA6nB7F,CAAwLqjF,gBAAxL;AAAA;;AACAQ,mBAAmB,CAAC9+E,KAApB,kBA9nB6F/E,gEA8nB7F;AAAA,SAAoH6jF,mBAApH;AAAA,WAAoHA,mBAApH;AAAA;;AACA;AAAA,qDA/nB6F7jF,+DA+nB7F,CAA2F6jF,mBAA3F,EAA4H,CAAC;AACjH1sP,IAAAA,IAAI,EAAE8oK,qDAAUA;AADiG,GAAD,CAA5H,EAE4B,YAAY;AAAE,WAAO,CAAC;AAAE9oK,MAAAA,IAAI,EAAEmsP;AAAR,KAAD,EAAmC;AAAEnsP,MAAAA,IAAI,EAAEgrK,SAAR;AAAmBk0B,MAAAA,UAAU,EAAE,CAAC;AAChGl/L,QAAAA,IAAI,EAAE45L,iDAD0F;AAEhGp7B,QAAAA,IAAI,EAAE,CAAC0tF,gBAAD;AAF0F,OAAD;AAA/B,KAAnC,CAAP;AAGlB,GALxB;AAAA;AAOA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,MAAMY,uBAAN,CAA8B;AAC1B5tP,EAAAA,WAAW,CAAC6tP,OAAD,EAAUz5B,QAAV,EAAoB;AAC3B,SAAKy5B,OAAL,GAAeA,OAAf;AACA,SAAKz5B,QAAL,GAAgBA,QAAhB;AACA,SAAK05B,KAAL,GAAa,IAAb;AACH;;AACDxpJ,EAAAA,MAAM,CAAColJ,GAAD,EAAM;AACR,QAAI,KAAKoE,KAAL,KAAe,IAAnB,EAAyB;AACrB,YAAM/oO,YAAY,GAAG,KAAKqvM,QAAL,CAAc/8M,GAAd,CAAkB4yO,iBAAlB,EAAqC,EAArC,CAArB;AACA,WAAK6D,KAAL,GAAa/oO,YAAY,CAACyxN,WAAb,CAAyB,CAACv+N,IAAD,EAAO40D,WAAP,KAAuB,IAAIk9K,sBAAJ,CAA2B9xO,IAA3B,EAAiC40D,WAAjC,CAAhD,EAA+F,KAAKghL,OAApG,CAAb;AACH;;AACD,WAAO,KAAKC,KAAL,CAAWxpJ,MAAX,CAAkBolJ,GAAlB,CAAP;AACH;;AAZyB;;AAc9BkE,uBAAuB,CAACn/E,IAAxB;AAAA,mBAAoHm/E,uBAApH,EApqB6FjkF,sDAoqB7F,CAA6J67E,WAA7J,GApqB6F77E,sDAoqB7F,CAAqLA,mDAArL;AAAA;;AACAikF,uBAAuB,CAACl/E,KAAxB,kBArqB6F/E,gEAqqB7F;AAAA,SAAwHikF,uBAAxH;AAAA,WAAwHA,uBAAxH;AAAA;;AACA;AAAA,qDAtqB6FjkF,+DAsqB7F,CAA2FikF,uBAA3F,EAAgI,CAAC;AACrH9sP,IAAAA,IAAI,EAAE8oK,qDAAUA;AADqG,GAAD,CAAhI,EAE4B,YAAY;AAAE,WAAO,CAAC;AAAE9oK,MAAAA,IAAI,EAAE0kP;AAAR,KAAD,EAAwB;AAAE1kP,MAAAA,IAAI,EAAE6oK,mDAAWikD;AAAnB,KAAxB,CAAP;AAAwD,GAFlG;AAAA;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASmgC,mBAAT,CAA6BF,OAA7B,EAAsC9oO,YAAY,GAAG,EAArD,EAAyD;AACrD,MAAI,CAACA,YAAL,EAAmB;AACf,WAAO8oO,OAAP;AACH;;AACD,SAAO9oO,YAAY,CAACyxN,WAAb,CAAyB,CAACv+N,IAAD,EAAO40D,WAAP,KAAuB,IAAIk9K,sBAAJ,CAA2B9xO,IAA3B,EAAiC40D,WAAjC,CAAhD,EAA+FghL,OAA/F,CAAP;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASG,oBAAT,GAAgC;AAC5B,MAAI,OAAO1yO,MAAP,KAAkB,QAAtB,EAAgC;AAC5B,WAAOA,MAAP;AACH;;AACD,SAAO,EAAP;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,MAAM2yO,oBAAN,CAA2B;AACvB;AACJ;AACA;AACkB,SAAPj7D,OAAO,GAAG;AACb,WAAO;AACHk7D,MAAAA,QAAQ,EAAED,oBADP;AAEHn7C,MAAAA,SAAS,EAAE,CACP;AAAEF,QAAAA,OAAO,EAAE46C,mBAAX;AAAgCprB,QAAAA,QAAQ,EAAE8nB;AAA1C,OADO;AAFR,KAAP;AAMH;AACD;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;;;AACsB,SAAXiE,WAAW,CAAC/+N,OAAO,GAAG,EAAX,EAAe;AAC7B,WAAO;AACH8+N,MAAAA,QAAQ,EAAED,oBADP;AAEHn7C,MAAAA,SAAS,EAAE,CACP1jL,OAAO,CAACsoN,UAAR,GAAqB;AAAE9kC,QAAAA,OAAO,EAAEm6C,gBAAX;AAA6BqB,QAAAA,QAAQ,EAAEh/N,OAAO,CAACsoN;AAA/C,OAArB,GAAmF,EAD5E,EAEPtoN,OAAO,CAACs+N,UAAR,GAAqB;AAAE96C,QAAAA,OAAO,EAAEo6C,gBAAX;AAA6BoB,QAAAA,QAAQ,EAAEh/N,OAAO,CAACs+N;AAA/C,OAArB,GAAmF,EAF5E;AAFR,KAAP;AAOH;;AA5BsB;;AA8B3BO,oBAAoB,CAACx/E,IAArB;AAAA,mBAAiHw/E,oBAAjH;AAAA;;AACAA,oBAAoB,CAACr8C,IAArB,kBAhvB6FjoC,8DAgvB7F;AAAA,QAAkHskF;AAAlH;AACAA,oBAAoB,CAACp8C,IAArB,kBAjvB6FloC,8DAivB7F;AAAA,aAAmJ,CAC3I6jF,mBAD2I,EAE3I;AAAE56C,IAAAA,OAAO,EAAEq3C,iBAAX;AAA8Bp3C,IAAAA,WAAW,EAAE26C,mBAA3C;AAAgE/gF,IAAAA,KAAK,EAAE;AAAvE,GAF2I,EAG3I;AAAEmmC,IAAAA,OAAO,EAAEq6C,sBAAX;AAAmC7qB,IAAAA,QAAQ,EAAE8qB;AAA7C,GAH2I,EAI3I;AAAEt6C,IAAAA,OAAO,EAAEm6C,gBAAX;AAA6BqB,IAAAA,QAAQ,EAAE;AAAvC,GAJ2I,EAK3I;AAAEx7C,IAAAA,OAAO,EAAEo6C,gBAAX;AAA6BoB,IAAAA,QAAQ,EAAE;AAAvC,GAL2I;AAAnJ;;AAOA;AAAA,qDAxvB6FzkF,+DAwvB7F,CAA2FskF,oBAA3F,EAA6H,CAAC;AAClHntP,IAAAA,IAAI,EAAEo6L,mDAD4G;AAElH57B,IAAAA,IAAI,EAAE,CAAC;AACCwzC,MAAAA,SAAS,EAAE,CACP06C,mBADO,EAEP;AAAE56C,QAAAA,OAAO,EAAEq3C,iBAAX;AAA8Bp3C,QAAAA,WAAW,EAAE26C,mBAA3C;AAAgE/gF,QAAAA,KAAK,EAAE;AAAvE,OAFO,EAGP;AAAEmmC,QAAAA,OAAO,EAAEq6C,sBAAX;AAAmC7qB,QAAAA,QAAQ,EAAE8qB;AAA7C,OAHO,EAIP;AAAEt6C,QAAAA,OAAO,EAAEm6C,gBAAX;AAA6BqB,QAAAA,QAAQ,EAAE;AAAvC,OAJO,EAKP;AAAEx7C,QAAAA,OAAO,EAAEo6C,gBAAX;AAA6BoB,QAAAA,QAAQ,EAAE;AAAvC,OALO;AADZ,KAAD;AAF4G,GAAD,CAA7H;AAAA;AAYA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,MAAMC,gBAAN,CAAuB;;AAEvBA,gBAAgB,CAAC5/E,IAAjB;AAAA,mBAA6G4/E,gBAA7G;AAAA;;AACAA,gBAAgB,CAACz8C,IAAjB,kBAhxB6FjoC,8DAgxB7F;AAAA,QAA8G0kF,gBAA9G;AAAA,YAA0IJ,oBAA1I;AAAA;AACAI,gBAAgB,CAACx8C,IAAjB,kBAjxB6FloC,8DAixB7F;AAAA,aAA2I,CACnI8/E,UADmI,EAEnI;AAAE72C,IAAAA,OAAO,EAAE2yC,WAAX;AAAwBnjB,IAAAA,QAAQ,EAAEwrB;AAAlC,GAFmI,EAGnIpC,cAHmI,EAInI;AAAE54C,IAAAA,OAAO,EAAE4yC,WAAX;AAAwB3yC,IAAAA,WAAW,EAAE24C;AAArC,GAJmI,CAA3I;AAAA,YAKiB,CACLyC,oBAAoB,CAACE,WAArB,CAAiC;AAC7BzW,IAAAA,UAAU,EAAE,YADiB;AAE7BgW,IAAAA,UAAU,EAAE;AAFiB,GAAjC,CADK,CALjB;AAAA;;AAWA;AAAA,qDA5xB6F/jF,+DA4xB7F,CAA2F0kF,gBAA3F,EAAyH,CAAC;AAC9GvtP,IAAAA,IAAI,EAAEo6L,mDADwG;AAE9G57B,IAAAA,IAAI,EAAE,CAAC;AACC;AACpB;AACA;AACoBwyC,MAAAA,OAAO,EAAE,CACLm8C,oBAAoB,CAACE,WAArB,CAAiC;AAC7BzW,QAAAA,UAAU,EAAE,YADiB;AAE7BgW,QAAAA,UAAU,EAAE;AAFiB,OAAjC,CADK,CAJV;;AAUC;AACpB;AACA;AACA;AACoB56C,MAAAA,SAAS,EAAE,CACP22C,UADO,EAEP;AAAE72C,QAAAA,OAAO,EAAE2yC,WAAX;AAAwBnjB,QAAAA,QAAQ,EAAEwrB;AAAlC,OAFO,EAGPpC,cAHO,EAIP;AAAE54C,QAAAA,OAAO,EAAE4yC,WAAX;AAAwB3yC,QAAAA,WAAW,EAAE24C;AAArC,OAJO;AAdZ,KAAD;AAFwG,GAAD,CAAzH;AAAA;AAwBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,MAAM8C,qBAAN,CAA4B;;AAE5BA,qBAAqB,CAAC7/E,IAAtB;AAAA,mBAAkH6/E,qBAAlH;AAAA;;AACAA,qBAAqB,CAAC18C,IAAtB,kBAl0B6FjoC,8DAk0B7F;AAAA,QAAmH2kF;AAAnH;AACAA,qBAAqB,CAACz8C,IAAtB,kBAn0B6FloC,8DAm0B7F;AAAA,aAAqJ,CAC7I6gF,kBAD6I,EAE7I;AAAE53C,IAAAA,OAAO,EAAE23C,oBAAX;AAAiCp6B,IAAAA,UAAU,EAAE69B;AAA7C,GAF6I,EAG7I;AAAEp7C,IAAAA,OAAO,EAAEq3C,iBAAX;AAA8B7nB,IAAAA,QAAQ,EAAE6oB,gBAAxC;AAA0Dx+E,IAAAA,KAAK,EAAE;AAAjE,GAH6I;AAArJ;;AAKA;AAAA,qDAx0B6F9C,+DAw0B7F,CAA2F2kF,qBAA3F,EAA8H,CAAC;AACnHxtP,IAAAA,IAAI,EAAEo6L,mDAD6G;AAEnH57B,IAAAA,IAAI,EAAE,CAAC;AACCwzC,MAAAA,SAAS,EAAE,CACP03C,kBADO,EAEP;AAAE53C,QAAAA,OAAO,EAAE23C,oBAAX;AAAiCp6B,QAAAA,UAAU,EAAE69B;AAA7C,OAFO,EAGP;AAAEp7C,QAAAA,OAAO,EAAEq3C,iBAAX;AAA8B7nB,QAAAA,QAAQ,EAAE6oB,gBAAxC;AAA0Dx+E,QAAAA,KAAK,EAAE;AAAjE,OAHO;AADZ,KAAD;AAF6G,GAAD,CAA9H;AAAA;AAWA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,MAAMi4E,UAAU,GAAGW,uDAAnB;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AC5tEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAImJ,cAAJ;;AACA,CAAC,UAAUA,cAAV,EAA0B;AACvBA,EAAAA,cAAc,CAACA,cAAc,CAAC,UAAD,CAAd,GAA6B,CAA9B,CAAd,GAAiD,UAAjD;AACAA,EAAAA,cAAc,CAACA,cAAc,CAAC,oBAAD,CAAd,GAAuC,CAAxC,CAAd,GAA2D,oBAA3D;AACAA,EAAAA,cAAc,CAACA,cAAc,CAAC,eAAD,CAAd,GAAkC,CAAnC,CAAd,GAAsD,eAAtD;AACH,CAJD,EAIGA,cAAc,KAAKA,cAAc,GAAG,EAAtB,CAJjB;;AAKA,SAASC,WAAT,CAAqBC,WAArB,EAAkC;AAC9B,MAAIA,WAAW,CAAC,CAAD,CAAX,IAAkB,GAAtB,EAA2B;AACvB,WAAO,CAAC,IAAD,EAAOA,WAAP,CAAP;AACH;;AACD,QAAMC,UAAU,GAAGD,WAAW,CAAC1/O,OAAZ,CAAoB,GAApB,EAAyB,CAAzB,CAAnB;;AACA,MAAI2/O,UAAU,KAAK,CAAC,CAApB,EAAuB;AACnB,UAAM,IAAI91O,KAAJ,CAAW,uBAAsB61O,WAAY,+BAA7C,CAAN;AACH;;AACD,SAAO,CAACA,WAAW,CAACrnP,KAAZ,CAAkB,CAAlB,EAAqBsnP,UAArB,CAAD,EAAmCD,WAAW,CAACrnP,KAAZ,CAAkBsnP,UAAU,GAAG,CAA/B,CAAnC,CAAP;AACH,EACD;;;AACA,SAASC,aAAT,CAAuB5iG,OAAvB,EAAgC;AAC5B,SAAOyiG,WAAW,CAACziG,OAAD,CAAX,CAAqB,CAArB,MAA4B,cAAnC;AACH,EACD;;;AACA,SAAS6iG,WAAT,CAAqB7iG,OAArB,EAA8B;AAC1B,SAAOyiG,WAAW,CAACziG,OAAD,CAAX,CAAqB,CAArB,MAA4B,YAAnC;AACH,EACD;;;AACA,SAAS8iG,YAAT,CAAsB9iG,OAAtB,EAA+B;AAC3B,SAAOyiG,WAAW,CAACziG,OAAD,CAAX,CAAqB,CAArB,MAA4B,aAAnC;AACH;;AACD,SAAS+iG,WAAT,CAAqB50L,QAArB,EAA+B;AAC3B,SAAOA,QAAQ,KAAK,IAAb,GAAoB,IAApB,GAA2Bs0L,WAAW,CAACt0L,QAAD,CAAX,CAAsB,CAAtB,CAAlC;AACH;;AACD,SAAS60L,cAAT,CAAwBC,MAAxB,EAAgCzyF,SAAhC,EAA2C;AACvC,SAAOyyF,MAAM,GAAI,IAAGA,MAAO,IAAGzyF,SAAU,EAA3B,GAA+BA,SAA5C;AACH;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,MAAM0yF,iBAAN,CAAwB;AACpBlvP,EAAAA,WAAW,CAAC;AAAEmvP,IAAAA,gBAAF;AAAoBC,IAAAA,uBAApB;AAA6CC,IAAAA,WAAW,GAAGb,cAAc,CAACc,aAA1E;AAAyFC,IAAAA,cAAc,GAAG,KAA1G;AAAiHC,IAAAA,MAAM,GAAG,KAA1H;AAAiIC,IAAAA,aAAa,GAAG,KAAjJ;AAAwJC,IAAAA,2BAA2B,GAAG;AAAtL,MAAgM,EAAjM,EAAqM;AAC5M,SAAKP,gBAAL,GAAwB,EAAxB;AACA,SAAKI,cAAL,GAAsB,KAAtB;AACA,SAAKI,YAAL,GAAoB,KAApB;;AACA,QAAIR,gBAAgB,IAAIA,gBAAgB,CAAC/jP,MAAjB,GAA0B,CAAlD,EAAqD;AACjD+jP,MAAAA,gBAAgB,CAACjtP,OAAjB,CAAyB8pJ,OAAO,IAAI,KAAKmjG,gBAAL,CAAsBnjG,OAAtB,IAAiC,IAArE;AACH;;AACD,SAAKwjG,MAAL,GAAcA,MAAd;AACA,SAAKD,cAAL,GAAsBA,cAAc,IAAIC,MAAxC;AACA,SAAKJ,uBAAL,GAA+BA,uBAAuB,IAAI,IAA1D;AACA,SAAKC,WAAL,GAAmBA,WAAnB;AACA,SAAKI,aAAL,GAAqBA,aAArB;AACA,SAAKC,2BAAL,GAAmCA,2BAAnC;AACH;;AACDE,EAAAA,eAAe,CAACj4O,IAAD,EAAO;AAClB,WAAO,KAAK63O,MAAL,IAAe73O,IAAI,CAACxK,WAAL,MAAsB,KAAKgiP,gBAAjD;AACH;;AACDU,EAAAA,cAAc,CAACZ,MAAD,EAAS;AACnB,QAAI,OAAO,KAAKI,WAAZ,KAA4B,QAAhC,EAA0C;AACtC,YAAMS,YAAY,GAAGb,MAAM,KAAKnjF,SAAX,GAAuBA,SAAvB,GAAmC,KAAKujF,WAAL,CAAiBJ,MAAjB,CAAxD;AACA,aAAOa,YAAY,IAAI,KAAKT,WAAL,CAAiBtpP,OAAxC;AACH;;AACD,WAAO,KAAKspP,WAAZ;AACH;;AAxBmB;;AA0BxB,IAAIU,uBAAJ,EACA;AACA;;;AACA,IAAIC,eAAJ;;AACA,SAASC,oBAAT,CAA8BjkG,OAA9B,EAAuC;AACnC,MAAI,CAACgkG,eAAL,EAAsB;AAClBD,IAAAA,uBAAuB,GAAG,IAAIb,iBAAJ,EAA1B;AACAc,IAAAA,eAAe,GAAG;AACd,cAAQ,IAAId,iBAAJ,CAAsB;AAAEM,QAAAA,MAAM,EAAE;AAAV,OAAtB,CADM;AAEd,cAAQ,IAAIN,iBAAJ,CAAsB;AAAEM,QAAAA,MAAM,EAAE;AAAV,OAAtB,CAFM;AAGd,cAAQ,IAAIN,iBAAJ,CAAsB;AAAEM,QAAAA,MAAM,EAAE;AAAV,OAAtB,CAHM;AAId,eAAS,IAAIN,iBAAJ,CAAsB;AAAEM,QAAAA,MAAM,EAAE;AAAV,OAAtB,CAJK;AAKd,cAAQ,IAAIN,iBAAJ,CAAsB;AAAEM,QAAAA,MAAM,EAAE;AAAV,OAAtB,CALM;AAMd,aAAO,IAAIN,iBAAJ,CAAsB;AAAEM,QAAAA,MAAM,EAAE;AAAV,OAAtB,CANO;AAOd,eAAS,IAAIN,iBAAJ,CAAsB;AAAEM,QAAAA,MAAM,EAAE;AAAV,OAAtB,CAPK;AAQd,eAAS,IAAIN,iBAAJ,CAAsB;AAAEM,QAAAA,MAAM,EAAE;AAAV,OAAtB,CARK;AASd,YAAM,IAAIN,iBAAJ,CAAsB;AAAEM,QAAAA,MAAM,EAAE;AAAV,OAAtB,CATQ;AAUd,YAAM,IAAIN,iBAAJ,CAAsB;AAAEM,QAAAA,MAAM,EAAE;AAAV,OAAtB,CAVQ;AAWd,gBAAU,IAAIN,iBAAJ,CAAsB;AAAEM,QAAAA,MAAM,EAAE;AAAV,OAAtB,CAXI;AAYd,eAAS,IAAIN,iBAAJ,CAAsB;AAAEM,QAAAA,MAAM,EAAE;AAAV,OAAtB,CAZK;AAad,aAAO,IAAIN,iBAAJ,CAAsB;AAAEM,QAAAA,MAAM,EAAE;AAAV,OAAtB,CAbO;AAcd,WAAK,IAAIN,iBAAJ,CAAsB;AACvBC,QAAAA,gBAAgB,EAAE,CACd,SADc,EACH,SADG,EACQ,OADR,EACiB,YADjB,EAC+B,KAD/B,EACsC,IADtC,EAC4C,UAD5C,EAEd,QAFc,EAEJ,MAFI,EAEI,IAFJ,EAEU,IAFV,EAEgB,IAFhB,EAEsB,IAFtB,EAE4B,IAF5B,EAGd,IAHc,EAGR,QAHQ,EAGE,QAHF,EAGY,IAHZ,EAGkB,MAHlB,EAG0B,KAH1B,EAGiC,IAHjC,EAId,GAJc,EAIT,KAJS,EAIF,SAJE,EAIS,OAJT,EAIkB,IAJlB,CADK;AAOvBI,QAAAA,cAAc,EAAE;AAPO,OAAtB,CAdS;AAuBd,eAAS,IAAIL,iBAAJ,CAAsB;AAAEC,QAAAA,gBAAgB,EAAE,CAAC,OAAD,EAAU,OAAV;AAApB,OAAtB,CAvBK;AAwBd,eAAS,IAAID,iBAAJ,CAAsB;AAAEC,QAAAA,gBAAgB,EAAE,CAAC,OAAD,EAAU,OAAV,CAApB;AAAwCI,QAAAA,cAAc,EAAE;AAAxD,OAAtB,CAxBK;AAyBd,eAAS,IAAIL,iBAAJ,CAAsB;AAAEC,QAAAA,gBAAgB,EAAE,CAAC,OAAD,CAApB;AAA+BI,QAAAA,cAAc,EAAE;AAA/C,OAAtB,CAzBK;AA0Bd,YAAM,IAAIL,iBAAJ,CAAsB;AAAEC,QAAAA,gBAAgB,EAAE,CAAC,IAAD,CAApB;AAA4BI,QAAAA,cAAc,EAAE;AAA5C,OAAtB,CA1BQ;AA2Bd,YAAM,IAAIL,iBAAJ,CAAsB;AAAEC,QAAAA,gBAAgB,EAAE,CAAC,IAAD,EAAO,IAAP,CAApB;AAAkCI,QAAAA,cAAc,EAAE;AAAlD,OAAtB,CA3BQ;AA4Bd,YAAM,IAAIL,iBAAJ,CAAsB;AAAEC,QAAAA,gBAAgB,EAAE,CAAC,IAAD,EAAO,IAAP,CAApB;AAAkCI,QAAAA,cAAc,EAAE;AAAlD,OAAtB,CA5BQ;AA6Bd,aAAO,IAAIL,iBAAJ,CAAsB;AAAEM,QAAAA,MAAM,EAAE;AAAV,OAAtB,CA7BO;AA8Bd,aAAO,IAAIN,iBAAJ,CAAsB;AAAEE,QAAAA,uBAAuB,EAAE;AAA3B,OAAtB,CA9BO;AA+Bd,uBAAiB,IAAIF,iBAAJ,CAAsB;AACnC;AACA;AACA;AACA;AACA;AACAE,QAAAA,uBAAuB,EAAE,KANU;AAOnC;AACA;AACAM,QAAAA,2BAA2B,EAAE;AATM,OAAtB,CA/BH;AA0Cd,cAAQ,IAAIR,iBAAJ,CAAsB;AAAEE,QAAAA,uBAAuB,EAAE;AAA3B,OAAtB,CA1CM;AA2Cd,YAAM,IAAIF,iBAAJ,CAAsB;AAAEC,QAAAA,gBAAgB,EAAE,CAAC,IAAD,CAApB;AAA4BI,QAAAA,cAAc,EAAE;AAA5C,OAAtB,CA3CQ;AA4Cd,YAAM,IAAIL,iBAAJ,CAAsB;AAAEC,QAAAA,gBAAgB,EAAE,CAAC,IAAD,EAAO,IAAP;AAApB,OAAtB,CA5CQ;AA6Cd,YAAM,IAAID,iBAAJ,CAAsB;AAAEC,QAAAA,gBAAgB,EAAE,CAAC,IAAD,EAAO,IAAP,CAApB;AAAkCI,QAAAA,cAAc,EAAE;AAAlD,OAAtB,CA7CQ;AA8Cd,YAAM,IAAIL,iBAAJ,CAAsB;AAAEC,QAAAA,gBAAgB,EAAE,CAAC,IAAD,EAAO,IAAP,EAAa,KAAb,EAAoB,IAApB,CAApB;AAA+CI,QAAAA,cAAc,EAAE;AAA/D,OAAtB,CA9CQ;AA+Cd,YAAM,IAAIL,iBAAJ,CAAsB;AAAEC,QAAAA,gBAAgB,EAAE,CAAC,IAAD,EAAO,IAAP,EAAa,KAAb,EAAoB,IAApB,CAApB;AAA+CI,QAAAA,cAAc,EAAE;AAA/D,OAAtB,CA/CQ;AAgDd,aAAO,IAAIL,iBAAJ,CAAsB;AAAEC,QAAAA,gBAAgB,EAAE,CAAC,IAAD,EAAO,KAAP,EAAc,IAAd,CAApB;AAAyCI,QAAAA,cAAc,EAAE;AAAzD,OAAtB,CAhDO;AAiDd,YAAM,IAAIL,iBAAJ,CAAsB;AAAEC,QAAAA,gBAAgB,EAAE,CAAC,IAAD,EAAO,IAAP,EAAa,KAAb,EAAoB,IAApB,CAApB;AAA+CI,QAAAA,cAAc,EAAE;AAA/D,OAAtB,CAjDQ;AAkDd,kBAAY,IAAIL,iBAAJ,CAAsB;AAAEC,QAAAA,gBAAgB,EAAE,CAAC,UAAD,CAApB;AAAkCI,QAAAA,cAAc,EAAE;AAAlD,OAAtB,CAlDE;AAmDd,gBAAU,IAAIL,iBAAJ,CAAsB;AAAEC,QAAAA,gBAAgB,EAAE,CAAC,QAAD,EAAW,UAAX,CAApB;AAA4CI,QAAAA,cAAc,EAAE;AAA5D,OAAtB,CAnDI;AAoDd,aAAO,IAAIL,iBAAJ,CAAsB;AAAEO,QAAAA,aAAa,EAAE;AAAjB,OAAtB,CApDO;AAqDd,iBAAW,IAAIP,iBAAJ,CAAsB;AAAEO,QAAAA,aAAa,EAAE;AAAjB,OAAtB,CArDG;AAsDd,eAAS,IAAIP,iBAAJ,CAAsB;AAAEG,QAAAA,WAAW,EAAEb,cAAc,CAAC0B;AAA9B,OAAtB,CAtDK;AAuDd,gBAAU,IAAIhB,iBAAJ,CAAsB;AAAEG,QAAAA,WAAW,EAAEb,cAAc,CAAC0B;AAA9B,OAAtB,CAvDI;AAwDd,eAAS,IAAIhB,iBAAJ,CAAsB;AAC3B;AACA;AACAG,QAAAA,WAAW,EAAE;AAAEtpP,UAAAA,OAAO,EAAEyoP,cAAc,CAAC2B,kBAA1B;AAA8CtvG,UAAAA,GAAG,EAAE2tG,cAAc,CAACc;AAAlE;AAHc,OAAtB,CAxDK;AA6Dd,kBAAY,IAAIJ,iBAAJ,CAAsB;AAAEG,QAAAA,WAAW,EAAEb,cAAc,CAAC2B,kBAA9B;AAAkDV,QAAAA,aAAa,EAAE;AAAjE,OAAtB;AA7DE,KAAlB;AA+DH,GAlEkC,CAmEnC;AACA;;;AACA,SAAOO,eAAe,CAAChkG,OAAD,CAAf,IAA4BgkG,eAAe,CAAChkG,OAAO,CAAC7+I,WAAR,EAAD,CAA3C,IACH4iP,uBADJ;AAEH;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,MAAMK,gBAAgB,GAAG,IAAIxtO,MAAJ,CAAW,iBAAiB;AACjD,uBADgC,GACN;AAC1B;AACA;AACA,4DAJgC,GAI+B;AAC/D;AACA;AACA,QAPgC,GAOrB;AACX,aARqB,EAQN;AACnB,GATyB,CAAzB;AAUA;AACA;AACA;AACA;AACA;;;AACA,MAAMytO,WAAN,CAAkB;AACdrwP,EAAAA,WAAW,GAAG;AACV,SAAK2/I,OAAL,GAAe,IAAf;AACA,SAAK2wG,UAAL,GAAkB,EAAlB;AACA;AACR;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACQ,SAAKC,KAAL,GAAa,EAAb;AACA,SAAKC,YAAL,GAAoB,EAApB;AACH;;AACW,SAALn+O,KAAK,CAACm6J,QAAD,EAAW;AACnB,UAAMj4G,OAAO,GAAG,EAAhB;;AACA,UAAMk8L,UAAU,GAAG,CAAC1mB,GAAD,EAAM2mB,MAAN,KAAiB;AAChC,UAAIA,MAAM,CAACF,YAAP,CAAoBplP,MAApB,GAA6B,CAA7B,IAAkC,CAACslP,MAAM,CAAC/wG,OAA1C,IAAqD+wG,MAAM,CAACJ,UAAP,CAAkBllP,MAAlB,IAA4B,CAAjF,IACAslP,MAAM,CAACH,KAAP,CAAanlP,MAAb,IAAuB,CAD3B,EAC8B;AAC1BslP,QAAAA,MAAM,CAAC/wG,OAAP,GAAiB,GAAjB;AACH;;AACDoqF,MAAAA,GAAG,CAAC1nO,IAAJ,CAASquP,MAAT;AACH,KAND;;AAOA,QAAIC,WAAW,GAAG,IAAIN,WAAJ,EAAlB;AACA,QAAI/sO,KAAJ;AACA,QAAI8iC,OAAO,GAAGuqM,WAAd;AACA,QAAIC,KAAK,GAAG,KAAZ;AACAR,IAAAA,gBAAgB,CAAC5+E,SAAjB,GAA6B,CAA7B;;AACA,WAAOluJ,KAAK,GAAG8sO,gBAAgB,CAAC/wN,IAAjB,CAAsBmtI,QAAtB,CAAf,EAAgD;AAC5C,UAAIlpJ,KAAK,CAAC;AAAE;AAAH,OAAT,EAAwB;AACpB,YAAIstO,KAAJ,EAAW;AACP,gBAAM,IAAI/3O,KAAJ,CAAU,2CAAV,CAAN;AACH;;AACD+3O,QAAAA,KAAK,GAAG,IAAR;AACAxqM,QAAAA,OAAO,GAAG,IAAIiqM,WAAJ,EAAV;AACAM,QAAAA,WAAW,CAACH,YAAZ,CAAyBnuP,IAAzB,CAA8B+jD,OAA9B;AACH;;AACD,YAAMopG,GAAG,GAAGlsI,KAAK,CAAC;AAAE;AAAH,OAAjB;;AACA,UAAIksI,GAAJ,EAAS;AACL,cAAMy/F,MAAM,GAAG3rO,KAAK,CAAC;AAAE;AAAH,SAApB;;AACA,YAAI2rO,MAAM,KAAK,GAAf,EAAoB;AAChB;AACA7oM,UAAAA,OAAO,CAACyqM,YAAR,CAAqB,IAArB,EAA2BrhG,GAAG,CAAC2c,MAAJ,CAAW,CAAX,CAA3B;AACH,SAHD,MAIK,IAAI8iF,MAAM,KAAK,GAAf,EAAoB;AACrB;AACA7oM,UAAAA,OAAO,CAAC0qM,YAAR,CAAqBthG,GAAG,CAAC2c,MAAJ,CAAW,CAAX,CAArB;AACH,SAHI,MAIA;AACD;AACA/lH,UAAAA,OAAO,CAAC2qM,UAAR,CAAmBvhG,GAAnB;AACH;AACJ;;AACD,YAAMoM,SAAS,GAAGt4I,KAAK,CAAC;AAAE;AAAH,OAAvB;;AACA,UAAIs4I,SAAJ,EAAe;AACXx1G,QAAAA,OAAO,CAACyqM,YAAR,CAAqBzqM,OAAO,CAAC4qM,iBAAR,CAA0Bp1F,SAA1B,CAArB,EAA2Dt4I,KAAK,CAAC;AAAE;AAAH,SAAhE;AACH;;AACD,UAAIA,KAAK,CAAC;AAAE;AAAH,OAAT,EAA4B;AACxBstO,QAAAA,KAAK,GAAG,KAAR;AACAxqM,QAAAA,OAAO,GAAGuqM,WAAV;AACH;;AACD,UAAIrtO,KAAK,CAAC;AAAE;AAAH,OAAT,EAA8B;AAC1B,YAAIstO,KAAJ,EAAW;AACP,gBAAM,IAAI/3O,KAAJ,CAAU,8CAAV,CAAN;AACH;;AACD43O,QAAAA,UAAU,CAACl8L,OAAD,EAAUo8L,WAAV,CAAV;;AACAA,QAAAA,WAAW,GAAGvqM,OAAO,GAAG,IAAIiqM,WAAJ,EAAxB;AACH;AACJ;;AACDI,IAAAA,UAAU,CAACl8L,OAAD,EAAUo8L,WAAV,CAAV;;AACA,WAAOp8L,OAAP;AACH;AACD;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACIy8L,EAAAA,iBAAiB,CAACx6F,IAAD,EAAO;AACpB,QAAIr8I,MAAM,GAAG,EAAb;AACA,QAAI82O,QAAQ,GAAG,KAAf;;AACA,SAAK,IAAIhzP,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGu4J,IAAI,CAACprJ,MAAzB,EAAiCnN,CAAC,EAAlC,EAAsC;AAClC,YAAM83L,IAAI,GAAGv/B,IAAI,CAACkX,MAAL,CAAYzvK,CAAZ,CAAb;;AACA,UAAI83L,IAAI,KAAK,IAAb,EAAmB;AACfk7D,QAAAA,QAAQ,GAAG,IAAX;AACA;AACH;;AACD,UAAIl7D,IAAI,KAAK,GAAT,IAAgB,CAACk7D,QAArB,EAA+B;AAC3B,cAAM,IAAIp4O,KAAJ,CAAW,gCAA+B29I,IAAK,KAArC,GACX,2DADC,CAAN;AAEH;;AACDy6F,MAAAA,QAAQ,GAAG,KAAX;AACA92O,MAAAA,MAAM,IAAI47K,IAAV;AACH;;AACD,WAAO57K,MAAP;AACH;AACD;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACI+2O,EAAAA,eAAe,CAAC16F,IAAD,EAAO;AAClB,WAAOA,IAAI,CAAC1oJ,OAAL,CAAa,KAAb,EAAoB,MAApB,EAA4BA,OAA5B,CAAoC,KAApC,EAA2C,KAA3C,CAAP;AACH;;AACDqjP,EAAAA,iBAAiB,GAAG;AAChB,WAAO,KAAKC,kBAAL,MAA6B,KAAKd,UAAL,CAAgBllP,MAAhB,IAA0B,CAAvD,IAA4D,KAAKmlP,KAAL,CAAWnlP,MAAX,IAAqB,CAAjF,IACH,KAAKolP,YAAL,CAAkBplP,MAAlB,KAA6B,CADjC;AAEH;;AACDgmP,EAAAA,kBAAkB,GAAG;AACjB,WAAO,CAAC,CAAC,KAAKzxG,OAAd;AACH;;AACDoxG,EAAAA,UAAU,CAACpxG,OAAO,GAAG,IAAX,EAAiB;AACvB,SAAKA,OAAL,GAAeA,OAAf;AACH;AACD;;;AACA0xG,EAAAA,0BAA0B,GAAG;AACzB,UAAMrlG,OAAO,GAAG,KAAKrM,OAAL,IAAgB,KAAhC;AACA,UAAM2xG,SAAS,GAAG,KAAKhB,UAAL,CAAgBllP,MAAhB,GAAyB,CAAzB,GAA8B,WAAU,KAAKklP,UAAL,CAAgBvsO,IAAhB,CAAqB,GAArB,CAA0B,GAAlE,GAAuE,EAAzF;AACA,QAAIwsO,KAAK,GAAG,EAAZ;;AACA,SAAK,IAAItyP,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAG,KAAKsyP,KAAL,CAAWnlP,MAA/B,EAAuCnN,CAAC,IAAI,CAA5C,EAA+C;AAC3C,YAAM8hK,QAAQ,GAAG,KAAKwwF,KAAL,CAAWtyP,CAAX,CAAjB;AACA,YAAMszP,SAAS,GAAG,KAAKhB,KAAL,CAAWtyP,CAAC,GAAG,CAAf,MAAsB,EAAtB,GAA4B,KAAI,KAAKsyP,KAAL,CAAWtyP,CAAC,GAAG,CAAf,CAAkB,GAAlD,GAAuD,EAAzE;AACAsyP,MAAAA,KAAK,IAAK,IAAGxwF,QAAS,GAAEwxF,SAAU,EAAlC;AACH;;AACD,WAAOtB,oBAAoB,CAACjkG,OAAD,CAApB,CAA8BwjG,MAA9B,GAAwC,IAAGxjG,OAAQ,GAAEslG,SAAU,GAAEf,KAAM,IAAvE,GACF,IAAGvkG,OAAQ,GAAEslG,SAAU,GAAEf,KAAM,MAAKvkG,OAAQ,GADjD;AAEH;;AACDwlG,EAAAA,QAAQ,GAAG;AACP,UAAMr3O,MAAM,GAAG,EAAf;;AACA,QAAI,KAAKm2O,UAAL,CAAgBllP,MAAhB,GAAyB,CAA7B,EAAgC;AAC5B+O,MAAAA,MAAM,CAAC9X,IAAP,CAAY,OAAZ,EAAqB,KAAKiuP,UAAL,CAAgBvsO,IAAhB,CAAqB,GAArB,CAArB;AACH;;AACD,WAAO5J,MAAM,CAACzF,MAAP,CAAc,KAAK67O,KAAnB,CAAP;AACH;;AACDM,EAAAA,YAAY,CAACl5O,IAAD,EAAO1M,KAAK,GAAG,EAAf,EAAmB;AAC3B,SAAKslP,KAAL,CAAWluP,IAAX,CAAgBsV,IAAhB,EAAsB1M,KAAK,IAAIA,KAAK,CAACkC,WAAN,EAAT,IAAgC,EAAtD;AACH;;AACD2jP,EAAAA,YAAY,CAACn5O,IAAD,EAAO;AACf,SAAK24O,UAAL,CAAgBjuP,IAAhB,CAAqBsV,IAAI,CAACxK,WAAL,EAArB;AACH;;AACD1M,EAAAA,QAAQ,GAAG;AACP,QAAIspO,GAAG,GAAG,KAAKpqF,OAAL,IAAgB,EAA1B;;AACA,QAAI,KAAK2wG,UAAT,EAAqB;AACjB,WAAKA,UAAL,CAAgBpuP,OAAhB,CAAwBm2O,KAAK,IAAItO,GAAG,IAAK,IAAGsO,KAAM,EAAlD;AACH;;AACD,QAAI,KAAKkY,KAAT,EAAgB;AACZ,WAAK,IAAItyP,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAG,KAAKsyP,KAAL,CAAWnlP,MAA/B,EAAuCnN,CAAC,IAAI,CAA5C,EAA+C;AAC3C,cAAM0Z,IAAI,GAAG,KAAKu5O,eAAL,CAAqB,KAAKX,KAAL,CAAWtyP,CAAX,CAArB,CAAb;AACA,cAAMgN,KAAK,GAAG,KAAKslP,KAAL,CAAWtyP,CAAC,GAAG,CAAf,CAAd;AACA8rO,QAAAA,GAAG,IAAK,IAAGpyN,IAAK,GAAE1M,KAAK,GAAG,MAAMA,KAAT,GAAiB,EAAG,GAA3C;AACH;AACJ;;AACD,SAAKulP,YAAL,CAAkBtuP,OAAlB,CAA0BuvP,WAAW,IAAI1nB,GAAG,IAAK,QAAO0nB,WAAY,GAApE;AACA,WAAO1nB,GAAP;AACH;;AAvKa;AAyKlB;AACA;AACA;AACA;;;AACA,MAAM2nB,eAAN,CAAsB;AAClB1xP,EAAAA,WAAW,GAAG;AACV,SAAK2xP,WAAL,GAAmB,IAAIzhP,GAAJ,EAAnB;AACA,SAAK0hP,kBAAL,GAA0B,IAAI1hP,GAAJ,EAA1B;AACA,SAAK2hP,SAAL,GAAiB,IAAI3hP,GAAJ,EAAjB;AACA,SAAK4hP,gBAAL,GAAwB,IAAI5hP,GAAJ,EAAxB;AACA,SAAK6hP,aAAL,GAAqB,IAAI7hP,GAAJ,EAArB;AACA,SAAK8hP,oBAAL,GAA4B,IAAI9hP,GAAJ,EAA5B;AACA,SAAK+hP,aAAL,GAAqB,EAArB;AACH;;AACsB,SAAhBC,gBAAgB,CAAC1B,YAAD,EAAe;AAClC,UAAM2B,UAAU,GAAG,IAAIT,eAAJ,EAAnB;AACAS,IAAAA,UAAU,CAACC,cAAX,CAA0B5B,YAA1B,EAAwC,IAAxC;AACA,WAAO2B,UAAP;AACH;;AACDC,EAAAA,cAAc,CAACC,YAAD,EAAeC,YAAf,EAA6B;AACvC,QAAIC,WAAW,GAAG,IAAlB;;AACA,QAAIF,YAAY,CAACjnP,MAAb,GAAsB,CAA1B,EAA6B;AACzBmnP,MAAAA,WAAW,GAAG,IAAIC,mBAAJ,CAAwBH,YAAxB,CAAd;;AACA,WAAKJ,aAAL,CAAmB5vP,IAAnB,CAAwBkwP,WAAxB;AACH;;AACD,SAAK,IAAIt0P,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGo0P,YAAY,CAACjnP,MAAjC,EAAyCnN,CAAC,EAA1C,EAA8C;AAC1C,WAAKw0P,cAAL,CAAoBJ,YAAY,CAACp0P,CAAD,CAAhC,EAAqCq0P,YAArC,EAAmDC,WAAnD;AACH;AACJ;AACD;AACJ;AACA;AACA;AACA;;;AACIE,EAAAA,cAAc,CAAC9B,WAAD,EAAc2B,YAAd,EAA4BC,WAA5B,EAAyC;AACnD,QAAIpyN,OAAO,GAAG,IAAd;AACA,UAAMw/G,OAAO,GAAGgxG,WAAW,CAAChxG,OAA5B;AACA,UAAM2wG,UAAU,GAAGK,WAAW,CAACL,UAA/B;AACA,UAAMC,KAAK,GAAGI,WAAW,CAACJ,KAA1B;AACA,UAAMmC,UAAU,GAAG,IAAIC,eAAJ,CAAoBhC,WAApB,EAAiC2B,YAAjC,EAA+CC,WAA/C,CAAnB;;AACA,QAAI5yG,OAAJ,EAAa;AACT,YAAMizG,UAAU,GAAGrC,KAAK,CAACnlP,MAAN,KAAiB,CAAjB,IAAsBklP,UAAU,CAACllP,MAAX,KAAsB,CAA/D;;AACA,UAAIwnP,UAAJ,EAAgB;AACZ,aAAKC,YAAL,CAAkB1yN,OAAO,CAACwxN,WAA1B,EAAuChyG,OAAvC,EAAgD+yG,UAAhD;AACH,OAFD,MAGK;AACDvyN,QAAAA,OAAO,GAAG,KAAK2yN,WAAL,CAAiB3yN,OAAO,CAACyxN,kBAAzB,EAA6CjyG,OAA7C,CAAV;AACH;AACJ;;AACD,QAAI2wG,UAAJ,EAAgB;AACZ,WAAK,IAAIryP,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGqyP,UAAU,CAACllP,MAA/B,EAAuCnN,CAAC,EAAxC,EAA4C;AACxC,cAAM20P,UAAU,GAAGrC,KAAK,CAACnlP,MAAN,KAAiB,CAAjB,IAAsBnN,CAAC,KAAKqyP,UAAU,CAACllP,MAAX,GAAoB,CAAnE;AACA,cAAM0D,SAAS,GAAGwhP,UAAU,CAACryP,CAAD,CAA5B;;AACA,YAAI20P,UAAJ,EAAgB;AACZ,eAAKC,YAAL,CAAkB1yN,OAAO,CAAC0xN,SAA1B,EAAqC/iP,SAArC,EAAgD4jP,UAAhD;AACH,SAFD,MAGK;AACDvyN,UAAAA,OAAO,GAAG,KAAK2yN,WAAL,CAAiB3yN,OAAO,CAAC2xN,gBAAzB,EAA2ChjP,SAA3C,CAAV;AACH;AACJ;AACJ;;AACD,QAAIyhP,KAAJ,EAAW;AACP,WAAK,IAAItyP,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGsyP,KAAK,CAACnlP,MAA1B,EAAkCnN,CAAC,IAAI,CAAvC,EAA0C;AACtC,cAAM20P,UAAU,GAAG30P,CAAC,KAAKsyP,KAAK,CAACnlP,MAAN,GAAe,CAAxC;AACA,cAAMuM,IAAI,GAAG44O,KAAK,CAACtyP,CAAD,CAAlB;AACA,cAAMgN,KAAK,GAAGslP,KAAK,CAACtyP,CAAC,GAAG,CAAL,CAAnB;;AACA,YAAI20P,UAAJ,EAAgB;AACZ,gBAAMG,WAAW,GAAG5yN,OAAO,CAAC4xN,aAA5B;AACA,cAAIiB,iBAAiB,GAAGD,WAAW,CAAC17O,GAAZ,CAAgBM,IAAhB,CAAxB;;AACA,cAAI,CAACq7O,iBAAL,EAAwB;AACpBA,YAAAA,iBAAiB,GAAG,IAAI9iP,GAAJ,EAApB;AACA6iP,YAAAA,WAAW,CAAC9vP,GAAZ,CAAgB0U,IAAhB,EAAsBq7O,iBAAtB;AACH;;AACD,eAAKH,YAAL,CAAkBG,iBAAlB,EAAqC/nP,KAArC,EAA4CynP,UAA5C;AACH,SARD,MASK;AACD,gBAAMO,UAAU,GAAG9yN,OAAO,CAAC6xN,oBAA3B;AACA,cAAIkB,gBAAgB,GAAGD,UAAU,CAAC57O,GAAX,CAAeM,IAAf,CAAvB;;AACA,cAAI,CAACu7O,gBAAL,EAAuB;AACnBA,YAAAA,gBAAgB,GAAG,IAAIhjP,GAAJ,EAAnB;AACA+iP,YAAAA,UAAU,CAAChwP,GAAX,CAAe0U,IAAf,EAAqBu7O,gBAArB;AACH;;AACD/yN,UAAAA,OAAO,GAAG,KAAK2yN,WAAL,CAAiBI,gBAAjB,EAAmCjoP,KAAnC,CAAV;AACH;AACJ;AACJ;AACJ;;AACD4nP,EAAAA,YAAY,CAAC/vP,GAAD,EAAM6U,IAAN,EAAY+6O,UAAZ,EAAwB;AAChC,QAAIS,YAAY,GAAGrwP,GAAG,CAACuU,GAAJ,CAAQM,IAAR,CAAnB;;AACA,QAAI,CAACw7O,YAAL,EAAmB;AACfA,MAAAA,YAAY,GAAG,EAAf;AACArwP,MAAAA,GAAG,CAACG,GAAJ,CAAQ0U,IAAR,EAAcw7O,YAAd;AACH;;AACDA,IAAAA,YAAY,CAAC9wP,IAAb,CAAkBqwP,UAAlB;AACH;;AACDI,EAAAA,WAAW,CAAChwP,GAAD,EAAM6U,IAAN,EAAY;AACnB,QAAIwoB,OAAO,GAAGr9B,GAAG,CAACuU,GAAJ,CAAQM,IAAR,CAAd;;AACA,QAAI,CAACwoB,OAAL,EAAc;AACVA,MAAAA,OAAO,GAAG,IAAIuxN,eAAJ,EAAV;AACA5uP,MAAAA,GAAG,CAACG,GAAJ,CAAQ0U,IAAR,EAAcwoB,OAAd;AACH;;AACD,WAAOA,OAAP;AACH;AACD;AACJ;AACA;AACA;AACA;AACA;AACA;;;AACI7c,EAAAA,KAAK,CAACqtO,WAAD,EAAcyC,eAAd,EAA+B;AAChC,QAAIj5O,MAAM,GAAG,KAAb;AACA,UAAMwlI,OAAO,GAAGgxG,WAAW,CAAChxG,OAA5B;AACA,UAAM2wG,UAAU,GAAGK,WAAW,CAACL,UAA/B;AACA,UAAMC,KAAK,GAAGI,WAAW,CAACJ,KAA1B;;AACA,SAAK,IAAItyP,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAG,KAAKg0P,aAAL,CAAmB7mP,MAAvC,EAA+CnN,CAAC,EAAhD,EAAoD;AAChD,WAAKg0P,aAAL,CAAmBh0P,CAAnB,EAAsBo1P,cAAtB,GAAuC,KAAvC;AACH;;AACDl5O,IAAAA,MAAM,GAAG,KAAKm5O,cAAL,CAAoB,KAAK3B,WAAzB,EAAsChyG,OAAtC,EAA+CgxG,WAA/C,EAA4DyC,eAA5D,KAAgFj5O,MAAzF;AACAA,IAAAA,MAAM,GAAG,KAAKo5O,aAAL,CAAmB,KAAK3B,kBAAxB,EAA4CjyG,OAA5C,EAAqDgxG,WAArD,EAAkEyC,eAAlE,KACLj5O,MADJ;;AAEA,QAAIm2O,UAAJ,EAAgB;AACZ,WAAK,IAAIryP,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGqyP,UAAU,CAACllP,MAA/B,EAAuCnN,CAAC,EAAxC,EAA4C;AACxC,cAAM6Q,SAAS,GAAGwhP,UAAU,CAACryP,CAAD,CAA5B;AACAkc,QAAAA,MAAM,GACF,KAAKm5O,cAAL,CAAoB,KAAKzB,SAAzB,EAAoC/iP,SAApC,EAA+C6hP,WAA/C,EAA4DyC,eAA5D,KAAgFj5O,MADpF;AAEAA,QAAAA,MAAM,GACF,KAAKo5O,aAAL,CAAmB,KAAKzB,gBAAxB,EAA0ChjP,SAA1C,EAAqD6hP,WAArD,EAAkEyC,eAAlE,KACIj5O,MAFR;AAGH;AACJ;;AACD,QAAIo2O,KAAJ,EAAW;AACP,WAAK,IAAItyP,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGsyP,KAAK,CAACnlP,MAA1B,EAAkCnN,CAAC,IAAI,CAAvC,EAA0C;AACtC,cAAM0Z,IAAI,GAAG44O,KAAK,CAACtyP,CAAD,CAAlB;AACA,cAAMgN,KAAK,GAAGslP,KAAK,CAACtyP,CAAC,GAAG,CAAL,CAAnB;;AACA,cAAM+0P,iBAAiB,GAAG,KAAKjB,aAAL,CAAmB16O,GAAnB,CAAuBM,IAAvB,CAA1B;;AACA,YAAI1M,KAAJ,EAAW;AACPkP,UAAAA,MAAM,GACF,KAAKm5O,cAAL,CAAoBN,iBAApB,EAAuC,EAAvC,EAA2CrC,WAA3C,EAAwDyC,eAAxD,KAA4Ej5O,MADhF;AAEH;;AACDA,QAAAA,MAAM,GACF,KAAKm5O,cAAL,CAAoBN,iBAApB,EAAuC/nP,KAAvC,EAA8C0lP,WAA9C,EAA2DyC,eAA3D,KAA+Ej5O,MADnF;;AAEA,cAAM+4O,gBAAgB,GAAG,KAAKlB,oBAAL,CAA0B36O,GAA1B,CAA8BM,IAA9B,CAAzB;;AACA,YAAI1M,KAAJ,EAAW;AACPkP,UAAAA,MAAM,GAAG,KAAKo5O,aAAL,CAAmBL,gBAAnB,EAAqC,EAArC,EAAyCvC,WAAzC,EAAsDyC,eAAtD,KAA0Ej5O,MAAnF;AACH;;AACDA,QAAAA,MAAM,GACF,KAAKo5O,aAAL,CAAmBL,gBAAnB,EAAqCjoP,KAArC,EAA4C0lP,WAA5C,EAAyDyC,eAAzD,KAA6Ej5O,MADjF;AAEH;AACJ;;AACD,WAAOA,MAAP;AACH;AACD;;;AACAm5O,EAAAA,cAAc,CAACxwP,GAAD,EAAM6U,IAAN,EAAYg5O,WAAZ,EAAyByC,eAAzB,EAA0C;AACpD,QAAI,CAACtwP,GAAD,IAAQ,OAAO6U,IAAP,KAAgB,QAA5B,EAAsC;AAClC,aAAO,KAAP;AACH;;AACD,QAAI67O,WAAW,GAAG1wP,GAAG,CAACuU,GAAJ,CAAQM,IAAR,KAAiB,EAAnC;AACA,UAAM87O,eAAe,GAAG3wP,GAAG,CAACuU,GAAJ,CAAQ,GAAR,CAAxB;;AACA,QAAIo8O,eAAJ,EAAqB;AACjBD,MAAAA,WAAW,GAAGA,WAAW,CAAC9+O,MAAZ,CAAmB++O,eAAnB,CAAd;AACH;;AACD,QAAID,WAAW,CAACpoP,MAAZ,KAAuB,CAA3B,EAA8B;AAC1B,aAAO,KAAP;AACH;;AACD,QAAIsnP,UAAJ;AACA,QAAIv4O,MAAM,GAAG,KAAb;;AACA,SAAK,IAAIlc,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGu1P,WAAW,CAACpoP,MAAhC,EAAwCnN,CAAC,EAAzC,EAA6C;AACzCy0P,MAAAA,UAAU,GAAGc,WAAW,CAACv1P,CAAD,CAAxB;AACAkc,MAAAA,MAAM,GAAGu4O,UAAU,CAACgB,QAAX,CAAoB/C,WAApB,EAAiCyC,eAAjC,KAAqDj5O,MAA9D;AACH;;AACD,WAAOA,MAAP;AACH;AACD;;;AACAo5O,EAAAA,aAAa,CAACzwP,GAAD,EAAM6U,IAAN,EAAYg5O,WAAZ,EAAyByC,eAAzB,EAA0C;AACnD,QAAI,CAACtwP,GAAD,IAAQ,OAAO6U,IAAP,KAAgB,QAA5B,EAAsC;AAClC,aAAO,KAAP;AACH;;AACD,UAAMg8O,cAAc,GAAG7wP,GAAG,CAACuU,GAAJ,CAAQM,IAAR,CAAvB;;AACA,QAAI,CAACg8O,cAAL,EAAqB;AACjB,aAAO,KAAP;AACH,KAPkD,CAQnD;AACA;AACA;;;AACA,WAAOA,cAAc,CAACrwO,KAAf,CAAqBqtO,WAArB,EAAkCyC,eAAlC,CAAP;AACH;;AAtLiB;;AAwLtB,MAAMZ,mBAAN,CAA0B;AACtBxyP,EAAAA,WAAW,CAAC4zP,SAAD,EAAY;AACnB,SAAKA,SAAL,GAAiBA,SAAjB;AACA,SAAKP,cAAL,GAAsB,KAAtB;AACH;;AAJqB,EAM1B;;;AACA,MAAMV,eAAN,CAAsB;AAClB3yP,EAAAA,WAAW,CAACwsK,QAAD,EAAWqnF,SAAX,EAAsBtB,WAAtB,EAAmC;AAC1C,SAAK/lF,QAAL,GAAgBA,QAAhB;AACA,SAAKqnF,SAAL,GAAiBA,SAAjB;AACA,SAAKtB,WAAL,GAAmBA,WAAnB;AACA,SAAK/B,YAAL,GAAoBhkF,QAAQ,CAACgkF,YAA7B;AACH;;AACDkD,EAAAA,QAAQ,CAAC/C,WAAD,EAAcvwO,QAAd,EAAwB;AAC5B,QAAIjG,MAAM,GAAG,IAAb;;AACA,QAAI,KAAKq2O,YAAL,CAAkBplP,MAAlB,GAA2B,CAA3B,KAAiC,CAAC,KAAKmnP,WAAN,IAAqB,CAAC,KAAKA,WAAL,CAAiBc,cAAxE,CAAJ,EAA6F;AACzF,YAAMlB,UAAU,GAAGT,eAAe,CAACQ,gBAAhB,CAAiC,KAAK1B,YAAtC,CAAnB;AACAr2O,MAAAA,MAAM,GAAG,CAACg4O,UAAU,CAAC7uO,KAAX,CAAiBqtO,WAAjB,EAA8B,IAA9B,CAAV;AACH;;AACD,QAAIx2O,MAAM,IAAIiG,QAAV,KAAuB,CAAC,KAAKmyO,WAAN,IAAqB,CAAC,KAAKA,WAAL,CAAiBc,cAA9D,CAAJ,EAAmF;AAC/E,UAAI,KAAKd,WAAT,EAAsB;AAClB,aAAKA,WAAL,CAAiBc,cAAjB,GAAkC,IAAlC;AACH;;AACDjzO,MAAAA,QAAQ,CAAC,KAAKosJ,QAAN,EAAgB,KAAKqnF,SAArB,CAAR;AACH;;AACD,WAAO15O,MAAP;AACH;;AApBiB;AAuBtB;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,MAAM25O,YAAY,GAAGC,mBAAmB,CAAC,QAAD,EAAYhvP,KAAD,KAAY;AAAEA,EAAAA;AAAF,CAAZ,CAAX,CAAxC;AACA,MAAMivP,oBAAoB,GAAGD,mBAAmB,CAAC,gBAAD,EAAoBE,IAAD,KAAW;AAAEC,EAAAA,KAAK,EAAED,IAAT;AAAevlF,EAAAA,KAAK,EAAE5C;AAAtB,CAAX,CAAnB,CAAhD;AACA,MAAMqoF,eAAe,GAAGJ,mBAAmB,CAAC,WAAD,EAAeK,aAAD,KAAoB;AAAEA,EAAAA;AAAF,CAApB,CAAd,CAA3C,EACA;AACA;;AACA,MAAMC,mCAAmC,GAAG,IAA5C;AACA,MAAMC,qBAAqB,GAAGP,mBAAmB,CAAC,iBAAD,EAAoB,CAACvnF,QAAD,EAAW/qK,IAAI,GAAG,EAAlB,MAA0B;AAC3F+qK,EAAAA,QAD2F;AAE3F5hE,EAAAA,KAAK,EAAE,KAFoF;AAG3F2pJ,EAAAA,WAAW,EAAE,KAH8E;AAI3FC,EAAAA,WAAW,EAAE,KAJ8E;AAK3FC,EAAAA,uBAAuB,EAAEJ,mCALkE;AAM3F,KAAG5yP;AANwF,CAA1B,CAApB,CAAjD;AAQA,MAAMizP,kBAAkB,GAAGX,mBAAmB,CAAC,cAAD,EAAiB,CAACvnF,QAAD,EAAW/qK,IAAI,GAAG,EAAlB,MAA0B;AAAE+qK,EAAAA,QAAF;AAAY5hE,EAAAA,KAAK,EAAE,IAAnB;AAAyB2pJ,EAAAA,WAAW,EAAE,KAAtC;AAA6CC,EAAAA,WAAW,EAAE,IAA1D;AAAgE,KAAG/yP;AAAnE,CAA1B,CAAjB,CAA9C;AACA,MAAMkzP,kBAAkB,GAAGZ,mBAAmB,CAAC,cAAD,EAAiB,CAACvnF,QAAD,EAAW/qK,IAAI,GAAG,EAAlB,MAA0B;AACrF+qK,EAAAA,QADqF;AAErF5hE,EAAAA,KAAK,EAAE,KAF8E;AAGrF2pJ,EAAAA,WAAW,EAAE,IAHwE;AAIrFC,EAAAA,WAAW,EAAE,IAJwE;AAKrFC,EAAAA,uBAAuB,EAAEJ,mCAL4D;AAMrF,KAAG5yP;AANkF,CAA1B,CAAjB,CAA9C;AAQA,MAAMmzP,eAAe,GAAGb,mBAAmB,CAAC,WAAD,EAAc,CAACvnF,QAAD,EAAW/qK,IAAX,MAAqB;AAAE+qK,EAAAA,QAAF;AAAY5hE,EAAAA,KAAK,EAAE,IAAnB;AAAyB2pJ,EAAAA,WAAW,EAAE,IAAtC;AAA4CC,EAAAA,WAAW,EAAE,IAAzD;AAA+D,KAAG/yP;AAAlE,CAArB,CAAd,CAA3C;AACA,MAAMozP,eAAe,GAAGd,mBAAmB,CAAC,WAAD,EAAc,CAAC11G,GAAG,GAAG,EAAP,KAAcA,GAA5B,CAA3C;AACA,IAAI84E,iBAAJ;;AACA,CAAC,UAAUA,iBAAV,EAA6B;AAC1BA,EAAAA,iBAAiB,CAACA,iBAAiB,CAAC,UAAD,CAAjB,GAAgC,CAAjC,CAAjB,GAAuD,UAAvD,CAD0B,CAE1B;;AACAA,EAAAA,iBAAiB,CAACA,iBAAiB,CAAC,MAAD,CAAjB,GAA4B,CAA7B,CAAjB,GAAmD,MAAnD;AACAA,EAAAA,iBAAiB,CAACA,iBAAiB,CAAC,WAAD,CAAjB,GAAiC,CAAlC,CAAjB,GAAwD,WAAxD;AACH,CALD,EAKGA,iBAAiB,KAAKA,iBAAiB,GAAG,EAAzB,CALpB;;AAMA,IAAIC,uBAAJ;;AACA,CAAC,UAAUA,uBAAV,EAAmC;AAChCA,EAAAA,uBAAuB,CAACA,uBAAuB,CAAC,QAAD,CAAvB,GAAoC,CAArC,CAAvB,GAAiE,QAAjE;AACAA,EAAAA,uBAAuB,CAACA,uBAAuB,CAAC,SAAD,CAAvB,GAAqC,CAAtC,CAAvB,GAAkE,SAAlE;AACH,CAHD,EAGGA,uBAAuB,KAAKA,uBAAuB,GAAG,EAA/B,CAH1B;;AAIA,MAAM5B,eAAe,GAAGu+B,mBAAmB,CAAC,WAAD,EAAc,CAACx1P,CAAC,GAAG,EAAL,MAAa;AAAEqhO,EAAAA,eAAe,EAAExI,uBAAuB,CAAC09B,OAA3C;AAAoD,KAAGv2P;AAAvD,CAAb,CAAd,CAA3C;AACA,MAAMw2P,UAAU,GAAGhB,mBAAmB,CAAC,MAAD,EAAU11P,CAAD,KAAQ;AAAEuhP,EAAAA,IAAI,EAAE,IAAR;AAAc,KAAGvhP;AAAjB,CAAR,CAAT,CAAtC;AACA,MAAM22P,WAAW,GAAGjB,mBAAmB,CAAC,OAAD,EAAWkB,mBAAD,KAA0B;AAAEA,EAAAA;AAAF,CAA1B,CAAV,CAAvC;AACA,MAAMC,YAAY,GAAGnB,mBAAmB,CAAC,QAAD,EAAYkB,mBAAD,KAA0B;AAAEA,EAAAA;AAAF,CAA1B,CAAX,CAAxC;AACA,MAAME,iBAAiB,GAAGpB,mBAAmB,CAAC,aAAD,EAAiBqB,gBAAD,KAAuB;AAAEA,EAAAA;AAAF,CAAvB,CAAhB,CAA7C;AACA,MAAMC,kBAAkB,GAAGtB,mBAAmB,CAAC,cAAD,EAAiB,CAAC3rG,SAAD,EAAYkX,IAAZ,MAAsB;AAAElX,EAAAA,SAAF;AAAakX,EAAAA;AAAb,CAAtB,CAAjB,CAA9C;AACA,MAAMg2F,cAAc,GAAGvB,mBAAmB,CAAC,UAAD,EAAc7F,QAAD,IAAcA,QAA3B,CAA1C;AACA,MAAMqH,gBAAgB,GAAGxB,mBAAmB,CAAC,YAAD,EAAe,CAACyB,UAAU,GAAG,EAAd,KAAqBA,UAApC,CAA5C;AACA,MAAMC,sBAAsB,GAAG;AAC3B99O,EAAAA,IAAI,EAAE;AADqB,CAA/B;AAGA,MAAM+9O,gBAAgB,GAAG;AACrB/9O,EAAAA,IAAI,EAAE;AADe,CAAzB;AAGA,MAAMg+O,cAAc,GAAG5B,mBAAmB,CAAC,UAAD,CAA1C;AACA,MAAM6B,UAAU,GAAG7B,mBAAmB,CAAC,MAAD,CAAtC;AACA,MAAM8B,cAAc,GAAG9B,mBAAmB,CAAC,UAAD,CAA1C;AACA,MAAM+B,UAAU,GAAG/B,mBAAmB,CAAC,MAAD,CAAtC;AACA,MAAMgC,MAAM,GAAGC,QAAf;AACA,IAAIC,eAAJ;;AACA,CAAC,UAAUA,eAAV,EAA2B;AACxBA,EAAAA,eAAe,CAACA,eAAe,CAAC,MAAD,CAAf,GAA0B,CAA3B,CAAf,GAA+C,MAA/C;AACAA,EAAAA,eAAe,CAACA,eAAe,CAAC,MAAD,CAAf,GAA0B,CAA3B,CAAf,GAA+C,MAA/C;AACAA,EAAAA,eAAe,CAACA,eAAe,CAAC,OAAD,CAAf,GAA2B,CAA5B,CAAf,GAAgD,OAAhD;AACAA,EAAAA,eAAe,CAACA,eAAe,CAAC,QAAD,CAAf,GAA4B,CAA7B,CAAf,GAAiD,QAAjD;AACAA,EAAAA,eAAe,CAACA,eAAe,CAAC,KAAD,CAAf,GAAyB,CAA1B,CAAf,GAA8C,KAA9C;AACAA,EAAAA,eAAe,CAACA,eAAe,CAAC,cAAD,CAAf,GAAkC,CAAnC,CAAf,GAAuD,cAAvD;AACH,CAPD,EAOGA,eAAe,KAAKA,eAAe,GAAG,EAAvB,CAPlB;;AAQA,IAAIC,0BAAJ;;AACA,CAAC,UAAUA,0BAAV,EAAsC;AACnCA,EAAAA,0BAA0B,CAACA,0BAA0B,CAAC,OAAD,CAA1B,GAAsC,CAAvC,CAA1B,GAAsE,OAAtE;AACAA,EAAAA,0BAA0B,CAACA,0BAA0B,CAAC,SAAD,CAA1B,GAAwC,CAAzC,CAA1B,GAAwE,SAAxE;AACAA,EAAAA,0BAA0B,CAACA,0BAA0B,CAAC,QAAD,CAA1B,GAAuC,CAAxC,CAA1B,GAAuE,QAAvE;AACH,CAJD,EAIGA,0BAA0B,KAAKA,0BAA0B,GAAG,EAAlC,CAJ7B;;AAKA,SAASnC,mBAAT,CAA6Bp8O,IAA7B,EAAmC04I,KAAnC,EAA0C;AACtC;AACA;AACA;AACA;AACA,WAAS67C,OAAT,CAAiB,GAAG5sC,IAApB,EAA0B;AACtB,UAAM7iH,MAAM,GAAG4zG,KAAK,GAAGA,KAAK,CAAC,GAAGiP,IAAJ,CAAR,GAAoB,EAAxC;AACA,WAAO;AACH62F,MAAAA,cAAc,EAAEx+O,IADb;AAEH,SAAG8kC;AAFA,KAAP;AAIH;;AACDyvJ,EAAAA,OAAO,CAACkqD,QAAR,GAAoBhmF,GAAD,IAASA,GAAG,IAAIA,GAAG,CAAC+lF,cAAJ,KAAuBx+O,IAA1D;;AACAu0L,EAAAA,OAAO,CAACiqD,cAAR,GAAyBx+O,IAAzB;AACA,SAAOu0L,OAAP;AACH;;AACD,SAASmqD,8BAAT,CAAwC7pF,QAAxC,EAAkD;AAC9C,QAAM7oG,OAAO,GAAG6oG,QAAQ,CAAC8jF,UAAT,IAAuB9jF,QAAQ,CAAC8jF,UAAT,CAAoBllP,MAA3C,GACZ,CAAC;AAAE;AAAH,IAAgB,GAAGohK,QAAQ,CAAC8jF,UAA5B,CADY,GAEZ,EAFJ;AAGA,QAAM5B,WAAW,GAAGliF,QAAQ,CAAC7sB,OAAT,IAAoB6sB,QAAQ,CAAC7sB,OAAT,KAAqB,GAAzC,GAA+C6sB,QAAQ,CAAC7sB,OAAxD,GAAkE,EAAtF;AACA,SAAO,CAAC+uG,WAAD,EAAc,GAAGliF,QAAQ,CAAC+jF,KAA1B,EAAiC,GAAG5sL,OAApC,CAAP;AACH;;AACD,SAAS2yL,gCAAT,CAA0C9pF,QAA1C,EAAoD;AAChD,QAAM7oG,OAAO,GAAG6oG,QAAQ,CAAC8jF,UAAT,IAAuB9jF,QAAQ,CAAC8jF,UAAT,CAAoBllP,MAA3C,GACZ,CAAC;AAAE;AAAH,IAAgB,GAAGohK,QAAQ,CAAC8jF,UAA5B,CADY,GAEZ,EAFJ;;AAGA,MAAI9jF,QAAQ,CAAC7sB,OAAb,EAAsB;AAClB,WAAO,CACH;AAAE;AAAF,MAAc;AAAE;AADb,MAC4B6sB,QAAQ,CAAC7sB,OADrC,EAC8C,GAAG6sB,QAAQ,CAAC+jF,KAD1D,EACiE,GAAG5sL,OADpE,CAAP;AAGH,GAJD,MAKK,IAAI6oG,QAAQ,CAAC+jF,KAAT,CAAenlP,MAAnB,EAA2B;AAC5B,WAAO,CAAC;AAAE;AAAF,MAAc;AAAE;AAAjB,MAAkC,GAAGohK,QAAQ,CAAC+jF,KAA9C,EAAqD,GAAG5sL,OAAxD,CAAP;AACH,GAFI,MAGA;AACD,WAAO6oG,QAAQ,CAAC8jF,UAAT,IAAuB9jF,QAAQ,CAAC8jF,UAAT,CAAoBllP,MAA3C,GACH,CAAC;AAAE;AAAF,MAAc;AAAE;AAAjB,MAA8B,GAAGohK,QAAQ,CAAC8jF,UAA1C,CADG,GAEH,EAFJ;AAGH;AACJ;;AACD,SAASiG,0BAAT,CAAoC/pF,QAApC,EAA8C;AAC1C,QAAMgpE,QAAQ,GAAG6gB,8BAA8B,CAAC7pF,QAAD,CAA/C;AACA,QAAMipE,QAAQ,GAAGjpE,QAAQ,CAACgkF,YAAT,IAAyBhkF,QAAQ,CAACgkF,YAAT,CAAsBplP,MAA/C,GACbohK,QAAQ,CAACgkF,YAAT,CAAsB1tP,GAAtB,CAA0B2uP,WAAW,IAAI6E,gCAAgC,CAAC7E,WAAD,CAAzE,CADa,GAEb,EAFJ;AAGA,SAAOjc,QAAQ,CAAC9gO,MAAT,CAAgB,GAAG+gO,QAAnB,CAAP;AACH;;AACD,SAAS+gB,yBAAT,CAAmChqF,QAAnC,EAA6C;AACzC,SAAOA,QAAQ,GAAG6jF,WAAW,CAACh+O,KAAZ,CAAkBm6J,QAAlB,EAA4B1pK,GAA5B,CAAgCyzP,0BAAhC,CAAH,GAAiE,EAAhF;AACH;;AAED,IAAIE,IAAI,GAAG,aAAa7+O,MAAM,CAACitD,MAAP,CAAc;AAClC6xL,EAAAA,SAAS,EAAE,IADuB;AAElC5C,EAAAA,YAAY,EAAEA,YAFoB;AAGlCE,EAAAA,oBAAoB,EAAEA,oBAHY;AAIlCG,EAAAA,eAAe,EAAEA,eAJiB;AAKlCE,EAAAA,mCAAmC,EAAEA,mCALH;AAMlCC,EAAAA,qBAAqB,EAAEA,qBANW;AAOlCI,EAAAA,kBAAkB,EAAEA,kBAPc;AAQlCC,EAAAA,kBAAkB,EAAEA,kBARc;AASlCC,EAAAA,eAAe,EAAEA,eATiB;AAUlCC,EAAAA,eAAe,EAAEA,eAViB;;AAWlC,MAAI19B,iBAAJ,GAAyB;AAAE,WAAOA,iBAAP;AAA2B,GAXpB;;AAYlC,MAAIC,uBAAJ,GAA+B;AAAE,WAAOA,uBAAP;AAAiC,GAZhC;;AAalC5B,EAAAA,eAAe,EAAEA,eAbiB;AAclCu/B,EAAAA,UAAU,EAAEA,UAdsB;AAelCC,EAAAA,WAAW,EAAEA,WAfqB;AAgBlCE,EAAAA,YAAY,EAAEA,YAhBoB;AAiBlCC,EAAAA,iBAAiB,EAAEA,iBAjBe;AAkBlCE,EAAAA,kBAAkB,EAAEA,kBAlBc;AAmBlCC,EAAAA,cAAc,EAAEA,cAnBkB;AAoBlCC,EAAAA,gBAAgB,EAAEA,gBApBgB;AAqBlCE,EAAAA,sBAAsB,EAAEA,sBArBU;AAsBlCC,EAAAA,gBAAgB,EAAEA,gBAtBgB;AAuBlCC,EAAAA,cAAc,EAAEA,cAvBkB;AAwBlCC,EAAAA,UAAU,EAAEA,UAxBsB;AAyBlCC,EAAAA,cAAc,EAAEA,cAzBkB;AA0BlCC,EAAAA,UAAU,EAAEA,UA1BsB;AA2BlCpiN,EAAAA,IAAI,EAAEqiN,MA3B4B;;AA4BlC,MAAIE,eAAJ,GAAuB;AAAE,WAAOA,eAAP;AAAyB,GA5BhB;;AA6BlC,MAAIC,0BAAJ,GAAkC;AAAE,WAAOA,0BAAP;AAAoC,GA7BtC;;AA8BlCM,EAAAA,yBAAyB,EAAEA;AA9BO,CAAd,CAAxB;AAiCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,IAAIG,YAAJ;;AACA,CAAC,UAAUA,YAAV,EAAwB;AACrBA,EAAAA,YAAY,CAACA,YAAY,CAAC,OAAD,CAAZ,GAAwB,CAAzB,CAAZ,GAA0C,OAA1C;AACH,CAFD,EAEGA,YAAY,KAAKA,YAAY,GAAG,EAApB,CAFf;;AAGA,MAAMjjN,IAAN,CAAW;AACP1zC,EAAAA,WAAW,CAACshG,SAAS,GAAG,EAAb,EAAiB;AACxB,SAAKA,SAAL,GAAiBA,SAAjB;AACH;;AACDs1J,EAAAA,WAAW,CAACp0D,QAAD,EAAW;AAClB,WAAO,KAAKlhG,SAAL,CAAetyF,OAAf,CAAuBwzL,QAAvB,MAAqC,CAAC,CAA7C;AACH;;AANM;;AAQX,IAAIq0D,eAAJ;;AACA,CAAC,UAAUA,eAAV,EAA2B;AACxBA,EAAAA,eAAe,CAACA,eAAe,CAAC,SAAD,CAAf,GAA6B,CAA9B,CAAf,GAAkD,SAAlD;AACAA,EAAAA,eAAe,CAACA,eAAe,CAAC,MAAD,CAAf,GAA0B,CAA3B,CAAf,GAA+C,MAA/C;AACAA,EAAAA,eAAe,CAACA,eAAe,CAAC,QAAD,CAAf,GAA4B,CAA7B,CAAf,GAAiD,QAAjD;AACAA,EAAAA,eAAe,CAACA,eAAe,CAAC,KAAD,CAAf,GAAyB,CAA1B,CAAf,GAA8C,KAA9C;AACAA,EAAAA,eAAe,CAACA,eAAe,CAAC,QAAD,CAAf,GAA4B,CAA7B,CAAf,GAAiD,QAAjD;AACAA,EAAAA,eAAe,CAACA,eAAe,CAAC,UAAD,CAAf,GAA8B,CAA/B,CAAf,GAAmD,UAAnD;AACAA,EAAAA,eAAe,CAACA,eAAe,CAAC,UAAD,CAAf,GAA8B,CAA/B,CAAf,GAAmD,UAAnD;AACAA,EAAAA,eAAe,CAACA,eAAe,CAAC,MAAD,CAAf,GAA0B,CAA3B,CAAf,GAA+C,MAA/C;AACH,CATD,EASGA,eAAe,KAAKA,eAAe,GAAG,EAAvB,CATlB;;AAUA,MAAMC,WAAN,SAA0BpjN,IAA1B,CAA+B;AAC3B1zC,EAAAA,WAAW,CAAC2X,IAAD,EAAO2pF,SAAP,EAAkB;AACzB,UAAMA,SAAN;AACA,SAAK3pF,IAAL,GAAYA,IAAZ;AACH;;AACDo/O,EAAAA,SAAS,CAACxkF,OAAD,EAAU7wK,OAAV,EAAmB;AACxB,WAAO6wK,OAAO,CAACykF,gBAAR,CAAyB,IAAzB,EAA+Bt1P,OAA/B,CAAP;AACH;;AAP0B;;AAS/B,MAAMu1P,cAAN,SAA6BvjN,IAA7B,CAAkC;AAC9B1zC,EAAAA,WAAW,CAACiL,KAAD,EAAQq2F,SAAR,EAAmB41J,UAAU,GAAG,IAAhC,EAAsC;AAC7C,UAAM51J,SAAN;AACA,SAAKr2F,KAAL,GAAaA,KAAb;AACA,SAAKisP,UAAL,GAAkBA,UAAlB;AACH;;AACDH,EAAAA,SAAS,CAACxkF,OAAD,EAAU7wK,OAAV,EAAmB;AACxB,WAAO6wK,OAAO,CAAC4kF,mBAAR,CAA4B,IAA5B,EAAkCz1P,OAAlC,CAAP;AACH;;AAR6B;;AAUlC,MAAM01P,SAAN,SAAwB1jN,IAAxB,CAA6B;AACzB1zC,EAAAA,WAAW,CAACs7L,EAAD,EAAKh6F,SAAL,EAAgB;AACvB,UAAMA,SAAN;AACA,SAAKg6F,EAAL,GAAUA,EAAV;AACH;;AACDy7D,EAAAA,SAAS,CAACxkF,OAAD,EAAU7wK,OAAV,EAAmB;AACxB,WAAO6wK,OAAO,CAAC8kF,cAAR,CAAuB,IAAvB,EAA6B31P,OAA7B,CAAP;AACH;;AAPwB;;AAS7B,MAAM41P,OAAN,SAAsB5jN,IAAtB,CAA2B;AACvB1zC,EAAAA,WAAW,CAACg8C,SAAD,EAAYslD,SAAZ,EAAuB;AAC9B,UAAMA,SAAN;AACA,SAAKtlD,SAAL,GAAiBA,SAAS,IAAI,IAA9B;AACH;;AACD+6M,EAAAA,SAAS,CAACxkF,OAAD,EAAU7wK,OAAV,EAAmB;AACxB,WAAO6wK,OAAO,CAACglF,YAAR,CAAqB,IAArB,EAA2B71P,OAA3B,CAAP;AACH;;AAPsB;;AAS3B,MAAM81P,YAAY,GAAG,IAAIV,WAAJ,CAAgBD,eAAe,CAACY,OAAhC,CAArB;AACA,MAAMC,aAAa,GAAG,IAAIZ,WAAJ,CAAgBD,eAAe,CAACc,QAAhC,CAAtB;AACA,MAAMC,SAAS,GAAG,IAAId,WAAJ,CAAgBD,eAAe,CAACgB,IAAhC,CAAlB;AACA,MAAMC,QAAQ,GAAG,IAAIhB,WAAJ,CAAgBD,eAAe,CAACkB,GAAhC,CAAjB;AACA,MAAMC,WAAW,GAAG,IAAIlB,WAAJ,CAAgBD,eAAe,CAACvvP,MAAhC,CAApB;AACA,MAAM2wP,WAAW,GAAG,IAAInB,WAAJ,CAAgBD,eAAe,CAAClxP,MAAhC,CAApB;AACA,MAAMuyP,aAAa,GAAG,IAAIpB,WAAJ,CAAgBD,eAAe,CAACb,QAAhC,CAAtB;AACA,MAAMmC,SAAS,GAAG,IAAIrB,WAAJ,CAAgBD,eAAe,CAACl3B,IAAhC,CAAlB,EACA;;AACA,IAAIy4B,aAAJ;;AACA,CAAC,UAAUA,aAAV,EAAyB;AACtBA,EAAAA,aAAa,CAACA,aAAa,CAAC,OAAD,CAAb,GAAyB,CAA1B,CAAb,GAA4C,OAA5C;AACAA,EAAAA,aAAa,CAACA,aAAa,CAAC,MAAD,CAAb,GAAwB,CAAzB,CAAb,GAA2C,MAA3C;AACH,CAHD,EAGGA,aAAa,KAAKA,aAAa,GAAG,EAArB,CAHhB;;AAIA,IAAIC,cAAJ;;AACA,CAAC,UAAUA,cAAV,EAA0B;AACvBA,EAAAA,cAAc,CAACA,cAAc,CAAC,QAAD,CAAd,GAA2B,CAA5B,CAAd,GAA+C,QAA/C;AACAA,EAAAA,cAAc,CAACA,cAAc,CAAC,WAAD,CAAd,GAA8B,CAA/B,CAAd,GAAkD,WAAlD;AACAA,EAAAA,cAAc,CAACA,cAAc,CAAC,WAAD,CAAd,GAA8B,CAA/B,CAAd,GAAkD,WAAlD;AACAA,EAAAA,cAAc,CAACA,cAAc,CAAC,cAAD,CAAd,GAAiC,CAAlC,CAAd,GAAqD,cAArD;AACAA,EAAAA,cAAc,CAACA,cAAc,CAAC,OAAD,CAAd,GAA0B,CAA3B,CAAd,GAA8C,OAA9C;AACAA,EAAAA,cAAc,CAACA,cAAc,CAAC,MAAD,CAAd,GAAyB,CAA1B,CAAd,GAA6C,MAA7C;AACAA,EAAAA,cAAc,CAACA,cAAc,CAAC,QAAD,CAAd,GAA2B,CAA5B,CAAd,GAA+C,QAA/C;AACAA,EAAAA,cAAc,CAACA,cAAc,CAAC,UAAD,CAAd,GAA6B,CAA9B,CAAd,GAAiD,UAAjD;AACAA,EAAAA,cAAc,CAACA,cAAc,CAAC,QAAD,CAAd,GAA2B,CAA5B,CAAd,GAA+C,QAA/C;AACAA,EAAAA,cAAc,CAACA,cAAc,CAAC,KAAD,CAAd,GAAwB,CAAzB,CAAd,GAA4C,KAA5C;AACAA,EAAAA,cAAc,CAACA,cAAc,CAAC,IAAD,CAAd,GAAuB,EAAxB,CAAd,GAA4C,IAA5C;AACAA,EAAAA,cAAc,CAACA,cAAc,CAAC,YAAD,CAAd,GAA+B,EAAhC,CAAd,GAAoD,YAApD;AACAA,EAAAA,cAAc,CAACA,cAAc,CAAC,OAAD,CAAd,GAA0B,EAA3B,CAAd,GAA+C,OAA/C;AACAA,EAAAA,cAAc,CAACA,cAAc,CAAC,aAAD,CAAd,GAAgC,EAAjC,CAAd,GAAqD,aAArD;AACAA,EAAAA,cAAc,CAACA,cAAc,CAAC,QAAD,CAAd,GAA2B,EAA5B,CAAd,GAAgD,QAAhD;AACAA,EAAAA,cAAc,CAACA,cAAc,CAAC,cAAD,CAAd,GAAiC,EAAlC,CAAd,GAAsD,cAAtD;AACAA,EAAAA,cAAc,CAACA,cAAc,CAAC,iBAAD,CAAd,GAAoC,EAArC,CAAd,GAAyD,iBAAzD;AACH,CAlBD,EAkBGA,cAAc,KAAKA,cAAc,GAAG,EAAtB,CAlBjB;;AAmBA,SAASC,oBAAT,CAA8BjvP,IAA9B,EAAoC+8O,KAApC,EAA2C;AACvC,MAAI/8O,IAAI,IAAI,IAAR,IAAgB+8O,KAAK,IAAI,IAA7B,EAAmC;AAC/B,WAAO/8O,IAAI,IAAI+8O,KAAf;AACH;;AACD,SAAO/8O,IAAI,CAACkvP,YAAL,CAAkBnS,KAAlB,CAAP;AACH;;AACD,SAASoS,yBAAT,CAAmCnvP,IAAnC,EAAyC+8O,KAAzC,EAAgDqS,mBAAhD,EAAqE;AACjE,QAAMC,GAAG,GAAGrvP,IAAI,CAAC+B,MAAjB;;AACA,MAAIstP,GAAG,KAAKtS,KAAK,CAACh7O,MAAlB,EAA0B;AACtB,WAAO,KAAP;AACH;;AACD,OAAK,IAAInN,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGy6P,GAApB,EAAyBz6P,CAAC,EAA1B,EAA8B;AAC1B,QAAI,CAACw6P,mBAAmB,CAACpvP,IAAI,CAACpL,CAAD,CAAL,EAAUmoP,KAAK,CAACnoP,CAAD,CAAf,CAAxB,EAA6C;AACzC,aAAO,KAAP;AACH;AACJ;;AACD,SAAO,IAAP;AACH;;AACD,SAAS06P,gBAAT,CAA0BtvP,IAA1B,EAAgC+8O,KAAhC,EAAuC;AACnC,SAAOoS,yBAAyB,CAACnvP,IAAD,EAAO+8O,KAAP,EAAc,CAACwS,WAAD,EAAcC,YAAd,KAA+BD,WAAW,CAACL,YAAZ,CAAyBM,YAAzB,CAA7C,CAAhC;AACH;;AACD,MAAMC,UAAN,CAAiB;AACb94P,EAAAA,WAAW,CAACc,IAAD,EAAOi4P,UAAP,EAAmB;AAC1B,SAAKj4P,IAAL,GAAYA,IAAI,IAAI,IAApB;AACA,SAAKi4P,UAAL,GAAkBA,UAAU,IAAI,IAAhC;AACH;;AACDz4G,EAAAA,IAAI,CAAC3oI,IAAD,EAAOohP,UAAP,EAAmB;AACnB,WAAO,IAAIC,YAAJ,CAAiB,IAAjB,EAAuBrhP,IAAvB,EAA6B,IAA7B,EAAmCohP,UAAnC,CAAP;AACH;;AACD5vP,EAAAA,GAAG,CAACqzG,KAAD,EAAQ17G,IAAR,EAAci4P,UAAd,EAA0B;AACzB,WAAO,IAAIE,WAAJ,CAAgB,IAAhB,EAAsBz8I,KAAtB,EAA6B17G,IAA7B,EAAmCi4P,UAAnC,CAAP;AACH;;AACDG,EAAAA,MAAM,CAACpsL,MAAD,EAASisL,UAAT,EAAqBnZ,IAArB,EAA2B;AAC7B,WAAO,IAAIuZ,kBAAJ,CAAuB,IAAvB,EAA6BrsL,MAA7B,EAAqC,IAArC,EAA2CisL,UAA3C,EAAuDnZ,IAAvD,CAAP;AACH;;AACDwZ,EAAAA,WAAW,CAACtsL,MAAD,EAAShsE,IAAT,EAAei4P,UAAf,EAA2B;AAClC,WAAO,IAAIM,eAAJ,CAAoB,IAApB,EAA0BvsL,MAA1B,EAAkChsE,IAAlC,EAAwCi4P,UAAxC,CAAP;AACH;;AACDO,EAAAA,WAAW,CAACC,QAAD,EAAWC,SAAS,GAAG,IAAvB,EAA6BT,UAA7B,EAAyC;AAChD,WAAO,IAAIU,eAAJ,CAAoB,IAApB,EAA0BF,QAA1B,EAAoCC,SAApC,EAA+C,IAA/C,EAAqDT,UAArD,CAAP;AACH;;AACDn6O,EAAAA,MAAM,CAACu1J,GAAD,EAAM4kF,UAAN,EAAkB;AACpB,WAAO,IAAIW,kBAAJ,CAAuBrB,cAAc,CAACsB,MAAtC,EAA8C,IAA9C,EAAoDxlF,GAApD,EAAyD,IAAzD,EAA+D4kF,UAA/D,CAAP;AACH;;AACDa,EAAAA,SAAS,CAACzlF,GAAD,EAAM4kF,UAAN,EAAkB;AACvB,WAAO,IAAIW,kBAAJ,CAAuBrB,cAAc,CAACwB,SAAtC,EAAiD,IAAjD,EAAuD1lF,GAAvD,EAA4D,IAA5D,EAAkE4kF,UAAlE,CAAP;AACH;;AACDe,EAAAA,SAAS,CAAC3lF,GAAD,EAAM4kF,UAAN,EAAkB;AACvB,WAAO,IAAIW,kBAAJ,CAAuBrB,cAAc,CAAC0B,SAAtC,EAAiD,IAAjD,EAAuD5lF,GAAvD,EAA4D,IAA5D,EAAkE4kF,UAAlE,CAAP;AACH;;AACDiB,EAAAA,YAAY,CAAC7lF,GAAD,EAAM4kF,UAAN,EAAkB;AAC1B,WAAO,IAAIW,kBAAJ,CAAuBrB,cAAc,CAAC4B,YAAtC,EAAoD,IAApD,EAA0D9lF,GAA1D,EAA+D,IAA/D,EAAqE4kF,UAArE,CAAP;AACH;;AACDmB,EAAAA,KAAK,CAAC/lF,GAAD,EAAM4kF,UAAN,EAAkB;AACnB,WAAO,IAAIW,kBAAJ,CAAuBrB,cAAc,CAAC8B,KAAtC,EAA6C,IAA7C,EAAmDhmF,GAAnD,EAAwD,IAAxD,EAA8D4kF,UAA9D,CAAP;AACH;;AACDqB,EAAAA,IAAI,CAACjmF,GAAD,EAAM4kF,UAAN,EAAkB;AAClB,WAAO,IAAIW,kBAAJ,CAAuBrB,cAAc,CAACgC,IAAtC,EAA4C,IAA5C,EAAkDlmF,GAAlD,EAAuD,IAAvD,EAA6D4kF,UAA7D,CAAP;AACH;;AACDuB,EAAAA,MAAM,CAACnmF,GAAD,EAAM4kF,UAAN,EAAkB;AACpB,WAAO,IAAIW,kBAAJ,CAAuBrB,cAAc,CAACkC,MAAtC,EAA8C,IAA9C,EAAoDpmF,GAApD,EAAyD,IAAzD,EAA+D4kF,UAA/D,CAAP;AACH;;AACDyB,EAAAA,QAAQ,CAACrmF,GAAD,EAAM4kF,UAAN,EAAkB;AACtB,WAAO,IAAIW,kBAAJ,CAAuBrB,cAAc,CAACoC,QAAtC,EAAgD,IAAhD,EAAsDtmF,GAAtD,EAA2D,IAA3D,EAAiE4kF,UAAjE,CAAP;AACH;;AACD2B,EAAAA,MAAM,CAACvmF,GAAD,EAAM4kF,UAAN,EAAkB;AACpB,WAAO,IAAIW,kBAAJ,CAAuBrB,cAAc,CAACsC,MAAtC,EAA8C,IAA9C,EAAoDxmF,GAApD,EAAyD,IAAzD,EAA+D4kF,UAA/D,CAAP;AACH;;AACD6B,EAAAA,GAAG,CAACzmF,GAAD,EAAM4kF,UAAN,EAAkB;AACjB,WAAO,IAAIW,kBAAJ,CAAuBrB,cAAc,CAACwC,GAAtC,EAA2C,IAA3C,EAAiD1mF,GAAjD,EAAsD,IAAtD,EAA4D4kF,UAA5D,CAAP;AACH;;AACD+B,EAAAA,UAAU,CAAC3mF,GAAD,EAAM4kF,UAAN,EAAkBgC,MAAM,GAAG,IAA3B,EAAiC;AACvC,WAAO,IAAIrB,kBAAJ,CAAuBrB,cAAc,CAAC2C,UAAtC,EAAkD,IAAlD,EAAwD7mF,GAAxD,EAA6D,IAA7D,EAAmE4kF,UAAnE,EAA+EgC,MAA/E,CAAP;AACH;;AACDE,EAAAA,EAAE,CAAC9mF,GAAD,EAAM4kF,UAAN,EAAkB;AAChB,WAAO,IAAIW,kBAAJ,CAAuBrB,cAAc,CAAC6C,EAAtC,EAA0C,IAA1C,EAAgD/mF,GAAhD,EAAqD,IAArD,EAA2D4kF,UAA3D,CAAP;AACH;;AACDoC,EAAAA,KAAK,CAAChnF,GAAD,EAAM4kF,UAAN,EAAkB;AACnB,WAAO,IAAIW,kBAAJ,CAAuBrB,cAAc,CAAC+C,KAAtC,EAA6C,IAA7C,EAAmDjnF,GAAnD,EAAwD,IAAxD,EAA8D4kF,UAA9D,CAAP;AACH;;AACDsC,EAAAA,WAAW,CAAClnF,GAAD,EAAM4kF,UAAN,EAAkB;AACzB,WAAO,IAAIW,kBAAJ,CAAuBrB,cAAc,CAACiD,WAAtC,EAAmD,IAAnD,EAAyDnnF,GAAzD,EAA8D,IAA9D,EAAoE4kF,UAApE,CAAP;AACH;;AACDwC,EAAAA,MAAM,CAACpnF,GAAD,EAAM4kF,UAAN,EAAkB;AACpB,WAAO,IAAIW,kBAAJ,CAAuBrB,cAAc,CAACmD,MAAtC,EAA8C,IAA9C,EAAoDrnF,GAApD,EAAyD,IAAzD,EAA+D4kF,UAA/D,CAAP;AACH;;AACD0C,EAAAA,YAAY,CAACtnF,GAAD,EAAM4kF,UAAN,EAAkB;AAC1B,WAAO,IAAIW,kBAAJ,CAAuBrB,cAAc,CAACqD,YAAtC,EAAoD,IAApD,EAA0DvnF,GAA1D,EAA+D,IAA/D,EAAqE4kF,UAArE,CAAP;AACH;;AACD4C,EAAAA,OAAO,CAAC5C,UAAD,EAAa;AAChB;AACA;AACA,WAAO,KAAKn6O,MAAL,CAAYg9O,eAAZ,EAA6B7C,UAA7B,CAAP;AACH;;AACD7wP,EAAAA,IAAI,CAACpH,IAAD,EAAOi4P,UAAP,EAAmB;AACnB,WAAO,IAAI8C,QAAJ,CAAa,IAAb,EAAmB/6P,IAAnB,EAAyBi4P,UAAzB,CAAP;AACH;;AACD+C,EAAAA,eAAe,CAAC3nF,GAAD,EAAM4kF,UAAN,EAAkB;AAC7B,WAAO,IAAIW,kBAAJ,CAAuBrB,cAAc,CAAC0D,eAAtC,EAAuD,IAAvD,EAA6D5nF,GAA7D,EAAkE,IAAlE,EAAwE4kF,UAAxE,CAAP;AACH;;AACDiD,EAAAA,MAAM,GAAG;AACL,WAAO,IAAIC,mBAAJ,CAAwB,IAAxB,EAA8B,IAA9B,CAAP;AACH;;AAjFY;;AAmFjB,IAAIC,UAAJ;;AACA,CAAC,UAAUA,UAAV,EAAsB;AACnBA,EAAAA,UAAU,CAACA,UAAU,CAAC,MAAD,CAAV,GAAqB,CAAtB,CAAV,GAAqC,MAArC;AACAA,EAAAA,UAAU,CAACA,UAAU,CAAC,OAAD,CAAV,GAAsB,CAAvB,CAAV,GAAsC,OAAtC;AACAA,EAAAA,UAAU,CAACA,UAAU,CAAC,YAAD,CAAV,GAA2B,CAA5B,CAAV,GAA2C,YAA3C;AACAA,EAAAA,UAAU,CAACA,UAAU,CAAC,YAAD,CAAV,GAA2B,CAA5B,CAAV,GAA2C,YAA3C;AACH,CALD,EAKGA,UAAU,KAAKA,UAAU,GAAG,EAAlB,CALb;;AAMA,MAAMC,WAAN,SAA0BrD,UAA1B,CAAqC;AACjC94P,EAAAA,WAAW,CAAC2X,IAAD,EAAO7W,IAAP,EAAai4P,UAAb,EAAyB;AAChC,UAAMj4P,IAAN,EAAYi4P,UAAZ;;AACA,QAAI,OAAOphP,IAAP,KAAgB,QAApB,EAA8B;AAC1B,WAAKA,IAAL,GAAYA,IAAZ;AACA,WAAKykP,OAAL,GAAe,IAAf;AACH,KAHD,MAIK;AACD,WAAKzkP,IAAL,GAAY,IAAZ;AACA,WAAKykP,OAAL,GAAezkP,IAAf;AACH;AACJ;;AACD4gP,EAAAA,YAAY,CAACh7P,CAAD,EAAI;AACZ,WAAOA,CAAC,YAAY4+P,WAAb,IAA4B,KAAKxkP,IAAL,KAAcpa,CAAC,CAACoa,IAA5C,IAAoD,KAAKykP,OAAL,KAAiB7+P,CAAC,CAAC6+P,OAA9E;AACH;;AACDC,EAAAA,UAAU,GAAG;AACT,WAAO,KAAP;AACH;;AACDC,EAAAA,eAAe,CAAC/pF,OAAD,EAAU7wK,OAAV,EAAmB;AAC9B,WAAO6wK,OAAO,CAACgqF,gBAAR,CAAyB,IAAzB,EAA+B76P,OAA/B,CAAP;AACH;;AACDuB,EAAAA,GAAG,CAACgI,KAAD,EAAQ;AACP,QAAI,CAAC,KAAK0M,IAAV,EAAgB;AACZ,YAAM,IAAIkB,KAAJ,CAAW,qBAAoB,KAAKujP,OAAQ,0BAA5C,CAAN;AACH;;AACD,WAAO,IAAII,YAAJ,CAAiB,KAAK7kP,IAAtB,EAA4B1M,KAA5B,EAAmC,IAAnC,EAAyC,KAAK8tP,UAA9C,CAAP;AACH;;AA1BgC;;AA4BrC,MAAM0D,UAAN,SAAyB3D,UAAzB,CAAoC;AAChC94P,EAAAA,WAAW,CAACo2K,IAAD,EAAOt1K,IAAP,EAAai4P,UAAb,EAAyB;AAChC,UAAMj4P,IAAN,EAAYi4P,UAAZ;AACA,SAAK3iF,IAAL,GAAYA,IAAZ;AACH;;AACDkmF,EAAAA,eAAe,CAAC/pF,OAAD,EAAU7wK,OAAV,EAAmB;AAC9B,WAAO6wK,OAAO,CAACmqF,eAAR,CAAwB,IAAxB,EAA8Bh7P,OAA9B,CAAP;AACH;;AACD62P,EAAAA,YAAY,CAACh7P,CAAD,EAAI;AACZ,WAAOA,CAAC,YAAYk/P,UAAb,IAA2Bl/P,CAAC,CAAC64K,IAAF,CAAOmiF,YAAP,CAAoB,KAAKniF,IAAzB,CAAlC;AACH;;AACDimF,EAAAA,UAAU,GAAG;AACT,WAAO,KAAKjmF,IAAL,CAAUimF,UAAV,EAAP;AACH;;AAb+B;;AAepC,MAAMM,eAAN,SAA8B7D,UAA9B,CAAyC;AACrC94P,EAAAA,WAAW,CAACu9E,IAAD,EAAOz8E,IAAP,EAAai4P,UAAb,EAAyB;AAChC,UAAMj4P,IAAN,EAAYi4P,UAAZ;AACA,SAAKx7K,IAAL,GAAYA,IAAZ;AACH;;AACDg7K,EAAAA,YAAY,CAACh7P,CAAD,EAAI;AACZ,WAAOA,CAAC,YAAYo/P,eAAb,IAAgC,KAAKp/K,IAAL,KAAchgF,CAAC,CAACggF,IAAvD;AACH;;AACD8+K,EAAAA,UAAU,GAAG;AACT,WAAO,KAAP;AACH;;AACDC,EAAAA,eAAe,CAAC/pF,OAAD,EAAU7wK,OAAV,EAAmB;AAC9B,WAAO6wK,OAAO,CAACqqF,oBAAR,CAA6B,IAA7B,EAAmCl7P,OAAnC,CAAP;AACH;;AAboC;;AAezC,MAAM86P,YAAN,SAA2B1D,UAA3B,CAAsC;AAClC94P,EAAAA,WAAW,CAAC2X,IAAD,EAAO1M,KAAP,EAAcnK,IAAd,EAAoBi4P,UAApB,EAAgC;AACvC,UAAMj4P,IAAI,IAAImK,KAAK,CAACnK,IAApB,EAA0Bi4P,UAA1B;AACA,SAAKphP,IAAL,GAAYA,IAAZ;AACA,SAAK1M,KAAL,GAAaA,KAAb;AACH;;AACDstP,EAAAA,YAAY,CAACh7P,CAAD,EAAI;AACZ,WAAOA,CAAC,YAAYi/P,YAAb,IAA6B,KAAK7kP,IAAL,KAAcpa,CAAC,CAACoa,IAA7C,IAAqD,KAAK1M,KAAL,CAAWstP,YAAX,CAAwBh7P,CAAC,CAAC0N,KAA1B,CAA5D;AACH;;AACDoxP,EAAAA,UAAU,GAAG;AACT,WAAO,KAAP;AACH;;AACDC,EAAAA,eAAe,CAAC/pF,OAAD,EAAU7wK,OAAV,EAAmB;AAC9B,WAAO6wK,OAAO,CAACsqF,iBAAR,CAA0B,IAA1B,EAAgCn7P,OAAhC,CAAP;AACH;;AACDo7P,EAAAA,UAAU,CAACh8P,IAAD,EAAOwgG,SAAP,EAAkB;AACxB,WAAO,IAAIy7J,cAAJ,CAAmB,KAAKplP,IAAxB,EAA8B,KAAK1M,KAAnC,EAA0CnK,IAA1C,EAAgDwgG,SAAhD,EAA2D,KAAKy3J,UAAhE,CAAP;AACH;;AACDiE,EAAAA,WAAW,GAAG;AACV,WAAO,KAAKF,UAAL,CAAgBpF,aAAhB,EAA+B,CAACuF,YAAY,CAACC,KAAd,CAA/B,CAAP;AACH;;AApBiC;;AAsBtC,MAAMC,YAAN,SAA2BrE,UAA3B,CAAsC;AAClC94P,EAAAA,WAAW,CAACo9P,QAAD,EAAW5gJ,KAAX,EAAkBvxG,KAAlB,EAAyBnK,IAAzB,EAA+Bi4P,UAA/B,EAA2C;AAClD,UAAMj4P,IAAI,IAAImK,KAAK,CAACnK,IAApB,EAA0Bi4P,UAA1B;AACA,SAAKqE,QAAL,GAAgBA,QAAhB;AACA,SAAK5gJ,KAAL,GAAaA,KAAb;AACA,SAAKvxG,KAAL,GAAaA,KAAb;AACH;;AACDstP,EAAAA,YAAY,CAACh7P,CAAD,EAAI;AACZ,WAAOA,CAAC,YAAY4/P,YAAb,IAA6B,KAAKC,QAAL,CAAc7E,YAAd,CAA2Bh7P,CAAC,CAAC6/P,QAA7B,CAA7B,IACH,KAAK5gJ,KAAL,CAAW+7I,YAAX,CAAwBh7P,CAAC,CAACi/G,KAA1B,CADG,IACiC,KAAKvxG,KAAL,CAAWstP,YAAX,CAAwBh7P,CAAC,CAAC0N,KAA1B,CADxC;AAEH;;AACDoxP,EAAAA,UAAU,GAAG;AACT,WAAO,KAAP;AACH;;AACDC,EAAAA,eAAe,CAAC/pF,OAAD,EAAU7wK,OAAV,EAAmB;AAC9B,WAAO6wK,OAAO,CAAC8qF,iBAAR,CAA0B,IAA1B,EAAgC37P,OAAhC,CAAP;AACH;;AAhBiC;;AAkBtC,MAAM47P,aAAN,SAA4BxE,UAA5B,CAAuC;AACnC94P,EAAAA,WAAW,CAACo9P,QAAD,EAAWzlP,IAAX,EAAiB1M,KAAjB,EAAwBnK,IAAxB,EAA8Bi4P,UAA9B,EAA0C;AACjD,UAAMj4P,IAAI,IAAImK,KAAK,CAACnK,IAApB,EAA0Bi4P,UAA1B;AACA,SAAKqE,QAAL,GAAgBA,QAAhB;AACA,SAAKzlP,IAAL,GAAYA,IAAZ;AACA,SAAK1M,KAAL,GAAaA,KAAb;AACH;;AACDstP,EAAAA,YAAY,CAACh7P,CAAD,EAAI;AACZ,WAAOA,CAAC,YAAY+/P,aAAb,IAA8B,KAAKF,QAAL,CAAc7E,YAAd,CAA2Bh7P,CAAC,CAAC6/P,QAA7B,CAA9B,IACH,KAAKzlP,IAAL,KAAcpa,CAAC,CAACoa,IADb,IACqB,KAAK1M,KAAL,CAAWstP,YAAX,CAAwBh7P,CAAC,CAAC0N,KAA1B,CAD5B;AAEH;;AACDoxP,EAAAA,UAAU,GAAG;AACT,WAAO,KAAP;AACH;;AACDC,EAAAA,eAAe,CAAC/pF,OAAD,EAAU7wK,OAAV,EAAmB;AAC9B,WAAO6wK,OAAO,CAACgrF,kBAAR,CAA2B,IAA3B,EAAiC77P,OAAjC,CAAP;AACH;;AAhBkC;;AAkBvC,IAAI87P,aAAJ;;AACA,CAAC,UAAUA,aAAV,EAAyB;AACtBA,EAAAA,aAAa,CAACA,aAAa,CAAC,aAAD,CAAb,GAA+B,CAAhC,CAAb,GAAkD,aAAlD;AACAA,EAAAA,aAAa,CAACA,aAAa,CAAC,qBAAD,CAAb,GAAuC,CAAxC,CAAb,GAA0D,qBAA1D;AACAA,EAAAA,aAAa,CAACA,aAAa,CAAC,MAAD,CAAb,GAAwB,CAAzB,CAAb,GAA2C,MAA3C;AACH,CAJD,EAIGA,aAAa,KAAKA,aAAa,GAAG,EAArB,CAJhB;;AAKA,MAAMrE,kBAAN,SAAiCL,UAAjC,CAA4C;AACxC94P,EAAAA,WAAW,CAACy1B,EAAD,EAAK6pI,IAAL,EAAWx+J,IAAX,EAAiBi4P,UAAjB,EAA6BnZ,IAAI,GAAG,KAApC,EAA2C;AAClD,UAAM9+O,IAAN,EAAYi4P,UAAZ;AACA,SAAKtjO,EAAL,GAAUA,EAAV;AACA,SAAK6pI,IAAL,GAAYA,IAAZ;AACA,SAAKsgF,IAAL,GAAYA,IAAZ;AACH;;AACD2Y,EAAAA,YAAY,CAACh7P,CAAD,EAAI;AACZ,WAAOA,CAAC,YAAY47P,kBAAb,IAAmC,KAAK1jO,EAAL,CAAQ8iO,YAAR,CAAqBh7P,CAAC,CAACk4B,EAAvB,CAAnC,IACHkjO,gBAAgB,CAAC,KAAKr5F,IAAN,EAAY/hK,CAAC,CAAC+hK,IAAd,CADb,IACoC,KAAKsgF,IAAL,KAAcriP,CAAC,CAACqiP,IAD3D;AAEH;;AACDyc,EAAAA,UAAU,GAAG;AACT,WAAO,KAAP;AACH;;AACDC,EAAAA,eAAe,CAAC/pF,OAAD,EAAU7wK,OAAV,EAAmB;AAC9B,WAAO6wK,OAAO,CAACkrF,uBAAR,CAAgC,IAAhC,EAAsC/7P,OAAtC,CAAP;AACH;;AAhBuC;;AAkB5C,MAAMg8P,kBAAN,SAAiC5E,UAAjC,CAA4C;AACxC94P,EAAAA,WAAW,CAACwvJ,GAAD,EAAMrvC,QAAN,EAAgBr/G,IAAhB,EAAsBi4P,UAAtB,EAAkC;AACzC,UAAMj4P,IAAN,EAAYi4P,UAAZ;AACA,SAAKvpG,GAAL,GAAWA,GAAX;AACA,SAAKrvC,QAAL,GAAgBA,QAAhB;AACH;;AACDo4I,EAAAA,YAAY,CAACh7P,CAAD,EAAI;AACZ,WAAOA,CAAC,YAAYmgQ,kBAAb,IAAmC,KAAKluG,GAAL,CAAS+oG,YAAT,CAAsBh7P,CAAC,CAACiyJ,GAAxB,CAAnC,IACHgpG,yBAAyB,CAAC,KAAKr4I,QAAL,CAAc5tF,QAAf,EAAyBh1B,CAAC,CAAC4iH,QAAF,CAAW5tF,QAApC,EAA8C,CAAC10B,CAAD,EAAIuB,CAAJ,KAAUvB,CAAC,CAAC+L,IAAF,KAAWxK,CAAC,CAACwK,IAArE,CADtB,IAEH+uP,gBAAgB,CAAC,KAAKx4I,QAAL,CAAcqzD,WAAf,EAA4Bj2K,CAAC,CAAC4iH,QAAF,CAAWqzD,WAAvC,CAFpB;AAGH;;AACD6oF,EAAAA,UAAU,GAAG;AACT,WAAO,KAAP;AACH;;AACDC,EAAAA,eAAe,CAAC/pF,OAAD,EAAU7wK,OAAV,EAAmB;AAC9B,WAAO6wK,OAAO,CAACorF,uBAAR,CAAgC,IAAhC,EAAsCj8P,OAAtC,CAAP;AACH;;AAhBuC;;AAkB5C,MAAM23P,eAAN,SAA8BP,UAA9B,CAAyC;AACrC94P,EAAAA,WAAW,CAAC49P,SAAD,EAAYt+F,IAAZ,EAAkBx+J,IAAlB,EAAwBi4P,UAAxB,EAAoC;AAC3C,UAAMj4P,IAAN,EAAYi4P,UAAZ;AACA,SAAK6E,SAAL,GAAiBA,SAAjB;AACA,SAAKt+F,IAAL,GAAYA,IAAZ;AACH;;AACDi5F,EAAAA,YAAY,CAACh7P,CAAD,EAAI;AACZ,WAAOA,CAAC,YAAY87P,eAAb,IAAgC,KAAKuE,SAAL,CAAerF,YAAf,CAA4Bh7P,CAAC,CAACqgQ,SAA9B,CAAhC,IACHjF,gBAAgB,CAAC,KAAKr5F,IAAN,EAAY/hK,CAAC,CAAC+hK,IAAd,CADpB;AAEH;;AACD+8F,EAAAA,UAAU,GAAG;AACT,WAAO,KAAP;AACH;;AACDC,EAAAA,eAAe,CAAC/pF,OAAD,EAAU7wK,OAAV,EAAmB;AAC9B,WAAO6wK,OAAO,CAACsrF,oBAAR,CAA6B,IAA7B,EAAmCn8P,OAAnC,CAAP;AACH;;AAfoC;;AAiBzC,MAAMo8P,WAAN,SAA0BhF,UAA1B,CAAqC;AACjC94P,EAAAA,WAAW,CAACiL,KAAD,EAAQnK,IAAR,EAAci4P,UAAd,EAA0B;AACjC,UAAMj4P,IAAN,EAAYi4P,UAAZ;AACA,SAAK9tP,KAAL,GAAaA,KAAb;AACH;;AACDstP,EAAAA,YAAY,CAACh7P,CAAD,EAAI;AACZ,WAAOA,CAAC,YAAYugQ,WAAb,IAA4B,KAAK7yP,KAAL,KAAe1N,CAAC,CAAC0N,KAApD;AACH;;AACDoxP,EAAAA,UAAU,GAAG;AACT,WAAO,IAAP;AACH;;AACDC,EAAAA,eAAe,CAAC/pF,OAAD,EAAU7wK,OAAV,EAAmB;AAC9B,WAAO6wK,OAAO,CAACwrF,gBAAR,CAAyB,IAAzB,EAA+Br8P,OAA/B,CAAP;AACH;;AAbgC;;AAerC,MAAMs8P,eAAN,CAAsB;AAClBh+P,EAAAA,WAAW,CAACuyB,QAAD,EAAWihJ,WAAX,EAAwB;AAC/B,SAAKjhJ,QAAL,GAAgBA,QAAhB;AACA,SAAKihJ,WAAL,GAAmBA,WAAnB;AACH;;AAJiB;;AAMtB,MAAMyqF,sBAAN,CAA6B;AACzBj+P,EAAAA,WAAW,CAAC4J,IAAD,EAAOmvP,UAAP,EAAmBmF,OAAnB,EAA4B;AACnC,SAAKt0P,IAAL,GAAYA,IAAZ;AACA,SAAKmvP,UAAL,GAAkBA,UAAlB,CAFmC,CAGnC;AACA;AACA;AACA;AACA;AACA;;AACA,SAAKmF,OAAL,GACIA,OAAO,IAAInF,UAAU,EAAEt4P,QAAZ,EAAX,IAAqC09P,wBAAwB,CAACC,aAAa,CAACx0P,IAAD,CAAd,CADjE;AAEH;;AAZwB;;AAc7B,MAAMy0P,YAAN,CAAmB;AACfr+P,EAAAA,WAAW,CAAC4J,IAAD,EAAOmvP,UAAP,EAAmB;AAC1B,SAAKnvP,IAAL,GAAYA,IAAZ;AACA,SAAKmvP,UAAL,GAAkBA,UAAlB;AACH;;AAJc;;AAMnB,MAAMuF,YAAN,SAA2BD,YAA3B,CAAwC;;AAExC,MAAME,gBAAN,SAA+BF,YAA/B,CAA4C;;AAE5C,MAAMG,eAAN,SAA8B1F,UAA9B,CAAyC;AACrC94P,EAAAA,WAAW,CAACy+P,SAAD,EAAYC,YAAZ,EAA0BC,gBAA1B,EAA4CnrF,WAA5C,EAAyDulF,UAAzD,EAAqE;AAC5E,UAAMd,WAAN,EAAmBc,UAAnB;AACA,SAAK0F,SAAL,GAAiBA,SAAjB;AACA,SAAKC,YAAL,GAAoBA,YAApB;AACA,SAAKC,gBAAL,GAAwBA,gBAAxB;AACA,SAAKnrF,WAAL,GAAmBA,WAAnB;AACH;;AACD+kF,EAAAA,YAAY,CAACh7P,CAAD,EAAI;AACZ;AACA,WAAO,KAAP;AACH;;AACD8+P,EAAAA,UAAU,GAAG;AACT,WAAO,KAAP;AACH;;AACDC,EAAAA,eAAe,CAAC/pF,OAAD,EAAU7wK,OAAV,EAAmB;AAC9B,WAAO6wK,OAAO,CAACqsF,oBAAR,CAA6B,IAA7B,EAAmCl9P,OAAnC,CAAP;AACH;AACD;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;;;AACIm9P,EAAAA,iBAAiB,GAAG;AAChB,UAAMC,iBAAiB,GAAG,GAA1B;AACA,UAAMC,YAAY,GAAG,IAArB;AACA,UAAMC,mBAAmB,GAAG,GAA5B;AACA,QAAIP,SAAS,GAAG,KAAKA,SAAL,CAAenzP,WAAf,IAA8B,EAA9C;;AACA,QAAI,KAAKmzP,SAAL,CAAeQ,OAAnB,EAA4B;AACxBR,MAAAA,SAAS,GAAI,GAAE,KAAKA,SAAL,CAAeQ,OAAQ,GAAEH,iBAAkB,GAAEL,SAAU,EAAtE;AACH;;AACD,QAAI,KAAKA,SAAL,CAAeS,QAAnB,EAA6B;AACzBT,MAAAA,SAAS,GAAI,GAAEA,SAAU,GAAEM,YAAa,GAAE,KAAKN,SAAL,CAAeS,QAAS,EAAlE;AACH;;AACD,QAAI,KAAKT,SAAL,CAAeU,SAAnB,EAA8B;AAC1B,WAAKV,SAAL,CAAeU,SAAf,CAAyBj9P,OAAzB,CAAiCk9P,QAAQ,IAAI;AACzCX,QAAAA,SAAS,GAAI,GAAEA,SAAU,GAAEO,mBAAoB,GAAEI,QAAS,EAA1D;AACH,OAFD;AAGH;;AACD,WAAOC,qBAAqB,CAACZ,SAAD,EAAY,KAAKC,YAAL,CAAkB,CAAlB,EAAqB90P,IAAjC,EAAuC,KAAK01P,wBAAL,CAA8B,CAA9B,CAAvC,CAA5B;AACH;;AACDA,EAAAA,wBAAwB,CAACrhQ,CAAD,EAAI;AACxB,WAAO,KAAKygQ,YAAL,CAAkBzgQ,CAAlB,GAAsB86P,UAAtB,IAAoC,KAAKA,UAAhD;AACH;;AACDwG,EAAAA,wBAAwB,CAACthQ,CAAD,EAAI;AACxB,WAAO,KAAK0gQ,gBAAL,CAAsB1gQ,CAAtB,GAA0B86P,UAA1B,IAAwC,KAAKvlF,WAAL,CAAiBv1K,CAAjB,GAAqB86P,UAA7D,IACH,KAAKA,UADT;AAEH;AACD;AACJ;AACA;AACA;AACA;AACA;AACA;;;AACIyG,EAAAA,yBAAyB,CAACC,SAAD,EAAY;AACjC,UAAMC,eAAe,GAAG,KAAKf,gBAAL,CAAsBc,SAAS,GAAG,CAAlC,EAAqC71P,IAA7D;AACA,UAAM+1P,WAAW,GAAG,KAAKjB,YAAL,CAAkBe,SAAlB,CAApB;AACA,WAAOJ,qBAAqB,CAACK,eAAD,EAAkBC,WAAW,CAAC/1P,IAA9B,EAAoC,KAAK01P,wBAAL,CAA8BG,SAA9B,CAApC,CAA5B;AACH;;AA9DoC;;AAgEzC,MAAMrB,aAAa,GAAI1sF,GAAD,IAASA,GAAG,CAAC5jK,OAAJ,CAAY,KAAZ,EAAmB,MAAnB,CAA/B;;AACA,MAAM8xP,mBAAmB,GAAIluF,GAAD,IAASA,GAAG,CAAC5jK,OAAJ,CAAY,IAAZ,EAAkB,KAAlB,CAArC;;AACA,MAAM+xP,YAAY,GAAInuF,GAAD,IAASA,GAAG,CAAC5jK,OAAJ,CAAY,IAAZ,EAAkB,KAAlB,CAA9B;;AACA,MAAMqwP,wBAAwB,GAAIzsF,GAAD,IAASA,GAAG,CAAC5jK,OAAJ,CAAY,IAAZ,EAAkB,KAAlB,EAAyBA,OAAzB,CAAiC,MAAjC,EAAyC,MAAzC,CAA1C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASuxP,qBAAT,CAA+BZ,SAA/B,EAA0CkB,WAA1C,EAAuDn4P,KAAvD,EAA8D;AAC1D,MAAIi3P,SAAS,KAAK,EAAlB,EAAsB;AAClB,WAAO;AACHqB,MAAAA,MAAM,EAAEH,WADL;AAEHlyL,MAAAA,GAAG,EAAE0wL,wBAAwB,CAACyB,mBAAmB,CAACxB,aAAa,CAACuB,WAAD,CAAd,CAApB,CAF1B;AAGHn4P,MAAAA;AAHG,KAAP;AAKH,GAND,MAOK;AACD,WAAO;AACHs4P,MAAAA,MAAM,EAAG,IAAGrB,SAAU,IAAGkB,WAAY,EADlC;AAEHlyL,MAAAA,GAAG,EAAE0wL,wBAAwB,CAAE,IAAG0B,YAAY,CAACzB,aAAa,CAACK,SAAD,CAAd,CAA2B,IAAGL,aAAa,CAACuB,WAAD,CAAc,EAA1E,CAF1B;AAGHn4P,MAAAA;AAHG,KAAP;AAKH;AACJ;;AACD,MAAMu4P,YAAN,SAA2BjH,UAA3B,CAAsC;AAClC94P,EAAAA,WAAW,CAACiL,KAAD,EAAQnK,IAAR,EAAco2P,UAAU,GAAG,IAA3B,EAAiC6B,UAAjC,EAA6C;AACpD,UAAMj4P,IAAN,EAAYi4P,UAAZ;AACA,SAAK9tP,KAAL,GAAaA,KAAb;AACA,SAAKisP,UAAL,GAAkBA,UAAlB;AACH;;AACDqB,EAAAA,YAAY,CAACh7P,CAAD,EAAI;AACZ,WAAOA,CAAC,YAAYwiQ,YAAb,IAA6B,KAAK90P,KAAL,CAAW0M,IAAX,KAAoBpa,CAAC,CAAC0N,KAAF,CAAQ0M,IAAzD,IACH,KAAK1M,KAAL,CAAW+0P,UAAX,KAA0BziQ,CAAC,CAAC0N,KAAF,CAAQ+0P,UAD/B,IAC6C,KAAK/0P,KAAL,CAAWg1P,OAAX,KAAuB1iQ,CAAC,CAAC0N,KAAF,CAAQg1P,OADnF;AAEH;;AACD5D,EAAAA,UAAU,GAAG;AACT,WAAO,KAAP;AACH;;AACDC,EAAAA,eAAe,CAAC/pF,OAAD,EAAU7wK,OAAV,EAAmB;AAC9B,WAAO6wK,OAAO,CAAC2tF,iBAAR,CAA0B,IAA1B,EAAgCx+P,OAAhC,CAAP;AACH;;AAfiC;;AAiBtC,MAAMy+P,iBAAN,CAAwB;AACpBngQ,EAAAA,WAAW,CAACggQ,UAAD,EAAaroP,IAAb,EAAmBsoP,OAAnB,EAA4B;AACnC,SAAKD,UAAL,GAAkBA,UAAlB;AACA,SAAKroP,IAAL,GAAYA,IAAZ;AACA,SAAKsoP,OAAL,GAAeA,OAAf;AACH;;AALmB;;AAOxB,MAAMxG,eAAN,SAA8BX,UAA9B,CAAyC;AACrC94P,EAAAA,WAAW,CAACs7O,SAAD,EAAYie,QAAZ,EAAsBC,SAAS,GAAG,IAAlC,EAAwC14P,IAAxC,EAA8Ci4P,UAA9C,EAA0D;AACjE,UAAMj4P,IAAI,IAAIy4P,QAAQ,CAACz4P,IAAvB,EAA6Bi4P,UAA7B;AACA,SAAKzd,SAAL,GAAiBA,SAAjB;AACA,SAAKke,SAAL,GAAiBA,SAAjB;AACA,SAAKD,QAAL,GAAgBA,QAAhB;AACH;;AACDhB,EAAAA,YAAY,CAACh7P,CAAD,EAAI;AACZ,WAAOA,CAAC,YAAYk8P,eAAb,IAAgC,KAAKne,SAAL,CAAeid,YAAf,CAA4Bh7P,CAAC,CAAC+9O,SAA9B,CAAhC,IACH,KAAKie,QAAL,CAAchB,YAAd,CAA2Bh7P,CAAC,CAACg8P,QAA7B,CADG,IACuCjB,oBAAoB,CAAC,KAAKkB,SAAN,EAAiBj8P,CAAC,CAACi8P,SAAnB,CADlE;AAEH;;AACD6C,EAAAA,UAAU,GAAG;AACT,WAAO,KAAP;AACH;;AACDC,EAAAA,eAAe,CAAC/pF,OAAD,EAAU7wK,OAAV,EAAmB;AAC9B,WAAO6wK,OAAO,CAAC6tF,oBAAR,CAA6B,IAA7B,EAAmC1+P,OAAnC,CAAP;AACH;;AAhBoC;;AAkBzC,MAAM2+P,OAAN,SAAsBvH,UAAtB,CAAiC;AAC7B94P,EAAAA,WAAW,CAACs7O,SAAD,EAAYyd,UAAZ,EAAwB;AAC/B,UAAMnB,SAAN,EAAiBmB,UAAjB;AACA,SAAKzd,SAAL,GAAiBA,SAAjB;AACH;;AACDid,EAAAA,YAAY,CAACh7P,CAAD,EAAI;AACZ,WAAOA,CAAC,YAAY8iQ,OAAb,IAAwB,KAAK/kB,SAAL,CAAeid,YAAf,CAA4Bh7P,CAAC,CAAC+9O,SAA9B,CAA/B;AACH;;AACD+gB,EAAAA,UAAU,GAAG;AACT,WAAO,KAAP;AACH;;AACDC,EAAAA,eAAe,CAAC/pF,OAAD,EAAU7wK,OAAV,EAAmB;AAC9B,WAAO6wK,OAAO,CAAC+tF,YAAR,CAAqB,IAArB,EAA2B5+P,OAA3B,CAAP;AACH;;AAb4B;;AAejC,MAAM6+P,aAAN,SAA4BzH,UAA5B,CAAuC;AACnC94P,EAAAA,WAAW,CAACs7O,SAAD,EAAYyd,UAAZ,EAAwB;AAC/B,UAAMzd,SAAS,CAACx6O,IAAhB,EAAsBi4P,UAAtB;AACA,SAAKzd,SAAL,GAAiBA,SAAjB;AACH;;AACDid,EAAAA,YAAY,CAACh7P,CAAD,EAAI;AACZ,WAAOA,CAAC,YAAYgjQ,aAAb,IAA8B,KAAKjlB,SAAL,CAAeid,YAAf,CAA4Bh7P,CAAC,CAAC+9O,SAA9B,CAArC;AACH;;AACD+gB,EAAAA,UAAU,GAAG;AACT,WAAO,KAAP;AACH;;AACDC,EAAAA,eAAe,CAAC/pF,OAAD,EAAU7wK,OAAV,EAAmB;AAC9B,WAAO6wK,OAAO,CAACiuF,sBAAR,CAA+B,IAA/B,EAAqC9+P,OAArC,CAAP;AACH;;AAbkC;;AAevC,MAAMm6P,QAAN,SAAuB/C,UAAvB,CAAkC;AAC9B94P,EAAAA,WAAW,CAACiL,KAAD,EAAQnK,IAAR,EAAci4P,UAAd,EAA0B;AACjC,UAAMj4P,IAAN,EAAYi4P,UAAZ;AACA,SAAK9tP,KAAL,GAAaA,KAAb;AACH;;AACDstP,EAAAA,YAAY,CAACh7P,CAAD,EAAI;AACZ,WAAOA,CAAC,YAAYs+P,QAAb,IAAyB,KAAK5wP,KAAL,CAAWstP,YAAX,CAAwBh7P,CAAC,CAAC0N,KAA1B,CAAhC;AACH;;AACDoxP,EAAAA,UAAU,GAAG;AACT,WAAO,KAAP;AACH;;AACDC,EAAAA,eAAe,CAAC/pF,OAAD,EAAU7wK,OAAV,EAAmB;AAC9B,WAAO6wK,OAAO,CAACkuF,aAAR,CAAsB,IAAtB,EAA4B/+P,OAA5B,CAAP;AACH;;AAb6B;;AAelC,MAAMg/P,OAAN,CAAc;AACV1gQ,EAAAA,WAAW,CAAC2X,IAAD,EAAO7W,IAAI,GAAG,IAAd,EAAoB;AAC3B,SAAK6W,IAAL,GAAYA,IAAZ;AACA,SAAK7W,IAAL,GAAYA,IAAZ;AACH;;AACDy3P,EAAAA,YAAY,CAACvR,KAAD,EAAQ;AAChB,WAAO,KAAKrvO,IAAL,KAAcqvO,KAAK,CAACrvO,IAA3B;AACH;;AAPS;;AASd,MAAMgpP,YAAN,SAA2B7H,UAA3B,CAAsC;AAClC94P,EAAAA,WAAW,CAAC8sE,MAAD,EAAS8zL,UAAT,EAAqB9/P,IAArB,EAA2Bi4P,UAA3B,EAAuCphP,IAAvC,EAA6C;AACpD,UAAM7W,IAAN,EAAYi4P,UAAZ;AACA,SAAKjsL,MAAL,GAAcA,MAAd;AACA,SAAK8zL,UAAL,GAAkBA,UAAlB;AACA,SAAKjpP,IAAL,GAAYA,IAAZ;AACH;;AACD4gP,EAAAA,YAAY,CAACh7P,CAAD,EAAI;AACZ,WAAOA,CAAC,YAAYojQ,YAAb,IAA6BhI,gBAAgB,CAAC,KAAK7rL,MAAN,EAAcvvE,CAAC,CAACuvE,MAAhB,CAA7C,IACH6rL,gBAAgB,CAAC,KAAKiI,UAAN,EAAkBrjQ,CAAC,CAACqjQ,UAApB,CADpB;AAEH;;AACDvE,EAAAA,UAAU,GAAG;AACT,WAAO,KAAP;AACH;;AACDC,EAAAA,eAAe,CAAC/pF,OAAD,EAAU7wK,OAAV,EAAmB;AAC9B,WAAO6wK,OAAO,CAACsuF,iBAAR,CAA0B,IAA1B,EAAgCn/P,OAAhC,CAAP;AACH;;AACDo7P,EAAAA,UAAU,CAACnlP,IAAD,EAAO2pF,SAAP,EAAkB;AACxB,WAAO,IAAIw/J,mBAAJ,CAAwBnpP,IAAxB,EAA8B,KAAKm1D,MAAnC,EAA2C,KAAK8zL,UAAhD,EAA4D,KAAK9/P,IAAjE,EAAuEwgG,SAAvE,EAAkF,KAAKy3J,UAAvF,CAAP;AACH;;AAnBiC;;AAqBtC,MAAMgI,iBAAN,SAAgCjI,UAAhC,CAA2C;AACvC94P,EAAAA,WAAW,CAACghQ,QAAD,EAAW5qF,IAAX,EAAiBt1K,IAAjB,EAAuBi4P,UAAvB,EAAmCgC,MAAM,GAAG,IAA5C,EAAkD;AACzD,UAAMj6P,IAAI,IAAIk3P,WAAd,EAA2Be,UAA3B;AACA,SAAKiI,QAAL,GAAgBA,QAAhB;AACA,SAAK5qF,IAAL,GAAYA,IAAZ;AACA,SAAK2kF,MAAL,GAAcA,MAAd;AACH;;AACDxC,EAAAA,YAAY,CAACh7P,CAAD,EAAI;AACZ,WAAOA,CAAC,YAAYwjQ,iBAAb,IAAkC,KAAKC,QAAL,KAAkBzjQ,CAAC,CAACyjQ,QAAtD,IACH,KAAK5qF,IAAL,CAAUmiF,YAAV,CAAuBh7P,CAAC,CAAC64K,IAAzB,CADJ;AAEH;;AACDimF,EAAAA,UAAU,GAAG;AACT,WAAO,KAAP;AACH;;AACDC,EAAAA,eAAe,CAAC/pF,OAAD,EAAU7wK,OAAV,EAAmB;AAC9B,WAAO6wK,OAAO,CAAC0uF,sBAAR,CAA+B,IAA/B,EAAqCv/P,OAArC,CAAP;AACH;;AAhBsC;;AAkB3C,MAAMg4P,kBAAN,SAAiCZ,UAAjC,CAA4C;AACxC94P,EAAAA,WAAW,CAACghQ,QAAD,EAAW9sF,GAAX,EAAgBC,GAAhB,EAAqBrzK,IAArB,EAA2Bi4P,UAA3B,EAAuCgC,MAAM,GAAG,IAAhD,EAAsD;AAC7D,UAAMj6P,IAAI,IAAIozK,GAAG,CAACpzK,IAAlB,EAAwBi4P,UAAxB;AACA,SAAKiI,QAAL,GAAgBA,QAAhB;AACA,SAAK7sF,GAAL,GAAWA,GAAX;AACA,SAAK4mF,MAAL,GAAcA,MAAd;AACA,SAAK7mF,GAAL,GAAWA,GAAX;AACH;;AACDqkF,EAAAA,YAAY,CAACh7P,CAAD,EAAI;AACZ,WAAOA,CAAC,YAAYm8P,kBAAb,IAAmC,KAAKsH,QAAL,KAAkBzjQ,CAAC,CAACyjQ,QAAvD,IACH,KAAK9sF,GAAL,CAASqkF,YAAT,CAAsBh7P,CAAC,CAAC22K,GAAxB,CADG,IAC6B,KAAKC,GAAL,CAASokF,YAAT,CAAsBh7P,CAAC,CAAC42K,GAAxB,CADpC;AAEH;;AACDkoF,EAAAA,UAAU,GAAG;AACT,WAAO,KAAP;AACH;;AACDC,EAAAA,eAAe,CAAC/pF,OAAD,EAAU7wK,OAAV,EAAmB;AAC9B,WAAO6wK,OAAO,CAAC2uF,uBAAR,CAAgC,IAAhC,EAAsCx/P,OAAtC,CAAP;AACH;;AAjBuC;;AAmB5C,MAAMs3P,YAAN,SAA2BF,UAA3B,CAAsC;AAClC94P,EAAAA,WAAW,CAACo9P,QAAD,EAAWzlP,IAAX,EAAiB7W,IAAjB,EAAuBi4P,UAAvB,EAAmC;AAC1C,UAAMj4P,IAAN,EAAYi4P,UAAZ;AACA,SAAKqE,QAAL,GAAgBA,QAAhB;AACA,SAAKzlP,IAAL,GAAYA,IAAZ;AACH;;AACD4gP,EAAAA,YAAY,CAACh7P,CAAD,EAAI;AACZ,WAAOA,CAAC,YAAYy7P,YAAb,IAA6B,KAAKoE,QAAL,CAAc7E,YAAd,CAA2Bh7P,CAAC,CAAC6/P,QAA7B,CAA7B,IACH,KAAKzlP,IAAL,KAAcpa,CAAC,CAACoa,IADpB;AAEH;;AACD0kP,EAAAA,UAAU,GAAG;AACT,WAAO,KAAP;AACH;;AACDC,EAAAA,eAAe,CAAC/pF,OAAD,EAAU7wK,OAAV,EAAmB;AAC9B,WAAO6wK,OAAO,CAAC4uF,iBAAR,CAA0B,IAA1B,EAAgCz/P,OAAhC,CAAP;AACH;;AACDuB,EAAAA,GAAG,CAACgI,KAAD,EAAQ;AACP,WAAO,IAAIqyP,aAAJ,CAAkB,KAAKF,QAAvB,EAAiC,KAAKzlP,IAAtC,EAA4C1M,KAA5C,EAAmD,IAAnD,EAAyD,KAAK8tP,UAA9D,CAAP;AACH;;AAlBiC;;AAoBtC,MAAME,WAAN,SAA0BH,UAA1B,CAAqC;AACjC94P,EAAAA,WAAW,CAACo9P,QAAD,EAAW5gJ,KAAX,EAAkB17G,IAAlB,EAAwBi4P,UAAxB,EAAoC;AAC3C,UAAMj4P,IAAN,EAAYi4P,UAAZ;AACA,SAAKqE,QAAL,GAAgBA,QAAhB;AACA,SAAK5gJ,KAAL,GAAaA,KAAb;AACH;;AACD+7I,EAAAA,YAAY,CAACh7P,CAAD,EAAI;AACZ,WAAOA,CAAC,YAAY07P,WAAb,IAA4B,KAAKmE,QAAL,CAAc7E,YAAd,CAA2Bh7P,CAAC,CAAC6/P,QAA7B,CAA5B,IACH,KAAK5gJ,KAAL,CAAW+7I,YAAX,CAAwBh7P,CAAC,CAACi/G,KAA1B,CADJ;AAEH;;AACD6/I,EAAAA,UAAU,GAAG;AACT,WAAO,KAAP;AACH;;AACDC,EAAAA,eAAe,CAAC/pF,OAAD,EAAU7wK,OAAV,EAAmB;AAC9B,WAAO6wK,OAAO,CAAC6uF,gBAAR,CAAyB,IAAzB,EAA+B1/P,OAA/B,CAAP;AACH;;AACDuB,EAAAA,GAAG,CAACgI,KAAD,EAAQ;AACP,WAAO,IAAIkyP,YAAJ,CAAiB,KAAKC,QAAtB,EAAgC,KAAK5gJ,KAArC,EAA4CvxG,KAA5C,EAAmD,IAAnD,EAAyD,KAAK8tP,UAA9D,CAAP;AACH;;AAlBgC;;AAoBrC,MAAMsI,gBAAN,SAA+BvI,UAA/B,CAA0C;AACtC94P,EAAAA,WAAW,CAACqoB,OAAD,EAAUvnB,IAAV,EAAgBi4P,UAAhB,EAA4B;AACnC,UAAMj4P,IAAN,EAAYi4P,UAAZ;AACA,SAAK1wO,OAAL,GAAeA,OAAf;AACH;;AACDg0O,EAAAA,UAAU,GAAG;AACT,WAAO,KAAKh0O,OAAL,CAAaxc,KAAb,CAAmBtO,CAAC,IAAIA,CAAC,CAAC8+P,UAAF,EAAxB,CAAP;AACH;;AACD9D,EAAAA,YAAY,CAACh7P,CAAD,EAAI;AACZ,WAAOA,CAAC,YAAY8jQ,gBAAb,IAAiC1I,gBAAgB,CAAC,KAAKtwO,OAAN,EAAe9qB,CAAC,CAAC8qB,OAAjB,CAAxD;AACH;;AACDi0O,EAAAA,eAAe,CAAC/pF,OAAD,EAAU7wK,OAAV,EAAmB;AAC9B,WAAO6wK,OAAO,CAAC+uF,qBAAR,CAA8B,IAA9B,EAAoC5/P,OAApC,CAAP;AACH;;AAbqC;;AAe1C,MAAM6/P,eAAN,CAAsB;AAClBvhQ,EAAAA,WAAW,CAACmJ,GAAD,EAAM8B,KAAN,EAAau2P,MAAb,EAAqB;AAC5B,SAAKr4P,GAAL,GAAWA,GAAX;AACA,SAAK8B,KAAL,GAAaA,KAAb;AACA,SAAKu2P,MAAL,GAAcA,MAAd;AACH;;AACDjJ,EAAAA,YAAY,CAACh7P,CAAD,EAAI;AACZ,WAAO,KAAK4L,GAAL,KAAa5L,CAAC,CAAC4L,GAAf,IAAsB,KAAK8B,KAAL,CAAWstP,YAAX,CAAwBh7P,CAAC,CAAC0N,KAA1B,CAA7B;AACH;;AARiB;;AAUtB,MAAMw2P,cAAN,SAA6B3I,UAA7B,CAAwC;AACpC94P,EAAAA,WAAW,CAACqoB,OAAD,EAAUvnB,IAAV,EAAgBi4P,UAAhB,EAA4B;AACnC,UAAMj4P,IAAN,EAAYi4P,UAAZ;AACA,SAAK1wO,OAAL,GAAeA,OAAf;AACA,SAAK2zB,SAAL,GAAiB,IAAjB;;AACA,QAAIl7C,IAAJ,EAAU;AACN,WAAKk7C,SAAL,GAAiBl7C,IAAI,CAACk7C,SAAtB;AACH;AACJ;;AACDu8M,EAAAA,YAAY,CAACh7P,CAAD,EAAI;AACZ,WAAOA,CAAC,YAAYkkQ,cAAb,IAA+B9I,gBAAgB,CAAC,KAAKtwO,OAAN,EAAe9qB,CAAC,CAAC8qB,OAAjB,CAAtD;AACH;;AACDg0O,EAAAA,UAAU,GAAG;AACT,WAAO,KAAKh0O,OAAL,CAAaxc,KAAb,CAAmBtO,CAAC,IAAIA,CAAC,CAAC0N,KAAF,CAAQoxP,UAAR,EAAxB,CAAP;AACH;;AACDC,EAAAA,eAAe,CAAC/pF,OAAD,EAAU7wK,OAAV,EAAmB;AAC9B,WAAO6wK,OAAO,CAACmvF,mBAAR,CAA4B,IAA5B,EAAkChgQ,OAAlC,CAAP;AACH;;AAjBmC;;AAmBxC,MAAMigQ,SAAN,SAAwB7I,UAAxB,CAAmC;AAC/B94P,EAAAA,WAAW,CAACusO,KAAD,EAAQwsB,UAAR,EAAoB;AAC3B,UAAMxsB,KAAK,CAACA,KAAK,CAACnhO,MAAN,GAAe,CAAhB,CAAL,CAAwBtK,IAA9B,EAAoCi4P,UAApC;AACA,SAAKxsB,KAAL,GAAaA,KAAb;AACH;;AACDgsB,EAAAA,YAAY,CAACh7P,CAAD,EAAI;AACZ,WAAOA,CAAC,YAAYokQ,SAAb,IAA0BhJ,gBAAgB,CAAC,KAAKpsB,KAAN,EAAahvO,CAAC,CAACgvO,KAAf,CAAjD;AACH;;AACD8vB,EAAAA,UAAU,GAAG;AACT,WAAO,KAAP;AACH;;AACDC,EAAAA,eAAe,CAAC/pF,OAAD,EAAU7wK,OAAV,EAAmB;AAC9B,WAAO6wK,OAAO,CAACqvF,cAAR,CAAuB,IAAvB,EAA6BlgQ,OAA7B,CAAP;AACH;;AAb8B;;AAenC,MAAMmgQ,SAAS,GAAG,IAAI1F,WAAJ,CAAgBD,UAAU,CAAC4F,IAA3B,EAAiC,IAAjC,EAAuC,IAAvC,CAAlB;AACA,MAAMC,UAAU,GAAG,IAAI5F,WAAJ,CAAgBD,UAAU,CAAC8F,KAA3B,EAAkC,IAAlC,EAAwC,IAAxC,CAAnB;AACA,MAAMC,iBAAiB,GAAG,IAAI9F,WAAJ,CAAgBD,UAAU,CAACgG,UAA3B,EAAuC,IAAvC,EAA6C,IAA7C,CAA1B;AACA,MAAMC,iBAAiB,GAAG,IAAIhG,WAAJ,CAAgBD,UAAU,CAACkG,UAA3B,EAAuC,IAAvC,EAA6C,IAA7C,CAA1B;AACA,MAAMC,SAAS,GAAG,IAAIvE,WAAJ,CAAgB,IAAhB,EAAsB,IAAtB,EAA4B,IAA5B,CAAlB;AACA,MAAMlC,eAAe,GAAG,IAAIkC,WAAJ,CAAgB,IAAhB,EAAsBpG,aAAtB,EAAqC,IAArC,CAAxB,EACA;;AACA,IAAIuF,YAAJ;;AACA,CAAC,UAAUA,YAAV,EAAwB;AACrBA,EAAAA,YAAY,CAACA,YAAY,CAAC,OAAD,CAAZ,GAAwB,CAAzB,CAAZ,GAA0C,OAA1C;AACAA,EAAAA,YAAY,CAACA,YAAY,CAAC,SAAD,CAAZ,GAA0B,CAA3B,CAAZ,GAA4C,SAA5C;AACAA,EAAAA,YAAY,CAACA,YAAY,CAAC,UAAD,CAAZ,GAA2B,CAA5B,CAAZ,GAA6C,UAA7C;AACAA,EAAAA,YAAY,CAACA,YAAY,CAAC,QAAD,CAAZ,GAAyB,CAA1B,CAAZ,GAA2C,QAA3C;AACH,CALD,EAKGA,YAAY,KAAKA,YAAY,GAAG,EAApB,CALf;;AAMA,MAAMqF,cAAN,CAAqB;AACjBtiQ,EAAAA,WAAW,CAAC4J,IAAD,EAAO24P,SAAP,EAAkBC,eAAlB,EAAmC;AAC1C,SAAK54P,IAAL,GAAYA,IAAZ;AACA,SAAK24P,SAAL,GAAiBA,SAAjB;AACA,SAAKC,eAAL,GAAuBA,eAAvB;AACH;;AACD/hQ,EAAAA,QAAQ,GAAG;AACP,WAAO,KAAK8hQ,SAAL,GAAkB,IAAG,KAAK34P,IAAK,GAA/B,GAAoC,KAAKA,IAAhD;AACH;;AARgB;;AAUrB,MAAM64P,YAAN,SAA2BH,cAA3B,CAA0C;AACtCtiQ,EAAAA,WAAW,CAACk2D,IAAD,EAAO;AACd,UAAM,EAAN;AAAU;AAAgB,QAA1B;AAAgC;AAAsB,QAAtD;AACA,SAAKA,IAAL,GAAYA,IAAZ;AACH;;AACDz1D,EAAAA,QAAQ,GAAG;AACP,WAAOiiQ,aAAa,CAAC,KAAKxsM,IAAN,CAApB;AACH;;AAPqC;;AAS1C,MAAMysM,SAAN,CAAgB;AACZ3iQ,EAAAA,WAAW,CAACshG,SAAS,GAAG,EAAb,EAAiBy3J,UAAU,GAAG,IAA9B,EAAoC6J,eAApC,EAAqD;AAC5D,SAAKthK,SAAL,GAAiBA,SAAjB;AACA,SAAKy3J,UAAL,GAAkBA,UAAlB;AACA,SAAK6J,eAAL,GAAuBA,eAAvB;AACH;;AACDhM,EAAAA,WAAW,CAACp0D,QAAD,EAAW;AAClB,WAAO,KAAKlhG,SAAL,CAAetyF,OAAf,CAAuBwzL,QAAvB,MAAqC,CAAC,CAA7C;AACH;;AACDqgE,EAAAA,iBAAiB,CAACC,cAAD,EAAiB;AAC9B,SAAKF,eAAL,GAAuB,KAAKA,eAAL,IAAwB,EAA/C;AACA,SAAKA,eAAL,CAAqBvgQ,IAArB,CAA0BygQ,cAA1B;AACH;;AAZW;;AAchB,MAAM/F,cAAN,SAA6B4F,SAA7B,CAAuC;AACnC3iQ,EAAAA,WAAW,CAAC2X,IAAD,EAAO1M,KAAP,EAAcnK,IAAd,EAAoBwgG,SAApB,EAA+By3J,UAA/B,EAA2C6J,eAA3C,EAA4D;AACnE,UAAMthK,SAAN,EAAiBy3J,UAAjB,EAA6B6J,eAA7B;AACA,SAAKjrP,IAAL,GAAYA,IAAZ;AACA,SAAK1M,KAAL,GAAaA,KAAb;AACA,SAAKnK,IAAL,GAAYA,IAAI,IAAKmK,KAAK,IAAIA,KAAK,CAACnK,IAAxB,IAAiC,IAA7C;AACH;;AACDy3P,EAAAA,YAAY,CAACwK,IAAD,EAAO;AACf,WAAOA,IAAI,YAAYhG,cAAhB,IAAkC,KAAKplP,IAAL,KAAcorP,IAAI,CAACprP,IAArD,KACF,KAAK1M,KAAL,GAAa,CAAC,CAAC83P,IAAI,CAAC93P,KAAP,IAAgB,KAAKA,KAAL,CAAWstP,YAAX,CAAwBwK,IAAI,CAAC93P,KAA7B,CAA7B,GAAmE,CAAC83P,IAAI,CAAC93P,KADvE,CAAP;AAEH;;AACD+3P,EAAAA,cAAc,CAACzwF,OAAD,EAAU7wK,OAAV,EAAmB;AAC7B,WAAO6wK,OAAO,CAAC0wF,mBAAR,CAA4B,IAA5B,EAAkCvhQ,OAAlC,CAAP;AACH;;AAbkC;;AAevC,MAAMo/P,mBAAN,SAAkC6B,SAAlC,CAA4C;AACxC3iQ,EAAAA,WAAW,CAAC2X,IAAD,EAAOm1D,MAAP,EAAe8zL,UAAf,EAA2B9/P,IAA3B,EAAiCwgG,SAAjC,EAA4Cy3J,UAA5C,EAAwD6J,eAAxD,EAAyE;AAChF,UAAMthK,SAAN,EAAiBy3J,UAAjB,EAA6B6J,eAA7B;AACA,SAAKjrP,IAAL,GAAYA,IAAZ;AACA,SAAKm1D,MAAL,GAAcA,MAAd;AACA,SAAK8zL,UAAL,GAAkBA,UAAlB;AACA,SAAK9/P,IAAL,GAAYA,IAAI,IAAI,IAApB;AACH;;AACDy3P,EAAAA,YAAY,CAACwK,IAAD,EAAO;AACf,WAAOA,IAAI,YAAYjC,mBAAhB,IAAuCnI,gBAAgB,CAAC,KAAK7rL,MAAN,EAAci2L,IAAI,CAACj2L,MAAnB,CAAvD,IACH6rL,gBAAgB,CAAC,KAAKiI,UAAN,EAAkBmC,IAAI,CAACnC,UAAvB,CADpB;AAEH;;AACDoC,EAAAA,cAAc,CAACzwF,OAAD,EAAU7wK,OAAV,EAAmB;AAC7B,WAAO6wK,OAAO,CAAC2wF,wBAAR,CAAiC,IAAjC,EAAuCxhQ,OAAvC,CAAP;AACH;;AAduC;;AAgB5C,MAAMu6P,mBAAN,SAAkC0G,SAAlC,CAA4C;AACxC3iQ,EAAAA,WAAW,CAACo2K,IAAD,EAAO2iF,UAAP,EAAmB6J,eAAnB,EAAoC;AAC3C,UAAM,EAAN,EAAU7J,UAAV,EAAsB6J,eAAtB;AACA,SAAKxsF,IAAL,GAAYA,IAAZ;AACH;;AACDmiF,EAAAA,YAAY,CAACwK,IAAD,EAAO;AACf,WAAOA,IAAI,YAAY9G,mBAAhB,IAAuC,KAAK7lF,IAAL,CAAUmiF,YAAV,CAAuBwK,IAAI,CAAC3sF,IAA5B,CAA9C;AACH;;AACD4sF,EAAAA,cAAc,CAACzwF,OAAD,EAAU7wK,OAAV,EAAmB;AAC7B,WAAO6wK,OAAO,CAAC4wF,mBAAR,CAA4B,IAA5B,EAAkCzhQ,OAAlC,CAAP;AACH;;AAVuC;;AAY5C,MAAM0hQ,eAAN,SAA8BT,SAA9B,CAAwC;AACpC3iQ,EAAAA,WAAW,CAACiL,KAAD,EAAQ8tP,UAAU,GAAG,IAArB,EAA2B6J,eAA3B,EAA4C;AACnD,UAAM,EAAN,EAAU7J,UAAV,EAAsB6J,eAAtB;AACA,SAAK33P,KAAL,GAAaA,KAAb;AACH;;AACDstP,EAAAA,YAAY,CAACwK,IAAD,EAAO;AACf,WAAOA,IAAI,YAAYK,eAAhB,IAAmC,KAAKn4P,KAAL,CAAWstP,YAAX,CAAwBwK,IAAI,CAAC93P,KAA7B,CAA1C;AACH;;AACD+3P,EAAAA,cAAc,CAACzwF,OAAD,EAAU7wK,OAAV,EAAmB;AAC7B,WAAO6wK,OAAO,CAAC8wF,eAAR,CAAwB,IAAxB,EAA8B3hQ,OAA9B,CAAP;AACH;;AAVmC;;AAYxC,MAAM4hQ,iBAAN,CAAwB;AACpBtjQ,EAAAA,WAAW,CAACc,IAAI,GAAG,IAAR,EAAcwgG,SAAS,GAAG,EAA1B,EAA8B;AACrC,SAAKxgG,IAAL,GAAYA,IAAZ;AACA,SAAKwgG,SAAL,GAAiBA,SAAjB;AACH;;AACDs1J,EAAAA,WAAW,CAACp0D,QAAD,EAAW;AAClB,WAAO,KAAKlhG,SAAL,CAAetyF,OAAf,CAAuBwzL,QAAvB,MAAqC,CAAC,CAA7C;AACH;;AAPmB;;AASxB,MAAM+gE,UAAN,SAAyBD,iBAAzB,CAA2C;AACvCtjQ,EAAAA,WAAW,CAAC2X,IAAD,EAAO7W,IAAP,EAAawgG,SAAb,EAAwBkiK,WAAxB,EAAqC;AAC5C,UAAM1iQ,IAAN,EAAYwgG,SAAZ;AACA,SAAK3pF,IAAL,GAAYA,IAAZ;AACA,SAAK6rP,WAAL,GAAmBA,WAAnB;AACH;;AACDjL,EAAAA,YAAY,CAACp5P,CAAD,EAAI;AACZ,WAAO,KAAKwY,IAAL,KAAcxY,CAAC,CAACwY,IAAvB;AACH;;AARsC;;AAU3C,MAAM8rP,WAAN,SAA0BH,iBAA1B,CAA4C;AACxCtjQ,EAAAA,WAAW,CAAC2X,IAAD,EAAOm1D,MAAP,EAAe3lD,IAAf,EAAqBrmB,IAArB,EAA2BwgG,SAA3B,EAAsC;AAC7C,UAAMxgG,IAAN,EAAYwgG,SAAZ;AACA,SAAK3pF,IAAL,GAAYA,IAAZ;AACA,SAAKm1D,MAAL,GAAcA,MAAd;AACA,SAAK3lD,IAAL,GAAYA,IAAZ;AACH;;AACDoxO,EAAAA,YAAY,CAAC95P,CAAD,EAAI;AACZ,WAAO,KAAKkZ,IAAL,KAAclZ,CAAC,CAACkZ,IAAhB,IAAwBghP,gBAAgB,CAAC,KAAKxxO,IAAN,EAAY1oB,CAAC,CAAC0oB,IAAd,CAA/C;AACH;;AATuC;;AAW5C,MAAMu8O,WAAN,SAA0BJ,iBAA1B,CAA4C;AACxCtjQ,EAAAA,WAAW,CAAC2X,IAAD,EAAOwP,IAAP,EAAarmB,IAAb,EAAmBwgG,SAAnB,EAA8B;AACrC,UAAMxgG,IAAN,EAAYwgG,SAAZ;AACA,SAAK3pF,IAAL,GAAYA,IAAZ;AACA,SAAKwP,IAAL,GAAYA,IAAZ;AACH;;AACDoxO,EAAAA,YAAY,CAAC95P,CAAD,EAAI;AACZ,WAAO,KAAKkZ,IAAL,KAAclZ,CAAC,CAACkZ,IAAhB,IAAwBghP,gBAAgB,CAAC,KAAKxxO,IAAN,EAAY1oB,CAAC,CAAC0oB,IAAd,CAA/C;AACH;;AARuC;;AAU5C,MAAMw8O,SAAN,SAAwBhB,SAAxB,CAAkC;AAC9B3iQ,EAAAA,WAAW,CAAC2X,IAAD,EAAO/W,MAAP,EAAekJ,MAAf,EAAuB85P,OAAvB,EAAgCC,iBAAhC,EAAmDhtE,OAAnD,EAA4Dv1F,SAA5D,EAAuEy3J,UAAvE,EAAmF6J,eAAnF,EAAoG;AAC3G,UAAMthK,SAAN,EAAiBy3J,UAAjB,EAA6B6J,eAA7B;AACA,SAAKjrP,IAAL,GAAYA,IAAZ;AACA,SAAK/W,MAAL,GAAcA,MAAd;AACA,SAAKkJ,MAAL,GAAcA,MAAd;AACA,SAAK85P,OAAL,GAAeA,OAAf;AACA,SAAKC,iBAAL,GAAyBA,iBAAzB;AACA,SAAKhtE,OAAL,GAAeA,OAAf;AACH;;AACD0hE,EAAAA,YAAY,CAACwK,IAAD,EAAO;AACf,WAAOA,IAAI,YAAYY,SAAhB,IAA6B,KAAKhsP,IAAL,KAAcorP,IAAI,CAACprP,IAAhD,IACH2gP,oBAAoB,CAAC,KAAK13P,MAAN,EAAcmiQ,IAAI,CAACniQ,MAAnB,CADjB,IAEH+3P,gBAAgB,CAAC,KAAK7uP,MAAN,EAAci5P,IAAI,CAACj5P,MAAnB,CAFb,IAGH6uP,gBAAgB,CAAC,KAAKiL,OAAN,EAAeb,IAAI,CAACa,OAApB,CAHb,IAIH,KAAKC,iBAAL,CAAuBtL,YAAvB,CAAoCwK,IAAI,CAACc,iBAAzC,CAJG,IAKHlL,gBAAgB,CAAC,KAAK9hE,OAAN,EAAeksE,IAAI,CAAClsE,OAApB,CALpB;AAMH;;AACDmsE,EAAAA,cAAc,CAACzwF,OAAD,EAAU7wK,OAAV,EAAmB;AAC7B,WAAO6wK,OAAO,CAACuxF,qBAAR,CAA8B,IAA9B,EAAoCpiQ,OAApC,CAAP;AACH;;AApB6B;;AAsBlC,MAAMqiQ,MAAN,SAAqBpB,SAArB,CAA+B;AAC3B3iQ,EAAAA,WAAW,CAACs7O,SAAD,EAAYie,QAAZ,EAAsBC,SAAS,GAAG,EAAlC,EAAsCT,UAAtC,EAAkD6J,eAAlD,EAAmE;AAC1E,UAAM,EAAN,EAAU7J,UAAV,EAAsB6J,eAAtB;AACA,SAAKtnB,SAAL,GAAiBA,SAAjB;AACA,SAAKie,QAAL,GAAgBA,QAAhB;AACA,SAAKC,SAAL,GAAiBA,SAAjB;AACH;;AACDjB,EAAAA,YAAY,CAACwK,IAAD,EAAO;AACf,WAAOA,IAAI,YAAYgB,MAAhB,IAA0B,KAAKzoB,SAAL,CAAeid,YAAf,CAA4BwK,IAAI,CAACznB,SAAjC,CAA1B,IACHqd,gBAAgB,CAAC,KAAKY,QAAN,EAAgBwJ,IAAI,CAACxJ,QAArB,CADb,IAEHZ,gBAAgB,CAAC,KAAKa,SAAN,EAAiBuJ,IAAI,CAACvJ,SAAtB,CAFpB;AAGH;;AACDwJ,EAAAA,cAAc,CAACzwF,OAAD,EAAU7wK,OAAV,EAAmB;AAC7B,WAAO6wK,OAAO,CAACyxF,WAAR,CAAoB,IAApB,EAA0BtiQ,OAA1B,CAAP;AACH;;AAd0B;;AAgB/B,MAAMuiQ,YAAN,SAA2BtB,SAA3B,CAAqC;AACjC3iQ,EAAAA,WAAW,CAACkkQ,SAAD,EAAYC,UAAZ,EAAwBpL,UAAU,GAAG,IAArC,EAA2C6J,eAA3C,EAA4D;AACnE,UAAM,EAAN,EAAU7J,UAAV,EAAsB6J,eAAtB;AACA,SAAKsB,SAAL,GAAiBA,SAAjB;AACA,SAAKC,UAAL,GAAkBA,UAAlB;AACH;;AACD5L,EAAAA,YAAY,CAACwK,IAAD,EAAO;AACf,WAAOA,IAAI,YAAYkB,YAAhB,IAAgCtL,gBAAgB,CAAC,KAAKuL,SAAN,EAAiBnB,IAAI,CAACmB,SAAtB,CAAhD,IACHvL,gBAAgB,CAAC,KAAKwL,UAAN,EAAkBpB,IAAI,CAACoB,UAAvB,CADpB;AAEH;;AACDnB,EAAAA,cAAc,CAACzwF,OAAD,EAAU7wK,OAAV,EAAmB;AAC7B,WAAO6wK,OAAO,CAAC6xF,iBAAR,CAA0B,IAA1B,EAAgC1iQ,OAAhC,CAAP;AACH;;AAZgC;;AAcrC,MAAM2iQ,SAAN,SAAwB1B,SAAxB,CAAkC;AAC9B3iQ,EAAAA,WAAW,CAACgB,KAAD,EAAQ+3P,UAAU,GAAG,IAArB,EAA2B6J,eAA3B,EAA4C;AACnD,UAAM,EAAN,EAAU7J,UAAV,EAAsB6J,eAAtB;AACA,SAAK5hQ,KAAL,GAAaA,KAAb;AACH;;AACDu3P,EAAAA,YAAY,CAACwK,IAAD,EAAO;AACf,WAAOA,IAAI,YAAYkB,YAAhB,IAAgC,KAAKjjQ,KAAL,CAAWu3P,YAAX,CAAwBwK,IAAI,CAAC/hQ,KAA7B,CAAvC;AACH;;AACDgiQ,EAAAA,cAAc,CAACzwF,OAAD,EAAU7wK,OAAV,EAAmB;AAC7B,WAAO6wK,OAAO,CAAC+xF,cAAR,CAAuB,IAAvB,EAA6B5iQ,OAA7B,CAAP;AACH;;AAV6B;;AAYlC,MAAM6iQ,gBAAN,CAAuB;AACnBC,EAAAA,aAAa,CAACpuF,IAAD,EAAO10K,OAAP,EAAgB;AACzB,WAAO00K,IAAP;AACH;;AACDquF,EAAAA,aAAa,CAAC1B,IAAD,EAAOrhQ,OAAP,EAAgB;AACzB,WAAOqhQ,IAAP;AACH;;AACDxG,EAAAA,gBAAgB,CAACvlF,GAAD,EAAMt1K,OAAN,EAAe;AAC3B,WAAO,KAAK8iQ,aAAL,CAAmBxtF,GAAnB,EAAwBt1K,OAAxB,CAAP;AACH;;AACDk7P,EAAAA,oBAAoB,CAAC5lF,GAAD,EAAMt1K,OAAN,EAAe;AAC/B,WAAO,KAAK8iQ,aAAL,CAAmBxtF,GAAnB,EAAwBt1K,OAAxB,CAAP;AACH;;AACDg7P,EAAAA,eAAe,CAACtmF,IAAD,EAAO10K,OAAP,EAAgB;AAC3B,WAAO,KAAK8iQ,aAAL,CAAmB,IAAI/H,UAAJ,CAAermF,IAAI,CAACA,IAAL,CAAUkmF,eAAV,CAA0B,IAA1B,EAAgC56P,OAAhC,CAAf,EAAyD00K,IAAI,CAACt1K,IAA9D,EAAoEs1K,IAAI,CAAC2iF,UAAzE,CAAnB,EAAyGr3P,OAAzG,CAAP;AACH;;AACDm7P,EAAAA,iBAAiB,CAACzmF,IAAD,EAAO10K,OAAP,EAAgB;AAC7B,WAAO,KAAK8iQ,aAAL,CAAmB,IAAIhI,YAAJ,CAAiBpmF,IAAI,CAACz+J,IAAtB,EAA4By+J,IAAI,CAACnrK,KAAL,CAAWqxP,eAAX,CAA2B,IAA3B,EAAiC56P,OAAjC,CAA5B,EAAuE00K,IAAI,CAACt1K,IAA5E,EAAkFs1K,IAAI,CAAC2iF,UAAvF,CAAnB,EAAuHr3P,OAAvH,CAAP;AACH;;AACD27P,EAAAA,iBAAiB,CAACjnF,IAAD,EAAO10K,OAAP,EAAgB;AAC7B,WAAO,KAAK8iQ,aAAL,CAAmB,IAAIrH,YAAJ,CAAiB/mF,IAAI,CAACgnF,QAAL,CAAcd,eAAd,CAA8B,IAA9B,EAAoC56P,OAApC,CAAjB,EAA+D00K,IAAI,CAAC55D,KAAL,CAAW8/I,eAAX,CAA2B,IAA3B,EAAiC56P,OAAjC,CAA/D,EAA0G00K,IAAI,CAACnrK,KAAL,CAAWqxP,eAAX,CAA2B,IAA3B,EAAiC56P,OAAjC,CAA1G,EAAqJ00K,IAAI,CAACt1K,IAA1J,EAAgKs1K,IAAI,CAAC2iF,UAArK,CAAnB,EAAqMr3P,OAArM,CAAP;AACH;;AACD67P,EAAAA,kBAAkB,CAACnnF,IAAD,EAAO10K,OAAP,EAAgB;AAC9B,WAAO,KAAK8iQ,aAAL,CAAmB,IAAIlH,aAAJ,CAAkBlnF,IAAI,CAACgnF,QAAL,CAAcd,eAAd,CAA8B,IAA9B,EAAoC56P,OAApC,CAAlB,EAAgE00K,IAAI,CAACz+J,IAArE,EAA2Ey+J,IAAI,CAACnrK,KAAL,CAAWqxP,eAAX,CAA2B,IAA3B,EAAiC56P,OAAjC,CAA3E,EAAsH00K,IAAI,CAACt1K,IAA3H,EAAiIs1K,IAAI,CAAC2iF,UAAtI,CAAnB,EAAsKr3P,OAAtK,CAAP;AACH;;AACD+7P,EAAAA,uBAAuB,CAACzmF,GAAD,EAAMt1K,OAAN,EAAe;AAClC,WAAO,KAAK8iQ,aAAL,CAAmB,IAAIrL,kBAAJ,CAAuBniF,GAAG,CAACvhJ,EAAJ,CAAO6mO,eAAP,CAAuB,IAAvB,EAA6B56P,OAA7B,CAAvB,EAA8D,KAAKgjQ,mBAAL,CAAyB1tF,GAAG,CAAC1X,IAA7B,EAAmC59J,OAAnC,CAA9D,EAA2Gs1K,GAAG,CAACl2K,IAA/G,EAAqHk2K,GAAG,CAAC+hF,UAAzH,CAAnB,EAAyJr3P,OAAzJ,CAAP;AACH;;AACDi8P,EAAAA,uBAAuB,CAAC3mF,GAAD,EAAMt1K,OAAN,EAAe;AAClC,WAAO,KAAK8iQ,aAAL,CAAmB,IAAI9G,kBAAJ,CAAuB1mF,GAAG,CAACxnB,GAAJ,CAAQ8sG,eAAR,CAAwB,IAAxB,EAA8B56P,OAA9B,CAAvB,EAA+D,IAAIs8P,eAAJ,CAAoBhnF,GAAG,CAAC72D,QAAJ,CAAa5tF,QAAjC,EAA2CykJ,GAAG,CAAC72D,QAAJ,CAAaqzD,WAAb,CAAyB1wK,GAAzB,CAA8BvF,CAAD,IAAOA,CAAC,CAAC++P,eAAF,CAAkB,IAAlB,EAAwB56P,OAAxB,CAApC,CAA3C,CAA/D,EAAkLs1K,GAAG,CAACl2K,IAAtL,EAA4Lk2K,GAAG,CAAC+hF,UAAhM,CAAnB,EAAgOr3P,OAAhO,CAAP;AACH;;AACDm8P,EAAAA,oBAAoB,CAAC7mF,GAAD,EAAMt1K,OAAN,EAAe;AAC/B,WAAO,KAAK8iQ,aAAL,CAAmB,IAAInL,eAAJ,CAAoBriF,GAAG,CAAC4mF,SAAJ,CAActB,eAAd,CAA8B,IAA9B,EAAoC56P,OAApC,CAApB,EAAkE,KAAKgjQ,mBAAL,CAAyB1tF,GAAG,CAAC1X,IAA7B,EAAmC59J,OAAnC,CAAlE,EAA+Gs1K,GAAG,CAACl2K,IAAnH,EAAyHk2K,GAAG,CAAC+hF,UAA7H,CAAnB,EAA6Jr3P,OAA7J,CAAP;AACH;;AACDq8P,EAAAA,gBAAgB,CAAC/mF,GAAD,EAAMt1K,OAAN,EAAe;AAC3B,WAAO,KAAK8iQ,aAAL,CAAmBxtF,GAAnB,EAAwBt1K,OAAxB,CAAP;AACH;;AACDk9P,EAAAA,oBAAoB,CAAC5nF,GAAD,EAAMt1K,OAAN,EAAe;AAC/B,WAAO,KAAK8iQ,aAAL,CAAmB,IAAIhG,eAAJ,CAAoBxnF,GAAG,CAACynF,SAAxB,EAAmCznF,GAAG,CAAC0nF,YAAvC,EAAqD1nF,GAAG,CAAC2nF,gBAAzD,EAA2E,KAAK+F,mBAAL,CAAyB1tF,GAAG,CAACxD,WAA7B,EAA0C9xK,OAA1C,CAA3E,EAA+Hs1K,GAAG,CAAC+hF,UAAnI,CAAnB,EAAmKr3P,OAAnK,CAAP;AACH;;AACDw+P,EAAAA,iBAAiB,CAAClpF,GAAD,EAAMt1K,OAAN,EAAe;AAC5B,WAAO,KAAK8iQ,aAAL,CAAmBxtF,GAAnB,EAAwBt1K,OAAxB,CAAP;AACH;;AACD0+P,EAAAA,oBAAoB,CAACppF,GAAD,EAAMt1K,OAAN,EAAe;AAC/B,WAAO,KAAK8iQ,aAAL,CAAmB,IAAI/K,eAAJ,CAAoBziF,GAAG,CAACskE,SAAJ,CAAcghB,eAAd,CAA8B,IAA9B,EAAoC56P,OAApC,CAApB,EAAkEs1K,GAAG,CAACuiF,QAAJ,CAAa+C,eAAb,CAA6B,IAA7B,EAAmC56P,OAAnC,CAAlE,EAA+Gs1K,GAAG,CAACwiF,SAAJ,CAAc8C,eAAd,CAA8B,IAA9B,EAAoC56P,OAApC,CAA/G,EAA6Js1K,GAAG,CAACl2K,IAAjK,EAAuKk2K,GAAG,CAAC+hF,UAA3K,CAAnB,EAA2Mr3P,OAA3M,CAAP;AACH;;AACD4+P,EAAAA,YAAY,CAACtpF,GAAD,EAAMt1K,OAAN,EAAe;AACvB,WAAO,KAAK8iQ,aAAL,CAAmB,IAAInE,OAAJ,CAAYrpF,GAAG,CAACskE,SAAJ,CAAcghB,eAAd,CAA8B,IAA9B,EAAoC56P,OAApC,CAAZ,EAA0Ds1K,GAAG,CAAC+hF,UAA9D,CAAnB,EAA8Fr3P,OAA9F,CAAP;AACH;;AACD8+P,EAAAA,sBAAsB,CAACxpF,GAAD,EAAMt1K,OAAN,EAAe;AACjC,WAAO,KAAK8iQ,aAAL,CAAmB,IAAIjE,aAAJ,CAAkBvpF,GAAG,CAACskE,SAAJ,CAAcghB,eAAd,CAA8B,IAA9B,EAAoC56P,OAApC,CAAlB,EAAgEs1K,GAAG,CAAC+hF,UAApE,CAAnB,EAAoGr3P,OAApG,CAAP;AACH;;AACD++P,EAAAA,aAAa,CAACzpF,GAAD,EAAMt1K,OAAN,EAAe;AACxB,WAAO,KAAK8iQ,aAAL,CAAmB,IAAI3I,QAAJ,CAAa7kF,GAAG,CAAC/rK,KAAJ,CAAUqxP,eAAV,CAA0B,IAA1B,EAAgC56P,OAAhC,CAAb,EAAuDs1K,GAAG,CAACl2K,IAA3D,EAAiEk2K,GAAG,CAAC+hF,UAArE,CAAnB,EAAqGr3P,OAArG,CAAP;AACH;;AACDm/P,EAAAA,iBAAiB,CAAC7pF,GAAD,EAAMt1K,OAAN,EAAe;AAC5B,WAAO,KAAK8iQ,aAAL,CAAmB,IAAI7D,YAAJ,CAAiB3pF,GAAG,CAAClqG,MAArB,EAA6B,KAAK63L,kBAAL,CAAwB3tF,GAAG,CAAC4pF,UAA5B,EAAwCl/P,OAAxC,CAA7B,EAA+Es1K,GAAG,CAACl2K,IAAnF,EAAyFk2K,GAAG,CAAC+hF,UAA7F,CAAnB,EAA6Hr3P,OAA7H,CAAP;AACH;;AACDu/P,EAAAA,sBAAsB,CAACjqF,GAAD,EAAMt1K,OAAN,EAAe;AACjC,WAAO,KAAK8iQ,aAAL,CAAmB,IAAIzD,iBAAJ,CAAsB/pF,GAAG,CAACgqF,QAA1B,EAAoChqF,GAAG,CAACZ,IAAJ,CAASkmF,eAAT,CAAyB,IAAzB,EAA+B56P,OAA/B,CAApC,EAA6Es1K,GAAG,CAACl2K,IAAjF,EAAuFk2K,GAAG,CAAC+hF,UAA3F,CAAnB,EAA2Hr3P,OAA3H,CAAP;AACH;;AACDw/P,EAAAA,uBAAuB,CAAClqF,GAAD,EAAMt1K,OAAN,EAAe;AAClC,WAAO,KAAK8iQ,aAAL,CAAmB,IAAI9K,kBAAJ,CAAuB1iF,GAAG,CAACgqF,QAA3B,EAAqChqF,GAAG,CAAC9C,GAAJ,CAAQooF,eAAR,CAAwB,IAAxB,EAA8B56P,OAA9B,CAArC,EAA6Es1K,GAAG,CAAC7C,GAAJ,CAAQmoF,eAAR,CAAwB,IAAxB,EAA8B56P,OAA9B,CAA7E,EAAqHs1K,GAAG,CAACl2K,IAAzH,EAA+Hk2K,GAAG,CAAC+hF,UAAnI,CAAnB,EAAmKr3P,OAAnK,CAAP;AACH;;AACDy/P,EAAAA,iBAAiB,CAACnqF,GAAD,EAAMt1K,OAAN,EAAe;AAC5B,WAAO,KAAK8iQ,aAAL,CAAmB,IAAIxL,YAAJ,CAAiBhiF,GAAG,CAAComF,QAAJ,CAAad,eAAb,CAA6B,IAA7B,EAAmC56P,OAAnC,CAAjB,EAA8Ds1K,GAAG,CAACr/J,IAAlE,EAAwEq/J,GAAG,CAACl2K,IAA5E,EAAkFk2K,GAAG,CAAC+hF,UAAtF,CAAnB,EAAsHr3P,OAAtH,CAAP;AACH;;AACD0/P,EAAAA,gBAAgB,CAACpqF,GAAD,EAAMt1K,OAAN,EAAe;AAC3B,WAAO,KAAK8iQ,aAAL,CAAmB,IAAIvL,WAAJ,CAAgBjiF,GAAG,CAAComF,QAAJ,CAAad,eAAb,CAA6B,IAA7B,EAAmC56P,OAAnC,CAAhB,EAA6Ds1K,GAAG,CAACx6D,KAAJ,CAAU8/I,eAAV,CAA0B,IAA1B,EAAgC56P,OAAhC,CAA7D,EAAuGs1K,GAAG,CAACl2K,IAA3G,EAAiHk2K,GAAG,CAAC+hF,UAArH,CAAnB,EAAqJr3P,OAArJ,CAAP;AACH;;AACD4/P,EAAAA,qBAAqB,CAACtqF,GAAD,EAAMt1K,OAAN,EAAe;AAChC,WAAO,KAAK8iQ,aAAL,CAAmB,IAAInD,gBAAJ,CAAqB,KAAKqD,mBAAL,CAAyB1tF,GAAG,CAAC3uJ,OAA7B,EAAsC3mB,OAAtC,CAArB,EAAqEs1K,GAAG,CAACl2K,IAAzE,EAA+Ek2K,GAAG,CAAC+hF,UAAnF,CAAnB,EAAmHr3P,OAAnH,CAAP;AACH;;AACDggQ,EAAAA,mBAAmB,CAAC1qF,GAAD,EAAMt1K,OAAN,EAAe;AAC9B,UAAM2mB,OAAO,GAAG2uJ,GAAG,CAAC3uJ,OAAJ,CAAYvlB,GAAZ,CAAiBm9J,KAAD,IAAW,IAAIshG,eAAJ,CAAoBthG,KAAK,CAAC92J,GAA1B,EAA+B82J,KAAK,CAACh1J,KAAN,CAAYqxP,eAAZ,CAA4B,IAA5B,EAAkC56P,OAAlC,CAA/B,EAA2Eu+J,KAAK,CAACuhG,MAAjF,CAA3B,CAAhB;AACA,UAAMoD,OAAO,GAAG,IAAItN,OAAJ,CAAYtgF,GAAG,CAACh7H,SAAhB,CAAhB;AACA,WAAO,KAAKwoN,aAAL,CAAmB,IAAI/C,cAAJ,CAAmBp5O,OAAnB,EAA4Bu8O,OAA5B,EAAqC5tF,GAAG,CAAC+hF,UAAzC,CAAnB,EAAyEr3P,OAAzE,CAAP;AACH;;AACDkgQ,EAAAA,cAAc,CAAC5qF,GAAD,EAAMt1K,OAAN,EAAe;AACzB,WAAO,KAAK8iQ,aAAL,CAAmB,IAAI7C,SAAJ,CAAc,KAAK+C,mBAAL,CAAyB1tF,GAAG,CAACu1D,KAA7B,EAAoC7qO,OAApC,CAAd,EAA4Ds1K,GAAG,CAAC+hF,UAAhE,CAAnB,EAAgGr3P,OAAhG,CAAP;AACH;;AACDgjQ,EAAAA,mBAAmB,CAACG,KAAD,EAAQnjQ,OAAR,EAAiB;AAChC,WAAOmjQ,KAAK,CAAC/hQ,GAAN,CAAUszK,IAAI,IAAIA,IAAI,CAACkmF,eAAL,CAAqB,IAArB,EAA2B56P,OAA3B,CAAlB,CAAP;AACH;;AACDuhQ,EAAAA,mBAAmB,CAACF,IAAD,EAAOrhQ,OAAP,EAAgB;AAC/B,UAAMuJ,KAAK,GAAG83P,IAAI,CAAC93P,KAAL,IAAc83P,IAAI,CAAC93P,KAAL,CAAWqxP,eAAX,CAA2B,IAA3B,EAAiC56P,OAAjC,CAA5B;AACA,WAAO,KAAK+iQ,aAAL,CAAmB,IAAI1H,cAAJ,CAAmBgG,IAAI,CAACprP,IAAxB,EAA8B1M,KAA9B,EAAqC83P,IAAI,CAACjiQ,IAA1C,EAAgDiiQ,IAAI,CAACzhK,SAArD,EAAgEyhK,IAAI,CAAChK,UAArE,EAAiFgK,IAAI,CAACH,eAAtF,CAAnB,EAA2HlhQ,OAA3H,CAAP;AACH;;AACDwhQ,EAAAA,wBAAwB,CAACH,IAAD,EAAOrhQ,OAAP,EAAgB;AACpC,WAAO,KAAK+iQ,aAAL,CAAmB,IAAI3D,mBAAJ,CAAwBiC,IAAI,CAACprP,IAA7B,EAAmCorP,IAAI,CAACj2L,MAAxC,EAAgD,KAAK63L,kBAAL,CAAwB5B,IAAI,CAACnC,UAA7B,EAAyCl/P,OAAzC,CAAhD,EAAmGqhQ,IAAI,CAACjiQ,IAAxG,EAA8GiiQ,IAAI,CAACzhK,SAAnH,EAA8HyhK,IAAI,CAAChK,UAAnI,EAA+IgK,IAAI,CAACH,eAApJ,CAAnB,EAAyLlhQ,OAAzL,CAAP;AACH;;AACDyhQ,EAAAA,mBAAmB,CAACJ,IAAD,EAAOrhQ,OAAP,EAAgB;AAC/B,WAAO,KAAK+iQ,aAAL,CAAmB,IAAIxI,mBAAJ,CAAwB8G,IAAI,CAAC3sF,IAAL,CAAUkmF,eAAV,CAA0B,IAA1B,EAAgC56P,OAAhC,CAAxB,EAAkEqhQ,IAAI,CAAChK,UAAvE,EAAmFgK,IAAI,CAACH,eAAxF,CAAnB,EAA6HlhQ,OAA7H,CAAP;AACH;;AACD2hQ,EAAAA,eAAe,CAACN,IAAD,EAAOrhQ,OAAP,EAAgB;AAC3B,WAAO,KAAK+iQ,aAAL,CAAmB,IAAIrB,eAAJ,CAAoBL,IAAI,CAAC93P,KAAL,CAAWqxP,eAAX,CAA2B,IAA3B,EAAiC56P,OAAjC,CAApB,EAA+DqhQ,IAAI,CAAChK,UAApE,EAAgFgK,IAAI,CAACH,eAArF,CAAnB,EAA0HlhQ,OAA1H,CAAP;AACH;;AACDoiQ,EAAAA,qBAAqB,CAACf,IAAD,EAAOrhQ,OAAP,EAAgB;AACjC,UAAMd,MAAM,GAAGmiQ,IAAI,CAACniQ,MAAL,CAAY07P,eAAZ,CAA4B,IAA5B,EAAkC56P,OAAlC,CAAf;AACA,UAAMkiQ,OAAO,GAAGb,IAAI,CAACa,OAAL,CAAa9gQ,GAAb,CAAiBgiQ,MAAM,IAAI,IAAIpB,WAAJ,CAAgBoB,MAAM,CAACntP,IAAvB,EAA6B,KAAKgtP,kBAAL,CAAwBG,MAAM,CAAC39O,IAA/B,EAAqCzlB,OAArC,CAA7B,EAA4EojQ,MAAM,CAAChkQ,IAAnF,EAAyFgkQ,MAAM,CAACxjK,SAAhG,CAA3B,CAAhB;AACA,UAAMyjK,UAAU,GAAGhC,IAAI,CAACc,iBAAL,IACf,IAAIJ,WAAJ,CAAgBV,IAAI,CAACc,iBAAL,CAAuBlsP,IAAvC,EAA6CorP,IAAI,CAACc,iBAAL,CAAuB/2L,MAApE,EAA4E,KAAK63L,kBAAL,CAAwB5B,IAAI,CAACc,iBAAL,CAAuB18O,IAA/C,EAAqDzlB,OAArD,CAA5E,EAA2IqhQ,IAAI,CAACc,iBAAL,CAAuB/iQ,IAAlK,EAAwKiiQ,IAAI,CAACc,iBAAL,CAAuBviK,SAA/L,CADJ;AAEA,UAAMu1F,OAAO,GAAGksE,IAAI,CAAClsE,OAAL,CAAa/zL,GAAb,CAAiB+yD,MAAM,IAAI,IAAI4tM,WAAJ,CAAgB5tM,MAAM,CAACl+C,IAAvB,EAA6Bk+C,MAAM,CAACiX,MAApC,EAA4C,KAAK63L,kBAAL,CAAwB9uM,MAAM,CAAC1uC,IAA/B,EAAqCzlB,OAArC,CAA5C,EAA2Fm0D,MAAM,CAAC/0D,IAAlG,EAAwG+0D,MAAM,CAACyrC,SAA/G,CAA3B,CAAhB;AACA,WAAO,KAAKmjK,aAAL,CAAmB,IAAId,SAAJ,CAAcZ,IAAI,CAACprP,IAAnB,EAAyB/W,MAAzB,EAAiCmiQ,IAAI,CAACj5P,MAAtC,EAA8C85P,OAA9C,EAAuDmB,UAAvD,EAAmEluE,OAAnE,EAA4EksE,IAAI,CAACzhK,SAAjF,EAA4FyhK,IAAI,CAAChK,UAAjG,CAAnB,EAAiIr3P,OAAjI,CAAP;AACH;;AACDsiQ,EAAAA,WAAW,CAACjB,IAAD,EAAOrhQ,OAAP,EAAgB;AACvB,WAAO,KAAK+iQ,aAAL,CAAmB,IAAIV,MAAJ,CAAWhB,IAAI,CAACznB,SAAL,CAAeghB,eAAf,CAA+B,IAA/B,EAAqC56P,OAArC,CAAX,EAA0D,KAAKijQ,kBAAL,CAAwB5B,IAAI,CAACxJ,QAA7B,EAAuC73P,OAAvC,CAA1D,EAA2G,KAAKijQ,kBAAL,CAAwB5B,IAAI,CAACvJ,SAA7B,EAAwC93P,OAAxC,CAA3G,EAA6JqhQ,IAAI,CAAChK,UAAlK,EAA8KgK,IAAI,CAACH,eAAnL,CAAnB,EAAwNlhQ,OAAxN,CAAP;AACH;;AACD0iQ,EAAAA,iBAAiB,CAACrB,IAAD,EAAOrhQ,OAAP,EAAgB;AAC7B,WAAO,KAAK+iQ,aAAL,CAAmB,IAAIR,YAAJ,CAAiB,KAAKU,kBAAL,CAAwB5B,IAAI,CAACmB,SAA7B,EAAwCxiQ,OAAxC,CAAjB,EAAmE,KAAKijQ,kBAAL,CAAwB5B,IAAI,CAACoB,UAA7B,EAAyCziQ,OAAzC,CAAnE,EAAsHqhQ,IAAI,CAAChK,UAA3H,EAAuIgK,IAAI,CAACH,eAA5I,CAAnB,EAAiLlhQ,OAAjL,CAAP;AACH;;AACD4iQ,EAAAA,cAAc,CAACvB,IAAD,EAAOrhQ,OAAP,EAAgB;AAC1B,WAAO,KAAK+iQ,aAAL,CAAmB,IAAIJ,SAAJ,CAActB,IAAI,CAAC/hQ,KAAL,CAAWs7P,eAAX,CAA2B,IAA3B,EAAiC56P,OAAjC,CAAd,EAAyDqhQ,IAAI,CAAChK,UAA9D,EAA0EgK,IAAI,CAACH,eAA/E,CAAnB,EAAoHlhQ,OAApH,CAAP;AACH;;AACDijQ,EAAAA,kBAAkB,CAACK,KAAD,EAAQtjQ,OAAR,EAAiB;AAC/B,WAAOsjQ,KAAK,CAACliQ,GAAN,CAAUigQ,IAAI,IAAIA,IAAI,CAACC,cAAL,CAAoB,IAApB,EAA0BthQ,OAA1B,CAAlB,CAAP;AACH;;AApHkB;;AAsHvB,MAAMujQ,qBAAN,CAA4B;AACxBlO,EAAAA,SAAS,CAAC//E,GAAD,EAAMt1K,OAAN,EAAe;AACpB,WAAOs1K,GAAP;AACH;;AACDslF,EAAAA,eAAe,CAACtlF,GAAD,EAAMt1K,OAAN,EAAe;AAC1B,QAAIs1K,GAAG,CAACl2K,IAAR,EAAc;AACVk2K,MAAAA,GAAG,CAACl2K,IAAJ,CAASi2P,SAAT,CAAmB,IAAnB,EAAyBr1P,OAAzB;AACH;;AACD,WAAOs1K,GAAP;AACH;;AACDggF,EAAAA,gBAAgB,CAACl2P,IAAD,EAAOY,OAAP,EAAgB;AAC5B,WAAO,KAAKq1P,SAAL,CAAej2P,IAAf,EAAqBY,OAArB,CAAP;AACH;;AACDy1P,EAAAA,mBAAmB,CAACr2P,IAAD,EAAOY,OAAP,EAAgB;AAC/BZ,IAAAA,IAAI,CAACmK,KAAL,CAAWqxP,eAAX,CAA2B,IAA3B,EAAiC56P,OAAjC;;AACA,QAAIZ,IAAI,CAACo2P,UAAL,KAAoB,IAAxB,EAA8B;AAC1Bp2P,MAAAA,IAAI,CAACo2P,UAAL,CAAgBh1P,OAAhB,CAAwB8kP,KAAK,IAAI,KAAK+P,SAAL,CAAe/P,KAAf,EAAsBtlP,OAAtB,CAAjC;AACH;;AACD,WAAO,KAAKq1P,SAAL,CAAej2P,IAAf,EAAqBY,OAArB,CAAP;AACH;;AACD21P,EAAAA,cAAc,CAACv2P,IAAD,EAAOY,OAAP,EAAgB;AAC1B,WAAO,KAAKq1P,SAAL,CAAej2P,IAAf,EAAqBY,OAArB,CAAP;AACH;;AACD61P,EAAAA,YAAY,CAACz2P,IAAD,EAAOY,OAAP,EAAgB;AACxB,WAAO,KAAKq1P,SAAL,CAAej2P,IAAf,EAAqBY,OAArB,CAAP;AACH;;AACDk7P,EAAAA,oBAAoB,CAAC5lF,GAAD,EAAMt1K,OAAN,EAAe;AAC/B,WAAOs1K,GAAP;AACH;;AACD0lF,EAAAA,eAAe,CAAC1lF,GAAD,EAAMt1K,OAAN,EAAe;AAC1B,WAAO,KAAK46P,eAAL,CAAqBtlF,GAArB,EAA0Bt1K,OAA1B,CAAP;AACH;;AACD66P,EAAAA,gBAAgB,CAACvlF,GAAD,EAAMt1K,OAAN,EAAe;AAC3B,WAAO,KAAK46P,eAAL,CAAqBtlF,GAArB,EAA0Bt1K,OAA1B,CAAP;AACH;;AACDm7P,EAAAA,iBAAiB,CAAC7lF,GAAD,EAAMt1K,OAAN,EAAe;AAC5Bs1K,IAAAA,GAAG,CAAC/rK,KAAJ,CAAUqxP,eAAV,CAA0B,IAA1B,EAAgC56P,OAAhC;AACA,WAAO,KAAK46P,eAAL,CAAqBtlF,GAArB,EAA0Bt1K,OAA1B,CAAP;AACH;;AACD27P,EAAAA,iBAAiB,CAACrmF,GAAD,EAAMt1K,OAAN,EAAe;AAC5Bs1K,IAAAA,GAAG,CAAComF,QAAJ,CAAad,eAAb,CAA6B,IAA7B,EAAmC56P,OAAnC;AACAs1K,IAAAA,GAAG,CAACx6D,KAAJ,CAAU8/I,eAAV,CAA0B,IAA1B,EAAgC56P,OAAhC;AACAs1K,IAAAA,GAAG,CAAC/rK,KAAJ,CAAUqxP,eAAV,CAA0B,IAA1B,EAAgC56P,OAAhC;AACA,WAAO,KAAK46P,eAAL,CAAqBtlF,GAArB,EAA0Bt1K,OAA1B,CAAP;AACH;;AACD67P,EAAAA,kBAAkB,CAACvmF,GAAD,EAAMt1K,OAAN,EAAe;AAC7Bs1K,IAAAA,GAAG,CAAComF,QAAJ,CAAad,eAAb,CAA6B,IAA7B,EAAmC56P,OAAnC;AACAs1K,IAAAA,GAAG,CAAC/rK,KAAJ,CAAUqxP,eAAV,CAA0B,IAA1B,EAAgC56P,OAAhC;AACA,WAAO,KAAK46P,eAAL,CAAqBtlF,GAArB,EAA0Bt1K,OAA1B,CAAP;AACH;;AACD+7P,EAAAA,uBAAuB,CAACzmF,GAAD,EAAMt1K,OAAN,EAAe;AAClCs1K,IAAAA,GAAG,CAACvhJ,EAAJ,CAAO6mO,eAAP,CAAuB,IAAvB,EAA6B56P,OAA7B;AACA,SAAKgjQ,mBAAL,CAAyB1tF,GAAG,CAAC1X,IAA7B,EAAmC59J,OAAnC;AACA,WAAO,KAAK46P,eAAL,CAAqBtlF,GAArB,EAA0Bt1K,OAA1B,CAAP;AACH;;AACDi8P,EAAAA,uBAAuB,CAAC3mF,GAAD,EAAMt1K,OAAN,EAAe;AAClCs1K,IAAAA,GAAG,CAACxnB,GAAJ,CAAQ8sG,eAAR,CAAwB,IAAxB,EAA8B56P,OAA9B;AACA,SAAKgjQ,mBAAL,CAAyB1tF,GAAG,CAAC72D,QAAJ,CAAaqzD,WAAtC,EAAmD9xK,OAAnD;AACA,WAAO,KAAK46P,eAAL,CAAqBtlF,GAArB,EAA0Bt1K,OAA1B,CAAP;AACH;;AACDm8P,EAAAA,oBAAoB,CAAC7mF,GAAD,EAAMt1K,OAAN,EAAe;AAC/Bs1K,IAAAA,GAAG,CAAC4mF,SAAJ,CAActB,eAAd,CAA8B,IAA9B,EAAoC56P,OAApC;AACA,SAAKgjQ,mBAAL,CAAyB1tF,GAAG,CAAC1X,IAA7B,EAAmC59J,OAAnC;AACA,WAAO,KAAK46P,eAAL,CAAqBtlF,GAArB,EAA0Bt1K,OAA1B,CAAP;AACH;;AACDq8P,EAAAA,gBAAgB,CAAC/mF,GAAD,EAAMt1K,OAAN,EAAe;AAC3B,WAAO,KAAK46P,eAAL,CAAqBtlF,GAArB,EAA0Bt1K,OAA1B,CAAP;AACH;;AACDk9P,EAAAA,oBAAoB,CAAC5nF,GAAD,EAAMt1K,OAAN,EAAe;AAC/B,WAAO,KAAK46P,eAAL,CAAqBtlF,GAArB,EAA0Bt1K,OAA1B,CAAP;AACH;;AACDw+P,EAAAA,iBAAiB,CAAClpF,GAAD,EAAMt1K,OAAN,EAAe;AAC5B,QAAIs1K,GAAG,CAACkgF,UAAR,EAAoB;AAChBlgF,MAAAA,GAAG,CAACkgF,UAAJ,CAAeh1P,OAAf,CAAuBpB,IAAI,IAAIA,IAAI,CAACi2P,SAAL,CAAe,IAAf,EAAqBr1P,OAArB,CAA/B;AACH;;AACD,WAAO,KAAK46P,eAAL,CAAqBtlF,GAArB,EAA0Bt1K,OAA1B,CAAP;AACH;;AACD0+P,EAAAA,oBAAoB,CAACppF,GAAD,EAAMt1K,OAAN,EAAe;AAC/Bs1K,IAAAA,GAAG,CAACskE,SAAJ,CAAcghB,eAAd,CAA8B,IAA9B,EAAoC56P,OAApC;AACAs1K,IAAAA,GAAG,CAACuiF,QAAJ,CAAa+C,eAAb,CAA6B,IAA7B,EAAmC56P,OAAnC;AACAs1K,IAAAA,GAAG,CAACwiF,SAAJ,CAAc8C,eAAd,CAA8B,IAA9B,EAAoC56P,OAApC;AACA,WAAO,KAAK46P,eAAL,CAAqBtlF,GAArB,EAA0Bt1K,OAA1B,CAAP;AACH;;AACD4+P,EAAAA,YAAY,CAACtpF,GAAD,EAAMt1K,OAAN,EAAe;AACvBs1K,IAAAA,GAAG,CAACskE,SAAJ,CAAcghB,eAAd,CAA8B,IAA9B,EAAoC56P,OAApC;AACA,WAAO,KAAK46P,eAAL,CAAqBtlF,GAArB,EAA0Bt1K,OAA1B,CAAP;AACH;;AACD8+P,EAAAA,sBAAsB,CAACxpF,GAAD,EAAMt1K,OAAN,EAAe;AACjCs1K,IAAAA,GAAG,CAACskE,SAAJ,CAAcghB,eAAd,CAA8B,IAA9B,EAAoC56P,OAApC;AACA,WAAO,KAAK46P,eAAL,CAAqBtlF,GAArB,EAA0Bt1K,OAA1B,CAAP;AACH;;AACD++P,EAAAA,aAAa,CAACzpF,GAAD,EAAMt1K,OAAN,EAAe;AACxBs1K,IAAAA,GAAG,CAAC/rK,KAAJ,CAAUqxP,eAAV,CAA0B,IAA1B,EAAgC56P,OAAhC;AACA,WAAO,KAAK46P,eAAL,CAAqBtlF,GAArB,EAA0Bt1K,OAA1B,CAAP;AACH;;AACDm/P,EAAAA,iBAAiB,CAAC7pF,GAAD,EAAMt1K,OAAN,EAAe;AAC5B,SAAKijQ,kBAAL,CAAwB3tF,GAAG,CAAC4pF,UAA5B,EAAwCl/P,OAAxC;AACA,WAAO,KAAK46P,eAAL,CAAqBtlF,GAArB,EAA0Bt1K,OAA1B,CAAP;AACH;;AACDu/P,EAAAA,sBAAsB,CAACjqF,GAAD,EAAMt1K,OAAN,EAAe;AACjCs1K,IAAAA,GAAG,CAACZ,IAAJ,CAASkmF,eAAT,CAAyB,IAAzB,EAA+B56P,OAA/B;AACA,WAAO,KAAK46P,eAAL,CAAqBtlF,GAArB,EAA0Bt1K,OAA1B,CAAP;AACH;;AACDw/P,EAAAA,uBAAuB,CAAClqF,GAAD,EAAMt1K,OAAN,EAAe;AAClCs1K,IAAAA,GAAG,CAAC9C,GAAJ,CAAQooF,eAAR,CAAwB,IAAxB,EAA8B56P,OAA9B;AACAs1K,IAAAA,GAAG,CAAC7C,GAAJ,CAAQmoF,eAAR,CAAwB,IAAxB,EAA8B56P,OAA9B;AACA,WAAO,KAAK46P,eAAL,CAAqBtlF,GAArB,EAA0Bt1K,OAA1B,CAAP;AACH;;AACDy/P,EAAAA,iBAAiB,CAACnqF,GAAD,EAAMt1K,OAAN,EAAe;AAC5Bs1K,IAAAA,GAAG,CAAComF,QAAJ,CAAad,eAAb,CAA6B,IAA7B,EAAmC56P,OAAnC;AACA,WAAO,KAAK46P,eAAL,CAAqBtlF,GAArB,EAA0Bt1K,OAA1B,CAAP;AACH;;AACD0/P,EAAAA,gBAAgB,CAACpqF,GAAD,EAAMt1K,OAAN,EAAe;AAC3Bs1K,IAAAA,GAAG,CAAComF,QAAJ,CAAad,eAAb,CAA6B,IAA7B,EAAmC56P,OAAnC;AACAs1K,IAAAA,GAAG,CAACx6D,KAAJ,CAAU8/I,eAAV,CAA0B,IAA1B,EAAgC56P,OAAhC;AACA,WAAO,KAAK46P,eAAL,CAAqBtlF,GAArB,EAA0Bt1K,OAA1B,CAAP;AACH;;AACD4/P,EAAAA,qBAAqB,CAACtqF,GAAD,EAAMt1K,OAAN,EAAe;AAChC,SAAKgjQ,mBAAL,CAAyB1tF,GAAG,CAAC3uJ,OAA7B,EAAsC3mB,OAAtC;AACA,WAAO,KAAK46P,eAAL,CAAqBtlF,GAArB,EAA0Bt1K,OAA1B,CAAP;AACH;;AACDggQ,EAAAA,mBAAmB,CAAC1qF,GAAD,EAAMt1K,OAAN,EAAe;AAC9Bs1K,IAAAA,GAAG,CAAC3uJ,OAAJ,CAAYnmB,OAAZ,CAAqB+9J,KAAD,IAAWA,KAAK,CAACh1J,KAAN,CAAYqxP,eAAZ,CAA4B,IAA5B,EAAkC56P,OAAlC,CAA/B;AACA,WAAO,KAAK46P,eAAL,CAAqBtlF,GAArB,EAA0Bt1K,OAA1B,CAAP;AACH;;AACDkgQ,EAAAA,cAAc,CAAC5qF,GAAD,EAAMt1K,OAAN,EAAe;AACzB,SAAKgjQ,mBAAL,CAAyB1tF,GAAG,CAACu1D,KAA7B,EAAoC7qO,OAApC;AACA,WAAO,KAAK46P,eAAL,CAAqBtlF,GAArB,EAA0Bt1K,OAA1B,CAAP;AACH;;AACDgjQ,EAAAA,mBAAmB,CAACG,KAAD,EAAQnjQ,OAAR,EAAiB;AAChCmjQ,IAAAA,KAAK,CAAC3iQ,OAAN,CAAck0K,IAAI,IAAIA,IAAI,CAACkmF,eAAL,CAAqB,IAArB,EAA2B56P,OAA3B,CAAtB;AACH;;AACDuhQ,EAAAA,mBAAmB,CAACF,IAAD,EAAOrhQ,OAAP,EAAgB;AAC/B,QAAIqhQ,IAAI,CAAC93P,KAAT,EAAgB;AACZ83P,MAAAA,IAAI,CAAC93P,KAAL,CAAWqxP,eAAX,CAA2B,IAA3B,EAAiC56P,OAAjC;AACH;;AACD,QAAIqhQ,IAAI,CAACjiQ,IAAT,EAAe;AACXiiQ,MAAAA,IAAI,CAACjiQ,IAAL,CAAUi2P,SAAV,CAAoB,IAApB,EAA0Br1P,OAA1B;AACH;;AACD,WAAOqhQ,IAAP;AACH;;AACDG,EAAAA,wBAAwB,CAACH,IAAD,EAAOrhQ,OAAP,EAAgB;AACpC,SAAKijQ,kBAAL,CAAwB5B,IAAI,CAACnC,UAA7B,EAAyCl/P,OAAzC;;AACA,QAAIqhQ,IAAI,CAACjiQ,IAAT,EAAe;AACXiiQ,MAAAA,IAAI,CAACjiQ,IAAL,CAAUi2P,SAAV,CAAoB,IAApB,EAA0Br1P,OAA1B;AACH;;AACD,WAAOqhQ,IAAP;AACH;;AACDI,EAAAA,mBAAmB,CAACJ,IAAD,EAAOrhQ,OAAP,EAAgB;AAC/BqhQ,IAAAA,IAAI,CAAC3sF,IAAL,CAAUkmF,eAAV,CAA0B,IAA1B,EAAgC56P,OAAhC;AACA,WAAOqhQ,IAAP;AACH;;AACDM,EAAAA,eAAe,CAACN,IAAD,EAAOrhQ,OAAP,EAAgB;AAC3BqhQ,IAAAA,IAAI,CAAC93P,KAAL,CAAWqxP,eAAX,CAA2B,IAA3B,EAAiC56P,OAAjC;AACA,WAAOqhQ,IAAP;AACH;;AACDe,EAAAA,qBAAqB,CAACf,IAAD,EAAOrhQ,OAAP,EAAgB;AACjCqhQ,IAAAA,IAAI,CAACniQ,MAAL,CAAY07P,eAAZ,CAA4B,IAA5B,EAAkC56P,OAAlC;AACAqhQ,IAAAA,IAAI,CAACa,OAAL,CAAa1hQ,OAAb,CAAqB4iQ,MAAM,IAAI,KAAKH,kBAAL,CAAwBG,MAAM,CAAC39O,IAA/B,EAAqCzlB,OAArC,CAA/B;;AACA,QAAIqhQ,IAAI,CAACc,iBAAT,EAA4B;AACxB,WAAKc,kBAAL,CAAwB5B,IAAI,CAACc,iBAAL,CAAuB18O,IAA/C,EAAqDzlB,OAArD;AACH;;AACDqhQ,IAAAA,IAAI,CAAClsE,OAAL,CAAa30L,OAAb,CAAqB2zD,MAAM,IAAI,KAAK8uM,kBAAL,CAAwB9uM,MAAM,CAAC1uC,IAA/B,EAAqCzlB,OAArC,CAA/B;AACA,WAAOqhQ,IAAP;AACH;;AACDiB,EAAAA,WAAW,CAACjB,IAAD,EAAOrhQ,OAAP,EAAgB;AACvBqhQ,IAAAA,IAAI,CAACznB,SAAL,CAAeghB,eAAf,CAA+B,IAA/B,EAAqC56P,OAArC;AACA,SAAKijQ,kBAAL,CAAwB5B,IAAI,CAACxJ,QAA7B,EAAuC73P,OAAvC;AACA,SAAKijQ,kBAAL,CAAwB5B,IAAI,CAACvJ,SAA7B,EAAwC93P,OAAxC;AACA,WAAOqhQ,IAAP;AACH;;AACDqB,EAAAA,iBAAiB,CAACrB,IAAD,EAAOrhQ,OAAP,EAAgB;AAC7B,SAAKijQ,kBAAL,CAAwB5B,IAAI,CAACmB,SAA7B,EAAwCxiQ,OAAxC;AACA,SAAKijQ,kBAAL,CAAwB5B,IAAI,CAACoB,UAA7B,EAAyCziQ,OAAzC;AACA,WAAOqhQ,IAAP;AACH;;AACDuB,EAAAA,cAAc,CAACvB,IAAD,EAAOrhQ,OAAP,EAAgB;AAC1BqhQ,IAAAA,IAAI,CAAC/hQ,KAAL,CAAWs7P,eAAX,CAA2B,IAA3B,EAAiC56P,OAAjC;AACA,WAAOqhQ,IAAP;AACH;;AACD4B,EAAAA,kBAAkB,CAACK,KAAD,EAAQtjQ,OAAR,EAAiB;AAC/BsjQ,IAAAA,KAAK,CAAC9iQ,OAAN,CAAc6gQ,IAAI,IAAIA,IAAI,CAACC,cAAL,CAAoB,IAApB,EAA0BthQ,OAA1B,CAAtB;AACH;;AAtLuB;;AAwL5B,SAASwjQ,gBAAT,CAA0BF,KAA1B,EAAiC;AAC7B,QAAMzyF,OAAO,GAAG,IAAI4yF,eAAJ,EAAhB;AACA5yF,EAAAA,OAAO,CAACoyF,kBAAR,CAA2BK,KAA3B,EAAkC,IAAlC;AACA,SAAOzyF,OAAO,CAAC6yF,QAAf;AACH;;AACD,MAAMD,eAAN,SAA8BF,qBAA9B,CAAoD;AAChDjlQ,EAAAA,WAAW,GAAG;AACV,UAAM,GAAGqK,SAAT;AACA,SAAK+6P,QAAL,GAAgB,IAAIj7P,GAAJ,EAAhB;AACH;;AACD+4P,EAAAA,wBAAwB,CAACH,IAAD,EAAOrhQ,OAAP,EAAgB;AACpC;AACA,WAAOqhQ,IAAP;AACH;;AACDe,EAAAA,qBAAqB,CAACf,IAAD,EAAOrhQ,OAAP,EAAgB;AACjC;AACA,WAAOqhQ,IAAP;AACH;;AACDxG,EAAAA,gBAAgB,CAACvlF,GAAD,EAAMt1K,OAAN,EAAe;AAC3B,QAAIs1K,GAAG,CAACr/J,IAAR,EAAc;AACV,WAAKytP,QAAL,CAAchmO,GAAd,CAAkB43I,GAAG,CAACr/J,IAAtB;AACH;;AACD,WAAO,IAAP;AACH;;AAlB+C;;AAoBpD,SAAS0tP,yBAAT,CAAmCL,KAAnC,EAA0C;AACtC,QAAMzyF,OAAO,GAAG,IAAI+yF,8BAAJ,EAAhB;AACA/yF,EAAAA,OAAO,CAACoyF,kBAAR,CAA2BK,KAA3B,EAAkC,IAAlC;AACA,SAAOzyF,OAAO,CAACgzF,kBAAf;AACH;;AACD,MAAMD,8BAAN,SAA6CL,qBAA7C,CAAmE;AAC/DjlQ,EAAAA,WAAW,GAAG;AACV,UAAM,GAAGqK,SAAT;AACA,SAAKk7P,kBAAL,GAA0B,EAA1B;AACH;;AACDrF,EAAAA,iBAAiB,CAAC3iQ,CAAD,EAAImE,OAAJ,EAAa;AAC1B,SAAK6jQ,kBAAL,CAAwBljQ,IAAxB,CAA6B9E,CAAC,CAAC0N,KAA/B;AACA,WAAO,MAAMi1P,iBAAN,CAAwB3iQ,CAAxB,EAA2BmE,OAA3B,CAAP;AACH;;AAR8D;;AAUnE,SAAS8jQ,kCAAT,CAA4CzC,IAA5C,EAAkDhK,UAAlD,EAA8D;AAC1D,MAAI,CAACA,UAAL,EAAiB;AACb,WAAOgK,IAAP;AACH;;AACD,QAAM0C,WAAW,GAAG,IAAIC,2BAAJ,CAAgC3M,UAAhC,CAApB;AACA,SAAOgK,IAAI,CAACC,cAAL,CAAoByC,WAApB,EAAiC,IAAjC,CAAP;AACH;;AACD,SAASE,mCAAT,CAA6CvvF,IAA7C,EAAmD2iF,UAAnD,EAA+D;AAC3D,MAAI,CAACA,UAAL,EAAiB;AACb,WAAO3iF,IAAP;AACH;;AACD,QAAMqvF,WAAW,GAAG,IAAIC,2BAAJ,CAAgC3M,UAAhC,CAApB;AACA,SAAO3iF,IAAI,CAACkmF,eAAL,CAAqBmJ,WAArB,EAAkC,IAAlC,CAAP;AACH;;AACD,MAAMC,2BAAN,SAA0CnB,gBAA1C,CAA2D;AACvDvkQ,EAAAA,WAAW,CAAC+4P,UAAD,EAAa;AACpB;AACA,SAAKA,UAAL,GAAkBA,UAAlB;AACH;;AACD6M,EAAAA,MAAM,CAACx1F,GAAD,EAAM;AACR,UAAMpyK,KAAK,GAAG4Z,MAAM,CAACwK,MAAP,CAAcguJ,GAAG,CAACpwK,WAAJ,CAAgB0F,SAA9B,CAAd;;AACA,SAAK,IAAI46I,IAAT,IAAiB1oI,MAAM,CAACkF,IAAP,CAAYszJ,GAAZ,CAAjB,EAAmC;AAC/BpyK,MAAAA,KAAK,CAACsiJ,IAAD,CAAL,GAAc8vB,GAAG,CAAC9vB,IAAD,CAAjB;AACH;;AACD,WAAOtiJ,KAAP;AACH;;AACDwmQ,EAAAA,aAAa,CAACpuF,IAAD,EAAO10K,OAAP,EAAgB;AACzB,QAAI,CAAC00K,IAAI,CAAC2iF,UAAV,EAAsB;AAClB3iF,MAAAA,IAAI,GAAG,KAAKwvF,MAAL,CAAYxvF,IAAZ,CAAP;AACAA,MAAAA,IAAI,CAAC2iF,UAAL,GAAkB,KAAKA,UAAvB;AACH;;AACD,WAAO3iF,IAAP;AACH;;AACDquF,EAAAA,aAAa,CAAC1B,IAAD,EAAOrhQ,OAAP,EAAgB;AACzB,QAAI,CAACqhQ,IAAI,CAAChK,UAAV,EAAsB;AAClBgK,MAAAA,IAAI,GAAG,KAAK6C,MAAL,CAAY7C,IAAZ,CAAP;AACAA,MAAAA,IAAI,CAAChK,UAAL,GAAkB,KAAKA,UAAvB;AACH;;AACD,WAAOgK,IAAP;AACH;;AAzBsD;;AA2B3D,SAASD,cAAT,CAAwBl5P,IAAxB,EAA8B24P,SAAS,GAAG,KAA1C,EAAiDC,eAAe,GAAG,IAAnE,EAAyE;AACrE,SAAO,IAAIF,cAAJ,CAAmB14P,IAAnB,EAAyB24P,SAAzB,EAAoCC,eAApC,CAAP;AACH;;AACD,SAASqD,YAAT,CAAsB3vM,IAAI,GAAG,EAA7B,EAAiC;AAC7B,SAAO,IAAIusM,YAAJ,CAAiBvsM,IAAjB,CAAP;AACH;;AACD,SAAS4vM,QAAT,CAAkBnuP,IAAlB,EAAwB7W,IAAxB,EAA8Bi4P,UAA9B,EAA0C;AACtC,SAAO,IAAIoD,WAAJ,CAAgBxkP,IAAhB,EAAsB7W,IAAtB,EAA4Bi4P,UAA5B,CAAP;AACH;;AACD,SAASgN,UAAT,CAAoB9lQ,EAApB,EAAwBi3P,UAAU,GAAG,IAArC,EAA2C6B,UAA3C,EAAuD;AACnD,SAAO,IAAIgH,YAAJ,CAAiB9/P,EAAjB,EAAqB,IAArB,EAA2Bi3P,UAA3B,EAAuC6B,UAAvC,CAAP;AACH;;AACD,SAASiN,UAAT,CAAoB/lQ,EAApB,EAAwBi3P,UAAxB,EAAoC+O,aAApC,EAAmD;AAC/C,SAAOhmQ,EAAE,IAAI,IAAN,GAAaimQ,cAAc,CAACH,UAAU,CAAC9lQ,EAAD,EAAKi3P,UAAL,EAAiB,IAAjB,CAAX,EAAmC+O,aAAnC,CAA3B,GAA+E,IAAtF;AACH;;AACD,SAASC,cAAT,CAAwB9vF,IAAxB,EAA8B6vF,aAA9B,EAA6C/O,UAA7C,EAAyD;AACrD,SAAO,IAAID,cAAJ,CAAmB7gF,IAAnB,EAAyB6vF,aAAzB,EAAwC/O,UAAxC,CAAP;AACH;;AACD,SAASiP,UAAT,CAAoB/vF,IAApB,EAA0B;AACtB,SAAO,IAAIqmF,UAAJ,CAAermF,IAAf,CAAP;AACH;;AACD,SAASgwF,UAAT,CAAoB3pN,MAApB,EAA4B37C,IAA5B,EAAkCi4P,UAAlC,EAA8C;AAC1C,SAAO,IAAIsI,gBAAJ,CAAqB5kN,MAArB,EAA6B37C,IAA7B,EAAmCi4P,UAAnC,CAAP;AACH;;AACD,SAASsN,UAAT,CAAoB5pN,MAApB,EAA4B37C,IAAI,GAAG,IAAnC,EAAyC;AACrC,SAAO,IAAI2gQ,cAAJ,CAAmBhlN,MAAM,CAAC35C,GAAP,CAAWvF,CAAC,IAAI,IAAIgkQ,eAAJ,CAAoBhkQ,CAAC,CAAC4L,GAAtB,EAA2B5L,CAAC,CAAC0N,KAA7B,EAAoC1N,CAAC,CAACikQ,MAAtC,CAAhB,CAAnB,EAAmF1gQ,IAAnF,EAAyF,IAAzF,CAAP;AACH;;AACD,SAASwlQ,KAAT,CAAetF,QAAf,EAAyB5qF,IAAzB,EAA+Bt1K,IAA/B,EAAqCi4P,UAArC,EAAiD;AAC7C,SAAO,IAAIgI,iBAAJ,CAAsBC,QAAtB,EAAgC5qF,IAAhC,EAAsCt1K,IAAtC,EAA4Ci4P,UAA5C,CAAP;AACH;;AACD,SAASwN,GAAT,CAAanwF,IAAb,EAAmB2iF,UAAnB,EAA+B;AAC3B,SAAO,IAAIsH,OAAJ,CAAYjqF,IAAZ,EAAkB2iF,UAAlB,CAAP;AACH;;AACD,SAASyN,aAAT,CAAuBpwF,IAAvB,EAA6B2iF,UAA7B,EAAyC;AACrC,SAAO,IAAIwH,aAAJ,CAAkBnqF,IAAlB,EAAwB2iF,UAAxB,CAAP;AACH;;AACD,SAAStjO,EAAT,CAAYq3C,MAAZ,EAAoB3lD,IAApB,EAA0BrmB,IAA1B,EAAgCi4P,UAAhC,EAA4CphP,IAA5C,EAAkD;AAC9C,SAAO,IAAIgpP,YAAJ,CAAiB7zL,MAAjB,EAAyB3lD,IAAzB,EAA+BrmB,IAA/B,EAAqCi4P,UAArC,EAAiDphP,IAAjD,CAAP;AACH;;AACD,SAAS8uP,MAAT,CAAgBnrB,SAAhB,EAA2BorB,UAA3B,EAAuCC,UAAvC,EAAmD5N,UAAnD,EAA+D6J,eAA/D,EAAgF;AAC5E,SAAO,IAAImB,MAAJ,CAAWzoB,SAAX,EAAsBorB,UAAtB,EAAkCC,UAAlC,EAA8C5N,UAA9C,EAA0D6J,eAA1D,CAAP;AACH;;AACD,SAASgE,cAAT,CAAwBp3G,GAAxB,EAA6BrvC,QAA7B,EAAuCr/G,IAAvC,EAA6Ci4P,UAA7C,EAAyD;AACrD,SAAO,IAAI2E,kBAAJ,CAAuBluG,GAAvB,EAA4BrvC,QAA5B,EAAsCr/G,IAAtC,EAA4Ci4P,UAA5C,CAAP;AACH;;AACD,SAAS8N,OAAT,CAAiB57P,KAAjB,EAAwBnK,IAAxB,EAA8Bi4P,UAA9B,EAA0C;AACtC,SAAO,IAAI+E,WAAJ,CAAgB7yP,KAAhB,EAAuBnK,IAAvB,EAA6Bi4P,UAA7B,CAAP;AACH;;AACD,SAAS+N,eAAT,CAAyBrI,SAAzB,EAAoCC,YAApC,EAAkDqI,gBAAlD,EAAoEvzF,WAApE,EAAiFulF,UAAjF,EAA6F;AACzF,SAAO,IAAIyF,eAAJ,CAAoBC,SAApB,EAA+BC,YAA/B,EAA6CqI,gBAA7C,EAA+DvzF,WAA/D,EAA4EulF,UAA5E,CAAP;AACH;;AACD,SAASiO,MAAT,CAAgBl3F,GAAhB,EAAqB;AACjB,SAAOA,GAAG,YAAYguF,WAAf,IAA8BhuF,GAAG,CAAC7kK,KAAJ,KAAc,IAAnD;AACH;AACD;AACA;AACA;AACA;;;AACA,SAASg8P,WAAT,CAAqBz3G,GAArB,EAA0B;AACtB,MAAI03G,GAAG,GAAG,EAAV;;AACA,MAAI13G,GAAG,CAACxD,OAAR,EAAiB;AACbk7G,IAAAA,GAAG,IAAK,KAAI13G,GAAG,CAACxD,OAAQ,EAAxB;AACH;;AACD,MAAIwD,GAAG,CAAC5lJ,IAAR,EAAc;AACV,QAAI4lJ,GAAG,CAAC5lJ,IAAJ,CAAS0Z,KAAT,CAAe,WAAf,CAAJ,EAAiC;AAC7B,YAAM,IAAIzK,KAAJ,CAAU,yCAAV,CAAN;AACH;;AACDquP,IAAAA,GAAG,IAAI,MAAM13G,GAAG,CAAC5lJ,IAAJ,CAASkE,OAAT,CAAiB,IAAjB,EAAuB,KAAvB,CAAb;AACH;;AACD,SAAOo5P,GAAP;AACH;;AACD,SAASxE,aAAT,CAAuBxsM,IAAvB,EAA6B;AACzB,MAAIA,IAAI,CAAC9qD,MAAL,KAAgB,CAApB,EACI,OAAO,EAAP;;AACJ,MAAI8qD,IAAI,CAAC9qD,MAAL,KAAgB,CAAhB,IAAqB8qD,IAAI,CAAC,CAAD,CAAJ,CAAQ81F,OAA7B,IAAwC,CAAC91F,IAAI,CAAC,CAAD,CAAJ,CAAQtsD,IAArD,EAA2D;AACvD;AACA,WAAQ,IAAGq9P,WAAW,CAAC/wM,IAAI,CAAC,CAAD,CAAL,CAAU,GAAhC;AACH;;AACD,MAAIgxM,GAAG,GAAG,KAAV;;AACA,OAAK,MAAM13G,GAAX,IAAkBt5F,IAAlB,EAAwB;AACpBgxM,IAAAA,GAAG,IAAI,IAAP,CADoB,CAEpB;;AACAA,IAAAA,GAAG,IAAID,WAAW,CAACz3G,GAAD,CAAX,CAAiB1hJ,OAAjB,CAAyB,KAAzB,EAAgC,OAAhC,CAAP;AACAo5P,IAAAA,GAAG,IAAI,IAAP;AACH;;AACDA,EAAAA,GAAG,IAAI,GAAP;AACA,SAAOA,GAAP;AACH;;AAED,IAAIC,UAAU,GAAG,aAAavvP,MAAM,CAACitD,MAAP,CAAc;AACxC6xL,EAAAA,SAAS,EAAE,IAD6B;;AAExC,MAAIC,YAAJ,GAAoB;AAAE,WAAOA,YAAP;AAAsB,GAFJ;;AAGxCjjN,EAAAA,IAAI,EAAEA,IAHkC;;AAIxC,MAAImjN,eAAJ,GAAuB;AAAE,WAAOA,eAAP;AAAyB,GAJV;;AAKxCC,EAAAA,WAAW,EAAEA,WAL2B;AAMxCG,EAAAA,cAAc,EAAEA,cANwB;AAOxCG,EAAAA,SAAS,EAAEA,SAP6B;AAQxCE,EAAAA,OAAO,EAAEA,OAR+B;AASxCE,EAAAA,YAAY,EAAEA,YAT0B;AAUxCE,EAAAA,aAAa,EAAEA,aAVyB;AAWxCE,EAAAA,SAAS,EAAEA,SAX6B;AAYxCE,EAAAA,QAAQ,EAAEA,QAZ8B;AAaxCE,EAAAA,WAAW,EAAEA,WAb2B;AAcxCC,EAAAA,WAAW,EAAEA,WAd2B;AAexCC,EAAAA,aAAa,EAAEA,aAfyB;AAgBxCC,EAAAA,SAAS,EAAEA,SAhB6B;;AAiBxC,MAAIC,aAAJ,GAAqB;AAAE,WAAOA,aAAP;AAAuB,GAjBN;;AAkBxC,MAAIC,cAAJ,GAAsB;AAAE,WAAOA,cAAP;AAAwB,GAlBR;;AAmBxCC,EAAAA,oBAAoB,EAAEA,oBAnBkB;AAoBxCK,EAAAA,gBAAgB,EAAEA,gBApBsB;AAqBxCG,EAAAA,UAAU,EAAEA,UArB4B;;AAsBxC,MAAIoD,UAAJ,GAAkB;AAAE,WAAOA,UAAP;AAAoB,GAtBA;;AAuBxCC,EAAAA,WAAW,EAAEA,WAvB2B;AAwBxCM,EAAAA,UAAU,EAAEA,UAxB4B;AAyBxCE,EAAAA,eAAe,EAAEA,eAzBuB;AA0BxCH,EAAAA,YAAY,EAAEA,YA1B0B;AA2BxCW,EAAAA,YAAY,EAAEA,YA3B0B;AA4BxCG,EAAAA,aAAa,EAAEA,aA5ByB;;AA6BxC,MAAIE,aAAJ,GAAqB;AAAE,WAAOA,aAAP;AAAuB,GA7BN;;AA8BxCrE,EAAAA,kBAAkB,EAAEA,kBA9BoB;AA+BxCuE,EAAAA,kBAAkB,EAAEA,kBA/BoB;AAgCxCrE,EAAAA,eAAe,EAAEA,eAhCuB;AAiCxCyE,EAAAA,WAAW,EAAEA,WAjC2B;AAkCxCE,EAAAA,eAAe,EAAEA,eAlCuB;AAmCxCC,EAAAA,sBAAsB,EAAEA,sBAnCgB;AAoCxCI,EAAAA,YAAY,EAAEA,YApC0B;AAqCxCC,EAAAA,YAAY,EAAEA,YArC0B;AAsCxCC,EAAAA,gBAAgB,EAAEA,gBAtCsB;AAuCxCC,EAAAA,eAAe,EAAEA,eAvCuB;AAwCxCuB,EAAAA,YAAY,EAAEA,YAxC0B;AAyCxCI,EAAAA,iBAAiB,EAAEA,iBAzCqB;AA0CxC1G,EAAAA,eAAe,EAAEA,eA1CuB;AA2CxC4G,EAAAA,OAAO,EAAEA,OA3C+B;AA4CxCE,EAAAA,aAAa,EAAEA,aA5CyB;AA6CxC1E,EAAAA,QAAQ,EAAEA,QA7C8B;AA8CxC6E,EAAAA,OAAO,EAAEA,OA9C+B;AA+CxCC,EAAAA,YAAY,EAAEA,YA/C0B;AAgDxCI,EAAAA,iBAAiB,EAAEA,iBAhDqB;AAiDxCrH,EAAAA,kBAAkB,EAAEA,kBAjDoB;AAkDxCV,EAAAA,YAAY,EAAEA,YAlD0B;AAmDxCC,EAAAA,WAAW,EAAEA,WAnD2B;AAoDxCoI,EAAAA,gBAAgB,EAAEA,gBApDsB;AAqDxCE,EAAAA,eAAe,EAAEA,eArDuB;AAsDxCE,EAAAA,cAAc,EAAEA,cAtDwB;AAuDxCE,EAAAA,SAAS,EAAEA,SAvD6B;AAwDxCE,EAAAA,SAAS,EAAEA,SAxD6B;AAyDxCE,EAAAA,UAAU,EAAEA,UAzD4B;AA0DxCqF,EAAAA,eAAe,EAAEnF,iBA1DuB;AA2DxCoF,EAAAA,eAAe,EAAElF,iBA3DuB;AA4DxCE,EAAAA,SAAS,EAAEA,SA5D6B;AA6DxCzG,EAAAA,eAAe,EAAEA,eA7DuB;;AA8DxC,MAAIqB,YAAJ,GAAoB;AAAE,WAAOA,YAAP;AAAsB,GA9DJ;;AA+DxCqF,EAAAA,cAAc,EAAEA,cA/DwB;AAgExCG,EAAAA,YAAY,EAAEA,YAhE0B;AAiExCE,EAAAA,SAAS,EAAEA,SAjE6B;AAkExC5F,EAAAA,cAAc,EAAEA,cAlEwB;AAmExC+D,EAAAA,mBAAmB,EAAEA,mBAnEmB;AAoExC7E,EAAAA,mBAAmB,EAAEA,mBApEmB;AAqExCmH,EAAAA,eAAe,EAAEA,eArEuB;AAsExCE,EAAAA,iBAAiB,EAAEA,iBAtEqB;AAuExCC,EAAAA,UAAU,EAAEA,UAvE4B;AAwExCE,EAAAA,WAAW,EAAEA,WAxE2B;AAyExCC,EAAAA,WAAW,EAAEA,WAzE2B;AA0ExCC,EAAAA,SAAS,EAAEA,SA1E6B;AA2ExCI,EAAAA,MAAM,EAAEA,MA3EgC;AA4ExCE,EAAAA,YAAY,EAAEA,YA5E0B;AA6ExCI,EAAAA,SAAS,EAAEA,SA7E6B;AA8ExCiD,EAAAA,cAAc,EAAE/C,gBA9EwB;AA+ExCgD,EAAAA,mBAAmB,EAAEtC,qBA/EmB;AAgFxCC,EAAAA,gBAAgB,EAAEA,gBAhFsB;AAiFxCG,EAAAA,yBAAyB,EAAEA,yBAjFa;AAkFxCG,EAAAA,kCAAkC,EAAEA,kCAlFI;AAmFxCG,EAAAA,mCAAmC,EAAEA,mCAnFG;AAoFxC7C,EAAAA,cAAc,EAAEA,cApFwB;AAqFxC+C,EAAAA,YAAY,EAAEA,YArF0B;AAsFxCC,EAAAA,QAAQ,EAAEA,QAtF8B;AAuFxCC,EAAAA,UAAU,EAAEA,UAvF4B;AAwFxCC,EAAAA,UAAU,EAAEA,UAxF4B;AAyFxCE,EAAAA,cAAc,EAAEA,cAzFwB;AA0FxCC,EAAAA,UAAU,EAAEA,UA1F4B;AA2FxCC,EAAAA,UAAU,EAAEA,UA3F4B;AA4FxCC,EAAAA,UAAU,EAAEA,UA5F4B;AA6FxCC,EAAAA,KAAK,EAAEA,KA7FiC;AA8FxCC,EAAAA,GAAG,EAAEA,GA9FmC;AA+FxCC,EAAAA,aAAa,EAAEA,aA/FyB;AAgGxC/wO,EAAAA,EAAE,EAAEA,EAhGoC;AAiGxCgxO,EAAAA,MAAM,EAAEA,MAjGgC;AAkGxCG,EAAAA,cAAc,EAAEA,cAlGwB;AAmGxCC,EAAAA,OAAO,EAAEA,OAnG+B;AAoGxCC,EAAAA,eAAe,EAAEA,eApGuB;AAqGxCE,EAAAA,MAAM,EAAEA;AArGgC,CAAd,CAA9B;AAwGA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,MAAMQ,eAAe,GAAG,IAAxB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,MAAMC,iBAAiB,GAAG3B,QAAQ,CAAC,WAAD,CAAlC;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,MAAM4B,WAAW,GAAG,EAApB;AACA;AACA;AACA;AACA;AACA;;AACA,MAAMC,2CAA2C,GAAG,EAApD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,MAAMC,eAAN,SAA8B9O,UAA9B,CAAyC;AACrC94P,EAAAA,WAAW,CAAC6nQ,QAAD,EAAW;AAClB,UAAMA,QAAQ,CAAC/mQ,IAAf;AACA,SAAK+mQ,QAAL,GAAgBA,QAAhB;AACA,SAAK1hN,QAAL,GAAgB0hN,QAAhB;AACH;;AACDvL,EAAAA,eAAe,CAAC/pF,OAAD,EAAU7wK,OAAV,EAAmB;AAC9B,QAAIA,OAAO,KAAKgmQ,WAAhB,EAA6B;AACzB;AACA;AACA,aAAO,KAAKvhN,QAAL,CAAcm2M,eAAd,CAA8B/pF,OAA9B,EAAuC7wK,OAAvC,CAAP;AACH,KAJD,MAKK;AACD,aAAO,KAAKmmQ,QAAL,CAAcvL,eAAd,CAA8B/pF,OAA9B,EAAuC7wK,OAAvC,CAAP;AACH;AACJ;;AACD62P,EAAAA,YAAY,CAACh7P,CAAD,EAAI;AACZ,WAAOA,CAAC,YAAYqqQ,eAAb,IAAgC,KAAKC,QAAL,CAActP,YAAd,CAA2Bh7P,CAAC,CAACsqQ,QAA7B,CAAvC;AACH;;AACDxL,EAAAA,UAAU,GAAG;AACT,WAAO,IAAP;AACH;;AACDyL,EAAAA,KAAK,CAAC/9P,UAAD,EAAa;AACd,SAAK89P,QAAL,GAAgB99P,UAAhB;AACA,SAAKgmC,MAAL,GAAc,IAAd;AACH;;AAzBoC;AA2BzC;AACA;AACA;AACA;AACA;;;AACA,MAAMg4N,YAAN,CAAmB;AACf/nQ,EAAAA,WAAW,CAACgoQ,wBAAwB,GAAG,KAA5B,EAAmC;AAC1C,SAAKA,wBAAL,GAAgCA,wBAAhC;AACA,SAAKpH,UAAL,GAAkB,EAAlB;AACA,SAAKqH,QAAL,GAAgB,IAAI/3P,GAAJ,EAAhB;AACA,SAAKg4P,gBAAL,GAAwB,IAAIh4P,GAAJ,EAAxB;AACA,SAAKi4P,mBAAL,GAA2B,IAAIj4P,GAAJ,EAA3B;AACA,SAAKk4P,oBAAL,GAA4B,IAAIl4P,GAAJ,EAA5B;AACA,SAAKm4P,oBAAL,GAA4B,IAAIn4P,GAAJ,EAA5B;AACA,SAAKo4P,eAAL,GAAuB,IAAIp4P,GAAJ,EAAvB;AACA,SAAKq4P,aAAL,GAAqB,CAArB;AACH;;AACDC,EAAAA,eAAe,CAAC3B,OAAD,EAAU4B,WAAV,EAAuB;AAClC,QAAK5B,OAAO,YAAY/I,WAAnB,IAAkC,CAAC4K,mBAAmB,CAAC7B,OAAD,CAAvD,IACAA,OAAO,YAAYe,eADvB,EACwC;AACpC;AACA;AACA,aAAOf,OAAP;AACH;;AACD,UAAM19P,GAAG,GAAG,KAAKw/P,KAAL,CAAW9B,OAAX,CAAZ;AACA,QAAIiB,KAAK,GAAG,KAAKG,QAAL,CAAc5wP,GAAd,CAAkBlO,GAAlB,CAAZ;AACA,QAAI+6D,QAAQ,GAAG,KAAf;;AACA,QAAI,CAAC4jM,KAAL,EAAY;AACRA,MAAAA,KAAK,GAAG,IAAIF,eAAJ,CAAoBf,OAApB,CAAR;AACA,WAAKoB,QAAL,CAAchlQ,GAAd,CAAkBkG,GAAlB,EAAuB2+P,KAAvB;AACA5jM,MAAAA,QAAQ,GAAG,IAAX;AACH;;AACD,QAAK,CAACA,QAAD,IAAa,CAAC4jM,KAAK,CAAC/3N,MAArB,IAAiCm0B,QAAQ,IAAIukM,WAAjD,EAA+D;AAC3D;AACA,YAAM9wP,IAAI,GAAG,KAAKixP,SAAL,EAAb;AACA,UAAIC,UAAJ;AACA,UAAIC,KAAJ;;AACA,UAAI,KAAKd,wBAAL,IAAiCU,mBAAmB,CAAC7B,OAAD,CAAxD,EAAmE;AAC/D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACAgC,QAAAA,UAAU,GAAG/C,QAAQ,CAACnuP,IAAD,CAAR,CAAe1U,GAAf,CAAmB,IAAI09P,YAAJ,CAAiB,EAAjB,EAAqB;AACrD,SACI;AACA,YAAIyC,eAAJ,CAAoByD,OAApB,CAFJ,CADgC,CAAnB,CAAb;AAKAiC,QAAAA,KAAK,GAAGhD,QAAQ,CAACnuP,IAAD,CAAR,CAAeuhP,MAAf,CAAsB,EAAtB,CAAR;AACH,OApBD,MAqBK;AACD;AACA;AACA2P,QAAAA,UAAU,GAAG/C,QAAQ,CAACnuP,IAAD,CAAR,CAAe1U,GAAf,CAAmB4jQ,OAAnB,CAAb;AACAiC,QAAAA,KAAK,GAAGhD,QAAQ,CAACnuP,IAAD,CAAhB;AACH;;AACD,WAAKipP,UAAL,CAAgBv+P,IAAhB,CAAqBwmQ,UAAU,CAAC/L,UAAX,CAAsBpF,aAAtB,EAAqC,CAACuF,YAAY,CAACC,KAAd,CAArC,CAArB;AACA4K,MAAAA,KAAK,CAACA,KAAN,CAAYgB,KAAZ;AACH;;AACD,WAAOhB,KAAP;AACH;;AACDiB,EAAAA,aAAa,CAACjoQ,IAAD,EAAO4lH,IAAP,EAAag1D,GAAb,EAAkB+sF,WAAW,GAAG,KAAhC,EAAuC;AAChD,UAAMjzF,WAAW,GAAG,KAAKwzF,aAAL,CAAmBtiJ,IAAnB,CAApB;AACA,QAAIohJ,KAAK,GAAGtyF,WAAW,CAACn+J,GAAZ,CAAgBvW,IAAhB,CAAZ;AACA,QAAIojE,QAAQ,GAAG,KAAf;;AACA,QAAI,CAAC4jM,KAAL,EAAY;AACR,YAAMhpQ,QAAQ,GAAG,KAAKmqQ,cAAL,CAAoBviJ,IAApB,CAAjB;AACAohJ,MAAAA,KAAK,GAAG,IAAIF,eAAJ,CAAoBlsF,GAAG,CAACqqF,UAAJ,CAAejlQ,IAAf,EAAqBw/I,IAArB,CAA0BxhJ,QAA1B,CAApB,CAAR;AACA02K,MAAAA,WAAW,CAACvyK,GAAZ,CAAgBnC,IAAhB,EAAsBgnQ,KAAtB;AACA5jM,MAAAA,QAAQ,GAAG,IAAX;AACH;;AACD,QAAK,CAACA,QAAD,IAAa,CAAC4jM,KAAK,CAAC/3N,MAArB,IAAiCm0B,QAAQ,IAAIukM,WAAjD,EAA+D;AAC3D,YAAM9wP,IAAI,GAAG,KAAKixP,SAAL,EAAb;AACA,WAAKhI,UAAL,CAAgBv+P,IAAhB,CAAqByjQ,QAAQ,CAACnuP,IAAD,CAAR,CAAe1U,GAAf,CAAmB6kQ,KAAK,CAACD,QAAzB,EAAmC/K,UAAnC,CAA8CpF,aAA9C,EAA6D,CAACuF,YAAY,CAACC,KAAd,CAA7D,CAArB;AACA4K,MAAAA,KAAK,CAACA,KAAN,CAAYhC,QAAQ,CAACnuP,IAAD,CAApB;AACH;;AACD,WAAOmwP,KAAP;AACH;;AACDoB,EAAAA,iBAAiB,CAACrC,OAAD,EAAU;AACvB;AACA,QAAIA,OAAO,YAAYxF,gBAAvB,EAAyC;AACrC,YAAM8H,eAAe,GAAGtC,OAAO,CAACx+O,OAAR,CAAgBvlB,GAAhB,CAAoBvF,CAAC,IAAIA,CAAC,CAAC8+P,UAAF,KAAiB9+P,CAAjB,GAAqBkqQ,iBAA9C,CAAxB;AACA,YAAMt+P,GAAG,GAAG,KAAKw/P,KAAL,CAAWvC,UAAU,CAAC+C,eAAD,CAArB,CAAZ;AACA,aAAO,KAAKC,kBAAL,CAAwBjgQ,GAAxB,EAA6B09P,OAAO,CAACx+O,OAArC,EAA8CA,OAAO,IAAI+9O,UAAU,CAAC/9O,OAAD,CAAnE,CAAP;AACH,KAJD,MAKK;AACD,YAAMghP,gBAAgB,GAAGhD,UAAU,CAACQ,OAAO,CAACx+O,OAAR,CAAgBvlB,GAAhB,CAAoBvF,CAAC,KAAK;AAC1D4L,QAAAA,GAAG,EAAE5L,CAAC,CAAC4L,GADmD;AAE1D8B,QAAAA,KAAK,EAAE1N,CAAC,CAAC0N,KAAF,CAAQoxP,UAAR,KAAuB9+P,CAAC,CAAC0N,KAAzB,GAAiCw8P,iBAFkB;AAG1DjG,QAAAA,MAAM,EAAEjkQ,CAAC,CAACikQ;AAHgD,OAAL,CAArB,CAAD,CAAnC;AAKA,YAAMr4P,GAAG,GAAG,KAAKw/P,KAAL,CAAWU,gBAAX,CAAZ;AACA,aAAO,KAAKD,kBAAL,CAAwBjgQ,GAAxB,EAA6B09P,OAAO,CAACx+O,OAAR,CAAgBvlB,GAAhB,CAAoBvF,CAAC,IAAIA,CAAC,CAAC0N,KAA3B,CAA7B,EAAgEod,OAAO,IAAIg+O,UAAU,CAACh+O,OAAO,CAACvlB,GAAR,CAAY,CAACmI,KAAD,EAAQuxG,KAAR,MAAmB;AACxHrzG,QAAAA,GAAG,EAAE09P,OAAO,CAACx+O,OAAR,CAAgBm0F,KAAhB,EAAuBrzG,GAD4F;AAExH8B,QAAAA,KAFwH;AAGxHu2P,QAAAA,MAAM,EAAEqF,OAAO,CAACx+O,OAAR,CAAgBm0F,KAAhB,EAAuBglJ;AAHyF,OAAnB,CAAZ,CAAD,CAArF,CAAP;AAKH;AACJ;;AACD4H,EAAAA,kBAAkB,CAACjgQ,GAAD,EAAMszC,MAAN,EAAc6sN,SAAd,EAAyB;AACvC,QAAIC,cAAc,GAAG,KAAKrB,gBAAL,CAAsB7wP,GAAtB,CAA0BlO,GAA1B,CAArB;AACA,UAAMqgQ,uBAAuB,GAAG/sN,MAAM,CAACv4C,MAAP,CAAe3G,CAAC,IAAI,CAACA,CAAC,CAAC8+P,UAAF,EAArB,CAAhC;;AACA,QAAI,CAACkN,cAAL,EAAqB;AACjB,YAAME,iBAAiB,GAAGhtN,MAAM,CAAC35C,GAAP,CAAW,CAACvF,CAAD,EAAIi/G,KAAJ,KAAcj/G,CAAC,CAAC8+P,UAAF,KAAiB,KAAKmM,eAAL,CAAqBjrQ,CAArB,EAAwB,IAAxB,CAAjB,GAAiDuoQ,QAAQ,CAAE,IAAGtpJ,KAAM,EAAX,CAAlF,CAA1B;AACA,YAAMp2B,UAAU,GAAGqjL,iBAAiB,CAACvlQ,MAAlB,CAAyBwlQ,UAAzB,EAAqC5mQ,GAArC,CAAyCvF,CAAC,IAAI,IAAImjQ,OAAJ,CAAYnjQ,CAAC,CAACoa,IAAd,EAAoB6/O,YAApB,CAA9C,CAAnB;AACA,YAAMmS,uBAAuB,GAAGl0O,EAAE,CAAC2wD,UAAD,EAAa,CAAC,IAAIg9K,eAAJ,CAAoBkG,SAAS,CAACG,iBAAD,CAA7B,CAAD,CAAb,EAAkE/R,aAAlE,CAAlC;AACA,YAAM//O,IAAI,GAAG,KAAKixP,SAAL,EAAb;AACA,WAAKhI,UAAL,CAAgBv+P,IAAhB,CAAqByjQ,QAAQ,CAACnuP,IAAD,CAAR,CAAe1U,GAAf,CAAmB0mQ,uBAAnB,EAA4C7M,UAA5C,CAAuDpF,aAAvD,EAAsE,CACvFuF,YAAY,CAACC,KAD0E,CAAtE,CAArB;AAGAqM,MAAAA,cAAc,GAAGzD,QAAQ,CAACnuP,IAAD,CAAzB;AACA,WAAKuwP,gBAAL,CAAsBjlQ,GAAtB,CAA0BkG,GAA1B,EAA+BogQ,cAA/B;AACH;;AACD,WAAO;AAAEA,MAAAA,cAAF;AAAkBC,MAAAA;AAAlB,KAAP;AACH;AACD;AACJ;AACA;AACA;AACA;AACA;AACA;;;AACII,EAAAA,UAAU,CAAC3a,MAAD,EAAS;AACf,WAAQ,GAAEA,MAAO,GAAE,KAAKsZ,aAAL,EAAqB,EAAxC;AACH;;AACDS,EAAAA,aAAa,CAACtiJ,IAAD,EAAO;AAChB,YAAQA,IAAR;AACI,WAAK;AAAE;AAAP;AACI,eAAO,KAAK2hJ,oBAAZ;;AACJ,WAAK;AAAE;AAAP;AACI,eAAO,KAAKD,oBAAZ;;AACJ,WAAK;AAAE;AAAP;AACI,eAAO,KAAKD,mBAAZ;;AACJ,WAAK;AAAE;AAAP;AACI,eAAO,KAAKG,eAAZ;AARR;AAUH;;AACDW,EAAAA,cAAc,CAACviJ,IAAD,EAAO;AACjB,YAAQA,IAAR;AACI,WAAK;AAAE;AAAP;AACI,eAAO,MAAP;;AACJ,WAAK;AAAE;AAAP;AACI,eAAO,MAAP;;AACJ,WAAK;AAAE;AAAP;AACI,eAAO,MAAP;;AACJ,WAAK;AAAE;AAAP;AACI,eAAO,OAAP;AARR;AAUH;;AACDkiJ,EAAAA,SAAS,GAAG;AACR,WAAO,KAAKgB,UAAL,CAAgBpC,eAAhB,CAAP;AACH;;AACDmB,EAAAA,KAAK,CAAC5+P,UAAD,EAAa;AACd,WAAOA,UAAU,CAACuyP,eAAX,CAA2B,IAAIuN,UAAJ,EAA3B,EAA6CnC,WAA7C,CAAP;AACH;;AA7Jc;AA+JnB;AACA;AACA;AACA;AACA;AACA;;;AACA,MAAMmC,UAAN,CAAiB;AACb7pQ,EAAAA,WAAW,GAAG;AACV,SAAK48P,oBAAL,GAA4BkN,SAA5B;AACA,SAAKjN,iBAAL,GAAyBiN,SAAzB;AACA,SAAKzM,iBAAL,GAAyByM,SAAzB;AACA,SAAKvM,kBAAL,GAA0BuM,SAA1B;AACA,SAAKrM,uBAAL,GAA+BqM,SAA/B;AACA,SAAKnM,uBAAL,GAA+BmM,SAA/B;AACA,SAAKjM,oBAAL,GAA4BiM,SAA5B;AACA,SAAK1J,oBAAL,GAA4B0J,SAA5B;AACA,SAAKxJ,YAAL,GAAoBwJ,SAApB;AACA,SAAKtJ,sBAAL,GAA8BsJ,SAA9B;AACA,SAAKrJ,aAAL,GAAqBqJ,SAArB;AACA,SAAKjJ,iBAAL,GAAyBiJ,SAAzB;AACA,SAAK7I,sBAAL,GAA8B6I,SAA9B;AACA,SAAK5I,uBAAL,GAA+B4I,SAA/B;AACA,SAAK3I,iBAAL,GAAyB2I,SAAzB;AACA,SAAK1I,gBAAL,GAAwB0I,SAAxB;AACA,SAAKlI,cAAL,GAAsBkI,SAAtB;AACA,SAAKlL,oBAAL,GAA4BkL,SAA5B;AACH;;AACD/L,EAAAA,gBAAgB,CAAC/mF,GAAD,EAAM;AAClB,WAAQ,GAAE,OAAOA,GAAG,CAAC/rK,KAAX,KAAqB,QAArB,GAAgC,MAAM+rK,GAAG,CAAC/rK,KAAV,GAAkB,GAAlD,GAAwD+rK,GAAG,CAAC/rK,KAAM,EAA5E;AACH;;AACDq2P,EAAAA,qBAAqB,CAACtqF,GAAD,EAAMt1K,OAAN,EAAe;AAChC,WAAQ,IAAGs1K,GAAG,CAAC3uJ,OAAJ,CAAYvlB,GAAZ,CAAgBm9J,KAAK,IAAIA,KAAK,CAACq8F,eAAN,CAAsB,IAAtB,EAA4B56P,OAA5B,CAAzB,EAA+DqiB,IAA/D,CAAoE,GAApE,CAAyE,GAApF;AACH;;AACD29O,EAAAA,mBAAmB,CAAC1qF,GAAD,EAAMt1K,OAAN,EAAe;AAC9B,UAAMqoQ,MAAM,GAAI9pG,KAAD,IAAW;AACtB,YAAM+pG,KAAK,GAAG/pG,KAAK,CAACuhG,MAAN,GAAe,GAAf,GAAqB,EAAnC;AACA,aAAQ,GAAEwI,KAAM,GAAE/pG,KAAK,CAAC92J,GAAI,GAAE6gQ,KAAM,EAApC;AACH,KAHD;;AAIA,UAAMC,QAAQ,GAAIhqG,KAAD,IAAY,GAAE8pG,MAAM,CAAC9pG,KAAD,CAAQ,IAAGA,KAAK,CAACh1J,KAAN,CAAYqxP,eAAZ,CAA4B,IAA5B,EAAkC56P,OAAlC,CAA2C,EAA3F;;AACA,WAAQ,IAAGs1K,GAAG,CAAC3uJ,OAAJ,CAAYvlB,GAAZ,CAAgBmnQ,QAAhB,EAA0BlmP,IAA1B,CAA+B,GAA/B,CAAoC,EAA/C;AACH;;AACDm8O,EAAAA,iBAAiB,CAAClpF,GAAD,EAAM;AACnB,WAAOA,GAAG,CAAC/rK,KAAJ,CAAU+0P,UAAV,GAAwB,MAAKhpF,GAAG,CAAC/rK,KAAJ,CAAU+0P,UAAW,IAAGhpF,GAAG,CAAC/rK,KAAJ,CAAU0M,IAAK,EAApE,GACF,MAAKq/J,GAAG,CAAC/rK,KAAJ,CAAUg1P,OAAV,CAAkBtoP,IAAK,EADjC;AAEH;;AACD4kP,EAAAA,gBAAgB,CAACh/K,IAAD,EAAO;AACnB,WAAQ,OAAMA,IAAI,CAAC5lE,IAAK,EAAxB;AACH;;AACD+kP,EAAAA,eAAe,CAACn/K,IAAD,EAAO77E,OAAP,EAAgB;AAC3B,WAAQ,UAAS67E,IAAI,CAAC64F,IAAL,CAAUkmF,eAAV,CAA0B,IAA1B,EAAgC56P,OAAhC,CAAyC,EAA1D;AACH;;AA5CY;;AA8CjB,SAASooQ,SAAT,CAAmB1rG,GAAnB,EAAwB;AACpB,QAAM,IAAIvlJ,KAAJ,CAAW,0BAAyB,KAAK7Y,WAAL,CAAiB2X,IAAK,mBAAkBymJ,GAAG,CAACp+J,WAAJ,CAAgB2X,IAAK,EAAjG,CAAN;AACH;;AACD,SAAS+xP,UAAT,CAAoBnsQ,CAApB,EAAuB;AACnB,SAAOA,CAAC,YAAY4+P,WAApB;AACH;;AACD,SAASuM,mBAAT,CAA6BtyF,IAA7B,EAAmC;AAC/B,SAAOA,IAAI,YAAY0nF,WAAhB,IAA+B,OAAO1nF,IAAI,CAACnrK,KAAZ,KAAsB,QAArD,IACHmrK,IAAI,CAACnrK,KAAL,CAAWG,MAAX,IAAqBu8P,2CADzB;AAEH;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,MAAMuC,MAAM,GAAG,eAAf;;AACA,MAAMC,aAAN,CAAoB;AAEpB;;;AACAA,aAAa,CAACC,UAAd,GAA2B,SAA3B;AACAD,aAAa,CAACE,gBAAd,GAAiC,WAAjC;AACAF,aAAa,CAACG,UAAd,GAA2B,aAA3B;AACAH,aAAa,CAAC1T,IAAd,GAAqB;AAAE9+O,EAAAA,IAAI,EAAE,IAAR;AAAcqoP,EAAAA,UAAU,EAAEkK;AAA1B,CAArB;AACA;;AACAC,aAAa,CAACI,aAAd,GAA8B;AAAE5yP,EAAAA,IAAI,EAAE,iBAAR;AAA2BqoP,EAAAA,UAAU,EAAEkK;AAAvC,CAA9B;AACAC,aAAa,CAACK,eAAd,GAAgC;AAAE7yP,EAAAA,IAAI,EAAE,mBAAR;AAA6BqoP,EAAAA,UAAU,EAAEkK;AAAzC,CAAhC;AACAC,aAAa,CAACM,YAAd,GAA6B;AAAE9yP,EAAAA,IAAI,EAAE,gBAAR;AAA0BqoP,EAAAA,UAAU,EAAEkK;AAAtC,CAA7B;AACAC,aAAa,CAACxqH,OAAd,GAAwB;AAAEhoI,EAAAA,IAAI,EAAE,WAAR;AAAqBqoP,EAAAA,UAAU,EAAEkK;AAAjC,CAAxB;AACAC,aAAa,CAACO,YAAd,GAA6B;AAAE/yP,EAAAA,IAAI,EAAE,gBAAR;AAA0BqoP,EAAAA,UAAU,EAAEkK;AAAtC,CAA7B;AACAC,aAAa,CAACQ,UAAd,GAA2B;AAAEhzP,EAAAA,IAAI,EAAE,cAAR;AAAwBqoP,EAAAA,UAAU,EAAEkK;AAApC,CAA3B;AACAC,aAAa,CAACS,OAAd,GAAwB;AAAEjzP,EAAAA,IAAI,EAAE,WAAR;AAAqBqoP,EAAAA,UAAU,EAAEkK;AAAjC,CAAxB;AACAC,aAAa,CAACU,qBAAd,GAAsC;AAAElzP,EAAAA,IAAI,EAAE,yBAAR;AAAmCqoP,EAAAA,UAAU,EAAEkK;AAA/C,CAAtC;AACAC,aAAa,CAACW,qBAAd,GAAsC;AAAEnzP,EAAAA,IAAI,EAAE,yBAAR;AAAmCqoP,EAAAA,UAAU,EAAEkK;AAA/C,CAAtC;AACAC,aAAa,CAACvuG,SAAd,GAA0B;AAAEjkJ,EAAAA,IAAI,EAAE,aAAR;AAAuBqoP,EAAAA,UAAU,EAAEkK;AAAnC,CAA1B;AACAC,aAAa,CAACY,qBAAd,GAAsC;AAAEpzP,EAAAA,IAAI,EAAE,yBAAR;AAAmCqoP,EAAAA,UAAU,EAAEkK;AAA/C,CAAtC;AACAC,aAAa,CAACa,qBAAd,GAAsC;AAAErzP,EAAAA,IAAI,EAAE,yBAAR;AAAmCqoP,EAAAA,UAAU,EAAEkK;AAA/C,CAAtC;AACAC,aAAa,CAACc,qBAAd,GAAsC;AAAEtzP,EAAAA,IAAI,EAAE,yBAAR;AAAmCqoP,EAAAA,UAAU,EAAEkK;AAA/C,CAAtC;AACAC,aAAa,CAACe,qBAAd,GAAsC;AAAEvzP,EAAAA,IAAI,EAAE,yBAAR;AAAmCqoP,EAAAA,UAAU,EAAEkK;AAA/C,CAAtC;AACAC,aAAa,CAACgB,qBAAd,GAAsC;AAAExzP,EAAAA,IAAI,EAAE,yBAAR;AAAmCqoP,EAAAA,UAAU,EAAEkK;AAA/C,CAAtC;AACAC,aAAa,CAACiB,qBAAd,GAAsC;AAAEzzP,EAAAA,IAAI,EAAE,yBAAR;AAAmCqoP,EAAAA,UAAU,EAAEkK;AAA/C,CAAtC;AACAC,aAAa,CAACkB,qBAAd,GAAsC;AAAE1zP,EAAAA,IAAI,EAAE,yBAAR;AAAmCqoP,EAAAA,UAAU,EAAEkK;AAA/C,CAAtC;AACAC,aAAa,CAACmB,qBAAd,GAAsC;AAAE3zP,EAAAA,IAAI,EAAE,yBAAR;AAAmCqoP,EAAAA,UAAU,EAAEkK;AAA/C,CAAtC;AACAC,aAAa,CAACoB,qBAAd,GAAsC;AAAE5zP,EAAAA,IAAI,EAAE,yBAAR;AAAmCqoP,EAAAA,UAAU,EAAEkK;AAA/C,CAAtC;AACAC,aAAa,CAACqB,SAAd,GAA0B;AAAE7zP,EAAAA,IAAI,EAAE,aAAR;AAAuBqoP,EAAAA,UAAU,EAAEkK;AAAnC,CAA1B;AACAC,aAAa,CAACsB,qBAAd,GAAsC;AAAE9zP,EAAAA,IAAI,EAAE,yBAAR;AAAmCqoP,EAAAA,UAAU,EAAEkK;AAA/C,CAAtC;AACAC,aAAa,CAACuB,mBAAd,GAAoC;AAAE/zP,EAAAA,IAAI,EAAE,uBAAR;AAAiCqoP,EAAAA,UAAU,EAAEkK;AAA7C,CAApC;AACAC,aAAa,CAACwB,gBAAd,GAAiC;AAAEh0P,EAAAA,IAAI,EAAE,oBAAR;AAA8BqoP,EAAAA,UAAU,EAAEkK;AAA1C,CAAjC;AACAC,aAAa,CAAC7yF,QAAd,GAAyB;AAAE3/J,EAAAA,IAAI,EAAE,YAAR;AAAsBqoP,EAAAA,UAAU,EAAEkK;AAAlC,CAAzB;AACAC,aAAa,CAACyB,oBAAd,GAAqC;AAAEj0P,EAAAA,IAAI,EAAE,wBAAR;AAAkCqoP,EAAAA,UAAU,EAAEkK;AAA9C,CAArC;AACAC,aAAa,CAAC0B,oBAAd,GAAqC;AAAEl0P,EAAAA,IAAI,EAAE,wBAAR;AAAkCqoP,EAAAA,UAAU,EAAEkK;AAA9C,CAArC;AACAC,aAAa,CAAC2B,oBAAd,GAAqC;AAAEn0P,EAAAA,IAAI,EAAE,wBAAR;AAAkCqoP,EAAAA,UAAU,EAAEkK;AAA9C,CAArC;AACAC,aAAa,CAAC4B,oBAAd,GAAqC;AAAEp0P,EAAAA,IAAI,EAAE,wBAAR;AAAkCqoP,EAAAA,UAAU,EAAEkK;AAA9C,CAArC;AACAC,aAAa,CAAC6B,oBAAd,GAAqC;AAAEr0P,EAAAA,IAAI,EAAE,wBAAR;AAAkCqoP,EAAAA,UAAU,EAAEkK;AAA9C,CAArC;AACAC,aAAa,CAAC8B,oBAAd,GAAqC;AAAEt0P,EAAAA,IAAI,EAAE,wBAAR;AAAkCqoP,EAAAA,UAAU,EAAEkK;AAA9C,CAArC;AACAC,aAAa,CAAC+B,oBAAd,GAAqC;AAAEv0P,EAAAA,IAAI,EAAE,wBAAR;AAAkCqoP,EAAAA,UAAU,EAAEkK;AAA9C,CAArC;AACAC,aAAa,CAACgC,oBAAd,GAAqC;AAAEx0P,EAAAA,IAAI,EAAE,wBAAR;AAAkCqoP,EAAAA,UAAU,EAAEkK;AAA9C,CAArC;AACAC,aAAa,CAACiC,oBAAd,GAAqC;AAAEz0P,EAAAA,IAAI,EAAE,wBAAR;AAAkCqoP,EAAAA,UAAU,EAAEkK;AAA9C,CAArC;AACAC,aAAa,CAACkC,QAAd,GAAyB;AAAE10P,EAAAA,IAAI,EAAE,YAAR;AAAsBqoP,EAAAA,UAAU,EAAEkK;AAAlC,CAAzB;AACAC,aAAa,CAACmC,oBAAd,GAAqC;AAAE30P,EAAAA,IAAI,EAAE,wBAAR;AAAkCqoP,EAAAA,UAAU,EAAEkK;AAA9C,CAArC;AACAC,aAAa,CAACoC,oBAAd,GAAqC;AAAE50P,EAAAA,IAAI,EAAE,wBAAR;AAAkCqoP,EAAAA,UAAU,EAAEkK;AAA9C,CAArC;AACAC,aAAa,CAACqC,oBAAd,GAAqC;AAAE70P,EAAAA,IAAI,EAAE,wBAAR;AAAkCqoP,EAAAA,UAAU,EAAEkK;AAA9C,CAArC;AACAC,aAAa,CAACsC,oBAAd,GAAqC;AAAE90P,EAAAA,IAAI,EAAE,wBAAR;AAAkCqoP,EAAAA,UAAU,EAAEkK;AAA9C,CAArC;AACAC,aAAa,CAACuC,oBAAd,GAAqC;AAAE/0P,EAAAA,IAAI,EAAE,wBAAR;AAAkCqoP,EAAAA,UAAU,EAAEkK;AAA9C,CAArC;AACAC,aAAa,CAACwC,oBAAd,GAAqC;AAAEh1P,EAAAA,IAAI,EAAE,wBAAR;AAAkCqoP,EAAAA,UAAU,EAAEkK;AAA9C,CAArC;AACAC,aAAa,CAACyC,oBAAd,GAAqC;AAAEj1P,EAAAA,IAAI,EAAE,wBAAR;AAAkCqoP,EAAAA,UAAU,EAAEkK;AAA9C,CAArC;AACAC,aAAa,CAAC0C,oBAAd,GAAqC;AAAEl1P,EAAAA,IAAI,EAAE,wBAAR;AAAkCqoP,EAAAA,UAAU,EAAEkK;AAA9C,CAArC;AACAC,aAAa,CAAC2C,oBAAd,GAAqC;AAAEn1P,EAAAA,IAAI,EAAE,wBAAR;AAAkCqoP,EAAAA,UAAU,EAAEkK;AAA9C,CAArC;AACAC,aAAa,CAAC4C,SAAd,GAA0B;AAAEp1P,EAAAA,IAAI,EAAE,aAAR;AAAuBqoP,EAAAA,UAAU,EAAEkK;AAAnC,CAA1B;AACAC,aAAa,CAAC6C,qBAAd,GAAsC;AAAEr1P,EAAAA,IAAI,EAAE,yBAAR;AAAmCqoP,EAAAA,UAAU,EAAEkK;AAA/C,CAAtC;AACAC,aAAa,CAAC8C,qBAAd,GAAsC;AAAEt1P,EAAAA,IAAI,EAAE,yBAAR;AAAmCqoP,EAAAA,UAAU,EAAEkK;AAA/C,CAAtC;AACAC,aAAa,CAAC+C,qBAAd,GAAsC;AAAEv1P,EAAAA,IAAI,EAAE,yBAAR;AAAmCqoP,EAAAA,UAAU,EAAEkK;AAA/C,CAAtC;AACAC,aAAa,CAACgD,qBAAd,GAAsC;AAAEx1P,EAAAA,IAAI,EAAE,yBAAR;AAAmCqoP,EAAAA,UAAU,EAAEkK;AAA/C,CAAtC;AACAC,aAAa,CAACiD,qBAAd,GAAsC;AAAEz1P,EAAAA,IAAI,EAAE,yBAAR;AAAmCqoP,EAAAA,UAAU,EAAEkK;AAA/C,CAAtC;AACAC,aAAa,CAACkD,qBAAd,GAAsC;AAAE11P,EAAAA,IAAI,EAAE,yBAAR;AAAmCqoP,EAAAA,UAAU,EAAEkK;AAA/C,CAAtC;AACAC,aAAa,CAACmD,qBAAd,GAAsC;AAAE31P,EAAAA,IAAI,EAAE,yBAAR;AAAmCqoP,EAAAA,UAAU,EAAEkK;AAA/C,CAAtC;AACAC,aAAa,CAACoD,qBAAd,GAAsC;AAAE51P,EAAAA,IAAI,EAAE,yBAAR;AAAmCqoP,EAAAA,UAAU,EAAEkK;AAA/C,CAAtC;AACAC,aAAa,CAACqD,qBAAd,GAAsC;AAAE71P,EAAAA,IAAI,EAAE,yBAAR;AAAmCqoP,EAAAA,UAAU,EAAEkK;AAA/C,CAAtC;AACAC,aAAa,CAACsD,WAAd,GAA4B;AAAE91P,EAAAA,IAAI,EAAE,eAAR;AAAyBqoP,EAAAA,UAAU,EAAEkK;AAArC,CAA5B;AACAC,aAAa,CAACuD,cAAd,GAA+B;AAAE/1P,EAAAA,IAAI,EAAE,YAAR;AAAsBqoP,EAAAA,UAAU,EAAEkK;AAAlC,CAA/B;AACAC,aAAa,CAACvgQ,IAAd,GAAqB;AAAE+N,EAAAA,IAAI,EAAE,QAAR;AAAkBqoP,EAAAA,UAAU,EAAEkK;AAA9B,CAArB;AACAC,aAAa,CAACwD,cAAd,GAA+B;AAAEh2P,EAAAA,IAAI,EAAE,kBAAR;AAA4BqoP,EAAAA,UAAU,EAAEkK;AAAxC,CAA/B;AACAC,aAAa,CAACyD,eAAd,GAAgC;AAAEj2P,EAAAA,IAAI,EAAE,mBAAR;AAA6BqoP,EAAAA,UAAU,EAAEkK;AAAzC,CAAhC;AACAC,aAAa,CAAC0D,cAAd,GAA+B;AAAEl2P,EAAAA,IAAI,EAAE,kBAAR;AAA4BqoP,EAAAA,UAAU,EAAEkK;AAAxC,CAA/B;AACAC,aAAa,CAAC2D,eAAd,GAAgC;AAAEn2P,EAAAA,IAAI,EAAE,mBAAR;AAA6BqoP,EAAAA,UAAU,EAAEkK;AAAzC,CAAhC;AACAC,aAAa,CAAC4D,gBAAd,GAAiC;AAAEp2P,EAAAA,IAAI,EAAE,oBAAR;AAA8BqoP,EAAAA,UAAU,EAAEkK;AAA1C,CAAjC;AACAC,aAAa,CAAC6D,gBAAd,GAAiC;AAAEr2P,EAAAA,IAAI,EAAE,oBAAR;AAA8BqoP,EAAAA,UAAU,EAAEkK;AAA1C,CAAjC;AACAC,aAAa,CAAC8D,gBAAd,GAAiC;AAAEt2P,EAAAA,IAAI,EAAE,oBAAR;AAA8BqoP,EAAAA,UAAU,EAAEkK;AAA1C,CAAjC;AACAC,aAAa,CAAC+D,gBAAd,GAAiC;AAAEv2P,EAAAA,IAAI,EAAE,oBAAR;AAA8BqoP,EAAAA,UAAU,EAAEkK;AAA1C,CAAjC;AACAC,aAAa,CAACgE,gBAAd,GAAiC;AAAEx2P,EAAAA,IAAI,EAAE,oBAAR;AAA8BqoP,EAAAA,UAAU,EAAEkK;AAA1C,CAAjC;AACAC,aAAa,CAACiE,gBAAd,GAAiC;AAAEz2P,EAAAA,IAAI,EAAE,oBAAR;AAA8BqoP,EAAAA,UAAU,EAAEkK;AAA1C,CAAjC;AACAC,aAAa,CAACkE,gBAAd,GAAiC;AAAE12P,EAAAA,IAAI,EAAE,oBAAR;AAA8BqoP,EAAAA,UAAU,EAAEkK;AAA1C,CAAjC;AACAC,aAAa,CAACmE,gBAAd,GAAiC;AAAE32P,EAAAA,IAAI,EAAE,oBAAR;AAA8BqoP,EAAAA,UAAU,EAAEkK;AAA1C,CAAjC;AACAC,aAAa,CAACoE,gBAAd,GAAiC;AAAE52P,EAAAA,IAAI,EAAE,oBAAR;AAA8BqoP,EAAAA,UAAU,EAAEkK;AAA1C,CAAjC;AACAC,aAAa,CAACqE,WAAd,GAA4B;AAAE72P,EAAAA,IAAI,EAAE,eAAR;AAAyBqoP,EAAAA,UAAU,EAAEkK;AAArC,CAA5B;AACAC,aAAa,CAACsE,aAAd,GAA8B;AAAE92P,EAAAA,IAAI,EAAE,iBAAR;AAA2BqoP,EAAAA,UAAU,EAAEkK;AAAvC,CAA9B;AACAC,aAAa,CAACuE,aAAd,GAA8B;AAAE/2P,EAAAA,IAAI,EAAE,iBAAR;AAA2BqoP,EAAAA,UAAU,EAAEkK;AAAvC,CAA9B;AACAC,aAAa,CAACwE,aAAd,GAA8B;AAAEh3P,EAAAA,IAAI,EAAE,iBAAR;AAA2BqoP,EAAAA,UAAU,EAAEkK;AAAvC,CAA9B;AACAC,aAAa,CAACyE,aAAd,GAA8B;AAAEj3P,EAAAA,IAAI,EAAE,iBAAR;AAA2BqoP,EAAAA,UAAU,EAAEkK;AAAvC,CAA9B;AACAC,aAAa,CAAC0E,aAAd,GAA8B;AAAEl3P,EAAAA,IAAI,EAAE,iBAAR;AAA2BqoP,EAAAA,UAAU,EAAEkK;AAAvC,CAA9B;AACAC,aAAa,CAAC2E,aAAd,GAA8B;AAAEn3P,EAAAA,IAAI,EAAE,iBAAR;AAA2BqoP,EAAAA,UAAU,EAAEkK;AAAvC,CAA9B;AACAC,aAAa,CAAC4E,aAAd,GAA8B;AAAEp3P,EAAAA,IAAI,EAAE,iBAAR;AAA2BqoP,EAAAA,UAAU,EAAEkK;AAAvC,CAA9B;AACAC,aAAa,CAAC6E,aAAd,GAA8B;AAAEr3P,EAAAA,IAAI,EAAE,iBAAR;AAA2BqoP,EAAAA,UAAU,EAAEkK;AAAvC,CAA9B;AACAC,aAAa,CAAC8E,aAAd,GAA8B;AAAEt3P,EAAAA,IAAI,EAAE,iBAAR;AAA2BqoP,EAAAA,UAAU,EAAEkK;AAAvC,CAA9B;AACAC,aAAa,CAAC+E,aAAd,GAA8B;AAAEv3P,EAAAA,IAAI,EAAE,iBAAR;AAA2BqoP,EAAAA,UAAU,EAAEkK;AAAvC,CAA9B;AACAC,aAAa,CAACgF,SAAd,GAA0B;AAAEx3P,EAAAA,IAAI,EAAE,aAAR;AAAuBqoP,EAAAA,UAAU,EAAEkK;AAAnC,CAA1B;AACAC,aAAa,CAACiF,SAAd,GAA0B;AAAEz3P,EAAAA,IAAI,EAAE,aAAR;AAAuBqoP,EAAAA,UAAU,EAAEkK;AAAnC,CAA1B;AACAC,aAAa,CAACkF,SAAd,GAA0B;AAAE13P,EAAAA,IAAI,EAAE,aAAR;AAAuBqoP,EAAAA,UAAU,EAAEkK;AAAnC,CAA1B;AACAC,aAAa,CAACmF,SAAd,GAA0B;AAAE33P,EAAAA,IAAI,EAAE,aAAR;AAAuBqoP,EAAAA,UAAU,EAAEkK;AAAnC,CAA1B;AACAC,aAAa,CAACoF,SAAd,GAA0B;AAAE53P,EAAAA,IAAI,EAAE,aAAR;AAAuBqoP,EAAAA,UAAU,EAAEkK;AAAnC,CAA1B;AACAC,aAAa,CAACqF,YAAd,GAA6B;AAAE73P,EAAAA,IAAI,EAAE,gBAAR;AAA0BqoP,EAAAA,UAAU,EAAEkK;AAAtC,CAA7B;AACAC,aAAa,CAACrrQ,QAAd,GAAyB;AAAE6Y,EAAAA,IAAI,EAAE,YAAR;AAAsBqoP,EAAAA,UAAU,EAAEkK;AAAlC,CAAzB;AACAC,aAAa,CAACsF,mBAAd,GAAoC;AAAE93P,EAAAA,IAAI,EAAE,uBAAR;AAAiCqoP,EAAAA,UAAU,EAAEkK;AAA7C,CAApC;AACAC,aAAa,CAACuF,oBAAd,GAAqC;AAAE/3P,EAAAA,IAAI,EAAE,wBAAR;AAAkCqoP,EAAAA,UAAU,EAAEkK;AAA9C,CAArC;AACAC,aAAa,CAACwF,oBAAd,GAAqC;AAAEh4P,EAAAA,IAAI,EAAE,wBAAR;AAAkCqoP,EAAAA,UAAU,EAAEkK;AAA9C,CAArC;AACAC,aAAa,CAACyF,oBAAd,GAAqC;AAAEj4P,EAAAA,IAAI,EAAE,wBAAR;AAAkCqoP,EAAAA,UAAU,EAAEkK;AAA9C,CAArC;AACAC,aAAa,CAAC0F,oBAAd,GAAqC;AAAEl4P,EAAAA,IAAI,EAAE,wBAAR;AAAkCqoP,EAAAA,UAAU,EAAEkK;AAA9C,CAArC;AACAC,aAAa,CAAC2F,oBAAd,GAAqC;AAAEn4P,EAAAA,IAAI,EAAE,wBAAR;AAAkCqoP,EAAAA,UAAU,EAAEkK;AAA9C,CAArC;AACAC,aAAa,CAAC4F,oBAAd,GAAqC;AAAEp4P,EAAAA,IAAI,EAAE,wBAAR;AAAkCqoP,EAAAA,UAAU,EAAEkK;AAA9C,CAArC;AACAC,aAAa,CAAC6F,oBAAd,GAAqC;AAAEr4P,EAAAA,IAAI,EAAE,wBAAR;AAAkCqoP,EAAAA,UAAU,EAAEkK;AAA9C,CAArC;AACAC,aAAa,CAAC8F,oBAAd,GAAqC;AAAEt4P,EAAAA,IAAI,EAAE,wBAAR;AAAkCqoP,EAAAA,UAAU,EAAEkK;AAA9C,CAArC;AACAC,aAAa,CAAC+F,oBAAd,GAAqC;AAAEv4P,EAAAA,IAAI,EAAE,wBAAR;AAAkCqoP,EAAAA,UAAU,EAAEkK;AAA9C,CAArC;AACAC,aAAa,CAACgG,IAAd,GAAqB;AAAEx4P,EAAAA,IAAI,EAAE,QAAR;AAAkBqoP,EAAAA,UAAU,EAAEkK;AAA9B,CAArB;AACAC,aAAa,CAACiG,cAAd,GAA+B;AAAEz4P,EAAAA,IAAI,EAAE,kBAAR;AAA4BqoP,EAAAA,UAAU,EAAEkK;AAAxC,CAA/B;AACAC,aAAa,CAACkG,OAAd,GAAwB;AAAE14P,EAAAA,IAAI,EAAE,WAAR;AAAqBqoP,EAAAA,UAAU,EAAEkK;AAAjC,CAAxB;AACAC,aAAa,CAACmG,SAAd,GAA0B;AAAE34P,EAAAA,IAAI,EAAE,aAAR;AAAuBqoP,EAAAA,UAAU,EAAEkK;AAAnC,CAA1B;AACAC,aAAa,CAACoG,OAAd,GAAwB;AAAE54P,EAAAA,IAAI,EAAE,WAAR;AAAqBqoP,EAAAA,UAAU,EAAEkK;AAAjC,CAAxB;AACAC,aAAa,CAACqG,SAAd,GAA0B;AAAE74P,EAAAA,IAAI,EAAE,aAAR;AAAuBqoP,EAAAA,UAAU,EAAEkK;AAAnC,CAA1B;AACAC,aAAa,CAACsG,eAAd,GAAgC;AAAE94P,EAAAA,IAAI,EAAE,mBAAR;AAA6BqoP,EAAAA,UAAU,EAAEkK;AAAzC,CAAhC;AACAC,aAAa,CAACtoE,IAAd,GAAqB;AAAElqL,EAAAA,IAAI,EAAE,QAAR;AAAkBqoP,EAAAA,UAAU,EAAEkK;AAA9B,CAArB;AACAC,aAAa,CAACuG,UAAd,GAA2B;AAAE/4P,EAAAA,IAAI,EAAE,cAAR;AAAwBqoP,EAAAA,UAAU,EAAEkK;AAApC,CAA3B;AACAC,aAAa,CAACwG,aAAd,GAA8B;AAAEh5P,EAAAA,IAAI,EAAE,iBAAR;AAA2BqoP,EAAAA,UAAU,EAAEkK;AAAvC,CAA9B;AACAC,aAAa,CAACnvG,SAAd,GAA0B;AAAErjJ,EAAAA,IAAI,EAAE,aAAR;AAAuBqoP,EAAAA,UAAU,EAAEkK;AAAnC,CAA1B;AACAC,aAAa,CAACl4D,MAAd,GAAuB;AAAEt6L,EAAAA,IAAI,EAAE,UAAR;AAAoBqoP,EAAAA,UAAU,EAAEkK;AAAhC,CAAvB;AACAC,aAAa,CAACyG,eAAd,GAAgC;AAAEj5P,EAAAA,IAAI,EAAE,mBAAR;AAA6BqoP,EAAAA,UAAU,EAAEkK;AAAzC,CAAhC;AACAC,aAAa,CAAC0G,eAAd,GAAgC;AAAEl5P,EAAAA,IAAI,EAAE,mBAAR;AAA6BqoP,EAAAA,UAAU,EAAEkK;AAAzC,CAAhC;AACAC,aAAa,CAAC2G,cAAd,GAA+B;AAAEn5P,EAAAA,IAAI,EAAE,kBAAR;AAA4BqoP,EAAAA,UAAU,EAAEkK;AAAxC,CAA/B;AACAC,aAAa,CAAC4G,iBAAd,GAAkC;AAAEp5P,EAAAA,IAAI,EAAE,qBAAR;AAA+BqoP,EAAAA,UAAU,EAAEkK;AAA3C,CAAlC;AACAC,aAAa,CAAC6G,oBAAd,GAAqC;AAAEr5P,EAAAA,IAAI,EAAE,wBAAR;AAAkCqoP,EAAAA,UAAU,EAAEkK;AAA9C,CAArC;AACAC,aAAa,CAAClzC,UAAd,GAA2B;AAAEt/M,EAAAA,IAAI,EAAE,YAAR;AAAsBqoP,EAAAA,UAAU,EAAEkK;AAAlC,CAA3B;AACAC,aAAa,CAAC8G,iBAAd,GAAkC;AAAEt5P,EAAAA,IAAI,EAAE,mBAAR;AAA6BqoP,EAAAA,UAAU,EAAEkK;AAAzC,CAAlC;AACAC,aAAa,CAAC7mC,kBAAd,GAAmC;AAAE3rN,EAAAA,IAAI,EAAE,oBAAR;AAA8BqoP,EAAAA,UAAU,EAAEkK;AAA1C,CAAnC;AACAC,aAAa,CAAC+G,iBAAd,GAAkC;AAAEv5P,EAAAA,IAAI,EAAE,uBAAR;AAAiCqoP,EAAAA,UAAU,EAAEkK;AAA7C,CAAlC;AACAC,aAAa,CAACgH,qBAAd,GAAsC;AAAEx5P,EAAAA,IAAI,EAAE,yBAAR;AAAmCqoP,EAAAA,UAAU,EAAEkK;AAA/C,CAAtC;AACAC,aAAa,CAACiH,aAAd,GAA8B;AAAEz5P,EAAAA,IAAI,EAAE,iBAAR;AAA2BqoP,EAAAA,UAAU,EAAEkK;AAAvC,CAA9B;AACAC,aAAa,CAACkH,eAAd,GAAgC;AAAE15P,EAAAA,IAAI,EAAE,mBAAR;AAA6BqoP,EAAAA,UAAU,EAAEkK;AAAzC,CAAhC;AACAC,aAAa,CAACmH,WAAd,GAA4B;AAAE35P,EAAAA,IAAI,EAAE,eAAR;AAAyBqoP,EAAAA,UAAU,EAAEkK;AAArC,CAA5B;AACAC,aAAa,CAACoH,eAAd,GAAgC;AAAE55P,EAAAA,IAAI,EAAE,mBAAR;AAA6BqoP,EAAAA,UAAU,EAAEkK;AAAzC,CAAhC;AACAC,aAAa,CAACqH,gBAAd,GAAiC;AAAE75P,EAAAA,IAAI,EAAE,sBAAR;AAAgCqoP,EAAAA,UAAU,EAAEkK;AAA5C,CAAjC;AACAC,aAAa,CAACsH,iBAAd,GAAkC;AAAE95P,EAAAA,IAAI,EAAE,qBAAR;AAA+BqoP,EAAAA,UAAU,EAAEkK;AAA3C,CAAlC;AACAC,aAAa,CAAC/yC,uBAAd,GAAwC;AACpCz/M,EAAAA,IAAI,EAAE,yBAD8B;AAEpCqoP,EAAAA,UAAU,EAAEkK;AAFwB,CAAxC;AAIAC,aAAa,CAAChzC,iBAAd,GAAkC;AAC9Bx/M,EAAAA,IAAI,EAAE,mBADwB;AAE9BqoP,EAAAA,UAAU,EAAEkK;AAFkB,CAAlC;AAIAC,aAAa,CAACuH,oBAAd,GAAqC;AACjC/5P,EAAAA,IAAI,EAAE,wBAD2B;AAEjCqoP,EAAAA,UAAU,EAAEkK;AAFqB,CAArC;AAIAC,aAAa,CAACwH,kBAAd,GAAmC;AAC/Bh6P,EAAAA,IAAI,EAAE,sBADyB;AAE/BqoP,EAAAA,UAAU,EAAEkK;AAFmB,CAAnC;AAIAC,aAAa,CAACyH,cAAd,GAA+B;AAAEj6P,EAAAA,IAAI,EAAE,oBAAR;AAA8BqoP,EAAAA,UAAU,EAAEkK;AAA1C,CAA/B;AACAC,aAAa,CAAC0H,aAAd,GAA8B;AAAEl6P,EAAAA,IAAI,EAAE,iBAAR;AAA2BqoP,EAAAA,UAAU,EAAEkK;AAAvC,CAA9B;AACAC,aAAa,CAAC2H,eAAd,GAAgC;AAAEn6P,EAAAA,IAAI,EAAE,mBAAR;AAA6BqoP,EAAAA,UAAU,EAAEkK;AAAzC,CAAhC;AACAC,aAAa,CAAC4H,gBAAd,GAAiC;AAAEp6P,EAAAA,IAAI,EAAE,sBAAR;AAAgCqoP,EAAAA,UAAU,EAAEkK;AAA5C,CAAjC;AACAC,aAAa,CAAC6H,oBAAd,GAAqC;AACjCr6P,EAAAA,IAAI,EAAE,wBAD2B;AAEjCqoP,EAAAA,UAAU,EAAEkK;AAFqB,CAArC;AAIAC,aAAa,CAAC8H,WAAd,GAA4B;AAAEt6P,EAAAA,IAAI,EAAE,eAAR;AAAyBqoP,EAAAA,UAAU,EAAEkK;AAArC,CAA5B;AACAC,aAAa,CAAC+H,mBAAd,GAAoC;AAAEv6P,EAAAA,IAAI,EAAE,uBAAR;AAAiCqoP,EAAAA,UAAU,EAAEkK;AAA7C,CAApC;AACAC,aAAa,CAACgI,cAAd,GAA+B;AAAEx6P,EAAAA,IAAI,EAAE,kBAAR;AAA4BqoP,EAAAA,UAAU,EAAEkK;AAAxC,CAA/B;AACAC,aAAa,CAACiI,eAAd,GAAgC;AAAEz6P,EAAAA,IAAI,EAAE,qBAAR;AAA+BqoP,EAAAA,UAAU,EAAEkK;AAA3C,CAAhC;AACAC,aAAa,CAACkI,mBAAd,GAAoC;AAChC16P,EAAAA,IAAI,EAAE,uBAD0B;AAEhCqoP,EAAAA,UAAU,EAAEkK;AAFoB,CAApC;AAIAC,aAAa,CAACmI,mBAAd,GAAoC;AAChC36P,EAAAA,IAAI,EAAE,qBAD0B;AAEhCqoP,EAAAA,UAAU,EAAEkK;AAFoB,CAApC;AAIAC,aAAa,CAACoI,cAAd,GAA+B;AAAE56P,EAAAA,IAAI,EAAE,kBAAR;AAA4BqoP,EAAAA,UAAU,EAAEkK;AAAxC,CAA/B;AACAC,aAAa,CAACqI,eAAd,GAAgC;AAAE76P,EAAAA,IAAI,EAAE,qBAAR;AAA+BqoP,EAAAA,UAAU,EAAEkK;AAA3C,CAAhC;AACAC,aAAa,CAACsI,gBAAd,GAAiC;AAAE96P,EAAAA,IAAI,EAAE,oBAAR;AAA8BqoP,EAAAA,UAAU,EAAEkK;AAA1C,CAAjC;AACAC,aAAa,CAACuI,eAAd,GAAgC;AAAE/6P,EAAAA,IAAI,EAAE,mBAAR;AAA6BqoP,EAAAA,UAAU,EAAEkK;AAAzC,CAAhC;AACAC,aAAa,CAACwI,UAAd,GAA2B;AAAEh7P,EAAAA,IAAI,EAAE,cAAR;AAAwBqoP,EAAAA,UAAU,EAAEkK;AAApC,CAA3B;AACAC,aAAa,CAACyI,WAAd,GAA4B;AAAEj7P,EAAAA,IAAI,EAAE,iBAAR;AAA2BqoP,EAAAA,UAAU,EAAEkK;AAAvC,CAA5B;AACAC,aAAa,CAAC0I,oBAAd,GAAqC;AAAEl7P,EAAAA,IAAI,EAAE,0BAAR;AAAoCqoP,EAAAA,UAAU,EAAEkK;AAAhD,CAArC;AACAC,aAAa,CAAC2I,gBAAd,GAAiC;AAAEn7P,EAAAA,IAAI,EAAE,mBAAR;AAA6BqoP,EAAAA,UAAU,EAAEkK;AAAzC,CAAjC;AACAC,aAAa,CAAC4I,YAAd,GAA6B;AAAEp7P,EAAAA,IAAI,EAAE,gBAAR;AAA0BqoP,EAAAA,UAAU,EAAEkK;AAAtC,CAA7B;AACAC,aAAa,CAAC6I,SAAd,GAA0B;AAAEr7P,EAAAA,IAAI,EAAE,aAAR;AAAuBqoP,EAAAA,UAAU,EAAEkK;AAAnC,CAA1B;AACAC,aAAa,CAAC8I,SAAd,GAA0B;AAAEt7P,EAAAA,IAAI,EAAE,aAAR;AAAuBqoP,EAAAA,UAAU,EAAEkK;AAAnC,CAA1B;AACAC,aAAa,CAAC+I,YAAd,GAA6B;AAAEv7P,EAAAA,IAAI,EAAE,gBAAR;AAA0BqoP,EAAAA,UAAU,EAAEkK;AAAtC,CAA7B;AACAC,aAAa,CAACgJ,kBAAd,GAAmC;AAAEx7P,EAAAA,IAAI,EAAE,sBAAR;AAAgCqoP,EAAAA,UAAU,EAAEkK;AAA5C,CAAnC;AACAC,aAAa,CAACiJ,wBAAd,GAAyC;AAAEz7P,EAAAA,IAAI,EAAE,4BAAR;AAAsCqoP,EAAAA,UAAU,EAAEkK;AAAlD,CAAzC;AACAC,aAAa,CAACkJ,qBAAd,GAAsC;AAAE17P,EAAAA,IAAI,EAAE,yBAAR;AAAmCqoP,EAAAA,UAAU,EAAEkK;AAA/C,CAAtC;AACAC,aAAa,CAACmJ,gBAAd,GAAiC;AAAE37P,EAAAA,IAAI,EAAE,oBAAR;AAA8BqoP,EAAAA,UAAU,EAAEkK;AAA1C,CAAjC;AACAC,aAAa,CAAC9hH,QAAd,GAAyB;AAAE1wI,EAAAA,IAAI,EAAE,YAAR;AAAsBqoP,EAAAA,UAAU,EAAEkK;AAAlC,CAAzB;AACAC,aAAa,CAACoJ,mBAAd,GAAoC;AAChC57P,EAAAA,IAAI,EAAE,uBAD0B;AAEhCqoP,EAAAA,UAAU,EAAEkK;AAFoB,CAApC,EAIA;;AACAC,aAAa,CAACqJ,YAAd,GAA6B;AAAE77P,EAAAA,IAAI,EAAE,gBAAR;AAA0BqoP,EAAAA,UAAU,EAAEkK;AAAtC,CAA7B;AACAC,aAAa,CAACsJ,aAAd,GAA8B;AAAE97P,EAAAA,IAAI,EAAE,iBAAR;AAA2BqoP,EAAAA,UAAU,EAAEkK;AAAvC,CAA9B;AACAC,aAAa,CAACuJ,mBAAd,GAAoC;AAAE/7P,EAAAA,IAAI,EAAE,uBAAR;AAAiCqoP,EAAAA,UAAU,EAAEkK;AAA7C,CAApC;AACAC,aAAa,CAACwJ,cAAd,GAA+B;AAAEh8P,EAAAA,IAAI,EAAE,kBAAR;AAA4BqoP,EAAAA,UAAU,EAAEkK;AAAxC,CAA/B;AACAC,aAAa,CAACyJ,WAAd,GAA4B;AAAEj8P,EAAAA,IAAI,EAAE,eAAR;AAAyBqoP,EAAAA,UAAU,EAAEkK;AAArC,CAA5B;AACAC,aAAa,CAAC0J,wBAAd,GAAyC;AAAEl8P,EAAAA,IAAI,EAAE,4BAAR;AAAsCqoP,EAAAA,UAAU,EAAEkK;AAAlD,CAAzC;AACAC,aAAa,CAAC2J,iBAAd,GAAkC;AAAEn8P,EAAAA,IAAI,EAAE,qBAAR;AAA+BqoP,EAAAA,UAAU,EAAEkK;AAA3C,CAAlC;AACAC,aAAa,CAAC4J,wBAAd,GAAyC;AAAEp8P,EAAAA,IAAI,EAAE,4BAAR;AAAsCqoP,EAAAA,UAAU,EAAEkK;AAAlD,CAAzC;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,MAAMn4F,gBAAgB,GAAG,eAAzB;;AACA,SAASd,mBAAT,CAA6B3+E,KAA7B,EAAoC;AAChC,SAAOA,KAAK,CAACxkF,OAAN,CAAcikK,gBAAd,EAAgC,CAAC,GAAGtzK,CAAJ,KAAUA,CAAC,CAAC,CAAD,CAAD,CAAK48B,WAAL,EAA1C,CAAP;AACH;;AACD,SAAS24O,YAAT,CAAsB1hL,KAAtB,EAA6B2hL,aAA7B,EAA4C;AACxC,SAAOC,QAAQ,CAAC5hL,KAAD,EAAQ,GAAR,EAAa2hL,aAAb,CAAf;AACH;;AACD,SAASE,aAAT,CAAuB7hL,KAAvB,EAA8B2hL,aAA9B,EAA6C;AACzC,SAAOC,QAAQ,CAAC5hL,KAAD,EAAQ,GAAR,EAAa2hL,aAAb,CAAf;AACH;;AACD,SAASC,QAAT,CAAkB5hL,KAAlB,EAAyB8hL,SAAzB,EAAoCH,aAApC,EAAmD;AAC/C,QAAMI,cAAc,GAAG/hL,KAAK,CAACtjF,OAAN,CAAcolQ,SAAd,CAAvB;AACA,MAAIC,cAAc,IAAI,CAAC,CAAvB,EACI,OAAOJ,aAAP;AACJ,SAAO,CAAC3hL,KAAK,CAACjrF,KAAN,CAAY,CAAZ,EAAegtQ,cAAf,EAA+BruP,IAA/B,EAAD,EAAwCssE,KAAK,CAACjrF,KAAN,CAAYgtQ,cAAc,GAAG,CAA7B,EAAgCruP,IAAhC,EAAxC,CAAP;AACH;;AACD,SAASsuP,UAAT,CAAoBrpQ,KAApB,EAA2BsnK,OAA3B,EAAoC7wK,OAApC,EAA6C;AACzC,MAAIoC,KAAK,CAACC,OAAN,CAAckH,KAAd,CAAJ,EAA0B;AACtB,WAAOsnK,OAAO,CAACgiG,UAAR,CAAmBtpQ,KAAnB,EAA0BvJ,OAA1B,CAAP;AACH;;AACD,MAAI8yQ,iBAAiB,CAACvpQ,KAAD,CAArB,EAA8B;AAC1B,WAAOsnK,OAAO,CAACkiG,cAAR,CAAuBxpQ,KAAvB,EAA8BvJ,OAA9B,CAAP;AACH;;AACD,MAAIuJ,KAAK,IAAI,IAAT,IAAiB,OAAOA,KAAP,IAAgB,QAAjC,IAA6C,OAAOA,KAAP,IAAgB,QAA7D,IACA,OAAOA,KAAP,IAAgB,SADpB,EAC+B;AAC3B,WAAOsnK,OAAO,CAACmiG,cAAR,CAAuBzpQ,KAAvB,EAA8BvJ,OAA9B,CAAP;AACH;;AACD,SAAO6wK,OAAO,CAACoiG,UAAR,CAAmB1pQ,KAAnB,EAA0BvJ,OAA1B,CAAP;AACH;;AACD,SAASkzQ,SAAT,CAAmBnpH,GAAnB,EAAwB;AACpB,SAAOA,GAAG,KAAK,IAAR,IAAgBA,GAAG,KAAKqgB,SAA/B;AACH;;AACD,SAAS+oG,WAAT,CAAqBppH,GAArB,EAA0B;AACtB,SAAOA,GAAG,KAAKqgB,SAAR,GAAoB,IAApB,GAA2BrgB,GAAlC;AACH;;AACD,MAAMqpH,gBAAN,CAAuB;AACnBP,EAAAA,UAAU,CAACziG,GAAD,EAAMpwK,OAAN,EAAe;AACrB,WAAOowK,GAAG,CAAChvK,GAAJ,CAAQmI,KAAK,IAAIqpQ,UAAU,CAACrpQ,KAAD,EAAQ,IAAR,EAAcvJ,OAAd,CAA3B,CAAP;AACH;;AACD+yQ,EAAAA,cAAc,CAAC3xQ,GAAD,EAAMpB,OAAN,EAAe;AACzB,UAAMyY,MAAM,GAAG,EAAf;AACAvC,IAAAA,MAAM,CAACkF,IAAP,CAAYha,GAAZ,EAAiBZ,OAAjB,CAAyBiH,GAAG,IAAI;AAC5BgR,MAAAA,MAAM,CAAChR,GAAD,CAAN,GAAcmrQ,UAAU,CAACxxQ,GAAG,CAACqG,GAAD,CAAJ,EAAW,IAAX,EAAiBzH,OAAjB,CAAxB;AACH,KAFD;AAGA,WAAOyY,MAAP;AACH;;AACDu6P,EAAAA,cAAc,CAACzpQ,KAAD,EAAQvJ,OAAR,EAAiB;AAC3B,WAAOuJ,KAAP;AACH;;AACD0pQ,EAAAA,UAAU,CAAC1pQ,KAAD,EAAQvJ,OAAR,EAAiB;AACvB,WAAOuJ,KAAP;AACH;;AAhBkB;;AAkBvB,MAAM8pQ,SAAS,GAAG;AACdC,EAAAA,UAAU,EAAG/pQ,KAAD,IAAW;AACnB,QAAIgqQ,SAAS,CAAChqQ,KAAD,CAAb,EAAsB;AAClB,YAAM,IAAI4N,KAAJ,CAAW,0CAAX,CAAN;AACH;;AACD,WAAO5N,KAAP;AACH,GANa;AAOd1H,EAAAA,IAAI,EAAE,CAAC0H,KAAD,EAAQu+I,EAAR,KAAe;AACjB,WAAOyrH,SAAS,CAAChqQ,KAAD,CAAT,GAAmBA,KAAK,CAAC1H,IAAN,CAAWimJ,EAAX,CAAnB,GAAoCA,EAAE,CAACv+I,KAAD,CAA7C;AACH,GATa;AAUdvH,EAAAA,GAAG,EAAGwxQ,eAAD,IAAqB;AACtB,WAAOA,eAAe,CAACngQ,IAAhB,CAAqBkgQ,SAArB,IAAkCryQ,OAAO,CAACc,GAAR,CAAYwxQ,eAAZ,CAAlC,GAAiEA,eAAxE;AACH;AAZa,CAAlB;;AAcA,SAASl0Q,KAAT,CAAem0Q,GAAf,EAAoB;AAChB,QAAM,IAAIt8P,KAAJ,CAAW,mBAAkBs8P,GAAI,EAAjC,CAAN;AACH,EACD;;;AACA,SAASC,YAAT,CAAsBz3Q,CAAtB,EAAyB;AACrB,SAAOA,CAAC,CAACmQ,OAAF,CAAU,4BAAV,EAAwC,MAAxC,CAAP;AACH;;AACD,MAAMunQ,gBAAgB,GAAGz9P,MAAM,CAACosO,cAAP,CAAsB,EAAtB,CAAzB;;AACA,SAASwwB,iBAAT,CAA2BpkG,GAA3B,EAAgC;AAC5B,SAAO,OAAOA,GAAP,KAAe,QAAf,IAA2BA,GAAG,KAAK,IAAnC,IAA2Cx4J,MAAM,CAACosO,cAAP,CAAsB5zE,GAAtB,MAA+BilG,gBAAjF;AACH;;AACD,SAASC,UAAT,CAAoB5jG,GAApB,EAAyB;AACrB,MAAI6jG,OAAO,GAAG,EAAd;;AACA,OAAK,IAAI/4J,KAAK,GAAG,CAAjB,EAAoBA,KAAK,GAAGk1D,GAAG,CAACtmK,MAAhC,EAAwCoxG,KAAK,EAA7C,EAAiD;AAC7C,QAAIg5J,SAAS,GAAG9jG,GAAG,CAAC76C,UAAJ,CAAera,KAAf,CAAhB,CAD6C,CAE7C;AACA;;AACA,QAAIg5J,SAAS,IAAI,MAAb,IAAuBA,SAAS,IAAI,MAApC,IAA8C9jG,GAAG,CAACtmK,MAAJ,GAAcoxG,KAAK,GAAG,CAAxE,EAA4E;AACxE,YAAMi5J,GAAG,GAAG/jG,GAAG,CAAC76C,UAAJ,CAAera,KAAK,GAAG,CAAvB,CAAZ;;AACA,UAAIi5J,GAAG,IAAI,MAAP,IAAiBA,GAAG,IAAI,MAA5B,EAAoC;AAChCj5J,QAAAA,KAAK;AACLg5J,QAAAA,SAAS,GAAG,CAAEA,SAAS,GAAG,MAAb,IAAwB,EAAzB,IAA+BC,GAA/B,GAAqC,MAArC,GAA8C,OAA1D;AACH;AACJ;;AACD,QAAID,SAAS,IAAI,IAAjB,EAAuB;AACnBD,MAAAA,OAAO,CAAClzQ,IAAR,CAAamzQ,SAAb;AACH,KAFD,MAGK,IAAIA,SAAS,IAAI,KAAjB,EAAwB;AACzBD,MAAAA,OAAO,CAAClzQ,IAAR,CAAemzQ,SAAS,IAAI,CAAd,GAAmB,IAApB,GAA4B,IAAzC,EAAgDA,SAAS,GAAG,IAAb,GAAqB,IAApE;AACH,KAFI,MAGA,IAAIA,SAAS,IAAI,MAAjB,EAAyB;AAC1BD,MAAAA,OAAO,CAAClzQ,IAAR,CAAcmzQ,SAAS,IAAI,EAAd,GAAoB,IAAjC,EAAyCA,SAAS,IAAI,CAAd,GAAmB,IAApB,GAA4B,IAAnE,EAA0EA,SAAS,GAAG,IAAb,GAAqB,IAA9F;AACH,KAFI,MAGA,IAAIA,SAAS,IAAI,QAAjB,EAA2B;AAC5BD,MAAAA,OAAO,CAAClzQ,IAAR,CAAemzQ,SAAS,IAAI,EAAd,GAAoB,IAArB,GAA6B,IAA1C,EAAkDA,SAAS,IAAI,EAAd,GAAoB,IAArB,GAA6B,IAA7E,EAAqFA,SAAS,IAAI,CAAd,GAAmB,IAApB,GAA4B,IAA/G,EAAsHA,SAAS,GAAG,IAAb,GAAqB,IAA1I;AACH;AACJ;;AACD,SAAOD,OAAP;AACH;;AACD,SAAStxP,SAAT,CAAmBlf,KAAnB,EAA0B;AACtB,MAAI,OAAOA,KAAP,KAAiB,QAArB,EAA+B;AAC3B,WAAOA,KAAP;AACH;;AACD,MAAIjB,KAAK,CAACC,OAAN,CAAcgB,KAAd,CAAJ,EAA0B;AACtB,WAAO,MAAMA,KAAK,CAACjC,GAAN,CAAUmhB,SAAV,EAAqBF,IAArB,CAA0B,IAA1B,CAAN,GAAwC,GAA/C;AACH;;AACD,MAAIhf,KAAK,IAAI,IAAb,EAAmB;AACf,WAAO,KAAKA,KAAZ;AACH;;AACD,MAAIA,KAAK,CAAC2wQ,cAAV,EAA0B;AACtB,WAAQ,GAAE3wQ,KAAK,CAAC2wQ,cAAe,EAA/B;AACH;;AACD,MAAI3wQ,KAAK,CAAC4S,IAAV,EAAgB;AACZ,WAAQ,GAAE5S,KAAK,CAAC4S,IAAK,EAArB;AACH;;AACD,MAAI,CAAC5S,KAAK,CAACtE,QAAX,EAAqB;AACjB,WAAO,QAAP;AACH,GAlBqB,CAmBtB;AACA;;;AACA,QAAMspO,GAAG,GAAGhlO,KAAK,CAACtE,QAAN,EAAZ;;AACA,MAAIspO,GAAG,IAAI,IAAX,EAAiB;AACb,WAAO,KAAKA,GAAZ;AACH;;AACD,QAAM4rC,YAAY,GAAG5rC,GAAG,CAAC/6N,OAAJ,CAAY,IAAZ,CAArB;AACA,SAAO2mQ,YAAY,KAAK,CAAC,CAAlB,GAAsB5rC,GAAtB,GAA4BA,GAAG,CAAC79D,SAAJ,CAAc,CAAd,EAAiBypG,YAAjB,CAAnC;AACH;AACD;AACA;AACA;;;AACA,SAAS1E,iBAAT,CAA2BnwQ,IAA3B,EAAiC;AAC7B,MAAI,OAAOA,IAAP,KAAgB,UAAhB,IAA8BA,IAAI,CAACmuB,cAAL,CAAoB,iBAApB,CAAlC,EAA0E;AACtE,WAAOnuB,IAAI,EAAX;AACH,GAFD,MAGK;AACD,WAAOA,IAAP;AACH;AACJ;AACD;AACA;AACA;;;AACA,SAASm0Q,SAAT,CAAmB7kG,GAAnB,EAAwB;AACpB;AACA;AACA,SAAO,CAAC,CAACA,GAAF,IAAS,OAAOA,GAAG,CAAC7sK,IAAX,KAAoB,UAApC;AACH;;AACD,MAAM0M,OAAN,CAAc;AACVjQ,EAAAA,WAAW,CAAC41Q,IAAD,EAAO;AACd,SAAKA,IAAL,GAAYA,IAAZ;AACA,UAAMC,MAAM,GAAGD,IAAI,CAAC7nQ,KAAL,CAAW,GAAX,CAAf;AACA,SAAKiF,KAAL,GAAa6iQ,MAAM,CAAC,CAAD,CAAnB;AACA,SAAK5iQ,KAAL,GAAa4iQ,MAAM,CAAC,CAAD,CAAnB;AACA,SAAKj8G,KAAL,GAAai8G,MAAM,CAACxuQ,KAAP,CAAa,CAAb,EAAgB0c,IAAhB,CAAqB,GAArB,CAAb;AACH;;AAPS;;AASd,MAAM+xP,QAAQ,GAAG,OAAOx6P,MAAP,KAAkB,WAAlB,IAAiCA,MAAlD;;AACA,MAAMy6P,MAAM,GAAG,OAAO9uG,IAAP,KAAgB,WAAhB,IAA+B,OAAO+uG,iBAAP,KAA6B,WAA5D,IACX/uG,IAAI,YAAY+uG,iBADL,IAC0B/uG,IADzC;;AAEA,MAAMgvG,QAAQ,GAAG,OAAO5vJ,MAAP,KAAkB,WAAlB,IAAiCA,MAAlD,EACA;AACA;;;AACA,MAAM6vJ,OAAO,GAAGD,QAAQ,IAAIH,QAAZ,IAAwBC,MAAxC;;AACA,SAASI,QAAT,CAAkBpjP,IAAlB,EAAwB9nB,KAAxB,EAA+B;AAC3B,QAAMu5G,IAAI,GAAG,EAAb;;AACA,OAAK,IAAIvmH,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAG80B,IAApB,EAA0B90B,CAAC,EAA3B,EAA+B;AAC3BumH,IAAAA,IAAI,CAACniH,IAAL,CAAU4I,KAAV;AACH;;AACD,SAAOu5G,IAAP;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAAS4xJ,cAAT,CAAwBtkG,GAAxB,EAA6BukG,WAA7B,EAA0C;AACtC,QAAMC,MAAM,GAAG,EAAf;AACA,QAAMC,KAAK,GAAG,EAAd;;AACA,OAAK,MAAMp1Q,IAAX,IAAmB2wK,GAAnB,EAAwB;AACpB,KAACukG,WAAW,CAACl1Q,IAAD,CAAX,GAAoBm1Q,MAApB,GAA6BC,KAA9B,EAAqCl0Q,IAArC,CAA0ClB,IAA1C;AACH;;AACD,SAAO,CAACm1Q,MAAD,EAASC,KAAT,CAAP;AACH;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,MAAMC,SAAS,GAAG,CAAlB;AACA,MAAMC,aAAa,GAAG,kDAAtB;;AACA,MAAMC,kBAAN,CAAyB;AACrB12Q,EAAAA,WAAW,CAAC8wG,IAAI,GAAG,IAAR,EAAc;AACrB,SAAKA,IAAL,GAAYA,IAAZ;AACA,SAAK6lK,cAAL,GAAsB,IAAIzmQ,GAAJ,EAAtB;AACA,SAAK0mQ,KAAL,GAAa,EAAb;AACA,SAAKC,QAAL,GAAgB,CAAhB;AACA,SAAKC,WAAL,GAAmB,KAAnB;AACH,GAPoB,CAQrB;;;AACAC,EAAAA,SAAS,CAAC3zQ,GAAD,EAAMmH,OAAO,GAAG,IAAhB,EAAsB;AAC3B,QAAI,CAAC,KAAKosQ,cAAL,CAAoB/pQ,GAApB,CAAwBxJ,GAAxB,CAAL,EAAmC;AAC/B,WAAKuzQ,cAAL,CAAoB1zQ,GAApB,CAAwBG,GAAxB,EAA6BmH,OAA7B;AACH;;AACD,WAAO,IAAP;AACH;;AACDysQ,EAAAA,OAAO,GAAG;AACN,SAAKJ,KAAL,CAAWv0Q,IAAX,CAAgB,EAAhB;AACA,SAAKw0Q,QAAL,GAAgB,CAAhB;AACA,WAAO,IAAP;AACH;;AACDI,EAAAA,UAAU,CAACC,IAAD,EAAOniO,SAAP,EAAkBoiO,WAAlB,EAA+BC,UAA/B,EAA2C;AACjD,QAAI,CAAC,KAAKC,WAAV,EAAuB;AACnB,YAAM,IAAIx+P,KAAJ,CAAW,mDAAX,CAAN;AACH;;AACD,QAAIk8B,SAAS,IAAI,IAAb,IAAqB,CAAC,KAAK4hO,cAAL,CAAoB/pQ,GAApB,CAAwBmoC,SAAxB,CAA1B,EAA8D;AAC1D,YAAM,IAAIl8B,KAAJ,CAAW,wBAAuBk8B,SAAU,GAA5C,CAAN;AACH;;AACD,QAAImiO,IAAI,IAAI,IAAZ,EAAkB;AACd,YAAM,IAAIr+P,KAAJ,CAAW,mDAAX,CAAN;AACH;;AACD,QAAIq+P,IAAI,GAAG,KAAKL,QAAhB,EAA0B;AACtB,YAAM,IAAIh+P,KAAJ,CAAW,yCAAX,CAAN;AACH;;AACD,QAAIk8B,SAAS,KAAKoiO,WAAW,IAAI,IAAf,IAAuBC,UAAU,IAAI,IAA1C,CAAb,EAA8D;AAC1D,YAAM,IAAIv+P,KAAJ,CAAW,oEAAX,CAAN;AACH;;AACD,SAAKi+P,WAAL,GAAmB,IAAnB;AACA,SAAKD,QAAL,GAAgBK,IAAhB;AACA,SAAKG,WAAL,CAAiBh1Q,IAAjB,CAAsB;AAAE60Q,MAAAA,IAAF;AAAQniO,MAAAA,SAAR;AAAmBoiO,MAAAA,WAAnB;AAAgCC,MAAAA;AAAhC,KAAtB;AACA,WAAO,IAAP;AACH;AACD;AACJ;AACA;AACA;;;AACmB,MAAXC,WAAW,GAAG;AACd,WAAO,KAAKT,KAAL,CAAWvvQ,KAAX,CAAiB,CAAC,CAAlB,EAAqB,CAArB,CAAP;AACH;;AACDS,EAAAA,MAAM,GAAG;AACL,QAAI,CAAC,KAAKgvQ,WAAV,EAAuB;AACnB,aAAO,IAAP;AACH;;AACD,UAAMQ,YAAY,GAAG,IAAIpnQ,GAAJ,EAArB;AACA,UAAMy/E,OAAO,GAAG,EAAhB;AACA,UAAMgnL,cAAc,GAAG,EAAvB;AACA7yQ,IAAAA,KAAK,CAACiZ,IAAN,CAAW,KAAK45P,cAAL,CAAoB75P,IAApB,EAAX,EAAuC5a,OAAvC,CAA+C,CAACkB,GAAD,EAAMnF,CAAN,KAAY;AACvDq5Q,MAAAA,YAAY,CAACr0Q,GAAb,CAAiBG,GAAjB,EAAsBnF,CAAtB;AACA0xF,MAAAA,OAAO,CAACttF,IAAR,CAAae,GAAb;AACAuzQ,MAAAA,cAAc,CAACt0Q,IAAf,CAAoB,KAAKs0Q,cAAL,CAAoBt/P,GAApB,CAAwBjU,GAAxB,KAAgC,IAApD;AACH,KAJD;AAKA,QAAIm0Q,QAAQ,GAAG,EAAf;AACA,QAAIV,QAAQ,GAAG,CAAf;AACA,QAAIW,eAAe,GAAG,CAAtB;AACA,QAAIC,eAAe,GAAG,CAAtB;AACA,QAAIC,cAAc,GAAG,CAArB;AACA,SAAKd,KAAL,CAAW10Q,OAAX,CAAmBy1Q,QAAQ,IAAI;AAC3Bd,MAAAA,QAAQ,GAAG,CAAX;AACAU,MAAAA,QAAQ,IAAII,QAAQ,CACf70Q,GADO,CACH80Q,OAAO,IAAI;AAChB;AACA,YAAIC,QAAQ,GAAGC,WAAW,CAACF,OAAO,CAACV,IAAR,GAAeL,QAAhB,CAA1B;AACAA,QAAAA,QAAQ,GAAGe,OAAO,CAACV,IAAnB;;AACA,YAAIU,OAAO,CAAC7iO,SAAR,IAAqB,IAAzB,EAA+B;AAC3B;AACA8iO,UAAAA,QAAQ,IACJC,WAAW,CAACR,YAAY,CAACjgQ,GAAb,CAAiBugQ,OAAO,CAAC7iO,SAAzB,IAAsCyiO,eAAvC,CADf;AAEAA,UAAAA,eAAe,GAAGF,YAAY,CAACjgQ,GAAb,CAAiBugQ,OAAO,CAAC7iO,SAAzB,CAAlB,CAJ2B,CAK3B;;AACA8iO,UAAAA,QAAQ,IAAIC,WAAW,CAACF,OAAO,CAACT,WAAR,GAAsBM,eAAvB,CAAvB;AACAA,UAAAA,eAAe,GAAGG,OAAO,CAACT,WAA1B,CAP2B,CAQ3B;;AACAU,UAAAA,QAAQ,IAAIC,WAAW,CAACF,OAAO,CAACR,UAAR,GAAqBM,cAAtB,CAAvB;AACAA,UAAAA,cAAc,GAAGE,OAAO,CAACR,UAAzB;AACH;;AACD,eAAOS,QAAP;AACH,OAlBW,EAmBP9zP,IAnBO,CAmBF,GAnBE,CAAZ;AAoBAwzP,MAAAA,QAAQ,IAAI,GAAZ;AACH,KAvBD;AAwBAA,IAAAA,QAAQ,GAAGA,QAAQ,CAAClwQ,KAAT,CAAe,CAAf,EAAkB,CAAC,CAAnB,CAAX;AACA,WAAO;AACH,cAAQ,KAAKypG,IAAL,IAAa,EADlB;AAEH,iBAAW0lK,SAFR;AAGH,oBAAc,EAHX;AAIH,iBAAW7mL,OAJR;AAKH,wBAAkBgnL,cALf;AAMH,kBAAYY;AANT,KAAP;AAQH;;AACDQ,EAAAA,WAAW,GAAG;AACV,WAAO,KAAKjB,WAAL,GAAmB,OAAOL,aAAP,GAAuBuB,cAAc,CAACh0P,IAAI,CAACC,SAAL,CAAe,IAAf,EAAqB,IAArB,EAA2B,CAA3B,CAAD,CAAxD,GACH,EADJ;AAEH;;AAtGoB;;AAwGzB,SAAS+zP,cAAT,CAAwB/sQ,KAAxB,EAA+B;AAC3B,MAAIgtQ,GAAG,GAAG,EAAV;AACA,QAAM1C,OAAO,GAAGD,UAAU,CAACrqQ,KAAD,CAA1B;;AACA,OAAK,IAAIhN,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGs3Q,OAAO,CAACnqQ,MAA5B,GAAqC;AACjC,UAAM0xL,EAAE,GAAGy4E,OAAO,CAACt3Q,CAAC,EAAF,CAAlB;AACA,UAAM0rJ,EAAE,GAAG1rJ,CAAC,GAAGs3Q,OAAO,CAACnqQ,MAAZ,GAAqBmqQ,OAAO,CAACt3Q,CAAC,EAAF,CAA5B,GAAoC,IAA/C;AACA,UAAMi6Q,EAAE,GAAGj6Q,CAAC,GAAGs3Q,OAAO,CAACnqQ,MAAZ,GAAqBmqQ,OAAO,CAACt3Q,CAAC,EAAF,CAA5B,GAAoC,IAA/C;AACAg6Q,IAAAA,GAAG,IAAIE,aAAa,CAACr7E,EAAE,IAAI,CAAP,CAApB;AACAm7E,IAAAA,GAAG,IAAIE,aAAa,CAAE,CAACr7E,EAAE,GAAG,CAAN,KAAY,CAAb,IAAmBnzC,EAAE,KAAK,IAAP,GAAc,CAAd,GAAkBA,EAAE,IAAI,CAA3C,CAAD,CAApB;AACAsuH,IAAAA,GAAG,IAAItuH,EAAE,KAAK,IAAP,GAAc,GAAd,GAAoBwuH,aAAa,CAAE,CAACxuH,EAAE,GAAG,EAAN,KAAa,CAAd,IAAoBuuH,EAAE,KAAK,IAAP,GAAc,CAAd,GAAkBA,EAAE,IAAI,CAA5C,CAAD,CAAxC;AACAD,IAAAA,GAAG,IAAItuH,EAAE,KAAK,IAAP,IAAeuuH,EAAE,KAAK,IAAtB,GAA6B,GAA7B,GAAmCC,aAAa,CAACD,EAAE,GAAG,EAAN,CAAvD;AACH;;AACD,SAAOD,GAAP;AACH;;AACD,SAASH,WAAT,CAAqB7sQ,KAArB,EAA4B;AACxBA,EAAAA,KAAK,GAAGA,KAAK,GAAG,CAAR,GAAY,CAAE,CAACA,KAAF,IAAY,CAAb,IAAkB,CAA9B,GAAkCA,KAAK,IAAI,CAAnD;AACA,MAAIi8P,GAAG,GAAG,EAAV;;AACA,KAAG;AACC,QAAI9wB,KAAK,GAAGnrO,KAAK,GAAG,EAApB;AACAA,IAAAA,KAAK,GAAGA,KAAK,IAAI,CAAjB;;AACA,QAAIA,KAAK,GAAG,CAAZ,EAAe;AACXmrO,MAAAA,KAAK,GAAGA,KAAK,GAAG,EAAhB;AACH;;AACD8wB,IAAAA,GAAG,IAAIiR,aAAa,CAAC/hC,KAAD,CAApB;AACH,GAPD,QAOSnrO,KAAK,GAAG,CAPjB;;AAQA,SAAOi8P,GAAP;AACH;;AACD,MAAMkR,UAAU,GAAG,kEAAnB;;AACA,SAASD,aAAT,CAAuBltQ,KAAvB,EAA8B;AAC1B,MAAIA,KAAK,GAAG,CAAR,IAAaA,KAAK,IAAI,EAA1B,EAA8B;AAC1B,UAAM,IAAI4N,KAAJ,CAAW,4CAAX,CAAN;AACH;;AACD,SAAOu/P,UAAU,CAACntQ,KAAD,CAAjB;AACH;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,MAAMotQ,8BAA8B,GAAG,gBAAvC;AACA,MAAMC,oBAAoB,GAAG,uBAA7B;AACA,MAAMC,YAAY,GAAG,IAArB;AACA,MAAMC,iBAAiB,GAAG1S,QAAQ,CAAC,OAAD,EAAU,IAAV,EAAgB,IAAhB,CAAlC;AACA,MAAM2S,iBAAiB,GAAG3S,QAAQ,CAAC,OAAD,EAAU,IAAV,EAAgB,IAAhB,CAAlC;;AACA,MAAM4S,YAAN,CAAmB;AACf14Q,EAAAA,WAAW,CAAC24Q,MAAD,EAAS;AAChB,SAAKA,MAAL,GAAcA,MAAd;AACA,SAAKC,WAAL,GAAmB,CAAnB;AACA,SAAKrsC,KAAL,GAAa,EAAb;AACA,SAAKssC,QAAL,GAAgB,EAAhB;AACH;;AANc;;AAQnB,MAAMC,qBAAN,CAA4B;AACxB94Q,EAAAA,WAAW,CAAC+4Q,OAAD,EAAU;AACjB,SAAKA,OAAL,GAAeA,OAAf;AACA,SAAKC,QAAL,GAAgB,EAAhB;AACA,SAAKC,kBAAL,GAA0B,CAA1B;AACA,SAAKC,MAAL,GAAc,CAAC,IAAIR,YAAJ,CAAiBK,OAAjB,CAAD,CAAd;AACH;;AACgB,SAAV79J,UAAU,GAAG;AAChB,WAAO,IAAI49J,qBAAJ,CAA0B,CAA1B,CAAP;AACH;AACD;AACJ;AACA;AACA;;;AACoB,MAAZK,YAAY,GAAG;AACf,WAAO,KAAKD,MAAL,CAAY,KAAKA,MAAL,CAAY9tQ,MAAZ,GAAqB,CAAjC,CAAP;AACH;;AACDguQ,EAAAA,OAAO,CAACr8P,IAAD,EAAOs8P,QAAQ,GAAG,EAAlB,EAAsB;AACzB,SAAKC,KAAL,CAAWv8P,IAAI,IAAI,IAAnB,EAAyBs8P,QAAzB,EAAmC,IAAnC;AACH;;AACDE,EAAAA,WAAW,GAAG;AACV,WAAO,KAAKJ,YAAL,CAAkB5sC,KAAlB,CAAwBnhO,MAAxB,KAAmC,CAA1C;AACH;;AACDouQ,EAAAA,UAAU,GAAG;AACT,WAAO,KAAKL,YAAL,CAAkBR,MAAlB,GAA2BJ,YAAY,CAACntQ,MAAxC,GAAiD,KAAK+tQ,YAAL,CAAkBP,WAA1E;AACH;;AACDU,EAAAA,KAAK,CAACv8P,IAAD,EAAOyvN,IAAP,EAAaitC,OAAO,GAAG,KAAvB,EAA8B;AAC/B,QAAIjtC,IAAI,CAACphO,MAAL,GAAc,CAAlB,EAAqB;AACjB,WAAK+tQ,YAAL,CAAkB5sC,KAAlB,CAAwBlqO,IAAxB,CAA6BmqO,IAA7B;;AACA,WAAK2sC,YAAL,CAAkBP,WAAlB,IAAiCpsC,IAAI,CAACphO,MAAtC;;AACA,WAAK+tQ,YAAL,CAAkBN,QAAlB,CAA2Bx2Q,IAA3B,CAAgC0a,IAAI,IAAIA,IAAI,CAACg8O,UAAb,IAA2B,IAA3D;AACH;;AACD,QAAI0gB,OAAJ,EAAa;AACT,WAAKP,MAAL,CAAY72Q,IAAZ,CAAiB,IAAIq2Q,YAAJ,CAAiB,KAAKK,OAAtB,CAAjB;AACH;AACJ;;AACDW,EAAAA,mBAAmB,GAAG;AAClB,QAAI,KAAKH,WAAL,EAAJ,EAAwB;AACpB,WAAKL,MAAL,CAAYlgQ,GAAZ;AACH;AACJ;;AACD2gQ,EAAAA,SAAS,GAAG;AACR,SAAKZ,OAAL;;AACA,QAAI,KAAKQ,WAAL,EAAJ,EAAwB;AACpB,WAAKJ,YAAL,CAAkBR,MAAlB,GAA2B,KAAKI,OAAhC;AACH;AACJ;;AACDa,EAAAA,SAAS,GAAG;AACR,SAAKb,OAAL;;AACA,QAAI,KAAKQ,WAAL,EAAJ,EAAwB;AACpB,WAAKJ,YAAL,CAAkBR,MAAlB,GAA2B,KAAKI,OAAhC;AACH;AACJ;;AACDc,EAAAA,SAAS,CAACC,KAAD,EAAQ;AACb,SAAKd,QAAL,CAAc32Q,IAAd,CAAmBy3Q,KAAnB;AACH;;AACDC,EAAAA,QAAQ,GAAG;AACP,WAAO,KAAKf,QAAL,CAAchgQ,GAAd,EAAP;AACH;;AACe,MAAZghQ,YAAY,GAAG;AACf,WAAO,KAAKhB,QAAL,CAAc5tQ,MAAd,GAAuB,CAAvB,GAA2B,KAAK4tQ,QAAL,CAAc,KAAKA,QAAL,CAAc5tQ,MAAd,GAAuB,CAArC,CAA3B,GAAqE,IAA5E;AACH;;AACD6uQ,EAAAA,QAAQ,GAAG;AACP,WAAO,KAAKC,WAAL,CACFp3Q,GADE,CACE1E,CAAC,IAAIA,CAAC,CAACmuO,KAAF,CAAQnhO,MAAR,GAAiB,CAAjB,GAAqB+uQ,aAAa,CAAC/7Q,CAAC,CAACu6Q,MAAH,CAAb,GAA0Bv6Q,CAAC,CAACmuO,KAAF,CAAQxoN,IAAR,CAAa,EAAb,CAA/C,GAAkE,EADzE,EAEFA,IAFE,CAEG,IAFH,CAAP;AAGH;;AACDq2P,EAAAA,oBAAoB,CAACC,WAAD,EAAcC,YAAY,GAAG,CAA7B,EAAgC;AAChD,UAAMx3Q,GAAG,GAAG,IAAI4zQ,kBAAJ,CAAuB2D,WAAvB,CAAZ;AACA,QAAIE,iBAAiB,GAAG,KAAxB;;AACA,UAAMC,sBAAsB,GAAG,MAAM;AACjC,UAAI,CAACD,iBAAL,EAAwB;AACpB;AACA;AACA;AACAz3Q,QAAAA,GAAG,CAACi0Q,SAAJ,CAAcsD,WAAd,EAA2B,GAA3B,EAAgCpD,UAAhC,CAA2C,CAA3C,EAA8CoD,WAA9C,EAA2D,CAA3D,EAA8D,CAA9D;AACAE,QAAAA,iBAAiB,GAAG,IAApB;AACH;AACJ,KARD;;AASA,SAAK,IAAIt8Q,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGq8Q,YAApB,EAAkCr8Q,CAAC,EAAnC,EAAuC;AACnC6E,MAAAA,GAAG,CAACk0Q,OAAJ;AACAwD,MAAAA,sBAAsB;AACzB;;AACD,SAAKN,WAAL,CAAiBh4Q,OAAjB,CAAyB,CAAC2jP,IAAD,EAAO40B,OAAP,KAAmB;AACxC33Q,MAAAA,GAAG,CAACk0Q,OAAJ;AACA,YAAM0D,KAAK,GAAG70B,IAAI,CAACgzB,QAAnB;AACA,YAAMtsC,KAAK,GAAGsZ,IAAI,CAACtZ,KAAnB;AACA,UAAI2qC,IAAI,GAAGrxB,IAAI,CAAC8yB,MAAL,GAAcJ,YAAY,CAACntQ,MAAtC;AACA,UAAIuvQ,OAAO,GAAG,CAAd,CALwC,CAMxC;;AACA,aAAOA,OAAO,GAAGD,KAAK,CAACtvQ,MAAhB,IAA0B,CAACsvQ,KAAK,CAACC,OAAD,CAAvC,EAAkD;AAC9CzD,QAAAA,IAAI,IAAI3qC,KAAK,CAACouC,OAAD,CAAL,CAAevvQ,MAAvB;AACAuvQ,QAAAA,OAAO;AACV;;AACD,UAAIA,OAAO,GAAGD,KAAK,CAACtvQ,MAAhB,IAA0BqvQ,OAAO,KAAK,CAAtC,IAA2CvD,IAAI,KAAK,CAAxD,EAA2D;AACvDqD,QAAAA,iBAAiB,GAAG,IAApB;AACH,OAFD,MAGK;AACDC,QAAAA,sBAAsB;AACzB;;AACD,aAAOG,OAAO,GAAGD,KAAK,CAACtvQ,MAAvB,EAA+B;AAC3B,cAAMwvQ,IAAI,GAAGF,KAAK,CAACC,OAAD,CAAlB;AACA,cAAM/yQ,MAAM,GAAGgzQ,IAAI,CAACz7P,KAAL,CAAW2xF,IAA1B;AACA,cAAM+pK,UAAU,GAAGD,IAAI,CAACz7P,KAAL,CAAW0mO,IAA9B;AACA,cAAMi1B,SAAS,GAAGF,IAAI,CAACz7P,KAAL,CAAW47P,GAA7B;AACAj4Q,QAAAA,GAAG,CAACi0Q,SAAJ,CAAcnvQ,MAAM,CAACxE,GAArB,EAA0BwE,MAAM,CAAC2C,OAAjC,EACK0sQ,UADL,CACgBC,IADhB,EACsBtvQ,MAAM,CAACxE,GAD7B,EACkCy3Q,UADlC,EAC8CC,SAD9C;AAEA5D,QAAAA,IAAI,IAAI3qC,KAAK,CAACouC,OAAD,CAAL,CAAevvQ,MAAvB;AACAuvQ,QAAAA,OAAO,GARoB,CAS3B;;AACA,eAAOA,OAAO,GAAGD,KAAK,CAACtvQ,MAAhB,KAA2BwvQ,IAAI,KAAKF,KAAK,CAACC,OAAD,CAAd,IAA2B,CAACD,KAAK,CAACC,OAAD,CAA5D,CAAP,EAA+E;AAC3EzD,UAAAA,IAAI,IAAI3qC,KAAK,CAACouC,OAAD,CAAL,CAAevvQ,MAAvB;AACAuvQ,UAAAA,OAAO;AACV;AACJ;AACJ,KAhCD;AAiCA,WAAO73Q,GAAP;AACH;;AACDk4Q,EAAAA,oBAAoB,CAAClqO,KAAD,EAAQ;AACxB,WAAO,KAAKmoO,kBAAL,GAA0BnoO,KAAjC;AACH;;AACDmqO,EAAAA,MAAM,CAACp1B,IAAD,EAAOq1B,MAAP,EAAe;AACjB,UAAMC,WAAW,GAAG,KAAKjC,MAAL,CAAYrzB,IAAI,GAAG,KAAKozB,kBAAxB,CAApB;;AACA,QAAIkC,WAAJ,EAAiB;AACb,UAAIC,WAAW,GAAGF,MAAM,GAAGf,aAAa,CAACgB,WAAW,CAACxC,MAAb,CAAb,CAAkCvtQ,MAA7D;;AACA,WAAK,IAAIq0P,SAAS,GAAG,CAArB,EAAwBA,SAAS,GAAG0b,WAAW,CAAC5uC,KAAZ,CAAkBnhO,MAAtD,EAA8Dq0P,SAAS,EAAvE,EAA2E;AACvE,cAAMjzB,IAAI,GAAG2uC,WAAW,CAAC5uC,KAAZ,CAAkBkzB,SAAlB,CAAb;;AACA,YAAIjzB,IAAI,CAACphO,MAAL,GAAcgwQ,WAAlB,EAA+B;AAC3B,iBAAOD,WAAW,CAACtC,QAAZ,CAAqBpZ,SAArB,CAAP;AACH;;AACD2b,QAAAA,WAAW,IAAI5uC,IAAI,CAACphO,MAApB;AACH;AACJ;;AACD,WAAO,IAAP;AACH;AACD;AACJ;AACA;AACA;;;AACmB,MAAX8uQ,WAAW,GAAG;AACd,QAAI,KAAKhB,MAAL,CAAY9tQ,MAAZ,IAAsB,KAAK8tQ,MAAL,CAAY,KAAKA,MAAL,CAAY9tQ,MAAZ,GAAqB,CAAjC,EAAoCmhO,KAApC,CAA0CnhO,MAA1C,KAAqD,CAA/E,EAAkF;AAC9E,aAAO,KAAK8tQ,MAAL,CAAY7xQ,KAAZ,CAAkB,CAAlB,EAAqB,CAAC,CAAtB,CAAP;AACH;;AACD,WAAO,KAAK6xQ,MAAZ;AACH;;AAhJuB;;AAkJ5B,MAAMmC,sBAAN,CAA6B;AACzBr7Q,EAAAA,WAAW,CAACs7Q,sBAAD,EAAyB;AAChC,SAAKA,sBAAL,GAA8BA,sBAA9B;AACH;;AACDC,EAAAA,oBAAoB,CAACxY,IAAD,EAAOrnF,GAAP,EAAY;AAC5B,QAAIqnF,IAAI,CAACH,eAAL,KAAyB92F,SAA7B,EAAwC;AACpC;AACH;;AACD,SAAK,MAAM7C,OAAX,IAAsB85F,IAAI,CAACH,eAA3B,EAA4C;AACxC,UAAI35F,OAAO,YAAYw5F,YAAvB,EAAqC;AACjC/mF,QAAAA,GAAG,CAAC49F,KAAJ,CAAUvW,IAAV,EAAiB,KAAI95F,OAAO,CAACxoK,QAAR,EAAmB,IAAxC,EAA6CwoK,OAAO,CAACu5F,eAArD;AACH,OAFD,MAGK;AACD,YAAIv5F,OAAO,CAACs5F,SAAZ,EAAuB;AACnB7mF,UAAAA,GAAG,CAAC49F,KAAJ,CAAUvW,IAAV,EAAiB,MAAK95F,OAAO,CAACr/J,IAAK,KAAnC,EAAyCq/J,OAAO,CAACu5F,eAAjD;AACH,SAFD,MAGK;AACDv5F,UAAAA,OAAO,CAACr/J,IAAR,CAAamE,KAAb,CAAmB,IAAnB,EAAyB7L,OAAzB,CAAkC2jP,IAAD,IAAU;AACvCnqE,YAAAA,GAAG,CAAC09F,OAAJ,CAAYrW,IAAZ,EAAmB,MAAKld,IAAK,EAA7B;AACH,WAFD;AAGH;AACJ;AACJ;AACJ;;AACDsd,EAAAA,mBAAmB,CAACJ,IAAD,EAAOrnF,GAAP,EAAY;AAC3B,SAAK6/F,oBAAL,CAA0BxY,IAA1B,EAAgCrnF,GAAhC;AACAqnF,IAAAA,IAAI,CAAC3sF,IAAL,CAAUkmF,eAAV,CAA0B,IAA1B,EAAgC5gF,GAAhC;AACAA,IAAAA,GAAG,CAAC09F,OAAJ,CAAYrW,IAAZ,EAAkB,GAAlB;AACA,WAAO,IAAP;AACH;;AACDM,EAAAA,eAAe,CAACN,IAAD,EAAOrnF,GAAP,EAAY;AACvB,SAAK6/F,oBAAL,CAA0BxY,IAA1B,EAAgCrnF,GAAhC;AACAA,IAAAA,GAAG,CAAC49F,KAAJ,CAAUvW,IAAV,EAAiB,SAAjB;AACAA,IAAAA,IAAI,CAAC93P,KAAL,CAAWqxP,eAAX,CAA2B,IAA3B,EAAiC5gF,GAAjC;AACAA,IAAAA,GAAG,CAAC09F,OAAJ,CAAYrW,IAAZ,EAAkB,GAAlB;AACA,WAAO,IAAP;AACH;;AACDiB,EAAAA,WAAW,CAACjB,IAAD,EAAOrnF,GAAP,EAAY;AACnB,SAAK6/F,oBAAL,CAA0BxY,IAA1B,EAAgCrnF,GAAhC;AACAA,IAAAA,GAAG,CAAC49F,KAAJ,CAAUvW,IAAV,EAAiB,MAAjB;AACAA,IAAAA,IAAI,CAACznB,SAAL,CAAeghB,eAAf,CAA+B,IAA/B,EAAqC5gF,GAArC;AACAA,IAAAA,GAAG,CAAC49F,KAAJ,CAAUvW,IAAV,EAAiB,KAAjB;AACA,UAAMyY,WAAW,GAAGzY,IAAI,CAACvJ,SAAL,IAAkB,IAAlB,IAA0BuJ,IAAI,CAACvJ,SAAL,CAAepuP,MAAf,GAAwB,CAAtE;;AACA,QAAI23P,IAAI,CAACxJ,QAAL,CAAcnuP,MAAd,IAAwB,CAAxB,IAA6B,CAACowQ,WAAlC,EAA+C;AAC3C9/F,MAAAA,GAAG,CAAC49F,KAAJ,CAAUvW,IAAV,EAAiB,GAAjB;AACA,WAAK4B,kBAAL,CAAwB5B,IAAI,CAACxJ,QAA7B,EAAuC79E,GAAvC;AACAA,MAAAA,GAAG,CAACg+F,mBAAJ;AACAh+F,MAAAA,GAAG,CAAC49F,KAAJ,CAAUvW,IAAV,EAAiB,GAAjB;AACH,KALD,MAMK;AACDrnF,MAAAA,GAAG,CAAC09F,OAAJ;AACA19F,MAAAA,GAAG,CAACi+F,SAAJ;AACA,WAAKhV,kBAAL,CAAwB5B,IAAI,CAACxJ,QAA7B,EAAuC79E,GAAvC;AACAA,MAAAA,GAAG,CAACk+F,SAAJ;;AACA,UAAI4B,WAAJ,EAAiB;AACb9/F,QAAAA,GAAG,CAAC09F,OAAJ,CAAYrW,IAAZ,EAAmB,UAAnB;AACArnF,QAAAA,GAAG,CAACi+F,SAAJ;AACA,aAAKhV,kBAAL,CAAwB5B,IAAI,CAACvJ,SAA7B,EAAwC99E,GAAxC;AACAA,QAAAA,GAAG,CAACk+F,SAAJ;AACH;AACJ;;AACDl+F,IAAAA,GAAG,CAAC09F,OAAJ,CAAYrW,IAAZ,EAAmB,GAAnB;AACA,WAAO,IAAP;AACH;;AACDuB,EAAAA,cAAc,CAACvB,IAAD,EAAOrnF,GAAP,EAAY;AACtB,SAAK6/F,oBAAL,CAA0BxY,IAA1B,EAAgCrnF,GAAhC;AACAA,IAAAA,GAAG,CAAC49F,KAAJ,CAAUvW,IAAV,EAAiB,QAAjB;AACAA,IAAAA,IAAI,CAAC/hQ,KAAL,CAAWs7P,eAAX,CAA2B,IAA3B,EAAiC5gF,GAAjC;AACAA,IAAAA,GAAG,CAAC09F,OAAJ,CAAYrW,IAAZ,EAAmB,GAAnB;AACA,WAAO,IAAP;AACH;;AACDlG,EAAAA,iBAAiB,CAACzmF,IAAD,EAAOsF,GAAP,EAAY;AACzB,UAAM+/F,YAAY,GAAG//F,GAAG,CAAC69F,WAAJ,EAArB;;AACA,QAAI,CAACkC,YAAL,EAAmB;AACf//F,MAAAA,GAAG,CAAC49F,KAAJ,CAAUljG,IAAV,EAAgB,GAAhB;AACH;;AACDsF,IAAAA,GAAG,CAAC49F,KAAJ,CAAUljG,IAAV,EAAiB,GAAEA,IAAI,CAACz+J,IAAK,KAA7B;AACAy+J,IAAAA,IAAI,CAACnrK,KAAL,CAAWqxP,eAAX,CAA2B,IAA3B,EAAiC5gF,GAAjC;;AACA,QAAI,CAAC+/F,YAAL,EAAmB;AACf//F,MAAAA,GAAG,CAAC49F,KAAJ,CAAUljG,IAAV,EAAgB,GAAhB;AACH;;AACD,WAAO,IAAP;AACH;;AACDinF,EAAAA,iBAAiB,CAACjnF,IAAD,EAAOsF,GAAP,EAAY;AACzB,UAAM+/F,YAAY,GAAG//F,GAAG,CAAC69F,WAAJ,EAArB;;AACA,QAAI,CAACkC,YAAL,EAAmB;AACf//F,MAAAA,GAAG,CAAC49F,KAAJ,CAAUljG,IAAV,EAAgB,GAAhB;AACH;;AACDA,IAAAA,IAAI,CAACgnF,QAAL,CAAcd,eAAd,CAA8B,IAA9B,EAAoC5gF,GAApC;AACAA,IAAAA,GAAG,CAAC49F,KAAJ,CAAUljG,IAAV,EAAiB,GAAjB;AACAA,IAAAA,IAAI,CAAC55D,KAAL,CAAW8/I,eAAX,CAA2B,IAA3B,EAAiC5gF,GAAjC;AACAA,IAAAA,GAAG,CAAC49F,KAAJ,CAAUljG,IAAV,EAAiB,MAAjB;AACAA,IAAAA,IAAI,CAACnrK,KAAL,CAAWqxP,eAAX,CAA2B,IAA3B,EAAiC5gF,GAAjC;;AACA,QAAI,CAAC+/F,YAAL,EAAmB;AACf//F,MAAAA,GAAG,CAAC49F,KAAJ,CAAUljG,IAAV,EAAgB,GAAhB;AACH;;AACD,WAAO,IAAP;AACH;;AACDmnF,EAAAA,kBAAkB,CAACnnF,IAAD,EAAOsF,GAAP,EAAY;AAC1B,UAAM+/F,YAAY,GAAG//F,GAAG,CAAC69F,WAAJ,EAArB;;AACA,QAAI,CAACkC,YAAL,EAAmB;AACf//F,MAAAA,GAAG,CAAC49F,KAAJ,CAAUljG,IAAV,EAAgB,GAAhB;AACH;;AACDA,IAAAA,IAAI,CAACgnF,QAAL,CAAcd,eAAd,CAA8B,IAA9B,EAAoC5gF,GAApC;AACAA,IAAAA,GAAG,CAAC49F,KAAJ,CAAUljG,IAAV,EAAiB,IAAGA,IAAI,CAACz+J,IAAK,KAA9B;AACAy+J,IAAAA,IAAI,CAACnrK,KAAL,CAAWqxP,eAAX,CAA2B,IAA3B,EAAiC5gF,GAAjC;;AACA,QAAI,CAAC+/F,YAAL,EAAmB;AACf//F,MAAAA,GAAG,CAAC49F,KAAJ,CAAUljG,IAAV,EAAgB,GAAhB;AACH;;AACD,WAAO,IAAP;AACH;;AACDqnF,EAAAA,uBAAuB,CAACrnF,IAAD,EAAOsF,GAAP,EAAY;AAC/BtF,IAAAA,IAAI,CAAC3gJ,EAAL,CAAQ6mO,eAAR,CAAwB,IAAxB,EAA8B5gF,GAA9B;AACAA,IAAAA,GAAG,CAAC49F,KAAJ,CAAUljG,IAAV,EAAiB,GAAjB;AACA,SAAKsuF,mBAAL,CAAyBtuF,IAAI,CAAC9W,IAA9B,EAAoCoc,GAApC,EAAyC,GAAzC;AACAA,IAAAA,GAAG,CAAC49F,KAAJ,CAAUljG,IAAV,EAAiB,GAAjB;AACA,WAAO,IAAP;AACH;;AACDunF,EAAAA,uBAAuB,CAACvnF,IAAD,EAAOsF,GAAP,EAAY;AAC/BtF,IAAAA,IAAI,CAAC5mB,GAAL,CAAS8sG,eAAT,CAAyB,IAAzB,EAA+B5gF,GAA/B;AACAA,IAAAA,GAAG,CAAC49F,KAAJ,CAAUljG,IAAV,EAAgB,MAAMA,IAAI,CAACj2D,QAAL,CAAc5tF,QAAd,CAAuB,CAAvB,EAA0B2rO,OAAhD;;AACA,SAAK,IAAIjgQ,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGm4K,IAAI,CAACj2D,QAAL,CAAc5tF,QAAd,CAAuBnnB,MAA3C,EAAmDnN,CAAC,EAApD,EAAwD;AACpDy9K,MAAAA,GAAG,CAAC49F,KAAJ,CAAUljG,IAAV,EAAgB,IAAhB;AACAA,MAAAA,IAAI,CAACj2D,QAAL,CAAcqzD,WAAd,CAA0Bv1K,CAAC,GAAG,CAA9B,EAAiCq+P,eAAjC,CAAiD,IAAjD,EAAuD5gF,GAAvD;AACAA,MAAAA,GAAG,CAAC49F,KAAJ,CAAUljG,IAAV,EAAiB,IAAGA,IAAI,CAACj2D,QAAL,CAAc5tF,QAAd,CAAuBt0B,CAAvB,EAA0BigQ,OAAQ,EAAtD;AACH;;AACDxiF,IAAAA,GAAG,CAAC49F,KAAJ,CAAUljG,IAAV,EAAgB,GAAhB;AACA,WAAO,IAAP;AACH;;AACDwmF,EAAAA,oBAAoB,CAAC5lF,GAAD,EAAM0E,GAAN,EAAW;AAC3B,UAAM,IAAI7iK,KAAJ,CAAU,gDAAV,CAAN;AACH;;AACD6jP,EAAAA,eAAe,CAACtmF,IAAD,EAAOsF,GAAP,EAAY;AACvBA,IAAAA,GAAG,CAAC49F,KAAJ,CAAUljG,IAAV,EAAgB,SAAhB;AACAA,IAAAA,IAAI,CAACA,IAAL,CAAUkmF,eAAV,CAA0B,IAA1B,EAAgC5gF,GAAhC;AACH;;AACD6gF,EAAAA,gBAAgB,CAACvlF,GAAD,EAAM0E,GAAN,EAAW;AACvB,QAAIpK,OAAO,GAAG0F,GAAG,CAACr/J,IAAlB;;AACA,QAAIq/J,GAAG,CAAColF,OAAJ,IAAe,IAAnB,EAAyB;AACrB,cAAQplF,GAAG,CAAColF,OAAZ;AACI,aAAKF,UAAU,CAAC8F,KAAhB;AACI1wF,UAAAA,OAAO,GAAG,OAAV;AACA;;AACJ,aAAK4qF,UAAU,CAAC4F,IAAhB;AACIxwF,UAAAA,OAAO,GAAG,MAAV;AACA;;AACJ,aAAK4qF,UAAU,CAACgG,UAAhB;AACI5wF,UAAAA,OAAO,GAAGknG,iBAAiB,CAAC7gQ,IAA5B;AACA;;AACJ,aAAKukP,UAAU,CAACkG,UAAhB;AACI9wF,UAAAA,OAAO,GAAGmnG,iBAAiB,CAAC9gQ,IAA5B;AACA;;AACJ;AACI,gBAAM,IAAIkB,KAAJ,CAAW,4BAA2Bm+J,GAAG,CAAColF,OAAQ,EAAlD,CAAN;AAdR;AAgBH;;AACD1gF,IAAAA,GAAG,CAAC49F,KAAJ,CAAUtiG,GAAV,EAAe1F,OAAf;AACA,WAAO,IAAP;AACH;;AACDusF,EAAAA,oBAAoB,CAAC7mF,GAAD,EAAM0E,GAAN,EAAW;AAC3BA,IAAAA,GAAG,CAAC49F,KAAJ,CAAUtiG,GAAV,EAAgB,MAAhB;AACAA,IAAAA,GAAG,CAAC4mF,SAAJ,CAActB,eAAd,CAA8B,IAA9B,EAAoC5gF,GAApC;AACAA,IAAAA,GAAG,CAAC49F,KAAJ,CAAUtiG,GAAV,EAAgB,GAAhB;AACA,SAAK0tF,mBAAL,CAAyB1tF,GAAG,CAAC1X,IAA7B,EAAmCoc,GAAnC,EAAwC,GAAxC;AACAA,IAAAA,GAAG,CAAC49F,KAAJ,CAAUtiG,GAAV,EAAgB,GAAhB;AACA,WAAO,IAAP;AACH;;AACD+mF,EAAAA,gBAAgB,CAAC/mF,GAAD,EAAM0E,GAAN,EAAW;AACvB,UAAMzwK,KAAK,GAAG+rK,GAAG,CAAC/rK,KAAlB;;AACA,QAAI,OAAOA,KAAP,KAAiB,QAArB,EAA+B;AAC3BywK,MAAAA,GAAG,CAAC49F,KAAJ,CAAUtiG,GAAV,EAAe0kG,gBAAgB,CAACzwQ,KAAD,EAAQ,KAAKqwQ,sBAAb,CAA/B;AACH,KAFD,MAGK;AACD5/F,MAAAA,GAAG,CAAC49F,KAAJ,CAAUtiG,GAAV,EAAgB,GAAE/rK,KAAM,EAAxB;AACH;;AACD,WAAO,IAAP;AACH;;AACD2zP,EAAAA,oBAAoB,CAAC5nF,GAAD,EAAM0E,GAAN,EAAW;AAC3B,UAAM7zB,IAAI,GAAGmvB,GAAG,CAAC6nF,iBAAJ,EAAb;AACAnjF,IAAAA,GAAG,CAAC49F,KAAJ,CAAUtiG,GAAV,EAAe,gBAAgBnvB,IAAI,CAACp6E,GAApC;;AACA,SAAK,IAAIxvE,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAG+4K,GAAG,CAAC0nF,YAAJ,CAAiBtzP,MAArC,EAA6CnN,CAAC,EAA9C,EAAkD;AAC9Cy9K,MAAAA,GAAG,CAAC49F,KAAJ,CAAUtiG,GAAV,EAAe,IAAf;AACAA,MAAAA,GAAG,CAACxD,WAAJ,CAAgBv1K,CAAC,GAAG,CAApB,EAAuBq+P,eAAvB,CAAuC,IAAvC,EAA6C5gF,GAA7C;AACAA,MAAAA,GAAG,CAAC49F,KAAJ,CAAUtiG,GAAV,EAAgB,IAAGA,GAAG,CAACwoF,yBAAJ,CAA8BvhQ,CAA9B,EAAiCwvE,GAAI,EAAxD;AACH;;AACDiuG,IAAAA,GAAG,CAAC49F,KAAJ,CAAUtiG,GAAV,EAAe,GAAf;AACA,WAAO,IAAP;AACH;;AACDopF,EAAAA,oBAAoB,CAACppF,GAAD,EAAM0E,GAAN,EAAW;AAC3BA,IAAAA,GAAG,CAAC49F,KAAJ,CAAUtiG,GAAV,EAAgB,GAAhB;AACAA,IAAAA,GAAG,CAACskE,SAAJ,CAAcghB,eAAd,CAA8B,IAA9B,EAAoC5gF,GAApC;AACAA,IAAAA,GAAG,CAAC49F,KAAJ,CAAUtiG,GAAV,EAAe,IAAf;AACAA,IAAAA,GAAG,CAACuiF,QAAJ,CAAa+C,eAAb,CAA6B,IAA7B,EAAmC5gF,GAAnC;AACAA,IAAAA,GAAG,CAAC49F,KAAJ,CAAUtiG,GAAV,EAAe,IAAf;AACAA,IAAAA,GAAG,CAACwiF,SAAJ,CAAc8C,eAAd,CAA8B,IAA9B,EAAoC5gF,GAApC;AACAA,IAAAA,GAAG,CAAC49F,KAAJ,CAAUtiG,GAAV,EAAgB,GAAhB;AACA,WAAO,IAAP;AACH;;AACDspF,EAAAA,YAAY,CAACtpF,GAAD,EAAM0E,GAAN,EAAW;AACnBA,IAAAA,GAAG,CAAC49F,KAAJ,CAAUtiG,GAAV,EAAe,GAAf;AACAA,IAAAA,GAAG,CAACskE,SAAJ,CAAcghB,eAAd,CAA8B,IAA9B,EAAoC5gF,GAApC;AACA,WAAO,IAAP;AACH;;AACD8kF,EAAAA,sBAAsB,CAACxpF,GAAD,EAAM0E,GAAN,EAAW;AAC7B1E,IAAAA,GAAG,CAACskE,SAAJ,CAAcghB,eAAd,CAA8B,IAA9B,EAAoC5gF,GAApC;AACA,WAAO,IAAP;AACH;;AACDulF,EAAAA,sBAAsB,CAACjqF,GAAD,EAAM0E,GAAN,EAAW;AAC7B,QAAIigG,KAAJ;;AACA,YAAQ3kG,GAAG,CAACgqF,QAAZ;AACI,WAAK5I,aAAa,CAACiC,IAAnB;AACIshB,QAAAA,KAAK,GAAG,GAAR;AACA;;AACJ,WAAKvjB,aAAa,CAAC+B,KAAnB;AACIwhB,QAAAA,KAAK,GAAG,GAAR;AACA;;AACJ;AACI,cAAM,IAAI9iQ,KAAJ,CAAW,oBAAmBm+J,GAAG,CAACgqF,QAAS,EAA3C,CAAN;AARR;;AAUA,QAAIhqF,GAAG,CAAC+jF,MAAR,EACIr/E,GAAG,CAAC49F,KAAJ,CAAUtiG,GAAV,EAAgB,GAAhB;AACJ0E,IAAAA,GAAG,CAAC49F,KAAJ,CAAUtiG,GAAV,EAAe2kG,KAAf;AACA3kG,IAAAA,GAAG,CAACZ,IAAJ,CAASkmF,eAAT,CAAyB,IAAzB,EAA+B5gF,GAA/B;AACA,QAAI1E,GAAG,CAAC+jF,MAAR,EACIr/E,GAAG,CAAC49F,KAAJ,CAAUtiG,GAAV,EAAgB,GAAhB;AACJ,WAAO,IAAP;AACH;;AACDkqF,EAAAA,uBAAuB,CAAClqF,GAAD,EAAM0E,GAAN,EAAW;AAC9B,QAAIigG,KAAJ;;AACA,YAAQ3kG,GAAG,CAACgqF,QAAZ;AACI,WAAK3I,cAAc,CAACsB,MAApB;AACIgiB,QAAAA,KAAK,GAAG,IAAR;AACA;;AACJ,WAAKtjB,cAAc,CAAC0B,SAApB;AACI4hB,QAAAA,KAAK,GAAG,KAAR;AACA;;AACJ,WAAKtjB,cAAc,CAACwB,SAApB;AACI8hB,QAAAA,KAAK,GAAG,IAAR;AACA;;AACJ,WAAKtjB,cAAc,CAAC4B,YAApB;AACI0hB,QAAAA,KAAK,GAAG,KAAR;AACA;;AACJ,WAAKtjB,cAAc,CAACwC,GAApB;AACI8gB,QAAAA,KAAK,GAAG,IAAR;AACA;;AACJ,WAAKtjB,cAAc,CAAC2C,UAApB;AACI2gB,QAAAA,KAAK,GAAG,GAAR;AACA;;AACJ,WAAKtjB,cAAc,CAAC6C,EAApB;AACIygB,QAAAA,KAAK,GAAG,IAAR;AACA;;AACJ,WAAKtjB,cAAc,CAACgC,IAApB;AACIshB,QAAAA,KAAK,GAAG,GAAR;AACA;;AACJ,WAAKtjB,cAAc,CAAC8B,KAApB;AACIwhB,QAAAA,KAAK,GAAG,GAAR;AACA;;AACJ,WAAKtjB,cAAc,CAACkC,MAApB;AACIohB,QAAAA,KAAK,GAAG,GAAR;AACA;;AACJ,WAAKtjB,cAAc,CAACoC,QAApB;AACIkhB,QAAAA,KAAK,GAAG,GAAR;AACA;;AACJ,WAAKtjB,cAAc,CAACsC,MAApB;AACIghB,QAAAA,KAAK,GAAG,GAAR;AACA;;AACJ,WAAKtjB,cAAc,CAAC+C,KAApB;AACIugB,QAAAA,KAAK,GAAG,GAAR;AACA;;AACJ,WAAKtjB,cAAc,CAACiD,WAApB;AACIqgB,QAAAA,KAAK,GAAG,IAAR;AACA;;AACJ,WAAKtjB,cAAc,CAACmD,MAApB;AACImgB,QAAAA,KAAK,GAAG,GAAR;AACA;;AACJ,WAAKtjB,cAAc,CAACqD,YAApB;AACIigB,QAAAA,KAAK,GAAG,IAAR;AACA;;AACJ,WAAKtjB,cAAc,CAAC0D,eAApB;AACI4f,QAAAA,KAAK,GAAG,IAAR;AACA;;AACJ;AACI,cAAM,IAAI9iQ,KAAJ,CAAW,oBAAmBm+J,GAAG,CAACgqF,QAAS,EAA3C,CAAN;AArDR;;AAuDA,QAAIhqF,GAAG,CAAC+jF,MAAR,EACIr/E,GAAG,CAAC49F,KAAJ,CAAUtiG,GAAV,EAAgB,GAAhB;AACJA,IAAAA,GAAG,CAAC9C,GAAJ,CAAQooF,eAAR,CAAwB,IAAxB,EAA8B5gF,GAA9B;AACAA,IAAAA,GAAG,CAAC49F,KAAJ,CAAUtiG,GAAV,EAAgB,IAAG2kG,KAAM,GAAzB;AACA3kG,IAAAA,GAAG,CAAC7C,GAAJ,CAAQmoF,eAAR,CAAwB,IAAxB,EAA8B5gF,GAA9B;AACA,QAAI1E,GAAG,CAAC+jF,MAAR,EACIr/E,GAAG,CAAC49F,KAAJ,CAAUtiG,GAAV,EAAgB,GAAhB;AACJ,WAAO,IAAP;AACH;;AACDmqF,EAAAA,iBAAiB,CAACnqF,GAAD,EAAM0E,GAAN,EAAW;AACxB1E,IAAAA,GAAG,CAAComF,QAAJ,CAAad,eAAb,CAA6B,IAA7B,EAAmC5gF,GAAnC;AACAA,IAAAA,GAAG,CAAC49F,KAAJ,CAAUtiG,GAAV,EAAgB,GAAhB;AACA0E,IAAAA,GAAG,CAAC49F,KAAJ,CAAUtiG,GAAV,EAAeA,GAAG,CAACr/J,IAAnB;AACA,WAAO,IAAP;AACH;;AACDypP,EAAAA,gBAAgB,CAACpqF,GAAD,EAAM0E,GAAN,EAAW;AACvB1E,IAAAA,GAAG,CAAComF,QAAJ,CAAad,eAAb,CAA6B,IAA7B,EAAmC5gF,GAAnC;AACAA,IAAAA,GAAG,CAAC49F,KAAJ,CAAUtiG,GAAV,EAAgB,GAAhB;AACAA,IAAAA,GAAG,CAACx6D,KAAJ,CAAU8/I,eAAV,CAA0B,IAA1B,EAAgC5gF,GAAhC;AACAA,IAAAA,GAAG,CAAC49F,KAAJ,CAAUtiG,GAAV,EAAgB,GAAhB;AACA,WAAO,IAAP;AACH;;AACDsqF,EAAAA,qBAAqB,CAACtqF,GAAD,EAAM0E,GAAN,EAAW;AAC5BA,IAAAA,GAAG,CAAC49F,KAAJ,CAAUtiG,GAAV,EAAgB,GAAhB;AACA,SAAK0tF,mBAAL,CAAyB1tF,GAAG,CAAC3uJ,OAA7B,EAAsCqzJ,GAAtC,EAA2C,GAA3C;AACAA,IAAAA,GAAG,CAAC49F,KAAJ,CAAUtiG,GAAV,EAAgB,GAAhB;AACA,WAAO,IAAP;AACH;;AACD0qF,EAAAA,mBAAmB,CAAC1qF,GAAD,EAAM0E,GAAN,EAAW;AAC1BA,IAAAA,GAAG,CAAC49F,KAAJ,CAAUtiG,GAAV,EAAgB,GAAhB;AACA,SAAK4kG,eAAL,CAAqB37G,KAAK,IAAI;AAC1Byb,MAAAA,GAAG,CAAC49F,KAAJ,CAAUtiG,GAAV,EAAgB,GAAE0kG,gBAAgB,CAACz7G,KAAK,CAAC92J,GAAP,EAAY,KAAKmyQ,sBAAjB,EAAyCr7G,KAAK,CAACuhG,MAA/C,CAAuD,GAAzF;AACAvhG,MAAAA,KAAK,CAACh1J,KAAN,CAAYqxP,eAAZ,CAA4B,IAA5B,EAAkC5gF,GAAlC;AACH,KAHD,EAGG1E,GAAG,CAAC3uJ,OAHP,EAGgBqzJ,GAHhB,EAGqB,GAHrB;AAIAA,IAAAA,GAAG,CAAC49F,KAAJ,CAAUtiG,GAAV,EAAgB,GAAhB;AACA,WAAO,IAAP;AACH;;AACD4qF,EAAAA,cAAc,CAAC5qF,GAAD,EAAM0E,GAAN,EAAW;AACrBA,IAAAA,GAAG,CAAC49F,KAAJ,CAAUtiG,GAAV,EAAe,GAAf;AACA,SAAK0tF,mBAAL,CAAyB1tF,GAAG,CAACu1D,KAA7B,EAAoC7wD,GAApC,EAAyC,GAAzC;AACAA,IAAAA,GAAG,CAAC49F,KAAJ,CAAUtiG,GAAV,EAAe,GAAf;AACA,WAAO,IAAP;AACH;;AACD0tF,EAAAA,mBAAmB,CAAClxF,WAAD,EAAckI,GAAd,EAAmB9H,SAAnB,EAA8B;AAC7C,SAAKgoG,eAAL,CAAqBxlG,IAAI,IAAIA,IAAI,CAACkmF,eAAL,CAAqB,IAArB,EAA2B5gF,GAA3B,CAA7B,EAA8DlI,WAA9D,EAA2EkI,GAA3E,EAAgF9H,SAAhF;AACH;;AACDgoG,EAAAA,eAAe,CAAC99K,OAAD,EAAU01E,WAAV,EAAuBkI,GAAvB,EAA4B9H,SAA5B,EAAuC;AAClD,QAAIioG,iBAAiB,GAAG,KAAxB;;AACA,SAAK,IAAI59Q,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGu1K,WAAW,CAACpoK,MAAhC,EAAwCnN,CAAC,EAAzC,EAA6C;AACzC,UAAIA,CAAC,GAAG,CAAR,EAAW;AACP,YAAIy9K,GAAG,CAAC89F,UAAJ,KAAmB,EAAvB,EAA2B;AACvB99F,UAAAA,GAAG,CAAC49F,KAAJ,CAAU,IAAV,EAAgB1lG,SAAhB,EAA2B,IAA3B;;AACA,cAAI,CAACioG,iBAAL,EAAwB;AACpB;AACAngG,YAAAA,GAAG,CAACi+F,SAAJ;AACAj+F,YAAAA,GAAG,CAACi+F,SAAJ;AACAkC,YAAAA,iBAAiB,GAAG,IAApB;AACH;AACJ,SARD,MASK;AACDngG,UAAAA,GAAG,CAAC49F,KAAJ,CAAU,IAAV,EAAgB1lG,SAAhB,EAA2B,KAA3B;AACH;AACJ;;AACD91E,MAAAA,OAAO,CAAC01E,WAAW,CAACv1K,CAAD,CAAZ,CAAP;AACH;;AACD,QAAI49Q,iBAAJ,EAAuB;AACnB;AACAngG,MAAAA,GAAG,CAACk+F,SAAJ;AACAl+F,MAAAA,GAAG,CAACk+F,SAAJ;AACH;AACJ;;AACDjV,EAAAA,kBAAkB,CAAC/D,UAAD,EAAallF,GAAb,EAAkB;AAChCklF,IAAAA,UAAU,CAAC1+P,OAAX,CAAoB6gQ,IAAD,IAAUA,IAAI,CAACC,cAAL,CAAoB,IAApB,EAA0BtnF,GAA1B,CAA7B;AACH;;AArWwB;;AAuW7B,SAASggG,gBAAT,CAA0BppL,KAA1B,EAAiCwpL,YAAjC,EAA+CC,WAAW,GAAG,IAA7D,EAAmE;AAC/D,MAAIzpL,KAAK,IAAI,IAAb,EAAmB;AACf,WAAO,IAAP;AACH;;AACD,QAAMnrE,IAAI,GAAGmrE,KAAK,CAACxkF,OAAN,CAAcuqQ,8BAAd,EAA8C,CAAC,GAAG/0P,KAAJ,KAAc;AACrE,QAAIA,KAAK,CAAC,CAAD,CAAL,IAAY,GAAhB,EAAqB;AACjB,aAAOw4P,YAAY,GAAG,KAAH,GAAW,GAA9B;AACH,KAFD,MAGK,IAAIx4P,KAAK,CAAC,CAAD,CAAL,IAAY,IAAhB,EAAsB;AACvB,aAAO,KAAP;AACH,KAFI,MAGA,IAAIA,KAAK,CAAC,CAAD,CAAL,IAAY,IAAhB,EAAsB;AACvB,aAAO,KAAP;AACH,KAFI,MAGA;AACD,aAAQ,KAAIA,KAAK,CAAC,CAAD,CAAI,EAArB;AACH;AACJ,GAbY,CAAb;AAcA,QAAM04P,cAAc,GAAGD,WAAW,IAAI,CAACzD,oBAAoB,CAACtzP,IAArB,CAA0BmC,IAA1B,CAAvC;AACA,SAAO60P,cAAc,GAAI,IAAG70P,IAAK,GAAZ,GAAiBA,IAAtC;AACH;;AACD,SAASgzP,aAAT,CAAuBrpO,KAAvB,EAA8B;AAC1B,MAAIi5L,GAAG,GAAG,EAAV;;AACA,OAAK,IAAI9rO,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAG6yC,KAApB,EAA2B7yC,CAAC,EAA5B,EAAgC;AAC5B8rO,IAAAA,GAAG,IAAIwuC,YAAP;AACH;;AACD,SAAOxuC,GAAP;AACH;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASkyC,kBAAT,CAA4Bn7Q,IAA5B,EAAkCo7Q,SAAlC,EAA6C;AACzC,MAAIA,SAAS,KAAK,CAAlB,EAAqB;AACjB,WAAOhW,cAAc,CAACplQ,IAAD,CAArB;AACH;;AACD,QAAMgsE,MAAM,GAAG,EAAf;;AACA,OAAK,IAAI7uE,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGi+Q,SAApB,EAA+Bj+Q,CAAC,EAAhC,EAAoC;AAChC6uE,IAAAA,MAAM,CAACzqE,IAAP,CAAYm1P,YAAZ;AACH;;AACD,SAAO0O,cAAc,CAACplQ,IAAD,EAAOgrK,SAAP,EAAkBh/F,MAAlB,CAArB;AACH;;AACD,MAAMqvM,qBAAqB,GAAG,GAA9B;;AACA,SAASC,4BAAT,CAAsCzkQ,IAAtC,EAA4C;AACxC,SAAQ,GAAEwkQ,qBAAsB,GAAExkQ,IAAK,EAAvC;AACH;;AACD,SAAS0kQ,4BAAT,CAAsC1kQ,IAAtC,EAA4CkvK,KAA5C,EAAmD;AAC/C,SAAQ,GAAEs1F,qBAAsB,GAAExkQ,IAAK,IAAGkvK,KAAM,EAAhD;AACH;;AACD,SAASy1F,2BAAT,CAAqCC,QAArC,EAA+C5kQ,IAA/C,EAAqD;AACjD,QAAM6kQ,WAAW,GAAGd,gBAAgB,CAAC/jQ,IAAD,EAAO,KAAP,EAAc,KAAd,CAApC;AACA,SAAO6kQ,WAAW,KAAK7kQ,IAAhB,GAAwB,GAAE4kQ,QAAS,IAAGC,WAAY,GAAlD,GAAwD,GAAED,QAAS,IAAG5kQ,IAAK,EAAlF;AACH;;AACD,SAAS8kQ,oCAAT,CAA8C9kQ,IAA9C,EAAoDkvK,KAApD,EAA2D;AACvD,SAAQ,aAAYlvK,IAAK,IAAGkvK,KAAM,EAAlC;AACH;;AACD,SAAS61F,wBAAT,CAAkCtmG,IAAlC,EAAwC;AACpC,SAAOumG,iBAAiB,CAAC,WAAD,EAAcvmG,IAAd,CAAxB;AACH;;AACD,SAASwmG,wBAAT,CAAkCxmG,IAAlC,EAAwC;AACpC,SAAOumG,iBAAiB,CAAC,WAAD,EAAcvmG,IAAd,CAAxB;AACH;;AACD,SAASumG,iBAAT,CAA2BE,KAA3B,EAAkCzmG,IAAlC,EAAwC;AACpC,QAAM0mG,SAAS,GAAG,IAAI/c,YAAJ,CAAiB;AAAEpoP,IAAAA,IAAI,EAAEklQ,KAAR;AAAe7c,IAAAA,UAAU,EAAE;AAA3B,GAAjB,CAAlB;AACA,QAAM+c,eAAe,GAAG,IAAIrjB,kBAAJ,CAAuBrB,cAAc,CAAC0B,SAAtC,EAAiD,IAAI0C,UAAJ,CAAeqgB,SAAf,CAAjD,EAA4EjW,OAAO,CAAC,WAAD,CAAnF,CAAxB;AACA,QAAMmW,oBAAoB,GAAG,IAAItjB,kBAAJ,CAAuBrB,cAAc,CAAC6C,EAAtC,EAA0C6hB,eAA1C,EAA2DD,SAA3D;AAAsE;AAAWhxG,EAAAA,SAAjF;AAC7B;AAAiBA,EAAAA,SADY,EACD,IADC,CAA7B;AAEA,SAAO,IAAI4tF,kBAAJ,CAAuBrB,cAAc,CAACwC,GAAtC,EAA2CmiB,oBAA3C,EAAiE5mG,IAAjE,CAAP;AACH;;AACD,SAAS6mG,aAAT,CAAuBhyQ,KAAvB,EAA8B;AAC1B,QAAMiyQ,OAAO,GAAG,IAAIvgB,eAAJ,CAAoB1xP,KAApB,CAAhB;AACA,SAAO;AAAEA,IAAAA,KAAK,EAAEiyQ,OAAT;AAAkBp8Q,IAAAA,IAAI,EAAEo8Q;AAAxB,GAAP;AACH;;AACD,SAASC,WAAT,CAAqBC,IAArB,EAA2BC,oBAA3B,EAAiD;AAC7C,QAAM5gO,MAAM,GAAG2pN,UAAU,CAACgX,IAAI,CAACt6Q,GAAL,CAASuhJ,GAAG,IAAIA,GAAG,CAACp5I,KAApB,CAAD,CAAzB;AACA,SAAOoyQ,oBAAoB,GAAG5nP,EAAE,CAAC,EAAD,EAAK,CAAC,IAAI2tO,eAAJ,CAAoB3mN,MAApB,CAAD,CAAL,CAAL,GAA2CA,MAAtE;AACH;;AACD,SAAS6gO,+BAAT,CAAyCvzQ,UAAzC,EAAqDktN,UAArD,EAAiE;AAC7D,SAAO;AAAEltN,IAAAA,UAAF;AAAcktN,IAAAA;AAAd,GAAP;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASsmD,oCAAT,CAA8C;AAAExzQ,EAAAA,UAAF;AAAcktN,EAAAA;AAAd,CAA9C,EAA0E;AACtE,UAAQA,UAAR;AACI,SAAK;AAAE;AAAP;AACA,SAAK;AAAE;AAAP;AACI,aAAOltN,UAAP;;AACJ,SAAK;AAAE;AAAP;AACI,aAAOyzQ,kBAAkB,CAACzzQ,UAAD,CAAzB;AALR;AAOH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASyzQ,kBAAT,CAA4BpnG,IAA5B,EAAkC;AAC9B,SAAO2vF,UAAU,CAACoE,aAAa,CAAClzC,UAAf,CAAV,CAAqCiiC,MAArC,CAA4C,CAACzjO,EAAE,CAAC,EAAD,EAAK,CAAC,IAAI2tO,eAAJ,CAAoBhtF,IAApB,CAAD,CAAL,CAAH,CAA5C,CAAP;AACH;;AAED,IAAIqnG,qBAAJ;;AACA,CAAC,UAAUA,qBAAV,EAAiC;AAC9BA,EAAAA,qBAAqB,CAACA,qBAAqB,CAAC,OAAD,CAArB,GAAiC,CAAlC,CAArB,GAA4D,OAA5D;AACAA,EAAAA,qBAAqB,CAACA,qBAAqB,CAAC,UAAD,CAArB,GAAoC,CAArC,CAArB,GAA+D,UAA/D;AACH,CAHD,EAGGA,qBAAqB,KAAKA,qBAAqB,GAAG,EAA7B,CAHxB;;AAIA,IAAIC,eAAJ;;AACA,CAAC,UAAU7L,aAAV,EAAyB;AACtBA,EAAAA,aAAa,CAACA,aAAa,CAAC,WAAD,CAAb,GAA6B,CAA9B,CAAb,GAAgD,WAAhD;AACAA,EAAAA,aAAa,CAACA,aAAa,CAAC,WAAD,CAAb,GAA6B,CAA9B,CAAb,GAAgD,WAAhD;AACAA,EAAAA,aAAa,CAACA,aAAa,CAAC,YAAD,CAAb,GAA8B,CAA/B,CAAb,GAAiD,YAAjD;AACAA,EAAAA,aAAa,CAACA,aAAa,CAAC,MAAD,CAAb,GAAwB,CAAzB,CAAb,GAA2C,MAA3C;AACAA,EAAAA,aAAa,CAACA,aAAa,CAAC,UAAD,CAAb,GAA4B,CAA7B,CAAb,GAA+C,UAA/C;AACH,CAND,EAMG6L,eAAe,KAAKA,eAAe,GAAG,EAAvB,CANlB;AAOA;AACA;AACA;;;AACA,SAASC,sBAAT,CAAgCC,IAAhC,EAAsC;AAClC,QAAMngR,CAAC,GAAGqoQ,QAAQ,CAAC,GAAD,CAAlB;AACA,MAAI+X,cAAc,GAAG,IAArB,CAFkC,CAGlC;AACA;AACA;AACA;AACA;;AACA,QAAMC,WAAW,GAAG,CAACC,0BAA0B,CAACH,IAAD,CAA3B,GAChB,IAAIlkB,kBAAJ,CAAuBrB,cAAc,CAAC6C,EAAtC,EAA0Cz9P,CAA1C,EAA6CmgR,IAAI,CAACI,YAAlD,CADgB,GAEhBvgR,CAFJ;AAGA,MAAIwgR,QAAQ,GAAG,IAAf;;AACA,MAAIL,IAAI,CAAC1tD,IAAL,KAAc,IAAlB,EAAwB;AACpB;AACA,QAAI0tD,IAAI,CAAC1tD,IAAL,KAAc,SAAlB,EAA6B;AACzB+tD,MAAAA,QAAQ,GAAG,IAAI5kB,eAAJ,CAAoBykB,WAApB,EAAiCI,kBAAkB,CAACN,IAAI,CAAC1tD,IAAN,EAAY0tD,IAAI,CAACp4Q,MAAjB,CAAnD,CAAX;AACH;AACJ,GALD,MAMK;AACD;AACAq4Q,IAAAA,cAAc,GAAG/X,QAAQ,CAAE,IAAG8X,IAAI,CAACjmQ,IAAK,cAAf,CAAzB;AACAsmQ,IAAAA,QAAQ,GAAGJ,cAAc,CAAC3kB,MAAf,CAAsB,CAAC4kB,WAAD,CAAtB,CAAX;AACH;;AACD,QAAM32P,IAAI,GAAG,EAAb;AACA,MAAIg3P,OAAO,GAAG,IAAd;;AACA,WAASC,sBAAT,CAAgCC,WAAhC,EAA6C;AACzC,UAAM7gR,CAAC,GAAGsoQ,QAAQ,CAAC,GAAD,CAAlB;AACA3+O,IAAAA,IAAI,CAAC9kB,IAAL,CAAU7E,CAAC,CAACyF,GAAF,CAAMo/P,SAAN,EAAiBvF,UAAjB,EAAV;AACA,UAAMwhB,QAAQ,GAAGL,QAAQ,KAAK,IAAb,GAAoBzgR,CAAC,CAACyF,GAAF,CAAMg7Q,QAAN,EAAgBjiB,MAAhB,EAApB,GACb+J,UAAU,CAACoE,aAAa,CAAC2G,cAAf,CAAV,CAAyC5X,MAAzC,CAAgD,EAAhD,EAAoD8C,MAApD,EADJ;AAEA70O,IAAAA,IAAI,CAAC9kB,IAAL,CAAUokQ,MAAM,CAAChpQ,CAAD,EAAI,CAAC6gR,QAAD,CAAJ,EAAgB,CAAC9gR,CAAC,CAACyF,GAAF,CAAMo7Q,WAAN,EAAmBriB,MAAnB,EAAD,CAAhB,CAAhB;AACA,WAAOx+P,CAAP;AACH;;AACD,MAAIugR,0BAA0B,CAACH,IAAD,CAA9B,EAAsC;AAClC;AACA;AACA,UAAMW,YAAY,GAAGL,kBAAkB,CAACN,IAAI,CAACY,YAAN,EAAoBZ,IAAI,CAACp4Q,MAAzB,CAAvC,CAHkC,CAIlC;;AACA,UAAMi5Q,WAAW,GAAG,KAAKb,IAAI,CAACc,YAAL,KAAsBjB,qBAAqB,CAACkB,KAA5C,GACrBtlB,eADqB,GAErBF,kBAFgB,EAEIykB,IAAI,CAACgB,QAFT,EAEmBL,YAFnB,CAApB;AAGAJ,IAAAA,OAAO,GAAGC,sBAAsB,CAACK,WAAD,CAAhC;AACH,GATD,MAUK,IAAII,2BAA2B,CAACjB,IAAD,CAA/B,EAAuC;AACxC;AACAO,IAAAA,OAAO,GAAGC,sBAAsB,CAACR,IAAI,CAAC7zQ,UAAN,CAAhC;AACH,GAHI,MAIA;AACDo0Q,IAAAA,OAAO,GAAGF,QAAV;AACH;;AACD,MAAIE,OAAO,KAAK,IAAhB,EAAsB;AAClB;AACAh3P,IAAAA,IAAI,CAAC9kB,IAAL,CAAU0jQ,UAAU,CAACoE,aAAa,CAAC2G,cAAf,CAAV,CAAyC5X,MAAzC,CAAgD,EAAhD,EAAoD8C,MAApD,EAAV;AACH,GAHD,MAIK,IAAI6hB,cAAc,KAAK,IAAvB,EAA6B;AAC9B;AACA,UAAMiB,uBAAuB,GAAG/Y,UAAU,CAACoE,aAAa,CAACoJ,mBAAf,CAAV,CAA8Cra,MAA9C,CAAqD,CAAC0kB,IAAI,CAACI,YAAN,CAArD,CAAhC,CAF8B,CAG9B;;AACA,UAAMe,WAAW,GAAG,IAAIrlB,kBAAJ,CAAuBrB,cAAc,CAAC6C,EAAtC,EAA0C2iB,cAA1C,EAA0DA,cAAc,CAAC56Q,GAAf,CAAmB67Q,uBAAnB,CAA1D,CAApB;AACA33P,IAAAA,IAAI,CAAC9kB,IAAL,CAAU,IAAI+gQ,eAAJ,CAAoB2b,WAAW,CAAC7lB,MAAZ,CAAmB,CAAC4kB,WAAD,CAAnB,CAApB,CAAV;AACH,GANI,MAOA;AACD;AACA32P,IAAAA,IAAI,CAAC9kB,IAAL,CAAU,IAAI+gQ,eAAJ,CAAoB+a,OAApB,CAAV;AACH;;AACD,MAAIa,SAAS,GAAGvpP,EAAE,CAAC,CAAC,IAAIirO,OAAJ,CAAY,GAAZ,EAAiBlJ,YAAjB,CAAD,CAAD,EAAmCrwO,IAAnC,EAAyCuwO,aAAzC,EAAwD5rF,SAAxD,EAAoE,GAAE8xG,IAAI,CAACjmQ,IAAK,UAAhF,CAAlB;;AACA,MAAIkmQ,cAAc,KAAK,IAAvB,EAA6B;AACzB;AACA;AACAmB,IAAAA,SAAS,GAAGvpP,EAAE,CAAC,EAAD,EAAK,CACf,IAAIsnO,cAAJ,CAAmB8gB,cAAc,CAAClmQ,IAAlC,CADe,EAC0B,IAAIyrP,eAAJ,CAAoB4b,SAApB,CAD1B,CAAL,CAAF,CAET9lB,MAFS,CAEF,EAFE;AAEE;AAAiBptF,IAAAA,SAFnB;AAE8B;AAAW,QAFzC,CAAZ;AAGH;;AACD,SAAO;AACH/hK,IAAAA,UAAU,EAAEi1Q,SADT;AAEHpe,IAAAA,UAAU,EAAE,EAFT;AAGH9/P,IAAAA,IAAI,EAAEm+Q,iBAAiB,CAACrB,IAAD;AAHpB,GAAP;AAKH;;AACD,SAASqB,iBAAT,CAA2BrB,IAA3B,EAAiC;AAC7B,QAAMsB,YAAY,GAAGtB,IAAI,CAAC1tD,IAAL,KAAc,IAAd,IAAsB0tD,IAAI,CAAC1tD,IAAL,KAAc,SAApC,GAAgDivD,kBAAkB,CAACvB,IAAI,CAAC1tD,IAAN,CAAlE,GAAgFioC,SAArG;AACA,SAAO+N,cAAc,CAACH,UAAU,CAACoE,aAAa,CAACwH,kBAAf,EAAmC,CAACsK,kBAAkB,CAAC2B,IAAI,CAAC98Q,IAAL,CAAUA,IAAX,EAAiB88Q,IAAI,CAACwB,iBAAtB,CAAnB,EAA6DF,YAA7D,CAAnC,CAAX,CAArB;AACH;;AACD,SAAShB,kBAAT,CAA4BhuD,IAA5B,EAAkC1qN,MAAlC,EAA0C;AACtC,SAAO0qN,IAAI,CAACptN,GAAL,CAAS,CAACu8Q,GAAD,EAAM7iK,KAAN,KAAgB8iK,uBAAuB,CAACD,GAAD,EAAM75Q,MAAN,EAAcg3G,KAAd,CAAhD,CAAP;AACH;;AACD,SAAS8iK,uBAAT,CAAiCD,GAAjC,EAAsC75Q,MAAtC,EAA8Cg3G,KAA9C,EAAqD;AACjD;AACA,MAAI6iK,GAAG,CAACt6Q,KAAJ,KAAc,IAAlB,EAAwB;AACpB,WAAOghQ,UAAU,CAACoE,aAAa,CAAC4G,iBAAf,CAAV,CAA4C7X,MAA5C,CAAmD,CAAC2N,OAAO,CAACrqJ,KAAD,CAAR,CAAnD,CAAP;AACH,GAFD,MAGK,IAAI6iK,GAAG,CAACE,iBAAJ,KAA0B,IAA9B,EAAoC;AACrC;AACA,UAAMhzH,KAAK,GAAG;AAAE;AAAF,OAAmB8yH,GAAG,CAACp4G,IAAJ,GAAW;AAAE;AAAb,MAA0B,CAA7C,KACTo4G,GAAG,CAACG,QAAJ,GAAe;AAAE;AAAjB,MAAkC,CADzB,KAC+BH,GAAG,CAACj8P,IAAJ,GAAW;AAAE;AAAb,MAA0B,CADzD,KAETi8P,GAAG,CAAC1mG,QAAJ,GAAe;AAAE;AAAjB,MAAkC,CAFzB,KAGTnzK,MAAM,KAAKk4Q,eAAe,CAACt6C,IAA3B,GAAkC;AAAG;AAArC,MAAqD,CAH5C,CAAd,CAFqC,CAMrC;AACA;AACA;;AACA,QAAIq8C,UAAU,GAAIlzH,KAAK,KAAK;AAAE;AAAZ,OAA6B8yH,GAAG,CAAC1mG,QAAlC,GAA8CkuF,OAAO,CAACt6G,KAAD,CAArD,GAA+D,IAAhF,CATqC,CAUrC;;AACA,UAAMmzH,UAAU,GAAG,CAACL,GAAG,CAACt6Q,KAAL,CAAnB;;AACA,QAAI06Q,UAAJ,EAAgB;AACZC,MAAAA,UAAU,CAACr9Q,IAAX,CAAgBo9Q,UAAhB;AACH;;AACD,UAAME,QAAQ,GAAGC,WAAW,CAACp6Q,MAAD,CAA5B;AACA,WAAOugQ,UAAU,CAAC4Z,QAAD,CAAV,CAAqBzmB,MAArB,CAA4BwmB,UAA5B,CAAP;AACH,GAjBI,MAkBA;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAO3Z,UAAU,CAACoE,aAAa,CAACyG,eAAf,CAAV,CAA0C1X,MAA1C,CAAiD,CAACmmB,GAAG,CAACt6Q,KAAL,CAAjD,CAAP;AACH;AACJ;;AACD,SAASo6Q,kBAAT,CAA4BjvD,IAA5B,EAAkC;AAC9B,MAAI2vD,QAAQ,GAAG,KAAf;AACA,QAAMC,cAAc,GAAG5vD,IAAI,CAACptN,GAAL,CAASu8Q,GAAG,IAAI;AACnC,UAAMv+Q,IAAI,GAAGi/Q,iBAAiB,CAACV,GAAD,CAA9B;;AACA,QAAIv+Q,IAAI,KAAK,IAAb,EAAmB;AACf++Q,MAAAA,QAAQ,GAAG,IAAX;AACA,aAAO/+Q,IAAP;AACH,KAHD,MAIK;AACD,aAAO+lQ,OAAO,CAAC,IAAD,CAAd;AACH;AACJ,GATsB,CAAvB;;AAUA,MAAIgZ,QAAJ,EAAc;AACV,WAAO3Z,cAAc,CAACE,UAAU,CAAC0Z,cAAD,CAAX,CAArB;AACH,GAFD,MAGK;AACD,WAAO3nB,SAAP;AACH;AACJ;;AACD,SAAS4nB,iBAAT,CAA2BV,GAA3B,EAAgC;AAC5B,QAAMh3P,OAAO,GAAG,EAAhB;;AACA,MAAIg3P,GAAG,CAACE,iBAAJ,KAA0B,IAA9B,EAAoC;AAChCl3P,IAAAA,OAAO,CAAChmB,IAAR,CAAa;AAAE8G,MAAAA,GAAG,EAAE,WAAP;AAAoB8B,MAAAA,KAAK,EAAEo0Q,GAAG,CAACE,iBAA/B;AAAkD/d,MAAAA,MAAM,EAAE;AAA1D,KAAb;AACH;;AACD,MAAI6d,GAAG,CAAC1mG,QAAR,EAAkB;AACdtwJ,IAAAA,OAAO,CAAChmB,IAAR,CAAa;AAAE8G,MAAAA,GAAG,EAAE,UAAP;AAAmB8B,MAAAA,KAAK,EAAE47P,OAAO,CAAC,IAAD,CAAjC;AAAyCrF,MAAAA,MAAM,EAAE;AAAjD,KAAb;AACH;;AACD,MAAI6d,GAAG,CAACj8P,IAAR,EAAc;AACViF,IAAAA,OAAO,CAAChmB,IAAR,CAAa;AAAE8G,MAAAA,GAAG,EAAE,MAAP;AAAe8B,MAAAA,KAAK,EAAE47P,OAAO,CAAC,IAAD,CAA7B;AAAqCrF,MAAAA,MAAM,EAAE;AAA7C,KAAb;AACH;;AACD,MAAI6d,GAAG,CAACp4G,IAAR,EAAc;AACV5+I,IAAAA,OAAO,CAAChmB,IAAR,CAAa;AAAE8G,MAAAA,GAAG,EAAE,MAAP;AAAe8B,MAAAA,KAAK,EAAE47P,OAAO,CAAC,IAAD,CAA7B;AAAqCrF,MAAAA,MAAM,EAAE;AAA7C,KAAb;AACH;;AACD,MAAI6d,GAAG,CAACG,QAAR,EAAkB;AACdn3P,IAAAA,OAAO,CAAChmB,IAAR,CAAa;AAAE8G,MAAAA,GAAG,EAAE,UAAP;AAAmB8B,MAAAA,KAAK,EAAE47P,OAAO,CAAC,IAAD,CAAjC;AAAyCrF,MAAAA,MAAM,EAAE;AAAjD,KAAb;AACH;;AACD,SAAOn5O,OAAO,CAACjd,MAAR,GAAiB,CAAjB,GAAqBi7P,UAAU,CAACh+O,OAAD,CAA/B,GAA2C,IAAlD;AACH;;AACD,SAAS01P,0BAAT,CAAoCH,IAApC,EAA0C;AACtC,SAAOA,IAAI,CAACc,YAAL,KAAsB5yG,SAA7B;AACH;;AACD,SAAS+yG,2BAAT,CAAqCjB,IAArC,EAA2C;AACvC,SAAOA,IAAI,CAAC7zQ,UAAL,KAAoB+hK,SAA3B;AACH;;AACD,SAAS8zG,WAAT,CAAqBp6Q,MAArB,EAA6B;AACzB,UAAQA,MAAR;AACI,SAAKk4Q,eAAe,CAACxmD,SAArB;AACA,SAAKwmD,eAAe,CAAC9iF,SAArB;AACA,SAAK8iF,eAAe,CAACt6C,IAArB;AACI,aAAO+mC,aAAa,CAAC0G,eAArB;;AACJ,SAAK6M,eAAe,CAACxiF,QAArB;AACA,SAAKwiF,eAAe,CAAC9zG,UAArB;AACA;AACI,aAAOugG,aAAa,CAACl4D,MAArB;AARR;AAUH;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,MAAM+tE,SAAN,CAAgB;AACZhgR,EAAAA,WAAW,CAACiL,KAAD,EAAQ8tP,UAAR,EAAoB;AAC3B,SAAK9tP,KAAL,GAAaA,KAAb;AACA,SAAK8tP,UAAL,GAAkBA,UAAlB;AACH;;AACDknB,EAAAA,KAAK,CAACC,QAAD,EAAW;AACZ,UAAM,IAAIrnQ,KAAJ,CAAU,qCAAV,CAAN;AACH;;AAPW;;AAShB,MAAMsnQ,MAAN,CAAa;AACTngR,EAAAA,WAAW,CAACiL,KAAD,EAAQ8tP,UAAR,EAAoB;AAC3B,SAAK9tP,KAAL,GAAaA,KAAb;AACA,SAAK8tP,UAAL,GAAkBA,UAAlB;AACH;;AACDknB,EAAAA,KAAK,CAAC1tG,OAAD,EAAU;AACX,WAAOA,OAAO,CAAC6tG,SAAR,CAAkB,IAAlB,CAAP;AACH;;AAPQ;;AASb,MAAMC,SAAN,CAAgB;AACZrgR,EAAAA,WAAW,CAACiL,KAAD,EAAQ8tP,UAAR,EAAoBoX,IAApB,EAA0B;AACjC,SAAKllQ,KAAL,GAAaA,KAAb;AACA,SAAK8tP,UAAL,GAAkBA,UAAlB;AACA,SAAKoX,IAAL,GAAYA,IAAZ;AACH;;AACD8P,EAAAA,KAAK,CAAC1tG,OAAD,EAAU;AACX,WAAOA,OAAO,CAAC+tG,cAAR,CAAuB,IAAvB,CAAP;AACH;;AARW;AAUhB;AACA;AACA;AACA;AACA;AACA;;;AACA,MAAMC,aAAN,CAAoB;AAChBvgR,EAAAA,WAAW,CAAC2X,IAAD,EAAO1M,KAAP,EAAc8tP,UAAd,EAA0BynB,OAA1B,EAAmCC,SAAnC,EAA8CtQ,IAA9C,EAAoD;AAC3D,SAAKx4P,IAAL,GAAYA,IAAZ;AACA,SAAK1M,KAAL,GAAaA,KAAb;AACA,SAAK8tP,UAAL,GAAkBA,UAAlB;AACA,SAAKynB,OAAL,GAAeA,OAAf;AACA,SAAKC,SAAL,GAAiBA,SAAjB;AACA,SAAKtQ,IAAL,GAAYA,IAAZ;AACH;;AACD8P,EAAAA,KAAK,CAAC1tG,OAAD,EAAU;AACX,WAAOA,OAAO,CAACmuG,kBAAR,CAA2B,IAA3B,CAAP;AACH;;AAXe;;AAapB,MAAMC,cAAN,CAAqB;AACjB3gR,EAAAA,WAAW,CAAC2X,IAAD,EAAO7W,IAAP,EAAa8/Q,eAAb,EAA8B31Q,KAA9B,EAAqC4tC,IAArC,EAA2CkgN,UAA3C,EAAuDynB,OAAvD,EAAgEC,SAAhE,EAA2EtQ,IAA3E,EAAiF;AACxF,SAAKx4P,IAAL,GAAYA,IAAZ;AACA,SAAK7W,IAAL,GAAYA,IAAZ;AACA,SAAK8/Q,eAAL,GAAuBA,eAAvB;AACA,SAAK31Q,KAAL,GAAaA,KAAb;AACA,SAAK4tC,IAAL,GAAYA,IAAZ;AACA,SAAKkgN,UAAL,GAAkBA,UAAlB;AACA,SAAKynB,OAAL,GAAeA,OAAf;AACA,SAAKC,SAAL,GAAiBA,SAAjB;AACA,SAAKtQ,IAAL,GAAYA,IAAZ;AACH;;AAC8B,SAAxB0Q,wBAAwB,CAACvgI,IAAD,EAAO6vH,IAAP,EAAa;AACxC,QAAI7vH,IAAI,CAACkgI,OAAL,KAAiB10G,SAArB,EAAgC;AAC5B,YAAM,IAAIjzJ,KAAJ,CAAW,kFAAiFynI,IAAI,CAAC3oI,IAAK,KAAI2oI,IAAI,CAACy4G,UAAW,EAA1H,CAAN;AACH;;AACD,WAAO,IAAI4nB,cAAJ,CAAmBrgI,IAAI,CAAC3oI,IAAxB,EAA8B2oI,IAAI,CAACx/I,IAAnC,EAAyCw/I,IAAI,CAACsgI,eAA9C,EAA+DtgI,IAAI,CAACr1I,KAApE,EAA2Eq1I,IAAI,CAACznG,IAAhF,EAAsFynG,IAAI,CAACy4G,UAA3F,EAAuGz4G,IAAI,CAACkgI,OAA5G,EAAqHlgI,IAAI,CAACmgI,SAA1H,EAAqItQ,IAArI,CAAP;AACH;;AACD8P,EAAAA,KAAK,CAAC1tG,OAAD,EAAU;AACX,WAAOA,OAAO,CAACuuG,mBAAR,CAA4B,IAA5B,CAAP;AACH;;AApBgB;;AAsBrB,MAAMC,UAAN,CAAiB;AACb/gR,EAAAA,WAAW,CAAC2X,IAAD,EAAO7W,IAAP,EAAag9F,OAAb,EAAsBt4F,MAAtB,EAA8BqhL,KAA9B,EAAqCkyE,UAArC,EAAiDioB,WAAjD,EAA8DR,OAA9D,EAAuE;AAC9E,SAAK7oQ,IAAL,GAAYA,IAAZ;AACA,SAAK7W,IAAL,GAAYA,IAAZ;AACA,SAAKg9F,OAAL,GAAeA,OAAf;AACA,SAAKt4F,MAAL,GAAcA,MAAd;AACA,SAAKqhL,KAAL,GAAaA,KAAb;AACA,SAAKkyE,UAAL,GAAkBA,UAAlB;AACA,SAAKioB,WAAL,GAAmBA,WAAnB;AACA,SAAKR,OAAL,GAAeA,OAAf;AACH;;AACqB,SAAfS,eAAe,CAACvgL,KAAD,EAAQ;AAC1B,UAAMl7F,MAAM,GAAGk7F,KAAK,CAAC5/F,IAAN,KAAe;AAAE;AAAjB,MAAiC4/F,KAAK,CAACwgL,aAAvC,GAAuD,IAAtE;AACA,UAAMr6F,KAAK,GAAGnmF,KAAK,CAAC5/F,IAAN,KAAe;AAAE;AAAjB,MAAmC4/F,KAAK,CAACwgL,aAAzC,GAAyD,IAAvE;;AACA,QAAIxgL,KAAK,CAAC8/K,OAAN,KAAkB10G,SAAtB,EAAiC;AAC7B,YAAM,IAAIjzJ,KAAJ,CAAW,6EAA4E6nF,KAAK,CAAC/oF,IAAK,KAAI+oF,KAAK,CAACq4J,UAAW,EAAvH,CAAN;AACH;;AACD,WAAO,IAAIgoB,UAAJ,CAAergL,KAAK,CAAC/oF,IAArB,EAA2B+oF,KAAK,CAAC5/F,IAAjC,EAAuC4/F,KAAK,CAAC5C,OAA7C,EAAsDt4F,MAAtD,EAA8DqhL,KAA9D,EAAqEnmF,KAAK,CAACq4J,UAA3E,EAAuFr4J,KAAK,CAACsgL,WAA7F,EAA0GtgL,KAAK,CAAC8/K,OAAhH,CAAP;AACH;;AACDP,EAAAA,KAAK,CAAC1tG,OAAD,EAAU;AACX,WAAOA,OAAO,CAAC4uG,eAAR,CAAwB,IAAxB,CAAP;AACH;;AArBY;;AAuBjB,MAAMC,SAAN,CAAgB;AACZphR,EAAAA,WAAW,CAAC2X,IAAD,EAAOm3B,UAAP,EAAmB6nL,MAAnB,EAA2B0qD,OAA3B,EAAoC3hK,QAApC,EAA8C4hK,UAA9C,EAA0DvoB,UAA1D,EAAsEwoB,eAAtE,EAAuFC,aAAvF,EAAsGrR,IAAtG,EAA4G;AACnH,SAAKx4P,IAAL,GAAYA,IAAZ;AACA,SAAKm3B,UAAL,GAAkBA,UAAlB;AACA,SAAK6nL,MAAL,GAAcA,MAAd;AACA,SAAK0qD,OAAL,GAAeA,OAAf;AACA,SAAK3hK,QAAL,GAAgBA,QAAhB;AACA,SAAK4hK,UAAL,GAAkBA,UAAlB;AACA,SAAKvoB,UAAL,GAAkBA,UAAlB;AACA,SAAKwoB,eAAL,GAAuBA,eAAvB;AACA,SAAKC,aAAL,GAAqBA,aAArB;AACA,SAAKrR,IAAL,GAAYA,IAAZ;AACH;;AACD8P,EAAAA,KAAK,CAAC1tG,OAAD,EAAU;AACX,WAAOA,OAAO,CAACkvG,YAAR,CAAqB,IAArB,CAAP;AACH;;AAfW;;AAiBhB,MAAMC,QAAN,CAAe;AACX1hR,EAAAA,WAAW,CAACgsJ,OAAD,EAAUl9G,UAAV,EAAsB6nL,MAAtB,EAA8B0qD,OAA9B,EAAuCM,aAAvC,EAAsDjiK,QAAtD,EAAgE4hK,UAAhE,EAA4EM,SAA5E,EAAuF7oB,UAAvF,EAAmGwoB,eAAnG,EAAoHC,aAApH,EAAmIrR,IAAnI,EAAyI;AAChJ,SAAKnkH,OAAL,GAAeA,OAAf;AACA,SAAKl9G,UAAL,GAAkBA,UAAlB;AACA,SAAK6nL,MAAL,GAAcA,MAAd;AACA,SAAK0qD,OAAL,GAAeA,OAAf;AACA,SAAKM,aAAL,GAAqBA,aAArB;AACA,SAAKjiK,QAAL,GAAgBA,QAAhB;AACA,SAAK4hK,UAAL,GAAkBA,UAAlB;AACA,SAAKM,SAAL,GAAiBA,SAAjB;AACA,SAAK7oB,UAAL,GAAkBA,UAAlB;AACA,SAAKwoB,eAAL,GAAuBA,eAAvB;AACA,SAAKC,aAAL,GAAqBA,aAArB;AACA,SAAKrR,IAAL,GAAYA,IAAZ;AACH;;AACD8P,EAAAA,KAAK,CAAC1tG,OAAD,EAAU;AACX,WAAOA,OAAO,CAACsvG,aAAR,CAAsB,IAAtB,CAAP;AACH;;AAjBU;;AAmBf,MAAMC,OAAN,CAAc;AACV9hR,EAAAA,WAAW,CAACwsK,QAAD,EAAW19H,UAAX,EAAuBiqN,UAAvB,EAAmCoX,IAAnC,EAAyC;AAChD,SAAK3jG,QAAL,GAAgBA,QAAhB;AACA,SAAK19H,UAAL,GAAkBA,UAAlB;AACA,SAAKiqN,UAAL,GAAkBA,UAAlB;AACA,SAAKoX,IAAL,GAAYA,IAAZ;AACA,SAAKx4P,IAAL,GAAY,YAAZ;AACH;;AACDsoQ,EAAAA,KAAK,CAAC1tG,OAAD,EAAU;AACX,WAAOA,OAAO,CAACwvG,YAAR,CAAqB,IAArB,CAAP;AACH;;AAVS;;AAYd,MAAMC,QAAN,CAAe;AACXhiR,EAAAA,WAAW,CAAC2X,IAAD,EAAO1M,KAAP,EAAc8tP,UAAd,EAA0BynB,OAA1B,EAAmCC,SAAnC,EAA8C;AACrD,SAAK9oQ,IAAL,GAAYA,IAAZ;AACA,SAAK1M,KAAL,GAAaA,KAAb;AACA,SAAK8tP,UAAL,GAAkBA,UAAlB;AACA,SAAKynB,OAAL,GAAeA,OAAf;AACA,SAAKC,SAAL,GAAiBA,SAAjB;AACH;;AACDR,EAAAA,KAAK,CAAC1tG,OAAD,EAAU;AACX,WAAOA,OAAO,CAAC0vG,aAAR,CAAsB,IAAtB,CAAP;AACH;;AAVU;;AAYf,MAAMC,SAAN,CAAgB;AACZliR,EAAAA,WAAW,CAAC2X,IAAD,EAAO1M,KAAP,EAAc8tP,UAAd,EAA0BynB,OAA1B,EAAmCC,SAAnC,EAA8C;AACrD,SAAK9oQ,IAAL,GAAYA,IAAZ;AACA,SAAK1M,KAAL,GAAaA,KAAb;AACA,SAAK8tP,UAAL,GAAkBA,UAAlB;AACA,SAAKynB,OAAL,GAAeA,OAAf;AACA,SAAKC,SAAL,GAAiBA,SAAjB;AACH;;AACDR,EAAAA,KAAK,CAAC1tG,OAAD,EAAU;AACX,WAAOA,OAAO,CAACS,cAAR,CAAuB,IAAvB,CAAP;AACH;;AAVW;;AAYhB,MAAMmvG,KAAN,CAAY;AACRniR,EAAAA,WAAW,CAAC01E,IAAD,EAAO0sM,YAAP,EAAqBrpB,UAArB,EAAiCoX,IAAjC,EAAuC;AAC9C,SAAKz6L,IAAL,GAAYA,IAAZ;AACA,SAAK0sM,YAAL,GAAoBA,YAApB;AACA,SAAKrpB,UAAL,GAAkBA,UAAlB;AACA,SAAKoX,IAAL,GAAYA,IAAZ;AACH;;AACD8P,EAAAA,KAAK,CAAC1tG,OAAD,EAAU;AACX,WAAOA,OAAO,CAAC8vG,QAAR,CAAiB,IAAjB,CAAP;AACH;;AATO;;AAWZ,MAAMC,WAAN,CAAkB;AACdb,EAAAA,YAAY,CAAC9hI,OAAD,EAAU,CAAG;;AACzBkiI,EAAAA,aAAa,CAAC1hK,QAAD,EAAW,CAAG;;AAC3B4hK,EAAAA,YAAY,CAACx3Q,OAAD,EAAU,CAAG;;AACzB03Q,EAAAA,aAAa,CAACnc,QAAD,EAAW,CAAG;;AAC3B9yF,EAAAA,cAAc,CAAChY,SAAD,EAAY,CAAG;;AAC7B0lH,EAAAA,kBAAkB,CAAC9kH,SAAD,EAAY,CAAG;;AACjCklH,EAAAA,mBAAmB,CAACllH,SAAD,EAAY,CAAG;;AAClCulH,EAAAA,eAAe,CAACvlH,SAAD,EAAY,CAAG;;AAC9BwkH,EAAAA,SAAS,CAACx2Q,IAAD,EAAO,CAAG;;AACnB02Q,EAAAA,cAAc,CAAC12Q,IAAD,EAAO,CAAG;;AACxBy4Q,EAAAA,QAAQ,CAACE,GAAD,EAAM,CAAG;;AAXH;;AAalB,MAAMC,kBAAN,CAAyB;AACrBf,EAAAA,YAAY,CAAC9hI,OAAD,EAAU;AAClB8iI,IAAAA,UAAU,CAAC,IAAD,EAAO9iI,OAAO,CAAC7wG,UAAf,CAAV;AACA2zO,IAAAA,UAAU,CAAC,IAAD,EAAO9iI,OAAO,CAACg3E,MAAf,CAAV;AACA8rD,IAAAA,UAAU,CAAC,IAAD,EAAO9iI,OAAO,CAAC0hI,OAAf,CAAV;AACAoB,IAAAA,UAAU,CAAC,IAAD,EAAO9iI,OAAO,CAACjgC,QAAf,CAAV;AACA+iK,IAAAA,UAAU,CAAC,IAAD,EAAO9iI,OAAO,CAAC2hI,UAAf,CAAV;AACH;;AACDO,EAAAA,aAAa,CAAC1hK,QAAD,EAAW;AACpBsiK,IAAAA,UAAU,CAAC,IAAD,EAAOtiK,QAAQ,CAACrxE,UAAhB,CAAV;AACA2zO,IAAAA,UAAU,CAAC,IAAD,EAAOtiK,QAAQ,CAACw2G,MAAhB,CAAV;AACA8rD,IAAAA,UAAU,CAAC,IAAD,EAAOtiK,QAAQ,CAACkhK,OAAhB,CAAV;AACAoB,IAAAA,UAAU,CAAC,IAAD,EAAOtiK,QAAQ,CAACT,QAAhB,CAAV;AACA+iK,IAAAA,UAAU,CAAC,IAAD,EAAOtiK,QAAQ,CAACmhK,UAAhB,CAAV;AACAmB,IAAAA,UAAU,CAAC,IAAD,EAAOtiK,QAAQ,CAACyhK,SAAhB,CAAV;AACH;;AACDG,EAAAA,YAAY,CAACx3Q,OAAD,EAAU,CAAG;;AACzB03Q,EAAAA,aAAa,CAACnc,QAAD,EAAW,CAAG;;AAC3B9yF,EAAAA,cAAc,CAAChY,SAAD,EAAY,CAAG;;AAC7B0lH,EAAAA,kBAAkB,CAAC9kH,SAAD,EAAY,CAAG;;AACjCklH,EAAAA,mBAAmB,CAACllH,SAAD,EAAY,CAAG;;AAClCulH,EAAAA,eAAe,CAACvlH,SAAD,EAAY,CAAG;;AAC9BwkH,EAAAA,SAAS,CAACx2Q,IAAD,EAAO,CAAG;;AACnB02Q,EAAAA,cAAc,CAAC12Q,IAAD,EAAO,CAAG;;AACxBy4Q,EAAAA,QAAQ,CAACE,GAAD,EAAM,CAAG;;AAxBI;;AA0BzB,MAAMG,gBAAN,CAAuB;AACnBjB,EAAAA,YAAY,CAAC9hI,OAAD,EAAU;AAClB,UAAMgjI,aAAa,GAAGC,YAAY,CAAC,IAAD,EAAOjjI,OAAO,CAAC7wG,UAAf,CAAlC;AACA,UAAM+zO,SAAS,GAAGD,YAAY,CAAC,IAAD,EAAOjjI,OAAO,CAACg3E,MAAf,CAA9B;AACA,UAAMmsD,UAAU,GAAGF,YAAY,CAAC,IAAD,EAAOjjI,OAAO,CAAC0hI,OAAf,CAA/B;AACA,UAAMrnH,WAAW,GAAG4oH,YAAY,CAAC,IAAD,EAAOjjI,OAAO,CAACjgC,QAAf,CAAhC;AACA,UAAMqjK,aAAa,GAAGH,YAAY,CAAC,IAAD,EAAOjjI,OAAO,CAAC2hI,UAAf,CAAlC;;AACA,QAAIqB,aAAa,IAAIhjI,OAAO,CAAC7wG,UAAzB,IAAuC+zO,SAAS,IAAIljI,OAAO,CAACg3E,MAA5D,IACAmsD,UAAU,IAAInjI,OAAO,CAAC0hI,OADtB,IACiCrnH,WAAW,IAAIra,OAAO,CAACjgC,QADxD,IAEAqjK,aAAa,IAAIpjI,OAAO,CAAC2hI,UAF7B,EAEyC;AACrC,aAAO,IAAIF,SAAJ,CAAczhI,OAAO,CAAChoI,IAAtB,EAA4BgrQ,aAA5B,EAA2CE,SAA3C,EAAsDC,UAAtD,EAAkE9oH,WAAlE,EAA+E+oH,aAA/E,EAA8FpjI,OAAO,CAACo5G,UAAtG,EAAkHp5G,OAAO,CAAC4hI,eAA1H,EAA2I5hI,OAAO,CAAC6hI,aAAnJ,CAAP;AACH;;AACD,WAAO7hI,OAAP;AACH;;AACDkiI,EAAAA,aAAa,CAAC1hK,QAAD,EAAW;AACpB,UAAMwiK,aAAa,GAAGC,YAAY,CAAC,IAAD,EAAOziK,QAAQ,CAACrxE,UAAhB,CAAlC;AACA,UAAM+zO,SAAS,GAAGD,YAAY,CAAC,IAAD,EAAOziK,QAAQ,CAACw2G,MAAhB,CAA9B;AACA,UAAMmsD,UAAU,GAAGF,YAAY,CAAC,IAAD,EAAOziK,QAAQ,CAACkhK,OAAhB,CAA/B;AACA,UAAM2B,gBAAgB,GAAGJ,YAAY,CAAC,IAAD,EAAOziK,QAAQ,CAACwhK,aAAhB,CAArC;AACA,UAAM3nH,WAAW,GAAG4oH,YAAY,CAAC,IAAD,EAAOziK,QAAQ,CAACT,QAAhB,CAAhC;AACA,UAAMqjK,aAAa,GAAGH,YAAY,CAAC,IAAD,EAAOziK,QAAQ,CAACmhK,UAAhB,CAAlC;AACA,UAAM2B,YAAY,GAAGL,YAAY,CAAC,IAAD,EAAOziK,QAAQ,CAACyhK,SAAhB,CAAjC;;AACA,QAAIe,aAAa,IAAIxiK,QAAQ,CAACrxE,UAA1B,IAAwC+zO,SAAS,IAAI1iK,QAAQ,CAACw2G,MAA9D,IACAmsD,UAAU,IAAI3iK,QAAQ,CAACkhK,OADvB,IACkC2B,gBAAgB,IAAI7iK,QAAQ,CAACwhK,aAD/D,IAEA3nH,WAAW,IAAI75C,QAAQ,CAACT,QAFxB,IAEoCqjK,aAAa,IAAI5iK,QAAQ,CAACmhK,UAF9D,IAGA2B,YAAY,IAAI9iK,QAAQ,CAACyhK,SAH7B,EAGwC;AACpC,aAAO,IAAIF,QAAJ,CAAavhK,QAAQ,CAAC6rC,OAAtB,EAA+B22H,aAA/B,EAA8CE,SAA9C,EAAyDC,UAAzD,EAAqEE,gBAArE,EAAuFhpH,WAAvF,EAAoG+oH,aAApG,EAAmHE,YAAnH,EAAiI9iK,QAAQ,CAAC44I,UAA1I,EAAsJ54I,QAAQ,CAACohK,eAA/J,EAAgLphK,QAAQ,CAACqhK,aAAzL,CAAP;AACH;;AACD,WAAOrhK,QAAP;AACH;;AACD4hK,EAAAA,YAAY,CAACx3Q,OAAD,EAAU;AAClB,WAAOA,OAAP;AACH;;AACD03Q,EAAAA,aAAa,CAACnc,QAAD,EAAW;AACpB,WAAOA,QAAP;AACH;;AACD9yF,EAAAA,cAAc,CAAChY,SAAD,EAAY;AACtB,WAAOA,SAAP;AACH;;AACD0lH,EAAAA,kBAAkB,CAAC9kH,SAAD,EAAY;AAC1B,WAAOA,SAAP;AACH;;AACDklH,EAAAA,mBAAmB,CAACllH,SAAD,EAAY;AAC3B,WAAOA,SAAP;AACH;;AACDulH,EAAAA,eAAe,CAACvlH,SAAD,EAAY;AACvB,WAAOA,SAAP;AACH;;AACDwkH,EAAAA,SAAS,CAACx2Q,IAAD,EAAO;AACZ,WAAOA,IAAP;AACH;;AACD02Q,EAAAA,cAAc,CAAC12Q,IAAD,EAAO;AACjB,WAAOA,IAAP;AACH;;AACDy4Q,EAAAA,QAAQ,CAACE,GAAD,EAAM;AACV,WAAOA,GAAP;AACH;;AAxDkB;;AA0DvB,SAASE,UAAT,CAAoBlwG,OAApB,EAA6Bwa,KAA7B,EAAoC;AAChC,QAAM5yK,MAAM,GAAG,EAAf;;AACA,MAAIo4J,OAAO,CAAC0tG,KAAZ,EAAmB;AACf,SAAK,MAAM1iM,IAAX,IAAmBwvG,KAAnB,EAA0B;AACtB,YAAMhyB,OAAO,GAAGwX,OAAO,CAAC0tG,KAAR,CAAc1iM,IAAd,KAAuBA,IAAI,CAAC0iM,KAAL,CAAW1tG,OAAX,CAAvC;AACH;AACJ,GAJD,MAKK;AACD,SAAK,MAAMh1F,IAAX,IAAmBwvG,KAAnB,EAA0B;AACtB,YAAMhyB,OAAO,GAAGx9E,IAAI,CAAC0iM,KAAL,CAAW1tG,OAAX,CAAhB;;AACA,UAAIxX,OAAJ,EAAa;AACT5gJ,QAAAA,MAAM,CAAC9X,IAAP,CAAY04J,OAAZ;AACH;AACJ;AACJ;;AACD,SAAO5gJ,MAAP;AACH;;AACD,SAASyoQ,YAAT,CAAsBrwG,OAAtB,EAA+Bwa,KAA/B,EAAsC;AAClC,QAAM5yK,MAAM,GAAG,EAAf;AACA,MAAIgqD,OAAO,GAAG,KAAd;;AACA,OAAK,MAAMoZ,IAAX,IAAmBwvG,KAAnB,EAA0B;AACtB,UAAMhyB,OAAO,GAAGx9E,IAAI,CAAC0iM,KAAL,CAAW1tG,OAAX,CAAhB;;AACA,QAAIxX,OAAJ,EAAa;AACT5gJ,MAAAA,MAAM,CAAC9X,IAAP,CAAY04J,OAAZ;AACH;;AACD52F,IAAAA,OAAO,GAAGA,OAAO,IAAI42F,OAAO,IAAIx9E,IAAhC;AACH;;AACD,SAAOpZ,OAAO,GAAGhqD,MAAH,GAAY4yK,KAA1B;AACH;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,MAAMm2F,OAAN,CAAc;AACV;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACIljR,EAAAA,WAAW,CAAC+sL,KAAD,EAAQq1F,YAAR,EAAsBe,oBAAtB,EAA4ClkB,OAA5C,EAAqD3zP,WAArD,EAAkE4zP,QAAlE,EAA4E;AACnF,SAAKnyE,KAAL,GAAaA,KAAb;AACA,SAAKq1F,YAAL,GAAoBA,YAApB;AACA,SAAKe,oBAAL,GAA4BA,oBAA5B;AACA,SAAKlkB,OAAL,GAAeA,OAAf;AACA,SAAK3zP,WAAL,GAAmBA,WAAnB;AACA,SAAK4zP,QAAL,GAAgBA,QAAhB;AACA,SAAKj/P,EAAL,GAAU,KAAKi/P,QAAf;AACA;;AACA,SAAKC,SAAL,GAAiB,EAAjB;;AACA,QAAIpyE,KAAK,CAAC3hL,MAAV,EAAkB;AACd,WAAKukF,OAAL,GAAe,CAAC;AACRyzL,QAAAA,QAAQ,EAAEr2F,KAAK,CAAC,CAAD,CAAL,CAASgsE,UAAT,CAAoB55O,KAApB,CAA0B2xF,IAA1B,CAA+B1tG,GADjC;AAERigR,QAAAA,SAAS,EAAEt2F,KAAK,CAAC,CAAD,CAAL,CAASgsE,UAAT,CAAoB55O,KAApB,CAA0B0mO,IAA1B,GAAiC,CAFpC;AAGRy9B,QAAAA,QAAQ,EAAEv2F,KAAK,CAAC,CAAD,CAAL,CAASgsE,UAAT,CAAoB55O,KAApB,CAA0B47P,GAA1B,GAAgC,CAHlC;AAIRwI,QAAAA,OAAO,EAAEx2F,KAAK,CAACA,KAAK,CAAC3hL,MAAN,GAAe,CAAhB,CAAL,CAAwB2tP,UAAxB,CAAmCloL,GAAnC,CAAuCg1K,IAAvC,GAA8C,CAJ/C;AAKR29B,QAAAA,MAAM,EAAEz2F,KAAK,CAAC,CAAD,CAAL,CAASgsE,UAAT,CAAoB55O,KAApB,CAA0B47P,GAA1B,GAAgC;AALhC,OAAD,CAAf;AAOH,KARD,MASK;AACD,WAAKprL,OAAL,GAAe,EAAf;AACH;AACJ;;AA/BS;;AAiCd,MAAM8zL,MAAN,CAAa;AACTzjR,EAAAA,WAAW,CAACiL,KAAD,EAAQ8tP,UAAR,EAAoB;AAC3B,SAAK9tP,KAAL,GAAaA,KAAb;AACA,SAAK8tP,UAAL,GAAkBA,UAAlB;AACH;;AACDknB,EAAAA,KAAK,CAAC1tG,OAAD,EAAU7wK,OAAV,EAAmB;AACpB,WAAO6wK,OAAO,CAAC6tG,SAAR,CAAkB,IAAlB,EAAwB1+Q,OAAxB,CAAP;AACH;;AAPQ,EASb;;;AACA,MAAMgiR,SAAN,CAAgB;AACZ1jR,EAAAA,WAAW,CAAC0/G,QAAD,EAAWq5I,UAAX,EAAuB;AAC9B,SAAKr5I,QAAL,GAAgBA,QAAhB;AACA,SAAKq5I,UAAL,GAAkBA,UAAlB;AACH;;AACDknB,EAAAA,KAAK,CAAC1tG,OAAD,EAAU7wK,OAAV,EAAmB;AACpB,WAAO6wK,OAAO,CAACoxG,cAAR,CAAuB,IAAvB,EAA6BjiR,OAA7B,CAAP;AACH;;AAPW;;AAShB,MAAMkiR,GAAN,CAAU;AACN5jR,EAAAA,WAAW,CAAC+J,UAAD,EAAajJ,IAAb,EAAmB61O,KAAnB,EAA0BoiB,UAA1B,EAAsC;AAC7C,SAAKhvP,UAAL,GAAkBA,UAAlB;AACA,SAAKjJ,IAAL,GAAYA,IAAZ;AACA,SAAK61O,KAAL,GAAaA,KAAb;AACA,SAAKoiB,UAAL,GAAkBA,UAAlB;AACH;;AACDknB,EAAAA,KAAK,CAAC1tG,OAAD,EAAU7wK,OAAV,EAAmB;AACpB,WAAO6wK,OAAO,CAAC8vG,QAAR,CAAiB,IAAjB,EAAuB3gR,OAAvB,CAAP;AACH;;AATK;;AAWV,MAAMmiR,cAAN,CAAqB;AACjB7jR,EAAAA,WAAW,CAACwvJ,GAAD,EAAM+gG,KAAN,EAAauzB,SAAb,EAAwBC,SAAxB,EAAmCrkK,QAAnC,EAA6C8vI,MAA7C,EACX;AACAuJ,EAAAA,UAFW,EAECwoB,eAFD,EAEkBC,aAFlB,EAEiC;AACxC,SAAKhyH,GAAL,GAAWA,GAAX;AACA,SAAK+gG,KAAL,GAAaA,KAAb;AACA,SAAKuzB,SAAL,GAAiBA,SAAjB;AACA,SAAKC,SAAL,GAAiBA,SAAjB;AACA,SAAKrkK,QAAL,GAAgBA,QAAhB;AACA,SAAK8vI,MAAL,GAAcA,MAAd;AACA,SAAKuJ,UAAL,GAAkBA,UAAlB;AACA,SAAKwoB,eAAL,GAAuBA,eAAvB;AACA,SAAKC,aAAL,GAAqBA,aAArB;AACH;;AACDvB,EAAAA,KAAK,CAAC1tG,OAAD,EAAU7wK,OAAV,EAAmB;AACpB,WAAO6wK,OAAO,CAACyxG,mBAAR,CAA4B,IAA5B,EAAkCtiR,OAAlC,CAAP;AACH;;AAhBgB;;AAkBrB,MAAMuiR,WAAN,CAAkB;AACdjkR,EAAAA,WAAW,CAACiL,KAAD,EAAQ0M,IAAR,EAAcohP,UAAd,EAA0B;AACjC,SAAK9tP,KAAL,GAAaA,KAAb;AACA,SAAK0M,IAAL,GAAYA,IAAZ;AACA,SAAKohP,UAAL,GAAkBA,UAAlB;AACH;;AACDknB,EAAAA,KAAK,CAAC1tG,OAAD,EAAU7wK,OAAV,EAAmB;AACpB,WAAO6wK,OAAO,CAAC2xG,gBAAR,CAAyB,IAAzB,EAA+BxiR,OAA/B,CAAP;AACH;;AARa;;AAUlB,MAAMyiR,cAAN,CAAqB;AACjBnkR,EAAAA,WAAW,CAACiL,KAAD,EAAQ0M,IAAR,EAAcohP,UAAd,EAA0B;AACjC,SAAK9tP,KAAL,GAAaA,KAAb;AACA,SAAK0M,IAAL,GAAYA,IAAZ;AACA,SAAKohP,UAAL,GAAkBA,UAAlB;AACH;;AACDknB,EAAAA,KAAK,CAAC1tG,OAAD,EAAU7wK,OAAV,EAAmB;AACpB,WAAO6wK,OAAO,CAAC6xG,mBAAR,CAA4B,IAA5B,EAAkC1iR,OAAlC,CAAP;AACH;;AARgB,EAUrB;;;AACA,MAAM2iR,YAAN,CAAmB;AACfjE,EAAAA,SAAS,CAACx2Q,IAAD,EAAOlI,OAAP,EAAgB;AACrB,WAAO,IAAI+hR,MAAJ,CAAW75Q,IAAI,CAACqB,KAAhB,EAAuBrB,IAAI,CAACmvP,UAA5B,CAAP;AACH;;AACD4qB,EAAAA,cAAc,CAACx9L,SAAD,EAAYzkF,OAAZ,EAAqB;AAC/B,UAAMg+G,QAAQ,GAAGv5B,SAAS,CAACu5B,QAAV,CAAmB58G,GAAnB,CAAuB5E,CAAC,IAAIA,CAAC,CAAC+hR,KAAF,CAAQ,IAAR,EAAcv+Q,OAAd,CAA5B,CAAjB;AACA,WAAO,IAAIgiR,SAAJ,CAAchkK,QAAd,EAAwBv5B,SAAS,CAAC4yK,UAAlC,CAAP;AACH;;AACDspB,EAAAA,QAAQ,CAACE,GAAD,EAAM7gR,OAAN,EAAe;AACnB,UAAMi1O,KAAK,GAAG,EAAd;AACA/+N,IAAAA,MAAM,CAACkF,IAAP,CAAYylQ,GAAG,CAAC5rC,KAAhB,EAAuBz0O,OAAvB,CAA+BiH,GAAG,IAAIwtO,KAAK,CAACxtO,GAAD,CAAL,GAAao5Q,GAAG,CAAC5rC,KAAJ,CAAUxtO,GAAV,EAAe82Q,KAAf,CAAqB,IAArB,EAA2Bv+Q,OAA3B,CAAnD;AACA,UAAMyzQ,GAAG,GAAG,IAAIyO,GAAJ,CAAQrB,GAAG,CAACx4Q,UAAZ,EAAwBw4Q,GAAG,CAACzhR,IAA5B,EAAkC61O,KAAlC,EAAyC4rC,GAAG,CAACxpB,UAA7C,CAAZ;AACAoc,IAAAA,GAAG,CAACmP,qBAAJ,GAA4B/B,GAAG,CAAC+B,qBAAhC;AACA,WAAOnP,GAAP;AACH;;AACD6O,EAAAA,mBAAmB,CAACO,EAAD,EAAK7iR,OAAL,EAAc;AAC7B,UAAMg+G,QAAQ,GAAG6kK,EAAE,CAAC7kK,QAAH,CAAY58G,GAAZ,CAAgB5E,CAAC,IAAIA,CAAC,CAAC+hR,KAAF,CAAQ,IAAR,EAAcv+Q,OAAd,CAArB,CAAjB;AACA,WAAO,IAAImiR,cAAJ,CAAmBU,EAAE,CAAC/0H,GAAtB,EAA2B+0H,EAAE,CAACh0B,KAA9B,EAAqCg0B,EAAE,CAACT,SAAxC,EAAmDS,EAAE,CAACR,SAAtD,EAAiErkK,QAAjE,EAA2E6kK,EAAE,CAAC/0B,MAA9E,EAAsF+0B,EAAE,CAACxrB,UAAzF,EAAqGwrB,EAAE,CAAChD,eAAxG,EAAyHgD,EAAE,CAAC/C,aAA5H,CAAP;AACH;;AACD0C,EAAAA,gBAAgB,CAACK,EAAD,EAAK7iR,OAAL,EAAc;AAC1B,WAAO,IAAIuiR,WAAJ,CAAgBM,EAAE,CAACt5Q,KAAnB,EAA0Bs5Q,EAAE,CAAC5sQ,IAA7B,EAAmC4sQ,EAAE,CAACxrB,UAAtC,CAAP;AACH;;AACDqrB,EAAAA,mBAAmB,CAACG,EAAD,EAAK7iR,OAAL,EAAc;AAC7B,WAAO,IAAIyiR,cAAJ,CAAmBI,EAAE,CAACt5Q,KAAtB,EAA6Bs5Q,EAAE,CAAC5sQ,IAAhC,EAAsC4sQ,EAAE,CAACxrB,UAAzC,CAAP;AACH;;AAxBc,EA0BnB;;;AACA,MAAMyrB,cAAN,CAAqB;AACjBpE,EAAAA,SAAS,CAACx2Q,IAAD,EAAOlI,OAAP,EAAgB,CAAG;;AAC5BiiR,EAAAA,cAAc,CAACx9L,SAAD,EAAYzkF,OAAZ,EAAqB;AAC/BykF,IAAAA,SAAS,CAACu5B,QAAV,CAAmBx9G,OAAnB,CAA2BusJ,KAAK,IAAIA,KAAK,CAACwxH,KAAN,CAAY,IAAZ,CAApC;AACH;;AACDoC,EAAAA,QAAQ,CAACE,GAAD,EAAM7gR,OAAN,EAAe;AACnBkW,IAAAA,MAAM,CAACkF,IAAP,CAAYylQ,GAAG,CAAC5rC,KAAhB,EAAuBz0O,OAAvB,CAA+BuH,CAAC,IAAI;AAChC84Q,MAAAA,GAAG,CAAC5rC,KAAJ,CAAUltO,CAAV,EAAaw2Q,KAAb,CAAmB,IAAnB;AACH,KAFD;AAGH;;AACD+D,EAAAA,mBAAmB,CAACO,EAAD,EAAK7iR,OAAL,EAAc;AAC7B6iR,IAAAA,EAAE,CAAC7kK,QAAH,CAAYx9G,OAAZ,CAAoBusJ,KAAK,IAAIA,KAAK,CAACwxH,KAAN,CAAY,IAAZ,CAA7B;AACH;;AACDiE,EAAAA,gBAAgB,CAACK,EAAD,EAAK7iR,OAAL,EAAc,CAAG;;AACjC0iR,EAAAA,mBAAmB,CAACG,EAAD,EAAK7iR,OAAL,EAAc,CAAG;;AAdnB;AAiBrB;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,MAAM+iR,UAAN,CAAiB;AACb;AACJ;AACA;AACIzkR,EAAAA,WAAW,CAAC4rO,MAAD,EAAS;AAChB,SAAKA,MAAL,GAAcA,MAAd;AACH;;AACU,SAAJ84C,IAAI,GAAG;AACV,WAAO,IAAID,UAAJ,CAAe,CAAC,CAAD,CAAf,CAAP;AACH;;AACS,SAAHE,GAAG,GAAG;AACT,WAAO,IAAIF,UAAJ,CAAe,CAAC,CAAD,CAAf,CAAP;AACH;AACD;AACJ;AACA;;;AACIzmR,EAAAA,KAAK,GAAG;AACJ,WAAO,IAAIymR,UAAJ,CAAe,KAAK74C,MAAL,CAAYvkO,KAAZ,EAAf,CAAP;AACH;AACD;AACJ;AACA;AACA;;;AACI+3B,EAAAA,GAAG,CAACgnN,KAAD,EAAQ;AACP,UAAMjsO,MAAM,GAAG,KAAKnc,KAAL,EAAf;AACAmc,IAAAA,MAAM,CAACyqQ,SAAP,CAAiBx+B,KAAjB;AACA,WAAOjsO,MAAP;AACH;AACD;AACJ;AACA;;;AACIyqQ,EAAAA,SAAS,CAACx+B,KAAD,EAAQ;AACb,UAAMy+B,aAAa,GAAGxjQ,IAAI,CAAC3Z,GAAL,CAAS,KAAKkkO,MAAL,CAAYxgO,MAArB,EAA6Bg7O,KAAK,CAACxa,MAAN,CAAaxgO,MAA1C,CAAtB;AACA,QAAImrO,KAAK,GAAG,CAAZ;;AACA,SAAK,IAAIt4O,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAG4mR,aAApB,EAAmC5mR,CAAC,EAApC,EAAwC;AACpC,UAAI6mR,QAAQ,GAAGvuC,KAAf;;AACA,UAAIt4O,CAAC,GAAG,KAAK2tO,MAAL,CAAYxgO,MAApB,EAA4B;AACxB05Q,QAAAA,QAAQ,IAAI,KAAKl5C,MAAL,CAAY3tO,CAAZ,CAAZ;AACH;;AACD,UAAIA,CAAC,GAAGmoP,KAAK,CAACxa,MAAN,CAAaxgO,MAArB,EAA6B;AACzB05Q,QAAAA,QAAQ,IAAI1+B,KAAK,CAACxa,MAAN,CAAa3tO,CAAb,CAAZ;AACH;;AACD,UAAI6mR,QAAQ,IAAI,EAAhB,EAAoB;AAChB,aAAKl5C,MAAL,CAAY3tO,CAAZ,IAAiB6mR,QAAQ,GAAG,EAA5B;AACAvuC,QAAAA,KAAK,GAAG,CAAR;AACH,OAHD,MAIK;AACD,aAAK3K,MAAL,CAAY3tO,CAAZ,IAAiB6mR,QAAjB;AACAvuC,QAAAA,KAAK,GAAG,CAAR;AACH;AACJ,KAnBY,CAoBb;;;AACA,QAAIA,KAAK,GAAG,CAAZ,EAAe;AACX,WAAK3K,MAAL,CAAYi5C,aAAZ,IAA6B,CAA7B;AACH;AACJ;AACD;AACJ;AACA;AACA;;;AACIpkR,EAAAA,QAAQ,GAAG;AACP,QAAIspO,GAAG,GAAG,EAAV;;AACA,SAAK,IAAI9rO,CAAC,GAAG,KAAK2tO,MAAL,CAAYxgO,MAAZ,GAAqB,CAAlC,EAAqCnN,CAAC,IAAI,CAA1C,EAA6CA,CAAC,EAA9C,EAAkD;AAC9C8rO,MAAAA,GAAG,IAAI,KAAK6B,MAAL,CAAY3tO,CAAZ,CAAP;AACH;;AACD,WAAO8rO,GAAP;AACH;;AAlEY;AAoEjB;AACA;AACA;AACA;;;AACA,MAAMg7C,uBAAN,CAA8B;AAC1B/kR,EAAAA,WAAW,CAACiL,KAAD,EAAQ;AACf,SAAK+5Q,WAAL,GAAmB,CAAC/5Q,KAAD,CAAnB;AACH;AACD;AACJ;AACA;;;AACIwzJ,EAAAA,QAAQ,GAAG;AACP,WAAO,KAAKumH,WAAL,CAAiB,CAAjB,CAAP;AACH;AACD;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACIC,EAAAA,UAAU,CAACltO,GAAD,EAAM;AACZ,UAAMmtO,OAAO,GAAGT,UAAU,CAACC,IAAX,EAAhB;AACA,SAAKS,kBAAL,CAAwBptO,GAAxB,EAA6BmtO,OAA7B;AACA,WAAOA,OAAP;AACH;AACD;AACJ;AACA;AACA;;;AACIC,EAAAA,kBAAkB,CAACptO,GAAD,EAAM59B,MAAN,EAAc;AAC5B,SAAK,IAAIo6N,QAAQ,GAAG,CAApB,EAAuBx8L,GAAG,KAAK,CAA/B,EAAkCA,GAAG,GAAGA,GAAG,KAAK,CAAd,EAAiBw8L,QAAQ,EAA3D,EAA+D;AAC3D,UAAIx8L,GAAG,GAAG,CAAV,EAAa;AACT,cAAM9sC,KAAK,GAAG,KAAKm6Q,yBAAL,CAA+B7wC,QAA/B,CAAd;AACAp6N,QAAAA,MAAM,CAACyqQ,SAAP,CAAiB35Q,KAAjB;AACH;AACJ;AACJ;AACD;AACJ;AACA;;;AACIm6Q,EAAAA,yBAAyB,CAAC7wC,QAAD,EAAW;AAChC;AACA;AACA;AACA,SAAK,IAAIt2O,CAAC,GAAG,KAAK+mR,WAAL,CAAiB55Q,MAA9B,EAAsCnN,CAAC,IAAIs2O,QAA3C,EAAqDt2O,CAAC,EAAtD,EAA0D;AACtD,YAAMonR,aAAa,GAAG,KAAKL,WAAL,CAAiB/mR,CAAC,GAAG,CAArB,CAAtB;AACA,WAAK+mR,WAAL,CAAiB/mR,CAAjB,IAAsBonR,aAAa,CAACjmP,GAAd,CAAkBimP,aAAlB,CAAtB;AACH;;AACD,WAAO,KAAKL,WAAL,CAAiBzwC,QAAjB,CAAP;AACH;;AAjEyB;AAmE9B;AACA;AACA;AACA;AACA;AACA;;;AACA,MAAM+wC,oBAAN,CAA2B;AACvBtlR,EAAAA,WAAW,CAACqJ,IAAD,EAAO;AACd,SAAKA,IAAL,GAAYA,IAAZ;AACA,SAAKk8Q,SAAL,GAAiB,CAAC,IAAIR,uBAAJ,CAA4BN,UAAU,CAACE,GAAX,EAA5B,CAAD,CAAjB;AACH;AACD;AACJ;AACA;AACA;;;AACIa,EAAAA,YAAY,CAACjxC,QAAD,EAAW;AACnB;AACA;AACA;AACA,SAAK,IAAIt2O,CAAC,GAAG,KAAKsnR,SAAL,CAAen6Q,MAA5B,EAAoCnN,CAAC,IAAIs2O,QAAzC,EAAmDt2O,CAAC,EAApD,EAAwD;AACpD,YAAMgN,KAAK,GAAG,KAAKs6Q,SAAL,CAAetnR,CAAC,GAAG,CAAnB,EAAsBgnR,UAAtB,CAAiC,KAAK57Q,IAAtC,CAAd;AACA,WAAKk8Q,SAAL,CAAetnR,CAAf,IAAoB,IAAI8mR,uBAAJ,CAA4B95Q,KAA5B,CAApB;AACH;;AACD,WAAO,KAAKs6Q,SAAL,CAAehxC,QAAf,CAAP;AACH;;AAlBsB;AAqB3B;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;AACA;;;AACA,SAASkxC,QAAT,CAAkB72P,OAAlB,EAA2B;AACvB,SAAOA,OAAO,CAAC3uB,EAAR,IAAcylR,aAAa,CAAC92P,OAAD,CAAlC;AACH;AACD;AACA;AACA;;;AACA,SAAS82P,aAAT,CAAuB92P,OAAvB,EAAgC;AAC5B,SAAO+2P,IAAI,CAACC,cAAc,CAACh3P,OAAO,CAACm+J,KAAT,CAAd,CAA8BhpK,IAA9B,CAAmC,EAAnC,IAA0C,IAAG6K,OAAO,CAACqwO,OAAQ,GAA9D,CAAX;AACH;AACD;AACA;AACA;;;AACA,SAAS4mB,aAAT,CAAuBj3P,OAAvB,EAAgC;AAC5B,SAAOA,OAAO,CAAC3uB,EAAR,IAAc6lR,oBAAoB,CAACl3P,OAAD,CAAzC;AACH;AACD;AACA;AACA;;;AACA,SAASk3P,oBAAT,CAA8Bl3P,OAA9B,EAAuC;AACnC,QAAM2jJ,OAAO,GAAG,IAAIwzG,8BAAJ,EAAhB;AACA,QAAMx5C,KAAK,GAAG39M,OAAO,CAACm+J,KAAR,CAAcjqL,GAAd,CAAkBjF,CAAC,IAAIA,CAAC,CAACoiR,KAAF,CAAQ1tG,OAAR,EAAiB,IAAjB,CAAvB,CAAd;AACA,SAAOyzG,YAAY,CAACz5C,KAAK,CAACxoN,IAAN,CAAW,EAAX,CAAD,EAAiB6K,OAAO,CAACqwO,OAAzB,CAAnB;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,MAAMgnB,kBAAN,CAAyB;AACrB7F,EAAAA,SAAS,CAACx2Q,IAAD,EAAOlI,OAAP,EAAgB;AACrB,WAAOkI,IAAI,CAACqB,KAAZ;AACH;;AACD04Q,EAAAA,cAAc,CAACx9L,SAAD,EAAYzkF,OAAZ,EAAqB;AAC/B,WAAQ,IAAGykF,SAAS,CAACu5B,QAAV,CAAmB58G,GAAnB,CAAuB2rJ,KAAK,IAAIA,KAAK,CAACwxH,KAAN,CAAY,IAAZ,CAAhC,EAAmDl8P,IAAnD,CAAwD,IAAxD,CAA8D,GAAzE;AACH;;AACDs+P,EAAAA,QAAQ,CAACE,GAAD,EAAM7gR,OAAN,EAAe;AACnB,UAAMwkR,QAAQ,GAAGtuQ,MAAM,CAACkF,IAAP,CAAYylQ,GAAG,CAAC5rC,KAAhB,EAAuB7zO,GAAvB,CAA4B2G,CAAD,IAAQ,GAAEA,CAAE,KAAI84Q,GAAG,CAAC5rC,KAAJ,CAAUltO,CAAV,EAAaw2Q,KAAb,CAAmB,IAAnB,CAAyB,GAApE,CAAjB;AACA,WAAQ,IAAGsC,GAAG,CAACx4Q,UAAW,KAAIw4Q,GAAG,CAACzhR,IAAK,KAAIolR,QAAQ,CAACniQ,IAAT,CAAc,IAAd,CAAoB,GAA/D;AACH;;AACDigQ,EAAAA,mBAAmB,CAACO,EAAD,EAAK7iR,OAAL,EAAc;AAC7B,WAAO6iR,EAAE,CAAC/0B,MAAH,GACF,iBAAgB+0B,EAAE,CAACT,SAAU,KAD3B,GAEF,iBAAgBS,EAAE,CAACT,SAAU,KAAIS,EAAE,CAAC7kK,QAAH,CAAY58G,GAAZ,CAAgB2rJ,KAAK,IAAIA,KAAK,CAACwxH,KAAN,CAAY,IAAZ,CAAzB,EAA4Cl8P,IAA5C,CAAiD,IAAjD,CAAuD,cAAawgQ,EAAE,CAACR,SAAU,IAFvH;AAGH;;AACDG,EAAAA,gBAAgB,CAACK,EAAD,EAAK7iR,OAAL,EAAc;AAC1B,WAAO6iR,EAAE,CAACt5Q,KAAH,GAAY,aAAYs5Q,EAAE,CAAC5sQ,IAAK,KAAI4sQ,EAAE,CAACt5Q,KAAM,OAA7C,GAAuD,aAAYs5Q,EAAE,CAAC5sQ,IAAK,KAAlF;AACH;;AACDysQ,EAAAA,mBAAmB,CAACG,EAAD,EAAK7iR,OAAL,EAAc;AAC7B,WAAQ,iBAAgB6iR,EAAE,CAAC5sQ,IAAK,KAAI4sQ,EAAE,CAACt5Q,KAAH,CAASg1Q,KAAT,CAAe,IAAf,CAAqB,OAAzD;AACH;;AArBoB;;AAuBzB,MAAMkG,mBAAmB,GAAG,IAAIF,kBAAJ,EAA5B;;AACA,SAASL,cAAT,CAAwB74F,KAAxB,EAA+B;AAC3B,SAAOA,KAAK,CAACjqL,GAAN,CAAUjF,CAAC,IAAIA,CAAC,CAACoiR,KAAF,CAAQkG,mBAAR,EAA6B,IAA7B,CAAf,CAAP;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,MAAMJ,8BAAN,SAA6CE,kBAA7C,CAAgE;AAC5D5D,EAAAA,QAAQ,CAACE,GAAD,EAAM7gR,OAAN,EAAe;AACnB,QAAIwkR,QAAQ,GAAGtuQ,MAAM,CAACkF,IAAP,CAAYylQ,GAAG,CAAC5rC,KAAhB,EAAuB7zO,GAAvB,CAA4B2G,CAAD,IAAQ,GAAEA,CAAE,KAAI84Q,GAAG,CAAC5rC,KAAJ,CAAUltO,CAAV,EAAaw2Q,KAAb,CAAmB,IAAnB,CAAyB,GAApE,CAAf,CADmB,CAEnB;;AACA,WAAQ,IAAGsC,GAAG,CAACzhR,IAAK,KAAIolR,QAAQ,CAACniQ,IAAT,CAAc,IAAd,CAAoB,GAA5C;AACH;;AAL2D;AAOhE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAAS4hQ,IAAT,CAAcj0G,GAAd,EAAmB;AACf,QAAM00G,IAAI,GAAG9Q,UAAU,CAAC5jG,GAAD,CAAvB;AACA,QAAM20G,OAAO,GAAGC,cAAc,CAACF,IAAD,EAAOG,MAAM,CAACC,GAAd,CAA9B;AACA,QAAM9tB,GAAG,GAAG0tB,IAAI,CAACh7Q,MAAL,GAAc,CAA1B;AACA,QAAM9L,CAAC,GAAG62Q,QAAQ,CAAC,EAAD,CAAlB;AACA,MAAIt4Q,CAAC,GAAG,UAAR;AAAA,MAAoBuB,CAAC,GAAG,UAAxB;AAAA,MAAoCb,CAAC,GAAG,UAAxC;AAAA,MAAoDU,CAAC,GAAG,UAAxD;AAAA,MAAoE1B,CAAC,GAAG,UAAxE;AACA8oR,EAAAA,OAAO,CAAC3tB,GAAG,IAAI,CAAR,CAAP,IAAqB,QAAS,KAAKA,GAAG,GAAG,EAAzC;AACA2tB,EAAAA,OAAO,CAAC,CAAE3tB,GAAG,GAAG,EAAN,IAAY,CAAb,IAAmB,CAApB,IAAyB,EAA1B,CAAP,GAAuCA,GAAvC;;AACA,OAAK,IAAIz6P,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGooR,OAAO,CAACj7Q,MAA5B,EAAoCnN,CAAC,IAAI,EAAzC,EAA6C;AACzC,UAAMwoR,EAAE,GAAG5oR,CAAX;AAAA,UAAc6oR,EAAE,GAAGtnR,CAAnB;AAAA,UAAsB6oJ,EAAE,GAAG1pJ,CAA3B;AAAA,UAA8BooR,EAAE,GAAG1nR,CAAnC;AAAA,UAAsC2nR,EAAE,GAAGrpR,CAA3C;;AACA,SAAK,IAAIsC,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAG,EAApB,EAAwBA,CAAC,EAAzB,EAA6B;AACzB,UAAIA,CAAC,GAAG,EAAR,EAAY;AACRP,QAAAA,CAAC,CAACO,CAAD,CAAD,GAAOwmR,OAAO,CAACpoR,CAAC,GAAG4B,CAAL,CAAd;AACH,OAFD,MAGK;AACDP,QAAAA,CAAC,CAACO,CAAD,CAAD,GAAOgnR,KAAK,CAACvnR,CAAC,CAACO,CAAC,GAAG,CAAL,CAAD,GAAWP,CAAC,CAACO,CAAC,GAAG,CAAL,CAAZ,GAAsBP,CAAC,CAACO,CAAC,GAAG,EAAL,CAAvB,GAAkCP,CAAC,CAACO,CAAC,GAAG,EAAL,CAApC,EAA8C,CAA9C,CAAZ;AACH;;AACD,YAAMinR,KAAK,GAAGC,EAAE,CAAClnR,CAAD,EAAIT,CAAJ,EAAOb,CAAP,EAAUU,CAAV,CAAhB;AACA,YAAME,CAAC,GAAG2nR,KAAK,CAAC,CAAD,CAAf;AACA,YAAMr9Q,CAAC,GAAGq9Q,KAAK,CAAC,CAAD,CAAf;AACA,YAAME,IAAI,GAAG,CAACH,KAAK,CAAChpR,CAAD,EAAI,CAAJ,CAAN,EAAcsB,CAAd,EAAiB5B,CAAjB,EAAoBkM,CAApB,EAAuBnK,CAAC,CAACO,CAAD,CAAxB,EAA6BwO,MAA7B,CAAoC44Q,KAApC,CAAb;AACA1pR,MAAAA,CAAC,GAAG0B,CAAJ;AACAA,MAAAA,CAAC,GAAGV,CAAJ;AACAA,MAAAA,CAAC,GAAGsoR,KAAK,CAACznR,CAAD,EAAI,EAAJ,CAAT;AACAA,MAAAA,CAAC,GAAGvB,CAAJ;AACAA,MAAAA,CAAC,GAAGmpR,IAAJ;AACH;;AACDnpR,IAAAA,CAAC,GAAGopR,KAAK,CAACppR,CAAD,EAAI4oR,EAAJ,CAAT;AACArnR,IAAAA,CAAC,GAAG6nR,KAAK,CAAC7nR,CAAD,EAAIsnR,EAAJ,CAAT;AACAnoR,IAAAA,CAAC,GAAG0oR,KAAK,CAAC1oR,CAAD,EAAI0pJ,EAAJ,CAAT;AACAhpJ,IAAAA,CAAC,GAAGgoR,KAAK,CAAChoR,CAAD,EAAI0nR,EAAJ,CAAT;AACAppR,IAAAA,CAAC,GAAG0pR,KAAK,CAAC1pR,CAAD,EAAIqpR,EAAJ,CAAT;AACH;;AACD,SAAOM,gBAAgB,CAACC,mBAAmB,CAAC,CAACtpR,CAAD,EAAIuB,CAAJ,EAAOb,CAAP,EAAUU,CAAV,EAAa1B,CAAb,CAAD,CAApB,CAAvB;AACH;;AACD,SAASwpR,EAAT,CAAYvqK,KAAZ,EAAmBp9G,CAAnB,EAAsBb,CAAtB,EAAyBU,CAAzB,EAA4B;AACxB,MAAIu9G,KAAK,GAAG,EAAZ,EAAgB;AACZ,WAAO,CAAEp9G,CAAC,GAAGb,CAAL,GAAW,CAACa,CAAD,GAAKH,CAAjB,EAAqB,UAArB,CAAP;AACH;;AACD,MAAIu9G,KAAK,GAAG,EAAZ,EAAgB;AACZ,WAAO,CAACp9G,CAAC,GAAGb,CAAJ,GAAQU,CAAT,EAAY,UAAZ,CAAP;AACH;;AACD,MAAIu9G,KAAK,GAAG,EAAZ,EAAgB;AACZ,WAAO,CAAEp9G,CAAC,GAAGb,CAAL,GAAWa,CAAC,GAAGH,CAAf,GAAqBV,CAAC,GAAGU,CAA1B,EAA8B,UAA9B,CAAP;AACH;;AACD,SAAO,CAACG,CAAC,GAAGb,CAAJ,GAAQU,CAAT,EAAY,UAAZ,CAAP;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASmoR,WAAT,CAAqB11G,GAArB,EAA0B;AACtB,QAAM00G,IAAI,GAAG9Q,UAAU,CAAC5jG,GAAD,CAAvB;AACA,MAAI21G,EAAE,GAAGC,MAAM,CAAClB,IAAD,EAAO,CAAP,CAAf;AACA,MAAImB,EAAE,GAAGD,MAAM,CAAClB,IAAD,EAAO,MAAP,CAAf;;AACA,MAAIiB,EAAE,IAAI,CAAN,KAAYE,EAAE,IAAI,CAAN,IAAWA,EAAE,IAAI,CAA7B,CAAJ,EAAqC;AACjCF,IAAAA,EAAE,GAAGA,EAAE,GAAG,UAAV;AACAE,IAAAA,EAAE,GAAGA,EAAE,GAAG,CAAC,UAAX;AACH;;AACD,SAAO,CAACF,EAAD,EAAKE,EAAL,CAAP;AACH;;AACD,SAASvB,YAAT,CAAsB7Q,GAAtB,EAA2BlW,OAAO,GAAG,EAArC,EAAyC;AACrC,MAAIuoB,cAAc,GAAGJ,WAAW,CAACjS,GAAD,CAAhC;;AACA,MAAIlW,OAAJ,EAAa;AACT,UAAMwoB,kBAAkB,GAAGL,WAAW,CAACnoB,OAAD,CAAtC;AACAuoB,IAAAA,cAAc,GAAGE,KAAK,CAACC,KAAK,CAACH,cAAD,EAAiB,CAAjB,CAAN,EAA2BC,kBAA3B,CAAtB;AACH;;AACD,QAAMJ,EAAE,GAAGG,cAAc,CAAC,CAAD,CAAzB;AACA,QAAMD,EAAE,GAAGC,cAAc,CAAC,CAAD,CAAzB;AACA,SAAOI,oBAAoB,CAACP,EAAE,GAAG,UAAN,EAAkBE,EAAlB,CAA3B;AACH;;AACD,SAASD,MAAT,CAAgBO,KAAhB,EAAuBtpR,CAAvB,EAA0B;AACtB,MAAIV,CAAC,GAAG,UAAR;AAAA,MAAoBuB,CAAC,GAAG,UAAxB;AACA,MAAInB,CAAJ;AACA,QAAMy6P,GAAG,GAAGmvB,KAAK,CAACz8Q,MAAlB;;AACA,OAAKnN,CAAC,GAAG,CAAT,EAAYA,CAAC,GAAG,EAAJ,IAAUy6P,GAAtB,EAA2Bz6P,CAAC,IAAI,EAAhC,EAAoC;AAChCJ,IAAAA,CAAC,GAAGopR,KAAK,CAACppR,CAAD,EAAIiqR,MAAM,CAACD,KAAD,EAAQ5pR,CAAR,EAAWsoR,MAAM,CAACwB,MAAlB,CAAV,CAAT;AACA3oR,IAAAA,CAAC,GAAG6nR,KAAK,CAAC7nR,CAAD,EAAI0oR,MAAM,CAACD,KAAD,EAAQ5pR,CAAC,GAAG,CAAZ,EAAesoR,MAAM,CAACwB,MAAtB,CAAV,CAAT;AACAxpR,IAAAA,CAAC,GAAG0oR,KAAK,CAAC1oR,CAAD,EAAIupR,MAAM,CAACD,KAAD,EAAQ5pR,CAAC,GAAG,CAAZ,EAAesoR,MAAM,CAACwB,MAAtB,CAAV,CAAT;AACA,UAAMh+C,GAAG,GAAGi+C,GAAG,CAACnqR,CAAD,EAAIuB,CAAJ,EAAOb,CAAP,CAAf;AACAV,IAAAA,CAAC,GAAGksO,GAAG,CAAC,CAAD,CAAP,EAAY3qO,CAAC,GAAG2qO,GAAG,CAAC,CAAD,CAAnB,EAAwBxrO,CAAC,GAAGwrO,GAAG,CAAC,CAAD,CAA/B;AACH;;AACDlsO,EAAAA,CAAC,GAAGopR,KAAK,CAACppR,CAAD,EAAIiqR,MAAM,CAACD,KAAD,EAAQ5pR,CAAR,EAAWsoR,MAAM,CAACwB,MAAlB,CAAV,CAAT;AACA3oR,EAAAA,CAAC,GAAG6nR,KAAK,CAAC7nR,CAAD,EAAI0oR,MAAM,CAACD,KAAD,EAAQ5pR,CAAC,GAAG,CAAZ,EAAesoR,MAAM,CAACwB,MAAtB,CAAV,CAAT,CAZsB,CAatB;;AACAxpR,EAAAA,CAAC,GAAG0oR,KAAK,CAAC1oR,CAAD,EAAIm6P,GAAJ,CAAT;AACAn6P,EAAAA,CAAC,GAAG0oR,KAAK,CAAC1oR,CAAD,EAAIupR,MAAM,CAACD,KAAD,EAAQ5pR,CAAC,GAAG,CAAZ,EAAesoR,MAAM,CAACwB,MAAtB,CAAN,IAAuC,CAA3C,CAAT;AACA,SAAOC,GAAG,CAACnqR,CAAD,EAAIuB,CAAJ,EAAOb,CAAP,CAAH,CAAa,CAAb,CAAP;AACH,EACD;;;AACA,SAASypR,GAAT,CAAanqR,CAAb,EAAgBuB,CAAhB,EAAmBb,CAAnB,EAAsB;AAClBV,EAAAA,CAAC,GAAGoqR,KAAK,CAACpqR,CAAD,EAAIuB,CAAJ,CAAT;AACAvB,EAAAA,CAAC,GAAGoqR,KAAK,CAACpqR,CAAD,EAAIU,CAAJ,CAAT;AACAV,EAAAA,CAAC,IAAIU,CAAC,KAAK,EAAX;AACAa,EAAAA,CAAC,GAAG6oR,KAAK,CAAC7oR,CAAD,EAAIb,CAAJ,CAAT;AACAa,EAAAA,CAAC,GAAG6oR,KAAK,CAAC7oR,CAAD,EAAIvB,CAAJ,CAAT;AACAuB,EAAAA,CAAC,IAAIvB,CAAC,IAAI,CAAV;AACAU,EAAAA,CAAC,GAAG0pR,KAAK,CAAC1pR,CAAD,EAAIV,CAAJ,CAAT;AACAU,EAAAA,CAAC,GAAG0pR,KAAK,CAAC1pR,CAAD,EAAIa,CAAJ,CAAT;AACAb,EAAAA,CAAC,IAAIa,CAAC,KAAK,EAAX;AACAvB,EAAAA,CAAC,GAAGoqR,KAAK,CAACpqR,CAAD,EAAIuB,CAAJ,CAAT;AACAvB,EAAAA,CAAC,GAAGoqR,KAAK,CAACpqR,CAAD,EAAIU,CAAJ,CAAT;AACAV,EAAAA,CAAC,IAAIU,CAAC,KAAK,EAAX;AACAa,EAAAA,CAAC,GAAG6oR,KAAK,CAAC7oR,CAAD,EAAIb,CAAJ,CAAT;AACAa,EAAAA,CAAC,GAAG6oR,KAAK,CAAC7oR,CAAD,EAAIvB,CAAJ,CAAT;AACAuB,EAAAA,CAAC,IAAIvB,CAAC,IAAI,EAAV;AACAU,EAAAA,CAAC,GAAG0pR,KAAK,CAAC1pR,CAAD,EAAIV,CAAJ,CAAT;AACAU,EAAAA,CAAC,GAAG0pR,KAAK,CAAC1pR,CAAD,EAAIa,CAAJ,CAAT;AACAb,EAAAA,CAAC,IAAIa,CAAC,KAAK,CAAX;AACAvB,EAAAA,CAAC,GAAGoqR,KAAK,CAACpqR,CAAD,EAAIuB,CAAJ,CAAT;AACAvB,EAAAA,CAAC,GAAGoqR,KAAK,CAACpqR,CAAD,EAAIU,CAAJ,CAAT;AACAV,EAAAA,CAAC,IAAIU,CAAC,KAAK,CAAX;AACAa,EAAAA,CAAC,GAAG6oR,KAAK,CAAC7oR,CAAD,EAAIb,CAAJ,CAAT;AACAa,EAAAA,CAAC,GAAG6oR,KAAK,CAAC7oR,CAAD,EAAIvB,CAAJ,CAAT;AACAuB,EAAAA,CAAC,IAAIvB,CAAC,IAAI,EAAV;AACAU,EAAAA,CAAC,GAAG0pR,KAAK,CAAC1pR,CAAD,EAAIV,CAAJ,CAAT;AACAU,EAAAA,CAAC,GAAG0pR,KAAK,CAAC1pR,CAAD,EAAIa,CAAJ,CAAT;AACAb,EAAAA,CAAC,IAAIa,CAAC,KAAK,EAAX;AACA,SAAO,CAACvB,CAAD,EAAIuB,CAAJ,EAAOb,CAAP,CAAP;AACH,EACD;AACA;;;AACA,IAAIgoR,MAAJ;;AACA,CAAC,UAAUA,MAAV,EAAkB;AACfA,EAAAA,MAAM,CAACA,MAAM,CAAC,QAAD,CAAN,GAAmB,CAApB,CAAN,GAA+B,QAA/B;AACAA,EAAAA,MAAM,CAACA,MAAM,CAAC,KAAD,CAAN,GAAgB,CAAjB,CAAN,GAA4B,KAA5B;AACH,CAHD,EAGGA,MAAM,KAAKA,MAAM,GAAG,EAAd,CAHT;;AAIA,SAASU,KAAT,CAAeppR,CAAf,EAAkBuB,CAAlB,EAAqB;AACjB,SAAO8oR,SAAS,CAACrqR,CAAD,EAAIuB,CAAJ,CAAT,CAAgB,CAAhB,CAAP;AACH;;AACD,SAAS8oR,SAAT,CAAmBrqR,CAAnB,EAAsBuB,CAAtB,EAAyB;AACrB,QAAMq2Q,GAAG,GAAG,CAAC53Q,CAAC,GAAG,MAAL,KAAgBuB,CAAC,GAAG,MAApB,CAAZ;AACA,QAAM+oR,IAAI,GAAG,CAACtqR,CAAC,KAAK,EAAP,KAAcuB,CAAC,KAAK,EAApB,KAA2Bq2Q,GAAG,KAAK,EAAnC,CAAb;AACA,SAAO,CAAC0S,IAAI,KAAK,EAAV,EAAeA,IAAI,IAAI,EAAT,GAAgB1S,GAAG,GAAG,MAApC,CAAP;AACH;;AACD,SAASiS,KAAT,CAAe7pR,CAAf,EAAkBuB,CAAlB,EAAqB;AACjB,QAAMgpR,EAAE,GAAGvqR,CAAC,CAAC,CAAD,CAAZ;AAAA,QAAiBwqR,EAAE,GAAGxqR,CAAC,CAAC,CAAD,CAAvB;AACA,QAAMyqR,EAAE,GAAGlpR,CAAC,CAAC,CAAD,CAAZ;AAAA,QAAiBmpR,EAAE,GAAGnpR,CAAC,CAAC,CAAD,CAAvB;AACA,QAAM+a,MAAM,GAAG+tQ,SAAS,CAACG,EAAD,EAAKE,EAAL,CAAxB;AACA,QAAMhyC,KAAK,GAAGp8N,MAAM,CAAC,CAAD,CAApB;AACA,QAAM/b,CAAC,GAAG+b,MAAM,CAAC,CAAD,CAAhB;AACA,QAAMtb,CAAC,GAAGooR,KAAK,CAACA,KAAK,CAACmB,EAAD,EAAKE,EAAL,CAAN,EAAgB/xC,KAAhB,CAAf;AACA,SAAO,CAAC13O,CAAD,EAAIT,CAAJ,CAAP;AACH;;AACD,SAAS6pR,KAAT,CAAepqR,CAAf,EAAkBuB,CAAlB,EAAqB;AACjB,QAAMq2Q,GAAG,GAAG,CAAC53Q,CAAC,GAAG,MAAL,KAAgBuB,CAAC,GAAG,MAApB,CAAZ;AACA,QAAM+oR,IAAI,GAAG,CAACtqR,CAAC,IAAI,EAAN,KAAauB,CAAC,IAAI,EAAlB,KAAyBq2Q,GAAG,IAAI,EAAhC,CAAb;AACA,SAAQ0S,IAAI,IAAI,EAAT,GAAgB1S,GAAG,GAAG,MAA7B;AACH,EACD;;;AACA,SAASoR,KAAT,CAAehpR,CAAf,EAAkBizC,KAAlB,EAAyB;AACrB,SAAQjzC,CAAC,IAAIizC,KAAN,GAAgBjzC,CAAC,KAAM,KAAKizC,KAAnC;AACH,EACD;;;AACA,SAAS62O,KAAT,CAAe5vO,GAAf,EAAoBjH,KAApB,EAA2B;AACvB,QAAMu2O,EAAE,GAAGtvO,GAAG,CAAC,CAAD,CAAd;AAAA,QAAmBwvO,EAAE,GAAGxvO,GAAG,CAAC,CAAD,CAA3B;AACA,QAAMl5C,CAAC,GAAIwoR,EAAE,IAAIv2O,KAAP,GAAiBy2O,EAAE,KAAM,KAAKz2O,KAAxC;AACA,QAAM1yC,CAAC,GAAImpR,EAAE,IAAIz2O,KAAP,GAAiBu2O,EAAE,KAAM,KAAKv2O,KAAxC;AACA,SAAO,CAACjyC,CAAD,EAAIT,CAAJ,CAAP;AACH;;AACD,SAASkoR,cAAT,CAAwBuB,KAAxB,EAA+BW,MAA/B,EAAuC;AACnC,QAAMz1P,IAAI,GAAI80P,KAAK,CAACz8Q,MAAN,GAAe,CAAhB,KAAuB,CAApC;AACA,QAAMi7Q,OAAO,GAAG,EAAhB;;AACA,OAAK,IAAIpoR,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAG80B,IAApB,EAA0B90B,CAAC,EAA3B,EAA+B;AAC3BooR,IAAAA,OAAO,CAACpoR,CAAD,CAAP,GAAa6pR,MAAM,CAACD,KAAD,EAAQ5pR,CAAC,GAAG,CAAZ,EAAeuqR,MAAf,CAAnB;AACH;;AACD,SAAOnC,OAAP;AACH;;AACD,SAASoC,MAAT,CAAgBZ,KAAhB,EAAuBrrK,KAAvB,EAA8B;AAC1B,SAAOA,KAAK,IAAIqrK,KAAK,CAACz8Q,MAAf,GAAwB,CAAxB,GAA4By8Q,KAAK,CAACrrK,KAAD,CAAxC;AACH;;AACD,SAASsrK,MAAT,CAAgBD,KAAhB,EAAuBrrK,KAAvB,EAA8BgsK,MAA9B,EAAsC;AAClC,MAAIE,IAAI,GAAG,CAAX;;AACA,MAAIF,MAAM,KAAKjC,MAAM,CAACC,GAAtB,EAA2B;AACvB,SAAK,IAAIvoR,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAG,CAApB,EAAuBA,CAAC,EAAxB,EAA4B;AACxByqR,MAAAA,IAAI,IAAID,MAAM,CAACZ,KAAD,EAAQrrK,KAAK,GAAGv+G,CAAhB,CAAN,IAA6B,KAAK,IAAIA,CAA9C;AACH;AACJ,GAJD,MAKK;AACD,SAAK,IAAIA,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAG,CAApB,EAAuBA,CAAC,EAAxB,EAA4B;AACxByqR,MAAAA,IAAI,IAAID,MAAM,CAACZ,KAAD,EAAQrrK,KAAK,GAAGv+G,CAAhB,CAAN,IAA4B,IAAIA,CAAxC;AACH;AACJ;;AACD,SAAOyqR,IAAP;AACH;;AACD,SAASvB,mBAAT,CAA6Bd,OAA7B,EAAsC;AAClC,SAAOA,OAAO,CAACh4Q,MAAR,CAAe,CAACw5Q,KAAD,EAAQa,IAAR,KAAiBb,KAAK,CAACnzQ,MAAN,CAAai0Q,kBAAkB,CAACD,IAAD,CAA/B,CAAhC,EAAwE,EAAxE,CAAP;AACH;;AACD,SAASC,kBAAT,CAA4BD,IAA5B,EAAkC;AAC9B,MAAIb,KAAK,GAAG,EAAZ;;AACA,OAAK,IAAI5pR,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAG,CAApB,EAAuBA,CAAC,EAAxB,EAA4B;AACxB4pR,IAAAA,KAAK,CAACxlR,IAAN,CAAYqmR,IAAI,KAAK,KAAK,IAAIzqR,CAAT,CAAV,GAAyB,IAApC;AACH;;AACD,SAAO4pR,KAAP;AACH;;AACD,SAASX,gBAAT,CAA0BW,KAA1B,EAAiC;AAC7B,MAAIe,GAAG,GAAG,EAAV;;AACA,OAAK,IAAI3qR,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAG4pR,KAAK,CAACz8Q,MAA1B,EAAkCnN,CAAC,EAAnC,EAAuC;AACnC,UAAMmB,CAAC,GAAGqpR,MAAM,CAACZ,KAAD,EAAQ5pR,CAAR,CAAhB;AACA2qR,IAAAA,GAAG,IAAI,CAACxpR,CAAC,KAAK,CAAP,EAAUqB,QAAV,CAAmB,EAAnB,IAAyB,CAACrB,CAAC,GAAG,IAAL,EAAWqB,QAAX,CAAoB,EAApB,CAAhC;AACH;;AACD,SAAOmoR,GAAG,CAACz7Q,WAAJ,EAAP;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,MAAM07Q,OAAO,GAAG,IAAIvD,oBAAJ,CAAyB,GAAzB,CAAhB;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,SAASsC,oBAAT,CAA8BP,EAA9B,EAAkCE,EAAlC,EAAsC;AAClC;AACA;AACA;AACA,QAAMuB,OAAO,GAAGD,OAAO,CAACrD,YAAR,CAAqB,CAArB,EAAwBP,UAAxB,CAAmCsC,EAAnC,CAAhB,CAJkC,CAKlC;AACA;;AACAsB,EAAAA,OAAO,CAACrD,YAAR,CAAqB,CAArB,EAAwBL,kBAAxB,CAA2CkC,EAA3C,EAA+CyB,OAA/C;AACA,SAAOA,OAAO,CAACroR,QAAR,EAAP;AACH;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,MAAMsoR,UAAN,CAAiB;AACb;AACA;AACAC,EAAAA,gBAAgB,CAACp6P,OAAD,EAAU;AACtB,WAAO,IAAP;AACH;;AALY;AAOjB;AACA;AACA;;;AACA,MAAMq6P,uBAAN,SAAsCzE,cAAtC,CAAqD;AACjD;AACAxkR,EAAAA,WAAW,CAAC4uB,OAAD,EAAUs6P,OAAV,EAAmB;AAC1B;AACA,SAAKA,OAAL,GAAeA,OAAf;AACA,SAAKC,gBAAL,GAAwB,EAAxB;AACA,SAAKC,cAAL,GAAsB,EAAtB;AACA,SAAKC,gBAAL,GAAwB,EAAxB;AACAz6P,IAAAA,OAAO,CAACm+J,KAAR,CAAc7qL,OAAd,CAAsBq7E,IAAI,IAAIA,IAAI,CAAC0iM,KAAL,CAAW,IAAX,CAA9B;AACH;;AACDqJ,EAAAA,YAAY,CAACC,YAAD,EAAe;AACvB,WAAO,KAAKJ,gBAAL,CAAsBl6P,cAAtB,CAAqCs6P,YAArC,IACH,KAAKJ,gBAAL,CAAsBI,YAAtB,CADG,GAEH,IAFJ;AAGH;;AACDC,EAAAA,cAAc,CAACC,UAAD,EAAa;AACvB,WAAO,KAAKJ,gBAAL,CAAsBp6P,cAAtB,CAAqCw6P,UAArC,IAAmD,KAAKJ,gBAAL,CAAsBI,UAAtB,CAAnD,GACH,IADJ;AAEH;;AACDrJ,EAAAA,SAAS,CAACx2Q,IAAD,EAAOlI,OAAP,EAAgB;AACrB,WAAO,IAAP;AACH;;AACDsiR,EAAAA,mBAAmB,CAACO,EAAD,EAAK7iR,OAAL,EAAc;AAC7B,SAAKgoR,oBAAL,CAA0BnF,EAAE,CAACT,SAA7B;AACA,UAAME,mBAAN,CAA0BO,EAA1B,EAA8B7iR,OAA9B;AACA,SAAKgoR,oBAAL,CAA0BnF,EAAE,CAACR,SAA7B;AACH;;AACDG,EAAAA,gBAAgB,CAACK,EAAD,EAAK7iR,OAAL,EAAc;AAC1B,SAAKgoR,oBAAL,CAA0BnF,EAAE,CAAC5sQ,IAA7B;AACH;;AACDysQ,EAAAA,mBAAmB,CAACG,EAAD,EAAK7iR,OAAL,EAAc;AAC7B,SAAKgoR,oBAAL,CAA0BnF,EAAE,CAAC5sQ,IAA7B;AACH,GAhCgD,CAiCjD;;;AACA+xQ,EAAAA,oBAAoB,CAACH,YAAD,EAAe;AAC/B,QAAI,CAACA,YAAD,IAAiB,KAAKJ,gBAAL,CAAsBl6P,cAAtB,CAAqCs6P,YAArC,CAArB,EAAyE;AACrE;AACH;;AACD,QAAIE,UAAU,GAAG,KAAKP,OAAL,CAAaK,YAAb,CAAjB;;AACA,QAAI,KAAKF,gBAAL,CAAsBp6P,cAAtB,CAAqCw6P,UAArC,CAAJ,EAAsD;AAClD;AACA,YAAMzrF,MAAM,GAAG,KAAKorF,cAAL,CAAoBK,UAApB,CAAf;AACA,WAAKL,cAAL,CAAoBK,UAApB,IAAkCzrF,MAAM,GAAG,CAA3C;AACAyrF,MAAAA,UAAU,GAAI,GAAEA,UAAW,IAAGzrF,MAAO,EAArC;AACH,KALD,MAMK;AACD,WAAKorF,cAAL,CAAoBK,UAApB,IAAkC,CAAlC;AACH;;AACD,SAAKN,gBAAL,CAAsBI,YAAtB,IAAsCE,UAAtC;AACA,SAAKJ,gBAAL,CAAsBI,UAAtB,IAAoCF,YAApC;AACH;;AAlDgD;AAqDrD;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,MAAMI,UAAN,CAAiB;AACbC,EAAAA,QAAQ,CAACp6H,GAAD,EAAM;AACV,UAAMq6H,QAAQ,GAAG,KAAKC,oBAAL,CAA0Bt6H,GAAG,CAAC+gG,KAA9B,CAAjB;;AACA,QAAI/gG,GAAG,CAAC9vC,QAAJ,CAAat0G,MAAb,IAAuB,CAA3B,EAA8B;AAC1B,aAAQ,IAAGokJ,GAAG,CAAC73I,IAAK,GAAEkyQ,QAAS,IAA/B;AACH;;AACD,UAAME,WAAW,GAAGv6H,GAAG,CAAC9vC,QAAJ,CAAa58G,GAAb,CAAiBy6E,IAAI,IAAIA,IAAI,CAAC0iM,KAAL,CAAW,IAAX,CAAzB,CAApB;AACA,WAAQ,IAAGzwH,GAAG,CAAC73I,IAAK,GAAEkyQ,QAAS,IAAGE,WAAW,CAAChmQ,IAAZ,CAAiB,EAAjB,CAAqB,KAAIyrI,GAAG,CAAC73I,IAAK,GAApE;AACH;;AACDyoQ,EAAAA,SAAS,CAACx2Q,IAAD,EAAO;AACZ,WAAOA,IAAI,CAACqB,KAAZ;AACH;;AACD++Q,EAAAA,gBAAgB,CAACC,IAAD,EAAO;AACnB,WAAQ,QAAO,KAAKH,oBAAL,CAA0BG,IAAI,CAAC15B,KAA/B,CAAsC,KAArD;AACH;;AACDu5B,EAAAA,oBAAoB,CAACv5B,KAAD,EAAQ;AACxB,UAAMs5B,QAAQ,GAAGjyQ,MAAM,CAACkF,IAAP,CAAYyzO,KAAZ,EAAmBztP,GAAnB,CAAwB6U,IAAD,IAAW,GAAEA,IAAK,KAAI44O,KAAK,CAAC54O,IAAD,CAAO,GAAzD,EAA6DoM,IAA7D,CAAkE,GAAlE,CAAjB;AACA,WAAO8lQ,QAAQ,CAACz+Q,MAAT,GAAkB,CAAlB,GAAsB,MAAMy+Q,QAA5B,GAAuC,EAA9C;AACH;;AACDK,EAAAA,YAAY,CAACC,OAAD,EAAU;AAClB,WAAQ,aAAYA,OAAO,CAACC,OAAQ,OAAMD,OAAO,CAACE,GAAI,MAAtD;AACH;;AArBY;;AAuBjB,MAAMnK,QAAQ,GAAG,IAAIyJ,UAAJ,EAAjB;;AACA,SAASW,SAAT,CAAmBv9F,KAAnB,EAA0B;AACtB,SAAOA,KAAK,CAACjqL,GAAN,CAAWy6E,IAAD,IAAUA,IAAI,CAAC0iM,KAAL,CAAWC,QAAX,CAApB,EAA0Cn8P,IAA1C,CAA+C,EAA/C,CAAP;AACH;;AACD,MAAMwmQ,WAAN,CAAkB;AACdvqR,EAAAA,WAAW,CAACwqR,cAAD,EAAiB;AACxB,SAAKj6B,KAAL,GAAa,EAAb;AACA34O,IAAAA,MAAM,CAACkF,IAAP,CAAY0tQ,cAAZ,EAA4BtoR,OAA5B,CAAqCuH,CAAD,IAAO;AACvC,WAAK8mP,KAAL,CAAW9mP,CAAX,IAAgBghR,SAAS,CAACD,cAAc,CAAC/gR,CAAD,CAAf,CAAzB;AACH,KAFD;AAGH;;AACDw2Q,EAAAA,KAAK,CAAC1tG,OAAD,EAAU;AACX,WAAOA,OAAO,CAACy3G,gBAAR,CAAyB,IAAzB,CAAP;AACH;;AATa;;AAWlB,MAAMU,OAAN,CAAc;AACV1qR,EAAAA,WAAW,CAACoqR,OAAD,EAAUC,GAAV,EAAe;AACtB,SAAKD,OAAL,GAAeA,OAAf;AACA,SAAKC,GAAL,GAAWA,GAAX;AACH;;AACDpK,EAAAA,KAAK,CAAC1tG,OAAD,EAAU;AACX,WAAOA,OAAO,CAAC23G,YAAR,CAAqB,IAArB,CAAP;AACH;;AAPS;;AASd,MAAMS,GAAN,CAAU;AACN3qR,EAAAA,WAAW,CAAC2X,IAAD,EAAO6yQ,cAAc,GAAG,EAAxB,EAA4B9qK,QAAQ,GAAG,EAAvC,EAA2C;AAClD,SAAK/nG,IAAL,GAAYA,IAAZ;AACA,SAAK+nG,QAAL,GAAgBA,QAAhB;AACA,SAAK6wI,KAAL,GAAa,EAAb;AACA34O,IAAAA,MAAM,CAACkF,IAAP,CAAY0tQ,cAAZ,EAA4BtoR,OAA5B,CAAqCuH,CAAD,IAAO;AACvC,WAAK8mP,KAAL,CAAW9mP,CAAX,IAAgBghR,SAAS,CAACD,cAAc,CAAC/gR,CAAD,CAAf,CAAzB;AACH,KAFD;AAGH;;AACDw2Q,EAAAA,KAAK,CAAC1tG,OAAD,EAAU;AACX,WAAOA,OAAO,CAACq3G,QAAR,CAAiB,IAAjB,CAAP;AACH;;AAXK;;AAaV,MAAMgB,MAAN,CAAa;AACT5qR,EAAAA,WAAW,CAAC6qR,cAAD,EAAiB;AACxB,SAAK5/Q,KAAL,GAAaw/Q,SAAS,CAACI,cAAD,CAAtB;AACH;;AACD5K,EAAAA,KAAK,CAAC1tG,OAAD,EAAU;AACX,WAAOA,OAAO,CAAC6tG,SAAR,CAAkB,IAAlB,CAAP;AACH;;AANQ;;AAQb,MAAM0K,EAAN,SAAiBF,MAAjB,CAAwB;AACpB5qR,EAAAA,WAAW,CAAC+qR,EAAE,GAAG,CAAN,EAAS;AAChB,UAAO,KAAI,IAAIjnR,KAAJ,CAAUinR,EAAE,GAAG,CAAf,EAAkBhnQ,IAAlB,CAAuB,GAAvB,CAA4B,EAAvC;AACH;;AAHmB;;AAKxB,MAAMinQ,cAAc,GAAG,CACnB,CAAC,IAAD,EAAO,OAAP,CADmB,EAEnB,CAAC,IAAD,EAAO,QAAP,CAFmB,EAGnB,CAAC,IAAD,EAAO,QAAP,CAHmB,EAInB,CAAC,IAAD,EAAO,MAAP,CAJmB,EAKnB,CAAC,IAAD,EAAO,MAAP,CALmB,CAAvB,EAOA;;AACA,SAASP,SAAT,CAAmB7gR,IAAnB,EAAyB;AACrB,SAAOohR,cAAc,CAAC38Q,MAAf,CAAsB,CAACzE,IAAD,EAAOq2J,KAAP,KAAiBr2J,IAAI,CAACkE,OAAL,CAAamyJ,KAAK,CAAC,CAAD,CAAlB,EAAuBA,KAAK,CAAC,CAAD,CAA5B,CAAvC,EAAyEr2J,IAAzE,CAAP;AACH;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,MAAMqhR,aAAa,GAAG,eAAtB;AACA,MAAMC,YAAY,GAAG,KAArB;AACA,MAAMC,kBAAkB,GAAG,IAA3B;AACA,MAAMC,YAAY,GAAG,IAArB;AACA,MAAMC,aAAa,GAAG,QAAtB;AACA,MAAMC,QAAQ,GAAI;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wBAlBA;;AAmBA,MAAMC,GAAN,SAAkBxC,UAAlB,CAA6B;AACzB7lR,EAAAA,KAAK,CAAC2D,QAAD,EAAWioB,MAAX,EAAmB;AACpB,UAAM08P,cAAc,GAAG,IAAIC,cAAJ,EAAvB;AACA,UAAMl5G,OAAO,GAAG,IAAIm5G,UAAJ,EAAhB;AACA,QAAI/zH,QAAQ,GAAG,IAAIgzH,GAAJ,CAAQM,aAAR,CAAf;AACApkR,IAAAA,QAAQ,CAAC3E,OAAT,CAAiB0sB,OAAO,IAAI;AACxB,YAAM2hO,KAAK,GAAG;AAAEtwP,QAAAA,EAAE,EAAE2uB,OAAO,CAAC3uB;AAAd,OAAd;;AACA,UAAI2uB,OAAO,CAACtjB,WAAZ,EAAyB;AACrBilP,QAAAA,KAAK,CAAC,MAAD,CAAL,GAAgB3hO,OAAO,CAACtjB,WAAxB;AACH;;AACD,UAAIsjB,OAAO,CAACqwO,OAAZ,EAAqB;AACjB1O,QAAAA,KAAK,CAAC,SAAD,CAAL,GAAmB3hO,OAAO,CAACqwO,OAA3B;AACH;;AACD,UAAI0sB,UAAU,GAAG,EAAjB;AACA/8P,MAAAA,OAAO,CAAC+gE,OAAR,CAAgBztF,OAAhB,CAAyB0F,MAAD,IAAY;AAChC+jR,QAAAA,UAAU,CAACtpR,IAAX,CAAgB,IAAIsoR,GAAJ,CAAQU,aAAR,EAAuB,EAAvB,EAA2B,CAAC,IAAIT,MAAJ,CAAY,GAAEhjR,MAAM,CAACw7Q,QAAS,IAAGx7Q,MAAM,CAACy7Q,SAAU,GAAEz7Q,MAAM,CAAC27Q,OAAP,KAAmB37Q,MAAM,CAACy7Q,SAA1B,GAAsC,MAAMz7Q,MAAM,CAAC27Q,OAAnD,GAA6D,EAAG,EAApH,CAAD,CAA3B,CAAhB;AACH,OAFD;AAGA5rH,MAAAA,QAAQ,CAACj4C,QAAT,CAAkBr9G,IAAlB,CAAuB,IAAIyoR,EAAJ,CAAO,CAAP,CAAvB,EAAkC,IAAIH,GAAJ,CAAQO,YAAR,EAAsB36B,KAAtB,EAA6B,CAAC,GAAGo7B,UAAJ,EAAgB,GAAGp5G,OAAO,CAAC+3G,SAAR,CAAkB17P,OAAO,CAACm+J,KAA1B,CAAnB,CAA7B,CAAlC;AACH,KAbD;AAcAp1B,IAAAA,QAAQ,CAACj4C,QAAT,CAAkBr9G,IAAlB,CAAuB,IAAIyoR,EAAJ,EAAvB;AACA,WAAOR,SAAS,CAAC,CACb,IAAIC,WAAJ,CAAgB;AAAEr7Q,MAAAA,OAAO,EAAE,KAAX;AAAkB08Q,MAAAA,QAAQ,EAAE;AAA5B,KAAhB,CADa,EAEb,IAAId,EAAJ,EAFa,EAGb,IAAIJ,OAAJ,CAAYO,aAAZ,EAA2BK,QAA3B,CAHa,EAIb,IAAIR,EAAJ,EAJa,EAKbU,cAAc,CAACK,kBAAf,CAAkCl0H,QAAlC,CALa,EAMb,IAAImzH,EAAJ,EANa,CAAD,CAAhB;AAQH;;AACDroR,EAAAA,IAAI,CAAC8H,OAAD,EAAUnH,GAAV,EAAe;AACf,UAAM,IAAIyV,KAAJ,CAAU,aAAV,CAAN;AACH;;AACDizQ,EAAAA,MAAM,CAACl9P,OAAD,EAAU;AACZ,WAAOk9P,MAAM,CAACl9P,OAAD,CAAb;AACH;;AACDo6P,EAAAA,gBAAgB,CAACp6P,OAAD,EAAU;AACtB,WAAO,IAAIq6P,uBAAJ,CAA4Br6P,OAA5B,EAAqC06P,YAArC,CAAP;AACH;;AArCwB;;AAuC7B,MAAMoC,UAAN,CAAiB;AACbtL,EAAAA,SAAS,CAACx2Q,IAAD,EAAOlI,OAAP,EAAgB;AACrB,WAAO,CAAC,IAAIkpR,MAAJ,CAAWhhR,IAAI,CAACqB,KAAhB,CAAD,CAAP;AACH;;AACD04Q,EAAAA,cAAc,CAACx9L,SAAD,EAAYzkF,OAAZ,EAAqB;AAC/B,UAAMqrL,KAAK,GAAG,EAAd;AACA5mG,IAAAA,SAAS,CAACu5B,QAAV,CAAmBx9G,OAAnB,CAA4Bq7E,IAAD,IAAUwvG,KAAK,CAAC1qL,IAAN,CAAW,GAAGk7E,IAAI,CAAC0iM,KAAL,CAAW,IAAX,CAAd,CAArC;AACA,WAAOlzF,KAAP;AACH;;AACDs1F,EAAAA,QAAQ,CAACE,GAAD,EAAM7gR,OAAN,EAAe;AACnB,UAAMqrL,KAAK,GAAG,CAAC,IAAI69F,MAAJ,CAAY,IAAGrI,GAAG,CAAC+B,qBAAsB,KAAI/B,GAAG,CAACzhR,IAAK,IAAtD,CAAD,CAAd;AACA8W,IAAAA,MAAM,CAACkF,IAAP,CAAYylQ,GAAG,CAAC5rC,KAAhB,EAAuBz0O,OAAvB,CAAgC3D,CAAD,IAAO;AAClCwuL,MAAAA,KAAK,CAAC1qL,IAAN,CAAW,IAAIuoR,MAAJ,CAAY,GAAErsR,CAAE,IAAhB,CAAX,EAAiC,GAAGgkR,GAAG,CAAC5rC,KAAJ,CAAUp4O,CAAV,EAAa0hR,KAAb,CAAmB,IAAnB,CAApC,EAA8D,IAAI2K,MAAJ,CAAY,IAAZ,CAA9D;AACH,KAFD;AAGA79F,IAAAA,KAAK,CAAC1qL,IAAN,CAAW,IAAIuoR,MAAJ,CAAY,GAAZ,CAAX;AACA,WAAO79F,KAAP;AACH;;AACDi3F,EAAAA,mBAAmB,CAACO,EAAD,EAAK7iR,OAAL,EAAc;AAC7B,UAAMqqR,cAAc,GAAG,IAAInB,MAAJ,CAAY,IAAGrG,EAAE,CAAC/0H,GAAI,GAAtB,CAAvB;AACA,UAAMw8H,OAAO,GAAG,IAAIrB,GAAJ,CAAQS,YAAR,EAAsB,EAAtB,EAA0B,CAACW,cAAD,CAA1B,CAAhB,CAF6B,CAG7B;;AACA,UAAME,UAAU,GAAG,IAAItB,GAAJ,CAAQQ,kBAAR,EAA4B;AAAExzQ,MAAAA,IAAI,EAAE4sQ,EAAE,CAACT;AAAX,KAA5B,EAAoD,CAACkI,OAAD,EAAUD,cAAV,CAApD,CAAnB;;AACA,QAAIxH,EAAE,CAAC/0B,MAAP,EAAe;AACX;AACA,aAAO,CAACy8B,UAAD,CAAP;AACH;;AACD,UAAMC,cAAc,GAAG,IAAItB,MAAJ,CAAY,KAAIrG,EAAE,CAAC/0H,GAAI,GAAvB,CAAvB;AACA,UAAM28H,OAAO,GAAG,IAAIxB,GAAJ,CAAQS,YAAR,EAAsB,EAAtB,EAA0B,CAACc,cAAD,CAA1B,CAAhB,CAV6B,CAW7B;;AACA,UAAME,UAAU,GAAG,IAAIzB,GAAJ,CAAQQ,kBAAR,EAA4B;AAAExzQ,MAAAA,IAAI,EAAE4sQ,EAAE,CAACR;AAAX,KAA5B,EAAoD,CAACoI,OAAD,EAAUD,cAAV,CAApD,CAAnB;AACA,WAAO,CAACD,UAAD,EAAa,GAAG,KAAK3B,SAAL,CAAe/F,EAAE,CAAC7kK,QAAlB,CAAhB,EAA6C0sK,UAA7C,CAAP;AACH;;AACDlI,EAAAA,gBAAgB,CAACK,EAAD,EAAK7iR,OAAL,EAAc;AAC1B,UAAM2qR,mBAAmB,GAAG,IAAIzB,MAAJ,CAAY,KAAIrG,EAAE,CAACt5Q,KAAM,IAAzB,CAA5B,CAD0B,CAE1B;;AACA,UAAMqhR,KAAK,GAAG,IAAI3B,GAAJ,CAAQS,YAAR,EAAsB,EAAtB,EAA0B,CAACiB,mBAAD,CAA1B,CAAd;AACA,WAAO,CACH;AACA,QAAI1B,GAAJ,CAAQQ,kBAAR,EAA4B;AAAExzQ,MAAAA,IAAI,EAAE4sQ,EAAE,CAAC5sQ;AAAX,KAA5B,EAA+C,CAAC20Q,KAAD,EAAQD,mBAAR,CAA/C,CAFG,CAAP;AAIH;;AACDjI,EAAAA,mBAAmB,CAACG,EAAD,EAAK7iR,OAAL,EAAc;AAC7B,UAAM6qR,aAAa,GAAGhI,EAAE,CAACt5Q,KAAH,CAASlB,UAA/B;AACA,UAAMyiR,OAAO,GAAGjI,EAAE,CAACt5Q,KAAH,CAASnK,IAAzB;AACA,UAAM2rR,QAAQ,GAAG70Q,MAAM,CAACkF,IAAP,CAAYynQ,EAAE,CAACt5Q,KAAH,CAAS0rO,KAArB,EAA4B7zO,GAA5B,CAAiCmI,KAAD,IAAWA,KAAK,GAAG,QAAnD,EAA6D8Y,IAA7D,CAAkE,GAAlE,CAAjB;AACA,UAAM2oQ,SAAS,GAAG,IAAI9B,MAAJ,CAAY,IAAG2B,aAAc,KAAIC,OAAQ,KAAIC,QAAS,GAAtD,CAAlB;AACA,UAAMH,KAAK,GAAG,IAAI3B,GAAJ,CAAQS,YAAR,EAAsB,EAAtB,EAA0B,CAACsB,SAAD,CAA1B,CAAd;AACA,WAAO,CACH;AACA,QAAI/B,GAAJ,CAAQQ,kBAAR,EAA4B;AAAExzQ,MAAAA,IAAI,EAAE4sQ,EAAE,CAAC5sQ;AAAX,KAA5B,EAA+C,CAAC20Q,KAAD,EAAQI,SAAR,CAA/C,CAFG,CAAP;AAIH;;AACDpC,EAAAA,SAAS,CAACv9F,KAAD,EAAQ;AACb,WAAO,GAAGr4K,MAAH,CAAU,GAAGq4K,KAAK,CAACjqL,GAAN,CAAUy6E,IAAI,IAAIA,IAAI,CAAC0iM,KAAL,CAAW,IAAX,CAAlB,CAAb,CAAP;AACH;;AAtDY;;AAwDjB,SAAS6L,MAAT,CAAgBl9P,OAAhB,EAAyB;AACrB,SAAOi3P,aAAa,CAACj3P,OAAD,CAApB;AACH,EACD;;;AACA,MAAM68P,cAAN,CAAqB;AACjBI,EAAAA,kBAAkB,CAACtuM,IAAD,EAAO;AACrBA,IAAAA,IAAI,CAAC0iM,KAAL,CAAW,IAAX;AACA,WAAO1iM,IAAP;AACH;;AACDqsM,EAAAA,QAAQ,CAACp6H,GAAD,EAAM;AACV,QAAIA,GAAG,CAAC73I,IAAJ,KAAawzQ,kBAAjB,EAAqC;AACjC,UAAI,CAAC37H,GAAG,CAAC9vC,QAAL,IAAiB8vC,GAAG,CAAC9vC,QAAJ,CAAat0G,MAAb,IAAuB,CAA5C,EAA+C;AAC3C,cAAMuhR,MAAM,GAAG,IAAI/B,MAAJ,CAAWp7H,GAAG,CAAC+gG,KAAJ,CAAU,MAAV,KAAqB,KAAhC,CAAf;AACA/gG,QAAAA,GAAG,CAAC9vC,QAAJ,GAAe,CAAC,IAAIirK,GAAJ,CAAQS,YAAR,EAAsB,EAAtB,EAA0B,CAACuB,MAAD,CAA1B,CAAD,CAAf;AACH;AACJ,KALD,MAMK,IAAIn9H,GAAG,CAAC9vC,QAAR,EAAkB;AACnB8vC,MAAAA,GAAG,CAAC9vC,QAAJ,CAAax9G,OAAb,CAAqBq7E,IAAI,IAAIA,IAAI,CAAC0iM,KAAL,CAAW,IAAX,CAA7B;AACH;AACJ;;AACDG,EAAAA,SAAS,CAACx2Q,IAAD,EAAO,CAAG;;AACnBogR,EAAAA,gBAAgB,CAACC,IAAD,EAAO,CAAG;;AAC1BC,EAAAA,YAAY,CAACC,OAAD,EAAU,CAAG;;AAlBR,EAoBrB;;;AACA,SAASb,YAAT,CAAsBC,YAAtB,EAAoC;AAChC,SAAOA,YAAY,CAACluP,WAAb,GAA2BvtB,OAA3B,CAAmC,aAAnC,EAAkD,GAAlD,CAAP;AACH;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;;;AACA,MAAM8+Q,8BAA8B,GAAG,MAAvC;AACA;AACA;AACA;AACA;AACA;;AACA,MAAMC,sBAAsB,GAAG,OAA/B;AACA;;AACA,MAAMC,SAAS,GAAG,MAAlB;AACA,MAAMC,gBAAgB,GAAG,OAAzB;AACA;;AACA,MAAMC,mBAAmB,GAAG,MAA5B;AACA;;AACA,MAAMC,uBAAuB,GAAG,WAAhC;AACA;;AACA,MAAMC,uBAAuB,GAAG,GAAhC;;AACA,SAASC,eAAT,CAAyBx1Q,IAAzB,EAA+B;AAC3B,SAAOA,IAAI,KAAKm1Q,SAAT,IAAsBn1Q,IAAI,CAAC9J,UAAL,CAAgBk/Q,gBAAhB,CAA7B;AACH;;AACD,SAASK,cAAT,CAAwBxP,IAAxB,EAA8B;AAC1B,SAAOA,IAAI,YAAYsF,OAAvB;AACH;;AACD,SAASmK,eAAT,CAAyBzP,IAAzB,EAA+B;AAC3B,SAAOwP,cAAc,CAACxP,IAAD,CAAd,IAAwBA,IAAI,CAAC7wF,KAAL,CAAW3hL,MAAX,KAAsB,CAA9C,IAAmDwyQ,IAAI,CAAC7wF,KAAL,CAAW,CAAX,aAAyB62F,GAAnF;AACH;;AACD,SAAS0J,WAAT,CAAqB/vM,IAArB,EAA2B;AACvB,SAAO,CAAC,CAACA,IAAI,CAAC4yL,IAAd;AACH;;AACD,SAASod,YAAT,CAAsB5tI,OAAtB,EAA+B;AAC3B,SAAOA,OAAO,CAAC4wG,KAAR,CAAcx7O,IAAd,CAAoByhJ,IAAD,IAAU22H,eAAe,CAAC32H,IAAI,CAAC7+I,IAAN,CAA5C,CAAP;AACH;;AACD,SAAS61Q,kBAAT,CAA4B5+P,OAA5B,EAAqC;AACjC,SAAOA,OAAO,CAACm+J,KAAR,CAAc,CAAd,CAAP;AACH;;AACD,SAAS0gG,mBAAT,CAA6BljR,OAA7B,EAAsCmjR,SAAS,GAAG,CAAlD,EAAqD;AACjD,QAAMC,OAAO,GAAGD,SAAS,GAAG,CAAZ,GAAiB,IAAGA,SAAU,EAA9B,GAAkC,EAAlD;AACA,SAAQ,GAAER,uBAAwB,GAAE3iR,OAAQ,GAAEojR,OAAQ,GAAET,uBAAwB,EAAhF;AACH;;AACD,SAASU,uBAAT,CAAiCC,OAAjC,EAA0CC,iBAAiB,GAAG,CAA9D,EAAiEJ,SAAS,GAAG,CAA7E,EAAgF;AAC5E,MAAI,CAACG,OAAO,CAACziR,MAAb,EACI,OAAO,EAAP;AACJ,MAAI2iR,GAAG,GAAG,EAAV;AACA,QAAMC,OAAO,GAAGH,OAAO,CAACziR,MAAR,GAAiB,CAAjC;;AACA,OAAK,IAAInN,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAG+vR,OAApB,EAA6B/vR,CAAC,EAA9B,EAAkC;AAC9B8vR,IAAAA,GAAG,IAAK,GAAEF,OAAO,CAAC5vR,CAAD,CAAI,GAAEwvR,mBAAmB,CAACK,iBAAiB,GAAG7vR,CAArB,EAAwByvR,SAAxB,CAAmC,EAA7E;AACH;;AACDK,EAAAA,GAAG,IAAIF,OAAO,CAACG,OAAD,CAAd;AACA,SAAOD,GAAP;AACH;;AACD,SAASE,qBAAT,CAA+BC,QAAQ,GAAG,CAA1C,EAA6C;AACzC,MAAI9nO,OAAO,GAAG8nO,QAAd;AACA,SAAO,MAAM9nO,OAAO,EAApB;AACH;;AACD,SAAS+nO,oBAAT,CAA8B/L,YAA9B,EAA4C;AACxC,QAAMt1M,MAAM,GAAG,EAAf;AACAs1M,EAAAA,YAAY,CAAClgR,OAAb,CAAqB,CAACu6C,MAAD,EAAStzC,GAAT,KAAiB;AAClC2jE,IAAAA,MAAM,CAAC3jE,GAAD,CAAN,GAAc09P,OAAO,CAACpqN,MAAM,CAACrxC,MAAP,GAAgB,CAAhB,GAAqB,IAAGqxC,MAAM,CAAC14B,IAAP,CAAY,GAAZ,CAAiB,GAAzC,GAA8C04B,MAAM,CAAC,CAAD,CAArD,CAArB;AACH,GAFD;AAGA,SAAOqwB,MAAP;AACH;;AACD,SAASshN,oBAAT,CAA8BtrR,GAA9B,EAAmC6U,IAAnC,EAAyC,GAAG8kC,MAA5C,EAAoD;AAChD,QAAM2J,OAAO,GAAGtjD,GAAG,CAACuU,GAAJ,CAAQM,IAAR,KAAiB,EAAjC;AACAyuC,EAAAA,OAAO,CAAC/jD,IAAR,CAAa,GAAGo6C,MAAhB;AACA35C,EAAAA,GAAG,CAACG,GAAJ,CAAQ0U,IAAR,EAAcyuC,OAAd;AACH;;AACD,SAASioO,6BAAT,CAAuCzQ,IAAvC,EAA6CkQ,iBAAiB,GAAG,CAAjE,EAAoEJ,SAAS,GAAG,CAAhF,EAAmF;AAC/E,QAAMl1H,QAAQ,GAAGs1H,iBAAjB;AACA,QAAM1L,YAAY,GAAG,IAAIlyQ,GAAJ,EAArB;AACA,QAAMqtE,IAAI,GAAGqgM,IAAI,YAAYsF,OAAhB,GAA0BtF,IAAI,CAAC7wF,KAAL,CAAW9/K,IAAX,CAAgBswE,IAAI,IAAIA,IAAI,YAAYmmM,SAAxC,CAA1B,GAA+E9F,IAA5F;;AACA,MAAIrgM,IAAJ,EAAU;AACNA,IAAAA,IAAI,CACCmiC,QADL,CAEKx7G,MAFL,CAEauqJ,KAAD,IAAWA,KAAK,YAAYw1H,WAFxC,EAGK/hR,OAHL,CAGa,CAACusJ,KAAD,EAAQm5F,GAAR,KAAgB;AACzB,YAAMr9O,OAAO,GAAGkjR,mBAAmB,CAACj1H,QAAQ,GAAGovF,GAAZ,EAAiB8lC,SAAjB,CAAnC;AACAU,MAAAA,oBAAoB,CAAChM,YAAD,EAAe3zH,KAAK,CAAC92I,IAArB,EAA2BpN,OAA3B,CAApB;AACH,KAND;AAOH;;AACD,SAAO63Q,YAAP;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASkM,0BAAT,CAAoCxhN,MAAM,GAAG,EAA7C,EAAiDyhN,YAAjD,EAA+D;AAC3D,QAAMC,OAAO,GAAG,EAAhB;;AACA,MAAI1hN,MAAM,IAAIl1D,MAAM,CAACkF,IAAP,CAAYgwD,MAAZ,EAAoB1hE,MAAlC,EAA0C;AACtCwM,IAAAA,MAAM,CAACkF,IAAP,CAAYgwD,MAAZ,EAAoB5qE,OAApB,CAA4BiH,GAAG,IAAIqlR,OAAO,CAACC,yBAAyB,CAACtlR,GAAD,EAAMolR,YAAN,CAA1B,CAAP,GAAwDzhN,MAAM,CAAC3jE,GAAD,CAAjG;AACH;;AACD,SAAOqlR,OAAP;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASC,yBAAT,CAAmC92Q,IAAnC,EAAyC42Q,YAAY,GAAG,IAAxD,EAA8D;AAC1D,QAAM9E,UAAU,GAAGH,YAAY,CAAC3xQ,IAAD,CAA/B;;AACA,MAAI,CAAC42Q,YAAL,EAAmB;AACf,WAAO9E,UAAP;AACH;;AACD,QAAMiF,MAAM,GAAGjF,UAAU,CAAC17Q,KAAX,CAAiB,GAAjB,CAAf;;AACA,MAAI2gR,MAAM,CAACtjR,MAAP,KAAkB,CAAtB,EAAyB;AACrB;AACA,WAAOuM,IAAI,CAACxK,WAAL,EAAP;AACH;;AACD,MAAIwhR,OAAJ,CAV0D,CAW1D;;AACA,MAAI,QAAQ3pQ,IAAR,CAAa0pQ,MAAM,CAACA,MAAM,CAACtjR,MAAP,GAAgB,CAAjB,CAAnB,CAAJ,EAA6C;AACzCujR,IAAAA,OAAO,GAAGD,MAAM,CAAC11Q,GAAP,EAAV;AACH;;AACD,MAAIy0D,GAAG,GAAGihN,MAAM,CAACntQ,KAAP,GAAepU,WAAf,EAAV;;AACA,MAAIuhR,MAAM,CAACtjR,MAAX,EAAmB;AACfqiE,IAAAA,GAAG,IAAIihN,MAAM,CAAC5rR,GAAP,CAAWvE,CAAC,IAAIA,CAAC,CAACmvK,MAAF,CAAS,CAAT,EAAYryI,WAAZ,KAA4B98B,CAAC,CAAC8I,KAAF,CAAQ,CAAR,EAAW8F,WAAX,EAA5C,EAAsE4W,IAAtE,CAA2E,EAA3E,CAAP;AACH;;AACD,SAAO4qQ,OAAO,GAAI,GAAElhN,GAAI,IAAGkhN,OAAQ,EAArB,GAAyBlhN,GAAvC;AACH;AACD;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASmhN,yBAAT,CAAmCC,KAAnC,EAA0C;AACtC,SAAQ,GAAEjC,8BAA+B,GAAEiC,KAAM,EAA1C,CAA4CxzP,WAA5C,EAAP;AACH;AACD;AACA;AACA;AACA;;;AACA,SAASyzP,mBAAT,CAA6BhpB,QAA7B,EAAuC;AACnC,SAAO,IAAI/I,cAAJ,CAAmB+I,QAAQ,CAACnuP,IAA5B,EAAkCm0J,SAAlC,EAA6C4rF,aAA7C,EAA4D5rF,SAA5D,EAAuEg6F,QAAQ,CAAC/M,UAAhF,CAAP;AACH;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,MAAMg2B,6BAA6B,GAAG,MAAtC;AACA;;AACA,MAAMC,cAAc,GAAG,IAAvB;AACA;;AACA,MAAMC,YAAY,GAAG,KAArB;AACA;;AACA,MAAMC,YAAY,GAAG,IAArB;AACA;;AACA,MAAMC,gBAAgB,GAAG,IAAzB;AACA;;AACA,MAAMC,kBAAkB,GAAG,WAA3B;AACA;;AACA,MAAMC,iBAAiB,GAAG,eAA1B;AACA;;AACA,MAAMC,0BAA0B,GAAG,aAAnC;AACA;AACA;AACA;AACA;AACA;;AACA,SAASC,kBAAT,CAA4B3uB,UAA5B,EAAwCjpP,IAAxC,EAA8C;AAC1C,MAAIqvQ,IAAI,GAAG,IAAX;AACA,SAAO,MAAM;AACT,QAAI,CAACA,IAAL,EAAW;AACPpmB,MAAAA,UAAU,CAACv+P,IAAX,CAAgB,IAAI06P,cAAJ,CAAmBiyB,cAAnB,EAAmCljH,SAAnC,EAA8C0rF,YAA9C,CAAhB;AACAwvB,MAAAA,IAAI,GAAGlhB,QAAQ,CAACnuP,IAAD,CAAf;AACH;;AACD,WAAOqvQ,IAAP;AACH,GAND;AAOH;;AACD,SAASwI,WAAT,CAAqBxiP,OAArB,EAA8B;AAC1B,MAAI,IAAJ,EAAU;AACN,UAAM,IAAIn0B,KAAJ,CAAW,WAAU,KAAK7Y,WAAL,CAAiB2X,IAAK,oBAAmBq1B,OAAQ,MAAtE,CAAN;AACH;;AACD,QAAM,IAAIn0B,KAAJ,CAAW,WAAUm0B,OAAQ,uBAA7B,CAAN;AACH;;AACD,SAASyiP,OAAT,CAAiBrxH,GAAjB,EAAsB;AAClB,QAAM,IAAIvlJ,KAAJ,CAAW,0BAAyB,KAAK7Y,WAAL,CAAiB2X,IAAK,mBAAkBymJ,GAAG,CAACp+J,WAAJ,CAAgB2X,IAAK,EAAjG,CAAN;AACH;;AACD,SAAS+3Q,SAAT,CAAmBzkR,KAAnB,EAA0B;AACtB,MAAInH,KAAK,CAACC,OAAN,CAAckH,KAAd,CAAJ,EAA0B;AACtB,WAAOm7P,UAAU,CAACn7P,KAAK,CAACnI,GAAN,CAAU4sR,SAAV,CAAD,CAAjB;AACH;;AACD,SAAO7oB,OAAO,CAAC57P,KAAD,EAAQysP,aAAR,CAAd;AACH;;AACD,SAASi4B,mCAAT,CAA6C7yQ,IAA7C,EAAmD8yQ,YAAnD,EAAiE;AAC7D,MAAIh4Q,MAAM,CAACy2D,mBAAP,CAA2BvxD,IAA3B,EAAiC1R,MAAjC,GAA0C,CAA9C,EAAiD;AAC7C,WAAOykR,eAAe,CAAC/yQ,IAAD,EAAO8yQ,YAAP,CAAtB;AACH;;AACD,SAAO,IAAP;AACH;;AACD,SAASC,eAAT,CAAyB/sR,GAAzB,EAA8B8sR,YAA9B,EAA4C;AACxC,SAAOvpB,UAAU,CAACzuP,MAAM,CAACy2D,mBAAP,CAA2BvrE,GAA3B,EAAgCA,GAAhC,CAAoCqG,GAAG,IAAI;AACzD;AACA;AACA,UAAM8B,KAAK,GAAGnI,GAAG,CAACqG,GAAD,CAAjB;AACA,QAAI2mR,YAAJ;AACA,QAAIrG,UAAJ;AACA,QAAIsG,YAAJ;AACA,QAAIC,iBAAJ;;AACA,QAAIlsR,KAAK,CAACC,OAAN,CAAckH,KAAd,CAAJ,EAA0B;AACtB,OAACw+Q,UAAD,EAAaqG,YAAb,IAA6B7kR,KAA7B;AACA8kR,MAAAA,YAAY,GAAG5mR,GAAf;AACA6mR,MAAAA,iBAAiB,GAAGvG,UAAU,KAAKqG,YAAnC;AACH,KAJD,MAKK;AACD,OAACA,YAAD,EAAerG,UAAf,IAA6BzV,YAAY,CAAC7qQ,GAAD,EAAM,CAACA,GAAD,EAAM8B,KAAN,CAAN,CAAzC;AACA8kR,MAAAA,YAAY,GAAGD,YAAf,CAFC,CAGD;AACA;AACA;;AACAE,MAAAA,iBAAiB,GAAGvG,UAAU,KAAKqG,YAAf,IAA+B3mR,GAAG,CAACkmB,QAAJ,CAAa,GAAb,CAAnD;AACH;;AACD,WAAO;AACHlmB,MAAAA,GAAG,EAAE4mR,YADF;AAEH;AACAvuB,MAAAA,MAAM,EAAEutB,6BAA6B,CAAC/pQ,IAA9B,CAAmC+qQ,YAAnC,CAHL;AAIH9kR,MAAAA,KAAK,EAAG2kR,YAAY,IAAII,iBAAjB,GACH5pB,UAAU,CAAC,CAACspB,SAAS,CAACjG,UAAD,CAAV,EAAwBiG,SAAS,CAACI,YAAD,CAAjC,CAAD,CADP,GAEHJ,SAAS,CAACjG,UAAD;AANV,KAAP;AAQH,GA7BiB,CAAD,CAAjB;AA8BH;AACD;AACA;AACA;;;AACA,SAASwG,iBAAT,CAA2B7pM,UAA3B,EAAuC;AACnC,SAAO4gL,MAAM,CAAC5gL,UAAU,CAACA,UAAU,CAACh7E,MAAX,GAAoB,CAArB,CAAX,CAAb,EAAkD;AAC9Cg7E,IAAAA,UAAU,CAACptE,GAAX;AACH;;AACD,SAAOotE,UAAP;AACH;;AACD,SAAS8pM,iBAAT,CAA2BxrR,KAA3B,EAAkCyrR,YAAlC,EAAgD;AAC5C,MAAIrsR,KAAK,CAACC,OAAN,CAAcW,KAAK,CAACm/F,SAApB,CAAJ,EAAoC;AAChC,QAAIA,SAAS,GAAG,EAAhB;AACAn/F,IAAAA,KAAK,CAACm/F,SAAN,CAAgB3hG,OAAhB,CAAyBsqK,QAAD,IAAc;AAClC;AACA;AACA;AACA,YAAMonF,SAAS,GAAGpnF,QAAQ,CAACz+J,KAAT,CAAe,GAAf,EAAoBjL,GAApB,CAAwBiC,KAAK,IAAI8hQ,OAAO,CAAC9hQ,KAAK,CAACihB,IAAN,EAAD,CAAxC,CAAlB;AACA69E,MAAAA,SAAS,CAACxhG,IAAV,CAAe,GAAGuxP,SAAlB;AACH,KAND;AAOA,WAAOu8B,YAAY,CAAC3nB,eAAb,CAA6BpC,UAAU,CAACviK,SAAD,CAAvC,EAAoD,IAApD,CAAP;AACH,GAVD,MAWK;AACD;AACA,YAAQn/F,KAAK,CAACm/F,SAAN,CAAgBozH,UAAxB;AACI,WAAK;AAAE;AAAP;AACA,WAAK;AAAE;AAAP;AACI,eAAOvyN,KAAK,CAACm/F,SAAN,CAAgB95F,UAAvB;;AACJ,WAAK;AAAE;AAAP;AACI,eAAOg8P,UAAU,CAACoE,aAAa,CAAC8G,iBAAf,CAAV,CAA4C/X,MAA5C,CAAmD,CAACx0P,KAAK,CAACm/F,SAAN,CAAgB95F,UAAjB,CAAnD,CAAP;AALR;AAOH;AACJ;AACD;AACA;AACA;AACA;AACA;;;AACA,MAAMqmR,aAAN,CAAoB;AAChBpwR,EAAAA,WAAW,GAAG;AACV,SAAKy8C,MAAL,GAAc,EAAd;AACH;;AACDx5C,EAAAA,GAAG,CAACkG,GAAD,EAAM8B,KAAN,EAAa;AACZ,QAAIA,KAAJ,EAAW;AACP,WAAKwxC,MAAL,CAAYp6C,IAAZ,CAAiB;AAAE8G,QAAAA,GAAG,EAAEA,GAAP;AAAY8B,QAAAA,KAAZ;AAAmBu2P,QAAAA,MAAM,EAAE;AAA3B,OAAjB;AACH;AACJ;;AACD6uB,EAAAA,YAAY,GAAG;AACX,WAAOhqB,UAAU,CAAC,KAAK5pN,MAAN,CAAjB;AACH;;AAXe;AAapB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAAS6zO,4BAAT,CAAsCC,OAAtC,EAA+C;AAC3C,QAAMC,aAAa,GAAG,EAAtB;;AACA,MAAID,OAAO,YAAY7O,QAAnB,IAA+B6O,OAAO,CAACvkI,OAAR,KAAoB,aAAvD,EAAsE;AAClEukI,IAAAA,OAAO,CAAC5O,aAAR,CAAsBz/Q,OAAtB,CAA8BrE,CAAC,IAAI2yR,aAAa,CAAC3yR,CAAC,CAAC8Z,IAAH,CAAb,GAAwB,EAA3D;AACH,GAFD,MAGK;AACD44Q,IAAAA,OAAO,CAACzhP,UAAR,CAAmB5sC,OAAnB,CAA2BrE,CAAC,IAAI;AAC5B,UAAI,CAACsvR,eAAe,CAACtvR,CAAC,CAAC8Z,IAAH,CAApB,EAA8B;AAC1B64Q,QAAAA,aAAa,CAAC3yR,CAAC,CAAC8Z,IAAH,CAAb,GAAwB9Z,CAAC,CAACoN,KAA1B;AACH;AACJ,KAJD;AAKAslR,IAAAA,OAAO,CAAC55D,MAAR,CAAez0N,OAAf,CAAuBjE,CAAC,IAAI;AACxBuyR,MAAAA,aAAa,CAACvyR,CAAC,CAAC0Z,IAAH,CAAb,GAAwB,EAAxB;AACH,KAFD;AAGA44Q,IAAAA,OAAO,CAAClP,OAAR,CAAgBn/Q,OAAhB,CAAwBnE,CAAC,IAAI;AACzByyR,MAAAA,aAAa,CAACzyR,CAAC,CAAC4Z,IAAH,CAAb,GAAwB,EAAxB;AACH,KAFD;AAGH;;AACD,SAAO64Q,aAAP;AACH;AACD;;;AACA,SAASC,kBAAT,CAA4Bz1H,SAA5B,EAAuC01H,KAAvC,EAA8C9V,IAA9C,EAAoD;AAChD,MAAI7wQ,UAAU,GAAGg8P,UAAU,CAAC/qG,SAAD,EAAY,IAAZ,EAAkB4/G,IAAlB,CAA3B;;AACA,MAAI8V,KAAK,CAACtlR,MAAN,GAAe,CAAnB,EAAsB;AAClB,SAAK,IAAInN,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGyyR,KAAK,CAACtlR,MAA1B,EAAkCnN,CAAC,EAAnC,EAAuC;AACnC8L,MAAAA,UAAU,GAAGA,UAAU,CAACmvP,MAAX,CAAkBw3B,KAAK,CAACzyR,CAAD,CAAvB,EAA4B28Q,IAA5B,CAAb;AACH;AACJ,GAJD,MAKK;AACD;AACA7wQ,IAAAA,UAAU,GAAGA,UAAU,CAACmvP,MAAX,CAAkB,EAAlB,EAAsB0hB,IAAtB,CAAb;AACH;;AACD,SAAO7wQ,UAAP;AACH;AACD;AACA;AACA;AACA;AACA;;;AACA,SAAS4mR,0BAAT,CAAoCC,aAApC,EAAmD;AAC/C,QAAM;AAAEp9G,IAAAA,WAAF;AAAeq6G,IAAAA;AAAf,MAA2B+C,aAAjC;;AACA,MAAIp9G,WAAW,CAACpoK,MAAZ,KAAuB,CAAvB,IAA4ByiR,OAAO,CAACziR,MAAR,KAAmB,CAA/C,IAAoDyiR,OAAO,CAAC,CAAD,CAAP,KAAe,EAAnE,IAAyEA,OAAO,CAAC,CAAD,CAAP,KAAe,EAA5F,EAAgG;AAC5F;AACA;AACA;AACA,WAAO,CAAP;AACH,GALD,MAMK;AACD,WAAOr6G,WAAW,CAACpoK,MAAZ,GAAqByiR,OAAO,CAACziR,MAApC;AACH;AACJ;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASylR,iBAAT,CAA2BjT,IAA3B,EAAiCkT,kBAAjC,EAAqD;AACjD,MAAI32Q,MAAM,GAAG,IAAb;AACA,QAAM42Q,WAAW,GAAG;AAChBp5Q,IAAAA,IAAI,EAAEimQ,IAAI,CAACjmQ,IADK;AAEhB7W,IAAAA,IAAI,EAAE88Q,IAAI,CAAC98Q,IAFK;AAGhBk9Q,IAAAA,YAAY,EAAEJ,IAAI,CAACI,YAHH;AAIhBoB,IAAAA,iBAAiB,EAAExB,IAAI,CAACwB,iBAJR;AAKhBlvD,IAAAA,IAAI,EAAE,EALU;AAMhB1qN,IAAAA,MAAM,EAAEk4Q,eAAe,CAAC9zG;AANR,GAApB;;AAQA,MAAIg0G,IAAI,CAACx7C,QAAL,KAAkBt2D,SAAtB,EAAiC;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA,UAAMklH,cAAc,GAAGpT,IAAI,CAACx7C,QAAL,CAAcr4N,UAAd,CAAyBwuP,YAAzB,CAAsCqlB,IAAI,CAACI,YAA3C,CAAvB;AACA,QAAI9tD,IAAI,GAAGpkD,SAAX;;AACA,QAAI8xG,IAAI,CAAC1tD,IAAL,KAAcpkD,SAAlB,EAA6B;AACzBokD,MAAAA,IAAI,GAAG0tD,IAAI,CAAC1tD,IAAZ;AACH;;AACD,QAAIA,IAAI,KAAKpkD,SAAb,EAAwB;AACpB;AACA3xJ,MAAAA,MAAM,GAAGwjQ,sBAAsB,CAAC,EAC5B,GAAGoT,WADyB;AAE5BnS,QAAAA,QAAQ,EAAEhB,IAAI,CAACx7C,QAAL,CAAcr4N,UAFI;AAG5By0Q,QAAAA,YAAY,EAAEtuD,IAHc;AAI5BwuD,QAAAA,YAAY,EAAEjB,qBAAqB,CAACkB;AAJR,OAAD,CAA/B;AAMH,KARD,MASK,IAAIqS,cAAJ,EAAoB;AACrB72Q,MAAAA,MAAM,GAAGwjQ,sBAAsB,CAACoT,WAAD,CAA/B;AACH,KAFI,MAGA;AACD52Q,MAAAA,MAAM,GAAG;AACLymP,QAAAA,UAAU,EAAE,EADP;AAEL72P,QAAAA,UAAU,EAAEknR,iBAAiB,CAACrT,IAAI,CAAC98Q,IAAL,CAAUmK,KAAX,EAAkB2yQ,IAAI,CAACx7C,QAAL,CAAcr4N,UAAhC,EAA4C+mR,kBAA5C;AAFxB,OAAT;AAIH;AACJ,GA9BD,MA+BK,IAAIlT,IAAI,CAACztD,UAAL,KAAoBrkD,SAAxB,EAAmC;AACpC,QAAI8xG,IAAI,CAAC1tD,IAAL,KAAcpkD,SAAlB,EAA6B;AACzB3xJ,MAAAA,MAAM,GAAGwjQ,sBAAsB,CAAC,EAC5B,GAAGoT,WADyB;AAE5BnS,QAAAA,QAAQ,EAAEhB,IAAI,CAACztD,UAFa;AAG5BquD,QAAAA,YAAY,EAAEZ,IAAI,CAAC1tD,IAAL,IAAa,EAHC;AAI5BwuD,QAAAA,YAAY,EAAEjB,qBAAqB,CAACznB;AAJR,OAAD,CAA/B;AAMH,KAPD,MAQK;AACD77O,MAAAA,MAAM,GAAG;AACLymP,QAAAA,UAAU,EAAE,EADP;AAEL72P,QAAAA,UAAU,EAAE0rB,EAAE,CAAC,EAAD,EAAK,CAAC,IAAI2tO,eAAJ,CAAoBwa,IAAI,CAACztD,UAAL,CAAgB+oC,MAAhB,CAAuB,EAAvB,CAApB,CAAD,CAAL;AAFT,OAAT;AAIH;AACJ,GAfI,MAgBA,IAAI0kB,IAAI,CAACxvB,QAAL,KAAkBtiF,SAAtB,EAAiC;AAClC;AACA;AACA;AACA3xJ,IAAAA,MAAM,GAAGwjQ,sBAAsB,CAAC,EAC5B,GAAGoT,WADyB;AAE5BhnR,MAAAA,UAAU,EAAE6zQ,IAAI,CAACxvB,QAAL,CAAcrkP;AAFE,KAAD,CAA/B;AAIH,GARI,MASA,IAAI6zQ,IAAI,CAAC/qE,WAAL,KAAqB/mC,SAAzB,EAAoC;AACrC;AACA3xJ,IAAAA,MAAM,GAAGwjQ,sBAAsB,CAAC,EAC5B,GAAGoT,WADyB;AAE5BhnR,MAAAA,UAAU,EAAEg8P,UAAU,CAACoE,aAAa,CAACl4D,MAAf,CAAV,CAAiCinD,MAAjC,CAAwC,CAAC0kB,IAAI,CAAC/qE,WAAL,CAAiB9oM,UAAlB,CAAxC;AAFgB,KAAD,CAA/B;AAIH,GANI,MAOA;AACDoQ,IAAAA,MAAM,GAAG;AACLymP,MAAAA,UAAU,EAAE,EADP;AAEL72P,MAAAA,UAAU,EAAEknR,iBAAiB,CAACrT,IAAI,CAAC98Q,IAAL,CAAUmK,KAAX,EAAkB2yQ,IAAI,CAACI,YAAvB,EAAqC8S,kBAArC;AAFxB,KAAT;AAIH;;AACD,QAAM/rR,KAAK,GAAG64Q,IAAI,CAACI,YAAnB;AACA,QAAMkT,eAAe,GAAG,IAAId,aAAJ,EAAxB;AACAc,EAAAA,eAAe,CAACjuR,GAAhB,CAAoB,OAApB,EAA6B8B,KAA7B;AACAmsR,EAAAA,eAAe,CAACjuR,GAAhB,CAAoB,SAApB,EAA+BkX,MAAM,CAACpQ,UAAtC,EAlFiD,CAmFjD;;AACA,MAAI6zQ,IAAI,CAAC79E,UAAL,CAAgBh2L,UAAhB,CAA2BkB,KAA3B,KAAqC,IAAzC,EAA+C;AAC3CimR,IAAAA,eAAe,CAACjuR,GAAhB,CAAoB,YAApB,EAAkCs6Q,oCAAoC,CAACK,IAAI,CAAC79E,UAAN,CAAtE;AACH;;AACD,QAAMh2L,UAAU,GAAGg8P,UAAU,CAACoE,aAAa,CAAC7mC,kBAAf,CAAV,CACd41B,MADc,CACP,CAACg4B,eAAe,CAACb,YAAhB,EAAD,CADO,EAC2BvkH,SAD3B,EACsC,IADtC,CAAnB;AAEA,SAAO;AACH/hK,IAAAA,UADG;AAEHjJ,IAAAA,IAAI,EAAEqwR,oBAAoB,CAACvT,IAAD,CAFvB;AAGHhd,IAAAA,UAAU,EAAEzmP,MAAM,CAACymP;AAHhB,GAAP;AAKH;;AACD,SAASuwB,oBAAT,CAA8BvT,IAA9B,EAAoC;AAChC,SAAO,IAAI3mB,cAAJ,CAAmB8O,UAAU,CAACoE,aAAa,CAACgH,qBAAf,EAAsC,CAAC8K,kBAAkB,CAAC2B,IAAI,CAAC98Q,IAAL,CAAUA,IAAX,EAAiB88Q,IAAI,CAACwB,iBAAtB,CAAnB,CAAtC,CAA7B,CAAP;AACH;;AACD,SAAS6R,iBAAT,CAA2BnwR,IAA3B,EAAiCk9Q,YAAjC,EAA+CoT,iBAA/C,EAAkE;AAC9D,MAAItwR,IAAI,CAACy8E,IAAL,KAAcygM,YAAY,CAACzgM,IAA/B,EAAqC;AACjC;AACA;AACA;AACA;AACA,WAAOygM,YAAY,CAAC19H,IAAb,CAAkB,MAAlB,CAAP;AACH;;AACD,MAAI,CAAC8wI,iBAAL,EAAwB;AACpB;AACA;AACA;AACA;AACA;AACA,WAAOC,qBAAqB,CAACrT,YAAD,CAA5B;AACH,GAf6D,CAgB9D;AACA;AACA;AACA;AACA;;;AACA,QAAMsT,aAAa,GAAGvrB,UAAU,CAACoE,aAAa,CAAC8G,iBAAf,CAAV,CAA4C/X,MAA5C,CAAmD,CAAC8kB,YAAD,CAAnD,CAAtB;AACA,SAAOqT,qBAAqB,CAACC,aAAD,CAA5B;AACH;;AACD,SAASD,qBAAT,CAA+BvwR,IAA/B,EAAqC;AACjC,SAAO20B,EAAE,CAAC,CAAC,IAAIirO,OAAJ,CAAY,GAAZ,EAAiBlJ,YAAjB,CAAD,CAAD,EAAmC,CAAC,IAAI4L,eAAJ,CAAoBtiQ,IAAI,CAACw/I,IAAL,CAAU,MAAV,EAAkB44G,MAAlB,CAAyB,CAAC4M,QAAQ,CAAC,GAAD,CAAT,CAAzB,CAApB,CAAD,CAAnC,CAAT;AACH;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASyrB,oBAAT,CAA8B5mF,UAA9B,EAA0C1/L,KAA1C,EAAiD;AAC7C,MAAIA,KAAK,IAAI,IAAb,EAAmB;AACf;AACH;;AACD,MAAI,CAACnH,KAAK,CAACC,OAAN,CAAckH,KAAd,CAAL,EAA2B;AACvB,UAAM,IAAI4N,KAAJ,CAAW,aAAY8xL,UAAW,8BAAlC,CAAN;AACH;;AACD,OAAK,IAAI1sM,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGgN,KAAK,CAACG,MAA1B,EAAkCnN,CAAC,IAAI,CAAvC,EAA0C;AACtC,QAAI,OAAOgN,KAAK,CAAChN,CAAD,CAAZ,KAAoB,QAAxB,EAAkC;AAC9B,YAAM,IAAI4a,KAAJ,CAAW,aAAY8xL,UAAW,8BAAlC,CAAN;AACH;AACJ;AACJ;;AACD,MAAM6mF,8BAA8B,GAAG,CACnC,OADmC,EAEnC,MAFmC,EAGnC,QAHmC,EAInC,aAJmC,EAKnC,OALmC,CAK1B;AAL0B,CAAvC;;AAOA,SAASC,0BAAT,CAAoC9mF,UAApC,EAAgD1/L,KAAhD,EAAuD;AACnD,MAAIA,KAAK,IAAI,IAAT,IAAiB,EAAEnH,KAAK,CAACC,OAAN,CAAckH,KAAd,KAAwBA,KAAK,CAACG,MAAN,IAAgB,CAA1C,CAArB,EAAmE;AAC/D,UAAM,IAAIyN,KAAJ,CAAW,aAAY8xL,UAAW,iCAAlC,CAAN;AACH,GAFD,MAGK,IAAI1/L,KAAK,IAAI,IAAb,EAAmB;AACpB,UAAMkU,KAAK,GAAGlU,KAAK,CAAC,CAAD,CAAnB;AACA,UAAM4lE,GAAG,GAAG5lE,KAAK,CAAC,CAAD,CAAjB,CAFoB,CAGpB;;AACAumR,IAAAA,8BAA8B,CAACtvR,OAA/B,CAAuCwvR,MAAM,IAAI;AAC7C,UAAIA,MAAM,CAAC1sQ,IAAP,CAAY7F,KAAZ,KAAsBuyQ,MAAM,CAAC1sQ,IAAP,CAAY6rD,GAAZ,CAA1B,EAA4C;AACxC,cAAM,IAAIh4D,KAAJ,CAAW,KAAIsG,KAAM,OAAM0xD,GAAI,4CAA/B,CAAN;AACH;AACJ,KAJD;AAKH;AACJ;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,MAAM8gN,mBAAN,CAA0B;AACtB3xR,EAAAA,WAAW,CAACmf,KAAD,EAAQ0xD,GAAR,EAAa;AACpB,SAAK1xD,KAAL,GAAaA,KAAb;AACA,SAAK0xD,GAAL,GAAWA,GAAX;AACH;;AACe,SAAT3+D,SAAS,CAACi1L,OAAD,EAAU;AACtB,QAAI,CAACA,OAAL,EAAc;AACV,aAAOyqF,4BAAP;AACH;;AACDH,IAAAA,0BAA0B,CAAC,eAAD,EAAkBtqF,OAAlB,CAA1B;AACA,WAAO,IAAIwqF,mBAAJ,CAAwBxqF,OAAO,CAAC,CAAD,CAA/B,EAAoCA,OAAO,CAAC,CAAD,CAA3C,CAAP;AACH;;AAXqB;;AAa1B,MAAMyqF,4BAA4B,GAAG,IAAID,mBAAJ,CAAwB,IAAxB,EAA8B,IAA9B,CAArC;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;AACA;AACA;AACA;;AACA,MAAME,YAAN,CAAmB;AACf7xR,EAAAA,WAAW,CAACojR,QAAD,EAAWzrQ,IAAX,EAAiB8nJ,OAAjB,EAA0B;AACjC,SAAK2jH,QAAL,GAAgBA,QAAhB;AACA,SAAKzrQ,IAAL,GAAYA,IAAZ;AACA,SAAK8nJ,OAAL,GAAeA,OAAf;AACH;;AACDqyH,EAAAA,eAAe,GAAG;AACd,QAAI,KAAKryH,OAAL,CAAar0J,MAAjB,EAAyB;AACrB,YAAM,IAAIyN,KAAJ,CAAW,2DAA0DmL,IAAI,CAACC,SAAL,CAAe,IAAf,CAAqB,GAA1F,CAAN;AACH;AACJ;;AAVc;AAYnB;AACA;AACA;AACA;;;AACA,MAAM8tQ,iBAAN,CAAwB;AACpB/xR,EAAAA,WAAW,GAAG;AACV,SAAKm4B,KAAL,GAAa,IAAIjoB,GAAJ,EAAb;AACH;;AACDmH,EAAAA,GAAG,CAAC26Q,eAAD,EAAkBr6Q,IAAlB,EAAwB8nJ,OAAxB,EAAiC;AAChCA,IAAAA,OAAO,GAAGA,OAAO,IAAI,EAArB;AACA,UAAMwyH,YAAY,GAAGxyH,OAAO,CAACr0J,MAAR,GAAkB,IAAGq0J,OAAO,CAAC17I,IAAR,CAAa,GAAb,CAAkB,EAAvC,GAA2C,EAAhE;AACA,UAAM5a,GAAG,GAAI,IAAG6oR,eAAgB,KAAIr6Q,IAAK,GAAEs6Q,YAAa,EAAxD;AACA,QAAI93Q,MAAM,GAAG,KAAKge,KAAL,CAAW9gB,GAAX,CAAelO,GAAf,CAAb;;AACA,QAAI,CAACgR,MAAL,EAAa;AACTA,MAAAA,MAAM,GAAG,IAAI03Q,YAAJ,CAAiBG,eAAjB,EAAkCr6Q,IAAlC,EAAwC8nJ,OAAxC,CAAT;AACA,WAAKtnI,KAAL,CAAWl1B,GAAX,CAAekG,GAAf,EAAoBgR,MAApB;AACH;;AACD,WAAOA,MAAP;AACH;;AAdmB;AAiBxB;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,MAAM+3Q,IAAI,GAAG,CAAb;AACA,MAAMC,OAAO,GAAG,CAAhB;AACA,MAAMC,IAAI,GAAG,CAAb;AACA,MAAMC,GAAG,GAAG,EAAZ;AACA,MAAMC,KAAK,GAAG,EAAd;AACA,MAAMC,GAAG,GAAG,EAAZ;AACA,MAAMC,GAAG,GAAG,EAAZ;AACA,MAAMC,MAAM,GAAG,EAAf;AACA,MAAMC,KAAK,GAAG,EAAd;AACA,MAAMC,GAAG,GAAG,EAAZ;AACA,MAAMC,KAAK,GAAG,EAAd;AACA,MAAMC,EAAE,GAAG,EAAX;AACA,MAAMC,QAAQ,GAAG,EAAjB;AACA,MAAMC,UAAU,GAAG,EAAnB;AACA,MAAMC,GAAG,GAAG,EAAZ;AACA,MAAMC,OAAO,GAAG,EAAhB;AACA,MAAMC,OAAO,GAAG,EAAhB;AACA,MAAMC,KAAK,GAAG,EAAd;AACA,MAAMC,KAAK,GAAG,EAAd;AACA,MAAMC,MAAM,GAAG,EAAf;AACA,MAAMC,MAAM,GAAG,EAAf;AACA,MAAMC,OAAO,GAAG,EAAhB;AACA,MAAMC,MAAM,GAAG,EAAf;AACA,MAAMC,MAAM,GAAG,EAAf;AACA,MAAMC,UAAU,GAAG,EAAnB;AACA,MAAMC,GAAG,GAAG,EAAZ;AACA,MAAMC,GAAG,GAAG,EAAZ;AACA,MAAMC,GAAG,GAAG,EAAZ;AACA,MAAMC,SAAS,GAAG,EAAlB;AACA,MAAMC,EAAE,GAAG,EAAX;AACA,MAAMC,EAAE,GAAG,EAAX;AACA,MAAMC,EAAE,GAAG,EAAX;AACA,MAAMC,EAAE,GAAG,EAAX;AACA,MAAMC,EAAE,GAAG,EAAX;AACA,MAAMC,EAAE,GAAG,EAAX;AACA,MAAMC,EAAE,GAAG,EAAX;AACA,MAAMC,EAAE,GAAG,EAAX;AACA,MAAMC,SAAS,GAAG,EAAlB;AACA,MAAMC,UAAU,GAAG,EAAnB;AACA,MAAMC,SAAS,GAAG,EAAlB;AACA,MAAMC,MAAM,GAAG,EAAf;AACA,MAAMC,EAAE,GAAG,EAAX;AACA,MAAMC,EAAE,GAAG,EAAX;AACA,MAAMC,EAAE,GAAG,EAAX;AACA,MAAMttP,EAAE,GAAG,GAAX;AACA,MAAMutP,EAAE,GAAG,GAAX;AACA,MAAMC,EAAE,GAAG,GAAX;AACA,MAAMC,EAAE,GAAG,GAAX;AACA,MAAM1wQ,EAAE,GAAG,GAAX;AACA,MAAM2wQ,EAAE,GAAG,GAAX;AACA,MAAMC,EAAE,GAAG,GAAX;AACA,MAAMC,EAAE,GAAG,GAAX;AACA,MAAMC,EAAE,GAAG,GAAX;AACA,MAAMC,OAAO,GAAG,GAAhB;AACA,MAAMC,IAAI,GAAG,GAAb;AACA,MAAMC,OAAO,GAAG,GAAhB;AACA,MAAMC,KAAK,GAAG,GAAd;AACA,MAAMC,KAAK,GAAG,GAAd;AACA,MAAMC,MAAM,GAAG,GAAf;AACA,MAAMC,GAAG,GAAG,EAAZ;AACA,MAAMC,GAAG,GAAG,EAAZ;;AACA,SAASC,YAAT,CAAsBhjP,IAAtB,EAA4B;AACxB,SAAQA,IAAI,IAAIu/O,IAAR,IAAgBv/O,IAAI,IAAI4/O,MAAzB,IAAqC5/O,IAAI,IAAI2iP,KAApD;AACH;;AACD,SAASM,OAAT,CAAiBjjP,IAAjB,EAAuB;AACnB,SAAOkhP,EAAE,IAAIlhP,IAAN,IAAcA,IAAI,IAAIohP,EAA7B;AACH;;AACD,SAAS8B,aAAT,CAAuBljP,IAAvB,EAA6B;AACzB,SAAOA,IAAI,IAAI+hP,EAAR,IAAc/hP,IAAI,IAAIuiP,EAAtB,IAA4BviP,IAAI,IAAIqhP,EAAR,IAAcrhP,IAAI,IAAIyhP,EAAzD;AACH;;AACD,SAAS0B,eAAT,CAAyBnjP,IAAzB,EAA+B;AAC3B,SAAOA,IAAI,IAAI+hP,EAAR,IAAc/hP,IAAI,IAAIiiP,EAAtB,IAA4BjiP,IAAI,IAAIqhP,EAAR,IAAcrhP,IAAI,IAAIuhP,EAAlD,IAAwD0B,OAAO,CAACjjP,IAAD,CAAtE;AACH;;AACD,SAASojP,SAAT,CAAmBpjP,IAAnB,EAAyB;AACrB,SAAOA,IAAI,KAAKw/O,GAAT,IAAgBx/O,IAAI,KAAK2/O,GAAhC;AACH;;AACD,SAAS0D,YAAT,CAAsBrjP,IAAtB,EAA4B;AACxB,SAAOkhP,EAAE,IAAIlhP,IAAN,IAAcA,IAAI,IAAImhP,EAA7B;AACH;;AACD,SAASmC,OAAT,CAAiBtjP,IAAjB,EAAuB;AACnB,SAAOA,IAAI,KAAKmgP,GAAT,IAAgBngP,IAAI,KAAK8/O,GAAzB,IAAgC9/O,IAAI,KAAK+iP,GAAhD;AACH;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,MAAMQ,aAAN,CAAoB;AAChBp2R,EAAAA,WAAW,CAAC8wG,IAAD,EAAOv3E,MAAP,EAAessN,IAAf,EAAqBk1B,GAArB,EAA0B;AACjC,SAAKjqK,IAAL,GAAYA,IAAZ;AACA,SAAKv3E,MAAL,GAAcA,MAAd;AACA,SAAKssN,IAAL,GAAYA,IAAZ;AACA,SAAKk1B,GAAL,GAAWA,GAAX;AACH;;AACDt6Q,EAAAA,QAAQ,GAAG;AACP,WAAO,KAAK84B,MAAL,IAAe,IAAf,GAAuB,GAAE,KAAKu3E,IAAL,CAAU1tG,GAAI,IAAG,KAAKyiP,IAAK,IAAG,KAAKk1B,GAAI,EAAhE,GAAoE,KAAKjqK,IAAL,CAAU1tG,GAArF;AACH;;AACDizR,EAAAA,MAAM,CAACrxL,KAAD,EAAQ;AACV,UAAMp9F,MAAM,GAAG,KAAKkpG,IAAL,CAAUvmG,OAAzB;AACA,UAAMmuP,GAAG,GAAG9wP,MAAM,CAACwD,MAAnB;AACA,QAAImuB,MAAM,GAAG,KAAKA,MAAlB;AACA,QAAIssN,IAAI,GAAG,KAAKA,IAAhB;AACA,QAAIk1B,GAAG,GAAG,KAAKA,GAAf;;AACA,WAAOxhP,MAAM,GAAG,CAAT,IAAcyrE,KAAK,GAAG,CAA7B,EAAgC;AAC5BzrE,MAAAA,MAAM;AACNyrE,MAAAA,KAAK;AACL,YAAM6wI,EAAE,GAAGjuO,MAAM,CAACivH,UAAP,CAAkBt9F,MAAlB,CAAX;;AACA,UAAIs8M,EAAE,IAAIw8C,GAAV,EAAe;AACXxsC,QAAAA,IAAI;AACJ,cAAMywC,SAAS,GAAG1uR,MAAM,CAACukK,MAAP,CAAc,CAAd,EAAiB5yI,MAAM,GAAG,CAA1B,EAA6B/V,WAA7B,CAAyC7d,MAAM,CAACm9L,YAAP,CAAoBuvF,GAApB,CAAzC,CAAlB;AACAtX,QAAAA,GAAG,GAAGub,SAAS,GAAG,CAAZ,GAAgB/8P,MAAM,GAAG+8P,SAAzB,GAAqC/8P,MAA3C;AACH,OAJD,MAKK;AACDwhP,QAAAA,GAAG;AACN;AACJ;;AACD,WAAOxhP,MAAM,GAAGm/N,GAAT,IAAgB1zJ,KAAK,GAAG,CAA/B,EAAkC;AAC9B,YAAM6wI,EAAE,GAAGjuO,MAAM,CAACivH,UAAP,CAAkBt9F,MAAlB,CAAX;AACAA,MAAAA,MAAM;AACNyrE,MAAAA,KAAK;;AACL,UAAI6wI,EAAE,IAAIw8C,GAAV,EAAe;AACXxsC,QAAAA,IAAI;AACJk1B,QAAAA,GAAG,GAAG,CAAN;AACH,OAHD,MAIK;AACDA,QAAAA,GAAG;AACN;AACJ;;AACD,WAAO,IAAIqb,aAAJ,CAAkB,KAAKtlL,IAAvB,EAA6Bv3E,MAA7B,EAAqCssN,IAArC,EAA2Ck1B,GAA3C,CAAP;AACH,GA1Ce,CA2ChB;AACA;;;AACA3/P,EAAAA,UAAU,CAACm7Q,QAAD,EAAWC,QAAX,EAAqB;AAC3B,UAAMjsR,OAAO,GAAG,KAAKumG,IAAL,CAAUvmG,OAA1B;AACA,QAAIksR,WAAW,GAAG,KAAKl9P,MAAvB;;AACA,QAAIk9P,WAAW,IAAI,IAAnB,EAAyB;AACrB,UAAIA,WAAW,GAAGlsR,OAAO,CAACa,MAAR,GAAiB,CAAnC,EAAsC;AAClCqrR,QAAAA,WAAW,GAAGlsR,OAAO,CAACa,MAAR,GAAiB,CAA/B;AACH;;AACD,UAAIsrR,SAAS,GAAGD,WAAhB;AACA,UAAIE,QAAQ,GAAG,CAAf;AACA,UAAIC,QAAQ,GAAG,CAAf;;AACA,aAAOD,QAAQ,GAAGJ,QAAX,IAAuBE,WAAW,GAAG,CAA5C,EAA+C;AAC3CA,QAAAA,WAAW;AACXE,QAAAA,QAAQ;;AACR,YAAIpsR,OAAO,CAACksR,WAAD,CAAP,IAAwB,IAA5B,EAAkC;AAC9B,cAAI,EAAEG,QAAF,IAAcJ,QAAlB,EAA4B;AACxB;AACH;AACJ;AACJ;;AACDG,MAAAA,QAAQ,GAAG,CAAX;AACAC,MAAAA,QAAQ,GAAG,CAAX;;AACA,aAAOD,QAAQ,GAAGJ,QAAX,IAAuBG,SAAS,GAAGnsR,OAAO,CAACa,MAAR,GAAiB,CAA3D,EAA8D;AAC1DsrR,QAAAA,SAAS;AACTC,QAAAA,QAAQ;;AACR,YAAIpsR,OAAO,CAACmsR,SAAD,CAAP,IAAsB,IAA1B,EAAgC;AAC5B,cAAI,EAAEE,QAAF,IAAcJ,QAAlB,EAA4B;AACxB;AACH;AACJ;AACJ;;AACD,aAAO;AACHpoN,QAAAA,MAAM,EAAE7jE,OAAO,CAAC2hK,SAAR,CAAkBuqH,WAAlB,EAA+B,KAAKl9P,MAApC,CADL;AAEHjc,QAAAA,KAAK,EAAE/S,OAAO,CAAC2hK,SAAR,CAAkB,KAAK3yI,MAAvB,EAA+Bm9P,SAAS,GAAG,CAA3C;AAFJ,OAAP;AAIH;;AACD,WAAO,IAAP;AACH;;AAjFe;;AAmFpB,MAAMG,eAAN,CAAsB;AAClB72R,EAAAA,WAAW,CAACuK,OAAD,EAAUnH,GAAV,EAAe;AACtB,SAAKmH,OAAL,GAAeA,OAAf;AACA,SAAKnH,GAAL,GAAWA,GAAX;AACH;;AAJiB;;AAMtB,MAAM0zR,eAAN,CAAsB;AAClB;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACI92R,EAAAA,WAAW,CAACmf,KAAD,EAAQ0xD,GAAR,EAAakmN,SAAS,GAAG53Q,KAAzB,EAAgC6Q,OAAO,GAAG,IAA1C,EAAgD;AACvD,SAAK7Q,KAAL,GAAaA,KAAb;AACA,SAAK0xD,GAAL,GAAWA,GAAX;AACA,SAAKkmN,SAAL,GAAiBA,SAAjB;AACA,SAAK/mQ,OAAL,GAAeA,OAAf;AACH;;AACDvvB,EAAAA,QAAQ,GAAG;AACP,WAAO,KAAK0e,KAAL,CAAW2xF,IAAX,CAAgBvmG,OAAhB,CAAwB2hK,SAAxB,CAAkC,KAAK/sJ,KAAL,CAAWoa,MAA7C,EAAqD,KAAKs3C,GAAL,CAASt3C,MAA9D,CAAP;AACH;;AAhCiB;;AAkCtB,IAAIy9P,eAAJ;;AACA,CAAC,UAAUA,eAAV,EAA2B;AACxBA,EAAAA,eAAe,CAACA,eAAe,CAAC,SAAD,CAAf,GAA6B,CAA9B,CAAf,GAAkD,SAAlD;AACAA,EAAAA,eAAe,CAACA,eAAe,CAAC,OAAD,CAAf,GAA2B,CAA5B,CAAf,GAAgD,OAAhD;AACH,CAHD,EAGGA,eAAe,KAAKA,eAAe,GAAG,EAAvB,CAHlB;;AAIA,MAAMC,UAAN,CAAiB;AACbj3R,EAAAA,WAAW,CAAC46Q,IAAD,EAAOzF,GAAP,EAAYl0I,KAAK,GAAG+1J,eAAe,CAACE,KAApC,EAA2C;AAClD,SAAKtc,IAAL,GAAYA,IAAZ;AACA,SAAKzF,GAAL,GAAWA,GAAX;AACA,SAAKl0I,KAAL,GAAaA,KAAb;AACH;;AACDk2J,EAAAA,iBAAiB,GAAG;AAChB,UAAMz7G,GAAG,GAAG,KAAKk/F,IAAL,CAAUz7P,KAAV,CAAgB/D,UAAhB,CAA2B,GAA3B,EAAgC,CAAhC,CAAZ;AACA,WAAOsgK,GAAG,GAAI,GAAE,KAAKy5F,GAAI,MAAKz5F,GAAG,CAACttG,MAAO,IAAG4oN,eAAe,CAAC,KAAK/1J,KAAN,CAAa,OAAMy6C,GAAG,CAACp+J,KAAM,IAA9E,GACN,KAAK63P,GADT;AAEH;;AACD10Q,EAAAA,QAAQ,GAAG;AACP,UAAMuvB,OAAO,GAAG,KAAK4qP,IAAL,CAAU5qP,OAAV,GAAqB,KAAI,KAAK4qP,IAAL,CAAU5qP,OAAQ,EAA3C,GAA+C,EAA/D;AACA,WAAQ,GAAE,KAAKmnQ,iBAAL,EAAyB,KAAI,KAAKvc,IAAL,CAAUz7P,KAAM,GAAE6Q,OAAQ,EAAjE;AACH;;AAdY;;AAgBjB,SAASonQ,cAAT,CAAwB1wK,IAAxB,EAA8B5lH,IAA9B,EAAoC;AAChC,QAAMu2R,SAAS,GAAGC,mBAAmB,CAACx2R,IAAD,CAArC;AACA,QAAMy2R,cAAc,GAAGF,SAAS,IAAI,IAAb,GAAqB,MAAK3wK,IAAK,IAAG8wK,cAAc,CAAC12R,IAAD,CAAO,OAAMu2R,SAAU,EAAvE,GAClB,MAAK3wK,IAAK,IAAG8wK,cAAc,CAAC12R,IAAD,CAAO,EADvC;AAEA,QAAM22R,UAAU,GAAG,IAAIZ,eAAJ,CAAoB,EAApB,EAAwBU,cAAxB,CAAnB;AACA,SAAO,IAAIT,eAAJ,CAAoB,IAAIV,aAAJ,CAAkBqB,UAAlB,EAA8B,CAAC,CAA/B,EAAkC,CAAC,CAAnC,EAAsC,CAAC,CAAvC,CAApB,EAA+D,IAAIrB,aAAJ,CAAkBqB,UAAlB,EAA8B,CAAC,CAA/B,EAAkC,CAAC,CAAnC,EAAsC,CAAC,CAAvC,CAA/D,CAAP;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASC,mBAAT,CAA6BhxK,IAA7B,EAAmCixK,QAAnC,EAA6C5iP,SAA7C,EAAwD;AACpD,QAAMwiP,cAAc,GAAI,MAAK7wK,IAAK,IAAGixK,QAAS,OAAM5iP,SAAU,EAA9D;AACA,QAAM0iP,UAAU,GAAG,IAAIZ,eAAJ,CAAoB,EAApB,EAAwBU,cAAxB,CAAnB;AACA,SAAO,IAAIT,eAAJ,CAAoB,IAAIV,aAAJ,CAAkBqB,UAAlB,EAA8B,CAAC,CAA/B,EAAkC,CAAC,CAAnC,EAAsC,CAAC,CAAvC,CAApB,EAA+D,IAAIrB,aAAJ,CAAkBqB,UAAlB,EAA8B,CAAC,CAA/B,EAAkC,CAAC,CAAnC,EAAsC,CAAC,CAAvC,CAA/D,CAAP;AACH;;AACD,SAASG,WAAT,CAAqBziB,GAArB,EAA0B0iB,WAA1B,EAAuC;AACnC,QAAM72R,KAAK,GAAG6X,KAAK,CAACs8P,GAAD,CAAnB;AACAn0Q,EAAAA,KAAK,CAAC82R,kBAAD,CAAL,GAA4B,IAA5B;AACA,MAAID,WAAJ,EACI72R,KAAK,CAAC+2R,kBAAD,CAAL,GAA4BF,WAA5B;AACJ,SAAO72R,KAAP;AACH;;AACD,MAAM82R,kBAAkB,GAAG,eAA3B;AACA,MAAMC,kBAAkB,GAAG,eAA3B;;AACA,SAASC,aAAT,CAAuBh3R,KAAvB,EAA8B;AAC1B,SAAOA,KAAK,CAAC82R,kBAAD,CAAZ;AACH;;AACD,SAASG,cAAT,CAAwBj3R,KAAxB,EAA+B;AAC3B,SAAOA,KAAK,CAAC+2R,kBAAD,CAAL,IAA6B,EAApC;AACH;;AACD,IAAIG,mBAAmB,GAAG,CAA1B;;AACA,SAASV,cAAT,CAAwBW,iBAAxB,EAA2C;AACvC,MAAI,CAACA,iBAAD,IAAsB,CAACA,iBAAiB,CAACn9H,SAA7C,EAAwD;AACpD,WAAO,IAAP;AACH;;AACD,QAAM3W,GAAG,GAAG8zI,iBAAiB,CAACn9H,SAA9B;;AACA,MAAI3W,GAAG,YAAYwtI,YAAnB,EAAiC;AAC7B,WAAOxtI,GAAG,CAAC1sI,IAAX;AACH;;AACD,MAAI0sI,GAAG,CAAC,iBAAD,CAAP,EAA4B;AACxB,WAAOA,GAAG,CAAC,iBAAD,CAAV;AACH;;AACD,MAAIA,GAAG,CAAC,iBAAD,CAAP,EAA4B;AACxB;AACA;AACA,WAAO,iBAAP;AACH;;AACD,MAAIsmD,UAAU,GAAG1mL,SAAS,CAACogI,GAAD,CAA1B;;AACA,MAAIsmD,UAAU,CAAC37L,OAAX,CAAmB,GAAnB,KAA2B,CAA/B,EAAkC;AAC9B;AACA27L,IAAAA,UAAU,GAAI,aAAYutF,mBAAmB,EAAG,EAAhD;AACA7zI,IAAAA,GAAG,CAAC,iBAAD,CAAH,GAAyBsmD,UAAzB;AACH,GAJD,MAKK;AACDA,IAAAA,UAAU,GAAGytF,kBAAkB,CAACztF,UAAD,CAA/B;AACH;;AACD,SAAOA,UAAP;AACH;;AACD,SAAS2sF,mBAAT,CAA6Ba,iBAA7B,EAAgD;AAC5C,QAAM9zI,GAAG,GAAG8zI,iBAAiB,CAACn9H,SAA9B;;AACA,MAAI3W,GAAG,YAAYwtI,YAAnB,EAAiC;AAC7B,WAAOxtI,GAAG,CAAC++H,QAAX;AACH,GAJ2C,CAK5C;;;AACA,SAAQ,KAAIn/P,SAAS,CAACogI,GAAD,CAAM,EAA3B;AACH;;AACD,SAAS+zI,kBAAT,CAA4BzgR,IAA5B,EAAkC;AAC9B,SAAOA,IAAI,CAAC7J,OAAL,CAAa,KAAb,EAAoB,GAApB,CAAP;AACH;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,MAAMuqR,0BAA0B,GAAG,mIAAnC;;AACA,MAAMC,wBAAN,SAAuCjd,sBAAvC,CAA8D;AAC1Dr7Q,EAAAA,WAAW,GAAG;AACV,UAAM,KAAN;AACH;;AACD8jQ,EAAAA,qBAAqB,CAACf,IAAD,EAAOrnF,GAAP,EAAY;AAC7BA,IAAAA,GAAG,CAACm+F,SAAJ,CAAc9W,IAAd;;AACA,SAAKw1B,sBAAL,CAA4Bx1B,IAA5B,EAAkCrnF,GAAlC;;AACA,QAAIqnF,IAAI,CAACniQ,MAAL,IAAe,IAAnB,EAAyB;AACrB86K,MAAAA,GAAG,CAAC49F,KAAJ,CAAUvW,IAAV,EAAiB,GAAEA,IAAI,CAACprP,IAAK,6BAA7B;AACAorP,MAAAA,IAAI,CAACniQ,MAAL,CAAY07P,eAAZ,CAA4B,IAA5B,EAAkC5gF,GAAlC;AACAA,MAAAA,GAAG,CAAC09F,OAAJ,CAAYrW,IAAZ,EAAmB,cAAnB;AACH;;AACDA,IAAAA,IAAI,CAACa,OAAL,CAAa1hQ,OAAb,CAAsB4iQ,MAAD,IAAY,KAAK0zB,iBAAL,CAAuBz1B,IAAvB,EAA6B+B,MAA7B,EAAqCppF,GAArC,CAAjC;AACAqnF,IAAAA,IAAI,CAAClsE,OAAL,CAAa30L,OAAb,CAAsB2zD,MAAD,IAAY,KAAK4iO,iBAAL,CAAuB11B,IAAvB,EAA6BltM,MAA7B,EAAqC6lH,GAArC,CAAjC;AACAA,IAAAA,GAAG,CAACq+F,QAAJ;AACA,WAAO,IAAP;AACH;;AACDwe,EAAAA,sBAAsB,CAACx1B,IAAD,EAAOrnF,GAAP,EAAY;AAC9BA,IAAAA,GAAG,CAAC49F,KAAJ,CAAUvW,IAAV,EAAiB,YAAWA,IAAI,CAACprP,IAAK,GAAtC;;AACA,QAAIorP,IAAI,CAACc,iBAAL,IAA0B,IAA9B,EAAoC;AAChC,WAAK60B,YAAL,CAAkB31B,IAAI,CAACc,iBAAL,CAAuB/2L,MAAzC,EAAiD4uG,GAAjD;AACH;;AACDA,IAAAA,GAAG,CAAC09F,OAAJ,CAAYrW,IAAZ,EAAmB,KAAnB;AACArnF,IAAAA,GAAG,CAACi+F,SAAJ;;AACA,QAAI5W,IAAI,CAACc,iBAAL,IAA0B,IAA9B,EAAoC;AAChC,UAAId,IAAI,CAACc,iBAAL,CAAuB18O,IAAvB,CAA4B/b,MAA5B,GAAqC,CAAzC,EAA4C;AACxCswK,QAAAA,GAAG,CAAC09F,OAAJ,CAAYrW,IAAZ,EAAmB,kBAAnB;AACA,aAAK4B,kBAAL,CAAwB5B,IAAI,CAACc,iBAAL,CAAuB18O,IAA/C,EAAqDu0J,GAArD;AACH;AACJ;;AACDA,IAAAA,GAAG,CAACk+F,SAAJ;AACAl+F,IAAAA,GAAG,CAAC09F,OAAJ,CAAYrW,IAAZ,EAAmB,GAAnB;AACH;;AACDy1B,EAAAA,iBAAiB,CAACz1B,IAAD,EAAO+B,MAAP,EAAeppF,GAAf,EAAoB;AACjCA,IAAAA,GAAG,CAAC09F,OAAJ,CAAYrW,IAAZ,EAAmB,yBAAwBA,IAAI,CAACprP,IAAK,gBAAemtP,MAAM,CAACntP,IAAK,wBAAhF;AACA+jK,IAAAA,GAAG,CAACi+F,SAAJ;;AACA,QAAI7U,MAAM,CAAC39O,IAAP,CAAY/b,MAAZ,GAAqB,CAAzB,EAA4B;AACxBswK,MAAAA,GAAG,CAAC09F,OAAJ,CAAYrW,IAAZ,EAAmB,kBAAnB;AACA,WAAK4B,kBAAL,CAAwBG,MAAM,CAAC39O,IAA/B,EAAqCu0J,GAArC;AACH;;AACDA,IAAAA,GAAG,CAACk+F,SAAJ;AACAl+F,IAAAA,GAAG,CAAC09F,OAAJ,CAAYrW,IAAZ,EAAmB,MAAnB;AACH;;AACD01B,EAAAA,iBAAiB,CAAC11B,IAAD,EAAOltM,MAAP,EAAe6lH,GAAf,EAAoB;AACjCA,IAAAA,GAAG,CAAC49F,KAAJ,CAAUvW,IAAV,EAAiB,GAAEA,IAAI,CAACprP,IAAK,cAAak+C,MAAM,CAACl+C,IAAK,cAAtD;;AACA,SAAK+gR,YAAL,CAAkB7iO,MAAM,CAACiX,MAAzB,EAAiC4uG,GAAjC;;AACAA,IAAAA,GAAG,CAAC09F,OAAJ,CAAYrW,IAAZ,EAAmB,KAAnB;AACArnF,IAAAA,GAAG,CAACi+F,SAAJ;;AACA,QAAI9jN,MAAM,CAAC1uC,IAAP,CAAY/b,MAAZ,GAAqB,CAAzB,EAA4B;AACxBswK,MAAAA,GAAG,CAAC09F,OAAJ,CAAYrW,IAAZ,EAAmB,kBAAnB;AACA,WAAK4B,kBAAL,CAAwB9uM,MAAM,CAAC1uC,IAA/B,EAAqCu0J,GAArC;AACH;;AACDA,IAAAA,GAAG,CAACk+F,SAAJ;AACAl+F,IAAAA,GAAG,CAAC09F,OAAJ,CAAYrW,IAAZ,EAAmB,IAAnB;AACH;;AACDnG,EAAAA,oBAAoB,CAAC5lF,GAAD,EAAM0E,GAAN,EAAW;AAC3B,UAAM,IAAI7iK,KAAJ,CAAU,8CAAV,CAAN;AACH;;AACD0jP,EAAAA,gBAAgB,CAACvlF,GAAD,EAAM0E,GAAN,EAAW;AACvB,QAAI1E,GAAG,CAAColF,OAAJ,KAAgBF,UAAU,CAAC4F,IAA/B,EAAqC;AACjCpmF,MAAAA,GAAG,CAAC49F,KAAJ,CAAUtiG,GAAV,EAAe,MAAf;AACH,KAFD,MAGK,IAAIA,GAAG,CAAColF,OAAJ,KAAgBF,UAAU,CAAC8F,KAA/B,EAAsC;AACvC,YAAM,IAAInpP,KAAJ,CAAW,8EAAX,CAAN;AACH,KAFI,MAGA;AACD,YAAM0jP,gBAAN,CAAuBvlF,GAAvB,EAA4B0E,GAA5B;AACH;;AACD,WAAO,IAAP;AACH;;AACDunF,EAAAA,mBAAmB,CAACF,IAAD,EAAOrnF,GAAP,EAAY;AAC3BA,IAAAA,GAAG,CAAC49F,KAAJ,CAAUvW,IAAV,EAAiB,OAAMA,IAAI,CAACprP,IAAK,EAAjC;;AACA,QAAIorP,IAAI,CAAC93P,KAAT,EAAgB;AACZywK,MAAAA,GAAG,CAAC49F,KAAJ,CAAUvW,IAAV,EAAgB,KAAhB;AACAA,MAAAA,IAAI,CAAC93P,KAAL,CAAWqxP,eAAX,CAA2B,IAA3B,EAAiC5gF,GAAjC;AACH;;AACDA,IAAAA,GAAG,CAAC09F,OAAJ,CAAYrW,IAAZ,EAAmB,GAAnB;AACA,WAAO,IAAP;AACH;;AACDtC,EAAAA,aAAa,CAACzpF,GAAD,EAAM0E,GAAN,EAAW;AACpB1E,IAAAA,GAAG,CAAC/rK,KAAJ,CAAUqxP,eAAV,CAA0B,IAA1B,EAAgC5gF,GAAhC;AACA,WAAO,IAAP;AACH;;AACD+hF,EAAAA,uBAAuB,CAACrnF,IAAD,EAAOsF,GAAP,EAAY;AAC/B,UAAMi9G,MAAM,GAAGviH,IAAI,CAAC3gJ,EAApB;;AACA,QAAIkjQ,MAAM,YAAYx8B,WAAlB,IAAiCw8B,MAAM,CAACv8B,OAAP,KAAmBF,UAAU,CAAC8F,KAAnE,EAA0E;AACtEtmF,MAAAA,GAAG,CAACs+F,YAAJ,CAAiBp5Q,MAAjB,CAAwB07P,eAAxB,CAAwC,IAAxC,EAA8C5gF,GAA9C;AACAA,MAAAA,GAAG,CAAC49F,KAAJ,CAAUljG,IAAV,EAAiB,YAAjB;;AACA,UAAIA,IAAI,CAAC9W,IAAL,CAAUl0J,MAAV,GAAmB,CAAvB,EAA0B;AACtBswK,QAAAA,GAAG,CAAC49F,KAAJ,CAAUljG,IAAV,EAAiB,IAAjB;AACA,aAAKsuF,mBAAL,CAAyBtuF,IAAI,CAAC9W,IAA9B,EAAoCoc,GAApC,EAAyC,GAAzC;AACH;;AACDA,MAAAA,GAAG,CAAC49F,KAAJ,CAAUljG,IAAV,EAAiB,GAAjB;AACH,KARD,MASK;AACD,YAAMqnF,uBAAN,CAA8BrnF,IAA9B,EAAoCsF,GAApC;AACH;;AACD,WAAO,IAAP;AACH;;AACDiiF,EAAAA,uBAAuB,CAAC3mF,GAAD,EAAM0E,GAAN,EAAW;AAC9B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAMnpJ,QAAQ,GAAGykJ,GAAG,CAAC72D,QAAJ,CAAa5tF,QAA9B;AACAykJ,IAAAA,GAAG,CAACxnB,GAAJ,CAAQ8sG,eAAR,CAAwB,IAAxB,EAA8B5gF,GAA9B;AACAA,IAAAA,GAAG,CAAC49F,KAAJ,CAAUtiG,GAAV,EAAgB,IAAGqhH,0BAA2B,GAA9C;AACA38G,IAAAA,GAAG,CAAC49F,KAAJ,CAAUtiG,GAAV,EAAgB,IAAGzkJ,QAAQ,CAACzvB,GAAT,CAAa0pO,IAAI,IAAIkvC,gBAAgB,CAAClvC,IAAI,CAAC5iO,IAAN,EAAY,KAAZ,CAArC,EAAyDma,IAAzD,CAA8D,IAA9D,CAAoE,KAAvF;AACA23J,IAAAA,GAAG,CAAC49F,KAAJ,CAAUtiG,GAAV,EAAgB,IAAGzkJ,QAAQ,CAACzvB,GAAT,CAAa0pO,IAAI,IAAIkvC,gBAAgB,CAAClvC,IAAI,CAAC0xB,OAAN,EAAe,KAAf,CAArC,EAA4Dn6O,IAA5D,CAAiE,IAAjE,CAAuE,IAA1F;AACAizJ,IAAAA,GAAG,CAAC72D,QAAJ,CAAaqzD,WAAb,CAAyBtxK,OAAzB,CAAiC6H,UAAU,IAAI;AAC3C2xK,MAAAA,GAAG,CAAC49F,KAAJ,CAAUtiG,GAAV,EAAe,IAAf;AACAjtK,MAAAA,UAAU,CAACuyP,eAAX,CAA2B,IAA3B,EAAiC5gF,GAAjC;AACH,KAHD;AAIAA,IAAAA,GAAG,CAAC49F,KAAJ,CAAUtiG,GAAV,EAAe,GAAf;AACA,WAAO,IAAP;AACH;;AACD6pF,EAAAA,iBAAiB,CAAC7pF,GAAD,EAAM0E,GAAN,EAAW;AACxBA,IAAAA,GAAG,CAAC49F,KAAJ,CAAUtiG,GAAV,EAAgB,WAAUA,GAAG,CAACr/J,IAAJ,GAAW,MAAMq/J,GAAG,CAACr/J,IAArB,GAA4B,EAAG,GAAzD;;AACA,SAAK+gR,YAAL,CAAkB1hH,GAAG,CAAClqG,MAAtB,EAA8B4uG,GAA9B;;AACAA,IAAAA,GAAG,CAAC09F,OAAJ,CAAYpiG,GAAZ,EAAkB,KAAlB;AACA0E,IAAAA,GAAG,CAACi+F,SAAJ;AACA,SAAKhV,kBAAL,CAAwB3tF,GAAG,CAAC4pF,UAA5B,EAAwCllF,GAAxC;AACAA,IAAAA,GAAG,CAACk+F,SAAJ;AACAl+F,IAAAA,GAAG,CAAC49F,KAAJ,CAAUtiG,GAAV,EAAgB,GAAhB;AACA,WAAO,IAAP;AACH;;AACDksF,EAAAA,wBAAwB,CAACH,IAAD,EAAOrnF,GAAP,EAAY;AAChCA,IAAAA,GAAG,CAAC49F,KAAJ,CAAUvW,IAAV,EAAiB,YAAWA,IAAI,CAACprP,IAAK,GAAtC;;AACA,SAAK+gR,YAAL,CAAkB31B,IAAI,CAACj2L,MAAvB,EAA+B4uG,GAA/B;;AACAA,IAAAA,GAAG,CAAC09F,OAAJ,CAAYrW,IAAZ,EAAmB,KAAnB;AACArnF,IAAAA,GAAG,CAACi+F,SAAJ;AACA,SAAKhV,kBAAL,CAAwB5B,IAAI,CAACnC,UAA7B,EAAyCllF,GAAzC;AACAA,IAAAA,GAAG,CAACk+F,SAAJ;AACAl+F,IAAAA,GAAG,CAAC09F,OAAJ,CAAYrW,IAAZ,EAAmB,GAAnB;AACA,WAAO,IAAP;AACH;;AACDqB,EAAAA,iBAAiB,CAACrB,IAAD,EAAOrnF,GAAP,EAAY;AACzBA,IAAAA,GAAG,CAAC09F,OAAJ,CAAYrW,IAAZ,EAAmB,OAAnB;AACArnF,IAAAA,GAAG,CAACi+F,SAAJ;AACA,SAAKhV,kBAAL,CAAwB5B,IAAI,CAACmB,SAA7B,EAAwCxoF,GAAxC;AACAA,IAAAA,GAAG,CAACk+F,SAAJ;AACAl+F,IAAAA,GAAG,CAAC09F,OAAJ,CAAYrW,IAAZ,EAAmB,YAAWyV,iBAAiB,CAAC7gQ,IAAK,KAArD;AACA+jK,IAAAA,GAAG,CAACi+F,SAAJ;AACA,UAAMxV,UAAU,GAAG,CAACsU,iBAAiB,CAACx1Q,GAAlB,CAAsBu1Q,iBAAiB,CAACl4H,IAAlB,CAAuB,OAAvB,CAAtB,EAAuDw8G,UAAvD,CAAkE,IAAlE,EAAwE,CACpFG,YAAY,CAACC,KADuE,CAAxE,CAAD,EAEXxoP,MAFW,CAEJquP,IAAI,CAACoB,UAFD,CAAnB;AAGA,SAAKQ,kBAAL,CAAwBR,UAAxB,EAAoCzoF,GAApC;AACAA,IAAAA,GAAG,CAACk+F,SAAJ;AACAl+F,IAAAA,GAAG,CAAC09F,OAAJ,CAAYrW,IAAZ,EAAmB,GAAnB;AACA,WAAO,IAAP;AACH;;AACDnE,EAAAA,oBAAoB,CAAC5nF,GAAD,EAAM0E,GAAN,EAAW;AAC3B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACAA,IAAAA,GAAG,CAAC49F,KAAJ,CAAUtiG,GAAV,EAAgB,aAAYqhH,0BAA2B,GAAvD;AACA,UAAM9rD,KAAK,GAAG,CAACv1D,GAAG,CAAC6nF,iBAAJ,EAAD,CAAd;;AACA,SAAK,IAAI5gQ,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAG+4K,GAAG,CAAC0nF,YAAJ,CAAiBtzP,MAArC,EAA6CnN,CAAC,EAA9C,EAAkD;AAC9CsuO,MAAAA,KAAK,CAAClqO,IAAN,CAAW20K,GAAG,CAACwoF,yBAAJ,CAA8BvhQ,CAA9B,CAAX;AACH;;AACDy9K,IAAAA,GAAG,CAAC49F,KAAJ,CAAUtiG,GAAV,EAAgB,IAAGu1D,KAAK,CAACzpO,GAAN,CAAU0pO,IAAI,IAAIkvC,gBAAgB,CAAClvC,IAAI,CAACszB,MAAN,EAAc,KAAd,CAAlC,EAAwD/7O,IAAxD,CAA6D,IAA7D,CAAmE,KAAtF;AACA23J,IAAAA,GAAG,CAAC49F,KAAJ,CAAUtiG,GAAV,EAAgB,IAAGu1D,KAAK,CAACzpO,GAAN,CAAU0pO,IAAI,IAAIkvC,gBAAgB,CAAClvC,IAAI,CAAC/+J,GAAN,EAAW,KAAX,CAAlC,EAAqD1pD,IAArD,CAA0D,IAA1D,CAAgE,IAAnF;AACAizJ,IAAAA,GAAG,CAACxD,WAAJ,CAAgBtxK,OAAhB,CAAwB6H,UAAU,IAAI;AAClC2xK,MAAAA,GAAG,CAAC49F,KAAJ,CAAUtiG,GAAV,EAAe,IAAf;AACAjtK,MAAAA,UAAU,CAACuyP,eAAX,CAA2B,IAA3B,EAAiC5gF,GAAjC;AACH,KAHD;AAIAA,IAAAA,GAAG,CAAC49F,KAAJ,CAAUtiG,GAAV,EAAe,GAAf;AACA,WAAO,IAAP;AACH;;AACD0hH,EAAAA,YAAY,CAAC5rN,MAAD,EAAS4uG,GAAT,EAAc;AACtB,SAAKkgG,eAAL,CAAqB50B,KAAK,IAAItrE,GAAG,CAAC49F,KAAJ,CAAU,IAAV,EAAgBtyB,KAAK,CAACrvO,IAAtB,CAA9B,EAA2Dm1D,MAA3D,EAAmE4uG,GAAnE,EAAwE,GAAxE;AACH;;AACDk9G,EAAAA,oBAAoB,CAAC/iO,MAAD,EAAS;AACzB,QAAIl+C,IAAJ;;AACA,YAAQk+C,MAAR;AACI,WAAK2nM,aAAa,CAACq7B,WAAnB;AACIlhR,QAAAA,IAAI,GAAG,QAAP;AACA;;AACJ,WAAK6lP,aAAa,CAACs7B,mBAAnB;AACInhR,QAAAA,IAAI,GAAG,WAAP;AACA;;AACJ,WAAK6lP,aAAa,CAACu7B,IAAnB;AACIphR,QAAAA,IAAI,GAAG,MAAP;AACA;;AACJ;AACI,cAAM,IAAIkB,KAAJ,CAAW,2BAA0Bg9C,MAAO,EAA5C,CAAN;AAXR;;AAaA,WAAOl+C,IAAP;AACH;;AArMyD;AAwM9D;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;AACA;AACA;;;AACA,IAAIqhR,MAAJ;AACA;AACA;AACA;AACA;;AACA,SAASC,SAAT,GAAqB;AACjB,MAAID,MAAM,KAAKltH,SAAf,EAA0B;AACtBktH,IAAAA,MAAM,GAAG,IAAT;;AACA,QAAI9iB,OAAO,CAACgjB,YAAZ,EAA0B;AACtB,UAAI;AACAF,QAAAA,MAAM,GACF9iB,OAAO,CAACgjB,YAAR,CAAqBC,YAArB,CAAkC,oBAAlC,EAAwD;AACpDC,UAAAA,YAAY,EAAGz7R,CAAD,IAAOA;AAD+B,SAAxD,CADJ;AAIH,OALD,CAMA,MAAM,CACF;AACA;AACA;AACA;AACH;AACJ;AACJ;;AACD,SAAOq7R,MAAP;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASK,uBAAT,CAAiC7kN,MAAjC,EAAyC;AACrC,SAAOykN,SAAS,IAAIG,YAAb,CAA0B5kN,MAA1B,KAAqCA,MAA5C;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAAS8kN,wBAAT,CAAkC,GAAGh6H,IAArC,EAA2C;AACvC,MAAI,CAAC42G,OAAO,CAACgjB,YAAb,EAA2B;AACvB;AACA;AACA,WAAO,IAAIljC,QAAJ,CAAa,GAAG12F,IAAhB,CAAP;AACH,GALsC,CAMvC;AACA;AACA;AACA;;;AACA,QAAMi6H,MAAM,GAAGj6H,IAAI,CAACj4J,KAAL,CAAW,CAAX,EAAc,CAAC,CAAf,EAAkB0c,IAAlB,CAAuB,GAAvB,CAAf;AACA,QAAMy1Q,MAAM,GAAGl6H,IAAI,CAACA,IAAI,CAACl0J,MAAL,GAAc,CAAf,CAAnB;AACA,QAAM+b,IAAI,GAAI,uBAAsBoyQ,MAAO;AAC/C,MAAMC,MAAO;AACb,GAFI,CAZuC,CAevC;AACA;AACA;;AACA,QAAM/jQ,EAAE,GAAGygP,OAAO,CAAC,MAAD,CAAP,CAAgBmjB,uBAAuB,CAAClyQ,IAAD,CAAvC,CAAX;;AACA,MAAIsO,EAAE,CAACzH,IAAH,KAAY89I,SAAhB,EAA2B;AACvB;AACA;AACA;AACA;AACA,WAAO,IAAIkqF,QAAJ,CAAa,GAAG12F,IAAhB,CAAP;AACH,GAzBsC,CA0BvC;AACA;AACA;;;AACA7pI,EAAAA,EAAE,CAACh1B,QAAH,GAAc,MAAM0mB,IAApB,CA7BuC,CA8BvC;;;AACA,SAAOsO,EAAE,CAACzH,IAAH,CAAQkoP,OAAR,CAAP,CA/BuC,CAgCvC;AACA;AACA;AACH;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;AACA;;;AACA,MAAMujB,YAAN,CAAmB;AACf;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACIC,EAAAA,kBAAkB,CAAC3kP,SAAD,EAAY6rN,UAAZ,EAAwB+4B,SAAxB,EAAmCC,gBAAnC,EAAqD;AACnE,UAAMC,SAAS,GAAG,IAAIC,iBAAJ,CAAsBH,SAAtB,CAAlB;AACA,UAAMj+G,GAAG,GAAGo9F,qBAAqB,CAAC59J,UAAtB,EAAZ,CAFmE,CAGnE;;AACA,QAAI0lJ,UAAU,CAACx1P,MAAX,GAAoB,CAApB,IAAyB,CAAC2uR,oBAAoB,CAACn5B,UAAU,CAAC,CAAD,CAAX,CAAlD,EAAmE;AAC/DA,MAAAA,UAAU,GAAG,CACTiG,OAAO,CAAC,YAAD,CAAP,CAAsB7K,MAAtB,EADS,EAET,GAAG4E,UAFM,CAAb;AAIH;;AACDi5B,IAAAA,SAAS,CAACl1B,kBAAV,CAA6B/D,UAA7B,EAAyCllF,GAAzC;AACAm+G,IAAAA,SAAS,CAACG,gBAAV,CAA2Bt+G,GAA3B;AACA,WAAO,KAAKu+G,YAAL,CAAkBllP,SAAlB,EAA6B2mI,GAA7B,EAAkCm+G,SAAS,CAACK,OAAV,EAAlC,EAAuDN,gBAAvD,CAAP;AACH;AACD;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACIK,EAAAA,YAAY,CAACllP,SAAD,EAAY2mI,GAAZ,EAAiBhmG,IAAjB,EAAuBykN,eAAvB,EAAwC;AAChD,QAAIX,MAAM,GAAI,gBAAe99G,GAAG,CAACu+F,QAAJ,EAAe,mBAAkBllO,SAAU,EAAxE;AACA,UAAMqlP,UAAU,GAAG,EAAnB;AACA,UAAMC,WAAW,GAAG,EAApB;;AACA,SAAK,MAAMC,OAAX,IAAsB5kN,IAAtB,EAA4B;AACxB2kN,MAAAA,WAAW,CAACh4R,IAAZ,CAAiBqzE,IAAI,CAAC4kN,OAAD,CAArB;AACAF,MAAAA,UAAU,CAAC/3R,IAAX,CAAgBi4R,OAAhB;AACH;;AACD,QAAIH,eAAJ,EAAqB;AACjB;AACA;AACA;AACA;AACA;AACA,YAAMI,OAAO,GAAGjB,wBAAwB,CAAC,GAAGc,UAAU,CAAC1lR,MAAX,CAAkB,cAAlB,CAAJ,CAAxB,CAA+DjU,QAA/D,EAAhB;AACA,YAAM+5R,WAAW,GAAGD,OAAO,CAAClzR,KAAR,CAAc,CAAd,EAAiBkzR,OAAO,CAACvrR,OAAR,CAAgB,cAAhB,CAAjB,EAAkDjB,KAAlD,CAAwD,IAAxD,EAA8D3C,MAA9D,GAAuE,CAA3F;AACAouR,MAAAA,MAAM,IAAK,KAAI99G,GAAG,CAAC0+F,oBAAJ,CAAyBrlO,SAAzB,EAAoCylP,WAApC,EAAiDziB,WAAjD,EAA+D,EAA9E;AACH;;AACD,UAAMtiP,EAAE,GAAG6jQ,wBAAwB,CAAC,GAAGc,UAAU,CAAC1lR,MAAX,CAAkB8kR,MAAlB,CAAJ,CAAnC;AACA,WAAO,KAAK55N,eAAL,CAAqBnqC,EAArB,EAAyB4kQ,WAAzB,CAAP;AACH;AACD;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACIz6N,EAAAA,eAAe,CAACnqC,EAAD,EAAK6pI,IAAL,EAAW;AACtB,WAAO7pI,EAAE,CAAC,GAAG6pI,IAAJ,CAAT;AACH;;AAnEc;AAqEnB;AACA;AACA;;;AACA,MAAMw6H,iBAAN,SAAgCxB,wBAAhC,CAAyD;AACrDt4R,EAAAA,WAAW,CAAC25R,SAAD,EAAY;AACnB;AACA,SAAKA,SAAL,GAAiBA,SAAjB;AACA,SAAKc,aAAL,GAAqB,EAArB;AACA,SAAKC,cAAL,GAAsB,EAAtB;AACA,SAAKC,iBAAL,GAAyB,EAAzB;AACH;;AACDX,EAAAA,gBAAgB,CAACt+G,GAAD,EAAM;AAClB,UAAMqnF,IAAI,GAAG,IAAIK,eAAJ,CAAoB,IAAI3B,cAAJ,CAAmB,KAAKk5B,iBAAL,CAAuB73R,GAAvB,CAA2B83R,SAAS,IAAI,IAAIr5B,eAAJ,CAAoBq5B,SAApB,EAA+B90B,QAAQ,CAAC80B,SAAD,CAAvC,EAAoD,KAApD,CAAxC,CAAnB,CAApB,CAAb;AACA73B,IAAAA,IAAI,CAACC,cAAL,CAAoB,IAApB,EAA0BtnF,GAA1B;AACH;;AACDw+G,EAAAA,OAAO,GAAG;AACN,UAAM//Q,MAAM,GAAG,EAAf;;AACA,SAAK,IAAIlc,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAG,KAAKw8R,aAAL,CAAmBrvR,MAAvC,EAA+CnN,CAAC,EAAhD,EAAoD;AAChDkc,MAAAA,MAAM,CAAC,KAAKsgR,aAAL,CAAmBx8R,CAAnB,CAAD,CAAN,GAAgC,KAAKy8R,cAAL,CAAoBz8R,CAApB,CAAhC;AACH;;AACD,WAAOkc,MAAP;AACH;;AACD+lP,EAAAA,iBAAiB,CAAClpF,GAAD,EAAM0E,GAAN,EAAW;AACxB,SAAKm/G,wBAAL,CAA8B7jH,GAA9B,EAAmC,KAAK2iH,SAAL,CAAemB,wBAAf,CAAwC9jH,GAAG,CAAC/rK,KAA5C,CAAnC,EAAuFywK,GAAvF;;AACA,WAAO,IAAP;AACH;;AACDkhF,EAAAA,oBAAoB,CAAC5lF,GAAD,EAAM0E,GAAN,EAAW;AAC3B,SAAKm/G,wBAAL,CAA8B7jH,GAA9B,EAAmCA,GAAG,CAACz5F,IAAvC,EAA6Cm+F,GAA7C;;AACA,WAAO,IAAP;AACH;;AACDunF,EAAAA,mBAAmB,CAACF,IAAD,EAAOrnF,GAAP,EAAY;AAC3B,QAAIqnF,IAAI,CAACnM,WAAL,CAAiBqG,YAAY,CAAC89B,QAA9B,CAAJ,EAA6C;AACzC,WAAKJ,iBAAL,CAAuBt4R,IAAvB,CAA4B0gQ,IAAI,CAACprP,IAAjC;AACH;;AACD,WAAO,MAAMsrP,mBAAN,CAA0BF,IAA1B,EAAgCrnF,GAAhC,CAAP;AACH;;AACDwnF,EAAAA,wBAAwB,CAACH,IAAD,EAAOrnF,GAAP,EAAY;AAChC,QAAIqnF,IAAI,CAACnM,WAAL,CAAiBqG,YAAY,CAAC89B,QAA9B,CAAJ,EAA6C;AACzC,WAAKJ,iBAAL,CAAuBt4R,IAAvB,CAA4B0gQ,IAAI,CAACprP,IAAjC;AACH;;AACD,WAAO,MAAMurP,wBAAN,CAA+BH,IAA/B,EAAqCrnF,GAArC,CAAP;AACH;;AACDooF,EAAAA,qBAAqB,CAACf,IAAD,EAAOrnF,GAAP,EAAY;AAC7B,QAAIqnF,IAAI,CAACnM,WAAL,CAAiBqG,YAAY,CAAC89B,QAA9B,CAAJ,EAA6C;AACzC,WAAKJ,iBAAL,CAAuBt4R,IAAvB,CAA4B0gQ,IAAI,CAACprP,IAAjC;AACH;;AACD,WAAO,MAAMmsP,qBAAN,CAA4Bf,IAA5B,EAAkCrnF,GAAlC,CAAP;AACH;;AACDm/G,EAAAA,wBAAwB,CAAC7jH,GAAD,EAAM/rK,KAAN,EAAaywK,GAAb,EAAkB;AACtC,QAAIz7K,EAAE,GAAG,KAAKy6R,cAAL,CAAoB1rR,OAApB,CAA4B/D,KAA5B,CAAT;;AACA,QAAIhL,EAAE,KAAK,CAAC,CAAZ,EAAe;AACXA,MAAAA,EAAE,GAAG,KAAKy6R,cAAL,CAAoBtvR,MAAzB;;AACA,WAAKsvR,cAAL,CAAoBr4R,IAApB,CAAyB4I,KAAzB;;AACA,YAAM0M,IAAI,GAAG6/Q,cAAc,CAAC;AAAEx8H,QAAAA,SAAS,EAAE/vJ;AAAb,OAAD,CAAd,IAAwC,KAArD;;AACA,WAAKwvR,aAAL,CAAmBp4R,IAAnB,CAAyB,OAAMsV,IAAK,IAAG1X,EAAG,EAA1C;AACH;;AACDy7K,IAAAA,GAAG,CAAC49F,KAAJ,CAAUtiG,GAAV,EAAe,KAAKyjH,aAAL,CAAmBx6R,EAAnB,CAAf;AACH;;AAtDoD;;AAwDzD,SAAS85R,oBAAT,CAA8BiB,SAA9B,EAAyC;AACrC,SAAOA,SAAS,CAACziC,YAAV,CAAuBsO,OAAO,CAAC,YAAD,CAAP,CAAsB7K,MAAtB,EAAvB,CAAP;AACH;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASi/B,eAAT,CAAyBrd,IAAzB,EAA+B;AAC3B,QAAMsd,aAAa,GAAG,IAAI9K,aAAJ,EAAtB;;AACA,MAAIxS,IAAI,CAAC9qE,SAAL,KAAmB,IAAvB,EAA6B;AACzBooF,IAAAA,aAAa,CAACj4R,GAAd,CAAkB,WAAlB,EAA+B26Q,IAAI,CAAC9qE,SAApC;AACH;;AACD,MAAI8qE,IAAI,CAAC9rE,OAAL,CAAa1mM,MAAb,GAAsB,CAA1B,EAA6B;AACzB8vR,IAAAA,aAAa,CAACj4R,GAAd,CAAkB,SAAlB,EAA6BmjQ,UAAU,CAACwX,IAAI,CAAC9rE,OAAN,CAAvC;AACH;;AACD,QAAM/nM,UAAU,GAAGg8P,UAAU,CAACoE,aAAa,CAACgI,cAAf,CAAV,CAAyCjZ,MAAzC,CAAgD,CAACgiC,aAAa,CAAC7K,YAAd,EAAD,CAAhD,EAAgFvkH,SAAhF,EAA2F,IAA3F,CAAnB;AACA,QAAMhrK,IAAI,GAAGq6R,kBAAkB,CAACvd,IAAD,CAA/B;AACA,SAAO;AAAE7zQ,IAAAA,UAAF;AAAcjJ,IAAAA,IAAd;AAAoB8/P,IAAAA,UAAU,EAAE;AAAhC,GAAP;AACH;;AACD,SAASu6B,kBAAT,CAA4Bvd,IAA5B,EAAkC;AAC9B,SAAO,IAAI3mB,cAAJ,CAAmB8O,UAAU,CAACoE,aAAa,CAAC+H,mBAAf,EAAoC,CAAC,IAAIjb,cAAJ,CAAmB2mB,IAAI,CAAC98Q,IAAL,CAAUA,IAA7B,CAAD,CAApC,CAA7B,CAAP;AACH;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,MAAMs6R,cAAN,CAAqB;AACjBp7R,EAAAA,WAAW,CAAC0B,OAAD,EAAU;AACjB,SAAKA,OAAL,GAAeA,OAAf;AACH;;AACDo5R,EAAAA,wBAAwB,CAACz2I,GAAD,EAAM;AAC1B;AACA,QAAIA,GAAG,CAAC27G,UAAJ,KAAmB,eAAvB,EAAwC;AACpC,YAAM,IAAInnP,KAAJ,CAAW,wCAAuCwrI,GAAG,CAAC27G,UAAW,mDAAjE,CAAN;AACH;;AACD,QAAI,CAAC,KAAKt+P,OAAL,CAAautB,cAAb,CAA4Bo1H,GAAG,CAAC1sI,IAAhC,CAAL,EAA4C;AACxC,YAAM,IAAIkB,KAAJ,CAAW,+CAA8CwrI,GAAG,CAAC1sI,IAAK,IAAlE,CAAN;AACH;;AACD,WAAO,KAAKjW,OAAL,CAAa2iJ,GAAG,CAAC1sI,IAAjB,CAAP;AACH;;AACDyuE,EAAAA,UAAU,CAACi1M,UAAD,EAAa;AACnB,UAAM,IAAIxiR,KAAJ,CAAU,kBAAV,CAAN;AACH;;AACDyiR,EAAAA,WAAW,CAACD,UAAD,EAAa;AACpB,UAAM,IAAIxiR,KAAJ,CAAU,kBAAV,CAAN;AACH;;AACD0iR,EAAAA,kBAAkB,CAACF,UAAD,EAAa;AAC3B,UAAM,IAAIxiR,KAAJ,CAAU,kBAAV,CAAN;AACH;;AACD2iR,EAAAA,cAAc,CAACH,UAAD,EAAa;AACvB,UAAM,IAAIxiR,KAAJ,CAAU,kBAAV,CAAN;AACH;;AACD4iR,EAAAA,YAAY,CAACJ,UAAD,EAAa;AACrB,UAAM,IAAIxiR,KAAJ,CAAU,kBAAV,CAAN;AACH;;AACD6iR,EAAAA,gBAAgB,CAAC56R,IAAD,EAAO66R,UAAP,EAAmB;AAC/B,UAAM,IAAI9iR,KAAJ,CAAU,kBAAV,CAAN;AACH;;AACD+iR,EAAAA,MAAM,CAACP,UAAD,EAAa;AACf,UAAM,IAAIxiR,KAAJ,CAAU,kBAAV,CAAN;AACH;;AACDgjR,EAAAA,kBAAkB,CAAC/6R,IAAD,EAAOg7R,WAAP,EAAoB;AAClC,UAAM,IAAIjjR,KAAJ,CAAU,kBAAV,CAAN;AACH;;AArCgB;AAwCrB;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;AACA;;;AACA,SAASkjR,eAAT,CAAyBne,IAAzB,EAA+B;AAC3B,QAAM;AAAEI,IAAAA,YAAF;AAAgBge,IAAAA,SAAhB;AAA2BjqF,IAAAA,YAA3B;AAAyCD,IAAAA,OAAzC;AAAkDE,IAAAA,OAAlD;AAA2DiqF,IAAAA,OAA3D;AAAoEC,IAAAA,oBAApE;AAA0FC,IAAAA,UAA1F;AAAsGl8R,IAAAA;AAAtG,MAA6G29Q,IAAnH;AACA,QAAMhd,UAAU,GAAG,EAAnB;AACA,QAAMs6B,aAAa,GAAG,IAAI9K,aAAJ,EAAtB;AACA8K,EAAAA,aAAa,CAACj4R,GAAd,CAAkB,MAAlB,EAA0B+6Q,YAA1B;;AACA,MAAIge,SAAS,CAAC5wR,MAAV,GAAmB,CAAvB,EAA0B;AACtB8vR,IAAAA,aAAa,CAACj4R,GAAd,CAAkB,WAAlB,EAA+Bk6Q,WAAW,CAAC6e,SAAD,EAAYE,oBAAZ,CAA1C;AACH,GAP0B,CAQ3B;AACA;;;AACA,MAAIC,UAAJ,EAAgB;AACZ,QAAIpqF,YAAY,CAAC3mM,MAAb,GAAsB,CAA1B,EAA6B;AACzB8vR,MAAAA,aAAa,CAACj4R,GAAd,CAAkB,cAAlB,EAAkCk6Q,WAAW,CAACprE,YAAD,EAAemqF,oBAAf,CAA7C;AACH;;AACD,QAAIpqF,OAAO,CAAC1mM,MAAR,GAAiB,CAArB,EAAwB;AACpB8vR,MAAAA,aAAa,CAACj4R,GAAd,CAAkB,SAAlB,EAA6Bk6Q,WAAW,CAACrrE,OAAD,EAAUoqF,oBAAV,CAAxC;AACH;;AACD,QAAIlqF,OAAO,CAAC5mM,MAAR,GAAiB,CAArB,EAAwB;AACpB8vR,MAAAA,aAAa,CAACj4R,GAAd,CAAkB,SAAlB,EAA6Bk6Q,WAAW,CAACnrE,OAAD,EAAUkqF,oBAAV,CAAxC;AACH;AACJ,GAVD,CAWA;AACA;AAZA,OAaK;AACD,UAAME,oBAAoB,GAAGC,4BAA4B,CAACze,IAAD,CAAzD;;AACA,QAAIwe,oBAAoB,KAAK,IAA7B,EAAmC;AAC/Bx7B,MAAAA,UAAU,CAACv+P,IAAX,CAAgB+5R,oBAAhB;AACH;AACJ;;AACD,MAAIH,OAAO,KAAK,IAAZ,IAAoBA,OAAO,CAAC7wR,MAAR,GAAiB,CAAzC,EAA4C;AACxC8vR,IAAAA,aAAa,CAACj4R,GAAd,CAAkB,SAAlB,EAA6BmjQ,UAAU,CAAC61B,OAAO,CAACn5R,GAAR,CAAYuhJ,GAAG,IAAIA,GAAG,CAACp5I,KAAvB,CAAD,CAAvC;AACH;;AACD,MAAIhL,EAAE,KAAK,IAAX,EAAiB;AACbi7R,IAAAA,aAAa,CAACj4R,GAAd,CAAkB,IAAlB,EAAwBhD,EAAxB;AACH;;AACD,QAAM8J,UAAU,GAAGg8P,UAAU,CAACoE,aAAa,CAACoI,cAAf,CAAV,CAAyCrZ,MAAzC,CAAgD,CAACgiC,aAAa,CAAC7K,YAAd,EAAD,CAAhD,EAAgFvkH,SAAhF,EAA2F,IAA3F,CAAnB;AACA,QAAMhrK,IAAI,GAAGw7R,kBAAkB,CAAC1e,IAAD,CAA/B;AACA,SAAO;AAAE7zQ,IAAAA,UAAF;AAAcjJ,IAAAA,IAAd;AAAoB8/P,IAAAA;AAApB,GAAP;AACH;AACD;AACA;AACA;AACA;;;AACA,SAAS27B,oCAAT,CAA8C3e,IAA9C,EAAoD;AAChD,QAAMsd,aAAa,GAAG,IAAI9K,aAAJ,EAAtB;AACA8K,EAAAA,aAAa,CAACj4R,GAAd,CAAkB,MAAlB,EAA0B,IAAI05P,eAAJ,CAAoBihB,IAAI,CAAC98Q,IAAzB,CAA1B;;AACA,MAAI88Q,IAAI,CAACoe,SAAL,KAAmBlwH,SAAvB,EAAkC;AAC9BovH,IAAAA,aAAa,CAACj4R,GAAd,CAAkB,WAAlB,EAA+B,IAAI05P,eAAJ,CAAoBihB,IAAI,CAACoe,SAAzB,CAA/B;AACH;;AACD,MAAIpe,IAAI,CAAC7rE,YAAL,KAAsBjmC,SAA1B,EAAqC;AACjCovH,IAAAA,aAAa,CAACj4R,GAAd,CAAkB,cAAlB,EAAkC,IAAI05P,eAAJ,CAAoBihB,IAAI,CAAC7rE,YAAzB,CAAlC;AACH;;AACD,MAAI6rE,IAAI,CAAC9rE,OAAL,KAAiBhmC,SAArB,EAAgC;AAC5BovH,IAAAA,aAAa,CAACj4R,GAAd,CAAkB,SAAlB,EAA6B,IAAI05P,eAAJ,CAAoBihB,IAAI,CAAC9rE,OAAzB,CAA7B;AACH;;AACD,MAAI8rE,IAAI,CAAC5rE,OAAL,KAAiBlmC,SAArB,EAAgC;AAC5BovH,IAAAA,aAAa,CAACj4R,GAAd,CAAkB,SAAlB,EAA6B,IAAI05P,eAAJ,CAAoBihB,IAAI,CAAC5rE,OAAzB,CAA7B;AACH;;AACD,MAAI4rE,IAAI,CAACqe,OAAL,KAAiBnwH,SAArB,EAAgC;AAC5BovH,IAAAA,aAAa,CAACj4R,GAAd,CAAkB,SAAlB,EAA6B,IAAI05P,eAAJ,CAAoBihB,IAAI,CAACqe,OAAzB,CAA7B;AACH;;AACD,MAAIre,IAAI,CAAC39Q,EAAL,KAAY6rK,SAAhB,EAA2B;AACvBovH,IAAAA,aAAa,CAACj4R,GAAd,CAAkB,IAAlB,EAAwB,IAAI05P,eAAJ,CAAoBihB,IAAI,CAAC39Q,EAAzB,CAAxB;AACH;;AACD,SAAO8lQ,UAAU,CAACoE,aAAa,CAACoI,cAAf,CAAV,CAAyCrZ,MAAzC,CAAgD,CAACgiC,aAAa,CAAC7K,YAAd,EAAD,CAAhD,CAAP;AACH;;AACD,SAASiM,kBAAT,CAA4B;AAAEx7R,EAAAA,IAAI,EAAE07R,UAAR;AAAoBzqF,EAAAA,YAApB;AAAkCD,EAAAA,OAAlC;AAA2CE,EAAAA;AAA3C,CAA5B,EAAkF;AAC9E,SAAO,IAAIilD,cAAJ,CAAmB8O,UAAU,CAACoE,aAAa,CAACkI,mBAAf,EAAoC,CACpE,IAAIpb,cAAJ,CAAmBulC,UAAU,CAAC17R,IAA9B,CADoE,EAC/B27R,WAAW,CAAC1qF,YAAD,CADoB,EACJ0qF,WAAW,CAAC3qF,OAAD,CADP,EAEpE2qF,WAAW,CAACzqF,OAAD,CAFyD,CAApC,CAA7B,CAAP;AAIH;AACD;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASqqF,4BAAT,CAAsCze,IAAtC,EAA4C;AACxC,QAAM;AAAE8e,IAAAA,YAAY,EAAEF,UAAhB;AAA4BzqF,IAAAA,YAA5B;AAA0CD,IAAAA,OAA1C;AAAmDE,IAAAA,OAAnD;AAA4DkqF,IAAAA;AAA5D,MAAqFte,IAA3F;AACA,QAAM+e,QAAQ,GAAG,IAAIvM,aAAJ,EAAjB;;AACA,MAAIr+E,YAAY,CAAC3mM,MAAb,GAAsB,CAA1B,EAA6B;AACzBuxR,IAAAA,QAAQ,CAAC15R,GAAT,CAAa,cAAb,EAA6Bk6Q,WAAW,CAACprE,YAAD,EAAemqF,oBAAf,CAAxC;AACH;;AACD,MAAIpqF,OAAO,CAAC1mM,MAAR,GAAiB,CAArB,EAAwB;AACpBuxR,IAAAA,QAAQ,CAAC15R,GAAT,CAAa,SAAb,EAAwBk6Q,WAAW,CAACrrE,OAAD,EAAUoqF,oBAAV,CAAnC;AACH;;AACD,MAAIlqF,OAAO,CAAC5mM,MAAR,GAAiB,CAArB,EAAwB;AACpBuxR,IAAAA,QAAQ,CAAC15R,GAAT,CAAa,SAAb,EAAwBk6Q,WAAW,CAACnrE,OAAD,EAAUkqF,oBAAV,CAAnC;AACH;;AACD,MAAItkR,MAAM,CAACkF,IAAP,CAAY6/Q,QAAQ,CAAClgP,MAArB,EAA6BrxC,MAA7B,KAAwC,CAA5C,EAA+C;AAC3C,WAAO,IAAP;AACH,GAduC,CAexC;;;AACA,QAAMwxR,MAAM,GAAG,IAAIzjC,kBAAJ;AACf;AAAS4M,EAAAA,UAAU,CAACoE,aAAa,CAACsI,gBAAf,CADJ;AAEf;AAAW,GAAC+pB,UAAD,EAAaG,QAAQ,CAACtM,YAAT,EAAb,CAFI,CAAf,CAhBwC,CAmBxC;;AACA,QAAMwM,WAAW,GAAGngB,wBAAwB,CAACkgB,MAAD,CAA5C,CApBwC,CAqBxC;;AACA,QAAME,IAAI,GAAG,IAAIn8B,YAAJ;AACb;AAAa,IADA;AAEb;AAAiB,GAACk8B,WAAW,CAAC7gC,MAAZ,EAAD,CAFJ,CAAb,CAtBwC,CAyBxC;;AACA,QAAM+gC,QAAQ,GAAG,IAAI5jC,kBAAJ;AACjB;AAAS2jC,EAAAA,IADQ;AAEjB;AAAW,IAFM,CAAjB;AAGA,SAAOC,QAAQ,CAAC/gC,MAAT,EAAP;AACH;;AACD,SAASygC,WAAT,CAAqB3sH,GAArB,EAA0B;AACtB,QAAMrnK,KAAK,GAAGqnK,GAAG,CAAChtK,GAAJ,CAAQuhJ,GAAG,IAAI8hH,UAAU,CAAC9hH,GAAG,CAACvjJ,IAAL,CAAzB,CAAd;AACA,SAAOgvK,GAAG,CAAC1kK,MAAJ,GAAa,CAAb,GAAiB86P,cAAc,CAACE,UAAU,CAAC39P,KAAD,CAAX,CAA/B,GAAqD0vP,SAA5D;AACH;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAAS6kC,uBAAT,CAAiCroH,QAAjC,EAA2C;AACvC,QAAMsoH,mBAAmB,GAAG,EAA5B,CADuC,CAEvC;;AACAA,EAAAA,mBAAmB,CAAC56R,IAApB,CAAyB;AAAE8G,IAAAA,GAAG,EAAE,MAAP;AAAe8B,IAAAA,KAAK,EAAE47P,OAAO,CAAClyF,QAAQ,CAACuoH,QAAV,CAA7B;AAAkD17B,IAAAA,MAAM,EAAE;AAA1D,GAAzB,EAHuC,CAIvC;;AACAy7B,EAAAA,mBAAmB,CAAC56R,IAApB,CAAyB;AAAE8G,IAAAA,GAAG,EAAE,MAAP;AAAe8B,IAAAA,KAAK,EAAE0pK,QAAQ,CAAC7zK,IAAT,CAAcmK,KAApC;AAA2Cu2P,IAAAA,MAAM,EAAE;AAAnD,GAAzB,EALuC,CAMvC;;AACAy7B,EAAAA,mBAAmB,CAAC56R,IAApB,CAAyB;AAAE8G,IAAAA,GAAG,EAAE,MAAP;AAAe8B,IAAAA,KAAK,EAAE47P,OAAO,CAAClyF,QAAQ,CAACirE,IAAV,CAA7B;AAA8C4hB,IAAAA,MAAM,EAAE;AAAtD,GAAzB;AACA,QAAMz3P,UAAU,GAAGg8P,UAAU,CAACoE,aAAa,CAACwI,UAAf,CAAV,CAAqCzZ,MAArC,CAA4C,CAACmN,UAAU,CAAC42B,mBAAD,CAAX,CAA5C,EAA+EnxH,SAA/E,EAA0F,IAA1F,CAAnB;AACA,QAAMhrK,IAAI,GAAGq8R,cAAc,CAACxoH,QAAD,CAA3B;AACA,SAAO;AAAE5qK,IAAAA,UAAF;AAAcjJ,IAAAA,IAAd;AAAoB8/P,IAAAA,UAAU,EAAE;AAAhC,GAAP;AACH;;AACD,SAASu8B,cAAT,CAAwBxoH,QAAxB,EAAkC;AAC9B,SAAO,IAAIsiF,cAAJ,CAAmB8O,UAAU,CAACoE,aAAa,CAACuI,eAAf,EAAgC,CAChEuJ,kBAAkB,CAACtnG,QAAQ,CAAC7zK,IAAT,CAAcA,IAAf,EAAqB6zK,QAAQ,CAACyqG,iBAA9B,CAD8C,EAEhE,IAAInoB,cAAJ,CAAmB,IAAI6G,WAAJ,CAAgBnpF,QAAQ,CAACuoH,QAAzB,CAAnB,CAFgE,CAAhC,CAA7B,CAAP;AAIH;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,MAAME,WAAN,CAAkB;AACdp9R,EAAAA,WAAW,CAAC4uB,OAAD,EAAU0jE,KAAV,EAAiB+qM,WAAjB,EAA8BC,WAA9B,EAA2C;AAClD,SAAKhrM,KAAL,GAAaA,KAAb;AACA,SAAK+qM,WAAL,GAAmBA,WAAnB;AACA,SAAKC,WAAL,GAAmBA,WAAnB;AACA,SAAK1uQ,OAAL,GAAgB,iBAAgBA,OAAQ,IAAGyuQ,WAAY,KAAI/qM,KAAM,QAAOgrM,WAAY,EAApF;AACH;;AANa;;AAQlB,MAAMC,SAAN,CAAgB;AACZv9R,EAAAA,WAAW,CAACmf,KAAD,EAAQ0xD,GAAR,EAAa;AACpB,SAAK1xD,KAAL,GAAaA,KAAb;AACA,SAAK0xD,GAAL,GAAWA,GAAX;AACH;;AACD2sN,EAAAA,UAAU,CAACC,cAAD,EAAiB;AACvB,WAAO,IAAIC,kBAAJ,CAAuBD,cAAc,GAAG,KAAKt+Q,KAA7C,EAAoDs+Q,cAAc,GAAG,KAAK5sN,GAA1E,CAAP;AACH;;AAPW;;AAShB,MAAM8sN,GAAN,CAAU;AACN39R,EAAAA,WAAW,CAAC46Q,IAAD;AACX;AACJ;AACA;AACI7hB,EAAAA,UAJW,EAIC;AACR,SAAK6hB,IAAL,GAAYA,IAAZ;AACA,SAAK7hB,UAAL,GAAkBA,UAAlB;AACH;;AACDt4P,EAAAA,QAAQ,GAAG;AACP,WAAO,KAAP;AACH;;AAXK;;AAaV,MAAMm9R,WAAN,SAA0BD,GAA1B,CAA8B;AAC1B39R,EAAAA,WAAW,CAAC46Q,IAAD,EAAO7hB,UAAP,EAAmB8kC,QAAnB,EAA6B;AACpC,UAAMjjB,IAAN,EAAY7hB,UAAZ;AACA,SAAK8kC,QAAL,GAAgBA,QAAhB;AACH;;AAJyB;AAM9B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,MAAMC,KAAN,SAAoBH,GAApB,CAAwB;AACpB39R,EAAAA,WAAW,CAAC46Q,IAAD,EAAO7hB,UAAP,EAAmB9J,MAAnB,EAA2B8uC,uBAA3B,EAAoD79P,QAApD,EAA8D;AACrE,UAAM06O,IAAN,EAAY7hB,UAAZ;AACA,SAAK9J,MAAL,GAAcA,MAAd;AACA,SAAK8uC,uBAAL,GAA+BA,uBAA/B;AACA,SAAK79P,QAAL,GAAgBA,QAAhB;AACH;;AACD+/O,EAAAA,KAAK,CAAC1tG,OAAD,EAAU7wK,OAAO,GAAG,IAApB,EAA0B;AAC3B,WAAO6wK,OAAO,CAACyrH,UAAR,CAAmB,IAAnB,EAAyBt8R,OAAzB,CAAP;AACH;;AACDjB,EAAAA,QAAQ,GAAG;AACP,WAAO,OAAP;AACH;;AAZmB;;AAcxB,MAAMw9R,SAAN,SAAwBN,GAAxB,CAA4B;AACxB1d,EAAAA,KAAK,CAAC1tG,OAAD,EAAU7wK,OAAO,GAAG,IAApB,EAA0B,CAC3B;AACH;;AAHuB;;AAK5B,MAAMw8R,gBAAN,SAA+BP,GAA/B,CAAmC;AAC/B1d,EAAAA,KAAK,CAAC1tG,OAAD,EAAU7wK,OAAO,GAAG,IAApB,EAA0B;AAC3B,WAAO6wK,OAAO,CAAC4rH,qBAAR,CAA8B,IAA9B,EAAoCz8R,OAApC,CAAP;AACH;;AAH8B;AAKnC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,MAAM08R,YAAN,SAA2BF,gBAA3B,CAA4C;AACxCje,EAAAA,KAAK,CAAC1tG,OAAD,EAAU7wK,OAAO,GAAG,IAApB,EAA0B;AAC3B,WAAO6wK,OAAO,CAAC8rH,iBAAR,GAA4B,IAA5B,EAAkC38R,OAAlC,CAAP;AACH;;AAHuC;AAK5C;AACA;AACA;;;AACA,MAAM48R,KAAN,SAAoBX,GAApB,CAAwB;AACpB39R,EAAAA,WAAW,CAAC46Q,IAAD,EAAO7hB,UAAP,EAAmBvlF,WAAnB,EAAgC;AACvC,UAAMonG,IAAN,EAAY7hB,UAAZ;AACA,SAAKvlF,WAAL,GAAmBA,WAAnB;AACH;;AACDysG,EAAAA,KAAK,CAAC1tG,OAAD,EAAU7wK,OAAO,GAAG,IAApB,EAA0B;AAC3B,WAAO6wK,OAAO,CAACgsH,UAAR,CAAmB,IAAnB,EAAyB78R,OAAzB,CAAP;AACH;;AAPmB;;AASxB,MAAM88R,WAAN,SAA0Bb,GAA1B,CAA8B;AAC1B39R,EAAAA,WAAW,CAAC46Q,IAAD,EAAO7hB,UAAP,EAAmBzd,SAAnB,EAA8BmjD,OAA9B,EAAuCC,QAAvC,EAAiD;AACxD,UAAM9jB,IAAN,EAAY7hB,UAAZ;AACA,SAAKzd,SAAL,GAAiBA,SAAjB;AACA,SAAKmjD,OAAL,GAAeA,OAAf;AACA,SAAKC,QAAL,GAAgBA,QAAhB;AACH;;AACDze,EAAAA,KAAK,CAAC1tG,OAAD,EAAU7wK,OAAO,GAAG,IAApB,EAA0B;AAC3B,WAAO6wK,OAAO,CAACosH,gBAAR,CAAyB,IAAzB,EAA+Bj9R,OAA/B,CAAP;AACH;;AATyB;;AAW9B,MAAMk9R,YAAN,SAA2BhB,WAA3B,CAAuC;AACnC59R,EAAAA,WAAW,CAAC46Q,IAAD,EAAO7hB,UAAP,EAAmB8kC,QAAnB,EAA6BzgC,QAA7B,EAAuCzlP,IAAvC,EAA6C;AACpD,UAAMijQ,IAAN,EAAY7hB,UAAZ,EAAwB8kC,QAAxB;AACA,SAAKzgC,QAAL,GAAgBA,QAAhB;AACA,SAAKzlP,IAAL,GAAYA,IAAZ;AACH;;AACDsoQ,EAAAA,KAAK,CAAC1tG,OAAD,EAAU7wK,OAAO,GAAG,IAApB,EAA0B;AAC3B,WAAO6wK,OAAO,CAACssH,iBAAR,CAA0B,IAA1B,EAAgCn9R,OAAhC,CAAP;AACH;;AARkC;;AAUvC,MAAMo9R,aAAN,SAA4BlB,WAA5B,CAAwC;AACpC59R,EAAAA,WAAW,CAAC46Q,IAAD,EAAO7hB,UAAP,EAAmB8kC,QAAnB,EAA6BzgC,QAA7B,EAAuCzlP,IAAvC,EAA6C1M,KAA7C,EAAoD;AAC3D,UAAM2vQ,IAAN,EAAY7hB,UAAZ,EAAwB8kC,QAAxB;AACA,SAAKzgC,QAAL,GAAgBA,QAAhB;AACA,SAAKzlP,IAAL,GAAYA,IAAZ;AACA,SAAK1M,KAAL,GAAaA,KAAb;AACH;;AACDg1Q,EAAAA,KAAK,CAAC1tG,OAAD,EAAU7wK,OAAO,GAAG,IAApB,EAA0B;AAC3B,WAAO6wK,OAAO,CAACwsH,kBAAR,CAA2B,IAA3B,EAAiCr9R,OAAjC,CAAP;AACH;;AATmC;;AAWxC,MAAMs9R,gBAAN,SAA+BpB,WAA/B,CAA2C;AACvC59R,EAAAA,WAAW,CAAC46Q,IAAD,EAAO7hB,UAAP,EAAmB8kC,QAAnB,EAA6BzgC,QAA7B,EAAuCzlP,IAAvC,EAA6C;AACpD,UAAMijQ,IAAN,EAAY7hB,UAAZ,EAAwB8kC,QAAxB;AACA,SAAKzgC,QAAL,GAAgBA,QAAhB;AACA,SAAKzlP,IAAL,GAAYA,IAAZ;AACH;;AACDsoQ,EAAAA,KAAK,CAAC1tG,OAAD,EAAU7wK,OAAO,GAAG,IAApB,EAA0B;AAC3B,WAAO6wK,OAAO,CAAC0sH,qBAAR,CAA8B,IAA9B,EAAoCv9R,OAApC,CAAP;AACH;;AARsC;;AAU3C,MAAMw9R,SAAN,SAAwBvB,GAAxB,CAA4B;AACxB39R,EAAAA,WAAW,CAAC46Q,IAAD,EAAO7hB,UAAP,EAAmBqE,QAAnB,EAA6Bj0P,GAA7B,EAAkC;AACzC,UAAMyxQ,IAAN,EAAY7hB,UAAZ;AACA,SAAKqE,QAAL,GAAgBA,QAAhB;AACA,SAAKj0P,GAAL,GAAWA,GAAX;AACH;;AACD82Q,EAAAA,KAAK,CAAC1tG,OAAD,EAAU7wK,OAAO,GAAG,IAApB,EAA0B;AAC3B,WAAO6wK,OAAO,CAAC4sH,cAAR,CAAuB,IAAvB,EAA6Bz9R,OAA7B,CAAP;AACH;;AARuB;;AAU5B,MAAM09R,aAAN,SAA4BzB,GAA5B,CAAgC;AAC5B39R,EAAAA,WAAW,CAAC46Q,IAAD,EAAO7hB,UAAP,EAAmBqE,QAAnB,EAA6Bj0P,GAA7B,EAAkC;AACzC,UAAMyxQ,IAAN,EAAY7hB,UAAZ;AACA,SAAKqE,QAAL,GAAgBA,QAAhB;AACA,SAAKj0P,GAAL,GAAWA,GAAX;AACH;;AACD82Q,EAAAA,KAAK,CAAC1tG,OAAD,EAAU7wK,OAAO,GAAG,IAApB,EAA0B;AAC3B,WAAO6wK,OAAO,CAAC8sH,kBAAR,CAA2B,IAA3B,EAAiC39R,OAAjC,CAAP;AACH;;AAR2B;;AAUhC,MAAM49R,UAAN,SAAyB3B,GAAzB,CAA6B;AACzB39R,EAAAA,WAAW,CAAC46Q,IAAD,EAAO7hB,UAAP,EAAmBqE,QAAnB,EAA6Bj0P,GAA7B,EAAkC8B,KAAlC,EAAyC;AAChD,UAAM2vQ,IAAN,EAAY7hB,UAAZ;AACA,SAAKqE,QAAL,GAAgBA,QAAhB;AACA,SAAKj0P,GAAL,GAAWA,GAAX;AACA,SAAK8B,KAAL,GAAaA,KAAb;AACH;;AACDg1Q,EAAAA,KAAK,CAAC1tG,OAAD,EAAU7wK,OAAO,GAAG,IAApB,EAA0B;AAC3B,WAAO6wK,OAAO,CAACgtH,eAAR,CAAwB,IAAxB,EAA8B79R,OAA9B,CAAP;AACH;;AATwB;;AAW7B,MAAM89R,WAAN,SAA0B5B,WAA1B,CAAsC;AAClC59R,EAAAA,WAAW,CAAC46Q,IAAD,EAAO7hB,UAAP,EAAmBjpF,GAAnB,EAAwBn4J,IAAxB,EAA8B2nJ,IAA9B,EAAoCu+H,QAApC,EAA8C;AACrD,UAAMjjB,IAAN,EAAY7hB,UAAZ,EAAwB8kC,QAAxB;AACA,SAAK/tH,GAAL,GAAWA,GAAX;AACA,SAAKn4J,IAAL,GAAYA,IAAZ;AACA,SAAK2nJ,IAAL,GAAYA,IAAZ;AACH;;AACD2gH,EAAAA,KAAK,CAAC1tG,OAAD,EAAU7wK,OAAO,GAAG,IAApB,EAA0B;AAC3B,WAAO6wK,OAAO,CAACktH,SAAR,CAAkB,IAAlB,EAAwB/9R,OAAxB,CAAP;AACH;;AATiC;;AAWtC,MAAMg+R,gBAAN,SAA+B/B,GAA/B,CAAmC;AAC/B39R,EAAAA,WAAW,CAAC46Q,IAAD,EAAO7hB,UAAP,EAAmB9tP,KAAnB,EAA0B;AACjC,UAAM2vQ,IAAN,EAAY7hB,UAAZ;AACA,SAAK9tP,KAAL,GAAaA,KAAb;AACH;;AACDg1Q,EAAAA,KAAK,CAAC1tG,OAAD,EAAU7wK,OAAO,GAAG,IAApB,EAA0B;AAC3B,WAAO6wK,OAAO,CAACotH,qBAAR,CAA8B,IAA9B,EAAoCj+R,OAApC,CAAP;AACH;;AAP8B;;AASnC,MAAMk+R,YAAN,SAA2BjC,GAA3B,CAA+B;AAC3B39R,EAAAA,WAAW,CAAC46Q,IAAD,EAAO7hB,UAAP,EAAmBvlF,WAAnB,EAAgC;AACvC,UAAMonG,IAAN,EAAY7hB,UAAZ;AACA,SAAKvlF,WAAL,GAAmBA,WAAnB;AACH;;AACDysG,EAAAA,KAAK,CAAC1tG,OAAD,EAAU7wK,OAAO,GAAG,IAApB,EAA0B;AAC3B,WAAO6wK,OAAO,CAACstH,iBAAR,CAA0B,IAA1B,EAAgCn+R,OAAhC,CAAP;AACH;;AAP0B;;AAS/B,MAAMo+R,UAAN,SAAyBnC,GAAzB,CAA6B;AACzB39R,EAAAA,WAAW,CAAC46Q,IAAD,EAAO7hB,UAAP,EAAmBj8O,IAAnB,EAAyB2/B,MAAzB,EAAiC;AACxC,UAAMm+N,IAAN,EAAY7hB,UAAZ;AACA,SAAKj8O,IAAL,GAAYA,IAAZ;AACA,SAAK2/B,MAAL,GAAcA,MAAd;AACH;;AACDwjO,EAAAA,KAAK,CAAC1tG,OAAD,EAAU7wK,OAAO,GAAG,IAApB,EAA0B;AAC3B,WAAO6wK,OAAO,CAACwtH,eAAR,CAAwB,IAAxB,EAA8Br+R,OAA9B,CAAP;AACH;;AARwB;;AAU7B,MAAMs+R,aAAN,SAA4BrC,GAA5B,CAAgC;AAC5B39R,EAAAA,WAAW,CAAC46Q,IAAD,EAAO7hB,UAAP,EAAmB80B,OAAnB,EAA4Br6G,WAA5B,EAAyC;AAChD,UAAMonG,IAAN,EAAY7hB,UAAZ;AACA,SAAK80B,OAAL,GAAeA,OAAf;AACA,SAAKr6G,WAAL,GAAmBA,WAAnB;AACH;;AACDysG,EAAAA,KAAK,CAAC1tG,OAAD,EAAU7wK,OAAO,GAAG,IAApB,EAA0B;AAC3B,WAAO6wK,OAAO,CAAC0tH,kBAAR,CAA2B,IAA3B,EAAiCv+R,OAAjC,CAAP;AACH;;AAR2B;;AAUhC,MAAMw+R,MAAN,SAAqBvC,GAArB,CAAyB;AACrB39R,EAAAA,WAAW,CAAC46Q,IAAD,EAAO7hB,UAAP,EAAmBhlD,SAAnB,EAA8BxtH,IAA9B,EAAoCC,KAApC,EAA2C;AAClD,UAAMo0L,IAAN,EAAY7hB,UAAZ;AACA,SAAKhlD,SAAL,GAAiBA,SAAjB;AACA,SAAKxtH,IAAL,GAAYA,IAAZ;AACA,SAAKC,KAAL,GAAaA,KAAb;AACH;;AACDy5L,EAAAA,KAAK,CAAC1tG,OAAD,EAAU7wK,OAAO,GAAG,IAApB,EAA0B;AAC3B,WAAO6wK,OAAO,CAAC4tH,WAAR,CAAoB,IAApB,EAA0Bz+R,OAA1B,CAAP;AACH;;AAToB;AAWzB;AACA;AACA;AACA;AACA;;;AACA,MAAM0+R,KAAN,SAAoBF,MAApB,CAA2B;AACvB;AACJ;AACA;AACA;AACIlgS,EAAAA,WAAW,CAAC46Q,IAAD,EAAO7hB,UAAP,EAAmBiI,QAAnB,EAA6B5qF,IAA7B,EAAmCiqH,QAAnC,EAA6CC,UAA7C,EAAyDC,WAAzD,EAAsE;AAC7E,UAAM3lB,IAAN,EAAY7hB,UAAZ,EAAwBsnC,QAAxB,EAAkCC,UAAlC,EAA8CC,WAA9C;AACA,SAAKv/B,QAAL,GAAgBA,QAAhB;AACA,SAAK5qF,IAAL,GAAYA,IAAZ,CAH6E,CAI7E;AACA;;AACA,SAAK7vF,IAAL,GAAY,IAAZ;AACA,SAAKC,KAAL,GAAa,IAAb;AACA,SAAKutH,SAAL,GAAiB,IAAjB;AACH;AACD;AACJ;AACA;;;AACsB,SAAXysF,WAAW,CAAC5lB,IAAD,EAAO7hB,UAAP,EAAmB3iF,IAAnB,EAAyB;AACvC,WAAO,IAAIgqH,KAAJ,CAAUxlB,IAAV,EAAgB7hB,UAAhB,EAA4B,GAA5B,EAAiC3iF,IAAjC,EAAuC,GAAvC,EAA4C,IAAIspH,gBAAJ,CAAqB9kB,IAArB,EAA2B7hB,UAA3B,EAAuC,CAAvC,CAA5C,EAAuF3iF,IAAvF,CAAP;AACH;AACD;AACJ;AACA;;;AACqB,SAAVqqH,UAAU,CAAC7lB,IAAD,EAAO7hB,UAAP,EAAmB3iF,IAAnB,EAAyB;AACtC,WAAO,IAAIgqH,KAAJ,CAAUxlB,IAAV,EAAgB7hB,UAAhB,EAA4B,GAA5B,EAAiC3iF,IAAjC,EAAuC,GAAvC,EAA4CA,IAA5C,EAAkD,IAAIspH,gBAAJ,CAAqB9kB,IAArB,EAA2B7hB,UAA3B,EAAuC,CAAvC,CAAlD,CAAP;AACH;;AACDknB,EAAAA,KAAK,CAAC1tG,OAAD,EAAU7wK,OAAO,GAAG,IAApB,EAA0B;AAC3B,QAAI6wK,OAAO,CAACmuH,UAAR,KAAuB50H,SAA3B,EAAsC;AAClC,aAAOyG,OAAO,CAACmuH,UAAR,CAAmB,IAAnB,EAAyBh/R,OAAzB,CAAP;AACH;;AACD,WAAO6wK,OAAO,CAAC4tH,WAAR,CAAoB,IAApB,EAA0Bz+R,OAA1B,CAAP;AACH;;AAhCsB;;AAkC3B,MAAMi/R,SAAN,SAAwBhD,GAAxB,CAA4B;AACxB39R,EAAAA,WAAW,CAAC46Q,IAAD,EAAO7hB,UAAP,EAAmBhvP,UAAnB,EAA+B;AACtC,UAAM6wQ,IAAN,EAAY7hB,UAAZ;AACA,SAAKhvP,UAAL,GAAkBA,UAAlB;AACH;;AACDk2Q,EAAAA,KAAK,CAAC1tG,OAAD,EAAU7wK,OAAO,GAAG,IAApB,EAA0B;AAC3B,WAAO6wK,OAAO,CAACquH,cAAR,CAAuB,IAAvB,EAA6Bl/R,OAA7B,CAAP;AACH;;AAPuB;;AAS5B,MAAMm/R,aAAN,SAA4BlD,GAA5B,CAAgC;AAC5B39R,EAAAA,WAAW,CAAC46Q,IAAD,EAAO7hB,UAAP,EAAmBhvP,UAAnB,EAA+B;AACtC,UAAM6wQ,IAAN,EAAY7hB,UAAZ;AACA,SAAKhvP,UAAL,GAAkBA,UAAlB;AACH;;AACDk2Q,EAAAA,KAAK,CAAC1tG,OAAD,EAAU7wK,OAAO,GAAG,IAApB,EAA0B;AAC3B,WAAO6wK,OAAO,CAACuuH,kBAAR,CAA2B,IAA3B,EAAiCp/R,OAAjC,CAAP;AACH;;AAP2B;;AAShC,MAAMq/R,IAAN,SAAmBpD,GAAnB,CAAuB;AACnB39R,EAAAA,WAAW,CAAC46Q,IAAD,EAAO7hB,UAAP,EAAmBqE,QAAnB,EAA6B99F,IAA7B,EAAmC0hI,YAAnC,EAAiD;AACxD,UAAMpmB,IAAN,EAAY7hB,UAAZ;AACA,SAAKqE,QAAL,GAAgBA,QAAhB;AACA,SAAK99F,IAAL,GAAYA,IAAZ;AACA,SAAK0hI,YAAL,GAAoBA,YAApB;AACH;;AACD/gB,EAAAA,KAAK,CAAC1tG,OAAD,EAAU7wK,OAAO,GAAG,IAApB,EAA0B;AAC3B,WAAO6wK,OAAO,CAAC0uH,SAAR,CAAkB,IAAlB,EAAwBv/R,OAAxB,CAAP;AACH;;AATkB;AAWvB;AACA;AACA;AACA;;;AACA,MAAMg8R,kBAAN,CAAyB;AACrB19R,EAAAA,WAAW,CAACmf,KAAD,EAAQ0xD,GAAR,EAAa;AACpB,SAAK1xD,KAAL,GAAaA,KAAb;AACA,SAAK0xD,GAAL,GAAWA,GAAX;AACH;;AAJoB;;AAMzB,MAAMqwN,aAAN,SAA4BvD,GAA5B,CAAgC;AAC5B39R,EAAAA,WAAW,CAACg3K,GAAD,EAAMpvK,MAAN,EAAcs4B,QAAd,EAAwBu9P,cAAxB,EAAwCl+P,MAAxC,EAAgD;AACvD,UAAM,IAAIg+P,SAAJ,CAAc,CAAd,EAAiB31R,MAAM,KAAK,IAAX,GAAkB,CAAlB,GAAsBA,MAAM,CAACwD,MAA9C,CAAN,EAA6D,IAAIsyR,kBAAJ,CAAuBD,cAAvB,EAAuC71R,MAAM,KAAK,IAAX,GAAkB61R,cAAlB,GAAmCA,cAAc,GAAG71R,MAAM,CAACwD,MAAlG,CAA7D;AACA,SAAK4rK,GAAL,GAAWA,GAAX;AACA,SAAKpvK,MAAL,GAAcA,MAAd;AACA,SAAKs4B,QAAL,GAAgBA,QAAhB;AACA,SAAKX,MAAL,GAAcA,MAAd;AACH;;AACD0gP,EAAAA,KAAK,CAAC1tG,OAAD,EAAU7wK,OAAO,GAAG,IAApB,EAA0B;AAC3B,QAAI6wK,OAAO,CAAC4uH,kBAAZ,EAAgC;AAC5B,aAAO5uH,OAAO,CAAC4uH,kBAAR,CAA2B,IAA3B,EAAiCz/R,OAAjC,CAAP;AACH;;AACD,WAAO,KAAKs1K,GAAL,CAASipG,KAAT,CAAe1tG,OAAf,EAAwB7wK,OAAxB,CAAP;AACH;;AACDjB,EAAAA,QAAQ,GAAG;AACP,WAAQ,GAAE,KAAKmH,MAAO,OAAM,KAAKs4B,QAAS,EAA1C;AACH;;AAhB2B;;AAkBhC,MAAMkhQ,eAAN,CAAsB;AAClB;AACJ;AACA;AACA;AACA;AACIphS,EAAAA,WAAW,CAAC+4P,UAAD,EAAa5vP,GAAb,EAAkB8B,KAAlB,EAAyB;AAChC,SAAK8tP,UAAL,GAAkBA,UAAlB;AACA,SAAK5vP,GAAL,GAAWA,GAAX;AACA,SAAK8B,KAAL,GAAaA,KAAb;AACH;;AAViB;;AAYtB,MAAMo2R,iBAAN,CAAwB;AACpB;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACIrhS,EAAAA,WAAW,CAAC+4P,UAAD,EAAa5vP,GAAb,EAAkB8B,KAAlB,EAAyB;AAChC,SAAK8tP,UAAL,GAAkBA,UAAlB;AACA,SAAK5vP,GAAL,GAAWA,GAAX;AACA,SAAK8B,KAAL,GAAaA,KAAb;AACH;;AAfmB;;AAiBxB,MAAMs8P,mBAAN,CAA0B;AACtB0Y,EAAAA,KAAK,CAACjpG,GAAD,EAAMt1K,OAAN,EAAe;AAChB;AACA;AACA;AACAs1K,IAAAA,GAAG,CAACipG,KAAJ,CAAU,IAAV,EAAgBv+Q,OAAhB;AACH;;AACDg/R,EAAAA,UAAU,CAAC1pH,GAAD,EAAMt1K,OAAN,EAAe;AACrB,SAAKu+Q,KAAL,CAAWjpG,GAAG,CAACZ,IAAf,EAAqB10K,OAArB;AACH;;AACDy+R,EAAAA,WAAW,CAACnpH,GAAD,EAAMt1K,OAAN,EAAe;AACtB,SAAKu+Q,KAAL,CAAWjpG,GAAG,CAACzwF,IAAf,EAAqB7kF,OAArB;AACA,SAAKu+Q,KAAL,CAAWjpG,GAAG,CAACxwF,KAAf,EAAsB9kF,OAAtB;AACH;;AACD68R,EAAAA,UAAU,CAACvnH,GAAD,EAAMt1K,OAAN,EAAe;AACrB,SAAK4/R,QAAL,CAActqH,GAAG,CAACxD,WAAlB,EAA+B9xK,OAA/B;AACH;;AACDi9R,EAAAA,gBAAgB,CAAC3nH,GAAD,EAAMt1K,OAAN,EAAe;AAC3B,SAAKu+Q,KAAL,CAAWjpG,GAAG,CAACskE,SAAf,EAA0B55O,OAA1B;AACA,SAAKu+Q,KAAL,CAAWjpG,GAAG,CAACynH,OAAf,EAAwB/8R,OAAxB;AACA,SAAKu+Q,KAAL,CAAWjpG,GAAG,CAAC0nH,QAAf,EAAyBh9R,OAAzB;AACH;;AACD+9R,EAAAA,SAAS,CAACzoH,GAAD,EAAMt1K,OAAN,EAAe;AACpB,SAAKu+Q,KAAL,CAAWjpG,GAAG,CAAClH,GAAf,EAAoBpuK,OAApB;AACA,SAAK4/R,QAAL,CAActqH,GAAG,CAAC1X,IAAlB,EAAwB59J,OAAxB;AACH;;AACDy8R,EAAAA,qBAAqB,CAACnnH,GAAD,EAAMt1K,OAAN,EAAe,CAAG;;AACvC28R,EAAAA,iBAAiB,CAACrnH,GAAD,EAAMt1K,OAAN,EAAe,CAAG;;AACnCu+R,EAAAA,kBAAkB,CAACjpH,GAAD,EAAMt1K,OAAN,EAAe;AAC7B,SAAK4/R,QAAL,CAActqH,GAAG,CAACxD,WAAlB,EAA+B9xK,OAA/B;AACH;;AACDy9R,EAAAA,cAAc,CAACnoH,GAAD,EAAMt1K,OAAN,EAAe;AACzB,SAAKu+Q,KAAL,CAAWjpG,GAAG,CAAComF,QAAf,EAAyB17P,OAAzB;AACA,SAAKu+Q,KAAL,CAAWjpG,GAAG,CAAC7tK,GAAf,EAAoBzH,OAApB;AACH;;AACD69R,EAAAA,eAAe,CAACvoH,GAAD,EAAMt1K,OAAN,EAAe;AAC1B,SAAKu+Q,KAAL,CAAWjpG,GAAG,CAAComF,QAAf,EAAyB17P,OAAzB;AACA,SAAKu+Q,KAAL,CAAWjpG,GAAG,CAAC7tK,GAAf,EAAoBzH,OAApB;AACA,SAAKu+Q,KAAL,CAAWjpG,GAAG,CAAC/rK,KAAf,EAAsBvJ,OAAtB;AACH;;AACDm+R,EAAAA,iBAAiB,CAAC7oH,GAAD,EAAMt1K,OAAN,EAAe;AAC5B,SAAK4/R,QAAL,CAActqH,GAAG,CAACxD,WAAlB,EAA+B9xK,OAA/B;AACH;;AACDq+R,EAAAA,eAAe,CAAC/oH,GAAD,EAAMt1K,OAAN,EAAe;AAC1B,SAAK4/R,QAAL,CAActqH,GAAG,CAACv6H,MAAlB,EAA0B/6C,OAA1B;AACH;;AACDi+R,EAAAA,qBAAqB,CAAC3oH,GAAD,EAAMt1K,OAAN,EAAe,CAAG;;AACvCk/R,EAAAA,cAAc,CAAC5pH,GAAD,EAAMt1K,OAAN,EAAe;AACzB,SAAKu+Q,KAAL,CAAWjpG,GAAG,CAACjtK,UAAf,EAA2BrI,OAA3B;AACH;;AACDo/R,EAAAA,kBAAkB,CAAC9pH,GAAD,EAAMt1K,OAAN,EAAe;AAC7B,SAAKu+Q,KAAL,CAAWjpG,GAAG,CAACjtK,UAAf,EAA2BrI,OAA3B;AACH;;AACDm9R,EAAAA,iBAAiB,CAAC7nH,GAAD,EAAMt1K,OAAN,EAAe;AAC5B,SAAKu+Q,KAAL,CAAWjpG,GAAG,CAAComF,QAAf,EAAyB17P,OAAzB;AACH;;AACDq9R,EAAAA,kBAAkB,CAAC/nH,GAAD,EAAMt1K,OAAN,EAAe;AAC7B,SAAKu+Q,KAAL,CAAWjpG,GAAG,CAAComF,QAAf,EAAyB17P,OAAzB;AACA,SAAKu+Q,KAAL,CAAWjpG,GAAG,CAAC/rK,KAAf,EAAsBvJ,OAAtB;AACH;;AACDu9R,EAAAA,qBAAqB,CAACjoH,GAAD,EAAMt1K,OAAN,EAAe;AAChC,SAAKu+Q,KAAL,CAAWjpG,GAAG,CAAComF,QAAf,EAAyB17P,OAAzB;AACH;;AACD29R,EAAAA,kBAAkB,CAACroH,GAAD,EAAMt1K,OAAN,EAAe;AAC7B,SAAKu+Q,KAAL,CAAWjpG,GAAG,CAAComF,QAAf,EAAyB17P,OAAzB;AACA,SAAKu+Q,KAAL,CAAWjpG,GAAG,CAAC7tK,GAAf,EAAoBzH,OAApB;AACH;;AACDu/R,EAAAA,SAAS,CAACjqH,GAAD,EAAMt1K,OAAN,EAAe;AACpB,SAAKu+Q,KAAL,CAAWjpG,GAAG,CAAComF,QAAf,EAAyB17P,OAAzB;AACA,SAAK4/R,QAAL,CAActqH,GAAG,CAAC1X,IAAlB,EAAwB59J,OAAxB;AACH;;AACDs8R,EAAAA,UAAU,CAAChnH,GAAD,EAAMt1K,OAAN,EAAe,CAAG,CAvEN,CAwEtB;;;AACA4/R,EAAAA,QAAQ,CAACC,IAAD,EAAO7/R,OAAP,EAAgB;AACpB,SAAK,MAAMs1K,GAAX,IAAkBuqH,IAAlB,EAAwB;AACpB,WAAKthB,KAAL,CAAWjpG,GAAX,EAAgBt1K,OAAhB;AACH;AACJ;;AA7EqB;;AA+E1B,MAAM4lQ,cAAN,CAAqB;AACjB62B,EAAAA,qBAAqB,CAACnnH,GAAD,EAAMt1K,OAAN,EAAe;AAChC,WAAOs1K,GAAP;AACH;;AACDqnH,EAAAA,iBAAiB,CAACrnH,GAAD,EAAMt1K,OAAN,EAAe;AAC5B,WAAOs1K,GAAP;AACH;;AACDipH,EAAAA,kBAAkB,CAACjpH,GAAD,EAAMt1K,OAAN,EAAe;AAC7B,WAAO,IAAIs+R,aAAJ,CAAkBhpH,GAAG,CAAC4jG,IAAtB,EAA4B5jG,GAAG,CAAC+hF,UAAhC,EAA4C/hF,GAAG,CAAC62G,OAAhD,EAAyD,KAAKyT,QAAL,CAActqH,GAAG,CAACxD,WAAlB,CAAzD,CAAP;AACH;;AACDmsH,EAAAA,qBAAqB,CAAC3oH,GAAD,EAAMt1K,OAAN,EAAe;AAChC,WAAO,IAAIg+R,gBAAJ,CAAqB1oH,GAAG,CAAC4jG,IAAzB,EAA+B5jG,GAAG,CAAC+hF,UAAnC,EAA+C/hF,GAAG,CAAC/rK,KAAnD,CAAP;AACH;;AACD4zR,EAAAA,iBAAiB,CAAC7nH,GAAD,EAAMt1K,OAAN,EAAe;AAC5B,WAAO,IAAIk9R,YAAJ,CAAiB5nH,GAAG,CAAC4jG,IAArB,EAA2B5jG,GAAG,CAAC+hF,UAA/B,EAA2C/hF,GAAG,CAAC6mH,QAA/C,EAAyD7mH,GAAG,CAAComF,QAAJ,CAAa6iB,KAAb,CAAmB,IAAnB,CAAzD,EAAmFjpG,GAAG,CAACr/J,IAAvF,CAAP;AACH;;AACDonR,EAAAA,kBAAkB,CAAC/nH,GAAD,EAAMt1K,OAAN,EAAe;AAC7B,WAAO,IAAIo9R,aAAJ,CAAkB9nH,GAAG,CAAC4jG,IAAtB,EAA4B5jG,GAAG,CAAC+hF,UAAhC,EAA4C/hF,GAAG,CAAC6mH,QAAhD,EAA0D7mH,GAAG,CAAComF,QAAJ,CAAa6iB,KAAb,CAAmB,IAAnB,CAA1D,EAAoFjpG,GAAG,CAACr/J,IAAxF,EAA8Fq/J,GAAG,CAAC/rK,KAAJ,CAAUg1Q,KAAV,CAAgB,IAAhB,CAA9F,CAAP;AACH;;AACDgf,EAAAA,qBAAqB,CAACjoH,GAAD,EAAMt1K,OAAN,EAAe;AAChC,WAAO,IAAIs9R,gBAAJ,CAAqBhoH,GAAG,CAAC4jG,IAAzB,EAA+B5jG,GAAG,CAAC+hF,UAAnC,EAA+C/hF,GAAG,CAAC6mH,QAAnD,EAA6D7mH,GAAG,CAAComF,QAAJ,CAAa6iB,KAAb,CAAmB,IAAnB,CAA7D,EAAuFjpG,GAAG,CAACr/J,IAA3F,CAAP;AACH;;AACDkoR,EAAAA,iBAAiB,CAAC7oH,GAAD,EAAMt1K,OAAN,EAAe;AAC5B,WAAO,IAAIk+R,YAAJ,CAAiB5oH,GAAG,CAAC4jG,IAArB,EAA2B5jG,GAAG,CAAC+hF,UAA/B,EAA2C,KAAKuoC,QAAL,CAActqH,GAAG,CAACxD,WAAlB,CAA3C,CAAP;AACH;;AACDusH,EAAAA,eAAe,CAAC/oH,GAAD,EAAMt1K,OAAN,EAAe;AAC1B,WAAO,IAAIo+R,UAAJ,CAAe9oH,GAAG,CAAC4jG,IAAnB,EAAyB5jG,GAAG,CAAC+hF,UAA7B,EAAyC/hF,GAAG,CAACl6J,IAA7C,EAAmD,KAAKwkR,QAAL,CAActqH,GAAG,CAACv6H,MAAlB,CAAnD,CAAP;AACH;;AACDikP,EAAAA,UAAU,CAAC1pH,GAAD,EAAMt1K,OAAN,EAAe;AACrB,YAAQs1K,GAAG,CAACgqF,QAAZ;AACI,WAAK,GAAL;AACI,eAAOo/B,KAAK,CAACK,UAAN,CAAiBzpH,GAAG,CAAC4jG,IAArB,EAA2B5jG,GAAG,CAAC+hF,UAA/B,EAA2C/hF,GAAG,CAACZ,IAAJ,CAAS6pG,KAAT,CAAe,IAAf,CAA3C,CAAP;;AACJ,WAAK,GAAL;AACI,eAAOmgB,KAAK,CAACI,WAAN,CAAkBxpH,GAAG,CAAC4jG,IAAtB,EAA4B5jG,GAAG,CAAC+hF,UAAhC,EAA4C/hF,GAAG,CAACZ,IAAJ,CAAS6pG,KAAT,CAAe,IAAf,CAA5C,CAAP;;AACJ;AACI,cAAM,IAAIpnQ,KAAJ,CAAW,0BAAyBm+J,GAAG,CAACgqF,QAAS,EAAjD,CAAN;AANR;AAQH;;AACDm/B,EAAAA,WAAW,CAACnpH,GAAD,EAAMt1K,OAAN,EAAe;AACtB,WAAO,IAAIw+R,MAAJ,CAAWlpH,GAAG,CAAC4jG,IAAf,EAAqB5jG,GAAG,CAAC+hF,UAAzB,EAAqC/hF,GAAG,CAAC+8B,SAAzC,EAAoD/8B,GAAG,CAACzwF,IAAJ,CAAS05L,KAAT,CAAe,IAAf,CAApD,EAA0EjpG,GAAG,CAACxwF,KAAJ,CAAUy5L,KAAV,CAAgB,IAAhB,CAA1E,CAAP;AACH;;AACD2gB,EAAAA,cAAc,CAAC5pH,GAAD,EAAMt1K,OAAN,EAAe;AACzB,WAAO,IAAIi/R,SAAJ,CAAc3pH,GAAG,CAAC4jG,IAAlB,EAAwB5jG,GAAG,CAAC+hF,UAA5B,EAAwC/hF,GAAG,CAACjtK,UAAJ,CAAek2Q,KAAf,CAAqB,IAArB,CAAxC,CAAP;AACH;;AACD6gB,EAAAA,kBAAkB,CAAC9pH,GAAD,EAAMt1K,OAAN,EAAe;AAC7B,WAAO,IAAIm/R,aAAJ,CAAkB7pH,GAAG,CAAC4jG,IAAtB,EAA4B5jG,GAAG,CAAC+hF,UAAhC,EAA4C/hF,GAAG,CAACjtK,UAAJ,CAAek2Q,KAAf,CAAqB,IAArB,CAA5C,CAAP;AACH;;AACD0e,EAAAA,gBAAgB,CAAC3nH,GAAD,EAAMt1K,OAAN,EAAe;AAC3B,WAAO,IAAI88R,WAAJ,CAAgBxnH,GAAG,CAAC4jG,IAApB,EAA0B5jG,GAAG,CAAC+hF,UAA9B,EAA0C/hF,GAAG,CAACskE,SAAJ,CAAc2kC,KAAd,CAAoB,IAApB,CAA1C,EAAqEjpG,GAAG,CAACynH,OAAJ,CAAYxe,KAAZ,CAAkB,IAAlB,CAArE,EAA8FjpG,GAAG,CAAC0nH,QAAJ,CAAaze,KAAb,CAAmB,IAAnB,CAA9F,CAAP;AACH;;AACDwf,EAAAA,SAAS,CAACzoH,GAAD,EAAMt1K,OAAN,EAAe;AACpB,WAAO,IAAI89R,WAAJ,CAAgBxoH,GAAG,CAAC4jG,IAApB,EAA0B5jG,GAAG,CAAC+hF,UAA9B,EAA0C/hF,GAAG,CAAClH,GAAJ,CAAQmwG,KAAR,CAAc,IAAd,CAA1C,EAA+DjpG,GAAG,CAACr/J,IAAnE,EAAyE,KAAK2pR,QAAL,CAActqH,GAAG,CAAC1X,IAAlB,CAAzE,EAAkG0X,GAAG,CAAC6mH,QAAtG,CAAP;AACH;;AACDsB,EAAAA,cAAc,CAACnoH,GAAD,EAAMt1K,OAAN,EAAe;AACzB,WAAO,IAAIw9R,SAAJ,CAAcloH,GAAG,CAAC4jG,IAAlB,EAAwB5jG,GAAG,CAAC+hF,UAA5B,EAAwC/hF,GAAG,CAAComF,QAAJ,CAAa6iB,KAAb,CAAmB,IAAnB,CAAxC,EAAkEjpG,GAAG,CAAC7tK,GAAJ,CAAQ82Q,KAAR,CAAc,IAAd,CAAlE,CAAP;AACH;;AACDsf,EAAAA,eAAe,CAACvoH,GAAD,EAAMt1K,OAAN,EAAe;AAC1B,WAAO,IAAI49R,UAAJ,CAAetoH,GAAG,CAAC4jG,IAAnB,EAAyB5jG,GAAG,CAAC+hF,UAA7B,EAAyC/hF,GAAG,CAAComF,QAAJ,CAAa6iB,KAAb,CAAmB,IAAnB,CAAzC,EAAmEjpG,GAAG,CAAC7tK,GAAJ,CAAQ82Q,KAAR,CAAc,IAAd,CAAnE,EAAwFjpG,GAAG,CAAC/rK,KAAJ,CAAUg1Q,KAAV,CAAgB,IAAhB,CAAxF,CAAP;AACH;;AACDghB,EAAAA,SAAS,CAACjqH,GAAD,EAAMt1K,OAAN,EAAe;AACpB,WAAO,IAAIq/R,IAAJ,CAAS/pH,GAAG,CAAC4jG,IAAb,EAAmB5jG,GAAG,CAAC+hF,UAAvB,EAAmC/hF,GAAG,CAAComF,QAAJ,CAAa6iB,KAAb,CAAmB,IAAnB,CAAnC,EAA6D,KAAKqhB,QAAL,CAActqH,GAAG,CAAC1X,IAAlB,CAA7D,EAAsF0X,GAAG,CAACgqH,YAA1F,CAAP;AACH;;AACDM,EAAAA,QAAQ,CAACC,IAAD,EAAO;AACX,UAAMx3D,GAAG,GAAG,EAAZ;;AACA,SAAK,IAAI9rO,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGsjS,IAAI,CAACn2R,MAAzB,EAAiC,EAAEnN,CAAnC,EAAsC;AAClC8rO,MAAAA,GAAG,CAAC9rO,CAAD,CAAH,GAASsjS,IAAI,CAACtjS,CAAD,CAAJ,CAAQgiR,KAAR,CAAc,IAAd,CAAT;AACH;;AACD,WAAOl2C,GAAP;AACH;;AACDw0D,EAAAA,UAAU,CAACvnH,GAAD,EAAMt1K,OAAN,EAAe;AACrB,WAAO,IAAI48R,KAAJ,CAAUtnH,GAAG,CAAC4jG,IAAd,EAAoB5jG,GAAG,CAAC+hF,UAAxB,EAAoC,KAAKuoC,QAAL,CAActqH,GAAG,CAACxD,WAAlB,CAApC,CAAP;AACH;;AACDwqH,EAAAA,UAAU,CAAChnH,GAAD,EAAMt1K,OAAN,EAAe;AACrB,WAAO,IAAIo8R,KAAJ,CAAU9mH,GAAG,CAAC4jG,IAAd,EAAoB5jG,GAAG,CAAC+hF,UAAxB,EAAoC/hF,GAAG,CAACi4E,MAAxC,EAAgDj4E,GAAG,CAAC+mH,uBAApD,EAA6E/mH,GAAG,CAAC92I,QAAjF,CAAP;AACH;;AACDm/P,EAAAA,kBAAkB,CAACroH,GAAD,EAAMt1K,OAAN,EAAe;AAC7B,WAAO,IAAI09R,aAAJ,CAAkBpoH,GAAG,CAAC4jG,IAAtB,EAA4B5jG,GAAG,CAAC+hF,UAAhC,EAA4C/hF,GAAG,CAAComF,QAAJ,CAAa6iB,KAAb,CAAmB,IAAnB,CAA5C,EAAsEjpG,GAAG,CAAC7tK,GAAJ,CAAQ82Q,KAAR,CAAc,IAAd,CAAtE,CAAP;AACH;;AA7EgB,EA+ErB;AACA;;;AACA,MAAMuhB,6BAAN,CAAoC;AAChCrD,EAAAA,qBAAqB,CAACnnH,GAAD,EAAMt1K,OAAN,EAAe;AAChC,WAAOs1K,GAAP;AACH;;AACDqnH,EAAAA,iBAAiB,CAACrnH,GAAD,EAAMt1K,OAAN,EAAe;AAC5B,WAAOs1K,GAAP;AACH;;AACDipH,EAAAA,kBAAkB,CAACjpH,GAAD,EAAMt1K,OAAN,EAAe;AAC7B,UAAM8xK,WAAW,GAAG,KAAK8tH,QAAL,CAActqH,GAAG,CAACxD,WAAlB,CAApB;AACA,QAAIA,WAAW,KAAKwD,GAAG,CAACxD,WAAxB,EACI,OAAO,IAAIwsH,aAAJ,CAAkBhpH,GAAG,CAAC4jG,IAAtB,EAA4B5jG,GAAG,CAAC+hF,UAAhC,EAA4C/hF,GAAG,CAAC62G,OAAhD,EAAyDr6G,WAAzD,CAAP;AACJ,WAAOwD,GAAP;AACH;;AACD2oH,EAAAA,qBAAqB,CAAC3oH,GAAD,EAAMt1K,OAAN,EAAe;AAChC,WAAOs1K,GAAP;AACH;;AACD6nH,EAAAA,iBAAiB,CAAC7nH,GAAD,EAAMt1K,OAAN,EAAe;AAC5B,UAAM07P,QAAQ,GAAGpmF,GAAG,CAAComF,QAAJ,CAAa6iB,KAAb,CAAmB,IAAnB,CAAjB;;AACA,QAAI7iB,QAAQ,KAAKpmF,GAAG,CAAComF,QAArB,EAA+B;AAC3B,aAAO,IAAIwhC,YAAJ,CAAiB5nH,GAAG,CAAC4jG,IAArB,EAA2B5jG,GAAG,CAAC+hF,UAA/B,EAA2C/hF,GAAG,CAAC6mH,QAA/C,EAAyDzgC,QAAzD,EAAmEpmF,GAAG,CAACr/J,IAAvE,CAAP;AACH;;AACD,WAAOq/J,GAAP;AACH;;AACD+nH,EAAAA,kBAAkB,CAAC/nH,GAAD,EAAMt1K,OAAN,EAAe;AAC7B,UAAM07P,QAAQ,GAAGpmF,GAAG,CAAComF,QAAJ,CAAa6iB,KAAb,CAAmB,IAAnB,CAAjB;AACA,UAAMh1Q,KAAK,GAAG+rK,GAAG,CAAC/rK,KAAJ,CAAUg1Q,KAAV,CAAgB,IAAhB,CAAd;;AACA,QAAI7iB,QAAQ,KAAKpmF,GAAG,CAAComF,QAAjB,IAA6BnyP,KAAK,KAAK+rK,GAAG,CAAC/rK,KAA/C,EAAsD;AAClD,aAAO,IAAI6zR,aAAJ,CAAkB9nH,GAAG,CAAC4jG,IAAtB,EAA4B5jG,GAAG,CAAC+hF,UAAhC,EAA4C/hF,GAAG,CAAC6mH,QAAhD,EAA0DzgC,QAA1D,EAAoEpmF,GAAG,CAACr/J,IAAxE,EAA8E1M,KAA9E,CAAP;AACH;;AACD,WAAO+rK,GAAP;AACH;;AACDioH,EAAAA,qBAAqB,CAACjoH,GAAD,EAAMt1K,OAAN,EAAe;AAChC,UAAM07P,QAAQ,GAAGpmF,GAAG,CAAComF,QAAJ,CAAa6iB,KAAb,CAAmB,IAAnB,CAAjB;;AACA,QAAI7iB,QAAQ,KAAKpmF,GAAG,CAAComF,QAArB,EAA+B;AAC3B,aAAO,IAAI4hC,gBAAJ,CAAqBhoH,GAAG,CAAC4jG,IAAzB,EAA+B5jG,GAAG,CAAC+hF,UAAnC,EAA+C/hF,GAAG,CAAC6mH,QAAnD,EAA6DzgC,QAA7D,EAAuEpmF,GAAG,CAACr/J,IAA3E,CAAP;AACH;;AACD,WAAOq/J,GAAP;AACH;;AACD6oH,EAAAA,iBAAiB,CAAC7oH,GAAD,EAAMt1K,OAAN,EAAe;AAC5B,UAAM8xK,WAAW,GAAG,KAAK8tH,QAAL,CAActqH,GAAG,CAACxD,WAAlB,CAApB;;AACA,QAAIA,WAAW,KAAKwD,GAAG,CAACxD,WAAxB,EAAqC;AACjC,aAAO,IAAIosH,YAAJ,CAAiB5oH,GAAG,CAAC4jG,IAArB,EAA2B5jG,GAAG,CAAC+hF,UAA/B,EAA2CvlF,WAA3C,CAAP;AACH;;AACD,WAAOwD,GAAP;AACH;;AACD+oH,EAAAA,eAAe,CAAC/oH,GAAD,EAAMt1K,OAAN,EAAe;AAC1B,UAAM+6C,MAAM,GAAG,KAAK6kP,QAAL,CAActqH,GAAG,CAACv6H,MAAlB,CAAf;;AACA,QAAIA,MAAM,KAAKu6H,GAAG,CAACv6H,MAAnB,EAA2B;AACvB,aAAO,IAAIqjP,UAAJ,CAAe9oH,GAAG,CAAC4jG,IAAnB,EAAyB5jG,GAAG,CAAC+hF,UAA7B,EAAyC/hF,GAAG,CAACl6J,IAA7C,EAAmD2/B,MAAnD,CAAP;AACH;;AACD,WAAOu6H,GAAP;AACH;;AACD0pH,EAAAA,UAAU,CAAC1pH,GAAD,EAAMt1K,OAAN,EAAe;AACrB,UAAM00K,IAAI,GAAGY,GAAG,CAACZ,IAAJ,CAAS6pG,KAAT,CAAe,IAAf,CAAb;;AACA,QAAI7pG,IAAI,KAAKY,GAAG,CAACZ,IAAjB,EAAuB;AACnB,cAAQY,GAAG,CAACgqF,QAAZ;AACI,aAAK,GAAL;AACI,iBAAOo/B,KAAK,CAACK,UAAN,CAAiBzpH,GAAG,CAAC4jG,IAArB,EAA2B5jG,GAAG,CAAC+hF,UAA/B,EAA2C3iF,IAA3C,CAAP;;AACJ,aAAK,GAAL;AACI,iBAAOgqH,KAAK,CAACI,WAAN,CAAkBxpH,GAAG,CAAC4jG,IAAtB,EAA4B5jG,GAAG,CAAC+hF,UAAhC,EAA4C3iF,IAA5C,CAAP;;AACJ;AACI,gBAAM,IAAIv9J,KAAJ,CAAW,0BAAyBm+J,GAAG,CAACgqF,QAAS,EAAjD,CAAN;AANR;AAQH;;AACD,WAAOhqF,GAAP;AACH;;AACDmpH,EAAAA,WAAW,CAACnpH,GAAD,EAAMt1K,OAAN,EAAe;AACtB,UAAM6kF,IAAI,GAAGywF,GAAG,CAACzwF,IAAJ,CAAS05L,KAAT,CAAe,IAAf,CAAb;AACA,UAAMz5L,KAAK,GAAGwwF,GAAG,CAACxwF,KAAJ,CAAUy5L,KAAV,CAAgB,IAAhB,CAAd;;AACA,QAAI15L,IAAI,KAAKywF,GAAG,CAACzwF,IAAb,IAAqBC,KAAK,KAAKwwF,GAAG,CAACxwF,KAAvC,EAA8C;AAC1C,aAAO,IAAI05M,MAAJ,CAAWlpH,GAAG,CAAC4jG,IAAf,EAAqB5jG,GAAG,CAAC+hF,UAAzB,EAAqC/hF,GAAG,CAAC+8B,SAAzC,EAAoDxtH,IAApD,EAA0DC,KAA1D,CAAP;AACH;;AACD,WAAOwwF,GAAP;AACH;;AACD4pH,EAAAA,cAAc,CAAC5pH,GAAD,EAAMt1K,OAAN,EAAe;AACzB,UAAMqI,UAAU,GAAGitK,GAAG,CAACjtK,UAAJ,CAAek2Q,KAAf,CAAqB,IAArB,CAAnB;;AACA,QAAIl2Q,UAAU,KAAKitK,GAAG,CAACjtK,UAAvB,EAAmC;AAC/B,aAAO,IAAI42R,SAAJ,CAAc3pH,GAAG,CAAC4jG,IAAlB,EAAwB5jG,GAAG,CAAC+hF,UAA5B,EAAwChvP,UAAxC,CAAP;AACH;;AACD,WAAOitK,GAAP;AACH;;AACD8pH,EAAAA,kBAAkB,CAAC9pH,GAAD,EAAMt1K,OAAN,EAAe;AAC7B,UAAMqI,UAAU,GAAGitK,GAAG,CAACjtK,UAAJ,CAAek2Q,KAAf,CAAqB,IAArB,CAAnB;;AACA,QAAIl2Q,UAAU,KAAKitK,GAAG,CAACjtK,UAAvB,EAAmC;AAC/B,aAAO,IAAI82R,aAAJ,CAAkB7pH,GAAG,CAAC4jG,IAAtB,EAA4B5jG,GAAG,CAAC+hF,UAAhC,EAA4ChvP,UAA5C,CAAP;AACH;;AACD,WAAOitK,GAAP;AACH;;AACD2nH,EAAAA,gBAAgB,CAAC3nH,GAAD,EAAMt1K,OAAN,EAAe;AAC3B,UAAM45O,SAAS,GAAGtkE,GAAG,CAACskE,SAAJ,CAAc2kC,KAAd,CAAoB,IAApB,CAAlB;AACA,UAAMwe,OAAO,GAAGznH,GAAG,CAACynH,OAAJ,CAAYxe,KAAZ,CAAkB,IAAlB,CAAhB;AACA,UAAMye,QAAQ,GAAG1nH,GAAG,CAAC0nH,QAAJ,CAAaze,KAAb,CAAmB,IAAnB,CAAjB;;AACA,QAAI3kC,SAAS,KAAKtkE,GAAG,CAACskE,SAAlB,IAA+BmjD,OAAO,KAAKznH,GAAG,CAACynH,OAA/C,IAA0DC,QAAQ,KAAK1nH,GAAG,CAAC0nH,QAA/E,EAAyF;AACrF,aAAO,IAAIF,WAAJ,CAAgBxnH,GAAG,CAAC4jG,IAApB,EAA0B5jG,GAAG,CAAC+hF,UAA9B,EAA0Czd,SAA1C,EAAqDmjD,OAArD,EAA8DC,QAA9D,CAAP;AACH;;AACD,WAAO1nH,GAAP;AACH;;AACDyoH,EAAAA,SAAS,CAACzoH,GAAD,EAAMt1K,OAAN,EAAe;AACpB,UAAMouK,GAAG,GAAGkH,GAAG,CAAClH,GAAJ,CAAQmwG,KAAR,CAAc,IAAd,CAAZ;AACA,UAAM3gH,IAAI,GAAG,KAAKgiI,QAAL,CAActqH,GAAG,CAAC1X,IAAlB,CAAb;;AACA,QAAIwQ,GAAG,KAAKkH,GAAG,CAAClH,GAAZ,IAAmBxQ,IAAI,KAAK0X,GAAG,CAAC1X,IAApC,EAA0C;AACtC,aAAO,IAAIkgI,WAAJ,CAAgBxoH,GAAG,CAAC4jG,IAApB,EAA0B5jG,GAAG,CAAC+hF,UAA9B,EAA0CjpF,GAA1C,EAA+CkH,GAAG,CAACr/J,IAAnD,EAAyD2nJ,IAAzD,EAA+D0X,GAAG,CAAC6mH,QAAnE,CAAP;AACH;;AACD,WAAO7mH,GAAP;AACH;;AACDmoH,EAAAA,cAAc,CAACnoH,GAAD,EAAMt1K,OAAN,EAAe;AACzB,UAAM0uK,GAAG,GAAG4G,GAAG,CAAComF,QAAJ,CAAa6iB,KAAb,CAAmB,IAAnB,CAAZ;AACA,UAAM92Q,GAAG,GAAG6tK,GAAG,CAAC7tK,GAAJ,CAAQ82Q,KAAR,CAAc,IAAd,CAAZ;;AACA,QAAI7vG,GAAG,KAAK4G,GAAG,CAAComF,QAAZ,IAAwBj0P,GAAG,KAAK6tK,GAAG,CAAC7tK,GAAxC,EAA6C;AACzC,aAAO,IAAI+1R,SAAJ,CAAcloH,GAAG,CAAC4jG,IAAlB,EAAwB5jG,GAAG,CAAC+hF,UAA5B,EAAwC3oF,GAAxC,EAA6CjnK,GAA7C,CAAP;AACH;;AACD,WAAO6tK,GAAP;AACH;;AACDuoH,EAAAA,eAAe,CAACvoH,GAAD,EAAMt1K,OAAN,EAAe;AAC1B,UAAM0uK,GAAG,GAAG4G,GAAG,CAAComF,QAAJ,CAAa6iB,KAAb,CAAmB,IAAnB,CAAZ;AACA,UAAM92Q,GAAG,GAAG6tK,GAAG,CAAC7tK,GAAJ,CAAQ82Q,KAAR,CAAc,IAAd,CAAZ;AACA,UAAMh1Q,KAAK,GAAG+rK,GAAG,CAAC/rK,KAAJ,CAAUg1Q,KAAV,CAAgB,IAAhB,CAAd;;AACA,QAAI7vG,GAAG,KAAK4G,GAAG,CAAComF,QAAZ,IAAwBj0P,GAAG,KAAK6tK,GAAG,CAAC7tK,GAApC,IAA2C8B,KAAK,KAAK+rK,GAAG,CAAC/rK,KAA7D,EAAoE;AAChE,aAAO,IAAIq0R,UAAJ,CAAetoH,GAAG,CAAC4jG,IAAnB,EAAyB5jG,GAAG,CAAC+hF,UAA7B,EAAyC3oF,GAAzC,EAA8CjnK,GAA9C,EAAmD8B,KAAnD,CAAP;AACH;;AACD,WAAO+rK,GAAP;AACH;;AACDsqH,EAAAA,QAAQ,CAACC,IAAD,EAAO;AACX,UAAMx3D,GAAG,GAAG,EAAZ;AACA,QAAIp4K,QAAQ,GAAG,KAAf;;AACA,SAAK,IAAI1zD,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGsjS,IAAI,CAACn2R,MAAzB,EAAiC,EAAEnN,CAAnC,EAAsC;AAClC,YAAMkoD,QAAQ,GAAGo7O,IAAI,CAACtjS,CAAD,CAArB;AACA,YAAMgN,KAAK,GAAGk7C,QAAQ,CAAC85N,KAAT,CAAe,IAAf,CAAd;AACAl2C,MAAAA,GAAG,CAAC9rO,CAAD,CAAH,GAASgN,KAAT;AACA0mD,MAAAA,QAAQ,GAAGA,QAAQ,IAAI1mD,KAAK,KAAKk7C,QAAjC;AACH;;AACD,WAAOwL,QAAQ,GAAGo4K,GAAH,GAASw3D,IAAxB;AACH;;AACDhD,EAAAA,UAAU,CAACvnH,GAAD,EAAMt1K,OAAN,EAAe;AACrB,UAAM8xK,WAAW,GAAG,KAAK8tH,QAAL,CAActqH,GAAG,CAACxD,WAAlB,CAApB;;AACA,QAAIA,WAAW,KAAKwD,GAAG,CAACxD,WAAxB,EAAqC;AACjC,aAAO,IAAI8qH,KAAJ,CAAUtnH,GAAG,CAAC4jG,IAAd,EAAoB5jG,GAAG,CAAC+hF,UAAxB,EAAoCvlF,WAApC,CAAP;AACH;;AACD,WAAOwD,GAAP;AACH;;AACDiqH,EAAAA,SAAS,CAACjqH,GAAD,EAAMt1K,OAAN,EAAe;AACpB,UAAM07P,QAAQ,GAAGpmF,GAAG,CAAComF,QAAJ,CAAa6iB,KAAb,CAAmB,IAAnB,CAAjB;AACA,UAAM3gH,IAAI,GAAG,KAAKgiI,QAAL,CAActqH,GAAG,CAAC1X,IAAlB,CAAb;;AACA,QAAI89F,QAAQ,KAAKpmF,GAAG,CAAComF,QAAjB,IAA6B99F,IAAI,KAAK0X,GAAG,CAAC1X,IAA9C,EAAoD;AAChD,aAAO,IAAIyhI,IAAJ,CAAS/pH,GAAG,CAAC4jG,IAAb,EAAmB5jG,GAAG,CAAC+hF,UAAvB,EAAmCqE,QAAnC,EAA6C99F,IAA7C,EAAmD0X,GAAG,CAACgqH,YAAvD,CAAP;AACH;;AACD,WAAOhqH,GAAP;AACH;;AACDgnH,EAAAA,UAAU,CAAChnH,GAAD,EAAMt1K,OAAN,EAAe;AACrB,WAAOs1K,GAAP;AACH;;AACDqoH,EAAAA,kBAAkB,CAACroH,GAAD,EAAMt1K,OAAN,EAAe;AAC7B,UAAM0uK,GAAG,GAAG4G,GAAG,CAAComF,QAAJ,CAAa6iB,KAAb,CAAmB,IAAnB,CAAZ;AACA,UAAM92Q,GAAG,GAAG6tK,GAAG,CAAC7tK,GAAJ,CAAQ82Q,KAAR,CAAc,IAAd,CAAZ;;AACA,QAAI7vG,GAAG,KAAK4G,GAAG,CAAComF,QAAZ,IAAwBj0P,GAAG,KAAK6tK,GAAG,CAAC7tK,GAAxC,EAA6C;AACzC,aAAO,IAAIi2R,aAAJ,CAAkBpoH,GAAG,CAAC4jG,IAAtB,EAA4B5jG,GAAG,CAAC+hF,UAAhC,EAA4C3oF,GAA5C,EAAiDjnK,GAAjD,CAAP;AACH;;AACD,WAAO6tK,GAAP;AACH;;AA9J+B,EAgKpC;;;AACA,MAAMyqH,cAAN,CAAqB;AACjBzhS,EAAAA,WAAW,CAAC2X,IAAD,EAAO5N,UAAP,EAAmBjJ,IAAnB,EACX;AACA;AACAi4P,EAAAA,UAHW,EAGCynB,OAHD,EAGUC,SAHV,EAGqB;AAC5B,SAAK9oQ,IAAL,GAAYA,IAAZ;AACA,SAAK5N,UAAL,GAAkBA,UAAlB;AACA,SAAKjJ,IAAL,GAAYA,IAAZ;AACA,SAAKi4P,UAAL,GAAkBA,UAAlB;AACA,SAAKynB,OAAL,GAAeA,OAAf;AACA,SAAKC,SAAL,GAAiBA,SAAjB;AACA,SAAKihB,SAAL,GAAiB,KAAK5gS,IAAL,KAAc6gS,kBAAkB,CAACC,YAAlD;AACA,SAAKC,WAAL,GAAmB,KAAK/gS,IAAL,KAAc6gS,kBAAkB,CAACG,SAApD;AACH;;AAbgB;;AAerB,IAAIH,kBAAJ;;AACA,CAAC,UAAUA,kBAAV,EAA8B;AAC3BA,EAAAA,kBAAkB,CAACA,kBAAkB,CAAC,SAAD,CAAlB,GAAgC,CAAjC,CAAlB,GAAwD,SAAxD;AACAA,EAAAA,kBAAkB,CAACA,kBAAkB,CAAC,cAAD,CAAlB,GAAqC,CAAtC,CAAlB,GAA6D,cAA7D;AACAA,EAAAA,kBAAkB,CAACA,kBAAkB,CAAC,WAAD,CAAlB,GAAkC,CAAnC,CAAlB,GAA0D,WAA1D;AACH,CAJD,EAIGA,kBAAkB,KAAKA,kBAAkB,GAAG,EAA1B,CAJrB;;AAKA,MAAMI,WAAN,CAAkB;AACd;AACA;AACA/hS,EAAAA,WAAW,CAAC2X,IAAD,EAAOupQ,aAAP,EAAsBpgR,IAAtB,EAA4Bg9F,OAA5B,EAAqCi7J,UAArC,EACX;AACAioB,EAAAA,WAFW,EAEER,OAFF,EAEW;AAClB,SAAK7oQ,IAAL,GAAYA,IAAZ;AACA,SAAKupQ,aAAL,GAAqBA,aAArB;AACA,SAAKpgR,IAAL,GAAYA,IAAZ;AACA,SAAKg9F,OAAL,GAAeA,OAAf;AACA,SAAKi7J,UAAL,GAAkBA,UAAlB;AACA,SAAKioB,WAAL,GAAmBA,WAAnB;AACA,SAAKR,OAAL,GAAeA,OAAf;AACH;;AAba;AAelB;AACA;AACA;;;AACA,MAAMwhB,cAAN,CAAqB;AACjBhiS,EAAAA,WAAW,CAAC2X,IAAD,EAAO1M,KAAP,EAAc8tP,UAAd,EAA0BynB,OAA1B,EAAmCC,SAAnC,EAA8C;AACrD,SAAK9oQ,IAAL,GAAYA,IAAZ;AACA,SAAK1M,KAAL,GAAaA,KAAb;AACA,SAAK8tP,UAAL,GAAkBA,UAAlB;AACA,SAAKynB,OAAL,GAAeA,OAAf;AACA,SAAKC,SAAL,GAAiBA,SAAjB;AACH;;AAPgB;;AASrB,MAAMwhB,oBAAN,CAA2B;AACvBjiS,EAAAA,WAAW,CAAC2X,IAAD,EAAO7W,IAAP,EAAa8/Q,eAAb,EAA8B31Q,KAA9B,EAAqC4tC,IAArC,EAA2CkgN,UAA3C,EAAuDynB,OAAvD,EAAgEC,SAAhE,EAA2E;AAClF,SAAK9oQ,IAAL,GAAYA,IAAZ;AACA,SAAK7W,IAAL,GAAYA,IAAZ;AACA,SAAK8/Q,eAAL,GAAuBA,eAAvB;AACA,SAAK31Q,KAAL,GAAaA,KAAb;AACA,SAAK4tC,IAAL,GAAYA,IAAZ;AACA,SAAKkgN,UAAL,GAAkBA,UAAlB;AACA,SAAKynB,OAAL,GAAeA,OAAf;AACA,SAAKC,SAAL,GAAiBA,SAAjB;AACH;;AAVsB;AAa3B;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,MAAMyhB,IAAI,GAAG,eAAb;;AACA,MAAMC,WAAN,CAAkB;;AAElBA,WAAW,CAACC,4BAAZ,GAA2C;AACvCzqR,EAAAA,IAAI,EAAE,8BADiC;AAEvCqoP,EAAAA,UAAU,EAAEkiC;AAF2B,CAA3C;AAIAC,WAAW,CAACn5F,UAAZ,GAAyB;AAAErxL,EAAAA,IAAI,EAAE,YAAR;AAAsBqoP,EAAAA,UAAU,EAAEkiC;AAAlC,CAAzB;AACAC,WAAW,CAACp/D,WAAZ,GAA0B;AAAEprN,EAAAA,IAAI,EAAE,aAAR;AAAuBqoP,EAAAA,UAAU,EAAEkiC;AAAnC,CAA1B;AACAC,WAAW,CAACpyE,gBAAZ,GAA+B;AAAEp4M,EAAAA,IAAI,EAAE,kBAAR;AAA4BqoP,EAAAA,UAAU,EAAEkiC;AAAxC,CAA/B;AACAC,WAAW,CAAC3iE,iBAAZ,GAAgC;AAC5B7nN,EAAAA,IAAI,EAAE,mBADsB;AAE5BqoP,EAAAA,UAAU,EAAEkiC;AAFgB,CAAhC;AAIAC,WAAW,CAACxnG,SAAZ,GAAwB;AAAEhjL,EAAAA,IAAI,EAAE,WAAR;AAAqBqoP,EAAAA,UAAU,EAAEkiC;AAAjC,CAAxB;AACAC,WAAW,CAACryE,WAAZ,GAA0B;AAAEn4M,EAAAA,IAAI,EAAE,aAAR;AAAuBqoP,EAAAA,UAAU,EAAEkiC;AAAnC,CAA1B;AACAC,WAAW,CAAC/oD,SAAZ,GAAwB;AAAEzhO,EAAAA,IAAI,EAAE,WAAR;AAAqBqoP,EAAAA,UAAU,EAAEkiC;AAAjC,CAAxB;AACAC,WAAW,CAACE,+BAAZ,GAA8C;AAC1C1qR,EAAAA,IAAI,EAAE,kCADoC;AAE1CqoP,EAAAA,UAAU,EAAEkiC;AAF8B,CAA9C;AAIAC,WAAW,CAACx0E,wBAAZ,GAAuC;AACnCh2M,EAAAA,IAAI,EAAE,0BAD6B;AAEnCqoP,EAAAA,UAAU,EAAEkiC;AAFuB,CAAvC;AAIAC,WAAW,CAACG,gBAAZ,GAA+B;AAAE3qR,EAAAA,IAAI,EAAE,kBAAR;AAA4BqoP,EAAAA,UAAU,EAAEkiC;AAAxC,CAA/B;AACAC,WAAW,CAACI,YAAZ,GAA2B;AAAE5qR,EAAAA,IAAI,EAAE,cAAR;AAAwBqoP,EAAAA,UAAU,EAAEkiC;AAApC,CAA3B;AACAC,WAAW,CAACK,eAAZ,GAA8B;AAAE7qR,EAAAA,IAAI,EAAE,iBAAR;AAA2BqoP,EAAAA,UAAU,EAAEkiC;AAAvC,CAA9B;AACAC,WAAW,CAACM,mBAAZ,GAAkC;AAC9B9qR,EAAAA,IAAI,EAAE,MADwB;AAE9BqoP,EAAAA,UAAU,EAAEkiC;AAFkB,CAAlC;AAIAC,WAAW,CAACO,SAAZ,GAAwB;AACpB/qR,EAAAA,IAAI,EAAE,MADc;AAEpBqoP,EAAAA,UAAU,EAAEkiC;AAFQ,CAAxB;AAIAC,WAAW,CAACQ,iBAAZ,GAAgC;AAC5BhrR,EAAAA,IAAI,EAAE,MADsB;AAE5BqoP,EAAAA,UAAU,EAAEkiC;AAFgB,CAAhC;AAIAC,WAAW,CAACS,uBAAZ,GAAsC;AAClCjrR,EAAAA,IAAI,EAAE,wBAD4B;AAElCqoP,EAAAA,UAAU,EAAEkiC;AAFsB,CAAtC;AAIAC,WAAW,CAAClwF,MAAZ,GAAqB;AAAEt6L,EAAAA,IAAI,EAAE,UAAR;AAAoBqoP,EAAAA,UAAU,EAAEkiC;AAAhC,CAArB;AACAC,WAAW,CAACtxB,eAAZ,GAA8B;AAAEl5P,EAAAA,IAAI,EAAE,mBAAR;AAA6BqoP,EAAAA,UAAU,EAAEkiC;AAAzC,CAA9B;AACAC,WAAW,CAACU,QAAZ,GAAuB;AAAElrR,EAAAA,IAAI,EAAE,UAAR;AAAoBqoP,EAAAA,UAAU,EAAEkiC;AAAhC,CAAvB;AACAC,WAAW,CAACv0E,QAAZ,GAAuB;AAAEj2M,EAAAA,IAAI,EAAE,UAAR;AAAoBqoP,EAAAA,UAAU,EAAEkiC;AAAhC,CAAvB;AACAC,WAAW,CAAChrE,iBAAZ,GAAgC;AAC5Bx/M,EAAAA,IAAI,EAAE,mBADsB;AAE5BqoP,EAAAA,UAAU,EAAEkiC;AAFgB,CAAhC;AAIAC,WAAW,CAAC/qE,uBAAZ,GAAsC;AAClCz/M,EAAAA,IAAI,EAAE,yBAD4B;AAElCqoP,EAAAA,UAAU,EAAEkiC;AAFsB,CAAtC;AAIAC,WAAW,CAAClsC,eAAZ,GAA8B;AAC1Bt+O,EAAAA,IAAI,EAAE,iBADoB;AAE1BqoP,EAAAA,UAAU,EAAEkiC;AAFc,CAA9B;AAIAC,WAAW,CAACx/D,SAAZ,GAAwB;AAAEhrN,EAAAA,IAAI,EAAE,WAAR;AAAqBqoP,EAAAA,UAAU,EAAEkiC;AAAjC,CAAxB;AACAC,WAAW,CAACW,mBAAZ,GAAkC;AAC9BnrR,EAAAA,IAAI,EAAE,qBADwB;AAE9BqoP,EAAAA,UAAU,EAAEkiC;AAFkB,CAAlC;AAIAC,WAAW,CAACY,iBAAZ,GAAgC;AAC5BprR,EAAAA,IAAI,EAAE,oBADsB;AAE5BqoP,EAAAA,UAAU,EAAEkiC;AAFgB,CAAhC;AAIAC,WAAW,CAACa,WAAZ,GAA0B;AAAErrR,EAAAA,IAAI,EAAE,cAAR;AAAwBqoP,EAAAA,UAAU,EAAEkiC;AAApC,CAA1B;AACAC,WAAW,CAACc,WAAZ,GAA0B;AAAEtrR,EAAAA,IAAI,EAAE,cAAR;AAAwBqoP,EAAAA,UAAU,EAAEkiC;AAApC,CAA1B;AACAC,WAAW,CAACe,SAAZ,GAAwB;AAAEvrR,EAAAA,IAAI,EAAE,YAAR;AAAsBqoP,EAAAA,UAAU,EAAEkiC;AAAlC,CAAxB;AACAC,WAAW,CAACgB,QAAZ,GAAuB;AAAExrR,EAAAA,IAAI,EAAE,UAAR;AAAoBqoP,EAAAA,UAAU,EAAEkiC;AAAhC,CAAvB;AACAC,WAAW,CAACiB,OAAZ,GAAsB;AAAEzrR,EAAAA,IAAI,EAAE,MAAR;AAAgBqoP,EAAAA,UAAU,EAAEkiC;AAA5B,CAAtB;AACAC,WAAW,CAACkB,UAAZ,GAAyB;AAAE1rR,EAAAA,IAAI,EAAE,MAAR;AAAgBqoP,EAAAA,UAAU,EAAEkiC;AAA5B,CAAzB;AACAC,WAAW,CAACmB,SAAZ,GAAwB;AAAE3rR,EAAAA,IAAI,EAAE,MAAR;AAAgBqoP,EAAAA,UAAU,EAAEkiC;AAA5B,CAAxB;AACAC,WAAW,CAACoB,OAAZ,GAAsB;AAAE5rR,EAAAA,IAAI,EAAE,MAAR;AAAgBqoP,EAAAA,UAAU,EAAEkiC;AAA5B,CAAtB;AACAC,WAAW,CAACqB,YAAZ,GAA2B;AAAE7rR,EAAAA,IAAI,EAAE,MAAR;AAAgBqoP,EAAAA,UAAU,EAAEkiC;AAA5B,CAA3B;AACAC,WAAW,CAACsB,WAAZ,GAA0B;AAAE9rR,EAAAA,IAAI,EAAE,MAAR;AAAgBqoP,EAAAA,UAAU,EAAEkiC;AAA5B,CAA1B;AACAC,WAAW,CAACuB,QAAZ,GAAuB;AAAE/rR,EAAAA,IAAI,EAAE,MAAR;AAAgBqoP,EAAAA,UAAU,EAAEkiC;AAA5B,CAAvB;AACAC,WAAW,CAACwB,YAAZ,GAA2B;AAAEhsR,EAAAA,IAAI,EAAE,MAAR;AAAgBqoP,EAAAA,UAAU,EAAEkiC;AAA5B,CAA3B;AACAC,WAAW,CAACyB,aAAZ,GAA4B;AAAEjsR,EAAAA,IAAI,EAAE,MAAR;AAAgBqoP,EAAAA,UAAU,EAAEkiC;AAA5B,CAA5B;AACAC,WAAW,CAAC0B,WAAZ,GAA0B;AAAElsR,EAAAA,IAAI,EAAE,MAAR;AAAgBqoP,EAAAA,UAAU,EAAEkiC;AAA5B,CAA1B;AACAC,WAAW,CAAC2B,OAAZ,GAAsB;AAAEnsR,EAAAA,IAAI,EAAE,MAAR;AAAgBqoP,EAAAA,UAAU,EAAEkiC;AAA5B,CAAtB;AACAC,WAAW,CAAC/vI,SAAZ,GAAwB;AAAEz6I,EAAAA,IAAI,EAAE,MAAR;AAAgBqoP,EAAAA,UAAU,EAAEkiC;AAA5B,CAAxB;AACAC,WAAW,CAAC4B,YAAZ,GAA2B;AAAEpsR,EAAAA,IAAI,EAAE,MAAR;AAAgBqoP,EAAAA,UAAU,EAAEkiC;AAA5B,CAA3B;AACAC,WAAW,CAAC6B,mBAAZ,GAAkC;AAAErsR,EAAAA,IAAI,EAAE,MAAR;AAAgBqoP,EAAAA,UAAU,EAAEkiC;AAA5B,CAAlC,EACA;;AACAC,WAAW,CAAC8B,aAAZ,GAA4B;AACxBtsR,EAAAA,IAAI,EAAE,eADkB;AAExBqoP,EAAAA,UAAU,EAAEkiC;AAFY,CAA5B,EAIA;;AACAC,WAAW,CAAC+B,cAAZ,GAA6B;AACzBvsR,EAAAA,IAAI,EAAE,iBADmB;AAEzBqoP,EAAAA,UAAU,EAAEkiC;AAFa,CAA7B;AAIAC,WAAW,CAACgC,sBAAZ,GAAqC;AAAExsR,EAAAA,IAAI,EAAE,MAAR;AAAgBqoP,EAAAA,UAAU,EAAEkiC;AAA5B,CAArC;;AACA,SAASkC,uBAAT,CAAiCppI,SAAjC,EAA4C;AACxC,SAAO;AAAE2vC,IAAAA,UAAU,EAAE;AAAE3vC,MAAAA,SAAS,EAAEA;AAAb;AAAd,GAAP;AACH;;AACD,SAASqpI,+BAAT,CAAyC1K,SAAzC,EAAoD3+H,SAApD,EAA+D;AAC3D,SAAOopI,uBAAuB,CAACzK,SAAS,CAACmB,wBAAV,CAAmC9/H,SAAnC,CAAD,CAA9B;AACH;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,MAAMspI,gBAAN,CAAuB;;AAEvBA,gBAAgB,CAAC5jM,KAAjB,GAAyBolK,QAAQ,CAAC,QAAD,CAAjC;;AACA,MAAMy+B,0BAAN,CAAiC;AAC7BvkS,EAAAA,WAAW;AACX;AACJ;AACA;AACIglQ,EAAAA,KAJW;AAKX;AACJ;AACA;AACIw/B,EAAAA,YARW,EAQG;AACV,SAAKx/B,KAAL,GAAaA,KAAb;AACA,SAAKw/B,YAAL,GAAoBA,YAApB;AACA;AACR;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACQ;;AACA,SAAKC,YAAL,GAAoBz/B,KAAK,CAACliQ,GAAN,CAAWk4R,SAAD,IAAe;AACzC,UAAIA,SAAS,YAAYj+B,cAArB,IAAuCi+B,SAAS,CAACrjR,IAAV,IAAkB6sR,YAAY,CAAC7sR,IAAtE,IACAqjR,SAAS,CAAC/vR,KAAV,YAA2ByuP,kBAD/B,EACmD;AAC/C,cAAMxlF,GAAG,GAAG8mH,SAAS,CAAC/vR,KAAV,CAAgBipK,GAA5B;AACA,eAAO,IAAIkvF,eAAJ,CAAoBlvF,GAAG,CAACjpK,KAAxB,CAAP;AACH;;AACD,aAAO+vR,SAAP;AACH,KAPmB,CAApB;AAQH;;AAtC4B;AAwCjC;AACA;AACA;AACA;;;AACA,SAAS0J,oBAAT,CAA8BC,aAA9B,EAA6CC,gBAA7C,EAA+DhiM,MAA/D,EAAuEiiM,SAAvE,EAAkFC,qBAAlF,EAAyGC,cAAzG,EAAyHC,wBAAzH,EAAmJC,OAAnJ,EAA4J;AACxJ,MAAI,CAACN,aAAL,EAAoB;AAChBA,IAAAA,aAAa,GAAG,IAAIO,oBAAJ,CAAyBD,OAAzB,CAAhB;AACH;;AACD,QAAME,qBAAqB,GAAGC,8BAA8B,CAAC;AACzDC,IAAAA,2BAA2B,EAAGC,QAAD,IAAc;AACvC;AACA,aAAQhmI,IAAD,IAAU8mG,UAAU,CAAC9mG,IAAD,CAA3B;AACH,KAJwD;AAKzDimI,IAAAA,yBAAyB,EAAGzoR,IAAD,IAAU;AACjC;AACA,aAAQ2/B,MAAD,IAAY;AACf,cAAMp0B,OAAO,GAAGvL,IAAI,CAACha,GAAL,CAAS,CAAC2G,CAAD,EAAIxL,CAAJ,MAAW;AAChCkL,UAAAA,GAAG,EAAEM,CAAC,CAACN,GADyB;AAEhC8B,UAAAA,KAAK,EAAEwxC,MAAM,CAACx+C,CAAD,CAFmB;AAGhCujQ,UAAAA,MAAM,EAAE/3P,CAAC,CAAC+3P;AAHsB,SAAX,CAAT,CAAhB;AAKA,eAAO6E,UAAU,CAACh+O,OAAD,CAAjB;AACH,OAPD;AAQH,KAfwD;AAgBzDm9Q,IAAAA,mBAAmB,EAAG7tR,IAAD,IAAU;AAC3B,YAAM,IAAIkB,KAAJ,CAAW,kEAAiElB,IAAK,EAAjF,CAAN;AACH;AAlBwD,GAAD,EAmBzDirF,MAnByD,CAA5D;AAoBA,QAAM2vE,OAAO,GAAG,IAAIkzH,eAAJ,CAAoBd,aAApB,EAAmCC,gBAAnC,EAAqDC,SAArD,EAAgEC,qBAAhE,EAAuFC,cAAvF,EAAuGC,wBAAvG,CAAhB;AACA,QAAMU,WAAW,GAAG,EAApB;AACAC,EAAAA,iBAAiB,CAACR,qBAAqB,CAACllB,KAAtB,CAA4B1tG,OAA5B,EAAqCqzH,KAAK,CAACjjC,SAA3C,CAAD,EAAwD+iC,WAAxD,CAAjB;AACAG,EAAAA,qBAAqB,CAACtzH,OAAO,CAACuzH,cAAT,EAAyBjB,SAAzB,EAAoCa,WAApC,CAArB;;AACA,MAAInzH,OAAO,CAACwzH,oBAAZ,EAAkC;AAC9BpB,IAAAA,aAAa,CAACqB,yBAAd;AACH;;AACD,QAAMx0H,SAAS,GAAGk0H,WAAW,CAACt6R,MAAZ,GAAqB,CAAvC;AACA,MAAI66R,iBAAiB,GAAG,IAAxB;;AACA,MAAIz0H,SAAS,IAAI,CAAjB,EAAoB;AAChB,UAAM00H,aAAa,GAAGR,WAAW,CAACl0H,SAAD,CAAjC;AACA,UAAM20H,UAAU,GAAGC,yBAAyB,CAACF,aAAD,CAA5C;;AACA,QAAIC,UAAJ,EAAgB;AACZ;AACA;AACAF,MAAAA,iBAAiB,GAAGI,uBAAuB,CAACxB,SAAD,CAA3C;AACAa,MAAAA,WAAW,CAACl0H,SAAD,CAAX,GACIy0H,iBAAiB,CAAChjS,GAAlB,CAAsBkjS,UAAU,CAACj+R,IAAX,CAAgBsvP,YAAhB,EAA8BwC,YAA9B,CAA2C6M,OAAO,CAAC,KAAD,CAAlD,CAAtB,EACK/J,UADL,CACgB,IADhB,EACsB,CAACG,YAAY,CAACC,KAAd,CADtB,CADJ;AAGH;AACJ;;AACD,SAAO,IAAIqnC,0BAAJ,CAA+BmB,WAA/B,EAA4CO,iBAA5C,CAAP;AACH;;AACD,SAASb,8BAAT,CAAwCkB,gBAAxC,EAA0DtvH,GAA1D,EAA+D;AAC3D,SAAOuvH,eAAe,CAACD,gBAAD,EAAmBtvH,GAAnB,CAAtB;AACH;;AACD,MAAMwvH,4BAAN,CAAmC;AAC/BxmS,EAAAA,WAAW,CAACglQ,KAAD,EAAQyhC,WAAR,EAAqB;AAC5B,SAAKzhC,KAAL,GAAaA,KAAb;AACA,SAAKyhC,WAAL,GAAmBA,WAAnB;AACH;;AAJ8B;;AAMnC,IAAIC,WAAJ;;AACA,CAAC,UAAUA,WAAV,EAAuB;AACpB;AACAA,EAAAA,WAAW,CAACA,WAAW,CAAC,SAAD,CAAX,GAAyB,CAA1B,CAAX,GAA0C,SAA1C,CAFoB,CAGpB;AACA;;AACAA,EAAAA,WAAW,CAACA,WAAW,CAAC,WAAD,CAAX,GAA2B,CAA5B,CAAX,GAA4C,WAA5C,CALoB,CAMpB;AACA;AACA;;AACAA,EAAAA,WAAW,CAACA,WAAW,CAAC,YAAD,CAAX,GAA4B,CAA7B,CAAX,GAA6C,YAA7C;AACH,CAVD,EAUGA,WAAW,KAAKA,WAAW,GAAG,EAAnB,CAVd;AAWA;AACA;AACA;AACA;AACA;;;AACA,SAASC,sBAAT,CAAgChC,aAAhC,EAA+CC,gBAA/C,EAAiEgC,yBAAjE,EAA4F/B,SAA5F,EAAuGj0L,IAAvG,EAA6Gk0L,qBAA7G,EAAoI;AAChI,MAAI,CAACH,aAAL,EAAoB;AAChBA,IAAAA,aAAa,GAAG,IAAIO,oBAAJ,EAAhB;AACH;;AACD,QAAM3yH,OAAO,GAAG,IAAIkzH,eAAJ,CAAoBd,aAApB,EAAmCC,gBAAnC,EAAqDC,SAArD,EAAgEC,qBAAhE,CAAhB;AACA,QAAM+B,UAAU,GAAGD,yBAAyB,CAAC3mB,KAA1B,CAAgC1tG,OAAhC,EAAyCqzH,KAAK,CAAC9sC,UAA/C,CAAnB;AACA,QAAMkM,KAAK,GAAG8hC,wBAAwB,CAACv0H,OAAD,EAAUsyH,SAAV,CAAtC;;AACA,MAAItyH,OAAO,CAACwzH,oBAAZ,EAAkC;AAC9BpB,IAAAA,aAAa,CAACqB,yBAAd;AACH;;AACD,MAAIzzH,OAAO,CAACuzH,cAAR,KAA2B,CAA3B,IAAgCl1L,IAAI,IAAI81L,WAAW,CAACK,SAAxD,EAAmE;AAC/D,WAAO,IAAIP,4BAAJ,CAAiC,EAAjC,EAAqCK,UAArC,CAAP;AACH,GAFD,MAGK,IAAIj2L,IAAI,KAAK81L,WAAW,CAAC5tC,UAAzB,EAAqC;AACtC,WAAO,IAAI0tC,4BAAJ,CAAiCxhC,KAAjC,EAAwC6hC,UAAxC,CAAP;AACH;;AACD,QAAMJ,WAAW,GAAGO,mBAAmB,CAACnC,SAAD,CAAvC;AACA7/B,EAAAA,KAAK,CAAC3iQ,IAAN,CAAWokS,WAAW,CAACxjS,GAAZ,CAAgB4jS,UAAhB,EAA4B/pC,UAA5B,CAAuCtF,YAAvC,EAAqD,CAACyF,YAAY,CAACC,KAAd,CAArD,CAAX;AACA,SAAO,IAAIspC,4BAAJ,CAAiCxhC,KAAjC,EAAwCyhC,WAAxC,CAAP;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASQ,sBAAT,CAAgCtC,aAAhC,EAA+CuC,yBAA/C,EAA0EC,gCAA1E,EAA4GtC,SAA5G,EAAuH;AACnH,QAAMtyH,OAAO,GAAG,IAAIkzH,eAAJ,CAAoBd,aAApB,EAAmCuC,yBAAnC,EAA8DrC,SAA9D,EAAyE/4H,SAAzE,CAAhB;AACA,QAAM+6H,UAAU,GAAGM,gCAAgC,CAAClnB,KAAjC,CAAuC1tG,OAAvC,EAAgDqzH,KAAK,CAAC9sC,UAAtD,CAAnB;;AACA,MAAIvmF,OAAO,CAACwzH,oBAAZ,EAAkC;AAC9BpB,IAAAA,aAAa,CAACqB,yBAAd;AACH;;AACD,QAAMhhC,KAAK,GAAG8hC,wBAAwB,CAACv0H,OAAD,EAAUsyH,SAAV,CAAtC,CANmH,CAOnH;;AACA,MAAIvlI,IAAI,GAAGunI,UAAU,CAACvnI,IAAX,CAAgBj4J,KAAhB,CAAsB,CAAtB,CAAX;;AACA,MAAI8/R,gCAAgC,YAAYnH,aAAhD,EAA+D;AAC3D;AACA;AACA,UAAMnS,OAAO,GAAGsZ,gCAAgC,CAACtZ,OAAjD;;AACA,QAAIvuH,IAAI,CAACl0J,MAAL,KAAgB,CAAhB,IAAqByiR,OAAO,CAAC,CAAD,CAAP,KAAe,EAApC,IAA0CA,OAAO,CAAC,CAAD,CAAP,KAAe,EAA7D,EAAiE;AAC7D;AACAvuH,MAAAA,IAAI,GAAG,CAACA,IAAI,CAAC,CAAD,CAAL,CAAP;AACH,KAHD,MAIK,IAAIA,IAAI,CAACl0J,MAAL,IAAe,EAAnB,EAAuB;AACxB;AACA;AACAk0J,MAAAA,IAAI,GAAG,CAAC8mG,UAAU,CAAC9mG,IAAD,CAAX,CAAP;AACH;AACJ;;AACD,SAAO;AAAE0lG,IAAAA,KAAF;AAAS1lG,IAAAA;AAAT,GAAP;AACH;;AACD,SAASwnI,wBAAT,CAAkCv0H,OAAlC,EAA2CsyH,SAA3C,EAAsD;AAClD,QAAM7/B,KAAK,GAAG,EAAd;;AACA,OAAK,IAAI/mQ,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGs0K,OAAO,CAACuzH,cAA5B,EAA4C7nS,CAAC,EAA7C,EAAiD;AAC7C+mQ,IAAAA,KAAK,CAAC3iQ,IAAN,CAAW+kS,oBAAoB,CAACvC,SAAD,EAAY5mS,CAAZ,CAA/B;AACH;;AACD,SAAO+mQ,KAAP;AACH;;AACD,SAASuhC,eAAT,CAAyBD,gBAAzB,EAA2CtvH,GAA3C,EAAgD;AAC5C,QAAMzE,OAAO,GAAG,IAAI80H,oBAAJ,CAAyBf,gBAAzB,CAAhB;AACA,SAAOtvH,GAAG,CAACipG,KAAJ,CAAU1tG,OAAV,CAAP;AACH;;AACD,SAAS+0H,aAAT,CAAuBzC,SAAvB,EAAkC0C,eAAlC,EAAmD;AAC/C,SAAQ,OAAM1C,SAAU,IAAG0C,eAAgB,EAA3C;AACH;;AACD,SAASH,oBAAT,CAA8BvC,SAA9B,EAAyC0C,eAAzC,EAA0D;AACtD,SAAO,IAAIxqC,cAAJ,CAAmBuqC,aAAa,CAACzC,SAAD,EAAY0C,eAAZ,CAAhC,CAAP;AACH;;AACD,SAAS1B,qBAAT,CAA+BC,cAA/B,EAA+CjB,SAA/C,EAA0DjkC,UAA1D,EAAsE;AAClE,OAAK,IAAI3iQ,CAAC,GAAG6nS,cAAc,GAAG,CAA9B,EAAiC7nS,CAAC,IAAI,CAAtC,EAAyCA,CAAC,EAA1C,EAA8C;AAC1C2iQ,IAAAA,UAAU,CAACzhO,OAAX,CAAmBioQ,oBAAoB,CAACvC,SAAD,EAAY5mS,CAAZ,CAAvC;AACH;AACJ;;AACD,IAAI2nS,KAAJ;;AACA,CAAC,UAAUA,KAAV,EAAiB;AACdA,EAAAA,KAAK,CAACA,KAAK,CAAC,WAAD,CAAL,GAAqB,CAAtB,CAAL,GAAgC,WAAhC;AACAA,EAAAA,KAAK,CAACA,KAAK,CAAC,YAAD,CAAL,GAAsB,CAAvB,CAAL,GAAiC,YAAjC;AACH,CAHD,EAGGA,KAAK,KAAKA,KAAK,GAAG,EAAb,CAHR;;AAIA,SAAS4B,mBAAT,CAA6B79P,IAA7B,EAAmCqtI,GAAnC,EAAwC;AACpC,MAAIrtI,IAAI,KAAKi8P,KAAK,CAACjjC,SAAnB,EAA8B;AAC1B,UAAM,IAAI9pP,KAAJ,CAAW,iCAAgCm+J,GAAI,EAA/C,CAAN;AACH;AACJ;;AACD,SAASywH,oBAAT,CAA8B99P,IAA9B,EAAoCqtI,GAApC,EAAyC;AACrC,MAAIrtI,IAAI,KAAKi8P,KAAK,CAAC9sC,UAAnB,EAA+B;AAC3B,UAAM,IAAIjgP,KAAJ,CAAW,mCAAkCm+J,GAAI,EAAjD,CAAN;AACH;AACJ;;AACD,SAAS0wH,0BAAT,CAAoC/9P,IAApC,EAA0CysI,IAA1C,EAAgD;AAC5C,MAAIzsI,IAAI,KAAKi8P,KAAK,CAACjjC,SAAnB,EAA8B;AAC1B,WAAOvsF,IAAI,CAAC4lF,MAAL,EAAP;AACH,GAFD,MAGK;AACD,WAAO5lF,IAAP;AACH;AACJ;;AACD,MAAMixH,oBAAN,SAAmC//B,cAAnC,CAAkD;AAC9CtnQ,EAAAA,WAAW,CAAC2nS,iBAAD,EAAoB;AAC3B;AACA,SAAKA,iBAAL,GAAyBA,iBAAzB;AACH;;AACDlI,EAAAA,SAAS,CAACzoH,GAAD,EAAMt1K,OAAN,EAAe;AACpB,UAAM49J,IAAI,GAAG,CAAC0X,GAAG,CAAClH,GAAL,EAAU,GAAGkH,GAAG,CAAC1X,IAAjB,EAAuBx8J,GAAvB,CAA2Bk0K,GAAG,IAAIA,GAAG,CAACipG,KAAJ,CAAU,IAAV,EAAgBv+Q,OAAhB,CAAlC,CAAb;AACA,WAAO,IAAIkmS,mBAAJ,CAAwB5wH,GAAG,CAAC4jG,IAA5B,EAAkC5jG,GAAG,CAAC+hF,UAAtC,EAAkDz5F,IAAlD,EAAwD,KAAKqoI,iBAAL,CAAuBnC,mBAAvB,CAA2CxuH,GAAG,CAACr/J,IAA/C,EAAqD2nJ,IAAI,CAACl0J,MAA1D,CAAxD,CAAP;AACH;;AACDy0R,EAAAA,iBAAiB,CAAC7oH,GAAD,EAAMt1K,OAAN,EAAe;AAC5B,UAAM49J,IAAI,GAAG0X,GAAG,CAACxD,WAAJ,CAAgB1wK,GAAhB,CAAoBk0K,GAAG,IAAIA,GAAG,CAACipG,KAAJ,CAAU,IAAV,EAAgBv+Q,OAAhB,CAA3B,CAAb;AACA,WAAO,IAAIkmS,mBAAJ,CAAwB5wH,GAAG,CAAC4jG,IAA5B,EAAkC5jG,GAAG,CAAC+hF,UAAtC,EAAkDz5F,IAAlD,EAAwD,KAAKqoI,iBAAL,CAAuBtC,2BAAvB,CAAmDruH,GAAG,CAACxD,WAAJ,CAAgBpoK,MAAnE,CAAxD,CAAP;AACH;;AACD20R,EAAAA,eAAe,CAAC/oH,GAAD,EAAMt1K,OAAN,EAAe;AAC1B,UAAM49J,IAAI,GAAG0X,GAAG,CAACv6H,MAAJ,CAAW35C,GAAX,CAAek0K,GAAG,IAAIA,GAAG,CAACipG,KAAJ,CAAU,IAAV,EAAgBv+Q,OAAhB,CAAtB,CAAb;AACA,WAAO,IAAIkmS,mBAAJ,CAAwB5wH,GAAG,CAAC4jG,IAA5B,EAAkC5jG,GAAG,CAAC+hF,UAAtC,EAAkDz5F,IAAlD,EAAwD,KAAKqoI,iBAAL,CAAuBpC,yBAAvB,CAAiDvuH,GAAG,CAACl6J,IAArD,CAAxD,CAAP;AACH;;AAhB6C;;AAkBlD,MAAM2oR,eAAN,CAAsB;AAClBzlS,EAAAA,WAAW,CAAC6nS,cAAD,EAAiBC,iBAAjB,EAAoCjD,SAApC,EAA+CC,qBAA/C,EAAsEC,cAAtE,EAAsFC,wBAAtF,EAAgH;AACvH,SAAK6C,cAAL,GAAsBA,cAAtB;AACA,SAAKC,iBAAL,GAAyBA,iBAAzB;AACA,SAAKjD,SAAL,GAAiBA,SAAjB;AACA,SAAKC,qBAAL,GAA6BA,qBAA7B;AACA,SAAKC,cAAL,GAAsBA,cAAtB;AACA,SAAKC,wBAAL,GAAgCA,wBAAhC;AACA,SAAK+C,QAAL,GAAgB,IAAI73R,GAAJ,EAAhB;AACA,SAAK83R,UAAL,GAAkB,IAAI93R,GAAJ,EAAlB;AACA,SAAK+3R,iBAAL,GAAyB,CAAzB;AACA,SAAKnC,cAAL,GAAsB,CAAtB;AACA,SAAKC,oBAAL,GAA4B,KAA5B;AACH;;AACDrF,EAAAA,UAAU,CAAC1pH,GAAD,EAAMrtI,IAAN,EAAY;AAClB,QAAIq8M,EAAJ;;AACA,YAAQhvE,GAAG,CAACgqF,QAAZ;AACI,WAAK,GAAL;AACIhb,QAAAA,EAAE,GAAGoS,aAAa,CAACiC,IAAnB;AACA;;AACJ,WAAK,GAAL;AACIrU,QAAAA,EAAE,GAAGoS,aAAa,CAAC+B,KAAnB;AACA;;AACJ;AACI,cAAM,IAAIthP,KAAJ,CAAW,wBAAuBm+J,GAAG,CAACgqF,QAAS,EAA/C,CAAN;AARR;;AAUA,WAAO0mC,0BAA0B,CAAC/9P,IAAD,EAAO,IAAIo3N,iBAAJ,CAAsB/a,EAAtB,EAA0B,KAAKkiD,MAAL,CAAYlxH,GAAG,CAACZ,IAAhB,EAAsBwvH,KAAK,CAAC9sC,UAA5B,CAA1B,EAAmEhtF,SAAnE,EAA8E,KAAKq8H,iBAAL,CAAuBnxH,GAAG,CAAC4jG,IAA3B,CAA9E,CAAP,CAAjC;AACH;;AACDulB,EAAAA,WAAW,CAACnpH,GAAD,EAAMrtI,IAAN,EAAY;AACnB,QAAIq8M,EAAJ;;AACA,YAAQhvE,GAAG,CAAC+8B,SAAZ;AACI,WAAK,GAAL;AACIiyC,QAAAA,EAAE,GAAGqS,cAAc,CAACgC,IAApB;AACA;;AACJ,WAAK,GAAL;AACIrU,QAAAA,EAAE,GAAGqS,cAAc,CAAC8B,KAApB;AACA;;AACJ,WAAK,GAAL;AACInU,QAAAA,EAAE,GAAGqS,cAAc,CAACoC,QAApB;AACA;;AACJ,WAAK,GAAL;AACIzU,QAAAA,EAAE,GAAGqS,cAAc,CAACkC,MAApB;AACA;;AACJ,WAAK,GAAL;AACIvU,QAAAA,EAAE,GAAGqS,cAAc,CAACsC,MAApB;AACA;;AACJ,WAAK,IAAL;AACI3U,QAAAA,EAAE,GAAGqS,cAAc,CAACwC,GAApB;AACA;;AACJ,WAAK,IAAL;AACI7U,QAAAA,EAAE,GAAGqS,cAAc,CAAC6C,EAApB;AACA;;AACJ,WAAK,IAAL;AACIlV,QAAAA,EAAE,GAAGqS,cAAc,CAACsB,MAApB;AACA;;AACJ,WAAK,IAAL;AACI3T,QAAAA,EAAE,GAAGqS,cAAc,CAACwB,SAApB;AACA;;AACJ,WAAK,KAAL;AACI7T,QAAAA,EAAE,GAAGqS,cAAc,CAAC0B,SAApB;AACA;;AACJ,WAAK,KAAL;AACI/T,QAAAA,EAAE,GAAGqS,cAAc,CAAC4B,YAApB;AACA;;AACJ,WAAK,GAAL;AACIjU,QAAAA,EAAE,GAAGqS,cAAc,CAAC+C,KAApB;AACA;;AACJ,WAAK,GAAL;AACIpV,QAAAA,EAAE,GAAGqS,cAAc,CAACmD,MAApB;AACA;;AACJ,WAAK,IAAL;AACIxV,QAAAA,EAAE,GAAGqS,cAAc,CAACiD,WAApB;AACA;;AACJ,WAAK,IAAL;AACItV,QAAAA,EAAE,GAAGqS,cAAc,CAACqD,YAApB;AACA;;AACJ,WAAK,IAAL;AACI,eAAO,KAAK0sC,sBAAL,CAA4BpxH,GAA5B,EAAiCrtI,IAAjC,CAAP;;AACJ;AACI,cAAM,IAAI9wB,KAAJ,CAAW,yBAAwBm+J,GAAG,CAAC+8B,SAAU,EAAjD,CAAN;AAjDR;;AAmDA,WAAO2zF,0BAA0B,CAAC/9P,IAAD,EAAO,IAAI+vN,kBAAJ,CAAuB1T,EAAvB,EAA2B,KAAKkiD,MAAL,CAAYlxH,GAAG,CAACzwF,IAAhB,EAAsBq/M,KAAK,CAAC9sC,UAA5B,CAA3B,EAAoE,KAAKovC,MAAL,CAAYlxH,GAAG,CAACxwF,KAAhB,EAAuBo/M,KAAK,CAAC9sC,UAA7B,CAApE,EAA8GhtF,SAA9G,EAAyH,KAAKq8H,iBAAL,CAAuBnxH,GAAG,CAAC4jG,IAA3B,CAAzH,CAAP,CAAjC;AACH;;AACD2jB,EAAAA,UAAU,CAACvnH,GAAD,EAAMrtI,IAAN,EAAY;AAClB69P,IAAAA,mBAAmB,CAAC79P,IAAD,EAAOqtI,GAAP,CAAnB;AACA,WAAO,KAAKsqH,QAAL,CAActqH,GAAG,CAACxD,WAAlB,EAA+B7pI,IAA/B,CAAP;AACH;;AACDg1P,EAAAA,gBAAgB,CAAC3nH,GAAD,EAAMrtI,IAAN,EAAY;AACxB,UAAM1+B,KAAK,GAAG,KAAKi9R,MAAL,CAAYlxH,GAAG,CAACskE,SAAhB,EAA2BsqD,KAAK,CAAC9sC,UAAjC,CAAd;;AACA,WAAO4uC,0BAA0B,CAAC/9P,IAAD,EAAO1+B,KAAK,CAACquP,WAAN,CAAkB,KAAK4uC,MAAL,CAAYlxH,GAAG,CAACynH,OAAhB,EAAyBmH,KAAK,CAAC9sC,UAA/B,CAAlB,EAA8D,KAAKovC,MAAL,CAAYlxH,GAAG,CAAC0nH,QAAhB,EAA0BkH,KAAK,CAAC9sC,UAAhC,CAA9D,EAA2G,KAAKqvC,iBAAL,CAAuBnxH,GAAG,CAAC4jG,IAA3B,CAA3G,CAAP,CAAjC;AACH;;AACD6kB,EAAAA,SAAS,CAACzoH,GAAD,EAAMrtI,IAAN,EAAY;AACjB,UAAM,IAAI9wB,KAAJ,CAAW,yEAAwEm+J,GAAG,CAACr/J,IAAK,EAA5F,CAAN;AACH;;AACDwmR,EAAAA,qBAAqB,CAACnnH,GAAD,EAAMrtI,IAAN,EAAY;AAC7B89P,IAAAA,oBAAoB,CAAC99P,IAAD,EAAOqtI,GAAP,CAApB;AACA,SAAK+uH,oBAAL,GAA4B,IAA5B;AACA,WAAO,KAAK+B,iBAAZ;AACH;;AACDzJ,EAAAA,iBAAiB,CAACrnH,GAAD,EAAMrtI,IAAN,EAAY;AACzB,WAAO,KAAKw0P,qBAAL,CAA2BnnH,GAA3B,EAAgCrtI,IAAhC,CAAP;AACH;;AACDs2P,EAAAA,kBAAkB,CAACjpH,GAAD,EAAMrtI,IAAN,EAAY;AAC1B89P,IAAAA,oBAAoB,CAAC99P,IAAD,EAAOqtI,GAAP,CAApB;AACA,UAAM1X,IAAI,GAAG,CAACunG,OAAO,CAAC7vF,GAAG,CAACxD,WAAJ,CAAgBpoK,MAAjB,CAAR,CAAb;;AACA,SAAK,IAAInN,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAG+4K,GAAG,CAAC62G,OAAJ,CAAYziR,MAAZ,GAAqB,CAAzC,EAA4CnN,CAAC,EAA7C,EAAiD;AAC7CqhK,MAAAA,IAAI,CAACj9J,IAAL,CAAUwkQ,OAAO,CAAC7vF,GAAG,CAAC62G,OAAJ,CAAY5vR,CAAZ,CAAD,CAAjB;AACAqhK,MAAAA,IAAI,CAACj9J,IAAL,CAAU,KAAK6lS,MAAL,CAAYlxH,GAAG,CAACxD,WAAJ,CAAgBv1K,CAAhB,CAAZ,EAAgC2nS,KAAK,CAAC9sC,UAAtC,CAAV;AACH;;AACDx5F,IAAAA,IAAI,CAACj9J,IAAL,CAAUwkQ,OAAO,CAAC7vF,GAAG,CAAC62G,OAAJ,CAAY72G,GAAG,CAAC62G,OAAJ,CAAYziR,MAAZ,GAAqB,CAAjC,CAAD,CAAjB;;AACA,QAAI,KAAK05R,qBAAT,EAAgC;AAC5B,aAAO,KAAKA,qBAAL,CAA2BxlI,IAA3B,CAAP;AACH;;AACD,WAAO0X,GAAG,CAACxD,WAAJ,CAAgBpoK,MAAhB,IAA0B,CAA1B,GACH26P,UAAU,CAACo8B,WAAW,CAACY,iBAAb,CAAV,CAA0C7pC,MAA1C,CAAiD55F,IAAjD,CADG,GAEHymG,UAAU,CAACo8B,WAAW,CAACa,WAAb,CAAV,CAAoC9pC,MAApC,CAA2C,CACvC55F,IAAI,CAAC,CAAD,CADmC,EAC9B8mG,UAAU,CAAC9mG,IAAI,CAACj4J,KAAL,CAAW,CAAX,CAAD,EAAgBykK,SAAhB,EAA2B,KAAKq8H,iBAAL,CAAuBnxH,GAAG,CAAC4jG,IAA3B,CAA3B,CADoB,CAA3C,CAFJ;AAKH;;AACDukB,EAAAA,cAAc,CAACnoH,GAAD,EAAMrtI,IAAN,EAAY;AACtB,UAAM0+P,YAAY,GAAG,KAAKC,gBAAL,CAAsBtxH,GAAtB,CAArB;;AACA,QAAIqxH,YAAJ,EAAkB;AACd,aAAO,KAAKE,iBAAL,CAAuBvxH,GAAvB,EAA4BqxH,YAA5B,EAA0C1+P,IAA1C,CAAP;AACH,KAFD,MAGK;AACD,aAAO+9P,0BAA0B,CAAC/9P,IAAD,EAAO,KAAKu+P,MAAL,CAAYlxH,GAAG,CAAComF,QAAhB,EAA0BwoC,KAAK,CAAC9sC,UAAhC,EAA4C3vP,GAA5C,CAAgD,KAAK++R,MAAL,CAAYlxH,GAAG,CAAC7tK,GAAhB,EAAqBy8R,KAAK,CAAC9sC,UAA3B,CAAhD,CAAP,CAAjC;AACH;AACJ;;AACDymC,EAAAA,eAAe,CAACvoH,GAAD,EAAMrtI,IAAN,EAAY;AACvB,UAAMymI,GAAG,GAAG,KAAK83H,MAAL,CAAYlxH,GAAG,CAAComF,QAAhB,EAA0BwoC,KAAK,CAAC9sC,UAAhC,CAAZ;;AACA,UAAM3vP,GAAG,GAAG,KAAK++R,MAAL,CAAYlxH,GAAG,CAAC7tK,GAAhB,EAAqBy8R,KAAK,CAAC9sC,UAA3B,CAAZ;;AACA,UAAM7tP,KAAK,GAAG,KAAKi9R,MAAL,CAAYlxH,GAAG,CAAC/rK,KAAhB,EAAuB26R,KAAK,CAAC9sC,UAA7B,CAAd;;AACA,QAAI1oF,GAAG,KAAK,KAAK03H,iBAAjB,EAAoC;AAChC,WAAKD,cAAL,CAAoBW,gBAApB;AACH;;AACD,WAAOd,0BAA0B,CAAC/9P,IAAD,EAAOymI,GAAG,CAACjnK,GAAJ,CAAQA,GAAR,EAAalG,GAAb,CAAiBgI,KAAjB,CAAP,CAAjC;AACH;;AACD40R,EAAAA,iBAAiB,CAAC7oH,GAAD,EAAMrtI,IAAN,EAAY;AACzB,UAAM,IAAI9wB,KAAJ,CAAW,yEAAX,CAAN;AACH;;AACDknR,EAAAA,eAAe,CAAC/oH,GAAD,EAAMrtI,IAAN,EAAY;AACvB,UAAM,IAAI9wB,KAAJ,CAAW,uEAAX,CAAN;AACH;;AACD8mR,EAAAA,qBAAqB,CAAC3oH,GAAD,EAAMrtI,IAAN,EAAY;AAC7B;AACA;AACA,UAAM7oC,IAAI,GAAGk2K,GAAG,CAAC/rK,KAAJ,KAAc,IAAd,IAAsB+rK,GAAG,CAAC/rK,KAAJ,KAAc6gK,SAApC,IAAiDkL,GAAG,CAAC/rK,KAAJ,KAAc,IAA/D,IAAuE+rK,GAAG,CAAC/rK,KAAJ,KAAc,IAArF,GACTysP,aADS,GAET5rF,SAFJ;AAGA,WAAO47H,0BAA0B,CAAC/9P,IAAD,EAAOk9N,OAAO,CAAC7vF,GAAG,CAAC/rK,KAAL,EAAYnK,IAAZ,EAAkB,KAAKqnS,iBAAL,CAAuBnxH,GAAG,CAAC4jG,IAA3B,CAAlB,CAAd,CAAjC;AACH;;AACD6tB,EAAAA,SAAS,CAAC9wR,IAAD,EAAOylP,QAAP,EAAiB;AACtB,QAAI,KAAKyqC,cAAL,CAAoB5C,OAApB,EAA6Br4R,GAA7B,CAAiC+K,IAAjC,KAA0CylP,QAAQ,YAAYghC,YAAlE,EAAgF;AAC5E,aAAO,IAAP;AACH;;AACD,WAAO,KAAKyJ,cAAL,CAAoBa,QAApB,CAA6B/wR,IAA7B,CAAP;AACH;;AACDipR,EAAAA,cAAc,CAAC5pH,GAAD,EAAMrtI,IAAN,EAAY;AACtB,WAAO+9P,0BAA0B,CAAC/9P,IAAD,EAAO48N,GAAG,CAAC,KAAK2hC,MAAL,CAAYlxH,GAAG,CAACjtK,UAAhB,EAA4B67R,KAAK,CAAC9sC,UAAlC,CAAD,CAAV,CAAjC;AACH;;AACDgoC,EAAAA,kBAAkB,CAAC9pH,GAAD,EAAMrtI,IAAN,EAAY;AAC1B,WAAO+9P,0BAA0B,CAAC/9P,IAAD,EAAO68N,aAAa,CAAC,KAAK0hC,MAAL,CAAYlxH,GAAG,CAACjtK,UAAhB,EAA4B67R,KAAK,CAAC9sC,UAAlC,CAAD,CAApB,CAAjC;AACH;;AACD+lC,EAAAA,iBAAiB,CAAC7nH,GAAD,EAAMrtI,IAAN,EAAY;AACzB,UAAM0+P,YAAY,GAAG,KAAKC,gBAAL,CAAsBtxH,GAAtB,CAArB;;AACA,QAAIqxH,YAAJ,EAAkB;AACd,aAAO,KAAKE,iBAAL,CAAuBvxH,GAAvB,EAA4BqxH,YAA5B,EAA0C1+P,IAA1C,CAAP;AACH,KAFD,MAGK;AACD,UAAIxvB,MAAM,GAAG,IAAb;AACA,YAAMwuR,wBAAwB,GAAG,KAAK5C,oBAAtC;;AACA,YAAM3oC,QAAQ,GAAG,KAAK8qC,MAAL,CAAYlxH,GAAG,CAAComF,QAAhB,EAA0BwoC,KAAK,CAAC9sC,UAAhC,CAAjB;;AACA,UAAIsE,QAAQ,KAAK,KAAK0qC,iBAAtB,EAAyC;AACrC3tR,QAAAA,MAAM,GAAG,KAAKsuR,SAAL,CAAezxH,GAAG,CAACr/J,IAAnB,EAAyBq/J,GAAG,CAAComF,QAA7B,CAAT;;AACA,YAAIjjP,MAAJ,EAAY;AACR;AACA;AACA,eAAK4rR,oBAAL,GAA4B4C,wBAA5B;AACA,eAAKC,yBAAL,CAA+B5xH,GAAG,CAACr/J,IAAnC;AACH;AACJ;;AACD,UAAIwC,MAAM,IAAI,IAAd,EAAoB;AAChBA,QAAAA,MAAM,GAAGijP,QAAQ,CAAC98G,IAAT,CAAc02B,GAAG,CAACr/J,IAAlB,EAAwB,KAAKwwR,iBAAL,CAAuBnxH,GAAG,CAAC4jG,IAA3B,CAAxB,CAAT;AACH;;AACD,aAAO8sB,0BAA0B,CAAC/9P,IAAD,EAAOxvB,MAAP,CAAjC;AACH;AACJ;;AACD4kR,EAAAA,kBAAkB,CAAC/nH,GAAD,EAAMrtI,IAAN,EAAY;AAC1B,UAAMyzN,QAAQ,GAAG,KAAK8qC,MAAL,CAAYlxH,GAAG,CAAComF,QAAhB,EAA0BwoC,KAAK,CAAC9sC,UAAhC,CAAjB;;AACA,UAAM6vC,wBAAwB,GAAG,KAAK5C,oBAAtC;AACA,QAAI8C,OAAO,GAAG,IAAd;;AACA,QAAIzrC,QAAQ,KAAK,KAAK0qC,iBAAtB,EAAyC;AACrC,YAAMgB,SAAS,GAAG,KAAKL,SAAL,CAAezxH,GAAG,CAACr/J,IAAnB,EAAyBq/J,GAAG,CAAComF,QAA7B,CAAlB;;AACA,UAAI0rC,SAAJ,EAAe;AACX,YAAIA,SAAS,YAAY9vC,YAAzB,EAAuC;AACnC;AACA;AACA;AACA6vC,UAAAA,OAAO,GAAGC,SAAV,CAJmC,CAKnC;AACA;;AACA,eAAK/C,oBAAL,GAA4B4C,wBAA5B;AACA,eAAKC,yBAAL,CAA+B5xH,GAAG,CAACr/J,IAAnC;AACH,SATD,MAUK;AACD;AACA,gBAAMylP,QAAQ,GAAGpmF,GAAG,CAACr/J,IAArB;AACA,gBAAM1M,KAAK,GAAI+rK,GAAG,CAAC/rK,KAAJ,YAAqB2zR,YAAtB,GAAsC5nH,GAAG,CAAC/rK,KAAJ,CAAU0M,IAAhD,GAAuDm0J,SAArE;AACA,gBAAM,IAAIjzJ,KAAJ,CAAW,wBAAuB5N,KAAM,2BAA0BmyP,QAAS,sCAA3E,CAAN;AACH;AACJ;AACJ,KAxByB,CAyB1B;AACA;;;AACA,QAAIyrC,OAAO,KAAK,IAAhB,EAAsB;AAClBA,MAAAA,OAAO,GAAGzrC,QAAQ,CAAC98G,IAAT,CAAc02B,GAAG,CAACr/J,IAAlB,EAAwB,KAAKwwR,iBAAL,CAAuBnxH,GAAG,CAAC4jG,IAA3B,CAAxB,CAAV;AACH;;AACD,WAAO8sB,0BAA0B,CAAC/9P,IAAD,EAAOk/P,OAAO,CAAC5lS,GAAR,CAAY,KAAKilS,MAAL,CAAYlxH,GAAG,CAAC/rK,KAAhB,EAAuB26R,KAAK,CAAC9sC,UAA7B,CAAZ,CAAP,CAAjC;AACH;;AACDmmC,EAAAA,qBAAqB,CAACjoH,GAAD,EAAMrtI,IAAN,EAAY;AAC7B,WAAO,KAAK4+P,iBAAL,CAAuBvxH,GAAvB,EAA4B,KAAKsxH,gBAAL,CAAsBtxH,GAAtB,CAA5B,EAAwDrtI,IAAxD,CAAP;AACH;;AACD01P,EAAAA,kBAAkB,CAACroH,GAAD,EAAMrtI,IAAN,EAAY;AAC1B,WAAO,KAAK4+P,iBAAL,CAAuBvxH,GAAvB,EAA4B,KAAKsxH,gBAAL,CAAsBtxH,GAAtB,CAA5B,EAAwDrtI,IAAxD,CAAP;AACH;;AACD23P,EAAAA,QAAQ,CAACC,IAAD,EAAO53P,IAAP,EAAa;AACjB,WAAO43P,IAAI,CAACz+R,GAAL,CAASk0K,GAAG,IAAI,KAAKkxH,MAAL,CAAYlxH,GAAZ,EAAiBrtI,IAAjB,CAAhB,CAAP;AACH;;AACDq0P,EAAAA,UAAU,CAAChnH,GAAD,EAAMrtI,IAAN,EAAY;AAClB,UAAM,IAAI9wB,KAAJ,CAAW;AACzB,qBAAqBm+J,GAAG,CAAC+mH,uBAAwB,eAAc/mH,GAAG,CAAC92I,QAAS,EAD9D,CAAN;AAEH;;AACD+gQ,EAAAA,SAAS,CAACjqH,GAAD,EAAMrtI,IAAN,EAAY;AACjB,UAAM0+P,YAAY,GAAG,KAAKC,gBAAL,CAAsBtxH,GAAtB,CAArB;;AACA,QAAIqxH,YAAJ,EAAkB;AACd,aAAO,KAAKE,iBAAL,CAAuBvxH,GAAvB,EAA4BqxH,YAA5B,EAA0C1+P,IAA1C,CAAP;AACH;;AACD,UAAMo/P,aAAa,GAAG,KAAKzH,QAAL,CAActqH,GAAG,CAAC1X,IAAlB,EAAwBsmI,KAAK,CAAC9sC,UAA9B,CAAtB;;AACA,QAAI9hF,GAAG,YAAY4wH,mBAAnB,EAAwC;AACpC,aAAOF,0BAA0B,CAAC/9P,IAAD,EAAOqtI,GAAG,CAAC6iH,SAAJ,CAAckP,aAAd,CAAP,CAAjC;AACH;;AACD,UAAM3rC,QAAQ,GAAGpmF,GAAG,CAAComF,QAArB;;AACA,QAAIA,QAAQ,YAAYwhC,YAApB,IACAxhC,QAAQ,CAACA,QAAT,YAA6B8gC,gBAD7B,IAEA,EAAE9gC,QAAQ,CAACA,QAAT,YAA6BghC,YAA/B,CAFA,IAEgDhhC,QAAQ,CAACzlP,IAAT,KAAkB,MAFtE,EAE8E;AAC1E,UAAIoxR,aAAa,CAAC39R,MAAd,KAAyB,CAA7B,EAAgC;AAC5B,cAAM,IAAIyN,KAAJ,CAAW,0DAAyDkwR,aAAa,CAAC39R,MAAd,IAAwB,MAAO,EAAnG,CAAN;AACH;;AACD,aAAOs8R,0BAA0B,CAAC/9P,IAAD,EAAOo/P,aAAa,CAAC,CAAD,CAAb,CACnC7gS,IADmC,CAC9BsvP,YAD8B,EAChB,KAAK2wC,iBAAL,CAAuBnxH,GAAG,CAAC4jG,IAA3B,CADgB,CAAP,CAAjC;AAEH;;AACD,UAAMniQ,IAAI,GAAG,KAAKyvR,MAAL,CAAY9qC,QAAZ,EAAsBwoC,KAAK,CAAC9sC,UAA5B,EACRI,MADQ,CACD6vC,aADC,EACc,KAAKZ,iBAAL,CAAuBnxH,GAAG,CAAC4jG,IAA3B,CADd,CAAb;;AAEA,WAAO8sB,0BAA0B,CAAC/9P,IAAD,EAAOlxB,IAAP,CAAjC;AACH;;AACDyvR,EAAAA,MAAM,CAAClxH,GAAD,EAAMrtI,IAAN,EAAY;AACd,UAAMxvB,MAAM,GAAG,KAAK6tR,UAAL,CAAgB3wR,GAAhB,CAAoB2/J,GAApB,CAAf;;AACA,QAAI78J,MAAJ,EACI,OAAOA,MAAP;AACJ,WAAO,CAAC,KAAK4tR,QAAL,CAAc1wR,GAAd,CAAkB2/J,GAAlB,KAA0BA,GAA3B,EAAgCipG,KAAhC,CAAsC,IAAtC,EAA4Ct2O,IAA5C,CAAP;AACH;;AACD4+P,EAAAA,iBAAiB,CAACvxH,GAAD,EAAMqxH,YAAN,EAAoB1+P,IAApB,EAA0B;AACvC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAIgzO,iBAAiB,GAAG,KAAKurB,MAAL,CAAYG,YAAY,CAACjrC,QAAzB,EAAmCwoC,KAAK,CAAC9sC,UAAzC,CAAxB;;AACA,QAAIkwC,SAAS,GAAGl9H,SAAhB;;AACA,QAAI,KAAKm9H,0BAAL,CAAgCZ,YAAY,CAACjrC,QAA7C,CAAJ,EAA4D;AACxD;AACA;AACA4rC,MAAAA,SAAS,GAAG,KAAKE,iBAAL,EAAZ,CAHwD,CAIxD;;AACAvsB,MAAAA,iBAAiB,GAAGqsB,SAAS,CAAC/lS,GAAV,CAAc05Q,iBAAd,CAApB,CALwD,CAMxD;;AACA,WAAKqrB,UAAL,CAAgB/kS,GAAhB,CAAoBolS,YAAY,CAACjrC,QAAjC,EAA2C4rC,SAA3C;AACH;;AACD,UAAM1tD,SAAS,GAAGqhC,iBAAiB,CAAChhB,OAAlB,EAAlB,CA/CuC,CAgDvC;AACA;;AACA,QAAI0sC,YAAY,YAAYjJ,aAA5B,EAA2C;AACvC,WAAK2I,QAAL,CAAc9kS,GAAd,CAAkBolS,YAAlB,EAAgC,IAAInJ,SAAJ,CAAcmJ,YAAY,CAACztB,IAA3B,EAAiCytB,YAAY,CAACtvC,UAA9C,EAA0DsvC,YAAY,CAACjrC,QAAvE,EAAiFirC,YAAY,CAACl/R,GAA9F,CAAhC;AACH,KAFD,MAGK;AACD,WAAK4+R,QAAL,CAAc9kS,GAAd,CAAkBolS,YAAlB,EAAgC,IAAIzJ,YAAJ,CAAiByJ,YAAY,CAACztB,IAA9B,EAAoCytB,YAAY,CAACtvC,UAAjD,EAA6DsvC,YAAY,CAACxK,QAA1E,EAAoFwK,YAAY,CAACjrC,QAAjG,EAA2GirC,YAAY,CAAC1wR,IAAxH,CAAhC;AACH,KAvDsC,CAwDvC;;;AACA,UAAMo3C,MAAM,GAAG,KAAKm5O,MAAL,CAAYlxH,GAAZ,EAAiB4uH,KAAK,CAAC9sC,UAAvB,CAAf,CAzDuC,CA0DvC;AACA;;;AACA,SAAKivC,QAAL,CAAc55Q,MAAd,CAAqBk6Q,YAArB,EA5DuC,CA6DvC;;;AACA,QAAIW,SAAJ,EAAe;AACX,WAAKG,gBAAL,CAAsBH,SAAtB;AACH,KAhEsC,CAiEvC;;;AACA,WAAOtB,0BAA0B,CAAC/9P,IAAD,EAAO2xM,SAAS,CAACge,WAAV,CAAsB+I,SAAtB,EAAiCtzM,MAAjC,CAAP,CAAjC;AACH;;AACDq5O,EAAAA,sBAAsB,CAACpxH,GAAD,EAAMrtI,IAAN,EAAY;AAC9B,UAAM48C,IAAI,GAAG,KAAK2hN,MAAL,CAAYlxH,GAAG,CAACzwF,IAAhB,EAAsBq/M,KAAK,CAAC9sC,UAA5B,CAAb;;AACA,UAAMtyK,KAAK,GAAG,KAAK0hN,MAAL,CAAYlxH,GAAG,CAACxwF,KAAhB,EAAuBo/M,KAAK,CAAC9sC,UAA7B,CAAd;;AACA,UAAMkwC,SAAS,GAAG,KAAKE,iBAAL,EAAlB;AACA,SAAKC,gBAAL,CAAsBH,SAAtB,EAJ8B,CAK9B;AACA;AACA;AACA;;AACA,WAAOtB,0BAA0B,CAAC/9P,IAAD,EAAOq/P,SAAS,CAAC/lS,GAAV,CAAcsjF,IAAd,EACnCyzK,YADmC,CACtBqI,SADsB,EAEnCzH,GAFmC,CAE/BouC,SAAS,CAAChvC,YAAV,CAAuB6M,OAAO,CAAC/6F,SAAD,CAA9B,CAF+B,EAGnCwtF,WAHmC,CAGvB0vC,SAHuB,EAGZxiN,KAHY,CAAP,CAAjC;AAIH,GAtViB,CAuVlB;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA8hN,EAAAA,gBAAgB,CAACtxH,GAAD,EAAM;AAClB,UAAMipG,KAAK,GAAG,CAAC1tG,OAAD,EAAUyE,GAAV,KAAkB;AAC5B,aAAO,CAAC,KAAK+wH,QAAL,CAAc1wR,GAAd,CAAkB2/J,GAAlB,KAA0BA,GAA3B,EAAgCipG,KAAhC,CAAsC1tG,OAAtC,CAAP;AACH,KAFD;;AAGA,WAAOyE,GAAG,CAACipG,KAAJ,CAAU;AACbygB,MAAAA,UAAU,CAAC1pH,GAAD,EAAM;AACZ,eAAO,IAAP;AACH,OAHY;;AAIbmpH,MAAAA,WAAW,CAACnpH,GAAD,EAAM;AACb,eAAO,IAAP;AACH,OANY;;AAObunH,MAAAA,UAAU,CAACvnH,GAAD,EAAM;AACZ,eAAO,IAAP;AACH,OATY;;AAUb2nH,MAAAA,gBAAgB,CAAC3nH,GAAD,EAAM;AAClB,eAAO,IAAP;AACH,OAZY;;AAabiqH,MAAAA,SAAS,CAACjqH,GAAD,EAAM;AACX,eAAOipG,KAAK,CAAC,IAAD,EAAOjpG,GAAG,CAAComF,QAAX,CAAZ;AACH,OAfY;;AAgBb+gC,MAAAA,qBAAqB,CAACnnH,GAAD,EAAM;AACvB,eAAO,IAAP;AACH,OAlBY;;AAmBbqnH,MAAAA,iBAAiB,CAACrnH,GAAD,EAAM;AACnB,eAAO,IAAP;AACH,OArBY;;AAsBbipH,MAAAA,kBAAkB,CAACjpH,GAAD,EAAM;AACpB,eAAO,IAAP;AACH,OAxBY;;AAyBbmoH,MAAAA,cAAc,CAACnoH,GAAD,EAAM;AAChB,eAAOipG,KAAK,CAAC,IAAD,EAAOjpG,GAAG,CAAComF,QAAX,CAAZ;AACH,OA3BY;;AA4BbmiC,MAAAA,eAAe,CAACvoH,GAAD,EAAM;AACjB,eAAO,IAAP;AACH,OA9BY;;AA+Bb6oH,MAAAA,iBAAiB,CAAC7oH,GAAD,EAAM;AACnB,eAAO,IAAP;AACH,OAjCY;;AAkCb+oH,MAAAA,eAAe,CAAC/oH,GAAD,EAAM;AACjB,eAAO,IAAP;AACH,OApCY;;AAqCb2oH,MAAAA,qBAAqB,CAAC3oH,GAAD,EAAM;AACvB,eAAO,IAAP;AACH,OAvCY;;AAwCbyoH,MAAAA,SAAS,CAACzoH,GAAD,EAAM;AACX,eAAO,IAAP;AACH,OA1CY;;AA2Cb4pH,MAAAA,cAAc,CAAC5pH,GAAD,EAAM;AAChB,eAAO,IAAP;AACH,OA7CY;;AA8Cb8pH,MAAAA,kBAAkB,CAAC9pH,GAAD,EAAM;AACpB,eAAO,IAAP;AACH,OAhDY;;AAiDb6nH,MAAAA,iBAAiB,CAAC7nH,GAAD,EAAM;AACnB,eAAOipG,KAAK,CAAC,IAAD,EAAOjpG,GAAG,CAAComF,QAAX,CAAZ;AACH,OAnDY;;AAoDb2hC,MAAAA,kBAAkB,CAAC/nH,GAAD,EAAM;AACpB,eAAO,IAAP;AACH,OAtDY;;AAuDbgnH,MAAAA,UAAU,CAAChnH,GAAD,EAAM;AACZ,eAAO,IAAP;AACH,OAzDY;;AA0DbioH,MAAAA,qBAAqB,CAACjoH,GAAD,EAAM;AACvB,eAAOipG,KAAK,CAAC,IAAD,EAAOjpG,GAAG,CAAComF,QAAX,CAAL,IAA6BpmF,GAApC;AACH,OA5DY;;AA6DbqoH,MAAAA,kBAAkB,CAACroH,GAAD,EAAM;AACpB,eAAOipG,KAAK,CAAC,IAAD,EAAOjpG,GAAG,CAAComF,QAAX,CAAL,IAA6BpmF,GAApC;AACH;;AA/DY,KAAV,CAAP;AAiEH,GAnaiB,CAoalB;AACA;AACA;;;AACAiyH,EAAAA,0BAA0B,CAACjyH,GAAD,EAAM;AAC5B,UAAMipG,KAAK,GAAG,CAAC1tG,OAAD,EAAUyE,GAAV,KAAkB;AAC5B,aAAOA,GAAG,IAAI,CAAC,KAAK+wH,QAAL,CAAc1wR,GAAd,CAAkB2/J,GAAlB,KAA0BA,GAA3B,EAAgCipG,KAAhC,CAAsC1tG,OAAtC,CAAd;AACH,KAFD;;AAGA,UAAM62H,SAAS,GAAG,CAAC72H,OAAD,EAAUyE,GAAV,KAAkB;AAChC,aAAOA,GAAG,CAACjiK,IAAJ,CAASiiK,GAAG,IAAIipG,KAAK,CAAC1tG,OAAD,EAAUyE,GAAV,CAArB,CAAP;AACH,KAFD;;AAGA,WAAOA,GAAG,CAACipG,KAAJ,CAAU;AACbygB,MAAAA,UAAU,CAAC1pH,GAAD,EAAM;AACZ,eAAOipG,KAAK,CAAC,IAAD,EAAOjpG,GAAG,CAACZ,IAAX,CAAZ;AACH,OAHY;;AAIb+pH,MAAAA,WAAW,CAACnpH,GAAD,EAAM;AACb,eAAOipG,KAAK,CAAC,IAAD,EAAOjpG,GAAG,CAACzwF,IAAX,CAAL,IAAyB05L,KAAK,CAAC,IAAD,EAAOjpG,GAAG,CAACxwF,KAAX,CAArC;AACH,OANY;;AAOb+3M,MAAAA,UAAU,CAACvnH,GAAD,EAAM;AACZ,eAAO,KAAP;AACH,OATY;;AAUb2nH,MAAAA,gBAAgB,CAAC3nH,GAAD,EAAM;AAClB,eAAOipG,KAAK,CAAC,IAAD,EAAOjpG,GAAG,CAACskE,SAAX,CAAL,IAA8B2kC,KAAK,CAAC,IAAD,EAAOjpG,GAAG,CAACynH,OAAX,CAAnC,IAA0Dxe,KAAK,CAAC,IAAD,EAAOjpG,GAAG,CAAC0nH,QAAX,CAAtE;AACH,OAZY;;AAabuC,MAAAA,SAAS,CAACjqH,GAAD,EAAM;AACX,eAAO,IAAP;AACH,OAfY;;AAgBbmnH,MAAAA,qBAAqB,CAACnnH,GAAD,EAAM;AACvB,eAAO,KAAP;AACH,OAlBY;;AAmBbqnH,MAAAA,iBAAiB,CAACrnH,GAAD,EAAM;AACnB,eAAO,KAAP;AACH,OArBY;;AAsBbipH,MAAAA,kBAAkB,CAACjpH,GAAD,EAAM;AACpB,eAAOoyH,SAAS,CAAC,IAAD,EAAOpyH,GAAG,CAACxD,WAAX,CAAhB;AACH,OAxBY;;AAyBb2rH,MAAAA,cAAc,CAACnoH,GAAD,EAAM;AAChB,eAAO,KAAP;AACH,OA3BY;;AA4BbuoH,MAAAA,eAAe,CAACvoH,GAAD,EAAM;AACjB,eAAO,KAAP;AACH,OA9BY;;AA+Bb6oH,MAAAA,iBAAiB,CAAC7oH,GAAD,EAAM;AACnB,eAAO,IAAP;AACH,OAjCY;;AAkCb+oH,MAAAA,eAAe,CAAC/oH,GAAD,EAAM;AACjB,eAAO,IAAP;AACH,OApCY;;AAqCb2oH,MAAAA,qBAAqB,CAAC3oH,GAAD,EAAM;AACvB,eAAO,KAAP;AACH,OAvCY;;AAwCbyoH,MAAAA,SAAS,CAACzoH,GAAD,EAAM;AACX,eAAO,IAAP;AACH,OA1CY;;AA2Cb4pH,MAAAA,cAAc,CAAC5pH,GAAD,EAAM;AAChB,eAAOipG,KAAK,CAAC,IAAD,EAAOjpG,GAAG,CAACjtK,UAAX,CAAZ;AACH,OA7CY;;AA8Cb+2R,MAAAA,kBAAkB,CAAC9pH,GAAD,EAAM;AACpB,eAAOipG,KAAK,CAAC,IAAD,EAAOjpG,GAAG,CAACjtK,UAAX,CAAZ;AACH,OAhDY;;AAiDb80R,MAAAA,iBAAiB,CAAC7nH,GAAD,EAAM;AACnB,eAAO,KAAP;AACH,OAnDY;;AAoDb+nH,MAAAA,kBAAkB,CAAC/nH,GAAD,EAAM;AACpB,eAAO,KAAP;AACH,OAtDY;;AAuDbgnH,MAAAA,UAAU,CAAChnH,GAAD,EAAM;AACZ,eAAO,KAAP;AACH,OAzDY;;AA0DbioH,MAAAA,qBAAqB,CAACjoH,GAAD,EAAM;AACvB,eAAO,KAAP;AACH,OA5DY;;AA6DbqoH,MAAAA,kBAAkB,CAACroH,GAAD,EAAM;AACpB,eAAO,KAAP;AACH;;AA/DY,KAAV,CAAP;AAiEH;;AACDkyH,EAAAA,iBAAiB,GAAG;AAChB,UAAMG,UAAU,GAAG,KAAKpB,iBAAL,EAAnB;AACA,SAAKnC,cAAL,GAAsBzkR,IAAI,CAAC3Z,GAAL,CAAS,KAAKugS,iBAAd,EAAiC,KAAKnC,cAAtC,CAAtB;AACA,WAAO,IAAI3pC,WAAJ,CAAgBmrC,aAAa,CAAC,KAAKzC,SAAN,EAAiBwE,UAAjB,CAA7B,CAAP;AACH;;AACDF,EAAAA,gBAAgB,CAACH,SAAD,EAAY;AACxB,SAAKf,iBAAL;;AACA,QAAIe,SAAS,CAACrxR,IAAV,IAAkB2vR,aAAa,CAAC,KAAKzC,SAAN,EAAiB,KAAKoD,iBAAtB,CAAnC,EAA6E;AACzE,YAAM,IAAIpvR,KAAJ,CAAW,aAAYmwR,SAAS,CAACrxR,IAAK,wBAAtC,CAAN;AACH;AACJ;AACD;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACIwwR,EAAAA,iBAAiB,CAACvtB,IAAD,EAAO;AACpB,QAAI,KAAKmqB,cAAT,EAAyB;AACrB,YAAM5lR,KAAK,GAAG,KAAK4lR,cAAL,CAAoB5lR,KAApB,CAA0Bk3Q,MAA1B,CAAiCzb,IAAI,CAACz7P,KAAtC,CAAd;AACA,YAAM0xD,GAAG,GAAG,KAAKk0N,cAAL,CAAoB5lR,KAApB,CAA0Bk3Q,MAA1B,CAAiCzb,IAAI,CAAC/pM,GAAtC,CAAZ;AACA,YAAMkmN,SAAS,GAAG,KAAKgO,cAAL,CAAoBhO,SAApB,CAA8BV,MAA9B,CAAqCzb,IAAI,CAACz7P,KAA1C,CAAlB;AACA,aAAO,IAAI23Q,eAAJ,CAAoB33Q,KAApB,EAA2B0xD,GAA3B,EAAgCkmN,SAAhC,CAAP;AACH,KALD,MAMK;AACD,aAAO,IAAP;AACH;AACJ;AACD;;;AACA6R,EAAAA,yBAAyB,CAACjxR,IAAD,EAAO;AAC5B,QAAI,KAAKqtR,wBAAT,EAAmC;AAC/B,WAAKA,wBAAL,CAA8B5lQ,GAA9B,CAAkCznB,IAAlC;AACH;AACJ;;AAthBiB;;AAwhBtB,SAASguR,iBAAT,CAA2BvnI,GAA3B,EAAgCxwD,MAAhC,EAAwC;AACpC,MAAI9pG,KAAK,CAACC,OAAN,CAAcq6J,GAAd,CAAJ,EAAwB;AACpBA,IAAAA,GAAG,CAACl8J,OAAJ,CAAa+9J,KAAD,IAAW0lI,iBAAiB,CAAC1lI,KAAD,EAAQryD,MAAR,CAAxC;AACH,GAFD,MAGK;AACDA,IAAAA,MAAM,CAACvrG,IAAP,CAAY+7J,GAAZ;AACH;AACJ;;AACD,MAAM8mI,oBAAN,CAA2B;AACvBllS,EAAAA,WAAW,CAACilS,OAAD,EAAU;AACjB,SAAKA,OAAL,GAAeA,OAAf;AACH;;AACDe,EAAAA,yBAAyB,GAAG,CAAG;;AAC/BwC,EAAAA,gBAAgB,GAAG,CAAG;;AACtBE,EAAAA,QAAQ,CAAC/wR,IAAD,EAAO;AACX,QAAIA,IAAI,KAAK2sR,gBAAgB,CAAC5jM,KAAjB,CAAuB/oF,IAApC,EAA0C;AACtC,aAAO2sR,gBAAgB,CAAC5jM,KAAxB;AACH;;AACD,WAAO,IAAP;AACH;;AAXsB;;AAa3B,SAASsmM,mBAAT,CAA6BnC,SAA7B,EAAwC;AACpC,SAAO/+B,QAAQ,CAAE,WAAU++B,SAAU,EAAtB,CAAf,CADoC,CACK;AAC5C;;AACD,SAASwB,uBAAT,CAAiCxB,SAAjC,EAA4C;AACxC,SAAO/+B,QAAQ,CAAE,MAAK++B,SAAU,EAAjB,CAAf;AACH;;AACD,SAASuB,yBAAT,CAAmCrjC,IAAnC,EAAyC;AACrC,MAAIA,IAAI,YAAY9G,mBAApB,EAAyC;AACrC,WAAO8G,IAAI,CAAC3sF,IAAZ;AACH,GAFD,MAGK,IAAI2sF,IAAI,YAAYK,eAApB,EAAqC;AACtC,WAAOL,IAAI,CAAC93P,KAAZ;AACH;;AACD,SAAO,IAAP;AACH;;AACD,MAAM28R,mBAAN,SAAkC7G,IAAlC,CAAuC;AACnC/gS,EAAAA,WAAW,CAAC46Q,IAAD,EAAO7hB,UAAP,EAAmBz5F,IAAnB,EAAyBu6H,SAAzB,EAAoC;AAC3C,UAAMjf,IAAN,EAAY7hB,UAAZ,EAAwB,IAAIklC,SAAJ,CAAcrjB,IAAd,EAAoB7hB,UAApB,CAAxB,EAAyDz5F,IAAzD,EAA+D,IAA/D;AACA,SAAKu6H,SAAL,GAAiBA,SAAjB;AACH;;AAJkC;AAOvC;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,MAAMyP,SAAN,CAAgB;AACZtpS,EAAAA,WAAW,GAAG;AACV,SAAKupS,aAAL,GAAqB,IAArB;AACH;AACD;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;;;AACIC,EAAAA,WAAW,CAAC11I,OAAD,EAAU0Y,QAAV,EAAoBi9H,YAAY,GAAG,EAAnC,EAAuC;AAC9C,UAAMC,gBAAgB,GAAGC,uBAAuB,CAAC71I,OAAD,CAAhD;AACAA,IAAAA,OAAO,GAAG81I,aAAa,CAAC91I,OAAD,CAAvB;AACAA,IAAAA,OAAO,GAAG,KAAK+1I,iBAAL,CAAuB/1I,OAAvB,CAAV;;AACA,UAAMg2I,aAAa,GAAG,KAAKC,aAAL,CAAmBj2I,OAAnB,EAA4B0Y,QAA5B,EAAsCi9H,YAAtC,CAAtB;;AACA,WAAO,CAACK,aAAD,EAAgB,GAAGJ,gBAAnB,EAAqC3lR,IAArC,CAA0C,IAA1C,CAAP;AACH;;AACD8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ACD,SAASs0T,SAAT,CAAmBt0T,KAAnB,EAA0B;AACtB,SAAOA,KAAK,CACP6C,OADE,CACM,aADN,EACqBhO,CAAC,IAAI;AAC7B,WAAOA,CAAC,CAAC4tK,MAAF,CAAS,CAAT,IAAc,GAAd,GAAoB5tK,CAAC,CAAC4tK,MAAF,CAAS,CAAT,CAA3B;AACH,GAHM,EAIFvgK,WAJE,EAAP;AAKH;;AAED,MAAM0yT,cAAc,GAAG,YAAvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,MAAMC,kCAAkC,GAAG,CAA3C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,MAAMC,cAAN,CAAqB;AACjB//T,EAAAA,WAAW,CAACggU,cAAD,EAAiB;AACxB,SAAKA,cAAL,GAAsBA,cAAtB;AACA;;AACA,SAAKC,iBAAL,GAAyB,KAAzB;AACA;AACR;AACA;AACA;;AACQ,SAAKC,WAAL,GAAmB,KAAnB;AACA,SAAKC,oBAAL,GAA4B,KAA5B;AACA;;AACA,SAAKC,cAAL,GAAsB,IAAtB;AACA;;AACA,SAAKC,cAAL,GAAsB,IAAtB;AACA;;AACA,SAAKC,kBAAL,GAA0B,IAA1B;AACA;;AACA,SAAKC,kBAAL,GAA0B,IAA1B;AACA,SAAKC,iBAAL,GAAyB,IAAzB;AACA,SAAKC,kBAAL,GAA0B,IAA1B,CAnBwB,CAoBxB;AACA;;AACA;AACR;AACA;AACA;AACA;;AACQ,SAAKC,YAAL,GAAoB,IAAIxwT,GAAJ,EAApB;AACA;AACR;AACA;AACA;AACA;;AACQ,SAAKywT,aAAL,GA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AAsB,EAAE;AAHH,CAAzB;AAKA;AACA;AACA;AACA;AACA;;AACA,SAASC,+BAAT,GAA2C;AACvC,SAAOL,gBAAgB,CAACC,MAAjB,CAAwBlzY,MAAxB,KAAmC,IAA1C;AACH;;AACD,SAASuzY,oBAAT,GAAgC;AAC5B,SAAON,gBAAgB,CAACC,MAAjB,CAAwBM,iBAA/B;AACH;;AACD,SAASC,yBAAT,GAAqC;AACjCR,EAAAA,gBAAgB,CAACC,MAAjB,CAAwBM,iBAAxB;AACH;;AACD,SAASE,yBAAT,GAAqC;AACjCT,EAAAA,gBAAgB,CAACC,MAAjB,CAAwBM,iBAAxB;AACH;;AACD,SAASG,kBAAT,GAA8B;AAC1B,SAAOV,gBAAgB,CAACG,eAAxB;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASQ,gBAAT,GAA4B;AACxBX,EAAAA,gBAAgB,CAACG,eAAjB,GAAmC,IAAnC;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASS,iBAAT,GAA6B;AACzBZ,EAAAA,gBAAgB,CAACG,eAAjB,GAAmC,KAAnC;AACH;AACD;AACA;AACA;;;AACA,SAASU,QAAT,GAAoB;AAChB,SAAOb,gBAAgB,CAACC,MAAjB,CAAwB/E,KAA/B;AACH;AACD;AACA;AACA;;;AACA,SAAS4F,QAAT,GAAoB;AAChB,SAAOd,gBAAgB,CAACC,MAAjB,CAAwBjL,KAA/B;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAAS+L,aAAT,CAAuBC,aAAvB,EAAsC;AAClChB,EAAAA,gBAAgB,CAACC,MAAjB,CAAwBgB,YAAxB,GAAuCD,aAAvC;AACA,SAAOA,aAAa,CAAC5H,OAAD,CAApB;AACH;;AACD,SAAS8H,eAAT,GAA2B;AACvB,MAAIC,YAAY,GAAGC,4BAA4B,EAA/C;;AACA,S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,UAA2BzpF,SAA3B,EAAsCm+C,IAAtC,CAAR;AACH;AACJ;AACJ,GAfD,MAgBK;AACDsrC,IAAAA,QAAQ,CAAC;AAAE;AAAH,MAA6BzpF,SAA7B,EAAwCm+C,IAAxC,CAAR;;AACA,QAAI;AACAA,MAAAA,IAAI,CAACjuV,IAAL,CAAU8vS,SAAV;AACH,KAFD,SAGQ;AACJypF,MAAAA,QAAQ,CAAC;AAAE;AAAH,QAA2BzpF,SAA3B,EAAsCm+C,IAAtC,CAAR;AACH;AACJ;AACJ;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,MAAMqzC,kBAAkB,GAAG,CAAC,CAA5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,MAAMC,mBAAN,CAA0B;AACtBh6Y,EAAAA,WAAW;AACX;AACJ;AACA;AACIksM,EAAAA,OAJW;AAKX;AACJ;AACA;AACI+tM,EAAAA,cARW,EAQKC,oBARL,EAQ2B;AAClC,SAAKhuM,OAAL,GAAeA,OAAf;AACA;AACR;AACA;AACA;;AACQ,SAAKiuM,SAAL,GAAiB,KAAjB;AACAziN,IAAAA,SAAS,IAAI8uM,aAAa,CAACt6L,OAAD,EAAU,uBAAV,CAA1B;AACAxU,IAAAA,SAAS,IAAIsuM,WAAW,CAAC,OAAO95L,OAAR,EAAiB,UAAjB,EAA6B,4BAA7B,CAAxB;AACA,SAAKkuM,mBAAL,GAA2BH,cAA3B;AACA,SAAKI,UAAL,GAAkBH,oBAAlB;AACH;;AApBqB;;AAsB1B,SAASI,SAAT,CAAmBlqO,GAAnB,EAAwB;AACpB,SAAOA,GAAG,YAAY4pO,mBAAtB;AACH,EACD;AACA;;;AACA,MAAMO,+BAA+B,GAAG,CAAxC;AAEA;AACA;AACA;AACA;;AACA,SAASC,mBAAT,CAA6BC,SAA7B,EAAwC;AACpC,MAAI7wY,IAAI,GAAG,EAAX;AACC6wY,EAAAA,SAAS,GAAG;AAAE;AAAf,MAA+B7wY,IAAI,IAAI,OAAvC;AACC6wY,EAAAA,SAAS,GAAG;AAAE;AAAf,MAAkC7wY,IAAI,IAAI,UAA1C;AACC6wY,EAAAA,SAAS,GAAG;AAAE;AAAf,MAAoC7wY,IAAI,IAAI,YAA5C;AACC6wY,EAAAA,SAAS,GAAG;AAAE;AAAf,MAA2C7wY,IAAI,IAAI,mBAAnD;AACC6wY,EAAAA,SAAS,GAAG;AAAG;AAAhB,MAAsC7wY,IAAI,IAAI,aAA9C;AACC6wY,EAAAA,SAAS,GAAG;AAAG;AAAhB,MAA+B7wY,IAAI,IAAI,eAAvC;AACC6wY,EAAAA,SAAS,GAAG;AAAG;AAAhB,MAAuC7wY,IAAI,IAAI,cAA/C;AACA,SAAOA,IAAI,CAACwB,MAAL,GAAc,CAAd,GAAkBxB,IAAI,CAACsiK,SAAL,CAAe,CAAf,CAAlB,GAAsCtiK,IAA7C;AACH,EACD;AACA;;;AACA,MAAM8wY,+BAA+B,GAAG,CAAxC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,SAASC,aAAT,CAAuB/R,KAAvB,EAA8B;AAC1B,SAAO,CAACA,KAAK,CAACr8O,KAAN,GAAc;AAAG;AAAlB,QAA2C,CAAlD;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASquP,aAAT,CAAuBhS,KAAvB,EAA8B;AAC1B,SAAO,CAACA,KAAK,CAACr8O,KAAN,GAAc;AAAG;AAAlB,QAA2C,CAAlD;AACH;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASsuP,eAAT,CAAyBjS,KAAzB,EAAgCkS,aAAhC,EAA+ClsX,OAA/C,EAAwD;AACpD43W,EAAAA,aAAa,CAACoC,KAAD,EAAQ,+BAAR,CAAb;;AACA,MAAI,CAACA,KAAK,CAAC9nY,IAAN,GAAag6Y,aAAd,MAAiC,CAArC,EAAwC;AACpCtV,IAAAA,UAAU,CAAC52W,OAAO,IACb,aAAY4rX,mBAAmB,CAACM,aAAD,CAAgB,aAAYN,mBAAmB,CAAC5R,KAAK,CAAC9nY,IAAP,CAAa,GADtF,CAAV;AAEH;AACJ;;AACD,SAASi6Y,mBAAT,CAA6Bj6Y,IAA7B,EAAmC;AAC/B,MAAI,EAAEA,IAAI,KAAK;AAAE;AAAX,KAA4B;AAC9BA,EAAAA,IAAI,KAAK;AAAE;AADT,KACuB;AACzBA,EAAAA,IAAI,KAAK;AAAE;AAFT,KAE4B;AAC9BA,EAAAA,IAAI,KAAK;AAAE;AAHT,KAGmC;AACrCA,EAAAA,IAAI,KAAK;AAAG;AAJV,KAIuB;AACzBA,EAAAA,IAAI,KAAK;AAAG;AALV,KAK8B;AAChCA,EAAAA,IAAI,KAAK;AAAG;AANZ,GAAJ,EAMoC;AAChC0kY,IAAAA,UAAU,CAAE,mEAAkEgV,mBAAmB,CAAC15Y,IAAD,CAAO,GAA9F,CAAV;AACH;AACJ;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASk6Y,eAAT,CAAyBpxW,QAAzB,EAAmCk2D,MAAnC,EAA2CywJ,KAA3C,EAAkD;AAC9C,QAAM0qJ,MAAM,GAAG1I,oBAAoB,CAAC3oW,QAAD,CAAnC;AACA,MAAI3rC,CAAC,GAAG,CAAR;;AACA,SAAOA,CAAC,GAAGsyP,KAAK,CAACnlP,MAAjB,EAAyB;AACrB,UAAMH,KAAK,GAAGslP,KAAK,CAACtyP,CAAD,CAAnB;;AACA,QAAI,OAAOgN,KAAP,KAAiB,QAArB,EAA+B;AAC3B;AACA;AACA,UAAIA,KAAK,KAAK;AAAE;AAAhB,QAAoC;AAChC;AACH,OAL0B,CAM3B;AACA;;;AACAhN,MAAAA,CAAC;AACD,YAAMi9Y,YAAY,GAAG3qJ,KAAK,CAACtyP,CAAC,EAAF,CAA1B;AACA,YAAM8hK,QAAQ,GAAGwwF,KAAK,CAACtyP,CAAC,EAAF,CAAtB;AACA,YAAMk9Y,OAAO,GAAG5qJ,KAAK,CAACtyP,CAAC,EAAF,CAArB;AACAy5L,MAAAA,SAAS,IAAIA,SAAS,CAACwxM,oBAAV,EAAb;AACA+R,MAAAA,MAAM,GACFrxW,QAAQ,CAACqiE,YAAT,CAAsBnM,MAAtB,EAA8BigE,QAA9B,EAAwCo7O,OAAxC,EAAiDD,YAAjD,CADE,GAEFp7S,MAAM,CAACg2D,cAAP,CAAsBolP,YAAtB,EAAoCn7O,QAApC,EAA8Co7O,OAA9C,CAFJ;AAGH,KAhBD,MAiBK;AACD;AACA,YAAMp7O,QAAQ,GAAG90J,KAAjB;AACA,YAAMkwY,OAAO,GAAG5qJ,KAAK,CAAC,EAAEtyP,CAAH,CAArB,CAHC,CAID;;AACAy5L,MAAAA,SAAS,IAAIA,SAAS,CAACwxM,oBAAV,EAAb;;AACA,UAAIz2E,eAAe,CAAC1yJ,QAAD,CAAnB,EAA+B;AAC3B,YAAIk7O,MAAJ,EAAY;AACRrxW,UAAAA,QAAQ,CAAC0rH,WAAT,CAAqBx1D,MAArB,EAA6BigE,QAA7B,EAAuCo7O,OAAvC;AACH;AACJ,OAJD,MAKK;AACDF,QAAAA,MAAM,GACFrxW,QAAQ,CAACqiE,YAAT,CAAsBnM,MAAtB,EAA8BigE,QAA9B,EAAwCo7O,OAAxC,CADE,GAEFr7S,MAAM,CAACmM,YAAP,CAAoB8zD,QAApB,EAA8Bo7O,OAA9B,CAFJ;AAGH;;AACDl9Y,MAAAA,CAAC;AACJ;AACJ,GAxC6C,CAyC9C;AACA;AACA;AACA;;;AACA,SAAOA,CAAP;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASm9Y,yBAAT,CAAmCp0E,MAAnC,EAA2C;AACvC,SAAOA,MAAM,KAAK;AAAE;AAAb,KAA+BA,MAAM,KAAK;AAAE;AAA5C,KACHA,MAAM,KAAK;AAAE;AADjB;AAEH;;AACD,SAASvU,eAAT,CAAyB96S,IAAzB,EAA+B;AAC3B;AACA;AACA;AACA,SAAOA,IAAI,CAACk/G,UAAL,CAAgB,CAAhB,MAAuB;AAAG;AAAjC;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASwkR,cAAT,CAAwBC,GAAxB,EAA6BnsU,GAA7B,EAAkC;AAC9B,MAAIA,GAAG,KAAK,IAAR,IAAgBA,GAAG,CAAC/jE,MAAJ,KAAe,CAAnC,EAAsC,CAClC;AACH,GAFD,MAGK,IAAIkwY,GAAG,KAAK,IAAR,IAAgBA,GAAG,CAAClwY,MAAJ,KAAe,CAAnC,EAAsC;AACvC;AACAkwY,IAAAA,GAAG,GAAGnsU,GAAG,CAAC9nE,KAAJ,EAAN;AACH,GAHI,MAIA;AACD,QAAIk0Y,SAAS,GAAG,CAAC;AAAE;AAAnB;;AACA,SAAK,IAAIt9Y,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGkxE,GAAG,CAAC/jE,MAAxB,EAAgCnN,CAAC,EAAjC,EAAqC;AACjC,YAAMkD,IAAI,GAAGguE,GAAG,CAAClxE,CAAD,CAAhB;;AACA,UAAI,OAAOkD,IAAP,KAAgB,QAApB,EAA8B;AAC1Bo6Y,QAAAA,SAAS,GAAGp6Y,IAAZ;AACH,OAFD,MAGK;AACD,YAAIo6Y,SAAS,KAAK;AAAE;AAApB,UAAwC,CACpC;AACH,SAFD,MAGK,IAAIA,SAAS,KAAK,CAAC;AAAE;AAAjB,WACLA,SAAS,KAAK;AAAE;AADf,UAC6B;AAC9B;AACAC,UAAAA,kBAAkB,CAACF,GAAD,EAAMC,SAAN,EAAiBp6Y,IAAjB,EAAuB,IAAvB,EAA6BguE,GAAG,CAAC,EAAElxE,CAAH,CAAhC,CAAlB;AACH,SAJI,MAKA;AACD;AACAu9Y,UAAAA,kBAAkB,CAACF,GAAD,EAAMC,SAAN,EAAiBp6Y,IAAjB,EAAuB,IAAvB,EAA6B,IAA7B,CAAlB;AACH;AACJ;AACJ;AACJ;;AACD,SAAOm6Y,GAAP;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASE,kBAAT,CAA4BF,GAA5B,EAAiCt0E,MAAjC,EAAyC/iJ,IAAzC,EAA+CC,IAA/C,EAAqDj5K,KAArD,EAA4D;AACxD,MAAIhN,CAAC,GAAG,CAAR,CADwD,CAExD;;AACA,MAAIw9Y,oBAAoB,GAAGH,GAAG,CAAClwY,MAA/B,CAHwD,CAIxD;;AACA,MAAI47T,MAAM,KAAK,CAAC;AAAE;AAAlB,IAA4C;AACxCy0E,IAAAA,oBAAoB,GAAG,CAAC,CAAxB;AACH,GAFD,MAGK;AACD,WAAOx9Y,CAAC,GAAGq9Y,GAAG,CAAClwY,MAAf,EAAuB;AACnB,YAAMswY,QAAQ,GAAGJ,GAAG,CAACr9Y,CAAC,EAAF,CAApB;;AACA,UAAI,OAAOy9Y,QAAP,KAAoB,QAAxB,EAAkC;AAC9B,YAAIA,QAAQ,KAAK10E,MAAjB,EAAyB;AACrBy0E,UAAAA,oBAAoB,GAAG,CAAC,CAAxB;AACA;AACH,SAHD,MAIK,IAAIC,QAAQ,GAAG10E,MAAf,EAAuB;AACxB;AACAy0E,UAAAA,oBAAoB,GAAGx9Y,CAAC,GAAG,CAA3B;AACA;AACH;AACJ;AACJ;AACJ,GAvBuD,CAwBxD;;;AACA,SAAOA,CAAC,GAAGq9Y,GAAG,CAAClwY,MAAf,EAAuB;AACnB,UAAMjK,IAAI,GAAGm6Y,GAAG,CAACr9Y,CAAD,CAAhB;;AACA,QAAI,OAAOkD,IAAP,KAAgB,QAApB,EAA8B;AAC1B;AACA;AACA;AACH,KAJD,MAKK,IAAIA,IAAI,KAAK8iL,IAAb,EAAmB;AACpB;AACA,UAAIC,IAAI,KAAK,IAAb,EAAmB;AACf,YAAIj5K,KAAK,KAAK,IAAd,EAAoB;AAChBqwY,UAAAA,GAAG,CAACr9Y,CAAC,GAAG,CAAL,CAAH,GAAagN,KAAb;AACH;;AACD;AACH,OALD,MAMK,IAAIi5K,IAAI,KAAKo3N,GAAG,CAACr9Y,CAAC,GAAG,CAAL,CAAhB,EAAyB;AAC1Bq9Y,QAAAA,GAAG,CAACr9Y,CAAC,GAAG,CAAL,CAAH,GAAagN,KAAb;AACA;AACH;AACJ,KAnBkB,CAoBnB;;;AACAhN,IAAAA,CAAC;AACD,QAAIimL,IAAI,KAAK,IAAb,EACIjmL,CAAC;AACL,QAAIgN,KAAK,KAAK,IAAd,EACIhN,CAAC;AACR,GAnDuD,CAoDxD;;;AACA,MAAIw9Y,oBAAoB,KAAK,CAAC,CAA9B,EAAiC;AAC7BH,IAAAA,GAAG,CAACj8X,MAAJ,CAAWo8X,oBAAX,EAAiC,CAAjC,EAAoCz0E,MAApC;AACA/oU,IAAAA,CAAC,GAAGw9Y,oBAAoB,GAAG,CAA3B;AACH;;AACDH,EAAAA,GAAG,CAACj8X,MAAJ,CAAWphB,CAAC,EAAZ,EAAgB,CAAhB,EAAmBgmL,IAAnB;;AACA,MAAIC,IAAI,KAAK,IAAb,EAAmB;AACfo3N,IAAAA,GAAG,CAACj8X,MAAJ,CAAWphB,CAAC,EAAZ,EAAgB,CAAhB,EAAmBimL,IAAnB;AACH;;AACD,MAAIj5K,KAAK,KAAK,IAAd,EAAoB;AAChBqwY,IAAAA,GAAG,CAACj8X,MAAJ,CAAWphB,CAAC,EAAZ,EAAgB,CAAhB,EAAmBgN,KAAnB;AACH;AACJ;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAAS0wY,iBAAT,CAA2BC,cAA3B,EAA2C;AACvC,SAAOA,cAAc,KAAK7B,kBAA1B;AACH;;AACD,SAAS8B,sBAAT,CAAgCD,cAAhC,EAAgD;AAC5ClkN,EAAAA,SAAS,IAAI4tM,YAAY,CAACsW,cAAD,EAAiB,iBAAjB,CAAzB;AACAlkN,EAAAA,SAAS,IAAIwuM,cAAc,CAAC0V,cAAD,EAAiB,CAAC,CAAlB,EAAqB,oBAArB,CAA3B;AACA,QAAME,mBAAmB,GAAGF,cAAc,GAAG;AAAM;AAAnD;AACAlkN,EAAAA,SAAS,IACL4uM,iBAAiB,CAACwV,mBAAD,EAAsBjO,aAAtB,EAAqC,sDAArC,CADrB;AAEA,SAAO+N,cAAc,GAAG;AAAM;AAA9B;AACH;;AACD,SAASG,2BAAT,CAAqCH,cAArC,EAAqD;AACjD,SAAOA,cAAc,IAAI;AAAG;AAA5B;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASI,qBAAT,CAA+B97W,QAA/B,EAAyC+7W,SAAzC,EAAoD;AAChD,MAAIC,UAAU,GAAGH,2BAA2B,CAAC77W,QAAD,CAA5C;AACA,MAAIi8W,UAAU,GAAGF,SAAjB,CAFgD,CAGhD;AACA;AACA;AACA;;AACA,SAAOC,UAAU,GAAG,CAApB,EAAuB;AACnBC,IAAAA,UAAU,GAAGA,UAAU,CAAC3O,gBAAD,CAAvB;AACA0O,IAAAA,UAAU;AACb;;AACD,SAAOC,UAAP;AACH;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,IAAIC,oBAAoB,GAAG,IAA3B;;AACA,SAASC,uBAAT,CAAiCv8Y,CAAjC,EAAoC;AAChC,QAAMmkE,QAAQ,GAAGm4U,oBAAjB;AACAA,EAAAA,oBAAoB,GAAGt8Y,CAAvB;AACA,SAAOmkE,QAAP;AACH;AACD;AACA;AACA;AACA;AACA;;;AACA,MAAMq4U,UAAU,GAAG,GAAnB;AACA,MAAMC,UAAU,GAAGD,UAAU,GAAG,CAAhC;AACA;AACA;AACA;AACA;AACA;;AACA,MAAME,iBAAiB,GAAG,CAA1B;AACA;;AACA,IAAIC,eAAe,GAAG,CAAtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,SAASC,QAAT,CAAkB7L,aAAlB,EAAiChI,KAAjC,EAAwC/nY,IAAxC,EAA8C;AAC1C42L,EAAAA,SAAS,IAAIsuM,WAAW,CAAC6C,KAAK,CAACF,eAAP,EAAwB,IAAxB,EAA8B,qCAA9B,CAAxB;AACA,MAAI1oY,EAAJ;;AACA,MAAI,OAAOa,IAAP,KAAgB,QAApB,EAA8B;AAC1Bb,IAAAA,EAAE,GAAGa,IAAI,CAAC+1H,UAAL,CAAgB,CAAhB,KAAsB,CAA3B;AACH,GAFD,MAGK,IAAI/1H,IAAI,CAACmuB,cAAL,CAAoBu7W,aAApB,CAAJ,EAAwC;AACzCvqY,IAAAA,EAAE,GAAGa,IAAI,CAAC0pY,aAAD,CAAT;AACH,GARyC,CAS1C;AACA;;;AACA,MAAIvqY,EAAE,IAAI,IAAV,EAAgB;AACZA,IAAAA,EAAE,GAAGa,IAAI,CAAC0pY,aAAD,CAAJ,GAAsBiS,eAAe,EAA1C;AACH,GAbyC,CAc1C;AACA;;;AACA,QAAME,SAAS,GAAG18Y,EAAE,GAAGs8Y,UAAvB,CAhB0C,CAiB1C;AACA;AACA;;AACA,QAAMK,IAAI,GAAG,KAAKD,SAAlB,CApB0C,CAqB1C;AACA;AACA;;AACA9T,EAAAA,KAAK,CAACpnY,IAAN,CAAWovY,aAAa,IAAI8L,SAAS,IAAIH,iBAAjB,CAAxB,KAAgEI,IAAhE;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASC,8BAAT,CAAwCjU,KAAxC,EAA+CmG,KAA/C,EAAsD;AAClD,QAAM+N,qBAAqB,GAAGC,gBAAgB,CAACnU,KAAD,EAAQmG,KAAR,CAA9C;;AACA,MAAI+N,qBAAqB,KAAK,CAAC,CAA/B,EAAkC;AAC9B,WAAOA,qBAAP;AACH;;AACD,QAAMjU,KAAK,GAAGkG,KAAK,CAACrC,KAAD,CAAnB;;AACA,MAAI7D,KAAK,CAACF,eAAV,EAA2B;AACvBC,IAAAA,KAAK,CAACiI,aAAN,GAAsB9B,KAAK,CAAC3jY,MAA5B;AACA4xY,IAAAA,WAAW,CAACnU,KAAK,CAACpnY,IAAP,EAAamnY,KAAb,CAAX,CAFuB,CAES;;AAChCoU,IAAAA,WAAW,CAACjO,KAAD,EAAQ,IAAR,CAAX,CAHuB,CAGG;;AAC1BiO,IAAAA,WAAW,CAACnU,KAAK,CAACoU,SAAP,EAAkB,IAAlB,CAAX;AACH;;AACD,QAAMC,SAAS,GAAGC,yBAAyB,CAACvU,KAAD,EAAQmG,KAAR,CAA3C;AACA,QAAM8B,aAAa,GAAGjI,KAAK,CAACiI,aAA5B,CAbkD,CAclD;AACA;;AACA,MAAI8K,iBAAiB,CAACuB,SAAD,CAArB,EAAkC;AAC9B,UAAME,WAAW,GAAGvB,sBAAsB,CAACqB,SAAD,CAA1C;AACA,UAAMpG,WAAW,GAAGkF,qBAAqB,CAACkB,SAAD,EAAYnO,KAAZ,CAAzC;AACA,UAAMsO,UAAU,GAAGvG,WAAW,CAACpK,KAAD,CAAX,CAAmBjrY,IAAtC,CAH8B,CAI9B;AACA;;AACA,SAAK,IAAIxD,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAG;AAAE;AAAtB,MAAwCA,CAAC,EAAzC,EAA6C;AACzC8wY,MAAAA,KAAK,CAAC8B,aAAa,GAAG5yY,CAAjB,CAAL,GAA2B64Y,WAAW,CAACsG,WAAW,GAAGn/Y,CAAf,CAAX,GAA+Bo/Y,UAAU,CAACD,WAAW,GAAGn/Y,CAAf,CAApE;AACH;AACJ;;AACD8wY,EAAAA,KAAK,CAAC8B,aAAa,GAAG;AAAE;AAAnB,GAAL,GAAwCqM,SAAxC;AACA,SAAOrM,aAAP;AACH;;AACD,SAASmM,WAAT,CAAqBlrO,GAArB,EAA0BpzC,MAA1B,EAAkC;AAC9BozC,EAAAA,GAAG,CAACzvK,IAAJ,CAAS,CAAT,EAAY,CAAZ,EAAe,CAAf,EAAkB,CAAlB,EAAqB,CAArB,EAAwB,CAAxB,EAA2B,CAA3B,EAA8B,CAA9B,EAAiCq8H,MAAjC;AACH;;AACD,SAASq+Q,gBAAT,CAA0BnU,KAA1B,EAAiCmG,KAAjC,EAAwC;AACpC,MAAInG,KAAK,CAACiI,aAAN,KAAwB,CAAC,CAAzB,IACA;AACA;AACCjI,EAAAA,KAAK,CAAChoY,MAAN,IAAgBgoY,KAAK,CAAChoY,MAAN,CAAaiwY,aAAb,KAA+BjI,KAAK,CAACiI,aAHtD,IAIA;AACA;AACA9B,EAAAA,KAAK,CAACnG,KAAK,CAACiI,aAAN,GAAsB;AAAE;AAAzB,GAAL,KAAgD,IANpD,EAM0D;AACtD,WAAO,CAAC,CAAR;AACH,GARD,MASK;AACDn5M,IAAAA,SAAS,IAAIivM,kBAAkB,CAACoI,KAAD,EAAQnG,KAAK,CAACiI,aAAd,CAA/B;AACA,WAAOjI,KAAK,CAACiI,aAAb;AACH;AACJ;AACD;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASsM,yBAAT,CAAmCvU,KAAnC,EAA0CmG,KAA1C,EAAiD;AAC7C,MAAInG,KAAK,CAAChoY,MAAN,IAAgBgoY,KAAK,CAAChoY,MAAN,CAAaiwY,aAAb,KAA+B,CAAC,CAApD,EAAuD;AACnD;AACA;AACA,WAAOjI,KAAK,CAAChoY,MAAN,CAAaiwY,aAApB,CAHmD,CAGhB;AACtC,GAL4C,CAM7C;AACA;AACA;;;AACA,MAAIyM,qBAAqB,GAAG,CAA5B;AACA,MAAIzG,WAAW,GAAG,IAAlB;AACA,MAAI0G,WAAW,GAAGxO,KAAlB,CAX6C,CAY7C;AACA;AACA;;AACA,SAAOwO,WAAW,KAAK,IAAvB,EAA6B;AACzB;AACA,UAAM1U,KAAK,GAAG0U,WAAW,CAAC7Q,KAAD,CAAzB;AACA,UAAM8Q,SAAS,GAAG3U,KAAK,CAAC/nY,IAAxB;;AACA,QAAI08Y,SAAS,KAAK;AAAE;AAApB,MAAoC;AAChC9lN,MAAAA,SAAS,IACL8uM,aAAa,CAACqC,KAAK,CAAC8N,SAAP,EAAkB,kDAAlB,CADjB;AAEAE,MAAAA,WAAW,GAAGhO,KAAK,CAAC8N,SAApB;AACH,KAJD,MAKK,IAAI6G,SAAS,KAAK;AAAE;AAApB,MAAqC;AACtC;AACA;AACA3G,MAAAA,WAAW,GAAG0G,WAAW,CAACxQ,MAAD,CAAzB;AACH,KAJI,MAKA;AACDr1M,MAAAA,SAAS,IAAIsuM,WAAW,CAAC6C,KAAK,CAAC/nY,IAAP,EAAa;AAAE;AAAf,QAA2B,oBAA3B,CAAxB;AACA+1Y,MAAAA,WAAW,GAAG,IAAd;AACH;;AACD,QAAIA,WAAW,KAAK,IAApB,EAA0B;AACtB;AACA,aAAOkD,kBAAP;AACH;;AACDriN,IAAAA,SAAS,IAAIm/M,WAAb,IAA4B/H,mBAAmB,CAAC+H,WAAD,EAAc0G,WAAW,CAAC/P,gBAAD,CAAzB,CAA/C,CAtByB,CAuBzB;;AACA8P,IAAAA,qBAAqB;AACrBC,IAAAA,WAAW,GAAGA,WAAW,CAAC/P,gBAAD,CAAzB;;AACA,QAAIqJ,WAAW,CAAChG,aAAZ,KAA8B,CAAC,CAAnC,EAAsC;AAClC;AACA,aAAQgG,WAAW,CAAChG,aAAZ,GACHyM,qBAAqB,IAAI;AAAG;AADjC;AAEH;AACJ;;AACD,SAAOvD,kBAAP;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAAS0D,kBAAT,CAA4B5M,aAA5B,EAA2ChI,KAA3C,EAAkD9jY,KAAlD,EAAyD;AACrD23Y,EAAAA,QAAQ,CAAC7L,aAAD,EAAgBhI,KAAhB,EAAuB9jY,KAAvB,CAAR;AACH;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;AACA;AACA;AACA;AACA;;;AACA,SAAS24Y,mBAAT,CAA6B9U,KAA7B,EAAoC+U,gBAApC,EAAsD;AAClDjmN,EAAAA,SAAS,IAAImjN,eAAe,CAACjS,KAAD,EAAQ;AAAG;AAAH,IAAwB;AAAE;AAAlC,GAA5B;AACAlxM,EAAAA,SAAS,IAAI8uM,aAAa,CAACoC,KAAD,EAAQ,iBAAR,CAA1B;;AACA,MAAI+U,gBAAgB,KAAK,OAAzB,EAAkC;AAC9B,WAAO/U,KAAK,CAACjlU,OAAb;AACH;;AACD,MAAIg6U,gBAAgB,KAAK,OAAzB,EAAkC;AAC9B,WAAO/U,KAAK,CAAC/mQ,MAAb;AACH;;AACD,QAAM0uH,KAAK,GAAGq4I,KAAK,CAACr4I,KAApB;;AACA,MAAIA,KAAJ,EAAW;AACP,UAAMqtJ,WAAW,GAAGrtJ,KAAK,CAACnlP,MAA1B;AACA,QAAInN,CAAC,GAAG,CAAR;;AACA,WAAOA,CAAC,GAAG2/Y,WAAX,EAAwB;AACpB,YAAM3yY,KAAK,GAAGslP,KAAK,CAACtyP,CAAD,CAAnB,CADoB,CAEpB;;AACA,UAAIm9Y,yBAAyB,CAACnwY,KAAD,CAA7B,EACI,MAJgB,CAKpB;;AACA,UAAIA,KAAK,KAAK;AAAE;AAAhB,QAAoC;AAChC;AACA;AACA;AACA;AACAhN,QAAAA,CAAC,GAAGA,CAAC,GAAG,CAAR;AACH,OAND,MAOK,IAAI,OAAOgN,KAAP,KAAiB,QAArB,EAA+B;AAChC;AACAhN,QAAAA,CAAC;;AACD,eAAOA,CAAC,GAAG2/Y,WAAJ,IAAmB,OAAOrtJ,KAAK,CAACtyP,CAAD,CAAZ,KAAoB,QAA9C,EAAwD;AACpDA,UAAAA,CAAC;AACJ;AACJ,OANI,MAOA,IAAIgN,KAAK,KAAK0yY,gBAAd,EAAgC;AACjC,eAAOptJ,KAAK,CAACtyP,CAAC,GAAG,CAAL,CAAZ;AACH,OAFI,MAGA;AACDA,QAAAA,CAAC,GAAGA,CAAC,GAAG,CAAR;AACH;AACJ;AACJ;;AACD,SAAO,IAAP;AACH;;AACD,SAAS4/Y,oBAAT,CAA8B7mL,aAA9B,EAA6CjyN,KAA7C,EAAoDwnJ,KAApD,EAA2D;AACvD,MAAIA,KAAK,GAAGo7O,WAAW,CAAC5sM,QAAxB,EAAkC;AAC9B,WAAOi8B,aAAP;AACH,GAFD,MAGK;AACDmuK,IAAAA,0BAA0B,CAACpgY,KAAD,EAAQ,cAAR,CAA1B;AACH;AACJ;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAAS+4Y,8BAAT,CAAwC/O,KAAxC,EAA+ChqY,KAA/C,EAAsDwnJ,KAAtD,EAA6DyqE,aAA7D,EAA4E;AACxE,MAAIzqE,KAAK,GAAGo7O,WAAW,CAAC5sM,QAApB,IAAgCi8B,aAAa,KAAKlrD,SAAtD,EAAiE;AAC7D;AACAkrD,IAAAA,aAAa,GAAG,IAAhB;AACH;;AACD,MAAI,CAACzqE,KAAK,IAAIo7O,WAAW,CAACoW,IAAZ,GAAmBpW,WAAW,CAACh4O,IAAnC,CAAN,MAAoD,CAAxD,EAA2D;AACvD,UAAMquP,cAAc,GAAGjP,KAAK,CAAC7B,UAAD,CAA5B,CADuD,CAEvD;AACA;AACA;;AACA,UAAM+Q,4BAA4B,GAAGnW,uBAAuB,CAACh8N,SAAD,CAA5D;;AACA,QAAI;AACA,UAAIkyO,cAAJ,EAAoB;AAChB,eAAOA,cAAc,CAAC3mY,GAAf,CAAmBtS,KAAnB,EAA0BiyN,aAA1B,EAAyCzqE,KAAK,GAAGo7O,WAAW,CAAC5sM,QAA7D,CAAP;AACH,OAFD,MAGK;AACD,eAAOitM,kBAAkB,CAACjjY,KAAD,EAAQiyN,aAAR,EAAuBzqE,KAAK,GAAGo7O,WAAW,CAAC5sM,QAA3C,CAAzB;AACH;AACJ,KAPD,SAQQ;AACJ+sM,MAAAA,uBAAuB,CAACmW,4BAAD,CAAvB;AACH;AACJ;;AACD,SAAOJ,oBAAoB,CAAC7mL,aAAD,EAAgBjyN,KAAhB,EAAuBwnJ,KAAvB,CAA3B;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAAS2xP,qBAAT,CAA+BtV,KAA/B,EAAsCmG,KAAtC,EAA6ChqY,KAA7C,EAAoDwnJ,KAAK,GAAGo7O,WAAW,CAAC7yI,OAAxE,EAAiF99B,aAAjF,EAAgG;AAC5F,MAAI4xK,KAAK,KAAK,IAAd,EAAoB;AAChB,UAAM+T,SAAS,GAAGwB,qBAAqB,CAACp5Y,KAAD,CAAvC,CADgB,CAEhB;AACA;;AACA,QAAI,OAAO43Y,SAAP,KAAqB,UAAzB,EAAqC;AACjC,UAAI,CAAC/F,OAAO,CAAC7H,KAAD,EAAQnG,KAAR,EAAer8O,KAAf,CAAZ,EAAmC;AAC/B;AACA;AACA,eAAQA,KAAK,GAAGo7O,WAAW,CAACh4O,IAArB,GACHkuP,oBAAoB,CAAC7mL,aAAD,EAAgBjyN,KAAhB,EAAuBwnJ,KAAvB,CADjB,GAEHuxP,8BAA8B,CAAC/O,KAAD,EAAQhqY,KAAR,EAAewnJ,KAAf,EAAsByqE,aAAtB,CAFlC;AAGH;;AACD,UAAI;AACA,cAAM/rN,KAAK,GAAG0xY,SAAS,CAACpwP,KAAD,CAAvB;;AACA,YAAIthJ,KAAK,IAAI,IAAT,IAAiB,EAAEshJ,KAAK,GAAGo7O,WAAW,CAAC5sM,QAAtB,CAArB,EAAsD;AAClDoqM,UAAAA,0BAA0B,CAACpgY,KAAD,CAA1B;AACH,SAFD,MAGK;AACD,iBAAOkG,KAAP;AACH;AACJ,OARD,SASQ;AACJusY,QAAAA,OAAO;AACV;AACJ,KApBD,MAqBK,IAAI,OAAOmF,SAAP,KAAqB,QAAzB,EAAmC;AACpC;AACA;AACA;AACA,UAAIyB,aAAa,GAAG,IAApB;AACA,UAAIvN,aAAa,GAAGkM,gBAAgB,CAACnU,KAAD,EAAQmG,KAAR,CAApC;AACA,UAAI6M,cAAc,GAAG7B,kBAArB;AACA,UAAIsE,gBAAgB,GAAG9xP,KAAK,GAAGo7O,WAAW,CAACh4O,IAApB,GAA2Bo/O,KAAK,CAACtB,0BAAD,CAAL,CAAkCV,MAAlC,CAA3B,GAAuE,IAA9F,CAPoC,CAQpC;AACA;;AACA,UAAI8D,aAAa,KAAK,CAAC,CAAnB,IAAwBtkP,KAAK,GAAGo7O,WAAW,CAACrwK,QAAhD,EAA0D;AACtDskL,QAAAA,cAAc,GAAG/K,aAAa,KAAK,CAAC,CAAnB,GAAuBsM,yBAAyB,CAACvU,KAAD,EAAQmG,KAAR,CAAhD,GACbA,KAAK,CAAC8B,aAAa,GAAG;AAAE;AAAnB,SADT;;AAEA,YAAI+K,cAAc,KAAK7B,kBAAnB,IAAyC,CAACuE,kBAAkB,CAAC/xP,KAAD,EAAQ,KAAR,CAAhE,EAAgF;AAC5EskP,UAAAA,aAAa,GAAG,CAAC,CAAjB;AACH,SAFD,MAGK;AACDuN,UAAAA,aAAa,GAAGrP,KAAK,CAACrC,KAAD,CAArB;AACAmE,UAAAA,aAAa,GAAGgL,sBAAsB,CAACD,cAAD,CAAtC;AACA7M,UAAAA,KAAK,GAAGiN,qBAAqB,CAACJ,cAAD,EAAiB7M,KAAjB,CAA7B;AACH;AACJ,OArBmC,CAsBpC;AACA;;;AACA,aAAO8B,aAAa,KAAK,CAAC,CAA1B,EAA6B;AACzBn5M,QAAAA,SAAS,IAAIk5M,kBAAkB,CAAC7B,KAAD,EAAQ8B,aAAR,CAA/B,CADyB,CAEzB;;AACA,cAAMhI,KAAK,GAAGkG,KAAK,CAACrC,KAAD,CAAnB;AACAh1M,QAAAA,SAAS,IACLo3M,mBAAmB,CAACjG,KAAK,CAACpnY,IAAN,CAAWovY,aAAa,GAAG;AAAE;AAA7B,SAAD,EAA4C9B,KAA5C,CADvB;;AAEA,YAAIwP,aAAa,CAAC5B,SAAD,EAAY9L,aAAZ,EAA2BhI,KAAK,CAACpnY,IAAjC,CAAjB,EAAyD;AACrD;AACA;AACA;AACA,gBAAM0yC,QAAQ,GAAGqqW,sBAAsB,CAAC3N,aAAD,EAAgB9B,KAAhB,EAAuBhqY,KAAvB,EAA8Bq5Y,aAA9B,EAA6C7xP,KAA7C,EAAoD8xP,gBAApD,CAAvC;;AACA,cAAIlqW,QAAQ,KAAKsqW,SAAjB,EAA4B;AACxB,mBAAOtqW,QAAP;AACH;AACJ;;AACDynW,QAAAA,cAAc,GAAG7M,KAAK,CAAC8B,aAAa,GAAG;AAAE;AAAnB,SAAtB;;AACA,YAAI+K,cAAc,KAAK7B,kBAAnB,IACAuE,kBAAkB,CAAC/xP,KAAD,EAAQwiP,KAAK,CAACrC,KAAD,CAAL,CAAajrY,IAAb,CAAkBovY,aAAa,GAAG;AAAE;AAApC,cAAqDwN,gBAA7D,CADlB,IAEAE,aAAa,CAAC5B,SAAD,EAAY9L,aAAZ,EAA2B9B,KAA3B,CAFjB,EAEoD;AAChD;AACA;AACAqP,UAAAA,aAAa,GAAGvV,KAAhB;AACAgI,UAAAA,aAAa,GAAGgL,sBAAsB,CAACD,cAAD,CAAtC;AACA7M,UAAAA,KAAK,GAAGiN,qBAAqB,CAACJ,cAAD,EAAiB7M,KAAjB,CAA7B;AACH,SARD,MASK;AACD;AACA;AACA;AACA8B,UAAAA,aAAa,GAAG,CAAC,CAAjB;AACH;AACJ;AACJ;AACJ;;AACD,SAAOiN,8BAA8B,CAAC/O,KAAD,EAAQhqY,KAAR,EAAewnJ,KAAf,EAAsByqE,aAAtB,CAArC;AACH;;AACD,MAAMynL,SAAS,GAAG,EAAlB;;AACA,SAASC,kBAAT,GAA8B;AAC1B,SAAO,IAAIC,YAAJ,CAAiB5J,eAAe,EAAhC,EAAoCL,QAAQ,EAA5C,CAAP;AACH;;AACD,SAAS8J,sBAAT,CAAgC3N,aAAhC,EAA+C9B,KAA/C,EAAsDhqY,KAAtD,EAA6Dq5Y,aAA7D,EAA4E7xP,KAA5E,EAAmF8xP,gBAAnF,EAAqG;AACjG,QAAMO,YAAY,GAAG7P,KAAK,CAACrC,KAAD,CAA1B;AACA,QAAM9D,KAAK,GAAGgW,YAAY,CAACn9Y,IAAb,CAAkBovY,aAAa,GAAG;AAAE;AAApC,GAAd,CAFiG,CAGjG;AACA;;AACA,QAAMgO,sBAAsB,GAAGT,aAAa,IAAI,IAAjB,GAC3B;AACA;AACA;AACA;AACA;AACA;AACA;AACC1P,EAAAA,eAAe,CAAC9F,KAAD,CAAf,IAA0BwT,oBARA,GAS3B;AACA;AACA;AACA;AACA;AACA;AACCgC,EAAAA,aAAa,IAAIQ,YAAjB,IAAkC,CAAChW,KAAK,CAAC9nY,IAAN,GAAa;AAAE;AAAhB,QAAoC,CAf3E,CALiG,CAqBjG;AACA;;AACA,QAAMg+Y,iBAAiB,GAAIvyP,KAAK,GAAGo7O,WAAW,CAACh4O,IAArB,IAA8B0uP,gBAAgB,KAAKzV,KAA7E;AACA,QAAMmW,aAAa,GAAGC,yBAAyB,CAACpW,KAAD,EAAQgW,YAAR,EAAsB75Y,KAAtB,EAA6B85Y,sBAA7B,EAAqDC,iBAArD,CAA/C;;AACA,MAAIC,aAAa,KAAK,IAAtB,EAA4B;AACxB,WAAOE,iBAAiB,CAAClQ,KAAD,EAAQ6P,YAAR,EAAsBG,aAAtB,EAAqCnW,KAArC,CAAxB;AACH,GAFD,MAGK;AACD,WAAO6V,SAAP;AACH;AACJ;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASO,yBAAT,CAAmCpW,KAAnC,EAA0CC,KAA1C,EAAiD9jY,KAAjD,EAAwD85Y,sBAAxD,EAAgFC,iBAAhF,EAAmG;AAC/F,QAAMI,mBAAmB,GAAGtW,KAAK,CAACuW,eAAlC;AACA,QAAMC,YAAY,GAAGvW,KAAK,CAACpnY,IAA3B;AACA,QAAM49Y,gBAAgB,GAAGH,mBAAmB,GAAG;AAAQ;AAAvD;AACA,QAAMI,eAAe,GAAG1W,KAAK,CAAC8P,cAA9B;AACA,QAAMC,YAAY,GAAG/P,KAAK,CAAC+P,YAA3B;AACA,QAAM4G,qBAAqB,GAAGL,mBAAmB,IAAI;AAAG;AAAxD;AACA,QAAMM,aAAa,GAAGX,sBAAsB,GAAGQ,gBAAH,GAAsBA,gBAAgB,GAAGE,qBAArF,CAP+F,CAQ/F;;AACA,QAAMpwQ,QAAQ,GAAG2vQ,iBAAiB,GAAGO,gBAAgB,GAAGE,qBAAtB,GAA8C5G,YAAhF;;AACA,OAAK,IAAI16Y,CAAC,GAAGuhZ,aAAb,EAA4BvhZ,CAAC,GAAGkxI,QAAhC,EAA0ClxI,CAAC,EAA3C,EAA+C;AAC3C,UAAMwhZ,kBAAkB,GAAGL,YAAY,CAACnhZ,CAAD,CAAvC;;AACA,QAAIA,CAAC,GAAGqhZ,eAAJ,IAAuBv6Y,KAAK,KAAK06Y,kBAAjC,IACAxhZ,CAAC,IAAIqhZ,eAAL,IAAwBG,kBAAkB,CAAC3+Y,IAAnB,KAA4BiE,KADxD,EAC+D;AAC3D,aAAO9G,CAAP;AACH;AACJ;;AACD,MAAI6gZ,iBAAJ,EAAuB;AACnB,UAAMY,MAAM,GAAGN,YAAY,CAACE,eAAD,CAA3B;;AACA,QAAII,MAAM,IAAI9Q,cAAc,CAAC8Q,MAAD,CAAxB,IAAoCA,MAAM,CAAC5+Y,IAAP,KAAgBiE,KAAxD,EAA+D;AAC3D,aAAOu6Y,eAAP;AACH;AACJ;;AACD,SAAO,IAAP;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASL,iBAAT,CAA2BlQ,KAA3B,EAAkClG,KAAlC,EAAyCrsR,KAAzC,EAAgDosR,KAAhD,EAAuD;AACnD,MAAI39X,KAAK,GAAG8jY,KAAK,CAACvyR,KAAD,CAAjB;AACA,QAAM+5R,KAAK,GAAG1N,KAAK,CAACpnY,IAApB;;AACA,MAAI64Y,SAAS,CAACrvY,KAAD,CAAb,EAAsB;AAClB,UAAMihM,OAAO,GAAGjhM,KAAhB;;AACA,QAAIihM,OAAO,CAACiuM,SAAZ,EAAuB;AACnBtV,MAAAA,0BAA0B,CAACD,iBAAiB,CAAC2R,KAAK,CAAC/5R,KAAD,CAAN,CAAlB,CAA1B;AACH;;AACD,UAAMmjS,4BAA4B,GAAGtD,uBAAuB,CAACnwM,OAAO,CAACkuM,mBAAT,CAA5D;AACAluM,IAAAA,OAAO,CAACiuM,SAAR,GAAoB,IAApB;AACA,UAAM8D,4BAA4B,GAAG/xM,OAAO,CAACmuM,UAAR,GAAqBvS,uBAAuB,CAAC57L,OAAO,CAACmuM,UAAT,CAA5C,GAAmE,IAAxG;AACA,UAAMnoW,OAAO,GAAG0kW,OAAO,CAAC7H,KAAD,EAAQnG,KAAR,EAAejB,WAAW,CAAC7yI,OAA3B,CAAvB;AACAp9D,IAAAA,SAAS,IACLsuM,WAAW,CAAC9zV,OAAD,EAAU,IAAV,EAAgB,6EAAhB,CADf;;AAEA,QAAI;AACAjnC,MAAAA,KAAK,GAAG8jY,KAAK,CAACvyR,KAAD,CAAL,GAAe0vF,OAAO,CAACA,OAAR,CAAgBpgC,SAAhB,EAA2ByqO,KAA3B,EAAkCxH,KAAlC,EAAyCnG,KAAzC,CAAvB,CADA,CAEA;AACA;AACA;AACA;AACA;AACA;;AACA,UAAIC,KAAK,CAACF,eAAN,IAAyBnsR,KAAK,IAAIosR,KAAK,CAAC8P,cAA5C,EAA4D;AACxDhhN,QAAAA,SAAS,IAAIy4M,kBAAkB,CAACoG,KAAK,CAAC/5R,KAAD,CAAN,CAA/B;AACA67R,QAAAA,qBAAqB,CAAC77R,KAAD,EAAQ+5R,KAAK,CAAC/5R,KAAD,CAAb,EAAsBqsR,KAAtB,CAArB;AACH;AACJ,KAZD,SAaQ;AACJoV,MAAAA,4BAA4B,KAAK,IAAjC,IACInW,uBAAuB,CAACmW,4BAAD,CAD3B;AAEA5B,MAAAA,uBAAuB,CAACsD,4BAAD,CAAvB;AACAzzM,MAAAA,OAAO,CAACiuM,SAAR,GAAoB,KAApB;AACA3C,MAAAA,OAAO;AACV;AACJ;;AACD,SAAOvsY,KAAP;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASkzY,qBAAT,CAA+Bp5Y,KAA/B,EAAsC;AAClC2yL,EAAAA,SAAS,IAAI8uM,aAAa,CAACzhY,KAAD,EAAQ,uBAAR,CAA1B;;AACA,MAAI,OAAOA,KAAP,KAAiB,QAArB,EAA+B;AAC3B,WAAOA,KAAK,CAAC8xH,UAAN,CAAiB,CAAjB,KAAuB,CAA9B;AACH;;AACD,QAAM+oR,OAAO,GACb;AACA76Y,EAAAA,KAAK,CAACkqB,cAAN,CAAqBu7W,aAArB,IAAsCzlY,KAAK,CAACylY,aAAD,CAA3C,GAA6D1+N,SAF7D,CALkC,CAQlC;;AACA,MAAI,OAAO8zO,OAAP,KAAmB,QAAvB,EAAiC;AAC7B,QAAIA,OAAO,IAAI,CAAf,EAAkB;AACd,aAAOA,OAAO,GAAGrD,UAAjB;AACH,KAFD,MAGK;AACD7kN,MAAAA,SAAS,IACLsuM,WAAW,CAAC4Z,OAAD,EAAU,CAAC;AAAE;AAAb,QAA6B,sCAA7B,CADf;AAEA,aAAOlB,kBAAP;AACH;AACJ,GATD,MAUK;AACD,WAAOkB,OAAP;AACH;AACJ;;AACD,SAASrB,aAAT,CAAuB5B,SAAvB,EAAkC9L,aAAlC,EAAiDgP,YAAjD,EAA+D;AAC3D;AACA;AACA;AACA,QAAMjD,IAAI,GAAG,KAAKD,SAAlB,CAJ2D,CAK3D;AACA;AACA;;AACA,QAAM1xY,KAAK,GAAG40Y,YAAY,CAAChP,aAAa,IAAI8L,SAAS,IAAIH,iBAAjB,CAAd,CAA1B,CAR2D,CAS3D;AACA;;AACA,SAAO,CAAC,EAAEvxY,KAAK,GAAG2xY,IAAV,CAAR;AACH;AACD;;;AACA,SAAS0B,kBAAT,CAA4B/xP,KAA5B,EAAmCuzP,gBAAnC,EAAqD;AACjD,SAAO,EAAEvzP,KAAK,GAAGo7O,WAAW,CAACoW,IAAtB,KAA+B,EAAExxP,KAAK,GAAGo7O,WAAW,CAACh4O,IAApB,IAA4BmwP,gBAA9B,CAAtC;AACH;;AACD,MAAMnB,YAAN,CAAmB;AACf3+Y,EAAAA,WAAW,CAAC+/Y,MAAD,EAASC,MAAT,EAAiB;AACxB,SAAKD,MAAL,GAAcA,MAAd;AACA,SAAKC,MAAL,GAAcA,MAAd;AACH;;AACD3oY,EAAAA,GAAG,CAACtS,KAAD,EAAQiyN,aAAR,EAAuBzqE,KAAvB,EAA8B;AAC7B,WAAO2xP,qBAAqB,CAAC,KAAK6B,MAAN,EAAc,KAAKC,MAAnB,EAA2Bj7Y,KAA3B,EAAkCwnJ,KAAlC,EAAyCyqE,aAAzC,CAA5B;AACH;;AAPc;AASnB;AACA;AACA;;;AACA,SAASipL,qBAAT,CAA+Bn/Y,IAA/B,EAAqC;AACjC,SAAOonY,aAAa,CAAC,MAAM;AACvB,UAAMgY,cAAc,GAAGp/Y,IAAI,CAAC4E,SAAL,CAAe1F,WAAtC;AACA,UAAMmgZ,UAAU,GAAGD,cAAc,CAAC3V,cAAD,CAAd,IAAkC6V,YAAY,CAACF,cAAD,CAAjE;AACA,UAAMG,eAAe,GAAGzoY,MAAM,CAAClS,SAA/B;AACA,QAAI9E,MAAM,GAAGgX,MAAM,CAACosO,cAAP,CAAsBljP,IAAI,CAAC4E,SAA3B,EAAsC1F,WAAnD,CAJuB,CAKvB;;AACA,WAAOY,MAAM,IAAIA,MAAM,KAAKy/Y,eAA5B,EAA6C;AACzC,YAAMn0M,OAAO,GAAGtrM,MAAM,CAAC2pY,cAAD,CAAN,IAA0B6V,YAAY,CAACx/Y,MAAD,CAAtD,CADyC,CAEzC;AACA;AACA;AACA;AACA;;AACA,UAAIsrM,OAAO,IAAIA,OAAO,KAAKi0M,UAA3B,EAAuC;AACnC,eAAOj0M,OAAP;AACH;;AACDtrM,MAAAA,MAAM,GAAGgX,MAAM,CAACosO,cAAP,CAAsBpjP,MAAtB,CAAT;AACH,KAjBsB,CAkBvB;AACA;AACA;AACA;;;AACA,WAAOnD,CAAC,IAAI,IAAIA,CAAJ,EAAZ;AACH,GAvBmB,CAApB;AAwBH;;AACD,SAAS2iZ,YAAT,CAAsBt/Y,IAAtB,EAA4B;AACxB,MAAIujY,YAAY,CAACvjY,IAAD,CAAhB,EAAwB;AACpB,WAAO,MAAM;AACT,YAAMorM,OAAO,GAAGk0M,YAAY,CAACnvI,iBAAiB,CAACnwQ,IAAD,CAAlB,CAA5B;AACA,aAAOorM,OAAO,IAAIA,OAAO,EAAzB;AACH,KAHD;AAIH;;AACD,SAAO4kM,aAAa,CAAChwY,IAAD,CAApB;AACH;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASw/Y,iBAAT,CAA2B3C,gBAA3B,EAA6C;AACzC,SAAOD,mBAAmB,CAAC3I,eAAe,EAAhB,EAAoB4I,gBAApB,CAA1B;AACH;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,MAAM4C,WAAW,GAAG,iBAApB;AACA,MAAMC,UAAU,GAAG,gBAAnB;AACA,MAAMC,aAAa,GAAG,oBAAtB;AACA;AACA;AACA;;AACA,SAASC,aAAT,CAAuB/oY,IAAvB,EAA6B04I,KAA7B,EAAoCswP,WAApC,EAAiDC,oBAAjD,EAAuEC,MAAvE,EAA+E;AAC3E,SAAO3Y,aAAa,CAAC,MAAM;AACvB,UAAM4Y,QAAQ,GAAGC,gBAAgB,CAAC1wP,KAAD,CAAjC;;AACA,aAAS2wP,gBAAT,CAA0B,GAAG1hP,IAA7B,EAAmC;AAC/B,UAAI,gBAAgB0hP,gBAApB,EAAsC;AAClCF,QAAAA,QAAQ,CAACroY,IAAT,CAAc,IAAd,EAAoB,GAAG6mJ,IAAvB;AACA,eAAO,IAAP;AACH;;AACD,YAAM2hP,kBAAkB,GAAG,IAAID,gBAAJ,CAAqB,GAAG1hP,IAAxB,CAA3B;AACA,aAAO,SAAS4hP,aAAT,CAAuBC,GAAvB,EAA4B;AAC/B,YAAIN,MAAJ,EACIA,MAAM,CAACM,GAAD,EAAM,GAAG7hP,IAAT,CAAN,CAF2B,CAG/B;AACA;;AACA,cAAMg8H,WAAW,GAAG6lH,GAAG,CAAClyX,cAAJ,CAAmBsxX,WAAnB,IAChBY,GAAG,CAACZ,WAAD,CADa,GAEhB3oY,MAAM,CAACI,cAAP,CAAsBmpY,GAAtB,EAA2BZ,WAA3B,EAAwC;AAAEt1Y,UAAAA,KAAK,EAAE;AAAT,SAAxC,EAAuDs1Y,WAAvD,CAFJ;AAGAjlH,QAAAA,WAAW,CAACj5R,IAAZ,CAAiB4+Y,kBAAjB;AACA,YAAIL,oBAAJ,EACIA,oBAAoB,CAACO,GAAD,CAApB;AACJ,eAAOA,GAAP;AACH,OAZD;AAaH;;AACD,QAAIR,WAAJ,EAAiB;AACbK,MAAAA,gBAAgB,CAACt7Y,SAAjB,GAA6BkS,MAAM,CAACwK,MAAP,CAAcu+X,WAAW,CAACj7Y,SAA1B,CAA7B;AACH;;AACDs7Y,IAAAA,gBAAgB,CAACt7Y,SAAjB,CAA2BywP,cAA3B,GAA4Cx+O,IAA5C;AACAqpY,IAAAA,gBAAgB,CAACI,aAAjB,GAAiCJ,gBAAjC;AACA,WAAOA,gBAAP;AACH,GA5BmB,CAApB;AA6BH;;AACD,SAASD,gBAAT,CAA0B1wP,KAA1B,EAAiC;AAC7B,SAAO,SAASmnJ,IAAT,CAAc,GAAGl4I,IAAjB,EAAuB;AAC1B,QAAIjP,KAAJ,EAAW;AACP,YAAM5zG,MAAM,GAAG4zG,KAAK,CAAC,GAAGiP,IAAJ,CAApB;;AACA,WAAK,MAAM3D,QAAX,IAAuBl/G,MAAvB,EAA+B;AAC3B,aAAKk/G,QAAL,IAAiBl/G,MAAM,CAACk/G,QAAD,CAAvB;AACH;AACJ;AACJ,GAPD;AAQH;;AACD,SAAS0lP,kBAAT,CAA4B1pY,IAA5B,EAAkC04I,KAAlC,EAAyCswP,WAAzC,EAAsD;AAClD,SAAOzY,aAAa,CAAC,MAAM;AACvB,UAAM4Y,QAAQ,GAAGC,gBAAgB,CAAC1wP,KAAD,CAAjC;;AACA,aAASixP,qBAAT,CAA+B,GAAGhiP,IAAlC,EAAwC;AACpC,UAAI,gBAAgBgiP,qBAApB,EAA2C;AACvCR,QAAAA,QAAQ,CAAC1oY,KAAT,CAAe,IAAf,EAAqBknJ,IAArB;AACA,eAAO,IAAP;AACH;;AACD,YAAM2hP,kBAAkB,GAAG,IAAIK,qBAAJ,CAA0B,GAAGhiP,IAA7B,CAA3B;AACAiiP,MAAAA,cAAc,CAACn4C,UAAf,GAA4B63C,kBAA5B;AACA,aAAOM,cAAP;;AACA,eAASA,cAAT,CAAwBJ,GAAxB,EAA6BK,SAA7B,EAAwChlS,KAAxC,EAA+C;AAC3C;AACA;AACA,cAAMp2B,UAAU,GAAG+6T,GAAG,CAAClyX,cAAJ,CAAmBuxX,UAAnB,IACfW,GAAG,CAACX,UAAD,CADY,GAEf5oY,MAAM,CAACI,cAAP,CAAsBmpY,GAAtB,EAA2BX,UAA3B,EAAuC;AAAEv1Y,UAAAA,KAAK,EAAE;AAAT,SAAvC,EAAsDu1Y,UAAtD,CAFJ,CAH2C,CAM3C;AACA;;AACA,eAAOp6T,UAAU,CAACh7E,MAAX,IAAqBoxG,KAA5B,EAAmC;AAC/Bp2B,UAAAA,UAAU,CAAC/jF,IAAX,CAAgB,IAAhB;AACH;;AACD,SAAC+jF,UAAU,CAACo2B,KAAD,CAAV,GAAoBp2B,UAAU,CAACo2B,KAAD,CAAV,IAAqB,EAA1C,EAA8Cn6G,IAA9C,CAAmD4+Y,kBAAnD;AACA,eAAOE,GAAP;AACH;AACJ;;AACD,QAAIR,WAAJ,EAAiB;AACbW,MAAAA,qBAAqB,CAAC57Y,SAAtB,GAAkCkS,MAAM,CAACwK,MAAP,CAAcu+X,WAAW,CAACj7Y,SAA1B,CAAlC;AACH;;AACD47Y,IAAAA,qBAAqB,CAAC57Y,SAAtB,CAAgCywP,cAAhC,GAAiDx+O,IAAjD;AACA2pY,IAAAA,qBAAqB,CAACF,aAAtB,GAAsCE,qBAAtC;AACA,WAAOA,qBAAP;AACH,GA/BmB,CAApB;AAgCH;;AACD,SAASG,iBAAT,CAA2B9pY,IAA3B,EAAiC04I,KAAjC,EAAwCswP,WAAxC,EAAqDC,oBAArD,EAA2E;AACvE,SAAO1Y,aAAa,CAAC,MAAM;AACvB,UAAM4Y,QAAQ,GAAGC,gBAAgB,CAAC1wP,KAAD,CAAjC;;AACA,aAASqxP,oBAAT,CAA8B,GAAGpiP,IAAjC,EAAuC;AACnC,UAAI,gBAAgBoiP,oBAApB,EAA0C;AACtCZ,QAAAA,QAAQ,CAAC1oY,KAAT,CAAe,IAAf,EAAqBknJ,IAArB;AACA,eAAO,IAAP;AACH;;AACD,YAAMqiP,iBAAiB,GAAG,IAAID,oBAAJ,CAAyB,GAAGpiP,IAA5B,CAA1B;;AACA,eAASsiP,aAAT,CAAuBp8Y,MAAvB,EAA+BmS,IAA/B,EAAqC;AACjC,cAAM3X,WAAW,GAAGwF,MAAM,CAACxF,WAA3B,CADiC,CAEjC;AACA;;AACA,cAAM49Q,IAAI,GAAG59Q,WAAW,CAACivB,cAAZ,CAA2BwxX,aAA3B,IACTzgZ,WAAW,CAACygZ,aAAD,CADF,GAET7oY,MAAM,CAACI,cAAP,CAAsBhY,WAAtB,EAAmCygZ,aAAnC,EAAkD;AAAEx1Y,UAAAA,KAAK,EAAE;AAAT,SAAlD,EAAiEw1Y,aAAjE,CAFJ;AAGA7iI,QAAAA,IAAI,CAACjmQ,IAAD,CAAJ,GAAaimQ,IAAI,CAAC3uP,cAAL,CAAoBtX,IAApB,KAA6BimQ,IAAI,CAACjmQ,IAAD,CAAjC,IAA2C,EAAxD;AACAimQ,QAAAA,IAAI,CAACjmQ,IAAD,CAAJ,CAAWwnB,OAAX,CAAmBwiX,iBAAnB;AACA,YAAIf,oBAAJ,EACIA,oBAAoB,CAACp7Y,MAAD,EAASmS,IAAT,EAAe,GAAG2nJ,IAAlB,CAApB;AACP;;AACD,aAAOsiP,aAAP;AACH;;AACD,QAAIjB,WAAJ,EAAiB;AACbe,MAAAA,oBAAoB,CAACh8Y,SAArB,GAAiCkS,MAAM,CAACwK,MAAP,CAAcu+X,WAAW,CAACj7Y,SAA1B,CAAjC;AACH;;AACDg8Y,IAAAA,oBAAoB,CAACh8Y,SAArB,CAA+BywP,cAA/B,GAAgDx+O,IAAhD;AACA+pY,IAAAA,oBAAoB,CAACN,aAArB,GAAqCM,oBAArC;AACA,WAAOA,oBAAP;AACH,GA5BmB,CAApB;AA6BH;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASG,oCAAT,GAAgD;AAC5C,SAAOR,kBAAkB,CAAC,WAAD,EAAejtJ,aAAD,KAAoB;AAAEA,IAAAA;AAAF,GAApB,CAAd,CAAzB;AACH;;AACD,SAAS0tJ,qCAAT,GAAiD;AAC7C,SAAOT,kBAAkB,CAAC,WAAD,EAAejtJ,aAAD,KAAoB;AAAEA,IAAAA,aAAF;AAAiBq2I,IAAAA,iBAAiB,EAAE,MAAM6V,iBAAiB,CAAClsJ,aAAD;AAA3D,GAApB,CAAd,CAAzB;AACH;;AACD,MAAM2tJ,+BAA+B,GAAGD,qCAAxC;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,MAAM7+K,SAAS,GAAG8+K,+BAA+B,EAAjD;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,MAAMjnN,cAAN,CAAqB;AACjB;AACJ;AACA;AACA;AACA;AACA;AACI96L,EAAAA,WAAW,CAACk0P,KAAD,EAAQ9kO,OAAR,EAAiB;AACxB,SAAK8kO,KAAL,GAAaA,KAAb;AACA;;AACA,SAAKiC,cAAL,GAAsB,gBAAtB;AACA,SAAKznF,KAAL,GAAa5C,SAAb;;AACA,QAAI,OAAO18I,OAAP,IAAkB,QAAtB,EAAgC;AAC5B,OAAC,OAAOsoK,SAAP,KAAqB,WAArB,IAAoCA,SAArC,KACI2uM,cAAc,CAACj3W,OAAD,EAAU,CAAV,EAAa,0CAAb,CADlB,CAD4B,CAG5B;AACA;;AACA,WAAKq7W,iBAAL,GAAyBr7W,OAAzB;AACH,KAND,MAOK,IAAIA,OAAO,KAAK08I,SAAhB,EAA2B;AAC5B,WAAK4C,KAAL,GAAa40D,kBAAkB,CAAC;AAC5Bv+N,QAAAA,KAAK,EAAE,IADqB;AAE5Bg7L,QAAAA,UAAU,EAAE3wK,OAAO,CAAC2wK,UAAR,IAAsB,MAFN;AAG5BmM,QAAAA,OAAO,EAAE98K,OAAO,CAAC88K;AAHW,OAAD,CAA/B;AAKH;AACJ;;AACDzrM,EAAAA,QAAQ,GAAG;AACP,WAAQ,kBAAiB,KAAKyzP,KAAM,EAApC;AACH;;AA7BgB;AAgCrB;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,MAAMkuC,4BAA4B,GAAG,IAAItnG,cAAJ,CAAmB,2BAAnB,CAArC,EACA;AACA;;AACA,MAAMu5D,mCAAmC,GAAG,IAA5C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,MAAM2tJ,KAAN,CAAY;AAEZ;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,MAAMC,eAAe,GAAGR,iBAAiB,CAAC,iBAAD,EAAoB,CAACj1O,QAAD,EAAW/qK,IAAI,GAAG,EAAlB,MAA0B;AACnF+qK,EAAAA,QADmF;AAEnF5hE,EAAAA,KAAK,EAAE,KAF4E;AAGnF2pJ,EAAAA,WAAW,EAAE,KAHsE;AAInFC,EAAAA,WAAW,EAAE,KAJsE;AAKnFC,EAAAA,uBAAuB,EAAEJ,mCAL0D;AAMnF,KAAG5yP;AANgF,CAA1B,CAApB,EAOrCugZ,KAPqC,CAAzC;AAQA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,MAAME,YAAY,GAAGT,iBAAiB,CAAC,cAAD,EAAiB,CAACj1O,QAAD,EAAW/qK,IAAI,GAAG,EAAlB,MAA0B;AAAE+qK,EAAAA,QAAF;AAAY5hE,EAAAA,KAAK,EAAE,IAAnB;AAAyB2pJ,EAAAA,WAAW,EAAE,KAAtC;AAA6CC,EAAAA,WAAW,EAAE,IAA1D;AAAgE,KAAG/yP;AAAnE,CAA1B,CAAjB,EAAuHugZ,KAAvH,CAAtC;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,MAAMG,YAAY,GAAGV,iBAAiB,CAAC,cAAD,EAAiB,CAACj1O,QAAD,EAAW/qK,IAAI,GAAG,EAAlB,MAA0B;AAC7E+qK,EAAAA,QAD6E;AAE7E5hE,EAAAA,KAAK,EAAE,KAFsE;AAG7E2pJ,EAAAA,WAAW,EAAE,IAHgE;AAI7EC,EAAAA,WAAW,EAAE,IAJgE;AAK7EC,EAAAA,uBAAuB,EAAEJ,mCALoD;AAM7E,KAAG5yP;AAN0E,CAA1B,CAAjB,EAOlCugZ,KAPkC,CAAtC;AAQA;AACA;AACA;AACA;AACA;AACA;;AACA,MAAM3qL,SAAS,GAAGoqL,iBAAiB,CAAC,WAAD,EAAc,CAACj1O,QAAD,EAAW/qK,IAAX,MAAqB;AAAE+qK,EAAAA,QAAF;AAAY5hE,EAAAA,KAAK,EAAE,IAAnB;AAAyB2pJ,EAAAA,WAAW,EAAE,IAAtC;AAA4CC,EAAAA,WAAW,EAAE,IAAzD;AAA+D,KAAG/yP;AAAlE,CAArB,CAAd,EAA8GugZ,KAA9G,CAAnC;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,IAAInwI,aAAJ;;AACA,CAAC,UAAUA,aAAV,EAAyB;AACtBA,EAAAA,aAAa,CAACA,aAAa,CAAC,WAAD,CAAb,GAA6B,CAA9B,CAAb,GAAgD,WAAhD;AACAA,EAAAA,aAAa,CAACA,aAAa,CAAC,WAAD,CAAb,GAA6B,CAA9B,CAAb,GAAgD,WAAhD;AACAA,EAAAA,aAAa,CAACA,aAAa,CAAC,YAAD,CAAb,GAA8B,CAA/B,CAAb,GAAiD,YAAjD;AACAA,EAAAA,aAAa,CAACA,aAAa,CAAC,MAAD,CAAb,GAAwB,CAAzB,CAAb,GAA2C,MAA3C;AACAA,EAAAA,aAAa,CAACA,aAAa,CAAC,UAAD,CAAb,GAA4B,CAA7B,CAAb,GAA+C,UAA/C;AACH,CAND,EAMGA,aAAa,KAAKA,aAAa,GAAG,EAArB,CANhB;;AAOA,IAAI16C,iBAAJ;;AACA,CAAC,UAAUA,iBAAV,EAA6B;AAC1BA,EAAAA,iBAAiB,CAACA,iBAAiB,CAAC,UAAD,CAAjB,GAAgC,CAAjC,CAAjB,GAAuD,UAAvD,CAD0B,CAE1B;;AACAA,EAAAA,iBAAiB,CAACA,iBAAiB,CAAC,MAAD,CAAjB,GAA4B,CAA7B,CAAjB,GAAmD,MAAnD;AACAA,EAAAA,iBAAiB,CAACA,iBAAiB,CAAC,WAAD,CAAjB,GAAiC,CAAlC,CAAjB,GAAwD,WAAxD;AACH,CALD,EAKGA,iBAAiB,KAAKA,iBAAiB,GAAG,EAAzB,CALpB;AAOA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASirL,iBAAT,CAA2Bz/X,OAA3B,EAAoC;AAChC,QAAM0/X,QAAQ,GAAGnsI,OAAO,CAAC,IAAD,CAAxB;;AACA,MAAImsI,QAAQ,IAAIA,QAAQ,CAACpuD,eAAzB,EAA0C;AACtC,WAAOouD,QAAQ,CAACpuD,eAAhB;AACH;;AACD,MAAI,OAAOv8J,SAAP,KAAqB,WAArB,IAAoCA,SAAxC,EAAmD;AAC/C;AACA;AACA7oJ,IAAAA,OAAO,CAAC7tC,KAAR,CAAe,8BAA6B2hB,OAAO,CAAC+jG,IAAK,EAAzD,EAA4D/jG,OAAO,CAAC7hB,IAApE;AACA,QAAI8tB,OAAO,GAAI,OAAMjM,OAAO,CAAC+jG,IAAK,KAAI/jG,OAAO,CACxC7hB,IADiC,CAC5B6W,IAAK,8FADf;;AAEA,QAAIgL,OAAO,CAACmmP,KAAR,KAAkB;AAAE;AAAxB,MAAkD;AAC9Cl6O,MAAAA,OAAO,IAAK,OAAMjM,OAAO,CAAC+jG,IAAK,2DAA/B;AACA93F,MAAAA,OAAO,IACF,4GADL;AAEAA,MAAAA,OAAO,IAAI,IAAX;AACAA,MAAAA,OAAO,IACF,4FADL;AAEH,KAPD,MAQK;AACDA,MAAAA,OAAO,IACF,6FADL;AAEH;;AACDA,IAAAA,OAAO,IACF,8IADL;AAEAA,IAAAA,OAAO,IACF,2FADL;AAEA,UAAM,IAAI/V,KAAJ,CAAU+V,OAAV,CAAN;AACH,GAvBD,MAwBK;AACD,UAAM,IAAI/V,KAAJ,CAAU,0BAAV,CAAN;AACH;AACJ;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,MAAM66B,IAAI,GAAGsiN,QAAb;;AACA,SAASssJ,MAAT,CAAgBxiZ,CAAhB,EAAmB;AACf,SAAO,OAAOA,CAAP,KAAa,UAApB;AACH;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASyiZ,aAAT,CAAuB/iY,KAAvB,EAA8BsyJ,GAA9B,EAAmC;AAC/B,OAAK,IAAI7zK,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGuhB,KAAK,CAACpU,MAA1B,EAAkCnN,CAAC,EAAnC,EAAuC;AACnC6zK,IAAAA,GAAG,CAACzvK,IAAJ,CAASmd,KAAK,CAACvhB,CAAD,CAAd;AACH;AACJ;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASukZ,WAAT,CAAqB3kZ,CAArB,EAAwBuB,CAAxB,EAA2BqjZ,gBAA3B,EAA6C;AACzC,MAAI5kZ,CAAC,CAACuN,MAAF,KAAahM,CAAC,CAACgM,MAAnB,EACI,OAAO,KAAP;;AACJ,OAAK,IAAInN,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGJ,CAAC,CAACuN,MAAtB,EAA8BnN,CAAC,EAA/B,EAAmC;AAC/B,QAAIykZ,MAAM,GAAG7kZ,CAAC,CAACI,CAAD,CAAd;AACA,QAAI0kZ,MAAM,GAAGvjZ,CAAC,CAACnB,CAAD,CAAd;;AACA,QAAIwkZ,gBAAJ,EAAsB;AAClBC,MAAAA,MAAM,GAAGD,gBAAgB,CAACC,MAAD,CAAzB;AACAC,MAAAA,MAAM,GAAGF,gBAAgB,CAACE,MAAD,CAAzB;AACH;;AACD,QAAIA,MAAM,KAAKD,MAAf,EAAuB;AACnB,aAAO,KAAP;AACH;AACJ;;AACD,SAAO,IAAP;AACH;AACD;AACA;AACA;;;AACA,SAAS7yT,OAAT,CAAiB20B,IAAjB,EAAuB82R,GAAvB,EAA4B;AACxB,MAAIA,GAAG,KAAKxvO,SAAZ,EACIwvO,GAAG,GAAG92R,IAAN;;AACJ,OAAK,IAAIvmH,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGumH,IAAI,CAACp5G,MAAzB,EAAiCnN,CAAC,EAAlC,EAAsC;AAClC,QAAIkD,IAAI,GAAGqjH,IAAI,CAACvmH,CAAD,CAAf;;AACA,QAAI6F,KAAK,CAACC,OAAN,CAAc5C,IAAd,CAAJ,EAAyB;AACrB;AACA,UAAIm6Y,GAAG,KAAK92R,IAAZ,EAAkB;AACd;AACA;AACA82R,QAAAA,GAAG,GAAG92R,IAAI,CAACn9G,KAAL,CAAW,CAAX,EAAcpJ,CAAd,CAAN;AACH;;AACD4xF,MAAAA,OAAO,CAAC1uF,IAAD,EAAOm6Y,GAAP,CAAP;AACH,KARD,MASK,IAAIA,GAAG,KAAK92R,IAAZ,EAAkB;AACnB82R,MAAAA,GAAG,CAACj5Y,IAAJ,CAASlB,IAAT;AACH;AACJ;;AACD,SAAOm6Y,GAAP;AACH;;AACD,SAASsH,WAAT,CAAqBtwT,KAArB,EAA4B78D,EAA5B,EAAgC;AAC5B68D,EAAAA,KAAK,CAACpwF,OAAN,CAAc+I,KAAK,IAAInH,KAAK,CAACC,OAAN,CAAckH,KAAd,IAAuB23Y,WAAW,CAAC33Y,KAAD,EAAQwqB,EAAR,CAAlC,GAAgDA,EAAE,CAACxqB,KAAD,CAAzE;AACH;;AACD,SAAS43Y,UAAT,CAAoB/wO,GAApB,EAAyBt1D,KAAzB,EAAgCvxG,KAAhC,EAAuC;AACnC;AACA,MAAIuxG,KAAK,IAAIs1D,GAAG,CAAC1mK,MAAjB,EAAyB;AACrB0mK,IAAAA,GAAG,CAACzvK,IAAJ,CAAS4I,KAAT;AACH,GAFD,MAGK;AACD6mK,IAAAA,GAAG,CAACzyJ,MAAJ,CAAWm9F,KAAX,EAAkB,CAAlB,EAAqBvxG,KAArB;AACH;AACJ;;AACD,SAAS63Y,eAAT,CAAyBhxO,GAAzB,EAA8Bt1D,KAA9B,EAAqC;AACjC;AACA,MAAIA,KAAK,IAAIs1D,GAAG,CAAC1mK,MAAJ,GAAa,CAA1B,EAA6B;AACzB,WAAO0mK,GAAG,CAAC94J,GAAJ,EAAP;AACH,GAFD,MAGK;AACD,WAAO84J,GAAG,CAACzyJ,MAAJ,CAAWm9F,KAAX,EAAkB,CAAlB,EAAqB,CAArB,CAAP;AACH;AACJ;;AACD,SAAS25J,QAAT,CAAkBpjP,IAAlB,EAAwB9nB,KAAxB,EAA+B;AAC3B,QAAMu5G,IAAI,GAAG,EAAb;;AACA,OAAK,IAAIvmH,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAG80B,IAApB,EAA0B90B,CAAC,EAA3B,EAA+B;AAC3BumH,IAAAA,IAAI,CAACniH,IAAL,CAAU4I,KAAV;AACH;;AACD,SAAOu5G,IAAP;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASu+R,WAAT,CAAqB16D,KAArB,EAA4B7rO,KAA5B,EAAmC1rE,KAAnC,EAA0C;AACtC,QAAM1lC,MAAM,GAAGi9U,KAAK,CAACj9U,MAAN,GAAe0lC,KAA9B;;AACA,SAAO0rE,KAAK,GAAGpxG,MAAf,EAAuB;AACnBi9U,IAAAA,KAAK,CAAC7rO,KAAD,CAAL,GAAe6rO,KAAK,CAAC7rO,KAAK,GAAG1rE,KAAT,CAApB;AACA0rE,IAAAA,KAAK;AACR;;AACD,SAAO1rE,KAAK,EAAZ,EAAgB;AACZu3S,IAAAA,KAAK,CAACrvU,GAAN,GADY,CACC;AAChB;AACJ;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASgqY,WAAT,CAAqB36D,KAArB,EAA4B7rO,KAA5B,EAAmCvxG,KAAnC,EAA0C;AACtCysL,EAAAA,SAAS,IAAIkuM,qBAAqB,CAACppR,KAAD,EAAQ6rO,KAAK,CAACj9U,MAAd,EAAsB,+BAAtB,CAAlC;AACA,MAAIylE,GAAG,GAAGw3Q,KAAK,CAACj9U,MAAhB;;AACA,SAAOylE,GAAG,GAAG2rC,KAAb,EAAoB;AAChB,UAAMymS,WAAW,GAAGpyU,GAAG,GAAG,CAA1B;AACAw3Q,IAAAA,KAAK,CAACx3Q,GAAD,CAAL,GAAaw3Q,KAAK,CAAC46D,WAAD,CAAlB;AACApyU,IAAAA,GAAG,GAAGoyU,WAAN;AACH;;AACD56D,EAAAA,KAAK,CAAC7rO,KAAD,CAAL,GAAevxG,KAAf;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASi4Y,YAAT,CAAsB76D,KAAtB,EAA6B7rO,KAA7B,EAAoC2mS,MAApC,EAA4Ct9U,MAA5C,EAAoD;AAChD6xH,EAAAA,SAAS,IAAIkuM,qBAAqB,CAACppR,KAAD,EAAQ6rO,KAAK,CAACj9U,MAAd,EAAsB,+BAAtB,CAAlC;AACA,MAAIylE,GAAG,GAAGw3Q,KAAK,CAACj9U,MAAhB;;AACA,MAAIylE,GAAG,IAAI2rC,KAAX,EAAkB;AACd;AACA6rO,IAAAA,KAAK,CAAChmV,IAAN,CAAW8gZ,MAAX,EAAmBt9U,MAAnB;AACH,GAHD,MAIK,IAAIgL,GAAG,KAAK,CAAZ,EAAe;AAChB;AACAw3Q,IAAAA,KAAK,CAAChmV,IAAN,CAAWwjE,MAAX,EAAmBwiR,KAAK,CAAC,CAAD,CAAxB;AACAA,IAAAA,KAAK,CAAC,CAAD,CAAL,GAAW86D,MAAX;AACH,GAJI,MAKA;AACDtyU,IAAAA,GAAG;AACHw3Q,IAAAA,KAAK,CAAChmV,IAAN,CAAWgmV,KAAK,CAACx3Q,GAAG,GAAG,CAAP,CAAhB,EAA2Bw3Q,KAAK,CAACx3Q,GAAD,CAAhC;;AACA,WAAOA,GAAG,GAAG2rC,KAAb,EAAoB;AAChB,YAAMymS,WAAW,GAAGpyU,GAAG,GAAG,CAA1B;AACAw3Q,MAAAA,KAAK,CAACx3Q,GAAD,CAAL,GAAaw3Q,KAAK,CAAC46D,WAAD,CAAlB;AACApyU,MAAAA,GAAG;AACN;;AACDw3Q,IAAAA,KAAK,CAAC7rO,KAAD,CAAL,GAAe2mS,MAAf;AACA96D,IAAAA,KAAK,CAAC7rO,KAAK,GAAG,CAAT,CAAL,GAAmB32C,MAAnB;AACH;AACJ;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASu9U,iBAAT,CAA2B/6D,KAA3B,EAAkCp9U,KAAlC,EAAyC;AACrC,MAAIuxG,KAAK,GAAG6mS,kBAAkB,CAACh7D,KAAD,EAAQp9U,KAAR,CAA9B;;AACA,MAAIuxG,KAAK,GAAG,CAAZ,EAAe;AACX;AACAA,IAAAA,KAAK,GAAG,CAACA,KAAT;AACAwmS,IAAAA,WAAW,CAAC36D,KAAD,EAAQ7rO,KAAR,EAAevxG,KAAf,CAAX;AACH;;AACD,SAAOuxG,KAAP;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAAS8mS,iBAAT,CAA2Bj7D,KAA3B,EAAkCp9U,KAAlC,EAAyC;AACrC,QAAMuxG,KAAK,GAAG6mS,kBAAkB,CAACh7D,KAAD,EAAQp9U,KAAR,CAAhC;;AACA,MAAIuxG,KAAK,IAAI,CAAb,EAAgB;AACZumS,IAAAA,WAAW,CAAC16D,KAAD,EAAQ7rO,KAAR,EAAe,CAAf,CAAX;AACH;;AACD,SAAOA,KAAP;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAAS6mS,kBAAT,CAA4Bh7D,KAA5B,EAAmCp9U,KAAnC,EAA0C;AACtC,SAAOs4Y,mBAAmB,CAACl7D,KAAD,EAAQp9U,KAAR,EAAe,CAAf,CAA1B;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASu4Y,gBAAT,CAA0BC,aAA1B,EAAyCt6Y,GAAzC,EAA8C8B,KAA9C,EAAqD;AACjD,MAAIuxG,KAAK,GAAGknS,oBAAoB,CAACD,aAAD,EAAgBt6Y,GAAhB,CAAhC;;AACA,MAAIqzG,KAAK,IAAI,CAAb,EAAgB;AACZ;AACAinS,IAAAA,aAAa,CAACjnS,KAAK,GAAG,CAAT,CAAb,GAA2BvxG,KAA3B;AACH,GAHD,MAIK;AACDuxG,IAAAA,KAAK,GAAG,CAACA,KAAT;AACA0mS,IAAAA,YAAY,CAACO,aAAD,EAAgBjnS,KAAhB,EAAuBrzG,GAAvB,EAA4B8B,KAA5B,CAAZ;AACH;;AACD,SAAOuxG,KAAP;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASmnS,gBAAT,CAA0BF,aAA1B,EAAyCt6Y,GAAzC,EAA8C;AAC1C,QAAMqzG,KAAK,GAAGknS,oBAAoB,CAACD,aAAD,EAAgBt6Y,GAAhB,CAAlC;;AACA,MAAIqzG,KAAK,IAAI,CAAb,EAAgB;AACZ;AACA,WAAOinS,aAAa,CAACjnS,KAAK,GAAG,CAAT,CAApB;AACH;;AACD,SAAOsvD,SAAP;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAAS43O,oBAAT,CAA8BD,aAA9B,EAA6Ct6Y,GAA7C,EAAkD;AAC9C,SAAOo6Y,mBAAmB,CAACE,aAAD,EAAgBt6Y,GAAhB,EAAqB,CAArB,CAA1B;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASy6Y,mBAAT,CAA6BH,aAA7B,EAA4Ct6Y,GAA5C,EAAiD;AAC7C,QAAMqzG,KAAK,GAAGknS,oBAAoB,CAACD,aAAD,EAAgBt6Y,GAAhB,CAAlC;;AACA,MAAIqzG,KAAK,IAAI,CAAb,EAAgB;AACZ;AACAumS,IAAAA,WAAW,CAACU,aAAD,EAAgBjnS,KAAhB,EAAuB,CAAvB,CAAX;AACH;;AACD,SAAOA,KAAP;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAAS+mS,mBAAT,CAA6Bl7D,KAA7B,EAAoCp9U,KAApC,EAA2CsW,KAA3C,EAAkD;AAC9Cm2K,EAAAA,SAAS,IAAIsuM,WAAW,CAACliY,KAAK,CAACC,OAAN,CAAcskV,KAAd,CAAD,EAAuB,IAAvB,EAA6B,oBAA7B,CAAxB;AACA,MAAIlpU,KAAK,GAAG,CAAZ;AACA,MAAI0xD,GAAG,GAAGw3Q,KAAK,CAACj9U,MAAN,IAAgBmW,KAA1B;;AACA,SAAOsvD,GAAG,KAAK1xD,KAAf,EAAsB;AAClB,UAAM0kY,MAAM,GAAG1kY,KAAK,IAAK0xD,GAAG,GAAG1xD,KAAP,IAAiB,CAArB,CAApB,CADkB,CAC2B;;AAC7C,UAAMinC,OAAO,GAAGiiS,KAAK,CAACw7D,MAAM,IAAItiY,KAAX,CAArB;;AACA,QAAItW,KAAK,KAAKm7C,OAAd,EAAuB;AACnB,aAAQy9V,MAAM,IAAItiY,KAAlB;AACH,KAFD,MAGK,IAAI6kC,OAAO,GAAGn7C,KAAd,EAAqB;AACtB4lE,MAAAA,GAAG,GAAGgzU,MAAN;AACH,KAFI,MAGA;AACD1kY,MAAAA,KAAK,GAAG0kY,MAAM,GAAG,CAAjB,CADC,CACmB;AACvB;AACJ;;AACD,SAAO,EAAEhzU,GAAG,IAAItvD,KAAT,CAAP;AACH;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,MAAMuiY,iBAAiB,GAAG,sGAA1B;AACA;;AACA,MAAMC,sBAAsB,GAAG,2CAA/B;AACA;AACA;AACA;AACA;;AACA,MAAMC,gCAAgC,GAAG,kEAAzC;AACA;AACA;AACA;AACA;;AACA,MAAMC,yCAAyC,GAAG,mGAAlD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,SAASC,cAAT,CAAwB7wC,OAAxB,EAAiC;AAC7B,SAAOywC,iBAAiB,CAAC9+X,IAAlB,CAAuBquV,OAAvB,KACH4wC,yCAAyC,CAACj/X,IAA1C,CAA+CquV,OAA/C,CADG,IAEF0wC,sBAAsB,CAAC/+X,IAAvB,CAA4BquV,OAA5B,KAAwC,CAAC2wC,gCAAgC,CAACh/X,IAAjC,CAAsCquV,OAAtC,CAF9C;AAGH;;AACD,MAAM8wC,sBAAN,CAA6B;AACzBnkZ,EAAAA,WAAW,CAACwgJ,OAAD,EAAU;AACjB,SAAK4jQ,QAAL,GAAgB5jQ,OAAO,IAAI01H,OAAO,CAAC,SAAD,CAAlC;AACH;;AACDmuI,EAAAA,mBAAmB,GAAG;AAClB,WAAO,IAAP;AACH;;AACDn4M,EAAAA,OAAO,CAACzuM,CAAD,EAAI;AACP,WAAO,CAAC,GAAG6hK,IAAJ,KAAa,IAAI7hK,CAAJ,CAAM,GAAG6hK,IAAT,CAApB;AACH;AACD;;;AACAglP,EAAAA,uBAAuB,CAACC,UAAD,EAAaC,gBAAb,EAA+B;AAClD,QAAIrqY,MAAJ;;AACA,QAAI,OAAOoqY,UAAP,KAAsB,WAA1B,EAAuC;AACnCpqY,MAAAA,MAAM,GAAGg8P,QAAQ,CAACquI,gBAAgB,CAACp5Y,MAAlB,CAAjB;AACH,KAFD,MAGK;AACD+O,MAAAA,MAAM,GAAGg8P,QAAQ,CAACouI,UAAU,CAACn5Y,MAAZ,CAAjB;AACH;;AACD,SAAK,IAAInN,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGkc,MAAM,CAAC/O,MAA3B,EAAmCnN,CAAC,EAApC,EAAwC;AACpC;AACA;AACA;AACA,UAAI,OAAOsmZ,UAAP,KAAsB,WAA1B,EAAuC;AACnCpqY,QAAAA,MAAM,CAAClc,CAAD,CAAN,GAAY,EAAZ;AACH,OAFD,MAGK,IAAIsmZ,UAAU,CAACtmZ,CAAD,CAAV,IAAiBsmZ,UAAU,CAACtmZ,CAAD,CAAV,IAAiB2Z,MAAtC,EAA8C;AAC/CuC,QAAAA,MAAM,CAAClc,CAAD,CAAN,GAAY,CAACsmZ,UAAU,CAACtmZ,CAAD,CAAX,CAAZ;AACH,OAFI,MAGA;AACDkc,QAAAA,MAAM,CAAClc,CAAD,CAAN,GAAY,EAAZ;AACH;;AACD,UAAIumZ,gBAAgB,IAAIA,gBAAgB,CAACvmZ,CAAD,CAAhB,IAAuB,IAA/C,EAAqD;AACjDkc,QAAAA,MAAM,CAAClc,CAAD,CAAN,GAAYkc,MAAM,CAAClc,CAAD,CAAN,CAAUyW,MAAV,CAAiB8vY,gBAAgB,CAACvmZ,CAAD,CAAjC,CAAZ;AACH;AACJ;;AACD,WAAOkc,MAAP;AACH;;AACDsqY,EAAAA,cAAc,CAAC3jZ,IAAD,EAAO4jZ,UAAP,EAAmB;AAC7B,UAAMrxC,OAAO,GAAGvyW,IAAI,CAACL,QAAL,EAAhB,CAD6B,CAE7B;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,QAAIyjZ,cAAc,CAAC7wC,OAAD,CAAlB,EAA6B;AACzB,aAAO,IAAP;AACH,KAX4B,CAY7B;;;AACA,QAAIvyW,IAAI,CAACslF,UAAL,IAAmBtlF,IAAI,CAACslF,UAAL,KAAoBs+T,UAAU,CAACt+T,UAAtD,EAAkE;AAC9D,aAAOtlF,IAAI,CAACslF,UAAZ;AACH,KAf4B,CAgB7B;;;AACA,UAAMu+T,iBAAiB,GAAG7jZ,IAAI,CAACy/X,cAA/B;;AACA,QAAIokB,iBAAiB,IAAIA,iBAAiB,KAAKD,UAAU,CAACnkB,cAA1D,EAA0E;AACtE;AACA;AACA,YAAMA,cAAc,GAAG,OAAOokB,iBAAP,KAA6B,UAA7B,GAA0CA,iBAAiB,EAA3D,GAAgEA,iBAAvF;AACA,YAAMJ,UAAU,GAAGhkB,cAAc,CAACz9X,GAAf,CAAoB8hZ,SAAD,IAAeA,SAAS,IAAIA,SAAS,CAAC9jZ,IAAzD,CAAnB;AACA,YAAM0jZ,gBAAgB,GAAGjkB,cAAc,CAACz9X,GAAf,CAAoB8hZ,SAAD,IAAeA,SAAS,IAAIC,mCAAmC,CAACD,SAAS,CAAC5kN,UAAX,CAAlF,CAAzB;AACA,aAAO,KAAKskN,uBAAL,CAA6BC,UAA7B,EAAyCC,gBAAzC,CAAP;AACH,KAzB4B,CA0B7B;;;AACA,UAAMA,gBAAgB,GAAG1jZ,IAAI,CAACmuB,cAAL,CAAoBuxX,UAApB,KAAmC1/Y,IAAI,CAAC0/Y,UAAD,CAAhE;;AACA,UAAM+D,UAAU,GAAG,KAAKH,QAAL,IAAiB,KAAKA,QAAL,CAAcU,cAA/B,IACf,KAAKV,QAAL,CAAcU,cAAd,CAA6B,mBAA7B,EAAkDhkZ,IAAlD,CADJ;;AAEA,QAAIyjZ,UAAU,IAAIC,gBAAlB,EAAoC;AAChC,aAAO,KAAKF,uBAAL,CAA6BC,UAA7B,EAAyCC,gBAAzC,CAAP;AACH,KAhC4B,CAiC7B;AACA;AACA;AACA;;;AACA,WAAOruI,QAAQ,CAACr1Q,IAAI,CAACsK,MAAN,CAAf;AACH;;AACDg7E,EAAAA,UAAU,CAACtlF,IAAD,EAAO;AACb;AACA;AACA,QAAI,CAACwhZ,MAAM,CAACxhZ,IAAD,CAAX,EAAmB;AACf,aAAO,EAAP;AACH;;AACD,UAAM4jZ,UAAU,GAAGK,aAAa,CAACjkZ,IAAD,CAAhC;;AACA,QAAIslF,UAAU,GAAG,KAAKq+T,cAAL,CAAoB3jZ,IAApB,EAA0B4jZ,UAA1B,CAAjB;;AACA,QAAI,CAACt+T,UAAD,IAAes+T,UAAU,KAAK9sY,MAAlC,EAA0C;AACtCwuE,MAAAA,UAAU,GAAG,KAAKA,UAAL,CAAgBs+T,UAAhB,CAAb;AACH;;AACD,WAAOt+T,UAAU,IAAI,EAArB;AACH;;AACD4+T,EAAAA,eAAe,CAAC3pH,UAAD,EAAaqpH,UAAb,EAAyB;AACpC;AACA,QAAIrpH,UAAU,CAACC,WAAX,IAA0BD,UAAU,CAACC,WAAX,KAA2BopH,UAAU,CAACppH,WAApE,EAAiF;AAC7E,UAAIA,WAAW,GAAGD,UAAU,CAACC,WAA7B;;AACA,UAAI,OAAOA,WAAP,KAAuB,UAAvB,IAAqCA,WAAW,CAACA,WAArD,EAAkE;AAC9DA,QAAAA,WAAW,GAAGA,WAAW,CAACA,WAA1B;AACH;;AACD,aAAOA,WAAP;AACH,KARmC,CASpC;;;AACA,QAAID,UAAU,CAACr7F,UAAX,IAAyBq7F,UAAU,CAACr7F,UAAX,KAA0B0kN,UAAU,CAAC1kN,UAAlE,EAA8E;AAC1E,aAAO6kN,mCAAmC,CAACxpH,UAAU,CAACr7F,UAAZ,CAA1C;AACH,KAZmC,CAapC;;;AACA,QAAIq7F,UAAU,CAACpsQ,cAAX,CAA0BsxX,WAA1B,CAAJ,EAA4C;AACxC,aAAOllH,UAAU,CAACklH,WAAD,CAAjB;AACH;;AACD,WAAO,IAAP;AACH;;AACDjlH,EAAAA,WAAW,CAACD,UAAD,EAAa;AACpB,QAAI,CAACinH,MAAM,CAACjnH,UAAD,CAAX,EAAyB;AACrB,aAAO,EAAP;AACH;;AACD,UAAMqpH,UAAU,GAAGK,aAAa,CAAC1pH,UAAD,CAAhC;AACA,UAAMu1F,cAAc,GAAG,KAAKo0B,eAAL,CAAqB3pH,UAArB,EAAiCqpH,UAAjC,KAAgD,EAAvE;AACA,UAAM/zB,iBAAiB,GAAG+zB,UAAU,KAAK9sY,MAAf,GAAwB,KAAK0jR,WAAL,CAAiBopH,UAAjB,CAAxB,GAAuD,EAAjF;AACA,WAAO/zB,iBAAiB,CAACj8W,MAAlB,CAAyBk8W,cAAzB,CAAP;AACH;;AACDq0B,EAAAA,gBAAgB,CAAC5pH,UAAD,EAAaqpH,UAAb,EAAyB;AACrC;AACA,QAAIrpH,UAAU,CAACI,YAAX,IACAJ,UAAU,CAACI,YAAX,KAA4BipH,UAAU,CAACjpH,YAD3C,EACyD;AACrD,UAAIA,YAAY,GAAGJ,UAAU,CAACI,YAA9B;;AACA,UAAI,OAAOA,YAAP,KAAwB,UAAxB,IAAsCA,YAAY,CAACA,YAAvD,EAAqE;AACjEA,QAAAA,YAAY,GAAGA,YAAY,CAACA,YAA5B;AACH;;AACD,aAAOA,YAAP;AACH,KAToC,CAUrC;;;AACA,QAAIJ,UAAU,CAACmlG,cAAX,IACAnlG,UAAU,CAACmlG,cAAX,KAA8BkkB,UAAU,CAAClkB,cAD7C,EAC6D;AACzD,YAAMA,cAAc,GAAGnlG,UAAU,CAACmlG,cAAlC;AACA,YAAM/kG,YAAY,GAAG,EAArB;AACA7jR,MAAAA,MAAM,CAACkF,IAAP,CAAY0jX,cAAZ,EAA4Bt+X,OAA5B,CAAoCo+I,IAAI,IAAI;AACxCm7I,QAAAA,YAAY,CAACn7I,IAAD,CAAZ,GAAqBukQ,mCAAmC,CAACrkB,cAAc,CAAClgP,IAAD,CAAf,CAAxD;AACH,OAFD;AAGA,aAAOm7I,YAAP;AACH,KAnBoC,CAoBrC;;;AACA,QAAIJ,UAAU,CAACpsQ,cAAX,CAA0BwxX,aAA1B,CAAJ,EAA8C;AAC1C,aAAOplH,UAAU,CAAColH,aAAD,CAAjB;AACH;;AACD,WAAO,IAAP;AACH;;AACDhlH,EAAAA,YAAY,CAACJ,UAAD,EAAa;AACrB,QAAI,CAACinH,MAAM,CAACjnH,UAAD,CAAX,EAAyB;AACrB,aAAO,EAAP;AACH;;AACD,UAAMqpH,UAAU,GAAGK,aAAa,CAAC1pH,UAAD,CAAhC;AACA,UAAMI,YAAY,GAAG,EAArB;;AACA,QAAIipH,UAAU,KAAK9sY,MAAnB,EAA2B;AACvB,YAAMs5W,kBAAkB,GAAG,KAAKz1F,YAAL,CAAkBipH,UAAlB,CAA3B;AACA9sY,MAAAA,MAAM,CAACkF,IAAP,CAAYo0W,kBAAZ,EAAgChvX,OAAhC,CAAyCy5J,QAAD,IAAc;AAClD8/H,QAAAA,YAAY,CAAC9/H,QAAD,CAAZ,GAAyBu1N,kBAAkB,CAACv1N,QAAD,CAA3C;AACH,OAFD;AAGH;;AACD,UAAMupP,eAAe,GAAG,KAAKD,gBAAL,CAAsB5pH,UAAtB,EAAkCqpH,UAAlC,CAAxB;;AACA,QAAIQ,eAAJ,EAAqB;AACjBttY,MAAAA,MAAM,CAACkF,IAAP,CAAYooY,eAAZ,EAA6BhjZ,OAA7B,CAAsCy5J,QAAD,IAAc;AAC/C,cAAMqkC,UAAU,GAAG,EAAnB;;AACA,YAAIy7F,YAAY,CAACxsQ,cAAb,CAA4B0sI,QAA5B,CAAJ,EAA2C;AACvCqkC,UAAAA,UAAU,CAAC39L,IAAX,CAAgB,GAAGo5R,YAAY,CAAC9/H,QAAD,CAA/B;AACH;;AACDqkC,QAAAA,UAAU,CAAC39L,IAAX,CAAgB,GAAG6iZ,eAAe,CAACvpP,QAAD,CAAlC;AACA8/H,QAAAA,YAAY,CAAC9/H,QAAD,CAAZ,GAAyBqkC,UAAzB;AACH,OAPD;AAQH;;AACD,WAAOy7F,YAAP;AACH;;AACDypH,EAAAA,eAAe,CAAC7pH,UAAD,EAAa;AACxB,QAAI,CAACinH,MAAM,CAACjnH,UAAD,CAAX,EAAyB;AACrB,aAAO,EAAP;AACH;;AACD,WAAO,KAAK4pH,gBAAL,CAAsB5pH,UAAtB,EAAkC0pH,aAAa,CAAC1pH,UAAD,CAA/C,KAAgE,EAAvE;AACH;;AACDK,EAAAA,gBAAgB,CAAC56R,IAAD,EAAO66R,UAAP,EAAmB;AAC/B,WAAO76R,IAAI,YAAY4yC,IAAhB,IAAwBioP,UAAU,IAAI76R,IAAI,CAAC4E,SAAlD;AACH;;AACDk2R,EAAAA,MAAM,CAAC96R,IAAD,EAAO;AACT,WAAO,EAAP;AACH;;AACDgkQ,EAAAA,MAAM,CAACntP,IAAD,EAAO;AACT,WAAO,IAAIq+O,QAAJ,CAAa,GAAb,EAAkB,cAAcr+O,IAAd,GAAqB,GAAvC,CAAP;AACH;;AACDwtY,EAAAA,MAAM,CAACxtY,IAAD,EAAO;AACT,WAAO,IAAIq+O,QAAJ,CAAa,GAAb,EAAkB,GAAlB,EAAuB,cAAcr+O,IAAd,GAAqB,OAA5C,CAAP;AACH;;AACDk+C,EAAAA,MAAM,CAACl+C,IAAD,EAAO;AACT,UAAMytY,YAAY,GAAI,UAASztY,IAAK,uBAAsBA,IAAK;AACvE,mBAAmBA,IAAK,kBADhB;AAEA,WAAO,IAAIq+O,QAAJ,CAAa,GAAb,EAAkB,MAAlB,EAA0BovJ,YAA1B,CAAP;AACH,GA/LwB,CAgMzB;;;AACAC,EAAAA,SAAS,CAACvkZ,IAAD,EAAO;AACZ;AACA,QAAI,OAAOA,IAAP,KAAgB,QAAhB,IAA4BA,IAAI,CAAC,UAAD,CAApC,EAAkD;AAC9C,aAAOA,IAAI,CAAC,UAAD,CAAX;AACH,KAJW,CAKZ;;;AACA,WAAQ,KAAImjB,SAAS,CAACnjB,IAAD,CAAO,EAA5B;AACH;;AACDwkZ,EAAAA,WAAW,CAACxkZ,IAAD,EAAO;AACd,WAAQ,KAAImjB,SAAS,CAACnjB,IAAD,CAAO,EAA5B;AACH;;AACDykZ,EAAAA,iBAAiB,CAAC5tY,IAAD,EAAO0/Q,SAAP,EAAkB53H,OAAlB,EAA2BwgG,OAA3B,EAAoC;AACjD,WAAOA,OAAP;AACH;;AACDulJ,EAAAA,WAAW,CAACC,cAAD,EAAiB9tY,IAAjB,EAAuB;AAC9B,WAAO8tY,cAAc,CAAC9tY,IAAD,CAArB;AACH;;AAjNwB;;AAmN7B,SAASktY,mCAAT,CAA6Ca,oBAA7C,EAAmE;AAC/D,MAAI,CAACA,oBAAL,EAA2B;AACvB,WAAO,EAAP;AACH;;AACD,SAAOA,oBAAoB,CAAC5iZ,GAArB,CAAyB6iZ,mBAAmB,IAAI;AACnD,UAAMC,aAAa,GAAGD,mBAAmB,CAAC7kZ,IAA1C;AACA,UAAMsgZ,aAAa,GAAGwE,aAAa,CAACxE,aAApC;AACA,UAAMyE,cAAc,GAAGF,mBAAmB,CAACrmP,IAApB,GAA2BqmP,mBAAmB,CAACrmP,IAA/C,GAAsD,EAA7E;AACA,WAAO,IAAI8hP,aAAJ,CAAkB,GAAGyE,cAArB,CAAP;AACH,GALM,CAAP;AAMH;;AACD,SAASd,aAAT,CAAuBvtG,IAAvB,EAA6B;AACzB,QAAMsuG,WAAW,GAAGtuG,IAAI,CAAC9xS,SAAL,GAAiBkS,MAAM,CAACosO,cAAP,CAAsBwzD,IAAI,CAAC9xS,SAA3B,CAAjB,GAAyD,IAA7E;AACA,QAAMg/Y,UAAU,GAAGoB,WAAW,GAAGA,WAAW,CAAC9lZ,WAAf,GAA6B,IAA3D,CAFyB,CAGzB;AACA;;AACA,SAAO0kZ,UAAU,IAAI9sY,MAArB;AACH;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,MAAMmuY,mBAAmB,GAAG,EAA5B;AACA,MAAMC,kBAAkB,GAAGD,mBAA3B;AACA;AACA;AACA;AACA;AACA;;AACA,MAAME,iBAAiB,GAAG,gBAA1B;AACA,MAAMC,kBAAkB,GAAG,iBAA3B;AACA,MAAMC,aAAa,GAAG,aAAtB;AACA,MAAMC,QAAQ,GAAG,MAAjB;AACA,MAAMC,aAAa,GAAG,GAAtB;AACA,MAAMC,MAAM,GAAG,UAAf;AACA,MAAMC,WAAW,GAAGxiB,sBAAsB,CAAC;AAAEnxL,EAAAA,OAAO,EAAEjtM,MAAX;AAAmByoP,EAAAA,QAAQ,EAAE21I;AAA7B,CAAD,CAA1C;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,IAAIyiB,gBAAgB,GAAG16O,SAAvB;;AACA,SAAS26O,kBAAT,CAA4BryL,QAA5B,EAAsC;AAClC,QAAMsyL,MAAM,GAAGF,gBAAf;AACAA,EAAAA,gBAAgB,GAAGpyL,QAAnB;AACA,SAAOsyL,MAAP;AACH;;AACD,SAASC,kBAAT,CAA4B5hZ,KAA5B,EAAmCwnJ,KAAK,GAAGo7O,WAAW,CAAC7yI,OAAvD,EAAgE;AAC5D,MAAI0xJ,gBAAgB,KAAK16O,SAAzB,EAAoC;AAChC,UAAM,IAAIjzJ,KAAJ,CAAW,mDAAX,CAAN;AACH,GAFD,MAGK,IAAI2tY,gBAAgB,KAAK,IAAzB,EAA+B;AAChC,WAAOxe,kBAAkB,CAACjjY,KAAD,EAAQ+mK,SAAR,EAAmBvf,KAAnB,CAAzB;AACH,GAFI,MAGA;AACD,WAAOi6P,gBAAgB,CAACnvY,GAAjB,CAAqBtS,KAArB,EAA4BwnJ,KAAK,GAAGo7O,WAAW,CAAC5sM,QAApB,GAA+B,IAA/B,GAAsCjvB,SAAlE,EAA6Evf,KAA7E,CAAP;AACH;AACJ;;AACD,SAAS+1E,QAAT,CAAkBv9N,KAAlB,EAAyBwnJ,KAAK,GAAGo7O,WAAW,CAAC7yI,OAA7C,EAAsD;AAClD,SAAO,CAAC+yI,uBAAuB,MAAM8e,kBAA9B,EAAkD11I,iBAAiB,CAAClsQ,KAAD,CAAnE,EAA4EwnJ,KAA5E,CAAP;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASq6P,mBAAT,CAA6BpqS,KAA7B,EAAoC;AAChC,QAAM24J,GAAG,GAAGz9E,SAAS,GAChB,wGAAuGl7E,KAAM;AACtH;AACA;AACA,2DAA2DA,KAAM,iGAJxC,GAKjB,SALJ;AAMA,QAAM,IAAI3jG,KAAJ,CAAUs8P,GAAV,CAAN;AACH;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,MAAMljE,MAAM,GAAGqwB,QAAf;;AACA,SAASo9C,UAAT,CAAoBj3Q,KAApB,EAA2B;AACvB,QAAM62J,IAAI,GAAG,EAAb;;AACA,OAAK,IAAIrhK,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGwK,KAAK,CAAC2C,MAA1B,EAAkCnN,CAAC,EAAnC,EAAuC;AACnC,UAAMmgK,GAAG,GAAG6yG,iBAAiB,CAACxoQ,KAAK,CAACxK,CAAD,CAAN,CAA7B;;AACA,QAAI6F,KAAK,CAACC,OAAN,CAAcq6J,GAAd,CAAJ,EAAwB;AACpB,UAAIA,GAAG,CAAChzJ,MAAJ,KAAe,CAAnB,EAAsB;AAClB,cAAM,IAAIyN,KAAJ,CAAU,sCAAV,CAAN;AACH;;AACD,UAAI/X,IAAI,GAAGgrK,SAAX;AACA,UAAIvf,KAAK,GAAGo7O,WAAW,CAAC7yI,OAAxB;;AACA,WAAK,IAAIj1P,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGu+J,GAAG,CAAChzJ,MAAxB,EAAgCvL,CAAC,EAAjC,EAAqC;AACjC,cAAM+9Q,IAAI,GAAGx/G,GAAG,CAACv+J,CAAD,CAAhB;AACA,cAAMgnZ,IAAI,GAAGC,aAAa,CAAClpI,IAAD,CAA1B;;AACA,YAAI,OAAOipI,IAAP,KAAgB,QAApB,EAA8B;AAC1B;AACA,cAAIA,IAAI,KAAK,CAAC;AAAE;AAAhB,YAA8B;AAC1B/lZ,YAAAA,IAAI,GAAG88Q,IAAI,CAAC74Q,KAAZ;AACH,WAFD,MAGK;AACDwnJ,YAAAA,KAAK,IAAIs6P,IAAT;AACH;AACJ,SARD,MASK;AACD/lZ,UAAAA,IAAI,GAAG88Q,IAAP;AACH;AACJ;;AACDt+G,MAAAA,IAAI,CAACj9J,IAAL,CAAUigO,QAAQ,CAACxhO,IAAD,EAAOyrJ,KAAP,CAAlB;AACH,KAvBD,MAwBK;AACD+S,MAAAA,IAAI,CAACj9J,IAAL,CAAUigO,QAAQ,CAAClkE,GAAD,CAAlB;AACH;AACJ;;AACD,SAAOkB,IAAP;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASynP,gBAAT,CAA0BC,SAA1B,EAAqCH,IAArC,EAA2C;AACvCG,EAAAA,SAAS,CAACf,iBAAD,CAAT,GAA+BY,IAA/B;AACAG,EAAAA,SAAS,CAACthZ,SAAV,CAAoBugZ,iBAApB,IAAyCY,IAAzC;AACA,SAAOG,SAAP;AACH;AACD;AACA;AACA;AACA;AACA;;;AACA,SAASF,aAAT,CAAuB/hZ,KAAvB,EAA8B;AAC1B,SAAOA,KAAK,CAACkhZ,iBAAD,CAAZ;AACH;;AACD,SAASgB,kBAAT,CAA4B1pZ,CAA5B,EAA+BwH,KAA/B,EAAsCmiZ,iBAAtC,EAAyDt/Y,MAAzD,EAAiE;AAC7D,QAAMu/Y,SAAS,GAAG5pZ,CAAC,CAAC2oZ,kBAAD,CAAnB;;AACA,MAAInhZ,KAAK,CAACuhZ,MAAD,CAAT,EAAmB;AACfa,IAAAA,SAAS,CAAChoX,OAAV,CAAkBp6B,KAAK,CAACuhZ,MAAD,CAAvB;AACH;;AACD/oZ,EAAAA,CAAC,CAACqxB,OAAF,GAAYw4X,WAAW,CAAC,OAAO7pZ,CAAC,CAACqxB,OAAV,EAAmBu4X,SAAnB,EAA8BD,iBAA9B,EAAiDt/Y,MAAjD,CAAvB;AACArK,EAAAA,CAAC,CAAC4oZ,aAAD,CAAD,GAAmBgB,SAAnB;AACA5pZ,EAAAA,CAAC,CAAC2oZ,kBAAD,CAAD,GAAwB,IAAxB;AACA,QAAM3oZ,CAAN;AACH;;AACD,SAAS6pZ,WAAT,CAAqBx9Y,IAArB,EAA2BwmK,GAA3B,EAAgC82O,iBAAhC,EAAmDt/Y,MAAM,GAAG,IAA5D,EAAkE;AAC9DgC,EAAAA,IAAI,GAAGA,IAAI,IAAIA,IAAI,CAAC8jK,MAAL,CAAY,CAAZ,MAAmB,IAA3B,IAAmC9jK,IAAI,CAAC8jK,MAAL,CAAY,CAAZ,KAAkB24O,aAArD,GAAqEz8Y,IAAI,CAACuiK,MAAL,CAAY,CAAZ,CAArE,GAAsFviK,IAA7F;AACA,MAAIlI,OAAO,GAAGuiB,SAAS,CAACmsJ,GAAD,CAAvB;;AACA,MAAItsK,KAAK,CAACC,OAAN,CAAcqsK,GAAd,CAAJ,EAAwB;AACpB1uK,IAAAA,OAAO,GAAG0uK,GAAG,CAACttK,GAAJ,CAAQmhB,SAAR,EAAmBF,IAAnB,CAAwB,MAAxB,CAAV;AACH,GAFD,MAGK,IAAI,OAAOqsJ,GAAP,KAAe,QAAnB,EAA6B;AAC9B,QAAIm8D,KAAK,GAAG,EAAZ;;AACA,SAAK,IAAIpjO,GAAT,IAAgBinK,GAAhB,EAAqB;AACjB,UAAIA,GAAG,CAACnhJ,cAAJ,CAAmB9lB,GAAnB,CAAJ,EAA6B;AACzB,YAAI8B,KAAK,GAAGmlK,GAAG,CAACjnK,GAAD,CAAf;AACAojO,QAAAA,KAAK,CAAClqO,IAAN,CAAW8G,GAAG,GAAG,GAAN,IAAa,OAAO8B,KAAP,KAAiB,QAAjB,GAA4B+Y,IAAI,CAACC,SAAL,CAAehZ,KAAf,CAA5B,GAAoDgZ,SAAS,CAAChZ,KAAD,CAA1E,CAAX;AACH;AACJ;;AACDvJ,IAAAA,OAAO,GAAI,IAAG6qO,KAAK,CAACxoN,IAAN,CAAW,IAAX,CAAiB,GAA/B;AACH;;AACD,SAAQ,GAAEmjY,iBAAkB,GAAEt/Y,MAAM,GAAG,MAAMA,MAAN,GAAe,GAAlB,GAAwB,EAAG,IAAGlG,OAAQ,MAAKkI,IAAI,CAACkE,OAAL,CAAas4Y,QAAb,EAAuB,MAAvB,CAA+B,EAA9G;AACH;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,MAAM1rN,MAAM,GAAGqsN,gBAAgB,EAC/B;AACA;AACA1F,kBAAkB,CAAC,QAAD,EAAYt8Y,KAAD,KAAY;AAAEA,EAAAA;AAAF,CAAZ,CAAX,CAHa,EAGuB,CAAC;AAAE;AAH1B,CAA/B;AAIA;AACA;AACA;AACA;AACA;AACA;;AACA,MAAMg2L,QAAQ,GACd;AACA;AACAgsN,gBAAgB,CAAC1F,kBAAkB,CAAC,UAAD,CAAnB,EAAiC;AAAE;AAAnC,CAHhB;AAIA;AACA;AACA;AACA;AACA;AACA;;AACA,MAAMtD,IAAI,GACV;AACA;AACAgJ,gBAAgB,CAAC1F,kBAAkB,CAAC,MAAD,CAAnB,EAA6B;AAAE;AAA/B,CAHhB;AAIA;AACA;AACA;AACA;AACA;AACA;;AACA,MAAM/pL,QAAQ,GACd;AACA;AACAyvL,gBAAgB,CAAC1F,kBAAkB,CAAC,UAAD,CAAnB,EAAiC;AAAE;AAAnC,CAHhB;AAIA;AACA;AACA;AACA;AACA;AACA;;AACA,MAAM1xP,IAAI,GACV;AACA;AACAo3P,gBAAgB,CAAC1F,kBAAkB,CAAC,MAAD,CAAnB,EAA6B;AAAE;AAA/B,CAHhB;AAKA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,IAAI+C,QAAQ,GAAG,IAAf;;AACA,SAASiD,UAAT,GAAsB;AAClB,SAAQjD,QAAQ,GAAGA,QAAQ,IAAI,IAAID,sBAAJ,EAA/B;AACH;;AACD,SAASmD,mBAAT,CAA6BxmZ,IAA7B,EAAmC;AAC/B,SAAOymZ,mBAAmB,CAACF,UAAU,GAAGjhU,UAAb,CAAwBtlF,IAAxB,CAAD,CAA1B;AACH;;AACD,SAASymZ,mBAAT,CAA6Br3L,IAA7B,EAAmC;AAC/B,SAAOA,IAAI,CAACptN,GAAL,CAASu8Q,GAAG,IAAImoI,iBAAiB,CAACnoI,GAAD,CAAjC,CAAP;AACH;;AACD,SAASmoI,iBAAT,CAA2BnoI,GAA3B,EAAgC;AAC5B,QAAMzB,IAAI,GAAG;AACT74Q,IAAAA,KAAK,EAAE,IADE;AAET62J,IAAAA,SAAS,EAAE,IAFF;AAGTx4I,IAAAA,IAAI,EAAE,KAHG;AAITu1J,IAAAA,QAAQ,EAAE,KAJD;AAKT1R,IAAAA,IAAI,EAAE,KALG;AAMTu4G,IAAAA,QAAQ,EAAE;AAND,GAAb;;AAQA,MAAI17Q,KAAK,CAACC,OAAN,CAAcs7Q,GAAd,KAAsBA,GAAG,CAACj0Q,MAAJ,GAAa,CAAvC,EAA0C;AACtC,SAAK,IAAIvL,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGw/Q,GAAG,CAACj0Q,MAAxB,EAAgCvL,CAAC,EAAjC,EAAqC;AACjC,YAAMmnP,KAAK,GAAGq4B,GAAG,CAACx/Q,CAAD,CAAjB;;AACA,UAAImnP,KAAK,KAAKl7E,SAAd,EAAyB;AACrB;AACA;AACH;;AACD,YAAMc,KAAK,GAAGh1J,MAAM,CAACosO,cAAP,CAAsBgD,KAAtB,CAAd;;AACA,UAAIA,KAAK,YAAYjsD,QAAjB,IAA6BnuB,KAAK,CAACupF,cAAN,KAAyB,UAA1D,EAAsE;AAClEynB,QAAAA,IAAI,CAACjlG,QAAL,GAAgB,IAAhB;AACH,OAFD,MAGK,IAAIquE,KAAK,YAAY1vB,QAAjB,IAA6B1qD,KAAK,CAACupF,cAAN,KAAyB,UAA1D,EAAsE;AACvEynB,QAAAA,IAAI,CAAC4B,QAAL,GAAgB,IAAhB;AACH,OAFI,MAGA,IAAIx4B,KAAK,YAAY+2J,IAAjB,IAAyBnxO,KAAK,CAACupF,cAAN,KAAyB,MAAtD,EAA8D;AAC/DynB,QAAAA,IAAI,CAAC32G,IAAL,GAAY,IAAZ;AACH,OAFI,MAGA,IAAI+/E,KAAK,YAAYr3F,IAAjB,IAAyBid,KAAK,CAACupF,cAAN,KAAyB,MAAtD,EAA8D;AAC/DynB,QAAAA,IAAI,CAACx6P,IAAL,GAAY,IAAZ;AACH,OAFI,MAGA,IAAI4jO,KAAK,YAAYtsD,MAArB,EAA6B;AAC9BkjF,QAAAA,IAAI,CAAC74Q,KAAL,GAAaiiP,KAAK,CAACjiP,KAAnB;AACH,OAFI,MAGA,IAAIiiP,KAAK,YAAY/jB,SAArB,EAAgC;AACjC,YAAI+jB,KAAK,CAACoN,aAAN,KAAwBtoF,SAA5B,EAAuC;AACnC,gBAAM,IAAIjzJ,KAAJ,CAAW,iCAAX,CAAN;AACH;;AACD+kQ,QAAAA,IAAI,CAAChiH,SAAL,GAAiBorF,KAAK,CAACoN,aAAvB;AACH,OALI,MAMA;AACDwpB,QAAAA,IAAI,CAAC74Q,KAAL,GAAaiiP,KAAb;AACH;AACJ;AACJ,GAjCD,MAkCK,IAAIq4B,GAAG,KAAKvzG,SAAR,IAAsBhoK,KAAK,CAACC,OAAN,CAAcs7Q,GAAd,KAAsBA,GAAG,CAACj0Q,MAAJ,KAAe,CAA/D,EAAmE;AACpEwyQ,IAAAA,IAAI,CAAC74Q,KAAL,GAAa,IAAb;AACH,GAFI,MAGA;AACD64Q,IAAAA,IAAI,CAAC74Q,KAAL,GAAas6Q,GAAb;AACH;;AACD,SAAOzB,IAAP;AACH;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAAS6pI,yBAAT,CAAmCC,gBAAnC,EAAqD;AACjD;AACA,QAAMC,iBAAiB,GAAG,EAA1B,CAFiD,CAGjD;;AACA,QAAMC,MAAM,GAAG,IAAI13Y,GAAJ,EAAf;;AACA,WAAS23Y,qBAAT,CAA+BzkZ,GAA/B,EAAoC;AAChC,QAAIyW,OAAO,GAAG+tY,MAAM,CAACvwY,GAAP,CAAWjU,GAAX,CAAd;;AACA,QAAI,CAACyW,OAAL,EAAc;AACV,YAAMiuY,IAAI,GAAGJ,gBAAgB,CAACtkZ,GAAD,CAA7B;AACAwkZ,MAAAA,MAAM,CAAC3kZ,GAAP,CAAWG,GAAX,EAAgByW,OAAO,GAAGiuY,IAAI,CAACvkZ,IAAL,CAAUwkZ,cAAV,CAA1B;AACH;;AACD,WAAOluY,OAAP;AACH;;AACDmuY,EAAAA,gCAAgC,CAAC9lZ,OAAjC,CAAyC,CAACqiG,SAAD,EAAYzjG,IAAZ,KAAqB;AAC1D,UAAM08H,QAAQ,GAAG,EAAjB;;AACA,QAAIj5B,SAAS,CAAClhG,WAAd,EAA2B;AACvBm6H,MAAAA,QAAQ,CAACn7H,IAAT,CAAcwlZ,qBAAqB,CAACtjT,SAAS,CAAClhG,WAAX,CAArB,CAA6CE,IAA7C,CAAmD48G,QAAD,IAAc;AAC1E5b,QAAAA,SAAS,CAAC4b,QAAV,GAAqBA,QAArB;AACH,OAFa,CAAd;AAGH;;AACD,UAAMgxL,SAAS,GAAG5sM,SAAS,CAAC4sM,SAA5B;AACA,UAAMtvK,MAAM,GAAGt9B,SAAS,CAACs9B,MAAV,KAAqBt9B,SAAS,CAACs9B,MAAV,GAAmB,EAAxC,CAAf;AACA,UAAMomR,WAAW,GAAG1jT,SAAS,CAACs9B,MAAV,CAAiBz2H,MAArC;AACA+lS,IAAAA,SAAS,IAAIA,SAAS,CAACjvS,OAAV,CAAkB,CAAC4iE,QAAD,EAAW03C,KAAX,KAAqB;AAChDqlB,MAAAA,MAAM,CAACx/H,IAAP,CAAY,EAAZ,EADgD,CAC/B;;AACjBm7H,MAAAA,QAAQ,CAACn7H,IAAT,CAAcwlZ,qBAAqB,CAAC/iV,QAAD,CAArB,CAAgCvhE,IAAhC,CAAsCnD,KAAD,IAAW;AAC1DyhI,QAAAA,MAAM,CAAComR,WAAW,GAAGzrS,KAAf,CAAN,GAA8Bp8G,KAA9B;AACA+wS,QAAAA,SAAS,CAAC9xR,MAAV,CAAiB8xR,SAAS,CAACniS,OAAV,CAAkB81D,QAAlB,CAAjB,EAA8C,CAA9C;;AACA,YAAIqsO,SAAS,CAAC/lS,MAAV,IAAoB,CAAxB,EAA2B;AACvBm5F,UAAAA,SAAS,CAAC4sM,SAAV,GAAsBrlI,SAAtB;AACH;AACJ,OANa,CAAd;AAOH,KATY,CAAb;AAUA,UAAMo8O,aAAa,GAAGtlZ,OAAO,CAACc,GAAR,CAAY85H,QAAZ,EAAsBj6H,IAAtB,CAA2B,MAAM4kZ,oBAAoB,CAACrnZ,IAAD,CAArD,CAAtB;AACA6mZ,IAAAA,iBAAiB,CAACtlZ,IAAlB,CAAuB6lZ,aAAvB;AACH,GAtBD;AAuBAE,EAAAA,wCAAwC;AACxC,SAAOxlZ,OAAO,CAACc,GAAR,CAAYikZ,iBAAZ,EAA+BpkZ,IAA/B,CAAoC,MAAMuoK,SAA1C,CAAP;AACH;;AACD,IAAIk8O,gCAAgC,GAAG,IAAI93Y,GAAJ,EAAvC,EACA;;AACA,MAAMm4Y,6BAA6B,GAAG,IAAIl+Y,GAAJ,EAAtC;;AACA,SAASm+Y,wCAAT,CAAkDxnZ,IAAlD,EAAwD6zK,QAAxD,EAAkE;AAC9D,MAAI4zO,wBAAwB,CAAC5zO,QAAD,CAA5B,EAAwC;AACpCqzO,IAAAA,gCAAgC,CAAC/kZ,GAAjC,CAAqCnC,IAArC,EAA2C6zK,QAA3C;AACA0zO,IAAAA,6BAA6B,CAACjpX,GAA9B,CAAkCt+B,IAAlC;AACH;AACJ;;AACD,SAAS0nZ,+BAAT,CAAyC1nZ,IAAzC,EAA+C;AAC3C,SAAOunZ,6BAA6B,CAACz7Y,GAA9B,CAAkC9L,IAAlC,CAAP;AACH;;AACD,SAASynZ,wBAAT,CAAkChkT,SAAlC,EAA6C;AACzC,SAAO,CAAC,EAAGA,SAAS,CAAClhG,WAAV,IAAyB,CAACkhG,SAAS,CAACt1E,cAAV,CAAyB,UAAzB,CAA3B,IACNs1E,SAAS,CAAC4sM,SAAV,IAAuB5sM,SAAS,CAAC4sM,SAAV,CAAoB/lS,MADvC,CAAR;AAEH;;AACD,SAASg9Y,wCAAT,GAAoD;AAChD,QAAM11M,GAAG,GAAGs1M,gCAAZ;AACAA,EAAAA,gCAAgC,GAAG,IAAI93Y,GAAJ,EAAnC;AACA,SAAOwiM,GAAP;AACH;;AACD,SAAS+1M,+BAAT,CAAyCl/P,KAAzC,EAAgD;AAC5C8+P,EAAAA,6BAA6B,CAAClxY,KAA9B;AACAoyI,EAAAA,KAAK,CAACrnJ,OAAN,CAAc,CAAC5E,CAAD,EAAIwD,IAAJ,KAAaunZ,6BAA6B,CAACjpX,GAA9B,CAAkCt+B,IAAlC,CAA3B;AACAknZ,EAAAA,gCAAgC,GAAGz+P,KAAnC;AACH;;AACD,SAASm/P,uCAAT,GAAmD;AAC/C,SAAOV,gCAAgC,CAACj1X,IAAjC,KAA0C,CAAjD;AACH;;AACD,SAASg1X,cAAT,CAAwBh8J,QAAxB,EAAkC;AAC9B,SAAO,OAAOA,QAAP,IAAmB,QAAnB,GAA8BA,QAA9B,GAAyCA,QAAQ,CAACniP,IAAT,EAAhD;AACH;;AACD,SAASu+Y,oBAAT,CAA8BrnZ,IAA9B,EAAoC;AAChCunZ,EAAAA,6BAA6B,CAACl6X,MAA9B,CAAqCrtB,IAArC;AACH;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;AACA;AACA;;;AACA,IAAI6nZ,QAAJ;AACA;AACA;AACA;AACA;;AACA,SAASC,WAAT,GAAuB;AACnB,MAAID,QAAQ,KAAK78O,SAAjB,EAA4B;AACxB68O,IAAAA,QAAQ,GAAG,IAAX;;AACA,QAAIzyI,OAAO,CAACgjB,YAAZ,EAA0B;AACtB,UAAI;AACAyvH,QAAAA,QAAQ,GAAGzyI,OAAO,CAACgjB,YAAR,CAAqBC,YAArB,CAAkC,SAAlC,EAA6C;AACpD0vH,UAAAA,UAAU,EAAGlrZ,CAAD,IAAOA,CADiC;AAEpDy7R,UAAAA,YAAY,EAAGz7R,CAAD,IAAOA,CAF+B;AAGpDmrZ,UAAAA,eAAe,EAAGnrZ,CAAD,IAAOA;AAH4B,SAA7C,CAAX;AAKH,OAND,CAOA,MAAM,CACF;AACA;AACA;AACA;AACH;AACJ;AACJ;;AACD,SAAOgrZ,QAAP;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASI,qBAAT,CAA+BtvM,IAA/B,EAAqC;AACjC,SAAOmvM,WAAW,IAAIC,UAAf,CAA0BpvM,IAA1B,KAAmCA,IAA1C;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAAS4/E,uBAAT,CAAiC7kN,MAAjC,EAAyC;AACrC,SAAOo0U,WAAW,IAAIxvH,YAAf,CAA4B5kN,MAA5B,KAAuCA,MAA9C;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASw0U,0BAAT,CAAoC5lZ,GAApC,EAAyC;AACrC,SAAOwlZ,WAAW,IAAIE,eAAf,CAA+B1lZ,GAA/B,KAAuCA,GAA9C;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAAS6lZ,wBAAT,CAAkC,GAAG3pP,IAArC,EAA2C;AACvC,MAAI,OAAOo4B,SAAP,KAAqB,WAAzB,EAAsC;AAClC,UAAM,IAAI7+K,KAAJ,CAAU,+DAAV,CAAN;AACH;;AACD,MAAI,CAACq9P,OAAO,CAACgjB,YAAb,EAA2B;AACvB;AACA;AACA,WAAO,IAAIljC,QAAJ,CAAa,GAAG12F,IAAhB,CAAP;AACH,GARsC,CASvC;AACA;AACA;AACA;;;AACA,QAAMi6H,MAAM,GAAGj6H,IAAI,CAACj4J,KAAL,CAAW,CAAX,EAAc,CAAC,CAAf,EAAkB0c,IAAlB,CAAuB,GAAvB,CAAf;AACA,QAAMy1Q,MAAM,GAAGl6H,IAAI,CAACA,IAAI,CAACl0J,MAAL,GAAc,CAAf,CAAnB;AACA,QAAM+b,IAAI,GAAI,uBAAsBoyQ,MAAO;AAC/C,MAAMC,MAAO;AACb,GAFI,CAfuC,CAkBvC;AACA;AACA;;AACA,QAAM/jQ,EAAE,GAAGygP,OAAO,CAAC,MAAD,CAAP,CAAgBmjB,uBAAuB,CAAClyQ,IAAD,CAAvC,CAAX;;AACA,MAAIsO,EAAE,CAACzH,IAAH,KAAY89I,SAAhB,EAA2B;AACvB;AACA;AACA;AACA;AACA,WAAO,IAAIkqF,QAAJ,CAAa,GAAG12F,IAAhB,CAAP;AACH,GA5BsC,CA6BvC;AACA;AACA;;;AACA7pI,EAAAA,EAAE,CAACh1B,QAAH,GAAc,MAAM0mB,IAApB,CAhCuC,CAiCvC;;;AACA,SAAOsO,EAAE,CAACzH,IAAH,CAAQkoP,OAAR,CAAP,CAlCuC,CAmCvC;AACA;AACA;AACH;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;AACA;AACA;;;AACA,IAAI8iB,MAAJ;AACA;AACA;AACA;AACA;;AACA,SAASC,SAAT,GAAqB;AACjB,MAAID,MAAM,KAAKltH,SAAf,EAA0B;AACtBktH,IAAAA,MAAM,GAAG,IAAT;;AACA,QAAI9iB,OAAO,CAACgjB,YAAZ,EAA0B;AACtB,UAAI;AACAF,QAAAA,MAAM,GAAG9iB,OAAO,CAACgjB,YAAR,CACJC,YADI,CACS,uBADT,EACkC;AACvC0vH,UAAAA,UAAU,EAAGlrZ,CAAD,IAAOA,CADoB;AAEvCy7R,UAAAA,YAAY,EAAGz7R,CAAD,IAAOA,CAFkB;AAGvCmrZ,UAAAA,eAAe,EAAGnrZ,CAAD,IAAOA;AAHe,SADlC,CAAT;AAMH,OAPD,CAQA,MAAM,CACF;AACA;AACA;AACA;AACH;AACJ;AACJ;;AACD,SAAOq7R,MAAP;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASkwH,2BAAT,CAAqCzvM,IAArC,EAA2C;AACvC,SAAOw/E,SAAS,IAAI4vH,UAAb,CAAwBpvM,IAAxB,KAAiCA,IAAxC;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAAS0vM,6BAAT,CAAuC30U,MAAvC,EAA+C;AAC3C,SAAOykN,SAAS,IAAIG,YAAb,CAA0B5kN,MAA1B,KAAqCA,MAA5C;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAAS40U,gCAAT,CAA0ChmZ,GAA1C,EAA+C;AAC3C,SAAO61R,SAAS,IAAI6vH,eAAb,CAA6B1lZ,GAA7B,KAAqCA,GAA5C;AACH;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,MAAMimZ,aAAN,CAAoB;AAChBrpZ,EAAAA,WAAW,CAACspZ,qCAAD,EAAwC;AAC/C,SAAKA,qCAAL,GAA6CA,qCAA7C;AACH;;AACD7oZ,EAAAA,QAAQ,GAAG;AACP,WAAQ,0CAAyC,KAAK6oZ,qCAAsC,EAArF,GACF,qCADL;AAEH;;AAPe;;AASpB,MAAMC,YAAN,SAA2BF,aAA3B,CAAyC;AACrC7uK,EAAAA,WAAW,GAAG;AACV,WAAO;AAAO;AAAd;AACH;;AAHoC;;AAKzC,MAAMgvK,aAAN,SAA4BH,aAA5B,CAA0C;AACtC7uK,EAAAA,WAAW,GAAG;AACV,WAAO;AAAQ;AAAf;AACH;;AAHqC;;AAK1C,MAAMivK,cAAN,SAA6BJ,aAA7B,CAA2C;AACvC7uK,EAAAA,WAAW,GAAG;AACV,WAAO;AAAS;AAAhB;AACH;;AAHsC;;AAK3C,MAAMkvK,WAAN,SAA0BL,aAA1B,CAAwC;AACpC7uK,EAAAA,WAAW,GAAG;AACV,WAAO;AAAM;AAAb;AACH;;AAHmC;;AAKxC,MAAMmvK,mBAAN,SAAkCN,aAAlC,CAAgD;AAC5C7uK,EAAAA,WAAW,GAAG;AACV,WAAO;AAAc;AAArB;AACH;;AAH2C;;AAKhD,SAASovK,eAAT,CAAyB3+Y,KAAzB,EAAgC;AAC5B,SAAOA,KAAK,YAAYo+Y,aAAjB,GAAiCp+Y,KAAK,CAACq+Y,qCAAvC,GACHr+Y,KADJ;AAEH;;AACD,SAAS4+Y,+BAAT,CAAyC5+Y,KAAzC,EAAgDnK,IAAhD,EAAsD;AAClD,QAAMgpZ,UAAU,GAAGC,yBAAyB,CAAC9+Y,KAAD,CAA5C;;AACA,MAAI6+Y,UAAU,IAAI,IAAd,IAAsBA,UAAU,KAAKhpZ,IAAzC,EAA+C;AAC3C;AACA,QAAIgpZ,UAAU,KAAK;AAAc;AAA7B,OAAkDhpZ,IAAI,KAAK;AAAM;AAArE,MACI,OAAO,IAAP;AACJ,UAAM,IAAI+X,KAAJ,CAAW,mBAAkB/X,IAAK,WAAUgpZ,UAAW,qCAAvD,CAAN;AACH;;AACD,SAAOA,UAAU,KAAKhpZ,IAAtB;AACH;;AACD,SAASipZ,yBAAT,CAAmC9+Y,KAAnC,EAA0C;AACtC,SAAOA,KAAK,YAAYo+Y,aAAjB,IAAkCp+Y,KAAK,CAACuvO,WAAN,EAAlC,IAAyD,IAAhE;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASwvK,2BAAT,CAAqCC,WAArC,EAAkD;AAC9C,SAAO,IAAIV,YAAJ,CAAiBU,WAAjB,CAAP;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASC,4BAAT,CAAsCC,YAAtC,EAAoD;AAChD,SAAO,IAAIX,aAAJ,CAAkBW,YAAlB,CAAP;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASC,6BAAT,CAAuCC,aAAvC,EAAsD;AAClD,SAAO,IAAIZ,cAAJ,CAAmBY,aAAnB,CAAP;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASC,0BAAT,CAAoCC,UAApC,EAAgD;AAC5C,SAAO,IAAIb,WAAJ,CAAgBa,UAAhB,CAAP;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASC,kCAAT,CAA4CC,kBAA5C,EAAgE;AAC5D,SAAO,IAAId,mBAAJ,CAAwBc,kBAAxB,CAAP;AACH;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASC,kBAAT,CAA4BC,UAA5B,EAAwC;AACpC,QAAMC,mBAAmB,GAAG,IAAIC,mBAAJ,CAAwBF,UAAxB,CAA5B;AACA,SAAOG,oBAAoB,KAAK,IAAIC,eAAJ,CAAoBH,mBAApB,CAAL,GAAgDA,mBAA3E;AACH;AACD;AACA;AACA;AACA;;;AACA,MAAMG,eAAN,CAAsB;AAClB/qZ,EAAAA,WAAW,CAAC4qZ,mBAAD,EAAsB;AAC7B,SAAKA,mBAAL,GAA2BA,mBAA3B;AACH;;AACDI,EAAAA,mBAAmB,CAACvxM,IAAD,EAAO;AACtB;AACA;AACA;AACA;AACAA,IAAAA,IAAI,GAAG,4BAA4BA,IAAnC;;AACA,QAAI;AACA,YAAMtyL,IAAI,GAAG,IAAI7L,MAAM,CAACgzD,SAAX,GACRC,eADQ,CACQw6U,qBAAqB,CAACtvM,IAAD,CAD7B,EACqC,WADrC,EAERtyL,IAFL;;AAGA,UAAIA,IAAI,KAAK,IAAb,EAAmB;AACf;AACA;AACA;AACA,eAAO,KAAKyjY,mBAAL,CAAyBI,mBAAzB,CAA6CvxM,IAA7C,CAAP;AACH;;AACDtyL,MAAAA,IAAI,CAACG,WAAL,CAAiBH,IAAI,CAACqlF,UAAtB;AACA,aAAOrlF,IAAP;AACH,KAZD,CAaA,MAAM;AACF,aAAO,IAAP;AACH;AACJ;;AA1BiB;AA4BtB;AACA;AACA;AACA;AACA;;;AACA,MAAM0jY,mBAAN,CAA0B;AACtB7qZ,EAAAA,WAAW,CAAC2qZ,UAAD,EAAa;AACpB,SAAKA,UAAL,GAAkBA,UAAlB;AACA,SAAKM,aAAL,GAAqB,KAAKN,UAAL,CAAgBO,cAAhB,CAA+BC,kBAA/B,CAAkD,oBAAlD,CAArB;;AACA,QAAI,KAAKF,aAAL,CAAmB9jY,IAAnB,IAA2B,IAA/B,EAAqC;AACjC;AACA;AACA,YAAMikY,SAAS,GAAG,KAAKH,aAAL,CAAmB9vY,aAAnB,CAAiC,MAAjC,CAAlB;AACA,WAAK8vY,aAAL,CAAmB7jY,WAAnB,CAA+BgkY,SAA/B;AACA,YAAMC,gBAAgB,GAAG,KAAKJ,aAAL,CAAmB9vY,aAAnB,CAAiC,MAAjC,CAAzB;AACAiwY,MAAAA,SAAS,CAAChkY,WAAV,CAAsBikY,gBAAtB;AACH;AACJ;;AACDL,EAAAA,mBAAmB,CAACvxM,IAAD,EAAO;AACtB;AACA,UAAM6xM,UAAU,GAAG,KAAKL,aAAL,CAAmB9vY,aAAnB,CAAiC,UAAjC,CAAnB;;AACA,QAAI,aAAamwY,UAAjB,EAA6B;AACzBA,MAAAA,UAAU,CAAC7uS,SAAX,GAAuBssS,qBAAqB,CAACtvM,IAAD,CAA5C;AACA,aAAO6xM,UAAP;AACH,KANqB,CAOtB;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,UAAMC,SAAS,GAAG,KAAKN,aAAL,CAAmB9vY,aAAnB,CAAiC,MAAjC,CAAlB;AACAowY,IAAAA,SAAS,CAAC9uS,SAAV,GAAsBssS,qBAAqB,CAACtvM,IAAD,CAA3C,CAfsB,CAgBtB;AACA;;AACA,QAAI,KAAKkxM,UAAL,CAAgBa,YAApB,EAAkC;AAC9B,WAAKC,kBAAL,CAAwBF,SAAxB;AACH;;AACD,WAAOA,SAAP;AACH;AACD;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;;;AACIE,EAAAA,kBAAkB,CAAC9tX,EAAD,EAAK;AACnB,UAAM+tX,OAAO,GAAG/tX,EAAE,CAACmR,UAAnB,CADmB,CAEnB;;AACA,SAAK,IAAI7wC,CAAC,GAAGytZ,OAAO,CAACtgZ,MAAR,GAAiB,CAA9B,EAAiC,IAAInN,CAArC,EAAwCA,CAAC,EAAzC,EAA6C;AACzC,YAAM0tZ,MAAM,GAAGD,OAAO,CAACvqZ,IAAR,CAAalD,CAAb,CAAf;AACA,YAAM8hK,QAAQ,GAAG4rP,MAAM,CAACh0Y,IAAxB;;AACA,UAAIooJ,QAAQ,KAAK,WAAb,IAA4BA,QAAQ,CAAC/wJ,OAAT,CAAiB,MAAjB,MAA6B,CAA7D,EAAgE;AAC5D2uB,QAAAA,EAAE,CAACyzH,eAAH,CAAmB2O,QAAnB;AACH;AACJ;;AACD,QAAIzI,SAAS,GAAG35H,EAAE,CAAC6uE,UAAnB;;AACA,WAAO8qD,SAAP,EAAkB;AACd,UAAIA,SAAS,CAACtF,QAAV,KAAuBuS,IAAI,CAACu7B,YAAhC,EACI,KAAK2rN,kBAAL,CAAwBn0P,SAAxB;AACJA,MAAAA,SAAS,GAAGA,SAAS,CAAC5F,WAAtB;AACH;AACJ;;AA5DqB;AA8D1B;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASo5P,oBAAT,GAAgC;AAC5B,MAAI;AACA,WAAO,CAAC,CAAC,IAAIxvY,MAAM,CAACgzD,SAAX,GAAuBC,eAAvB,CAAuCw6U,qBAAqB,CAAC,EAAD,CAA5D,EAAkE,WAAlE,CAAT;AACH,GAFD,CAGA,MAAM;AACF,WAAO,KAAP;AACH;AACJ;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,MAAM6C,gBAAgB,GAAG,iEAAzB;AACA;;AACA,MAAMC,mBAAmB,GAAG,8CAA5B;AACA;;AACA,MAAMC,gBAAgB,GAAG,sIAAzB;;AACA,SAASC,YAAT,CAAsB3oZ,GAAtB,EAA2B;AACvBA,EAAAA,GAAG,GAAGuC,MAAM,CAACvC,GAAD,CAAZ;AACA,MAAIA,GAAG,CAACkgB,KAAJ,CAAUsoY,gBAAV,KAA+BxoZ,GAAG,CAACkgB,KAAJ,CAAUwoY,gBAAV,CAAnC,EACI,OAAO1oZ,GAAP;;AACJ,MAAI,OAAOs0L,SAAP,KAAqB,WAArB,IAAoCA,SAAxC,EAAmD;AAC/C7oJ,IAAAA,OAAO,CAACzqB,IAAR,CAAc,wCAAuChhB,GAAI,qCAAzD;AACH;;AACD,SAAO,YAAYA,GAAnB;AACH;;AACD,SAAS4oZ,cAAT,CAAwBC,MAAxB,EAAgC;AAC5BA,EAAAA,MAAM,GAAGtmZ,MAAM,CAACsmZ,MAAD,CAAf;AACA,SAAOA,MAAM,CAACl+Y,KAAP,CAAa,GAAb,EAAkBjL,GAAlB,CAAuBmpZ,MAAD,IAAYF,YAAY,CAACE,MAAM,CAACjmY,IAAP,EAAD,CAA9C,EAA+DjC,IAA/D,CAAoE,IAApE,CAAP;AACH;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASmoY,MAAT,CAAgBh2V,IAAhB,EAAsB;AAClB,QAAM6zK,GAAG,GAAG,EAAZ;;AACA,OAAK,MAAMtsO,CAAX,IAAgBy4D,IAAI,CAACnoD,KAAL,CAAW,GAAX,CAAhB,EACIg8N,GAAG,CAACtsO,CAAD,CAAH,GAAS,IAAT;;AACJ,SAAOssO,GAAP;AACH;;AACD,SAAS/rF,KAAT,CAAe,GAAGmuQ,IAAlB,EAAwB;AACpB,QAAMpiL,GAAG,GAAG,EAAZ;;AACA,OAAK,MAAMpsO,CAAX,IAAgBwuZ,IAAhB,EAAsB;AAClB,SAAK,MAAMrsZ,CAAX,IAAgBnC,CAAhB,EAAmB;AACf,UAAIA,CAAC,CAACsxB,cAAF,CAAiBnvB,CAAjB,CAAJ,EACIiqO,GAAG,CAACjqO,CAAD,CAAH,GAAS,IAAT;AACP;AACJ;;AACD,SAAOiqO,GAAP;AACH,EACD;AACA;AACA;AACA;AACA;;;AACA,MAAMqiL,aAAa,GAAGF,MAAM,CAAC,wBAAD,CAA5B,EACA;AACA;;AACA,MAAMG,+BAA+B,GAAGH,MAAM,CAAC,gDAAD,CAA9C;AACA,MAAMI,gCAAgC,GAAGJ,MAAM,CAAC,OAAD,CAA/C;AACA,MAAMK,yBAAyB,GAAGvuQ,KAAK,CAACsuQ,gCAAD,EAAmCD,+BAAnC,CAAvC,EACA;;AACA,MAAMG,cAAc,GAAGxuQ,KAAK,CAACquQ,+BAAD,EAAkCH,MAAM,CAAC,qBACjE,wGADiE,GAEjE,2EAFgE,CAAxC,CAA5B,EAGA;;AACA,MAAMO,eAAe,GAAGzuQ,KAAK,CAACsuQ,gCAAD,EAAmCJ,MAAM,CAAC,4BACnE,+FADmE,GAEnE,wEAFkE,CAAzC,CAA7B;AAGA,MAAMQ,cAAc,GAAG1uQ,KAAK,CAACouQ,aAAD,EAAgBI,cAAhB,EAAgCC,eAAhC,EAAiDF,yBAAjD,CAA5B,EACA;;AACA,MAAMI,SAAS,GAAGT,MAAM,CAAC,8DAAD,CAAxB,EACA;;AACA,MAAMU,YAAY,GAAGV,MAAM,CAAC,QAAD,CAA3B;AACA,MAAMW,UAAU,GAAGX,MAAM,CAAC,kHACtB,mGADsB,GAEtB,gIAFsB,GAGtB,0GAHsB,GAItB,2BAJqB,CAAzB,EAKA;;AACA,MAAMY,UAAU,GAAGZ,MAAM,CAAC,4GACtB,sGADsB,GAEtB,kGAFsB,GAGtB,8FAHsB,GAItB,4GAJsB,GAKtB,0GALsB,GAMtB,iFANqB,CAAzB,EAOA;AACA;AACA;AACA;AACA;AACA;;AACA,MAAMa,WAAW,GAAG/uQ,KAAK,CAAC2uQ,SAAD,EAAYC,YAAZ,EAA0BC,UAA1B,EAAsCC,UAAtC,CAAzB,EACA;AACA;AACA;AACA;AACA;;AACA,MAAME,2CAA2C,GAAGd,MAAM,CAAC,uBAAD,CAA1D;AACA;AACA;AACA;AACA;;AACA,MAAMe,wBAAN,CAA+B;AAC3BjtZ,EAAAA,WAAW,GAAG;AACV;AACA;AACA,SAAKktZ,kBAAL,GAA0B,KAA1B;AACA,SAAKC,GAAL,GAAW,EAAX;AACH;;AACDC,EAAAA,gBAAgB,CAACzvX,EAAD,EAAK;AACjB;AACA;AACA;AACA,QAAIyoB,OAAO,GAAGzoB,EAAE,CAAC6uE,UAAjB;AACA,QAAI6gT,eAAe,GAAG,IAAtB;;AACA,WAAOjnW,OAAP,EAAgB;AACZ,UAAIA,OAAO,CAAC4rG,QAAR,KAAqBuS,IAAI,CAACu7B,YAA9B,EAA4C;AACxCutN,QAAAA,eAAe,GAAG,KAAKC,YAAL,CAAkBlnW,OAAlB,CAAlB;AACH,OAFD,MAGK,IAAIA,OAAO,CAAC4rG,QAAR,KAAqBuS,IAAI,CAACgpP,SAA9B,EAAyC;AAC1C,aAAKnwG,KAAL,CAAWh3P,OAAO,CAACgsG,SAAnB;AACH,OAFI,MAGA;AACD;AACA,aAAK86P,kBAAL,GAA0B,IAA1B;AACH;;AACD,UAAIG,eAAe,IAAIjnW,OAAO,CAAComD,UAA/B,EAA2C;AACvCpmD,QAAAA,OAAO,GAAGA,OAAO,CAAComD,UAAlB;AACA;AACH;;AACD,aAAOpmD,OAAP,EAAgB;AACZ;AACA,YAAIA,OAAO,CAAC4rG,QAAR,KAAqBuS,IAAI,CAACu7B,YAA9B,EAA4C;AACxC,eAAK0tN,UAAL,CAAgBpnW,OAAhB;AACH;;AACD,YAAInuC,IAAI,GAAG,KAAKw1Y,qBAAL,CAA2BrnW,OAA3B,EAAoCA,OAAO,CAACsrG,WAA5C,CAAX;;AACA,YAAIz5I,IAAJ,EAAU;AACNmuC,UAAAA,OAAO,GAAGnuC,IAAV;AACA;AACH;;AACDmuC,QAAAA,OAAO,GAAG,KAAKqnW,qBAAL,CAA2BrnW,OAA3B,EAAoCA,OAAO,CAAC63F,UAA5C,CAAV;AACH;AACJ;;AACD,WAAO,KAAKkvQ,GAAL,CAASppY,IAAT,CAAc,EAAd,CAAP;AACH;AACD;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;;;AACIupY,EAAAA,YAAY,CAAC3tQ,OAAD,EAAU;AAClB,UAAMqM,OAAO,GAAGrM,OAAO,CAAC4O,QAAR,CAAiBphJ,WAAjB,EAAhB;;AACA,QAAI,CAACu/Y,cAAc,CAACz9X,cAAf,CAA8B+8H,OAA9B,CAAL,EAA6C;AACzC,WAAKkhQ,kBAAL,GAA0B,IAA1B;AACA,aAAO,CAACF,2CAA2C,CAAC/9X,cAA5C,CAA2D+8H,OAA3D,CAAR;AACH;;AACD,SAAKmhQ,GAAL,CAAS9qZ,IAAT,CAAc,GAAd;AACA,SAAK8qZ,GAAL,CAAS9qZ,IAAT,CAAc2pJ,OAAd;AACA,UAAM0/P,OAAO,GAAG/rQ,OAAO,CAAC7wG,UAAxB;;AACA,SAAK,IAAI7wC,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGytZ,OAAO,CAACtgZ,MAA5B,EAAoCnN,CAAC,EAArC,EAAyC;AACrC,YAAMyvZ,MAAM,GAAGhC,OAAO,CAACvqZ,IAAR,CAAalD,CAAb,CAAf;AACA,YAAM8hK,QAAQ,GAAG2tP,MAAM,CAAC/1Y,IAAxB;AACA,YAAMwjP,KAAK,GAAGp7F,QAAQ,CAAC5yJ,WAAT,EAAd;;AACA,UAAI,CAAC4/Y,WAAW,CAAC99X,cAAZ,CAA2BksO,KAA3B,CAAL,EAAwC;AACpC,aAAK+xJ,kBAAL,GAA0B,IAA1B;AACA;AACH;;AACD,UAAIjiZ,KAAK,GAAGyiZ,MAAM,CAACziZ,KAAnB,CARqC,CASrC;;AACA,UAAI0hZ,SAAS,CAACxxJ,KAAD,CAAb,EACIlwP,KAAK,GAAG8gZ,YAAY,CAAC9gZ,KAAD,CAApB;AACJ,UAAI2hZ,YAAY,CAACzxJ,KAAD,CAAhB,EACIlwP,KAAK,GAAG+gZ,cAAc,CAAC/gZ,KAAD,CAAtB;AACJ,WAAKkiZ,GAAL,CAAS9qZ,IAAT,CAAc,GAAd,EAAmB09J,QAAnB,EAA6B,IAA7B,EAAmC4tP,cAAc,CAAC1iZ,KAAD,CAAjD,EAA0D,GAA1D;AACH;;AACD,SAAKkiZ,GAAL,CAAS9qZ,IAAT,CAAc,GAAd;AACA,WAAO,IAAP;AACH;;AACDmrZ,EAAAA,UAAU,CAACpnW,OAAD,EAAU;AAChB,UAAM4lG,OAAO,GAAG5lG,OAAO,CAACmoG,QAAR,CAAiBphJ,WAAjB,EAAhB;;AACA,QAAIu/Y,cAAc,CAACz9X,cAAf,CAA8B+8H,OAA9B,KAA0C,CAACogQ,aAAa,CAACn9X,cAAd,CAA6B+8H,OAA7B,CAA/C,EAAsF;AAClF,WAAKmhQ,GAAL,CAAS9qZ,IAAT,CAAc,IAAd;AACA,WAAK8qZ,GAAL,CAAS9qZ,IAAT,CAAc2pJ,OAAd;AACA,WAAKmhQ,GAAL,CAAS9qZ,IAAT,CAAc,GAAd;AACH;AACJ;;AACD+6S,EAAAA,KAAK,CAACA,KAAD,EAAQ;AACT,SAAK+vG,GAAL,CAAS9qZ,IAAT,CAAcsrZ,cAAc,CAACvwG,KAAD,CAA5B;AACH;;AACDqwG,EAAAA,qBAAqB,CAAClwU,IAAD,EAAOinK,QAAP,EAAiB;AAClC,QAAIA,QAAQ,IACR,CAACjnK,IAAI,CAACqwU,uBAAL,CAA6BppK,QAA7B,IACGjgF,IAAI,CAACspP,8BADT,MAC6CtpP,IAAI,CAACspP,8BAFtD,EAEsF;AAClF,YAAM,IAAIh1Y,KAAJ,CAAW,6DAA4D0kE,IAAI,CAACuwU,SAAU,EAAtF,CAAN;AACH;;AACD,WAAOtpK,QAAP;AACH;;AAjG0B,EAmG/B;;;AACA,MAAMupK,qBAAqB,GAAG,iCAA9B,EACA;;AACA,MAAMC,uBAAuB,GAAG,eAAhC;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,SAASL,cAAT,CAAwB1iZ,KAAxB,EAA+B;AAC3B,SAAOA,KAAK,CAAC6C,OAAN,CAAc,IAAd,EAAoB,OAApB,EACFA,OADE,CACMigZ,qBADN,EAC6B,UAAUzqY,KAAV,EAAiB;AACjD,UAAM+jQ,EAAE,GAAG/jQ,KAAK,CAACuzG,UAAN,CAAiB,CAAjB,CAAX;AACA,UAAM4+I,GAAG,GAAGnyP,KAAK,CAACuzG,UAAN,CAAiB,CAAjB,CAAZ;AACA,WAAO,QAAS,CAACwwJ,EAAE,GAAG,MAAN,IAAgB,KAAjB,IAA2B5R,GAAG,GAAG,MAAjC,IAA2C,OAAnD,IAA8D,GAArE;AACH,GALM,EAMF3nQ,OANE,CAMMkgZ,uBANN,EAM+B,UAAU1qY,KAAV,EAAiB;AACnD,WAAO,OAAOA,KAAK,CAACuzG,UAAN,CAAiB,CAAjB,CAAP,GAA6B,GAApC;AACH,GARM,EASF/oH,OATE,CASM,IATN,EASY,MATZ,EAUFA,OAVE,CAUM,IAVN,EAUY,MAVZ,CAAP;AAWH;;AACD,IAAImgZ,eAAJ;AACA;AACA;AACA;AACA;;AACA,SAASC,aAAT,CAAuBvD,UAAvB,EAAmCwD,eAAnC,EAAoD;AAChD,MAAI9C,gBAAgB,GAAG,IAAvB;;AACA,MAAI;AACA4C,IAAAA,eAAe,GAAGA,eAAe,IAAIvD,kBAAkB,CAACC,UAAD,CAAvD,CADA,CAEA;;AACA,QAAIyD,UAAU,GAAGD,eAAe,GAAGxoZ,MAAM,CAACwoZ,eAAD,CAAT,GAA6B,EAA7D;AACA9C,IAAAA,gBAAgB,GAAG4C,eAAe,CAACjD,mBAAhB,CAAoCoD,UAApC,CAAnB,CAJA,CAKA;AACA;;AACA,QAAIC,YAAY,GAAG,CAAnB;AACA,QAAIC,UAAU,GAAGF,UAAjB;;AACA,OAAG;AACC,UAAIC,YAAY,KAAK,CAArB,EAAwB;AACpB,cAAM,IAAIx1Y,KAAJ,CAAU,uDAAV,CAAN;AACH;;AACDw1Y,MAAAA,YAAY;AACZD,MAAAA,UAAU,GAAGE,UAAb;AACAA,MAAAA,UAAU,GAAGjD,gBAAgB,CAAC5uS,SAA9B;AACA4uS,MAAAA,gBAAgB,GAAG4C,eAAe,CAACjD,mBAAhB,CAAoCoD,UAApC,CAAnB;AACH,KARD,QAQSA,UAAU,KAAKE,UARxB;;AASA,UAAMC,SAAS,GAAG,IAAItB,wBAAJ,EAAlB;AACA,UAAMuB,QAAQ,GAAGD,SAAS,CAACnB,gBAAV,CAA2BqB,kBAAkB,CAACpD,gBAAD,CAAlB,IAAwCA,gBAAnE,CAAjB;;AACA,QAAI,CAAC,OAAO3zN,SAAP,KAAqB,WAArB,IAAoCA,SAArC,KAAmD62N,SAAS,CAACrB,kBAAjE,EAAqF;AACjFr+W,MAAAA,OAAO,CAACzqB,IAAR,CAAa,kFAAb;AACH;;AACD,WAAO2kY,qBAAqB,CAACyF,QAAD,CAA5B;AACH,GAxBD,SAyBQ;AACJ;AACA,QAAInD,gBAAJ,EAAsB;AAClB,YAAMzqZ,MAAM,GAAG6tZ,kBAAkB,CAACpD,gBAAD,CAAlB,IAAwCA,gBAAvD;;AACA,aAAOzqZ,MAAM,CAAC4rG,UAAd,EAA0B;AACtB5rG,QAAAA,MAAM,CAAC0mB,WAAP,CAAmB1mB,MAAM,CAAC4rG,UAA1B;AACH;AACJ;AACJ;AACJ;;AACD,SAASiiT,kBAAT,CAA4B9wX,EAA5B,EAAgC;AAC5B,SAAO,aAAaA;AAAG;AAAhB,KAAqDw8R,iBAAiB,CAACx8R,EAAD,CAAtE,GACHA,EAAE,CAACpzB,OADA,GAEH,IAFJ;AAGH;;AACD,SAAS4vT,iBAAT,CAA2Bx8R,EAA3B,EAA+B;AAC3B,SAAOA,EAAE,CAACq0H,QAAH,KAAgBuS,IAAI,CAACu7B,YAArB,IAAqCniK,EAAE,CAAC4wH,QAAH,KAAgB,UAA5D;AACH;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,IAAI0nG,eAAJ;;AACA,CAAC,UAAUA,eAAV,EAA2B;AACxBA,EAAAA,eAAe,CAACA,eAAe,CAAC,MAAD,CAAf,GAA0B,CAA3B,CAAf,GAA+C,MAA/C;AACAA,EAAAA,eAAe,CAACA,eAAe,CAAC,MAAD,CAAf,GAA0B,CAA3B,CAAf,GAA+C,MAA/C;AACAA,EAAAA,eAAe,CAACA,eAAe,CAAC,OAAD,CAAf,GAA2B,CAA5B,CAAf,GAAgD,OAAhD;AACAA,EAAAA,eAAe,CAACA,eAAe,CAAC,QAAD,CAAf,GAA4B,CAA7B,CAAf,GAAiD,QAAjD;AACAA,EAAAA,eAAe,CAACA,eAAe,CAAC,KAAD,CAAf,GAAyB,CAA1B,CAAf,GAA8C,KAA9C;AACAA,EAAAA,eAAe,CAACA,eAAe,CAAC,cAAD,CAAf,GAAkC,CAAnC,CAAf,GAAuD,cAAvD;AACH,CAPD,EAOGA,eAAe,KAAKA,eAAe,GAAG,EAAvB,CAPlB;AASA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASy4J,cAAT,CAAwBN,UAAxB,EAAoC;AAChC,QAAMG,SAAS,GAAGI,YAAY,EAA9B;;AACA,MAAIJ,SAAJ,EAAe;AACX,WAAOrF,2BAA2B,CAACqF,SAAS,CAACK,QAAV,CAAmB34J,eAAe,CAACs4E,IAAnC,EAAyC6/E,UAAzC,KAAwD,EAAzD,CAAlC;AACH;;AACD,MAAIvE,+BAA+B,CAACuE,UAAD,EAAa;AAAO;AAApB,GAAnC,EAAoE;AAChE,WAAOlF,2BAA2B,CAACU,eAAe,CAACwE,UAAD,CAAhB,CAAlC;AACH;;AACD,SAAOF,aAAa,CAAC7b,WAAW,EAAZ,EAAgB1N,eAAe,CAACypB,UAAD,CAA/B,CAApB;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASS,eAAT,CAAyBC,WAAzB,EAAsC;AAClC,QAAMP,SAAS,GAAGI,YAAY,EAA9B;;AACA,MAAIJ,SAAJ,EAAe;AACX,WAAOA,SAAS,CAACK,QAAV,CAAmB34J,eAAe,CAACu9D,KAAnC,EAA0Cs7F,WAA1C,KAA0D,EAAjE;AACH;;AACD,MAAIjF,+BAA+B,CAACiF,WAAD,EAAc;AAAQ;AAAtB,GAAnC,EAAuE;AACnE,WAAOlF,eAAe,CAACkF,WAAD,CAAtB;AACH;;AACD,SAAOnqB,eAAe,CAACmqB,WAAD,CAAtB;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASC,aAAT,CAAuBC,SAAvB,EAAkC;AAC9B,QAAMT,SAAS,GAAGI,YAAY,EAA9B;;AACA,MAAIJ,SAAJ,EAAe;AACX,WAAOA,SAAS,CAACK,QAAV,CAAmB34J,eAAe,CAAC16O,GAAnC,EAAwCyzY,SAAxC,KAAsD,EAA7D;AACH;;AACD,MAAInF,+BAA+B,CAACmF,SAAD,EAAY;AAAM;AAAlB,GAAnC,EAAiE;AAC7D,WAAOpF,eAAe,CAACoF,SAAD,CAAtB;AACH;;AACD,SAAOjD,YAAY,CAACpnB,eAAe,CAACqqB,SAAD,CAAhB,CAAnB;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASC,qBAAT,CAA+BC,iBAA/B,EAAkD;AAC9C,QAAMX,SAAS,GAAGI,YAAY,EAA9B;;AACA,MAAIJ,SAAJ,EAAe;AACX,WAAOnF,gCAAgC,CAACmF,SAAS,CAACK,QAAV,CAAmB34J,eAAe,CAACu4E,YAAnC,EAAiD0gF,iBAAjD,KAAuE,EAAxE,CAAvC;AACH;;AACD,MAAIrF,+BAA+B,CAACqF,iBAAD,EAAoB;AAAc;AAAlC,GAAnC,EAAyF;AACrF,WAAO9F,gCAAgC,CAACQ,eAAe,CAACsF,iBAAD,CAAhB,CAAvC;AACH;;AACD,QAAM,IAAIr2Y,KAAJ,CAAU,gFAAV,CAAN;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASs2Y,gBAAT,CAA0BC,YAA1B,EAAwC;AACpC,QAAMb,SAAS,GAAGI,YAAY,EAA9B;;AACA,MAAIJ,SAAJ,EAAe;AACX,WAAOpF,6BAA6B,CAACoF,SAAS,CAACK,QAAV,CAAmB34J,eAAe,CAACkgE,MAAnC,EAA2Ci5F,YAA3C,KAA4D,EAA7D,CAApC;AACH;;AACD,MAAIvF,+BAA+B,CAACuF,YAAD,EAAe;AAAS;AAAxB,GAAnC,EAA0E;AACtE,WAAOjG,6BAA6B,CAACS,eAAe,CAACwF,YAAD,CAAhB,CAApC;AACH;;AACD,QAAM,IAAIv2Y,KAAJ,CAAU,uCAAV,CAAN;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASw2Y,mBAAT,CAA6B51M,IAA7B,EAAmC;AAC/B;AACA;AACA;AACA;AACA;AACA;AACA,MAAI/hB,SAAS,KAAK,CAAC5zL,KAAK,CAACC,OAAN,CAAc01M,IAAd,CAAD,IAAwB,CAAC31M,KAAK,CAACC,OAAN,CAAc01M,IAAI,CAAChsI,GAAnB,CAAzB,IAAoDgsI,IAAI,CAACruM,MAAL,KAAgB,CAAzE,CAAb,EAA0F;AACtF,UAAM,IAAIyN,KAAJ,CAAW,sDAAqD4gM,IAAI,CAAC11L,IAAL,CAAU,GAAV,CAAe,EAA/E,CAAN;AACH;;AACD,SAAOglY,qBAAqB,CAACtvM,IAAI,CAAC,CAAD,CAAL,CAA5B;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAAS61M,0BAAT,CAAoClsZ,GAApC,EAAyC;AACrC;AACA;AACA;AACA;AACA;AACA;AACA,MAAIs0L,SAAS,KAAK,CAAC5zL,KAAK,CAACC,OAAN,CAAcX,GAAd,CAAD,IAAuB,CAACU,KAAK,CAACC,OAAN,CAAcX,GAAG,CAACqqE,GAAlB,CAAxB,IAAkDrqE,GAAG,CAACgI,MAAJ,KAAe,CAAtE,CAAb,EAAuF;AACnF,UAAM,IAAIyN,KAAJ,CAAW,qDAAoDzV,GAAG,CAAC2gB,IAAJ,CAAS,GAAT,CAAc,EAA7E,CAAN;AACH;;AACD,SAAOilY,0BAA0B,CAAC5lZ,GAAG,CAAC,CAAD,CAAJ,CAAjC;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASmsZ,eAAT,CAAyB//P,GAAzB,EAA8BlP,IAA9B,EAAoC;AAChC,MAAKA,IAAI,KAAK,KAAT,KACAkP,GAAG,KAAK,OAAR,IAAmBA,GAAG,KAAK,OAA3B,IAAsCA,GAAG,KAAK,QAA9C,IAA0DA,GAAG,KAAK,OAAlE,IACGA,GAAG,KAAK,QAFX,CAAD,IAGClP,IAAI,KAAK,MAAT,KAAoBkP,GAAG,KAAK,MAAR,IAAkBA,GAAG,KAAK,MAA9C,CAHL,EAG6D;AACzD,WAAOy/P,qBAAP;AACH;;AACD,SAAOF,aAAP;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASS,0BAAT,CAAoCR,SAApC,EAA+Cx/P,GAA/C,EAAoDlP,IAApD,EAA0D;AACtD,SAAOivQ,eAAe,CAAC//P,GAAD,EAAMlP,IAAN,CAAf,CAA2B0uQ,SAA3B,CAAP;AACH;;AACD,SAASS,8BAAT,CAAwC93Y,IAAxC,EAA8C;AAC1C,MAAIA,IAAI,CAACxK,WAAL,GAAmBU,UAAnB,CAA8B,IAA9B,CAAJ,EAAyC;AACrC,UAAMsnQ,GAAG,GAAI,8BAA6Bx9P,IAAK,wCAAnC,GACP,eAAcA,IAAI,CAACtQ,KAAL,CAAW,CAAX,CAAc,OADrB,GAEP,SAAQsQ,IAAK,oEAFN,GAGP,kBAHL;AAIA,UAAM,IAAIkB,KAAJ,CAAUs8P,GAAV,CAAN;AACH;AACJ;;AACD,SAASu6I,8BAAT,CAAwC/3Y,IAAxC,EAA8C;AAC1C,MAAIA,IAAI,CAACxK,WAAL,GAAmBU,UAAnB,CAA8B,IAA9B,CAAJ,EAAyC;AACrC,UAAMsnQ,GAAG,GAAI,+BAA8Bx9P,IAAK,wCAApC,GACP,eAAcA,IAAI,CAACtQ,KAAL,CAAW,CAAX,CAAc,OADjC;AAEA,UAAM,IAAIwR,KAAJ,CAAUs8P,GAAV,CAAN;AACH;AACJ;;AACD,SAASw5I,YAAT,GAAwB;AACpB,QAAM5f,KAAK,GAAG2F,QAAQ,EAAtB;AACA,SAAO3F,KAAK,IAAIA,KAAK,CAAC1B,SAAD,CAArB;AACH;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASsiB,WAAT,CAAqBnqZ,MAArB,EAA6B;AACzB,MAAIoqZ,OAAO,GAAGC,eAAe,CAACrqZ,MAAD,CAA7B;;AACA,MAAIoqZ,OAAJ,EAAa;AACT;AACA;AACA,QAAI9rZ,KAAK,CAACC,OAAN,CAAc6rZ,OAAd,CAAJ,EAA4B;AACxB,YAAM7gB,KAAK,GAAG6gB,OAAd;AACA,UAAIztE,SAAJ;AACA,UAAI59O,SAAS,GAAGunE,SAAhB;AACA,UAAI4nI,UAAU,GAAG5nI,SAAjB;;AACA,UAAIgkP,mBAAmB,CAACtqZ,MAAD,CAAvB,EAAiC;AAC7B28U,QAAAA,SAAS,GAAG4tE,gBAAgB,CAAChhB,KAAD,EAAQvpY,MAAR,CAA5B;;AACA,YAAI28U,SAAS,IAAI,CAAC,CAAlB,EAAqB;AACjB,gBAAM,IAAItpU,KAAJ,CAAU,yDAAV,CAAN;AACH;;AACD0rF,QAAAA,SAAS,GAAG/+F,MAAZ;AACH,OAND,MAOK,IAAIwqZ,mBAAmB,CAACxqZ,MAAD,CAAvB,EAAiC;AAClC28U,QAAAA,SAAS,GAAG8tE,gBAAgB,CAAClhB,KAAD,EAAQvpY,MAAR,CAA5B;;AACA,YAAI28U,SAAS,IAAI,CAAC,CAAlB,EAAqB;AACjB,gBAAM,IAAItpU,KAAJ,CAAU,yDAAV,CAAN;AACH;;AACD66R,QAAAA,UAAU,GAAGw8G,wBAAwB,CAAC/tE,SAAD,EAAY4sD,KAAZ,EAAmB,KAAnB,CAArC;AACH,OANI,MAOA;AACD5sD,QAAAA,SAAS,GAAGguE,oBAAoB,CAACphB,KAAD,EAAQvpY,MAAR,CAAhC;;AACA,YAAI28U,SAAS,IAAI,CAAC,CAAlB,EAAqB;AACjB,iBAAO,IAAP;AACH;AACJ,OAxBuB,CAyBxB;AACA;AACA;AACA;;;AACA,YAAMriP,MAAM,GAAG6yS,WAAW,CAAC5D,KAAK,CAAC5sD,SAAD,CAAN,CAA1B;AACA,YAAMiuE,WAAW,GAAGP,eAAe,CAAC/vT,MAAD,CAAnC;AACA,YAAMp+F,OAAO,GAAI0uZ,WAAW,IAAI,CAACtsZ,KAAK,CAACC,OAAN,CAAcqsZ,WAAd,CAAjB,GACZA,WADY,GAEZC,cAAc,CAACthB,KAAD,EAAQ5sD,SAAR,EAAmBriP,MAAnB,CAFlB,CA/BwB,CAkCxB;;AACA,UAAIyE,SAAS,IAAI7iG,OAAO,CAAC6iG,SAAR,KAAsBunE,SAAvC,EAAkD;AAC9CpqK,QAAAA,OAAO,CAAC6iG,SAAR,GAAoBA,SAApB;AACA+rT,QAAAA,eAAe,CAAC5uZ,OAAO,CAAC6iG,SAAT,EAAoB7iG,OAApB,CAAf;AACH,OAtCuB,CAuCxB;;;AACA,UAAIgyS,UAAU,IAAIhyS,OAAO,CAACgyS,UAAR,KAAuB5nI,SAAzC,EAAoD;AAChDpqK,QAAAA,OAAO,CAACgyS,UAAR,GAAqBA,UAArB;;AACA,aAAK,IAAIz1S,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGy1S,UAAU,CAACtoS,MAA/B,EAAuCnN,CAAC,EAAxC,EAA4C;AACxCqyZ,UAAAA,eAAe,CAAC58G,UAAU,CAACz1S,CAAD,CAAX,EAAgByD,OAAhB,CAAf;AACH;AACJ;;AACD4uZ,MAAAA,eAAe,CAAC5uZ,OAAO,CAACo+F,MAAT,EAAiBp+F,OAAjB,CAAf;AACAkuZ,MAAAA,OAAO,GAAGluZ,OAAV;AACH;AACJ,GApDD,MAqDK;AACD,UAAM6uZ,QAAQ,GAAG/qZ,MAAjB;AACAkyL,IAAAA,SAAS,IAAIgvM,aAAa,CAAC6pB,QAAD,CAA1B,CAFC,CAGD;AACA;;AACA,QAAI3vZ,MAAM,GAAG2vZ,QAAb;;AACA,WAAO3vZ,MAAM,GAAGA,MAAM,CAACq9I,UAAvB,EAAmC;AAC/B,YAAM4+B,aAAa,GAAGgzO,eAAe,CAACjvZ,MAAD,CAArC;;AACA,UAAIi8K,aAAJ,EAAmB;AACf,YAAIkyN,KAAJ;;AACA,YAAIjrY,KAAK,CAACC,OAAN,CAAc84K,aAAd,CAAJ,EAAkC;AAC9BkyN,UAAAA,KAAK,GAAGlyN,aAAR;AACH,SAFD,MAGK;AACDkyN,UAAAA,KAAK,GAAGlyN,aAAa,CAACkyN,KAAtB;AACH,SAPc,CAQf;AACA;;;AACA,YAAI,CAACA,KAAL,EAAY;AACR,iBAAO,IAAP;AACH;;AACD,cAAMvyR,KAAK,GAAG2zS,oBAAoB,CAACphB,KAAD,EAAQwhB,QAAR,CAAlC;;AACA,YAAI/zS,KAAK,IAAI,CAAb,EAAgB;AACZ,gBAAM1c,MAAM,GAAG6yS,WAAW,CAAC5D,KAAK,CAACvyR,KAAD,CAAN,CAA1B;AACA,gBAAM96G,OAAO,GAAG2uZ,cAAc,CAACthB,KAAD,EAAQvyR,KAAR,EAAe1c,MAAf,CAA9B;AACAwwT,UAAAA,eAAe,CAACxwT,MAAD,EAASp+F,OAAT,CAAf;AACAkuZ,UAAAA,OAAO,GAAGluZ,OAAV;AACA;AACH;AACJ;AACJ;AACJ;;AACD,SAAOkuZ,OAAO,IAAI,IAAlB;AACH;AACD;AACA;AACA;;;AACA,SAASS,cAAT,CAAwBthB,KAAxB,EAA+B5sD,SAA/B,EAA0CriP,MAA1C,EAAkD;AAC9C,SAAO;AACHivS,IAAAA,KADG;AAEH5sD,IAAAA,SAFG;AAGHriP,IAAAA,MAHG;AAIHyE,IAAAA,SAAS,EAAEunE,SAJR;AAKH4nI,IAAAA,UAAU,EAAE5nI,SALT;AAMH0kP,IAAAA,SAAS,EAAE1kP;AANR,GAAP;AAQH;AACD;AACA;AACA;AACA;AACA;AACA;;;AACA,SAAS2kP,0BAAT,CAAoCC,iBAApC,EAAuD;AACnD,MAAI3hB,KAAK,GAAG8gB,eAAe,CAACa,iBAAD,CAA3B;AACA,MAAI3sU,IAAJ;;AACA,MAAIjgF,KAAK,CAACC,OAAN,CAAcgrY,KAAd,CAAJ,EAA0B;AACtB,UAAM5sD,SAAS,GAAG4tE,gBAAgB,CAAChhB,KAAD,EAAQ2hB,iBAAR,CAAlC;AACA3sU,IAAAA,IAAI,GAAGmvT,wBAAwB,CAAC/wD,SAAD,EAAY4sD,KAAZ,CAA/B;AACA,UAAMrtY,OAAO,GAAG2uZ,cAAc,CAACthB,KAAD,EAAQ5sD,SAAR,EAAmBp+P,IAAI,CAAC0oT,IAAD,CAAvB,CAA9B;AACA/qY,IAAAA,OAAO,CAAC6iG,SAAR,GAAoBmsT,iBAApB;AACAJ,IAAAA,eAAe,CAACI,iBAAD,EAAoBhvZ,OAApB,CAAf;AACA4uZ,IAAAA,eAAe,CAAC5uZ,OAAO,CAACo+F,MAAT,EAAiBp+F,OAAjB,CAAf;AACH,GAPD,MAQK;AACD,UAAMA,OAAO,GAAGqtY,KAAhB;AACAhrT,IAAAA,IAAI,GAAGmvT,wBAAwB,CAACxxY,OAAO,CAACygV,SAAT,EAAoBzgV,OAAO,CAACqtY,KAA5B,CAA/B;AACH;;AACD,SAAOhrT,IAAP;AACH;AACD;AACA;AACA;;;AACA,MAAM4sU,qBAAqB,GAAG,eAA9B;AACA;AACA;AACA;AACA;;AACA,SAASL,eAAT,CAAyB9qZ,MAAzB,EAAiC/D,IAAjC,EAAuC;AACnCi2L,EAAAA,SAAS,IAAI8uM,aAAa,CAAChhY,MAAD,EAAS,iBAAT,CAA1B;AACAA,EAAAA,MAAM,CAACmrZ,qBAAD,CAAN,GAAgClvZ,IAAhC;AACH;AACD;AACA;AACA;AACA;;;AACA,SAASouZ,eAAT,CAAyBrqZ,MAAzB,EAAiC;AAC7BkyL,EAAAA,SAAS,IAAI8uM,aAAa,CAAChhY,MAAD,EAAS,iBAAT,CAA1B;AACA,SAAOA,MAAM,CAACmrZ,qBAAD,CAAN,IAAiC,IAAxC;AACH;;AACD,SAASC,gBAAT,CAA0BprZ,MAA1B,EAAkC;AAC9B,QAAMyF,KAAK,GAAG4kZ,eAAe,CAACrqZ,MAAD,CAA7B;;AACA,MAAIyF,KAAJ,EAAW;AACP,WAAOnH,KAAK,CAACC,OAAN,CAAckH,KAAd,IAAuBA,KAAvB,GAA+BA,KAAK,CAAC8jY,KAA5C;AACH;;AACD,SAAO,IAAP;AACH;;AACD,SAAS+gB,mBAAT,CAA6B37W,QAA7B,EAAuC;AACnC,SAAOA,QAAQ,IAAIA,QAAQ,CAACn0C,WAArB,IAAoCm0C,QAAQ,CAACn0C,WAAT,CAAqBy/N,IAAhE;AACH;;AACD,SAASuwL,mBAAT,CAA6B77W,QAA7B,EAAuC;AACnC,SAAOA,QAAQ,IAAIA,QAAQ,CAACn0C,WAArB,IAAoCm0C,QAAQ,CAACn0C,WAAT,CAAqBipM,IAAhE;AACH;AACD;AACA;AACA;;;AACA,SAASknN,oBAAT,CAA8BphB,KAA9B,EAAqCvpY,MAArC,EAA6C;AACzC,QAAMqjY,KAAK,GAAGkG,KAAK,CAACrC,KAAD,CAAnB;;AACA,OAAK,IAAIzuY,CAAC,GAAG4vY,aAAb,EAA4B5vY,CAAC,GAAG4qY,KAAK,CAAC/6G,iBAAtC,EAAyD7vR,CAAC,EAA1D,EAA8D;AAC1D,QAAI00Y,WAAW,CAAC5D,KAAK,CAAC9wY,CAAD,CAAN,CAAX,KAA0BuH,MAA9B,EAAsC;AAClC,aAAOvH,CAAP;AACH;AACJ;;AACD,SAAO,CAAC,CAAR;AACH;AACD;AACA;AACA;;;AACA,SAAS4yZ,mBAAT,CAA6BjoB,KAA7B,EAAoC;AAChC,MAAIA,KAAK,CAACn6O,KAAV,EAAiB;AACb,WAAOm6O,KAAK,CAACn6O,KAAb;AACH,GAFD,MAGK,IAAIm6O,KAAK,CAAC3wX,IAAV,EAAgB;AACjB,WAAO2wX,KAAK,CAAC3wX,IAAb;AACH,GAFI,MAGA;AACD;AACA;AACA;AACA,WAAO2wX,KAAK,CAAChoY,MAAN,IAAgB,CAACgoY,KAAK,CAAChoY,MAAN,CAAaqX,IAArC,EAA2C;AACvC2wX,MAAAA,KAAK,GAAGA,KAAK,CAAChoY,MAAd;AACH;;AACD,WAAOgoY,KAAK,CAAChoY,MAAN,IAAgBgoY,KAAK,CAAChoY,MAAN,CAAaqX,IAApC;AACH;AACJ;AACD;AACA;AACA;;;AACA,SAAS83Y,gBAAT,CAA0BhhB,KAA1B,EAAiC2hB,iBAAjC,EAAoD;AAChD,QAAMI,gBAAgB,GAAG/hB,KAAK,CAACrC,KAAD,CAAL,CAAap5C,UAAtC;;AACA,MAAIw9D,gBAAJ,EAAsB;AAClB,SAAK,IAAI7yZ,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAG6yZ,gBAAgB,CAAC1lZ,MAArC,EAA6CnN,CAAC,EAA9C,EAAkD;AAC9C,YAAM8yZ,qBAAqB,GAAGD,gBAAgB,CAAC7yZ,CAAD,CAA9C;AACA,YAAM+yZ,aAAa,GAAG9d,wBAAwB,CAAC6d,qBAAD,EAAwBhiB,KAAxB,CAA9C;;AACA,UAAIiiB,aAAa,CAAC/jB,OAAD,CAAb,KAA2ByjB,iBAA/B,EAAkD;AAC9C,eAAOK,qBAAP;AACH;AACJ;AACJ,GARD,MASK;AACD,UAAME,iBAAiB,GAAG/d,wBAAwB,CAACrF,aAAD,EAAgBkB,KAAhB,CAAlD;AACA,UAAMmiB,aAAa,GAAGD,iBAAiB,CAAChkB,OAAD,CAAvC;;AACA,QAAIikB,aAAa,KAAKR,iBAAtB,EAAyC;AACrC;AACA;AACA,aAAO7iB,aAAP;AACH;AACJ;;AACD,SAAO,CAAC,CAAR;AACH;AACD;AACA;AACA;;;AACA,SAASoiB,gBAAT,CAA0BlhB,KAA1B,EAAiCoiB,iBAAjC,EAAoD;AAChD;AACA;AACA;AACA;AACA;AACA,MAAIvoB,KAAK,GAAGmG,KAAK,CAACrC,KAAD,CAAL,CAAalgS,UAAzB;;AACA,SAAOo8R,KAAP,EAAc;AACV,UAAMwoB,mBAAmB,GAAGxoB,KAAK,CAAC8P,cAAlC;AACA,UAAM2Y,iBAAiB,GAAGzoB,KAAK,CAAC+P,YAAhC;;AACA,SAAK,IAAI16Y,CAAC,GAAGmzZ,mBAAb,EAAkCnzZ,CAAC,GAAGozZ,iBAAtC,EAAyDpzZ,CAAC,EAA1D,EAA8D;AAC1D,UAAI8wY,KAAK,CAAC9wY,CAAD,CAAL,KAAakzZ,iBAAjB,EAAoC;AAChC,eAAOvoB,KAAK,CAACpsR,KAAb;AACH;AACJ;;AACDosR,IAAAA,KAAK,GAAGioB,mBAAmB,CAACjoB,KAAD,CAA3B;AACH;;AACD,SAAO,CAAC,CAAR;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASsnB,wBAAT,CAAkC/tE,SAAlC,EAA6C4sD,KAA7C,EAAoDuiB,iBAApD,EAAuE;AACnE,QAAM1oB,KAAK,GAAGmG,KAAK,CAACrC,KAAD,CAAL,CAAajrY,IAAb,CAAkB0gV,SAAlB,CAAd;AACA,MAAIovE,mBAAmB,GAAG3oB,KAAK,CAAC8P,cAAhC;AACA,MAAI6Y,mBAAmB,IAAI,CAA3B,EACI,OAAOtuH,WAAP;AACJ,QAAMuuH,iBAAiB,GAAG5oB,KAAK,CAAC+P,YAAhC;AACA,MAAI,CAAC2Y,iBAAD,IAAsB1oB,KAAK,CAACr8O,KAAN,GAAc;AAAE;AAA1C,IACIglQ,mBAAmB;AACvB,SAAOxiB,KAAK,CAAC1nY,KAAN,CAAYkqZ,mBAAZ,EAAiCC,iBAAjC,CAAP;AACH;;AACD,SAASC,uBAAT,CAAiCtvE,SAAjC,EAA4C4sD,KAA5C,EAAmD;AAC/C,QAAMnG,KAAK,GAAGmG,KAAK,CAACrC,KAAD,CAAL,CAAajrY,IAAb,CAAkB0gV,SAAlB,CAAd;AACA,MAAIovE,mBAAmB,GAAG3oB,KAAK,CAAC8P,cAAhC;AACA,SAAO9P,KAAK,CAACr8O,KAAN,GAAc;AAAE;AAAhB,IAAwCwiP,KAAK,CAACwiB,mBAAD,CAA7C,GAAqE,IAA5E;AACH;AACD;AACA;AACA;AACA;;;AACA,SAASG,iBAAT,CAA2B3iB,KAA3B,EAAkC5sD,SAAlC,EAA6C;AACzC,QAAMymD,KAAK,GAAGmG,KAAK,CAACrC,KAAD,CAAL,CAAajrY,IAAb,CAAkB0gV,SAAlB,CAAd;;AACA,MAAIymD,KAAK,IAAIA,KAAK,CAAC+oB,UAAnB,EAA+B;AAC3B,UAAMx3Y,MAAM,GAAG,EAAf;AACA,QAAIy3Y,UAAU,GAAGhpB,KAAK,CAACpsR,KAAN,GAAc,CAA/B;;AACA,SAAK,IAAIv+G,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAG2qY,KAAK,CAAC+oB,UAAN,CAAiBvmZ,MAArC,EAA6CnN,CAAC,IAAI,CAAlD,EAAqD;AACjDkc,MAAAA,MAAM,CAACyuX,KAAK,CAAC+oB,UAAN,CAAiB1zZ,CAAjB,CAAD,CAAN,GAA8B8wY,KAAK,CAAC6iB,UAAD,CAAnC;AACAA,MAAAA,UAAU;AACb;;AACD,WAAOz3Y,MAAP;AACH;;AACD,SAAO,IAAP;AACH;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,MAAM03Y,UAAU,GAAG,QAAnB;AACA,MAAMC,mBAAmB,GAAG,gBAA5B;AACA,MAAMC,oBAAoB,GAAG,iBAA7B;AACA,MAAMC,YAAY,GAAG,eAArB;;AACA,SAASC,YAAT,CAAsBrjY,OAAtB,EAA+BsjY,aAA/B,EAA8C;AAC1C,QAAM/8I,GAAG,GAAI,GAAEvmP,OAAQ,eAAcsjY,aAAa,YAAYr5Y,KAAzB,GAAiCq5Y,aAAa,CAACtjY,OAA/C,GAAyDsjY,aAAc,EAA5G;AACA,QAAMlxZ,KAAK,GAAG6X,KAAK,CAACs8P,GAAD,CAAnB;AACAn0Q,EAAAA,KAAK,CAAC+wZ,oBAAD,CAAL,GAA8BG,aAA9B;AACA,SAAOlxZ,KAAP;AACH;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASmxZ,OAAT,CAAiBnxZ,KAAjB,EAAwB;AACpB,SAAOA,KAAK,CAAC6wZ,UAAD,CAAZ;AACH;;AACD,SAASO,eAAT,CAAyBpxZ,KAAzB,EAAgC;AAC5B,SAAOA,KAAK,CAAC8wZ,mBAAD,CAAZ;AACH;;AACD,SAASO,gBAAT,CAA0BrxZ,KAA1B,EAAiC;AAC7B,SAAOA,KAAK,CAAC+wZ,oBAAD,CAAZ;AACH;;AACD,SAASO,cAAT,CAAwBtxZ,KAAxB,EAA+B;AAC3B,SAAOA,KAAK,IAAIA,KAAK,CAACgxZ,YAAD,CAAd,IAAgCO,kBAAvC;AACH;;AACD,SAASA,kBAAT,CAA4B1jX,OAA5B,EAAqC,GAAG4N,MAAxC,EAAgD;AAC5C5N,EAAAA,OAAO,CAAC7tC,KAAR,CAAc,GAAGy7C,MAAjB;AACH;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,MAAM+1W,YAAN,CAAmB;AACfxyZ,EAAAA,WAAW,GAAG;AACV;AACR;AACA;AACQ,SAAK43T,QAAL,GAAgB/oR,OAAhB;AACH;;AACDysQ,EAAAA,WAAW,CAACt6S,KAAD,EAAQ;AACf,UAAMkxZ,aAAa,GAAG,KAAKO,kBAAL,CAAwBzxZ,KAAxB,CAAtB;;AACA,UAAMU,OAAO,GAAG,KAAKgxZ,YAAL,CAAkB1xZ,KAAlB,CAAhB,CAFe,CAGf;AACA;;;AACA,UAAM2xZ,WAAW,GAAGL,cAAc,CAACtxZ,KAAD,CAAlC;AACA2xZ,IAAAA,WAAW,CAAC,KAAK/6F,QAAN,EAAiB,OAAjB,EAAyB52T,KAAzB,CAAX;;AACA,QAAIkxZ,aAAJ,EAAmB;AACfS,MAAAA,WAAW,CAAC,KAAK/6F,QAAN,EAAiB,gBAAjB,EAAkCs6F,aAAlC,CAAX;AACH;;AACD,QAAIxwZ,OAAJ,EAAa;AACTixZ,MAAAA,WAAW,CAAC,KAAK/6F,QAAN,EAAgB,eAAhB,EAAiCl2T,OAAjC,CAAX;AACH;AACJ;AACD;;;AACAgxZ,EAAAA,YAAY,CAAC1xZ,KAAD,EAAQ;AAChB,WAAOA,KAAK,GAAIoxZ,eAAe,CAACpxZ,KAAD,CAAf,IAA0B,KAAK0xZ,YAAL,CAAkBL,gBAAgB,CAACrxZ,KAAD,CAAlC,CAA9B,GAA4E,IAAxF;AACH;AACD;;;AACAyxZ,EAAAA,kBAAkB,CAACzxZ,KAAD,EAAQ;AACtB,QAAIzD,CAAC,GAAGyD,KAAK,IAAIqxZ,gBAAgB,CAACrxZ,KAAD,CAAjC;;AACA,WAAOzD,CAAC,IAAI80Z,gBAAgB,CAAC90Z,CAAD,CAA5B,EAAiC;AAC7BA,MAAAA,CAAC,GAAG80Z,gBAAgB,CAAC90Z,CAAD,CAApB;AACH;;AACD,WAAOA,CAAC,IAAI,IAAZ;AACH;;AAhCc;AAmCnB;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,MAAMk4P,sBAAsB,GAAG;AAC3B99O,EAAAA,IAAI,EAAE;AADqB,CAA/B;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,MAAM+9O,gBAAgB,GAAG;AACrB/9O,EAAAA,IAAI,EAAE;AADe,CAAzB;AAIA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;AACA;AACA;AACA;;AACA,MAAMi7Y,kBAAkB,GAAG,4BAA3B;AACA;AACA;AACA;;AACA,MAAMC,iBAAiB,GAAG,OAA1B;AACA,MAAMC,yBAAyB,GAAG,gBAAlC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,SAASC,iBAAT,CAA2B9nZ,KAA3B,EAAkC;AAC9B,SAAOA,KAAK,CAAC6C,OAAN,CAAc8kZ,kBAAd,EAAmChpZ,IAAD,IAAUA,IAAI,CAACkE,OAAL,CAAa+kZ,iBAAb,EAAgCC,yBAAhC,CAA5C,CAAP;AACH;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASE,yBAAT,CAAmCr7Y,IAAnC,EAAyC;AACrC;AACAA,EAAAA,IAAI,GAAGm5J,mBAAmB,CAACn5J,IAAI,CAAC7J,OAAL,CAAa,OAAb,EAAsB,GAAtB,CAAD,CAA1B;AACA,SAAQ,cAAa6J,IAAK,EAA1B;AACH;;AACD,MAAMs7Y,iBAAiB,GAAG,UAA1B;;AACA,SAASniP,mBAAT,CAA6Bx+E,KAA7B,EAAoC;AAChC,SAAOA,KAAK,CAACxkF,OAAN,CAAcmlZ,iBAAd,EAAiC,CAAC,GAAGx0Z,CAAJ,KAAU,MAAMA,CAAC,CAAC,CAAD,CAAD,CAAK0O,WAAL,EAAjD,CAAP;AACH;;AACD,SAAS+lZ,0BAAT,CAAoCjoZ,KAApC,EAA2C;AACvC,MAAI;AACA;AACA,WAAOA,KAAK,IAAI,IAAT,GAAgBA,KAAK,CAACxK,QAAN,GAAiB4G,KAAjB,CAAuB,CAAvB,EAA0B,EAA1B,CAAhB,GAAgD4D,KAAvD;AACH,GAHD,CAIA,OAAO1N,CAAP,EAAU;AACN,WAAO,uDAAP;AACH;AACJ;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,MAAM41Z,gBAAgB,GAAG,CAAC,MAAM,CAAC,OAAOvyY,qBAAP,KAAiC,WAAjC,IAC7BA,qBAD6B,IACJ;AACzB1D,UAF4B,CAEjB;AAFiB,EAI3B8Q,IAJ2B,CAItBkoP,OAJsB,CAAP,GAAzB;AAKA;AACA;AACA;AACA;;;AACA,SAASk9I,eAAT,CAAyBzzQ,OAAzB,EAAkC;AAC9B,SAAOA,OAAO,CAACokB,aAAR,CAAsB0hC,WAA7B;AACH;AACD;AACA;AACA;AACA;;;AACA,SAAS4tN,iBAAT,CAA2B1zQ,OAA3B,EAAoC;AAChC,SAAOA,OAAO,CAACokB,aAAf;AACH;AACD;AACA;AACA;AACA;;;AACA,SAASuvP,aAAT,CAAuB3zQ,OAAvB,EAAgC;AAC5B,SAAOA,OAAO,CAACokB,aAAR,CAAsB58I,IAA7B;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,MAAMosY,uBAAuB,GAAI,GAAjC;AACA;AACA;AACA;;AACA,SAASC,aAAT,CAAuBvoZ,KAAvB,EAA8B;AAC1B,MAAIA,KAAK,YAAY+qP,QAArB,EAA+B;AAC3B,WAAO/qP,KAAK,EAAZ;AACH,GAFD,MAGK;AACD,WAAOA,KAAP;AACH;AACJ;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;;;AACA,SAASwoZ,2BAAT,CAAqC7qB,KAArC,EAA4C;AACxC,QAAM,IAAIrE,YAAJ,CAAiB;AAAM;AAAvB,IAAyD,+CAA8CqE,KAAK,CAAC39X,KAAM,EAAnH,CAAN;AACH;AACD;;;AACA,SAASyoZ,yBAAT,CAAmCC,YAAnC,EAAiD1vV,QAAjD,EAA2D2vV,SAA3D,EAAsEj4P,QAAtE,EAAgF;AAC5E,QAAMhuJ,KAAK,GAAGguJ,QAAQ,GAAI,SAAQA,QAAS,GAArB,GAA0B,EAAhD;AACA,MAAIw5G,GAAG,GAAI,2GAA0GxnQ,KAAM,MAAKs2D,QAAS,sBAAqB2vV,SAAU,IAAxK;;AACA,MAAID,YAAJ,EAAkB;AACdx+I,IAAAA,GAAG,IACE,qGAAD,GACK,kDAFT;AAGH,GAP2E,CAQ5E;AACA;;;AACA,QAAM,IAAIovH,YAAJ,CAAiB;AAAM;AAAvB,IAA+DpvH,GAA/D,CAAN;AACH;;AACD,SAAS0+I,gCAAT,CAA0C9kB,KAA1C,EAAiD+kB,SAAjD,EAA4DC,eAA5D,EAA6En2I,IAA7E,EAAmFo2I,YAAnF,EAAiG;AAC7F,QAAM,CAACr4P,QAAD,EAAWszF,MAAX,EAAmB,GAAGy/B,MAAtB,IAAgC9Q,IAAI,CAAC7vQ,KAAL,CAAWwlZ,uBAAX,CAAtC;AACA,MAAItvV,QAAQ,GAAGgrL,MAAf;AAAA,MAAuB/qL,QAAQ,GAAG+qL,MAAlC;;AACA,OAAK,IAAIhxP,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGywR,MAAM,CAACtjR,MAA3B,EAAmCnN,CAAC,EAApC,EAAwC;AACpC,UAAMg2Z,OAAO,GAAGH,SAAS,GAAG71Z,CAA5B;AACAgmE,IAAAA,QAAQ,IAAK,GAAE8qU,KAAK,CAACklB,OAAD,CAAU,GAAEvlI,MAAM,CAACzwR,CAAD,CAAI,EAA1C;AACAimE,IAAAA,QAAQ,IAAK,GAAE+vV,OAAO,KAAKF,eAAZ,GAA8BC,YAA9B,GAA6CjlB,KAAK,CAACklB,OAAD,CAAU,GAAEvlI,MAAM,CAACzwR,CAAD,CAAI,EAAvF;AACH;;AACD,SAAO;AAAE09J,IAAAA,QAAF;AAAY13F,IAAAA,QAAZ;AAAsBC,IAAAA;AAAtB,GAAP;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASgwV,gCAAT,CAA0CnlB,KAA1C,EAAiDx2B,YAAjD,EAA+Dt0S,QAA/D,EAAyEC,QAAzE,EAAmF;AAC/E,QAAMqyU,KAAK,GAAGxH,KAAK,CAACrC,KAAD,CAAL,CAAajrY,IAA3B;AACA,QAAMkzK,QAAQ,GAAG4hO,KAAK,CAACh+B,YAAD,CAAtB;;AACA,MAAI,OAAO5jM,QAAP,KAAoB,QAAxB,EAAkC;AAC9B;AACA,QAAIA,QAAQ,CAAC3lK,OAAT,CAAiBukZ,uBAAjB,IAA4C,CAAC,CAAjD,EAAoD;AAChD,aAAOM,gCAAgC,CAAC9kB,KAAD,EAAQx2B,YAAR,EAAsBA,YAAtB,EAAoC5jM,QAApC,EAA8CzwG,QAA9C,CAAvC;AACH,KAJ6B,CAK9B;;;AACA,WAAO;AAAEy3F,MAAAA,QAAQ,EAAEgZ,QAAZ;AAAsB1wG,MAAAA,QAAtB;AAAgCC,MAAAA;AAAhC,KAAP;AACH,GAV8E,CAW/E;AACA;AACA;AACA;;;AACA,MAAIywG,QAAQ,KAAK,IAAjB,EAAuB;AACnB,QAAIizE,GAAG,GAAG2wH,YAAY,GAAG,CAAzB;;AACA,WAAO,OAAOg+B,KAAK,CAAC3uJ,GAAD,CAAZ,KAAsB,QAAtB,IAAkC2uJ,KAAK,CAAC3uJ,GAAG,GAAG,CAAP,CAAL,KAAmB,IAA5D,EAAkE;AAC9DA,MAAAA,GAAG;AACN;;AACD,UAAMg2B,IAAI,GAAG24H,KAAK,CAAC3uJ,GAAD,CAAlB;;AACA,QAAI,OAAOg2B,IAAP,KAAgB,QAApB,EAA8B;AAC1B,YAAM9zI,OAAO,GAAG8zI,IAAI,CAACt6P,KAAL,CAAW,IAAIV,MAAJ,CAAW2wY,uBAAX,EAAoC,GAApC,CAAX,CAAhB,CAD0B,CAE1B;AACA;;AACA,UAAIzpR,OAAO,IAAKA,OAAO,CAAC1+H,MAAR,GAAiB,CAAlB,GAAuBmtW,YAAY,GAAG3wH,GAArD,EAA0D;AACtD,eAAOisK,gCAAgC,CAAC9kB,KAAD,EAAQnnJ,GAAR,EAAa2wH,YAAb,EAA2B36F,IAA3B,EAAiC15M,QAAjC,CAAvC;AACH;AACJ;AACJ;;AACD,SAAO;AAAEy3F,IAAAA,QAAQ,EAAEmQ,SAAZ;AAAuB7nG,IAAAA,QAAvB;AAAiCC,IAAAA;AAAjC,GAAP;AACH;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;AACA;AACA;;;AACA,IAAIiwV,mBAAJ;;AACA,CAAC,UAAUA,mBAAV,EAA+B;AAC5B;AACA;AACA;;AACA;AACJ;AACA;AACIA,EAAAA,mBAAmB,CAACA,mBAAmB,CAAC,WAAD,CAAnB,GAAmC,CAApC,CAAnB,GAA4D,WAA5D;AACA;AACJ;AACA;;AACIA,EAAAA,mBAAmB,CAACA,mBAAmB,CAAC,UAAD,CAAnB,GAAkC,CAAnC,CAAnB,GAA2D,UAA3D;AACH,CAZD,EAYGA,mBAAmB,KAAKA,mBAAmB,GAAG,EAA3B,CAZtB;AAcA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,IAAIC,oBAAJ;AACA;AACA;AACA;;;AACA,SAASC,mBAAT,CAA6BC,iBAA7B,EAAgDvlB,KAAhD,EAAuD;AACnD,SAAOqlB,oBAAoB,CAACE,iBAAD,EAAoBvlB,KAApB,CAA3B;AACH;AACD;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASwlB,+BAAT,CAAyC9vS,MAAzC,EAAiD;AAC7C,MAAI2vS,oBAAoB,KAAKtoP,SAA7B,EAAwC;AACpC;AACA;AACAsoP,IAAAA,oBAAoB,GAAG3vS,MAAM,EAA7B;AACH;AACJ;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,MAAM+vS,+BAA+B,GAAG,CAAxC;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;AACA;AACA;AACA;;AACA,SAASC,cAAT,CAAwB1lB,KAAxB,EAA+B;AAC3Br3M,EAAAA,SAAS,IAAIo4M,WAAW,CAACf,KAAD,CAAxB;AACA,QAAMnuY,MAAM,GAAGmuY,KAAK,CAACnC,MAAD,CAApB;AACA,SAAO4B,YAAY,CAAC5tY,MAAD,CAAZ,GAAuBA,MAAM,CAACgsY,MAAD,CAA7B,GAAwChsY,MAA/C;AACH;AACD;AACA;AACA;AACA;AACA;AACA;;;AACA,SAAS8zZ,WAAT,CAAqBC,gBAArB,EAAuC;AACnCj9N,EAAAA,SAAS,IAAI8uM,aAAa,CAACmuB,gBAAD,EAAmB,WAAnB,CAA1B;AACA,MAAI5lB,KAAK,GAAGR,OAAO,CAAComB,gBAAD,CAAP,GAA4BA,gBAA5B,GAA+C/D,gBAAgB,CAAC+D,gBAAD,CAA3E;;AACA,SAAO5lB,KAAK,IAAI,EAAEA,KAAK,CAACpC,KAAD,CAAL,GAAe;AAAI;AAArB,GAAhB,EAAoD;AAChDoC,IAAAA,KAAK,GAAG0lB,cAAc,CAAC1lB,KAAD,CAAtB;AACH;;AACDr3M,EAAAA,SAAS,IAAIo4M,WAAW,CAACf,KAAD,CAAxB;AACA,SAAOA,KAAP;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAAS6lB,cAAT,CAAwBC,eAAxB,EAAyC;AACrC,QAAMC,QAAQ,GAAGJ,WAAW,CAACG,eAAD,CAA5B;AACAn9N,EAAAA,SAAS,IACL8uM,aAAa,CAACsuB,QAAQ,CAAC7nB,OAAD,CAAT,EAAoB,sDAApB,CADjB;AAEA,SAAO6nB,QAAQ,CAAC7nB,OAAD,CAAf;AACH;AACD;AACA;AACA;;;AACA,SAAS8nB,kBAAT,CAA4BhmB,KAA5B,EAAmC;AAC/B,SAAOimB,oBAAoB,CAACjmB,KAAK,CAACzB,UAAD,CAAN,CAA3B;AACH;AACD;AACA;AACA;;;AACA,SAAS2nB,iBAAT,CAA2B9uU,SAA3B,EAAsC;AAClC,SAAO6uU,oBAAoB,CAAC7uU,SAAS,CAAC0mT,IAAD,CAAV,CAA3B;AACH;;AACD,SAASmoB,oBAAT,CAA8BphB,eAA9B,EAA+C;AAC3C,SAAOA,eAAe,KAAK,IAApB,IAA4B,CAACpF,YAAY,CAACoF,eAAD,CAAhD,EAAmE;AAC/DA,IAAAA,eAAe,GAAGA,eAAe,CAAC/G,IAAD,CAAjC;AACH;;AACD,SAAO+G,eAAP;AACH;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,MAAMshB,yBAAyB,GAAG5mB,+BAA+B,GAAGoM,+BAAlC,GAAoE8Z,+BAApE,GAAsG9hB,+BAAtG,GAAwI3E,+BAA1K;AACA;AACA;AACA;AACA;;AACA,SAASonB,yBAAT,CAAmCvyT,MAAnC,EAA2Ch5D,QAA3C,EAAqDhpC,MAArD,EAA6Dw0Z,aAA7D,EAA4EC,UAA5E,EAAwF;AACpF;AACA;AACA;AACA;AACA,MAAID,aAAa,IAAI,IAArB,EAA2B;AACvB,QAAI1hB,UAAJ;AACA,QAAI5hG,WAAW,GAAG,KAAlB,CAFuB,CAGvB;AACA;AACA;;AACA,QAAI08F,YAAY,CAAC4mB,aAAD,CAAhB,EAAiC;AAC7B1hB,MAAAA,UAAU,GAAG0hB,aAAb;AACH,KAFD,MAGK,IAAI7mB,OAAO,CAAC6mB,aAAD,CAAX,EAA4B;AAC7BtjH,MAAAA,WAAW,GAAG,IAAd;AACAp6G,MAAAA,SAAS,IAAI8uM,aAAa,CAAC4uB,aAAa,CAAC3oB,IAAD,CAAd,EAAsB,4CAAtB,CAA1B;AACA2oB,MAAAA,aAAa,GAAGA,aAAa,CAAC3oB,IAAD,CAA7B;AACH;;AACD,UAAM6oB,KAAK,GAAG3iB,WAAW,CAACyiB,aAAD,CAAzB;AACA19N,IAAAA,SAAS,IAAI,CAAC66M,oBAAoB,CAAC3oW,QAAD,CAAlC,IAAgD88V,aAAa,CAAC4uB,KAAD,CAA7D;;AACA,QAAI1yT,MAAM,KAAK;AAAE;AAAb,OAA6BhiG,MAAM,KAAK,IAA5C,EAAkD;AAC9C,UAAIy0Z,UAAU,IAAI,IAAlB,EAAwB;AACpBE,QAAAA,iBAAiB,CAAC3rX,QAAD,EAAWhpC,MAAX,EAAmB00Z,KAAnB,CAAjB;AACH,OAFD,MAGK;AACDE,QAAAA,kBAAkB,CAAC5rX,QAAD,EAAWhpC,MAAX,EAAmB00Z,KAAnB,EAA0BD,UAAU,IAAI,IAAxC,EAA8C,IAA9C,CAAlB;AACH;AACJ,KAPD,MAQK,IAAIzyT,MAAM,KAAK;AAAE;AAAb,OAA6BhiG,MAAM,KAAK,IAA5C,EAAkD;AACnD40Z,MAAAA,kBAAkB,CAAC5rX,QAAD,EAAWhpC,MAAX,EAAmB00Z,KAAnB,EAA0BD,UAAU,IAAI,IAAxC,EAA8C,IAA9C,CAAlB;AACH,KAFI,MAGA,IAAIzyT,MAAM,KAAK;AAAE;AAAjB,MAA+B;AAChC6yT,MAAAA,gBAAgB,CAAC7rX,QAAD,EAAW0rX,KAAX,EAAkBxjH,WAAlB,CAAhB;AACH,KAFI,MAGA,IAAIlvM,MAAM,KAAK;AAAE;AAAjB,MAAgC;AACjC80F,MAAAA,SAAS,IAAIA,SAAS,CAACiyM,mBAAV,EAAb;AACA//V,MAAAA,QAAQ,CAAC8rX,WAAT,CAAqBJ,KAArB;AACH;;AACD,QAAI5hB,UAAU,IAAI,IAAlB,EAAwB;AACpBiiB,MAAAA,cAAc,CAAC/rX,QAAD,EAAWg5D,MAAX,EAAmB8wS,UAAnB,EAA+B9yY,MAA/B,EAAuCy0Z,UAAvC,CAAd;AACH;AACJ;AACJ;;AACD,SAAS79P,cAAT,CAAwB5tH,QAAxB,EAAkC3+B,KAAlC,EAAyC;AACrCysL,EAAAA,SAAS,IAAIA,SAAS,CAACoxM,sBAAV,EAAb;AACApxM,EAAAA,SAAS,IAAIA,SAAS,CAACqxM,eAAV,EAAb;AACA,SAAOwJ,oBAAoB,CAAC3oW,QAAD,CAApB,GAAiCA,QAAQ,CAACgsX,UAAT,CAAoB3qZ,KAApB,CAAjC,GACH2+B,QAAQ,CAAC4tH,cAAT,CAAwBvsJ,KAAxB,CADJ;AAEH;;AACD,SAAS4qZ,cAAT,CAAwBjsX,QAAxB,EAAkC0rX,KAAlC,EAAyCrqZ,KAAzC,EAAgD;AAC5CysL,EAAAA,SAAS,IAAIA,SAAS,CAACqxM,eAAV,EAAb;AACAwJ,EAAAA,oBAAoB,CAAC3oW,QAAD,CAApB,GAAiCA,QAAQ,CAAC80H,QAAT,CAAkB42P,KAAlB,EAAyBrqZ,KAAzB,CAAjC,GAAmEqqZ,KAAK,CAACjkS,WAAN,GAAoBpmH,KAAvF;AACH;;AACD,SAAS6qZ,iBAAT,CAA2BlsX,QAA3B,EAAqC3+B,KAArC,EAA4C;AACxCysL,EAAAA,SAAS,IAAIA,SAAS,CAACsyM,qBAAV,EAAb,CADwC,CAExC;AACA;;AACA,SAAOpgW,QAAQ,CAAC2yH,aAAT,CAAuBw2P,iBAAiB,CAAC9nZ,KAAD,CAAxC,CAAP;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAAS8qZ,iBAAT,CAA2BnsX,QAA3B,EAAqCjyB,IAArC,EAA2CwmJ,SAA3C,EAAsD;AAClDu5B,EAAAA,SAAS,IAAIA,SAAS,CAACsxM,qBAAV,EAAb;;AACA,MAAIuJ,oBAAoB,CAAC3oW,QAAD,CAAxB,EAAoC;AAChC,WAAOA,QAAQ,CAACzuB,aAAT,CAAuBxD,IAAvB,EAA6BwmJ,SAA7B,CAAP;AACH,GAFD,MAGK;AACD,WAAOA,SAAS,KAAK,IAAd,GAAqBv0H,QAAQ,CAACzuB,aAAT,CAAuBxD,IAAvB,CAArB,GACHiyB,QAAQ,CAAC8tH,eAAT,CAAyByG,SAAzB,EAAoCxmJ,IAApC,CADJ;AAEH;AACJ;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASq+Y,uBAAT,CAAiCntB,KAAjC,EAAwCkG,KAAxC,EAA+C;AAC3C,QAAMnlW,QAAQ,GAAGmlW,KAAK,CAAC3B,QAAD,CAAtB;AACA6oB,EAAAA,SAAS,CAACptB,KAAD,EAAQkG,KAAR,EAAenlW,QAAf,EAAyB;AAAE;AAA3B,IAAyC,IAAzC,EAA+C,IAA/C,CAAT;AACAmlW,EAAAA,KAAK,CAACtC,IAAD,CAAL,GAAc,IAAd;AACAsC,EAAAA,KAAK,CAAChC,MAAD,CAAL,GAAgB,IAAhB;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASmpB,kBAAT,CAA4BrtB,KAA5B,EAAmCgO,WAAnC,EAAgDjtW,QAAhD,EAA0DmlW,KAA1D,EAAiEonB,gBAAjE,EAAmFd,UAAnF,EAA+F;AAC3FtmB,EAAAA,KAAK,CAACtC,IAAD,CAAL,GAAc0pB,gBAAd;AACApnB,EAAAA,KAAK,CAAChC,MAAD,CAAL,GAAgB8J,WAAhB;AACAof,EAAAA,SAAS,CAACptB,KAAD,EAAQkG,KAAR,EAAenlW,QAAf,EAAyB;AAAE;AAA3B,IAAyCusX,gBAAzC,EAA2Dd,UAA3D,CAAT;AACH;AACD;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASe,kBAAT,CAA4BvtB,KAA5B,EAAmCkG,KAAnC,EAA0C;AACtCknB,EAAAA,SAAS,CAACptB,KAAD,EAAQkG,KAAR,EAAeA,KAAK,CAAC3B,QAAD,CAApB,EAAgC;AAAE;AAAlC,IAAgD,IAAhD,EAAsD,IAAtD,CAAT;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASipB,eAAT,CAAyBvB,QAAzB,EAAmC;AAC/B;AACA,MAAIwB,iBAAiB,GAAGxB,QAAQ,CAACxnB,UAAD,CAAhC;;AACA,MAAI,CAACgpB,iBAAL,EAAwB;AACpB,WAAOC,WAAW,CAACzB,QAAQ,CAACpoB,KAAD,CAAT,EAAkBooB,QAAlB,CAAlB;AACH;;AACD,SAAOwB,iBAAP,EAA0B;AACtB,QAAIr+Y,IAAI,GAAG,IAAX;;AACA,QAAIs2X,OAAO,CAAC+nB,iBAAD,CAAX,EAAgC;AAC5B;AACAr+Y,MAAAA,IAAI,GAAGq+Y,iBAAiB,CAAChpB,UAAD,CAAxB;AACH,KAHD,MAIK;AACD51M,MAAAA,SAAS,IAAIk4M,gBAAgB,CAAC0mB,iBAAD,CAA7B,CADC,CAED;;AACA,YAAME,SAAS,GAAGF,iBAAiB,CAACjoB,uBAAD,CAAnC;AACA,UAAImoB,SAAJ,EACIv+Y,IAAI,GAAGu+Y,SAAP;AACP;;AACD,QAAI,CAACv+Y,IAAL,EAAW;AACP;AACA;AACA,aAAOq+Y,iBAAiB,IAAI,CAACA,iBAAiB,CAACzpB,IAAD,CAAvC,IAAiDypB,iBAAiB,KAAKxB,QAA9E,EAAwF;AACpF,YAAIvmB,OAAO,CAAC+nB,iBAAD,CAAX,EAAgC;AAC5BC,UAAAA,WAAW,CAACD,iBAAiB,CAAC5pB,KAAD,CAAlB,EAA2B4pB,iBAA3B,CAAX;AACH;;AACDA,QAAAA,iBAAiB,GAAGA,iBAAiB,CAAC1pB,MAAD,CAArC;AACH;;AACD,UAAI0pB,iBAAiB,KAAK,IAA1B,EACIA,iBAAiB,GAAGxB,QAApB;;AACJ,UAAIvmB,OAAO,CAAC+nB,iBAAD,CAAX,EAAgC;AAC5BC,QAAAA,WAAW,CAACD,iBAAiB,CAAC5pB,KAAD,CAAlB,EAA2B4pB,iBAA3B,CAAX;AACH;;AACDr+Y,MAAAA,IAAI,GAAGq+Y,iBAAiB,IAAIA,iBAAiB,CAACzpB,IAAD,CAA7C;AACH;;AACDypB,IAAAA,iBAAiB,GAAGr+Y,IAApB;AACH;AACJ;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASw+Y,UAAT,CAAoB5tB,KAApB,EAA2BkG,KAA3B,EAAkC2E,UAAlC,EAA8Cl3R,KAA9C,EAAqD;AACjDk7E,EAAAA,SAAS,IAAIo4M,WAAW,CAACf,KAAD,CAAxB;AACAr3M,EAAAA,SAAS,IAAIk4M,gBAAgB,CAAC8D,UAAD,CAA7B;AACA,QAAMgjB,gBAAgB,GAAGroB,uBAAuB,GAAG7xR,KAAnD;AACA,QAAMm6S,eAAe,GAAGjjB,UAAU,CAACtoY,MAAnC;;AACA,MAAIoxG,KAAK,GAAG,CAAZ,EAAe;AACX;AACAk3R,IAAAA,UAAU,CAACgjB,gBAAgB,GAAG,CAApB,CAAV,CAAiC7pB,IAAjC,IAAyCkC,KAAzC;AACH;;AACD,MAAIvyR,KAAK,GAAGm6S,eAAe,GAAGtoB,uBAA9B,EAAuD;AACnDU,IAAAA,KAAK,CAAClC,IAAD,CAAL,GAAc6G,UAAU,CAACgjB,gBAAD,CAAxB;AACA7T,IAAAA,UAAU,CAACnP,UAAD,EAAarF,uBAAuB,GAAG7xR,KAAvC,EAA8CuyR,KAA9C,CAAV;AACH,GAHD,MAIK;AACD2E,IAAAA,UAAU,CAACrxY,IAAX,CAAgB0sY,KAAhB;AACAA,IAAAA,KAAK,CAAClC,IAAD,CAAL,GAAc,IAAd;AACH;;AACDkC,EAAAA,KAAK,CAACnC,MAAD,CAAL,GAAgB8G,UAAhB,CAjBiD,CAkBjD;;AACA,QAAMkjB,qBAAqB,GAAG7nB,KAAK,CAACrB,sBAAD,CAAnC;;AACA,MAAIkpB,qBAAqB,KAAK,IAA1B,IAAkCljB,UAAU,KAAKkjB,qBAArD,EAA4E;AACxEC,IAAAA,cAAc,CAACD,qBAAD,EAAwB7nB,KAAxB,CAAd;AACH,GAtBgD,CAuBjD;;;AACA,QAAM+nB,QAAQ,GAAG/nB,KAAK,CAACnB,OAAD,CAAtB;;AACA,MAAIkpB,QAAQ,KAAK,IAAjB,EAAuB;AACnBA,IAAAA,QAAQ,CAACL,UAAT,CAAoB5tB,KAApB;AACH,GA3BgD,CA4BjD;;;AACAkG,EAAAA,KAAK,CAACpC,KAAD,CAAL,IAAgB;AAAI;AAApB;AACH;AACD;AACA;AACA;AACA;;;AACA,SAASkqB,cAAT,CAAwBE,oBAAxB,EAA8ChoB,KAA9C,EAAqD;AACjDr3M,EAAAA,SAAS,IAAI8uM,aAAa,CAACuI,KAAD,EAAQ,gBAAR,CAA1B;AACAr3M,EAAAA,SAAS,IAAIk4M,gBAAgB,CAACmnB,oBAAD,CAA7B;AACA,QAAMC,UAAU,GAAGD,oBAAoB,CAAC3oB,WAAD,CAAvC;AACA,QAAM6oB,kBAAkB,GAAGloB,KAAK,CAACnC,MAAD,CAAhC;AACAl1M,EAAAA,SAAS,IAAIk4M,gBAAgB,CAACqnB,kBAAD,CAA7B;AACA,QAAMC,sBAAsB,GAAGD,kBAAkB,CAACrqB,MAAD,CAAlB,CAA2Ba,0BAA3B,CAA/B;AACA/1M,EAAAA,SAAS,IAAI8uM,aAAa,CAAC0wB,sBAAD,EAAyB,gCAAzB,CAA1B;AACA,QAAMC,sBAAsB,GAAGpoB,KAAK,CAACtB,0BAAD,CAApC;AACA/1M,EAAAA,SAAS,IAAI8uM,aAAa,CAAC2wB,sBAAD,EAAyB,gCAAzB,CAA1B;;AACA,MAAIA,sBAAsB,KAAKD,sBAA/B,EAAuD;AACnD;AACA;AACA;AACAH,IAAAA,oBAAoB,CAAC9oB,sBAAD,CAApB,GAA+C,IAA/C;AACH;;AACD,MAAI+oB,UAAU,KAAK,IAAnB,EAAyB;AACrBD,IAAAA,oBAAoB,CAAC3oB,WAAD,CAApB,GAAoC,CAACW,KAAD,CAApC;AACH,GAFD,MAGK;AACDioB,IAAAA,UAAU,CAAC30Z,IAAX,CAAgB0sY,KAAhB;AACH;AACJ;;AACD,SAASqoB,eAAT,CAAyBL,oBAAzB,EAA+ChoB,KAA/C,EAAsD;AAClDr3M,EAAAA,SAAS,IAAIk4M,gBAAgB,CAACmnB,oBAAD,CAA7B;AACAr/N,EAAAA,SAAS,IACL8uM,aAAa,CAACuwB,oBAAoB,CAAC3oB,WAAD,CAArB,EAAoC,0EAApC,CADjB;AAEA,QAAM4oB,UAAU,GAAGD,oBAAoB,CAAC3oB,WAAD,CAAvC;AACA,QAAMipB,oBAAoB,GAAGL,UAAU,CAAChoZ,OAAX,CAAmB+/X,KAAnB,CAA7B;AACA,QAAMuoB,mBAAmB,GAAGvoB,KAAK,CAACnC,MAAD,CAAjC;AACAl1M,EAAAA,SAAS,IAAIk4M,gBAAgB,CAAC0nB,mBAAD,CAA7B,CAPkD,CAQlD;AACA;AACA;;AACA,MAAIvoB,KAAK,CAACpC,KAAD,CAAL,GAAe;AAAK;AAAxB,IAAuD;AACnDoC,IAAAA,KAAK,CAACpC,KAAD,CAAL,IAAgB,CAAC;AAAK;AAAtB;AACA8G,IAAAA,2BAA2B,CAAC6jB,mBAAD,EAAsB,CAAC,CAAvB,CAA3B;AACH;;AACDN,EAAAA,UAAU,CAAC33Y,MAAX,CAAkBg4Y,oBAAlB,EAAwC,CAAxC;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAAS1hM,UAAT,CAAoB+9K,UAApB,EAAgC6jB,WAAhC,EAA6C;AACzC,MAAI7jB,UAAU,CAACtoY,MAAX,IAAqBijY,uBAAzB,EACI;AACJ,QAAMqoB,gBAAgB,GAAGroB,uBAAuB,GAAGkpB,WAAnD;AACA,QAAMC,YAAY,GAAG9jB,UAAU,CAACgjB,gBAAD,CAA/B;;AACA,MAAIc,YAAJ,EAAkB;AACd,UAAMZ,qBAAqB,GAAGY,YAAY,CAAC9pB,sBAAD,CAA1C;;AACA,QAAIkpB,qBAAqB,KAAK,IAA1B,IAAkCA,qBAAqB,KAAKljB,UAAhE,EAA4E;AACxE0jB,MAAAA,eAAe,CAACR,qBAAD,EAAwBY,YAAxB,CAAf;AACH;;AACD,QAAID,WAAW,GAAG,CAAlB,EAAqB;AACjB7jB,MAAAA,UAAU,CAACgjB,gBAAgB,GAAG,CAApB,CAAV,CAAiC7pB,IAAjC,IAAyC2qB,YAAY,CAAC3qB,IAAD,CAArD;AACH;;AACD,UAAM4qB,YAAY,GAAG3U,eAAe,CAACpP,UAAD,EAAarF,uBAAuB,GAAGkpB,WAAvC,CAApC;AACAvB,IAAAA,uBAAuB,CAACwB,YAAY,CAAC9qB,KAAD,CAAb,EAAsB8qB,YAAtB,CAAvB,CATc,CAUd;;AACA,UAAMV,QAAQ,GAAGW,YAAY,CAAC7pB,OAAD,CAA7B;;AACA,QAAIkpB,QAAQ,KAAK,IAAjB,EAAuB;AACnBA,MAAAA,QAAQ,CAACnhM,UAAT,CAAoB8hM,YAAY,CAAC/qB,KAAD,CAAhC;AACH;;AACD8qB,IAAAA,YAAY,CAAC5qB,MAAD,CAAZ,GAAuB,IAAvB;AACA4qB,IAAAA,YAAY,CAAC3qB,IAAD,CAAZ,GAAqB,IAArB,CAhBc,CAiBd;;AACA2qB,IAAAA,YAAY,CAAC7qB,KAAD,CAAZ,IAAuB,CAAC;AAAI;AAA5B;AACH;;AACD,SAAO6qB,YAAP;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASE,YAAT,CAAsB7uB,KAAtB,EAA6BkG,KAA7B,EAAoC;AAChC,MAAI,EAAEA,KAAK,CAACpC,KAAD,CAAL,GAAe;AAAI;AAArB,GAAJ,EAA2C;AACvC,UAAM/iW,QAAQ,GAAGmlW,KAAK,CAAC3B,QAAD,CAAtB;;AACA,QAAImF,oBAAoB,CAAC3oW,QAAD,CAApB,IAAkCA,QAAQ,CAAC8rX,WAA/C,EAA4D;AACxDO,MAAAA,SAAS,CAACptB,KAAD,EAAQkG,KAAR,EAAenlW,QAAf,EAAyB;AAAE;AAA3B,QAA0C,IAA1C,EAAgD,IAAhD,CAAT;AACH;;AACDysX,IAAAA,eAAe,CAACtnB,KAAD,CAAf;AACH;AACJ;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASwnB,WAAT,CAAqB1tB,KAArB,EAA4BkG,KAA5B,EAAmC;AAC/B,MAAI,EAAEA,KAAK,CAACpC,KAAD,CAAL,GAAe;AAAI;AAArB,GAAJ,EAA2C;AACvC;AACA;AACAoC,IAAAA,KAAK,CAACpC,KAAD,CAAL,IAAgB,CAAC;AAAI;AAArB,KAHuC,CAIvC;AACA;AACA;AACA;AACA;;AACAoC,IAAAA,KAAK,CAACpC,KAAD,CAAL,IAAgB;AAAI;AAApB;AACAgrB,IAAAA,iBAAiB,CAAC9uB,KAAD,EAAQkG,KAAR,CAAjB;AACA6oB,IAAAA,eAAe,CAAC/uB,KAAD,EAAQkG,KAAR,CAAf,CAXuC,CAYvC;;AACA,QAAIA,KAAK,CAACrC,KAAD,CAAL,CAAa5rY,IAAb,KAAsB;AAAE;AAAxB,OAA2CyxY,oBAAoB,CAACxD,KAAK,CAAC3B,QAAD,CAAN,CAAnE,EAAsF;AAClF11M,MAAAA,SAAS,IAAIA,SAAS,CAACgyM,eAAV,EAAb;AACAqF,MAAAA,KAAK,CAAC3B,QAAD,CAAL,CAAgBzrY,OAAhB;AACH;;AACD,UAAMo1Z,oBAAoB,GAAGhoB,KAAK,CAACrB,sBAAD,CAAlC,CAjBuC,CAkBvC;;AACA,QAAIqpB,oBAAoB,KAAK,IAAzB,IAAiCvoB,YAAY,CAACO,KAAK,CAACnC,MAAD,CAAN,CAAjD,EAAkE;AAC9D;AACA,UAAImqB,oBAAoB,KAAKhoB,KAAK,CAACnC,MAAD,CAAlC,EAA4C;AACxCwqB,QAAAA,eAAe,CAACL,oBAAD,EAAuBhoB,KAAvB,CAAf;AACH,OAJ6D,CAK9D;;;AACA,YAAM+nB,QAAQ,GAAG/nB,KAAK,CAACnB,OAAD,CAAtB;;AACA,UAAIkpB,QAAQ,KAAK,IAAjB,EAAuB;AACnBA,QAAAA,QAAQ,CAACnhM,UAAT,CAAoBkzK,KAApB;AACH;AACJ;AACJ;AACJ;AACD;;;AACA,SAAS+uB,eAAT,CAAyB/uB,KAAzB,EAAgCkG,KAAhC,EAAuC;AACnC,QAAM8oB,QAAQ,GAAGhvB,KAAK,CAACh+I,OAAvB;AACA,QAAMitK,QAAQ,GAAG/oB,KAAK,CAAC/B,OAAD,CAAtB,CAFmC,CAGnC;AACA;AACA;;AACA,MAAI+qB,iBAAiB,GAAG,CAAC,CAAzB;;AACA,MAAIF,QAAQ,KAAK,IAAjB,EAAuB;AACnB,SAAK,IAAI55Z,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAG45Z,QAAQ,CAACzsZ,MAAT,GAAkB,CAAtC,EAAyCnN,CAAC,IAAI,CAA9C,EAAiD;AAC7C,UAAI,OAAO45Z,QAAQ,CAAC55Z,CAAD,CAAf,KAAuB,QAA3B,EAAqC;AACjC;AACA,cAAM+5Z,iBAAiB,GAAGH,QAAQ,CAAC55Z,CAAC,GAAG,CAAL,CAAlC;AACA,cAAMuH,MAAM,GAAG,OAAOwyZ,iBAAP,KAA6B,UAA7B,GACXA,iBAAiB,CAACjpB,KAAD,CADN,GAEX4D,WAAW,CAAC5D,KAAK,CAACipB,iBAAD,CAAN,CAFf;AAGA,cAAM3vQ,QAAQ,GAAGyvQ,QAAQ,CAACC,iBAAiB,GAAGF,QAAQ,CAAC55Z,CAAC,GAAG,CAAL,CAA7B,CAAzB;AACA,cAAMg6Z,kBAAkB,GAAGJ,QAAQ,CAAC55Z,CAAC,GAAG,CAAL,CAAnC;;AACA,YAAI,OAAOg6Z,kBAAP,KAA8B,SAAlC,EAA6C;AACzC;AACAzyZ,UAAAA,MAAM,CAAC8mB,mBAAP,CAA2BurY,QAAQ,CAAC55Z,CAAD,CAAnC,EAAwCoqJ,QAAxC,EAAkD4vQ,kBAAlD;AACH,SAHD,MAIK;AACD,cAAIA,kBAAkB,IAAI,CAA1B,EAA6B;AACzB;AACAH,YAAAA,QAAQ,CAACC,iBAAiB,GAAGE,kBAArB,CAAR;AACH,WAHD,MAIK;AACD;AACAH,YAAAA,QAAQ,CAACC,iBAAiB,GAAG,CAACE,kBAAtB,CAAR,CAAkDr2N,WAAlD;AACH;AACJ;;AACD3jM,QAAAA,CAAC,IAAI,CAAL;AACH,OAvBD,MAwBK;AACD;AACA,cAAMyD,OAAO,GAAGo2Z,QAAQ,CAACC,iBAAiB,GAAGF,QAAQ,CAAC55Z,CAAC,GAAG,CAAL,CAA7B,CAAxB;AACA45Z,QAAAA,QAAQ,CAAC55Z,CAAD,CAAR,CAAYwa,IAAZ,CAAiB/W,OAAjB;AACH;AACJ;AACJ;;AACD,MAAIo2Z,QAAQ,KAAK,IAAjB,EAAuB;AACnB,SAAK,IAAI75Z,CAAC,GAAG85Z,iBAAiB,GAAG,CAAjC,EAAoC95Z,CAAC,GAAG65Z,QAAQ,CAAC1sZ,MAAjD,EAAyDnN,CAAC,EAA1D,EAA8D;AAC1D,YAAMi6Z,iBAAiB,GAAGJ,QAAQ,CAAC75Z,CAAD,CAAlC;AACAy5L,MAAAA,SAAS,IAAIquM,cAAc,CAACmyB,iBAAD,EAAoB,sCAApB,CAA3B;AACAA,MAAAA,iBAAiB;AACpB;;AACDnpB,IAAAA,KAAK,CAAC/B,OAAD,CAAL,GAAiB,IAAjB;AACH;AACJ;AACD;;;AACA,SAAS2qB,iBAAT,CAA2B9uB,KAA3B,EAAkCkG,KAAlC,EAAyC;AACrC,MAAImK,YAAJ;;AACA,MAAIrQ,KAAK,IAAI,IAAT,IAAiB,CAACqQ,YAAY,GAAGrQ,KAAK,CAACqQ,YAAtB,KAAuC,IAA5D,EAAkE;AAC9D,SAAK,IAAIj7Y,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGi7Y,YAAY,CAAC9tY,MAAjC,EAAyCnN,CAAC,IAAI,CAA9C,EAAiD;AAC7C,YAAMyD,OAAO,GAAGqtY,KAAK,CAACmK,YAAY,CAACj7Y,CAAD,CAAb,CAArB,CAD6C,CAE7C;;AACA,UAAI,EAAEyD,OAAO,YAAYs4Y,mBAArB,CAAJ,EAA+C;AAC3C,cAAMme,MAAM,GAAGjf,YAAY,CAACj7Y,CAAC,GAAG,CAAL,CAA3B;;AACA,YAAI6F,KAAK,CAACC,OAAN,CAAco0Z,MAAd,CAAJ,EAA2B;AACvB,eAAK,IAAIt4Z,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGs4Z,MAAM,CAAC/sZ,MAA3B,EAAmCvL,CAAC,IAAI,CAAxC,EAA2C;AACvC,kBAAMu4Z,WAAW,GAAG12Z,OAAO,CAACy2Z,MAAM,CAACt4Z,CAAD,CAAP,CAA3B;AACA,kBAAM6mW,IAAI,GAAGyxD,MAAM,CAACt4Z,CAAC,GAAG,CAAL,CAAnB;AACAmyY,YAAAA,QAAQ,CAAC;AAAE;AAAH,cAA6BomB,WAA7B,EAA0C1xD,IAA1C,CAAR;;AACA,gBAAI;AACAA,cAAAA,IAAI,CAACjuV,IAAL,CAAU2/Y,WAAV;AACH,aAFD,SAGQ;AACJpmB,cAAAA,QAAQ,CAAC;AAAE;AAAH,gBAA2BomB,WAA3B,EAAwC1xD,IAAxC,CAAR;AACH;AACJ;AACJ,SAZD,MAaK;AACDsrC,UAAAA,QAAQ,CAAC;AAAE;AAAH,YAA6BtwY,OAA7B,EAAsCy2Z,MAAtC,CAAR;;AACA,cAAI;AACAA,YAAAA,MAAM,CAAC1/Y,IAAP,CAAY/W,OAAZ;AACH,WAFD,SAGQ;AACJswY,YAAAA,QAAQ,CAAC;AAAE;AAAH,cAA2BtwY,OAA3B,EAAoCy2Z,MAApC,CAAR;AACH;AACJ;AACJ;AACJ;AACJ;AACJ;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASE,iBAAT,CAA2BxvB,KAA3B,EAAkCD,KAAlC,EAAyCmG,KAAzC,EAAgD;AAC5C,SAAOupB,kBAAkB,CAACzvB,KAAD,EAAQD,KAAK,CAAChoY,MAAd,EAAsBmuY,KAAtB,CAAzB;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASupB,kBAAT,CAA4BzvB,KAA5B,EAAmCD,KAAnC,EAA0CmG,KAA1C,EAAiD;AAC7C,MAAI8H,WAAW,GAAGjO,KAAlB,CAD6C,CAE7C;AACA;;AACA,SAAOiO,WAAW,KAAK,IAAhB,IACFA,WAAW,CAAC/1Y,IAAZ,IAAoB;AAAE;AAAF,IAA2B;AAAG;AAAlD,GADL,EACoE;AAChE8nY,IAAAA,KAAK,GAAGiO,WAAR;AACAA,IAAAA,WAAW,GAAGjO,KAAK,CAAChoY,MAApB;AACH,GAR4C,CAS7C;AACA;;;AACA,MAAIi2Y,WAAW,KAAK,IAApB,EAA0B;AACtB;AACA;AACA,WAAO9H,KAAK,CAACtC,IAAD,CAAZ;AACH,GAJD,MAKK;AACD/0M,IAAAA,SAAS,IAAImjN,eAAe,CAAChE,WAAD,EAAc;AAAE;AAAF,MAAmB;AAAE;AAAnC,KAA5B;;AACA,QAAIA,WAAW,CAACtqP,KAAZ,GAAoB;AAAE;AAA1B,MAAiD;AAC7CmrC,MAAAA,SAAS,IAAIo3M,mBAAmB,CAAC+H,WAAD,EAAc9H,KAAd,CAAhC;AACA,YAAMrvK,aAAa,GAAGmpK,KAAK,CAACpnY,IAAN,CAAWo1Y,WAAW,CAAC6B,cAAvB,EAAuCh5K,aAA7D,CAF6C,CAG7C;AACA;AACA;AACA;AACA;AACA;;AACA,UAAIA,aAAa,KAAK2oK,mBAAmB,CAAC1oK,IAAtC,IACAD,aAAa,KAAK2oK,mBAAmB,CAAC1xF,QAD1C,EACoD;AAChD,eAAO,IAAP;AACH;AACJ;;AACD,WAAOo8F,gBAAgB,CAAC8D,WAAD,EAAc9H,KAAd,CAAvB;AACH;AACJ;AACD;AACA;AACA;AACA;AACA;;;AACA,SAASymB,kBAAT,CAA4B5rX,QAA5B,EAAsChpC,MAAtC,EAA8C6tJ,KAA9C,EAAqD4mQ,UAArD,EAAiEkD,MAAjE,EAAyE;AACrE7gO,EAAAA,SAAS,IAAIA,SAAS,CAACqyM,oBAAV,EAAb;;AACA,MAAIwI,oBAAoB,CAAC3oW,QAAD,CAAxB,EAAoC;AAChCA,IAAAA,QAAQ,CAACmkG,YAAT,CAAsBntI,MAAtB,EAA8B6tJ,KAA9B,EAAqC4mQ,UAArC,EAAiDkD,MAAjD;AACH,GAFD,MAGK;AACD33Z,IAAAA,MAAM,CAACmtI,YAAP,CAAoB0gB,KAApB,EAA2B4mQ,UAA3B,EAAuCkD,MAAvC;AACH;AACJ;;AACD,SAAShD,iBAAT,CAA2B3rX,QAA3B,EAAqChpC,MAArC,EAA6C6tJ,KAA7C,EAAoD;AAChDipC,EAAAA,SAAS,IAAIA,SAAS,CAACoyM,mBAAV,EAAb;AACApyM,EAAAA,SAAS,IAAI8uM,aAAa,CAAC5lY,MAAD,EAAS,6BAAT,CAA1B;;AACA,MAAI2xY,oBAAoB,CAAC3oW,QAAD,CAAxB,EAAoC;AAChCA,IAAAA,QAAQ,CAACxiB,WAAT,CAAqBxmB,MAArB,EAA6B6tJ,KAA7B;AACH,GAFD,MAGK;AACD7tJ,IAAAA,MAAM,CAACwmB,WAAP,CAAmBqnI,KAAnB;AACH;AACJ;;AACD,SAAS+pQ,0BAAT,CAAoC5uX,QAApC,EAA8ChpC,MAA9C,EAAsD6tJ,KAAtD,EAA6D4mQ,UAA7D,EAAyEkD,MAAzE,EAAiF;AAC7E,MAAIlD,UAAU,KAAK,IAAnB,EAAyB;AACrBG,IAAAA,kBAAkB,CAAC5rX,QAAD,EAAWhpC,MAAX,EAAmB6tJ,KAAnB,EAA0B4mQ,UAA1B,EAAsCkD,MAAtC,CAAlB;AACH,GAFD,MAGK;AACDhD,IAAAA,iBAAiB,CAAC3rX,QAAD,EAAWhpC,MAAX,EAAmB6tJ,KAAnB,CAAjB;AACH;AACJ;AACD;;;AACA,SAASgqQ,iBAAT,CAA2B7uX,QAA3B,EAAqChpC,MAArC,EAA6C6tJ,KAA7C,EAAoD+8B,aAApD,EAAmE;AAC/D,MAAI+mN,oBAAoB,CAAC3oW,QAAD,CAAxB,EAAoC;AAChCA,IAAAA,QAAQ,CAACtiB,WAAT,CAAqB1mB,MAArB,EAA6B6tJ,KAA7B,EAAoC+8B,aAApC;AACH,GAFD,MAGK;AACD5qL,IAAAA,MAAM,CAAC0mB,WAAP,CAAmBmnI,KAAnB;AACH;AACJ;AACD;AACA;AACA;;;AACA,SAASiqQ,gBAAT,CAA0B9uX,QAA1B,EAAoC2zC,IAApC,EAA0C;AACtC,SAAQg1T,oBAAoB,CAAC3oW,QAAD,CAApB,GAAiCA,QAAQ,CAACq0G,UAAT,CAAoB1gE,IAApB,CAAjC,GAA6DA,IAAI,CAAC0gE,UAA1E;AACH;AACD;AACA;AACA;;;AACA,SAAS06Q,iBAAT,CAA2B/uX,QAA3B,EAAqC2zC,IAArC,EAA2C;AACvC,SAAOg1T,oBAAoB,CAAC3oW,QAAD,CAApB,GAAiCA,QAAQ,CAAC8nH,WAAT,CAAqBn0E,IAArB,CAAjC,GAA8DA,IAAI,CAACm0E,WAA1E;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASknQ,uBAAT,CAAiC/hB,WAAjC,EAA8C7B,YAA9C,EAA4DjG,KAA5D,EAAmE;AAC/D,SAAO8pB,gCAAgC,CAAChiB,WAAD,EAAc7B,YAAd,EAA4BjG,KAA5B,CAAvC;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAAS+pB,iCAAT,CAA2CjiB,WAA3C,EAAwD7B,YAAxD,EAAsEjG,KAAtE,EAA6E;AACzE,MAAI8H,WAAW,CAAC/1Y,IAAZ,IAAoB;AAAE;AAAF,IAA2B;AAAG;AAAlD,GAAJ,EAAkE;AAC9D,WAAOiyY,gBAAgB,CAAC8D,WAAD,EAAc9H,KAAd,CAAvB;AACH;;AACD,SAAO,IAAP;AACH;AACD;AACA;AACA;AACA;AACA;;;AACA,IAAI8pB,gCAAgC,GAAGC,iCAAvC;AACA;AACA;AACA;AACA;AACA;;AACA,IAAIC,wBAAJ;;AACA,SAASC,eAAT,CAAyBC,+BAAzB,EAA0DC,uBAA1D,EAAmF;AAC/EL,EAAAA,gCAAgC,GAAGI,+BAAnC;AACAF,EAAAA,wBAAwB,GAAGG,uBAA3B;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAAS9xY,WAAT,CAAqByhX,KAArB,EAA4BkG,KAA5B,EAAmCoqB,UAAnC,EAA+CC,UAA/C,EAA2D;AACvD,QAAMC,WAAW,GAAGhB,iBAAiB,CAACxvB,KAAD,EAAQuwB,UAAR,EAAoBrqB,KAApB,CAArC;AACA,QAAMnlW,QAAQ,GAAGmlW,KAAK,CAAC3B,QAAD,CAAtB;AACA,QAAMyJ,WAAW,GAAGuiB,UAAU,CAACx4Z,MAAX,IAAqBmuY,KAAK,CAAChC,MAAD,CAA9C;AACA,QAAM73K,UAAU,GAAG0jM,uBAAuB,CAAC/hB,WAAD,EAAcuiB,UAAd,EAA0BrqB,KAA1B,CAA1C;;AACA,MAAIsqB,WAAW,IAAI,IAAnB,EAAyB;AACrB,QAAIv1Z,KAAK,CAACC,OAAN,CAAco1Z,UAAd,CAAJ,EAA+B;AAC3B,WAAK,IAAIl7Z,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGk7Z,UAAU,CAAC/tZ,MAA/B,EAAuCnN,CAAC,EAAxC,EAA4C;AACxCu6Z,QAAAA,0BAA0B,CAAC5uX,QAAD,EAAWyvX,WAAX,EAAwBF,UAAU,CAACl7Z,CAAD,CAAlC,EAAuCi3N,UAAvC,EAAmD,KAAnD,CAA1B;AACH;AACJ,KAJD,MAKK;AACDsjM,MAAAA,0BAA0B,CAAC5uX,QAAD,EAAWyvX,WAAX,EAAwBF,UAAxB,EAAoCjkM,UAApC,EAAgD,KAAhD,CAA1B;AACH;AACJ;;AACD6jM,EAAAA,wBAAwB,KAAKjtP,SAA7B,IACIitP,wBAAwB,CAACnvX,QAAD,EAAWwvX,UAAX,EAAuBrqB,KAAvB,EAA8BoqB,UAA9B,EAA0CE,WAA1C,CAD5B;AAEH;AACD;AACA;AACA;AACA;AACA;;;AACA,SAASC,kBAAT,CAA4BvqB,KAA5B,EAAmCnG,KAAnC,EAA0C;AACtC,MAAIA,KAAK,KAAK,IAAd,EAAoB;AAChBlxM,IAAAA,SAAS,IACLmjN,eAAe,CAACjS,KAAD,EAAQ;AAAE;AAAF,MAAmB;AAAG;AAAtB,MAA2C;AAAG;AAA9C,MAA0D;AAAG;AAArE,KADnB;AAEA,UAAM6R,SAAS,GAAG7R,KAAK,CAAC9nY,IAAxB;;AACA,QAAI25Y,SAAS,GAAG;AAAE;AAAlB,MAAkC;AAC9B,aAAO1H,gBAAgB,CAACnK,KAAD,EAAQmG,KAAR,CAAvB;AACH,KAFD,MAGK,IAAI0L,SAAS,GAAG;AAAE;AAAlB,MAAmC;AACpC,aAAO8e,oBAAoB,CAAC,CAAC,CAAF,EAAKxqB,KAAK,CAACnG,KAAK,CAACpsR,KAAP,CAAV,CAA3B;AACH,KAFI,MAGA,IAAIi+R,SAAS,GAAG;AAAE;AAAlB,MAA0C;AAC3C,YAAM+e,mBAAmB,GAAG5wB,KAAK,CAACn6O,KAAlC;;AACA,UAAI+qQ,mBAAmB,KAAK,IAA5B,EAAkC;AAC9B,eAAOF,kBAAkB,CAACvqB,KAAD,EAAQyqB,mBAAR,CAAzB;AACH,OAFD,MAGK;AACD,cAAMC,iBAAiB,GAAG1qB,KAAK,CAACnG,KAAK,CAACpsR,KAAP,CAA/B;;AACA,YAAIgyR,YAAY,CAACirB,iBAAD,CAAhB,EAAqC;AACjC,iBAAOF,oBAAoB,CAAC,CAAC,CAAF,EAAKE,iBAAL,CAA3B;AACH,SAFD,MAGK;AACD,iBAAO9mB,WAAW,CAAC8mB,iBAAD,CAAlB;AACH;AACJ;AACJ,KAdI,MAeA,IAAIhf,SAAS,GAAG;AAAG;AAAnB,MAA8B;AAC/B,UAAIif,SAAS,GAAGrF,mBAAmB,CAACzrB,KAAD,EAAQmG,KAAR,CAAnC;AACA,UAAIumB,KAAK,GAAGoE,SAAS,EAArB,CAF+B,CAG/B;;AACA,aAAOpE,KAAK,IAAI3iB,WAAW,CAAC5D,KAAK,CAACnG,KAAK,CAACpsR,KAAP,CAAN,CAA3B;AACH,KALI,MAMA;AACD,YAAMm9S,eAAe,GAAGC,kBAAkB,CAAC7qB,KAAD,EAAQnG,KAAR,CAA1C;;AACA,UAAI+wB,eAAe,KAAK,IAAxB,EAA8B;AAC1B,YAAI71Z,KAAK,CAACC,OAAN,CAAc41Z,eAAd,CAAJ,EAAoC;AAChC,iBAAOA,eAAe,CAAC,CAAD,CAAtB;AACH;;AACD,cAAMxd,UAAU,GAAGsY,cAAc,CAAC1lB,KAAK,CAACtB,0BAAD,CAAN,CAAjC;AACA/1M,QAAAA,SAAS,IAAIi5M,gBAAgB,CAACwL,UAAD,CAA7B;AACA,eAAOmd,kBAAkB,CAACnd,UAAD,EAAawd,eAAb,CAAzB;AACH,OAPD,MAQK;AACD,eAAOL,kBAAkB,CAACvqB,KAAD,EAAQnG,KAAK,CAAC3wX,IAAd,CAAzB;AACH;AACJ;AACJ;;AACD,SAAO,IAAP;AACH;;AACD,SAAS2hZ,kBAAT,CAA4B7qB,KAA5B,EAAmCnG,KAAnC,EAA0C;AACtC,MAAIA,KAAK,KAAK,IAAd,EAAoB;AAChB,UAAMooB,aAAa,GAAGjiB,KAAK,CAACtB,0BAAD,CAA3B;AACA,UAAMosB,aAAa,GAAG7I,aAAa,CAACjkB,MAAD,CAAnC;AACA,UAAMknB,OAAO,GAAGrrB,KAAK,CAACl4H,UAAtB;AACAh5E,IAAAA,SAAS,IAAIg5M,qBAAqB,CAAC3B,KAAD,CAAlC;AACA,WAAO8qB,aAAa,CAACnpJ,UAAd,CAAyBujJ,OAAzB,CAAP;AACH;;AACD,SAAO,IAAP;AACH;;AACD,SAASsF,oBAAT,CAA8BO,oBAA9B,EAAoDpmB,UAApD,EAAgE;AAC5D,QAAMqmB,aAAa,GAAG1rB,uBAAuB,GAAGyrB,oBAA1B,GAAiD,CAAvE;;AACA,MAAIC,aAAa,GAAGrmB,UAAU,CAACtoY,MAA/B,EAAuC;AACnC,UAAM2jY,KAAK,GAAG2E,UAAU,CAACqmB,aAAD,CAAxB;AACA,UAAMC,gBAAgB,GAAGjrB,KAAK,CAACrC,KAAD,CAAL,CAAalgS,UAAtC;;AACA,QAAIwtT,gBAAgB,KAAK,IAAzB,EAA+B;AAC3B,aAAOV,kBAAkB,CAACvqB,KAAD,EAAQirB,gBAAR,CAAzB;AACH;AACJ;;AACD,SAAOtmB,UAAU,CAACxF,MAAD,CAAjB;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASunB,gBAAT,CAA0B7rX,QAA1B,EAAoC0rX,KAApC,EAA2C9pO,aAA3C,EAA0D;AACtDkM,EAAAA,SAAS,IAAIA,SAAS,CAACmyM,kBAAV,EAAb;AACA,QAAMowB,YAAY,GAAGvB,gBAAgB,CAAC9uX,QAAD,EAAW0rX,KAAX,CAArC;;AACA,MAAI2E,YAAJ,EAAkB;AACdxB,IAAAA,iBAAiB,CAAC7uX,QAAD,EAAWqwX,YAAX,EAAyB3E,KAAzB,EAAgC9pO,aAAhC,CAAjB;AACH;AACJ;AACD;AACA;AACA;AACA;;;AACA,SAAS0uO,UAAT,CAAoBtwX,QAApB,EAA8Bg5D,MAA9B,EAAsCgmS,KAAtC,EAA6CmG,KAA7C,EAAoDorB,cAApD,EAAoE9E,UAApE,EAAgF+E,YAAhF,EAA8F;AAC1F,SAAOxxB,KAAK,IAAI,IAAhB,EAAsB;AAClBlxM,IAAAA,SAAS,IAAIo3M,mBAAmB,CAAClG,KAAD,EAAQmG,KAAR,CAAhC;AACAr3M,IAAAA,SAAS,IACLmjN,eAAe,CAACjS,KAAD,EAAQ;AAAE;AAAF,MAAmB;AAAG;AAAtB,MAA2C;AAAG;AAA9C,MAAiE;AAAG;AAA5E,KADnB;AAEA,UAAMyxB,YAAY,GAAGtrB,KAAK,CAACnG,KAAK,CAACpsR,KAAP,CAA1B;AACA,UAAMi+R,SAAS,GAAG7R,KAAK,CAAC9nY,IAAxB;;AACA,QAAIs5Z,YAAJ,EAAkB;AACd,UAAIx3T,MAAM,KAAK;AAAE;AAAjB,QAA+B;AAC3By3T,QAAAA,YAAY,IAAI/J,eAAe,CAAC3d,WAAW,CAAC0nB,YAAD,CAAZ,EAA4BtrB,KAA5B,CAA/B;AACAnG,QAAAA,KAAK,CAACr8O,KAAN,IAAe;AAAE;AAAjB;AACH;AACJ;;AACD,QAAI,CAACq8O,KAAK,CAACr8O,KAAN,GAAc;AAAG;AAAlB,UAAwC;AAAG;AAA/C,MAAiE;AAC7D,UAAIkuP,SAAS,GAAG;AAAE;AAAlB,QAA0C;AACtCyf,QAAAA,UAAU,CAACtwX,QAAD,EAAWg5D,MAAX,EAAmBgmS,KAAK,CAACn6O,KAAzB,EAAgCsgP,KAAhC,EAAuCorB,cAAvC,EAAuD9E,UAAvD,EAAmE,KAAnE,CAAV;AACAF,QAAAA,yBAAyB,CAACvyT,MAAD,EAASh5D,QAAT,EAAmBuwX,cAAnB,EAAmCE,YAAnC,EAAiDhF,UAAjD,CAAzB;AACH,OAHD,MAIK,IAAI5a,SAAS,GAAG;AAAG;AAAnB,QAA8B;AAC/B,cAAMif,SAAS,GAAGrF,mBAAmB,CAACzrB,KAAD,EAAQmG,KAAR,CAArC;AACA,YAAIumB,KAAJ;;AACA,eAAOA,KAAK,GAAGoE,SAAS,EAAxB,EAA4B;AACxBvE,UAAAA,yBAAyB,CAACvyT,MAAD,EAASh5D,QAAT,EAAmBuwX,cAAnB,EAAmC7E,KAAnC,EAA0CD,UAA1C,CAAzB;AACH;;AACDF,QAAAA,yBAAyB,CAACvyT,MAAD,EAASh5D,QAAT,EAAmBuwX,cAAnB,EAAmCE,YAAnC,EAAiDhF,UAAjD,CAAzB;AACH,OAPI,MAQA,IAAI5a,SAAS,GAAG;AAAG;AAAnB,QAAqC;AACtC6f,QAAAA,wBAAwB,CAAC1wX,QAAD,EAAWg5D,MAAX,EAAmBmsS,KAAnB,EAA0BnG,KAA1B,EAAiCuxB,cAAjC,EAAiD9E,UAAjD,CAAxB;AACH,OAFI,MAGA;AACD39N,QAAAA,SAAS,IAAImjN,eAAe,CAACjS,KAAD,EAAQ;AAAE;AAAF,UAAmB;AAAE;AAA7B,SAA5B;AACAusB,QAAAA,yBAAyB,CAACvyT,MAAD,EAASh5D,QAAT,EAAmBuwX,cAAnB,EAAmCE,YAAnC,EAAiDhF,UAAjD,CAAzB;AACH;AACJ;;AACDzsB,IAAAA,KAAK,GAAGwxB,YAAY,GAAGxxB,KAAK,CAAC2xB,cAAT,GAA0B3xB,KAAK,CAAC3wX,IAApD;AACH;AACJ;;AACD,SAASg+Y,SAAT,CAAmBptB,KAAnB,EAA0BkG,KAA1B,EAAiCnlW,QAAjC,EAA2Cg5D,MAA3C,EAAmDu3T,cAAnD,EAAmE9E,UAAnE,EAA+E;AAC3E6E,EAAAA,UAAU,CAACtwX,QAAD,EAAWg5D,MAAX,EAAmBimS,KAAK,CAACr8R,UAAzB,EAAqCuiS,KAArC,EAA4CorB,cAA5C,EAA4D9E,UAA5D,EAAwE,KAAxE,CAAV;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASmF,eAAT,CAAyB3xB,KAAzB,EAAgCkG,KAAhC,EAAuC0rB,eAAvC,EAAwD;AACpD,QAAM7wX,QAAQ,GAAGmlW,KAAK,CAAC3B,QAAD,CAAtB;AACA,QAAMisB,WAAW,GAAGhB,iBAAiB,CAACxvB,KAAD,EAAQ4xB,eAAR,EAAyB1rB,KAAzB,CAArC;AACA,QAAM8H,WAAW,GAAG4jB,eAAe,CAAC75Z,MAAhB,IAA0BmuY,KAAK,CAAChC,MAAD,CAAnD;AACA,MAAIsoB,UAAU,GAAGuD,uBAAuB,CAAC/hB,WAAD,EAAc4jB,eAAd,EAA+B1rB,KAA/B,CAAxC;AACAurB,EAAAA,wBAAwB,CAAC1wX,QAAD,EAAW;AAAE;AAAb,IAA2BmlW,KAA3B,EAAkC0rB,eAAlC,EAAmDpB,WAAnD,EAAgEhE,UAAhE,CAAxB;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASiF,wBAAT,CAAkC1wX,QAAlC,EAA4Cg5D,MAA5C,EAAoDmsS,KAApD,EAA2D0rB,eAA3D,EAA4EN,cAA5E,EAA4F9E,UAA5F,EAAwG;AACpG,QAAMqF,cAAc,GAAG3rB,KAAK,CAACtB,0BAAD,CAA5B;AACA,QAAMktB,aAAa,GAAGD,cAAc,CAAC3tB,MAAD,CAApC;AACAr1M,EAAAA,SAAS,IACLsuM,WAAW,CAAC,OAAOy0B,eAAe,CAAC/pJ,UAAxB,EAAoC,QAApC,EAA8C,4BAA9C,CADf;AAEA,QAAMkqJ,qBAAqB,GAAGD,aAAa,CAACjqJ,UAAd,CAAyB+pJ,eAAe,CAAC/pJ,UAAzC,CAA9B;;AACA,MAAI5sQ,KAAK,CAACC,OAAN,CAAc62Z,qBAAd,CAAJ,EAA0C;AACtC;AACA;AACA;AACA;AACA;AACA,SAAK,IAAI38Z,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAG28Z,qBAAqB,CAACxvZ,MAA1C,EAAkDnN,CAAC,EAAnD,EAAuD;AACnD,YAAMq3Z,KAAK,GAAGsF,qBAAqB,CAAC38Z,CAAD,CAAnC;AACAk3Z,MAAAA,yBAAyB,CAACvyT,MAAD,EAASh5D,QAAT,EAAmBuwX,cAAnB,EAAmC7E,KAAnC,EAA0CD,UAA1C,CAAzB;AACH;AACJ,GAVD,MAWK;AACD,QAAIwF,aAAa,GAAGD,qBAApB;AACA,UAAME,uBAAuB,GAAGJ,cAAc,CAAC9tB,MAAD,CAA9C;AACAstB,IAAAA,UAAU,CAACtwX,QAAD,EAAWg5D,MAAX,EAAmBi4T,aAAnB,EAAkCC,uBAAlC,EAA2DX,cAA3D,EAA2E9E,UAA3E,EAAuF,IAAvF,CAAV;AACH;AACJ;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASM,cAAT,CAAwB/rX,QAAxB,EAAkCg5D,MAAlC,EAA0C8wS,UAA1C,EAAsDymB,cAAtD,EAAsE9E,UAAtE,EAAkF;AAC9E39N,EAAAA,SAAS,IAAIk4M,gBAAgB,CAAC8D,UAAD,CAA7B;AACA,QAAMhsM,MAAM,GAAGgsM,UAAU,CAACxF,MAAD,CAAzB,CAF8E,CAE3C;;AACnC,QAAMpuS,MAAM,GAAG6yS,WAAW,CAACe,UAAD,CAA1B,CAH8E,CAI9E;AACA;AACA;AACA;AACA;AACA;;AACA,MAAIhsM,MAAM,KAAK5nG,MAAf,EAAuB;AACnB;AACA;AACA;AACA;AACAq1T,IAAAA,yBAAyB,CAACvyT,MAAD,EAASh5D,QAAT,EAAmBuwX,cAAnB,EAAmCzyN,MAAnC,EAA2C2tN,UAA3C,CAAzB;AACH;;AACD,OAAK,IAAIp3Z,CAAC,GAAGowY,uBAAb,EAAsCpwY,CAAC,GAAGy1Y,UAAU,CAACtoY,MAArD,EAA6DnN,CAAC,EAA9D,EAAkE;AAC9D,UAAM8wY,KAAK,GAAG2E,UAAU,CAACz1Y,CAAD,CAAxB;AACAg4Z,IAAAA,SAAS,CAAClnB,KAAK,CAACrC,KAAD,CAAN,EAAeqC,KAAf,EAAsBnlW,QAAtB,EAAgCg5D,MAAhC,EAAwCu3T,cAAxC,EAAwDzyN,MAAxD,CAAT;AACH;AACJ;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASqzN,YAAT,CAAsBnxX,QAAtB,EAAgCu4R,YAAhC,EAA8CmzF,KAA9C,EAAqDh1Q,IAArD,EAA2Dr1I,KAA3D,EAAkE;AAC9D,QAAM+vZ,YAAY,GAAGzoB,oBAAoB,CAAC3oW,QAAD,CAAzC;;AACA,MAAIu4R,YAAJ,EAAkB;AACd;AACA,QAAI,CAACl3T,KAAL,EAAY;AACRysL,MAAAA,SAAS,IAAIA,SAAS,CAAC6xM,mBAAV,EAAb;;AACA,UAAIyxB,YAAJ,EAAkB;AACdpxX,QAAAA,QAAQ,CAACi+I,WAAT,CAAqBytO,KAArB,EAA4Bh1Q,IAA5B;AACH,OAFD,MAGK;AACDg1Q,QAAAA,KAAK,CAAC30S,SAAN,CAAgB9/G,MAAhB,CAAuBy/I,IAAvB;AACH;AACJ,KARD,MASK;AACDo3C,MAAAA,SAAS,IAAIA,SAAS,CAAC4xM,gBAAV,EAAb;;AACA,UAAI0xB,YAAJ,EAAkB;AACdpxX,QAAAA,QAAQ,CAACg9I,QAAT,CAAkB0uO,KAAlB,EAAyBh1Q,IAAzB;AACH,OAFD,MAGK;AACDo3C,QAAAA,SAAS,IAAI8uM,aAAa,CAAC8uB,KAAK,CAAC30S,SAAP,EAAkB,sBAAlB,CAA1B;AACA20S,QAAAA,KAAK,CAAC30S,SAAN,CAAgBvhF,GAAhB,CAAoBkhH,IAApB;AACH;AACJ;AACJ,GArBD,MAsBK;AACD,QAAIiM,KAAK,GAAGjM,IAAI,CAACtxI,OAAL,CAAa,GAAb,MAAsB,CAAC,CAAvB,GAA2B88J,SAA3B,GAAuCqoP,mBAAmB,CAAC8G,QAAvE;;AACA,QAAIhwZ,KAAK,IAAI;AAAK;AAAlB,MAAiD;AAC7CysL,MAAAA,SAAS,IAAIA,SAAS,CAAC+xM,mBAAV,EAAb;;AACA,UAAIuxB,YAAJ,EAAkB;AACdpxX,QAAAA,QAAQ,CAAC00M,WAAT,CAAqBg3K,KAArB,EAA4Bh1Q,IAA5B,EAAkCiM,KAAlC;AACH,OAFD,MAGK;AACD+oQ,QAAAA,KAAK,CAACl1Z,KAAN,CAAYi1J,cAAZ,CAA2B/U,IAA3B;AACH;AACJ,KARD,MASK;AACD;AACA;AACA,YAAM46Q,WAAW,GAAG,OAAOjwZ,KAAP,KAAiB,QAAjB,GAA4BA,KAAK,CAAC2c,QAAN,CAAe,YAAf,CAA5B,GAA2D,KAA/E;;AACA,UAAIszY,WAAJ,EAAiB;AACb;AACAjwZ,QAAAA,KAAK,GAAGA,KAAK,CAAC5D,KAAN,CAAY,CAAZ,EAAe,CAAC,EAAhB,CAAR;AACAklJ,QAAAA,KAAK,IAAI4nQ,mBAAmB,CAACgH,SAA7B;AACH;;AACDzjO,MAAAA,SAAS,IAAIA,SAAS,CAAC8xM,gBAAV,EAAb;;AACA,UAAIwxB,YAAJ,EAAkB;AACdpxX,QAAAA,QAAQ,CAACy0M,QAAT,CAAkBi3K,KAAlB,EAAyBh1Q,IAAzB,EAA+Br1I,KAA/B,EAAsCshJ,KAAtC;AACH,OAFD,MAGK;AACDmrC,QAAAA,SAAS,IAAI8uM,aAAa,CAAC8uB,KAAK,CAACl1Z,KAAP,EAAc,sBAAd,CAA1B;AACAk1Z,QAAAA,KAAK,CAACl1Z,KAAN,CAAYk1J,WAAZ,CAAwBhV,IAAxB,EAA8Br1I,KAA9B,EAAqCiwZ,WAAW,GAAG,WAAH,GAAiB,EAAjE;AACH;AACJ;AACJ;AACJ;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASE,gBAAT,CAA0BxxX,QAA1B,EAAoC+1G,OAApC,EAA6Cz7E,QAA7C,EAAuD;AACnDwzH,EAAAA,SAAS,IAAIouM,YAAY,CAAC5hU,QAAD,EAAW,iCAAX,CAAzB;;AACA,MAAIquU,oBAAoB,CAAC3oW,QAAD,CAAxB,EAAoC;AAChCA,IAAAA,QAAQ,CAACqiE,YAAT,CAAsB0zC,OAAtB,EAA+B,OAA/B,EAAwCz7E,QAAxC;AACH,GAFD,MAGK;AACDy7E,IAAAA,OAAO,CAACv/I,KAAR,CAAc0zJ,OAAd,GAAwB5vF,QAAxB;AACH;;AACDwzH,EAAAA,SAAS,IAAIA,SAAS,CAAC8xM,gBAAV,EAAb;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAAS6xB,gBAAT,CAA0BzxX,QAA1B,EAAoC+1G,OAApC,EAA6Cz7E,QAA7C,EAAuD;AACnDwzH,EAAAA,SAAS,IAAIouM,YAAY,CAAC5hU,QAAD,EAAW,iCAAX,CAAzB;;AACA,MAAIquU,oBAAoB,CAAC3oW,QAAD,CAAxB,EAAoC;AAChC,QAAIs6B,QAAQ,KAAK,EAAjB,EAAqB;AACjB;AACAt6B,MAAAA,QAAQ,CAACwnH,eAAT,CAAyBzR,OAAzB,EAAkC,OAAlC;AACH,KAHD,MAIK;AACD/1G,MAAAA,QAAQ,CAACqiE,YAAT,CAAsB0zC,OAAtB,EAA+B,OAA/B,EAAwCz7E,QAAxC;AACH;AACJ,GARD,MASK;AACDy7E,IAAAA,OAAO,CAAC7wI,SAAR,GAAoBo1D,QAApB;AACH;;AACDwzH,EAAAA,SAAS,IAAIA,SAAS,CAAC2xM,oBAAV,EAAb;AACH;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASiyB,YAAT,CAAsBxsZ,SAAtB,EAAiCysZ,aAAjC,EAAgD/b,aAAhD,EAA+D;AAC3D9nN,EAAAA,SAAS,IAAIwuM,cAAc,CAACq1B,aAAD,EAAgB,EAAhB,EAAoB,6BAApB,CAA3B;AACA,MAAI1qV,GAAG,GAAG/hE,SAAS,CAAC1D,MAApB;;AACA,SAAO,IAAP,EAAa;AACT,UAAMowZ,UAAU,GAAG1sZ,SAAS,CAACE,OAAV,CAAkBusZ,aAAlB,EAAiC/b,aAAjC,CAAnB;AACA,QAAIgc,UAAU,KAAK,CAAC,CAApB,EACI,OAAOA,UAAP;;AACJ,QAAIA,UAAU,KAAK,CAAf,IAAoB1sZ,SAAS,CAAC+nH,UAAV,CAAqB2kS,UAAU,GAAG,CAAlC,KAAwC;AAAG;AAAnE,MAAgF;AAC5E;AACA,YAAMpwZ,MAAM,GAAGmwZ,aAAa,CAACnwZ,MAA7B;;AACA,UAAIowZ,UAAU,GAAGpwZ,MAAb,KAAwBylE,GAAxB,IACA/hE,SAAS,CAAC+nH,UAAV,CAAqB2kS,UAAU,GAAGpwZ,MAAlC,KAA6C;AAAG;AADpD,QACiE;AAC7D;AACA,eAAOowZ,UAAP;AACH;AACJ,KAZQ,CAaT;;;AACAhc,IAAAA,aAAa,GAAGgc,UAAU,GAAG,CAA7B;AACH;AACJ;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,MAAMC,yBAAyB,GAAG/gB,+BAA+B,GAAG8Z,+BAApE;AACA,MAAMkH,oBAAoB,GAAG,aAA7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,SAASC,kBAAT,CAA4BprK,KAA5B,EAAmCqrK,eAAnC,EAAoDC,gBAApD,EAAsE;AAClE;AACA;AACA;AACA;AACAnkO,EAAAA,SAAS,IACLsuM,WAAW,CAAC41B,eAAD,EAAkBA,eAAe,CAACzuZ,WAAhB,EAAlB,EAAiD,sCAAjD,CADf;AAEA,MAAIlP,CAAC,GAAG,CAAR;;AACA,SAAOA,CAAC,GAAGsyP,KAAK,CAACnlP,MAAjB,EAAyB;AACrB,QAAIjK,IAAI,GAAGovP,KAAK,CAACtyP,CAAC,EAAF,CAAhB;;AACA,QAAI49Z,gBAAgB,IAAI16Z,IAAI,KAAK,OAAjC,EAA0C;AACtCA,MAAAA,IAAI,GAAGovP,KAAK,CAACtyP,CAAD,CAAZ;;AACA,UAAIq9Z,YAAY,CAACn6Z,IAAI,CAACgM,WAAL,EAAD,EAAqByuZ,eAArB,EAAsC,CAAtC,CAAZ,KAAyD,CAAC,CAA9D,EAAiE;AAC7D,eAAO,IAAP;AACH;AACJ,KALD,MAMK,IAAIz6Z,IAAI,KAAK;AAAE;AAAf,MAA8B;AAC/B;AACA,aAAOlD,CAAC,GAAGsyP,KAAK,CAACnlP,MAAV,IAAoB,QAAQjK,IAAI,GAAGovP,KAAK,CAACtyP,CAAC,EAAF,CAApB,KAA8B,QAAzD,EAAmE;AAC/D;AACA,YAAIkD,IAAI,CAACgM,WAAL,OAAuByuZ,eAA3B,EACI,OAAO,IAAP;AACP;;AACD,aAAO,KAAP;AACH;AACJ;;AACD,SAAO,KAAP;AACH;AACD;AACA;AACA;AACA;AACA;;;AACA,SAASE,gBAAT,CAA0BlzB,KAA1B,EAAiC;AAC7B,SAAOA,KAAK,CAAC9nY,IAAN,KAAe;AAAE;AAAjB,KAAoC8nY,KAAK,CAAC39X,KAAN,KAAgBywZ,oBAA3D;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASK,kBAAT,CAA4BnzB,KAA5B,EAAmCozB,eAAnC,EAAoDH,gBAApD,EAAsE;AAClE,QAAMI,gBAAgB,GAAGrzB,KAAK,CAAC9nY,IAAN,KAAe;AAAE;AAAjB,KAAoC,CAAC+6Z,gBAArC,GAAwDH,oBAAxD,GAA+E9yB,KAAK,CAAC39X,KAA9G;AACA,SAAO+wZ,eAAe,KAAKC,gBAA3B;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASC,sBAAT,CAAgCtzB,KAAhC,EAAuCp8N,QAAvC,EAAiDqvP,gBAAjD,EAAmE;AAC/DnkO,EAAAA,SAAS,IAAI8uM,aAAa,CAACh6N,QAAQ,CAAC,CAAD,CAAT,EAAc,iCAAd,CAA1B;AACA,MAAI7iI,IAAI,GAAG;AAAE;AAAb;AACA,QAAMwyX,SAAS,GAAGvzB,KAAK,CAACr4I,KAAN,IAAe,EAAjC,CAH+D,CAI/D;;AACA,QAAM6rK,iBAAiB,GAAGC,sBAAsB,CAACF,SAAD,CAAhD,CAL+D,CAM/D;AACA;;AACA,MAAIG,kBAAkB,GAAG,KAAzB;;AACA,OAAK,IAAIr+Z,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGuuK,QAAQ,CAACphK,MAA7B,EAAqCnN,CAAC,EAAtC,EAA0C;AACtC,UAAMmoD,OAAO,GAAGomH,QAAQ,CAACvuK,CAAD,CAAxB;;AACA,QAAI,OAAOmoD,OAAP,KAAmB,QAAvB,EAAiC;AAC7B;AACA,UAAI,CAACk2W,kBAAD,IAAuB,CAACC,UAAU,CAAC5yX,IAAD,CAAlC,IAA4C,CAAC4yX,UAAU,CAACn2W,OAAD,CAA3D,EAAsE;AAClE,eAAO,KAAP;AACH,OAJ4B,CAK7B;AACA;;;AACA,UAAIk2W,kBAAkB,IAAIC,UAAU,CAACn2W,OAAD,CAApC,EACI;AACJk2W,MAAAA,kBAAkB,GAAG,KAArB;AACA3yX,MAAAA,IAAI,GAAGyc,OAAO,GAAIzc,IAAI,GAAG;AAAE;AAA3B;AACA;AACH;;AACD,QAAI2yX,kBAAJ,EACI;;AACJ,QAAI3yX,IAAI,GAAG;AAAE;AAAb,MAA4B;AACxBA,MAAAA,IAAI,GAAG;AAAE;AAAF,QAAoBA,IAAI,GAAG;AAAE;AAApC;;AACA,UAAIyc,OAAO,KAAK,EAAZ,IAAkB,CAAC21W,kBAAkB,CAACnzB,KAAD,EAAQxiV,OAAR,EAAiBy1W,gBAAjB,CAArC,IACAz1W,OAAO,KAAK,EAAZ,IAAkBomH,QAAQ,CAACphK,MAAT,KAAoB,CAD1C,EAC6C;AACzC,YAAImxZ,UAAU,CAAC5yX,IAAD,CAAd,EACI,OAAO,KAAP;AACJ2yX,QAAAA,kBAAkB,GAAG,IAArB;AACH;AACJ,KARD,MASK;AACD,YAAME,iBAAiB,GAAG7yX,IAAI,GAAG;AAAE;AAAT,QAAuByc,OAAvB,GAAiComH,QAAQ,CAAC,EAAEvuK,CAAH,CAAnE,CADC,CAED;AACA;;AACA,UAAK0rC,IAAI,GAAG;AAAE;AAAV,SAA0Bi/V,KAAK,CAACr4I,KAAN,KAAgB,IAA9C,EAAoD;AAChD,YAAI,CAACorK,kBAAkB,CAAC/yB,KAAK,CAACr4I,KAAP,EAAcisK,iBAAd,EAAiCX,gBAAjC,CAAvB,EAA2E;AACvE,cAAIU,UAAU,CAAC5yX,IAAD,CAAd,EACI,OAAO,KAAP;AACJ2yX,UAAAA,kBAAkB,GAAG,IAArB;AACH;;AACD;AACH;;AACD,YAAMv8P,QAAQ,GAAIp2H,IAAI,GAAG;AAAE;AAAV,QAAyB,OAAzB,GAAmCyc,OAApD;AACA,YAAMq2W,eAAe,GAAGC,mBAAmB,CAAC38P,QAAD,EAAWo8P,SAAX,EAAsBL,gBAAgB,CAAClzB,KAAD,CAAtC,EAA+CizB,gBAA/C,CAA3C;;AACA,UAAIY,eAAe,KAAK,CAAC,CAAzB,EAA4B;AACxB,YAAIF,UAAU,CAAC5yX,IAAD,CAAd,EACI,OAAO,KAAP;AACJ2yX,QAAAA,kBAAkB,GAAG,IAArB;AACA;AACH;;AACD,UAAIE,iBAAiB,KAAK,EAA1B,EAA8B;AAC1B,YAAIG,aAAJ;;AACA,YAAIF,eAAe,GAAGL,iBAAtB,EAAyC;AACrCO,UAAAA,aAAa,GAAG,EAAhB;AACH,SAFD,MAGK;AACDjlO,UAAAA,SAAS,IACLwuM,cAAc,CAACi2B,SAAS,CAACM,eAAD,CAAV,EAA6B;AAAE;AAA/B,YAAmD,qDAAnD,CADlB,CADC,CAGD;AACA;AACA;;AACAE,UAAAA,aAAa,GAAGR,SAAS,CAACM,eAAe,GAAG,CAAnB,CAAT,CAA+BtvZ,WAA/B,EAAhB;AACH;;AACD,cAAMyvZ,uBAAuB,GAAGjzX,IAAI,GAAG;AAAE;AAAT,UAAuBgzX,aAAvB,GAAuC,IAAvE;;AACA,YAAIC,uBAAuB,IACvBtB,YAAY,CAACsB,uBAAD,EAA0BJ,iBAA1B,EAA6C,CAA7C,CAAZ,KAAgE,CAAC,CADjE,IAEA7yX,IAAI,GAAG;AAAE;AAAT,WAA4B6yX,iBAAiB,KAAKG,aAFtD,EAEqE;AACjE,cAAIJ,UAAU,CAAC5yX,IAAD,CAAd,EACI,OAAO,KAAP;AACJ2yX,UAAAA,kBAAkB,GAAG,IAArB;AACH;AACJ;AACJ;AACJ;;AACD,SAAOC,UAAU,CAAC5yX,IAAD,CAAV,IAAoB2yX,kBAA3B;AACH;;AACD,SAASC,UAAT,CAAoB5yX,IAApB,EAA0B;AACtB,SAAO,CAACA,IAAI,GAAG;AAAE;AAAV,QAAyB,CAAhC;AACH;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;AACA;AACA;;;AACA,SAAS+yX,mBAAT,CAA6B/kZ,IAA7B,EAAmC44O,KAAnC,EAA0CurK,gBAA1C,EAA4DD,gBAA5D,EAA8E;AAC1E,MAAItrK,KAAK,KAAK,IAAd,EACI,OAAO,CAAC,CAAR;AACJ,MAAItyP,CAAC,GAAG,CAAR;;AACA,MAAI49Z,gBAAgB,IAAI,CAACC,gBAAzB,EAA2C;AACvC,QAAIe,YAAY,GAAG,KAAnB;;AACA,WAAO5+Z,CAAC,GAAGsyP,KAAK,CAACnlP,MAAjB,EAAyB;AACrB,YAAM0xZ,aAAa,GAAGvsK,KAAK,CAACtyP,CAAD,CAA3B;;AACA,UAAI6+Z,aAAa,KAAKnlZ,IAAtB,EAA4B;AACxB,eAAO1Z,CAAP;AACH,OAFD,MAGK,IAAI6+Z,aAAa,KAAK;AAAE;AAApB,SAAsCA,aAAa,KAAK;AAAE;AAA9D,QAA0E;AAC3ED,QAAAA,YAAY,GAAG,IAAf;AACH,OAFI,MAGA,IAAIC,aAAa,KAAK;AAAE;AAApB,SAAqCA,aAAa,KAAK;AAAE;AAA7D,QAA2E;AAC5E,YAAI7xZ,KAAK,GAAGslP,KAAK,CAAC,EAAEtyP,CAAH,CAAjB,CAD4E,CAE5E;AACA;;AACA,eAAO,OAAOgN,KAAP,KAAiB,QAAxB,EAAkC;AAC9BA,UAAAA,KAAK,GAAGslP,KAAK,CAAC,EAAEtyP,CAAH,CAAb;AACH;;AACD;AACH,OARI,MASA,IAAI6+Z,aAAa,KAAK;AAAE;AAAxB,QAAwC;AACzC;AACA;AACH,OAHI,MAIA,IAAIA,aAAa,KAAK;AAAE;AAAxB,QAA4C;AAC7C;AACA7+Z,QAAAA,CAAC,IAAI,CAAL;AACA;AACH,OAzBoB,CA0BrB;;;AACAA,MAAAA,CAAC,IAAI4+Z,YAAY,GAAG,CAAH,GAAO,CAAxB;AACH,KA9BsC,CA+BvC;;;AACA,WAAO,CAAC,CAAR;AACH,GAjCD,MAkCK;AACD,WAAOE,sBAAsB,CAACxsK,KAAD,EAAQ54O,IAAR,CAA7B;AACH;AACJ;;AACD,SAASqlZ,0BAAT,CAAoCp0B,KAApC,EAA2Cp8N,QAA3C,EAAqDqvP,gBAAgB,GAAG,KAAxE,EAA+E;AAC3E,OAAK,IAAI59Z,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGuuK,QAAQ,CAACphK,MAA7B,EAAqCnN,CAAC,EAAtC,EAA0C;AACtC,QAAIi+Z,sBAAsB,CAACtzB,KAAD,EAAQp8N,QAAQ,CAACvuK,CAAD,CAAhB,EAAqB49Z,gBAArB,CAA1B,EAAkE;AAC9D,aAAO,IAAP;AACH;AACJ;;AACD,SAAO,KAAP;AACH;;AACD,SAASoB,qBAAT,CAA+Br0B,KAA/B,EAAsC;AAClC,QAAMuzB,SAAS,GAAGvzB,KAAK,CAACr4I,KAAxB;;AACA,MAAI4rK,SAAS,IAAI,IAAjB,EAAuB;AACnB,UAAMe,kBAAkB,GAAGf,SAAS,CAACntZ,OAAV,CAAkB;AAAE;AAApB,KAA3B,CADmB,CAEnB;AACA;;AACA,QAAI,CAACkuZ,kBAAkB,GAAG,CAAtB,MAA6B,CAAjC,EAAoC;AAChC,aAAOf,SAAS,CAACe,kBAAkB,GAAG,CAAtB,CAAhB;AACH;AACJ;;AACD,SAAO,IAAP;AACH;;AACD,SAASb,sBAAT,CAAgCF,SAAhC,EAA2C;AACvC,OAAK,IAAIl+Z,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGk+Z,SAAS,CAAC/wZ,MAA9B,EAAsCnN,CAAC,EAAvC,EAA2C;AACvC,UAAMk/Z,QAAQ,GAAGhB,SAAS,CAACl+Z,CAAD,CAA1B;;AACA,QAAIm9Y,yBAAyB,CAAC+hB,QAAD,CAA7B,EAAyC;AACrC,aAAOl/Z,CAAP;AACH;AACJ;;AACD,SAAOk+Z,SAAS,CAAC/wZ,MAAjB;AACH;;AACD,SAAS2xZ,sBAAT,CAAgCxsK,KAAhC,EAAuC54O,IAAvC,EAA6C;AACzC,MAAI1Z,CAAC,GAAGsyP,KAAK,CAACvhP,OAAN,CAAc;AAAE;AAAhB,GAAR;;AACA,MAAI/Q,CAAC,GAAG,CAAC,CAAT,EAAY;AACRA,IAAAA,CAAC;;AACD,WAAOA,CAAC,GAAGsyP,KAAK,CAACnlP,MAAjB,EAAyB;AACrB,YAAMorJ,IAAI,GAAG+5F,KAAK,CAACtyP,CAAD,CAAlB,CADqB,CAErB;AACA;;AACA,UAAI,OAAOu4J,IAAP,KAAgB,QAApB,EACI,OAAO,CAAC,CAAR;AACJ,UAAIA,IAAI,KAAK7+I,IAAb,EACI,OAAO1Z,CAAP;AACJA,MAAAA,CAAC;AACJ;AACJ;;AACD,SAAO,CAAC,CAAR;AACH;AACD;AACA;AACA;AACA;AACA;;;AACA,SAASm/Z,wBAAT,CAAkC5wP,QAAlC,EAA4ChoD,IAA5C,EAAkD;AAC9C64S,EAAAA,gBAAgB,EAAE,KAAK,IAAIp/Z,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGumH,IAAI,CAACp5G,MAAzB,EAAiCnN,CAAC,EAAlC,EAAsC;AACpD,UAAMq/Z,qBAAqB,GAAG94S,IAAI,CAACvmH,CAAD,CAAlC;;AACA,QAAIuuK,QAAQ,CAACphK,MAAT,KAAoBkyZ,qBAAqB,CAAClyZ,MAA9C,EAAsD;AAClD;AACH;;AACD,SAAK,IAAIvL,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAG2sK,QAAQ,CAACphK,MAA7B,EAAqCvL,CAAC,EAAtC,EAA0C;AACtC,UAAI2sK,QAAQ,CAAC3sK,CAAD,CAAR,KAAgBy9Z,qBAAqB,CAACz9Z,CAAD,CAAzC,EAA8C;AAC1C,iBAASw9Z,gBAAT;AACH;AACJ;;AACD,WAAO,IAAP;AACH;;AACD,SAAO,KAAP;AACH;;AACD,SAASE,sBAAT,CAAgCC,cAAhC,EAAgDC,KAAhD,EAAuD;AACnD,SAAOD,cAAc,GAAG,UAAUC,KAAK,CAACz3Y,IAAN,EAAV,GAAyB,GAA5B,GAAkCy3Y,KAAvD;AACH;;AACD,SAASC,oBAAT,CAA8BlxP,QAA9B,EAAwC;AACpC,MAAIryJ,MAAM,GAAGqyJ,QAAQ,CAAC,CAAD,CAArB;AACA,MAAIvuK,CAAC,GAAG,CAAR;AACA,MAAI0rC,IAAI,GAAG;AAAE;AAAb;AACA,MAAIg0X,YAAY,GAAG,EAAnB;AACA,MAAIH,cAAc,GAAG,KAArB;;AACA,SAAOv/Z,CAAC,GAAGuuK,QAAQ,CAACphK,MAApB,EAA4B;AACxB,QAAIwyZ,aAAa,GAAGpxP,QAAQ,CAACvuK,CAAD,CAA5B;;AACA,QAAI,OAAO2/Z,aAAP,KAAyB,QAA7B,EAAuC;AACnC,UAAIj0X,IAAI,GAAG;AAAE;AAAb,QAA8B;AAC1B,cAAM4nN,SAAS,GAAG/kF,QAAQ,CAAC,EAAEvuK,CAAH,CAA1B;AACA0/Z,QAAAA,YAAY,IACR,MAAMC,aAAN,IAAuBrsK,SAAS,CAACnmP,MAAV,GAAmB,CAAnB,GAAuB,OAAOmmP,SAAP,GAAmB,GAA1C,GAAgD,EAAvE,IAA6E,GADjF;AAEH,OAJD,MAKK,IAAI5nN,IAAI,GAAG;AAAE;AAAb,QAA0B;AAC3Bg0X,QAAAA,YAAY,IAAI,MAAMC,aAAtB;AACH,OAFI,MAGA,IAAIj0X,IAAI,GAAG;AAAE;AAAb,QAA4B;AAC7Bg0X,QAAAA,YAAY,IAAI,MAAMC,aAAtB;AACH;AACJ,KAZD,MAaK;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAID,YAAY,KAAK,EAAjB,IAAuB,CAACpB,UAAU,CAACqB,aAAD,CAAtC,EAAuD;AACnDzjZ,QAAAA,MAAM,IAAIojZ,sBAAsB,CAACC,cAAD,EAAiBG,YAAjB,CAAhC;AACAA,QAAAA,YAAY,GAAG,EAAf;AACH;;AACDh0X,MAAAA,IAAI,GAAGi0X,aAAP,CAtBC,CAuBD;AACA;;AACAJ,MAAAA,cAAc,GAAGA,cAAc,IAAI,CAACjB,UAAU,CAAC5yX,IAAD,CAA9C;AACH;;AACD1rC,IAAAA,CAAC;AACJ;;AACD,MAAI0/Z,YAAY,KAAK,EAArB,EAAyB;AACrBxjZ,IAAAA,MAAM,IAAIojZ,sBAAsB,CAACC,cAAD,EAAiBG,YAAjB,CAAhC;AACH;;AACD,SAAOxjZ,MAAP;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAAS0jZ,wBAAT,CAAkCC,YAAlC,EAAgD;AAC5C,SAAOA,YAAY,CAACh7Z,GAAb,CAAiB46Z,oBAAjB,EAAuC35Y,IAAvC,CAA4C,GAA5C,CAAP;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASg6Y,kCAAT,CAA4CvxP,QAA5C,EAAsD;AAClD,QAAM+jF,KAAK,GAAG,EAAd;AACA,QAAM5sL,OAAO,GAAG,EAAhB;AACA,MAAI1lE,CAAC,GAAG,CAAR;AACA,MAAI0rC,IAAI,GAAG;AAAE;AAAb;;AACA,SAAO1rC,CAAC,GAAGuuK,QAAQ,CAACphK,MAApB,EAA4B;AACxB,QAAIwyZ,aAAa,GAAGpxP,QAAQ,CAACvuK,CAAD,CAA5B;;AACA,QAAI,OAAO2/Z,aAAP,KAAyB,QAA7B,EAAuC;AACnC,UAAIj0X,IAAI,KAAK;AAAE;AAAf,QAAgC;AAC5B,YAAIi0X,aAAa,KAAK,EAAtB,EAA0B;AACtBrtK,UAAAA,KAAK,CAACluP,IAAN,CAAWu7Z,aAAX,EAA0BpxP,QAAQ,CAAC,EAAEvuK,CAAH,CAAlC;AACH;AACJ,OAJD,MAKK,IAAI0rC,IAAI,KAAK;AAAE;AAAf,QAA4B;AAC7Bg6B,QAAAA,OAAO,CAACthE,IAAR,CAAau7Z,aAAb;AACH;AACJ,KATD,MAUK;AACD;AACA;AACA;AACA,UAAI,CAACrB,UAAU,CAAC5yX,IAAD,CAAf,EACI;AACJA,MAAAA,IAAI,GAAGi0X,aAAP;AACH;;AACD3/Z,IAAAA,CAAC;AACJ;;AACD,SAAO;AAAEsyP,IAAAA,KAAF;AAAS5sL,IAAAA;AAAT,GAAP;AACH;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;;;AACA,MAAMq6V,SAAS,GAAI,OAAOtmO,SAAP,KAAqB,WAArB,IAAoCA,SAArC,GAAkD;AAAEumO,EAAAA,SAAS,EAAE;AAAb,CAAlD,GAA+E,EAAjG;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,SAASC,SAAT,CAAmBl5T,KAAnB,EAA0B;AACtB0yF,EAAAA,SAAS,IAAI4uM,iBAAiB,CAACthS,KAAD,EAAQ,CAAR,EAAW,0BAAX,CAA9B;AACAm5T,EAAAA,mBAAmB,CAACxpB,QAAQ,EAAT,EAAaD,QAAQ,EAArB,EAAyBmD,gBAAgB,KAAK7yS,KAA9C,EAAqDivS,sBAAsB,EAA3E,CAAnB;AACH;;AACD,SAASkqB,mBAAT,CAA6Bt1B,KAA7B,EAAoCkG,KAApC,EAA2CvyR,KAA3C,EAAkD4hT,kBAAlD,EAAsE;AAClE1mO,EAAAA,SAAS,IAAI04M,sBAAsB,CAACrB,KAAD,EAAQvyR,KAAR,CAAnC,CADkE,CAElE;AACA;;AACA,MAAI,CAAC4hT,kBAAL,EAAyB;AACrB,UAAMC,uBAAuB,GAAG,CAACtvB,KAAK,CAACpC,KAAD,CAAL,GAAe;AAAE;AAAlB,UAAgD;AAAE;AAAlF;;AACA,QAAI0xB,uBAAJ,EAA6B;AACzB,YAAM7lB,kBAAkB,GAAG3P,KAAK,CAAC2P,kBAAjC;;AACA,UAAIA,kBAAkB,KAAK,IAA3B,EAAiC;AAC7BW,QAAAA,iBAAiB,CAACpK,KAAD,EAAQyJ,kBAAR,EAA4Bh8R,KAA5B,CAAjB;AACH;AACJ,KALD,MAMK;AACD,YAAM+7R,aAAa,GAAG1P,KAAK,CAAC0P,aAA5B;;AACA,UAAIA,aAAa,KAAK,IAAtB,EAA4B;AACxBe,QAAAA,wBAAwB,CAACvK,KAAD,EAAQwJ,aAAR,EAAuB;AAAE;AAAzB,UAAmD/7R,KAAnD,CAAxB;AACH;AACJ;AACJ,GAlBiE,CAmBlE;AACA;AACA;AACA;;;AACAs7R,EAAAA,gBAAgB,CAACt7R,KAAD,CAAhB;AACH;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;AACA;;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAAS8hT,oBAAT,CAA8B3mZ,IAA9B,EAAoC;AAChC;AACA,MAAI+/K,SAAJ,EAAe;AACX,QAAI;AACA;AACA;AACA;AACA,aAAQuxN,wBAAwB,CAAC,OAAD,EAAW,gBAAetxY,IAAK,kBAA/B,CAAzB,CAA4E7T,KAA5E,CAAP;AACH,KALD,CAMA,OAAOvG,CAAP,EAAU;AACN;AACA,aAAOuG,KAAP;AACH;AACJ,GAXD,MAYK;AACD,UAAM,IAAI+U,KAAJ,CAAU,6GAAV,CAAN;AACH;AACJ;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAAS0lZ,eAAT,CAAyBh+L,IAAzB,EAA+BtoN,IAA/B,EAAqC;AACjCy/K,EAAAA,SAAS,IAAI+tM,mBAAmB,CAACllK,IAAD,EAAO,CAAP,EAAU;AAAM;AAAhB,GAAhC;AACA7oC,EAAAA,SAAS,IAAI+tM,mBAAmB,CAACxtX,IAAD,EAAO,CAAP,EAAU;AAAM;AAAhB,GAAhC;AACA,SAAQsoN,IAAI,IAAI;AAAG;AAAX,IAA8BtoN,IAAI,IAAI;AAAE;AAAhD;AACH;;AACD,SAASumZ,oBAAT,CAA8BC,aAA9B,EAA6C;AACzC/mO,EAAAA,SAAS,IAAI4tM,YAAY,CAACm5B,aAAD,EAAgB,iBAAhB,CAAzB;AACA,SAAQA,aAAa,IAAI;AAAG;AAArB,IAAyC;AAAM;AAAtD;AACH;;AACD,SAASC,6BAAT,CAAuCD,aAAvC,EAAsD;AAClD/mO,EAAAA,SAAS,IAAI4tM,YAAY,CAACm5B,aAAD,EAAgB,iBAAhB,CAAzB;AACA,SAAO,CAACA,aAAa,GAAG;AAAE;AAAnB,OACH;AAAE;AADN;AAEH;;AACD,SAASE,oBAAT,CAA8BF,aAA9B,EAA6CxhT,QAA7C,EAAuD;AACnDy6E,EAAAA,SAAS,IAAI4tM,YAAY,CAACm5B,aAAD,EAAgB,iBAAhB,CAAzB;AACA/mO,EAAAA,SAAS,IAAI+tM,mBAAmB,CAACxoR,QAAD,EAAW,CAAX,EAAc;AAAM;AAApB,GAAhC;AACA,SAASwhT,aAAa,GAAG,CAAC;AAAW;AAA7B,IACHxhT,QAAQ,IAAI;AAAG;AADpB;AAEH;;AACD,SAAS2hT,6BAAT,CAAuCH,aAAvC,EAAsD;AAClD/mO,EAAAA,SAAS,IAAI4tM,YAAY,CAACm5B,aAAD,EAAgB,iBAAhB,CAAzB;AACA,SAAQA,aAAa,GAAG;AAAE;AAA1B;AACH;;AACD,SAASI,oBAAT,CAA8BJ,aAA9B,EAA6C;AACzC/mO,EAAAA,SAAS,IAAI4tM,YAAY,CAACm5B,aAAD,EAAgB,iBAAhB,CAAzB;AACA,SAAO,CAACA,aAAa,GAAG;AAAO;AAAxB,OAA4C;AAAE;AAArD;AACH;;AACD,SAASK,oBAAT,CAA8BL,aAA9B,EAA6CxmZ,IAA7C,EAAmD;AAC/Cy/K,EAAAA,SAAS,IAAI4tM,YAAY,CAACm5B,aAAD,EAAgB,iBAAhB,CAAzB;AACA/mO,EAAAA,SAAS,IAAI+tM,mBAAmB,CAACxtX,IAAD,EAAO,CAAP,EAAU;AAAM;AAAhB,GAAhC;AACA,SAASwmZ,aAAa,GAAG,CAAC;AAAO;AAAzB,IAA4C;AAChDxmZ,EAAAA,IAAI,IAAI;AAAE;AADd;AAEH;;AACD,SAAS8mZ,6BAAT,CAAuCN,aAAvC,EAAsD;AAClD/mO,EAAAA,SAAS,IAAI4tM,YAAY,CAACm5B,aAAD,EAAgB,iBAAhB,CAAzB;AACA,SAAO,CAACA,aAAa,GAAG;AAAE;AAAnB,QACH;AAAE;AADN;AAEH;;AACD,SAASO,6BAAT,CAAuCP,aAAvC,EAAsD;AAClD/mO,EAAAA,SAAS,IAAI4tM,YAAY,CAACm5B,aAAD,EAAgB,iBAAhB,CAAzB;AACA,SAAQA,aAAa,GAAG;AAAE;AAA1B;AACH;;AACD,SAASQ,oBAAT,CAA8BR,aAA9B,EAA6C;AACzC/mO,EAAAA,SAAS,IAAI4tM,YAAY,CAACm5B,aAAD,EAAgB,iBAAhB,CAAzB;AACA,QAAMxmZ,IAAI,GAAG4mZ,oBAAoB,CAACJ,aAAD,CAAjC;AACA,SAAOxmZ,IAAI,KAAK,CAAT,GAAaumZ,oBAAoB,CAACC,aAAD,CAAjC,GAAmDxmZ,IAA1D;AACH;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASinZ,iBAAT,CAA2B9uP,GAA3B,EAAgCzuJ,KAAhC,EAAuC;AACnC,MAAI+1K,SAAJ,EAAe;AACX9/K,IAAAA,MAAM,CAACI,cAAP,CAAsBo4J,GAAtB,EAA2B,OAA3B,EAAoC;AAAEnlK,MAAAA,KAAK,EAAE0W,KAAT;AAAgB+e,MAAAA,UAAU,EAAE;AAA5B,KAApC;AACH,GAFD,MAGK;AACD,UAAM,IAAI7nB,KAAJ,CAAU,6FAAV,CAAN;AACH;AACJ;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASsmZ,iBAAT,CAA2B/uP,GAA3B,EAAgCgvP,WAAhC,EAA6C;AACzC,MAAI1nO,SAAJ,EAAe;AACX9/K,IAAAA,MAAM,CAACI,cAAP,CAAsBo4J,GAAtB,EAA2B,OAA3B,EAAoC;AAAE/4J,MAAAA,GAAG,EAAE+nZ,WAAP;AAAoB1+X,MAAAA,UAAU,EAAE;AAAhC,KAApC;AACH,GAFD,MAGK;AACD,UAAM,IAAI7nB,KAAJ,CAAU,6FAAV,CAAN;AACH;AACJ;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,IAAIwmZ,qBAAJ;AACA,IAAIC,oBAAJ;AACA,IAAIC,UAAJ;AACA,IAAIC,eAAJ;AACA,IAAIC,cAAJ;AACA;AACA;AACA;AACA;AACA;;AACA,SAASC,8BAAT,CAAwC72B,KAAxC,EAA+C;AAC3C,QAAM82B,UAAU,GAAG92B,KAAnB;AACA,QAAMkG,KAAK,GAAG6wB,eAAe,CAACD,UAAU,CAAC7+Z,IAAZ,EAAkB+nY,KAAK,CAAC1oR,QAAN,IAAkB0oR,KAAK,CAAC1oR,QAAN,CAAexoG,IAAnD,CAA7B;AACA,SAAOo3X,KAAK,CAACr6X,MAAN,CAAam0X,KAAK,CAACoU,SAAnB,CAAP;AACH;;AACD,MAAM4iB,SAAN,SAAwB/7Z,KAAxB,CAA8B;;AAE9B,MAAMg8Z,cAAN,SAA6Bh8Z,KAA7B,CAAmC;;AAEnC,MAAMi8Z,aAAN,SAA4Bj8Z,KAA5B,CAAkC;;AAElC,SAAS87Z,eAAT,CAAyB9+Z,IAAzB,EAA+B6W,IAA/B,EAAqC;AACjC,UAAQ7W,IAAR;AACI,SAAK;AAAE;AAAP;AACI,UAAIy+Z,UAAU,KAAKzzP,SAAnB,EACIyzP,UAAU,GAAG,IAAIM,SAAJ,EAAb;AACJ,aAAON,UAAP;;AACJ,SAAK;AAAE;AAAP;AACI,UAAI,CAAC7nO,SAAD,IAAc,CAACA,SAAS,CAACgxM,iBAA7B,EAAgD;AAC5C,YAAI82B,eAAe,KAAK1zP,SAAxB,EACI0zP,eAAe,GAAG,IAAIM,cAAJ,EAAlB;AACJ,eAAON,eAAP;AACH;;AACD,UAAIH,qBAAqB,KAAKvzP,SAA9B,EACIuzP,qBAAqB,GAAG,IAAInvZ,GAAJ,EAAxB;AACJ,UAAI8vZ,cAAc,GAAGX,qBAAqB,CAAChoZ,GAAtB,CAA0BM,IAA1B,CAArB;;AACA,UAAIqoZ,cAAc,KAAKl0P,SAAvB,EAAkC;AAC9Bk0P,QAAAA,cAAc,GAAG,KAAK1B,oBAAoB,CAAC,mBAAmB2B,UAAU,CAACtoZ,IAAD,CAA9B,CAAzB,GAAjB;AACA0nZ,QAAAA,qBAAqB,CAACp8Z,GAAtB,CAA0B0U,IAA1B,EAAgCqoZ,cAAhC;AACH;;AACD,aAAOA,cAAP;;AACJ,SAAK;AAAE;AAAP;AACI,UAAI,CAACtoO,SAAD,IAAc,CAACA,SAAS,CAACgxM,iBAA7B,EAAgD;AAC5C,YAAI+2B,cAAc,KAAK3zP,SAAvB,EACI2zP,cAAc,GAAG,IAAIM,aAAJ,EAAjB;AACJ,eAAON,cAAP;AACH;;AACD,UAAIH,oBAAoB,KAAKxzP,SAA7B,EACIwzP,oBAAoB,GAAG,IAAIpvZ,GAAJ,EAAvB;AACJ,UAAIgwZ,aAAa,GAAGZ,oBAAoB,CAACjoZ,GAArB,CAAyBM,IAAzB,CAApB;;AACA,UAAIuoZ,aAAa,KAAKp0P,SAAtB,EAAiC;AAC7Bo0P,QAAAA,aAAa,GAAG,KAAK5B,oBAAoB,CAAC,kBAAkB2B,UAAU,CAACtoZ,IAAD,CAA7B,CAAzB,GAAhB;AACA2nZ,QAAAA,oBAAoB,CAACr8Z,GAArB,CAAyB0U,IAAzB,EAA+BuoZ,aAA/B;AACH;;AACD,aAAOA,aAAP;AAhCR;AAkCH;;AACD,SAASD,UAAT,CAAoBr2Z,IAApB,EAA0B;AACtB,MAAIA,IAAI,IAAI,IAAZ,EACI,OAAO,EAAP;AACJ,QAAM4yG,KAAK,GAAG5yG,IAAI,CAAC4Z,WAAL,CAAiB,WAAjB,CAAd;AACA,SAAO,OAAOg5F,KAAK,KAAK,CAAC,CAAX,GAAe5yG,IAAf,GAAsBA,IAAI,CAACuiK,MAAL,CAAY,CAAZ,EAAe3vD,KAAf,CAA7B,CAAP;AACH;AACD;AACA;AACA;AACA;AACA;;;AACA,MAAM2jT,gBAAgB,GAAG,MAAMC,KAAN,CAAY;AACjCpga,EAAAA,WAAW,CAACc,IAAD,EAAOm8Y,SAAP,EAAkB98R,QAAlB,EAA4BgyL,OAA5B,EAAqCn/B,SAArC,EAAgD2jI,SAAhD,EAA2Dl1Y,IAA3D,EAAiEqsR,iBAAjE,EAAoFyiH,iBAApF,EAAuG8vB,kBAAvG,EAA2H13B,eAA3H,EAA4IuH,eAA5I,EAA6JowB,iBAA7J,EAAgLC,oBAAhL,EAAsMhoB,aAAtM,EAAqNC,kBAArN,EAAyOM,YAAzO,EAAuPC,iBAAvP,EAA0QC,SAA1Q,EAAqRC,cAArR,EAAqSC,YAArS,EAAmTruJ,OAAnT,EAA4T6jE,cAA5T,EAA4U4kC,UAA5U,EAAwVktE,iBAAxV,EAA2WC,YAA3W,EAAyXj0T,UAAzX,EAAqYyvL,OAArY,EAA8YqrD,MAA9Y,EAAsZo5E,mBAAtZ,EAA2aC,MAA3a,EAAmbC,KAAnb,EAA0b;AACjc,SAAK9/Z,IAAL,GAAYA,IAAZ;AACA,SAAKm8Y,SAAL,GAAiBA,SAAjB;AACA,SAAK98R,QAAL,GAAgBA,QAAhB;AACA,SAAKgyL,OAAL,GAAeA,OAAf;AACA,SAAKn/B,SAAL,GAAiBA,SAAjB;AACA,SAAK2jI,SAAL,GAAiBA,SAAjB;AACA,SAAKl1Y,IAAL,GAAYA,IAAZ;AACA,SAAKqsR,iBAAL,GAAyBA,iBAAzB;AACA,SAAKyiH,iBAAL,GAAyBA,iBAAzB;AACA,SAAK8vB,kBAAL,GAA0BA,kBAA1B;AACA,SAAK13B,eAAL,GAAuBA,eAAvB;AACA,SAAKuH,eAAL,GAAuBA,eAAvB;AACA,SAAKowB,iBAAL,GAAyBA,iBAAzB;AACA,SAAKC,oBAAL,GAA4BA,oBAA5B;AACA,SAAKhoB,aAAL,GAAqBA,aAArB;AACA,SAAKC,kBAAL,GAA0BA,kBAA1B;AACA,SAAKM,YAAL,GAAoBA,YAApB;AACA,SAAKC,iBAAL,GAAyBA,iBAAzB;AACA,SAAKC,SAAL,GAAiBA,SAAjB;AACA,SAAKC,cAAL,GAAsBA,cAAtB;AACA,SAAKC,YAAL,GAAoBA,YAApB;AACA,SAAKruJ,OAAL,GAAeA,OAAf;AACA,SAAK6jE,cAAL,GAAsBA,cAAtB;AACA,SAAK4kC,UAAL,GAAkBA,UAAlB;AACA,SAAKktE,iBAAL,GAAyBA,iBAAzB;AACA,SAAKC,YAAL,GAAoBA,YAApB;AACA,SAAKj0T,UAAL,GAAkBA,UAAlB;AACA,SAAKyvL,OAAL,GAAeA,OAAf;AACA,SAAKqrD,MAAL,GAAcA,MAAd;AACA,SAAKo5E,mBAAL,GAA2BA,mBAA3B;AACA,SAAKC,MAAL,GAAcA,MAAd;AACA,SAAKC,KAAL,GAAaA,KAAb;AACH;;AACY,MAATC,SAAS,GAAG;AACZ,UAAM1T,GAAG,GAAG,EAAZ;AACA2T,IAAAA,oBAAoB,CAAC,KAAKt0T,UAAN,EAAkB2gT,GAAlB,CAApB;AACA,WAAOA,GAAG,CAACppY,IAAJ,CAAS,EAAT,CAAP;AACH;;AACQ,MAALg9Y,KAAK,GAAG;AACR,WAAOjzB,iBAAiB,CAAC,KAAKhtY,IAAN,CAAjB,IAAiC,cAAa,KAAKA,IAAK,GAA/D;AACH;;AA1CgC,CAArC;;AA4CA,MAAMkga,KAAN,CAAY;AACRhha,EAAAA,WAAW,CAACkvY,MAAD,EAAS;AACpBpuY,EAAAA,IADW,EACL;AACN07G,EAAAA,KAFW,EAEJ;AACPykT,EAAAA,iBAHW,EAGQ;AACnBpwB,EAAAA,aAJW,EAII;AACf6H,EAAAA,cALW,EAKK;AAChBC,EAAAA,YANW,EAMG;AACduoB,EAAAA,oBAPW,EAOW;AACtB18E,EAAAA,gBARW,EAQO;AAClBj4L,EAAAA,KATW,EASJ;AACP4yP,EAAAA,eAVW,EAUM;AACjBl0Y,EAAAA,KAXW,EAWJ;AACPslP,EAAAA,KAZW,EAYJ;AACP4wK,EAAAA,WAbW,EAaE;AACbxP,EAAAA,UAdW,EAcC;AACZyP,EAAAA,aAfW,EAeI;AACfzqM,EAAAA,MAhBW,EAgBH;AACR0qD,EAAAA,OAjBW,EAiBF;AACTggJ,EAAAA,MAlBW,EAkBH;AACRppZ,EAAAA,IAnBW,EAmBL;AACNsiZ,EAAAA,cApBW,EAoBK;AAChB9rQ,EAAAA,KArBW,EAqBJ;AACP7tJ,EAAAA,MAtBW,EAsBH;AACR8vQ,EAAAA,UAvBW,EAuBC;AACZ7uI,EAAAA,MAxBW,EAwBH;AACRy/R,EAAAA,iBAzBW,EAyBQ;AACnBC,EAAAA,cA1BW,EA0BK;AAChB59V,EAAAA,OA3BW,EA2BF;AACT69V,EAAAA,kBA5BW,EA4BS;AACpBC,EAAAA,eA7BW,EA6BM;AACjBC,EAAAA,aA9BW,EA8BI;AACfC,EAAAA,aA/BW,EA+BI;AACX,SAAKzyB,MAAL,GAAcA,MAAd;AACA,SAAKpuY,IAAL,GAAYA,IAAZ;AACA,SAAK07G,KAAL,GAAaA,KAAb;AACA,SAAKykT,iBAAL,GAAyBA,iBAAzB;AACA,SAAKpwB,aAAL,GAAqBA,aAArB;AACA,SAAK6H,cAAL,GAAsBA,cAAtB;AACA,SAAKC,YAAL,GAAoBA,YAApB;AACA,SAAKuoB,oBAAL,GAA4BA,oBAA5B;AACA,SAAK18E,gBAAL,GAAwBA,gBAAxB;AACA,SAAKj4L,KAAL,GAAaA,KAAb;AACA,SAAK4yP,eAAL,GAAuBA,eAAvB;AACA,SAAKl0Y,KAAL,GAAaA,KAAb;AACA,SAAKslP,KAAL,GAAaA,KAAb;AACA,SAAK4wK,WAAL,GAAmBA,WAAnB;AACA,SAAKxP,UAAL,GAAkBA,UAAlB;AACA,SAAKyP,aAAL,GAAqBA,aAArB;AACA,SAAKzqM,MAAL,GAAcA,MAAd;AACA,SAAK0qD,OAAL,GAAeA,OAAf;AACA,SAAKggJ,MAAL,GAAcA,MAAd;AACA,SAAKppZ,IAAL,GAAYA,IAAZ;AACA,SAAKsiZ,cAAL,GAAsBA,cAAtB;AACA,SAAK9rQ,KAAL,GAAaA,KAAb;AACA,SAAK7tJ,MAAL,GAAcA,MAAd;AACA,SAAK8vQ,UAAL,GAAkBA,UAAlB;AACA,SAAK7uI,MAAL,GAAcA,MAAd;AACA,SAAKy/R,iBAAL,GAAyBA,iBAAzB;AACA,SAAKC,cAAL,GAAsBA,cAAtB;AACA,SAAK59V,OAAL,GAAeA,OAAf;AACA,SAAK69V,kBAAL,GAA0BA,kBAA1B;AACA,SAAKC,eAAL,GAAuBA,eAAvB;AACA,SAAKC,aAAL,GAAqBA,aAArB;AACA,SAAKC,aAAL,GAAqBA,aAArB;AACH;AACD;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACIC,EAAAA,qBAAqB,CAAC7yB,KAAD,EAAQ;AACzB,UAAM/rX,IAAI,GAAG,EAAb;AACA,QAAI6tX,aAAa,GAAGkM,gBAAgB,CAAC,IAAD,EAAOhO,KAAP,CAApC;;AACA,QAAI8B,aAAa,KAAK,CAAC,CAAvB,EAA0B;AACtB;AACA;AACA,YAAM+K,cAAc,GAAGuB,yBAAyB,CAAC,IAAD,EAAOpO,KAAP,CAAhD;;AACA,UAAI6M,cAAc,KAAK7B,kBAAvB,EAA2C;AACvC;AACAlJ,QAAAA,aAAa,GAAGgL,sBAAsB,CAACD,cAAD,CAAtC;AACA7M,QAAAA,KAAK,GAAGiN,qBAAqB,CAACJ,cAAD,EAAiB7M,KAAjB,CAA7B;AACH,OAJD,MAKK,CACD;AACH;AACJ;;AACD,WAAO8B,aAAa,KAAK,CAAC,CAA1B,EAA6B;AACzBn5M,MAAAA,SAAS,IAAIk5M,kBAAkB,CAAC7B,KAAD,EAAQ8B,aAAR,CAA/B;AACA,YAAMjI,KAAK,GAAGmG,KAAK,CAACrC,KAAD,CAAL,CAAajrY,IAAb,CAAkBovY,aAAa,GAAG;AAAE;AAApC,OAAd;AACA7tX,MAAAA,IAAI,CAAC3gB,IAAL,CAAUw/Z,cAAc,CAACj5B,KAAD,EAAQmG,KAAR,CAAxB;AACA,YAAM6M,cAAc,GAAG7M,KAAK,CAAC8B,aAAa,GAAG;AAAE;AAAnB,OAA5B;;AACA,UAAI+K,cAAc,KAAK7B,kBAAvB,EAA2C;AACvClJ,QAAAA,aAAa,GAAG,CAAC,CAAjB;AACH,OAFD,MAGK;AACDA,QAAAA,aAAa,GAAGgL,sBAAsB,CAACD,cAAD,CAAtC;AACA7M,QAAAA,KAAK,GAAGiN,qBAAqB,CAACJ,cAAD,EAAiB7M,KAAjB,CAA7B;AACH;AACJ;;AACD,WAAO/rX,IAAP;AACH;;AACQ,MAAL+9Y,KAAK,GAAG;AACR,WAAOvmB,mBAAmB,CAAC,KAAK15Y,IAAN,CAAnB,IAAmC,cAAa,KAAKA,IAAK,GAAjE;AACH;;AACS,MAANgha,MAAM,GAAG;AACT,UAAMv1Q,KAAK,GAAG,EAAd;AACA,QAAI,KAAKA,KAAL,GAAa;AAAG;AAApB,MACIA,KAAK,CAAClqJ,IAAN,CAAW,0BAAX;AACJ,QAAI,KAAKkqJ,KAAL,GAAa;AAAE;AAAnB,MACIA,KAAK,CAAClqJ,IAAN,CAAW,4BAAX;AACJ,QAAI,KAAKkqJ,KAAL,GAAa;AAAG;AAApB,MACIA,KAAK,CAAClqJ,IAAN,CAAW,0BAAX;AACJ,QAAI,KAAKkqJ,KAAL,GAAa;AAAI;AAArB,MACIA,KAAK,CAAClqJ,IAAN,CAAW,4BAAX;AACJ,QAAI,KAAKkqJ,KAAL,GAAa;AAAE;AAAnB,MACIA,KAAK,CAAClqJ,IAAN,CAAW,4BAAX;AACJ,QAAI,KAAKkqJ,KAAL,GAAa;AAAE;AAAnB,MACIA,KAAK,CAAClqJ,IAAN,CAAW,4BAAX;AACJ,QAAI,KAAKkqJ,KAAL,GAAa;AAAG;AAApB,MACIA,KAAK,CAAClqJ,IAAN,CAAW,uBAAX;AACJ,QAAI,KAAKkqJ,KAAL,GAAa;AAAE;AAAnB,MACIA,KAAK,CAAClqJ,IAAN,CAAW,wBAAX;AACJ,WAAOkqJ,KAAK,CAACxoI,IAAN,CAAW,GAAX,CAAP;AACH;;AACY,MAAT88Y,SAAS,GAAG;AACZ,QAAI,KAAK//Z,IAAL,GAAY;AAAE;AAAlB,MACI,OAAO,KAAKmK,KAAZ;AACJ,UAAMkiZ,GAAG,GAAG,EAAZ;AACA,UAAMnhQ,OAAO,GAAG,OAAO,KAAK/gJ,KAAZ,KAAsB,QAAtB,IAAkC,KAAKA,KAAvC,IAAgD,KAAK81Z,KAArE;AACA5T,IAAAA,GAAG,CAAC9qZ,IAAJ,CAAS,GAAT,EAAc2pJ,OAAd;;AACA,QAAI,KAAKO,KAAT,EAAgB;AACZ4gQ,MAAAA,GAAG,CAAC9qZ,IAAJ,CAAS,GAAT,EAAc,KAAKy/Z,MAAnB;AACH;;AACD,QAAI,KAAKvxK,KAAT,EAAgB;AACZ,WAAK,IAAItyP,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAG,KAAKsyP,KAAL,CAAWnlP,MAA/B,GAAwC;AACpC,cAAM20J,QAAQ,GAAG,KAAKwwF,KAAL,CAAWtyP,CAAC,EAAZ,CAAjB;;AACA,YAAI,OAAO8hK,QAAP,IAAmB,QAAvB,EAAiC;AAC7B;AACH;;AACD,cAAMwxF,SAAS,GAAG,KAAKhB,KAAL,CAAWtyP,CAAC,EAAZ,CAAlB;AACAkvZ,QAAAA,GAAG,CAAC9qZ,IAAJ,CAAS,GAAT,EAAc09J,QAAd,EAAwB,IAAxB,EAA8BwxF,SAA9B,EAAyC,GAAzC;AACH;AACJ;;AACD47J,IAAAA,GAAG,CAAC9qZ,IAAJ,CAAS,GAAT;AACAy+Z,IAAAA,oBAAoB,CAAC,KAAKryQ,KAAN,EAAa0+P,GAAb,CAApB;AACAA,IAAAA,GAAG,CAAC9qZ,IAAJ,CAAS,IAAT,EAAe2pJ,OAAf,EAAwB,GAAxB;AACA,WAAOmhQ,GAAG,CAACppY,IAAJ,CAAS,EAAT,CAAP;AACH;;AACiB,MAAdg+Y,cAAc,GAAG;AACjB,WAAOC,mBAAmB,CAAC,IAAD,EAAO,KAAP,CAA1B;AACH;;AACiB,MAAdC,cAAc,GAAG;AACjB,WAAOD,mBAAmB,CAAC,IAAD,EAAO,IAAP,CAA1B;AACH;;AACsB,MAAnBE,mBAAmB,GAAG;AACtB,WAAO,KAAK/iB,eAAL,GAAuB;AAAQ;AAAtC;AACH;;AACoB,MAAjBgjB,iBAAiB,GAAG;AACpB,WAAO,KAAKD,mBAAL,IACF,KAAK/iB,eAAL,KAAyB;AAAG;AAD1B,KAAP;AAEH;;AAzKO;;AA2KZ,MAAMijB,UAAU,GAAGpB,KAAnB;;AACA,SAASgB,mBAAT,CAA6Bp5B,KAA7B,EAAoCzmE,YAApC,EAAkD;AAC9C,QAAMo0E,KAAK,GAAG3N,KAAK,CAACsG,MAAN,CAAaztY,IAA3B;AACA,QAAMkwT,QAAQ,GAAG,EAAjB;AACA,QAAMnqT,KAAK,GAAG26T,YAAY,GAAGymE,KAAK,CAAC84B,aAAT,GAAyB94B,KAAK,CAAC+4B,aAAzD;AACA,QAAMphM,IAAI,GAAGi+L,oBAAoB,CAACh3Z,KAAD,CAAjC;AACA,QAAMyQ,IAAI,GAAG4mZ,oBAAoB,CAACr3Z,KAAD,CAAjC;AACA,MAAIuiT,UAAU,GAAG9xS,IAAI,KAAK,CAA1B;AACA,MAAIy9E,MAAM,GAAGq0N,UAAU,GAAG9xS,IAAH,GAAUsoN,IAAjC;;AACA,SAAO7qI,MAAM,KAAK,CAAlB,EAAqB;AACjB,UAAM2sU,OAAO,GAAG9rB,KAAK,CAAC7gT,MAAD,CAArB;AACA,UAAM4sU,SAAS,GAAG/rB,KAAK,CAAC7gT,MAAM,GAAG,CAAV,CAAvB;AACAi8N,IAAAA,QAAQ,CAACxyR,OAAT,CAAiB;AACbh2B,MAAAA,GAAG,EAAEk5Z,OADQ;AAEb7lT,MAAAA,KAAK,EAAE9mB,MAFM;AAGbq0N,MAAAA,UAAU,EAAEA,UAHC;AAIbw4G,MAAAA,aAAa,EAAE7D,6BAA6B,CAAC4D,SAAD,CAJ/B;AAKbE,MAAAA,aAAa,EAAEzD,6BAA6B,CAACuD,SAAD,CAL/B;AAMbG,MAAAA,SAAS,EAAE5D,oBAAoB,CAACyD,SAAD,CANlB;AAObI,MAAAA,SAAS,EAAElE,oBAAoB,CAAC8D,SAAD;AAPlB,KAAjB;AASA,QAAI5sU,MAAM,KAAK6qI,IAAf,EACIwpF,UAAU,GAAG,KAAb;AACJr0N,IAAAA,MAAM,GAAG8oU,oBAAoB,CAAC8D,SAAD,CAA7B;AACH;;AACD3wG,EAAAA,QAAQ,CAACtvT,IAAT,CAAc,CAAC8/T,YAAY,GAAGymE,KAAK,CAAC64B,eAAT,GAA2B74B,KAAK,CAAC24B,cAA9C,KAAiE,IAA/E;AACA,SAAO5vG,QAAP;AACH;;AACD,SAASmvG,oBAAT,CAA8Bl4B,KAA9B,EAAqCukB,GAArC,EAA0C;AACtC,SAAOvkB,KAAP,EAAc;AACVukB,IAAAA,GAAG,CAAC9qZ,IAAJ,CAASumY,KAAK,CAACi4B,SAAf;AACAj4B,IAAAA,KAAK,GAAGA,KAAK,CAAC3wX,IAAd;AACH;AACJ;;AACD,MAAM0qZ,SAAN,SAAwB7+Z,KAAxB,CAA8B;;AAE9B,IAAI8+Z,eAAJ,EAAqB;AACrB;;AACA;AACA;AACA;AACA;AACA;;AACA,SAASC,gBAAT,CAA0Br+S,IAA1B,EAAgC;AAC5B,MAAIo+S,eAAe,KAAK92P,SAAxB,EACI82P,eAAe,GAAG,IAAID,SAAJ,EAAlB;AACJ,SAAOC,eAAe,CAACluZ,MAAhB,CAAuB8vG,IAAvB,CAAP;AACH;;AACD,MAAMs+S,cAAN,SAA6Bh/Z,KAA7B,CAAmC;;AAEnC,MAAMi/Z,YAAN,SAA2Bj/Z,KAA3B,CAAiC;;AAEjC,MAAMk/Z,eAAN,SAA8Bl/Z,KAA9B,CAAoC;;AAEpC,MAAMm/Z,eAAN,SAA8Bn/Z,KAA9B,CAAoC;;AAEpC,MAAMo/Z,kBAAN,SAAiCp/Z,KAAjC,CAAuC;;AAEvC,MAAMq/Z,QAAN,SAAuBr/Z,KAAvB,CAA6B;;AAE7B,MAAMs/Z,QAAN,SAAuBt/Z,KAAvB,CAA6B;;AAE7B,SAASu/Z,gBAAT,CAA0Bt0B,KAA1B,EAAiC;AAC7BmwB,EAAAA,iBAAiB,CAACnwB,KAAD,EAAQ,IAAIu0B,UAAJ,CAAev0B,KAAf,CAAR,CAAjB;AACH;;AACD,SAASw0B,qBAAT,CAA+B7vB,UAA/B,EAA2C;AACvCwrB,EAAAA,iBAAiB,CAACxrB,UAAD,EAAa,IAAI8vB,eAAJ,CAAoB9vB,UAApB,CAAb,CAAjB;AACH;;AACD,SAAS+vB,OAAT,CAAiBrzP,GAAjB,EAAsB;AAClB,MAAIA,GAAJ,EAAS;AACL,UAAMzuJ,KAAK,GAAGyuJ,GAAG,CAACzuJ,KAAlB;AACA6kX,IAAAA,aAAa,CAAC7kX,KAAD,EAAQ,8CAAR,CAAb;AACA,WAAOA,KAAP;AACH,GAJD,MAKK;AACD,WAAOyuJ,GAAP;AACH;AACJ;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASszP,MAAT,CAAgBz4Z,KAAhB,EAAuB04Z,eAAe,GAAG,KAAzC,EAAgD;AAC5C,QAAMpmV,IAAI,GAAGo1T,WAAW,CAAC1nY,KAAD,CAAxB;;AACA,MAAIsyE,IAAJ,EAAU;AACN,YAAQA,IAAI,CAACy0E,QAAb;AACI,WAAKuS,IAAI,CAACgpP,SAAV;AACI,eAAOhwU,IAAI,CAAC8zC,WAAZ;;AACJ,WAAKkzC,IAAI,CAACq/P,YAAV;AACI,eAAQ,OAAMrmV,IAAI,CAAC8zC,WAAY,KAA/B;;AACJ,WAAKkzC,IAAI,CAACu7B,YAAV;AACI,cAAMguN,SAAS,GAAGvwU,IAAI,CAACuwU,SAAvB;;AACA,YAAI6V,eAAJ,EAAqB;AACjB,iBAAO7V,SAAP;AACH,SAFD,MAGK;AACD,gBAAMrxS,SAAS,GAAG,MAAMl/B,IAAI,CAACk/B,SAAX,GAAuB,GAAzC;AACA,iBAAQqxS,SAAS,CAAC//Y,KAAV,CAAgB0uG,SAAhB,EAA2B,CAA3B,CAAD,GAAkC,GAAzC;AACH;;AAbT;AAeH;;AACD,SAAO,IAAP;AACH;;AACD,MAAM6mT,UAAN,CAAiB;AACbtja,EAAAA,WAAW,CAAC6ja,UAAD,EAAa;AACpB,SAAKA,UAAL,GAAkBA,UAAlB;AACH;AACD;AACJ;AACA;;;AACa,MAALt3Q,KAAK,GAAG;AACR,UAAMA,KAAK,GAAG,KAAKs3Q,UAAL,CAAgBl3B,KAAhB,CAAd;AACA,WAAO;AACHm3B,MAAAA,cAAc,EAAEv3Q,KADb;AAEHw3Q,MAAAA,cAAc,EAAEx3Q,KAAK,GAAG;AAAE;AAFvB;AAGHonQ,MAAAA,YAAY,EAAE,CAAC,EAAEpnQ,KAAK,GAAG;AAAE;AAAZ,OAHZ;AAIHy3Q,MAAAA,aAAa,EAAE,CAAC,EAAEz3Q,KAAK,GAAG;AAAE;AAAZ,OAJb;AAKH03Q,MAAAA,WAAW,EAAE,CAAC,EAAE13Q,KAAK,GAAG;AAAG;AAAb,OALX;AAMH23Q,MAAAA,KAAK,EAAE,CAAC,EAAE33Q,KAAK,GAAG;AAAG;AAAb,OANL;AAOH+pE,MAAAA,QAAQ,EAAE,CAAC,EAAE/pE,KAAK,GAAG;AAAI;AAAd,OAPR;AAQH32G,MAAAA,SAAS,EAAE,CAAC,EAAE22G,KAAK,GAAG;AAAI;AAAd,OART;AASHkoL,MAAAA,MAAM,EAAE,CAAC,EAAEloL,KAAK,GAAG;AAAI;AAAd,OATN;AAUH43Q,MAAAA,oBAAoB,EAAE53Q,KAAK,IAAI;AAAG;;AAV/B,KAAP;AAYH;;AACS,MAAN3rJ,MAAM,GAAG;AACT,WAAO6ia,OAAO,CAAC,KAAKI,UAAL,CAAgBj3B,MAAhB,CAAD,CAAd;AACH;;AACW,MAARw3B,QAAQ,GAAG;AACX,WAAOV,MAAM,CAAC,KAAKG,UAAL,CAAgBp3B,IAAhB,CAAD,EAAwB,IAAxB,CAAb;AACH;;AACO,MAAJhzL,IAAI,GAAG;AACP,WAAO,CAAC,KAAK1sB,KAAL,IAAc,EAAf,EAAmBjqL,GAAnB,CAAuBuha,SAAvB,EAAkCtgZ,IAAlC,CAAuC,EAAvC,CAAP;AACH;;AACU,MAAPriB,OAAO,GAAG;AACV,WAAO,KAAKmia,UAAL,CAAgB52B,OAAhB,CAAP;AACH;AACD;AACJ;AACA;AACA;;;AACa,MAALlgN,KAAK,GAAG;AACR,UAAMgiN,KAAK,GAAG,KAAK80B,UAAnB;AACA,UAAMj7B,KAAK,GAAGmG,KAAK,CAACrC,KAAD,CAAL,CAAalgS,UAA3B;AACA,WAAO83T,YAAY,CAAC17B,KAAD,EAAQmG,KAAR,CAAnB;AACH;;AACW,MAAR5uR,QAAQ,GAAG;AACX,WAAO,KAAK0oR,KAAL,CAAWg4B,SAAlB;AACH;;AACQ,MAALh4B,KAAK,GAAG;AACR,WAAO,KAAKg7B,UAAL,CAAgBn3B,KAAhB,CAAP;AACH;;AACU,MAAP7hJ,OAAO,GAAG;AACV,WAAO,KAAKg5K,UAAL,CAAgB72B,OAAhB,CAAP;AACH;;AACW,MAAR54K,QAAQ,GAAG;AACX,WAAO,KAAKyvM,UAAL,CAAgB32B,UAAhB,CAAP;AACH;;AACkB,MAAfq3B,eAAe,GAAG;AAClB,WAAO,KAAKV,UAAL,CAAgB12B,gBAAhB,CAAP;AACH;;AACW,MAARvjW,QAAQ,GAAG;AACX,WAAO,KAAKi6X,UAAL,CAAgBz2B,QAAhB,CAAP;AACH;;AACY,MAATmhB,SAAS,GAAG;AACZ,WAAO,KAAKsV,UAAL,CAAgBx2B,SAAhB,CAAP;AACH;;AACY,MAATm3B,SAAS,GAAG;AACZ,WAAOf,OAAO,CAAC,KAAKI,UAAL,CAAgBv2B,UAAhB,CAAD,CAAd;AACH;;AACO,MAAJr1X,IAAI,GAAG;AACP,WAAOwrZ,OAAO,CAAC,KAAKI,UAAL,CAAgBh3B,IAAhB,CAAD,CAAd;AACH;;AACY,MAAT43B,SAAS,GAAG;AACZ,WAAOhB,OAAO,CAAC,KAAKI,UAAL,CAAgBt2B,UAAhB,CAAD,CAAd;AACH;;AACkB,MAAfm3B,eAAe,GAAG;AAClB,WAAOjB,OAAO,CAAC,KAAKI,UAAL,CAAgBr2B,gBAAhB,CAAD,CAAd;AACH;;AACU,MAAPr7F,OAAO,GAAG;AACV,WAAO,KAAK0xH,UAAL,CAAgBj2B,OAAhB,CAAP;AACH;;AACQ,MAAL+2B,KAAK,GAAG;AACR,WAAO,KAAKd,UAAL,CAAgB92B,MAAhB,CAAP;AACH;;AACQ,MAALhC,KAAK,GAAG;AACR,WAAO65B,YAAY,CAAC,KAAK/7B,KAAN,EAAa,KAAKg7B,UAAlB,EAA8Bh2B,aAA9B,EAA6C,KAAKhF,KAAL,CAAW/6G,iBAAxD,CAAnB;AACH;;AACO,MAAJp4M,IAAI,GAAG;AACP,WAAOkvV,YAAY,CAAC,KAAK/7B,KAAN,EAAa,KAAKg7B,UAAlB,EAA8B,KAAKh7B,KAAL,CAAW/6G,iBAAzC,EAA4D,KAAK+6G,KAAL,CAAW0H,iBAAvE,CAAnB;AACH;;AACU,MAAPs0B,OAAO,GAAG;AACV,WAAOD,YAAY,CAAC,KAAK/7B,KAAN,EAAa,KAAKg7B,UAAlB,EAA8B,KAAKh7B,KAAL,CAAW0H,iBAAzC,EAA4D,KAAKszB,UAAL,CAAgBz4Z,MAA5E,CAAnB;AACH;AACD;AACJ;AACA;;;AACkB,MAAV05Z,UAAU,GAAG;AACb,UAAMA,UAAU,GAAG,EAAnB;AACA,QAAIr2Q,KAAK,GAAG,KAAK+1Q,SAAjB;;AACA,WAAO/1Q,KAAP,EAAc;AACVq2Q,MAAAA,UAAU,CAACzia,IAAX,CAAgBosJ,KAAhB;AACAA,MAAAA,KAAK,GAAGA,KAAK,CAACx2I,IAAd;AACH;;AACD,WAAO6sZ,UAAP;AACH;;AAtGY;;AAwGjB,SAAST,SAAT,CAAmB9mV,IAAnB,EAAyB;AACrB,MAAIA,IAAI,CAACz8E,IAAL,KAAc,kBAAlB,EAAsC;AAClC,WAAO,CAACy8E,IAAI,CAACmiC,QAAL,IAAiB,EAAlB,EAAsB58G,GAAtB,CAA0Buha,SAA1B,EAAqCtgZ,IAArC,CAA0C,EAA1C,CAAP;AACH,GAFD,MAGK,IAAIw5D,IAAI,CAACz8E,IAAL,KAAc,cAAlB,EAAkC;AACnC,UAAM,IAAI+X,KAAJ,CAAU,iBAAV,CAAN;AACH,GAFI,MAGA;AACD,WAAO6qZ,MAAM,CAACnmV,IAAI,CAACuiB,MAAN,EAAc,IAAd,CAAN,IAA6B,EAApC;AACH;AACJ;;AACD,SAAS8kU,YAAT,CAAsB/7B,KAAtB,EAA6BkG,KAA7B,EAAoC5vX,KAApC,EAA2C0xD,GAA3C,EAAgD;AAC5C,MAAItmE,OAAO,GAAG,EAAd;;AACA,OAAK,IAAIiyG,KAAK,GAAGr9F,KAAjB,EAAwBq9F,KAAK,GAAG3rC,GAAhC,EAAqC2rC,KAAK,EAA1C,EAA8C;AAC1CjyG,IAAAA,OAAO,CAAClI,IAAR,CAAa;AAAEm6G,MAAAA,KAAK,EAAEA,KAAT;AAAgB/+G,MAAAA,CAAC,EAAEorY,KAAK,CAACpnY,IAAN,CAAW+6G,KAAX,CAAnB;AAAsCp+G,MAAAA,CAAC,EAAE2wY,KAAK,CAACvyR,KAAD;AAA9C,KAAb;AACH;;AACD,SAAO;AAAEr9F,IAAAA,KAAK,EAAEA,KAAT;AAAgB0xD,IAAAA,GAAG,EAAEA,GAArB;AAA0BzlE,IAAAA,MAAM,EAAEylE,GAAG,GAAG1xD,KAAxC;AAA+C5U,IAAAA,OAAO,EAAEA;AAAxD,GAAP;AACH;AACD;AACA;AACA;AACA;AACA;AACA;;;AACA,SAAS+5Z,YAAT,CAAsB17B,KAAtB,EAA6BmG,KAA7B,EAAoC;AAChC,MAAInG,KAAJ,EAAW;AACP,UAAMm8B,UAAU,GAAG,EAAnB;AACA,QAAIC,WAAW,GAAGp8B,KAAlB;;AACA,WAAOo8B,WAAP,EAAoB;AAChBD,MAAAA,UAAU,CAAC1ia,IAAX,CAAgBw/Z,cAAc,CAACmD,WAAD,EAAcj2B,KAAd,CAA9B;AACAi2B,MAAAA,WAAW,GAAGA,WAAW,CAAC/sZ,IAA1B;AACH;;AACD,WAAO8sZ,UAAP;AACH,GARD,MASK;AACD,WAAO,EAAP;AACH;AACJ;;AACD,SAASlD,cAAT,CAAwBj5B,KAAxB,EAA+BmG,KAA/B,EAAsC;AAClC,QAAMk2B,QAAQ,GAAGl2B,KAAK,CAACnG,KAAK,CAACpsR,KAAP,CAAtB;AACA,QAAM1c,MAAM,GAAG6yS,WAAW,CAACsyB,QAAD,CAA1B;AACA,QAAMC,SAAS,GAAG,EAAlB;AACA,QAAMC,SAAS,GAAG,EAAlB;AACA,QAAMt8B,KAAK,GAAGkG,KAAK,CAACrC,KAAD,CAAnB;;AACA,OAAK,IAAIzuY,CAAC,GAAG2qY,KAAK,CAAC8P,cAAnB,EAAmCz6Y,CAAC,GAAG2qY,KAAK,CAAC+P,YAA7C,EAA2D16Y,CAAC,EAA5D,EAAgE;AAC5D,UAAMw3K,GAAG,GAAGozN,KAAK,CAACpnY,IAAN,CAAWxD,CAAX,CAAZ;AACAina,IAAAA,SAAS,CAAC7ia,IAAV,CAAeozK,GAAG,CAAC30K,IAAnB;AACAqka,IAAAA,SAAS,CAAC9ia,IAAV,CAAe0sY,KAAK,CAAC9wY,CAAD,CAApB;AACH;;AACD,SAAO;AACHw7M,IAAAA,IAAI,EAAEiqN,MAAM,CAAC5jU,MAAD,CADT;AAEHh/F,IAAAA,IAAI,EAAE05Y,mBAAmB,CAAC5R,KAAK,CAAC9nY,IAAP,CAFtB;AAGH8nY,IAAAA,KAHG;AAIH9oS,IAAAA,MAAM,EAAEA,MAJL;AAKH4f,IAAAA,QAAQ,EAAE4kT,YAAY,CAAC17B,KAAK,CAACn6O,KAAP,EAAcsgP,KAAd,CALnB;AAMHm2B,IAAAA,SANG;AAOHC,IAAAA,SAPG;AAQH/wM,IAAAA,QAAQ,EAAEgxM,sBAAsB,CAACx8B,KAAD,EAAQC,KAAR,EAAekG,KAAf,CAR7B;;AASH,QAAIs2B,sBAAJ,GAA6B;AACzB,aAAOz8B,KAAK,CAACg5B,qBAAN,CAA4B7yB,KAA5B,CAAP;AACH;;AAXE,GAAP;AAaH;;AACD,SAASq2B,sBAAT,CAAgCx8B,KAAhC,EAAuCC,KAAvC,EAA8CkG,KAA9C,EAAqD;AACjD,QAAM78F,aAAa,GAAG,EAAtB;;AACA,OAAK,IAAIj0S,CAAC,GAAG2qY,KAAK,CAACs5B,mBAAnB,EAAwCjka,CAAC,GAAG2qY,KAAK,CAACu5B,iBAAlD,EAAqElka,CAAC,EAAtE,EAA0E;AACtEi0S,IAAAA,aAAa,CAAC7vS,IAAd,CAAmBwmY,KAAK,CAACpnY,IAAN,CAAWxD,CAAX,CAAnB;AACH;;AACD,QAAM60M,SAAS,GAAG,EAAlB;;AACA,OAAK,IAAI70M,CAAC,GAAG2qY,KAAK,CAACu5B,iBAAnB,EAAsClka,CAAC,GAAG2qY,KAAK,CAAC+P,YAAhD,EAA8D16Y,CAAC,EAA/D,EAAmE;AAC/D60M,IAAAA,SAAS,CAACzwM,IAAV,CAAewmY,KAAK,CAACpnY,IAAN,CAAWxD,CAAX,CAAf;AACH;;AACD,QAAMqna,iBAAiB,GAAG;AACtBC,IAAAA,KAAK,EAAEC,OAAO,CAACz2B,KAAD,EAAQnG,KAAK,CAACiI,aAAd,CADQ;AAEtB40B,IAAAA,eAAe,EAAED,OAAO,CAAC38B,KAAK,CAACpnY,IAAP,EAAamnY,KAAK,CAACiI,aAAnB,CAFF;AAGtB/9L,IAAAA,SAHsB;AAItBo/F,IAAAA,aAJsB;AAKtB4pG,IAAAA,mBAAmB,EAAE/M,KAAK,CAACnG,KAAK,CAACs5B,mBAAN,GAA4B,CAA7B;AALJ,GAA1B;AAOA,SAAOoD,iBAAP;AACH;AACD;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASI,MAAT,CAAgBr9E,KAAhB,EAAuBzgG,GAAvB,EAA4B;AACxB,QAAM38O,KAAK,GAAGo9U,KAAK,CAACzgG,GAAD,CAAnB,CADwB,CAExB;AACA;;AACA,MAAI,OAAO38O,KAAP,KAAiB,QAArB,EACI,OAAO,UAAP,CALoB,CAMxB;;AACA,QAAMrB,IAAI,GAAG,aAAaqB,KAAK,CAACxK,QAAN,CAAe,CAAf,CAA1B;AACA,SAAOmJ,IAAI,CAACsiK,SAAL,CAAetiK,IAAI,CAACwB,MAAL,GAAc,CAA7B,CAAP;AACH;AACD;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASo6Z,OAAT,CAAiBn9E,KAAjB,EAAwBzgG,GAAxB,EAA6B;AACzB,MAAIA,GAAG,GAAG,CAAV,EAAa;AACT,WAAO,kBAAP;AACH;;AACD,SAAQ,GAAE89K,MAAM,CAACr9E,KAAD,EAAQzgG,GAAG,GAAG,CAAd,CAAiB,IAAG89K,MAAM,CAACr9E,KAAD,EAAQzgG,GAAG,GAAG,CAAd,CAAiB,IAAG89K,MAAM,CAACr9E,KAAD,EAAQzgG,GAAG,GAAG,CAAd,CAAiB,IAAG89K,MAAM,CAACr9E,KAAD,EAAQzgG,GAAG,GAAG,CAAd,CAAiB,IAAG89K,MAAM,CAACr9E,KAAD,EAAQzgG,GAAG,GAAG,CAAd,CAAiB,IAAG89K,MAAM,CAACr9E,KAAD,EAAQzgG,GAAG,GAAG,CAAd,CAAiB,IAAG89K,MAAM,CAACr9E,KAAD,EAAQzgG,GAAG,GAAG,CAAd,CAAiB,IAAG89K,MAAM,CAACr9E,KAAD,EAAQzgG,GAAG,GAAG,CAAd,CAAiB,EAAvN;AACH;;AACD,MAAM47K,eAAN,CAAsB;AAClBxja,EAAAA,WAAW,CAAC2la,eAAD,EAAkB;AACzB,SAAKA,eAAL,GAAuBA,eAAvB;AACH;;AACuB,MAApBC,oBAAoB,GAAG;AACvB,WAAO,KAAKD,eAAL,CAAqB13B,sBAArB,CAAP;AACH;;AACQ,MAAL36S,KAAK,GAAG;AACR,WAAO,KAAKqyU,eAAL,CAAqBt+Z,KAArB,CAA2BgnY,uBAA3B,EACFvrY,GADE,CACE2ga,OADF,CAAP;AAEH;;AACS,MAAN7ia,MAAM,GAAG;AACT,WAAO6ia,OAAO,CAAC,KAAKkC,eAAL,CAAqB/4B,MAArB,CAAD,CAAd;AACH;;AACa,MAAVoqB,UAAU,GAAG;AACb,WAAO,KAAK2O,eAAL,CAAqBv3B,WAArB,CAAP;AACH;;AACO,MAAJhrX,IAAI,GAAG;AACP,WAAO,KAAKuiZ,eAAL,CAAqBl5B,IAArB,CAAP;AACH;;AACS,MAAN3sS,MAAM,GAAG;AACT,WAAO,KAAK6lU,eAAL,CAAqBz3B,MAArB,CAAP;AACH;;AACO,MAAJj2X,IAAI,GAAG;AACP,WAAOwrZ,OAAO,CAAC,KAAKkC,eAAL,CAAqB94B,IAArB,CAAD,CAAd;AACH;;AAzBiB;AA4BtB;AACA;AACA;AACA;;;AACA,MAAMg5B,cAAc,GAAG,CAAC,MAAMjja,OAAO,CAACC,OAAR,CAAgB,IAAhB,CAAP,GAAvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASija,yBAAT,CAAmCj9B,KAAnC,EAA0CkG,KAA1C,EAAiD;AAC7C,QAAMsxB,kBAAkB,GAAGx3B,KAAK,CAACw3B,kBAAjC;AACA,MAAIA,kBAAkB,KAAK,IAA3B,EACI;;AACJ,MAAI;AACA,SAAK,IAAIpia,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGoia,kBAAkB,CAACj1Z,MAAvC,EAA+CnN,CAAC,EAAhD,EAAoD;AAChD,YAAM8na,MAAM,GAAG1F,kBAAkB,CAACpia,CAAD,CAAjC;;AACA,UAAI8na,MAAM,GAAG,CAAb,EAAgB;AACZ;AACAjuB,QAAAA,gBAAgB,CAAC,CAACiuB,MAAF,CAAhB;AACH,OAHD,MAIK;AACD;AACA,cAAMC,YAAY,GAAGD,MAArB;AACA,cAAME,eAAe,GAAG5F,kBAAkB,CAAC,EAAEpia,CAAH,CAA1C;AACA,cAAMioa,aAAa,GAAG7F,kBAAkB,CAAC,EAAEpia,CAAH,CAAxC;AACAi4Y,QAAAA,6BAA6B,CAAC+vB,eAAD,EAAkBD,YAAlB,CAA7B;AACA,cAAMtka,OAAO,GAAGqtY,KAAK,CAACi3B,YAAD,CAArB;AACAE,QAAAA,aAAa,CAAC;AAAE;AAAH,UAAiBxka,OAAjB,CAAb;AACH;AACJ;AACJ,GAjBD,SAkBQ;AACJo2Y,IAAAA,gBAAgB,CAAC,CAAC,CAAF,CAAhB;AACH;AACJ;AACD;;;AACA,SAASquB,qBAAT,CAA+Bt9B,KAA/B,EAAsCkG,KAAtC,EAA6C;AACzC,QAAMrgF,cAAc,GAAGm6E,KAAK,CAACn6E,cAA7B;;AACA,MAAIA,cAAc,KAAK,IAAvB,EAA6B;AACzB,SAAK,IAAIzwT,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGywT,cAAc,CAACtjT,MAAnC,EAA2CnN,CAAC,IAAI,CAAhD,EAAmD;AAC/C,YAAMmoa,aAAa,GAAG13G,cAAc,CAACzwT,CAAD,CAApC;AACA,YAAMooa,eAAe,GAAG33G,cAAc,CAACzwT,CAAC,GAAG,CAAL,CAAtC;;AACA,UAAIooa,eAAe,KAAK,CAAC,CAAzB,EAA4B;AACxB,cAAM7iI,YAAY,GAAGqlG,KAAK,CAACpnY,IAAN,CAAW4ka,eAAX,CAArB;AACA3uO,QAAAA,SAAS,IAAI8uM,aAAa,CAAChjG,YAAD,EAAe,yBAAf,CAA1B;AACA9rG,QAAAA,SAAS,IACL8uM,aAAa,CAAChjG,YAAY,CAACkrB,cAAd,EAA8B,2CAA9B,CADjB;AAEA+nF,QAAAA,oBAAoB,CAAC2vB,aAAD,CAApB;AACA5iI,QAAAA,YAAY,CAACkrB,cAAb,CAA4B;AAAE;AAA9B,UAA4CqgF,KAAK,CAACs3B,eAAD,CAAjD,EAAoEA,eAApE;AACH;AACJ;AACJ;AACJ;AACD;;;AACA,SAASC,sBAAT,CAAgCC,SAAhC,EAA2CjzE,UAA3C,EAAuD;AACnD,OAAK,IAAIr1V,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGq1V,UAAU,CAACloV,MAA/B,EAAuCnN,CAAC,EAAxC,EAA4C;AACxCuoa,IAAAA,gBAAgB,CAACD,SAAD,EAAYjzE,UAAU,CAACr1V,CAAD,CAAtB,CAAhB;AACH;AACJ;AACD;;;AACA,SAASwoa,qBAAT,CAA+BF,SAA/B,EAA0CjzE,UAA1C,EAAsD;AAClD,OAAK,IAAIr1V,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGq1V,UAAU,CAACloV,MAA/B,EAAuCnN,CAAC,EAAxC,EAA4C;AACxCyoa,IAAAA,iBAAiB,CAACH,SAAD,EAAYjzE,UAAU,CAACr1V,CAAD,CAAtB,CAAjB;AACH;AACJ;;AACD,SAAS0oa,WAAT,CAAqB7vB,WAArB,EAAkCjO,KAAlC,EAAyCnnY,OAAzC,EAAkD6qJ,KAAlD,EAAyDnpI,IAAzD,EAA+DwjZ,SAA/D,EAA0ErC,eAA1E,EAA2F36X,QAA3F,EAAqG2kX,SAArG,EAAgHn6L,QAAhH,EAA0H;AACtH,QAAM26K,KAAK,GAAGr3M,SAAS,GAAGgoO,8BAA8B,CAAC72B,KAAD,CAAjC,GAA2CA,KAAK,CAACoU,SAAN,CAAgB51Y,KAAhB,EAAlE;AACA0nY,EAAAA,KAAK,CAACtC,IAAD,CAAL,GAAcrpX,IAAd;AACA2rX,EAAAA,KAAK,CAACpC,KAAD,CAAL,GAAepgP,KAAK,GAAG;AAAE;AAAV,IAA+B;AAAI;AAAnC,IAAoD;AAAE;AAArE;AACAinP,EAAAA,sBAAsB,CAACzE,KAAD,CAAtB;AACAr3M,EAAAA,SAAS,IAAImxM,KAAK,CAAC8N,SAAnB,IAAgCG,WAAhC,IAA+ChI,mBAAmB,CAACjG,KAAK,CAAC8N,SAAP,EAAkBG,WAAlB,CAAlE;AACA/H,EAAAA,KAAK,CAACnC,MAAD,CAAL,GAAgBmC,KAAK,CAACvB,gBAAD,CAAL,GAA0BsJ,WAA1C;AACA/H,EAAAA,KAAK,CAAC9B,OAAD,CAAL,GAAiBvrY,OAAjB;AACAqtY,EAAAA,KAAK,CAAC5B,gBAAD,CAAL,GAA2Bo3B,eAAe,IAAIztB,WAAW,IAAIA,WAAW,CAAC3J,gBAAD,CAAxE;AACAz1M,EAAAA,SAAS,IAAI8uM,aAAa,CAACuI,KAAK,CAAC5B,gBAAD,CAAN,EAA0B,6BAA1B,CAA1B;AACA4B,EAAAA,KAAK,CAAC3B,QAAD,CAAL,GAAmBxjW,QAAQ,IAAIktW,WAAW,IAAIA,WAAW,CAAC1J,QAAD,CAAzD;AACA11M,EAAAA,SAAS,IAAI8uM,aAAa,CAACuI,KAAK,CAAC3B,QAAD,CAAN,EAAkB,sBAAlB,CAA1B;AACA2B,EAAAA,KAAK,CAAC1B,SAAD,CAAL,GAAmBkhB,SAAS,IAAIzX,WAAW,IAAIA,WAAW,CAACzJ,SAAD,CAAvC,IAAsD,IAAzE;AACA0B,EAAAA,KAAK,CAAC7B,UAAD,CAAL,GAAoB94K,QAAQ,IAAI0iL,WAAW,IAAIA,WAAW,CAAC5J,UAAD,CAAtC,IAAsD,IAA1E;AACA6B,EAAAA,KAAK,CAAChC,MAAD,CAAL,GAAgB65B,SAAhB;AACAlvO,EAAAA,SAAS,IACLsuM,WAAW,CAAC6C,KAAK,CAAC/nY,IAAN,IAAc;AAAE;AAAhB,IAAiCg2Y,WAAW,KAAK,IAAjD,GAAwD,IAAzD,EAA+D,IAA/D,EAAqE,sCAArE,CADf;AAEA/H,EAAAA,KAAK,CAACtB,0BAAD,CAAL,GACI5E,KAAK,CAAC/nY,IAAN,IAAc;AAAE;AAAhB,IAAiCg2Y,WAAW,CAACrJ,0BAAD,CAA5C,GAA2EsB,KAD/E;AAEAr3M,EAAAA,SAAS,IAAI2rO,gBAAgB,CAACt0B,KAAD,CAA7B;AACA,SAAOA,KAAP;AACH;;AACD,SAAS83B,gBAAT,CAA0Bh+B,KAA1B,EAAiCrsR,KAAjC,EAAwC17G,IAAxC,EAA8C6W,IAA9C,EAAoD44O,KAApD,EAA2D;AACvD74D,EAAAA,SAAS,IAAIl7E,KAAK,KAAK,CAAvB,IAA4B;AACxB;AACAqpR,EAAAA,wBAAwB,CAACrpR,KAAD,EAAQqxR,aAAR,EAAuB,uCAAvB,CAF5B,CADuD,CAIvD;;AACAn2M,EAAAA,SAAS,IAAIqjN,mBAAmB,CAACj6Y,IAAD,CAAhC;AACA,MAAI8nY,KAAK,GAAGC,KAAK,CAACpnY,IAAN,CAAW+6G,KAAX,CAAZ;;AACA,MAAIosR,KAAK,KAAK,IAAd,EAAoB;AAChBA,IAAAA,KAAK,GAAGk+B,kBAAkB,CAACj+B,KAAD,EAAQrsR,KAAR,EAAe17G,IAAf,EAAqB6W,IAArB,EAA2B44O,KAA3B,CAA1B;;AACA,QAAIwlJ,aAAa,EAAjB,EAAqB;AACjB;AACA;AACA;AACA;AACAnN,MAAAA,KAAK,CAACr8O,KAAN,IAAe;AAAG;AAAlB;AACH;AACJ,GATD,MAUK,IAAIq8O,KAAK,CAAC9nY,IAAN,GAAa;AAAG;AAApB,IAAuC;AACxC8nY,IAAAA,KAAK,CAAC9nY,IAAN,GAAaA,IAAb;AACA8nY,IAAAA,KAAK,CAAC39X,KAAN,GAAc0M,IAAd;AACAixX,IAAAA,KAAK,CAACr4I,KAAN,GAAcA,KAAd;AACA,UAAM3vP,MAAM,GAAGs0Y,qBAAqB,EAApC;AACAtM,IAAAA,KAAK,CAACiI,aAAN,GAAsBjwY,MAAM,KAAK,IAAX,GAAkB,CAAC,CAAnB,GAAuBA,MAAM,CAACiwY,aAApD;AACAn5M,IAAAA,SAAS,IAAIs3M,mBAAmB,CAACpG,KAAD,EAAQC,KAAR,CAAhC;AACAnxM,IAAAA,SAAS,IAAIsuM,WAAW,CAACxpR,KAAD,EAAQosR,KAAK,CAACpsR,KAAd,EAAqB,sBAArB,CAAxB;AACH;;AACD24R,EAAAA,eAAe,CAACvM,KAAD,EAAQ,IAAR,CAAf;AACA,SAAOA,KAAP;AACH;;AACD,SAASk+B,kBAAT,CAA4Bj+B,KAA5B,EAAmCrsR,KAAnC,EAA0C17G,IAA1C,EAAgD6W,IAAhD,EAAsD44O,KAAtD,EAA6D;AACzD,QAAMykJ,YAAY,GAAGC,4BAA4B,EAAjD;AACA,QAAMxF,QAAQ,GAAG2F,oBAAoB,EAArC;AACA,QAAMx0Y,MAAM,GAAG6uY,QAAQ,GAAGuF,YAAH,GAAkBA,YAAY,IAAIA,YAAY,CAACp0Y,MAAtE,CAHyD,CAIzD;;AACA,QAAMgoY,KAAK,GAAGC,KAAK,CAACpnY,IAAN,CAAW+6G,KAAX,IACVuqT,WAAW,CAACl+B,KAAD,EAAQjoY,MAAR,EAAgBE,IAAhB,EAAsB07G,KAAtB,EAA6B7kG,IAA7B,EAAmC44O,KAAnC,CADf,CALyD,CAOzD;AACA;AACA;;AACA,MAAIs4I,KAAK,CAACr8R,UAAN,KAAqB,IAAzB,EAA+B;AAC3Bq8R,IAAAA,KAAK,CAACr8R,UAAN,GAAmBo8R,KAAnB;AACH;;AACD,MAAIoM,YAAY,KAAK,IAArB,EAA2B;AACvB,QAAIvF,QAAJ,EAAc;AACV;AACA,UAAIuF,YAAY,CAACvmP,KAAb,IAAsB,IAAtB,IAA8Bm6O,KAAK,CAAChoY,MAAN,KAAiB,IAAnD,EAAyD;AACrD;AACAo0Y,QAAAA,YAAY,CAACvmP,KAAb,GAAqBm6O,KAArB;AACH;AACJ,KAND,MAOK;AACD,UAAIoM,YAAY,CAAC/8X,IAAb,KAAsB,IAA1B,EAAgC;AAC5B;AACA;AACA+8X,QAAAA,YAAY,CAAC/8X,IAAb,GAAoB2wX,KAApB;AACH;AACJ;AACJ;;AACD,SAAOA,KAAP;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASo+B,YAAT,CAAsBn+B,KAAtB,EAA6BkG,KAA7B,EAAoCk4B,eAApC,EAAqDnvC,YAArD,EAAmE;AAC/D,MAAImvC,eAAe,KAAK,CAAxB,EACI,OAAO,CAAC,CAAR;;AACJ,MAAIvvO,SAAJ,EAAe;AACXq4M,IAAAA,qBAAqB,CAAClH,KAAD,CAArB;AACA1C,IAAAA,UAAU,CAAC0C,KAAD,EAAQkG,KAAK,CAACrC,KAAD,CAAb,EAAsB,0CAAtB,CAAV;AACA1G,IAAAA,WAAW,CAAC6C,KAAK,CAACpnY,IAAN,CAAW2J,MAAZ,EAAoB2jY,KAAK,CAAC3jY,MAA1B,EAAkC,0CAAlC,CAAX;AACA46X,IAAAA,WAAW,CAAC6C,KAAK,CAACpnY,IAAN,CAAW2J,MAAZ,EAAoBy9X,KAAK,CAACoU,SAAN,CAAgB7xY,MAApC,EAA4C,8CAA5C,CAAX;AACA6kY,IAAAA,qBAAqB,CAACpH,KAAD,CAArB;AACH;;AACD,QAAMq+B,QAAQ,GAAGn4B,KAAK,CAAC3jY,MAAvB;;AACA,OAAK,IAAInN,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGgpa,eAApB,EAAqChpa,CAAC,EAAtC,EAA0C;AACtC8wY,IAAAA,KAAK,CAAC1sY,IAAN,CAAWy1X,YAAX;AACA+Q,IAAAA,KAAK,CAACoU,SAAN,CAAgB56Y,IAAhB,CAAqBy1X,YAArB;AACA+Q,IAAAA,KAAK,CAACpnY,IAAN,CAAWY,IAAX,CAAgB,IAAhB;AACH;;AACD,SAAO6ka,QAAP;AACH,EACD;AACA;AACA;;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAAS18U,UAAT,CAAoBq+S,KAApB,EAA2BkG,KAA3B,EAAkCrtY,OAAlC,EAA2C;AACvCg2L,EAAAA,SAAS,IAAIsuM,WAAW,CAACoN,cAAc,CAACrE,KAAD,CAAf,EAAwB,IAAxB,EAA8B,gCAA9B,CAAxB;AACAiI,EAAAA,SAAS,CAACjI,KAAD,CAAT;;AACA,MAAI;AACA,UAAM/7H,SAAS,GAAG61H,KAAK,CAAC71H,SAAxB;;AACA,QAAIA,SAAS,KAAK,IAAlB,EAAwB;AACpBm0J,MAAAA,kBAAkB,CAAC;AAAE;AAAH,QAAiBn0J,SAAjB,EAA4BtxQ,OAA5B,CAAlB;AACH,KAJD,CAKA;AACA;;;AACA,UAAM0la,UAAU,GAAGv+B,KAAK,CAAC1oR,QAAzB;;AACA,QAAIinT,UAAU,KAAK,IAAnB,EAAyB;AACrBC,MAAAA,eAAe,CAACx+B,KAAD,EAAQkG,KAAR,EAAeq4B,UAAf,EAA2B;AAAE;AAA7B,QAA2C1la,OAA3C,CAAf;AACH,KAVD,CAWA;AACA;AACA;AACA;AACA;;;AACA,QAAImnY,KAAK,CAACF,eAAV,EAA2B;AACvBE,MAAAA,KAAK,CAACF,eAAN,GAAwB,KAAxB;AACH,KAlBD,CAmBA;AACA;AACA;;;AACA,QAAIE,KAAK,CAAC03B,oBAAV,EAAgC;AAC5B4F,MAAAA,qBAAqB,CAACt9B,KAAD,EAAQkG,KAAR,CAArB;AACH,KAxBD,CAyBA;AACA;AACA;;;AACA,QAAIlG,KAAK,CAACy3B,iBAAV,EAA6B;AACzB6G,MAAAA,kBAAkB,CAAC;AAAE;AAAH,QAAiBt+B,KAAK,CAAC71H,SAAvB,EAAkCtxQ,OAAlC,CAAlB;AACH,KA9BD,CA+BA;;;AACA,UAAM4xV,UAAU,GAAGu1C,KAAK,CAACv1C,UAAzB;;AACA,QAAIA,UAAU,KAAK,IAAnB,EAAyB;AACrBmzE,MAAAA,qBAAqB,CAAC13B,KAAD,EAAQz7C,UAAR,CAArB;AACH;AACJ,GApCD,CAqCA,OAAOtyV,KAAP,EAAc;AACV;AACA;AACA,QAAI6nY,KAAK,CAACF,eAAV,EAA2B;AACvBE,MAAAA,KAAK,CAAC63B,mBAAN,GAA4B,IAA5B;AACA73B,MAAAA,KAAK,CAACF,eAAN,GAAwB,KAAxB;AACH;;AACD,UAAM3nY,KAAN;AACH,GA7CD,SA8CQ;AACJ+tY,IAAAA,KAAK,CAACpC,KAAD,CAAL,IAAgB,CAAC;AAAE;AAAnB;AACA8K,IAAAA,SAAS;AACZ;AACJ;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAAS6vB,WAAT,CAAqBz+B,KAArB,EAA4BkG,KAA5B,EAAmCq4B,UAAnC,EAA+C1la,OAA/C,EAAwD;AACpDg2L,EAAAA,SAAS,IAAIsuM,WAAW,CAACoN,cAAc,CAACrE,KAAD,CAAf,EAAwB,KAAxB,EAA+B,8BAA/B,CAAxB;AACA,QAAMxiP,KAAK,GAAGwiP,KAAK,CAACpC,KAAD,CAAnB;AACA,MAAI,CAACpgP,KAAK,GAAG;AAAI;AAAb,QAAkC;AAAI;AAA1C,IACI;AACJyqP,EAAAA,SAAS,CAACjI,KAAD,CAAT,CALoD,CAMpD;AACA;;AACA,QAAMw4B,sBAAsB,GAAGtzB,sBAAsB,EAArD;;AACA,MAAI;AACAT,IAAAA,sBAAsB,CAACzE,KAAD,CAAtB;AACA6G,IAAAA,eAAe,CAAC/M,KAAK,CAAC/6G,iBAAP,CAAf;;AACA,QAAIs5I,UAAU,KAAK,IAAnB,EAAyB;AACrBC,MAAAA,eAAe,CAACx+B,KAAD,EAAQkG,KAAR,EAAeq4B,UAAf,EAA2B;AAAE;AAA7B,QAA2C1la,OAA3C,CAAf;AACH;;AACD,UAAM28Z,uBAAuB,GAAG,CAAC9xQ,KAAK,GAAG;AAAE;AAAX,UAAyC;AAAE;AAA3E,KANA,CAOA;AACA;;AACA,QAAI,CAACg7Q,sBAAL,EAA6B;AACzB,UAAIlJ,uBAAJ,EAA6B;AACzB,cAAM7lB,kBAAkB,GAAG3P,KAAK,CAAC2P,kBAAjC;;AACA,YAAIA,kBAAkB,KAAK,IAA3B,EAAiC;AAC7BW,UAAAA,iBAAiB,CAACpK,KAAD,EAAQyJ,kBAAR,EAA4B,IAA5B,CAAjB;AACH;AACJ,OALD,MAMK;AACD,cAAMD,aAAa,GAAG1P,KAAK,CAAC0P,aAA5B;;AACA,YAAIA,aAAa,KAAK,IAAtB,EAA4B;AACxBe,UAAAA,wBAAwB,CAACvK,KAAD,EAAQwJ,aAAR,EAAuB;AAAE;AAAzB,YAAmD,IAAnD,CAAxB;AACH;;AACDiB,QAAAA,uBAAuB,CAACzK,KAAD,EAAQ;AAAE;AAAV,SAAvB;AACH;AACJ,KAvBD,CAwBA;AACA;AACA;;;AACAy4B,IAAAA,+BAA+B,CAACz4B,KAAD,CAA/B;AACA04B,IAAAA,oBAAoB,CAAC14B,KAAD,CAApB,CA5BA,CA6BA;;AACA,QAAIlG,KAAK,CAACn6E,cAAN,KAAyB,IAA7B,EAAmC;AAC/By3G,MAAAA,qBAAqB,CAACt9B,KAAD,EAAQkG,KAAR,CAArB;AACH,KAhCD,CAiCA;AACA;;;AACA,QAAI,CAACw4B,sBAAL,EAA6B;AACzB,UAAIlJ,uBAAJ,EAA6B;AACzB,cAAMtlB,iBAAiB,GAAGlQ,KAAK,CAACkQ,iBAAhC;;AACA,YAAIA,iBAAiB,KAAK,IAA1B,EAAgC;AAC5BI,UAAAA,iBAAiB,CAACpK,KAAD,EAAQgK,iBAAR,CAAjB;AACH;AACJ,OALD,MAMK;AACD,cAAMD,YAAY,GAAGjQ,KAAK,CAACiQ,YAA3B;;AACA,YAAIA,YAAY,KAAK,IAArB,EAA2B;AACvBQ,UAAAA,wBAAwB,CAACvK,KAAD,EAAQ+J,YAAR,EAAsB;AAAE;AAAxB,WAAxB;AACH;;AACDU,QAAAA,uBAAuB,CAACzK,KAAD,EAAQ;AAAE;AAAV,SAAvB;AACH;AACJ;;AACD+2B,IAAAA,yBAAyB,CAACj9B,KAAD,EAAQkG,KAAR,CAAzB,CAlDA,CAmDA;;AACA,UAAMz7C,UAAU,GAAGu1C,KAAK,CAACv1C,UAAzB;;AACA,QAAIA,UAAU,KAAK,IAAnB,EAAyB;AACrBgzE,MAAAA,sBAAsB,CAACv3B,KAAD,EAAQz7C,UAAR,CAAtB;AACH,KAvDD,CAwDA;AACA;AACA;;;AACA,UAAMtgF,SAAS,GAAG61H,KAAK,CAAC71H,SAAxB;;AACA,QAAIA,SAAS,KAAK,IAAlB,EAAwB;AACpBm0J,MAAAA,kBAAkB,CAAC;AAAE;AAAH,QAAiBn0J,SAAjB,EAA4BtxQ,OAA5B,CAAlB;AACH,KA9DD,CA+DA;AACA;;;AACA,QAAI,CAAC6la,sBAAL,EAA6B;AACzB,UAAIlJ,uBAAJ,EAA6B;AACzB,cAAMplB,cAAc,GAAGpQ,KAAK,CAACoQ,cAA7B;;AACA,YAAIA,cAAc,KAAK,IAAvB,EAA6B;AACzBE,UAAAA,iBAAiB,CAACpK,KAAD,EAAQkK,cAAR,CAAjB;AACH;AACJ,OALD,MAMK;AACD,cAAMD,SAAS,GAAGnQ,KAAK,CAACmQ,SAAxB;;AACA,YAAIA,SAAS,KAAK,IAAlB,EAAwB;AACpBM,UAAAA,wBAAwB,CAACvK,KAAD,EAAQiK,SAAR,EAAmB;AAAE;AAArB,WAAxB;AACH;;AACDQ,QAAAA,uBAAuB,CAACzK,KAAD,EAAQ;AAAE;AAAV,SAAvB;AACH;AACJ;;AACD,QAAIlG,KAAK,CAACqH,eAAN,KAA0B,IAA9B,EAAoC;AAChC;AACA;AACA;AACA;AACA;AACA;AACArH,MAAAA,KAAK,CAACqH,eAAN,GAAwB,KAAxB;AACH,KAxFD,CAyFA;AACA;AACA;AACA;AACA;AACA;;;AACA,QAAI,CAACq3B,sBAAL,EAA6B;AACzBx4B,MAAAA,KAAK,CAACpC,KAAD,CAAL,IAAgB,EAAE;AAAG;AAAH,QAAiB;AAAE;AAArB,OAAhB;AACH;;AACD,QAAIoC,KAAK,CAACpC,KAAD,CAAL,GAAe;AAAK;AAAxB,MAAuD;AACnDoC,MAAAA,KAAK,CAACpC,KAAD,CAAL,IAAgB,CAAC;AAAK;AAAtB;AACA8G,MAAAA,2BAA2B,CAAC1E,KAAK,CAACnC,MAAD,CAAN,EAAgB,CAAC,CAAjB,CAA3B;AACH;AACJ,GAtGD,SAuGQ;AACJ6K,IAAAA,SAAS;AACZ;AACJ;;AACD,SAASiwB,yBAAT,CAAmC7+B,KAAnC,EAA0CkG,KAA1C,EAAiDq4B,UAAjD,EAA6D1la,OAA7D,EAAsE;AAClE,QAAM6ia,eAAe,GAAGx1B,KAAK,CAAC5B,gBAAD,CAA7B;AACA,QAAMw6B,mBAAmB,GAAG,CAAC1zB,sBAAsB,EAAnD;AACA,QAAM2zB,oBAAoB,GAAGx0B,cAAc,CAACrE,KAAD,CAA3C;;AACA,MAAI;AACA,QAAI44B,mBAAmB,IAAI,CAACC,oBAAxB,IAAgDrD,eAAe,CAAChqU,KAApE,EAA2E;AACvEgqU,MAAAA,eAAe,CAAChqU,KAAhB;AACH;;AACD,QAAIqtU,oBAAJ,EAA0B;AACtBp9U,MAAAA,UAAU,CAACq+S,KAAD,EAAQkG,KAAR,EAAertY,OAAf,CAAV;AACH;;AACD4la,IAAAA,WAAW,CAACz+B,KAAD,EAAQkG,KAAR,EAAeq4B,UAAf,EAA2B1la,OAA3B,CAAX;AACH,GARD,SASQ;AACJ,QAAIima,mBAAmB,IAAI,CAACC,oBAAxB,IAAgDrD,eAAe,CAAC1zV,GAApE,EAAyE;AACrE0zV,MAAAA,eAAe,CAAC1zV,GAAhB;AACH;AACJ;AACJ;;AACD,SAASw2V,eAAT,CAAyBx+B,KAAzB,EAAgCkG,KAAhC,EAAuCq4B,UAAvC,EAAmDS,EAAnD,EAAuDnma,OAAvD,EAAgE;AAC5D,QAAMoma,iBAAiB,GAAGjwB,gBAAgB,EAA1C;AACA,QAAMkwB,aAAa,GAAGF,EAAE,GAAG;AAAE;AAA7B;;AACA,MAAI;AACA/vB,IAAAA,gBAAgB,CAAC,CAAC,CAAF,CAAhB;;AACA,QAAIiwB,aAAa,IAAIh5B,KAAK,CAAC3jY,MAAN,GAAeyiY,aAApC,EAAmD;AAC/C;AACA;AACAswB,MAAAA,mBAAmB,CAACt1B,KAAD,EAAQkG,KAAR,EAAelB,aAAf,EAA8BoG,sBAAsB,EAApD,CAAnB;AACH;;AACD,UAAM+zB,WAAW,GAAGD,aAAa,GAAG;AAAE;AAAL,MAAiC;AAAE;AAApE;AACA/1B,IAAAA,QAAQ,CAACg2B,WAAD,EAActma,OAAd,CAAR;AACA0la,IAAAA,UAAU,CAACS,EAAD,EAAKnma,OAAL,CAAV;AACH,GAVD,SAWQ;AACJo2Y,IAAAA,gBAAgB,CAACgwB,iBAAD,CAAhB;AACA,UAAMG,YAAY,GAAGF,aAAa,GAAG;AAAE;AAAL,MAA+B;AAAE;AAAnE;AACA/1B,IAAAA,QAAQ,CAACi2B,YAAD,EAAevma,OAAf,CAAR;AACH;AACJ,EACD;AACA;AACA;;;AACA,SAASwma,qBAAT,CAA+Br/B,KAA/B,EAAsCD,KAAtC,EAA6CmG,KAA7C,EAAoD;AAChD,MAAIN,kBAAkB,CAAC7F,KAAD,CAAtB,EAA+B;AAC3B,UAAMzpX,KAAK,GAAGypX,KAAK,CAAC8P,cAApB;AACA,UAAM7nU,GAAG,GAAG+3T,KAAK,CAAC+P,YAAlB;;AACA,SAAK,IAAIhqF,cAAc,GAAGxvS,KAA1B,EAAiCwvS,cAAc,GAAG99O,GAAlD,EAAuD89O,cAAc,EAArE,EAAyE;AACrE,YAAMl5I,GAAG,GAAGozN,KAAK,CAACpnY,IAAN,CAAWktT,cAAX,CAAZ;;AACA,UAAIl5I,GAAG,CAACi5I,cAAR,EAAwB;AACpBj5I,QAAAA,GAAG,CAACi5I,cAAJ,CAAmB;AAAE;AAArB,UAAmCqgF,KAAK,CAACpgF,cAAD,CAAxC,EAA0DA,cAA1D;AACH;AACJ;AACJ;AACJ;AACD;AACA;AACA;;;AACA,SAASw5G,yBAAT,CAAmCt/B,KAAnC,EAA0CkG,KAA1C,EAAiDnG,KAAjD,EAAwD;AACpD,MAAI,CAAC2L,kBAAkB,EAAvB,EACI;AACJ6zB,EAAAA,wBAAwB,CAACv/B,KAAD,EAAQkG,KAAR,EAAenG,KAAf,EAAsBmK,gBAAgB,CAACnK,KAAD,EAAQmG,KAAR,CAAtC,CAAxB;;AACA,MAAI,CAACnG,KAAK,CAACr8O,KAAN,GAAc;AAAI;AAAnB,QAA8C;AAAI;AAAtD,IAA6E;AACzE87Q,IAAAA,4BAA4B,CAACx/B,KAAD,EAAQkG,KAAR,EAAenG,KAAf,CAA5B;AACH;AACJ;AACD;AACA;AACA;AACA;;;AACA,SAAS0/B,wBAAT,CAAkCC,QAAlC,EAA4C3/B,KAA5C,EAAmD4/B,iBAAiB,GAAGz1B,gBAAvE,EAAyF;AACrF,QAAM4e,UAAU,GAAG/oB,KAAK,CAAC+oB,UAAzB;;AACA,MAAIA,UAAU,KAAK,IAAnB,EAAyB;AACrB,QAAIC,UAAU,GAAGhpB,KAAK,CAACpsR,KAAN,GAAc,CAA/B;;AACA,SAAK,IAAIv+G,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAG0zZ,UAAU,CAACvmZ,MAA/B,EAAuCnN,CAAC,IAAI,CAA5C,EAA+C;AAC3C,YAAMu+G,KAAK,GAAGm1S,UAAU,CAAC1zZ,CAAC,GAAG,CAAL,CAAxB;AACA,YAAMgN,KAAK,GAAGuxG,KAAK,KAAK,CAAC,CAAX,GACVgsT,iBAAiB,CAAC5/B,KAAD,EAAQ2/B,QAAR,CADP,GAEVA,QAAQ,CAAC/rT,KAAD,CAFZ;AAGA+rT,MAAAA,QAAQ,CAAC3W,UAAU,EAAX,CAAR,GAAyB3mZ,KAAzB;AACH;AACJ;AACJ;AACD;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASw9Z,yBAAT,CAAmChzP,GAAnC,EAAwC;AACpC,QAAMozN,KAAK,GAAGpzN,GAAG,CAACozN,KAAlB,CADoC,CAEpC;AACA;;AACA,MAAIA,KAAK,KAAK,IAAV,IAAkBA,KAAK,CAAC63B,mBAA5B,EAAiD;AAC7C;AACA;AACA,UAAM/pB,SAAS,GAAG,IAAlB;AACA,WAAOlhO,GAAG,CAACozN,KAAJ,GAAY6/B,WAAW,CAAC;AAAE;AAAH,MAAoB/xB,SAApB,EAA+BlhO,GAAG,CAACt1D,QAAnC,EAA6Cs1D,GAAG,CAACs1N,KAAjD,EAAwDt1N,GAAG,CAAC//F,IAA5D,EAAkE+/F,GAAG,CAACy1N,aAAtE,EAAqFz1N,GAAG,CAAC01N,QAAzF,EAAmG11N,GAAG,CAACu9F,SAAvG,EAAkHv9F,GAAG,CAACwmH,OAAtH,EAA+HxmH,GAAG,CAAC6xK,MAAnI,CAA9B;AACH;;AACD,SAAOuhD,KAAP;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAAS6/B,WAAT,CAAqB5na,IAArB,EAA2B61Y,SAA3B,EAAsCywB,UAAtC,EAAkDr8B,KAAlD,EAAyDr1T,IAAzD,EAA+Dg+N,UAA/D,EAA2EG,KAA3E,EAAkF7gC,SAAlF,EAA6FipB,OAA7F,EAAsG0sI,eAAtG,EAAuH;AACnHjxO,EAAAA,SAAS,IAAIA,SAAS,CAACmxM,KAAV,EAAb;AACA,QAAM/6G,iBAAiB,GAAG+/G,aAAa,GAAG9C,KAA1C,CAFmH,CAGnH;AACA;AACA;;AACA,QAAM69B,iBAAiB,GAAG96I,iBAAiB,GAAGp4M,IAA9C;AACA,QAAMunU,SAAS,GAAG4rB,mBAAmB,CAAC/6I,iBAAD,EAAoB86I,iBAApB,CAArC;AACA,QAAMthF,MAAM,GAAG,OAAOqhF,eAAP,KAA2B,UAA3B,GAAwCA,eAAe,EAAvD,GAA4DA,eAA3E;AACA,QAAM9/B,KAAK,GAAGoU,SAAS,CAACvQ,KAAD,CAAT,GAAmBh1M,SAAS,GACtC,IAAIyoO,gBAAJ,CAAqBr/Z,IAArB,EAA2B;AAC3Bm8Y,EAAAA,SADA,EACW;AACXmqB,EAAAA,UAFA,EAEY;AACZ,MAHA,EAGM;AACNp0J,EAAAA,SAJA,EAIW;AACX2jI,EAAAA,SALA,EAKW;AACXksB,EAAAA,gBAAgB,CAAC5lB,SAAD,CAAhB,CAA4BjgU,IAA5B,CAAiC,IAAjC,EAAuC8wM,iBAAvC,CANA,EAM2D;AAC3DA,EAAAA,iBAPA,EAOmB;AACnB86I,EAAAA,iBARA,EAQmB;AACnB,MATA,EASM;AACN,MAVA,EAUM;AACN,MAXA,EAWM;AACN,OAZA,EAYO;AACP,OAbA,EAaO;AACP,MAdA,EAcM;AACN,MAfA,EAeM;AACN,MAhBA,EAgBM;AACN,MAjBA,EAiBM;AACN,MAlBA,EAkBM;AACN,MAnBA,EAmBM;AACN,MApBA,EAoBM;AACN,MArBA,EAqBM;AACN,MAtBA,EAsBM;AACN,MAvBA,EAuBM;AACN,SAAOl1H,UAAP,KAAsB,UAAtB,GAAmC;AAC/BA,EAAAA,UAAU,EADd,GACmB;AACfA,EAAAA,UA1BJ,EA0BgB;AAChB,SAAOG,KAAP,KAAiB,UAAjB,GAA8BA,KAAK,EAAnC,GAAwCA,KA3BxC,EA2B+C;AAC/C,MA5BA,EA4BM;AACN5X,EAAAA,OA7BA,EA6BS;AACTqrD,EAAAA,MA9BA,EA8BQ;AACR,OA/BA,EA+BO;AACPyjD,EAAAA,KAhCA,EAgCO;AACPr1T,EAAAA,IAjCA,CADsC,GAmCtC;AACI50E,IAAAA,IAAI,EAAEA,IADV;AAEIm8Y,IAAAA,SAAS,EAAEA,SAFf;AAGI98R,IAAAA,QAAQ,EAAEinT,UAHd;AAIIj1H,IAAAA,OAAO,EAAE,IAJb;AAKIn/B,IAAAA,SAAS,EAAEA,SALf;AAMI2jI,IAAAA,SAAS,EAAEA,SANf;AAOIl1Y,IAAAA,IAAI,EAAEw7Y,SAAS,CAAC51Y,KAAV,GAAkB21E,IAAlB,CAAuB,IAAvB,EAA6B8wM,iBAA7B,CAPV;AAQIA,IAAAA,iBAAiB,EAAEA,iBARvB;AASIyiH,IAAAA,iBAAiB,EAAEq4B,iBATvB;AAUIvI,IAAAA,kBAAkB,EAAE,IAVxB;AAWI13B,IAAAA,eAAe,EAAE,IAXrB;AAYIuH,IAAAA,eAAe,EAAE,IAZrB;AAaIowB,IAAAA,iBAAiB,EAAE,KAbvB;AAcIC,IAAAA,oBAAoB,EAAE,KAd1B;AAeIhoB,IAAAA,aAAa,EAAE,IAfnB;AAgBIC,IAAAA,kBAAkB,EAAE,IAhBxB;AAiBIM,IAAAA,YAAY,EAAE,IAjBlB;AAkBIC,IAAAA,iBAAiB,EAAE,IAlBvB;AAmBIC,IAAAA,SAAS,EAAE,IAnBf;AAoBIC,IAAAA,cAAc,EAAE,IApBpB;AAqBIC,IAAAA,YAAY,EAAE,IArBlB;AAsBIruJ,IAAAA,OAAO,EAAE,IAtBb;AAuBI6jE,IAAAA,cAAc,EAAE,IAvBpB;AAwBI4kC,IAAAA,UAAU,EAAE,IAxBhB;AAyBIktE,IAAAA,iBAAiB,EAAE,OAAO9sH,UAAP,KAAsB,UAAtB,GAAmCA,UAAU,EAA7C,GAAkDA,UAzBzE;AA0BI+sH,IAAAA,YAAY,EAAE,OAAO5sH,KAAP,KAAiB,UAAjB,GAA8BA,KAAK,EAAnC,GAAwCA,KA1B1D;AA2BIrnM,IAAAA,UAAU,EAAE,IA3BhB;AA4BIyvL,IAAAA,OAAO,EAAEA,OA5Bb;AA6BIqrD,IAAAA,MAAM,EAAEA,MA7BZ;AA8BIo5E,IAAAA,mBAAmB,EAAE;AA9BzB,GAnCJ;;AAmEA,MAAIhpO,SAAJ,EAAe;AACX;AACA;AACA;AACA9/K,IAAAA,MAAM,CAACkxZ,IAAP,CAAYjgC,KAAZ;AACH;;AACD,SAAOA,KAAP;AACH;;AACD,SAASggC,mBAAT,CAA6B/6I,iBAA7B,EAAgD86I,iBAAhD,EAAmE;AAC/D,QAAM3rB,SAAS,GAAGvlN,SAAS,GAAG,IAAIorO,cAAJ,EAAH,GAA0B,EAArD;;AACA,OAAK,IAAI7ka,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAG2qa,iBAApB,EAAuC3qa,CAAC,EAAxC,EAA4C;AACxCg/Y,IAAAA,SAAS,CAAC56Y,IAAV,CAAepE,CAAC,GAAG6vR,iBAAJ,GAAwB,IAAxB,GAA+BkwI,SAA9C;AACH;;AACD,SAAO/gB,SAAP;AACH;;AACD,SAAS8rB,WAAT,CAAqBn/Z,IAArB,EAA2B7E,KAA3B,EAAkC;AAC9B,SAAO,IAAI8T,KAAJ,CAAW,aAAYjP,IAAK,KAAIg7X,iBAAiB,CAAC7/X,KAAD,CAAQ,GAAzD,CAAP;AACH;;AACD,SAASika,oBAAT,CAA8BzY,QAA9B,EAAwC0Y,iBAAxC,EAA2D;AACvD,MAAI,CAAC1Y,QAAL,EAAe;AACX,QAAI,OAAO0Y,iBAAP,KAA6B,QAAjC,EAA2C;AACvC,YAAMF,WAAW,CAAC,oCAAD,EAAuCE,iBAAvC,CAAjB;AACH,KAFD,MAGK;AACD,YAAMF,WAAW,CAAC,wBAAD,EAA2BE,iBAA3B,CAAjB;AACH;AACJ;AACJ;AACD;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASC,iBAAT,CAA2Bt/X,QAA3B,EAAqCq/X,iBAArC,EAAwDvpM,aAAxD,EAAuE;AACnE,MAAI6yK,oBAAoB,CAAC3oW,QAAD,CAAxB,EAAoC;AAChC;AACA,UAAMu/X,eAAe,GAAGzpM,aAAa,KAAK2oK,mBAAmB,CAAC+gC,SAA9D;AACA,WAAOx/X,QAAQ,CAACy/X,iBAAT,CAA2BJ,iBAA3B,EAA8CE,eAA9C,CAAP;AACH;;AACD,MAAI5Y,QAAQ,GAAG,OAAO0Y,iBAAP,KAA6B,QAA7B,GACXr/X,QAAQ,CAACshH,aAAT,CAAuB+9Q,iBAAvB,CADW,GAEXA,iBAFJ;AAGAvxO,EAAAA,SAAS,IAAIsxO,oBAAoB,CAACzY,QAAD,EAAW0Y,iBAAX,CAAjC,CATmE,CAUnE;AACA;AACA;AACA;;AACA1Y,EAAAA,QAAQ,CAACl/R,WAAT,GAAuB,EAAvB;AACA,SAAOk/R,QAAP;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAAS+Y,uBAAT,CAAiCzgC,KAAjC,EAAwCkG,KAAxC,EAA+CrtY,OAA/C,EAAwD6na,SAAxD,EAAmE;AAC/D,QAAMzR,QAAQ,GAAG0R,uBAAuB,CAACz6B,KAAD,CAAxC;;AACA,MAAIrtY,OAAO,KAAK,IAAhB,EAAsB;AAClB;AACA;AACA,QAAIg2L,SAAJ,EAAe;AACX9/K,MAAAA,MAAM,CAACitD,MAAP,CAAc4kW,uBAAuB,CAAC5gC,KAAD,CAArC;AACH;;AACDivB,IAAAA,QAAQ,CAACz1Z,IAAT,CAAckna,SAAd;AACH,GAPD,MAQK;AACDzR,IAAAA,QAAQ,CAACz1Z,IAAT,CAAcX,OAAd;;AACA,QAAImnY,KAAK,CAACF,eAAV,EAA2B;AACvB8gC,MAAAA,uBAAuB,CAAC5gC,KAAD,CAAvB,CAA+BxmY,IAA/B,CAAoCkna,SAApC,EAA+CzR,QAAQ,CAAC1sZ,MAAT,GAAkB,CAAjE;AACH;AACJ;AACJ;;AACD,SAAS27Z,WAAT,CAAqBl+B,KAArB,EAA4B6gC,OAA5B,EAAqC5oa,IAArC,EAA2C07G,KAA3C,EAAkDvxG,KAAlD,EAAyDslP,KAAzD,EAAgE;AAC5D74D,EAAAA,SAAS,IAAIl7E,KAAK,KAAK,CAAvB,IAA4B;AACxB;AACAqpR,EAAAA,wBAAwB,CAACrpR,KAAD,EAAQqxR,aAAR,EAAuB,uCAAvB,CAF5B;AAGAn2M,EAAAA,SAAS,IAAI0uM,aAAa,CAAC71I,KAAD,EAAQzkF,SAAR,EAAmB,gDAAnB,CAA1B;AACA4rB,EAAAA,SAAS,IAAIA,SAAS,CAACkxM,KAAV,EAAb;AACAlxM,EAAAA,SAAS,IAAIgyO,OAAb,IAAwB16B,mBAAmB,CAAC06B,OAAD,EAAU7gC,KAAV,CAA3C;AACA,MAAIgI,aAAa,GAAG64B,OAAO,GAAGA,OAAO,CAAC74B,aAAX,GAA2B,CAAC,CAAvD;AACA,QAAMjI,KAAK,GAAGlxM,SAAS,GACnB,IAAI0qO,UAAJ,CAAev5B,KAAf,EAAsB;AACtB/nY,EAAAA,IADA,EACM;AACN07G,EAAAA,KAFA,EAEO;AACP,MAHA,EAGM;AACNq0R,EAAAA,aAJA,EAIe;AACf,GAAC,CALD,EAKI;AACJ,GAAC,CAND,EAMI;AACJ,GAAC,CAPD,EAOI;AACJ,MARA,EAQM;AACN,GATA,EASG;AACH,GAVA,EAUG;AACH5lY,EAAAA,KAXA,EAWO;AACPslP,EAAAA,KAZA,EAYO;AACP,MAbA,EAaM;AACN,MAdA,EAcM;AACNzkF,EAAAA,SAfA,EAeW;AACX,MAhBA,EAgBM;AACN,MAjBA,EAiBM;AACN,MAlBA,EAkBM;AACN,MAnBA,EAmBM;AACN,MApBA,EAoBM;AACN,MArBA,EAqBM;AACN49P,EAAAA,OAtBA,EAsBS;AACT,MAvBA,EAuBM;AACN,MAxBA,EAwBM;AACN,MAzBA,EAyBM;AACN59P,EAAAA,SA1BA,EA0BW;AACX,MA3BA,EA2BM;AACN,MA5BA,EA4BM;AACNA,EAAAA,SA7BA,EA6BW;AACX,GA9BA,EA8BG;AACH,GA/BA,CADmB,GAiCnB;AACIhrK,IAAAA,IADJ;AAEI07G,IAAAA,KAFJ;AAGIykT,IAAAA,iBAAiB,EAAE,IAHvB;AAIIpwB,IAAAA,aAJJ;AAKI6H,IAAAA,cAAc,EAAE,CAAC,CALrB;AAMIC,IAAAA,YAAY,EAAE,CAAC,CANnB;AAOIuoB,IAAAA,oBAAoB,EAAE,CAAC,CAP3B;AAQI18E,IAAAA,gBAAgB,EAAE,IARtB;AASIj4L,IAAAA,KAAK,EAAE,CATX;AAUI4yP,IAAAA,eAAe,EAAE,CAVrB;AAWIl0Y,IAAAA,KAAK,EAAEA,KAXX;AAYIslP,IAAAA,KAAK,EAAEA,KAZX;AAaI4wK,IAAAA,WAAW,EAAE,IAbjB;AAcIxP,IAAAA,UAAU,EAAE,IAdhB;AAeIyP,IAAAA,aAAa,EAAEt1P,SAfnB;AAgBI6qD,IAAAA,MAAM,EAAE,IAhBZ;AAiBI0qD,IAAAA,OAAO,EAAE,IAjBb;AAkBIggJ,IAAAA,MAAM,EAAE,IAlBZ;AAmBIppZ,IAAAA,IAAI,EAAE,IAnBV;AAoBIsiZ,IAAAA,cAAc,EAAE,IApBpB;AAqBI9rQ,IAAAA,KAAK,EAAE,IArBX;AAsBI7tJ,IAAAA,MAAM,EAAE8oa,OAtBZ;AAuBIh5J,IAAAA,UAAU,EAAE,IAvBhB;AAwBI7uI,IAAAA,MAAM,EAAE,IAxBZ;AAyBIy/R,IAAAA,iBAAiB,EAAE,IAzBvB;AA0BIC,IAAAA,cAAc,EAAEz1P,SA1BpB;AA2BInoG,IAAAA,OAAO,EAAE,IA3Bb;AA4BI69V,IAAAA,kBAAkB,EAAE,IA5BxB;AA6BIC,IAAAA,eAAe,EAAE31P,SA7BrB;AA8BI41P,IAAAA,aAAa,EAAE,CA9BnB;AA+BIC,IAAAA,aAAa,EAAE;AA/BnB,GAjCJ;;AAkEA,MAAIjqO,SAAJ,EAAe;AACX;AACA;AACA;AACA9/K,IAAAA,MAAM,CAACkxZ,IAAP,CAAYlgC,KAAZ;AACH;;AACD,SAAOA,KAAP;AACH;;AACD,SAAS+gC,uBAAT,CAAiCC,aAAjC,EAAgDvD,eAAhD,EAAiEwD,SAAjE,EAA4E;AACxE,OAAK,IAAIpgJ,UAAT,IAAuBmgJ,aAAvB,EAAsC;AAClC,QAAIA,aAAa,CAAC36Y,cAAd,CAA6Bw6P,UAA7B,CAAJ,EAA8C;AAC1CogJ,MAAAA,SAAS,GAAGA,SAAS,KAAK,IAAd,GAAqB,EAArB,GAA0BA,SAAtC;AACA,YAAMtgJ,YAAY,GAAGqgJ,aAAa,CAACngJ,UAAD,CAAlC;;AACA,UAAIogJ,SAAS,CAAC56Y,cAAV,CAAyBw6P,UAAzB,CAAJ,EAA0C;AACtCogJ,QAAAA,SAAS,CAACpgJ,UAAD,CAAT,CAAsBpnR,IAAtB,CAA2Bgka,eAA3B,EAA4C98I,YAA5C;AACH,OAFD,MAGK;AACAsgJ,QAAAA,SAAS,CAACpgJ,UAAD,CAAT,GAAwB,CAAC48I,eAAD,EAAkB98I,YAAlB,CAAzB;AACH;AACJ;AACJ;;AACD,SAAOsgJ,SAAP;AACH;AACD;AACA;AACA;AACA;;;AACA,SAASC,+BAAT,CAAyCjhC,KAAzC,EAAgDD,KAAhD,EAAuD;AACnDlxM,EAAAA,SAAS,IAAIq4M,qBAAqB,CAAClH,KAAD,CAAlC;AACA,QAAM1pX,KAAK,GAAGypX,KAAK,CAAC8P,cAApB;AACA,QAAM7nU,GAAG,GAAG+3T,KAAK,CAAC+P,YAAlB;AACA,QAAMoxB,SAAS,GAAGlhC,KAAK,CAACpnY,IAAxB;AACA,QAAMuoa,UAAU,GAAGphC,KAAK,CAACr4I,KAAzB;AACA,QAAM05K,eAAe,GAAGvyO,SAAS,GAAG,IAAIwrO,kBAAJ,EAAH,GAA8B,EAA/D;AACA,MAAIgH,WAAW,GAAG,IAAlB;AACA,MAAIC,YAAY,GAAG,IAAnB;;AACA,OAAK,IAAIlsa,CAAC,GAAGkhB,KAAb,EAAoBlhB,CAAC,GAAG4yE,GAAxB,EAA6B5yE,CAAC,EAA9B,EAAkC;AAC9B,UAAMulS,YAAY,GAAGumI,SAAS,CAAC9ra,CAAD,CAA9B;AACA,UAAMmsa,eAAe,GAAG5mI,YAAY,CAAC7sE,MAArC,CAF8B,CAG9B;AACA;AACA;AACA;;AACA,UAAMyqM,aAAa,GAAI4I,UAAU,KAAK,IAAf,IAAuB,CAAClO,gBAAgB,CAAClzB,KAAD,CAAzC,GAClByhC,qBAAqB,CAACD,eAAD,EAAkBJ,UAAlB,CADH,GAElB,IAFJ;AAGAC,IAAAA,eAAe,CAAC5na,IAAhB,CAAqB++Z,aAArB;AACA8I,IAAAA,WAAW,GAAGP,uBAAuB,CAACS,eAAD,EAAkBnsa,CAAlB,EAAqBisa,WAArB,CAArC;AACAC,IAAAA,YAAY,GAAGR,uBAAuB,CAACnmI,YAAY,CAACniB,OAAd,EAAuBpjR,CAAvB,EAA0Bksa,YAA1B,CAAtC;AACH;;AACD,MAAID,WAAW,KAAK,IAApB,EAA0B;AACtB,QAAIA,WAAW,CAACj7Y,cAAZ,CAA2B,OAA3B,CAAJ,EAAyC;AACrC25W,MAAAA,KAAK,CAACr8O,KAAN,IAAe;AAAG;AAAlB;AACH;;AACD,QAAI29Q,WAAW,CAACj7Y,cAAZ,CAA2B,OAA3B,CAAJ,EAAyC;AACrC25W,MAAAA,KAAK,CAACr8O,KAAN,IAAe;AAAG;AAAlB;AACH;AACJ;;AACDq8O,EAAAA,KAAK,CAACw4B,aAAN,GAAsB6I,eAAtB;AACArhC,EAAAA,KAAK,CAACjyK,MAAN,GAAeuzM,WAAf;AACAthC,EAAAA,KAAK,CAACvnH,OAAN,GAAgB8oJ,YAAhB;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASG,WAAT,CAAqB3yZ,IAArB,EAA2B;AACvB,MAAIA,IAAI,KAAK,OAAb,EACI,OAAO,WAAP;AACJ,MAAIA,IAAI,KAAK,KAAb,EACI,OAAO,SAAP;AACJ,MAAIA,IAAI,KAAK,YAAb,EACI,OAAO,YAAP;AACJ,MAAIA,IAAI,KAAK,WAAb,EACI,OAAO,WAAP;AACJ,MAAIA,IAAI,KAAK,UAAb,EACI,OAAO,UAAP;AACJ,MAAIA,IAAI,KAAK,UAAb,EACI,OAAO,UAAP;AACJ,SAAOA,IAAP;AACH;;AACD,SAAS4yZ,uBAAT,CAAiC1hC,KAAjC,EAAwCD,KAAxC,EAA+CmG,KAA/C,EAAsDpzO,QAAtD,EAAgE1wJ,KAAhE,EAAuE2+B,QAAvE,EAAiF2kX,SAAjF,EAA4Fic,UAA5F,EAAwG;AACpG9yO,EAAAA,SAAS,IAAI0uM,aAAa,CAACn7X,KAAD,EAAQ+yZ,SAAR,EAAmB,2CAAnB,CAA1B;AACA,QAAMr+Q,OAAO,GAAGozP,gBAAgB,CAACnK,KAAD,EAAQmG,KAAR,CAAhC;AACA,MAAI07B,SAAS,GAAG7hC,KAAK,CAACjyK,MAAtB;AACA,MAAI+zM,SAAJ;;AACA,MAAI,CAACF,UAAD,IAAeC,SAAS,IAAI,IAA5B,KAAqCC,SAAS,GAAGD,SAAS,CAAC9uQ,QAAD,CAA1D,CAAJ,EAA2E;AACvEgvQ,IAAAA,oBAAoB,CAAC9hC,KAAD,EAAQkG,KAAR,EAAe27B,SAAf,EAA0B/uQ,QAA1B,EAAoC1wJ,KAApC,CAApB;AACA,QAAIyjY,eAAe,CAAC9F,KAAD,CAAnB,EACIgiC,iBAAiB,CAAC77B,KAAD,EAAQnG,KAAK,CAACpsR,KAAd,CAAjB;;AACJ,QAAIk7E,SAAJ,EAAe;AACXmzO,MAAAA,sBAAsB,CAAC97B,KAAD,EAAQpvP,OAAR,EAAiBipP,KAAK,CAAC9nY,IAAvB,EAA6B4pa,SAA7B,EAAwCz/Z,KAAxC,CAAtB;AACH;AACJ,GAPD,MAQK,IAAI29X,KAAK,CAAC9nY,IAAN,GAAa;AAAE;AAAnB,IAAmC;AACpC66J,IAAAA,QAAQ,GAAG2uQ,WAAW,CAAC3uQ,QAAD,CAAtB;;AACA,QAAI+7B,SAAJ,EAAe;AACX+3N,MAAAA,8BAA8B,CAAC9zP,QAAD,CAA9B;;AACA,UAAI,CAAC04J,gBAAgB,CAACw0E,KAAD,EAAQlpP,OAAR,EAAiBgc,QAAjB,EAA2BitO,KAA3B,CAArB,EAAwD;AACpD;AACAkiC,QAAAA,uBAAuB,CAACnvQ,QAAD,EAAWitO,KAAX,CAAvB;AACA;AACH;;AACDlxM,MAAAA,SAAS,CAAC0xM,mBAAV;AACH,KAVmC,CAWpC;AACA;;;AACAn+X,IAAAA,KAAK,GAAGsjZ,SAAS,IAAI,IAAb,GAAoBA,SAAS,CAACtjZ,KAAD,EAAQ29X,KAAK,CAAC39X,KAAN,IAAe,EAAvB,EAA2B0wJ,QAA3B,CAA7B,GAAoE1wJ,KAA5E;;AACA,QAAIsnY,oBAAoB,CAAC3oW,QAAD,CAAxB,EAAoC;AAChCA,MAAAA,QAAQ,CAAC0rH,WAAT,CAAqB3V,OAArB,EAA8Bgc,QAA9B,EAAwC1wJ,KAAxC;AACH,KAFD,MAGK,IAAI,CAACwnT,eAAe,CAAC92J,QAAD,CAApB,EAAgC;AACjChc,MAAAA,OAAO,CAAC2V,WAAR,GAAsB3V,OAAO,CAAC2V,WAAR,CAAoBqG,QAApB,EAA8B1wJ,KAA9B,CAAtB,GACI00I,OAAO,CAACgc,QAAD,CAAP,GAAoB1wJ,KADxB;AAEH;AACJ,GArBI,MAsBA,IAAI29X,KAAK,CAAC9nY,IAAN,GAAa;AAAG;AAApB,IAAwC;AACzC;AACA;AACA,QAAI42L,SAAS,IAAI,CAACqzO,eAAe,CAACliC,KAAD,EAAQD,KAAK,CAAC39X,KAAd,CAAjC,EAAuD;AACnD6/Z,MAAAA,uBAAuB,CAACnvQ,QAAD,EAAWitO,KAAX,CAAvB;AACH;AACJ;AACJ;AACD;;;AACA,SAASgiC,iBAAT,CAA2B77B,KAA3B,EAAkCi8B,SAAlC,EAA6C;AACzCtzO,EAAAA,SAAS,IAAIo4M,WAAW,CAACf,KAAD,CAAxB;AACA,QAAMk8B,mBAAmB,GAAG/3B,wBAAwB,CAAC83B,SAAD,EAAYj8B,KAAZ,CAApD;;AACA,MAAI,EAAEk8B,mBAAmB,CAACt+B,KAAD,CAAnB,GAA6B;AAAG;AAAlC,GAAJ,EAA0D;AACtDs+B,IAAAA,mBAAmB,CAACt+B,KAAD,CAAnB,IAA8B;AAAG;AAAjC;AACH;AACJ;;AACD,SAASu+B,oBAAT,CAA8Bn8B,KAA9B,EAAqCpvP,OAArC,EAA8C7+I,IAA9C,EAAoDi/J,QAApD,EAA8D90J,KAA9D,EAAqE;AACjE,QAAM2+B,QAAQ,GAAGmlW,KAAK,CAAC3B,QAAD,CAAtB;AACArtO,EAAAA,QAAQ,GAAGizP,yBAAyB,CAACjzP,QAAD,CAApC;AACA,QAAMorQ,UAAU,GAAGjY,0BAA0B,CAACjoZ,KAAD,CAA7C;;AACA,MAAInK,IAAI,GAAG;AAAE;AAAb,IAA6B;AACzB,QAAImK,KAAK,IAAI,IAAb,EAAmB;AACfsnY,MAAAA,oBAAoB,CAAC3oW,QAAD,CAApB,GAAiCA,QAAQ,CAACwnH,eAAT,CAAyBzR,OAAzB,EAAkCogB,QAAlC,CAAjC,GACIpgB,OAAO,CAACyR,eAAR,CAAwB2O,QAAxB,CADJ;AAEH,KAHD,MAIK;AACDwyO,MAAAA,oBAAoB,CAAC3oW,QAAD,CAApB,GACIA,QAAQ,CAACqiE,YAAT,CAAsB0zC,OAAtB,EAA+BogB,QAA/B,EAAyCorQ,UAAzC,CADJ,GAEIxrR,OAAO,CAAC1zC,YAAR,CAAqB8zD,QAArB,EAA+BorQ,UAA/B,CAFJ;AAGH;AACJ,GAVD,MAWK;AACD,UAAM95S,WAAW,GAAG0hS,iBAAiB,CAAE,YAAW/uY,IAAI,CAACC,SAAL,CAAe;AAAE,OAAC87I,QAAD,GAAYorQ;AAAd,KAAf,EAA2C,IAA3C,EAAiD,CAAjD,CAAoD,EAAjE,CAArC;;AACA,QAAI54B,oBAAoB,CAAC3oW,QAAD,CAAxB,EAAoC;AAChCA,MAAAA,QAAQ,CAAC80H,QAAT,CAAkB/e,OAAlB,EAA2BtuB,WAA3B;AACH,KAFD,MAGK;AACDsuB,MAAAA,OAAO,CAACtuB,WAAR,GAAsBA,WAAtB;AACH;AACJ;AACJ;;AACD,SAASw5S,sBAAT,CAAgC97B,KAAhC,EAAuCpvP,OAAvC,EAAgD7+I,IAAhD,EAAsD4pa,SAAtD,EAAiEz/Z,KAAjE,EAAwE;AACpE,MAAInK,IAAI,IAAI;AAAE;AAAF,IAAmB;AAAE;AAAzB,GAAR,EAAmD;AAC/C;AACR;AACA;AACA;AACA;AACA;AACA;AACA;AACQ,SAAK,IAAI7C,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGysa,SAAS,CAACt/Z,MAA9B,EAAsCnN,CAAC,IAAI,CAA3C,EAA8C;AAC1Cita,MAAAA,oBAAoB,CAACn8B,KAAD,EAAQpvP,OAAR,EAAiB7+I,IAAjB,EAAuB4pa,SAAS,CAACzsa,CAAC,GAAG,CAAL,CAAhC,EAAyCgN,KAAzC,CAApB;AACH;AACJ;AACJ;;AACD,SAASopT,gBAAT,CAA0Bw0E,KAA1B,EAAiClpP,OAAjC,EAA0Cgc,QAA1C,EAAoDitO,KAApD,EAA2D;AACvD;AACA;AACA;AACA;AACA,MAAIC,KAAK,CAAC5sG,OAAN,KAAkB,IAAtB,EACI,OAAO,IAAP,CANmD,CAOvD;AACA;;AACA,MAAI8uI,eAAe,CAACliC,KAAD,EAAQD,KAAK,CAAC39X,KAAd,CAAf,IAAuC0wJ,QAAQ,IAAIhc,OAAnD,IAA8D8yK,eAAe,CAAC92J,QAAD,CAAjF,EAA6F;AACzF,WAAO,IAAP;AACH,GAXsD,CAYvD;AACA;;;AACA,SAAO,OAAO4I,IAAP,KAAgB,WAAhB,IAA+BA,IAAI,KAAK,IAAxC,IAAgD,EAAE5kB,OAAO,YAAY4kB,IAArB,CAAvD;AACH;;AACD,SAASwmQ,eAAT,CAAyBliC,KAAzB,EAAgC78O,OAAhC,EAAyC;AACrC,QAAMiwI,OAAO,GAAG4sG,KAAK,CAAC5sG,OAAtB;;AACA,MAAIA,OAAO,KAAK,IAAhB,EAAsB;AAClB,SAAK,IAAIh+R,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGg+R,OAAO,CAAC7wR,MAA5B,EAAoCnN,CAAC,EAArC,EAAyC;AACrC,YAAM+xU,MAAM,GAAG/zC,OAAO,CAACh+R,CAAD,CAAtB;;AACA,UAAI+xU,MAAM,KAAKt6E,gBAAX,IACAs6E,MAAM,KAAKv6E,sBAAX,IAAqCzpG,OAArC,IAAgDA,OAAO,CAACh9I,OAAR,CAAgB,GAAhB,IAAuB,CAAC,CAD5E,EAC+E;AAC3E,eAAO,IAAP;AACH;AACJ;AACJ;;AACD,SAAO,KAAP;AACH;AACD;AACA;AACA;AACA;AACA;;;AACA,SAAS87Z,uBAAT,CAAiCnvQ,QAAjC,EAA2CitO,KAA3C,EAAkD;AAC9C,MAAIh6W,OAAO,GAAI,kBAAiB+sI,QAAS,yCAAwCitO,KAAK,CAAC39X,KAAM,IAA7F;AACA4jC,EAAAA,OAAO,CAAC7tC,KAAR,CAAcwjY,kBAAkB,CAAC;AAAM;AAAP,IAA8B51W,OAA9B,CAAhC;AACH;AACD;AACA;AACA;;;AACA,SAASw8Y,wBAAT,CAAkCviC,KAAlC,EAAyCkG,KAAzC,EAAgDt5N,GAAhD,EAAqD;AACjD,QAAM41P,SAAS,GAAGt2B,eAAe,EAAjC;;AACA,MAAIlM,KAAK,CAACF,eAAV,EAA2B;AACvB,QAAIlzN,GAAG,CAACq1N,iBAAR,EACIr1N,GAAG,CAACq1N,iBAAJ,CAAsBr1N,GAAtB;AACJ,UAAMk5I,cAAc,GAAGq4G,YAAY,CAACn+B,KAAD,EAAQkG,KAAR,EAAe,CAAf,EAAkB,IAAlB,CAAnC;AACAr3M,IAAAA,SAAS,IACLsuM,WAAW,CAACr3E,cAAD,EAAiB08G,SAAS,CAAC3yB,cAA3B,EAA2C,0FAA3C,CADf;AAEA4yB,IAAAA,0BAA0B,CAACziC,KAAD,EAAQwiC,SAAR,EAAmBt8B,KAAnB,EAA0BpgF,cAA1B,EAA0Cl5I,GAA1C,CAA1B;AACH;;AACD,QAAM8yI,SAAS,GAAG02F,iBAAiB,CAAClQ,KAAD,EAAQlG,KAAR,EAAewiC,SAAS,CAAC3yB,cAAzB,EAAyC2yB,SAAzC,CAAnC;AACA/a,EAAAA,eAAe,CAAC/nG,SAAD,EAAYwmF,KAAZ,CAAf;AACA,QAAMjvS,MAAM,GAAGizS,gBAAgB,CAACs4B,SAAD,EAAYt8B,KAAZ,CAA/B;;AACA,MAAIjvS,MAAJ,EAAY;AACRwwT,IAAAA,eAAe,CAACxwT,MAAD,EAASivS,KAAT,CAAf;AACH;;AACD,SAAOxmF,SAAP;AACH;AACD;AACA;AACA;;;AACA,SAASgjH,iBAAT,CAA2B1iC,KAA3B,EAAkCkG,KAAlC,EAAyCnG,KAAzC,EAAgD4nB,SAAhD,EAA2D;AACvD;AACA;AACA94N,EAAAA,SAAS,IAAIq4M,qBAAqB,CAAClH,KAAD,CAAlC;AACA,MAAI2iC,aAAa,GAAG,KAApB;;AACA,MAAIj3B,kBAAkB,EAAtB,EAA0B;AACtB,UAAMrJ,aAAa,GAAGugC,uBAAuB,CAAC5iC,KAAD,EAAQkG,KAAR,EAAenG,KAAf,CAA7C;AACA,UAAM8iC,UAAU,GAAGlb,SAAS,KAAK,IAAd,GAAqB,IAArB,GAA4B;AAAE,UAAI,CAAC;AAAP,KAA/C;;AACA,QAAItlB,aAAa,KAAK,IAAtB,EAA4B;AACxBsgC,MAAAA,aAAa,GAAG,IAAhB;AACAG,MAAAA,cAAc,CAAC/iC,KAAD,EAAQC,KAAK,CAACpnY,IAAN,CAAW2J,MAAnB,EAA2B8/X,aAAa,CAAC9/X,MAAzC,CAAd,CAFwB,CAGxB;AACA;AACA;AACA;AACA;AACA;;AACA,WAAK,IAAInN,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGitY,aAAa,CAAC9/X,MAAlC,EAA0CnN,CAAC,EAA3C,EAA+C;AAC3C,cAAMw3K,GAAG,GAAGy1N,aAAa,CAACjtY,CAAD,CAAzB;AACA,YAAIw3K,GAAG,CAACq1N,iBAAR,EACIr1N,GAAG,CAACq1N,iBAAJ,CAAsBr1N,GAAtB;AACP;;AACD,UAAIm2P,kBAAkB,GAAG,KAAzB;AACA,UAAIC,uBAAuB,GAAG,KAA9B;AACA,UAAI7F,YAAY,GAAGgB,YAAY,CAACn+B,KAAD,EAAQkG,KAAR,EAAe7D,aAAa,CAAC9/X,MAA7B,EAAqC,IAArC,CAA/B;AACAssL,MAAAA,SAAS,IACLyuM,UAAU,CAAC6/B,YAAD,EAAep9B,KAAK,CAAC8P,cAArB,EAAqC,2DAArC,CADd;;AAEA,WAAK,IAAIz6Y,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGitY,aAAa,CAAC9/X,MAAlC,EAA0CnN,CAAC,EAA3C,EAA+C;AAC3C,cAAMw3K,GAAG,GAAGy1N,aAAa,CAACjtY,CAAD,CAAzB,CAD2C,CAE3C;AACA;;AACA2qY,QAAAA,KAAK,CAACu4B,WAAN,GAAoB9lB,cAAc,CAACzS,KAAK,CAACu4B,WAAP,EAAoB1rP,GAAG,CAACy5K,SAAxB,CAAlC;AACAo8E,QAAAA,0BAA0B,CAACziC,KAAD,EAAQD,KAAR,EAAemG,KAAf,EAAsBi3B,YAAtB,EAAoCvwP,GAApC,CAA1B;AACAq2P,QAAAA,mBAAmB,CAAC9F,YAAD,EAAevwP,GAAf,EAAoBi2P,UAApB,CAAnB;AACA,YAAIj2P,GAAG,CAACi5I,cAAJ,KAAuB,IAA3B,EACIk6E,KAAK,CAACr8O,KAAN,IAAe;AAAE;AAAjB;AACJ,YAAIkpB,GAAG,CAAC4hL,YAAJ,KAAqB,IAArB,IAA6B5hL,GAAG,CAACy5K,SAAJ,KAAkB,IAA/C,IAAuDz5K,GAAG,CAACu1N,QAAJ,KAAiB,CAA5E,EACIpC,KAAK,CAACr8O,KAAN,IAAe;AAAI;AAAnB;AACJ,cAAMw/Q,cAAc,GAAGt2P,GAAG,CAAC30K,IAAJ,CAAS4E,SAAhC,CAX2C,CAY3C;AACA;;AACA,YAAI,CAACkma,kBAAD,KACCG,cAAc,CAACljO,WAAf,IAA8BkjO,cAAc,CAACr1M,QAA7C,IAAyDq1M,cAAc,CAACnjO,SADzE,CAAJ,EACyF;AACrF;AACA;AACA;AACA,WAACigM,KAAK,CAAC0P,aAAN,KAAwB1P,KAAK,CAAC0P,aAAN,GAAsB,EAA9C,CAAD,EAAoDl2Y,IAApD,CAAyDumY,KAAK,CAACpsR,KAA/D;AACAovT,UAAAA,kBAAkB,GAAG,IAArB;AACH;;AACD,YAAI,CAACC,uBAAD,KAA6BE,cAAc,CAACljO,WAAf,IAA8BkjO,cAAc,CAACnjO,SAA1E,CAAJ,EAA0F;AACtF,WAACigM,KAAK,CAAC2P,kBAAN,KAA6B3P,KAAK,CAAC2P,kBAAN,GAA2B,EAAxD,CAAD,EAA8Dn2Y,IAA9D,CAAmEumY,KAAK,CAACpsR,KAAzE;AACAqvT,UAAAA,uBAAuB,GAAG,IAA1B;AACH;;AACD7F,QAAAA,YAAY;AACf;;AACD8D,MAAAA,+BAA+B,CAACjhC,KAAD,EAAQD,KAAR,CAA/B;AACH;;AACD,QAAI8iC,UAAJ,EACIM,uBAAuB,CAACpjC,KAAD,EAAQ4nB,SAAR,EAAmBkb,UAAnB,CAAvB;AACP,GA3DsD,CA4DvD;;;AACA9iC,EAAAA,KAAK,CAACu4B,WAAN,GAAoB9lB,cAAc,CAACzS,KAAK,CAACu4B,WAAP,EAAoBv4B,KAAK,CAACr4I,KAA1B,CAAlC;AACA,SAAOi7K,aAAP;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASS,0BAAT,CAAoCpjC,KAApC,EAA2CD,KAA3C,EAAkDmG,KAAlD,EAAyDi3B,YAAzD,EAAuEkG,gBAAvE,EAAyFz2P,GAAzF,EAA8F;AAC1FiiB,EAAAA,SAAS,IAAIq4M,qBAAqB,CAAClH,KAAD,CAAlC;AACA,QAAMxxC,YAAY,GAAG5hL,GAAG,CAAC4hL,YAAzB;;AACA,MAAIA,YAAJ,EAAkB;AACd,QAAIgpE,kBAAkB,GAAGx3B,KAAK,CAACw3B,kBAA/B;;AACA,QAAIA,kBAAkB,KAAK,IAA3B,EAAiC;AAC7BA,MAAAA,kBAAkB,GAAGx3B,KAAK,CAACw3B,kBAAN,GAA2B,EAAhD;AACH;;AACD,UAAM8L,WAAW,GAAG,CAACvjC,KAAK,CAACpsR,KAA3B;;AACA,QAAI4vT,sBAAsB,CAAC/L,kBAAD,CAAtB,IAA8C8L,WAAlD,EAA+D;AAC3D;AACA;AACA;AACA9L,MAAAA,kBAAkB,CAACh+Z,IAAnB,CAAwB8pa,WAAxB;AACH;;AACD9L,IAAAA,kBAAkB,CAACh+Z,IAAnB,CAAwB2ja,YAAxB,EAAsCkG,gBAAtC,EAAwD70E,YAAxD;AACH;AACJ;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAAS+0E,sBAAT,CAAgC/L,kBAAhC,EAAoD;AAChD,MAAIpia,CAAC,GAAGoia,kBAAkB,CAACj1Z,MAA3B;;AACA,SAAOnN,CAAC,GAAG,CAAX,EAAc;AACV,UAAMgN,KAAK,GAAGo1Z,kBAAkB,CAAC,EAAEpia,CAAH,CAAhC;;AACA,QAAI,OAAOgN,KAAP,KAAiB,QAAjB,IAA6BA,KAAK,GAAG,CAAzC,EAA4C;AACxC,aAAOA,KAAP;AACH;AACJ;;AACD,SAAO,CAAP;AACH;AACD;AACA;AACA;;;AACA,SAASm9Z,wBAAT,CAAkCv/B,KAAlC,EAAyCkG,KAAzC,EAAgDnG,KAAhD,EAAuD9oS,MAAvD,EAA+D;AAC3D,QAAM3gF,KAAK,GAAGypX,KAAK,CAAC8P,cAApB;AACA,QAAM7nU,GAAG,GAAG+3T,KAAK,CAAC+P,YAAlB;;AACA,MAAI,CAAC9P,KAAK,CAACF,eAAX,EAA4B;AACxBkU,IAAAA,8BAA8B,CAACjU,KAAD,EAAQmG,KAAR,CAA9B;AACH;;AACDuhB,EAAAA,eAAe,CAACxwT,MAAD,EAASivS,KAAT,CAAf;AACA,QAAMqyB,aAAa,GAAGx4B,KAAK,CAACw4B,aAA5B;;AACA,OAAK,IAAInja,CAAC,GAAGkhB,KAAb,EAAoBlhB,CAAC,GAAG4yE,GAAxB,EAA6B5yE,CAAC,EAA9B,EAAkC;AAC9B,UAAMw3K,GAAG,GAAGozN,KAAK,CAACpnY,IAAN,CAAWxD,CAAX,CAAZ;AACA,UAAM6zS,WAAW,GAAG88F,cAAc,CAACn5N,GAAD,CAAlC;;AACA,QAAIq8H,WAAJ,EAAiB;AACbp6G,MAAAA,SAAS,IAAImjN,eAAe,CAACjS,KAAD,EAAQ;AAAE;AAAV,OAA5B;AACAyjC,MAAAA,iBAAiB,CAACt9B,KAAD,EAAQnG,KAAR,EAAenzN,GAAf,CAAjB;AACH;;AACD,UAAM8yI,SAAS,GAAG02F,iBAAiB,CAAClQ,KAAD,EAAQlG,KAAR,EAAe5qY,CAAf,EAAkB2qY,KAAlB,CAAnC;AACA0nB,IAAAA,eAAe,CAAC/nG,SAAD,EAAYwmF,KAAZ,CAAf;;AACA,QAAIqyB,aAAa,KAAK,IAAtB,EAA4B;AACxBkL,MAAAA,kBAAkB,CAACv9B,KAAD,EAAQ9wY,CAAC,GAAGkhB,KAAZ,EAAmBopS,SAAnB,EAA8B9yI,GAA9B,EAAmCmzN,KAAnC,EAA0Cw4B,aAA1C,CAAlB;AACH;;AACD,QAAItvH,WAAJ,EAAiB;AACb,YAAMk/G,aAAa,GAAG9d,wBAAwB,CAACtK,KAAK,CAACpsR,KAAP,EAAcuyR,KAAd,CAA9C;AACAiiB,MAAAA,aAAa,CAAC/jB,OAAD,CAAb,GAAyB1kF,SAAzB;AACH;AACJ;AACJ;;AACD,SAAS8/G,4BAAT,CAAsCx/B,KAAtC,EAA6CkG,KAA7C,EAAoDnG,KAApD,EAA2D;AACvD,QAAMzpX,KAAK,GAAGypX,KAAK,CAAC8P,cAApB;AACA,QAAM7nU,GAAG,GAAG+3T,KAAK,CAAC+P,YAAlB;AACA,QAAMhQ,eAAe,GAAGE,KAAK,CAACF,eAA9B;AACA,QAAM/lD,YAAY,GAAGgmD,KAAK,CAACpsR,KAA3B;AACA,QAAM25R,qBAAqB,GAAGE,wBAAwB,EAAtD;;AACA,MAAI;AACAyB,IAAAA,gBAAgB,CAACl1D,YAAD,CAAhB;;AACA,SAAK,IAAI2pF,QAAQ,GAAGptZ,KAApB,EAA2BotZ,QAAQ,GAAG17V,GAAtC,EAA2C07V,QAAQ,EAAnD,EAAuD;AACnD,YAAM92P,GAAG,GAAGozN,KAAK,CAACpnY,IAAN,CAAW8qa,QAAX,CAAZ;AACA,YAAMhkH,SAAS,GAAGwmF,KAAK,CAACw9B,QAAD,CAAvB;AACAn2B,MAAAA,wBAAwB,CAACm2B,QAAD,CAAxB;;AACA,UAAI92P,GAAG,CAAC4hL,YAAJ,KAAqB,IAArB,IAA6B5hL,GAAG,CAACu1N,QAAJ,KAAiB,CAA9C,IAAmDv1N,GAAG,CAACy5K,SAAJ,KAAkB,IAAzE,EAA+E;AAC3Es9E,QAAAA,gCAAgC,CAAC/2P,GAAD,EAAM8yI,SAAN,CAAhC;AACH;AACJ;AACJ,GAVD,SAWQ;AACJuvF,IAAAA,gBAAgB,CAAC,CAAC,CAAF,CAAhB;AACA1B,IAAAA,wBAAwB,CAACD,qBAAD,CAAxB;AACH;AACJ;AACD;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASq2B,gCAAT,CAA0C/2P,GAA1C,EAA+C8yI,SAA/C,EAA0D;AACtD,MAAI9yI,GAAG,CAAC4hL,YAAJ,KAAqB,IAAzB,EAA+B;AAC3B5hL,IAAAA,GAAG,CAAC4hL,YAAJ,CAAiB;AAAE;AAAnB,MAAiC9uC,SAAjC;AACH;AACJ;AACD;AACA;AACA;AACA;;;AACA,SAASkjH,uBAAT,CAAiC5iC,KAAjC,EAAwC0/B,QAAxC,EAAkD3/B,KAAlD,EAAyD;AACrDlxM,EAAAA,SAAS,IAAIq4M,qBAAqB,CAAClH,KAAD,CAAlC;AACAnxM,EAAAA,SAAS,IAAImjN,eAAe,CAACjS,KAAD,EAAQ;AAAE;AAAF,IAAmB;AAAG;AAA9B,GAA5B;AACA,QAAMt0E,QAAQ,GAAGu0E,KAAK,CAAC23B,iBAAvB;AACA,MAAI12R,OAAO,GAAG,IAAd;;AACA,MAAIwqL,QAAJ,EAAc;AACV,SAAK,IAAIr2T,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGq2T,QAAQ,CAAClpT,MAA7B,EAAqCnN,CAAC,EAAtC,EAA0C;AACtC,YAAMw3K,GAAG,GAAG6+I,QAAQ,CAACr2T,CAAD,CAApB;;AACA,UAAI++Z,0BAA0B,CAACp0B,KAAD,EAAQnzN,GAAG,CAACm+E,SAAZ;AAAuB;AAAuB,WAA9C,CAA9B,EAAoF;AAChF9pH,QAAAA,OAAO,KAAKA,OAAO,GAAG4tD,SAAS,GAAG,IAAIqrO,YAAJ,EAAH,GAAwB,EAAhD,CAAP;AACAtlB,QAAAA,kBAAkB,CAACZ,8BAA8B,CAACjU,KAAD,EAAQ2/B,QAAR,CAA/B,EAAkD1/B,KAAlD,EAAyDpzN,GAAG,CAAC30K,IAA7D,CAAlB;;AACA,YAAI8tY,cAAc,CAACn5N,GAAD,CAAlB,EAAyB;AACrB,cAAIiiB,SAAJ,EAAe;AACXmjN,YAAAA,eAAe,CAACjS,KAAD,EAAQ;AAAE;AAAV,cAA0B,IAAGA,KAAK,CAAC39X,KAAM,4CAAhB,GACnC,8CAA6CgZ,SAAS,CAACwxJ,GAAG,CAAC30K,IAAL,CAAW,aADvD,CAAf;AAEA,gBAAI8nY,KAAK,CAACr8O,KAAN,GAAc;AAAE;AAApB,cACIknQ,2BAA2B,CAAC7qB,KAAD,CAA3B;AACP;;AACD6jC,UAAAA,mBAAmB,CAAC5jC,KAAD,EAAQD,KAAR,CAAnB,CAPqB,CAQrB;;AACA9+P,UAAAA,OAAO,CAAC3qG,OAAR,CAAgBs2I,GAAhB;AACH,SAVD,MAWK;AACD3rC,UAAAA,OAAO,CAACznI,IAAR,CAAaozK,GAAb;AACH;AACJ;AACJ;AACJ;;AACD,SAAO3rC,OAAP;AACH;AACD;AACA;AACA;AACA;AACA;;;AACA,SAAS2iS,mBAAT,CAA6B5jC,KAA7B,EAAoC6jC,SAApC,EAA+C;AAC3Ch1O,EAAAA,SAAS,IAAIq4M,qBAAqB,CAAClH,KAAD,CAAlC;AACA6jC,EAAAA,SAAS,CAACngR,KAAV,IAAmB;AAAE;AAArB;AACA,GAACs8O,KAAK,CAACv1C,UAAN,KAAqBu1C,KAAK,CAACv1C,UAAN,GAAmB57J,SAAS,GAAG,IAAIsrO,eAAJ,EAAH,GAA2B,EAA5E,CAAD,EACK3ga,IADL,CACUqqa,SAAS,CAAClwT,KADpB;AAEH;AACD;;;AACA,SAASwvT,uBAAT,CAAiCpjC,KAAjC,EAAwC4nB,SAAxC,EAAmDkb,UAAnD,EAA+D;AAC3D,MAAIlb,SAAJ,EAAe;AACX,UAAMmB,UAAU,GAAG/oB,KAAK,CAAC+oB,UAAN,GAAmBj6N,SAAS,GAAG,IAAIurO,eAAJ,EAAH,GAA2B,EAA1E,CADW,CAEX;AACA;AACA;;AACA,SAAK,IAAIhla,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGuyZ,SAAS,CAACplZ,MAA9B,EAAsCnN,CAAC,IAAI,CAA3C,EAA8C;AAC1C,YAAMu+G,KAAK,GAAGkvT,UAAU,CAAClb,SAAS,CAACvyZ,CAAC,GAAG,CAAL,CAAV,CAAxB;AACA,UAAIu+G,KAAK,IAAI,IAAb,EACI,MAAM,IAAI+nR,YAAJ,CAAiB;AAAM;AAAvB,QAAgD,mBAAkBisB,SAAS,CAACvyZ,CAAC,GAAG,CAAL,CAAQ,cAAnF,CAAN;AACJ0zZ,MAAAA,UAAU,CAACtvZ,IAAX,CAAgBmuZ,SAAS,CAACvyZ,CAAD,CAAzB,EAA8Bu+G,KAA9B;AACH;AACJ;AACJ;AACD;AACA;AACA;AACA;;;AACA,SAASsvT,mBAAT,CAA6B9F,YAA7B,EAA2CvwP,GAA3C,EAAgDi2P,UAAhD,EAA4D;AACxD,MAAIA,UAAJ,EAAgB;AACZ,QAAIj2P,GAAG,CAACyzB,QAAR,EAAkB;AACd,WAAK,IAAIjrM,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGw3K,GAAG,CAACyzB,QAAJ,CAAa99L,MAAjC,EAAyCnN,CAAC,EAA1C,EAA8C;AAC1Cyta,QAAAA,UAAU,CAACj2P,GAAG,CAACyzB,QAAJ,CAAajrM,CAAb,CAAD,CAAV,GAA8B+na,YAA9B;AACH;AACJ;;AACD,QAAIp3B,cAAc,CAACn5N,GAAD,CAAlB,EACIi2P,UAAU,CAAC,EAAD,CAAV,GAAiB1F,YAAjB;AACP;AACJ;AACD;AACA;AACA;AACA;AACA;;;AACA,SAAS2F,cAAT,CAAwB/iC,KAAxB,EAA+BpsR,KAA/B,EAAsCmwT,kBAAtC,EAA0D;AACtDj1O,EAAAA,SAAS,IACLwuM,cAAc,CAACymC,kBAAD,EAAqB/jC,KAAK,CAAC+P,YAAN,GAAqB/P,KAAK,CAAC8P,cAAhD,EAAgE,sCAAhE,CADlB;AAEA9P,EAAAA,KAAK,CAACr8O,KAAN,IAAe;AAAE;AAAjB,GAHsD,CAItD;;AACAq8O,EAAAA,KAAK,CAAC8P,cAAN,GAAuBl8R,KAAvB;AACAosR,EAAAA,KAAK,CAAC+P,YAAN,GAAqBn8R,KAAK,GAAGmwT,kBAA7B;AACA/jC,EAAAA,KAAK,CAACuW,eAAN,GAAwB3iS,KAAxB;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAAS8uT,0BAAT,CAAoCziC,KAApC,EAA2CD,KAA3C,EAAkDmG,KAAlD,EAAyDpgF,cAAzD,EAAyEl5I,GAAzE,EAA8E;AAC1EiiB,EAAAA,SAAS,IACLmuM,wBAAwB,CAACl3E,cAAD,EAAiBk/E,aAAjB,EAAgC,4BAAhC,CAD5B;AAEAhF,EAAAA,KAAK,CAACpnY,IAAN,CAAWktT,cAAX,IAA6Bl5I,GAA7B;AACA,QAAMm3P,gBAAgB,GAAGn3P,GAAG,CAACy2B,OAAJ,KAAgBz2B,GAAG,CAACy2B,OAAJ,GAAc4kM,aAAa,CAACr7N,GAAG,CAAC30K,IAAL,EAAW,IAAX,CAA3C,CAAzB;AACA,QAAM+ra,mBAAmB,GAAG,IAAI7yB,mBAAJ,CAAwB4yB,gBAAxB,EAA0Ch+B,cAAc,CAACn5N,GAAD,CAAxD,EAA+D,IAA/D,CAA5B;AACAozN,EAAAA,KAAK,CAACoU,SAAN,CAAgBtuF,cAAhB,IAAkCk+G,mBAAlC;AACA99B,EAAAA,KAAK,CAACpgF,cAAD,CAAL,GAAwBk+G,mBAAxB;AACAZ,EAAAA,0BAA0B,CAACpjC,KAAD,EAAQD,KAAR,EAAemG,KAAf,EAAsBpgF,cAAtB,EAAsCq4G,YAAY,CAACn+B,KAAD,EAAQkG,KAAR,EAAet5N,GAAG,CAACu1N,QAAnB,EAA6BgzB,SAA7B,CAAlD,EAA2FvoP,GAA3F,CAA1B;AACH;;AACD,SAAS42P,iBAAT,CAA2Bt9B,KAA3B,EAAkC29B,SAAlC,EAA6Cj3P,GAA7C,EAAkD;AAC9C,QAAM31E,MAAM,GAAGizS,gBAAgB,CAAC25B,SAAD,EAAY39B,KAAZ,CAA/B;AACA,QAAMlG,KAAK,GAAG4/B,yBAAyB,CAAChzP,GAAD,CAAvC,CAF8C,CAG9C;AACA;;AACA,QAAM8uP,eAAe,GAAGx1B,KAAK,CAAC5B,gBAAD,CAA7B;AACA,QAAM6jB,aAAa,GAAG8b,aAAa,CAAC/9B,KAAD,EAAQ43B,WAAW,CAAC53B,KAAD,EAAQlG,KAAR,EAAe,IAAf,EAAqBpzN,GAAG,CAACw1N,MAAJ,GAAa;AAAG;AAAhB,IAA8B;AAAG;AAAtD,IAAyEnrS,MAAzE,EAAiF4sU,SAAjF,EAA4FnI,eAA5F,EAA6GA,eAAe,CAAC9xB,cAAhB,CAA+B3yS,MAA/B,EAAuC21E,GAAvC,CAA7G,EAA0J,IAA1J,EAAgK,IAAhK,CAAnB,CAAnC,CAN8C,CAO9C;AACA;;AACAs5N,EAAAA,KAAK,CAAC29B,SAAS,CAAClwT,KAAX,CAAL,GAAyBw0S,aAAzB;AACH;;AACD,SAAS+b,wBAAT,CAAkCnkC,KAAlC,EAAyCmG,KAAzC,EAAgDp3X,IAAhD,EAAsD1M,KAAtD,EAA6DsjZ,SAA7D,EAAwEpwP,SAAxE,EAAmF;AAC/E,MAAIu5B,SAAJ,EAAe;AACX0uM,IAAAA,aAAa,CAACn7X,KAAD,EAAQ+yZ,SAAR,EAAmB,2CAAnB,CAAb;AACAtO,IAAAA,8BAA8B,CAAC/3Y,IAAD,CAA9B;AACAkjY,IAAAA,eAAe,CAACjS,KAAD,EAAQ;AAAE;AAAV,MAA0B,gCAA+BjxX,IAAK,0BAArC,GACnC,6DADU,CAAf;AAEH;;AACD,QAAMgoI,OAAO,GAAGozP,gBAAgB,CAACnK,KAAD,EAAQmG,KAAR,CAAhC;AACAi+B,EAAAA,qBAAqB,CAACj+B,KAAK,CAAC3B,QAAD,CAAN,EAAkBztP,OAAlB,EAA2Bwe,SAA3B,EAAsCyqO,KAAK,CAAC39X,KAA5C,EAAmD0M,IAAnD,EAAyD1M,KAAzD,EAAgEsjZ,SAAhE,CAArB;AACH;;AACD,SAASye,qBAAT,CAA+BpjY,QAA/B,EAAyC+1G,OAAzC,EAAkDwe,SAAlD,EAA6DnS,OAA7D,EAAsEr0I,IAAtE,EAA4E1M,KAA5E,EAAmFsjZ,SAAnF,EAA8F;AAC1F,MAAItjZ,KAAK,IAAI,IAAb,EAAmB;AACfysL,IAAAA,SAAS,IAAIA,SAAS,CAACyxM,uBAAV,EAAb;AACAoJ,IAAAA,oBAAoB,CAAC3oW,QAAD,CAApB,GAAiCA,QAAQ,CAACwnH,eAAT,CAAyBzR,OAAzB,EAAkChoI,IAAlC,EAAwCwmJ,SAAxC,CAAjC,GACIxe,OAAO,CAACyR,eAAR,CAAwBz5I,IAAxB,CADJ;AAEH,GAJD,MAKK;AACD+/K,IAAAA,SAAS,IAAIA,SAAS,CAACwxM,oBAAV,EAAb;AACA,UAAMjwN,QAAQ,GAAGs1O,SAAS,IAAI,IAAb,GAAoB5pB,eAAe,CAAC15X,KAAD,CAAnC,GAA6CsjZ,SAAS,CAACtjZ,KAAD,EAAQ+gJ,OAAO,IAAI,EAAnB,EAAuBr0I,IAAvB,CAAvE;;AACA,QAAI46X,oBAAoB,CAAC3oW,QAAD,CAAxB,EAAoC;AAChCA,MAAAA,QAAQ,CAACqiE,YAAT,CAAsB0zC,OAAtB,EAA+BhoI,IAA/B,EAAqCshK,QAArC,EAA+C9a,SAA/C;AACH,KAFD,MAGK;AACDA,MAAAA,SAAS,GAAGxe,OAAO,CAACmW,cAAR,CAAuBqI,SAAvB,EAAkCxmJ,IAAlC,EAAwCshK,QAAxC,CAAH,GACLt5B,OAAO,CAAC1zC,YAAR,CAAqBt0F,IAArB,EAA2BshK,QAA3B,CADJ;AAEH;AACJ;AACJ;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASqzP,kBAAT,CAA4Bv9B,KAA5B,EAAmCpgF,cAAnC,EAAmDx6Q,QAAnD,EAA6DshI,GAA7D,EAAkEmzN,KAAlE,EAAyEqkC,gBAAzE,EAA2F;AACvF,QAAM7L,aAAa,GAAG6L,gBAAgB,CAACt+G,cAAD,CAAtC;;AACA,MAAIyyG,aAAa,KAAK,IAAtB,EAA4B;AACxB,UAAMh2B,QAAQ,GAAG31N,GAAG,CAAC21N,QAArB;;AACA,SAAK,IAAIntY,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGmja,aAAa,CAACh2Z,MAAlC,GAA2C;AACvC,YAAMq+Q,UAAU,GAAG23I,aAAa,CAACnja,CAAC,EAAF,CAAhC;AACA,YAAMwzY,WAAW,GAAG2vB,aAAa,CAACnja,CAAC,EAAF,CAAjC;AACA,YAAMgN,KAAK,GAAGm2Z,aAAa,CAACnja,CAAC,EAAF,CAA3B;;AACA,UAAImtY,QAAQ,KAAK,IAAjB,EAAuB;AACnB31N,QAAAA,GAAG,CAAC21N,QAAJ,CAAaj3V,QAAb,EAAuBlpC,KAAvB,EAA8Bw+Q,UAA9B,EAA0CgoH,WAA1C;AACH,OAFD,MAGK;AACDt9V,QAAAA,QAAQ,CAACs9V,WAAD,CAAR,GAAwBxmY,KAAxB;AACH;;AACD,UAAIysL,SAAJ,EAAe;AACX,cAAM6Q,aAAa,GAAGwqM,gBAAgB,CAACnK,KAAD,EAAQmG,KAAR,CAAtC;AACAm8B,QAAAA,oBAAoB,CAACn8B,KAAD,EAAQxmM,aAAR,EAAuBqgM,KAAK,CAAC9nY,IAA7B,EAAmC2wY,WAAnC,EAAgDxmY,KAAhD,CAApB;AACH;AACJ;AACJ;AACJ;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASo/Z,qBAAT,CAA+B1zM,MAA/B,EAAuC45B,KAAvC,EAA8C;AAC1C,MAAI28K,aAAa,GAAG,IAApB;AACA,MAAIjva,CAAC,GAAG,CAAR;;AACA,SAAOA,CAAC,GAAGsyP,KAAK,CAACnlP,MAAjB,EAAyB;AACrB,UAAM20J,QAAQ,GAAGwwF,KAAK,CAACtyP,CAAD,CAAtB;;AACA,QAAI8hK,QAAQ,KAAK;AAAE;AAAnB,MAAuC;AACnC;AACA9hK,MAAAA,CAAC,IAAI,CAAL;AACA;AACH,KAJD,MAKK,IAAI8hK,QAAQ,KAAK;AAAE;AAAnB,MAAoC;AACrC;AACA9hK,MAAAA,CAAC,IAAI,CAAL;AACA;AACH,KAXoB,CAYrB;;;AACA,QAAI,OAAO8hK,QAAP,KAAoB,QAAxB,EACI;;AACJ,QAAI42D,MAAM,CAAC1nM,cAAP,CAAsB8wI,QAAtB,CAAJ,EAAqC;AACjC,UAAImtQ,aAAa,KAAK,IAAtB,EACIA,aAAa,GAAG,EAAhB;AACJA,MAAAA,aAAa,CAAC7qa,IAAd,CAAmB09J,QAAnB,EAA6B42D,MAAM,CAAC52D,QAAD,CAAnC,EAA+CwwF,KAAK,CAACtyP,CAAC,GAAG,CAAL,CAApD;AACH;;AACDA,IAAAA,CAAC,IAAI,CAAL;AACH;;AACD,SAAOiva,aAAP;AACH,EACD;AACA;AACA;AACA;;;AACA,MAAMC,eAAe,GAAG,MAAMC,UAAN,SAAyBtpa,KAAzB,CAA+B,EAAvD;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,SAASupa,gBAAT,CAA0BC,UAA1B,EAAsC11B,WAAtC,EAAmD93S,MAAnD,EAA2D8oS,KAA3D,EAAkE;AAC9DlxM,EAAAA,SAAS,IAAIo4M,WAAW,CAAC8H,WAAD,CAAxB;AACAlgN,EAAAA,SAAS,IAAI,CAAC66M,oBAAoB,CAACqF,WAAW,CAACxK,QAAD,CAAZ,CAAlC,IAA6D1G,aAAa,CAAC5mS,MAAD,CAA1E,CAF8D,CAG9D;;AACA,QAAM4zS,UAAU,GAAG,KAAKh8M,SAAS,GAAGy1O,eAAH,GAAqBrpa,KAAnC,EAA0Cwpa,UAA1C,EAAsD;AACzE,MADmB,EACb;AACN,OAFmB,EAEZ;AACP11B,EAAAA,WAHmB,EAGN;AACb,MAJmB,EAIb;AACN,GALmB,EAKhB;AACHhP,EAAAA,KANmB,EAMZ;AACP9oS,EAAAA,MAPmB,EAOX;AACR,MARmB,EAQb;AACN,MATmB,CAAnB;AAUA43F,EAAAA,SAAS,IACLsuM,WAAW,CAAC0N,UAAU,CAACtoY,MAAZ,EAAoBijY,uBAApB,EAA6C,gEAA7C,CADf;AAEA32M,EAAAA,SAAS,IAAI6rO,qBAAqB,CAAC7vB,UAAD,CAAlC;AACA,SAAOA,UAAP;AACH;AACD;AACA;AACA;AACA;;;AACA,SAAS+zB,oBAAT,CAA8B14B,KAA9B,EAAqC;AACjC,OAAK,IAAI2E,UAAU,GAAGqhB,kBAAkB,CAAChmB,KAAD,CAAxC,EAAiD2E,UAAU,KAAK,IAAhE,EAAsEA,UAAU,GAAGuhB,iBAAiB,CAACvhB,UAAD,CAApG,EAAkH;AAC9G,SAAK,IAAIz1Y,CAAC,GAAGowY,uBAAb,EAAsCpwY,CAAC,GAAGy1Y,UAAU,CAACtoY,MAArD,EAA6DnN,CAAC,EAA9D,EAAkE;AAC9D,YAAMsva,aAAa,GAAG75B,UAAU,CAACz1Y,CAAD,CAAhC;AACA,YAAMuva,aAAa,GAAGD,aAAa,CAAC7gC,KAAD,CAAnC;AACAh1M,MAAAA,SAAS,IAAI8uM,aAAa,CAACgnC,aAAD,EAAgB,yBAAhB,CAA1B;;AACA,UAAIn6B,4BAA4B,CAACk6B,aAAD,CAAhC,EAAiD;AAC7CjG,QAAAA,WAAW,CAACkG,aAAD,EAAgBD,aAAhB,EAA+BC,aAAa,CAACrtT,QAA7C,EAAuDotT,aAAa,CAACtgC,OAAD,CAApE,CAAX;AACH;AACJ;AACJ;AACJ;AACD;AACA;AACA;AACA;AACA;;;AACA,SAASu6B,+BAAT,CAAyCz4B,KAAzC,EAAgD;AAC5C,OAAK,IAAI2E,UAAU,GAAGqhB,kBAAkB,CAAChmB,KAAD,CAAxC,EAAiD2E,UAAU,KAAK,IAAhE,EAAsEA,UAAU,GAAGuhB,iBAAiB,CAACvhB,UAAD,CAApG,EAAkH;AAC9G,QAAI,CAACA,UAAU,CAACzF,sBAAD,CAAf,EACI;AACJ,UAAM+oB,UAAU,GAAGtjB,UAAU,CAACtF,WAAD,CAA7B;AACA12M,IAAAA,SAAS,IAAI8uM,aAAa,CAACwwB,UAAD,EAAa,qDAAb,CAA1B;;AACA,SAAK,IAAI/4Z,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAG+4Z,UAAU,CAAC5rZ,MAA/B,EAAuCnN,CAAC,EAAxC,EAA4C;AACxC,YAAMwva,UAAU,GAAGzW,UAAU,CAAC/4Z,CAAD,CAA7B;AACA,YAAMq5Z,mBAAmB,GAAGmW,UAAU,CAAC7gC,MAAD,CAAtC;AACAl1M,MAAAA,SAAS,IAAIk4M,gBAAgB,CAAC0nB,mBAAD,CAA7B,CAHwC,CAIxC;AACA;;AACA,UAAI,CAACmW,UAAU,CAAC9gC,KAAD,CAAV,GAAoB;AAAK;AAA1B,YAA6D,CAAjE,EAAoE;AAChE8G,QAAAA,2BAA2B,CAAC6jB,mBAAD,EAAsB,CAAtB,CAA3B;AACH,OARuC,CASxC;AACA;AACA;AACA;;;AACAmW,MAAAA,UAAU,CAAC9gC,KAAD,CAAV,IAAqB;AAAK;AAA1B;AACH;AACJ;AACJ,EACD;;AACA;AACA;AACA;AACA;AACA;;;AACA,SAAS65B,gBAAT,CAA0BD,SAA1B,EAAqCmH,gBAArC,EAAuD;AACnDh2O,EAAAA,SAAS,IAAIsuM,WAAW,CAACoN,cAAc,CAACmzB,SAAD,CAAf,EAA4B,KAA5B,EAAmC,8BAAnC,CAAxB;AACA,QAAMvV,aAAa,GAAG9d,wBAAwB,CAACw6B,gBAAD,EAAmBnH,SAAnB,CAA9C,CAFmD,CAGnD;;AACA,MAAIlzB,4BAA4B,CAAC2d,aAAD,CAAhC,EAAiD;AAC7C,UAAMnoB,KAAK,GAAGmoB,aAAa,CAACtkB,KAAD,CAA3B;;AACA,QAAIskB,aAAa,CAACrkB,KAAD,CAAb,IAAwB;AAAG;AAAH,MAAuB;AAAG;AAAlD,KAAJ,EAAoE;AAChE26B,MAAAA,WAAW,CAACz+B,KAAD,EAAQmoB,aAAR,EAAuBnoB,KAAK,CAAC1oR,QAA7B,EAAuC6wS,aAAa,CAAC/jB,OAAD,CAApD,CAAX;AACH,KAFD,MAGK,IAAI+jB,aAAa,CAAClkB,6BAAD,CAAb,GAA+C,CAAnD,EAAsD;AACvD;AACA6gC,MAAAA,wBAAwB,CAAC3c,aAAD,CAAxB;AACH;AACJ;AACJ;AACD;AACA;AACA;AACA;AACA;AACA;;;AACA,SAAS2c,wBAAT,CAAkC5+B,KAAlC,EAAyC;AACrC,OAAK,IAAI2E,UAAU,GAAGqhB,kBAAkB,CAAChmB,KAAD,CAAxC,EAAiD2E,UAAU,KAAK,IAAhE,EAAsEA,UAAU,GAAGuhB,iBAAiB,CAACvhB,UAAD,CAApG,EAAkH;AAC9G,SAAK,IAAIz1Y,CAAC,GAAGowY,uBAAb,EAAsCpwY,CAAC,GAAGy1Y,UAAU,CAACtoY,MAArD,EAA6DnN,CAAC,EAA9D,EAAkE;AAC9D,YAAMsva,aAAa,GAAG75B,UAAU,CAACz1Y,CAAD,CAAhC;;AACA,UAAIsva,aAAa,CAAC5gC,KAAD,CAAb,GAAuB;AAAK;AAAhC,QAA+D;AAC3D,cAAM6gC,aAAa,GAAGD,aAAa,CAAC7gC,KAAD,CAAnC;AACAh1M,QAAAA,SAAS,IAAI8uM,aAAa,CAACgnC,aAAD,EAAgB,yBAAhB,CAA1B;AACAlG,QAAAA,WAAW,CAACkG,aAAD,EAAgBD,aAAhB,EAA+BC,aAAa,CAACrtT,QAA7C,EAAuDotT,aAAa,CAACtgC,OAAD,CAApE,CAAX;AACH,OAJD,MAKK,IAAIsgC,aAAa,CAACzgC,6BAAD,CAAb,GAA+C,CAAnD,EAAsD;AACvD6gC,QAAAA,wBAAwB,CAACJ,aAAD,CAAxB;AACH;AACJ;AACJ;;AACD,QAAM1kC,KAAK,GAAGkG,KAAK,CAACrC,KAAD,CAAnB,CAdqC,CAerC;;AACA,QAAMp5C,UAAU,GAAGu1C,KAAK,CAACv1C,UAAzB;;AACA,MAAIA,UAAU,KAAK,IAAnB,EAAyB;AACrB,SAAK,IAAIr1V,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGq1V,UAAU,CAACloV,MAA/B,EAAuCnN,CAAC,EAAxC,EAA4C;AACxC,YAAM+yZ,aAAa,GAAG9d,wBAAwB,CAAC5/C,UAAU,CAACr1V,CAAD,CAAX,EAAgB8wY,KAAhB,CAA9C,CADwC,CAExC;;AACA,UAAIsE,4BAA4B,CAAC2d,aAAD,CAA5B,IACAA,aAAa,CAAClkB,6BAAD,CAAb,GAA+C,CADnD,EACsD;AAClD6gC,QAAAA,wBAAwB,CAAC3c,aAAD,CAAxB;AACH;AACJ;AACJ;AACJ;;AACD,SAAS0V,iBAAT,CAA2BH,SAA3B,EAAsCmH,gBAAtC,EAAwD;AACpDh2O,EAAAA,SAAS,IAAIsuM,WAAW,CAACoN,cAAc,CAACmzB,SAAD,CAAf,EAA4B,IAA5B,EAAkC,gCAAlC,CAAxB;AACA,QAAMvV,aAAa,GAAG9d,wBAAwB,CAACw6B,gBAAD,EAAmBnH,SAAnB,CAA9C;AACA,QAAMqH,cAAc,GAAG5c,aAAa,CAACtkB,KAAD,CAApC;AACAmhC,EAAAA,qBAAqB,CAACD,cAAD,EAAiB5c,aAAjB,CAArB;AACAxmU,EAAAA,UAAU,CAACojV,cAAD,EAAiB5c,aAAjB,EAAgCA,aAAa,CAAC/jB,OAAD,CAA7C,CAAV;AACH;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;;;AACA,SAAS4gC,qBAAT,CAA+BhlC,KAA/B,EAAsCkG,KAAtC,EAA6C;AACzC,OAAK,IAAI9wY,CAAC,GAAG8wY,KAAK,CAAC3jY,MAAnB,EAA2BnN,CAAC,GAAG4qY,KAAK,CAACoU,SAAN,CAAgB7xY,MAA/C,EAAuDnN,CAAC,EAAxD,EAA4D;AACxD8wY,IAAAA,KAAK,CAAC1sY,IAAN,CAAWwmY,KAAK,CAACoU,SAAN,CAAgBh/Y,CAAhB,CAAX;AACH;AACJ;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAAS6ua,aAAT,CAAuB/9B,KAAvB,EAA8BunB,iBAA9B,EAAiD;AAC7C;AACA;AACA;AACA;AACA,MAAIvnB,KAAK,CAACzB,UAAD,CAAT,EAAuB;AACnByB,IAAAA,KAAK,CAACxB,UAAD,CAAL,CAAkBV,IAAlB,IAA0BypB,iBAA1B;AACH,GAFD,MAGK;AACDvnB,IAAAA,KAAK,CAACzB,UAAD,CAAL,GAAoBgpB,iBAApB;AACH;;AACDvnB,EAAAA,KAAK,CAACxB,UAAD,CAAL,GAAoB+oB,iBAApB;AACA,SAAOA,iBAAP;AACH,EACD;AACA;AACA;;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASwX,aAAT,CAAuB/+B,KAAvB,EAA8B;AAC1B,SAAOA,KAAP,EAAc;AACVA,IAAAA,KAAK,CAACpC,KAAD,CAAL,IAAgB;AAAG;AAAnB;AACA,UAAM/rY,MAAM,GAAG6zZ,cAAc,CAAC1lB,KAAD,CAA7B,CAFU,CAGV;;AACA,QAAIF,UAAU,CAACE,KAAD,CAAV,IAAqB,CAACnuY,MAA1B,EAAkC;AAC9B,aAAOmuY,KAAP;AACH,KANS,CAOV;;;AACAA,IAAAA,KAAK,GAAGnuY,MAAR;AACH;;AACD,SAAO,IAAP;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASmta,YAAT,CAAsBt7C,WAAtB,EAAmClmO,KAAnC,EAA0C;AACtC,QAAMyhR,gBAAgB,GAAGv7C,WAAW,CAAClmO,KAAZ,KAAsB;AAAE;AAAjD;;AACA,MAAIyhR,gBAAgB,IAAIv7C,WAAW,CAACw7C,KAAZ,IAAqBpI,cAA7C,EAA6D;AACzD;AACA;AACApzC,IAAAA,WAAW,CAAClmO,KAAZ,IAAqBA,KAArB;AACA,QAAIw9E,GAAJ;AACA0oJ,IAAAA,WAAW,CAACw7C,KAAZ,GAAoB,IAAIrra,OAAJ,CAAapF,CAAD,IAAOusO,GAAG,GAAGvsO,CAAzB,CAApB;AACAi1X,IAAAA,WAAW,CAACr5R,SAAZ,CAAsB,MAAM;AACxB,UAAIq5R,WAAW,CAAClmO,KAAZ,GAAoB;AAAE;AAA1B,QAA+C;AAC3CkmO,QAAAA,WAAW,CAAClmO,KAAZ,IAAqB,CAAC;AAAE;AAAxB;AACA2hR,QAAAA,eAAe,CAACz7C,WAAD,CAAf;AACH;;AACD,UAAIA,WAAW,CAAClmO,KAAZ,GAAoB;AAAE;AAA1B,QAA8C;AAC1CkmO,QAAAA,WAAW,CAAClmO,KAAZ,IAAqB,CAAC;AAAE;AAAxB;AACA,cAAM4hR,aAAa,GAAG17C,WAAW,CAAC07C,aAAlC;;AACA,YAAIA,aAAJ,EAAmB;AACfA,UAAAA,aAAa,CAACC,YAAd;AACH;AACJ;;AACD37C,MAAAA,WAAW,CAACw7C,KAAZ,GAAoBpI,cAApB;AACA97L,MAAAA,GAAG,CAAC,IAAD,CAAH;AACH,KAdD;AAeH;AACJ;;AACD,SAASmkM,eAAT,CAAyBz7C,WAAzB,EAAsC;AAClC,OAAK,IAAIx0X,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGw0X,WAAW,CAACn/B,UAAZ,CAAuBloV,MAA3C,EAAmDnN,CAAC,EAApD,EAAwD;AACpD,UAAMizZ,aAAa,GAAGz+B,WAAW,CAACn/B,UAAZ,CAAuBr1V,CAAvB,CAAtB;AACA,UAAM8wY,KAAK,GAAG6hB,gBAAgB,CAACM,aAAD,CAA9B;AACA,UAAMroB,KAAK,GAAGkG,KAAK,CAACrC,KAAD,CAAnB;AACAg7B,IAAAA,yBAAyB,CAAC7+B,KAAD,EAAQkG,KAAR,EAAelG,KAAK,CAAC1oR,QAArB,EAA+B+wS,aAA/B,CAAzB;AACH;AACJ;;AACD,SAASmd,qBAAT,CAA+BxlC,KAA/B,EAAsCkG,KAAtC,EAA6CrtY,OAA7C,EAAsD;AAClD,QAAM6ia,eAAe,GAAGx1B,KAAK,CAAC5B,gBAAD,CAA7B;AACA,MAAIo3B,eAAe,CAAChqU,KAApB,EACIgqU,eAAe,CAAChqU,KAAhB;;AACJ,MAAI;AACA+sU,IAAAA,WAAW,CAACz+B,KAAD,EAAQkG,KAAR,EAAelG,KAAK,CAAC1oR,QAArB,EAA+Bz+G,OAA/B,CAAX;AACH,GAFD,CAGA,OAAOV,KAAP,EAAc;AACVs6S,IAAAA,WAAW,CAACyzF,KAAD,EAAQ/tY,KAAR,CAAX;AACA,UAAMA,KAAN;AACH,GAND,SAOQ;AACJ,QAAIuja,eAAe,CAAC1zV,GAApB,EACI0zV,eAAe,CAAC1zV,GAAhB;AACP;AACJ;AACD;AACA;AACA;AACA;AACA;;;AACA,SAASy9V,uBAAT,CAAiCv/B,KAAjC,EAAwC;AACpCm/B,EAAAA,eAAe,CAACn/B,KAAK,CAAC9B,OAAD,CAAN,CAAf;AACH;;AACD,SAASshC,sBAAT,CAAgC1lC,KAAhC,EAAuC9kT,IAAvC,EAA6CriF,OAA7C,EAAsD;AAClD8zY,EAAAA,yBAAyB,CAAC,IAAD,CAAzB;;AACA,MAAI;AACA64B,IAAAA,qBAAqB,CAACxlC,KAAD,EAAQ9kT,IAAR,EAAcriF,OAAd,CAArB;AACH,GAFD,SAGQ;AACJ8zY,IAAAA,yBAAyB,CAAC,KAAD,CAAzB;AACH;AACJ;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASg5B,wBAAT,CAAkCz/B,KAAlC,EAAyC;AACrCyG,EAAAA,yBAAyB,CAAC,IAAD,CAAzB;;AACA,MAAI;AACA84B,IAAAA,uBAAuB,CAACv/B,KAAD,CAAvB;AACH,GAFD,SAGQ;AACJyG,IAAAA,yBAAyB,CAAC,KAAD,CAAzB;AACH;AACJ;;AACD,SAAS2xB,kBAAT,CAA4B56Q,KAA5B,EAAmCkiR,WAAnC,EAAgDlqU,SAAhD,EAA2D;AACvDmzF,EAAAA,SAAS,IAAI8uM,aAAa,CAACioC,WAAD,EAAc,mDAAd,CAA1B;AACAh4B,EAAAA,oBAAoB,CAAC,CAAD,CAApB;AACAg4B,EAAAA,WAAW,CAACliR,KAAD,EAAQhoD,SAAR,CAAX;AACH,EACD;AACA;AACA;;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASmqU,4BAAT,CAAsCn4B,KAAtC,EAA6C3N,KAA7C,EAAoDhhU,YAApD,EAAkE2wS,YAAlE,EAAgF,GAAGo2D,kBAAnF,EAAuG;AACnG;AACA;AACA;AACA,MAAIp4B,KAAK,CAACh+B,YAAD,CAAL,KAAwB,IAA5B,EAAkC;AAC9B,QAAIqwB,KAAK,CAACjyK,MAAN,IAAgB,IAAhB,IAAwB,CAACiyK,KAAK,CAACjyK,MAAN,CAAa/uJ,YAAb,CAA7B,EAAyD;AACrD,YAAMgnW,eAAe,GAAGhmC,KAAK,CAACpkD,gBAAN,KAA2BokD,KAAK,CAACpkD,gBAAN,GAAyB,EAApD,CAAxB;AACAoqF,MAAAA,eAAe,CAACvsa,IAAhB,CAAqBk2W,YAArB;AACA,UAAIs2D,eAAe,GAAGjnW,YAAtB;;AACA,UAAI+mW,kBAAkB,CAACvja,MAAnB,GAA4B,CAAhC,EAAmC;AAC/Byja,QAAAA,eAAe,IACXtb,uBAAuB,GAAGob,kBAAkB,CAAC5qZ,IAAnB,CAAwBwvY,uBAAxB,CAD9B;AAEH;;AACDhd,MAAAA,KAAK,CAACh+B,YAAD,CAAL,GAAsBs2D,eAAtB;AACH;AACJ;AACJ;;AACD,MAAMC,aAAa,GAAGjJ,cAAtB;;AACA,SAAS2D,uBAAT,CAAiCzlV,IAAjC,EAAuC;AACnC;AACA,SAAOA,IAAI,CAACipT,OAAD,CAAJ,KAAkBjpT,IAAI,CAACipT,OAAD,CAAJ,GAAgBt1M,SAAS,GAAG,IAAIyrO,QAAJ,EAAH,GAAoB,EAA/D,CAAP;AACH;;AACD,SAASsG,uBAAT,CAAiC5gC,KAAjC,EAAwC;AACpC,SAAOA,KAAK,CAACh+I,OAAN,KAAkBg+I,KAAK,CAACh+I,OAAN,GAAgBnzD,SAAS,GAAG,IAAI0rO,QAAJ,EAAH,GAAoB,EAA/D,CAAP;AACH;AACD;AACA;AACA;AACA;;;AACA,SAAS2L,qBAAT,CAA+BC,UAA/B,EAA2CpmC,KAA3C,EAAkDmG,KAAlD,EAAyD;AACrD;AACA;AACA;AACA;AACA;AACA;AACA,MAAIigC,UAAU,KAAK,IAAf,IAAuBpgC,cAAc,CAACogC,UAAD,CAAzC,EAAuD;AACnDjgC,IAAAA,KAAK,GAAG6D,WAAW,CAAC7D,KAAK,CAACnG,KAAK,CAACpsR,KAAP,CAAN,CAAnB;AACH;;AACD,SAAOuyR,KAAK,CAAC3B,QAAD,CAAZ;AACH;AACD;;;AACA,SAAS9xF,WAAT,CAAqByzF,KAArB,EAA4B/tY,KAA5B,EAAmC;AAC/B,QAAMozN,QAAQ,GAAG26K,KAAK,CAAC7B,UAAD,CAAtB;AACA,QAAM+hC,YAAY,GAAG76M,QAAQ,GAAGA,QAAQ,CAAC/8M,GAAT,CAAam7Y,YAAb,EAA2B,IAA3B,CAAH,GAAsC,IAAnE;AACAyc,EAAAA,YAAY,IAAIA,YAAY,CAAC3zH,WAAb,CAAyBt6S,KAAzB,CAAhB;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAAS2pa,oBAAT,CAA8B9hC,KAA9B,EAAqCkG,KAArC,EAA4Cp4K,MAA5C,EAAoD8yD,UAApD,EAAgEx+Q,KAAhE,EAAuE;AACnE,OAAK,IAAIhN,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAG04N,MAAM,CAACvrN,MAA3B,GAAoC;AAChC,UAAMoxG,KAAK,GAAGm6G,MAAM,CAAC14N,CAAC,EAAF,CAApB;AACA,UAAMwzY,WAAW,GAAG96K,MAAM,CAAC14N,CAAC,EAAF,CAA1B;AACA,UAAMk2C,QAAQ,GAAG46V,KAAK,CAACvyR,KAAD,CAAtB;AACAk7E,IAAAA,SAAS,IAAIivM,kBAAkB,CAACoI,KAAD,EAAQvyR,KAAR,CAA/B;AACA,UAAMi5D,GAAG,GAAGozN,KAAK,CAACpnY,IAAN,CAAW+6G,KAAX,CAAZ;;AACA,QAAIi5D,GAAG,CAAC21N,QAAJ,KAAiB,IAArB,EAA2B;AACvB31N,MAAAA,GAAG,CAAC21N,QAAJ,CAAaj3V,QAAb,EAAuBlpC,KAAvB,EAA8Bw+Q,UAA9B,EAA0CgoH,WAA1C;AACH,KAFD,MAGK;AACDt9V,MAAAA,QAAQ,CAACs9V,WAAD,CAAR,GAAwBxmY,KAAxB;AACH;AACJ;AACJ;AACD;AACA;AACA;;;AACA,SAASika,mBAAT,CAA6BngC,KAA7B,EAAoCvyR,KAApC,EAA2CvxG,KAA3C,EAAkD;AAC9CysL,EAAAA,SAAS,IAAIouM,YAAY,CAAC76X,KAAD,EAAQ,0BAAR,CAAzB;AACAysL,EAAAA,SAAS,IAAI0uM,aAAa,CAACn7X,KAAD,EAAQ+yZ,SAAR,EAAmB,+BAAnB,CAA1B;AACAtmO,EAAAA,SAAS,IAAIivM,kBAAkB,CAACoI,KAAD,EAAQvyR,KAAR,CAA/B;AACA,QAAMmjC,OAAO,GAAGmzP,gBAAgB,CAACt2R,KAAD,EAAQuyR,KAAR,CAAhC;AACAr3M,EAAAA,SAAS,IAAI8uM,aAAa,CAAC7mP,OAAD,EAAU,6BAAV,CAA1B;AACAk2Q,EAAAA,cAAc,CAAC9mB,KAAK,CAAC3B,QAAD,CAAN,EAAkBztP,OAAlB,EAA2B10I,KAA3B,CAAd;AACH;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASkka,oBAAT,CAA8BvmC,KAA9B,EAAqCr4I,KAArC,EAA4C6+K,WAA5C,EAAyD;AACrD13O,EAAAA,SAAS,IACLq4M,qBAAqB,CAAC4E,QAAQ,EAAT,EAAa,oDAAb,CADzB;AAEA,MAAI9yQ,MAAM,GAAGutS,WAAW,GAAGxmC,KAAK,CAAC/mQ,MAAT,GAAkB,IAA1C;AACA,MAAIl+D,OAAO,GAAGyrW,WAAW,GAAGxmC,KAAK,CAACjlU,OAAT,GAAmB,IAA5C;AACA,MAAIh6B,IAAI,GAAG,CAAX;;AACA,MAAI4mN,KAAK,KAAK,IAAd,EAAoB;AAChB,SAAK,IAAItyP,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGsyP,KAAK,CAACnlP,MAA1B,EAAkCnN,CAAC,EAAnC,EAAuC;AACnC,YAAMgN,KAAK,GAAGslP,KAAK,CAACtyP,CAAD,CAAnB;;AACA,UAAI,OAAOgN,KAAP,KAAiB,QAArB,EAA+B;AAC3B0+B,QAAAA,IAAI,GAAG1+B,KAAP;AACH,OAFD,MAGK,IAAI0+B,IAAI,IAAI;AAAE;AAAd,QAA6B;AAC9Bg6B,QAAAA,OAAO,GAAGugU,sBAAsB,CAACvgU,OAAD,EAAU14D,KAAV,CAAhC;AACH,OAFI,MAGA,IAAI0+B,IAAI,IAAI;AAAE;AAAd,QAA4B;AAC7B,cAAMvpC,KAAK,GAAG6K,KAAd;AACA,cAAMoka,UAAU,GAAG9+K,KAAK,CAAC,EAAEtyP,CAAH,CAAxB;AACA4jI,QAAAA,MAAM,GAAGqiQ,sBAAsB,CAACriQ,MAAD,EAASzhI,KAAK,GAAG,IAAR,GAAeiva,UAAf,GAA4B,GAArC,CAA/B;AACH;AACJ;AACJ;;AACDD,EAAAA,WAAW,GAAGxmC,KAAK,CAAC/mQ,MAAN,GAAeA,MAAlB,GAA2B+mQ,KAAK,CAAC04B,iBAAN,GAA0Bz/R,MAAhE;AACAutS,EAAAA,WAAW,GAAGxmC,KAAK,CAACjlU,OAAN,GAAgBA,OAAnB,GAA6BilU,KAAK,CAAC44B,kBAAN,GAA2B79V,OAAnE;AACH;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASqyJ,aAAT,CAAuBzxH,SAAvB,EAAkC;AAC9B,QAAMxgB,IAAI,GAAG0sU,0BAA0B,CAAClsT,SAAD,CAAvC;AACA8pU,EAAAA,qBAAqB,CAACtqV,IAAI,CAAC2oT,KAAD,CAAL,EAAc3oT,IAAd,EAAoBwgB,SAApB,CAArB;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAAS+qU,SAAT,CAAmB/qU,SAAnB,EAA8B;AAC1BmzF,EAAAA,SAAS,IAAI8uM,aAAa,CAACjiS,SAAD,EAAY,WAAZ,CAA1B;AACA,QAAMuwT,QAAQ,GAAGgZ,aAAa,CAACrd,0BAA0B,CAAClsT,SAAD,CAA3B,CAA9B;AACAmzF,EAAAA,SAAS,IAAI8uM,aAAa,CAACsuB,QAAQ,CAAC7nB,OAAD,CAAT,EAAoB,+BAApB,CAA1B;AACA8gC,EAAAA,YAAY,CAACjZ,QAAQ,CAAC7nB,OAAD,CAAT,EAAoB;AAAE;AAAtB,GAAZ;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASsiC,IAAT,CAAchrU,SAAd,EAAyB;AACrB,QAAMuwT,QAAQ,GAAGJ,WAAW,CAACnwT,SAAD,CAA5B;AACA,QAAMkuR,WAAW,GAAGqiC,QAAQ,CAAC7nB,OAAD,CAA5B;AACAihC,EAAAA,eAAe,CAACz7C,WAAD,CAAf;AACH;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,MAAM5vF,QAAQ,GAAG,IAAI/nG,cAAJ,CAAmB,UAAnB,EACjB;AACA;AACA,CAAC;AAAE;AAHc,CAAjB;AAKA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,MAAM00O,YAAN,CAAmB;AACfn4Z,EAAAA,GAAG,CAACtS,KAAD,EAAQiyN,aAAa,GAAGgvL,kBAAxB,EAA4C;AAC3C,QAAIhvL,aAAa,KAAKgvL,kBAAtB,EAA0C;AACtC,YAAMhlZ,KAAK,GAAG,IAAI6X,KAAJ,CAAW,sCAAqCoL,SAAS,CAAClf,KAAD,CAAQ,GAAjE,CAAd;AACA/D,MAAAA,KAAK,CAAC2W,IAAN,GAAa,mBAAb;AACA,YAAM3W,KAAN;AACH;;AACD,WAAOg2N,aAAP;AACH;;AARc;AAWnB;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;AACA;AACA;AACA;;;AACA,MAAMy4M,cAAc,GAAG,IAAI30O,cAAJ,CAAmB,qBAAnB,CAAvB;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;AACA;;AACA,MAAM40O,OAAO,GAAG,EAAhB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,MAAMC,UAAU,GAAG,EAAnB;AACA;AACA;AACA;;AACA,IAAIC,eAAe,GAAG9jQ,SAAtB;;AACA,SAAS+jQ,eAAT,GAA2B;AACvB,MAAID,eAAe,KAAK9jQ,SAAxB,EAAmC;AAC/B8jQ,IAAAA,eAAe,GAAG,IAAIJ,YAAJ,EAAlB;AACH;;AACD,SAAOI,eAAP;AACH;AACD;AACA;AACA;AACA;AACA;;;AACA,SAASE,gBAAT,CAA0BC,OAA1B,EAAmCnva,MAAM,GAAG,IAA5C,EAAkDova,mBAAmB,GAAG,IAAxE,EAA8Er4Z,IAA9E,EAAoF;AAChF,QAAMy8M,QAAQ,GAAG67M,sCAAsC,CAACF,OAAD,EAAUnva,MAAV,EAAkBova,mBAAlB,EAAuCr4Z,IAAvC,CAAvD;;AACAy8M,EAAAA,QAAQ,CAAC87M,wBAAT;;AACA,SAAO97M,QAAP;AACH;AACD;AACA;AACA;AACA;AACA;;;AACA,SAAS67M,sCAAT,CAAgDF,OAAhD,EAAyDnva,MAAM,GAAG,IAAlE,EAAwEova,mBAAmB,GAAG,IAA9F,EAAoGr4Z,IAApG,EAA0G;AACtG,SAAO,IAAIw4Z,UAAJ,CAAeJ,OAAf,EAAwBC,mBAAxB,EAA6Cpva,MAAM,IAAIiva,eAAe,EAAtE,EAA0El4Z,IAA1E,CAAP;AACH;;AACD,MAAMw4Z,UAAN,CAAiB;AACbnwa,EAAAA,WAAW,CAACy1K,GAAD,EAAMu6P,mBAAN,EAA2Bpva,MAA3B,EAAmCgH,MAAM,GAAG,IAA5C,EAAkD;AACzD,SAAKhH,MAAL,GAAcA,MAAd;AACA;AACR;AACA;AACA;AACA;;AACQ,SAAKwva,OAAL,GAAe,IAAIlga,GAAJ,EAAf;AACA;AACR;AACA;;AACQ,SAAKmga,gBAAL,GAAwB,IAAIlma,GAAJ,EAAxB;AACA;AACR;AACA;;AACQ,SAAKohK,SAAL,GAAiB,IAAIphK,GAAJ,EAAjB;AACA,SAAKuqL,UAAL,GAAkB,KAAlB;AACA,UAAM47O,UAAU,GAAG,EAAnB,CAjByD,CAkBzD;AACA;AACA;;AACAN,IAAAA,mBAAmB,IACfptB,WAAW,CAACotB,mBAAD,EAAsB97H,QAAQ,IAAI,KAAKq8H,eAAL,CAAqBr8H,QAArB,EAA+Bz+H,GAA/B,EAAoCu6P,mBAApC,CAAlC,CADf;AAEAptB,IAAAA,WAAW,CAAC,CAACntO,GAAD,CAAD,EAAQ+6P,WAAW,IAAI,KAAKC,mBAAL,CAAyBD,WAAzB,EAAsC,EAAtC,EAA0CF,UAA1C,CAAvB,CAAX,CAvByD,CAwBzD;;AACA,SAAKF,OAAL,CAAanta,GAAb,CAAiB4/R,QAAjB,EAA2B6tI,UAAU,CAAC5kQ,SAAD,EAAY,IAAZ,CAArC,EAzByD,CA0BzD;AACA;;AACA,UAAM8nC,MAAM,GAAG,KAAKw8N,OAAL,CAAa/4Z,GAAb,CAAiBo4Z,cAAjB,CAAf;AACA,SAAKjzF,KAAL,GAAa5oI,MAAM,IAAI,IAAV,GAAiBA,MAAM,CAAC3oM,KAAxB,GAAgC,IAA7C,CA7ByD,CA8BzD;;AACA,SAAKrD,MAAL,GAAcA,MAAM,KAAK,OAAO6tK,GAAP,KAAe,QAAf,GAA0B,IAA1B,GAAiCxxJ,SAAS,CAACwxJ,GAAD,CAA/C,CAApB;AACH;AACD;AACJ;AACA;;;AACiB,MAAT7/H,SAAS,GAAG;AACZ,WAAO,KAAK8+I,UAAZ;AACH;AACD;AACJ;AACA;AACA;AACA;AACA;;;AACI/yL,EAAAA,OAAO,GAAG;AACN,SAAKgva,kBAAL,GADM,CAEN;;AACA,SAAKj8O,UAAL,GAAkB,IAAlB;;AACA,QAAI;AACA;AACA,WAAKnpB,SAAL,CAAerpK,OAAf,CAAuB6sC,OAAO,IAAIA,OAAO,CAACqwJ,WAAR,EAAlC;AACH,KAHD,SAIQ;AACJ;AACA,WAAKgxO,OAAL,CAAaj5Z,KAAb;AACA,WAAKo0J,SAAL,CAAep0J,KAAf;AACA,WAAKk5Z,gBAAL,CAAsBl5Z,KAAtB;AACH;AACJ;;AACDE,EAAAA,GAAG,CAACtS,KAAD,EAAQiyN,aAAa,GAAGgvL,kBAAxB,EAA4Cz5P,KAAK,GAAGo7O,WAAW,CAAC7yI,OAAhE,EAAyE;AACxE,SAAK67K,kBAAL,GADwE,CAExE;;AACA,UAAMC,gBAAgB,GAAGnqB,kBAAkB,CAAC,IAAD,CAA3C;AACA,UAAMxI,4BAA4B,GAAGnW,uBAAuB,CAACh8N,SAAD,CAA5D;;AACA,QAAI;AACA;AACA,UAAI,EAAEvf,KAAK,GAAGo7O,WAAW,CAACrwK,QAAtB,CAAJ,EAAqC;AACjC;AACA,YAAI1jB,MAAM,GAAG,KAAKw8N,OAAL,CAAa/4Z,GAAb,CAAiBtS,KAAjB,CAAb;;AACA,YAAI6uM,MAAM,KAAK9nC,SAAf,EAA0B;AACtB;AACA;AACA,gBAAM2J,GAAG,GAAGo7P,qBAAqB,CAAC9ra,KAAD,CAArB,IAAgCkiY,gBAAgB,CAACliY,KAAD,CAA5D;;AACA,cAAI0wK,GAAG,IAAI,KAAKq7P,oBAAL,CAA0Br7P,GAA1B,CAAX,EAA2C;AACvC;AACA;AACAm+B,YAAAA,MAAM,GAAG88N,UAAU,CAACK,iCAAiC,CAAChsa,KAAD,CAAlC,EAA2C2qa,OAA3C,CAAnB;AACH,WAJD,MAKK;AACD97N,YAAAA,MAAM,GAAG,IAAT;AACH;;AACD,eAAKw8N,OAAL,CAAanta,GAAb,CAAiB8B,KAAjB,EAAwB6uM,MAAxB;AACH,SAhBgC,CAiBjC;;;AACA,YAAIA,MAAM,IAAI;AAAK;AAAnB,UAAgD;AAC5C,iBAAO,KAAKo9N,OAAL,CAAajsa,KAAb,EAAoB6uM,MAApB,CAAP;AACH;AACJ,OAvBD,CAwBA;AACA;;;AACA,YAAMq9N,YAAY,GAAG,EAAE1kR,KAAK,GAAGo7O,WAAW,CAACoW,IAAtB,IAA8B,KAAKn9Y,MAAnC,GAA4Civa,eAAe,EAAhF,CA1BA,CA2BA;AACA;;AACA74M,MAAAA,aAAa,GAAIzqE,KAAK,GAAGo7O,WAAW,CAAC5sM,QAArB,IAAkCi8B,aAAa,KAAKgvL,kBAApD,GACZ,IADY,GAEZhvL,aAFJ;AAGA,aAAOi6M,YAAY,CAAC55Z,GAAb,CAAiBtS,KAAjB,EAAwBiyN,aAAxB,CAAP;AACH,KAjCD,CAkCA,OAAOz5N,CAAP,EAAU;AACN,UAAIA,CAAC,CAACoa,IAAF,KAAW,mBAAf,EAAoC;AAChC,cAAMqL,IAAI,GAAGzlB,CAAC,CAAC2oZ,kBAAD,CAAD,GAAwB3oZ,CAAC,CAAC2oZ,kBAAD,CAAD,IAAyB,EAA9D;AACAljY,QAAAA,IAAI,CAACmc,OAAL,CAAalb,SAAS,CAAClf,KAAD,CAAtB;;AACA,YAAI6ra,gBAAJ,EAAsB;AAClB;AACA,gBAAMrza,CAAN;AACH,SAHD,MAIK;AACD;AACA,iBAAO0pZ,kBAAkB,CAAC1pZ,CAAD,EAAIwH,KAAJ,EAAW,iBAAX,EAA8B,KAAK6C,MAAnC,CAAzB;AACH;AACJ,OAXD,MAYK;AACD,cAAMrK,CAAN;AACH;AACJ,KAlDD,SAmDQ;AACJ;AACAuqY,MAAAA,uBAAuB,CAACmW,4BAAD,CAAvB;AACAwI,MAAAA,kBAAkB,CAACmqB,gBAAD,CAAlB;AACH;AACJ;AACD;;;AACAV,EAAAA,wBAAwB,GAAG;AACvB,SAAKG,gBAAL,CAAsBnua,OAAtB,CAA8B6ta,OAAO,IAAI,KAAK14Z,GAAL,CAAS04Z,OAAT,CAAzC;AACH;;AACDtva,EAAAA,QAAQ,GAAG;AACP,UAAMk1L,MAAM,GAAG,EAAf;AAAA,UAAmBy6O,OAAO,GAAG,KAAKA,OAAlC;AACAA,IAAAA,OAAO,CAAClua,OAAR,CAAgB,CAACpC,CAAD,EAAIiF,KAAJ,KAAc4wL,MAAM,CAACtzL,IAAP,CAAY4hB,SAAS,CAAClf,KAAD,CAArB,CAA9B;AACA,WAAQ,cAAa4wL,MAAM,CAAC5xK,IAAP,CAAY,IAAZ,CAAkB,GAAvC;AACH;;AACD4sZ,EAAAA,kBAAkB,GAAG;AACjB,QAAI,KAAKj8O,UAAT,EAAqB;AACjB,YAAM,IAAI77K,KAAJ,CAAU,sCAAV,CAAN;AACH;AACJ;AACD;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACI43Z,EAAAA,mBAAmB,CAACS,eAAD,EAAkBC,OAAlB,EAA2Bb,UAA3B,EAAuC;AACtDY,IAAAA,eAAe,GAAGjgK,iBAAiB,CAACigK,eAAD,CAAnC;AACA,QAAI,CAACA,eAAL,EACI,OAAO,KAAP,CAHkD,CAItD;AACA;AACA;AACA;;AACA,QAAIz7P,GAAG,GAAG6xN,cAAc,CAAC4pC,eAAD,CAAxB,CARsD,CAStD;;AACA,UAAMhjL,QAAQ,GAAIz4E,GAAG,IAAI,IAAR,IAAiBy7P,eAAe,CAAChjL,QAAjC,IAA6CpiF,SAA9D,CAVsD,CAWtD;AACA;AACA;;AACA,UAAMikQ,OAAO,GAAI7hL,QAAQ,KAAKpiF,SAAd,GAA2BolQ,eAA3B,GAA6ChjL,QAA7D,CAdsD,CAetD;;AACA,QAAIx2D,SAAS,IAAIy5O,OAAO,CAACnia,OAAR,CAAgB+ga,OAAhB,MAA6B,CAAC,CAA/C,EAAkD;AAC9C,YAAMqB,OAAO,GAAGntZ,SAAS,CAAC8rZ,OAAD,CAAzB;AACA,YAAM/sZ,IAAI,GAAGmuZ,OAAO,CAACrua,GAAR,CAAYmhB,SAAZ,CAAb;AACA4gX,MAAAA,0BAA0B,CAACusC,OAAD,EAAUpuZ,IAAV,CAA1B;AACH,KApBqD,CAqBtD;;;AACA,UAAMquZ,WAAW,GAAGf,UAAU,CAACtha,OAAX,CAAmB+ga,OAAnB,MAAgC,CAAC,CAArD,CAtBsD,CAuBtD;AACA;;AACA,QAAI7hL,QAAQ,KAAKpiF,SAAjB,EAA4B;AACxB2J,MAAAA,GAAG,GAAG6xN,cAAc,CAACp5I,QAAD,CAApB;AACH,KA3BqD,CA4BtD;;;AACA,QAAIz4E,GAAG,IAAI,IAAX,EAAiB;AACb,aAAO,KAAP;AACH,KA/BqD,CAgCtD;AACA;;;AACA,QAAIA,GAAG,CAACq8B,OAAJ,IAAe,IAAf,IAAuB,CAACu/N,WAA5B,EAAyC;AACrC;AACA;AACA35O,MAAAA,SAAS,IAAIy5O,OAAO,CAAC9ua,IAAR,CAAa0ta,OAAb,CAAb,CAHqC,CAIrC;;AACAO,MAAAA,UAAU,CAACjua,IAAX,CAAgB0ta,OAAhB;AACA,UAAIuB,wBAAJ;;AACA,UAAI;AACA1uB,QAAAA,WAAW,CAACntO,GAAG,CAACq8B,OAAL,EAAcy/N,QAAQ,IAAI;AACjC,cAAI,KAAKd,mBAAL,CAAyBc,QAAzB,EAAmCJ,OAAnC,EAA4Cb,UAA5C,CAAJ,EAA6D;AACzD,gBAAIgB,wBAAwB,KAAKxlQ,SAAjC,EACIwlQ,wBAAwB,GAAG,EAA3B,CAFqD,CAGzD;AACA;;AACAA,YAAAA,wBAAwB,CAACjva,IAAzB,CAA8Bkva,QAA9B;AACH;AACJ,SARU,CAAX;AASH,OAVD,SAWQ;AACJ;AACA75O,QAAAA,SAAS,IAAIy5O,OAAO,CAACn4Z,GAAR,EAAb;AACH,OArBoC,CAsBrC;AACA;AACA;;;AACA,UAAIs4Z,wBAAwB,KAAKxlQ,SAAjC,EAA4C;AACxC,aAAK,IAAI7tK,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGqza,wBAAwB,CAAClma,MAA7C,EAAqDnN,CAAC,EAAtD,EAA0D;AACtD,gBAAM;AAAEiwP,YAAAA,QAAF;AAAYp7C,YAAAA;AAAZ,cAA0Bw+N,wBAAwB,CAACrza,CAAD,CAAxD;AACA2kZ,UAAAA,WAAW,CAAC9vM,SAAD,EAAYohG,QAAQ,IAAI,KAAKq8H,eAAL,CAAqBr8H,QAArB,EAA+BhmD,QAA/B,EAAyCp7C,SAAS,IAAImwF,WAAtD,CAAxB,CAAX;AACH;AACJ;AACJ,KAjEqD,CAkEtD;AACA;;;AACA,SAAKotI,gBAAL,CAAsBjxY,GAAtB,CAA0B2wY,OAA1B;;AACA,UAAM7jO,OAAO,GAAG4kM,aAAa,CAACi/B,OAAD,CAAb,KAA2B,MAAM,IAAIA,OAAJ,EAAjC,CAAhB;;AACA,SAAKK,OAAL,CAAanta,GAAb,CAAiB8sa,OAAjB,EAA0BW,UAAU,CAACxkO,OAAD,EAAUwjO,OAAV,CAApC,EAtEsD,CAuEtD;;AACA,UAAM8B,YAAY,GAAG/7P,GAAG,CAACq9B,SAAzB;;AACA,QAAI0+N,YAAY,IAAI,IAAhB,IAAwB,CAACH,WAA7B,EAA0C;AACtC,YAAMI,YAAY,GAAGP,eAArB;AACAtuB,MAAAA,WAAW,CAAC4uB,YAAD,EAAet9H,QAAQ,IAAI,KAAKq8H,eAAL,CAAqBr8H,QAArB,EAA+Bu9H,YAA/B,EAA6CD,YAA7C,CAA3B,CAAX;AACH;;AACD,WAAQtjL,QAAQ,KAAKpiF,SAAb,IACJolQ,eAAe,CAACp+N,SAAhB,KAA8BhnC,SADlC;AAEH;AACD;AACJ;AACA;;;AACIykQ,EAAAA,eAAe,CAACr8H,QAAD,EAAWc,YAAX,EAAyBliG,SAAzB,EAAoC;AAC/C;AACA;AACAohG,IAAAA,QAAQ,GAAGjjC,iBAAiB,CAACijC,QAAD,CAA5B;AACA,QAAInvS,KAAK,GAAG2sa,cAAc,CAACx9H,QAAD,CAAd,GAA2BA,QAA3B,GAAsCjjC,iBAAiB,CAACijC,QAAQ,IAAIA,QAAQ,CAACthG,OAAtB,CAAnE,CAJ+C,CAK/C;;AACA,UAAMgB,MAAM,GAAG+9N,gBAAgB,CAACz9H,QAAD,EAAWc,YAAX,EAAyBliG,SAAzB,CAA/B;;AACA,QAAI,CAAC4+N,cAAc,CAACx9H,QAAD,CAAf,IAA6BA,QAAQ,CAACznI,KAAT,KAAmB,IAApD,EAA0D;AACtD;AACA;AACA,UAAImlQ,WAAW,GAAG,KAAKxB,OAAL,CAAa/4Z,GAAb,CAAiBtS,KAAjB,CAAlB;;AACA,UAAI6sa,WAAJ,EAAiB;AACb;AACA,YAAIl6O,SAAS,IAAIk6O,WAAW,CAACnlQ,KAAZ,KAAsBX,SAAvC,EAAkD;AAC9Ci5N,UAAAA,4BAA4B;AAC/B;AACJ,OALD,MAMK;AACD6sC,QAAAA,WAAW,GAAGlB,UAAU,CAAC5kQ,SAAD,EAAY4jQ,OAAZ,EAAqB,IAArB,CAAxB;;AACAkC,QAAAA,WAAW,CAAC1lO,OAAZ,GAAsB,MAAMwzE,UAAU,CAACkyJ,WAAW,CAACnlQ,KAAb,CAAtC;;AACA,aAAK2jQ,OAAL,CAAanta,GAAb,CAAiB8B,KAAjB,EAAwB6sa,WAAxB;AACH;;AACD7sa,MAAAA,KAAK,GAAGmvS,QAAR;AACA09H,MAAAA,WAAW,CAACnlQ,KAAZ,CAAkBpqK,IAAlB,CAAuB6xS,QAAvB;AACH,KAjBD,MAkBK;AACD,YAAM5tD,QAAQ,GAAG,KAAK8pL,OAAL,CAAa/4Z,GAAb,CAAiBtS,KAAjB,CAAjB;;AACA,UAAI2yL,SAAS,IAAI4uD,QAAb,IAAyBA,QAAQ,CAAC75E,KAAT,KAAmBX,SAAhD,EAA2D;AACvDi5N,QAAAA,4BAA4B;AAC/B;AACJ;;AACD,SAAKqrC,OAAL,CAAanta,GAAb,CAAiB8B,KAAjB,EAAwB6uM,MAAxB;AACH;;AACDo9N,EAAAA,OAAO,CAACjsa,KAAD,EAAQ6uM,MAAR,EAAgB;AACnB,QAAIlc,SAAS,IAAIkc,MAAM,CAAC3oM,KAAP,KAAiB0ka,UAAlC,EAA8C;AAC1C9qC,MAAAA,0BAA0B,CAAC5gX,SAAS,CAAClf,KAAD,CAAV,CAA1B;AACH,KAFD,MAGK,IAAI6uM,MAAM,CAAC3oM,KAAP,KAAiByka,OAArB,EAA8B;AAC/B97N,MAAAA,MAAM,CAAC3oM,KAAP,GAAe0ka,UAAf;AACA/7N,MAAAA,MAAM,CAAC3oM,KAAP,GAAe2oM,MAAM,CAAC1H,OAAP,EAAf;AACH;;AACD,QAAI,OAAO0H,MAAM,CAAC3oM,KAAd,KAAwB,QAAxB,IAAoC2oM,MAAM,CAAC3oM,KAA3C,IAAoD4ma,YAAY,CAACj+N,MAAM,CAAC3oM,KAAR,CAApE,EAAoF;AAChF,WAAKsgK,SAAL,CAAensI,GAAf,CAAmBw0K,MAAM,CAAC3oM,KAA1B;AACH;;AACD,WAAO2oM,MAAM,CAAC3oM,KAAd;AACH;;AACD6la,EAAAA,oBAAoB,CAACr7P,GAAD,EAAM;AACtB,QAAI,CAACA,GAAG,CAACsqB,UAAT,EAAqB;AACjB,aAAO,KAAP;AACH;;AACD,UAAMA,UAAU,GAAGkxE,iBAAiB,CAACx7F,GAAG,CAACsqB,UAAL,CAApC;;AACA,QAAI,OAAOA,UAAP,KAAsB,QAA1B,EAAoC;AAChC,aAAOA,UAAU,KAAK,KAAf,IAAyBA,UAAU,KAAK,KAAKy8I,KAApD;AACH,KAFD,MAGK;AACD,aAAO,KAAK6zF,gBAAL,CAAsBzja,GAAtB,CAA0BmzL,UAA1B,CAAP;AACH;AACJ;;AA9RY;;AAgSjB,SAASgxO,iCAAT,CAA2Chsa,KAA3C,EAAkD;AAC9C;AACA,QAAMs/V,aAAa,GAAG4iC,gBAAgB,CAACliY,KAAD,CAAtC;AACA,QAAMmnM,OAAO,GAAGm4J,aAAa,KAAK,IAAlB,GAAyBA,aAAa,CAACn4J,OAAvC,GAAiD4kM,aAAa,CAAC/rY,KAAD,CAA9E;;AACA,MAAImnM,OAAO,KAAK,IAAhB,EAAsB;AAClB,WAAOA,OAAP;AACH,GAN6C,CAO9C;AACA;;;AACA,MAAInnM,KAAK,YAAY+1L,cAArB,EAAqC;AACjC,UAAM,IAAIjiL,KAAJ,CAAW,SAAQoL,SAAS,CAAClf,KAAD,CAAQ,iCAApC,CAAN;AACH,GAX6C,CAY9C;;;AACA,MAAIA,KAAK,YAAYixP,QAArB,EAA+B;AAC3B,WAAO87K,+BAA+B,CAAC/sa,KAAD,CAAtC;AACH,GAf6C,CAgB9C;;;AACA,QAAM,IAAI8T,KAAJ,CAAU,aAAV,CAAN;AACH;;AACD,SAASi5Z,+BAAT,CAAyC/sa,KAAzC,EAAgD;AAC5C;AACA,QAAMgta,WAAW,GAAGhta,KAAK,CAACqG,MAA1B;;AACA,MAAI2ma,WAAW,GAAG,CAAlB,EAAqB;AACjB,UAAMzyQ,IAAI,GAAG62G,QAAQ,CAAC47J,WAAD,EAAc,GAAd,CAArB;AACA,UAAM,IAAIl5Z,KAAJ,CAAW,oCAAmCoL,SAAS,CAAClf,KAAD,CAAQ,MAAKu6J,IAAI,CAACv7I,IAAL,CAAU,IAAV,CAAgB,IAApF,CAAN;AACH,GAN2C,CAO5C;AACA;AACA;AACA;AACA;;;AACA,QAAMiuZ,sBAAsB,GAAG3qC,yBAAyB,CAACtiY,KAAD,CAAxD;;AACA,MAAIita,sBAAsB,KAAK,IAA/B,EAAqC;AACjC,WAAO,MAAMA,sBAAsB,CAAC9lO,OAAvB,CAA+BnnM,KAA/B,CAAb;AACH,GAFD,MAGK;AACD,WAAO,MAAM,IAAIA,KAAJ,EAAb;AACH;AACJ;;AACD,SAAS4sa,gBAAT,CAA0Bz9H,QAA1B,EAAoCc,YAApC,EAAkDliG,SAAlD,EAA6D;AACzD,MAAIm/N,eAAe,CAAC/9H,QAAD,CAAnB,EAA+B;AAC3B,WAAOw8H,UAAU,CAAC5kQ,SAAD,EAAYooI,QAAQ,CAAC9lD,QAArB,CAAjB;AACH,GAFD,MAGK;AACD,UAAMliD,OAAO,GAAGgmO,iBAAiB,CAACh+H,QAAD,EAAWc,YAAX,EAAyBliG,SAAzB,CAAjC;AACA,WAAO49N,UAAU,CAACxkO,OAAD,EAAUwjO,OAAV,CAAjB;AACH;AACJ;AACD;AACA;AACA;AACA;AACA;;;AACA,SAASwC,iBAAT,CAA2Bh+H,QAA3B,EAAqCc,YAArC,EAAmDliG,SAAnD,EAA8D;AAC1D,MAAI5G,OAAO,GAAGpgC,SAAd;;AACA,MAAI4lQ,cAAc,CAACx9H,QAAD,CAAlB,EAA8B;AAC1B,UAAMi+H,iBAAiB,GAAGlhK,iBAAiB,CAACijC,QAAD,CAA3C;AACA,WAAO48F,aAAa,CAACqhC,iBAAD,CAAb,IAAoCpB,iCAAiC,CAACoB,iBAAD,CAA5E;AACH,GAHD,MAIK;AACD,QAAIF,eAAe,CAAC/9H,QAAD,CAAnB,EAA+B;AAC3BhoG,MAAAA,OAAO,GAAG,MAAM+kE,iBAAiB,CAACijC,QAAQ,CAAC9lD,QAAV,CAAjC;AACH,KAFD,MAGK,IAAIgkL,iBAAiB,CAACl+H,QAAD,CAArB,EAAiC;AAClChoG,MAAAA,OAAO,GAAG,MAAMgoG,QAAQ,CAAC/jF,UAAT,CAAoB,GAAGuvD,UAAU,CAACw0B,QAAQ,CAAChkF,IAAT,IAAiB,EAAlB,CAAjC,CAAhB;AACH,KAFI,MAGA,IAAImiN,kBAAkB,CAACn+H,QAAD,CAAtB,EAAkC;AACnChoG,MAAAA,OAAO,GAAG,MAAMo2B,QAAQ,CAAC2uC,iBAAiB,CAACijC,QAAQ,CAACrhG,WAAV,CAAlB,CAAxB;AACH,KAFI,MAGA;AACD,YAAMy/N,QAAQ,GAAGrhK,iBAAiB,CAACijC,QAAQ,KACtCA,QAAQ,CAAC9xE,QAAT,IAAqB8xE,QAAQ,CAACthG,OADQ,CAAT,CAAlC;;AAEA,UAAIlb,SAAS,IAAI,CAAC46O,QAAlB,EAA4B;AACxBttC,QAAAA,yBAAyB,CAAChwF,YAAD,EAAeliG,SAAf,EAA0BohG,QAA1B,CAAzB;AACH;;AACD,UAAIq+H,OAAO,CAACr+H,QAAD,CAAX,EAAuB;AACnBhoG,QAAAA,OAAO,GAAG,MAAM,IAAKomO,QAAL,CAAe,GAAG5yJ,UAAU,CAACw0B,QAAQ,CAAChkF,IAAV,CAA5B,CAAhB;AACH,OAFD,MAGK;AACD,eAAO4gL,aAAa,CAACwhC,QAAD,CAAb,IAA2BvB,iCAAiC,CAACuB,QAAD,CAAnE;AACH;AACJ;AACJ;;AACD,SAAOpmO,OAAP;AACH;;AACD,SAASwkO,UAAT,CAAoBxkO,OAApB,EAA6BjhM,KAA7B,EAAoCwhK,KAAK,GAAG,KAA5C,EAAmD;AAC/C,SAAO;AACHy/B,IAAAA,OAAO,EAAEA,OADN;AAEHjhM,IAAAA,KAAK,EAAEA,KAFJ;AAGHwhK,IAAAA,KAAK,EAAEA,KAAK,GAAG,EAAH,GAAQX;AAHjB,GAAP;AAKH;;AACD,SAASmmQ,eAAT,CAAyBhna,KAAzB,EAAgC;AAC5B,SAAOA,KAAK,KAAK,IAAV,IAAkB,OAAOA,KAAP,IAAgB,QAAlC,IAA8Cs7Y,WAAW,IAAIt7Y,KAApE;AACH;;AACD,SAASona,kBAAT,CAA4Bpna,KAA5B,EAAmC;AAC/B,SAAO,CAAC,EAAEA,KAAK,IAAIA,KAAK,CAAC4nM,WAAjB,CAAR;AACH;;AACD,SAASu/N,iBAAT,CAA2Bnna,KAA3B,EAAkC;AAC9B,SAAO,CAAC,EAAEA,KAAK,IAAIA,KAAK,CAACklN,UAAjB,CAAR;AACH;;AACD,SAASuhN,cAAT,CAAwBzma,KAAxB,EAA+B;AAC3B,SAAO,OAAOA,KAAP,KAAiB,UAAxB;AACH;;AACD,SAASuna,eAAT,CAAyBvna,KAAzB,EAAgC;AAC5B,SAAO,CAAC,CAACA,KAAK,CAACm3N,QAAf;AACH;;AACD,SAASmwM,OAAT,CAAiBtna,KAAjB,EAAwB;AACpB,SAAO,CAAC,CAACA,KAAK,CAACilN,IAAf;AACH;;AACD,SAAS2hN,YAAT,CAAsB5ma,KAAtB,EAA6B;AACzB,SAAOA,KAAK,KAAK,IAAV,IAAkB,OAAOA,KAAP,KAAiB,QAAnC,IACH,OAAOA,KAAK,CAACm0L,WAAb,KAA6B,UADjC;AAEH;;AACD,SAASyxO,qBAAT,CAA+B5la,KAA/B,EAAsC;AAClC,SAAQ,OAAOA,KAAP,KAAiB,UAAlB,IACF,OAAOA,KAAP,KAAiB,QAAjB,IAA6BA,KAAK,YAAY6vL,cADnD;AAEH;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAAS23O,uBAAT,CAAiC3/N,SAAjC,EAA4ClyM,MAA5C,EAAoD+W,IAApD,EAA0D;AACtD,SAAO,IAAI+6Z,cAAJ,CAAmB5/N,SAAnB,EAA8BlyM,MAA9B,EAAsC+W,IAAtC,CAAP;AACH;;AACD,SAASg7Z,wBAAT,CAAkC7/N,SAAlC,EAA6ClyM,MAA7C,EAAqD+W,IAArD,EAA2D;AACvD,SAAOm4Z,gBAAgB,CAAC;AAAEn4Z,IAAAA,IAAI,EAAEA;AAAR,GAAD,EAAiB/W,MAAjB,EAAyBkyM,SAAzB,EAAoCn7L,IAApC,CAAvB;AACH;;AACD,MAAMi7Z,aAAa,GAAGD,wBAAtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,MAAM/kN,QAAN,CAAe;AACE,SAANxrM,MAAM,CAACgN,OAAD,EAAUxuB,MAAV,EAAkB;AAC3B,QAAIkD,KAAK,CAACC,OAAN,CAAcqrB,OAAd,CAAJ,EAA4B;AACxB,aAAOwjZ,aAAa,CAACxjZ,OAAD,EAAUxuB,MAAV,EAAkB,EAAlB,CAApB;AACH,KAFD,MAGK;AACD,aAAOgya,aAAa,CAACxjZ,OAAO,CAAC0jL,SAAT,EAAoB1jL,OAAO,CAACxuB,MAA5B,EAAoCwuB,OAAO,CAACzX,IAAR,IAAgB,EAApD,CAApB;AACH;AACJ;;AARU;;AAUfi2M,QAAQ,CAACo4L,kBAAT,GAA8BA,kBAA9B;AACAp4L,QAAQ,CAACilN,IAAT,GAAkB,eAAe,IAAIrD,YAAJ,EAAjC;AACA;;AACA5hN,QAAQ,CAACl/C,KAAT,GAAiB40D,kBAAkB,CAAC;AAChCv+N,EAAAA,KAAK,EAAE6oN,QADyB;AAEhC7tB,EAAAA,UAAU,EAAE,KAFoB;AAGhCmM,EAAAA,OAAO,EAAE,MAAMo2B,QAAQ,CAACugE,QAAD;AAHS,CAAD,CAAnC;AAKA;AACA;AACA;AACA;;AACAj1E,QAAQ,CAAC68K,iBAAT,GAA6B,CAAC;AAAE;AAAhC;;AACA,MAAMqoC,KAAK,GAAG,UAAU7na,KAAV,EAAiB;AAC3B,SAAOA,KAAP;AACH,CAFD;;AAGA,MAAMs1L,KAAK,GAAG,EAAd;AACA,MAAMwyO,QAAQ,GAAGD,KAAjB;;AACA,MAAME,iBAAiB,GAAG,YAAY;AAClC,SAAOlva,KAAK,CAAC4B,SAAN,CAAgB2B,KAAhB,CAAsBoR,IAAtB,CAA2BpO,SAA3B,CAAP;AACH,CAFD;;AAGA,MAAM4oa,WAAW,GAAG,GAApB;;AACA,MAAMP,cAAN,CAAqB;AACjB1ya,EAAAA,WAAW,CAAC8yM,SAAD,EAAYlyM,MAAM,GAAGgtN,QAAQ,CAACilN,IAA9B,EAAoCjra,MAAM,GAAG,IAA7C,EAAmD;AAC1D,SAAKhH,MAAL,GAAcA,MAAd;AACA,SAAKgH,MAAL,GAAcA,MAAd;AACA,UAAMwoa,OAAO,GAAG,KAAK8C,QAAL,GAAgB,IAAIhja,GAAJ,EAAhC;AACAkga,IAAAA,OAAO,CAACnta,GAAR,CAAY2qN,QAAZ,EAAsB;AAAE7oN,MAAAA,KAAK,EAAE6oN,QAAT;AAAmBn4L,MAAAA,EAAE,EAAEq9Y,KAAvB;AAA8B5iN,MAAAA,IAAI,EAAE3vB,KAApC;AAA2Ct1L,MAAAA,KAAK,EAAE,IAAlD;AAAwDkoa,MAAAA,MAAM,EAAE;AAAhE,KAAtB;AACA/C,IAAAA,OAAO,CAACnta,GAAR,CAAY4/R,QAAZ,EAAsB;AAAE99R,MAAAA,KAAK,EAAE89R,QAAT;AAAmBptQ,MAAAA,EAAE,EAAEq9Y,KAAvB;AAA8B5iN,MAAAA,IAAI,EAAE3vB,KAApC;AAA2Ct1L,MAAAA,KAAK,EAAE,IAAlD;AAAwDkoa,MAAAA,MAAM,EAAE;AAAhE,KAAtB;AACA,SAAK32F,KAAL,GAAa42F,2BAA2B,CAAChD,OAAD,EAAUt9N,SAAV,CAAxC;AACH;;AACDz7L,EAAAA,GAAG,CAACtS,KAAD,EAAQiyN,aAAR,EAAuBzqE,KAAK,GAAGo7O,WAAW,CAAC7yI,OAA3C,EAAoD;AACnD,UAAMs7K,OAAO,GAAG,KAAK8C,QAArB;AACA,QAAIt/N,MAAM,GAAGw8N,OAAO,CAAC/4Z,GAAR,CAAYtS,KAAZ,CAAb;;AACA,QAAI6uM,MAAM,KAAK9nC,SAAf,EAA0B;AACtB;AACA,YAAMu4L,aAAa,GAAG4iC,gBAAgB,CAACliY,KAAD,CAAtC;;AACA,UAAIs/V,aAAJ,EAAmB;AACf,cAAMtkK,UAAU,GAAGskK,aAAa,IAAIpzF,iBAAiB,CAACozF,aAAa,CAACtkK,UAAf,CAArD;;AACA,YAAIA,UAAU,KAAK,KAAf,IAAwBA,UAAU,IAAI,IAAd,IAAsBA,UAAU,KAAK,KAAKy8I,KAAtE,EAA6E;AACzE4zF,UAAAA,OAAO,CAACnta,GAAR,CAAY8B,KAAZ,EAAmB6uM,MAAM,GAAGy/N,iBAAiB,CAAC;AAAEzgO,YAAAA,OAAO,EAAE7tM,KAAX;AAAkBorN,YAAAA,UAAU,EAAEk0I,aAAa,CAACn4J,OAA5C;AAAqDgkB,YAAAA,IAAI,EAAE3vB;AAA3D,WAAD,CAA7C;AACH;AACJ;;AACD,UAAIqT,MAAM,KAAK9nC,SAAf,EAA0B;AACtB;AACAskQ,QAAAA,OAAO,CAACnta,GAAR,CAAY8B,KAAZ,EAAmB,IAAnB;AACH;AACJ;;AACD,QAAIuua,YAAY,GAAG7sB,kBAAkB,CAAC,IAAD,CAArC;;AACA,QAAI;AACA,aAAO8sB,eAAe,CAACxua,KAAD,EAAQ6uM,MAAR,EAAgBw8N,OAAhB,EAAyB,KAAKxva,MAA9B,EAAsCo2N,aAAtC,EAAqDzqE,KAArD,CAAtB;AACH,KAFD,CAGA,OAAOhvJ,CAAP,EAAU;AACN,aAAO0pZ,kBAAkB,CAAC1pZ,CAAD,EAAIwH,KAAJ,EAAW,qBAAX,EAAkC,KAAK6C,MAAvC,CAAzB;AACH,KALD,SAMQ;AACJ6+Y,MAAAA,kBAAkB,CAAC6sB,YAAD,CAAlB;AACH;AACJ;;AACD7ya,EAAAA,QAAQ,GAAG;AACP,UAAMk1L,MAAM,GAAG,EAAf;AAAA,UAAmBy6O,OAAO,GAAG,KAAK8C,QAAlC;AACA9C,IAAAA,OAAO,CAAClua,OAAR,CAAgB,CAACpC,CAAD,EAAIiF,KAAJ,KAAc4wL,MAAM,CAACtzL,IAAP,CAAY4hB,SAAS,CAAClf,KAAD,CAArB,CAA9B;AACA,WAAQ,kBAAiB4wL,MAAM,CAAC5xK,IAAP,CAAY,IAAZ,CAAkB,GAA3C;AACH;;AAzCgB;;AA2CrB,SAASsvZ,iBAAT,CAA2Bn/H,QAA3B,EAAqC;AACjC,QAAMhkF,IAAI,GAAGsjN,WAAW,CAACt/H,QAAD,CAAxB;AACA,MAAIz+Q,EAAE,GAAGq9Y,KAAT;AACA,MAAI7na,KAAK,GAAGs1L,KAAZ;AACA,MAAI4yO,MAAM,GAAG,KAAb;AACA,MAAIvgO,OAAO,GAAGq+D,iBAAiB,CAACijC,QAAQ,CAACthG,OAAV,CAA/B;;AACA,MAAI2zM,WAAW,IAAIryG,QAAnB,EAA6B;AACzB;AACAjpS,IAAAA,KAAK,GAAGipS,QAAQ,CAAC9lD,QAAjB;AACH,GAHD,MAIK,IAAI8lD,QAAQ,CAAC/jF,UAAb,EAAyB;AAC1B16L,IAAAA,EAAE,GAAGy+Q,QAAQ,CAAC/jF,UAAd;AACH,GAFI,MAGA,IAAI+jF,QAAQ,CAACrhG,WAAb,EAA0B,CAC3B;AACH,GAFI,MAGA,IAAIqhG,QAAQ,CAAC9xE,QAAb,EAAuB;AACxB+wM,IAAAA,MAAM,GAAG,IAAT;AACA19Y,IAAAA,EAAE,GAAGw7O,iBAAiB,CAACijC,QAAQ,CAAC9xE,QAAV,CAAtB;AACH,GAHI,MAIA,IAAI,OAAOxvB,OAAP,IAAkB,UAAtB,EAAkC;AACnCugO,IAAAA,MAAM,GAAG,IAAT;AACA19Y,IAAAA,EAAE,GAAGm9K,OAAL;AACH,GAHI,MAIA;AACD,UAAM6gO,WAAW,CAAC,qGAAD,EAAwGv/H,QAAxG,CAAjB;AACH;;AACD,SAAO;AAAEhkF,IAAAA,IAAF;AAAQz6L,IAAAA,EAAR;AAAY09Y,IAAAA,MAAZ;AAAoBloa,IAAAA;AAApB,GAAP;AACH;;AACD,SAASyoa,qBAAT,CAA+B3ua,KAA/B,EAAsC;AAClC,SAAO0ua,WAAW,CAAC,kDAAD,EAAqD1ua,KAArD,CAAlB;AACH;;AACD,SAASqua,2BAAT,CAAqChD,OAArC,EAA8Cl8H,QAA9C,EAAwD;AACpD,MAAIsoC,KAAK,GAAG,IAAZ;;AACA,MAAItoC,QAAJ,EAAc;AACVA,IAAAA,QAAQ,GAAGjjC,iBAAiB,CAACijC,QAAD,CAA5B;;AACA,QAAIpwS,KAAK,CAACC,OAAN,CAAcmwS,QAAd,CAAJ,EAA6B;AACzB;AACA,WAAK,IAAIj2S,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGi2S,QAAQ,CAAC9oS,MAA7B,EAAqCnN,CAAC,EAAtC,EAA0C;AACtCu+U,QAAAA,KAAK,GAAG42F,2BAA2B,CAAChD,OAAD,EAAUl8H,QAAQ,CAACj2S,CAAD,CAAlB,CAA3B,IAAqDu+U,KAA7D;AACH;AACJ,KALD,MAMK,IAAI,OAAOtoC,QAAP,KAAoB,UAAxB,EAAoC;AACrC;AACA;AACA,YAAMu/H,WAAW,CAAC,8BAAD,EAAiCv/H,QAAjC,CAAjB;AACH,KAJI,MAKA,IAAIA,QAAQ,IAAI,OAAOA,QAAP,KAAoB,QAAhC,IAA4CA,QAAQ,CAACthG,OAAzD,EAAkE;AACnE;AACA,UAAI7tM,KAAK,GAAGksQ,iBAAiB,CAACijC,QAAQ,CAACthG,OAAV,CAA7B;AACA,YAAMu5G,gBAAgB,GAAGknH,iBAAiB,CAACn/H,QAAD,CAA1C;;AACA,UAAIA,QAAQ,CAACznI,KAAT,KAAmB,IAAvB,EAA6B;AACzB;AACA,YAAIm8I,aAAa,GAAGwnH,OAAO,CAAC/4Z,GAAR,CAAYtS,KAAZ,CAApB;;AACA,YAAI6jT,aAAJ,EAAmB;AACf,cAAIA,aAAa,CAACnzR,EAAd,KAAqBu9Y,iBAAzB,EAA4C;AACxC,kBAAMU,qBAAqB,CAAC3ua,KAAD,CAA3B;AACH;AACJ,SAJD,MAKK;AACD;AACAqra,UAAAA,OAAO,CAACnta,GAAR,CAAY8B,KAAZ,EAAmB6jT,aAAa,GAAG;AAC/B7jT,YAAAA,KAAK,EAAEmvS,QAAQ,CAACthG,OADe;AAE/Bsd,YAAAA,IAAI,EAAE,EAFyB;AAG/BijN,YAAAA,MAAM,EAAE,KAHuB;AAI/B19Y,YAAAA,EAAE,EAAEu9Y,iBAJ2B;AAK/B/na,YAAAA,KAAK,EAAEs1L;AALwB,WAAnC;AAOH,SAjBwB,CAkBzB;;;AACAx7L,QAAAA,KAAK,GAAGmvS,QAAR;AACA0U,QAAAA,aAAa,CAAC14F,IAAd,CAAmB7tN,IAAnB,CAAwB;AAAE0C,UAAAA,KAAF;AAASqqB,UAAAA,OAAO,EAAE;AAAE;;AAApB,SAAxB;AACH;;AACD,YAAMwkL,MAAM,GAAGw8N,OAAO,CAAC/4Z,GAAR,CAAYtS,KAAZ,CAAf;;AACA,UAAI6uM,MAAM,IAAIA,MAAM,CAACn+K,EAAP,IAAau9Y,iBAA3B,EAA8C;AAC1C,cAAMU,qBAAqB,CAAC3ua,KAAD,CAA3B;AACH;;AACD,UAAIA,KAAK,KAAK0qa,cAAd,EAA8B;AAC1BjzF,QAAAA,KAAK,GAAGrwB,gBAAgB,CAAClhT,KAAzB;AACH;;AACDmla,MAAAA,OAAO,CAACnta,GAAR,CAAY8B,KAAZ,EAAmBonT,gBAAnB;AACH,KAlCI,MAmCA;AACD,YAAMsnH,WAAW,CAAC,qBAAD,EAAwBv/H,QAAxB,CAAjB;AACH;AACJ;;AACD,SAAOsoC,KAAP;AACH;;AACD,SAAS+2F,eAAT,CAAyBxua,KAAzB,EAAgC6uM,MAAhC,EAAwCw8N,OAAxC,EAAiDxva,MAAjD,EAAyDo2N,aAAzD,EAAwEzqE,KAAxE,EAA+E;AAC3E,MAAI;AACA,WAAOonR,YAAY,CAAC5ua,KAAD,EAAQ6uM,MAAR,EAAgBw8N,OAAhB,EAAyBxva,MAAzB,EAAiCo2N,aAAjC,EAAgDzqE,KAAhD,CAAnB;AACH,GAFD,CAGA,OAAOhvJ,CAAP,EAAU;AACN;AACA,QAAI,EAAEA,CAAC,YAAYsb,KAAf,CAAJ,EAA2B;AACvBtb,MAAAA,CAAC,GAAG,IAAIsb,KAAJ,CAAUtb,CAAV,CAAJ;AACH;;AACD,UAAMylB,IAAI,GAAGzlB,CAAC,CAAC2oZ,kBAAD,CAAD,GAAwB3oZ,CAAC,CAAC2oZ,kBAAD,CAAD,IAAyB,EAA9D;AACAljY,IAAAA,IAAI,CAACmc,OAAL,CAAap6B,KAAb;;AACA,QAAI6uM,MAAM,IAAIA,MAAM,CAAC3oM,KAAP,IAAgB8na,QAA9B,EAAwC;AACpC;AACAn/N,MAAAA,MAAM,CAAC3oM,KAAP,GAAes1L,KAAf;AACH;;AACD,UAAMhjM,CAAN;AACH;AACJ;;AACD,SAASo2a,YAAT,CAAsB5ua,KAAtB,EAA6B6uM,MAA7B,EAAqCw8N,OAArC,EAA8Cxva,MAA9C,EAAsDo2N,aAAtD,EAAqEzqE,KAArE,EAA4E;AACxE,MAAIthJ,KAAJ;;AACA,MAAI2oM,MAAM,IAAI,EAAErnD,KAAK,GAAGo7O,WAAW,CAACrwK,QAAtB,CAAd,EAA+C;AAC3C;AACA;AACArsN,IAAAA,KAAK,GAAG2oM,MAAM,CAAC3oM,KAAf;;AACA,QAAIA,KAAK,IAAI8na,QAAb,EAAuB;AACnB,YAAMl6Z,KAAK,CAACo6Z,WAAW,GAAG,qBAAf,CAAX;AACH,KAFD,MAGK,IAAIhoa,KAAK,KAAKs1L,KAAd,EAAqB;AACtBqT,MAAAA,MAAM,CAAC3oM,KAAP,GAAe8na,QAAf;AACA,UAAI3iQ,GAAG,GAAGtE,SAAV;AACA,UAAIqnQ,MAAM,GAAGv/N,MAAM,CAACu/N,MAApB;AACA,UAAI19Y,EAAE,GAAGm+K,MAAM,CAACn+K,EAAhB;AACA,UAAIm+Y,UAAU,GAAGhgO,MAAM,CAACsc,IAAxB;AACA,UAAIA,IAAI,GAAG3vB,KAAX;;AACA,UAAIqzO,UAAU,CAACxoa,MAAf,EAAuB;AACnB8kN,QAAAA,IAAI,GAAG,EAAP;;AACA,aAAK,IAAIjyN,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAG21a,UAAU,CAACxoa,MAA/B,EAAuCnN,CAAC,EAAxC,EAA4C;AACxC,gBAAM41a,SAAS,GAAGD,UAAU,CAAC31a,CAAD,CAA5B;AACA,gBAAMmxB,OAAO,GAAGykZ,SAAS,CAACzkZ,OAA1B;AACA,gBAAM0kZ,WAAW,GAAG1kZ,OAAO,GAAG;AAAE;AAAZ,YAA8BghZ,OAAO,CAAC/4Z,GAAR,CAAYw8Z,SAAS,CAAC9ua,KAAtB,CAA9B,GAA6D+mK,SAAjF;AACAokD,UAAAA,IAAI,CAAC7tN,IAAL,CAAUkxa,eAAe,EACzB;AACAM,UAAAA,SAAS,CAAC9ua,KAFe,EAGzB;AACA;AACA+ua,UAAAA,WALyB,EAMzB;AACA1D,UAAAA,OAPyB,EAQzB;AACA;AACA,WAAC0D,WAAD,IAAgB,EAAE1kZ,OAAO,GAAG;AAAE;AAAd,WAAhB,GAAmDw+L,QAAQ,CAACilN,IAA5D,GAAmEjya,MAV1C,EAUkDwuB,OAAO,GAAG;AAAE;AAAZ,YAA6B,IAA7B,GAAoCw+L,QAAQ,CAACo4L,kBAV/F,EAUmHre,WAAW,CAAC7yI,OAV/H,CAAzB;AAWH;AACJ;;AACDlhD,MAAAA,MAAM,CAAC3oM,KAAP,GAAeA,KAAK,GAAGkoa,MAAM,GAAG,IAAI19Y,EAAJ,CAAO,GAAGy6L,IAAV,CAAH,GAAqBz6L,EAAE,CAACrd,KAAH,CAASg4J,GAAT,EAAc8/C,IAAd,CAAlD;AACH;AACJ,GAnCD,MAoCK,IAAI,EAAE3jE,KAAK,GAAGo7O,WAAW,CAACoW,IAAtB,CAAJ,EAAiC;AAClC9yY,IAAAA,KAAK,GAAGrK,MAAM,CAACyW,GAAP,CAAWtS,KAAX,EAAkBiyN,aAAlB,EAAiC2wK,WAAW,CAAC7yI,OAA7C,CAAR;AACH,GAFI,MAGA,IAAI,EAAEvoG,KAAK,GAAGo7O,WAAW,CAAC5sM,QAAtB,CAAJ,EAAqC;AACtC9vL,IAAAA,KAAK,GAAG2iN,QAAQ,CAACilN,IAAT,CAAcx7Z,GAAd,CAAkBtS,KAAlB,EAAyBiyN,aAAzB,CAAR;AACH,GAFI,MAGA;AACD/rN,IAAAA,KAAK,GAAG2iN,QAAQ,CAACilN,IAAT,CAAcx7Z,GAAd,CAAkBtS,KAAlB,EAAyB,OAAOiyN,aAAP,KAAyB,WAAzB,GAAuCA,aAAvC,GAAuD,IAAhF,CAAR;AACH;;AACD,SAAO/rN,KAAP;AACH;;AACD,SAASuoa,WAAT,CAAqBt/H,QAArB,EAA+B;AAC3B,MAAIhkF,IAAI,GAAG3vB,KAAX;AACA,QAAMwzO,YAAY,GAAG7/H,QAAQ,CAAChkF,IAA9B;;AACA,MAAI6jN,YAAY,IAAIA,YAAY,CAAC3oa,MAAjC,EAAyC;AACrC8kN,IAAAA,IAAI,GAAG,EAAP;;AACA,SAAK,IAAIjyN,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAG81a,YAAY,CAAC3oa,MAAjC,EAAyCnN,CAAC,EAA1C,EAA8C;AAC1C,UAAImxB,OAAO,GAAG;AAAE;AAAhB;AACA,UAAIrqB,KAAK,GAAGksQ,iBAAiB,CAAC8iK,YAAY,CAAC91a,CAAD,CAAb,CAA7B;;AACA,UAAI6F,KAAK,CAACC,OAAN,CAAcgB,KAAd,CAAJ,EAA0B;AACtB,aAAK,IAAIlF,CAAC,GAAG,CAAR,EAAWy7R,WAAW,GAAGv2R,KAA9B,EAAqClF,CAAC,GAAGy7R,WAAW,CAAClwR,MAArD,EAA6DvL,CAAC,EAA9D,EAAkE;AAC9D,gBAAMupW,UAAU,GAAG9tE,WAAW,CAACz7R,CAAD,CAA9B;;AACA,cAAIupW,UAAU,YAAYruK,QAAtB,IAAkCquK,UAAU,IAAIruK,QAApD,EAA8D;AAC1D3rK,YAAAA,OAAO,GAAGA,OAAO,GAAG;AAAE;AAAtB;AACH,WAFD,MAGK,IAAIg6U,UAAU,YAAY9xI,QAAtB,IAAkC8xI,UAAU,IAAI9xI,QAApD,EAA8D;AAC/DloM,YAAAA,OAAO,GAAGA,OAAO,GAAG,CAAC;AAAE;AAAvB;AACH,WAFI,MAGA,IAAIg6U,UAAU,YAAY20C,IAAtB,IAA8B30C,UAAU,IAAI20C,IAAhD,EAAsD;AACvD3uX,YAAAA,OAAO,GAAGA,OAAO,GAAG,CAAC;AAAE;AAAvB;AACH,WAFI,MAGA,IAAIg6U,UAAU,YAAY1uK,MAA1B,EAAkC;AACnC31L,YAAAA,KAAK,GAAGqkW,UAAU,CAACrkW,KAAnB;AACH,WAFI,MAGA;AACDA,YAAAA,KAAK,GAAGksQ,iBAAiB,CAACm4F,UAAD,CAAzB;AACH;AACJ;AACJ;;AACDl5I,MAAAA,IAAI,CAAC7tN,IAAL,CAAU;AAAE0C,QAAAA,KAAF;AAASqqB,QAAAA;AAAT,OAAV;AACH;AACJ,GA3BD,MA4BK,IAAI8kR,QAAQ,CAACrhG,WAAb,EAA0B;AAC3B,UAAM9tM,KAAK,GAAGksQ,iBAAiB,CAACijC,QAAQ,CAACrhG,WAAV,CAA/B;AACAqd,IAAAA,IAAI,GAAG,CAAC;AAAEnrN,MAAAA,KAAF;AAASqqB,MAAAA,OAAO,EAAE;AAAE;;AAApB,KAAD,CAAP;AACH,GAHI,MAIA,IAAI,CAAC2kZ,YAAD,IAAiB,EAAExtB,WAAW,IAAIryG,QAAjB,CAArB,EAAiD;AAClD;AACA,UAAMu/H,WAAW,CAAC,mBAAD,EAAsBv/H,QAAtB,CAAjB;AACH;;AACD,SAAOhkF,IAAP;AACH;;AACD,SAASujN,WAAT,CAAqB7pa,IAArB,EAA2BwmK,GAA3B,EAAgC;AAC5B,SAAO,IAAIv3J,KAAJ,CAAUuuY,WAAW,CAACx9Y,IAAD,EAAOwmK,GAAP,EAAY,qBAAZ,CAArB,CAAP;AACH;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAAS4jQ,cAAT,CAAwBr0R,OAAxB,EAAiC;AAC7Bs0R,EAAAA,gBAAgB,CAACt0R,OAAD,CAAhB;AACA,QAAMj+I,OAAO,GAAGiuZ,WAAW,CAAChwQ,OAAD,CAA3B;AACA,MAAIj+I,OAAO,KAAK,IAAhB,EACI,OAAO,IAAP;;AACJ,MAAIA,OAAO,CAAC6iG,SAAR,KAAsBunE,SAA1B,EAAqC;AACjCpqK,IAAAA,OAAO,CAAC6iG,SAAR,GAAoBktT,uBAAuB,CAAC/vZ,OAAO,CAACygV,SAAT,EAAoBzgV,OAAO,CAACqtY,KAA5B,CAA3C;AACH;;AACD,SAAOrtY,OAAO,CAAC6iG,SAAf;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASnpF,UAAT,CAAoBukI,OAApB,EAA6B;AACzBs0R,EAAAA,gBAAgB,CAACt0R,OAAD,CAAhB;AACA,QAAMj+I,OAAO,GAAGiuZ,WAAW,CAAChwQ,OAAD,CAA3B;AACA,SAAOj+I,OAAO,KAAK,IAAZ,GAAmB,IAAnB,GAA0BA,OAAO,CAACqtY,KAAR,CAAc9B,OAAd,CAAjC;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASinC,kBAAT,CAA4BC,YAA5B,EAA0C;AACtC,QAAMzya,OAAO,GAAGiuZ,WAAW,CAACwkB,YAAD,CAA3B;AACA,MAAIzya,OAAO,KAAK,IAAhB,EACI,OAAO,IAAP;AACJ,MAAIqtY,KAAK,GAAGrtY,OAAO,CAACqtY,KAApB;AACA,MAAInuY,MAAJ;AACA82L,EAAAA,SAAS,IAAIo4M,WAAW,CAACf,KAAD,CAAxB;;AACA,SAAOA,KAAK,CAACrC,KAAD,CAAL,CAAa5rY,IAAb,KAAsB;AAAE;AAAxB,MAA2CF,MAAM,GAAG6zZ,cAAc,CAAC1lB,KAAD,CAAlE,CAAP,EAAmF;AAC/EA,IAAAA,KAAK,GAAGnuY,MAAR;AACH;;AACD,SAAOmuY,KAAK,CAACpC,KAAD,CAAL,GAAe;AAAI;AAAnB,IAAkC,IAAlC,GAAyCoC,KAAK,CAAC9B,OAAD,CAArD;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASmnC,iBAAT,CAA2BD,YAA3B,EAAyC;AACrC,SAAO,CAAC,GAAGvf,cAAc,CAACuf,YAAD,CAAd,CAA6B7gF,UAAjC,CAAP;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAAS+gF,WAAT,CAAqBF,YAArB,EAAmC;AAC/B,QAAMzya,OAAO,GAAGiuZ,WAAW,CAACwkB,YAAD,CAA3B;AACA,MAAIzya,OAAO,KAAK,IAAhB,EACI,OAAOksN,QAAQ,CAACilN,IAAhB;AACJ,QAAMjqC,KAAK,GAAGlnY,OAAO,CAACqtY,KAAR,CAAcrC,KAAd,EAAqBjrY,IAArB,CAA0BC,OAAO,CAACygV,SAAlC,CAAd;AACA,SAAO,IAAIw8D,YAAJ,CAAiB/V,KAAjB,EAAwBlnY,OAAO,CAACqtY,KAAhC,CAAP;AACH;AACD;AACA;AACA;AACA;AACA;;;AACA,SAASulC,kBAAT,CAA4B30R,OAA5B,EAAqC;AACjC,QAAMj+I,OAAO,GAAGiuZ,WAAW,CAAChwQ,OAAD,CAA3B;AACA,MAAIj+I,OAAO,KAAK,IAAhB,EACI,OAAO,EAAP;AACJ,QAAMqtY,KAAK,GAAGrtY,OAAO,CAACqtY,KAAtB;AACA,QAAMlG,KAAK,GAAGkG,KAAK,CAACrC,KAAD,CAAnB;AACA,QAAM9D,KAAK,GAAGC,KAAK,CAACpnY,IAAN,CAAWC,OAAO,CAACygV,SAAnB,CAAd;AACA,QAAMoyF,cAAc,GAAG,EAAvB;AACA,QAAMrlS,UAAU,GAAG05P,KAAK,CAACuW,eAAN,GAAwB;AAAQ;AAAnD;AACA,QAAMhwQ,QAAQ,GAAGy5P,KAAK,CAAC+P,YAAvB;;AACA,OAAK,IAAI16Y,CAAC,GAAGixI,UAAb,EAAyBjxI,CAAC,GAAGkxI,QAA7B,EAAuClxI,CAAC,EAAxC,EAA4C;AACxC,QAAIgN,KAAK,GAAG49X,KAAK,CAACpnY,IAAN,CAAWxD,CAAX,CAAZ;;AACA,QAAIu2a,kBAAkB,CAACvpa,KAAD,CAAtB,EAA+B;AAC3B;AACA;AACA;AACA;AACAA,MAAAA,KAAK,GAAGA,KAAK,CAACnK,IAAd;AACH;;AACDyza,IAAAA,cAAc,CAAClya,IAAf,CAAoB4I,KAApB;AACH;;AACD,SAAOspa,cAAP;AACH;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,SAASE,aAAT,CAAuBl3V,IAAvB,EAA6B;AACzB;AACA,MAAIA,IAAI,YAAYm6N,IAApB,EAA0B;AACtB,WAAO,EAAP;AACH;;AACD,QAAMh2S,OAAO,GAAGiuZ,WAAW,CAACpyU,IAAD,CAA3B;;AACA,MAAI77E,OAAO,KAAK,IAAhB,EAAsB;AAClB,WAAO,EAAP;AACH;;AACD,QAAMqtY,KAAK,GAAGrtY,OAAO,CAACqtY,KAAtB;AACA,QAAMlG,KAAK,GAAGkG,KAAK,CAACrC,KAAD,CAAnB;AACA,QAAMvqD,SAAS,GAAGzgV,OAAO,CAACygV,SAA1B;;AACA,MAAI,CAAC0mD,KAAK,EAAEpnY,IAAP,CAAY0gV,SAAZ,CAAL,EAA6B;AACzB,WAAO,EAAP;AACH;;AACD,MAAIzgV,OAAO,CAACgyS,UAAR,KAAuB5nI,SAA3B,EAAsC;AAClCpqK,IAAAA,OAAO,CAACgyS,UAAR,GAAqBw8G,wBAAwB,CAAC/tE,SAAD,EAAY4sD,KAAZ,EAAmB,KAAnB,CAA7C;AACH,GAjBwB,CAkBzB;AACA;;;AACA,SAAOrtY,OAAO,CAACgyS,UAAR,KAAuB,IAAvB,GAA8B,EAA9B,GAAmC,CAAC,GAAGhyS,OAAO,CAACgyS,UAAZ,CAA1C;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASghI,sBAAT,CAAgCC,4BAAhC,EAA8D;AAC1D,QAAM;AAAE30a,IAAAA;AAAF,MAAkB20a,4BAAxB;;AACA,MAAI,CAAC30a,WAAL,EAAkB;AACd,UAAM,IAAI6Y,KAAJ,CAAU,yCAAV,CAAN;AACH,GAJyD,CAK1D;AACA;;;AACA,QAAM+7Z,YAAY,GAAGjpC,eAAe,CAAC3rY,WAAD,CAApC;;AACA,MAAI40a,YAAJ,EAAkB;AACd,WAAO;AACHj+M,MAAAA,MAAM,EAAEi+M,YAAY,CAACj+M,MADlB;AAEH0qD,MAAAA,OAAO,EAAEuzJ,YAAY,CAACvzJ,OAFnB;AAGH3hD,MAAAA,aAAa,EAAEk1M,YAAY,CAACl1M,aAHzB;AAIHE,MAAAA,eAAe,EAAEg1M,YAAY,CAAC3pC,MAAb,GAAsB7zK,uBAAuB,CAACyI,MAA9C,GACbzI,uBAAuB,CAAC09B;AALzB,KAAP;AAOH;;AACD,QAAM0uC,YAAY,GAAGooG,eAAe,CAAC5rY,WAAD,CAApC;;AACA,MAAIwjS,YAAJ,EAAkB;AACd,WAAO;AAAE7sE,MAAAA,MAAM,EAAE6sE,YAAY,CAAC7sE,MAAvB;AAA+B0qD,MAAAA,OAAO,EAAEmiB,YAAY,CAACniB;AAArD,KAAP;AACH;;AACD,SAAO,IAAP;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASwzJ,YAAT,CAAsBrva,MAAtB,EAA8B;AAC1B,QAAM9D,OAAO,GAAGiuZ,WAAW,CAACnqZ,MAAD,CAA3B;AACA,MAAI9D,OAAO,KAAK,IAAhB,EACI,OAAO,EAAP;;AACJ,MAAIA,OAAO,CAAC8uZ,SAAR,KAAsB1kP,SAA1B,EAAqC;AACjCpqK,IAAAA,OAAO,CAAC8uZ,SAAR,GAAoBkB,iBAAiB,CAAChwZ,OAAO,CAACqtY,KAAT,EAAgBrtY,OAAO,CAACygV,SAAxB,CAArC;AACH;;AACD,SAAOzgV,OAAO,CAAC8uZ,SAAR,IAAqB,EAA5B;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASskB,cAAT,CAAwBC,oBAAxB,EAA8C;AAC1C,SAAOplB,WAAW,CAAColB,oBAAD,CAAX,CAAkCj1U,MAAzC;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASk1U,eAAT,CAAyBzwU,SAAzB,EAAoC;AAChC,QAAMogD,WAAW,GAAGmwR,cAAc,CAACvwU,SAAD,CAAlC;AACA,SAAOogD,WAAW,CAACtzB,WAAZ,IAA2B,EAAlC;AACH;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;AACA;AACA;AACA;AACA;;;AACA,SAAS4jT,YAAT,CAAsBt1R,OAAtB,EAA+B;AAC3Bs0R,EAAAA,gBAAgB,CAACt0R,OAAD,CAAhB;AACA,QAAMu1R,QAAQ,GAAGvlB,WAAW,CAAChwQ,OAAD,CAA5B;AACA,MAAIu1R,QAAQ,KAAK,IAAjB,EACI,OAAO,EAAP;AACJ,QAAMnmC,KAAK,GAAGmmC,QAAQ,CAACnmC,KAAvB;AACA,QAAMlG,KAAK,GAAGkG,KAAK,CAACrC,KAAD,CAAnB;AACA,QAAMorB,QAAQ,GAAG/oB,KAAK,CAAC/B,OAAD,CAAtB;AACA,QAAM6qB,QAAQ,GAAGhvB,KAAK,CAACh+I,OAAvB;AACA,QAAMvjF,SAAS,GAAG,EAAlB;;AACA,MAAIuwP,QAAQ,IAAIC,QAAhB,EAA0B;AACtB,SAAK,IAAI75Z,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAG45Z,QAAQ,CAACzsZ,MAA7B,GAAsC;AAClC,YAAM+pa,UAAU,GAAGtd,QAAQ,CAAC55Z,CAAC,EAAF,CAA3B;AACA,YAAMm3a,WAAW,GAAGvd,QAAQ,CAAC55Z,CAAC,EAAF,CAA5B;;AACA,UAAI,OAAOk3a,UAAP,KAAsB,QAA1B,EAAoC;AAChC,cAAMx9Z,IAAI,GAAGw9Z,UAAb;AACA,cAAME,eAAe,GAAG1iC,WAAW,CAAC5D,KAAK,CAACqmC,WAAD,CAAN,CAAnC;AACA,cAAMh1Z,QAAQ,GAAG03Y,QAAQ,CAACD,QAAQ,CAAC55Z,CAAC,EAAF,CAAT,CAAzB;AACA,cAAMq3a,gBAAgB,GAAGzd,QAAQ,CAAC55Z,CAAC,EAAF,CAAjC,CAJgC,CAKhC;AACA;AACA;;AACA,cAAM6C,IAAI,GAAI,OAAOw0a,gBAAP,KAA4B,SAA5B,IAAyCA,gBAAgB,IAAI,CAA9D,GAAmE,KAAnE,GAA2E,QAAxF;AACA,cAAMC,UAAU,GAAG,OAAOD,gBAAP,KAA4B,SAA5B,GAAwCA,gBAAxC,GAA2D,KAA9E;;AACA,YAAI31R,OAAO,IAAI01R,eAAf,EAAgC;AAC5B/tQ,UAAAA,SAAS,CAACjlK,IAAV,CAAe;AAAEs9I,YAAAA,OAAF;AAAWhoI,YAAAA,IAAX;AAAiByI,YAAAA,QAAjB;AAA2Bm1Z,YAAAA,UAA3B;AAAuCz0a,YAAAA;AAAvC,WAAf;AACH;AACJ;AACJ;AACJ;;AACDwmK,EAAAA,SAAS,CAAC36J,IAAV,CAAe6oa,aAAf;AACA,SAAOluQ,SAAP;AACH;;AACD,SAASkuQ,aAAT,CAAuB33a,CAAvB,EAA0BuB,CAA1B,EAA6B;AACzB,MAAIvB,CAAC,CAAC8Z,IAAF,IAAUvY,CAAC,CAACuY,IAAhB,EACI,OAAO,CAAP;AACJ,SAAO9Z,CAAC,CAAC8Z,IAAF,GAASvY,CAAC,CAACuY,IAAX,GAAkB,CAAC,CAAnB,GAAuB,CAA9B;AACH;AACD;AACA;AACA;AACA;AACA;;;AACA,SAAS68Z,kBAAT,CAA4BpkQ,GAA5B,EAAiC;AAC7B,SAAOA,GAAG,CAACtvK,IAAJ,KAAagrK,SAAb,IAA0BsE,GAAG,CAACjwD,QAAJ,KAAiB2rD,SAA3C,IAAwDsE,GAAG,CAACy6N,cAAJ,KAAuB/+N,SAAtF;AACH;AACD;AACA;AACA;AACA;AACA;;;AACA,SAAS2pQ,cAAT,CAAwB91R,OAAxB,EAAiC;AAC7B,MAAI+3C,SAAS,IAAI,EAAE/3C,OAAO,YAAY4kB,IAArB,CAAjB,EAA6C;AACzC,UAAM,IAAI1rJ,KAAJ,CAAU,mCAAV,CAAN;AACH;;AACD,QAAMq8Z,QAAQ,GAAGvlB,WAAW,CAAChwQ,OAAD,CAA5B;;AACA,MAAIu1R,QAAQ,KAAK,IAAjB,EAAuB;AACnB,WAAO,IAAP;AACH;;AACD,QAAMnmC,KAAK,GAAGmmC,QAAQ,CAACnmC,KAAvB;AACA,QAAM5sD,SAAS,GAAG+yF,QAAQ,CAAC/yF,SAA3B;;AACA,MAAIA,SAAS,KAAK,CAAC,CAAnB,EAAsB;AAClB,UAAMuzF,YAAY,GAAG3mC,KAAK,CAAC5sD,SAAD,CAA1B,CADkB,CAElB;AACA;;AACA,UAAMymD,KAAK,GAAG2F,OAAO,CAACmnC,YAAD,CAAP,GAAwBA,YAAY,CAAC3oC,MAAD,CAApC,GAA+CkG,QAAQ,CAAClE,KAAK,CAACrC,KAAD,CAAN,EAAevqD,SAAf,CAArE;AACAzqJ,IAAAA,SAAS,IACLsuM,WAAW,CAAC4C,KAAK,CAACpsR,KAAP,EAAc2lO,SAAd,EAAyB,gDAAzB,CADf;AAEA,WAAO0/E,cAAc,CAACj5B,KAAD,EAAQmG,KAAR,CAArB;AACH;;AACD,SAAO,IAAP;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAAS4mC,iBAAT,CAA2Bnwa,MAA3B,EAAmC;AAC/B,QAAM0va,QAAQ,GAAGvlB,WAAW,CAACnqZ,MAAD,CAA5B;AACA,QAAMowa,QAAQ,GAAGV,QAAQ,CAAC/yF,SAA1B;AACA,QAAM4sD,KAAK,GAAGmmC,QAAQ,CAACnmC,KAAvB;AACA,QAAM2rB,cAAc,GAAG3rB,KAAK,CAAC6mC,QAAD,CAA5B;AACAl+O,EAAAA,SAAS,IAAIo4M,WAAW,CAAC4qB,cAAD,CAAxB;AACA,SAAOA,cAAP;AACH;AACD;;;AACA,SAASuZ,gBAAT,CAA0Bhpa,KAA1B,EAAiC;AAC7B,MAAI,OAAO0hK,OAAP,KAAmB,WAAnB,IAAkC,EAAE1hK,KAAK,YAAY0hK,OAAnB,CAAtC,EAAmE;AAC/D,UAAM,IAAI9zJ,KAAJ,CAAU,mCAAV,CAAN;AACH;AACJ;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASy6L,YAAT,CAAsB/uG,SAAtB,EAAiC;AAC7B+qU,EAAAA,SAAS,CAAC/qU,SAAD,CAAT;AACA6vU,EAAAA,iBAAiB,CAAC7vU,SAAD,CAAjB,CAA6BriG,OAA7B,CAAqCgvZ,aAAa,IAAIl7L,aAAa,CAACk7L,aAAD,CAAnE;AACH;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;AACA;AACA;;;AACA,MAAM2kB,0BAA0B,GAAG,IAAnC;AACA,IAAIC,UAAU,GAAG,KAAjB;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,SAASC,2BAAT,GAAuC;AACnC,MAAI,CAACD,UAAL,EAAiB;AACbA,IAAAA,UAAU,GAAG,IAAb;AACA;AACR;AACA;AACA;AACA;;AACQE,IAAAA,iBAAiB,CAAC,cAAD,EAAiBjkC,WAAjB,CAAjB;AACAikC,IAAAA,iBAAiB,CAAC,sBAAD,EAAyBtB,sBAAzB,CAAjB;AACAsB,IAAAA,iBAAiB,CAAC,cAAD,EAAiBhC,cAAjB,CAAjB;AACAgC,IAAAA,iBAAiB,CAAC,YAAD,EAAe56Z,UAAf,CAAjB;AACA46Z,IAAAA,iBAAiB,CAAC,cAAD,EAAiBf,YAAjB,CAAjB;AACAe,IAAAA,iBAAiB,CAAC,oBAAD,EAAuB9B,kBAAvB,CAAjB;AACA8B,IAAAA,iBAAiB,CAAC,gBAAD,EAAmBlB,cAAnB,CAAjB;AACAkB,IAAAA,iBAAiB,CAAC,aAAD,EAAgB3B,WAAhB,CAAjB;AACA2B,IAAAA,iBAAiB,CAAC,mBAAD,EAAsB5B,iBAAtB,CAAjB;AACA4B,IAAAA,iBAAiB,CAAC,eAAD,EAAkBvB,aAAlB,CAAjB;AACAuB,IAAAA,iBAAiB,CAAC,cAAD,EAAiB1iO,YAAjB,CAAjB;AACH;AACJ;AACD;AACA;AACA;AACA;;;AACA,SAAS0iO,iBAAT,CAA2Br+Z,IAA3B,EAAiC8d,EAAjC,EAAqC;AACjC,MAAI,OAAOwgZ,QAAP,KAAoB,WAApB,IAAmC,CAACA,QAAxC,EAAkD;AAC9C;AACA;AACA;AACA;AACA,UAAM32a,CAAC,GAAG42Q,OAAV;AACAx+E,IAAAA,SAAS,IAAI8uM,aAAa,CAAC/wW,EAAD,EAAK,sBAAL,CAA1B;;AACA,QAAIn2B,CAAJ,EAAO;AACH,UAAI6mF,SAAS,GAAG7mF,CAAC,CAACu2a,0BAAD,CAAjB;;AACA,UAAI,CAAC1vV,SAAL,EAAgB;AACZA,QAAAA,SAAS,GAAG7mF,CAAC,CAACu2a,0BAAD,CAAD,GAAgC,EAA5C;AACH;;AACD1vV,MAAAA,SAAS,CAACxuE,IAAD,CAAT,GAAkB8d,EAAlB;AACH;AACJ;AACJ;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,MAAMygZ,aAAa,GAAG;AAClB7+Z,EAAAA,GAAG,EAAE,CAACtS,KAAD,EAAQiyN,aAAR,KAA0B;AAC3BmuK,IAAAA,0BAA0B,CAACpgY,KAAD,EAAQ,cAAR,CAA1B;AACH;AAHiB,CAAtB;AAKA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,SAASoxa,eAAT,CAAyBzhI;AAAc;AAAvC,EAAuGpsJ,IAAI,GAAG,EAA9G,EAAkH;AAC9GovC,EAAAA,SAAS,IAAIq+O,2BAA2B,EAAxC;AACAr+O,EAAAA,SAAS,IAAI43M,mBAAmB,CAAC56F,aAAD,CAAhC;AACA,QAAM6vH,eAAe,GAAGj8Q,IAAI,CAACi8Q,eAAL,IAAwB/xB,mBAAhD;AACA,QAAM+b,SAAS,GAAGjmQ,IAAI,CAACimQ,SAAL,IAAkB,IAApC;AACA,QAAMqmB,YAAY,GAAGjpC,eAAe,CAACj3F,aAAD,CAApC;AACA,MAAIkgI,YAAY,CAAC9za,IAAb,IAAqB4zS,aAAzB,EACIkgI,YAAY,CAAC9za,IAAb,GAAoB4zS,aAApB,CAP0G,CAQ9G;;AACA,QAAM0hI,YAAY,GAAGxB,YAAY,CAAChhL,SAAb,CAAuB,CAAvB,EAA0B,CAA1B,CAArB;AACA,QAAMyiL,YAAY,GAAG9R,eAAe,CAAC9xB,cAAhB,CAA+B,IAA/B,EAAqC,IAArC,CAArB;AACA,QAAM6jC,SAAS,GAAGpN,iBAAiB,CAACmN,YAAD,EAAe/tR,IAAI,CAACllI,IAAL,IAAagzZ,YAA5B,EAA0CxB,YAAY,CAACl1M,aAAvD,CAAnC;AACA,QAAM62M,SAAS,GAAG3B,YAAY,CAAC3pC,MAAb,GAAsB;AAAG;AAAH,IAAiB;AAAI;AAA3C,IACd;AAAG;AAAH,IAAuB;AAAI;AAD/B;AAEA,QAAMxY,WAAW,GAAG+jD,iBAAiB,CAACluR,IAAI,CAAClvD,SAAN,EAAiBkvD,IAAI,CAAC6lR,aAAtB,CAArC;AACA,QAAMvkY,QAAQ,GAAG26X,eAAe,CAAC9xB,cAAhB,CAA+B6jC,SAA/B,EAA0C1B,YAA1C,CAAjB;AACA,QAAM6B,SAAS,GAAG/N,WAAW,CAAC;AAAE;AAAH,IAAe,IAAf,EAAqB,IAArB,EAA2B,CAA3B,EAA8B,CAA9B,EAAiC,IAAjC,EAAuC,IAAvC,EAA6C,IAA7C,EAAmD,IAAnD,EAAyD,IAAzD,CAA7B;AACA,QAAM5T,QAAQ,GAAG6R,WAAW,CAAC,IAAD,EAAO8P,SAAP,EAAkBhkD,WAAlB,EAA+B8jD,SAA/B,EAA0C,IAA1C,EAAgD,IAAhD,EAAsDhS,eAAtD,EAAuE36X,QAAvE,EAAiF,IAAjF,EAAuF0+G,IAAI,CAAC8rE,QAAL,IAAiB,IAAxG,CAA5B;AACA4iL,EAAAA,SAAS,CAAC8d,QAAD,CAAT;AACA,MAAIvwT,SAAJ;;AACA,MAAI;AACA,QAAIggU,eAAe,CAAChqU,KAApB,EACIgqU,eAAe,CAAChqU,KAAhB;AACJ,UAAMy2T,aAAa,GAAG0lB,uBAAuB,CAACJ,SAAD,EAAY1B,YAAZ,EAA0B9f,QAA1B,EAAoCyP,eAApC,EAAqD36X,QAArD,EAA+D2kX,SAA/D,CAA7C;AACAhqT,IAAAA,SAAS,GAAGoyU,mBAAmB,CAAC3lB,aAAD,EAAgB4jB,YAAhB,EAA8B9f,QAA9B,EAAwCriC,WAAxC,EAAqDnqO,IAAI,CAACsuR,YAAL,IAAqB,IAA1E,CAA/B,CAJA,CAKA;;AACApsV,IAAAA,UAAU,CAACisV,SAAD,EAAY3hB,QAAZ,EAAsB,IAAtB,CAAV,CANA,CAOA;;AACAwS,IAAAA,WAAW,CAACmP,SAAD,EAAY3hB,QAAZ,EAAsB,IAAtB,EAA4B,IAA5B,CAAX;AACH,GATD,SAUQ;AACJrd,IAAAA,SAAS;AACT,QAAI8sB,eAAe,CAAC1zV,GAApB,EACI0zV,eAAe,CAAC1zV,GAAhB;AACP;;AACD,SAAO0zB,SAAP;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASmyU,uBAAT,CAAiCphB,KAAjC,EAAwC7/O,GAAxC,EAA6Cq/O,QAA7C,EAAuDyP,eAAvD,EAAwE8R,YAAxE,EAAsF9nB,SAAtF,EAAiG;AAC7F,QAAM1lB,KAAK,GAAGisB,QAAQ,CAACpoB,KAAD,CAAtB;AACA,QAAMlwR,KAAK,GAAGqxR,aAAd;AACAn2M,EAAAA,SAAS,IAAIivM,kBAAkB,CAACmuB,QAAD,EAAWt4S,KAAX,CAA/B;AACAs4S,EAAAA,QAAQ,CAACt4S,KAAD,CAAR,GAAkB84S,KAAlB,CAJ6F,CAK7F;AACA;AACA;;AACA,QAAM1sB,KAAK,GAAGi+B,gBAAgB,CAACh+B,KAAD,EAAQrsR,KAAR,EAAe;AAAE;AAAjB,IAAgC,OAAhC,EAAyC,IAAzC,CAA9B;AACA,QAAM2kT,WAAW,GAAGv4B,KAAK,CAACu4B,WAAN,GAAoB1rP,GAAG,CAACy5K,SAA5C;;AACA,MAAIiyE,WAAW,KAAK,IAApB,EAA0B;AACtBgO,IAAAA,oBAAoB,CAACvmC,KAAD,EAAQu4B,WAAR,EAAqB,IAArB,CAApB;;AACA,QAAI7L,KAAK,KAAK,IAAd,EAAoB;AAChBta,MAAAA,eAAe,CAACq7B,YAAD,EAAe/gB,KAAf,EAAsB6L,WAAtB,CAAf;;AACA,UAAIv4B,KAAK,CAACjlU,OAAN,KAAkB,IAAtB,EAA4B;AACxB03V,QAAAA,gBAAgB,CAACgb,YAAD,EAAe/gB,KAAf,EAAsB1sB,KAAK,CAACjlU,OAA5B,CAAhB;AACH;;AACD,UAAIilU,KAAK,CAAC/mQ,MAAN,KAAiB,IAArB,EAA2B;AACvBu5R,QAAAA,gBAAgB,CAACib,YAAD,EAAe/gB,KAAf,EAAsB1sB,KAAK,CAAC/mQ,MAA5B,CAAhB;AACH;AACJ;AACJ;;AACD,QAAMg1S,YAAY,GAAGtS,eAAe,CAAC9xB,cAAhB,CAA+B6iB,KAA/B,EAAsC7/O,GAAtC,CAArB;AACA,QAAMu7O,aAAa,GAAG2V,WAAW,CAAC7R,QAAD,EAAW2T,yBAAyB,CAAChzP,GAAD,CAApC,EAA2C,IAA3C,EAAiDA,GAAG,CAACw1N,MAAJ,GAAa;AAAG;AAAhB,IAA8B;AAAG;AAAlF,IAAqG6pB,QAAQ,CAACt4S,KAAD,CAA7G,EAAsHosR,KAAtH,EAA6H27B,eAA7H,EAA8IsS,YAA9I,EAA4JtoB,SAAS,IAAI,IAAzK,EAA+K,IAA/K,CAAjC;;AACA,MAAI1lB,KAAK,CAACF,eAAV,EAA2B;AACvB8U,IAAAA,kBAAkB,CAACZ,8BAA8B,CAACjU,KAAD,EAAQksB,QAAR,CAA/B,EAAkDjsB,KAAlD,EAAyDpzN,GAAG,CAAC30K,IAA7D,CAAlB;AACA2ra,IAAAA,mBAAmB,CAAC5jC,KAAD,EAAQD,KAAR,CAAnB;AACA+iC,IAAAA,cAAc,CAAC/iC,KAAD,EAAQksB,QAAQ,CAAC1pZ,MAAjB,EAAyB,CAAzB,CAAd;AACH;;AACD0ha,EAAAA,aAAa,CAAChY,QAAD,EAAW9D,aAAX,CAAb,CA7B6F,CA8B7F;;AACA,SAAO8D,QAAQ,CAACt4S,KAAD,CAAR,GAAkBw0S,aAAzB;AACH;AACD;AACA;AACA;AACA;;;AACA,SAAS2lB,mBAAT,CAA6B3lB,aAA7B,EAA4C4jB,YAA5C,EAA0DkC,SAA1D,EAAqErkD,WAArE,EAAkFmkD,YAAlF,EAAgG;AAC5F,QAAM/tC,KAAK,GAAGiuC,SAAS,CAACpqC,KAAD,CAAvB,CAD4F,CAE5F;;AACA,QAAMnoS,SAAS,GAAG6mU,wBAAwB,CAACviC,KAAD,EAAQiuC,SAAR,EAAmBlC,YAAnB,CAA1C;AACAniD,EAAAA,WAAW,CAACn/B,UAAZ,CAAuBjxV,IAAvB,CAA4BkiG,SAA5B;AACAysT,EAAAA,aAAa,CAAC/jB,OAAD,CAAb,GAAyB1oS,SAAzB;AACAqyU,EAAAA,YAAY,IAAIA,YAAY,CAAC10a,OAAb,CAAsB8qC,OAAD,IAAaA,OAAO,CAACu3D,SAAD,EAAYqwU,YAAZ,CAAzC,CAAhB,CAN4F,CAO5F;AACA;;AACA,MAAIA,YAAY,CAAClmH,cAAjB,EAAiC;AAC7B,UAAMk6E,KAAK,GAAGmM,eAAe,EAA7B;AACAr9M,IAAAA,SAAS,IAAI8uM,aAAa,CAACoC,KAAD,EAAQ,gBAAR,CAA1B;AACAgsC,IAAAA,YAAY,CAAClmH,cAAb,CAA4B;AAAE;AAA9B,MAA4CnqN,SAA5C,EAAuDqkS,KAAK,CAAC8P,cAA7D;AACH;;AACD,QAAM2yB,SAAS,GAAGt2B,eAAe,EAAjC;AACAr9M,EAAAA,SAAS,IAAI8uM,aAAa,CAAC6kC,SAAD,EAAY,wCAAZ,CAA1B;;AACA,MAAIxiC,KAAK,CAACF,eAAN,KACCisC,YAAY,CAACv9E,YAAb,KAA8B,IAA9B,IAAsCu9E,YAAY,CAAC1lF,SAAb,KAA2B,IADlE,CAAJ,EAC6E;AACzE4oD,IAAAA,gBAAgB,CAACuzB,SAAS,CAAC7uT,KAAX,CAAhB;AACA,UAAMi6T,SAAS,GAAGK,SAAS,CAACpqC,KAAD,CAA3B;AACAu/B,IAAAA,0BAA0B,CAACwK,SAAD,EAAYpL,SAAZ,EAAuByL,SAAvB,EAAkCzL,SAAS,CAAC3yB,cAA5C,EAA4D2yB,SAAS,CAAC1yB,YAAtE,EAAoFi8B,YAApF,CAA1B;AACApI,IAAAA,gCAAgC,CAACoI,YAAD,EAAerwU,SAAf,CAAhC;AACH;;AACD,SAAOA,SAAP;AACH;;AACD,SAASiyU,iBAAT,CAA2Bp9U,SAA3B,EAAsC+0U,aAAtC,EAAqD;AACjD,SAAO;AACH76E,IAAAA,UAAU,EAAE,EADT;AAEHl6P,IAAAA,SAAS,EAAEA,SAAS,IAAI+5T,gBAFrB;AAGH8a,IAAAA,KAAK,EAAEa,aAHJ;AAIHX,IAAAA,aAAa,EAAEA,aAAa,IAAI,IAJ7B;AAKH5hR,IAAAA,KAAK,EAAE;AAAE;;AALN,GAAP;AAOH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASwqR,qBAAT,CAA+BxyU,SAA/B,EAA0CkxE,GAA1C,EAA+C;AAC3C,QAAMs5N,KAAK,GAAG6hB,gBAAgB,CAACrsT,SAAD,CAA9B;AACAmzF,EAAAA,SAAS,IAAI8uM,aAAa,CAACuI,KAAD,EAAQ,mBAAR,CAA1B;AACA,QAAMlG,KAAK,GAAGkG,KAAK,CAACrC,KAAD,CAAnB;AACA,QAAM9D,KAAK,GAAGmM,eAAe,EAA7B;AACAr9M,EAAAA,SAAS,IAAI8uM,aAAa,CAACoC,KAAD,EAAQ,mBAAR,CAA1B;AACA6P,EAAAA,sBAAsB,CAAC5P,KAAD,EAAQD,KAAR,CAAtB;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASouC,YAAT,CAAsBzyU,SAAtB,EAAiC;AAC7B,SAAOqwT,cAAc,CAACrwT,SAAD,CAAd,CAA0B0pU,KAAjC;AACH;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASgJ,YAAT,CAAsBn2a,IAAtB,EAA4B;AACxB,SAAO8W,MAAM,CAACosO,cAAP,CAAsBljP,IAAI,CAAC4E,SAA3B,EAAsC1F,WAA7C;AACH;AACD;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASk3a,0BAAT,CAAoCruK,UAApC,EAAgD;AAC5C,MAAIgnE,SAAS,GAAGonG,YAAY,CAACpuK,UAAU,CAAC/nQ,IAAZ,CAA5B;AACA,MAAIq2a,mBAAmB,GAAG,IAA1B;AACA,QAAMC,gBAAgB,GAAG,CAACvuK,UAAD,CAAzB;;AACA,SAAOgnE,SAAP,EAAkB;AACd,QAAIwnG,QAAQ,GAAGvrQ,SAAf;;AACA,QAAI8iO,cAAc,CAAC/lI,UAAD,CAAlB,EAAgC;AAC5B;AACAwuK,MAAAA,QAAQ,GAAGxnG,SAAS,CAACpwG,IAAV,IAAkBowG,SAAS,CAAC5mI,IAAvC;AACH,KAHD,MAIK;AACD,UAAI4mI,SAAS,CAACpwG,IAAd,EAAoB;AAChB,cAAM,IAAI5mN,KAAJ,CAAU,sCAAV,CAAN;AACH,OAHA,CAID;;;AACAw+Z,MAAAA,QAAQ,GAAGxnG,SAAS,CAAC5mI,IAArB;AACH;;AACD,QAAIouO,QAAJ,EAAc;AACV,UAAIF,mBAAJ,EAAyB;AACrBC,QAAAA,gBAAgB,CAAC/0a,IAAjB,CAAsBg1a,QAAtB,EADqB,CAErB;AACA;;AACA,cAAMC,YAAY,GAAGzuK,UAArB;AACAyuK,QAAAA,YAAY,CAAC3gN,MAAb,GAAsB4gN,gBAAgB,CAAC1uK,UAAU,CAAClyC,MAAZ,CAAtC;AACA2gN,QAAAA,YAAY,CAACzsC,cAAb,GAA8B0sC,gBAAgB,CAAC1uK,UAAU,CAACgiI,cAAZ,CAA9C;AACAysC,QAAAA,YAAY,CAACj2J,OAAb,GAAuBk2J,gBAAgB,CAAC1uK,UAAU,CAACwY,OAAZ,CAAvC,CAPqB,CAQrB;;AACA,cAAMm2J,iBAAiB,GAAGH,QAAQ,CAAChgF,YAAnC;AACAmgF,QAAAA,iBAAiB,IAAIC,mBAAmB,CAAC5uK,UAAD,EAAa2uK,iBAAb,CAAxC,CAVqB,CAWrB;;AACA,cAAME,cAAc,GAAGL,QAAQ,CAACrkK,SAAhC;AACA,cAAM2kK,mBAAmB,GAAGN,QAAQ,CAAC3oH,cAArC;AACAgpH,QAAAA,cAAc,IAAIE,gBAAgB,CAAC/uK,UAAD,EAAa6uK,cAAb,CAAlC;AACAC,QAAAA,mBAAmB,IAAIE,qBAAqB,CAAChvK,UAAD,EAAa8uK,mBAAb,CAA5C,CAfqB,CAgBrB;;AACA1zC,QAAAA,cAAc,CAACp7H,UAAU,CAAClyC,MAAZ,EAAoB0gN,QAAQ,CAAC1gN,MAA7B,CAAd;AACAstK,QAAAA,cAAc,CAACp7H,UAAU,CAACgiI,cAAZ,EAA4BwsC,QAAQ,CAACxsC,cAArC,CAAd;AACA5G,QAAAA,cAAc,CAACp7H,UAAU,CAACwY,OAAZ,EAAqBg2J,QAAQ,CAACh2J,OAA9B,CAAd,CAnBqB,CAoBrB;AACA;;AACA,YAAIutH,cAAc,CAACyoC,QAAD,CAAd,IAA4BA,QAAQ,CAAC51a,IAAT,CAAcuiF,SAA9C,EAAyD;AACrD;AACA;AACA,gBAAM8zV,OAAO,GAAGjvK,UAAU,CAACpnQ,IAA3B;AACAq2a,UAAAA,OAAO,CAAC9zV,SAAR,GAAoB,CAAC8zV,OAAO,CAAC9zV,SAAR,IAAqB,EAAtB,EAA0BtvE,MAA1B,CAAiC2ia,QAAQ,CAAC51a,IAAT,CAAcuiF,SAA/C,CAApB;AACH;AACJ,OA7BS,CA8BV;;;AACA,YAAMl4C,QAAQ,GAAGurY,QAAQ,CAACvrY,QAA1B;;AACA,UAAIA,QAAJ,EAAc;AACV,aAAK,IAAI7tC,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAG6tC,QAAQ,CAAC1gC,MAA7B,EAAqCnN,CAAC,EAAtC,EAA0C;AACtC,gBAAM+uC,OAAO,GAAGlB,QAAQ,CAAC7tC,CAAD,CAAxB;;AACA,cAAI+uC,OAAO,IAAIA,OAAO,CAACskW,SAAvB,EAAkC;AAC9BtkW,YAAAA,OAAO,CAAC67N,UAAD,CAAP;AACH,WAJqC,CAKtC;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,cAAI77N,OAAO,KAAKkqY,0BAAhB,EAA4C;AACxCC,YAAAA,mBAAmB,GAAG,KAAtB;AACH;AACJ;AACJ;AACJ;;AACDtnG,IAAAA,SAAS,GAAGj4T,MAAM,CAACosO,cAAP,CAAsB6rF,SAAtB,CAAZ;AACH;;AACDkoG,EAAAA,+BAA+B,CAACX,gBAAD,CAA/B;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASW,+BAAT,CAAyCX,gBAAzC,EAA2D;AACvD,MAAIpsC,QAAQ,GAAG,CAAf;AACA,MAAI97C,SAAS,GAAG,IAAhB,CAFuD,CAGvD;;AACA,OAAK,IAAIjxV,CAAC,GAAGm5a,gBAAgB,CAAChsa,MAAjB,GAA0B,CAAvC,EAA0CnN,CAAC,IAAI,CAA/C,EAAkDA,CAAC,EAAnD,EAAuD;AACnD,UAAMw3K,GAAG,GAAG2hQ,gBAAgB,CAACn5a,CAAD,CAA5B,CADmD,CAEnD;;AACAw3K,IAAAA,GAAG,CAACu1N,QAAJ,GAAgBA,QAAQ,IAAIv1N,GAAG,CAACu1N,QAAhC,CAHmD,CAInD;;AACAv1N,IAAAA,GAAG,CAACy5K,SAAJ,GACImsD,cAAc,CAAC5lO,GAAG,CAACy5K,SAAL,EAAgBA,SAAS,GAAGmsD,cAAc,CAACnsD,SAAD,EAAYz5K,GAAG,CAACy5K,SAAhB,CAA1C,CADlB;AAEH;AACJ;;AACD,SAASqoF,gBAAT,CAA0Btsa,KAA1B,EAAiC;AAC7B,MAAIA,KAAK,KAAKu/I,SAAd,EAAyB;AACrB,WAAO,EAAP;AACH,GAFD,MAGK,IAAIv/I,KAAK,KAAKg4R,WAAd,EAA2B;AAC5B,WAAO,EAAP;AACH,GAFI,MAGA;AACD,WAAOh4R,KAAP;AACH;AACJ;;AACD,SAAS2sa,gBAAT,CAA0B/uK,UAA1B,EAAsC6uK,cAAtC,EAAsD;AAClD,QAAMM,aAAa,GAAGnvK,UAAU,CAACmK,SAAjC;;AACA,MAAIglK,aAAJ,EAAmB;AACfnvK,IAAAA,UAAU,CAACmK,SAAX,GAAuB,CAAC60J,EAAD,EAAKnsP,GAAL,KAAa;AAChCg8P,MAAAA,cAAc,CAAC7P,EAAD,EAAKnsP,GAAL,CAAd;AACAs8P,MAAAA,aAAa,CAACnQ,EAAD,EAAKnsP,GAAL,CAAb;AACH,KAHD;AAIH,GALD,MAMK;AACDmtF,IAAAA,UAAU,CAACmK,SAAX,GAAuB0kK,cAAvB;AACH;AACJ;;AACD,SAASG,qBAAT,CAA+BhvK,UAA/B,EAA2C8uK,mBAA3C,EAAgE;AAC5D,QAAMM,kBAAkB,GAAGpvK,UAAU,CAAC6lD,cAAtC;;AACA,MAAIupH,kBAAJ,EAAwB;AACpBpvK,IAAAA,UAAU,CAAC6lD,cAAX,GAA4B,CAACm5G,EAAD,EAAKnsP,GAAL,EAAUizI,cAAV,KAA6B;AACrDgpH,MAAAA,mBAAmB,CAAC9P,EAAD,EAAKnsP,GAAL,EAAUizI,cAAV,CAAnB;AACAspH,MAAAA,kBAAkB,CAACpQ,EAAD,EAAKnsP,GAAL,EAAUizI,cAAV,CAAlB;AACH,KAHD;AAIH,GALD,MAMK;AACD9lD,IAAAA,UAAU,CAAC6lD,cAAX,GAA4BipH,mBAA5B;AACH;AACJ;;AACD,SAASF,mBAAT,CAA6B5uK,UAA7B,EAAyC2uK,iBAAzC,EAA4D;AACxD,QAAMU,gBAAgB,GAAGrvK,UAAU,CAACwuF,YAApC;;AACA,MAAI6gF,gBAAJ,EAAsB;AAClBrvK,IAAAA,UAAU,CAACwuF,YAAX,GAA0B,CAACwwE,EAAD,EAAKnsP,GAAL,KAAa;AACnC87P,MAAAA,iBAAiB,CAAC3P,EAAD,EAAKnsP,GAAL,CAAjB;AACAw8P,MAAAA,gBAAgB,CAACrQ,EAAD,EAAKnsP,GAAL,CAAhB;AACH,KAHD;AAIH,GALD,MAMK;AACDmtF,IAAAA,UAAU,CAACwuF,YAAX,GAA0BmgF,iBAA1B;AACH;AACJ;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;AACA;AACA;;;AACA,MAAMW,qBAAqB,GAAG,CAC1B;AACA,mBAF0B,CAG1B;AACA;AAJ0B,CAA9B;AAMA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,MAAMC,qBAAqB,GAAG,CAC1B;AACA;AACA,UAH0B,EAI1B,OAJ0B,EAK1B,QAL0B,EAM1B,MAN0B,EAO1B,QAP0B,EAQ1B,oBAR0B,EAS1B;AACA,QAV0B,EAW1B,eAX0B,EAY1B;AACA,SAb0B,CAA9B;AAeA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,SAASC,uBAAT,CAAiCxvK,UAAjC,EAA6C;AACzC,MAAIgnE,SAAS,GAAGonG,YAAY,CAACpuK,UAAU,CAAC/nQ,IAAZ,CAA5B;AACA,MAAIu2a,QAAQ,GAAGvrQ,SAAf;;AACA,MAAI8iO,cAAc,CAAC/lI,UAAD,CAAlB,EAAgC;AAC5B;AACAwuK,IAAAA,QAAQ,GAAGxnG,SAAS,CAACpwG,IAArB;AACH,GAHD,MAIK;AACD;AACA43M,IAAAA,QAAQ,GAAGxnG,SAAS,CAAC5mI,IAArB;AACH,GAVwC,CAWzC;;;AACA,QAAMqvO,MAAM,GAAGzvK,UAAf,CAZyC,CAazC;;AACA,OAAK,MAAMl7P,KAAX,IAAoBwqa,qBAApB,EAA2C;AACvCG,IAAAA,MAAM,CAAC3qa,KAAD,CAAN,GAAgB0pa,QAAQ,CAAC1pa,KAAD,CAAxB;AACH;;AACD,MAAIihY,cAAc,CAACyoC,QAAD,CAAlB,EAA8B;AAC1B;AACA,SAAK,MAAM1pa,KAAX,IAAoByqa,qBAApB,EAA2C;AACvCE,MAAAA,MAAM,CAAC3qa,KAAD,CAAN,GAAgB0pa,QAAQ,CAAC1pa,KAAD,CAAxB;AACH;AACJ;AACJ;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,IAAI4qa,eAAe,GAAG,IAAtB;;AACA,SAASC,iBAAT,GAA6B;AACzB,MAAI,CAACD,eAAL,EAAsB;AAClB,UAAMjga,MAAM,GAAG49P,OAAO,CAAC,QAAD,CAAtB;;AACA,QAAI59P,MAAM,IAAIA,MAAM,CAACu5J,QAArB,EAA+B;AAC3B0mQ,MAAAA,eAAe,GAAGjga,MAAM,CAACu5J,QAAzB;AACH,KAFD,MAGK;AACD;AACA,YAAM/0J,IAAI,GAAGlF,MAAM,CAACy2D,mBAAP,CAA2Bn+D,GAAG,CAACxK,SAA/B,CAAb;;AACA,WAAK,IAAIzH,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAG6e,IAAI,CAAC1R,MAAzB,EAAiC,EAAEnN,CAAnC,EAAsC;AAClC,cAAMkL,GAAG,GAAG2T,IAAI,CAAC7e,CAAD,CAAhB;;AACA,YAAIkL,GAAG,KAAK,SAAR,IAAqBA,GAAG,KAAK,MAA7B,IACA+G,GAAG,CAACxK,SAAJ,CAAcyD,GAAd,MAAuB+G,GAAG,CAACxK,SAAJ,CAAc,SAAd,CAD3B,EACqD;AACjD6ya,UAAAA,eAAe,GAAGpva,GAAlB;AACH;AACJ;AACJ;AACJ;;AACD,SAAOova,eAAP;AACH;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASE,YAAT,CAAsB56a,CAAtB,EAAyBuB,CAAzB,EAA4B;AACxB,QAAMs5a,mBAAmB,GAAGC,kBAAkB,CAAC96a,CAAD,CAA9C;AACA,QAAM+6a,mBAAmB,GAAGD,kBAAkB,CAACv5a,CAAD,CAA9C;;AACA,MAAIs5a,mBAAmB,IAAIE,mBAA3B,EAAgD;AAC5C,WAAOC,iBAAiB,CAACh7a,CAAD,EAAIuB,CAAJ,EAAOq5a,YAAP,CAAxB;AACH,GAFD,MAGK;AACD,UAAMK,SAAS,GAAGj7a,CAAC,KAAK,OAAOA,CAAP,KAAa,QAAb,IAAyB,OAAOA,CAAP,KAAa,UAA3C,CAAnB;AACA,UAAMk7a,SAAS,GAAG35a,CAAC,KAAK,OAAOA,CAAP,KAAa,QAAb,IAAyB,OAAOA,CAAP,KAAa,UAA3C,CAAnB;;AACA,QAAI,CAACs5a,mBAAD,IAAwBI,SAAxB,IAAqC,CAACF,mBAAtC,IAA6DG,SAAjE,EAA4E;AACxE,aAAO,IAAP;AACH,KAFD,MAGK;AACD,aAAOnha,MAAM,CAACguJ,EAAP,CAAU/nK,CAAV,EAAauB,CAAb,CAAP;AACH;AACJ;AACJ;;AACD,SAASu5a,kBAAT,CAA4BvoQ,GAA5B,EAAiC;AAC7B,MAAI,CAAC4oQ,UAAU,CAAC5oQ,GAAD,CAAf,EACI,OAAO,KAAP;AACJ,SAAOtsK,KAAK,CAACC,OAAN,CAAcqsK,GAAd,KACF,EAAEA,GAAG,YAAYlgK,GAAjB,KAAyB;AACtBsoa,EAAAA,iBAAiB,MAAMpoQ,GAF/B,CAH6B,CAKQ;AACxC;;AACD,SAASyoQ,iBAAT,CAA2Bh7a,CAA3B,EAA8BuB,CAA9B,EAAiC65a,UAAjC,EAA6C;AACzC,QAAMC,SAAS,GAAGr7a,CAAC,CAAC26a,iBAAiB,EAAlB,CAAD,EAAlB;AACA,QAAMW,SAAS,GAAG/5a,CAAC,CAACo5a,iBAAiB,EAAlB,CAAD,EAAlB;;AACA,SAAO,IAAP,EAAa;AACT,UAAMY,KAAK,GAAGF,SAAS,CAACjha,IAAV,EAAd;AACA,UAAMoha,KAAK,GAAGF,SAAS,CAAClha,IAAV,EAAd;AACA,QAAImha,KAAK,CAACjha,IAAN,IAAckha,KAAK,CAAClha,IAAxB,EACI,OAAO,IAAP;AACJ,QAAIiha,KAAK,CAACjha,IAAN,IAAckha,KAAK,CAAClha,IAAxB,EACI,OAAO,KAAP;AACJ,QAAI,CAAC8ga,UAAU,CAACG,KAAK,CAACnua,KAAP,EAAcoua,KAAK,CAACpua,KAApB,CAAf,EACI,OAAO,KAAP;AACP;AACJ;;AACD,SAASqua,eAAT,CAAyBlpQ,GAAzB,EAA8B36I,EAA9B,EAAkC;AAC9B,MAAI3xB,KAAK,CAACC,OAAN,CAAcqsK,GAAd,CAAJ,EAAwB;AACpB,SAAK,IAAInyK,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGmyK,GAAG,CAAChlK,MAAxB,EAAgCnN,CAAC,EAAjC,EAAqC;AACjCw3B,MAAAA,EAAE,CAAC26I,GAAG,CAACnyK,CAAD,CAAJ,CAAF;AACH;AACJ,GAJD,MAKK;AACD,UAAM4zK,QAAQ,GAAGzB,GAAG,CAACooQ,iBAAiB,EAAlB,CAAH,EAAjB;AACA,QAAIr3a,IAAJ;;AACA,WAAO,CAAE,CAACA,IAAI,GAAG0wK,QAAQ,CAAC55J,IAAT,EAAR,EAAyBE,IAAlC,EAAyC;AACrCsd,MAAAA,EAAE,CAACt0B,IAAI,CAAC8J,KAAN,CAAF;AACH;AACJ;AACJ;;AACD,SAAS+ta,UAAT,CAAoBj7a,CAApB,EAAuB;AACnB,SAAOA,CAAC,KAAK,IAAN,KAAe,OAAOA,CAAP,KAAa,UAAb,IAA2B,OAAOA,CAAP,KAAa,QAAvD,CAAP;AACH;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;;;AACA,SAASw7a,aAAT,CAAuBxqC,KAAvB,EAA8Bx2B,YAA9B,EAA4CttW,KAA5C,EAAmD;AAC/C,SAAO8jY,KAAK,CAACx2B,YAAD,CAAL,GAAsBttW,KAA7B;AACH;AACD;;;AACA,SAASuua,UAAT,CAAoBzqC,KAApB,EAA2Bx2B,YAA3B,EAAyC;AACrC7gL,EAAAA,SAAS,IAAIivM,kBAAkB,CAACoI,KAAD,EAAQx2B,YAAR,CAA/B;AACA7gL,EAAAA,SAAS,IACL0uM,aAAa,CAAC2I,KAAK,CAACx2B,YAAD,CAAN,EAAsBylD,SAAtB,EAAiC,yCAAjC,CADjB;AAEA,SAAOjvB,KAAK,CAACx2B,YAAD,CAAZ;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASkhE,cAAT,CAAwB1qC,KAAxB,EAA+Bx2B,YAA/B,EAA6CttW,KAA7C,EAAoD;AAChDysL,EAAAA,SAAS,IAAI0uM,aAAa,CAACn7X,KAAD,EAAQ+yZ,SAAR,EAAmB,2CAAnB,CAA1B;AACAtmO,EAAAA,SAAS,IACL2uM,cAAc,CAAC9tB,YAAD,EAAew2B,KAAK,CAAC3jY,MAArB,EAA8B,gDAA9B,CADlB;AAEA,QAAM64D,QAAQ,GAAG8qU,KAAK,CAACx2B,YAAD,CAAtB;;AACA,MAAI3gW,MAAM,CAACguJ,EAAP,CAAU3hG,QAAV,EAAoBh5D,KAApB,CAAJ,EAAgC;AAC5B,WAAO,KAAP;AACH,GAFD,MAGK;AACD,QAAIysL,SAAS,IAAIu8M,sBAAsB,EAAvC,EAA2C;AACvC;AACA;AACA,YAAMylC,iBAAiB,GAAGz1W,QAAQ,KAAK+5V,SAAb,GAAyB/5V,QAAzB,GAAoC6nG,SAA9D;;AACA,UAAI,CAAC2sQ,YAAY,CAACiB,iBAAD,EAAoBzua,KAApB,CAAjB,EAA6C;AACzC,cAAM+kB,OAAO,GAAGkkY,gCAAgC,CAACnlB,KAAD,EAAQx2B,YAAR,EAAsBmhE,iBAAtB,EAAyCzua,KAAzC,CAAhD;AACAyoZ,QAAAA,yBAAyB,CAACzvV,QAAQ,KAAK+5V,SAAd,EAAyBhuY,OAAO,CAACi0C,QAAjC,EAA2Cj0C,OAAO,CAACk0C,QAAnD,EAA6Dl0C,OAAO,CAAC2rI,QAArE,CAAzB;AACH,OAPsC,CAQvC;AACA;AACA;AACA;;;AACA,aAAO,KAAP;AACH;;AACDozO,IAAAA,KAAK,CAACx2B,YAAD,CAAL,GAAsBttW,KAAtB;AACA,WAAO,IAAP;AACH;AACJ;AACD;;;AACA,SAAS0ua,eAAT,CAAyB5qC,KAAzB,EAAgCx2B,YAAhC,EAA8CqhE,IAA9C,EAAoDC,IAApD,EAA0D;AACtD,QAAMC,SAAS,GAAGL,cAAc,CAAC1qC,KAAD,EAAQx2B,YAAR,EAAsBqhE,IAAtB,CAAhC;AACA,SAAOH,cAAc,CAAC1qC,KAAD,EAAQx2B,YAAY,GAAG,CAAvB,EAA0BshE,IAA1B,CAAd,IAAiDC,SAAxD;AACH;AACD;;;AACA,SAASC,eAAT,CAAyBhrC,KAAzB,EAAgCx2B,YAAhC,EAA8CqhE,IAA9C,EAAoDC,IAApD,EAA0DG,IAA1D,EAAgE;AAC5D,QAAMF,SAAS,GAAGH,eAAe,CAAC5qC,KAAD,EAAQx2B,YAAR,EAAsBqhE,IAAtB,EAA4BC,IAA5B,CAAjC;AACA,SAAOJ,cAAc,CAAC1qC,KAAD,EAAQx2B,YAAY,GAAG,CAAvB,EAA0ByhE,IAA1B,CAAd,IAAiDF,SAAxD;AACH;AACD;;;AACA,SAASG,eAAT,CAAyBlrC,KAAzB,EAAgCx2B,YAAhC,EAA8CqhE,IAA9C,EAAoDC,IAApD,EAA0DG,IAA1D,EAAgEE,IAAhE,EAAsE;AAClE,QAAMJ,SAAS,GAAGH,eAAe,CAAC5qC,KAAD,EAAQx2B,YAAR,EAAsBqhE,IAAtB,EAA4BC,IAA5B,CAAjC;AACA,SAAOF,eAAe,CAAC5qC,KAAD,EAAQx2B,YAAY,GAAG,CAAvB,EAA0ByhE,IAA1B,EAAgCE,IAAhC,CAAf,IAAwDJ,SAA/D;AACH;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASK,WAAT,CAAqBxia,IAArB,EAA2B1M,KAA3B,EAAkCsjZ,SAAlC,EAA6CpwP,SAA7C,EAAwD;AACpD,QAAM4wO,KAAK,GAAG2F,QAAQ,EAAtB;AACA,QAAMn8B,YAAY,GAAGs9B,gBAAgB,EAArC;;AACA,MAAI4jC,cAAc,CAAC1qC,KAAD,EAAQx2B,YAAR,EAAsBttW,KAAtB,CAAlB,EAAgD;AAC5C,UAAM49X,KAAK,GAAG8L,QAAQ,EAAtB;AACA,UAAM/L,KAAK,GAAGmP,gBAAgB,EAA9B;AACAg1B,IAAAA,wBAAwB,CAACnkC,KAAD,EAAQmG,KAAR,EAAep3X,IAAf,EAAqB1M,KAArB,EAA4BsjZ,SAA5B,EAAuCpwP,SAAvC,CAAxB;AACAu5B,IAAAA,SAAS,IAAIg3O,4BAA4B,CAAC7lC,KAAK,CAACpnY,IAAP,EAAamnY,KAAb,EAAoB,UAAUjxX,IAA9B,EAAoC4gW,YAApC,CAAzC;AACH;;AACD,SAAO4hE,WAAP;AACH;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASC,cAAT,CAAwBrrC,KAAxB,EAA+BtyV,MAA/B,EAAuC;AACnCi7I,EAAAA,SAAS,IAAI2uM,cAAc,CAAC,CAAD,EAAI5pV,MAAM,CAACrxC,MAAX,EAAmB,+BAAnB,CAA3B;AACAssL,EAAAA,SAAS,IAAIsuM,WAAW,CAACvpV,MAAM,CAACrxC,MAAP,GAAgB,CAAjB,EAAoB,CAApB,EAAuB,qCAAvB,CAAxB;AACA,MAAIiva,gBAAgB,GAAG,KAAvB;AACA,MAAI9hE,YAAY,GAAGo9B,eAAe,EAAlC;;AACA,OAAK,IAAI13Y,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGw+C,MAAM,CAACrxC,MAA3B,EAAmCnN,CAAC,IAAI,CAAxC,EAA2C;AACvC;AACAo8a,IAAAA,gBAAgB,GAAGZ,cAAc,CAAC1qC,KAAD,EAAQx2B,YAAY,EAApB,EAAwB97T,MAAM,CAACx+C,CAAD,CAA9B,CAAd,IAAoDo8a,gBAAvE;AACH;;AACDzkC,EAAAA,eAAe,CAACr9B,YAAD,CAAf;;AACA,MAAI,CAAC8hE,gBAAL,EAAuB;AACnB,WAAOrc,SAAP;AACH,GAZkC,CAanC;;;AACA,MAAIzzZ,OAAO,GAAGkyC,MAAM,CAAC,CAAD,CAApB;;AACA,OAAK,IAAIx+C,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGw+C,MAAM,CAACrxC,MAA3B,EAAmCnN,CAAC,IAAI,CAAxC,EAA2C;AACvCsM,IAAAA,OAAO,IAAIo6X,eAAe,CAACloV,MAAM,CAACx+C,CAAD,CAAP,CAAf,GAA6Bw+C,MAAM,CAACx+C,CAAC,GAAG,CAAL,CAA9C;AACH;;AACD,SAAOsM,OAAP;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAAS+va,cAAT,CAAwBvrC,KAAxB,EAA+B9/I,MAA/B,EAAuCsrL,EAAvC,EAA2CjrI,MAA3C,EAAmD;AAC/C,QAAMwqI,SAAS,GAAGL,cAAc,CAAC1qC,KAAD,EAAQ8G,gBAAgB,EAAxB,EAA4B0kC,EAA5B,CAAhC;AACA,SAAOT,SAAS,GAAG7qL,MAAM,GAAG01I,eAAe,CAAC41C,EAAD,CAAxB,GAA+BjrI,MAAlC,GAA2C0uH,SAA3D;AACH;AACD;AACA;AACA;;;AACA,SAASwc,cAAT,CAAwBzrC,KAAxB,EAA+B9/I,MAA/B,EAAuCsrL,EAAvC,EAA2C5wQ,EAA3C,EAA+C8wQ,EAA/C,EAAmDnrI,MAAnD,EAA2D;AACvD,QAAMipE,YAAY,GAAGo9B,eAAe,EAApC;AACA,QAAMmkC,SAAS,GAAGH,eAAe,CAAC5qC,KAAD,EAAQx2B,YAAR,EAAsBgiE,EAAtB,EAA0BE,EAA1B,CAAjC;AACA3kC,EAAAA,qBAAqB,CAAC,CAAD,CAArB;AACA,SAAOgkC,SAAS,GAAG7qL,MAAM,GAAG01I,eAAe,CAAC41C,EAAD,CAAxB,GAA+B5wQ,EAA/B,GAAoCg7N,eAAe,CAAC81C,EAAD,CAAnD,GAA0DnrI,MAA7D,GAAsE0uH,SAAtF;AACH;AACD;AACA;AACA;;;AACA,SAAS0c,cAAT,CAAwB3rC,KAAxB,EAA+B9/I,MAA/B,EAAuCsrL,EAAvC,EAA2C5wQ,EAA3C,EAA+C8wQ,EAA/C,EAAmD39O,EAAnD,EAAuD69O,EAAvD,EAA2DrrI,MAA3D,EAAmE;AAC/D,QAAMipE,YAAY,GAAGo9B,eAAe,EAApC;AACA,QAAMmkC,SAAS,GAAGC,eAAe,CAAChrC,KAAD,EAAQx2B,YAAR,EAAsBgiE,EAAtB,EAA0BE,EAA1B,EAA8BE,EAA9B,CAAjC;AACA7kC,EAAAA,qBAAqB,CAAC,CAAD,CAArB;AACA,SAAOgkC,SAAS,GACZ7qL,MAAM,GAAG01I,eAAe,CAAC41C,EAAD,CAAxB,GAA+B5wQ,EAA/B,GAAoCg7N,eAAe,CAAC81C,EAAD,CAAnD,GAA0D39O,EAA1D,GAA+D6nM,eAAe,CAACg2C,EAAD,CAA9E,GAAqFrrI,MADzE,GAEZ0uH,SAFJ;AAGH;AACD;AACA;AACA;;;AACA,SAAS4c,cAAT,CAAwB7rC,KAAxB,EAA+B9/I,MAA/B,EAAuCsrL,EAAvC,EAA2C5wQ,EAA3C,EAA+C8wQ,EAA/C,EAAmD39O,EAAnD,EAAuD69O,EAAvD,EAA2DhxR,EAA3D,EAA+DkxR,EAA/D,EAAmEvrI,MAAnE,EAA2E;AACvE,QAAMipE,YAAY,GAAGo9B,eAAe,EAApC;AACA,QAAMmkC,SAAS,GAAGG,eAAe,CAAClrC,KAAD,EAAQx2B,YAAR,EAAsBgiE,EAAtB,EAA0BE,EAA1B,EAA8BE,EAA9B,EAAkCE,EAAlC,CAAjC;AACA/kC,EAAAA,qBAAqB,CAAC,CAAD,CAArB;AACA,SAAOgkC,SAAS,GAAG7qL,MAAM,GAAG01I,eAAe,CAAC41C,EAAD,CAAxB,GAA+B5wQ,EAA/B,GAAoCg7N,eAAe,CAAC81C,EAAD,CAAnD,GAA0D39O,EAA1D,GACf6nM,eAAe,CAACg2C,EAAD,CADA,GACOhxR,EADP,GACYg7O,eAAe,CAACk2C,EAAD,CAD3B,GACkCvrI,MADrC,GAEZ0uH,SAFJ;AAGH;AACD;AACA;AACA;;;AACA,SAAS8c,cAAT,CAAwB/rC,KAAxB,EAA+B9/I,MAA/B,EAAuCsrL,EAAvC,EAA2C5wQ,EAA3C,EAA+C8wQ,EAA/C,EAAmD39O,EAAnD,EAAuD69O,EAAvD,EAA2DhxR,EAA3D,EAA+DkxR,EAA/D,EAAmE3iK,EAAnE,EAAuE6iK,EAAvE,EAA2EzrI,MAA3E,EAAmF;AAC/E,QAAMipE,YAAY,GAAGo9B,eAAe,EAApC;AACA,MAAImkC,SAAS,GAAGG,eAAe,CAAClrC,KAAD,EAAQx2B,YAAR,EAAsBgiE,EAAtB,EAA0BE,EAA1B,EAA8BE,EAA9B,EAAkCE,EAAlC,CAA/B;AACAf,EAAAA,SAAS,GAAGL,cAAc,CAAC1qC,KAAD,EAAQx2B,YAAY,GAAG,CAAvB,EAA0BwiE,EAA1B,CAAd,IAA+CjB,SAA3D;AACAhkC,EAAAA,qBAAqB,CAAC,CAAD,CAArB;AACA,SAAOgkC,SAAS,GAAG7qL,MAAM,GAAG01I,eAAe,CAAC41C,EAAD,CAAxB,GAA+B5wQ,EAA/B,GAAoCg7N,eAAe,CAAC81C,EAAD,CAAnD,GAA0D39O,EAA1D,GACf6nM,eAAe,CAACg2C,EAAD,CADA,GACOhxR,EADP,GACYg7O,eAAe,CAACk2C,EAAD,CAD3B,GACkC3iK,EADlC,GACuCysH,eAAe,CAACo2C,EAAD,CADtD,GAC6DzrI,MADhE,GAEZ0uH,SAFJ;AAGH;AACD;AACA;AACA;;;AACA,SAASgd,cAAT,CAAwBjsC,KAAxB,EAA+B9/I,MAA/B,EAAuCsrL,EAAvC,EAA2C5wQ,EAA3C,EAA+C8wQ,EAA/C,EAAmD39O,EAAnD,EAAuD69O,EAAvD,EAA2DhxR,EAA3D,EAA+DkxR,EAA/D,EAAmE3iK,EAAnE,EAAuE6iK,EAAvE,EAA2EE,EAA3E,EAA+EC,EAA/E,EAAmF5rI,MAAnF,EAA2F;AACvF,QAAMipE,YAAY,GAAGo9B,eAAe,EAApC;AACA,MAAImkC,SAAS,GAAGG,eAAe,CAAClrC,KAAD,EAAQx2B,YAAR,EAAsBgiE,EAAtB,EAA0BE,EAA1B,EAA8BE,EAA9B,EAAkCE,EAAlC,CAA/B;AACAf,EAAAA,SAAS,GAAGH,eAAe,CAAC5qC,KAAD,EAAQx2B,YAAY,GAAG,CAAvB,EAA0BwiE,EAA1B,EAA8BG,EAA9B,CAAf,IAAoDpB,SAAhE;AACAhkC,EAAAA,qBAAqB,CAAC,CAAD,CAArB;AACA,SAAOgkC,SAAS,GACZ7qL,MAAM,GAAG01I,eAAe,CAAC41C,EAAD,CAAxB,GAA+B5wQ,EAA/B,GAAoCg7N,eAAe,CAAC81C,EAAD,CAAnD,GAA0D39O,EAA1D,GAA+D6nM,eAAe,CAACg2C,EAAD,CAA9E,GAAqFhxR,EAArF,GACIg7O,eAAe,CAACk2C,EAAD,CADnB,GAC0B3iK,EAD1B,GAC+BysH,eAAe,CAACo2C,EAAD,CAD9C,GACqDE,EADrD,GAC0Dt2C,eAAe,CAACu2C,EAAD,CADzE,GACgF5rI,MAFpE,GAGZ0uH,SAHJ;AAIH;AACD;AACA;AACA;;;AACA,SAASmd,cAAT,CAAwBpsC,KAAxB,EAA+B9/I,MAA/B,EAAuCsrL,EAAvC,EAA2C5wQ,EAA3C,EAA+C8wQ,EAA/C,EAAmD39O,EAAnD,EAAuD69O,EAAvD,EAA2DhxR,EAA3D,EAA+DkxR,EAA/D,EAAmE3iK,EAAnE,EAAuE6iK,EAAvE,EAA2EE,EAA3E,EAA+EC,EAA/E,EAAmFviO,EAAnF,EAAuFyiO,EAAvF,EAA2F9rI,MAA3F,EAAmG;AAC/F,QAAMipE,YAAY,GAAGo9B,eAAe,EAApC;AACA,MAAImkC,SAAS,GAAGG,eAAe,CAAClrC,KAAD,EAAQx2B,YAAR,EAAsBgiE,EAAtB,EAA0BE,EAA1B,EAA8BE,EAA9B,EAAkCE,EAAlC,CAA/B;AACAf,EAAAA,SAAS,GAAGC,eAAe,CAAChrC,KAAD,EAAQx2B,YAAY,GAAG,CAAvB,EAA0BwiE,EAA1B,EAA8BG,EAA9B,EAAkCE,EAAlC,CAAf,IAAwDtB,SAApE;AACAhkC,EAAAA,qBAAqB,CAAC,CAAD,CAArB;AACA,SAAOgkC,SAAS,GAAG7qL,MAAM,GAAG01I,eAAe,CAAC41C,EAAD,CAAxB,GAA+B5wQ,EAA/B,GAAoCg7N,eAAe,CAAC81C,EAAD,CAAnD,GAA0D39O,EAA1D,GACf6nM,eAAe,CAACg2C,EAAD,CADA,GACOhxR,EADP,GACYg7O,eAAe,CAACk2C,EAAD,CAD3B,GACkC3iK,EADlC,GACuCysH,eAAe,CAACo2C,EAAD,CADtD,GAC6DE,EAD7D,GAEft2C,eAAe,CAACu2C,EAAD,CAFA,GAEOviO,EAFP,GAEYgsL,eAAe,CAACy2C,EAAD,CAF3B,GAEkC9rI,MAFrC,GAGZ0uH,SAHJ;AAIH;AACD;AACA;AACA;;;AACA,SAASqd,cAAT,CAAwBtsC,KAAxB,EAA+B9/I,MAA/B,EAAuCsrL,EAAvC,EAA2C5wQ,EAA3C,EAA+C8wQ,EAA/C,EAAmD39O,EAAnD,EAAuD69O,EAAvD,EAA2DhxR,EAA3D,EAA+DkxR,EAA/D,EAAmE3iK,EAAnE,EAAuE6iK,EAAvE,EAA2EE,EAA3E,EAA+EC,EAA/E,EAAmFviO,EAAnF,EAAuFyiO,EAAvF,EAA2F/iO,EAA3F,EAA+FijO,EAA/F,EAAmGhsI,MAAnG,EAA2G;AACvG,QAAMipE,YAAY,GAAGo9B,eAAe,EAApC;AACA,MAAImkC,SAAS,GAAGG,eAAe,CAAClrC,KAAD,EAAQx2B,YAAR,EAAsBgiE,EAAtB,EAA0BE,EAA1B,EAA8BE,EAA9B,EAAkCE,EAAlC,CAA/B;AACAf,EAAAA,SAAS,GAAGG,eAAe,CAAClrC,KAAD,EAAQx2B,YAAY,GAAG,CAAvB,EAA0BwiE,EAA1B,EAA8BG,EAA9B,EAAkCE,EAAlC,EAAsCE,EAAtC,CAAf,IAA4DxB,SAAxE;AACAhkC,EAAAA,qBAAqB,CAAC,CAAD,CAArB;AACA,SAAOgkC,SAAS,GAAG7qL,MAAM,GAAG01I,eAAe,CAAC41C,EAAD,CAAxB,GAA+B5wQ,EAA/B,GAAoCg7N,eAAe,CAAC81C,EAAD,CAAnD,GAA0D39O,EAA1D,GACf6nM,eAAe,CAACg2C,EAAD,CADA,GACOhxR,EADP,GACYg7O,eAAe,CAACk2C,EAAD,CAD3B,GACkC3iK,EADlC,GACuCysH,eAAe,CAACo2C,EAAD,CADtD,GAC6DE,EAD7D,GAEft2C,eAAe,CAACu2C,EAAD,CAFA,GAEOviO,EAFP,GAEYgsL,eAAe,CAACy2C,EAAD,CAF3B,GAEkC/iO,EAFlC,GAEuCssL,eAAe,CAAC22C,EAAD,CAFtD,GAE6DhsI,MAFhE,GAGZ0uH,SAHJ;AAIH;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASud,uBAAT,CAAiCx7Q,QAAjC,EAA2CkvF,MAA3C,EAAmDsrL,EAAnD,EAAuDjrI,MAAvD,EAA+Di/G,SAA/D,EAA0EpwP,SAA1E,EAAqF;AACjF,QAAM4wO,KAAK,GAAG2F,QAAQ,EAAtB;AACA,QAAM8mC,iBAAiB,GAAGlB,cAAc,CAACvrC,KAAD,EAAQ9/I,MAAR,EAAgBsrL,EAAhB,EAAoBjrI,MAApB,CAAxC;;AACA,MAAIksI,iBAAiB,KAAKxd,SAA1B,EAAqC;AACjC,UAAMp1B,KAAK,GAAGmP,gBAAgB,EAA9B;AACAg1B,IAAAA,wBAAwB,CAACnkC,KAAD,EAAQmG,KAAR,EAAehvO,QAAf,EAAyBy7Q,iBAAzB,EAA4CjtB,SAA5C,EAAuDpwP,SAAvD,CAAxB;AACAu5B,IAAAA,SAAS,IACLg3O,4BAA4B,CAAC/5B,QAAQ,GAAGlzY,IAAZ,EAAkBmnY,KAAlB,EAAyB,UAAU7oO,QAAnC,EAA6C41O,eAAe,KAAK,CAAjE,EAAoE1mJ,MAApE,EAA4EqgD,MAA5E,CADhC;AAEH;;AACD,SAAOisI,uBAAP;AACH;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,SAASE,uBAAT,CAAiC17Q,QAAjC,EAA2CkvF,MAA3C,EAAmDsrL,EAAnD,EAAuD5wQ,EAAvD,EAA2D8wQ,EAA3D,EAA+DnrI,MAA/D,EAAuEi/G,SAAvE,EAAkFpwP,SAAlF,EAA6F;AACzF,QAAM4wO,KAAK,GAAG2F,QAAQ,EAAtB;AACA,QAAM8mC,iBAAiB,GAAGhB,cAAc,CAACzrC,KAAD,EAAQ9/I,MAAR,EAAgBsrL,EAAhB,EAAoB5wQ,EAApB,EAAwB8wQ,EAAxB,EAA4BnrI,MAA5B,CAAxC;;AACA,MAAIksI,iBAAiB,KAAKxd,SAA1B,EAAqC;AACjC,UAAMp1B,KAAK,GAAGmP,gBAAgB,EAA9B;AACAg1B,IAAAA,wBAAwB,CAACnkC,KAAD,EAAQmG,KAAR,EAAehvO,QAAf,EAAyBy7Q,iBAAzB,EAA4CjtB,SAA5C,EAAuDpwP,SAAvD,CAAxB;AACAu5B,IAAAA,SAAS,IACLg3O,4BAA4B,CAAC/5B,QAAQ,GAAGlzY,IAAZ,EAAkBmnY,KAAlB,EAAyB,UAAU7oO,QAAnC,EAA6C41O,eAAe,KAAK,CAAjE,EAAoE1mJ,MAApE,EAA4EtlF,EAA5E,EAAgF2lI,MAAhF,CADhC;AAEH;;AACD,SAAOmsI,uBAAP;AACH;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;AACA;AACA;;;AACA,SAASC,uBAAT,CAAiC37Q,QAAjC,EAA2CkvF,MAA3C,EAAmDsrL,EAAnD,EAAuD5wQ,EAAvD,EAA2D8wQ,EAA3D,EAA+D39O,EAA/D,EAAmE69O,EAAnE,EAAuErrI,MAAvE,EAA+Ei/G,SAA/E,EAA0FpwP,SAA1F,EAAqG;AACjG,QAAM4wO,KAAK,GAAG2F,QAAQ,EAAtB;AACA,QAAM8mC,iBAAiB,GAAGd,cAAc,CAAC3rC,KAAD,EAAQ9/I,MAAR,EAAgBsrL,EAAhB,EAAoB5wQ,EAApB,EAAwB8wQ,EAAxB,EAA4B39O,EAA5B,EAAgC69O,EAAhC,EAAoCrrI,MAApC,CAAxC;;AACA,MAAIksI,iBAAiB,KAAKxd,SAA1B,EAAqC;AACjC,UAAMp1B,KAAK,GAAGmP,gBAAgB,EAA9B;AACAg1B,IAAAA,wBAAwB,CAACnkC,KAAD,EAAQmG,KAAR,EAAehvO,QAAf,EAAyBy7Q,iBAAzB,EAA4CjtB,SAA5C,EAAuDpwP,SAAvD,CAAxB;AACAu5B,IAAAA,SAAS,IACLg3O,4BAA4B,CAAC/5B,QAAQ,GAAGlzY,IAAZ,EAAkBmnY,KAAlB,EAAyB,UAAU7oO,QAAnC,EAA6C41O,eAAe,KAAK,CAAjE,EAAoE1mJ,MAApE,EAA4EtlF,EAA5E,EAAgFmzB,EAAhF,EAAoFwyG,MAApF,CADhC;AAEH;;AACD,SAAOosI,uBAAP;AACH;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;AACA;AACA;AACA;AACA;;;AACA,SAASC,uBAAT,CAAiC57Q,QAAjC,EAA2CkvF,MAA3C,EAAmDsrL,EAAnD,EAAuD5wQ,EAAvD,EAA2D8wQ,EAA3D,EAA+D39O,EAA/D,EAAmE69O,EAAnE,EAAuEhxR,EAAvE,EAA2EkxR,EAA3E,EAA+EvrI,MAA/E,EAAuFi/G,SAAvF,EAAkGpwP,SAAlG,EAA6G;AACzG,QAAM4wO,KAAK,GAAG2F,QAAQ,EAAtB;AACA,QAAM8mC,iBAAiB,GAAGZ,cAAc,CAAC7rC,KAAD,EAAQ9/I,MAAR,EAAgBsrL,EAAhB,EAAoB5wQ,EAApB,EAAwB8wQ,EAAxB,EAA4B39O,EAA5B,EAAgC69O,EAAhC,EAAoChxR,EAApC,EAAwCkxR,EAAxC,EAA4CvrI,MAA5C,CAAxC;;AACA,MAAIksI,iBAAiB,KAAKxd,SAA1B,EAAqC;AACjC,UAAMp1B,KAAK,GAAGmP,gBAAgB,EAA9B;AACAg1B,IAAAA,wBAAwB,CAACnkC,KAAD,EAAQmG,KAAR,EAAehvO,QAAf,EAAyBy7Q,iBAAzB,EAA4CjtB,SAA5C,EAAuDpwP,SAAvD,CAAxB;AACAu5B,IAAAA,SAAS,IACLg3O,4BAA4B,CAAC/5B,QAAQ,GAAGlzY,IAAZ,EAAkBmnY,KAAlB,EAAyB,UAAU7oO,QAAnC,EAA6C41O,eAAe,KAAK,CAAjE,EAAoE1mJ,MAApE,EAA4EtlF,EAA5E,EAAgFmzB,EAAhF,EAAoFnzC,EAApF,EAAwF2lJ,MAAxF,CADhC;AAEH;;AACD,SAAOqsI,uBAAP;AACH;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;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASC,uBAAT,CAAiC77Q,QAAjC,EAA2CkvF,MAA3C,EAAmDsrL,EAAnD,EAAuD5wQ,EAAvD,EAA2D8wQ,EAA3D,EAA+D39O,EAA/D,EAAmE69O,EAAnE,EAAuEhxR,EAAvE,EAA2EkxR,EAA3E,EAA+E3iK,EAA/E,EAAmF6iK,EAAnF,EAAuFzrI,MAAvF,EAA+Fi/G,SAA/F,EAA0GpwP,SAA1G,EAAqH;AACjH,QAAM4wO,KAAK,GAAG2F,QAAQ,EAAtB;AACA,QAAM8mC,iBAAiB,GAAGV,cAAc,CAAC/rC,KAAD,EAAQ9/I,MAAR,EAAgBsrL,EAAhB,EAAoB5wQ,EAApB,EAAwB8wQ,EAAxB,EAA4B39O,EAA5B,EAAgC69O,EAAhC,EAAoChxR,EAApC,EAAwCkxR,EAAxC,EAA4C3iK,EAA5C,EAAgD6iK,EAAhD,EAAoDzrI,MAApD,CAAxC;;AACA,MAAIksI,iBAAiB,KAAKxd,SAA1B,EAAqC;AACjC,UAAMp1B,KAAK,GAAGmP,gBAAgB,EAA9B;AACAg1B,IAAAA,wBAAwB,CAACnkC,KAAD,EAAQmG,KAAR,EAAehvO,QAAf,EAAyBy7Q,iBAAzB,EAA4CjtB,SAA5C,EAAuDpwP,SAAvD,CAAxB;AACAu5B,IAAAA,SAAS,IACLg3O,4BAA4B,CAAC/5B,QAAQ,GAAGlzY,IAAZ,EAAkBmnY,KAAlB,EAAyB,UAAU7oO,QAAnC,EAA6C41O,eAAe,KAAK,CAAjE,EAAoE1mJ,MAApE,EAA4EtlF,EAA5E,EAAgFmzB,EAAhF,EAAoFnzC,EAApF,EAAwFuuH,EAAxF,EAA4Fo3B,MAA5F,CADhC;AAEH;;AACD,SAAOssI,uBAAP;AACH;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;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASC,uBAAT,CAAiC97Q,QAAjC,EAA2CkvF,MAA3C,EAAmDsrL,EAAnD,EAAuD5wQ,EAAvD,EAA2D8wQ,EAA3D,EAA+D39O,EAA/D,EAAmE69O,EAAnE,EAAuEhxR,EAAvE,EAA2EkxR,EAA3E,EAA+E3iK,EAA/E,EAAmF6iK,EAAnF,EAAuFE,EAAvF,EAA2FC,EAA3F,EAA+F5rI,MAA/F,EAAuGi/G,SAAvG,EAAkHpwP,SAAlH,EAA6H;AACzH,QAAM4wO,KAAK,GAAG2F,QAAQ,EAAtB;AACA,QAAM8mC,iBAAiB,GAAGR,cAAc,CAACjsC,KAAD,EAAQ9/I,MAAR,EAAgBsrL,EAAhB,EAAoB5wQ,EAApB,EAAwB8wQ,EAAxB,EAA4B39O,EAA5B,EAAgC69O,EAAhC,EAAoChxR,EAApC,EAAwCkxR,EAAxC,EAA4C3iK,EAA5C,EAAgD6iK,EAAhD,EAAoDE,EAApD,EAAwDC,EAAxD,EAA4D5rI,MAA5D,CAAxC;;AACA,MAAIksI,iBAAiB,KAAKxd,SAA1B,EAAqC;AACjC,UAAMp1B,KAAK,GAAGmP,gBAAgB,EAA9B;AACAg1B,IAAAA,wBAAwB,CAACnkC,KAAD,EAAQmG,KAAR,EAAehvO,QAAf,EAAyBy7Q,iBAAzB,EAA4CjtB,SAA5C,EAAuDpwP,SAAvD,CAAxB;AACAu5B,IAAAA,SAAS,IACLg3O,4BAA4B,CAAC/5B,QAAQ,GAAGlzY,IAAZ,EAAkBmnY,KAAlB,EAAyB,UAAU7oO,QAAnC,EAA6C41O,eAAe,KAAK,CAAjE,EAAoE1mJ,MAApE,EAA4EtlF,EAA5E,EAAgFmzB,EAAhF,EAAoFnzC,EAApF,EAAwFuuH,EAAxF,EAA4F+iK,EAA5F,EAAgG3rI,MAAhG,CADhC;AAEH;;AACD,SAAOusI,uBAAP;AACH;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;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASC,uBAAT,CAAiC/7Q,QAAjC,EAA2CkvF,MAA3C,EAAmDsrL,EAAnD,EAAuD5wQ,EAAvD,EAA2D8wQ,EAA3D,EAA+D39O,EAA/D,EAAmE69O,EAAnE,EAAuEhxR,EAAvE,EAA2EkxR,EAA3E,EAA+E3iK,EAA/E,EAAmF6iK,EAAnF,EAAuFE,EAAvF,EAA2FC,EAA3F,EAA+FviO,EAA/F,EAAmGyiO,EAAnG,EAAuG9rI,MAAvG,EAA+Gi/G,SAA/G,EAA0HpwP,SAA1H,EAAqI;AACjI,QAAM4wO,KAAK,GAAG2F,QAAQ,EAAtB;AACA,QAAM8mC,iBAAiB,GAAGL,cAAc,CAACpsC,KAAD,EAAQ9/I,MAAR,EAAgBsrL,EAAhB,EAAoB5wQ,EAApB,EAAwB8wQ,EAAxB,EAA4B39O,EAA5B,EAAgC69O,EAAhC,EAAoChxR,EAApC,EAAwCkxR,EAAxC,EAA4C3iK,EAA5C,EAAgD6iK,EAAhD,EAAoDE,EAApD,EAAwDC,EAAxD,EAA4DviO,EAA5D,EAAgEyiO,EAAhE,EAAoE9rI,MAApE,CAAxC;;AACA,MAAIksI,iBAAiB,KAAKxd,SAA1B,EAAqC;AACjC,UAAMp1B,KAAK,GAAGmP,gBAAgB,EAA9B;AACAg1B,IAAAA,wBAAwB,CAACnkC,KAAD,EAAQmG,KAAR,EAAehvO,QAAf,EAAyBy7Q,iBAAzB,EAA4CjtB,SAA5C,EAAuDpwP,SAAvD,CAAxB;AACAu5B,IAAAA,SAAS,IACLg3O,4BAA4B,CAAC/5B,QAAQ,GAAGlzY,IAAZ,EAAkBmnY,KAAlB,EAAyB,UAAU7oO,QAAnC,EAA6C41O,eAAe,KAAK,CAAjE,EAAoE1mJ,MAApE,EAA4EtlF,EAA5E,EAAgFmzB,EAAhF,EAAoFnzC,EAApF,EAAwFuuH,EAAxF,EAA4F+iK,EAA5F,EAAgGtiO,EAAhG,EAAoG22F,MAApG,CADhC;AAEH;;AACD,SAAOwsI,uBAAP;AACH;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;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASC,uBAAT,CAAiCh8Q,QAAjC,EAA2CkvF,MAA3C,EAAmDsrL,EAAnD,EAAuD5wQ,EAAvD,EAA2D8wQ,EAA3D,EAA+D39O,EAA/D,EAAmE69O,EAAnE,EAAuEhxR,EAAvE,EAA2EkxR,EAA3E,EAA+E3iK,EAA/E,EAAmF6iK,EAAnF,EAAuFE,EAAvF,EAA2FC,EAA3F,EAA+FviO,EAA/F,EAAmGyiO,EAAnG,EAAuG/iO,EAAvG,EAA2GijO,EAA3G,EAA+GhsI,MAA/G,EAAuHi/G,SAAvH,EAAkIpwP,SAAlI,EAA6I;AACzI,QAAM4wO,KAAK,GAAG2F,QAAQ,EAAtB;AACA,QAAM8mC,iBAAiB,GAAGH,cAAc,CAACtsC,KAAD,EAAQ9/I,MAAR,EAAgBsrL,EAAhB,EAAoB5wQ,EAApB,EAAwB8wQ,EAAxB,EAA4B39O,EAA5B,EAAgC69O,EAAhC,EAAoChxR,EAApC,EAAwCkxR,EAAxC,EAA4C3iK,EAA5C,EAAgD6iK,EAAhD,EAAoDE,EAApD,EAAwDC,EAAxD,EAA4DviO,EAA5D,EAAgEyiO,EAAhE,EAAoE/iO,EAApE,EAAwEijO,EAAxE,EAA4EhsI,MAA5E,CAAxC;;AACA,MAAIksI,iBAAiB,KAAKxd,SAA1B,EAAqC;AACjC,UAAMp1B,KAAK,GAAGmP,gBAAgB,EAA9B;AACAg1B,IAAAA,wBAAwB,CAACnkC,KAAD,EAAQmG,KAAR,EAAehvO,QAAf,EAAyBy7Q,iBAAzB,EAA4CjtB,SAA5C,EAAuDpwP,SAAvD,CAAxB;AACAu5B,IAAAA,SAAS,IACLg3O,4BAA4B,CAAC/5B,QAAQ,GAAGlzY,IAAZ,EAAkBmnY,KAAlB,EAAyB,UAAU7oO,QAAnC,EAA6C41O,eAAe,KAAK,CAAjE,EAAoE1mJ,MAApE,EAA4EtlF,EAA5E,EAAgFmzB,EAAhF,EAAoFnzC,EAApF,EAAwFuuH,EAAxF,EAA4F+iK,EAA5F,EAAgGtiO,EAAhG,EAAoGN,EAApG,EAAwGi3F,MAAxG,CADhC;AAEH;;AACD,SAAOysI,uBAAP;AACH;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,SAASC,uBAAT,CAAiCj8Q,QAAjC,EAA2CtjH,MAA3C,EAAmD8xW,SAAnD,EAA8DpwP,SAA9D,EAAyE;AACrE,QAAM4wO,KAAK,GAAG2F,QAAQ,EAAtB;AACA,QAAMunC,YAAY,GAAG7B,cAAc,CAACrrC,KAAD,EAAQtyV,MAAR,CAAnC;;AACA,MAAIw/X,YAAY,KAAKje,SAArB,EAAgC;AAC5B,UAAMp1B,KAAK,GAAGmP,gBAAgB,EAA9B;AACAg1B,IAAAA,wBAAwB,CAACnkC,KAAD,EAAQmG,KAAR,EAAehvO,QAAf,EAAyBk8Q,YAAzB,EAAuC1tB,SAAvC,EAAkDpwP,SAAlD,CAAxB;;AACA,QAAIu5B,SAAJ,EAAe;AACX,YAAMwkP,sBAAsB,GAAG,CAACz/X,MAAM,CAAC,CAAD,CAAP,CAA/B,CADW,CACiC;;AAC5C,WAAK,IAAIx+C,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGw+C,MAAM,CAACrxC,MAA3B,EAAmCnN,CAAC,IAAI,CAAxC,EAA2C;AACvCi+a,QAAAA,sBAAsB,CAAC75a,IAAvB,CAA4Bo6C,MAAM,CAACx+C,CAAD,CAAlC;AACH;;AACDywa,MAAAA,4BAA4B,CAAC/5B,QAAQ,GAAGlzY,IAAZ,EAAkBmnY,KAAlB,EAAyB,UAAU7oO,QAAnC,EAA6C41O,eAAe,KAAKumC,sBAAsB,CAAC9wa,MAA3C,GAAoD,CAAjG,EAAoG,GAAG8wa,sBAAvG,CAA5B;AACH;AACJ;;AACD,SAAOF,uBAAP;AACH;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASG,uBAAT,CAAiC3/T,KAAjC,EAAwCqsR,KAAxC,EAA+CkG,KAA/C,EAAsDq4B,UAAtD,EAAkEr8B,KAAlE,EAAyEr1T,IAAzE,EAA+Es2E,OAA/E,EAAwFowR,UAAxF,EAAoGC,cAApG,EAAoH;AAChH3kP,EAAAA,SAAS,IAAIq4M,qBAAqB,CAAClH,KAAD,CAAlC;AACAnxM,EAAAA,SAAS,IAAIA,SAAS,CAACixM,eAAV,EAAb;AACA,QAAM2zC,WAAW,GAAGzzC,KAAK,CAACvhD,MAA1B,CAHgH,CAIhH;;AACA,QAAMshD,KAAK,GAAGi+B,gBAAgB,CAACh+B,KAAD,EAAQrsR,KAAR,EAAe;AAAE;AAAjB,IAAkCwvC,OAAO,IAAI,IAA7C,EAAmDunP,WAAW,CAAC+oC,WAAD,EAAcF,UAAd,CAA9D,CAA9B;AACA7Q,EAAAA,iBAAiB,CAAC1iC,KAAD,EAAQkG,KAAR,EAAenG,KAAf,EAAsB2K,WAAW,CAAC+oC,WAAD,EAAcD,cAAd,CAAjC,CAAjB;AACA5jC,EAAAA,sBAAsB,CAAC5P,KAAD,EAAQD,KAAR,CAAtB;AACA,QAAM4kC,aAAa,GAAG5kC,KAAK,CAACy4B,MAAN,GAAeqH,WAAW,CAAC;AAAE;AAAH,IAAmB9/B,KAAnB,EAA0Bw+B,UAA1B,EAAsCr8B,KAAtC,EAA6Cr1T,IAA7C,EAAmDmzT,KAAK,CAAC23B,iBAAzD,EAA4E33B,KAAK,CAAC43B,YAAlF,EAAgG,IAAhG,EAAsG53B,KAAK,CAAC5sG,OAA5G,EAAqHqgJ,WAArH,CAAhD;;AACA,MAAIzzC,KAAK,CAAC12F,OAAN,KAAkB,IAAtB,EAA4B;AACxB02F,IAAAA,KAAK,CAAC12F,OAAN,CAAchyL,QAAd,CAAuB0oR,KAAvB,EAA8BD,KAA9B;AACA4kC,IAAAA,aAAa,CAACr7H,OAAd,GAAwB02F,KAAK,CAAC12F,OAAN,CAAcq7H,aAAd,CAA4B5kC,KAA5B,CAAxB;AACH;;AACD,SAAOA,KAAP;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAAS2zC,UAAT,CAAoB//T,KAApB,EAA2B4qT,UAA3B,EAAuCr8B,KAAvC,EAA8Cr1T,IAA9C,EAAoDs2E,OAApD,EAA6DowR,UAA7D,EAAyEC,cAAzE,EAAyF7T,iBAAzF,EAA4G;AACxG,QAAMz5B,KAAK,GAAG2F,QAAQ,EAAtB;AACA,QAAM7L,KAAK,GAAG8L,QAAQ,EAAtB;AACA,QAAM6nC,aAAa,GAAGhgU,KAAK,GAAGqxR,aAA9B;AACA,QAAMjF,KAAK,GAAGC,KAAK,CAACF,eAAN,GAAwBwzC,uBAAuB,CAACK,aAAD,EAAgB3zC,KAAhB,EAAuBkG,KAAvB,EAA8Bq4B,UAA9B,EAA0Cr8B,KAA1C,EAAiDr1T,IAAjD,EAAuDs2E,OAAvD,EAAgEowR,UAAhE,EAA4EC,cAA5E,CAA/C,GACVxzC,KAAK,CAACpnY,IAAN,CAAW+6a,aAAX,CADJ;AAEArnC,EAAAA,eAAe,CAACvM,KAAD,EAAQ,KAAR,CAAf;AACA,QAAM3/N,OAAO,GAAG8lO,KAAK,CAAC3B,QAAD,CAAL,CAAgB7wO,aAAhB,CAA8Bm7B,SAAS,GAAG,WAAH,GAAiB,EAAxD,CAAhB;AACAtwK,EAAAA,WAAW,CAACyhX,KAAD,EAAQkG,KAAR,EAAe9lO,OAAf,EAAwB2/N,KAAxB,CAAX;AACA0nB,EAAAA,eAAe,CAACrnP,OAAD,EAAU8lO,KAAV,CAAf;AACA+9B,EAAAA,aAAa,CAAC/9B,KAAD,EAAQA,KAAK,CAACytC,aAAD,CAAL,GAAuBnP,gBAAgB,CAACpkQ,OAAD,EAAU8lO,KAAV,EAAiB9lO,OAAjB,EAA0B2/N,KAA1B,CAA/C,CAAb;;AACA,MAAI+F,eAAe,CAAC/F,KAAD,CAAnB,EAA4B;AACxBu/B,IAAAA,yBAAyB,CAACt/B,KAAD,EAAQkG,KAAR,EAAenG,KAAf,CAAzB;AACH;;AACD,MAAIyzC,cAAc,IAAI,IAAtB,EAA4B;AACxB/T,IAAAA,wBAAwB,CAACv5B,KAAD,EAAQnG,KAAR,EAAe4/B,iBAAf,CAAxB;AACH;AACJ;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;;;AACA,SAAS32B,KAAT,CAAehJ,KAAf,EAAsBkG,KAAtB,EAA6BvyR,KAA7B,EAAoCvxG,KAApC,EAA2C;AACvC;AACA;AACA,MAAIuxG,KAAK,IAAIqsR,KAAK,CAACpnY,IAAN,CAAW2J,MAAxB,EAAgC;AAC5By9X,IAAAA,KAAK,CAACpnY,IAAN,CAAW+6G,KAAX,IAAoB,IAApB;AACAqsR,IAAAA,KAAK,CAACoU,SAAN,CAAgBzgS,KAAhB,IAAyB,IAAzB;AACH;;AACDuyR,EAAAA,KAAK,CAACvyR,KAAD,CAAL,GAAevxG,KAAf;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASwxa,WAAT,CAAqBjgU,KAArB,EAA4B;AACxB,QAAMs4R,YAAY,GAAGS,eAAe,EAApC;AACA,SAAO9yY,IAAI,CAACqyY,YAAD,EAAejH,aAAa,GAAGrxR,KAA/B,CAAX;AACH;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;AACA;AACA;AACA;;;AACA,MAAMkgU,gBAAgB,GAAG;AACrB,wBAAsBp5M,kBADD;AAErB,sBAAoB0jK,gBAFC;AAGrB,cAAY1kK,QAHS;AAIrB,yBAAuBskL,mBAJF;AAKrB,uBAAqB31I;AALA,CAAzB;AAQA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;AACA;AACA;;AACA,SAAS4f,iBAAT,CAA2B/vR,IAA3B,EAAiC88Q,IAAjC,EAAuC;AACnC,MAAI6pH,eAAe,GAAG,IAAtB;AACA,MAAIk1C,YAAY,GAAG,IAAnB,CAFmC,CAGnC;;AACA,MAAI,CAAC77a,IAAI,CAACmuB,cAAL,CAAoBk4W,WAApB,CAAL,EAAuC;AACnCvvX,IAAAA,MAAM,CAACI,cAAP,CAAsBlX,IAAtB,EAA4BqmY,WAA5B,EAAyC;AACrC9vX,MAAAA,GAAG,EAAE,MAAM;AACP,YAAIowX,eAAe,KAAK,IAAxB,EAA8B;AAC1B,gBAAMhR,QAAQ,GAAG2rB,iBAAiB,CAAC;AAAEt5I,YAAAA,KAAK,EAAE;AAAE;AAAX;AAA4BpiJ,YAAAA,IAAI,EAAE,YAAlC;AAAgD5lH,YAAAA;AAAhD,WAAD,CAAlC;AACA2mY,UAAAA,eAAe,GAAGhR,QAAQ,CAAC5lG,iBAAT,CAA2B6rJ,gBAA3B,EAA8C,SAAQ57a,IAAI,CAAC6W,IAAK,WAAhE,EAA4Eo1V,qBAAqB,CAACjsW,IAAD,EAAO88Q,IAAP,CAAjG,CAAlB;AACH;;AACD,eAAO6pH,eAAP;AACH;AAPoC,KAAzC;AASH,GAdkC,CAenC;;;AACA,MAAI,CAAC3mY,IAAI,CAACmuB,cAAL,CAAoBs7W,cAApB,CAAL,EAA0C;AACtC3yX,IAAAA,MAAM,CAACI,cAAP,CAAsBlX,IAAtB,EAA4BypY,cAA5B,EAA4C;AACxClzX,MAAAA,GAAG,EAAE,MAAM;AACP,YAAIsla,YAAY,KAAK,IAArB,EAA2B;AACvB,gBAAMlmD,QAAQ,GAAG2rB,iBAAiB,CAAC;AAAEt5I,YAAAA,KAAK,EAAE;AAAE;AAAX;AAA4BpiJ,YAAAA,IAAI,EAAE,YAAlC;AAAgD5lH,YAAAA;AAAhD,WAAD,CAAlC;AACA67a,UAAAA,YAAY,GAAGlmD,QAAQ,CAACxkC,cAAT,CAAwByqF,gBAAxB,EAA2C,SAAQ57a,IAAI,CAAC6W,IAAK,UAA7D,EAAwE;AACnFA,YAAAA,IAAI,EAAE7W,IAAI,CAAC6W,IADwE;AAEnF7W,YAAAA,IAFmF;AAGnFs+Q,YAAAA,iBAAiB,EAAE,CAHgE;AAInFlvD,YAAAA,IAAI,EAAEo3L,mBAAmB,CAACxmZ,IAAD,CAJ0D;AAKnF0E,YAAAA,MAAM,EAAEixX,QAAQ,CAAC5kH,aAAT,CAAuBjoG;AALoD,WAAxE,CAAf;AAOH;;AACD,eAAO+yQ,YAAP;AACH,OAbuC;AAcxC;AACAl8Y,MAAAA,YAAY,EAAE;AAf0B,KAA5C;AAiBH;AACJ;;AACD,MAAMqwT,WAAW,GAAGizC,sBAAsB,CAAC;AAAEnxL,EAAAA,OAAO,EAAEjtM,MAAX;AAAmByoP,EAAAA,QAAQ,EAAE21I;AAA7B,CAAD,CAA1C;;AACA,SAAS64C,kBAAT,CAA4Bh/J,IAA5B,EAAkC;AAC9B,SAAOA,IAAI,CAACx7C,QAAL,KAAkBt2D,SAAzB;AACH;;AACD,SAAS+wQ,kBAAT,CAA4Bj/J,IAA5B,EAAkC;AAC9B,SAAOkzE,WAAW,IAAIlzE,IAAtB;AACH;;AACD,SAASk/J,oBAAT,CAA8Bl/J,IAA9B,EAAoC;AAChC,SAAOA,IAAI,CAACztD,UAAL,KAAoBrkD,SAA3B;AACH;;AACD,SAASixQ,qBAAT,CAA+Bn/J,IAA/B,EAAqC;AACjC,SAAOA,IAAI,CAAC/qE,WAAL,KAAqB/mC,SAA5B;AACH;;AACD,SAASihM,qBAAT,CAA+BjsW,IAA/B,EAAqCk8a,OAArC,EAA8C;AAC1C;AACA,QAAMp/J,IAAI,GAAGo/J,OAAO,IAAI;AAAEj9O,IAAAA,UAAU,EAAE;AAAd,GAAxB;AACA,QAAMk9O,YAAY,GAAG;AACjBtla,IAAAA,IAAI,EAAE7W,IAAI,CAAC6W,IADM;AAEjB7W,IAAAA,IAAI,EAAEA,IAFW;AAGjBs+Q,IAAAA,iBAAiB,EAAE,CAHF;AAIjBr/E,IAAAA,UAAU,EAAE69E,IAAI,CAAC79E;AAJA,GAArB;;AAMA,MAAI,CAAC68O,kBAAkB,CAACh/J,IAAD,CAAlB,IAA4Bk/J,oBAAoB,CAACl/J,IAAD,CAAjD,KAA4DA,IAAI,CAAC1tD,IAAL,KAAcpkD,SAA9E,EAAyF;AACrFmxQ,IAAAA,YAAY,CAAC/sN,IAAb,GAAoBq3L,mBAAmB,CAAC3pI,IAAI,CAAC1tD,IAAN,CAAvC;AACH,GAXyC,CAY1C;;;AACA,MAAI0sN,kBAAkB,CAACh/J,IAAD,CAAtB,EAA8B;AAC1Bq/J,IAAAA,YAAY,CAAC76M,QAAb,GAAwBw7C,IAAI,CAACx7C,QAA7B;AACH,GAFD,MAGK,IAAIy6M,kBAAkB,CAACj/J,IAAD,CAAtB,EAA8B;AAC/Bq/J,IAAAA,YAAY,CAAC7uL,QAAb,GAAwBwvB,IAAI,CAACxvB,QAA7B;AACH,GAFI,MAGA,IAAI0uL,oBAAoB,CAACl/J,IAAD,CAAxB,EAAgC;AACjCq/J,IAAAA,YAAY,CAAC9sN,UAAb,GAA0BytD,IAAI,CAACztD,UAA/B;AACH,GAFI,MAGA,IAAI4sN,qBAAqB,CAACn/J,IAAD,CAAzB,EAAiC;AAClCq/J,IAAAA,YAAY,CAACpqO,WAAb,GAA2B+qE,IAAI,CAAC/qE,WAAhC;AACH;;AACD,SAAOoqO,YAAP;AACH;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,MAAMxuD,SAAS,GAAGsV,sBAAsB,CAAC;AAAEnxL,EAAAA,OAAO,EAAEjtM,MAAX;AAAmByoP,EAAAA,QAAQ,EAAE21I;AAA7B,CAAD,CAAxC;;AACA,SAASm5C,kCAAT,CAA4Cp8a,IAA5C,EAAkDozS,QAAlD,EAA4D;AACxD,MAAI,CAACA,QAAL,EAAe;AACX,UAAMipI,sBAAsB,GAAG,IAAIh5B,sBAAJ,EAA/B;AACA,UAAMj0L,IAAI,GAAGitN,sBAAsB,CAAC/2V,UAAvB,CAAkCtlF,IAAlC,CAAb,CAFW,CAGX;;AACA,WAAO,MAAM,IAAIA,IAAJ,CAAS,GAAG4+Q,UAAU,CAACxvD,IAAD,CAAtB,CAAb;AACH;;AACD,MAAIu+J,SAAS,IAAIv6E,QAAjB,EAA2B;AACvB,UAAMkpI,aAAa,GAAGlpI,QAAtB;AACA,WAAO,MAAMkpI,aAAa,CAAChvL,QAA3B;AACH,GAHD,MAIK,IAAI8lD,QAAQ,CAACrhG,WAAb,EAA0B;AAC3B,UAAMwqO,gBAAgB,GAAGnpI,QAAzB;AACA,WAAO,MAAM5xE,QAAQ,CAAC2uC,iBAAiB,CAACosK,gBAAgB,CAACxqO,WAAlB,CAAlB,CAArB;AACH,GAHI,MAIA,IAAIqhG,QAAQ,CAAC/jF,UAAb,EAAyB;AAC1B,UAAMmtN,eAAe,GAAGppI,QAAxB;AACA,WAAO,MAAMopI,eAAe,CAACntN,UAAhB,CAA2B,GAAGuvD,UAAU,CAAC49J,eAAe,CAACptN,IAAhB,IAAwB+yE,WAAzB,CAAxC,CAAb;AACH,GAHI,MAIA,IAAIiR,QAAQ,CAAC9xE,QAAb,EAAuB;AACxB,UAAMm7M,aAAa,GAAGrpI,QAAtB;AACA,QAAIhkF,IAAI,GAAGgkF,QAAQ,CAAChkF,IAApB;;AACA,QAAI,CAACA,IAAL,EAAW;AACP,YAAMitN,sBAAsB,GAAG,IAAIh5B,sBAAJ,EAA/B;AACAj0L,MAAAA,IAAI,GAAGitN,sBAAsB,CAAC/2V,UAAvB,CAAkCtlF,IAAlC,CAAP;AACH;;AACD,WAAO,MAAM,KAAKmwQ,iBAAiB,CAACssK,aAAa,CAACn7M,QAAf,CAAtB,EAAgD,GAAGs9C,UAAU,CAACxvD,IAAD,CAA7D,CAAb;AACH,GARI,MASA;AACD,QAAIA,IAAI,GAAGgkF,QAAQ,CAAChkF,IAApB;;AACA,QAAI,CAACA,IAAL,EAAW;AACP,YAAMitN,sBAAsB,GAAG,IAAIh5B,sBAAJ,EAA/B;AACAj0L,MAAAA,IAAI,GAAGitN,sBAAsB,CAAC/2V,UAAvB,CAAkCtlF,IAAlC,CAAP;AACH;;AACD,WAAO,MAAM,IAAIA,IAAJ,CAAS,GAAG4+Q,UAAU,CAACxvD,IAAD,CAAtB,CAAb;AACH;AACJ;AAED;AACA;AACA;AACA;AACA;AACA;;;AACA,MAAMtmD,UAAU,GAAG82O,aAAa,CAAC,YAAD,EAAe50O,SAAf,EAA0BA,SAA1B,EAAqCA,SAArC,EAAgD,CAAChrK,IAAD,EAAO88Q,IAAP,KAAgB4/J,yBAAyB,CAAC18a,IAAD,EAAO88Q,IAAP,CAAzF,CAAhC;AACA;AACA;AACA;;AACA,SAAS6/J,wBAAT,CAAkCC,cAAlC,EAAkDtuZ,OAAlD,EAA2D;AACvD,MAAIA,OAAO,IAAIA,OAAO,CAAC2wK,UAAR,KAAuBj0B,SAAlC,IAA+C,CAACm7N,gBAAgB,CAACy2C,cAAD,CAApE,EAAsF;AAClFA,IAAAA,cAAc,CAAChvQ,KAAf,GAAuB40D,kBAAkB,CAAC;AACtCv+N,MAAAA,KAAK,EAAE24a,cAD+B;AAEtC39O,MAAAA,UAAU,EAAE3wK,OAAO,CAAC2wK,UAFkB;AAGtCmM,MAAAA,OAAO,EAAEgxO,kCAAkC,CAACQ,cAAD,EAAiBtuZ,OAAjB;AAHL,KAAD,CAAzC;AAKH;AACJ;;AACD,MAAMuuZ,oCAAoC,GAAG9sJ,iBAA7C;AACA,MAAM+sJ,mCAAmC,GAAGH,wBAA5C;AACA,MAAMD,yBAAyB,GAAGG,oCAAlC;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,SAASE,oBAAT,CAA8B/ga,IAA9B,EAAoC;AAChC,QAAMitN,GAAG,GAAG,EAAZ;;AACA,OAAK,IAAI9rO,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAG6e,IAAI,CAAC1R,MAAzB,EAAiC,EAAEnN,CAAnC,EAAsC;AAClC,QAAI8rO,GAAG,CAAC/6N,OAAJ,CAAY8N,IAAI,CAAC7e,CAAD,CAAhB,IAAuB,CAAC,CAA5B,EAA+B;AAC3B8rO,MAAAA,GAAG,CAAC1nO,IAAJ,CAASya,IAAI,CAAC7e,CAAD,CAAb;AACA,aAAO8rO,GAAP;AACH;;AACDA,IAAAA,GAAG,CAAC1nO,IAAJ,CAASya,IAAI,CAAC7e,CAAD,CAAb;AACH;;AACD,SAAO8rO,GAAP;AACH;;AACD,SAAS+zM,sBAAT,CAAgChha,IAAhC,EAAsC;AAClC,MAAIA,IAAI,CAAC1R,MAAL,GAAc,CAAlB,EAAqB;AACjB,UAAM2ya,QAAQ,GAAGF,oBAAoB,CAAC/ga,IAAI,CAACzV,KAAL,GAAaijE,OAAb,EAAD,CAArC;AACA,UAAM0zW,SAAS,GAAGD,QAAQ,CAACj7a,GAAT,CAAa2G,CAAC,IAAIwa,SAAS,CAACxa,CAAC,CAAC1E,KAAH,CAA3B,CAAlB;AACA,WAAO,OAAOi5a,SAAS,CAACj6Z,IAAV,CAAe,MAAf,CAAP,GAAgC,GAAvC;AACH;;AACD,SAAO,EAAP;AACH;;AACD,SAASk6Z,cAAT,CAAwB7pN,QAAxB,EAAkCjrN,GAAlC,EAAuC+0a,yBAAvC,EAAkEhsB,aAAlE,EAAiF;AAC7E,QAAMp1Y,IAAI,GAAG,CAAC3T,GAAD,CAAb;AACA,QAAMm7S,MAAM,GAAG45H,yBAAyB,CAACpha,IAAD,CAAxC;AACA,QAAM9b,KAAK,GAAIkxZ,aAAa,GAAGD,YAAY,CAAC3tG,MAAD,EAAS4tG,aAAT,CAAf,GAAyCr5Y,KAAK,CAACyrS,MAAD,CAA1E;AACAtjT,EAAAA,KAAK,CAACm9a,MAAN,GAAeA,MAAf;AACAn9a,EAAAA,KAAK,CAAC8b,IAAN,GAAaA,IAAb;AACA9b,EAAAA,KAAK,CAACo9a,SAAN,GAAkB,CAAChqN,QAAD,CAAlB;AACApzN,EAAAA,KAAK,CAACk9a,yBAAN,GAAkCA,yBAAlC;AACAl9a,EAAAA,KAAK,CAAC+wZ,oBAAD,CAAL,GAA8BG,aAA9B;AACA,SAAOlxZ,KAAP;AACH;;AACD,SAASm9a,MAAT,CAAgB/pN,QAAhB,EAA0BjrN,GAA1B,EAA+B;AAC3B,OAAKi1a,SAAL,CAAe/7a,IAAf,CAAoB+xN,QAApB;AACA,OAAKt3M,IAAL,CAAUza,IAAV,CAAe8G,GAAf,EAF2B,CAG3B;;AACA,OAAKylB,OAAL,GAAe,KAAKsvZ,yBAAL,CAA+B,KAAKpha,IAApC,CAAf;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASuha,eAAT,CAAyBjqN,QAAzB,EAAmCjrN,GAAnC,EAAwC;AACpC,SAAO80a,cAAc,CAAC7pN,QAAD,EAAWjrN,GAAX,EAAgB,UAAU2T,IAAV,EAAgB;AACjD,UAAM8tF,KAAK,GAAG3mF,SAAS,CAACnH,IAAI,CAAC,CAAD,CAAJ,CAAQ/X,KAAT,CAAvB;AACA,WAAQ,mBAAkB6lG,KAAM,IAAGkzU,sBAAsB,CAAChha,IAAD,CAAO,EAAhE;AACH,GAHoB,CAArB;AAIH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASwha,qBAAT,CAA+BlqN,QAA/B,EAAyCjrN,GAAzC,EAA8C;AAC1C,SAAO80a,cAAc,CAAC7pN,QAAD,EAAWjrN,GAAX,EAAgB,UAAU2T,IAAV,EAAgB;AACjD,WAAQ,wCAAuCgha,sBAAsB,CAAChha,IAAD,CAAO,EAA5E;AACH,GAFoB,CAArB;AAGH;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;;;AACA,SAASyha,kBAAT,CAA4BnqN,QAA5B,EAAsCoqN,iBAAtC,EAAyDC,aAAzD,EAAwEt1a,GAAxE,EAA6E;AACzE,SAAO80a,cAAc,CAAC7pN,QAAD,EAAWjrN,GAAX,EAAgB,UAAU2T,IAAV,EAAgB;AACjD,UAAM8tF,KAAK,GAAG3mF,SAAS,CAACnH,IAAI,CAAC,CAAD,CAAJ,CAAQ/X,KAAT,CAAvB;AACA,WAAQ,GAAEy5a,iBAAiB,CAAC5vZ,OAAQ,mCAAkCg8E,KAAM,IAAGkzU,sBAAsB,CAAChha,IAAD,CAAO,GAA5G;AACH,GAHoB,EAGlB0ha,iBAHkB,CAArB;AAIH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASE,oBAAT,CAA8BxqI,QAA9B,EAAwC;AACpC,SAAOr7R,KAAK,CAAE,4EAA2Eq7R,QAAS,EAAtF,CAAZ;AACH;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;AACA;AACA;AACA;;;AACA,SAASyqI,iBAAT,CAA2BtjJ,UAA3B,EAAuCvuN,MAAvC,EAA+C;AAC3C,QAAM0pQ,SAAS,GAAG,EAAlB;;AACA,OAAK,IAAIv4U,CAAC,GAAG,CAAR,EAAWsgK,EAAE,GAAGzxF,MAAM,CAAC1hE,MAA5B,EAAoCnN,CAAC,GAAGsgK,EAAxC,EAA4CtgK,CAAC,EAA7C,EAAiD;AAC7C,UAAM2gb,SAAS,GAAG9xW,MAAM,CAAC7uE,CAAD,CAAxB;;AACA,QAAI,CAAC2gb,SAAD,IAAcA,SAAS,CAACxza,MAAV,IAAoB,CAAtC,EAAyC;AACrCorU,MAAAA,SAAS,CAACn0U,IAAV,CAAe,GAAf;AACH,KAFD,MAGK;AACDm0U,MAAAA,SAAS,CAACn0U,IAAV,CAAeu8a,SAAS,CAAC97a,GAAV,CAAcmhB,SAAd,EAAyBF,IAAzB,CAA8B,GAA9B,CAAf;AACH;AACJ;;AACD,SAAOlL,KAAK,CAAC,yCAAyCoL,SAAS,CAACo3Q,UAAD,CAAlD,GAAiE,KAAjE,GACTm7C,SAAS,CAACzyT,IAAV,CAAe,IAAf,CADS,GACc,KADd,GAET,wGAFS,GAGTE,SAAS,CAACo3Q,UAAD,CAHA,GAGe,kCAHhB,CAAZ;AAIH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASwjJ,gBAAT,CAA0BriU,KAA1B,EAAiC;AAC7B,SAAO3jG,KAAK,CAAE,SAAQ2jG,KAAM,oBAAhB,CAAZ;AACH,EACD;;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASsiU,6CAAT,CAAuDC,SAAvD,EAAkEC,SAAlE,EAA6E;AACzE,SAAOnma,KAAK,CAAE,0DAAyDkma,SAAU,IAAGC,SAAU,EAAlF,CAAZ;AACH;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,MAAMC,aAAN,CAAoB;AAChB;AACJ;AACA;AACIj/a,EAAAA,WAAW,CAAC+E,KAAD,EAAQ9E,EAAR,EAAY;AACnB,SAAK8E,KAAL,GAAaA,KAAb;AACA,SAAK9E,EAAL,GAAUA,EAAV;;AACA,QAAI,CAAC8E,KAAL,EAAY;AACR,YAAM,IAAI8T,KAAJ,CAAU,wBAAV,CAAN;AACH;;AACD,SAAKg/C,WAAL,GAAmB5zC,SAAS,CAAC,KAAKlf,KAAN,CAA5B;AACH;AACD;AACJ;AACA;;;AACc,SAAHsS,GAAG,CAACtS,KAAD,EAAQ;AACd,WAAOm6a,kBAAkB,CAAC7na,GAAnB,CAAuB45P,iBAAiB,CAAClsQ,KAAD,CAAxC,CAAP;AACH;AACD;AACJ;AACA;;;AAC2B,aAAZo6a,YAAY,GAAG;AACtB,WAAOD,kBAAkB,CAACC,YAA1B;AACH;;AAvBe;;AAyBpB,MAAMC,WAAN,CAAkB;AACdp/a,EAAAA,WAAW,GAAG;AACV,SAAKq/a,QAAL,GAAgB,IAAInva,GAAJ,EAAhB;AACH;;AACDmH,EAAAA,GAAG,CAACtS,KAAD,EAAQ;AACP,QAAIA,KAAK,YAAYk6a,aAArB,EACI,OAAOl6a,KAAP;;AACJ,QAAI,KAAKs6a,QAAL,CAAczya,GAAd,CAAkB7H,KAAlB,CAAJ,EAA8B;AAC1B,aAAO,KAAKs6a,QAAL,CAAchoa,GAAd,CAAkBtS,KAAlB,CAAP;AACH;;AACD,UAAMu6a,MAAM,GAAG,IAAIL,aAAJ,CAAkBl6a,KAAlB,EAAyBk6a,aAAa,CAACE,YAAvC,CAAf;;AACA,SAAKE,QAAL,CAAcp8a,GAAd,CAAkB8B,KAAlB,EAAyBu6a,MAAzB;;AACA,WAAOA,MAAP;AACH;;AACe,MAAZH,YAAY,GAAG;AACf,WAAO,KAAKE,QAAL,CAActsZ,IAArB;AACH;;AAhBa;;AAkBlB,MAAMmsZ,kBAAkB,GAAG,IAAIE,WAAJ,EAA3B;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;AACA;AACA;;;AACA,MAAMG,SAAN,CAAgB;AACZv/a,EAAAA,WAAW,CAACm9a,sBAAD,EAAyB;AAChC,SAAKA,sBAAL,GAA8BA,sBAA9B;AACH;;AACDqC,EAAAA,kBAAkB,CAACC,IAAD,EAAO;AACrB,SAAKtC,sBAAL,GAA8BsC,IAA9B;AACH;;AACDvzO,EAAAA,OAAO,CAACprM,IAAD,EAAO;AACV,WAAO,KAAKq8a,sBAAL,CAA4BjxO,OAA5B,CAAoCprM,IAApC,CAAP;AACH;;AACDslF,EAAAA,UAAU,CAACi1M,UAAD,EAAa;AACnB,WAAO,KAAK8hJ,sBAAL,CAA4B/2V,UAA5B,CAAuCi1M,UAAvC,CAAP;AACH;;AACDC,EAAAA,WAAW,CAACD,UAAD,EAAa;AACpB,WAAO,KAAK8hJ,sBAAL,CAA4B7hJ,WAA5B,CAAwCD,UAAxC,CAAP;AACH;;AACDI,EAAAA,YAAY,CAACJ,UAAD,EAAa;AACrB,WAAO,KAAK8hJ,sBAAL,CAA4B1hJ,YAA5B,CAAyCJ,UAAzC,CAAP;AACH;;AACDK,EAAAA,gBAAgB,CAAC56R,IAAD,EAAO66R,UAAP,EAAmB;AAC/B,WAAO,KAAKwhJ,sBAAL,CAA4BzhJ,gBAA5B,CAA6C56R,IAA7C,EAAmD66R,UAAnD,CAAP;AACH;;AACD72B,EAAAA,MAAM,CAACntP,IAAD,EAAO;AACT,WAAO,KAAKwla,sBAAL,CAA4Br4K,MAA5B,CAAmCntP,IAAnC,CAAP;AACH;;AACDwtY,EAAAA,MAAM,CAACxtY,IAAD,EAAO;AACT,WAAO,KAAKwla,sBAAL,CAA4Bh4B,MAA5B,CAAmCxtY,IAAnC,CAAP;AACH;;AACDk+C,EAAAA,MAAM,CAACl+C,IAAD,EAAO;AACT,WAAO,KAAKwla,sBAAL,CAA4BtnX,MAA5B,CAAmCl+C,IAAnC,CAAP;AACH;;AACD0tY,EAAAA,SAAS,CAACvkZ,IAAD,EAAO;AACZ,WAAO,KAAKq8a,sBAAL,CAA4B93B,SAA5B,CAAsCvkZ,IAAtC,CAAP;AACH;;AACDwkZ,EAAAA,WAAW,CAACxkZ,IAAD,EAAO;AACd,WAAO,KAAKq8a,sBAAL,CAA4B73B,WAA5B,CAAwCxkZ,IAAxC,CAAP;AACH;;AACDykZ,EAAAA,iBAAiB,CAAC5tY,IAAD,EAAO0/Q,SAAP,EAAkB53H,OAAlB,EAA2BwgG,OAA3B,EAAoC;AACjD,WAAO,KAAKk9K,sBAAL,CAA4B53B,iBAA5B,CAA8C5tY,IAA9C,EAAoD0/Q,SAApD,EAA+D53H,OAA/D,EAAwEwgG,OAAxE,CAAP;AACH;;AACDulJ,EAAAA,WAAW,CAAC76M,UAAD,EAAahzL,IAAb,EAAmB;AAC1B,WAAO,KAAKwla,sBAAL,CAA4B33B,WAA5B,CAAwC76M,UAAxC,EAAoDhzL,IAApD,CAAP;AACH;;AA1CW;AA6ChB;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;AACA;AACA;;;AACA,MAAMgiR,SAAS,GAAG,IAAI4lJ,SAAJ,CAAc,IAAIp7B,sBAAJ,EAAd,CAAlB;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;AACA;AACA;;AACA,MAAMu7B,oBAAN,CAA2B;AACvB1/a,EAAAA,WAAW,CAACmJ,GAAD,EAAMwvK,QAAN,EAAgBjsI,UAAhB,EAA4B;AACnC,SAAKvjC,GAAL,GAAWA,GAAX;AACA,SAAKwvK,QAAL,GAAgBA,QAAhB;AACA,SAAKjsI,UAAL,GAAkBA,UAAlB;AACH;;AACa,SAAPizY,OAAO,CAACx2a,GAAD,EAAM;AAChB,WAAO,IAAIu2a,oBAAJ,CAAyBv2a,GAAzB,EAA8B,KAA9B,EAAqC,IAArC,CAAP;AACH;;AARsB;;AAU3B,MAAMy2a,WAAW,GAAG,EAApB;;AACA,MAAMC,2BAAN,CAAkC;AAC9B7/a,EAAAA,WAAW,CAACmJ,GAAD,EAAM22a,iBAAN,EAAyBl3H,aAAzB,EAAwC;AAC/C,SAAKz/S,GAAL,GAAWA,GAAX;AACA,SAAK22a,iBAAL,GAAyBA,iBAAzB;AACA,SAAKl3H,aAAL,GAAqBA,aAArB;AACA,SAAKm3H,eAAL,GAAuB,KAAKD,iBAAL,CAAuB,CAAvB,CAAvB;AACH;;AAN6B;AAQlC;AACA;AACA;AACA;;;AACA,MAAME,yBAAN,CAAgC;AAC5Bhgb,EAAAA,WAAW;AACX;AACJ;AACA;AACIksM,EAAAA,OAJW;AAKX;AACJ;AACA;AACI0oG,EAAAA,YARW,EAQG;AACV,SAAK1oG,OAAL,GAAeA,OAAf;AACA,SAAK0oG,YAAL,GAAoBA,YAApB;AACH;;AAZ2B;AAchC;AACA;AACA;;;AACA,SAASqrI,wBAAT,CAAkC/rI,QAAlC,EAA4C;AACxC,MAAIl1B,SAAJ;AACA,MAAIkhK,YAAJ;;AACA,MAAIhsI,QAAQ,CAAC9xE,QAAb,EAAuB;AACnB,UAAMA,QAAQ,GAAG6uC,iBAAiB,CAACijC,QAAQ,CAAC9xE,QAAV,CAAlC;AACA48C,IAAAA,SAAS,GAAG2a,SAAS,CAACztF,OAAV,CAAkBk2B,QAAlB,CAAZ;AACA89M,IAAAA,YAAY,GAAGC,gBAAgB,CAAC/9M,QAAD,CAA/B;AACH,GAJD,MAKK,IAAI8xE,QAAQ,CAACrhG,WAAb,EAA0B;AAC3BmsE,IAAAA,SAAS,GAAIohK,aAAD,IAAmBA,aAA/B;;AACAF,IAAAA,YAAY,GAAG,CAACR,oBAAoB,CAACC,OAArB,CAA6BV,aAAa,CAAC5na,GAAd,CAAkB68R,QAAQ,CAACrhG,WAA3B,CAA7B,CAAD,CAAf;AACH,GAHI,MAIA,IAAIqhG,QAAQ,CAAC/jF,UAAb,EAAyB;AAC1B6uD,IAAAA,SAAS,GAAGk1B,QAAQ,CAAC/jF,UAArB;AACA+vN,IAAAA,YAAY,GAAGG,qBAAqB,CAACnsI,QAAQ,CAAC/jF,UAAV,EAAsB+jF,QAAQ,CAAChkF,IAA/B,CAApC;AACH,GAHI,MAIA;AACD8uD,IAAAA,SAAS,GAAG,MAAMk1B,QAAQ,CAAC9lD,QAA3B;;AACA8xL,IAAAA,YAAY,GAAGN,WAAf;AACH;;AACD,SAAO,IAAII,yBAAJ,CAA8BhhK,SAA9B,EAAyCkhK,YAAzC,CAAP;AACH;AACD;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASI,yBAAT,CAAmCpsI,QAAnC,EAA6C;AACzC,SAAO,IAAI2rI,2BAAJ,CAAgCZ,aAAa,CAAC5na,GAAd,CAAkB68R,QAAQ,CAACthG,OAA3B,CAAhC,EAAqE,CAACqtO,wBAAwB,CAAC/rI,QAAD,CAAzB,CAArE,EAA2GA,QAAQ,CAACznI,KAAT,IAAkB,KAA7H,CAAP;AACH;AACD;AACA;AACA;;;AACA,SAAS8zQ,0BAAT,CAAoCztO,SAApC,EAA+C;AAC3C,QAAM0tO,UAAU,GAAGC,mBAAmB,CAAC3tO,SAAD,EAAY,EAAZ,CAAtC;;AACA,QAAM+0D,QAAQ,GAAG24K,UAAU,CAAC19a,GAAX,CAAew9a,yBAAf,CAAjB;AACA,QAAMI,mBAAmB,GAAGC,gCAAgC,CAAC94K,QAAD,EAAW,IAAI33P,GAAJ,EAAX,CAA5D;AACA,SAAOpM,KAAK,CAACiZ,IAAN,CAAW2ja,mBAAmB,CAACjkY,MAApB,EAAX,CAAP;AACH;AACD;AACA;AACA;AACA;;;AACA,SAASkkY,gCAAT,CAA0C7tO,SAA1C,EAAqD8tO,sBAArD,EAA6E;AACzE,OAAK,IAAI3ib,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAG60M,SAAS,CAAC1nM,MAA9B,EAAsCnN,CAAC,EAAvC,EAA2C;AACvC,UAAMi2S,QAAQ,GAAGphG,SAAS,CAAC70M,CAAD,CAA1B;AACA,UAAMqoP,QAAQ,GAAGs6L,sBAAsB,CAACvpa,GAAvB,CAA2B68R,QAAQ,CAAC/qS,GAAT,CAAalJ,EAAxC,CAAjB;;AACA,QAAIqmP,QAAJ,EAAc;AACV,UAAI4tD,QAAQ,CAAC0U,aAAT,KAA2BtiE,QAAQ,CAACsiE,aAAxC,EAAuD;AACnD,cAAMk2H,6CAA6C,CAACx4L,QAAD,EAAW4tD,QAAX,CAAnD;AACH;;AACD,UAAIA,QAAQ,CAAC0U,aAAb,EAA4B;AACxB,aAAK,IAAI/oT,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGq0S,QAAQ,CAAC4rI,iBAAT,CAA2B10a,MAA/C,EAAuDvL,CAAC,EAAxD,EAA4D;AACxDymP,UAAAA,QAAQ,CAACw5L,iBAAT,CAA2Bz9a,IAA3B,CAAgC6xS,QAAQ,CAAC4rI,iBAAT,CAA2Bjgb,CAA3B,CAAhC;AACH;AACJ,OAJD,MAKK;AACD+gb,QAAAA,sBAAsB,CAAC39a,GAAvB,CAA2BixS,QAAQ,CAAC/qS,GAAT,CAAalJ,EAAxC,EAA4Ci0S,QAA5C;AACH;AACJ,KAZD,MAaK;AACD,UAAIiY,gBAAJ;;AACA,UAAIjY,QAAQ,CAAC0U,aAAb,EAA4B;AACxBuD,QAAAA,gBAAgB,GAAG,IAAI0zH,2BAAJ,CAAgC3rI,QAAQ,CAAC/qS,GAAzC,EAA8C+qS,QAAQ,CAAC4rI,iBAAT,CAA2Bz4a,KAA3B,EAA9C,EAAkF6sS,QAAQ,CAAC0U,aAA3F,CAAnB;AACH,OAFD,MAGK;AACDuD,QAAAA,gBAAgB,GAAGjY,QAAnB;AACH;;AACD0sI,MAAAA,sBAAsB,CAAC39a,GAAvB,CAA2BixS,QAAQ,CAAC/qS,GAAT,CAAalJ,EAAxC,EAA4CksT,gBAA5C;AACH;AACJ;;AACD,SAAOy0H,sBAAP;AACH;;AACD,SAASH,mBAAT,CAA6B3tO,SAA7B,EAAwCi3B,GAAxC,EAA6C;AACzCj3B,EAAAA,SAAS,CAAC5wM,OAAV,CAAkB9C,CAAC,IAAI;AACnB,QAAIA,CAAC,YAAYs0C,IAAjB,EAAuB;AACnBq2L,MAAAA,GAAG,CAAC1nO,IAAJ,CAAS;AAAEuwM,QAAAA,OAAO,EAAExzM,CAAX;AAAcgjO,QAAAA,QAAQ,EAAEhjO;AAAxB,OAAT;AACH,KAFD,MAGK,IAAIA,CAAC,IAAI,OAAOA,CAAP,IAAY,QAAjB,IAA6BA,CAAC,CAACwzM,OAAF,KAAc9mC,SAA/C,EAA0D;AAC3Di+D,MAAAA,GAAG,CAAC1nO,IAAJ,CAASjD,CAAT;AACH,KAFI,MAGA,IAAI0E,KAAK,CAACC,OAAN,CAAc3E,CAAd,CAAJ,EAAsB;AACvBqhb,MAAAA,mBAAmB,CAACrhb,CAAD,EAAI2qO,GAAJ,CAAnB;AACH,KAFI,MAGA;AACD,YAAM20M,oBAAoB,CAACt/a,CAAD,CAA1B;AACH;AACJ,GAbD;AAcA,SAAO2qO,GAAP;AACH;;AACD,SAASs2M,qBAAT,CAA+BhlJ,UAA/B,EAA2CuZ,YAA3C,EAAyD;AACrD,MAAI,CAACA,YAAL,EAAmB;AACf,WAAOurI,gBAAgB,CAAC9kJ,UAAD,CAAvB;AACH,GAFD,MAGK;AACD,UAAMvuN,MAAM,GAAG8nO,YAAY,CAAC9xS,GAAb,CAAiBrF,CAAC,IAAI,CAACA,CAAD,CAAtB,CAAf;AACA,WAAOm3S,YAAY,CAAC9xS,GAAb,CAAiBrF,CAAC,IAAIojb,aAAa,CAACxlJ,UAAD,EAAa59R,CAAb,EAAgBqvE,MAAhB,CAAnC,CAAP;AACH;AACJ;;AACD,SAASqzW,gBAAT,CAA0B9kJ,UAA1B,EAAsC;AAClC,QAAMvuN,MAAM,GAAG6sN,SAAS,CAACvzM,UAAV,CAAqBi1M,UAArB,CAAf;AACA,MAAI,CAACvuN,MAAL,EACI,OAAO,EAAP;;AACJ,MAAIA,MAAM,CAAC/3D,IAAP,CAAY1W,CAAC,IAAIA,CAAC,IAAI,IAAtB,CAAJ,EAAiC;AAC7B,UAAMsgb,iBAAiB,CAACtjJ,UAAD,EAAavuN,MAAb,CAAvB;AACH;;AACD,SAAOA,MAAM,CAAChqE,GAAP,CAAWzE,CAAC,IAAIwib,aAAa,CAACxlJ,UAAD,EAAah9R,CAAb,EAAgByuE,MAAhB,CAA7B,CAAP;AACH;;AACD,SAAS+zW,aAAT,CAAuBxlJ,UAAvB,EAAmC1mH,QAAnC,EAA6C7nG,MAA7C,EAAqD;AACjD,MAAI/nE,KAAK,GAAG,IAAZ;AACA,MAAI4zK,QAAQ,GAAG,KAAf;;AACA,MAAI,CAAC70K,KAAK,CAACC,OAAN,CAAc4wK,QAAd,CAAL,EAA8B;AAC1B,QAAIA,QAAQ,YAAY+lB,MAAxB,EAAgC;AAC5B,aAAOomP,iBAAiB,CAACnsQ,QAAQ,CAAC5vK,KAAV,EAAiB4zK,QAAjB,EAA2B,IAA3B,CAAxB;AACH,KAFD,MAGK;AACD,aAAOmoQ,iBAAiB,CAACnsQ,QAAD,EAAWgE,QAAX,EAAqB,IAArB,CAAxB;AACH;AACJ;;AACD,MAAIjsI,UAAU,GAAG,IAAjB;;AACA,OAAK,IAAIzuC,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAG02K,QAAQ,CAACvpK,MAA7B,EAAqC,EAAEnN,CAAvC,EAA0C;AACtC,UAAM8ib,aAAa,GAAGpsQ,QAAQ,CAAC12K,CAAD,CAA9B;;AACA,QAAI8ib,aAAa,YAAYrtY,IAA7B,EAAmC;AAC/B3uC,MAAAA,KAAK,GAAGg8a,aAAR;AACH,KAFD,MAGK,IAAIA,aAAa,YAAYrmP,MAA7B,EAAqC;AACtC31L,MAAAA,KAAK,GAAGg8a,aAAa,CAACh8a,KAAtB;AACH,KAFI,MAGA,IAAIg8a,aAAa,YAAYhmP,QAA7B,EAAuC;AACxCpiB,MAAAA,QAAQ,GAAG,IAAX;AACH,KAFI,MAGA,IAAIooQ,aAAa,YAAYhjC,IAAzB,IAAiCgjC,aAAa,YAAYzpN,QAA9D,EAAwE;AACzE5qL,MAAAA,UAAU,GAAGq0Y,aAAb;AACH,KAFI,MAGA,IAAIA,aAAa,YAAYjmP,cAA7B,EAA6C;AAC9C/1L,MAAAA,KAAK,GAAGg8a,aAAR;AACH;AACJ;;AACDh8a,EAAAA,KAAK,GAAGksQ,iBAAiB,CAAClsQ,KAAD,CAAzB;;AACA,MAAIA,KAAK,IAAI,IAAb,EAAmB;AACf,WAAO+7a,iBAAiB,CAAC/7a,KAAD,EAAQ4zK,QAAR,EAAkBjsI,UAAlB,CAAxB;AACH,GAFD,MAGK;AACD,UAAMiyY,iBAAiB,CAACtjJ,UAAD,EAAavuN,MAAb,CAAvB;AACH;AACJ;;AACD,SAASg0W,iBAAT,CAA2B/7a,KAA3B,EAAkC4zK,QAAlC,EAA4CjsI,UAA5C,EAAwD;AACpD,SAAO,IAAIgzY,oBAAJ,CAAyBT,aAAa,CAAC5na,GAAd,CAAkBtS,KAAlB,CAAzB,EAAmD4zK,QAAnD,EAA6DjsI,UAA7D,CAAP;AACH;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,MAAMs0Y,SAAS,GAAG,EAAlB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,MAAMC,kBAAN,CAAyB;AACrB;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACkB,SAAPp+a,OAAO,CAACiwM,SAAD,EAAY;AACtB,WAAOytO,0BAA0B,CAACztO,SAAD,CAAjC;AACH;AACD;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAC2B,SAAhBouO,gBAAgB,CAACpuO,SAAD,EAAYlyM,MAAZ,EAAoB;AACvC,UAAMugb,2BAA2B,GAAGF,kBAAkB,CAACp+a,OAAnB,CAA2BiwM,SAA3B,CAApC;AACA,WAAOmuO,kBAAkB,CAACG,qBAAnB,CAAyCD,2BAAzC,EAAsEvgb,MAAtE,CAAP;AACH;AACD;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACgC,SAArBwgb,qBAAqB,CAACtuO,SAAD,EAAYlyM,MAAZ,EAAoB;AAC5C,WAAO,IAAIygb,mBAAJ,CAAwBvuO,SAAxB,EAAmClyM,MAAnC,CAAP;AACH;;AAzFoB;;AA2FzB,MAAMygb,mBAAN,CAA0B;AACtB;AACJ;AACA;AACIrhb,EAAAA,WAAW,CAACshb,UAAD,EAAa13H,OAAb,EAAsB;AAC7B;AACA,SAAK23H,oBAAL,GAA4B,CAA5B;AACA,SAAKD,UAAL,GAAkBA,UAAlB;AACA,SAAK1gb,MAAL,GAAcgpT,OAAO,IAAI,IAAzB;AACA,UAAMlxD,GAAG,GAAG4oL,UAAU,CAACl2a,MAAvB;AACA,SAAKo2a,MAAL,GAAc,EAAd;AACA,SAAKC,IAAL,GAAY,EAAZ;;AACA,SAAK,IAAIxjb,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGy6P,GAApB,EAAyBz6P,CAAC,EAA1B,EAA8B;AAC1B,WAAKujb,MAAL,CAAYvjb,CAAZ,IAAiBqjb,UAAU,CAACrjb,CAAD,CAAV,CAAckL,GAAd,CAAkBlJ,EAAnC;AACA,WAAKwhb,IAAL,CAAUxjb,CAAV,IAAe+ib,SAAf;AACH;AACJ;;AACD3pa,EAAAA,GAAG,CAACtS,KAAD,EAAQiyN,aAAa,GAAGgvL,kBAAxB,EAA4C;AAC3C,WAAO,KAAK07B,SAAL,CAAezC,aAAa,CAAC5na,GAAd,CAAkBtS,KAAlB,CAAf,EAAyC,IAAzC,EAA+CiyN,aAA/C,CAAP;AACH;;AACD2qN,EAAAA,qBAAqB,CAAC7uO,SAAD,EAAY;AAC7B,UAAMquO,2BAA2B,GAAGF,kBAAkB,CAACp+a,OAAnB,CAA2BiwM,SAA3B,CAApC;AACA,WAAO,KAAK8uO,uBAAL,CAA6BT,2BAA7B,CAAP;AACH;;AACDS,EAAAA,uBAAuB,CAAC9uO,SAAD,EAAY;AAC/B,UAAM+uO,GAAG,GAAG,IAAIR,mBAAJ,CAAwBvuO,SAAxB,CAAZ;AACA+uO,IAAAA,GAAG,CAACjhb,MAAJ,GAAa,IAAb;AACA,WAAOihb,GAAP;AACH;;AACDC,EAAAA,qBAAqB,CAAC5tI,QAAD,EAAW;AAC5B,WAAO,KAAK6tI,mBAAL,CAAyBd,kBAAkB,CAACp+a,OAAnB,CAA2B,CAACqxS,QAAD,CAA3B,EAAuC,CAAvC,CAAzB,CAAP;AACH;;AACD6tI,EAAAA,mBAAmB,CAAC7tI,QAAD,EAAW;AAC1B,WAAO,KAAK8tI,oBAAL,CAA0B9tI,QAA1B,CAAP;AACH;;AACD+tI,EAAAA,kBAAkB,CAACzlU,KAAD,EAAQ;AACtB,QAAIA,KAAK,GAAG,CAAR,IAAaA,KAAK,IAAI,KAAK8kU,UAAL,CAAgBl2a,MAA1C,EAAkD;AAC9C,YAAMyza,gBAAgB,CAACriU,KAAD,CAAtB;AACH;;AACD,WAAO,KAAK8kU,UAAL,CAAgB9kU,KAAhB,CAAP;AACH;AACD;;;AACA0lU,EAAAA,IAAI,CAAChuI,QAAD,EAAW;AACX,QAAI,KAAKqtI,oBAAL,KAA8B,KAAKY,sBAAL,EAAlC,EAAiE;AAC7D,YAAM7D,qBAAqB,CAAC,IAAD,EAAOpqI,QAAQ,CAAC/qS,GAAhB,CAA3B;AACH;;AACD,WAAO,KAAK64a,oBAAL,CAA0B9tI,QAA1B,CAAP;AACH;;AACDiuI,EAAAA,sBAAsB,GAAG;AACrB,WAAO,KAAKV,IAAL,CAAUr2a,MAAjB;AACH;;AACD42a,EAAAA,oBAAoB,CAAC9tI,QAAD,EAAW;AAC3B,QAAIA,QAAQ,CAAC0U,aAAb,EAA4B;AACxB,YAAM7+E,GAAG,GAAG,EAAZ;;AACA,WAAK,IAAI9rO,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGi2S,QAAQ,CAAC4rI,iBAAT,CAA2B10a,MAA/C,EAAuD,EAAEnN,CAAzD,EAA4D;AACxD8rO,QAAAA,GAAG,CAAC9rO,CAAD,CAAH,GAAS,KAAKmkb,YAAL,CAAkBluI,QAAlB,EAA4BA,QAAQ,CAAC4rI,iBAAT,CAA2B7hb,CAA3B,CAA5B,CAAT;AACH;;AACD,aAAO8rO,GAAP;AACH,KAND,MAOK;AACD,aAAO,KAAKq4M,YAAL,CAAkBluI,QAAlB,EAA4BA,QAAQ,CAAC4rI,iBAAT,CAA2B,CAA3B,CAA5B,CAAP;AACH;AACJ;;AACDsC,EAAAA,YAAY,CAACluI,QAAD,EAAW8rI,yBAAX,EAAsC;AAC9C,UAAM9zO,OAAO,GAAG8zO,yBAAyB,CAAC9zO,OAA1C;AACA,QAAIgkB,IAAJ;;AACA,QAAI;AACAA,MAAAA,IAAI,GACA8vN,yBAAyB,CAACprI,YAA1B,CAAuC9xS,GAAvC,CAA2Cu8Q,GAAG,IAAI,KAAKgjK,0BAAL,CAAgChjK,GAAhC,CAAlD,CADJ;AAEH,KAHD,CAIA,OAAO9hR,CAAP,EAAU;AACN,UAAIA,CAAC,CAAC4gb,MAAN,EAAc;AACV5gb,QAAAA,CAAC,CAAC4gb,MAAF,CAAS,IAAT,EAAejqI,QAAQ,CAAC/qS,GAAxB;AACH;;AACD,YAAM5L,CAAN;AACH;;AACD,QAAI6yK,GAAJ;;AACA,QAAI;AACAA,MAAAA,GAAG,GAAG87B,OAAO,CAAC,GAAGgkB,IAAJ,CAAb;AACH,KAFD,CAGA,OAAO3yN,CAAP,EAAU;AACN,YAAMghb,kBAAkB,CAAC,IAAD,EAAOhhb,CAAP,EAAUA,CAAC,CAACmb,KAAZ,EAAmBw7R,QAAQ,CAAC/qS,GAA5B,CAAxB;AACH;;AACD,WAAOinK,GAAP;AACH;;AACDiyQ,EAAAA,0BAA0B,CAAChjK,GAAD,EAAM;AAC5B,WAAO,KAAKqiK,SAAL,CAAeriK,GAAG,CAACl2Q,GAAnB,EAAwBk2Q,GAAG,CAAC3yO,UAA5B,EAAwC2yO,GAAG,CAAC1mG,QAAJ,GAAe,IAAf,GAAsBqtO,kBAA9D,CAAP;AACH;;AACD07B,EAAAA,SAAS,CAACv4a,GAAD,EAAMujC,UAAN,EAAkBsqL,aAAlB,EAAiC;AACtC,QAAI7tN,GAAG,KAAKk4a,mBAAmB,CAACiB,YAAhC,EAA8C;AAC1C,aAAO,IAAP;AACH;;AACD,QAAI51Y,UAAU,YAAYqxW,IAA1B,EAAgC;AAC5B,aAAO,KAAKwkC,aAAL,CAAmBp5a,GAAnB,EAAwB6tN,aAAxB,CAAP;AACH,KAFD,MAGK;AACD,aAAO,KAAKwrN,gBAAL,CAAsBr5a,GAAtB,EAA2B6tN,aAA3B,EAA0CtqL,UAA1C,CAAP;AACH;AACJ;;AACD+1Y,EAAAA,cAAc,CAACC,KAAD,EAAQ;AAClB,SAAK,IAAIzkb,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAG,KAAKujb,MAAL,CAAYp2a,MAAhC,EAAwCnN,CAAC,EAAzC,EAA6C;AACzC,UAAI,KAAKujb,MAAL,CAAYvjb,CAAZ,MAAmBykb,KAAvB,EAA8B;AAC1B,YAAI,KAAKjB,IAAL,CAAUxjb,CAAV,MAAiB+ib,SAArB,EAAgC;AAC5B,eAAKS,IAAL,CAAUxjb,CAAV,IAAe,KAAKikb,IAAL,CAAU,KAAKZ,UAAL,CAAgBrjb,CAAhB,CAAV,CAAf;AACH;;AACD,eAAO,KAAKwjb,IAAL,CAAUxjb,CAAV,CAAP;AACH;AACJ;;AACD,WAAO+ib,SAAP;AACH;AACD;;;AACA2B,EAAAA,YAAY,CAACx5a,GAAD,EAAM6tN,aAAN,EAAqB;AAC7B,QAAIA,aAAa,KAAKgvL,kBAAtB,EAA0C;AACtC,aAAOhvL,aAAP;AACH,KAFD,MAGK;AACD,YAAMqnN,eAAe,CAAC,IAAD,EAAOl1a,GAAP,CAArB;AACH;AACJ;AACD;;;AACAo5a,EAAAA,aAAa,CAACp5a,GAAD,EAAM6tN,aAAN,EAAqB;AAC9B,UAAM5mD,GAAG,GAAG,KAAKqyQ,cAAL,CAAoBt5a,GAAG,CAAClJ,EAAxB,CAAZ;;AACA,WAAQmwK,GAAG,KAAK4wQ,SAAT,GAAsB5wQ,GAAtB,GAA4B,KAAKuyQ,YAAL,CAAkBx5a,GAAlB,EAAuB6tN,aAAvB,CAAnC;AACH;AACD;;;AACAwrN,EAAAA,gBAAgB,CAACr5a,GAAD,EAAM6tN,aAAN,EAAqBtqL,UAArB,EAAiC;AAC7C,QAAIm1Y,GAAJ;;AACA,QAAIn1Y,UAAU,YAAY4qL,QAA1B,EAAoC;AAChCuqN,MAAAA,GAAG,GAAG,KAAKjhb,MAAX;AACH,KAFD,MAGK;AACDihb,MAAAA,GAAG,GAAG,IAAN;AACH;;AACD,WAAOA,GAAG,YAAYR,mBAAtB,EAA2C;AACvC,YAAMuB,IAAI,GAAGf,GAAb;;AACA,YAAMzxQ,GAAG,GAAGwyQ,IAAI,CAACH,cAAL,CAAoBt5a,GAAG,CAAClJ,EAAxB,CAAZ;;AACA,UAAImwK,GAAG,KAAK4wQ,SAAZ,EACI,OAAO5wQ,GAAP;AACJyxQ,MAAAA,GAAG,GAAGe,IAAI,CAAChib,MAAX;AACH;;AACD,QAAIihb,GAAG,KAAK,IAAZ,EAAkB;AACd,aAAOA,GAAG,CAACxqa,GAAJ,CAAQlO,GAAG,CAACpE,KAAZ,EAAmBiyN,aAAnB,CAAP;AACH,KAFD,MAGK;AACD,aAAO,KAAK2rN,YAAL,CAAkBx5a,GAAlB,EAAuB6tN,aAAvB,CAAP;AACH;AACJ;;AACc,MAAXn/J,WAAW,GAAG;AACd,UAAMi7I,SAAS,GAAG+vO,aAAa,CAAC,IAAD,EAAQzjb,CAAD,IAAO,OAAOA,CAAC,CAAC+J,GAAF,CAAM0uD,WAAb,GAA2B,IAAzC,CAAb,CACb9zC,IADa,CACR,IADQ,CAAlB;;AAEA,WAAQ,kCAAiC+uL,SAAU,IAAnD;AACH;;AACDryM,EAAAA,QAAQ,GAAG;AACP,WAAO,KAAKo3D,WAAZ;AACH;;AA1JqB;;AA4J1BwpX,mBAAmB,CAACiB,YAApB,GAAqC,eAAerD,aAAa,CAAC5na,GAAd,CAAkBu2M,QAAlB,CAApD;;AACA,SAASi1N,aAAT,CAAuBzuN,QAAvB,EAAiC3+L,EAAjC,EAAqC;AACjC,QAAMs0M,GAAG,GAAG,EAAZ;;AACA,OAAK,IAAI9rO,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGm2N,QAAQ,CAACktN,UAAT,CAAoBl2a,MAAxC,EAAgD,EAAEnN,CAAlD,EAAqD;AACjD8rO,IAAAA,GAAG,CAAC9rO,CAAD,CAAH,GAASw3B,EAAE,CAAC2+L,QAAQ,CAAC6tN,kBAAT,CAA4Bhkb,CAA5B,CAAD,CAAX;AACH;;AACD,SAAO8rO,GAAP;AACH;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAAS+4M,iBAAT,CAA2B/9a,KAA3B,EAAkCwnJ,KAAK,GAAGo7O,WAAW,CAAC7yI,OAAtD,EAA+D;AAC3D,QAAMi6I,KAAK,GAAG2F,QAAQ,EAAtB,CAD2D,CAE3D;AACA;;AACA,MAAI3F,KAAK,KAAK,IAAd,EAAoB;AAChB;AACAr3M,IAAAA,SAAS,IAAIuwM,kCAAkC,CAAC66C,iBAAD,CAA/C;AACA,WAAOxgN,QAAQ,CAACv9N,KAAD,EAAQwnJ,KAAR,CAAf;AACH;;AACD,QAAMq8O,KAAK,GAAGmM,eAAe,EAA7B;AACA,SAAOmJ,qBAAqB,CAACtV,KAAD,EAAQmG,KAAR,EAAe99H,iBAAiB,CAAClsQ,KAAD,CAAhC,EAAyCwnJ,KAAzC,CAA5B;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASw2R,gBAAT,GAA4B;AACxB,QAAM5tK,GAAG,GAAGz9E,SAAS,GAAI,gEAAJ,GAAsE,SAA3F;AACA,QAAM,IAAI7+K,KAAJ,CAAUs8P,GAAV,CAAN;AACH;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAAS6tK,UAAT,CAAoBrnR,QAApB,EAA8B1wJ,KAA9B,EAAqCsjZ,SAArC,EAAgD;AAC5C,QAAMxf,KAAK,GAAG2F,QAAQ,EAAtB;AACA,QAAMn8B,YAAY,GAAGs9B,gBAAgB,EAArC;;AACA,MAAI4jC,cAAc,CAAC1qC,KAAD,EAAQx2B,YAAR,EAAsBttW,KAAtB,CAAlB,EAAgD;AAC5C,UAAM49X,KAAK,GAAG8L,QAAQ,EAAtB;AACA,UAAM/L,KAAK,GAAGmP,gBAAgB,EAA9B;AACAwyB,IAAAA,uBAAuB,CAAC1hC,KAAD,EAAQD,KAAR,EAAemG,KAAf,EAAsBpzO,QAAtB,EAAgC1wJ,KAAhC,EAAuC8jY,KAAK,CAAC3B,QAAD,CAA5C,EAAwDmhB,SAAxD,EAAmE,KAAnE,CAAvB;AACA72N,IAAAA,SAAS,IAAIg3O,4BAA4B,CAAC7lC,KAAK,CAACpnY,IAAP,EAAamnY,KAAb,EAAoBjtO,QAApB,EAA8B48M,YAA9B,CAAzC;AACH;;AACD,SAAOyqE,UAAP;AACH;AACD;AACA;AACA;AACA;;;AACA,SAASC,qCAAT,CAA+Cp6C,KAA/C,EAAsDD,KAAtD,EAA6DmG,KAA7D,EAAoE9jY,KAApE,EAA2Ek3T,YAA3E,EAAyF;AACrF,QAAMxrG,MAAM,GAAGiyK,KAAK,CAACjyK,MAArB;AACA,QAAM73N,QAAQ,GAAGqjU,YAAY,GAAG,OAAH,GAAa,OAA1C,CAFqF,CAGrF;;AACAwoG,EAAAA,oBAAoB,CAAC9hC,KAAD,EAAQkG,KAAR,EAAep4K,MAAM,CAAC73N,QAAD,CAArB,EAAiCA,QAAjC,EAA2CmM,KAA3C,CAApB;AACH;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASi4a,2BAAT,CAAqC1mU,KAArC,EAA4CqsR,KAA5C,EAAmDkG,KAAnD,EAA0DjvS,MAA1D,EAAkEnoF,IAAlE,EAAwEyka,UAAxE,EAAoFC,cAApF,EAAoG;AAChG3kP,EAAAA,SAAS,IAAIq4M,qBAAqB,CAAClH,KAAD,CAAlC;AACAnxM,EAAAA,SAAS,IAAIA,SAAS,CAACixM,eAAV,EAAb;AACA,QAAM2zC,WAAW,GAAGzzC,KAAK,CAACvhD,MAA1B;AACA,QAAM/2F,KAAK,GAAGgjJ,WAAW,CAAC+oC,WAAD,EAAcF,UAAd,CAAzB;AACA,QAAMxzC,KAAK,GAAGi+B,gBAAgB,CAACh+B,KAAD,EAAQrsR,KAAR,EAAe;AAAE;AAAjB,IAAgC7kG,IAAhC,EAAsC44O,KAAtC,CAA9B;AACA,QAAMi7K,aAAa,GAAGD,iBAAiB,CAAC1iC,KAAD,EAAQkG,KAAR,EAAenG,KAAf,EAAsB2K,WAAW,CAAC+oC,WAAD,EAAcD,cAAd,CAAjC,CAAvC;AACA3kP,EAAAA,SAAS,IAAIyrP,sBAAsB,CAACt6C,KAAD,EAAQ/oS,MAAR,EAAgB8oS,KAAhB,EAAuB4iC,aAAvB,CAAnC;;AACA,MAAI5iC,KAAK,CAACr4I,KAAN,KAAgB,IAApB,EAA0B;AACtB4+K,IAAAA,oBAAoB,CAACvmC,KAAD,EAAQA,KAAK,CAACr4I,KAAd,EAAqB,KAArB,CAApB;AACH;;AACD,MAAIq4I,KAAK,CAACu4B,WAAN,KAAsB,IAA1B,EAAgC;AAC5BgO,IAAAA,oBAAoB,CAACvmC,KAAD,EAAQA,KAAK,CAACu4B,WAAd,EAA2B,IAA3B,CAApB;AACH;;AACD,MAAIt4B,KAAK,CAAC12F,OAAN,KAAkB,IAAtB,EAA4B;AACxB02F,IAAAA,KAAK,CAAC12F,OAAN,CAAcznC,YAAd,CAA2Bm+H,KAA3B,EAAkCD,KAAlC;AACH;;AACD,SAAOA,KAAP;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASw6C,cAAT,CAAwB5mU,KAAxB,EAA+B7kG,IAA/B,EAAqCyka,UAArC,EAAiDC,cAAjD,EAAiE;AAC7D,QAAMttC,KAAK,GAAG2F,QAAQ,EAAtB;AACA,QAAM7L,KAAK,GAAG8L,QAAQ,EAAtB;AACA,QAAM6nC,aAAa,GAAG3uC,aAAa,GAAGrxR,KAAtC;AACAk7E,EAAAA,SAAS,IACLsuM,WAAW,CAAC2P,eAAe,EAAhB,EAAoB9M,KAAK,CAAC/6G,iBAA1B,EAA6C,gDAA7C,CADf;AAEAp2F,EAAAA,SAAS,IAAIivM,kBAAkB,CAACoI,KAAD,EAAQytC,aAAR,CAA/B;AACA,QAAM5yY,QAAQ,GAAGmlW,KAAK,CAAC3B,QAAD,CAAtB;AACA,QAAMttS,MAAM,GAAGivS,KAAK,CAACytC,aAAD,CAAL,GAAuBzmB,iBAAiB,CAACnsX,QAAD,EAAWjyB,IAAX,EAAiBygY,cAAc,EAA/B,CAAvD;AACA,QAAMxP,KAAK,GAAGC,KAAK,CAACF,eAAN,GACVu6C,2BAA2B,CAAC1G,aAAD,EAAgB3zC,KAAhB,EAAuBkG,KAAvB,EAA8BjvS,MAA9B,EAAsCnoF,IAAtC,EAA4Cyka,UAA5C,EAAwDC,cAAxD,CADjB,GAEVxzC,KAAK,CAACpnY,IAAN,CAAW+6a,aAAX,CAFJ;AAGArnC,EAAAA,eAAe,CAACvM,KAAD,EAAQ,IAAR,CAAf;AACA,QAAMu4B,WAAW,GAAGv4B,KAAK,CAACu4B,WAA1B;;AACA,MAAIA,WAAW,KAAK,IAApB,EAA0B;AACtBnmB,IAAAA,eAAe,CAACpxW,QAAD,EAAWk2D,MAAX,EAAmBqhU,WAAnB,CAAf;AACH;;AACD,QAAMx9V,OAAO,GAAGilU,KAAK,CAACjlU,OAAtB;;AACA,MAAIA,OAAO,KAAK,IAAhB,EAAsB;AAClB03V,IAAAA,gBAAgB,CAACzxX,QAAD,EAAWk2D,MAAX,EAAmBn8B,OAAnB,CAAhB;AACH;;AACD,QAAMk+D,MAAM,GAAG+mQ,KAAK,CAAC/mQ,MAArB;;AACA,MAAIA,MAAM,KAAK,IAAf,EAAqB;AACjBu5R,IAAAA,gBAAgB,CAACxxX,QAAD,EAAWk2D,MAAX,EAAmB+hC,MAAnB,CAAhB;AACH;;AACD,MAAI,CAAC+mQ,KAAK,CAACr8O,KAAN,GAAc;AAAG;AAAlB,QAAwC;AAAG;AAA/C,IAAiE;AAC7D;AACA;AACAnlI,IAAAA,WAAW,CAACyhX,KAAD,EAAQkG,KAAR,EAAejvS,MAAf,EAAuB8oS,KAAvB,CAAX;AACH,GA7B4D,CA8B7D;AACA;AACA;;;AACA,MAAIuL,oBAAoB,OAAO,CAA/B,EAAkC;AAC9Bmc,IAAAA,eAAe,CAACxwT,MAAD,EAASivS,KAAT,CAAf;AACH;;AACDsF,EAAAA,yBAAyB;;AACzB,MAAI1F,eAAe,CAAC/F,KAAD,CAAnB,EAA4B;AACxBu/B,IAAAA,yBAAyB,CAACt/B,KAAD,EAAQkG,KAAR,EAAenG,KAAf,CAAzB;AACAs/B,IAAAA,qBAAqB,CAACr/B,KAAD,EAAQD,KAAR,EAAemG,KAAf,CAArB;AACH;;AACD,MAAIstC,cAAc,KAAK,IAAvB,EAA6B;AACzB/T,IAAAA,wBAAwB,CAACv5B,KAAD,EAAQnG,KAAR,CAAxB;AACH;AACJ;AACD;AACA;AACA;AACA;AACA;;;AACA,SAASy6C,YAAT,GAAwB;AACpB,MAAIruC,YAAY,GAAGD,eAAe,EAAlC;AACAr9M,EAAAA,SAAS,IAAI8uM,aAAa,CAACwO,YAAD,EAAe,0BAAf,CAA1B;;AACA,MAAII,oBAAoB,EAAxB,EAA4B;AACxBC,IAAAA,0BAA0B;AAC7B,GAFD,MAGK;AACD39M,IAAAA,SAAS,IAAIg4M,eAAe,CAACqF,eAAe,EAAhB,CAA5B;AACAC,IAAAA,YAAY,GAAGA,YAAY,CAACp0Y,MAA5B;AACAu0Y,IAAAA,eAAe,CAACH,YAAD,EAAe,KAAf,CAAf;AACH;;AACD,QAAMpM,KAAK,GAAGoM,YAAd;AACAt9M,EAAAA,SAAS,IAAImjN,eAAe,CAACjS,KAAD,EAAQ;AAAE;AAAV,GAA5B;AACA0L,EAAAA,yBAAyB;AACzB,QAAMzL,KAAK,GAAG8L,QAAQ,EAAtB;;AACA,MAAI9L,KAAK,CAACF,eAAV,EAA2B;AACvB8P,IAAAA,sBAAsB,CAAC5P,KAAD,EAAQmM,YAAR,CAAtB;;AACA,QAAIvG,kBAAkB,CAACuG,YAAD,CAAtB,EAAsC;AAClCnM,MAAAA,KAAK,CAAC12F,OAAN,CAAcxnC,UAAd,CAAyBqqI,YAAzB;AACH;AACJ;;AACD,MAAIpM,KAAK,CAAC44B,kBAAN,IAA4B,IAA5B,IAAoC7mB,aAAa,CAAC/R,KAAD,CAArD,EAA8D;AAC1Dq6C,IAAAA,qCAAqC,CAACp6C,KAAD,EAAQD,KAAR,EAAe8L,QAAQ,EAAvB,EAA2B9L,KAAK,CAAC44B,kBAAjC,EAAqD,IAArD,CAArC;AACH;;AACD,MAAI54B,KAAK,CAAC04B,iBAAN,IAA2B,IAA3B,IAAmC1mB,aAAa,CAAChS,KAAD,CAApD,EAA6D;AACzDq6C,IAAAA,qCAAqC,CAACp6C,KAAD,EAAQD,KAAR,EAAe8L,QAAQ,EAAvB,EAA2B9L,KAAK,CAAC04B,iBAAjC,EAAoD,KAApD,CAArC;AACH;AACJ;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASgiB,SAAT,CAAmB9mU,KAAnB,EAA0B7kG,IAA1B,EAAgCyka,UAAhC,EAA4CC,cAA5C,EAA4D;AACxD+G,EAAAA,cAAc,CAAC5mU,KAAD,EAAQ7kG,IAAR,EAAcyka,UAAd,EAA0BC,cAA1B,CAAd;AACAgH,EAAAA,YAAY;AACf;;AACD,SAASF,sBAAT,CAAgCt6C,KAAhC,EAAuClpP,OAAvC,EAAgDipP,KAAhD,EAAuD4iC,aAAvD,EAAsE;AAClE,QAAMvvI,OAAO,GAAG4sG,KAAK,CAAC5sG,OAAtB,CADkE,CAElE;AACA;AACA;AACA;;AACA,MAAIA,OAAO,KAAK,IAAhB,EACI;AACJ,QAAMjwI,OAAO,GAAG48O,KAAK,CAAC39X,KAAtB,CARkE,CASlE;;AACA,MAAI,CAACuga,aAAD,IAAkBx/Q,OAAO,KAAK,IAAlC,EAAwC;AACpC;AACA;AACA;AACA,UAAMu3R,SAAS,GACf;AACA;AACC,WAAOC,kBAAP,KAA8B,WAA9B,IAA6CA,kBAA7C,IACG7jS,OAAO,YAAY6jS,kBADvB,IAEK,OAAO7iR,cAAP,KAA0B,WAA1B,IAAyC3U,OAAO,CAACh9I,OAAR,CAAgB,GAAhB,IAAuB,CAAC,CAAjE,IACG,CAAC2xJ,cAAc,CAACtpJ,GAAf,CAAmB20I,OAAnB,CANT;;AAOA,QAAIu3R,SAAS,IAAI,CAACxY,eAAe,CAACliC,KAAD,EAAQ78O,OAAR,CAAjC,EAAmD;AAC/C,UAAIp9H,OAAO,GAAI,IAAGo9H,OAAQ,6BAA1B;AACAp9H,MAAAA,OAAO,IAAK,UAASo9H,OAAQ,0EAA7B;;AACA,UAAIA,OAAO,IAAIA,OAAO,CAACh9I,OAAR,CAAgB,GAAhB,IAAuB,CAAC,CAAvC,EAA0C;AACtC4f,QAAAA,OAAO,IAAK,UAASo9H,OAAQ,+HAA7B;AACH,OAFD,MAGK;AACDp9H,QAAAA,OAAO,IACF,8FADL;AAEH;;AACDigB,MAAAA,OAAO,CAAC7tC,KAAR,CAAcwjY,kBAAkB,CAAC;AAAM;AAAP,QAA8B51W,OAA9B,CAAhC;AACH;AACJ;AACJ;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAAS60Z,oCAAT,CAA8CjnU,KAA9C,EAAqDqsR,KAArD,EAA4DkG,KAA5D,EAAmEqtC,UAAnE,EAA+EC,cAA/E,EAA+F;AAC3F3kP,EAAAA,SAAS,IAAIA,SAAS,CAACixM,eAAV,EAAb;AACA,QAAM2zC,WAAW,GAAGzzC,KAAK,CAACvhD,MAA1B;AACA,QAAM/2F,KAAK,GAAGgjJ,WAAW,CAAC+oC,WAAD,EAAcF,UAAd,CAAzB;AACA,QAAMxzC,KAAK,GAAGi+B,gBAAgB,CAACh+B,KAAD,EAAQrsR,KAAR,EAAe;AAAE;AAAjB,IAAyC,cAAzC,EAAyD+zI,KAAzD,CAA9B,CAJ2F,CAK3F;AACA;;AACA,MAAIA,KAAK,KAAK,IAAd,EAAoB;AAChB4+K,IAAAA,oBAAoB,CAACvmC,KAAD,EAAQr4I,KAAR,EAAe,IAAf,CAApB;AACH;;AACD,QAAMigK,SAAS,GAAGjd,WAAW,CAAC+oC,WAAD,EAAcD,cAAd,CAA7B;AACA9Q,EAAAA,iBAAiB,CAAC1iC,KAAD,EAAQkG,KAAR,EAAenG,KAAf,EAAsB4nB,SAAtB,CAAjB;;AACA,MAAI3nB,KAAK,CAAC12F,OAAN,KAAkB,IAAtB,EAA4B;AACxB02F,IAAAA,KAAK,CAAC12F,OAAN,CAAcznC,YAAd,CAA2Bm+H,KAA3B,EAAkCD,KAAlC;AACH;;AACD,SAAOA,KAAP;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAAS86C,uBAAT,CAAiClnU,KAAjC,EAAwC4/T,UAAxC,EAAoDC,cAApD,EAAoE;AAChE,QAAMttC,KAAK,GAAG2F,QAAQ,EAAtB;AACA,QAAM7L,KAAK,GAAG8L,QAAQ,EAAtB;AACA,QAAM6nC,aAAa,GAAGhgU,KAAK,GAAGqxR,aAA9B;AACAn2M,EAAAA,SAAS,IAAIivM,kBAAkB,CAACoI,KAAD,EAAQytC,aAAR,CAA/B;AACA9kP,EAAAA,SAAS,IACLsuM,WAAW,CAAC2P,eAAe,EAAhB,EAAoB9M,KAAK,CAAC/6G,iBAA1B,EAA6C,0DAA7C,CADf;AAEA,QAAM86G,KAAK,GAAGC,KAAK,CAACF,eAAN,GACV86C,oCAAoC,CAACjH,aAAD,EAAgB3zC,KAAhB,EAAuBkG,KAAvB,EAA8BqtC,UAA9B,EAA0CC,cAA1C,CAD1B,GAEVxzC,KAAK,CAACpnY,IAAN,CAAW+6a,aAAX,CAFJ;AAGArnC,EAAAA,eAAe,CAACvM,KAAD,EAAQ,IAAR,CAAf;AACAlxM,EAAAA,SAAS,IAAIA,SAAS,CAACsyM,qBAAV,EAAb;AACA,QAAMlqS,MAAM,GAAGivS,KAAK,CAACytC,aAAD,CAAL,GACXztC,KAAK,CAAC3B,QAAD,CAAL,CAAgB7wO,aAAhB,CAA8Bm7B,SAAS,GAAG,cAAH,GAAoB,EAA3D,CADJ;AAEAtwK,EAAAA,WAAW,CAACyhX,KAAD,EAAQkG,KAAR,EAAejvS,MAAf,EAAuB8oS,KAAvB,CAAX;AACA0nB,EAAAA,eAAe,CAACxwT,MAAD,EAASivS,KAAT,CAAf;;AACA,MAAIJ,eAAe,CAAC/F,KAAD,CAAnB,EAA4B;AACxBu/B,IAAAA,yBAAyB,CAACt/B,KAAD,EAAQkG,KAAR,EAAenG,KAAf,CAAzB;AACAs/B,IAAAA,qBAAqB,CAACr/B,KAAD,EAAQD,KAAR,EAAemG,KAAf,CAArB;AACH;;AACD,MAAIstC,cAAc,IAAI,IAAtB,EAA4B;AACxB/T,IAAAA,wBAAwB,CAACv5B,KAAD,EAAQnG,KAAR,CAAxB;AACH;AACJ;AACD;AACA;AACA;AACA;AACA;;;AACA,SAAS+6C,qBAAT,GAAiC;AAC7B,MAAI3uC,YAAY,GAAGD,eAAe,EAAlC;AACA,QAAMlM,KAAK,GAAG8L,QAAQ,EAAtB;;AACA,MAAIS,oBAAoB,EAAxB,EAA4B;AACxBC,IAAAA,0BAA0B;AAC7B,GAFD,MAGK;AACD39M,IAAAA,SAAS,IAAIg4M,eAAe,CAACsF,YAAD,CAA5B;AACAA,IAAAA,YAAY,GAAGA,YAAY,CAACp0Y,MAA5B;AACAu0Y,IAAAA,eAAe,CAACH,YAAD,EAAe,KAAf,CAAf;AACH;;AACDt9M,EAAAA,SAAS,IAAImjN,eAAe,CAAC7F,YAAD,EAAe;AAAE;AAAjB,GAA5B;;AACA,MAAInM,KAAK,CAACF,eAAV,EAA2B;AACvB8P,IAAAA,sBAAsB,CAAC5P,KAAD,EAAQmM,YAAR,CAAtB;;AACA,QAAIvG,kBAAkB,CAACuG,YAAD,CAAtB,EAAsC;AAClCnM,MAAAA,KAAK,CAAC12F,OAAN,CAAcxnC,UAAd,CAAyBqqI,YAAzB;AACH;AACJ;AACJ;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAAS4uC,kBAAT,CAA4BpnU,KAA5B,EAAmC4/T,UAAnC,EAA+CC,cAA/C,EAA+D;AAC3DqH,EAAAA,uBAAuB,CAAClnU,KAAD,EAAQ4/T,UAAR,EAAoBC,cAApB,CAAvB;AACAsH,EAAAA,qBAAqB;AACxB;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASE,gBAAT,GAA4B;AACxB,SAAOnvC,QAAQ,EAAf;AACH;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;AACA;;;AACA,SAASz/H,SAAT,CAAmB7kG,GAAnB,EAAwB;AACpB;AACA;AACA,SAAO,CAAC,CAACA,GAAF,IAAS,OAAOA,GAAG,CAAC7sK,IAAX,KAAoB,UAApC;AACH;AACD;AACA;AACA;;;AACA,SAASugb,cAAT,CAAwB1zQ,GAAxB,EAA6B;AACzB,SAAO,CAAC,CAACA,GAAF,IAAS,OAAOA,GAAG,CAAC2wB,SAAX,KAAyB,UAAzC;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,MAAMiS,YAAY,GAAG8wO,cAArB;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,SAASC,UAAT,CAAoB37R,SAApB,EAA+B47R,UAA/B,EAA2CzO,UAA3C,EAAuD0O,mBAAvD,EAA4E;AACxE,QAAMl1C,KAAK,GAAG2F,QAAQ,EAAtB;AACA,QAAM7L,KAAK,GAAG8L,QAAQ,EAAtB;AACA,QAAM/L,KAAK,GAAGmM,eAAe,EAA7B;AACAmvC,EAAAA,gBAAgB,CAACr7C,KAAD,EAAQkG,KAAR,EAAeA,KAAK,CAAC3B,QAAD,CAApB,EAAgCxE,KAAhC,EAAuCxgP,SAAvC,EAAkD47R,UAAlD,EAA8D,CAAC,CAACzO,UAAhE,EAA4E0O,mBAA5E,CAAhB;AACA,SAAOF,UAAP;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASI,uBAAT,CAAiC/7R,SAAjC,EAA4C47R,UAA5C,EAAwD;AACpD,QAAMp7C,KAAK,GAAGmM,eAAe,EAA7B;AACA,QAAMhG,KAAK,GAAG2F,QAAQ,EAAtB;AACA,QAAM7L,KAAK,GAAG8L,QAAQ,EAAtB;AACA,QAAMq6B,UAAU,GAAG14B,sBAAsB,CAACzN,KAAK,CAACpnY,IAAP,CAAzC;AACA,QAAMmoC,QAAQ,GAAGmlY,qBAAqB,CAACC,UAAD,EAAapmC,KAAb,EAAoBmG,KAApB,CAAtC;AACAm1C,EAAAA,gBAAgB,CAACr7C,KAAD,EAAQkG,KAAR,EAAenlW,QAAf,EAAyBg/V,KAAzB,EAAgCxgP,SAAhC,EAA2C47R,UAA3C,EAAuD,KAAvD,CAAhB;AACA,SAAOG,uBAAP;AACH;AACD;AACA;AACA;AACA;AACA;;;AACA,SAASC,oBAAT,CAA8Bv7C,KAA9B,EAAqCkG,KAArC,EAA4C3mP,SAA5C,EAAuDi8R,QAAvD,EAAiE;AAC7D,QAAMxsB,QAAQ,GAAGhvB,KAAK,CAACh+I,OAAvB;;AACA,MAAIgtK,QAAQ,IAAI,IAAhB,EAAsB;AAClB,SAAK,IAAI55Z,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAG45Z,QAAQ,CAACzsZ,MAAT,GAAkB,CAAtC,EAAyCnN,CAAC,IAAI,CAA9C,EAAiD;AAC7C,YAAMqmb,gBAAgB,GAAGzsB,QAAQ,CAAC55Z,CAAD,CAAjC;;AACA,UAAIqmb,gBAAgB,KAAKl8R,SAArB,IAAkCyvQ,QAAQ,CAAC55Z,CAAC,GAAG,CAAL,CAAR,KAAoBomb,QAA1D,EAAoE;AAChE;AACA;AACA;AACA,cAAMvsB,QAAQ,GAAG/oB,KAAK,CAAC/B,OAAD,CAAtB;AACA,cAAMu3C,qBAAqB,GAAG1sB,QAAQ,CAAC55Z,CAAC,GAAG,CAAL,CAAtC;AACA,eAAO65Z,QAAQ,CAAC1sZ,MAAT,GAAkBm5a,qBAAlB,GAA0CzsB,QAAQ,CAACysB,qBAAD,CAAlD,GAA4E,IAAnF;AACH,OAT4C,CAU7C;AACA;AACA;AACA;AACA;;;AACA,UAAI,OAAOD,gBAAP,KAA4B,QAAhC,EAA0C;AACtCrmb,QAAAA,CAAC,IAAI,CAAL;AACH;AACJ;AACJ;;AACD,SAAO,IAAP;AACH;;AACD,SAASimb,gBAAT,CAA0Br7C,KAA1B,EAAiCkG,KAAjC,EAAwCnlW,QAAxC,EAAkDg/V,KAAlD,EAAyDxgP,SAAzD,EAAoE47R,UAApE,EAAgFzO,UAAhF,EAA4F0O,mBAA5F,EAAiH;AAC7G,QAAMO,oBAAoB,GAAG71C,eAAe,CAAC/F,KAAD,CAA5C;AACA,QAAMD,eAAe,GAAGE,KAAK,CAACF,eAA9B;AACA,QAAMkvB,QAAQ,GAAGlvB,eAAe,IAAI8gC,uBAAuB,CAAC5gC,KAAD,CAA3D;AACA,QAAMnnY,OAAO,GAAGqtY,KAAK,CAAC9B,OAAD,CAArB,CAJ6G,CAK7G;AACA;AACA;;AACA,QAAM6qB,QAAQ,GAAG0R,uBAAuB,CAACz6B,KAAD,CAAxC;AACAr3M,EAAAA,SAAS,IAAImjN,eAAe,CAACjS,KAAD,EAAQ;AAAE;AAAF,IAAmB;AAAG;AAA9B,GAA5B;AACA,MAAI67C,cAAc,GAAG,IAArB,CAV6G,CAW7G;AACA;AACA;AACA;;AACA,MAAK77C,KAAK,CAAC9nY,IAAN,GAAa;AAAE;AAAhB,KAAmCmjb,mBAAvC,EAA4D;AACxD,UAAMnkV,MAAM,GAAGizS,gBAAgB,CAACnK,KAAD,EAAQmG,KAAR,CAA/B;AACA,UAAMvpY,MAAM,GAAGy+a,mBAAmB,GAAGA,mBAAmB,CAACnkV,MAAD,CAAtB,GAAiCA,MAAnE;AACA,UAAM4kV,aAAa,GAAG5sB,QAAQ,CAAC1sZ,MAA/B;AACA,UAAM4sZ,iBAAiB,GAAGisB,mBAAmB,GACxCjkC,MAAD,IAAYikC,mBAAmB,CAACtxC,WAAW,CAACqN,MAAM,CAACpX,KAAK,CAACpsR,KAAP,CAAP,CAAZ,CADU,GAEzCosR,KAAK,CAACpsR,KAFV,CAJwD,CAOxD;AACA;;AACA,QAAI+1R,oBAAoB,CAAC3oW,QAAD,CAAxB,EAAoC;AAChC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAI+6Y,gBAAgB,GAAG,IAAvB,CAXgC,CAYhC;AACA;AACA;AACA;AACA;AACA;;AACA,UAAI,CAACV,mBAAD,IAAwBO,oBAA5B,EAAkD;AAC9CG,QAAAA,gBAAgB,GAAGP,oBAAoB,CAACv7C,KAAD,EAAQkG,KAAR,EAAe3mP,SAAf,EAA0BwgP,KAAK,CAACpsR,KAAhC,CAAvC;AACH;;AACD,UAAImoU,gBAAgB,KAAK,IAAzB,EAA+B;AAC3B;AACA;AACA;AACA;AACA,cAAMC,cAAc,GAAGD,gBAAgB,CAACE,oBAAjB,IAAyCF,gBAAhE;AACAC,QAAAA,cAAc,CAACE,oBAAf,GAAsCd,UAAtC;AACAW,QAAAA,gBAAgB,CAACE,oBAAjB,GAAwCb,UAAxC;AACAS,QAAAA,cAAc,GAAG,KAAjB;AACH,OATD,MAUK;AACDT,QAAAA,UAAU,GAAGe,YAAY,CAACn8C,KAAD,EAAQmG,KAAR,EAAertY,OAAf,EAAwBsib,UAAxB,EAAoC;AAAM;AAA1C,SAAzB;AACA,cAAMza,SAAS,GAAG3/X,QAAQ,CAACg7I,MAAT,CAAgBp/K,MAAhB,EAAwB4iJ,SAAxB,EAAmC47R,UAAnC,CAAlB;AACAtsP,QAAAA,SAAS,IAAIA,SAAS,CAACuxM,wBAAV,EAAb;AACA6uB,QAAAA,QAAQ,CAACz1Z,IAAT,CAAc2hb,UAAd,EAA0Bza,SAA1B;AACA1R,QAAAA,QAAQ,IAAIA,QAAQ,CAACx1Z,IAAT,CAAc+lJ,SAAd,EAAyB4vQ,iBAAzB,EAA4C0sB,aAA5C,EAA2DA,aAAa,GAAG,CAA3E,CAAZ;AACH;AACJ,KAtCD,MAuCK;AACDV,MAAAA,UAAU,GAAGe,YAAY,CAACn8C,KAAD,EAAQmG,KAAR,EAAertY,OAAf,EAAwBsib,UAAxB,EAAoC;AAAK;AAAzC,OAAzB;AACAx+a,MAAAA,MAAM,CAAC+mB,gBAAP,CAAwB67H,SAAxB,EAAmC47R,UAAnC,EAA+CzO,UAA/C;AACA79O,MAAAA,SAAS,IAAIA,SAAS,CAACuxM,wBAAV,EAAb;AACA6uB,MAAAA,QAAQ,CAACz1Z,IAAT,CAAc2hb,UAAd;AACAnsB,MAAAA,QAAQ,IAAIA,QAAQ,CAACx1Z,IAAT,CAAc+lJ,SAAd,EAAyB4vQ,iBAAzB,EAA4C0sB,aAA5C,EAA2DnP,UAA3D,CAAZ;AACH;AACJ,GAvDD,MAwDK;AACD;AACA;AACAyO,IAAAA,UAAU,GAAGe,YAAY,CAACn8C,KAAD,EAAQmG,KAAR,EAAertY,OAAf,EAAwBsib,UAAxB,EAAoC;AAAM;AAA1C,KAAzB;AACH,GA3E4G,CA4E7G;;;AACA,QAAM3iK,OAAO,GAAGunH,KAAK,CAACvnH,OAAtB;AACA,MAAIhxH,KAAJ;;AACA,MAAIo0R,cAAc,IAAIpjK,OAAO,KAAK,IAA9B,KAAuChxH,KAAK,GAAGgxH,OAAO,CAACj5H,SAAD,CAAtD,CAAJ,EAAwE;AACpE,UAAM48R,WAAW,GAAG30R,KAAK,CAACjlJ,MAA1B;;AACA,QAAI45a,WAAJ,EAAiB;AACb,WAAK,IAAI/mb,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAG+mb,WAApB,EAAiC/mb,CAAC,IAAI,CAAtC,EAAyC;AACrC,cAAMu+G,KAAK,GAAG6zC,KAAK,CAACpyJ,CAAD,CAAnB;AACAy5L,QAAAA,SAAS,IAAIivM,kBAAkB,CAACoI,KAAD,EAAQvyR,KAAR,CAA/B;AACA,cAAMuzK,YAAY,GAAG1/H,KAAK,CAACpyJ,CAAC,GAAG,CAAL,CAA1B;AACA,cAAMkzZ,iBAAiB,GAAGpiB,KAAK,CAACvyR,KAAD,CAA/B;AACA,cAAM5O,MAAM,GAAGujT,iBAAiB,CAACphI,YAAD,CAAhC;;AACA,YAAIr4F,SAAS,IAAI,CAACsb,YAAY,CAACplG,MAAD,CAA9B,EAAwC;AACpC,gBAAM,IAAI/0F,KAAJ,CAAW,WAAUk3Q,YAAa,wBAAuBohI,iBAAiB,CAACnxZ,WAAlB,CAA8B2X,IAAK,IAA5F,CAAN;AACH;;AACD,cAAM0/L,YAAY,GAAGzpG,MAAM,CAACmzF,SAAP,CAAiBijP,UAAjB,CAArB;AACA,cAAMp8L,GAAG,GAAGkwK,QAAQ,CAAC1sZ,MAArB;AACA0sZ,QAAAA,QAAQ,CAACz1Z,IAAT,CAAc2hb,UAAd,EAA0B3sO,YAA1B;AACAwgN,QAAAA,QAAQ,IAAIA,QAAQ,CAACx1Z,IAAT,CAAc+lJ,SAAd,EAAyBwgP,KAAK,CAACpsR,KAA/B,EAAsCorI,GAAtC,EAA2C,EAAEA,GAAG,GAAG,CAAR,CAA3C,CAAZ;AACH;AACJ;AACJ;AACJ;;AACD,SAASq9L,gCAAT,CAA0Cl2C,KAA1C,EAAiDrtY,OAAjD,EAA0Dsib,UAA1D,EAAsEzmb,CAAtE,EAAyE;AACrE,MAAI;AACAy0Y,IAAAA,QAAQ,CAAC;AAAE;AAAH,MAAsBtwY,OAAtB,EAA+Bsib,UAA/B,CAAR,CADA,CAEA;;AACA,WAAOA,UAAU,CAACzmb,CAAD,CAAV,KAAkB,KAAzB;AACH,GAJD,CAKA,OAAOyD,KAAP,EAAc;AACVs6S,IAAAA,WAAW,CAACyzF,KAAD,EAAQ/tY,KAAR,CAAX;AACA,WAAO,KAAP;AACH,GARD,SASQ;AACJgxY,IAAAA,QAAQ,CAAC;AAAE;AAAH,MAAoBtwY,OAApB,EAA6Bsib,UAA7B,CAAR;AACH;AACJ;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASe,YAAT,CAAsBn8C,KAAtB,EAA6BmG,KAA7B,EAAoCrtY,OAApC,EAA6Csib,UAA7C,EAAyDkB,sBAAzD,EAAiF;AAC7E;AACA;AACA,SAAO,SAASC,yCAAT,CAAmD5nb,CAAnD,EAAsD;AACzD;AACA;AACA,QAAIA,CAAC,KAAKy4P,QAAV,EAAoB;AAChB,aAAOguL,UAAP;AACH,KALwD,CAMzD;AACA;;;AACA,UAAM/nC,SAAS,GAAGrT,KAAK,CAACr8O,KAAN,GAAc;AAAE;AAAhB,MACd2mP,wBAAwB,CAACtK,KAAK,CAACpsR,KAAP,EAAcuyR,KAAd,CADV,GAEdA,KAFJ,CARyD,CAWzD;;AACA,QAAI,CAACA,KAAK,CAACpC,KAAD,CAAL,GAAe;AAAG;AAAnB,UAA2C,CAA/C,EAAkD;AAC9CmhC,MAAAA,aAAa,CAAC7xB,SAAD,CAAb;AACH;;AACD,QAAI9hY,MAAM,GAAG8qa,gCAAgC,CAACl2C,KAAD,EAAQrtY,OAAR,EAAiBsib,UAAjB,EAA6Bzmb,CAA7B,CAA7C,CAfyD,CAgBzD;AACA;;AACA,QAAI6nb,cAAc,GAAGD,yCAAyC,CAACL,oBAA/D;;AACA,WAAOM,cAAP,EAAuB;AACnB;AACAjra,MAAAA,MAAM,GAAG8qa,gCAAgC,CAACl2C,KAAD,EAAQrtY,OAAR,EAAiB0jb,cAAjB,EAAiC7nb,CAAjC,CAAhC,IAAuE4c,MAAhF;AACAira,MAAAA,cAAc,GAAGA,cAAc,CAACN,oBAAhC;AACH;;AACD,QAAII,sBAAsB,IAAI/qa,MAAM,KAAK,KAAzC,EAAgD;AAC5C5c,MAAAA,CAAC,CAAC0wB,cAAF,GAD4C,CAE5C;;AACA1wB,MAAAA,CAAC,CAAC8nb,WAAF,GAAgB,KAAhB;AACH;;AACD,WAAOlra,MAAP;AACH,GA9BD;AA+BH;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASmra,aAAT,CAAuBrkT,KAAK,GAAG,CAA/B,EAAkC;AAC9B,SAAOy2Q,eAAe,CAACz2Q,KAAD,CAAtB;AACH;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASskT,2BAAT,CAAqC38C,KAArC,EAA4C48C,eAA5C,EAA6D;AACzD,MAAI1mH,sBAAsB,GAAG,IAA7B;AACA,QAAM2mH,kBAAkB,GAAGxoB,qBAAqB,CAACr0B,KAAD,CAAhD;;AACA,OAAK,IAAI3qY,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGunb,eAAe,CAACp6a,MAApC,EAA4CnN,CAAC,EAA7C,EAAiD;AAC7C,UAAMk1Y,SAAS,GAAGqyC,eAAe,CAACvnb,CAAD,CAAjC,CAD6C,CAE7C;AACA;;AACA,QAAIk1Y,SAAS,KAAK,GAAlB,EAAuB;AACnBr0E,MAAAA,sBAAsB,GAAG7gU,CAAzB;AACA;AACH,KAP4C,CAQ7C;AACA;;;AACA,QAAIwnb,kBAAkB,KAAK,IAAvB,GACAzoB,0BAA0B,CAACp0B,KAAD,EAAQuK,SAAR;AAAmB;AAAuB,QAA1C,CAD1B,GAEAiqB,wBAAwB,CAACqoB,kBAAD,EAAqBtyC,SAArB,CAF5B,EAE6D;AACzD,aAAOl1Y,CAAP,CADyD,CAC/C;AACb;AACJ;;AACD,SAAO6gU,sBAAP;AACH;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,SAAS4mH,eAAT,CAAyBF,eAAzB,EAA0C;AACtC,QAAM7qB,aAAa,GAAGjmB,QAAQ,GAAGjH,0BAAH,CAAR,CAAuCV,MAAvC,CAAtB;;AACA,MAAI,CAAC4tB,aAAa,CAACjqJ,UAAnB,EAA+B;AAC3B;AACA;AACA,UAAMi1K,kBAAkB,GAAGH,eAAe,GAAGA,eAAe,CAACp6a,MAAnB,GAA4B,CAAtE;AACA,UAAMw6a,eAAe,GAAGjrB,aAAa,CAACjqJ,UAAd,GACpByF,QAAQ,CAACwvK,kBAAD,EAAqB,IAArB,CADZ;AAEA,UAAME,KAAK,GAAGD,eAAe,CAACv+a,KAAhB,EAAd;AACA,QAAIy+a,cAAc,GAAGnrB,aAAa,CAAClsQ,KAAnC;;AACA,WAAOq3R,cAAc,KAAK,IAA1B,EAAgC;AAC5B,YAAMC,SAAS,GAAGP,eAAe,GAAGD,2BAA2B,CAACO,cAAD,EAAiBN,eAAjB,CAA9B,GAAkE,CAAnG;;AACA,UAAIO,SAAS,KAAK,IAAlB,EAAwB;AACpB,YAAIF,KAAK,CAACE,SAAD,CAAT,EAAsB;AAClBF,UAAAA,KAAK,CAACE,SAAD,CAAL,CAAiBxrB,cAAjB,GAAkCurB,cAAlC;AACH,SAFD,MAGK;AACDF,UAAAA,eAAe,CAACG,SAAD,CAAf,GAA6BD,cAA7B;AACH;;AACDD,QAAAA,KAAK,CAACE,SAAD,CAAL,GAAmBD,cAAnB;AACH;;AACDA,MAAAA,cAAc,GAAGA,cAAc,CAAC7ta,IAAhC;AACH;AACJ;AACJ;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAAS+ta,YAAT,CAAsB7jG,SAAtB,EAAiC8jG,aAAa,GAAG,CAAjD,EAAoD11L,KAApD,EAA2D;AACvD,QAAMw+I,KAAK,GAAG2F,QAAQ,EAAtB;AACA,QAAM7L,KAAK,GAAG8L,QAAQ,EAAtB;AACA,QAAM8lB,eAAe,GAAGoM,gBAAgB,CAACh+B,KAAD,EAAQgF,aAAa,GAAG1rD,SAAxB,EAAmC;AAAG;AAAtC,IAAwD,IAAxD,EAA8D5xF,KAAK,IAAI,IAAvE,CAAxC,CAHuD,CAIvD;;AACA,MAAIkqK,eAAe,CAAC/pJ,UAAhB,KAA+B,IAAnC,EACI+pJ,eAAe,CAAC/pJ,UAAhB,GAA6Bu1K,aAA7B,CANmD,CAOvD;;AACA5wC,EAAAA,0BAA0B;;AAC1B,MAAI,CAAColB,eAAe,CAACluQ,KAAhB,GAAwB;AAAG;AAA5B,QAAkD;AAAG;AAAzD,IAA2E;AACvE;AACAiuQ,IAAAA,eAAe,CAAC3xB,KAAD,EAAQkG,KAAR,EAAe0rB,eAAf,CAAf;AACH;AACJ;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASyrB,qBAAT,CAA+BvqR,QAA/B,EAAyC4+Q,EAAzC,EAA6ChsB,SAA7C,EAAwD;AACpD43B,EAAAA,sBAAsB,CAACxqR,QAAD,EAAW,EAAX,EAAe4+Q,EAAf,EAAmB,EAAnB,EAAuBhsB,SAAvB,CAAtB;AACA,SAAO23B,qBAAP;AACH;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;AACA;;;AACA,SAASC,sBAAT,CAAgCxqR,QAAhC,EAA0CszF,MAA1C,EAAkDsrL,EAAlD,EAAsDjrI,MAAtD,EAA8Di/G,SAA9D,EAAyE;AACrE,QAAMxf,KAAK,GAAG2F,QAAQ,EAAtB;AACA,QAAM8mC,iBAAiB,GAAGlB,cAAc,CAACvrC,KAAD,EAAQ9/I,MAAR,EAAgBsrL,EAAhB,EAAoBjrI,MAApB,CAAxC;;AACA,MAAIksI,iBAAiB,KAAKxd,SAA1B,EAAqC;AACjC,UAAMn1B,KAAK,GAAG8L,QAAQ,EAAtB;AACA,UAAM/L,KAAK,GAAGmP,gBAAgB,EAA9B;AACAwyB,IAAAA,uBAAuB,CAAC1hC,KAAD,EAAQD,KAAR,EAAemG,KAAf,EAAsBpzO,QAAtB,EAAgC6/Q,iBAAhC,EAAmDzsC,KAAK,CAAC3B,QAAD,CAAxD,EAAoEmhB,SAApE,EAA+E,KAA/E,CAAvB;AACA72N,IAAAA,SAAS,IACLg3O,4BAA4B,CAAC7lC,KAAK,CAACpnY,IAAP,EAAamnY,KAAb,EAAoBjtO,QAApB,EAA8Bg6O,eAAe,KAAK,CAAlD,EAAqD1mJ,MAArD,EAA6DqgD,MAA7D,CADhC;AAEH;;AACD,SAAO62I,sBAAP;AACH;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;AACA;AACA;AACA;;;AACA,SAASC,sBAAT,CAAgCzqR,QAAhC,EAA0CszF,MAA1C,EAAkDsrL,EAAlD,EAAsD5wQ,EAAtD,EAA0D8wQ,EAA1D,EAA8DnrI,MAA9D,EAAsEi/G,SAAtE,EAAiF;AAC7E,QAAMxf,KAAK,GAAG2F,QAAQ,EAAtB;AACA,QAAM8mC,iBAAiB,GAAGhB,cAAc,CAACzrC,KAAD,EAAQ9/I,MAAR,EAAgBsrL,EAAhB,EAAoB5wQ,EAApB,EAAwB8wQ,EAAxB,EAA4BnrI,MAA5B,CAAxC;;AACA,MAAIksI,iBAAiB,KAAKxd,SAA1B,EAAqC;AACjC,UAAMn1B,KAAK,GAAG8L,QAAQ,EAAtB;AACA,UAAM/L,KAAK,GAAGmP,gBAAgB,EAA9B;AACAwyB,IAAAA,uBAAuB,CAAC1hC,KAAD,EAAQD,KAAR,EAAemG,KAAf,EAAsBpzO,QAAtB,EAAgC6/Q,iBAAhC,EAAmDzsC,KAAK,CAAC3B,QAAD,CAAxD,EAAoEmhB,SAApE,EAA+E,KAA/E,CAAvB;AACA72N,IAAAA,SAAS,IACLg3O,4BAA4B,CAAC7lC,KAAK,CAACpnY,IAAP,EAAamnY,KAAb,EAAoBjtO,QAApB,EAA8Bg6O,eAAe,KAAK,CAAlD,EAAqD1mJ,MAArD,EAA6DtlF,EAA7D,EAAiE2lI,MAAjE,CADhC;AAEH;;AACD,SAAO82I,sBAAP;AACH;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;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASC,sBAAT,CAAgC1qR,QAAhC,EAA0CszF,MAA1C,EAAkDsrL,EAAlD,EAAsD5wQ,EAAtD,EAA0D8wQ,EAA1D,EAA8D39O,EAA9D,EAAkE69O,EAAlE,EAAsErrI,MAAtE,EAA8Ei/G,SAA9E,EAAyF;AACrF,QAAMxf,KAAK,GAAG2F,QAAQ,EAAtB;AACA,QAAM8mC,iBAAiB,GAAGd,cAAc,CAAC3rC,KAAD,EAAQ9/I,MAAR,EAAgBsrL,EAAhB,EAAoB5wQ,EAApB,EAAwB8wQ,EAAxB,EAA4B39O,EAA5B,EAAgC69O,EAAhC,EAAoCrrI,MAApC,CAAxC;;AACA,MAAIksI,iBAAiB,KAAKxd,SAA1B,EAAqC;AACjC,UAAMn1B,KAAK,GAAG8L,QAAQ,EAAtB;AACA,UAAM/L,KAAK,GAAGmP,gBAAgB,EAA9B;AACAwyB,IAAAA,uBAAuB,CAAC1hC,KAAD,EAAQD,KAAR,EAAemG,KAAf,EAAsBpzO,QAAtB,EAAgC6/Q,iBAAhC,EAAmDzsC,KAAK,CAAC3B,QAAD,CAAxD,EAAoEmhB,SAApE,EAA+E,KAA/E,CAAvB;AACA72N,IAAAA,SAAS,IACLg3O,4BAA4B,CAAC7lC,KAAK,CAACpnY,IAAP,EAAamnY,KAAb,EAAoBjtO,QAApB,EAA8Bg6O,eAAe,KAAK,CAAlD,EAAqD1mJ,MAArD,EAA6DtlF,EAA7D,EAAiEmzB,EAAjE,EAAqEwyG,MAArE,CADhC;AAEH;;AACD,SAAO+2I,sBAAP;AACH;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;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASC,sBAAT,CAAgC3qR,QAAhC,EAA0CszF,MAA1C,EAAkDsrL,EAAlD,EAAsD5wQ,EAAtD,EAA0D8wQ,EAA1D,EAA8D39O,EAA9D,EAAkE69O,EAAlE,EAAsEhxR,EAAtE,EAA0EkxR,EAA1E,EAA8EvrI,MAA9E,EAAsFi/G,SAAtF,EAAiG;AAC7F,QAAMxf,KAAK,GAAG2F,QAAQ,EAAtB;AACA,QAAM8mC,iBAAiB,GAAGZ,cAAc,CAAC7rC,KAAD,EAAQ9/I,MAAR,EAAgBsrL,EAAhB,EAAoB5wQ,EAApB,EAAwB8wQ,EAAxB,EAA4B39O,EAA5B,EAAgC69O,EAAhC,EAAoChxR,EAApC,EAAwCkxR,EAAxC,EAA4CvrI,MAA5C,CAAxC;;AACA,MAAIksI,iBAAiB,KAAKxd,SAA1B,EAAqC;AACjC,UAAMn1B,KAAK,GAAG8L,QAAQ,EAAtB;AACA,UAAM/L,KAAK,GAAGmP,gBAAgB,EAA9B;AACAwyB,IAAAA,uBAAuB,CAAC1hC,KAAD,EAAQD,KAAR,EAAemG,KAAf,EAAsBpzO,QAAtB,EAAgC6/Q,iBAAhC,EAAmDzsC,KAAK,CAAC3B,QAAD,CAAxD,EAAoEmhB,SAApE,EAA+E,KAA/E,CAAvB;AACA72N,IAAAA,SAAS,IACLg3O,4BAA4B,CAAC7lC,KAAK,CAACpnY,IAAP,EAAamnY,KAAb,EAAoBjtO,QAApB,EAA8Bg6O,eAAe,KAAK,CAAlD,EAAqD1mJ,MAArD,EAA6DtlF,EAA7D,EAAiEmzB,EAAjE,EAAqEnzC,EAArE,EAAyE2lJ,MAAzE,CADhC;AAEH;;AACD,SAAOg3I,sBAAP;AACH;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;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASC,sBAAT,CAAgC5qR,QAAhC,EAA0CszF,MAA1C,EAAkDsrL,EAAlD,EAAsD5wQ,EAAtD,EAA0D8wQ,EAA1D,EAA8D39O,EAA9D,EAAkE69O,EAAlE,EAAsEhxR,EAAtE,EAA0EkxR,EAA1E,EAA8E3iK,EAA9E,EAAkF6iK,EAAlF,EAAsFzrI,MAAtF,EAA8Fi/G,SAA9F,EAAyG;AACrG,QAAMxf,KAAK,GAAG2F,QAAQ,EAAtB;AACA,QAAM8mC,iBAAiB,GAAGV,cAAc,CAAC/rC,KAAD,EAAQ9/I,MAAR,EAAgBsrL,EAAhB,EAAoB5wQ,EAApB,EAAwB8wQ,EAAxB,EAA4B39O,EAA5B,EAAgC69O,EAAhC,EAAoChxR,EAApC,EAAwCkxR,EAAxC,EAA4C3iK,EAA5C,EAAgD6iK,EAAhD,EAAoDzrI,MAApD,CAAxC;;AACA,MAAIksI,iBAAiB,KAAKxd,SAA1B,EAAqC;AACjC,UAAMn1B,KAAK,GAAG8L,QAAQ,EAAtB;AACA,UAAM/L,KAAK,GAAGmP,gBAAgB,EAA9B;AACAwyB,IAAAA,uBAAuB,CAAC1hC,KAAD,EAAQD,KAAR,EAAemG,KAAf,EAAsBpzO,QAAtB,EAAgC6/Q,iBAAhC,EAAmDzsC,KAAK,CAAC3B,QAAD,CAAxD,EAAoEmhB,SAApE,EAA+E,KAA/E,CAAvB;AACA72N,IAAAA,SAAS,IACLg3O,4BAA4B,CAAC7lC,KAAK,CAACpnY,IAAP,EAAamnY,KAAb,EAAoBjtO,QAApB,EAA8Bg6O,eAAe,KAAK,CAAlD,EAAqD1mJ,MAArD,EAA6DtlF,EAA7D,EAAiEmzB,EAAjE,EAAqEnzC,EAArE,EAAyEuuH,EAAzE,EAA6Eo3B,MAA7E,CADhC;AAEH;;AACD,SAAOi3I,sBAAP;AACH;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;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASC,sBAAT,CAAgC7qR,QAAhC,EAA0CszF,MAA1C,EAAkDsrL,EAAlD,EAAsD5wQ,EAAtD,EAA0D8wQ,EAA1D,EAA8D39O,EAA9D,EAAkE69O,EAAlE,EAAsEhxR,EAAtE,EAA0EkxR,EAA1E,EAA8E3iK,EAA9E,EAAkF6iK,EAAlF,EAAsFE,EAAtF,EAA0FC,EAA1F,EAA8F5rI,MAA9F,EAAsGi/G,SAAtG,EAAiH;AAC7G,QAAMxf,KAAK,GAAG2F,QAAQ,EAAtB;AACA,QAAM8mC,iBAAiB,GAAGR,cAAc,CAACjsC,KAAD,EAAQ9/I,MAAR,EAAgBsrL,EAAhB,EAAoB5wQ,EAApB,EAAwB8wQ,EAAxB,EAA4B39O,EAA5B,EAAgC69O,EAAhC,EAAoChxR,EAApC,EAAwCkxR,EAAxC,EAA4C3iK,EAA5C,EAAgD6iK,EAAhD,EAAoDE,EAApD,EAAwDC,EAAxD,EAA4D5rI,MAA5D,CAAxC;;AACA,MAAIksI,iBAAiB,KAAKxd,SAA1B,EAAqC;AACjC,UAAMn1B,KAAK,GAAG8L,QAAQ,EAAtB;AACA,UAAM/L,KAAK,GAAGmP,gBAAgB,EAA9B;AACAwyB,IAAAA,uBAAuB,CAAC1hC,KAAD,EAAQD,KAAR,EAAemG,KAAf,EAAsBpzO,QAAtB,EAAgC6/Q,iBAAhC,EAAmDzsC,KAAK,CAAC3B,QAAD,CAAxD,EAAoEmhB,SAApE,EAA+E,KAA/E,CAAvB;AACA72N,IAAAA,SAAS,IACLg3O,4BAA4B,CAAC7lC,KAAK,CAACpnY,IAAP,EAAamnY,KAAb,EAAoBjtO,QAApB,EAA8Bg6O,eAAe,KAAK,CAAlD,EAAqD1mJ,MAArD,EAA6DtlF,EAA7D,EAAiEmzB,EAAjE,EAAqEnzC,EAArE,EAAyEuuH,EAAzE,EAA6E+iK,EAA7E,EAAiF3rI,MAAjF,CADhC;AAEH;;AACD,SAAOk3I,sBAAP;AACH;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;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASC,sBAAT,CAAgC9qR,QAAhC,EAA0CszF,MAA1C,EAAkDsrL,EAAlD,EAAsD5wQ,EAAtD,EAA0D8wQ,EAA1D,EAA8D39O,EAA9D,EAAkE69O,EAAlE,EAAsEhxR,EAAtE,EAA0EkxR,EAA1E,EAA8E3iK,EAA9E,EAAkF6iK,EAAlF,EAAsFE,EAAtF,EAA0FC,EAA1F,EAA8FviO,EAA9F,EAAkGyiO,EAAlG,EAAsG9rI,MAAtG,EAA8Gi/G,SAA9G,EAAyH;AACrH,QAAMxf,KAAK,GAAG2F,QAAQ,EAAtB;AACA,QAAM8mC,iBAAiB,GAAGL,cAAc,CAACpsC,KAAD,EAAQ9/I,MAAR,EAAgBsrL,EAAhB,EAAoB5wQ,EAApB,EAAwB8wQ,EAAxB,EAA4B39O,EAA5B,EAAgC69O,EAAhC,EAAoChxR,EAApC,EAAwCkxR,EAAxC,EAA4C3iK,EAA5C,EAAgD6iK,EAAhD,EAAoDE,EAApD,EAAwDC,EAAxD,EAA4DviO,EAA5D,EAAgEyiO,EAAhE,EAAoE9rI,MAApE,CAAxC;;AACA,MAAIksI,iBAAiB,KAAKxd,SAA1B,EAAqC;AACjC,UAAMn1B,KAAK,GAAG8L,QAAQ,EAAtB;AACA,UAAM/L,KAAK,GAAGmP,gBAAgB,EAA9B;AACAwyB,IAAAA,uBAAuB,CAAC1hC,KAAD,EAAQD,KAAR,EAAemG,KAAf,EAAsBpzO,QAAtB,EAAgC6/Q,iBAAhC,EAAmDzsC,KAAK,CAAC3B,QAAD,CAAxD,EAAoEmhB,SAApE,EAA+E,KAA/E,CAAvB;AACA72N,IAAAA,SAAS,IACLg3O,4BAA4B,CAAC7lC,KAAK,CAACpnY,IAAP,EAAamnY,KAAb,EAAoBjtO,QAApB,EAA8Bg6O,eAAe,KAAK,CAAlD,EAAqD1mJ,MAArD,EAA6DtlF,EAA7D,EAAiEmzB,EAAjE,EAAqEnzC,EAArE,EAAyEuuH,EAAzE,EAA6E+iK,EAA7E,EAAiFtiO,EAAjF,EAAqF22F,MAArF,CADhC;AAEH;;AACD,SAAOm3I,sBAAP;AACH;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;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASC,sBAAT,CAAgC/qR,QAAhC,EAA0CszF,MAA1C,EAAkDsrL,EAAlD,EAAsD5wQ,EAAtD,EAA0D8wQ,EAA1D,EAA8D39O,EAA9D,EAAkE69O,EAAlE,EAAsEhxR,EAAtE,EAA0EkxR,EAA1E,EAA8E3iK,EAA9E,EAAkF6iK,EAAlF,EAAsFE,EAAtF,EAA0FC,EAA1F,EAA8FviO,EAA9F,EAAkGyiO,EAAlG,EAAsG/iO,EAAtG,EAA0GijO,EAA1G,EAA8GhsI,MAA9G,EAAsHi/G,SAAtH,EAAiI;AAC7H,QAAMxf,KAAK,GAAG2F,QAAQ,EAAtB;AACA,QAAM8mC,iBAAiB,GAAGH,cAAc,CAACtsC,KAAD,EAAQ9/I,MAAR,EAAgBsrL,EAAhB,EAAoB5wQ,EAApB,EAAwB8wQ,EAAxB,EAA4B39O,EAA5B,EAAgC69O,EAAhC,EAAoChxR,EAApC,EAAwCkxR,EAAxC,EAA4C3iK,EAA5C,EAAgD6iK,EAAhD,EAAoDE,EAApD,EAAwDC,EAAxD,EAA4DviO,EAA5D,EAAgEyiO,EAAhE,EAAoE/iO,EAApE,EAAwEijO,EAAxE,EAA4EhsI,MAA5E,CAAxC;;AACA,MAAIksI,iBAAiB,KAAKxd,SAA1B,EAAqC;AACjC,UAAMn1B,KAAK,GAAG8L,QAAQ,EAAtB;AACA,UAAM/L,KAAK,GAAGmP,gBAAgB,EAA9B;AACAwyB,IAAAA,uBAAuB,CAAC1hC,KAAD,EAAQD,KAAR,EAAemG,KAAf,EAAsBpzO,QAAtB,EAAgC6/Q,iBAAhC,EAAmDzsC,KAAK,CAAC3B,QAAD,CAAxD,EAAoEmhB,SAApE,EAA+E,KAA/E,CAAvB;AACA72N,IAAAA,SAAS,IACLg3O,4BAA4B,CAAC7lC,KAAK,CAACpnY,IAAP,EAAamnY,KAAb,EAAoBjtO,QAApB,EAA8Bg6O,eAAe,KAAK,CAAlD,EAAqD1mJ,MAArD,EAA6DtlF,EAA7D,EAAiEmzB,EAAjE,EAAqEnzC,EAArE,EAAyEuuH,EAAzE,EAA6E+iK,EAA7E,EAAiFtiO,EAAjF,EAAqFN,EAArF,EAAyFi3F,MAAzF,CADhC;AAEH;;AACD,SAAOo3I,sBAAP;AACH;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;AACA;AACA;AACA;;;AACA,SAASC,sBAAT,CAAgChrR,QAAhC,EAA0Cl/G,MAA1C,EAAkD8xW,SAAlD,EAA6D;AACzD,QAAMxf,KAAK,GAAG2F,QAAQ,EAAtB;AACA,QAAM8mC,iBAAiB,GAAGpB,cAAc,CAACrrC,KAAD,EAAQtyV,MAAR,CAAxC;;AACA,MAAI++X,iBAAiB,KAAKxd,SAA1B,EAAqC;AACjC,UAAMn1B,KAAK,GAAG8L,QAAQ,EAAtB;AACA,UAAM/L,KAAK,GAAGmP,gBAAgB,EAA9B;AACAwyB,IAAAA,uBAAuB,CAAC1hC,KAAD,EAAQD,KAAR,EAAemG,KAAf,EAAsBpzO,QAAtB,EAAgC6/Q,iBAAhC,EAAmDzsC,KAAK,CAAC3B,QAAD,CAAxD,EAAoEmhB,SAApE,EAA+E,KAA/E,CAAvB;;AACA,QAAI72N,SAAJ,EAAe;AACX,YAAMwkP,sBAAsB,GAAG,CAACz/X,MAAM,CAAC,CAAD,CAAP,CAA/B,CADW,CACiC;;AAC5C,WAAK,IAAIx+C,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGw+C,MAAM,CAACrxC,MAA3B,EAAmCnN,CAAC,IAAI,CAAxC,EAA2C;AACvCi+a,QAAAA,sBAAsB,CAAC75a,IAAvB,CAA4Bo6C,MAAM,CAACx+C,CAAD,CAAlC;AACH;;AACDywa,MAAAA,4BAA4B,CAAC7lC,KAAK,CAACpnY,IAAP,EAAamnY,KAAb,EAAoBjtO,QAApB,EAA8Bg6O,eAAe,KAAKumC,sBAAsB,CAAC9wa,MAA3C,GAAoD,CAAlF,EAAqF,GAAG8wa,sBAAxF,CAA5B;AACH;AACJ;;AACD,SAAOyK,sBAAP;AACH;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;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CA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACIk/M,EAAAA,YAAY,GAAG;AACXwuM,IAAAA,aAAa,CAAC,KAAKgyB,mBAAL,IAA4B,KAAK9/C,MAAlC,CAAb;AACH;AACD;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACIxsT,EAAAA,MAAM,GAAG;AACL,SAAKwsT,MAAL,CAAYrT,KAAZ,KAAsB,CAAC;AAAI;AAA3B;AACH;AACD;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACIszD,EAAAA,QAAQ,GAAG;AACP,SAAKjgD,MAAL,CAAYrT,KAAZ,KAAsB;AAAI;AAA1B;AACH;AACD;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACI32K,EAAAA,aAAa,GAAG;AACZq4M,IAAAA,qBAAqB,CAAC,KAAKruB,MAAL,CAAYtT,KAAZ,CAAD,EAAqB,KAAKsT,MAA1B,EAAkC,KAAKt+Y,OAAvC,CAArB;AACH;AACD;AACJ;AACA;AACA;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OAAtB,CAAV;AACH;;AACD,QAAM4+P,kBAAkB,GAAGp0K,UAA3B;AACAo0K,EAAAA,kBAAkB,CAACniS,IAAnB,GAA0ByuQ,kCAAkC,CAAC1gJ,UAAD,EAAa;AAAEp6D,IAAAA,QAAQ,EAAEo6D;AAAZ,GAAb,CAA5D;AACAo0K,EAAAA,kBAAkB,CAAC/+P,IAAnB,GACIm1L,gBAAgB,CAAC;AAAEl0L,IAAAA,SAAS,EAAEn+B,QAAQ,IAAIA,QAAQ,CAACm+B,SAAlC;AAA6ChB,IAAAA,OAAO,EAAEA;AAAtD,GAAD,CADpB;AAEH;;AACD,MAAM++P,kCAAkC,GAAG90K,eAA3C;AACA,MAAM+0K,iCAAiC,GAAGH,oBAA1C;AACA,MAAMD,uBAAuB,GAAGG,kCAAhC;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;AACA;AACA;;AACA,MAAME,gBAAgB,GAAG,IAAzB;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,MAAMC,eAAe,GAAG,IAAIl2Q,cAAJ,CAAmB,yBAAnB,CAAxB;AACA;AACA;AACA;AACA;AACA;;AACA,MAAMm2Q,qBAAN,CAA4B;AACxBjxc,EAAAA,WAAW,CAACkxc,QAAD,EAAW;AAClB,SAAKA,QAAL,GAAgBA,QAAhB;AACA,SAAKruc,OAAL,GAAew5M,IAAf;AACA,SAAK1qM,MAAL,GAAc0qM,IAAd;AACA,SAAK80P,WAAL,GAAmB,KAAnB;AACA,S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AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,MAAM+4D,SAAS,GAAG,IAAI7nC,cAAJ,CAAmB,UAAnB,CAAlB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,MAAMuoC,qBAAqB,GAAG,IAAIvoC,cAAJ,CAAmB,qBAAnB,CAA9B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,MAAMs3Q,YAAY,GAAG,IAAIt3Q,cAAJ,CAAmB,cAAnB,CAArB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,MAAMgoG,mBAAmB,GAAG,IAAIhoG,cAAJ,CAAmB,oBAAnB,CAA5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,IAAIo7D,0BAAJ;;AACA,CAAC,UAAUA,0BAAV,EAAsC;AACnCA,EAAAA,0BAA0B,CAACA,0BAA0B,CAAC,OAAD,CAA1B,GAAsC,CAAvC,CAA1B,GAAsE,OAAtE;AACAA,EAAAA,0BAA0B,CAACA,0BAA0B,CAAC,SAAD,CAA1B,GAAwC,CAAzC,CAA1B,GAAwE,SAAxE;AACAA,EAAAA,0BAA0B,CAACA,0BAA0B,CAAC,QAAD,CAA1B,GAAuC,CAAxC,CAA1B,GAAuE,QAAvE;AACH,CAJD,EAIGA,0BAA0B,KAAKA,0BAA0B,GAAG,EAAlC,CAJ7B;A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CA,SAAOA,KAAK,IAAI,IAAT,IAAiB,OAAOA,KAAK,CAACG,MAAb,KAAwB,QAAhD;AACH;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;AACA;;;AACA,MAAMkge,aAAa,GAAG,IAAIxwS,yDAAJ,CAAmB,cAAnB,CAAtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,MAAMywS,mBAAmB,GAAG,IAAIzwS,yDAAJ,CAAmB,mBAAnB,CAA5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,MAAM0wS,YAAY,GAAG,oMAArB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,MAAMC,UAAN,CAAiB;AACb;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACc,SAAHhke,GAAG,CAACA,GAAD,EAAM;AACZ,WAAOike,YAAY,CAACjke,GAAD,CAAnB;AACH;AACD;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACc,SAAHC,GAAG,CAACA,GAAD,EAAM;AACZ,WAAOike,YAAY,CAACjke,GAAD,CAAnB;AACH;AACD;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACmB,SAARusF,QAAQ,CAAC6jD,OAAD,EAAU;AACrB,WAAO8zV,iBAAiB,CAAC9zV,OAAD,CAAxB;AACH;AACD;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACuB,SAAZ+zV,YAAY,CAAC/zV,OAAD,EAAU;AACzB,WAAOg0V,qBAAqB,CAACh0V,OAAD,CAA5B;AACH;AACD;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACgB,SAAL59E,KAAK,CAAC49E,OAAD,EAAU;AAClB,WAAOi0V,cAAc,CAACj0V,OAAD,CAArB;AACH;AACD;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACoB,SAATk0V,SAAS,CAACA,SAAD,EAAY;AACxB,WAAOC,kBAAkB,CAACD,SAAD,CAAzB;AACH;AACD;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACoB,SAATE,SAAS,CAACA,SAAD,EAAY;AACxB,WAAOC,kBAAkB,CAACD,SAAD,CAAzB;AACH;AACD;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACkB,SAAPhtc,OAAO,CAACA,OAAD,EAAU;AACpB,WAAOktc,gBAAgB,CAACltc,OAAD,CAAvB;AACH;AACD;AACJ;AACA;AACA;AACA;AACA;AACA;;;AACwB,SAAbmtc,aAAa,CAACv0V,OAAD,EAAU;AAC1B,WAAOu0V,aAAa,CAACv0V,OAAD,CAApB;AACH;;AACa,SAAPw0V,OAAO,CAACC,UAAD,EAAa;AACvB,WAAOD,OAAO,CAACC,UAAD,CAAd;AACH;AACD;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACuB,SAAZC,YAAY,CAACD,UAAD,EAAa;AAC5B,WAAOC,YAAY,CAACD,UAAD,CAAnB;AACH;;AAlRY;AAoRjB;AACA;AACA;AACA;;;AACA,SAASb,YAAT,CAAsBjke,GAAtB,EAA2B;AACvB,SAAQqwI,OAAD,IAAa;AAChB,QAAIszV,iBAAiB,CAACtzV,OAAO,CAAC7sI,KAAT,CAAjB,IAAoCmge,iBAAiB,CAAC3je,GAAD,CAAzD,EAAgE;AAC5D,aAAO,IAAP,CAD4D,CAC/C;AAChB;;AACD,UAAMwD,KAAK,GAAG+0D,UAAU,CAAC83E,OAAO,CAAC7sI,KAAT,CAAxB,CAJgB,CAKhB;AACA;;AACA,WAAO,CAACiyC,KAAK,CAACjyC,KAAD,CAAN,IAAiBA,KAAK,GAAGxD,GAAzB,GAA+B;AAAE,aAAO;AAAE,eAAOA,GAAT;AAAc,kBAAUqwI,OAAO,CAAC7sI;AAAhC;AAAT,KAA/B,GAAoF,IAA3F;AACH,GARD;AASH;AACD;AACA;AACA;AACA;;;AACA,SAAS0ge,YAAT,CAAsBjke,GAAtB,EAA2B;AACvB,SAAQowI,OAAD,IAAa;AAChB,QAAIszV,iBAAiB,CAACtzV,OAAO,CAAC7sI,KAAT,CAAjB,IAAoCmge,iBAAiB,CAAC1je,GAAD,CAAzD,EAAgE;AAC5D,aAAO,IAAP,CAD4D,CAC/C;AAChB;;AACD,UAAMuD,KAAK,GAAG+0D,UAAU,CAAC83E,OAAO,CAAC7sI,KAAT,CAAxB,CAJgB,CAKhB;AACA;;AACA,WAAO,CAACiyC,KAAK,CAACjyC,KAAD,CAAN,IAAiBA,KAAK,GAAGvD,GAAzB,GAA+B;AAAE,aAAO;AAAE,eAAOA,GAAT;AAAc,kBAAUowI,OAAO,CAAC7sI;AAAhC;AAAT,KAA/B,GAAoF,IAA3F;AACH,GARD;AASH;AACD;AACA;AACA;AACA;;;AACA,SAAS2ge,iBAAT,CAA2B9zV,OAA3B,EAAoC;AAChC,SAAOszV,iBAAiB,CAACtzV,OAAO,CAAC7sI,KAAT,CAAjB,GAAmC;AAAE,gBAAY;AAAd,GAAnC,GAA0D,IAAjE;AACH;AACD;AACA;AACA;AACA;AACA;;;AACA,SAAS6ge,qBAAT,CAA+Bh0V,OAA/B,EAAwC;AACpC,SAAOA,OAAO,CAAC7sI,KAAR,KAAkB,IAAlB,GAAyB,IAAzB,GAAgC;AAAE,gBAAY;AAAd,GAAvC;AACH;AACD;AACA;AACA;AACA;;;AACA,SAAS8ge,cAAT,CAAwBj0V,OAAxB,EAAiC;AAC7B,MAAIszV,iBAAiB,CAACtzV,OAAO,CAAC7sI,KAAT,CAArB,EAAsC;AAClC,WAAO,IAAP,CADkC,CACrB;AAChB;;AACD,SAAOuge,YAAY,CAACxmd,IAAb,CAAkB8yH,OAAO,CAAC7sI,KAA1B,IAAmC,IAAnC,GAA0C;AAAE,aAAS;AAAX,GAAjD;AACH;AACD;AACA;AACA;AACA;;;AACA,SAASghe,kBAAT,CAA4BD,SAA5B,EAAuC;AACnC,SAAQl0V,OAAD,IAAa;AAChB,QAAIszV,iBAAiB,CAACtzV,OAAO,CAAC7sI,KAAT,CAAjB,IAAoC,CAACoge,cAAc,CAACvzV,OAAO,CAAC7sI,KAAT,CAAvD,EAAwE;AACpE;AACA;AACA,aAAO,IAAP;AACH;;AACD,WAAO6sI,OAAO,CAAC7sI,KAAR,CAAcG,MAAd,GAAuB4ge,SAAvB,GACH;AAAE,mBAAa;AAAE,0BAAkBA,SAApB;AAA+B,wBAAgBl0V,OAAO,CAAC7sI,KAAR,CAAcG;AAA7D;AAAf,KADG,GAEH,IAFJ;AAGH,GATD;AAUH;AACD;AACA;AACA;AACA;;;AACA,SAAS+ge,kBAAT,CAA4BD,SAA5B,EAAuC;AACnC,SAAQp0V,OAAD,IAAa;AAChB,WAAOuzV,cAAc,CAACvzV,OAAO,CAAC7sI,KAAT,CAAd,IAAiC6sI,OAAO,CAAC7sI,KAAR,CAAcG,MAAd,GAAuB8ge,SAAxD,GACH;AAAE,mBAAa;AAAE,0BAAkBA,SAApB;AAA+B,wBAAgBp0V,OAAO,CAAC7sI,KAAR,CAAcG;AAA7D;AAAf,KADG,GAEH,IAFJ;AAGH,GAJD;AAKH;AACD;AACA;AACA;AACA;;;AACA,SAASghe,gBAAT,CAA0Bltc,OAA1B,EAAmC;AAC/B,MAAI,CAACA,OAAL,EACI,OAAOmtc,aAAP;AACJ,MAAIt8T,KAAJ;AACA,MAAI08T,QAAJ;;AACA,MAAI,OAAOvtc,OAAP,KAAmB,QAAvB,EAAiC;AAC7Butc,IAAAA,QAAQ,GAAG,EAAX;AACA,QAAIvtc,OAAO,CAACwuI,MAAR,CAAe,CAAf,MAAsB,GAA1B,EACI++T,QAAQ,IAAI,GAAZ;AACJA,IAAAA,QAAQ,IAAIvtc,OAAZ;AACA,QAAIA,OAAO,CAACwuI,MAAR,CAAexuI,OAAO,CAAC9zB,MAAR,GAAiB,CAAhC,MAAuC,GAA3C,EACIqhe,QAAQ,IAAI,GAAZ;AACJ18T,IAAAA,KAAK,GAAG,IAAIntJ,MAAJ,CAAW6pd,QAAX,CAAR;AACH,GARD,MASK;AACDA,IAAAA,QAAQ,GAAGvtc,OAAO,CAACz+B,QAAR,EAAX;AACAsvK,IAAAA,KAAK,GAAG7wI,OAAR;AACH;;AACD,SAAQ44G,OAAD,IAAa;AAChB,QAAIszV,iBAAiB,CAACtzV,OAAO,CAAC7sI,KAAT,CAArB,EAAsC;AAClC,aAAO,IAAP,CADkC,CACrB;AAChB;;AACD,UAAMA,KAAK,GAAG6sI,OAAO,CAAC7sI,KAAtB;AACA,WAAO8kK,KAAK,CAAC/qJ,IAAN,CAAW/Z,KAAX,IAAoB,IAApB,GACH;AAAE,iBAAW;AAAE,2BAAmBwhe,QAArB;AAA+B,uBAAexhe;AAA9C;AAAb,KADJ;AAEH,GAPD;AAQH;AACD;AACA;AACA;;;AACA,SAASohe,aAAT,CAAuBv0V,OAAvB,EAAgC;AAC5B,SAAO,IAAP;AACH;;AACD,SAAS40V,SAAT,CAAmB3ue,CAAnB,EAAsB;AAClB,SAAOA,CAAC,IAAI,IAAZ;AACH;;AACD,SAAS4ue,YAAT,CAAsBnve,CAAtB,EAAyB;AACrB,QAAMove,GAAG,GAAG1pQ,4DAAU,CAAC1lO,CAAD,CAAV,GAAgBuf,0CAAI,CAACvf,CAAD,CAApB,GAA0BA,CAAtC;;AACA,MAAI,CAAEiqe,+DAAa,CAACmF,GAAD,CAAf,KAA0B,OAAOl1S,SAAP,KAAqB,WAArB,IAAoCA,SAA9D,CAAJ,EAA8E;AAC1E,UAAM,IAAI7+K,KAAJ,CAAW,qDAAX,CAAN;AACH;;AACD,SAAO+zd,GAAP;AACH;;AACD,SAASC,WAAT,CAAqBC,aAArB,EAAoC;AAChC,MAAI/iQ,GAAG,GAAG,EAAV,CADgC,CAEhC;AACA;;AACA+iQ,EAAAA,aAAa,CAAC5qe,OAAd,CAAuBq9B,MAAD,IAAY;AAC9BwqM,IAAAA,GAAG,GAAGxqM,MAAM,IAAI,IAAV,GAAiB,EAAE,GAAGwqM,GAAL;AAAU,SAAGxqM;AAAb,KAAjB,GAAyCwqM,GAA/C;AACH,GAFD;AAGA,SAAOnyN,MAAM,CAACkF,IAAP,CAAYitN,GAAZ,EAAiB3+N,MAAjB,KAA4B,CAA5B,GAAgC,IAAhC,GAAuC2+N,GAA9C;AACH;;AACD,SAASgjQ,iBAAT,CAA2Bj1V,OAA3B,EAAoCy0V,UAApC,EAAgD;AAC5C,SAAOA,UAAU,CAACzpe,GAAX,CAAekqe,SAAS,IAAIA,SAAS,CAACl1V,OAAD,CAArC,CAAP;AACH;;AACD,SAASm1V,aAAT,CAAuBD,SAAvB,EAAkC;AAC9B,SAAO,CAACA,SAAS,CAACr4d,QAAlB;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASu4d,mBAAT,CAA6BX,UAA7B,EAAyC;AACrC,SAAOA,UAAU,CAACzpe,GAAX,CAAekqe,SAAS,IAAI;AAC/B,WAAOC,aAAa,CAACD,SAAD,CAAb,GACHA,SADG,GAEDzue,CAAD,IAAOyue,SAAS,CAACr4d,QAAV,CAAmBpW,CAAnB,CAFZ;AAGH,GAJM,CAAP;AAKH;AACD;AACA;AACA;AACA;;;AACA,SAAS+te,OAAT,CAAiBC,UAAjB,EAA6B;AACzB,MAAI,CAACA,UAAL,EACI,OAAO,IAAP;AACJ,QAAMY,iBAAiB,GAAGZ,UAAU,CAACroe,MAAX,CAAkBwoe,SAAlB,CAA1B;AACA,MAAIS,iBAAiB,CAAC/he,MAAlB,IAA4B,CAAhC,EACI,OAAO,IAAP;AACJ,SAAO,UAAU0sI,OAAV,EAAmB;AACtB,WAAO+0V,WAAW,CAACE,iBAAiB,CAACj1V,OAAD,EAAUq1V,iBAAV,CAAlB,CAAlB;AACH,GAFD;AAGH;AACD;AACA;AACA;AACA;AACA;;;AACA,SAASC,iBAAT,CAA2Bb,UAA3B,EAAuC;AACnC,SAAOA,UAAU,IAAI,IAAd,GAAqBD,OAAO,CAACY,mBAAmB,CAACX,UAAD,CAApB,CAA5B,GAAgE,IAAvE;AACH;AACD;AACA;AACA;AACA;;;AACA,SAASC,YAAT,CAAsBD,UAAtB,EAAkC;AAC9B,MAAI,CAACA,UAAL,EACI,OAAO,IAAP;AACJ,QAAMY,iBAAiB,GAAGZ,UAAU,CAACroe,MAAX,CAAkBwoe,SAAlB,CAA1B;AACA,MAAIS,iBAAiB,CAAC/he,MAAlB,IAA4B,CAAhC,EACI,OAAO,IAAP;AACJ,SAAO,UAAU0sI,OAAV,EAAmB;AACtB,UAAMu1V,WAAW,GAAGN,iBAAiB,CAACj1V,OAAD,EAAUq1V,iBAAV,CAAjB,CAA8Crqe,GAA9C,CAAkD6pe,YAAlD,CAApB;AACA,WAAO7C,8CAAQ,CAACuD,WAAD,CAAR,CAAsBxrS,IAAtB,CAA2B/+L,mDAAG,CAAC+pe,WAAD,CAA9B,CAAP;AACH,GAHD;AAIH;AACD;AACA;AACA;AACA;AACA;;;AACA,SAASS,sBAAT,CAAgCf,UAAhC,EAA4C;AACxC,SAAOA,UAAU,IAAI,IAAd,GAAqBC,YAAY,CAACU,mBAAmB,CAACX,UAAD,CAApB,CAAjC,GACH,IADJ;AAEH;AACD;AACA;AACA;AACA;;;AACA,SAASgB,eAAT,CAAyBC,iBAAzB,EAA4CC,YAA5C,EAA0D;AACtD,MAAID,iBAAiB,KAAK,IAA1B,EACI,OAAO,CAACC,YAAD,CAAP;AACJ,SAAO3pe,KAAK,CAACC,OAAN,CAAcype,iBAAd,IAAmC,CAAC,GAAGA,iBAAJ,EAAuBC,YAAvB,CAAnC,GACH,CAACD,iBAAD,EAAoBC,YAApB,CADJ;AAEH;AACD;AACA;AACA;;;AACA,SAASC,oBAAT,CAA8B51V,OAA9B,EAAuC;AACnC,SAAOA,OAAO,CAAC61V,cAAf;AACH;AACD;AACA;AACA;;;AACA,SAASC,yBAAT,CAAmC91V,OAAnC,EAA4C;AACxC,SAAOA,OAAO,CAAC+1V,mBAAf;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASC,mBAAT,CAA6BvB,UAA7B,EAAyC;AACrC,MAAI,CAACA,UAAL,EACI,OAAO,EAAP;AACJ,SAAOzoe,KAAK,CAACC,OAAN,CAAcwoe,UAAd,IAA4BA,UAA5B,GAAyC,CAACA,UAAD,CAAhD;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASwB,YAAT,CAAsBxB,UAAtB,EAAkCS,SAAlC,EAA6C;AACzC,SAAOlpe,KAAK,CAACC,OAAN,CAAcwoe,UAAd,IAA4BA,UAAU,CAACl9c,QAAX,CAAoB29c,SAApB,CAA5B,GAA6DT,UAAU,KAAKS,SAAnF;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASgB,aAAT,CAAuBzB,UAAvB,EAAmC0B,iBAAnC,EAAsD;AAClD,QAAM7nb,OAAO,GAAG0nb,mBAAmB,CAACG,iBAAD,CAAnC;AACA,QAAMC,eAAe,GAAGJ,mBAAmB,CAACvB,UAAD,CAA3C;AACA2B,EAAAA,eAAe,CAAChse,OAAhB,CAAyBpC,CAAD,IAAO;AAC3B;AACA;AACA;AACA;AACA,QAAI,CAACiue,YAAY,CAAC3nb,OAAD,EAAUtmD,CAAV,CAAjB,EAA+B;AAC3BsmD,MAAAA,OAAO,CAAC/jD,IAAR,CAAavC,CAAb;AACH;AACJ,GARD;AASA,SAAOsmD,OAAP;AACH;;AACD,SAAS+nb,gBAAT,CAA0B5B,UAA1B,EAAsC0B,iBAAtC,EAAyD;AACrD,SAAOH,mBAAmB,CAACG,iBAAD,CAAnB,CAAuC/pe,MAAvC,CAA8CpE,CAAC,IAAI,CAACiue,YAAY,CAACxB,UAAD,EAAazse,CAAb,CAAhE,CAAP;AACH;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,MAAMsue,wBAAN,CAA+B;AAC3Bpue,EAAAA,WAAW,GAAG;AACV;AACR;AACA;AACA;AACQ,SAAK2te,cAAL,GAAsB,EAAtB;AACA;AACR;AACA;AACA;AACA;;AACQ,SAAKE,mBAAL,GAA2B,EAA3B;AACA;AACR;AACA;;AACQ,SAAKQ,mBAAL,GAA2B,EAA3B;AACH;AACD;AACJ;AACA;AACA;;;AACa,MAALpje,KAAK,GAAG;AACR,WAAO,KAAK6sI,OAAL,GAAe,KAAKA,OAAL,CAAa7sI,KAA5B,GAAoC,IAA3C;AACH;AACD;AACJ;AACA;AACA;AACA;AACA;;;AACa,MAALovB,KAAK,GAAG;AACR,WAAO,KAAKy9G,OAAL,GAAe,KAAKA,OAAL,CAAaz9G,KAA5B,GAAoC,IAA3C;AACH;AACD;AACJ;AACA;AACA;AACA;;;AACe,MAAPo1P,OAAO,GAAG;AACV,WAAO,KAAK33I,OAAL,GAAe,KAAKA,OAAL,CAAa23I,OAA5B,GAAsC,IAA7C;AACH;AACD;AACJ;AACA;AACA;AACA;AACA;;;AACe,MAAPh7P,OAAO,GAAG;AACV,WAAO,KAAKqjH,OAAL,GAAe,KAAKA,OAAL,CAAarjH,OAA5B,GAAsC,IAA7C;AACH;AACD;AACJ;AACA;AACA;AACA;AACA;;;AACgB,MAARgjF,QAAQ,GAAG;AACX,WAAO,KAAKqgC,OAAL,GAAe,KAAKA,OAAL,CAAargC,QAA5B,GAAuC,IAA9C;AACH;AACD;AACJ;AACA;AACA;AACA;;;AACe,MAAP//F,OAAO,GAAG;AACV,WAAO,KAAKogI,OAAL,GAAe,KAAKA,OAAL,CAAapgI,OAA5B,GAAsC,IAA7C;AACH;AACD;AACJ;AACA;AACA;;;AACc,MAAN6nB,MAAM,GAAG;AACT,WAAO,KAAKu4G,OAAL,GAAe,KAAKA,OAAL,CAAav4G,MAA5B,GAAqC,IAA5C;AACH;AACD;AACJ;AACA;AACA;AACA;;;AACgB,MAAR+uc,QAAQ,GAAG;AACX,WAAO,KAAKx2V,OAAL,GAAe,KAAKA,OAAL,CAAaw2V,QAA5B,GAAuC,IAA9C;AACH;AACD;AACJ;AACA;AACA;AACA;;;AACa,MAALpqE,KAAK,GAAG;AACR,WAAO,KAAKpsR,OAAL,GAAe,KAAKA,OAAL,CAAaosR,KAA5B,GAAoC,IAA3C;AACH;AACD;AACJ;AACA;AACA;AACA;;;AACe,MAAPqqE,OAAO,GAAG;AACV,WAAO,KAAKz2V,OAAL,GAAe,KAAKA,OAAL,CAAay2V,OAA5B,GAAsC,IAA7C;AACH;AACD;AACJ;AACA;AACA;AACA;AACA;;;AACc,MAANvxd,MAAM,GAAG;AACT,WAAO,KAAK86H,OAAL,GAAe,KAAKA,OAAL,CAAa96H,MAA5B,GAAqC,IAA5C;AACH;AACD;AACJ;AACA;AACA;AACA;;;AACiB,MAATwxd,SAAS,GAAG;AACZ,WAAO,KAAK12V,OAAL,GAAe,KAAKA,OAAL,CAAa02V,SAA5B,GAAwC,IAA/C;AACH;AACD;AACJ;AACA;AACA;AACA;;;AACqB,MAAbC,aAAa,GAAG;AAChB,WAAO,KAAK32V,OAAL,GAAe,KAAKA,OAAL,CAAa22V,aAA5B,GAA4C,IAAnD;AACH;AACD;AACJ;AACA;AACA;AACA;AACA;;;AACoB,MAAZC,YAAY,GAAG;AACf,WAAO,KAAK52V,OAAL,GAAe,KAAKA,OAAL,CAAa42V,YAA5B,GAA2C,IAAlD;AACH;AACD;AACJ;AACA;AACA;AACA;;;AACY,MAAJ1rd,IAAI,GAAG;AACP,WAAO,IAAP;AACH;AACD;AACJ;AACA;AACA;;;AACI2rd,EAAAA,cAAc,CAACpC,UAAD,EAAa;AACvB,SAAKoB,cAAL,GAAsBpB,UAAU,IAAI,EAApC;AACA,SAAKqC,oBAAL,GAA4BxB,iBAAiB,CAAC,KAAKO,cAAN,CAA7C;AACH;AACD;AACJ;AACA;AACA;;;AACIkB,EAAAA,mBAAmB,CAACtC,UAAD,EAAa;AAC5B,SAAKsB,mBAAL,GAA2BtB,UAAU,IAAI,EAAzC;AACA,SAAKuC,yBAAL,GAAiCxB,sBAAsB,CAAC,KAAKO,mBAAN,CAAvD;AACH;AACD;AACJ;AACA;AACA;AACA;;;AACiB,MAATb,SAAS,GAAG;AACZ,WAAO,KAAK4B,oBAAL,IAA6B,IAApC;AACH;AACD;AACJ;AACA;AACA;AACA;;;AACsB,MAAdG,cAAc,GAAG;AACjB,WAAO,KAAKD,yBAAL,IAAkC,IAAzC;AACH;AACD;AACJ;AACA;AACA;AACA;;;AACIE,EAAAA,kBAAkB,CAACv5c,EAAD,EAAK;AACnB,SAAK44c,mBAAL,CAAyBhse,IAAzB,CAA8BozB,EAA9B;AACH;AACD;AACJ;AACA;AACA;AACA;;;AACIw5c,EAAAA,yBAAyB,GAAG;AACxB,SAAKZ,mBAAL,CAAyBnse,OAAzB,CAAiCuzB,EAAE,IAAIA,EAAE,EAAzC;;AACA,SAAK44c,mBAAL,GAA2B,EAA3B;AACH;AACD;AACJ;AACA;AACA;;;AACI/4X,EAAAA,KAAK,CAACrqG,KAAK,GAAG6gK,SAAT,EAAoB;AACrB,QAAI,KAAKh0B,OAAT,EACI,KAAKA,OAAL,CAAaxiC,KAAb,CAAmBrqG,KAAnB;AACP;AACD;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACI8N,EAAAA,QAAQ,CAACm2d,SAAD,EAAYlsd,IAAZ,EAAkB;AACtB,WAAO,KAAK80H,OAAL,GAAe,KAAKA,OAAL,CAAa/+H,QAAb,CAAsBm2d,SAAtB,EAAiClsd,IAAjC,CAAf,GAAwD,KAA/D;AACH;AACD;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACImsd,EAAAA,QAAQ,CAACD,SAAD,EAAYlsd,IAAZ,EAAkB;AACtB,WAAO,KAAK80H,OAAL,GAAe,KAAKA,OAAL,CAAaq3V,QAAb,CAAsBD,SAAtB,EAAiClsd,IAAjC,CAAf,GAAwD,IAA/D;AACH;;AApQ0B;AAuQ/B;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;AACA;AACA;AACA;AACA;A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CAAkCv1S,WAAlC;;AACA,WAAKszS,4BAAL,GAAoC,KAApC;AACH;AACJ;AACD;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACIkC,EAAAA,SAAS,CAAC73c,MAAD,EAAS+oH,IAAI,GAAG,EAAhB,EAAoB;AACzB,SAAK/oH,MAAL,GAAcA,MAAd;;AACA,SAAK83c,qBAAL,CAA2B/uV,IAAI,CAACgL,SAAL,KAAmB,KAA9C;AACH;AACD;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACIj8I,EAAAA,GAAG,CAAC2L,IAAD,EAAO;AACN,WAAOqxd,KAAK,CAAC,IAAD,EAAOrxd,IAAP,EAAa,GAAb,CAAZ;AACH;AACD;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACImsd,EAAAA,QAAQ,CAACD,SAAD,EAAYlsd,IAAZ,EAAkB;AACtB,UAAM80H,OAAO,GAAG90H,IAAI,GAAG,KAAK3L,GAAL,CAAS2L,IAAT,CAAH,GAAoB,IAAxC;AACA,WAAO80H,OAAO,IAAIA,OAAO,CAACv4G,MAAnB,GAA4Bu4G,OAAO,CAACv4G,MAAR,CAAe2vc,SAAf,CAA5B,GAAwD,IAA/D;AACH;AACD;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACIn2d,EAAAA,QAAQ,CAACm2d,SAAD,EAAYlsd,IAAZ,EAAkB;AACtB,WAAO,CAAC,CAAC,KAAKmsd,QAAL,CAAcD,SAAd,EAAyBlsd,IAAzB,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A;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,MAAMM,WAAN,SAA0B9C,eAA1B,CAA0C;AACtC;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACIj1e,EAAAA,WAAW,CAAC43e,SAAS,GAAG,IAAb,EAAmBhD,eAAnB,EAAoC7F,cAApC,EAAoD;AAC3D,UAAM4F,cAAc,CAACC,eAAD,CAApB,EAAuCG,mBAAmB,CAAChG,cAAD,EAAiB6F,eAAjB,CAA1D;AACA;;AACA,SAAKoD,SAAL,GAAiB,EAAjB;;AACA,SAAKC,eAAL,CAAqBL,SAArB;;AACA,SAAKC,kBAAL,CAAwBjD,eAAxB;;AACA,SAAK0C,gBAAL;;AACA,SAAKtF,sBAAL,CAA4B;AACxB6D,MAAAA,QAAQ,EAAE,IADc;AAExB;AACA;AACA;AACA;AACAviV,MAAAA,SAAS,EAAE,CAAC,CAAC,KAAKy7U;AANM,KAA5B;AAQH;AACD;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACIrwU,EAAAA,QAAQ,CAACzzJ,KAAD,EAAQmkB,OAAO,GAAG,EAAlB,EAAsB;AAC1B,SAAKnkB,KAAL,GAAa,KAAKmne,aAAL,GAAqBnne,KAAlC;;AACA,QAAI,KAAK+se,SAAL,CAAe5se,MAAf,IAAyBgkB,OAAO,C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;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,MAAM8xhB,UAAN,CAAiB;AACb15hB,EAAAA,WAAW,CAAC25hB,MAAD,EAAS3hB,KAAT,EAAgB4hB,iBAAhB,EAAmChwf,QAAnC,EAA6CjM,EAA7C,EAAiD;AACxD,SAAKg8f,MAAL,GAAcA,MAAd;AACA,SAAK3hB,KAAL,GAAaA,KAAb;AACA,SAAK4hB,iBAAL,GAAyBA,iBAAzB;AACA,SAAKhwf,QAAL,GAAgBA,QAAhB;AACA,SAAKjM,EAAL,GAAUA,EAAV;AACA,SAAK2jf,QAAL,GAAgB,IAAhB;AACA;;AACA,SAAKuY,SAAL,GAAiB,IAAI1+V,0CAAJ,EAAjB;AACA,SAAK2+V,0BAAL,CAAgC,GAAhC;AACH;AACD;AACJ;AACA;AACA;;;AACIA,EAAAA,0BAA0B,CAACC,WAAD,EAAc;AACpC,QAAI,KAAKH,iBAAL,IAA0B;AAAK;AAAnC,MAAsE;AAClE;AACH;;AACD,UAAMhwf,QAAQ,GAAG,KAAKA,QAAtB;AACA,UAAM2+J,aAAa,GAAG,KAAK5qK,EAAL,CAAQ4qK,aAA9B;;AACA,QAAIwxV,WAAW,KAAK,IAApB,EAA0B;AACtBnwf,MAAAA,QAAQ,CAACqiE,YAAT,CAAsBs8F,aAAtB,EAAqC,UAArC,EAAiDwxV,WAAjD;AACH,KAFD,MAGK;AACDnwf,MAAA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EAAEqvc,uDADI;AAEV7wS,MAAAA,IAAI,EAAE,CAAC,OAAD,EACF,CAAC,eAAD,EAAkB,gBAAlB,EAAoC,iBAApC,EAAuD,eAAvD,EAAwE,gBAAxE,CADE;AAFI,KAAD;AA1BwH,GAHjJ;AAAA;;AAkCA,SAAS46X,aAAT,CAAuBv8hB,CAAvB,EAA0B;AACtB,SAAOA,CAAC,KAAK,EAAN,IAAY,CAAC,CAACA,CAArB;AACH;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,MAAM28hB,gBAAN,CAAuB;AACnBt6hB,EAAAA,WAAW,CAAC25hB,MAAD,EAASh6Y,OAAT,EAAkB/1G,QAAlB,EAA4B2wf,GAA5B,EAAiCC,IAAjC,EAAuCC,YAAvC,EAAqD;AAC5D,SAAKd,MAAL,GAAcA,MAAd;AACA,SAAKh6Y,OAAL,GAAeA,OAAf;AACA,SAAK/1G,QAAL,GAAgBA,QAAhB;AACA,SAAK2wf,GAAL,GAAWA,GAAX;AACA,SAAKC,IAAL,GAAYA,IAAZ;AACA,SAAKC,YAAL,GAAoBA,YAApB;AACA,SAAK92d,OAAL,GAAe,EAAf;AACA,SAAKtjD,QAAL,GAAgB,KAAhB;AACA;AACR;AACA;AACA;AACA;AACA;AACA;;AACQ,SAAKq6gB,uBAAL,GAA+B;AAAEC,MAAAA,KAAK,EAAE;AAAT,KAA/B;AACA;AACR;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACQ,SAAKC,cAAL,GAAsB,IAAI5/V,uDAAJ,EAAtB;AACA,SAAK6/V,wBAAL,GAAgClB,MAAM,CAACh5b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","sources":["./node_modules/file-saver/dist/FileSaver.min.js","./node_modules/rxjs/_esm2015/internal/BehaviorSubject.js","./node_modules/rxjs/_esm2015/internal/InnerSubscriber.js","./node_modules/rxjs/_esm2015/internal/Notification.js","./node_modules/rxjs/_esm2015/internal/Observable.js","./node_modules/rxjs/_esm2015/internal/Observer.js","./node_modules/rxjs/_esm2015/internal/OuterSubscriber.js","./node_modules/rxjs/_esm2015/internal/ReplaySubject.js","./node_modules/rxjs/_esm2015/internal/Scheduler.js","./node_modules/rxjs/_esm2015/internal/Subject.js","./node_modules/rxjs/_esm2015/internal/SubjectSubscription.js","./node_modules/rxjs/_esm2015/internal/Subscriber.js","./node_modules/rxjs/_esm2015/internal/Subscription.js","./node_modules/rxjs/_esm2015/internal/config.js","./node_modules/rxjs/_esm2015/internal/innerSubscribe.js","./node_modules/rxjs/_esm2015/internal/observable/ConnectableObservable.js","./node_modules/rxjs/_esm2015/internal/observable/combineLatest.js","./node_modules/rxjs/_esm2015/internal/observable/concat.js","./node_modules/rxjs/_esm2015/internal/observable/defer.js","./node_modules/rxjs/_esm2015/internal/observable/empty.js","./node_modules/rxjs/_esm2015/internal/observable/forkJoin.js","./node_modules/rxjs/_esm2015/internal/observable/from.js","./node_modules/rxjs/_esm2015/internal/observable/fromArray.js","./node_modules/rxjs/_esm2015/internal/observable/fromEvent.js","./node_modules/rxjs/_esm2015/internal/observable/merge.js","./node_modules/rxjs/_esm2015/internal/observable/of.js","./node_modules/rxjs/_esm2015/internal/observable/throwError.js","./node_modules/rxjs/_esm2015/internal/observable/timer.js","./node_modules/rxjs/_esm2015/internal/operators/audit.js","./node_modules/rxjs/_esm2015/internal/operators/auditTime.js","./node_modules/rxjs/_esm2015/internal/operators/catchError.js","./node_modules/rxjs/_esm2015/internal/operators/concatAll.js","./node_modules/rxjs/_esm2015/internal/operators/concatMap.js","./node_modules/rxjs/_esm2015/internal/operators/debounceTime.js","./node_modules/rxjs/_esm2015/internal/operators/defaultIfEmpty.js","./node_modules/rxjs/_esm2015/internal/operators/distinctUntilChanged.js","./node_modules/rxjs/_esm2015/internal/operators/filter.js","./node_modules/rxjs/_esm2015/internal/operators/finalize.js","./node_modules/rxjs/_esm2015/internal/operators/first.js","./node_modules/rxjs/_esm2015/internal/operators/last.js","./node_modules/rxjs/_esm2015/internal/operators/map.js","./node_modules/rxjs/_esm2015/internal/operators/mapTo.js","./node_modules/rxjs/_esm2015/internal/operators/mergeAll.js","./node_modules/rxjs/_esm2015/internal/operators/mergeMap.js","./node_modules/rxjs/_esm2015/internal/operators/multicast.js","./node_modules/rxjs/_esm2015/internal/operators/observeOn.js","./node_modules/rxjs/_esm2015/internal/operators/pairwise.js","./node_modules/rxjs/_esm2015/internal/operators/refCount.js","./node_modules/rxjs/_esm2015/internal/operators/scan.js","./node_modules/rxjs/_esm2015/internal/operators/share.js","./node_modules/rxjs/_esm2015/internal/operators/shareReplay.js","./node_modules/rxjs/_esm2015/internal/operators/skip.js","./node_modules/rxjs/_esm2015/internal/operators/startWith.js","./node_modules/rxjs/_esm2015/internal/operators/switchMap.js","./node_modules/rxjs/_esm2015/internal/operators/take.js","./node_modules/rxjs/_esm2015/internal/operators/takeLast.js","./node_modules/rxjs/_esm2015/internal/operators/takeUntil.js","./node_modules/rxjs/_esm2015/internal/operators/takeWhile.js","./node_modules/rxjs/_esm2015/internal/operators/tap.js","./node_modules/rxjs/_esm2015/internal/operators/throwIfEmpty.js","./node_modules/rxjs/_esm2015/internal/scheduled/scheduleArray.js","./node_modules/rxjs/_esm2015/internal/scheduled/scheduleIterable.js","./node_modules/rxjs/_esm2015/internal/scheduled/scheduleObservable.js","./node_modules/rxjs/_esm2015/internal/scheduled/schedulePromise.js","./node_modules/rxjs/_esm2015/internal/scheduled/scheduled.js","./node_modules/rxjs/_esm2015/internal/scheduler/Action.js","./node_modules/rxjs/_esm2015/internal/scheduler/AnimationFrameAction.js","./node_modules/rxjs/_esm2015/internal/scheduler/AnimationFrameScheduler.js","./node_modules/rxjs/_esm2015/internal/scheduler/AsapAction.js","./node_modules/rxjs/_esm2015/internal/scheduler/AsapScheduler.js","./node_modules/rxjs/_esm2015/internal/scheduler/AsyncAction.js","./node_modules/rxjs/_esm2015/internal/scheduler/AsyncScheduler.js","./node_modules/rxjs/_esm2015/internal/scheduler/QueueAction.js","./node_modules/rxjs/_esm2015/internal/scheduler/QueueScheduler.js","./node_modules/rxjs/_esm2015/internal/scheduler/animationFrame.js","./node_modules/rxjs/_esm2015/internal/scheduler/asap.js","./node_modules/rxjs/_esm2015/internal/scheduler/async.js","./node_modules/rxjs/_esm2015/internal/scheduler/queue.js","./node_modules/rxjs/_esm2015/internal/symbol/iterator.js","./node_modules/rxjs/_esm2015/internal/symbol/observable.js","./node_modules/rxjs/_esm2015/internal/symbol/rxSubscriber.js","./node_modules/rxjs/_esm2015/internal/util/ArgumentOutOfRangeError.js","./node_modules/rxjs/_esm2015/internal/util/EmptyError.js","./node_modules/rxjs/_esm2015/internal/util/Immediate.js","./node_modules/rxjs/_esm2015/internal/util/ObjectUnsubscribedError.js","./node_modules/rxjs/_esm2015/internal/util/UnsubscriptionError.js","./node_modules/rxjs/_esm2015/internal/util/canReportError.js","./node_modules/rxjs/_esm2015/internal/util/hostReportError.js","./node_modules/rxjs/_esm2015/internal/util/identity.js","./node_modules/rxjs/_esm2015/internal/util/isArray.js","./node_modules/rxjs/_esm2015/internal/util/isArrayLike.js","./node_modules/rxjs/_esm2015/internal/util/isFunction.js","./node_modules/rxjs/_esm2015/internal/util/isInteropObservable.js","./node_modules/rxjs/_esm2015/internal/util/isIterable.js","./node_modules/rxjs/_esm2015/internal/util/isNumeric.js","./node_modules/rxjs/_esm2015/internal/util/isObject.js","./node_modules/rxjs/_esm2015/internal/util/isObservable.js","./node_modules/rxjs/_esm2015/internal/util/isPromise.js","./node_modules/rxjs/_esm2015/internal/util/isScheduler.js","./node_modules/rxjs/_esm2015/internal/util/noop.js","./node_modules/rxjs/_esm2015/internal/util/pipe.js","./node_modules/rxjs/_esm2015/internal/util/subscribeTo.js","./node_modules/rxjs/_esm2015/internal/util/subscribeToArray.js","./node_modules/rxjs/_esm2015/internal/util/subscribeToIterable.js","./node_modules/rxjs/_esm2015/internal/util/subscribeToObservable.js","./node_modules/rxjs/_esm2015/internal/util/subscribeToPromise.js","./node_modules/rxjs/_esm2015/internal/util/subscribeToResult.js","./node_modules/rxjs/_esm2015/internal/util/toSubscriber.js","./node_modules/@arcgis/core/Basemap.js","./node_modules/@arcgis/core/Camera.js","./node_modules/@arcgis/core/CameraLayout.js","./node_modules/@arcgis/core/Color.js","./node_modules/@arcgis/core/Graphic.js","./node_modules/@arcgis/core/Ground.js","./node_modules/@arcgis/core/Map.js","./node_modules/@arcgis/core/PopupTemplate.js","./node_modules/@arcgis/core/TimeExtent.js","./node_modules/@arcgis/core/Viewpoint.js","./node_modules/@arcgis/core/WebDocument2D.js","./node_modules/@arcgis/core/WebMap.js","./node_modules/@arcgis/core/arcade/ArcadeDate.js","./node_modules/@arcgis/core/arcade/featureset/support/FeatureSetQueryInterceptor.js","./node_modules/@arcgis/core/arcade/featureset/support/shared.js","./node_modules/@arcgis/core/arcade/kernel.js","./node_modules/@arcgis/core/assets.js","./node_modules/@arcgis/core/chunks/_commonjsHelpers.js","./node_modules/@arcgis/core/chunks/geometryEngineBase.js","./node_modules/@arcgis/core/chunks/pe.js","./node_modules/@arcgis/core/chunks/persistableUrlUtils.js","./node_modules/@arcgis/core/chunks/quickselect.js","./node_modules/@arcgis/core/chunks/rbush.js","./node_modules/@arcgis/core/chunks/sphere.js","./node_modules/@arcgis/core/chunks/tslib.es6.js","./node_modules/@arcgis/core/chunks/vec32.js","./node_modules/@arcgis/core/chunks/vec42.js","./node_modules/@arcgis/core/colorUtils.js","./node_modules/@arcgis/core/config.js","./node_modules/@arcgis/core/core/Accessor.js","./node_modules/@arcgis/core/core/ArrayPool.js","./node_modules/@arcgis/core/core/ByteSizeUnit.js","./node_modules/@arcgis/core/core/Clonable.js","./node_modules/@arcgis/core/core/Collection.js","./node_modules/@arcgis/core/core/CollectionFlattener.js","./node_modules/@arcgis/core/core/Cyclical.js","./node_modules/@arcgis/core/core/Error.js","./node_modules/@arcgis/core/core/Evented.js","./node_modules/@arcgis/core/core/Handles.js","./node_modules/@arcgis/core/core/HeapSort.js","./node_modules/@arcgis/core/core/Identifiable.js","./node_modules/@arcgis/core/core/JSONSupport.js","./node_modules/@arcgis/core/core/LRUCache.js","./node_modules/@arcgis/core/core/Loadable.js","./node_modules/@arcgis/core/core/Logger.js","./node_modules/@arcgis/core/core/MD5.js","./node_modules/@arcgis/core/core/MapUtils.js","./node_modules/@arcgis/core/core/MemCache.js","./node_modules/@arcgis/core/core/Message.js","./node_modules/@arcgis/core/core/MultiOriginJSONSupport.js","./node_modules/@arcgis/core/core/ObjectPool.js","./node_modules/@arcgis/core/core/ObjectStack.js","./node_modules/@arcgis/core/core/ObservableChangesType.js","./node_modules/@arcgis/core/core/PerformanceSampler.js","./node_modules/@arcgis/core/core/PooledArray.js","./node_modules/@arcgis/core/core/Promise.js","./node_modules/@arcgis/core/core/Queue.js","./node_modules/@arcgis/core/core/RandomLCG.js","./node_modules/@arcgis/core/core/ReactiveMap.js","./node_modules/@arcgis/core/core/ReactiveSet.js","./node_modules/@arcgis/core/core/ReadOnlyMultiOriginJSONSupport.js","./node_modules/@arcgis/core/core/ReentrantObjectPool.js","./node_modules/@arcgis/core/core/SetUtils.js","./node_modules/@arcgis/core/core/VectorStack.js","./node_modules/@arcgis/core/core/Version.js","./node_modules/@arcgis/core/core/Warning.js","./node_modules/@arcgis/core/core/a11yUtils.js","./node_modules/@arcgis/core/core/accessorSupport/DefaultsStore.js","./node_modules/@arcgis/core/core/accessorSupport/MultiOriginStore.js","./node_modules/@arcgis/core/core/accessorSupport/ObservableBase.js","./node_modules/@arcgis/core/core/accessorSupport/Properties.js","./node_modules/@arcgis/core/core/accessorSupport/Property.js","./node_modules/@arcgis/core/core/accessorSupport/PropertyOrigin.js","./node_modules/@arcgis/core/core/accessorSupport/Store.js","./node_modules/@arcgis/core/core/accessorSupport/beforeDestroy.js","./node_modules/@arcgis/core/core/accessorSupport/decorators/cast.js","./node_modules/@arcgis/core/core/accessorSupport/decorators/enumeration.js","./node_modules/@arcgis/core/core/accessorSupport/decorators/property.js","./node_modules/@arcgis/core/core/accessorSupport/decorators/reader.js","./node_modules/@arcgis/core/core/accessorSupport/decorators/shared.js","./node_modules/@arcgis/core/core/accessorSupport/decorators/subclass.js","./node_modules/@arcgis/core/core/accessorSupport/decorators/writer.js","./node_modules/@arcgis/core/core/accessorSupport/defaultsStoreUtils.js","./node_modules/@arcgis/core/core/accessorSupport/diffUtils.js","./node_modules/@arcgis/core/core/accessorSupport/ensureType.js","./node_modules/@arcgis/core/core/accessorSupport/extensions/serializableProperty.js","./node_modules/@arcgis/core/core/accessorSupport/extensions/serializableProperty/originAliases.js","./node_modules/@arcgis/core/core/accessorSupport/extensions/serializableProperty/reader.js","./node_modules/@arcgis/core/core/accessorSupport/extensions/serializableProperty/shorthands.js","./node_modules/@arcgis/core/core/accessorSupport/extensions/serializableProperty/type.js","./node_modules/@arcgis/core/core/accessorSupport/extensions/serializableProperty/writePolicyUtils.js","./node_modules/@arcgis/core/core/accessorSupport/extensions/serializableProperty/writer.js","./node_modules/@arcgis/core/core/accessorSupport/get.js","./node_modules/@arcgis/core/core/accessorSupport/interfaces.js","./node_modules/@arcgis/core/core/accessorSupport/layerContainerType.js","./node_modules/@arcgis/core/core/accessorSupport/metadata.js","./node_modules/@arcgis/core/core/accessorSupport/read.js","./node_modules/@arcgis/core/core/accessorSupport/set.js","./node_modules/@arcgis/core/core/accessorSupport/testSupport.js","./node_modules/@arcgis/core/core/accessorSupport/tracking.js","./node_modules/@arcgis/core/core/accessorSupport/trackingUtils.js","./node_modules/@arcgis/core/core/accessorSupport/tracking/Flags.js","./node_modules/@arcgis/core/core/accessorSupport/tracking/ObservationHandle.js","./node_modules/@arcgis/core/core/accessorSupport/tracking/SimpleObservable.js","./node_modules/@arcgis/core/core/accessorSupport/tracking/SimpleTrackingTarget.js","./node_modules/@arcgis/core/core/accessorSupport/tracking/TrackingTarget.js","./node_modules/@arcgis/core/core/accessorSupport/utils.js","./node_modules/@arcgis/core/core/accessorSupport/watch.js","./node_modules/@arcgis/core/core/accessorSupport/write.js","./node_modules/@arcgis/core/core/arrayUtils.js","./node_modules/@arcgis/core/core/asyncUtils.js","./node_modules/@arcgis/core/core/byteSizeEstimations.js","./node_modules/@arcgis/core/core/clock.js","./node_modules/@arcgis/core/core/collectionUtils.js","./node_modules/@arcgis/core/core/colorUtils.js","./node_modules/@arcgis/core/core/compilerUtils.js","./node_modules/@arcgis/core/core/deprecate.js","./node_modules/@arcgis/core/core/devEnvironmentUtils.js","./node_modules/@arcgis/core/core/domUtils.js","./node_modules/@arcgis/core/core/events.js","./node_modules/@arcgis/core/core/handleUtils.js","./node_modules/@arcgis/core/core/has.js","./node_modules/@arcgis/core/core/imageUtils.js","./node_modules/@arcgis/core/core/iteratorUtils.js","./node_modules/@arcgis/core/core/jsonMap.js","./node_modules/@arcgis/core/core/lang.js","./node_modules/@arcgis/core/core/libs/gl-matrix-2/factories/mat2df32.js","./node_modules/@arcgis/core/core/libs/gl-matrix-2/factories/mat2df64.js","./node_modules/@arcgis/core/core/libs/gl-matrix-2/factories/mat3f32.js","./node_modules/@arcgis/core/core/libs/gl-matrix-2/factories/mat3f64.js","./node_modules/@arcgis/core/core/libs/gl-matrix-2/factories/mat4f32.js","./node_modules/@arcgis/core/core/libs/gl-matrix-2/factories/mat4f64.js","./node_modules/@arcgis/core/core/libs/gl-matrix-2/factories/quatf64.js","./node_modules/@arcgis/core/core/libs/gl-matrix-2/factories/vec2f32.js","./node_modules/@arcgis/core/core/libs/gl-matrix-2/factories/vec2f64.js","./node_modules/@arcgis/core/core/libs/gl-matrix-2/factories/vec3f64.js","./node_modules/@arcgis/core/core/libs/gl-matrix-2/factories/vec4f64.js","./node_modules/@arcgis/core/core/libs/gl-matrix-2/math/common.js","./node_modules/@arcgis/core/core/libs/gl-matrix-2/math/mat2d.js","./node_modules/@arcgis/core/core/libs/gl-matrix-2/math/mat3.js","./node_modules/@arcgis/core/core/libs/gl-matrix-2/math/mat4.js","./node_modules/@arcgis/core/core/libs/gl-matrix-2/math/quat.js","./node_modules/@arcgis/core/core/libs/gl-matrix-2/math/vec2.js","./node_modules/@arcgis/core/core/libs/gl-matrix-2/types/vec2.js","./node_modules/@arcgis/core/core/loadAll.js","./node_modules/@arcgis/core/core/mathUtils.js","./node_modules/@arcgis/core/core/maybe.js","./node_modules/@arcgis/core/core/memoize.js","./node_modules/@arcgis/core/core/nextTick.js","./node_modules/@arcgis/core/core/object.js","./node_modules/@arcgis/core/core/pbf.js","./node_modules/@arcgis/core/core/promiseUtils.js","./node_modules/@arcgis/core/core/quantityUtils.js","./node_modules/@arcgis/core/core/reactiveUtils.js","./node_modules/@arcgis/core/core/scheduling.js","./node_modules/@arcgis/core/core/screenUtils.js","./node_modules/@arcgis/core/core/signal.js","./node_modules/@arcgis/core/core/sql.js","./node_modules/@arcgis/core/core/sql/DateOnly.js","./node_modules/@arcgis/core/core/sql/TimeOnly.js","./node_modules/@arcgis/core/core/sql/UnknownTimeZone.js","./node_modules/@arcgis/core/core/string.js","./node_modules/@arcgis/core/core/support/OwningCollection.js","./node_modules/@arcgis/core/core/support/UpdatingHandles.js","./node_modules/@arcgis/core/core/throttle.js","./node_modules/@arcgis/core/core/time.js","./node_modules/@arcgis/core/core/timeUtils.js","./node_modules/@arcgis/core/core/typedArrayUtil.js","./node_modules/@arcgis/core/core/uid.js","./node_modules/@arcgis/core/core/unitFormatUtils.js","./node_modules/@arcgis/core/core/unitUtils.js","./node_modules/@arcgis/core/core/urlUtils.js","./node_modules/@arcgis/core/core/uuid.js","./node_modules/@arcgis/core/core/workers/Connection.js","./node_modules/@arcgis/core/core/workers/InvokeHandler.js","./node_modules/@arcgis/core/core/workers/RemoteClient.js","./node_modules/@arcgis/core/core/workers/WorkerFallback.js","./node_modules/@arcgis/core/core/workers/WorkerOwner.js","./node_modules/@arcgis/core/core/workers/connectionRegistry.js","./node_modules/@arcgis/core/core/workers/loaderConfig.js","./node_modules/@arcgis/core/core/workers/registry.js","./node_modules/@arcgis/core/core/workers/staticWorkerMessages.js","./node_modules/@arcgis/core/core/workers/utils.js","./node_modules/@arcgis/core/core/workers/workerFactory.js","./node_modules/@arcgis/core/core/workers/workers.js","./node_modules/@arcgis/core/form/ExpressionInfo.js","./node_modules/@arcgis/core/form/FormTemplate.js","./node_modules/@arcgis/core/form/elements/AttachmentElement.js","./node_modules/@arcgis/core/form/elements/Element.js","./node_modules/@arcgis/core/form/elements/FieldElement.js","./node_modules/@arcgis/core/form/elements/GroupElement.js","./node_modules/@arcgis/core/form/elements/RelationshipElement.js","./node_modules/@arcgis/core/form/elements/TextElement.js","./node_modules/@arcgis/core/form/elements/inputs/BarcodeScannerInput.js","./node_modules/@arcgis/core/form/elements/inputs/ComboBoxInput.js","./node_modules/@arcgis/core/form/elements/inputs/DatePickerInput.js","./node_modules/@arcgis/core/form/elements/inputs/DateTimeOffsetPickerInput.js","./node_modules/@arcgis/core/form/elements/inputs/DateTimePickerInput.js","./node_modules/@arcgis/core/form/elements/inputs/Input.js","./node_modules/@arcgis/core/form/elements/inputs/RadioButtonsInput.js","./node_modules/@arcgis/core/form/elements/inputs/SwitchInput.js","./node_modules/@arcgis/core/form/elements/inputs/TextAreaInput.js","./node_modules/@arcgis/core/form/elements/inputs/TextBoxInput.js","./node_modules/@arcgis/core/form/elements/inputs/TextInput.js","./node_modules/@arcgis/core/form/elements/inputs/TimePickerInput.js","./node_modules/@arcgis/core/form/elements/inputs/attachments/AttachmentInput.js","./node_modules/@arcgis/core/form/elements/inputs/attachments/AudioInput.js","./node_modules/@arcgis/core/form/elements/inputs/attachments/DocumentInput.js","./node_modules/@arcgis/core/form/elements/inputs/attachments/ImageInput.js","./node_modules/@arcgis/core/form/elements/inputs/attachments/Input.js","./node_modules/@arcgis/core/form/elements/inputs/attachments/SignatureInput.js","./node_modules/@arcgis/core/form/elements/inputs/attachments/VideoInput.js","./node_modules/@arcgis/core/form/elements/inputs/attachments/support/inputs.js","./node_modules/@arcgis/core/form/elements/inputs/attachments/support/utils.js","./node_modules/@arcgis/core/form/elements/support/inputs.js","./node_modules/@arcgis/core/form/support/elements.js","./node_modules/@arcgis/core/form/support/formUtils.js","./node_modules/@arcgis/core/geometry.js","./node_modules/@arcgis/core/geometry/Extent.js","./node_modules/@arcgis/core/geometry/Geometry.js","./node_modules/@arcgis/core/geometry/HeightModelInfo.js","./node_modules/@arcgis/core/geometry/Multipoint.js","./node_modules/@arcgis/core/geometry/Point.js","./node_modules/@arcgis/core/geometry/Polygon.js","./node_modules/@arcgis/core/geometry/Polyline.js","./node_modules/@arcgis/core/geometry/SpatialReference.js","./node_modules/@arcgis/core/geometry/ellipsoidUtils.js","./node_modules/@arcgis/core/geometry/geometryAdapters/hydrated.js","./node_modules/@arcgis/core/geometry/geometryCursorCollectUtils.js","./node_modules/@arcgis/core/geometry/geometryEngine.js","./node_modules/@arcgis/core/geometry/projection.js","./node_modules/@arcgis/core/geometry/projection/projectBuffer.js","./node_modules/@arcgis/core/geometry/projection/projectPointToVector.js","./node_modules/@arcgis/core/geometry/projection/projectVectorToVector.js","./node_modules/@arcgis/core/geometry/projection/projectXYZToVector.js","./node_modules/@arcgis/core/geometry/projection/projectors.js","./node_modules/@arcgis/core/geometry/support/Axis.js","./node_modules/@arcgis/core/geometry/support/DoubleArray.js","./node_modules/@arcgis/core/geometry/support/Ellipsoid.js","./node_modules/@arcgis/core/geometry/support/GeographicTransformation.js","./node_modules/@arcgis/core/geometry/support/GeographicTransformationStep.js","./node_modules/@arcgis/core/geometry/support/MeshGeoreferencedVertexSpace.js","./node_modules/@arcgis/core/geometry/support/MeshLocalVertexSpace.js","./node_modules/@arcgis/core/geometry/support/SupportedGCSWkids.js","./node_modules/@arcgis/core/geometry/support/WKIDUnitConversion.js","./node_modules/@arcgis/core/geometry/support/aaBoundingBox.js","./node_modules/@arcgis/core/geometry/support/aaBoundingRect.js","./node_modules/@arcgis/core/geometry/support/boundsUtils.js","./node_modules/@arcgis/core/geometry/support/centroid.js","./node_modules/@arcgis/core/geometry/support/contains.js","./node_modules/@arcgis/core/geometry/support/coordsUtils.js","./node_modules/@arcgis/core/geometry/support/extentUtils.js","./node_modules/@arcgis/core/geometry/support/geodesicConstants.js","./node_modules/@arcgis/core/geometry/support/geodesicUtils.js","./node_modules/@arcgis/core/geometry/support/geometryUtils.js","./node_modules/@arcgis/core/geometry/support/heightModelInfoUtils.js","./node_modules/@arcgis/core/geometry/support/intersectsBase.js","./node_modules/@arcgis/core/geometry/support/jsonUtils.js","./node_modules/@arcgis/core/geometry/support/meshVertexSpaceUtils.js","./node_modules/@arcgis/core/geometry/support/near.js","./node_modules/@arcgis/core/geometry/support/normalizeUtils.js","./node_modules/@arcgis/core/geometry/support/normalizeUtilsCommon.js","./node_modules/@arcgis/core/geometry/support/plane.js","./node_modules/@arcgis/core/geometry/support/pointUtils.js","./node_modules/@arcgis/core/geometry/support/quantizationUtils.js","./node_modules/@arcgis/core/geometry/support/ray.js","./node_modules/@arcgis/core/geometry/support/scaleUtils.js","./node_modules/@arcgis/core/geometry/support/spatialReferenceUtils.js","./node_modules/@arcgis/core/geometry/support/sphereUtils.js","./node_modules/@arcgis/core/geometry/support/typeUtils.js","./node_modules/@arcgis/core/geometry/support/vector.js","./node_modules/@arcgis/core/geometry/support/vectorStacks.js","./node_modules/@arcgis/core/geometry/support/webMercatorUtils.js","./node_modules/@arcgis/core/geometry/support/zmUtils.js","./node_modules/@arcgis/core/geometry/support/zscale.js","./node_modules/@arcgis/core/ground/NavigationConstraint.js","./node_modules/@arcgis/core/intl.js","./node_modules/@arcgis/core/intl/date.js","./node_modules/@arcgis/core/intl/locale.js","./node_modules/@arcgis/core/intl/messages.js","./node_modules/@arcgis/core/intl/number.js","./node_modules/@arcgis/core/intl/substitute.js","./node_modules/@arcgis/core/intl/t9n.js","./node_modules/@arcgis/core/kernel.js","./node_modules/@arcgis/core/layers/FeatureLayer.js","./node_modules/@arcgis/core/layers/GraphicsLayer.js","./node_modules/@arcgis/core/layers/Layer.js","./node_modules/@arcgis/core/layers/LayerConstants.js","./node_modules/@arcgis/core/layers/catalog/catalogUtils.js","./node_modules/@arcgis/core/layers/effects/colorMatrixFunctions.js","./node_modules/@arcgis/core/layers/effects/effects.js","./node_modules/@arcgis/core/layers/effects/jsonUtils.js","./node_modules/@arcgis/core/layers/effects/parser.js","./node_modules/@arcgis/core/layers/effects/utils.js","./node_modules/@arcgis/core/layers/graphics/OptimizedFeature.js","./node_modules/@arcgis/core/layers/graphics/OptimizedFeatureSet.js","./node_modules/@arcgis/core/layers/graphics/OptimizedGeometry.js","./node_modules/@arcgis/core/layers/graphics/dehydratedFeatureComparison.js","./node_modules/@arcgis/core/layers/graphics/dehydratedPoint.js","./node_modules/@arcgis/core/layers/graphics/hydratedFeatures.js","./node_modules/@arcgis/core/layers/graphics/sources/MemorySource.js","./node_modules/@arcgis/core/layers/mixins/APIKeyMixin.js","./node_modules/@arcgis/core/layers/mixins/ArcGISService.js","./node_modules/@arcgis/core/layers/mixins/BlendLayer.js","./node_modules/@arcgis/core/layers/mixins/CustomParametersMixin.js","./node_modules/@arcgis/core/layers/mixins/EditBusLayer.js","./node_modules/@arcgis/core/layers/mixins/FeatureEffectLayer.js","./node_modules/@arcgis/core/layers/mixins/FeatureLayerBase.js","./node_modules/@arcgis/core/layers/mixins/FeatureReductionLayer.js","./node_modules/@arcgis/core/layers/mixins/OperationalLayer.js","./node_modules/@arcgis/core/layers/mixins/OrderedLayer.js","./node_modules/@arcgis/core/layers/mixins/PortalLayer.js","./node_modules/@arcgis/core/layers/mixins/PublishableLayer.js","./node_modules/@arcgis/core/layers/mixins/RefreshableLayer.js","./node_modules/@arcgis/core/layers/mixins/ScaleRangeLayer.js","./node_modules/@arcgis/core/layers/mixins/TemporalLayer.js","./node_modules/@arcgis/core/layers/mixins/operationalLayers.js","./node_modules/@arcgis/core/layers/mixins/refresh.js","./node_modules/@arcgis/core/layers/support/AggregateField.js","./node_modules/@arcgis/core/layers/support/CodedValue.js","./node_modules/@arcgis/core/layers/support/CodedValueDomain.js","./node_modules/@arcgis/core/layers/support/Domain.js","./node_modules/@arcgis/core/layers/support/EditFieldsInfo.js","./node_modules/@arcgis/core/layers/support/ExpressionInfo.js","./node_modules/@arcgis/core/layers/support/FacilityLayerInfo.js","./node_modules/@arcgis/core/layers/support/FeatureEffect.js","./node_modules/@arcgis/core/layers/support/FeatureFilter.js","./node_modules/@arcgis/core/layers/support/FeatureIndex.js","./node_modules/@arcgis/core/layers/support/FeatureReduction.js","./node_modules/@arcgis/core/layers/support/FeatureReductionBinning.js","./node_modules/@arcgis/core/layers/support/FeatureReductionCluster.js","./node_modules/@arcgis/core/layers/support/FeatureReductionSelection.js","./node_modules/@arcgis/core/layers/support/FeatureTemplate.js","./node_modules/@arcgis/core/layers/support/FeatureType.js","./node_modules/@arcgis/core/layers/support/Field.js","./node_modules/@arcgis/core/layers/support/FieldsIndex.js","./node_modules/@arcgis/core/layers/support/GeometryFieldsInfo.js","./node_modules/@arcgis/core/layers/support/InheritedDomain.js","./node_modules/@arcgis/core/layers/support/LOD.js","./node_modules/@arcgis/core/layers/support/LabelClass.js","./node_modules/@arcgis/core/layers/support/LabelExpressionInfo.js","./node_modules/@arcgis/core/layers/support/LayerFloorInfo.js","./node_modules/@arcgis/core/layers/support/LevelLayerInfo.js","./node_modules/@arcgis/core/layers/support/OrderByInfo.js","./node_modules/@arcgis/core/layers/support/PromiseQueue.js","./node_modules/@arcgis/core/layers/support/PublishingInfo.js","./node_modules/@arcgis/core/layers/support/RangeDomain.js","./node_modules/@arcgis/core/layers/support/Relationship.js","./node_modules/@arcgis/core/layers/support/SiteLayerInfo.js","./node_modules/@arcgis/core/layers/support/Subtype.js","./node_modules/@arcgis/core/layers/support/TileInfo.js","./node_modules/@arcgis/core/layers/support/TileKey.js","./node_modules/@arcgis/core/layers/support/TimeInfo.js","./node_modules/@arcgis/core/layers/support/arcgisLayerUrl.js","./node_modules/@arcgis/core/layers/support/commonProperties.js","./node_modules/@arcgis/core/layers/support/domainUtils.js","./node_modules/@arcgis/core/layers/support/domains.js","./node_modules/@arcgis/core/layers/support/editableLayers.js","./node_modules/@arcgis/core/layers/support/exifUtils.js","./node_modules/@arcgis/core/layers/support/featureLayerUtils.js","./node_modules/@arcgis/core/layers/support/featureQueryAll.js","./node_modules/@arcgis/core/layers/support/featureReductionUtils.js","./node_modules/@arcgis/core/layers/support/fieldProperties.js","./node_modules/@arcgis/core/layers/support/fieldType.js","./node_modules/@arcgis/core/layers/support/fieldUtils.js","./node_modules/@arcgis/core/layers/support/fromPortalItem.js","./node_modules/@arcgis/core/layers/support/labelUtils.js","./node_modules/@arcgis/core/layers/support/labelingInfo.js","./node_modules/@arcgis/core/layers/support/layerUtils.js","./node_modules/@arcgis/core/layers/support/serviceCapabilitiesUtils.js","./node_modules/@arcgis/core/layers/support/source/DataLayerSource.js","./node_modules/@arcgis/core/layers/support/source/MapLayerSource.js","./node_modules/@arcgis/core/layers/support/source/QueryTableDataSource.js","./node_modules/@arcgis/core/layers/support/source/RasterDataSource.js","./node_modules/@arcgis/core/layers/support/source/TableDataSource.js","./node_modules/@arcgis/core/layers/support/versionUtils.js","./node_modules/@arcgis/core/libs/maquette-advanced-projector/advanced-projector-options.js","./node_modules/@arcgis/core/libs/maquette-advanced-projector/projector.js","./node_modules/@arcgis/core/libs/maquette-advanced-projector/utils.js","./node_modules/@arcgis/core/libs/maquette/dom.js","./node_modules/@arcgis/core/libs/maquette/projection.js","./node_modules/@arcgis/core/libs/maquette/projector.js","./node_modules/@arcgis/core/linkChart/utils.js","./node_modules/@arcgis/core/networks/Network.js","./node_modules/@arcgis/core/networks/RulesTable.js","./node_modules/@arcgis/core/networks/UtilityNetwork.js","./node_modules/@arcgis/core/networks/support/NamedTraceConfiguration.js","./node_modules/@arcgis/core/networks/support/NetworkSystemLayers.js","./node_modules/@arcgis/core/networks/support/Terminal.js","./node_modules/@arcgis/core/networks/support/TerminalConfiguration.js","./node_modules/@arcgis/core/networks/support/TopologyValidationJobInfo.js","./node_modules/@arcgis/core/networks/support/TraceConfiguration.js","./node_modules/@arcgis/core/networks/support/TraceJobInfo.js","./node_modules/@arcgis/core/networks/support/UNTraceConfiguration.js","./node_modules/@arcgis/core/networks/support/typeUtils.js","./node_modules/@arcgis/core/networks/support/utils.js","./node_modules/@arcgis/core/popup/ElementExpressionInfo.js","./node_modules/@arcgis/core/popup/ExpressionInfo.js","./node_modules/@arcgis/core/popup/FieldInfo.js","./node_modules/@arcgis/core/popup/LayerOptions.js","./node_modules/@arcgis/core/popup/RelatedRecordsInfo.js","./node_modules/@arcgis/core/popup/content.js","./node_modules/@arcgis/core/popup/content/AttachmentsContent.js","./node_modules/@arcgis/core/popup/content/BarChartMediaInfo.js","./node_modules/@arcgis/core/popup/content/ColumnChartMediaInfo.js","./node_modules/@arcgis/core/popup/content/Content.js","./node_modules/@arcgis/core/popup/content/CustomContent.js","./node_modules/@arcgis/core/popup/content/ExpressionContent.js","./node_modules/@arcgis/core/popup/content/FieldsContent.js","./node_modules/@arcgis/core/popup/content/ImageMediaInfo.js","./node_modules/@arcgis/core/popup/content/LineChartMediaInfo.js","./node_modules/@arcgis/core/popup/content/MediaContent.js","./node_modules/@arcgis/core/popup/content/PieChartMediaInfo.js","./node_modules/@arcgis/core/popup/content/RelationshipContent.js","./node_modules/@arcgis/core/popup/content/TextContent.js","./node_modules/@arcgis/core/popup/content/UtilityNetworkAssociationsContent.js","./node_modules/@arcgis/core/popup/content/mixins/ChartMediaInfo.js","./node_modules/@arcgis/core/popup/content/mixins/MediaInfo.js","./node_modules/@arcgis/core/popup/content/support/ChartMediaInfoValue.js","./node_modules/@arcgis/core/popup/content/support/ChartMediaInfoValueSeries.js","./node_modules/@arcgis/core/popup/content/support/ImageMediaInfoValue.js","./node_modules/@arcgis/core/popup/content/support/chartMediaInfoUtils.js","./node_modules/@arcgis/core/popup/content/support/mediaInfoTypes.js","./node_modules/@arcgis/core/popup/support/FieldInfoFormat.js","./node_modules/@arcgis/core/popup/support/RelatedRecordsInfoFieldOrder.js","./node_modules/@arcgis/core/popup/support/UtilityNetworkAssociationType.js","./node_modules/@arcgis/core/portal/Portal.js","./node_modules/@arcgis/core/portal/PortalFolder.js","./node_modules/@arcgis/core/portal/PortalGroup.js","./node_modules/@arcgis/core/portal/PortalItem.js","./node_modules/@arcgis/core/portal/PortalItemResource.js","./node_modules/@arcgis/core/portal/PortalQueryParams.js","./node_modules/@arcgis/core/portal/PortalQueryResult.js","./node_modules/@arcgis/core/portal/PortalRating.js","./node_modules/@arcgis/core/portal/PortalUser.js","./node_modules/@arcgis/core/portal/portalDefault.js","./node_modules/@arcgis/core/portal/support/jsonContext.js","./node_modules/@arcgis/core/portal/support/portalItemUtils.js","./node_modules/@arcgis/core/portal/support/urlUtils.js","./node_modules/@arcgis/core/portal/timeUnitKebabDictionary.js","./node_modules/@arcgis/core/properties/defaultUnit.js","./node_modules/@arcgis/core/renderers/ClassBreaksRenderer.js","./node_modules/@arcgis/core/renderers/DictionaryRenderer.js","./node_modules/@arcgis/core/renderers/DotDensityRenderer.js","./node_modules/@arcgis/core/renderers/HeatmapRenderer.js","./node_modules/@arcgis/core/renderers/PieChartRenderer.js","./node_modules/@arcgis/core/renderers/Renderer.js","./node_modules/@arcgis/core/renderers/SimpleRenderer.js","./node_modules/@arcgis/core/renderers/UniqueValueRenderer.js","./node_modules/@arcgis/core/renderers/mixins/VisualVariablesMixin.js","./node_modules/@arcgis/core/renderers/support/AttributeColorInfo.js","./node_modules/@arcgis/core/renderers/support/AuthoringInfo.js","./node_modules/@arcgis/core/renderers/support/AuthoringInfoClassBreakInfo.js","./node_modules/@arcgis/core/renderers/support/AuthoringInfoFieldInfo.js","./node_modules/@arcgis/core/renderers/support/AuthoringInfoSizeStop.js","./node_modules/@arcgis/core/renderers/support/AuthoringInfoVisualVariable.js","./node_modules/@arcgis/core/renderers/support/ClassBreakInfo.js","./node_modules/@arcgis/core/renderers/support/DictionaryLoader.js","./node_modules/@arcgis/core/renderers/support/DotDensityLegendOptions.js","./node_modules/@arcgis/core/renderers/support/HeatmapColorStop.js","./node_modules/@arcgis/core/renderers/support/HeatmapLegendOptions.js","./node_modules/@arcgis/core/renderers/support/OthersCategory.js","./node_modules/@arcgis/core/renderers/support/RendererLegendOptions.js","./node_modules/@arcgis/core/renderers/support/UniqueValue.js","./node_modules/@arcgis/core/renderers/support/UniqueValueClass.js","./node_modules/@arcgis/core/renderers/support/UniqueValueGroup.js","./node_modules/@arcgis/core/renderers/support/UniqueValueInfo.js","./node_modules/@arcgis/core/renderers/support/clickToleranceUtils.js","./node_modules/@arcgis/core/renderers/support/commonProperties.js","./node_modules/@arcgis/core/renderers/support/heatmapUtils.js","./node_modules/@arcgis/core/renderers/support/jsonUtils.js","./node_modules/@arcgis/core/renderers/support/lengthUtils.js","./node_modules/@arcgis/core/renderers/support/numberUtils.js","./node_modules/@arcgis/core/renderers/support/randomRotationExpression.js","./node_modules/@arcgis/core/renderers/support/styleUtils.js","./node_modules/@arcgis/core/renderers/support/types.js","./node_modules/@arcgis/core/renderers/support/utils.js","./node_modules/@arcgis/core/renderers/visualVariables/ColorVariable.js","./node_modules/@arcgis/core/renderers/visualVariables/OpacityVariable.js","./node_modules/@arcgis/core/renderers/visualVariables/RotationVariable.js","./node_modules/@arcgis/core/renderers/visualVariables/SizeVariable.js","./node_modules/@arcgis/core/renderers/visualVariables/VisualVariable.js","./node_modules/@arcgis/core/renderers/visualVariables/VisualVariableFactory.js","./node_modules/@arcgis/core/renderers/visualVariables/support/ColorStop.js","./node_modules/@arcgis/core/renderers/visualVariables/support/OpacityStop.js","./node_modules/@arcgis/core/renderers/visualVariables/support/SizeStop.js","./node_modules/@arcgis/core/renderers/visualVariables/support/SizeVariableLegendOptions.js","./node_modules/@arcgis/core/renderers/visualVariables/support/VisualVariableLegendOptions.js","./node_modules/@arcgis/core/renderers/visualVariables/support/castSizeVariable.js","./node_modules/@arcgis/core/renderers/visualVariables/support/sizeVariableUtils.js","./node_modules/@arcgis/core/renderers/visualVariables/support/visualVariableUtils.js","./node_modules/@arcgis/core/request.js","./node_modules/@arcgis/core/rest/geometryService/cut.js","./node_modules/@arcgis/core/rest/geometryService/project.js","./node_modules/@arcgis/core/rest/geometryService/simplify.js","./node_modules/@arcgis/core/rest/geometryService/utils.js","./node_modules/@arcgis/core/rest/networks/support/AggregatedGeometry.js","./node_modules/@arcgis/core/rest/networks/support/Association.js","./node_modules/@arcgis/core/rest/networks/support/FunctionResult.js","./node_modules/@arcgis/core/rest/networks/support/NetworkElement.js","./node_modules/@arcgis/core/rest/networks/support/TraceResult.js","./node_modules/@arcgis/core/rest/networks/support/ValidateNetworkTopologyResult.js","./node_modules/@arcgis/core/rest/operations/urlUtils.js","./node_modules/@arcgis/core/rest/query/executeQueryJSON.js","./node_modules/@arcgis/core/rest/query/operations/editsZScale.js","./node_modules/@arcgis/core/rest/query/operations/pbfFeatureServiceParser.js","./node_modules/@arcgis/core/rest/query/operations/pbfOptimizedFeatureSet.js","./node_modules/@arcgis/core/rest/query/operations/pbfQueryUtils.js","./node_modules/@arcgis/core/rest/query/operations/query.js","./node_modules/@arcgis/core/rest/query/operations/queryZScale.js","./node_modules/@arcgis/core/rest/query/support/AttachmentInfo.js","./node_modules/@arcgis/core/rest/support/AlgorithmicColorRamp.js","./node_modules/@arcgis/core/rest/support/AttachmentQuery.js","./node_modules/@arcgis/core/rest/support/ColorRamp.js","./node_modules/@arcgis/core/rest/support/FeatureSet.js","./node_modules/@arcgis/core/rest/support/FullTextSearch.js","./node_modules/@arcgis/core/rest/support/MultipartColorRamp.js","./node_modules/@arcgis/core/rest/support/ProjectParameters.js","./node_modules/@arcgis/core/rest/support/QuantizationParameters.js","./node_modules/@arcgis/core/rest/support/Query.js","./node_modules/@arcgis/core/rest/support/RelationshipQuery.js","./node_modules/@arcgis/core/rest/support/StatisticDefinition.js","./node_modules/@arcgis/core/rest/support/colorRamps.js","./node_modules/@arcgis/core/rest/support/jsonUtils.js","./node_modules/@arcgis/core/rest/support/spatialRelationships.js","./node_modules/@arcgis/core/rest/utils.js","./node_modules/@arcgis/core/smartMapping/support/utils.js","./node_modules/@arcgis/core/support/AnalysesCollection.js","./node_modules/@arcgis/core/support/BasemapStyle.js","./node_modules/@arcgis/core/support/GraphicsCollection.js","./node_modules/@arcgis/core/support/LayersMixin.js","./node_modules/@arcgis/core/support/MapFloorInfo.js","./node_modules/@arcgis/core/support/TablesMixin.js","./node_modules/@arcgis/core/support/actions/ActionBase.js","./node_modules/@arcgis/core/support/actions/ActionButton.js","./node_modules/@arcgis/core/support/actions/ActionSlider.js","./node_modules/@arcgis/core/support/actions/ActionToggle.js","./node_modules/@arcgis/core/support/actions/actionUtils.js","./node_modules/@arcgis/core/support/apiKeyUtils.js","./node_modules/@arcgis/core/support/arcadeOnDemand.js","./node_modules/@arcgis/core/support/base64Utils.js","./node_modules/@arcgis/core/support/basemapDefinitions.js","./node_modules/@arcgis/core/support/basemapUtils.js","./node_modules/@arcgis/core/support/collectionUtils.js","./node_modules/@arcgis/core/support/elevationInfoUtils.js","./node_modules/@arcgis/core/support/getDefaultUnitForView.js","./node_modules/@arcgis/core/support/groundUtils.js","./node_modules/@arcgis/core/support/popupUtils.js","./node_modules/@arcgis/core/support/requestUtils.js","./node_modules/@arcgis/core/support/revision.js","./node_modules/@arcgis/core/support/themeUtils.js","./node_modules/@arcgis/core/symbols.js","./node_modules/@arcgis/core/symbols/CIMSymbol.js","./node_modules/@arcgis/core/symbols/ExtrudeSymbol3DLayer.js","./node_modules/@arcgis/core/symbols/FillSymbol.js","./node_modules/@arcgis/core/symbols/FillSymbol3DLayer.js","./node_modules/@arcgis/core/symbols/Font.js","./node_modules/@arcgis/core/symbols/IconSymbol3DLayer.js","./node_modules/@arcgis/core/symbols/LabelSymbol3D.js","./node_modules/@arcgis/core/symbols/LineStyleMarker3D.js","./node_modules/@arcgis/core/symbols/LineSymbol.js","./node_modules/@arcgis/core/symbols/LineSymbol3D.js","./node_modules/@arcgis/core/symbols/LineSymbol3DLayer.js","./node_modules/@arcgis/core/symbols/LineSymbolMarker.js","./node_modules/@arcgis/core/symbols/MarkerSymbol.js","./node_modules/@arcgis/core/symbols/MeshSymbol3D.js","./node_modules/@arcgis/core/symbols/ObjectSymbol3DLayer.js","./node_modules/@arcgis/core/symbols/PathSymbol3DLayer.js","./node_modules/@arcgis/core/symbols/PictureFillSymbol.js","./node_modules/@arcgis/core/symbols/PictureMarkerSymbol.js","./node_modules/@arcgis/core/symbols/PointSymbol3D.js","./node_modules/@arcgis/core/symbols/PolygonSymbol3D.js","./node_modules/@arcgis/core/symbols/SimpleFillSymbol.js","./node_modules/@arcgis/core/symbols/SimpleLineSymbol.js","./node_modules/@arcgis/core/symbols/SimpleMarkerSymbol.js","./node_modules/@arcgis/core/symbols/Symbol.js","./node_modules/@arcgis/core/symbols/Symbol3D.js","./node_modules/@arcgis/core/symbols/Symbol3DLayer.js","./node_modules/@arcgis/core/symbols/TextSymbol.js","./node_modules/@arcgis/core/symbols/TextSymbol3DLayer.js","./node_modules/@arcgis/core/symbols/WaterSymbol3DLayer.js","./node_modules/@arcgis/core/symbols/WebStyleSymbol.js","./node_modules/@arcgis/core/symbols/callouts/Callout3D.js","./node_modules/@arcgis/core/symbols/callouts/LineCallout3D.js","./node_modules/@arcgis/core/symbols/callouts/LineCallout3DBorder.js","./node_modules/@arcgis/core/symbols/callouts/calloutUtils.js","./node_modules/@arcgis/core/symbols/cim/OverrideHelper.js","./node_modules/@arcgis/core/symbols/cim/defaultCIMValues.js","./node_modules/@arcgis/core/symbols/cim/enums.js","./node_modules/@arcgis/core/symbols/cim/utils.js","./node_modules/@arcgis/core/symbols/edges/Edges3D.js","./node_modules/@arcgis/core/symbols/edges/SketchEdges3D.js","./node_modules/@arcgis/core/symbols/edges/SolidEdges3D.js","./node_modules/@arcgis/core/symbols/edges/utils.js","./node_modules/@arcgis/core/symbols/patterns/LinePattern3D.js","./node_modules/@arcgis/core/symbols/patterns/LineStylePattern3D.js","./node_modules/@arcgis/core/symbols/patterns/Pattern3D.js","./node_modules/@arcgis/core/symbols/patterns/StylePattern3D.js","./node_modules/@arcgis/core/symbols/patterns/lineStyles.js","./node_modules/@arcgis/core/symbols/patterns/styles.js","./node_modules/@arcgis/core/symbols/patterns/utils.js","./node_modules/@arcgis/core/symbols/support/ElevationInfo.js","./node_modules/@arcgis/core/symbols/support/FeatureExpressionInfo.js","./node_modules/@arcgis/core/symbols/support/IconSymbol3DLayerResource.js","./node_modules/@arcgis/core/symbols/support/ObjectSymbol3DLayerResource.js","./node_modules/@arcgis/core/symbols/support/StyleOrigin.js","./node_modules/@arcgis/core/symbols/support/Symbol3DAnchorPosition2D.js","./node_modules/@arcgis/core/symbols/support/Symbol3DAnchorPosition3D.js","./node_modules/@arcgis/core/symbols/support/Symbol3DFillMaterial.js","./node_modules/@arcgis/core/symbols/support/Symbol3DHalo.js","./node_modules/@arcgis/core/symbols/support/Symbol3DIconOutline.js","./node_modules/@arcgis/core/symbols/support/Symbol3DMaterial.js","./node_modules/@arcgis/core/symbols/support/Symbol3DOutline.js","./node_modules/@arcgis/core/symbols/support/Symbol3DTextBackground.js","./node_modules/@arcgis/core/symbols/support/Symbol3DVerticalOffset.js","./node_modules/@arcgis/core/symbols/support/Thumbnail.js","./node_modules/@arcgis/core/symbols/support/cimSymbolUtils.js","./node_modules/@arcgis/core/symbols/support/colors.js","./node_modules/@arcgis/core/symbols/support/defaults.js","./node_modules/@arcgis/core/symbols/support/defaults3D.js","./node_modules/@arcgis/core/symbols/support/defaultsJSON.js","./node_modules/@arcgis/core/symbols/support/gfxUtils.js","./node_modules/@arcgis/core/symbols/support/jsonUtils.js","./node_modules/@arcgis/core/symbols/support/lineMarkers.js","./node_modules/@arcgis/core/symbols/support/materialUtils.js","./node_modules/@arcgis/core/symbols/support/previewSymbol3D.js","./node_modules/@arcgis/core/symbols/support/previewUtils.js","./node_modules/@arcgis/core/symbols/support/renderUtils.js","./node_modules/@arcgis/core/symbols/support/styleCache.js","./node_modules/@arcgis/core/symbols/support/styleUtils.js","./node_modules/@arcgis/core/symbols/support/svgGlobalState.js","./node_modules/@arcgis/core/symbols/support/svgUtils.js","./node_modules/@arcgis/core/symbols/support/symbolConversion.js","./node_modules/@arcgis/core/symbols/support/symbolLayerUtils3D.js","./node_modules/@arcgis/core/symbols/support/symbolUtils.js","./node_modules/@arcgis/core/symbols/support/textUtils.js","./node_modules/@arcgis/core/symbols/support/unitConversionUtils.js","./node_modules/@arcgis/core/symbols/support/urlUtils.js","./node_modules/@arcgis/core/symbols/support/utils.js","./node_modules/@arcgis/core/symbols/support/webStyleSymbolUtils.js","./node_modules/@arcgis/core/tables/AttributeTableTemplate.js","./node_modules/@arcgis/core/tables/elements/AttributeTableAttachmentElement.js","./node_modules/@arcgis/core/tables/elements/AttributeTableElement.js","./node_modules/@arcgis/core/tables/elements/AttributeTableFieldElement.js","./node_modules/@arcgis/core/tables/elements/AttributeTableGroupElement.js","./node_modules/@arcgis/core/tables/elements/AttributeTableRelationshipElement.js","./node_modules/@arcgis/core/tables/support/elements.js","./node_modules/@arcgis/core/time/TimeExtent.js","./node_modules/@arcgis/core/time/TimeInterval.js","./node_modules/@arcgis/core/time/legacyTimeZoneMap.js","./node_modules/@arcgis/core/time/timeZoneUtils.js","./node_modules/@arcgis/core/versionManagement/support/versionManagementUtils.js","./node_modules/@arcgis/core/views/2d/AnimationManager.js","./node_modules/@arcgis/core/views/2d/FrameTask.js","./node_modules/@arcgis/core/views/2d/GoToManager.js","./node_modules/@arcgis/core/views/2d/MapViewConstraints.js","./node_modules/@arcgis/core/views/2d/PaddedViewState.js","./node_modules/@arcgis/core/views/2d/ViewState.js","./node_modules/@arcgis/core/views/2d/ViewStateManager.js","./node_modules/@arcgis/core/views/2d/arcade/callExpressionWithFeature.js","./node_modules/@arcgis/core/views/2d/constraints/GeometryConstraint.js","./node_modules/@arcgis/core/views/2d/constraints/RotationConstraint.js","./node_modules/@arcgis/core/views/2d/constraints/ZoomConstraint.js","./node_modules/@arcgis/core/views/2d/engine/webgl/definitions.js","./node_modules/@arcgis/core/views/2d/engine/webgl/effects/highlight/HighlightGradient.js","./node_modules/@arcgis/core/views/2d/engine/webgl/effects/highlight/MultiHighlightGradient.js","./node_modules/@arcgis/core/views/2d/engine/webgl/effects/highlight/parameters.js","./node_modules/@arcgis/core/views/2d/engine/webgl/enums.js","./node_modules/@arcgis/core/views/2d/engine/webgl/shaderGraph/techniques/featureTechniqueUtils.js","./node_modules/@arcgis/core/views/2d/input/MapViewInputManager.js","./node_modules/@arcgis/core/views/2d/input/handlers/DoubleClickZoom.js","./node_modules/@arcgis/core/views/2d/input/handlers/DoubleTapDragZoom.js","./node_modules/@arcgis/core/views/2d/input/handlers/DragPan.js","./node_modules/@arcgis/core/views/2d/input/handlers/DragRotate.js","./node_modules/@arcgis/core/views/2d/input/handlers/GamepadNavigation.js","./node_modules/@arcgis/core/views/2d/input/handlers/KeyPan.js","./node_modules/@arcgis/core/views/2d/input/handlers/KeyRotate.js","./node_modules/@arcgis/core/views/2d/input/handlers/KeyZoom.js","./node_modules/@arcgis/core/views/2d/input/handlers/MouseWheelZoom.js","./node_modules/@arcgis/core/views/2d/input/handlers/PinchAction.js","./node_modules/@arcgis/core/views/2d/interactive/SnappingVisualizer2D.js","./node_modules/@arcgis/core/views/2d/layerViewModuleImportUtils.js","./node_modules/@arcgis/core/views/2d/layers/features/support/Tile.js","./node_modules/@arcgis/core/views/2d/layers/features/support/TileStore.js","./node_modules/@arcgis/core/views/2d/layers/support/clusterUtils.js","./node_modules/@arcgis/core/views/2d/layers/support/util.js","./node_modules/@arcgis/core/views/2d/navigation/duration.js","./node_modules/@arcgis/core/views/2d/pointToPoint/Camera.js","./node_modules/@arcgis/core/views/2d/support/HighlightGroup.js","./node_modules/@arcgis/core/views/2d/support/HighlightOptions.js","./node_modules/@arcgis/core/views/2d/support/StationaryManager.js","./node_modules/@arcgis/core/views/2d/support/Timeline.js","./node_modules/@arcgis/core/views/2d/support/clippingUtils.js","./node_modules/@arcgis/core/views/2d/support/highlightGroupUtils.js","./node_modules/@arcgis/core/views/2d/support/hitTestUtils.js","./node_modules/@arcgis/core/views/2d/support/screenshotUtils.js","./node_modules/@arcgis/core/views/2d/tiling/LODInfo.js","./node_modules/@arcgis/core/views/2d/tiling/TileCache.js","./node_modules/@arcgis/core/views/2d/tiling/TileCoverage.js","./node_modules/@arcgis/core/views/2d/tiling/TileInfoView.js","./node_modules/@arcgis/core/views/2d/tiling/TileKey.js","./node_modules/@arcgis/core/views/2d/tiling/TileQueue.js","./node_modules/@arcgis/core/views/2d/tiling/TileSpan.js","./node_modules/@arcgis/core/views/2d/tiling/TileStrategy.js","./node_modules/@arcgis/core/views/2d/unitBezier.js","./node_modules/@arcgis/core/views/2d/viewpointUtils.js","./node_modules/@arcgis/core/views/3d/interactive/support/viewUtils.js","./node_modules/@arcgis/core/views/3d/layers/Lyr3DWasm.js","./node_modules/@arcgis/core/views/3d/support/mathUtils.js","./node_modules/@arcgis/core/views/3d/webgl-engine/core/shaderLibrary/util/AlphaCutoff.js","./node_modules/@arcgis/core/views/BasemapView.js","./node_modules/@arcgis/core/views/BreakpointsOwner.js","./node_modules/@arcgis/core/views/DOMContainer.js","./node_modules/@arcgis/core/views/LayerViewManager.js","./node_modules/@arcgis/core/views/Magnifier.js","./node_modules/@arcgis/core/views/MapView.js","./node_modules/@arcgis/core/views/PopupView.js","./node_modules/@arcgis/core/views/SelectionManager.js","./node_modules/@arcgis/core/views/Theme.js","./node_modules/@arcgis/core/views/ToolViewManager.js","./node_modules/@arcgis/core/views/View.js","./node_modules/@arcgis/core/views/View2D.js","./node_modules/@arcgis/core/views/ViewAnimation.js","./node_modules/@arcgis/core/views/ViewingMode.js","./node_modules/@arcgis/core/views/animation/easing.js","./node_modules/@arcgis/core/views/animation/pointToPoint/Animation.js","./node_modules/@arcgis/core/views/animation/pointToPoint/Camera.js","./node_modules/@arcgis/core/views/animation/pointToPoint/Definition.js","./node_modules/@arcgis/core/views/animation/pointToPoint/InterpolateComponents.js","./node_modules/@arcgis/core/views/animation/pointToPoint/Path.js","./node_modules/@arcgis/core/views/animation/pointToPoint/Segment.js","./node_modules/@arcgis/core/views/animation/pointToPoint/Settings.js","./node_modules/@arcgis/core/views/animation/pointToPoint/apex/Path.js","./node_modules/@arcgis/core/views/animation/pointToPoint/apex/functions.js","./node_modules/@arcgis/core/views/animation/pointToPoint/apex/planning.js","./node_modules/@arcgis/core/views/draw/Draw.js","./node_modules/@arcgis/core/views/draw/DrawAction.js","./node_modules/@arcgis/core/views/draw/DrawManipulator.js","./node_modules/@arcgis/core/views/draw/DrawOperation.js","./node_modules/@arcgis/core/views/draw/DrawTool.js","./node_modules/@arcgis/core/views/draw/DrawingMode.js","./node_modules/@arcgis/core/views/draw/MultipointDrawAction.js","./node_modules/@arcgis/core/views/draw/PointDrawAction.js","./node_modules/@arcgis/core/views/draw/PolygonDrawAction.js","./node_modules/@arcgis/core/views/draw/PolylineDrawAction.js","./node_modules/@arcgis/core/views/draw/SegmentDrawAction.js","./node_modules/@arcgis/core/views/draw/drawSurfaces.js","./node_modules/@arcgis/core/views/draw/input/DrawEvents.js","./node_modules/@arcgis/core/views/draw/support/surfaceCoordinateSystems.js","./node_modules/@arcgis/core/views/input/BrowserEventSource.js","./node_modules/@arcgis/core/views/input/DragEventSeparator.js","./node_modules/@arcgis/core/views/input/EventMatch.js","./node_modules/@arcgis/core/views/input/IViewEvents.js","./node_modules/@arcgis/core/views/input/Input.js","./node_modules/@arcgis/core/views/input/InputHandler.js","./node_modules/@arcgis/core/views/input/InputManager.js","./node_modules/@arcgis/core/views/input/ViewEvents.js","./node_modules/@arcgis/core/views/input/VisibilityChange.js","./node_modules/@arcgis/core/views/input/gamepad/GamepadInputDevice.js","./node_modules/@arcgis/core/views/input/gamepad/GamepadSettings.js","./node_modules/@arcgis/core/views/input/gamepad/GamepadSource.js","./node_modules/@arcgis/core/views/input/gamepad/GamepadState.js","./node_modules/@arcgis/core/views/input/handlers/LatestPointer.js","./node_modules/@arcgis/core/views/input/handlers/MultiTouch.js","./node_modules/@arcgis/core/views/input/handlers/PreventContextMenu.js","./node_modules/@arcgis/core/views/input/handlers/support.js","./node_modules/@arcgis/core/views/input/keys.js","./node_modules/@arcgis/core/views/input/recognizers/DoubleTapDrag.js","./node_modules/@arcgis/core/views/input/recognizers/Drag.js","./node_modules/@arcgis/core/views/input/recognizers/ImmediateDoubleClick.js","./node_modules/@arcgis/core/views/input/recognizers/PointerClickHoldAndDrag.js","./node_modules/@arcgis/core/views/input/recognizers/SingleAndDoubleClick.js","./node_modules/@arcgis/core/views/input/recognizers/support.js","./node_modules/@arcgis/core/views/interactive/GraphicManipulator.js","./node_modules/@arcgis/core/views/interactive/InteractiveToolBase.js","./node_modules/@arcgis/core/views/interactive/ManipulatorCollection.js","./node_modules/@arcgis/core/views/interactive/ToolViewManagerManipulatorState.js","./node_modules/@arcgis/core/views/interactive/coordinateHelper.js","./node_modules/@arcgis/core/views/interactive/dragEventPipeline.js","./node_modules/@arcgis/core/views/interactive/editGeometry/EditGeometry.js","./node_modules/@arcgis/core/views/interactive/editGeometry/EditGeometryOperations.js","./node_modules/@arcgis/core/views/interactive/editGeometry/interfaces.js","./node_modules/@arcgis/core/views/interactive/editGeometry/operations/AppendVertex.js","./node_modules/@arcgis/core/views/interactive/editGeometry/operations/CloseComponent.js","./node_modules/@arcgis/core/views/interactive/editGeometry/operations/MoveMesh.js","./node_modules/@arcgis/core/views/interactive/editGeometry/operations/MoveVertex.js","./node_modules/@arcgis/core/views/interactive/editGeometry/operations/OffsetEdgeVertex.js","./node_modules/@arcgis/core/views/interactive/editGeometry/operations/RemoveVertices.js","./node_modules/@arcgis/core/views/interactive/editGeometry/operations/RotateVertex.js","./node_modules/@arcgis/core/views/interactive/editGeometry/operations/ScaleVertex.js","./node_modules/@arcgis/core/views/interactive/editGeometry/operations/SetAllVertexPositions.js","./node_modules/@arcgis/core/views/interactive/editGeometry/operations/SetVertexPosition.js","./node_modules/@arcgis/core/views/interactive/editGeometry/operations/SplitEdge.js","./node_modules/@arcgis/core/views/interactive/editGeometry/operations/UndoGroup.js","./node_modules/@arcgis/core/views/interactive/editGeometry/operations/UpdateVertices.js","./node_modules/@arcgis/core/views/interactive/editGeometry/unnormalizationHelper.js","./node_modules/@arcgis/core/views/interactive/interactiveToolUtils.js","./node_modules/@arcgis/core/views/interactive/interfaces.js","./node_modules/@arcgis/core/views/interactive/keybindings.js","./node_modules/@arcgis/core/views/interactive/sketch/SketchLabelOptions.js","./node_modules/@arcgis/core/views/interactive/sketch/constraintUtils.js","./node_modules/@arcgis/core/views/interactive/sketch/constraints.js","./node_modules/@arcgis/core/views/interactive/sketch/normalizedPoint.js","./node_modules/@arcgis/core/views/interactive/snapping/FeatureSnappingLayerSource.js","./node_modules/@arcgis/core/views/interactive/snapping/Settings.js","./node_modules/@arcgis/core/views/interactive/snapping/SnappingContext.js","./node_modules/@arcgis/core/views/interactive/snapping/SnappingDomain.js","./node_modules/@arcgis/core/views/interactive/snapping/SnappingDragPipelineStep.js","./node_modules/@arcgis/core/views/interactive/snapping/SnappingManager.js","./node_modules/@arcgis/core/views/interactive/snapping/SnappingManagerPool.js","./node_modules/@arcgis/core/views/interactive/snapping/SnappingOperation.js","./node_modules/@arcgis/core/views/interactive/snapping/SnappingOptions.js","./node_modules/@arcgis/core/views/interactive/snapping/SnappingVisualizer.js","./node_modules/@arcgis/core/views/interactive/snapping/allLayerSnapping.js","./node_modules/@arcgis/core/views/interactive/snapping/candidates/DrapedEdgeSnappingCandidate.js","./node_modules/@arcgis/core/views/interactive/snapping/candidates/EdgeSnappingCandidate.js","./node_modules/@arcgis/core/views/interactive/snapping/candidates/FeatureSnappingCandidate.js","./node_modules/@arcgis/core/views/interactive/snapping/candidates/IntersectionSnappingCandidate.js","./node_modules/@arcgis/core/views/interactive/snapping/candidates/LineSnappingCandidate.js","./node_modules/@arcgis/core/views/interactive/snapping/candidates/ParallelLineSnappingCandidate.js","./node_modules/@arcgis/core/views/interactive/snapping/candidates/RightAngleSnappingCandidate.js","./node_modules/@arcgis/core/views/interactive/snapping/candidates/RightAngleTriangleSnappingCandidate.js","./node_modules/@arcgis/core/views/interactive/snapping/candidates/SnappingCandidate.js","./node_modules/@arcgis/core/views/interactive/snapping/hints/IntersectionSnappingHint.js","./node_modules/@arcgis/core/views/interactive/snapping/hints/LineSnappingHint.js","./node_modules/@arcgis/core/views/interactive/snapping/hints/ParallelSnappingHint.js","./node_modules/@arcgis/core/views/interactive/snapping/hints/PointSnappingHint.js","./node_modules/@arcgis/core/views/interactive/snapping/hints/RightAngleSnappingHint.js","./node_modules/@arcgis/core/views/interactive/snapping/hints/SnappingHint.js","./node_modules/@arcgis/core/views/interactive/snapping/snappingUtils.js","./node_modules/@arcgis/core/views/interactive/support/utils.js","./node_modules/@arcgis/core/views/interactive/support/viewUtils.js","./node_modules/@arcgis/core/views/navigation/Navigation.js","./node_modules/@arcgis/core/views/navigation/gamepadAndKeyboardUtils.js","./node_modules/@arcgis/core/views/navigation/gamepad/GamepadSettings.js","./node_modules/@arcgis/core/views/overlay/ViewOverlay.js","./node_modules/@arcgis/core/views/support/DefaultsFromMap.js","./node_modules/@arcgis/core/views/support/HighlightDefaults.js","./node_modules/@arcgis/core/views/support/HighlightOptions.js","./node_modules/@arcgis/core/views/support/PropertiesPool.js","./node_modules/@arcgis/core/views/support/QueueProcessor.js","./node_modules/@arcgis/core/views/support/RenderState.js","./node_modules/@arcgis/core/views/support/Scheduler.js","./node_modules/@arcgis/core/views/support/WebGLRequirements.js","./node_modules/@arcgis/core/views/support/Yield.js","./node_modules/@arcgis/core/views/support/angularMeasurementUtils.js","./node_modules/@arcgis/core/views/support/debugFlags.js","./node_modules/@arcgis/core/views/support/drapedUtils.js","./node_modules/@arcgis/core/views/support/geometry2dUtils.js","./node_modules/@arcgis/core/views/support/geometry3dUtils.js","./node_modules/@arcgis/core/views/support/layerViewUtils.js","./node_modules/@arcgis/core/views/support/projectionUtils.js","./node_modules/@arcgis/core/views/support/screenUtils.js","./node_modules/@arcgis/core/views/support/screenshotUtils.js","./node_modules/@arcgis/core/views/support/selectionUtils.js","./node_modules/@arcgis/core/views/ui/2d/DefaultUI2D.js","./node_modules/@arcgis/core/views/ui/Component.js","./node_modules/@arcgis/core/views/ui/DefaultUI.js","./node_modules/@arcgis/core/views/ui/UI.js","./node_modules/@arcgis/core/views/webgl/GLObjectType.js","./node_modules/@arcgis/core/views/webgl/Texture.js","./node_modules/@arcgis/core/views/webgl/TextureDescriptor.js","./node_modules/@arcgis/core/views/webgl/Util.js","./node_modules/@arcgis/core/views/webgl/ValidatedTextureDescriptor.js","./node_modules/@arcgis/core/views/webgl/capabilities.js","./node_modules/@arcgis/core/views/webgl/checkWebGLError.js","./node_modules/@arcgis/core/views/webgl/enums.js","./node_modules/@arcgis/core/views/webgl/getDataTypeBytes.js","./node_modules/@arcgis/core/webdoc/GeotriggersInfo.js","./node_modules/@arcgis/core/webdoc/IPSInfo.js","./node_modules/@arcgis/core/webdoc/RangeInfo.js","./node_modules/@arcgis/core/webdoc/Widgets.js","./node_modules/@arcgis/core/webdoc/applicationProperties/Search.js","./node_modules/@arcgis/core/webdoc/applicationProperties/SearchLayer.js","./node_modules/@arcgis/core/webdoc/applicationProperties/SearchLayerField.js","./node_modules/@arcgis/core/webdoc/applicationProperties/SearchTable.js","./node_modules/@arcgis/core/webdoc/applicationProperties/SearchTableField.js","./node_modules/@arcgis/core/webdoc/applicationProperties/Viewing.js","./node_modules/@arcgis/core/webdoc/geotriggersInfo/DeviceLocationFeed.js","./node_modules/@arcgis/core/webdoc/geotriggersInfo/ExpressionInfo.js","./node_modules/@arcgis/core/webdoc/geotriggersInfo/FeatureFenceParameters.js","./node_modules/@arcgis/core/webdoc/geotriggersInfo/FeatureFilter.js","./node_modules/@arcgis/core/webdoc/geotriggersInfo/FeatureLayerSource.js","./node_modules/@arcgis/core/webdoc/geotriggersInfo/FenceGeotrigger.js","./node_modules/@arcgis/core/webdoc/geotriggersInfo/Geotrigger.js","./node_modules/@arcgis/core/webdoc/geotriggersInfo/GeotriggerNotificationOptions.js","./node_modules/@arcgis/core/webdoc/geotriggersInfo/support/geotriggerTypes.js","./node_modules/@arcgis/core/webdoc/geotriggersInfo/support/typeUtils.js","./node_modules/@arcgis/core/webdoc/interfaces.js","./node_modules/@arcgis/core/webdoc/ips/PositioningService.js","./node_modules/@arcgis/core/webdoc/support/SlideThumbnail.js","./node_modules/@arcgis/core/webdoc/support/opacityUtils.js","./node_modules/@arcgis/core/webdoc/support/thumbnailUtils.js","./node_modules/@arcgis/core/webdoc/support/timeProperties.js","./node_modules/@arcgis/core/webdoc/support/webdocLoadUtils.js","./node_modules/@arcgis/core/webdoc/support/writeUtils.js","./node_modules/@arcgis/core/webdoc/widgets/FloorFilter.js","./node_modules/@arcgis/core/webdoc/widgets/Range.js","./node_modules/@arcgis/core/webdoc/widgets/TimeSlider.js","./node_modules/@arcgis/core/webmap/ApplicationProperties.js","./node_modules/@arcgis/core/webmap/Bookmark.js","./node_modules/@arcgis/core/webmap/InitialViewProperties.js","./node_modules/@arcgis/core/webmap/Version.js","./node_modules/@arcgis/core/webmap/background/ColorBackground.js","./node_modules/@arcgis/core/webmap/utils.js","./node_modules/@arcgis/core/widgets/Attachments.js","./node_modules/@arcgis/core/widgets/Attachments/AttachmentsViewModel.js","./node_modules/@arcgis/core/widgets/Attachments/support/attachmentUtils.js","./node_modules/@arcgis/core/widgets/Attribution.js","./node_modules/@arcgis/core/widgets/Attribution/AttributionViewModel.js","./node_modules/@arcgis/core/widgets/Compass.js","./node_modules/@arcgis/core/widgets/Compass/CompassViewModel.js","./node_modules/@arcgis/core/widgets/Compass/css.js","./node_modules/@arcgis/core/widgets/Compass/utils.js","./node_modules/@arcgis/core/widgets/DistanceMeasurement2D.js","./node_modules/@arcgis/core/widgets/DistanceMeasurement2D/DistanceMeasurement2DTool.js","./node_modules/@arcgis/core/widgets/DistanceMeasurement2D/DistanceMeasurement2DViewModel.js","./node_modules/@arcgis/core/widgets/Feature.js","./node_modules/@arcgis/core/widgets/FeatureForm/featureFormUtils.js","./node_modules/@arcgis/core/widgets/Feature/FeatureAttachments.js","./node_modules/@arcgis/core/widgets/Feature/FeatureAttachments/FeatureAttachmentsViewModel.js","./node_modules/@arcgis/core/widgets/Feature/FeatureContent.js","./node_modules/@arcgis/core/widgets/Feature/FeatureContent/FeatureContentViewModel.js","./node_modules/@arcgis/core/widgets/Feature/FeatureExpression.js","./node_modules/@arcgis/core/widgets/Feature/FeatureExpression/FeatureExpressionViewModel.js","./node_modules/@arcgis/core/widgets/Feature/FeatureFields.js","./node_modules/@arcgis/core/widgets/Feature/FeatureFields/FeatureFieldsViewModel.js","./node_modules/@arcgis/core/widgets/Feature/FeatureMedia.js","./node_modules/@arcgis/core/widgets/Feature/FeatureMedia/FeatureMediaViewModel.js","./node_modules/@arcgis/core/widgets/Feature/FeatureRelationship.js","./node_modules/@arcgis/core/widgets/Feature/FeatureRelationship/FeatureRelationshipViewModel.js","./node_modules/@arcgis/core/widgets/Feature/FeatureUtilityNetworkAssociationType.js","./node_modules/@arcgis/core/widgets/Feature/FeatureUtilityNetworkAssociations.js","./node_modules/@arcgis/core/widgets/Feature/FeatureUtilityNetworkAssociations/FeatureUtilityNetworkAssociationsViewModel.js","./node_modules/@arcgis/core/widgets/Feature/FeatureUtilityNetworkAssociations/VisibleElements.js","./node_modules/@arcgis/core/widgets/Feature/FeatureUtilityNetworkAssociations/resources.js","./node_modules/@arcgis/core/widgets/Feature/FeatureViewModel.js","./node_modules/@arcgis/core/widgets/Feature/resources.js","./node_modules/@arcgis/core/widgets/Feature/support/FeatureContentMixin.js","./node_modules/@arcgis/core/widgets/Feature/support/FeatureElementInfo.js","./node_modules/@arcgis/core/widgets/Feature/support/arcadeFeatureUtils.js","./node_modules/@arcgis/core/widgets/Feature/support/featureUtils.js","./node_modules/@arcgis/core/widgets/Feature/support/relatedFeatureUtils.js","./node_modules/@arcgis/core/widgets/Features.js","./node_modules/@arcgis/core/widgets/Features/FeaturesDrillIn.js","./node_modules/@arcgis/core/widgets/Features/FeaturesViewModel.js","./node_modules/@arcgis/core/widgets/Features/FeaturesVisibleElements.js","./node_modules/@arcgis/core/widgets/Features/css.js","./node_modules/@arcgis/core/widgets/LayerList.js","./node_modules/@arcgis/core/widgets/LayerList/LayerListItem.js","./node_modules/@arcgis/core/widgets/LayerList/LayerListViewModel.js","./node_modules/@arcgis/core/widgets/LayerList/LayerListVisibleElements.js","./node_modules/@arcgis/core/widgets/LayerList/ListItem.js","./node_modules/@arcgis/core/widgets/LayerList/ListItemPanel.js","./node_modules/@arcgis/core/widgets/LayerList/css.js","./node_modules/@arcgis/core/widgets/LayerList/support/layerListUtils.js","./node_modules/@arcgis/core/widgets/Legend/styles/support/relationshipUtils.js","./node_modules/@arcgis/core/widgets/Legend/support/colorRampUtils.js","./node_modules/@arcgis/core/widgets/Legend/support/heatmapRampUtils.js","./node_modules/@arcgis/core/widgets/Legend/support/relationshipRampUtils.js","./node_modules/@arcgis/core/widgets/Legend/support/utils.js","./node_modules/@arcgis/core/widgets/NavigationToggle.js","./node_modules/@arcgis/core/widgets/NavigationToggle/NavigationToggleViewModel.js","./node_modules/@arcgis/core/widgets/NavigationToggle/css.js","./node_modules/@arcgis/core/widgets/Popup.js","./node_modules/@arcgis/core/widgets/Popup/PopupViewModel.js","./node_modules/@arcgis/core/widgets/Popup/PopupVisibleElements.js","./node_modules/@arcgis/core/widgets/Popup/actionUtils.js","./node_modules/@arcgis/core/widgets/Popup/actions.js","./node_modules/@arcgis/core/widgets/Popup/css.js","./node_modules/@arcgis/core/widgets/Slider.js","./node_modules/@arcgis/core/widgets/Slider/SliderViewModel.js","./node_modules/@arcgis/core/widgets/Slider/css.js","./node_modules/@arcgis/core/widgets/Spinner.js","./node_modules/@arcgis/core/widgets/Spinner/SpinnerViewModel.js","./node_modules/@arcgis/core/widgets/TimeSlider.js","./node_modules/@arcgis/core/widgets/TimeSlider/TimeSliderViewModel.js","./node_modules/@arcgis/core/widgets/TimeSlider/css.js","./node_modules/@arcgis/core/widgets/Widget.js","./node_modules/@arcgis/core/widgets/Zoom.js","./node_modules/@arcgis/core/widgets/Zoom/ZoomConditions2D.js","./node_modules/@arcgis/core/widgets/Zoom/ZoomConditions3D.js","./node_modules/@arcgis/core/widgets/Zoom/ZoomViewModel.js","./node_modules/@arcgis/core/widgets/support/AnchorElementViewModel.js","./node_modules/@arcgis/core/widgets/support/GoTo.js","./node_modules/@arcgis/core/widgets/support/Heading.js","./node_modules/@arcgis/core/widgets/support/InteractiveToolViewModel.js","./node_modules/@arcgis/core/widgets/support/MeasurementWidgetContent.js","./node_modules/@arcgis/core/widgets/support/UnitSelect.js","./node_modules/@arcgis/core/widgets/support/componentsUtils.js","./node_modules/@arcgis/core/widgets/support/dataUtils.js","./node_modules/@arcgis/core/widgets/support/dateUtils.js","./node_modules/@arcgis/core/widgets/support/decorators/accessibleHandler.js","./node_modules/@arcgis/core/widgets/support/decorators/messageBundle.js","./node_modules/@arcgis/core/widgets/support/decorators/vmEvent.js","./node_modules/@arcgis/core/widgets/support/globalCss.js","./node_modules/@arcgis/core/widgets/support/jsxFactory.js","./node_modules/@arcgis/core/widgets/support/jsxWidgetSupport.js","./node_modules/@arcgis/core/widgets/support/legacyIcon.js","./node_modules/@arcgis/core/widgets/support/listUtils.js","./node_modules/@arcgis/core/widgets/support/symbols.js","./node_modules/@arcgis/core/widgets/support/tests.js","./node_modules/@arcgis/core/widgets/support/uriUtils.js","./node_modules/@arcgis/core/widgets/support/vnodeCache.js","./node_modules/@arcgis/core/widgets/support/widget.js","./node_modules/@arcgis/core/widgets/support/widgetUtils.js","./node_modules/@esri/arcgis-html-sanitizer/dist/esm/index.js","./node_modules/@esri/calcite-components/dist/components/browser.js","./node_modules/@esri/calcite-components/dist/components/config.js","./node_modules/@esri/calcite-components/dist/components/index.js","./node_modules/@esri/calcite-components/dist/components/resources.js","./node_modules/@stencil/core/internal/app-data/index.js","./node_modules/@stencil/core/internal/client/index.js","./node_modules/luxon/src/datetime.js","./node_modules/luxon/src/duration.js","./node_modules/luxon/src/errors.js","./node_modules/luxon/src/impl/conversions.js","./node_modules/luxon/src/impl/diff.js","./node_modules/luxon/src/impl/digits.js","./node_modules/luxon/src/impl/english.js","./node_modules/luxon/src/impl/formats.js","./node_modules/luxon/src/impl/formatter.js","./node_modules/luxon/src/impl/invalid.js","./node_modules/luxon/src/impl/locale.js","./node_modules/luxon/src/impl/regexParser.js","./node_modules/luxon/src/impl/tokenParser.js","./node_modules/luxon/src/impl/util.js","./node_modules/luxon/src/impl/zoneUtil.js","./node_modules/luxon/src/info.js","./node_modules/luxon/src/interval.js","./node_modules/luxon/src/luxon.js","./node_modules/luxon/src/settings.js","./node_modules/luxon/src/zone.js","./node_modules/luxon/src/zones/IANAZone.js","./node_modules/luxon/src/zones/fixedOffsetZone.js","./node_modules/luxon/src/zones/invalidZone.js","./node_modules/luxon/src/zones/systemZone.js","./node_modules/@angular/animations/fesm2020/animations.mjs","./node_modules/@angular/animations/fesm2020/browser.mjs","./node_modules/@angular/cdk/fesm2020/a11y.mjs","./node_modules/@angular/cdk/fesm2020/bidi.mjs","./node_modules/@angular/cdk/fesm2020/cdk.mjs","./node_modules/@angular/cdk/fesm2020/coercion.mjs","./node_modules/@angular/cdk/fesm2020/collections.mjs","./node_modules/@angular/cdk/fesm2020/keycodes.mjs","./node_modules/@angular/cdk/fesm2020/observers.mjs","./node_modules/@angular/cdk/fesm2020/overlay.mjs","./node_modules/@angular/cdk/fesm2020/platform.mjs","./node_modules/@angular/cdk/fesm2020/portal.mjs","./node_modules/@angular/cdk/fesm2020/scrolling.mjs","./node_modules/@angular/common/fesm2020/common.mjs","./node_modules/@angular/common/fesm2020/http.mjs","./node_modules/@angular/compiler/fesm2020/compiler.mjs","./node_modules/@angular/core/fesm2020/core.mjs","./node_modules/@angular/forms/fesm2020/forms.mjs","./node_modules/@angular/material/fesm2020/button.mjs","./node_modules/@angular/material/fesm2020/card.mjs","./node_modules/@angular/material/fesm2020/core.mjs","./node_modules/@angular/material/fesm2020/dialog.mjs","./node_modules/@angular/material/fesm2020/icon.mjs","./node_modules/@angular/material/fesm2020/sidenav.mjs","./node_modules/@angular/material/fesm2020/toolbar.mjs","./node_modules/@angular/platform-browser-dynamic/fesm2020/platform-browser-dynamic.mjs","./node_modules/@angular/platform-browser/fesm2020/animations.mjs","./node_modules/@angular/platform-browser/fesm2020/platform-browser.mjs","./node_modules/@angular/router/fesm2020/router.mjs","./node_modules/angular-split/fesm2020/angular-split.mjs","./node_modules/@babel/runtime/helpers/esm/asyncToGenerator.js"],"sourcesContent":["(function(a,b){if(\"function\"==typeof define&&define.amd)define([],b);else if(\"undefined\"!=typeof exports)b();else{b(),a.FileSaver={exports:{}}.exports}})(this,function(){\"use strict\";function b(a,b){return\"undefined\"==typeof b?b={autoBom:!1}:\"object\"!=typeof b&&(console.warn(\"Deprecated: Expected third argument to be a object\"),b={autoBom:!b}),b.autoBom&&/^\\s*(?:text\\/\\S*|application\\/xml|\\S*\\/\\S*\\+xml)\\s*;.*charset\\s*=\\s*utf-8/i.test(a.type)?new Blob([\"\\uFEFF\",a],{type:a.type}):a}function c(a,b,c){var d=new XMLHttpRequest;d.open(\"GET\",a),d.responseType=\"blob\",d.onload=function(){g(d.response,b,c)},d.onerror=function(){console.error(\"could not download file\")},d.send()}function d(a){var b=new XMLHttpRequest;b.open(\"HEAD\",a,!1);try{b.send()}catch(a){}return 200<=b.status&&299>=b.status}function e(a){try{a.dispatchEvent(new MouseEvent(\"click\"))}catch(c){var b=document.createEvent(\"MouseEvents\");b.initMouseEvent(\"click\",!0,!0,window,0,0,0,80,20,!1,!1,!1,!1,0,null),a.dispatchEvent(b)}}var f=\"object\"==typeof window&&window.window===window?window:\"object\"==typeof self&&self.self===self?self:\"object\"==typeof global&&global.global===global?global:void 0,a=f.navigator&&/Macintosh/.test(navigator.userAgent)&&/AppleWebKit/.test(navigator.userAgent)&&!/Safari/.test(navigator.userAgent),g=f.saveAs||(\"object\"!=typeof window||window!==f?function(){}:\"download\"in HTMLAnchorElement.prototype&&!a?function(b,g,h){var i=f.URL||f.webkitURL,j=document.createElement(\"a\");g=g||b.name||\"download\",j.download=g,j.rel=\"noopener\",\"string\"==typeof b?(j.href=b,j.origin===location.origin?e(j):d(j.href)?c(b,g,h):e(j,j.target=\"_blank\")):(j.href=i.createObjectURL(b),setTimeout(function(){i.revokeObjectURL(j.href)},4E4),setTimeout(function(){e(j)},0))}:\"msSaveOrOpenBlob\"in navigator?function(f,g,h){if(g=g||f.name||\"download\",\"string\"!=typeof f)navigator.msSaveOrOpenBlob(b(f,h),g);else if(d(f))c(f,g,h);else{var i=document.createElement(\"a\");i.href=f,i.target=\"_blank\",setTimeout(function(){e(i)})}}:function(b,d,e,g){if(g=g||open(\"\",\"_blank\"),g&&(g.document.title=g.document.body.innerText=\"downloading...\"),\"string\"==typeof b)return c(b,d,e);var h=\"application/octet-stream\"===b.type,i=/constructor/i.test(f.HTMLElement)||f.safari,j=/CriOS\\/[\\d]+/.test(navigator.userAgent);if((j||h&&i||a)&&\"undefined\"!=typeof FileReader){var k=new FileReader;k.onloadend=function(){var a=k.result;a=j?a:a.replace(/^data:[^;]*;/,\"data:attachment/file;\"),g?g.location.href=a:location=a,g=null},k.readAsDataURL(b)}else{var l=f.URL||f.webkitURL,m=l.createObjectURL(b);g?g.location=m:location.href=m,g=null,setTimeout(function(){l.revokeObjectURL(m)},4E4)}});f.saveAs=g.saveAs=g,\"undefined\"!=typeof module&&(module.exports=g)});\n\n","import { Subject } from './Subject';\nimport { ObjectUnsubscribedError } from './util/ObjectUnsubscribedError';\nexport class BehaviorSubject extends Subject {\n constructor(_value) {\n super();\n this._value = _value;\n }\n get value() {\n return this.getValue();\n }\n _subscribe(subscriber) {\n const subscription = super._subscribe(subscriber);\n if (subscription && !subscription.closed) {\n subscriber.next(this._value);\n }\n return subscription;\n }\n getValue() {\n if (this.hasError) {\n throw this.thrownError;\n }\n else if (this.closed) {\n throw new ObjectUnsubscribedError();\n }\n else {\n return this._value;\n }\n }\n next(value) {\n super.next(this._value = value);\n }\n}\n","import { Subscriber } from './Subscriber';\nexport class InnerSubscriber extends Subscriber {\n constructor(parent, outerValue, outerIndex) {\n super();\n this.parent = parent;\n this.outerValue = outerValue;\n this.outerIndex = outerIndex;\n this.index = 0;\n }\n _next(value) {\n this.parent.notifyNext(this.outerValue, value, this.outerIndex, this.index++, this);\n }\n _error(error) {\n this.parent.notifyError(error, this);\n this.unsubscribe();\n }\n _complete() {\n this.parent.notifyComplete(this);\n this.unsubscribe();\n }\n}\n","import { empty } from './observable/empty';\nimport { of } from './observable/of';\nimport { throwError } from './observable/throwError';\nexport var NotificationKind;\n(function (NotificationKind) {\n NotificationKind[\"NEXT\"] = \"N\";\n NotificationKind[\"ERROR\"] = \"E\";\n NotificationKind[\"COMPLETE\"] = \"C\";\n})(NotificationKind || (NotificationKind = {}));\nexport class Notification {\n constructor(kind, value, error) {\n this.kind = kind;\n this.value = value;\n this.error = error;\n this.hasValue = kind === 'N';\n }\n observe(observer) {\n switch (this.kind) {\n case 'N':\n return observer.next && observer.next(this.value);\n case 'E':\n return observer.error && observer.error(this.error);\n case 'C':\n return observer.complete && observer.complete();\n }\n }\n do(next, error, complete) {\n const kind = this.kind;\n switch (kind) {\n case 'N':\n return next && next(this.value);\n case 'E':\n return error && error(this.error);\n case 'C':\n return complete && complete();\n }\n }\n accept(nextOrObserver, error, complete) {\n if (nextOrObserver && typeof nextOrObserver.next === 'function') {\n return this.observe(nextOrObserver);\n }\n else {\n return this.do(nextOrObserver, error, complete);\n }\n }\n toObservable() {\n const kind = this.kind;\n switch (kind) {\n case 'N':\n return of(this.value);\n case 'E':\n return throwError(this.error);\n case 'C':\n return empty();\n }\n throw new Error('unexpected notification kind value');\n }\n static createNext(value) {\n if (typeof value !== 'undefined') {\n return new Notification('N', value);\n }\n return Notification.undefinedValueNotification;\n }\n static createError(err) {\n return new Notification('E', undefined, err);\n }\n static createComplete() {\n return Notification.completeNotification;\n }\n}\nNotification.completeNotification = new Notification('C');\nNotification.undefinedValueNotification = new Notification('N', undefined);\n","import { canReportError } from './util/canReportError';\nimport { toSubscriber } from './util/toSubscriber';\nimport { observable as Symbol_observable } from './symbol/observable';\nimport { pipeFromArray } from './util/pipe';\nimport { config } from './config';\nexport class Observable {\n constructor(subscribe) {\n this._isScalar = false;\n if (subscribe) {\n this._subscribe = subscribe;\n }\n }\n lift(operator) {\n const observable = new Observable();\n observable.source = this;\n observable.operator = operator;\n return observable;\n }\n subscribe(observerOrNext, error, complete) {\n const { operator } = this;\n const sink = toSubscriber(observerOrNext, error, complete);\n if (operator) {\n sink.add(operator.call(sink, this.source));\n }\n else {\n sink.add(this.source || (config.useDeprecatedSynchronousErrorHandling && !sink.syncErrorThrowable) ?\n this._subscribe(sink) :\n this._trySubscribe(sink));\n }\n if (config.useDeprecatedSynchronousErrorHandling) {\n if (sink.syncErrorThrowable) {\n sink.syncErrorThrowable = false;\n if (sink.syncErrorThrown) {\n throw sink.syncErrorValue;\n }\n }\n }\n return sink;\n }\n _trySubscribe(sink) {\n try {\n return this._subscribe(sink);\n }\n catch (err) {\n if (config.useDeprecatedSynchronousErrorHandling) {\n sink.syncErrorThrown = true;\n sink.syncErrorValue = err;\n }\n if (canReportError(sink)) {\n sink.error(err);\n }\n else {\n console.warn(err);\n }\n }\n }\n forEach(next, promiseCtor) {\n promiseCtor = getPromiseCtor(promiseCtor);\n return new promiseCtor((resolve, reject) => {\n let subscription;\n subscription = this.subscribe((value) => {\n try {\n next(value);\n }\n catch (err) {\n reject(err);\n if (subscription) {\n subscription.unsubscribe();\n }\n }\n }, reject, resolve);\n });\n }\n _subscribe(subscriber) {\n const { source } = this;\n return source && source.subscribe(subscriber);\n }\n [Symbol_observable]() {\n return this;\n }\n pipe(...operations) {\n if (operations.length === 0) {\n return this;\n }\n return pipeFromArray(operations)(this);\n }\n toPromise(promiseCtor) {\n promiseCtor = getPromiseCtor(promiseCtor);\n return new promiseCtor((resolve, reject) => {\n let value;\n this.subscribe((x) => value = x, (err) => reject(err), () => resolve(value));\n });\n }\n}\nObservable.create = (subscribe) => {\n return new Observable(subscribe);\n};\nfunction getPromiseCtor(promiseCtor) {\n if (!promiseCtor) {\n promiseCtor = config.Promise || Promise;\n }\n if (!promiseCtor) {\n throw new Error('no Promise impl found');\n }\n return promiseCtor;\n}\n","import { config } from './config';\nimport { hostReportError } from './util/hostReportError';\nexport const empty = {\n closed: true,\n next(value) { },\n error(err) {\n if (config.useDeprecatedSynchronousErrorHandling) {\n throw err;\n }\n else {\n hostReportError(err);\n }\n },\n complete() { }\n};\n","import { Subscriber } from './Subscriber';\nexport class OuterSubscriber extends Subscriber {\n notifyNext(outerValue, innerValue, outerIndex, innerIndex, innerSub) {\n this.destination.next(innerValue);\n }\n notifyError(error, innerSub) {\n this.destination.error(error);\n }\n notifyComplete(innerSub) {\n this.destination.complete();\n }\n}\n","import { Subject } from './Subject';\nimport { queue } from './scheduler/queue';\nimport { Subscription } from './Subscription';\nimport { ObserveOnSubscriber } from './operators/observeOn';\nimport { ObjectUnsubscribedError } from './util/ObjectUnsubscribedError';\nimport { SubjectSubscription } from './SubjectSubscription';\nexport class ReplaySubject extends Subject {\n constructor(bufferSize = Number.POSITIVE_INFINITY, windowTime = Number.POSITIVE_INFINITY, scheduler) {\n super();\n this.scheduler = scheduler;\n this._events = [];\n this._infiniteTimeWindow = false;\n this._bufferSize = bufferSize < 1 ? 1 : bufferSize;\n this._windowTime = windowTime < 1 ? 1 : windowTime;\n if (windowTime === Number.POSITIVE_INFINITY) {\n this._infiniteTimeWindow = true;\n this.next = this.nextInfiniteTimeWindow;\n }\n else {\n this.next = this.nextTimeWindow;\n }\n }\n nextInfiniteTimeWindow(value) {\n if (!this.isStopped) {\n const _events = this._events;\n _events.push(value);\n if (_events.length > this._bufferSize) {\n _events.shift();\n }\n }\n super.next(value);\n }\n nextTimeWindow(value) {\n if (!this.isStopped) {\n this._events.push(new ReplayEvent(this._getNow(), value));\n this._trimBufferThenGetEvents();\n }\n super.next(value);\n }\n _subscribe(subscriber) {\n const _infiniteTimeWindow = this._infiniteTimeWindow;\n const _events = _infiniteTimeWindow ? this._events : this._trimBufferThenGetEvents();\n const scheduler = this.scheduler;\n const len = _events.length;\n let subscription;\n if (this.closed) {\n throw new ObjectUnsubscribedError();\n }\n else if (this.isStopped || this.hasError) {\n subscription = Subscription.EMPTY;\n }\n else {\n this.observers.push(subscriber);\n subscription = new SubjectSubscription(this, subscriber);\n }\n if (scheduler) {\n subscriber.add(subscriber = new ObserveOnSubscriber(subscriber, scheduler));\n }\n if (_infiniteTimeWindow) {\n for (let i = 0; i < len && !subscriber.closed; i++) {\n subscriber.next(_events[i]);\n }\n }\n else {\n for (let i = 0; i < len && !subscriber.closed; i++) {\n subscriber.next(_events[i].value);\n }\n }\n if (this.hasError) {\n subscriber.error(this.thrownError);\n }\n else if (this.isStopped) {\n subscriber.complete();\n }\n return subscription;\n }\n _getNow() {\n return (this.scheduler || queue).now();\n }\n _trimBufferThenGetEvents() {\n const now = this._getNow();\n const _bufferSize = this._bufferSize;\n const _windowTime = this._windowTime;\n const _events = this._events;\n const eventsCount = _events.length;\n let spliceCount = 0;\n while (spliceCount < eventsCount) {\n if ((now - _events[spliceCount].time) < _windowTime) {\n break;\n }\n spliceCount++;\n }\n if (eventsCount > _bufferSize) {\n spliceCount = Math.max(spliceCount, eventsCount - _bufferSize);\n }\n if (spliceCount > 0) {\n _events.splice(0, spliceCount);\n }\n return _events;\n }\n}\nclass ReplayEvent {\n constructor(time, value) {\n this.time = time;\n this.value = value;\n }\n}\n","export class Scheduler {\n constructor(SchedulerAction, now = Scheduler.now) {\n this.SchedulerAction = SchedulerAction;\n this.now = now;\n }\n schedule(work, delay = 0, state) {\n return new this.SchedulerAction(this, work).schedule(state, delay);\n }\n}\nScheduler.now = () => Date.now();\n","import { Observable } from './Observable';\nimport { Subscriber } from './Subscriber';\nimport { Subscription } from './Subscription';\nimport { ObjectUnsubscribedError } from './util/ObjectUnsubscribedError';\nimport { SubjectSubscription } from './SubjectSubscription';\nimport { rxSubscriber as rxSubscriberSymbol } from '../internal/symbol/rxSubscriber';\nexport class SubjectSubscriber extends Subscriber {\n constructor(destination) {\n super(destination);\n this.destination = destination;\n }\n}\nexport class Subject extends Observable {\n constructor() {\n super();\n this.observers = [];\n this.closed = false;\n this.isStopped = false;\n this.hasError = false;\n this.thrownError = null;\n }\n [rxSubscriberSymbol]() {\n return new SubjectSubscriber(this);\n }\n lift(operator) {\n const subject = new AnonymousSubject(this, this);\n subject.operator = operator;\n return subject;\n }\n next(value) {\n if (this.closed) {\n throw new ObjectUnsubscribedError();\n }\n if (!this.isStopped) {\n const { observers } = this;\n const len = observers.length;\n const copy = observers.slice();\n for (let i = 0; i < len; i++) {\n copy[i].next(value);\n }\n }\n }\n error(err) {\n if (this.closed) {\n throw new ObjectUnsubscribedError();\n }\n this.hasError = true;\n this.thrownError = err;\n this.isStopped = true;\n const { observers } = this;\n const len = observers.length;\n const copy = observers.slice();\n for (let i = 0; i < len; i++) {\n copy[i].error(err);\n }\n this.observers.length = 0;\n }\n complete() {\n if (this.closed) {\n throw new ObjectUnsubscribedError();\n }\n this.isStopped = true;\n const { observers } = this;\n const len = observers.length;\n const copy = observers.slice();\n for (let i = 0; i < len; i++) {\n copy[i].complete();\n }\n this.observers.length = 0;\n }\n unsubscribe() {\n this.isStopped = true;\n this.closed = true;\n this.observers = null;\n }\n _trySubscribe(subscriber) {\n if (this.closed) {\n throw new ObjectUnsubscribedError();\n }\n else {\n return super._trySubscribe(subscriber);\n }\n }\n _subscribe(subscriber) {\n if (this.closed) {\n throw new ObjectUnsubscribedError();\n }\n else if (this.hasError) {\n subscriber.error(this.thrownError);\n return Subscription.EMPTY;\n }\n else if (this.isStopped) {\n subscriber.complete();\n return Subscription.EMPTY;\n }\n else {\n this.observers.push(subscriber);\n return new SubjectSubscription(this, subscriber);\n }\n }\n asObservable() {\n const observable = new Observable();\n observable.source = this;\n return observable;\n }\n}\nSubject.create = (destination, source) => {\n return new AnonymousSubject(destination, source);\n};\nexport class AnonymousSubject extends Subject {\n constructor(destination, source) {\n super();\n this.destination = destination;\n this.source = source;\n }\n next(value) {\n const { destination } = this;\n if (destination && destination.next) {\n destination.next(value);\n }\n }\n error(err) {\n const { destination } = this;\n if (destination && destination.error) {\n this.destination.error(err);\n }\n }\n complete() {\n const { destination } = this;\n if (destination && destination.complete) {\n this.destination.complete();\n }\n }\n _subscribe(subscriber) {\n const { source } = this;\n if (source) {\n return this.source.subscribe(subscriber);\n }\n else {\n return Subscription.EMPTY;\n }\n }\n}\n","import { Subscription } from './Subscription';\nexport class SubjectSubscription extends Subscription {\n constructor(subject, subscriber) {\n super();\n this.subject = subject;\n this.subscriber = subscriber;\n this.closed = false;\n }\n unsubscribe() {\n if (this.closed) {\n return;\n }\n this.closed = true;\n const subject = this.subject;\n const observers = subject.observers;\n this.subject = null;\n if (!observers || observers.length === 0 || subject.isStopped || subject.closed) {\n return;\n }\n const subscriberIndex = observers.indexOf(this.subscriber);\n if (subscriberIndex !== -1) {\n observers.splice(subscriberIndex, 1);\n }\n }\n}\n","import { isFunction } from './util/isFunction';\nimport { empty as emptyObserver } from './Observer';\nimport { Subscription } from './Subscription';\nimport { rxSubscriber as rxSubscriberSymbol } from '../internal/symbol/rxSubscriber';\nimport { config } from './config';\nimport { hostReportError } from './util/hostReportError';\nexport class Subscriber extends Subscription {\n constructor(destinationOrNext, error, complete) {\n super();\n this.syncErrorValue = null;\n this.syncErrorThrown = false;\n this.syncErrorThrowable = false;\n this.isStopped = false;\n switch (arguments.length) {\n case 0:\n this.destination = emptyObserver;\n break;\n case 1:\n if (!destinationOrNext) {\n this.destination = emptyObserver;\n break;\n }\n if (typeof destinationOrNext === 'object') {\n if (destinationOrNext instanceof Subscriber) {\n this.syncErrorThrowable = destinationOrNext.syncErrorThrowable;\n this.destination = destinationOrNext;\n destinationOrNext.add(this);\n }\n else {\n this.syncErrorThrowable = true;\n this.destination = new SafeSubscriber(this, destinationOrNext);\n }\n break;\n }\n default:\n this.syncErrorThrowable = true;\n this.destination = new SafeSubscriber(this, destinationOrNext, error, complete);\n break;\n }\n }\n [rxSubscriberSymbol]() { return this; }\n static create(next, error, complete) {\n const subscriber = new Subscriber(next, error, complete);\n subscriber.syncErrorThrowable = false;\n return subscriber;\n }\n next(value) {\n if (!this.isStopped) {\n this._next(value);\n }\n }\n error(err) {\n if (!this.isStopped) {\n this.isStopped = true;\n this._error(err);\n }\n }\n complete() {\n if (!this.isStopped) {\n this.isStopped = true;\n this._complete();\n }\n }\n unsubscribe() {\n if (this.closed) {\n return;\n }\n this.isStopped = true;\n super.unsubscribe();\n }\n _next(value) {\n this.destination.next(value);\n }\n _error(err) {\n this.destination.error(err);\n this.unsubscribe();\n }\n _complete() {\n this.destination.complete();\n this.unsubscribe();\n }\n _unsubscribeAndRecycle() {\n const { _parentOrParents } = this;\n this._parentOrParents = null;\n this.unsubscribe();\n this.closed = false;\n this.isStopped = false;\n this._parentOrParents = _parentOrParents;\n return this;\n }\n}\nexport class SafeSubscriber extends Subscriber {\n constructor(_parentSubscriber, observerOrNext, error, complete) {\n super();\n this._parentSubscriber = _parentSubscriber;\n let next;\n let context = this;\n if (isFunction(observerOrNext)) {\n next = observerOrNext;\n }\n else if (observerOrNext) {\n next = observerOrNext.next;\n error = observerOrNext.error;\n complete = observerOrNext.complete;\n if (observerOrNext !== emptyObserver) {\n context = Object.create(observerOrNext);\n if (isFunction(context.unsubscribe)) {\n this.add(context.unsubscribe.bind(context));\n }\n context.unsubscribe = this.unsubscribe.bind(this);\n }\n }\n this._context = context;\n this._next = next;\n this._error = error;\n this._complete = complete;\n }\n next(value) {\n if (!this.isStopped && this._next) {\n const { _parentSubscriber } = this;\n if (!config.useDeprecatedSynchronousErrorHandling || !_parentSubscriber.syncErrorThrowable) {\n this.__tryOrUnsub(this._next, value);\n }\n else if (this.__tryOrSetError(_parentSubscriber, this._next, value)) {\n this.unsubscribe();\n }\n }\n }\n error(err) {\n if (!this.isStopped) {\n const { _parentSubscriber } = this;\n const { useDeprecatedSynchronousErrorHandling } = config;\n if (this._error) {\n if (!useDeprecatedSynchronousErrorHandling || !_parentSubscriber.syncErrorThrowable) {\n this.__tryOrUnsub(this._error, err);\n this.unsubscribe();\n }\n else {\n this.__tryOrSetError(_parentSubscriber, this._error, err);\n this.unsubscribe();\n }\n }\n else if (!_parentSubscriber.syncErrorThrowable) {\n this.unsubscribe();\n if (useDeprecatedSynchronousErrorHandling) {\n throw err;\n }\n hostReportError(err);\n }\n else {\n if (useDeprecatedSynchronousErrorHandling) {\n _parentSubscriber.syncErrorValue = err;\n _parentSubscriber.syncErrorThrown = true;\n }\n else {\n hostReportError(err);\n }\n this.unsubscribe();\n }\n }\n }\n complete() {\n if (!this.isStopped) {\n const { _parentSubscriber } = this;\n if (this._complete) {\n const wrappedComplete = () => this._complete.call(this._context);\n if (!config.useDeprecatedSynchronousErrorHandling || !_parentSubscriber.syncErrorThrowable) {\n this.__tryOrUnsub(wrappedComplete);\n this.unsubscribe();\n }\n else {\n this.__tryOrSetError(_parentSubscriber, wrappedComplete);\n this.unsubscribe();\n }\n }\n else {\n this.unsubscribe();\n }\n }\n }\n __tryOrUnsub(fn, value) {\n try {\n fn.call(this._context, value);\n }\n catch (err) {\n this.unsubscribe();\n if (config.useDeprecatedSynchronousErrorHandling) {\n throw err;\n }\n else {\n hostReportError(err);\n }\n }\n }\n __tryOrSetError(parent, fn, value) {\n if (!config.useDeprecatedSynchronousErrorHandling) {\n throw new Error('bad call');\n }\n try {\n fn.call(this._context, value);\n }\n catch (err) {\n if (config.useDeprecatedSynchronousErrorHandling) {\n parent.syncErrorValue = err;\n parent.syncErrorThrown = true;\n return true;\n }\n else {\n hostReportError(err);\n return true;\n }\n }\n return false;\n }\n _unsubscribe() {\n const { _parentSubscriber } = this;\n this._context = null;\n this._parentSubscriber = null;\n _parentSubscriber.unsubscribe();\n }\n}\n","import { isArray } from './util/isArray';\nimport { isObject } from './util/isObject';\nimport { isFunction } from './util/isFunction';\nimport { UnsubscriptionError } from './util/UnsubscriptionError';\nexport class Subscription {\n constructor(unsubscribe) {\n this.closed = false;\n this._parentOrParents = null;\n this._subscriptions = null;\n if (unsubscribe) {\n this._ctorUnsubscribe = true;\n this._unsubscribe = unsubscribe;\n }\n }\n unsubscribe() {\n let errors;\n if (this.closed) {\n return;\n }\n let { _parentOrParents, _ctorUnsubscribe, _unsubscribe, _subscriptions } = this;\n this.closed = true;\n this._parentOrParents = null;\n this._subscriptions = null;\n if (_parentOrParents instanceof Subscription) {\n _parentOrParents.remove(this);\n }\n else if (_parentOrParents !== null) {\n for (let index = 0; index < _parentOrParents.length; ++index) {\n const parent = _parentOrParents[index];\n parent.remove(this);\n }\n }\n if (isFunction(_unsubscribe)) {\n if (_ctorUnsubscribe) {\n this._unsubscribe = undefined;\n }\n try {\n _unsubscribe.call(this);\n }\n catch (e) {\n errors = e instanceof UnsubscriptionError ? flattenUnsubscriptionErrors(e.errors) : [e];\n }\n }\n if (isArray(_subscriptions)) {\n let index = -1;\n let len = _subscriptions.length;\n while (++index < len) {\n const sub = _subscriptions[index];\n if (isObject(sub)) {\n try {\n sub.unsubscribe();\n }\n catch (e) {\n errors = errors || [];\n if (e instanceof UnsubscriptionError) {\n errors = errors.concat(flattenUnsubscriptionErrors(e.errors));\n }\n else {\n errors.push(e);\n }\n }\n }\n }\n }\n if (errors) {\n throw new UnsubscriptionError(errors);\n }\n }\n add(teardown) {\n let subscription = teardown;\n if (!teardown) {\n return Subscription.EMPTY;\n }\n switch (typeof teardown) {\n case 'function':\n subscription = new Subscription(teardown);\n case 'object':\n if (subscription === this || subscription.closed || typeof subscription.unsubscribe !== 'function') {\n return subscription;\n }\n else if (this.closed) {\n subscription.unsubscribe();\n return subscription;\n }\n else if (!(subscription instanceof Subscription)) {\n const tmp = subscription;\n subscription = new Subscription();\n subscription._subscriptions = [tmp];\n }\n break;\n default: {\n throw new Error('unrecognized teardown ' + teardown + ' added to Subscription.');\n }\n }\n let { _parentOrParents } = subscription;\n if (_parentOrParents === null) {\n subscription._parentOrParents = this;\n }\n else if (_parentOrParents instanceof Subscription) {\n if (_parentOrParents === this) {\n return subscription;\n }\n subscription._parentOrParents = [_parentOrParents, this];\n }\n else if (_parentOrParents.indexOf(this) === -1) {\n _parentOrParents.push(this);\n }\n else {\n return subscription;\n }\n const subscriptions = this._subscriptions;\n if (subscriptions === null) {\n this._subscriptions = [subscription];\n }\n else {\n subscriptions.push(subscription);\n }\n return subscription;\n }\n remove(subscription) {\n const subscriptions = this._subscriptions;\n if (subscriptions) {\n const subscriptionIndex = subscriptions.indexOf(subscription);\n if (subscriptionIndex !== -1) {\n subscriptions.splice(subscriptionIndex, 1);\n }\n }\n }\n}\nSubscription.EMPTY = (function (empty) {\n empty.closed = true;\n return empty;\n}(new Subscription()));\nfunction flattenUnsubscriptionErrors(errors) {\n return errors.reduce((errs, err) => errs.concat((err instanceof UnsubscriptionError) ? err.errors : err), []);\n}\n","let _enable_super_gross_mode_that_will_cause_bad_things = false;\nexport const config = {\n Promise: undefined,\n set useDeprecatedSynchronousErrorHandling(value) {\n if (value) {\n const error = new Error();\n console.warn('DEPRECATED! RxJS was set to use deprecated synchronous error handling behavior by code at: \\n' + error.stack);\n }\n else if (_enable_super_gross_mode_that_will_cause_bad_things) {\n console.log('RxJS: Back to a better error behavior. Thank you. <3');\n }\n _enable_super_gross_mode_that_will_cause_bad_things = value;\n },\n get useDeprecatedSynchronousErrorHandling() {\n return _enable_super_gross_mode_that_will_cause_bad_things;\n },\n};\n","import { Subscriber } from './Subscriber';\nimport { Observable } from './Observable';\nimport { subscribeTo } from './util/subscribeTo';\nexport class SimpleInnerSubscriber extends Subscriber {\n constructor(parent) {\n super();\n this.parent = parent;\n }\n _next(value) {\n this.parent.notifyNext(value);\n }\n _error(error) {\n this.parent.notifyError(error);\n this.unsubscribe();\n }\n _complete() {\n this.parent.notifyComplete();\n this.unsubscribe();\n }\n}\nexport class ComplexInnerSubscriber extends Subscriber {\n constructor(parent, outerValue, outerIndex) {\n super();\n this.parent = parent;\n this.outerValue = outerValue;\n this.outerIndex = outerIndex;\n }\n _next(value) {\n this.parent.notifyNext(this.outerValue, value, this.outerIndex, this);\n }\n _error(error) {\n this.parent.notifyError(error);\n this.unsubscribe();\n }\n _complete() {\n this.parent.notifyComplete(this);\n this.unsubscribe();\n }\n}\nexport class SimpleOuterSubscriber extends Subscriber {\n notifyNext(innerValue) {\n this.destination.next(innerValue);\n }\n notifyError(err) {\n this.destination.error(err);\n }\n notifyComplete() {\n this.destination.complete();\n }\n}\nexport class ComplexOuterSubscriber extends Subscriber {\n notifyNext(_outerValue, innerValue, _outerIndex, _innerSub) {\n this.destination.next(innerValue);\n }\n notifyError(error) {\n this.destination.error(error);\n }\n notifyComplete(_innerSub) {\n this.destination.complete();\n }\n}\nexport function innerSubscribe(result, innerSubscriber) {\n if (innerSubscriber.closed) {\n return undefined;\n }\n if (result instanceof Observable) {\n return result.subscribe(innerSubscriber);\n }\n let subscription;\n try {\n subscription = subscribeTo(result)(innerSubscriber);\n }\n catch (error) {\n innerSubscriber.error(error);\n }\n return subscription;\n}\n","import { SubjectSubscriber } from '../Subject';\nimport { Observable } from '../Observable';\nimport { Subscriber } from '../Subscriber';\nimport { Subscription } from '../Subscription';\nimport { refCount as higherOrderRefCount } from '../operators/refCount';\nexport class ConnectableObservable extends Observable {\n constructor(source, subjectFactory) {\n super();\n this.source = source;\n this.subjectFactory = subjectFactory;\n this._refCount = 0;\n this._isComplete = false;\n }\n _subscribe(subscriber) {\n return this.getSubject().subscribe(subscriber);\n }\n getSubject() {\n const subject = this._subject;\n if (!subject || subject.isStopped) {\n this._subject = this.subjectFactory();\n }\n return this._subject;\n }\n connect() {\n let connection = this._connection;\n if (!connection) {\n this._isComplete = false;\n connection = this._connection = new Subscription();\n connection.add(this.source\n .subscribe(new ConnectableSubscriber(this.getSubject(), this)));\n if (connection.closed) {\n this._connection = null;\n connection = Subscription.EMPTY;\n }\n }\n return connection;\n }\n refCount() {\n return higherOrderRefCount()(this);\n }\n}\nexport const connectableObservableDescriptor = (() => {\n const connectableProto = ConnectableObservable.prototype;\n return {\n operator: { value: null },\n _refCount: { value: 0, writable: true },\n _subject: { value: null, writable: true },\n _connection: { value: null, writable: true },\n _subscribe: { value: connectableProto._subscribe },\n _isComplete: { value: connectableProto._isComplete, writable: true },\n getSubject: { value: connectableProto.getSubject },\n connect: { value: connectableProto.connect },\n refCount: { value: connectableProto.refCount }\n };\n})();\nclass ConnectableSubscriber extends SubjectSubscriber {\n constructor(destination, connectable) {\n super(destination);\n this.connectable = connectable;\n }\n _error(err) {\n this._unsubscribe();\n super._error(err);\n }\n _complete() {\n this.connectable._isComplete = true;\n this._unsubscribe();\n super._complete();\n }\n _unsubscribe() {\n const connectable = this.connectable;\n if (connectable) {\n this.connectable = null;\n const connection = connectable._connection;\n connectable._refCount = 0;\n connectable._subject = null;\n connectable._connection = null;\n if (connection) {\n connection.unsubscribe();\n }\n }\n }\n}\nclass RefCountOperator {\n constructor(connectable) {\n this.connectable = connectable;\n }\n call(subscriber, source) {\n const { connectable } = this;\n connectable._refCount++;\n const refCounter = new RefCountSubscriber(subscriber, connectable);\n const subscription = source.subscribe(refCounter);\n if (!refCounter.closed) {\n refCounter.connection = connectable.connect();\n }\n return subscription;\n }\n}\nclass RefCountSubscriber extends Subscriber {\n constructor(destination, connectable) {\n super(destination);\n this.connectable = connectable;\n }\n _unsubscribe() {\n const { connectable } = this;\n if (!connectable) {\n this.connection = null;\n return;\n }\n this.connectable = null;\n const refCount = connectable._refCount;\n if (refCount <= 0) {\n this.connection = null;\n return;\n }\n connectable._refCount = refCount - 1;\n if (refCount > 1) {\n this.connection = null;\n return;\n }\n const { connection } = this;\n const sharedConnection = connectable._connection;\n this.connection = null;\n if (sharedConnection && (!connection || sharedConnection === connection)) {\n sharedConnection.unsubscribe();\n }\n }\n}\n","import { isScheduler } from '../util/isScheduler';\nimport { isArray } from '../util/isArray';\nimport { OuterSubscriber } from '../OuterSubscriber';\nimport { subscribeToResult } from '../util/subscribeToResult';\nimport { fromArray } from './fromArray';\nconst NONE = {};\nexport function combineLatest(...observables) {\n let resultSelector = undefined;\n let scheduler = undefined;\n if (isScheduler(observables[observables.length - 1])) {\n scheduler = observables.pop();\n }\n if (typeof observables[observables.length - 1] === 'function') {\n resultSelector = observables.pop();\n }\n if (observables.length === 1 && isArray(observables[0])) {\n observables = observables[0];\n }\n return fromArray(observables, scheduler).lift(new CombineLatestOperator(resultSelector));\n}\nexport class CombineLatestOperator {\n constructor(resultSelector) {\n this.resultSelector = resultSelector;\n }\n call(subscriber, source) {\n return source.subscribe(new CombineLatestSubscriber(subscriber, this.resultSelector));\n }\n}\nexport class CombineLatestSubscriber extends OuterSubscriber {\n constructor(destination, resultSelector) {\n super(destination);\n this.resultSelector = resultSelector;\n this.active = 0;\n this.values = [];\n this.observables = [];\n }\n _next(observable) {\n this.values.push(NONE);\n this.observables.push(observable);\n }\n _complete() {\n const observables = this.observables;\n const len = observables.length;\n if (len === 0) {\n this.destination.complete();\n }\n else {\n this.active = len;\n this.toRespond = len;\n for (let i = 0; i < len; i++) {\n const observable = observables[i];\n this.add(subscribeToResult(this, observable, undefined, i));\n }\n }\n }\n notifyComplete(unused) {\n if ((this.active -= 1) === 0) {\n this.destination.complete();\n }\n }\n notifyNext(_outerValue, innerValue, outerIndex) {\n const values = this.values;\n const oldVal = values[outerIndex];\n const toRespond = !this.toRespond\n ? 0\n : oldVal === NONE ? --this.toRespond : this.toRespond;\n values[outerIndex] = innerValue;\n if (toRespond === 0) {\n if (this.resultSelector) {\n this._tryResultSelector(values);\n }\n else {\n this.destination.next(values.slice());\n }\n }\n }\n _tryResultSelector(values) {\n let result;\n try {\n result = this.resultSelector.apply(this, values);\n }\n catch (err) {\n this.destination.error(err);\n return;\n }\n this.destination.next(result);\n }\n}\n","import { of } from './of';\nimport { concatAll } from '../operators/concatAll';\nexport function concat(...observables) {\n return concatAll()(of(...observables));\n}\n","import { Observable } from '../Observable';\nimport { from } from './from';\nimport { empty } from './empty';\nexport function defer(observableFactory) {\n return new Observable(subscriber => {\n let input;\n try {\n input = observableFactory();\n }\n catch (err) {\n subscriber.error(err);\n return undefined;\n }\n const source = input ? from(input) : empty();\n return source.subscribe(subscriber);\n });\n}\n","import { Observable } from '../Observable';\nexport const EMPTY = new Observable(subscriber => subscriber.complete());\nexport function empty(scheduler) {\n return scheduler ? emptyScheduled(scheduler) : EMPTY;\n}\nfunction emptyScheduled(scheduler) {\n return new Observable(subscriber => scheduler.schedule(() => subscriber.complete()));\n}\n","import { Observable } from '../Observable';\nimport { isArray } from '../util/isArray';\nimport { map } from '../operators/map';\nimport { isObject } from '../util/isObject';\nimport { from } from './from';\nexport function forkJoin(...sources) {\n if (sources.length === 1) {\n const first = sources[0];\n if (isArray(first)) {\n return forkJoinInternal(first, null);\n }\n if (isObject(first) && Object.getPrototypeOf(first) === Object.prototype) {\n const keys = Object.keys(first);\n return forkJoinInternal(keys.map(key => first[key]), keys);\n }\n }\n if (typeof sources[sources.length - 1] === 'function') {\n const resultSelector = sources.pop();\n sources = (sources.length === 1 && isArray(sources[0])) ? sources[0] : sources;\n return forkJoinInternal(sources, null).pipe(map((args) => resultSelector(...args)));\n }\n return forkJoinInternal(sources, null);\n}\nfunction forkJoinInternal(sources, keys) {\n return new Observable(subscriber => {\n const len = sources.length;\n if (len === 0) {\n subscriber.complete();\n return;\n }\n const values = new Array(len);\n let completed = 0;\n let emitted = 0;\n for (let i = 0; i < len; i++) {\n const source = from(sources[i]);\n let hasValue = false;\n subscriber.add(source.subscribe({\n next: value => {\n if (!hasValue) {\n hasValue = true;\n emitted++;\n }\n values[i] = value;\n },\n error: err => subscriber.error(err),\n complete: () => {\n completed++;\n if (completed === len || !hasValue) {\n if (emitted === len) {\n subscriber.next(keys ?\n keys.reduce((result, key, i) => (result[key] = values[i], result), {}) :\n values);\n }\n subscriber.complete();\n }\n }\n }));\n }\n });\n}\n","import { Observable } from '../Observable';\nimport { subscribeTo } from '../util/subscribeTo';\nimport { scheduled } from '../scheduled/scheduled';\nexport function from(input, scheduler) {\n if (!scheduler) {\n if (input instanceof Observable) {\n return input;\n }\n return new Observable(subscribeTo(input));\n }\n else {\n return scheduled(input, scheduler);\n }\n}\n","import { Observable } from '../Observable';\nimport { subscribeToArray } from '../util/subscribeToArray';\nimport { scheduleArray } from '../scheduled/scheduleArray';\nexport function fromArray(input, scheduler) {\n if (!scheduler) {\n return new Observable(subscribeToArray(input));\n }\n else {\n return scheduleArray(input, scheduler);\n }\n}\n","import { Observable } from '../Observable';\nimport { isArray } from '../util/isArray';\nimport { isFunction } from '../util/isFunction';\nimport { map } from '../operators/map';\nconst toString = (() => Object.prototype.toString)();\nexport function fromEvent(target, eventName, options, resultSelector) {\n if (isFunction(options)) {\n resultSelector = options;\n options = undefined;\n }\n if (resultSelector) {\n return fromEvent(target, eventName, options).pipe(map(args => isArray(args) ? resultSelector(...args) : resultSelector(args)));\n }\n return new Observable(subscriber => {\n function handler(e) {\n if (arguments.length > 1) {\n subscriber.next(Array.prototype.slice.call(arguments));\n }\n else {\n subscriber.next(e);\n }\n }\n setupSubscription(target, eventName, handler, subscriber, options);\n });\n}\nfunction setupSubscription(sourceObj, eventName, handler, subscriber, options) {\n let unsubscribe;\n if (isEventTarget(sourceObj)) {\n const source = sourceObj;\n sourceObj.addEventListener(eventName, handler, options);\n unsubscribe = () => source.removeEventListener(eventName, handler, options);\n }\n else if (isJQueryStyleEventEmitter(sourceObj)) {\n const source = sourceObj;\n sourceObj.on(eventName, handler);\n unsubscribe = () => source.off(eventName, handler);\n }\n else if (isNodeStyleEventEmitter(sourceObj)) {\n const source = sourceObj;\n sourceObj.addListener(eventName, handler);\n unsubscribe = () => source.removeListener(eventName, handler);\n }\n else if (sourceObj && sourceObj.length) {\n for (let i = 0, len = sourceObj.length; i < len; i++) {\n setupSubscription(sourceObj[i], eventName, handler, subscriber, options);\n }\n }\n else {\n throw new TypeError('Invalid event target');\n }\n subscriber.add(unsubscribe);\n}\nfunction isNodeStyleEventEmitter(sourceObj) {\n return sourceObj && typeof sourceObj.addListener === 'function' && typeof sourceObj.removeListener === 'function';\n}\nfunction isJQueryStyleEventEmitter(sourceObj) {\n return sourceObj && typeof sourceObj.on === 'function' && typeof sourceObj.off === 'function';\n}\nfunction isEventTarget(sourceObj) {\n return sourceObj && typeof sourceObj.addEventListener === 'function' && typeof sourceObj.removeEventListener === 'function';\n}\n","import { Observable } from '../Observable';\nimport { isScheduler } from '../util/isScheduler';\nimport { mergeAll } from '../operators/mergeAll';\nimport { fromArray } from './fromArray';\nexport function merge(...observables) {\n let concurrent = Number.POSITIVE_INFINITY;\n let scheduler = null;\n let last = observables[observables.length - 1];\n if (isScheduler(last)) {\n scheduler = observables.pop();\n if (observables.length > 1 && typeof observables[observables.length - 1] === 'number') {\n concurrent = observables.pop();\n }\n }\n else if (typeof last === 'number') {\n concurrent = observables.pop();\n }\n if (scheduler === null && observables.length === 1 && observables[0] instanceof Observable) {\n return observables[0];\n }\n return mergeAll(concurrent)(fromArray(observables, scheduler));\n}\n","import { isScheduler } from '../util/isScheduler';\nimport { fromArray } from './fromArray';\nimport { scheduleArray } from '../scheduled/scheduleArray';\nexport function of(...args) {\n let scheduler = args[args.length - 1];\n if (isScheduler(scheduler)) {\n args.pop();\n return scheduleArray(args, scheduler);\n }\n else {\n return fromArray(args);\n }\n}\n","import { Observable } from '../Observable';\nexport function throwError(error, scheduler) {\n if (!scheduler) {\n return new Observable(subscriber => subscriber.error(error));\n }\n else {\n return new Observable(subscriber => scheduler.schedule(dispatch, 0, { error, subscriber }));\n }\n}\nfunction dispatch({ error, subscriber }) {\n subscriber.error(error);\n}\n","import { Observable } from '../Observable';\nimport { async } from '../scheduler/async';\nimport { isNumeric } from '../util/isNumeric';\nimport { isScheduler } from '../util/isScheduler';\nexport function timer(dueTime = 0, periodOrScheduler, scheduler) {\n let period = -1;\n if (isNumeric(periodOrScheduler)) {\n period = Number(periodOrScheduler) < 1 && 1 || Number(periodOrScheduler);\n }\n else if (isScheduler(periodOrScheduler)) {\n scheduler = periodOrScheduler;\n }\n if (!isScheduler(scheduler)) {\n scheduler = async;\n }\n return new Observable(subscriber => {\n const due = isNumeric(dueTime)\n ? dueTime\n : (+dueTime - scheduler.now());\n return scheduler.schedule(dispatch, due, {\n index: 0, period, subscriber\n });\n });\n}\nfunction dispatch(state) {\n const { index, period, subscriber } = state;\n subscriber.next(index);\n if (subscriber.closed) {\n return;\n }\n else if (period === -1) {\n return subscriber.complete();\n }\n state.index = index + 1;\n this.schedule(state, period);\n}\n","import { SimpleOuterSubscriber, innerSubscribe, SimpleInnerSubscriber } from '../innerSubscribe';\nexport function audit(durationSelector) {\n return function auditOperatorFunction(source) {\n return source.lift(new AuditOperator(durationSelector));\n };\n}\nclass AuditOperator {\n constructor(durationSelector) {\n this.durationSelector = durationSelector;\n }\n call(subscriber, source) {\n return source.subscribe(new AuditSubscriber(subscriber, this.durationSelector));\n }\n}\nclass AuditSubscriber extends SimpleOuterSubscriber {\n constructor(destination, durationSelector) {\n super(destination);\n this.durationSelector = durationSelector;\n this.hasValue = false;\n }\n _next(value) {\n this.value = value;\n this.hasValue = true;\n if (!this.throttled) {\n let duration;\n try {\n const { durationSelector } = this;\n duration = durationSelector(value);\n }\n catch (err) {\n return this.destination.error(err);\n }\n const innerSubscription = innerSubscribe(duration, new SimpleInnerSubscriber(this));\n if (!innerSubscription || innerSubscription.closed) {\n this.clearThrottle();\n }\n else {\n this.add(this.throttled = innerSubscription);\n }\n }\n }\n clearThrottle() {\n const { value, hasValue, throttled } = this;\n if (throttled) {\n this.remove(throttled);\n this.throttled = undefined;\n throttled.unsubscribe();\n }\n if (hasValue) {\n this.value = undefined;\n this.hasValue = false;\n this.destination.next(value);\n }\n }\n notifyNext() {\n this.clearThrottle();\n }\n notifyComplete() {\n this.clearThrottle();\n }\n}\n","import { async } from '../scheduler/async';\nimport { audit } from './audit';\nimport { timer } from '../observable/timer';\nexport function auditTime(duration, scheduler = async) {\n return audit(() => timer(duration, scheduler));\n}\n","import { SimpleOuterSubscriber, SimpleInnerSubscriber, innerSubscribe } from '../innerSubscribe';\nexport function catchError(selector) {\n return function catchErrorOperatorFunction(source) {\n const operator = new CatchOperator(selector);\n const caught = source.lift(operator);\n return (operator.caught = caught);\n };\n}\nclass CatchOperator {\n constructor(selector) {\n this.selector = selector;\n }\n call(subscriber, source) {\n return source.subscribe(new CatchSubscriber(subscriber, this.selector, this.caught));\n }\n}\nclass CatchSubscriber extends SimpleOuterSubscriber {\n constructor(destination, selector, caught) {\n super(destination);\n this.selector = selector;\n this.caught = caught;\n }\n error(err) {\n if (!this.isStopped) {\n let result;\n try {\n result = this.selector(err, this.caught);\n }\n catch (err2) {\n super.error(err2);\n return;\n }\n this._unsubscribeAndRecycle();\n const innerSubscriber = new SimpleInnerSubscriber(this);\n this.add(innerSubscriber);\n const innerSubscription = innerSubscribe(result, innerSubscriber);\n if (innerSubscription !== innerSubscriber) {\n this.add(innerSubscription);\n }\n }\n }\n}\n","import { mergeAll } from './mergeAll';\nexport function concatAll() {\n return mergeAll(1);\n}\n","import { mergeMap } from './mergeMap';\nexport function concatMap(project, resultSelector) {\n return mergeMap(project, resultSelector, 1);\n}\n","import { Subscriber } from '../Subscriber';\nimport { async } from '../scheduler/async';\nexport function debounceTime(dueTime, scheduler = async) {\n return (source) => source.lift(new DebounceTimeOperator(dueTime, scheduler));\n}\nclass DebounceTimeOperator {\n constructor(dueTime, scheduler) {\n this.dueTime = dueTime;\n this.scheduler = scheduler;\n }\n call(subscriber, source) {\n return source.subscribe(new DebounceTimeSubscriber(subscriber, this.dueTime, this.scheduler));\n }\n}\nclass DebounceTimeSubscriber extends Subscriber {\n constructor(destination, dueTime, scheduler) {\n super(destination);\n this.dueTime = dueTime;\n this.scheduler = scheduler;\n this.debouncedSubscription = null;\n this.lastValue = null;\n this.hasValue = false;\n }\n _next(value) {\n this.clearDebounce();\n this.lastValue = value;\n this.hasValue = true;\n this.add(this.debouncedSubscription = this.scheduler.schedule(dispatchNext, this.dueTime, this));\n }\n _complete() {\n this.debouncedNext();\n this.destination.complete();\n }\n debouncedNext() {\n this.clearDebounce();\n if (this.hasValue) {\n const { lastValue } = this;\n this.lastValue = null;\n this.hasValue = false;\n this.destination.next(lastValue);\n }\n }\n clearDebounce() {\n const debouncedSubscription = this.debouncedSubscription;\n if (debouncedSubscription !== null) {\n this.remove(debouncedSubscription);\n debouncedSubscription.unsubscribe();\n this.debouncedSubscription = null;\n }\n }\n}\nfunction dispatchNext(subscriber) {\n subscriber.debouncedNext();\n}\n","import { Subscriber } from '../Subscriber';\nexport function defaultIfEmpty(defaultValue = null) {\n return (source) => source.lift(new DefaultIfEmptyOperator(defaultValue));\n}\nclass DefaultIfEmptyOperator {\n constructor(defaultValue) {\n this.defaultValue = defaultValue;\n }\n call(subscriber, source) {\n return source.subscribe(new DefaultIfEmptySubscriber(subscriber, this.defaultValue));\n }\n}\nclass DefaultIfEmptySubscriber extends Subscriber {\n constructor(destination, defaultValue) {\n super(destination);\n this.defaultValue = defaultValue;\n this.isEmpty = true;\n }\n _next(value) {\n this.isEmpty = false;\n this.destination.next(value);\n }\n _complete() {\n if (this.isEmpty) {\n this.destination.next(this.defaultValue);\n }\n this.destination.complete();\n }\n}\n","import { Subscriber } from '../Subscriber';\nexport function distinctUntilChanged(compare, keySelector) {\n return (source) => source.lift(new DistinctUntilChangedOperator(compare, keySelector));\n}\nclass DistinctUntilChangedOperator {\n constructor(compare, keySelector) {\n this.compare = compare;\n this.keySelector = keySelector;\n }\n call(subscriber, source) {\n return source.subscribe(new DistinctUntilChangedSubscriber(subscriber, this.compare, this.keySelector));\n }\n}\nclass DistinctUntilChangedSubscriber extends Subscriber {\n constructor(destination, compare, keySelector) {\n super(destination);\n this.keySelector = keySelector;\n this.hasKey = false;\n if (typeof compare === 'function') {\n this.compare = compare;\n }\n }\n compare(x, y) {\n return x === y;\n }\n _next(value) {\n let key;\n try {\n const { keySelector } = this;\n key = keySelector ? keySelector(value) : value;\n }\n catch (err) {\n return this.destination.error(err);\n }\n let result = false;\n if (this.hasKey) {\n try {\n const { compare } = this;\n result = compare(this.key, key);\n }\n catch (err) {\n return this.destination.error(err);\n }\n }\n else {\n this.hasKey = true;\n }\n if (!result) {\n this.key = key;\n this.destination.next(value);\n }\n }\n}\n","import { Subscriber } from '../Subscriber';\nexport function filter(predicate, thisArg) {\n return function filterOperatorFunction(source) {\n return source.lift(new FilterOperator(predicate, thisArg));\n };\n}\nclass FilterOperator {\n constructor(predicate, thisArg) {\n this.predicate = predicate;\n this.thisArg = thisArg;\n }\n call(subscriber, source) {\n return source.subscribe(new FilterSubscriber(subscriber, this.predicate, this.thisArg));\n }\n}\nclass FilterSubscriber extends Subscriber {\n constructor(destination, predicate, thisArg) {\n super(destination);\n this.predicate = predicate;\n this.thisArg = thisArg;\n this.count = 0;\n }\n _next(value) {\n let result;\n try {\n result = this.predicate.call(this.thisArg, value, this.count++);\n }\n catch (err) {\n this.destination.error(err);\n return;\n }\n if (result) {\n this.destination.next(value);\n }\n }\n}\n","import { Subscriber } from '../Subscriber';\nimport { Subscription } from '../Subscription';\nexport function finalize(callback) {\n return (source) => source.lift(new FinallyOperator(callback));\n}\nclass FinallyOperator {\n constructor(callback) {\n this.callback = callback;\n }\n call(subscriber, source) {\n return source.subscribe(new FinallySubscriber(subscriber, this.callback));\n }\n}\nclass FinallySubscriber extends Subscriber {\n constructor(destination, callback) {\n super(destination);\n this.add(new Subscription(callback));\n }\n}\n","import { EmptyError } from '../util/EmptyError';\nimport { filter } from './filter';\nimport { take } from './take';\nimport { defaultIfEmpty } from './defaultIfEmpty';\nimport { throwIfEmpty } from './throwIfEmpty';\nimport { identity } from '../util/identity';\nexport function first(predicate, defaultValue) {\n const hasDefaultValue = arguments.length >= 2;\n return (source) => source.pipe(predicate ? filter((v, i) => predicate(v, i, source)) : identity, take(1), hasDefaultValue ? defaultIfEmpty(defaultValue) : throwIfEmpty(() => new EmptyError()));\n}\n","import { EmptyError } from '../util/EmptyError';\nimport { filter } from './filter';\nimport { takeLast } from './takeLast';\nimport { throwIfEmpty } from './throwIfEmpty';\nimport { defaultIfEmpty } from './defaultIfEmpty';\nimport { identity } from '../util/identity';\nexport function last(predicate, defaultValue) {\n const hasDefaultValue = arguments.length >= 2;\n return (source) => source.pipe(predicate ? filter((v, i) => predicate(v, i, source)) : identity, takeLast(1), hasDefaultValue ? defaultIfEmpty(defaultValue) : throwIfEmpty(() => new EmptyError()));\n}\n","import { Subscriber } from '../Subscriber';\nexport function map(project, thisArg) {\n return function mapOperation(source) {\n if (typeof project !== 'function') {\n throw new TypeError('argument is not a function. Are you looking for `mapTo()`?');\n }\n return source.lift(new MapOperator(project, thisArg));\n };\n}\nexport class MapOperator {\n constructor(project, thisArg) {\n this.project = project;\n this.thisArg = thisArg;\n }\n call(subscriber, source) {\n return source.subscribe(new MapSubscriber(subscriber, this.project, this.thisArg));\n }\n}\nclass MapSubscriber extends Subscriber {\n constructor(destination, project, thisArg) {\n super(destination);\n this.project = project;\n this.count = 0;\n this.thisArg = thisArg || this;\n }\n _next(value) {\n let result;\n try {\n result = this.project.call(this.thisArg, value, this.count++);\n }\n catch (err) {\n this.destination.error(err);\n return;\n }\n this.destination.next(result);\n }\n}\n","import { Subscriber } from '../Subscriber';\nexport function mapTo(value) {\n return (source) => source.lift(new MapToOperator(value));\n}\nclass MapToOperator {\n constructor(value) {\n this.value = value;\n }\n call(subscriber, source) {\n return source.subscribe(new MapToSubscriber(subscriber, this.value));\n }\n}\nclass MapToSubscriber extends Subscriber {\n constructor(destination, value) {\n super(destination);\n this.value = value;\n }\n _next(x) {\n this.destination.next(this.value);\n }\n}\n","import { mergeMap } from './mergeMap';\nimport { identity } from '../util/identity';\nexport function mergeAll(concurrent = Number.POSITIVE_INFINITY) {\n return mergeMap(identity, concurrent);\n}\n","import { map } from './map';\nimport { from } from '../observable/from';\nimport { SimpleOuterSubscriber, SimpleInnerSubscriber, innerSubscribe } from '../innerSubscribe';\nexport function mergeMap(project, resultSelector, concurrent = Number.POSITIVE_INFINITY) {\n if (typeof resultSelector === 'function') {\n return (source) => source.pipe(mergeMap((a, i) => from(project(a, i)).pipe(map((b, ii) => resultSelector(a, b, i, ii))), concurrent));\n }\n else if (typeof resultSelector === 'number') {\n concurrent = resultSelector;\n }\n return (source) => source.lift(new MergeMapOperator(project, concurrent));\n}\nexport class MergeMapOperator {\n constructor(project, concurrent = Number.POSITIVE_INFINITY) {\n this.project = project;\n this.concurrent = concurrent;\n }\n call(observer, source) {\n return source.subscribe(new MergeMapSubscriber(observer, this.project, this.concurrent));\n }\n}\nexport class MergeMapSubscriber extends SimpleOuterSubscriber {\n constructor(destination, project, concurrent = Number.POSITIVE_INFINITY) {\n super(destination);\n this.project = project;\n this.concurrent = concurrent;\n this.hasCompleted = false;\n this.buffer = [];\n this.active = 0;\n this.index = 0;\n }\n _next(value) {\n if (this.active < this.concurrent) {\n this._tryNext(value);\n }\n else {\n this.buffer.push(value);\n }\n }\n _tryNext(value) {\n let result;\n const index = this.index++;\n try {\n result = this.project(value, index);\n }\n catch (err) {\n this.destination.error(err);\n return;\n }\n this.active++;\n this._innerSub(result);\n }\n _innerSub(ish) {\n const innerSubscriber = new SimpleInnerSubscriber(this);\n const destination = this.destination;\n destination.add(innerSubscriber);\n const innerSubscription = innerSubscribe(ish, innerSubscriber);\n if (innerSubscription !== innerSubscriber) {\n destination.add(innerSubscription);\n }\n }\n _complete() {\n this.hasCompleted = true;\n if (this.active === 0 && this.buffer.length === 0) {\n this.destination.complete();\n }\n this.unsubscribe();\n }\n notifyNext(innerValue) {\n this.destination.next(innerValue);\n }\n notifyComplete() {\n const buffer = this.buffer;\n this.active--;\n if (buffer.length > 0) {\n this._next(buffer.shift());\n }\n else if (this.active === 0 && this.hasCompleted) {\n this.destination.complete();\n }\n }\n}\nexport const flatMap = mergeMap;\n","import { connectableObservableDescriptor } from '../observable/ConnectableObservable';\nexport function multicast(subjectOrSubjectFactory, selector) {\n return function multicastOperatorFunction(source) {\n let subjectFactory;\n if (typeof subjectOrSubjectFactory === 'function') {\n subjectFactory = subjectOrSubjectFactory;\n }\n else {\n subjectFactory = function subjectFactory() {\n return subjectOrSubjectFactory;\n };\n }\n if (typeof selector === 'function') {\n return source.lift(new MulticastOperator(subjectFactory, selector));\n }\n const connectable = Object.create(source, connectableObservableDescriptor);\n connectable.source = source;\n connectable.subjectFactory = subjectFactory;\n return connectable;\n };\n}\nexport class MulticastOperator {\n constructor(subjectFactory, selector) {\n this.subjectFactory = subjectFactory;\n this.selector = selector;\n }\n call(subscriber, source) {\n const { selector } = this;\n const subject = this.subjectFactory();\n const subscription = selector(subject).subscribe(subscriber);\n subscription.add(source.subscribe(subject));\n return subscription;\n }\n}\n","import { Subscriber } from '../Subscriber';\nimport { Notification } from '../Notification';\nexport function observeOn(scheduler, delay = 0) {\n return function observeOnOperatorFunction(source) {\n return source.lift(new ObserveOnOperator(scheduler, delay));\n };\n}\nexport class ObserveOnOperator {\n constructor(scheduler, delay = 0) {\n this.scheduler = scheduler;\n this.delay = delay;\n }\n call(subscriber, source) {\n return source.subscribe(new ObserveOnSubscriber(subscriber, this.scheduler, this.delay));\n }\n}\nexport class ObserveOnSubscriber extends Subscriber {\n constructor(destination, scheduler, delay = 0) {\n super(destination);\n this.scheduler = scheduler;\n this.delay = delay;\n }\n static dispatch(arg) {\n const { notification, destination } = arg;\n notification.observe(destination);\n this.unsubscribe();\n }\n scheduleMessage(notification) {\n const destination = this.destination;\n destination.add(this.scheduler.schedule(ObserveOnSubscriber.dispatch, this.delay, new ObserveOnMessage(notification, this.destination)));\n }\n _next(value) {\n this.scheduleMessage(Notification.createNext(value));\n }\n _error(err) {\n this.scheduleMessage(Notification.createError(err));\n this.unsubscribe();\n }\n _complete() {\n this.scheduleMessage(Notification.createComplete());\n this.unsubscribe();\n }\n}\nexport class ObserveOnMessage {\n constructor(notification, destination) {\n this.notification = notification;\n this.destination = destination;\n }\n}\n","import { Subscriber } from '../Subscriber';\nexport function pairwise() {\n return (source) => source.lift(new PairwiseOperator());\n}\nclass PairwiseOperator {\n call(subscriber, source) {\n return source.subscribe(new PairwiseSubscriber(subscriber));\n }\n}\nclass PairwiseSubscriber extends Subscriber {\n constructor(destination) {\n super(destination);\n this.hasPrev = false;\n }\n _next(value) {\n let pair;\n if (this.hasPrev) {\n pair = [this.prev, value];\n }\n else {\n this.hasPrev = true;\n }\n this.prev = value;\n if (pair) {\n this.destination.next(pair);\n }\n }\n}\n","import { Subscriber } from '../Subscriber';\nexport function refCount() {\n return function refCountOperatorFunction(source) {\n return source.lift(new RefCountOperator(source));\n };\n}\nclass RefCountOperator {\n constructor(connectable) {\n this.connectable = connectable;\n }\n call(subscriber, source) {\n const { connectable } = this;\n connectable._refCount++;\n const refCounter = new RefCountSubscriber(subscriber, connectable);\n const subscription = source.subscribe(refCounter);\n if (!refCounter.closed) {\n refCounter.connection = connectable.connect();\n }\n return subscription;\n }\n}\nclass RefCountSubscriber extends Subscriber {\n constructor(destination, connectable) {\n super(destination);\n this.connectable = connectable;\n }\n _unsubscribe() {\n const { connectable } = this;\n if (!connectable) {\n this.connection = null;\n return;\n }\n this.connectable = null;\n const refCount = connectable._refCount;\n if (refCount <= 0) {\n this.connection = null;\n return;\n }\n connectable._refCount = refCount - 1;\n if (refCount > 1) {\n this.connection = null;\n return;\n }\n const { connection } = this;\n const sharedConnection = connectable._connection;\n this.connection = null;\n if (sharedConnection && (!connection || sharedConnection === connection)) {\n sharedConnection.unsubscribe();\n }\n }\n}\n","import { Subscriber } from '../Subscriber';\nexport function scan(accumulator, seed) {\n let hasSeed = false;\n if (arguments.length >= 2) {\n hasSeed = true;\n }\n return function scanOperatorFunction(source) {\n return source.lift(new ScanOperator(accumulator, seed, hasSeed));\n };\n}\nclass ScanOperator {\n constructor(accumulator, seed, hasSeed = false) {\n this.accumulator = accumulator;\n this.seed = seed;\n this.hasSeed = hasSeed;\n }\n call(subscriber, source) {\n return source.subscribe(new ScanSubscriber(subscriber, this.accumulator, this.seed, this.hasSeed));\n }\n}\nclass ScanSubscriber extends Subscriber {\n constructor(destination, accumulator, _seed, hasSeed) {\n super(destination);\n this.accumulator = accumulator;\n this._seed = _seed;\n this.hasSeed = hasSeed;\n this.index = 0;\n }\n get seed() {\n return this._seed;\n }\n set seed(value) {\n this.hasSeed = true;\n this._seed = value;\n }\n _next(value) {\n if (!this.hasSeed) {\n this.seed = value;\n this.destination.next(value);\n }\n else {\n return this._tryNext(value);\n }\n }\n _tryNext(value) {\n const index = this.index++;\n let result;\n try {\n result = this.accumulator(this.seed, value, index);\n }\n catch (err) {\n this.destination.error(err);\n }\n this.seed = result;\n this.destination.next(result);\n }\n}\n","import { multicast } from './multicast';\nimport { refCount } from './refCount';\nimport { Subject } from '../Subject';\nfunction shareSubjectFactory() {\n return new Subject();\n}\nexport function share() {\n return (source) => refCount()(multicast(shareSubjectFactory)(source));\n}\n","import { ReplaySubject } from '../ReplaySubject';\nexport function shareReplay(configOrBufferSize, windowTime, scheduler) {\n let config;\n if (configOrBufferSize && typeof configOrBufferSize === 'object') {\n config = configOrBufferSize;\n }\n else {\n config = {\n bufferSize: configOrBufferSize,\n windowTime,\n refCount: false,\n scheduler,\n };\n }\n return (source) => source.lift(shareReplayOperator(config));\n}\nfunction shareReplayOperator({ bufferSize = Number.POSITIVE_INFINITY, windowTime = Number.POSITIVE_INFINITY, refCount: useRefCount, scheduler, }) {\n let subject;\n let refCount = 0;\n let subscription;\n let hasError = false;\n let isComplete = false;\n return function shareReplayOperation(source) {\n refCount++;\n let innerSub;\n if (!subject || hasError) {\n hasError = false;\n subject = new ReplaySubject(bufferSize, windowTime, scheduler);\n innerSub = subject.subscribe(this);\n subscription = source.subscribe({\n next(value) {\n subject.next(value);\n },\n error(err) {\n hasError = true;\n subject.error(err);\n },\n complete() {\n isComplete = true;\n subscription = undefined;\n subject.complete();\n },\n });\n if (isComplete) {\n subscription = undefined;\n }\n }\n else {\n innerSub = subject.subscribe(this);\n }\n this.add(() => {\n refCount--;\n innerSub.unsubscribe();\n innerSub = undefined;\n if (subscription && !isComplete && useRefCount && refCount === 0) {\n subscription.unsubscribe();\n subscription = undefined;\n subject = undefined;\n }\n });\n };\n}\n","import { Subscriber } from '../Subscriber';\nexport function skip(count) {\n return (source) => source.lift(new SkipOperator(count));\n}\nclass SkipOperator {\n constructor(total) {\n this.total = total;\n }\n call(subscriber, source) {\n return source.subscribe(new SkipSubscriber(subscriber, this.total));\n }\n}\nclass SkipSubscriber extends Subscriber {\n constructor(destination, total) {\n super(destination);\n this.total = total;\n this.count = 0;\n }\n _next(x) {\n if (++this.count > this.total) {\n this.destination.next(x);\n }\n }\n}\n","import { concat } from '../observable/concat';\nimport { isScheduler } from '../util/isScheduler';\nexport function startWith(...array) {\n const scheduler = array[array.length - 1];\n if (isScheduler(scheduler)) {\n array.pop();\n return (source) => concat(array, source, scheduler);\n }\n else {\n return (source) => concat(array, source);\n }\n}\n","import { map } from './map';\nimport { from } from '../observable/from';\nimport { SimpleOuterSubscriber, SimpleInnerSubscriber, innerSubscribe } from '../innerSubscribe';\nexport function switchMap(project, resultSelector) {\n if (typeof resultSelector === 'function') {\n return (source) => source.pipe(switchMap((a, i) => from(project(a, i)).pipe(map((b, ii) => resultSelector(a, b, i, ii)))));\n }\n return (source) => source.lift(new SwitchMapOperator(project));\n}\nclass SwitchMapOperator {\n constructor(project) {\n this.project = project;\n }\n call(subscriber, source) {\n return source.subscribe(new SwitchMapSubscriber(subscriber, this.project));\n }\n}\nclass SwitchMapSubscriber extends SimpleOuterSubscriber {\n constructor(destination, project) {\n super(destination);\n this.project = project;\n this.index = 0;\n }\n _next(value) {\n let result;\n const index = this.index++;\n try {\n result = this.project(value, index);\n }\n catch (error) {\n this.destination.error(error);\n return;\n }\n this._innerSub(result);\n }\n _innerSub(result) {\n const innerSubscription = this.innerSubscription;\n if (innerSubscription) {\n innerSubscription.unsubscribe();\n }\n const innerSubscriber = new SimpleInnerSubscriber(this);\n const destination = this.destination;\n destination.add(innerSubscriber);\n this.innerSubscription = innerSubscribe(result, innerSubscriber);\n if (this.innerSubscription !== innerSubscriber) {\n destination.add(this.innerSubscription);\n }\n }\n _complete() {\n const { innerSubscription } = this;\n if (!innerSubscription || innerSubscription.closed) {\n super._complete();\n }\n this.unsubscribe();\n }\n _unsubscribe() {\n this.innerSubscription = undefined;\n }\n notifyComplete() {\n this.innerSubscription = undefined;\n if (this.isStopped) {\n super._complete();\n }\n }\n notifyNext(innerValue) {\n this.destination.next(innerValue);\n }\n}\n","import { Subscriber } from '../Subscriber';\nimport { ArgumentOutOfRangeError } from '../util/ArgumentOutOfRangeError';\nimport { empty } from '../observable/empty';\nexport function take(count) {\n return (source) => {\n if (count === 0) {\n return empty();\n }\n else {\n return source.lift(new TakeOperator(count));\n }\n };\n}\nclass TakeOperator {\n constructor(total) {\n this.total = total;\n if (this.total < 0) {\n throw new ArgumentOutOfRangeError;\n }\n }\n call(subscriber, source) {\n return source.subscribe(new TakeSubscriber(subscriber, this.total));\n }\n}\nclass TakeSubscriber extends Subscriber {\n constructor(destination, total) {\n super(destination);\n this.total = total;\n this.count = 0;\n }\n _next(value) {\n const total = this.total;\n const count = ++this.count;\n if (count <= total) {\n this.destination.next(value);\n if (count === total) {\n this.destination.complete();\n this.unsubscribe();\n }\n }\n }\n}\n","import { Subscriber } from '../Subscriber';\nimport { ArgumentOutOfRangeError } from '../util/ArgumentOutOfRangeError';\nimport { empty } from '../observable/empty';\nexport function takeLast(count) {\n return function takeLastOperatorFunction(source) {\n if (count === 0) {\n return empty();\n }\n else {\n return source.lift(new TakeLastOperator(count));\n }\n };\n}\nclass TakeLastOperator {\n constructor(total) {\n this.total = total;\n if (this.total < 0) {\n throw new ArgumentOutOfRangeError;\n }\n }\n call(subscriber, source) {\n return source.subscribe(new TakeLastSubscriber(subscriber, this.total));\n }\n}\nclass TakeLastSubscriber extends Subscriber {\n constructor(destination, total) {\n super(destination);\n this.total = total;\n this.ring = new Array();\n this.count = 0;\n }\n _next(value) {\n const ring = this.ring;\n const total = this.total;\n const count = this.count++;\n if (ring.length < total) {\n ring.push(value);\n }\n else {\n const index = count % total;\n ring[index] = value;\n }\n }\n _complete() {\n const destination = this.destination;\n let count = this.count;\n if (count > 0) {\n const total = this.count >= this.total ? this.total : this.count;\n const ring = this.ring;\n for (let i = 0; i < total; i++) {\n const idx = (count++) % total;\n destination.next(ring[idx]);\n }\n }\n destination.complete();\n }\n}\n","import { innerSubscribe, SimpleInnerSubscriber, SimpleOuterSubscriber } from '../innerSubscribe';\nexport function takeUntil(notifier) {\n return (source) => source.lift(new TakeUntilOperator(notifier));\n}\nclass TakeUntilOperator {\n constructor(notifier) {\n this.notifier = notifier;\n }\n call(subscriber, source) {\n const takeUntilSubscriber = new TakeUntilSubscriber(subscriber);\n const notifierSubscription = innerSubscribe(this.notifier, new SimpleInnerSubscriber(takeUntilSubscriber));\n if (notifierSubscription && !takeUntilSubscriber.seenValue) {\n takeUntilSubscriber.add(notifierSubscription);\n return source.subscribe(takeUntilSubscriber);\n }\n return takeUntilSubscriber;\n }\n}\nclass TakeUntilSubscriber extends SimpleOuterSubscriber {\n constructor(destination) {\n super(destination);\n this.seenValue = false;\n }\n notifyNext() {\n this.seenValue = true;\n this.complete();\n }\n notifyComplete() {\n }\n}\n","import { Subscriber } from '../Subscriber';\nexport function takeWhile(predicate, inclusive = false) {\n return (source) => source.lift(new TakeWhileOperator(predicate, inclusive));\n}\nclass TakeWhileOperator {\n constructor(predicate, inclusive) {\n this.predicate = predicate;\n this.inclusive = inclusive;\n }\n call(subscriber, source) {\n return source.subscribe(new TakeWhileSubscriber(subscriber, this.predicate, this.inclusive));\n }\n}\nclass TakeWhileSubscriber extends Subscriber {\n constructor(destination, predicate, inclusive) {\n super(destination);\n this.predicate = predicate;\n this.inclusive = inclusive;\n this.index = 0;\n }\n _next(value) {\n const destination = this.destination;\n let result;\n try {\n result = this.predicate(value, this.index++);\n }\n catch (err) {\n destination.error(err);\n return;\n }\n this.nextOrComplete(value, result);\n }\n nextOrComplete(value, predicateResult) {\n const destination = this.destination;\n if (Boolean(predicateResult)) {\n destination.next(value);\n }\n else {\n if (this.inclusive) {\n destination.next(value);\n }\n destination.complete();\n }\n }\n}\n","import { Subscriber } from '../Subscriber';\nimport { noop } from '../util/noop';\nimport { isFunction } from '../util/isFunction';\nexport function tap(nextOrObserver, error, complete) {\n return function tapOperatorFunction(source) {\n return source.lift(new DoOperator(nextOrObserver, error, complete));\n };\n}\nclass DoOperator {\n constructor(nextOrObserver, error, complete) {\n this.nextOrObserver = nextOrObserver;\n this.error = error;\n this.complete = complete;\n }\n call(subscriber, source) {\n return source.subscribe(new TapSubscriber(subscriber, this.nextOrObserver, this.error, this.complete));\n }\n}\nclass TapSubscriber extends Subscriber {\n constructor(destination, observerOrNext, error, complete) {\n super(destination);\n this._tapNext = noop;\n this._tapError = noop;\n this._tapComplete = noop;\n this._tapError = error || noop;\n this._tapComplete = complete || noop;\n if (isFunction(observerOrNext)) {\n this._context = this;\n this._tapNext = observerOrNext;\n }\n else if (observerOrNext) {\n this._context = observerOrNext;\n this._tapNext = observerOrNext.next || noop;\n this._tapError = observerOrNext.error || noop;\n this._tapComplete = observerOrNext.complete || noop;\n }\n }\n _next(value) {\n try {\n this._tapNext.call(this._context, value);\n }\n catch (err) {\n this.destination.error(err);\n return;\n }\n this.destination.next(value);\n }\n _error(err) {\n try {\n this._tapError.call(this._context, err);\n }\n catch (err) {\n this.destination.error(err);\n return;\n }\n this.destination.error(err);\n }\n _complete() {\n try {\n this._tapComplete.call(this._context);\n }\n catch (err) {\n this.destination.error(err);\n return;\n }\n return this.destination.complete();\n }\n}\n","import { EmptyError } from '../util/EmptyError';\nimport { Subscriber } from '../Subscriber';\nexport function throwIfEmpty(errorFactory = defaultErrorFactory) {\n return (source) => {\n return source.lift(new ThrowIfEmptyOperator(errorFactory));\n };\n}\nclass ThrowIfEmptyOperator {\n constructor(errorFactory) {\n this.errorFactory = errorFactory;\n }\n call(subscriber, source) {\n return source.subscribe(new ThrowIfEmptySubscriber(subscriber, this.errorFactory));\n }\n}\nclass ThrowIfEmptySubscriber extends Subscriber {\n constructor(destination, errorFactory) {\n super(destination);\n this.errorFactory = errorFactory;\n this.hasValue = false;\n }\n _next(value) {\n this.hasValue = true;\n this.destination.next(value);\n }\n _complete() {\n if (!this.hasValue) {\n let err;\n try {\n err = this.errorFactory();\n }\n catch (e) {\n err = e;\n }\n this.destination.error(err);\n }\n else {\n return this.destination.complete();\n }\n }\n}\nfunction defaultErrorFactory() {\n return new EmptyError();\n}\n","import { Observable } from '../Observable';\nimport { Subscription } from '../Subscription';\nexport function scheduleArray(input, scheduler) {\n return new Observable(subscriber => {\n const sub = new Subscription();\n let i = 0;\n sub.add(scheduler.schedule(function () {\n if (i === input.length) {\n subscriber.complete();\n return;\n }\n subscriber.next(input[i++]);\n if (!subscriber.closed) {\n sub.add(this.schedule());\n }\n }));\n return sub;\n });\n}\n","import { Observable } from '../Observable';\nimport { Subscription } from '../Subscription';\nimport { iterator as Symbol_iterator } from '../symbol/iterator';\nexport function scheduleIterable(input, scheduler) {\n if (!input) {\n throw new Error('Iterable cannot be null');\n }\n return new Observable(subscriber => {\n const sub = new Subscription();\n let iterator;\n sub.add(() => {\n if (iterator && typeof iterator.return === 'function') {\n iterator.return();\n }\n });\n sub.add(scheduler.schedule(() => {\n iterator = input[Symbol_iterator]();\n sub.add(scheduler.schedule(function () {\n if (subscriber.closed) {\n return;\n }\n let value;\n let done;\n try {\n const result = iterator.next();\n value = result.value;\n done = result.done;\n }\n catch (err) {\n subscriber.error(err);\n return;\n }\n if (done) {\n subscriber.complete();\n }\n else {\n subscriber.next(value);\n this.schedule();\n }\n }));\n }));\n return sub;\n });\n}\n","import { Observable } from '../Observable';\nimport { Subscription } from '../Subscription';\nimport { observable as Symbol_observable } from '../symbol/observable';\nexport function scheduleObservable(input, scheduler) {\n return new Observable(subscriber => {\n const sub = new Subscription();\n sub.add(scheduler.schedule(() => {\n const observable = input[Symbol_observable]();\n sub.add(observable.subscribe({\n next(value) { sub.add(scheduler.schedule(() => subscriber.next(value))); },\n error(err) { sub.add(scheduler.schedule(() => subscriber.error(err))); },\n complete() { sub.add(scheduler.schedule(() => subscriber.complete())); },\n }));\n }));\n return sub;\n });\n}\n","import { Observable } from '../Observable';\nimport { Subscription } from '../Subscription';\nexport function schedulePromise(input, scheduler) {\n return new Observable(subscriber => {\n const sub = new Subscription();\n sub.add(scheduler.schedule(() => input.then(value => {\n sub.add(scheduler.schedule(() => {\n subscriber.next(value);\n sub.add(scheduler.schedule(() => subscriber.complete()));\n }));\n }, err => {\n sub.add(scheduler.schedule(() => subscriber.error(err)));\n })));\n return sub;\n });\n}\n","import { scheduleObservable } from './scheduleObservable';\nimport { schedulePromise } from './schedulePromise';\nimport { scheduleArray } from './scheduleArray';\nimport { scheduleIterable } from './scheduleIterable';\nimport { isInteropObservable } from '../util/isInteropObservable';\nimport { isPromise } from '../util/isPromise';\nimport { isArrayLike } from '../util/isArrayLike';\nimport { isIterable } from '../util/isIterable';\nexport function scheduled(input, scheduler) {\n if (input != null) {\n if (isInteropObservable(input)) {\n return scheduleObservable(input, scheduler);\n }\n else if (isPromise(input)) {\n return schedulePromise(input, scheduler);\n }\n else if (isArrayLike(input)) {\n return scheduleArray(input, scheduler);\n }\n else if (isIterable(input) || typeof input === 'string') {\n return scheduleIterable(input, scheduler);\n }\n }\n throw new TypeError((input !== null && typeof input || input) + ' is not observable');\n}\n","import { Subscription } from '../Subscription';\nexport class Action extends Subscription {\n constructor(scheduler, work) {\n super();\n }\n schedule(state, delay = 0) {\n return this;\n }\n}\n","import { AsyncAction } from './AsyncAction';\nexport class AnimationFrameAction extends AsyncAction {\n constructor(scheduler, work) {\n super(scheduler, work);\n this.scheduler = scheduler;\n this.work = work;\n }\n requestAsyncId(scheduler, id, delay = 0) {\n if (delay !== null && delay > 0) {\n return super.requestAsyncId(scheduler, id, delay);\n }\n scheduler.actions.push(this);\n return scheduler.scheduled || (scheduler.scheduled = requestAnimationFrame(() => scheduler.flush(null)));\n }\n recycleAsyncId(scheduler, id, delay = 0) {\n if ((delay !== null && delay > 0) || (delay === null && this.delay > 0)) {\n return super.recycleAsyncId(scheduler, id, delay);\n }\n if (scheduler.actions.length === 0) {\n cancelAnimationFrame(id);\n scheduler.scheduled = undefined;\n }\n return undefined;\n }\n}\n","import { AsyncScheduler } from './AsyncScheduler';\nexport class AnimationFrameScheduler extends AsyncScheduler {\n flush(action) {\n this.active = true;\n this.scheduled = undefined;\n const { actions } = this;\n let error;\n let index = -1;\n let count = actions.length;\n action = action || actions.shift();\n do {\n if (error = action.execute(action.state, action.delay)) {\n break;\n }\n } while (++index < count && (action = actions.shift()));\n this.active = false;\n if (error) {\n while (++index < count && (action = actions.shift())) {\n action.unsubscribe();\n }\n throw error;\n }\n }\n}\n","import { Immediate } from '../util/Immediate';\nimport { AsyncAction } from './AsyncAction';\nexport class AsapAction extends AsyncAction {\n constructor(scheduler, work) {\n super(scheduler, work);\n this.scheduler = scheduler;\n this.work = work;\n }\n requestAsyncId(scheduler, id, delay = 0) {\n if (delay !== null && delay > 0) {\n return super.requestAsyncId(scheduler, id, delay);\n }\n scheduler.actions.push(this);\n return scheduler.scheduled || (scheduler.scheduled = Immediate.setImmediate(scheduler.flush.bind(scheduler, null)));\n }\n recycleAsyncId(scheduler, id, delay = 0) {\n if ((delay !== null && delay > 0) || (delay === null && this.delay > 0)) {\n return super.recycleAsyncId(scheduler, id, delay);\n }\n if (scheduler.actions.length === 0) {\n Immediate.clearImmediate(id);\n scheduler.scheduled = undefined;\n }\n return undefined;\n }\n}\n","import { AsyncScheduler } from './AsyncScheduler';\nexport class AsapScheduler extends AsyncScheduler {\n flush(action) {\n this.active = true;\n this.scheduled = undefined;\n const { actions } = this;\n let error;\n let index = -1;\n let count = actions.length;\n action = action || actions.shift();\n do {\n if (error = action.execute(action.state, action.delay)) {\n break;\n }\n } while (++index < count && (action = actions.shift()));\n this.active = false;\n if (error) {\n while (++index < count && (action = actions.shift())) {\n action.unsubscribe();\n }\n throw error;\n }\n }\n}\n","import { Action } from './Action';\nexport class AsyncAction extends Action {\n constructor(scheduler, work) {\n super(scheduler, work);\n this.scheduler = scheduler;\n this.work = work;\n this.pending = false;\n }\n schedule(state, delay = 0) {\n if (this.closed) {\n return this;\n }\n this.state = state;\n const id = this.id;\n const scheduler = this.scheduler;\n if (id != null) {\n this.id = this.recycleAsyncId(scheduler, id, delay);\n }\n this.pending = true;\n this.delay = delay;\n this.id = this.id || this.requestAsyncId(scheduler, this.id, delay);\n return this;\n }\n requestAsyncId(scheduler, id, delay = 0) {\n return setInterval(scheduler.flush.bind(scheduler, this), delay);\n }\n recycleAsyncId(scheduler, id, delay = 0) {\n if (delay !== null && this.delay === delay && this.pending === false) {\n return id;\n }\n clearInterval(id);\n return undefined;\n }\n execute(state, delay) {\n if (this.closed) {\n return new Error('executing a cancelled action');\n }\n this.pending = false;\n const error = this._execute(state, delay);\n if (error) {\n return error;\n }\n else if (this.pending === false && this.id != null) {\n this.id = this.recycleAsyncId(this.scheduler, this.id, null);\n }\n }\n _execute(state, delay) {\n let errored = false;\n let errorValue = undefined;\n try {\n this.work(state);\n }\n catch (e) {\n errored = true;\n errorValue = !!e && e || new Error(e);\n }\n if (errored) {\n this.unsubscribe();\n return errorValue;\n }\n }\n _unsubscribe() {\n const id = this.id;\n const scheduler = this.scheduler;\n const actions = scheduler.actions;\n const index = actions.indexOf(this);\n this.work = null;\n this.state = null;\n this.pending = false;\n this.scheduler = null;\n if (index !== -1) {\n actions.splice(index, 1);\n }\n if (id != null) {\n this.id = this.recycleAsyncId(scheduler, id, null);\n }\n this.delay = null;\n }\n}\n","import { Scheduler } from '../Scheduler';\nexport class AsyncScheduler extends Scheduler {\n constructor(SchedulerAction, now = Scheduler.now) {\n super(SchedulerAction, () => {\n if (AsyncScheduler.delegate && AsyncScheduler.delegate !== this) {\n return AsyncScheduler.delegate.now();\n }\n else {\n return now();\n }\n });\n this.actions = [];\n this.active = false;\n this.scheduled = undefined;\n }\n schedule(work, delay = 0, state) {\n if (AsyncScheduler.delegate && AsyncScheduler.delegate !== this) {\n return AsyncScheduler.delegate.schedule(work, delay, state);\n }\n else {\n return super.schedule(work, delay, state);\n }\n }\n flush(action) {\n const { actions } = this;\n if (this.active) {\n actions.push(action);\n return;\n }\n let error;\n this.active = true;\n do {\n if (error = action.execute(action.state, action.delay)) {\n break;\n }\n } while (action = actions.shift());\n this.active = false;\n if (error) {\n while (action = actions.shift()) {\n action.unsubscribe();\n }\n throw error;\n }\n }\n}\n","import { AsyncAction } from './AsyncAction';\nexport class QueueAction extends AsyncAction {\n constructor(scheduler, work) {\n super(scheduler, work);\n this.scheduler = scheduler;\n this.work = work;\n }\n schedule(state, delay = 0) {\n if (delay > 0) {\n return super.schedule(state, delay);\n }\n this.delay = delay;\n this.state = state;\n this.scheduler.flush(this);\n return this;\n }\n execute(state, delay) {\n return (delay > 0 || this.closed) ?\n super.execute(state, delay) :\n this._execute(state, delay);\n }\n requestAsyncId(scheduler, id, delay = 0) {\n if ((delay !== null && delay > 0) || (delay === null && this.delay > 0)) {\n return super.requestAsyncId(scheduler, id, delay);\n }\n return scheduler.flush(this);\n }\n}\n","import { AsyncScheduler } from './AsyncScheduler';\nexport class QueueScheduler extends AsyncScheduler {\n}\n","import { AnimationFrameAction } from './AnimationFrameAction';\nimport { AnimationFrameScheduler } from './AnimationFrameScheduler';\nexport const animationFrameScheduler = new AnimationFrameScheduler(AnimationFrameAction);\nexport const animationFrame = animationFrameScheduler;\n","import { AsapAction } from './AsapAction';\nimport { AsapScheduler } from './AsapScheduler';\nexport const asapScheduler = new AsapScheduler(AsapAction);\nexport const asap = asapScheduler;\n","import { AsyncAction } from './AsyncAction';\nimport { AsyncScheduler } from './AsyncScheduler';\nexport const asyncScheduler = new AsyncScheduler(AsyncAction);\nexport const async = asyncScheduler;\n","import { QueueAction } from './QueueAction';\nimport { QueueScheduler } from './QueueScheduler';\nexport const queueScheduler = new QueueScheduler(QueueAction);\nexport const queue = queueScheduler;\n","export function getSymbolIterator() {\n if (typeof Symbol !== 'function' || !Symbol.iterator) {\n return '@@iterator';\n }\n return Symbol.iterator;\n}\nexport const iterator = getSymbolIterator();\nexport const $$iterator = iterator;\n","export const observable = (() => typeof Symbol === 'function' && Symbol.observable || '@@observable')();\n","export const rxSubscriber = (() => typeof Symbol === 'function'\n ? Symbol('rxSubscriber')\n : '@@rxSubscriber_' + Math.random())();\nexport const $$rxSubscriber = rxSubscriber;\n","const ArgumentOutOfRangeErrorImpl = (() => {\n function ArgumentOutOfRangeErrorImpl() {\n Error.call(this);\n this.message = 'argument out of range';\n this.name = 'ArgumentOutOfRangeError';\n return this;\n }\n ArgumentOutOfRangeErrorImpl.prototype = Object.create(Error.prototype);\n return ArgumentOutOfRangeErrorImpl;\n})();\nexport const ArgumentOutOfRangeError = ArgumentOutOfRangeErrorImpl;\n","const EmptyErrorImpl = (() => {\n function EmptyErrorImpl() {\n Error.call(this);\n this.message = 'no elements in sequence';\n this.name = 'EmptyError';\n return this;\n }\n EmptyErrorImpl.prototype = Object.create(Error.prototype);\n return EmptyErrorImpl;\n})();\nexport const EmptyError = EmptyErrorImpl;\n","let nextHandle = 1;\nconst RESOLVED = (() => Promise.resolve())();\nconst activeHandles = {};\nfunction findAndClearHandle(handle) {\n if (handle in activeHandles) {\n delete activeHandles[handle];\n return true;\n }\n return false;\n}\nexport const Immediate = {\n setImmediate(cb) {\n const handle = nextHandle++;\n activeHandles[handle] = true;\n RESOLVED.then(() => findAndClearHandle(handle) && cb());\n return handle;\n },\n clearImmediate(handle) {\n findAndClearHandle(handle);\n },\n};\nexport const TestTools = {\n pending() {\n return Object.keys(activeHandles).length;\n }\n};\n","const ObjectUnsubscribedErrorImpl = (() => {\n function ObjectUnsubscribedErrorImpl() {\n Error.call(this);\n this.message = 'object unsubscribed';\n this.name = 'ObjectUnsubscribedError';\n return this;\n }\n ObjectUnsubscribedErrorImpl.prototype = Object.create(Error.prototype);\n return ObjectUnsubscribedErrorImpl;\n})();\nexport const ObjectUnsubscribedError = ObjectUnsubscribedErrorImpl;\n","const UnsubscriptionErrorImpl = (() => {\n function UnsubscriptionErrorImpl(errors) {\n Error.call(this);\n this.message = errors ?\n `${errors.length} errors occurred during unsubscription:\n${errors.map((err, i) => `${i + 1}) ${err.toString()}`).join('\\n ')}` : '';\n this.name = 'UnsubscriptionError';\n this.errors = errors;\n return this;\n }\n UnsubscriptionErrorImpl.prototype = Object.create(Error.prototype);\n return UnsubscriptionErrorImpl;\n})();\nexport const UnsubscriptionError = UnsubscriptionErrorImpl;\n","import { Subscriber } from '../Subscriber';\nexport function canReportError(observer) {\n while (observer) {\n const { closed, destination, isStopped } = observer;\n if (closed || isStopped) {\n return false;\n }\n else if (destination && destination instanceof Subscriber) {\n observer = destination;\n }\n else {\n observer = null;\n }\n }\n return true;\n}\n","export function hostReportError(err) {\n setTimeout(() => { throw err; }, 0);\n}\n","export function identity(x) {\n return x;\n}\n","export const isArray = (() => Array.isArray || ((x) => x && typeof x.length === 'number'))();\n","export const isArrayLike = ((x) => x && typeof x.length === 'number' && typeof x !== 'function');\n","export function isFunction(x) {\n return typeof x === 'function';\n}\n","import { observable as Symbol_observable } from '../symbol/observable';\nexport function isInteropObservable(input) {\n return input && typeof input[Symbol_observable] === 'function';\n}\n","import { iterator as Symbol_iterator } from '../symbol/iterator';\nexport function isIterable(input) {\n return input && typeof input[Symbol_iterator] === 'function';\n}\n","import { isArray } from './isArray';\nexport function isNumeric(val) {\n return !isArray(val) && (val - parseFloat(val) + 1) >= 0;\n}\n","export function isObject(x) {\n return x !== null && typeof x === 'object';\n}\n","import { Observable } from '../Observable';\nexport function isObservable(obj) {\n return !!obj && (obj instanceof Observable || (typeof obj.lift === 'function' && typeof obj.subscribe === 'function'));\n}\n","export function isPromise(value) {\n return !!value && typeof value.subscribe !== 'function' && typeof value.then === 'function';\n}\n","export function isScheduler(value) {\n return value && typeof value.schedule === 'function';\n}\n","export function noop() { }\n","import { identity } from './identity';\nexport function pipe(...fns) {\n return pipeFromArray(fns);\n}\nexport function pipeFromArray(fns) {\n if (fns.length === 0) {\n return identity;\n }\n if (fns.length === 1) {\n return fns[0];\n }\n return function piped(input) {\n return fns.reduce((prev, fn) => fn(prev), input);\n };\n}\n","import { subscribeToArray } from './subscribeToArray';\nimport { subscribeToPromise } from './subscribeToPromise';\nimport { subscribeToIterable } from './subscribeToIterable';\nimport { subscribeToObservable } from './subscribeToObservable';\nimport { isArrayLike } from './isArrayLike';\nimport { isPromise } from './isPromise';\nimport { isObject } from './isObject';\nimport { iterator as Symbol_iterator } from '../symbol/iterator';\nimport { observable as Symbol_observable } from '../symbol/observable';\nexport const subscribeTo = (result) => {\n if (!!result && typeof result[Symbol_observable] === 'function') {\n return subscribeToObservable(result);\n }\n else if (isArrayLike(result)) {\n return subscribeToArray(result);\n }\n else if (isPromise(result)) {\n return subscribeToPromise(result);\n }\n else if (!!result && typeof result[Symbol_iterator] === 'function') {\n return subscribeToIterable(result);\n }\n else {\n const value = isObject(result) ? 'an invalid object' : `'${result}'`;\n const msg = `You provided ${value} where a stream was expected.`\n + ' You can provide an Observable, Promise, Array, or Iterable.';\n throw new TypeError(msg);\n }\n};\n","export const subscribeToArray = (array) => (subscriber) => {\n for (let i = 0, len = array.length; i < len && !subscriber.closed; i++) {\n subscriber.next(array[i]);\n }\n subscriber.complete();\n};\n","import { iterator as Symbol_iterator } from '../symbol/iterator';\nexport const subscribeToIterable = (iterable) => (subscriber) => {\n const iterator = iterable[Symbol_iterator]();\n do {\n let item;\n try {\n item = iterator.next();\n }\n catch (err) {\n subscriber.error(err);\n return subscriber;\n }\n if (item.done) {\n subscriber.complete();\n break;\n }\n subscriber.next(item.value);\n if (subscriber.closed) {\n break;\n }\n } while (true);\n if (typeof iterator.return === 'function') {\n subscriber.add(() => {\n if (iterator.return) {\n iterator.return();\n }\n });\n }\n return subscriber;\n};\n","import { observable as Symbol_observable } from '../symbol/observable';\nexport const subscribeToObservable = (obj) => (subscriber) => {\n const obs = obj[Symbol_observable]();\n if (typeof obs.subscribe !== 'function') {\n throw new TypeError('Provided object does not correctly implement Symbol.observable');\n }\n else {\n return obs.subscribe(subscriber);\n }\n};\n","import { hostReportError } from './hostReportError';\nexport const subscribeToPromise = (promise) => (subscriber) => {\n promise.then((value) => {\n if (!subscriber.closed) {\n subscriber.next(value);\n subscriber.complete();\n }\n }, (err) => subscriber.error(err))\n .then(null, hostReportError);\n return subscriber;\n};\n","import { InnerSubscriber } from '../InnerSubscriber';\nimport { subscribeTo } from './subscribeTo';\nimport { Observable } from '../Observable';\nexport function subscribeToResult(outerSubscriber, result, outerValue, outerIndex, innerSubscriber = new InnerSubscriber(outerSubscriber, outerValue, outerIndex)) {\n if (innerSubscriber.closed) {\n return undefined;\n }\n if (result instanceof Observable) {\n return result.subscribe(innerSubscriber);\n }\n return subscribeTo(result)(innerSubscriber);\n}\n","import { Subscriber } from '../Subscriber';\nimport { rxSubscriber as rxSubscriberSymbol } from '../symbol/rxSubscriber';\nimport { empty as emptyObserver } from '../Observer';\nexport function toSubscriber(nextOrObserver, error, complete) {\n if (nextOrObserver) {\n if (nextOrObserver instanceof Subscriber) {\n return nextOrObserver;\n }\n if (nextOrObserver[rxSubscriberSymbol]) {\n return nextOrObserver[rxSubscriberSymbol]();\n }\n }\n if (!nextOrObserver && !error && !complete) {\n return new Subscriber(emptyObserver);\n }\n return new Subscriber(nextOrObserver, error, complete);\n}\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{_ as e}from\"./chunks/tslib.es6.js\";import r from\"./request.js\";import t from\"./core/Collection.js\";import{referenceSetter as s}from\"./core/collectionUtils.js\";import{JSONSupportMixin as a}from\"./core/JSONSupport.js\";import{isClonable as o,clone as i}from\"./core/lang.js\";import n from\"./core/Loadable.js\";import{loadAll as l}from\"./core/loadAll.js\";import p from\"./core/Logger.js\";import{destroyMaybe as c}from\"./core/maybe.js\";import{throwIfAborted as m}from\"./core/promiseUtils.js\";import{isProtocolRelative as y,urlToObject as h}from\"./core/urlUtils.js\";import{property as u}from\"./core/accessorSupport/decorators/property.js\";import\"./core/has.js\";import{subclass as d}from\"./core/accessorSupport/decorators/subclass.js\";import{writer as f}from\"./core/accessorSupport/decorators/writer.js\";import b from\"./geometry/SpatialReference.js\";import L from\"./portal/Portal.js\";import w from\"./portal/PortalItem.js\";import{getBasemapTitle as g,esriBasemapDefinitions as I}from\"./support/basemapDefinitions.js\";import S from\"./support/BasemapStyle.js\";import{getLayerJSON as j}from\"./webdoc/support/writeUtils.js\";var _;let v=0,x=_=class extends(a(n)){constructor(e){super(e),this.id=null,this.portalItem=null,this.spatialReference=null,this.style=null,this.thumbnailUrl=null,this.title=\"Basemap\",this.id=Date.now().toString(16)+\"-basemap-\"+v++,this.baseLayers=new t,this.referenceLayers=new t;const r=e=>{e.parent&&e.parent!==this&&\"remove\"in e.parent&&e.parent.remove(e),e.parent=this,\"elevation\"===e.type&&p.getLogger(this).error(`Layer '${e.title}, id:${e.id}' of type '${e.type}' is not supported as a basemap layer and will therefore be ignored.`)},s=e=>{e.parent=null};this.addHandles([this.baseLayers.on(\"after-add\",(e=>r(e.item))),this.referenceLayers.on(\"after-add\",(e=>r(e.item))),this.baseLayers.on(\"after-remove\",(e=>s(e.item))),this.referenceLayers.on(\"after-remove\",(e=>s(e.item)))])}initialize(){this.when().catch((e=>{p.getLogger(this).error(\"#load()\",`Failed to load basemap (title: '${this.title}', id: '${this.id}')`,e)})),this.resourceInfo&&this.read(this.resourceInfo.data,this.resourceInfo.context)}destroy(){const e=this.baseLayers.toArray();for(const t of e)t.destroy();const r=this.referenceLayers.toArray();for(const t of r)t.destroy();this.baseLayers.destroy(),this.referenceLayers.destroy(),this.portalItem=c(this.portalItem)}normalizeCtorArgs(e){return e&&\"resourceInfo\"in e&&(this._set(\"resourceInfo\",e.resourceInfo),delete(e={...e}).resourceInfo),e}set baseLayers(e){this._set(\"baseLayers\",s(e,this._get(\"baseLayers\")))}_writeBaseLayers(e,r,t){const s=[];e?(t={...t,layerContainerType:\"basemap\"},this.baseLayers.forEach((e=>{const r=j(e,t.webmap?t.webmap.getLayerJSONFromResourceInfo(e):null,t);null!=r&&s.push(r)})),this.referenceLayers.forEach((e=>{const r=j(e,t.webmap?t.webmap.getLayerJSONFromResourceInfo(e):null,t);null!=r&&(\"scene\"!==e.type&&(r.isReference=!0),s.push(r))})),r.baseMapLayers=s):r.baseMapLayers=s}set referenceLayers(e){this._set(\"referenceLayers\",s(e,this._get(\"referenceLayers\")))}writeTitle(e,r){r.title=e||\"Basemap\"}load(e){return this.addResolvingPromise(this._loadFromSource(e)),Promise.resolve(this)}loadAll(){return l(this,(e=>{e(this.baseLayers,this.referenceLayers)}))}clone(){const e={id:this.id,title:this.title,portalItem:this.portalItem,baseLayers:this.baseLayers.map((e=>o(e)?e.clone():e)),referenceLayers:this.referenceLayers.map((e=>o(e)?e.clone():e))};return this.loaded&&(e.loadStatus=\"loaded\"),new _({resourceInfo:this.resourceInfo}).set(e)}read(e,r){this.resourceInfo||this._set(\"resourceInfo\",{data:e,context:r}),super.read(e,r)}write(e,r){return e=e||{},r?.origin||(r={origin:\"web-map\",...r}),super.write(e,r),!this.loaded&&this.resourceInfo?.data.baseMapLayers&&(e.baseMapLayers=this.resourceInfo.data.baseMapLayers.map((e=>{const r=i(e);return r.url&&y(r.url)&&(r.url=`https:${r.url}`),r.templateUrl&&y(r.templateUrl)&&(r.templateUrl=`https:${r.templateUrl}`),r}))),e}async _loadFromSource(e){const{resourceInfo:r,portalItem:t,style:s}=this;m(e);const a=[];if(r){const t=r.context?r.context.url:null;if(a.push(this._loadLayersFromJSON(r.data,t,e)),r.data.id&&!r.data.title){const e=r.data.id;a.push(g(e).then((e=>{e&&this.read({title:e},r.context)})))}}else t?a.push(this._loadFromItem(t,e)):s&&a.push(this._loadFromStylesService(s,e));await Promise.all(a)}async _loadLayersFromJSON(e,r,t){const s=this.resourceInfo?.context,a=this.portalItem?.portal||s?.portal||null,o=U[s?.origin||\"\"]??\"web-map\",{populateOperationalLayers:i}=await import(\"./layers/support/layersCreator.js\"),n=[];if(m(t),e.baseMapLayers&&Array.isArray(e.baseMapLayers)){const t={context:{...s,origin:o,url:r,portal:a,layerContainerType:\"basemap\"},defaultLayerType:\"DefaultTileLayer\"},l=e=>\"web-scene\"===o&&\"ArcGISSceneServiceLayer\"===e.layerType||e.isReference,p=i(this.baseLayers,e.baseMapLayers.filter((e=>!l(e))),t);n.push(p);const c=i(this.referenceLayers,e.baseMapLayers.filter(l),t);n.push(c)}await Promise.allSettled(n)}async _loadFromItem(e,r){const t=await e.load(r),s=await t.fetchData(\"json\",r),a=h(e.itemUrl??\"\");return this._set(\"resourceInfo\",{data:s.baseMap??{},context:{origin:M[e.type||\"\"]??\"web-map\",portal:e.portal||L.getDefault(),url:a}}),this.read(this.resourceInfo.data,this.resourceInfo.context),this.read({spatialReference:s.spatialReference},this.resourceInfo.context),this.read({title:e.title,thumbnailUrl:e.thumbnailUrl},{origin:\"portal-item\",portal:e.portal||L.getDefault(),url:a}),this._loadLayersFromJSON(this.resourceInfo.data,a,r)}async _loadFromStylesService(e,t){const s=`${e.serviceUrl}/${e.id}`,a=(await r(s,{query:{language:e.getLanguageParamValue(),places:e.places,worldview:e.worldview,token:e.apiKey},signal:t?.signal})).data,o=h(s);if(this._set(\"resourceInfo\",{data:a.baseMap??{},context:{origin:\"web-map\",url:o}}),this.read(this.resourceInfo.data,this.resourceInfo.context),this.read({spatialReference:a.spatialReference},this.resourceInfo.context),await this._loadLayersFromJSON(this.resourceInfo.data,o,t),e.apiKey)for(const r of[...this.baseLayers,...this.referenceLayers])\"apiKey\"in r&&(r.apiKey=e.apiKey)}static fromId(e){const r=I[e];return r?r.itemId?new _({portalItem:{id:r.itemId,portal:{url:\"https://www.arcgis.com\"}}}):_.fromJSON(r,{origin:r.is3d?\"web-scene\":\"web-map\"}):null}};e([u({json:{write:{ignoreOrigin:!0,target:\"baseMapLayers\",writer(e,r,t,s){this._writeBaseLayers(e,r,s)}},origins:{\"web-scene\":{write:{ignoreOrigin:!0,target:{baseMapLayers:{type:t}},writer(e,r,t,s){this._writeBaseLayers(e,r,s)}}}}}})],x.prototype,\"baseLayers\",null),e([u({type:String,json:{origins:{\"web-scene\":{write:!0}}}})],x.prototype,\"id\",void 0),e([u({type:w})],x.prototype,\"portalItem\",void 0),e([u()],x.prototype,\"referenceLayers\",null),e([u({readOnly:!0})],x.prototype,\"resourceInfo\",void 0),e([u({type:b})],x.prototype,\"spatialReference\",void 0),e([u({type:S})],x.prototype,\"style\",void 0),e([u()],x.prototype,\"thumbnailUrl\",void 0),e([u({type:String,json:{origins:{\"web-scene\":{write:{isRequired:!0}}}}})],x.prototype,\"title\",void 0),e([f(\"title\")],x.prototype,\"writeTitle\",null),x=_=e([d(\"esri.Basemap\")],x);const M={\"Web Scene\":\"web-scene\",\"Web Map\":\"web-map\",\"Link Chart\":\"link-chart\"},U={\"web-scene\":\"web-scene\",\"web-map\":\"web-map\",\"link-chart\":\"link-chart\"},F=x;export{F as default};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{_ as o}from\"./chunks/tslib.es6.js\";import r from\"./CameraLayout.js\";import{ClonableMixin as t}from\"./core/Clonable.js\";import{cyclicalDegrees as e}from\"./core/Cyclical.js\";import{JSONSupport as s}from\"./core/JSONSupport.js\";import{clamp as i}from\"./core/mathUtils.js\";import{property as p}from\"./core/accessorSupport/decorators/property.js\";import{cast as n}from\"./core/accessorSupport/decorators/cast.js\";import\"./core/RandomLCG.js\";import\"./core/has.js\";import{reader as a}from\"./core/accessorSupport/decorators/reader.js\";import{subclass as l}from\"./core/accessorSupport/decorators/subclass.js\";import{writer as c}from\"./core/accessorSupport/decorators/writer.js\";import{ensureNumber as u}from\"./core/accessorSupport/ensureType.js\";import m from\"./geometry/Point.js\";let y=class extends(t(s)){constructor(...o){super(...o),this.position=new m([0,0,0]),this.heading=0,this.tilt=0,this.fov=55,this.layout=new r}normalizeCtorArgs(o,r,t,e){if(o&&\"object\"==typeof o&&(\"x\"in o||Array.isArray(o))){const s={position:o};return null!=r&&(s.heading=r),null!=t&&(s.tilt=t),null!=e&&(s.fov=e),s}return o}writePosition(o,r,t,e){const s=o.clone();s.x=u(o.x||0),s.y=u(o.y||0),s.z=o.hasZ?u(o.z||0):o.z,r[t]=s.write({},e)}readPosition(o,r){const t=new m;return t.read(o,r),t.x=u(t.x||0),t.y=u(t.y||0),t.z=t.hasZ?u(t.z||0):t.z,t}equals(o){return null!=o&&(this.tilt===o.tilt&&this.heading===o.heading&&this.fov===o.fov&&this.position.equals(o.position)&&this.layout.equals(o.layout))}};o([p({type:m,json:{write:{isRequired:!0}}})],y.prototype,\"position\",void 0),o([c(\"position\")],y.prototype,\"writePosition\",null),o([a(\"position\")],y.prototype,\"readPosition\",null),o([p({type:Number,nonNullable:!0,json:{write:{isRequired:!0}}}),n((o=>e.normalize(u(o))))],y.prototype,\"heading\",void 0),o([p({type:Number,nonNullable:!0,json:{write:{isRequired:!0}}}),n((o=>i(u(o),-180,180)))],y.prototype,\"tilt\",void 0),o([p({type:Number,nonNullable:!0,json:{default:55,write:!0}}),n((o=>i(u(o,55),1,170)))],y.prototype,\"fov\",void 0),o([p({type:r,nonNullable:!0,json:{read:!1,write:!1}})],y.prototype,\"layout\",void 0),y=o([l(\"esri.Camera\")],y);const d=y;export{d as default};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{_ as o}from\"./chunks/tslib.es6.js\";import{Clonable as r}from\"./core/Clonable.js\";import{property as s}from\"./core/accessorSupport/decorators/property.js\";import\"./core/has.js\";import\"./core/Logger.js\";import\"./core/RandomLCG.js\";import{subclass as e}from\"./core/accessorSupport/decorators/subclass.js\";let t=class extends r{constructor(o){super(o),this.row=0,this.column=0,this.rows=1,this.columns=1}equals(o){return null!=o&&(this.row===o.row&&this.rows===o.rows&&this.column===o.column&&this.columns===o.columns)}};o([s({type:Number,nonNullable:!0,json:{read:!1,write:!1}})],t.prototype,\"row\",void 0),o([s({type:Number,nonNullable:!0,json:{read:!1,write:!1}})],t.prototype,\"column\",void 0),o([s({type:Number,nonNullable:!0,json:{read:!1,write:!1}})],t.prototype,\"rows\",void 0),o([s({type:Number,nonNullable:!0,json:{read:!1,write:!1}})],t.prototype,\"columns\",void 0),t=o([e(\"esri.CameraLayout\")],t);const l=t;export{l as default};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{hsla2rgba as t,isNamedColor as r,getNamedColor as s}from\"./colorUtils.js\";import{clamp as e}from\"./core/mathUtils.js\";import{ensureInteger as i}from\"./core/accessorSupport/ensureType.js\";function a(t){return e(i(t),0,255)}function n(t,r,s){return t=Number(t),isNaN(t)?s:ts?s:t}function o(t,r){const s=t.toString(16).padStart(2,\"0\");return r?s.slice(0,1):s}class h{static blendColors(t,r,s,e=new h){return e.r=Math.round(t.r+(r.r-t.r)*s),e.g=Math.round(t.g+(r.g-t.g)*s),e.b=Math.round(t.b+(r.b-t.b)*s),e.a=t.a+(r.a-t.a)*s,e._sanitize()}static fromRgb(r,s){const e=r.toLowerCase().match(/^(rgba?|hsla?)\\(([\\s.\\-,%0-9]+)\\)/);if(e){const r=e[2].split(/\\s*,\\s*/),i=e[1];if(\"rgb\"===i&&3===r.length||\"rgba\"===i&&4===r.length){const t=r[0];if(\"%\"===t.charAt(t.length-1)){const t=r.map((t=>2.56*parseFloat(t)));return 4===r.length&&(t[3]=parseFloat(r[3])),h.fromArray(t,s)}return h.fromArray(r.map((t=>parseFloat(t))),s)}if(\"hsl\"===i&&3===r.length||\"hsla\"===i&&4===r.length)return h.fromArray(t(parseFloat(r[0]),parseFloat(r[1])/100,parseFloat(r[2])/100,parseFloat(r[3])),s)}return null}static fromHex(t,r=new h){if(\"#\"!==t[0]||isNaN(Number(`0x${t.slice(1)}`)))return null;switch(t.length){case 4:case 5:{const s=parseInt(t.slice(1,2),16),e=parseInt(t.slice(2,3),16),i=parseInt(t.slice(3,4),16),a=5===t.length?15:parseInt(t.slice(4),16);return h.fromArray([s+16*s,e+16*e,i+16*i,(a+16*a)/255],r)}case 7:case 9:{const s=parseInt(t.slice(1,3),16),e=parseInt(t.slice(3,5),16),i=parseInt(t.slice(5,7),16),a=7===t.length?255:parseInt(t.slice(7),16);return h.fromArray([s,e,i,a/255],r)}default:return null}}static fromArray(t,r=new h){return r._set(Number(t[0]),Number(t[1]),Number(t[2]),Number(t[3])),isNaN(r.a)&&(r.a=1),r._sanitize()}static fromString(t,e){const i=r(t)?s(t):null;return i&&h.fromArray(i,e)||h.fromRgb(t,e)||h.fromHex(t,e)}static fromJSON(t){return null!=t?new h([t[0],t[1],t[2],(t[3]??255)/255]):void 0}static toUnitRGB(t){return null!=t?[t.r/255,t.g/255,t.b/255]:null}static toUnitRGBA(t){return null!=t?[t.r/255,t.g/255,t.b/255,null!=t.a?t.a:1]:null}constructor(t){this.r=255,this.g=255,this.b=255,this.a=1,t&&this.setColor(t)}get isBright(){return.299*this.r+.587*this.g+.114*this.b>=127}setColor(t){return\"string\"==typeof t?h.fromString(t,this):Array.isArray(t)?h.fromArray(t,this):(this._set(t.r??0,t.g??0,t.b??0,t.a??1),t instanceof h||this._sanitize()),this}toRgb(){return[this.r,this.g,this.b]}toRgba(){return[this.r,this.g,this.b,this.a]}toHex(t){const r=t?.capitalize??!1,s=t?.digits??6,e=3===s||4===s,i=4===s||8===s,a=`#${o(this.r,e)}${o(this.g,e)}${o(this.b,e)}${i?o(Math.round(255*this.a),e):\"\"}`;return r?a.toUpperCase():a}toCss(t=!1){const r=this.r+\", \"+this.g+\", \"+this.b;return t?`rgba(${r}, ${this.a})`:`rgb(${r})`}toString(){return this.toCss(!0)}toJSON(){return this.toArray()}toArray(t=h.AlphaMode.ALWAYS){const r=a(this.r),s=a(this.g),e=a(this.b);return t===h.AlphaMode.ALWAYS||1!==this.a?[r,s,e,a(255*this.a)]:[r,s,e]}clone(){return new h(this.toRgba())}hash(){return this.r<<24|this.g<<16|this.b<<8|255*this.a}equals(t){return null!=t&&t.r===this.r&&t.g===this.g&&t.b===this.b&&t.a===this.a}_sanitize(){return this.r=Math.round(n(this.r,0,255)),this.g=Math.round(n(this.g,0,255)),this.b=Math.round(n(this.b,0,255)),this.a=n(this.a,0,1),this}_set(t,r,s,e){this.r=t,this.g=r,this.b=s,this.a=e}}h.prototype.declaredClass=\"esri.Color\",function(t){var r;(r=t.AlphaMode||(t.AlphaMode={}))[r.ALWAYS=0]=\"ALWAYS\",r[r.UNLESS_OPAQUE=1]=\"UNLESS_OPAQUE\"}(h||(h={}));const l=h;export{l as default};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{_ as t}from\"./chunks/tslib.es6.js\";import{geometryTypes as e}from\"./geometry.js\";import r from\"./PopupTemplate.js\";import{symbolTypes as s}from\"./symbols.js\";import{ClonableMixin as i}from\"./core/Clonable.js\";import{deprecatedConstructorSignature as o}from\"./core/deprecate.js\";import{isSerializable as a,JSONSupport as l}from\"./core/JSONSupport.js\";import n from\"./core/Logger.js\";import{when as p}from\"./core/reactiveUtils.js\";import{generateUID as h}from\"./core/uid.js\";import{property as u}from\"./core/accessorSupport/decorators/property.js\";import\"./core/has.js\";import\"./core/RandomLCG.js\";import{subclass as m}from\"./core/accessorSupport/decorators/subclass.js\";import{fromJSON as g}from\"./geometry/support/jsonUtils.js\";var y;function c(t){if(!t)return null;const e={};for(const r in t){const s=g(t[r]);s&&(e[r]=s)}return 0!==Object.keys(e).length?e:null}function f(t){if(null==t)return null;const e={};for(const r in t){const s=t[r];s&&(e[r]=s.toJSON())}return 0!==Object.keys(e).length?e:null}let b=y=class extends(i(l)){constructor(t){super(t),this.isAggregate=!1,this.layer=null,this.origin=null,this.popupTemplate=null,this.sourceLayer=null,this._version=0,Object.defineProperty(this,\"uid\",{value:h(),configurable:!0}),Object.defineProperty(this,\"_lastMeshTransform\",{value:{},configurable:!0,writable:!0,enumerable:!1}),arguments.length>1&&o(n.getLogger(this),\"Graphic\",{version:\"4.30\"})}initialize(){this._watchMeshGeometryChanges()}set aggregateGeometries(t){const e=this._get(\"aggregateGeometries\");JSON.stringify(e)!==JSON.stringify(t)&&this._set(\"aggregateGeometries\",t)}set attributes(t){const e=this._get(\"attributes\");e!==t&&(this._set(\"attributes\",t),this._notifyLayer(\"attributes\",e,t))}set geometry(t){const e=this._get(\"geometry\");e!==t&&(this._set(\"geometry\",t),\"mesh\"!==t?.type&&this._notifyLayer(\"geometry\",e,t))}set symbol(t){const e=this._get(\"symbol\");e!==t&&(this._set(\"symbol\",t),this._notifyLayer(\"symbol\",e,t))}get version(){return this._version}set visible(t){const e=this._get(\"visible\");e!==t&&(this._set(\"visible\",t),this._notifyLayer(\"visible\",e,t))}cloneShallow(){return new y({aggregateGeometries:this.aggregateGeometries,attributes:this.attributes,geometry:this.geometry,isAggregate:this.isAggregate,layer:this.layer,popupTemplate:this.popupTemplate,sourceLayer:this.sourceLayer,symbol:this.symbol,visible:this.visible,origin:this.origin})}getEffectivePopupTemplate(t=!1){if(this.popupTemplate)return this.popupTemplate;const e=this.origin&&\"layer\"in this.origin?this.origin.layer:null;for(const r of[e,this.sourceLayer,this.layer])if(r){if(\"popupTemplate\"in r&&r.popupTemplate)return r.popupTemplate;if(t&&\"defaultPopupTemplate\"in r&&null!=r.defaultPopupTemplate)return r.defaultPopupTemplate}return null}getAttribute(t){return this.attributes?.[t]}setAttribute(t,e){if(this.attributes){const r=this.getAttribute(t);this.attributes[t]=e,this._notifyLayer(\"attributes\",r,e,t)}else this.attributes={[t]:e},this._notifyLayer(\"attributes\",void 0,e,t)}getObjectId(){return this.sourceLayer&&\"objectIdField\"in this.sourceLayer&&this.sourceLayer.objectIdField?this.getAttribute(this.sourceLayer.objectIdField):null}toJSON(){return{aggregateGeometries:f(this.aggregateGeometries),geometry:null!=this.geometry?this.geometry.toJSON():null,symbol:null!=this.symbol?this.symbol.toJSON():null,attributes:a(this.attributes)?this.attributes.toJSON():{...this.attributes},popupTemplate:this.popupTemplate?.toJSON()??null}}notifyMeshTransformChanged(t={}){const{geometry:e}=this;if(\"mesh\"===e?.type){const r={origin:e.origin,transform:e.transform};this._notifyLayer(\"origin-transform\",r,r,t.action)}}_notifyLayer(t,e,r,s){if(this._version++,!this.layer||!(\"graphicChanged\"in this.layer))return;const i={graphic:this,property:t,oldValue:e,newValue:r};\"origin-transform\"===t&&(i.action=s),\"attributes\"===t&&(i.attributeName=s),this.layer.graphicChanged(i)}_watchMeshGeometryChanges(){this.addHandles([p((()=>\"mesh\"===this.geometry?.type&&this.geometry.vertexSpace.origin?{localMatrix:this.geometry.transform?.localMatrix,origin:this.geometry.vertexSpace.origin}:void 0),(({localMatrix:t,origin:e})=>{this._lastMeshTransform.localMatrix===t&&this._lastMeshTransform.origin===e||(this._lastMeshTransform.localMatrix=t,this._lastMeshTransform.origin=e,this.notifyMeshTransformChanged())})),p((()=>\"mesh\"===this.geometry?.type?{vertexAttributes:this.geometry.vertexAttributes}:void 0),(()=>{const t=this.geometry;\"mesh\"===t?.type&&t.vertexSpace.origin?(this._lastMeshTransform.localMatrix=t.transform?.localMatrix,this._lastMeshTransform.origin=t.vertexSpace.origin):(this._lastMeshTransform.localMatrix=void 0,this._lastMeshTransform.origin=void 0),this._notifyLayer(\"geometry\",this.geometry,this.geometry)}),{equals:(t,e)=>t===e,sync:!0})])}};t([u({value:null,json:{read:c}})],b.prototype,\"aggregateGeometries\",null),t([u({value:null})],b.prototype,\"attributes\",null),t([u({value:null,types:e,json:{read:g}})],b.prototype,\"geometry\",null),t([u({type:Boolean})],b.prototype,\"isAggregate\",void 0),t([u({clonable:\"reference\"})],b.prototype,\"layer\",void 0),t([u({clonable:\"reference\"})],b.prototype,\"origin\",void 0),t([u({type:r})],b.prototype,\"popupTemplate\",void 0),t([u({clonable:\"reference\"})],b.prototype,\"sourceLayer\",void 0),t([u({value:null,types:s})],b.prototype,\"symbol\",null),t([u({clonable:!1,json:{read:!1,write:!1}})],b.prototype,\"_version\",void 0),t([u({type:Boolean,value:!0})],b.prototype,\"visible\",null),b=y=t([m(\"esri.Graphic\")],b);const d=b;export{d as default};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{_ as r}from\"./chunks/tslib.es6.js\";import e from\"./Color.js\";import o from\"./core/Collection.js\";import{referenceSetter as t}from\"./core/collectionUtils.js\";import{typeCast as s}from\"./core/compilerUtils.js\";import a from\"./core/Error.js\";import{JSONSupportMixin as i}from\"./core/JSONSupport.js\";import{clone as n}from\"./core/lang.js\";import l from\"./core/Loadable.js\";import{loadAll as p}from\"./core/loadAll.js\";import c from\"./core/Logger.js\";import{destroyMaybe as y}from\"./core/maybe.js\";import{isAbortError as u,throwIfAborted as d}from\"./core/promiseUtils.js\";import{property as m}from\"./core/accessorSupport/decorators/property.js\";import{Integer as f}from\"./core/accessorSupport/ensureType.js\";import{subclass as h}from\"./core/accessorSupport/decorators/subclass.js\";import{writer as g}from\"./core/accessorSupport/decorators/writer.js\";import{NavigationConstraint as v}from\"./ground/NavigationConstraint.js\";import{transparencyToOpacity as j,opacityToTransparency as w}from\"./webdoc/support/opacityUtils.js\";var S;let C=S=class extends(i(l)){constructor(r){super(r),this.opacity=1,this.surfaceColor=null,this.navigationConstraint=null,this.layers=new o;const e=r=>{r.parent&&r.parent!==this&&\"remove\"in r.parent&&r.parent.remove(r),r.parent=this,\"elevation\"!==r.type&&\"base-elevation\"!==r.type&&c.getLogger(this).error(`Layer '${r.title}, id:${r.id}' of type '${r.type}' is not supported as a ground layer and will therefore be ignored. Only layers of type 'elevation' are supported.`)},t=r=>{r.parent=null};this.addHandles([this.layers.on(\"after-add\",(r=>e(r.item))),this.layers.on(\"after-remove\",(r=>t(r.item)))])}initialize(){this.when().catch((r=>{u(r)||c.getLogger(this).error(\"#load()\",\"Failed to load ground\",r)})),this.resourceInfo&&this.read(this.resourceInfo.data,this.resourceInfo.context)}destroy(){const r=this.layers.removeAll();for(const e of r)y(e);this.layers.destroy()}normalizeCtorArgs(r){return r&&\"resourceInfo\"in r&&(this._set(\"resourceInfo\",r.resourceInfo),delete(r={...r}).resourceInfo),r}set layers(r){this._set(\"layers\",t(r,this._get(\"layers\")))}writeLayers(r,e,o,t){const i=[];r?(t={...t,layerContainerType:\"ground\"},r.forEach((r=>{if(\"write\"in r){const e={};s(r)().write(e,t)&&i.push(e)}else t?.messages&&t.messages.push(new a(\"layer:unsupported\",`Layers (${r.title}, ${r.id}) of type '${r.declaredClass}' cannot be persisted in the ground`,{layer:r}))})),e.layers=i):e.layers=i}load(r){return this.addResolvingPromise(this._loadFromSource(r)),Promise.resolve(this)}loadAll(){return p(this,(r=>{r(this.layers)}))}async queryElevation(r,e){await this.load({signal:e?.signal});const{ElevationQuery:o}=await import(\"./layers/support/ElevationQuery.js\");d(e);const t=new o,s=this.layers.filter(L).toArray();return t.queryAll(s,r,e)}async createElevationSampler(r,e){await this.load({signal:e?.signal});const{ElevationQuery:o}=await import(\"./layers/support/ElevationQuery.js\");d(e);const t=new o,s=this.layers.filter(L).toArray();return t.createSamplerAll(s,r,e)}clone(){const r={opacity:this.opacity,surfaceColor:n(this.surfaceColor),navigationConstraint:n(this.navigationConstraint),layers:this.layers.slice()};return this.loaded&&(r.loadStatus=\"loaded\"),new S({resourceInfo:this.resourceInfo}).set(r)}read(r,e){this.resourceInfo||this._set(\"resourceInfo\",{data:r,context:e}),super.read(r,e)}_loadFromSource(r){const e=this.resourceInfo;return e?this._loadLayersFromJSON(e.data,e.context,r):Promise.resolve()}async _loadLayersFromJSON(r,e,o){const t=e?.origin||\"web-scene\",s=e?.portal||null,a=e?.url||null,{populateOperationalLayers:i}=await import(\"./layers/support/layersCreator.js\");d(o);const n=[];if(r.layers&&Array.isArray(r.layers)){const e={context:{origin:t,url:a,portal:s,layerContainerType:\"ground\"},defaultLayerType:\"ArcGISTiledElevationServiceLayer\"};n.push(i(this.layers,r.layers,e))}await Promise.allSettled(n)}};function I(r){return r&&\"createElevationSampler\"in r}function L(r){return\"elevation\"===r.type||I(r)}r([m({json:{read:!1}})],C.prototype,\"layers\",null),r([g(\"layers\")],C.prototype,\"writeLayers\",null),r([m({readOnly:!0})],C.prototype,\"resourceInfo\",void 0),r([m({type:Number,nonNullable:!0,range:{min:0,max:1},json:{type:f,read:{reader:j,source:\"transparency\"},write:{writer:(r,e)=>{e.transparency=w(r)},target:\"transparency\"}}})],C.prototype,\"opacity\",void 0),r([m({type:e,json:{type:[f],write:(r,e)=>{e.surfaceColor=r.toJSON().slice(0,3)}}})],C.prototype,\"surfaceColor\",void 0),r([m({type:v,json:{write:!0}})],C.prototype,\"navigationConstraint\",void 0),C=S=r([h(\"esri.Ground\")],C);const b=C;export{b as default};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{_ as e}from\"./chunks/tslib.es6.js\";import s from\"./Basemap.js\";import r from\"./Ground.js\";import t from\"./core/Accessor.js\";import o from\"./core/CollectionFlattener.js\";import a from\"./core/Evented.js\";import{destroyMaybe as i}from\"./core/maybe.js\";import{property as p}from\"./core/accessorSupport/decorators/property.js\";import{cast as l}from\"./core/accessorSupport/decorators/cast.js\";import\"./core/RandomLCG.js\";import\"./core/has.js\";import{subclass as n}from\"./core/accessorSupport/decorators/subclass.js\";import{isEditableLayer as m}from\"./layers/support/editableLayers.js\";import{createCache as d,destroyCache as c,ensureType as u}from\"./support/basemapUtils.js\";import{createFlattenedTablesCollection as y}from\"./support/collectionUtils.js\";import{ensureType as h}from\"./support/groundUtils.js\";import{LayersMixin as b}from\"./support/LayersMixin.js\";import{TablesMixin as f}from\"./support/TablesMixin.js\";let j=class extends(f(b(a.EventedMixin(t)))){constructor(e){super(e),this.allLayers=new o({getCollections:()=>[this.basemap?.baseLayers,this.ground?.layers,this.layers,this.basemap?.referenceLayers],getChildrenFunction:e=>\"layers\"in e?e.layers:null}),this.allTables=y(this),this.basemap=null,this.editableLayers=new o({getCollections:()=>[this.allLayers],itemFilterFunction:m}),this.ground=new r,this._basemapCache=d()}destroy(){c(this._basemapCache),this._basemapCache=null,this.allLayers.destroy(),this.allTables.destroy(),this.editableLayers.destroy(),this.basemap=i(this.basemap),i(this.ground),this._set(\"ground\",null)}castBasemap(e){return u(e,this._basemapCache)}castGround(e){const s=h(e);return s??this._get(\"ground\")}findLayerById(e){return this.allLayers.find((s=>s.id===e))}findTableById(e){return this.allTables.find((s=>s.id===e))}};e([p({readOnly:!0,dependsOn:[]})],j.prototype,\"allLayers\",void 0),e([p({readOnly:!0})],j.prototype,\"allTables\",void 0),e([p({type:s,json:{read:{source:\"baseMap\"},write:{target:\"baseMap\"}}})],j.prototype,\"basemap\",void 0),e([l(\"basemap\")],j.prototype,\"castBasemap\",null),e([p({readOnly:!0})],j.prototype,\"editableLayers\",void 0),e([p({type:r,nonNullable:!0})],j.prototype,\"ground\",void 0),e([l(\"ground\")],j.prototype,\"castGround\",null),e([p()],j.prototype,\"undoRedo\",void 0),j=e([n(\"esri.Map\")],j);const L=j;export{L as default};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{_ as t}from\"./chunks/tslib.es6.js\";import{ClonableMixin as e}from\"./core/Clonable.js\";import o from\"./core/Collection.js\";import{JSONSupport as s}from\"./core/JSONSupport.js\";import{clone as i}from\"./core/lang.js\";import r from\"./core/Logger.js\";import{isPromiseLike as n}from\"./core/promiseUtils.js\";import{property as p}from\"./core/accessorSupport/decorators/property.js\";import{cast as l}from\"./core/accessorSupport/decorators/cast.js\";import{reader as a}from\"./core/accessorSupport/decorators/reader.js\";import{subclass as d}from\"./core/accessorSupport/decorators/subclass.js\";import{writer as c}from\"./core/accessorSupport/decorators/writer.js\";import{ensureOneOfType as f}from\"./core/accessorSupport/ensureType.js\";import{collectFields as m,collectArcadeFieldNames as u,extractSubstitutionTemplatesFromString as h}from\"./layers/support/fieldUtils.js\";import{persistableWebSceneTypes as y,persistableTypes as I}from\"./popup/content.js\";import F from\"./popup/ExpressionInfo.js\";import _ from\"./popup/FieldInfo.js\";import w from\"./popup/LayerOptions.js\";import x from\"./popup/RelatedRecordsInfo.js\";import{types as g}from\"./popup/content/support/mediaInfoTypes.js\";import A from\"./support/actions/ActionBase.js\";import N from\"./support/actions/ActionButton.js\";import C from\"./support/actions/ActionToggle.js\";import j from\"./popup/content/MediaContent.js\";import S from\"./popup/content/TextContent.js\";import E from\"./popup/content/AttachmentsContent.js\";import O from\"./popup/content/FieldsContent.js\";import R from\"./popup/content/ExpressionContent.js\";import T from\"./popup/content/RelationshipContent.js\";import v from\"./popup/content/UtilityNetworkAssociationsContent.js\";import b from\"./popup/content/Content.js\";import J from\"./popup/content/CustomContent.js\";const B=\"relationships/\",L=\"expression/\",M=o.ofType({key:\"type\",defaultKeyValue:\"button\",base:A,typeMap:{button:N,toggle:C}}),k={base:b,key:\"type\",typeMap:{media:j,custom:J,text:S,attachments:E,fields:O,expression:R,relationship:T,utilityNetworkAssociations:v}},P=new Set([\"attachments\",\"fields\",\"media\",\"text\",\"expression\",\"relationship\"]),W=new Set([...P,\"utility-network-associations\"]);let U=class extends(e(s)){constructor(){super(...arguments),this.actions=null,this.content=\"\",this.expressionInfos=null,this.fieldInfos=null,this.layerOptions=null,this.lastEditInfoEnabled=!0,this.outFields=null,this.overwriteActions=!1,this.returnGeometry=!1,this.title=\"\"}castContent(t){return Array.isArray(t)?t.map((t=>f(k,t))):\"string\"==typeof t||\"function\"==typeof t||t instanceof HTMLElement||n(t)?t:(r.getLogger(this).error(\"content error\",\"unsupported content value\",{value:t}),null)}readContent(t,e){const{popupElements:o}=e;return Array.isArray(o)&&o.length>0?this._readPopupInfoElements(e.description,e.mediaInfos,o):this._readPopupInfo(e)}writeWebSceneContent(t,e,o,s){this._writePopupTemplateContent(t,e,s)}writeWebMapContent(t,e,o,s){this._writePopupTemplateContent(t,e,s)}writeFieldInfos(t,e,o,s){const{content:i}=this,r=Array.isArray(i)?i:null;if(t){const o=r?r.filter((t=>\"fields\"===t.type)):[],i=o.length&&o.every((t=>t.fieldInfos?.length));e.fieldInfos=t.filter(Boolean).map((t=>{const e=t.toJSON(s);return i&&(e.visible=!1),e}))}if(r)for(const n of r)\"fields\"===n.type&&this._writeFieldsContent(n,e)}writeLayerOptions(t,e,o,s){e[o]=!t||null===t.showNoDataRecords&&null===t.returnTopmostRaster?null:t.toJSON(s)}writeTitle(t,e){e.title=t||\"\"}async collectRequiredFields(t,e){const o=this.expressionInfos||[];await this._collectExpressionInfoFields(t,e,[...o,...this._getContentExpressionInfos(this.content,o)]),m(t,e,[...this.outFields||[],...this._getActionsFields(this.actions),...this._getTitleFields(this.title),...this._getContentFields(this.content)])}async getRequiredFields(t){const e=new Set;return await this.collectRequiredFields(e,t),[...e].sort()}_writePopupTemplateContent(t,e,o){\"string\"!=typeof t?Array.isArray(t)&&(e.popupElements=t.filter((t=>\"web-scene\"===o?.origin?P.has(t.type):W.has(t.type))).map((t=>t?.toJSON(o))),e.popupElements.forEach((t=>{\"attachments\"===t.type?this._writeAttachmentContent(e):\"media\"===t.type?this._writeMediaContent(t,e):\"text\"===t.type?this._writeTextContent(t,e):\"relationship\"===t.type&&this._writeRelationshipContent(t,e)}))):e.description=t}_writeFieldsContent(t,e){if(!Array.isArray(t.fieldInfos)||!t.fieldInfos.length)return;const o=i(t.fieldInfos);Array.isArray(e.fieldInfos)?o.forEach((t=>{const o=e.fieldInfos.find((e=>e.fieldName?.toLowerCase()===t.fieldName?.toLowerCase()));o?o.visible=!0:e.fieldInfos.push(t)})):e.fieldInfos=o}_writeAttachmentContent(t){t.showAttachments||(t.showAttachments=!0)}_writeRelationshipContent(t,e){const o=t.orderByFields?.map((e=>this._toFieldOrderJSON(e,t.relationshipId)))||[],s=[...e.relatedRecordsInfo?.orderByFields||[],...o];e.relatedRecordsInfo={showRelatedRecords:!0,...s?.length&&{orderByFields:s}}}_writeTextContent(t,e){!e.description&&t.text&&(e.description=t.text)}_writeMediaContent(t,e){if(!Array.isArray(t.mediaInfos)||!t.mediaInfos.length)return;const o=i(t.mediaInfos);Array.isArray(e.mediaInfos)?e.mediaInfos=[...e.mediaInfos,...o]:e.mediaInfos=o}_readPopupInfoElements(t,e,o){const s={description:!1,mediaInfos:!1};return o.map((o=>\"media\"===o.type?(o.mediaInfos||!e||s.mediaInfos||(o.mediaInfos=e,s.mediaInfos=!0),j.fromJSON(o)):\"text\"===o.type?(o.text||!t||s.description||(o.text=t,s.description=!0),S.fromJSON(o)):\"attachments\"===o.type?E.fromJSON(o):\"fields\"===o.type?O.fromJSON(o):\"expression\"===o.type?R.fromJSON(o):\"relationship\"===o.type?T.fromJSON(o):\"utilityNetworkAssociations\"===o.type?v.fromJSON(o):void 0)).filter(Boolean)}_toRelationshipContent(t){const{field:e,order:o}=t;if(!e?.startsWith(B))return null;const s=e.replace(B,\"\").split(\"/\");if(2!==s.length)return null;const i=parseInt(s[0],10),r=s[1];return\"number\"==typeof i&&r?T.fromJSON({relationshipId:i,orderByFields:[{field:r,order:o}]}):null}_toFieldOrderJSON(t,e){const{order:o,field:s}=t;return{field:`${B}${e}/${s}`,order:o}}_readPopupInfo({description:t,mediaInfos:e,showAttachments:o,relatedRecordsInfo:s={showRelatedRecords:!1}}){const i=[];t?i.push(new S({text:t})):i.push(new O),Array.isArray(e)&&e.length&&i.push(j.fromJSON({mediaInfos:e})),o&&i.push(E.fromJSON({displayType:\"auto\"}));const{showRelatedRecords:r,orderByFields:n}=s;return r&&n?.length&&n.forEach((t=>{const e=this._toRelationshipContent(t);e&&i.push(e)})),i.length?i:t}_getContentElementFields(t){const e=t?.type;if(\"attachments\"===e)return[...this._extractFieldNames(t.title),...this._extractFieldNames(t.description)];if(\"custom\"===e)return t.outFields||[];if(\"fields\"===e)return[...this._extractFieldNames(t.title),...this._extractFieldNames(t.description),...this._getFieldInfoFields(t.fieldInfos??this.fieldInfos)];if(\"media\"===e){const e=t.mediaInfos||[];return[...this._extractFieldNames(t.title),...this._extractFieldNames(t.description),...e.reduce(((t,e)=>[...t,...this._getMediaInfoFields(e)]),[])]}return\"text\"===e?this._extractFieldNames(t.text):\"relationship\"===e||\"utility-network-associations\"===e?[...this._extractFieldNames(t.title),...this._extractFieldNames(t.description)]:[]}_getMediaInfoFields(t){const{caption:e,title:o,value:s}=t,i=s||{},{fields:r,normalizeField:n,tooltipField:p,sourceURL:l,linkURL:a}=i,d=[...this._extractFieldNames(o),...this._extractFieldNames(e),...this._extractFieldNames(l),...this._extractFieldNames(a),...r??[]];return n&&d.push(n),p&&d.push(p),d}_getContentExpressionInfos(t,e){return Array.isArray(t)?t.reduce(((t,e)=>[...t,...\"expression\"===e.type&&e.expressionInfo?[e.expressionInfo]:[]]),e):[]}_getContentFields(t){return\"string\"==typeof t?this._extractFieldNames(t):Array.isArray(t)?t.reduce(((t,e)=>[...t,...this._getContentElementFields(e)]),[]):[]}async _collectExpressionInfoFields(t,e,o){o&&await Promise.all(o.map((o=>u(t,e,o.expression))))}_getFieldInfoFields(t){return t?t.filter((({fieldName:t,visible:e})=>!(void 0!==e&&!e||!t||t.startsWith(B)||t.startsWith(L)))).map((t=>t.fieldName)):[]}_getActionsFields(t){return t?t.toArray().reduce(((t,e)=>[...t,...this._getActionFields(e)]),[]):[]}_getActionFields(t){const{className:e,title:o,type:s}=t,i=\"button\"===s||\"toggle\"===s?t.image:\"\";return[...this._extractFieldNames(o),...this._extractFieldNames(e),...this._extractFieldNames(i)]}_getTitleFields(t){return\"string\"==typeof t?this._extractFieldNames(t):[]}_extractFieldNames(t){return h(t).filter((t=>!(0===t.indexOf(B)||0===t.indexOf(L))))}};t([p({type:M})],U.prototype,\"actions\",void 0),t([p()],U.prototype,\"content\",void 0),t([l(\"content\")],U.prototype,\"castContent\",null),t([a(\"content\",[\"description\",\"fieldInfos\",\"popupElements\",\"mediaInfos\",\"showAttachments\",\"relatedRecordsInfo\"])],U.prototype,\"readContent\",null),t([c(\"web-scene\",\"content\",{popupElements:{type:o.ofType(y)},showAttachments:{type:Boolean},mediaInfos:{type:o.ofType(g)},description:{type:String},relatedRecordsInfo:{type:x}})],U.prototype,\"writeWebSceneContent\",null),t([c(\"content\",{popupElements:{type:o.ofType(I)},showAttachments:{type:Boolean},mediaInfos:{type:o.ofType(g)},description:{type:String},relatedRecordsInfo:{type:x}})],U.prototype,\"writeWebMapContent\",null),t([p({type:[F],json:{write:!0}})],U.prototype,\"expressionInfos\",void 0),t([p({type:[_]})],U.prototype,\"fieldInfos\",void 0),t([c(\"fieldInfos\")],U.prototype,\"writeFieldInfos\",null),t([p({type:w})],U.prototype,\"layerOptions\",void 0),t([c(\"layerOptions\")],U.prototype,\"writeLayerOptions\",null),t([p({type:Boolean,json:{read:{source:\"showLastEditInfo\"},write:{target:\"showLastEditInfo\"},default:!0}})],U.prototype,\"lastEditInfoEnabled\",void 0),t([p()],U.prototype,\"outFields\",void 0),t([p()],U.prototype,\"overwriteActions\",void 0),t([p()],U.prototype,\"returnGeometry\",void 0),t([p({json:{type:String}})],U.prototype,\"title\",void 0),t([c(\"title\")],U.prototype,\"writeTitle\",null),U=t([d(\"esri.PopupTemplate\")],U);const q=U;export{q as default};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{deprecatedModule as e}from\"./core/deprecate.js\";import r from\"./core/Logger.js\";import t from\"./time/TimeExtent.js\";e(r.getLogger(\"esri.TimeExtent\"),\"esri.TimeExtent\",{replacement:\"esri.time.TimeExtent\",version:\"4.31\",warnOnce:!0});export{t as default};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{_ as r}from\"./chunks/tslib.es6.js\";import t from\"./Camera.js\";import{geometryTypes as e}from\"./geometry.js\";import{JSONSupport as o}from\"./core/JSONSupport.js\";import{property as s}from\"./core/accessorSupport/decorators/property.js\";import{cast as i}from\"./core/accessorSupport/decorators/cast.js\";import\"./core/RandomLCG.js\";import\"./core/has.js\";import{subclass as a}from\"./core/accessorSupport/decorators/subclass.js\";import{fromJSON as c}from\"./geometry/support/jsonUtils.js\";var n;let p=n=class extends o{constructor(r){super(r),this.rotation=0,this.scale=0,this.targetGeometry=null,this.camera=null}castRotation(r){return(r%=360)<0&&(r+=360),r}clone(){return new n({rotation:this.rotation,scale:this.scale,targetGeometry:null!=this.targetGeometry?this.targetGeometry.clone():null,camera:null!=this.camera?this.camera.clone():null})}};r([s({type:Number,json:{write:!0,origins:{\"web-map\":{default:0,write:!0},\"web-scene\":{write:{overridePolicy:l}}}}})],p.prototype,\"rotation\",void 0),r([i(\"rotation\")],p.prototype,\"castRotation\",null),r([s({type:Number,json:{write:!0,origins:{\"web-map\":{default:0,write:!0},\"web-scene\":{write:{overridePolicy:l}}}}})],p.prototype,\"scale\",void 0),r([s({types:e,json:{read:c,write:!0,origins:{\"web-scene\":{read:c,write:{overridePolicy:l}}}}})],p.prototype,\"targetGeometry\",void 0),r([s({type:t,json:{write:!0}})],p.prototype,\"camera\",void 0),p=n=r([a(\"esri.Viewpoint\")],p);const m=p;function l(){return{enabled:!this.camera}}export{m as default};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{_ as e}from\"./chunks/tslib.es6.js\";import{version as t}from\"./kernel.js\";import r from\"./Map.js\";import i from\"./Viewpoint.js\";import{isSome as o}from\"./core/arrayUtils.js\";import s from\"./core/Collection.js\";import n from\"./core/Error.js\";import a from\"./core/Loadable.js\";import{loadAll as p}from\"./core/loadAll.js\";import l from\"./core/Logger.js\";import{destroyMaybe as u}from\"./core/maybe.js\";import{MultiOriginJSONMixin as m}from\"./core/MultiOriginJSONSupport.js\";import{EsriPromiseMixin as h}from\"./core/Promise.js\";import{debounce as c}from\"./core/promiseUtils.js\";import{whenOnce as d}from\"./core/reactiveUtils.js\";import{addQueryParameter as g,isDataProtocol as f,dataComponents as b}from\"./core/urlUtils.js\";import{property as y}from\"./core/accessorSupport/decorators/property.js\";import\"./core/has.js\";import{reader as w}from\"./core/accessorSupport/decorators/reader.js\";import{subclass as A}from\"./core/accessorSupport/decorators/subclass.js\";import{writer as S}from\"./core/accessorSupport/decorators/writer.js\";import{readLoadable as _}from\"./core/accessorSupport/read.js\";import v from\"./geometry/SpatialReference.js\";import V from\"./portal/PortalItem.js\";import{typeKeyword as j}from\"./portal/support/portalItemUtils.js\";import I from\"./support/MapFloorInfo.js\";import U from\"./time/TimeExtent.js\";import{SaveOperationType as P}from\"./webdoc/interfaces.js\";import O from\"./webdoc/RangeInfo.js\";import x from\"./webdoc/Widgets.js\";import{getOptimalThumbnailSize as L}from\"./webdoc/support/thumbnailUtils.js\";import{loadFromSource as F}from\"./webdoc/support/webdocLoadUtils.js\";import{getLayerJSON as E}from\"./webdoc/support/writeUtils.js\";import R from\"./webmap/ApplicationProperties.js\";import k from\"./webmap/Bookmark.js\";import T from\"./webmap/InitialViewProperties.js\";import{Version as B}from\"./webmap/Version.js\";import N from\"./webmap/background/ColorBackground.js\";const J=s.ofType(k),M=new Map([[\"image/jpeg\",\"jpeg\"],[\"image/jpg\",\"jpg\"],[\"image/png\",\"png\"],[\"image/gif\",\"gif\"]]),Z=\"ArcGIS Pro\",W=j.JSAPI;let $=class extends(m(a.LoadableMixin(h(r)))){constructor(e){super(e),this._isAuthoringAppSetByUser=!1,this._isAuthoringAppVersionSetByUser=!1,this._thumbnailFilename=null,this._updateFromPromise=null,this.resourceReferences={portalItem:null,paths:[]},this.applicationProperties=null,this.bookmarks=new J,this.floorInfo=null,this.initialViewProperties=new T,this.portalItem=null,this.sourceVersion=null,this.widgets=null,this._debouncedSaveOperations=c((async(e,t,r)=>{const{save:i,saveAs:o}=await import(\"./webdoc/support/webdocSaveUtils.js\");switch(e){case P.SAVE:return i(this.context,this,t);case P.SAVE_AS:return o(this.context,this,r,t)}})),this.authoringApp=this.authoringAppVersion=null,this._isAuthoringAppSetByUser=this._isAuthoringAppVersionSetByUser=!1}destroy(){this.portalItem=u(this.portalItem)}initialize(){if(this.when().catch((e=>{l.getLogger(this).error(\"#load()\",\"Failed to load web map\",e)})),this.resourceInfo){let t;try{t=this._validateJSON(this.resourceInfo)}catch(e){return void this.addResolvingPromise(Promise.reject(e))}this.read(t)}}set authoringApp(e){this._isAuthoringAppSetByUser=!0,this._set(\"authoringApp\",e)}writeAuthoringApp(e,t){e&&this._isAuthoringAppSetByUser?t.authoringApp=e:t.authoringApp=W}set authoringAppVersion(e){this._isAuthoringAppVersionSetByUser=!0,this._set(\"authoringAppVersion\",e)}writeAuthoringAppVersion(e,r){e&&this._isAuthoringAppVersionSetByUser?r.authoringAppVersion=e:r.authoringAppVersion=t}readInitialViewProperties(e,t){const r=new T;t.background&&(r.background=N.fromJSON(t.background));const o=t.initialState?.timeExtent;o&&(r.timeExtent=U.fromArray(o));const s=t.initialState?.viewpoint;if(s){if(s.rotation){B.parse(t.version||\"\",\"webmap\").lessThan(2,20)&&t.authoringApp===Z&&(s.rotation*=-1)}r.viewpoint=i.fromJSON(s)}return t.mapRangeInfo&&(r.rangeInfo=O.fromJSON(t.mapRangeInfo)),t.spatialReference&&(r.spatialReference=v.fromJSON(t.spatialReference)),t.timeZone&&(r.timeZone=t.timeZone),r}writeInitialViewProperties(e,t,r,i){if(!e)return;e.background?.color&&(t.background=e.background.write({},i));const{timeExtent:o,viewpoint:s}=e;if(s||o){const e={};s&&(e.viewpoint=s.write({},i)),o&&(e.timeExtent=o.toArray()),t.initialState=e}e.rangeInfo&&(t.mapRangeInfo=e.rangeInfo.toJSON(i)),e.spatialReference&&(t.spatialReference=e.spatialReference.write({},i)),t.timeZone=e.timeZone}writeLayers(e,t,r,i){t[r]=this._writeLayers(e,i,\"operational-layers\")}readSourceVersion(e,t){const[r,i]=t.version.split(\".\");return new B(parseInt(r,10),parseInt(i,10))}writeSourceVersion(e,t,r){t[r]=`${this.context.currentVersion.major}.${this.context.currentVersion.minor}`}writeTables(e,t,r,i){const o=this._writeLayers(e,i,\"tables\");o.length&&(t[r]=o)}get thumbnailUrl(){return this.portalItem?.thumbnailUrl||null}set thumbnailUrl(e){e?(this._override(\"thumbnailUrl\",e),this._thumbnailFilename=this._generateCustomThumbnailFilename(e)):this._clearThumbnailOverride()}get updatingFromView(){return!!this._updateFromPromise}load(e){return this.addResolvingPromise(F(this.context,this)),Promise.resolve(this)}loadAll(){return p(this,(e=>{e(this.ground,this.basemap,this.layers,this.tables)}))}read(e,t){t={...t,origin:this.context.origin};const r=this._getAuthoringPropsState();_(this,e,(t=>super.read(e,t)),t),this._restoreAuthoringPropsFromState(r)}write(e,t){if(\"loaded\"!==this.loadStatus){const e=new n(\"webmap:not-loaded\",\"Web map must be loaded before it can be serialized\");throw l.getLogger(this).error(\"#toJSON()\",\"Web map must be loaded before it can be serialized\",this.loadError||this.loadStatus),e}return this._removeDanglingLayerRefs(),t={...t,origin:this.context.origin,restrictedWebMapWriting:!0,webmap:this},super.write(e,t)}async save(e){return this._debouncedSaveOperations(P.SAVE,e)}async saveAs(e,t){return this._debouncedSaveOperations(P.SAVE_AS,t,e)}async updateFrom(e,t){const r=this._updateFromInternal(e,t);this._updateFromPromise=r,await r;r===this._updateFromPromise&&(this._updateFromPromise=null)}getLayerJSONFromResourceInfo(e){const t=this.resourceInfo;return this._collectAllLayersJSON([...t?.baseMap?.baseMapLayers||[],...t?.operationalLayers||[],...this.basemap?.resourceInfo?.data?.baseMapLayers||[]]).find((t=>t.id===e.id))}async updateItemThumbnail(){this.thumbnailUrl&&this._isOverridden(\"thumbnailUrl\")&&(await(this.portalItem?.updateThumbnail({thumbnail:this.thumbnailUrl,filename:this._thumbnailFilename})),this._clearThumbnailOverride())}getThumbnailState(){let e=this.thumbnailUrl;return e&&(e=this._isOverridden(\"thumbnailUrl\")?e:g(e,\"w\",\"8192\")),{thumbnailUrl:e,filename:this._thumbnailFilename}}restoreThumbnailFromState(e){this.thumbnailUrl=e.thumbnailUrl,this._thumbnailFilename=e.filename}_collectAllLayersJSON(e){return e.reduce(((e,t)=>(e.push(t),\"GroupLayer\"===t.layerType&&(e=e.concat(this._collectAllLayersJSON(t.layers||[]))),e)),[])}_writeLayers(e,t,r){t={...t,layerContainerType:r};return e.map((e=>E(e,\"tables\"===r?null:this.getLayerJSONFromResourceInfo(e),t))).filter(o).toArray()}_validateJSON(e){const t=B.parse(e.version||\"\",\"webmap\");return this.context.currentVersion.validate(t),e.version=`${t.major}.${t.minor}`,e}_removeDanglingLayerRefs(){const e=this.applicationProperties,t=e?.viewing?.search,r=e=>this.allLayers.some((t=>t.id===e));if(t?.layers&&(t.layers=t.layers.filter((e=>r(e.id)))),t?.tables&&(t.tables=t.tables.filter((e=>this.tables.some((t=>t.id===e.id))))),e){const t=e.editing?.locationTracking;t?.info&&!r(t.info.layerId)&&(e.editing=null)}const i=\"presentation\"in this?this.presentation:null,o=i?.slides;o&&o.forEach((e=>{e.visibleLayers&&(e.visibleLayers=e.visibleLayers.filter((e=>r(e.id))))}))}async _updateFromInternal(e,t){if(t??={},await d((()=>e.ready)),this._updateInitialViewProperties(e,t),e.map===this)for(const r of e.allLayerViews)\"visible\"in r&&\"visible\"in r.layer&&r._isOverridden(\"visible\")&&(r.layer.visible=r.visible),\"featureEffect\"in r&&\"featureEffect\"in r.layer&&r._isOverridden(\"featureEffect\")&&(r.layer.featureEffect=r.featureEffect);await this._updateThumbnailUrl(e,t)}_updateInitialViewProperties(e,t){if(t.backgroundExcluded||(this.initialViewProperties.background=e.background?.clone()),this.initialViewProperties.spatialReference=e.spatialReference?.clone(),this.initialViewProperties.timeZone=e.timeZone,t.viewpointExcluded||(this.initialViewProperties.viewpoint=new i({rotation:e.rotation,scale:t.scalePreserved?e.scale:null,targetGeometry:this._getViewExtent(e)})),!t.widgetsExcluded)for(const r of e.persistableViewModels)r.updateWebDocument(this)}_getViewExtent(e){const t=e.center.clone().normalize(),r=e.extent.clone(),i=r.width/2;return r.xmin=t.x-i,r.xmax=t.x+i,r}async _updateThumbnailUrl(e,t){if(t.thumbnailExcluded)return;const r=L(e,t.thumbnailSize),i=await e.takeScreenshot({format:\"png\",width:r.width,height:r.height});this._setAutoGeneratedThumbnail(i.dataUrl)}_setAutoGeneratedThumbnail(e){this.thumbnailUrl=e,this._thumbnailFilename=null}_clearThumbnailOverride(){this._clearOverride(\"thumbnailUrl\"),this.clear(\"thumbnailUrl\",\"user\"),this._thumbnailFilename=null}_generateCustomThumbnailFilename(e){if(f(e)){const t=b(e),r=t?.mediaType,i=r&&M.get(r.toLowerCase())||null,o=`thumbnail${Date.now()}`;return i?`${o}.${i}`:o}return null}_getAuthoringPropsState(){return{authoringApp:this.authoringApp,authoringAppVersion:this.authoringAppVersion,isAuthoringAppSetByUser:this._isAuthoringAppSetByUser,isAuthoringAppVersionSetByUser:this._isAuthoringAppVersionSetByUser}}_restoreAuthoringPropsFromState(e){e.isAuthoringAppSetByUser?this.authoringApp=e.authoringApp:this._isAuthoringAppSetByUser=!1,e.isAuthoringAppVersionSetByUser?this.authoringAppVersion=e.authoringAppVersion:this._isAuthoringAppVersionSetByUser=!1}};e([y()],$.prototype,\"_updateFromPromise\",void 0),e([y({type:R,json:{write:!0}})],$.prototype,\"applicationProperties\",void 0),e([y({type:String,json:{write:{allowNull:!0,ignoreOrigin:!0}}})],$.prototype,\"authoringApp\",null),e([S(\"authoringApp\")],$.prototype,\"writeAuthoringApp\",null),e([y({type:String,json:{write:{allowNull:!0,ignoreOrigin:!0}}})],$.prototype,\"authoringAppVersion\",null),e([S(\"authoringAppVersion\")],$.prototype,\"writeAuthoringAppVersion\",null),e([y({type:J,json:{write:{overridePolicy:e=>({enabled:!!(e&&e.length>0),ignoreOrigin:!0})}}})],$.prototype,\"bookmarks\",void 0),e([y({type:I,json:{name:\"mapFloorInfo\",write:!0}})],$.prototype,\"floorInfo\",void 0),e([y({type:T,nonNullable:!0,json:{read:{source:[\"background\",\"initialState.timeExtent\",\"initialState.viewpoint\",\"mapRangeInfo\",\"spatialReference\",\"timeZone\"]},write:{ignoreOrigin:!0,target:{background:{type:N},\"initialState.timeExtent\":{type:U},\"initialState.viewpoint\":{type:i},mapRangeInfo:{type:O},spatialReference:{type:v},\"timeZone:\":{type:String}}}}})],$.prototype,\"initialViewProperties\",void 0),e([w(\"initialViewProperties\")],$.prototype,\"readInitialViewProperties\",null),e([S(\"initialViewProperties\")],$.prototype,\"writeInitialViewProperties\",null),e([y({json:{read:!1,write:{target:\"operationalLayers\",ignoreOrigin:!0}}})],$.prototype,\"layers\",void 0),e([S(\"layers\")],$.prototype,\"writeLayers\",null),e([y({type:V})],$.prototype,\"portalItem\",void 0),e([y()],$.prototype,\"resourceInfo\",void 0),e([y({readOnly:!0,type:B,json:{read:{source:\"version\"},write:{allowNull:!0,ignoreOrigin:!0,target:\"version\",isRequired:!0}}})],$.prototype,\"sourceVersion\",void 0),e([w(\"sourceVersion\")],$.prototype,\"readSourceVersion\",null),e([S(\"sourceVersion\")],$.prototype,\"writeSourceVersion\",null),e([y({json:{read:!1,write:{ignoreOrigin:!0}}})],$.prototype,\"tables\",void 0),e([S(\"tables\")],$.prototype,\"writeTables\",null),e([y()],$.prototype,\"thumbnailUrl\",null),e([y()],$.prototype,\"updatingFromView\",null),e([y({type:x,json:{write:!0}})],$.prototype,\"widgets\",void 0),$=e([A(\"esri.WebDocument2D\")],$);const C=$;export{C as default};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{_ as o}from\"./chunks/tslib.es6.js\";import t from\"./WebDocument2D.js\";import r from\"./core/Collection.js\";import e from\"./core/Error.js\";import{loadAll as s}from\"./core/loadAll.js\";import{property as i}from\"./core/accessorSupport/decorators/property.js\";import\"./core/has.js\";import\"./core/Logger.js\";import\"./core/RandomLCG.js\";import{subclass as p}from\"./core/accessorSupport/decorators/subclass.js\";import n from\"./networks/UtilityNetwork.js\";import m from\"./webdoc/GeotriggersInfo.js\";import a from\"./webdoc/IPSInfo.js\";import c from\"./webmap/InitialViewProperties.js\";import{currentVersion as l}from\"./webmap/utils.js\";import{Version as f}from\"./webmap/Version.js\";const u={currentVersion:l,createInitialViewProperties:()=>new c,parseVersion:f.parse,itemType:\"Web Map\",name:\"webmap\",origin:\"web-map\"},w=r.ofType(n);let y=class extends t{constructor(o){super(o),this.geotriggersInfo=null,this.ipsInfo=null,this.presentation=null,this.utilityNetworks=null}destroy(){if(this.utilityNetworks){const o=this.utilityNetworks.removeAll();for(const t of o)t.destroy();this.utilityNetworks.destroy()}}get context(){return u}loadAll(){return s(this,(o=>{o(this.ground,this.basemap,this.layers,this.tables,this.ipsInfo?.positioningService?.portalItem)}))}static fromJSON(o){if(o)return new this({resourceInfo:o});throw new e(\"webmap:empty-resource\",\"Expected a JSON resource but got nothing\")}};y.VERSION=l,o([i({type:m,json:{write:!0}})],y.prototype,\"geotriggersInfo\",void 0),o([i({type:a,json:{write:!0,name:\"mapIPSInfo\"}})],y.prototype,\"ipsInfo\",void 0),o([i({json:{write:!0}})],y.prototype,\"presentation\",void 0),o([i({type:w,json:{read:!0,write:!0}})],y.prototype,\"utilityNetworks\",void 0),y=o([p(\"esri.WebMap\")],y);const j=y;export{j as default};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{replace as e}from\"../core/string.js\";import{UnknownTimeZone as t}from\"../core/sql/UnknownTimeZone.js\";import{DateTime as n,Zone as r,FixedOffsetZone as s,IANAZone as i}from\"luxon\";var o;!function(e){e.TimeZoneNotRecognized=\"TimeZoneNotRecognized\"}(o||(o={}));const a={[o.TimeZoneNotRecognized]:\"Timezone identifier has not been recognized.\"};class d extends Error{constructor(t,n){super(e(a[t],n)),this.declaredRootClass=\"esri.arcade.arcadedate.dateerror\",Error.captureStackTrace&&Error.captureStackTrace(this,d)}}function u(e,t,n){return en?e-n:0}function c(e,t,n){return en?n:e}class m{constructor(e){this._date=e,this.declaredRootClass=\"esri.arcade.arcadedate\"}static fromParts(e=0,t=1,r=1,s=0,i=0,o=0,a=0,d){if(isNaN(e)||isNaN(t)||isNaN(r)||isNaN(s)||isNaN(i)||isNaN(o)||isNaN(a))return null;const l=n.local(e,t).daysInMonth;let f=n.fromObject({day:c(r,1,l),year:e,month:c(t,1,12),hour:c(s,0,23),minute:c(i,0,59),second:c(o,0,59),millisecond:c(a,0,999)},{zone:h(d)});return f=f.plus({months:u(t,1,12),days:u(r,1,l),hours:u(s,0,23),minutes:u(i,0,59),seconds:u(o,0,59),milliseconds:u(a,0,999)}),new m(f)}static get systemTimeZoneCanonicalName(){return Intl.DateTimeFormat().resolvedOptions().timeZone??\"system\"}static arcadeDateAndZoneToArcadeDate(e,n){const r=h(n);return e.isUnknownTimeZone||r===t.instance?m.fromParts(e.year,e.monthJS+1,e.day,e.hour,e.minute,e.second,e.millisecond,r):new m(e._date.setZone(r))}static dateJSToArcadeDate(e){return new m(n.fromJSDate(e,{zone:\"system\"}))}static dateJSAndZoneToArcadeDate(e,t=\"system\"){const r=h(t);return new m(n.fromJSDate(e,{zone:r}))}static unknownEpochToArcadeDate(e){return new m(n.fromMillis(e,{zone:t.instance}))}static unknownDateJSToArcadeDate(e){return new m(n.fromMillis(e.getTime(),{zone:t.instance}))}static epochToArcadeDate(e,t=\"system\"){const r=h(t);return new m(n.fromMillis(e,{zone:r}))}static dateTimeToArcadeDate(e){return new m(e)}clone(){return new m(this._date)}changeTimeZone(e){const t=h(e);return m.dateTimeToArcadeDate(this._date.setZone(t))}static dateTimeAndZoneToArcadeDate(e,n){const r=h(n);return e.zone===t.instance||r===t.instance?m.fromParts(e.year,e.month,e.day,e.hour,e.minute,e.second,e.millisecond,r):new m(e.setZone(r))}static nowToArcadeDate(e){const t=h(e);return new m(n.fromJSDate(new Date,{zone:t}))}static nowUTCToArcadeDate(){return new m(n.utc())}get isSystem(){return\"system\"===this.timeZone||this.timeZone===m.systemTimeZoneCanonicalName}equals(e){return this.isSystem&&e.isSystem?this.toNumber()===e.toNumber():this.isUnknownTimeZone===e.isUnknownTimeZone&&this._date.equals(e._date)}get isUnknownTimeZone(){return this._date.zone===t.instance}get isValid(){return this._date.isValid}get hour(){return this._date.hour}get second(){return this._date.second}get day(){return this._date.day}get dayOfWeekISO(){return this._date.weekday}get dayOfWeekJS(){let e=this._date.weekday;return e>6&&(e=0),e}get millisecond(){return this._date.millisecond}get monthISO(){return this._date.month}get weekISO(){return this._date.weekNumber}get yearISO(){return this._date.weekYear}get monthJS(){return this._date.month-1}get year(){return this._date.year}get minute(){return this._date.minute}get zone(){return this._date.zone}get timeZoneOffset(){return this.isUnknownTimeZone?0:this._date.offset}get timeZone(){if(this.isUnknownTimeZone)return\"unknown\";if(\"system\"===this._date.zone.type)return\"system\";const e=this.zone;return\"fixed\"===e.type?0===e.fixed?\"UTC\":e.formatOffset(0,\"short\"):e.name}stringify(){return JSON.stringify(this.toJSDate())}plus(e){return new m(this._date.plus(e))}diff(e,t=\"milliseconds\"){return this._date.diff(e._date,t)[t]}toISODate(){return this._date.toISODate()}toISOString(e){return e?this._date.toISO({suppressMilliseconds:!0,includeOffset:!this.isUnknownTimeZone}):this._date.toISO({includeOffset:!this.isUnknownTimeZone})}toISOTime(e,t){return this._date.toISOTime({suppressMilliseconds:e,includeOffset:t&&!this.isUnknownTimeZone})}toFormat(e,t){return this.isUnknownTimeZone&&(e=e.replaceAll(\"Z\",\"\")),this._date.toFormat(e,t)}toJSDate(){return this._date.toJSDate()}toSQLValue(){return this._date.toFormat(\"yyyy-LL-dd HH:mm:ss\")}toSQLWithKeyword(){return`timestamp '${this.toSQLValue()}'`}toDateTime(){return this._date}toNumber(){return this._date.toMillis()}getTime(){return this._date.toMillis()}toUTC(){return new m(this._date.toUTC())}toLocal(){return new m(this._date.toLocal())}toString(){return this.toISOString(!0)}static fromReaderAsTimeStampOffset(e){if(!e)return null;const t=n.fromISO(e,{setZone:!0});return new m(t)}}function h(e,n=!0){if(e instanceof r)return e;if(\"system\"===e.toLowerCase())return\"system\";if(\"utc\"===e.toLowerCase())return\"UTC\";if(\"unknown\"===e.toLowerCase())return t.instance;if(/^[+-]?[0-9]{1,2}([:][0-9]{2})?$/.test(e)){const t=s.parseSpecifier(\"UTC\"+(e.startsWith(\"+\")||e.startsWith(\"-\")?\"\":\"+\")+e);if(t)return t}const a=i.create(e);if(!a.isValid){if(n)throw new d(o.TimeZoneNotRecognized);return null}return a}export{m as ArcadeDate,d as ArcadeDateError,o as ArcadeDateErrorCodes,a as arcadeDateErrorMessages,h as createDateTimeZone};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nclass e{constructor(e,a){this.preLayerQueryCallback=e,this.preRequestCallback=a,this.preLayerQueryCallback||(this.preLayerQueryCallback=e=>{}),this.preRequestCallback||(this.preLayerQueryCallback=e=>{})}}export{e as FeatureSetQueryInterceptor};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{ArcadeDate as e}from\"../../ArcadeDate.js\";import{DateOnly as r}from\"../../../core/sql/DateOnly.js\";import{TimeOnly as t}from\"../../../core/sql/TimeOnly.js\";import i from\"../../../geometry/Extent.js\";import n from\"../../../layers/support/Field.js\";import{DateTime as o}from\"luxon\";var l,s;function y(e){return n.fromJSON(e.toJSON())}function u(e){return e.toJSON?e.toJSON():e}function p(e){return\"string\"==typeof e||e instanceof String}function a(e){return\"boolean\"==typeof e}function c(e){return\"number\"==typeof e}function m(e){return Array.isArray(e)}function f(e){return e instanceof Date}function d(e){return e instanceof o}function g(r){return r instanceof e}function T(e){return e instanceof r}function F(e){return e instanceof t}function G(e,r){return e===r||!(!f(e)&&!g(e)||!f(r)&&!g(r))&&e.getTime()===r.getTime()}function S(e){const r={};for(const t in e)r[t]=e[t];return r}function O(e){if(null==e)return null;if(\"number\"==typeof e)return e;switch(e.toLowerCase()){case\"meters\":case\"meter\":return 109404;case\"miles\":case\"mile\":return 109439;case\"kilometers\":case\"kilometer\":case\"km\":return 109414}return null}function v(e){if(null==e)return null;switch(e.type){case\"polygon\":case\"multipoint\":case\"polyline\":return e.extent;case\"point\":return new i({xmin:e.x,ymin:e.y,xmax:e.x,ymax:e.y,spatialReference:e.spatialReference});case\"extent\":return e}return null}function b(e){if(null==e)return null;if(\"number\"==typeof e)return e;if(\"number\"==typeof e)return e;switch(e.toLowerCase()){case\"meters\":case\"meter\":return 9001;case\"miles\":case\"mile\":return 9093;case\"kilometers\":case\"kilometer\":case\"km\":return 9036}return null}function I(e,r){return e===r||(\"point\"===e&&\"esriGeometryPoint\"===r||(\"polyline\"===e&&\"esriGeometryPolyline\"===r||(\"polygon\"===e&&\"esriGeometryPolygon\"===r||(\"extent\"===e&&\"esriGeometryEnvelope\"===r||(\"multipoint\"===e&&\"esriGeometryMultipoint\"===r||(\"point\"===r&&\"esriGeometryPoint\"===e||(\"polyline\"===r&&\"esriGeometryPolyline\"===e||(\"polygon\"===r&&\"esriGeometryPolygon\"===e||(\"extent\"===r&&\"esriGeometryEnvelope\"===e||\"multipoint\"===r&&\"esriGeometryMultipoint\"===e)))))))))}!function(e){e[e.Standardised=0]=\"Standardised\",e[e.StandardisedNoInterval=1]=\"StandardisedNoInterval\",e[e.SqlServer=2]=\"SqlServer\",e[e.Oracle=3]=\"Oracle\",e[e.Postgres=4]=\"Postgres\",e[e.PGDB=5]=\"PGDB\",e[e.FILEGDB=6]=\"FILEGDB\",e[e.NotEvaluated=7]=\"NotEvaluated\"}(l||(l={})),function(e){e[e.InFeatureSet=0]=\"InFeatureSet\",e[e.NotInFeatureSet=1]=\"NotInFeatureSet\",e[e.Unknown=2]=\"Unknown\"}(s||(s={}));const D=1e3;function P(e){return function(r){e.reject(r)}}function x(e,r){return function(){try{e.apply(null,arguments)}catch(t){r.reject(t)}}}const N={point:\"point\",polygon:\"polygon\",polyline:\"polyline\",multipoint:\"multipoint\",extent:\"extent\",esriGeometryPoint:\"point\",esriGeometryPolygon:\"polygon\",esriGeometryPolyline:\"polyline\",esriGeometryMultipoint:\"multipoint\",esriGeometryEnvelope:\"extent\",envelope:\"extent\"},w={point:\"esriGeometryPoint\",polygon:\"esriGeometryPolygon\",polyline:\"esriGeometryPolyline\",multipoint:\"esriGeometryMultipoint\",extent:\"esriGeometryEnvelope\",esriGeometryPoint:\"esriGeometryPoint\",esriGeometryPolygon:\"esriGeometryPolygon\",esriGeometryPolyline:\"esriGeometryPolyline\",esriGeometryMultipoint:\"esriGeometryMultipoint\",esriGeometryEnvelope:\"esriGeometryEnvelope\",envelope:\"esriGeometryEnvelope\"},E={\"small-integer\":\"esriFieldTypeSmallInteger\",integer:\"esriFieldTypeInteger\",long:\"esriFieldTypeLong\",single:\"esriFieldTypeSingle\",double:\"esriFieldTypeDouble\",string:\"esriFieldTypeString\",date:\"esriFieldTypeDate\",\"date-only\":\"esriFieldTypeDateOnly\",\"time-only\":\"esriFieldTypeTimeOnly\",\"timestamp-offset\":\"esriFieldTypeTimestampOffset\",oid:\"esriFieldTypeOID\",geometry:\"esriFieldTypeGeometry\",blob:\"esriFieldTypeBlob\",raster:\"esriFieldTypeRaster\",guid:\"esriFieldTypeGUID\",\"global-id\":\"esriFieldTypeGlobalID\",xml:\"esriFieldTypeXML\",\"big-integer\":\"esriFieldTypeBigInteger\",esriFieldTypeSmallInteger:\"esriFieldTypeSmallInteger\",esriFieldTypeInteger:\"esriFieldTypeInteger\",esriFieldTypeLong:\"esriFieldTypeLong\",esriFieldTypeSingle:\"esriFieldTypeSingle\",esriFieldTypeDouble:\"esriFieldTypeDouble\",esriFieldTypeString:\"esriFieldTypeString\",esriFieldTypeDate:\"esriFieldTypeDate\",esriFieldTypeDateOnly:\"esriFieldTypeDateOnly\",esriFieldTypeTimeOnly:\"esriFieldTypeTimeOnly\",esriFieldTypeTimestampOffset:\"esriFieldTypeTimestampOffset\",esriFieldTypeOID:\"esriFieldTypeOID\",esriFieldTypeGeometry:\"esriFieldTypeGeometry\",esriFieldTypeBlob:\"esriFieldTypeBlob\",esriFieldTypeRaster:\"esriFieldTypeRaster\",esriFieldTypeGUID:\"esriFieldTypeGUID\",esriFieldTypeGlobalID:\"esriFieldTypeGlobalID\",esriFieldTypeXML:\"esriFieldTypeXML\",esriFieldTypeBigInteger:\"esriFieldTypeBigInteger\"};function h(e){switch(e){case\"point\":default:return\"esriGeometryPoint\";case\"polygon\":return\"esriGeometryPolygon\";case\"multipoint\":return\"esriGeometryMultipoint\";case\"polyline\":return\"esriGeometryPolyline\"}}function k(e){return void 0===e?\"\":e=(e=(e=e.replace(/\\/featureserver\\/[0-9]*/i,\"/FeatureServer\")).replace(/\\/mapserver\\/[0-9]*/i,\"/MapServer\")).split(\"?\")[0]}function J(e,r){r||(r={}),\"function\"==typeof r&&(r={cmp:r});const t=\"boolean\"==typeof r.cycles&&r.cycles,i=r.cmp&&(n=r.cmp,function(e){return function(r,t){const i={key:r,value:e[r]},o={key:t,value:e[t]};return n(i,o)}});var n;const o=[];return function e(r){if(r?.toJSON&&\"function\"==typeof r.toJSON&&(r=r.toJSON()),void 0===r)return;if(\"number\"==typeof r)return isFinite(r)?\"\"+r:\"null\";if(\"object\"!=typeof r)return JSON.stringify(r);let n,l;if(Array.isArray(r)){for(l=\"[\",n=0;nn[i]})}}return Object.freeze(Object.defineProperty(t,Symbol.toStringTag,{value:\"Module\"}))}var s,n={exports:{}};function h(){return s||(s=1,function(t){function i(){function t(t){if(\"number\"==typeof t)return Q.Tc.Zg(t);if(null==t)return null;if(null!=rt[t])return Q.Tc.Zg(rt[t]);throw Error(\"Unrecognised Unit Type\")}function i(t){if(\"number\"==typeof t)return Q.Tc.Zg(t);if(null==t)return null;if(null!=et[t])return Q.Tc.Zg(et[t]);throw Error(\"Unrecognised Unit Type\")}function s(t){if(t)switch(t){case\"loxodrome\":return 1;case\"great-elliptic\":return 2;case\"normal-section\":return 3;case\"shape-preserving\":return 4}return 0}function n(t,i,s,n){if(null==s||s.B())return null;switch(s.getType()){case Q.qn.Point:return t.exportPoint(i,s,n);case Q.qn.Polygon:return t.exportPolygon(i,s,n);case Q.qn.Polyline:return t.exportPolyline(i,s,n);case Q.qn.MultiPoint:return t.exportMultipoint(i,s,n);case Q.qn.Envelope:return t.exportExtent(i,s,n)}return null}function h(t,i,s,n){if(s.getType()!==Q.qn.Point)throw Error(\"Geometry not Point\");return t.exportPoint(i,s,n)}function r(t,i,s){return t.convertToGEGeometry(i,s)}function e(t){var i=t.wkid;t=t.wkt2||t.wkt;var s=ot.get(i||t);return null==s&&(-1!==i&&null!=i?(s=Q.Eg.create(i),ot.set(i,s)):t&&(s=Q.Eg.qP(t),ot.set(t,s)),ut.has(i||t)&&s.VW(ut.get(i||t))),s}function o(t){var i,s,n;if(null==t)return null;var h=e(t);return t=h.Hd(),h=h.Kn(),(i={}).tolerance=h,i.unitType=null==t?-1:t.od,i.unitID=null==t?-1:t.Ec(),i.unitBaseFactor=null==t?0:t.ai,i.unitSquareDerivative=null==t?0:null!==(n=null===(s=Q.Tc.aG(t))||void 0===s?void 0:s.Ec())&&void 0!==n?n:0,i}function a(t,i,s,h){return null==s?null:(s=Q.$b.clip(r(t,at,s),r(t,at,h),e(i)),n(t,at,s,i))}function u(t,i,s,h){s=Q.$b.dl(r(t,at,s),r(t,at,h),e(i)),h=[];for(var o=0;o>6)>>1},i.Rn=function(t){return!!(32&t)},i.US=function(t){return!!(128&t)},i.yd=function(t){return!!(256&t)},i.xj=function(t){return!!(512&t)},i.Hc=function(t){return!!(1024&t)},i.prototype.Of=function(){var t=this.Ia();return this.copyTo(t),t},i.prototype.mg=function(){return null},i.jg=function(t){var i=t.Ia();return t.copyTo(i),i},i.prototype.vc=function(){0<=this.VA&&(this.VA+=2147483649)},i.Ax=function(s){var n=s.getType();if(i.xj(n))return s.I();if(s.B())return 0;if(197==n)return 4;if(33==n)return 1;if(i.yd(n))return 2;throw t.i.fa(\"missing type\")},i}();t.aa=s}(Q||(Q={})),$=Q||(Q={}),Z=function(){function t(){this.y=this.x=0}return t.construct=function(i,s){var n=new t;return n.x=i,n.y=s,n},t.al=function(i){var s=new t;return s.x=i.x,s.y=i.y,s},t.prototype.ma=function(t,i){this.x=t,this.y=i},t.prototype.L=function(t){this.x=t.x,this.y=t.y},t.prototype.fq=function(t,i){return this.x===t&&this.y===i},t.prototype.Rz=function(t){return 2220446049250313e-31>=Math.abs(this.x-t.x)&&2220446049250313e-31>=Math.abs(this.y-t.y)},t.prototype.qb=function(t){return this.x===t.x&&this.y===t.y},t.prototype.Nb=function(i){return i==this||i instanceof t&&this.x==i.x&&this.y==i.y},t.prototype.sub=function(t){this.x-=t.x,this.y-=t.y},t.prototype.uc=function(t,i){this.x=t.x-i.x,this.y=t.y-i.y},t.prototype.add=function(t,i){void 0!==i?(this.x=t.x+i.x,this.y=t.y+i.y):(this.x+=t.x,this.y+=t.y)},t.prototype.Sq=function(){this.x=-this.x,this.y=-this.y},t.prototype.mt=function(t){this.x=-t.x,this.y=-t.y},t.prototype.NS=function(t,i,s){this.x=t.x*(1-s)+i.x*s,this.y=t.y*(1-s)+i.y*s},t.prototype.Ct=function(t,i){this.x=this.x*t+i.x,this.y=this.y*t+i.y},t.prototype.HW=function(t,i,s){this.x=i.x*t+s.x,this.y=i.y*t+s.y},t.prototype.scale=function(t){this.x*=t,this.y*=t},t.prototype.compare=function(t){return this.yt.y?1:this.xt.x?1:0},t.prototype.normalize=function(){var t=this.length();0==t&&(this.x=1,this.y=0),this.x/=t,this.y/=t},t.prototype.length=function(){return Math.sqrt(this.x*this.x+this.y*this.y)},t.prototype.Sk=function(){return this.x*this.x+this.y*this.y},t.tb=function(t,i){return Math.sqrt(this.yc(t,i))},t.Oy=function(t,i,s,n){return t-=s,i-=n,Math.sqrt(t*t+i*i)},t.prototype.Qh=function(t){return this.x*t.x+this.y*t.y},t.prototype.fD=function(t){return Math.abs(this.x*t.x)+Math.abs(this.y*t.y)},t.prototype.wi=function(t){return this.x*t.y-this.y*t.x},t.prototype.Bt=function(t,i){var s=-this.x*i+this.y*t;this.x=this.x*t+this.y*i,this.y=s},t.prototype.Hv=function(){var t=this.x;this.x=-this.y,this.y=t},t.prototype.MG=function(t){this.x=-t.y,this.y=t.x},t.prototype.ar=function(){var t=this.x;this.x=this.y,this.y=-t},t.prototype.qu=function(){return 0(t=t.wi(i))?1:0(s=n.value())?-1:0t?-1:0=s?t+(i-t)*s:i-(i-t)*(1-s)},t.OG=function(t,i,s,n){.5>=s?(n.x=t.x+(i.x-t.x)*s,n.y=t.y+(i.y-t.y)*s):(n.x=i.x-(i.x-t.x)*(1-s),n.y=i.y-(i.y-t.y)*(1-s))},t.lT=function(t,i,s,n,h,r){.5>=h?(r.x=t+(s-t)*h,r.y=i+(n-i)*h):(r.x=s-(s-t)*(1-h),r.y=n-(n-i)*(1-h))},t}()}(Q||(Q={})),function(t){var i=function(i){function s(){var t=i.call(this)||this;return t.sa=0,t.na=0,t.pa=0,t.la=0,t.ka=null,t}return _(s,i),s.prototype.ac=function(){return t.h.construct(this.sa,this.na)},s.prototype.Yp=function(t){t.x=this.sa,t.y=this.na},s.prototype.Dc=function(t){this.em(0,t)},s.prototype.ZB=function(i,s){this.em(0,t.h.construct(i,s))},s.prototype.To=function(t){this.hD(0,t)},s.prototype.setStart=function(t){this.uD(0,t)},s.prototype.wv=function(t,i){return this.Od(0,t,i)},s.prototype.YB=function(t,i,s){this.tn(0,t,i,s)},s.prototype.wc=function(){return t.h.construct(this.pa,this.la)},s.prototype.Tr=function(t){t.x=this.pa,t.y=this.la},s.prototype.Qc=function(t){this.em(1,t)},s.prototype.Ql=function(i,s){this.em(1,t.h.construct(i,s))},s.prototype.Po=function(t){this.hD(1,t)},s.prototype.setEnd=function(t){this.uD(1,t)},s.prototype.gv=function(t,i){return this.Od(1,t,i)},s.prototype.OB=function(t,i,s){this.tn(1,t,i,s)},s.prototype.Db=function(){return 1},s.prototype.B=function(){return this.Ac()},s.prototype.Oa=function(){},s.prototype.Ke=function(){return 0},s.prototype.Ea=function(t,i,s,n,h){return this.KM(t,i,s,n,h)},s.prototype.isIntersecting=function(t,i){return 0!=this.zr(t,i,!1)},s.prototype.qs=function(t,i){return this.ru(t,i,!1)},s.prototype.ru=function(){return null},s.prototype.Ac=function(){return!1},s.prototype.ay=function(i){if(this.vc(),null==this.ka&&0=t.ra.Va(n))throw t.i.ce();var r=this.description.Pf(n);return 0<=r?(null!=this.ka&&this.ay(this.description.Ae.length-2),this.ka[s.Gg(this.description,i)+this.description.$j(r)-2+h]):t.ra.se(n)},s.prototype.tn=function(i,n,h,r){if(this.vc(),h>=t.ra.Va(n))throw t.i.ce();var e=this.description.Pf(n);0>e&&(this.re(n),e=this.description.Pf(n)),0==n?0!=i?0!=h?this.la=r:this.pa=r:0!=h?this.na=r:this.sa=r:(null==this.ka&&this.ay(this.description.Ae.length-2),this.ka[s.Gg(this.description,i)+this.description.$j(e)-2+h]=r)},s.prototype.copyTo=function(i){if(i.getType()!=this.getType())throw t.i.N();i.description=this.description,i.ay(this.description.Ae.length-2),s.gM(this.ka,i.ka,2*(this.description.Ae.length-2)),i.sa=this.sa,i.na=this.na,i.pa=this.pa,i.la=this.la,i.vc(),this.op(i)},s.prototype.Tg=function(i,s){var n=new t.Nc;return this.Ac()?(n.Oa(),n):(n.oa=this.Od(0,i,s),n.va=n.oa,n.Lk(this.Od(1,i,s)),n)},s.prototype.ZI=function(t){this.Ac()?t.Oa():(t.oa=this.Od(0,0,0),t.va=t.oa,t.Lk(this.Od(1,0,0)))},s.prototype.Tw=function(i,s){s.Nf(this.description),s.Cb(this.hc(i));for(var n=1,h=this.description.Aa;ni||i>=this.wa)throw t.i.fa(\"index out of bounds\");this.mc(),s.Nf(this.description),s.B()&&s.un();for(var n=0;ni||i>=this.I())throw t.i.ce();this.mc(),this.za[0].tc(2*i,s)},s.prototype.Na=function(i){var s=new t.h;return this.D(i,s),s},s.prototype.Gc=function(t,i){this.za[0].tc(2*t,i)},s.prototype.Cb=function(i,s,n){if(0>i||i>=this.wa)throw t.i.ce();this.mc();var h=this.za[0];void 0!==n?(h.write(2*i,s),h.write(2*i+1,n)):h.Tt(2*i,s),this.Pc(1993)},s.prototype.Cz=function(){if(void 0>=this.I())throw t.i.ce();this.mc();var i=this.za[0],s=new t.Nd;return s.x=i.read(NaN),s.y=i.read(NaN),s.z=this.hasAttribute(1)?this.za[1].eg():t.ra.se(1),s},s.prototype.dC=function(i){if(0>i||i>=this.I())throw t.i.ce();this.re(1),this.mc(),this.Pc(1993);var s=this.za[0];s.write(2*i,(void 0).x),s.write(2*i+1,(void 0).y),this.za[1].pr(i,(void 0).z)},s.prototype.Uc=function(i,s,n){if(0>s||s>=this.wa)throw t.i.ce();var h=t.ra.Va(i);if(n>=h)throw t.i.ce();this.mc();var r=this.description.Pf(i);return 0<=r?this.za[r].eg(s*h+n):t.ra.se(i)},s.prototype.yF=function(t,i){return this.Uc(t,i)},s.prototype.setAttribute=function(i,s,n,h){if(0>s||s>=this.wa)throw t.i.ce();var r=t.ra.Va(i);if(n>=r)throw t.i.ce();this.re(i),this.mc(),i=this.description.Pf(i),this.Pc(1993),this.za[i].pr(s*r+n,h)},s.prototype.ub=function(t){return this.wx(),this.re(t),this.mc(),this.za[this.description.Pf(t)]},s.prototype.hn=function(i,s){if(null!=s&&t.ra.Tp(i)!=s.Tp())throw t.i.N();this.re(i),i=this.description.Pf(i),null==this.za&&(this.za=t.Yc.qI(this.description.Aa)),this.za[i]=s,this.Pc(16777215)},s.prototype.sn=function(i){var s=null;if(null!=this.za){var n=t.ee.Iw(i,this.description);s=[];for(var h=0,r=i.Aa;hthis.wa+5?(5*this.wa+3)/4:this.wa),this.za[i].resize(h*n,t.ra.se(s))),hi)throw t.i.N();i!=this.wa&&(this.wa=i,this.Pc(65535))},s.prototype.om=function(t){if(!this.ak(1)){if(!this.ak(2))return 0;if(this.QT>=t)return this.ak(8)?1:2}return-1},s.prototype.Ch=function(i,s){if(this.QT=s,-1==i)this.Lf(1,!0),this.Lf(8,!0);else if(this.Lf(1,!1),this.Lf(8,!0),0==i)this.Lf(2,!1),this.Lf(4,!1);else if(1==i)this.Lf(2,!0),this.Lf(4,!1);else{if(2!=i)throw t.i.fa(\"internal error.\");this.Lf(2,!0),this.Lf(4,!0)}},s.prototype.lM=function(){null!=this.Bb&&(this.Bb=null)},s.prototype.kD=function(i,s,n,h){if(0>i||i>=this.wa)throw t.i.fa(\"index out of bounds\");if(0>s||s>=this.wa)throw t.i.fa(\"index out of bounds\");this.mc(),h.Nf(this.description),h.B()&&h.un();for(var r=0;ri||i>=this.wa)throw t.i.ce();this.mc();var s=new t.Sa;s.Nf(this.description),s.B()&&s.un();for(var n=0;ni||i>=this.wa)throw t.i.ce();if(s.B())throw t.i.N();this.mc();for(var n=s.description,h=0;ht.O.bB(this.Tm)>>1:-1!=s)?i=s:h=o,s=!0;;){if(0>h){if(-1==(o=e[7*i])){h=i,n=this.ob.Ll([-1,-1,i,n,this.gl(),-1,-1]),(e=this.ob.o)[7*i]=n;break}i=o}else{if(-1==(o=e[7*i+1])){h=e[7*i+6],n=this.ob.Ll([-1,-1,i,n,this.gl(),-1,-1]),(e=this.ob.o)[7*i+1]=n;break}i=o}s&&(h*=-1,s=!1)}return this.oy(n,e),-1===e[7*n+2]&&(e[7*r]=n),this.vp(h,n,r,e),n},i.prototype.FF=function(){return this.iR(this.Qe)},i.prototype.vd=function(t,i){i=-1==i?this.Qe:i,this.Rv?this.LP(t,i):this.iY(t,i)},i.prototype.search=function(t,i){for(i=this.sv(i);-1!=i;){var s=this.Zn.compare(this,t,i);if(0==s)return i;i=0>s?this.ll(i):this.Xp(i)}return-1},i.prototype.IW=function(t){for(var i=this.sv(-1),s=-1;-1!=i;){var n=t.compare(this,i);if(0==n)return i;0>n?i=this.ll(i):(s=i,i=this.Xp(i))}return s},i.prototype.uJ=function(t){for(var i=this.sv(-1),s=-1;-1!=i;){var n=t.compare(this,i);if(0==n)return i;0>n?(s=i,i=this.ll(i)):i=this.Xp(i)}return s},i.prototype.ja=function(t){return this.ob.T(t,3)},i.prototype.ll=function(t){return this.ob.T(t,0)},i.prototype.Xp=function(t){return this.ob.T(t,1)},i.prototype.getParent=function(t){return this.ob.T(t,2)},i.prototype.lb=function(t){return this.ob.T(t,6)},i.prototype.we=function(t){return this.ob.T(t,5)},i.prototype.rc=function(t){return-1==t?this.kl(this.Qe):this.kl(t)},i.prototype.Fc=function(t){return-1==t?this.Zr(this.Qe):this.Zr(t)},i.prototype.ZR=function(t){return-1==t?this.bG(this.Qe):this.bG(t)},i.prototype.Sj=function(t,i){this.NB(t,i)},i.prototype.sv=function(t){return-1==t?this.YF(this.Qe):this.YF(t)},i.prototype.clear=function(){this.ob.mj(!1),this.Qe=-1},i.prototype.size=function(t){return-1==t?this.$F(this.Qe):this.$F(t)},i.prototype.KN=function(t,i){for(var s=i[7*t],n=i[7*t+1],h=i[7*t+4];-1!=s||-1!=n;){var r=-1!=s?i[7*s+4]:2147483647;if(n=-1!=n?i[7*n+4]:2147483647,h<=Math.min(r,n))break;r<=n?this.sJ(s,i):this.rJ(t,i),s=i[7*t],n=i[7*t+1]}},i.prototype.oy=function(t,i){if(this.Rv)for(var s=i[7*t+4],n=i[7*t+2];-1!=n&&i[7*n+4]>s;)i[7*n]==t?this.sJ(t,i):this.rJ(n,i),n=i[7*t+2]},i.prototype.rJ=function(t,i){var s=i[7*t+1];i[7*s+2]=i[7*t+2],i[7*t+2]=s;var n=i[7*s];i[7*t+1]=n,-1!=n&&(i[7*n+2]=t),i[7*s]=t,-1!=(n=i[7*s+2])&&(i[7*n]==t?i[7*n]=s:i[7*n+1]=s)},i.prototype.sJ=function(t,i){var s=i[7*t+2];i[7*t+2]=i[7*s+2],i[7*s+2]=t;var n=i[7*t+1];i[7*s]=n,-1!=n&&(i[7*n+2]=s),i[7*t+1]=s,-1!=(n=i[7*t+2])&&(i[7*n]===s?i[7*n]=t:i[7*n+1]=t)},i.prototype.Pk=function(t,i){this.ob.S(t,2,i)},i.prototype.TB=function(t,i){this.ob.S(t,0,i)},i.prototype.XB=function(t,i){this.ob.S(t,1,i)},i.prototype.WB=function(t,i){this.ob.S(t,5,i)},i.prototype.ex=function(t,i){this.ob.S(t,6,i)},i.prototype.XJ=function(t,i){this.ob.S(i,0,t)},i.prototype.rX=function(t){this.ob.S(t,4,0)},i.prototype.uX=function(t,i){this.ob.S(i,5,t)},i.prototype.YF=function(t){return-1==t?-1:this.ob.T(t,0)},i.prototype.kl=function(t){return-1==t?-1:this.ob.T(t,1)},i.prototype.Zr=function(t){return-1==t?-1:this.ob.T(t,2)},i.prototype.iR=function(t){return-1==t?-1:this.ob.T(t,3)},i.prototype.$F=function(t){return-1==t?0:this.ob.T(t,4)},i.prototype.bG=function(t){return this.ob.T(t,5)},i.prototype.Pw=function(){return this.ob.Ll([-1,-1,-1,void 0,this.gl(),-1,-1])},i.prototype.fl=function(t){-1!=t&&this.ob.jd(t)},i.prototype.gl=function(){return this.Tm=t.O.bB(this.Tm),1073741823&this.Tm},i.prototype.FD=function(t,i,s){var n=this.ob.o;if(-1==s||-1==n[7*s])return t=this.ob.Ll([-1,-1,-1,t,this.gl(),-1,-1]),(n=this.ob.o)[7*s]=t,this.vp(-1,t,s,n),t;for(var h=-1==s?-1:n[7*s];;){var r=-1==i?1:this.Zn.compare(this,t,h);if(0>r){if(-1==(r=this.ll(h))){i=h,t=this.ob.Ll([-1,-1,h,t,this.gl(),-1,-1]),(n=this.ob.o)[7*h]=t;break}h=r}else{if(1==i&&0==r)return n[7*s+3]=h,-1;if(-1==(r=n[7*h+1])){i=n[7*h+6],t=this.ob.Ll([-1,-1,h,t,this.gl(),-1,-1]),(n=this.ob.o)[7*h+1]=t;break}h=r}}return this.oy(t,n),-1===n[7*t+2]&&(n[7*s]=t),this.vp(i,t,s,n),t},i.prototype.vp=function(t,i,s,n){if(-1!=t){var h=n[7*t+5];n[7*t+5]=i}else h=-1==s?-1:n[7*s+2];n[7*i+5]=h,-1!=h&&(n[7*h+6]=i),n[7*i+6]=t,t==(-1==s?-1:n[7*s+1])&&(n[7*s+1]=i),-1==t&&(n[7*s+2]=i),n[7*s+4]=(-1==s?0:n[7*s+4])+1},i.prototype.AB=function(t,i){var s=this.ob.o,n=s[7*t+5];t=s[7*t+6],-1!=n?s[7*n+6]=t:s[7*i+1]=t,-1!=t?s[7*t+5]=n:s[7*i+2]=n,s[7*i+4]=-1===i?-1:s[7*i+4]-1},i.prototype.iY=function(i,s){this.AB(i,s);var n=this.ll(i),h=this.Xp(i),r=this.getParent(i),e=i;if(-1!=n&&-1!=h){this.Tm=t.O.bB(this.Tm);var o=1073741823=t.oa:t.va>=this.oa},i.prototype.move=function(t){this.B()||(this.oa+=t,this.va+=t)},i.prototype.normalize=function(){if(!isNaN(this.oa)){if(this.oa>this.va){var t=this.oa;this.oa=this.va,this.va=t}isNaN(this.va)&&this.Oa()}},i.prototype.Oa=function(){this.va=this.oa=NaN},i.prototype.B=function(){return isNaN(this.oa)},i.prototype.Zb=function(t){\"number\"==typeof t?this.B()?this.va=this.oa=t:this.Lk(t):t.B()||(this.B()?(this.oa=t.oa,this.va=t.va):(this.oa>t.oa&&(this.oa=t.oa),this.vathis.va&&this.Oa()))},i.prototype.Lk=function(t){tthis.va&&(this.va=t)},i.prototype.contains=function(t){return\"number\"==typeof t?t>=this.oa&&t<=this.va:t.oa>=this.oa&&t.va<=this.va},i.prototype.Ea=function(t){this.B()||t.B()?this.Oa():(this.oat.va&&(this.va=t.va),this.oa>this.va&&this.Oa())},i.prototype.W=function(t){this.B()||(this.oa-=t,this.va+=t,this.vai?(this.oa=i,this.va=t):(this.oa=t,this.va=i)},i.prototype.It=function(i){return t.O.Rk(i,this.oa,this.va)},i.prototype.R=function(){return this.va-this.oa},i.prototype.sf=function(){return.5*(this.oa+this.va)},i.prototype.Nb=function(t){return t==this||t instanceof i&&(!(!this.B()||!t.B())||this.oa==t.oa&&this.va==t.va)},i.prototype.cc=function(){return t.O.uj(t.O.uj())},i}();t.Nc=i}(Q||(Q={})),function(t){var i=new t.Nc,s=new t.Nc,n=function(){this.ne=null,this.pb=-1,this.sb=new t.yb,this.qA=55555555,this.Tv=this.Vv=!1,this.Uf=new t.Nc,this.Uf.KB(0,0)};t.IY=n;var h=function(){function h(i,s,h){this.g=i,this.Hk=NaN,this.NH=this.Kq=0,this.OH=NaN,this.qa=s,this.Nq=10*s,this.PH=this.QH=NaN,this.rg=!1,this.Dm=this.gt=this.Lo=this.Xs=this.Ws=-1,this.gA=h,this.TA=new n,this.YH=new n,t.O.truncate(3*i.fd/2)}return h.prototype.mG=function(t,i,s,n){t.ne=null===n?null:n[s[5*i]],t.Tv=null!=t.ne,t.Tv||(-1!==(n=s[5*i+2])&&this.g.mW(s[5*i],s[5*n],t.sb),t.ne=t.sb,t.Uf.KB(t.sb.sa,t.sb.pa),t.Uf.va+=this.qa,t.sb.rI(),t.Vv=t.sb.la==t.sb.na,t.Vv||(t.qA=(t.sb.pa-t.sb.sa)/(t.sb.la-t.sb.na)))},h.prototype.OO=function(t,i){var s=t.zr(i,this.qa,!0);return 0!=s?2==s?this.Qy():this.xi():(t.Yp(it),t.Tr(st),i.Yp(nt),i.Tr(ht),tt.ma(this.Kq,this.Hk),it.qb(nt)&&this.Hk==it.y?0>st.compare(ht)?tt.L(st):tt.L(ht):it.qb(ht)&&this.Hk==it.y?0>st.compare(nt)?tt.L(st):tt.L(nt):nt.qb(st)&&this.Hk==nt.y?0>it.compare(ht)?tt.L(it):tt.L(ht):st.qb(ht)&&this.Hk==st.y&&(0>it.compare(nt)?tt.L(it):tt.L(nt)),t.Pe(tt.y,tt.x)s&&0>t?-1:0i.pa){if(i.pa>i.sa&&i.la-i.na<2*this.qa&&t.vi(i.pa,i.la,this.qa))return this.xi()}else if((i.la-i.na)/(i.pa-i.sa)*(t.pa-t.sa)i.sa&&i.la-i.na<2*this.qa&&t.vi(i.pa,i.la,this.qa))return this.xi()}else if((i.la-i.na)/(i.pa-i.sa)*(t.sa-t.pa)h&&0>n?-1:0i+r?s:n.vi(t.sa,t.na,this.qa)?this.xi():hi+r?s:n.vi(t.pa,t.la,this.qa)?this.xi():he?1:0)},h.prototype.Kr=function(){this.rg=!1},h.prototype.rm=function(){return this.Ni},h.prototype.$J=function(t,i){this.Hk=t,this.Kq=i,this.gt=this.Lo=this.Xs=this.Ws=-1},h.prototype.compare=function(t,i,s){return this.rg?-1:(t=t.ja(s),this.Dm=s,this.RE(i,i,t,t))},h.prototype.RE=function(t,i,s,n){if(this.Lo==i)var h=this.TA;else this.Lo=i,h=this.TA,this.TA.pb=t,this.mG(h,i,this.g.td.o,this.g.We);if(null==r){this.gt=n;var r=this.YH;this.YH.pb=s,this.mG(r,n,this.g.td.o,this.g.We)}return h.Tv||r.Tv?this.NO(i,n,h,r):h.Uf.vathis.Uf.va)return 1;if(this.ie.na==this.ie.la)return this.Dm=i,this.rg=!0,0;this.ie.rI(),n=this.ie.ac(),(s=new t.h).uc(this.ie.wc(),n),s.ar();var h=new t.h;return h.uc(this.Gq,n),n=s.Qh(h),(n/=s.length())<10*-this.qa?-1:n>10*this.qa?1:this.ie.qs(this.Gq,this.qa)&&((s=Math.abs(n))n?-1:1},i}();t.aM=i}(Q||(Q={})),function(t){function i(t,i,s,n){s=new Float64Array(t.subarray(s,n)),t.set(s,i)}var s=function(){function s(t){this.Pb=this.pk=!1,this.o=null;var i=t;2>i&&(i=2),this.o=new Float64Array(i),this.size=t}return s.prototype.rotate=function(i,s,n){if(this.Pb)throw t.i.fa(\"invalid_call\");if(sn||i>n)throw t.i.N();i!=s&&n!=s&&(this.ni(i,s-i,1),this.ni(s,n-s,1),this.ni(i,n-i,1))},s.qf=function(t,i){var n=new s(t),h=n.o;if(2>t&&(t=2),0!==i)for(var r=0;ri&&(n.size=i),2>(i=n.size)&&(i=2),n.o=new Float64Array(i),n.o.set(t.o.length<=i?t.o:t.o.subarray(0,i),0),n},s.prototype.Jb=function(t){0>=t||(null==this.o?this.o=new Float64Array(t):t<=this.o.length||(0this.o.length&&(n=t.O.truncate(64>i?Math.max(2*i,4):5*i/4),(n=new Float64Array(n)).set(this.o),this.o=n),n=this.o;for(var h=this.size;hthis.o.length)&&this.resize(i),this.pk)throw t.i.fa(\"invalid call. Attribute Stream is locked and cannot be resized.\");this.size=i},s.prototype.pr=function(t,i){this.write(t,i)},s.prototype.An=function(i,s,n){for(var h=this.size;sh||n>r&&h!=r)return!1;for(n>h&&(n=h);ir||0!=n%r))throw t.i.N();var e=this.size;if(this.resize(e+n),h)this.o.set(i.o.subarray(s,s+n),e);else{h=n;for(var o=0;oo||0!=r%o))throw t.i.N();var u=this.size-a;if(uo&&(o=this.size),this.size+2*r>this.o.length?this.resize(this.size+2*r):this.size+=2*r,i(this.o,s+2*r,s,s+(o-s)),e)for(e=0;ei||0>s||0>h)throw t.i.N();if(!r&&(0>=e||0!=s%e))throw t.i.N();if(n.sizethis.size)throw t.i.Hb();0n||0!=s%n)throw t.i.Hb();for(var h=s>>1,r=0;rs||0>n||0>s||n+s>this.size)throw t.i.N();for(var h=s;hi||0>s||0>h)throw t.i.N();if(0!=s)for(this.size<(s<<1)+i&&this.resize((s<<1)+i),r||(i+=s-1<<1),r=r?2:-2,s+=h;hi||0>s)throw t.i.N();if(0!=s){this.size<(s<<1)+i&&this.resize((s<<1)+i),s+=0;for(var h=0;hi||0>s||0>h||this.sizei||0>s||this.size<(s>>1)+i)throw t.i.N();if(0!=s){s=0+s;for(var h=0;hi&&(i=2),this.o=new Int32Array(i),this.size=t}return s.prototype.rotate=function(i,s,n){if(this.Pb)throw t.i.fa(\"invalid_call\");if(sn||i>n)throw t.i.N();i!=s&&n!=s&&(this.ni(i,s-i,1),this.ni(s,n-s,1),this.ni(i,n-i,1))},s.qf=function(t,i){var n=new s(t),h=n.o;if(2>t&&(t=2),0!==i)for(var r=0;ri&&(n.size=i),2>(i=n.size)&&(i=2),n.o=new Int32Array(i),n.o.set(t.o.length<=i?t.o:t.o.subarray(0,i),0),n},s.prototype.Jb=function(t){0>=t||(null==this.o?this.o=new Int32Array(t):t<=this.o.length||(0this.o.length&&(n=t.O.truncate(64>i?Math.max(2*i,4):5*i/4),(n=new Int32Array(n)).set(this.o),this.o=n),n=this.o;for(var h=this.size;hthis.o.length)&&this.resize(i),this.pk)throw t.i.fa(\"invalid call. Attribute Stream is locked and cannot be resized.\");this.size=i},s.prototype.pr=function(t,i){this.write(t,i)},s.prototype.An=function(i,s,n){for(var h=this.size;sh||n>r&&h!=r)return!1;for(n>h&&(n=h);ir||0!=n%r))throw t.i.N();var e=this.size;if(this.resize(e+n),h)this.o.set(i.o.subarray(s,s+n),e);else{h=n;for(var o=0;oo||0!=r%o))throw t.i.N();if(i(this.o,s+r,s,s+(a-s)),this.o==n.o&&so&&(o=this.size),this.size+2*r>this.o.length?this.resize(this.size+2*r):this.size+=2*r,i(this.o,s+2*r,s,s+(o-s)),e)for(e=0;ei||0>s||0>h)throw t.i.N();if(!r&&(0>=e||0!=s%e))throw t.i.N();if(n.sizethis.size)throw t.i.Hb();0n||0!=s%n)throw t.i.Hb();for(var h=s>>1,r=0;rs||0>n||0>s||n+s>this.size)throw t.i.N();for(var h=s;hi||0>s||0>h)throw t.i.N();if(0!=s)for(this.size<(s<<1)+i&&this.resize((s<<1)+i),r||(i+=s-1<<1),r=r?2:-2,s+=h;hi||0>s||0>h||this.sizei-t?s.rG(this.o,t,i,n):s.qB(this.o,t,i-1,n)},s.prototype.Tp=function(){return 2},s.prototype.Fc=function(){return this.o[this.size-1]},s.prototype.If=function(){this.resize(this.size-1)},s.prototype.bX=function(t){this.o[this.size-1]=t},s.prototype.SV=function(t){t=i&&0=n))for(;;){if(9>n-i){s.rG(t,i,n+1,h);break}var r=t[i];s.tx(t,i,n);for(var e=i,o=i;o=h(t[o],r)&&(s.tx(t,e,o),e+=1);s.tx(t,e,n),e-ii&&(i=2),this.o=new Int8Array(i),this.size=t}return s.prototype.rotate=function(i,s,n){if(this.Pb)throw t.i.fa(\"invalid_call\");if(sn||i>n)throw t.i.N();i!=s&&n!=s&&(this.ni(i,s-i,1),this.ni(s,n-s,1),this.ni(i,n-i,1))},s.qf=function(t,i){var n=new s(t),h=n.o;if(2>t&&(t=2),0!==i)for(var r=0;ri&&(n.size=i),2>(i=n.size)&&(i=2),n.o=new Int8Array(i),n.o.set(t.o.length<=i?t.o:t.o.subarray(0,i),0),n},s.prototype.Jb=function(t){0>=t||(null==this.o?this.o=new Int8Array(t):t<=this.o.length||(0this.o.length&&(n=t.O.truncate(64>i?Math.max(2*i,4):5*i/4),(n=new Int8Array(n)).set(this.o),this.o=n),n=this.o;for(var h=this.size;hthis.o.length)&&this.resize(i),this.pk)throw t.i.fa(\"invalid call. Attribute Stream is locked and cannot be resized.\");this.size=i},s.prototype.pr=function(t,i){this.write(t,i)},s.prototype.An=function(i,s,n){for(var h=this.size;sh||n>r&&h!=r)return!1;for(n>h&&(n=h);ir||0!=n%r))throw t.i.N();var e=this.size;if(this.resize(e+n),h)this.o.set(i.o.subarray(s,s+n),e);else{h=n;for(var o=0;oo||0!=r%o))throw t.i.N();if(i(this.o,s+r,s,s+(a-s)),this.o==n.o&&so&&(o=this.size),this.size+2*r>this.o.length?this.resize(this.size+2*r):this.size+=2*r,i(this.o,s+2*r,s,s+(o-s)),e)for(e=0;ei||0>s||0>h)throw t.i.N();if(!r&&(0>=e||0!=s%e))throw t.i.N();if(n.sizethis.size)throw t.i.Hb();0n||0!=s%n)throw t.i.Hb();for(var h=s>>1,r=0;rs||0>n||0>s||n+s>this.size)throw t.i.N();for(var h=s;hi||0>s||0>h)throw t.i.N();if(0!=s)for(this.size<(s<<1)+i&&this.resize((s<<1)+i),r||(i+=s-1<<1),r=r?2:-2,s+=h;hi||0>s||0>h||this.sizet?-t:t},t.ti=function(t){return 3552713678800501e-30>t},t.KC=function(i,s,n){return t.P(i-s)<=n*(1+(t.P(i)+t.P(s))/2)},t.Y=function(i,s){return t.KC(i,s,3552713678800501e-30)},t.FL=function(i){return 3552713678800501e-30>=t.P(i)},t.Cd=function(i){return t.FL(i)},t}();t.s=i,t.F=function(){function s(){}return s.gp=function(t,s){var n=0;return 0!=(t=i.P(t))+(s=i.P(s))&&(t>s?(n=s/t,n=t*Math.sqrt(1+n*n)):(n=t/s,n=s*Math.sqrt(1+n*n))),n},s.Wq=function(t,n,h,r,e){for(var o=[0,0,0],a=[0,0,0],u=0;2>=u;u++)n[u]-=t[u],h[u]-=n[u];h=o[1]*a[2]-o[2]*a[1],n=o[2]*a[0]-o[0]*a[2],o=o[0]*a[1]-o[1]*a[0],t=-1*(h*t[0]+n*t[1]+o*t[2]),r[0]=h,r[1]=n,r[2]=o,r[3]=t,a=s.on(r),r[0]/=a,r[1]/=a,r[2]/=a,r[3]/=a,0!=e&&(a=i.Cd(o)?i.Cd(t)?i.Mb(1,n):-i.Mb(1,t):i.Mb(1,o),a*=i.Mb(1,e),r[0]*=a,r[1]*=a,r[2]*=a,r[3]*=a)},s.zx=function(t,i,s){s[0]=t[1]*i[2]-i[1]*t[2],s[1]=t[2]*i[0]-i[2]*t[0],s[2]=t[0]*i[1]-i[0]*t[1]},s.St=function(t,i){return t[0]*i[0]+t[1]*i[1]+t[2]*i[2]},s.on=function(t){return s.gp(s.gp(t[0],t[1]),t[2])},s.cl=function(t,i,n,h,r,e,o,a){t=s.n(t,i,n);var u=Math.cos(n);e.u=(t+r)*u*Math.cos(h),o.u=(t+r)*u*Math.sin(h),a.u=(t*(1-i)+r)*Math.sin(n)},s.jO=function(t,n,h,r,e,o,a){var u=s.gp(n,h),f=1*Math.sqrt(1-t),c=f/1;if(i.Y(u,0))o.u=0,e.u=i.Mb(1.570796326794897,r),a.u=i.P(r)-f;else{o.u=Math.atan2(h,n),h=Math.atan2(1*r,f*u),o=Math.cos(h);var l=Math.sin(h);n=f*t/(1-t),t*=1,h=Math.atan2(r+n*l*l*l,u-t*o*o*o),3.141592653589793t){var h=Math.sqrt(1-t),r=(1-h)/(1+h),e=r*r,o=r*e,a=r*o,u=r*a,f=r*u,c=r*f,l=1.572916666666667*o-3.2578125*u+4.295068359375*c;t=2.142578125*a-6.071484375*f,h=3.129296875*u-11.249837239583334*c;var p=4.775276692708333*f,v=7.958636765252976*c,y=Math.cos(2*n);return n+Math.sin(2*n)*(1.5*r-.84375*o+.525390625*u-.2688395182291667*c-l+h-v+y*(2*(1.3125*e-1.71875*a+1.650146484375*f)-4*t+6*p+y*(4*l-12*h+24*v+y*(8*t-32*p+y*(16*h-80*v+y*(32*p+64*y*v))))))}for(h=1-t,r=t/2,o=(e=i.P(n))*s.Zu(t)/(1.570796326794897*h),a=9999,f=e,e=0;1e-16e;e++)c=s.w(t,f),u=f-(l=(u=(s.kG(f,t)-r*Math.sin(2*f)/c)/h-o)/(c=1/(c*c*c))),a=i.P(l),f=u;return 0<=n?f:-f},s.qW=function(t,n){return i.ti(n)?t:t*s.Zu(n)/1.570796326794897},s.ba=function(t){return 0>(t=s.pF(t,6.283185307179586))?t+6.283185307179586:3.141592653589793>i.P(t)||i.Y(i.P(t),3.141592653589793)?t:t-6.283185307179586},s.pF=function(t,i){return t-Math.floor(t/i)*i},s.Ah=function(t,i){if(.006884661117170036>i){var n=(i=(1-(i=Math.sqrt(1-i)))/(1+i))*i,h=n*n;return t/(1+i)*(1+.25*n+.015625*h+.00390625*n*h)*1.570796326794897}return t*s.Zu(i)},s.Vq=function(t,n){var h=i.Mb(1,Math.sin(n));return n=1.570796326794897>=(n=i.P(s.pF(n,3.141592653589793)))?n:3.141592653589793-n,(i.Y(n,1.570796326794897)?n:Math.atan(Math.sqrt(1-t)*Math.tan(n)))*h},s.q=function(t,i,n){if(.006884661117170036>i){var h=(i=(1-(i=Math.sqrt(1-i)))/(1+i))*i,r=i*h,e=i*r,o=i*e,a=i*o,u=i*a,f=-.7291666666666666*r+.2278645833333333*o+.03987630208333334*u,c=.615234375*e-.21533203125*a,l=-.54140625*o+.20302734375*u,p=.48876953125*a,v=-.4488699776785715*u,y=Math.cos(2*n);return t/(1+i)*((1+.25*h+.015625*e+.00390625*a)*n+Math.sin(2*n)*(-1.5*i+.1875*r+.0234375*o+.00732421875*u-f+l-v+y*(2*(.9375*h-.234375*e-.03662109375*a)-4*c+6*p+y*(4*f-12*l+24*v+y*(8*c-32*p+y*(16*l-80*v+y*(32*p+64*y*v)))))))}return t*(s.kG(n,i)-.5*i*Math.sin(2*n)/s.w(i,n))},s.w=function(t,i){return i=Math.sin(i),Math.sqrt(1-t*i*i)},s.Zu=function(t){return i.KC(t,1,2220446049250313e-31)?1:1>t?s.Xw(0,1-t)-t/3*s.Uw(0,1-t):NaN},s.kG=function(n,h){var r=i.Mb(1,n);n=i.P(n);var e=Math.floor(n/1.570796326794897);if(1i.P(h)&&1e-4>i.P(r)&&1e-4>i.P(e));)e=Math.sqrt(a),s+=t/((n=Math.sqrt(u))*(u+(e=Math.sqrt(o)*(e+n)+e*n))),t*=.25,o=.25*(o+e),a=.25*(a+e),u=.25*(u+e);return a=(o=h*r)-(u=e*e),3*s+t*(1+(u=o-6*u)*(.10227272727272728*u-.2142857142857143-.1730769230769231*e*(h=u+a+a))+e*(.1666666666666667*h+e*(-.4090909090909091*a+.1153846153846154*e*o)))/(n*Math.sqrt(n))},s.Xw=function(t,s){for(var n,h,r,e,o=1;h=2-((n=(t+s+o)/3)+t)/n,r=2-(n+s)/n,e=2-(n+o)/n,!(1e-4>i.P(h)&&1e-4>i.P(r)&&1e-4>i.P(e));o=.25*(o+n))n=Math.sqrt(s),h=Math.sqrt(o),t=.25*(t+(n=Math.sqrt(t)*(n+h)+n*h)),s=.25*(s+n);return(1+(.04166666666666666*(t=h*r-e*e)-.1-.06818181818181818*(s=h*r*e))*t+.07142857142857142*s)/Math.sqrt(n)},s.Qw=function(t,s){if(i.ti(t)||0==s||i.Y(i.P(s),1.570796326794897))return s;if(.006884661117170036>t){var n=t*t,h=t*n,r=t*h,e=t*r,o=t*e,a=t*o,u=-(.02708333333333333*h+.03430059523809524*r+.03149181547619048*e+.02634359154541446*o+.02156896735835538*a),f=.007669890873015873*r+.01299603174603175*e+.0148051353064374*o+.01454454953803912*a,c=-(.002275545634920635*e+.004830845032667949*o+.006558395368616723*a),l=.0006957236677288761*o+.001775193002406544*a,p=-.000217324089394402*a,v=Math.cos(2*s);return s+Math.sin(2*s)*(-(.5*t+.2083333333333333*n+.09375*h+.04878472222222222*r+.02916666666666667*e+.01938905423280423*o+.01388255931712963*a)-u+c-p+v*(2*(.1041666666666667*n+.0875*h+.06050347222222222*r+.04151785714285714*e+.02958958540013228*o+.02203667534722222*a)-4*f+6*l+v*(4*u-12*c+24*p+v*(8*f-32*l+v*(16*c-80*p+v*(32*l+64*v*p))))))}return 0==s||i.Y(i.P(s),1.570796326794897)?n=s:(r=(h=Math.sqrt(t))*Math.sin(s),n=Math.tan(.7853981633974483+s/2)*Math.pow((1-r)/(1+r),h/2),n=2*Math.atan(n)-1.570796326794897),n},s.yO=function(t,s){if(i.ti(t)||0==s||i.Y(i.P(s),1.570796326794897))return s;if(.006884661117170036>t){var n=t*(l=t*(c=t*(v=t*t))),h=t*(p=t*n),r=.05833333333333333*c+.07232142857142858*l+.05634300595238095*n+.0355325796406526*p+.020235546186067*h,e=.02653149801587302*l+.04379960317460317*n+.0429211791776896*p+.03255384637546096*h,o=.01294022817460318*n+.02668104344536636*p+.03155651254609588*h,a=.00659454790965208*p+.0163075268674227*h,u=.003463473736911237*h,f=Math.cos(2*s);return s+Math.sin(2*s)*(.5*t+.2083333333333333*v+.08333333333333333*c+.03611111111111111*l+.01875*n+.01195601851851852*p+.008863673941798942*h-r+o-u+f*(2*(.1458333333333333*v+.1208333333333333*c+.07039930555555556*l+.03616071428571429*n+.01839451058201058*p+.01017113095238095*h)-4*e+6*a+f*(4*r-12*o+24*u+f*(8*e-32*a+f*(16*o-80*u+f*(32*a+64*f*u))))))}var c=Math.sqrt(t),l=c/2,p=Math.tan(.7853981633974483+s/2);t=0,r=1;for(var v=s;0!=r;v=h)n=c*Math.sin(v),h=p*Math.pow((1+n)/(1-n),l),h=2*Math.atan(h)-1.570796326794897,t++,(i.Y(h,v)||3e4this.Kk&&(this.Kk=0);var n=this.Ue.getType();if(this.jH=n==t.Sc.PE_TYPE_PROJCS?2:1,n==t.Sc.PE_TYPE_PROJCS&&!i.loadConstants())throw t.i.N(\"PeProjcs.loadConstants failed\");s=n==t.Sc.PE_TYPE_GEOGCS?this.Ue:this.Ue.getGeogcs(),n!=t.Sc.PE_TYPE_GEOGCS&&t.pf.getCode(s),this.Eo=i.getUnit(),this.RH=s.getPrimem().getLongitude(),this.wH=i=s.getUnit().getUnitFactor(),i=Math.PI/(180*i),1e-10>Math.abs(i-1)&&(i=1),this.GA=i,n&t.Sc.PE_TYPE_PROJCS?(s=this.Ue,this.HA=1/s.getUnit().getUnitFactor(),this.sw=.001/this.Ue.getUnit().getUnitFactor(),this.tw=t.Cg.generate(s,t.Cg.PE_PCSINFO_OPTION_NONE),this.zl=this.tw.isPannableRectangle(),this.bA=t.zb.qN(this.tw.getCentralMeridian(),this.GA)):(this.KA=this.zl=!0,this.HA=0,n=1/s.getUnit().getUnitFactor(),this.sw=.001/s.getDatum().getSpheroid().getAxis()*n,this.bA=0),this.zl&&(this.xx(),this.DK(),this.nY(),this.CK(),this.lY(),this.mY())}return i.prototype.$r=function(){return this.Kk},i.prototype.kk=function(){return this.tw},i.Py=function(t,i){return t==i||null!=t&&null!=i&&0==t.Kk&&0==i.Kk&&t.As===i.As},i.prototype.Wc=function(){return this.zl},i.prototype.gh=function(t){t.K(this.so)},i.prototype.pv=function(){return this.so.v},i.prototype.ov=function(){return this.so.C},i.prototype.GR=function(t){t.K(this.uw)},i.prototype.lY=function(){var i=this.Ue.getType();if(i==t.Sc.PE_TYPE_PROJCS){i=this.Ue;var s=this.kk().getCentralMeridian(),n=i.getGeogcs();if(null==n)throw t.i.fa(\"internal error\");s=[[s+(n=1/n.getUnit().getUnitFactor()*Math.PI),0]],t.ej.geogToProj(i,1,s),s=s[0][0],n=i.getParameters()[t.Sc.PE_PARM_X0].getValue();var h=this.ml();i=new t.l,h.A(i),s=(h=Math.abs(s-n))+n,n=-1*h+n,h=i.H,i=i.G;var r=new t.l;r.K(n,i,s,h),null==this.so&&(this.so=r)}else{if(i!=t.Sc.PE_TYPE_GEOGCS)throw t.i.fa(\"internal error\");n=1/this.Ue.getUnit().getUnitFactor()*Math.PI,(i=new t.l).K(-n,-n/2,n,n/2),null==this.so&&(this.so=i)}},i.prototype.mY=function(){var i=this.Ue.getType();if(i==t.Sc.PE_TYPE_PROJCS){var s=this.Ue;if(i=this.kk().getCentralMeridian(),null==(s=s.getGeogcs()))throw t.i.fa(\"internal error\");s=1/s.getUnit().getUnitFactor()*Math.PI;var n=this.Vr(),h=new t.l;n.A(h),(n=new t.l).K(i-s,h.G,i+s,h.H),null==this.uw&&(this.uw=n)}else{if(i!=t.Sc.PE_TYPE_GEOGCS)throw t.i.fa(\"internal error\");s=1/this.Ue.getUnit().getUnitFactor()*Math.PI,(i=new t.l).K(-s,-s/2,s,s/2),null==this.uw&&(this.uw=i)}},i.prototype.bf=function(){return this.GA},i.prototype.pm=function(){return this.HA},i.prototype.Vr=function(){if(this.zl)return this.ul;var t=this.ul;return null!=t?t:(this.xx(),this.ul)},i.prototype.Wr=function(){return this.zl?null:(null!=this.ul||this.xx(),this.YG)},i.prototype.xx=function(){if(this.Ue.getType()==t.Sc.PE_TYPE_PROJCS){var i=this.Ue,s=i.getGeogcs(),n=i.horizonGcsGenerate();if(null!=n){var h=n[0].getNump(),r=n[0].getKind();i=0u&&(n=-400*e,c.K(n,c.G,n+5*a,c.H)),n=new t.Fh(c),null==this.ul&&(this.ul=n,this.Iv=i);else{if(u=new t.Da,a=this.kk().isGcsHorizonMultiOverlap(),c=t.gu.bF(s,t.hu.Integer64),a){for(u=new t.gL,f=t.Gh.local().V(u,c,null),p=0;pthis.ss&&(this.ss=0),this.Eo=s=this.KT.getUnit(),this.IH=1/s.getUnitFactor(),t.pf.getCode(i)}return i.Py=function(t,i){return t==i||null!=t&&null!=i&&0==t.ss&&0==i.ss&&t.As===i.As},i.prototype.$r=function(){return this.ss},i}();t.PL=i}(Q||(Q={})),function(t){t.Yg=function(){function i(){}return i.tb=function(i,s,n,h,r,e,o,a){if(null!=e||null!=o||null!=a){h=t.F.ba(h),s=t.F.ba(s),n=t.F.ba(n),r=t.F.ba(r),1.570796326794897n?h:t.F.ba(3.141592653589793-h):Math.atan2(l*y,f*p-c*l*v)),null!=a&&(t.s.Y(t.s.P(r),1.570796326794897)?a.u=0>r?s:t.F.ba(3.141592653589793-s):(a.u=Math.atan2(f*y,p*f*v-l*c),a.u=t.F.ba(a.u+3.141592653589793)))}}},i.rf=function(i,s,n,h,r,e,o){if(null!=e||null!=o){s=t.F.ba(s),n=t.F.ba(n),1.570796326794897p?r:t.F.ba(3.141592653589793-r):s:t.s.Y(t.s.P(n),1.570796326794897)&&t.s.Y(i,3.141592653589793)?0>n?r:t.F.ba(3.141592653589793-r):t.F.ba(s+Math.atan2(l*u,f*h-c*l*a)))}},i}()}(Q||(Q={})),function(t){t.Wk=function(){function i(){}return i.tb=function(i,s,n,h,r,e,o,a,u){var f=new t.ga(0),c=new t.ga(0),l=[0,0,0],p=[0,0,0],v=[0,0,0],y=new t.ga(0),d=new t.ga(0),b=new t.ga(0),g=new t.ga(0),w=new t.ga(0);if(null!=o||null!=a||null!=u)if(t.s.ti(s))t.Yg.tb(i,n,h,r,e,o,a,u);else{r=t.F.ba(r),n=t.F.ba(n);var x=t.F.ba(r-n);if(t.s.Y(h,e)&&(t.s.Y(n,r)||t.s.Y(t.s.P(h),1.570796326794897)))null!=o&&(o.u=0),null!=a&&(a.u=0),null!=u&&(u.u=0);else{if(t.s.Y(h,-e)){if(t.s.Y(t.s.P(h),1.570796326794897))return null!=o&&(o.u=2*t.F.Ah(i,s)),null!=a&&(a.u=0x){m=1;var j=n;n=r,r=j,j=h,h=e,e=j}x=t.F.ot(s,h);var M=t.F.ot(s,e);null==a&&null==u||(t.Yg.tb(i,n,x,r,M,null,f,c),f=Math.atan2(Math.sin(f.u)*Math.cos(h-x),Math.cos(f.u)),c=Math.atan2(Math.sin(c.u)*Math.cos(e-M),Math.cos(c.u)),0!=m&&(j=f,f=c,c=j),null!=a&&(a.u=f),null!=u&&(u.u=c)),null!=o&&(t.F.cl(1,s,h,n,0,b,g,w),l[0]=b.u,l[1]=g.u,l[2]=w.u,t.F.cl(1,s,e,r,0,b,g,w),p[0]=b.u,p[1]=g.u,p[2]=w.u,v[0]=l[1]*p[2]-p[1]*l[2],v[1]=-(l[0]*p[2]-p[0]*l[2]),v[2]=l[0]*p[1]-p[0]*l[1],s=1-t.F.w(s,t.F.Vq(s,t.F.Qj(s,Math.acos(v[2]/Math.sqrt(v[0]*v[0]+v[1]*v[1]+v[2]*v[2]))))),s*=2-s,a=Math.atan2(-v[1],-v[0]),v=t.F.ba(a-1.570796326794897),a=t.F.ba(a+1.570796326794897),v=t.s.P(t.F.ba(n-v))<=t.s.P(t.F.ba(n-a))?v:a,t.Yg.tb(1,v,0,n,x,y,null,null),t.Yg.tb(1,v,0,r,M,d,null,null),3.141592653589793r&&(r=t.s.P(r),e=t.F.ba(e+3.141592653589793)),n=t.F.ba(n),h=t.F.ba(h),1.570796326794897=t.s.P(e)?1:-1);e=t.F.ba(n+Math.atan(Math.tan(e)*-Math.sin(b))),t.Yg.tb(i,e,0,n,b,null,c,null),b=t.s.P(1.570796326794897-t.s.P(c.u)),b=t.F.Qj(s,b),b=1-t.F.w(s,t.F.Vq(s,b)),b*=2-b,t.F.cl(1,s,0,e,0,v,y,d),l[0]=v.u,l[1]=y.u,l[2]=d.u,t.F.cl(1,s,h,n,0,v,y,d),p[0]=v.u,p[1]=y.u,p[2]=d.u,h=Math.acos((l[0]*p[0]+l[1]*p[1]+l[2]*p[2])/Math.sqrt(p[0]*p[0]+p[1]*p[1]+p[2]*p[2])),h=t.F.Qj(b,h),r=0<(h=t.F.q(i,b,h)+r*g)?c.u:t.F.ba(c.u+3.141592653589793),i=t.s.P(h)/t.F.Ah(i,b)*1.570796326794897,i=t.F.Rq(b,i),i=t.F.ot(b,i),t.Yg.rf(1,e,0,i,r,o,f),null!=a&&(u=f.u),null!=a&&(a.u=t.F.Qj(s,u))}},i}()}(Q||(Q={})),function(t){t.cu=function(){function i(){}return i.tb=function(i,s,n,h,r,e,o,a,u){var f=0,c=0,l=0;if(null!=o||null!=a||null!=u)if(t.s.ti(s))t.Yg.tb(i,n,h,r,e,o,a,u);else{var p=t.F.ba(r-n);if(t.s.Y(h,e)&&(t.s.Cd(p)||t.s.Y(t.s.P(h),1.570796326794897)))null!=o&&(o.u=0),null!=a&&(a.u=0),null!=u&&(u.u=0);else{if(t.s.Y(h,-e)){if(t.s.Y(t.s.P(h),1.570796326794897))return null!=o&&(o.u=2*t.F.Ah(i,s)),null!=a&&(a.u=0=z&&!t.s.Y(A,m));if(0!=k)v=(y*=f)*(256+y*(y*(74-47*y)-128))/1024,null!=o&&(o.u=d*(1+y*(4096+y*(y*(320-175*y)-768))/16384)*(T-v*N*(c+v/4*(I*(2*l-1)-v/6*c*(4*N*N-3)*(4*l-3))))),null!=a&&(a.u=t.s.Y(t.s.P(h),1.570796326794897)?0>h?r:t.F.ba(3.141592653589793-r):Math.atan2(w*M,s*x-g*w*j)),null!=u&&(t.s.Y(t.s.P(e),1.570796326794897)?u.u=0>e?n:t.F.ba(3.141592653589793-n):(u.u=Math.atan2(s*M,s*x*j-g*w),u.u=t.F.ba(u.u+3.141592653589793)));else{m=t.s.Mb(3.141592653589793,p),I=g*x-s*w,T=Math.acos(I),N=Math.sin(T),f=1,z=P=0;do{l=P,j=1-.25*(P=v*(f*=f)*(1+v+v*v))+.1875*(c=v*v*(j=f*f)*(1+2.25*v))-.1953125*(k=v*v*v*j*f),P=.25*P-.25*c+.29296875*k,M=.03125*c-.05859375*k,k*=.00651041666666667,c=I-2*g*x/f,1=z&&!t.s.Y(l,P));null!=o&&(j=1+(y*=f*=f)*(4096+y*(y*(320-175*y)-768))/16384,t.s.Y(h,-e)?o.u=3.141592653589793*d*j:(c=I-2*g*x/f,f=Math.acos(c),I=Math.cos(2*f),A=Math.cos(3*f),o.u=d*(j*T+y*(y*(128+y*(35*y-60))-512)/2048*N*c+y*(5*y-4)/6144*y*y*Math.sin(2*T)*I+k*Math.sin(3*T)*A+-762939453125e-16*y*y*y*y*Math.sin(4*T)*Math.cos(4*f)))),null!=a&&(t.s.Cd(h)&&t.s.Cd(e)?(f=Math.sqrt(1-P*P),a.u=Math.acos(f),0>p&&(a.u*=-1)):t.s.Y(t.s.P(h),1.570796326794897)?a.u=0>h?r:t.F.ba(3.141592653589793-r):(o=P/s,d=Math.sqrt(1-o*o),0>s*x-g*w*Math.cos(m)&&(d*=-1),a.u=Math.atan2(o,d),t.s.Y(h,-e)&&t.s.P(t.F.ba(n-r))>3.141592653589793*(1-v*Math.cos(h))&&(0t.s.P(a.u)||0>h&&1.570796326794897e?n:t.F.ba(3.141592653589793-n):(p=P/w,o=Math.sqrt(1-p*p),d=Math.sin(m/2),0>Math.sin(b-i)-2*s*x*d*d&&(o*=-1),u.u=Math.atan2(p,o),u.u=t.F.ba(u.u+3.141592653589793),t.s.Y(h,-e)&&!t.s.Cd(h)&&!t.s.Y(t.s.P(h),1.570796326794897)&&t.s.P(t.F.ba(n-r))>3.141592653589793*(1-v*Math.cos(h))&&(null!=a?d=a.u:(o=P/s,d=Math.sqrt(1-o*o),0>s*x-g*w*Math.cos(m)&&(d*=-1),d=Math.atan2(o,d),t.s.Y(h,-e)&&t.s.P(t.F.ba(n-r))>3.141592653589793*(1-v*Math.cos(h))&&(0t.s.P(d)||0>h&&1.570796326794897=t.s.P(d)&&1.570796326794897t.s.P(u.u))&&(u.u=-1*t.F.ba(u.u+3.141592653589793))))}}}},i.rf=function(i,s,n,h,r,e,o,a){if(null!=o||null!=a)if(t.s.ti(s))t.Yg.rf(i,n,h,r,e,o,a);else if(e=t.F.ba(e),t.s.Y(t.s.P(h),1.570796326794897)||t.s.Cd(e)||t.s.Y(t.s.P(e),3.141592653589793))t.Wk.rf(i,s,n,h,r,e,o,a);else{var u=1.570796326794897==t.s.P(e)?0:Math.cos(e),f=3.141592653589793==t.s.P(e)?0:Math.sin(e);t.s.Y(t.s.P(h),1.570796326794897)&&(n=0),e=1-Math.sqrt(1-s);var c=t.F.Vq(s,h);h=1.570796326794897==t.s.P(c)?0:Math.cos(c);var l=Math.sin(c);c=Math.atan2(Math.tan(c),u);var p=h*f,v=p*p,y=1-v,d=s/(1-s)*y,b=(s=d*(256+d*(d*(74-47*d)-128))/1024)/4,g=s/6,w=r/(i*(1-e)*(1+d*(4096+d*(d*(320-175*d)-768))/16384)),x=w;do{var m=x;r=1.570796326794897==t.s.P(x)?0:Math.cos(x);var j=(d=3.141592653589793==t.s.P(x)?0:Math.sin(x))*d;x=s*d*((i=Math.cos(2*c+x))+b*(r*(2*(x=i*i)-1)-g*i*(4*j-3)*(4*x-3)))+w}while(!t.s.Y(m,x));r=1.570796326794897==t.s.P(x)?0:Math.cos(x),d=3.141592653589793==t.s.P(x)?0:Math.sin(x),null!=o&&(f=Math.atan2(d*f,h*r-l*d*u),y=e/16*y*(4+e*(4-3*y)),i=Math.cos(2*c+x),o.u=t.F.ba(n+(f-(1-y)*e*p*(x+y*d*(i+y*r*(2*i*i-1)))))),null!=a&&(y=l*d-h*r*u,y=(1-e)*Math.sqrt(v+y*y),a.u=Math.atan2(l*r+h*d*u,y))}},i}()}(Q||(Q={})),function(t){t.PC=function(){function i(){}return i.tb=function(i,s,n,h,r,e,o,a,u){var f=t.F.ba(r-n),c=t.s.Y(t.s.P(h),1.570796326794897),l=t.s.Y(t.s.P(e),1.570796326794897);if(t.s.Y(h,e)&&(t.s.Cd(f)||c))null!=o&&(o.u=0),null!=a&&(a.u=0),null!=u&&(u.u=0);else{if(t.s.ti(s)){var p=Math.sin(h),v=Math.sin(e);p=Math.sqrt((1+p)/(1-p)),v=Math.sqrt((1+v)/(1-v)),p=Math.log(v)-Math.log(p),p=Math.atan2(f,p),null!=o&&(o.u=t.s.Y(h,e)?t.s.P(i*Math.cos(h)*f):t.s.P((i*e-i*h)/Math.cos(p)))}else v=t.F.Qw(s,e),p=Math.sin(t.F.Qw(s,h)),v=Math.sin(v),p=Math.sqrt((1+p)/(1-p)),v=Math.sqrt((1+v)/(1-v)),p=Math.log(v)-Math.log(p),p=Math.atan2(f,p),null!=o&&(t.s.Y(h,e)?o.u=t.s.P(i*f*Math.cos(h)/t.F.w(s,h)):(f=t.F.q(i,s,h),i=t.F.q(i,s,e),o.u=t.s.P((i-f)/Math.cos(p))));null==a&&null==u||(o=t.F.ba(p+3.141592653589793),c&&l||!c&&!l||(c?p=0>h?r:t.F.ba(3.141592653589793-r):l&&(o=0>e?n:t.F.ba(3.141592653589793-n))),null!=a&&(a.u=p),null!=u&&(u.u=o))}},i.rf=function(i,s,n,h,r,e,o,a){e=t.F.ba(e),0>r&&(r=t.s.P(r),e=t.F.ba(e+3.141592653589793)),t.s.ti(s)?t.s.Y(t.s.P(h),1.570796326794897)?(n=0>h?e:t.F.ba(3.141592653589793-e),3.141592653589793>=(e=r/i%6.283185307179586)?i=h-t.s.Mb(e,h):(n=t.F.ba(n+3.141592653589793),i=-h+t.s.Mb(e-3.141592653589793,h))):t.s.Y(t.s.P(e),1.570796326794897)?(n=t.F.ba(n+t.s.Mb(r,e)/(i*Math.cos(h))),i=h):(i=h+r*Math.cos(e)/i,1.570796326794897h?e:t.F.ba(3.141592653589793-e),e=r/t.F.qW(i,s),3.141592653589793>=(e%=6.283185307179586)?i=h-t.s.Mb(e,h):(n=t.F.ba(n+3.141592653589793),i=-h+t.s.Mb(e-3.141592653589793,h)),i=t.F.Rq(s,i)):t.s.Y(t.s.P(e),1.570796326794897)?(n=t.F.ba(n+t.s.Mb(r,e)*t.F.w(s,h)/(i*Math.cos(h))),i=h):(i=1.570796326794897*(r*Math.cos(e)+t.F.q(i,s,h))/t.F.Ah(i,s),1.570796326794897Math.PI||Math.abs(h.y)>.5*Math.PI||Math.abs(r.y)>.5*Math.PI||(Math.abs(h.y)==.5*Math.PI||Math.abs(r.y)==.5*Math.PI)&&h.x!=r.x)return NaN;if(e=n.cB(e,Math.min(h.x,r.x),Math.max(h.x,r.x)),!new t.Nc(h.x,r.x).contains(e))return NaN;var o=i.construct(h);if(r=i.construct(r),o=n.Yu(s,o),r=n.Yu(s,r),(r=o.cF(r)).z.qg())return h.y;var a=new t.Wb;a.set(r.x),a.jm(r.z),a.No(-1);var u=new t.Wb;u.set(r.y),u.jm(r.z),u.No(-1);var f=new t.Wb;return f.set(u),f.Ag(u),(o=new t.Wb).set(a),o.Ag(a),o.add(f),o.sqrt(),o.qg()||a.qg()&&u.qg()?h.y:(h=Math.atan2(u.value(),a.value()),h=Math.atan2(o.value()*Math.cos(h-e),1-s),e=n.DP(s,t.h.construct(e,h)),s=new t.Nd(e.x,e.y,-e.z),e=r.value().Qh(e),s=r.value().Qh(s),Math.abs(s)Math.PI||Math.abs(h.y)>.5*Math.PI||Math.abs(r.y)>.5*Math.PI||(Math.abs(h.y)==.5*Math.PI||Math.abs(r.y)==.5*Math.PI)&&h.x!=r.x||Math.abs(e)>=.5*Math.PI||0e&&r.y>e||0>h.y&&0>r.y&&h.yMath.abs(o[1]-h.x)&&(h=o[0],o[0]=o[1],o[1]=h)),e))},n.cB=function(t,i,s){return t>s?t-=2*(i=Math.ceil((t-s)/(2*Math.PI)))*Math.PI:te.x?(e.x-=e.x%360,-180>e.x&&(e.x+=360)):180e.y&&(e.y=-90);for(var o=-180,a=180,u=(s=5*h)-1,f=(n=(s+31)/32)-1;0<=f;f--)for(var c=u-32*f,l=Math.min(32,s-32*f),p=1;p=v?(r[f]|=1<=v?(r[f]|=1<>r&31;if(31<(r+=5)){var a=37-r;o&=(1<i)for(e=0;e=t[0]?t:'\"'+t.trim()+'\"'}var s=[];t.XC=function(){function n(){}return n.EQ=function(h){try{for(var r=0;ri||i>this.Aa)throw t.i.N();return this.bg[i]},i.prototype.Pf=function(t){return this.uh[t]},i.lz=function(t){return i.JM[t]},i.Tp=function(t){return i.SM[t]},i.Va=function(t){return i.rM[t]},i.prototype.hasAttribute=function(t){return 0<=this.uh[t]},i.prototype.iG=function(){return this.hasAttribute(1)},i.se=function(t){return i.eD[t]},i.prototype.LR=function(t){return this.Vs[t]},i.DG=function(t,s){return i.eD[t]===s},i.prototype.Nb=function(t){return this===t},i.prototype.An=function(){for(var i=t.O.Th(this.bg[0]),s=1;s++i&&s(t,r,o.eu),e[0]?n?r=i:(e=t.c,r=t.e+r+1):++r;e.lengtht.Bd&&e[0]?\"-\":\"\")+(1r?\"e\":\"e+\")+r:t.toString()}function s(t,i,s,h){var r=t.c,e=t.e+i+1;if(1===s?h=5<=r[e]:2===s?h=5e||void 0!==r[e+1]||1&r[e-1]):3===s?h=h||void 0!==r[e]||0>e:(h=!1,0!==s&&n(\"!Big.RM!\")),1>e||!r[0])h?(t.e=-i,t.c=[1]):t.c=[t.e=0];else{if(r.length=e--,h)for(;9<++r[e];)r[e]=0,e--||(++t.e,r.unshift(1));for(e=r.length;!r[--e];r.pop());}return t}function n(t){throw(t=Error(t)).name=\"BigError\",t}var h=-7,r=21,e=/^-?(\\d+(\\.\\d*)?|\\.\\d+)(e[+-]?\\d+)?$/i,o=function(){function t(i){if(i instanceof t)this.Bd=i.Bd,this.e=i.e,this.c=i.c.slice();else{var s,h,r;for(0===i&&0>1/i?i=\"-0\":e.test(i+=\"\")||n(NaN),this.Bd=\"-\"==i.charAt(0)?(i=i.slice(1),-1):1,-1<(s=i.indexOf(\".\"))&&(i=i.replace(\".\",\"\")),0<(h=i.search(/e/i))?(0>s&&(s=h),s+=+i.slice(h+1),i=i.substring(0,h)):0>s&&(s=i.length),h=0;\"0\"==i.charAt(h);h++);if(h==(r=i.length))this.c=[this.e=0];else{for(;\"0\"==i.charAt(--r););for(this.e=s-h-1,this.c=[],s=0;h<=r;this.c[s++]=+i.charAt(h++));}}}return t.prototype.abs=function(){var i=new t(this);return i.Bd=1,i},t.prototype.cmp=function(i){var s=this.c,n=(i=new t(i)).c,h=this.Bd,r=i.Bd,e=this.e,o=i.e;if(!s[0]||!n[0])return s[0]?h:n[0]?-r:0;if(h!=r)return h;if(i=0>h,e!=o)return e>(o^i)?1:-1;for(h=-1,r=(e=s.length)<(o=n.length)?e:o;++h(n[h]^i)?1:-1;return e==o?0:e>(o^i)?1:-1},t.prototype.jm=function(i){var h=this.c,r=(i=new t(i)).c,e=this.Bd==i.Bd?1:-1,o=t.rr;if((o!==~~o||0>o||1e6g?0:g,f.unshift(0);v++u;u++){if(a!=(v=p.length))var w=a>v?1:-1;else{var x=-1;for(w=0;++xp[x]?1:-1;break}}if(!(0>w))break;for(i=v==a?r:f;v;){if(p[--v]g&&s(y,o,t.eu,void 0!==p[0]),y},t.prototype.fS=function(){return 0this.cmp(0)},t.prototype.jt=function(i){var s,n=this.Bd,h=(i=new t(i)).Bd;if(n!=h)return i.Bd=-h,this.tI(i);var r=this.c.slice(),e=this.e,o=i.c,a=i.e;if(!r[0]||!o[0])return o[0]?(i.Bd=-h,i):new t(r[0]?this:0);if(n=e-a){for((s=0>n)?(n=-n,e=r):(a=e,e=o),e.reverse(),h=n;h--;e.push(0));e.reverse()}else for(e=((s=r.lengthn;){if(r[--e]h.length-e.length&&(n=e,e=h,h=n),s=e.length,n=0;s;)n=(h[--s]=h[s]+e[s]+n)/10|0,h[s]%=10;for(n&&(h.unshift(n),++r),s=h.length;0==h[--s];h.pop());return i.c=h,i.e=r,i},t.prototype.pow=function(i){var s=this,h=new t(1),r=h,e=0>i;for((i!==~~i||-1e6>i||1e6>=1;)s=s.lr(s);return e?h.jm(r):r},t.prototype.round=function(i,h){var r=this;return null==i?i=0:(i!==~~i||0>i||1e6h&&n(NaN),0==(h=Math.sqrt(this.toString()))||h==1/0?((h=i.join(\"\")).length+r&1||(h+=\"0\"),(i=new t(Math.sqrt(h).toString())).e=((r+1)/2|0)-(0>r||1&r)):i=new t(h.toString()),h=i.e+(t.rr+=4);do{r=i,i=e.lr(r.tI(this.jm(r)))}while(r.c.slice(0,h).join(\"\")!==i.c.slice(0,h).join(\"\"));return s(i,t.rr-=4,t.eu),i},t.prototype.lr=function(i){var s=this.c,n=(i=new t(i)).c,h=s.length,r=n.length,e=this.e,o=i.e;if(i.Bd=this.Bd==i.Bd?1:-1,!s[0]||!n[0])return new t(0*i.Bd);if(i.e=e+o,he;)r=a[o]+n[e]*s[o-e-1]+r,a[o--]=r%10,r=r/10|0;a[o]=(a[o]+r)%10}for(r&&++i.e,a[0]||a.shift(),e=a.length;!a[--e];a.pop());return i.c=a,i},t.prototype.toString=function(){var t=this.e,i=this.c.join(\"\"),s=i.length;if(t<=h||t>=r)i=i.charAt(0)+(1t?\"e\":\"e+\")+t;else if(0>t){for(;++t;i=\"0\"+i);i=\"0.\"+i}else if(0s)for(t-=s;t--;i+=\"0\");else tthis.Bd&&this.c[0]?\"-\"+i:i},t.prototype.toExponential=function(t){return null==t?t=this.c.length-1:(t!==~~t||0>t||1e6=t&&(o=i(this,this.e+t),0>this.Bd&&this.c[0]&&0>o.indexOf(\"-\")&&(o=\"-\"+o));return h=s,r=e,o||n(\"!toFix!\"),o},t.prototype.toPrecision=function(t){return null==t?this.toString():((t!==~~t||1>t||1e6e.get(p)?(e.set(u,2147483647),u=p):e.set(p,2147483647),f++;else{if(1&f){if(n)return null!=h&&(h[0]=!0),null}else e.set(u,2147483647);a.L(l),u=p,f=1}if(1&f){if(n)return null!=h&&(h[0]=!0),null}else e.set(u,2147483647);if(!n)for(e.Vd(0,e.size,(function(t,i){return t-i})),p=0,v=e.size;ps-i)n.nr(i,s,t);else{var h=!0;try{for(var r=1/0,e=-1/0,o=i;oe&&(e=a)}if(this.reset(s-i,r,e,s-i)){for(o=i;oh&&n.nr(i+h,i+s,t);100t||n==s)&&(t=Math.min(i.hL,t),this.yf.Jb(t),this.yf.resize(t),this.yf.Wj(0,0,this.yf.size),this.EH=s,this.ys.resize(h),this.Es=(n-s)/(t-1),!0)},i.prototype.zF=function(i){return t.O.truncate((i-this.EH)/this.Es)},i.hL=65536,i}();t.Xt=i}(Q||(Q={})),function(t){var i,s;(s=i||(i={}))[s.enum_line=1]=\"enum_line\",s[s.enum_arc=2]=\"enum_arc\",s[s.enum_dummy=4]=\"enum_dummy\",s[s.enum_concave_dip=8]=\"enum_concave_dip\",s[s.enum_connection=3]=\"enum_connection\";var n=function(){function i(){}return i.Qu=function(s,n,h,r,e,o){var a=new i;return a.Im=new t.h,a.Vm=new t.h,a.aw=new t.h,a.Im.L(s),a.Vm.L(n),a.aw.L(h),a.Co=r,a.qh=e,a.sh=o,a},i.construct=function(s,n,h,r){var e=new i;return e.Im=new t.h,e.Vm=new t.h,e.aw=new t.h,e.Im.L(s),e.Vm.L(n),e.aw.Rc(),e.Co=4,e.qh=h,e.sh=r,e},i}(),h=function(){function i(t,i,s,n,h,r){this.Yv=null,this.ya=0,this.EA=t,this.bI=this.$H=0,this.Ka=i,this.Mj=s,this.vk=n,this.Dq=h,this.Ub=r}return i.prototype.next=function(){for(var i=new t.Sa;;){if(this.ya==this.EA.I())return null;if(this.EA.ve(this.ya,i),this.ya++,!i.B())break}var s=!1;if(null==this.Yv&&(this.$H=i.Lg(),this.bI=i.ih(),this.Yv=o.buffer(i,this.Ka,this.Mj,this.vk,this.Dq,this.Ub),s=!0),this.yar)throw t.i.N();if(s.B())return new t.Da(s.description);var a=new t.l;return s.xc(a),0=e&&(e=96),o.rb=Math.abs(o.Ka),o.Kv=0!=o.rb?1/o.rb:0,isNaN(r)||0==r?r=1e-5*o.rb:r>.5*o.rb&&(r=.5*o.rb),12>e&&(e=12),(s=Math.abs(n)*(1-Math.cos(Math.PI/e)))>r?r=s:(s=Math.PI/Math.acos(1-r/Math.abs(n)))(e=t.O.truncate(s))&&(e=12,r=Math.abs(n)*(1-Math.cos(Math.PI/e)))),o.vk=r,o.Dq=e,o.tA=Math.min(o.ct,.25*r),o.lE()},i.prototype.cv=function(){if(null==this.Id)this.Id=[];else if(0!==this.Id.length)return;var i=this.qE();i=t.O.truncate((i+3)/4);var s=.5*Math.PI/i;this.oA=s;for(var n=0;n<4*i;n++)this.Id.push(null);var h=Math.cos(s);s=Math.sin(s);var r=t.h.construct(0,1);for(n=0;n=this.Ka&&(i=new t.l,this.X.A(i),i.R()<=2*-this.Ka||i.ca()<=2*this.Ka))return new t.Da(this.X.description)}switch(this.X.getType()){case 33:return this.PN();case 550:return this.ON();case 1607:return this.RN();case 1736:return this.QN();case 197:return this.LN();default:throw t.i.Qa()}},i.prototype.RN=function(){if(this.EG(this.X)){var i=new t.Sa;this.X.ve(0,i);var s=new t.l;return this.X.A(s),i.Cb(s.sf()),this.Gu(i)}return this.X=this.WV(this.X),i=new r(this,this.oq),t.Gh.local().V(i,this.Mj,this.Ub).next()},i.prototype.QN=function(){if(0==this.Ka)return this.X;var i=t.Yl.local();if(this.cv(),this.X=i.V(this.X,null,!1,this.Ub),0>this.Ka){var s=this.X;return s=this.py(s,0,s.da()),i.V(s,this.Mj,!1,this.Ub)}return this.EG(this.X)?(i=new t.Sa,this.X.ve(0,i),s=new t.l,this.X.A(s),i.Cb(s.sf()),this.Gu(i)):(i=new e(this),t.Gh.local().V(i,this.Mj,this.Ub).next())},i.prototype.py=function(s,n,h){for(var r=new t.Da(s.description);ns.Ja(n))){var e=s.Ir(n),o=new t.l;if(s.Rj(n,o),0=this.Ka){if(0==this.Ka)i.ad(this.X,!1);else{var s=new t.Fh;this.X.bn(s),s.W(this.Ka,this.Ka),i.ad(s,!1)}return i}return i.ad(this.X,!1),this.X=i,this.jE(i,0)},i.prototype.jE=function(s,n){this.cv();var h=new t.Da(s.description),r=new t.h,e=new t.h,o=new t.h,a=new t.h,u=new t.h,f=new t.h,c=new t.h,l=new t.h,p=s.Ja(n),v=s.Ba(n),y=0;for(n=s.Ja(n);yi.Ja(s))return null;if(this.FG(i,s)&&0(i=-1>i?4:2*Math.PI/Math.acos(i)+.5)?i=4:i>this.Dq&&(i=this.Dq),t.O.truncate(i)},i.prototype.GD=function(i,s,n,h,r){this.cv();var e=new t.h;e.uc(n,s),e.scale(this.Kv);var o=new t.h;o.uc(h,s),o.scale(this.Kv),0>(e=Math.atan2(e.y,e.x)/this.oA)&&(e=this.Id.length+e),e=this.Id.length-e,0>(o=Math.atan2(o.y,o.x)/this.oA)&&(o=this.Id.length+o),(o=this.Id.length-o)o.I(a))return 0>e||(e=i,o=new t.Sa,e.ve(e.Ba(s),o),this.yu(h,o)),1;var u=o.Na(o.Xa(o.Ob(a))),f=new t.Dd;if(f.gg(-u.x,-u.y),o.Oc(f),r&&(this.tQ(o,a,e),2>o.I(a)))return 0>e||(e=i,o=new t.Sa,e.ve(e.Ba(s),o),this.yu(h,o)),1;this.Zd.length=0;var c=o.Ob(a);s=o.Xa(c);var l=1==e?o.Ma(s):o.U(s);i=1==e?o.U(s):o.Ma(s);var p=!0;r=new t.h,a=new t.h;var v=new t.h,y=new t.h,d=new t.h,b=new t.h,g=new t.h,w=new t.h,x=new t.h,m=new t.h,j=this.rb;c=o.Ja(c);for(var M=0;Ml||0>p&&0==l?this.Zd.push(n.Qu(y,d,r,2,this.Zd.length+1,this.Zd.length-1)):y.qb(d)||(this.Zd.push(n.construct(y,r,this.Zd.length+1,this.Zd.length-1,\"dummy\")),this.Zd.push(n.construct(r,d,this.Zd.length+1,this.Zd.length-1,\"dummy\"))),b.add(a,x),this.Zd.push(n.Qu(d,b,r,1,this.Zd.length+1,this.Zd.length-1)),y.L(b),m.L(x),v.L(r),r.L(a),w.L(g),l=s,s=i,p=!1,i=1==e?o.U(s):o.Ma(s);return this.Zd[this.Zd.length-1].qh=0,this.Zd[0].sh=this.Zd.length-1,this.YV(h),f.gg(u.x,u.y),h.YD(f,h.da()-1),1},i.prototype.YV=function(t){for(var i=this.zO(),s=!0,n=i+1,h=i;n!=i;h=n){var r=this.Zd[h];n=-1!=r.qh?r.qh:(h+1)%this.Zd.length,0!=r.Co&&(s&&t.Lt(r.Im),2==r.Co?this.GD(t,r.aw,r.Im,r.Vm,!0):t.Ci(r.Vm),s=!1)}},i.prototype.zO=function(){null==this.Ks&&(this.Ks=[null,null,null,null,null,null,null,null,null]);for(var i=0,s=0,n=this.Zd.length;s=this.rb)return!0}return!1},i.prototype.tQ=function(i,s,n){for(var h=0;1>h;h++){var r=!1,e=i.Ob(s),o=i.Ja(e);if(0==o)break;var a=o;if(3>o)break;!i.dc(e)&&(a=o-1),e=i.Xa(e),o=0z||0>A&&0==z||!this.Fv(v,l,p)||(b.L(p),N=!1,++M,r=!0),N){if(0.5*this.vk?(d.add(v,l),d.scale(.5),x.normalize(),x.ar(),m.L(x),m.scale(j-M),d.add(m),i.mf(o,d)):i.pd(o,!0),M=0}v.L(l),f=e}l.L(p),o=e,e=u,u=0s?(this.oq=!1,i):(this.oq=!0,t.Fg.Mk(i,this.ct,!1,!0,this.Ub))},i.prototype.yu=function(i,s){if(s=s.D(),null!=this.Id&&0!==this.Id.length){var n=new t.h;n.L(this.Id[0]),n.Ct(this.rb,s),i.Lt(n);for(var h=1,r=this.Id.length;h=s?1:-1;case 1:if(t.G=s?1:-1;case 2:if(t.v>=s&&t.C>s)break;return t.C<=s?1:-1;case 3:if(!(t.G>=s&&t.H>s))return t.H<=s?1:-1}return 0},i.prototype.Ay=function(t,i){return 1736==t.getType()?this.Cy(t,i):this.Dy(t)},i.prototype.Cy=function(i,s){if(0==this.Ca.R()||0==this.Ca.ca())return i.Ia();var n=new t.l;i.xc(n),this.X=this.g.Ib(i);var h=new t.l,r=new t.l,e=new t.h,o=new t.h,a=[0,0,0,0,0,0,0,0,0],u=[0,0,0,0,0,0,0,0,0];new t.ig;var f=new t.yb,c=new t.ia(0);c.Jb(Math.min(100,i.I()));for(var l=!1,p=0;!l&&4>p;p++){var v=!1,y=!!(1&p),d=0;switch(p){case 0:d=this.Ca.v,v=n.v<=d&&n.C>=d;break;case 1:d=this.Ca.G,v=n.G<=d&&n.H>=d;break;case 2:d=this.Ca.C,v=n.v<=d&&n.C>=d;break;case 3:d=this.Ca.H,v=n.G<=d&&n.H>=d}if(v)for(l=!0,v=this.g.Ob(this.X);-1!=v;){var b=-1,g=-1,w=this.g.Xa(v),x=w;do{var m=this.g.bc(x);null==m&&(m=f,this.g.D(x,e),m.Dc(e),this.g.D(this.g.U(x),o),m.Qc(o)),m.A(h);var j=this.Lh(h,p,d),M=0,k=-1;if(-1==j){M=0<(m=m.cq(y,d,a,u))?this.g.Ul(x,u,m):0,M+=1;var z=x,A=this.g.U(z);for(m=0;mthis.g.Ja(v)?this.g.Zq(v):this.g.Rb(v)}}return l?i.Ia():(this.FB(),0u;u++){var f=!1,c=!!(1&u),l=0;switch(u){case 0:l=this.Ca.v,f=a.v<=l&&a.C>=l;break;case 1:l=this.Ca.G,f=a.G<=l&&a.H>=l;break;case 2:l=this.Ca.C,f=a.v<=l&&a.C>=l;break;case 3:l=this.Ca.H,f=a.G<=l&&a.H>=l}if(f){f=o,o=i.Ia(),(f=f.Ga()).Zi();for(var p,v=new t.h;f.$a();)for(var y,d=!0;f.Ha();){var b=f.ha();b.A(s);var g=this.Lh(s,u,l);if(-1==g){if(0<(g=b.cq(c,l,h,r))){var w=0;p=b.ac();for(var x=0;x<=g;x++)if(w!=(y=x=(u=t.O.truncate(Math.min(Math.ceil(u/i),2048)))))){for(var f=1;fr.size)){var c=this;r.Vd(0,r.size,(function(t,i){return c.Mh(t,i)})),n=new t.h,e=new t.h,o=new t.h,e.Rc();var l=-1;a=new t.ia(0),u=new t.ia(0),f=this.g.Gd();for(var p=this.g.Gd(),v=0,y=r.size;vthis.Mh(l,g)&&(this.g.D(g,n),i?n.y==s:n.x==s)&&(a.add(l),w=!0,this.g.Ra(l,p,1)),0>this.Mh(l,d)&&(this.g.D(d,n),i?n.y==s:n.x==s)&&(w||a.add(l),this.g.Ra(l,f,1))}for(b=0,w=a.size;bthis.Mh(y,b)&&(this.g.D(b,a),i?a.y==s:a.x==s)&&(d=b),b=-1;var g=this.g.Ma(y);if(0>this.Mh(y,g)&&(this.g.D(g,a),i?a.y==s:a.x==s)&&(b=g),-1!=d&&-1!=b)this.Kh(y,h,r),this.g.pd(y,!1),this.Kh(d,h,r),this.g.pd(d,!1),c=!0;else if(-1!=d||-1!=b){for(g=v+1;gthis.Mh(w,x)&&(this.g.D(x,a),i?a.y==s:a.x==s)&&(m=x),x=this.g.Ma(w);var j=-1;if(0>this.Mh(w,x)&&(this.g.D(x,a),i?a.y==s:a.x==s)&&(j=x),-1!=m&&-1!=j){this.Kh(w,h,r),this.g.pd(w,!1),this.Kh(m,h,r),this.g.pd(m,!1),c=!0;break}if(-1!=d&&-1!=j){this.zt(h,y,d,w,j,r),c=!0;break}if(-1!=b&&-1!=m){this.zt(h,w,m,y,b,r),c=!0;break}}}if(c)break}}}if(!c)break}l=e,u.L(n)}}this.g.Td(r)},i.prototype.Kh=function(t,i,s){s=this.g.Pa(t,s),i.set(s,-1),s=this.g.Pa(t,this.ji),this.dd.set(s,-1),-1!=(i=this.g.bd(t))&&this.g.Xa(i)==t&&(this.g.Jf(i,-1),this.g.Wg(i,-1))},i.prototype.zt=function(t,i,s,n,h,r){this.g.Bc(i,n),this.g.Cc(n,i),this.g.Cc(s,h),this.g.Bc(h,s),this.Kh(n,t,r),this.g.mi(n,!1),this.Kh(h,t,r),this.g.mi(h,!0)},i.prototype.Ty=function(){for(var t=0,i=this.dd.size;t=o?(s=this.g.Pa(e,this.ji),this.dd.set(s,-1),e=this.g.pd(e,!1),2==o&&(s=this.g.Pa(e,this.ji),this.dd.set(s,-1),this.g.pd(e,!1)),o=r,r=this.g.Rb(r),this.g.Jf(o,-1),this.g.$q(o)):(this.g.cp(r,!1),this.g.Wg(r,this.g.Ma(e)),this.g.Vj(r,o),h+=o,n++,r=this.g.Rb(r))}}for(t=0,i=this.dd.size;t=o?(s=this.g.Pa(e,this.ji),this.dd.set(s,-1),e=this.g.pd(e,!1),2==o&&(0<=(s=this.g.Pa(e,this.ji))&&this.dd.set(s,-1),this.g.pd(e,!1)),o=r,this.g.Jf(o,-1),this.g.$q(o)):(this.g.kn(r,!0),this.g.Vj(r,o),this.g.Jf(r,e),this.g.Wg(r,this.g.Ma(e)),this.g.cp(r,!1),h+=o,n++)}for(this.g.Rl(this.X,n),this.g.Tj(this.X,h),t=0,i=this.g.ld;-1!=i;i=this.g.ue(i))t+=this.g.I(i);this.g.bC(t)},i.By=function(t,s,n){return new i(s).Ay(t,n)},i.clip=function(s,n,h,r){if(s.B())return s;if(n.B())return s.Ia();if(33==(h=s.getType()))return r=s.D(),n.contains(r)?s:s.Ia();if(197==h)return r=new t.l,s.A(r),r.Ea(n)?(n=new t.Fh,s.copyTo(n),n.Xo(r),n):s.Ia();var e=new t.l;if(s.xc(e),n.contains(e))return s;if(!n.isIntersecting(e))return s.Ia();if(null!=(e=s.Bb)&&null!=(e=e.Fk)){if(1==(e=e.Ro(n))){if(1736!=h)throw t.i.Qa();return(s=new t.Da(s.description)).tp(n),s}if(0==e)return s.Ia()}switch(h){case 550:h=null,e=s.I();for(var o=s.ub(0),a=0,u=0;u=s?1:-1;case 1:if(t.G=s?1:-1;case 2:if(t.v>=s&&t.C>s)break;return t.C<=s?1:-1;case 3:if(!(t.G>=s&&t.H>s))return t.H<=s?1:-1}return 0},i.prototype.Ay=function(t,i){return 1736==t.getType()?this.Cy(t,i):this.Dy(t)},i.prototype.Cy=function(i,s){if(0==this.Ca.R()||0==this.Ca.ca())return i.Ia();var n=new t.l;i.xc(n),this.X=this.g.Ib(i);var h=new t.l,r=new t.l,e=new t.h,o=new t.h,a=[0,0,0,0,0,0,0,0,0],u=[0,0,0,0,0,0,0,0,0],f=new t.yb,c=new t.ia(0);c.Jb(256);for(var l=!1,p=0;!l&&4>p;p++){var v=!1,y=!!(1&p),d=0;switch(p){case 0:d=this.Ca.v,v=n.v<=d&&n.C>=d;break;case 1:d=this.Ca.G,v=n.G<=d&&n.H>=d;break;case 2:d=this.Ca.C,v=n.v<=d&&n.C>=d;break;case 3:d=this.Ca.H,v=n.G<=d&&n.H>=d}if(v)for(l=!0,v=this.g.Ob(this.X);-1!=v;){var b=!0,g=-1,w=-1,x=this.g.Xa(v),m=x;do{var j=this.g.bc(m);null==j&&(j=f,this.g.D(m,e),j.Dc(e),this.g.D(this.g.U(m),o),j.Qc(o)),j.A(h);var M=this.Lh(h,p,d),k=0,z=-1;if(-1==M){k=0<(j=j.cq(y,d,a,u))?this.g.LX(m,u,j):0,k+=1;var A=m,N=this.g.U(A);for(j=0;jp;p++){var v=!1,y=!!(1&p),d=0;switch(p){case 0:d=this.Ca.v,v=a.v<=d&&a.C>=d;break;case 1:d=this.Ca.G,v=a.G<=d&&a.H>=d;break;case 2:d=this.Ca.C,v=a.v<=d&&a.C>=d;break;case 3:d=this.Ca.H,v=a.G<=d&&a.H>=d}if(v)for(v=o,o=i.Ia(),(v=v.Ga()).Zi();v.$a();)for(var b,g=!0;v.Ha();){var w=v.ha();w.A(s);var x=this.Lh(s,p,d);if(-1==x){if(0<(x=w.cq(y,d,h,r))){var m=0;w.Yp(u);for(var j=0;j<=x;j++)if(m!=(b=jh.x&&(h.x+=i)}else l=s.y-this.Ca.G,r.y=t.lc.sign(n.y-s.y),h.y=i*t.lc.Cn(Math.floor(Math.abs(l/i)),l)+this.Ca.G,0>h.y&&(h.y+=i);l=0!=c?n.y-s.y:n.x-s.x;var p=Math.abs(l);if(65536

=y||(e[p]=y,p++)}0!=p&&this.g.Ul(u,e,p)}}u=f}while(u!=a)}},i.prototype.Vl=function(i,s){for(var n=-1,h=new t.h,r=null,e=this.g.Ob(this.X);-1!=e;e=this.g.Rb(e))for(var o=this.g.Xa(e),a=0,u=this.g.Ja(e);ar.size)){var c=this;r.Vd(0,r.size,(function(t,i){return c.Mh(t,i)})),n=new t.h,e=new t.h,o=new t.h,e.Rc();var l=-1;a=new t.ia(0),u=new t.ia(0),f=null;for(var p=this.g.Gd(),v=this.g.Gd(),y=0,d=r.size;ye.compare(n)&&(i?n.y==s:n.x==s)&&(a.add(l),x=!0,this.g.Ra(l,v,1)),this.g.D(b,n),0>e.compare(n)&&(i?n.y==s:n.x==s)&&(x||a.add(l),this.g.Ra(l,p,1))}for(g=0,x=a.size;gu.compare(a)&&(i?a.y==s:a.x==s)&&(d=b),b=-1;var g=this.g.Ma(y);if(this.g.D(g,a),0>u.compare(a)&&(i?a.y==s:a.x==s)&&(b=g),-1!=d&&-1!=b)this.Kh(y,h,r),this.g.pd(y,!1),this.Kh(d,h,r),this.g.pd(d,!1),c=!0;else if(-1!=d||-1!=b){for(g=v+1;gu.compare(a)&&(i?a.y==s:a.x==s)&&(m=x),x=this.g.Ma(w);var j=-1;if(this.g.D(x,a),0>u.compare(a)&&(i?a.y==s:a.x==s)&&(j=x),-1!=m&&-1!=j){this.Kh(w,h,r),this.g.pd(w,!1),this.Kh(m,h,r),this.g.pd(m,!1),c=!0;break}if(-1!=d&&-1!=j){this.zt(h,y,d,w,j,r),c=!0;break}if(-1!=b&&-1!=m){this.zt(h,w,m,y,b,r),c=!0;break}}}if(c)break}}}if(!c)break}l=e,u.L(n)}this.g.Td(r)}},i.prototype.Kh=function(t,i,s){s=this.g.Pa(t,s),i.set(s,-1),s=this.g.Pa(t,this.ji),this.dd.set(s,-1),-1!=(i=this.g.bd(t))&&this.g.Xa(i)==t&&(this.g.Jf(i,-1),this.g.Wg(i,-1))},i.prototype.zt=function(t,i,s,n,h,r){this.g.Bc(i,n),this.g.Cc(n,i),this.g.Cc(s,h),this.g.Bc(h,s),this.Kh(n,t,r),this.g.mi(n,!1),this.Kh(h,t,r),this.g.mi(h,!0)},i.prototype.Ty=function(){for(var t=0,i=this.dd.size;t=o?(s=this.g.Pa(e,this.ji),this.dd.set(s,-1),e=this.g.pd(e,!1),2==o&&(0<=(s=this.g.Pa(e,this.ji))&&this.dd.set(s,-1),this.g.pd(e,!1)),o=r,this.g.Jf(o,-1),this.g.$q(o)):(this.g.kn(r,!0),this.g.Vj(r,o),this.g.Jf(r,e),this.g.Wg(r,this.g.Ma(e)),this.g.cp(r,!1),h+=o,n++)}for(this.g.Rl(this.X,n),this.g.Tj(this.X,h),t=0,i=this.g.ld;-1!=i;i=this.g.ue(i))t+=this.g.I(i);this.g.bC(t)},i.By=function(t,s,n,h){return new i(s,h).Ay(t,n)},i.clip=function(t,s,n,h,r){return i.Nu(t,s,null,n,h,r)},i.Nu=function(s,n,h,r,e,o){var a=s.getType();if(33==a)return e=s.D(),n.contains(e)?s:s.Ia();if(197==a)return e=new t.l,s.A(e),e.Ea(n)?(n=new t.Fh,s.copyTo(n),n.Xo(e),n):s.Ia();if(s.B())return s;if(n.B())return s.Ia();var u=new t.l;if(s.xc(u),n.contains(u))return s;if(!n.isIntersecting(u))return s.Ia();if((null!=h||isNaN(r))&&t.ta.ty(h,n,!1),!t.aa.xj(a))throw t.i.N();if(null!=(h=s.Bb)&&null!=(h=h.Fk)){if(1==(h=h.Ro(n))){if(1736!=a)throw t.i.fa(\"internal error\");return(s=new t.Da(s.description)).tp(n),s}if(0==h)return s.Ia()}switch(a){case 550:for(o=null,a=s.I(),h=s.ub(0),r=0,e=new t.h,u=0;u=a;a+=1)for(var u=0;1>=u;u+=1){var f=n.jG(e+a,o+u),c=this.xl.rR(f);-1!=c&&(this.pq[r]=c,this.xs[r]=f,r++)}for(e=r-1;1<=e;e--)for(c=this.pq[e],o=e-1;0<=o;o--)if(c==this.pq[o]){this.xs[o]=-1,e!=--r&&(this.xs[e]=this.xs[r],this.pq[e]=this.pq[r]);break}for(o=0;os.Db())throw t.i.N();return 0==n||s.B()?s:((o=new i(o)).ko=s,o.Ka=n,o.qa=e,o.Ki=h,o.CA=r,o.Rx())},i.prototype.eM=function(){var i=this.ko,s=i.ac(),n=i.wc(),h=new t.h;return h.uc(n,s),h.normalize(),h.Hv(),h.scale(this.Ka),s.add(h),n.add(h),h=i.Ia(),i.Dc(s),i.Qc(n),h},i.prototype.dM=function(){var i=this.ko;if(0o&&(0this.Ka?-s:s,-1p&&(.017453292519943295>(v=2*Math.acos(p))&&(v=.017453292519943295),1<(c=t.O.truncate(s/v+1.5))&&(l/=c)),v=b+h,b=r.Pd(f,this.Ka,v),0==i&&(b.type|=1024),this.fc(b,i),p=this.Ka/Math.cos(l/2),v+=l/2,(b=r.Pd(f,p,v)).type|=1024,this.fc(b);0<--c;)v+=l,(b=r.Pd(f,p,v)).type|=1024,this.fc(b);(b=r.Pd(f,this.Ka,g-h)).type|=1024,this.fc(b)}else if(1==this.Ki)b=r.Pd(f,this.Ka,b+h),this.fc(b,i),b=r.Pd(f,this.Ka,g-h),this.fc(b);else if(0==this.Ki)for(p=1-o/Math.abs(this.Ka),c=1,l=g-h-(b+h),-1p&&(.017453292519943295>(v=2*Math.acos(p))&&(v=.017453292519943295),1<(c=t.O.truncate(Math.abs(l)/v+1.5))&&(l/=c)),p=this.Ka/Math.cos(.5*l),v=b+h+.5*l,b=r.Pd(f,p,v),this.fc(b,i);0<--c;)v+=l,b=r.Pd(f,p,v),this.fc(b);else 2==this.Ki?(p=c.x-f.x,v=c.y-f.y,.99999999<(c=(p*(y=l.x-f.x)+v*(d=l.y-f.y))/Math.sqrt(p*p+v*v)/Math.sqrt(y*y+d*d))?(b=r.Pd(f,1.4142135623730951*this.Ka,g-.25*s),this.fc(b,i),b=r.Pd(f,1.4142135623730951*this.Ka,g+.25*s),this.fc(b)):(c=Math.abs(this.Ka/Math.sin(.5*Math.acos(c))))>(l=Math.abs(this.CA*this.Ka))?(p=.5*(g-b),p=this.Ka/Math.abs(Math.sin(p)),b=r.Pd(f,p,.5*(b+g)),g=t.h.construct(b.x,b.y),b=t.h.construct(f.x,f.y),(f=new t.h).uc(g,b),(g=new t.h).HW(l/f.length(),f,b),b=(c-l)*Math.abs(this.Ka)/Math.sqrt(c*c-this.Ka*this.Ka),0b&&(g-=n),c=b-g(p=1.4142135623730951*this.Ka)?b+.25*s:b+.75*s,b=r.Pd(f,p,v),this.fc(b,i),v=0>p?g-.25*s:g-.75*s,b=r.Pd(f,p,v),this.fc(b)):(p=.5*(g-b),p=this.Ka/Math.abs(Math.sin(p)),gs))for(var n=0;n=n+1;i--)(s=r.al(t.Na(i))).type|=1024,this.wg.push(s);if(this.mE())if(2<=this.Yb.length){for(t=-1,(h=!!(1024&this.Yb[this.gf-1].type))||(t=0),i=1;i=Math.min(s.x,n.x)&&Math.max(s.x,n.x)>=Math.min(t.x,i.x)&&Math.max(t.y,i.y)>=Math.min(s.y,n.y)&&Math.max(s.y,n.y)>=Math.min(t.y,i.y)},i.prototype.xQ=function(t,i,s,n,h){h.bE=!1;var e=(i.y-t.y)*(n.x-s.x)-(i.x-t.x)*(n.y-s.y),o=(s.y-t.y)*(i.x-t.x)-(s.x-t.x)*(i.y-t.y);if(0<=(e=0==e?2:o/e)&&1>=e){var a=e;if(e=(n.y-s.y)*(i.x-t.x)-(n.x-s.x)*(i.y-t.y),o=(t.y-s.y)*(n.x-s.x)-(t.x-s.x)*(n.y-s.y),0<=(e=0==e?2:o/e)&&1>=e)return h.an=r.TO(t.x+e*(i.x-t.x),t.y+e*(i.y-t.y)),h.an.Uh=s.Uh+a*(n.Uh-s.Uh),0!=a&&1!=a||0!=e&&1!=e||(h.bE=!0),h.VY=e,h.WY=a,!((0==a||1==a)&&0e||(0==e||1==e)&&0a)}return!1},i.prototype.QO=function(t){for(;this.Yb[t].shr-(n*=2))return!0;s=new t.h;var e=new t.h,o=new t.h;i.tc(n,s),i.tc(n+2,e),i.tc(n+4,o);var a=h.Wu(e,o,s);if(a.ps()||!h.um(a.value()))return!1;var u=t.h.construct(e.x,e.y),f=new t.h;for(n+=6;nh;h++){i.mB(h,n);var r=this.Cr(n);if(-1!=r){i.Hf(h,s);var e=this.g.fc(this.Ss,s);this.Fa.Sj(r,e)}}},h.prototype.oN=function(i){var s=new t.Sa,n=i.ac();if(-1!=(n=this.Cr(n))){i.To(s);var h=this.g.fc(this.Ss,s);this.Fa.Sj(n,h)}n=i.wc(),-1!=(n=this.Cr(n))&&(i.Po(s),i=this.g.fc(this.Ss,s),this.Fa.Sj(n,i))},h.prototype.nN=function(t){var i=t.D();-1!=(i=this.Cr(i))&&(t=this.g.fc(this.Ss,t),this.Fa.Sj(i,t))},h.prototype.Cr=function(t){var i=-1;if(0==this.Fa.size(-1))return this.Fa.addElement(-4,-1);if(1==this.Fa.size(-1)){var s=this.g.Na(this.Fa.ja(this.Fa.rc(-1)));return t.Rz(s)||(i=this.Fa.xn(-5)),i}return this.pC(t)},h.prototype.pC=function(i){var s=-1;do{var n=this.Fa.rc(-1),r=this.Fa.Fc(-1),e=this.Fa.ja(n),o=this.Fa.ja(r),a=new t.h,u=new t.h;if(this.Xh.D(e,a),this.Xh.D(o,u),e=t.h.Uq(u,i,a),h.um(e))s=this.Fa.xn(-1),(a=this.nC(i,r,n))!=n&&this.oC(i,n,this.Fa.we(a));else if(h.CG(e)){u=this.Fa.sv(-1);var f=this.Fa.rc(-1),c=this.Fa.Fc(-1);for(e=new t.h,o=new t.h;f!=this.Fa.we(c);){var l=this.Fa.ja(u);this.Xh.D(l,e),l=t.h.Uq(e,i,a),h.CG(l)?(c=u,u=this.Fa.ll(u)):(f=u,u=this.Fa.Xp(u))}if(u=c,a=f,l=this.Fa.ja(u),f=this.Fa.ja(a),this.Xh.D(l,e),this.Xh.D(f,o),a!=n&&(e=t.h.Uq(o,i,e),!h.um(e)))continue;s=this.Fa.zu(a,u,-2,!1),this.oC(i,u,r),this.nC(i,a,n)}else null==this.sb&&(this.sb=new t.yb),this.sb.Dc(u),this.sb.Qc(a),0>(a=this.sb.fe(i,!0))?(a=this.Fa.we(r),this.Fa.vd(r,-1),s=this.Fa.xn(-3),this.nC(i,a,n)):1t},h.CG=function(t){return 0r)throw t.i.fa(\"Internal Error: max number of iterations exceeded\");var a=this.nM(s);if(h=h||a,this.tH&&(a=0!=this.g.Gp(s,!0,!1),h=h||a),a=!1,(0==e||o||t.$t.kI(!0,this.g,i,null,this.nd))&&(a=this.sM(n),h=h||a),!a)break;t.mp.zp(this.nd)}return h},i}();t.Tk=i}(Q||(Q={})),function(t){var i=function(){function i(t){this.$d=this.Mc=null,this.Ys=0,this.Ub=t,this.cA=!0}return i.prototype.uv=function(t,i){var s=this.g.bc(t);if(null==s){if(!this.g.ed(t,i))return null;s=i}return s},i.prototype.Xq=function(){var i;void 0===i&&(i=!1),this.Ys++,!i&&4095&this.Ys||(this.Ys=0,t.mp.zp(this.Ub))},i.prototype.nP=function(){var i=this.g.Yq(!1),s=!1,n=new t.yb,h=new t.yb,r=new t.l;r.Oa();var e=new t.l;e.Oa();for(var o=new t.Sa,a=new t.TC,u=i.next();-1!=u;u=i.next()){t.mp.zp(this.Ub);var f=null,c=!1;if(!t.aa.Rn(this.g.ic(i.ck))){if(null==(f=this.uv(u,n)))continue;if(f.A(r),r.W(this.qa,this.qa),f.Bi(this.qa)){if(!f.Bi(0))continue;c=!0,f=null}}var l=this.g.Yq(i),p=l.next();for(-1!=p&&(p=l.next());-1!=p;p=l.next()){var v=null,y=!1;if(!t.aa.Rn(this.g.ic(l.ck))){if(null==(v=this.uv(p,h)))continue;if(v.A(e),v.Bi(this.qa)){if(!v.Bi(0))continue;y=!0,v=null}}var d=0,b=0;if(null!=f&&null!=v)r.HG(e)&&(a.Oo(f),a.Oo(v),a.Ea(this.qa,!1),0<(d=a.ol(0))+(b=a.ol(1))&&(this.g.jr(u,a,0,!0),this.g.jr(p,a,1,!0)),a.clear());else if(null!=f){var g=new t.h;if(this.g.D(p,g),r.contains(g)){if(a.Oo(f),this.g.Vi(p,o),a.Kz(this.qa,o,!1),0<(d=a.ol(0)))if(this.g.jr(u,a,0,!0),y){for(y=-1,g=this.g.U(p);-1!=g&&g!=p&&(y=g,null!=(v=this.uv(g,h))&&v.Bi(0));g=this.g.U(g));for(g=p;-1!=g&&(this.g.Dh(g,a.Bf),g!=y);g=this.g.U(g));}else this.g.Dh(p,a.Bf);a.clear()}}else{if(null==v)continue;if(g=new t.h,this.g.D(u,g),e.W(this.qa,this.qa),e.contains(g)){if(a.Oo(v),this.g.Vi(u,o),a.Kz(this.qa,o,!1),0<(b=a.ol(0)))if(this.g.jr(p,a,0,!0),c){for(y=-1,g=this.g.U(u);-1!=g&&g!=u&&(y=g,null!=(v=this.uv(g,h))&&v.Bi(0));g=this.g.U(g));for(g=u;-1!=g&&(this.g.Dh(g,a.Bf),g!=y);g=this.g.U(g));}else this.g.Dh(u,a.Bf);a.clear()}}if(0!=d+b){if(0!=d){if(null==(f=this.g.bc(u))){if(!this.g.ed(u,n))continue;f=n,n.A(r)}else f.A(r);if(f.Bi(this.qa))break}s=!0}}}return s},i.prototype.oP=function(){return this.QU()},i.prototype.QU=function(){return(new t.RC).PX(this.g,this.qa)},i.prototype.lI=function(){var i=!1;null==this.Mc&&(this.Mc=new t.Yj);var s=new t.ia(0);s.Jb(this.g.fd+1);for(var n=this.g.Yq(),h=n.next();-1!=h;h=n.next())s.add(h);this.g.nx(s,s.size),s.add(-1),n=this.g.Gd(),h=this.g.Gd(),this.$d=new t.UC(this.g,this.qa,!this.cA),this.Mc.Vo(this.$d);var r=new t.ia(0),e=new t.ia(0),o=0;new t.h;var a=this.g.td;this.g.vb.mc();for(var u,f,c=this.g.vb.za[0].o,l=s.get(o++);-1!=l;){var p=u=c[2*(f=a.T(l,0))],v=f=c[2*f+1];do{var y=a.T(l,2),d=a.T(l,1);if(-1!=y){var b=a.T(y,0),g=c[2*b];0>(v<(b=c[2*b+1])?-1:v>b?1:pg?1:0)&&(e.add(l),e.add(y))}-1!=d&&(g=c[2*(b=a.T(d,0))],0>(v<(b=c[2*b+1])?-1:v>b?1:pg?1:0)&&(e.add(d),e.add(d))),-1!=(g=this.g.Pa(l,n))&&(r.add(g),this.g.Ra(l,n,-1)),-1!=(g=this.g.Pa(l,h))&&(r.add(g),this.g.Ra(l,h,-1)),-1!==(l=s.get(o++))&&(p=c[2*(v=a.T(l,0))],v=c[2*v+1])}while(-1!=l&&p===u&&v===f);for(p=1==r.size&&2==e.size,g=v=-1,y=0,d=r.size;yt.fd?t=s.nP():s.oP())},i.V=function(t,s,n){return i.fQ(t,t.IF(),s,n)},i.kI=function(s,n,h,r,e){if(!i.yE(n))return!1;var o=new i(e);if(o.g=n,o.qa=h,o.cA=s,o.lI())return null!=r&&r.Wt(o.Ni),!0;var a=new t.Dd;return a.$B(),n.Oc(a),(o=new i(e)).g=n,o.qa=h,o.cA=s,s=o.lI(),a.$B(),n.Oc(a),!!s&&(null!=r&&r.Wt(o.Ni),!0)},i.Ml=function(t,i){return!(16>(t=t.I()))&&2*t+Math.log(t)*Math.LOG10E/Math.log(2)*i<1*t*i},i.lP=function(s,n,h,r){var e=n.getType();if(t.aa.Hc(e))return new i(r).mP(s,n,h);throw t.i.fa(\"crack_A_with_B\")},i.prototype.mP=function(n,h,r){var e=new t.l;n.xc(e);var o=new t.l;if(h.xc(o),o.W(r,r),!o.isIntersecting(e))return n;var a=n.Bb,u=null;null!=a&&(u=a.Fb),i.Ml(n,n.I())&&(u=t.ta.jj(n,o));var f=null!=u?u.getIterator():null,c=h.Ga();h=n.Ga();var l=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0];for(o=[];c.$a();)for(;c.Ha();){var p=c.ha();if(null!=u){for(f.Uo(p,r),a=f.next();-1!=a;a=f.next())if(this.Xq(),h.Vb(u.ja(a),-1),h.Ha()){var v=(a=h.ha()).Ea(p,null,l,null,r);for(a=0;ai.t?1:t.ti.index?1:-1},t}()}(Q||(Q={})),function(t){var i;(i=t.KK||(t.KK={}))[i.Left=0]=\"Left\",i[i.Right=1]=\"Right\",i[i.Coincident=2]=\"Coincident\",i[i.Undefined=3]=\"Undefined\",i[i.Uncut=4]=\"Uncut\";var s=function(t,i,s,n,h,r,e,o,a,u,f){this.X=t,this.bt=i,this.Ns=s,this.tg=n,this.Lm=u,this.Al=f};t.uY=s;var n=function(){function i(t,i){this.JH=t,this.Hi=i}return i.prototype.qM=function(i,s){var n=new t.h;this.Hi.D(i,n);var h=new t.h;return this.Hi.D(s,h),0!=(n=n.compare(h))?n:(i=this.Hi.Pa(i,this.JH))<(s=this.Hi.Pa(s,this.JH))?-1:i==s?0:1},i}(),h=function(t,i,s,n,h,r,e,o,a){this.tg=t,this.Ns=i,this.OA=s,this.UH=n,this.Ei=h,this.Al=r,this.Lm=e,this.VH=o,this.OT=a};t.tY=h,t.LK=function(){function i(){}return i.JK=function(n,h,r,e,o,a){if(h.B())n=new s(h,4,-1,-1,NaN,4,-1,-1,NaN,-1,-1,NaN,-1,-1,NaN),o.push(n);else if(r.B())n=new s(h,4,-1,-1,NaN,4,-1,-1,NaN,-1,-1,NaN,-1,-1,NaN),o.push(n);else{var u=new t.gd;if(u.Ib(h),u.Ib(r),t.Tk.V(u,e,a,!0),0==u.fd)n=new s(h.Ia(),4,-1,-1,NaN,4,-1,-1,NaN,-1,-1,NaN,-1,-1,NaN),o.push(n);else{for(h=0,r=u.Gd(),e=u.ld;-1!=e;e=u.ue(e))for(a=u.Ob(e);-1!=a;a=u.Rb(a))for(var f=u.Xa(a),c=0,l=u.Ja(a);c(p=p.Ea(u,null,c,l,0))&&(r=new h(e,r,c[0],NaN,p,a,o,l[0],NaN),n.push(r),0>(r=s.Pa(e,i))&&s.Ra(e,i,n.length-1)),!0},i.wM=function(i,s,n,r,e,o,a){var u=new t.yb,f=new t.yb,c=[0,0],l=[0,0],p=s.bc(e);return null==p&&(s.ed(e,u),p=u),null==(u=s.bc(a))&&(s.ed(a,f),u=f),2>(p=p.Ea(u,null,c,l,0))&&(r=new h(e,r,c[0],NaN,p,a,o,l[0],NaN),n.push(r),0>(r=s.Pa(e,i))&&s.Ra(e,i,n.length-1),!0)},i.xM=function(i,s,n,r,e,o,a,u){var f=new t.yb,c=new t.yb,l=[0,0],p=[0,0],v=s.bc(e);return null==v&&(s.ed(e,f),v=f),null==(f=s.bc(a))&&(s.ed(a,c),f=c),2==(v=v.Ea(f,null,l,p,0))?(r=new h(e,r,l[0],l[1],v,a,o,p[0],p[1]),n.push(r),0>(r=s.Pa(e,i))&&s.Ra(e,i,n.length-1),!0):(c=!1,e==u&&(r=new h(e,r,l[0],NaN,v,a,o,p[0],NaN),n.push(r),0>(r=s.Pa(e,i))&&s.Ra(e,i,n.length-1),c=!0),c)},i.yM=function(i,s,n,r,e,o,a,u){var f=new t.yb,c=new t.yb,l=[0,0],p=[0,0],v=s.bc(e);return null==v&&(s.ed(e,f),v=f),null==(f=s.bc(a))&&(s.ed(a,c),f=c),2==(v=v.Ea(f,null,l,p,0))?(r=new h(e,r,l[0],l[1],v,a,o,p[0],p[1]),n.push(r),0>(r=s.Pa(e,i))&&s.Ra(e,i,n.length-1),!0):(c=!1,e==u&&(r=new h(e,r,l[0],NaN,v,a,o,p[0],NaN),n.push(r),0>(r=s.Pa(e,i))&&s.Ra(e,i,n.length-1),c=!0),c)},i.cM=function(n,h,r,e){var o=[];o[0]=new t.h,o[1]=new t.h,o[2]=new t.h,o[3]=new t.h;var a=new t.h,u=new t.h,f=new t.h,c=new t.h,l=null;null!=e&&(l=new t.ig).Or();var p=0,v=null,y=new t.yb;new t.yb;for(var d=r.Ob(r.ld);-1!=d;d=r.Rb(d)){for(var b=4,g=-1,w=-1,x=-1,m=-1,j=NaN,M=!0,k=!1,z=!0,A=!0,N=!0,I=0,T=d,P=0,C=r.Xa(d),B=r.Ja(d),D=0;D=h.length-2||h[p+2].Ns!=g)&&(b=0):b=1):((E!=G||L&&0==G)&&(null!=e?(J=new s(v,3,g,F,E,b,T,w,P,S,O,H,x,m,j),e.push(J)):null.add(I)),b=1):0!=b?((E!=G||L&&0==G)&&(null!=e?(J=new s(v,0,g,F,E,b,T,w,P,S,O,H,x,m,j),e.push(J)):null.add(I)),R?(p>=h.length-2||h[p+2].Ns!=g)&&(b=1):b=0):((E!=G||L&&0==G)&&(null!=e?(J=new s(v,3,g,F,E,b,T,w,P,S,O,H,x,m,j),e.push(J)):null.add(I)),b=0),(E!=G||L&&0==G)&&(G=E,T=g,w=F,P=E,x=S,m=O,j=H,M=z=!1,A=N=!0))}}p++}1!=G&&(N&&(null!=e?v=new t.Ta:I=0),null!=e?(q.ah(G,1,l),v.oc(l.get(),A)):I++,A=N=!1,z=!0)}z&&(E=1,F=r.rj(d),F=r.Ma(F),O=S=-1,H=NaN,M?null!=e?(J=new s(v,4,g,F,E,b,T,w,P,S,O,H,x,m,j),e.push(J)):null.add(I):(M=1==b?0:0==b?1:3,null!=e?(J=new s(v,M,g,F,E,b,T,w,P,S,O,H,x,m,j),e.push(J)):null.add(I)))}},i.CM=function(s,n,h,r,e,o){var a=h[r].VH;if(1==a)return i.AM(s,n,h,r,e,o);if(0==a)return i.BM(s,n,h,r,e,o);throw t.i.Qa()},i.AM=function(i,s,n,h,r,e){var o=new t.yb,a=n[h].tg,u=n[h].Lm,f=n[h].Al,c=-1,l=-1,p=-1,v=-1;if(!i&&0.01*i&&(n*=1+(1+(t=t.xb/i))*t),this.pb=s,this.xb=n+2220446049250313e-31*Math.abs(s)},t.prototype.sqrt=function(){if(0<=this.pb){var t=Math.sqrt(this.pb),i=this.pb>10*this.xb?.5*this.xb/t:this.pb>this.xb?t-Math.sqrt(this.pb-this.xb):Math.max(t,Math.sqrt(this.pb+this.xb)-t);i+=2220446049250313e-31*Math.abs(t)}else this.pb<-1*this.xb?i=t=NaN:(t=0,i=Math.sqrt(this.xb));this.pb=t,this.xb=i},t.prototype.sin=function(t){var i=Math.sin(t.pb),s=Math.cos(t.pb);this.pb=i,i=Math.abs(i),this.xb=(Math.abs(s)+.5*i*t.xb)*t.xb+2220446049250313e-31*i},t.prototype.cos=function(t){var i=Math.sin(t.pb),s=Math.cos(t.pb);this.pb=s,s=Math.abs(s),this.xb=(Math.abs(i)+.5*s*t.xb)*t.xb+2220446049250313e-31*s},t.prototype.qg=function(){return Math.abs(this.pb)<=this.xb},t.prototype.ps=function(){return this.qg()&&0!=this.xb},t}();t.Wb=i}(Q||(Q={}));var tt=new Q.h,it=new Q.h,st=new Q.h,nt=new Q.h,ht=new Q.h;!function(t){var i,s;(s=i||(i={}))[s.closedPath=1]=\"closedPath\",s[s.exteriorPath=2]=\"exteriorPath\",s[s.ringAreaValid=4]=\"ringAreaValid\";var n=function(){function i(t,i,s,n,h,r,e){void 0!==i?(this.ib=t,this.ck=i,this.bl=s,this.ii=n,this.ya=r,this.hA=e,this.ew=h):(this.ib=t.ib,this.ck=t.ck,this.bl=t.bl,this.ii=t.ii,this.ya=t.ya,this.hA=t.hA,this.ew=t.ew),this.bH=!0}return i.prototype.next=function(){return this.bH?(this.bH=!1,this.ii):-1!=this.ii?(this.ii=this.ib.U(this.ii),this.ya++,-1!=this.ii&&this.ii!=this.ew?this.ii:this.$T()):-1},i.prototype.$T=function(){for(this.bl=this.ib.Rb(this.bl),this.ya=0;-1!=this.ck;){for(;-1!=this.bl;this.bl=this.ib.Rb(this.bl))if(this.ew=this.ii=this.ib.Xa(this.bl),-1!=this.ii)return this.ii;if(this.ck=this.ib.ue(this.ck),-1==this.ck)break;this.hA&&!t.aa.Hc(this.ib.ic(this.ck))||(this.bl=this.ib.Ob(this.ck))}return-1},i.AP=function(t,s,n,h,r,e,o){return new i(t,s,n,h,r,e,o)},i}();t.zY=n,i=function(){function i(){this.jo=this.Am=this.wk=this.cd=this.Ck=this.vo=this.Oi=this.md=this.bi=this.Sg=this.We=this.Il=null,this.qw=this.ld=-1,this.fd=0,this.fA=!1,this.ht=this.it=this.vb=null}return i.prototype.Sh=function(t){return null!=this.We?this.We[t]:null},i.prototype.Xg=function(t,i){if(null==this.We){if(null==i)return;this.We=[];for(var s=0,n=this.vb.I();s=this.Oi.size&&(i=16>s?16:t.O.truncate(3*s/2),this.Oi.resize(i),this.vo.resize(i)),this.Oi.set(s,0),this.vo.set(s,0),s},i.prototype.sF=function(t){this.md.jd(t)},i.prototype.Vy=function(t){this.td.jd(t),this.fd--},i.prototype.oI=function(i){null==this.md&&(this.md=new t.$c(8),this.td=new t.$c(5),this.Oi=new t.be(0),this.vo=new t.be(0));var s=this.td.Ce(),n=0<=i?i:s;if(this.td.S(s,0,n),0>i){if(n>=this.vb.I()){if(i=16>n?16:t.O.truncate(3*n/2),this.vb.resize(i),null!=this.We)for(var h=0;hs.Ja(h))){var e=this.vf(i,-1);this.kn(e,s.dc(h));for(var o=s.Ba(h),a=s.Vc(h);oi.Ja(s))return n;this.Il.Fd(i,i.Ba(s),i.Vc(s)),this.it=this.vb.ub(0);var h=this.vf(n,-1);this.kn(h,i.dc(s)||!0);var r=null!=this.We&&null!=i.Ve,e=i.Ba(s);for(s=i.Vc(s);e=s.size&&s.resize(Math.max(t.O.truncate(1.25*i),16),-1),s.write(i,n)},i.prototype.KF=function(t,i){return(t=this.JF(t))<(i=this.wk[i]).size?i.read(t):-1},i.prototype.aF=function(){null==this.wk&&(this.wk=[]);for(var i=0;iu:2>u)?(o=this.Zq(o),h=0c){var l=c;null!=a&&(l=0l){var p=l;if(null!=a&&(p=0h||r>this.fd-1)throw t.i.N(\"invalid call\");if(h>r&&!this.dc(i))throw t.i.N(\"cannot iterate across an open path\");for(i=0;s!=n;s=this.U(s))h=this.Ua(s),null!=(r=this.Sh(h))?i+=r.Qb():(r=this.Ua(this.U(s)),i+=this.vb.yr(h,r));return i},i.prototype.Dh=function(t,i){var s=this.Ua(t);this.vb.Ht(s,i),null!=(s=this.Sh(s))&&s.setStart(i),-1!=(t=this.Ma(t))&&(t=this.Ua(t),null!=this.Sh(t)&&s.setEnd(i))},i.prototype.Vi=function(t,i){t=this.Ua(t),this.vb.ve(t,i)},i.prototype.mf=function(t,i){this.Cb(t,i.x,i.y)},i.prototype.Cb=function(t,i,s){var n=this.Ua(t);this.vb.Cb(n,i,s),null!=(n=this.Sh(n))&&n.ZB(i,s),-1!=(t=this.Ma(t))&&(t=this.Ua(t),null!=this.Sh(t)&&n.Ql(i,s))},i.prototype.D=function(t,i){this.vb.D(this.td.T(t,0),i)},i.prototype.Gc=function(t,i){this.vb.za[0].tc(2*this.td.T(t,0),i)},i.prototype.Na=function(i){var s=new t.h;return this.vb.D(this.td.T(i,0),s),s},i.prototype.dG=function(t,i){this.it.tc(2*t,i)},i.prototype.Uc=function(t,i,s){return this.vb.Uc(t,this.Ua(i),s)},i.prototype.setAttribute=function(t,i,s,n){this.vb.setAttribute(t,this.Ua(i),s,n)},i.prototype.Ua=function(t){return this.td.T(t,0)},i.prototype.ih=function(){var i=new t.h;return this.D(void 0,i),i.y},i.prototype.fq=function(t,i){t=this.Ua(t),i=this.Ua(i);var s=this.vb.za[0].o;return s[2*t]===s[2*i]&&s[2*t+1]===s[2*i+1]},i.prototype.Dv=function(t,i){t=this.Ua(t);var s=this.vb.za[0].o;return s[2*t]===i.x&&s[2*t+1]===i.y},i.prototype.vX=function(i,s){if(1>s&&(s=1),null==this.Sg){if(1==s)return;this.Sg=t.Yc.Dn(this.vb.I(),1)}(i=this.Ua(i))>=this.Sg.size&&this.Sg.resize(i+1,1),this.Sg.write(i,s)},i.prototype.cG=function(t){return t=this.Ua(t),null==this.Sg||t>=this.Sg.size?1:this.Sg.read(t)},i.prototype.Ra=function(t,i,s){i=this.bi[i],t=this.Ua(t),i.sizet?1:ir?1:0}))},i.prototype.jS=function(){for(var i=this.ld;-1!=i;i=this.ue(i))if(!t.aa.Hc(this.ic(i)))return!0;return!1},i.prototype.hC=function(t,i){for(var s=this.Ob(t),n=this.Ob(i),h=this.kv(t),r=this.kv(i),e=this.Ob(t);-1!=e;e=this.Rb(e))this.gx(e,i);for(e=this.Ob(i);-1!=e;e=this.Rb(e))this.gx(e,t);this.Zo(t,n),this.Zo(i,s),this.$o(t,r),this.$o(i,h),s=this.I(t),n=this.da(t),h=this.da(i),this.Tj(t,this.I(i)),this.Tj(i,s),this.Rl(t,h),this.Rl(i,n),s=this.cd.T(t,2),this.cd.S(t,2,this.cd.T(i,2)),this.cd.S(i,2,s)},i}(),t.gd=i}(Q||(Q={})),function(t){var i=function(i){function s(s,n,h,r){var e=i.call(this)||this;return e.$=new t.l,void 0===s?e.UE():\"number\"==typeof s?e.VO(s,n,h,r):s instanceof t.Sa?void 0!==n?e.Qu(s,n,h):e.WO(s):s instanceof t.ra?void 0!==n?e.YO(s,n):e.XO(s):s instanceof t.l?e.UO(s):e.UE(),e}return _(s,i),s.prototype.Qu=function(i,s,n){this.description=t.ee.og(),this.$.Oa(),i.B()||this.tu(i,s,n)},s.prototype.UO=function(i){this.description=t.ee.og(),this.$.K(i),this.$.normalize()},s.prototype.XO=function(i){if(null==i)throw t.i.N();this.description=i,this.$.Oa()},s.prototype.YO=function(i,s){if(null==i)throw t.i.N();this.description=i,this.$.K(s),this.$.normalize()},s.prototype.UE=function(){this.description=t.ee.og(),this.$.Oa()},s.prototype.WO=function(i){this.description=t.ee.og(),this.$.Oa(),i.B()||this.tu(i)},s.prototype.VO=function(i,s,n,h){this.description=t.ee.og(),this.K(i,s,n,h)},s.prototype.K=function(t,i,s,n){if(this.vc(),\"number\"==typeof t)this.$.K(t,i,s,n);else for(this.Oa(),i=0,s=t.length;i=t.ra.Va(s))throw t.i.N();var h=this.description.Pf(s);return this.ou(),0<=h?this.ka[this.kR(this.description,i)+this.description.LR(h)-2+n]:t.ra.se(s)},s.prototype.ou=function(){if(this.vc(),null==this.ka&&2=t.ra.Va(n))throw t.i.ce();var r=this.description.Pf(n);return 0<=r?(this.ou(),this.ka[s.Gg(this.description,i)+this.description.$j(r)-2+h]):t.ra.se(n)},s.prototype.vD=function(i,n,h,r){if(this.vc(),0==n)0!=i?0!=h?this.$.H=r:this.$.C=r:0!=h?this.$.G=r:this.$.v=r;else{if(h>=t.ra.Va(n))throw t.i.ce();if(!this.hasAttribute(n)){if(t.ra.DG(n,r))return;this.re(n)}n=this.description.Pf(n),this.ou(),this.ka[s.Gg(this.description,i)+this.description.$j(n)-2+h]=r}},s.Gg=function(t,i){return i*(t.Ae.length-2)},s.prototype.Ea=function(i){this.vc();var s=new t.l;return i.A(s),this.$.Ea(s)},s.prototype.isIntersecting=function(i){return i instanceof t.l?this.$.isIntersecting(i):this.$.isIntersecting(i.$)},s.prototype.Ju=function(t,i){this.vc(),t.B()?this.Oa():void 0!==i?this.tu(t,i):this.$.Ju(t.Lg(),t.ih())},s.prototype.offset=function(t,i){this.vc(),this.$.offset(t,i)},s.prototype.normalize=function(){this.vc(),this.$.normalize()},s.prototype.sf=function(i){if(void 0===i){if(i=new t.Sa(this.description),this.B())return i;for(s=this.description.Aa,n=1;nthis.C&&(this.C=n.x),n.ythis.H&&(this.H=n.y)}}else if(null==t||0==t.length)this.Oa();else for(n=t[0],this.K(n.x,n.y),s=1;ss?this.v=s:this.Cn?this.G=n:this.Ht?this.v=t:this.Ci?this.G=i:this.Hthis.C||this.G>this.H)&&this.Oa())},i.prototype.scale=function(t){0>t&&this.Oa(),this.B()||(this.v*=t,this.C*=t,this.G*=t,this.H*=t)},i.prototype.zoom=function(t,i){this.B()||this.K(this.sf(),t*this.R(),i*this.ca())},i.prototype.isIntersecting=function(t){return!this.B()&&!t.B()&&(this.v<=t.v?this.C>=t.v:t.C>=this.v)&&(this.G<=t.G?this.H>=t.G:t.H>=this.G)},i.prototype.HG=function(t){return(this.v<=t.v?this.C>=t.v:t.C>=this.v)&&(this.G<=t.G?this.H>=t.G:t.H>=this.G)},i.prototype.Ea=function(t){return!this.B()&&!t.B()&&(t.v>this.v&&(this.v=t.v),t.Cthis.G&&(this.G=t.G),t.Hi.length)throw t.i.N();null!=i[0]?i[0].ma(this.v,this.G):i[0]=t.h.construct(this.v,this.G),null!=i[1]?i[1].ma(this.v,this.H):i[1]=t.h.construct(this.v,this.H),null!=i[2]?i[2].ma(this.C,this.H):i[2]=t.h.construct(this.C,this.H),null!=i[3]?i[3].ma(this.C,this.G):i[3]=t.h.construct(this.C,this.G)},i.prototype.wF=function(){return this.B()?0:this.R()*this.ca()},i.prototype.yR=function(){return this.B()?0:2*(this.R()+this.ca())},i.prototype.gk=function(){return(this.C+this.v)/2},i.prototype.Jp=function(){return(this.H+this.G)/2},i.prototype.R=function(){return this.C-this.v},i.prototype.ca=function(){return this.H-this.G},i.prototype.move=function(t,i){this.B()||(this.v+=t,this.G+=i,this.C+=t,this.H+=i)},i.prototype.Ju=function(i,s){if(void 0!==s)this.move(i-this.gk(),s-this.Jp());else if(i instanceof t.h)this.Ju(i.x,i.y);else{if(!(i instanceof t.Sa))throw t.i.N();s=(this.C-this.v)/2;var n=(this.H-this.G)/2;this.v=i.Lg()-s,this.C=i.Lg()+s,this.G=i.ih()-n,this.H=i.ih()+n}},i.prototype.offset=function(t,i){this.v+=t,this.C+=t,this.G+=i,this.H+=i},i.prototype.normalize=function(){if(!this.B()){var t=Math.min(this.v,this.C),i=Math.max(this.v,this.C);this.v=t,this.C=i,t=Math.min(this.G,this.H),i=Math.max(this.G,this.H),this.G=t,this.H=i}},i.prototype.dn=function(t){t.ma(this.v,this.G)},i.prototype.$I=function(t){t.ma(this.C,this.G)},i.prototype.cJ=function(t){t.ma(this.v,this.H)},i.prototype.en=function(t){t.ma(this.C,this.H)},i.prototype.fT=function(){return this.B()||this.v<=this.C&&this.G<=this.H},i.prototype.sf=function(){return t.h.construct((this.C+this.v)/2,(this.H+this.G)/2)},i.prototype.mz=function(){return t.h.construct(this.v,this.G)},i.prototype.contains=function(s,n){if(void 0!==n)return s>=this.v&&s<=this.C&&n>=this.G&&n<=this.H;if(s instanceof t.Sa)return this.contains(s.Lg(),s.ih());if(s instanceof t.h)return this.contains(s.x,s.y);if(s instanceof i)return s.v>=this.v&&s.C<=this.C&&s.G>=this.G&&s.H<=this.H;throw t.i.N()},i.prototype.hm=function(s,n){if(void 0!==n)return s>this.v&&sthis.G&&nthis.v&&s.Cthis.G&&s.H>>32);var s=t.O.Th(i);return i=this.C,i=t.O.truncate(i^i>>>32),s=t.O.Th(i,s),i=this.G,i=t.O.truncate(i^i>>>32),s=t.O.Th(i,s),i=this.H,i=t.O.truncate(i^i>>>32),t.O.Th(i,s)},i.prototype.xr=function(){return this.B()?2220446049250313e-29:2220446049250313e-29*(Math.abs(this.v)+Math.abs(this.C)+Math.abs(this.G)+Math.abs(this.H)+1)},i.prototype.zy=function(t,s){var n=this.Zj(t),h=this.Zj(s);if(n&h)return 0;if(!(n|h))return 4;var r=(0!=n?1:0)|(0!=h?2:0);do{var e=s.x-t.x,o=s.y-t.y;if(e>o?n&i.YC?(n&i.ju?(t.y+=o*(this.v-t.x)/e,t.x=this.v):(t.y+=o*(this.C-t.x)/e,t.x=this.C),n=this.Zj(t)):h&i.YC?(h&i.ju?(s.y+=o*(this.v-s.x)/e,s.x=this.v):(s.y+=o*(this.C-s.x)/e,s.x=this.C),h=this.Zj(s)):0!=n?(n&i.ku?(t.x+=e*(this.G-t.y)/o,t.y=this.G):(t.x+=e*(this.H-t.y)/o,t.y=this.H),n=this.Zj(t)):(h&i.ku?(s.x+=e*(this.G-s.y)/o,s.y=this.G):(s.x+=e*(this.H-s.y)/o,s.y=this.H),h=this.Zj(s)):n&i.ZC?(n&i.ku?(t.x+=e*(this.G-t.y)/o,t.y=this.G):(t.x+=e*(this.H-t.y)/o,t.y=this.H),n=this.Zj(t)):h&i.ZC?(h&i.ku?(s.x+=e*(this.G-s.y)/o,s.y=this.G):(s.x+=e*(this.H-s.y)/o,s.y=this.H),h=this.Zj(s)):0!=n?(n&i.ju?(t.y+=o*(this.v-t.x)/e,t.x=this.v):(t.y+=o*(this.C-t.x)/e,t.x=this.C),n=this.Zj(t)):(h&i.ju?(s.y+=o*(this.v-s.x)/e,s.x=this.v):(s.y+=o*(this.C-s.x)/e,s.x=this.C),h=this.Zj(s)),n&h)return 0}while(n|h);return r},i.prototype.Zj=function(t){return(t.xthis.C?1:0)<<1|(t.ythis.H?1:0)<<3},i.prototype.Bi=function(t){return!this.B()&&(this.R()<=t||this.ca()<=t)},i.prototype.tb=function(i){return i instanceof t.h?Math.sqrt(this.iK(i)):Math.sqrt(this.px(i))},i.prototype.px=function(t){var i=0,s=0,n=this.v-t.C;return n>i&&(i=n),(n=this.G-t.H)>s&&(s=n),(n=t.v-this.C)>i&&(i=n),(n=t.G-this.H)>s&&(s=n),i*i+s*s},i.prototype.iK=function(t){var i=0,s=0,n=this.v-t.x;return n>i&&(i=n),(n=this.G-t.y)>s&&(s=n),(n=t.x-this.C)>i&&(i=n),(n=t.y-this.H)>s&&(s=n),i*i+s*s},i.prototype.cn=function(t){this.B()?t.Oa():t.K(this.v,this.C)},i.ju=1,i.ku=4,i.YC=3,i.ZC=12,i}();t.l=i}(Q||(Q={})),function(t){var i,s;(s=i||(i={}))[s.initialize=0]=\"initialize\",s[s.initializeRed=1]=\"initializeRed\",s[s.initializeBlue=2]=\"initializeBlue\",s[s.initializeRedBlue=3]=\"initializeRedBlue\",s[s.sweep=4]=\"sweep\",s[s.sweepBruteForce=5]=\"sweepBruteForce\",s[s.sweepRedBlueBruteForce=6]=\"sweepRedBlueBruteForce\",s[s.sweepRedBlue=7]=\"sweepRedBlue\",s[s.sweepRed=8]=\"sweepRed\",s[s.sweepBlue=9]=\"sweepBlue\",s[s.iterate=10]=\"iterate\",s[s.iterateRed=11]=\"iterateRed\",s[s.iterateBlue=12]=\"iterateBlue\",s[s.iterateBruteForce=13]=\"iterateBruteForce\",s[s.iterateRedBlueBruteForce=14]=\"iterateRedBlueBruteForce\",s[s.resetRed=15]=\"resetRed\",s[s.resetBlue=16]=\"resetBlue\";var n=function(){function t(t,i){this.ci=t,this.dH=i}return t.prototype.nr=function(t,i,s){this.ci.JX(s,t,i,this.dH)},t.prototype.$p=function(t){return this.ci.Rr(t,this.dH)},t}();i=function(){function i(){this.ow=this.oo=this.ff=this.rd=null,this.wq=new t.l,this.Am=this.Hj=this.Ij=this.Ad=this.Ef=this.Ld=this.cw=this.fo=this.qd=this.Eb=null,this.Xb=-1,this.qa=0,this.Nk()}return i.prototype.kr=function(){this.Nk(),this.Pv=!0,null==this.Eb?(this.fo=new t.ia(0),this.Eb=[]):(this.fo.Bh(0),this.Eb.length=0)},i.prototype.ad=function(i,s){if(!this.Pv)throw t.i.Hb();var n=new t.l;n.K(s),this.fo.add(i),this.Eb.push(n)},i.prototype.Fp=function(){if(!this.Pv)throw t.i.Hb();this.Pv=!1,null!=this.Eb&&0this.Eb.length)return this.pe=this.Eb.length,this.Xb=5,!0;null==this.rd&&(this.rd=new t.sr(!0),this.oo=this.rd.getIterator(),this.Ld=new t.ia(0)),this.rd.kr();for(var i=0;ithis.Eb.length||10>this.qd.length)return this.pe=this.Eb.length,this.Xb=6,!0;null==this.rd&&(this.rd=new t.sr(!0),this.oo=this.rd.getIterator(),this.Ld=new t.ia(0)),this.rd.kr();for(var i=0;ithis.Eb.length||10>this.qd.length)return this.pe=this.Eb.length,this.Xb=6,!0;null==this.ff&&(this.ff=new t.sr(!0),this.ow=this.ff.getIterator(),this.Ef=new t.ia(0)),this.ff.kr();for(var i=0;ithis.Eb.length||10>this.qd.length)return this.pe=this.Eb.length,this.Xb=6,!0;null==this.rd&&(this.rd=new t.sr(!0),this.oo=this.rd.getIterator(),this.Ld=new t.ia(0)),null==this.ff&&(this.ff=new t.sr(!0),this.ow=this.ff.getIterator(),this.Ef=new t.ia(0)),this.rd.kr();for(var i=0;i>1;return i.eq(t)?(this.rd.remove(s),0!=this.pe||(this.Af=this.Vf=-1,this.Ic=!0,!1)):(this.oo.EB(this.Eb[s].v,this.Eb[s].C,this.qa),this.Vf=s,this.Xb=10,!0)},i.prototype.QX=function(){return-1==--this.pe?(this.Af=this.Vf=-1,this.Ic=!0,!1):(this.Rg=this.Vf=this.pe,this.Xb=13,!0)},i.prototype.RX=function(){return-1==--this.pe?(this.Af=this.Vf=-1,this.Ic=!0,!1):(this.Vf=this.pe,this.Rg=this.qd.length,this.Xb=14,!0)},i.prototype.SX=function(){var t=this.Ld.get(this.pe-1),s=this.Ef.get(this.Rg-1),n=this.Rr(t,!0),h=this.Rr(s,!1);return n>h?this.ux():n>1;if(i.eq(s))return-1!=this.Df&&-1!=this.Ij.get(n)?(this.Ad.jd(this.Df,this.Ij.get(n)),this.Ij.set(n,-1)):this.rd.remove(n),0!=this.pe||(this.Af=this.Vf=-1,this.Ic=!0,!1);if(-1!=this.Cf&&0>1;if(i.eq(s))return-1!=this.Cf&&-1!=this.Hj.get(n)?(this.Ad.jd(this.Cf,this.Hj.get(n)),this.Hj.set(n,-1)):this.ff.remove(n),0!=this.Rg||(this.Af=this.Vf=-1,this.Ic=!0,!1);if(-1!=this.Df&&0>1;return this.rd.vj(t),this.Xb=4,!0},i.prototype.jT=function(){if(this.Vf=this.oo.next(),-1!=this.Vf)return!1;this.Af=this.Vf=-1;var t=this.Ef.get(this.Rg)>>1;return this.ff.vj(t),this.Xb=7,!0},i.prototype.gT=function(){if(this.Af=this.ow.next(),-1!=this.Af)return!1;var t=this.Ld.get(this.pe)>>1;return this.rd.vj(t),this.Xb=7,!0},i.prototype.hT=function(){if(-1==--this.Rg)return this.Xb=5,!0;this.wq.K(this.Eb[this.pe]);var t=this.Eb[this.Rg];return this.wq.W(this.qa,this.qa),!this.wq.isIntersecting(t)||(this.Af=this.Rg,!1)},i.prototype.iT=function(){if(-1==--this.Rg)return this.Xb=6,!0;this.wq.K(this.Eb[this.pe]);var t=this.qd[this.Rg];return this.wq.W(this.qa,this.qa),!this.wq.isIntersecting(t)||(this.Af=this.Rg,!1)},i.prototype.kJ=function(){return null==this.rd?(this.Ic=!0,!1):(this.pe=this.Ld.size,0>1],i.eq(t)?s.G-n:s.H+n):(s=this.qd[t>>1],i.eq(t)?s.G-n:s.H+n)},i}(),t.xC=i}(Q||(Q={})),function(t){var i=function(){function i(){}return i.construct=function(t,s,n,h,r,e){var o=new i;return o.v=t,o.G=s,o.Ye=n,o.C=h,o.H=r,o.Bg=e,o},i.prototype.Oa=function(){this.Ye=this.v=NaN},i.prototype.B=function(){return isNaN(this.v)},i.prototype.XS=function(){return isNaN(this.Ye)},i.prototype.K=function(t,i,s,n,h,r){void 0!==n?\"number\"==typeof t?(this.v=t,this.G=i,this.Ye=s,this.C=n,this.H=h,this.Bg=r):(this.v=t.x-.5*i,this.C=this.v+i,this.G=t.y-.5*s,this.H=this.G+s,this.Ye=t.z-.5*n,this.Bg=this.Ye+n):(this.v=t,this.G=i,this.Ye=s,this.C=t,this.H=i,this.Bg=s)},i.prototype.move=function(t){this.v+=t.x,this.G+=t.y,this.Ye+=t.z,this.C+=t.x,this.H+=t.y,this.Bg+=t.z},i.prototype.copyTo=function(t){t.v=this.v,t.G=this.G,t.C=this.C,t.H=this.H},i.prototype.Lk=function(t,i,s){this.v>t?this.v=t:this.Ci?this.G=i:this.Hs?this.Ye=s:this.Bgi.length)throw t.i.N();i[0]=new t.Nd(this.v,this.G,this.Ye),i[1]=new t.Nd(this.v,this.H,this.Ye),i[2]=new t.Nd(this.C,this.H,this.Ye),i[3]=new t.Nd(this.C,this.G,this.Ye),i[4]=new t.Nd(this.v,this.G,this.Bg),i[5]=new t.Nd(this.v,this.H,this.Bg),i[6]=new t.Nd(this.C,this.H,this.Bg),i[7]=new t.Nd(this.C,this.G,this.Bg)},i.prototype.Zw=function(t){if(null==t||0==t.length)this.Oa();else{var i=t[0];for(this.K(i.x,i.y,i.z),i=1;ithis.FA;){var o=this.sd.ha();if(h.L(o.ac()),r.L(o.wc()),h.scale(this.Wa.ec),r.scale(this.Wa.ec),t.cj.Mu(h,r)?h.x=r.x:t.cj.Ku(h,r)&&(r.x=h.x),this.uk.length=0,t.cj.tF(this.Wa.Tb,this.Wa.kc,this.Wa.ze,h,r,this.Wa.QA,this.Wa.Zs,e,this.Nj,this.Gs,this.uk,this.bw),null!=this.co&&(o=this.uk.slice(0),this.co.qG(this.co.da()-1,o,o.length-1)),t.cj.Lu(h,r)?(this.qq.Oa(),this.Wa.sy(h,this.sl,this.qq),this.Xn=!0):(this.qq.Oa(),this.Xn=this.xy(e[0],this.qq)),this.Xn){if(this.sd.li(),this.sd.Ez()){this.sd.li(),this.sd.ha();break}this.sd.DW();break}null==i&&(i=new t.Da).Yk(null,0),this.OD(i),s++}if(this.bw[0]=0,0=this.Nj[0]){var e=this.di+1.570796326794897;h=e+3.141592653589793-(this.di-this.Nj[0])}else h=(e=this.di+1.570796326794897)+3.141592653589793-(6.283185307179586-(this.Nj[0]-this.di));var o=!(this.di>=this.Nj[0]&&3.141592653589793>=this.di-this.Nj[0])&&!(this.die;)u-=6.283185307179586;us.x-this.sk[0]?this.sk[0]-=6.283185307179586:3.141592653589793e?a.xX():a.$n=e,h=i.getType(),t.aa.yd(h)?((h=new t.Ta(i.description)).oc(i,!0),i=h,h=1607):197==h&&(h=new t.l,i.A(h),h.R()<=a.qa||h.ca()<=a.qa?((h=new t.Ta(i.description)).ad(i,!1),i=h,h=1607):((h=new t.Da(i.description)).ad(i,!1),i=h,h=1736)),a.yX(),t.aa.Rn(h)||a.zX(),a.rb<=.5*a.$n)return 1736!=h?new t.Da(i.description):a.Wv?i:t.cj.Qr(i,a.Qg,a.ze,a.QA,-1,o);if(0>a.Ka&&1736!=h)return new t.Da(i.description);if(a.Wv&&t.aa.Hc(h)?(s=t.cj.Qr(i,s,4,NaN,a.$n,o),i=t.cb.zh(s,a.Qg,a.Jc)):i=t.cb.zh(i,a.Qg,a.Jc),(i=t.Hh.lj(i,a.Jc)).B())return new t.Da(i.description);switch(!a.Wv&&t.aa.Hc(h)&&(i=t.cj.pI(a.ec,i)),i=n.KX(i,a.Jc),h){case 1736:s=a.UN(i);break;case 1607:s=a.VN(i);break;case 550:s=a.SN(i);break;case 33:s=a.TN(i);break;default:throw t.i.fa(\"corrupted_geometry\")}return(a=t.cb.zh(s,a.Jc,a.Qg)).Jl(i.description),a},n.prototype.UN=function(i){var n=new t.Da;i=new s(this,i,n),i=t.Gh.local().V(i,this.Jc,this.Ub).next(),i=t.ip.nj(i,this.Jc,2);var h=new t.Dd;return h.scale(1/this.ec,1/this.ec),n.Oc(h),n=t.ip.nj(n,this.Jc,2),0<=this.Ka?t.Gh.local().V(n,i,this.Jc,this.Ub):t.kp.local().V(n,i,this.Jc,this.Ub)},n.prototype.VN=function(i){return i=new s(this,i,null),i=t.Gh.local().V(i,this.Jc,this.Ub).next(),t.ip.nj(i,this.Jc,2)},n.prototype.SN=function(s){return s=new i(this,s),s=t.Gh.local().V(s,this.Jc,this.Ub).next(),t.ip.nj(s,this.Jc,2)},n.prototype.TN=function(i){(i=i.D()).scale(this.ec);var s=new t.Da;return this.sy(i,!1,s),t.ip.nj(s,this.Jc,2)},n.prototype.xy=function(i,s,h,r,e,o){var a=i[0],u=i[i.length-1],f=a.y>u.y?a.y:u.y,c=t.F.q(this.Tb,this.kc,a.yt.Ke()&&(this.UV(t),!0)},n.prototype.OI=function(i,s,n){var h=n.I(),r=0e.x?(e=this.zq,h.gg(-this.Js,0)):(e=-this.zq,h.gg(this.Js,0)),s.add(i,!1),i.Oa(),n.add(s,!1),n.Oc(h),r=new t.l,n.A(r),r.W((this.Js-r.R())/2,0),r.G=-this.zq,r.H=this.zq;for(var a=0;a=a));)t.kb.yi(i,s,e.x,e.y,r,m,y,d),f?g.ma(y.u,d.u):(b.ma(y.u,d.u),n.gJ(e.x,b.x,w.x,c),g.ma(c[0]+b.x,b.y),w.L(g)),g.scale(h),l.wf(0,-1,g),o=m,m=x++*u}},n.dJ=function(i,s,n,h,r,e,o,a,u,f){var c=new t.h,l=new t.h,p=new t.ga(0),v=new t.ga(0);for(t.kb.yi(i,s,h.x,h.y,n,r,p,v),c.ma(p.u,v.u),t.kb.yi(i,s,h.x,h.y,n,e,p,v),l.ma(p.u,v.u),n=new t.ga(0),t.kb.Xy(i,s,o.x,o.y,c.x,c.y,n),u[0]=n.u,t.kb.Xy(i,s,o.x,o.y,l.x,l.y,n),f[0]=n.u;u[0]<=f[0];)u[0]+=6.283185307179586;for(;u[0]>f[0];)u[0]-=6.283185307179586;for(;u[0]>=a;)u[0]-=6.283185307179586,f[0]-=6.283185307179586;for(;u[0]e[i]?1:0})),s=i.Ia(),a=0;athis.rb/t&&(t=this.rb/500),.01>t&&(t=.01),this.$n=t},n}();t.VK=n}(Q||(Q={})),function(t){var i=function(){function i(){}return i.Mf=function(i,s){var n=new t.h;n.L(s),i.push(n)},i.up=function(t,i){t.add(i.x),t.add(i.y)},i.hB=function(t){t.Bh(t.size-2)},i.oB=function(t,i){i.ma(t.get(t.size-2),t.get(t.size-1))},i.Qr=function(s,n,h,r,e,o){if(null==s)throw t.i.N();var a=s.getType();if(s.B()||t.aa.Rn(a))return s;var u=new i;u.Qg=n,u.Jc=t.cb.sc(n);var f=t.cb.vv(u.Jc);if(u.Ub=o,u.Tb=t.cb.ev(u.Jc),u.kc=f*(2-f),u.ec=u.Jc.Hd().ai,u.Aq=u.Jc.Kn(),u.Zs=u.Aq*u.ec,u.AA=r,u.zA=e,u.ze=h,197==a?(h=new t.Da(s.description)).ad(s,!1):t.aa.yd(a)?(h=new t.Ta(s.description)).oc(s,!0):h=s,4!=u.ze){if((n=0==u.Qg.Nb(u.Jc)?t.cb.zh(h,u.Qg,u.Jc):t.Hh.lj(h,u.Jc)).B())return n;n=i.pI(u.ec,n),n=u.Zy(n),n=t.ip.nj(n,u.Jc,u.ze),u=t.cb.zh(n,u.Jc,u.Qg)}else{if(2==t.Eg.Sb(n)?(s=t.cb.ml(),(n=t.Xj.local().V(h,s,n,o))==s&&(n=new t.Da,s.copyTo(n))):n=t.Hh.lj(h,u.Jc),n.B())return n;u=u.CX(n)}return u},i.pI=function(s,n){var h=new t.l;if(n.xc(h),3.141592653589793>h.R()*s)return n;var r=!1;h=n.Ga();for(var e=new t.h,o=new t.h;h.$a();)for(;h.Ha();){var a=h.ha();if(e.L(a.ac()),o.L(a.wc()),e.scale(s),o.scale(s),3.141592653589793o.x-e.x)for(;-6.283185307179586>o.x-e.x;)o.x+=6.283185307179586;i.Wi(o.x,NaN,b),p.L(o)}else c.L(o),i.AU(c),i.Wi(c.x,d,b),p.ma(b[0]+c.x,c.y);.5>Math.abs(p.x-o.x)&&p.L(o),f?(a.Tw(0,y),v.L(l),v.scale(1/s),y.Cb(v),(u=h.vm())?r.nf(y):r.lineTo(y),h.Qn()&&!n.dc(h.gb)&&(a.Tw(1,y),v.L(p),v.scale(1/s),y.Cb(v),r.lineTo(y))):((u=h.vm())&&r.Hz(null,0),a=r.da()-1,v.L(l),v.scale(1/s),r.wf(a,-1,v),h.Qn()&&!n.dc(h.gb)&&(v.L(p),v.scale(1/s),r.wf(a,-1,v)))}return r},i.tF=function(s,n,h,r,e,o,a,u,f,c,l,p){var v=new t.h,y=new t.h,d=0w&&(w+=6.283185307179586),0>(b=b.u)&&(b+=6.283185307179586),null!=f&&(f[0]=g),null!=c&&(c[0]=w),null!=l&&(l[0]=b),c=f=NaN,null!=p&&(f=((c=t.F.Ah(s,n))-(l=t.F.q(s,n,r.y)))/g,c=(c+l)/g),l=i.Mu(r,e),b=i.Ku(r,e),w=l||b;var x=i.FE(r,e,u),m=new t.ga(0),j=new t.ga(0),M=new t.h,k=new t.h,z=new t.h;i.Wi(r.x,NaN,y);var A=[y[0]];if(g<=o)i.Mf(v,r),i.Wi(e.x,NaN,y),null!=p&&p.add(0),w?(l&&i.kB(r,e,p,v),b&&i.iB(r,e,p,v)):x?i.jB(r,e,d,f,c,p,v):0z.x&&(y[0]+=6.283185307179586,z.ma(y[0]+M.x,M.y)):I.xa.x?a.x+=6.283185307179586:3.141592653589793C;C++)if(I=N[C]*c+(1-N[C])*f,t.kb.oj(s,n,r.x,r.y,I*e,o,g,w,h),M.ma(g.u,w.u),0==C&&(P=I,k.L(M)),i.WW(m,M,j,A),A.hc(A.fe(M,!0),z),t.kb.wd(s,n,M.x,M.y,z.x,z.y,x,null,null,2),x.u>l){T=!0;break}T?(j.L(k),c=P,i.up(a,j),u.add(c)):(i.hB(a),u.En(u.size-1,1,u.size-1),0=a&&F.u<=o&&3.141592653589793>Math.abs(d.x-b.x))break;if(r.Ux(T,P)<=e)break}var U=q[A]*P+(1-q[A])*T;if(r.hc(U,p),z?g.ma(p.x*h,p.y*h):(k[0][0]=p.x,k[0][1]=p.y,t.cb.vt(),g.x=k[0][0]*h,g.y=k[0][1]*h),0==A&&(K=U,y.L(p),x.L(g),0o||3.141592653589793<=Math.abs(d.x-b.x)))){L=!0;break}if(C&&0o||3.141592653589793<=Math.abs(d.x-g.x)){L=!0;break}}else if(0a){L=!0;break}if(C){if(t.kb.wd(s,n,M.x,M.y,w.x,w.y,J,null,null,2),J.u>a){L=!0;break}if(t.kb.wd(s,n,w.x,w.y,g.x,g.y,R,null,null,2),R.u>a){L=!0;break}}}}L?(l.L(y),b.L(x),P=K,i.up(N,l),i.up(B,b),D.add(P)):(i.hB(N),i.hB(B),D.En(D.size-1,1,D.size-1),i.Mf(f,l),I+=F.u,null!=u&&u.add(I),0Math.abs(i.x-t.x)?(n.Dc(t),3.141592653589793<=s.x-t.x?n.Ql(s.x-6.283185307179586,s.y):3.141592653589793<=t.x-s.x?n.Ql(s.x+6.283185307179586,s.y):n.Ql(s.x,s.y)):(n.Dc(s),3.141592653589793<=t.x-s.x?n.Ql(t.x-6.283185307179586,t.y):3.141592653589793<=s.x-t.x?n.Ql(t.x+6.283185307179586,t.y):n.Ql(t.x,t.y))},i.YJ=function(t,i){for(var s=0;st.x)for(;-3.141592653589793>t.x;)t.x+=6.283185307179586;if(3.141592653589793s.v+e&&at?-t:t},t.Mb=function(i,s){return 0<=s?t.P(i):-t.P(i)},t.Y=function(i,s){return i==s||t.P(i-s)<=t.JC*(1+(t.P(i)+t.P(s))/2)},t.Cd=function(i){return 0==i||t.P(i)<=t.JC},t.Ah=function(i,s){var n=(s=(1-(s=Math.sqrt(1-s)))/(1+s))*s;return i/(1+s)*(1+n*(.25+n*(.015625+1/256*n)))*t.EL},t.EL=1.5707963267948966,t.JC=3552713678800501e-30,t}()}(Q||(Q={})),function(t){var i=function(t){this.Wf=t,this.Kk=this.Wf.getCode(),0>this.Kk&&(this.Kk=0)};t.DY=i;var s=function(){function s(t){void 0===t&&(t=null),this.Cj=null,this.Un=!1,null!==t&&(this.Cj=new i(t))}return s.prototype.Ec=function(){return null!=this.Cj?this.Cj.Kk:0},s.prototype.Of=function(){var t=new s;return this.copyTo(t),t},s.prototype.copyTo=function(t){t.Cj=this.Cj,t.Un=this.Un},s.prototype.Qz=function(){this.Un=!this.Un},s.prototype.qm=function(){return null!=this.Cj?this.Cj.Wf:null},s.prototype.LJ=function(s){if(0>=s)throw t.i.N();if(s!=this.Ec()){if(null==(s=t.pf.geogtran(s)))throw t.i.N(\"Geogtran not found.\");this.Cj=new i(s)}},s.prototype.Bz=function(){return null==this.Cj?null:this.Cj.Wf.toString()},s.prototype.tX=function(s){if(null==s)throw t.i.N();var n=null;try{n=t.pf.fromString(t.Sc.PE_TYPE_GEOGTRAN,s)}catch(h){throw t.i.N()}this.Cj=new i(n)},s.prototype.Nb=function(t){return t==this||!(!(t instanceof s)||(0>=this.Ec()||this.Ec()!=t.Ec())&&!this.qm().isEqual(t.qm()))&&this.Un==t.Un},s.prototype.toString=function(){var t=\"GeographicTransformation: \"+this.Bz();return 200t.I())},t.BE=function(t){return!(t.B()||1607!=t.getType()&&1736!=t.getType()||20>t.I())},t}();t.Uk=i}(Q||(Q={})),function(t){t.$b=function(){function i(){}return i.TT=function(i){var s=new t.Da;return s.sx(i.es(),i.gs()),s.yj(i.es(),i.fs()),s.yj(i.ds(),i.fs()),s.yj(i.ds(),i.gs()),s},i.zh=function(i,s){return null===i?null:t.Hx.local().V(i,s,null)},i.jY=function(i,s){var n=t.Gh.local();return i=new t.Zc(i),n.V(i,s,null).next()},i.im=function(i,s,n){return t.kp.local().V(i,s,n,null)},i.ep=function(i,s,n){return t.Kx.local().V(i,s,n,null)},i.VX=function(i,s,n){var h=t.Kx.local();for(i=new t.Zc(i),s=new t.Zc(s),n=h.V(i,s,n,null),h=[];null!=(s=n.next());)h.push(s);return h},i.Nb=function(i,s,n){return t.dj.local().V(3,i,s,n,null)},i.TP=function(i,s,n){return t.dj.local().V(4,i,s,n,null)},i.RS=function(i,s,n){var h=t.Xj.local();for(i=new t.Zc(i),s=new t.Zc(s),n=h.V(i,s,n,null),h=[];null!=(s=n.next());)h.push(s);return h},i.QP=function(i,s,n){var h=t.kp.local();for(i=new t.Zc(i),s=new t.Zc(s),n=h.V(i,s,n,null),h=[];null!=(s=n.next());)h.push(s);return h},i.Ea=function(i,s,n){return t.Xj.local().V(i,s,n,null)},i.QS=function(i,s,n){if(null===(i=t.Xj.local().V(i,s,n,null,1)))return[];if(550===i.getType()){for(s=[],n=0;ni.Db())return 0;var h=null;if(null!=s){if(h=s.Hd(),null!=n&&h.Ec()!=n.Ec()&&h.od!=n.od)throw t.i.Xk()}else if(null!=n)throw t.i.N();1736==i.getType()||197==i.getType()?s=i.mg():t.aa.yd(i.getType())?(s=new t.Ta(i.description)).oc(i,!0):s=i,i=0,s=s.Ga();for(var r=new t.h,e=new t.h;s.$a();)for(;s.Ha();){var o=s.ha();o.Yp(r),o.Tr(e),i+=t.h.tb(r,e)}return null!==h&&null!==n&&(i=t.Tc.Nh(i,h,n)),i},i.fP=function(t){return void 0!==t.points?i.mS(t,void 0!==t.hasZ&&t.hasZ,void 0!==t.hasM&&t.hasM):void 0!==t.rings?i.lG(t.rings,void 0!==t.hasZ&&t.hasZ,void 0!==t.hasM&&t.hasM,\"P\"):void 0!==t.paths?i.lG(t.paths,void 0!==t.hasZ&&t.hasZ,void 0!==t.hasM&&t.hasM,\"L\"):void 0!==t.x?i.nS(t):void 0!==t.xmin?i.lS(t):null},i.nS=function(i){if(null==i.x||\"NaN\"==i.x)return new t.Sa;var s=new t.Sa(i.x,i.y);return void 0!==i.z&&null!==i.z&&s.wX(i.z),void 0!==i.m&&null!==i.m&&s.hX(i.m),s},i.lS=function(i){if(null==i.xmin||\"NaN\"==i.xmin)return new t.Fh;var s=new t.Fh(i.xmin,i.ymin,i.xmax,i.ymax);return void 0!==i.zmin&&null!==i.zmin&&s.setInterval(1,0,i.zmin,i.zmax),void 0!==i.mmin&&null!==i.mmin&&s.setInterval(2,0,i.mmin,i.mmax),s},i.mS=function(i,s,n){var h=0,r=new t.de,e=3*i.points.length;0!=e%2&&e++,2>e&&(e=2);var o=t.O.truncate(3*i.points.length/2);4>o?o=4:16>o&&(o=16),e=t.Yc.Dn(e,0);var a=t.Yc.Dn(o);o=t.Yc.Dn(o);for(var u=0;u=e?(p[v]=!1,c+=1,a.add(f),u.add(r),f+=y):p[v]=!0}for(0!=(h=3*f)%2&&h++,2>h&&(h=2),4>(v=t.O.truncate(3*f/2))?v=4:16>v&&(v=16),h=t.Yc.Dn(h,0),r=t.Yc.Dn(v),e=t.Yc.Dn(v),v=y=0;vs)throw t.i.N();this.Qi.oa=i-n,this.Qi.va=s+n,this.hi.resize(0),this.he=0,this.sg[0]=0},i.prototype.Uo=function(t,i){this.Qi.oa=t-i,this.Qi.va=t+i,this.hi.resize(0),this.he=0,this.sg[0]=0},i.prototype.next=function(){if(!this.Ya.lq)throw t.i.Hb();if(0>this.he)return-1;for(var i=!0;i;)switch(this.sg[this.he]){case 1:i=this.FU();break;case 2:i=this.GU();break;case 3:i=this.HU();break;case 4:i=this.IU();break;case 5:i=this.GW();break;case 6:i=this.kT();break;case 7:i=this.tN();break;case 0:i=this.Gz();break;default:throw t.i.Qa()}return-1!=this.Og?this.Mp()>>1:-1},i.construct=function(t){var s=new i;return s.Ya=t,s.hi.Jb(20),s.he=-1,s},i.prototype.Gz=function(){return this.Og=this.vH=this.Mi=this.Lc=-1,null!=this.Ya.me&&0=this.Qi.oa?(this.ei=this.QR(),!1):(this.he--,!0)},i.prototype.tN=function(){return this.Og=this.ei,-1!=this.Og&&e.gq(this.Mp())?(this.ei=this.SF(),!1):(this.he--,!0)},i.prototype.SF=function(){return this.Ya.Sf?this.Ya.$f.lb(this.Og):this.Ya.Ti.lb(this.Og)},i.prototype.QR=function(){return this.Ya.Sf?this.Ya.$f.we(this.Og):this.Ya.Ti.we(this.Og)},i.prototype.Mp=function(){return this.Ya.Sf?this.Ya.$f.ja(this.Og):this.Ya.Ti.getData(this.Og)},i}();t.EY=r;var e=function(){function i(t){this.Am=this.$h=this.$f=this.Ti=this.Km=this.Ej=this.me=this.Fj=null,this.Sf=t,this.lq=this.Sv=!1}return i.prototype.kr=function(){this.Nk(!0)},i.prototype.Br=function(i,s){if(!this.Sv)throw t.i.Hb();this.Fj.push(new t.Nc(i,s))},i.prototype.Fp=function(){if(!this.Sv)throw t.i.fa(\"invalid call\");this.Sv=!1,this.lq=!0,this.Sf||(this.vS(),this.Zv=this.Fj.length)},i.prototype.vj=function(i){if(!this.Sf||!this.lq)throw t.i.N(\"invalid call\");if(-1==this.kf){var s=this.Fj.length;if(this.iA){var n=new t.ia(0);n.Jb(2*s),this.bJ(n),this.$h.Jb(2*s),this.$h.resize(0),this.aJ(n),this.Km.resize(s,-1),this.Km.Wj(-1,0,s),this.iA=!1}else this.Km.Wj(-1,0,s);this.kf=this.Tu()}s=this.pG(i<<1,this.kf),n=this.$f.addElement(1+(i<<1),this.xz(s)),this.VJ(s,n),this.Km.set(i,s),this.Zv++},i.prototype.remove=function(i){if(!this.Sf||!this.lq)throw t.i.fa(\"invalid call\");var s=this.Km.get(i);if(-1==s)throw t.i.N(\"the interval does not exist in the interval tree\");this.Km.set(i,-1),this.Zv--;var n=this.xz(s),h=this.$f.ZR(n);this.$f.vd(this.wR(s),n),this.$f.vd(this.TR(s),n),0==(i=this.$f.size(n))&&(this.$f.MP(n),this.ZJ(h,-1)),this.Ej.jd(s),n=this.UF(h);var r=this.qj(h),e=this.lk(h);for(s=0;!(0>1);-1!=r?this.VJ(r,this.Ti.addElement(this.xz(r),h)):(r=this.pG(h,this.kf),n.set(h>>1,r))}},i.prototype.pG=function(i,s){var n=s,h=s,r=-1,e=0,o=this.$h.size-1,a=0,u=i>>1,f=NaN,c=NaN,l=!0,p=this.DR(u);for(u=this.AR(u);l;){ev&&(vv)-1!=s&&(s==n?(h=n,f=v,c=-1!=(s=this.lk(n))?this.Np(s):NaN):c>1];return i.gq(t)?s.oa:s.va},i}();t.sr=e}(Q||(Q={})),function(t){var i=function(){function i(i){if(null==i)throw t.i.fa(\"Invalid arguement\");this.hf=i;var s=i.nR();s.hS()?i.ef.IG()?this.lo=t.si.PannableFold:this.lo=t.si.Clip:this.lo=t.si.DontClip,s.iS()?i.Yf.IG()?this.Qm=t.si.PannableFold:this.Qm=t.si.Clip:this.Qm=t.si.DontClip,this.Bm=s.Jr,this.mH=s.Vu,i=this.hf.sH,this.aH=i.hs(2147483648),this.Uv=i.hs(1073741824)}return i.zh=function(t,i,s){return i.ww.zh(t,s)},i.Rt=function(t,i,s,n){return t.ww.Rt(i,s,n)},i.Qt=function(t,i,s,n){if(s=0>s?i.length:s,(t=t.ww.Rt(i,s,n))==s)return t;for(var h=i=0;he.H){var y=t.l.construct(u.v-1,e.G,u.C+1,e.H);if((v=t.ri.Nu(v,y,h,NaN,0,n)).B())return v}u.R()>2*e.R()&&(v=t.zb.Hp(v,-2*e.R(),2*e.R(),h,!0,0,!0,n))}u=this.mH,(e=!isNaN(u))&&(v=t.Xl.local().V(v,u,n)),y=c?r.kk():null;var d=NaN;f&&(d=h.zi());var b=null!=r.Wr();if(this.aH)f&&(t.zb.ur(h,d,v,a),e&&(f=h.hh(),u*=(d=h.sc().hh())/f)),t.zb.tr(this.hf,v,p,a),e&&(f=h.sc().hh(),u*=(d=r.sc().hh())/f),h=v;else{var g=new t.Ta(v.description);g.DD(v),f&&(t.zb.ur(h,d,g,a),e&&(f=h.hh(),u*=(d=h.sc().hh())/f)),t.zb.tr(this.hf,g,p,a),e&&(f=h.sc().pm(),u*=(d=r.sc().pm())/f),p=NaN,c?(y=r.kk(),p=r.zi()):isNaN(this.Bm)||(p=this.Bm),f=i.tv(h)|i.tv(r),d=10*l.Xd(0),this.Uv&&(f=3,d=0),h=t.zb.UQ(v,h,g,l,p,n,f,d)}return b&&(h=t.zb.XD(h,r,n)),c&&(o||(c=l.Oe().R(),h.Tg(0,0).R()>=c-l.Xd(0)&&(l=y.getNorthPoleLocation(),c=y.getSouthPoleLocation(),v=y.getNorthPoleGeometry(),y=y.getSouthPoleGeometry(),p=0,v==t.Cg.PE_POLE_POINT&&l!=t.Cg.PE_POLE_OUTSIDE_BOUNDARY&&(p=1),y==t.Cg.PE_POLE_POINT&&c!=t.Cg.PE_POLE_OUTSIDE_BOUNDARY&&(p|=2),0!==p&&(o=!0))),h=t.zb.Mz(h,r,this.Qm,n),e&&(h=t.Xl.local().V(h,u,n)),t.zb.Lx(r,h,a)),h.B()||(o&&(h=t.Yl.local().V(h,r,!1,n)),null!=s&&(h=s.Zk(h,!1),this.wp(s,t.bm.reverse,h),h=s.$k(h,!1))),h},i.tv=function(i){if(2!=i.Sb())return 0;var s=0,n=i.kk();i=n.getNorthPoleLocation();var h=n.getSouthPoleLocation(),r=n.getNorthPoleGeometry();return n=n.getSouthPoleGeometry(),r==t.Cg.PE_POLE_POINT&&i!=t.Cg.PE_POLE_OUTSIDE_BOUNDARY&&(s=1),n==t.Cg.PE_POLE_POINT&&h!=t.Cg.PE_POLE_OUTSIDE_BOUNDARY&&(s|=2),s},i.prototype.hW=function(s,n){var h=this.hf.ef,r=this.hf.Yf,e=h.Sb(),o=r.Sb(),a=t.O.Fu(Math.min(s.I(),64)),u=t.Ta.jg(s);3==e&&(e=(h=(s=h.Ji).fk()).Sb(),u=s.$k(u,!0),this.wp(s,t.bm.forward,u),u=s.Zk(u,!0)),s=null,3==o&&(o=(r=(s=r.Ji).fk()).Sb());var f=2==e;e=(o=2==o)?r.sc():r;var c=!o&&!this.Uv;if(f){if((u=t.zb.UI(u,h,this.lo,n)).B())return u}else{var l=new t.l;u.xc(l);var p=h.Oe();if((l.Gp.H)&&(l=t.l.construct(l.v-1,p.G,l.C+1,p.H),(u=t.ri.Nu(u,l,h,NaN,0,n)).B()))return u}var v=NaN;f&&(v=h.zi()),l=null!=r.Wr(),p=this.mH;var y=!isNaN(p);if(y&&(u=t.Xl.local().V(u,p,n)),this.aH)f&&t.zb.ur(h,v,u,a),y&&(f=h.hh(),p*=(v=h.sc().hh())/f),t.zb.tr(this.hf,u,c,a),y&&(f=h.sc().hh(),p*=(v=r.sc().hh())/f),h=u;else{var d=new t.Ta(u.description);d.DD(u),f&&(t.zb.ur(h,v,d,a),y&&(f=h.hh(),p*=(v=h.sc().hh())/f)),t.zb.tr(this.hf,d,c,a),y&&(f=h.sc().hh(),p*=(v=r.sc().hh())/f),c=NaN,o?c=r.zi():isNaN(this.Bm)||(c=this.Bm),f=i.tv(h)|i.tv(r),v=10*e.Xd(0),this.Uv&&(f=3,v=0),h=t.zb.VQ(u,h,d,e,c,n,f,v)}return l&&(h=t.zb.XD(h,r,n)),o&&(h=t.zb.Mz(h,r,this.Qm,n),y&&(h=t.Xl.local().V(h,p,n)),t.zb.Lx(r,h,a)),h.B()||null!=s&&(h=s.Zk(h,!1),this.wp(s,t.bm.reverse,h),h=s.$k(h,!1)),h},i.prototype.eW=function(i,s){var n=(i.ca()+i.R())/400;return 0!=n?(n=t.Xl.local().V(i,n,s),n=this.VI(n,s),s=i.Ia(),n.bn(s)):(s=new t.Sa(i.Ip()),n=this.XI(s),s=i.Ia(),n.B()?s.Oa():(i.copyTo(s),i=n.D(),s.K(i.x,i.y,i.x,i.y))),s},i.prototype.fW=function(i,s){i=t.aa.jg(i);var n=this.hf.ef,h=this.hf.Yf,r=n.Sb(),e=h.Sb(),o=t.O.Fu(Math.min(i.I(),64));if(3==r){var a=n.Ji;r=(n=a.fk()).Sb(),i=a.Zk(i,!0),this.wp(a,t.bm.forward,i),i=a.$k(i,!0)}if(2==r){if(this.lo==t.si.Clip?i=t.Xj.local().V(i,n.ml(),n,s):n.Wc()&&(r=new t.l,i.xc(r),n.Oe().contains(r)||(this.lo==t.si.PannableFold&&(i=t.zb.lj(i,n)),t.zb.Jt(i,n.Oe(),n.Xd(0),!0),i=t.zb.Fn(i,n,0,!0,0,s))),i.B())return i;t.zb.ur(n,0,i,o)}else t.zb.Jt(i,n.Oe(),n.Xd(0),!0);return t.zb.tr(this.hf,i,!1,o),n=0,r=!1,a=null,3==e&&(r=!0,e=(h=(a=h.Ji).fk()).Sb()),(e=2==e)?n=h.zi():isNaN(this.Bm)||(n=this.Bm),e&&this.Qm!=t.si.Clip||(i=t.zb.Fn(i,h.sc(),n,!1,0,s)),e&&(i=t.zb.Mz(i,h,this.Qm,s),t.zb.Lx(h,i,o),i.B())||r&&(i=a.Zk(i,!0),this.wp(a,t.bm.reverse,i),i=a.$k(i,!0)),i},i.prototype.wp=function(i,s,n){var h=n.I();if(0!=h){for(var r=n.ub(0),e=t.O.lg(200,0),o=[],a=0;ae.v+o&&ui?this.wv(s,n):this.gv(s,n);case 1:var h=this.wv(s,n);return s=this.gv(s,n),t.lc.hq(h,s,i);case 2:throw t.i.fa(\"not implemented\")}throw t.i.Qa()},s.prototype.fe=function(t,i){var s=this.pa-this.sa,n=this.la-this.na,h=s*s+n*n;return 0==h?.5:(t=((t.x-this.sa)*s+(t.y-this.na)*n)/h,i||(0>t?t=0:1(i=(i-this.na)/t)||1(i=(i-this.sa)/t)||1(s=8881784197001252e-31*(Math.abs(n.x*s.y)+Math.abs(n.y*s.x)))?-1:i<-s?1:0},s.prototype.rp=function(i,s,n,h){var r=this.sa,e=this.na,o=i-r,a=s-e;if((o=Math.sqrt(o*o+a*a))<=Math.max(n,6661338147750939e-31*o))return h&&0==o?NaN:0;if(o=i-this.pa,a=s-this.la,(o=Math.sqrt(o*o+a*a))<=Math.max(n,6661338147750939e-31*o))return h&&0==o?NaN:1;if(o=this.pa-this.sa,a=this.la-this.na,0<(h=Math.sqrt(o*o+a*a))){var u=1/h,f=i-r,c=s-e,l=f*(o*=u)+c*(a*=u),p=17763568394002505e-31*(Math.abs(f*o)+Math.abs(c*a)),v=o;if(o=-a,a=v,l<-(p=Math.max(n,p))||l>h+p)return NaN;if(Math.abs(f*o+c*a)<=Math.max(n,17763568394002505e-31*(Math.abs(f*o)+Math.abs(c*a)))&&(.5>=(o=t.O.Rk(l*u,0,1))?(a=this.sa+(this.pa-this.sa)*o,h=this.na+(this.la-this.na)*o):(a=this.pa-(this.pa-this.sa)*(1-o),h=this.la-(this.la-this.na)*(1-o)),t.h.Oy(a,h,i,s)<=n)){if(.5>o){if(t.h.Oy(a,h,r,e)<=n)return 0}else if(t.h.Oy(a,h,this.pa,this.la)<=n)return 1;return o}}return NaN},s.prototype.Nb=function(t){return null!=t&&(t==this||t.constructor===this.constructor&&this.FM(t))},s.prototype.rD=function(i,s,n){var h=n?this.sa:this.pa;n=n?this.na:this.la;var r=new t.h;return r.x=i.pa-h,r.y=i.la-n,!(s.Qh(r)>6661338147750939e-31*s.fD(r))||(r.x=i.sa-h,r.y=i.na-n,s.Qh(r)<=6661338147750939e-31*s.fD(r))},s.prototype.qD=function(i){var s=new t.h;return s.x=this.pa-this.sa,s.y=this.la-this.na,!!this.rD(i,s,!1)&&(s.Sq(),!!this.rD(i,s,!0))},s.NM=function(t,i){var s=t.uu(i.sa,i.na),n=t.uu(i.pa,i.la);return!(0>s&&0>n||0s&&0>n||0(n=i.Qb())?t.qD(i):i.qD(t)))},s.LM=function(i,s,n){var h=t.h.construct(NaN,NaN),r=i.pa-i.sa,e=i.la-i.na,o=s.pa-s.sa,a=s.la-s.na,u=o*e-r*a;if(0==u)return h;var f=8881784197001252e-31*(Math.abs(o*e)+Math.abs(r*a)),c=s.sa-i.sa,l=s.na-i.na,p=o*l-c*a,v=p/u,y=Math.abs(u);return v<-(o=(8881784197001252e-31*(Math.abs(o*l)+Math.abs(c*a))*y+f*Math.abs(p))/(u*u)+2220446049250313e-31*Math.abs(v))||v>1+o||(o=(a=r*l-c*e)/u)<-(r=(8881784197001252e-31*(Math.abs(r*l)+Math.abs(c*e))*y+f*Math.abs(a))/(u*u)+2220446049250313e-31*Math.abs(o))||o>1+r?h:(v=t.O.Rk(v,0,1),r=t.O.Rk(o,0,1),e=i.hc(v),u=s.hc(r),(f=new t.h).uc(e,u),f.length()>n&&(f.add(e,u),f.scale(.5),v=i.fe(f,!1),r=s.fe(f,!1),i=i.hc(v),s=s.hc(r),i.sub(s),i.length()>n)||h.ma(v,r),h)},s.OM=function(t,i,n,h){var r=0;if((t.sa==i.sa&&t.na==i.na||t.sa==i.pa&&t.na==i.la)&&(r++,!h))return 1;if(t.pa==i.sa&&t.la==i.na||t.pa==i.pa&&t.la==i.la){if(2==++r)return 2;if(!h)return 1}return i.vi(t.sa,t.na,n)||i.vi(t.pa,t.la,n)||t.vi(i.sa,i.na,n)||t.vi(i.pa,i.la,n)?1:h&&0!=r||0==s.NM(t,i)?0:1},s.Zx=function(i,n,h,r,e,o){var a=0,u=i.rp(n.sa,n.na,o,!1),f=i.rp(n.pa,n.la,o,!1),c=n.rp(i.sa,i.na,o,!1),l=n.rp(i.pa,i.la,o,!1);return isNaN(u)||(null!=r&&(r[a]=u),null!=e&&(e[a]=0),null!=h&&(h[a]=t.h.construct(n.sa,n.na)),a++),isNaN(f)||(null!=r&&(r[a]=f),null!=e&&(e[a]=1),null!=h&&(h[a]=t.h.construct(n.pa,n.la)),a++),2==a||isNaN(c)||0==u&&0==c||0==f&&1==c||(null!=r&&(r[a]=0),null!=e&&(e[a]=c),null!=h&&(h[a]=t.h.construct(i.sa,i.na)),a++),2==a||isNaN(l)||1==u&&0==l||1==f&&1==l||(null!=r&&(r[a]=1),null!=e&&(e[a]=l),null!=h&&(h[a]=t.h.construct(n.pa,n.la)),a++),0r[1]&&(i=r[0],r[0]=r[1],r[1]=i,null!=e&&(r=e[0],e[0]=e[1],e[1]=r),null!=h&&(e=t.h.construct(h[0].x,h[0].y),h[0]=h[1],h[1]=e)),a):(a=s.LM(i,n,o),isNaN(a.x)?0:(null!=h&&(h[0]=i.hc(a.x)),null!=r&&(r[0]=a.x),null!=e&&(e[0]=a.y),1))},s.prototype.eG=function(){return 0},s.prototype.op=function(){},s.prototype.toString=function(){return\"Line: [\"+this.sa.toString()+\", \"+this.na.toString()+\", \"+this.pa.toString()+\", \"+this.la.toString()+\"]\"},s}(t.SC);t.yb=i}(Q||(Q={})),function(t){var i=function(){function t(){this.Jm=[],this.ya=-1}return t.prototype.La=function(){return this.ya},t.prototype.next=function(){if(null!=this.Jm&&0!=this.Jm.length){this.ya++;var t=this.Jm[0];return this.Jm=1>=this.Jm.length?[]:this.Jm.slice(1),t}return this.Jm=null},t.prototype.ZX=function(t){this.Jm.push(t)},t.prototype.qe=function(){},t}();t.gL=i}(Q||(Q={})),function(t){var i;(i=t.SL||(t.SL={}))[i.enumFillRuleOddEven=0]=\"enumFillRuleOddEven\",i[i.enumFillRuleWinding=1]=\"enumFillRuleWinding\";var s=function(i){function s(s,n){var h=i.call(this)||this;if(h.xf=!1,h.Eq=null,h.sq=0,h.rq=0,h.Aj=null,h.Mg=!1,h.nb=null,h.mb=null,h.Ve=null,h.Lj=null,h.Sd=null,h.tq=0,h.gb=0,h.xq=0,void 0===n)h.xf=s,h.Mg=!1,h.tq=0,h.sq=0,h.rq=0,h.wa=0,h.description=t.ee.og();else{if(null==n)throw t.i.N();h.xf=s,h.Mg=!1,h.tq=0,h.sq=0,h.rq=0,h.wa=0,h.description=n}return h.Aj=null,h.gb=0,h}return _(s,i),s.prototype.tm=function(){return 0s)throw t.i.Qa();if(this.dc(i)){if(null==this.mb)throw t.i.Qa();var n=this.wa,h=this.Ba(i),r=this.Vc(i);this.dm(this.wa+1),this.mc();for(var e=0,o=this.description.Aa;ei;s--)n=this.nb.read(s),this.nb.write(s,n+1);this.mb.KE(i,1)}},s.prototype.Ap=function(){if(this.wx(),void 0===t){this.Mg=!1;var t=this.da()-1}var i=this.mb.read(t);this.mb.write(t,1|i),null!=this.Ve&&(t=this.Vc(t)-1,this.Ve.write(t,1),this.Lj.write(t,-1))},s.prototype.dc=function(t){return!!(1&this.mb.read(t))},s.prototype.Nn=function(t){if(this.dc(t))return!0;var i=this.Ba(t);return!(i>(t=this.Vc(t)-1))&&(i=this.Na(i),t=this.Na(t),i.qb(t))},s.prototype.yv=function(t){return!!(2&this.mb.read(t))},s.prototype.oc=function(i,s){if(this.Jl(i.description),322!=i.getType())throw t.i.Qa();var n=new t.Sa;(s||this.B())&&(i.To(n),this.nf(n)),i.Po(n),this.lineTo(n)},s.prototype.tp=function(t){var i=0==this.wa;this.sx(t.v,t.G),this.yj(t.v,t.H),this.yj(t.C,t.H),this.yj(t.C,t.G),this.Ap(),this.Mg=!1,i&&this.Lf(256,!1)},s.prototype.ad=function(i,s){if(!i.B()){for(var n=0==this.wa,h=new t.Sa(this.description),r=0;4>r;r++)i.Hf(s?4-r-1:r,h),0==r?this.nf(h):this.lineTo(h);this.Ap(),this.Mg=!1,n&&!s&&this.Lf(256,!1)}},s.prototype.add=function(t,i){for(var s=0;ss&&(s=i.da()-1),s>=i.da()||0>n||0>h||h>i.rv(s))throw t.i.fa(\"index out of bounds\");if(0!=h){var e=i.dc(s)&&n+h==i.rv(s);if(!e||1!=h){if(this.Mg=!1,this.Jl(i.description),n=i.Ba(s)+n+1,r&&(h++,n--),e&&h--,e=this.wa,this.dm(this.wa+h),this.mc(),r){if(0==h)return;this.nb.add(this.wa),r=i.mb.read(s),r&=-5,this.xf&&(r|=1),this.mb.write(this.mb.size-1,r),this.mb.add(0)}else this.nb.write(this.mb.size-1,this.wa);r=0;for(var o=this.description.Aa;rf||null==i.za[f]?this.za[r].Ln(u*e,t.ra.se(a),h*u,u*e):this.za[r].Mn(u*e,i.za[f],u*n,h*u,!0,u,u*e)}if(this.tm())throw t.i.Qa();if(i.yv(s))throw t.i.Qa();this.Pc(1993)}}},s.prototype.oJ=function(){for(var t=0,i=this.da();t=this.da())throw t.i.N();var s=this.Ba(i),n=this.Ja(i);i=this.dc(i)?1:0;for(var h=0,r=this.description.Aa;hi&&(i=s-1),i>=s)throw t.i.N();for(var n=this.Ba(i),h=this.Ja(i),r=0,e=this.description.Aa;r=s.da())throw t.i.N();var r=this.da();if(i>r)throw t.i.N();0>i&&(i=r),0>n&&(n=s.da()-1),this.Mg=!1,this.Jl(s.description),s.mc();var e=s.Ba(n),o=s.Ja(n),a=this.wa,u=s.dc(n)&&!h?1:0;this.dm(this.wa+o),this.mc();for(var f=i=i+1;h--)e=this.nb.read(h-1),this.nb.write(h,e+o);for(s.yv(n),this.mb.add(0),h=r-1;h>=i+1;h--)r=this.mb.read(h),r&=-5,this.mb.write(h+1,r);r=s.JR().read(n),r&=-5,this.xf&&(r|=1),this.mb.write(i,r)},s.prototype.Hz=function(i,s){var n=-1,h=this.da();if(n>h)throw t.i.N();0>n&&(n=h),this.Mg=!1;var r=this.wa;this.dm(this.wa+s),this.mc();var e=n=n+1;r--)e=this.nb.read(r-1),this.nb.write(r,e+s);for(this.mb.add(0),r=h-1;r>=n+1;r--)s=this.mb.read(r),s&=-5,this.mb.write(r+1,s);this.xf&&this.mb.write(n,1)},s.prototype.qG=function(i,s,n){var h=-1;if(0>i&&(i=this.da()),i>this.da()||h>this.Ja(i)||n>s.length)throw t.i.fa(\"index out of bounds\");if(0!=n){i==this.da()&&(this.nb.add(this.wa),this.xf?this.mb.add(1):this.mb.add(0)),0>h&&(h=this.Ja(i)),this.mc();var r=this.wa;this.dm(this.wa+n),this.mc();for(var e=0,o=this.description.Aa;ei&&(i=this.da()),i>=h||s>this.Ja(i))throw t.i.fa(\"index out of bounds\");i==this.da()&&(this.nb.add(this.wa),this.xf?this.mb.add(1):this.mb.add(0)),0>s&&(s=this.Ja(i));var r=this.wa;this.dm(this.wa+1),this.mc();var e=this.Ba(i);this.za[0].vj(2*(e+s),n,2*r),n=1;for(var o=this.description.Aa;ni&&(i=n-1),i>=n||s>=this.Ja(i))throw t.i.fa(\"index out of bounds\");this.mc();var h=this.Ba(i);0>s&&(s=this.Ja(i)-1),s=h+s,h=0;for(var r=this.description.Aa;h=i+1;n--)s=this.nb.read(n),this.nb.write(n,s-1);this.wa--,this.Pg--,this.Pc(1993)},s.prototype.uE=function(i,s,n){var h=this.Ba(i)+s;if((n=this.Ba(n)+void 0)h||n>this.I()-1)throw t.i.N();s=0,(i=this.Ga()).Vb(h);do{for(;i.Ha()&&(h=i.ha(),i.wb()!=n);)s+=h=h.Qb();if(i.wb()==n)break}while(i.$a());return s},s.prototype.fO=function(i,s,n){if(s=this.Ba(i)+s,n=this.Ba(i)+n,0>s||n>this.I()-1)throw t.i.N();var h=this.Ga();if(s>n){if(!this.dc(i))throw t.i.N(\"cannot iterate across an open path\");h.JB()}var r=i=0;h.Vb(s);do{r+=i,i=h.ha().Qb()}while(h.wb()!=n);return r},s.prototype.mg=function(){return t.pi.gm(this,null)},s.prototype.KS=function(i,s,n){for(var h=i;hs){var e=this.tm(),o=0;s=this.wa}else e=this.yv(s),o=this.Ba(s),s=this.Vc(s);for(;o=this.Ba(s))return s;s--}else s++;if(0<=s&&s=this.Ba(s)&&in){for(s=0;ss;){var h=s+(n-s>>1);if(i=(s=this.Vc(h))))return this.gb=h;s=h+1}}return this.gb=s},s.prototype.yz=function(){var t=this.I();if(!this.xf){t-=this.da();for(var i=0,s=this.da();in.RR()))return!0;this.Bb.yD(null)}return n=t.Nx.create(this,i,s),this.Bb.yD(n),!0},s.prototype.cc=function(){var t=i.prototype.cc.call(this);if(!this.Ac()){var s=this.da();null!=this.nb&&this.nb.An(t,0,s+1),null!=this.mb&&this.mb.An(t,0,s)}return t},s.prototype.ZF=function(t){return null!=this.Ve?this.Ve.read(t):1},s.prototype.bc=function(i,s,n){var h=this.sz(i);if(i==this.Vc(h)-1&&!this.dc(h))throw t.i.fa(\"index out of bounds\");this.mc();var r=this.Ve,e=1;if(null!=r&&(e=7&r.read(i)),1!==e)throw t.i.Qa();if(s.Or(),s=s.get(),n?s.Nf(t.ee.og()):s.Nf(this.description),h=i==this.Vc(h)-1&&this.dc(h)?this.Ba(h):i+1,r=new t.h,this.D(i,r),s.Dc(r),this.D(h,r),s.Qc(r),!n)for(n=1,r=this.description.Aa;n=this.da())throw t.i.N();if(this.B())s.Oa();else{if(this.yv(i))throw t.i.fa(\"not implemented\");var n=this.ub(0),h=new t.h,r=new t.l;r.Oa();var e=this.Ba(i);for(i=this.Vc(i);ethis.I())&&(i=t.ta.nE(this),this.Bb.WM(i),!0)},s.prototype.hM=function(){if(null==this.Bb&&(this.Bb=new t.Uk),null==this.Bb.zo){this.Bb.xD(null);var i=t.ta.YN(this);this.Bb.xD(i)}},s.prototype.Yo=function(t){this.xq=t},s.prototype.In=function(){return this.xq},s.prototype.DD=function(i){if(this==i)throw t.i.fa(\"MultiPathImpl.add\");for(var s=this.da(),n=0;n=(s=this.Vc(s))||in?i.I():n,0>s||s>i.I()||ns?n:s,0>n||0>s)throw t.i.N();if(0!=s){n=s-0,s=this.wa,this.resize(this.wa+n);for(var h=0;hi||i>=this.I())throw t.i.fa(\"index out of bounds\");this.mc();for(var s=0,n=this.description.Aa;ss||s>=this.wa||ns?s:t},i.Th=function(t,i){var s=5381;return((s=((s=((s=void 0!==i?(i<<5)+i+(255&t):(s<<5)+s+(255&t))<<5)+s+(t>>8&255))<<5)+s+(t>>16&255))<<5)+s+(t>>24&255)&2147483647},i.uj=function(){throw Error(\"Not Implemented\")},i.bB=function(t){return i.aU(t)+12345&2147483647},i.XG=function(t){var s=32,n=t%i.Qx|0,h=t/i.Qx|0;return 0==(s&=63)?t:(32>s?(t=n>>>s|h<<32-s,s=h>>s):(t=h>>s-32,s=0<=h?0:-1),s*i.Qx+(t>>>0))},i.aU=function(t){var i=1103515245,s=65535&i;return((i-s)*(t|=0)|0)+(s*t|0)|0},i.truncate=function(t){return 0>t?-1*Math.floor(Math.abs(t)):Math.floor(t)},i.MAX_SAFE_INTEGER=Math.pow(2,53)-1,i.MIN_SAFE_INTEGER=-i.MAX_SAFE_INTEGER,i.VC=65536,i.Qx=i.VC*i.VC,i}()}(Q||(Q={})),function(t){var i;(i=t.CL||(t.CL={}))[i.Project=0]=\"Project\",i[i.Union=1]=\"Union\",i[i.Difference=2]=\"Difference\",i[i.Proximity2D=3]=\"Proximity2D\",i[i.Relate=4]=\"Relate\",i[i.Equals=5]=\"Equals\",i[i.Disjoint=6]=\"Disjoint\",i[i.Intersects=7]=\"Intersects\",i[i.Within=8]=\"Within\",i[i.Contains=9]=\"Contains\",i[i.Crosses=10]=\"Crosses\",i[i.Touches=11]=\"Touches\",i[i.Overlaps=12]=\"Overlaps\",i[i.Buffer=13]=\"Buffer\",i[i.Distance=14]=\"Distance\",i[i.Intersection=15]=\"Intersection\",i[i.Clip=16]=\"Clip\",i[i.Cut=17]=\"Cut\",i[i.DensifyByLength=18]=\"DensifyByLength\",i[i.DensifyByAngle=19]=\"DensifyByAngle\",i[i.LabelPoint=20]=\"LabelPoint\",i[i.GeodesicBuffer=21]=\"GeodesicBuffer\",i[i.GeodeticDensifyByLength=22]=\"GeodeticDensifyByLength\",i[i.ShapePreservingDensify=23]=\"ShapePreservingDensify\",i[i.GeodeticLength=24]=\"GeodeticLength\",i[i.GeodeticArea=25]=\"GeodeticArea\",i[i.Simplify=26]=\"Simplify\",i[i.SimplifyOGC=27]=\"SimplifyOGC\",i[i.Offset=28]=\"Offset\",i[i.Generalize=29]=\"Generalize\",i[i.SymmetricDifference=30]=\"SymmetricDifference\",i[i.ConvexHull=31]=\"ConvexHull\",i[i.Boundary=32]=\"Boundary\",i[i.SimpleRelation=33]=\"SimpleRelation\";var s=function(){function t(){}return t.prototype.getType=function(){return null},t.prototype.wn=function(){},t.prototype.Iu=function(){return!1},t}();t.Je=s}(Q||(Q={})),function(t){var i=function(i){function s(){return null!==i&&i.apply(this,arguments)||this}return _(s,i),s.prototype.getType=function(){return 13},s.local=function(){return null===s.instance&&(s.instance=new s),s.instance},s.prototype.V=function(i,s,n,h,r){return i instanceof t.aa?(r=new t.Zc(i),this.V(r,s,[n],!1,h).next()):!0===h?(n=new t.BC(i,s,n,!1,r),t.Gh.local().V(n,s,r)):new t.BC(i,s,n,!1,r)},s.instance=null,s}(t.Je);t.AC=i}(Q||(Q={})),function(t){var i=function(){function i(i,s,n,h,r){this.ya=-1,this.Rd=i,this.$z=s,this.Cs=n,this.tT=new t.l,this.tT.Oa(),this.eo=-1,this.Ub=r}return i.prototype.next=function(){for(var t;null!=(t=this.Rd.next());)return this.ya=this.Rd.La(),this.eo+1=i.I():1==i.da()&&(2>=i.I()||t.Zt.JG(i,0)))},i}();t.DC=i}(Q||(Q={})),function(t){var i=function(i){function s(){return null!==i&&i.apply(this,arguments)||this}return _(s,i),s.prototype.getType=function(){return 17},s.local=function(){return null===s.instance&&(s.instance=new s),s.instance},s.prototype.V=function(i,s,n,h,r){return new t.nL(i,s,n,h,r)},s.instance=null,s}(t.Je);t.mL=i}(Q||(Q={})),function(t){var i=function(){function i(i,s,n,h,r){if(this.Tf=null,null==s||null==n)throw t.i.fa(\"invalid argument\");this.qT=i,this.nA=s,this.lH=n,i=t.ta.mv(s,n),this.qa=t.ta.Wd(h,i,!0),this.kH=-1,this.nd=r}return i.prototype.La=function(){return 0},i.prototype.next=function(){return this.RQ(),++this.kHthis.Tf.length&&(this.Tf.length=0)},i.prototype.SQ=function(){var i=new t.ia(0),s=new t.gd,n=s.aF(),h=s.Ib(this.nA),r=s.Ib(this.lH),e=new t.Fg;try{e.Ft(s,this.qa,this.nd),e.dl(n,h,r,i);var o=s.Ne(h),a=new t.Da,u=new t.Da;for(this.Tf.length=0,this.Tf.push(a),this.Tf.push(u),h=0;h=s)throw t.i.N();return new t.oL(i,s,n)},s.instance=null,s}(t.Je);t.Xl=i}(Q||(Q={})),function(t){var i=function(){function i(t,i){this.ya=-1,this.Rd=t,this.Ps=i}return i.prototype.La=function(){return this.ya},i.prototype.next=function(){var t;return null!=(t=this.Rd.next())?(this.ya=this.Rd.La(),this.NP(t)):null},i.prototype.NP=function(i){if(i.B()||1>i.Db())return i;var s=i.getType();if(1736==s||1607==s)return this.Ny(i);if(t.aa.yd(s))return this.PP(i);if(197==s)return this.OP(i);throw t.i.Qa()},i.prototype.PP=function(i){if(i.Qb()<=this.Ps)return i;var s=new t.Ta(i.description);return s.oc(i,!0),this.Ny(s)},i.prototype.OP=function(i){var s=new t.Da(i.description);s.ad(i,!1);var n=new t.l;return i.A(n),i=n.ca(),n.R()<=this.Ps&&i<=this.Ps?s:this.Ny(s)},i.prototype.Ny=function(i){for(var s=i.Ia(),n=i.Ga();n.$a();)for(var h=!0;n.Ha();){var r=n.ha();if(322!=r.getType())throw t.i.fa(\"not implemented\");var e=n.On(),o=r.Qb();if(o>this.Ps){var a=Math.ceil(o/this.Ps);o=new t.Sa(i.description),h&&(r.To(o),s.nf(o));var u=h=1/a,f=0;for(--a;fo)return i;var a=i.getType(),u=n.getType(),f=new t.l,c=new t.l,l=new t.l;i.A(f),n.A(c),l.K(f),l.Zb(c);var p=(l=t.ta.Wd(h,l,!0))*Math.sqrt(2)*1.00001,v=new t.l;if(v.K(f),v.W(p,p),!v.isIntersecting(c))return i;if(1==e&&2==o)return s.KV(i,n,u,h,r);if(33==a)switch(t.Vk.yd(u)?(h=new t.Ta(n.description),h.oc(n,!0)):h=n,u){case 1736:return s.XU(i,h,l);case 1607:return s.YU(i,h,l);case 550:return s.VU(i,h,l);case 197:return s.UU(i,h,l);case 33:return s.WU(i,h,l);default:throw t.i.N()}else if(550==a)switch(u){case 1736:return s.nU(i,n,l);case 197:return s.lU(i,n,l);case 33:return s.mU(i,n,l)}return t.Fg.im(i,n,h,r)},s.XU=function(i,s,n){return 0==t.hd.KG(s,i,n)?i:i.Ia()},s.YU=function(i,s,n){var h=i.D();s=s.Ga();for(var r=n*Math.sqrt(2)*1.00001,e=r*r,o=new t.l;s.$a();)for(;s.Ha();){var a=s.ha();if(a.A(o),o.W(r,r),o.contains(h)){if(a.qs(h,n))return i.Ia();var u=a.ac();if(t.h.yc(h,u)<=e)return i.Ia();if(u=a.wc(),t.h.yc(h,u)<=e)return i.Ia()}}return i},s.VU=function(i,s,n){var h=s.ub(0);s=s.I();var r=i.D(),e=new t.h;n=n*Math.sqrt(2)*1.00001,n*=n;for(var o=0;os.I()?this.gE(i,s,n):(this.Nt(),i=this.gE(s,i,n),this.Nt(),i):550==i.getType()&&t.aa.Hc(s.getType())?(i=this.hE(s,i,n),this.Nt(),i):550==s.getType()&&t.aa.Hc(i.getType())?this.hE(i,s,n):550==i.getType()&&550==s.getType()?i.I()>s.I()?this.iE(i,s):(this.Nt(),i=this.iE(s,i),this.Nt(),i):0},i.prototype.gE=function(i,s,n){var h=i.Ga(),r=s.Ga(),e=new t.l,o=new t.l,a=17976931348623157e292;if(!n&&this.pY(i,s,h,r))return 0;for(;h.$a();)for(;h.Ha();)if((i=h.ha()).A(e),!(e.px(this.oh)>a)){for(;r.$a();)for(;r.Ha();)if((s=r.ha()).A(o),e.px(o)e)){for(var f=0;fh))for(var f=0;fi.Ja(s))){var r=i.Ba(s),e=i.Vc(s)-1,o=i.ub(0),a=i.dc(s),u=new t.ia(0);u.Jb(i.Ja(s)+1);var f=new t.ia(0);for(f.Jb(i.Ja(s)+1),u.add(a?r:e),u.add(r),r=new t.h;1this.DH&&o>r&&(h=n,r=o)}return h},i.prototype.qe=function(){},i}();t.sL=i}(Q||(Q={})),function(t){var i=function(i){function s(){return null!==i&&i.apply(this,arguments)||this}return _(s,i),s.prototype.getType=function(){return 29},s.prototype.V=function(i,s,n,h){return i instanceof t.aa?(i=new t.Zc(i),this.V(i,s,n,h).next()):new t.sL(i,s,n,h)},s.local=function(){return null===s.instance&&(s.instance=new s),s.instance},s.instance=null,s}(t.Je);t.EC=i}(Q||(Q={})),function(t){var i=function(i){function s(){return null!==i&&i.apply(this,arguments)||this}return _(s,i),s.prototype.getType=function(){return 21},s.local=function(){return null===s.instance&&(s.instance=new s),s.instance},s.prototype.V=function(i,s,n,h,r,e,o,a){return i instanceof t.aa?(a=new t.Zc(i),this.V(a,s,n,[h],r,e,!1,o).next()):!0===o?(n=new t.GC(i,s,n,h,r,!1,!1,a),t.Gh.local().V(n,s,a)):new t.GC(i,s,n,h,r,!1,!1,a)},s.instance=null,s}(t.Je);t.FC=i}(Q||(Q={})),function(t){var i=function(){function i(i,s,n,h,r,e,o,a){if(e)throw t.i.Ie();if(null==s)throw t.i.N();this.ya=-1,this.Ms=i,this.vg=s,this.ze=n,this.Cs=h,this.$n=r,this.eo=-1,this.Ub=a,this.uT=new t.l,this.uT.Oa()}return i.prototype.next=function(){for(var t;null!=(t=this.Ms.next());)return this.ya=this.Ms.La(),this.eo+1i.Db())return 0;if(4==n)throw t.i.Ie();var h=t.cb.sc(s),r=t.cb.vv(h),e=t.cb.ev(h);r*=2-r;var o=h.Hd().ai,a=i.getType();if(1736==a||197==a)var u=i.mg();else t.aa.yd(a)?(u=new t.Ta(i.description)).oc(i,!0):u=i;if(0==h.Nb(s)){if(t.cb.Wc(s)){u=t.Hh.lj(u,s),1607==a&&u==i&&(u=t.aa.jg(i)),i=new t.Nc,t.cb.gh(s).cn(i),a=0;for(var f=u.I();a=this.Fi||7e||0==h&&550==n&&33==this.Dj?this.nJ():i.HB(s,r);if((-1==this.Fi||4==this.Fi)&&197==n&&197==this.Dj)return h=this.Se,n=new t.l,s.A(n),r=new t.l,h.A(r),n.Ea(r),h=new t.Fh,s.copyTo(h),h.Xo(n),h;if(197==n&&0==t.aa.tf(this.Dj)||197==this.Dj&&0==t.aa.tf(n))return r=197==n?s:this.Se,s=197==n?this.Se:s,n=new t.l,r.A(n),t.Ud.clip(s,n,h,0);if(0==t.aa.tf(n)&&0a&&(a=n.yz()),e=n.I()+h.I(),a*h.I()>Math.log(e)*e*4)return null;e=null,a=h.Ga(),null!=u&&null!=u.Fb&&(e=u.Fb),null==e&&20w){if(null!=e)for(null==h?h=e.vR(x,r):h.Uo(x,r),w=h.next();-1!=w;w=h.next()){a.Vb(e.ja(w)),w=a.ha();var m=x.Ea(w,null,f,null,r);for(w=0;wg?(p=u.wb()-n.Ba(b),v=1,g=0==g?3:2):v++:(i.oc(j,0==g),g=1);break;case 0:g=0,p=-1,v=0;break;default:return null}j=k}}}else{if(0>(w=this.QD(s,x.ac(),r)))return null;1==w?(2>g&&(p=u.wb()-n.Ba(b),g=0==g?3:2),v++):(p=-1,v=0)}c.clear(!1)}else 0!=w&&1==w&&(0==g?(g=3,p=u.wb()-n.Ba(b)):1==g?(g=2,p=u.wb()-n.Ba(b)):v++)}2<=g&&(i.Dr(n,b,p,v,3==g),p=-1)}return i},i.prototype.QD=function(i,s,n){return t.Dg.wm(i,s,n)},i.prototype.RD=function(i,s,n){var h=s.ac();s=s.wc();var r=t.Dg.wm(i,h,n),e=t.Dg.wm(i,s,n);return 1==r&&0==e||0==r&&1==e?-1:0==r||0==e?0:1==r||1==e?1:((r=new t.h).add(h,s),r.scale(.5),0==(i=t.Dg.wm(i,r,n))?0:1==i?1:-1)},i.HB=function(t,i){return i?t:t.Ia()},i.prototype.nJ=function(){return null==this.yH&&(this.yH=this.Se.Ia()),this.yH},i.prototype.qe=function(){},i}();t.HC=i}(Q||(Q={})),function(t){var i=function(i){function s(){return null!==i&&i.apply(this,arguments)||this}return _(s,i),s.prototype.getType=function(){return 28},s.local=function(){return null===s.instance&&(s.instance=new s),s.instance},s.prototype.V=function(i,s,n,h,r,e,o){return i instanceof t.aa?(i=new t.Zc(i),this.V(i,s,n,h,r,e,o).next()):new t.xL(i,s,n,h,r,e,o)},s.instance=null,s}(t.Je);t.IC=i}(Q||(Q={})),function(t){var i=function(){function i(t,i,s,n,h,r,e){this.ya=-1,this.Rd=t,this.Mj=i,this.Ka=s,this.Ki=n,this.CA=h,this.uH=r,this.nd=e}return i.prototype.next=function(){var t=this.Rd.next();return null!=t?(this.ya=this.Rd.La(),this.jL(t)):null},i.prototype.La=function(){return this.ya},i.prototype.jL=function(i){var s=0>=this.uH?t.ta.kj(this.Mj,i,!1):this.uH;return t.IK.V(i,this.Ka,this.Ki,this.CA,s,this.nd)},i.prototype.qe=function(){},i}();t.xL=i}(Q||(Q={})),function(t){var i;(i=t.NK||(t.NK={}))[i.clipToDomainOnly=1]=\"clipToDomainOnly\",i[i.clipWithHorizon=2]=\"clipWithHorizon\",i[i.foldAndClipWithHorizon=3]=\"foldAndClipWithHorizon\";var s=function(i){function s(){return null!==i&&i.apply(this,arguments)||this}return _(s,i),s.prototype.getType=function(){return 0},s.local=function(){return null===s.instance&&(s.instance=new s),s.instance},s.prototype.V=function(i,s,n){return i instanceof t.aa?(i=new t.Zc(i),this.V(i,s,n).next()):new t.yL(i,s,n)},s.prototype.transform=function(i,s,n,h){return t.bu.transform(i,s,n,h,!0)},s.prototype.Qt=function(i,s,n,h){return t.bu.Qt(i,s,n,h)},s.instance=null,s}(t.Je);t.Hx=s}(Q||(Q={})),function(t){var i=function(){function i(t,i,s){this.ya=-1,this.Rd=t,this.MT=i,this.nd=s}return i.prototype.next=function(){var i=this.Rd.next();return null!=i?(this.ya=this.Rd.La(),t.bu.zh(i,this.MT,this.nd)):null},i.prototype.La=function(){return this.ya},i.prototype.qe=function(){},i}();t.yL=i}(Q||(Q={})),function(t){var i=function(){function i(){}return i.prototype.reset=function(){this.ph=this.xk=-1,this.us=this.kq=!1},i.prototype.AQ=function(t,i,s){for(t.Vb(i,s);t.Ha();){var n=t.ha();if(0!=(n=n.Qb()))return t.wb()}for(t.Vb(i,s);t.Ez();)if(0!=(n=(n=t.li()).Qb()))return t.wb();return-1},i.prototype.BQ=function(t,i){for(t.Vb(i,-1);t.Ez();)if(0!=t.li().Qb())return t.wb();return-1},i.prototype.zQ=function(t,i){for(t.Vb(i,-1),t.ha();t.Ha();)if(0!=t.ha().Qb())return t.wb();return-1},i.prototype.yQ=function(i,s,n,h){if(this.xk=this.AQ(s,n,h),-1!=this.xk){s.Vb(this.xk,-1);var r=s.ha(),e=r.hc(r.fe(i,!1));if(n=t.h.yc(e,i),(h=new t.h).L(e),h.sub(r.ac()),(e=new t.h).L(i),e.sub(r.ac()),this.kq=0>h.wi(e),this.ph=this.zQ(s,this.xk),-1!=this.ph){s.Vb(this.ph,-1);var o=(r=s.ha()).fe(i,!1);o=r.hc(o);var a=t.h.yc(o,i);a>n?this.ph=-1:(h.L(o),h.sub(r.ac()),e.L(i),e.sub(r.ac()),this.us=0>h.wi(e))}-1==this.ph&&(this.ph=this.BQ(s,this.xk),-1!=this.ph&&(s.Vb(this.ph,-1),o=(r=s.ha()).fe(i,!1),o=r.hc(o),(a=t.h.yc(o,i))>n?this.ph=-1:(h.L(o),h.sub(r.ac()),e.L(i),e.sub(r.ac()),this.us=0>h.wi(e),i=this.xk,this.xk=this.ph,this.ph=i,i=this.kq,this.kq=this.us,this.us=i)))}},i.prototype.cO=function(t,i,s,n,h){return s=s.Ga(),this.yQ(t,s,n,h),-1!=this.xk&&-1==this.ph?this.kq:-1!=this.xk&&-1!=this.ph?this.kq==this.us?this.kq:(s.Vb(this.xk,-1),t=s.ha().kg(),s.Vb(this.ph,-1),i=s.ha().kg(),0<=t.wi(i)):i},i}(),s=function(s){function n(){return null!==s&&s.apply(this,arguments)||this}return _(n,s),n.local=function(){return null===n.instance&&(n.instance=new n),n.instance},n.prototype.getType=function(){return 3},n.prototype.nz=function(i,s,n){var h;if(void 0===h&&(h=!1),i.B())return new t.$l;s=s.D();var r=i,e=i.getType();switch(197==e&&((r=new t.Da).ad(i,!1),e=1736),e){case 33:return this.xI(r,s);case 550:return this.jI(r,s);case 1607:case 1736:return this.bU(r,s,n,h);default:throw t.i.fa(\"not implemented\")}},n.prototype.oz=function(i,s){if(i.B())return new t.$l;s=s.D();var n=i,h=i.getType();switch(197==h&&((n=new t.Da).ad(i,!1),h=1736),h){case 33:return this.xI(n,s);case 550:case 1607:case 1736:return this.jI(n,s);default:throw t.i.fa(\"not implemented\")}},n.prototype.pz=function(i,s,n,h){if(0>h)throw t.i.N();if(i.B())return[];s=s.D();var r=i,e=i.getType();switch(197==e&&((r=new t.Da).ad(i,!1),e=1736),e){case 33:return this.TU(r,s,n,h);case 550:case 1607:case 1736:return this.tU(r,s,n,h);default:throw t.i.fa(\"not implemented\")}},n.prototype.bU=function(s,n,h,r){if(1736==s.getType()&&h&&(h=new t.l,s.A(h),h=t.ta.Wd(null,h,!1),0!=(r?t.hd.Yd(s,n,0):t.hd.Yd(s,n,h)))){var e=new t.$l(n,0,0);return r&&e.WJ(!0),e}var o=s.Ga();e=new t.h;for(var a=h=-1,u=17976931348623157e292,f=0;o.$a();)for(;o.Ha();){var c=o.ha();c=c.hc(c.fe(n,!1));var l=t.h.yc(c,n);lt.h.Uq(n,c.ac(),c.wc()),1=s||(i.length=h),i.slice(0)},n.instance=null,n}(t.Je);t.Ix=s}(Q||(Q={})),function(t){var i=function(i){function s(){return null!==i&&i.apply(this,arguments)||this}return _(s,i),s.prototype.getType=function(){return 4},s.prototype.V=function(i,s,n,h,r){return t.am.yB(i,s,n,h,r)},s.local=function(){return null===s.instance&&(s.instance=new s),s.instance},s.prototype.Iu=function(i){return t.Vt.wy(i)},s.prototype.wn=function(i,s,n){t.Vt.CD(i,s,n)},s.instance=null,s}(t.Je);t.zL=i}(Q||(Q={})),function(t){var i=function(i){function s(){return null!==i&&i.apply(this,arguments)||this}return _(s,i),s.prototype.getType=function(){return 33},s.prototype.V=function(i,s,n,h,r){return 1073741824===i?!t.ud.zB(s,n,h,4,r):t.ud.zB(s,n,h,i,r)},s.local=function(){return null===s.instance&&(s.instance=new s),s.instance},s.prototype.Iu=function(i){return t.Vt.wy(i)},s.prototype.wn=function(i,s,n){t.Vt.CD(i,s,n)},s.instance=null,s}(t.Je);t.dj=i}(Q||(Q={})),function(t){var i=function(){function i(i,s,n,h){if(this.nd=h,this.rT=n,this.ya=-1,null==i)throw t.i.N();this.yk=i,this.Mj=s}return i.prototype.next=function(){var i;if(null!=(i=this.yk.next())){if(this.ya=this.yk.La(),null!=this.nd&&!this.nd.progress(-1,-1))throw t.i.fu(\"user_canceled\");return this.eC(i)}return null},i.prototype.La=function(){return this.ya},i.prototype.eC=function(i){if(null==i)throw t.i.N();return t.Jx.cK(i,this.Mj,this.rT,this.nd)},i.prototype.qe=function(){},i}();t.AL=i}(Q||(Q={})),function(t){var i=function(i){function s(){return null!==i&&i.apply(this,arguments)||this}return _(s,i),s.prototype.getType=function(){return 26},s.prototype.V=function(i,s,n,h){return i instanceof t.aa?(i=new t.Zc(i),this.V(i,s,n,h).next()):new t.AL(i,s,n,h)},s.prototype.rs=function(i,s,n,h,r){return 0<(void 0!==h?t.Jx.rs(i,s,n,h,r):t.Jx.rs(i,s,!1,null,n))},s.local=function(){return null===s.instance&&(s.instance=new s),s.instance},s.instance=null,s}(t.Je);t.Yl=i}(Q||(Q={})),function(t){var i=function(){function t(){this.yq=0}return t.prototype.nX=function(t){this.yq&=-2,this.yq|=t?1:0},t.prototype.Wp=function(){return!!(1&this.yq)},t.prototype.XF=function(){return this.Wp()?0:1},t}();t.xY=i;var s=function(){},n=function(t,i,s,n){this.x=t,this.y=i,this.Ai=s,this.xm=n},h=function(){function t(t){this.Be=t}return t.prototype.compare=function(t,i,s){return t=t.ja(s),i=this.Be.lf.read(2*i),0>(i-=t=this.Be.lf.read(2*t))?-1:0r?1:0},t}(),e=function(){function i(i,s){this.YI=new t.h,this.parent=i,this.dS=s}return i.prototype.nr=function(t,i,s){var n=this.parent,h=this.dS;s.Vd(t,i,(function(t,i){return n.Mh(t,i,h)}))},i.prototype.$p=function(t){return t=this.parent.gi.get(t),this.parent.lf.tc(2*(t>>1),this.YI),this.YI.y+(1&t?this.parent.Oj:-this.parent.Oj)},i}(),o=function(){function o(i,s,n,h,r){this.nH=i.description,this.X=i,this.Qg=s,this.Oj=t.ta.kj(this.Qg,i,!1),this.Bo=t.ta.kj(this.Qg,i,!0),this.xA=n,this.oT=this.nH.Aa,this.hb=[],this.po=[],this.mh=new t.jp,this.fb=new t.Yj,this.ke=new t.Md,this.ZG=this.ql=r}return o.prototype.eT=function(){return this.ZG=!0,(!t.aa.Hc(this.X.getType())||this.GE()&&this.DE(!1))&&this.mO()?t.aa.Hc(this.X.getType())?this.pO()?1607==this.X.getType()?this.rO()?2:0:this.sO()?this.tO():0:0:2:0},o.prototype.kC=function(i,s){var n=this.lf.read(2*i);i=this.lf.read(2*i+1);var h=this.lf.read(2*s);s=this.lf.read(2*s+1);var r=!t.Yt.Cv(n,i,h,s,this.Oj*this.Oj);return r||0!=this.X.Db()&&(n==h&&i==s)},o.prototype.GE=function(){for(var i=this.X,s=i.xf?3:2,n=0,h=i.da();nthis.Oj)){if(i&&h){var e=r.wv(1,0);if(r=r.wv(1,0),Math.abs(r-e)>s)continue}return this.ke=new t.Md(2,n.wb(),-1),!1}}return!0},o.prototype.mO=function(){var i=this.X,s=null;t.aa.Hc(this.X.getType())&&(s=this.X);var n=(this.ZG||this.ql)&&null!=s,r=i.I();this.lf=i.ub(0),this.gi=new t.ia(0),this.gi.Jb(2*r),this.fi=new t.ia(0),this.fi.Jb(2*r),n&&(null==this.Fl&&(this.Fl=new t.ia(0)),this.Fl.Jb(r));for(var o=i=0;o=s.Vc(i);)i++;this.Fl.add(i)}for((new t.Xt).sort(this.fi,0,2*r,new e(this,n)),this.fb.clear(),this.fb.Vo(new h(this)),this.fb.De(r),s=0,r*=2;s>1,1&i){if(i=this.fb.search(n,-1),o=this.fb.we(i),a=this.fb.lb(i),this.fb.vd(i,-1),-1!=o&&-1!=a&&!this.kC(this.fb.ja(o),this.fb.ja(a)))return this.ke=new t.Md(3,this.fb.ja(o),this.fb.ja(a)),!1}else{if(i=this.fb.addElement(n,-1),-1!=(o=this.fb.we(i))&&!this.kC(this.fb.ja(o),n))return this.ke=new t.Md(3,n,this.fb.ja(o)),!1;var a=this.fb.lb(i);if(-1!=a&&!this.kC(this.fb.ja(a),n))return this.ke=new t.Md(3,n,this.fb.ja(a)),!1}return!0},o.prototype.pO=function(){return 10>this.X.I()?this.nO():this.oO()},o.prototype.oO=function(){var i=new t.gd;i.Ib(this.X);var s=new t.Md;return!t.$t.kI(!1,i,this.Oj,s,this.nd)||(s.Jo=i.Ua(s.Jo),s.Ko=i.Ua(s.Ko),this.ke.Wt(s),!1)},o.prototype.nO=function(){var i=this.X,s=i.Ga();for(i=i.Ga();s.$a();)for(;s.Ha();){var n=s.ha();if(!s.Qn()||!s.$S()){i.BW(s);do{for(;i.Ha();){var h=i.ha();if(0!=(h=n.zr(h,this.Oj,!0)))return this.ke=new t.Md(2==h?5:4,s.wb(),i.wb()),!1}}while(i.$a())}}return!0},o.prototype.sO=function(){var i=this.X;this.hb.length=0,this.po.length=0,this.Zf=i.Ga(),this.Zf.JB();var s=new t.ia(0);s.Jb(10);var n=NaN,h=0,r=0;for(i=2*i.I();r>=1;var o=this.lf.read(2*e),a=this.lf.read(2*e+1);if(0!=s.size&&(o!=n||a!=h)){if(!this.RI(s))return!1;null!=s&&s.clear(!1)}s.add(e),n=o,h=a}}return!!this.RI(s)},o.prototype.rO=function(){for(var i=this.X,n=Array(i.da()),h=0,r=i.da();h>1;this.lf.tc(2*o,e);var a=n[h=this.Fl.get(o)],u=i.Ba(h),f=i.Vc(h)-1;r.el=o==u||o==f,r.ny=this.ql?!a&&r.el:r.el,r.Ai=h,r.x=e.x,r.y=e.y,r.xm=o;for(var c=new s,l=1,p=this.fi.size;l>1,this.lf.tc(2*o,e),(h=this.Fl.get(o))!=r.Ai&&(a=n[h],u=i.Ba(h),f=i.Vc(h)-1);var v=o==u||o==f,y=this.ql?!a&&r.el:r.el;if(c.x=e.x,c.y=e.y,c.Ai=h,c.xm=o,c.ny=y,c.el=v,c.x==r.x&&c.y==r.y)if(this.ql){if(!(c.ny&&r.ny||c.Ai==r.Ai&&(c.el||r.el)))return this.ke=new t.Md(8,c.xm,r.xm),!1}else if(!c.el||!r.el)return this.ke=new t.Md(5,c.xm,r.xm),!1;h=r,r=c,c=h}return!0},o.prototype.JE=function(){for(var i=this.X,s=[],h=-1,r=!1,e=0,o=i.da();e>1;this.lf.tc(2*a,r),e=this.Fl.get(a),h=new n(r.x,r.y,e,a,s[e]),i=[];var u=1;for(o=this.fi.size;u>1,this.lf.tc(2*a,r),e=this.Fl.get(a),(e=new n(r.x,r.y,e,a,s[e])).x==h.x&&e.y==h.y){if(e.Ai==h.Ai)return this.ke=new t.Md(9,e.xm,h.xm),!1;0<=s[e.Ai]&&s[e.Ai]==s[h.Ai]&&(0!=i.length&&i[i.length-1]==h||i.push(h),i.push(e))}h=e}if(0==i.length)return!0;for(e=new t.jp(!0),t.O.$u(s,-1),r=-1,(u=new t.h).Rc(),h=0,o=i.length;h=i.Ke())return this.ke=new t.Md(6,1==i.da()?1:-1,-1),0;if(1==i.da())return this.ql&&!this.JE()?0:2;this.to=t.ia.qf(i.da(),0),this.JA=t.ia.qf(i.da(),-1);for(var s=-1,n=0,h=0,e=i.da();ho?0:256),0s||n>=1,(h=this.lf.read(2*n+1))!=this.Mo&&0!=i.size){if(!this.ut(i))return 0;null!=i&&i.clear(!1)}i.add(n),this.Mo=h}return 0r.la){var o=this.Zf.wb(),a=this.Su(r,h,this.Zf.gb,!0);0i.Ja(s.gb))){n.EW();for(var f,c,l=!0;s.Ha();){var p=s.ha(),v=n.li();if(s.wb()>n.wb())break;l&&(a.add(s.wb()),u.add(n.ik()),l=!1),c=a.Fc();var y=s.ik();if(1this.Bo?a.add(s.ik()):e&&(f=i.Uc(1,a.Fc(),0),p=p.gv(1,0),Math.abs(p-f)>o&&a.add(s.ik())),c>this.Bo?u.add(n.wb()):e&&(f=i.Uc(1,u.Fc(),0),p=v.gv(1,0),Math.abs(p-f)>o&&u.add(n.wb()))}if(a.Fc()u.size?a.If():u.If():(a.Fc()!=u.Fc()&&u.If(),u.If()),2<=u.size+a.size){for(l=new t.Sa,v=0,p=a.size;v>1;var r=h>>1,e=new t.h,o=new t.h;return this.lf.tc(2*s,e),e.y+=1&i?this.Oj:-this.Oj,this.lf.tc(2*r,o),o.y+=1&h?this.Oj:-this.Oj,0==(i=e.compare(o))&&n?0>(n=this.Fl.get(s)-this.Fl.get(r))?-1:0r.x)return 1;if(h.yr.y)return 1;for(h=1;hu)return 1}}return 0},o.prototype.PO=function(t,i){var s=this.Ou(t,i);return 0==s?ti?1:0o?i:n;if(i.B())return n;if(n.B())return i;var a=new t.l,u=new t.l,f=new t.l;return i.A(a),n.A(u),f.K(a),f.Zb(u),a=t.ta.Wd(h,f,!0),u=i.getType(),f=n.getType(),33==u&&33==f?s.aV(i,n,a):u!=f?0o?i:n:550==u?s.iI(i,n,a):s.iI(n,i,a):t.Fg.ep(i,n,h,r)},s.aV=function(i,s,n){n=n*Math.sqrt(2)*1.00001,n*=n;var h=i.D(),r=s.D(),e=new t.de(i.description);return t.h.yc(h,r)>n&&(e.add(i),e.add(s)),e},s.iI=function(i,s,n){var h=i.ub(0),r=i.I(),e=s.D(),o=i.Ia();n=n*Math.sqrt(2)*1.00001;var a=new t.l;if(i.A(a),a.W(n,n),a.contains(e)){n*=n,a=!1;for(var u=[],f=0;fthis.zk||0>this.bo)throw t.i.Qa();if(this.AH[this.bo])break}return this.ya++,this.fG(this.bo)}return this.ya=0,this.bo=this.zk,this.fG(this.zk)},n.prototype.La=function(){return this.ya},n.prototype.qK=function(){if(this.Ic)return!0;var i=null;if(null!=this.Rd&&(null==(i=this.Rd.next())&&(this.Ic=!0,this.Rd=null)),t.mp.zp(this.Ub),null!=i){var s=i.Db();this.AH[s]=!0,s>=this.zk&&!this.jA&&(this.ND(s,!1,i),s>this.zk&&!this.jA&&this.zW(s))}if(0this.Do.length)for(var o=0,a=Math.max(2,t+1);oe?t.F.Wq(p,l,c,v,0):t.F.Wq(p,c,l,v,0),d=[0,0,0],b=[0,0,0];var x=[0,0,0];c=[0,0,0],y=[0,0,0];var m=Math.acos(v[2]/1),j=1-n,M=Math.tan(m),k=1+M*M/j,z=2*p[2]*M/j;for(j=(-z+(M=Math.sqrt(z*z-4*k*(p[2]*p[2]/j-1))))/(k*=2),z=(-z-M)/k,M=Math.tan(m),m=(j+z)/2,p=((k=M*j+p[2])+(M*z+p[2]))/2,M=t.F.gp(j-m,k-p),j=p/w*1.570796326794897,z=0;100>z&&(k=(k=t.F.w(n,j))*k/Math.cos(j)*(Math.sin(j)-p*k/(1-n)),!t.s.Cd(k));z++)j-=k;p=t.F.n(1,n,j)*Math.cos(j),M=1-M/(p=Math.sqrt((p-m)*(p+m))),M*=2-M,k=t.F.on(d),m=t.F.on(b),j=t.F.on(x);var A=t.F.St(x,d);z=t.F.St(x,b),t.F.zx(x,d,c),t.F.zx(x,b,y),d=Math.acos(A/(j*k)),b=Math.acos(z/(j*m)),b*=t.s.Mb(1,t.F.St(c,y)),(1.570796326794897<=t.s.P(d)&&1.570796326794897<=t.s.P(b)||3.141592653589793y&&0>e)&&(e=t.F.ba(e+3.141592653589793)),null!=a&&(a.u=c),null!=u&&(u.u=y),null!=f&&(f.u=e)}}},i.rf=function(i,s,n,h,r,e,o,a){var u=[0,0,0],f=[0,0,0],c=[0,0,0],l=[0,0,0],p=[0,0,0],v=[0,0,0],y=[0,0,0],d=[0,0,0,0],b=new t.ga(0),g=new t.ga(0),w=new t.ga(0),x=new t.ga(0),m=new t.ga(0),j=new t.ga(0);if(null!=o&&null!=a)if(t.s.ti(s))t.Yg.rf(i,n,h,r,e,o,a);else if(t.s.Cd(r))null!=o&&(o.u=n),null!=a&&(a.u=h);else if(e=t.F.ba(e),0>r&&(r=t.s.P(r),e=t.F.ba(e+3.141592653589793)),n=t.F.ba(n),h=t.F.ba(h),1.570796326794897e?t.F.Wq(y,p,u,d,0):t.F.Wq(y,u,p,d,0),u=Math.acos(d[2]/1),d=Math.atan2(-d[1],-d[0]),h=1-s,m=1+(p=Math.tan(u))*p/h,h=(-(x=2*y[2]*p/h)+(p=Math.sqrt(x*x-4*m*(y[2]*y[2]/h-1))))/(m*=2),x=(-x-p)/m,p=Math.tan(u),u=(h+x)/2,y=((m=p*h+y[2])+(p*x+y[2]))/2,p=t.F.gp(h-u,m-y),M=y/M*1.570796326794897,h=0;100>h&&(x=(x=t.F.w(s,M))*x/Math.cos(M)*(Math.sin(M)-y*x/(1-s)),!t.s.Cd(x));h++)M-=x;M=t.F.n(1,s,M)*Math.cos(M),y=1-p/(M=Math.sqrt((M-u)*(M+u))),y*=2-y,v=Math.acos(t.F.St(v,f)/(t.F.on(v)*t.F.on(f))),v*=t.s.Mb(1,f[0]),e=(t.F.q(M,y,t.F.Qj(y,v))+i*t.s.Mb(1,e))/t.F.Ah(M,y),e=t.F.ba(1.570796326794897*e),e=t.F.Rq(y,e),t.F.n(M,y,e),p=t.F.ba(d+n),n=Math.cos(p),e=Math.sin(p),c[0]=l[0]*n+l[1]*-e,c[1]=l[0]*e+l[1]*n,c[2]=l[2],t.F.jO(s,c[0],c[1],c[2],w,g,b),null!=o&&(o.u=g.u),null!=a&&(a.u=w.u)}},i}()}(Q||(Q={})),function(t){var i=function(){function i(i){this.Ya=null,this.wt=new t.h,this.xt=new t.h,this.g=i}return i.prototype.compare=function(t,i,s){return this.g.Gc(i,this.wt),this.g.Gc(t.ja(s),this.xt),this.wt.compare(this.xt)},i}(),s=function(){function i(i){this.Bf=new t.h,this.Dk=new t.h,this.g=i}return i.prototype.Dh=function(t){this.Bf.L(t)},i.prototype.compare=function(t,i){return this.g.Gc(t.ja(i),this.Dk),this.Bf.compare(this.Dk)},i}(),n=function(t){function i(i){var s=t.call(this,i.g,i.qa,!1)||this;return s.ib=i,s}return _(i,t),i.prototype.compare=function(t,i,s){if(this.rg)return-1;var n=this.ib.Qd.Jn(this.ib.Rh(i));t=t.ja(s);var h=this.ib.Qd.Jn(this.ib.Rh(t));return this.Dm=s,this.RE(i,n,t,h)},i}(t.UC),h=function(t){function i(i){var s=t.call(this,i.g,i.qa)||this;return s.ib=i,s}return _(i,t),i.prototype.compare=function(t,i){return this.rg?-1:(t=this.ib.Qd.Jn(this.ib.Rh(t.ja(i))),this.Dm=i,this.SE(i,t))},i}(t.aM),r=function(){function r(){this.Mc=this.df=this.jo=this.Qd=this.lh=this.zd=this.hb=this.g=null,this.Ng=!1,this.vh=this.Nm=this.ie=this.Gk=this.nh=this.Ak=this.Ff=this.$d=null,this.xh=this.Jq=this.UA=this.qa=0,this.Xv=this.Wn=!1,this.yo=new t.h,this.Pi=new t.h,this.hb=new t.$c(8),this.zd=new t.$c(5),this.lh=new t.au,this.Qd=new t.au,this.Ng=!1,this.vh=new t.h,this.vh.ma(0,0),this.qa=0,this.xh=-1,this.Wn=!1,this.g=null,this.df=new t.Yj,this.Mc=new t.Yj,this.nh=new t.ia(0),this.Gk=new t.TC,this.Ff=new t.ia(0),this.Ak=new t.ia(0),this.jo=new t.Sa}return r.prototype.PX=function(i,s){var n=new t.Dd;return n.$B(),i.Oc(n),this.er(i),this.Wn=!1,this.qa=s,this.UA=s*s,s=this.jC(),i.Oc(n),s||(this.qQ(),s||this.jC()),-1!=this.xh&&(this.g.Td(this.xh),this.xh=-1),this.g=null,this.Wn},r.prototype.TX=function(t,i){this.er(t),this.Wn=!1,this.qa=i,this.UA=i*i,this.Ng=!1,this.jC(),this.Ng||(this.Ng=1==t.Gp(i,!0,!1)),-1!=this.xh&&(this.g.Td(this.xh),this.xh=-1),this.g=null},r.prototype.pg=function(t,i){return this.hb.T(t,0+i)},r.prototype.LB=function(t,i,s){this.hb.S(t,0+i,s)},r.prototype.Rh=function(t){return this.hb.T(t,2)},r.prototype.ZW=function(t,i){this.hb.S(t,2,i)},r.prototype.RF=function(t,i){return this.hb.T(t,3+i)},r.prototype.Pp=function(t){return this.hb.T(t,7)},r.prototype.Pl=function(t,i){this.hb.S(t,7,i)},r.prototype.Rp=function(t,i){return this.hb.T(t,3+this.Op(t,i))},r.prototype.fr=function(t,i,s){this.hb.S(t,3+this.Op(t,i),s)},r.prototype.NR=function(t,i){return this.hb.T(t,5+this.Op(t,i))},r.prototype.hr=function(t,i,s){this.hb.S(t,5+this.Op(t,i),s)},r.prototype.Sr=function(t){return this.zd.T(t,0)},r.prototype.UW=function(t,i){this.zd.S(t,0,i)},r.prototype.ez=function(t){return this.zd.T(t,4)},r.prototype.cr=function(t,i){this.zd.S(t,4,i)},r.prototype.il=function(t){return this.zd.T(t,1)},r.prototype.ln=function(t,i){this.zd.S(t,1,i)},r.prototype.dz=function(t){return this.zd.T(t,3)},r.prototype.Et=function(t,i){this.zd.S(t,3,i)},r.prototype.Ym=function(t){var i=this.zd.Ce(),s=this.lh.Ph();return this.UW(i,s),-1!=t?(this.lh.addElement(s,t),this.g.Ra(t,this.xh,i),this.cr(i,this.g.Ua(t))):this.cr(i,-1),i},r.prototype.HP=function(t){this.zd.jd(t)},r.prototype.LD=function(t,i){this.lh.addElement(this.Sr(t),i),this.g.Ra(i,this.xh,t)},r.prototype.nt=function(t){var i=this.hb.Ce(),s=this.Qd.Ph();return this.ZW(i,s),-1!=t&&this.Qd.addElement(s,t),i},r.prototype.MD=function(t,i){this.Qd.addElement(this.Rh(t),i)},r.prototype.Uu=function(t){this.hb.jd(t),0<=(t=this.nh.lF(t))&&this.nh.SV(t)},r.prototype.hj=function(i,s){if(-1==this.pg(i,0))this.LB(i,0,s);else{if(-1!=this.pg(i,1))throw t.i.Qa();this.LB(i,1,s)}this.ky(i,s)},r.prototype.ky=function(t,i){var s=this.il(i);if(-1!=s){var n=this.Rp(s,i);this.hr(n,i,t),this.fr(t,i,n),this.fr(s,i,t),this.hr(t,i,s)}else this.hr(t,i,t),this.fr(t,i,t),this.ln(i,t)},r.prototype.Op=function(t,i){return this.pg(t,0)==i?0:1},r.prototype.Xm=function(t,i){var s,n=this.dz(i);if(-1!=n&&(this.df.vd(n,-1),this.Et(i,-1)),-1!=(n=this.il(i))){var h=s=n;do{var r=!1,e=this.Op(s,i),o=this.RF(s,e);if(this.pg(s,e+1&1)==t){if(this.Xu(s),this.Qd.bh(this.Rh(s)),this.Uu(s),s==o){n=-1;break}n==s&&(n=this.il(i),h=o,r=!0)}s=o}while(s!=h||r);if(-1!=n){do{e=this.Op(s,i),o=this.RF(s,e),this.LB(s,e,t),s=o}while(s!=h);-1!=(s=this.il(t))?(h=this.Rp(s,t),r=this.Rp(n,t),h==s?(this.ln(t,n),this.ky(s,t),this.ln(t,s)):r==n&&this.ky(n,t),this.fr(n,t,h),this.hr(h,t,n),this.fr(s,t,r),this.hr(r,t,s)):this.ln(t,n)}}for(n=this.Sr(t),s=this.Sr(i),h=this.lh.rc(s);-1!=h;h=this.lh.lb(h))this.g.Ra(this.lh.ja(h),this.xh,t);this.lh.Hy(n,s),this.HP(i)},r.prototype.UT=function(t,i){var s=this.pg(t,0),n=this.pg(t,1),h=this.pg(i,0),r=this.pg(i,1);this.Qd.Hy(this.Rh(t),this.Rh(i)),i==this.il(s)&&this.ln(s,t),i==this.il(n)&&this.ln(n,t),this.Xu(i),this.Uu(i),s==h&&n==r||n==h&&s==r||(this.Hn(s,this.yo),this.Hn(h,this.Pi),this.yo.qb(this.Pi)?(s!=h&&this.Xm(s,h),n!=r&&this.Xm(n,r)):(n!=h&&this.Xm(n,h),s!=r&&this.Xm(s,r)))},r.prototype.Xu=function(t){var i=this.pg(t,1);this.dF(t,this.pg(t,0)),this.dF(t,i)},r.prototype.dF=function(t,i){var s=this.Rp(t,i),n=this.NR(t,i),h=this.il(i);s!=t?(this.fr(n,i,s),this.hr(s,i,n),h==t&&this.ln(i,s)):this.ln(i,-1)},r.prototype.WD=function(t,i,s){var n=this.Qd.rc(t),h=this.Qd.ja(n);t=this.Le(h);var r=this.Le(this.g.U(h));for(this.g.jr(h,i,s,!0),n=this.Qd.lb(n);-1!=n;n=this.Qd.lb(n)){h=this.Qd.ja(n);var e=this.Le(h)==t;this.g.jr(h,i,s,e)}n=i.Vp(s,0).ac(),i=i.Vp(s,i.ol(s)-1).wc(),this.BK(t,n),this.BK(r,i)},r.prototype.ZE=function(t,i,s){var n=this.Rh(t),h=this.pg(t,0),r=this.pg(t,1),e=this.nt(-1);for(this.nh.add(e),this.Pl(e,-3),this.Ff.add(e),this.hj(e,h),t=1,i=i.ol(s);tthis.ez(e)&&this.cr(e,this.g.Ua(r))),e=this.Ff.get(t),t-=2,this.MD(e,r),r=this.g.U(r)}while(0<=t)}this.Ff.clear(!1)},r.prototype.Le=function(t){return this.g.Pa(t,this.xh)},r.prototype.TI=function(i,s,n){var h=this.pg(s,0),r=new t.h;this.Hn(h,r);var e=new t.h,o=this.pg(s,1);this.Hn(o,e);var a=n.ol(i),u=n.Vp(i,0),f=new t.h;if(u.Yp(f),!r.qb(f)){if(!this.Ng){var c=r.compare(this.vh);0>c*(f=f.compare(this.vh))&&(this.Ng=!0)}this.vF(h,this.Ff),this.Ak.add(h)}for(!this.Ng&&1u.compare(this.vh))&&(this.Ng=!0)),i=(u=n.Vp(i,a-1)).wc(),e.qb(i)||(this.Ng||0>(c=e.compare(this.vh))*(f=i.compare(this.vh))&&(this.Ng=!0),this.vF(o,this.Ff),this.Ak.add(o)),this.Ff.add(s),e=0,o=this.Ff.size;eMath.max(100,this.g.fd)){this.nh.clear(!1),this.Ng=!0;break}var t=this.nh.Fc();this.nh.If(),this.Pl(t,-1),-1!=this.WS(t)&&this.wS(t),this.Vn=!1}},r.prototype.wS=function(t){if(this.Vn){var i=this.Mc.zu(this.MH,this.GH,t,!0);this.Vn=!1}else i=this.Mc.KD(t);-1==i?this.UT(this.Mc.ja(this.Mc.FF()),t):(this.Pl(t,i),this.$d.rg&&(this.$d.Kr(),this.oF(this.$d.Dm,i)))},r.prototype.WS=function(i){var s=this.pg(i,0);if(i=this.pg(i,1),this.Hn(s,this.yo),this.Hn(i,this.Pi),t.h.yc(this.yo,this.Pi)<=this.UA)return this.Ng=!0,-1;var n=this.yo.compare(this.vh),h=this.Pi.compare(this.vh);return 0>=n&&0=h&&0n&&(this.re(t),n=this.description.Pf(t)),null==this.ka&&this.un(),this.ka[this.description.$j(n)+i]=s},s.prototype.getType=function(){return 33},s.prototype.Db=function(){return 0},s.prototype.Oa=function(){this.vc(),null!=this.ka&&(this.ka[0]=NaN,this.ka[1]=NaN)},s.prototype.sn=function(i){if(null!=this.ka){for(var s=t.ee.Iw(i,this.description),n=[],h=0,r=0,e=i.Aa;r>>32),i=t.O.Th(h,i)}return i},s.prototype.mg=function(){return null},s}(t.aa);t.Sa=i}(Q||(Q={})),function(t){var i=function(){function t(t,i,s){void 0!==t&&(this.x=t,this.y=i,this.z=s)}return t.construct=function(i,s,n){var h=new t;return h.x=i,h.y=s,h.z=n,h},t.prototype.K=function(t,i,s){this.x=t,this.y=i,this.z=s},t.prototype.lx=function(){this.z=this.y=this.x=0},t.prototype.normalize=function(){var t=this.length();0==t&&(this.x/=t,this.y/=t,this.z/=t)},t.prototype.length=function(){return Math.sqrt(this.x*this.x+this.y*this.y+this.z*this.z)},t.prototype.sub=function(i){return new t(this.x-i.x,this.y-i.y,this.z-i.z)},t.prototype.Ag=function(i){new t(this.x*i,this.y*i,this.z*i)},t.prototype.Qh=function(t){return this.x*t.x+this.y*t.y+this.z*t.z},t}();t.Nd=i}(Q||(Q={})),function(t){var i=function(){function i(t,i,s){this.Gw=this.DA=null,this.Xf=i,this.FT=i.y-s,this.ET=i.y+s,this.Ew=0,this.dA=t,this.qa=s,this.RT=s*s,this.eA=0!=s,this.Lv=!1}return i.prototype.result=function(){return 0!=this.Ew?1:0},i.prototype.ZM=function(i){return i=i.hc(i.fe(this.Xf,!1)),t.h.yc(i,this.Xf)<=this.RT},i.prototype.fF=function(t){if(!this.eA&&(this.dA&&this.Xf.qb(t.ac())||this.Xf.qb(t.wc())))this.Lv=!0;else if(t.na==this.Xf.y&&t.na==t.la){if(this.dA&&!this.eA){var i=Math.max(t.sa,t.pa);this.Xf.x>Math.min(t.sa,t.pa)&&this.Xf.xi?s=!0:this.Xf.x>=Math.min(t.sa,t.pa)&&(s=0t.wc().y?1:-1)}}},i.prototype.SI=function(t){var i=t.Tg(0,1);if(i.oa>this.ET||i.vathis.Xf.y||i.va(t=t.I()))&&2*t+Math.log(t)/Math.log(2)*i<1*t*i},i}();t.Dg=i}(Q||(Q={})),function(t){var i=function(t){function i(i){return t.call(this,!0,i)||this}return _(i,t),i.prototype.Ia=function(){return new i(this.description)},i.prototype.Db=function(){return 2},i.prototype.getType=function(){return 1736},i.prototype.xG=function(t,i,s){this.JS(t,i,s)},i.prototype.qR=function(){this.FR()},i}(t.Vk);t.Da=i}(Q||(Q={})),function(t){!function(t){t[t.PiPOutside=0]=\"PiPOutside\",t[t.PiPInside=1]=\"PiPInside\",t[t.PiPBoundary=2]=\"PiPBoundary\"}(t.RL||(t.RL={})),t.hd=function(){function i(){}return i.KG=function(i,s,n){return 0==(i=t.Dg.bT(i,s,n))?0:1==i?1:2},i.Yd=function(i,s,n){return 0==(i=t.Dg.wm(i,s,n))?0:1==i?1:2},i.WX=function(s,n,h,r,e){if(n.lengthi?(0>i?i+=360:360<=i&&(i-=360),i):(0>(i=t.lc.RK(i))&&(i+=360),i)},i.gP=function(t){return 180<(t=i.hP(t))&&(t-=360),t},i.oW=57.29577951308232,i}();t.qr=i,t.Hh=function(){function s(){}return s.lj=function(i,s){var n=new t.l;i.A(n);var h=t.cb.gh(s),r=new t.l;return r.K(h),r.v=n.v,r.C=n.C,r.W(.01*r.ca(),0),s=t.ta.Wd(s,n,!1),r.contains(n)?i:t.Ud.clip(i,r,s,0)},s.ks=function(i,n,h,r,e){if(!t.cb.Wc(n))throw t.i.N();var o=t.ta.kj(n,i,!1),a=t.cb.gh(n),u=t.cb.sc(n),f=u.Hd().ai,c=t.cb.vv(u);u=t.cb.ev(u),c*=2-c;var l=new t.Nc;a.cn(l);var p=[[0,0],[0,0]];if(2==t.Eg.Sb(n)?r?(p[0][0]=s.Zm(e,l),p[0][1]=a.Jp(),t.cb.vt(),a=p[0][0]*f):(p[0][0]=a.gk(),p[0][1]=e,t.cb.vt(),a=p[0][1]*f):a=e*f,!r&&0!=a)throw t.i.N();var v=new t.ga,y=new t.gd;i=y.Ib(i);for(var d=[0],b=new t.h,g=new t.h,w=new t.h,x=new t.h,m=new t.h,j=new t.h,M=y.Ob(i);-1!=M;M=y.Rb(M)){var k=y.Xa(M);y.D(k,w);for(var z=!1,A=k=y.U(k);-1!=A;A=y.U(A)){if(A==k){if(z)break;z=!0}if(y.D(A,x),r&&oo||oo||!r&&o<-w.y&&x.y>o||o<-x.y&&w.y>o)do{if(!(Math.abs(w.x-x.x)>=.5*l.R())){if(2==t.Eg.Sb(n)?(p[0][0]=s.Zm(w.x,l),p[0][1]=w.y,p[1][0]=s.Zm(x.x,l),p[1][1]=x.y,t.cb.dW(),m.x=p[0][0]*f,m.y=p[0][1]*f,j.x=p[1][0]*f,j.y=p[1][1]*f):(m.x=w.x*f,m.y=w.y*f,j.x=x.x*f,j.y=x.y*f),j.x=6.283185307179586*(x.x-w.x)/l.R()+m.x,r){if(g.x=a,g.y=s.Nz(u,c,m,j,a,h),isNaN(g.y))break}else{if(g.x=s.Lz(u,c,m,j,h),isNaN(g.x))break;g.y=0}t.kb.wd(u,c,m.x,m.y,j.x,j.y,v,null,null,h);var N=v.u;t.kb.wd(u,c,m.x,m.y,g.x,g.y,v,null,null,h);var I=v.u;2==t.Eg.Sb(n)?(p[0][0]=g.x/f,p[0][1]=g.y/f,t.cb.bR(),r?(b.y=p[0][1],b.x=e):(b.x=s.os(p[0][0],w.x,x.x,l),b.y=e)):r?(b.x=e,b.y=g.y/f):(b.x=s.os(g.x/f,w.x,x.x,l),b.y=e),d[0]=0r.x)var a=r;else a=h,h=r;r=new t.ga(0);var u=new t.ga(0),f=new t.ga(0);t.kb.wd(i,n,a.x,a.y,h.x,h.y,u,r,null,o);var c=u.u,l=0,p=1,v=new t.h;for(v.L(a);c*(p-l)>1e-12*i;){var y=.5*(l+p);if(t.kb.oj(i,n,a.x,a.y,c*y,r.u,u,f,o),v.x=u.u,v.y=f.u,v.x==e)break;if(s.Sn(a.x,v.x,e))p=y;else{if(!s.Sn(h.x,v.x,e))return NaN;l=y}}return v.y},s.Sn=function(t,s,n){return t=i.Cp(t),s=i.mx(t,i.Cp(s)),0==(n=i.mx(t,i.Cp(n)))||0s&&0>n&&n>=s},s.Zm=function(t,i){var s=i.va-i.oa;return i.It(t-Math.floor((t-i.oa)/s)*s)},s.os=function(i,s,n,h){var r=new t.Nc;for(r.K(s,n),n=h.R(),i=Math.floor((i-s)/n)*n+i,r=r.sf();Math.abs(i-r)>Math.abs(i+n-r);)i+=n;return i},s.Lz=function(i,s,n,h,r){if(n.y>h.y)var e=h;else e=n,n=h;if((h=new t.Nc).K(e.y,n.y),!h.contains(0)||3.141592653589793<=Math.abs(e.x-n.x))return NaN;if(e.x==n.x)return e.x;var o=new t.ga(0),a=new t.ga(0),u=new t.ga(0);t.kb.wd(i,s,e.x,e.y,n.x,n.y,a,o,null,r);var f=a.u,c=0,l=1,p=new t.h;for(p.L(e);f*(l-c)>1e-12*i;){var v=.5*(c+l);if(t.kb.oj(i,s,e.x,e.y,f*v,o.u,a,u,r),p.x=a.u,p.y=u.u,h.K(e.y,p.y),0==p.y)break;if(h.contains(0))l=v;else{if(h.K(n.y,p.y),!h.contains(0))return NaN;c=v}}return p.x},s.Hp=function(i,s,n,h,r,e,o){var a=new t.l;if(i.A(a),a.B())return i;var u=new t.Nc;a.cn(u);var f=new t.Nc;if(f.K(s,s+n),f.contains(u)&&f.va!=u.va)return i;var c=new t.l;c.K(a);var l=i.getType();if(33==l)return((a=(c=r?i:i.Of()).Lg())=f.va||o&&a==f.va)&&(a+=Math.ceil((f.oa-a)/n)*n,a=f.It(a),c.cC(a)),c;if(550==l){for(h=(c=r?i:i.Of()).ub(0),l=2*c.I(),i=!1,r=0;r=f.va||o&&a==f.va)&&(i=!0,a+=Math.ceil((f.oa-a)/n)*n,a=f.It(a),h.write(r,a));return i&&c.Pc(1993),c}if(f.contains(u))return i;if(197==l)return n=r?i:i.Of(),a.Ea(c),n.Xo(a),n;var p=.1*Math.max(a.ca(),a.R());c.W(0,p),o=i,f=h.Xd(0),i=t.Gh.local(),r=new t.Dd;for(;;){var v=Math.floor((u.oa-s)/n),y=Math.ceil((u.va-s)/n);if(!(3c.v;)(p=t.Ud.clip(o,c,f,0)).A(u),(1607==l?!p.B()&&(u.R()>f||u.ca()>f):!p.B()&&(1736!=l||u.R()>f))&&(p.Oc(r),p.A(u),s.A(e),e.W(f,f),e.isIntersecting(u)&&1736==l?s=i.V(s,p,h,null):s.add(p,!1)),c.move(n,0),r.shift(-n,0);return s},s.WI=function(i,s,n,h){var r=new t.de(n.description);r.Fd(n,0,-1),r=t.cb.zh(r,i,s);var e=n.I();if(h.Oa(),!t.cb.Wc(i)||e!=r.I())return!1;var o=new t.l;n.A(o);var a=new t.l;if(r.A(a),o=o.R(),a=a.R(),0!=o&&0!=a){if(a/=o,i=t.cb.gh(s).R()/t.cb.gh(i).R(),1e-10=i[n]?s[n]=i[n].toUpperCase():i[n];return s.join()}return i.toString(t.Sc.PE_STR_AUTH_TOP)},s.ur=function(i,s,n,h){var r=h.length,e=n.I();if(0!=e){var o=n.ub(0),a=Math.min(e,r),u=0,f=i.eh();isNaN(s)&&(s=0);for(var c=i.Wc(),l=179*(i=c?i.sc().Oe().R():0)/360;0y*t.lc.sign(d)&&Math.abs(v)>l&&(h[p][0]+=-y*i)}o.uC(u<<1,a,h),u+=a,e-=a,a=Math.min(e,r)}n.Pc(1993)}},s.IL=function(i,s,n,h){var r=0,e=i.eh();isNaN(r)&&(r=0);var o=i.Wc(),a=i.bf();i=360*a,a*=179;for(var u=h.length,f=0;fd*t.lc.sign(v)&&Math.abs(y)>a&&(h[c][0]-=d*i)}t.ta.Iy(s,f,h,l),f+=l}}},s.Lx=function(i,s,n){var h=n.length,r=s.I();if(!(1>r)){var e=s.ub(0),o=Math.min(r,h),a=0,u=i.eh(),f=i.Wc(),c=f?i.Oe().R():0,l=179*c/360,p=0;for(f&&(p=i.zi());0y*t.lc.sign(d)&&Math.abs(v)>l&&(n[i][0]+=-y*c)}e.uC(a<<1,o,n),a+=o,r-=o,o=Math.min(r,h)}s.Pc(1993)}},s.HL=function(i,s,n,h){if(0!=n){var r=i.eh(),e=i.Wc(),o=e?i.Oe().R():0,a=179*o/360,u=0;for(e&&(u=i.zi()),i=0;iv*t.lc.sign(s[l].x-u)&&Math.abs(p)>a&&(h[f][0]-=v*o)}t.ta.Iy(s,i,h,c),i+=c}}}},s.tr=function(i,s,n,h){var r=s.I();if(0!=r){var e=s.ub(0),o=i.ef,a=i.Yf,u=o.sc().Qp(),f=a.sc().Qp(),c=o.bf(),l=a.bf();if(null==(i=i.Wf)||0==i.count()){for(n=u/f,h=(o.Up()-a.Up())*l,f=-90*c,i=90*c,u=!1,l=1,o=2*r;lb?h[l][1]=b:h[l][1]<-b&&(h[l][1]=-b));for(c=0;cp){if(m){var O=k+(q+11*l&&(m=!1)}m||(E=F+(N-=t.lc.Cn(c,E-I)),++T,D=0!=N,G.x=E)}else P||t.ta.AG(B,C,G,M)&&(P=!0);D&&z.write(2*q,E),I=E,B.L(C),C.L(G)}0i?a=1:0>=u&&0.99*u&&(a=-1)):a=-1),0!=a&&((n=new t.Da(e.description)).tp(f),(n=t.Xl.local().V(n,h,o)).add(e,!1),g=!0,e=n),g&&(e=t.Yl.local().V(e,r,!1,o)),e},s.vQ=function(i,n,h,r,e){var o=h.I(),a=h.Na(0),u=h.Na(o-1);e=(r=s.dv(r,e)).R(),a=t.lc.sign(u.x-a.x);var f=new t.l;h.xc(f);var c=r.gk();if(u=c-e,c+=e,0<=a){var l=Math.ceil((u-f.v)/e);for(l*=e;u>f.v+l;)l+=e;for(;uf.v+l;)l+=e;p=l,720u;)1024<=b&&(b=0),v.move(l,0),y.Gb=l,h.Oc(y),d+=l,r.v<=d&&r.C>=d&&(e=f.I()-1),h.Cb(0,p),p=h.Na(o-1),f.Dr(h,0,0,o-1,!1);return h=new t.Da(f.description),o=0a?o:!o)?(a=t.h.construct(u.x,r.H),h.Ci(a),a=t.h.construct(r.gk(),r.H),h.Ci(a),r=t.h.construct(i.x,r.H)):(a=t.h.construct(u.x,r.G),h.Ci(a),a=t.h.construct(r.gk(),r.G),h.Ci(a),r=t.h.construct(i.x,r.G)),h.Ci(r),h.xG(0,n,0),h.kO(e),h},s.uQ=function(i,n,h,r,e){var o=new t.Da(i.description);o.add(i,!1),o.DB(0,o.I()-1);var a=new t.l;o.xc(a);var u=(h=s.dv(n,h)).R(),f=Math.ceil((h.v-a.v)/u);for(f*=u;h.v>a.v+f;)f+=u;for(;h.va.C)return e&&(e=o.Ke(),n=(o=t.Yl.local().V(o,n,!0,r)).Ke(),(n=t.lc.sign(e)!=t.lc.sign(n))&&o.oJ()),o;for((i=new t.Da(i.description)).add(o,!1),e=e||a.R()>u-n.Xd(0);a.v=n){a=!0;break}if(2&r&&f.y<=-n){a=!0;break}}if(!a)return!1;e=!1,i&&(e=s.Nn(0)),o=(i=new t.gd).Ib(s),a=i.Ob(o);var c=-1,l=!0,p=new t.h;p.Rc(),u=new t.Sa;for(var v=-1,y=i.Xa(a);-1!=y;y=i.U(y)){f=i.Na(y);var d=1&r&&90<=f.y?1:0;if(d|=2&r&&f.y<=-n?2:0,0f){if((new t.l).K(y.v-u,-f,y.C+u,f),(o=t.ri.Nu(o,h,n,NaN,0,e)).B())return o;o.A(y)}if(b&&(h.Hy.H))return o.Ia();if(y.R()>l&&(o=s.Hp(o,p-c,l,n,!0,0,!0,e)).A(y),0!=(f=s.eO(y.v,y.C,h.v,h.C,l))&&y.move(f,0),y.C>h.C||y.vh.C)for(;y.v>=h.C;)y.move(-l,0),f-=l;for(;y.vf;f++){if(g?u=t.aa.Hc(a)?t.ri.clip(o,h,r,v,e):t.ri.clip(o,h,r,0,e):(u=t.Xj.local().V(o,d,n,e))==d&&(u=t.aa.jg(u)),h.v<=y.v&&h.C>=y.C||h.v>=y.v&&h.C<=y.C)return u;b[f]=u,0==f&&(y.move(-l,0),(u=new t.Dd).gg(-l,0),o.Oc(u))}if(550==a)b[0].Fd(b[1],0,-1);else if(t.aa.Hc(a))b[0].add(b[1],!1);else{if(33!=a)throw t.i.fa(\"intersect_with_GCS_horizon: unexpected geometry type\");b[0].B()&&(b[0]=b[1])}return b[0]}if(h.Hy.H)return o;for(a=0;!o.B()&&y.C>h.v;)0!=a&&((u=new t.Dd).gg(a,0),o.Oc(u)),t.dj.local().V(4,o,d,n,e)||d==(o=t.kp.local().V(o,d,n,e))&&(o=t.aa.jg(o)),0!=a&&((v=new t.Dd).gg(-a,0),o.Oc(v)),a-=l,y.move(-l,0);return o},s.yG=function(n,h,r,e){if(0!=h&&e!=i.DontClip)if(e==i.PannableFold){e=r.HR();for(var o=h,a=0;ae.H||n[a].yu||n[a].y<-u)&&(n[a].Rc(),o--);if(0!=o){(o=new t.l).Zw(n,h),u=r.Vr();var c=r.hv();a=197==u.getType();var l=new t.l;if(u.A(l),!c||!(l.Ho.H))if(c)if(s.av(n,h,l.gk()-f,e),o=h,a)for(a=0;a=f||o&&c==f)&&(c+=Math.ceil((s-c)/n)*n,c=t.O.Rk(c,s,f),h.cC(c)),h}if(i.B())return i;if(c=new t.l,i.A(c),c.B())return i;var l=new t.Nc;c.cn(l);var p=new t.Nc;if(p.K(s,f),p.contains(l))return i;if((f=new t.l).K(c),550===u){for(a=(h=r?i:i.Of()).ub(0),u=2*h.I(),f=!1,s=0;s=p.va||o&&c==p.va)&&(f=!0,c+=Math.ceil((p.oa-c)/n)*n,c=p.It(c),a.write(s,c));return f&&h.Pc(1993),h}if(197==u)return n=r?i:i.Of(),c.Ea(f),n.Xo(c),n;var v=.1*Math.max(c.ca(),c.R());for(f.W(0,v),o=i,p=h.Xd(0),i=t.Gh.local(),r=new t.Dd;;){var y=Math.floor((l.oa-s)/n),d=Math.ceil((l.va-s)/n);if(!(3f.v;)(v=t.ri.clip(o,f,p,0,a)).A(l),(1607==u?!v.B()&&(l.R()>p||l.ca()>p):!v.B()&&(1736!=u||l.R()>p))&&(v.Oc(r),v.A(l),s.A(e),e.W(p,p),e.isIntersecting(l)&&1736==u?s=i.V(s,v,h,null):s.add(v,!1)),f.move(n,0),r.shift(-n,0);return s},s.av=function(i,s,n,h){for(var r=n+h,e=0;er||o==r)||(o+=Math.ceil((n-o)/h)*h,o=t.O.Rk(o,n,r),i[e].x=o)}},s.Fn=function(i,n,h,r,e,o){if(!n.Wc())throw t.i.fa(\"fold_into_360_degree_range\");if(i.B())return i;if(2==n.Sb()){h=n.pv();var a=n.ov()-h}else{var u=n.bf();a=360*u,h-=180*u}return s.Hp(i,h,a,n,r,e,!0,o)},s.qF=function(t,i,n,h){if(2==n.Sb())h=n.pv(),n=n.ov()-h;else{var r=n.bf();n=360*r,h-=180*r}s.av(t,i,h,n)},s.lj=function(i,s){var n=s.Oe();if(33==i.getType()){var h=i.ih();return n.G<=h&&h<=n.H?i:i.Ia()}h=new t.l,i.A(h);var r=new t.l;return r.K(n),r.v=h.v,r.C=h.C,r.W(.01*r.ca(),0),n=t.ta.uy(s,h),r.contains(h)?i:t.ri.clip(i,r,n,0,null)},s.ir=function(t,i,s){return t>i.C&&t-i.Cn.H?t[r].Rc():t[r].x=s.ir(t[r].x,n,h)},s.Jt=function(i,n,h,r){if(!i.B()){var e=i.getType();if(!r||1736!=e)if(t.aa.xj(e)){r=i.ub(0),e=0;for(var o=i.I();ee||ee)||!a&&(0!=u||e<-M.y&&k.y>e||e<-k.y&&M.y>e))do{if(!(Math.abs(M.x-k.x)>=.5*v.R())){if(2==r.Sb()?(d[0][0]=s.Zm(M.x,v),d[0][1]=M.y,d[1][0]=s.Zm(k.x,v),d[1][1]=k.y,t.ej.projToGeogCenter(y,2,d,0),z.x=d[0][0]*c,z.y=d[0][1]*c,A.y=d[1][1]*c):(z.x=M.x*c,z.y=M.y*c,A.y=k.y*c),A.x=2*(k.x-M.x)*Math.PI/v.R()+z.x,a){if(x.x=f,x.y=s.Nz(l,p,z,A,f,o),isNaN(x.y))break;j[0]=x;var P=1}else if(o==n.GreatElliptic){var C=[0,0];if(0==(P=t.Ox.Oz(p,z,A,f,C)))break;x.x=C[0],x.y=f,j[0]=x,2==P&&(m.x=C[1],m.y=f,j[1]=m)}else{if(x.x=s.Lz(l,p,z,A,o),isNaN(x.x))break;x.y=0,j[0]=x,P=1}var B=-1;for(C=0;Cg[0]||(B=i.Ma(T),i.Ul(B,g,1),i.Cb(i.U(B),w.x,w.y),B=g[0])}}}while(0);M.L(k)}}},s.Zm=function(t,i){var s=i.va-i.oa;return i.It(t-Math.floor((t-i.oa)/s)*s)},s.os=function(i,s,n,h){var r=new t.Nc;for(r.K(s,n),n=h.R(),i=Math.floor((i-s)/n)*n+i,r=r.sf();Math.abs(i-r)>Math.abs(i+n-r);)i+=n;return i},s.Sn=function(i,s,n){return i=t.qr.Cp(i),s=t.qr.mx(i,t.qr.Cp(s)),0==(n=t.qr.mx(i,t.qr.Cp(n)))||0s&&0>n&&n>=s},s.Nz=function(i,h,r,e,o,a){if(a==n.GreatElliptic)return t.Ox.SS(h,r,e,o);if(Math.abs(r.x-e.x)>=Math.PI||!s.Sn(r.x,e.x,o))return NaN;if(r.x>e.x)var u=e;else u=r,r=e;e=new t.ga;var f=new t.ga,c=new t.ga;t.kb.wd(i,h,u.x,u.y,r.x,r.y,f,e,null,a);var l=f.u,p=0,v=1,y=new t.h;for(y.L(u);l*(v-p)>1e-12*i;){var d=.5*(p+v);if(t.kb.oj(i,h,u.x,u.y,l*d,e.u,f,c,a),y.x=f.u,y.y=c.u,y.x==o)break;if(s.Sn(u.x,y.x,o))v=d;else{if(!s.Sn(r.x,y.x,o))return NaN;p=d}}return y.y},s.Lz=function(i,s,h,r,e){if(e==n.GreatElliptic)return i=[0,0],t.Ox.Oz(s,h,r,0,i),i[0];if(h.y>r.y)var o=r;else o=h,h=r;if((r=new t.Nc).K(o.y,h.y),!r.contains(0)||Math.abs(o.x-h.x)>=Math.PI)return NaN;if(o.x==h.x)return o.x;var a=new t.ga,u=new t.ga,f=new t.ga;t.kb.wd(i,s,o.x,o.y,h.x,h.y,u,a,null,e);var c=u.u,l=0,p=1,v=new t.h;for(v.L(o);c*(p-l)>1e-12*i;){var y=.5*(l+p);if(t.kb.oj(i,s,o.x,o.y,c*y,a.u,u,f,e),v.x=u.u,v.y=f.u,r.K(o.y,v.y),0==v.y)break;if(r.contains(0))p=y;else{if(r.K(h.y,v.y),!r.contains(0))return NaN;l=y}}return v.x},s.WI=function(i,s,n,h){if(!i.ef.Wc())return!1;var r=new t.de(s.description);if(r.Fd(s,0,-1),h=t.Hx.local().V(r,i,h),r=s.I(),n.Oa(),r!=h.I())return!1;var e=new t.l;s.A(e);var o=new t.l;if(h.A(o),e=e.R(),o=o.R(),0!=e&&0!=o){if(o/=e,i=i.Yf.gh().R()/i.ef.gh().R(),1e-10=180*i&&(t-=360*i),t},s.UI=function(n,h,r,e){if(r==i.Clip){var o=h.ml();197==o.getType()?(r=new t.l,o.A(r),o=t.ta.uy(h,r),n=t.ri.clip(n,r,o,5e4*h.pm(),e)):t.dj.local().V(1,o,n,h,e)||(n=t.Xj.local().V(n,o,h,e))==o&&(n=t.Vk.jg(n))}else h.Wc()&&(e=new t.l,n.xc(e),h.Oe().contains(e)||(s.Jt(n,h.Oe(),h.Xd(0),!0),r==i.PannableFold&&(n=s.lj(n,h)),n=s.Fn(n,h,0,!0,1e5*h.pm(),null)));return n},s.XD=function(i,s,n){var h=s.Wr();if(null==h)return i;var r=(s=s.sc()).Oe().R(),e=new t.l;i.xc(e);var o=new t.Nc;e.cn(o),e=h.Ga(),h=null;for(var a=new t.Dd;e.$a();)for(;e.Ha();){var u=e.ha(),f=u.Tg(0,0),c=new t.Nc;for(c.K(f.oa,f.va),f=0;c.va>o.oa;)c.move(-r),--f;for(;c.oa<=o.va;){if(c.isIntersecting(o)){null==h&&(h=new t.Ta);var l=t.yb.cP(u.ac(),u.wc());0!=f&&(a.gg(f*r,0),l.Oc(a)),h.oc(l,!0)}c.move(r),++f}}return null!=h?(s=t.ta.gO(s,h),s=t.ta.Er(s),t.$t.lP(i,h,s,n)):i},s.eO=function(t,i,n,h,r){return t>=n&&i<=h?0:s.tE(.5*(i+t),n,h,r)},s.tE=function(i,s,n,h){return t.lc.round((.5*(n+s)-i)/h)*h},s.VQ=function(i,n,h,r,e,o,a,u){var f=s.dv(r,e),c=f.R(),l=c/360,p=s.pE*l,v=i.ub(0),y=n.Wc(),d=y?c/n.Oe().R():0;n=i.Ia();for(var b=0,g=h.da();bp){if(w){var S=j+D-1,O=j;(!M||D+11*l&&(y=!1)}w||(F=G+(z-=t.lc.Cn(c,F-A)),++N,B=0!=z,q.x=F)}else T||t.ta.AG(P,C,q,I)&&(T=!0);B&&k.write(2*D,F),A=F,P.L(C),C.L(q)}0!=N&&x.Pc(1993),w=x.Na(0),m=x.Na(m-1),t.h.tb(w,m),x=s.wQ(x,r,isNaN(e)?0:e,o),n.add(x,!1)}return i=r.Xd(0),h=f.R()/180,s.Jt(n,f,.1*i,!1),t.ri.clip(n,f,i,h,o)},s.wQ=function(t,i,n,h){return s.Fn(t,i,n,!0,0,h)},s.OS=function(i,s,n,h){var r=i.getType();if(1736==r)for(s=null!=s?s.Xd(0):0,r=0;rn)for(var r=new t.Sa,e=0;en)for(var r=new t.Sa,e=0;ethis.Io},i.prototype.fz=function(){if(this.B())throw t.i.fa(\"invalid call\");return new t.Sa(this.Bs.x,this.Bs.y)},i.prototype.Ua=function(){if(this.B())throw t.i.fa(\"invalid call\");return this.Io},i.prototype.hz=function(){if(this.B())throw t.i.fa(\"invalid call\");return this.Ka},i.prototype.Sz=function(){return!!(1&this.nw)},i.prototype.ey=function(t,i,s,n){this.Bs.x=t,this.Bs.y=i,this.Io=s,this.Ka=n},i}();t.$l=s}(Q||(Q={})),function(t){var i=function(){function i(){}return i.prototype.Uo=function(i,s){if(this.th.resize(0),this.Ii.length=0,this.tk=-1,i.xc(this.Ek),this.Ek.W(s,s),this.Ek.isIntersecting(this.Fb.Ca)){var n=i.getType();(this.vs=t.aa.yd(n))?(this.TH=i.ac(),this.SH=i.wc(),this.qa=s):this.qa=NaN,this.th.add(this.Fb.kf),this.Ii.push(this.Fb.Ca),this.Qs=this.Fb.Ur(this.Fb.kf)}else this.Qs=-1},i.prototype.Xi=function(t,i){this.th.resize(0),this.Ii.length=0,this.tk=-1,this.Ek.K(t),this.Ek.W(i,i),this.qa=NaN,this.Ek.isIntersecting(this.Fb.Ca)?(this.th.add(this.Fb.kf),this.Ii.push(this.Fb.Ca),this.Qs=this.Fb.Ur(this.Fb.kf),this.vs=!1):this.Qs=-1},i.prototype.next=function(){if(0==this.th.size)return-1;this.tk=this.Qs;var i=null,n=null,h=null,r=null;this.vs&&(i=new t.h,n=new t.h,h=new t.l);for(var e=!1;!e;){for(;-1!=this.tk;){var o=this.Fb.bz(this.Fb.fv(this.tk));if(o.isIntersecting(this.Ek)){if(!this.vs){e=!0;break}if(i.L(this.TH),n.L(this.SH),h.K(o),h.W(this.qa,this.qa),0a;a++){var u=this.Fb.Lp(o,a);if(-1!=u&&0>h);0==r?(s.v=.5*(s.v+s.C),s.G=.5*(s.G+s.H)):1==r?(s.C=.5*(s.v+s.C),s.G=.5*(s.G+s.H)):(2==r?s.C=.5*(s.v+s.C):s.v=.5*(s.v+s.C),s.H=.5*(s.G+s.H))}return s},s.prototype.WR=function(t){return this.Az(t)},s.prototype.vR=function(t,s){return i.bP(this,t,s)},s.prototype.MF=function(t,s){return i.aP(this,t,s)},s.prototype.getIterator=function(){return i.$O(this)},s.prototype.Nk=function(i,s){if(0>s||32<2*s)throw t.i.N(\"invalid height\");this.BT=s,this.Ca.K(i),this.kf=this.jf.Ce(),this.jx(this.kf,0),this.ax(this.kf,0),this.NJ(this.kf,0),this.KJ(this.kf,0)},s.prototype.zv=function(i,n,h,r,e,o,a){if(!r.contains(n))return 0==h?-1:this.zv(i,n,0,this.Ca,this.kf,o,a);if(!o)for(var u=e;-1!=u;u=this.IR(u))this.jx(u,this.Az(u)+1);(u=new t.l).K(r),r=e;var f=[];for(f[0]=new t.l,f[1]=new t.l,f[2]=new t.l,f[3]=new t.l;hl;l++)if(f[l].contains(n)){c=!0;var p=this.Lp(r,l);-1==p&&(p=this.rP(r,l)),this.jx(p,this.Az(p)+1),r=p,u.K(f[l]);break}if(!c)break}return this.sS(i,n,h,u,r,o,e,a)},s.prototype.sS=function(t,i,s,n,h,r,e,o){var a=this.NF(h);if(r){if(h==e)return o;this.SP(o),r=o}else r=this.tP(),this.NB(r,t),this.KW(this.fv(r),i);return this.mX(r,h),-1!=a?(this.hx(r,a),this.bx(a,r)):this.GJ(h,r),this.SB(h,r),this.ax(h,this.lv(h)+1),this.hO(h)&&this.MQ(s,n,h),r},s.prototype.SP=function(t){var i=this.WF(t),s=this.NF(i),n=this.OR(t),h=this.nv(t);this.Ur(i)==t?(-1!=h?this.hx(h,-1):this.SB(i,-1),this.GJ(i,h)):s==t?(this.bx(n,-1),this.SB(i,n)):(this.hx(h,n),this.bx(n,h)),this.hx(t,-1),this.bx(t,-1),this.ax(i,this.lv(i)-1)},s.EJ=function(t,i){var s=.5*(t.v+t.C),n=.5*(t.G+t.H);i[0].K(s,n,t.C,t.H),i[1].K(t.v,n,s,t.H),i[2].K(t.v,t.G,s,n),i[3].K(s,t.G,t.C,n)},s.prototype.hO=function(t){return 8==this.lv(t)&&!this.gG(t)},s.prototype.MQ=function(t,i,s){var n=this.Ur(s);do{var h=this.fv(n),r=this.Zh.T(n,0);h=this.bz(h),this.zv(r,h,t,i,s,!0,n),n=r=this.nv(n)}while(-1!=n)},s.prototype.iO=function(t){return 8<=this.lv(t)||this.gG(t)},s.prototype.gG=function(t){return-1!=this.Lp(t,0)||-1!=this.Lp(t,1)||-1!=this.Lp(t,2)||-1!=this.Lp(t,3)},s.prototype.rP=function(t,i){var s=this.jf.Ce();return this.OW(t,i,s),this.jx(s,0),this.ax(s,0),this.Pk(s,t),this.KJ(s,this.jv(t)+1),this.NJ(s,i<<2*this.jv(t)|this.QF(t)),s},s.prototype.tP=function(){var i=this.Zh.Ce();if(0>4)]|=this.iH<<2*(15&n)},t}();t.HY=s;var n=function(){function i(t,i,s){this.Vh=null,this.SA=this.Ik=this.cI=this.aI=this.Es=this.qH=this.Gf=this.Um=0,this.Ri=this.Jk=this.vl=null,this.Fz(t,i,s)}return i.create=function(s,n,h){if(!i.zE(s))throw t.i.N();return i.wP(s,n,h)},i.pW=function(i){switch(i){case 0:i=1024;break;case 1:i=16384;break;case 2:i=262144;break;default:throw t.i.fa(\"Internal Error\")}return i},i.zE=function(t){return!(t.B()||1607!=t.getType()&&1736!=t.getType())},i.prototype.rQ=function(i,s){s=s.Ga();for(var n=new t.h,h=new t.h;s.$a();)for(;s.Ha();){var r=s.ha();if(322!=r.getType())throw t.i.fa(\"Internal Error\");i.Eh(r.ac(),n),i.Eh(r.wc(),h),this.Ri.jy(n.x,n.y,h.x,h.y)}this.Ri.iJ(t.Px.Cx)},i.prototype.sQ=function(){throw t.i.fa(\"Internal Error\")},i.prototype.Ry=function(i,s){for(var n=1;4>n;n++)i.jy(s[n-1].x,s[n-1].y,s[n].x,s[n].y);i.jy(s[3].x,s[3].y,s[0].x,s[0].y),this.Ri.iJ(t.Px.Cx)},i.prototype.rK=function(i,s,n){for(var h=[null,null,null,null],r=0;r(v=r.length());0==v?r.ma(1,0):(y||c.L(u),r.scale(n/v),e.ma(-r.y,r.x),o.ma(r.y,-r.x),a.sub(r),u.add(r),h[0].add(a,e),h[1].add(a,o),h[2].add(u,o),h[3].add(u,e),y?l=!0:this.Ry(i,h))}else l&&(this.Ry(i,h),l=!1),p=!0}l&&this.Ry(i,h)}},i.prototype.sC=function(i){return t.O.truncate(i*this.qH+this.aI)},i.prototype.tC=function(i){return t.O.truncate(i*this.Es+this.cI)},i.wP=function(t,s,n){return new i(t,s,n)},i.prototype.Fz=function(i,n,h){this.Gf=Math.max(t.O.truncate(2*Math.sqrt(h)+.5),64),this.Um=t.O.truncate((2*this.Gf+31)/32),this.vl=new t.l,this.Ik=n,h=0;for(var r=this.Gf,e=this.Um;8<=r;)h+=r*e,r=t.O.truncate(r/2),e=t.O.truncate((2*r+31)/32);this.Vh=t.O.lg(h,0),this.Ri=new t.Px,h=new s(this.Vh,this.Um,this),this.Ri.AX(this.Gf,this.Gf,h),i.A(this.vl),this.vl.W(n,n),r=new t.l;var o=n*(e=t.l.construct(1,1,this.Gf-2,this.Gf-2)).R();switch(n*=e.ca(),r.K(this.vl.sf(),Math.max(o,this.vl.R()),Math.max(n,this.vl.ca())),this.SA=this.Ik,this.Jk=new t.Dd,this.Jk.pS(r,e),new t.Dd,i.getType()){case 550:h.setColor(this.Ri,2),this.sQ();break;case 1607:h.setColor(this.Ri,2),this.rK(this.Ri,i,this.SA);break;case 1736:h.setColor(this.Ri,1),this.rQ(this.Jk,i),h.setColor(this.Ri,2),this.rK(this.Ri,i,this.SA)}this.qH=this.Jk.bb,this.Es=this.Jk.ab,this.aI=this.Jk.Gb,this.cI=this.Jk.Lb,this.XN()},i.prototype.XN=function(){this.Ri.flush();for(var i=0,s=this.Gf*this.Um,n=this.Gf,h=t.O.truncate(this.Gf/2),r=this.Um,e=t.O.truncate((2*h+31)/32);8>4;f=2*(15&f);var p=c>>4;c=2*(15&c);var v=this.Vh[i+r*o+l]>>f&3;v|=this.Vh[i+r*o+p]>>c&3,v|=this.Vh[i+r*a+l]>>f&3,v|=this.Vh[i+r*a+p]>>c&3,this.Vh[s+e*n+(u>>4)]|=v<<2*(15&u)}n=h,r=e,i=s,h=t.O.truncate(n/2),e=t.O.truncate((2*h+31)/32),s=i+r*n}},i.prototype.So=function(t,i){return this.vl.contains(t,i)?(t=this.sC(t),i=this.tC(i),0>t||t>=this.Gf||0>i||i>=this.Gf||0==(i=this.Vh[this.Um*i+(t>>4)]>>2*(15&t)&3)?0:1==i?1:2):0},i.prototype.Ro=function(i){if(!i.Ea(this.vl))return 0;var s=this.sC(i.v),n=this.sC(i.C),h=this.tC(i.G);if(i=this.tC(i.H),0>s&&(s=0),0>h&&(h=0),n>=this.Gf&&(n=this.Gf-1),i>=this.Gf&&(i=this.Gf-1),s>n||h>i)return 0;for(var r=Math.max(n-s,1)*Math.max(i-h,1),e=0,o=this.Um,a=this.Gf,u=0;;){if(32>r||16>a){for(r=h;r<=i;r++)for(var f=s;f<=n;f++)if(1<(u=this.Vh[e+o*r+(f>>4)]>>2*(15&f)&3))return 2;if(0==u)return 0;if(1==u)return 1}e+=o*a,a=t.O.truncate(a/2),o=t.O.truncate((2*a+31)/32),s=t.O.truncate(s/2),h=t.O.truncate(h/2),n=t.O.truncate(n/2),i=t.O.truncate(i/2),r=Math.max(n-s,1)*Math.max(i-h,1)}},i.prototype.RR=function(){return this.Gf*this.Um},i}();t.Nx=n}(Q||(Q={})),function(t){var i;(i=t.VL||(t.VL={}))[i.contains=1]=\"contains\",i[i.within=2]=\"within\",i[i.equals=3]=\"equals\",i[i.disjoint=4]=\"disjoint\",i[i.touches=8]=\"touches\",i[i.crosses=16]=\"crosses\",i[i.overlaps=32]=\"overlaps\",i[i.unknown=0]=\"unknown\",i[i.intersects=1073741824]=\"intersects\";var s=function(){function t(){}return t.construct=function(i,s,n,h,r,e,o,a){var u=new t;return u.pw=i,u.Mm=s,u.Kj=n,u.Si=h,u.BH=r,u.SY=e,u.TY=o,u.UY=a,u},t}();t.Vt=function(){function i(){}return i.CD=function(s,n,h){if(i.wy(s)){var r=t.ta.kj(n,s,!1);n=!1,t.Uk.CE(s)&&(n=n||s.lu(r,h)),1736!=(r=s.getType())&&1607!=r||!t.Uk.AE(s)||0==h||(n=n||s.fj(h)),1736!=r&&1607!=r||!t.Uk.BE(s)||0==h||n||s.hM()}},i.wy=function(i){return t.Uk.CE(i)||t.Uk.AE(i)||t.Uk.BE(i)},i}();var n=function(){function i(){this.rh=[]}return i.zB=function(s,n,h,r,e){var o=s.getType(),a=n.getType();if(197==o){if(197==a)return i.tW(s,n,h,r);if(33==a)return 2==r?r=1:1==r&&(r=2),i.hJ(n,s,h,r)}else if(33==o){if(197==a)return i.hJ(s,n,h,r);if(33==a)return i.vW(s,n,h,r)}if(s.B()||n.B())return 4==r;var u=new t.l;s.A(u);var f=new t.l;n.A(f);var c=new t.l;if(c.K(u),c.Zb(f),h=t.ta.Wd(h,c,!1),i.dk(u,f,h))return 4==r;switch(u=!1,t.Vk.yd(o)&&((o=new t.Ta(s.description)).oc(s,!0),s=o,o=1607),t.Vk.yd(a)&&((a=new t.Ta(n.description)).oc(n,!0),n=a,a=1607),197!=o&&197!=a?(s.Db()4*Math.max(s.I(),n.I())*h)&&i.Wz(s,n,h,!0))))},i.kV=function(t,s,n){var h=i.qc(t,s,!0);return 4==h||1!=h&&2!=h&&1073741824!=h&&i.EI(t,s,n)},i.vV=function(t,s,n){var h=i.qc(t,s,!1);return 4!=h&&1!=h&&2!=h&&i.II(t,s,n,null)},i.qV=function(t,s,n,h){var r=i.qc(t,s,!1);return 4!=r&&1!=r&&2!=r&&i.FI(t,s,n,h)},i.Sw=function(s,n,h,r){var e=new t.l,o=new t.l;return s.A(e),n.A(o),!!i.zc(e,o,h)&&(4!=(e=i.qc(s,n,!1))&&2!=e&&(1==e||i.BI(s,n,h,r)))},i.lV=function(t,s,n){var h=i.qc(t,s,!0);return 4==h||1!=h&&1073741824!=h&&i.EI(t,s,n)},i.wV=function(t,s,n,h){var r=i.qc(t,s,!1);return 4!=r&&1!=r&&i.JI(t,s,n,h)},i.gV=function(t,s,n){var h=i.qc(t,s,!1);return 4!=h&&1!=h&&i.DI(t,s,n,null)},i.fB=function(s,n,h,r){var e=new t.l,o=new t.l;return s.A(e),n.A(o),!!i.zc(e,o,h)&&(4!=(e=i.qc(s,n,!1))&&(1==e||i.CI(s,n,h,r)))},i.jV=function(i,s,n){return 0==t.hd.KG(i,s,n)},i.uV=function(t,s,n){return s=s.D(),i.HI(t,s,n)},i.dV=function(t,s,n){return s=s.D(),i.AI(t,s,n)},i.iV=function(s,n,h){var r=i.qc(s,n,!1);if(4==r)return!0;if(1==r)return!1;r=new t.l,s.A(r),r.W(h,h);for(var e=new t.h,o=0;oh&&o.R()>h||o.ca()<=h&&o.R()<=h)&&(e=new t.Ta,o=new t.Sa,n.Hf(0,o),e.nf(o),n.Hf(2,o),e.lineTo(o),i.DI(s,e,h,r))},i.IV=function(s,n,h){var r=new t.l,e=new t.l;return s.A(r),n.A(e),!(!i.ek(r,e,h)||4==i.qc(s,n,!1))&&(!!i.dI(s,n,h)||i.Wz(s,n,h,!1))},i.GV=function(i,s,n){return 4==this.qc(i,s,!1)||!!new t.Zl(i,s,n,!0).next()&&!this.UG(i,s,n)},i.NI=function(s,n,h){if(4==i.qc(s,n,!1))return!1;var r=new t.be(0);if(0!=i.Xz(s,n,h,r))return!1;for(var e=new t.de,o=0;oh&&e.R()>h)&&i.ek(r,e,h)},i.DV=function(s,n,h){var r=new t.l,e=new t.l;return s.A(r),n.A(e),!i.zc(e,r,h)&&!i.TG(s,e,h)},i.OV=function(s,n,h){var r=new t.l,e=new t.l;if(s.A(r),n.A(e),e.ca()<=h&&e.R()<=h)return e=n.Ip(),i.Zz(s,e,h);if(e.ca()<=h||e.R()<=h)return e=new t.Ta,r=new t.Sa,n.Hf(0,r),e.nf(r),n.Hf(2,r),e.lineTo(r),i.NI(s,e,h);s=s.Ga(),n=new t.l,r=new t.l,n.K(e),r.K(e),n.W(-h,-h),r.W(h,h),e=!1;for(var o=new t.l,a=new t.l;s.$a();)for(;s.Ha();){if(s.ha().A(o),a.K(n),a.Ea(o),!a.B()&&(a.ca()>h||a.R()>h))return!1;a.K(r),a.Ea(o),a.B()||(e=!0)}return e},i.LV=function(s,n,h){var r=new t.l,e=new t.l;return s.A(r),n.A(e),!(i.zc(r,e,h)||i.zc(e,r,h)||i.zc(e,r,h)||e.ca()>h&&e.R()>h||e.ca()<=h&&e.R()<=h)&&(r=new t.Ta,e=new t.Sa,n.Hf(0,e),r.nf(e),n.Hf(2,e),r.lineTo(e),i.WG(s,r,h))},i.RV=function(s,n,h){var r=new t.l,e=new t.l;if(s.A(r),n.A(e),!i.zc(e,r,h)||e.ca()<=h&&e.R()<=h)return!1;if(e.ca()<=h||e.R()<=h)return i.zc(e,r,h);s=s.Ga(),(n=new t.l).K(e),n.W(-h,-h),e=!1,r=new t.l;for(var o=new t.l;s.$a();)for(;s.Ha();)s.ha().A(r),n.hm(r)?e=!0:(o.K(n),o.Ea(r),!o.B()&&(o.ca()>h||o.R()>h)&&(e=!0));return e},i.yV=function(s,n,h){var r=new t.l,e=new t.l;return n.A(e),s.A(r),!(!i.zc(r,e,h)||e.ca()>h&&e.R()>h)&&(e.ca()<=h&&e.R()<=h?(n=n.Ip(),i.SG(s,n,h)):(r=new t.Ta,e=new t.Sa,n.Hf(0,e),r.nf(e),n.Hf(2,e),r.lineTo(e),i.ym(r,s,h,!1)))},i.BV=function(s,n,h){var r=new t.l,e=new t.l;if(s.A(r),n.A(e),i.zc(e,r,h)||e.ca()<=h&&e.R()<=h)return!1;if(e.ca()<=h||e.R()<=h)return r=new t.Ta,e=new t.Sa,n.Hf(0,e),r.nf(e),n.Hf(2,e),r.lineTo(e),i.LI(s,r,h);s=s.Ga(),n=new t.l,(r=new t.l).K(e),n.K(e),r.W(-h,-h),n.W(h,h);for(var o=e=!1,a=new t.l,u=new t.l;s.$a();)for(;s.Ha();)if(s.ha().A(a),o||n.contains(a)||(o=!0),e||(u.K(r),u.Ea(a),!u.B()&&(u.ca()>h||u.R()>h)&&(e=!0)),e&&o)return!0;return!1},i.iU=function(s,n,h){var r=new t.l,e=new t.l;return s.A(r),n.A(e),!!i.ek(r,e,h)&&(!!i.jU(s,n,h)||i.YA(s,n,h,!1,!0,!1))},i.gU=function(t,s,n){return!i.gI(t,s,n)},i.oU=function(t,s,n){return i.YA(t,s,n,!1,!1,!0)},i.eI=function(s,n,h){var r=new t.l,e=new t.l;return s.A(r),n.A(e),!!i.zc(r,e,h)&&i.YA(n,s,h,!0,!1,!1)},i.Mw=function(i,s,n){n*=n;for(var h=new t.h,r=new t.h,e=0;eh||e.R()>h)&&i.ek(r,e,h)},i.fU=function(s,n,h){var r=new t.l,e=new t.l;if(s.A(r),n.A(e),i.zc(e,r,h))return!1;for((n=new t.l).K(e),n.W(h,h),h=new t.h,e=0;en?e.W(0,-n):e.W(-n,0);for(var a=0;an){if(s.y>e.G&&s.ye.v&&s.xh?r.W(0,-h):r.W(-h,0),o.W(h,h);for(var a=new t.h,u=0;uh?a.y>r.G&&a.yr.v&&a.xh||e.R()>h)&&(n=n.Ip(),!i.kt(s,n,h))},i.eU=function(s,n,h){var r=new t.l,e=new t.l;if(s.A(r),n.A(e),i.zc(e,r,h)||e.ca()<=h&&e.R()<=h)return!1;if(e.ca()<=h||e.R()<=h){n=new t.l,r=new t.l,n.K(e),e.ca()>h?n.W(0,-h):n.W(-h,0),r.K(e),r.W(h,h);for(var o=new t.h,a=!1,u=!1,f=0;fh?o.y>n.G&&o.yn.v&&o.xn*n},i.uI=function(t,s,n){return i.wI(t,s,n)},i.vI=function(s,n,h){var r=new t.l;return r.K(s),i.ek(r,n,h)},i.Rw=function(i,s,n){var h=new t.l;return h.K(s),h.W(n,n),!h.contains(i)},i.dB=function(i,s,n){if(s.ca()<=n&&s.R()<=n)return!1;var h=new t.l,r=new t.l;if(h.K(s),h.W(n,n),!h.contains(i))return!1;if(s.ca()<=n||s.R()<=n){if(r.K(s),s.ca()>n?r.W(0,-n):r.W(-n,0),s.ca()>n){if(i.y>r.G&&i.yr.v&&i.xn?h.W(0,-n):h.W(-n,0);var r=!1;return s.ca()>n?i.y>h.G&&i.yh.v&&i.xh&&s.R()>h&&(n.ca()<=h||n.R()<=h)?r=n:(r=s,s=n),r.ca()<=h||r.R()<=h){if(s.ca()<=h||s.R()<=h){n=new t.yb;var e=new t.yb,o=[0,0],a=[0,0],u=new t.h;return r.dn(u),n.Dc(u),r.en(u),n.Qc(u),s.dn(u),e.Dc(u),s.en(u),e.Qc(u),n.Ea(e,null,o,a,h),1==n.Ea(e,null,null,null,h)&&(0==o[0]||1==o[1]||0==a[0]||1==a[1])}return n=new t.l,e=new t.l,n.K(s),n.W(-h,-h),e.K(n),e.Ea(r),!(!e.B()&&(e.ca()>h||e.R()>h))}return s.W(h,h),(e=new t.l).K(r),e.Ea(s),!(e.B()||!e.B()&&e.ca()>h&&e.R()>h)},i.bQ=function(s,n,h){if(i.zc(s,n,h)||i.zc(n,s,h)||s.ca()<=h&&s.R()<=h||n.ca()<=h&&n.R()<=h)return!1;if(s.ca()<=h||s.R()<=h){if(n.ca()>h&&n.R()>h)return!1;var r=new t.yb,e=new t.yb,o=[0,0],a=[0,0],u=new t.h;return s.dn(u),r.Dc(u),s.en(u),r.Qc(u),n.dn(u),e.Dc(u),n.en(u),e.Qc(u),r.Ea(e,null,o,a,h),2==r.Ea(e,null,null,null,h)&&((0o[1])&&(0a[1]))}return!(n.ca()<=h||n.R()<=h)&&((r=new t.l).K(s),r.Ea(n),!(r.B()||r.ca()<=h||r.R()<=h))},i.jF=function(s,n,h){if(!i.zc(s,n,h))return!1;if(s.ca()<=h&&s.R()<=h)return s=s.sf(),i.eB(s,n,h);if(n.ca()<=h&&n.R()<=h)return n=n.sf(),i.eB(n,s,h);if(s.ca()<=h||s.R()<=h)return i.zc(s,n,h);if(n.ca()<=h||n.R()<=h){var r=new t.l;return r.K(s),r.W(-h,-h),r.hm(n)?!0:((s=new t.l).K(r),s.Ea(n),!(s.B()||s.ca()<=h&&s.R()<=h))}return i.zc(s,n,h)},i.aQ=function(s,n,h){if(i.zc(s,n,h)||i.zc(n,s,h)||s.ca()<=h&&s.R()<=h||n.ca()<=h&&n.R()<=h||n.ca()>h&&n.R()>h&&s.ca()>h&&s.R()>h)return!1;if(s.ca()>h&&s.R()>h)var r=n;else r=s,s=n;if(s.ca()>h&&s.R()>h){n=new t.l;var e=new t.l;return e.K(s),e.W(-h,-h),n.K(e),n.Ea(r),!(n.B()||n.ca()<=h&&n.R()<=h)}n=new t.yb,e=new t.yb;var o=[0,0],a=[0,0],u=new t.h;return r.dn(u),n.Dc(u),r.en(u),n.Qc(u),s.dn(u),e.Dc(u),s.en(u),e.Qc(u),n.Ea(e,null,o,a,h),1==n.Ea(e,null,null,null,h)&&(0o[1]&&0a[1])},i.EI=function(i,s,n){var h=new t.l,r=new t.l,e=new t.Zl(i,s,n,!0);if(!e.next())return!0;if(this.UG(i,s,n))return!1;var o=i,a=null;1736==s.getType()&&(a=s);var u=!1,f=!1;do{var c=e.nl(),l=e.hl();if(l=s.Na(s.Ba(l)),h.K(e.uz()),h.W(n,n),h.contains(l)&&0!=(l=t.hd.Yd(o,l,0))||1736==s.getType()&&(c=i.Na(i.Ba(c)),r.K(e.az()),r.W(n,n),r.contains(c)&&0!=(l=t.hd.Yd(a,c,0))))return!1;u||(!t.Dg.Ml(i,s.da()-1)||null!=i.Bb&&null!=i.Bb.Fb?o=i:(o=new t.Da,i.copyTo(o),o.fj(1)),u=!0),1736!=s.getType()||f||(f=s,!t.Dg.Ml(f,i.da()-1)||null!=s.Bb&&null!=s.Bb.Fb?a=s:(a=new t.Da,f.copyTo(a),a.fj(1)),f=!0)}while(e.next());return!0},i.zc=function(i,s,n){var h=new t.l;return h.K(i),h.W(n,n),h.contains(s)},i.ls=function(i,s,n){var h=new t.l;return h.K(s),h.W(n,n),s=new t.h,i.dn(s),!h.contains(s)||(i.$I(s),!h.contains(s)||(i.cJ(s),!h.contains(s)||(i.en(s),!h.contains(s))))},i.dI=function(i,s,n){if(i.da()!=s.da()||i.I()!=s.I())return!1;var h=new t.h,r=new t.h,e=!0;n*=n;for(var o=0;on){e=!1;break}if(!e)break}return!!e},i.jU=function(i,s,n){if(i.I()!=s.I())return!1;var h=new t.h,r=new t.h,e=!0;n*=n;for(var o=0;on){e=!1;break}return!!e},i.YA=function(i,s,n,h,r,e){var o=!1;if(i.I()>s.I()){h&&(h=!1,o=!0);var a=s}else a=i,i=s;if(s=null,r||e||o){s=new t.pn(i.I());for(var u=0;us.I())var h=s;else h=i,i=s;s=new t.l;var r=new t.l,e=new t.l;h.A(s),i.A(r),s.W(n,n),r.W(n,n),e.K(s),e.Ea(r),r=new t.h;for(var o=new t.h,a=n*n,u=t.ta.oE(i,e),f=u.getIterator(),c=0;cr)return!1;if(w*(1-(m=a.Si))<=r||1==m)break}if(w*(1-m)>r)return!1;l=0,p.resize(0),v.rh.length=0}}return u},i.WG=function(s,n,h){if(1>i.Xz(s,n,h,null))return!1;var r=new t.l,e=new t.l;s.A(r),n.A(e);var o=i.ls(r,e,h);return r=i.ls(e,r,h),!(!o||!r)||(o&&!r?!i.ym(n,s,h,!1):r&&!o?!i.ym(s,n,h,!1):!i.ym(s,n,h,!1)&&!i.ym(n,s,h,!1))},i.Xz=function(n,h,r,e){function o(t,i){return y.QE(t,i)}if(n.yz()>h.yz())var a=h,u=n;else a=n,u=h;n=a.Ga(),h=u.Ga();var f=[0,0],c=[0,0],l=-1,p=0,v=new t.ia(0),y=new i,d=new t.l,b=new t.l,g=new t.l;a.A(d),u.A(b),d.W(r,r),b.W(r,r),g.K(d),g.Ea(b),a=null,null!=e&&(a=new t.h);var w=b=b=null,x=u.Bb;for(null!=x?(b=x.Fb,w=x.zo,null==b&&(b=t.ta.jj(u,g))):b=t.ta.jj(u,g),u=b.getIterator(),x=null,null!=w&&(x=w.getIterator());n.$a();)for(w=0;n.Ha();){var m=n.ha();if(m.A(d),d.isIntersecting(g)){if(null!=x&&(x.Xi(d,r),-1==x.next()))continue;var j=m.Qb();u.Uo(m,r);for(var M=u.next();-1!=M;M=u.next()){var k=b.ja(M);h.Vb(k);var z=h.ha(),A=z.Qb(),N=m.Ea(z,null,f,c,r);if(0r)return 1;var P=j*(I-M);if(h.Ha()){if(z=h.ha(),2==(N=m.Ea(z,null,f,null,r))){N=f[0];var C=f[1];if(P+(N=j*(C-N))>r)return 1}h.Vb(k),h.ha()}if(!h.vm()){if(h.li(),z=h.li(),2==(N=m.Ea(z,null,f,null,r))&&(N=f[0],P+(N=j*((C=f[1])-N))>r))return 1;h.Vb(k),h.ha()}if(n.Ha()){if(k=n.wb(),2==(N=(m=n.ha()).Ea(z,null,f,null,r))&&(N=f[0],P+(N=j*((C=f[1])-N))>r))return 1;n.Vb(k),n.ha()}if(!n.vm()){if(k=n.wb(),n.li(),2==(N=(m=n.li()).Ea(z,null,f,null,r))&&(N=f[0],P+(N=A*((C=f[1])-N))>r))return 1;n.Vb(k),n.ha()}z=s.construct(n.wb(),n.gb,M,I,h.wb(),h.gb,l,T),y.rh.push(z),v.add(v.size)}l=0,null!=e&&(m.hc(M,a),e.add(a.x),e.add(a.y))}}if(pr)w=j*(z.Si-z.Kj),m=z.Si,M=z.Mm;else{if(z.Mm!=M?(w=j*(z.Si-z.Kj),M=z.Mm):w+=j*(z.Si-z.Kj),w>r)return 1;if(1==(m=z.Si))break}j*(1-m)>r&&(w=0),p=0,v.resize(0),y.rh.length=0}}}return l},i.UG=function(i,s,n){var h=i.Ga(),r=s.Ga();for(i=new t.Zl(i,s,n,!1);i.next();){s=i.nl();var e=i.hl();if(h.Vb(s),r.Vb(e),s=h.ha(),0n)return!1;c=!0}else if(0!=p){if(c=a[0],l=u[0],0c&&0l)return!1;c=!0}}return!!c&&(e=new t.l,o=new t.l,r=new t.l,i.A(e),s.A(o),e.W(1e3*n,1e3*n),o.W(1e3*n,1e3*n),r.K(e),r.Ea(o),!(10h&&(f=!0,c&&l))return!0}else if(0!=g&&(g=y[0],w=d[0],0g&&0w))return!0}if(e=new t.l,p=new t.l,e.K(o),e.W(1e3*h,1e3*h),p.K(a),p.W(1e3*h,1e3*h),u.K(e),u.Ea(p),o=\"\",o=f?o+\"**\":o+\"T*\",c){if(10c&&0l)))return h[0]=!0,!1}if(!f){for(h[0]=!0,o=new t.l,i.A(o),o.W(n,n),u=i,f=!1,a=new t.l,h=0,r=s.da();hf&&0c)return!1;f=!0}}return!!f&&(e=new t.l,o=new t.l,r=new t.l,i.A(e),s.A(o),e.W(1e3*n,1e3*n),o.W(1e3*n,1e3*n),r.K(e),r.Ea(o),!(10c&&0l)return!0;c=!0}}return!!c&&(o=new t.l,a=new t.l,u=new t.l,f=new t.l,e=new t.l,s.A(o),n.A(a),i.ls(a,o,h)?(u.K(o),u.W(1e3*h,1e3*h),f.K(a),f.W(1e3*h,1e3*h),e.K(u),e.Ea(f),!(10e;e++){var o=h.charAt(e);if(\"*\"!=o&&\"T\"!=o&&\"F\"!=o&&\"0\"!=o&&\"1\"!=o&&\"2\"!=o)throw t.i.fa(\"relation string\")}if(0!=(e=this.MR(h,i.Db(),s.Db())))return t.ud.zB(i,s,n,e,r);e=new t.l,i.A(e),o=new t.l,s.A(o);var a=new t.l;if(a.K(e),a.Zb(o),n=t.ta.Wd(n,a,!1),i=this.WE(i,n),s=this.WE(s,n),i.B()||s.B())return this.uW(i,s,h);switch(e=i.getType(),o=s.getType(),a=!1,e){case 1736:switch(o){case 1736:a=this.rt(i,s,n,h,r);break;case 1607:a=this.$m(i,s,n,h,r);break;case 33:a=this.qt(i,s,n,h);break;case 550:a=this.pt(i,s,n,h,r)}break;case 1607:switch(o){case 1736:a=this.$m(s,i,n,this.Zp(h),r);break;case 1607:a=this.gB(i,s,n,h,r);break;case 33:a=this.tt(i,s,n,h,r);break;case 550:a=this.st(i,s,n,h,r)}break;case 33:switch(o){case 1736:a=this.qt(s,i,n,this.Zp(h));break;case 1607:a=this.tt(s,i,n,this.Zp(h),r);break;case 33:a=this.$U(i,s,n,h);break;case 550:a=this.lt(s,i,n,this.Zp(h))}break;case 550:switch(o){case 1736:a=this.pt(s,i,n,this.Zp(h),r);break;case 1607:a=this.st(s,i,n,this.Zp(h),r);break;case 550:a=this.ZA(i,s,n,h,r);break;case 33:a=this.lt(i,s,n,h)}break;default:a=!1}return a},i.rt=function(s,n,h,r,e){var o=new i;o.Yi(),o.bj(r),o.xJ();var a=new t.l,u=new t.l;return s.A(a),n.A(u),r=!1,t.ud.dk(a,u,h)&&(o.Cu(s,n),r=!0),r||(4==(a=t.ud.qc(s,n,!1))?(o.Cu(s,n),r=!0):1==a?(o.ly(n),r=!0):2==a&&(o.ZD(s),r=!0)),r||(s=(r=new t.gd).Ib(s),n=r.Ib(n),o.Wo(r,h,e),o.Bp(s,n),o.j.Ug()),i.fg(o.J,o.Xc)},i.Sw=function(s,n,h,r){var e=new i;e.Yi(),e.bj(\"T*****F**\"),e.xJ();var o=new t.l,a=new t.l;s.A(o),n.A(a);var u=!1;return t.ud.dk(o,a,h)&&(e.Cu(s,n),u=!0),u||(4==(o=t.ud.qc(s,n,!1))?(e.Cu(s,n),u=!0):1==o?(e.ly(n),u=!0):2==o&&(e.ZD(s),u=!0)),u?this.fg(e.J,e.Xc):(s=(u=new t.gd).Ib(s),o=u.Ib(n),t.Tk.V(u,h,r,!1),h=u.Ne(o).mg(),u.Gp(0,!0,!0),t.rn.V(u,s,-1,!1,r),0!=u.I(s)&&(t.rn.V(u,o,-1,!1,r),e.er(u,r),(n=0==u.I(o))||(e.Bp(s,o),e.j.Ug(),o=this.fg(e.J,e.Xc))?(s=u.Ne(s),s=(u=new t.gd).Ib(s),o=u.Ib(h),e.er(u,r),e.le=0,e.Yi(),e.bj(n?\"T*****F**\":\"******F**\"),e.IB(),e.Bp(s,o),e.j.Ug(),this.fg(e.J,e.Xc)):o))},i.$m=function(s,n,h,r,e){var o=new i;o.Yi(),o.bj(r),o.IB();var a=new t.l,u=new t.l;return s.A(a),n.A(u),r=!1,t.ud.dk(a,u,h)&&(o.Du(s,n),r=!0),r||(4==(a=t.ud.qc(s,n,!1))?(o.Du(s,n),r=!0):1==a&&(o.$D(n),r=!0)),r||(s=(r=new t.gd).Ib(s),n=r.Ib(n),o.Wo(r,h,e),o.kh=o.j.Dp(),i.Jw(n,o.j,o.kh),o.Bp(s,n),o.j.Ep(o.kh),o.j.Ug()),i.fg(o.J,o.Xc)},i.fB=function(s,n,h,r){var e=new i;e.Yi(),e.bj(\"T*****F**\"),e.IB();var o=new t.l,a=new t.l;s.A(o),n.A(a);var u=!1;return t.ud.dk(o,a,h)&&(e.Du(s,n),u=!0),u||(4==(o=t.ud.qc(s,n,!1))?(e.Du(s,n),u=!0):1==o&&(e.$D(n),u=!0)),u?this.fg(e.J,e.Xc):(s=(u=new t.gd).Ib(s),n=u.Ib(n),e.Wo(u,h,r),0!=u.I(s)&&(e.Bp(s,n),e.j.Ug(),this.fg(e.J,e.Xc)))},i.pt=function(s,n,h,r,e){var o=new i;o.Yi(),o.bj(r),o.yJ();var a=new t.l,u=new t.l;return s.A(a),n.A(u),r=!1,t.ud.dk(a,u,h)&&(o.Eu(s),r=!0),r||(4==(a=t.ud.qc(s,n,!1))?(o.Eu(s),r=!0):1==a&&(o.zN(),r=!0)),r||(s=(r=new t.gd).Ib(s),n=r.Ib(n),o.Wo(r,h,e),o.Gy(s,n),o.j.Ug()),i.fg(o.J,o.Xc)},i.gB=function(s,n,h,r,e){var o=new i;o.Yi(),o.bj(r),o.eX(),r=new t.l;var a=new t.l;s.A(r),n.A(a);var u=!1;return t.ud.dk(r,a,h)&&(o.PG(s,n),u=!0),u||4!=t.ud.qc(s,n,!1)||(o.PG(s,n),u=!0),u||(s=(r=new t.gd).Ib(s),n=r.Ib(n),o.Wo(r,h,e),o.Yh=o.j.Dp(),o.kh=o.j.Dp(),i.Jw(s,o.j,o.Yh),i.Jw(n,o.j,o.kh),o.Bp(s,n),o.j.Ep(o.Yh),o.j.Ep(o.kh),o.j.Ug()),i.fg(o.J,o.Xc)},i.st=function(s,n,h,r,e){var o=new i;o.Yi(),o.bj(r),o.MJ(),r=new t.l;var a=new t.l;s.A(r),n.A(a);var u=!1;return t.ud.dk(r,a,h)&&(o.Vz(s),u=!0),u||4!=t.ud.qc(s,n,!1)||(o.Vz(s),u=!0),u||(s=(r=new t.gd).Ib(s),n=r.Ib(n),o.Wo(r,h,e),o.Yh=o.j.Dp(),i.Jw(s,o.j,o.Yh),o.Gy(s,n),o.j.Ep(o.Yh),o.j.Ug()),i.fg(o.J,o.Xc)},i.ZA=function(s,n,h,r,e){var o=new i;o.Yi(),o.bj(r),o.RJ(),r=new t.l;var a=new t.l;s.A(r),n.A(a);var u=!1;return t.ud.dk(r,a,h)&&(o.yI(),u=!0),u||(s=(r=new t.gd).Ib(s),n=r.Ib(n),o.Wo(r,h,e),o.Gy(s,n),o.j.Ug()),i.fg(o.J,o.Xc)},i.qt=function(s,n,h,r){var e=new i;e.Yi(),e.bj(r),e.yJ();var o=new t.l;s.A(o),n=n.D();var a=!1;return t.ud.Rw(n,o,h)&&(e.Eu(s),a=!0),a||(1==(h=t.hd.Yd(s,n,h))?(e.J[0]=0,e.J[2]=2,e.J[3]=-1,e.J[5]=1,e.J[6]=-1):2==h?(e.J[6]=-1,0!=s.Ke()?(e.J[0]=-1,e.J[3]=0,e.J[2]=2,e.J[5]=1):(e.J[0]=0,e.J[3]=-1,e.J[5]=-1,h=new t.l,s.A(h),e.J[2]=0==h.ca()&&0==h.R()?-1:1)):e.Eu(s)),this.fg(e.J,r)},i.tt=function(s,n,h,r,e){var o=new i;o.Yi(),o.bj(r),o.MJ();var a=new t.l;s.A(a),r=n.D();var u=!1;if(t.ud.Rw(r,a,h)&&(o.Vz(s),u=!0),!u){a=null;var f=u=!1;(o.ea[0]||o.ea[6])&&(t.ud.Yz(s,r,h)?(o.ea[0]&&(a=t.pi.gm(s,e),f=!t.ud.kt(a,r,h),u=!0,o.J[0]=f?-1:0),o.J[6]=-1):(o.J[0]=-1,o.J[6]=0)),o.ea[3]&&(null!=a&&a.B()?o.J[3]=-1:(u||(null==a&&(a=t.pi.gm(s,e)),f=!t.ud.kt(a,r,h),u=!0),o.J[3]=f?0:-1)),o.ea[5]&&(null!=a&&a.B()?o.J[5]=-1:u&&!f?o.J[5]=0:(null==a&&(a=t.pi.gm(s,e)),e=t.ud.Nw(a,n,h),o.J[5]=e?-1:0)),o.ea[2]&&(0!=s.Qb()?o.J[2]=1:((e=new t.de(s.description)).Fd(s,0,s.I()),s=t.ud.Nw(e,n,h),o.J[2]=s?-1:0))}return this.fg(o.J,o.Xc)},i.lt=function(s,n,h,r){var e=new i;e.Yi(),e.bj(r),e.RJ();var o=new t.l;s.A(o),n=n.D();var a=!1;if(t.ud.Rw(n,o,h)&&(e.yI(),a=!0),!a){o=!1,a=!0,h*=h;for(var u=0;uo;o++)e[o]=-1;return t.h.yc(s,n)<=h*h?e[0]=0:(e[2]=0,e[6]=0),e[8]=2,i.fg(e,r)},i.fg=function(t,i){for(var s=0;9>s;s++)switch(i.charAt(s)){case\"T\":if(-1==t[s])return!1;break;case\"F\":if(-1!=t[s])return!1;break;case\"0\":if(0!=t[s])return!1;break;case\"1\":if(1!=t[s])return!1;break;case\"2\":if(2!=t[s])return!1}return!0},i.uW=function(i,s,n){var h=[-1,-1,-1,-1,-1,-1,-1,-1,-1];if(i.B()&&s.B()){for(var r=0;9>r;r++)h[r]=-1;return this.fg(h,n)}return r=!1,i.B()&&(i=s,r=!0),h[0]=-1,h[1]=-1,h[3]=-1,h[4]=-1,h[6]=-1,h[7]=-1,h[8]=2,s=i.getType(),t.aa.Hc(s)?1736==s?0!=i.Ke()?(h[2]=2,h[5]=1):(h[5]=-1,s=new t.l,i.A(s),h[2]=0==s.ca()&&0==s.R()?0:1):(s=0!=i.Qb(),h[2]=s?1:0,h[5]=t.pi.aq(i)?0:-1):(h[2]=0,h[5]=-1),r&&this.vK(h),this.fg(h,n)},i.MR=function(t,s,n){return i.dQ(t)?3:i.UP(t)?4:i.cY(t,s,n)?8:i.CP(t,s,n)?16:i.eP(t)?1:i.EU(t,s,n)?32:0},i.dQ=function(t){return\"T\"==t.charAt(0)&&\"*\"==t.charAt(1)&&\"F\"==t.charAt(2)&&\"*\"==t.charAt(3)&&\"*\"==t.charAt(4)&&\"F\"==t.charAt(5)&&\"F\"==t.charAt(6)&&\"F\"==t.charAt(7)&&\"*\"==t.charAt(8)},i.UP=function(t){return\"F\"==t.charAt(0)&&\"F\"==t.charAt(1)&&\"*\"==t.charAt(2)&&\"F\"==t.charAt(3)&&\"F\"==t.charAt(4)&&\"*\"==t.charAt(5)&&\"*\"==t.charAt(6)&&\"*\"==t.charAt(7)&&\"*\"==t.charAt(8)},i.cY=function(t,i,s){return(0!=i||0!=s)&&((2!=i||2!=s)&&(\"F\"==t.charAt(0)&&\"*\"==t.charAt(1)&&\"*\"==t.charAt(2)&&\"T\"==t.charAt(3)&&\"*\"==t.charAt(4)&&\"*\"==t.charAt(5)&&\"*\"==t.charAt(6)&&\"*\"==t.charAt(7)&&\"*\"==t.charAt(8)||1==i&&1==s&&\"F\"==t.charAt(0)&&\"T\"==t.charAt(1)&&\"*\"==t.charAt(2)&&\"*\"==t.charAt(3)&&\"*\"==t.charAt(4)&&\"*\"==t.charAt(5)&&\"*\"==t.charAt(6)&&\"*\"==t.charAt(7)&&\"*\"==t.charAt(8))||0!=s&&\"F\"==t.charAt(0)&&\"*\"==t.charAt(1)&&\"*\"==t.charAt(2)&&\"*\"==t.charAt(3)&&\"T\"==t.charAt(4)&&\"*\"==t.charAt(5)&&\"*\"==t.charAt(6)&&\"*\"==t.charAt(7)&&\"*\"==t.charAt(8))},i.CP=function(t,i,s){return i>s?\"T\"==t.charAt(0)&&\"*\"==t.charAt(1)&&\"*\"==t.charAt(2)&&\"*\"==t.charAt(3)&&\"*\"==t.charAt(4)&&\"*\"==t.charAt(5)&&\"T\"==t.charAt(6)&&\"*\"==t.charAt(7)&&\"*\"==t.charAt(8):1==i&&1==s&&\"0\"==t.charAt(0)&&\"*\"==t.charAt(1)&&\"*\"==t.charAt(2)&&\"*\"==t.charAt(3)&&\"*\"==t.charAt(4)&&\"*\"==t.charAt(5)&&\"*\"==t.charAt(6)&&\"*\"==t.charAt(7)&&\"*\"==t.charAt(8)},i.eP=function(t){return\"T\"==t.charAt(0)&&\"*\"==t.charAt(1)&&\"*\"==t.charAt(2)&&\"*\"==t.charAt(3)&&\"*\"==t.charAt(4)&&\"*\"==t.charAt(5)&&\"F\"==t.charAt(6)&&\"F\"==t.charAt(7)&&\"*\"==t.charAt(8)},i.EU=function(t,i,s){if(i==s){if(1!=i)return\"T\"==t.charAt(0)&&\"*\"==t.charAt(1)&&\"T\"==t.charAt(2)&&\"*\"==t.charAt(3)&&\"*\"==t.charAt(4)&&\"*\"==t.charAt(5)&&\"T\"==t.charAt(6)&&\"*\"==t.charAt(7)&&\"*\"==t.charAt(8);if(\"1\"==t.charAt(0)&&\"*\"==t.charAt(1)&&\"T\"==t.charAt(2)&&\"*\"==t.charAt(3)&&\"*\"==t.charAt(4)&&\"*\"==t.charAt(5)&&\"T\"==t.charAt(6)&&\"*\"==t.charAt(7)&&\"*\"==t.charAt(8))return!0}return!1},i.Jw=function(t,i,s){t=i.La(t);for(var n=i.Re;-1!=n;n=i.Rf(n))if(i.xd(n)&t){var h=i.Me(n);if(-1==h)i.nn(n,s,0);else{var r=h,e=0;do{!!(i.dh(r)&t)&&e++,r=i.jc(i.xa(r))}while(r!=h);i.nn(n,s,e)}}},i.Zp=function(t){var i=\"\"+t.charAt(0);return i+=t.charAt(3),i+=t.charAt(6),i+=t.charAt(1),i+=t.charAt(4),i+=t.charAt(7),i+=t.charAt(2),(i+=t.charAt(5))+t.charAt(8)},i.prototype.Yi=function(){for(var t=0;9>t;t++)this.J[t]=-2,this.Za[t]=-2},i.vK=function(t){var i=t[1],s=t[2],n=t[5];t[1]=t[3],t[2]=t[6],t[5]=t[7],t[3]=i,t[6]=s,t[7]=n},i.prototype.bj=function(t){for(this.Xc=t,t=0;9>t;t++)\"*\"!=this.Xc.charAt(t)?(this.ea[t]=!0,this.le++):this.ea[t]=!1},i.prototype.UJ=function(){for(var t=0;9>t;t++)this.ea[t]&&-2==this.J[t]&&(this.J[t]=-1,this.ea[t]=!1)},i.prototype.pc=function(t){return-2!=this.J[t]&&(-1==this.J[t]?(this.ea[t]=!1,this.le--,!0):\"T\"!=this.Xc.charAt(t)&&\"F\"!=this.Xc.charAt(t)?!(this.J[t]r?1:0},i.prototype.reset=function(){this.yA=-1},i}(),n=function(){function n(){this.Wm=this.Gl=null,this.fb=new t.Yj,this.fb.RP(),this.$d=new s(this),this.fb.Vo(this.$d)}return n.prototype.HQ=function(){var i=!1;if(this.fw&&(i=this.IQ()),1==this.g.da(this.X)){var s=this.g.Ob(this.X);return i=this.g.wz(s),this.g.PB(s,!0),0>i&&(i=this.g.Xa(s),this.g.pJ(i),this.g.Wg(s,this.g.Ma(i)),!0)}for(this.El=this.g.Ky(),this.wo=this.g.Ky(),s=this.g.Ob(this.X);-1!=s;s=this.g.Rb(s))this.g.gr(s,this.El,0),this.g.gr(s,this.wo,-1);s=new t.ia(0),this.yh=NaN;var n=new t.h;this.et=this.g.da(this.X),this.ro=this.g.Gd(),this.Rs=this.g.Gd();for(var h=this.Gl.rc(this.Gl.je);-1!=h;h=this.Gl.lb(h)){var r=this.Gl.getData(h);if(this.g.Gc(r,n),n.y!=this.yh&&0!=s.size&&(i=this.ut(s)||i,this.$d.reset(),s.clear(!1)),s.add(r),this.yh=n.y,0==this.et)break}for(0=this.MA.length&&this.MA.push(new t.ig);var i=this.MA[this.Cw];return this.Cw++,i},s.prototype.clear=function(){this.wB(this.mo),this.wB(this.$s),this.wB(this.yw),this.Cw=0},s.prototype.Oo=function(t){this.mo.push(this.Ow(t))},s.prototype.ol=function(t){return 0==t?this.$s.length:this.yw.length},s.prototype.Vp=function(t,i){return this.SR(t,i).$i},s.prototype.Ea=function(i,s){if(2!=this.mo.length)throw t.i.Qa();this.qa=i;var n=t.lc.ox(.01*i),h=!1,r=this.mo[0],e=this.mo[1];if(s||5&r.$i.zr(e.$i,i,!0)){if(322==r.$i.getType()){var o=r.$i;if(322==e.$i.getType()){s=e.$i;var a=t.yb.Zx(o,s,null,this.Fq,this.Bk,i);if(0==a)throw t.yb.Zx(o,s,null,this.Fq,this.Bk,i),t.i.Qa();i=Array(9),t.O.$u(i,null);for(var u=0;un&&(h=!0)):l>v?(o.hc(f,d),f=new t.h,s.hc(c,f),t.h.yc(d,f)>n&&(h=!0)):(s.hc(c,d),l=new t.h,o.hc(f,l),t.h.yc(d,l)>n&&(h=!0)),i[u]=d}for(r=0,e=-1,u=0;u<=a;u++)(y=uthis.Bk[1]&&(y=this.Bk[0],this.Bk[0]=this.Bk[1],this.Bk[1]=y,u=o[0],o[0]=o[1],o[1]=u),r=0,e=-1,u=0;u<=a;u++)(y=u=e;e++){if((s=1>e?this.Fq[e]:1)!=n){var o=this.aB();i.ah(n,s,o),-1!=r&&o.get().Dc(h),1!=e&&o.get().Qc(h),n=s,this.$s.push(this.Ow(o.get()))}r=e}this.Bf.Cb(h)}},s}();t.TC=s}(Q||(Q={})),function(t){var i=function(){function i(i){this.Ds=this.rk=this.sb=null,this.ag=0,this.zm=!1,this.zf=-1,this.Cl=this.Jd=0,this.gb=-1,this.ib=i,this.ag=this.Wx(this.Cl),this.zm=!1,this.rk=null,this.Ds=new t.h}return i.prototype.BW=function(i){if(this.ib!=i.ib)throw t.i.Hb();this.zf=i.zf,this.Jd=i.Jd,this.gb=i.gb,this.Cl=i.Cl,this.ag=i.ag,this.zm=i.zm,this.rk=null},i.prototype.ha=function(){if(this.zf!=this.Jd&&this.BD(),this.zm)this.Jd=(this.Jd+1)%this.ag;else{if(this.Jd==this.ag)throw t.i.ce();this.Jd++}return this.rk},i.prototype.li=function(){if(this.zm)this.Jd=(this.ag+this.Jd-1)%this.ag;else{if(0==this.Jd)throw t.i.ce();this.Jd--}return this.Jd!=this.zf&&this.BD(),this.rk},i.prototype.DW=function(){this.zf=-1,this.Jd=0},i.prototype.EW=function(){this.Jd=this.ag,this.zf=-1},i.prototype.Vb=function(t,i){if(void 0===i&&(i=-1),0<=this.gb&&this.gb=s&&t=this.ib.Ba(i)&&t=this.ib.da())&&(this.zf=-1,this.Jd=0,this.ag=this.Wx(this.gb),this.ib.Ba(this.gb),this.ib.dc(this.gb),this.Cl++,!0)},i.prototype.Zi=function(){this.ag=this.Jd=this.zf=-1,this.Cl=0,this.gb=-1},i.prototype.Wx=function(t){if(this.ib.Ac())return 0;var i=1;return this.ib.dc(t)&&(i=0),this.ib.Ja(t)-i},i.prototype.On=function(){return this.zf==this.ag-1&&this.ib.dc(this.gb)},i.prototype.JB=function(){this.zm=!0},i.prototype.wb=function(){return this.ib.nb.o[this.gb]+this.zf},i.prototype.IM=function(){return this.ib.Ba(this.gb)},i.prototype.ik=function(){return this.On()?this.ib.Ba(this.gb):this.wb()+1},i.prototype.vm=function(){return 0==this.zf},i.prototype.Qn=function(){return this.zf==this.ag-1},i.prototype.Ha=function(){return this.Jdthis.Jd||this.Jd>=this.ag)throw t.i.ce();this.zf=this.Jd;var i=this.wb();this.ib.mc();var s=this.ib.Ve,n=1;switch(null!=s&&(n=7&s.read(i)),s=this.ib.description,n){case 1:null==this.sb&&(this.sb=new t.yb),this.rk=this.sb;break;case 2:throw t.i.fa(\"internal error\");default:throw t.i.Qa()}this.rk.Nf(s),n=this.ik(),this.ib.Gc(i,this.Ds),this.rk.Dc(this.Ds),this.ib.Gc(n,this.Ds),this.rk.Qc(this.Ds);for(var h=1,r=s.Aa;hr&&(e=s,s=h,h=e,e=n,n=r,r=e,e=-1),!(0>r||n>=this.pl)){0>s&&0>h?h=s=-1:s>=this.oi&&h>=this.oi&&(h=s=this.oi);var o=(h-s)/(r-n);r>this.pl&&(h=o*((r=this.pl)-n)+s),0>n&&(s=o*(0-n)+s,n=0);var a=Math.max(this.oi+1,8388607);-8388607>s?(n=(0-s)/o+n,s=0):s>a&&(n=(this.oi-s)/o+n,s=this.oi),-8388607>h?r=(0-s)/o+n:h>a&&(r=(this.oi-s)/o+n),(n=t.O.truncate(n))!=(r=t.O.truncate(r))&&((h=new i).x=t.O.truncate(4294967296*s),h.y=n,h.H=r,h.WP=t.O.truncate(4294967296*o),h.dir=e,null==this.Wl&&(this.Wl=t.O.lg(this.pl,null)),h.next=this.Wl[h.y],this.Wl[h.y]=h,h.ythis.Kw&&(this.Kw=h.H),this.Tq++)}}},s.prototype.sN=function(){if(null!=this.Jh){for(var t=!1,i=null,s=this.Jh;null!=s;)if(s.y++,s.y==s.H){var n=s;s=s.next,null!=i?i.next=s:this.Jh=s,n.next=null}else s.x+=s.WP,null!=i&&i.x>s.x&&(t=!0),i=s,s=s.next;t&&(this.Jh=this.fK(this.Jh))}},s.prototype.lN=function(t){if(!(t>=this.pl)){var i=this.Wl[t];if(null!=i){this.Wl[t]=null,i=this.fK(i),this.Tq-=this.gK,t=this.Jh;for(var s=!0,n=i,h=null;null!=t&&null!=n;)t.x>n.x?(s&&(this.Jh=n),s=n.next,n.next=t,null!=h&&(h.next=n),h=n,n=s):(s=t.next,t.next=n,null!=h&&(h.next=t),h=t,t=s),s=!1;null==this.Jh&&(this.Jh=i)}}},s.eK=function(t,i){return 0>t?0:t>i?i:t},s.prototype.ZP=function(){if(null!=this.Jh)for(var i=0,n=this.Jh,h=t.O.truncate(t.O.XG(n.x)),r=n.next;null!=r;r=r.next)if(i=this.kF?1^i:i+r.dir,r.x>n.x){var e=t.O.truncate(t.O.XG(r.x));0!=i&&(n=s.eK(h,this.oi),(h=s.eK(e,this.oi))>n&&nthis.Kf[1].x&&(i=this.Kf[0],this.Kf[0]=this.Kf[1],this.Kf[1]=i):s.AN(this.Kf,n,(function(t,i){return t==i?0:t.xi.x?1:0})),i=this.Kf[0],this.Kf[0]=null,h=i,r=1;rthis.Wh.size)break;var u=this;for(this.xe.Vd(0,this.xe.size,(function(t,i){return u.pM(t,i)})),n=0,h=this.xe.size;nn?1:hr?1:0)&&(h=(t=u[f*t+3])<(i=u[f*i+3])?-1:t==i?0:1),h})),this.Pq=this.g.Gd(),this.oe=new t.jp,this.RA=this.oe.Ph(0),this.oe.fn(n),r=0;ra;a++){for(u=l[a],f=s[a],c=a-1;0<=c&&l[c]>u;)l[c+1]=l[c],s[c+1]=s[c],c--;l[c+1]=u,s[c+1]=f}return l=0,0!=s[0]&&(l|=1),0!=s[1]&&(l|=2),0!=s[2]&&(l|=4),0!=s[3]&&(l|=8),(5==l||10==l)&&(t==i?t?(this.g.Bc(o,n),this.g.Cc(n,o),this.g.Bc(h,e),this.g.Cc(e,h)):(this.g.Cc(o,n),this.g.Bc(n,o),this.g.Cc(h,e),this.g.Bc(e,h)):t?(this.g.Cc(n,r),this.g.Bc(r,n),this.g.Cc(e,h),this.g.Bc(h,e)):(this.g.Bc(n,r),this.g.Cc(r,n),this.g.Bc(e,h),this.g.Cc(h,e)),!0)},i.prototype.tD=function(t,i,s,n,h,r){this.MY?this.VM():this.UM(t,i,s,n,h,r)},i.prototype.VM=function(){throw t.i.fa(\"not implemented.\")},i.prototype.UM=function(t,i,s,n,h,r){if(t!=i)t?(this.g.Bc(s,h),this.g.Cc(h,s),this.g.Bc(r,n),this.g.Cc(n,r),this.vn(h,s),this.ui(h,!0),this.g.mi(h,!0),this.bk(s),this.vn(r,n),this.ui(r,!0),this.g.mi(r,!1)):(this.g.Bc(h,s),this.g.Cc(s,h),this.g.Bc(n,r),this.g.Cc(r,n),this.vn(h,s),this.ui(h,!0),this.g.mi(h,!1),this.bk(s),this.vn(r,n),this.ui(r,!0),this.g.mi(r,!0)),this.bk(n);else{var e=t?s:n,o=i?h:r;for(t=t?n:s,i=i?r:h,h=!1,this.g.Bc(e,o),this.g.Bc(o,e),this.g.Cc(t,i),this.g.Cc(i,t),r=i;r!=o;)s=this.g.Ma(r),n=this.g.U(r),this.g.Cc(r,n),this.g.Bc(r,s),h=h||r==e,r=n;h||(s=this.g.Ma(o),n=this.g.U(o),this.g.Cc(o,n),this.g.Bc(o,s)),this.vn(o,e),this.ui(o,!0),this.g.mi(o,!1),this.bk(e),this.vn(i,t),this.ui(i,!0),this.g.mi(i,!1),this.bk(t)}},i.prototype.cD=function(){for(var t=!1,i=this.g.Ob(this.X);-1!=i;){for(var s=this.g.Xa(i),n=0,h=this.g.Ja(i);nthis.g.Ja(i)){for(t=this.g.Xa(i),n=0,h=this.g.Ja(i);n=s)throw t.i.N(\"Invalid or unsupported wkid: \"+s);var n=new i;return n.dg=s,n},i.qP=function(s){if(null==s||0==s.length)throw t.i.N(\"Cannot create SpatialReference from null or empty text.\");var n=new i;return n.wh=s,n},i.prototype.Nb=function(t){return this==t||null!=t&&this.constructor==t.constructor&&this.dg==t.dg&&(0!=this.dg||this.wh===t.wh)},i.prototype.toString=function(){return\"[ tol: \"+this.Kn()+\"; wkid: \"+this.Ec()+\"; wkt: \"+this.Bz()+\"]\"},i.prototype.cc=function(){if(\"\"!==this.pp)return this.pp;var t=this.toString();if(Array.prototype.reduce)return this.pp=\"S\"+t.split(\"\").reduce((function(t,i){return 0|(t=(t<<5)-t+i.charCodeAt(0))}),0);var i=0;if(0===t.length)return\"\";for(var s=0;s=i.length)throw t.i.N();var n=null;try{n=t.NC.fromString(i)}catch(h){n=null}return null==n?null:s.bD(n,!0)},s.prototype.by=function(t){this.Kd=t,this.Eo=this.Kd.Hd()},s.prototype.gy=function(t){this.KH=t,this.ST=null!=this.KH?this.KH.Eo:null},s.prototype.Wc=function(){return 0!=this.Sb()&&3!=this.Sb()&&this.Kd.Wc()},s.prototype.IG=function(){return 0!=this.Sb()&&(3==this.Sb()?this.Ji.fk().Wc():this.Kd.Wc())},s.prototype.eh=function(){return null!=this.Kd?this.Kd.Ue:null},s.prototype.pm=function(){return this.Kd.pm()},s.prototype.bf=function(){return this.Kd.bf()},s.prototype.hh=function(){return null!=this.Kd?this.Kd.sw:NaN},s.prototype.Up=function(){return this.Kd.Up()},s.prototype.Wr=function(){return this.Kd.Wr()},s.prototype.kk=function(){return this.Kd.kk()},s.prototype.kS=function(i){return t.OC.Py(this.Kd,i.Kd)},s.prototype.ml=function(){return this.Kd.ml()},s.prototype.Vr=function(){return this.Kd.Vr()},s.prototype.zi=function(){return 3==this.Sb()?this.Ji.fk().zi():this.Kd.zi()},s.prototype.gh=function(){if(!this.Wc())throw t.i.N(\"!isPannable()\");var i=new t.l;return this.Kd.gh(i),i},s.prototype.Oe=function(){if(!this.Wc())throw t.i.N(\"!isPannable()\");return this.Kd.so},s.prototype.HR=function(){if(!this.Wc())throw t.i.N(\"!isPannable()\");var i=new t.l;return this.Kd.GR(i),i},s.prototype.pv=function(){if(!this.Wc())throw t.i.N(\"!isPannable()\");return this.Kd.pv()},s.prototype.ov=function(){if(!this.Wc())throw t.i.N(\"!isPannable()\");return this.Kd.ov()},s.prototype.Xr=function(){return null!=this.Ji?this.Ji.fk().Xr():this.Kd.Xr()},s.prototype.PQ=function(){return this.Kd.hv()},s.prototype.Qp=function(){return this.Eo.getUnitFactor()},s.prototype.vz=function(t){return this.Hq.vz(t)},s.prototype.sc=function(){var i=this.Sb();if(1==i)return this;if(3==i)return this.Ji.fk().sc();if(0==i)throw t.i.fa(\"invalid call\");if(4===i)throw t.i.fa(\"invalid call\");if(null!==this.jw)return this.jw;if(null==(i=this.eh().getGeogcs()))throw t.i.Qa();return this.jw=s.bF(i,this.Hq.VF())},s.bF=function(i,n){if(null==i)throw t.i.N(\"null pointer.\");var h=new s;return i=s.mu(i,!0),h.Hq.Xx(i,null,n),h.by(i),h.gy(null),h.dg=i.$r(),h},s.prototype.Sb=function(){var i=this.eh();if(null!=i)switch(i.getType()){case t.Sc.PE_TYPE_GEOGCS:return 1;case t.Sc.PE_TYPE_PROJCS:return 2}return 4},s.prototype.hv=function(){return this.Kd.hv()},s.mu=function(i,n){var h=i.getCode();if(0>=h&&0<(h=t.pf.getCode(i))){if(null==(i=t.pf.coordsys(h)))throw t.i.N(\"Text to wkid mapping had failed: \"+h);return s.mu(i,n)}if(n&&0=h?i:t.pf.coordsys(h),i=new t.OC(i),s.lK[n]=i,0=i)throw t.i.N(\"Invalid or unsupported wkid: \"+i);var n=s.qx[i];if(null!=n)return n;if(null==(n=t.pf.coordsys(i)))throw t.i.N(\"Invalid or unsupported wkid: \"+i);return(n=s.mu(n,!1)).$r()!=i&&(s.qx[i]=n),n},s.kM=function(i){if(null==i||void 0===i||0==i.length)throw t.i.N(\"Cannot create SpatialReference from null or empty text.\");var n=null;try{n=t.pf.fromString(t.Sc.PE_TYPE_COORDSYS,i)}catch(h){throw t.i.N(\"Cannot create SpatialReference from text. \"+h.message)}if(null===n)throw t.i.N(\"Cannot create SpatialReference from text. \");return s.mu(n,!0)},s.bD=function(i,n){var h,r=i.getCode();if(0>=r&&0<(r=t.pf.getCode(i))){if(null===(r=t.pf.vertcs(r)))throw t.i.N();return s.bD(r,n)}if(n&&0=r||(h=t.pf.vertcs(r)),null===h)throw t.i.N();return h=new t.PL(h),s.mK[i]=h,0s&&(this.Pj=s/(h-this.Fm)),n=this.Gm+n,(r=t.O.truncate((n-this.Gm)*this.Pj))>s&&(this.Pj=s/(n-this.Gm))}},s.prototype.aC=function(t){switch(t){case 0:this.Ik=void 0;case 1:this.Mq=void 0;case 2:this.Lq=void 0}},s.prototype.Kn=function(t){switch(t){case 0:return this.Ik;case 1:return this.Mq;case 2:return this.Lq}return 0},s.prototype.vz=function(t){if(this.Rm==i.FloatingPoint)return 0;switch(t){case 0:return 1/this.Pj;case 1:case 2:return 1/this.Fo;default:return 0}},s.prototype.toString=function(){var t=\"SRPD [m_toleranceXY: \"+this.Ik.toString();return(t=(t=(t=(t=(t=(t=(t=(t=(t=t+\";m_falseX: \"+this.Fm.toString())+\";m_falseY: \"+this.Gm.toString())+\";m_unitsXY: \"+this.Pj.toString())+\";m_falseZ: \"+this.sA.toString())+\";m_unitsZ: \"+this.Fo.toString())+\";m_falseM: \"+this.rA.toString())+\";m_toleranceZ: \"+this.Mq.toString())+\";m_toleranceM: \"+this.Lq.toString())+\";m_precision: \"+this.Rm.toString())+\"] \"},s}();t.ZL=n}(Q||(Q={})),function(t){function i(t,i){return 89.99999i&&(i=-89.99999),i*=.017453292519943,[111319.49079327169*t,3189068.5*Math.log((1+Math.sin(i))/(1-Math.sin(i)))]}function s(t,i,s){return t=t/6378137*57.29577951308232,s?[t,57.29577951308232*(1.5707963267948966-2*Math.atan(Math.exp(-1*i/6378137)))]:[t-360*Math.floor((t+180)/360),57.29577951308232*(1.5707963267948966-2*Math.atan(Math.exp(-1*i/6378137)))]}function n(i,s,n){var h=i.Of();if(33===i.getType())s=s(h.Lg(),h.ih()),h.Cb(s[0],s[1]);else if(197===i.getType()){var r=s(i.es(),i.gs(),n);s=s(i.ds(),i.fs(),n),h.K(r[0],r[1],s[0],s[1])}else for(r=new t.h,i=0;is&&(s=637.100877141506);for(var n,h=[],r=0;rthis.Hg&&this.Dz(t)},i.prototype.tx=function(t,i){t*=this.stride,i*=this.stride;for(var s=0;sthis.ns.va)return 1;s=i.na==i.la;var n=t.na==t.la;if(s||n){if(s&&n)return 0;if(i.na==t.na&&i.sa==t.sa)return s?1:-1;if(i.la==t.la&&i.pa==t.pa)return s?-1:1}return(s=i.Pe(this.yh,this.ms.oa))==(n=t.Pe(this.yh,this.ns.oa))&&((n=.5*((s=Math.min(i.la,t.la))+this.yh))==this.yh&&(n=s),s=i.Pe(n,this.ms.oa),n=t.Pe(n,this.ns.oa)),sn?1:0},i.prototype.aK=function(t){this.yh=t},i}(),h=function(){function i(i){this.ib=i,this.WH=new t.ig,this.Bf=new t.h,this.wA=new t.Nc}return i.prototype.kX=function(t){this.Bf.L(t)},i.prototype.compare=function(t,i){return this.ib.pB(t.ja(i),this.WH),t=this.WH.get(),this.wA.K(t.sa,t.pa),this.Bf.xthis.wA.va?1:(t=t.Pe(this.Bf.y,this.Bf.x),this.Bf.xt?1:0)},i}();i=function(){function i(){this.hH=this.Di=this.Gi=this.kA=this.Yn=this.ye=this.Kc=this.jh=this.ge=null,this.Go=this.xg=-1,this.gH=!0,this.pA=!1,this.lA=NaN,this.Ni=new t.Md,this.bO=2147483647,this.aO=t.O.truncate(-2147483648),this.cg=this.ae=this.Hl=this.Cq=this.Cm=this.Bq=this.Os=this.Re=-1,this.wa=0}return i.prototype.yy=function(t){this.lA=t},i.prototype.Ym=function(){null==this.ge&&(this.ge=new t.$c(8));var i=this.ge.Ce();return this.ge.S(i,1,0),i},i.prototype.vU=function(){null==this.Kc&&(this.Kc=new t.$c(8));var i=this.Kc.Ce();this.Kc.S(i,2,0),this.Kc.S(i,3,0);var s=this.Kc.Ce();return this.Kc.S(s,2,0),this.Kc.S(s,3,0),this.JJ(i,s),this.JJ(s,i),i},i.prototype.mI=function(){null==this.ye&&(this.ye=new t.$c(8));var i=this.ye.Ce();return this.ye.S(i,2,0),i},i.prototype.TW=function(t,i){this.ge.S(t,7,i)},i.prototype.mn=function(t,i){this.ge.S(t,2,i)},i.prototype.SW=function(t,i){this.ge.S(t,1,i)},i.prototype.lX=function(t,i){this.ge.S(t,3,i)},i.prototype.iX=function(t,i){this.ge.S(t,4,i)},i.prototype.cr=function(t,i){this.ge.S(t,5,i)},i.prototype.eR=function(t){return this.ge.T(t,5)},i.prototype.RW=function(t,i){this.ge.S(t,6,i)},i.prototype.cN=function(t,i){this.RW(i,t)},i.prototype.IJ=function(t,i){this.Kc.S(t,1,i)},i.prototype.JJ=function(t,i){this.Kc.S(t,4,i)},i.prototype.Tl=function(t,i){this.Kc.S(t,5,i)},i.prototype.Sl=function(t,i){this.Kc.S(t,6,i)},i.prototype.$W=function(t,i){this.Kc.S(t,2,i)},i.prototype.$w=function(t,i){this.Kc.S(t,3,i)},i.prototype.LF=function(t){return this.Kc.T(t,3)},i.prototype.Gt=function(t,i){this.Kc.S(t,7,i)},i.prototype.EK=function(t,i){if(-1!=this.mm(t))for(i=i?-1:t,t=this.mm(t);-1!=t;t=this.js(t))this.g.Ra(this.tj(t),this.Cq,i)},i.prototype.yx=function(t,i){-1!=t&&(this.EK(t,i),this.EK(this.xa(t),i))},i.prototype.Dt=function(t,i){this.ye.S(t,1,i)},i.prototype.Vg=function(t,i){this.ye.S(t,2,i)},i.prototype.jn=function(t,i){this.ye.S(t,3,i),this.NW(t,this.dR(i)),this.MW(i,t)},i.prototype.MW=function(t,i){this.ye.S(t,4,i)},i.prototype.NW=function(t,i){this.ye.S(t,5,i)},i.prototype.DJ=function(t,i){this.ye.S(t,6,i)},i.prototype.BJ=function(t,i){this.ye.S(t,7,i)},i.prototype.AJ=function(t,i){this.Yn.write(t,i)},i.prototype.CJ=function(t,i){this.kA.write(t,i)},i.prototype.kY=function(i){var s=0,n=0,h=this.AF(i),r=new t.h,e=new t.h,o=new t.h;this.Yr(h,r),e.L(r);var a=h;do{this.lm(a,o),n+=t.h.tb(e,o),this.$e(this.xa(a))!=i&&(s+=(o.x-r.x-(e.x-r.x))*(o.y-r.y+(e.y-r.y))*.5),e.L(o),a=this.jc(a)}while(a!=h);this.Yn.write(i,s),this.kA.write(i,n)},i.prototype.PU=function(i,s){var r=new n(this),e=new t.Yj;e.De(t.O.truncate(this.wa/2)),e.Vo(r);for(var o=new t.ia(0),a=this.$g(),u=null,f=0,c=new t.h,l=this.Re;-1!=l;l=this.Rf(l)){if(!(255&++f||null==s||s.progress(-1,-1)))throw t.i.WC();var p=this.Me(l);if(-1!=p){if(o.Bh(0),!this.gY(e,a,o,p)){this.D(l,c),r.aK(c.y);var v=p;do{var y=this.Ab(v,a);-1!=y&&(e.vd(y,-1),this.Kb(v,a,-2)),v=this.jc(this.xa(v))}while(p!=v);v=p;do{-1==(y=this.Ab(v,a))&&(y=e.addElement(v,-1),o.add(y)),v=this.jc(this.xa(v))}while(p!=v)}for(p=o.size-1;0<=p;p--)y=o.get(p),v=e.ja(y),this.Kb(this.xa(v),a,y),this.OU(e,y,i)}else-1==this.cz(l)&&(null==u&&(u=new h(this)),this.D(l,c),u.kX(c),v=e.IW(u),p=this.Hl,-1!=v&&(y=e.ja(v),this.$e(y)==this.$e(this.xa(y))&&(y=this.OF(e,v)),-1!=y&&(p=this.$e(y))),this.cN(p,l))}this.Jg(a)},i.prototype.OU=function(t,i,s){var n=t.ja(i),h=this.$e(n);if(-1==this.Gn(h)){var r=this.OF(t,i),e=this.xa(n),o=this.$e(e);this.Kp(h),this.Kp(o);var a=this.Gn(h),u=this.Gn(o);if(-1==r&&-1==a&&(o==h?(this.jn(o,this.Hl),a=u=this.Hl):(-1==u&&(this.jn(o,this.Hl),u=this.Hl),this.jn(h,o),a=o)),-1!=r){var f=this.$e(r);-1==u&&(0>=this.Kp(f)?(u=this.Gn(f),this.jn(o,u)):(this.jn(o,f),u=f),o==h&&(a=u))}-1==a&&this.hY(h,o),0==s?this.jW(t,i,n,r,h,o):5==s?this.kW(t,i,n,e,h,o):4==s&&this.iW(n,r,h,o)}},i.prototype.jW=function(t,i,s,n,h,r){var e=this.hk(h);if(-1!=n){var o=this.hk(r),a=this.hk(this.$e(n));n=e&o&a,a^=a&this.dh(s),0!=(a|=n)&&(this.Vg(r,o|a),this.Vg(h,a|e),e=e||a)}for(i=t.lb(i);-1!=i&&(n=t.ja(i),s=this.$e(this.xa(n)),h=this.hk(s),r=this.dh(n),o=this.$e(n),n=h&(a=this.hk(o))&e,e^=e&r,0!=(e|=n));i=t.lb(i))this.Vg(s,h|e),this.Vg(o,a|e)},i.prototype.kW=function(i,s,n,h,r,e){if(r!=e){n=this.Ab(n,this.cg),n+=this.Ab(h,this.cg),h=0;var o=new t.ia(0),a=new t.ia(0);a.add(0);for(var u=i.rc(-1);u!=s;u=i.lb(u)){var f=i.ja(u),c=this.xa(f),l=this.$e(f),p=this.$e(c);if(l!=p){if(f=this.Ab(f,this.cg),h+=f+=this.Ab(c,this.cg),c=!1,0!=o.size&&o.Fc()==p&&(a.If(),o.If(),c=!0),-1==this.Gn(p))throw t.i.Qa();c&&this.Gn(p)==l||(a.add(h),o.add(l))}}h+=n,0!=o.size&&o.Fc()==e&&(a.If(),o.If()),0!=h?0==a.Fc()&&(i=this.g.ld,i=this.La(i),this.Vg(r,i)):0!=a.Fc()&&(i=this.g.ld,i=this.La(i),this.Vg(r,i))}},i.prototype.iW=function(t,i,s,n){var h=this.La(this.g.ld);if(-1==i)this.Vg(n,this.Go),1&(t=this.Ab(t,this.xg))?this.Vg(s,h):this.Vg(s,this.Go);else{var r=this.hk(n);0==r?(r=this.hk(this.$e(i)),this.Vg(n,r),1&(t=this.Ab(t,this.xg))?this.Vg(s,r==h?this.Go:h):this.Vg(s,r)):1&(t=this.Ab(t,this.xg))?this.Vg(s,r==h?this.Go:h):this.Vg(s,r)}},i.prototype.gY=function(t,i,s,n){var h=n,r=-1,e=-1,o=0;do{if(2==o)return!1;var a=this.Ab(h,i);if(-1!=a){if(-1!=r)return!1;r=a}else{if(-1!=e)return!1;e=h}o++,h=this.jc(this.xa(h))}while(n!=h);return-1!=e&&-1!=r&&(this.Kb(t.ja(r),i,-2),t.Sj(r,e),s.add(r),!0)},i.prototype.hY=function(t,i){var s=this.Kp(t);if(0!=s){var n=this.Kp(i);0n||0>s&&0f.compare(r)?u=1:e=-1,this.Kb(l,this.ae,0),this.Kb(c,this.ae,0),this.Kb(c,this.cg,u),this.Kb(l,this.cg,e)):7==i?(this.Kb(l,this.ae,this.Go),this.Kb(c,this.ae,1736==a?o:0)):4==i&&(this.Kb(l,this.ae,0),this.Kb(c,this.ae,0),this.Kb(c,this.xg,1),this.Kb(l,this.xg,1)),a=1736==a?this.aO:0,this.$w(c,o|a),this.$w(l,o|a)}}}}},i.prototype.VT=function(t,i){var s=this.mm(i);if(-1!=s){var n=this.mm(t);this.jh.S(s,1,n),this.Gt(t,s),this.Gt(i,-1)}t=this.xa(t),i=this.xa(i),-1!=(s=this.mm(i))&&(n=this.mm(t),this.jh.S(s,1,n),this.Gt(t,s),this.Gt(i,-1))},i.prototype.IX=function(i){function s(t,i){return h.HO(t,i)}var n=new t.ia(0);n.Jb(10);for(var h=this,r=this.Re;-1!=r;r=this.Rf(r)){n.clear(!1);var e=this.Me(r);if(-1!=e){var o=e;do{n.add(o),o=this.jc(this.xa(o))}while(o!=e);if(1n.Db())return i.ki(i.Xe(n.Ia()),s,\"&\")}return o=new i,a=(e=new t.gd).Ib(i.Xe(s)),n=e.Ib(i.Xe(n)),o.Ft(e,h,r),r=o.Av(a,n),s=i.ki(e.Ne(r),s,\"&\"),t.aa.Hc(s.getType())&&(s.Ch(2,h),1736==s.getType()&&s.fm()),s},i.bW=function(i,s,n){if(i.B()||s.B())return i.Ia();var h=[null],r=[0],e=2==s.Db();if(1!=s.Db()&&2!=s.Db())throw t.i.Qa();return h[0]=i.D(),e?t.hd.sK(s,h,1,n,r):t.hd.tK(s,h,1,n,r),0==r[0]?i.Ia():i},i.prototype.LU=function(i,s,n,h,r){if(i.B())return i;var e=new t.gd;return i=e.Ib(i),this.Mk(e,i,s,n,h,r)},i.prototype.NU=function(i,s,n,h,r,e){if(r&&550!=i.ic(s)){var o=new t.RC;o.TX(i,n),o.Ng?(t.Tk.V(i,n,e,!0),r=!1):this.j.yy(n)}else t.Tk.V(i,n,e,!0),r=!1;if(h&&550!=i.ic(s)?this.j.wJ(i,s,e):this.j.vJ(i,s,e),this.j.pA)return this.j.Ug(),this.j=null,this.Mk(i,s,n,h,!1,e);if(this.j.yy(NaN),e=this.j.La(s),this.bq(e+1),this.Gj[e]=!0,1736==i.ic(s)||h&&550!=i.ic(s))return i.Yo(s,0),s=this.Ot(s,-1,-1),(i=i.Ne(s)).Yo(0),r?i.Ch(1,0):(i.Ch(2,n),i.fm()),i;if(1607==i.ic(s))return s=this.Pt(-1),i=i.Ne(s),r||i.Ch(2,n),i;if(550==i.ic(s))return s=this.mr(),i=i.Ne(s),r||i.Ch(2,n),i;throw t.i.Qa()},i.prototype.Mk=function(i,s,n,h,r,e){this.j=new t.iu;try{return this.NU(i,s,n,h,r,e)}finally{this.j.Ug()}},i.Mk=function(t,s,n,h,r){return(new i).LU(t,s,n,h,r)},i.prototype.MU=function(i,s,n,h){this.Mv=i,this.j=new t.iu,i=s.In(n);var r=s.ic(n);if(1!=i||550==r?this.j.vJ(s,n,h):this.j.wJ(s,n,h),!this.j.pA)if(this.j.yy(NaN),h=this.j.La(n),this.bq(h+1),this.Gj[h]=!0,1736==s.ic(n)||1==i&&550!=s.ic(n))s.Yo(n,0),h=this.Ot(n,-1,-1),s.hC(h,n),s.BB(h);else if(1607==s.ic(n))h=this.Pt(-1),s.hC(h,n),s.BB(h);else{if(550!=s.ic(n))throw t.i.fa(\"internal error\");h=this.mr(),s.hC(h,n),s.BB(h)}},i.prototype.im=function(i,s){var n=t.aa.tf(this.j.g.ic(i)),h=t.aa.tf(this.j.g.ic(s));if(n>h)return i;var r=this.j.La(i),e=this.j.La(s);if(this.bq(1+(r|e)),this.Gj[this.j.La(i)]=!0,2==n&&2==h)return this.Ot(i,s,-1);if(1==n&&2==h||1==n&&1==h)return this.Pt(-1);if(0==n)return this.mr();throw t.i.Qa()},i.prototype.Av=function(i,s){var n=t.aa.tf(this.j.g.ic(i)),h=t.aa.tf(this.j.g.ic(s)),r=this.j.La(i),e=this.j.La(s);if(this.bq(1+(r|e)),this.Gj[this.j.La(i)|this.j.La(s)]=!0,r=-1,1n.Db())return i.ki(i.Xe(s),s,\"-\");var e=new t.l;s.A(e);var o=new t.l;if(n.A(o),!e.isIntersecting(o))return i.ki(i.Xe(s),s,\"-\");var a=new t.l;return a.K(e),a.Zb(o),h=t.ta.Wd(h,a,!0),o=new i,a=(e=new t.gd).Ib(i.Xe(s)),n=e.Ib(i.Xe(n)),o.Ft(e,h,r),r=o.im(a,n),r=e.Ne(r),s=i.ki(r,s,\"-\"),t.aa.Hc(s.getType())&&(s.Ch(2,h),1736==s.getType()&&s.fm()),s},i.VP=function(s,n,h){if(2>s.length)throw t.i.N(\"not enough geometries to dissolve\");for(var r=0,e=0,o=s.length;ec?i.Xe(s[l]):(s=2==r,n=t.ta.Wd(0==r?n:null,a,!0),(new i).Mk(u,f,n,s,!0,h))},i.Pz=function(s,n,h,r){var e=[null,null,null],o=new t.l;s.A(o);var a=new t.l;n.A(a);var u=new t.l;if(u.K(o),u.Zb(a),h=t.ta.Wd(h,u,!0),(u=new t.l).K(a),a=t.ta.Er(h),u.W(a,a),!o.isIntersecting(u)){if(s.Db()<=n.Db())return e[(s=i.ki(i.Xe(s.Ia()),s,\"&\")).Db()]=s,e;if(s.Db()>n.Db())return e[(s=i.ki(i.Xe(n.Ia()),s,\"&\")).Db()]=s,e}for(a=new i,u=(o=new t.gd).Ib(i.Xe(s)),n=o.Ib(i.Xe(n)),a.Ft(o,h,r),r=a.Pz(u,n),n=0;nn.Db())return i.ki(i.Xe(s),s,\"^\");if(s.Db()n;n++)s[n]=new t.h;i.nB(s),this.fY(s,s),i.Zw(s,4)}},i.prototype.fY=function(i,s){for(var n=0;n(s=.5*s.Sk())?Math.sqrt(h):Math.sqrt(s))},i.prototype.RB=function(){this.bb=1,this.jb=this.Gb=this.eb=0,this.ab=1,this.Lb=0},i.prototype.isIdentity=function(i){if(void 0!==i){var s=t.h.construct(0,1);return this.Eh(s,s),s.sub(t.h.construct(0,1)),s.Sk()>i*i?!1:(s.ma(0,0),this.Eh(s,s),!(s.Sk()>i*i)&&(s.ma(1,0),this.Eh(s,s),s.sub(t.h.construct(1,0)),s.Sk()<=i*i))}return 1==this.bb&&1==this.ab&&0==this.eb&&0==this.Gb&&0==this.jb&&0==this.Lb},i.prototype.Bi=function(t){return Math.abs(this.bb*this.ab-this.jb*this.eb)<=2*t*(Math.abs(this.bb*this.ab)+Math.abs(this.jb*this.eb))},i.prototype.gg=function(t,i){this.bb=1,this.eb=0,this.Gb=t,this.jb=0,this.ab=1,this.Lb=i},i.prototype.setScale=function(t,i){void 0!==i?(this.bb=t,this.jb=this.Gb=this.eb=0,this.ab=i,this.Lb=0):this.setScale(t,t)},i.prototype.$B=function(){this.bb=0,this.eb=1,this.Gb=0,this.jb=1,this.Lb=this.ab=0},i.prototype.setRotate=function(t){this.pX(Math.cos(t),Math.sin(t))},i.prototype.pX=function(t,i){this.bb=t,this.eb=-i,this.Gb=0,this.jb=i,this.ab=t,this.Lb=0},i.prototype.shift=function(t,i){this.Gb+=t,this.Lb+=i},i.prototype.scale=function(t,i){this.bb*=t,this.eb*=t,this.Gb*=t,this.jb*=i,this.ab*=i,this.Lb*=i},i.prototype.flipX=function(t,i){this.bb=-this.bb,this.eb=-this.eb,this.Gb=t+i-this.Gb},i.prototype.flipY=function(t,i){this.jb=-this.jb,this.ab=-this.ab,this.Lb=t+i-this.Lb},i.prototype.rotate=function(t){var s=new i;s.setRotate(t),this.multiply(s)},i.prototype.inverse=function(t){if(void 0!==t){var i=this.bb*this.ab-this.eb*this.jb;0==i?t.lx():(i=1/i,t.Gb=(this.eb*this.Lb-this.Gb*this.ab)*i,t.Lb=(this.Gb*this.jb-this.bb*this.Lb)*i,t.bb=this.ab*i,t.eb=-this.eb*i,t.jb=-this.jb*i,t.ab=this.bb*i)}else this.inverse(this)},i}();t.Dd=i}(Q||(Q={})),function(t){var i=function(){function i(){}return i.prototype.lx=function(){this.hg=this.Lb=this.Gb=this.He=this.Fe=this.Ee=this.Ge=this.ab=this.eb=this.Ze=this.jb=this.bb=0},i.prototype.setScale=function(t,i,s){this.bb=t,this.eb=this.Ze=this.jb=0,this.ab=i,this.Fe=this.Ee=this.Ge=0,this.He=s,this.hg=this.Lb=this.Gb=0},i.prototype.setTranslate=function(t,i,s){this.bb=1,this.eb=this.Ze=this.jb=0,this.ab=1,this.Fe=this.Ee=this.Ge=0,this.He=1,this.Gb=t,this.Lb=i,this.hg=s},i.prototype.translate=function(t,i,s){this.Gb+=t,this.Lb+=i,this.hg+=s},i.prototype.mC=function(i){if(!i.B()){for(var s=new t.Nd[8],n=0;8>n;n++)s[n]=new t.Nd;i.nB(s),this.transform(s,8,s),i.Zw(s)}},i.prototype.transform=function(i,s,n){for(var h=0;hs;s++)t.uh[s]=-1;t.uh[t.bg[0]]=0}return t.jq=!0,t}return _(n,i),n.prototype.re=function(t){this.hasAttribute(t)||(this.uh[t]=0,this.jD())},n.prototype.removeAttribute=function(i){if(0==i)throw t.i.N(\"Position attribue cannot be removed\");this.hasAttribute(i)&&(this.uh[i]=-1,this.jD())},n.prototype.reset=function(){this.bg[0]=0,this.Aa=1;for(var t=0;tt;t++)0<=this.uh[t]&&(this.bg[i]=t,this.uh[t]=i,i++,this.Aa++);this.jq=!0},n.prototype.cc=function(){return this.jq&&(this.wl=this.An(),this.jq=!1),this.wl},n.prototype.Nb=function(t){if(null==t)return!1;if(t==this)return!0;if(!(t instanceof n)||t.Aa!=this.Aa)return!1;for(var i=0;ih;h++)!t.hasAttribute(h)&&i.hasAttribute(h)&&(null==s&&(s=new n(t)),s.re(h));return null!=s?s.EF():t},n}(t.ra);t.ee=i;var s=function(){function t(){this.map=[];var t=new i;this.add(t),(t=new i).re(1),this.add(t)}return t.kz=function(){return t.bL},t.prototype.$R=function(){return t.ft},t.prototype.add=function(i){var s=i.cc();if(null!=t.ft&&t.ft.cc()==s&&i.GG(t.ft))return t.ft;if(null!=t.Dw&&t.Dw.cc()==s&&i.GG(t.Dw))return t.Dw;var n=null;return void 0!==this.map[s]&&(n=this.map[s]),null==n&&(1==(n=i.tM()).Aa?t.ft=n:2==n.Aa&&1==n.kd(1)?t.Dw=n:this.map[s]=n),n},t.bL=new t,t}()}(Q||(Q={}));var rt={feet:9002,kilometers:9036,meters:9001,miles:9093,\"nautical-miles\":9030,yards:9096},et={acres:109402,ares:109463,hectares:109401,\"square-feet\":109405,\"square-kilometers\":109414,\"square-meters\":109404,\"square-miles\":109439,\"square-yards\":109442},ot=new(function(){function t(){this.RM=50,this.np=new Map,this.gj=[]}return t.prototype.clear=function(){this.gj.length=0,this.np.clear()},t.prototype.delete=function(t){return!!this.np.delete(t)&&(this.gj.splice(this.gj.indexOf(t),1),!0)},t.prototype.get=function(t){var i=this.np.get(t);if(void 0!==i)return this.gj[0]!==t&&(this.gj.splice(this.gj.indexOf(t),1),this.gj.unshift(t)),i},t.prototype.has=function(t){return this.np.has(t)},t.prototype.set=function(t,i){return void 0!==this.get(t)&&this.delete(t),this.gj.unshift(t),this.np.set(t,i),this.oM(),this},t.prototype.oM=function(){for(;this.gj.length&&this.gj.length>this.RM;){var t=this.gj.pop();this.np.delete(t)}},t}()),at=((Y={}).convertJSONToGeometry=function(t){return Q.$b.fP(t)},Y.hasM=function(t){return t.hasAttribute(Q.Ih.M)},Y.hasZ=function(t){return t.hasAttribute(Q.Ih.Z)},Y.getPointX=function(t){return t.Lg()},Y.getPointY=function(t){return t.ih()},Y.getPointZ=function(t){return t.bS()},Y.getPointM=function(t){return t.zR()},Y.getXMin=function(t){return t.es()},Y.getYMin=function(t){return t.gs()},Y.getXMax=function(t){return t.ds()},Y.getYMax=function(t){return t.fs()},Y.getZExtent=function(t){return t.Tg(Q.Ih.Z,0)},Y.getMExtent=function(t){return t.Tg(Q.Ih.M,0)},Y.exportPaths=function(t){var i=[],s=t.da(),n=null,h=null,r=t.hasAttribute(Q.Ih.Z),e=t.hasAttribute(Q.Ih.M);r&&(n=t.ub(Q.Ih.Z)),e&&(h=t.ub(Q.Ih.M));for(var o=new Q.h,a=0;ae.p)).then((({default:t})=>t({locateFile:t=>e(`esri/geometry/support/${t}`)}))).then((e=>{d(e)})),t)}var P,s;!function(e){function t(e,t,r){o.ensureCache.prepare();const n=D(r),_=r===n,P=o.ensureFloat64(n),s=o._pe_geog_to_proj(o.getPointer(e),t,P);return s&&R(r,t,P,_),s}function r(e,o,r,_){switch(_){case s.PE_TRANSFORM_P_TO_G:return n(e,o,r);case s.PE_TRANSFORM_G_TO_P:return t(e,o,r)}return 0}function n(e,t,o){return _(e,t,o,0)}function _(e,t,r,n){o.ensureCache.prepare();const _=D(r),P=r===_,s=o.ensureFloat64(_),i=o._pe_proj_to_geog_center(o.getPointer(e),t,s,n);return i&&R(r,t,s,P),i}e.geogToProj=t,e.projGeog=r,e.projToGeog=n,e.projToGeogCenter=_}(P||(P={})),function(e){function t(){e.PE_BUFFER_MAX=o.PeDefs.prototype.PE_BUFFER_MAX,e.PE_NAME_MAX=o.PeDefs.prototype.PE_NAME_MAX,e.PE_MGRS_MAX=o.PeDefs.prototype.PE_MGRS_MAX,e.PE_USNG_MAX=o.PeDefs.prototype.PE_USNG_MAX,e.PE_DD_MAX=o.PeDefs.prototype.PE_DD_MAX,e.PE_DDM_MAX=o.PeDefs.prototype.PE_DDM_MAX,e.PE_DMS_MAX=o.PeDefs.prototype.PE_DMS_MAX,e.PE_UTM_MAX=o.PeDefs.prototype.PE_UTM_MAX,e.PE_PARM_MAX=o.PeDefs.prototype.PE_PARM_MAX,e.PE_TYPE_NONE=o.PeDefs.prototype.PE_TYPE_NONE,e.PE_TYPE_GEOGCS=o.PeDefs.prototype.PE_TYPE_GEOGCS,e.PE_TYPE_PROJCS=o.PeDefs.prototype.PE_TYPE_PROJCS,e.PE_TYPE_GEOGTRAN=o.PeDefs.prototype.PE_TYPE_GEOGTRAN,e.PE_TYPE_COORDSYS=o.PeDefs.prototype.PE_TYPE_COORDSYS,e.PE_TYPE_UNIT=o.PeDefs.prototype.PE_TYPE_UNIT,e.PE_TYPE_LINUNIT=o.PeDefs.prototype.PE_TYPE_LINUNIT,e.PE_STR_OPTS_NONE=o.PeDefs.prototype.PE_STR_OPTS_NONE,e.PE_STR_AUTH_NONE=o.PeDefs.prototype.PE_STR_AUTH_NONE,e.PE_STR_AUTH_TOP=o.PeDefs.prototype.PE_STR_AUTH_TOP,e.PE_STR_NAME_CANON=o.PeDefs.prototype.PE_STR_NAME_CANON,e.PE_STR_FMT_WKT=o.PeDefs.prototype.PE_STR_FMT_WKT,e.PE_STR_FMT_WKT2=o.PeDefs.prototype.PE_STR_FMT_WKT2,e.PE_PARM_X0=o.PeDefs.prototype.PE_PARM_X0,e.PE_PARM_ND=o.PeDefs.prototype.PE_PARM_ND,e.PE_TRANSFORM_1_TO_2=o.PeDefs.prototype.PE_TRANSFORM_1_TO_2,e.PE_TRANSFORM_2_TO_1=o.PeDefs.prototype.PE_TRANSFORM_2_TO_1,e.PE_TRANSFORM_P_TO_G=o.PeDefs.prototype.PE_TRANSFORM_P_TO_G,e.PE_TRANSFORM_G_TO_P=o.PeDefs.prototype.PE_TRANSFORM_G_TO_P,e.PE_HORIZON_RECT=o.PeDefs.prototype.PE_HORIZON_RECT,e.PE_HORIZON_POLY=o.PeDefs.prototype.PE_HORIZON_POLY,e.PE_HORIZON_LINE=o.PeDefs.prototype.PE_HORIZON_LINE,e.PE_HORIZON_DELTA=o.PeDefs.prototype.PE_HORIZON_DELTA}e.init=t}(s||(s={}));let i=null;var p;!function(e){const t={},r={},n=e=>{const t=e.getType();switch(t){case s.PE_TYPE_GEOGCS:e=o.castObject(e,o.PeGeogcs);break;case s.PE_TYPE_PROJCS:e=o.castObject(e,o.PeProjcs);break;case s.PE_TYPE_GEOGTRAN:e=o.castObject(e,o.PeGeogtran);break;default:t&s.PE_TYPE_UNIT&&(e=o.castObject(e,o.PeUnit))}return e};function _(){o.PeFactory.prototype.initialize(null)}function P(e){return i(s.PE_TYPE_COORDSYS,e)}function i(e,r){let _=null,P=t[e];if(P||(P={},t[e]=P),P.hasOwnProperty(String(r))&&(_=P[r],o.compare(_,o.NULL)&&(_=null)),!_){const t=o.PeFactory.prototype.factoryByType(e,r);o.compare(t,o.NULL)||(_=n(t),P[r]=_)}return _}function p(e,t){let _=null,P=r[e];if(P||(P={},r[e]=P),P.hasOwnProperty(t)&&(_=P[t],o.compare(_,o.NULL)&&(_=null)),!_){const r=o.PeFactory.prototype.fromString(e,t);o.compare(r,o.NULL)||(_=n(r),P[t]=_)}return _}function u(e){return i(s.PE_TYPE_GEOGCS,e)}function E(e){return i(s.PE_TYPE_GEOGTRAN,e)}function c(e){return o.PeFactory.prototype.getCode(e)}function a(e){return i(s.PE_TYPE_PROJCS,e)}function g(e){return i(s.PE_TYPE_UNIT,e)}e.initialize=_,e.coordsys=P,e.factoryByType=i,e.fromString=p,e.geogcs=u,e.geogtran=E,e.getCode=c,e.projcs=a,e.unit=g}(p||(p={}));let u=null;var E,c,a,g,T,f,l,y,S,O,N;function d(e){function t(e,t,o){e[t]=o(e[t])}o=e,s.init(),E.init(),l.init(),S.init(),O.init(),i=class extends o.PeDouble{constructor(e=NaN){super(e)}destroy(){o.destroy(this)}[Symbol.dispose](){this.destroy()}},u=class extends o.PeGCSExtent{destroy(){o.destroy(this)}[Symbol.dispose](){this.destroy()}};const r=[o.PeAngunit,o.PeDatum,o.PeGeogcs,o.PeGeogtran,o.PeObject,o.PeParameter,o.PePrimem,o.PeProjcs,o.PeSpheroid,o.PeUnit];for(const o of r)t(o.prototype,\"getName\",(e=>function(){return e.call(this,new Array(s.PE_NAME_MAX))}));for(const P of[o.PeGeogtran,o.PeProjcs])t(P.prototype,\"getParameters\",(e=>function(){const t=new Array(s.PE_PARM_MAX);let r=e.call(this);for(let e=0;efunction(t=!1){const o=this.getSize();if(!o)return null;const r=[];return R(r,o,e.call(this),t),r})),t(o.PeGTlistExtendedEntry.prototype,\"getEntries\",(e=>{const t=o._pe_getPeGTlistExtendedGTsSize();return function(){let r=null;const n=e.call(this);if(!o.compare(n,o.NULL)){r=[n];const e=this.getSteps();if(e>1){const _=o.getPointer(n);for(let n=1;nfunction(){let t=this._cache;if(t||(t=new Map,this._cache=t),t.has(e))return t.get(e);let r=null;const _=e.call(this);if(!o.compare(_,o.NULL)){r=[_];const e=_.getNump();if(e>1){const t=o.getPointer(_);for(let _=1;_1)){const e=o.getPointer(u);for(let r=1;r{M(e);const t=e.getGeogtran();M(t),t.getParameters().forEach(M),[t.getGeogcs1(),t.getGeogcs2()].forEach((e=>{M(e);const t=e.getDatum();M(t),M(t.getSpheroid()),M(e.getPrimem()),M(e.getUnit())}))}));o.PeGTlistExtendedEntry.prototype.Delete(e[0])}}e.destroy=t}(c||(c={})),function(e){function t(e,t,r,n,_){o.ensureCache.prepare();const P=D(r),s=r===P,i=o.ensureFloat64(P);let p=0;n&&(p=o.ensureFloat64(n));const u=o._pe_geog_to_geog(o.getPointer(e),t,i,p,_);return u&&R(r,t,i,s),u}e.geogToGeog=t}(a||(a={})),function(e){function t(e,t,r,n,_,P,s,i){o.PeLineType.prototype.geodesic_coordinate(e,t,r,n,_,P,s,i)}function r(e,t,r,n,_,P,s,i,p){o.PeLineType.prototype.geodetic_coordinate(e,t,r,n,_,P,s,i,p)}function n(e,t,r,n,_,P,s,i,p,u){o.PeLineType.prototype.geodetic_distance(e,t,r,n,_,P,s,i,p,u)}function _(e,t,r,n,_,P,s,i,p){o.PeLineType.prototype.great_elliptic_distance(e,t,r,n,_,P,s,i,p)}e.geodesicCoordinate=t,e.geodeticCoordinate=r,e.geodeticDistance=n,e.greatEllipticDistance=_}(g||(g={})),function(e){function t(e,t){return o.PeMath.prototype.phi_to_eta(e,t)}function r(e,t){return o.PeMath.prototype.eta_to_phi(e,t)}function n(e,t){return o.PeMath.prototype.phi_to_phig(e,t)}function _(e,t,r){return o.PeMath.prototype.q(e,t,r)}function P(e,t){return o.PeMath.prototype.q90(e,t)}e.phiToEta=t,e.etaToPhi=r,e.phiToPhig=n,e.q=_,e.q90=P}(T||(T={})),function(e){const t=(e,t,r,n,_,P)=>{let i,p;switch(o.ensureCache.prepare(),e){case\"dd\":i=o._pe_geog_to_dd,p=s.PE_DD_MAX;break;case\"ddm\":i=o._pe_geog_to_ddm,p=s.PE_DDM_MAX;break;case\"dms\":i=o._pe_geog_to_dms,p=s.PE_DMS_MAX}let u=0;t&&(u=o.getPointer(t));const E=D(n),c=o.ensureFloat64(E),a=A(r,p),g=i(u,r,c,_,o.ensureInt32(a));if(g)for(let s=0;s{let P;switch(o.ensureCache.prepare(),e){case\"dd\":P=o._pe_dd_to_geog;break;case\"ddm\":P=o._pe_ddm_to_geog;break;case\"dms\":P=o._pe_dms_to_geog}let s=0;t&&(s=o.getPointer(t));const i=n.map((e=>o.ensureString(e))),p=o.ensureInt32(i),u=o.ensureFloat64(new Array(2*r)),E=P(s,r,p,u);return E&&R(_,r,u),E};function n(e,o,r,n,_){return t(\"dms\",e,o,r,n,_)}function _(e,t,o,n){return r(\"dms\",e,t,o,n)}function P(e,o,r,n,_){return t(\"ddm\",e,o,r,n,_)}function i(e,t,o,n){return r(\"ddm\",e,t,o,n)}function p(e,o,r,n,_){return t(\"dd\",e,o,r,n,_)}function u(e,t,o,n){return r(\"dd\",e,t,o,n)}e.geogToDms=n,e.dmsToGeog=_,e.geogToDdm=P,e.ddmToGeog=i,e.geogToDd=p,e.ddToGeog=u}(f||(f={})),function(e){function t(){e.PE_MGRS_STYLE_NEW=o.PeNotationMgrs.prototype.PE_MGRS_STYLE_NEW,e.PE_MGRS_STYLE_OLD=o.PeNotationMgrs.prototype.PE_MGRS_STYLE_OLD,e.PE_MGRS_STYLE_AUTO=o.PeNotationMgrs.prototype.PE_MGRS_STYLE_AUTO,e.PE_MGRS_180_ZONE_1_PLUS=o.PeNotationMgrs.prototype.PE_MGRS_180_ZONE_1_PLUS,e.PE_MGRS_ADD_SPACES=o.PeNotationMgrs.prototype.PE_MGRS_ADD_SPACES}function r(e,t,r,n,_,P,i){o.ensureCache.prepare();let p=0;e&&(p=o.getPointer(e));const u=D(r),E=o.ensureFloat64(u),c=A(t,s.PE_MGRS_MAX),a=o.ensureInt32(c),g=o._pe_geog_to_mgrs_extended(p,t,E,n,_,P,a);if(g)for(let s=0;so.ensureString(e))),i=o.ensureInt32(s),p=o.ensureFloat64(new Array(2*t)),u=o._pe_mgrs_to_geog_extended(P,t,i,n,p);return u&&R(_,t,p),u}e.init=t,e.geogToMgrsExtended=r,e.mgrsToGeogExtended=n}(l||(l={})),function(e){function t(e,t,r,n,_,P,i){o.ensureCache.prepare();let p=0;e&&(p=o.getPointer(e));const u=D(r),E=o.ensureFloat64(u),c=A(t,s.PE_MGRS_MAX),a=o.ensureInt32(c),g=o._pe_geog_to_usng(p,t,E,n,_,P,a);if(g)for(let s=0;so.ensureString(e))),s=o.ensureInt32(P),i=o.ensureFloat64(new Array(2*t)),p=o._pe_usng_to_geog(_,t,s,i);return p&&R(n,t,i),p}e.geogToUsng=t,e.usngToGeog=r}(y||(y={})),function(e){function t(){e.PE_UTM_OPTS_NONE=o.PeNotationUtm.prototype.PE_UTM_OPTS_NONE,e.PE_UTM_OPTS_ADD_SPACES=o.PeNotationUtm.prototype.PE_UTM_OPTS_ADD_SPACES,e.PE_UTM_OPTS_NS=o.PeNotationUtm.prototype.PE_UTM_OPTS_NS}function r(e,t,r,n,_){o.ensureCache.prepare();let P=0;e&&(P=o.getPointer(e));const i=D(r),p=o.ensureFloat64(i),u=A(t,s.PE_UTM_MAX),E=o.ensureInt32(u),c=o._pe_geog_to_utm(P,t,p,n,E);if(c)for(let s=0;so.ensureString(e))),i=o.ensureInt32(s),p=o.ensureFloat64(new Array(2*t)),u=o._pe_utm_to_geog(P,t,i,n,p);return u&&R(_,t,p),u}e.init=t,e.geogToUtm=r,e.utmToGeog=n}(S||(S={})),function(e){const t=new Map;function r(){e.PE_PCSINFO_OPTION_NONE=o.PePCSInfo.prototype.PE_PCSINFO_OPTION_NONE,e.PE_PCSINFO_OPTION_DOMAIN=o.PePCSInfo.prototype.PE_PCSINFO_OPTION_DOMAIN,e.PE_POLE_OUTSIDE_BOUNDARY=o.PePCSInfo.prototype.PE_POLE_OUTSIDE_BOUNDARY,e.PE_POLE_POINT=o.PePCSInfo.prototype.PE_POLE_POINT}function n(r,n=e.PE_PCSINFO_OPTION_DOMAIN){let _=null,P=null;return t.has(r)&&(P=t.get(r),P[n]&&(_=P[n])),_||(_=o.PePCSInfo.prototype.generate(r,n),P||(P=[],t.set(r,P)),P[n]=_),_}e.init=r,e.generate=n}(O||(O={})),function(e){function t(){return o.PeVersion.prototype.version_string()}e.versionString=t}(N||(N={}));const G=Object.freeze(Object.defineProperty({__proto__:null,get PeCSTransformations(){return P},get PeDefs(){return s},get PeDouble(){return i},get PeFactory(){return p},get PeGCSExtent(){return u},get PeGTTransformations(){return a},get PeGTlistExtended(){return E},get PeGTlistExtendedEntry(){return c},get PeLineType(){return g},get PeMath(){return T},get PeNotationDms(){return f},get PeNotationMgrs(){return l},get PeNotationUsng(){return y},get PeNotationUtm(){return S},get PePCSInfo(){return O},get PeVersion(){return N},_init:d,get _pe(){return o},isLoaded:r,isSupported:n,load:_},Symbol.toStringTag,{value:\"Module\"}));export{p as P,o as _,s as a,n as b,f as c,l as d,y as e,S as f,P as g,a as h,r as i,O as j,i as k,_ as l,u as m,E as n,c as o,G as p,g as q,T as r,N as s,d as t};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{id as e}from\"../kernel.js\";import{makeAbsolute as t,makeRelative as r,isAbsolute as s,normalize as o,isDataProtocol as n,splitPathExtension as l,changeDomain as a,hasSameOrigin as c,getAppUrl as i}from\"../core/urlUtils.js\";import{normalizeArcGISOnlineOrgDomain as u}from\"../portal/support/urlUtils.js\";function p(e,s){const o=s?.url?.path;if(e&&o&&(e=t(e,o,{preserveProtocolRelative:!0}),s.portalItem&&s.readResourcePaths)){const t=r(e,s.portalItem.itemUrl);null!=t&&v.test(t)&&s.readResourcePaths.push(s.portalItem.resourceFromPath(t).path)}return(e=I(e,s?.portal))&&d.test(e)?R(e):e}function m(e,l,a=y.YES){if(null==(e=e&&d.test(e)?w(e):e))return e;!s(e)&&l?.blockedRelativeUrls&&l.blockedRelativeUrls.push(e);let c=t(e);if(l){const t=l.verifyItemRelativeUrls?.rootPath||l.url?.path;if(t){const s=I(t,l.portal),o=I(c,l.portal);c=r(o,s,s);null!=c&&c!==o&&c!==e&&l.verifyItemRelativeUrls&&l.verifyItemRelativeUrls.writtenUrls.push(c)}}return c=x(c,l?.portal),s(c)&&(c=o(c)),l?.resources&&l?.portalItem&&!s(c)&&!n(c)&&a===y.YES&&l.resources.toKeep.push({resource:l.portalItem.resourceFromPath(c),compress:!1}),c}function f(e,t,r){return p(e,r)}function h(e,t,r,s){const o=m(e,s);void 0!==o&&(t[r]=o)}const d=/\\/items\\/([^/]+)\\/resources\\/(.*)/,v=/^\\.\\/resources\\//;function U(e){const t=e?.match(d)??null;return t?.[1]??null}function g(e){const t=e?.match(d)??null;if(null==t)return null;const r=t[2],s=r.lastIndexOf(\"/\");if(-1===s){const{path:e,extension:t}=l(r);return{prefix:null,filename:e,extension:t}}const{path:o,extension:n}=l(r.slice(s+1));return{prefix:r.slice(0,s),filename:o,extension:n}}function x(e,t){return t&&!t.isPortal&&t.urlKey&&t.customBaseUrl?a(e,`${t.urlKey}.${t.customBaseUrl}`,t.portalHostname):e}function I(e,t){if(!t||t.isPortal||!t.urlKey||!t.customBaseUrl)return e;const r=`${t.urlKey}.${t.customBaseUrl}`,s=i();return c(s,`${s.scheme}://${r}`)?a(e,t.portalHostname,r):a(e,r,t.portalHostname)}function R(t){if(!t)return t||null;let r=t;return r&&e&&!e.findCredential(r)&&(r=u(r),r=r.replace(/^https?:\\/\\/www\\.arcgis\\.com/,\"https://cdn.arcgis.com\"),r=r.replace(/^https?:\\/\\/devext\\.arcgis\\.com/,\"https://cdndev.arcgis.com\"),r=r.replace(/^https?:\\/\\/qaext\\.arcgis\\.com/,\"https://cdnqa.arcgis.com\")),r}function w(t){if(!t)return t||null;let r=t;return r=r.replace(/^https?:\\/\\/cdn\\.arcgis\\.com/,\"https://www.arcgis.com\"),r=r.replace(/^https?:\\/\\/cdndev\\.arcgis\\.com/,\"https://devext.arcgis.com\"),r=r.replace(/^https?:\\/\\/cdnqa\\.arcgis\\.com/,\"https://qaext.arcgis.com\"),r&&e&&!e.findCredential(r)&&(r=u(r)),r}var y;!function(e){e[e.YES=0]=\"YES\",e[e.NO=1]=\"NO\"}(y||(y={}));const P=Object.freeze(Object.defineProperty({__proto__:null,get MarkKeep(){return y},ensureMainOnlineDomain:x,fromCDNUrl:w,fromJSON:p,itemIdFromResourceUrl:U,prefixAndFilenameFromResourceUrl:g,read:f,toCDNUrl:R,toJSON:m,write:h},Symbol.toStringTag,{value:\"Module\"}));export{y as M,R as a,P as b,w as c,x as e,p as f,U as i,g as p,f as r,m as t,h as w};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nfunction t(t,r,f,n,h){o(t,r,f||0,n||t.length-1,h||a)}function o(t,a,f,n,h){for(;n>f;){if(n-f>600){var M=n-f+1,i=a-f+1,u=Math.log(M),c=.5*Math.exp(2*u/3),e=.5*Math.sqrt(u*c*(M-c)/M)*(i-M/2<0?-1:1);o(t,a,Math.max(f,Math.floor(a-i*c/M+e)),Math.min(n,Math.floor(a+(M-i)*c/M+e)),h)}var l=t[a],v=f,x=n;for(r(t,f,a),h(t[n],l)>0&&r(t,f,n);v0;)x--}0===h(t[f],l)?r(t,f,x):r(t,++x,n),x<=a&&(f=x+1),a<=x&&(n=x-1)}}function r(t,o,r){var a=t[o];t[o]=t[r],t[r]=a}function a(t,o){return to?1:0}export{t as q};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{q as t}from\"./quickselect.js\";function i(t,n){if(!(this instanceof i))return new i(t,n);this._maxEntries=Math.max(4,t||9),this._minEntries=Math.max(2,Math.ceil(.4*this._maxEntries)),n&&(\"function\"==typeof n?this.toBBox=n:this._initFormat(n)),this.clear()}function n(t,i,n){if(!n)return i.indexOf(t);for(var h=0;h=t.minX&&i.maxY>=t.minY}function x(t){return{children:t,height:1,leaf:!0,minX:1/0,minY:1/0,maxX:-1/0,maxY:-1/0}}function d(i,n,h,a,r){for(var e,o=[n,h];o.length;)(h=o.pop())-(n=o.pop())<=a||(e=n+Math.ceil((h-n)/a/2)*a,t(i,e,n,h,r),o.push(n,e,e,h))}i.prototype={all:function(){return this._all(this.data,[])},search:function(t){var i=this.data,n=[],h=this.toBBox;if(!f(t,i))return n;for(var a,r,e,o,s=[];i;){for(a=0,r=i.children.length;a=0&&e[i].children.length>this._maxEntries;)this._split(e,i),i--;this._adjustParentBBoxes(a,e,i)},_split:function(t,i){var n=t[i],a=n.children.length,r=this._minEntries;this._chooseSplitAxis(n,r,a);var e=this._chooseSplitIndex(n,r,a),o=x(n.children.splice(e,n.children.length-e));o.height=n.height,o.leaf=n.leaf,h(n,this.toBBox),h(o,this.toBBox),i?t[i-1].children.push(o):this._splitRoot(n,o)},_splitRoot:function(t,i){this.data=x([t,i]),this.data.height=t.height+1,this.data.leaf=!1,h(this.data,this.toBBox)},_chooseSplitIndex:function(t,i,n){var h,r,e,o,l,m,u,f;for(m=u=1/0,h=i;h<=n-i;h++)o=c(r=a(t,0,h,this.toBBox),e=a(t,h,n,this.toBBox)),l=s(r)+s(e),o=i;e--)o=t.children[e],r(c,t.leaf?s(o):o),u+=l(c);return u},_adjustParentBBoxes:function(t,i,n){for(var h=n;h>=0;h--)r(i[h],t)},_condense:function(t){for(var i,n=t.length-1;n>=0;n--)0===t[n].children.length?n>0?(i=t[n-1].children).splice(i.indexOf(t[n]),1):this.clear():h(t[n],this.toBBox)},_initFormat:function(t){var i=[\"return a\",\" - b\",\";\"];this.compareMinX=new Function(\"a\",\"b\",i.join(t[0])),this.compareMinY=new Function(\"a\",\"b\",i.join(t[1])),this.toBBox=new Function(\"a\",\"return {minX: a\"+t[0]+\", minY: a\"+t[1]+\", maxX: a\"+t[2]+\", maxY: a\"+t[3]+\"};\")}};export{i as r};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport\"../core/has.js\";import\"../core/Logger.js\";import{acosClamped as t}from\"../core/mathUtils.js\";import{fromRotation as r}from\"../core/libs/gl-matrix-2/math/mat4.js\";import{g as n,h as s,j as o,l as e,e as i,t as a,d as c,k as u,n as f,i as m,s as l,m as g,b as p}from\"./vec32.js\";import{create as h}from\"../core/libs/gl-matrix-2/factories/vec3f64.js\";import{e as M,c as j}from\"./vec42.js\";import{create as d,fromValues as y}from\"../core/libs/gl-matrix-2/factories/vec4f64.js\";import{getEpsilon as b}from\"../core/libs/gl-matrix-2/math/common.js\";import{Axis as x}from\"../geometry/support/Axis.js\";import{fromPoints as v,closestPoint as S}from\"../geometry/support/ray.js\";import{cartesianToSpherical as q}from\"../geometry/support/sphereUtils.js\";import{angle as A}from\"../geometry/support/vector.js\";import{sv3d as P,sm4d as R}from\"../geometry/support/vectorStacks.js\";const C=E();function E(){return d()}const _=M,k=M;function w(t,r){return j(r,t)}function O(t,r){return y(t[0],t[1],t[2],r)}function T(t){return t}function z(t){t[0]=t[1]=t[2]=t[3]=0}function L(t,r){return t[0]=t[1]=t[2]=0,t[3]=r,t}function N(t){return t[3]}function U(t){return t}function V(t,r,n,s){return y(t,r,n,s)}function Z(t,r,n){return t!==n&&(n[0]=t[0],n[1]=t[1],n[2]=t[2]),n[3]=t[3]+r,n}function B(t,r,n){return t!==n&&w(t,n),n}function D(t,r){return r}function F(t,r,n){if(null==r)return!1;if(!Y(t,r,X))return!1;let{t0:s,t1:o}=X;if((s<0||o0)&&(s=o),s<0)return!1;if(n){const{origin:t,direction:o}=r;n[0]=t[0]+o[0]*s,n[1]=t[1]+o[1]*s,n[2]=t[2]+o[2]*s}return!0}function I(t,r,n){const s=v(r,n);if(!Y(t,s,X))return[];const{origin:o,direction:e}=s,{t0:i,t1:a}=X,c=r=>{const n=h();return p(n,o,e,r),$(t,n,n)};return Math.abs(i-a)=0;c--)(t=r[c])&&(i=(s<3?t(i):s>3?t(e,o,i):t(e,o))||i);return s>3&&i&&Object.defineProperty(e,o,i),i}function e(r,e){return function(o,n){e(o,n,r)}}function o(r,e,o,n){function t(r){return r instanceof o?r:new o((function(e){e(r)}))}return new(o||(o=Promise))((function(o,s){function i(r){try{f(n.next(r))}catch(e){s(e)}}function c(r){try{f(n.throw(r))}catch(e){s(e)}}function f(r){r.done?o(r.value):t(r.value).then(i,c)}f((n=n.apply(r,e||[])).next())}))}function n(r,e,o){if(null!=e){if(\"object\"!=typeof e&&\"function\"!=typeof e)throw new TypeError(\"Object expected.\");var n,t;if(o){if(!Symbol.asyncDispose)throw new TypeError(\"Symbol.asyncDispose is not defined.\");n=e[Symbol.asyncDispose]}if(void 0===n){if(!Symbol.dispose)throw new TypeError(\"Symbol.dispose is not defined.\");n=e[Symbol.dispose],o&&(t=n)}if(\"function\"!=typeof n)throw new TypeError(\"Object not disposable.\");t&&(n=function(){try{t.call(this)}catch(r){return Promise.reject(r)}}),r.stack.push({value:e,dispose:n,async:o})}else o&&r.stack.push({async:!0});return e}var t=\"function\"==typeof SuppressedError?SuppressedError:function(r,e,o){var n=new Error(o);return n.name=\"SuppressedError\",n.error=r,n.suppressed=e,n};function s(r){function e(e){r.error=r.hasError?new t(e,r.error,\"An error was suppressed during disposal.\"):e,r.hasError=!0}var o,n=0;function s(){for(;o=r.stack.pop();)try{if(!o.async&&1===n)return n=0,r.stack.push(o),Promise.resolve().then(s);if(o.dispose){var t=o.dispose.call(o.value);if(o.async)return n|=2,Promise.resolve(t).then(s,(function(r){return e(r),s()}))}else n|=1}catch(i){e(i)}if(1===n)return r.hasError?Promise.reject(r.error):Promise.resolve();if(r.hasError)throw r.error}return s()}export{r as _,e as a,n as b,s as c,o as d};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{create as t}from\"../core/libs/gl-matrix-2/factories/vec3f64.js\";import{getEpsilon as n,RANDOM as a}from\"../core/libs/gl-matrix-2/math/common.js\";function r(t){const n=t[0],a=t[1],r=t[2];return Math.sqrt(n*n+a*a+r*r)}function s(t,n){return t[0]=n[0],t[1]=n[1],t[2]=n[2],t}function o(t,n,a,r){return t[0]=n,t[1]=a,t[2]=r,t}function u(t,n,a){return t[0]=n[0]+a[0],t[1]=n[1]+a[1],t[2]=n[2]+a[2],t}function c(t,n,a){return t[0]=n[0]-a[0],t[1]=n[1]-a[1],t[2]=n[2]-a[2],t}function e(t,n,a){return t[0]=n[0]*a[0],t[1]=n[1]*a[1],t[2]=n[2]*a[2],t}function i(t,n,a){return t[0]=n[0]/a[0],t[1]=n[1]/a[1],t[2]=n[2]/a[2],t}function h(t,n){return t[0]=Math.ceil(n[0]),t[1]=Math.ceil(n[1]),t[2]=Math.ceil(n[2]),t}function M(t,n){return t[0]=Math.floor(n[0]),t[1]=Math.floor(n[1]),t[2]=Math.floor(n[2]),t}function f(t,n){return t[0]=Math.abs(n[0]),t[1]=Math.abs(n[1]),t[2]=Math.abs(n[2]),t}function m(t,n){return t[0]=Math.sign(n[0]),t[1]=Math.sign(n[1]),t[2]=Math.sign(n[2]),t}function l(t,n,a){return t[0]=Math.min(n[0],a[0]),t[1]=Math.min(n[1],a[1]),t[2]=Math.min(n[2],a[2]),t}function d(t,n,a){return t[0]=Math.max(n[0],a[0]),t[1]=Math.max(n[1],a[1]),t[2]=Math.max(n[2],a[2]),t}function b(t,n=0,a=1){return t[0]=Math.min(Math.max(t[0],n),a),t[1]=Math.min(Math.max(t[1],n),a),t[2]=Math.min(Math.max(t[2],n),a),t}function x(t,n){return t[0]=Math.round(n[0]),t[1]=Math.round(n[1]),t[2]=Math.round(n[2]),t}function g(t,n,a){return t[0]=n[0]*a,t[1]=n[1]*a,t[2]=n[2]*a,t}function q(t,n,a,r){return t[0]=n[0]+a[0]*r,t[1]=n[1]+a[1]*r,t[2]=n[2]+a[2]*r,t}function p(t,n){const a=n[0]-t[0],r=n[1]-t[1],s=n[2]-t[2];return Math.sqrt(a*a+r*r+s*s)}function v(t,n){const a=n[0]-t[0],r=n[1]-t[1],s=n[2]-t[2];return a*a+r*r+s*s}function j(t){const n=t[0],a=t[1],r=t[2];return n*n+a*a+r*r}function y(t,n){return t[0]=-n[0],t[1]=-n[1],t[2]=-n[2],t}function z(t,n){return t[0]=1/n[0],t[1]=1/n[1],t[2]=1/n[2],t}function A(t,n){const a=n[0],r=n[1],s=n[2];let o=a*a+r*r+s*s;return o>0&&(o=1/Math.sqrt(o),t[0]=n[0]*o,t[1]=n[1]*o,t[2]=n[2]*o),t}function P(t,n){return t[0]*n[0]+t[1]*n[1]+t[2]*n[2]}function _(t,n,a){const r=n[0],s=n[1],o=n[2],u=a[0],c=a[1],e=a[2];return t[0]=s*e-o*c,t[1]=o*u-r*e,t[2]=r*c-s*u,t}function D(t,n,a){const r=n[0],s=n[1],o=n[2],u=a[0],c=a[1],e=a[2],i=s*e-o*c,h=o*u-r*e,M=r*c-s*u,f=Math.sqrt(i*i+h*h+M*M);return t[0]=i/f,t[1]=h/f,t[2]=M/f,t}function I(t,n,a,r){const s=n[0],o=n[1],u=n[2];return t[0]=s+r*(a[0]-s),t[1]=o+r*(a[1]-o),t[2]=u+r*(a[2]-u),t}function L(t,n,a,r,s,o){const u=o*o,c=u*(2*o-3)+1,e=u*(o-2)+o,i=u*(o-1),h=u*(3-2*o);return t[0]=n[0]*c+a[0]*e+r[0]*i+s[0]*h,t[1]=n[1]*c+a[1]*e+r[1]*i+s[1]*h,t[2]=n[2]*c+a[2]*e+r[2]*i+s[2]*h,t}function O(t,n,a,r,s,o){const u=1-o,c=u*u,e=o*o,i=c*u,h=3*o*c,M=3*e*u,f=e*o;return t[0]=n[0]*i+a[0]*h+r[0]*M+s[0]*f,t[1]=n[1]*i+a[1]*h+r[1]*M+s[1]*f,t[2]=n[2]*i+a[2]*h+r[2]*M+s[2]*f,t}function S(t,n=1){const r=a,s=2*r()*Math.PI,o=2*r()-1,u=Math.sqrt(1-o*o)*n;return t[0]=Math.cos(s)*u,t[1]=Math.sin(s)*u,t[2]=o*n,t}function E(t,n,a){const r=n[0],s=n[1],o=n[2];return t[0]=a[0]*r+a[4]*s+a[8]*o+a[12],t[1]=a[1]*r+a[5]*s+a[9]*o+a[13],t[2]=a[2]*r+a[6]*s+a[10]*o+a[14],t}function N(t,n,a){const r=n[0],s=n[1],o=n[2];return t[0]=r*a[0]+s*a[3]+o*a[6],t[1]=r*a[1]+s*a[4]+o*a[7],t[2]=r*a[2]+s*a[5]+o*a[8],t}function Q(t,n,a){const r=a[0],s=a[1],o=a[2],u=a[3],c=n[0],e=n[1],i=n[2],h=s*i-o*e,M=o*c-r*i,f=r*e-s*c,m=s*f-o*M,l=o*h-r*f,d=r*M-s*h,b=2*u;return t[0]=c+h*b+2*m,t[1]=e+M*b+2*l,t[2]=i+f*b+2*d,t}function T(t,n,a,r){const s=[],o=[];return s[0]=n[0]-a[0],s[1]=n[1]-a[1],s[2]=n[2]-a[2],o[0]=s[0],o[1]=s[1]*Math.cos(r)-s[2]*Math.sin(r),o[2]=s[1]*Math.sin(r)+s[2]*Math.cos(r),t[0]=o[0]+a[0],t[1]=o[1]+a[1],t[2]=o[2]+a[2],t}function k(t,n,a,r){const s=[],o=[];return s[0]=n[0]-a[0],s[1]=n[1]-a[1],s[2]=n[2]-a[2],o[0]=s[2]*Math.sin(r)+s[0]*Math.cos(r),o[1]=s[1],o[2]=s[2]*Math.cos(r)-s[0]*Math.sin(r),t[0]=o[0]+a[0],t[1]=o[1]+a[1],t[2]=o[2]+a[2],t}function w(t,n,a,r){const s=[],o=[];return s[0]=n[0]-a[0],s[1]=n[1]-a[1],s[2]=n[2]-a[2],o[0]=s[0]*Math.cos(r)-s[1]*Math.sin(r),o[1]=s[0]*Math.sin(r)+s[1]*Math.cos(r),o[2]=s[2],t[0]=o[0]+a[0],t[1]=o[1]+a[1],t[2]=o[2]+a[2],t}function B(t,n){A(C,t),A(F,n);const a=P(C,F);return a>1?0:a<-1?Math.PI:Math.acos(a)}const C=t(),F=t();function G(t){return\"vec3(\"+t[0]+\", \"+t[1]+\", \"+t[2]+\")\"}function H(t,n){return t[0]===n[0]&&t[1]===n[1]&&t[2]===n[2]}function J(t,a){if(t===a)return!0;const r=t[0],s=t[1],o=t[2],u=a[0],c=a[1],e=a[2],i=n();return Math.abs(r-u)<=i*Math.max(1,Math.abs(r),Math.abs(u))&&Math.abs(s-c)<=i*Math.max(1,Math.abs(s),Math.abs(c))&&Math.abs(o-e)<=i*Math.max(1,Math.abs(o),Math.abs(e))}function K(t,n,a){const r=a[0]-n[0],s=a[1]-n[1],o=a[2]-n[2];let u=r*r+s*s+o*o;return u>0?(u=1/Math.sqrt(u),t[0]=r*u,t[1]=s*u,t[2]=o*u,t):(t[0]=0,t[1]=0,t[2]=0,t)}const R=c,U=e,V=i,W=p,X=v,Y=r,Z=j,$=Object.freeze(Object.defineProperty({__proto__:null,abs:f,add:u,angle:B,bezier:O,ceil:h,clamp:b,copy:s,cross:_,crossAndNormalize:D,direction:K,dist:W,distance:p,div:V,divide:i,dot:P,equals:J,exactEquals:H,floor:M,hermite:L,inverse:z,len:Y,length:r,lerp:I,max:d,min:l,mul:U,multiply:e,negate:y,normalize:A,random:S,rotateX:T,rotateY:k,rotateZ:w,round:x,scale:g,scaleAndAdd:q,set:o,sign:m,sqrDist:X,sqrLen:Z,squaredDistance:v,squaredLength:j,str:G,sub:R,subtract:c,transformMat3:N,transformMat4:E,transformQuat:Q},Symbol.toStringTag,{value:\"Module\"}));export{l as A,m as B,e as C,d as D,i as E,W as F,Y as G,J as H,$ as I,M as J,w as K,b as L,h as M,x as N,D as O,L as P,O as Q,S as R,T as S,k as T,G as U,U as V,V as W,R as a,q as b,s as c,c as d,_ as e,P as f,u as g,g as h,o as i,p as j,j as k,r as l,I as m,A as n,K as o,H as p,N as q,B as r,v as s,E as t,z as u,y as v,Q as w,f as x,X as y,Z as z};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{getEpsilon as t,RANDOM as n}from\"../core/libs/gl-matrix-2/math/common.js\";function a(t,n){return t[0]=n[0],t[1]=n[1],t[2]=n[2],t[3]=n[3],t}function r(t,n){return t[0]=n[0],t[1]=n[1],t[2]=n[2],t}function s(t,n,a,r,s){return t[0]=n,t[1]=a,t[2]=r,t[3]=s,t}function o(t,n,a){return t[0]=n[0]+a[0],t[1]=n[1]+a[1],t[2]=n[2]+a[2],t[3]=n[3]+a[3],t}function u(t,n,a){return t[0]=n[0]-a[0],t[1]=n[1]-a[1],t[2]=n[2]-a[2],t[3]=n[3]-a[3],t}function e(t,n,a){return t[0]=n[0]*a[0],t[1]=n[1]*a[1],t[2]=n[2]*a[2],t[3]=n[3]*a[3],t}function c(t,n,a){return t[0]=n[0]/a[0],t[1]=n[1]/a[1],t[2]=n[2]/a[2],t[3]=n[3]/a[3],t}function i(t,n){return t[0]=Math.ceil(n[0]),t[1]=Math.ceil(n[1]),t[2]=Math.ceil(n[2]),t[3]=Math.ceil(n[3]),t}function h(t,n){return t[0]=Math.floor(n[0]),t[1]=Math.floor(n[1]),t[2]=Math.floor(n[2]),t[3]=Math.floor(n[3]),t}function M(t,n,a){return t[0]=Math.min(n[0],a[0]),t[1]=Math.min(n[1],a[1]),t[2]=Math.min(n[2],a[2]),t[3]=Math.min(n[3],a[3]),t}function f(t,n,a){return t[0]=Math.max(n[0],a[0]),t[1]=Math.max(n[1],a[1]),t[2]=Math.max(n[2],a[2]),t[3]=Math.max(n[3],a[3]),t}function l(t,n){return t[0]=Math.round(n[0]),t[1]=Math.round(n[1]),t[2]=Math.round(n[2]),t[3]=Math.round(n[3]),t}function m(t,n,a){return t[0]=n[0]*a,t[1]=n[1]*a,t[2]=n[2]*a,t[3]=n[3]*a,t}function d(t,n,a,r){return t[0]=n[0]+a[0]*r,t[1]=n[1]+a[1]*r,t[2]=n[2]+a[2]*r,t[3]=n[3]+a[3]*r,t}function b(t,n){const a=n[0]-t[0],r=n[1]-t[1],s=n[2]-t[2],o=n[3]-t[3];return Math.sqrt(a*a+r*r+s*s+o*o)}function x(t,n){const a=n[0]-t[0],r=n[1]-t[1],s=n[2]-t[2],o=n[3]-t[3];return a*a+r*r+s*s+o*o}function q(t){const n=t[0],a=t[1],r=t[2],s=t[3];return Math.sqrt(n*n+a*a+r*r+s*s)}function p(t){const n=t[0],a=t[1],r=t[2],s=t[3];return n*n+a*a+r*r+s*s}function g(t,n){return t[0]=-n[0],t[1]=-n[1],t[2]=-n[2],t[3]=-n[3],t}function v(t,n){return t[0]=1/n[0],t[1]=1/n[1],t[2]=1/n[2],t[3]=1/n[3],t}function y(t,n){const a=n[0],r=n[1],s=n[2],o=n[3];let u=a*a+r*r+s*s+o*o;return u>0&&(u=1/Math.sqrt(u),t[0]=a*u,t[1]=r*u,t[2]=s*u,t[3]=o*u),t}function j(t,n){return t[0]*n[0]+t[1]*n[1]+t[2]*n[2]+t[3]*n[3]}function _(t,n,a,r){const s=n[0],o=n[1],u=n[2],e=n[3];return t[0]=s+r*(a[0]-s),t[1]=o+r*(a[1]-o),t[2]=u+r*(a[2]-u),t[3]=e+r*(a[3]-e),t}function w(t,a=1){const r=n;let s,o,u,e,c,i;do{s=2*r()-1,o=2*r()-1,c=s*s+o*o}while(c>=1);do{u=2*r()-1,e=2*r()-1,i=u*u+e*e}while(i>=1);const h=Math.sqrt((1-c)/i);return t[0]=a*s,t[1]=a*o,t[2]=a*u*h,t[3]=a*e*h,t}function z(t,n,a){const r=n[0],s=n[1],o=n[2],u=n[3];return t[0]=a[0]*r+a[4]*s+a[8]*o+a[12]*u,t[1]=a[1]*r+a[5]*s+a[9]*o+a[13]*u,t[2]=a[2]*r+a[6]*s+a[10]*o+a[14]*u,t[3]=a[3]*r+a[7]*s+a[11]*o+a[15]*u,t}function A(t,n,a){const r=n[0],s=n[1],o=n[2],u=a[0],e=a[1],c=a[2],i=a[3],h=i*r+e*o-c*s,M=i*s+c*r-u*o,f=i*o+u*s-e*r,l=-u*r-e*s-c*o;return t[0]=h*i+l*-u+M*-c-f*-e,t[1]=M*i+l*-e+f*-u-h*-c,t[2]=f*i+l*-c+h*-e-M*-u,t[3]=n[3],t}function D(t){return\"vec4(\"+t[0]+\", \"+t[1]+\", \"+t[2]+\", \"+t[3]+\")\"}function E(t,n){return t[0]===n[0]&&t[1]===n[1]&&t[2]===n[2]&&t[3]===n[3]}function L(n,a){const r=n[0],s=n[1],o=n[2],u=n[3],e=a[0],c=a[1],i=a[2],h=a[3],M=t();return Math.abs(r-e)<=M*Math.max(1,Math.abs(r),Math.abs(e))&&Math.abs(s-c)<=M*Math.max(1,Math.abs(s),Math.abs(c))&&Math.abs(o-i)<=M*Math.max(1,Math.abs(o),Math.abs(i))&&Math.abs(u-h)<=M*Math.max(1,Math.abs(u),Math.abs(h))}const O=u,S=e,k=c,B=b,C=x,F=q,G=p,H=Object.freeze(Object.defineProperty({__proto__:null,add:o,ceil:i,copy:a,copyVec3:r,dist:B,distance:b,div:k,divide:c,dot:j,equals:L,exactEquals:E,floor:h,inverse:v,len:F,length:q,lerp:_,max:f,min:M,mul:S,multiply:e,negate:g,normalize:y,random:w,round:l,scale:m,scaleAndAdd:d,set:s,sqrDist:C,sqrLen:G,squaredDistance:x,squaredLength:p,str:D,sub:O,subtract:u,transformMat4:z,transformQuat:A},Symbol.toStringTag,{value:\"Module\"}));export{v as A,w as B,A as C,D,O as E,S as F,k as G,B as H,C as I,F as J,G as K,E as a,p as b,a as c,m as d,L as e,x as f,o as g,j as h,r as i,q as j,u as k,_ as l,e as m,y as n,c as o,i as p,h as q,M as r,s,z as t,f as u,H as v,l as w,d as x,b as y,g as z};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nconst e={transparent:[0,0,0,0],black:[0,0,0,1],silver:[192,192,192,1],gray:[128,128,128,1],white:[255,255,255,1],maroon:[128,0,0,1],red:[255,0,0,1],purple:[128,0,128,1],fuchsia:[255,0,255,1],green:[0,128,0,1],lime:[0,255,0,1],olive:[128,128,0,1],yellow:[255,255,0,1],navy:[0,0,128,1],blue:[0,0,255,1],teal:[0,128,128,1],aqua:[0,255,255,1],aliceblue:[240,248,255,1],antiquewhite:[250,235,215,1],aquamarine:[127,255,212,1],azure:[240,255,255,1],beige:[245,245,220,1],bisque:[255,228,196,1],blanchedalmond:[255,235,205,1],blueviolet:[138,43,226,1],brown:[165,42,42,1],burlywood:[222,184,135,1],cadetblue:[95,158,160,1],chartreuse:[127,255,0,1],chocolate:[210,105,30,1],coral:[255,127,80,1],cornflowerblue:[100,149,237,1],cornsilk:[255,248,220,1],crimson:[220,20,60,1],cyan:[0,255,255,1],darkblue:[0,0,139,1],darkcyan:[0,139,139,1],darkgoldenrod:[184,134,11,1],darkgray:[169,169,169,1],darkgreen:[0,100,0,1],darkgrey:[169,169,169,1],darkkhaki:[189,183,107,1],darkmagenta:[139,0,139,1],darkolivegreen:[85,107,47,1],darkorange:[255,140,0,1],darkorchid:[153,50,204,1],darkred:[139,0,0,1],darksalmon:[233,150,122,1],darkseagreen:[143,188,143,1],darkslateblue:[72,61,139,1],darkslategray:[47,79,79,1],darkslategrey:[47,79,79,1],darkturquoise:[0,206,209,1],darkviolet:[148,0,211,1],deeppink:[255,20,147,1],deepskyblue:[0,191,255,1],dimgray:[105,105,105,1],dimgrey:[105,105,105,1],dodgerblue:[30,144,255,1],firebrick:[178,34,34,1],floralwhite:[255,250,240,1],forestgreen:[34,139,34,1],gainsboro:[220,220,220,1],ghostwhite:[248,248,255,1],gold:[255,215,0,1],goldenrod:[218,165,32,1],greenyellow:[173,255,47,1],grey:[128,128,128,1],honeydew:[240,255,240,1],hotpink:[255,105,180,1],indianred:[205,92,92,1],indigo:[75,0,130,1],ivory:[255,255,240,1],khaki:[240,230,140,1],lavender:[230,230,250,1],lavenderblush:[255,240,245,1],lawngreen:[124,252,0,1],lemonchiffon:[255,250,205,1],lightblue:[173,216,230,1],lightcoral:[240,128,128,1],lightcyan:[224,255,255,1],lightgoldenrodyellow:[250,250,210,1],lightgray:[211,211,211,1],lightgreen:[144,238,144,1],lightgrey:[211,211,211,1],lightpink:[255,182,193,1],lightsalmon:[255,160,122,1],lightseagreen:[32,178,170,1],lightskyblue:[135,206,250,1],lightslategray:[119,136,153,1],lightslategrey:[119,136,153,1],lightsteelblue:[176,196,222,1],lightyellow:[255,255,224,1],limegreen:[50,205,50,1],linen:[250,240,230,1],magenta:[255,0,255,1],mediumaquamarine:[102,205,170,1],mediumblue:[0,0,205,1],mediumorchid:[186,85,211,1],mediumpurple:[147,112,219,1],mediumseagreen:[60,179,113,1],mediumslateblue:[123,104,238,1],mediumspringgreen:[0,250,154,1],mediumturquoise:[72,209,204,1],mediumvioletred:[199,21,133,1],midnightblue:[25,25,112,1],mintcream:[245,255,250,1],mistyrose:[255,228,225,1],moccasin:[255,228,181,1],navajowhite:[255,222,173,1],oldlace:[253,245,230,1],olivedrab:[107,142,35,1],orange:[255,165,0,1],orangered:[255,69,0,1],orchid:[218,112,214,1],palegoldenrod:[238,232,170,1],palegreen:[152,251,152,1],paleturquoise:[175,238,238,1],palevioletred:[219,112,147,1],papayawhip:[255,239,213,1],peachpuff:[255,218,185,1],peru:[205,133,63,1],pink:[255,192,203,1],plum:[221,160,221,1],powderblue:[176,224,230,1],rebeccapurple:[102,51,153,1],rosybrown:[188,143,143,1],royalblue:[65,105,225,1],saddlebrown:[139,69,19,1],salmon:[250,128,114,1],sandybrown:[244,164,96,1],seagreen:[46,139,87,1],seashell:[255,245,238,1],sienna:[160,82,45,1],skyblue:[135,206,235,1],slateblue:[106,90,205,1],slategray:[112,128,144,1],slategrey:[112,128,144,1],snow:[255,250,250,1],springgreen:[0,255,127,1],steelblue:[70,130,180,1],tan:[210,180,140,1],thistle:[216,191,216,1],tomato:[255,99,71,1],turquoise:[64,224,208,1],violet:[238,130,238,1],wheat:[245,222,179,1],whitesmoke:[245,245,245,1],yellowgreen:[154,205,50,1]};function r(r){return!!e[r]||!!e[r.toLowerCase()]}function l(r){return e[r]??e[r.toLowerCase()]}function a(e){return[...l(e)]}function n(e,r,l){l<0&&++l,l>1&&--l;const a=6*l;return a<1?e+(r-e)*a:2*l<1?r:3*l<2?e+(r-e)*(2/3-l)*6:e}function i(e,r,l,a=1){const i=(e%360+360)%360/360,o=l<=.5?l*(r+1):l+r-l*r,t=2*l-o;return[Math.round(255*n(t,o,i+1/3)),Math.round(255*n(t,o,i)),Math.round(255*n(t,o,i-1/3)),a]}function o(e){const r=e.length>5,l=r?8:4,a=(1<>=l,t[3]=n*d/255),d=o&a,o>>=l,t[2]=n*d,d=o&a,o>>=l,t[1]=n*d,d=o&a,o>>=l,t[0]=n*d,t}export{l as getNamedColor,a as getNamedColorCopy,o as hex2rgba,i as hsla2rgba,r as isNamedColor};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport\"./core/has.js\";import{deepMerge as e}from\"./core/object.js\";const s={apiKey:void 0,applicationName:\"\",applicationUrl:globalThis.location?.href,assetsPath:\"\",fontsUrl:\"https://static.arcgis.com/fonts\",geometryServiceUrl:\"https://utility.arcgisonline.com/arcgis/rest/services/Geometry/GeometryServer\",geoRSSServiceUrl:\"https://utility.arcgis.com/sharing/rss\",kmlServiceUrl:\"https://utility.arcgis.com/sharing/kml\",userPrivilegesApplied:!0,portalUrl:\"https://www.arcgis.com\",respectPrefersReducedMotion:!0,routeServiceUrl:\"https://route-api.arcgis.com/arcgis/rest/services/World/Route/NAServer/Route_World\",workers:{loaderConfig:{has:{},paths:{},map:{},packages:[]}},request:{crossOriginNoCorsDomains:null,httpsDomains:[\"arcgis.com\",\"arcgisonline.com\",\"esrikr.com\",\"premiumservices.blackbridge.com\",\"esripremium.accuweather.com\",\"gbm.digitalglobe.com\",\"firstlook.digitalglobe.com\",\"msi.digitalglobe.com\"],interceptors:[],internalInterceptors:[],maxUrlLength:2e3,priority:\"high\",proxyRules:[],proxyUrl:null,timeout:62e3,trustedServers:[],useIdentity:!0},log:{interceptors:[],level:null}};if(globalThis.esriConfig&&(e(s,globalThis.esriConfig,!0),delete s.has),!s.assetsPath){{const e=\"4.31\";s.assetsPath=`https://js.arcgis.com/${e}/@arcgis/core/assets`}s.defaultAssetsPath=s.assetsPath}export{s as default};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{deprecatedFunction as e}from\"./deprecate.js\";import r from\"./Handles.js\";import t from\"./Logger.js\";import{destroyMaybe as s}from\"./maybe.js\";import{beforeDestroySymbol as o}from\"./accessorSupport/beforeDestroy.js\";import{get as i}from\"./accessorSupport/get.js\";import{Lifecycle as c}from\"./accessorSupport/interfaces.js\";import{getPropertiesMetadata as n}from\"./accessorSupport/metadata.js\";import a from\"./accessorSupport/Properties.js\";import{set as _}from\"./accessorSupport/set.js\";import{getAccessorInterceptor as p}from\"./accessorSupport/testSupport.js\";import{removeTarget as h,watch as l}from\"./accessorSupport/watch.js\";import{property as u}from\"./accessorSupport/decorators/property.js\";import{subclass as d}from\"./accessorSupport/decorators/subclass.js\";var f,m;function y(e){if(null==e)return{value:e};if(Array.isArray(e))return{type:[e[0]],value:null};switch(typeof e){case\"object\":return e.constructor?.__accessorMetadata__||e instanceof Date?{type:e.constructor,value:e}:e;case\"boolean\":return{type:Boolean,value:e};case\"string\":return{type:String,value:e};case\"number\":return{type:Number,value:e};case\"function\":return{type:e,value:null};default:return}}const v=Symbol(\"Accessor-Handles\"),g=Symbol(\"Accessor-Initialized\");class b{static createSubclass(e={}){if(Array.isArray(e))throw new Error(\"Multi-inheritance unsupported since 4.16\");const{properties:r,declaredClass:t,constructor:s}=e;delete e.declaredClass,delete e.properties,delete e.constructor;const o=this;class i extends o{constructor(...e){super(...e),this.inherited=null,s&&s.apply(this,e)}}n(i.prototype);for(const c in e){const r=e[c];i.prototype[c]=\"function\"==typeof r?function(...e){const t=this.inherited;let s;this.inherited=function(...e){if(o.prototype[c])return o.prototype[c].apply(this,e)};try{s=r.apply(this,e)}catch(i){throw this.inherited=t,i}return this.inherited=t,s}:e[c]}for(const c in r){const e=y(r[c]);u(e)(i.prototype,c)}return d(t)(i)}static freeze(e){return e instanceof b?e.__accessor__.mutable=!1:Object.freeze(e),e}static isFrozen(e){return e instanceof b?!e.__accessor__.mutable:Object.isFrozen(e)}constructor(...e){if(this[f]=null,this[m]=!1,this.constructor===b)throw new Error(\"[accessor] cannot instantiate Accessor. This can be fixed by creating a subclass of Accessor\");const r=new a(this);Object.defineProperty(this,\"__accessor__\",{enumerable:!1,value:r}),e.length>0&&(r.ctorArgs=this.normalizeCtorArgs?.apply(this,e)??e[0]),p()?.onInstanceConstruct(this)}postscript(){const e=this.__accessor__,r=e.ctorArgs;e.initialize(),r&&(this.set(r),e.ctorArgs=null),e.constructed(),this.initialize(),this[g]=!0}initialize(){}[o](){this[v]=s(this[v])}destroy(){this.destroyed||(h(this),this.__accessor__.destroy(),p()?.onInstanceDestroy(this))}[Symbol.dispose](){this.destroy()}get constructed(){return this.__accessor__&&this.__accessor__.initialized||!1}get initialized(){return this[g]}get destroyed(){return this.__accessor__?.lifecycle===c.DESTROYED||!1}commitProperty(e){i(this,e)}get(r){return e(t.getLogger(this),\"`Accessor.get` is deprecated in favor of using optional chaining\",{version:\"4.28\",see:\"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Optional_chaining\"}),i(this,r)}hasOwnProperty(e){return this.__accessor__?this.__accessor__.has(e):Object.prototype.hasOwnProperty.call(this,e)}keys(){return this.__accessor__?this.__accessor__.keys():[]}set(e,r){return _(this,e,r),this}watch(e,r,t){return l(this,e,r,t)}addHandles(e,t){if(this.destroyed){const r=Array.isArray(e)?e:[e];for(const e of r)e.remove();return}(this[v]??=new r).add(e,t)}removeHandles(e){this[v]?.remove(e)}removeAllHandles(){this[v]?.removeAll()}removeHandlesReference(e){this[v]?.removeReference(e)}hasHandles(e){return!0===this[v]?.has(e)}_override(e,r){void 0===r?this.__accessor__.clearOverride(e):this.__accessor__.override(e,r)}_clearOverride(e){return this.__accessor__.clearOverride(e)}_overrideIfSome(e,r){null==r?this.__accessor__.clearOverride(e):this.__accessor__.override(e,r)}_isOverridden(e){return this.__accessor__.isOverridden(e)}notifyChange(e){this.__accessor__.notifyChange(e)}_get(e){return this.__accessor__.internalGet(e)}_set(e,r){return this.__accessor__.internalSet(e,r),this}}f=v,m=g;export{b as default};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport e from\"./ObjectPool.js\";function r(e){e.length=0}class t{constructor(t=50,o=50){this._pool=new e(Array,void 0,r,o,t)}acquire(){return this._pool.acquire()}release(e){this._pool.release(e)}prune(){this._pool.prune(0)}static acquire(){return o.acquire()}static release(e){return o.release(e)}static prune(){o.prune()}}const o=new t(100);export{t as default};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nvar E;!function(E){E[E.KILOBYTES=1024]=\"KILOBYTES\",E[E.MEGABYTES=1048576]=\"MEGABYTES\",E[E.GIGABYTES=1073741824]=\"GIGABYTES\"}(E||(E={}));export{E as ByteSizeUnit};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{_ as o}from\"../chunks/tslib.es6.js\";import s from\"./Accessor.js\";import\"./has.js\";import{tryClone as t}from\"./lang.js\";import\"./Logger.js\";import{assertIsSome as r}from\"./maybe.js\";import{OriginId as e}from\"./accessorSupport/PropertyOrigin.js\";import{getProperties as n}from\"./accessorSupport/utils.js\";import{subclass as c}from\"./accessorSupport/decorators/subclass.js\";const i=s=>{let i=class extends s{clone(){const o=n(this);r(o,\"unable to clone instance of non-accessor class\");const s=o.metadata,c=o.store,i={},l=new Map;for(const r in s){const o=s[r],n=c?.originOf(r),a=o.clonable;if(o.readOnly||!1===a||n!==e.USER&&n!==e.DEFAULTS&&n!==e.WEB_MAP&&n!==e.WEB_SCENE)continue;const p=this[r];let f=null;f=\"function\"==typeof a?a(p):\"reference\"===a?p:t(p),null!=p&&null==f||(n===e.DEFAULTS?l.set(r,f):i[r]=f)}const a=new(0,Object.getPrototypeOf(this).constructor)(i);if(l.size){const o=n(a)?.store;if(o)for(const[s,t]of l)o.set(s,t,e.DEFAULTS)}return a}};return i=o([c(\"esri.core.Clonable\")],i),i};let l=class extends(i(s)){};l=o([c(\"esri.core.Clonable\")],l);export{l as Clonable,i as ClonableMixin};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{_ as e}from\"../chunks/tslib.es6.js\";import t from\"./ArrayPool.js\";import s from\"./Evented.js\";import{makeHandle as i}from\"./handleUtils.js\";import{clone as r}from\"./lang.js\";import n from\"./ObjectPool.js\";import{ObservableChangesType as h}from\"./ObservableChangesType.js\";import{schedule as o}from\"./scheduling.js\";import{ensureType as l,ensureOneOfType as a}from\"./accessorSupport/ensureType.js\";import{trackAccess as c}from\"./accessorSupport/tracking.js\";import{property as f}from\"./accessorSupport/decorators/property.js\";import{shared as _}from\"./accessorSupport/decorators/shared.js\";import{subclass as m}from\"./accessorSupport/decorators/subclass.js\";import{SimpleObservable as u}from\"./accessorSupport/tracking/SimpleObservable.js\";var g;class d{constructor(){this.target=null,this.cancellable=!1,this.defaultPrevented=!1,this.item=void 0,this.type=void 0}preventDefault(){this.cancellable&&(this.defaultPrevented=!0)}reset(e){this.defaultPrevented=!1,this.item=e}}class p{constructor(e,t,s,i,r){this.target=e,this.added=t,this.removed=s,this.start=i,this.deleteCount=r}}const b=new n(d,void 0,(e=>{e.item=null,e.target=null,e.defaultPrevented=!1,e.cancellable=!1}));function v(e){e&&\"object\"==typeof e&&\"destroy\"in e&&\"function\"==typeof e.destroy&&e.destroy()}function y(e){return e?e instanceof R?e.toArray():e.length?Array.prototype.slice.apply(e):[]:[]}function E(e){if(e?.length)return e[0]}function A(e,t,s,i){const r=Math.min(e.length-s,t.length-i);let n=0;for(;n{e.push(t),C(e,s.call(i,t,r,n),s,i)}))}const O=new Set,M=new Set,D=new Set,x=new Map;let j=0,R=g=class extends s.EventedAccessor{static isCollection(e){return null!=e&&e instanceof g}constructor(e){super(e),this._chgListeners=[],this._notifications=null,this._updating=!1,this._timer=null,this._observable=new u,this.length=0,this._items=[],Object.defineProperty(this,\"uid\",{value:j++})}normalizeCtorArgs(e){return e?Array.isArray(e)||e instanceof g?{items:e}:e:{}}destroy(){this._removeAllRaw(),this._timer&&this._timer.remove(),this._emitter.destroy(),this._notifications=null}*[Symbol.iterator](){yield*this.items}get items(){return c(this._observable),this._items}set items(e){this._emitBeforeChanges(h.ADD)||(this._splice(0,this.length,y(e)),this._emitAfterChanges(h.ADD))}hasEventListener(e){return!this.destroyed&&(\"change\"===e?this._chgListeners.length>0:this._emitter.hasEventListener(e))}on(e,t){if(this.destroyed)return i();if(\"change\"===e){const e=this._chgListeners,s={removed:!1,callback:t};return e.push(s),this._notifications&&this._notifications.push({listeners:e.slice(),items:this._items.slice(),changes:[]}),i((()=>{s.removed=!0,e.splice(e.indexOf(s),1)}))}return this._emitter.on(e,t)}once(e,t){const s=\"deref\"in t?()=>t.deref():()=>t,i=this.on(e,(e=>{s()?.call(null,e),i.remove()}));return i}add(e,t){if(c(this._observable),this._emitBeforeChanges(h.ADD))return this;const s=this.getNextIndex(t??null);return this._splice(s,0,[e]),this._emitAfterChanges(h.ADD),this}addMany(e,t=this._items.length){if(c(this._observable),!e?.length)return this;if(this._emitBeforeChanges(h.ADD))return this;const s=this.getNextIndex(t);return this._splice(s,0,y(e)),this._emitAfterChanges(h.ADD),this}at(e){if(c(this._observable),(e=Math.trunc(e)||0)<0&&(e+=this.length),!(e<0||e>=this.length))return this._items[e]}removeAll(){if(c(this._observable),!this.length||this._emitBeforeChanges(h.REMOVE))return[];const e=this._removeAllRaw();return this._emitAfterChanges(h.REMOVE),e}_removeAllRaw(){return 0===this.length?[]:this._splice(0,this.length)||[]}clone(){return c(this._observable),this._createNewInstance({items:this._items.map(r)})}concat(...e){c(this._observable);const t=e.map(y);return this._createNewInstance({items:this._items.concat(...t)})}drain(e,t){if(c(this._observable),!this.length||this._emitBeforeChanges(h.REMOVE))return;const s=this._splice(0,this.length),i=s.length;for(let r=0;rt&&(e=t),e}includes(e,t=0){return c(this._observable),this._items.includes(e,t)}indexOf(e,t=0){return c(this._observable),this._items.indexOf(e,t)}join(e=\",\"){return c(this._observable),this._items.join(e)}lastIndexOf(e,t=this.length-1){return c(this._observable),this._items.lastIndexOf(e,t)}map(e,t){c(this._observable);const s=this._items.map(e,t);return new g({items:s})}reorder(e,t=this.length-1){c(this._observable);const s=this.indexOf(e);if(-1!==s){if(t<0?t=0:t>=this.length&&(t=this.length-1),s!==t){if(this._emitBeforeChanges(h.MOVE))return e;this._splice(s,1),this._splice(t,0,[e]),this._emitAfterChanges(h.MOVE)}return e}}pop(){if(c(this._observable),!this.length||this._emitBeforeChanges(h.REMOVE))return;const e=E(this._splice(this.length-1,1));return this._emitAfterChanges(h.REMOVE),e}push(...e){return c(this._observable),this._emitBeforeChanges(h.ADD)||(this._splice(this.length,0,e),this._emitAfterChanges(h.ADD)),this.length}reduce(e,t){c(this._observable);const s=this._items;return 2===arguments.length?s.reduce(e,t):s.reduce(e)}reduceRight(e,t){c(this._observable);const s=this._items;return 2===arguments.length?s.reduceRight(e,t):s.reduceRight(e)}remove(e){return c(this._observable),this.removeAt(this.indexOf(e))}removeAt(e){if(c(this._observable),e<0||e>=this.length||this._emitBeforeChanges(h.REMOVE))return;const t=E(this._splice(e,1));return this._emitAfterChanges(h.REMOVE),t}removeMany(e){if(c(this._observable),!e?.length||this._emitBeforeChanges(h.REMOVE))return[];const t=e instanceof g?e.toArray():e,s=this._items,i=[],r=t.length;for(let n=0;n-1){const e=1+A(t,s,n+1,r+1),h=this._splice(r,e);h&&h.length>0&&i.push.apply(i,h),n+=e-1}}return this._emitAfterChanges(h.REMOVE),i}reverse(){if(c(this._observable),this._emitBeforeChanges(h.MOVE))return this;const e=this._splice(0,this.length);return e&&(e.reverse(),this._splice(0,0,e)),this._emitAfterChanges(h.MOVE),this}shift(){if(c(this._observable),!this.length||this._emitBeforeChanges(h.REMOVE))return;const e=E(this._splice(0,1));return this._emitAfterChanges(h.REMOVE),e}slice(e=0,t=this.length){return c(this._observable),this._createNewInstance({items:this._items.slice(e,t)})}some(e,t){return c(this._observable),this._items.some(e,t)}sort(e){if(c(this._observable),!this.length||this._emitBeforeChanges(h.MOVE))return this;const t=this._splice(0,this.length);return arguments.length?t.sort(e):t.sort(),this._splice(0,0,t),this._emitAfterChanges(h.MOVE),this}splice(e,t,...s){c(this._observable);const i=(t?h.REMOVE:0)|(s.length?h.ADD:0);if(this._emitBeforeChanges(i))return[];const r=this._splice(e,t,s)||[];return this._emitAfterChanges(i),r}toArray(){return c(this._observable),this._items.slice()}toJSON(){return c(this._observable),this.toArray()}toLocaleString(){return c(this._observable),this._items.toLocaleString()}toString(){return c(this._observable),this._items.toString()}unshift(...e){return c(this._observable),!e.length||this._emitBeforeChanges(h.ADD)||(this._splice(0,0,e),this._emitAfterChanges(h.ADD)),this.length}_createNewInstance(e){return new this.constructor(e)}_splice(e,t,s){const i=this._items,r=this.itemType;let n,h;if(!this._notifications&&this.hasEventListener(\"change\")&&(this._notifications=[{listeners:this._chgListeners.slice(),items:this._items.slice(),changes:[]}],this._timer&&this._timer.remove(),this._updating=!0,this._timer=o((()=>this._dispatchChange()))),e<0&&(e+=this.length),t){if(h=i.splice(e,t),this.hasEventListener(\"before-remove\")){const t=b.acquire();t.target=this,t.cancellable=!0;for(let s=0,r=h.length;s{i.push(e)}));const r=t.acquire();M.forEach((e=>{r.push(e)}));const n=this._items,h=s.items,o=t.acquire();if(D.forEach((e=>{h.indexOf(e)!==n.indexOf(e)&&o.push(e)})),s.listeners&&(i.length||r.length||o.length)){const e={target:this,added:i,removed:r,moved:o},t=s.listeners.length;for(let i=0;i{if(!t)return g;if(x.has(t))return x.get(t);let s=null;if(\"function\"==typeof t)s=t.prototype.declaredClass;else if(t.base)s=t.base.prototype.declaredClass;else for(const e in t.typeMap){const i=t.typeMap[e].prototype.declaredClass;s?s+=` | ${i}`:s=i}let i=class extends g{};return e([_({Type:t,ensureType:\"function\"==typeof t?l(t):a(t)})],i.prototype,\"itemType\",void 0),i=e([m(`esri.core.Collection<${s}>`)],i),x.set(t,i),i},e([f()],R.prototype,\"_updating\",void 0),e([f()],R.prototype,\"length\",void 0),e([f()],R.prototype,\"items\",null),e([f({readOnly:!0})],R.prototype,\"updating\",null),R=g=e([m(\"esri.core.Collection\")],R);const V=R;export{V as default};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{_ as t}from\"../chunks/tslib.es6.js\";import o from\"./Collection.js\";import{sync as e}from\"./reactiveUtils.js\";import{property as s}from\"./accessorSupport/decorators/property.js\";import{subclass as i}from\"./accessorSupport/decorators/subclass.js\";import{autorun as r}from\"./accessorSupport/trackingUtils.js\";let l=class extends o{constructor(t){super(t),this.getCollections=null}initialize(){this.addHandles(r((()=>this._refresh()),e))}destroy(){this.getCollections=null}_refresh(){const t=null!=this.getCollections?this.getCollections():null;if(null==t)return void this.removeAll();let o=0;for(const e of t)null!=e&&(o=this._processCollection(o,e));this.splice(o,this.length)}_createNewInstance(t){return new o(t)}_processCollection(t,o){if(!o)return t;const e=this.itemFilterFunction??(t=>!!t);for(const s of o)if(s){if(e(s)){const o=this.indexOf(s,t);o>=0?o!==t&&this.reorder(s,t):this.add(s,t),++t}if(this.getChildrenFunction){const o=this.getChildrenFunction(s);if(Array.isArray(o))for(const e of o)t=this._processCollection(t,e);else t=this._processCollection(t,o)}}return t}};t([s()],l.prototype,\"getCollections\",void 0),t([s()],l.prototype,\"getChildrenFunction\",void 0),t([s()],l.prototype,\"itemFilterFunction\",void 0),l=t([i(\"esri.core.CollectionFlattener\")],l);const n=l;export{n as default};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{clamp as t}from\"./mathUtils.js\";class n{constructor(t,n){this.min=t,this.max=n,this.range=n-t}normalize(t,n=0,o=!1){return i(this.range,this.min,this.max,t,n,o)}clamp(n,i=0){return t(n-i,this.min,this.max)+i}monotonic(t,n,i){return tt&&ii&&(r-=o(t,r-i)),a&&r===i&&(r=n),r+s}function o(t,n,i=0){return Math.ceil((n-i)/t)*t+i}const r=new n(0,2*Math.PI),s=new n(-Math.PI,Math.PI),a=new n(0,360);export{n as Cyclical,r as cyclical2PI,a as cyclicalDegrees,s as cyclicalPI};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{clone as e}from\"./lang.js\";import t from\"./Logger.js\";import r from\"./Message.js\";class s extends r{constructor(e,t,r){super(e,t,r)}toJSON(){if(null!=this.details)try{return{name:this.name,message:this.message,details:JSON.parse(JSON.stringify(this.details,((t,r)=>{if(r&&\"object\"==typeof r&&\"function\"==typeof r.toJSON)return r;try{return e(r)}catch(s){return\"[object]\"}})))}}catch(r){throw t.getLogger(\"esri.core.Error\").error(r),r}return{name:this.name,message:this.message,details:this.details}}static fromJSON(e){return new s(e.name,e.message,e.details)}}s.prototype.type=\"error\";export{s as default};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{_ as e}from\"../chunks/tslib.es6.js\";import t from\"./Accessor.js\";import{handlesGroup as r,makeHandle as s}from\"./handleUtils.js\";import{subclass as n}from\"./accessorSupport/decorators/subclass.js\";class i{constructor(){this._emitter=new i.EventEmitter(this)}emit(e,t){return this._emitter.emit(e,t)}on(e,t){return this._emitter.on(e,t)}once(e,t){return this._emitter.once(e,t)}hasEventListener(e){return this._emitter.hasEventListener(e)}}!function(o){class c{constructor(e=null){this._target=e,this._listenersMap=null}clear(){this._listenersMap?.clear(),this._listenersMap=null}destroy(){this.clear()}emit(e,t){let r=this._listenersMap?.get(e);if(!r)return!1;const s=this._target||this;let n=!1;for(const i of r.slice()){const e=\"deref\"in i?i.deref():i;e?e?.call(s,t):n=!0}return n&&(r=r.filter((e=>!(\"deref\"in e)||null!=e.deref())),this._listenersMap.set(e,r)),r.length>0}on(e,t){if(Array.isArray(e)){const s=e.map((e=>this.on(e,t)));return r(s)}if(e.includes(\",\"))throw new TypeError(\"Evented.on() with a comma delimited string of event types is not supported\");this._listenersMap??=new Map;const n=this._listenersMap.get(e)||[];return n.push(t),this._listenersMap.set(e,n),s((()=>{const r=this._listenersMap?.get(e),s=r?.indexOf(t)??-1;s>=0&&r.splice(s,1)}))}once(e,t){const r=this.on(e,(e=>{r.remove();const s=\"deref\"in t?t.deref():t;s?.call(null,e)}));return r}hasEventListener(e){const t=this._listenersMap?.get(e);return null!=t&&t.length>0}}o.EventEmitter=c,o.EventedMixin=t=>{let r=class extends t{constructor(){super(...arguments),this._emitter=new c}destroy(){this._emitter.clear()}emit(e,t){return this._emitter.emit(e,t)}on(e,t){return this._emitter.on(e,t)}once(e,t){return this._emitter.once(e,t)}hasEventListener(e){return this._emitter.hasEventListener(e)}};return r=e([n(\"esri.core.Evented\")],r),r};let l=class extends t{constructor(){super(...arguments),this._emitter=new i.EventEmitter(this)}destroy(){this._emitter.clear()}emit(e,t){return this._emitter.emit(e,t)}on(e,t){return this._emitter.on(e,t)}once(e,t){return this._emitter.once(e,t)}hasEventListener(e){return this._emitter.hasEventListener(e)}};l=e([n(\"esri.core.Evented.EventedAccessor\")],l),o.EventedAccessor=l}(i||(i={}));const o=i;export{o as default};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{isIterable as t}from\"./iteratorUtils.js\";class r{constructor(){this._groups=new Map}destroy(){this.removeAll()}get size(){let t=0;return this._groups.forEach((r=>{t+=r.length})),t}add(r,e){if(t(r)){const t=this._getOrCreateGroup(e);for(const e of r)o(e)&&t.push(e)}else if(o(r)){this._getOrCreateGroup(e).push(r)}return this}forEach(t,r){if(\"function\"==typeof t)this._groups.forEach((r=>r.forEach(t)));else{const e=this._getGroup(t);e&&r&&e.forEach(r)}}has(t){return this._groups.has(e(t))}remove(r){if(\"string\"!=typeof r&&t(r)){for(const t of r)this.remove(t);return this}return this.has(r)?(s(this._getGroup(r)),this._groups.delete(e(r)),this):this}removeAll(){return this._groups.forEach(s),this._groups.clear(),this}removeReference(t){return this._groups.delete(t),this}_getOrCreateGroup(t){if(this.has(t))return this._getGroup(t);const r=[];return this._groups.set(e(t),r),r}_getGroup(t){return this._groups.get(e(t))}}function e(t){return t||\"_default_\"}function s(t){for(const e of t)e instanceof r?e.removeAll():e.remove()}function o(t){return null!=t&&(!!t.remove||t instanceof r)}export{r as default};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nvar o;!function(o){const t=(o,t,n,e)=>{let i=t,c=t;const l=n>>>1,r=o[i-1];for(;c<=l;){c=i<<1,cot?1:0;function e(o,e,i,c){void 0===e&&(e=0),void 0===i&&(i=o.length),void 0===c&&(c=n);for(let n=i>>>1;n>e;n--)t(o,n,i,c);const l=e+1;for(let n=i-1;n>e;n--){const i=o[e];o[e]=o[n],o[n]=i,t(o,l,n,c)}}function*i(o,e,i,c){void 0===e&&(e=0),void 0===i&&(i=o.length),void 0===c&&(c=n);for(let n=i>>>1;n>e;n--)t(o,n,i,c),yield;const l=e+1;for(let n=i-1;n>e;n--){const i=o[e];o[e]=o[n],o[n]=i,t(o,l,n,c),yield}}o.sort=e,o.iterableSort=i}(o||(o={}));const t=o;export{t as default};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{_ as e}from\"../chunks/tslib.es6.js\";import{subclass as t}from\"./accessorSupport/decorators/subclass.js\";let r=0;const s=s=>{let i=class extends s{constructor(...e){super(...e),Object.defineProperty(this,\"uid\",{writable:!1,configurable:!1,value:Date.now().toString(16)+\"-object-\"+r++})}};return i=e([t(\"esri.core.Identifiable\")],i),i},i=s=>{let i=class extends s{constructor(...e){super(...e),Object.defineProperty(this,\"uid\",{writable:!1,configurable:!1,value:r++})}};return i=e([t(\"esri.core.Identifiable.NumericIdentifiable\")],i),i};let o=class extends(s(class{})){};o=e([t(\"esri.core.Identifiable\")],o);export{o as Identifiable,s as IdentifiableMixin,i as NumericIdentifiableMixin};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{_ as r}from\"../chunks/tslib.es6.js\";import t from\"./Accessor.js\";import{DefaultsStore as o}from\"./accessorSupport/DefaultsStore.js\";import{setupConstructedDefaults as s}from\"./accessorSupport/defaultsStoreUtils.js\";import{read as e}from\"./accessorSupport/read.js\";import{getProperties as c}from\"./accessorSupport/utils.js\";import{write as i}from\"./accessorSupport/write.js\";import{subclass as p}from\"./accessorSupport/decorators/subclass.js\";const u=t=>{let u=class extends t{constructor(...r){super(...r);const t=c(this),e=t.store,i=new o;t.store=i,s(t,e,i)}read(r,t){e(this,r,t)}write(r,t){return i(this,r??{},t)}toJSON(r){return this.write({},r)}static fromJSON(r,t){return n.call(this,r,t)}};return u=r([p(\"esri.core.JSONSupport\")],u),u.prototype.toJSON.isDefaultToJSON=!0,u};function n(r,t){if(!r)return null;if(r.declaredClass)throw new Error(\"JSON object is already hydrated\");const o=new this;return o.read(r,t),o}function a(r){return r&&\"object\"==typeof r&&\"toJSON\"in r&&\"function\"==typeof r.toJSON}let f=class extends(u(t)){};f=r([p(\"esri.core.JSONSupport\")],f);export{f as JSONSupport,u as JSONSupportMixin,a as isSerializable};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{MemCacheStorage as t}from\"./MemCache.js\";class e{constructor(e,s){this._storage=new t,this.id=\"\",this.name=\"\",this.size=0,this._storage.maxSize=e,this._storage.register(this),s&&this._storage.registerRemoveFunc(\"\",s)}destroy(){this._storage.deregister(this),this._storage.destroy()}put(t,e,s=1){this._storage.put(this,t,e,s,1)}pop(t){return this._storage.pop(this,t)}get(t){return this._storage.get(this,t)}clear(){this._storage.clearAll()}get maxSize(){return this._storage.maxSize}set maxSize(t){this._storage.maxSize=t}resetHitRate(){}}export{e as LRUCache};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{_ as o}from\"../chunks/tslib.es6.js\";import t from\"./Error.js\";import{abortMaybe as r}from\"./maybe.js\";import{EsriPromise as s}from\"./Promise.js\";import{onAbortOrThrow as l}from\"./promiseUtils.js\";import e from\"./Warning.js\";import{property as a}from\"./accessorSupport/decorators/property.js\";import{subclass as n}from\"./accessorSupport/decorators/subclass.js\";const i=\"not-loaded\",d=\"loading\",h=\"failed\",c=\"loaded\",u=s=>{let u=class extends s{constructor(...o){super(...o),this._loadController=null,this.loadError=null,this.loadStatus=\"not-loaded\",this._set(\"loadWarnings\",[]),this.addResolvingPromise(new Promise((o=>{const r=this.load.bind(this);this.load=s=>{const e=new Promise(((o,r)=>{const e=l(s,r);this.destroyed&&r(new t(\"load:instance-destroyed\",`Instance of '${this.declaredClass||this.constructor.name}' is already destroyed`,{instance:this})),this.when(o,r).finally((()=>{e&&e.remove()}))}));if(this.loadStatus===i){this._set(\"loadStatus\",d);const o=this._loadController=new AbortController;r({signal:o.signal})}return o(),e}}))),this.when((()=>{this._set(\"loadStatus\",c),this._loadController=null}),(o=>{this._set(\"loadStatus\",h),this._set(\"loadError\",o),this._loadController=null}))}destroy(){this._loadController&&(this._loadController=r(this._loadController),this._promiseProps.abort()),this._set(\"loadError\",null),this._set(\"loadWarnings\",[])}get loaded(){return this.loadStatus===c}get loadWarnings(){return this._get(\"loadWarnings\")}load(){return null}cancelLoad(){return this.isFulfilled()||(this._set(\"loadError\",new t(\"load:cancelled\",\"Cancelled\")),this._loadController?.abort(),this._promiseProps.abort()),this}};return o([a({readOnly:!0})],u.prototype,\"loaded\",null),o([a({readOnly:!0})],u.prototype,\"loadError\",void 0),o([a({clonable:!1})],u.prototype,\"loadStatus\",void 0),o([a({type:[e],readOnly:!0})],u.prototype,\"loadWarnings\",null),u=o([n(\"esri.core.Loadable\")],u),u};let p=class extends(u(s)){};p=o([n(\"esri.core.Loadable\")],p),function(o){function t(o){return!(!o||!o.load)}o.LoadableMixin=u,o.isLoadable=t}(p||(p={}));const m=p;export{m as default};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport e from\"../config.js\";import\"./has.js\";import{numericHash as t}from\"./string.js\";const r={info:0,warn:1,error:2,none:3};class n{constructor(e){this.level=null,this._module=\"\",this._parent=null,this.writer=null,this._loggedMessages={error:new Map,warn:new Map,info:new Map},null!=e.level&&(this.level=e.level),null!=e.writer&&(this.writer=e.writer),this._module=e.module,n._loggers.set(this.module,this);const t=this.module.lastIndexOf(\".\");-1!==t&&(this._parent=n.getLogger(this.module.slice(0,t)))}get module(){return this._module}get parent(){return this._parent}error(...e){this._log(\"error\",\"always\",...e)}warn(...e){this._log(\"warn\",\"always\",...e)}info(...e){this._log(\"info\",\"always\",...e)}errorOnce(...e){this._log(\"error\",\"once\",...e)}warnOnce(...e){this._log(\"warn\",\"once\",...e)}infoOnce(...e){this._log(\"info\",\"once\",...e)}errorOncePerTick(...e){this._log(\"error\",\"oncePerTick\",...e)}warnOncePerTick(...e){this._log(\"warn\",\"oncePerTick\",...e)}infoOncePerTick(...e){this._log(\"info\",\"oncePerTick\",...e)}get test(){}static get test(){}static getLogger(e){return e=\"string\"!=typeof e?e.declaredClass:e,n._loggers.get(e)||new n({module:e})}_log(t,r,...i){if(!this._matchLevel(t))return;if(\"always\"!==r&&!n._throttlingDisabled){const e=o(i),s=this._loggedMessages[t].get(e);if(\"once\"===r&&null!=s||\"oncePerTick\"===r&&s&&s>=n._tickCounter)return;this._loggedMessages[t].set(e,n._tickCounter),n._scheduleTickCounterIncrement()}for(const n of e.log.interceptors)if(n(t,this.module,...i))return;this._inheritedWriter()(t,this.module,...i)}_parentWithMember(e,t){let r=this;for(;null!=r;){const t=r[e];if(null!=t)return t;r=r.parent}return t}_inheritedWriter(){return this._parentWithMember(\"writer\",i)}_matchLevel(t){const n=e.log.level||\"warn\";return r[this._parentWithMember(\"level\",n)]<=r[t]}static _scheduleTickCounterIncrement(){n._tickCounterScheduled||(n._tickCounterScheduled=!0,Promise.resolve().then((()=>{n._tickCounter++,n._tickCounterScheduled=!1})))}}function i(e,t,...r){console[e](`[${t}]`,...r)}function o(...e){const r=(e,t)=>\"object\"!=typeof t||Array.isArray(t)?t:\"[Object]\";return t(JSON.stringify(e,r))}n._loggers=new Map,n._tickCounter=0,n._tickCounterScheduled=!1,n._throttlingDisabled=!1;export{n as default};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nconst n={Base64:0,Hex:1,String:2,Raw:3},t=8,r=(1<>16)+(t>>16)+(r>>16)<<16|65535&r}function o(n){const e=[];for(let o=0,u=n.length*t;o>5]|=(n.charCodeAt(o/t)&r)<>5]>>>o%32&r));return e.join(\"\")}function c(n){const t=\"0123456789abcdef\",r=[];for(let e=0,o=4*n.length;e>2]>>e%4*8+4&15)+t.charAt(n[e>>2]>>e%4*8&15));return r.join(\"\")}function f(n){const t=\"=\",r=\"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/\",e=[];for(let o=0,u=4*n.length;o>2]>>o%4*8&255)<<16|(n[o+1>>2]>>(o+1)%4*8&255)<<8|n[o+2>>2]>>(o+2)%4*8&255;for(let c=0;c<4;c++)8*o+6*c>32*n.length?e.push(t):e.push(r.charAt(u>>6*(3-c)&63))}return e.join(\"\")}function s(n,t){return n<>>32-t}function i(n,t,r,o,u,c){return e(s(e(e(t,n),e(o,c)),u),r)}function h(n,t,r,e,o,u,c){return i(t&r|~t&e,n,t,o,u,c)}function a(n,t,r,e,o,u,c){return i(t&e|r&~e,n,t,o,u,c)}function l(n,t,r,e,o,u,c){return i(t^r^e,n,t,o,u,c)}function g(n,t,r,e,o,u,c){return i(r^(t|~e),n,t,o,u,c)}function p(n,t){n[t>>5]|=128<>>9<<4)]=t;let r=1732584193,o=-271733879,u=-1732584194,c=271733878;for(let f=0;f(t.has(r)||t.set(r,n(r)),t.get(r))}export{t as findInMap,r as getOrCreateMapValue,e as memoize,n as someMap};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport t from\"./PooledArray.js\";const e=-3,s=e-1;var i;!function(t){t[t.ALL=0]=\"ALL\",t[t.SOME=1]=\"SOME\"}(i||(i={}));class r{constructor(t,e,s){this.name=t,this._storage=e,this.id=o+++\":\",this.size=0,this.maxSize=-1,this._removeFunc=!1,this._hit=0,this._miss=0,this._storage.register(this),s&&(this._storage.registerRemoveFunc(this.id,s),this._removeFunc=!0)}destroy(){this._storage.clear(this),this._removeFunc&&this._storage.deregisterRemoveFunc(this.id),this._storage.deregister(this),this._storage=null}get hitRate(){return this._hit/(this._hit+this._miss)}get storageSize(){return this._storage.size}getSize(t){return this._storage.getSize(this,t)}resetHitRate(){this._hit=this._miss=0}put(t,e,s,i=0){this._storage.put(this,t,e,s,i)}pop(t){const e=this._storage.pop(this,t);return void 0===e?++this._miss:++this._hit,e}get(t){const e=this._storage.get(this,t);return void 0===e?++this._miss:++this._hit,e}peek(t){return this._storage.peek(this,t)}updateSize(t,e,s){this._storage.updateSize(this,t,e,s)}clear(){this._storage.clear(this)}clearAll(){this._storage.clearAll()}get performanceInfo(){return this._storage.performanceInfo}resetStats(){this._storage.resetStats()}}class h{get size(){return this._size}constructor(e=10485760){this._maxSize=e,this._db=new Map,this._size=0,this._hit=0,this._miss=0,this._removeFuncs=new t,this._users=new t}destroy(){this.clearAll(),this._removeFuncs.clear(),this._users.clear(),this._db=null}register(t){this._users.push(t)}deregister(t){this._users.removeUnordered(t)}registerRemoveFunc(t,e){this._removeFuncs.push([t,e])}deregisterRemoveFunc(t){this._removeFuncs.filterInPlace((e=>e[0]!==t))}get maxSize(){return this._maxSize}set maxSize(t){this._maxSize=Math.max(t,-1),this._checkSize()}getSize(t,e){const s=this._db.get(t.id+e);return s?.size??0}put(t,r,h,o,_){r=t.id+r;const a=this._db.get(r);if(a&&(this._size-=a.size,t.size-=a.size,this._db.delete(r),a.entry!==h&&this._notifyRemove(r,a.entry,a.size,i.ALL)),o>this._maxSize)return void this._notifyRemove(r,h,o,i.ALL);if(void 0===h)return void console.warn(\"Refusing to cache undefined entry \");if(!o||o<0)return console.warn(`Refusing to cache entry with size ${o} for key ${r}`),void this._notifyRemove(r,h,0,i.ALL);const c=1+Math.max(_,s)-e;this._db.set(r,new n(h,o,c)),this._size+=o,t.size+=o,this._checkSize()}updateSize(t,e,s,r){e=t.id+e;const h=this._db.get(e);if(h&&h.entry===s){for(this._size-=h.size,t.size-=h.size;r>this._maxSize;){const t=this._notifyRemove(e,s,r,i.SOME);if(!(null!=t&&t>0))return void this._db.delete(e);r=t}h.size=r,this._size+=r,t.size+=r,this._checkSize()}}pop(t,e){e=t.id+e;const s=this._db.get(e);if(s)return this._size-=s.size,t.size-=s.size,this._db.delete(e),++this._hit,s.entry;++this._miss}get(t,e){e=t.id+e;const s=this._db.get(e);if(void 0!==s)return this._db.delete(e),s.lives=s.lifetime,this._db.set(e,s),++this._hit,s.entry;++this._miss}peek(t,e){const s=this._db.get(t.id+e);return s?++this._hit:++this._miss,s?.entry}get performanceInfo(){const t={Size:Math.round(this._size/1048576)+\"/\"+Math.round(this._maxSize/1048576)+\"MB\",\"Hit rate\":Math.round(100*this._getHitRate())+\"%\",Entries:this._db.size.toString()},s={},i=new Array;this._db.forEach(((t,e)=>{const r=t.lifetime;i[r]=(i[r]||0)+t.size,this._users.forAll((i=>{const{id:r,name:h}=i;if(e.startsWith(r)){const e=s[h]||0;s[h]=e+t.size}}))}));const r={};this._users.forAll((t=>{const e=t.name;if(\"hitRate\"in t&&\"number\"==typeof t.hitRate&&!isNaN(t.hitRate)&&t.hitRate>0){const i=s[e]||0;s[e]=i,r[e]=Math.round(100*t.hitRate)+\"%\"}else r[e]=\"0%\"}));const h=Object.keys(s);h.sort(((t,e)=>s[e]-s[t])),h.forEach((e=>t[e]=Math.round(s[e]/2**20)+\"MB / \"+r[e]));for(let o=i.length-1;o>=0;--o){const s=i[o];s&&(t[\"Priority \"+(o+e-1)]=Math.round(s/this._size*100)+\"%\")}return t}resetStats(){this._hit=this._miss=0,this._users.forAll((t=>t.resetHitRate()))}clear(t){const e=t.id;this._db.forEach(((t,s)=>{s.startsWith(e)&&(this._size-=t.size,this._db.delete(s),this._notifyRemove(s,t.entry,t.size,i.ALL))})),t.size=0}clearAll(){this._db.forEach(((t,e)=>this._notifyRemove(e,t.entry,t.size,i.ALL))),this._users.forAll((t=>t.size=0)),this._size=0,this._db.clear()}_getHitRate(){return this._hit/(this._hit+this._miss)}_notifyRemove(t,e,s,i){let r;return this._removeFuncs.some((h=>{if(t.startsWith(h[0])){const t=h[1](e,i,s);return\"number\"==typeof t&&(r=t),!0}return!1})),r}_checkSize(){this._users.forAll((t=>this._checkSizeLimits(t))),this._checkSizeLimits()}_checkSizeLimits(t){const e=t??this;if(e.maxSize<0||e.size<=e.maxSize)return;const s=t?.id;let i=!0;for(;i;){i=!1;for(const[r,h]of this._db)if(0===h.lifetime&&(!s||r.startsWith(s))){if(this._purgeItem(r,h,t),e.size<=.9*e.maxSize)return;i||=this._db.has(r)}}for(const[r,h]of this._db)if((!s||r.startsWith(s))&&(this._purgeItem(r,h,t),e.size<=.9*e.maxSize))return}_purgeItem(t,e,s=this._users.find((e=>t.startsWith(e.id)))){if(this._db.delete(t),e.lives<=1){this._size-=e.size,s&&(s.size-=e.size);const r=this._notifyRemove(t,e.entry,e.size,i.SOME);null!=r&&r>0&&(this._size+=r,s&&(s.size+=r),e.lives=e.lifetime,e.size=r,this._db.set(t,e))}else--e.lives,this._db.set(t,e)}}let o=0;class n{constructor(t,e,s){this.entry=t,this.size=e,this.lifetime=s,this.lives=s}}export{r as MemCache,h as MemCacheStorage,e as MinPriority,s as NoPriority,i as RemoveMode};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{getDeepValue as t}from\"./object.js\";function s(s,e){return s.replaceAll(/\\$\\{([^\\s:}]*)(?::([^\\s:}]+))?\\}/g,((s,r)=>{if(\"\"===r)return\"$\";const i=t(r,e);return(i??\"\").toString()}))}class e{constructor(t,e,r=void 0){this.name=t,this.details=r,this.message=(e&&s(e,r))??\"\"}toString(){return\"[\"+this.name+\"]: \"+this.message}}export{e as default};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{_ as r}from\"../chunks/tslib.es6.js\";import t from\"./Accessor.js\";import{ReadOnlyMultiOriginJSONMixin as s}from\"./ReadOnlyMultiOriginJSONSupport.js\";import{get as e}from\"./accessorSupport/get.js\";import{nameToId as o,OriginId as i,originIdNum as p}from\"./accessorSupport/PropertyOrigin.js\";import{getProperties as c}from\"./accessorSupport/utils.js\";import{write as u}from\"./accessorSupport/write.js\";import{subclass as n}from\"./accessorSupport/decorators/subclass.js\";const l=t=>{let s=class extends t{constructor(...r){super(...r)}clear(r,t=\"user\"){return O(this).delete(r,o(t))}write(r,t){return u(this,r=r||{},t),r}setAtOrigin(r,t,s){c(this).setAtOrigin(r,t,o(s))}removeOrigin(r){const t=O(this),s=o(r),e=t.keys(s);for(const o of e)t.originOf(o)===s&&t.set(o,t.get(o,s),i.USER)}updateOrigin(r,t){const s=O(this),i=o(t),c=e(this,r);for(let e=i+1;e{let e=class extends(l(s(t))){constructor(...r){super(...r)}};return e=r([n(\"esri.core.MultiOriginJSONSupport\")],e),e};let m=class extends(S(t)){};m=r([n(\"esri.core.MultiOriginJSONSupport\")],m);export{S as MultiOriginJSONMixin,m as MultiOriginJSONSupport};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nfunction t(t){return t?.release&&\"function\"==typeof t.release}function i(t){return t?.acquire&&\"function\"==typeof t.acquire}class e{constructor(t,i,e,o=1,s=0){this._ctor=t,this._acquireFunction=i,this._releaseFunction=e,this.allocationSize=o,this._pool=new Array(s),this._initialSize=s;for(let n=0;n=this._pool.length)){for(let i=t;ithis._reset())),this._itemsPtr===this._items.length&&this._grow(),this._items[this._itemsPtr++]}_reset(){const t=Math.min(3*Math.max(8,this._itemsPtr),this._itemsPtr+3*i);this._items.length=Math.min(t,this._items.length),this._itemsPtr=0}_grow(){for(let t=0;ts-t))[Math.floor(this._samples.length/2)]}get average(){return this._samples.reduce(((s,t)=>s+t),0)/this._samples.length}get last(){return this._samples[this._counter%this._samples.length]}}export{s as default};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{PositionHint as t,indexOf as h,removeUnorderedMany as i}from\"./arrayUtils.js\";import s from\"./HeapSort.js\";const a=1.5,e=1.1;class l{constructor(h){this.data=[],this._length=0,this._allocator=void 0,this._deallocator=()=>null,this._shrink=()=>{},this._hint=new t,h&&(h.initialSize&&(this.data=new Array(h.initialSize)),h.allocator&&(this._allocator=h.allocator),void 0!==h.deallocator&&(this._deallocator=h.deallocator),h.shrink&&(this._shrink=()=>n(this)))}toArray(){return this.data.slice(0,this.length)}filter(t){const h=new Array;for(let i=0;i=this._length))return this.data[t]}includes(t,h){const i=this.data.indexOf(t,h);return-1!==i&&ithis._length){if(this._allocator){for(;this._length=this.length||t<0))return this.swapElements(t,this.length-1),this.pop()}removeUnorderedMany(t,h=t.length,s){this.length=i(this.data,t,this.length,h,this._hint,s),this._shrink()}front(){if(0!==this.length)return this.data[0]}back(){if(0!==this.length)return this.data[this.length-1]}swapElements(t,h){if(t>=this.length||h>=this.length||t===h)return;const i=this.data[t];this.data[t]=this.data[h],this.data[h]=i}sort(t){s.sort(this.data,0,this.length,t)}iterableSort(t){return s.iterableSort(this.data,0,this.length,t)}some(t,h){for(let i=0;ia*t.length&&(t.data.length=Math.floor(t.length*e))}export{l as default};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{_ as s}from\"../chunks/tslib.es6.js\";import e from\"./Accessor.js\";import{createResolver as r,createAbortError as i,isAbortError as t}from\"./promiseUtils.js\";import{subclass as o}from\"./accessorSupport/decorators/subclass.js\";var l;!function(s){s[s.PENDING=0]=\"PENDING\",s[s.RESOLVED=1]=\"RESOLVED\",s[s.REJECTED=2]=\"REJECTED\"}(l||(l={}));class h{constructor(){this._resolver=r(),this._status=l.PENDING,this._resolvingPromises=[],this._resolver.promise.then((()=>{this._status=l.RESOLVED,this._cleanUp()}),(()=>{this._status=l.REJECTED,this._cleanUp()})),this.promise=this._resolver.promise}destroy(){this._cleanUp()}addResolvingPromise(s){this._resolvingPromises.push(s),this._tryResolve()}isResolved(){return this._status===l.RESOLVED}isRejected(){return this._status===l.REJECTED}isFulfilled(){return this._status!==l.PENDING}abort(){this._resolver.reject(i())}_cleanUp(){this._allPromise=null,this._resolvingPromises=null}_tryResolve(){if(this.isFulfilled())return;const s=r(),e=[...this._resolvingPromises,s.promise],i=this._allPromise=Promise.all(e);i.then((()=>{this.isFulfilled()||this._allPromise!==i||this._resolver.resolve()}),(s=>{this.isFulfilled()||this._allPromise!==i||t(s)||this._resolver.reject(s)})),s.resolve()}}const n=e=>{let r=class extends e{constructor(...s){super(...s),this._promiseProps=new h,this.addResolvingPromise(Promise.resolve())}destroy(){this._promiseProps.destroy()}isResolved(){return this._promiseProps.isResolved()}isRejected(){return this._promiseProps.isRejected()}isFulfilled(){return this._promiseProps.isFulfilled()}when(s,e){return this._promiseProps.promise.then((()=>this)).then(s,e)}catch(s){return this.when(null,s)}addResolvingPromise(s){s&&!this._promiseProps.isFulfilled()&&this._promiseProps.addResolvingPromise(\"_promiseProps\"in s?s.when():s)}};return r=s([o(\"esri.core.Promise\")],r),r};let m=class extends(n(e)){};m=s([o(\"esri.core.Promise\")],m);export{m as EsriPromise,n as EsriPromiseMixin};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{trackAccess as t}from\"./accessorSupport/tracking.js\";import{SimpleObservable as e}from\"./accessorSupport/tracking/SimpleObservable.js\";class s{constructor(t=t=>t.values().next().value){this._peeker=t,this._observable=new e,this._items=new Set}get length(){return t(this._observable),this._items.size}clear(){0!==this.length&&(this._items.clear(),this._observable.notify())}last(){if(0===this.length)return;let t;for(t of this._items);return t}peek(){if(0!==this.length)return this._peeker(this._items)}push(t){this.contains(t)||(this._items.add(t),this._observable.notify())}contains(e){return t(this._observable),this._items.has(e)}pop(){if(0===this.length)return;const t=this.peek();return this._items.delete(t),this._observable.notify(),t}popLast(){if(0===this.length)return;const t=this.last();return this._items.delete(t),this._observable.notify(),t}remove(t){this.contains(t)&&(this._items.delete(t),this._observable.notify())}filter(t){const e=this.length;return this._items.forEach((e=>{t(e)||this._items.delete(e)})),e!==this._items.size&&this._observable.notify(),this}*[Symbol.iterator](){t(this._observable),yield*this._items}}export{s as default};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nclass t{constructor(t=1){this._seed=t}set seed(e){this._seed=e??Math.random()*t._m}getInt(){return this._seed=(t._a*this._seed+t._c)%t._m,this._seed}getFloat(){return this.getInt()/(t._m-1)}getIntRange(t,e){return Math.round(this.getFloatRange(t,e))}getFloatRange(e,s){const n=s-e;return e+this.getInt()/t._m*n}}t._m=2147483647,t._a=48271,t._c=0;export{t as default};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{trackAccess as e}from\"./accessorSupport/tracking.js\";import{SimpleObservable as t}from\"./accessorSupport/tracking/SimpleObservable.js\";class s{constructor(e){this._observable=new t,this._map=new Map(e)}get size(){return e(this._observable),this._map.size}clear(){this._map.size>0&&(this._map.clear(),this._observable.notify())}delete(e){const t=this._map.delete(e);return t&&this._observable.notify(),t}entries(){return e(this._observable),this._map.entries()}forEach(t,s){e(this._observable),this._map.forEach(((e,r)=>t.call(s,e,r,this)),s)}get(t){return e(this._observable),this._map.get(t)}has(t){return e(this._observable),this._map.has(t)}keys(){return e(this._observable),this._map.keys()}set(e,t){return this._map.set(e,t),this._observable.notify(),this}values(){return e(this._observable),this._map.values()}[Symbol.iterator](){return e(this._observable),this._map[Symbol.iterator]()}get[Symbol.toStringTag](){return this._map[Symbol.toStringTag]}}export{s as default};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{trackAccess as t}from\"./accessorSupport/tracking.js\";import{SimpleObservable as e}from\"./accessorSupport/tracking/SimpleObservable.js\";class s{constructor(t){this._observable=new e,this._set=new Set(t)}get size(){return t(this._observable),this._set.size}add(t){const e=this._set.size;return this._set.add(t),this._set.size!==e&&this._observable.notify(),this}clear(){this._set.size>0&&(this._set.clear(),this._observable.notify())}delete(t){const e=this._set.delete(t);return e&&this._observable.notify(),e}entries(){return t(this._observable),this._set.entries()}forEach(e,s){t(this._observable),this._set.forEach(((t,r)=>e.call(s,t,r,this)),s)}has(e){return t(this._observable),this._set.has(e)}keys(){return t(this._observable),this._set.keys()}values(){return t(this._observable),this._set.values()}[Symbol.iterator](){return t(this._observable),this._set[Symbol.iterator]()}get[Symbol.toStringTag](){return this._set[Symbol.toStringTag]}}export{s as default};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{_ as r}from\"../chunks/tslib.es6.js\";import t from\"./Accessor.js\";import{setupConstructedDefaults as s}from\"./accessorSupport/defaultsStoreUtils.js\";import o from\"./accessorSupport/MultiOriginStore.js\";import{nameToId as e,idToName as i}from\"./accessorSupport/PropertyOrigin.js\";import{read as c}from\"./accessorSupport/read.js\";import{getProperties as n}from\"./accessorSupport/utils.js\";import{subclass as p}from\"./accessorSupport/decorators/subclass.js\";const u=t=>{let u=class extends t{constructor(...r){super(...r);const t=n(this),e=t.store,i=new o;t.store=i,s(t,e,i)}read(r,t){c(this,r,t)}getAtOrigin(r,t){const s=a(this),o=e(t);if(\"string\"==typeof r)return s.get(r,o);const i={};return r.forEach((r=>{i[r]=s.get(r,o)})),i}originOf(r){return i(this.originIdOf(r))}originIdOf(r){return a(this).originOf(r)}revert(r,t){const s=a(this),o=e(t),i=n(this);let c;c=\"string\"==typeof r?\"*\"===r?s.keys(o):[r]:r,c.forEach((r=>{i.invalidate(r),s.revert(r,o),i.commit(r)}))}};return u=r([p(\"esri.core.ReadOnlyMultiOriginJSONSupport\")],u),u};function a(r){return n(r).store}let f=class extends(u(t)){};f=r([p(\"esri.core.ReadOnlyMultiOriginJSONSupport\")],f);export{u as ReadOnlyMultiOriginJSONMixin,f as ReadOnlyMultiOriginJSONSupport};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport e from\"./ObjectPool.js\";class s extends e{constructor(){super(...arguments),this._set=new Set}destroy(){super.destroy(),this._set=null}acquire(...e){const s=super.acquire(...e);return this._set.delete(s),s}release(e){e&&!this._set.has(e)&&(super.release(e),this._set.add(e))}_dispose(e){this._set.delete(e),super._dispose(e)}}export{s as ReentrantObjectPool};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nfunction n(n,r){for(const t of n.values())if(r(t))return!0;return!1}function r(n,r){if(!r)return n;for(const t of r)null!=t&&n.add(t);return n}function t(n,r){return null!=r&&n.add(r),n}function u(n,t){const u=new Set;return r(u,n),r(u,t),u}function o(n,r){const t=new Set;for(const u of r)n.has(u)&&t.add(u);return t}function e(n,r){if(!n||!r)return!1;if(n===r)return!0;for(const t of n)if(!r.has(t))return!1;return!0}function f(n,r){if(null==n&&null==r)return!0;if(null==n||null==r||n.size!==r.size)return!1;for(const t of n)if(!r.has(t))return!1;return!0}function i(n,r){const t=new Set(n);for(const u of r)t.delete(u);return t}function c(n,r){return i(u(n,r),o(n,r))}function l(n){let r;for(r of n);return r}export{r as addMany,t as addMaybe,i as difference,f as equals,o as intersection,e as isSubsetOf,l as last,n as someSet,c as symmetricDifference,u as union};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport\"./has.js\";import{nextTick as t}from\"./nextTick.js\";import{create as e}from\"./libs/gl-matrix-2/factories/mat3f64.js\";import{create as r}from\"./libs/gl-matrix-2/factories/mat4f64.js\";import{create as s}from\"./libs/gl-matrix-2/factories/quatf64.js\";import{create as i}from\"./libs/gl-matrix-2/factories/vec2f64.js\";import{create as a}from\"./libs/gl-matrix-2/factories/vec3f64.js\";import{create as c}from\"./libs/gl-matrix-2/factories/vec4f64.js\";class m{constructor(t){this._create=t,this._items=new Array,this._itemsPtr=0}get(){return 0===this._itemsPtr&&t((()=>this._reset())),this._itemsPtr>=this._items.length&&this._items.push(this._create()),this._items[this._itemsPtr++]}_reset(){const t=2*this._itemsPtr;this._items.length>t&&(this._items.length=t),this._itemsPtr=0}static createVec2f64(){return new m(i)}static createVec3f64(){return new m(a)}static createVec4f64(){return new m(c)}static createMat3f64(){return new m(e)}static createMat4f64(){return new m(r)}static createQuatf64(){return new m(s)}get test(){}}export{m as VectorStack};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport t from\"./Error.js\";let r=class r{constructor(t,r,o=\"\"){this.major=t,this.minor=r,this._context=o}lessThan(t,r){return this.majore.respectPrefersReducedMotion&&window.matchMedia(\"(prefers-reduced-motion: reduce)\").matches;export{o as prefersReducedMotion};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{clone as i}from\"../lang.js\";import{OriginId as e}from\"./PropertyOrigin.js\";class s{constructor(){this._values=new Map,this.multipleOriginsSupported=!1}clone(e){const t=new s;return this._values.forEach(((s,r)=>{e&&e.has(r)||t.set(r,i(s.value),s.origin)})),t}get(i,e){e=this._normalizeOrigin(e);const s=this._values.get(i);return null==e||s?.origin===e?s?.value:void 0}originOf(i){return this._values.get(i)?.origin??e.USER}keys(i){i=this._normalizeOrigin(i);const e=[...this._values.keys()];return null==i?e:e.filter((e=>this._values.get(e)?.origin===i))}set(i,s,r){if((r=this._normalizeOrigin(r))===e.DEFAULTS){const e=this._values.get(i);if(null!=e?.origin&&e.origin>r)return}this._values.set(i,new t(s,r))}delete(i,e){null!=(e=this._normalizeOrigin(e))&&this._values.get(i)?.origin!==e||this._values.delete(i)}has(i,e){return null!=(e=this._normalizeOrigin(e))?this._values.get(i)?.origin===e:this._values.has(i)}forEach(i){this._values.forEach((({value:e},s)=>i(e,s)))}_normalizeOrigin(i){if(null!=i)return i===e.DEFAULTS?i:e.USER}}class t{constructor(i,e){this.value=i,this.origin=e}}export{s as DefaultsStore};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{clone as t}from\"../lang.js\";import{originIdNum as s,OriginId as e}from\"./PropertyOrigin.js\";class r{constructor(){this._propertyOriginMap=new Map,this._originStores=new Array(s),this._values=new Map,this.multipleOriginsSupported=!0}clone(i){const o=new r,n=this._originStores[e.DEFAULTS];n&&n.forEach(((s,r)=>{o.set(r,t(s),e.DEFAULTS)}));for(let r=e.SERVICE;r{i&&i.has(e)||o.set(e,t(s),r)}))}return o}get(t,s){const e=void 0===s?this._values:this._originStores[s];return e?e.get(t):void 0}keys(t){const s=null==t?this._values:this._originStores[t];return s?[...s.keys()]:[]}set(t,s,r=e.USER){let i=this._originStores[r];if(i||(i=new Map,this._originStores[r]=i),i.set(t,s),!this._values.has(t)||this._propertyOriginMap.get(t)<=r){const e=this._values.get(t);return this._values.set(t,s),this._propertyOriginMap.set(t,r),e!==s}return!1}delete(t,s=e.USER){const r=this._originStores[s];if(!r)return;const i=r.get(t);if(r.delete(t),this._values.has(t)&&this._propertyOriginMap.get(t)===s){this._values.delete(t);for(let e=s-1;e>=0;e--){const s=this._originStores[e];if(s&&s.has(t)){this._values.set(t,s.get(t)),this._propertyOriginMap.set(t,e);break}}}return i}has(t,s){const e=void 0===s?this._values:this._originStores[s];return!!e&&e.has(t)}revert(t,s){for(;s>0&&!this.has(t,s);)--s;const e=this._originStores[s],r=e?.get(t),i=this._values.get(t);return this._values.set(t,r),this._propertyOriginMap.set(t,s),i!==r}originOf(t){return this._propertyOriginMap.get(t)||e.DEFAULTS}forEach(t){this._values.forEach(t)}}export{r as default};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{makeHandle as e}from\"../handleUtils.js\";import{ObservationHandle as s}from\"./tracking/ObservationHandle.js\";class r{constructor(){this._observers=null,this.destroyed=!1}observe(e){if(this.destroyed||e.destroyed)return t;null==this._observers&&(this._observers=[]);const r=this._observers;let o=!1,i=!1;const n=r.length;for(let s=0;s0){if(!(t+rt.destroy()))}get initialized(){return this.lifecycle!==i.INITIALIZING}get(t){const e=this.propertiesByName.get(t);if(e.metadata.get)return e.getComputed(this);this.mutable&&c(e);const i=this.store;return i.has(t)?i.get(t):e.metadata.value}originOf(t){const e=this.store.originOf(t);if(void 0===e){const e=this.propertiesByName.get(t);if(void 0!==e&&e.flags&p.HasDefaultValue)return\"defaults\"}return o(e)}has(t){return this.propertiesByName.has(t)&&this.store.has(t)}keys(){return[...this.propertiesByName.keys()]}internalGet(t){const e=this.propertiesByName.get(t);if(g(e))return this.store.has(t)?this.store.get(t):e.metadata.value}internalSet(t,e){const i=this.propertiesByName.get(t);g(i)&&this._internalSet(i,e)}getDependsInfo(t,e,i){const r=this.propertiesByName.get(e);if(!g(r))return\"\";const o=new f,a=l(o,(()=>r.metadata.get?.call(t)));let n=`${i}${t.declaredClass.split(\".\").pop()}.${e}: ${a}\\n`;const c=o.accessed??new Set;if(0===c.size)return n;i+=\" \";for(const l of c){if(!(l instanceof s))continue;n+=`${i}${l.propertyName}: undefined\\n`}return n}setAtOrigin(t,e,i){const s=this.propertiesByName.get(t);if(g(s))return this._setAtOrigin(s,e,i)}isOverridden(t){const e=this.propertiesByName.get(t);return void 0!==e&&!!(e.flags&p.Overridden)}clearOverride(t){const e=this.propertiesByName.get(t);e&&e.flags&p.Overridden&&(e.flags&=~p.Overridden,e.notifyChange())}override(t,e){const i=this.propertiesByName.get(t);if(!m(i,t,e,this))return;const s=i.metadata.cast;if(s){const t=this._cast(s,e),{valid:i,value:r}=t;if(y.release(t),!i)return;e=r}i.flags|=p.Overridden,this._internalSet(i,e)}set(t,e){const i=this.propertiesByName.get(t);if(!m(i,t,e,this))return;const s=i.metadata.cast;if(s){const t=this._cast(s,e),{valid:i,value:r}=t;if(y.release(t),!i)return;e=r}const r=i.metadata.set;r?r.call(this.host,e):this._internalSet(i,e)}setDefaultOrigin(t){this._origin=a(t)}getDefaultOrigin(){return o(this._origin)}notifyChange(t){const e=this.propertiesByName.get(t);void 0!==e&&e.notifyChange()}invalidate(t){const e=this.propertiesByName.get(t);void 0!==e&&e.invalidate()}commit(t){const e=this.propertiesByName.get(t);void 0!==e&&e.commit()}_internalSet(t,e){const s=this.lifecycle!==i.INITIALIZING?this._origin:r.DEFAULTS;this._setAtOrigin(t,e,s)}_setAtOrigin(e,i,s){const r=this.store,o=e.propertyName;r.has(o,s)&&t(i,r.get(o))&&~e.flags&p.Overridden&&s===r.originOf(o)||(e.invalidate(),r.set(o,i,s),e.commit(),h(this.host,e))}_cast(t,e){const i=y.acquire();return i.valid=!0,i.value=e,t&&(i.value=t.call(this.host,e,i)),i}}class d{constructor(){this.value=null,this.valid=!0}acquire(){this.valid=!0}release(){this.value=null}}const y=new e(d);export{u as default};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{ObservableBase as t}from\"./ObservableBase.js\";import{OriginId as i}from\"./PropertyOrigin.js\";import{trackAccess as s,runTracked as e,trackExplicitDependencies as a,runUntracked as r}from\"./tracking.js\";import{Flags as o}from\"./tracking/Flags.js\";import{TrackingTarget as n}from\"./tracking/TrackingTarget.js\";class g extends t{constructor(t,i){super(),this.propertyName=t,this.metadata=i,this.trackingTarget=new n(this),this.flags=0,this.flags=o.Dirty|(i.nonNullable?o.NonNullable:0)|(i.hasOwnProperty(\"value\")?o.HasDefaultValue:0)|(void 0===i.get?o.DepTrackingInitialized:0)|(void 0===i.dependsOn?o.AutoTracked:0)}destroy(){this.flags&o.Dirty&&this.onCommitted(),super.destroy(),this.trackingTarget.destroy()}getComputed(t){t.mutable&&s(this);const n=t.store,g=this.propertyName,h=this.flags,l=n.get(g);if(h&o.Computing)return l;if(~h&o.Dirty&&n.has(g))return l;this.flags|=o.Computing;const m=t.host;let d;h&o.AutoTracked?d=e(this.trackingTarget,this.metadata.get,m):(a(m,this),d=this.metadata.get.call(m)),this.flags|=o.DepTrackingInitialized,n.set(g,d,i.COMPUTED);const c=n.get(g);return c===l?this.flags&=~o.Dirty:r(this.commit,this),this.flags&=~o.Computing,c}notifyChange(){this.onInvalidated(),this.onCommitted()}invalidate(){this.onInvalidated()}commit(){this.flags&=~o.Dirty,this.onCommitted()}onInvalidated(){~this.flags&o.Overridden&&(this.flags|=o.Dirty);const t=this._observers;if(t&&t.length>0)for(const i of t)i.onInvalidated()}onCommitted(){const t=this._observers;if(t&&t.length>0){const i=t.slice();for(const t of i)t.onCommitted()}}}export{g as Property};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nvar e;!function(e){e[e.DEFAULTS=0]=\"DEFAULTS\",e[e.COMPUTED=1]=\"COMPUTED\",e[e.SERVICE=2]=\"SERVICE\",e[e.PORTAL_ITEM=3]=\"PORTAL_ITEM\",e[e.WEB_SCENE=4]=\"WEB_SCENE\",e[e.WEB_MAP=5]=\"WEB_MAP\",e[e.LINK_CHART=6]=\"LINK_CHART\",e[e.USER=7]=\"USER\"}(e||(e={}));const r=e.USER+1;function n(r){switch(r){case\"defaults\":return e.DEFAULTS;case\"service\":return e.SERVICE;case\"portal-item\":return e.PORTAL_ITEM;case\"web-scene\":return e.WEB_SCENE;case\"web-map\":return e.WEB_MAP;case\"link-chart\":return e.LINK_CHART;case\"user\":return e.USER;default:return null}}function t(r){switch(r){case e.DEFAULTS:return\"defaults\";case e.SERVICE:return\"service\";case e.PORTAL_ITEM:return\"portal-item\";case e.WEB_SCENE:return\"web-scene\";case e.WEB_MAP:return\"web-map\";case e.LINK_CHART:return\"link-chart\";case e.USER:return\"user\"}}function E(e){return n(e)}function u(e){return t(e)}function c(e){return n(e)}function s(e){return t(e)}export{e as OriginId,t as idToName,u as idToReadableName,s as idToWritableName,n as nameToId,r as originIdNum,E as readableNameToId,c as writableNameToId};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{clone as e}from\"../lang.js\";import{OriginId as s}from\"./PropertyOrigin.js\";class t{constructor(){this._values=new Map,this.multipleOriginsSupported=!1}clone(s){const r=new t;return this._values.forEach(((t,i)=>{s&&s.has(i)||r.set(i,e(t))})),r}get(e){return this._values.get(e)}originOf(){return s.USER}keys(){return[...this._values.keys()]}set(e,s){this._values.set(e,s)}delete(e){this._values.delete(e)}has(e){return this._values.has(e)}forEach(e){this._values.forEach(e)}}export{t as Store};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nconst o=Symbol(\"Accessor-beforeDestroy\");export{o as beforeDestroySymbol};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{ensureType as t}from\"../ensureType.js\";import{getPropertyMetadata as n}from\"../metadata.js\";const r=Object.prototype.toString;function o(n){const r=\"__accessorMetadata__\"in n?t(n):n;return function(...t){if(t.push(r),\"number\"==typeof t[2])throw new Error(\"Using @cast has parameter decorator is not supported since 4.16\");return e.apply(this,t)}}function e(t,r,o,e){n(t,r).cast=e}function i(t){return(r,o)=>{n(r,t).cast=r[o]}}function s(...t){if(3!==t.length||\"string\"!=typeof t[1])return 1===t.length&&\"[object Function]\"===r.call(t[0])?o(t[0]):1===t.length&&\"string\"==typeof t[0]?i(t[0]):void 0}export{s as cast};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{JSONMap as e}from\"../../jsonMap.js\";import{property as n}from\"./property.js\";function r(r,a={}){const t=r instanceof e?r:new e(r,a),{alwaysWriteDefaults:l,default:o,ignoreUnknown:s=!0,name:i,nonNullable:u,readOnly:p=!1}=a;return n({type:s?t.apiValues:String,json:{type:t.jsonValues,default:o,name:i,read:!p&&{reader:t.read},write:{writer:t.write,alwaysWriteDefaults:l}},nonNullable:u,readOnly:p})}export{r as enumeration};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport t from\"../../Logger.js\";import{ensureArrayTyped as r,ensureOneOfType as e,ensureRange as o,isLongFormType as n,ensureLongFormType as i,isOneOf as s,ensureOneOf as a,ensureNArrayTyped as c,ensureArray as f,ensureNArray as p,ensureType as u}from\"../ensureType.js\";import{get as l}from\"../get.js\";import{getPropertyMetadata as g,mergeProperty as y}from\"../metadata.js\";import{set as d}from\"../set.js\";function m(n={}){return(i,s)=>{if(i===Function.prototype)throw new Error(`Inappropriate use of @property() on a static field: ${i.name}.${s}. Accessor does not support static properties.`);const a=Object.getOwnPropertyDescriptor(i,s),c=g(i,s);a&&(a.get||a.set?(c.get=a.get||c.get,c.set=a.set||c.set):\"value\"in a&&(\"value\"in n&&t.getLogger(\"esri.core.accessorSupport.decorators.property\").warn(`@property() will redefine the value of \"${s}\" on \"${i.constructor.name}\" already defined in the metadata`,n),c.value=n.value=a.value)),null!=n.readOnly&&(c.readOnly=n.readOnly);const f=n.aliasOf;if(f){const t=\"string\"==typeof f?f:f.source,r=\"string\"==typeof f?null:!0===f.overridable;let e;c.dependsOn=[t],c.get=function(){let r=l(this,t);if(\"function\"==typeof r){e||(e=t.split(\".\").slice(0,-1).join(\".\"));const o=l(this,e);o&&(r=r.bind(o))}return r},c.readOnly||(c.set=r?function(t){this._override(s,t)}:function(r){d(this,t,r)})}const p=n.type,u=n.types;if(!c.cast){let t;p?t=v(p):u&&(t=Array.isArray(u)?r(e(u[0])):e(u)),n.cast=h(n.cast,t)}y(c,n),n.range&&(c.cast=o(c.cast,n.range))}}function j(t,r,e){const o=g(t,e);o.json||(o.json={});let n=o.json;return void 0!==r&&(n.origins||(n.origins={}),n.origins[r]||(n.origins[r]={}),n=n.origins[r]),n}function v(t){let r=0,e=t;if(n(t))return i(t);for(;Array.isArray(e)&&1===e.length&&\"string\"!=typeof e[0]&&\"number\"!=typeof e[0];)e=e[0],r++;const o=e;if(s(o))return 0===r?a(o):c(a(o),r);if(1===r)return f(o);if(r>1)return p(o,r);const l=t;return l.from?l.from:u(l)}function h(t,r){if(t||r)return t?r?(e,o)=>r(t(e,o),o):t:r}export{h as composeCasters,m as property,j as propertyJSONMeta};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{propertyJSONMeta as r}from\"./property.js\";function o(o,e,t){let a,c;return void 0===e||Array.isArray(e)?(c=o,t=e,a=[void 0]):(c=e,a=Array.isArray(o)?o:[o]),(o,e)=>{const d=o.constructor.prototype;a.forEach((a=>{const s=r(o,a,c);s.read&&\"object\"==typeof s.read||(s.read={}),s.read.reader=d[e],t&&(s.read.source=(s.read.source||[]).concat(t))}))}}export{o as reader};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nfunction n(n){return(r,t)=>{r[t]=n}}export{n as shared};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport\"../../has.js\";import e from\"../../Logger.js\";import{beforeDestroySymbol as t}from\"../beforeDestroy.js\";import{Lifecycle as r}from\"../interfaces.js\";import{getPropertiesMetadata as o}from\"../metadata.js\";import{trackAccess as s}from\"../tracking.js\";import{processPrototypePropertyMetadata as i}from\"../extensions/serializableProperty.js\";const n=new Set,c=new Set;function a(e){return r=>{e??=\"esri.core.Accessor\",r.prototype.declaredClass=e,p(r);const s=[],i=[];let a=r.prototype;for(;a;)a.hasOwnProperty(\"initialize\")&&!n.has(a.initialize)&&(n.add(a.initialize),s.push(a.initialize)),a.hasOwnProperty(\"destroy\")&&!c.has(a.destroy)&&(c.add(a.destroy),i.push(a.destroy)),a=Object.getPrototypeOf(a);n.clear(),c.clear();const l=class extends r{constructor(...e){if(super(...e),this.constructor===l&&\"function\"==typeof this.postscript){if(s.length&&Object.defineProperty(this,\"initialize\",{enumerable:!1,configurable:!0,value(){for(let e=s.length-1;e>=0;e--)s[e].call(this)}}),i.length){let e=!1;const r=this[t];Object.defineProperty(this,\"destroy\",{enumerable:!1,configurable:!0,value(){if(!e){e=!0,r.call(this);for(let e=0;e{e.getLogger(\"esri.core.Accessor\").error(`cannot assign to ${t} property '${r}'`)};export{p as finalizeClass,a as subclass};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{propertyJSONMeta as t}from\"./property.js\";function r(r,o,e){let i,n;return void 0===o?(n=r,i=[void 0]):\"string\"!=typeof o?(n=r,i=[void 0],e=o):(n=o,i=Array.isArray(r)?r:[r]),(r,o)=>{const p=r.constructor.prototype;for(const c of i){const i=t(r,c,n);i.write&&\"object\"==typeof i.write||(i.write={}),e&&(i.write.target=e),i.write.writer=p[o]}}}export{r as writer};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{OriginId as t}from\"./PropertyOrigin.js\";function e(e,r,n){r.keys().forEach((e=>{n.set(e,r.get(e),t.DEFAULTS)}));const o=e.metadata;Object.keys(o).forEach((r=>{e.internalGet(r)&&n.set(r,e.internalGet(r),t.DEFAULTS)}))}export{e as setupConstructedDefaults};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport t from\"../Accessor.js\";import e from\"../Collection.js\";import{getProperties as n}from\"./utils.js\";const o=new Set([\"esri.Color\",\"esri.portal.Portal\",\"esri.symbols.support.Symbol3DAnchorPosition2D\",\"esri.symbols.support.Symbol3DAnchorPosition3D\"]);function r(e){return e instanceof t}function f(t){return t instanceof e?Object.keys(t.items):r(t)?n(t).keys():t?Object.keys(t):[]}function i(t,n){return t instanceof e?t.items[n]:t[n]}function l(t,e){return!(!Array.isArray(t)||!Array.isArray(e))&&t.length!==e.length}function u(t){return t?t.declaredClass:null}function c(t,e){const n=t.diff;if(n&&\"function\"==typeof n)return n(t,e);const s=f(t),p=f(e);if(0===s.length&&0===p.length)return;if(!s.length||!p.length||l(t,e))return{type:\"complete\",oldValue:t,newValue:e};const a=p.filter((t=>!s.includes(t))),y=s.filter((t=>!p.includes(t))),d=s.filter((n=>p.includes(n)&&i(t,n)!==i(e,n))).concat(a,y).sort(),m=u(t);if(m&&o.has(m)&&d.length)return{type:\"complete\",oldValue:t,newValue:e};let h;const b=r(t)&&r(e);for(const o of d){const r=i(t,o),f=i(e,o);let l;if((b||\"function\"!=typeof r&&\"function\"!=typeof f)&&(r!==f&&(null!=r||null!=f))){if(n&&n[o]&&\"function\"==typeof n[o])l=n[o]?.(r,f);else if(r instanceof Date&&f instanceof Date){if(r.getTime()===f.getTime())continue;l={type:\"complete\",oldValue:r,newValue:f}}else l=\"object\"==typeof r&&\"object\"==typeof f&&u(r)===u(f)?c(r,f):{type:\"complete\",oldValue:r,newValue:f};null!=l&&(null!=h?h.diff[o]=l:h={type:\"partial\",diff:{[o]:l}})}}return h}function s(t,e){return p(t,e)}function p(t,e){if(null==t)return!1;const n=e.split(\".\");let o=t;for(const r of n){if(\"complete\"===o.type)return!0;if(\"partial\"!==o.type)return!1;{const t=o.diff[r];if(!t)return!1;o=t}}return!0}function a(t,e){for(const n of e)if(p(t,n))return!0;return!1}function y(t,e){if(!t)return!1;if(\"partial\"===t.type){const n=Object.keys(t.diff);return 1===n.length&&n[0]===e}return!1}function d(t,e){if(\"function\"!=typeof t&&\"function\"!=typeof e&&(null!=t||null!=e))return null==t||null==e||\"object\"==typeof t&&\"object\"==typeof e&&u(t)!==u(e)?{type:\"complete\",oldValue:t,newValue:e}:c(t,e)}function m(t){if(null==t)return!0;switch(t.type){case\"complete\":return!1;case\"collection\":{const e=t;for(const t of e.added)if(!m(t))return!1;for(const t of e.removed)if(!m(t))return!1;for(const t of e.changed)if(!m(t))return!1;return!0}case\"partial\":for(const e in t.diff){if(!m(t.diff[e]))return!1}return!0}}export{d as diff,p as hasDiff,a as hasDiffAny,s as hasRootDiff,y as hasRootDiffOnly,m as isEmpty};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport\"../has.js\";import e from\"../Logger.js\";import{getOrCreateMapValue as n}from\"../MapUtils.js\";const r=()=>e.getLogger(\"esri.core.accessorSupport.ensureTypes\");function t(e){return null==e?e:new Date(e)}function o(e){return null==e?e:!!e}function u(e){return null==e?e:e.toString()}function a(e,n=0){return null==e?e:(e=parseFloat(e),isNaN(e)?n:e)}function s(e){return null==e?e:Math.round(parseFloat(e))}function l(e){return null}function i(e,n){return r=>{let t=e(r);return null!=n.step&&(t=Math.round(t/n.step)*n.step),null!=n.min&&(t=Math.max(n.min,t)),null!=n.max&&(t=Math.min(n.max,t)),t}}function c(e){return e?.constructor&&void 0!==e.constructor.__accessorMetadata__}function f(e,n){return null!=n&&e&&!(n instanceof e)}function p(e){return e&&\"isCollection\"in e}function y(e){return e?.Type?\"function\"==typeof e.Type?e.Type:e.Type.base:null}function v(e,n){if(!n?.constructor||!p(n.constructor))return g(e,n)?n:new e(n);const r=y(e.prototype.itemType),t=y(n.constructor.prototype.itemType);return r?t?r===t?n:r.prototype.isPrototypeOf(t.prototype)?new e(n):(g(e,n),n):new e(n):n}function g(e,n){return!!c(n)&&(r().error(\"Accessor#set\",\"Assigning an instance of '\"+(n.declaredClass||\"unknown\")+\"' which is not a subclass of '\"+m(e)+\"'\"),!0)}function h(e,n){return null==n?n:p(e)?v(e,n):f(e,n)?g(e,n)?n:new e(n):n}function m(e){return e?.prototype?.declaredClass||\"unknown\"}const d=new WeakMap;function b(e){switch(e){case Number:return e=>a(e);case x:return s;case Boolean:return o;case String:return u;case Date:return t;case _:return l;default:return n(d,e,(()=>h.bind(null,e)))}}function w(e,n){const r=b(e);return 1===arguments.length?r:r(n)}function A(e,n,r){return 1===arguments.length?A.bind(null,e):n?Array.isArray(n)?n.map((n=>e(n,r))):[e(n,r)]:n}function $(e,n){return 1===arguments.length?A((n=>w(e,n))):A((n=>w(e,n)),n)}function j(e,n,r){return 0!==n&&Array.isArray(r)?r.map((r=>j(e,n-1,r))):e(r)}function M(e,n,r){if(2===arguments.length)return r=>M(e,n,r);if(!r)return r;r=j(e,n,r);let t=n,o=r;for(;t>0&&Array.isArray(o);)t--,o=o[0];if(void 0!==o)for(let u=0;uw(e,n)),n):M((n=>w(e,n)),n,r)}function S(e){return!!Array.isArray(e)&&!e.some((n=>{const r=typeof n;return!(\"string\"===r||\"number\"===r||\"function\"===r&&e.length>1)}))}function T(e,n){if(2===arguments.length)return T(e).call(null,n);const t=new Set,o=e.filter((e=>\"function\"!=typeof e)),u=e.filter((e=>\"function\"==typeof e));for(const r of e)\"string\"!=typeof r&&\"number\"!=typeof r||t.add(r);let a=null,s=null;return(e,n)=>{if(null==e)return e;const l=typeof e,i=\"string\"===l||\"number\"===l;return i&&(t.has(e)||u.some((e=>\"string\"===l&&e===String||\"number\"===l&&e===Number)))||\"object\"===l&&u.some((n=>!f(e,n)))?e:(i&&o.length?(a||(a=o.map((e=>\"string\"==typeof e?`'${e}'`:`${e}`)).join(\", \")),r().error(\"Accessor#set\",`'${e}' is not a valid value for this property, only the following values are valid: ${a}`)):\"object\"==typeof e&&u.length?(s||(s=u.map((e=>m(e))).join(\", \")),r().error(\"Accessor#set\",`'${e}' is not a valid value for this property, value must be one of ${s}`)):r().error(\"Accessor#set\",`'${e}' is not a valid value for this property`),n&&(n.valid=!1),null)}}function N(e,n){if(2===arguments.length)return N(e).call(null,n);const t={},o=[],u=[];for(const r in e.typeMap){const n=e.typeMap[r];t[r]=w(n),o.push(m(n)),u.push(r)}const a=()=>`'${o.join(\"', '\")}'`,s=()=>`'${u.join(\"', '\")}'`,l=\"string\"==typeof e.key?n=>n[e.key]:e.key;return n=>{if(e.base&&!f(e.base,n))return n;if(null==n)return n;const o=l(n)||e.defaultKeyValue,u=t[o];if(!u)return r().error(\"Accessor#set\",`Invalid property value, value needs to be one of ${a()}, or a plain object that can autocast (having .type = ${s()})`),null;if(!f(e.typeMap[o],n))return n;if(\"string\"==typeof e.key&&!c(n)){const r={};for(const t in n)t!==e.key&&(r[t]=n[t]);return u(r)}return u(n)}}class x{}class _{}const B={native:e=>({type:\"native\",value:e}),array:e=>({type:\"array\",value:e}),oneOf:e=>({type:\"one-of\",values:e})};function C(e){if(!e||!(\"type\"in e))return!1;switch(e.type){case\"native\":case\"array\":case\"one-of\":return!0}return!1}function D(e){switch(e.type){case\"native\":return w(e.value);case\"array\":return A(D(e.value));case\"one-of\":return F(e);default:return null}}function F(e){let n=null;return(t,o)=>L(t,e)?t:(null==n&&(n=I(e)),r().error(\"Accessor#set\",`Invalid property value, value needs to be of type ${n}`),o&&(o.valid=!1),null)}function I(e){switch(e.type){case\"native\":switch(e.value){case Number:return\"number\";case String:return\"string\";case Boolean:return\"boolean\";case x:return\"integer\";case Date:return\"date\";case _:return\"null\";default:return m(e.value)}case\"array\":return`array of ${I(e.value)}`;case\"one-of\":{const n=e.values.map((e=>I(e)));return`one of ${n.slice(0,-1)} or ${n[n.length-1]}`}}return\"unknown\"}function L(e,n){if(null==e)return!0;switch(n.type){case\"native\":switch(n.value){case Number:case x:return\"number\"==typeof e;case Boolean:return\"boolean\"==typeof e;case String:return\"string\"==typeof e;case _:return null===e}return e instanceof n.value;case\"array\":return!!Array.isArray(e)&&!e.some((e=>!L(e,n.value)));case\"one-of\":return n.values.some((n=>L(e,n)))}}export{x as Integer,_ as Null,$ as ensureArray,A as ensureArrayTyped,o as ensureBoolean,h as ensureClass,t as ensureDate,s as ensureInteger,D as ensureLongFormType,k as ensureNArray,M as ensureNArrayTyped,l as ensureNull,a as ensureNumber,T as ensureOneOf,N as ensureOneOfType,i as ensureRange,u as ensureString,w as ensureType,c as isClassedType,C as isLongFormType,S as isOneOf,f as requiresType,B as types};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{isOneOf as r}from\"../ensureType.js\";import{process as i}from\"./serializableProperty/originAliases.js\";import{create as n}from\"./serializableProperty/reader.js\";import{process as e}from\"./serializableProperty/shorthands.js\";import{create as t}from\"./serializableProperty/writer.js\";function o(r,i){return y(r,\"any\",i?.origin)}function s(r,i){return y(r,\"read\",i?.origin)}function a(r,i){return y(r,\"write\",i?.origin)}function y(r,i,n){let e=r?.json;if(e?.origins&&n){let r;r=\"link-chart\"===n?e.origins[n]&&(\"any\"===i||i in e.origins[n])?e.origins[n]:e.origins[\"web-map\"]:e.origins[n],r&&(\"any\"===i||i in r)&&(e=r)}return e}function p(r){const i=f(r);if(r.json.origins)for(const e in r.json.origins){const o=r.json.origins[e],s=o.types?u(o):i;n(s,o,!1),o.types&&!o.write&&r.json.write?.enabled&&(o.write={...r.json.write}),t(s,o)}n(i,r.json,!0),t(i,r.json)}function f(r){return r.json.types?j(r.json):r.type?c(r):j(r)}function u(r){return r.type?c(r):j(r)}function c(i){if(!i.type)return;let n=0,e=i.type;for(;Array.isArray(e)&&!r(e);)e=e[0],n++;return{type:e,ndimArray:n}}function j(r){if(!r.types)return;let i=0,n=r.types;for(;Array.isArray(n);)n=n[0],i++;return{types:n,ndimArray:i}}function l(r){e(r)&&(i(r),p(r))}export{o as originSpecificPropertyDefinition,s as originSpecificReadPropertyDefinition,a as originSpecificWritePropertyDefinition,l as processPrototypePropertyMetadata};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nfunction n(n){if(n.json&&n.json.origins){const o=n.json.origins,e={\"web-document\":[\"web-scene\",\"web-map\"]};for(const n in e)if(o[n]){const s=o[n];e[n].forEach((n=>{o[n]=s})),delete o[n]}}}export{n as process};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport t from\"../../../Logger.js\";import{setDeepValue as e}from\"../../../object.js\";import r from\"../../../Warning.js\";import{getPropertiesMetadata as n}from\"../../metadata.js\";import{isCollection as o}from\"./type.js\";const i=()=>t.getLogger(\"esri.core.accessorSupport.extensions.serializableProperty.reader\");function p(t,r,n){t&&(!n&&!r.read||r.read?.reader||!1===r.read?.enabled||l(t)&&e(\"read.reader\",u(t),r))}function u(t){const e=t.ndimArray??0;if(e>1)return c(t);if(1===e)return a(t);if(\"type\"in t&&d(t.type)){const e=t.type.prototype?.itemType?.Type,r=a(\"function\"==typeof e?{type:e}:{types:e});return(e,n,o)=>{const i=r(e,n,o);return i?new t.type(i):i}}return s(t)}function s(t){return\"type\"in t?y(t.type):g(t.types)}function y(t){return t.prototype.read?(e,r,n)=>{if(null==e)return e;const o=typeof e;if(\"object\"!==o)return void i().error(`Expected JSON value of type 'object' to deserialize type '${t.prototype.declaredClass}', but got '${o}'`);const p=new t;return p.read(e,n),p}:t.fromJSON}function f(t,e,r,n){return 0!==n&&Array.isArray(e)?e.map((e=>f(t,e,r,n-1))):t(e,void 0,r)}function c(t){const e=s(t),r=f.bind(null,e),n=t.ndimArray??0;return(t,e,o)=>{if(null==t)return t;t=r(t,o,n);let i=n,p=t;for(;i>0&&Array.isArray(p);)i--,p=p[0];if(void 0!==p)for(let r=0;r{if(null==t)return t;if(Array.isArray(t)){const r=[];for(const o of t){const t=e(o,void 0,n);void 0!==t&&r.push(t)}return r}const o=e(t,void 0,n);return void 0!==o?[o]:void 0}}function d(t){if(!o(t))return!1;const e=t.prototype.itemType;return!(!e||!e.Type)&&(\"function\"==typeof e.Type?m(e.Type):j(e.Type))}function l(t){return\"types\"in t?j(t.types):m(t.type)}function m(t){return!Array.isArray(t)&&(!!t&&t.prototype&&(\"read\"in t.prototype||\"fromJSON\"in t||d(t)))}function j(t){for(const e in t.typeMap){if(!m(t.typeMap[e]))return!1}return!0}function g(t){let e=null;const n=t.errorContext??\"type\",o=t.validate;return(p,u,s)=>{if(null==p)return p;const y=typeof p;if(\"object\"!==y)return void i().error(`Expected JSON value of type 'object' to deserialize, but got '${y}'`);e||(e=v(t));const f=t.key;if(\"string\"!=typeof f)return;const c=p[f],a=c?e[c]:t.defaultKeyValue?t.typeMap[t.defaultKeyValue]:void 0;if(!a){const t=`Type '${c||\"unknown\"}' is not supported`;return s?.messages&&p&&s.messages.push(new r(`${n}:unsupported`,t,{definition:p,context:s})),void i().error(t)}const d=new a;return d.read(p,s),o?o(d):d}}function v(t){const e={};for(const r in t.typeMap){const o=t.typeMap[r],i=n(o.prototype);if(\"function\"==typeof t.key)continue;const p=i[t.key];if(!p)continue;if(p.json?.type&&Array.isArray(p.json.type)&&1===p.json.type.length&&\"string\"==typeof p.json.type[0]){e[p.json.type[0]]=o;continue}const u=p.json?.write;if(!u?.writer){e[r]=o;continue}const s=u.target,y=\"string\"==typeof s?s:t.key,f={};u.writer(r,f,y),f[y]&&(e[f[y]]=o)}return e}export{p as create,u as createTypeReader};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nfunction e(e){if(e.json||(e.json={}),o(e.json),n(e.json),r(e.json),e.json.origins)for(const t in e.json.origins)o(e.json.origins[t]),n(e.json.origins[t]),r(e.json.origins[t]);return!0}function r(e){e.name&&(e.read&&\"object\"==typeof e.read?void 0===e.read.source&&(e.read.source=e.name):e.read={source:e.name},e.write&&\"object\"==typeof e.write?void 0===e.write.target&&(e.write.target=e.name):e.write={target:e.name})}function o(e){\"boolean\"==typeof e.read?e.read={enabled:e.read}:\"function\"==typeof e.read?e.read={enabled:!0,reader:e.read}:e.read&&\"object\"==typeof e.read&&void 0===e.read.enabled&&(e.read.enabled=!0)}function n(e){\"boolean\"==typeof e.write?e.write={enabled:e.write}:\"function\"==typeof e.write?e.write={enabled:!0,writer:e.write}:e.write&&\"object\"==typeof e.write&&void 0===e.write.enabled&&(e.write.enabled=!0)}export{e as process};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nfunction e(e){return!!e&&e.prototype?.declaredClass&&0===e.prototype.declaredClass.indexOf(\"esri.core.Collection\")}export{e as isCollection};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nfunction e(e){return{enabled:!!e?.length}}export{e as writeNonEmptyCollectionPolicy};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport r from\"../../../Error.js\";import e from\"../../../Logger.js\";import{setDeepValue as t}from\"../../../object.js\";import{isCollection as n}from\"./type.js\";function i(r,e){if(!e.write||e.write.writer||!1===e.write.enabled&&!e.write.overridePolicy)return;const t=r?.ndimArray??0;r&&(1===t||\"type\"in r&&n(r.type))?e.write.writer=a:t>1?e.write.writer=l(t):e.types?Array.isArray(e.types)?e.write.writer=f(e.types[0]):e.write.writer=o(e.types):e.write.writer=s}function o(r){return(e,t,n,i)=>e?u(e,r,i)?s(e,t,n,i):void 0:s(e,t,n,i)}function u(t,n,i){for(const r in n.typeMap)if(t instanceof n.typeMap[r])return!0;if(i?.messages){const o=n.errorContext??\"type\",u=`Values of type '${(\"function\"!=typeof n.key?t[n.key]:t.declaredClass)??\"Unknown\"}' cannot be written`;i&&i.messages&&t&&i.messages.push(new r(`${o}:unsupported`,u,{definition:t,context:i})),e.getLogger(\"esri.core.accessorSupport.extensions.serializableProperty.writer\").error(u)}return!1}function f(r){return(e,t,n,i)=>{if(!e||!Array.isArray(e))return s(e,t,n,i);return s(e.filter((e=>u(e,r,i))),t,n,i)}}function s(r,e,n,i){t(n,p(r,i),e)}function p(r,e){return r&&\"function\"==typeof r.write?r.write({},e):r&&\"function\"==typeof r.toJSON?r.toJSON():\"number\"==typeof r?y(r):r}function y(r){return r===-1/0?-Number.MAX_VALUE:r===1/0?Number.MAX_VALUE:isNaN(r)?null:r}function a(r,e,n,i){let o;null===r?o=null:r&&\"function\"==typeof r.map?(o=r.map((r=>p(r,i))),\"function\"==typeof o.toArray&&(o=o.toArray())):o=[p(r,i)],t(n,o,e)}function c(r,e,t){return 0!==t&&Array.isArray(r)?r.map((r=>c(r,e,t-1))):p(r,e)}function l(r){return(e,n,i,o)=>{let u;if(null===e)u=null;else{u=c(e,o,r);let t=r,n=u;for(;t>0&&Array.isArray(n);)t--,n=n[0];if(void 0!==n)for(let r=0;ra)([\"operational-layers\",\"basemap\",\"ground\"]);export{a as excludeTables};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{clone as t}from\"../lang.js\";import{merge as e}from\"./utils.js\";function r(e){let r=e.constructor.__accessorMetadata__;const o=Object.prototype.hasOwnProperty.call(e.constructor,\"__accessorMetadata__\");if(r){if(!o){r=Object.create(r);for(const e in r)r[e]=t(r[e]);Object.defineProperty(e.constructor,\"__accessorMetadata__\",{value:r,enumerable:!1,configurable:!0,writable:!0})}}else r={},Object.defineProperty(e.constructor,\"__accessorMetadata__\",{value:r,enumerable:!1,configurable:!0,writable:!0});return e.constructor.__accessorMetadata__}function o(t,e){const o=r(t);let c=o[e];return c||(c=o[e]={}),c}function c(t,r){return e(t,r,n)}const a=/^(?:[^.]+\\.)?(?:value|type|(?:json\\.type|json\\.origins\\.[^.]\\.type))$/;function n(t){return a.test(t)?\"replace\":\"merge\"}export{r as getPropertiesMetadata,o as getPropertyMetadata,c as mergeProperty};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{valueOf as e,exists as t}from\"./get.js\";import{getProperties as r}from\"./utils.js\";import{originSpecificReadPropertyDefinition as o,originSpecificPropertyDefinition as n}from\"./extensions/serializableProperty.js\";function s(e,r,o){if(!e?.read||!1===e.read.enabled||!e.read.source)return!1;const n=e.read.source;if(\"string\"==typeof n){if(n===r)return!0;if(n.includes(\".\")&&0===n.indexOf(r)&&t(n,o))return!0}else for(const s of n){if(s===r)return!0;if(s.includes(\".\")&&0===s.indexOf(r)&&t(s,o))return!0}return!1}function i(e){return e&&(!e.read||!1!==e.read.enabled&&!e.read.source)}function f(e,t,r,n,f){let a=o(t[r],f);i(a)&&(e[r]=!0);for(const i of Object.getOwnPropertyNames(t))a=o(t[i],f),s(a,r,n)&&(e[i]=!0)}function a(e,t,r,o){const s=r.metadata,i=n(s[t],o),f=i?.default;if(void 0===f)return;const a=\"function\"==typeof f?f.call(e,t,o):f;void 0!==a&&r.set(t,a)}const c={origin:\"service\"};function u(t,n,s=c){if(!n||\"object\"!=typeof n)return;const i=r(t),u=i.metadata,d={};for(const e of Object.getOwnPropertyNames(n))f(d,u,e,n,s);i.setDefaultOrigin(s.origin);for(const r of Object.getOwnPropertyNames(d)){const f=o(u[r],s).read,a=f?.source;let c;c=a&&\"string\"==typeof a?e(n,a):n[r],f?.reader&&(c=f.reader.call(t,c,n,s)),void 0!==c&&i.set(r,c)}if(!s||!s.ignoreDefaults){i.setDefaultOrigin(\"defaults\");for(const e of Object.getOwnPropertyNames(u))d[e]||a(t,e,i,s)}i.setDefaultOrigin(\"user\")}function d(e,t,r,o=c){const n={...o,messages:[]};r(n),n.messages?.forEach((t=>{\"warning\"!==t.type||e.loaded?o?.messages&&o.messages.push(t):e.loadWarnings.push(t)}))}export{u as read,d as readLoadable};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport o from\"../Error.js\";import has from\"../has.js\";import\"../Logger.js\";import{get as r}from\"./get.js\";function t(o,e,s){if(o&&e)if(\"object\"==typeof e)for(const r of Object.getOwnPropertyNames(e))t(o,r,e[r]);else{if(e.includes(\".\")){const n=e.split(\".\"),i=n.splice(-1,1)[0];return void t(r(o,n),i,s)}const i=o.__accessor__;null!=i&&n(e,i),o[e]=s}}function n(r,t){if(has(\"esri-unknown-property-errors\")&&!e(r,t))throw new o(\"set:unknown-property\",s(r,t))}function e(o,r){return null!=r.metadata[o]}function s(o,r){return\"setting unknown property '\"+o+\"' on instance of \"+r.host.declaredClass}export{t as set};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nlet r;function o(){return r}function n(o){r=o}var t;!function(r){r[r.Ignore=0]=\"Ignore\",r[r.Destroy=1]=\"Destroy\",r[r.ThrowError=2]=\"ThrowError\"}(t||(t={}));export{t as InterceptorCollectAction,o as getAccessorInterceptor,n as setAccessorInterceptor};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport\"../has.js\";import t from\"../Logger.js\";import{pathToArray as n,getProperties as r}from\"./utils.js\";import{Flags as e}from\"./tracking/Flags.js\";import{TrackingTarget as i}from\"./tracking/TrackingTarget.js\";const o=new i,c=[];let s=o;function a(t){s.onAccessed(t)}let l=!1,g=!1;function f(t,n,r){if(l)return p(t,n,r);let e=null;return k(t),e=n.call(r),m(),e}function u(t,n){return f(o,t,n)}function p(n,r,e){const i=l;l=!0,k(n);let o=null;try{o=r.call(e)}catch(c){g&&t.getLogger(\"esri.core.accessorSupport.tracking\").error(c)}return m(),l=i,o}function k(t){s=t,c.push(t)}function m(){const t=c.length;if(t>1){const n=c.pop();s=c[t-2],n.onTrackingEnd()}else if(1===t){const t=c.pop();s=o,t.onTrackingEnd()}else s=o}function d(t,n){if(n.flags&e.DepTrackingInitialized)return;n.flags|=e.DepTrackingInitialized;const r=g;g=!1,n.flags&e.AutoTracked?p(n.trackingTarget,n.metadata.get,t):y(t,n),g=r}const T=[];function y(t,r){r.flags&e.ExplicitlyTracking||(r.flags|=e.ExplicitlyTracking,p(r.trackingTarget,(()=>{const e=r.metadata.dependsOn||T;for(const r of e)if(\"string\"!=typeof r||r.includes(\".\")){const e=n(r);for(let n=0,r=t;n{e||i||(i=!0,s?m():queueMicrotask(m))}));function m(){i=!1,a&&!e&&(u?c(m):(a.clear(),u=!0,e=!0,t(a,l),e=!1,u=!1,f()))}function p(){a&&(a.destroy(),a=null)}return e=!0,t(a,l),e=!1,n(p)}function c(n){l.includes(n)||l.unshift(n)}function f(){for(;l.length;)l.pop()()}export{i as autorun,o as reaction,e as reactionDeferred};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nvar i;!function(i){i[i.Dirty=1]=\"Dirty\",i[i.Overridden=2]=\"Overridden\",i[i.Computing=4]=\"Computing\",i[i.NonNullable=8]=\"NonNullable\",i[i.HasDefaultValue=16]=\"HasDefaultValue\",i[i.DepTrackingInitialized=32]=\"DepTrackingInitialized\",i[i.AutoTracked=64]=\"AutoTracked\",i[i.ExplicitlyTracking=128]=\"ExplicitlyTracking\"}(i||(i={}));export{i as Flags};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{remove as r}from\"../../arrayUtils.js\";class s{constructor(r,s){this._observers=r,this._observer=s}remove(){r(this._observers,this._observer)}}export{s as ObservationHandle};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{ObservableBase as o}from\"../ObservableBase.js\";class s extends o{notify(){const o=this._observers;if(o&&o.length>0){const s=o.slice();for(const o of s)o.onInvalidated(),o.onCommitted()}}}export{s as SimpleObservable};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{TrackingTarget as t}from\"./TrackingTarget.js\";class s extends t{constructor(t){super(new i(t)),this._observer&&e.register(this,new WeakRef(this._observer),this)}destroy(){this._observer&&e.unregister(this._observer),this.accessed?.clear(),this.clear(),this._observer?.destroy()}}class i{constructor(t){this._notify=t,this._invalidCount=0,this.destroyed=!1}onInvalidated(){this._invalidCount++}onCommitted(){if(this.destroyed)return;const t=this._invalidCount;if(1===t)return this._invalidCount=0,void this._notify();this._invalidCount=t>0?t-1:0}destroy(){this.destroyed=!0,this._notify=r}}const e=new FinalizationRegistry((t=>{t.deref()?.destroy()}));function r(){}export{s as SimpleTrackingTarget};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nclass s{constructor(s){this.accessed=void 0,this._handles=void 0,this._observer=s}destroy(){this.accessed?.clear(),this.clear()}onAccessed(s){null!=this._observer&&s!==this._observer&&(null==this.accessed&&(this.accessed=new Set),this.accessed.add(s))}onTrackingEnd(){null!=this._observer&&(this.clear(),null!=this.accessed&&(null==this._handles&&(this._handles=[]),this.accessed.forEach((s=>{this._handles.push(s.observe(this._observer))})),this.accessed.clear()))}clear(){if(null!=this._handles){for(let s=0;s{const u=i;let l=null,s=\"merge\";if(e&&(l=e.path?`${e.path}.${i}`:i,s=e.policy(l)),\"replace\"===s)return r[u]=t[u],r;if(\"replace-arrays\"===s&&Array.isArray(r[u]))return r[u]=t[u],r;if(void 0===r[u])return r[u]=n(t[u]),r;let a=r[u],c=t[u];if(a===c)return r;if(Array.isArray(c)||Array.isArray(r))a=a?Array.isArray(a)?r[u]=a.slice():r[u]=[a]:r[u]=[],c&&(Array.isArray(c)||(c=[c]),c.forEach((r=>{a.includes(r)||a.push(r)})));else if(c&&\"object\"==typeof c)if(e){const n=e.path;e.path=l,r[u]=o(a,c,e),e.path=n}else r[u]=o(a,c,null);else r.hasOwnProperty(i)&&!t.hasOwnProperty(i)||(r[u]=c);return r}),r||{}):r}function l(r){return r&&(\"string\"!=typeof r||r.includes(\".\"))?s(r):r}function s(r){return Array.isArray(r)?r:r.split(\".\")}function a(r){return r.includes(\",\")?r.split(\",\").map((r=>r.trim())):[r.trim()]}function c(r){if(Array.isArray(r)){const n=[];for(const t of r)n.push(...a(t));return n}return a(r)}function f(r){if(!r.includes(\"?\"))return null;const n=s(r),t=new Array(n.length);for(let e=0;ei(n,r,e)));return r(t)}return i(n,u[0],e)}export{i as getDependsInfo,t as getProperties,e as isPropertyDeclared,u as merge,p as parse,f as parseConditionalPath,s as pathToArray,l as pathToStringOrArray,c as splitPath};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport e from\"../ArrayPool.js\";import{makeHandle as t}from\"../handleUtils.js\";import{equals as r,equalsShallow as l}from\"../lang.js\";import{ReentrantObjectPool as o}from\"../ReentrantObjectPool.js\";import{schedule as i}from\"../scheduling.js\";import{someSet as n}from\"../SetUtils.js\";import{generateUID as s}from\"../uid.js\";import{valueOf as c}from\"./get.js\";import{Lifecycle as u}from\"./interfaces.js\";import{reactionDeferred as a,reaction as d}from\"./trackingUtils.js\";import{parse as f}from\"./utils.js\";var h;!function(e){e[e.Untracked=0]=\"Untracked\",e[e.Tracked=1]=\"Tracked\"}(h||(h={}));class m{constructor(){this.uid=s(),this.removed=!1,this.type=null,this.oldValue=null,this.callback=null,this.getValue=null,this.target=null,this.path=null,this.equals=null}static acquireUntracked(e,t,l,o,i){return this.pool.acquire(h.Untracked,e,t,l,o,i,r)}static acquireTracked(e,t,r,l){return this.pool.acquire(h.Tracked,e,t,r,null,null,l)}notify(e,t){this.type===h.Untracked?this.callback.call(this.target,e,t,this.path,this.target):this.callback.call(null,e,t,void 0,void 0)}acquire(e,t,r,l,o,i,n){this.uid=s(),this.removed=!1,this.type=e,this.oldValue=t,this.callback=r,this.getValue=l,this.target=o,this.path=i,this.equals=n}release(){this.target=this.path=this.oldValue=this.callback=this.getValue=null,this.uid=s(),this.removed=!0}}m.pool=new o(m);const p=new e,v=new Set;let k;function _(e){v.delete(e),v.add(e),k||(k=i(q))}function g(e){if(e.removed)return;const t=e.oldValue,r=e.getValue();e.equals(t,r)||(e.oldValue=r,e.notify(r,t))}function j(e){for(const t of v.values())t.target===e&&(t.removed=!0)}function q(){let e=10;for(;k&&e--;){k=null;const e=V(),t=p.acquire();for(const r of e){const e=r.uid;g(r),e===r.uid&&r.removed&&t.push(r)}for(const r of v)r.removed&&(t.push(r),v.delete(r));for(const r of t)m.pool.release(r);p.release(t),p.release(e),y.forEach((e=>e()))}}function V(){const e=p.acquire();e.length=v.size;let t=0;for(const r of v)e[t]=r,++t;return v.clear(),e}const y=new Set;function U(e){return y.add(e),t((()=>y.delete(e)))}function T(e,r,l){let o=f(e,r,l,((e,r,l)=>{let i,n,s=a((()=>c(e,r)),((t,s)=>{e.__accessor__?.lifecycle===u.DESTROYED||i&&i.uid!==n?o.remove():(i||(i=m.acquireUntracked(t,l,s,e,r),n=i.uid),_(i))}));return t((()=>{s.remove(),i&&(i.uid!==n||i.removed||(i.removed=!0,_(i)),i=null),o=s=null}))}));return o}function E(e,t,l){const o=f(e,t,l,((e,t,l)=>{let i=!1;return d((()=>c(e,t)),((n,s)=>{e.__accessor__.lifecycle!==u.DESTROYED?i||(i=!0,r(s,n)||l.call(e,n,s,t,e),i=!1):o.remove()}))}));return o}function b(e,r,l,o=!1){return e.__accessor__&&e.__accessor__.lifecycle!==u.DESTROYED?o?E(e,r,l):T(e,r,l):t()}function D(e,r,l){let o,i,n=a(e,((e,t)=>{o&&o.uid!==i?n.remove():(o||(o=m.acquireTracked(e,r,t,l),i=o.uid),_(o))}));return t((()=>{n.remove(),o&&(o.uid!==i||o.removed||(o.removed=!0,_(o)),o=null),n=null}))}function S(e,t,r){let l=!1;return d(e,((e,o)=>{l||(l=!0,r(o,e)||t(e,o),l=!1)}))}function w(e,t,r=!1,o=l){return r?S(e,t,o):D(e,t,o)}function O(e){return n(v,(t=>t.oldValue===e))}export{U as afterDispatch,q as dispatch,O as isValueInUse,j as removeTarget,b as watch,w as watchTracked};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{equals as r}from\"../arrayUtils.js\";import e from\"../Error.js\";import t from\"../Logger.js\";import{get as i}from\"./get.js\";import{idToReadableName as o,OriginId as n,nameToId as s}from\"./PropertyOrigin.js\";import{getProperties as u,merge as l}from\"./utils.js\";import{originSpecificWritePropertyDefinition as a}from\"./extensions/serializableProperty.js\";function p(r,e,t,i,o){const n={};return e.write?.writer?.call(r,i,n,t,o),n}function f(r,o,u,l,a,p){if(!l?.write)return!1;const f=i(r,u);if(!a&&l.write.overridePolicy){const e=l.write.overridePolicy.call(r,f,u,p??void 0);void 0!==e&&(a=e)}if(a||(a=l.write),!a||!1===a.enabled)return!1;if(a.layerContainerTypes&&p?.layerContainerType&&!a.layerContainerTypes.includes(p.layerContainerType))return!1;if((null===f&&!a.allowNull&&!a.writerEnsuresNonNull||void 0===f)&&a.isRequired){const i=new e(\"web-document-write:property-required\",`Missing value for required property '${u}' on '${r.declaredClass}'`,{propertyName:u,target:r});return i&&p?.messages?p.messages.push(i):i&&!p&&t.getLogger(\"esri.core.accessorSupport.write\").error(i.name,i.message),!1}if(void 0===f)return!1;if(null===f&&!a.allowNull&&!a.writerEnsuresNonNull)return!1;if(!a.alwaysWriteDefaults&&(!o.store.multipleOriginsSupported||o.store.originOf(u)===n.DEFAULTS)&&c(r,u,p,l,f))return!1;if(!a.ignoreOrigin&&p?.origin&&o.store.multipleOriginsSupported){if(o.store.originOf(u)0&&(e=l(e,d),t?.resources?.pendingOperations?.length&&t.resources.pendingOperations.push(Promise.all(t.resources.pendingOperations).then((()=>l(e,d,(()=>\"replace-arrays\"))))),t?.writtenProperties&&t.writtenProperties.push({target:r,propName:u,oldOrigin:o(n.store.originOf(u)),newOrigin:t.origin}))}return e}export{g as willPropertyWrite,d as write};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport n from\"./RandomLCG.js\";const t=1.5,e=1/t,r=.5;function l(n,t){if(!t)return n;for(const e of t)n.push(e);return n}function o(n){return n}function u(n,t=o){if(!n||0===n.length)return;let e=n[0],r=t(e);for(let l=1;lr&&(r=u,e=o)}return e}function f(n,t=o){return u(n,(n=>-t(n)))}function i(n,t){return t?n.filter(((n,e,r)=>r.findIndex(t.bind(null,n))===e)):Array.from(new Set(n))}function c(n,t,e){if(null==n&&null==t)return!0;if(null==n||null==t||n.length!==t.length)return!1;if(e){for(let r=0;r!n.some((n=>e(n,t))))),l=n.filter((n=>!t.some((t=>e(t,n)))))):(r=t.filter((t=>!n.includes(t))),l=n.filter((n=>!t.includes(n)))),{added:r,removed:l}}function a(n,t,e){return n&&t?e?n.filter((n=>t.findIndex((t=>e(n,t)))>-1)):n.filter((n=>t.includes(n))):[]}function d(n){return n&&\"number\"==typeof n.length}function g(n,t){const e=n.length;if(0===e)return[];const r=[];for(let l=0;ln[e]?l=e+1:o=e}const u=n[l];return e?t>=n[r-1]?-1:u===t?l:l-1:u===t?l:-1}class M{constructor(){this.last=0}}const w=new M;function x(n,t,e,r){r=r||w;const l=Math.max(0,r.last-10);for(let u=l;u=r)return n.slice();const l=A(e),o=new Set,u=[];for(;u.lengthj.getFloat()):Math.random}function I(n,t){const e=A(t);for(let r=n.length-1;r>0;r--){const t=Math.floor(e()*(r+1)),l=n[r];n[r]=n[t],n[t]=l}return n}const j=new n;function C(n,t){const e=n.indexOf(t);return-1!==e?(n.splice(e,1),t):null}function F(n,t){return null!=n}const G=[];export{M as PositionHint,l as addMany,p as binaryIndexOf,h as difference,G as emptyArray,c as equals,v as filterInPlace,A as getRandomNumberGenerator,x as indexOf,a as intersect,d as isArrayLike,F as isSome,u as max,f as min,z as pickRandom,m as range,t as reallocGrowthFactor,e as reallocShrinkFactor,r as reallocShrinkThreshold,C as remove,b as removeUnordered,S as removeUnorderedMany,I as shuffle,g as splitIntoChunks,i as unique,s as update};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{_ as r}from\"../chunks/tslib.es6.js\";import t from\"./Accessor.js\";import{abortMaybe as o,removeMaybe as e}from\"./maybe.js\";import{eachAlways as n,throwIfAbortError as s,onAbort as l}from\"./promiseUtils.js\";import{property as i}from\"./accessorSupport/decorators/property.js\";import{subclass as u}from\"./accessorSupport/decorators/subclass.js\";function a(r,t,o){return n(r.map(((r,e)=>t.apply(o,[r,e]))))}async function p(r,t,o){return(await n(r.map(((r,e)=>t.apply(o,[r,e]))))).map((r=>r.value))}function c(r){return{ok:!0,value:r}}function h(r){return{ok:!1,error:r}}function m(r){return null!=r&&!0===r.ok?r.value:null}function f(r){return null!=r&&!1===r.ok?r.error:null}async function _(r){if(null==r)return{ok:!1,error:new Error(\"no promise provided\")};try{return c(await r)}catch(t){return h(t)}}async function b(r){try{return c(await r)}catch(t){return s(t),h(t)}}function y(r){if(!0===r.ok)return r.value;throw r.error}function d(r,t){return new v(r,t)}let v=class extends t{get value(){return m(this._result)}get error(){return f(this._result)}get finished(){return null!=this._result}constructor(r,t){super({}),this._result=null,this._abortHandle=null,this.abort=()=>{this._abortController=o(this._abortController)},this.remove=this.abort,this._abortController=new AbortController;const{signal:e}=this._abortController;this.promise=r(e),this.promise.then((r=>{this._result=c(r),this._cleanup()}),(r=>{this._result=h(r),this._cleanup()})),this._abortHandle=l(t,this.abort)}normalizeCtorArgs(){return{}}destroy(){this.abort()}_cleanup(){this._abortHandle=e(this._abortHandle),this._abortController=null}};r([i()],v.prototype,\"value\",null),r([i()],v.prototype,\"error\",null),r([i()],v.prototype,\"finished\",null),r([i()],v.prototype,\"promise\",void 0),r([i()],v.prototype,\"_result\",void 0),v=r([u(\"esri.core.asyncUtils.ReactiveTask\")],v);export{y as assertResult,d as createTask,a as forEach,h as makeResultError,c as makeResultOk,p as map,_ as result,f as resultError,b as resultOrAbort,m as resultValue};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nfunction r(r){return 32+r.length}function n(){return 16}function t(t){if(!t)return 0;let e=f;for(const o in t)if(t.hasOwnProperty(o)){const u=t[o];switch(typeof u){case\"string\":e+=r(u);break;case\"number\":e+=n();break;case\"boolean\":e+=4}}return e}function e(r){if(!r)return 0;if(Array.isArray(r))return o(r);let n=f;for(const t in r)r.hasOwnProperty(t)&&(n+=u(r[t]));return n}function o(r){const n=r.length;if(0===n||\"number\"==typeof r[0])return 32+8*n;let t=i;for(let e=0;e{const i=e.setTimeout(o,r);return t((()=>e.clearTimeout(i)))}}}const o=e(globalThis);export{o as clock,e as wrap};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport r from\"./Collection.js\";function n(n,t,i=r){return t||(t=new i),t===n||(t.removeAll(),e(n)?t.addMany(n):n&&t.add(n)),t}function t(r){return r}function e(r){return r&&(Array.isArray(r)||\"items\"in r&&Array.isArray(r.items))}export{t as castForReferenceSetter,n as referenceSetter};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport n from\"../Color.js\";import{shuffle as t,getRandomNumberGenerator as r}from\"./arrayUtils.js\";import{clone as o}from\"./lang.js\";import{e}from\"../chunks/vec42.js\";import{fromValues as u}from\"./libs/gl-matrix-2/factories/vec4f64.js\";function c(n){return\"r\"in n&&\"g\"in n&&\"b\"in n}function i(n){return\"h\"in n&&\"s\"in n&&\"v\"in n}function a(n){return\"l\"in n&&\"a\"in n&&\"b\"in n}function s(n){return\"l\"in n&&\"c\"in n&&\"h\"in n}function f(n){return\"x\"in n&&\"y\"in n&&\"z\"in n}const h=[[.4124,.3576,.1805],[.2126,.7152,.0722],[.0193,.1192,.9505]],l=[[3.2406,-1.5372,-.4986],[-.9689,1.8758,.0415],[.0557,-.204,1.057]];function g(n,t){const r=[];let o,e;if(n[0].length!==t.length)throw new Error(\"dimensions do not match\");const u=n.length,c=n[0].length;let i=0;for(o=0;on<=.04045?n/12.92:((n+.055)/1.055)**2.4)),r=g(h,t);return{x:100*r[0],y:100*r[1],z:100*r[2]}}function M(n){const t=g(l,[n.x/100,n.y/100,n.z/100]).map((n=>{const t=n<=.0031308?12.92*n:1.055*n**(1/2.4)-.055;return Math.min(1,Math.max(t,0))}));return{r:Math.round(255*t[0]),g:Math.round(255*t[1]),b:Math.round(255*t[2])}}function m(n){const t=[n.x/95.047,n.y/100,n.z/108.883].map((n=>n>(6/29)**3?n**(1/3):1/3*(29/6)**2*n+4/29));return{l:116*t[1]-16,a:500*(t[0]-t[1]),b:200*(t[1]-t[2])}}function d(n){const t=n.l,r=[(t+16)/116+n.a/500,(t+16)/116,(t+16)/116-n.b/200].map((n=>n>6/29?n**3:3*(6/29)**2*(n-4/29)));return{x:95.047*r[0],y:100*r[1],z:108.883*r[2]}}function p(n){const t=n.l,r=n.a,o=n.b,e=Math.sqrt(r*r+o*o);let u=Math.atan2(o,r);return u=u>0?u:u+2*Math.PI,{l:t,c:e,h:u}}function w(n){const t=n.l,r=n.c,o=n.h;return{l:t,a:r*Math.cos(o),b:r*Math.sin(o)}}function x(n){return m(b(n))}function k(n){return M(d(n))}function y(n){return p(m(b(n)))}function v(n){return M(d(w(n)))}function j(n){const t=n.r,r=n.g,o=n.b,e=Math.max(t,r,o),u=e-Math.min(t,r,o);let c=e,i=0===u?0:e===t?(r-o)/u%6:e===r?(o-t)/u+2:(t-r)/u+4,a=0===u?0:u/c;return i<0&&(i+=6),i*=60,a*=100,c*=100/255,{h:i,s:a,v:c}}function z(n){const t=(n.h+360)%360/60,r=n.s/100,o=n.v/100*255,e=o*r,u=e*(1-Math.abs(t%2-1));let c;switch(Math.floor(t)){case 0:c={r:e,g:u,b:0};break;case 1:c={r:u,g:e,b:0};break;case 2:c={r:0,g:e,b:u};break;case 3:c={r:0,g:u,b:e};break;case 4:c={r:u,g:0,b:e};break;case 5:case 6:c={r:e,g:0,b:u};break;default:c={r:0,g:0,b:0}}return c.r=Math.round(c.r+o-e),c.g=Math.round(c.g+o-e),c.b=Math.round(c.b+o-e),c}function A(n){return c(n)?n:s(n)?v(n):a(n)?k(n):f(n)?M(n):i(n)?z(n):n}function B(n){if(i(n))return n;return j(A(n))}function C(n){return a(n)?n:x(A(n))}function H(n){return s(n)?n:y(A(n))}function U(n){return q(n).isBright?\"light\":\"dark\"}function q(t){let{r,g:o,b:e,a:u}=t;return u<1&&(r=Math.round(u*r+255*(1-u)),o=Math.round(u*o+255*(1-u)),e=Math.round(u*e+255*(1-u))),new n({r,g:o,b:e})}function G(n,t){const{r,g:o,b:e}=t?.ignoreAlpha?n:q(n);return.2126*r+.7152*o+.0722*e}var L;function R(t,r=L.High){return G(t,{ignoreAlpha:!0})>r?new n([0,0,0,t.a]):new n([255,255,255,t.a])}function E(n,t){const r=C(n);r.l*=1-t;const o=A(r),e=n.clone();return e.setColor(o),e.a=n.a,e}function I(n,t){const r=n.clone();return r.a*=t,r}function P(n,t){const r=B(n);r.s*=t;const o=A(r),e=n.clone();return e.setColor(o),e.a=n.a,e}function D(t){return n.toUnitRGBA(t)}function F(n,t){return n===t||null!=n&&n.equals(t)}function J(n,t){return n===t||null!=n&&null!=t&&e(n,t)}function K(n){return u(n[0],n[1],n[2],n.length>3?n[3]:1)}function N(t,r){const o=n.toUnitRGBA(t);return o[3]*=r,o}function O(r,e,u={}){if(0===r.length||e<=0)return[];if(1===(r=r.map((t=>\"string\"==typeof t?new n(t):t))).length||1===e){const n=[],t=r[0];for(let r=0;r=e){const n=[],t=(r.length-1)/(e-1);for(let o=0;on.clone())),...t(e,o.seed??1)]}!function(n){n[n.Low=160]=\"Low\",n[n.High=225]=\"High\"}(L||(L={}));const S=(n,t)=>{const r=Math.floor(10*t())-5;return Math.min(255,Math.max(0,n+r))};function T(t,o,e,u={}){const c=t.r,i=t.g,a=t.b,s=o.r,f=o.g,h=o.b,l=Math.round(c+(s-c)*e),g=Math.round(i+(f-i)*e),b=Math.round(a+(h-a)*e);if(!u.offset)return new n([l,g,b]);const M=r(u.seed);return new n([S(l,M),S(g,M),S(b,M)])}export{L as BrightnessThreshold,F as colorEquals,J as colorVectorEquals,K as colorVectorToColorAndOpacity,O as createUniqueColors,E as darken,P as desaturate,G as getColorLuminance,U as getColorTheme,R as getContrast,c as isRGB,I as multiplyOpacity,N as multiplyOpacityToUnitRGBA,B as toHSV,C as toLAB,H as toLCH,A as toRGB,D as unitRGBAFromColor};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport\"./has.js\";function n(n){}function t(n){}function o(n){return()=>n}export{n as neverReached,t as neverReachedSilent,o as typeCast};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport has from\"./has.js\";const e=new WeakMap;function n(n,r,t=!1){const i=`🛑 DEPRECATED - ${r}`;if(!t)return void n.warn(i);let o=e.get(n);o||(o=new Set,e.set(n,o)),o.has(r)||(o.add(r),n.warn(i))}function r(e,n,r={}){has(\"esri-deprecation-warnings\")&&a(e,`Module: ${n}`,r)}function t(e,n,r={}){if(has(\"esri-deprecation-warnings\")){const{moduleName:t}=r;a(e,`Function: ${(t?t+\"::\":\"\")+n+\"()\"}`,r)}}function i(e,n,r={}){if(has(\"esri-deprecation-warnings\")){const{moduleName:t}=r;a(e,`Property: ${(t?t+\"::\":\"\")+n}`,r)}}function o(e,n,r={}){has(\"esri-deprecation-warnings\")&&a(e,`Multiple argument constructor: ${n}`,{warnOnce:!0,replacement:`new ${n}({ })`,...r})}function a(e,r,t={}){if(has(\"esri-deprecation-warnings\")){const{replacement:i,version:o,see:a,warnOnce:s}=t;let c=r;i&&(c+=`\\n\\t🛠️ Replacement: ${i}`),o&&(c+=`\\n\\t⚙️ Version: ${o}`),a&&(c+=`\\n\\t🔗 See ${a} for more details.`),n(e,c,s)}}export{a as deprecated,o as deprecatedConstructorSignature,t as deprecatedFunction,r as deprecatedModule,i as deprecatedProperty};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nfunction c(c){return c=c||globalThis.location.hostname,i.some((a=>null!=c?.match(a)))}function a(c,a){return c?(a=a||globalThis.location.hostname)?null!=a.match(t)||null!=a.match(s)?c.replace(\"static.arcgis.com\",\"staticdev.arcgis.com\"):null!=a.match(o)||null!=a.match(l)?c.replace(\"static.arcgis.com\",\"staticqa.arcgis.com\"):c:c:null}const t=/^devext\\.arcgis\\.com$/,o=/^qaext\\.arcgis\\.com$/,s=/^[\\w-]*\\.mapsdevext\\.arcgis\\.com$/,l=/^[\\w-]*\\.mapsqa\\.arcgis\\.com$/,i=[/^([\\w-]*\\.)?[\\w-]*\\.zrh-dev-local\\.esri\\.com$/,t,o,/^jsapps\\.esri\\.com$/,s,l];export{a as adjustStaticAGOUrl,i as devHostnames,c as isDevEnvironment};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nfunction n(n){return\"string\"==typeof n?document.getElementById(n):n??null}function t(n,t){for(;;){const e=n.firstChild;if(!e)break;t.appendChild(e)}}export{n as byId,t as reparent};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{makeHandle as e}from\"./handleUtils.js\";function n(e){return t(e)||r(e)}function t(e){return null!=e&&\"object\"==typeof e&&\"on\"in e&&\"function\"==typeof e.on}function r(e){return null!=e&&\"object\"==typeof e&&\"addEventListener\"in e&&\"function\"==typeof e.addEventListener}function o(e,t,o){if(!n(e))throw new TypeError(\"target is not a Evented or EventTarget object\");return r(e)?i(e,t,o):e.on(t,o)}function i(n,t,r,o){if(Array.isArray(t)){const i=t.slice();for(const e of i)n.addEventListener(e,r,o);return e((()=>{for(const e of i)n.removeEventListener(e,r,o)}))}return n.addEventListener(t,r,o),e((()=>n.removeEventListener(t,r,o)))}function c(e,t,r){if(!n(e))throw new TypeError(\"target is not a Evented or EventTarget object\");if(\"once\"in e)return e.once(t,r);const i=o(e,t,(n=>{i.remove(),r.call(e,n)}));return i}function f(e,n,t){let r=!1;const i=o(e,n,(n=>{r||t.call(e,n)}));return{resume(){r=!1},pause(){r=!0},remove(){i.remove()}}}export{i as addEventListener,n as isEventedOrEventTarget,o as on,c as once,f as pausable};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nconst n={remove:()=>{}};function e(e){return e?{remove(){e&&(e(),e=void 0)}}:n}function o(n){n.forEach((n=>n?.remove()))}function r(n){o(n),n.length=0}function t(n){return e((()=>o(n)))}function u(n){return e((()=>n()?.remove()))}function l(n){return e((()=>n?.abort()))}function i(n){return e(null!=n?()=>n.destroy():void 0)}function c(n,o){let r=!1,t=null;return n.then((n=>{r?n.remove():t=n})),e((()=>{r=!0,null!=t?t.remove():null!=o&&(o.abort(),o=null)}))}function f(n){return{[Symbol.dispose](){n.remove()}}}export{l as abortHandle,c as asyncHandle,i as destroyHandle,f as disposable,r as drainHandles,t as handlesGroup,e as makeHandle,u as refHandle,o as removeHandles};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nlet e;function has(a){return\"function\"==typeof e[a]?e[a]=e[a](globalThis):e[a]}e=globalThis.dojoConfig?.has||globalThis.esriConfig?.has?{...globalThis.dojoConfig?.has,...globalThis.esriConfig?.has}:{},has.add=(a,d,o,i)=>{(i||void 0===e[a])&&(e[a]=d),o&&has(a)},has.cache=e,has.add(\"big-integer-warning-enabled\",!0),has.add(\"esri-deprecation-warnings\",!0),has.add(\"esri-tests-disable-screenshots\",!1),has.add(\"esri-tests-use-full-window\",!1),has.add(\"esri-tests-post-to-influx\",!0),has.add(\"esri-cim-animations-enable-status\",\"enabled\"),has.add(\"esri-cim-animations-spotlight\",!1),has.add(\"esri-cim-animations-freeze-time\",!1),has.add(\"enable-feature:multiple-highlights\",!1),(()=>{has.add(\"host-webworker\",void 0!==globalThis.WorkerGlobalScope&&self instanceof globalThis.WorkerGlobalScope);const e=\"undefined\"!=typeof window&&\"undefined\"!=typeof location&&\"undefined\"!=typeof document&&window.location===location&&window.document===document;if(has.add(\"host-browser\",e),has.add(\"host-node\",\"object\"==typeof globalThis.process&&globalThis.process.versions?.node&&globalThis.process.versions.v8),has.add(\"dom\",e),has(\"host-browser\")){const e=navigator,a=e.userAgent,d=e.appVersion,o=parseFloat(d);if(has.add(\"wp\",parseFloat(a.split(\"Windows Phone\")[1])||void 0),has.add(\"msapp\",parseFloat(a.split(\"MSAppHost/\")[1])||void 0),has.add(\"khtml\",d.includes(\"Konqueror\")?o:void 0),has.add(\"edge\",parseFloat(a.split(\"Edge/\")[1])||void 0),has.add(\"opr\",parseFloat(a.split(\"OPR/\")[1])||void 0),has.add(\"webkit\",!has(\"wp\")&&!has(\"edge\")&&parseFloat(a.split(\"WebKit/\")[1])||void 0),has.add(\"chrome\",!has(\"edge\")&&!has(\"opr\")&&parseFloat(a.split(\"Chrome/\")[1])||void 0),has.add(\"android\",!has(\"wp\")&&parseFloat(a.split(\"Android \")[1])||void 0),has.add(\"safari\",!d.includes(\"Safari\")||has(\"wp\")||has(\"chrome\")||has(\"android\")||has(\"edge\")||has(\"opr\")?void 0:parseFloat(d.split(\"Version/\")[1])),has.add(\"mac\",d.includes(\"Macintosh\")),!has(\"wp\")&&/(iPhone|iPod|iPad)/.test(a)){const e=RegExp.$1.replace(/P/,\"p\"),d=/OS ([\\d_]+)/.test(a)?RegExp.$1:\"1\",o=parseFloat(d.replace(/_/,\".\").replaceAll(\"_\",\"\"));has.add(e,o),has.add(\"ios\",o)}has(\"webkit\")||(!a.includes(\"Gecko\")||has(\"wp\")||has(\"khtml\")||has(\"edge\")||has.add(\"mozilla\",o),has(\"mozilla\")&&has.add(\"ff\",parseFloat(a.split(\"Firefox/\")[1]||a.split(\"Minefield/\")[1])||void 0))}})(),(()=>{if(globalThis.navigator){const e=navigator.userAgent,a=/Android|webOS|iPhone|iPad|iPod|BlackBerry|Opera Mini|IEMobile/i.test(e),d=/iPhone/i.test(e);a&&has.add(\"esri-mobile\",a),d&&has.add(\"esri-iPhone\",d),has.add(\"esri-geolocation\",!!navigator.geolocation)}has.add(\"esri-wasm\",\"WebAssembly\"in globalThis),has.add(\"esri-performance-mode-frames-between-render\",20),has.add(\"esri-force-performance-mode\",!1),has.add(\"esri-shared-array-buffer\",(()=>{const e=\"SharedArrayBuffer\"in globalThis,a=!1===globalThis.crossOriginIsolated;return e&&!a})),has.add(\"wasm-simd\",(()=>{const e=[0,97,115,109,1,0,0,0,1,5,1,96,0,1,123,3,2,1,0,10,10,1,8,0,65,0,253,15,253,98,11];return WebAssembly.validate(new Uint8Array(e))})),has.add(\"esri-atomics\",\"Atomics\"in globalThis),has.add(\"esri-workers\",\"Worker\"in globalThis),has.add(\"web-feat:cache\",\"caches\"in globalThis),has.add(\"esri-workers-arraybuffer-transfer\",!has(\"safari\")||Number(has(\"safari\"))>=12),has.add(\"workers-pool-size\",8),has.add(\"featurelayer-simplify-thresholds\",[.5,.5,.5,.5]),has.add(\"featurelayer-simplify-payload-size-factors\",[1,1,4]),has.add(\"featurelayer-fast-triangulation-enabled\",!0),has.add(\"featurelayer-animation-enabled\",!0),has.add(\"featurelayer-snapshot-enabled\",!0),has.add(\"featurelayer-snapshot-point-min-threshold\",8e4),has.add(\"featurelayer-snapshot-point-max-threshold\",4e5),has.add(\"featurelayer-snapshot-point-coverage\",.1),has.add(\"featurelayer-query-max-depth\",4),has.add(\"featurelayer-query-pausing-enabled\",!1),has.add(\"featurelayer-advanced-symbols\",!1),has.add(\"featurelayer-pbf\",!0),has.add(\"featurelayer-pbf-statistics\",!1),has.add(\"feature-layers-workers\",!0),has.add(\"feature-polyline-generalization-factor\",1),has.add(\"mapview-transitions-duration\",200),has.add(\"mapview-essential-goto-duration\",200),has.add(\"mapview-srswitch-adjust-rotation-scale-threshold\",24e6),has.add(\"mapserver-pbf-version-support\",10.81),has.add(\"mapservice-popup-identify-max-tolerance\",20),has(\"host-webworker\")||has(\"host-browser\")&&(has.add(\"esri-csp-restrictions\",(()=>{try{new Function}catch{return!0}return!1})),has.add(\"esri-image-decode\",(()=>{if(\"decode\"in new Image){const e=new Image;return e.src='data:image/svg+xml;charset=UTF-8,',void e.decode().then((()=>{has.add(\"esri-image-decode\",!0,!0,!0)})).catch((()=>{has.add(\"esri-image-decode\",!1,!0,!0)}))}return!1})),has.add(\"esri-url-encodes-apostrophe\",(()=>{const e=window.document.createElement(\"a\");return e.href=\"?'\",e.href.includes(\"?%27\")})))})();export{has as default};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport t from\"../request.js\";import e from\"./Error.js\";import{isAbortError as r}from\"./promiseUtils.js\";import{dataComponents as a}from\"./urlUtils.js\";import{base64ToArrayBuffer as n}from\"../support/base64Utils.js\";let i=null,o=!0;function s(t,e,r){if(!t||!e)throw new Error(\"Cannot construct image data without dimensions\");if(o)try{return new ImageData(t,e)}catch(a){o=!1}return m(t,e,r)}function c(t,e,r,a){if(!e||!r)throw new Error(\"Cannot construct image data without dimensions\");if(o)try{return new ImageData(t,e,r)}catch(i){o=!1}const n=m(e,r,a);return n.data.set(t,0),n}function f(){return i||(i=document.createElement(\"canvas\"),i.width=1,i.height=1),i}function m(t,e,r){return r||(r=f()),r.getContext(\"2d\").createImageData(t,e)}async function u(a,n){const i=window.URL.createObjectURL(a);try{const{data:e}=await t(i,{...n,responseType:\"image\"});return e}catch(o){if(!r(o))throw new e(\"invalid-image\",`Could not fetch requested image at ${i}`);throw o}finally{window.URL.revokeObjectURL(i)}}async function p(t,e){const{arrayBuffer:r,mediaType:a}=await d(t,e),n=\"image/png\"===a;if(\"image/gif\"===a){const{isAnimatedGIF:t,parseGif:a}=await import(\"./image/gif.js\");if(t(r))return a(r,e)}if(n){const{isAnimatedPNG:t,parseApng:a}=await import(\"./image/apng.js\");if(t(r))return a(r,e)}return u(new Blob([r],{type:a}),e)}async function d(e,r){const i=a(e);if(i?.isBase64)return{arrayBuffer:n(i.data),mediaType:i.mediaType};const o=await t(e,{responseType:\"array-buffer\",...r});return{arrayBuffer:o.data,mediaType:o.getHeader?.(\"Content-Type\")??\"\"}}export{s as createEmptyImageData,p as getImageData,c as wrapImageData};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nfunction n(n){const o=[];return function*(){yield*o;for(const t of n)o.push(t),yield t}}function o(n,o){for(const t of n)if(null!=t&&o(t))return t}function t(n){return null!=n&&\"function\"==typeof n[Symbol.iterator]}export{n as cache,o as find,t as isIterable};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{setDeepValue as o}from\"./object.js\";class n{constructor(n,i={ignoreUnknown:!1,useNumericKeys:!1}){this._jsonToAPI=n,this._options=i,this.apiValues=[],this.jsonValues=[],this._apiToJSON=t(n),this.apiValues=s(this._apiToJSON),this.jsonValues=s(this._jsonToAPI),this.read=o=>this.fromJSON(o),this.write=(n,t,s)=>{const i=this.toJSON(n);void 0!==i&&o(s,i,t)},this.write.isJSONMapWriter=!0}toJSON(o){if(null==o)return null;if(this._apiToJSON.hasOwnProperty(o)){const n=this._apiToJSON[o];return this._options.useNumericKeys?+n:n}return this._options.ignoreUnknown?void 0:o}fromJSON(o){return null!=o&&this._jsonToAPI.hasOwnProperty(o)?this._jsonToAPI[o]:this._options.ignoreUnknown?void 0:o}}function t(o){const n={};for(const t in o)n[o[t]]=t;return n}function s(o){const n=[];for(const t in o)n.push(t);return n.sort(),n}function i(){return function(o,t){return new n(o,{ignoreUnknown:!0,...t})}}export{n as JSONMap,i as strict};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{equals as t}from\"./arrayUtils.js\";import{isInt8Array as n,isUint8Array as e,isUint8ClampedArray as r,isInt16Array as o,isUint16Array as f,isInt32Array as i,isUint32Array as u,isFloat32Array as c,isFloat64Array as s}from\"./typedArrayUtil.js\";function l(t,n){let e;if(n)for(e in t)t.hasOwnProperty(e)&&(void 0===t[e]?delete t[e]:t[e]instanceof Object&&l(t[e],!0));else for(e in t)t.hasOwnProperty(e)&&void 0===t[e]&&delete t[e];return t}function a(t){if(!t||\"object\"!=typeof t||\"function\"==typeof t)return t;const n=O(t);if(null!=n)return n;if(y(t))return t.clone();if(m(t))return t.map(a);if(b(t))return t.clone();const e={};for(const r of Object.getOwnPropertyNames(t))e[r]=a(t[r]);return e}function p(t){if(!t||\"object\"!=typeof t||\"function\"==typeof t||\"HTMLElement\"in globalThis&&t instanceof HTMLElement)return t;const n=O(t);if(null!=n)return n;if(m(t)){let n=!0;const e=t.map((t=>{const e=p(t);return null!=t&&null==e&&(n=!1),e}));return n?e:null}if(y(t))return t.clone();if(t instanceof File||t instanceof Blob)return t;if(!b(t)){const n=new(0,Object.getPrototypeOf(t).constructor);for(const e of Object.getOwnPropertyNames(t)){const r=t[e],o=p(r);if(null!=r&&null==o)return null;n[e]=o}return n}return null}function y(t){return\"function\"==typeof t.clone}function m(t){return\"function\"==typeof t.map&&\"function\"==typeof t.forEach}function b(t){return\"function\"==typeof t.notifyChange&&\"function\"==typeof t.watch}function g(t){if(\"[object Object]\"!==Object.prototype.toString.call(t))return!1;const n=Object.getPrototypeOf(t);return null===n||n===Object.prototype}function O(t){if(n(t)||e(t)||r(t)||o(t)||f(t)||i(t)||u(t)||c(t)||s(t))return t.slice();if(t instanceof Date)return new Date(t.getTime());if(t instanceof ArrayBuffer){return t.slice(0,t.byteLength)}if(t instanceof Map){const n=new Map;for(const[e,r]of t)n.set(e,a(r));return n}if(t instanceof Set){const n=new Set;for(const e of t)n.add(a(e));return n}return null}function j(t,n){return t===n||\"number\"==typeof t&&isNaN(t)&&\"number\"==typeof n&&isNaN(n)||\"function\"==typeof t?.getTime&&\"function\"==typeof n?.getTime&&t.getTime()===n.getTime()||!1}function h(n,e){return n===e||(null==n||\"string\"==typeof n?n===e:\"number\"==typeof n?n===e||\"number\"==typeof e&&isNaN(n)&&isNaN(e):n instanceof Date?e instanceof Date&&n.getTime()===e.getTime():Array.isArray(n)?Array.isArray(e)&&t(n,e):n instanceof Set?e instanceof Set&&N(n,e):n instanceof Map?e instanceof Map&&T(n,e):!!g(n)&&(g(e)&&w(n,e)))}function w(t,n){if(null===t||null===n)return!1;const e=Object.keys(t);if(null===n||Object.keys(n).length!==e.length)return!1;for(const r of e)if(t[r]!==n[r]||!Object.prototype.hasOwnProperty.call(n,r))return!1;return!0}function N(t,n){if(t.size!==n.size)return!1;for(const e of t)if(!n.has(e))return!1;return!0}function T(t,n){if(t.size!==n.size)return!1;for(const[e,r]of t){const t=n.get(e);if(t!==r||void 0===t&&!n.has(e))return!1}return!0}export{a as clone,j as equals,h as equalsShallow,l as fixJson,b as isAccessorLike,y as isClonable,g as isPlainObject,p as tryClone};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nfunction n(){const n=new Float32Array(6);return n[0]=1,n[3]=1,n}function t(n){const t=new Float32Array(6);return t[0]=n[0],t[1]=n[1],t[2]=n[2],t[3]=n[3],t[4]=n[4],t[5]=n[5],t}function r(n,t,r,e,o,a){const c=new Float32Array(6);return c[0]=n,c[1]=t,c[2]=r,c[3]=e,c[4]=o,c[5]=a,c}function e(n,t){return new Float32Array(n,t,6)}function o(n,t,r,e){const o=t[e],a=t[e+1];n[e]=r[0]*o+r[2]*a+r[4],n[e+1]=r[1]*o+r[3]*a+r[5]}function a(n,t,r,e=0,a=0,c=2){const u=a||t.length/c;for(let l=e;l0?(n[0]=2*(h*e+c*r+u*s-M*o)/i,n[1]=2*(u*e+c*o+M*r-h*s)/i,n[2]=2*(M*e+c*s+h*o-u*r)/i):(n[0]=2*(h*e+c*r+u*s-M*o),n[1]=2*(u*e+c*o+M*r-h*s),n[2]=2*(M*e+c*s+h*o-u*r)),v(t,a,n),t}const T=t();function I(t,a){return t[0]=a[12],t[1]=a[13],t[2]=a[14],t}function O(t,a){const n=a[0],r=a[1],o=a[2],s=a[4],e=a[5],h=a[6],u=a[8],M=a[9],c=a[10];return t[0]=Math.sqrt(n*n+r*r+o*o),t[1]=Math.sqrt(s*s+e*e+h*h),t[2]=Math.sqrt(u*u+M*M+c*c),t}function j(t,a){const n=a[0]+a[5]+a[10];let r=0;return n>0?(r=2*Math.sqrt(n+1),t[3]=.25*r,t[0]=(a[6]-a[9])/r,t[1]=(a[8]-a[2])/r,t[2]=(a[1]-a[4])/r):a[0]>a[5]&&a[0]>a[10]?(r=2*Math.sqrt(1+a[0]-a[5]-a[10]),t[3]=(a[6]-a[9])/r,t[0]=.25*r,t[1]=(a[1]+a[4])/r,t[2]=(a[8]+a[2])/r):a[5]>a[10]?(r=2*Math.sqrt(1+a[5]-a[0]-a[10]),t[3]=(a[8]-a[2])/r,t[0]=(a[1]+a[4])/r,t[1]=.25*r,t[2]=(a[6]+a[9])/r):(r=2*Math.sqrt(1+a[10]-a[0]-a[5]),t[3]=(a[1]-a[4])/r,t[0]=(a[8]+a[2])/r,t[1]=(a[6]+a[9])/r,t[2]=.25*r),t}function P(t,a,n,r){const o=a[0],s=a[1],e=a[2],h=a[3],u=o+o,M=s+s,c=e+e,i=o*u,f=o*M,b=o*c,l=s*M,m=s*c,x=e*c,q=h*u,d=h*M,p=h*c,g=r[0],y=r[1],R=r[2];return t[0]=(1-(l+x))*g,t[1]=(f+p)*g,t[2]=(b-d)*g,t[3]=0,t[4]=(f-p)*y,t[5]=(1-(i+x))*y,t[6]=(m+q)*y,t[7]=0,t[8]=(b+d)*R,t[9]=(m-q)*R,t[10]=(1-(i+l))*R,t[11]=0,t[12]=n[0],t[13]=n[1],t[14]=n[2],t[15]=1,t}function D(t,a,n,r,o){const s=a[0],e=a[1],h=a[2],u=a[3],M=s+s,c=e+e,i=h+h,f=s*M,b=s*c,l=s*i,m=e*c,x=e*i,q=h*i,d=u*M,p=u*c,g=u*i,y=r[0],R=r[1],v=r[2],S=o[0],T=o[1],I=o[2],O=(1-(m+q))*y,j=(b+g)*y,P=(l-p)*y,D=(b-g)*R,_=(1-(f+q))*R,A=(x+d)*R,w=(l+p)*v,F=(x-d)*v,Q=(1-(f+m))*v;return t[0]=O,t[1]=j,t[2]=P,t[3]=0,t[4]=D,t[5]=_,t[6]=A,t[7]=0,t[8]=w,t[9]=F,t[10]=Q,t[11]=0,t[12]=n[0]+S-(O*S+D*T+w*I),t[13]=n[1]+T-(j*S+_*T+F*I),t[14]=n[2]+I-(P*S+A*T+Q*I),t[15]=1,t}function _(t,a){const n=a[0],r=a[1],o=a[2],s=a[3],e=n+n,h=r+r,u=o+o,M=n*e,c=r*e,i=r*h,f=o*e,b=o*h,l=o*u,m=s*e,x=s*h,q=s*u;return t[0]=1-i-l,t[1]=c+q,t[2]=f-x,t[3]=0,t[4]=c-q,t[5]=1-M-l,t[6]=b+m,t[7]=0,t[8]=f+x,t[9]=b-m,t[10]=1-M-i,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,t}function A(t,a,n,r,o,s,e){const h=1/(n-a),u=1/(o-r),M=1/(s-e);return t[0]=2*s*h,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=2*s*u,t[6]=0,t[7]=0,t[8]=(n+a)*h,t[9]=(o+r)*u,t[10]=(e+s)*M,t[11]=-1,t[12]=0,t[13]=0,t[14]=e*s*2*M,t[15]=0,t}function w(t,a,n,r,o){const s=1/Math.tan(a/2);let e;return t[0]=s/n,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=s,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[11]=-1,t[12]=0,t[13]=0,t[15]=0,null!=o&&o!==1/0?(e=1/(r-o),t[10]=(o+r)*e,t[14]=2*o*r*e):(t[10]=-1,t[14]=-2*r),t}function F(t,a,n,r){const o=Math.tan(a.upDegrees*Math.PI/180),s=Math.tan(a.downDegrees*Math.PI/180),e=Math.tan(a.leftDegrees*Math.PI/180),h=Math.tan(a.rightDegrees*Math.PI/180),u=2/(e+h),M=2/(o+s);return t[0]=u,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=M,t[6]=0,t[7]=0,t[8]=-(e-h)*u*.5,t[9]=(o-s)*M*.5,t[10]=r/(n-r),t[11]=-1,t[12]=0,t[13]=0,t[14]=r*n/(n-r),t[15]=0,t}function Q(t,a,n,r,o,s,e){const h=1/(a-n),u=1/(r-o),M=1/(s-e);return t[0]=-2*h,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=-2*u,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[10]=2*M,t[11]=0,t[12]=(a+n)*h,t[13]=(o+r)*u,t[14]=(e+s)*M,t[15]=1,t}function X(t,n,r,s){const e=n[0],h=n[1],u=n[2];let M=e-r[0],c=h-r[1],i=u-r[2];const f=a();if(Math.abs(M)0&&(b=1/Math.sqrt(b),c*=b,i*=b,f*=b);let l=u*f-M*i,m=M*c-h*f,x=h*i-u*c;return b=l*l+m*m+x*x,b>0&&(b=1/Math.sqrt(b),l*=b,m*=b,x*=b),t[0]=l,t[1]=m,t[2]=x,t[3]=0,t[4]=i*x-f*m,t[5]=f*l-c*x,t[6]=c*m-i*l,t[7]=0,t[8]=c,t[9]=i,t[10]=f,t[11]=0,t[12]=o,t[13]=s,t[14]=e,t[15]=1,t}function Z(t){return\"mat4(\"+t[0]+\", \"+t[1]+\", \"+t[2]+\", \"+t[3]+\", \"+t[4]+\", \"+t[5]+\", \"+t[6]+\", \"+t[7]+\", \"+t[8]+\", \"+t[9]+\", \"+t[10]+\", \"+t[11]+\", \"+t[12]+\", \"+t[13]+\", \"+t[14]+\", \"+t[15]+\")\"}function k(t){return Math.sqrt(t[0]**2+t[1]**2+t[2]**2+t[3]**2+t[4]**2+t[5]**2+t[6]**2+t[7]**2+t[8]**2+t[9]**2+t[10]**2+t[11]**2+t[12]**2+t[13]**2+t[14]**2+t[15]**2)}function z(t,a,n){return t[0]=a[0]+n[0],t[1]=a[1]+n[1],t[2]=a[2]+n[2],t[3]=a[3]+n[3],t[4]=a[4]+n[4],t[5]=a[5]+n[5],t[6]=a[6]+n[6],t[7]=a[7]+n[7],t[8]=a[8]+n[8],t[9]=a[9]+n[9],t[10]=a[10]+n[10],t[11]=a[11]+n[11],t[12]=a[12]+n[12],t[13]=a[13]+n[13],t[14]=a[14]+n[14],t[15]=a[15]+n[15],t}function E(t,a,n){return t[0]=a[0]-n[0],t[1]=a[1]-n[1],t[2]=a[2]-n[2],t[3]=a[3]-n[3],t[4]=a[4]-n[4],t[5]=a[5]-n[5],t[6]=a[6]-n[6],t[7]=a[7]-n[7],t[8]=a[8]-n[8],t[9]=a[9]-n[9],t[10]=a[10]-n[10],t[11]=a[11]-n[11],t[12]=a[12]-n[12],t[13]=a[13]-n[13],t[14]=a[14]-n[14],t[15]=a[15]-n[15],t}function N(t,a,n){return t[0]=a[0]*n,t[1]=a[1]*n,t[2]=a[2]*n,t[3]=a[3]*n,t[4]=a[4]*n,t[5]=a[5]*n,t[6]=a[6]*n,t[7]=a[7]*n,t[8]=a[8]*n,t[9]=a[9]*n,t[10]=a[10]*n,t[11]=a[11]*n,t[12]=a[12]*n,t[13]=a[13]*n,t[14]=a[14]*n,t[15]=a[15]*n,t}function V(t,a,n,r){return t[0]=a[0]+n[0]*r,t[1]=a[1]+n[1]*r,t[2]=a[2]+n[2]*r,t[3]=a[3]+n[3]*r,t[4]=a[4]+n[4]*r,t[5]=a[5]+n[5]*r,t[6]=a[6]+n[6]*r,t[7]=a[7]+n[7]*r,t[8]=a[8]+n[8]*r,t[9]=a[9]+n[9]*r,t[10]=a[10]+n[10]*r,t[11]=a[11]+n[11]*r,t[12]=a[12]+n[12]*r,t[13]=a[13]+n[13]*r,t[14]=a[14]+n[14]*r,t[15]=a[15]+n[15]*r,t}function B(t,a){return t[0]===a[0]&&t[1]===a[1]&&t[2]===a[2]&&t[3]===a[3]&&t[4]===a[4]&&t[5]===a[5]&&t[6]===a[6]&&t[7]===a[7]&&t[8]===a[8]&&t[9]===a[9]&&t[10]===a[10]&&t[11]===a[11]&&t[12]===a[12]&&t[13]===a[13]&&t[14]===a[14]&&t[15]===a[15]}function C(t,n){if(t===n)return!0;const r=t[0],o=t[1],s=t[2],e=t[3],h=t[4],u=t[5],M=t[6],c=t[7],i=t[8],f=t[9],b=t[10],l=t[11],m=t[12],x=t[13],q=t[14],d=t[15],p=n[0],g=n[1],y=n[2],R=n[3],v=n[4],S=n[5],T=n[6],I=n[7],O=n[8],j=n[9],P=n[10],D=n[11],_=n[12],A=n[13],w=n[14],F=n[15],Q=a();return Math.abs(r-p)<=Q*Math.max(1,Math.abs(r),Math.abs(p))&&Math.abs(o-g)<=Q*Math.max(1,Math.abs(o),Math.abs(g))&&Math.abs(s-y)<=Q*Math.max(1,Math.abs(s),Math.abs(y))&&Math.abs(e-R)<=Q*Math.max(1,Math.abs(e),Math.abs(R))&&Math.abs(h-v)<=Q*Math.max(1,Math.abs(h),Math.abs(v))&&Math.abs(u-S)<=Q*Math.max(1,Math.abs(u),Math.abs(S))&&Math.abs(M-T)<=Q*Math.max(1,Math.abs(M),Math.abs(T))&&Math.abs(c-I)<=Q*Math.max(1,Math.abs(c),Math.abs(I))&&Math.abs(i-O)<=Q*Math.max(1,Math.abs(i),Math.abs(O))&&Math.abs(f-j)<=Q*Math.max(1,Math.abs(f),Math.abs(j))&&Math.abs(b-P)<=Q*Math.max(1,Math.abs(b),Math.abs(P))&&Math.abs(l-D)<=Q*Math.max(1,Math.abs(l),Math.abs(D))&&Math.abs(m-_)<=Q*Math.max(1,Math.abs(m),Math.abs(_))&&Math.abs(x-A)<=Q*Math.max(1,Math.abs(x),Math.abs(A))&&Math.abs(q-w)<=Q*Math.max(1,Math.abs(q),Math.abs(w))&&Math.abs(d-F)<=Q*Math.max(1,Math.abs(d),Math.abs(F))}function G(t){const n=a(),r=t[0],o=t[1],s=t[2],e=t[4],h=t[5],u=t[6],M=t[8],c=t[9],i=t[10];return Math.abs(1-(r*r+e*e+M*M))<=n&&Math.abs(1-(o*o+h*h+c*c))<=n&&Math.abs(1-(s*s+u*u+i*i))<=n}function H(t){return 1===t[0]&&0===t[1]&&0===t[2]&&0===t[4]&&1===t[5]&&0===t[6]&&0===t[8]&&0===t[9]&&1===t[10]}const J=c,K=E,L=Object.freeze(Object.defineProperty({__proto__:null,add:z,adjoint:u,copy:n,determinant:M,equals:C,exactEquals:B,frob:k,fromQuat:_,fromQuat2:S,fromRotation:p,fromRotationTranslation:v,fromRotationTranslationScale:P,fromRotationTranslationScaleOrigin:D,fromScaling:d,fromTranslation:q,fromXRotation:g,fromYRotation:y,fromZRotation:R,frustum:A,getRotation:j,getScaling:O,getTranslation:I,hasIdentityRotation:H,identity:o,invert:h,invertOrIdentity:e,isOrthoNormal:G,lookAt:X,mul:J,multiply:c,multiplyScalar:N,multiplyScalarAndAdd:V,ortho:Q,perspective:w,perspectiveFromFieldOfView:F,rotate:b,rotateX:l,rotateY:m,rotateZ:x,scale:f,set:r,str:Z,sub:K,subtract:E,targetTo:Y,translate:i,transpose:s},Symbol.toStringTag,{value:\"Module\"}));export{z as add,u as adjoint,n as copy,M as determinant,C as equals,B as exactEquals,k as frob,_ as fromQuat,S as fromQuat2,p as fromRotation,v as fromRotationTranslation,P as fromRotationTranslationScale,D as fromRotationTranslationScaleOrigin,d as fromScaling,q as fromTranslation,g as fromXRotation,y as fromYRotation,R as fromZRotation,A as frustum,j as getRotation,O as getScaling,I as getTranslation,H as hasIdentityRotation,o as identity,h as invert,e as invertOrIdentity,G as isOrthoNormal,X as lookAt,L as m,J as mul,c as multiply,N as multiplyScalar,V as multiplyScalarAndAdd,Q as ortho,w as perspective,F as perspectiveFromFieldOfView,b as rotate,l as rotateX,m as rotateY,x as rotateZ,f as scale,r as set,Z as str,K as sub,E as subtract,Y as targetTo,i as translate,s as transpose};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{create as t}from\"../factories/mat3f64.js\";import{create as n}from\"../factories/quatf64.js\";import{create as s,fromValues as o}from\"../factories/vec3f64.js\";import{getEpsilon as a,RANDOM as r}from\"./common.js\";import{f as e,e as c,G as i,n as u}from\"../../../../chunks/vec32.js\";import{c as h,s as M,g as f,d as l,h as m,l as p,j as q,b as j,n as d,a as g,e as P}from\"../../../../chunks/vec42.js\";function I(t){return t[0]=0,t[1]=0,t[2]=0,t[3]=1,t}function b(t,n,s){s*=.5;const o=Math.sin(s);return t[0]=o*n[0],t[1]=o*n[1],t[2]=o*n[2],t[3]=Math.cos(s),t}function v(t,n){const s=2*Math.acos(n[3]),o=Math.sin(s/2);return o>a()?(t[0]=n[0]/o,t[1]=n[1]/o,t[2]=n[2]/o):(t[0]=1,t[1]=0,t[2]=0),s}function x(t,n,s){const o=n[0],a=n[1],r=n[2],e=n[3],c=s[0],i=s[1],u=s[2],h=s[3];return t[0]=o*h+e*c+a*u-r*i,t[1]=a*h+e*i+r*c-o*u,t[2]=r*h+e*u+o*i-a*c,t[3]=e*h-o*c-a*i-r*u,t}function y(t,n,s){s*=.5;const o=n[0],a=n[1],r=n[2],e=n[3],c=Math.sin(s),i=Math.cos(s);return t[0]=o*i+e*c,t[1]=a*i+r*c,t[2]=r*i-a*c,t[3]=e*i-o*c,t}function A(t,n,s){s*=.5;const o=n[0],a=n[1],r=n[2],e=n[3],c=Math.sin(s),i=Math.cos(s);return t[0]=o*i-r*c,t[1]=a*i+e*c,t[2]=r*i+o*c,t[3]=e*i-a*c,t}function _(t,n,s){s*=.5;const o=n[0],a=n[1],r=n[2],e=n[3],c=Math.sin(s),i=Math.cos(s);return t[0]=o*i+a*c,t[1]=a*i-o*c,t[2]=r*i+e*c,t[3]=e*i-r*c,t}function k(t,n){const s=n[0],o=n[1],a=n[2];return t[0]=s,t[1]=o,t[2]=a,t[3]=Math.sqrt(Math.abs(1-s*s-o*o-a*a)),t}function z(t,n,s,o){const r=n[0],e=n[1],c=n[2],i=n[3];let u,h,M,f,l,m=s[0],p=s[1],q=s[2],j=s[3];return h=r*m+e*p+c*q+i*j,h<0&&(h=-h,m=-m,p=-p,q=-q,j=-j),1-h>a()?(u=Math.acos(h),M=Math.sin(u),f=Math.sin((1-o)*u)/M,l=Math.sin(o*u)/M):(f=1-o,l=o),t[0]=f*r+l*m,t[1]=f*e+l*p,t[2]=f*c+l*q,t[3]=f*i+l*j,t}function E(t){const n=r,s=n(),o=n(),a=n(),e=Math.sqrt(1-s),c=Math.sqrt(s);return t[0]=e*Math.sin(2*Math.PI*o),t[1]=e*Math.cos(2*Math.PI*o),t[2]=c*Math.sin(2*Math.PI*a),t[3]=c*Math.cos(2*Math.PI*a),t}function L(t,n){const s=n[0],o=n[1],a=n[2],r=n[3],e=s*s+o*o+a*a+r*r,c=e?1/e:0;return t[0]=-s*c,t[1]=-o*c,t[2]=-a*c,t[3]=r*c,t}function O(t,n){return t[0]=-n[0],t[1]=-n[1],t[2]=-n[2],t[3]=n[3],t}function S(t,n){const s=n[0]+n[4]+n[8];let o;if(s>0)o=Math.sqrt(s+1),t[3]=.5*o,o=.5/o,t[0]=(n[5]-n[7])*o,t[1]=(n[6]-n[2])*o,t[2]=(n[1]-n[3])*o;else{let s=0;n[4]>n[0]&&(s=1),n[8]>n[3*s+s]&&(s=2);const a=(s+1)%3,r=(s+2)%3;o=Math.sqrt(n[3*s+s]-n[3*a+a]-n[3*r+r]+1),t[s]=.5*o,o=.5/o,t[3]=(n[3*a+r]-n[3*r+a])*o,t[a]=(n[3*a+s]+n[3*s+a])*o,t[r]=(n[3*r+s]+n[3*s+r])*o}return t}function T(t,n,s,o){const a=.5*Math.PI/180;n*=a,s*=a,o*=a;const r=Math.sin(n),e=Math.cos(n),c=Math.sin(s),i=Math.cos(s),u=Math.sin(o),h=Math.cos(o);return t[0]=r*i*h-e*c*u,t[1]=e*c*h+r*i*u,t[2]=e*i*u-r*c*h,t[3]=e*i*h+r*c*u,t}function G(t){return\"quat(\"+t[0]+\", \"+t[1]+\", \"+t[2]+\", \"+t[3]+\")\"}const W=h,X=M,Y=f,Z=x,w=l,B=m,C=p,D=q,F=D,H=j,J=H,K=d,N=g,Q=P;function R(t,n,s){const o=e(n,s);return o<-.999999?(c(U,V,n),i(U)<1e-6&&c(U,$,n),u(U,U),b(t,U,Math.PI),t):o>.999999?(t[0]=0,t[1]=0,t[2]=0,t[3]=1,t):(c(U,n,s),t[0]=U[0],t[1]=U[1],t[2]=U[2],t[3]=1+o,K(t,t))}const U=s(),V=o(1,0,0),$=o(0,1,0);function tt(t,n,s,o,a,r){return z(nt,n,a,r),z(st,s,o,r),z(t,nt,st,2*r*(1-r)),t}const nt=n(),st=n();function ot(t,n,s,o){const a=at;return a[0]=s[0],a[3]=s[1],a[6]=s[2],a[1]=o[0],a[4]=o[1],a[7]=o[2],a[2]=-n[0],a[5]=-n[1],a[8]=-n[2],K(t,S(t,a))}const at=t(),rt=Object.freeze(Object.defineProperty({__proto__:null,add:Y,calculateW:k,conjugate:O,copy:W,dot:B,equals:Q,exactEquals:N,fromEuler:T,fromMat3:S,getAxisAngle:v,identity:I,invert:L,len:F,length:D,lerp:C,mul:Z,multiply:x,normalize:K,random:E,rotateX:y,rotateY:A,rotateZ:_,rotationTo:R,scale:w,set:X,setAxes:ot,setAxisAngle:b,slerp:z,sqlerp:tt,sqrLen:J,squaredLength:H,str:G},Symbol.toStringTag,{value:\"Module\"}));export{Y as add,k as calculateW,O as conjugate,W as copy,B as dot,Q as equals,N as exactEquals,T as fromEuler,S as fromMat3,v as getAxisAngle,I as identity,L as invert,F as len,D as length,C as lerp,Z as mul,x as multiply,K as normalize,rt as q,E as random,y as rotateX,A as rotateY,_ as rotateZ,R as rotationTo,w as scale,X as set,ot as setAxes,b as setAxisAngle,z as slerp,tt as sqlerp,J as sqrLen,H as squaredLength,G as str};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{RANDOM as t,getEpsilon as n}from\"./common.js\";function r(t,n){return t[0]=n[0],t[1]=n[1],t}function o(t,n,r){return t[0]=n,t[1]=r,t}function u(t,n,r){return t[0]=n[0]+r[0],t[1]=n[1]+r[1],t}function e(t,n,r){return t[0]=n[0]-r[0],t[1]=n[1]-r[1],t}function c(t,n,r){return t[0]=n[0]*r[0],t[1]=n[1]*r[1],t}function a(t,n,r){return t[0]=n[0]/r[0],t[1]=n[1]/r[1],t}function s(t,n){return t[0]=Math.ceil(n[0]),t[1]=Math.ceil(n[1]),t}function i(t,n){return t[0]=Math.floor(n[0]),t[1]=Math.floor(n[1]),t}function f(t,n,r){return t[0]=Math.min(n[0],r[0]),t[1]=Math.min(n[1],r[1]),t}function M(t,n,r){return t[0]=Math.max(n[0],r[0]),t[1]=Math.max(n[1],r[1]),t}function h(t,n){return t[0]=Math.round(n[0]),t[1]=Math.round(n[1]),t}function l(t,n,r){return t[0]=n[0]*r,t[1]=n[1]*r,t}function d(t,n,r,o){return t[0]=n[0]+r[0]*o,t[1]=n[1]+r[1]*o,t}function m(t,n){const r=n[0]-t[0],o=n[1]-t[1];return Math.sqrt(r*r+o*o)}function b(t,n){const r=n[0]-t[0],o=n[1]-t[1];return r*r+o*o}function q(t){const n=t[0],r=t[1];return Math.sqrt(n*n+r*r)}function p(t){const n=t[0],r=t[1];return n*n+r*r}function x(t,n){return t[0]=-n[0],t[1]=-n[1],t}function g(t,n){return t[0]=1/n[0],t[1]=1/n[1],t}function v(t,n){const r=n[0],o=n[1];let u=r*r+o*o;return u>0&&(u=1/Math.sqrt(u),t[0]=n[0]*u,t[1]=n[1]*u),t}function j(t,n){return t[0]*n[0]+t[1]*n[1]}function y(t,n,r){const o=n[0]*r[1]-n[1]*r[0];return t[0]=t[1]=0,t[2]=o,t}function _(t,n,r,o){const u=n[0],e=n[1];return t[0]=u+o*(r[0]-u),t[1]=e+o*(r[1]-e),t}function A(n,r=1){const o=2*t()*Math.PI;return n[0]=Math.cos(o)*r,n[1]=Math.sin(o)*r,n}function P(t,n,r){const o=n[0],u=n[1];return t[0]=r[0]*o+r[2]*u,t[1]=r[1]*o+r[3]*u,t}function S(t,n,r){const o=n[0],u=n[1];return t[0]=r[0]*o+r[2]*u+r[4],t[1]=r[1]*o+r[3]*u+r[5],t}function z(t,n,r){const o=n[0],u=n[1];return t[0]=r[0]*o+r[3]*u+r[6],t[1]=r[1]*o+r[4]*u+r[7],t}function D(t,n,r){const o=n[0],u=n[1];return t[0]=r[0]*o+r[4]*u+r[12],t[1]=r[1]*o+r[5]*u+r[13],t}function I(t,n,r,o){const u=n[0]-r[0],e=n[1]-r[1],c=Math.sin(o),a=Math.cos(o);return t[0]=u*a-e*c+r[0],t[1]=u*c+e*a+r[1],t}function L(t,n){const r=t[0],o=t[1],u=n[0],e=n[1];let c=r*r+o*o;c>0&&(c=1/Math.sqrt(c));let a=u*u+e*e;a>0&&(a=1/Math.sqrt(a));const s=(r*u+o*e)*c*a;return s>1?0:s<-1?Math.PI:Math.acos(s)}function O(t){return\"vec2(\"+t[0]+\", \"+t[1]+\")\"}function E(t,n){return t[0]===n[0]&&t[1]===n[1]}function T(t,r){const o=t[0],u=t[1],e=r[0],c=r[1],a=n();return Math.abs(o-e)<=a*Math.max(1,Math.abs(o),Math.abs(e))&&Math.abs(u-c)<=a*Math.max(1,Math.abs(u),Math.abs(c))}function k(t,n,r,o,u){let e=n[0]-r[0],c=n[1]-r[1];const a=(o[0]*e+o[1]*c)*(u-1);return e=o[0]*a,c=o[1]*a,t[0]=n[0]+e,t[1]=n[1]+c,t}const w=q,B=e,C=c,F=a,G=m,H=b,J=p,K=Object.freeze(Object.defineProperty({__proto__:null,add:u,angle:L,ceil:s,copy:r,cross:y,dist:G,distance:m,div:F,divide:a,dot:j,equals:T,exactEquals:E,floor:i,inverse:g,len:w,length:q,lerp:_,max:M,min:f,mul:C,multiply:c,negate:x,normalize:v,projectAndScale:k,random:A,rotate:I,round:h,scale:l,scaleAndAdd:d,set:o,sqrDist:H,sqrLen:J,squaredDistance:b,squaredLength:p,str:O,sub:B,subtract:e,transformMat2:P,transformMat2d:S,transformMat3:z,transformMat4:D},Symbol.toStringTag,{value:\"Module\"}));export{u as add,L as angle,s as ceil,r as copy,y as cross,G as dist,m as distance,F as div,a as divide,j as dot,T as equals,E as exactEquals,i as floor,g as inverse,w as len,q as length,_ as lerp,M as max,f as min,C as mul,c as multiply,x as negate,v as normalize,k as projectAndScale,A as random,I as rotate,h as round,l as scale,d as scaleAndAdd,o as set,H as sqrDist,J as sqrLen,b as squaredDistance,p as squaredLength,O as str,B as sub,e as subtract,P as transformMat2,S as transformMat2d,z as transformMat3,D as transformMat4,K as v};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nfunction n(n){return n instanceof Float32Array&&n.length>=2}function r(n){return Array.isArray(n)&&n.length>=2}function t(t){return n(t)||r(t)}export{t as isVec2,n as isVec2f32,r as isVec2f64};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{map as o,result as l}from\"./asyncUtils.js\";import n from\"./Collection.js\";import r from\"./Loadable.js\";async function t(o,l){return await o.load(),a(o,l)}async function a(t,a){const s=[],c=(...o)=>{for(const l of o)null!=l&&(Array.isArray(l)?c(...l):n.isCollection(l)?l.forEach((o=>c(o))):r.isLoadable(l)&&s.push(l))};a(c);let f=null;if(await o(s,(async o=>{const n=await l(i(o)?o.loadAll():o.load());!1!==n.ok||f||(f=n)})),f)throw f.error;return t}function i(o){return\"loadAll\"in o&&\"function\"==typeof o.loadAll}export{t as loadAll,a as loadAllChildren};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nconst t=new Float32Array(1);function n(t){--t;for(let n=1;n<32;n<<=1)t|=t>>n;return t+1}function r(t,n,r){return Math.min(Math.max(t,n),r)}function e(t,n){return 0===n?0:Math.round(t/n)*n}function u(t){return!(t&t-1)}function i(t){return t--,t|=t>>1,t|=t>>2,t|=t>>4,t|=t>>8,t|=t>>16,++t}function a(t){return 10**Math.ceil(Math.LOG10E*Math.log(t))}function o(t,n,r){return t+(n-t)*r}function f(t,n){const r=-t*t/(2*n);return 1/Math.sqrt(2*Math.PI*n)*Math.exp(r)}function c(t,n,r,e,u){return o(e,u,(t-n)/(r-n))}function s(t){return t*Math.PI/180}function M(t){return 180*t/Math.PI}function h(t,n=1e-6){return(t<0?-1:1)/Math.max(Math.abs(t),n)}function b(t){return Math.acos(r(t,-1,1))}function l(t){return Math.asin(r(t,-1,1))}function m(t,n,r=1e-6){if(t===n)return!0;if(!Number.isFinite(t)||!Number.isFinite(n))return!1;return(t>n?t-n:n-t)<=r}const N=new DataView(new ArrayBuffer(Float64Array.BYTES_PER_ELEMENT));function F(t){return N.setFloat64(0,t),N.getBigInt64(0)}function g(t){return N.setBigInt64(0,t),N.getFloat64(0)}const E=BigInt(\"1000000\"),I=p(1);function p(t){const n=F(t=Math.abs(t)),r=g(n<=E?E:n-E);return Math.abs(t-r)}function x(t,n,r=I){if(t===n)return!0;if(!Number.isFinite(t)||!Number.isFinite(n))return!1;if(null!=r){if(p(Math.min(Math.abs(t),Math.abs(n)))E)}function B(t,n,r=1e-6){if(t===n)return!0;if(!Number.isFinite(t)||!Number.isFinite(n))return!1;const e=Math.abs(t-n),u=Math.abs(t),i=Math.abs(n);if(0===t||0===n||u<1e-12&&i<1e-12){if(e>.01*r)return!1}else if(e/(u+i)>r)return!1;return!0}function w(t){return y(Math.max(-d,Math.min(t,d)))}function y(n){return t[0]=n,t[0]}function P(t,n,e){const u=r((e-t)/(n-t),0,1);return u*u*(3-2*u)}function A(t){const n=t[0]*t[0]+t[1]*t[1]+t[2]*t[2],r=t[3]*t[3]+t[4]*t[4]+t[5]*t[5],e=t[6]*t[6]+t[7]*t[7]+t[8]*t[8];return!(m(n,1)&&m(r,1)&&m(e,1))}function S(t,n){return(t%n+n)%n}const d=y(34028234663852886e22);function L(t,n,r){if(void 0===r||0==+r)return Math[t](n);if(n=+n,r=+r,isNaN(n)||\"number\"!=typeof r||r%1!=0)return NaN;let e=n.toString().split(\"e\");return e=(n=Math[t](+(e[0]+\"e\"+(e[1]?+e[1]-r:-r)))).toString().split(\"e\"),+(e[0]+\"e\"+(e[1]?+e[1]+r:r))}export{b as acosClamped,l as asinClamped,r as clamp,w as clampFloat32,L as decimalAdjust,s as deg2rad,m as floatEqualAbsolute,B as floatEqualRelative,x as floatEqualUlp,f as gauss,A as hasScaling,u as isPowerOfTwo,o as lerp,S as moduloPositive,a as nextHighestPowerOfTen,n as nextHighestPowerOfTwo,i as nextPowerOfTwo,d as numberMaxFloat32,M as rad2deg,h as reciprocalClamped,e as roundToNearest,c as scale,P as smoothstep};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nfunction n(n,u){if(null==n)throw new Error(u??\"value is None\")}function u(n){return n?.destroy(),null}function r(n){return n?.dispose(),null}function l(n){return n?.remove(),null}function e(n){return n?.abort(),null}function t(n){return n?.release(),null}function o(n,u,r){return null!=n&&null!=u?null!=r?r(n,u):n.equals(u):n===u}function i(n,u){return n?.[u]}function f(n,u){let r;return n.some(((n,l)=>(r=u(n,l),null!=r))),r??void 0}export{e as abortMaybe,n as assertIsSome,u as destroyMaybe,r as disposeMaybe,o as equalsMaybe,f as mappedFind,i as maybeProperty,t as releaseMaybe,l as removeMaybe};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nfunction t(t){let r,e,i=[],u=!1;function f(...f){return u&&r===this&&n(f,i)||(e=t.apply(this,f),r=this,i=f,u=!0),e}return f}function n(t,n){if(t.length!==n.length)return!1;for(let r=0;r{const t=o.slice();o.length=0;for(const o of t)o()}))}export{t as nextTick};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{clone as r}from\"./lang.js\";function n(r,n,t=!1){return f(r,n,t)}function t(r,n){if(null!=n)return n[r]||u(r.split(\".\"),!1,n)}function e(r,n,t){const e=r.split(\".\"),i=e.pop(),f=u(e,!0,t);f&&i&&(f[i]=n)}function i(r,n){if(null==r&&null==n)return!1;if(null==r)return!0;if(null==n)return!0;if(\"object\"==typeof r){if(Array.isArray(r)){const t=n;if(r.length!==t.length)return!0;for(let n=0;n{let u=n[i],l=t[i];return u===l?n:void 0===u?(n[i]=r(l),n):(Array.isArray(l)||Array.isArray(n)?(u=u?Array.isArray(u)?n[i]=u.slice():n[i]=[u]:n[i]=[],l&&(Array.isArray(l)||(l=[l]),e?l.forEach((r=>{u.includes(r)||u.push(r)})):n[i]=l.slice())):l&&\"object\"==typeof l?n[i]=f(u,l,e):n.hasOwnProperty(i)&&!t.hasOwnProperty(i)||(n[i]=l),n)}),n||{}):n}export{n as deepMerge,t as getDeepValue,i as notDeepEqual,e as setDeepValue};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport has from\"./has.js\";import t from\"./ObjectPool.js\";var e;!function(t){t[t.varint=0]=\"varint\",t[t.fixed64=1]=\"fixed64\",t[t.delimited=2]=\"delimited\",t[t.fixed32=5]=\"fixed32\",t[t.unknown=99]=\"unknown\"}(e||(e={}));const i=4294967296,s=new TextDecoder(\"utf-8\"),r=has(\"safari\")||has(\"ios\")?6:has(\"ff\")?12:32;class n{constructor(t,i,s=0,r=(t?t.byteLength:0)){this._tag=0,this._dataType=e.unknown,this._init(t,i,s,r)}_init(t,e,i,s){this._data=t,this._dataView=e,this._pos=i,this._end=s}asUnsafe(){return this}clone(){return new n(this._data,this._dataView,this._pos,this._end)}pos(){return this._pos}move(t){this._pos=t}nextTag(t){for(;;){if(this._pos===this._end)return!1;const e=this._decodeVarint();if(this._tag=e>>3,this._dataType=7&e,!t||t===this._tag)break;this.skip()}return!0}next(){if(this._pos===this._end)return!1;const t=this._decodeVarint();return this._tag=t>>3,this._dataType=7&t,!0}empty(){return this._pos>=this._end}tag(){return this._tag}getInt32(){return this._decodeVarint()}getInt64(){return this._decodeVarint()}getUInt32(){let t=4294967295;if(t=(127&this._data[this._pos])>>>0,this._data[this._pos++]<128)return t;if(t=(t|(127&this._data[this._pos])<<7)>>>0,this._data[this._pos++]<128)return t;if(t=(t|(127&this._data[this._pos])<<14)>>>0,this._data[this._pos++]<128)return t;if(t=(t|(127&this._data[this._pos])<<21)>>>0,this._data[this._pos++]<128)return t;if(t=(t|(15&this._data[this._pos])<<28)>>>0,this._data[this._pos++]<128)return t;throw new Error(\"Varint overflow\")}getUInt64(){return this._decodeVarint()}getSInt32(){const t=this.getUInt32();return t>>>1^-(1&t)}getSInt64(){return this._decodeSVarint()}getBool(){const t=0!==this._data[this._pos];return this._skip(1),t}getEnum(){return this._decodeVarint()}getFixed64(){const t=this._dataView,e=this._pos,s=t.getUint32(e,!0)+t.getUint32(e+4,!0)*i;return this._skip(8),s}getSFixed64(){const t=this._dataView,e=this._pos,s=t.getUint32(e,!0)+t.getInt32(e+4,!0)*i;return this._skip(8),s}getDouble(){const t=this._dataView.getFloat64(this._pos,!0);return this._skip(8),t}getFixed32(){const t=this._dataView.getUint32(this._pos,!0);return this._skip(4),t}getSFixed32(){const t=this._dataView.getInt32(this._pos,!0);return this._skip(4),t}getFloat(){const t=this._dataView.getFloat32(this._pos,!0);return this._skip(4),t}getString(){const t=this._getLength(),e=this._pos,i=this._toString(this._data,e,e+t);return this._skip(t),i}getBytes(){const t=this._getLength(),e=this._pos,i=this._toBytes(this._data,e,e+t);return this._skip(t),i}getLength(){return this._getLengthUnsafe()}processMessageWithArgs(t,e,i,s){const r=this.getMessage(),n=t(r,e,i,s);return r.release(),n}processMessage(t){const e=this.getMessage(),i=t(e);return e.release(),i}getMessage(){const t=this._getLength(),e=n.pool.acquire();return e._init(this._data,this._dataView,this._pos,this._pos+t),this._skip(t),e}release(){n.pool.release(this)}dataType(){return this._dataType}skip(){switch(this._dataType){case e.varint:this._decodeVarint();break;case e.fixed64:this._skip(8);break;case e.delimited:this._skip(this._getLength());break;case e.fixed32:this._skip(4);break;default:throw new Error(\"Invalid data type!\")}}skipLen(t){this._skip(t)}_skip(t){if(this._pos+t>this._end)throw new Error(\"Attempt to skip past the end of buffer!\");this._pos+=t}_decodeVarint(){const t=this._data;let e=this._pos,i=0,s=0;if(this._end-e>=10)do{if(s=t[e++],i|=127&s,!(128&s))break;if(s=t[e++],i|=(127&s)<<7,!(128&s))break;if(s=t[e++],i|=(127&s)<<14,!(128&s))break;if(s=t[e++],i|=(127&s)<<21,!(128&s))break;if(s=t[e++],i+=268435456*(127&s),!(128&s))break;if(s=t[e++],i+=34359738368*(127&s),!(128&s))break;if(s=t[e++],i+=4398046511104*(127&s),!(128&s))break;if(s=t[e++],i+=562949953421312*(127&s),!(128&s))break;if(s=t[e++],i+=72057594037927940*(127&s),!(128&s))break;if(s=t[e++],i+=0x8000000000000000*(127&s),!(128&s))break;throw new Error(\"Varint too long!\")}while(0);else{let r=1;for(;e!==this._end&&(s=t[e],128&s);)++e,i+=(127&s)*r,r*=128;if(e===this._end)throw new Error(\"Varint overrun!\");++e,i+=s*r}return this._pos=e,i}_decodeSVarint(){const t=this._data;let e,i=0,s=0;const r=1&t[this._pos];if(s=t[this._pos++],i|=127&s,!(128&s))return r?-(i+1)/2:i/2;if(s=t[this._pos++],i|=(127&s)<<7,!(128&s))return r?-(i+1)/2:i/2;if(s=t[this._pos++],i|=(127&s)<<14,!(128&s))return r?-(i+1)/2:i/2;if(s=t[this._pos++],i|=(127&s)<<21,!(128&s))return r?-(i+1)/2:i/2;if(s=t[this._pos++],i+=268435456*(127&s),!(128&s))return r?-(i+1)/2:i/2;if(s=t[this._pos++],i+=34359738368*(127&s),!(128&s))return r?-(i+1)/2:i/2;if(s=t[this._pos++],i+=4398046511104*(127&s),!(128&s))return r?-(i+1)/2:i/2;if(e=BigInt(i),s=t[this._pos++],e+=0x2000000000000n*BigInt(127&s),!(128&s))return Number(r?-(e+1n)/2n:e/2n);if(s=t[this._pos++],e+=0x100000000000000n*BigInt(127&s),!(128&s))return Number(r?-(e+1n)/2n:e/2n);if(s=t[this._pos++],e+=0x8000000000000000n*BigInt(127&s),!(128&s))return Number(r?-(e+1n)/2n:e/2n);throw new Error(\"Varint too long!\")}_getLength(){if(this._dataType!==e.delimited)throw new Error(\"Not a delimited data type!\");return this._decodeVarint()}_getLengthUnsafe(){return this.getUInt32()}_toString(t,e,i){if((i=Math.min(this._end,i))-e>r){const r=t.subarray(e,i);return s.decode(r)}let n=\"\",h=\"\";for(let s=e;s{t._data=null,t._dataView=null}));export{n as default};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{clock as t}from\"./clock.js\";import n from\"./Error.js\";import{once as r}from\"./events.js\";import e from\"./Logger.js\";import{removeMaybe as o}from\"./maybe.js\";async function i(t,n){const r=t.slice(),e=await Promise.all(t.map(((t,r)=>n(t,r))));return r.filter(((t,n)=>e[n]))}function u(t=\"Aborted\"){return new n(\"AbortError\",t)}function s(t,n=\"Aborted\"){if(c(t))throw u(n)}function l(t){return t instanceof AbortSignal?t:t?.signal??void 0}function c(t){const n=l(t);return null!=n&&n.aborted}function a(t){if(b(t))throw t}function f(t){if(!b(t))throw t}function m(t,n){const e=l(t);if(null!=e){if(!e.aborted)return r(e,\"abort\",(()=>n()));n()}}function w(t,n){const e=l(t);if(null!=e)return s(e),r(e,\"abort\",(()=>n(u())))}function h(t,n){return null==l(n)?t:new Promise(((r,e)=>{let i=m(n,(()=>e(u())));const s=()=>{i=o(i)};t.then(s,s),t.then(r,e)}))}function p(t,r,e){return Promise.race([t,A(r).then((()=>{throw new n(\"timeout\",`Did not resolve within ${r} milliseconds (${e??\"timeout\"})`)}))])}function b(t){return\"AbortError\"===t?.name}async function d(t){try{return await t}catch(n){if(!b(n))throw n;return}}async function v(t,n=e.getLogger(\"esri\")){try{return await t}catch(r){b(r)||n.error(r)}}async function y(t){if(!t)return;if(\"function\"!=typeof t.forEach){const n=Object.keys(t),r=n.map((n=>t[n])),e=await y(r),o={};return n.map(((t,n)=>o[t]=e[n])),o}const n=t;return Promise.allSettled(n).then((t=>Array.from(n,((n,r)=>{const e=t[r];return\"fulfilled\"===e.status?{promise:n,value:e.value}:{promise:n,error:e.reason}}))))}async function j(t){return(await y(t)).filter((t=>!!t.value)).map((t=>t.value))}async function g(t){return(await Promise.allSettled(t)).filter((t=>\"fulfilled\"===t.status)).map((t=>t.value))}async function P(t){return(await Promise.allSettled(t)).filter((t=>\"rejected\"===t.status)).map((t=>t.reason))}function A(t,n=void 0,r){const e=new AbortController;return m(r,(()=>e.abort())),new Promise(((r,o)=>{let i=setTimeout((()=>{i=0,r(n)}),t);m(e,(()=>{i&&(clearTimeout(i),o(u()))}))}))}function T(t,r,e,o){const i=e&&\"abort\"in e?e:null;null!=o||i||(o=e);let u=setTimeout((()=>{u=0,i?.abort()}),r);const s=()=>o||new n(\"promiseUtils:timeout\",\"The wrapped promise did not resolve within \"+r+\" ms\");return t.then((t=>{if(0===u)throw s();return clearTimeout(u),t}),(t=>{throw clearTimeout(u),0===u?s():t}))}function E(t,n){const r=new AbortController,e=setTimeout((()=>r.abort()),n);return m(t,(()=>{r.abort(),clearTimeout(e)})),{...t,signal:r.signal}}function S(t){return t&&\"function\"==typeof t.then}function C(t){return S(t)?t:Promise.resolve(t)}function k(t,n=-1){let r,e,o,i,s=null;const l=(...c)=>{if(r){e=c,i&&i.reject(u()),i=L();const t=i.promise;if(s){const t=s;s=null,t.abort()}return t}if(o=i||L(),i=null,n>0){const e=new AbortController;r=C(t(...c,e.signal));const o=r;A(n).then((()=>{r===o&&(i?e.abort():s=e)}))}else r=1,r=C(t(...c));const a=()=>{const t=e;e=o=r=s=null,null!=t&&l(...t)},f=r,m=o;return f.then(a,a),f.then(m.resolve,m.reject),m.promise};return l}function L(){let n,r;const e=new Promise(((t,e)=>{n=t,r=e})),o=t=>{n(t)};return o.resolve=t=>n(t),o.reject=t=>r(t),o.timeout=(n,r)=>t.setTimeout((()=>o.reject(r)),n),o.promise=e,o}function $(t,n){return t.then(n,n)}function x(t,n){n.then(t.resolve,t.reject)}async function D(t){await Promise.resolve(),s(t)}export{A as after,P as allSettledErrors,g as allSettledValues,$ as always,u as createAbortError,L as createResolver,k as debounce,y as eachAlways,j as eachAlwaysValues,i as filter,d as ignoreAbortErrors,b as isAbortError,c as isAborted,S as isPromiseLike,v as logOnError,m as onAbort,w as onAbortOrThrow,x as settleWithPromise,l as signalFromSignalOrOptions,a as throwIfAbortError,s as throwIfAborted,f as throwIfNotAbortError,T as timeout,D as waitTick,C as when,h as whenOrAbort,p as whenOrTimeout,E as wrapAbortWithTimeout};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{unitType as n,isBaseUnit as t,convertUnit as u,baseUnitForUnit as e}from\"./unitUtils.js\";function r(t,u){return{type:n(u),value:t,unit:u}}function i(n){return{value:n}}function a(t,u){return{type:n(u),value:t,unit:u}}function l(t,u){return{type:n(u),value:t,unit:u}}function o(t,u,e=\"arithmetic\"){return{type:n(u),value:t,unit:u,rotationType:e}}function c(n){return t(n.unit)}function s(n,t){const u=f(n,t);return\"angle\"===n.type?o(u,t,n.rotationType):r(u,t)}function f(n,t){return u(n.value,n.unit,t)}function v(n){return s(n,e(n.unit))}function p(n,t){return null==n?t:null==t||n.value>u(t.value,t.unit,n.unit)?n:t}function g(n,t){return null==n?t:null==t||n.value{o(n)&&(c(r),e(n,t))}:(n,t)=>{o(n)&&e(n,t)};if(r=m(n,s,t.sync,t.equals),t.initial){const e=n();s(e,e)}return r}function v(n,e,r,s={}){let u=null,l=null,a=null;function f(){u&&l&&(l.remove(),s.onListenerRemove?.(u),u=null,l=null)}function m(n){s.once&&s.once&&c(a),r(n)}const p=d(n,((n,r)=>{f(),t(n)&&(u=n,l=o(n,e,m),s.onListenerAdd?.(n))}),{sync:s.sync,initial:!0});return a=i((()=>{p.remove(),f()})),a}function j(n,e){return h(n,null,e)}function w(n,e){return h(n,M,e)}function h(n,e,t){if(u(t))return Promise.reject(l());const o=n();if(e?.(o))return Promise.resolve(o);let s=null;function i(){s=c(s)}return new Promise(((o,c)=>{s=r([a(t,(()=>{i(),c(l())})),y(n,(n=>{i(),o(n)}),{sync:!1,once:!0},e??L)])}))}function L(n){return!0}function M(n){return!!n}function U(n,e,t={}){let o=!1;const r=d(n,((n,t)=>{o||e(n,t)}),t);return{remove(){r.remove()},pause(){o=!0},resume(){o=!1}}}function g(n,t){const o=new e,r=v(n,\"after-splice\",(({added:n,start:e,deleteCount:r})=>{const s=o.splice(e,r);for(const t of s)t.remove();if(n?.length){const r=n.map(t);o.addMany(r,e)}}),{sync:!0,onListenerRemove:()=>o.drain((n=>n.remove())),onListenerAdd:n=>o.addMany(n.items.map(t))});return o.addHandles(r),o}function x(t,o){const r=new e,i=g(t,(e=>n((async n=>{const t=await o(e,n);if(u(n))throw t.remove(),l();return t})))),c=()=>null,a=async n=>{const e=await n.promise,t=i.indexOf(n);t<0||r.splice(t,1,e)};r.addMany(i.items.map(c));for(const n of i)f(a(n));const m=i.on(\"after-splice\",(({added:n,start:e,deleteCount:t})=>{const o=r.splice(e,t);for(const r of o)r?.remove();if(n?.length){r.addMany(n.map(c),e);for(const e of n)f(a(e))}}));return r.addHandles([s(i),m]),r}const C={sync:!0},P={initial:!0},A={sync:!0,initial:!0};export{P as initial,g as mapCollection,x as mapCollectionAsync,v as on,j as once,U as pausable,C as sync,A as syncAndInitial,d as watch,p as when,w as whenOnce};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{nextTick as e}from\"./nextTick.js\";import t from\"./PerformanceSampler.js\";import n from\"./PooledArray.js\";import{createResolver as r,isAborted as s,createAbortError as o}from\"./promiseUtils.js\";import{Milliseconds as a}from\"./time.js\";class i{constructor(e){this.phases=e,this.paused=!1,this.ticks=-1,this.removed=!1}}class c{constructor(e){this.callback=e,this.isActive=!0}remove(){this.isActive=!1}}let m=0,l=0;const u={time:a(0),deltaTime:a(0),elapsedFrameTime:a(0),frameDuration:a(0)},p=[\"prepare\",\"preRender\",\"render\",\"postRender\",\"update\",\"finish\"],f=[],h=new n;class d{constructor(e){this._task=e}remove(){this._task.removed=!0}pause(){this._task.paused=!0}resume(){this._task.paused=!1}}function w(){null!=F&&(cancelAnimationFrame(F),F=requestAnimationFrame(x))}const k={frameTasks:h,willDispatch:!1,clearFrameTasks:T,dispatch:_,executeFrameTasks:D,reschedule:w};function v(t){const n=new c(t);return f.push(n),k.willDispatch||(k.willDispatch=!0,e(_)),n}function A(e){const t=new i(e);return h.push(t),null==F&&(m=performance.now(),F=requestAnimationFrame(x)),new d(t)}let F=null;function T(e=!1){h.forAll((e=>{e.removed=!0})),e&&q()}function j(e){l=Math.max(0,e)}function x(){const e=performance.now();F=null,F=h.length>0?requestAnimationFrame(x):null,k.executeFrameTasks(e)}function D(e){const t=a(e-m);m=e;const n=l>0?l:1e3/60,r=Math.max(0,t-n);u.time=e,u.frameDuration=a(n-r);for(let s=0;s{if(n.paused||n.removed)return;0===s&&n.ticks++;n.phases[r]&&(u.elapsedFrameTime=a(performance.now()-e),u.deltaTime=0===n.ticks?a(0):t,n.phases[r]?.call(n,u))})),R[s].push(performance.now()-n)}q(),U.push(performance.now()-e)}const g=new n;function q(){h.forAll((e=>{e.removed&&g.push(e)})),h.removeUnorderedMany(g.data,g.length),g.clear()}function _(){for(;f.length;){const e=f.shift();e.isActive&&e.callback()}k.willDispatch=!1}function b(t=1,n){const a=r(),i=()=>{s(n)?a.reject(o()):0===t?a():(--t,e((()=>i())))};return i(),a.promise}function y(e){return b(1,e)}function M(){const e=r(),t=A({postRender:()=>{t.remove(),v(e)}});return e.promise}async function P(e){await y(e),await new Promise((t=>requestAnimationFrame((()=>{e?.aborted||t()}))))}const R=p.map((e=>new t(e))),U=new t(\"total\");export{d as FrameTaskHandle,A as addFrameTask,k as debug,R as performanceInfo,U as performanceTotal,v as schedule,j as setFrameDuration,P as waitAnimationFrame,M as waitRender,y as waitTick,b as waitTicks};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nconst n=/^-?(\\d+(\\.\\d+)?)\\s*((px)|(pt))?$/i,t=\"screenUtils.toPt: input not recognized!\",r=96;function u(n){return n?n/72*r:0}function e(n){return n?72*n/r:0}function o(r){if(\"string\"==typeof r){const u=r.match(n);if(u){const n=Number(u[1]),t=u[3]&&u[3].toLowerCase(),o=\"-\"===r.charAt(0),c=\"px\"===t?e(n):n;return o?-c:c}return console.warn(t),null}return r}function c(n=0,t=0){return{x:n,y:t}}function i(n){return n?c(n.x,n.y):null}function f(n=0,t=0){return[n,t]}function x(n=0,t=0){return{x:n,y:t}}function s(n=0,t=0){return l([n,t])}function y(n=0,t=0,r=0){return p([n,t,r])}function l(n){return n}function p(n){return n}function a(n){return n}function d(n,t){return t?(t.x=n[0],t.y=n[1],t):{x:n[0],y:n[1]}}function g(n,t){return t?(t[0]=n.x,t[1]=n.y,t.length>2&&(t[2]=0),t):[n.x,n.y]}export{l as castRenderScreenPointArray,p as castRenderScreenPointArray3,a as castScreenPointArray,i as cloneScreenPoint,x as createRenderScreenPoint,s as createRenderScreenPointArray,y as createRenderScreenPointArray3,c as createScreenPoint,f as createScreenPointArray,u as pt2px,e as px2pt,d as screenPointArrayToObject,g as screenPointObjectToArray,o as toPt};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{equalsShallow as t}from\"./lang.js\";import{trackAccess as e}from\"./accessorSupport/tracking.js\";import{SimpleObservable as s}from\"./accessorSupport/tracking/SimpleObservable.js\";class i{constructor(t,e){this._observable=new s,this._value=t,this._equalityFunction=e}get value(){return e(this._observable),this._value}set value(t){this._equalityFunction(t,this._value)||(this._value=t,this._observable.notify())}mutate(t){t(this._value),this._observable.notify()}}function r(e,s=t){return new i(e,s)}export{r as signal};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nasync function e(e,n){const{WhereClause:r}=await import(\"./sql/WhereClause.js\");return r.create(e,{fieldsIndex:n})}function n(e,n){return\"1=1\"===e?n??e:\"1=1\"===n?e??n:null!=e&&\"\"!==e?null!=n&&\"\"!==n?`(${e}) AND (${n})`:e:n}export{e as parseWhereClause,n as sqlAnd};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{createDateTimeZone as t,ArcadeDate as e}from\"../../arcade/ArcadeDate.js\";import{getLocale as a}from\"../../intl/locale.js\";import{DateTime as r,FixedOffsetZone as s}from\"luxon\";function o(t){t=t.replaceAll(/LTS|LT|L{1,4}|l{1,4}/g,\"[$&]\");let e=\"\";const a=/(\\[[^[]*\\])|(\\\\)?([Hh]mm(ss)?|Mo|M{1,4}|Do|DDDo|D{1,4}|d{2,4}|do?|w[o|w]?|W[o|W]?|Qo?|N{1,5}|YYYYYY|YYYYY|YYYY|YY|y{2,4}|yo?|gg(ggg?)?|GG(GGG?)?|e|E|a|A|hh?|HH?|kk?|mm?|ss?|S{1,9}|x|X|zz?|ZZ?|.)/g;for(const r of t.match(a)||[])switch(r){case\"D\":e+=\"d\";break;case\"DD\":e+=\"dd\";break;case\"DDD\":e+=\"o\";break;case\"d\":e+=\"c\";break;case\"ddd\":e+=\"ccc\";break;case\"dddd\":e+=\"cccc\";break;case\"M\":e+=\"L\";break;case\"MM\":e+=\"LL\";break;case\"MMM\":e+=\"LLL\";break;case\"MMMM\":e+=\"LLLL\";break;case\"YY\":e+=\"yy\";break;case\"Y\":case\"YYYY\":e+=\"yyyy\";break;case\"Q\":e+=\"q\";break;case\"X\":case\"x\":e+=r;break;default:r.length>=2&&\"[\"===r.slice(0,1)&&\"]\"===r.slice(-1)?e+=`'${r.slice(1,-1)}'`:e+=`'${r}'`}return e}class n{constructor(t,e,a){this._year=t,this._month=e,this._day=a,this.declaredRootClass=\"esri.core.sql.dateonly\"}get month(){return this._month}get monthJS(){return this._month-1}get year(){return this._year}get day(){return this._day}get isValid(){return this.toDateTime(\"unknown\").isValid}equals(t){return t instanceof n&&t.day===this.day&&t.month===this.month&&t.year===this.year}clone(){return new n(this._year,this._month,this._day)}toDateTime(e){return r.fromObject({day:this.day,month:this.month,year:this.year},{zone:t(e)})}toDateTimeLuxon(e){return r.fromObject({day:this.day,month:this.month,year:this.year},{zone:t(e)})}toString(){return`${this.year.toString().padStart(4,\"0\")}-${this.month.toString().padStart(2,\"0\")}-${this.day.toString().padStart(2,\"0\")}`}toFormat(t=null,r=!0){if(null===t||\"\"===t)return this.toString();if(r&&(t=o(t)),!t)return\"\";const s=this.toDateTime(\"unknown\");return e.dateTimeToArcadeDate(s).toFormat(t,{locale:a(),numberingSystem:\"latn\"})}toArcadeDate(){const t=this.toDateTime(\"unknown\");return e.dateTimeToArcadeDate(t)}toNumber(){return this.toDateTime(\"unknown\").toMillis()}toJSDate(){return this.toDateTime(\"unknown\").toJSDate()}toStorageFormat(){return this.toFormat(\"yyyy-LL-dd\",!1)}toSQLValue(){return this.toFormat(\"yyyy-LL-dd\",!1)}toSQLWithKeyword(){return\"date '\"+this.toFormat(\"yyyy-LL-dd\",!1)+\"'\"}plus(t,e){return n.fromDateTime(this.toUTCDateTime().plus({[t]:e}))}toUTCDateTime(){return r.utc(this.year,this.month,this.day,0,0,0,0)}difference(t,e){switch(e.toLowerCase()){case\"days\":case\"day\":case\"d\":return this.toUTCDateTime().diff(t.toUTCDateTime(),\"days\").days;case\"months\":case\"month\":return this.toUTCDateTime().diff(t.toUTCDateTime(),\"months\").months;case\"minutes\":case\"minute\":case\"m\":return\"M\"===e?this.toUTCDateTime().diff(t.toUTCDateTime(),\"months\").months:this.toUTCDateTime().diff(t.toUTCDateTime(),\"minutes\").minutes;case\"seconds\":case\"second\":case\"s\":return this.toUTCDateTime().diff(t.toUTCDateTime(),\"seconds\").seconds;case\"milliseconds\":case\"millisecond\":case\"ms\":default:return this.toUTCDateTime().diff(t.toUTCDateTime(),\"milliseconds\").milliseconds;case\"hours\":case\"hour\":case\"h\":return this.toUTCDateTime().diff(t.toUTCDateTime(),\"hours\").hours;case\"years\":case\"year\":case\"y\":return this.toUTCDateTime().diff(t.toUTCDateTime(),\"years\").years}}static fromMilliseconds(t){const e=r.fromMillis(t,{zone:s.utcInstance});return e.isValid?n.fromParts(e.year,e.month,e.day):null}static fromSeconds(t){const e=r.fromSeconds(t,{zone:s.utcInstance});return e.isValid?n.fromParts(e.year,e.month,e.day):null}static fromReader(t){if(!t)return null;const e=t.split(\"-\");return 3!==e.length?null:new n(parseInt(e[0],10),parseInt(e[1],10),parseInt(e[2],10))}static fromParts(t,e,a){const r=new n(t,e,a);return!1===r.isValid?null:r}static fromDateJS(t){return n.fromParts(t.getFullYear(),t.getMonth()+1,t.getDay())}static fromDateTime(t){return n.fromParts(t.year,t.month,t.day)}static fromSqlTimeStampOffset(t){return this.fromDateTime(t.toDateTime())}static fromString(t,e=null){if(\"\"===t)return null;if(null===t)return null;const a=[];if(e)(e=o(e))&&a.push(e);else if(null===e||\"\"===e){const e=r.fromISO(t,{setZone:!0});return e.isValid?n.fromParts(e.year,e.month,e.day):null}for(const s of a){const a=r.fromFormat(t,e??s);if(a.isValid)return new n(a.year,a.month,a.day)}return null}static fromNow(e=\"system\"){const a=r.fromJSDate(new Date).setZone(t(e));return new n(a.year,a.month,a.day)}}export{n as DateOnly,o as standardizeDateOnlyFormat};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{isInteger as t}from\"../../arcade/kernel.js\";import{getLocale as s}from\"../../intl/locale.js\";import{DateTime as e}from\"luxon\";function i(t){if(!t)return\"\";const s=/(a|A|hh?|HH?|mm?|ss?|SSS|S|.)/g;let e=\"\";for(const i of t.match(s)||[])switch(i){case\"SSS\":case\"m\":case\"mm\":case\"h\":case\"hh\":case\"H\":case\"HH\":case\"s\":case\"ss\":e+=i;break;case\"A\":case\"a\":e+=\"a\";break;default:e+=`'${i}'`}return e}class n{constructor(t,s,e,i){this._hour=t,this._minute=s,this._second=e,this._millisecond=i,this.declaredRootClass=\"esri.core.sql.timeonly\"}get hour(){return this._hour}get minute(){return this._minute}get second(){return this._second}get millisecond(){return this._millisecond}equals(t){return t instanceof n&&t.hour===this.hour&&t.minute===this.minute&&t.second===this.second&&t.millisecond===this.millisecond}clone(){return new n(this.hour,this.minute,this.second,this.millisecond)}isValid(){return t(this.hour)&&t(this.minute)&&t(this.second)&&t(this.millisecond)&&this.hour>=0&&this.hour<24&&this.minute>=0&&this.minute<60&&this.second>=0&&this.second<60&&this.millisecond>=0&&this.millisecond<1e3}toString(){return`${this.hour.toString().padStart(2,\"0\")}:${this.minute.toString().padStart(2,\"0\")}:${this.second.toString().padStart(2,\"0\")}`+(this.millisecond>0?\".\"+this.millisecond.toString().padStart(3,\"0\"):\"\")}toSQLValue(){return this.toString()}toSQLWithKeyword(){return`time '${this.hour.toString().padStart(2,\"0\")}:${this.minute.toString().padStart(2,\"0\")}:${this.second.toString().padStart(2,\"0\")}${this.millisecond>0?\".\"+this.millisecond.toString().padStart(3,\"0\"):\"\"}'`}toStorageString(){return`${this.hour.toString().padStart(2,\"0\")}:${this.minute.toString().padStart(2,\"0\")}:${this.second.toString().padStart(2,\"0\")}`}toFormat(t=null){if(null===t||\"\"===t)return this.toString();if(!(t=i(t)))return\"\";return e.local(1970,1,1,this._hour,this._minute,this._second,this._millisecond).toFormat(t,{locale:s(),numberingSystem:\"latn\"})}toNumber(){return this.millisecond+1e3*this.second+1e3*this.minute*60+60*this.hour*60*1e3}static fromParts(t,s,e,i){const r=new n(t,s,e,i);return r.isValid()?r:null}static fromReader(t){if(!t)return null;const s=t.split(\":\");return 3!==s.length?null:new n(parseInt(s[0],10),parseInt(s[1],10),parseInt(s[2],10),0)}static fromMilliseconds(t){if(t>864e5||t<0)return null;const s=Math.floor(t/1e3%60),e=Math.floor(t/6e4%60),i=Math.floor(t/36e5%24),r=Math.floor(t%1e3);return new n(i,e,s,r)}static fromDateJS(t){return new n(t.getHours(),t.getMinutes(),t.getSeconds(),t.getMilliseconds())}static fromDateTime(t){return new n(t.hour,t.minute,t.second,t.millisecond)}static fromSqlTimeStampOffset(t){return this.fromDateTime(t.toDateTime())}static fromString(t,s=null){if(\"\"===t)return null;if(null===t)return null;const r=[];s?(s=i(s))&&r.push(s):null!==s&&\"\"!==s||(r.push(\"HH:mm:ss\"),r.push(\"HH:mm:ss.SSS\"),r.push(\"hh:mm:ss a\"),r.push(\"hh:mm:ss.SSS a\"),r.push(\"HH:mm\"),r.push(\"hh:mm a\"),r.push(\"H:mm\"),r.push(\"h:mm a\"),r.push(\"H:mm:ss\"),r.push(\"h:mm:ss a\"),r.push(\"H:mm:ss.SSS\"),r.push(\"h:mm:ss.SSS a\"));for(const i of r){const s=e.fromFormat(t,i);if(s.isValid)return new n(s.hour,s.minute,s.second,s.millisecond)}return null}plus(t,s){switch(t){case\"days\":case\"years\":case\"months\":return this.clone();case\"hours\":case\"minutes\":case\"seconds\":case\"milliseconds\":return n.fromDateTime(this.toUTCDateTime().plus({[t]:s}))}return null}toUTCDateTime(){return e.utc(1970,1,1,this.hour,this.minute,this.second,this.millisecond)}difference(t,s){switch(s.toLowerCase()){case\"days\":case\"day\":case\"d\":return this.toUTCDateTime().diff(t.toUTCDateTime(),\"days\").days;case\"months\":case\"month\":return this.toUTCDateTime().diff(t.toUTCDateTime(),\"months\").months;case\"minutes\":case\"minute\":case\"m\":return\"M\"===s?this.toUTCDateTime().diff(t.toUTCDateTime(),\"months\").months:this.toUTCDateTime().diff(t.toUTCDateTime(),\"minutes\").minutes;case\"seconds\":case\"second\":case\"s\":return this.toUTCDateTime().diff(t.toUTCDateTime(),\"seconds\").seconds;case\"milliseconds\":case\"millisecond\":case\"ms\":default:return this.toUTCDateTime().diff(t.toUTCDateTime(),\"milliseconds\").milliseconds;case\"hours\":case\"hour\":case\"h\":return this.toUTCDateTime().diff(t.toUTCDateTime(),\"hours\").hours;case\"years\":case\"year\":case\"y\":return this.toUTCDateTime().diff(t.toUTCDateTime(),\"years\").years}}}export{n as TimeOnly,i as standardizeTimeFormat};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{IANAZone as n,Zone as o,DateTime as e}from\"luxon\";class t{}function r(n){return n instanceof o?n===t.instance:\"unknown\"===n?.toString().toLowerCase()}function i(n){return r(n)?t.instance:n}function c(n,o){return e.fromObject({day:n.day,year:n.year,month:n.month,hour:n.hour,minute:n.minute,second:n.second,millisecond:n.millisecond},{zone:o})}t.instance=new n(\"Etc/UTC\");export{t as UnknownTimeZone,c as adoptTimeZone,r as isUnknownTimeZone,i as substituteUnknownTimezone};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{getDeepValue as t}from\"./object.js\";const e=/\\{([^}]+)\\}/g;function n(t){return t??\"\"}function r(r,o){return o?r.replaceAll(e,\"object\"==typeof o?(e,r)=>n(t(r,o)):(t,e)=>n(o(e))):r}function o(t,e){return t.replaceAll(/([.$?*|{}()[\\]\\\\/+\\-^])/g,(t=>e?.includes(t)?t:`\\\\${t}`))}function l(t){let e=0;for(let n=0;n{null==e.item&&e.preventDefault()})),this.on(\"after-add\",(e=>this._own(e.item))),this.on(\"after-remove\",(e=>this._release(e.item)))])}get owner(){return this._get(\"owner\")}set owner(e){e!==this._get(\"owner\")&&(this._releaseAll(),this._set(\"owner\",e),this._ownAll())}_ownAll(){for(const e of this.items)this._own(e)}_releaseAll(){for(const e of this.items)this._release(e)}_createNewInstance(e){return this.itemType?new(t.ofType(this.itemType.Type))(e):new t(e)}};function l(e,t){return{type:e,cast:s,set(s){const r=o(s,this._get(t),e);r.owner=this,this._set(t,r)}}}e([r()],n.prototype,\"owner\",null),n=e([i(\"esri.core.support.OwningCollection\")],n);export{n as OwningCollection,l as owningCollectionProperty};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{_ as s}from\"../../chunks/tslib.es6.js\";import e from\"../Accessor.js\";import{makeHandle as t}from\"../handleUtils.js\";import{watch as i,when as n,on as d,sync as a}from\"../reactiveUtils.js\";import{schedule as r}from\"../scheduling.js\";import{property as o}from\"../accessorSupport/decorators/property.js\";import{subclass as l}from\"../accessorSupport/decorators/subclass.js\";let h=class extends e{constructor(){super(...arguments),this.updating=!1,this._handleId=0,this._scheduleHandleId=0,this._pendingPromises=new Set}destroy(){this.removeAll()}add(s,e,t={}){return this._installWatch(s,e,t,i)}addWhen(s,e,t={}){return this._installWatch(s,e,t,n)}addOnCollectionChange(s,e,{initial:i=!1,final:n=!1}={}){const r=++this._handleId;return this.addHandles([d(s,\"after-changes\",this._createSyncUpdatingCallback(),a),d(s,\"change\",e,{onListenerAdd:i?s=>e({added:s.toArray(),removed:[]}):void 0,onListenerRemove:n?s=>e({added:[],removed:s.toArray()}):void 0})],r),t((()=>this.removeHandles(r)))}addPromise(s){if(null==s)return s;const e=++this._handleId;this.addHandles(t((()=>{this._pendingPromises.delete(s)&&(0!==this._pendingPromises.size||this.hasHandles(c)||this._set(\"updating\",!1))})),e),this._pendingPromises.add(s),this._set(\"updating\",!0);const i=()=>this.removeHandles(e);return s.then(i,i),s}removeAll(){this._pendingPromises.clear(),this.removeAllHandles(),this._set(\"updating\",!1)}_installWatch(s,e,i={},n){const d=++this._handleId;i.sync||this._installSyncUpdatingWatch(s,d);const a=n(s,e,i);return this.addHandles(a,d),t((()=>this.removeHandles(d)))}_installSyncUpdatingWatch(s,e){const t=this._createSyncUpdatingCallback(),n=i(s,t,{sync:!0,equals:()=>!1});return this.addHandles(n,e),n}_createSyncUpdatingCallback(){return()=>{this.removeHandles(c),++this._scheduleHandleId;const s=this._scheduleHandleId;this._get(\"updating\")||this._set(\"updating\",!0),this.addHandles(r((()=>{s===this._scheduleHandleId&&(this._set(\"updating\",this._pendingPromises.size>0),this.removeHandles(c))})),c)}}};s([o({readOnly:!0})],h.prototype,\"updating\",void 0),h=s([l(\"esri.core.support.UpdatingHandles\")],h);const c=-42;export{h as UpdatingHandles};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nfunction e(e,t,l,n){let o=null,p=1e3;\"number\"==typeof t?(p=t,n=l):(o=t??null,p=l);let r,u=0;const a=()=>{u=0,e.apply(n,r)},c=(...e)=>{o&&o.apply(n,e),r=e,p?u||(u=setTimeout(a,p)):a()};return c.remove=()=>{u&&(clearTimeout(u),u=0)},c.forceUpdate=()=>{u&&(clearTimeout(u),a())},c.hasPendingUpdates=()=>!!u,c}export{e as throttle};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nfunction n(n){return n}function r(r){return n(1e3*r)}function t(n){return n}function u(n){return t(.001*n)}function e(){return n(performance.now())}export{n as Milliseconds,t as Seconds,r as millisecondsFromSeconds,e as now,u as secondsFromMilliseconds};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{resolveTimeZone as e}from\"../intl/date.js\";import{system as t}from\"../time/timeZoneUtils.js\";import{IANAZone as n,DateTime as s}from\"luxon\";const r={milliseconds:1,seconds:1e3,minutes:6e4,hours:36e5,days:864e5,weeks:6048e5,months:26784e5,years:31536e6,decades:31536e7,centuries:31536e8};function o(r,o,i,c=t){const u=new n(e(c)),a=s.fromJSDate(r,{zone:u}),l=\"decades\"===i||\"centuries\"===i?\"year\":T(i);return\"decades\"===i&&(o*=10),\"centuries\"===i&&(o*=100),a.plus({[l]:o}).toJSDate()}function i(e,t,n=\"milliseconds\"){const s=e.getTime(),r=m(t,n,\"milliseconds\");return new Date(s+r)}function c(r,o,i=t){const c=new n(e(i)),u=s.fromJSDate(r,{zone:c});if(\"decades\"===o||\"centuries\"===o){const e=u.startOf(\"year\"),{year:t}=e,n=t-t%(\"decades\"===o?10:100);return e.set({year:n}).toJSDate()}const a=T(o);return u.startOf(a).toJSDate()}function u(e,t,n=\"milliseconds\"){const s=new Date(m(t,n,\"milliseconds\"));return s.setUTCFullYear(e.getUTCFullYear(),e.getUTCMonth(),e.getUTCDate()),s}function a(e,t=\"milliseconds\"){const n=m(e.getUTCHours(),\"hours\",\"milliseconds\"),s=m(e.getUTCMinutes(),\"minutes\",\"milliseconds\"),r=m(e.getUTCSeconds(),\"seconds\",\"milliseconds\");return m(n+s+r+e.getUTCMilliseconds(),\"milliseconds\",t)}function l(e,t){const n=new Date(e.getTime());return n.setUTCFullYear(t.getFullYear(),t.getMonth(),t.getDate()),n}function d(e){const t=new Date(0);return t.setHours(0),t.setMinutes(0),t.setSeconds(0),t.setMilliseconds(0),t.setFullYear(e.getUTCFullYear(),e.getUTCMonth(),e.getUTCDate()),t}function m(e,t,n){if(0===e)return 0;return e*r[t]/r[n]}function f(e){return e instanceof Date&&!isNaN(e.getTime())}function g(e,t){return e&&t?e.intersection(t):e||t}function T(e){switch(e){case\"milliseconds\":return\"millisecond\";case\"seconds\":return\"second\";case\"minutes\":return\"minute\";case\"hours\":return\"hour\";case\"days\":return\"day\";case\"weeks\":return\"week\";case\"months\":return\"month\";case\"years\":return\"year\"}}export{m as convertTime,f as isValidDate,u as makeUTCTime,g as mergeTimeExtents,r as millisecondsPerTimeUnit,o as offsetDate,i as offsetDateUTC,l as resetUTCDate,a as timeSinceUTCMidnight,c as truncateDate,d as truncateLocalTime};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{estimateFixedArraySize as n,estimateNumberByteSize as r}from\"./byteSizeEstimations.js\";import\"./has.js\";function t(n){return n instanceof ArrayBuffer}function o(n){return\"Int8Array\"===n?.constructor?.name}function u(n){return\"Uint8Array\"===n?.constructor?.name}function e(n){return\"Uint8ClampedArray\"===n?.constructor?.name}function c(n){return\"Int16Array\"===n?.constructor?.name}function i(n){return\"Uint16Array\"===n?.constructor?.name}function a(n){return\"Int32Array\"===n?.constructor?.name}function f(n){return\"Uint32Array\"===n?.constructor?.name}function s(n){return\"Float32Array\"===n?.constructor?.name}function m(n){return\"Float64Array\"===n?.constructor?.name}function y(n){return!(\"buffer\"in n)}function A(...t){return t.reduce(((t,o)=>t+(o?y(o)?n(o,r()):o.byteLength+p:0)),0)}const p=145,U=1024;function b(n){return m(n)||s(n)||a(n)||c(n)||o(n)}function l(n){return m(n)||s(n)}function I(n){return m(n)?179769e303:s(n)?3402823e32:f(n)?4294967295:i(n)?65535:u(n)||e(n)?255:a(n)?2147483647:c(n)?32767:o(n)?127:256}export{A as estimateSize,y as isArray,t as isArrayBuffer,l as isFloat,s as isFloat32Array,m as isFloat64Array,c as isInt16Array,a as isInt32Array,o as isInt8Array,b as isSigned,i as isUint16Array,f as isUint32Array,u as isUint8Array,e as isUint8ClampedArray,I as maximumValue,U as nativeArrayMaxSize,p as typedArrayStaticSize};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nlet t=0;const n=0;function e(){return++t}export{e as generateUID,n as nullUid};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{ByteSizeUnit as t}from\"./ByteSizeUnit.js\";import{cyclicalDegrees as n}from\"./Cyclical.js\";import{clamp as i}from\"./mathUtils.js\";import{convertRotationType as r}from\"./quantityUtils.js\";import{replace as o}from\"./string.js\";import{adaptiveMetricLengthUnit as e,convertUnit as s,adaptiveMetricVerticalLengthUnit as u,adaptiveImperialLengthUnit as c,adaptiveImperialVerticalLengthUnit as a,adaptiveMetricAreaUnit as m,adaptiveImperialAreaUnit as f}from\"./unitUtils.js\";import{formatNumber as l}from\"../intl/number.js\";function b(t,n,i){return t.units[n][i]}function g(t,n,i,r=2,o=\"abbr\"){return`${l(n,{minimumFractionDigits:r,maximumFractionDigits:r,signDisplay:n>0?\"never\":\"exceptZero\"})} ${b(t,i,o)}`}function p(t,n,i,r=2,o=\"abbr\"){return`${l(n,{minimumFractionDigits:r,maximumFractionDigits:r,signDisplay:\"exceptZero\"})} ${b(t,i,o)}`}function D(t,n,i,r=2,o=\"abbr\"){const u=e(n,i);return g(t,s(n,i,u),u,r,o)}function x(t,n,i,r=2,o=\"abbr\"){const u=e(n,i);return p(t,s(n,i,u),u,r,o)}function y(t,n,i,r=2,o=\"abbr\"){const e=u(n,i);return g(t,s(n,i,e),e,r,o)}function F(t,n,i,r=2,o=\"abbr\"){const e=u(n,i);return p(t,s(n,i,e),e,r,o)}function d(t,n,i,r=2,o=\"abbr\"){const e=c(n,i);return g(t,s(n,i,e),e,r,o)}function h(t,n,i,r=2,o=\"abbr\"){const e=c(n,i);return p(t,s(n,i,e),e,r,o)}function B(t,n,i,r=2,o=\"abbr\"){const e=a(n,i);return g(t,s(n,i,e),e,r,o)}function M(t,n,i,r=2,o=\"abbr\"){const e=a(n,i);return p(t,s(n,i,e),e,r,o)}function $(t,n,i,r=2,o=\"abbr\"){const e=m(n,i);return g(t,s(n,i,e),e,r,o)}function j(t,n,i,r=2,o=\"abbr\"){const e=f(n,i);return g(t,s(n,i,e),e,r,o)}function S(t,n,i=2){let r=s(t,n,\"degrees\"),o=r-Math.floor(r);r-=o,o*=60;let e=o-Math.floor(o);return o-=e,e*=60,`${r.toFixed()}° ${o.toFixed()}' ${e.toFixed(i)}\"`}const U=(t,n)=>({style:\"unit\",unitDisplay:\"narrow\",unit:\"degree\",maximumFractionDigits:n,minimumFractionDigits:n,signDisplay:t>0?\"never\":\"exceptZero\"});function w(t,i,o,e,u,c=n,a=!0){let m=c.normalize(r(s(t,i,\"degrees\"),o,e),0,a);const f=U(m,u??2);return m=I(m,f),l(m,f)}function Z(t,n,i,r,o=2){i!==r&&(t=-t);const e={style:\"unit\",unitDisplay:\"narrow\",unit:\"degree\",maximumFractionDigits:o,minimumFractionDigits:o,signDisplay:\"exceptZero\"};let u=s(t,n,\"degrees\")%360;return u=I(u,e),l(u,e)}const z=new Map;function I(t,n){const i=JSON.stringify(n);let r=z.get(i);return r||(r=new Intl.NumberFormat(\"en-US\",n),z.set(i,r)),/^[-+]?360\\.?0*°?$/.test(r.format(t))?0:t}const O=[\"B\",\"kB\",\"MB\",\"GB\",\"TB\"];function T(n,r){let e=0===(r=Math.round(r))?0:Math.floor(Math.log(r)/Math.log(t.KILOBYTES));e=i(e,0,O.length-1);const s=l(r/t.KILOBYTES**e,{maximumFractionDigits:2});return o(n.units.bytes[O[e]],{fileSize:s})}export{w as formatAngleDegrees,S as formatDMS,g as formatDecimal,T as formatFileSize,j as formatImperialArea,d as formatImperialLength,h as formatImperialRelativeLength,M as formatImperialRelativeVerticalLength,B as formatImperialVerticalLength,$ as formatMetricArea,D as formatMetricLength,x as formatMetricRelativeLength,F as formatMetricRelativeVerticalLength,y as formatMetricVerticalLength,Z as formatRelativeAngleDegrees,p as formatRelativeDecimal,b as unitName};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport\"./has.js\";import{strict as e}from\"./jsonMap.js\";import{getReferenceEllipsoid as s}from\"../geometry/ellipsoidUtils.js\";import{earth as t,mars as r,moon as n}from\"../geometry/support/Ellipsoid.js\";import{isEarth as i,isWKIDFromMars as a,isWKIDFromMoon as u,isGeographic as c}from\"../geometry/support/spatialReferenceUtils.js\";import l from\"../geometry/support/WKIDUnitConversion.js\";const o=39.37,m=t.radius*Math.PI/200,f=/(?:LENGTH)?UNIT\\[([^\\]]+)]]$/i,U=l,d=/UNIT\\[([^\\]]+)]/i,h=new Set([4305,4807,4810,4811,4812,4816,4819,4821,4901,4902,37225,104025,104026,104139,104140]),B=e()({meter:\"meters\",foot:\"feet\",foot_us:\"us-feet\",foot_clarke:\"clarke-feet\",yard_clarke:\"clarke-yards\",link_clarke:\"clarke-links\",yard_sears:\"sears-yards\",foot_sears:\"sears-feet\",chain_sears:\"sears-chains\",chain_benoit_1895_b:\"benoit-1895-b-chains\",yard_indian:\"indian-yards\",yard_indian_1937:\"indian-1937-yards\",foot_gold_coast:\"gold-coast-feet\",chain:\"chains\",chain_sears_1922_truncated:\"sears-1922-truncated-chains\",\"50_kilometers\":\"50-kilometers\",\"150_kilometers\":\"150-kilometers\"}),q=e=>e*e,k=e=>e*e*e,b={length:{baseUnit:\"meters\",units:{millimeters:{inBaseUnits:.001},centimeters:{inBaseUnits:.01},decimeters:{inBaseUnits:.1},meters:{inBaseUnits:1},kilometers:{inBaseUnits:1e3},inches:{inBaseUnits:.0254},feet:{inBaseUnits:.3048},yards:{inBaseUnits:.9144},miles:{inBaseUnits:1609.344},\"nautical-miles\":{inBaseUnits:1852},\"us-feet\":{inBaseUnits:1200/3937},\"clarke-feet\":{inBaseUnits:.3047972654},\"clarke-yards\":{inBaseUnits:.9143917962},\"clarke-links\":{inBaseUnits:.201166195164},\"sears-yards\":{inBaseUnits:.9143984146160287},\"sears-feet\":{inBaseUnits:.3047994715386762},\"sears-chains\":{inBaseUnits:20.11676512155263},\"benoit-1895-b-chains\":{inBaseUnits:20.11678249437587},\"indian-yards\":{inBaseUnits:.9143985307444408},\"indian-1937-yards\":{inBaseUnits:.91439523},\"gold-coast-feet\":{inBaseUnits:.3047997101815088},chains:{inBaseUnits:20.1168},\"sears-1922-truncated-chains\":{inBaseUnits:20.116756},\"50-kilometers\":{inBaseUnits:5e4},\"150-kilometers\":{inBaseUnits:15e4}}},area:{baseUnit:\"square-meters\",units:{\"square-millimeters\":{inBaseUnits:q(.001)},\"square-centimeters\":{inBaseUnits:q(.01)},\"square-decimeters\":{inBaseUnits:q(.1)},\"square-meters\":{inBaseUnits:1},\"square-kilometers\":{inBaseUnits:q(1e3)},\"square-inches\":{inBaseUnits:q(.0254)},\"square-feet\":{inBaseUnits:q(.3048)},\"square-yards\":{inBaseUnits:q(.9144)},\"square-miles\":{inBaseUnits:q(1609.344)},\"square-us-feet\":{inBaseUnits:q(1200/3937)},acres:{inBaseUnits:.0015625*q(1609.344)},ares:{inBaseUnits:100},hectares:{inBaseUnits:1e4}}},volume:{baseUnit:\"liters\",units:{liters:{inBaseUnits:1},\"cubic-millimeters\":{inBaseUnits:1e3*k(.001)},\"cubic-centimeters\":{inBaseUnits:1e3*k(.01)},\"cubic-decimeters\":{inBaseUnits:1e3*k(.1)},\"cubic-meters\":{inBaseUnits:1e3},\"cubic-kilometers\":{inBaseUnits:1e3*k(1e3)},\"cubic-inches\":{inBaseUnits:1e3*k(.0254)},\"cubic-feet\":{inBaseUnits:1e3*k(.3048)},\"cubic-yards\":{inBaseUnits:1e3*k(.9144)},\"cubic-miles\":{inBaseUnits:1e3*k(1609.344)}}},angle:{baseUnit:\"radians\",units:{radians:{inBaseUnits:1},degrees:{inBaseUnits:Math.PI/180}}}},p=(()=>{const e={};for(const s in b)for(const t in b[s].units)e[t]=s;return e})();function y(e,s,t){return e*b[t].units[s].inBaseUnits}function g(e,s,t){return e/b[t].units[s].inBaseUnits}const w=[\"metric\",\"imperial\",\"square-inches\",\"square-feet\",\"square-yards\",\"square-miles\",\"square-us-feet\",\"square-meters\",\"square-kilometers\",\"acres\",\"ares\",\"hectares\"],_=[\"metric\",\"imperial\",\"inches\",\"feet\",\"yards\",\"miles\",\"nautical-miles\",\"us-feet\",\"meters\",\"kilometers\"],M=new Map([[\"meters\",\"square-meters\"],[\"feet\",\"square-feet\"],[\"us-feet\",\"square-us-feet\"]]);function S(e){return\"imperial\"===e||\"metric\"===e}function D(e){const s=p[e];if(!s)throw new Error(\"unknown type\");return s}function C(e){return b[e].baseUnit}function P(e){return C(D(e))}function E(e,s=null){return s=s||D(e),b[s].baseUnit===e}function I(e,s,t){if(s===t)return e;const r=D(s);if(r!==D(t))throw new Error(\"incompatible units\");const n=E(s,r)?e:y(e,s,r);return E(t,r)?n:g(n,t,r)}function j(e,s,t,r=!1){if(!r&&s.isGeographic)throw new Error(\"Unable to convert from an angular unit to a linear unit.\");const n=ee(s);return n!==t&&(e=n?I(e,n,t):I(e*=z(s),\"meters\",t)),e}function R(e,s,t,r=!1){if(!r&&t.isGeographic)throw new Error(\"Unable to convert from a linear unit to an angular unit.\");const n=ee(t);return s!==n&&(e=n?I(e,s,n):I(e,s,\"meters\")/z(t)),e}function v(e){switch(e){case\"metric\":return\"meters\";case\"imperial\":return\"feet\";default:return e}}function x(e){return v(e)}function N(e){switch(e){case\"metric\":return\"square-meters\";case\"imperial\":return\"square-feet\";default:return e}}function O(e,s,t){switch(t){case\"metric\":return G(e,s);case\"imperial\":return T(e,s);default:return t}}function F(e,s,t){switch(t){case\"metric\":return J(e,s);case\"imperial\":return K(e,s);default:return t}}function G(e,s){const t=I(e,s,\"meters\");return Math.abs(t)<3e3?\"meters\":\"kilometers\"}function J(e,s){const t=I(e,s,\"meters\");return Math.abs(t)<1e5?\"meters\":\"kilometers\"}function T(e,s){const t=I(e,s,\"feet\");return Math.abs(t)<1e3?\"feet\":\"miles\"}function K(e,s){const t=I(e,s,\"feet\");return Math.abs(t)<1e5?\"feet\":\"miles\"}function A(e,s){const t=I(e,s,\"square-meters\");return Math.abs(t)<3e6?\"square-meters\":\"square-kilometers\"}function H(e,s){const t=I(e,s,\"square-feet\");return Math.abs(t)<1e6?\"square-feet\":\"square-miles\"}function L(e,s,t){return I(e,s,\"meters\")/(t*Math.PI/180)}function Y(e){return B.fromJSON(e.toLowerCase())||null}function W(e){if(null!=e&&!i(e))return 1;const s=z(e);return s>1e5?1:s}function $(e){return z(e)>=s(e).metersPerDegree?\"meters\":ee(e)}function z(e,s=t.metersPerDegree){return Q(e,!0)??s}function Q(e,s=!1){const t=e?.wkid??null,i=e?.wkt2??e?.wkt??null;let c=null;if(t){if(a(t))return r.metersPerDegree;if(u(t))return n.metersPerDegree;c=U.values[U[t]],!c&&s&&h.has(t)&&(c=m)}else i&&(ie(i)?c=X(f.exec(i),c):ne(i)&&(c=X(d.exec(i),c)));return c}function V(e){return c(e)?1:z(e)}function X(e,s){return e?.[1]?Z(e[1]):s}function Z(e){return parseFloat(e.split(\",\")[1])}function ee(e){const s=e?.wkid??null,t=e?.wkt2??e?.wkt??null;let r=null;if(s)r=U.units[U[s]];else if(t){const e=ie(t)?f:ne(t)?d:null;if(e){const s=e.exec(t);s?.[1]&&(r=ue(s[1]))}}return null!=r?Y(r):null}function se(e){const s=ee(e);return null!=s&&_.includes(s)?s:null}function te(e){const s=$(e);return null!=s&&_.includes(s)?s:null}function re(e){const s=ee(e);return null==s?null:M.get(s)}function ne(e){return/^GEOCCS/i.test(e)}function ie(e){return/^\\s*(?:PROJCS|PROJCRS|PROJECTEDCRS)/i.test(e)}const ae=1e-7;function ue(e){const s=/[\\\\\"']{1}([^\\\\\"']+)/.exec(e);let t=s?.[1];if(!t||!U.units.includes(t)){const s=Z(e);t=null;const r=U.values;for(let e=0;eo.getLogger(\"esri.core.urlUtils\"),c=t.request,f=\"esri/config: esriConfig.request.proxyUrl is not set.\",a=/^\\s*[a-z][a-z0-9-+.]*:(?![0-9])/i,p=/^\\s*http:/i,h=/^\\s*https:/i,d=/^\\s*file:/i,m=/:\\d+$/,y=/^https?:\\/\\/[^/]+\\.arcgis.com\\/sharing(\\/|$)/i,g=new RegExp(\"^(([^:/?#]+):)?(//([^/?#]*))?([^?#]*)(\\\\?([^#]*))?(#(.*))?$\"),$=new RegExp(\"^((([^[:]+):)?([^@]+)@)?(\\\\[([^\\\\]]+)\\\\]|([^[:]*))(:([0-9]+))?$\");class x{constructor(t=\"\"){this.uri=t,this.scheme=null,this.authority=null,this.path=null,this.query=null,this.fragment=null,this.user=null,this.password=null,this.host=null,this.port=null;let n=this.uri.match(g);this.scheme=n[2]||(n[1]?\"\":null),this.authority=n[4]||(n[3]?\"\":null),this.path=n[5],this.query=n[7]||(n[6]?\"\":null),this.fragment=n[9]||(n[8]?\"\":null),null!=this.authority&&(n=this.authority.match($),this.user=n[3]||null,this.password=n[4]||null,this.host=n[6]||n[7],this.port=n[9]||null)}toString(){return this.uri}}const w={},O=new x(t.applicationUrl);let U=O;const R=b();let q=R;const C=()=>U,j=()=>q;function b(){const t=U.path,n=t.slice(0,t.lastIndexOf(\"/\")+1);return`${`${U.scheme}://${U.host}${null!=U.port?`:${U.port}`:\"\"}`}${n}`}const L={setAppUrl:t=>U=t,setAppBaseUrl:t=>q=t,restoreUrls:()=>{U=O,q=R}};function I(t){if(!t)return null;const n={path:null,query:null},e=new x(t),r=t.indexOf(\"?\");return null===e.query?n.path=t:(n.path=t.slice(0,r),n.query=A(e.query)),e.fragment&&(n.hash=e.fragment,null===e.query&&(n.path=n.path.slice(0,n.path.length-(e.fragment.length+1)))),n}function A(t){const n=t.split(\"&\"),e={};for(const r of n){if(!r)continue;const t=r.indexOf(\"=\");let n,o;t<0?(n=decodeURIComponent(r),o=\"\"):(n=decodeURIComponent(r.slice(0,t)),o=decodeURIComponent(r.slice(t+1)));let i=e[n];\"string\"==typeof i&&(i=e[n]=[i]),Array.isArray(i)?i.push(o):e[n]=o}return e}function v(t,n){return t?n&&\"function\"==typeof n?Object.keys(t).map((e=>encodeURIComponent(e)+\"=\"+encodeURIComponent(n(e,t[e])))).join(\"&\"):Object.keys(t).map((e=>{const o=t[e];if(null==o)return\"\";const i=encodeURIComponent(e)+\"=\",s=n?.[e];return s?i+encodeURIComponent(s(o)):Array.isArray(o)?o.map((t=>r(t)?i+encodeURIComponent(JSON.stringify(t)):i+encodeURIComponent(t))).join(\"&\"):r(o)?i+encodeURIComponent(JSON.stringify(o)):i+encodeURIComponent(o)})).filter((t=>t)).join(\"&\"):\"\"}function P(t=!1){let n,r=c.proxyUrl;if(\"string\"==typeof t){n=dt(t);const e=T(t);e&&(r=e.proxyUrl)}else n=!!t;if(!r)throw l().warn(f),new e(\"urlUtils:proxy-not-set\",f);n&&wt()&&(r=$t(r));return I(r)}function S(t,n=!1){const e=T(t);let r,o;if(e){const t=E(e.proxyUrl);r=t.path,o=t.query?A(t.query):null}else if(n){const n=P(t);r=n.path,o=n.query}if(r){const n=I(t);t=r+\"?\"+n.path;const e=v({...o,...n.query});e&&(t=`${t}?${e}`)}return t}const k={path:\"\",query:\"\"};function E(t){const n=t.indexOf(\"?\");return-1!==n?(k.path=t.slice(0,n),k.query=t.slice(n+1)):(k.path=t,k.query=null),k}function B(t){return t=(t=Ot(t=Ct(t=E(t).path),!0)).toLowerCase()}function H(t){const n={proxyUrl:t.proxyUrl,urlPrefix:B(t.urlPrefix)},e=c.proxyRules,r=n.urlPrefix;let o=e.length;for(let i=0;i0?t.slice(0,n):t.replace(/\\/+$/,\"\")}function D(t,n=c.interceptors){const e=n=>null==n||n instanceof RegExp&&n.test(t)||\"string\"==typeof n&&t.startsWith(n);if(n)for(const r of n)if(Array.isArray(r.urls)){if(r.urls.some(e))return r}else if(e(r.urls))return r;return null}function F(t,n,e=!1){if(!t||!n)return!1;const r=vt(t),o=vt(n);return!(!e&&r.scheme!==o.scheme)&&(null!=r.host&&null!=o.host&&(r.host.toLowerCase()===o.host.toLowerCase()&&r.port===o.port))}function M(t){if(\"string\"==typeof t){if(!Y(t))return!0;t=vt(t)}if(F(t,U))return!0;const n=c.trustedServers||[];for(let e=0;e-1===(e=t.indexOf(n,e))?t.length:e;let l=u(o,\"/\",o.indexOf(\"//\")+2),c=-1;for(;o.slice(0,l+1)===i.slice(0,l)+\"/\"&&(c=l+1,l!==o.length);)l=u(o,\"/\",l+1);if(-1===c)return t;if(s&&c0)for(let a=0;an?t.concat(n.split(\"/\")):t),[]);for(let n=0;n0&&\"..\"!==r[r.length-1]?r.pop():(!t&&n===o.length-1||t&&(\".\"!==t||0===r.length))&&r.push(t)}return r.join(\"/\")}function X(t,n=!1){if(null==t||Z(t)||tt(t))return null;let e=t.indexOf(\"://\");if(-1===e&&pt(t))e=2;else{if(-1===e)return null;e+=3}const r=t.indexOf(\"/\",e);return-1!==r&&(t=t.slice(0,r)),n&&(t=Ot(t,!0)),t}function Y(t){return pt(t)||ht(t)}function Z(t){return null!=t&&\"blob:\"===t.slice(0,5)}function tt(t){return null!=t&&\"data:\"===t.slice(0,5)}function nt(t){const n=ot(t);return n?.isBase64?s(n.data):null}function et(t){return u(t).replaceAll(\"+\",\"-\").replaceAll(\"/\",\"_\").replace(/=+$/,\"\")}const rt=/^data:(.*?)(;base64)?,(.*)$/;function ot(t){const n=t.match(rt);if(!n)return null;const[,e,r,o]=n;return{mediaType:e,isBase64:!!r,data:o}}function it(t){return t.isBase64?`data:${t.mediaType};base64,${t.data}`:`data:${t.mediaType},${t.data}`}async function st(t){return(await fetch(t)).blob()}function ut(t){const n=nt(t);if(!n)return null;const e=ot(t);return new Blob([n],{type:e.mediaType})}function lt(t,n){ft(t,n)}function ct(t,n){at(t,n)}function ft(t,n){const e=ut(t);return!!e&&at(e,n)}function at(t,n){if(!t)return!1;const e=document.createElement(\"a\");if(!(\"download\"in e))return!1;const r=URL.createObjectURL(t);return e.download=n,e.href=r,e.style.display=\"none\",document.body.appendChild(e),e.click(),document.body.removeChild(e),URL.revokeObjectURL(r),!0}function pt(t){return null!=t&&\"/\"===t[0]&&\"/\"===t[1]}function ht(t){return null!=t&&a.test(t)}function dt(t){return null!=t&&h.test(t)||\"https\"===U.scheme&&pt(t)}function mt(t){return null!=t&&p.test(t)||\"http\"===U.scheme&&pt(t)}function yt(t){return null!=t&&d.test(t)}function gt(t){return pt(t)?`http:${t}`:t.replace(h,\"http:\")}function $t(t){return pt(t)?`https:${t}`:t.replace(p,\"https:\")}function xt(){return\"http\"===U.scheme}function wt(){return\"https\"===U.scheme}function Ot(t,n=!1){return pt(t)?t.slice(2):(t=t.replace(a,\"\"),n&&t.length>1&&\"/\"===t[0]&&\"/\"===t[1]&&(t=t.slice(2)),t)}function Ut(t){const n=t.indexOf(\"//\"),e=t.indexOf(\"/\",n+2);return-1===e?t:t.slice(0,e)}function Rt(t){let n=0;if(Y(t)){const e=t.indexOf(\"//\");-1!==e&&(n=e+2)}const e=t.lastIndexOf(\"/\");return er===t||r.endsWith(`.${t}`)))||wt()&&!T(t))&&(t=$t(t)),t}function At(t,n,e){if(!(n&&e&&t&&Y(t)))return t;const r=t.indexOf(\"//\"),o=t.indexOf(\"/\",r+2),i=t.indexOf(\":\",r+2),s=Math.min(o<0?t.length:o,i<0?t.length:i);if(t.slice(r+2,s).toLowerCase()!==n.toLowerCase())return t;return`${t.slice(0,r+2)}${e}${t.slice(s)}`}function vt(t){return\"string\"==typeof t?new x(_(t)):(t.scheme||(t.scheme=U.scheme),t)}function Pt(t){return Nt.test(t)}function St(t,n){const e=I(t),r=Object.keys(e.query||{});return r.length>0&&n&&n.warn(\"removeQueryParameters()\",`Url query parameters are not supported, the following parameters have been removed: ${r.join(\", \")}.`),e.path}function kt(t,n,e){const r=I(t),o=r.query||{};return o[n]=String(e),`${r.path}?${v(o)}`}function Et(t,n){if(!n)return t;const e=I(t),r=e.query||{};for(const[i,s]of Object.entries(n))null!=s&&(r[i]=s);const o=v(r);return o?`${e.path}?${o}`:e.path}function Bt(t,n){const{path:e,query:r}=I(t);if(!r)return t;delete r[n];const o=v(r);return o?`${e}?${o}`:e}function Ht(t){if(null==t)return null;const n=t.match(Jt);return n?n[2]:null}function Tt(t){if(null==t)return null;const n=t.match(Jt);return n?{path:n[1],extension:n[2]}:{path:t,extension:null}}async function Wt(t){if(\"string\"==typeof t){return ot(t)??{data:t}}return new Promise(((n,e)=>{const r=new FileReader;r.readAsDataURL(t),r.onload=()=>n(ot(r.result)),r.onerror=t=>e(t)}))}const Jt=/([^.]*)\\.([^/]*)$/,Nt=/(^data:image\\/svg|\\.svg$)/i;export{x as Url,S as addProxy,H as addProxyRule,kt as addQueryParameter,Et as addQueryParameters,et as base64UrlEncode,st as blobUrlToBlob,At as changeDomain,ot as dataComponents,nt as dataToArrayBuffer,ut as dataToBlob,ct as downloadBlobAsFile,lt as downloadDataAsFile,Ct as ensureTrailingSlash,j as getAppBaseUrl,C as getAppUrl,qt as getFilename,D as getInterceptor,X as getOrigin,Ht as getPathExtension,T as getProxyRule,P as getProxyUrl,ht as hasProtocol,J as hasSameCanonicalArcGISOnlinePortal,W as hasSameCanonicalPortal,F as hasSameOrigin,N as hasSamePortal,Y as isAbsolute,wt as isAppHTTPS,Z as isBlobProtocol,tt as isDataProtocol,dt as isHTTPSProtocol,pt as isProtocolRelative,Pt as isSVG,M as isTrustedServer,V as join,_ as makeAbsolute,it as makeData,G as makeRelative,K as normalize,v as objectToQuery,Wt as parseData,A as queryToObject,Rt as removeFile,Bt as removeQueryParameter,St as removeQueryParameters,jt as removeTrailingSlash,Tt as splitPathExtension,L as test,gt as toHTTP,$t as toHTTPS,w as trustedServersUrlCache,I as urlToObject};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nconst t=\"randomUUID\"in crypto;function n(){if(t)return crypto.randomUUID();const n=crypto.getRandomValues(new Uint16Array(8));n[3]=4095&n[3]|16384,n[4]=16383&n[4]|32768;const r=t=>n[t].toString(16).padStart(4,\"0\");return r(0)+r(1)+\"-\"+r(2)+\"-\"+r(3)+\"-\"+r(4)+\"-\"+r(5)+r(6)+r(7)}function r(){return`{${n().toUpperCase()}}`}function o(){return`{${n()}}`}function e(t){const n=t.toUpperCase();return\"{\"!==t[0]?`{${n}}`:n}export{r as generateBracedUUID,o as generateLowercaseBracedUUID,n as generateUUID,e as normalizeGlobalID};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{handlesGroup as e}from\"../handleUtils.js\";import\"../has.js\";import{isPromiseLike as t,createAbortError as s,createResolver as i,throwIfAborted as n}from\"../promiseUtils.js\";import o from\"../Queue.js\";import{unregister as r}from\"./connectionRegistry.js\";import{createInvokeProxy as l}from\"./InvokeHandler.js\";import h from\"./RemoteClient.js\";class c{constructor(){this._inUseClients=new Array,this._clients=new Array,this._clientPromises=new Array,this._ongoingJobsQueue=new o}destroy(){this.close()}get closed(){return!this._clients?.length}open(e,s){return new Promise(((i,o)=>{let r=!0;const l=e=>{n(s.signal),r&&(r=!1,e())};this._clients.length=e.length,this._clientPromises.length=e.length,this._inUseClients.length=e.length;for(let n=0;n(this._clients[n]=new h(e,s,this._ongoingJobsQueue),l(i),this._clients[n])),(()=>(l(o),null))):(this._clients[n]=new h(r,s,this._ongoingJobsQueue),this._clientPromises[n]=Promise.resolve(this._clients[n]),l(i))}}))}broadcast(e,t,s){const i=new Array(this._clientPromises.length);for(let n=0;ni?.invoke(e,t,s)))}return i}close(){let e;for(;e=this._ongoingJobsQueue.pop();)e.resolver.reject(s(`Worker closing, aborting job calling '${e.methodName}'`));for(const t of this._clientPromises)t.then((e=>e?.close()));this._clients.length=0,this._clientPromises.length=0,this._inUseClients.length=0,r(this)}invoke(e,t,s){return this.apply(e,[t],s)}apply(e,t,s){const n=i();this._ongoingJobsQueue.push({methodName:e,data:t,invokeOptions:s,resolver:n});for(let i=0;ie?.jobAdded()))}return n.promise}createInvokeProxy(e){return l(this,e)}on(t,s){return Promise.all(this._clientPromises).then((()=>e(this._clients.map((e=>e.on(t,s))))))}openPorts(){return new Promise((e=>{const t=new Array(this._clientPromises.length);let s=t.length;for(let i=0;i{n&&(t[i]=n.openPort()),0==--s&&e(t)}))}}))}get test(){}}export{c as default};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nfunction t(t,r){return new Proxy({},{get:(e,i,s)=>(...e)=>{let s,o;const a=e[e.length-1];n(a)&&(s=a.signal,o=a.transferList,e.pop());return t.apply(r?`${r}.${i.toString()}`:i.toString(),e,{transferList:o,signal:s})}})}function n(t){return\"object\"==typeof t&&!Array.isArray(t)&&null!=t&&(\"signal\"in t||\"transferList\"in t||0===Object.keys(t).length)}export{t as createInvokeProxy};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{fullVersion as e}from\"../../kernel.js\";import s from\"../Error.js\";import{on as t}from\"../events.js\";import{makeHandle as o}from\"../handleUtils.js\";import{removeMaybe as n}from\"../maybe.js\";import{isAborted as r,createAbortError as i,onAbort as l,isPromiseLike as a,isAbortError as h}from\"../promiseUtils.js\";import{createInvokeProxy as c}from\"./InvokeHandler.js\";import{registry as p}from\"./registry.js\";import{portClosedErrorName as _,newJobId as u,MessageType as d,receiveMessage as b,toInvokeError as m,postMessage as g}from\"./utils.js\";import{buildDate as f,commitHash as v}from\"../../support/revision.js\";const{CLOSE:M,ABORT:k,INVOKE:j,RESPONSE:y,OPEN_PORT:I,ON:J}=d,w=2;class O{constructor(e){this._invoke=e,this._timer=null,this._cancelledJobIds=new Set,this._invokeMessages=[],this._timer=null,this._process=this._process.bind(this)}push(e){e.type===d.ABORT?this._cancelledJobIds.add(e.jobId):(this._invokeMessages.push(e),null===this._timer&&(this._timer=setTimeout(this._process,0)))}clear(){this._invokeMessages.length=0,this._cancelledJobIds.clear(),this._timer=null}_process(){this._timer=null;for(const e of this._invokeMessages)this._cancelledJobIds.has(e.jobId)||this._invoke(e);this._cancelledJobIds.clear(),this._invokeMessages.length=0}}class E{static connect(e,s){const t=new MessageChannel;let o;o=\"function\"==typeof e?new e:\"default\"in e&&\"function\"==typeof e.default?new e.default:e;const n=new E(t.port1,{channel:t,client:o,schedule:s});return\"object\"==typeof o&&\"remoteClient\"in o&&(o.remoteClient=n),E.clients.set(n,o),t.port2}static loadWorker(e){const s=p[e];return s?s():Promise.resolve(null)}constructor(e,s,t){this._port=e,this._jobQueue=t,this._outJobs=new Map,this._inJobs=new Map,this._invokeQueue=new O((e=>this._onInvokeMessage(e))),this._client=s.client,this._onMessage=this._onMessage.bind(this),this._channel=s.channel,this._schedule=s.schedule,this._port.addEventListener(\"message\",this._onMessage),this._port.start()}close(){this._post({type:M}),this._close()}isBusy(){return this._outJobs.size>0}invoke(e,s,t){return this.apply(e,[s],t)}apply(e,t,o){const a=o?.signal,h=o?.transferList;if(!this._port)return Promise.reject(new s(_,`Cannot call invoke('${e}'), port is closed`,{methodName:e,data:t}));const c=u();return new Promise(((s,o)=>{if(r(a))return this._processWork(),void o(i());const p=l(a,(()=>{const e=this._outJobs.get(c);e&&(this._outJobs.delete(c),this._processWork(),n(e.abortHandle),this._post({type:k,jobId:c}),o(i()))})),_={resolve:s,reject:o,abortHandle:p,debugInfo:e};this._outJobs.set(c,_),this._post({type:j,jobId:c,methodName:e,abortable:null!=a},t,h)}))}createInvokeProxy(e){return c(this,e)}on(e,s){const t=new MessageChannel;function n(e){s(e.data)}return this._port.postMessage({type:d.ON,eventType:e,port:t.port2},[t.port2]),t.port1.addEventListener(\"message\",n),t.port1.start(),o((()=>{t.port1.postMessage({type:d.CLOSE}),t.port1.close(),t.port1.removeEventListener(\"message\",n)}))}jobAdded(){this._processWork()}openPort(){const e=new MessageChannel;return this._post({type:I,port:e.port2}),e.port1}_processWork(){if(this._outJobs.size>=w)return;const e=this._jobQueue?.pop();if(!e)return;const{methodName:s,data:t,invokeOptions:o,resolver:n}=e;this.apply(s,t,o).then((e=>n.resolve(e))).catch((e=>n.reject(e)))}_close(){this._channel&&(this._channel=void 0),this._port.removeEventListener(\"message\",this._onMessage),this._port.close(),this._outJobs.forEach((e=>{n(e.abortHandle),e.reject(i(`Worker closing, aborting job calling '${e.debugInfo}'`))})),this._inJobs.clear(),this._outJobs.clear(),this._invokeQueue.clear(),this._port=null,this._client=null,this._schedule=null}_onMessage(e){null!=this._schedule?this._schedule((()=>this._processMessage(e,!0))):this._processMessage(e,!1)}_processMessage(e,s){const t=b(e);if(t)switch(t.type){case y:this._onResponseMessage(t);break;case j:s?this._onInvokeMessage(t):this._invokeQueue.push(t);break;case k:this._onAbortMessage(t);break;case M:this._onCloseMessage();break;case I:this._onOpenPortMessage(t);break;case J:this._onOnMessage(t)}}_onAbortMessage(e){const s=this._inJobs,t=e.jobId,o=s.get(t);this._invokeQueue.push(e),o&&(o.controller&&o.controller.abort(),s.delete(t))}_onCloseMessage(){const e=this._client;this._close(),e&&\"destroy\"in e&&E.clients.get(this)===e&&e.destroy(),E.clients.delete(this),e?.remoteClient&&(e.remoteClient=null)}_onInvokeMessage(e){const{methodName:s,jobId:t,data:o=[],abortable:n}=e,r=n?new AbortController:null,i=this._inJobs;let l,c=this._client,p=c[s];try{if(!p&&s&&s.includes(\".\")){const e=s.split(\".\");for(let s=0;s{i.has(t)&&(i.delete(t),this._post({type:y,jobId:t},e))}),(e=>{i.has(t)&&(i.delete(t),h(e)||this._post({type:y,jobId:t,error:m(e||{message:`Error encountered at method ${s}`})}))}))):this._post({type:y,jobId:t},l)}_onOpenPortMessage(e){new E(e.port,{client:this._client})}_onOnMessage(e){const{port:s}=e,o=this._client.on(e.eventType,(e=>{s.postMessage(e)})),n=t(e.port,\"message\",(e=>{const t=b(e);t?.type===d.CLOSE&&(n.remove(),o.remove(),s.close())}))}_onResponseMessage(e){const{jobId:t,error:o,data:r}=e,i=this._outJobs;if(!i.has(t))return;const l=i.get(t);i.delete(t),this._processWork(),n(l.abortHandle),o?l.reject(s.fromJSON(JSON.parse(o))):l.resolve(r)}_post(e,s,t){return g(this._port,e,s,t)}}E.kernelInfo={buildDate:f,fullVersion:e,revision:v},E.clients=new Map;export{E as default};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{nextTick as e}from\"../nextTick.js\";import s from\"./RemoteClient.js\";import{MessageType as r,receiveMessage as t}from\"./utils.js\";class n{constructor(){const e=document.createDocumentFragment();[\"addEventListener\",\"dispatchEvent\",\"removeEventListener\"].forEach((s=>{this[s]=(...r)=>e[s](...r)}))}}class a{constructor(){this._dispatcher=new n,this._workerPostMessage({type:r.HANDSHAKE})}terminate(){}get onmessage(){return this._onmessageHandler}set onmessage(e){this._onmessageHandler&&this.removeEventListener(\"message\",this._onmessageHandler),this._onmessageHandler=e,e&&this.addEventListener(\"message\",e)}get onmessageerror(){return this._onmessageerrorHandler}set onmessageerror(e){this._onmessageerrorHandler&&this.removeEventListener(\"messageerror\",this._onmessageerrorHandler),this._onmessageerrorHandler=e,e&&this.addEventListener(\"messageerror\",e)}get onerror(){return this._onerrorHandler}set onerror(e){this._onerrorHandler&&this.removeEventListener(\"error\",this._onerrorHandler),this._onerrorHandler=e,e&&this.addEventListener(\"error\",e)}postMessage(s){e((()=>{this._workerMessageHandler(new MessageEvent(\"message\",{data:s}))}))}dispatchEvent(e){return this._dispatcher.dispatchEvent(e)}addEventListener(e,s,r){this._dispatcher.addEventListener(e,s,r)}removeEventListener(e,s,r){this._dispatcher.removeEventListener(e,s,r)}_workerPostMessage(s){e((()=>{this.dispatchEvent(new MessageEvent(\"message\",{data:s}))}))}async _workerMessageHandler(e){const n=t(e);if(n&&n.type===r.OPEN){const{modulePath:e,jobId:t}=n;let a=await s.loadWorker(e);a||(a=await import(/* @vite-ignore */ /* webpackIgnore: true */e));const o=s.connect(a);this._workerPostMessage({type:r.OPENED,jobId:t,data:o})}}}export{a as default};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport e from\"../Error.js\";import t from\"../Logger.js\";import{removeMaybe as o}from\"../maybe.js\";import{onAbortOrThrow as s,isPromiseLike as r,isAbortError as n}from\"../promiseUtils.js\";import{staticWorkerMessages as a}from\"./staticWorkerMessages.js\";import{newJobId as i,receiveMessage as l,toInvokeError as d,postMessage as c,MessageType as h}from\"./utils.js\";import{createWorker as p}from\"./workerFactory.js\";const{ABORT:b,INVOKE:m,OPEN:_,OPENED:g,RESPONSE:u}=h;class j{static async create(e){const t=await p();return new j(t,e)}constructor(e,o){this._outJobs=new Map,this._inJobs=new Map,this.worker=e,this.id=o,e.addEventListener(\"message\",this._onMessage.bind(this)),e.addEventListener(\"error\",(e=>{e.preventDefault(),t.getLogger(\"esri.core.workers.WorkerOwner\").error(e)}))}terminate(){this.worker.terminate()}async open(e,t={}){const{signal:o}=t,r=i();return new Promise(((t,n)=>{const a={resolve:t,reject:n,abortHandle:s(o,(()=>{this._outJobs.delete(r),this._post({type:b,jobId:r})}))};this._outJobs.set(r,a),this._post({type:_,jobId:r,modulePath:e})}))}_onMessage(e){const t=l(e);if(t)switch(t.type){case g:this._onOpenedMessage(t);break;case u:this._onResponseMessage(t);break;case b:this._onAbortMessage(t);break;case m:this._onInvokeMessage(t)}}_onAbortMessage(e){const t=this._inJobs,o=e.jobId,s=t.get(o);s&&(s.controller&&s.controller.abort(),t.delete(o))}_onInvokeMessage(e){const{methodName:t,jobId:o,data:s,abortable:i}=e,l=i?new AbortController:null,c=this._inJobs,h=a[t];let p;try{if(\"function\"!=typeof h)throw new TypeError(`${t} is not a function`);p=h.call(null,s,{signal:l?l.signal:null})}catch(b){return void this._post({type:u,jobId:o,error:d(b)})}r(p)?(c.set(o,{controller:l,promise:p}),p.then((e=>{c.has(o)&&(c.delete(o),this._post({type:u,jobId:o},e))}),(e=>{c.has(o)&&(c.delete(o),e||(e={message:\"Error encountered at method\"+t}),n(e)||this._post({type:u,jobId:o,error:d(e||{message:`Error encountered at method ${t}`})}))}))):this._post({type:u,jobId:o},p)}_onOpenedMessage(e){const{jobId:t,data:s}=e,r=this._outJobs.get(t);r&&(this._outJobs.delete(t),o(r.abortHandle),r.resolve(s))}_onResponseMessage(t){const{jobId:s,error:r,data:n}=t,a=this._outJobs.get(s);a&&(this._outJobs.delete(s),o(a.abortHandle),r?a.reject(e.fromJSON(JSON.parse(r))):a.resolve(n))}_post(e,t,o){return c(this.worker,e,t,o)}}export{j as default};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nconst n=new FinalizationRegistry((n=>{n.close()}));function e(e,i){n.register(e,i,i)}function i(e){n.unregister(e)}export{e as register,i as unregister};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport\"../../config.js\";import\"../../request.js\";import\"../Error.js\";import\"../Logger.js\";import\"../urlUtils.js\";import\"../has.js\";let s=null;const a={};function r(s){const r={async:s.async,isDebug:s.isDebug,locale:s.locale,baseUrl:s.baseUrl,has:{...s.has},map:{...s.map},packages:s.packages?.slice()||[],paths:{...a.paths,...s.paths}};return s.hasOwnProperty(\"async\")||(r.async=!0),s.hasOwnProperty(\"isDebug\")||(r.isDebug=!1),s.baseUrl||(r.baseUrl=a.baseUrl),r}export{s as defaultLoaderUrl,r as loaderConfig};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nconst e={statsWorker:()=>import(\"../../smartMapping/statistics/support/statsWorker.js\"),geometryEngineWorker:()=>import(\"../../geometry/geometryEngineWorker.js\"),CSVSourceWorker:()=>import(\"../../layers/graphics/sources/support/CSVSourceWorker.js\"),EdgeProcessingWorker:()=>import(\"../../views/3d/webgl-engine/lib/edgeRendering/EdgeProcessingWorker.js\"),ElevationSamplerWorker:()=>import(\"../../geometry/support/meshUtils/ElevationSamplerWorker.js\"),FeatureServiceSnappingSourceWorker:()=>import(\"../../views/interactive/snapping/featureSources/featureServiceSource/FeatureServiceSnappingSourceWorker.js\"),GeoJSONSourceWorker:()=>import(\"../../layers/graphics/sources/geojson/GeoJSONSourceWorker.js\"),LercWorker:()=>import(\"../../layers/support/LercWorker.js\"),MemorySourceWorker:()=>import(\"../../layers/graphics/sources/support/MemorySourceWorker.js\"),PBFDecoderWorker:()=>import(\"../../views/3d/support/PBFDecoderWorker.js\"),FeaturePipelineWorker:()=>import(\"../../views/2d/layers/features/FeaturePipelineWorker.js\"),PointCloudWorker:()=>import(\"../../views/3d/layers/PointCloudWorker.js\"),RasterWorker:()=>import(\"../../layers/support/RasterWorker.js\"),SceneLayerSnappingSourceWorker:()=>import(\"../../views/interactive/snapping/featureSources/sceneLayerSource/SceneLayerSnappingSourceWorker.js\"),SceneLayerWorker:()=>import(\"../../views/3d/layers/SceneLayerWorker.js\"),WFSSourceWorker:()=>import(\"../../layers/graphics/sources/WFSSourceWorker.js\"),WorkerTileHandler:()=>import(\"../../views/2d/engine/vectorTiles/WorkerTileHandler.js\"),Lyr3DWorker:()=>import(\"../../views/3d/layers/Lyr3DWorker.js\"),Feature3DPipelineWorker:()=>import(\"../../views/3d/layers/graphics/pipeline/Feature3DPipelineWorker.js\")};export{e as registry};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport e from\"../../request.js\";import{getInterceptor as t}from\"../urlUtils.js\";const a={async request(a,s){const r=a.options,n=r.responseType;r.signal=s?.signal,r.responseType=\"native\"===n||\"native-request-init\"===n?\"native-request-init\":n&&[\"blob\",\"json\",\"text\"].includes(n)&&t(a.url)?.after?n:\"array-buffer\";const i=await e(a.url,r),o={data:i.data,httpStatus:i.httpStatus,ssl:i.ssl};switch(i.requestOptions?.responseType){case\"native-request-init\":return delete o.data.signal,o;case\"blob\":o.data=await o.data.arrayBuffer();break;case\"json\":o.data=(new TextEncoder).encode(JSON.stringify(o.data)).buffer;break;case\"text\":o.data=(new TextEncoder).encode(o.data).buffer}return{result:o,transferList:[o.data]}}};export{a as staticWorkerMessages};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport has from\"../has.js\";import{isAbortError as t}from\"../promiseUtils.js\";const r=\"worker:port-closed\";var e;!function(t){t[t.HANDSHAKE=0]=\"HANDSHAKE\",t[t.OPEN=1]=\"OPEN\",t[t.OPENED=2]=\"OPENED\",t[t.RESPONSE=3]=\"RESPONSE\",t[t.INVOKE=4]=\"INVOKE\",t[t.ABORT=5]=\"ABORT\",t[t.CLOSE=6]=\"CLOSE\",t[t.OPEN_PORT=7]=\"OPEN_PORT\",t[t.ON=8]=\"ON\"}(e||(e={}));let n=0;function s(){return n++}function o(t){return t&&\"object\"==typeof t&&(\"result\"in t||\"transferList\"in t)}function i(t){return t?\"string\"==typeof t?JSON.stringify({name:\"message\",message:t}):t.toJSON?JSON.stringify(t):JSON.stringify({name:t.name,message:t.message,details:t.details||{stack:t.stack}}):null}function a(t,r,n,s){if(r.type===e.OPEN_PORT)return void t.postMessage(r,[r.port]);if(r.type!==e.INVOKE&&r.type!==e.RESPONSE)return void t.postMessage(r);let f;if(o(n)?(f=u(n.transferList),r.data=n.result):(f=u(s),r.data=n),f){if(has(\"ff\"))for(const n of f)if(\"byteLength\"in n&&n.byteLength>267386880){const n=\"Worker call with large ArrayBuffer would crash Firefox\";switch(r.type){case e.INVOKE:throw n;case e.RESPONSE:return void a(t,{type:e.RESPONSE,jobId:r.jobId,error:i(n)})}}t.postMessage(r,f)}else t.postMessage(r)}function f(t){if(!t)return null;const r=t.data;return r?\"string\"==typeof r?JSON.parse(r):r:null}function u(t){if(!t?.length)return null;if(has(\"esri-workers-arraybuffer-transfer\"))return t;const r=t.filter((t=>!c(t)));return r.length?r:null}function c(t){return t instanceof ArrayBuffer||\"ArrayBuffer\"===t?.constructor?.name}async function O(e){try{return await e}catch(n){const e=n?.name===r;if(!(t(n)||e))throw n;return}}export{e as MessageType,O as ignoreConnectionErrors,o as isTransferrableResult,s as newJobId,r as portClosedErrorName,a as postMessage,f as receiveMessage,i as toInvokeError};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{getAssetUrl as e}from\"../../assets.js\";import r from\"../../config.js\";import\"../../intl.js\";import{fullVersion as t}from\"../../kernel.js\";import has from\"../has.js\";import o from\"../Logger.js\";import{makeAbsolute as s}from\"../urlUtils.js\";import{loaderConfig as n}from\"./loaderConfig.js\";import{receiveMessage as a,MessageType as i}from\"./utils.js\";import l from\"./WorkerFallback.js\";import{getLocale as f}from\"../../intl/locale.js\";import{buildDate as u,commitHash as c}from\"../../support/revision.js\";const d=()=>o.getLogger(\"esri.core.workers.workerFactory\"),{HANDSHAKE:m}=i,p='let globalId=0;const outgoing=new Map,configuration={CONFIGURATION};self.esriConfig=configuration.esriConfig;const workerPath=self.esriConfig.workers.workerPath,HANDSHAKE=0,OPEN=1,OPENED=2,RESPONSE=3,INVOKE=4,ABORT=5;function createAbortError(){const e=new Error(\"Aborted\");return e.name=\"AbortError\",e}function receiveMessage(e){return e&&e.data?\"string\"==typeof e.data?JSON.parse(e.data):e.data:null}function invokeStaticMessage(e,o,r){const t=r&&r.signal,n=globalId++;let s=null;return new Promise(((r,i)=>{if(t){if(t.aborted)return i(createAbortError());s=()=>{outgoing.get(n)&&(outgoing.delete(n),self.postMessage({type:5,jobId:n}),i(createAbortError()))},t.addEventListener(\"abort\",s)}outgoing.set(n,{resolve:r,reject:i}),self.postMessage({type:4,jobId:n,methodName:e,abortable:null!=t,data:o})})).finally((()=>{t&&t.removeEventListener(\"abort\",s)}))}let workerRevisionChecked=!1;function checkWorkerRevision(e){if(!workerRevisionChecked&&e.kernelInfo){workerRevisionChecked=!0;const{revision:o,fullVersion:r}=configuration.kernelInfo,{revision:t,fullVersion:n,version:s}=e.kernelInfo;esriConfig.assetsPath!==esriConfig.defaultAssetsPath&&o!==t&&console.warn(`Version mismatch detected between ArcGIS Maps SDK for JavaScript modules and assets. For more information visit https://bit.ly/3QnsuSo.\\nModules version: ${r}\\nAssets version: ${n??s}\\nAssets path: ${esriConfig.assetsPath}`)}}function messageHandler(e){const o=receiveMessage(e);if(!o)return;const r=o.jobId;switch(o.type){case 1:let n;function t(e){const o=n.connect(e);self.postMessage({type:2,jobId:r,data:o},[o])}\"function\"==typeof define&&define.amd?require([workerPath],(e=>{n=e.default||e,checkWorkerRevision(n),n.loadWorker(o.modulePath).then((e=>e||new Promise((e=>{require([o.modulePath],e)})))).then(t)})):\"System\"in self&&\"function\"==typeof System.import?System.import(workerPath).then((e=>(n=e.default,checkWorkerRevision(n),n.loadWorker(o.modulePath)))).then((e=>e||System.import(o.modulePath))).then(t):esriConfig.workers.useDynamicImport?import(workerPath).then((e=>{n=e.default||e,checkWorkerRevision(n),n.loadWorker(o.modulePath).then((e=>e||import(o.modulePath))).then(t)})):(self.RemoteClient||importScripts(workerPath),n=self.RemoteClient.default||self.RemoteClient,checkWorkerRevision(n),n.loadWorker(o.modulePath).then(t));break;case 3:if(outgoing.has(r)){const s=outgoing.get(r);outgoing.delete(r),o.error?s.reject(JSON.parse(o.error)):s.resolve(o.data)}}}self.dojoConfig=configuration.loaderConfig,esriConfig.workers.loaderUrl&&(self.importScripts(esriConfig.workers.loaderUrl),\"function\"==typeof require&&\"function\"==typeof require.config&&require.config(configuration.loaderConfig)),self.addEventListener(\"message\",messageHandler),self.postMessage({type:0});';let g,h;const k=\"Failed to create Worker. Fallback to execute module in main thread\";async function y(){if(!has(\"esri-workers\"))return w(new l);if(!g&&!h)try{const e=p.split(\"{CONFIGURATION}\").join(b());g=URL.createObjectURL(new Blob([e],{type:\"text/javascript\"}))}catch(r){h=r||{}}let e;if(g)try{e=new Worker(g,{name:\"esri-worker-\"+v++})}catch(r){d().warn(k,h),e=new l}else d().warn(k,h),e=new l;return w(e)}async function w(e){return new Promise((r=>{function t(s){const n=a(s);n&&n.type===m&&(e.removeEventListener(\"message\",t),e.removeEventListener(\"error\",o),r(e))}function o(r){r.preventDefault(),e.removeEventListener(\"message\",t),e.removeEventListener(\"error\",o),d().warn(\"Failed to create Worker. Fallback to execute module in main thread\",r),(e=new l).addEventListener(\"message\",t),e.addEventListener(\"error\",o)}e.addEventListener(\"message\",t),e.addEventListener(\"error\",o)}))}function b(){let o;if(null!=r.default){const e={...r};delete e.default,o=JSON.parse(JSON.stringify(e))}else o=JSON.parse(JSON.stringify(r));o.assetsPath=s(o.assetsPath),o.defaultAssetsPath=o.defaultAssetsPath?s(o.defaultAssetsPath):void 0,o.request.interceptors=[],o.log.interceptors=[],o.locale=f(),o.has={\"esri-csp-restrictions\":has(\"esri-csp-restrictions\"),\"esri-2d-debug\":!1,\"esri-2d-update-debug\":has(\"esri-2d-update-debug\"),\"esri-2d-log-updating\":has(\"esri-2d-log-updating\"),\"featurelayer-pbf\":has(\"featurelayer-pbf\"),\"featurelayer-fast-triangulation-enabled\":has(\"featurelayer-fast-triangulation-enabled\"),\"featurelayer-simplify-thresholds\":has(\"featurelayer-simplify-thresholds\"),\"featurelayer-simplify-payload-size-factors\":has(\"featurelayer-simplify-payload-size-factors\"),\"featurelayer-simplify-mobile-factor\":has(\"featurelayer-simplify-mobile-factor\"),\"featurelayer-query-max-depth\":has(\"featurelayer-query-max-depth\"),\"featurelayer-query-pausing-enabled\":has(\"featurelayer-query-pausing-enabled\"),\"featurelayer-snapshot-enabled\":has(\"featurelayer-snapshot-enabled\"),\"esri-atomics\":has(\"esri-atomics\"),\"esri-shared-array-buffer\":has(\"esri-shared-array-buffer\"),\"esri-tiles-debug\":has(\"esri-tiles-debug\"),\"esri-workers-arraybuffer-transfer\":has(\"esri-workers-arraybuffer-transfer\"),\"feature-polyline-generalization-factor\":has(\"feature-polyline-generalization-factor\"),\"host-webworker\":1},o.workers.loaderUrl&&(o.workers.loaderUrl=s(o.workers.loaderUrl)),o.workers.workerPath?o.workers.workerPath=s(o.workers.workerPath):o.workers.workerPath=s(e(\"esri/core/workers/RemoteClient.js\")),o.workers.useDynamicImport=!1;const a=r.workers.loaderConfig,i=n({baseUrl:a?.baseUrl,locale:f(),has:{\"csp-restrictions\":1,\"dojo-test-sniff\":0,\"host-webworker\":1,...a?.has},map:{...a?.map},paths:{...a?.paths},packages:a?.packages||[]}),l={buildDate:u,fullVersion:t,revision:c};return JSON.stringify({esriConfig:o,loaderConfig:i,kernelInfo:l})}let v=0;export{y as createWorker};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport r from\"../Error.js\";import has from\"../has.js\";import{throwIfAborted as t}from\"../promiseUtils.js\";import e from\"./Connection.js\";import{register as o}from\"./connectionRegistry.js\";import n from\"./RemoteClient.js\";import i from\"./WorkerOwner.js\";const s=has(\"host-browser\")?Math.min(navigator.hardwareConcurrency-1,has(\"workers-pool-size\")??8):0;let a=has(\"esri-mobile\")?Math.min(s,3):s;a||(a=has(\"safari\")&&has(\"mac\")?7:2);let c=0;const l=[];function m(){g()}function u(r,t){return f(r,{client:t})}async function f(r,t){const n=new e,{registryTarget:i,...s}=t;return await n.open(r,s),i&&o(i,n),n}async function p(e,o={}){if(\"string\"!=typeof e)throw new r(\"workers:undefined-module\",\"modulePath is missing\");let i=o.strategy||\"distributed\";if(has(\"host-webworker\")&&!has(\"esri-workers\")&&(i=\"local\"),\"local\"===i){let r=await n.loadWorker(e);r||(r=await import(/* @vite-ignore */ /* webpackIgnore: true */e)),t(o.signal);const i=o.client||r;return f([n.connect(r,o.schedule)],{...o,client:i})}if(await g(),t(o.signal),\"dedicated\"===i){const r=c++%a;return f([await l[r].open(e,o)],o)}if(o.maxNumWorkers&&o.maxNumWorkers>0){const r=Math.min(o.maxNumWorkers,a);if(rr.open(e,o))),o)}function w(){d&&(h.abort(),d=null);for(let r=0;r(l[t]=r,r)));r.push(e)}return d=Promise.all(r),d}export{e as Connection,n as RemoteClient,m as initialize,p as open,u as openWithPorts,w as terminate};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{_ as e}from\"../chunks/tslib.es6.js\";import{JSONSupport as r}from\"../core/JSONSupport.js\";import{property as t}from\"../core/accessorSupport/decorators/property.js\";import\"../core/has.js\";import\"../core/Logger.js\";import\"../core/RandomLCG.js\";import{subclass as o}from\"../core/accessorSupport/decorators/subclass.js\";var s;let i=s=class extends r{constructor(e){super(e),this.expression=null,this.name=null,this.returnType=\"boolean\",this.title=null}clone(){return new s({name:this.name,title:this.title,expression:this.expression,returnType:this.returnType})}};e([t({type:String,json:{write:!0}})],i.prototype,\"expression\",void 0),e([t({type:String,json:{write:!0}})],i.prototype,\"name\",void 0),e([t({type:[\"boolean\",\"date\",\"number\",\"string\"],json:{write:!0}})],i.prototype,\"returnType\",void 0),e([t({type:String,json:{write:!0}})],i.prototype,\"title\",void 0),i=s=e([o(\"esri.form.ExpressionInfo\")],i);const p=i;export{p as default};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{_ as e}from\"../chunks/tslib.es6.js\";import{JSONSupport as s}from\"../core/JSONSupport.js\";import{clone as t}from\"../core/lang.js\";import{addMaybe as r,addMany as o}from\"../core/SetUtils.js\";import{property as i}from\"../core/accessorSupport/decorators/property.js\";import{cast as n}from\"../core/accessorSupport/decorators/cast.js\";import{reader as p}from\"../core/accessorSupport/decorators/reader.js\";import{subclass as l}from\"../core/accessorSupport/decorators/subclass.js\";import{writer as m}from\"../core/accessorSupport/decorators/writer.js\";import c from\"./ExpressionInfo.js\";import a from\"./elements/GroupElement.js\";import{ensureType as f,fromJSON as d,toJSON as u,buildTypeMaps as h}from\"./support/elements.js\";import{isTextElement as y,isGroupElement as j,isFieldElement as x}from\"./support/formUtils.js\";import{collectArcadeFieldNames as E,collectField as w,collectFields as v,extractSubstitutionTemplatesFromString as S}from\"../layers/support/fieldUtils.js\";var I;const b=h(a);let F=I=class extends s{constructor(e){super(e),this.description=null,this.elements=null,this.expressionInfos=null,this.preserveFieldValuesWhenHidden=!1,this.title=null}castElements(e){return f(e,b)}readElements(e,s){return d(s.formElements,b)}writeElements(e,s){s.formElements=u(e,b)}clone(){return new I({description:this.description,expressionInfos:t(this.expressionInfos),elements:t(this.elements),title:this.title,preserveFieldValuesWhenHidden:this.preserveFieldValuesWhenHidden})}async getFieldsUsed(e,s){const t=new Set,{description:r,elements:o,expressionInfos:i,title:n}=this;if(U(t,e,r),U(t,e,n),!o)return[];const p=k(o,i).map((s=>E(t,e,s)));await Promise.all(p);for(const l of o)g(t,{fieldsIndex:e,relationships:s},l);return Array.from(t).sort()}};function g(e,s,t){const{fieldsIndex:r}=s;if(!r||r.fields.length!==e.size)switch(U(e,r,t.label),U(e,r,t.description),t.type){case\"field\":w(e,r,t.fieldName);break;case\"group\":t.elements.forEach((t=>g(e,s,t)));break;case\"relationship\":if(s.relationships){const o=s.relationships.find((e=>e.id===t.relationshipId));o&&w(e,r,o.keyField)}v(e,r,t.orderByFields?.map((e=>e.field)));break;case\"text\":U(e,r,t.text)}}function k(e,s){if(!s||0===s.length)return[];const t=H(e),r=[];for(const o of s)t.has(o.name)&&r.push(o.expression);return r}function H(e){const s=new Set;for(const t of e)if(r(s,t.visibilityExpression),!y(t))if(j(t))o(s,H(t.elements));else if(r(s,t.editableExpression),x(t)){const{requiredExpression:e,valueExpression:r}=t;o(s,[e,r])}return s}function U(e,s,t){v(e,s,S(t))}e([i({type:String,json:{write:!0}})],F.prototype,\"description\",void 0),e([i({json:{write:!0}})],F.prototype,\"elements\",void 0),e([n(\"elements\")],F.prototype,\"castElements\",null),e([p(\"elements\",[\"formElements\"])],F.prototype,\"readElements\",null),e([m(\"elements\")],F.prototype,\"writeElements\",null),e([i({type:[c],json:{write:!0}})],F.prototype,\"expressionInfos\",void 0),e([i({type:Boolean,json:{default:!1,write:!0}})],F.prototype,\"preserveFieldValuesWhenHidden\",void 0),e([i({type:String,json:{write:!0}})],F.prototype,\"title\",void 0),F=I=e([l(\"esri.form.FormTemplate\")],F);const V=F;export{V as default};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{_ as t}from\"../../chunks/tslib.es6.js\";import{property as e}from\"../../core/accessorSupport/decorators/property.js\";import\"../../core/has.js\";import\"../../core/Logger.js\";import\"../../core/RandomLCG.js\";import{subclass as i}from\"../../core/accessorSupport/decorators/subclass.js\";import o from\"./Element.js\";import s from\"./inputs/attachments/AttachmentInput.js\";import{buildTypeMaps as n}from\"./inputs/attachments/support/inputs.js\";var r;const a=n(s);let p=r=class extends o{constructor(t){super(t),this.allowUserRename=!0,this.attachmentKeyword=null,this.displayFilename=!1,this.editableExpression=null,this.filenameExpression=\"{attachmentKeyword}_{now}\",this.input=null,this.maxAttachmentCount=null,this.minAttachmentCount=null,this.type=\"attachment\",this.useOriginalFilename=!0}clone(){return new r({allowUserRename:this.allowUserRename,attachmentKeyword:this.attachmentKeyword,description:this.description,displayFilename:this.displayFilename,editableExpression:this.editableExpression,filenameExpression:this.filenameExpression,input:this.input?.clone(),label:this.label,maxAttachmentCount:this.maxAttachmentCount,minAttachmentCount:this.minAttachmentCount,useOriginalFilename:this.useOriginalFilename,visibilityExpression:this.visibilityExpression})}};t([e({type:Boolean,json:{write:!0}})],p.prototype,\"allowUserRename\",void 0),t([e({type:String,json:{write:{isRequired:!0}}})],p.prototype,\"attachmentKeyword\",void 0),t([e({type:Boolean,json:{write:!0}})],p.prototype,\"displayFilename\",void 0),t([e({type:String,json:{write:!0}})],p.prototype,\"editableExpression\",void 0),t([e({type:String,json:{write:!0}})],p.prototype,\"filenameExpression\",void 0),t([e({types:a.allTypes,json:{read:{source:\"inputType\"},write:{target:\"inputType\",isRequired:!0}}})],p.prototype,\"input\",void 0),t([e({type:Number,json:{write:!0}})],p.prototype,\"maxAttachmentCount\",void 0),t([e({type:Number,json:{write:!0}})],p.prototype,\"minAttachmentCount\",void 0),t([e({type:[\"attachment\"],readOnly:!0,json:{read:!1,write:!0}})],p.prototype,\"type\",void 0),t([e({type:Boolean,json:{write:!0}})],p.prototype,\"useOriginalFilename\",void 0),p=r=t([i(\"esri.form.elements.AttachmentElement\")],p);const m=p;export{m as default};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{_ as t}from\"../../chunks/tslib.es6.js\";import{JSONSupport as o}from\"../../core/JSONSupport.js\";import{property as r}from\"../../core/accessorSupport/decorators/property.js\";import{subclass as s}from\"../../core/accessorSupport/decorators/subclass.js\";let e=class extends o{constructor(t){super(t),this.description=null,this.label=null,this.type=null,this.visibilityExpression=null}};t([r({type:String,json:{write:!0}})],e.prototype,\"description\",void 0),t([r({type:String,json:{write:!0}})],e.prototype,\"label\",void 0),t([r()],e.prototype,\"type\",void 0),t([r({type:String,json:{write:!0}})],e.prototype,\"visibilityExpression\",void 0),e=t([s(\"esri.form.elements.Element\")],e);const i=e;export{i as default};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{_ as e}from\"../../chunks/tslib.es6.js\";import{property as t}from\"../../core/accessorSupport/decorators/property.js\";import\"../../core/has.js\";import\"../../core/Logger.js\";import\"../../core/RandomLCG.js\";import{subclass as i}from\"../../core/accessorSupport/decorators/subclass.js\";import s from\"./Element.js\";import{types as o}from\"./support/inputs.js\";import{types as r,fromJSON as p}from\"../../layers/support/domains.js\";var n;let l=n=class extends s{constructor(e){super(e),this.domain=null,this.editable=null,this.editableExpression=null,this.fieldName=null,this.hint=null,this.input=null,this.requiredExpression=null,this.type=\"field\",this.valueExpression=null}clone(){return new n({description:this.description,domain:this.domain,editable:this.editable,editableExpression:this.editableExpression,fieldName:this.fieldName,hint:this.hint,input:this.input,label:this.label,requiredExpression:this.requiredExpression,valueExpression:this.valueExpression,visibilityExpression:this.visibilityExpression})}};e([t({types:r,json:{read:{reader:p},write:!0}})],l.prototype,\"domain\",void 0),e([t({type:Boolean,json:{write:!0}})],l.prototype,\"editable\",void 0),e([t({type:String,json:{write:!0}})],l.prototype,\"editableExpression\",void 0),e([t({type:String,json:{write:!0}})],l.prototype,\"fieldName\",void 0),e([t({type:String,json:{write:!0}})],l.prototype,\"hint\",void 0),e([t({types:o,json:{read:{source:\"inputType\"},write:{target:\"inputType\"}}})],l.prototype,\"input\",void 0),e([t({type:String,json:{write:!0}})],l.prototype,\"requiredExpression\",void 0),e([t({type:String,json:{read:!1,write:!0}})],l.prototype,\"type\",void 0),e([t({type:String,json:{write:!0}})],l.prototype,\"valueExpression\",void 0),l=n=e([i(\"esri.form.elements.FieldElement\")],l);const a=l;export{a as default};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{_ as e}from\"../../chunks/tslib.es6.js\";import{clone as t}from\"../../core/lang.js\";import{property as r}from\"../../core/accessorSupport/decorators/property.js\";import{cast as s}from\"../../core/accessorSupport/decorators/cast.js\";import{reader as o}from\"../../core/accessorSupport/decorators/reader.js\";import{subclass as i}from\"../../core/accessorSupport/decorators/subclass.js\";import{writer as p}from\"../../core/accessorSupport/decorators/writer.js\";import n from\"./Element.js\";import{ensureType as l,fromJSON as m,toJSON as a,buildTypeMaps as c}from\"../support/elements.js\";var d;let u=d=class extends n{constructor(e){super(e),this.elements=null,this.initialState=\"expanded\",this.type=\"group\"}castElements(e){return l(e,f,!1)}readElements(e,t){return m(t.formElements,f,!1)}writeElements(e,t){t.formElements=a(e,f,!1)}clone(){return new d({description:this.description,elements:t(this.elements),initialState:this.initialState,label:this.label,visibilityExpression:this.visibilityExpression})}};e([r({json:{write:!0}})],u.prototype,\"elements\",void 0),e([s(\"elements\")],u.prototype,\"castElements\",null),e([o(\"elements\",[\"formElements\"])],u.prototype,\"readElements\",null),e([p(\"elements\")],u.prototype,\"writeElements\",null),e([r({type:[\"collapsed\",\"expanded\"],json:{write:!0}})],u.prototype,\"initialState\",void 0),e([r({type:String,json:{read:!1,write:!0}})],u.prototype,\"type\",void 0),u=d=e([i(\"esri.form.elements.GroupElement\")],u);const f=c(u),y=u;export{y as default};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{_ as e}from\"../../chunks/tslib.es6.js\";import{clone as s}from\"../../core/lang.js\";import{property as t}from\"../../core/accessorSupport/decorators/property.js\";import\"../../core/has.js\";import\"../../core/Logger.js\";import{subclass as i}from\"../../core/accessorSupport/decorators/subclass.js\";import o from\"./Element.js\";import r from\"../../popup/support/RelatedRecordsInfoFieldOrder.js\";var p;let l=p=class extends o{constructor(e){super(e),this.displayCount=null,this.displayType=\"list\",this.editableExpression=null,this.orderByFields=null,this.relationshipId=null,this.type=\"relationship\"}clone(){return new p({description:this.description,displayCount:this.displayCount,displayType:this.displayType,editableExpression:this.editableExpression,label:this.label,orderByFields:s(this.orderByFields),relationshipId:this.relationshipId,visibilityExpression:this.visibilityExpression})}};e([t({type:Number,json:{write:!0}})],l.prototype,\"displayCount\",void 0),e([t({type:[\"list\"],json:{write:!0}})],l.prototype,\"displayType\",void 0),e([t({type:String,json:{write:!0}})],l.prototype,\"editableExpression\",void 0),e([t({type:[r],json:{write:!0}})],l.prototype,\"orderByFields\",void 0),e([t({type:Number,json:{write:!0}})],l.prototype,\"relationshipId\",void 0),e([t({type:[\"relationship\"],json:{read:!1,write:!0}})],l.prototype,\"type\",void 0),l=p=e([i(\"esri.form.elements.RelationshipElement\")],l);const n=l;export{n as default};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{_ as t}from\"../../chunks/tslib.es6.js\";import{property as e}from\"../../core/accessorSupport/decorators/property.js\";import\"../../core/has.js\";import\"../../core/Logger.js\";import\"../../core/RandomLCG.js\";import{subclass as r}from\"../../core/accessorSupport/decorators/subclass.js\";import o from\"./Element.js\";var s;let i=s=class extends o{constructor(t){super(t),this.text=null,this.textFormat=\"plain-text\",this.type=\"text\"}clone(){return new s({text:this.text,textFormat:this.textFormat,visibilityExpression:this.visibilityExpression})}};t([e({type:String,json:{write:!0}})],i.prototype,\"text\",void 0),t([e({type:String,json:{write:!0}})],i.prototype,\"textFormat\",void 0),t([e({type:[\"text\"],readOnly:!0,json:{read:!1,write:!0}})],i.prototype,\"type\",void 0),i=s=t([r(\"esri.form.elements.TextElement\")],i);const p=i;export{p as default};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{_ as r}from\"../../../chunks/tslib.es6.js\";import{property as e}from\"../../../core/accessorSupport/decorators/property.js\";import\"../../../core/has.js\";import\"../../../core/Logger.js\";import\"../../../core/RandomLCG.js\";import{subclass as o}from\"../../../core/accessorSupport/decorators/subclass.js\";import t from\"./TextInput.js\";var s;let n=s=class extends t{constructor(r){super(r),this.type=\"barcode-scanner\"}clone(){return new s({maxLength:this.maxLength,minLength:this.minLength})}};r([e({type:[\"barcode-scanner\"],json:{read:!1,write:!0}})],n.prototype,\"type\",void 0),n=s=r([o(\"esri.form.elements.inputs.BarcodeScannerInput\")],n);const c=n;export{c as default};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{_ as o}from\"../../../chunks/tslib.es6.js\";import{property as t}from\"../../../core/accessorSupport/decorators/property.js\";import\"../../../core/has.js\";import\"../../../core/Logger.js\";import\"../../../core/RandomLCG.js\";import{subclass as e}from\"../../../core/accessorSupport/decorators/subclass.js\";import r from\"./Input.js\";var s;let p=s=class extends r{constructor(o){super(o),this.noValueOptionLabel=null,this.showNoValueOption=!0,this.type=\"combo-box\"}clone(){return new s({showNoValueOption:this.showNoValueOption,noValueOptionLabel:this.noValueOptionLabel})}};o([t({type:String,json:{write:!0}})],p.prototype,\"noValueOptionLabel\",void 0),o([t({type:Boolean,json:{write:!0}})],p.prototype,\"showNoValueOption\",void 0),o([t({type:[\"combo-box\"],json:{read:!1,write:!0}})],p.prototype,\"type\",void 0),p=s=o([e(\"esri.form.elements.inputs.ComboBoxInput\")],p);const i=p;export{i as default};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{_ as r}from\"../../../chunks/tslib.es6.js\";import{property as t}from\"../../../core/accessorSupport/decorators/property.js\";import\"../../../core/has.js\";import\"../../../core/Logger.js\";import\"../../../core/RandomLCG.js\";import{reader as e}from\"../../../core/accessorSupport/decorators/reader.js\";import{subclass as o}from\"../../../core/accessorSupport/decorators/subclass.js\";import{writer as i}from\"../../../core/accessorSupport/decorators/writer.js\";import n from\"./Input.js\";var p;function s(r){return null!=r?r:null}function a(r){return null!=r?r:null}let m=p=class extends n{constructor(r){super(r),this.max=null,this.min=null,this.type=\"date-picker\"}readMax(r,t){return s(t.max)}writeMax(r,t){t.max=a(r)}readMin(r,t){return s(t.min)}writeMin(r,t){t.min=a(r)}clone(){return new p({max:this.max,min:this.min})}};r([t({type:String,json:{type:String,write:!0}})],m.prototype,\"max\",void 0),r([e(\"max\")],m.prototype,\"readMax\",null),r([i(\"max\")],m.prototype,\"writeMax\",null),r([t({type:String,json:{type:String,write:!0}})],m.prototype,\"min\",void 0),r([e(\"min\")],m.prototype,\"readMin\",null),r([i(\"min\")],m.prototype,\"writeMin\",null),r([t({type:[\"date-picker\"],json:{read:!1,write:!0}})],m.prototype,\"type\",void 0),m=p=r([o(\"esri.form.elements.inputs.DatePickerInput\")],m);const c=m;export{c as default};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{_ as t}from\"../../../chunks/tslib.es6.js\";import{property as e}from\"../../../core/accessorSupport/decorators/property.js\";import\"../../../core/has.js\";import\"../../../core/Logger.js\";import\"../../../core/RandomLCG.js\";import{reader as o}from\"../../../core/accessorSupport/decorators/reader.js\";import{subclass as r}from\"../../../core/accessorSupport/decorators/subclass.js\";import{writer as i}from\"../../../core/accessorSupport/decorators/writer.js\";import n from\"./Input.js\";var s;function p(t){return null!=t?t:null}function m(t){return null!=t?t:null}let u=s=class extends n{constructor(t){super(t),this.includeTimeOffset=!0,this.max=null,this.min=null,this.timeResolution=\"minutes\",this.type=\"datetimeoffset-picker\"}readMax(t,e){return p(e.max)}writeMax(t,e){e.max=m(t)}readMin(t,e){return p(e.min)}writeMin(t,e){e.min=m(t)}readTimeResolution(t,e){return p(e.timeResolution)}writeTimeResolution(t,e){e.timeResolution=m(t)}clone(){return new s({includeTimeOffset:this.includeTimeOffset,max:this.max,min:this.min,timeResolution:this.timeResolution})}};t([e({type:Boolean,json:{write:!0}})],u.prototype,\"includeTimeOffset\",void 0),t([e({type:String,json:{type:String,write:!0}})],u.prototype,\"max\",void 0),t([o(\"max\")],u.prototype,\"readMax\",null),t([i(\"max\")],u.prototype,\"writeMax\",null),t([e({type:String,json:{type:String,write:!0}})],u.prototype,\"min\",void 0),t([o(\"min\")],u.prototype,\"readMin\",null),t([i(\"min\")],u.prototype,\"writeMin\",null),t([e({type:String,json:{type:String,write:!0}})],u.prototype,\"timeResolution\",void 0),t([o(\"timeResolution\")],u.prototype,\"readTimeResolution\",null),t([i(\"timeResolution\")],u.prototype,\"writeTimeResolution\",null),t([e({type:[\"datetimeoffset-picker\"],json:{read:!1,write:!0}})],u.prototype,\"type\",void 0),u=s=t([r(\"esri.form.elements.inputs.DateTimeOffsetPickerInput\")],u);const l=u;export{l as default};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{_ as e}from\"../../../chunks/tslib.es6.js\";import{property as r}from\"../../../core/accessorSupport/decorators/property.js\";import\"../../../core/has.js\";import\"../../../core/Logger.js\";import\"../../../core/RandomLCG.js\";import{reader as t}from\"../../../core/accessorSupport/decorators/reader.js\";import{subclass as o}from\"../../../core/accessorSupport/decorators/subclass.js\";import{writer as i}from\"../../../core/accessorSupport/decorators/writer.js\";import n from\"./Input.js\";var p;function s(e){return null!=e?new Date(e):null}function m(e){return e?e.getTime():null}let a=p=class extends n{constructor(e){super(e),this.includeTime=!1,this.max=null,this.min=null,this.type=\"datetime-picker\"}readMax(e,r){return s(r.max)}writeMax(e,r){r.max=m(e)}readMin(e,r){return s(r.min)}writeMin(e,r){r.min=m(e)}clone(){return new p({includeTime:this.includeTime,max:this.max,min:this.min})}};e([r({type:Boolean,json:{write:!0}})],a.prototype,\"includeTime\",void 0),e([r({type:Date,json:{type:Number,write:!0}})],a.prototype,\"max\",void 0),e([t(\"max\")],a.prototype,\"readMax\",null),e([i(\"max\")],a.prototype,\"writeMax\",null),e([r({type:Date,json:{type:Number,write:!0}})],a.prototype,\"min\",void 0),e([t(\"min\")],a.prototype,\"readMin\",null),e([i(\"min\")],a.prototype,\"writeMin\",null),e([r({type:[\"datetime-picker\"],json:{read:!1,write:!0}})],a.prototype,\"type\",void 0),a=p=e([o(\"esri.form.elements.inputs.DateTimePickerInput\")],a);const c=a;export{c as default};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{_ as o}from\"../../../chunks/tslib.es6.js\";import{JSONSupport as r}from\"../../../core/JSONSupport.js\";import{property as s}from\"../../../core/accessorSupport/decorators/property.js\";import\"../../../core/has.js\";import\"../../../core/Logger.js\";import\"../../../core/RandomLCG.js\";import{subclass as t}from\"../../../core/accessorSupport/decorators/subclass.js\";let e=class extends r{constructor(o){super(o),this.type=null}};o([s()],e.prototype,\"type\",void 0),e=o([t(\"esri.form.elements.inputs.Input\")],e);const p=e;export{p as default};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{_ as o}from\"../../../chunks/tslib.es6.js\";import{property as t}from\"../../../core/accessorSupport/decorators/property.js\";import\"../../../core/has.js\";import\"../../../core/Logger.js\";import\"../../../core/RandomLCG.js\";import{subclass as e}from\"../../../core/accessorSupport/decorators/subclass.js\";import r from\"./Input.js\";var s;let p=s=class extends r{constructor(o){super(o),this.noValueOptionLabel=null,this.showNoValueOption=!0,this.type=\"radio-buttons\"}clone(){return new s({noValueOptionLabel:this.noValueOptionLabel,showNoValueOption:this.showNoValueOption})}};o([t({type:String,json:{write:!0}})],p.prototype,\"noValueOptionLabel\",void 0),o([t({type:Boolean,json:{write:!0}})],p.prototype,\"showNoValueOption\",void 0),o([t({type:[\"radio-buttons\"],json:{read:!1,write:!0}})],p.prototype,\"type\",void 0),p=s=o([e(\"esri.form.elements.inputs.RadioButtonsInput\")],p);const i=p;export{i as default};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{_ as o}from\"../../../chunks/tslib.es6.js\";import{property as t}from\"../../../core/accessorSupport/decorators/property.js\";import\"../../../core/has.js\";import\"../../../core/Logger.js\";import\"../../../core/RandomLCG.js\";import{subclass as e}from\"../../../core/accessorSupport/decorators/subclass.js\";import r from\"./Input.js\";var s;let p=s=class extends r{constructor(o){super(o),this.offValue=null,this.onValue=null,this.type=\"switch\"}clone(){return new s({offValue:this.offValue,onValue:this.onValue})}};o([t({type:[String,Number],json:{write:!0}})],p.prototype,\"offValue\",void 0),o([t({type:[String,Number],json:{write:!0}})],p.prototype,\"onValue\",void 0),o([t({type:[\"switch\"],json:{read:!1,write:!0}})],p.prototype,\"type\",void 0),p=s=o([e(\"esri.form.elements.inputs.SwitchInput\")],p);const i=p;export{i as default};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{_ as t}from\"../../../chunks/tslib.es6.js\";import{property as e}from\"../../../core/accessorSupport/decorators/property.js\";import\"../../../core/has.js\";import\"../../../core/Logger.js\";import\"../../../core/RandomLCG.js\";import{subclass as r}from\"../../../core/accessorSupport/decorators/subclass.js\";import o from\"./TextInput.js\";var s;let p=s=class extends o{constructor(t){super(t),this.type=\"text-area\"}clone(){return new s({maxLength:this.maxLength,minLength:this.minLength})}};t([e({type:[\"text-area\"],json:{read:!1,write:!0}})],p.prototype,\"type\",void 0),p=s=t([r(\"esri.form.elements.inputs.TextAreaInput\")],p);const a=p;export{a as default};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{_ as t}from\"../../../chunks/tslib.es6.js\";import{property as o}from\"../../../core/accessorSupport/decorators/property.js\";import\"../../../core/has.js\";import\"../../../core/Logger.js\";import\"../../../core/RandomLCG.js\";import{subclass as e}from\"../../../core/accessorSupport/decorators/subclass.js\";import r from\"./TextInput.js\";var s;let p=s=class extends r{constructor(t){super(t),this.type=\"text-box\"}clone(){return new s({maxLength:this.maxLength,minLength:this.minLength})}};t([o({type:[\"text-box\"],json:{read:!1,write:!0}})],p.prototype,\"type\",void 0),p=s=t([e(\"esri.form.elements.inputs.TextBoxInput\")],p);const n=p;export{n as default};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{_ as o}from\"../../../chunks/tslib.es6.js\";import{property as r}from\"../../../core/accessorSupport/decorators/property.js\";import\"../../../core/has.js\";import\"../../../core/Logger.js\";import\"../../../core/RandomLCG.js\";import{subclass as t}from\"../../../core/accessorSupport/decorators/subclass.js\";import e from\"./Input.js\";let s=class extends e{constructor(o){super(o),this.maxLength=null,this.minLength=0}};o([r({type:Number,json:{write:!0}})],s.prototype,\"maxLength\",void 0),o([r({type:Number,json:{write:!0}})],s.prototype,\"minLength\",void 0),s=o([t(\"esri.form.elements.inputs.TextInput\")],s);const p=s;export{p as default};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{_ as t}from\"../../../chunks/tslib.es6.js\";import{property as e}from\"../../../core/accessorSupport/decorators/property.js\";import\"../../../core/has.js\";import\"../../../core/Logger.js\";import\"../../../core/RandomLCG.js\";import{reader as o}from\"../../../core/accessorSupport/decorators/reader.js\";import{subclass as r}from\"../../../core/accessorSupport/decorators/subclass.js\";import{writer as i}from\"../../../core/accessorSupport/decorators/writer.js\";import n from\"./Input.js\";var s;function p(t){return null!=t?t:null}function m(t){return null!=t?t:null}let u=s=class extends n{constructor(t){super(t),this.max=null,this.min=null,this.timeResolution=\"minutes\",this.type=\"time-picker\"}readMax(t,e){return p(e.max)}writeMax(t,e){e.max=m(t)}readMin(t,e){return p(e.min)}writeMin(t,e){e.min=m(t)}readTimeResolution(t,e){return p(e.timeResolution)}writeTimeResolution(t,e){e.timeResolution=m(t)}clone(){return new s({max:this.max,min:this.min,timeResolution:this.timeResolution})}};t([e({type:String,json:{type:String,write:!0}})],u.prototype,\"max\",void 0),t([o(\"max\")],u.prototype,\"readMax\",null),t([i(\"max\")],u.prototype,\"writeMax\",null),t([e({type:String,json:{type:String,write:!0}})],u.prototype,\"min\",void 0),t([o(\"min\")],u.prototype,\"readMin\",null),t([i(\"min\")],u.prototype,\"writeMin\",null),t([e({type:String,json:{type:String,write:!0}})],u.prototype,\"timeResolution\",void 0),t([o(\"timeResolution\")],u.prototype,\"readTimeResolution\",null),t([i(\"timeResolution\")],u.prototype,\"writeTimeResolution\",null),t([e({type:[\"time-picker\"],json:{read:!1,write:!0}})],u.prototype,\"type\",void 0),u=s=t([r(\"esri.form.elements.inputs.TimePickerInput\")],u);const l=u;export{l as default};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{_ as t}from\"../../../../chunks/tslib.es6.js\";import{property as r}from\"../../../../core/accessorSupport/decorators/property.js\";import{cast as o}from\"../../../../core/accessorSupport/decorators/cast.js\";import\"../../../../core/RandomLCG.js\";import\"../../../../core/has.js\";import{reader as e}from\"../../../../core/accessorSupport/decorators/reader.js\";import{subclass as s}from\"../../../../core/accessorSupport/decorators/subclass.js\";import{writer as p}from\"../../../../core/accessorSupport/decorators/writer.js\";import n from\"./Input.js\";import{ensureType as c,fromJSON as a,toJSON as i,buildTypeMaps as u}from\"./support/inputs.js\";let m=class extends n{constructor(t){super(t),this.type=\"attachment\",this.attachmentAssociationType=\"exact\",this.inputTypes=null}castInputs(t){return c(t,y,!0)}readInputs(t,r){return a(r.inputTypes,y,!0)}writeInputs(t,r){r.inputTypes=i(t,y,!0)}};t([r({type:[\"attachment\"],readOnly:!0,json:{write:!0}})],m.prototype,\"type\",void 0),t([r({type:[\"any\",\"exact\",\"exactOrNone\"],json:{write:!0}})],m.prototype,\"attachmentAssociationType\",void 0),t([r({json:{write:{isRequired:!0}}})],m.prototype,\"inputTypes\",void 0),t([o(\"inputTypes\")],m.prototype,\"castInputs\",null),t([e(\"inputTypes\")],m.prototype,\"readInputs\",null),t([p(\"inputTypes\")],m.prototype,\"writeInputs\",null),m=t([s(\"esri.form.elements.inputs.attachments.AttachmentInput\")],m);const y=u(m),d=m;export{d as default};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{_ as o}from\"../../../../chunks/tslib.es6.js\";import{property as t}from\"../../../../core/accessorSupport/decorators/property.js\";import\"../../../../core/has.js\";import\"../../../../core/Logger.js\";import\"../../../../core/RandomLCG.js\";import{subclass as r}from\"../../../../core/accessorSupport/decorators/subclass.js\";import s from\"./Input.js\";import{mediaInputArray as e}from\"./support/utils.js\";let p=class extends s{constructor(o){super(o),this.type=\"audio\",this.inputMethod=\"any\",this.maxDuration=null}};o([t({type:[\"audio\"],readOnly:!0,json:{write:!0}})],p.prototype,\"type\",void 0),o([t({type:e,json:{write:!0}})],p.prototype,\"inputMethod\",void 0),o([t({type:Number,json:{write:!0}})],p.prototype,\"maxDuration\",void 0),p=o([r(\"esri.form.elements.inputs.attachments.AudioInput\")],p);const i=p;export{i as default};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{_ as o}from\"../../../../chunks/tslib.es6.js\";import{property as t}from\"../../../../core/accessorSupport/decorators/property.js\";import\"../../../../core/has.js\";import\"../../../../core/Logger.js\";import\"../../../../core/RandomLCG.js\";import{subclass as e}from\"../../../../core/accessorSupport/decorators/subclass.js\";import r from\"./Input.js\";let s=class extends r{constructor(o){super(o),this.type=\"document\",this.maxFileSize=null}};o([t({type:[\"document\"],readOnly:!0,json:{write:!0}})],s.prototype,\"type\",void 0),o([t({type:Number,json:{write:!0}})],s.prototype,\"maxFileSize\",void 0),s=o([e(\"esri.form.elements.inputs.attachments.DocumentInput\")],s);const p=s;export{p as default};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{_ as t}from\"../../../../chunks/tslib.es6.js\";import{property as o}from\"../../../../core/accessorSupport/decorators/property.js\";import\"../../../../core/has.js\";import\"../../../../core/Logger.js\";import\"../../../../core/RandomLCG.js\";import{subclass as e}from\"../../../../core/accessorSupport/decorators/subclass.js\";import r from\"./Input.js\";import{mediaInputArray as s}from\"./support/utils.js\";let p=class extends r{constructor(t){super(t),this.type=\"image\",this.inputMethod=\"any\",this.maxImageSize=null}};t([o({type:[\"image\"],readOnly:!0,json:{write:!0}})],p.prototype,\"type\",void 0),t([o({type:s,json:{write:!0}})],p.prototype,\"inputMethod\",void 0),t([o({type:Number,json:{write:!0}})],p.prototype,\"maxImageSize\",void 0),p=t([e(\"esri.form.elements.inputs.attachments.ImageInput\")],p);const i=p;export{i as default};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{_ as o}from\"../../../../chunks/tslib.es6.js\";import{ClonableMixin as r}from\"../../../../core/Clonable.js\";import{JSONSupport as s}from\"../../../../core/JSONSupport.js\";import{property as t}from\"../../../../core/accessorSupport/decorators/property.js\";import\"../../../../core/has.js\";import\"../../../../core/Logger.js\";import\"../../../../core/RandomLCG.js\";import{subclass as e}from\"../../../../core/accessorSupport/decorators/subclass.js\";let p=class extends(r(s)){constructor(o){super(o),this.type=null}};o([t()],p.prototype,\"type\",void 0),p=o([e(\"esri.form.elements.inputs.attachments.Input\")],p);const c=p;export{c as default};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{_ as t}from\"../../../../chunks/tslib.es6.js\";import{property as o}from\"../../../../core/accessorSupport/decorators/property.js\";import\"../../../../core/has.js\";import\"../../../../core/Logger.js\";import\"../../../../core/RandomLCG.js\";import{subclass as r}from\"../../../../core/accessorSupport/decorators/subclass.js\";import s from\"./Input.js\";import{mediaInputArray as e}from\"./support/utils.js\";let p=class extends s{constructor(t){super(t),this.type=\"signature\",this.inputMethod=\"any\"}};t([o({type:[\"signature\"],readOnly:!0,json:{write:!0}})],p.prototype,\"type\",void 0),t([o({type:e,json:{write:!0}})],p.prototype,\"inputMethod\",void 0),p=t([r(\"esri.form.elements.inputs.attachments.SignatureInput\")],p);const i=p;export{i as default};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{_ as o}from\"../../../../chunks/tslib.es6.js\";import{property as t}from\"../../../../core/accessorSupport/decorators/property.js\";import\"../../../../core/has.js\";import\"../../../../core/Logger.js\";import\"../../../../core/RandomLCG.js\";import{subclass as r}from\"../../../../core/accessorSupport/decorators/subclass.js\";import e from\"./Input.js\";import{mediaInputArray as s}from\"./support/utils.js\";let p=class extends e{constructor(o){super(o),this.type=\"video\",this.inputMethod=\"any\",this.maxDuration=null}};o([t({type:[\"video\"],readOnly:!0,json:{write:!0}})],p.prototype,\"type\",void 0),o([t({type:s,json:{write:!0}})],p.prototype,\"inputMethod\",void 0),o([t({type:Number,json:{write:!0}})],p.prototype,\"maxDuration\",void 0),p=o([r(\"esri.form.elements.inputs.attachments.VideoInput\")],p);const i=p;export{i as default};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{ensureOneOfType as e}from\"../../../../../core/accessorSupport/ensureType.js\";import t from\"../AudioInput.js\";import p from\"../DocumentInput.js\";import n from\"../ImageInput.js\";import r from\"../Input.js\";import o from\"../SignatureInput.js\";import a from\"../VideoInput.js\";function u(e){return{nestableTypes:{base:r,key:\"type\",typeMap:{audio:t,document:p,image:n,signature:o,video:a}},allTypes:{base:r,key:\"type\",typeMap:{attachment:e,audio:t,document:p,image:n,signature:o,video:a}}}}function s(t,p,n){return t?t.map((t=>e(n?p.nestableTypes:p.allTypes,t))):null}function i(e,t,p){if(!e)return null;const n=p?t.nestableTypes.typeMap:t.allTypes.typeMap;return e.filter((e=>n[e.type])).map((e=>n[e.type].fromJSON(e)))}function m(e,t,p){if(!e)return null;const n=p?t.nestableTypes.typeMap:t.allTypes.typeMap;return e.filter((e=>n[e.type])).map((e=>e.toJSON()))}export{u as buildTypeMaps,s as ensureType,i as fromJSON,m as toJSON};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nconst a=[\"any\",\"capture\",\"upload\"];export{a as mediaInputArray};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport t from\"../inputs/BarcodeScannerInput.js\";import p from\"../inputs/ComboBoxInput.js\";import i from\"../inputs/DatePickerInput.js\";import o from\"../inputs/DateTimeOffsetPickerInput.js\";import r from\"../inputs/DateTimePickerInput.js\";import e from\"../inputs/Input.js\";import m from\"../inputs/RadioButtonsInput.js\";import s from\"../inputs/SwitchInput.js\";import n from\"../inputs/TextAreaInput.js\";import u from\"../inputs/TextBoxInput.js\";import a from\"../inputs/TimePickerInput.js\";const c={base:e,key:\"type\",typeMap:{\"barcode-scanner\":t,\"combo-box\":p,\"date-picker\":i,\"datetime-picker\":r,\"datetimeoffset-picker\":o,\"radio-buttons\":m,switch:s,\"text-area\":n,\"text-box\":u,\"time-picker\":a}};export{c as types};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{ensureOneOfType as t}from\"../../core/accessorSupport/ensureType.js\";import e from\"../elements/AttachmentElement.js\";import p from\"../elements/Element.js\";import r from\"../elements/FieldElement.js\";import o from\"../elements/RelationshipElement.js\";import n from\"../elements/TextElement.js\";function i(t){return{typesWithGroup:{base:p,key:\"type\",typeMap:{attachment:e,field:r,group:t,relationship:o,text:n}},typesWithoutGroup:{base:p,key:\"type\",typeMap:{attachment:e,field:r,relationship:o,text:n}}}}function m(t,e,p=!0){if(!t)return null;const r=p?e.typesWithGroup.typeMap:e.typesWithoutGroup.typeMap;return t.filter((t=>r[t.type])).map((t=>r[t.type].fromJSON(t)))}function s(t,e,p=!0){if(!t)return null;const r=p?e.typesWithGroup.typeMap:e.typesWithoutGroup.typeMap;return t.filter((t=>r[t.type])).map((t=>t.toJSON()))}function u(e,p,r=!0){return e?e.map((e=>t(r?p.typesWithGroup:p.typesWithoutGroup,e))):null}export{i as buildTypeMaps,u as ensureType,m as fromJSON,s as toJSON};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nconst t=t=>\"field\"===t.type,e=t=>\"group\"===t.type,n=t=>\"text\"===t.type,r=t=>\"relationship\"===t.type;function p(t){return o(t)||u(t)}function o(t){return\"text-area\"===t.type}function u(t){return\"text-box\"===t.type}export{t as isFieldElement,e as isGroupElement,r as isRelationshipElement,o as isTextAreaInput,u as isTextBoxInput,n as isTextElement,p as isTextInput};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{ensureOneOfType as e}from\"./core/accessorSupport/ensureType.js\";import o from\"./geometry/Extent.js\";import t from\"./geometry/Geometry.js\";import r from\"./geometry/Multipoint.js\";import p from\"./geometry/Point.js\";import m from\"./geometry/Polygon.js\";import i from\"./geometry/Polyline.js\";export{default as SpatialReference}from\"./geometry/SpatialReference.js\";export{featureGeometryTypeKebabDictionary,typeKebabDictionary}from\"./geometry/support/typeUtils.js\";export{fromJSON}from\"./geometry/support/jsonUtils.js\";function y(e){return e instanceof t}const n={base:t,key:\"type\",typeMap:{extent:o,multipoint:r,point:p,polyline:i,polygon:m}},s=e(n);export{t as BaseGeometry,o as Extent,r as Multipoint,p as Point,m as Polygon,i as Polyline,s as ensureType,n as geometryTypes,y as isGeometry};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{_ as t}from\"../chunks/tslib.es6.js\";import{replace as i}from\"../core/string.js\";import{property as e}from\"../core/accessorSupport/decorators/property.js\";import\"../core/has.js\";import\"../core/Logger.js\";import\"../core/RandomLCG.js\";import{subclass as s}from\"../core/accessorSupport/decorators/subclass.js\";import n from\"./Geometry.js\";import m from\"./Point.js\";import r from\"./SpatialReference.js\";import{extentContainsPoint as a,extentContainsExtent as h}from\"./support/contains.js\";import{getFeatureExtentIntersector as o}from\"./support/intersectsBase.js\";import{equals as x,getInfo as l}from\"./support/spatialReferenceUtils.js\";import{canProject as c,geographicToWebMercator as p,webMercatorToGeographic as y}from\"./support/webMercatorUtils.js\";var u;function f(t){return t&&(\"esri.geometry.SpatialReference\"===t.declaredClass||null!=t.wkid)}function d(t,i,e){return null==i?e:null==e?i:t(i,e)}let z=u=class extends n{constructor(...t){super(...t),this.type=\"extent\",this.xmin=0,this.ymin=0,this.mmin=void 0,this.zmin=void 0,this.xmax=0,this.ymax=0,this.mmax=void 0,this.zmax=void 0}normalizeCtorArgs(t,i,e,s,n){return f(t)?{spatialReference:t,xmin:0,ymin:0,xmax:0,ymax:0}:\"object\"==typeof t?(t.spatialReference=null==t.spatialReference?r.WGS84:t.spatialReference,t):{xmin:t,ymin:i,xmax:e,ymax:s,spatialReference:n??r.WGS84}}static fromBounds(t,i){return new u({xmin:t[0],ymin:t[1],xmax:t[2],ymax:t[3],spatialReference:i})}static fromPoint(t){return new u({xmin:t.x,ymin:t.y,zmin:t.z,xmax:t.x,ymax:t.y,zmax:t.z,spatialReference:t.spatialReference})}get cache(){return this.commitProperty(\"xmin\"),this.commitProperty(\"ymin\"),this.commitProperty(\"zmin\"),this.commitProperty(\"mmin\"),this.commitProperty(\"xmax\"),this.commitProperty(\"ymax\"),this.commitProperty(\"zmax\"),this.commitProperty(\"mmax\"),this.commitProperty(\"spatialReference\"),{}}get center(){const t=new m({x:.5*(this.xmin+this.xmax),y:.5*(this.ymin+this.ymax),spatialReference:this.spatialReference});return this.hasZ&&(t.z=.5*(this.zmin+this.zmax)),this.hasM&&(t.m=.5*(this.mmin+this.mmax)),t}get extent(){return this.clone()}get hasM(){return null!=this.mmin&&null!=this.mmax}get hasZ(){return null!=this.zmin&&null!=this.zmax}get height(){return Math.abs(this.ymax-this.ymin)}get width(){return Math.abs(this.xmax-this.xmin)}centerAt(t){const i=this.center;return null!=t.z&&this.hasZ?this.offset(t.x-i.x,t.y-i.y,t.z-i.z):this.offset(t.x-i.x,t.y-i.y)}clone(){const t=new u;return t.xmin=this.xmin,t.ymin=this.ymin,t.xmax=this.xmax,t.ymax=this.ymax,t.spatialReference=this.spatialReference,null!=this.zmin&&(t.zmin=this.zmin,t.zmax=this.zmax),null!=this.mmin&&(t.mmin=this.mmin,t.mmax=this.mmax),t}contains(t){if(!t)return!1;const i=this.spatialReference,e=t.spatialReference;return i&&e&&!i.equals(e)&&c(i,e)&&(t=i.isWebMercator?p(t):y(t,!0)),\"point\"===t.type?a(this,t):\"extent\"===t.type&&h(this,t)}equals(t){if(this===t)return!0;if(null==t)return!1;const i=this.spatialReference,e=t.spatialReference;return i&&e&&!i.equals(e)&&c(i,e)&&(t=i.isWebMercator?p(t):y(t,!0)),this.xmin===t.xmin&&this.ymin===t.ymin&&this.zmin===t.zmin&&this.mmin===t.mmin&&this.xmax===t.xmax&&this.ymax===t.ymax&&this.zmax===t.zmax&&this.mmax===t.mmax}expand(t){const i=.5*(1-t),e=this.width*i,s=this.height*i;if(this.xmin+=e,this.ymin+=s,this.xmax-=e,this.ymax-=s,this.hasZ){const t=(this.zmax-this.zmin)*i;this.zmin+=t,this.zmax-=t}if(this.hasM){const t=(this.mmax-this.mmin)*i;this.mmin+=t,this.mmax-=t}return this}intersects(t){if(null==t)return!1;\"mesh\"===t.type&&(t=t.extent);const i=this.spatialReference,e=t.spatialReference;i&&e&&!x(i,e)&&c(i,e)&&(t=i.isWebMercator?p(t):y(t,!0));return o(t.type)(this,t)}normalize(){const t=this._normalize(!1,!0);return Array.isArray(t)?t:[t]}offset(t,i,e){return this.xmin+=t,this.ymin+=i,this.xmax+=t,this.ymax+=i,null!=e&&(this.zmin+=e,this.zmax+=e),this}shiftCentralMeridian(){return this._normalize(!0)}union(t){return this===t||(this.xmin=Math.min(this.xmin,t.xmin),this.ymin=Math.min(this.ymin,t.ymin),this.xmax=Math.max(this.xmax,t.xmax),this.ymax=Math.max(this.ymax,t.ymax),(this.hasZ||t.hasZ)&&(this.zmin=d(Math.min,this.zmin,t.zmin),this.zmax=d(Math.max,this.zmax,t.zmax)),(this.hasM||t.hasM)&&(this.mmin=d(Math.min,this.mmin,t.mmin),this.mmax=d(Math.max,this.mmax,t.mmax))),this}intersection(t){return this===t?this:null!=t&&this.intersects(t)?(this.xmin=Math.max(this.xmin,t.xmin),this.ymin=Math.max(this.ymin,t.ymin),this.xmax=Math.min(this.xmax,t.xmax),this.ymax=Math.min(this.ymax,t.ymax),(this.hasZ||t.hasZ)&&(this.zmin=d(Math.max,this.zmin,t.zmin),this.zmax=d(Math.min,this.zmax,t.zmax)),(this.hasM||t.hasM)&&(this.mmin=d(Math.max,this.mmin,t.mmin),this.mmax=d(Math.min,this.mmax,t.mmax)),this):null}toJSON(t){return this.write({},t)}_shiftCM(t=l(this.spatialReference)){if(!t||!this.spatialReference)return this;const e=this.spatialReference,s=this._getCM(t);if(s){const n=e.isWebMercator?y(s):s;this.xmin-=s.x,this.xmax-=s.x,e.isWebMercator||(n.x=M(n.x,t).x),this.spatialReference=new r(i((e.isWGS84?t.altTemplate:null)??t.wkTemplate,{Central_Meridian:n.x}))}return this}_getCM(t){let i=null;const[e,s]=t.valid,n=this.xmin,m=this.xmax;return n>=e&&n<=s&&(m>=e&&m<=s)||(i=this.center),i}_normalize(t,i,e){const s=this.spatialReference;if(!s)return this;const n=e??l(s);if(null==n)return this;const m=this._getParts(n).map((t=>t.extent));if(m.length<2)return m[0]||this;if(m.length>2)return t?this._shiftCM(n):this.set({xmin:n.valid[0],xmax:n.valid[1]});if(t)return this._shiftCM(n);if(i)return m;let r=!0,a=!0;return m.forEach((t=>{t.hasZ||(r=!1),t.hasM||(a=!1)})),{rings:m.map((t=>{const i=[[t.xmin,t.ymin],[t.xmin,t.ymax],[t.xmax,t.ymax],[t.xmax,t.ymin],[t.xmin,t.ymin]];if(r){const e=(t.zmax-t.zmin)/2;for(let t=0;t0;if(m>2*x){const t=new u(ry||d?i.push({extent:new u(c,e,x,s,n),frameIds:[p]},{extent:new u(o,e,y,s,n),frameIds:[f]}):i.push({extent:new u(c,e,y,s,n),frameIds:[p]});this.cache._parts=i}const e=this.hasZ,s=this.hasM;if(e||s){const t={};e&&(t.zmin=this.zmin,t.zmax=this.zmax),s&&(t.mmin=this.mmin,t.mmax=this.mmax);for(let e=0;es?(m=Math.ceil(Math.abs(t-s)/n),t-=m*n,r=m):t({enabled:e})}}})],c.prototype,\"hasM\",void 0),e([t({type:Boolean,json:{write:{overridePolicy:e=>({enabled:e})}}})],c.prototype,\"hasZ\",void 0),e([t({type:a,json:{write:!0},value:a.WGS84})],c.prototype,\"spatialReference\",void 0),e([o(\"spatialReference\")],c.prototype,\"readSpatialReference\",null),c=e([s(\"esri.geometry.Geometry\")],c);const n=c;export{n as default};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{_ as e}from\"../chunks/tslib.es6.js\";import{removeUnordered as t}from\"../core/arrayUtils.js\";import{strict as r}from\"../core/jsonMap.js\";import{JSONSupport as o}from\"../core/JSONSupport.js\";import{unitFromRESTJSON as i,getVerticalUnitStringForSR as s}from\"../core/unitUtils.js\";import n from\"../core/Warning.js\";import{property as a}from\"../core/accessorSupport/decorators/property.js\";import\"../core/has.js\";import\"../core/Logger.js\";import{reader as l}from\"../core/accessorSupport/decorators/reader.js\";import{subclass as h}from\"../core/accessorSupport/decorators/subclass.js\";import{writer as c}from\"../core/accessorSupport/decorators/writer.js\";var d;const p=r()({orthometric:\"gravity-related-height\",gravity_related_height:\"gravity-related-height\",ellipsoidal:\"ellipsoidal\"}),u=p.jsonValues.slice();t(u,\"orthometric\");const g=r()({meter:\"meters\",foot:\"feet\",\"us-foot\":\"us-feet\",\"clarke-foot\":\"clarke-feet\",\"clarke-yard\":\"clarke-yards\",\"clarke-link\":\"clarke-links\",\"sears-yard\":\"sears-yards\",\"sears-foot\":\"sears-feet\",\"sears-chain\":\"sears-chains\",\"benoit-1895-b-chain\":\"benoit-1895-b-chains\",\"indian-yard\":\"indian-yards\",\"indian-1937-yard\":\"indian-1937-yards\",\"gold-coast-foot\":\"gold-coast-feet\",\"sears-1922-truncated-chain\":\"sears-1922-truncated-chains\",\"50-kilometers\":\"50-kilometers\",\"150-kilometers\":\"150-kilometers\"});let m=d=class extends o{constructor(e){super(e),this.heightModel=\"gravity-related-height\",this.heightUnit=\"meters\",this.vertCRS=null}writeHeightModel(e,t,r){return p.write(e,t,r)}readHeightModel(e,t,r){const o=p.read(e);return o||(r?.messages&&r.messages.push(f(e,{context:r})),null)}readHeightUnit(e,t,r){const o=g.read(e);return o||(r?.messages&&r.messages.push(y(e,{context:r})),null)}readHeightUnitService(e,t,r){const o=i(e)||g.read(e);return o||(r?.messages&&r.messages.push(y(e,{context:r})),null)}readVertCRS(e,t){return t.vertCRS||t.ellipsoid||t.geoid}clone(){return new d({heightModel:this.heightModel,heightUnit:this.heightUnit,vertCRS:this.vertCRS})}equals(e){return!!e&&(this===e||this.heightModel===e.heightModel&&this.heightUnit===e.heightUnit&&this.vertCRS===e.vertCRS)}static deriveUnitFromSR(e,t){const r=s(t);return new d({heightModel:e.heightModel,heightUnit:r??void 0,vertCRS:e.vertCRS})}write(e,t){return t={origin:\"web-scene\",...t},super.write(e,t)}static fromJSON(e){if(!e)return null;const t=new d;return t.read(e,{origin:\"web-scene\"}),t}};function y(e,t){return new n(\"height-unit:unsupported\",`Height unit of value '${e}' is not supported`,t)}function f(e,t){return new n(\"height-model:unsupported\",`Height model of value '${e}' is not supported`,t)}e([a({type:p.apiValues,constructOnly:!0,json:{origins:{\"web-scene\":{type:u,default:\"ellipsoidal\"}}}})],m.prototype,\"heightModel\",void 0),e([c(\"web-scene\",\"heightModel\")],m.prototype,\"writeHeightModel\",null),e([l([\"web-scene\",\"service\"],\"heightModel\")],m.prototype,\"readHeightModel\",null),e([a({type:g.apiValues,constructOnly:!0,json:{origins:{\"web-scene\":{type:g.jsonValues,write:g.write}}}})],m.prototype,\"heightUnit\",void 0),e([l(\"web-scene\",\"heightUnit\")],m.prototype,\"readHeightUnit\",null),e([l(\"service\",\"heightUnit\")],m.prototype,\"readHeightUnitService\",null),e([a({type:String,constructOnly:!0,json:{origins:{\"web-scene\":{write:!0}}}})],m.prototype,\"vertCRS\",void 0),e([l(\"service\",\"vertCRS\",[\"vertCRS\",\"ellipsoid\",\"geoid\"])],m.prototype,\"readVertCRS\",null),m=d=e([h(\"esri.geometry.HeightModelInfo\")],m);const v=m;export{v as default};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{_ as t}from\"../chunks/tslib.es6.js\";import{clone as s}from\"../core/lang.js\";import{property as e}from\"../core/accessorSupport/decorators/property.js\";import\"../core/has.js\";import\"../core/Logger.js\";import{subclass as i}from\"../core/accessorSupport/decorators/subclass.js\";import{writer as r}from\"../core/accessorSupport/decorators/writer.js\";import o from\"./Extent.js\";import n from\"./Geometry.js\";import a from\"./Point.js\";import{updateSupportFromPoint as p}from\"./support/zmUtils.js\";var h;function l(t){return(s,e)=>null==s?e:null==e?s:t(s,e)}function c(t){return t&&(\"esri.geometry.SpatialReference\"===t.declaredClass||null!=t.wkid)}let m=h=class extends n{constructor(...t){super(...t),this.points=[],this.type=\"multipoint\"}normalizeCtorArgs(t,s){if(!t&&!s)return{};const e={};Array.isArray(t)?(e.points=t,e.spatialReference=s):c(t)?e.spatialReference=t:(t.points&&(e.points=t.points),t.spatialReference&&(e.spatialReference=t.spatialReference),t.hasZ&&(e.hasZ=t.hasZ),t.hasM&&(e.hasM=t.hasM));const i=e.points?.[0];return i&&(void 0===e.hasZ&&void 0===e.hasM?(e.hasZ=i.length>2,e.hasM=!1):void 0===e.hasZ?e.hasZ=i.length>3:void 0===e.hasM&&(e.hasM=i.length>3)),e}get cache(){return this.commitProperty(\"points\"),this.commitProperty(\"hasZ\"),this.commitProperty(\"hasM\"),this.commitProperty(\"spatialReference\"),{}}get extent(){const t=this.points;if(!t.length)return null;const s=new o,e=this.hasZ,i=this.hasM,r=e?3:2,n=t[0],a=l(Math.min),p=l(Math.max);let h,c,m,u,[f,y]=n,[d,g]=n;for(let o=0,l=t.length;o2){const t=s[2];h=a(h,t),m=p(m,t)}if(i&&s.length>r){const t=s[r];c=a(c,t),u=p(u,t)}}return s.xmin=f,s.ymin=y,s.xmax=d,s.ymax=g,s.spatialReference=this.spatialReference,e?(s.zmin=h,s.zmax=m):(s.zmin=void 0,s.zmax=void 0),i?(s.mmin=c,s.mmax=u):(s.mmin=void 0,s.mmax=void 0),s}writePoints(t,e){e.points=s(this.points)}addPoint(t){return p(this,t),Array.isArray(t)?this.points.push(t):this.points.push(t.toArray()),this.notifyChange(\"points\"),this}clone(){const t={points:s(this.points),spatialReference:this.spatialReference};return this.hasZ&&(t.hasZ=!0),this.hasM&&(t.hasM=!0),new h(t)}getPoint(t){if(!this._validateInputs(t))return null;const s=this.points[t],e={x:s[0],y:s[1],spatialReference:this.spatialReference};let i=2;return this.hasZ&&(e.z=s[2],i=3),this.hasM&&(e.m=s[i]),new a(e)}removePoint(t){if(!this._validateInputs(t))return null;const s=new a(this.points.splice(t,1)[0],this.spatialReference);return this.notifyChange(\"points\"),s}setPoint(t,s){return this._validateInputs(t)?(p(this,s),Array.isArray(s)||(s=s.toArray()),this.points[t]=s,this.notifyChange(\"points\"),this):this}toJSON(t){return this.write({},t)}_validateInputs(t){return null!=t&&t>=0&&ts?(o=Math.ceil(Math.abs(e-s)/i),e-=o*i):eisNaN(t)?t:n(t)))],_.prototype,\"x\",void 0),t([a(\"x\")],_.prototype,\"writeX\",null),t([o(\"x\")],_.prototype,\"readX\",null),t([s({type:Number,json:{write:!0}})],_.prototype,\"y\",void 0),t([s({type:Number,json:{write:{overridePolicy(){return{enabled:this.hasZ}}}}})],_.prototype,\"z\",void 0),t([s({type:Number,json:{write:{overridePolicy(){return{enabled:this.hasM}}}}})],_.prototype,\"m\",void 0),_=g=t([l(\"esri.geometry.Point\")],_),_.prototype.toJSON.isDefaultToJSON=!0;const j=_;export{j as default};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{_ as t}from\"../chunks/tslib.es6.js\";import{equals as r}from\"../core/arrayUtils.js\";import{clone as e}from\"../core/lang.js\";import{property as s}from\"../core/accessorSupport/decorators/property.js\";import\"../core/has.js\";import\"../core/Logger.js\";import{subclass as i}from\"../core/accessorSupport/decorators/subclass.js\";import{writer as n}from\"../core/accessorSupport/decorators/writer.js\";import o from\"./Extent.js\";import a from\"./Geometry.js\";import l from\"./Point.js\";import h from\"./SpatialReference.js\";import{polygonCentroid as p}from\"./support/centroid.js\";import{polygonContainsPoint as c}from\"./support/contains.js\";import{isClockwise as u}from\"./support/coordsUtils.js\";import{getPolygonExtent as f}from\"./support/extentUtils.js\";import{isSelfIntersecting as m}from\"./support/intersectsBase.js\";import{project as g}from\"./support/webMercatorUtils.js\";import{updateSupportFromPoint as y}from\"./support/zmUtils.js\";var d;function R(t){return!Array.isArray(t[0])}function x(t){return\"number\"==typeof t[0]?.[0]}function j(t){if(!t)return;let{rings:r,hasM:e,hasZ:s,spatialReference:i}=t;switch(r??=[],x(r)&&(r=[r]),r[0]?.[0]?.length){case 4:s??=!0,e??=!0;break;case 3:s??=!0!==e,e??=!s;break;default:s??=!1,e??=!1}return i??=h.WGS84,{...t,hasM:e,hasZ:s,rings:r,spatialReference:i}}let w=d=class extends a{static fromExtent(t){const r=t.clone().normalize(),{spatialReference:e}=t;let s=!1,i=!1;for(const o of r)o.hasZ&&(s=!0),o.hasM&&(i=!0);const n={rings:r.map((t=>{const r=[[t.xmin,t.ymin],[t.xmin,t.ymax],[t.xmax,t.ymax],[t.xmax,t.ymin],[t.xmin,t.ymin]];if(s&&t.hasZ){const e=t.zmin+.5*(t.zmax-t.zmin);for(let t=0;tt===i&&r===n&&(null==e&&null==o||e===o)&&(null==s&&null==a||s===a);for(let n=0;nthis.hasZ?this.hasM?[t.x,t.y,t.z,t.m]:[t.x,t.y,t.z]:[t.x,t.y])):t;return u(r)}getPoint(t,r){if(!this._validateInputs(t,r))return null;const e=this.rings[t][r],s=this.hasZ,i=this.hasM;return s&&!i?new l(e[0],e[1],e[2],void 0,this.spatialReference):i&&!s?new l(e[0],e[1],void 0,e[2],this.spatialReference):s&&i?new l(e[0],e[1],e[2],e[3],this.spatialReference):new l(e[0],e[1],this.spatialReference)}insertPoint(t,r,e){return this._validateInputs(t,r,!0)?(y(this,e),Array.isArray(e)||(e=e.toArray()),this.rings[t].splice(r,0,e),this.notifyChange(\"rings\"),this):this}removePoint(t,r){if(!this._validateInputs(t,r))return null;const e=new l(this.rings[t].splice(r,1)[0],this.spatialReference);return this.notifyChange(\"rings\"),e}removeRing(t){if(!this._validateInputs(t,null))return null;const r=this.rings.splice(t,1)[0],e=this.spatialReference,s=r.map((t=>new l(t,e)));return this.notifyChange(\"rings\"),s}setPoint(t,r,e){return this._validateInputs(t,r)?(y(this,e),Array.isArray(e)||(e=e.toArray()),this.rings[t][r]=e,this.notifyChange(\"rings\"),this):this}_validateInputs(t,r,e=!1){if(null==t||t<0||t>=this.rings.length)return!1;if(null!=r){const s=this.rings[t];if(e&&(r<0||r>s.length))return!1;if(!e&&(r<0||r>=s.length))return!1}return!0}toJSON(t){return this.write({},t)}};t([s({readOnly:!0})],w.prototype,\"cache\",null),t([s({readOnly:!0})],w.prototype,\"centroid\",null),t([s({readOnly:!0})],w.prototype,\"extent\",null),t([s({readOnly:!0})],w.prototype,\"isSelfIntersecting\",null),t([s({type:[[[Number]]],json:{write:{isRequired:!0}}})],w.prototype,\"rings\",void 0),t([n(\"rings\")],w.prototype,\"writeRings\",null),w=d=t([i(\"esri.geometry.Polygon\")],w);const v=w;w.prototype.toJSON.isDefaultToJSON=!0;export{v as default};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{_ as t}from\"../chunks/tslib.es6.js\";import{clone as e}from\"../core/lang.js\";import{property as s}from\"../core/accessorSupport/decorators/property.js\";import\"../core/has.js\";import\"../core/Logger.js\";import{subclass as r}from\"../core/accessorSupport/decorators/subclass.js\";import{writer as i}from\"../core/accessorSupport/decorators/writer.js\";import a from\"./Extent.js\";import n from\"./Geometry.js\";import o from\"./Point.js\";import h from\"./SpatialReference.js\";import{getPolylineExtent as p}from\"./support/extentUtils.js\";import{updateSupportFromPoint as l}from\"./support/zmUtils.js\";var c;function u(t){return!Array.isArray(t[0])}function f(t){return\"number\"==typeof t[0]?.[0]}function m(t){if(!t)return;let{paths:e,hasM:s,hasZ:r,spatialReference:i}=t;switch(e??=[],f(e)&&(e=[e]),e[0]?.[0]?.length){case 4:r??=!0,s??=!0;break;case 3:r??=!0!==s,s??=!r;break;default:r??=!1,s??=!1}return i??=h.WGS84,{...t,hasM:s,hasZ:r,paths:e,spatialReference:i}}let y=c=class extends n{constructor(t){super(m(t)),this.paths=[],this.type=\"polyline\"}get cache(){return this.commitProperty(\"paths\"),this.commitProperty(\"hasZ\"),this.commitProperty(\"hasM\"),this.commitProperty(\"spatialReference\"),{}}get extent(){const{spatialReference:t}=this,e=p(this);if(!e)return null;const s=new a(e);return s.spatialReference=t,s}writePaths(t,s){s.paths=e(this.paths)}addPath(t){if(!t)return;const e=this.paths,s=e.length;if(u(t)){const r=[];for(let e=0,s=t.length;enew o(t,s)));return this.notifyChange(\"paths\"),r}removePoint(t,e){if(!this._validateInputs(t,e))return null;const s=new o(this.paths[t].splice(e,1)[0],this.spatialReference);return this.notifyChange(\"paths\"),s}setPoint(t,e,s){return this._validateInputs(t,e)?(l(this,s),Array.isArray(s)||(s=s.toArray()),this.paths[t][e]=s,this.notifyChange(\"paths\"),this):this}_validateInputs(t,e,s=!1){if(null==t||t<0||t>=this.paths.length)return!1;if(null!=e){const r=this.paths[t];if(s&&(e<0||e>r.length))return!1;if(!s&&(e<0||e>=r.length))return!1}return!0}toJSON(t){return this.write({},t)}};t([s({readOnly:!0})],y.prototype,\"cache\",null),t([s({readOnly:!0})],y.prototype,\"extent\",null),t([s({type:[[[Number]]],json:{write:{isRequired:!0}}})],y.prototype,\"paths\",void 0),t([i(\"paths\")],y.prototype,\"writePaths\",null),y=c=t([r(\"esri.geometry.Polyline\")],y);const d=y;y.prototype.toJSON.isDefaultToJSON=!0;export{d as default};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{_ as e}from\"../chunks/tslib.es6.js\";import t from\"../core/Accessor.js\";import{JSONSupport as r}from\"../core/JSONSupport.js\";import{clone as i}from\"../core/lang.js\";import{getMetersPerUnitForSR as o,getUnitString as s}from\"../core/unitUtils.js\";import{Integer as n}from\"../core/accessorSupport/ensureType.js\";import{property as l}from\"../core/accessorSupport/decorators/property.js\";import{subclass as a}from\"../core/accessorSupport/decorators/subclass.js\";import{writer as p}from\"../core/accessorSupport/decorators/writer.js\";import{wgs84 as u,webMercator as d,plateCarree as c,isWGS84 as m,isWebMercator as w,isGeographic as y,isWrappable as k,equals as h}from\"./support/spatialReferenceUtils.js\";var S;let f=S=class extends r{static fromJSON(e){if(!e)return null;if(102100===e?.wkid)return S.WebMercator;if(4326===e?.wkid)return S.WGS84;const t=new S;return t.read(e),t}constructor(e){super(e),this.latestWkid=null,this.wkid=null,this.wkt=null,this.wkt2=null,this.vcsWkid=null,this.latestVcsWkid=null,this.imageCoordinateSystem=null}normalizeCtorArgs(e){if(e&&\"object\"==typeof e)return e;const t=\"string\"==typeof e?\"wkt\":\"wkid\";return{[t]:e}}get isWGS84(){return m(this)}get isWebMercator(){return w(this)}get isGeographic(){return y(this)}get isWrappable(){return k(this)}get metersPerUnit(){return o(this)}get unit(){return s(this)||(this.isGeographic?\"degrees\":null)}writeWkt(e,t){this.wkid||(t.wkt=e)}clone(){if(this===S.WGS84)return new S(u);if(this===S.WebMercator)return new S(d);const e=new S;return null!=this.wkid?(e.wkid=this.wkid,null!=this.latestWkid&&(e.latestWkid=this.latestWkid),null!=this.vcsWkid&&(e.vcsWkid=this.vcsWkid),null!=this.latestVcsWkid&&(e.latestVcsWkid=this.latestVcsWkid)):(null!=this.wkt&&(e.wkt=this.wkt),null!=this.wkt2&&(e.wkt2=this.wkt2)),this.imageCoordinateSystem&&(e.imageCoordinateSystem=i(this.imageCoordinateSystem)),e}equals(e){if(null==e)return!1;if(this.imageCoordinateSystem||e.imageCoordinateSystem){if(null==this.imageCoordinateSystem||null==e.imageCoordinateSystem)return!1;const{id:t,referenceServiceName:r}=e.imageCoordinateSystem,{geodataXform:i}=e.imageCoordinateSystem,o=this.imageCoordinateSystem;return null==t||i?JSON.stringify(o)===JSON.stringify(e.imageCoordinateSystem):r?o.id===t&&o.referenceServiceName===r:o.id===t}return h(this,e)}toJSON(e){return this.write(void 0,e)}};f.GCS_NAD_1927=null,f.WGS84=null,f.WebMercator=null,f.PlateCarree=null,e([l({readOnly:!0})],f.prototype,\"isWGS84\",null),e([l({readOnly:!0})],f.prototype,\"isWebMercator\",null),e([l({readOnly:!0})],f.prototype,\"isGeographic\",null),e([l({readOnly:!0})],f.prototype,\"isWrappable\",null),e([l({type:n,json:{write:!0}})],f.prototype,\"latestWkid\",void 0),e([l({readOnly:!0})],f.prototype,\"metersPerUnit\",null),e([l({readOnly:!0})],f.prototype,\"unit\",null),e([l({type:n,json:{write:!0,origins:{\"web-scene\":{write:{overridePolicy(){return{isRequired:null==this.wkt}}}}}}})],f.prototype,\"wkid\",void 0),e([l({type:String,json:{origins:{\"web-scene\":{write:{overridePolicy(){return{isRequired:null==this.wkid}}}}}}})],f.prototype,\"wkt\",void 0),e([p(\"wkt\"),p(\"web-scene\",\"wkt\")],f.prototype,\"writeWkt\",null),e([l({type:String,json:{write:!1}})],f.prototype,\"wkt2\",void 0),e([l({type:n,json:{write:!0}})],f.prototype,\"vcsWkid\",void 0),e([l({type:n,json:{write:!0}})],f.prototype,\"latestVcsWkid\",void 0),e([l()],f.prototype,\"imageCoordinateSystem\",void 0),f=S=e([a(\"esri.geometry.SpatialReference\")],f),f.prototype.toJSON.isDefaultToJSON=!0,f.GCS_NAD_1927=t.freeze(new f({wkid:4267,wkt:'GEOGCS[\"GCS_North_American_1927\",DATUM[\"D_North_American_1927\",SPHEROID[\"Clarke_1866\",6378206.4,294.9786982]],PRIMEM[\"Greenwich\",0.0],UNIT[\"Degree\",0.0174532925199433]]'})),f.WGS84=t.freeze(new f(u)),f.WebMercator=t.freeze(new f(d)),f.PlateCarree=t.freeze(new f(c));const g=f;export{g as default};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{earth as n,mars as e,moon as r}from\"./support/Ellipsoid.js\";import{isValid as t,isWKIDFromMars as i,isWKIDFromMoon as c,equals as o}from\"./support/spatialReferenceUtils.js\";function S(n){return{wkt:`GEOCCS[\"Spherical geocentric\",\\n DATUM[\"Not specified\",\\n SPHEROID[\"Sphere\",${n.radius},0]],\\n PRIMEM[\"Greenwich\",0.0,\\n AUTHORITY[\"EPSG\",\"8901\"]],\\n UNIT[\"m\",1.0],\\n AXIS[\"Geocentric X\",OTHER],\\n AXIS[\"Geocentric Y\",EAST],\\n AXIS[\"Geocentric Z\",NORTH]\\n ]`}}const T=S(n),G=S(e),p=S(r),u={wkt:`GEOCCS[\"WGS 84\",\\n DATUM[\"WGS_1984\",\\n SPHEROID[\"WGS 84\",${n.radius},298.257223563,\\n AUTHORITY[\"EPSG\",\"7030\"]],\\n AUTHORITY[\"EPSG\",\"6326\"]],\\n PRIMEM[\"Greenwich\",0,\\n AUTHORITY[\"EPSG\",\"8901\"]],\\n UNIT[\"m\",1.0,\\n AUTHORITY[\"EPSG\",\"9001\"]],\\n AXIS[\"Geocentric X\",OTHER],\\n AXIS[\"Geocentric Y\",OTHER],\\n AXIS[\"Geocentric Z\",NORTH],\\n AUTHORITY[\"EPSG\",\"4978\"]\\n]`},I=G.wkt.toUpperCase(),E=p.wkt.toUpperCase();function s(o){if(null!=o&&t(o)){const n=o.wkid,t=o.wkt2??o.wkt;if(i(n))return e;const S=t?.toUpperCase();if(t&&S===I)return e;if(c(n)||S&&S===E)return r}return n}function R(t){return i(t)?e:c(t)?r:n}function A(n){return o(n,T)}function O(n){return A(n)||o(n,G)||o(n,p)}export{T as SphericalECEFSpatialReferenceLike,G as SphericalPCPFMarsLike,p as SphericalPCPFMoonLike,u as WGS84ECEFSpatialReferenceLike,s as getReferenceEllipsoid,R as getReferenceEllipsoidFromWKID,A as isSphericalECEF,O as isSphericalPCPF};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport e from\"../Extent.js\";import n from\"../Multipoint.js\";import t from\"../Point.js\";import o from\"../Polygon.js\";import i from\"../Polyline.js\";const r={convertToGEGeometry:s,exportPoint:a,exportPolygon:c,exportPolyline:h,exportMultipoint:m,exportExtent:x};function s(e,n){if(null==n)return null;let t=\"cache\"in n?n.cache._geVersion:void 0;return null==t&&(t=e.convertJSONToGeometry(n),\"cache\"in n&&(n.cache._geVersion=t)),t}function a(e,n,o){const i=e.hasZ(n),r=e.hasM(n),s=new t({x:e.getPointX(n),y:e.getPointY(n),spatialReference:o});return i&&(s.z=e.getPointZ(n)),r&&(s.m=e.getPointM(n)),s.cache._geVersion=n,s}function c(e,n,t){const i=new o({rings:e.exportPaths(n),hasZ:e.hasZ(n),hasM:e.hasM(n),spatialReference:t});return i.cache._geVersion=n,i}function h(e,n,t){const o=new i({paths:e.exportPaths(n),hasZ:e.hasZ(n),hasM:e.hasM(n),spatialReference:t});return o.cache._geVersion=n,o}function m(e,t,o){const i=new n({hasZ:e.hasZ(t),hasM:e.hasM(t),points:e.exportPoints(t),spatialReference:o});return i.cache._geVersion=t,i}function x(n,t,o){const i=n.hasZ(t),r=n.hasM(t),s=new e({xmin:n.getXMin(t),ymin:n.getYMin(t),xmax:n.getXMax(t),ymax:n.getYMax(t),spatialReference:o});if(i){const e=n.getZExtent(t);s.zmin=e.vmin,s.zmax=e.vmax}if(r){const e=n.getMExtent(t);s.mmin=e.vmin,s.mmax=e.vmax}return s.cache._geVersion=t,s}export{r as hydratedAdapter};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nfunction t(t){const n=[];for(t.reset();t.nextPath();){const e=[];for(;t.nextPoint();)e.push([t.x,t.y]);n.push(e)}return t.reset(),n}function n(t){const n=[];for(;t.nextPoint();)n.push([t.x,t.y]);return t.seekPathStart(),n}export{t as collectMultipath,n as collectPath};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport\"../geometry.js\";import{ensureClass as n}from\"../core/accessorSupport/ensureType.js\";import{G as e}from\"../chunks/geometryEngineBase.js\";import{hydratedAdapter as r}from\"./geometryAdapters/hydrated.js\";import t from\"./SpatialReference.js\";function u(e){const r=Array.isArray(e)?e[0].spatialReference:e.spatialReference;return r?n(t,r):t.WGS84}function i(n){return e.extendedSpatialReferenceInfo(n)}function o(n,t){return e.clip(r,u(n),n,t)}function c(n,t){return e.cut(r,u(n),n,t)}function f(n,t){return e.contains(r,u(n),n,t)}function s(n,t){return e.crosses(r,u(n),n,t)}function a(n,t,i){return e.distance(r,u(n),n,t,i)}function l(n,t){return e.equals(r,u(n),n,t)}function p(n,t){return e.intersects(r,u(n),n,t)}function m(n,t){return e.touches(r,u(n),n,t)}function d(n,t){return e.within(r,u(n),n,t)}function g(n,t){return e.disjoint(r,u(n),n,t)}function h(n,t){return e.overlaps(r,u(n),n,t)}function w(n,t,i){return e.relate(r,u(n),n,t,i)}function R(n){return e.isSimple(r,u(n),n)}function y(n){return e.simplify(r,u(n),n)}function x(n,t=!1){return e.convexHull(r,u(n),n,t)}function S(n,t){return e.difference(r,u(n),n,t)}function j(n,t){return e.symmetricDifference(r,u(n),n,t)}function A(n,t){return e.intersect(r,u(n),n,t)}function D(n,t=null){return e.union(r,u(n),n,t)}function T(n,t,i,o,c,f){return e.offset(r,u(n),n,t,i,o,c,f)}function E(n,t,i,o=!1){return e.buffer(r,u(n),n,t,i,o)}function J(n,t,i,o,c,f){return e.geodesicBuffer(r,u(n),n,t,i,o,c,f)}function L(n,t,i=!0){return e.nearestCoordinate(r,u(n),n,t,i)}function N(n,t){return e.nearestVertex(r,u(n),n,t)}function O(n,t,i,o){return e.nearestVertices(r,u(n),n,t,i,o)}function V(n){return\"xmin\"in n?\"center\"in n?n.center:null:\"x\"in n?n:\"extent\"in n?n.extent?.center??null:null}function v(n,r,t){if(null==n)throw new K;const u=n.spatialReference;if(null==(t=t??V(n)))throw new K;const i=n.constructor.fromJSON(e.rotate(n,r,t));return i.spatialReference=u,i}function z(n,r){if(null==n)throw new K;const t=n.spatialReference;if(null==(r=r??V(n)))throw new K;const u=n.constructor.fromJSON(e.flipHorizontal(n,r));return u.spatialReference=t,u}function B(n,r){if(null==n)throw new K;const t=n.spatialReference;if(null==(r=r??V(n)))throw new K;const u=n.constructor.fromJSON(e.flipVertical(n,r));return u.spatialReference=t,u}function G(n,t,i,o){return e.generalize(r,u(n),n,t,i,o)}function H(n,t,i){return e.densify(r,u(n),n,t,i)}function I(n,t,i,o=0){return e.geodesicDensify(r,u(n),n,t,i,o)}function b(n,t){return e.planarArea(r,u(n),n,t)}function k(n,t){return e.planarLength(r,u(n),n,t)}function q(n,t,i){return e.geodesicArea(r,u(n),n,t,i)}function C(n,t,i){return e.geodesicLength(r,u(n),n,t,i)}function P(n,t){return e.intersectLinesToPoints(r,u(n),n,t)}function W(n,r){e.changeDefaultSpatialReferenceTolerance(n,r)}function F(n){e.clearDefaultSpatialReferenceTolerance(n)}class K extends Error{constructor(){super(\"Illegal Argument Exception\")}}export{E as buffer,W as changeDefaultSpatialReferenceTolerance,F as clearDefaultSpatialReferenceTolerance,o as clip,f as contains,x as convexHull,s as crosses,c as cut,H as densify,S as difference,g as disjoint,a as distance,l as equals,i as extendedSpatialReferenceInfo,z as flipHorizontal,B as flipVertical,G as generalize,q as geodesicArea,J as geodesicBuffer,I as geodesicDensify,C as geodesicLength,A as intersect,P as intersectLinesToPoints,p as intersects,R as isSimple,L as nearestCoordinate,N as nearestVertex,O as nearestVertices,T as offset,h as overlaps,b as planarArea,k as planarLength,w as relate,v as rotate,y as simplify,j as symmetricDifference,m as touches,D as union,d as within};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport n from\"../core/Error.js\";import{throwIfAborted as e,waitTick as r}from\"../core/promiseUtils.js\";import{trackAccess as t}from\"../core/accessorSupport/tracking.js\";import{SimpleObservable as l}from\"../core/accessorSupport/tracking/SimpleObservable.js\";import{create as o}from\"../core/libs/gl-matrix-2/factories/vec3f64.js\";import{isSphericalECEF as i,isSphericalPCPF as u}from\"./ellipsoidUtils.js\";import s from\"./Extent.js\";import a from\"./Multipoint.js\";import{l as c,p as f,i as p}from\"../chunks/pe.js\";import m from\"./Point.js\";import h from\"./Polygon.js\";import g from\"./Polyline.js\";import R from\"./SpatialReference.js\";import{projectBuffer as j}from\"./projection/projectBuffer.js\";import{getProjector as y,projectorCache as d}from\"./projection/projectors.js\";import{projectXYZToVector as x}from\"./projection/projectXYZToVector.js\";import w from\"./support/GeographicTransformation.js\";import{equals as z,isValid as M,isWGS84 as Z,isWebMercator as v,isCGCS2000 as A}from\"./support/spatialReferenceUtils.js\";import{getGeometryZScaler as S}from\"./support/zscale.js\";let G=null,P=null,b=null,E={};const T=new l;function _(){return!!G&&p()}function k(){return!!_()||(t(T),W(),!1)}function B(n,e){return!n||!e||(J(n,e)||k())}function U(n,e){return!J(n,e)&&!_()}function W(n){return null==b&&(b=Promise.all([c(),import(\"../chunks/geometryEngineBase.js\").then((n=>n.g)),import(\"./geometryAdapters/hydrated.js\")])),b.then((([,r,{hydratedAdapter:t}])=>{e(n),P=t,G=r.default,G._enableProjection(f),T.notify()}))}function K(n,e,r=null,t=null){return Array.isArray(n)?0===n.length?[]:O(P,n,n[0].spatialReference,e,r,t):O(P,[n],n.spatialReference,e,r,t)[0]}function O(n,e,r,t,l=null,o=null){if(null==r||null==t)return e;if(J(r,t,l))return e.map((n=>Q(n,r,t)));if(null==l&&i(r)){return e.map((n=>Q(n,r,R.WGS84))).map((n=>H(n,t)))}if(null==l&&i(t)){return e.map((n=>H(n,R.WGS84))).map((n=>Q(n,R.WGS84,t)))}if(null==l){const n=w.cacheKey(r,t);void 0!==E[n]?l=E[n]:(null==(l=Y(r,t,void 0))&&(l=new w),E[n]=l)}if(null==G||null==n)throw new C;return null!=o?G._project(n,e,r,t,l,o):G._project(n,e,r,t,l)}function V(n,e){const r=X([n],e);return null!=r.pending?{pending:r.pending,geometry:null}:null!=r.geometries?{pending:null,geometry:r.geometries[0]}:{pending:null,geometry:null}}function X(n,e){if(!_())for(const r of n)if(null!=r&&!z(r.spatialReference,e)&&M(r.spatialReference)&&M(e)&&!J(r.spatialReference,e))return t(T),{pending:W(),geometries:null};return{pending:null,geometries:n.map((n=>null==n?null:z(n.spatialReference,e)?n:M(n.spatialReference)&&M(e)?H(n,e):null))}}function Y(n,e,r=null){if(null==n||null==e)return null;if(null==G||null==P)throw new C;const t=G._getTransformation(P,n,e,r,r?.spatialReference);return null!==t?w.fromGE(t):null}function q(n,e,r=null){if(null==G||null==P)throw new C;const t=G._getTransformationBySuitability(P,n,e,r,r?.spatialReference);if(null!==t){const n=[];for(const e of t)n.push(w.fromGE(e));return n}return[]}class C extends n{constructor(){super(\"projection:not-loaded\",\"projection engine not fully loaded yet, please call load()\")}}function D(){G=null,P=null,b=null,E={}}const F={get loadPromise(){return b}};function H(n,e){try{const r=K(n,e);if(null==r)return null;\"xmin\"in n&&\"xmin\"in r&&(r.zmin=n.zmin,r.zmax=n.zmax);const t=S(r.type,n.spatialReference,e);return null!=t&&t(r),r}catch(r){if(!(r instanceof C))throw r;return null}}async function I(n,e,r){const t=n.spatialReference;return null!=t&&null!=e&&await N(t,e,null,r),H(n,e)}function J(n,e,r){return!r&&(!!z(n,e)||M(n)&&M(e)&&!!y(n,e,d))}function L(n,e){if(z(n,e))return!0;if(!M(n)||!M(e))return!1;const r=Z(n)||v(n)||A(n),t=Z(e)||v(e)||A(e);return r&&t}async function N(n,e,t,l){if(_())return r(l);if(Array.isArray(n)){for(const{source:r,dest:o,geographicTransformation:i}of n)if(r&&o&&!J(r,o,i))return W(l)}else if(n&&e&&!J(n,e,t))return W(l);return r(l)}function Q(n,e,r){return n?\"x\"in n?nn(n,e,new m,r,0):\"xmin\"in n?an(n,e,new s,r,0):\"rings\"in n?un(n,e,new h,r,0):\"paths\"in n?ln(n,e,new g,r,0):\"points\"in n?rn(n,e,new a,r,0):null:null}function $(n,e,r=e.spatialReference,t=0){return null!=r&&null!=n.spatialReference&&null!=nn(n,n.spatialReference,e,r,t)}function nn(n,e,r,t,l){fn[0]=n.x,fn[1]=n.y;const o=n.z;return fn[2]=void 0!==o?o:l,j(fn,e,0,fn,t,0)?(r.x=fn[0],r.y=fn[1],r.spatialReference=t,void 0!==o||u(t)?(r.z=fn[2],r.hasZ=!0):(r.z=void 0,r.hasZ=!1),void 0===n.m?(r.m=void 0,r.hasM=!1):(r.m=n.m,r.hasM=!0),r):null}function en(n,e,r=e.spatialReference,t=0){return null!=n.spatialReference&&null!=r&&null!=rn(n,n.spatialReference,e,r,t)}function rn(n,e,r,t,l){const{points:o,hasZ:i,hasM:s}=n,a=[],c=o.length,f=[];for(const u of o)f.push(u[0],u[1],i?u[2]:l);if(!j(f,e,0,f,t,0,c))return null;const p=i||u(t);for(let u=0;u.3?(M=u/c*(1+o*(E.a1+W+s*F)/c),p=Math.asin(M),O=M*M,i=Math.sqrt(1-O)):(i=a/c*(1-s*(E.a5-W-o*F)/c),p=Math.acos(i),O=1-i*i,M=Math.sqrt(O)),N=1-A.eccentricitySquared*O,L=A.radius/Math.sqrt(N),G=E.a6*L,W=a-L*i,F=u-G*M,I=i*W+M*F,f=i*F-M*W,T=f/(G/N+I),p+=T,h=I+f*T/2,r<0&&(p=-p),l[e++]=Sn*H,l[e++]=Sn*p,l[e]=h}function Z(n,C,l,e){Y(n,C,l,e),x(l,e,l,e)}function $(n,C,l,e){Y(n,C,l,e),h(l,e,l,e)}function nn(n,C,l){if(null==n||null==C||l.source.spatialReference===n&&l.dest.spatialReference===C)return l;const e=F(n,l.source),E=F(C,l.dest);return e===N.UNKNOWN&&E===N.UNKNOWN?i(n,C)?l.projector=f:l.projector=null:l.projector=L[e][E],l}function Cn(){return{source:{spatialReference:null,spatialReferenceId:N.UNKNOWN,metersPerUnit:1},dest:{spatialReference:null,spatialReferenceId:N.UNKNOWN,metersPerUnit:1},projector:f}}const ln={spatialReference:null,spatialReferenceId:N.UNKNOWN},en={spatialReference:null,spatialReferenceId:N.UNKNOWN},En=Cn(),tn=l(1),Sn=n(1),rn=Math.PI,un=.5*rn,Rn=A.radius,an=Rn*rn/180,An=180/(Rn*rn);export{N as ProjectionID,F as classifySpatialReference,f as copy3,Cn as createEmptyProjectorCache,en as destClassificationCache,G as getProjector,W as getProjectorName,An as invPlateCarreeScale,H as lonLatToWebMercatorComparable,nn as populateProjectorCache,L as projectionTable,En as projectorCache,ln as sourceClassificationCache,y as sphericalPCPFtoLonLatElevation,h as wgs84ToWebMercator};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nvar n;!function(n){n[n.X=0]=\"X\",n[n.Y=1]=\"Y\",n[n.Z=2]=\"Z\"}(n||(n={}));export{n as Axis};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{nativeArrayMaxSize as r,isArray as n}from\"../../core/typedArrayUtil.js\";function t(n,t=!1){return n<=r?t?new Array(n).fill(0):new Array(n):new Float64Array(n)}function e(t){return(n(t)?t.length:t.byteLength/8)<=r?Array.from(t):new Float64Array(t)}function a(r,n,t){return Array.isArray(r)?r.slice(n,n+t):r.subarray(n,n+t)}function o(r,n){for(let t=0;t=0;s--){const e=this.steps[s];t.steps.push(e.getInverse())}return t}getGTListEntry(){let t=\"\";for(const s of this.steps)t+=s.uid.toString()+\",\";return t!==this._chain&&(this._gtlistentry=null,this._cachedProjection={},this._chain=t),this._gtlistentry}assignCachedGe(t,e,i){this._cachedProjection[s.cacheKey(t,e)]=i}getCachedGeTransformation(t,e){let i=\"\";for(const s of this.steps)i+=s.uid.toString()+\",\";i!==this._chain&&(this._gtlistentry=null,this._cachedProjection={},this._chain=i);const n=this._cachedProjection[s.cacheKey(t,e)];return void 0===n?null:n}}export{s as default};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nlet s=0;class t{static fromGE(s){const i=new t;return i._wkt=s.wkt,i._wkid=s.wkid,i._isInverse=s.isInverse,i}constructor(t){this.uid=s++,t?(this._wkt=null!=t.wkt?t.wkt:null,this._wkid=null!=t.wkid?t.wkid:-1,this._isInverse=null!=t.isInverse&&!0===t.isInverse):(this._wkt=null,this._wkid=-1,this._isInverse=!1)}get wkt(){return this._wkt}set wkt(t){this._wkt=t,this.uid=s++}get wkid(){return this._wkid}set wkid(t){this._wkid=t,this.uid=s++}get isInverse(){return this._isInverse}set isInverse(t){this._isInverse=t,this.uid=s++}getInverse(){const s=new t;return s._wkt=this.wkt,s._wkid=this._wkid,s._isInverse=!this.isInverse,s}}export{t as default};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{_ as e}from\"../../chunks/tslib.es6.js\";import{ClonableMixin as r}from\"../../core/Clonable.js\";import{JSONSupport as o}from\"../../core/JSONSupport.js\";import{property as s}from\"../../core/accessorSupport/decorators/property.js\";import\"../../core/has.js\";import\"../../core/Logger.js\";import\"../../core/RandomLCG.js\";import{enumeration as t}from\"../../core/accessorSupport/decorators/enumeration.js\";import{subclass as p}from\"../../core/accessorSupport/decorators/subclass.js\";var c;let i=c=class extends(r(o)){constructor(e){super(e),this.type=\"georeferenced\",this.origin=null}};i.absolute=new c,e([t({georeferenced:\"georeferenced\"},{readOnly:!0})],i.prototype,\"type\",void 0),e([s({type:[Number],nonNullable:!1,json:{write:!0}})],i.prototype,\"origin\",void 0),i=c=e([p(\"esri.geometry.support.MeshGeoreferencedVertexSpace\")],i);const a=i;export{a as default};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{_ as o}from\"../../chunks/tslib.es6.js\";import{ClonableMixin as r}from\"../../core/Clonable.js\";import{JSONSupport as e}from\"../../core/JSONSupport.js\";import{property as s}from\"../../core/accessorSupport/decorators/property.js\";import\"../../core/has.js\";import\"../../core/Logger.js\";import\"../../core/RandomLCG.js\";import{enumeration as t}from\"../../core/accessorSupport/decorators/enumeration.js\";import{subclass as p}from\"../../core/accessorSupport/decorators/subclass.js\";import{create as c}from\"../../core/libs/gl-matrix-2/factories/vec3f64.js\";let i=class extends(r(e)){constructor(o){super(o),this.type=\"local\",this.origin=c()}};o([t({local:\"local\"},{readOnly:!0})],i.prototype,\"type\",void 0),o([s({type:[Number],nonNullable:!0,json:{write:!0}})],i.prototype,\"origin\",void 0),i=o([p(\"esri.geometry.support.MeshLocalVertexSpace\")],i);const a=i;export{a as default};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nvar S;!function(S){S[S.CGCS2000=4490]=\"CGCS2000\",S[S.GCSMARS2000=104971]=\"GCSMARS2000\",S[S.GCSMARS2000_SPHERE=104905]=\"GCSMARS2000_SPHERE\",S[S.GCSMOON2000=104903]=\"GCSMOON2000\"}(S||(S={}));export{S as SupportedGCSWkids};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nlet o;const r={values:[1,.3048,.3048006096012192,.3047972654,.9143917962,.201166195164,.9143984146160287,.3047994715386762,20.11676512155263,20.11678249437587,.9143985307444408,.91439523,.3047997101815088,20.1168,20.116756,5e4,15e4],units:[\"Meter\",\"Foot\",\"Foot_US\",\"Foot_Clarke\",\"Yard_Clarke\",\"Link_Clarke\",\"Yard_Sears\",\"Foot_Sears\",\"Chain_Sears\",\"Chain_Benoit_1895_B\",\"Yard_Indian\",\"Yard_Indian_1937\",\"Foot_Gold_Coast\",\"Chain\",\"Chain_Sears_1922_Truncated\",\"50_Kilometers\",\"150_Kilometers\"],2066:5,2136:12,2155:2,2157:0,2158:0,2159:12,2160:12,2204:2,2219:0,2220:0,2254:2,2255:2,2256:1,2265:1,2266:1,2267:2,2268:2,2269:1,2270:1,2271:2,2272:2,2273:1,2294:0,2295:0,2314:3,2899:2,2900:2,2901:1,2909:1,2910:1,2911:2,2912:2,2913:1,2914:1,2992:1,2993:0,2994:1,3080:1,3089:2,3090:0,3091:2,3102:2,3141:0,3142:0,3167:14,3359:2,3360:0,3361:1,3362:0,3363:2,3364:0,3365:2,3366:3,3404:2,3405:0,3406:0,3407:3,3439:0,3440:0,3479:1,3480:0,3481:1,3482:0,3483:1,3484:0,3485:2,3486:0,3487:2,3488:0,3489:0,3490:2,3491:0,3492:2,3493:0,3494:2,3495:0,3496:2,3497:0,3498:2,3499:0,3500:2,3501:0,3502:2,3503:0,3504:2,3505:0,3506:2,3507:0,3508:2,3509:0,3510:2,3511:0,3512:2,3513:0,3514:0,3515:2,3516:0,3517:2,3518:0,3519:2,3520:0,3521:2,3522:0,3523:2,3524:0,3525:2,3526:0,3527:2,3528:0,3529:2,3530:0,3531:2,3532:0,3533:2,3534:0,3535:2,3536:0,3537:2,3538:0,3539:2,3540:0,3541:2,3542:0,3543:2,3544:0,3545:2,3546:0,3547:2,3548:0,3549:2,3550:0,3551:2,3552:0,3553:2,3582:2,3583:0,3584:2,3585:0,3586:2,3587:0,3588:1,3589:0,3590:1,3591:0,3592:0,3593:1,3598:2,3599:0,3600:2,3605:1,3606:0,3607:0,3608:2,3609:0,3610:2,3611:0,3612:2,3613:0,3614:2,3615:0,3616:2,3617:0,3618:2,3619:0,3620:2,3621:0,3622:2,3623:0,3624:2,3625:0,3626:2,3627:0,3628:2,3629:0,3630:2,3631:0,3632:2,3633:0,3634:1,3635:0,3636:1,3640:2,3641:0,3642:2,3643:0,3644:1,3645:0,3646:1,3647:0,3648:1,3649:0,3650:2,3651:0,3652:2,3653:0,3654:2,3655:0,3656:1,3657:0,3658:2,3659:0,3660:2,3661:0,3662:2,3663:0,3664:2,3668:2,3669:0,3670:2,3671:0,3672:2,3673:0,3674:2,3675:0,3676:1,3677:2,3678:0,3679:1,3680:2,3681:0,3682:1,3683:2,3684:0,3685:0,3686:2,3687:0,3688:2,3689:0,3690:2,3691:0,3692:2,3696:2,3697:0,3698:2,3699:0,3700:2,3793:0,3794:0,3812:0,3854:0,3857:0,3920:0,3978:0,3979:0,3991:2,3992:2,4026:0,4037:0,4038:0,4071:0,4082:0,4083:0,4087:0,4088:0,4217:2,4414:0,4415:0,4417:0,4434:0,4437:0,4438:2,4439:2,4462:0,4467:0,4471:0,4474:0,4559:0,4647:0,4822:0,4826:0,4839:0,5018:0,5041:0,5042:0,5048:0,5221:0,5223:0,5234:0,5235:0,5243:0,5247:0,5266:0,5316:0,5320:0,5321:0,5325:0,5337:0,5361:0,5362:0,5367:0,5382:0,5383:0,5396:0,5456:0,5457:0,5469:0,5472:4,5490:0,5513:0,5514:0,5523:0,5559:0,5588:1,5589:3,5596:0,5627:0,5629:0,5641:0,5643:0,5644:0,5646:2,5654:2,5655:2,5659:0,5700:0,5825:0,5836:0,5837:0,5839:0,5842:0,5844:0,5858:0,5879:0,5880:0,5887:0,5890:0,6128:1,6129:1,6141:1,6204:0,6210:0,6211:0,6307:0,6312:0,6316:0,6362:0,6391:1,6405:1,6406:0,6407:1,6408:0,6409:1,6410:0,6411:2,6412:0,6413:2,6414:0,6415:0,6416:2,6417:0,6418:2,6419:0,6420:2,6421:0,6422:2,6423:0,6424:2,6425:0,6426:2,6427:0,6428:2,6429:0,6430:2,6431:0,6432:2,6433:0,6434:2,6435:0,6436:2,6437:0,6438:2,6439:0,6440:0,6441:2,6442:0,6443:2,6444:0,6445:2,6446:0,6447:2,6448:0,6449:2,6450:0,6451:2,6452:0,6453:2,6454:0,6455:2,6456:0,6457:2,6458:0,6459:2,6460:0,6461:2,6462:0,6463:2,6464:0,6465:2,6466:0,6467:2,6468:0,6469:2,6470:0,6471:2,6472:0,6473:2,6474:0,6475:2,6476:0,6477:2,6478:0,6479:2,6484:2,6485:0,6486:2,6487:0,6488:2,6489:0,6490:2,6491:0,6492:2,6493:0,6494:1,6495:0,6496:1,6497:0,6498:0,6499:1,6500:0,6501:2,6502:0,6503:2,6504:0,6505:2,6506:0,6507:2,6508:0,6509:0,6510:2,6515:1,6516:0,6518:0,6519:2,6520:0,6521:2,6522:0,6523:2,6524:0,6525:2,6526:0,6527:2,6528:0,6529:2,6530:0,6531:2,6532:0,6533:2,6534:0,6535:2,6536:0,6537:2,6538:0,6539:2,6540:0,6541:2,6542:0,6543:2,6544:0,6545:1,6546:0,6547:1,6548:0,6549:2,6550:0,6551:2,6552:0,6553:2,6554:0,6555:2,6556:0,6557:1,6558:0,6559:1,6560:0,6561:1,6562:0,6563:2,6564:0,6565:2,6566:0,6567:0,6568:2,6569:0,6570:1,6571:0,6572:2,6573:0,6574:2,6575:0,6576:2,6577:0,6578:2,6582:2,6583:0,6584:2,6585:0,6586:2,6587:0,6588:2,6589:0,6590:2,6591:0,6592:0,6593:2,6594:0,6595:2,6596:0,6597:2,6598:0,6599:2,6600:0,6601:2,6602:0,6603:2,6605:2,6606:0,6607:2,6608:0,6609:2,6610:0,6611:0,6612:2,6613:0,6614:2,6615:0,6616:2,6617:0,6618:2,6633:2,6646:0,6703:0,6784:0,6785:1,6786:0,6787:1,6788:0,6789:1,6790:0,6791:1,6792:0,6793:1,6794:0,6795:1,6796:0,6797:1,6798:0,6799:1,6800:0,6801:1,6802:0,6803:1,6804:0,6805:1,6806:0,6807:1,6808:0,6809:1,6810:0,6811:1,6812:0,6813:1,6814:0,6815:1,6816:0,6817:1,6818:0,6819:1,6820:0,6821:1,6822:0,6823:1,6824:0,6825:1,6826:0,6827:1,6828:0,6829:1,6830:0,6831:1,6832:0,6833:1,6834:0,6835:1,6836:0,6837:1,6838:0,6839:1,6840:0,6841:1,6842:0,6843:1,6844:0,6845:1,6846:0,6847:1,6848:0,6849:1,6850:0,6851:1,6852:0,6853:1,6854:0,6855:1,6856:0,6857:1,6858:0,6859:1,6860:0,6861:1,6862:0,6863:1,6867:0,6868:1,6870:0,6875:0,6876:0,6879:0,6880:2,6884:0,6885:1,6886:0,6887:1,6915:0,6922:0,6923:2,6924:0,6925:2,6962:0,6984:0,6991:0,7128:2,7131:0,7132:2,7142:0,7257:0,7258:2,7259:0,7260:2,7261:0,7262:2,7263:0,7264:2,7265:0,7266:2,7267:0,7268:2,7269:0,7270:2,7271:0,7272:2,7273:0,7274:2,7275:0,7276:2,7277:0,7278:2,7279:0,7280:2,7281:0,7282:2,7283:0,7284:2,7285:0,7286:2,7287:0,7288:2,7289:0,7290:2,7291:0,7292:2,7293:0,7294:2,7295:0,7296:2,7297:0,7298:2,7299:0,7300:2,7301:0,7302:2,7303:0,7304:2,7305:0,7306:2,7307:0,7308:2,7309:0,7310:2,7311:0,7312:2,7313:0,7314:2,7315:0,7316:2,7317:0,7318:2,7319:0,7320:2,7321:0,7322:2,7323:0,7324:2,7325:0,7326:2,7327:0,7328:2,7329:0,7330:2,7331:0,7332:2,7333:0,7334:2,7335:0,7336:2,7337:0,7338:2,7339:0,7340:2,7341:0,7342:2,7343:0,7344:2,7345:0,7346:2,7347:0,7348:2,7349:0,7350:2,7351:0,7352:2,7353:0,7354:2,7355:0,7356:2,7357:0,7358:2,7359:0,7360:2,7361:0,7362:2,7363:0,7364:2,7365:0,7366:2,7367:0,7368:2,7369:0,7370:2,7877:0,7878:0,7882:0,7883:0,7887:0,7899:0,7991:0,7992:0,8035:2,8036:2,8058:0,8059:0,8082:0,8083:0,8088:0,8090:0,8091:2,8092:0,8093:2,8095:0,8096:2,8097:0,8098:2,8099:0,8100:2,8101:0,8102:2,8103:0,8104:2,8105:0,8106:2,8107:0,8108:2,8109:0,8110:2,8111:0,8112:2,8113:0,8114:2,8115:0,8116:2,8117:0,8118:2,8119:0,8120:2,8121:0,8122:2,8123:0,8124:2,8125:0,8126:2,8127:0,8128:2,8129:0,8130:2,8131:0,8132:2,8133:0,8134:2,8135:0,8136:2,8137:0,8138:2,8139:0,8140:2,8141:0,8142:2,8143:0,8144:2,8145:0,8146:2,8147:0,8148:2,8149:0,8150:2,8151:0,8152:2,8153:0,8154:2,8155:0,8156:2,8157:0,8158:2,8159:0,8160:2,8161:0,8162:2,8163:0,8164:2,8165:0,8166:2,8167:0,8168:2,8169:0,8170:2,8171:0,8172:2,8173:0,8177:2,8179:0,8180:2,8181:0,8182:2,8184:0,8185:2,8187:0,8189:2,8191:0,8193:2,8196:0,8197:2,8198:0,8200:2,8201:0,8202:2,8203:0,8204:2,8205:0,8206:2,8207:0,8208:2,8209:0,8210:2,8212:0,8213:2,8214:0,8216:2,8218:0,8220:2,8222:0,8224:2,8225:0,8226:2,8311:0,8312:1,8313:0,8314:1,8315:0,8316:1,8317:0,8318:1,8319:0,8320:1,8321:0,8322:1,8323:0,8324:1,8325:0,8326:1,8327:0,8328:1,8329:0,8330:1,8331:0,8332:1,8333:0,8334:1,8335:0,8336:1,8337:0,8338:1,8339:0,8340:1,8341:0,8342:1,8343:0,8344:1,8345:0,8346:1,8347:0,8348:1,8352:0,8353:0,8379:0,8380:2,8381:0,8382:2,8383:0,8384:2,8385:0,8387:2,8391:0,8395:0,8433:0,8441:0,8455:0,8456:0,8531:2,8682:0,8686:0,8687:0,8692:0,8693:0,8826:0,8903:0,8950:0,8951:0,9039:0,9040:0,9141:0,9149:0,9150:0,9191:0,9221:0,9222:0,9249:0,9250:0,9252:0,9254:0,9265:0,9284:0,9285:0,9300:0,9354:0,9367:0,9373:0,9377:0,9387:0,9391:0,9456:0,9473:0,9498:0,9674:0,9678:0,9680:0,9709:0,9712:0,9713:0,9716:0,9741:0,9748:2,9749:2,9761:0,9766:0,9793:0,9794:0,9869:0,9874:0,9875:0,9880:0,9895:0,9943:0,9945:0,9947:0,9967:0,9972:0,9977:0,10160:0,10183:0,10188:0,10194:0,10199:0,10207:0,10212:0,10217:0,10222:0,10227:0,10235:0,10240:0,10250:0,10254:0,10270:0,10275:0,10280:0,10306:0,10329:0,10471:0,10477:0,10481:2,10516:2,20002:0,20042:0,20050:1,20499:0,20538:0,20539:0,20790:0,20791:0,21291:0,21292:0,21500:0,21817:0,21818:0,22032:0,22033:0,22091:0,22092:0,22239:0,22240:0,22332:0,22337:0,22338:0,22391:0,22392:0,22639:0,22700:0,22739:0,22770:0,22780:0,22832:0,23090:0,23095:0,23239:0,23240:0,23433:0,23700:0,24047:0,24048:0,24100:3,24200:0,24305:0,24306:0,24382:10,24383:0,24500:0,24547:0,24548:0,24571:9,24600:0,25e3:0,25231:0,25884:0,25932:0,26237:0,26331:0,26332:0,26432:0,26591:0,26592:0,26632:0,26692:0,27120:0,27200:0,27291:6,27292:6,27429:0,27492:0,27493:0,27500:0,28232:0,28600:0,28991:0,28992:0,29100:0,29101:0,29220:0,29221:0,29333:0,29635:0,29636:0,29701:0,29738:0,29739:0,29849:0,29850:0,29871:8,29872:7,29873:0,29874:0,30200:5,30339:0,30340:0,30591:0,30592:0,30791:0,30792:0,30800:0,31028:0,31121:0,31154:0,31170:0,31171:0,31370:0,31528:0,31529:0,31600:0,31700:0,31838:0,31839:0,31900:0,31901:0,32061:0,32062:0,32098:0,32099:2,32100:0,32104:0,32161:0,32766:0,53048:0,53049:0,54090:0,54091:0,65061:2,65062:2,65161:0,65163:0,102041:2,102064:11,102068:15,102069:16,102118:2,102119:1,102120:2,102121:2,102217:2,102218:0,102219:2,102220:2,102378:1,102379:1,102380:0,102381:1,102589:2,102599:2,102600:2,102604:2,102647:0,102704:2,102705:2,102706:0,102731:0,102732:0,102759:1,102760:1,102761:2,102762:0,102763:2,102764:0,102765:0,102766:2,102970:1,102974:2,102993:0,102994:0,102995:2,102996:2,103015:0,103016:2,103017:0,103018:2,103025:0,103026:0,103027:2,103028:2,103035:0,103036:0,103037:2,103038:2,103039:0,103040:0,103041:2,103042:2,103043:0,103044:0,103045:2,103046:2,103047:0,103048:0,103049:2,103050:2,103051:0,103052:2,103053:0,103054:2,103055:0,103056:2,103057:0,103058:0,103059:2,103060:2,103061:0,103062:0,103063:2,103064:2,103069:2,103070:0,103071:0,103072:2,103073:2,103086:0,103087:0,103088:2,103089:2,103094:1,103095:0,103096:2,103103:0,103104:2,103105:0,103106:2,103121:0,103122:2,103123:0,103124:0,103125:1,103126:1,103127:0,103128:0,103129:2,103130:2,103131:0,103132:0,103133:2,103134:2,103135:0,103136:0,103137:1,103138:1,103139:0,103140:2,103141:0,103142:2,103143:0,103144:2,103145:0,103146:1,103147:0,103148:0,103149:2,103150:2,103151:0,103152:2,103172:0,103173:2,103174:0,103175:0,103176:2,103177:2,103178:0,103179:0,103180:2,103181:2,103182:0,103183:0,103184:2,103185:2,103228:0,103229:0,103230:2,103231:2,103250:0,103251:2,103252:0,103253:2,103260:0,103261:0,103262:2,103263:2,103270:0,103271:0,103272:2,103273:2,103274:0,103275:0,103276:2,103277:2,103278:0,103279:0,103280:2,103281:2,103282:0,103283:0,103284:2,103285:2,103286:0,103287:2,103288:0,103289:2,103290:0,103291:2,103292:0,103293:0,103294:2,103295:2,103296:0,103297:0,103298:2,103299:2,103376:2,103377:0,103378:0,103379:2,103380:2,103393:0,103394:0,103395:2,103396:2,103472:0,103473:1,103474:0,103475:2,103482:0,103483:2,103484:0,103485:2,103500:0,103501:2,103502:0,103503:0,103504:1,103505:1,103506:0,103507:0,103508:2,103509:2,103510:0,103511:0,103512:2,103513:2,103514:0,103515:2,103516:0,103517:2,103518:0,103519:2,103520:0,103521:1,103522:0,103523:0,103524:2,103525:2,103526:0,103527:2,103561:2,103562:2,103563:0,103564:0,103565:2,103566:2,103567:0,103568:0,103569:2,103570:2,103584:0,103585:2,103586:0,103587:2,103588:1,103589:0,103590:2,103591:1,103592:0,103593:2,103594:1,103695:2,103897:1};for(o=2e3;o<=2045;o++)r[o]=0;for(o=2056;o<=2065;o++)r[o]=0;for(o=2067;o<=2135;o++)r[o]=0;for(o=2137;o<=2154;o++)r[o]=0;for(o=2161;o<=2170;o++)r[o]=0;for(o=2172;o<=2193;o++)r[o]=0;for(o=2195;o<=2198;o++)r[o]=0;for(o=2200;o<=2203;o++)r[o]=0;for(o=2205;o<=2217;o++)r[o]=0;for(o=2222;o<=2224;o++)r[o]=1;for(o=2225;o<=2250;o++)r[o]=2;for(o=2251;o<=2253;o++)r[o]=1;for(o=2257;o<=2264;o++)r[o]=2;for(o=2274;o<=2279;o++)r[o]=2;for(o=2280;o<=2282;o++)r[o]=1;for(o=2283;o<=2289;o++)r[o]=2;for(o=2290;o<=2292;o++)r[o]=0;for(o=2308;o<=2313;o++)r[o]=0;for(o=2315;o<=2491;o++)r[o]=0;for(o=2494;o<=2866;o++)r[o]=0;for(o=2867;o<=2869;o++)r[o]=1;for(o=2870;o<=2888;o++)r[o]=2;for(o=2891;o<=2895;o++)r[o]=2;for(o=2896;o<=2898;o++)r[o]=1;for(o=2902;o<=2908;o++)r[o]=2;for(o=2915;o<=2920;o++)r[o]=2;for(o=2921;o<=2923;o++)r[o]=1;for(o=2924;o<=2930;o++)r[o]=2;for(o=2931;o<=2962;o++)r[o]=0;for(o=2964;o<=2968;o++)r[o]=2;for(o=2969;o<=2973;o++)r[o]=0;for(o=2975;o<=2991;o++)r[o]=0;for(o=2995;o<=3051;o++)r[o]=0;for(o=3054;o<=3079;o++)r[o]=0;for(o=3081;o<=3088;o++)r[o]=0;for(o=3092;o<=3101;o++)r[o]=0;for(o=3106;o<=3138;o++)r[o]=0;for(o=3146;o<=3151;o++)r[o]=0;for(o=3153;o<=3166;o++)r[o]=0;for(o=3168;o<=3172;o++)r[o]=0;for(o=3174;o<=3203;o++)r[o]=0;for(o=3294;o<=3358;o++)r[o]=0;for(o=3367;o<=3403;o++)r[o]=0;for(o=3408;o<=3416;o++)r[o]=0;for(o=3417;o<=3438;o++)r[o]=2;for(o=3441;o<=3446;o++)r[o]=2;for(o=3447;o<=3450;o++)r[o]=0;for(o=3451;o<=3459;o++)r[o]=2;for(o=3460;o<=3478;o++)r[o]=0;for(o=3554;o<=3559;o++)r[o]=0;for(o=3560;o<=3570;o++)r[o]=2;for(o=3571;o<=3581;o++)r[o]=0;for(o=3594;o<=3597;o++)r[o]=0;for(o=3601;o<=3604;o++)r[o]=0;for(o=3637;o<=3639;o++)r[o]=0;for(o=3665;o<=3667;o++)r[o]=0;for(o=3693;o<=3695;o++)r[o]=0;for(o=3701;o<=3727;o++)r[o]=0;for(o=3728;o<=3739;o++)r[o]=2;for(o=3740;o<=3751;o++)r[o]=0;for(o=3753;o<=3760;o++)r[o]=2;for(o=3761;o<=3773;o++)r[o]=0;for(o=3775;o<=3777;o++)r[o]=0;for(o=3779;o<=3781;o++)r[o]=0;for(o=3783;o<=3785;o++)r[o]=0;for(o=3788;o<=3791;o++)r[o]=0;for(o=3797;o<=3802;o++)r[o]=0;for(o=3814;o<=3816;o++)r[o]=0;for(o=3825;o<=3829;o++)r[o]=0;for(o=3832;o<=3841;o++)r[o]=0;for(o=3844;o<=3852;o++)r[o]=0;for(o=3873;o<=3885;o++)r[o]=0;for(o=3890;o<=3893;o++)r[o]=0;for(o=3907;o<=3912;o++)r[o]=0;for(o=3942;o<=3950;o++)r[o]=0;for(o=3968;o<=3970;o++)r[o]=0;for(o=3973;o<=3976;o++)r[o]=0;for(o=3986;o<=3989;o++)r[o]=0;for(o=3994;o<=3997;o++)r[o]=0;for(o=4048;o<=4051;o++)r[o]=0;for(o=4056;o<=4063;o++)r[o]=0;for(o=4093;o<=4096;o++)r[o]=0;for(o=4390;o<=4398;o++)r[o]=0;for(o=4399;o<=4413;o++)r[o]=2;for(o=4418;o<=4433;o++)r[o]=2;for(o=4455;o<=4457;o++)r[o]=2;for(o=4484;o<=4489;o++)r[o]=0;for(o=4491;o<=4554;o++)r[o]=0;for(o=4568;o<=4589;o++)r[o]=0;for(o=4652;o<=4656;o++)r[o]=0;for(o=4766;o<=4800;o++)r[o]=0;for(o=5014;o<=5016;o++)r[o]=0;for(o=5069;o<=5072;o++)r[o]=0;for(o=5105;o<=5130;o++)r[o]=0;for(o=5167;o<=5188;o++)r[o]=0;for(o=5253;o<=5259;o++)r[o]=0;for(o=5269;o<=5275;o++)r[o]=0;for(o=5292;o<=5311;o++)r[o]=0;for(o=5329;o<=5331;o++)r[o]=0;for(o=5343;o<=5349;o++)r[o]=0;for(o=5355;o<=5357;o++)r[o]=0;for(o=5387;o<=5389;o++)r[o]=0;for(o=5459;o<=5463;o++)r[o]=0;for(o=5479;o<=5482;o++)r[o]=0;for(o=5518;o<=5520;o++)r[o]=0;for(o=5530;o<=5539;o++)r[o]=0;for(o=5550;o<=5552;o++)r[o]=0;for(o=5562;o<=5583;o++)r[o]=0;for(o=5623;o<=5625;o++)r[o]=2;for(o=5631;o<=5639;o++)r[o]=0;for(o=5649;o<=5653;o++)r[o]=0;for(o=5663;o<=5680;o++)r[o]=0;for(o=5682;o<=5685;o++)r[o]=0;for(o=5875;o<=5877;o++)r[o]=0;for(o=5896;o<=5899;o++)r[o]=0;for(o=5921;o<=5940;o++)r[o]=0;for(o=6050;o<=6125;o++)r[o]=0;for(o=6244;o<=6275;o++)r[o]=0;for(o=6328;o<=6348;o++)r[o]=0;for(o=6350;o<=6356;o++)r[o]=0;for(o=6366;o<=6372;o++)r[o]=0;for(o=6381;o<=6387;o++)r[o]=0;for(o=6393;o<=6404;o++)r[o]=0;for(o=6480;o<=6483;o++)r[o]=0;for(o=6511;o<=6514;o++)r[o]=0;for(o=6579;o<=6581;o++)r[o]=0;for(o=6619;o<=6624;o++)r[o]=0;for(o=6625;o<=6627;o++)r[o]=2;for(o=6628;o<=6632;o++)r[o]=0;for(o=6634;o<=6637;o++)r[o]=0;for(o=6669;o<=6692;o++)r[o]=0;for(o=6707;o<=6709;o++)r[o]=0;for(o=6720;o<=6723;o++)r[o]=0;for(o=6732;o<=6738;o++)r[o]=0;for(o=6931;o<=6933;o++)r[o]=0;for(o=6956;o<=6959;o++)r[o]=0;for(o=7005;o<=7007;o++)r[o]=0;for(o=7057;o<=7070;o++)r[o]=2;for(o=7074;o<=7082;o++)r[o]=0;for(o=7109;o<=7118;o++)r[o]=0;for(o=7119;o<=7127;o++)r[o]=1;for(o=7374;o<=7376;o++)r[o]=0;for(o=7528;o<=7586;o++)r[o]=0;for(o=7587;o<=7645;o++)r[o]=2;for(o=7692;o<=7696;o++)r[o]=0;for(o=7755;o<=7787;o++)r[o]=0;for(o=7791;o<=7795;o++)r[o]=0;for(o=7799;o<=7801;o++)r[o]=0;for(o=7803;o<=7805;o++)r[o]=0;for(o=7825;o<=7831;o++)r[o]=0;for(o=7845;o<=7859;o++)r[o]=0;for(o=8013;o<=8032;o++)r[o]=0;for(o=8065;o<=8068;o++)r[o]=1;for(o=8518;o<=8529;o++)r[o]=2;for(o=8533;o<=8536;o++)r[o]=2;for(o=8538;o<=8540;o++)r[o]=2;for(o=8677;o<=8679;o++)r[o]=0;for(o=8836;o<=8840;o++)r[o]=0;for(o=8857;o<=8859;o++)r[o]=0;for(o=8908;o<=8910;o++)r[o]=0;for(o=9154;o<=9159;o++)r[o]=0;for(o=9205;o<=9218;o++)r[o]=0;for(o=9271;o<=9273;o++)r[o]=0;for(o=9295;o<=9297;o++)r[o]=0;for(o=9356;o<=9360;o++)r[o]=0;for(o=9404;o<=9407;o++)r[o]=0;for(o=9476;o<=9482;o++)r[o]=0;for(o=9487;o<=9494;o++)r[o]=0;for(o=9697;o<=9699;o++)r[o]=0;for(o=9821;o<=9865;o++)r[o]=0;for(o=10285;o<=10291;o++)r[o]=0;for(o=10314;o<=10317;o++)r[o]=0;for(o=10448;o<=10465;o++)r[o]=0;for(o=10731;o<=10733;o++)r[o]=0;for(o=11114;o<=11118;o++)r[o]=0;for(o=20004;o<=20032;o++)r[o]=0;for(o=20047;o<=20049;o++)r[o]=0;for(o=20062;o<=20092;o++)r[o]=0;for(o=20135;o<=20138;o++)r[o]=0;for(o=20248;o<=20258;o++)r[o]=0;for(o=20348;o<=20358;o++)r[o]=0;for(o=20436;o<=20440;o++)r[o]=0;for(o=20822;o<=20824;o++)r[o]=0;for(o=20904;o<=20932;o++)r[o]=0;for(o=20934;o<=20936;o++)r[o]=0;for(o=21004;o<=21032;o++)r[o]=0;for(o=21035;o<=21037;o++)r[o]=0;for(o=21095;o<=21097;o++)r[o]=0;for(o=21148;o<=21150;o++)r[o]=0;for(o=21207;o<=21264;o++)r[o]=0;for(o=21307;o<=21364;o++)r[o]=0;for(o=21413;o<=21423;o++)r[o]=0;for(o=21453;o<=21463;o++)r[o]=0;for(o=21473;o<=21483;o++)r[o]=0;for(o=21780;o<=21782;o++)r[o]=0;for(o=21891;o<=21894;o++)r[o]=0;for(o=21896;o<=21899;o++)r[o]=0;for(o=22171;o<=22177;o++)r[o]=0;for(o=22181;o<=22187;o++)r[o]=0;for(o=22191;o<=22197;o++)r[o]=0;for(o=22207;o<=22222;o++)r[o]=0;for(o=22229;o<=22232;o++)r[o]=0;for(o=22234;o<=22236;o++)r[o]=0;for(o=22243;o<=22250;o++)r[o]=0;for(o=22262;o<=22265;o++)r[o]=0;for(o=22307;o<=22322;o++)r[o]=0;for(o=22348;o<=22357;o++)r[o]=0;for(o=22407;o<=22422;o++)r[o]=0;for(o=22462;o<=22465;o++)r[o]=0;for(o=22521;o<=22525;o++)r[o]=0;for(o=22607;o<=22622;o++)r[o]=0;for(o=22641;o<=22646;o++)r[o]=0;for(o=22648;o<=22657;o++)r[o]=0;for(o=22707;o<=22722;o++)r[o]=0;for(o=22762;o<=22765;o++)r[o]=0;for(o=22807;o<=22822;o++)r[o]=0;for(o=22991;o<=22994;o++)r[o]=0;for(o=23028;o<=23038;o++)r[o]=0;for(o=23301;o<=23333;o++)r[o]=2;for(o=23830;o<=23853;o++)r[o]=0;for(o=23866;o<=23872;o++)r[o]=0;for(o=23877;o<=23884;o++)r[o]=0;for(o=23886;o<=23894;o++)r[o]=0;for(o=23946;o<=23948;o++)r[o]=0;for(o=24311;o<=24313;o++)r[o]=0;for(o=24342;o<=24347;o++)r[o]=0;for(o=24370;o<=24374;o++)r[o]=10;for(o=24375;o<=24381;o++)r[o]=0;for(o=24718;o<=24721;o++)r[o]=0;for(o=24817;o<=24821;o++)r[o]=0;for(o=24877;o<=24882;o++)r[o]=0;for(o=24891;o<=24893;o++)r[o]=0;for(o=25391;o<=25395;o++)r[o]=0;for(o=25828;o<=25838;o++)r[o]=0;for(o=26191;o<=26195;o++)r[o]=0;for(o=26391;o<=26393;o++)r[o]=0;for(o=26701;o<=26722;o++)r[o]=0;for(o=26729;o<=26799;o++)r[o]=2;for(o=26801;o<=26803;o++)r[o]=2;for(o=26811;o<=26813;o++)r[o]=2;for(o=26847;o<=26870;o++)r[o]=2;for(o=26891;o<=26899;o++)r[o]=0;for(o=26901;o<=26923;o++)r[o]=0;for(o=26929;o<=26946;o++)r[o]=0;for(o=26948;o<=26998;o++)r[o]=0;for(o=27037;o<=27040;o++)r[o]=0;for(o=27205;o<=27232;o++)r[o]=0;for(o=27258;o<=27260;o++)r[o]=0;for(o=27391;o<=27398;o++)r[o]=0;for(o=27561;o<=27564;o++)r[o]=0;for(o=27571;o<=27574;o++)r[o]=0;for(o=27581;o<=27584;o++)r[o]=0;for(o=27591;o<=27594;o++)r[o]=0;for(o=27700;o<=27707;o++)r[o]=0;for(o=28191;o<=28193;o++)r[o]=0;for(o=28348;o<=28358;o++)r[o]=0;for(o=28402;o<=28432;o++)r[o]=0;for(o=28462;o<=28492;o++)r[o]=0;for(o=29118;o<=29122;o++)r[o]=0;for(o=29168;o<=29172;o++)r[o]=0;for(o=29177;o<=29185;o++)r[o]=0;for(o=29187;o<=29195;o++)r[o]=0;for(o=29900;o<=29903;o++)r[o]=0;for(o=30161;o<=30179;o++)r[o]=0;for(o=30491;o<=30494;o++)r[o]=0;for(o=30729;o<=30732;o++)r[o]=0;for(o=31251;o<=31259;o++)r[o]=0;for(o=31265;o<=31268;o++)r[o]=0;for(o=31275;o<=31279;o++)r[o]=0;for(o=31281;o<=31297;o++)r[o]=0;for(o=31461;o<=31469;o++)r[o]=0;for(o=31491;o<=31495;o++)r[o]=0;for(o=31917;o<=31922;o++)r[o]=0;for(o=31965;o<=32e3;o++)r[o]=0;for(o=32001;o<=32003;o++)r[o]=2;for(o=32005;o<=32031;o++)r[o]=2;for(o=32033;o<=32060;o++)r[o]=2;for(o=32064;o<=32067;o++)r[o]=2;for(o=32074;o<=32077;o++)r[o]=2;for(o=32081;o<=32086;o++)r[o]=0;for(o=32107;o<=32130;o++)r[o]=0;for(o=32133;o<=32159;o++)r[o]=0;for(o=32164;o<=32167;o++)r[o]=2;for(o=32180;o<=32199;o++)r[o]=0;for(o=32201;o<=32260;o++)r[o]=0;for(o=32301;o<=32360;o++)r[o]=0;for(o=32401;o<=32460;o++)r[o]=0;for(o=32501;o<=32560;o++)r[o]=0;for(o=32601;o<=32662;o++)r[o]=0;for(o=32664;o<=32667;o++)r[o]=2;for(o=32701;o<=32761;o++)r[o]=0;for(o=53001;o<=53004;o++)r[o]=0;for(o=53008;o<=53019;o++)r[o]=0;for(o=53021;o<=53032;o++)r[o]=0;for(o=53034;o<=53037;o++)r[o]=0;for(o=53042;o<=53046;o++)r[o]=0;for(o=53074;o<=53080;o++)r[o]=0;for(o=54001;o<=54004;o++)r[o]=0;for(o=54008;o<=54019;o++)r[o]=0;for(o=54021;o<=54032;o++)r[o]=0;for(o=54034;o<=54037;o++)r[o]=0;for(o=54042;o<=54046;o++)r[o]=0;for(o=54048;o<=54053;o++)r[o]=0;for(o=54074;o<=54080;o++)r[o]=0;for(o=54098;o<=54101;o++)r[o]=0;for(o=102001;o<=102040;o++)r[o]=0;for(o=102042;o<=102063;o++)r[o]=0;for(o=102065;o<=102067;o++)r[o]=0;for(o=102070;o<=102117;o++)r[o]=0;for(o=102122;o<=102216;o++)r[o]=0;for(o=102221;o<=102377;o++)r[o]=0;for(o=102382;o<=102388;o++)r[o]=0;for(o=102389;o<=102398;o++)r[o]=2;for(o=102399;o<=102444;o++)r[o]=0;for(o=102445;o<=102447;o++)r[o]=2;for(o=102448;o<=102458;o++)r[o]=0;for(o=102459;o<=102468;o++)r[o]=2;for(o=102469;o<=102499;o++)r[o]=0;for(o=102500;o<=102519;o++)r[o]=1;for(o=102520;o<=102524;o++)r[o]=0;for(o=102525;o<=102529;o++)r[o]=2;for(o=102530;o<=102588;o++)r[o]=0;for(o=102590;o<=102598;o++)r[o]=0;for(o=102601;o<=102603;o++)r[o]=0;for(o=102605;o<=102628;o++)r[o]=0;for(o=102629;o<=102646;o++)r[o]=2;for(o=102648;o<=102700;o++)r[o]=2;for(o=102701;o<=102703;o++)r[o]=0;for(o=102707;o<=102730;o++)r[o]=2;for(o=102733;o<=102758;o++)r[o]=2;for(o=102767;o<=102900;o++)r[o]=0;for(o=102901;o<=102933;o++)r[o]=2;for(o=102934;o<=102950;o++)r[o]=13;for(o=102951;o<=102963;o++)r[o]=0;for(o=102965;o<=102969;o++)r[o]=0;for(o=102971;o<=102973;o++)r[o]=0;for(o=102975;o<=102989;o++)r[o]=0;for(o=102990;o<=102992;o++)r[o]=1;for(o=102997;o<=103002;o++)r[o]=0;for(o=103003;o<=103008;o++)r[o]=2;for(o=103009;o<=103011;o++)r[o]=0;for(o=103012;o<=103014;o++)r[o]=2;for(o=103019;o<=103021;o++)r[o]=0;for(o=103022;o<=103024;o++)r[o]=2;for(o=103029;o<=103031;o++)r[o]=0;for(o=103032;o<=103034;o++)r[o]=2;for(o=103065;o<=103068;o++)r[o]=0;for(o=103074;o<=103076;o++)r[o]=0;for(o=103077;o<=103079;o++)r[o]=1;for(o=103080;o<=103082;o++)r[o]=0;for(o=103083;o<=103085;o++)r[o]=2;for(o=103090;o<=103093;o++)r[o]=0;for(o=103097;o<=103099;o++)r[o]=0;for(o=103100;o<=103102;o++)r[o]=2;for(o=103107;o<=103109;o++)r[o]=0;for(o=103110;o<=103112;o++)r[o]=2;for(o=103113;o<=103116;o++)r[o]=0;for(o=103117;o<=103120;o++)r[o]=2;for(o=103153;o<=103157;o++)r[o]=0;for(o=103158;o<=103162;o++)r[o]=2;for(o=103163;o<=103165;o++)r[o]=0;for(o=103166;o<=103168;o++)r[o]=1;for(o=103169;o<=103171;o++)r[o]=2;for(o=103186;o<=103188;o++)r[o]=0;for(o=103189;o<=103191;o++)r[o]=2;for(o=103192;o<=103195;o++)r[o]=0;for(o=103196;o<=103199;o++)r[o]=2;for(o=103200;o<=103224;o++)r[o]=0;for(o=103225;o<=103227;o++)r[o]=1;for(o=103232;o<=103237;o++)r[o]=0;for(o=103238;o<=103243;o++)r[o]=2;for(o=103244;o<=103246;o++)r[o]=0;for(o=103247;o<=103249;o++)r[o]=2;for(o=103254;o<=103256;o++)r[o]=0;for(o=103257;o<=103259;o++)r[o]=2;for(o=103264;o<=103266;o++)r[o]=0;for(o=103267;o<=103269;o++)r[o]=2;for(o=103300;o<=103375;o++)r[o]=0;for(o=103381;o<=103383;o++)r[o]=0;for(o=103384;o<=103386;o++)r[o]=1;for(o=103387;o<=103389;o++)r[o]=0;for(o=103390;o<=103392;o++)r[o]=2;for(o=103397;o<=103399;o++)r[o]=0;for(o=103400;o<=103471;o++)r[o]=2;for(o=103476;o<=103478;o++)r[o]=0;for(o=103479;o<=103481;o++)r[o]=2;for(o=103486;o<=103488;o++)r[o]=0;for(o=103489;o<=103491;o++)r[o]=2;for(o=103492;o<=103495;o++)r[o]=0;for(o=103496;o<=103499;o++)r[o]=2;for(o=103528;o<=103543;o++)r[o]=0;for(o=103544;o<=103548;o++)r[o]=2;for(o=103549;o<=103551;o++)r[o]=0;for(o=103552;o<=103554;o++)r[o]=1;for(o=103555;o<=103557;o++)r[o]=2;for(o=103558;o<=103560;o++)r[o]=0;for(o=103571;o<=103573;o++)r[o]=0;for(o=103574;o<=103576;o++)r[o]=2;for(o=103577;o<=103580;o++)r[o]=0;for(o=103581;o<=103583;o++)r[o]=2;for(o=103595;o<=103694;o++)r[o]=0;for(o=103696;o<=103699;o++)r[o]=0;for(o=103700;o<=103793;o++)r[o]=2;for(o=103794;o<=103890;o++)r[o]=0;for(o=103891;o<=103896;o++)r[o]=2;for(o=103900;o<=103971;o++)r[o]=2;for(o=103972;o<=103977;o++)r[o]=0;for(o=112e3;o<=112101;o++)r[o]=0;export{r as default};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport n from\"../Extent.js\";import{create as t}from\"./aaBoundingRect.js\";import{newDoubleArray as r}from\"./DoubleArray.js\";function i(n){return n}function u(n=L){return i([n[0],n[1],n[2],n[3],n[4],n[5]])}function a(n,t,r,i,a,e,m=u()){return m[0]=n,m[1]=t,m[2]=r,m[3]=i,m[4]=a,m[5]=e,m}function e(n,t=u()){return t[0]=n.xmin,t[1]=n.ymin,t[2]=n.hasZ?n.zmin:-1/0,t[3]=n.xmax,t[4]=n.ymax,t[5]=n.hasZ?n.zmax:1/0,t}function m(n,t=u()){return o(n,0,n.length/3,t)}function o(n,t,r,i=u()){return d(i,K),s(i,n,t,r),i}function f(n,t=r(24)){const[i,u,a,e,m,o]=n;return t[0]=i,t[1]=u,t[2]=a,t[3]=i,t[4]=u,t[5]=o,t[6]=i,t[7]=m,t[8]=a,t[9]=i,t[10]=m,t[11]=o,t[12]=e,t[13]=u,t[14]=a,t[15]=e,t[16]=u,t[17]=o,t[18]=e,t[19]=m,t[20]=a,t[21]=e,t[22]=m,t[23]=o,t}function c(t,r){const i=isFinite(t[2])||isFinite(t[5]);return new n(i?{xmin:t[0],xmax:t[3],ymin:t[1],ymax:t[4],zmin:t[2],zmax:t[5],spatialReference:r}:{xmin:t[0],xmax:t[3],ymin:t[1],ymax:t[4],spatialReference:r})}function h(n,t,r=u()){return r[0]=n[0],r[1]=n[1],r[2]=n[2],r[3]=t[0],r[4]=t[1],r[5]=t[2],r}function M(n,t){n[0]=Math.min(n[0],t[0]),n[1]=Math.min(n[1],t[1]),n[2]=Math.min(n[2],t[2]),n[3]=Math.max(n[3],t[3]),n[4]=Math.max(n[4],t[4]),n[5]=Math.max(n[5],t[5])}function x(n,t){n[0]=Math.min(n[0],t[0]),n[1]=Math.min(n[1],t[1]),n[3]=Math.max(n[3],t[2]),n[4]=Math.max(n[4],t[3])}function l(n,t){n[0]=Math.min(n[0],t[0]),n[1]=Math.min(n[1],t[1]),n[2]=Math.min(n[2],t[2]),n[3]=Math.max(n[3],t[0]),n[4]=Math.max(n[4],t[1]),n[5]=Math.max(n[5],t[2])}function s(n,t,r=0,i=t.length/3){let u=n[0],a=n[1],e=n[2],m=n[3],o=n[4],f=n[5];for(let c=0;c=n[3]?0:n[3]-n[0]}function y(n){return n[1]>=n[4]?0:n[4]-n[1]}function E(n){return n[2]>=n[5]?0:n[5]-n[2]}function F(n){const t=g(n),r=E(n),i=y(n);return Math.sqrt(t*t+r*r+i*i)}function p(n,t=[0,0,0]){return t[0]=n[0]+g(n)/2,t[1]=n[1]+y(n)/2,t[2]=n[2]+E(n)/2,t}function b(n,t=[0,0,0]){return t[0]=g(n),t[1]=y(n),t[2]=E(n),t}function z(n){return Math.max(g(n),E(n),y(n))}function V(n,t){return t[0]>=n[0]&&t[1]>=n[1]&&t[2]>=n[2]&&t[0]<=n[3]&&t[1]<=n[4]&&t[2]<=n[5]}function Y(n,t,r){return t[0]>=n[0]-r&&t[1]>=n[1]-r&&t[2]>=n[2]-r&&t[0]<=n[3]+r&&t[1]<=n[4]+r&&t[2]<=n[5]+r}function _(n,t){return t[0]>=n[0]&&t[1]>=n[1]&&t[2]>=n[2]&&t[3]<=n[3]&&t[4]<=n[4]&&t[5]<=n[5]}function j(n,t){return Math.max(t[0],n[0])<=Math.min(t[3],n[3])&&Math.max(t[1],n[1])<=Math.min(t[4],n[4])&&Math.max(t[2],n[2])<=Math.min(t[5],n[5])}function A(n,t){return null==t||j(n,t)}function R(n,t,r,i,u=n){return u[0]=n[0]+t,u[1]=n[1]+r,u[2]=n[2]+i,u[3]=n[3]+t,u[4]=n[4]+r,u[5]=n[5]+i,u}function G(n,t,r=n){const i=n[0]+g(n)/2,u=n[1]+y(n)/2,a=n[2]+E(n)/2;return r[0]=i+(n[0]-i)*t,r[1]=u+(n[1]-u)*t,r[2]=a+(n[2]-a)*t,r[3]=i+(n[3]-i)*t,r[4]=u+(n[4]-u)*t,r[5]=a+(n[5]-a)*t,r}function O(n,t){return t[0]=n[0],t[1]=n[1],t[2]=n[2],t}function P(n,t){return t[0]=n[3],t[1]=n[4],t[2]=n[5],t}function S(n,t,r=n){return r[0]=t[0],r[1]=t[1],r[2]=t[2],r!==n&&(r[3]=n[3],r[4]=n[4],r[5]=n[5]),r}function Z(n,t,r=n){return r[3]=t[0],r[4]=t[1],r[5]=t[2],r!==n&&(r[0]=n[0],r[1]=n[1],r[2]=n[2]),n}function d(n,t){return n[0]=t[0],n[1]=t[1],n[2]=t[2],n[3]=t[3],n[4]=t[4],n[5]=t[5],n}function q(n){return n?d(n,K):u(K)}function w(n,r){return r||(r=t()),r[0]=n[0],r[1]=n[1],r[2]=n[3],r[3]=n[4],r}function B(n,t){return n[0]=t[0],n[1]=t[1],n[2]=Number.NEGATIVE_INFINITY,n[3]=t[2],n[4]=t[3],n[5]=Number.POSITIVE_INFINITY,n}function D(n,t,r,i,u){return n[0]=t,n[1]=r,n[2]=Number.NEGATIVE_INFINITY,n[3]=i,n[4]=u,n[5]=Number.POSITIVE_INFINITY,n}function k(n){return 6===n.length}function v(n){return 0===g(n)&&0===y(n)&&0===E(n)}function C(n,t,r){if(null==n||null==t)return n===t;if(!k(n)||!k(t))return!1;if(r){for(let i=0;in[2]&&(n[2]=t[0]),t[1]n[3]&&(n[3]=t[1])}function m(n,t,r){if(null!=t)if(\"length\"in t)G(t)?(r[0]=Math.min(n[0],t[0]),r[1]=Math.min(n[1],t[1]),r[2]=Math.max(n[2],t[2]),r[3]=Math.max(n[3],t[3])):2!==t.length&&3!==t.length||(r[0]=Math.min(n[0],t[0]),r[1]=Math.min(n[1],t[1]),r[2]=Math.max(n[2],t[0]),r[3]=Math.max(n[3],t[1]));else switch(t.type){case\"extent\":r[0]=Math.min(n[0],t.xmin),r[1]=Math.min(n[1],t.ymin),r[2]=Math.max(n[2],t.xmax),r[3]=Math.max(n[3],t.ymax);break;case\"point\":r[0]=Math.min(n[0],t.x),r[1]=Math.min(n[1],t.y),r[2]=Math.max(n[2],t.x),r[3]=Math.max(n[3],t.y)}else e(r,n)}function h(n,t,r=n){const u=t.length;let i=n[0],e=n[1],a=n[2],o=n[3];for(let c=0;c=n[2]?0:n[2]-n[0]}function s(n){return null==n||n[1]>=n[3]?0:n[3]-n[1]}function l(n){return M(n)*s(n)}function y(n){return M(n)>0&&s(n)>0}function p(n,t=[0,0]){return t[0]=(n[0]+n[2])/2,t[1]=(n[1]+n[3])/2,t}function b(n,t){return w(n,t[0],t[1])}function g(n,t){const r=t[3],u=.5*(n[0]+n[2]),i=Math.abs(t[0]-u),e=.5*(n[2]-n[0]);if(i>r+e)return!1;const a=.5*(n[1]+n[3]),o=.5*(n[3]-n[1]),c=Math.abs(t[1]-a);if(c>r+o)return!1;if(i(m-c)*n+(o-f)*t+(f*c-o*m)<0,x=h(u,a),M=h(e,a),s=h(e,i),l=h(u,i);return!(x===M&&M===s&&s===l&&l===x||oe&&f>e||c>a&&m>a||c=n[0]&&r>=n[1]&&t<=n[2]&&r<=n[3]}function k(n,t,r,u){return t>=n[0]-u&&r>=n[1]-u&&t<=n[2]+u&&r<=n[3]+u}function q(n,t,r){return t[0]>=n[0]-r&&t[1]>=n[1]-r&&t[0]<=n[2]+r&&t[1]<=n[3]+r}function E(n,t){return Math.max(t[0],n[0])<=Math.min(t[2],n[2])&&Math.max(t[1],n[1])<=Math.min(t[3],n[3])}function R(n,t){return t[0]>=n[0]&&t[2]<=n[2]&&t[1]>=n[1]&&t[3]<=n[3]}function U(t,r,u){if(null==r)return e(u,t);const i=r[0],a=r[1],o=r[2],c=r[3];return u[0]=n(t[0],i,o),u[1]=n(t[1],a,c),u[2]=n(t[2],i,o),u[3]=n(t[3],a,c),u}function d(n,t){const r=(n[0]+n[2])/2,u=(n[1]+n[3])/2,i=Math.max(Math.abs(t[0]-r)-M(n)/2,0),e=Math.max(Math.abs(t[1]-u)-s(n)/2,0);return Math.sqrt(i*i+e*e)}function v(n,t){t[0]=n[2]-n[0],t[1]=n[3]-n[1]}function z(n,t,r,u=n){return u[0]=n[0]+t,u[1]=n[1]+r,u[2]=n[2]+t,u[3]=n[3]+r,u}function A(n,t,r=n){return r[0]=n[0]-t,r[1]=n[1]-t,r[2]=n[2]+t,r[3]=n[3]+t,r}function B(n,t,r=n){return r[0]=t[0],r[1]=t[1],r!==n&&(r[2]=n[2],r[3]=n[3]),r}function C(n,t,r=n){return r[2]=t[0],r[3]=t[1],r!==n&&(r[0]=n[0],r[1]=n[1]),n}function D(n){return n?e(n,K):u(K)}function G(n){return null!=n&&4===n.length}function H(n){return!(0!==M(n)&&isFinite(n[0])||0!==s(n)&&isFinite(n[1]))}function I(n,t){return G(n)&&G(t)?n[0]===t[0]&&n[1]===t[1]&&n[2]===t[2]&&n[3]===t[3]:n===t}const J=r([-1/0,-1/0,1/0,1/0]),K=r([1/0,1/0,-1/0,-1/0]),L=r([0,0,0,0]),N=r([0,0,1,1]);export{x as allFinite,l as area,p as center,i as clone,R as contains,b as containsPoint,F as containsPointObject,q as containsPointWithMargin,w as containsXY,k as containsXYWithMargin,e as copy,u as create,d as distance,D as empty,I as equals,m as expand,f as expandPointInPlace,h as expandWithNestedArray,o as fromExtent,a as fromValues,y as hasArea,s as height,U as intersection,E as intersects,j as intersectsSegment,g as intersectsSphere,G as is,H as isPoint,K as negativeInfinity,z as offset,A as pad,J as positiveInfinity,C as setMax,B as setMin,v as size,c as toExtent,N as unit,M as width,L as zero};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{create as n}from\"./aaBoundingRect.js\";function t(n){return void 0!==n.xmin&&void 0!==n.ymin&&void 0!==n.xmax&&void 0!==n.ymax}function i(n){return void 0!==n.points}function o(n){return void 0!==n.x&&void 0!==n.y}function e(n){return void 0!==n.paths}function r(n){return void 0!==n.rings}function u(n){function t(t,i){return null==t?i:null==i?t:n(t,i)}return t}const l=u(Math.min),h=u(Math.max);function a(n,u){return e(u)?x(n,u.paths,!1,!1):r(u)?x(n,u.rings,!1,!1):i(u)?g(n,u.points,!1,!1,!1,!1):t(u)?s(n,u):(o(u)&&(n[0]=u.x,n[1]=u.y,n[2]=u.x,n[3]=u.y),n)}function c(t){let i,o,e,r;for(t.reset(),i=e=1/0,o=r=-1/0;t.nextPath();){const n=f(t);i=Math.min(n[0],i),e=Math.min(n[1],e),o=Math.max(n[2],o),r=Math.max(n[3],r)}return n([i,e,o,r])}function f(t){let i,o,e,r;for(i=e=1/0,o=r=-1/0;t.nextPoint();)i=Math.min(t.x,i),e=Math.min(t.y,e),o=Math.max(t.x,o),r=Math.max(t.y,r);return n([i,e,o,r])}function m(n,u){return e(u)?x(n,u.paths,!0,!1):r(u)?x(n,u.rings,!0,!1):i(u)?g(n,u.points,!0,!1,!0,!1):t(u)?s(n,u,!0,!1,!0,!1):(o(u)&&(n[0]=u.x,n[1]=u.y,n[2]=u.z,n[3]=u.x,n[4]=u.y,n[5]=u.z),n)}function x(n,t,i,o){const e=i?3:2;if(!t.length||!t[0].length)return null;let r,u,a,c,[f,m]=t[0][0],[x,s]=t[0][0];for(let g=0;g2){const n=g[2];r=l(r,n),u=h(u,n)}if(o&&g.length>e){const n=g[e];a=l(r,n),c=h(u,n)}}}return i?o?(n[0]=f,n[1]=m,n[2]=r,n[3]=a,n[4]=x,n[5]=s,n[6]=u,n[7]=c,n.length=8,n):(n[0]=f,n[1]=m,n[2]=r,n[3]=x,n[4]=s,n[5]=u,n.length=6,n):o?(n[0]=f,n[1]=m,n[2]=a,n[3]=x,n[4]=s,n[5]=c,n.length=6,n):(n[0]=f,n[1]=m,n[2]=x,n[3]=s,n.length=4,n)}function s(n,t,i,o,e,r){const u=t.xmin,l=t.xmax,h=t.ymin,a=t.ymax;let c=t.zmin,f=t.zmax,m=t.mmin,x=t.mmax;return e?(c=c||0,f=f||0,r?(m=m||0,x=x||0,n[0]=u,n[1]=h,n[2]=c,n[3]=m,n[4]=l,n[5]=a,n[6]=f,n[7]=x,n):(n[0]=u,n[1]=h,n[2]=c,n[3]=l,n[4]=a,n[5]=f,n)):r?(m=m||0,x=x||0,n[0]=u,n[1]=h,n[2]=m,n[3]=l,n[4]=a,n[5]=x,n):(n[0]=u,n[1]=h,n[2]=l,n[3]=a,n)}function g(n,t,i,o,e,r){const u=i?3:2,a=o&&r,c=i&&e;if(!t.length||!t[0].length)return null;let f,m,x,s,[g,y]=t[0],[d,M]=t[0];for(let v=0;v2){const t=n[2];f=l(f,t),m=h(m,t)}if(a&&n.length>u){const t=n[u];x=l(f,t),s=h(m,t)}}return e?(f=f||0,m=m||0,r?(x=x||0,s=s||0,n[0]=g,n[1]=y,n[2]=f,n[3]=x,n[4]=d,n[5]=M,n[6]=m,n[7]=s,n):(n[0]=g,n[1]=y,n[2]=f,n[3]=d,n[4]=M,n[5]=m,n)):r?(x=x||0,s=s||0,n[0]=g,n[1]=y,n[2]=x,n[3]=d,n[4]=M,n[5]=s,n):(n[0]=g,n[1]=y,n[2]=d,n[3]=M,n)}export{a as getBoundsXY,m as getBoundsXYZ,c as getCursorBoundsXY,f as getCursorPathBounds,s as getExtentBounds,g as getPointsBounds,x as getRingsOrPathsBounds};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{collectPath as t}from\"../geometryCursorCollectUtils.js\";import{getLength as n,getMidpoint as e}from\"./coordsUtils.js\";function r(t){return t?t.hasZ?[t.xmax-t.xmin/2,t.ymax-t.ymin/2,t.zmax-t.zmin/2]:[t.xmax-t.xmin/2,t.ymax-t.ymin/2]:null}function l(t){return t?o(t.rings,t.hasZ??!1):null}function o(t,n){if(!t?.length)return null;const e=[],r=[],l=n?[1/0,-1/0,1/0,-1/0,1/0,-1/0]:[1/0,-1/0,1/0,-1/0];for(let o=0,i=t.length;o{let r=t[2]-e[2];return 0===r&&n&&(r=t[4]-e[4]),r})),r.length&&(e[0]=r[0][0],e[1]=r[0][1],n&&(e[2]=r[0][3]),(e[0]l[1]||e[1]l[3]||n&&(e[2]l[5]))&&(e.length=0)),!e.length){const r=t[0]&&t[0].length?s(t[0],n):null;if(!r)return null;e[0]=r[0],e[1]=r[1],n&&r.length>2&&(e[2]=r[2])}return e}function u(t,n,e){let r=0,l=0,o=0,u=0,i=0;const s=t.length?t[0][0]:0,I=t.length?t[0][1]:0,h=t.length&&n?t[0][2]:0;for(let f=0;f2&&N.length>2){const t=a-h,n=E-h,e=m*n-S*t;o+=(t+n)*e,i+=e}xe[1]&&(e[1]=x),ge[3]&&(e[3]=g),n&&(ae[5]&&(e[5]=a))}if(u>0&&(u*=-1),i>0&&(i*=-1),!u)return null;u*=.5,i*=.5;const c=[r/(6*u)+s,l/(6*u)+I,u];return n&&(e[4]===e[5]||0===i?(c[3]=(e[4]+e[5])/2,c[4]=0):(c[3]=o/(6*i)+h,c[4]=i)),c}function i(t,n){let e=0,r=0,l=0;t.nextPoint();const o=t.pathSize?t.x:0,u=t.pathSize?t.y:0;for(let i=0;in[1]&&(n[1]=h),cn[3]&&(n[3]=c)}if(l>0&&(l*=-1),!l)return null;l*=.5;return[e/(6*l)+o,r/(6*l)+u,l]}function s(t,r){const l=r?[0,0,0]:[0,0],o=r?[0,0,0]:[0,0];let u=0,i=0,s=0,I=0;for(let h=0,c=t.length;h2&&f.length>2&&(l[2]=c[2],o[2]=f[2]);const t=n(l,o);if(t){u+=t;const n=e(c,f);i+=t*n[0],s+=t*n[1],r&&n.length>2&&(I+=t*n[2])}}}return u>0?r?[i/u,s/u,I/u]:[i/u,s/u]:t.length?t[0]:null}function I(n){const{hasZ:e,totalSize:r}=n;if(0===r)return null;const l=[],o=[],i=e?[Number.POSITIVE_INFINITY,Number.NEGATIVE_INFINITY,Number.POSITIVE_INFINITY,Number.NEGATIVE_INFINITY,Number.POSITIVE_INFINITY,Number.NEGATIVE_INFINITY]:[Number.POSITIVE_INFINITY,Number.NEGATIVE_INFINITY,Number.POSITIVE_INFINITY,Number.NEGATIVE_INFINITY];for(n.reset();n.nextPath();){const e=u(t(n),n.hasZ,i);e&&o.push(e)}if(o.sort(((t,n)=>{let r=t[2]-n[2];return 0===r&&e&&(r=t[4]-n[4]),r})),o.length&&(l[0]=o[0][0],l[1]=o[0][1],e&&(l[2]=o[0][3]),(l[0]i[1]||l[1]i[3]||e&&(l[2]i[5]))&&(l.length=0)),!l.length){n.reset(),n.nextPath();const t=n.pathSize?h(n):null;if(!t)return null;l[0]=t[0],l[1]=t[1],e&&t.length>2&&(l[2]=t[2])}return l}function h(t){const{hasZ:r}=t,l=r?[0,0,0]:[0,0],o=r?[0,0,0]:[0,0];let u=0,i=0,s=0,I=0;if(t.nextPoint()){let h=t.x,c=t.y,f=t.z;for(;t.nextPoint();){const N=t.x,x=t.y,g=t.z;l[0]=h,l[1]=c,o[0]=N,o[1]=x,r&&(l[2]=f,o[2]=g);const a=n(l,o);if(a){u+=a;const t=e(l,o);i+=a*t[0],s+=a*t[1],r&&t.length>2&&(I+=a*t[2])}h=N,c=x,f=g}}return u>0?r?[i/u,s/u,I/u]:[i/u,s/u]:t.pathSize?(t.seekPathStart(),t.nextPoint(),[t.x,t.y]):null}const c=1e-6;function f(t){let n=0;for(t.reset();t.nextPath();)n+=t.getCurrentRingArea();if(n=n.xmin&&t<=n.xmax&&r>=n.ymin&&r<=n.ymax&&(null==u||!n.hasZ||u>=n.zmin&&u<=n.zmax)}function f(t,r){return n[1]=r.y,n[0]=r.x,c(t,n)}function c(n,t){return s(n.rings,t)}function s(n,t){if(!n)return!1;if(x(n))return m(!1,n,t);let r=!1;for(let u=0,i=n.length;u=i||x=i)&&n+(i-r)/(x-r)*(s-n){t.hasZ&&(r=!0),t.hasM&&(e=!0)})),n.map((t=>{const n=[[t.xmin,t.ymin],[t.xmin,t.ymax],[t.xmax,t.ymax],[t.xmax,t.ymin],[t.xmin,t.ymin]];if(r&&t.hasZ){const r=.5*(t.zmax-t.zmin);for(let t=0;t2&&n.length>2){const i=t[2]-n[2];return Math.sqrt(r*r+e*e+i*i)}return Math.sqrt(r*r+e*e)}function o(t,n,r){const e=t[0]+r*(n[0]-t[0]),i=t[1]+r*(n[1]-t[1]);return t.length>2&&n.length>2?[e,i,t[2]+r*(n[2]-t[2])]:[e,i]}function s(t,n,r,e){return f(t,n,r[e],r[e+1])}function f(t,n,r,e){const[i,o]=n,[s,f]=r,[u,l]=e,c=u-s,h=l-f,p=c*c+h*h,a=(i-s)*c+(o-f)*h,y=Math.min(1,Math.max(0,a/p));return t[0]=s+c*y,t[1]=f+h*y,t}function u(t,n,r){let e,i,o,s,f=!1,u=1/0;for(r.reset();r.nextPath();)if(r.nextPoint())for(e=r.x,i=r.y;r.nextPoint();)o=r.x,s=r.y,i>n!=s>n&&t<(o-e)*(n-i)/(s-i)+e&&(f=!f),u=Math.min(u,l(t,n,e,i,o,s)),e=o,i=s;return 0===u?0:(f?1:-1)*Math.sqrt(u)}function l(t,n,r,e,i,o){let s=r,f=e,u=i-s,l=o-f;if(0!==u||0!==l){const r=((t-s)*u+(n-f)*l)/(u*u+l*l);r>1?(s=i,f=o):r>0&&(s+=u*r,f+=l*r)}return u=t-s,l=n-f,u*u+l*l}function c(t,n){return o(t,n,.5)}function h(t){const n=t.length;let r=0;for(let e=0;e=0}function y(n){const r=n.length;return r<3||t(n[0],n[r-1])}function m(t){\"rings\"in t&&(g(t),x(t))}function g(t){if(!(\"rings\"in t))return!1;let n=!1;for(const r of t.rings)y(r)||(r.push(r[0].slice()),n=!0);return n}function x(t){if(!(\"rings\"in t))return!1;if(0===t.rings.length||a(t.rings[0]))return!1;for(const n of t.rings)n.reverse();return!0}function M(t){if(\"polygon\"!==t.type&&\"polyline\"!==t.type)return t;return z(\"polygon\"===t.type?t.rings:t.paths,t.spatialReference),t}function z(t,n){const e=r(n);if(!e)return;const i=e.valid[0],o=e.valid[1],s=o-i;for(const r of t){let t=1/0,n=-1/0;for(const s of r){const r=v(s[0],i,o);t=Math.min(t,r),n=Math.max(n,r),s[0]=r}const e=n-t;s-e{t[0]<0&&(t[0]+=s)}))}}function v(t,n,r){const e=r-n;return tr?n+(t-n)%e:t}function j(t,n){if(t===n)return!0;if(t.type!==n.type)return!1;if(\"point\"===t.type||\"mesh\"===t.type||\"extent\"===t.type)return!0;if(\"multipoint\"===t.type)return t.points.length===n.points.length;const[r,e]=\"polyline\"===t.type?[t.paths,n.paths]:[t.rings,n.rings];return r.length===e.length&&r.every(((t,n)=>t.length===e[n].length))}export{g as closeRings,m as closeRingsAndFixWinding,u as distanceFromPointToPolygon,l as distanceToSegmentSquared,x as fixWinding,e as geometryToCoordinates,i as getLength,c as getMidpoint,h as getPathLength,p as getPointOnPath,j as hasCompatibleTopology,a as isClockwise,y as isClosed,s as projectPointOnLine,f as projectPointOnLineSeg,M as unnormalizeGeometryOnDatelineCrossing,z as unnormalizeVerticesOnDatelineCrossing,v as unnormalizedCoordinate};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{getPointsBounds as n,getRingsOrPathsBounds as i}from\"./boundsUtils.js\";function t(n){return void 0!==n.xmin&&void 0!==n.ymin&&void 0!==n.xmax&&void 0!==n.ymax}function u(n){return void 0!==n.points}function m(n){return void 0!==n.x&&void 0!==n.y}function o(n){return void 0!==n.paths}function r(n){return void 0!==n.rings}const x=[];function a(n,i,t,u){return{xmin:n,ymin:i,xmax:t,ymax:u}}function c(n,i,t,u,m,o){return{xmin:n,ymin:i,zmin:t,xmax:u,ymax:m,zmax:o}}function s(n,i,t,u,m,o){return{xmin:n,ymin:i,mmin:t,xmax:u,ymax:m,mmax:o}}function e(n,i,t,u,m,o,r,x){return{xmin:n,ymin:i,zmin:t,mmin:u,xmax:m,ymax:o,zmax:r,mmax:x}}function f(n,i=!1,t=!1){return i?t?e(n[0],n[1],n[2],n[3],n[4],n[5],n[6],n[7]):c(n[0],n[1],n[2],n[3],n[4],n[5]):t?s(n[0],n[1],n[2],n[3],n[4],n[5]):a(n[0],n[1],n[2],n[3])}function l(n){return n?t(n)?n:m(n)?d(n):r(n)?v(n):o(n)?h(n):u(n)?y(n):null:null}function y(i){const{hasZ:t,hasM:u,points:m}=i;return f(n(x,m,t??!1,u??!1),t,u)}function d(n){const{x:i,y:t,z:u,m}=n,o=null!=m;return null!=u?o?e(i,t,u,m,i,t,u,m):c(i,t,u,i,t,u):o?s(i,t,m,i,t,m):a(i,t,i,t)}function v(n){const{hasZ:t,hasM:u,rings:m}=n,o=i(x,m,t??!1,u??!1);return o?f(o,t,u):null}function h(n){const{hasZ:t,hasM:u,paths:m}=n,o=i(x,m,t??!1,u??!1);return o?f(o,t,u):null}export{l as getGeometryExtent,y as getMultipointExtent,d as getPointExtent,v as getPolygonExtent,h as getPolylineExtent};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{earth as a,moon as f,mars as e}from\"./Ellipsoid.js\";const i=Math.PI/180,t=/(?:SPHEROID|ELLIPSOID)\\[([^\\]]+)]/i,r=a.radius,n=a.eccentricitySquared,s={a1:r*n,a2:r*n*r*n,a3:r*n*n/2,a4:r*n*r*n*2.5,a5:r*n+r*n*n/2,a6:1-n},d={4267:{a:6378206.4,f:1/294.9786982},4269:{a:6378137,f:1/298.257222101},4326:{a:a.radius,f:a.flattening},4490:{a:6378137,f:1/298.257222101},104900:{a:2439700,f:0},104901:{a:6051e3,f:0},104902:{a:6051800,f:0},104903:{a:f.radius,f:f.flattening},104904:{a:3393400,f:1/192.0430107526882},104905:{a:e.radius,f:e.flattening},104906:{a:6200,f:0},104907:{a:11100,f:0},104908:{a:71492e3,f:.06487439154031222},104909:{a:8200,f:0},104910:{a:83500,f:0},104911:{a:1e4,f:0},104912:{a:2409300,f:0},104913:{a:15e3,f:0},104914:{a:4e4,f:0},104915:{a:1562090,f:0},104916:{a:2632345,f:0},104917:{a:85e3,f:0},104918:{a:1821460,f:0},104919:{a:5e3,f:0},104920:{a:12e3,f:0},104921:{a:3e4,f:3},104922:{a:18e3,f:0},104923:{a:14e3,f:0},104924:{a:49300,f:0},104925:{a:60268e3,f:1/10.2079945799458},104926:{a:16e3,f:0},104927:{a:9500,f:0},104928:{a:56e4,f:0},104929:{a:249400,f:0},104930:{a:59500,f:0},104931:{a:16e3,f:0},104932:{a:133e3,f:0},104933:{a:718e3,f:0},104934:{a:888e3,f:0},104935:{a:1986300,f:0},104936:{a:1e4,f:0},104937:{a:41900,f:0},104938:{a:11e4,f:0},104939:{a:50100,f:0},104940:{a:764e3,f:0},104941:{a:11e3,f:0},104942:{a:529800,f:0},104943:{a:2575e3,f:0},104944:{a:25559e3,f:1/43.61604095563141},104945:{a:578900,f:0},104946:{a:33e3,f:0},104947:{a:21e3,f:0},104948:{a:13e3,f:0},104949:{a:31e3,f:0},104950:{a:27e3,f:0},104951:{a:42e3,f:0},104952:{a:235800,f:0},104953:{a:761400,f:0},104954:{a:15e3,f:0},104955:{a:54e3,f:0},104956:{a:77e3,f:0},104957:{a:27e3,f:0},104958:{a:788900,f:0},104959:{a:584700,f:0},104960:{a:24764e3,f:.01708124697141011},104961:{a:74e3,f:0},104962:{a:79e3,f:0},104963:{a:104e3,f:.14423076923076922},104964:{a:29e3,f:0},104965:{a:17e4,f:0},104966:{a:208e3,f:0},104967:{a:4e4,f:0},104968:{a:1352600,f:0},104969:{a:1195e3,f:0},104970:{a:593e3,f:0},104971:{a:e.radius,f:0},104972:{a:47e4,f:0},104973:{a:255e3,f:0},104974:{a:2439400,f:0}};export{s as earthEllipsoidConstants,d as spheroids,i as toRadians,t as wktSpheroidRegex};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport\"../../geometry.js\";import e from\"../../core/Error.js\";import{convertUnit as t}from\"../../core/unitUtils.js\";import{ensureClass as n}from\"../../core/accessorSupport/ensureType.js\";import{toRadians as s,spheroids as i,wktSpheroidRegex as r}from\"./geodesicConstants.js\";import{isGeographic as a,equals as o,isWebMercator as c}from\"./spatialReferenceUtils.js\";import h from\"../SpatialReference.js\";import l from\"../Polyline.js\";import p from\"../Polygon.js\";import f from\"../Point.js\";function u(e){if(!e)return null;const t=e.wkid;if(t)return i[t];const n=e.wkt2??e.wkt;return n?m(n):null}function m(e){const t=r.exec(e);if(!t||2!==t.length)return null;const n=t[1].split(\",\");if(!n||n.length<3)return null;const s=parseFloat(n[1]),i=parseFloat(n[2]);if(isNaN(s)||isNaN(i))return null;return{a:s,f:0===i?0:1/i}}function d(e){const t=u(e);if(g(t))return t;const n=t.a*(1-t.f);return Object.assign(t,{b:n,eSq:1-(n/t.a)**2,radius:(2*t.a+n)/3,densificationRatio:1e4/((2*t.a+n)/3)})}function g(e){return null!=e&&\"b\"in e&&\"eSq\"in e&&\"radius\"in e}function M(e){return null!=e&&e<0?e+360:e}function w(e,t,n){const{a:i,eSq:r}=d(n),a=Math.sqrt(r),o=Math.sin(t[1]*s),c=i*t[0]*s;let h;if(r>0){h=i*((1-r)*(o/(1-r*(o*o))-1/(2*a)*Math.log((1-a*o)/(1+a*o))))*.5}else h=i*o;return e[0]=c,e[1]=h,e}function y(e){return a(e)&&!!u(e)}function v(n,s=\"square-meters\"){if(n.some((e=>!y(e.spatialReference))))throw new e(\"geodesic-areas:invalid-spatial-reference\",\"the input geometries spatial reference is not supported\");const i=[];for(let e=0;e!y(e.spatialReference))))throw new e(\"geodesic-lengths:invalid-spatial-reference\",\"the input geometries spatial reference is not supported\");const i=[];for(let e=0;e1){for(let e=1;e<=m-1;e++){j(o,p,f,e*s,i),t.push(o.slice())}j(o,p,f,(u+Math.floor(m-1)*s)/2,i),t.push(o.slice())}j(o,p,f,u,i),t.push(o.slice()),h=o[0],l=o[1]}}const f=n(h,i);return\"polyline\"===t.type?new l({paths:a,spatialReference:f}):new p({rings:a,spatialReference:f})}class b{constructor(e=0,t=void 0,n=void 0){this.distance=e,this.azimuth=t,this.reverseAzimuth=n}}function j(e,t,n,i,r){const a=t[0],o=t[1],c=a*s,h=o*s,l=(n??0)*s,{a:p,b:f,f:u}=d(r),m=Math.sin(l),g=Math.cos(l),M=(1-u)*Math.tan(h),w=1/Math.sqrt(1+M*M),y=M*w,v=Math.atan2(M,g),R=w*m,z=R*R,b=1-z,j=b*(p*p-f*f)/(f*f),q=1+j/16384*(4096+j*(j*(320-175*j)-768)),x=j/1024*(256+j*(j*(74-47*j)-128));let A,N,S,P,k=i/(f*q),F=2*Math.PI;for(;Math.abs(k-F)>1e-12;)S=Math.cos(2*v+k),A=Math.sin(k),N=Math.cos(k),P=x*A*(S+x/4*(N*(2*S*S-1)-x/6*S*(4*A*A-3)*(4*S*S-3))),F=k,k=i/(f*q)+P;const U=y*A-w*N*g,C=Math.atan2(y*N+w*A*g,(1-u)*Math.sqrt(z+U*U)),E=Math.atan2(A*m,w*N-y*A*g),G=u/16*b*(4+u*(4-3*b)),I=C/s,O=(c+(E-(1-G)*u*R*(k+G*A*(S+G*N*(2*S*S-1)))))/s;return e[0]=O,e[1]=I,e}function q(e,t,n,i){const r=t[0]*s,a=t[1]*s,o=n[0]*s,c=n[1]*s,{a:h,b:l,f:p,radius:f}=d(i),u=o-r,m=Math.atan((1-p)*Math.tan(a)),g=Math.atan((1-p)*Math.tan(c)),M=Math.sin(m),w=Math.cos(m),y=Math.sin(g),v=Math.cos(g);let R,z,b,j,q,x,A,N,S,P,k=1e3,F=u;do{if(A=Math.sin(F),N=Math.cos(F),b=Math.sqrt(v*A*(v*A)+(w*y-M*v*N)*(w*y-M*v*N)),0===b)return e.distance=0,e.azimuth=void 0,e.reverseAzimuth=void 0,e;q=M*y+w*v*N,x=Math.atan2(b,q),S=w*v*A/b,z=1-S*S,j=q-2*M*y/z,isNaN(j)&&(j=0),P=p/16*z*(4+p*(4-3*z)),R=F,F=u+(1-P)*p*S*(x+P*b*(j+P*q*(2*j*j-1)))}while(Math.abs(F-R)>1e-12&&--k>0);if(0===k){const t=f,n=Math.acos(Math.sin(a)*Math.sin(c)+Math.cos(a)*Math.cos(c)*Math.cos(o-r))*t,i=o-r,h=Math.sin(i)*Math.cos(c),l=Math.cos(a)*Math.sin(c)-Math.sin(a)*Math.cos(c)*Math.cos(i),p=Math.atan2(h,l);return e.azimuth=p/s,e.distance=n,e.reverseAzimuth=void 0,e}const U=z*(h*h-l*l)/(l*l),C=U/1024*(256+U*(U*(74-47*U)-128)),E=l*(1+U/16384*(4096+U*(U*(320-175*U)-768)))*(x-C*b*(j+C/4*(q*(2*j*j-1)-C/6*j*(4*b*b-3)*(4*j*j-3)))),G=Math.atan2(v*Math.sin(F),w*y-M*v*Math.cos(F)),I=Math.atan2(w*Math.sin(F),w*y*Math.cos(F)-M*v);return e.azimuth=G/s,e.distance=E,e.reverseAzimuth=I/s,e}function x(n,s,i=\"meters\"){if(!n||!s)throw new e(\"geodesic-distance:missing-parameters\",\"one or both input parameters are missing\");if(!n.spatialReference||!s.spatialReference)throw new e(\"geodesic-distance:invalid-parameters\",\"one or both input points do not have a spatial reference\");if(!o(n.spatialReference,s.spatialReference))throw new e(\"geodesic-distance:invalid-parameters\",\"spatial references of input parameters do not match\");const{spatialReference:r}=n;if(!y(r))throw new e(\"geodesic-distance:not-supported\",\"input geometry spatial reference is not supported\");if(n.x===s.x&&n.y===s.y)return new b(0,0,0);const a=new b;return q(a,[n.x,n.y],[s.x,s.y],r),a.distance=t(a.distance,\"meters\",i),a.azimuth=M(a.azimuth),a.reverseAzimuth=M(a.reverseAzimuth),a}function A(t,n,s){if(!t||null==n||null==s)throw new e(\"point-from-distance:missing-parameters\",\"one or more input parameters are missing or undefined\");if(s<0||s>360)throw new e(\"point-from-distance:-of-bounds\",\"azimuth is restricted to angles between, and including, 0° to 360° degrees\");if(!t.spatialReference)throw new e(\"point-from-distance:missing-spatial-reference\",\"the input point must have a spatial reference\");const{spatialReference:i}=t;if(!y(i))throw new e(\"geodesic-distance:not-supported\",\"input geometry spatial reference is not supported\");const r=[0,0];return j(r,[t.x,t.y],s,n,i),new f({x:r[0],y:r[1],spatialReference:i})}function N(e){return y(e)?e:c(e)?h.WGS84:null}export{b as InverseGeodeticSolverResult,j as directGeodeticSolver,v as geodesicAreas,N as geodesicCompatibleSpatialReference,z as geodesicDensify,x as geodesicDistance,R as geodesicLengths,q as inverseGeodeticSolver,y as isSupported,A as pointFromDistance};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport\"../../geometry.js\";import{getExtentForScale as e}from\"./scaleUtils.js\";import t from\"../Extent.js\";function n(e){switch(e?.type){case\"point\":return e;case\"extent\":return e.center;case\"polygon\":return e.centroid;case\"multipoint\":case\"polyline\":return e.extent?.center;default:return null}}async function r(e,t){if(e.hasZ||\"2d\"===t.type)return e;const n=t.map?.ground;if(!n?.layers.length)return e;const{geometry:r}=await n.queryElevation(e,{cache:t.basemapTerrain?.elevationQueryCache});return r}function a(e,t,n){return i(e.center,t,n)}function c(e,t,n){switch(e?.type){case\"extent\":return e;case\"multipoint\":case\"polygon\":case\"polyline\":return e.extent;case\"point\":return i(e,t,n);default:return null}}function i(n,r,a){const c=n.hasZ?n.z:void 0;if(r?.map){return(null!=a?e(r,a):r.extent).clone().centerAt(n).set({zmax:c,zmin:c})}const{x:i,y:o,spatialReference:u}=n;return new t({xmin:i-.25,ymin:o-.25,xmax:i+.25,ymax:o+.25,spatialReference:u,zmin:c,zmax:c})}export{c as createExtentFromGeometry,i as createExtentFromPoint,n as getPointFromGeometry,r as getPointWithElevation,a as scaleExtent};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport\"../../core/has.js\";import e from\"../../core/Error.js\";import t from\"../HeightModelInfo.js\";import{parse as n}from\"../../layers/support/arcgisLayerUrl.js\";function i(n,i){if(!n)return null;if(!s(n))return new e(\"webscene:unsupported-height-model-info\",\"The vertical coordinate system of the scene is not supported\",{heightModelInfo:n});const a=n.heightUnit,r=t.deriveUnitFromSR(n,i).heightUnit;return a!==r?new e(\"webscene:incompatible-height-unit\",`The vertical units of the scene (${a}) must match the horizontal units of the scene (${r})`,{verticalUnit:a,horizontalUnit:r}):null}function a(n,i,a){const s=l(n),h=i,u=r(s,h,a);if(s){const i=t.deriveUnitFromSR(s,n.spatialReference).heightUnit;if(!a&&i!==s.heightUnit){const t=new e(\"layerview:unmatched-height-unit\",`The vertical units of the layer must match the horizontal units (${i})`,{horizontalUnit:i});return new e(\"layerview:unsupported-height-model-info\",\"The vertical coordinate system of the layer is not supported\",{heightModelInfo:s,error:t})}}if(!c(n)||u===o.Unsupported)return new e(\"layerview:unsupported-height-model-info\",\"The vertical coordinate system of the layer is not supported\",{heightModelInfo:s});switch(u){case o.Units:{const t=s?.heightUnit||\"unknown\",n=h?.heightUnit||\"unknown\",i=new e(\"layerview:incompatible-height-unit\",`The vertical units of the layer (${t}) must match the vertical units of the scene (${n})`,{layerUnit:t,sceneUnit:n});return new e(\"layerview:incompatible-height-model-info\",\"The vertical coordinate system of the layer is incompatible with the scene\",{layerHeightModelInfo:s,sceneHeightModelInfo:h,error:i})}case o.HeightModel:{const t=s?.heightModel||\"unknown\",n=h?.heightModel||\"unknown\",i=new e(\"layerview:incompatible-height-model\",`The height model of the layer (${t}) must match the height model of the scene (${n})`,{layerHeightModel:t,sceneHeightModel:n});return new e(\"layerview:incompatible-height-model-info\",\"The vertical coordinate system of the layer is incompatible with the scene\",{layerHeightModelInfo:s,sceneHeightModelInfo:h,error:i})}case o.CRS:{const t=s?.vertCRS||\"unknown\",n=h?.vertCRS||\"unknown\",i=new e(\"layerview:incompatible-vertical-datum\",`The vertical datum of the layer (${t}) must match the vertical datum of the scene (${n})`,{layerDatum:t,sceneDatum:n});return new e(\"layerview:incompatible-height-model-info\",\"The vertical coordinate system of the layer is incompatible with the scene\",{layerHeightModelInfo:s,sceneHeightModelInfo:h,error:i})}}return null}function r(e,t,n){if(!s(e)||!s(t))return o.Unsupported;if(null==e||null==t)return o.Ok;if(!n&&e.heightUnit!==t.heightUnit)return o.Units;if(e.heightModel!==t.heightModel)return o.HeightModel;switch(e.heightModel){case\"gravity-related-height\":return o.Ok;case\"ellipsoidal\":return e.vertCRS===t.vertCRS?o.Ok:o.CRS;default:return o.Unsupported}}var o;function s(e){return null==e||null!=e.heightModel&&null!=e.heightUnit}function c(e){return\"heightModelInfo\"in e&&null!=e.heightModelInfo||null!=e.spatialReference||!d(e)}function l(e){if(\"integrated-mesh-3dtiles\"===e.type)return null;const i=e.url?n(e.url):void 0,a=e.spatialReference?.vcsWkid;return!(null==a&&null!=i&&\"ImageServer\"===i.serverType)&&h(e)&&e.heightModelInfo?e.heightModelInfo:d(e)?t.deriveUnitFromSR(p,e.spatialReference):null}function h(e){return\"heightModelInfo\"in e}function u(e){if(\"unknown\"===e.type||!(\"capabilities\"in e))return!1;switch(e.type){case\"catalog\":case\"catalog-footprint\":case\"csv\":case\"feature\":case\"geojson\":case\"subtype-group\":case\"ogc-feature\":case\"oriented-imagery\":case\"wfs\":case\"knowledge-graph-sublayer\":return!0;default:return!1}}function d(e){return u(e)?!!(e.capabilities&&e.capabilities.data&&e.capabilities.data.supportsZ):f(e)}function g(e){return null!=e.layers||f(e)||u(e)||h(e)}function f(e){switch(e.type){case\"building-scene\":case\"elevation\":case\"integrated-mesh\":case\"integrated-mesh-3dtiles\":case\"point-cloud\":case\"scene\":case\"voxel\":return!0;case\"base-dynamic\":case\"base-elevation\":case\"base-tile\":case\"bing-maps\":case\"catalog\":case\"catalog-footprint\":case\"catalog-dynamic-group\":case\"csv\":case\"dimension\":case\"geojson\":case\"feature\":case\"focusArea\":case\"subtype-group\":case\"geo-rss\":case\"graphics\":case\"group\":case\"imagery\":case\"imagery-tile\":case\"kml\":case\"knowledge-graph\":case\"link-chart\":case\"knowledge-graph-sublayer\":case\"line-of-sight\":case\"map-image\":case\"map-notes\":case\"media\":case\"ogc-feature\":case\"open-street-map\":case\"oriented-imagery\":case\"parquet\":case\"route\":case\"stream\":case\"tile\":case\"unknown\":case\"unsupported\":case\"vector-tile\":case\"video\":case\"viewshed\":case\"wcs\":case\"web-tile\":case\"wfs\":case\"wms\":case\"wmts\":case null:return!1}return!1}!function(e){e[e.Ok=0]=\"Ok\",e[e.Units=1]=\"Units\",e[e.HeightModel=2]=\"HeightModel\",e[e.CRS=3]=\"CRS\",e[e.Unsupported=4]=\"Unsupported\"}(o||(o={}));const p=new t({heightModel:\"gravity-related-height\"});export{l as deriveHeightModelInfoFromLayer,a as rejectLayerError,g as supportsHeightModelInfo,i as validateWebSceneError};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{extentContainsPoint as n,ringsContainsCoords as t,extentContainsCoords2D as e,extentContainsCoords3D as r}from\"./contains.js\";function i(t,e){return n(t,e)}function o(n,t){const e=n.hasZ&&t.hasZ;let r,i,o;if(n.xmin<=t.xmin){if(r=t.xmin,n.xmax=0&&P<=1&&Z>=0&&Z<=1&&(i&&(i[0]=o+P*(s-o),i[1]=f+P*(c-f)),!0)}function P(n){switch(n){case\"esriGeometryEnvelope\":case\"extent\":return o;case\"esriGeometryMultipoint\":case\"multipoint\":return f;case\"esriGeometryPoint\":case\"point\":return i;case\"esriGeometryMultiPatch\":case\"multipatch\":case\"esriGeometryPolygon\":case\"polygon\":return x;case\"esriGeometryPolyline\":case\"polyline\":return h}}export{o as extentIntersectsExtent,f as extentIntersectsMultipoint,i as extentIntersectsPoint,x as extentIntersectsPolygon,h as extentIntersectsPolyline,P as getFeatureExtentIntersector,p as isSelfIntersecting,G as segmentIntersects};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport o from\"../Extent.js\";import r from\"../Geometry.js\";import e from\"../Multipoint.js\";import i from\"../Point.js\";import n from\"../Polygon.js\";import t from\"../Polyline.js\";function m(o){return void 0!==o.xmin&&void 0!==o.ymin&&void 0!==o.xmax&&void 0!==o.ymax}function l(o){return void 0!==o.points}function u(o){return void 0!==o.x&&void 0!==o.y}function s(o){return void 0!==o.paths}function y(o){return void 0!==o.rings}function f(f){return null==f?null:f instanceof r?f:u(f)?i.fromJSON(f):s(f)?t.fromJSON(f):y(f)?n.fromJSON(f):l(f)?e.fromJSON(f):m(f)?o.fromJSON(f):null}function p(o){return o?u(o)?\"esriGeometryPoint\":s(o)?\"esriGeometryPolyline\":y(o)?\"esriGeometryPolygon\":m(o)?\"esriGeometryEnvelope\":l(o)?\"esriGeometryMultipoint\":null:null}const G={esriGeometryPoint:i,esriGeometryPolyline:t,esriGeometryPolygon:n,esriGeometryEnvelope:o,esriGeometryMultipoint:e,esriGeometryMultiPatch:n};function c(o){return o&&G[o]||null}export{f as fromJSON,c as getGeometryType,p as getJsonType,m as isExtent,l as isMultipoint,u as isPoint,y as isPolygon,s as isPolyline};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{deprecated as e}from\"../../core/deprecate.js\";import r from\"../../core/Logger.js\";import{p as n}from\"../../chunks/vec32.js\";import o from\"../Point.js\";import i from\"./MeshGeoreferencedVertexSpace.js\";import t from\"./MeshLocalVertexSpace.js\";function c(){return r.getLogger(\"esri.geometry.Mesh\")}function p(e){return!a(e)}function a(e){return null!=e.origin}function g(e){return a(e.vertexSpace)}function u(e,r){if(!a(e))return null;const[n,i,t]=e.origin;return new o({x:n,y:i,z:t,spatialReference:r})}function s(r,n){const{x:o,y:p,z:a,spatialReference:g}=r,u=[o,p,a??0];void 0!==n?.geographic&&(e(c(),\"option: geographic\",{replacement:\"Use the `vertexSpace` option instead.\",version:\"4.29\",warnOnce:!0}),n.vertexSpace&&c().warn(\"Deprecated geographic flag ignored since vertexSpace option is provided.\"));return\"local\"===(n?.vertexSpace??l(n?.geographic)??f(g))?new t({origin:u}):new i({origin:u})}function f(e){return e.isGeographic||e.isWebMercator?\"local\":\"georeferenced\"}function l(e){return null==e?void 0:e?\"local\":\"georeferenced\"}function m(e,r){return e.type===r.type&&(e.origin===r.origin||null!=e.origin&&null!=r.origin&&n(e.origin,r.origin))}export{p as isAbsoluteVertexSpace,g as isMeshWithRelativeVertexSpace,a as isRelativeVertexSpace,s as selectVertexSpace,m as vertexSpaceEquals,u as vertexSpaceOriginToPoint};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport\"../../geometry.js\";import{distance as t}from\"../../core/libs/gl-matrix-2/math/vec2.js\";import{projectPointOnLine as e}from\"./coordsUtils.js\";import o from\"../Point.js\";function n(n,m){const{spatialReference:r}=m,i=[m.x,m.y];let s=Number.POSITIVE_INFINITY,x=0,a=0;const c=[0,0],f=\"extent\"===n.type?[[[n.xmin,n.ymin],[n.xmin,n.ymax],[n.xmax,n.ymax],[n.xmax,n.ymin],[n.xmin,n.ymin]]]:n.rings;for(const o of f)for(let n=0;nn.getLogger(\"esri.geometry.support.normalizeUtils\");function g(t){return\"polygon\"===t.type}function y(t){return\"polygon\"===t[0].type}function x(t){return\"polyline\"===t[0].type}function d(t){const e=[];let n=0,o=0;for(let s=0;s1){for(let l=1;l<=p-1;l++){const e=l*n,o=u*e+s,i=f*e+r;t.push([o,i])}const e=(c+Math.floor(p-1)*n)/2,o=u*e+s,i=f*e+r;t.push([o,i])}t.push([i,l])}}return g(t)?new o({rings:l,spatialReference:t.spatialReference}):new s({paths:l,spatialReference:t.spatialReference})}function w(t,e,n){if(e){const e=M(t,1e6);t=p(e,!0)}return n&&(t=c(t,n)),t}function b(t,e,n){if(Array.isArray(t)){const o=t[0];if(o>e){const n=l(o,e);t[0]=o+n*(-2*e)}else if(oe){const n=l(o,e);t=t.clone().offset(n*(-2*e),0)}else if(o{if(n[0]<180)return!0;{let n=0;for(let t=0;tn?o:n}n=Number(n.toFixed(9));const o=-360*l(n,180);for(let s=0;sb(t,d,M))),A.push(e)}else if(\"extent\"===t.type){const e=t.clone()._normalize(!1,!1,y);A.push(e.rings?new o(e):e)}else if(t.extent){const e=t.extent,n=l(e.xmin,M)*(2*d);let o=0===n?t.clone():c(t.clone(),n);e.offset(n,0);let{xmin:s,xmax:r}=e;s=Number(s.toFixed(9)),r=Number(r.toFixed(9)),e.intersects(P)&&r!==d?(U=r>U?r:U,o=w(o,x),z.push(o),A.push(\"cut\")):e.intersects(L)&&s!==M?(U=r*(2*d)>U?r*(2*d):U,o=w(o,x,360),z.push(o),A.push(\"cut\")):A.push(o)}else A.push(t.clone());else A.push(t);else A.push(t);let F=l(U,d),N=-90;const S=F,k=new s;for(;F>0;){const t=360*F-180;k.addPath([[t,N],[t,-1*N]]),N*=-1,F--}if(z.length>0&&S>0){const t=j(z,await a(p,z,k,r)),n=[],o=[];for(let r=0;r1&&s.rings.length>=i.rings.length?(n.push(s),o.push(\"simplify\")):o.push(x?u(s):s)}}if(!n.length)return o;const s=await h(p,n,r),i=[];for(let e=0;er||cs)return e;switch(t.type){case\"polygon\":if(!(t.rings.length>1))return e;l=d(t.rings);break;case\"polyline\":if(!(t.paths.length>1))return e;l=d(t.paths);break;case\"multipoint\":l=t.points}const p=e.clone();for(let f=0;fr?l=Math.ceil(Math.abs(e-r)/i):er?c=Math.ceil(Math.abs(t-r)/i):tr?u-=i:po)for(;t>o;)t-=s}return t}export{P as getClosestDenormalizedXToReference,v as getDenormalizedExtent,R as normalizeCentralMeridian,L as normalizeMapX,M as straightLineDensify};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport e from\"../Polyline.js\";import n from\"../SpatialReference.js\";import{isPolygon as t}from\"./jsonUtils.js\";const r={102100:{maxX:20037508.342788905,minX:-20037508.342788905,plus180Line:new e({paths:[[[20037508.342788905,-20037508.342788905],[20037508.342788905,20037508.342788905]]],spatialReference:n.WebMercator}),minus180Line:new e({paths:[[[-20037508.342788905,-20037508.342788905],[-20037508.342788905,20037508.342788905]]],spatialReference:n.WebMercator})},4326:{maxX:180,minX:-180,plus180Line:new e({paths:[[[180,-180],[180,180]]],spatialReference:n.WGS84}),minus180Line:new e({paths:[[[-180,-180],[-180,180]]],spatialReference:n.WGS84})}};function i(e,n){return Math.ceil((e-n)/(2*n))}function s(e,n){const t=o(e);for(const r of t)for(const e of r)e[0]+=n;return e}function o(e){return t(e)?e.rings:e.paths}export{r as cutParams,o as getGeometryParts,i as offsetMagnitude,s as updatePolyGeometry};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{clamp as t}from\"../../core/mathUtils.js\";import{c as n,p as r,d as o,n as c,f as e,i as u,e as I,h as i,g as f}from\"../../chunks/vec32.js\";import{create as s}from\"../../core/libs/gl-matrix-2/factories/vec3f64.js\";import{a as N,e as E}from\"../../chunks/vec42.js\";import{projectPointSignedLength as a}from\"./vector.js\";import{sv4d as T,sv3d as S}from\"./vectorStacks.js\";import{tangentFrame as _}from\"../../views/3d/support/mathUtils.js\";function M(t=$){return[t[0],t[1],t[2],t[3]]}const m=N,g=E;function D(t=$[0],n=$[1],r=$[2],o=$[3]){return U(t,n,r,o,T.get())}function h(t,n){return U(n[0],n[1],n[2],n[3],t)}function O(t){return t}function U(t,n,r,o,c=M()){return c[0]=t,c[1]=n,c[2]=r,c[3]=o,c}function C(t,r,o){return n(o,t),o[3]=r,o}function l(t,n,r){const o=n[0]*n[0]+n[1]*n[1]+n[2]*n[2],c=Math.abs(o-1)>1e-5&&o>1e-12?1/Math.sqrt(o):1;return r[0]=n[0]*c,r[1]=n[1]*c,r[2]=n[2]*c,r[3]=-(r[0]*t[0]+r[1]*t[1]+r[2]*t[2]),r}function p(t,n,r,o=M()){const c=r[0]-n[0],e=r[1]-n[1],u=r[2]-n[2],I=t[0]-n[0],i=t[1]-n[1],f=t[2]-n[2],s=e*f-u*i,N=u*I-c*f,E=c*i-e*I,a=s*s+N*N+E*E,T=Math.abs(a-1)>1e-5&&a>1e-12?1/Math.sqrt(a):1;return o[0]=s*T,o[1]=N*T,o[2]=E*T,o[3]=-(o[0]*t[0]+o[1]*t[1]+o[2]*t[2]),o}function v(t,n,u,I=0,i=Math.floor(u*(1/3)),f=Math.floor(u*(2/3))){if(u<3)return!1;n(R,I);let s=i,N=!1;for(;su(t,n[3*r+0],n[3*r+1],n[3*r+2])),r?o-1:o)}const F=.99619469809,R=s(),j=s(),b=s(),d=s(),X=s();function y(t,n,r){return n!==t&&h(t,n),t[3]=-e(O(t),r),t}function L(t,n){return n[0]=-t[0],n[1]=-t[1],n[2]=-t[2],n[3]=-t[3],n}function P(t,n,r,o){return I(b,n,t),l(r,b,o)}function k(t,n,r,c){return Y(Z(t,n,o(S.get(),r,n),nt,c))}function x(t,n,r){return null!=n&&Y(Z(t,n.origin,n.direction,rt,r))}function q(t,n,r){return Y(Z(t,n.origin,n.vector,tt.NONE,r))}function w(t,n,r){return Y(Z(t,n.origin,n.vector,tt.CLAMP,r))}function z(t,n){return V(t,n)>=0}function B(t,n){const r=e(O(t),n.ray.direction),o=-V(t,n.ray.origin);if(o<0&&r>=0)return!1;if(r>-1e-6&&r<1e-6)return o>0;if((o<0||r<0)&&!(o<0&&r<0))return!0;const c=o/r;return r>0?cn.c0&&(n.c0=c),n.c0<=n.c1}function G(t,n){const r=e(O(t),n.ray.direction),o=-V(t,n.ray.origin);if(r>-1e-6&&r<1e-6)return o>0;const c=o/r;return r>0?cn.c0&&(n.c0=c),n.c0<=n.c1}function H(t,n,r){const c=i(S.get(),O(t),-t[3]),e=K(t,o(S.get(),n,c),S.get());return f(r,e,c),r}function J(t,n,r,c){const e=O(t),I=S.get(),i=S.get();_(e,I,i);const f=o(S.get(),r,n),s=a(I,f),N=a(i,f),E=a(e,f);return u(c,s,N,E)}function K(t,n,r){const c=i(S.get(),O(t),e(O(t),n));return o(r,n,c),r}function Q(t,n){return Math.abs(V(t,n))}function V(t,n){return e(O(t),n)+t[3]}var W;function Y(t){return t===W.INTERSECTS_INSIDE_OUT||t===W.INTERSECTS_OUTSIDE_IN}function Z(n,r,o,c,u){const I=e(O(n),o),s=V(n,r);if(0===I)return s>=0?W.INSIDE:W.OUTSIDE;let N=-s/I;return c&tt.CLAMP&&(N=t(N,0,1)),!(c&tt.INFINITE_MIN)&&N<0||!(c&tt.INFINITE_MAX)&&N>1?s>=0?W.INSIDE:W.OUTSIDE:(f(u,r,i(u,o,N)),s>=0?W.INTERSECTS_INSIDE_OUT:W.INTERSECTS_OUTSIDE_IN)}!function(t){t[t.INTERSECTS_INSIDE_OUT=0]=\"INTERSECTS_INSIDE_OUT\",t[t.INTERSECTS_OUTSIDE_IN=1]=\"INTERSECTS_OUTSIDE_IN\",t[t.INSIDE=2]=\"INSIDE\",t[t.OUTSIDE=3]=\"OUTSIDE\"}(W||(W={}));const $=[0,0,1,0];var tt;!function(t){t[t.NONE=0]=\"NONE\",t[t.CLAMP=1]=\"CLAMP\",t[t.INFINITE_MIN=4]=\"INFINITE_MIN\",t[t.INFINITE_MAX=8]=\"INFINITE_MAX\"}(tt||(tt={}));const nt=tt.INFINITE_MIN|tt.INFINITE_MAX,rt=tt.INFINITE_MAX;export{tt as IntersectFlags,W as IntersectResult,B as clip,G as clipInfinite,h as copy,M as create,Q as distance,g as equals,m as exactEquals,A as fromArray,v as fromManyPoints,C as fromNormalAndOffset,p as fromPoints,l as fromPositionAndNormal,U as fromValues,P as fromVectorsAndPoint,O as getNormal,k as intersectLine,Z as intersectLineOrRay,q as intersectLineSegment,w as intersectLineSegmentClamp,x as intersectRay,z as isPointInside,L as negate,H as projectPoint,J as projectPointLocal,K as projectVector,y as setOffsetFromPoint,V as signedDistance,$ as up,D as wrap};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{isWebMercator as n,isGeographic as r}from\"./spatialReferenceUtils.js\";import{xyToLngLat as t}from\"./webMercatorUtils.js\";function e(n,r){const t=n.x-r.x,e=n.y-r.y,u=null!=n.z&&null!=r.z?n.z-r.z:0;return Math.sqrt(t*t+e*e+u*u)}function u(n){return i(n,o)?.[0]??null}function l(n){return i(n,o)?.[1]??null}function i({x:e,y:u,spatialReference:l},i=[0,0]){if(l){if(n(l))return t(e,u,i);if(r(l))return i[0]=e,i[1]=u,i}return null}const o=[0,0];export{e as distance,l as getLatitude,u as getLongitude,i as getLongitudeLatitude};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{isPoint as n,isPolyline as t,isPolygon as e,isMultipoint as r,isExtent as o}from\"./jsonUtils.js\";function s(n){if(!n)return null;return{originPosition:\"upper-left\"===n.originPosition?\"upperLeft\":\"lower-left\"===n.originPosition?\"lowerLeft\":n.originPosition,scale:n.tolerance?[n.tolerance,n.tolerance,1,1]:[1,1,1,1],translate:null!=n.extent?[n.extent.xmin,n.extent.ymax,n.extent.zmin??0,n.extent.mmin??0]:[0,0,0,0]}}function l(n){return\"lowerLeft\"===n.originPosition&&4===n.scale.length&&4===n.translate.length}function u(n){if(l(n))return n;const{originPosition:t,scale:e,translate:r}=n,o=e[0]??1,s=e[1]??1;return{originPosition:\"lowerLeft\",scale:[o,\"lowerLeft\"===t?s:-s,e[2]??1,e[3]??1],translate:[r[0]??0,r[1]??0,r[2]??0,r[3]??0]}}function i({scale:n,translate:t},e){return Math.round((e-t[0])/n[0])}function a({scale:n,translate:t},e){return Math.round((e-t[1])/n[1])}function c({scale:n,translate:t},e){return Math.round(((e??0)-t[2])/n[2])}function h({scale:n,translate:t},e){return e?Math.round((e-t[3])/n[3]):0}function f(n,t){return n&&t?M:n&&!t?g:!n&&t?x:m}const m=(n,t)=>{const e=[];if(!t.length)return null;const r=t[0];let o=i(n,r[0]),s=a(n,r[1]);e.push([o,s]);for(let l=1;l{const e=[];if(!t.length)return null;const r=t[0];let o=i(n,r[0]),s=a(n,r[1]),l=c(n,r[2]);e.push([o,s,l]);for(let u=1;u{const e=[];if(!t.length)return null;const r=t[0];let o=i(n,r[0]),s=a(n,r[1]),l=h(n,r[2]);e.push([o,s,l]);for(let u=1;u{const e=[];if(!t.length)return null;const r=t[0];let o=i(n,r[0]),s=a(n,r[1]),l=c(n,r[2]),u=h(n,r[3]);e.push([o,s,l,u]);for(let f=1;f=3&&o.push(e)}return o.length?o:null}function N(n,t,e,r){const o=[],s=f(e,r);for(let l=0;l=2&&o.push(e)}return o.length?o:null}function Z({scale:n,translate:t},e){return e*n[0]+t[0]}function y({scale:n,translate:t},e){return e*n[1]+t[1]}function z({scale:n,translate:t},e){return(e??0)*n[2]+t[2]}function w({scale:n,translate:t},e){return e?e*n[3]+t[3]:0}function P(n,t){return n&&t?A:n&&!t?E:!n&&t?L:T}const T=(n,t)=>{const e=new Array(t.length);if(!t.length)return e;const r=t[0];let o=Z(n,r[0]),s=y(n,r[1]);e[0]=[o,s];const{scale:l,originPosition:u}=n,i=l[0],a=\"lowerLeft\"===u?l[1]:-l[1];for(let c=1;c{const e=new Array(t.length);if(!t.length)return e;const r=t[0];let o=Z(n,r[0]),s=y(n,r[1]);e[0]=[o,s,z(n,r[2])];const{scale:l,originPosition:u}=n,i=l[0],a=\"lowerLeft\"===u?l[1]:-l[1];for(let c=1;c{const e=new Array(t.length);if(!t.length)return e;const r=t[0];let o=Z(n,r[0]),s=y(n,r[1]);e[0]=[o,s,w(n,r[2])];const{scale:l,originPosition:u}=n,i=l[0],a=\"lowerLeft\"===u?l[1]:-l[1];for(let c=1;c{const e=new Array(t.length);if(!t.length)return e;const r=t[0];let o=Z(n,r[0]),s=y(n,r[1]);e[0]=[o,s,z(n,r[2]),w(n,r[3])];const{scale:l,originPosition:u}=n,i=l[0],a=\"lowerLeft\"===u?l[1]:-l[1];for(let c=1;c0&&(u=Math.max(u,r)),t<0?l=Math.min(l,o):t>0&&(i=Math.max(i,o))}return n[0]=s,n[1]=l,n[2]=u,n[3]=i,n}function Y(n,t){if(!t.length)return null;n[0]=n[1]=Number.POSITIVE_INFINITY,n[2]=n[3]=Number.NEGATIVE_INFINITY;for(let e=0;e=1)return null;const h=s(z,j,p),x=m(U,l,c),k=n(B,j[0],j[1],j[2],-p[0],-p[1],-p[2],h[0],h[1],h[2]),v=t(B,k);if(null==v)return[o,e];const S=u(d(z,v[0],v[3],v[6]),x),q=u(d(A,v[1],v[4],v[7]),x);return f(o,c,g(U,j,S)),f(e,l,g(U,p,q)),[o,e]}const O=new r((()=>b())),U=j(),z=j(),A=j(),B=o();export{y as closestPoint,M as closestPoints,v as copy,b as create,w as distance2,x as equals,S as fromPoints,q as fromValues,k as wrap};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{floatEqualAbsolute as t}from\"../../core/mathUtils.js\";import{getMetersPerUnitForSR as n,inchesPerMeter as e}from\"../../core/unitUtils.js\";const r=96;function i(t,i){const o=i||t.extent,u=t.width,c=n(o?.spatialReference);return o&&u?o.width/u*c*e*r:0}function o(t,i){return t/(n(i)*e*r)}function u(t){return t/(e*r)}function c(t,i){return t*(n(i)*e*r)}function f(t,n){const e=t.extent,r=t.width-(t.padding?t.padding.left+t.padding.right:0),i=o(n,e.spatialReference);return e.clone().expand(i*r/e.width)}function d(t,n,e){return a(t,n)&&p(t,e)}function a(n,e){return 0===e||t(n,e)||ne}export{f as getExtentForScale,o as getResolutionForScale,u as getResolutionInMetersForScale,i as getScale,c as getScaleForResolution,d as isInScaleRange};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{replace as e}from\"../../core/string.js\";import{i as r,l as n,P as t,a as i}from\"../../chunks/pe.js\";import{SupportedGCSWkids as _}from\"./SupportedGCSWkids.js\";import a from\"./WKIDUnitConversion.js\";const l=[102100,102113,3857,3785,900913],E=[104905,104971],u=[4326,...l,...E],o=[-20037508.342788905,20037508.342788905],S=[-20037508.342787,20037508.342787],M={wkTemplate:'PROJCS[\"WGS_1984_Web_Mercator_Auxiliary_Sphere\",GEOGCS[\"GCS_WGS_1984\",DATUM[\"D_WGS_1984\",SPHEROID[\"WGS_1984\",6378137.0,298.257223563]],PRIMEM[\"Greenwich\",0.0],UNIT[\"Degree\",0.0174532925199433]],PROJECTION[\"Mercator_Auxiliary_Sphere\"],PARAMETER[\"False_Easting\",0.0],PARAMETER[\"False_Northing\",0.0],PARAMETER[\"Central_Meridian\",{Central_Meridian}],PARAMETER[\"Standard_Parallel_1\",0.0],PARAMETER[\"Auxiliary_Sphere_Type\",0.0],UNIT[\"Meter\",1.0]]',valid:o,origin:S,dx:1e-5},R={102113:{wkTemplate:'PROJCS[\"WGS_1984_Web_Mercator\",GEOGCS[\"GCS_WGS_1984_Major_Auxiliary_Sphere\",DATUM[\"D_WGS_1984_Major_Auxiliary_Sphere\",SPHEROID[\"WGS_1984_Major_Auxiliary_Sphere\",6378137.0,0.0]],PRIMEM[\"Greenwich\",0.0],UNIT[\"Degree\",0.0174532925199433]],PROJECTION[\"Mercator\"],PARAMETER[\"False_Easting\",0.0],PARAMETER[\"False_Northing\",0.0],PARAMETER[\"Central_Meridian\",{Central_Meridian}],PARAMETER[\"Standard_Parallel_1\",0.0],UNIT[\"Meter\",1.0]]',valid:o,origin:S,dx:1e-5},102100:M,3785:{wkTemplate:'PROJCS[\"WGS_1984_Web_Mercator\",GEOGCS[\"GCS_WGS_1984_Major_Auxiliary_Sphere\",DATUM[\"D_WGS_1984_Major_Auxiliary_Sphere\",SPHEROID[\"WGS_1984_Major_Auxiliary_Sphere\",6378137.0,0.0]],PRIMEM[\"Greenwich\",0.0],UNIT[\"Degree\",0.0174532925199433]],PROJECTION[\"Mercator\"],PARAMETER[\"False_Easting\",0.0],PARAMETER[\"False_Northing\",0.0],PARAMETER[\"Central_Meridian\",{Central_Meridian}],PARAMETER[\"Standard_Parallel_1\",0.0],UNIT[\"Meter\",1.0]]',valid:o,origin:S,dx:1e-5},3857:M,4326:{wkTemplate:'GEOGCS[\"GCS_WGS_1984\",DATUM[\"D_WGS_1984\",SPHEROID[\"WGS_1984\",6378137.0,298.257223563]],PRIMEM[\"Greenwich\",{Central_Meridian}],UNIT[\"Degree\",0.0174532925199433]]',altTemplate:'PROJCS[\"WGS_1984_Plate_Carree\",GEOGCS[\"GCS_WGS_1984\",DATUM[\"D_WGS_1984\",SPHEROID[\"WGS_1984\",6378137.0,298.257223563]],PRIMEM[\"Greenwich\",0.0],UNIT[\"Degree\",0.0174532925199433]],PROJECTION[\"Plate_Carree\"],PARAMETER[\"False_Easting\",0.0],PARAMETER[\"False_Northing\",0.0],PARAMETER[\"Central_Meridian\",{Central_Meridian}],UNIT[\"Degrees\",111319.491]]',valid:[-180,180],origin:[-180,90],dx:1e-5},104971:{wkTemplate:'GEOGCS[\"Mars_2000_(Sphere)\",DATUM[\"Mars_2000_(Sphere)\",SPHEROID[\"Mars_2000_(Sphere)\",3396190.0,0.0]],PRIMEM[\"Reference_Meridian\",0.0],UNIT[\"Degree\",0.0174532925199433]]',valid:[-180,180],origin:[-180,90],dx:1e-5},104905:{wkTemplate:'GEOGCS[\"GCS_Mars_2000\",DATUM[\"D_Mars_2000\",SPHEROID[\"Mars_2000_IAU_IAG\",3396190.0,169.8944472236118]],PRIMEM[\"Reference_Meridian\",0.0],UNIT[\"Degree\",0.0174532925199433]]',valid:[-180,180],origin:[-180,90],dx:1e-5},900913:M};function s(e,r){if(e===r)return!0;if(null==e||null==r)return!1;const n=e.wkid,t=r.wkid;if(null!=n||null!=t){if(n===t)return!0;if(O(e)&&O(r))return!0;const i=e.latestWkid;if(null!=i&&t===i)return!0;const _=r.latestWkid;return null!=_&&n===_}let i,_;return e.wkt2&&r.wkt2?(i=e.wkt2,_=r.wkt2):e.wkt&&r.wkt&&(i=e.wkt,_=r.wkt),!(!i||!_)&&i.toUpperCase()===_.toUpperCase()}async function G(e,_){if(e===_)return!0;r()||await n();const a=e=>{const r=e.wkt2||e.wkt;if(r){const e=t.fromString(i.PE_TYPE_NONE,r);return e?.getCode()}const n=e.wkid??e.latestWkid;return n?t.coordsys(n)?.getCode():null},l=e?a(e):null,E=_?a(_):null;return null!=l&&null!=E&&l===E}function d(e){const r=e?.wkid;return null!=r&&r>=2e3&&R[r]||null}async function T(e,_){if(1===_&&!k(e)||2===_&&k(e))return e;r()||await n();const a=t.fromString(i.PE_TYPE_NONE,e);return a?.toString(1===_?i.PE_STR_FMT_WKT:i.PE_STR_FMT_WKT2)??null}function c(e){if(!e)return;const{wkid:r,vcsWkid:n}=e;if(r)return n?JSON.stringify({wkid:r,vcsWkid:n}):String(r);const t=e.wkt||e.wkt2;return JSON.stringify(t?n?{wkt:t,vcsWkid:n}:{wkt:t}:{})}function P(e){if(!g(e))return!1;const{wkid:r}=e;if(r)return null==a[r];const n=e.wkt2||e.wkt;return!!n&&/^\\s*(?:GEOGCS|GEOGCRS|GEOGRAPHICCRS)/i.test(n)}function A(e){return!(D(e)||W(e))}function C(e){return 4326===e?.wkid}function k(e){return/^\\s*(?:GEOD|GEODETIC|GEOG|GEOGRAPHIC|PROJ|PROJECTED|VERT|VERTICAL|ENG|ENGINEERING|PARAMETRIC|TIME|DERIVEDPROJ|COMPOUND|BOUND)CRS/i.test(e)}function w(e){return e?.wkid===_.CGCS2000}function O(e){const r=e?.wkid;return null!=r&&r>=2e3&&l.includes(r)}function f(e){return 32662===e?.wkid}function I(e){return e===_.GCSMARS2000||e===_.GCSMARS2000_SPHERE}function D(e){return I(e?.wkid)}function p(e){return e===_.GCSMOON2000}function W(e){return p(e?.wkid)}function N(e){const r=e?.wkid;return null!=r&&r>=2e3&&u.includes(r)}function g(e){if(null==e)return!1;const r=e.wkid;return null!=r&&r>=2e3||(null!=e.wkt2||null!=e.wkt)}const U={wkid:4326,wkt:e(R[4326].wkTemplate,{Central_Meridian:\"0.0\"})},h={wkid:102100,latestWkid:3857},m={wkid:32662};export{s as equals,G as equalsWithProjectionEngine,d as getInfo,T as getWktFromWkt,w as isCGCS2000,A as isEarth,P as isGeographic,D as isMars,W as isMoon,f as isPlateCarree,g as isValid,C as isWGS84,I as isWKIDFromMars,p as isWKIDFromMoon,k as isWKT2,O as isWebMercator,N as isWrappable,m as plateCarree,c as srToRESTValue,h as webMercator,S as webMercatorOrigin,o as webMercatorValid,U as wgs84};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{asinClamped as t}from\"../../core/mathUtils.js\";import{l as o,i as s}from\"../../chunks/vec32.js\";function n(n,a){const c=o(n),i=t(n[2]/c),r=Math.atan2(n[1]/c,n[0]/c);return s(a,c,i,r),a}function a(t,o){const n=t[0],a=t[1],c=t[2],i=Math.cos(a);s(o,n*i*Math.cos(c),n*i*Math.sin(c),n*Math.sin(a))}export{n as cartesianToSpherical,a as sphericalToCartesian};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{strict as e}from\"../../core/jsonMap.js\";const o=e()({esriGeometryPoint:\"point\",esriGeometryMultipoint:\"multipoint\",esriGeometryPolyline:\"polyline\",esriGeometryPolygon:\"polygon\"}),i=e()({esriGeometryPoint:\"point\",esriGeometryMultipoint:\"multipoint\",esriGeometryPolyline:\"polyline\",esriGeometryPolygon:\"polygon\",esriGeometryEnvelope:\"extent\",mesh:\"mesh\"});export{o as featureGeometryTypeKebabDictionary,i as typeKebabDictionary};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{acosClamped as t}from\"../../core/mathUtils.js\";import{f as r,h as n,l as o,n as s,e as c}from\"../../chunks/vec32.js\";import{create as e}from\"../../core/libs/gl-matrix-2/factories/vec3f64.js\";function i(t,o,s){const c=r(t,o)/r(t,t);return n(s,t,c)}function f(t,n){return r(t,n)/o(t)}function a(n,s){const c=r(n,s)/(o(n)*o(s));return-t(c)}function u(n,o,e){s(m,n),s(h,o);const i=r(m,h),f=t(i),a=c(m,m,h);return r(a,e)<0?2*Math.PI-f:f}const m=e(),h=e();export{a as angle,u as angleAroundAxis,i as projectPoint,f as projectPointSignedLength};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{VectorStack as e}from\"../../core/VectorStack.js\";const t=e.createVec2f64(),c=e.createVec3f64(),r=e.createVec4f64(),a=e.createMat3f64(),f=e.createMat4f64(),o=e.createQuatf64();export{a as sm3d,f as sm4d,o as sq4d,t as sv2d,c as sv3d,r as sv4d};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{clone as n}from\"../../core/lang.js\";import t from\"../SpatialReference.js\";import{earth as e}from\"./Ellipsoid.js\";import{equals as i,isWebMercator as r,isWGS84 as s,webMercatorValid as a}from\"./spatialReferenceUtils.js\";const o=57.29577951308232,l=.017453292519943;function u(n){return n*o}function f(n){return n*l}function p(n){return n/e.radius}function c(n){return Math.PI/2-2*Math.atan(Math.exp(-n/e.radius))}function h(n){return null!=n.wkid||null!=n.wkt}const m=[0,0];function x(n,t,e,i,r){const s=n,a=r;if(a.spatialReference=e,\"x\"in s&&\"x\"in a)[a.x,a.y]=t(s.x,s.y,m,i);else if(\"xmin\"in s&&\"xmin\"in a)[a.xmin,a.ymin]=t(s.xmin,s.ymin,m,i),[a.xmax,a.ymax]=t(s.xmax,s.ymax,m,i);else if(\"paths\"in s&&\"paths\"in a||\"rings\"in s&&\"rings\"in a){const n=\"paths\"in s?s.paths:s.rings,e=[];let r;for(let s=0;s2&&r[n].push(a[n][2]),a[n].length>3&&r[n].push(a[n][3])}\"paths\"in a?a.paths=e:a.rings=e}else if(\"points\"in s&&\"points\"in a){const n=s.points,e=[];for(let r=0;r2&&e[r].push(n[r][2]),n[r].length>3&&e[r].push(n[r][3]);a.points=e}return r}function g(n,t){const e=n&&(h(n)?n:n.spatialReference),a=t&&(h(t)?t:t.spatialReference);return!(n&&\"type\"in n&&\"mesh\"===n.type||t&&\"type\"in t&&\"mesh\"===t.type||!e||!a)&&(!!i(a,e)||(r(a)&&s(e)||r(e)&&s(a)))}function M(e,a){if(null==e)return null;const o=e.spatialReference,l=a&&(h(a)?a:a.spatialReference);return g(o,l)?i(o,l)?n(e):r(l)?x(e,y,t.WebMercator,!1,n(e)):s(l)?x(e,d,t.WGS84,!1,n(e)):null:null}function y(n,t,i=[0,0]){t>89.99999?t=89.99999:t<-89.99999&&(t=-89.99999);const r=f(t);return i[0]=f(n)*e.radius,i[1]=e.halfSemiMajorAxis*Math.log((1+Math.sin(r))/(1-Math.sin(r))),i}function d(n,t,i=[0,0],r=!1){if(n===a[0])i[0]=-180;else if(n===a[1])i[0]=180;else{const t=u(n/e.radius);i[0]=r?t:t-360*Math.floor((t+180)/360)}return i[1]=u(Math.PI/2-2*Math.atan(Math.exp(-t/e.radius))),i}function R(e,i=!1,r=n(e)){return x(e,y,t.WebMercator,i,r)}function j(e,i=!1,r=n(e)){return x(e,d,t.WGS84,i,r)}export{g as canProject,R as geographicToWebMercator,y as lngLatToXY,M as project,j as webMercatorToGeographic,p as x2lon,d as xyToLngLat,c as y2lat};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nfunction h(h,a,s=!1){let{hasM:t,hasZ:e}=h;Array.isArray(a)?4!==a.length||t||e?3===a.length&&s&&!t?(e=!0,t=!1):3===a.length&&t&&e&&(t=!1,e=!1):(t=!0,e=!0):(e=!e&&a.hasZ&&(!t||a.hasM),t=!t&&a.hasM&&(!e||a.hasZ)),h.hasZ=e,h.hasM=t}export{h as updateSupportFromPoint};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{getMetersPerVerticalUnitForSR as n}from\"../../core/unitUtils.js\";import{isSphericalPCPF as e}from\"../ellipsoidUtils.js\";import{equals as t}from\"./spatialReferenceUtils.js\";function o(o,f,u){if(null==f||null==u||u.vcsWkid||t(f,u)||e(f)||e(u))return null;const a=n(f)/n(u);if(1===a)return null;switch(o){case\"point\":case\"esriGeometryPoint\":return n=>r(n,a);case\"polyline\":case\"esriGeometryPolyline\":return n=>l(n,a);case\"polygon\":case\"esriGeometryPolygon\":return n=>i(n,a);case\"multipoint\":case\"esriGeometryMultipoint\":return n=>s(n,a);case\"extent\":case\"esriGeometryEnvelope\":return n=>c(n,a);default:return null}}function r(n,e){null!=n?.z&&(n.z*=e)}function i(n,e){if(n)for(const t of n.rings)for(const n of t)n.length>2&&(n[2]*=e)}function l(n,e){if(n)for(const t of n.paths)for(const n of t)n.length>2&&(n[2]*=e)}function s(n,e){if(n)for(const t of n.points)t.length>2&&(t[2]*=e)}function c(n,e){n&&null!=n.zmin&&null!=n.zmax&&(n.zmin*=e,n.zmax*=e)}export{o as getGeometryZScaler};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{_ as o}from\"../chunks/tslib.es6.js\";import{JSONSupport as r}from\"../core/JSONSupport.js\";import\"../core/Logger.js\";import\"../core/has.js\";import\"../core/RandomLCG.js\";import\"../core/Error.js\";import{enumeration as e}from\"../core/accessorSupport/decorators/enumeration.js\";import{subclass as t}from\"../core/accessorSupport/decorators/subclass.js\";var s;let p=s=class extends r{constructor(o){super(o),this.type=\"none\"}clone(){return new s({type:this.type})}};o([e({none:\"none\",stayAbove:\"stay-above\"})],p.prototype,\"type\",void 0),p=s=o([t(\"esri.ground.NavigationConstraint\")],p);export{p as NavigationConstraint};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nexport{convertDateFormatToIntlOptions,formatDate,formatDateOnly,formatTimeOnly,formatTimestamp}from\"./intl/date.js\";export{convertNumberFormatToIntlOptions,formatNumber}from\"./intl/number.js\";export{substitute}from\"./intl/substitute.js\";export{getLocale,onLocaleChange,prefersRTL,setLocale}from\"./intl/locale.js\";import{registerMessageBundleLoader as t}from\"./intl/messages.js\";export{fetchMessageBundle,normalizeMessageBundleLocale}from\"./intl/messages.js\";import{createJSONLoader as e}from\"./intl/t9n.js\";import{getAssetUrl as o}from\"./assets.js\";t(e({pattern:\"esri/\",location:o}));export{e as createJSONLoader,t as registerMessageBundleLoader};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{strict as t}from\"../core/jsonMap.js\";import{beforeLocaleChange as e,getLocale as o}from\"./locale.js\";import{system as r,utc as n,unknown as a,systemTimeZone as m,shortTimeZoneName as h}from\"../time/timeZoneUtils.js\";import{DateTime as i}from\"luxon\";const s={year:void 0,month:void 0,day:void 0,weekday:void 0},l={hour:void 0,minute:void 0,second:void 0},y={timeZone:n},d={year:\"numeric\",month:\"numeric\",day:\"numeric\"},g={year:\"numeric\",month:\"long\",day:\"numeric\"},u={year:\"numeric\",month:\"short\",day:\"numeric\"},c={year:\"numeric\",month:\"long\",weekday:\"long\",day:\"numeric\"},D={hour:\"numeric\",minute:\"numeric\"},T={...D,second:\"numeric\"},f={hourCycle:\"h23\"},S={...D,...f},L={...T,...f},M={\"short-date\":d,\"short-date-short-time\":{...d,...D},\"short-date-short-time-24\":{...d,...S},\"short-date-long-time\":{...d,...T},\"short-date-long-time-24\":{...d,...L},\"short-date-le\":d,\"short-date-le-short-time\":{...d,...D},\"short-date-le-short-time-24\":{...d,...S},\"short-date-le-long-time\":{...d,...T},\"short-date-le-long-time-24\":{...d,...L},\"long-month-day-year\":g,\"long-month-day-year-short-time\":{...g,...D},\"long-month-day-year-short-time-24\":{...g,...S},\"long-month-day-year-long-time\":{...g,...T},\"long-month-day-year-long-time-24\":{...g,...L},\"day-short-month-year\":u,\"day-short-month-year-short-time\":{...u,...D},\"day-short-month-year-short-time-24\":{...u,...S},\"day-short-month-year-long-time\":{...u,...T},\"day-short-month-year-long-time-24\":{...u,...L},\"long-date\":c,\"long-date-short-time\":{...c,...D},\"long-date-short-time-24\":{...c,...S},\"long-date-long-time\":{...c,...T},\"long-date-long-time-24\":{...c,...L},\"long-month-year\":{month:\"long\",year:\"numeric\"},\"short-month-year\":{month:\"short\",year:\"numeric\"},year:{year:\"numeric\"},\"short-time\":D,\"long-time\":T},Y=t()({shortDate:\"short-date\",shortDateShortTime:\"short-date-short-time\",shortDateShortTime24:\"short-date-short-time-24\",shortDateLongTime:\"short-date-long-time\",shortDateLongTime24:\"short-date-long-time-24\",shortDateLE:\"short-date-le\",shortDateLEShortTime:\"short-date-le-short-time\",shortDateLEShortTime24:\"short-date-le-short-time-24\",shortDateLELongTime:\"short-date-le-long-time\",shortDateLELongTime24:\"short-date-le-long-time-24\",longMonthDayYear:\"long-month-day-year\",longMonthDayYearShortTime:\"long-month-day-year-short-time\",longMonthDayYearShortTime24:\"long-month-day-year-short-time-24\",longMonthDayYearLongTime:\"long-month-day-year-long-time\",longMonthDayYearLongTime24:\"long-month-day-year-long-time-24\",dayShortMonthYear:\"day-short-month-year\",dayShortMonthYearShortTime:\"day-short-month-year-short-time\",dayShortMonthYearShortTime24:\"day-short-month-year-short-time-24\",dayShortMonthYearLongTime:\"day-short-month-year-long-time\",dayShortMonthYearLongTime24:\"day-short-month-year-long-time-24\",longDate:\"long-date\",longDateShortTime:\"long-date-short-time\",longDateShortTime24:\"long-date-short-time-24\",longDateLongTime:\"long-date-long-time\",longDateLongTime24:\"long-date-long-time-24\",longMonthYear:\"long-month-year\",shortMonthYear:\"short-month-year\",year:\"year\"}),Z={ar:\"ar-u-nu-latn-ca-gregory\"};let w=new WeakMap;const p=M[\"short-date-short-time\"];function v(t){let e=w.get(t);if(!e){const n=o(),a=Z[n]||n,m=F(t.timeZone??r),h={...t,timeZone:m};e=new Intl.DateTimeFormat(a,h),w.set(t,e)}return e}function E(t){return M[t]}function j(t,e=p){return v(e).format(t)}function k(t,e=p){return j(new Date(t),{...e,...y,...l})}function I(t,e=p){return j(new Date(`1970-01-01T${t}Z`),{...e,...y,...s})}function x(t,e=p){if(e.timeZone)return j(new Date(t),e);const r=i.fromISO(t,{setZone:!0}),a=o(),m=Z[a]??a,h=0===r.offset?n:e.timeZone,s={...e,timeZone:h};return r.toLocaleString(s,{locale:m})}function F(t){switch(t){case r:return m;case a:return n;default:return t}}function N(t,e){const r=o(),n=Z[r]??r;return new Intl.DateTimeFormat(n,e).formatToParts(t)}function W(t,e=new Date){return N(e,{timeZone:t,timeZoneName:h}).find((({type:t})=>\"timeZoneName\"===t))?.value}e((()=>{w=new WeakMap}));export{E as convertDateFormatToIntlOptions,Y as dateFormatJSONMap,j as formatDate,k as formatDateOnly,I as formatTimeOnly,x as formatTimestamp,v as getDateTimeFormatter,W as getShortOffsetTimeZoneSuffix,F as resolveTimeZone};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{makeHandle as n}from\"../core/handleUtils.js\";let o,t;const e=globalThis.esriConfig?.locale??globalThis.dojoConfig?.locale,i=globalThis.document?.documentElement;function r(){const n=i?.getAttribute(\"lang\"),o=globalThis.navigator?.language;return e??n??o??\"en\"}function c(){return void 0===t&&(t=r()),t}function a(n){o=n||void 0,b()}function l(n=c()){const o=/^([a-zA-Z]{2,3})(?:[_-][a-zA-Z0-9]+)*$/.exec(n);return o?.[1].toLowerCase()}const s={he:!0,ar:!0};function u(n=c()){const o=l(n);return void 0!==o&&(s[o]||!1)}const f=[];function g(o){return f.push(o),n((()=>f.splice(f.indexOf(o),1)))}const h=[];function d(o){return h.push(o),n((()=>h.splice(h.indexOf(o),1)))}function b(){const n=o??r();t!==n&&([...h].forEach((o=>o(n))),t=n,[...f].forEach((o=>o(n))))}if(globalThis.addEventListener?.(\"languagechange\",b),i){new MutationObserver((()=>{b()})).observe(i,{attributeFilter:[\"lang\"]})}export{d as beforeLocaleChange,r as getDefaultLocale,l as getLanguage,c as getLocale,g as onLocaleChange,u as prefersRTL,a as setLocale};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport t from\"../core/Error.js\";import{makeHandle as e}from\"../core/handleUtils.js\";import{createResolver as n}from\"../core/promiseUtils.js\";import{beforeLocaleChange as s,getLocale as r}from\"./locale.js\";const o=/^([a-z]{2})(?:[-_]([A-Za-z]{2}))?$/,i={ar:!0,bg:!0,bs:!0,ca:!0,cs:!0,da:!0,de:!0,el:!0,en:!0,es:!0,et:!0,fi:!0,fr:!0,he:!0,hr:!0,hu:!0,id:!0,it:!0,ja:!0,ko:!0,lt:!0,lv:!0,nb:!0,nl:!0,pl:!0,\"pt-BR\":!0,\"pt-PT\":!0,ro:!0,ru:!0,sk:!0,sl:!0,sr:!0,sv:!0,th:!0,tr:!0,uk:!0,vi:!0,\"zh-CN\":!0,\"zh-HK\":!0,\"zh-TW\":!0};function a(t){return t in i}const c=[],d=new Map;function l(t){for(const e of d.keys())_(t.pattern,e)&&d.delete(e)}function u(t){return c.includes(t)||(l(t),c.unshift(t)),e((()=>{const e=c.indexOf(t);e>-1&&(c.splice(e,1),l(t))}))}async function h(t){const e=r();d.has(t)||d.set(t,m(t,e));const n=d.get(t);return n&&await p.add(n),n}function f(t){if(!o.test(t))return null;const e=o.exec(t);if(null===e)return null;const[,n,s]=e,r=n+(s?\"-\"+s.toUpperCase():\"\");return a(r)?r:a(n)?n:null}async function m(e,n){const s=[];for(const t of c)if(_(t.pattern,e))try{return await t.fetchMessageBundle(e,n)}catch(r){s.push(r)}if(s.length)throw new t(\"intl:message-bundle-error\",`Errors occurred while loading \"${e}\"`,{errors:s});throw new t(\"intl:no-message-bundle-loader\",`No loader found for message bundle \"${e}\"`)}function _(t,e){return\"string\"==typeof t?e.startsWith(t):t.test(e)}s((()=>{d.clear()}));const p=new class{constructor(){this._numLoading=0,this._dfd=null}async waitForAll(){this._dfd&&await this._dfd.promise}add(t){return this._increase(),t.then((()=>this._decrease()),(()=>this._decrease())),this.waitForAll()}_increase(){this._numLoading++,this._dfd||(this._dfd=n())}_decrease(){this._numLoading=Math.max(this._numLoading-1,0),this._dfd&&0===this._numLoading&&(this._dfd.resolve(),this._dfd=null)}},g={cache:d,loaders:c};export{h as fetchMessageBundle,i as messageBundlesLocaleMap,f as normalizeMessageBundleLocale,u as registerMessageBundleLoader,g as test};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{beforeLocaleChange as e,getLocale as n}from\"./locale.js\";const t={ar:\"ar-u-nu-latn\"};let u=new WeakMap,r={};function a(e){const a=e||r;if(!u.has(a)){const r=n(),i=t[n()]||r;u.set(a,new Intl.NumberFormat(i,e))}return u.get(a)}function i(e={}){const n={};return null!=e.digitSeparator&&(n.useGrouping=e.digitSeparator),null!=e.places&&(n.minimumFractionDigits=n.maximumFractionDigits=e.places),n}function l(e,n){return Object.is(e,-0)&&(e=0),a(n).format(e)}function o(e,t=n()){if(!e)return null;let u=p.get(t);if(!u){const e=a().formatToParts(12345.6),n=[...a({useGrouping:!1}).format(9876543210)].reverse(),r=new Map(n.map(((e,n)=>[e,n]))),i=new RegExp(`[${e.find((e=>\"group\"===e.type))?.value}]`,\"g\"),l=new RegExp(`[${e.find((e=>\"decimal\"===e.type))?.value}]`),o=new RegExp(`[${n.join(\"\")}]`,\"g\"),c=/[\\u200E\\u200F\\u202A\\u202B\\u202C\\u202D\\u202E\\u2066\\u2067\\u2068\\u2069\\u061C]/g,s=/[-\\u2212\\u2013\\u2014\\u2015]/g;u=e=>{if(\"\"===(e=e.trim().replaceAll(i,\"\").replace(l,\".\").replace(o,(e=>String(r.get(e)))).replaceAll(c,\"\").replaceAll(s,\"-\")))return null;const n=Number(e);return isNaN(n)?null:n},p.set(t,u)}return u(e)}e((()=>{u=new WeakMap,r={}}));const p=new Map;export{i as convertNumberFormatToIntlOptions,l as formatNumber,a as getFormatter,o as parseNumber};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport t from\"../core/Logger.js\";import{getDeepValue as r}from\"../core/object.js\";import{replace as e}from\"../core/string.js\";import{formatDate as n}from\"./date.js\";import{formatNumber as o}from\"./number.js\";const i=()=>t.getLogger(\"esri.intl.substitute\");function s(t,r,n={}){const{format:o={}}=n;return e(t,(t=>u(t,r,o)))}function u(t,e,n){let o,i;const s=t.indexOf(\":\");if(-1===s?o=t.trim():(o=t.slice(0,s).trim(),i=t.slice(s+1).trim()),!o)return\"\";const u=r(o,e);if(null==u)return\"\";const m=(i?n?.[i]:null)??n?.[o];return m?c(u,m):i?a(u,i):f(u)}function c(t,r){switch(r.type){case\"date\":return n(t,r.intlOptions);case\"number\":return o(t,r.intlOptions);default:return i().warn(\"missing format descriptor for key {key}\"),f(t)}}function a(t,r){switch(r.toLowerCase()){case\"dateformat\":return n(t);case\"numberformat\":return o(t);default:return i().warn(`inline format is unsupported since 4.12: ${r}`),/^(dateformat|datestring)/i.test(r)?n(t):/^numberformat/i.test(r)?o(t):f(t)}}function f(t){switch(typeof t){case\"string\":return t;case\"number\":return o(t);case\"boolean\":return\"\"+t;default:return t instanceof Date?n(t):\"\"}}export{s as substitute};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport e from\"../request.js\";import t from\"../core/Error.js\";import{normalizeMessageBundleLocale as n}from\"./messages.js\";async function r(e,r,s,i){const a=r.exec(s);if(!a)throw new t(\"esri-intl:invalid-bundle\",`Bundle id \"${s}\" is not compatible with the pattern \"${r}\"`);const c=a[1]?`${a[1]}/`:\"\",l=a[2],w=n(i),h=`${c}${l}.json`,u=w?`${c}${l}_${w}.json`:h;let d;try{d=await o(e(u))}catch(f){if(u===h)throw new t(\"intl:unknown-bundle\",`Bundle \"${s}\" cannot be loaded`,{error:f});try{d=await o(e(h))}catch(f){throw new t(\"intl:unknown-bundle\",`Bundle \"${s}\" cannot be loaded`,{error:f})}}return d}async function o(t){if(null!=a.fetchBundleAsset)return a.fetchBundleAsset(t);const n=await e(t,{responseType:\"text\"});return JSON.parse(n.data)}class s{constructor({base:e=\"\",pattern:t,location:n=new URL(window.location.href)}){let r;r=\"string\"==typeof n?e=>new URL(e,new URL(n,window.location.href)).href:n instanceof URL?e=>new URL(e,n).href:n,this.pattern=\"string\"==typeof t?new RegExp(`^${t}`):t,this.getAssetUrl=r,e=e?e.endsWith(\"/\")?e:e+\"/\":\"\",this.matcher=new RegExp(`^${e}(?:(.*)\\\\/)?(.*)$`)}fetchMessageBundle(e,t){return r(this.getAssetUrl,this.matcher,e,t)}}function i(e){return new s(e)}const a={};export{s as JSONLoader,i as createJSONLoader,a as test};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport has from\"./core/has.js\";import{addQueryParameter as o}from\"./core/urlUtils.js\";import{buildDate as e,commitHash as r}from\"./support/revision.js\";Symbol.dispose??=Symbol(\"Symbol.dispose\"),Symbol.asyncDispose??=Symbol(\"Symbol.asyncDispose\");const s=\"4.31\";let i,t=s;t=\"4.31.6\";function n(o){i=o}function l(e){const r=i?.findCredential(e);return r?.token?o(e,\"token\",r.token):e}has(\"host-webworker\")||globalThis.$arcgis||Object.defineProperty(globalThis,\"$arcgis\",{configurable:!1,enumerable:!0,writable:!1,value:{}}),has(\"host-webworker\");export{l as addTokenParameter,e as buildDate,t as fullVersion,i as id,r as revision,n as setId,s as version};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{_ as e}from\"../chunks/tslib.es6.js\";import t from\"../PopupTemplate.js\";import\"../renderers/ClassBreaksRenderer.js\";import\"../renderers/DictionaryRenderer.js\";import\"../renderers/DotDensityRenderer.js\";import\"../renderers/HeatmapRenderer.js\";import\"../renderers/PieChartRenderer.js\";import\"../renderers/Renderer.js\";import\"../renderers/SimpleRenderer.js\";import\"../renderers/UniqueValueRenderer.js\";import{read as r}from\"../renderers/support/jsonUtils.js\";import{rendererTypes as i,webSceneRendererTypes as o}from\"../renderers/support/types.js\";import s from\"../request.js\";import{symbolTypes as a}from\"../symbols.js\";import{ClonableMixin as n}from\"../core/Clonable.js\";import l from\"../core/Collection.js\";import p from\"../core/Error.js\";import{clone as u}from\"../core/lang.js\";import d from\"../core/Logger.js\";import{MultiOriginJSONMixin as y}from\"../core/MultiOriginJSONSupport.js\";import{setDeepValue as c}from\"../core/object.js\";import{debounce as m,throwIfAbortError as h,whenOrAbort as f}from\"../core/promiseUtils.js\";import{sqlAnd as b}from\"../core/sql.js\";import{urlToObject as g,join as w}from\"../core/urlUtils.js\";import v from\"../core/Warning.js\";import{property as j}from\"../core/accessorSupport/decorators/property.js\";import{cast as S}from\"../core/accessorSupport/decorators/cast.js\";import{reader as F}from\"../core/accessorSupport/decorators/reader.js\";import{subclass as T}from\"../core/accessorSupport/decorators/subclass.js\";import{writer as I}from\"../core/accessorSupport/decorators/writer.js\";import{excludeTables as E}from\"../core/accessorSupport/layerContainerType.js\";import D from\"../form/FormTemplate.js\";import L from\"../geometry/SpatialReference.js\";import _ from\"./Layer.js\";import{MemorySource as x}from\"./graphics/sources/MemorySource.js\";import{APIKeyMixin as P}from\"./mixins/APIKeyMixin.js\";import{ArcGISService as q}from\"./mixins/ArcGISService.js\";import{BlendLayer as C}from\"./mixins/BlendLayer.js\";import{CustomParametersMixin as M}from\"./mixins/CustomParametersMixin.js\";import{EditBusLayer as O}from\"./mixins/EditBusLayer.js\";import{FeatureEffectLayer as A}from\"./mixins/FeatureEffectLayer.js\";import{FeatureLayerBase as R}from\"./mixins/FeatureLayerBase.js\";import{FeatureReductionLayer as V}from\"./mixins/FeatureReductionLayer.js\";import{OperationalLayer as Q}from\"./mixins/OperationalLayer.js\";import{OrderedLayer as U}from\"./mixins/OrderedLayer.js\";import{PortalLayer as B}from\"./mixins/PortalLayer.js\";import{PublishableLayer as N}from\"./mixins/PublishableLayer.js\";import{RefreshableLayer as $}from\"./mixins/RefreshableLayer.js\";import{ScaleRangeLayer as G}from\"./mixins/ScaleRangeLayer.js\";import{TemporalLayer as J}from\"./mixins/TemporalLayer.js\";import{titleFromUrlAndName as W,parse as Z,cleanTitle as H}from\"./support/arcgisLayerUrl.js\";import{attributeTableTemplate as k,id as z,labelsVisible as K,opacityDrawingInfo as X,legendEnabled as Y,listMode as ee,popupEnabled as te,screenSizePerspectiveEnabled as re}from\"./support/commonProperties.js\";import{ensureLayerCredential as ie,computeEffectiveEditingEnabled as oe,readGlobalIdField as se,readObjectIdField as ae,createDefaultRenderer as ne,addAttachment as le,updateAttachment as pe,applyEdits as ue,uploadAssets as de,createQuery as ye,deleteAttachments as ce,fetchRecomputedExtents as me,getFeatureType as he,computeDomainFromSubtypes as fe,getFeatureSubtype as be,computeDomainFromTypes as ge,queryAttachments as we,queryObjectIds as ve,queryFeatureCount as je,queryExtent as Se,queryRelatedFeatures as Fe,queryRelatedFeaturesCount as Te,validateBinsQuery as Ie,hasDataChanged as Ee,geometryTypeKebabDict as De}from\"./support/featureLayerUtils.js\";import Le from\"./support/FeatureTemplate.js\";import _e from\"./support/FeatureType.js\";import{defineFieldProperties as xe}from\"./support/fieldProperties.js\";import{fixRendererFields as Pe,fixTimeInfoFields as qe}from\"./support/fieldUtils.js\";import Ce from\"./support/LabelClass.js\";import{reader as Me}from\"./support/labelingInfo.js\";import{getFeatureLayerCapabilities as Oe}from\"./support/serviceCapabilitiesUtils.js\";import Ae from\"./support/TimeInfo.js\";import{serviceSupportsSpatialReference as Re}from\"./support/versionUtils.js\";import{DataLayerSource as Ve}from\"./support/source/DataLayerSource.js\";import{loadStyleRenderer as Qe}from\"../renderers/support/styleUtils.js\";import Ue from\"../rest/support/FeatureSet.js\";import Be from\"../rest/support/Query.js\";import{createPopupTemplate as Ne}from\"../support/popupUtils.js\";import{alphaCutoff as $e}from\"../views/3d/webgl-engine/core/shaderLibrary/util/AlphaCutoff.js\";import{SaveOperationType as Ge}from\"../webdoc/interfaces.js\";import{opacityToTransparency as Je}from\"../webdoc/support/opacityUtils.js\";const We=\"FeatureLayer\";function Ze(e,t){return new p(\"layer:unsupported\",`Layer (${e.title}, ${e.id}) of type '${e.declaredClass}' ${t}`,{layer:e})}function He(e){return e&&e instanceof l}const ke=xe();function ze(e,t,r){const i=!!r?.writeLayerSchema;return{enabled:i,ignoreOrigin:i}}let Ke=class extends(R(V(A(N(O(C(U(J(G($(q(Q(B(y(M(P(n(_)))))))))))))))))){constructor(...e){super(...e),this.attributeTableTemplate=null,this.charts=null,this.copyright=null,this.displayField=null,this.dynamicDataSource=null,this.fields=null,this.fieldsIndex=null,this.formTemplate=null,this.fullExtent=null,this.geometryType=null,this.hasM=void 0,this.hasZ=void 0,this.infoFor3D=null,this.isTable=!1,this.labelsVisible=!0,this.labelingInfo=null,this.legendEnabled=!0,this.objectIdField=null,this.outFields=null,this.path=null,this.popupEnabled=!0,this.popupTemplate=null,this.resourceInfo=null,this.screenSizePerspectiveEnabled=!0,this.spatialReference=L.WGS84,this.subtypeCode=null,this.supportedSourceTypes=new Set([\"Feature Layer\",\"Oriented Imagery Layer\",\"Table\",\"Catalog Layer\"]),this.templates=null,this.timeInfo=null,this.title=null,this.sublayerTitleMode=\"item-title\",this.type=\"feature\",this.typeIdField=null,this.types=null,this.visible=!0,this._debouncedSaveOperations=m((async(e,t,r)=>{const{save:i,saveAs:o}=await import(\"./save/featureLayerUtils.js\");switch(e){case Ge.SAVE:return i(this,t);case Ge.SAVE_AS:return o(this,r,t)}}))}destroy(){this.source?.destroy()}normalizeCtorArgs(e,t){return\"string\"==typeof e?{url:e,...t}:e}load(e){const t=null!=e?e.signal:null;if(this.portalItem?.loaded&&this.source)return this.addResolvingPromise(this.createGraphicsSource(t).then((e=>this.initLayerProperties(e)))),Promise.resolve(this);const r=this.loadFromPortal({supportedTypes:[\"Feature Service\",\"Feature Collection\",\"Scene Service\"]},e).catch(h).then((async()=>{if(this.url&&null==this.layerId&&/FeatureServer|MapServer\\/*$/i.test(this.url)){const e=await this._fetchFirstValidLayerId(t);null!=e&&(this.layerId=e)}if(!this.url&&!this._hasMemorySource())throw new p(\"feature-layer:missing-url-or-source\",\"Feature layer must be created with either a url or a source\");return this.initLayerProperties(await this.createGraphicsSource(t))})).then((()=>ie(this,\"load\",e)));return this.addResolvingPromise(r),Promise.resolve(this)}warnInvisibleDrapedSymbols(){\"on-the-ground\"===this.elevationInfo?.mode&&\"simple\"===this.renderer?.type&&\"polygon-3d\"===this.renderer.symbol?.type&&this.renderer.symbol.symbolLayers.some((e=>\"fill\"===e.type&&null!=e.material&&((!e.material.color||e.material.color.a*this.opacity<$e)&&(this.loadWarnings.push(new v(\"feature-layer:invisible-draped-symbols\",\"FeatureLayer has fully transparent symbols which will no longer render or highlight\",{layer:this})),!0))))}readCapabilities(e,t){return t=t.layerDefinition||t,Oe(t,this.url)}get createQueryVersion(){return this.commitProperty(\"definitionExpression\"),this.commitProperty(\"dynamicDataSource\"),this.commitProperty(\"timeExtent\"),this.commitProperty(\"timeOffset\"),this.commitProperty(\"geometryType\"),this.commitProperty(\"gdbVersion\"),this.commitProperty(\"historicMoment\"),this.commitProperty(\"returnZ\"),this.commitProperty(\"capabilities\"),this.commitProperty(\"returnM\"),(this._get(\"createQueryVersion\")??0)+1}get editingEnabled(){return!(this.loaded&&!this.capabilities?.operations.supportsEditing)&&(this._isOverridden(\"editingEnabled\")?this._get(\"editingEnabled\"):this._hasMemorySource()||this.userHasEditingPrivileges)}set editingEnabled(e){this._overrideIfSome(\"editingEnabled\",e)}readEditingEnabled(e,t){return this._readEditingEnabled(t,!1)}readEditingEnabledFromWebMap(e,t,r){return this._readEditingEnabled(t,!0,r)}writeEditingEnabled(e,t){this._writeEditingEnabled(e,t,!1)}writeEditingEnabledToWebMap(e,t,r,i){this._writeEditingEnabled(e,t,!0,i)}get effectiveEditingEnabled(){return oe(this)}readIsTable(e,t){return\"Table\"===(t=t?.layerDefinition??t).type||!t.geometryType}writeIsTable(e,t,r,i){i?.writeLayerSchema&&c(r,e?\"Table\":\"Feature Layer\",t)}readGlobalIdField(e,t){return se(t.layerDefinition||t)}readObjectIdField(e,t){return ae(t.layerDefinition||t)}get parsedUrl(){const e=g(this.url);return null!=e&&(null!=this.dynamicDataSource?e.path=w(e.path,\"dynamicLayer\"):null!=this.layerId&&(e.path=w(e.path,this.layerId.toString()))),e}get defaultPopupTemplate(){return this.createPopupTemplate()}set renderer(e){Pe(e,this.fieldsIndex),this._set(\"renderer\",e)}readRenderer(e,t,i){t=t.layerDefinition||t;const o=t.drawingInfo?.renderer;if(o){const e=r(o,t,i)??void 0;return e||d.getLogger(this).error(\"Failed to create renderer\",{rendererDefinition:t.drawingInfo.renderer,layer:this,context:i}),e}return ne(t,i)}set source(e){const t=this._get(\"source\");t!==e&&(He(t)&&this._resetMemorySource(t),He(e)&&this._initMemorySource(e),this._set(\"source\",e))}castSource(e){return e?Array.isArray(e)||e instanceof l?new x({layer:this,items:e}):e:null}readSource(e,t){const r=Ue.fromJSON(t.featureSet);return new x({layer:this,items:r?.features??[]})}readTemplates(e,t){const r=t.editFieldsInfo,i=r?.creatorField,o=r?.editorField;return e=e?.map((e=>Le.fromJSON(e))),this._fixTemplates(e,i),this._fixTemplates(e,o),e}readTitle(e,t){const r=t.layerDefinition?.name??t.name,i=t.title||t.layerDefinition?.title;if(r){const e=this.portalItem?.title;if(\"item-title\"===this.sublayerTitleMode)return this.url?W(this.url,r):r;let t=r;if(!t&&this.url){const e=Z(this.url);null!=e&&(t=e.title)}if(!t)return;return\"item-title-and-service-name\"===this.sublayerTitleMode&&e&&e!==t&&(t=e+\" - \"+t),H(t)}if(\"item-title\"===this.sublayerTitleMode&&i)return i}readTitleFromWebMap(e,t){return t.title||t.layerDefinition?.name}readTypeIdField(e,t){let r=(t=t.layerDefinition||t).typeIdField;if(r&&t.fields){r=r.toLowerCase();const e=t.fields.find((e=>e.name.toLowerCase()===r));e&&(r=e.name)}return r}readTypes(e,t){e=(t=t.layerDefinition||t).types;const r=t.editFieldsInfo,i=r?.creatorField,o=r?.editorField;return e?.map((e=>(e=_e.fromJSON(e),this._fixTemplates(e.templates,i),this._fixTemplates(e.templates,o),e)))}readVisible(e,t){return null!=t.layerDefinition?.defaultVisibility?!!t.layerDefinition.defaultVisibility:null!=t.visibility?!!t.visibility:void 0}async addAttachment(e,t){const r=await le(this,e,t,We);return this.lastEditsEventDate=new Date,r}async updateAttachment(e,t,r){const i=await pe(this,e,t,r,We);return this.lastEditsEventDate=new Date,i}async applyEdits(e,t){return ue(this,e,t)}async uploadAssets(e,t){return de(this,e,t)}on(e,t){return super.on(e,t)}createPopupTemplate(e){return Ne(this,e)}async createGraphicsSource(e){if(this._hasMemorySource()&&this.source)return this.source.load({signal:e});const{default:t}=await f(import(\"./graphics/sources/FeatureLayerSource.js\"),e);return new t({layer:this,supportedSourceTypes:this.supportedSourceTypes}).load({signal:e})}createQuery(){const e=ye(this);e.dynamicDataSource=this.dynamicDataSource;const t=null!=this.subtypeCode?`${this.subtypeField} = ${this.subtypeCode}`:null,r=b(this.definitionExpression,t);return e.where=r||\"1=1\",e}async deleteAttachments(e,t){const r=await ce(this,e,t,We);return this.lastEditsEventDate=new Date,r}async fetchRecomputedExtents(e){return me(this,e,We)}getFeatureType(e){return he(this.types,this.typeIdField,e)}getFieldDomain(e,t){const r=t?.feature,i=!!this.subtypes?.length;if(i&&!t?.excludeImpliedDomains){const t=fe(this,e);if(t)return t}const o=i&&be(this,r);if(o){const t=o?.domains?.[e];return\"inherited\"===t?.type?this._getLayerDomain(e):t}const s=this.getFeatureType(r),a=this._getLayerDomain(e);if(s){const t=s.domains&&s.domains[e];if(t&&\"inherited\"!==t?.type)return t}if(a)return a;if(!t?.excludeImpliedDomains){const t=ge(this,e);if(t)return t}return null}getField(e){return this.fieldsIndex.get(e)}async queryAttachments(e,t){return we(this,e,t,We)}async queryFeatures(e,t){const r=await this.load(),i=await r.source.queryFeatures(Be.from(e)??r.createQuery(),t);if(i?.features)for(const o of i.features)o.layer=o.sourceLayer=r;return i}async queryObjectIds(e,t){return ve(this,e,t,We)}async queryFeatureCount(e,t){return je(this,e,t,We)}async queryExtent(e,t){return Se(this,e,t,We)}async queryRelatedFeatures(e,t){return Fe(this,e,t,We)}async queryRelatedFeaturesCount(e,t){return Te(this,e,t,We)}async queryTopFeatures(e,t){const{source:r,capabilities:i}=await this.load();if(!r.queryTopFeatures||!i?.query?.supportsTopFeaturesQuery)throw new p(We,\"Layer source does not support queryTopFeatures capability\");const o=await import(\"../rest/support/TopFeaturesQuery.js\"),s=await r.queryTopFeatures(o.default.from(e),t);if(s?.features)for(const a of s.features)a.layer=a.sourceLayer=this;return s}async queryBins(e,t){const{source:r,capabilities:i}=await this.load();if(!r.queryBins||!i?.operations?.supportsQueryBins)throw new p(We,\"Layer source does not support queryBins capability\");Ie(e,i,We);const o=await import(\"../rest/support/BinsQuery.js\"),s=await r.queryBins(o.default.from(e),t);if(s.features)for(const a of s.features)a.layer=a.sourceLayer=this;return s}async queryTopObjectIds(e,t){const{source:r,capabilities:i}=await this.load();if(!r.queryTopObjectIds||!i?.query.supportsTopFeaturesQuery)throw new p(We,\"Layer source does not support queryTopObjectIds capability\");const o=await import(\"../rest/support/TopFeaturesQuery.js\");return r.queryTopObjectIds(o.default.from(e),t)}async queryTopFeaturesExtent(e,t){const{source:r,capabilities:i}=await this.load();if(!r.queryTopExtents||!i?.query?.supportsTopFeaturesQuery)throw new p(We,\"Layer source does not support queryTopExtents capability\");const o=await import(\"../rest/support/TopFeaturesQuery.js\");return r.queryTopExtents(o.default.from(e),t)}async queryTopFeatureCount(e,t){const{source:r,capabilities:i}=await this.load();if(!r.queryTopCount||!i?.query?.supportsTopFeaturesQuery)throw new p(We,\"Layer source does not support queryFeatureCount capability\");const o=await import(\"../rest/support/TopFeaturesQuery.js\");return r.queryTopCount(o.default.from(e),t)}read(e,t){const r=e.featureCollection;if((r||\"Feature Collection\"===e.type)&&(this.resourceInfo=e),r){const e=r.layers;e&&1===e.length&&(super.read(e[0],t),null!=r.showLegend&&super.read({showLegend:r.showLegend},t))}super.read(e,t),t&&\"service\"===t.origin&&(this.revert([\"objectIdField\",\"fields\",\"timeInfo\",\"dateFieldsTimeZone\"],\"service\"),this.spatialReference||this.revert([\"spatialReference\"],\"service\"))}write(e,t){t={...t,origin:t?.origin??void 0,writeLayerSchema:t?.writeLayerSchema??this._hasMemorySource()};const{origin:r,layerContainerType:i,messages:o}=t;if(this.dynamicDataSource)return o?.push(Ze(this,\"using a dynamic data source cannot be written to web scenes, web maps and feature service items\")),null;if(this.isTable){if((\"web-map\"===r||\"web-scene\"===r)&&\"tables\"!==i)return o?.push(Ze(this,`a table source can only be written to tables, not ${i}`)),null;if(this._hasMemorySource())return o?.push(Ze(this,\"using an in-memory table source cannot be written to web scenes and web maps\")),null}else if(this.loaded&&(\"web-map\"===r||\"web-scene\"===r)&&\"tables\"===i)return o?.push(Ze(this,\"using a non-table source cannot be written to tables in web maps or web scenes\")),null;return super.write(e,t)}clone(){if(this._hasMemorySource())throw new p(We,`FeatureLayer (title: ${this.title}, id: ${this.id}) created using in-memory source cannot be cloned`);return super.clone()}serviceSupportsSpatialReference(e){return!!this.loaded&&(\"memory\"===this.source?.type||Re(this,e))}async save(e){return this._debouncedSaveOperations(Ge.SAVE,e)}async saveAs(e,t){return this._debouncedSaveOperations(Ge.SAVE_AS,t,e)}_readEditingEnabled(e,t,r){let i=e.layerDefinition?.capabilities;return i?this._hasEditingCapability(i):(i=e.capabilities,t&&\"web-map\"===r?.origin&&!this._hasMemorySource()&&i?this._hasEditingCapability(i):void 0)}_hasEditingCapability(e){return e.toLowerCase().split(\",\").map((e=>e.trim())).includes(\"editing\")}_writeEditingEnabled(e,t,r,i){if(!e){const e=this.capabilities?.operations?.supportsSync?\"Query,Sync\":\"Query\";c(\"layerDefinition.capabilities\",e,t),r&&!i?.writeLayerSchema&&(t.capabilities=e)}}_getLayerDomain(e){const t=this.fieldsIndex.get(e);return t?t.domain:null}_fetchFirstValidLayerId(e){return s(this.url??\"\",{query:{f:\"json\",...this.customParameters,token:this.apiKey},responseType:\"json\",signal:e}).then((e=>{const t=e.data;if(t)return this.findFirstValidLayerId(t)}))}async initLayerProperties(e){return this._set(\"source\",e),e.sourceJSON&&(this.sourceJSON=e.sourceJSON,this.read(e.sourceJSON,{origin:\"service\",portalItem:this.portalItem,portal:this.portalItem?.portal,url:this.parsedUrl})),this._verifySource(),this._verifyFields(),Pe(this.renderer,this.fieldsIndex),qe(this.timeInfo,this.fieldsIndex),Qe(this,{origin:\"service\"})}async hasDataChanged(){return Ee(this)}async fetchPublishingStatus(){const e=this.source;return e?.fetchPublishingStatus?e.fetchPublishingStatus():\"unavailable\"}_verifyFields(){const e=this.parsedUrl?.path??\"undefined\";this.objectIdField||console.log(\"FeatureLayer: 'objectIdField' property is not defined (url: \"+e+\")\"),this.isTable||this._hasMemorySource()||-1!==e.search(/\\/FeatureServer\\//i)||this.fields?.some((e=>\"geometry\"===e.type))||console.log(\"FeatureLayer: unable to find field of type 'geometry' in the layer 'fields' list. If you are using a map service layer, features will not have geometry (url: \"+e+\")\")}_fixTemplates(e,t){e&&e.forEach((e=>{const r=e.prototype?.attributes;r&&t&&delete r[t]}))}_verifySource(){if(this._hasMemorySource()){if(this.url)throw new p(\"feature-layer:mixed-source-and-url\",\"FeatureLayer cannot be created with both an in-memory source and a url\")}else if(!this.url)throw new p(\"feature-layer:source-or-url-required\",\"FeatureLayer requires either a url, a valid portal item or a source\")}_initMemorySource(e){e.forEach((e=>{e.layer=this,e.sourceLayer=this})),this.addHandles([e.on(\"after-add\",(e=>{e.item.layer=this,e.item.sourceLayer=this})),e.on(\"after-remove\",(e=>{e.item.layer=null,e.item.sourceLayer=null}))],\"fl-source\")}_resetMemorySource(e){e.forEach((e=>{e.layer=null,e.sourceLayer=null})),this.removeHandles(\"fl-source\")}_hasMemorySource(){return!(this.url||!this.source)}findFirstValidLayerId(e){return Array.isArray(e.layers)&&e.layers.length>0?e.layers[0].id:Array.isArray(e.tables)&&e.tables.length>0?e.tables[0].id:void 0}};e([j(k)],Ke.prototype,\"attributeTableTemplate\",void 0),e([F(\"service\",\"capabilities\")],Ke.prototype,\"readCapabilities\",null),e([j({json:{origins:{\"web-scene\":{write:!1}},write:!0}})],Ke.prototype,\"charts\",void 0),e([j({readOnly:!0})],Ke.prototype,\"createQueryVersion\",null),e([j({json:{read:{source:\"layerDefinition.copyrightText\"}}})],Ke.prototype,\"copyright\",void 0),e([j({json:{read:{source:\"layerDefinition.displayField\"}}})],Ke.prototype,\"displayField\",void 0),e([j({types:a,readOnly:!0})],Ke.prototype,\"defaultSymbol\",void 0),e([j({type:Ve})],Ke.prototype,\"dynamicDataSource\",void 0),e([j({type:Boolean})],Ke.prototype,\"editingEnabled\",null),e([F([\"portal-item\",\"web-scene\"],\"editingEnabled\",[\"layerDefinition.capabilities\"])],Ke.prototype,\"readEditingEnabled\",null),e([F(\"web-map\",\"editingEnabled\",[\"capabilities\",\"layerDefinition.capabilities\"])],Ke.prototype,\"readEditingEnabledFromWebMap\",null),e([I([\"portal-item\",\"web-scene\"],\"editingEnabled\",{\"layerDefinition.capabilities\":{type:String}})],Ke.prototype,\"writeEditingEnabled\",null),e([I(\"web-map\",\"editingEnabled\",{capabilities:{type:String},\"layerDefinition.capabilities\":{type:String}})],Ke.prototype,\"writeEditingEnabledToWebMap\",null),e([j({readOnly:!0})],Ke.prototype,\"effectiveEditingEnabled\",null),e([j({...ke.fields,json:{read:{source:\"layerDefinition.fields\"},origins:{service:{name:\"fields\"},\"web-map\":{write:{target:\"layerDefinition.fields\",overridePolicy:ze}}}}})],Ke.prototype,\"fields\",void 0),e([j(ke.fieldsIndex)],Ke.prototype,\"fieldsIndex\",void 0),e([j({type:D,json:{name:\"formInfo\",write:!0,origins:{\"web-scene\":{read:!1,write:!1}}}})],Ke.prototype,\"formTemplate\",void 0),e([j({json:{read:{source:\"layerDefinition.extent\"}}})],Ke.prototype,\"fullExtent\",void 0),e([j({json:{origins:{\"web-map\":{write:{target:\"layerDefinition.geometryType\",overridePolicy:ze,writer(e,t,r){const i=e?De.toJSON(e):null;i&&c(r,i,t)}}}},read:{source:\"layerDefinition.geometryType\",reader:De.read}}})],Ke.prototype,\"geometryType\",void 0),e([j({json:{read:{source:\"layerDefinition.hasM\"}}})],Ke.prototype,\"hasM\",void 0),e([j({json:{read:{source:\"layerDefinition.hasZ\"}}})],Ke.prototype,\"hasZ\",void 0),e([j(z)],Ke.prototype,\"id\",void 0),e([j({readOnly:!0,json:{origins:{service:{read:!0}},read:!1}})],Ke.prototype,\"infoFor3D\",void 0),e([j({json:{origins:{\"web-map\":{write:{target:\"layerDefinition.type\"}}}}})],Ke.prototype,\"isTable\",void 0),e([F(\"service\",\"isTable\",[\"type\",\"geometryType\"]),F(\"isTable\",[\"layerDefinition.type\",\"layerDefinition.geometryType\"])],Ke.prototype,\"readIsTable\",null),e([I(\"web-map\",\"isTable\")],Ke.prototype,\"writeIsTable\",null),e([j(K)],Ke.prototype,\"labelsVisible\",void 0),e([j({type:[Ce],json:{origins:{service:{name:\"drawingInfo.labelingInfo\",read:Me,write:!1},\"web-scene\":{name:\"layerDefinition.drawingInfo.labelingInfo\",read:Me,write:{enabled:!0,layerContainerTypes:E}}},name:\"layerDefinition.drawingInfo.labelingInfo\",read:Me,write:!0}})],Ke.prototype,\"labelingInfo\",void 0),e([j((()=>{const e=u(X);return e.json.origins[\"portal-item\"]={write:{target:\"layerDefinition.drawingInfo.transparency\",writer(e,t,r){c(r,Je(e),t)}}},e})())],Ke.prototype,\"opacity\",void 0),e([j(Y)],Ke.prototype,\"legendEnabled\",void 0),e([j({type:[\"show\",\"hide\"],json:(()=>{const e=u(ee.json);return e.origins[\"portal-item\"]={read:!1,write:!1},e})()})],Ke.prototype,\"listMode\",void 0),e([F(\"globalIdField\",[\"layerDefinition.globalIdField\",\"layerDefinition.fields\"])],Ke.prototype,\"readGlobalIdField\",null),e([j({json:{origins:{\"web-map\":{write:{target:\"layerDefinition.objectIdField\",overridePolicy:ze}}}}})],Ke.prototype,\"objectIdField\",void 0),e([F(\"objectIdField\",[\"layerDefinition.objectIdField\",\"layerDefinition.fields\"])],Ke.prototype,\"readObjectIdField\",null),e([j({value:\"ArcGISFeatureLayer\",type:[\"ArcGISFeatureLayer\"]})],Ke.prototype,\"operationalLayerType\",void 0),e([j(ke.outFields)],Ke.prototype,\"outFields\",void 0),e([j({readOnly:!0})],Ke.prototype,\"parsedUrl\",null),e([j({type:String,json:{origins:{\"web-scene\":{read:!0,write:!0}},read:!1}})],Ke.prototype,\"path\",void 0),e([j(te)],Ke.prototype,\"popupEnabled\",void 0),e([j({type:t,json:{name:\"popupInfo\",write:!0}})],Ke.prototype,\"popupTemplate\",void 0),e([j({readOnly:!0})],Ke.prototype,\"defaultPopupTemplate\",null),e([j({types:i,json:{origins:{service:{write:{target:\"drawingInfo.renderer\",enabled:!1}},\"web-scene\":{types:o,name:\"layerDefinition.drawingInfo.renderer\",write:{layerContainerTypes:E,overridePolicy:(e,t,r)=>({ignoreOrigin:r?.writeLayerSchema})}}},write:{target:\"layerDefinition.drawingInfo.renderer\",overridePolicy:(e,t,r)=>({ignoreOrigin:r?.writeLayerSchema})}}})],Ke.prototype,\"renderer\",null),e([F(\"service\",\"renderer\",[\"drawingInfo.renderer\",\"defaultSymbol\"]),F(\"renderer\",[\"layerDefinition.drawingInfo.renderer\",\"layerDefinition.defaultSymbol\"])],Ke.prototype,\"readRenderer\",null),e([j()],Ke.prototype,\"resourceInfo\",void 0),e([j((()=>{const e=u(re);return e.json.origins[\"portal-item\"]={read:!1,write:!1},e})())],Ke.prototype,\"screenSizePerspectiveEnabled\",void 0),e([j({clonable:!1})],Ke.prototype,\"source\",null),e([S(\"source\")],Ke.prototype,\"castSource\",null),e([F(\"portal-item\",\"source\",[\"featureSet\"]),F(\"web-map\",\"source\",[\"featureSet\"])],Ke.prototype,\"readSource\",null),e([j({json:{read:{source:\"layerDefinition.extent.spatialReference\"}}})],Ke.prototype,\"spatialReference\",void 0),e([j({type:Number})],Ke.prototype,\"subtypeCode\",void 0),e([j({type:[Le]})],Ke.prototype,\"templates\",void 0),e([F(\"templates\",[\"editFieldsInfo\",\"creatorField\",\"editorField\",\"templates\"])],Ke.prototype,\"readTemplates\",null),e([j({type:Ae})],Ke.prototype,\"timeInfo\",void 0),e([j()],Ke.prototype,\"title\",void 0),e([F(\"service\",\"title\",[\"name\"]),F(\"portal-item\",\"title\",[\"layerDefinition.title\",\"layerDefinition.name\",\"title\"])],Ke.prototype,\"readTitle\",null),e([F(\"web-map\",\"title\",[\"layerDefinition.name\",\"title\"])],Ke.prototype,\"readTitleFromWebMap\",null),e([j({type:String})],Ke.prototype,\"sublayerTitleMode\",void 0),e([j({json:{read:!1}})],Ke.prototype,\"type\",void 0),e([j({type:String})],Ke.prototype,\"typeIdField\",void 0),e([F(\"service\",\"typeIdField\"),F(\"typeIdField\",[\"layerDefinition.typeIdField\"])],Ke.prototype,\"readTypeIdField\",null),e([j({type:[_e]})],Ke.prototype,\"types\",void 0),e([F(\"service\",\"types\",[\"types\"]),F(\"types\",[\"layerDefinition.types\"])],Ke.prototype,\"readTypes\",null),e([j({type:Boolean,json:{origins:{\"portal-item\":{write:{target:\"layerDefinition.defaultVisibility\"}}}}})],Ke.prototype,\"visible\",void 0),e([F(\"portal-item\",\"visible\",[\"visibility\",\"layerDefinition.defaultVisibility\"])],Ke.prototype,\"readVisible\",null),Ke=e([T(\"esri.layers.FeatureLayer\")],Ke);const Xe=Ke;export{Xe as default};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{_ as r}from\"../chunks/tslib.es6.js\";import{property as e}from\"../core/accessorSupport/decorators/property.js\";import\"../core/has.js\";import\"../core/Logger.js\";import\"../core/RandomLCG.js\";import{subclass as o}from\"../core/accessorSupport/decorators/subclass.js\";import{owningCollectionProperty as s}from\"../core/support/OwningCollection.js\";import t from\"./Layer.js\";import{BlendLayer as i}from\"./mixins/BlendLayer.js\";import{ScaleRangeLayer as p}from\"./mixins/ScaleRangeLayer.js\";import{GraphicsCollection as a}from\"../support/GraphicsCollection.js\";import n from\"../symbols/support/ElevationInfo.js\";let c=class extends(i(p(t))){constructor(r){super(r),this.elevationInfo=null,this.graphics=new a,this.screenSizePerspectiveEnabled=!0,this.type=\"graphics\",this.internal=!1}destroy(){this.removeAll(),this.graphics.destroy()}add(r){return this.graphics.add(r),this}addMany(r){return this.graphics.addMany(r),this}removeAll(){return this.graphics.removeAll(),this}remove(r){this.graphics.remove(r)}removeMany(r){this.graphics.removeMany(r)}on(r,e){return super.on(r,e)}graphicChanged(r){this.emit(\"graphic-update\",r)}};r([e({type:n})],c.prototype,\"elevationInfo\",void 0),r([e(s(a,\"graphics\"))],c.prototype,\"graphics\",void 0),r([e({type:[\"show\",\"hide\"]})],c.prototype,\"listMode\",void 0),r([e()],c.prototype,\"screenSizePerspectiveEnabled\",void 0),r([e({readOnly:!0})],c.prototype,\"type\",void 0),r([e({constructOnly:!0})],c.prototype,\"internal\",void 0),c=r([o(\"esri.layers.GraphicsLayer\")],c);const h=c;export{h as default};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{_ as t}from\"../chunks/tslib.es6.js\";import\"../geometry.js\";import e from\"../request.js\";import r from\"../core/Error.js\";import o from\"../core/Evented.js\";import{IdentifiableMixin as i}from\"../core/Identifiable.js\";import s from\"../core/Loadable.js\";import a from\"../core/Logger.js\";import{isAbortError as l}from\"../core/promiseUtils.js\";import{urlToObject as n}from\"../core/urlUtils.js\";import{property as p}from\"../core/accessorSupport/decorators/property.js\";import\"../core/has.js\";import\"../core/RandomLCG.js\";import{subclass as y}from\"../core/accessorSupport/decorators/subclass.js\";import{fromPortalItem as d}from\"./support/fromPortalItem.js\";import c from\"../time/TimeExtent.js\";import u from\"../geometry/Extent.js\";import m from\"../geometry/SpatialReference.js\";let b=0,h=class extends(o.EventedMixin(i(s))){constructor(){super(...arguments),this.attributionDataUrl=null,this.fullExtent=new u(-180,-90,180,90,m.WGS84),this.id=Date.now().toString(16)+\"-layer-\"+b++,this.legendEnabled=!0,this.listMode=\"show\",this.opacity=1,this.parent=null,this.persistenceEnabled=!1,this.popupEnabled=!0,this.attributionVisible=!0,this.spatialReference=m.WGS84,this.title=null,this.type=null,this.url=null,this.visibilityTimeExtent=null,this.visible=!0}static async fromArcGISServerUrl(t){const e=\"string\"==typeof t?{url:t}:t;return(await import(\"./support/arcgisLayers.js\")).fromUrl(e)}static fromPortalItem(t){return d(t)}initialize(){this.when().catch((t=>{l(t)||a.getLogger(this).error(\"#load()\",`Failed to load layer (title: '${this.title??\"no title\"}', id: '${this.id??\"no id\"}')`,{error:t})}))}destroy(){const t=this.parent;if(t){const e=this;\"layers\"in t&&t.layers.includes(e)?t.layers.remove(e):\"tables\"in t&&t.tables.includes(e)?t.tables.remove(e):\"baseLayers\"in t&&t.baseLayers.includes(e)?t.baseLayers.remove(e):\"referenceLayers\"in t&&t.referenceLayers.includes(e)&&t.referenceLayers.remove(e),this._set(\"parent\",null)}}get effectiveVisible(){let t=this.visible;const e=this.parent;return t&&e&&\"effectiveVisible\"in e&&(t&&=e.effectiveVisible),t}get hasAttributionData(){return null!=this.attributionDataUrl}get parsedUrl(){return n(this.url)}async fetchAttributionData(){const t=this.attributionDataUrl;if(this.hasAttributionData&&t){return(await e(t,{query:{f:\"json\"},responseType:\"json\"})).data}throw new r(\"layer:no-attribution-data\",\"Layer does not have attribution data\")}};t([p({type:String})],h.prototype,\"attributionDataUrl\",void 0),t([p({readOnly:!0})],h.prototype,\"effectiveVisible\",null),t([p({type:u})],h.prototype,\"fullExtent\",void 0),t([p({readOnly:!0})],h.prototype,\"hasAttributionData\",null),t([p({type:String,clonable:!1})],h.prototype,\"id\",void 0),t([p({type:Boolean,nonNullable:!0})],h.prototype,\"legendEnabled\",void 0),t([p({type:[\"show\",\"hide\",\"hide-children\"]})],h.prototype,\"listMode\",void 0),t([p({type:Number,range:{min:0,max:1},nonNullable:!0})],h.prototype,\"opacity\",void 0),t([p({clonable:!1})],h.prototype,\"parent\",void 0),t([p({readOnly:!0})],h.prototype,\"parsedUrl\",null),t([p({type:Boolean,readOnly:!0})],h.prototype,\"persistenceEnabled\",void 0),t([p({type:Boolean})],h.prototype,\"popupEnabled\",void 0),t([p({type:Boolean})],h.prototype,\"attributionVisible\",void 0),t([p({type:m})],h.prototype,\"spatialReference\",void 0),t([p({type:String})],h.prototype,\"title\",void 0),t([p({readOnly:!0,json:{read:!1}})],h.prototype,\"type\",void 0),t([p()],h.prototype,\"url\",void 0),t([p({type:c})],h.prototype,\"visibilityTimeExtent\",void 0),t([p({type:Boolean,nonNullable:!0})],h.prototype,\"visible\",void 0),h=t([y(\"esri.layers.Layer\")],h);const f=h;export{f as default};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nconst o=\"OBJECTID\";export{o as fallbackObjectIDAttribute};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{makeHandle as e}from\"../../core/handleUtils.js\";import{watch as t,syncAndInitial as n}from\"../../core/reactiveUtils.js\";const r=new WeakMap;function a(o){return!o.destroyed&&(r.has(o)||o.addHandles([t((()=>{const e=o.parent;return!(!e||!(\"type\"in e))&&(\"catalog-dynamic-group\"===e.type||a(e))}),(e=>r.set(o,e)),n),e((()=>r.delete(o)))]),r.get(o))}function o(e){return e.parent&&\"type\"in e.parent&&\"catalog-dynamic-group\"===e.parent.type?e.parent.parent:null}export{o as getCatalogLayerForLayer,a as isLayerFromCatalog};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{set as t,transpose as r}from\"../../core/libs/gl-matrix-2/math/mat4.js\";const n=(n,o)=>{const s=t(n,o,0,0,0,0,o,0,0,0,0,o,0,0,0,0,1);return r(s,s)},o=(n,o)=>{const s=t(n,o,0,0,.5-.5*o,0,o,0,.5-.5*o,0,0,o,.5-.5*o,0,0,0,1);return r(s,s)},s=(n,o)=>{const s=1-o,c=t(n,.2126+.7874*s,.7152-.7152*s,.0722-.0722*s,0,.2126-.2126*s,.7152+.2848*s,.0722-.0722*s,0,.2126-.2126*s,.7152-.7152*s,.0722+.9278*s,0,0,0,0,1);return r(c,c)},c=(n,o)=>{const s=Math.sin(o*Math.PI/180),c=Math.cos(o*Math.PI/180),e=t(n,.213+.787*c-.213*s,.715-.715*c-.715*s,.072-.072*c+.928*s,0,.213-.213*c+.143*s,.715+.285*c+.14*s,.072-.072*c-.283*s,0,.213-.213*c-.787*s,.715-.715*c+.715*s,.072+.928*c+.072*s,0,0,0,0,1);return r(e,e)},e=(n,o)=>{const s=1-2*o,c=t(n,s,0,0,o,0,s,0,o,0,0,s,o,0,0,0,1);return r(c,c)},a=(n,o)=>{const s=t(n,.213+.787*o,.715-.715*o,.072-.072*o,0,.213-.213*o,.715+.285*o,.072-.072*o,0,.213-.213*o,.715-.715*o,.072+.928*o,0,0,0,0,1);return r(s,s)},u=(n,o)=>{const s=1-o,c=t(n,.393+.607*s,.769-.769*s,.189-.189*s,0,.349-.349*s,.686+.314*s,.168-.168*s,0,.272-.272*s,.534-.534*s,.131+.869*s,0,0,0,0,1);return r(c,c)};export{n as brightness,o as contrast,s as grayscale,e as invert,c as rotateHue,a as saturate,u as sepia};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{getNamedColor as t}from\"../../colorUtils.js\";import{px2pt as s}from\"../../core/screenUtils.js\";import{create as r}from\"../../core/libs/gl-matrix-2/factories/mat4f32.js\";import{sepia as o,saturate as e,invert as i,grayscale as a,contrast as h,brightness as n,rotateHue as u}from\"./colorMatrixFunctions.js\";class c{constructor(t,s,r){this.strength=t,this.radius=s,this.threshold=r,this.type=\"bloom\"}interpolate(t,s,r){this.strength=M(t.strength,s.strength,r),this.radius=M(t.radius,s.radius,r),this.threshold=M(t.threshold,s.threshold,r)}clone(){return new c(this.strength,this.radius,this.threshold)}toJSON(){return{type:\"bloom\",radius:y(this.radius),strength:this.strength,threshold:this.threshold}}}class l{constructor(t){this.radius=t,this.type=\"blur\"}interpolate(t,s,r){this.radius=Math.round(M(t.radius,s.radius,r))}clone(){return new l(this.radius)}toJSON(){return{type:\"blur\",radius:y(this.radius)}}}class p{constructor(t,s){this.type=t,this.amount=s,\"invert\"!==this.type&&\"grayscale\"!==this.type&&\"sepia\"!==this.type||(this.amount=Math.min(this.amount,1))}get colorMatrix(){return this._colorMatrix||this._updateMatrix(),this._colorMatrix}interpolate(t,s,r){this.amount=M(t.amount,s.amount,r),this._updateMatrix()}clone(){return new p(this.type,this.amount)}toJSON(){return{type:this.type,amount:this.amount}}_updateMatrix(){const t=this._colorMatrix||r();switch(this.type){case\"brightness\":this._colorMatrix=n(t,this.amount);break;case\"contrast\":this._colorMatrix=h(t,this.amount);break;case\"grayscale\":this._colorMatrix=a(t,this.amount);break;case\"invert\":this._colorMatrix=i(t,this.amount);break;case\"saturate\":this._colorMatrix=e(t,this.amount);break;case\"sepia\":this._colorMatrix=o(t,this.amount)}}}class d{constructor(t,s,r,o){this.offsetX=t,this.offsetY=s,this.blurRadius=r,this.color=o,this.type=\"drop-shadow\"}interpolate(t,s,r){this.offsetX=M(t.offsetX,s.offsetX,r),this.offsetY=M(t.offsetY,s.offsetY,r),this.blurRadius=M(t.blurRadius,s.blurRadius,r),this.color[0]=Math.round(M(t.color[0],s.color[0],r)),this.color[1]=Math.round(M(t.color[1],s.color[1],r)),this.color[2]=Math.round(M(t.color[2],s.color[2],r)),this.color[3]=M(t.color[3],s.color[3],r)}clone(){return new d(this.offsetX,this.offsetY,this.blurRadius,[...this.color])}toJSON(){const t=[...this.color];return t[3]*=255,{type:\"drop-shadow\",xoffset:y(this.offsetX),yoffset:y(this.offsetY),blurRadius:y(this.blurRadius),color:t}}}class m{constructor(t){this.angle=t,this.type=\"hue-rotate\"}get colorMatrix(){return this._colorMatrix||this._updateMatrix(),this._colorMatrix}interpolate(t,s,r){this.angle=M(t.angle,s.angle,r),this._updateMatrix()}clone(){return new m(this.angle)}toJSON(){return{type:\"hue-rotate\",angle:this.angle}}_updateMatrix(){const t=this._colorMatrix||r();this._colorMatrix=u(t,this.angle)}}class f{constructor(t){this.amount=t,this.type=\"opacity\",this.amount=Math.min(this.amount,1)}interpolate(t,s,r){this.amount=M(t.amount,s.amount,r)}clone(){return new f(this.amount)}toJSON(){return{type:\"opacity\",amount:this.amount}}}function M(t,s,r){return t+(s-t)*r}function y(t){return Math.round(1e3*s(t))/1e3}function x(s){switch(s.type){case\"grayscale\":case\"sepia\":case\"invert\":return new p(s.type,0);case\"saturate\":case\"brightness\":case\"contrast\":return new p(s.type,1);case\"opacity\":return new f(1);case\"hue-rotate\":return new m(0);case\"blur\":return new l(0);case\"drop-shadow\":return new d(0,0,0,[...t(\"transparent\")]);case\"bloom\":return new c(0,0,1)}}export{c as BloomEffect,l as BlurEffect,p as ColorMatrixEffect,d as DropShadowEffect,m as HueRotateEffect,f as OpacityEffect,x as createEffectWithInitialValues};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport e from\"../../core/Error.js\";import{setDeepValue as t}from\"../../core/object.js\";import{parse as r}from\"./parser.js\";import{isEffectFunctions as s}from\"./utils.js\";function n(e,t,r){try{return c(e)}catch(s){r?.messages?.push(s)}return null}function a(e,r,s,n){try{const n=o(e);t(s,n,r)}catch(a){n.messages&&n.messages.push(a)}}function o(e){const t=r(e);return t?s(t)?t.map((e=>e.toJSON())):t.map((({scale:e,effects:t})=>({scale:e,value:t.map((e=>e.toJSON()))}))):null}function c(e){if(!e||0===e.length)return null;if(f(e)){const t=[];for(const r of e)t.push({scale:r.scale,value:i(r.value)});return t}return i(e)}function f(e){const t=e[0];return!!t&&\"scale\"in t}function i(e){if(!e?.length)return\"\";const t=[];for(const s of e){let e=[];switch(s.type){case\"grayscale\":case\"sepia\":case\"saturate\":case\"invert\":case\"brightness\":case\"contrast\":case\"opacity\":e=[u(s,\"amount\")];break;case\"blur\":e=[u(s,\"radius\",\"pt\")];break;case\"hue-rotate\":e=[u(s,\"angle\",\"deg\")];break;case\"drop-shadow\":e=[u(s,\"xoffset\",\"pt\"),u(s,\"yoffset\",\"pt\"),u(s,\"blurRadius\",\"pt\"),l(s,\"color\")];break;case\"bloom\":e=[u(s,\"strength\"),u(s,\"radius\",\"pt\"),u(s,\"threshold\")]}const n=`${s.type}(${e.filter(Boolean).join(\" \")})`;r(n),t.push(n)}return t.join(\" \")}function u(t,r,s){if(null==t[r])throw new e(\"effect:missing-parameter\",`Missing parameter '${r}' in ${t.type} effect`,{effect:t});return s?t[r]+s:\"\"+t[r]}function l(t,r){if(null==t[r])throw new e(\"effect:missing-parameter\",`Missing parameter '${r}' in ${t.type} effect`,{effect:t});const s=t[r];return`rgba(${s[0]||0}, ${s[1]||0}, ${s[2]||0}, ${s[3]/255||0})`}export{i as effectFunctionsFromJSON,c as fromJSON,n as read,o as toJSON,a as write};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{hex2rgba as e,isNamedColor as t,getNamedColorCopy as r,hsla2rgba as n}from\"../../colorUtils.js\";import u from\"../../core/Error.js\";import{ColorMatrixEffect as a,OpacityEffect as o,HueRotateEffect as c,BlurEffect as i,DropShadowEffect as l,BloomEffect as s}from\"./effects.js\";import{canInterpolateEffects as f,normalizeEffects as p}from\"./utils.js\";function h(e,t){function r(){this.constructor=e}r.prototype=t.prototype,e.prototype=new r}function m(e,t,r,n){var u=Error.call(this,e);return Object.setPrototypeOf&&Object.setPrototypeOf(u,m.prototype),u.expected=t,u.found=r,u.location=n,u.name=\"SyntaxError\",u}function g(e,t,r){return r=r||\" \",e.length>t?e:(t-=e.length,e+(r+=r.repeat(t)).slice(0,t))}function v(e,t){var r,n={},u=(t=void 0!==t?t:{}).grammarSource,a={start:Qe},o=Qe,c=\"none\",i=\")\",l=\",\",s=\"(\",f=\"%\",p=\"px\",h=\"cm\",g=\"mm\",v=\"in\",d=\"pt\",y=\"pc\",w=\"deg\",x=\"rad\",A=\"grad\",b=\"turn\",F=\"#\",$=\".\",C=\"e\",E=/^[ \\t\\n\\r]/,j=/^[a-z\\-]/,O=/^[0-9a-fA-F]/,P=/^[+\\-]/,q=/^[0-9]/,k=Be(\"none\"),z=Ue(\"none\",!1),I=Ue(\")\",!1),R=Ue(\",\",!1),S=Be(\"whitespace\"),M=De([\" \",\"\\t\",\"\\n\",\"\\r\"],!1,!1),N=Be(\"function\"),T=Ue(\"(\",!1),U=Be(\"identifier\"),D=De([[\"a\",\"z\"],\"-\"],!1,!1),L=Be(\"percentage\"),B=Ue(\"%\",!1),G=Be(\"length\"),H=Ue(\"px\",!1),J=Ue(\"cm\",!1),K=Ue(\"mm\",!1),Q=Ue(\"in\",!1),V=Ue(\"pt\",!1),W=Ue(\"pc\",!1),X=Be(\"angle\"),Y=Ue(\"deg\",!1),Z=Ue(\"rad\",!1),_=Ue(\"grad\",!1),ee=Ue(\"turn\",!1),te=Be(\"number\"),re=Be(\"color\"),ne=Ue(\"#\",!1),ue=De([[\"0\",\"9\"],[\"a\",\"f\"],[\"A\",\"F\"]],!1,!1),ae=De([\"+\",\"-\"],!1,!1),oe=De([[\"0\",\"9\"]],!1,!1),ce=Ue(\".\",!1),ie=Ue(\"e\",!1),le=function(){return[]},se=function(e,t){return{type:\"function\",name:e,parameters:t||[]}},fe=function(e,t){return t.length>0?lt(e,t,3):[e]},pe=function(e){return{type:\"quantity\",value:e.value,unit:e.unit}},he=function(e){return{type:\"color\",colorType:e.type,value:e.value}},me=function(e){return e},ge=function(){return Te()},ve=function(e){return{value:e,unit:\"%\"}},de=function(e){return{value:e,unit:\"px\"}},ye=function(e){return{value:e,unit:\"cm\"}},we=function(e){return{value:e,unit:\"mm\"}},xe=function(e){return{value:e,unit:\"in\"}},Ae=function(e){return{value:e,unit:\"pt\"}},be=function(e){return{value:e,unit:\"pc\"}},Fe=function(e){return{value:e,unit:\"deg\"}},$e=function(e){return{value:e,unit:\"rad\"}},Ce=function(e){return{value:e,unit:\"grad\"}},Ee=function(e){return{value:e,unit:\"turn\"}},je=function(e){return{value:e,unit:null}},Oe=function(){return{type:\"hex\",value:Te()}},Pe=function(e){return{type:\"function\",value:e}},qe=function(){return{type:\"named\",value:Te()}},ke=function(){return parseFloat(Te())},ze=0|t.peg$currPos,Ie=ze,Re=[{line:1,column:1}],Se=ze,Me=t.peg$maxFailExpected||[],Ne=0|t.peg$silentFails;if(t.startRule){if(!(t.startRule in a))throw new Error(\"Can't start parsing from rule \\\"\"+t.startRule+'\".');o=a[t.startRule]}function Te(){return e.substring(Ie,ze)}function Ue(e,t){return{type:\"literal\",text:e,ignoreCase:t}}function De(e,t,r){return{type:\"class\",parts:e,inverted:t,ignoreCase:r}}function Le(){return{type:\"end\"}}function Be(e){return{type:\"other\",description:e}}function Ge(t){var r,n=Re[t];if(n)return n;if(t>=Re.length)r=Re.length-1;else for(r=t;!Re[--r];);for(n={line:(n=Re[r]).line,column:n.column};rSe&&(Se=ze,Me=[]),Me.push(e))}function Ke(e,t,r){return new m(m.buildMessage(e,t),e,t,r)}function Qe(){var e;return(e=Ve())===n&&(e=We()),e}function Ve(){var t,r;return Ne++,t=ze,_e(),e.substr(ze,4)===c?(r=c,ze+=4):(r=n,0===Ne&&Je(z)),r!==n?(_e(),Ie=t,t=le()):(ze=t,t=n),Ne--,t===n&&0===Ne&&Je(k),t}function We(){var e,t;if(e=[],(t=Xe())!==n)for(;t!==n;)e.push(t),t=Xe();else e=n;return e}function Xe(){var t,r,u,a;return t=ze,_e(),(r=et())!==n?(_e(),(u=Ye())===n&&(u=null),_e(),41===e.charCodeAt(ze)?(a=i,ze++):(a=n,0===Ne&&Je(I)),a!==n?(_e(),Ie=t,t=se(r,u)):(ze=t,t=n)):(ze=t,t=n),t}function Ye(){var t,r,u,a,o,c,i,s;if(t=ze,(r=Ze())!==n){for(u=[],a=ze,o=_e(),44===e.charCodeAt(ze)?(c=l,ze++):(c=n,0===Ne&&Je(R)),c===n&&(c=null),i=_e(),(s=Ze())!==n?a=o=[o,c,i,s]:(ze=a,a=n);a!==n;)u.push(a),a=ze,o=_e(),44===e.charCodeAt(ze)?(c=l,ze++):(c=n,0===Ne&&Je(R)),c===n&&(c=null),i=_e(),(s=Ze())!==n?a=o=[o,c,i,s]:(ze=a,a=n);Ie=t,t=fe(r,u)}else ze=t,t=n;return t}function Ze(){var e,t;return e=ze,(t=rt())===n&&(t=nt())===n&&(t=ut())===n&&(t=at()),t!==n&&(Ie=e,t=pe(t)),(e=t)===n&&(e=ze,(t=ot())!==n&&(Ie=e,t=he(t)),e=t),e}function _e(){var t,r;for(Ne++,t=[],r=e.charAt(ze),E.test(r)?ze++:(r=n,0===Ne&&Je(M));r!==n;)t.push(r),r=e.charAt(ze),E.test(r)?ze++:(r=n,0===Ne&&Je(M));return Ne--,r=n,0===Ne&&Je(S),t}function et(){var t,r,u;return Ne++,t=ze,(r=tt())!==n?(40===e.charCodeAt(ze)?(u=s,ze++):(u=n,0===Ne&&Je(T)),u!==n?(Ie=t,t=me(r)):(ze=t,t=n)):(ze=t,t=n),Ne--,t===n&&(r=n,0===Ne&&Je(N)),t}function tt(){var t,r,u;if(Ne++,t=ze,r=[],u=e.charAt(ze),j.test(u)?ze++:(u=n,0===Ne&&Je(D)),u!==n)for(;u!==n;)r.push(u),u=e.charAt(ze),j.test(u)?ze++:(u=n,0===Ne&&Je(D));else r=n;return r!==n&&(Ie=t,r=ge()),Ne--,(t=r)===n&&(r=n,0===Ne&&Je(U)),t}function rt(){var t,r,u;return Ne++,t=ze,_e(),(r=ct())!==n?(37===e.charCodeAt(ze)?(u=f,ze++):(u=n,0===Ne&&Je(B)),u!==n?(Ie=t,t=ve(r)):(ze=t,t=n)):(ze=t,t=n),Ne--,t===n&&0===Ne&&Je(L),t}function nt(){var t,r,u;return Ne++,t=ze,_e(),(r=ct())!==n?(e.substr(ze,2)===p?(u=p,ze+=2):(u=n,0===Ne&&Je(H)),u!==n?(Ie=t,t=de(r)):(ze=t,t=n)):(ze=t,t=n),t===n&&(t=ze,_e(),(r=ct())!==n?(e.substr(ze,2)===h?(u=h,ze+=2):(u=n,0===Ne&&Je(J)),u!==n?(Ie=t,t=ye(r)):(ze=t,t=n)):(ze=t,t=n),t===n&&(t=ze,_e(),(r=ct())!==n?(e.substr(ze,2)===g?(u=g,ze+=2):(u=n,0===Ne&&Je(K)),u!==n?(Ie=t,t=we(r)):(ze=t,t=n)):(ze=t,t=n),t===n&&(t=ze,_e(),(r=ct())!==n?(e.substr(ze,2)===v?(u=v,ze+=2):(u=n,0===Ne&&Je(Q)),u!==n?(Ie=t,t=xe(r)):(ze=t,t=n)):(ze=t,t=n),t===n&&(t=ze,_e(),(r=ct())!==n?(e.substr(ze,2)===d?(u=d,ze+=2):(u=n,0===Ne&&Je(V)),u!==n?(Ie=t,t=Ae(r)):(ze=t,t=n)):(ze=t,t=n),t===n&&(t=ze,_e(),(r=ct())!==n?(e.substr(ze,2)===y?(u=y,ze+=2):(u=n,0===Ne&&Je(W)),u!==n?(Ie=t,t=be(r)):(ze=t,t=n)):(ze=t,t=n)))))),Ne--,t===n&&0===Ne&&Je(G),t}function ut(){var t,r,u;return Ne++,t=ze,(r=ct())!==n?(e.substr(ze,3)===w?(u=w,ze+=3):(u=n,0===Ne&&Je(Y)),u!==n?(Ie=t,t=Fe(r)):(ze=t,t=n)):(ze=t,t=n),t===n&&(t=ze,(r=ct())!==n?(e.substr(ze,3)===x?(u=x,ze+=3):(u=n,0===Ne&&Je(Z)),u!==n?(Ie=t,t=$e(r)):(ze=t,t=n)):(ze=t,t=n),t===n&&(t=ze,(r=ct())!==n?(e.substr(ze,4)===A?(u=A,ze+=4):(u=n,0===Ne&&Je(_)),u!==n?(Ie=t,t=Ce(r)):(ze=t,t=n)):(ze=t,t=n),t===n&&(t=ze,(r=ct())!==n?(e.substr(ze,4)===b?(u=b,ze+=4):(u=n,0===Ne&&Je(ee)),u!==n?(Ie=t,t=Ee(r)):(ze=t,t=n)):(ze=t,t=n)))),Ne--,t===n&&(r=n,0===Ne&&Je(X)),t}function at(){var e,t;return Ne++,e=ze,_e(),(t=ct())!==n?(Ie=e,e=je(t)):(ze=e,e=n),Ne--,e===n&&0===Ne&&Je(te),e}function ot(){var t,r,u,a;if(Ne++,t=ze,35===e.charCodeAt(ze)?(r=F,ze++):(r=n,0===Ne&&Je(ne)),r!==n){if(u=[],a=e.charAt(ze),O.test(a)?ze++:(a=n,0===Ne&&Je(ue)),a!==n)for(;a!==n;)u.push(a),a=e.charAt(ze),O.test(a)?ze++:(a=n,0===Ne&&Je(ue));else u=n;u!==n?(Ie=t,t=Oe()):(ze=t,t=n)}else ze=t,t=n;return t===n&&(t=ze,(r=Xe())!==n&&(Ie=t,r=Pe(r)),(t=r)===n&&(t=ze,(r=tt())!==n&&(Ie=t,r=qe()),t=r)),Ne--,t===n&&(r=n,0===Ne&&Je(re)),t}function ct(){var t,r,u,a,o,c,i,l;for(t=ze,r=e.charAt(ze),P.test(r)?ze++:(r=n,0===Ne&&Je(ae)),r===n&&(r=null),u=ze,a=[],o=e.charAt(ze),q.test(o)?ze++:(o=n,0===Ne&&Je(oe));o!==n;)a.push(o),o=e.charAt(ze),q.test(o)?ze++:(o=n,0===Ne&&Je(oe));if(46===e.charCodeAt(ze)?(o=$,ze++):(o=n,0===Ne&&Je(ce)),o!==n){if(c=[],i=e.charAt(ze),q.test(i)?ze++:(i=n,0===Ne&&Je(oe)),i!==n)for(;i!==n;)c.push(i),i=e.charAt(ze),q.test(i)?ze++:(i=n,0===Ne&&Je(oe));else c=n;c!==n?u=a=[a,o,c]:(ze=u,u=n)}else ze=u,u=n;if(u===n)if(u=[],a=e.charAt(ze),q.test(a)?ze++:(a=n,0===Ne&&Je(oe)),a!==n)for(;a!==n;)u.push(a),a=e.charAt(ze),q.test(a)?ze++:(a=n,0===Ne&&Je(oe));else u=n;if(u!==n){if(a=ze,101===e.charCodeAt(ze)?(o=C,ze++):(o=n,0===Ne&&Je(ie)),o!==n){if(c=e.charAt(ze),P.test(c)?ze++:(c=n,0===Ne&&Je(ae)),c===n&&(c=null),i=[],l=e.charAt(ze),q.test(l)?ze++:(l=n,0===Ne&&Je(oe)),l!==n)for(;l!==n;)i.push(l),l=e.charAt(ze),q.test(l)?ze++:(l=n,0===Ne&&Je(oe));else i=n;i!==n?a=o=[o,c,i]:(ze=a,a=n)}else ze=a,a=n;a===n&&(a=null),Ie=t,t=ke()}else ze=t,t=n;return t}function it(e,t){return e.map((function(e){return e[t]}))}function lt(e,t,r){return[e].concat(it(t,r))}if(r=o(),t.peg$library)return{peg$result:r,peg$currPos:ze,peg$FAILED:n,peg$maxFailExpected:Me,peg$maxFailPos:Se};if(r!==n&&ze===e.length)return r;throw r!==n&&ze{if(!Number.isFinite(e.scale)||e.scale<=0)throw new u(\"effect:invalid-scale\",\"scale must be finite and greater than 0\",{stop:e});return{scale:e.scale,effects:y(e.value)}}));t.sort(((e,t)=>t.effects.length-e.effects.length));for(let r=0;rt.scale-e.scale)),t}function y(e){let t;if(!e)return[];try{t=v(e)}catch(r){throw new u(\"effect:invalid-syntax\",\"Invalid effect syntax\",{value:e,error:r})}return t.map((e=>w(e)))}function w(e){try{switch(e.name){case\"grayscale\":case\"sepia\":case\"saturate\":case\"invert\":case\"brightness\":case\"contrast\":return x(e);case\"opacity\":return A(e);case\"hue-rotate\":return b(e);case\"blur\":return F(e);case\"drop-shadow\":return $(e);case\"bloom\":return C(e)}}catch(t){throw t.details.filter=e,t}throw new u(\"effect:unknown-effect\",`Effect '${e.name}' is not supported`,{effect:e})}function x(e){let t=1;return E(e.parameters,1),1===e.parameters.length&&(t=S(e.parameters[0])),new a(e.name,t)}function A(e){let t=1;return E(e.parameters,1),1===e.parameters.length&&(t=S(e.parameters[0])),new o(t)}function b(e){let t=0;return E(e.parameters,1),1===e.parameters.length&&(t=N(e.parameters[0])),new c(t)}function F(e){let t=0;return E(e.parameters,1),1===e.parameters.length&&(t=T(e.parameters[0]),O(t,e.parameters[0])),new i(t)}function $(e){const t=[];let r=null;for(const n of e.parameters)if(\"color\"===n.type){if(t.length&&Object.freeze(t),r)throw new u(\"effect:type-error\",\"Accepts only one color\",{});r=U(n)}else{const e=T(n);if(Object.isFrozen(t))throw new u(\"effect:type-error\",\" parameters not consecutive\",{lengths:t});t.push(e),3===t.length&&O(e,n)}if(t.length<2||t.length>3)throw new u(\"effect:type-error\",`Expected {2,3}, Actual: {${t.length}}`,{lengths:t});return new l(t[0],t[1],t[2]||0,r||D(\"black\"))}function C(e){let t=1,r=0,n=0;return E(e.parameters,3),e.parameters[0]&&(t=S(e.parameters[0])),e.parameters[1]&&(r=T(e.parameters[1]),O(r,e.parameters[1])),e.parameters[2]&&(n=S(e.parameters[2])),new s(t,r,n)}function E(e,t){if(e.length>t)throw new u(\"effect:type-error\",`Function supports up to ${t} parameters, Actual: ${e.length}`,{parameters:e})}function j(e){if(\"color\"===e.type)return\"\";if(e.unit){if(e.unit in I)return\"\";if(e.unit in k)return\"\";if(\"%\"===e.unit)return\"\"}return\"\"}function O(e,t){if(e<0)throw new u(\"effect:type-error\",`Negative values are not allowed, Actual: ${e}`,{term:t})}function P(e){if(\"quantity\"!==e.type||null!==e.unit)throw new u(\"effect:type-error\",`Expected , Actual: ${j(e)}`,{term:e})}function q(e){if(\"quantity\"!==e.type||null!==e.unit&&\"%\"!==e.unit)throw new u(\"effect:type-error\",`Expected or , Actual: ${j(e)}`,{term:e})}h(m,Error),m.prototype.format=function(e){var t=\"Error: \"+this.message;if(this.location){var r,n=null;for(r=0;r0){for(t=1,r=1;t, Actual: ${j(e)}`,{term:e})}const I={px:1,cm:96/2.54,mm:96/2.54/10,in:96,pc:16,pt:96/72};function R(e){if(\"quantity\"!==e.type||!(0===e.value&&null===e.unit||e.unit&&null!=I[e.unit]))throw new u(\"effect:type-error\",`Expected , Actual: ${j(e)}`,{term:e})}function S(e){q(e);const t=e.value;return O(t,e),\"%\"===e.unit?.01*t:t}function M(e){return P(e),O(e.value,e),e.value}function N(e){return z(e),e.value*k[e.unit]||0}function T(e){return R(e),e.value*I[e.unit]||0}function U(t){switch(t.colorType){case\"hex\":return e(t.value);case\"named\":return D(t.value);case\"function\":return G(t.value)}}function D(e){if(!t(e))throw new u(\"effect:unknown-color\",`color '${e}' isn't valid`,{namedColor:e});return r(e)}const L=/^rgba?/i,B=/^hsla?/i;function G(e){if(E(e.parameters,4),L.test(e.name))return[S(e.parameters[0]),S(e.parameters[1]),S(e.parameters[2]),e.parameters[3]?S(e.parameters[3]):1];if(B.test(e.name))return n(M(e.parameters[0]),S(e.parameters[1]),S(e.parameters[2]),e.parameters[3]?S(e.parameters[3]):1);throw new u(\"effect:syntax-error\",`Invalid color function '${e.name}'`,{colorFunction:e})}export{d as parse};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{createEffectWithInitialValues as n}from\"./effects.js\";function t(n,t){const e=n.length>t.length?n:t;return(n.length>t.length?t:n).every(((n,t)=>n.type===e[t].type))}function e(t,e){const l=t.length>e.length?t:e,r=t.length>e.length?e:t;for(let g=r.length;g=2}get maxLength(){return Math.max(...this.lengths)}get size(){return this.lengths.reduce(((t,s)=>t+s))}forEachVertex(s){let e=0;this.lengths.length||s(this.coords[0],this.coords[1]);for(let r=0;rt+s)))*t,h=this.coords.slice(0,r);return e?(e.set(h),new s(this.lengths,e)):new s(Array.from(this.lengths),Array.from(h))}}export{s as default};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport\"../../core/has.js\";import{floatEqualAbsolute as e}from\"../../core/mathUtils.js\";import{equals as n}from\"../../geometry/support/spatialReferenceUtils.js\";function t(e,n){if(e===n)return!0;if(null==e||null==n)return!1;if(e.length!==n.length)return!1;for(let t=0;th(e))):e}function h(e){return e.map((e=>Array.from(e)))}function y(e){for(const t of e)if(0!==t.length)return d(t);return!1}function d(e){return e.length>0&&(n(e[0])||r(e[0]))}function x(e,t){if(!e)return null;let n;if(m(e)){if(null==t)return e.clone();if(m(t))return t.copy(e)}return null!=t?(n=t,n.x=e.x,n.y=e.y,n.spatialReference=e.spatialReference,e.hasZ?(n.z=e.z,n.hasZ=e.hasZ):(n.z=void 0,n.hasZ=!1),e.hasM?(n.m=e.m,n.hasM=!0):(n.m=void 0,n.hasM=!1)):(n=s(e.x,e.y,e.z,e.spatialReference),e.hasM&&(n.m=e.m,n.hasM=!0)),n}function k(e){const{wkid:t,wkt:n,wkt2:r,latestWkid:a}=e,s={wkid:t,wkt:n,wkt2:r,latestWkid:a};return i.fromJSON(s)}export{x as clonePoint,u as hydrateGeometry,c as hydrateGraphic,k as hydratedSpatialReference,o as isHydratedGeometry,l as isHydratedGraphic,m as isHydratedPoint};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{_ as e}from\"../../../chunks/tslib.es6.js\";import\"../../../geometry.js\";import t from\"../../../Graphic.js\";import r from\"../../../core/Collection.js\";import s from\"../../../core/Error.js\";import has from\"../../../core/has.js\";import i from\"../../../core/Loadable.js\";import o from\"../../../core/Logger.js\";import{EsriPromiseMixin as n}from\"../../../core/Promise.js\";import{open as a}from\"../../../core/workers/workers.js\";import{property as l}from\"../../../core/accessorSupport/decorators/property.js\";import{ensureType as u}from\"../../../core/accessorSupport/ensureType.js\";import\"../../../core/RandomLCG.js\";import{shared as p}from\"../../../core/accessorSupport/decorators/shared.js\";import{subclass as c}from\"../../../core/accessorSupport/decorators/subclass.js\";import{unapplyEditsZUnitScaling as d}from\"../../../rest/query/operations/editsZScale.js\";import{applyFeatureSetZUnitScaling as h}from\"../../../rest/query/operations/queryZScale.js\";import y from\"../../../rest/support/FeatureSet.js\";import m from\"../../../geometry/Extent.js\";import f from\"../../../geometry/Polygon.js\";import{typeKebabDictionary as g}from\"../../../geometry/support/typeUtils.js\";let _=0,T=class extends(i.LoadableMixin(n(r))){constructor(e){super(e),this._idToClientGraphic=null,this.type=\"memory\"}load(e){const t=null!=e?e.signal:null;return this.addResolvingPromise(this._startWorker(t)),Promise.resolve(this)}destroy(){this._connection?.close(),this._connection=null}get _workerGeometryType(){const e=this.layer?.geometryType;return e?this._geometryTypeRequiresClientGraphicMapping(e)?\"polygon\":e:null}applyEdits(e){return this.load().then((()=>this._applyEdits(e)))}openPorts(){return this.load().then((()=>this._connection.openPorts()))}async queryFeatures(e,t={}){await this.load(t);const r=await this._connection.invoke(\"queryFeatures\",e?e.toJSON():null,t);h(e,this.layer.spatialReference,r);const s=y.fromJSON(r);if(!this._requiresClientGraphicMapping())return s;const i=this.layer.objectIdField;for(const o of s.features){const e=o.attributes[i],t=this._idToClientGraphic.get(e);t&&(o.geometry=t.geometry)}return s.geometryType=this.layer.geometryType,s}async queryFeaturesJSON(e,t={}){if(this._requiresClientGraphicMapping())throw new s(\"query-features-json:unsupported\",\"Cannot query in JSON format for client only geometry types (mesh and extent)\");await this.load(t);const r=await this._connection.invoke(\"queryFeatures\",e?e.toJSON():null,t);return h(e,this.layer.spatialReference,r),r}queryFeatureCount(e,t={}){return this.load(t).then((()=>this._connection.invoke(\"queryFeatureCount\",e?e.toJSON():null,t)))}queryObjectIds(e,t={}){return this.load(t).then((()=>this._connection.invoke(\"queryObjectIds\",e?e.toJSON():null,t)))}queryExtent(e,t={}){return this.load(t).then((()=>this._connection.invoke(\"queryExtent\",e?e.toJSON():null,t))).then((e=>({count:e.count,extent:m.fromJSON(e.extent)})))}querySnapping(e,t={}){return this.load(t).then((()=>this._connection.invoke(\"querySnapping\",e,t)))}async _applyEdits(e){if(!this._connection)throw new s(\"feature-layer-source:edit-failure\",\"Memory source not loaded\");const t=this.layer.objectIdField;let r=null;const i=[],o=[];await Promise.all([this._prepareClientMapping(e.addFeatures,null),this._prepareClientMapping(e.updateFeatures,null)]);const n=e=>\"objectId\"in e&&null!=e.objectId?e.objectId:\"attributes\"in e&&null!=e.attributes[t]?e.attributes[t]:null;if(e.addFeatures&&(r=this._prepareAddFeatures(e.addFeatures)),e.deleteFeatures)for(const s of e.deleteFeatures){const e=n(s);null!=e&&i.push(e)}const a=e.updateFeatures&&this._idToClientGraphic?new Map:null;if(e.updateFeatures)for(const s of e.updateFeatures)if(o.push(this._serializeFeature(s)),a){const e=n(s);null!=e&&a.set(e,s)}d(r?r.features:null,o,this.layer.spatialReference);const{fullExtent:l,featureEditResults:u}=await this._connection.invoke(\"applyEdits\",{adds:r?r.features:[],updates:o,deletes:i});return this.fullExtent=l,r&&r.finish(u.uidToObjectId),this._updateClientGraphicIds(a,u),this._createEditsResult(u)}async _prepareClientMapping(e,t){if(\"mesh\"!==this._layerOrSourceGeometryType||null==e)return;const r=[];for(const{geometry:s}of e)null==s||\"mesh\"!==s.type||s.hasExtent||s.loaded||r.push(s.load({signal:t}));r.length&&await Promise.all(r)}_updateClientGraphicIds(e,t){if(this._idToClientGraphic){if(e)for(const r of t.updateResults){if(!r.success)continue;const t=e.get(r.objectId);null!=t&&this._addIdToClientGraphic(t)}for(const e of t.deleteResults)e.success&&this._idToClientGraphic.delete(e.objectId)}}_createEditsResult(e){return{addFeatureResults:e.addResults?e.addResults.map(this._createFeatureEditResult,this):[],updateFeatureResults:e.updateResults?e.updateResults.map(this._createFeatureEditResult,this):[],deleteFeatureResults:e.deleteResults?e.deleteResults.map(this._createFeatureEditResult,this):[],addAttachmentResults:[],updateAttachmentResults:[],deleteAttachmentResults:[]}}_createFeatureEditResult(e){const t=!0===e.success?null:e.error||{code:void 0,description:void 0};return{objectId:e.objectId,globalId:e.globalId,error:t?new s(\"feature-layer-source:edit-failure\",t.description,{code:t.code}):null}}_prepareAddFeatures(e){const t=new Map,r=new Array(e.length);let s=null;for(let o=0;o{o.getLogger(this).error(\"Source modifications will not propagate after layer has been loaded. Please use .applyEdits() instead\"),e.preventDefault()})));const d={features:c.features,fields:t?.map((e=>e.toJSON())),geometryType:g.toJSON(this._workerGeometryType),hasM:\"mesh\"!==this._layerOrSourceGeometryType&&i,hasZ:\"mesh\"===this._layerOrSourceGeometryType||n,objectIdField:s,spatialReference:p?null:r&&r.toJSON(),timeInfo:l?.toJSON()??null,dateFieldsTimeZone:u},h=await this._connection.invoke(\"load\",d,{signal:e});for(const a of h.warnings)o.getLogger(this.layer).warn(\"#load()\",`${a.message} (title: '${this.layer.title||\"no title\"}', id: '${this.layer.id??\"no id\"}')`,{warning:a});h.featureErrors.length&&o.getLogger(this.layer).warn(\"#load()\",`Encountered ${h.featureErrors.length} validation errors while loading features. (title: '${this.layer.title||\"no title\"}', id: '${this.layer.id??\"no id\"}')`,{errors:h.featureErrors});const y=h.layerDefinition;this._geometryTypeRequiresClientGraphicMapping(c.inferredGeometryType)&&(y.geometryType=g.toJSON(c.inferredGeometryType)),this.sourceJSON=y,this._requiresClientGraphicMapping()&&(this._idToClientGraphic=new Map),c.finish(h.assignedObjectIds)}};e([p({Type:t,ensureType:u(t)})],T.prototype,\"itemType\",void 0),e([l()],T.prototype,\"type\",void 0),e([l({constructOnly:!0})],T.prototype,\"layer\",void 0),e([l({readOnly:!0})],T.prototype,\"_workerGeometryType\",null),e([l()],T.prototype,\"sourceJSON\",void 0),T=e([c(\"esri.layers.graphics.sources.MemorySource\")],T);export{T as MemorySource};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{_ as e}from\"../../chunks/tslib.es6.js\";import{property as r}from\"../../core/accessorSupport/decorators/property.js\";import\"../../core/has.js\";import\"../../core/Logger.js\";import\"../../core/RandomLCG.js\";import{subclass as t}from\"../../core/accessorSupport/decorators/subclass.js\";function s(e){return\"portalItem\"in e}const i=i=>{let o=class extends i{get apiKey(){return this._isOverridden(\"apiKey\")?this._get(\"apiKey\"):s(this)?this.portalItem?.apiKey:null}set apiKey(e){null!=e?this._override(\"apiKey\",e):(this._clearOverride(\"apiKey\"),this.clear(\"apiKey\",\"user\"))}};return e([r({type:String})],o.prototype,\"apiKey\",null),o=e([t(\"esri.layers.mixins.APIKeyMixin\")],o),o};export{i as APIKeyMixin};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{_ as t}from\"../../chunks/tslib.es6.js\";import r from\"../../core/Logger.js\";import{property as e}from\"../../core/accessorSupport/decorators/property.js\";import\"../../core/has.js\";import\"../../core/RandomLCG.js\";import{subclass as s}from\"../../core/accessorSupport/decorators/subclass.js\";import{parse as i,sanitizeUrl as o}from\"../support/arcgisLayerUrl.js\";const l=l=>{let p=class extends l{get title(){if(this._get(\"title\")&&\"defaults\"!==this.originOf(\"title\"))return this._get(\"title\");if(this.url){const t=i(this.url);if(null!=t&&t.title)return t.title}return this._get(\"title\")||\"\"}set title(t){this._set(\"title\",t)}set url(t){this._set(\"url\",o(t,r.getLogger(this)))}};return t([e()],p.prototype,\"title\",null),t([e({type:String})],p.prototype,\"url\",null),p=t([s(\"esri.layers.mixins.ArcGISService\")],p),p};export{l as ArcGISService};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{_ as e}from\"../../chunks/tslib.es6.js\";import{property as r}from\"../../core/accessorSupport/decorators/property.js\";import\"../../core/has.js\";import\"../../core/Logger.js\";import\"../../core/RandomLCG.js\";import{subclass as o}from\"../../core/accessorSupport/decorators/subclass.js\";import{read as t,write as i}from\"../effects/jsonUtils.js\";const s={type:[\"average\",\"color-burn\",\"color-dodge\",\"color\",\"darken\",\"destination-atop\",\"destination-in\",\"destination-out\",\"destination-over\",\"difference\",\"exclusion\",\"hard-light\",\"hue\",\"invert\",\"lighten\",\"lighter\",\"luminosity\",\"minus\",\"multiply\",\"normal\",\"overlay\",\"plus\",\"reflect\",\"saturation\",\"screen\",\"soft-light\",\"source-atop\",\"source-in\",\"source-out\",\"vivid-light\",\"xor\"],nonNullable:!0,json:{read:!1,write:!1,origins:{\"web-map\":{read:!0,write:!0},\"portal-item\":{read:!0,write:!0}}}},n={read:{reader:t},write:{allowNull:!0,writer:i}},a={json:{read:!1,write:!1,origins:{\"web-map\":n,\"portal-item\":n}}},l=t=>{let i=class extends t{constructor(){super(...arguments),this.blendMode=\"normal\",this.effect=null}};return e([r(s)],i.prototype,\"blendMode\",void 0),e([r(a)],i.prototype,\"effect\",void 0),i=e([o(\"esri.layers.mixins.BlendLayer\")],i),i};export{l as BlendLayer,s as blendModeProperty,a as effectProperty};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{_ as r}from\"../../chunks/tslib.es6.js\";import{property as o}from\"../../core/accessorSupport/decorators/property.js\";import\"../../core/has.js\";import\"../../core/Logger.js\";import\"../../core/RandomLCG.js\";import{subclass as s}from\"../../core/accessorSupport/decorators/subclass.js\";const e=e=>{let t=class extends e{constructor(){super(...arguments),this.customParameters=null}};return r([o({type:Object,json:{write:{overridePolicy:r=>({enabled:!!(r&&Object.keys(r).length>0)})}}})],t.prototype,\"customParameters\",void 0),t=r([s(\"esri.layers.mixins.CustomParametersMixin\")],t),t};export{e as CustomParametersMixin};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{_ as t}from\"../../chunks/tslib.es6.js\";import e from\"../../core/Evented.js\";import{clone as i}from\"../../core/lang.js\";import{createResolver as s}from\"../../core/promiseUtils.js\";import{property as r}from\"../../core/accessorSupport/decorators/property.js\";import\"../../core/has.js\";import\"../../core/Logger.js\";import{subclass as d}from\"../../core/accessorSupport/decorators/subclass.js\";import{defaultVersionNameLookup as o,isVersionInEditSession as n}from\"../../versionManagement/support/versionManagementUtils.js\";const a=new e.EventEmitter;function l(t){return a.on(\"apply-edits\",new WeakRef(t))}function h(t){return a.on(\"update-moment\",new WeakRef(t))}function c(t,e,i=null,r=!1){const d=s();return r=null==e||r,a.emit(\"apply-edits\",{serviceUrl:t,layerId:e,gdbVersion:i,mayReceiveServiceEdits:r,result:d.promise}),d}function u(t,e,i=null,s){a.emit(\"update-moment\",{serviceUrl:t,layerId:e,gdbVersion:i,moment:s})}const m=Symbol();function p(t){return null!=t&&\"object\"==typeof t&&m in t}function b(t){return null!=t&&\"object\"==typeof t&&\"gdbVersion\"in t}function g(t,e,i){const s=new URL(t).host,r=o.get(s),d=t=>!t||t===r;return d(e)&&d(i)||e===i}const F=e=>{var s;let o=class extends e{constructor(...t){super(...t),this[s]=!0,this._applyEditsHandler=t=>{const{serviceUrl:e,layerId:s,gdbVersion:r,mayReceiveServiceEdits:d,result:o}=t,n=e===this.url,a=null!=s&&null!=this.layerId&&s===this.layerId,l=b(this),h=b(this)&&g(e,r,this.gdbVersion);if(!n||l&&!h||!a&&!d)return;const c=o.then((t=>{if(this.lastEditsEventDate=new Date,a&&(t.addedFeatures.length||t.updatedFeatures.length||t.deletedFeatures.length||t.addedAttachments.length||t.updatedAttachments.length||t.deletedAttachments.length))return this.emit(\"edits\",i(t)),t;const s=t.editedFeatures?.find((({layerId:t})=>t===this.layerId));if(s){const{adds:e,updates:r,deletes:d}=s.editedFeatures,o={edits:null,addedAttachments:[],deletedAttachments:[],updatedAttachments:[],addedFeatures:e?e.map((({attributes:t})=>({objectId:this.objectIdField&&t[this.objectIdField],globalId:this.globalIdField&&t[this.globalIdField]}))):[],deletedFeatures:d?d.map((({attributes:t})=>({objectId:this.objectIdField&&t[this.objectIdField],globalId:this.globalIdField&&t[this.globalIdField]}))):[],updatedFeatures:r?r.map((({current:{attributes:t}})=>({objectId:this.objectIdField&&t[this.objectIdField],globalId:this.globalIdField&&t[this.globalIdField]}))):[],editedFeatures:i(t.editedFeatures),exceededTransferLimit:!1,historicMoment:i(t.historicMoment)};return this.emit(\"edits\",o),o}const d={edits:null,addedAttachments:[],deletedAttachments:[],updatedAttachments:[],addedFeatures:[],deletedFeatures:[],updatedFeatures:[],editedFeatures:i(t.editedFeatures),exceededTransferLimit:!1,historicMoment:i(t.historicMoment)};return\"historicMoment\"in this&&this._shouldUpdateHistoricMoment(e,r,d.historicMoment)&&this.emit(\"edits\",d),d})).then((t=>(\"historicMoment\"in this&&this._shouldUpdateHistoricMoment(e,r,t.historicMoment)&&(this.historicMoment=t.historicMoment),t)));this.emit(\"apply-edits\",{result:c})},this._updateMomentHandler=t=>{const{serviceUrl:e,gdbVersion:i,moment:s}=t,r=e===this.url,d=b(this),o=b(this)&&g(e,i,this.gdbVersion),n=b(this)&&!g(e,this.gdbVersion,null);r&&d&&o&&n&&\"historicMoment\"in this&&this.historicMoment!==s&&(this.historicMoment=s)},this.when().then((()=>{this.addHandles(l(this._applyEditsHandler)),\"historicMoment\"in this&&this.addHandles(h(this._updateMomentHandler))}),(()=>{}))}_shouldUpdateHistoricMoment(t,e,i){return\"historicMoment\"in this&&this.historicMoment!==i&&n(t,e)}};return s=m,t([r()],o.prototype,\"lastEditsEventDate\",void 0),o=t([d(\"esri.layers.mixins.EditBusLayer\")],o),o};export{F as EditBusLayer,c as emitApplyEditsEvent,u as emitUpdateMomentEvent,p as isEditBusLayer,b as isLayerWithGDBVersion,l as onApplyEditsEvent,h as onUpdateMomentEvent,g as versionMatches};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{_ as r}from\"../../chunks/tslib.es6.js\";import{property as o}from\"../../core/accessorSupport/decorators/property.js\";import\"../../core/has.js\";import\"../../core/Logger.js\";import\"../../core/RandomLCG.js\";import{subclass as e}from\"../../core/accessorSupport/decorators/subclass.js\";import t from\"../support/FeatureEffect.js\";const s={write:{allowNull:!0}},p={type:t,json:{origins:{\"web-map\":s,\"portal-item\":s}}},c=t=>{let s=class extends t{constructor(){super(...arguments),this.featureEffect=null}};return r([o(p)],s.prototype,\"featureEffect\",void 0),s=r([e(\"esri.layers.mixins.FeatureEffectLayer\")],s),s};export{c as FeatureEffectLayer,p as featureEffectProperty};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{_ as e}from\"../../chunks/tslib.es6.js\";import t from\"../../core/Collection.js\";import{clone as r}from\"../../core/lang.js\";import i from\"../../core/Logger.js\";import{property as o}from\"../../core/accessorSupport/decorators/property.js\";import\"../../core/has.js\";import{reader as s}from\"../../core/accessorSupport/decorators/reader.js\";import{subclass as p}from\"../../core/accessorSupport/decorators/subclass.js\";import{writer as n}from\"../../core/accessorSupport/decorators/writer.js\";import{excludeTables as l}from\"../../core/accessorSupport/layerContainerType.js\";import a from\"../../geometry/Extent.js\";import d from\"../../geometry/HeightModelInfo.js\";import u from\"../../geometry/SpatialReference.js\";import{sanitizeUrlWithLayerId as c,writeUrlWithLayerId as y}from\"../support/arcgisLayerUrl.js\";import{elevationInfo as m,maxScale as h,minScale as f,url as v}from\"../support/commonProperties.js\";import g from\"../support/EditFieldsInfo.js\";import{FeatureIndex as I}from\"../support/FeatureIndex.js\";import{geometryTypeKebabDict as F,isLayerCacheStale as b,supportsQueryOnly as j,readGlobalIdField as S,readObjectIdField as x,readVersion as E}from\"../support/featureLayerUtils.js\";import U from\"../support/GeometryFieldsInfo.js\";import O from\"../support/LayerFloorInfo.js\";import T from\"../support/Relationship.js\";import{getFeatureLayerCapabilities as w}from\"../support/serviceCapabilitiesUtils.js\";import D from\"../support/Subtype.js\";import{timeZoneProperty as M}from\"../../time/timeZoneUtils.js\";const B=B=>{let R=class extends B{constructor(){super(...arguments),this.copyright=null,this.capabilities=null,this.dateFieldsTimeZone=null,this.datesInUnknownTimezone=!1,this.definitionExpression=null,this.displayField=null,this.editFieldsInfo=null,this.editingInfo=null,this.elevationInfo=null,this.floorInfo=null,this.fullExtent=null,this.gdbVersion=null,this.geometryFieldsInfo=null,this.geometryType=null,this.globalIdField=null,this.hasM=void 0,this.hasZ=void 0,this.heightModelInfo=null,this.historicMoment=null,this.indexes=new(t.ofType(I)),this.isTable=!1,this.layerId=void 0,this.maxScale=0,this.minScale=0,this.objectIdField=null,this.preferredTimeZone=null,this.relationships=null,this.returnM=void 0,this.returnZ=void 0,this.serviceDefinitionExpression=null,this.serviceItemId=null,this.sourceJSON=null,this.spatialReference=u.WGS84,this.subtypeField=null,this.subtypes=null,this.trackIdField=null,this.version=void 0}get authenticationTriggerEvent(){if(!this.url)return null;const{capabilities:e}=this;if(e){const{query:t,operations:r,editing:i}=e;if(!t.supportsQueryByOthers||!t.supportsQueryByAnonymous)return\"load\";if(r.supportsEditing&&!(i.supportsUpdateByOthers&&i.supportsUpdateByAnonymous&&i.supportsDeleteByOthers&&i.supportsDeleteByAnonymous))return\"load\"}if(this.serviceDefinitionExpression?.toLowerCase().includes(\"current_user\"))return\"load\";if(this.userHasUpdateItemPrivileges){if(b(this))return\"load\";if(this.hasUpdateItemRestrictions)return e.operations.supportsQuery?\"editing\":\"load\"}if(this.userHasFullEditingPrivileges&&this.hasFullEditingRestrictions)return\"editing\";const t=this.editFieldsInfo;return(t?.creatorField||t?.editorField)&&e?.operations.supportsEditing?\"editing\":null}readCapabilitiesFromService(e,t){return w(t,this.url)}readEditingInfo(e,t){const{editingInfo:r}=t;return r?{lastEditDate:null!=r.lastEditDate?new Date(r.lastEditDate):null}:null}get effectiveCapabilities(){const e=this.capabilities;if(!e)return null;const t=r(e),{operations:i,editing:o}=t;return j(this)?(this.userHasUpdateItemPrivileges&&(i.supportsQuery=!0),t):this.userHasUpdateItemPrivileges?(i.supportsAdd=i.supportsDelete=i.supportsEditing=i.supportsQuery=i.supportsUpdate=o.supportsDeleteByOthers=o.supportsGeometryUpdate=o.supportsUpdateByOthers=!0,t):(this.userHasFullEditingPrivileges&&i.supportsEditing&&(i.supportsAdd=i.supportsDelete=i.supportsUpdate=o.supportsGeometryUpdate=!0),t)}readGlobalIdFieldFromService(e,t){return S(t)}get hasFullEditingRestrictions(){const e=this.capabilities;if(!e||j(this))return!1;const{operations:t,editing:r}=e;return t.supportsEditing&&!(t.supportsAdd&&t.supportsDelete&&t.supportsUpdate&&r.supportsGeometryUpdate)}get hasUpdateItemRestrictions(){const e=this.capabilities;if(!e)return!1;const{operations:t,editing:r}=e;return j(this)?!t.supportsQuery:!(t.supportsAdd&&t.supportsDelete&&t.supportsEditing&&t.supportsQuery&&t.supportsUpdate&&r.supportsDeleteByOthers&&r.supportsGeometryUpdate&&r.supportsUpdateByOthers)}readIsTableFromService(e,t){return\"Table\"===t.type}readMaxScale(e,t){return t.effectiveMaxScale||e||0}readMinScale(e,t){return t.effectiveMinScale||e||0}readObjectIdFieldFromService(e,t){return x(t)}readServiceDefinitionExpression(e,t){return t.definitionQuery||t.definitionExpression}set url(e){if(null==e)return void this._set(\"url\",e);const t=c({layer:this,url:e,nonStandardUrlAllowed:!0,logger:i.getLogger(this)});this._set(\"url\",t.url),null!=t.layerId&&this._set(\"layerId\",t.layerId)}writeUrl(e,t,r,i){y(this,e,null,t,i)}readVersion(e,t){return E(t)}};return e([o({readOnly:!0})],R.prototype,\"authenticationTriggerEvent\",null),e([o({type:String,json:{origins:{service:{read:{source:\"copyrightText\"}}}}})],R.prototype,\"copyright\",void 0),e([o({readOnly:!0,json:{read:!1,origins:{service:{read:{source:[\"advancedQueryCapabilities\",\"allowGeometryUpdates\",\"allowUpdateWithoutMValues\",\"archivingInfo\",\"capabilities\",\"datesInUnknownTimezone\",\"hasAttachments\",\"hasM\",\"hasZ\",\"isDataBranchVersioned\",\"isDataVersioned\",\"maxRecordCount\",\"maxRecordCountFactor\",\"ownershipBasedAccessControlForFeatures\",\"standardMaxRecordCount\",\"supportedQueryFormats\",\"supportsAdvancedQueries\",\"supportsApplyEditsWithGlobalIds\",\"supportsAttachmentsByUploadId\",\"supportsAttachmentsResizing\",\"supportsCalculate\",\"supportsCoordinatesQuantization\",\"supportsExceedsLimitStatistics\",\"supportsFieldDescriptionProperty\",\"supportsQuantizationEditMode\",\"supportsRollbackOnFailureParameter\",\"supportsStatistics\",\"supportsTruncate\",\"supportsValidateSql\",\"tileMaxRecordCount\",\"useStandardizedQueries\"]}}}}})],R.prototype,\"capabilities\",void 0),e([s(\"service\",\"capabilities\")],R.prototype,\"readCapabilitiesFromService\",null),e([o(M(\"dateFieldsTimeReference\"))],R.prototype,\"dateFieldsTimeZone\",void 0),e([o({type:Boolean})],R.prototype,\"datesInUnknownTimezone\",void 0),e([o({type:String,json:{origins:{service:{read:!1,write:!1}},name:\"layerDefinition.definitionExpression\",write:{enabled:!0,allowNull:!0}}})],R.prototype,\"definitionExpression\",void 0),e([o({type:String,json:{origins:{service:{read:{source:\"displayField\"}}}}})],R.prototype,\"displayField\",void 0),e([o({readOnly:!0,type:g})],R.prototype,\"editFieldsInfo\",void 0),e([o({readOnly:!0})],R.prototype,\"editingInfo\",void 0),e([s(\"editingInfo\")],R.prototype,\"readEditingInfo\",null),e([o({readOnly:!0})],R.prototype,\"effectiveCapabilities\",null),e([o((()=>{const e=r(m),t=e.json.origins;return t[\"web-map\"]={read:!1,write:!1},t[\"portal-item\"]={read:!1,write:!1},e})())],R.prototype,\"elevationInfo\",void 0),e([o({type:O,json:{name:\"layerDefinition.floorInfo\",write:!0,origins:{\"web-scene\":{name:\"layerDefinition.floorInfo\",write:{enabled:!0,layerContainerTypes:l}}}}})],R.prototype,\"floorInfo\",void 0),e([o({type:a,json:{origins:{service:{read:{source:\"extent\"}}}}})],R.prototype,\"fullExtent\",void 0),e([o()],R.prototype,\"gdbVersion\",void 0),e([o({readOnly:!0,type:U,json:{read:{source:\"geometryProperties\"}}})],R.prototype,\"geometryFieldsInfo\",void 0),e([o({type:[\"point\",\"polygon\",\"polyline\",\"multipoint\",\"multipatch\",\"mesh\"],json:{origins:{service:{read:F.read}}}})],R.prototype,\"geometryType\",void 0),e([o({type:String})],R.prototype,\"globalIdField\",void 0),e([s(\"service\",\"globalIdField\",[\"globalIdField\",\"fields\"])],R.prototype,\"readGlobalIdFieldFromService\",null),e([o({readOnly:!0})],R.prototype,\"hasFullEditingRestrictions\",null),e([o({type:Boolean,json:{origins:{service:{read:!0}}}})],R.prototype,\"hasM\",void 0),e([o({readOnly:!0})],R.prototype,\"hasUpdateItemRestrictions\",null),e([o({type:Boolean,json:{origins:{service:{read:!0}}}})],R.prototype,\"hasZ\",void 0),e([o({readOnly:!0,type:d})],R.prototype,\"heightModelInfo\",void 0),e([o({type:Date})],R.prototype,\"historicMoment\",void 0),e([o({type:t.ofType(I),readOnly:!0})],R.prototype,\"indexes\",void 0),e([o({readOnly:!0})],R.prototype,\"isTable\",void 0),e([s(\"service\",\"isTable\",[\"type\"])],R.prototype,\"readIsTableFromService\",null),e([o({type:Number,json:{origins:{service:{read:{source:\"id\"}},\"portal-item\":{read:!1,write:{target:\"id\"}}},read:!1}})],R.prototype,\"layerId\",void 0),e([o(h)],R.prototype,\"maxScale\",void 0),e([s(\"service\",\"maxScale\",[\"maxScale\",\"effectiveMaxScale\"])],R.prototype,\"readMaxScale\",null),e([o(f)],R.prototype,\"minScale\",void 0),e([s(\"service\",\"minScale\",[\"minScale\",\"effectiveMinScale\"])],R.prototype,\"readMinScale\",null),e([o({type:String})],R.prototype,\"objectIdField\",void 0),e([s(\"service\",\"objectIdField\",[\"objectIdField\",\"fields\"])],R.prototype,\"readObjectIdFieldFromService\",null),e([o(M(\"preferredTimeReference\"))],R.prototype,\"preferredTimeZone\",void 0),e([o({type:[T],readOnly:!0})],R.prototype,\"relationships\",void 0),e([o({type:Boolean})],R.prototype,\"returnM\",void 0),e([o({type:Boolean})],R.prototype,\"returnZ\",void 0),e([o({readOnly:!0,json:{write:!1}})],R.prototype,\"serverGens\",void 0),e([o({readOnly:!0})],R.prototype,\"serviceDefinitionExpression\",void 0),e([s(\"service\",\"serviceDefinitionExpression\",[\"definitionQuery\",\"definitionExpression\"])],R.prototype,\"readServiceDefinitionExpression\",null),e([o({type:String,readOnly:!0,json:{read:!1,origins:{service:{read:!0}}}})],R.prototype,\"serviceItemId\",void 0),e([o()],R.prototype,\"sourceJSON\",void 0),e([o({type:u,json:{origins:{service:{read:{source:\"extent.spatialReference\"}}}}})],R.prototype,\"spatialReference\",void 0),e([o({type:String,readOnly:!0,json:{origins:{service:{read:!0}}}})],R.prototype,\"subtypeField\",void 0),e([o({type:[D],readOnly:!0,json:{read:!1,origins:{service:{read:!0}}}})],R.prototype,\"subtypes\",void 0),e([o({type:String,json:{read:{source:\"timeInfo.trackIdField\"}}})],R.prototype,\"trackIdField\",void 0),e([o(v)],R.prototype,\"url\",null),e([n(\"url\")],R.prototype,\"writeUrl\",null),e([o({json:{origins:{service:{read:!0}},read:!1}})],R.prototype,\"version\",void 0),e([s(\"service\",\"version\",[\"currentVersion\",\"capabilities\",\"drawingInfo\",\"hasAttachments\",\"htmlPopupType\",\"relationships\",\"timeInfo\",\"typeIdField\",\"types\"])],R.prototype,\"readVersion\",null),R=e([p(\"esri.layers.mixins.FeatureLayerBase\")],R),R};export{B as FeatureLayerBase};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{_ as e}from\"../../chunks/tslib.es6.js\";import\"../../renderers/ClassBreaksRenderer.js\";import\"../../renderers/DictionaryRenderer.js\";import\"../../renderers/DotDensityRenderer.js\";import\"../../renderers/HeatmapRenderer.js\";import\"../../renderers/PieChartRenderer.js\";import\"../../renderers/Renderer.js\";import r from\"../../renderers/SimpleRenderer.js\";import\"../../renderers/UniqueValueRenderer.js\";import\"../../renderers/support/jsonUtils.js\";import\"../../core/Logger.js\";import{watch as s,sync as t}from\"../../core/reactiveUtils.js\";import{property as i}from\"../../core/accessorSupport/decorators/property.js\";import\"../../core/has.js\";import\"../../core/RandomLCG.js\";import{subclass as n}from\"../../core/accessorSupport/decorators/subclass.js\";import o from\"../support/AggregateField.js\";import{featureReductionProperty as a}from\"../support/featureReductionUtils.js\";import u from\"../../renderers/visualVariables/SizeVariable.js\";import l from\"../../renderers/visualVariables/support/SizeStop.js\";import{createInferredClusterRenderer as d}from\"../../views/2d/layers/support/clusterUtils.js\";const c=c=>{let p=class extends c{constructor(...e){super(...e),this.addHandles(s((()=>this.renderer),(()=>{if(this.featureReduction){const e=this._normalizeFeatureReduction(this.featureReduction);this._set(\"featureReduction\",e)}}),t))}set featureReduction(e){const r=this._normalizeFeatureReduction(e);this._set(\"featureReduction\",r)}set renderer(e){}_withClusterVariable(e,r,s){const t=e.clone();if(\"visualVariables\"in t){t.visualVariables||(t.visualVariables=[]);t.visualVariables.some((e=>\"size\"===e.type))||t.visualVariables.push(new u({field:\"cluster_count\",stops:[new l({value:1}),new l({useMinValue:!0,size:r}),new l({useMaxValue:!0,size:s})]}))}return t}_normalizeFeatureReduction(e){if(\"cluster\"!==e?.type)return e;const s=e.clone(),t=[new o({name:\"cluster_count\",alias:\"cluster_count\",isAutoGenerated:!0,statisticType:\"count\"})],i=(s.fields??[]).filter((e=>!e.isAutoGenerated)),n=e.renderer&&!e.renderer.authoringInfo?.isAutoGenerated,{clusterMinSize:a,clusterMaxSize:u}=s;if(n){s.fields=[...t,...i];const e=this._withClusterVariable(s.renderer,a,u);return s.effectiveFeatureRenderer=e,s.effectiveClusterRenderer=e,s}if(e.symbol){if(s.fields=[...t,...i],s.renderer=null,!this.renderer)return s.effectiveFeatureRenderer=null,s.effectiveClusterRenderer=null,s;const n=d(t,this.renderer),o=this._withClusterVariable(n,a,u),l=\"visualVariables\"in o&&o.visualVariables?o.visualVariables:[],c=new r({symbol:e.symbol,visualVariables:l});return s.fields=[...t,...i],s.effectiveFeatureRenderer=o,s.effectiveClusterRenderer=c,s}if(!this.renderer)return e;const l=d(t,this.renderer);s.fields=[...t,...i],s.renderer=l;const c=this._withClusterVariable(l,a,u);return s.effectiveFeatureRenderer=c,s.effectiveClusterRenderer=c,s}};return e([i(a)],p.prototype,\"featureReduction\",null),p=e([n(\"esri.layers.mixins.FeatureReductionLayer\")],p),p};export{c as FeatureReductionLayer};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{_ as e}from\"../../chunks/tslib.es6.js\";import r from\"../../core/Error.js\";import{isBlobProtocol as t}from\"../../core/urlUtils.js\";import{property as i}from\"../../core/accessorSupport/decorators/property.js\";import{Integer as o,Null as s}from\"../../core/accessorSupport/ensureType.js\";import\"../../core/RandomLCG.js\";import\"../../core/has.js\";import{reader as n}from\"../../core/accessorSupport/decorators/reader.js\";import{subclass as a}from\"../../core/accessorSupport/decorators/subclass.js\";import{writer as p}from\"../../core/accessorSupport/decorators/writer.js\";import{excludeTables as l}from\"../../core/accessorSupport/layerContainerType.js\";import{readLoadable as y}from\"../../core/accessorSupport/read.js\";import{willPropertyWrite as m}from\"../../core/accessorSupport/write.js\";import{supportedTypes as c}from\"./operationalLayers.js\";import{listMode as d,opacity as u}from\"../support/commonProperties.js\";import w from\"../../time/TimeExtent.js\";const b=b=>{let T=class extends b{constructor(){super(...arguments),this.persistenceEnabled=!0,this.title=null}readId(e,r,t){return\"Group Layer\"===t?.portalItem?.type?void 0:e}writeListMode(e,r,t,i){(i&&\"ground\"===i.layerContainerType||e&&m(this,t,{},i))&&(r[t]=e)}writeOperationalLayerType(e,r,t,i){e&&\"tables\"!==i?.layerContainerType&&(r.layerType=e)}writeTitle(e,r){r.title=e??\"Layer\"}readTimeExtent(e){return e?w.fromArray(e):null}writeTimeExtent(e,t,i,o){e&&\"tables\"!==o.layerContainerType&&(e.isEmpty?o?.messages&&o.messages.push(new r(\"layer:invalid-visibilityTimeExtent\",\"visibilityTimeExtent cannot be empty\")):t[i]=e.toArray())}read(e,r){r&&(r.layer=this),y(this,e,(r=>super.read(e,r)),r)}write(e,i){if(!this.persistenceEnabled&&!i?.ignorePersistenceEnabled)return null;if(i?.origin){const e=`${i.origin}/${i.layerContainerType||\"operational-layers\"}`,t=c[e];let o=!!t?.[this.operationalLayerType];if(\"ArcGISTiledElevationServiceLayer\"===this.operationalLayerType&&\"web-scene/operational-layers\"===e&&(o=!1),\"ArcGISDimensionLayer\"===this.operationalLayerType&&\"web-map/operational-layers\"===e&&(o=!1),!o)return i.messages?.push(new r(\"layer:unsupported\",`Layers (${this.title}, ${this.id}) of type '${this.declaredClass}' are not supported in the context of '${e}'`,{layer:this})),null}const o=super.write(e,{...i,layer:this}),s=!!i&&!!i.messages&&!!i.messages.filter((e=>e instanceof r&&\"web-document-write:property-required\"===e.name)).length;return t(o?.url)?(i?.messages?.push(new r(\"layer:invalid-url\",`Layer (${this.title}, ${this.id}) of type '${this.declaredClass}' using a Blob URL cannot be written to web scenes and web maps`,{layer:this})),null):!this.url&&s?null:o}beforeSave(){}};return e([i({type:String,json:{write:{ignoreOrigin:!0},origins:{\"web-scene\":{write:{isRequired:!0,ignoreOrigin:!0}},\"portal-item\":{write:!1}}}})],T.prototype,\"id\",void 0),e([n(\"id\",[\"id\"])],T.prototype,\"readId\",null),e([i(d)],T.prototype,\"listMode\",void 0),e([p(\"listMode\")],T.prototype,\"writeListMode\",null),e([i({type:String,readOnly:!0,json:{read:!1,write:{target:\"layerType\",ignoreOrigin:!0},origins:{\"portal-item\":{write:!1},\"web-scene\":{name:\"layerType\",read:!1,write:{enabled:!0,ignoreOrigin:!0,layerContainerTypes:l}}}}})],T.prototype,\"operationalLayerType\",void 0),e([p(\"operationalLayerType\")],T.prototype,\"writeOperationalLayerType\",null),e([i(u)],T.prototype,\"opacity\",void 0),e([i({type:Boolean,readOnly:!1})],T.prototype,\"persistenceEnabled\",void 0),e([i({type:String,json:{write:{ignoreOrigin:!0,writerEnsuresNonNull:!0},origins:{\"web-scene\":{write:{isRequired:!0,ignoreOrigin:!0,writerEnsuresNonNull:!0}},\"portal-item\":{write:!1}}},value:\"Layer\"})],T.prototype,\"title\",void 0),e([p(\"title\"),p([\"web-scene\"],\"title\")],T.prototype,\"writeTitle\",null),e([i({type:w,json:{origins:{\"web-scene\":{write:{layerContainerTypes:l}}}}})],T.prototype,\"visibilityTimeExtent\",void 0),e([n(\"visibilityTimeExtent\")],T.prototype,\"readTimeExtent\",null),e([p([\"portal-item\",\"web-map\",\"web-scene\"],\"visibilityTimeExtent\",{visibilityTimeExtent:{type:[[o,s]]}})],T.prototype,\"writeTimeExtent\",null),e([i({type:Boolean,json:{origins:{\"web-scene\":{name:\"visibility\",write:{enabled:!0,layerContainerTypes:l}}},name:\"visibility\",write:!0}})],T.prototype,\"visible\",void 0),T=e([a(\"esri.layers.mixins.OperationalLayer\")],T),T};function T(e){return\"operationalLayerType\"in e}export{b as OperationalLayer,T as isOperationalLayer};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{_ as r}from\"../../chunks/tslib.es6.js\";import{setDeepValue as o}from\"../../core/object.js\";import{property as e}from\"../../core/accessorSupport/decorators/property.js\";import\"../../core/has.js\";import\"../../core/Logger.js\";import\"../../core/RandomLCG.js\";import{subclass as t}from\"../../core/accessorSupport/decorators/subclass.js\";import s from\"../support/OrderByInfo.js\";function i(r,o,e){if(!r)return null;const t=r.find((r=>!!r.field));if(!t)return null;const i=new s;return i.read(t,e),[i]}function n(r,e,t,s){const i=r.find((r=>!!r.field));i&&o(t,[i.toJSON()],e)}const c={type:[s],json:{origins:{\"web-scene\":{write:!1,read:!1}},name:\"layerDefinition.orderBy\",read:{reader:i},write:{writer:n}}},p=o=>{let s=class extends o{constructor(){super(...arguments),this.orderBy=null}};return r([e(c)],s.prototype,\"orderBy\",void 0),s=r([t(\"esri.layers.mixins.OrderedLayer\")],s),s};export{p as OrderedLayer,c as orderByProperty};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{_ as t}from\"../../chunks/tslib.es6.js\";import e from\"../../config.js\";import{id as r}from\"../../kernel.js\";import s from\"../../request.js\";import{result as i}from\"../../core/asyncUtils.js\";import o from\"../../core/Error.js\";import a from\"../../core/Logger.js\";import{destroyMaybe as l}from\"../../core/maybe.js\";import{throwIfAborted as n,isAbortError as p,throwIfAbortError as u}from\"../../core/promiseUtils.js\";import{hasSameCanonicalPortal as c,normalize as d,hasSamePortal as m}from\"../../core/urlUtils.js\";import{property as h}from\"../../core/accessorSupport/decorators/property.js\";import\"../../core/has.js\";import\"../../core/RandomLCG.js\";import{reader as f}from\"../../core/accessorSupport/decorators/reader.js\";import{subclass as g}from\"../../core/accessorSupport/decorators/subclass.js\";import{writer as y}from\"../../core/accessorSupport/decorators/writer.js\";import{getOwningPortalUrl as I}from\"../support/layerUtils.js\";import v from\"../../portal/Portal.js\";import P from\"../../portal/PortalItem.js\";import w from\"../../portal/PortalUser.js\";import{getUserPrivileges as U}from\"../../portal/support/portalItemUtils.js\";const j=j=>{let _=class extends j{constructor(){super(...arguments),this.resourceReferences={portalItem:null,paths:[]},this.userHasEditingPrivileges=!0,this.userHasFullEditingPrivileges=!1,this.userHasUpdateItemPrivileges=!1}destroy(){this.portalItem=l(this.portalItem),this.resourceReferences.portalItem=null,this.resourceReferences.paths.length=0}set portalItem(t){t!==this._get(\"portalItem\")&&(this.removeOrigin(\"portal-item\"),this._set(\"portalItem\",t))}readPortalItem(t,e,r){if(e.itemId)return new P({id:e.itemId,portal:r?.portal})}writePortalItem(t,e){t?.id&&(e.itemId=t.id)}async loadFromPortal(t,e){if(this.portalItem?.id)try{const{load:r}=await import(\"../../portal/support/layersLoader.js\");return n(e),await r({instance:this,supportedTypes:t.supportedTypes,validateItem:t.validateItem,supportsData:t.supportsData,layerModuleTypeMap:t.layerModuleTypeMap},e)}catch(r){throw p(r)||a.getLogger(this).warn(`Failed to load layer (${this.title}, ${this.id}) portal item (${this.portalItem.id})\\n ${r}`),r}}async finishLoadEditablePortalLayer(t){this._set(\"userHasEditingPrivileges\",await this._fetchUserHasEditingPrivileges(t).catch((t=>(u(t),!0))))}async setUserPrivileges(t,r){if(!e.userPrivilegesApplied)return this.finishLoadEditablePortalLayer(r);if(this.url)try{const{features:{edit:e,fullEdit:s},content:{updateItem:i}}=await this._fetchUserPrivileges(t,r);this._set(\"userHasEditingPrivileges\",e),this._set(\"userHasFullEditingPrivileges\",s),this._set(\"userHasUpdateItemPrivileges\",i)}catch(s){u(s)}}async _fetchUserPrivileges(t,e){let s=this.portalItem;if(!t||!s||!s.loaded||s.sourceUrl)return this._fetchFallbackUserPrivileges(e);const i=t===s.id;if(i&&s.portal.user)return U(s);let o,a;if(i)o=s.portal.url;else try{o=await I(this.url,e)}catch(d){u(d)}if(!o||!c(o,s.portal.url))return this._fetchFallbackUserPrivileges(e);try{const t=null!=e?e.signal:null;a=await(r?.getCredential(`${o}/sharing`,{prompt:!1,signal:t}))}catch(d){u(d)}const l=!0,n=!1,p=!1;if(!a)return{features:{edit:l,fullEdit:n},content:{updateItem:p}};try{if(i?await s.reload():(s=new P({id:t,portal:{url:o}}),await s.load(e)),s.portal.user)return U(s)}catch(d){u(d)}return{features:{edit:l,fullEdit:n},content:{updateItem:p}}}async _fetchFallbackUserPrivileges(t){let e=!0;try{e=await this._fetchUserHasEditingPrivileges(t)}catch(r){u(r)}return{features:{edit:e,fullEdit:!1},content:{updateItem:!1}}}async _fetchUserHasEditingPrivileges(t){const e=this.url?r?.findCredential(this.url):null;if(!e)return!0;const s=E.credential===e?E.user:await this._fetchEditingUser(t);return E.credential=e,E.user=s,null==s?.privileges||s.privileges.includes(\"features:user:edit\")}async _fetchEditingUser(t){const e=this.portalItem?.portal?.user;if(e)return e;const o=r?.findServerInfo(this.url??\"\");if(!o?.owningSystemUrl)return null;const a=`${o.owningSystemUrl}/sharing/rest`,l=v.getDefault();if(l&&l.loaded&&d(l.restUrl)===d(a))return l.user;const n=`${a}/community/self`,p=null!=t?t.signal:null,u=await i(s(n,{authMode:\"no-prompt\",query:{f:\"json\"},signal:p}));return u.ok?w.fromJSON(u.value.data):null}read(t,e){e&&(e.layer=this),super.read(t,e)}write(t,e){const r=e?.portal,s=this.portalItem?.id&&(this.portalItem.portal||v.getDefault());return r&&s&&!m(s.restUrl,r.restUrl)?(e.messages&&e.messages.push(new o(\"layer:cross-portal\",`The layer '${this.title} (${this.id})' cannot be persisted because it refers to an item on a different portal than the one being saved to. To save, set layer.portalItem to null or save to the same portal as the item associated with the layer`,{layer:this})),null):super.write(t,{...e,layer:this})}};return t([h({type:P})],_.prototype,\"portalItem\",null),t([f(\"web-document\",\"portalItem\",[\"itemId\"])],_.prototype,\"readPortalItem\",null),t([y(\"web-document\",\"portalItem\",{itemId:{type:String}})],_.prototype,\"writePortalItem\",null),t([h({clonable:!1})],_.prototype,\"resourceReferences\",void 0),t([h({type:Boolean,readOnly:!0})],_.prototype,\"userHasEditingPrivileges\",void 0),t([h({type:Boolean,readOnly:!0})],_.prototype,\"userHasFullEditingPrivileges\",void 0),t([h({type:Boolean,readOnly:!0})],_.prototype,\"userHasUpdateItemPrivileges\",void 0),_=t([g(\"esri.layers.mixins.PortalLayer\")],_),_},E={credential:null,user:null};export{j as PortalLayer};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{_ as t}from\"../../chunks/tslib.es6.js\";import{property as s}from\"../../core/accessorSupport/decorators/property.js\";import\"../../core/has.js\";import\"../../core/Logger.js\";import\"../../core/RandomLCG.js\";import{subclass as e}from\"../../core/accessorSupport/decorators/subclass.js\";import r from\"../support/PublishingInfo.js\";const o=Symbol();function i(t){return null!=t&&\"object\"==typeof t&&o in t}const n=i=>{var n;let u=class extends i{constructor(){super(...arguments),this[n]=!0}get publishingInfo(){if(this.destroyed)return null;const t=this._get(\"publishingInfo\");if(t)return t;const s=new r;return this._checkPublishingStatus(s),s}_checkPublishingStatus(t){const s=250,e=125;let r=0;const o=async s=>{let n;t.updating=!0;try{n=await this.fetchPublishingStatus()}catch(u){n=\"unavailable\"}\"published\"!==n&&\"unavailable\"!==n||(\"publishing\"===t.status&&this.refresh(),i.remove()),t.status=n,t.updating=!1,i.removed||(r=setTimeout(o,s,s+e))},i={removed:!1,remove(){this.removed=!0,clearTimeout(r)}};this.when().catch((()=>i.remove())),o(s),this.addHandles(i)}};return n=o,t([s({readOnly:!0,clonable:!1})],u.prototype,\"publishingInfo\",null),u=t([e(\"esri.layers.mixins.PublishableLayer\")],u),u};export{n as PublishableLayer,i as isPublishableLayer};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{_ as e}from\"../../chunks/tslib.es6.js\";import\"../../core/has.js\";import r from\"../../core/Logger.js\";import{debounce as s,ignoreAbortErrors as t}from\"../../core/promiseUtils.js\";import{property as o}from\"../../core/accessorSupport/decorators/property.js\";import{cast as a}from\"../../core/accessorSupport/decorators/cast.js\";import\"../../core/RandomLCG.js\";import{subclass as i}from\"../../core/accessorSupport/decorators/subclass.js\";import{excludeTables as n}from\"../../core/accessorSupport/layerContainerType.js\";import{registerLayer as h,unregisterLayer as p}from\"./refresh.js\";function m(e){return null!=e&&\"object\"==typeof e&&\"refreshTimestamp\"in e&&\"refresh\"in e}const c=.1,f=m=>{let f=class extends m{constructor(...e){super(...e),this.refreshInterval=0,this.refreshTimestamp=0,this._debounceHasDataChanged=s((()=>this.hasDataChanged())),this.when().then((()=>{this.destroyed||h(this)}),(()=>{}))}destroy(){p(this)}castRefreshInterval(e){return e>=c?e:e<=0?0:c}get refreshParameters(){return{_ts:this.refreshTimestamp||null}}refresh(e=Date.now()){t(this._debounceHasDataChanged()).then((r=>{r&&this._set(\"refreshTimestamp\",e),this.emit(\"refresh\",{dataChanged:r})}),(e=>{r.getLogger(this).error(e),this.emit(\"refresh\",{dataChanged:!1,error:e})}))}async hasDataChanged(){return!0}get test(){}};return e([o({type:Number,json:{write:!0,origins:{\"web-scene\":{write:{enabled:!0,layerContainerTypes:n}}}}})],f.prototype,\"refreshInterval\",void 0),e([a(\"refreshInterval\")],f.prototype,\"castRefreshInterval\",null),e([o({readOnly:!0})],f.prototype,\"refreshTimestamp\",void 0),e([o({readOnly:!0})],f.prototype,\"refreshParameters\",null),f=e([i(\"esri.layers.mixins.RefreshableLayer\")],f),f};export{f as RefreshableLayer,m as isRefreshableLayer};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{_ as e}from\"../../chunks/tslib.es6.js\";import{property as a}from\"../../core/accessorSupport/decorators/property.js\";import\"../../core/has.js\";import\"../../core/Logger.js\";import\"../../core/RandomLCG.js\";import{subclass as c}from\"../../core/accessorSupport/decorators/subclass.js\";const t=t=>{let l=class extends t{constructor(){super(...arguments),this.minScale=0,this.maxScale=0}get effectiveScaleRange(){const e={minScale:this.minScale,maxScale:this.maxScale},a=this.parent;a&&\"effectiveScaleRange\"in a&&r(e,a.effectiveScaleRange);const c=this._get(\"effectiveScaleRange\");return c&&c.minScale===e.minScale&&c.maxScale===e.maxScale?c:e}};return e([a({type:Number,nonNullable:!0,json:{write:!0}})],l.prototype,\"minScale\",void 0),e([a({type:Number,nonNullable:!0,json:{write:!0}})],l.prototype,\"maxScale\",void 0),e([a({readOnly:!0})],l.prototype,\"effectiveScaleRange\",null),l=e([c(\"esri.layers.mixins.ScaleRangeLayer\")],l),l};function r(e,a){return e.minScale=e.minScale>0?a.minScale>0?Math.min(e.minScale,a.minScale):e.minScale:a.minScale,e.maxScale=e.maxScale>0?a.maxScale>0?Math.max(e.maxScale,a.maxScale):e.maxScale:a.maxScale,e}export{t as ScaleRangeLayer};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{_ as e}from\"../../chunks/tslib.es6.js\";import{property as t}from\"../../core/accessorSupport/decorators/property.js\";import\"../../core/has.js\";import\"../../core/Logger.js\";import\"../../core/RandomLCG.js\";import{reader as o}from\"../../core/accessorSupport/decorators/reader.js\";import{subclass as r}from\"../../core/accessorSupport/decorators/subclass.js\";import{excludeTables as i}from\"../../core/accessorSupport/layerContainerType.js\";import{fixTimeInfoFields as s}from\"../support/fieldUtils.js\";import m from\"../support/TimeInfo.js\";import{timeUnitKebabDictionary as p}from\"../../portal/timeUnitKebabDictionary.js\";import n from\"../../time/TimeExtent.js\";import a from\"../../time/TimeInterval.js\";const f={type:Boolean,json:{read:{source:\"timeAnimation\"},write:{target:\"timeAnimation\",layerContainerTypes:i}}},l=i=>{let l=class extends i{constructor(){super(...arguments),this.timeExtent=null,this.timeOffset=null,this.useViewTime=!0}readOffset(e,t){const o=t.timeInfo.exportOptions;if(!o)return null;const r=o.timeOffset,i=p.fromJSON(o.timeOffsetUnits);return r&&i?new a({value:r,unit:i}):null}set timeInfo(e){s(e,this.fieldsIndex),this._set(\"timeInfo\",e)}};return e([t({type:n,json:{write:!1}})],l.prototype,\"timeExtent\",void 0),e([t({type:a})],l.prototype,\"timeOffset\",void 0),e([o(\"service\",\"timeOffset\",[\"timeInfo.exportOptions\"])],l.prototype,\"readOffset\",null),e([t({value:null,type:m,json:{write:!0,origins:{\"web-document\":{read:!1,write:!1},\"portal-item\":{read:!1,write:!1}}}})],l.prototype,\"timeInfo\",null),e([t(f)],l.prototype,\"useViewTime\",void 0),l=e([r(\"esri.layers.mixins.TemporalLayer\")],l),l};export{l as TemporalLayer,f as useViewTimeProperty};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nconst e={ArcGISAnnotationLayer:!0,ArcGISDimensionLayer:!0,ArcGISFeatureLayer:!0,ArcGISImageServiceLayer:!0,ArcGISImageServiceVectorLayer:!0,ArcGISMapServiceLayer:!0,ArcGISStreamLayer:!0,ArcGISTiledImageServiceLayer:!0,ArcGISTiledMapServiceLayer:!0,BingMapsAerial:!0,BingMapsHybrid:!0,BingMapsRoad:!0,CatalogLayer:!0,CSV:!0,GeoJSON:!0,GeoRSS:!0,GroupLayer:!0,KML:!0,KnowledgeGraphLayer:!0,MediaLayer:!0,OGCFeatureLayer:!0,OrientedImageryLayer:!0,SubtypeGroupLayer:!0,VectorTileLayer:!0,WFS:!0,WMS:!0,WebTiledLayer:!0},r={ArcGISImageServiceLayer:!0,ArcGISImageServiceVectorLayer:!0,ArcGISMapServiceLayer:!0,ArcGISTiledImageServiceLayer:!0,ArcGISTiledMapServiceLayer:!0,BingMapsAerial:!0,BingMapsHybrid:!0,BingMapsRoad:!0,OpenStreetMap:!0,VectorTileLayer:!0,WMS:!0,WebTiledLayer:!0},a={ArcGISFeatureLayer:!0,SubtypeGroupTable:!0},i={\"web-scene/operational-layers\":{ArcGISDimensionLayer:!0,ArcGISFeatureLayer:!0,ArcGISImageServiceLayer:!0,ArcGISMapServiceLayer:!0,ArcGISSceneServiceLayer:!0,ArcGISTiledElevationServiceLayer:!0,ArcGISTiledImageServiceLayer:!0,ArcGISTiledMapServiceLayer:!0,BuildingSceneLayer:!0,CatalogLayer:!0,CSV:!0,GeoJSON:!0,GroupLayer:!0,IntegratedMesh3DTilesLayer:!0,IntegratedMeshLayer:!0,KML:!0,LineOfSightLayer:!0,MediaLayer:!0,OGCFeatureLayer:!0,OrientedImageryLayer:!0,PointCloudLayer:!0,RasterDataLayer:!0,VectorTileLayer:!0,ViewshedLayer:!0,Voxel:!0,WFS:!0,WMS:!0,WebTiledLayer:!0},\"web-scene/basemap\":{ArcGISImageServiceLayer:!0,ArcGISMapServiceLayer:!0,ArcGISSceneServiceLayer:!0,ArcGISTiledImageServiceLayer:!0,ArcGISTiledMapServiceLayer:!0,OpenStreetMap:!0,VectorTileLayer:!0,WMS:!0,WebTiledLayer:!0},\"web-scene/ground\":{ArcGISTiledElevationServiceLayer:!0,RasterDataElevationLayer:!0},\"web-scene/tables\":{ArcGISFeatureLayer:!0},\"web-map/operational-layers\":e,\"web-map/basemap\":r,\"web-map/tables\":a,\"link-chart/operational-layers\":{...e,LinkChartLayer:!0},\"link-chart/basemap\":r,\"link-chart/tables\":a,\"portal-item/operational-layers\":{ArcGISFeatureLayer:!0,ArcGISImageServiceLayer:!0,ArcGISSceneServiceLayer:!0,ArcGISStreamLayer:!0,ArcGISTiledImageServiceLayer:!0,BuildingSceneLayer:!0,IntegratedMesh3DTilesLayer:!0,IntegratedMeshLayer:!0,MediaLayer:!0,OrientedImageryLayer:!0,PointCloudLayer:!0,SubtypeGroupLayer:!0}};export{i as supportedTypes};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport e from\"../../core/Collection.js\";import{sync as r}from\"../../core/reactiveUtils.js\";import{autorun as t}from\"../../core/accessorSupport/trackingUtils.js\";const n=new e,o=new WeakMap;function f(e){i(e)&&n.push(new WeakRef(e))}function s(e){const r=n.find((r=>r.deref()===e));r&&n.remove(r)}function i(e){return null!=e&&\"object\"==typeof e&&\"refreshInterval\"in e&&\"refresh\"in e}function c(e,r){return Number.isFinite(e)&&Number.isFinite(r)?r<=0?e:c(r,e%r):0}let l=0,a=0;function u(){const e=Date.now();let r=!1;for(const t of n){const n=t.deref();if(n){if(n.refreshInterval){e-(o.get(n)??0)+5>=6e4*n.refreshInterval&&(o.set(n,e),n.refresh(e))}}else r=!0}if(r)for(let t=n.length-1;t>=0;t--){n.at(t).deref()||n.removeAt(t)}}t((()=>{const e=Date.now();let r=0;for(const t of n){const n=t.deref();n&&(r=c(Math.round(6e4*n.refreshInterval),r),n.refreshInterval?o.get(n)||o.set(n,e):o.delete(n))}if(r!==a){if(a=r,clearInterval(l),0===a)return void(l=0);l=setInterval(u,a)}}),r);const h={get hasRefreshTimer(){return l>0},get tickInterval(){return a},forceRefresh(){u()},hasLayer:e=>i(e)&&n.some((r=>r.deref()===e)),clear(){for(const e of n){const r=e.deref();r&&o.delete(r)}n.removeAll()}};export{f as registerLayer,h as test,s as unregisterLayer};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{_ as t}from\"../../chunks/tslib.es6.js\";import{JSONSupport as s}from\"../../core/JSONSupport.js\";import{clone as o}from\"../../core/lang.js\";import{property as i}from\"../../core/accessorSupport/decorators/property.js\";import\"../../core/has.js\";import\"../../core/Logger.js\";import{subclass as e}from\"../../core/accessorSupport/decorators/subclass.js\";import r from\"./ExpressionInfo.js\";var p;let n=p=class extends s{constructor(t){super(t),this.isAutoGenerated=!1,this.name=null,this.alias=null,this.onStatisticField=null,this.onStatisticExpression=null,this.statisticType=null}clone(){return new p({name:this.name,alias:this.alias,isAutoGenerated:this.isAutoGenerated,onStatisticExpression:o(this.onStatisticExpression),onStatisticField:this.onStatisticField,statisticType:this.statisticType})}};t([i({type:Boolean,json:{write:!0}})],n.prototype,\"isAutoGenerated\",void 0),t([i({type:String,json:{write:!0}})],n.prototype,\"name\",void 0),t([i({type:String,json:{write:!0}})],n.prototype,\"alias\",void 0),t([i({type:String,json:{write:!0}})],n.prototype,\"onStatisticField\",void 0),t([i({type:r,json:{write:!0}})],n.prototype,\"onStatisticExpression\",void 0),t([i({type:String,json:{write:!0}})],n.prototype,\"statisticType\",void 0),n=p=t([e(\"esri.layers.support.AggregateField\")],n);const a=n;export{a as default};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{_ as o}from\"../../chunks/tslib.es6.js\";import{JSONSupport as r}from\"../../core/JSONSupport.js\";import{property as e}from\"../../core/accessorSupport/decorators/property.js\";import\"../../core/has.js\";import\"../../core/Logger.js\";import\"../../core/RandomLCG.js\";import{subclass as s}from\"../../core/accessorSupport/decorators/subclass.js\";var t;let p=t=class extends r{constructor(o){super(o),this.name=null,this.code=null}clone(){return new t({name:this.name,code:this.code})}};o([e({type:String,json:{write:!0}})],p.prototype,\"name\",void 0),o([e({type:[String,Number],json:{write:!0}})],p.prototype,\"code\",void 0),p=t=o([s(\"esri.layers.support.CodedValue\")],p);export{p as CodedValue};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{_ as o}from\"../../chunks/tslib.es6.js\";import{clone as e}from\"../../core/lang.js\";import{property as r}from\"../../core/accessorSupport/decorators/property.js\";import\"../../core/has.js\";import\"../../core/Logger.js\";import{enumeration as s}from\"../../core/accessorSupport/decorators/enumeration.js\";import{subclass as t}from\"../../core/accessorSupport/decorators/subclass.js\";import{CodedValue as a}from\"./CodedValue.js\";import c from\"./Domain.js\";var d;let p=d=class extends c{constructor(o){super(o),this.codedValues=null,this.type=\"coded-value\"}getName(o){let e=null;if(this.codedValues){const r=String(o);this.codedValues.some((o=>(String(o.code)===r&&(e=o.name),!!e)))}return e}clone(){return new d({codedValues:e(this.codedValues),name:this.name})}};o([r({type:[a],json:{write:!0}})],p.prototype,\"codedValues\",void 0),o([s({codedValue:\"coded-value\"})],p.prototype,\"type\",void 0),p=d=o([t(\"esri.layers.support.CodedValueDomain\")],p);const i=p;export{i as default};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{_ as o}from\"../../chunks/tslib.es6.js\";import{JSONMap as r}from\"../../core/jsonMap.js\";import{JSONSupport as e}from\"../../core/JSONSupport.js\";import{property as s}from\"../../core/accessorSupport/decorators/property.js\";import\"../../core/has.js\";import\"../../core/Logger.js\";import\"../../core/RandomLCG.js\";import{enumeration as t}from\"../../core/accessorSupport/decorators/enumeration.js\";import{subclass as p}from\"../../core/accessorSupport/decorators/subclass.js\";const c=new r({inherited:\"inherited\",codedValue:\"coded-value\",range:\"range\"});let a=class extends e{constructor(o){super(o),this.name=null,this.type=null}};o([s({type:String,json:{write:!0}})],a.prototype,\"name\",void 0),o([t(c)],a.prototype,\"type\",void 0),a=o([p(\"esri.layers.support.Domain\")],a);const i=a;export{i as default};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{_ as o}from\"../../chunks/tslib.es6.js\";import{ClonableMixin as e}from\"../../core/Clonable.js\";import{JSONSupport as t}from\"../../core/JSONSupport.js\";import{property as r}from\"../../core/accessorSupport/decorators/property.js\";import\"../../core/has.js\";import\"../../core/Logger.js\";import\"../../core/RandomLCG.js\";import{subclass as i}from\"../../core/accessorSupport/decorators/subclass.js\";import{timeZoneProperty as s}from\"../../time/timeZoneUtils.js\";let l=class extends(e(t)){constructor(o){super(o),this.creatorField=null,this.creationDateField=null,this.editorField=null,this.editDateField=null,this.realm=null,this.timeZone=null}};o([r()],l.prototype,\"creatorField\",void 0),o([r()],l.prototype,\"creationDateField\",void 0),o([r()],l.prototype,\"editorField\",void 0),o([r()],l.prototype,\"editDateField\",void 0),o([r()],l.prototype,\"realm\",void 0),o([r(s(\"dateFieldsTimeReference\",!0))],l.prototype,\"timeZone\",void 0),l=o([i(\"esri.layers.support.EditFieldsInfo\")],l);const p=l;export{p as default};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{_ as r}from\"../../chunks/tslib.es6.js\";import{ClonableMixin as o}from\"../../core/Clonable.js\";import{JSONSupport as t}from\"../../core/JSONSupport.js\";import{property as s}from\"../../core/accessorSupport/decorators/property.js\";import\"../../core/has.js\";import\"../../core/Logger.js\";import\"../../core/RandomLCG.js\";import{subclass as e}from\"../../core/accessorSupport/decorators/subclass.js\";let p=class extends(o(t)){constructor(r){super(r),this.expression=null,this.title=null,this.returnType=null}};r([s({type:String,json:{write:!0}})],p.prototype,\"expression\",void 0),r([s({type:String,json:{write:!0}})],p.prototype,\"title\",void 0),r([s({type:String,json:{write:!0}})],p.prototype,\"returnType\",void 0),p=r([e(\"esri.layers.support.ExpressionInfo\")],p);const i=p;export{i as default};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{_ as r}from\"../../chunks/tslib.es6.js\";import{JSONSupport as e}from\"../../core/JSONSupport.js\";import{property as t}from\"../../core/accessorSupport/decorators/property.js\";import\"../../core/has.js\";import\"../../core/Logger.js\";import\"../../core/RandomLCG.js\";import{subclass as o}from\"../../core/accessorSupport/decorators/subclass.js\";let s=class extends e{constructor(r){super(r),this.facilityIdField=null,this.layerId=null,this.nameField=null,this.siteIdField=null,this.sublayerId=null}};r([t({type:String,json:{write:!0}})],s.prototype,\"facilityIdField\",void 0),r([t({type:String,json:{write:!0}})],s.prototype,\"layerId\",void 0),r([t({type:String,json:{write:!0}})],s.prototype,\"nameField\",void 0),r([t({type:String,json:{write:!0}})],s.prototype,\"siteIdField\",void 0),r([t({type:Number,json:{read:{source:\"subLayerId\"},write:{target:\"subLayerId\"},origins:{\"web-scene\":{read:!1,write:!1}}}})],s.prototype,\"sublayerId\",void 0),s=r([o(\"esri.layers.support.FacilityLayerInfo\")],s);const i=s;export{i as default};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{_ as e}from\"../../chunks/tslib.es6.js\";import r from\"../../core/Error.js\";import{JSONSupport as t}from\"../../core/JSONSupport.js\";import{setDeepValue as l}from\"../../core/object.js\";import{property as i}from\"../../core/accessorSupport/decorators/property.js\";import\"../../core/has.js\";import\"../../core/Logger.js\";import\"../../core/RandomLCG.js\";import{subclass as o}from\"../../core/accessorSupport/decorators/subclass.js\";import{read as s,write as c}from\"../effects/jsonUtils.js\";import u from\"./FeatureFilter.js\";var d;const f={read:{reader:s},write:{writer:c,overridePolicy(){return{allowNull:null!=this.excludedEffect,isRequired:null==this.excludedEffect}}}},n={read:{reader:s},write:{writer:c,overridePolicy(){return{allowNull:null!=this.includedEffect,isRequired:null==this.includedEffect}}}},a={name:\"showExcludedLabels\",default:!0};let p=d=class extends t{constructor(e){super(e),this.filter=null,this.includedEffect=null,this.excludedEffect=null,this.excludedLabelsVisible=!1}write(e,t){const l=super.write(e,t);if(t?.origin){if(l.filter){const e=Object.keys(l.filter);if(e.length>1||\"where\"!==e[0])return t.messages?.push(new r(\"web-document-write:unsupported-feature-effect\",\"Invalid feature effect 'filter'. A filter can only contain a 'where' property\",{layer:t.layer,effect:this})),null}if(\"showExcludedLabels\"in l)return t.messages?.push(new r(\"web-document-write:unsupported-feature-effect\",\"Invalid value for property 'excludedLabelsVisible' which should always be 'true'\",{layer:t.layer,effect:this})),null}return l}clone(){return new d({filter:null!=this.filter?this.filter.clone():null,includedEffect:this.includedEffect,excludedEffect:this.excludedEffect,excludedLabelsVisible:this.excludedLabelsVisible})}};e([i({type:u,json:{write:{allowNull:!0,writer(e,r,t,i){const o=e?.write({},i);o&&0!==Object.keys(o).length?l(t,o,r):l(t,null,r)}}}})],p.prototype,\"filter\",void 0),e([i({json:{read:s,write:{writer:c,allowNull:!0},origins:{\"web-map\":f,\"portal-item\":f}}})],p.prototype,\"includedEffect\",void 0),e([i({json:{read:s,write:{writer:c,allowNull:!0},origins:{\"web-map\":n,\"portal-item\":n}}})],p.prototype,\"excludedEffect\",void 0),e([i({type:Boolean,json:{write:!0,name:\"showExcludedLabels\",origins:{\"web-map\":a,\"portal-item\":a}}})],p.prototype,\"excludedLabelsVisible\",void 0),p=d=e([o(\"esri.layers.support.FeatureEffect\")],p);const w=p;export{w as default};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{_ as e}from\"../../chunks/tslib.es6.js\";import{geometryTypes as t}from\"../../geometry.js\";import{JSONMap as i}from\"../../core/jsonMap.js\";import{JSONSupport as r}from\"../../core/JSONSupport.js\";import{clone as s}from\"../../core/lang.js\";import{property as o}from\"../../core/accessorSupport/decorators/property.js\";import\"../../core/has.js\";import\"../../core/Logger.js\";import{subclass as n}from\"../../core/accessorSupport/decorators/subclass.js\";import l from\"../../rest/support/Query.js\";import a from\"../../time/TimeExtent.js\";var p;const c=new i({esriSpatialRelIntersects:\"intersects\",esriSpatialRelContains:\"contains\",esriSpatialRelCrosses:\"crosses\",esriSpatialRelDisjoint:\"disjoint\",esriSpatialRelEnvelopeIntersects:\"envelope-intersects\",esriSpatialRelIndexIntersects:\"index-intersects\",esriSpatialRelOverlaps:\"overlaps\",esriSpatialRelTouches:\"touches\",esriSpatialRelWithin:\"within\",esriSpatialRelRelation:\"relation\"}),m=new i({esriSRUnit_Meter:\"meters\",esriSRUnit_Kilometer:\"kilometers\",esriSRUnit_Foot:\"feet\",esriSRUnit_StatuteMile:\"miles\",esriSRUnit_NauticalMile:\"nautical-miles\",esriSRUnit_USNauticalMile:\"us-nautical-miles\"});let u=p=class extends r{constructor(e){super(e),this.where=null,this.geometry=null,this.spatialRelationship=\"intersects\",this.distance=void 0,this.objectIds=null,this.units=null,this.timeExtent=null}createQuery(e={}){const{where:t,geometry:i,spatialRelationship:r,timeExtent:o,objectIds:n,units:a,distance:p}=this;return new l({geometry:s(i),objectIds:s(n),spatialRelationship:r,timeExtent:s(o),where:t,units:a,distance:p,...e})}clone(){const{where:e,geometry:t,spatialRelationship:i,timeExtent:r,objectIds:o,units:n,distance:l}=this;return new p({geometry:s(t),objectIds:s(o),spatialRelationship:i,timeExtent:s(r),where:e,units:n,distance:l})}};e([o({type:String,json:{write:!0}})],u.prototype,\"where\",void 0),e([o({types:t,json:{write:!0}})],u.prototype,\"geometry\",void 0),e([o({type:c.apiValues,json:{name:\"spatialRel\",read:{reader:c.read},write:{allowNull:!1,writer:c.write,overridePolicy(){return{enabled:null!=this.geometry}}}}})],u.prototype,\"spatialRelationship\",void 0),e([o({type:Number,json:{write:{overridePolicy(e){return{enabled:null!=e&&null!=this.geometry}}}}})],u.prototype,\"distance\",void 0),e([o({type:[Number],json:{write:!0}})],u.prototype,\"objectIds\",void 0),e([o({type:m.apiValues,json:{read:m.read,write:{writer:m.write,overridePolicy(e){return{enabled:null!=e&&null!=this.geometry}}}}})],u.prototype,\"units\",void 0),e([o({type:a,json:{write:!0}})],u.prototype,\"timeExtent\",void 0),u=p=e([n(\"esri.layers.support.FeatureFilter\")],u);const d=u;export{d as default};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{_ as o}from\"../../chunks/tslib.es6.js\";import{ClonableMixin as r}from\"../../core/Clonable.js\";import{JSONSupport as t}from\"../../core/JSONSupport.js\";import{property as s}from\"../../core/accessorSupport/decorators/property.js\";import\"../../core/has.js\";import\"../../core/Logger.js\";import\"../../core/RandomLCG.js\";import{subclass as e}from\"../../core/accessorSupport/decorators/subclass.js\";let p=class extends(r(t)){constructor(o){super(o)}};o([s({constructOnly:!0,json:{write:!0}})],p.prototype,\"name\",void 0),o([s({constructOnly:!0,json:{write:!0}})],p.prototype,\"fields\",void 0),o([s({constructOnly:!0,json:{write:!0}})],p.prototype,\"isAscending\",void 0),o([s({constructOnly:!0,json:{write:!0}})],p.prototype,\"indexType\",void 0),o([s({constructOnly:!0,json:{write:!0}})],p.prototype,\"isUnique\",void 0),o([s({constructOnly:!0,json:{write:!0}})],p.prototype,\"description\",void 0),p=o([e(\"esri.layers.support.FeatureIndex\")],p);export{p as FeatureIndex};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{_ as r}from\"../../chunks/tslib.es6.js\";import{JSONSupport as o}from\"../../core/JSONSupport.js\";import{property as e}from\"../../core/accessorSupport/decorators/property.js\";import\"../../core/has.js\";import\"../../core/Logger.js\";import\"../../core/RandomLCG.js\";import{subclass as s}from\"../../core/accessorSupport/decorators/subclass.js\";let t=class extends o{constructor(){super(...arguments),this.type=null}};r([e({type:[\"selection\",\"cluster\",\"binning\"],readOnly:!0,json:{read:!1,write:!0}})],t.prototype,\"type\",void 0),t=r([s(\"esri.layers.support.FeatureReduction\")],t);export{t as FeatureReduction};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{_ as e}from\"../../chunks/tslib.es6.js\";import r from\"../../PopupTemplate.js\";import\"../../renderers/ClassBreaksRenderer.js\";import\"../../renderers/DictionaryRenderer.js\";import\"../../renderers/DotDensityRenderer.js\";import\"../../renderers/HeatmapRenderer.js\";import\"../../renderers/PieChartRenderer.js\";import\"../../renderers/Renderer.js\";import\"../../renderers/SimpleRenderer.js\";import\"../../renderers/UniqueValueRenderer.js\";import{read as o}from\"../../renderers/support/jsonUtils.js\";import{rendererTypes as t}from\"../../renderers/support/types.js\";import{clone as s}from\"../../core/lang.js\";import{setDeepValue as i}from\"../../core/object.js\";import{toPt as p}from\"../../core/screenUtils.js\";import{property as n}from\"../../core/accessorSupport/decorators/property.js\";import{ensureNumber as a}from\"../../core/accessorSupport/ensureType.js\";import{enumeration as l}from\"../../core/accessorSupport/decorators/enumeration.js\";import{reader as d}from\"../../core/accessorSupport/decorators/reader.js\";import{subclass as m}from\"../../core/accessorSupport/decorators/subclass.js\";import{writer as c}from\"../../core/accessorSupport/decorators/writer.js\";import u from\"./AggregateField.js\";import{labelsVisible as f,popupEnabled as y}from\"./commonProperties.js\";import{createDefaultRenderer as j}from\"./featureLayerUtils.js\";import{FeatureReduction as b}from\"./FeatureReduction.js\";import h from\"./LabelClass.js\";var g;let v=g=class extends b{constructor(e){super(e),this.type=\"binning\",this.binType=\"geohash\",this.fixedBinLevel=null,this.labelingInfo=null,this.labelsVisible=!0,this.maxScale=0,this.popupEnabled=!0,this.popupTemplate=null,this.size=p(\"12px\"),this.fields=[],this.renderer=null}writeFields(e,r,o){const t=e.filter((e=>\"avg_angle\"!==e.statisticType)).map((e=>e.toJSON()));i(o,t,r)}readRenderer(e,r,t){const s=r.drawingInfo?.renderer;return s?o(s,r,t)??void 0:j(r,t)}clone(){return new g({fields:s(this.fields),fixedBinLevel:this.fixedBinLevel,labelingInfo:s(this.labelingInfo),labelsVisible:this.labelsVisible,maxScale:this.maxScale,popupEnabled:this.popupEnabled,popupTemplate:s(this.popupTemplate),renderer:s(this.renderer),binType:s(this.binType),size:this.size})}};e([l({binning:\"binning\"})],v.prototype,\"type\",void 0),e([l({geohash:\"geohash\",square:\"square\"}),n({type:[\"geohash\",\"square\"]})],v.prototype,\"binType\",void 0),e([n({type:Number,json:{write:!0}})],v.prototype,\"fixedBinLevel\",void 0),e([n({type:[h],json:{read:{source:\"drawingInfo.labelingInfo\"},write:{target:\"drawingInfo.labelingInfo\"}}})],v.prototype,\"labelingInfo\",void 0),e([n(f)],v.prototype,\"labelsVisible\",void 0),e([n({type:Number,json:{default:0,name:\"visibilityInfo.maxScale\"}})],v.prototype,\"maxScale\",void 0),e([n(y)],v.prototype,\"popupEnabled\",void 0),e([n({type:r,json:{name:\"popupInfo\",write:!0}})],v.prototype,\"popupTemplate\",void 0),e([n({cast:e=>\"auto\"===e?e:a(p(e))})],v.prototype,\"size\",void 0),e([n({type:[u],json:{write:!0}})],v.prototype,\"fields\",void 0),e([c(\"fields\")],v.prototype,\"writeFields\",null),e([n({types:t,json:{write:{target:\"drawingInfo.renderer\"}}})],v.prototype,\"renderer\",void 0),e([d(\"renderer\",[\"drawingInfo.renderer\"])],v.prototype,\"readRenderer\",null),v=g=e([m(\"esri.layers.support.FeatureReductionBinning\")],v);const w=v;export{w as default};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{_ as e}from\"../../chunks/tslib.es6.js\";import r from\"../../PopupTemplate.js\";import\"../../renderers/ClassBreaksRenderer.js\";import\"../../renderers/DictionaryRenderer.js\";import\"../../renderers/DotDensityRenderer.js\";import\"../../renderers/HeatmapRenderer.js\";import\"../../renderers/PieChartRenderer.js\";import\"../../renderers/Renderer.js\";import t from\"../../renderers/SimpleRenderer.js\";import\"../../renderers/UniqueValueRenderer.js\";import{read as o}from\"../../renderers/support/jsonUtils.js\";import{rendererTypes as s}from\"../../renderers/support/types.js\";import{symbolTypesCluster as i}from\"../../symbols.js\";import{JSONSupport as p}from\"../../core/JSONSupport.js\";import{clone as n}from\"../../core/lang.js\";import{setDeepValue as l}from\"../../core/object.js\";import{toPt as a}from\"../../core/screenUtils.js\";import{property as d}from\"../../core/accessorSupport/decorators/property.js\";import{ensureNumber as u}from\"../../core/accessorSupport/ensureType.js\";import{reader as m}from\"../../core/accessorSupport/decorators/reader.js\";import{subclass as c}from\"../../core/accessorSupport/decorators/subclass.js\";import{writer as f}from\"../../core/accessorSupport/decorators/writer.js\";import y from\"./AggregateField.js\";import{popupEnabled as b,labelsVisible as j}from\"./commonProperties.js\";import{createDefaultRenderer as h}from\"./featureLayerUtils.js\";import g from\"./LabelClass.js\";var S;function w(e){return\"simple\"===e.type&&!e.visualVariables?.length}let I=S=class extends p{constructor(e){super(e),this.type=\"cluster\",this.clusterRadius=a(\"80px\"),this.clusterMinSize=a(\"12px\"),this.clusterMaxSize=a(\"50px\"),this.maxScale=0,this.popupEnabled=!0,this.popupTemplate=null,this.renderer=null,this.symbol=null,this.labelingInfo=null,this.labelsVisible=!0,this.fields=[]}readRenderer(e,r,t){const s=r.drawingInfo?.renderer;return s?.authoringInfo?.isAutoGenerated?null:s?w(s)?null:o(s,r,t)??void 0:h(r,t)}readSymbol(e,r,t){const s=r.drawingInfo?.renderer;if(s?.authoringInfo?.isAutoGenerated)return null;if(s&&w(s)){const e=o(s,r,t);return e?.symbol}return null}writeSymbol(e,r,o,s){const i=this.renderer?.authoringInfo?.isAutoGenerated;if(!this.renderer||i){const o=new t({symbol:e});r.drawingInfo={renderer:o.write({},s)}}}writeFields(e,r,t){const o=e.filter((e=>\"avg_angle\"!==e.statisticType)).map((e=>e.toJSON()));l(t,o,r)}readFields(e,r,t){return e.filter((e=>!e.isAutoGenerated)).map((e=>y.fromJSON(e)))}clone(){return new S({clusterRadius:this.clusterRadius,clusterMinSize:this.clusterMinSize,clusterMaxSize:this.clusterMaxSize,labelingInfo:n(this.labelingInfo),labelsVisible:this.labelsVisible,fields:n(this.fields),maxScale:this.maxScale,renderer:n(this.renderer),symbol:n(this.symbol),popupEnabled:this.popupEnabled,popupTemplate:n(this.popupTemplate)})}};e([d({type:[\"cluster\"],readOnly:!0,json:{write:!0}})],I.prototype,\"type\",void 0),e([d({cast:e=>\"auto\"===e?e:u(a(e)),json:{write:!0}})],I.prototype,\"clusterRadius\",void 0),e([d({type:Number,cast:a,json:{write:!0}})],I.prototype,\"clusterMinSize\",void 0),e([d({type:Number,cast:a,json:{write:!0}})],I.prototype,\"clusterMaxSize\",void 0),e([d({type:Number,json:{default:0,name:\"visibilityInfo.maxScale\"}})],I.prototype,\"maxScale\",void 0),e([d(b)],I.prototype,\"popupEnabled\",void 0),e([d({type:r,json:{read:{source:\"popupInfo\"},write:{target:\"popupInfo\"}}})],I.prototype,\"popupTemplate\",void 0),e([d({types:s,json:{write:{target:\"drawingInfo.renderer\"}}})],I.prototype,\"renderer\",void 0),e([m(\"renderer\",[\"drawingInfo.renderer\"])],I.prototype,\"readRenderer\",null),e([d({types:i})],I.prototype,\"symbol\",void 0),e([m(\"symbol\",[\"drawingInfo.renderer\"])],I.prototype,\"readSymbol\",null),e([f(\"symbol\")],I.prototype,\"writeSymbol\",null),e([d({type:[g],json:{read:{source:\"drawingInfo.labelingInfo\"},write:{target:\"drawingInfo.labelingInfo\"}}})],I.prototype,\"labelingInfo\",void 0),e([d(j)],I.prototype,\"labelsVisible\",void 0),e([d({type:[y],json:{write:!0}})],I.prototype,\"fields\",void 0),e([f(\"fields\")],I.prototype,\"writeFields\",null),e([m(\"fields\")],I.prototype,\"readFields\",null),I=S=e([c(\"esri.layers.support.FeatureReductionCluster\")],I);const v=I;export{v as default};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{_ as o}from\"../../chunks/tslib.es6.js\";import{property as r}from\"../../core/accessorSupport/decorators/property.js\";import\"../../core/has.js\";import\"../../core/Logger.js\";import\"../../core/RandomLCG.js\";import{subclass as e}from\"../../core/accessorSupport/decorators/subclass.js\";import{FeatureReduction as t}from\"./FeatureReduction.js\";var s;let c=s=class extends t{constructor(o){super(o),this.type=\"selection\"}clone(){return new s}};o([r({type:[\"selection\"]})],c.prototype,\"type\",void 0),c=s=o([e(\"esri.layers.support.FeatureReductionSelection\")],c);const p=c;export{p as default};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{_ as o}from\"../../chunks/tslib.es6.js\";import{ClonableMixin as r}from\"../../core/Clonable.js\";import{JSONMap as e}from\"../../core/jsonMap.js\";import{JSONSupport as t}from\"../../core/JSONSupport.js\";import{property as i}from\"../../core/accessorSupport/decorators/property.js\";import\"../../core/has.js\";import\"../../core/Logger.js\";import\"../../core/RandomLCG.js\";import{subclass as s}from\"../../core/accessorSupport/decorators/subclass.js\";const l=new e({esriFeatureEditToolAutoCompletePolygon:\"auto-complete-polygon\",esriFeatureEditToolCircle:\"circle\",esriFeatureEditToolEllipse:\"ellipse\",esriFeatureEditToolFreehand:\"freehand\",esriFeatureEditToolLine:\"line\",esriFeatureEditToolNone:\"none\",esriFeatureEditToolPoint:\"point\",esriFeatureEditToolPolygon:\"polygon\",esriFeatureEditToolRectangle:\"rectangle\",esriFeatureEditToolArrow:\"arrow\",esriFeatureEditToolTriangle:\"triangle\",esriFeatureEditToolLeftArrow:\"left-arrow\",esriFeatureEditToolRightArrow:\"right-arrow\",esriFeatureEditToolUpArrow:\"up-arrow\",esriFeatureEditToolDownArrow:\"down-arrow\"});let a=class extends(r(t)){constructor(o){super(o),this.name=null,this.description=null,this.drawingTool=null,this.prototype=null,this.thumbnail=null}};o([i({json:{write:!0}})],a.prototype,\"name\",void 0),o([i({json:{write:!0}})],a.prototype,\"description\",void 0),o([i({json:{read:l.read,write:l.write}})],a.prototype,\"drawingTool\",void 0),o([i({json:{write:!0}})],a.prototype,\"prototype\",void 0),o([i({json:{write:!0}})],a.prototype,\"thumbnail\",void 0),a=o([s(\"esri.layers.support.FeatureTemplate\")],a);const p=a;export{p as default};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{_ as o}from\"../../chunks/tslib.es6.js\";import{ClonableMixin as r}from\"../../core/Clonable.js\";import{JSONSupport as t}from\"../../core/JSONSupport.js\";import{property as s}from\"../../core/accessorSupport/decorators/property.js\";import\"../../core/has.js\";import\"../../core/Logger.js\";import\"../../core/RandomLCG.js\";import{reader as e}from\"../../core/accessorSupport/decorators/reader.js\";import{subclass as p}from\"../../core/accessorSupport/decorators/subclass.js\";import{writer as i}from\"../../core/accessorSupport/decorators/writer.js\";import{fromJSON as a}from\"./domains.js\";import m from\"./FeatureTemplate.js\";let c=class extends(r(t)){constructor(o){super(o),this.id=null,this.name=null,this.domains=null,this.templates=null}readDomains(o){const r={};for(const t of Object.keys(o))r[t]=a(o[t]);return r}writeDomains(o,r){const t={};for(const s of Object.keys(o))o[s]&&(t[s]=o[s]?.toJSON());r.domains=t}};o([s({json:{write:!0}})],c.prototype,\"id\",void 0),o([s({json:{write:!0}})],c.prototype,\"name\",void 0),o([s({json:{write:!0}})],c.prototype,\"domains\",void 0),o([e(\"domains\")],c.prototype,\"readDomains\",null),o([i(\"domains\")],c.prototype,\"writeDomains\",null),o([s({type:[m],json:{write:!0}})],c.prototype,\"templates\",void 0),c=o([p(\"esri.layers.support.FeatureType\")],c);const n=c;export{n as default};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{_ as e}from\"../../chunks/tslib.es6.js\";import{JSONMap as t}from\"../../core/jsonMap.js\";import{JSONSupport as o}from\"../../core/JSONSupport.js\";import{property as r}from\"../../core/accessorSupport/decorators/property.js\";import{Integer as i}from\"../../core/accessorSupport/ensureType.js\";import\"../../core/RandomLCG.js\";import\"../../core/has.js\";import{enumeration as n}from\"../../core/accessorSupport/decorators/enumeration.js\";import{reader as a}from\"../../core/accessorSupport/decorators/reader.js\";import{subclass as s}from\"../../core/accessorSupport/decorators/subclass.js\";import{types as l,fromJSON as p}from\"./domains.js\";import{kebabDict as d}from\"./fieldType.js\";var u;const c=new t({binary:\"binary\",coordinate:\"coordinate\",countOrAmount:\"count-or-amount\",dateAndTime:\"date-and-time\",description:\"description\",locationOrPlaceName:\"location-or-place-name\",measurement:\"measurement\",nameOrTitle:\"name-or-title\",none:\"none\",orderedOrRanked:\"ordered-or-ranked\",percentageOrRatio:\"percentage-or-ratio\",typeOrCategory:\"type-or-category\",uniqueIdentifier:\"unique-identifier\"});let m=u=class extends o{constructor(e){super(e),this.alias=null,this.defaultValue=void 0,this.description=null,this.domain=null,this.editable=!0,this.length=void 0,this.name=null,this.nullable=!0,this.type=null,this.valueType=null,this.visible=!0}readDescription(e,{description:t}){let o=null;try{o=t?JSON.parse(t):null}catch(r){}return o?.value??null}readValueType(e,{description:t}){let o=null;try{o=t?JSON.parse(t):null}catch(r){}return o?c.fromJSON(o.fieldValueType):null}clone(){return new u({alias:this.alias,defaultValue:this.defaultValue,description:this.description,domain:this.domain?.clone()??null,editable:this.editable,length:this.length,name:this.name,nullable:this.nullable,type:this.type,valueType:this.valueType,visible:this.visible})}};e([r({type:String,json:{write:!0}})],m.prototype,\"alias\",void 0),e([r({type:[String,Number],json:{write:{allowNull:!0}}})],m.prototype,\"defaultValue\",void 0),e([r()],m.prototype,\"description\",void 0),e([a(\"description\")],m.prototype,\"readDescription\",null),e([r({types:l,json:{read:{reader:p},write:!0}})],m.prototype,\"domain\",void 0),e([r({type:Boolean,json:{write:!0}})],m.prototype,\"editable\",void 0),e([r({type:i,json:{write:{overridePolicy:e=>({enabled:Number.isFinite(e)})}}})],m.prototype,\"length\",void 0),e([r({type:String,json:{write:!0}})],m.prototype,\"name\",void 0),e([r({type:Boolean,json:{write:!0}})],m.prototype,\"nullable\",void 0),e([n(d)],m.prototype,\"type\",void 0),e([r()],m.prototype,\"valueType\",void 0),e([a(\"valueType\",[\"description\"])],m.prototype,\"readValueType\",null),e([r({type:Boolean,json:{read:!1}})],m.prototype,\"visible\",void 0),m=u=e([s(\"esri.layers.support.Field\")],m);const y=m;export{y as default};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport e from\"../../core/Error.js\";import{isSerializable as i}from\"../../core/JSONSupport.js\";import t from\"../../core/Logger.js\";import{getOrCreateMapValue as s}from\"../../core/MapUtils.js\";import{UnknownTimeZone as n}from\"../../core/sql/UnknownTimeZone.js\";import{isDateField as r,isNumericField as l,isObjectIDField as o,isGlobalIDField as d,getFieldDefaultValue as a,isTimeOnlyField as m,normalizeFieldName as u}from\"./fieldUtils.js\";import{utc as f,unknown as F,fromTimeReference as h}from\"../../time/timeZoneUtils.js\";import{FixedOffsetZone as c,IANAZone as p}from\"luxon\";function y(e){return\"timeZone\"in e}function _(e){return\"timeZone\"in e}function g(e){return\"dateFieldsTimeZone\"in e}const T=new Map;class Z{static fromJSON(e){return new Z(e.fields,e.timeZoneByFieldName)}static fromLayer(e){return new Z(e.fields??[],S(e))}static fromLayerJSON(e){return new Z(e.fields??[],S(e))}constructor(e=[],i){this._fieldsMap=new Map,this._normalizedFieldsMap=new Map,this._dateFieldsSet=new Set,this._numericFieldsSet=new Set,this._requiredFields=null,this.dateFields=[],this.numericFields=[],this.fields=e||[],this._timeZoneByFieldName=i?new Map(i):null;const t=[];for(const s of this.fields){const e=s?.name,i=M(e);if(e&&i){const n=w(e);this._fieldsMap.set(e,s),this._fieldsMap.set(n,s),this._normalizedFieldsMap.set(i,s),t.push(`${n}:${s.type}:${this._timeZoneByFieldName?.get(e)}`),r(s)?(this.dateFields.push(s),this._dateFieldsSet.add(s)):l(s)&&(this._numericFieldsSet.add(s),this.numericFields.push(s)),o(s)||d(s)||(s.editable=null==s.editable||!!s.editable,s.nullable=null==s.nullable||!!s.nullable)}}t.sort(),this.uid=t.join()}get requiredFields(){if(!this._requiredFields){this._requiredFields=[];for(const e of this.fields)o(e)||d(e)||e.nullable||void 0!==a(e)||this._requiredFields.push(e)}return this._requiredFields}equals(e){return this.uid===e?.uid}has(e){return null!=this.get(e)}get(e){if(!e)return;let i=this._fieldsMap.get(e);return i||(i=this._fieldsMap.get(w(e))??this._normalizedFieldsMap.get(M(e)),i&&this._fieldsMap.set(e,i),i)}getTimeZone(i){const s=this.get(i&&\"string\"!=typeof i?i.name:i);return s?this._timeZoneByFieldName?this._timeZoneByFieldName.get(s.name):\"date\"===s.type||\"esriFieldTypeDate\"===s.type?(t.getLogger(\"esri.layers.support.FieldsIndex\").error(new e(\"getTimeZone:no-timezone-information\",`no time zone information for field '${s.name}'`)),f):N.has(s.type)?F:null:null}getLuxonTimeZone(e){const i=this.getTimeZone(e);return i?i===F?n.instance:i===f?c.utcInstance:s(T,i,(()=>p.create(i))):null}isDateField(e){return this._dateFieldsSet.has(this.get(e))}isTimeOnlyField(e){return m(this.get(e))}isNumericField(e){return this._numericFieldsSet.has(this.get(e))}normalizeFieldName(e){return this.get(e)?.name??void 0}toJSON(){return{fields:this.fields.map((e=>i(e)?e.toJSON():e)),timeZoneByFieldName:this._timeZoneByFieldName?Array.from(this._timeZoneByFieldName.entries()):null}}}function w(e){return e.trim().toLowerCase()}function M(e){return u(e)?.toLowerCase()??\"\"}const N=new Set([\"time-only\",\"date-only\",\"timestamp-offset\",\"esriFieldTypeDateOnly\",\"esriFieldTypeTimeOnly\",\"esriFieldTypeTimestampOffset\"]);function S(e){const i=new Map;if(!e.fields)return i;const t=!0===e.datesInUnknownTimezone,{timeInfo:s,editFieldsInfo:n}=e,r=(s?\"startField\"in s?s.startField:s.startTimeField:\"\")??\"\",l=(s?\"endField\"in s?s.endField:s.endTimeField:\"\")??\"\",o=g(e)?e.dateFieldsTimeZone??null:e.dateFieldsTimeReference?h(e.dateFieldsTimeReference):null,d=n?y(n)?n.timeZone??o:n.dateFieldsTimeReference?h(n.dateFieldsTimeReference):o??f:null,a=s?_(s)?s.timeZone??o:s.timeReference?h(s.timeReference):o:null,m=new Map([[w(n?.creationDateField??\"\"),d],[w(n?.editDateField??\"\"),d],[w(r),a],[w(l),a]]);for(const{name:u,type:f}of e.fields)if(N.has(f))i.set(u,F);else if(\"date\"!==f&&\"esriFieldTypeDate\"!==f)i.set(u,null);else if(t)i.set(u,F);else{const e=m.get(w(u??\"\"))??o;i.set(u,e)}return i}export{Z as default};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{_ as e}from\"../../chunks/tslib.es6.js\";import{ClonableMixin as r}from\"../../core/Clonable.js\";import{JSONSupport as o}from\"../../core/JSONSupport.js\";import{areaUnitsJSONMap as s,lengthUnitsJSONMap as t}from\"../../core/unitUtils.js\";import{property as p}from\"../../core/accessorSupport/decorators/property.js\";import\"../../core/has.js\";import\"../../core/Logger.js\";import\"../../core/RandomLCG.js\";import{subclass as i}from\"../../core/accessorSupport/decorators/subclass.js\";let a=class extends(r(o)){constructor(e){super(e),this.shapeAreaField=null,this.shapeLengthField=null,this.units=null}};e([p({type:String,json:{read:{source:\"shapeAreaFieldName\"}}})],a.prototype,\"shapeAreaField\",void 0),e([p({type:String,json:{read:{source:\"shapeLengthFieldName\"}}})],a.prototype,\"shapeLengthField\",void 0),e([p({type:String,json:{read:e=>s.read(e)||t.read(e)}})],a.prototype,\"units\",void 0),a=e([i(\"esri.layers.support.GeometryFieldsInfo\")],a);const c=a;export{c as default};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{_ as r}from\"../../chunks/tslib.es6.js\";import\"../../core/Logger.js\";import\"../../core/has.js\";import\"../../core/RandomLCG.js\";import\"../../core/Error.js\";import{enumeration as o}from\"../../core/accessorSupport/decorators/enumeration.js\";import{subclass as e}from\"../../core/accessorSupport/decorators/subclass.js\";import s from\"./Domain.js\";var t;let i=t=class extends s{constructor(r){super(r),this.type=\"inherited\"}clone(){return new t}};r([o({inherited:\"inherited\"})],i.prototype,\"type\",void 0),i=t=r([e(\"esri.layers.support.InheritedDomain\")],i);const p=i;export{p as default};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{_ as e}from\"../../chunks/tslib.es6.js\";import{JSONSupport as o}from\"../../core/JSONSupport.js\";import{property as r}from\"../../core/accessorSupport/decorators/property.js\";import{Integer as t}from\"../../core/accessorSupport/ensureType.js\";import\"../../core/RandomLCG.js\";import\"../../core/has.js\";import{subclass as s}from\"../../core/accessorSupport/decorators/subclass.js\";var i;let l=i=class extends o{constructor(e){super(e),this.cols=null,this.level=0,this.levelValue=null,this.origin=null,this.resolution=0,this.rows=null,this.scale=0}clone(){return new i({cols:this.cols,level:this.level,levelValue:this.levelValue,resolution:this.resolution,rows:this.rows,scale:this.scale})}};e([r({json:{write:!0,origins:{\"web-document\":{read:!1,write:!1},\"portal-item\":{read:!1,write:!1}}}})],l.prototype,\"cols\",void 0),e([r({type:t,json:{write:!0}})],l.prototype,\"level\",void 0),e([r({type:String,json:{write:!0}})],l.prototype,\"levelValue\",void 0),e([r({json:{write:!0,origins:{\"web-document\":{read:!1,write:!1},\"portal-item\":{read:!1,write:!1}}}})],l.prototype,\"origin\",void 0),e([r({type:Number,json:{write:!0}})],l.prototype,\"resolution\",void 0),e([r({json:{write:!0,origins:{\"web-document\":{read:!1,write:!1},\"portal-item\":{read:!1,write:!1}}}})],l.prototype,\"rows\",void 0),e([r({type:Number,json:{write:!0}})],l.prototype,\"scale\",void 0),l=i=e([s(\"esri.layers.support.LOD\")],l);const p=l;export{p as default};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{_ as e}from\"../../chunks/tslib.es6.js\";import{symbolTypesLabel as r,symbolTypesLabel3D as t}from\"../../symbols.js\";import\"../../core/has.js\";import{JSONMap as o}from\"../../core/jsonMap.js\";import{JSONSupport as i}from\"../../core/JSONSupport.js\";import{clone as l}from\"../../core/lang.js\";import{toPt as n}from\"../../core/screenUtils.js\";import{property as s}from\"../../core/accessorSupport/decorators/property.js\";import\"../../core/Logger.js\";import{reader as a}from\"../../core/accessorSupport/decorators/reader.js\";import{subclass as p}from\"../../core/accessorSupport/decorators/subclass.js\";import{writer as c}from\"../../core/accessorSupport/decorators/writer.js\";import b from\"./LabelExpressionInfo.js\";import{templateStringToSql as m,getSingleFieldArcadeExpression as u,getLabelExpression as f,getLabelExpressionArcade as v,getLabelExpressionSingleField as w}from\"./labelUtils.js\";import{isSceneServiceLayer as y}from\"./layerUtils.js\";import{defaultTextSymbol2D as d}from\"../../symbols/support/defaults.js\";import{writeLabelSymbol as h}from\"../../symbols/support/jsonUtils.js\";var S;const L=new o({esriServerPointLabelPlacementAboveCenter:\"above-center\",esriServerPointLabelPlacementAboveLeft:\"above-left\",esriServerPointLabelPlacementAboveRight:\"above-right\",esriServerPointLabelPlacementBelowCenter:\"below-center\",esriServerPointLabelPlacementBelowLeft:\"below-left\",esriServerPointLabelPlacementBelowRight:\"below-right\",esriServerPointLabelPlacementCenterCenter:\"center-center\",esriServerPointLabelPlacementCenterLeft:\"center-left\",esriServerPointLabelPlacementCenterRight:\"center-right\",esriServerLinePlacementAboveAfter:\"above-after\",esriServerLinePlacementAboveAlong:\"above-along\",esriServerLinePlacementAboveBefore:\"above-before\",esriServerLinePlacementAboveStart:\"above-start\",esriServerLinePlacementAboveEnd:\"above-end\",esriServerLinePlacementBelowAfter:\"below-after\",esriServerLinePlacementBelowAlong:\"below-along\",esriServerLinePlacementBelowBefore:\"below-before\",esriServerLinePlacementBelowStart:\"below-start\",esriServerLinePlacementBelowEnd:\"below-end\",esriServerLinePlacementCenterAfter:\"center-after\",esriServerLinePlacementCenterAlong:\"center-along\",esriServerLinePlacementCenterBefore:\"center-before\",esriServerLinePlacementCenterStart:\"center-start\",esriServerLinePlacementCenterEnd:\"center-end\",esriServerPolygonPlacementAlwaysHorizontal:\"always-horizontal\"},{ignoreUnknown:!0});function P(e,r,t){return{enabled:!y(t?.layer)}}function x(e){return!e||\"service\"!==e.origin&&!(\"map-image\"===e.layer?.type)}function g(e){return\"map-image\"===e?.type}function E(e){return!!g(e)&&!!e.capabilities?.exportMap?.supportsArcadeExpressionForLabeling}function j(e){return x(e)||E(e?.layer)}let A=S=class extends i{static evaluateWhere(e,r){const t=(e,r,t)=>{switch(r){case\"=\":return e==t;case\"<>\":return e!=t;case\">\":return e>t;case\">=\":return e>=t;case\"<\":return ej(t)?{allowNull:!0}:{enabled:!1}}}})],A.prototype,\"labelExpressionInfo\",void 0),e([c(\"labelExpressionInfo\")],A.prototype,\"writeLabelExpressionInfo\",null),e([s({type:L.apiValues,json:{type:L.jsonValues,read:L.read,write:L.write}})],A.prototype,\"labelPlacement\",void 0),e([s({type:[\"curved\",\"parallel\"],json:{write:!0,origins:{\"web-map\":{write:!1},\"web-scene\":{write:!1},\"portal-item\":{write:!1}}}})],A.prototype,\"labelPosition\",void 0),e([s({type:Number})],A.prototype,\"maxScale\",void 0),e([c(\"maxScale\")],A.prototype,\"writeMaxScale\",null),e([s({type:Number})],A.prototype,\"minScale\",void 0),e([c(\"minScale\")],A.prototype,\"writeMinScale\",null),e([s({type:Boolean,json:{write:!0,origins:{\"web-scene\":{write:!1},\"portal-item\":{write:{overridePolicy:P}}}}})],A.prototype,\"repeatLabel\",void 0),e([s({type:Number,cast:n,json:{write:!0,origins:{\"web-scene\":{write:!1},\"portal-item\":{write:{overridePolicy:P}}}}})],A.prototype,\"repeatLabelDistance\",void 0),e([s({types:r,json:{origins:{\"web-scene\":{types:t,write:h,default:null}},write:h,default:null}})],A.prototype,\"symbol\",void 0),e([s({type:Boolean,json:{write:!0}})],A.prototype,\"useCodedValues\",void 0),e([s({type:String,json:{write:!0}})],A.prototype,\"where\",void 0),A=S=e([p(\"esri.layers.support.LabelClass\")],A);const C=A;export{C as default};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{_ as r}from\"../../chunks/tslib.es6.js\";import{JSONSupport as e}from\"../../core/JSONSupport.js\";import{property as o}from\"../../core/accessorSupport/decorators/property.js\";import\"../../core/has.js\";import\"../../core/Logger.js\";import\"../../core/RandomLCG.js\";import{reader as s}from\"../../core/accessorSupport/decorators/reader.js\";import{subclass as t}from\"../../core/accessorSupport/decorators/subclass.js\";import{writer as i}from\"../../core/accessorSupport/decorators/writer.js\";import{convertTemplatedStringToArcade as p}from\"./labelUtils.js\";var l;let n=l=class extends e{constructor(){super(...arguments),this.expression=null,this.title=null,this.value=null}readExpression(r,e){return e.value?p(e.value):r}writeExpression(r,e,o){null!=this.value&&(r=p(this.value)),null!=r&&(e[o]=r)}clone(){return new l({expression:this.expression,title:this.title,value:this.value})}};r([o({type:String,json:{write:{writerEnsuresNonNull:!0}}})],n.prototype,\"expression\",void 0),r([s(\"expression\",[\"expression\",\"value\"])],n.prototype,\"readExpression\",null),r([i(\"expression\")],n.prototype,\"writeExpression\",null),r([o({type:String,json:{write:!0,origins:{\"web-scene\":{write:!1}}}})],n.prototype,\"title\",void 0),r([o({json:{read:!1,write:!1}})],n.prototype,\"value\",void 0),n=l=r([t(\"esri.layers.support.LabelExpressionInfo\")],n);const a=n;export{a as default};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{_ as o}from\"../../chunks/tslib.es6.js\";import e from\"../../core/Collection.js\";import{JSONSupport as r}from\"../../core/JSONSupport.js\";import{property as s}from\"../../core/accessorSupport/decorators/property.js\";import\"../../core/has.js\";import\"../../core/Logger.js\";import\"../../core/RandomLCG.js\";import{subclass as t}from\"../../core/accessorSupport/decorators/subclass.js\";var l;let i=l=class extends r{constructor(o){super(o),this.floorField=null,this.viewAllMode=!1,this.viewAllLevelIds=new e}clone(){return new l({floorField:this.floorField,viewAllMode:this.viewAllMode,viewAllLevelIds:this.viewAllLevelIds})}};o([s({type:String,json:{write:!0}})],i.prototype,\"floorField\",void 0),o([s({json:{read:!1,write:!1}})],i.prototype,\"viewAllMode\",void 0),o([s({json:{read:!1,write:!1}})],i.prototype,\"viewAllLevelIds\",void 0),i=l=o([t(\"esri.layers.support.LayerFloorInfo\")],i);const p=i;export{p as default};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{_ as e}from\"../../chunks/tslib.es6.js\";import{JSONSupport as r}from\"../../core/JSONSupport.js\";import{property as t}from\"../../core/accessorSupport/decorators/property.js\";import\"../../core/has.js\";import\"../../core/Logger.js\";import\"../../core/RandomLCG.js\";import{subclass as o}from\"../../core/accessorSupport/decorators/subclass.js\";let i=class extends r{constructor(e){super(e),this.facilityIdField=null,this.layerId=null,this.levelIdField=null,this.levelNumberField=null,this.longNameField=null,this.shortNameField=null,this.sublayerId=null,this.verticalOrderField=null}};e([t({type:String,json:{write:!0}})],i.prototype,\"facilityIdField\",void 0),e([t({type:String,json:{write:!0}})],i.prototype,\"layerId\",void 0),e([t({type:String,json:{write:!0}})],i.prototype,\"levelIdField\",void 0),e([t({type:String,json:{write:!0}})],i.prototype,\"levelNumberField\",void 0),e([t({type:String,json:{write:!0}})],i.prototype,\"longNameField\",void 0),e([t({type:String,json:{write:!0}})],i.prototype,\"shortNameField\",void 0),e([t({type:Number,json:{read:{source:\"subLayerId\"},write:{target:\"subLayerId\"},origins:{\"web-scene\":{read:!1,write:!1}}}})],i.prototype,\"sublayerId\",void 0),e([t({type:String,json:{write:!0}})],i.prototype,\"verticalOrderField\",void 0),i=e([o(\"esri.layers.support.LevelLayerInfo\")],i);const s=i;export{s as default};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{_ as r}from\"../../chunks/tslib.es6.js\";import{JSONMap as e}from\"../../core/jsonMap.js\";import{JSONSupport as o}from\"../../core/JSONSupport.js\";import{property as s}from\"../../core/accessorSupport/decorators/property.js\";import\"../../core/has.js\";import\"../../core/Logger.js\";import\"../../core/RandomLCG.js\";import{subclass as t}from\"../../core/accessorSupport/decorators/subclass.js\";var i;const p=new e({asc:\"ascending\",desc:\"descending\"});let n=i=class extends o{constructor(r){super(r),this.field=null,this.valueExpression=null,this.order=\"ascending\"}clone(){return new i({field:this.field,valueExpression:this.valueExpression,order:this.order})}};r([s({type:String,json:{write:!0}})],n.prototype,\"field\",void 0),r([s({type:String,json:{write:!0,origins:{\"web-scene\":{read:!1,write:!1}}}})],n.prototype,\"valueExpression\",void 0),r([s({type:p.apiValues,json:{type:p.jsonValues,read:p.read,write:p.write}})],n.prototype,\"order\",void 0),n=i=r([t(\"esri.layers.support.OrderByInfo\")],n);const a=n;export{a as default};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{isAborted as s,createAbortError as t,isPromiseLike as e}from\"../../core/promiseUtils.js\";import{signal as r}from\"../../core/signal.js\";import{Yield as n}from\"../../views/support/Yield.js\";class i{constructor(){this._tasks=new Array,this._runningTasks=r(0)}get length(){return this._tasks.length}get running(){return this._runningTasks.value>0}destroy(){this.cancelAll()}runTask(s){if(0===this.length)return n;for(;!s.done&&this._process(s);)s.madeProgress()}push(s,t,e){return++this._runningTasks.value,new Promise(((r,n)=>this._tasks.push(new a(r,n,s,t,e)))).finally((()=>--this._runningTasks.value))}unshift(s,t,e){return++this._runningTasks.value,new Promise(((r,n)=>this._tasks.unshift(new a(r,n,s,t,e)))).finally((()=>--this._runningTasks.value))}_process(r){if(0===this._tasks.length)return!1;const n=this._tasks.shift();try{const i=s(n.signal);if(i&&!n.abortCallback)n.reject(t());else{const s=i?n.abortCallback?.(t()):n.callback(r);e(s)?s.then(n.resolve,n.reject):n.resolve(s)}}catch(i){n.reject(i)}return!0}cancelAll(){const s=t();for(const t of this._tasks)if(t.abortCallback){const e=t.abortCallback(s);t.resolve(e)}else t.reject(s);this._tasks.length=0}}class a{constructor(s,t,e,r=void 0,n=void 0){this.resolve=s,this.reject=t,this.callback=e,this.signal=r,this.abortCallback=n}}export{i as PromiseQueue};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{_ as o}from\"../../chunks/tslib.es6.js\";import s from\"../../core/Accessor.js\";import{property as r}from\"../../core/accessorSupport/decorators/property.js\";import\"../../core/has.js\";import\"../../core/Logger.js\";import\"../../core/RandomLCG.js\";import{subclass as t}from\"../../core/accessorSupport/decorators/subclass.js\";let e=class extends s{constructor(){super(...arguments),this.updating=!1,this.status=\"unknown\"}};o([r()],e.prototype,\"updating\",void 0),o([r()],e.prototype,\"status\",void 0),e=o([t(\"esri.layers.support.PublishingInfo\")],e);const p=e;export{p as default};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{_ as e}from\"../../chunks/tslib.es6.js\";import{property as r}from\"../../core/accessorSupport/decorators/property.js\";import\"../../core/has.js\";import\"../../core/Logger.js\";import\"../../core/RandomLCG.js\";import{enumeration as o}from\"../../core/accessorSupport/decorators/enumeration.js\";import{subclass as a}from\"../../core/accessorSupport/decorators/subclass.js\";import t from\"./Domain.js\";var s;let n=s=class extends t{constructor(e){super(e),this.maxValue=null,this.minValue=null,this.type=\"range\"}clone(){return new s({maxValue:this.maxValue,minValue:this.minValue,name:this.name})}};e([r({json:{type:[Number],read:{source:\"range\",reader:(e,r)=>r.range?.[1]},write:{enabled:!1,overridePolicy(){return{enabled:null!=this.maxValue&&null==this.minValue}},target:\"range\",writer(e,r,o){r[o]=[this.minValue||0,e]}}}})],n.prototype,\"maxValue\",void 0),e([r({json:{type:[Number],read:{source:\"range\",reader:(e,r)=>r.range?.[0]},write:{target:\"range\",writer(e,r,o){r[o]=[e,this.maxValue||0]}}}})],n.prototype,\"minValue\",void 0),e([o({range:\"range\"})],n.prototype,\"type\",void 0),n=s=e([a(\"esri.layers.support.RangeDomain\")],n);const i=n;export{i as default};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{_ as e}from\"../../chunks/tslib.es6.js\";import{ClonableMixin as o}from\"../../core/Clonable.js\";import{JSONMap as r}from\"../../core/jsonMap.js\";import{JSONSupport as t}from\"../../core/JSONSupport.js\";import{property as i}from\"../../core/accessorSupport/decorators/property.js\";import\"../../core/has.js\";import\"../../core/Logger.js\";import\"../../core/RandomLCG.js\";import{subclass as s}from\"../../core/accessorSupport/decorators/subclass.js\";const n=new r({esriRelCardinalityOneToOne:\"one-to-one\",esriRelCardinalityOneToMany:\"one-to-many\",esriRelCardinalityManyToMany:\"many-to-many\"}),a=new r({esriRelRoleOrigin:\"origin\",esriRelRoleDestination:\"destination\"});let l=class extends(o(t)){constructor(e){super(e),this.cardinality=null,this.composite=null,this.id=null,this.keyField=null,this.keyFieldInRelationshipTable=null,this.name=null,this.relatedTableId=null,this.relationshipTableId=null,this.role=null}};e([i({json:{read:n.read,write:n.write}})],l.prototype,\"cardinality\",void 0),e([i({json:{read:!0,write:!0}})],l.prototype,\"composite\",void 0),e([i({json:{read:!0,write:!0}})],l.prototype,\"id\",void 0),e([i({json:{read:!0,write:!0}})],l.prototype,\"keyField\",void 0),e([i({json:{read:!0,write:!0}})],l.prototype,\"keyFieldInRelationshipTable\",void 0),e([i({json:{read:!0,write:!0}})],l.prototype,\"name\",void 0),e([i({json:{read:!0,write:!0}})],l.prototype,\"relatedTableId\",void 0),e([i({json:{read:!0,write:!0}})],l.prototype,\"relationshipTableId\",void 0),e([i({json:{read:a.read,write:a.write}})],l.prototype,\"role\",void 0),l=e([s(\"esri.layers.support.Relationship\")],l);const p=l;export{p as default};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{_ as r}from\"../../chunks/tslib.es6.js\";import{JSONSupport as e}from\"../../core/JSONSupport.js\";import{property as o}from\"../../core/accessorSupport/decorators/property.js\";import\"../../core/has.js\";import\"../../core/Logger.js\";import\"../../core/RandomLCG.js\";import{subclass as t}from\"../../core/accessorSupport/decorators/subclass.js\";let s=class extends e{constructor(r){super(r),this.layerId=null,this.nameField=null,this.siteIdField=null,this.sublayerId=null}};r([o({type:String,json:{write:!0}})],s.prototype,\"layerId\",void 0),r([o({type:String,json:{write:!0}})],s.prototype,\"nameField\",void 0),r([o({type:String,json:{write:!0}})],s.prototype,\"siteIdField\",void 0),r([o({type:Number,json:{read:{source:\"subLayerId\"},write:{target:\"subLayerId\"},origins:{\"web-scene\":{read:!1,write:!1}}}})],s.prototype,\"sublayerId\",void 0),s=r([t(\"esri.layers.support.SiteLayerInfo\")],s);const i=s;export{i as default};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{_ as o}from\"../../chunks/tslib.es6.js\";import{ClonableMixin as r}from\"../../core/Clonable.js\";import{JSONSupport as t}from\"../../core/JSONSupport.js\";import{property as e}from\"../../core/accessorSupport/decorators/property.js\";import\"../../core/has.js\";import\"../../core/Logger.js\";import\"../../core/RandomLCG.js\";import{reader as s}from\"../../core/accessorSupport/decorators/reader.js\";import{subclass as p}from\"../../core/accessorSupport/decorators/subclass.js\";import{writer as i}from\"../../core/accessorSupport/decorators/writer.js\";import{fromJSON as a}from\"./domains.js\";let c=class extends(r(t)){constructor(o){super(o),this.code=null,this.defaultValues={},this.domains=null,this.name=null}readDomains(o){if(!o)return null;const r={};for(const t of Object.keys(o))r[t]=a(o[t]);return r}writeDomains(o,r){if(!o)return;const t={};for(const e of Object.keys(o))o[e]&&(t[e]=o[e]?.toJSON());r.domains=t}};o([e({type:Number,json:{write:!0}})],c.prototype,\"code\",void 0),o([e({type:Object,json:{write:!0}})],c.prototype,\"defaultValues\",void 0),o([e({json:{write:!0}})],c.prototype,\"domains\",void 0),o([s(\"domains\")],c.prototype,\"readDomains\",null),o([i(\"domains\")],c.prototype,\"writeDomains\",null),o([e({type:String,json:{write:!0}})],c.prototype,\"name\",void 0),c=o([p(\"esri.layers.support.Subtype\")],c);const n=c;export{n as default};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{_ as e}from\"../../chunks/tslib.es6.js\";import{JSONMap as t}from\"../../core/jsonMap.js\";import{JSONSupport as o}from\"../../core/JSONSupport.js\";import{getMetersPerUnitForSR as s}from\"../../core/unitUtils.js\";import{property as r}from\"../../core/accessorSupport/decorators/property.js\";import{Integer as i}from\"../../core/accessorSupport/ensureType.js\";import\"../../core/RandomLCG.js\";import\"../../core/has.js\";import{reader as l}from\"../../core/accessorSupport/decorators/reader.js\";import{subclass as n}from\"../../core/accessorSupport/decorators/subclass.js\";import{writer as p}from\"../../core/accessorSupport/decorators/writer.js\";import a from\"../../geometry/Point.js\";import c from\"../../geometry/SpatialReference.js\";import{create as u}from\"../../geometry/support/aaBoundingRect.js\";import{isValid as f,getInfo as h,isGeographic as m,equals as d}from\"../../geometry/support/spatialReferenceUtils.js\";import{project as g}from\"../../geometry/support/webMercatorUtils.js\";import y from\"./LOD.js\";import{TileKey as v}from\"./TileKey.js\";var w;const x=new t({PNG:\"png\",PNG8:\"png8\",PNG24:\"png24\",PNG32:\"png32\",JPEG:\"jpg\",JPG:\"jpg\",DIB:\"dib\",TIFF:\"tiff\",EMF:\"emf\",PS:\"ps\",PDF:\"pdf\",GIF:\"gif\",SVG:\"svg\",SVGZ:\"svgz\",Mixed:\"mixed\",MIXED:\"mixed\",LERC:\"lerc\",LERC2D:\"lerc2d\",RAW:\"raw\",pbf:\"pbf\"});let j=w=class extends o{static create(e={}){const{resolutionFactor:t=1,scales:o,size:r=256,spatialReference:i=c.WebMercator,numLODs:l=24}=e;if(!f(i)){const e=[];if(o)for(let t=0;t=0;o--)e.unshift(new y({level:o,scale:t,resolution:t})),t*=2}return new w({dpi:96,lods:e,origin:new a(0,0,i),size:[r,r],spatialReference:i})}const n=h(i),p=e.origin?new a({x:e.origin.x,y:e.origin.y,spatialReference:i}):new a(n?{x:n.origin[0],y:n.origin[1],spatialReference:i}:{x:0,y:0,spatialReference:i}),u=96,d=1/(s(i)*39.37*u),g=[];if(o)for(let s=0;s{s.push(e.scale),t=e.scale>t?e.scale:t,o=e.scale=t.length-1)return t[t.length-1];const o=Math.floor(e),s=o+1;return t[o]/(t[o]/t[s])**(e-o)}scaleToZoom(e){const t=this.scales,o=t.length-1;let s=0;for(;se&&r=0?this.lods[e]:{scale:2*this.lods[0].scale,resolution:2*this.lods[0].resolution};o.push(new y({level:r,scale:s,resolution:i}))}return new w({size:[e,e],dpi:this.dpi,format:this.format,compressionQuality:this.compressionQuality,origin:this.origin,spatialReference:this.spatialReference,lods:o})}_initializeUpsampleLevels(){const e=this.lods;this._upsampleLevels=[];let t=null;for(let o=0;oArray.isArray(e)?e:\"number\"==typeof e?[e,e]:[256,256]})],j.prototype,\"size\",void 0),e([l(\"size\",[\"rows\",\"cols\"])],j.prototype,\"readSize\",null),e([p(\"size\",{cols:{type:i},rows:{type:i}})],j.prototype,\"writeSize\",null),e([r({type:c,json:{write:!0}})],j.prototype,\"spatialReference\",void 0),j=w=e([n(\"esri.layers.support.TileInfo\")],j),function(e){var t;(t=e.ExtrapolateOptions||(e.ExtrapolateOptions={}))[t.NONE=0]=\"NONE\",t[t.POWER_OF_TWO=1]=\"POWER_OF_TWO\"}(j||(j={}));const z=j;export{z as default};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nclass t{constructor(t,s,i,o,e=void 0){this.id=t,this.level=s,this.row=i,this.col=o,this.extent=e}}export{t as TileKey};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{_ as t}from\"../../chunks/tslib.es6.js\";import{ClonableMixin as e}from\"../../core/Clonable.js\";import{JSONSupport as r}from\"../../core/JSONSupport.js\";import{property as l}from\"../../core/accessorSupport/decorators/property.js\";import\"../../core/has.js\";import\"../../core/Logger.js\";import\"../../core/RandomLCG.js\";import{reader as o}from\"../../core/accessorSupport/decorators/reader.js\";import{subclass as i}from\"../../core/accessorSupport/decorators/subclass.js\";import{writer as n}from\"../../core/accessorSupport/decorators/writer.js\";import a from\"../../time/TimeExtent.js\";import s from\"../../time/TimeInterval.js\";import{timeZoneProperty as m}from\"../../time/timeZoneUtils.js\";function p(t,e){return s.fromJSON({value:t,unit:e})}let u=class extends(e(r)){constructor(t){super(t),this.cumulative=!1,this.endField=null,this.fullTimeExtent=null,this.hasLiveData=!1,this.interval=null,this.startField=null,this.timeZone=null,this.trackIdField=null,this.useTime=!0,this.stops=null}readFullTimeExtent(t,e){return e.timeExtent&&Array.isArray(e.timeExtent)&&2===e.timeExtent.length?a.fromArray(e.timeExtent):null}writeFullTimeExtent(t,e){null!=t?.start&&null!=t.end?e.timeExtent=t.toArray():e.timeExtent=null}readInterval(t,e){return e.timeInterval&&e.timeIntervalUnits?p(e.timeInterval,e.timeIntervalUnits):e.defaultTimeInterval&&e.defaultTimeIntervalUnits?p(e.defaultTimeInterval,e.defaultTimeIntervalUnits):null}writeInterval(t,e){e.timeInterval=t?.toJSON().value??null,e.timeIntervalUnits=t?.toJSON().unit??null}};t([l({type:Boolean,json:{name:\"exportOptions.timeDataCumulative\",write:!0}})],u.prototype,\"cumulative\",void 0),t([l({type:String,json:{name:\"endTimeField\",write:{enabled:!0,allowNull:!0}}})],u.prototype,\"endField\",void 0),t([l({type:a,json:{write:{enabled:!0,allowNull:!0}}})],u.prototype,\"fullTimeExtent\",void 0),t([o(\"fullTimeExtent\",[\"timeExtent\"])],u.prototype,\"readFullTimeExtent\",null),t([n(\"fullTimeExtent\")],u.prototype,\"writeFullTimeExtent\",null),t([l({type:Boolean,json:{write:!0}})],u.prototype,\"hasLiveData\",void 0),t([l({type:s,json:{write:{enabled:!0,allowNull:!0}}})],u.prototype,\"interval\",void 0),t([o(\"interval\",[\"timeInterval\",\"timeIntervalUnits\",\"defaultTimeInterval\",\"defaultTimeIntervalUnits\"])],u.prototype,\"readInterval\",null),t([n(\"interval\")],u.prototype,\"writeInterval\",null),t([l({type:String,json:{name:\"startTimeField\",write:{enabled:!0,allowNull:!0}}})],u.prototype,\"startField\",void 0),t([l(m(\"timeReference\",!0))],u.prototype,\"timeZone\",void 0),t([l({type:String,json:{write:{enabled:!0,allowNull:!0}}})],u.prototype,\"trackIdField\",void 0),t([l({type:Boolean,json:{name:\"exportOptions.useTime\",write:!0}})],u.prototype,\"useTime\",void 0),t([l({type:[Date],json:{read:!1}})],u.prototype,\"stops\",void 0),u=t([i(\"esri.layers.support.TimeInfo\")],u);const d=u;export{d as default};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{urlToObject as e,getOrigin as r,removeTrailingSlash as t,removeQueryParameters as s,join as n,Url as l,makeAbsolute as i}from\"../../core/urlUtils.js\";import{w as u}from\"../../chunks/persistableUrlUtils.js\";const o={mapserver:\"MapServer\",imageserver:\"ImageServer\",featureserver:\"FeatureServer\",knowledgegraphserver:\"KnowledgeGraphServer\",sceneserver:\"SceneServer\",streamserver:\"StreamServer\",vectortileserver:\"VectorTileServer\",\"3dtilesserver\":\"3DTilesServer\",videoserver:\"VideoServer\"},a=Object.values(o),c=new RegExp(`^((?:https?:)?\\\\/\\\\/\\\\S+?\\\\/rest\\\\/services\\\\/(.+?)\\\\/(${a.join(\"|\")}))(?:\\\\/(?:layers\\\\/)?(\\\\d+))?`,\"i\"),v=new RegExp(`^((?:https?:)?\\\\/\\\\/\\\\S+?\\\\/([^/\\\\n]+)\\\\/(${a.join(\"|\")}))(?:\\\\/(?:layers\\\\/)?(\\\\d+))?`,\"i\"),f=/(.*?)\\/(?:layers\\/)?(\\d+)\\/?$/i;function p(e){return c.test(e)}function d(r){if(null==r)return null;const t=e(r),s=t?.path.match(c)||t?.path.match(v);if(!s)return null;const[,n,l,i,u]=s,a=l.indexOf(\"/\");return{title:m(-1!==a?l.slice(a+1):l),serverType:o[i.toLowerCase()],sublayer:null!=u&&\"\"!==u?parseInt(u,10):null,url:{path:n}}}function h(r){const t=e(r).path.match(f);return t?{serviceUrl:t[1],sublayerId:Number(t[2])}:null}function m(e){return(e=e.replaceAll(/\\s*[/_]+\\s*/g,\" \"))[0].toUpperCase()+e.slice(1)}function w(e,r){const t=[];if(e){const r=d(e);null!=r&&r.title&&t.push(r.title)}if(r){const e=m(r);t.push(e)}if(2===t.length){if(t[0].toLowerCase().includes(t[1].toLowerCase()))return t[0];if(t[1].toLowerCase().includes(t[0].toLowerCase()))return t[1]}return t.join(\" - \")}function g(e){let t=r(e,!0);return!!t&&(t=t.toLowerCase(),t.endsWith(\".arcgis.com\")&&(t.startsWith(\"services\")||t.startsWith(\"tiles\")||t.startsWith(\"features\")))}function y(e,r){return e?t(s(e,r)):e}function S(r){let{url:n}=r;if(!n)return{url:n};n=s(n,r.logger);const l=e(n),i=d(l.path);let u;if(null!=i)null!=i.sublayer&&null==r.layer.layerId&&(u=i.sublayer),n=i.url.path;else if(r.nonStandardUrlAllowed){const e=h(l.path);null!=e&&(n=e.serviceUrl,u=e.sublayerId)}return{url:t(n),layerId:u}}function C(e,r,t,s,l){u(r,s,\"url\",l),s.url&&null!=e.layerId&&(s.url=n(s.url,t,e.layerId.toString()))}function b(e){if(!e)return!1;const r=e.toLowerCase(),t=r.includes(\"/services/\"),s=r.includes(\"/mapserver/wmsserver\"),n=r.includes(\"/imageserver/wmsserver\"),l=r.includes(\"/wmsserver\");return t&&(s||n||l)}function I(e){if(!e)return!1;const r=new l(i(e)),t=r.authority?.toLowerCase();return\"server.arcgisonline.com\"===t||\"services.arcgisonline.com\"===t}export{m as cleanTitle,p as isArcGISUrl,g as isHostedAgolService,I as isServerOrServicesAGOLUrl,b as isWmsServer,d as parse,h as parseNonStandardSublayerUrl,y as sanitizeUrl,S as sanitizeUrlWithLayerId,a as serverTypes,w as titleFromUrlAndName,C as writeUrlWithLayerId};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{excludeTables as e}from\"../../core/accessorSupport/layerContainerType.js\";import r from\"../../geometry/Extent.js\";import n from\"../../geometry/SpatialReference.js\";import{w as i}from\"../../chunks/persistableUrlUtils.js\";import a from\"../../symbols/support/ElevationInfo.js\";import t from\"../../tables/AttributeTableTemplate.js\";import{transparencyToOpacity as o}from\"../../webdoc/support/opacityUtils.js\";const s={type:Boolean,value:!0,json:{origins:{service:{read:!1,write:!1},\"web-map\":{read:!1,write:!1}},name:\"screenSizePerspective\",write:{enabled:!0,layerContainerTypes:e}}},l={type:Boolean,value:!0,json:{name:\"disablePopup\",read:{reader:(e,r)=>!r.disablePopup},write:{enabled:!0,writer(e,r,n){r[n]=!e}}}},p={type:Boolean,value:!0,nonNullable:!0,json:{name:\"showLabels\",write:{enabled:!0,layerContainerTypes:e}}},y={type:String,json:{origins:{\"portal-item\":{write:!1}},write:{isRequired:!0,ignoreOrigin:!0,writer:i}}},d={type:Boolean,value:!0,nonNullable:!0,json:{origins:{service:{read:{enabled:!1}}},name:\"showLegend\",write:{enabled:!0,layerContainerTypes:e}}},c={value:null,type:a,json:{origins:{service:{name:\"elevationInfo\",write:!0}},name:\"layerDefinition.elevationInfo\",write:{enabled:!0,layerContainerTypes:e}}};function m(e){return{type:e,readOnly:!0,json:{origins:{service:{read:!0}},read:!1}}}const w={write:{enabled:!0,layerContainerTypes:e},read:!0},f={type:Number,json:{origins:{\"web-document\":w,\"portal-item\":{write:!0}}}},b={...f,json:{...f.json,origins:{\"web-document\":{...w,write:{enabled:!0,layerContainerTypes:e,target:{opacity:{type:Number},\"layerDefinition.drawingInfo.transparency\":{type:Number}}}}},read:{source:[\"layerDefinition.drawingInfo.transparency\",\"drawingInfo.transparency\"],reader:(e,r,n)=>n&&\"service\"!==n.origin||!r.drawingInfo||void 0===r.drawingInfo.transparency?r.layerDefinition?.drawingInfo&&void 0!==r.layerDefinition.drawingInfo.transparency?o(r.layerDefinition.drawingInfo.transparency):void 0:o(r.drawingInfo.transparency)}}},g={type:r,readOnly:!0,json:{origins:{service:{read:{source:[\"fullExtent\",\"spatialReference\"],reader:(e,i)=>{const a=r.fromJSON(e);return null!=i.spatialReference&&\"object\"==typeof i.spatialReference&&(a.spatialReference=n.fromJSON(i.spatialReference)),a}}}},read:!1}},u={type:String,json:{origins:{service:{read:!1},\"portal-item\":{read:!1}}}},j={type:Number,json:{origins:{service:{write:{enabled:!1}},\"web-scene\":{name:\"layerDefinition.minScale\",write:{enabled:!0,layerContainerTypes:e}}},name:\"layerDefinition.minScale\",write:!0}},v={type:Number,json:{origins:{service:{write:{enabled:!1}},\"web-scene\":{name:\"layerDefinition.maxScale\",write:{enabled:!0,layerContainerTypes:e}}},name:\"layerDefinition.maxScale\",write:!0}},I={json:{write:{ignoreOrigin:!0,layerContainerTypes:e},origins:{\"web-map\":{read:!1,write:!1}}}},T={type:t,json:{name:\"attributeTableInfo\",write:!0,origins:{\"web-scene\":{read:!1,write:!1}}}};export{T as attributeTableTemplate,c as elevationInfo,u as id,p as labelsVisible,d as legendEnabled,I as listMode,v as maxScale,j as minScale,f as opacity,b as opacityDrawingInfo,l as popupEnabled,m as readOnlyService,g as sceneLayerFullExtent,s as screenSizePerspectiveEnabled,y as url};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{dateOnlyToDateTime as e,timeOnlyToDateTime as n,timestampOffsetToDateTime as i}from\"../../widgets/support/dateUtils.js\";var l;!function(e){e.VALUE_OUT_OF_RANGE=\"domain-validation-error::value-out-of-range\",e.INVALID_CODED_VALUE=\"domain-validation-error::invalid-coded-value\"}(l||(l={}));const t=new Set([\"integer\",\"small-integer\",\"big-integer\",\"esriFieldTypeInteger\",\"esriFieldTypeSmallInteger\",\"esriFieldTypeBigInteger\"]);function r(e){return null!=e&&t.has(e.type)}function a(e){return null!=e&&(\"date-only\"===e.type||\"esriFieldTypeDateOnly\"===e.type)}function u(e){return null!=e&&(\"timestamp-offset\"===e.type||\"esriFieldTypeTimestampOffset\"===e.type)}function o(e){return null!=e&&(\"time-only\"===e.type||\"esriFieldTypeTimeOnly\"===e.type)}function s(e,n,i){const t=i??e?.domain;if(!t)return null;switch(t.type){case\"range\":{const{min:t,max:r}=m(e,i);if(null!=t&&+nr)return l.VALUE_OUT_OF_RANGE;break}case\"coded-value\":case\"codedValue\":if(null==t.codedValues||t.codedValues.every((e=>null==e||e.code!==n)))return l.INVALID_CODED_VALUE}return null}function m(e,n){const i=n??e?.domain;if(!i||\"range\"!==i.type)return;const l=\"range\"in i?i.range[0]:i.minValue,t=\"range\"in i?i.range[1]:i.maxValue,s=r(e);return a(e)||o(e)||u(e)?{...d(e,t,l),isInteger:s}:{min:null!=l&&\"number\"==typeof l?l:null,max:null!=t&&\"number\"==typeof t?t:null,rawMin:l,rawMax:t,isInteger:s}}function d(l,t,r){return a(l)?{min:e(r)?.toMillis(),max:e(t)?.toMillis(),rawMin:r,rawMax:t}:o(l)?{min:n(r)?.toMillis(),max:n(t)?.toMillis(),rawMin:r,rawMax:t}:u(l)?{min:i(r)?.toMillis(),max:i(t)?.toMillis(),rawMin:r,rawMax:t}:{max:null,min:null}}export{l as DomainValidationError,d as dateTimeFieldValuesToNumericRange,m as getDomainRange,s as validateDomainValue};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport\"../../core/has.js\";import e from\"./CodedValueDomain.js\";import r from\"./Domain.js\";import o from\"./InheritedDomain.js\";import t from\"./RangeDomain.js\";const n={key:\"type\",base:r,typeMap:{range:t,\"coded-value\":e,inherited:o}};function i(r){if(!r?.type)return null;switch(r.type){case\"range\":return t.fromJSON(r);case\"codedValue\":return e.fromJSON(r);case\"inherited\":return o.fromJSON(r)}return null}export{e as CodedValueDomain,r as DomainBase,o as InheritedDomain,t as RangeDomain,i as fromJSON,n as types};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{isLayerFromCatalog as t}from\"../catalog/catalogUtils.js\";import{getEffectiveLayerCapabilities as o,getEffectiveEditingEnabled as i}from\"./layerUtils.js\";function n(t){return\"object\"==typeof t&&null!=t&&\"loaded\"in t&&!0===t.loaded&&\"type\"in t}function e(e){return!(!n(e)||!o(e)?.operations?.supportsEditing||\"editingEnabled\"in e&&!i(e)||t(e))}export{e as isEditableLayer};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nfunction n(n){const{exifInfo:e,exifName:a,tagName:u}=n;if(!e||!a||!u)return null;const f=e.find((n=>n.name===a));return f?t({tagName:u,tags:f.tags}):null}function t(n){const{tagName:t,tags:e}=n;if(!e||!t)return null;const a=e.find((n=>n.name===t));return a?.value||null}export{n as getExifValue};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{id as e}from\"../../kernel.js\";import{symbolTypesRenderer as t}from\"../../symbols.js\";import{resultOrAbort as r}from\"../../core/asyncUtils.js\";import n from\"../../core/Error.js\";import{JSONMap as o}from\"../../core/jsonMap.js\";import{parseWhereClause as s}from\"../../core/sql.js\";import{normalizeGlobalID as i}from\"../../core/uuid.js\";import{createTypeReader as a}from\"../../core/accessorSupport/extensions/serializableProperty/reader.js\";import{CodedValue as u}from\"./CodedValue.js\";import c from\"./CodedValueDomain.js\";import{queryAllJSON as l}from\"./featureQueryAll.js\";import{isStringField as p,isIntegerField as d}from\"./fieldUtils.js\";import{getOwningPortalUrl as f}from\"./layerUtils.js\";import y from\"../../renderers/SimpleRenderer.js\";import m from\"../../renderers/UniqueValueRenderer.js\";import h from\"../../rest/support/AttachmentQuery.js\";import w from\"../../rest/support/Query.js\";import b from\"../../rest/support/RelationshipQuery.js\";const g=new o({esriGeometryPoint:\"point\",esriGeometryMultipoint:\"multipoint\",esriGeometryPolyline:\"polyline\",esriGeometryPolygon:\"polygon\",esriGeometryMultiPatch:\"multipatch\"});async function I(e,t,r,o){const s=await N(e);if(await j(e,t,o),!s.addAttachment)throw new n(o,\"Layer source does not support addAttachment capability\");return s.addAttachment(t,r)}function j(e,t,r){const{attributes:o}=t,{objectIdField:s}=e;return e.capabilities?.data?.supportsAttachment?t?o?s&&o[s]?Promise.resolve():Promise.reject(new n(r,`feature is missing the identifying attribute ${s}`)):Promise.reject(new n(r,\"'attributes' are required on a feature to query attachments\")):Promise.reject(new n(r,\"A feature is required to add/delete/update attachments\")):Promise.reject(new n(r,\"this layer doesn't support attachments\"))}async function F(e,t,r,o,s){const i=await N(e);if(await j(e,t,s),!i.updateAttachment)throw new n(s,\"Layer source does not support updateAttachment capability\");return i.updateAttachment(t,r,o)}async function q(e,t,r){const{applyEdits:n}=await import(\"../graphics/editingSupport.js\"),o=await e.load();let s=r;return\"feature\"===o.type&&o.infoFor3D&&null!=t.deleteFeatures&&null!=o.globalIdField&&(s={...s,globalIdToObjectId:await K(o,t.deleteFeatures,o.globalIdField)}),n(o,o.source,t,r)}async function x(e,t,r){const{uploadAssets:n}=await import(\"../graphics/editingSupport.js\"),o=await e.load();return n(o,o.source,t,r)}async function A(e,t,r,o){const s=await N(e);if(await j(e,t,o),!s.deleteAttachments)throw new n(o,\"Layer source does not support deleteAttachments capability\");return s.deleteAttachments(t,r)}async function v(e,t,r){const o=(await e.load({signal:t?.signal})).source;if(!o.fetchRecomputedExtents)throw new n(r,\"Layer source does not support fetchUpdates capability\");return o.fetchRecomputedExtents(t)}async function S(e,t,r,o){t=h.from(t),await e.load();const s=e.source,i=e.capabilities;if(!i?.data?.supportsAttachment)throw new n(o,\"this layer doesn't support attachments\");const{attachmentTypes:a,objectIds:u,globalIds:c,num:l,size:p,start:d,where:f}=t;if(!i?.operations?.supportsQueryAttachments){if(a?.length>0||c?.length>0||p?.length>0||l||d||f)throw new n(o,\"when 'capabilities.operations.supportsQueryAttachments' is false, only objectIds is supported\",t)}if(!(u?.length||c?.length||f))throw new n(o,\"'objectIds', 'globalIds', or 'where' are required to perform attachment query\",t);if(!s.queryAttachments)throw new n(o,\"Layer source does not support queryAttachments capability\",t);return s.queryAttachments(t)}async function O(e,t,r,o){const s=await N(e);if(!s.queryObjectIds)throw new n(o,\"Layer source does not support queryObjectIds capability\");return s.queryObjectIds(w.from(t)??e.createQuery(),r)}async function P(e,t,r,o){const s=await N(e);if(!s.queryFeatureCount)throw new n(o,\"Layer source does not support queryFeatureCount capability\");return s.queryFeatureCount(w.from(t)??e.createQuery(),r)}async function E(e,t,r,o){const s=await N(e);if(!s.queryExtent)throw new n(o,\"Layer source does not support queryExtent capability\");return s.queryExtent(w.from(t)??e.createQuery(),r)}async function L(e,t,r,o){const s=await N(e);if(!s.queryRelatedFeatures)throw new n(o,\"Layer source does not support queryRelatedFeatures capability\");return s.queryRelatedFeatures(b.from(t),r)}async function C(e,t,r,o){const s=await N(e);if(!s.queryRelatedFeaturesCount)throw new n(o,\"Layer source does not support queryRelatedFeaturesCount capability\");return s.queryRelatedFeaturesCount(b.from(t),r)}async function R(e){const t=e.source;if(t?.refresh)try{const{dataChanged:r,updates:n}=await t.refresh();if(null!=n&&(e.sourceJSON={...e.sourceJSON,...n},e.read(n,{origin:\"service\",url:e.parsedUrl})),r)return!0}catch{}if(e.definitionExpression)try{return(await s(e.definitionExpression,e.fieldsIndex)).hasDateFunctions}catch{}return!1}function M(e){const t=new w,r=e.capabilities?.data,n=e.capabilities?.query;t.historicMoment=e.historicMoment,t.gdbVersion=e.gdbVersion,t.returnGeometry=!0,n&&(t.compactGeometryEnabled=n.supportsCompactGeometry,t.defaultSpatialReferenceEnabled=n.supportsDefaultSpatialReference),r&&(r.supportsZ&&null!=e.returnZ&&(t.returnZ=e.returnZ),r.supportsM&&null!=e.returnM&&(t.returnM=e.returnM)),t.outFields=[\"*\"];const{timeOffset:o,timeExtent:s}=e;return t.timeExtent=null!=o&&null!=s?s.offset(-o.value,o.unit):s||null,t.multipatchOption=\"multipatch\"===e.geometryType?\"xyFootprint\":null,t}function V(e){const{globalIdField:t,fields:r}=e;if(t)return t;if(r)for(const n of r)if(\"esriFieldTypeGlobalID\"===n.type)return n.name}function D(e){const{objectIdField:t,fields:r}=e;if(t)return t;if(r)for(const n of r)if(\"esriFieldTypeOID\"===n.type)return n.name}function G(e){return e.currentVersion?e.currentVersion:e.hasOwnProperty(\"capabilities\")||e.hasOwnProperty(\"drawingInfo\")||e.hasOwnProperty(\"hasAttachments\")||e.hasOwnProperty(\"htmlPopupType\")||e.hasOwnProperty(\"relationships\")||e.hasOwnProperty(\"timeInfo\")||e.hasOwnProperty(\"typeIdField\")||e.hasOwnProperty(\"types\")?10:9.3}function Q(e,t){const{subtypes:r,subtypeField:n}=e;if(!t?.attributes||!r?.length||!n)return null;const o=t.attributes[n];return null==o?null:r.find((e=>e.code===o))}function T(e,t){const{fieldsIndex:r,subtypeField:n}=e,{name:o,type:s}=r.get(t)??{};if(!o)return null;if((n&&r.get(n)?.name)===o&&e.subtypes?.length){const t=e.subtypes.map((e=>new u({code:k(e.code,s),name:e.name})));if(t?.length)return new c({codedValues:t})}return null}function U(e,t){const{fieldsIndex:r}=e,{name:n,type:o}=r.get(t)??{};if(!n)return null;if((\"typeIdField\"in e?r.get(e.typeIdField)?.name:null)===n&&\"types\"in e&&e.types?.length){const t=e.types.map((e=>new u({code:k(e.id,o),name:e.name})));return new c({codedValues:t})}return null}function k(e,t){return t?p({type:t})&&\"number\"==typeof e?`${e}`:d({type:t})&&\"string\"==typeof e?Number.parseInt(e,10):e:e}async function N(e){return(await e.load()).source}async function $(t,r){if(!e)return;if(e.findCredential(t))return;let n;try{const o=await f(t,r);o&&(n=await e.checkSignInStatus(`${o}/sharing`))}catch(o){}if(n)try{const n=null!=r?r.signal:null;await e.getCredential(t,{signal:n})}catch(o){}}async function J(e,t,r){const n=e.parsedUrl?.path;n&&e.authenticationTriggerEvent===t&&await $(n,r)}function Z(e){return!X(e)&&(e.userHasUpdateItemPrivileges||e.editingEnabled)}const H=a({types:t});function z(e,t){if(e.defaultSymbol)return e.types?.length?new m({defaultSymbol:H(e.defaultSymbol,e,t),field:e.typeIdField,uniqueValueInfos:e.types.map((e=>({id:e.id,symbol:H(e.symbol,e,t)})))}):new y({symbol:H(e.defaultSymbol,e,t)})}function B(e){let t=e.sourceJSON?.cacheMaxAge;if(!t)return!1;const r=e.editingInfo?.lastEditDate?.getTime();return null==r||(t*=1e3,Date.now()-r{let t=null;if(\"attributes\"in e){const{attributes:r}=e;t={globalId:r[n],objectId:null!=r[s]&&-1!==r[s]?r[s]:null}}else t={globalId:e.globalId,objectId:null!=e.objectId&&-1!==e.objectId?e.objectId:null};null!=t.globalId&&(null!=t.objectId&&-1!==t.objectId||o.push(t.globalId))})),0===o.length)return null;const a=e.createQuery();a.where=o.map((e=>`${n}='${e}'`)).join(\" OR \"),a.returnGeometry=!1,a.outFields=[s,n],a.cacheHint=!1;const u=await r(l(e,a));if(!u.ok)return null;const c=new Map,p=u.value.features;for(const r of p){const e=r.attributes[n],t=r.attributes[s];null!=e&&null!=t&&-1!==t&&c.set(i(e),t)}return c}function W(e,t,r){if(!t||!r||!e)return null;const n=r.getAttribute(t);return null==n?null:e.find((e=>{const{id:t}=e;return null!=t&&t.toString()===n.toString()}))??null}function X(e){return e.sourceJSON?.isMultiServicesView||Y(e)}function Y(e){return!!e.sourceJSON?.capabilities?.toLowerCase().split(\",\").map((e=>e.trim())).includes(\"map\")}function _(e,t,r){const o=t?.queryBins;if(!o)throw new n(r,\"Layer source does not support binning\");switch(e.binParameters.type){case\"auto-interval\":if(!o.supportsAutoInterval)throw new n(r,\"Layer source does not support auto-interval binning\");break;case\"date\":if(!o.supportsDate)throw new n(r,\"Layer source does not support date binning\");break;case\"fixed-boundaries\":if(!o.supportsFixedBoundaries)throw new n(r,\"Layer source does not support fixed-boundaries binning\");break;case\"fixed-interval\":if(!o.supportsFixedInterval)throw new n(r,\"Layer source does not support fixed-interval binning\")}const s=o?.supportedStatistics;if(e.outStatistics&&s){const t=new Map([[\"count\",\"count\"],[\"sum\",\"sum\"],[\"min\",\"min\"],[\"max\",\"max\"],[\"avg\",\"avg\"],[\"stddev\",\"stddev\"],[\"var\",\"var\"],[\"percentile-continuous\",\"percentileContinuous\"],[\"percentile-discrete\",\"percentileDiscrete\"],[\"centroid-aggregate\",\"centroid\"],[\"convex-hull-aggregate\",\"convexHull\"],[\"envelope-aggregate\",\"envelope\"]]);for(const{statisticType:o}of e.outStatistics){const e=t.get(o);if(e&&!s[e])throw new n(r,`Layer source does not support ${o} statistic type`)}}}export{I as addAttachment,q as applyEdits,T as computeDomainFromSubtypes,U as computeDomainFromTypes,Z as computeEffectiveEditingEnabled,z as createDefaultRenderer,M as createQuery,A as deleteAttachments,$ as ensureCredentialIfSignedIn,J as ensureLayerCredential,v as fetchRecomputedExtents,g as geometryTypeKebabDict,Q as getFeatureSubtype,W as getFeatureType,K as getGlobalIdToObjectIdMap,R as hasDataChanged,B as isLayerCacheStale,S as queryAttachments,E as queryExtent,P as queryFeatureCount,O as queryObjectIds,L as queryRelatedFeatures,C as queryRelatedFeaturesCount,V as readGlobalIdField,D as readObjectIdField,G as readVersion,X as supportsQueryOnly,F as updateAttachment,x as uploadAssets,_ as validateBinsQuery};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport e from\"../../rest/support/Query.js\";async function r(e,r,a){r=r.clone(),e.capabilities.query.supportsMaxRecordCountFactor&&(r.maxRecordCountFactor=u(e));const n=t(e),o=e.capabilities.query.supportsPagination;r.start=0,r.num=n;let i=null;for(;;){const t=await e.source.queryFeaturesJSON(r,a);if(null==i?i=t:i.features=i.features.concat(t.features),i.exceededTransferLimit=t.exceededTransferLimit,!o||!t.exceededTransferLimit)break;r.start+=n}return i}function t(e){return u(e)*a(e)}function a(e){return e.capabilities.query.maxRecordCount||2e3}function u(r){return r.capabilities.query.supportsMaxRecordCountFactor?e.MAX_MAX_RECORD_COUNT_FACTOR:1}export{u as getMaxRecordCountFactor,t as getMaximumQuerySize,a as getMaximumRecordCount,r as queryAllJSON};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{excludeTables as e}from\"../../core/accessorSupport/layerContainerType.js\";import{FeatureReduction as t}from\"./FeatureReduction.js\";import i from\"./FeatureReductionBinning.js\";import r from\"./FeatureReductionCluster.js\";import n from\"./FeatureReductionSelection.js\";const o={key:\"type\",base:t,typeMap:{cluster:r,binning:i}},p={types:{key:\"type\",base:t,typeMap:{selection:n,cluster:r,binning:i}},json:{name:\"layerDefinition.featureReduction\",write:{allowNull:!0},origins:{\"web-map\":{types:o},\"portal-item\":{types:o},\"web-scene\":{types:{key:\"type\",base:t,typeMap:{selection:n}},name:\"layerDefinition.featureReduction\",write:{layerContainerTypes:e}}}}};export{p as featureReductionProperty};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport has from\"../../core/has.js\";import e from\"../../core/Logger.js\";import i from\"./Field.js\";import t from\"./FieldsIndex.js\";import{fixFields as r}from\"./fieldUtils.js\";function s(){return{fields:{type:[i],value:null,set:function(i){if(i&&has(\"big-integer-warning-enabled\")){const t=i.filter((e=>\"big-integer\"===e.type||\"oid\"===e.type&&(e.length||0)>=8));if(t.length){const i=t.map((e=>`'${e.name}'`)).join(\", \");e.getLogger(this).warn(\"#fields\",`Layer (title: '${this.title??\"no title\"}', id: '${this.id??\"no id\"}') references big-integer field(s): ${i}, support for which is experimental. Only integers less than ${Number.MAX_SAFE_INTEGER} (Number.MAX_SAFE_INTEGER) are supported.`)}}this._set(\"fields\",i)}},fieldsIndex:{readOnly:!0,get(){return t.fromLayer(this)}},outFields:{type:[String],json:{read:!1},set:function(e){this._userOutFields=e,this.notifyChange(\"outFields\")},get:function(){const i=this._userOutFields;if(!i?.length)return null;if(i.includes(\"*\"))return[\"*\"];if(!this.fields)return i;for(const t of i){const r=this.fieldsIndex?.has(t);r||e.getLogger(\"esri.layers.support.fieldProperties\").error(\"field-attributes-layer:invalid-field\",`Invalid field ${t} found in outFields`,{layer:this,outFields:i})}return r(this.fieldsIndex,i)}}}}export{s as defineFieldProperties};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{JSONMap as e}from\"../../core/jsonMap.js\";const i=new e({esriFieldTypeSmallInteger:\"small-integer\",esriFieldTypeInteger:\"integer\",esriFieldTypeSingle:\"single\",esriFieldTypeDouble:\"double\",esriFieldTypeLong:\"long\",esriFieldTypeString:\"string\",esriFieldTypeDate:\"date\",esriFieldTypeOID:\"oid\",esriFieldTypeGeometry:\"geometry\",esriFieldTypeBlob:\"blob\",esriFieldTypeRaster:\"raster\",esriFieldTypeGUID:\"guid\",esriFieldTypeGlobalID:\"global-id\",esriFieldTypeXML:\"xml\",esriFieldTypeBigInteger:\"big-integer\",esriFieldTypeDateOnly:\"date-only\",esriFieldTypeTimeOnly:\"time-only\",esriFieldTypeTimestampOffset:\"timestamp-offset\"});export{i as kebabDict};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport e from\"../../core/Error.js\";import{getDeepValue as n,setDeepValue as i}from\"../../core/object.js\";import{union as t}from\"../../core/SetUtils.js\";import{parseWhereClause as r}from\"../../core/sql.js\";import{validateDomainValue as l,getDomainRange as o,DomainValidationError as s}from\"./domainUtils.js\";import{loadArcade as a}from\"../../support/arcadeOnDemand.js\";const u=/^([0-9_])/,f=/[^a-z0-9_\\u0080-\\uffff]+/gi;function c(e){if(null==e)return null;return e.trim().replaceAll(f,\"_\").replace(u,\"F$1\")||null}const d=[\"field\",\"field2\",\"field3\",\"normalizationField\",\"rotationInfo.field\",\"proportionalSymbolInfo.field\",\"proportionalSymbolInfo.normalizationField\",\"colorInfo.field\",\"colorInfo.normalizationField\"],m=[\"field\",\"normalizationField\"];function p(e,n){if(null!=e&&null!=n)for(const i of Array.isArray(e)?e:[e])if(y(d,i,n),\"visualVariables\"in i&&i.visualVariables)for(const e of i.visualVariables)y(m,e,n)}function y(e,t,r){if(e)for(const l of e){const e=n(l,t),o=e&&\"function\"!=typeof e&&r.get(e);o&&i(l,o.name,t)}}function g(e,n){if(null!=e&&n?.fields?.length)if(\"startField\"in e){const i=n.get(e.startField),t=n.get(e.endField);e.startField=i?.name??null,e.endField=t?.name??null}else{const i=n.get(e.startTimeField),t=n.get(e.endTimeField);e.startTimeField=i?.name??null,e.endTimeField=t?.name??null}}const F=new Set;function I(e,n){return e&&n?(F.clear(),b(F,e,n),Array.from(F).sort()):[]}function b(e,n,i){if(i)if(n?.fields?.length)if(i.includes(\"*\"))for(const{name:t}of n.fields)e.add(t);else for(const t of i)w(e,n,t);else{if(i.includes(\"*\"))return e.clear(),void e.add(\"*\");for(const n of i)null!=n&&e.add(n)}}function w(e,n,i){if(\"string\"==typeof i)if(n){const t=n.get(i);t&&e.add(t.name)}else e.add(i)}function x(e,n){return null==n||null==e?[]:n.includes(\"*\")?(e.fields??[]).map((e=>e.name)):n}function T(e,n,i=1){if(!n||!e)return[];if(n.includes(\"*\"))return[\"*\"];const t=I(e,n);return t.length/e.fields.length>=i?[\"*\"]:t}async function h(e,n,i){if(!i)return;const{arcadeUtils:t}=await a(),r=t.extractFieldNames(i,n?.fields?.map((e=>e.name)));for(const l of r)w(e,n,l)}async function E(n,i,t){if(t&&\"1=1\"!==t){const l=await r(t,i);if(!l.isStandardized)throw new e(\"fieldUtils:collectFilterFields\",\"Where clause is not standardized\",{where:t});b(n,i,l.fieldNames)}}function _({displayField:e,fields:n}){return e||(n?.length?S(n,\"name-or-title\")||S(n,\"unique-identifier\")||S(n,\"type-or-category\")||A(n):null)}function A(e){for(const n of e){if(!n?.name)continue;const e=n.name.toLowerCase();if(e.includes(\"name\")||e.includes(\"title\"))return n.name}return null}function S(e,n){for(const i of e)if(i?.valueType&&i.valueType===n)return i.name;return null}async function N(e){if(!e)return[];const n=new Set;return await v(n,e),Array.from(n).sort()}async function v(e,n){if(!n)return;const i=n.elevationInfo?.featureExpressionInfo;return i?i.collectRequiredFields(e,n.fieldsIndex):void 0}function $(e,n,i){i.onStatisticExpression?h(e,n,i.onStatisticExpression.expression):e.add(i.onStatisticField)}async function L(e,n,i){if(!n||!i||!(\"fields\"in i))return;const t=[],r=i.popupTemplate;t.push(D(e,n,r)),i.fields&&t.push(...i.fields.map((async i=>$(e,n.fieldsIndex,i)))),await Promise.all(t)}async function D(e,n,i){const t=[];i?.expressionInfos&&t.push(...i.expressionInfos.map((i=>h(e,n.fieldsIndex,i.expression))));const r=i?.content;if(Array.isArray(r))for(const l of r)\"expression\"===l.type&&l.expressionInfo&&t.push(h(e,n.fieldsIndex,l.expressionInfo.expression));await Promise.all(t)}async function M(e,n,i){n&&(n.timeInfo&&i?.timeExtent&&b(e,n.fieldsIndex,[n.timeInfo.startField,n.timeInfo.endField]),n.floorInfo&&b(e,n.fieldsIndex,[n.floorInfo.floorField]),null!=i?.where&&await E(e,n.fieldsIndex,i.where))}async function O(e,n,i){n&&i&&await Promise.all(i.map((i=>V(e,n,i))))}async function V(e,n,i){n&&i&&(i.valueExpression?await h(e,n.fieldsIndex,i.valueExpression):i.field&&w(e,n.fieldsIndex,i.field))}async function U(e){if(!e)return[];const n=\"timeInfo\"in e&&e.timeInfo;return n?I(e.fieldsIndex,[e.trackIdField,n.startField,n.endField]):[]}function j(e){return e?I(e.fieldsIndex,z(e)):[]}function R(e){if(!e)return[];const n=e.geometryFieldsInfo;return n?I(e.fieldsIndex,[n.shapeAreaField,n.shapeLengthField]):[]}const C=new Set([\"oid\",\"global-id\",\"guid\"]),G=new Set([\"oid\",\"global-id\"]),k=[/^fnode_$/i,/^tnode_$/i,/^lpoly_$/i,/^rpoly_$/i,/^poly_$/i,/^shape$/i,/^shape_$/i,/^subclass$/i,/^subclass_$/i,/^rings_ok$/i,/^rings_nok$/i,/perimeter/i,/objectid/i,/_i$/i];function X(e){const n=new Set;P(e).forEach((e=>n.add(e))),R(e).forEach((e=>n.add(e.toLowerCase())));const i=e&&\"infoFor3D\"in e?e.infoFor3D:void 0;return i&&(Object.values(i.assetMapFieldRoles).forEach((e=>n.add(e.toLowerCase()))),Object.values(i.transformFieldRoles).forEach((e=>n.add(e.toLowerCase())))),Array.from(n)}function z(e){if(!e)return[];const n=\"editFieldsInfo\"in e&&e.editFieldsInfo;if(!n)return[];const{creationDateField:i,creatorField:t,editDateField:r,editorField:l}=n;return[i,t,r,l].filter(Boolean)}function P(e){return z(e).map((e=>e.toLowerCase()))}function q(e,n){return e.editable&&!C.has(e.type)&&!P(n).includes(e.name?.toLowerCase()??\"\")}function B(e,n){const i=e.name?.toLowerCase()??\"\";return!(null!=n?.objectIdField&&i===n.objectIdField.toLowerCase()||null!=n?.globalIdField&&i===n.globalIdField.toLowerCase()||X(n).includes(i)||G.has(e.type)||k.some((e=>e.test(i))))}async function Y(e){if(!e)return[];const n=new Set;return await J(n,e),Array.from(n).sort()}async function J(e,n){const{labelingInfo:i,fieldsIndex:t}=n;i?.length&&await Promise.all(i.map((n=>W(e,t,n))))}async function W(e,n,i){if(!i)return;const t=i.getLabelExpression(),r=i.where;if(\"arcade\"===t.type)await h(e,n,t.expression);else{const i=t.expression.match(/{[^}]*}/g);i&&i.forEach((i=>{w(e,n,i.slice(1,-1))}))}await E(e,n,r)}function H(e){const n=e.defaultValue;return void 0!==n&&re(e,n)?n:e.nullable?null:void 0}function K(e){const n=\"string\"==typeof e?{type:e}:e;return ye(n)?255:\"esriFieldTypeDate\"===n.type||\"date\"===n.type?8:void 0}function Q(e){return\"number\"==typeof e&&!isNaN(e)&&isFinite(e)}function Z(e){return null===e||Q(e)}function ee(e){return null===e||Number.isInteger(e)}function ne(e){return null!=e&&\"string\"==typeof e}function ie(e){return null===e||ne(e)}function te(){return!0}function re(e,n){let i;switch(e.type){case\"date\":case\"integer\":case\"long\":case\"small-integer\":case\"big-integer\":case\"esriFieldTypeDate\":case\"esriFieldTypeInteger\":case\"esriFieldTypeLong\":case\"esriFieldTypeSmallInteger\":case\"esriFieldTypeBigInteger\":i=e.nullable?ee:Number.isInteger;break;case\"double\":case\"single\":case\"esriFieldTypeSingle\":case\"esriFieldTypeDouble\":i=e.nullable?Z:Q;break;case\"string\":case\"esriFieldTypeString\":i=e.nullable?ie:ne;break;default:i=te}return 1===arguments.length?i:i(n)}const le=[\"integer\",\"small-integer\",\"big-integer\"],oe=[\"single\",\"double\"],se=[...le,...oe],ae=[\"esriFieldTypeInteger\",\"esriFieldTypeSmallInteger\",\"esriFieldTypeBigInteger\"],ue=[\"esriFieldTypeSingle\",\"esriFieldTypeDouble\"],fe=new Set([...le,...ae]),ce=new Set([...oe,...ue]),de=t(fe,ce);function me(e){return null!=e&&fe.has(e.type)}function pe(e){return null!=e&&de.has(e.type)}function ye(e){return null!=e&&(\"string\"===e.type||\"esriFieldTypeString\"===e.type)}function ge(e){return null!=e&&(\"date\"===e.type||\"esriFieldTypeDate\"===e.type)}function Fe(e){return null!=e&&(\"date-only\"===e.type||\"esriFieldTypeDateOnly\"===e.type)}function Ie(e){return null!=e&&(\"timestamp-offset\"===e.type||\"esriFieldTypeTimestampOffset\"===e.type)}function be(e){return null!=e&&(\"time-only\"===e.type||\"esriFieldTypeTimeOnly\"===e.type)}function we(e){return null!=e&&(\"oid\"===e.type||\"esriFieldTypeOID\"===e.type)}function xe(e){return null!=e&&(\"global-id\"===e.type||\"esriFieldTypeGlobalID\"===e.type)}function Te(e,n){return null===Ae(e,n)}var he,Ee;function _e(e){return null==e||\"number\"==typeof e&&isNaN(e)?null:e}function Ae(e,n){return null==e||e.nullable&&null===n?null:pe(e)&&!Se(e.type,Number(n))?he.OUT_OF_RANGE:re(e,n)?e.domain?l(e,n):null:Ee.INVALID_TYPE}function Se(e,n){const i=\"string\"==typeof e?ve(e):e;if(!i)return!1;const t=i.min,r=i.max;return i.isInteger?Number.isInteger(n)&&n>=t&&n<=r:n>=t&&n<=r}function Ne(e,n){const i=o(e,n);return i||(pe(e)?ve(e.type):void 0)}function ve(e){switch(e){case\"esriFieldTypeSmallInteger\":case\"small-integer\":return Le;case\"esriFieldTypeInteger\":case\"integer\":return De;case\"esriFieldTypeBigInteger\":case\"big-integer\":return Me;case\"esriFieldTypeSingle\":case\"single\":return Oe;case\"esriFieldTypeDouble\":case\"double\":return Ve}}function $e(e){if(!Q(e))return null;if(Number.isInteger(e)){if(e>=Le.min&&e<=Le.max)return\"esriFieldTypeSmallInteger\";if(e>=De.min&&e<=De.max)return\"esriFieldTypeInteger\";if(e>=Me.min&&e<=Me.max)return\"esriFieldTypeBigInteger\"}return e>=Oe.min&&e<=Oe.max?\"esriFieldTypeSingle\":\"esriFieldTypeDouble\"}!function(e){e.OUT_OF_RANGE=\"numeric-range-validation-error::out-of-range\"}(he||(he={})),function(e){e.INVALID_TYPE=\"type-validation-error::invalid-type\"}(Ee||(Ee={}));const Le={min:-32768,max:32767,isInteger:!0,rawMin:-32768,rawMax:32767},De={min:-2147483648,max:2147483647,isInteger:!0,rawMin:-2147483648,rawMax:2147483647},Me={min:-Number.MAX_SAFE_INTEGER,max:Number.MAX_SAFE_INTEGER,isInteger:!0,rawMin:-Number.MAX_SAFE_INTEGER,rawMax:Number.MAX_SAFE_INTEGER},Oe={min:-34e37,max:12e37,isInteger:!1,rawMin:-34e37,rawMax:12e37},Ve={min:-Number.MAX_VALUE,max:Number.MAX_VALUE,isInteger:!1,rawMin:-Number.MAX_VALUE,rawMax:Number.MAX_VALUE};function Ue(e,n,i){switch(e){case s.INVALID_CODED_VALUE:return`Value ${i} is not in the coded domain - field: ${n.name}, domain: ${JSON.stringify(n.domain)}`;case s.VALUE_OUT_OF_RANGE:return`Value ${i} is out of the range of valid values - field: ${n.name}, domain: ${JSON.stringify(n.domain)}`;case Ee.INVALID_TYPE:return`Value ${i} is not a valid value for the field type - field: ${n.name}, type: ${n.type}, nullable: ${n.nullable}`;case he.OUT_OF_RANGE:{const{min:e,max:t}=ve(n.type);return`Value ${i} is out of range for the number type - field: ${n.name}, type: ${n.type}, value range is ${e} to ${t}`}}}function je(e,n){return!Re(e,n,null)}function Re(e,n,i){if(!n?.attributes||!e){if(null!=i)for(const n of e??[])i.add(n);return!0}const t=new Set(Object.keys(n.attributes));let r=!1;for(const l of e)if(!t.has(l)){if(r=!0,null==i)break;i.add(l)}return r}async function Ce(e,n){const i=new Set;for(const t of n)await h(i,e.fieldsIndex,t);return Array.from(i).sort()}function Ge(e){return!!e&&[\"raster.itempixelvalue\",\"raster.servicepixelvalue\"].some((n=>e.toLowerCase().startsWith(n)))}async function ke(e,n){const i=new Set;return e?.collectRequiredFields&&await e.collectRequiredFields(i,n),Array.from(i).sort()}function Xe(e){const n=e?.match(/{[^}]+}/g);return n?n.map((e=>e.slice(1,-1).split(\":\")[0].trim())):[]}export{he as NumericRangeValidationError,Ee as TypeValidationError,Me as bigIntegerRange,h as collectArcadeFieldNames,v as collectElevationFields,L as collectFeatureReductionFields,w as collectField,b as collectFields,M as collectFilterFields,J as collectLabelingFields,O as collectOrderByInfos,D as collectPopupTemplateFields,Ve as doubleRange,Xe as extractSubstitutionTemplatesFromString,je as featureHasFields,I as fixFields,p as fixRendererFields,g as fixTimeInfoFields,ue as floatJSONTypes,oe as floatTypes,_ as getDisplayFieldName,z as getEditTrackingFields,N as getElevationFields,Ce as getExpressionFields,j as getFeatureEditFields,R as getFeatureGeometryFields,K as getFieldDefaultLength,H as getFieldDefaultValue,Ne as getFieldRange,Y as getLabelingFields,X as getLowerCaseDefaultHiddenFields,P as getLowerCaseEditTrackingFields,$e as getNumericTypeForValue,ke as getRendererFields,U as getTimeFields,ae as integerJSONTypes,De as integerRange,le as integerTypes,ge as isDateField,Fe as isDateOnlyField,q as isFieldEditable,B as isFieldVisibleByDefault,xe as isGlobalIDField,me as isIntegerField,Se as isNumberInRange,pe as isNumericField,we as isObjectIDField,Ge as isRasterPixelValueField,ye as isStringField,be as isTimeOnlyField,Ie as isTimestampOffsetField,Te as isValidFieldValue,re as isValueMatchingFieldType,c as normalizeFieldName,se as numericTypes,T as packFields,Re as populateMissingFields,d as rendererFields,_e as sanitizeNullFieldValue,Oe as singleRange,Le as smallIntegerRange,x as unpackFieldNames,Ae as validateFieldValue,Ue as validationErrorToString,m as visualVariableFields};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport r from\"../../config.js\";import t from\"../../core/Logger.js\";async function o(o){const a=\"portalItem\"in o?o:{portalItem:o},{fromItem:e}=await import(\"../../portal/support/portalLayers.js\");try{return await e(a)}catch(p){const o=a?.portalItem,e=o?.id||\"unset\",l=o?.portal?.url||r.portalUrl;throw t.getLogger(\"esri.layers.support.fromPortalItem\").error(\"#fromPortalItem()\",\"Failed to create layer from portal item (portal: '\"+l+\"', id: '\"+e+\"')\",p),p}}export{o as fromPortalItem};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{replace as e}from\"../../core/string.js\";const n=\"__begin__\",r=\"__end__\",s=new RegExp(n,\"ig\"),t=new RegExp(r,\"ig\"),l=new RegExp(\"^\"+n,\"i\"),o=new RegExp(r+\"$\",\"i\"),i='\"',a=i+\" + \",c=\" + \"+i;function p(e){return e.replaceAll(new RegExp(\"\\\\[\",\"g\"),\"{\").replaceAll(new RegExp(\"\\\\]\",\"g\"),\"}\")}function u(e){return e.replaceAll(new RegExp(\"\\\\{\",\"g\"),\"[\").replaceAll(new RegExp(\"\\\\}\",\"g\"),\"]\")}function x(e){const n={expression:\"\",type:\"none\"};return e.labelExpressionInfo?e.labelExpressionInfo.value?(n.expression=e.labelExpressionInfo.value,n.type=\"conventional\"):e.labelExpressionInfo.expression&&(n.expression=e.labelExpressionInfo.expression,n.type=\"arcade\"):null!=e.labelExpression&&(n.expression=p(e.labelExpression),n.type=\"conventional\"),n}function f(e){const n=x(e);if(!n)return null;switch(n.type){case\"conventional\":return E(n.expression);case\"arcade\":return n.expression}return null}function g(e){const n=x(e);if(!n)return null;switch(n.type){case\"conventional\":return $(n.expression);case\"arcade\":return _(n.expression)}return null}function E(p){let u;return p?(u=e(p,(e=>n+'$feature[\"'+e+'\"]'+r)),u=l.test(u)?u.replace(l,\"\"):i+u,u=o.test(u)?u.replace(o,\"\"):u+i,u=u.replaceAll(s,a).replaceAll(t,c)):u='\"\"',u}const w=/^\\s*\\{([^}]+)\\}\\s*$/i;function $(e){const n=e?.match(w);return n?.[1].trim()||null}const b=/^\\s*(?:(?:\\$feature\\.(\\w+))|(?:\\$feature\\[([\"'])(.+)(\\2)\\]));?\\s*$/i,m=/^\\s*(?:(?:\\$feature\\.(\\w+))|(?:\\$feature\\[([\"'])(.+)(\\2)\\]));?\\s*(?:DomainName\\(\\s*\\$feature\\s*,\\s*([\"'])(\\1|\\3)(\\5)\\s*\\));?\\s*$/i,R=/^\\s*(?:DomainName\\(\\s*\\$feature\\s*,\\s*([\"'])(.+)(\\1)\\s*\\));?\\s*$/i;function _(e){if(!e)return null;let n=b.exec(e)||m.exec(e);return n?n[1]||n[3]:(n=R.exec(e),n?n[2]:null)}export{E as convertTemplatedStringToArcade,x as getLabelExpression,f as getLabelExpressionArcade,g as getLabelExpressionSingleField,_ as getSingleFieldArcadeExpression,$ as getSingleFieldTemplatedString,p as sqlToTemplateString,u as templateStringToSql};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport e from\"../../core/Error.js\";import o from\"../../core/Logger.js\";import r from\"./LabelClass.js\";const t=()=>o.getLogger(\"esri.layers.support.labelingInfo\"),l=/\\[([^[\\]]+)\\]/gi;function n(e,o,t){return e?e.map((e=>{const n=new r;if(n.read(e,t),n.labelExpression){const e=o.fields||o.layerDefinition?.fields||this.fields;n.labelExpression=n.labelExpression.replaceAll(l,((o,r)=>`[${s(r,e)}]`))}return n})):null}function s(e,o){if(!o)return e;const r=e.toLowerCase();for(let t=0;t{n.push([i,e]),!r&&t.test(e)&&(r=!0)})),n.length>0)){let e;if(r){const t={};n.forEach((e=>{t[e[0]]=e[1]})),e=JSON.stringify(t)}else{const t=[];n.forEach((e=>{t.push(e[0]+\":\"+e[1])})),e=t.join(\";\")}return e}return null}function C(e){if(!e)return;const t=[];return e.forEach(((e,n)=>{t.push('\"'+n+'\":'+JSON.stringify(e))})),t.length?\"{\"+t.join(\",\")+\"}\":void 0}function M(e){if(e.activeLayer){const t=e.activeLayer.tileMatrixSet;if(t)return t;const n=e.activeLayer.tileMatrixSets;if(n)return n}return null}async function x(n,r){const i=e?.findServerInfo(n);if(null!=i?.currentVersion)return i.owningSystemUrl||null;const u=n.toLowerCase().indexOf(\"/rest/services\");if(-1===u)return null;const s=`${n.slice(0,u)}/rest/info`,a=null!=r?r.signal:null,{data:o}=await t(s,{query:{f:\"json\"},responseType:\"json\",signal:a});return o?.owningSystemUrl||null}function I(e){if(!(\"capabilities\"in e))return!1;switch(e.type){case\"catalog\":case\"catalog-footprint\":case\"csv\":case\"feature\":case\"geojson\":case\"imagery\":case\"knowledge-graph-sublayer\":case\"ogc-feature\":case\"oriented-imagery\":case\"scene\":case\"sublayer\":case\"subtype-group\":case\"subtype-sublayer\":case\"wfs\":return!0;default:return!1}}function k(e){return null!=e&&\"object\"==typeof e&&\"isTable\"in e&&!!e.isTable}function O(e){return I(e)?\"effectiveCapabilities\"in e?e.effectiveCapabilities:e.capabilities:null}function T(e){if(!(\"editingEnabled\"in e))return!1;switch(e.type){case\"csv\":case\"feature\":case\"geojson\":case\"oriented-imagery\":case\"scene\":case\"subtype-group\":case\"subtype-sublayer\":return!0;default:return!1}}function B(e){return!!T(e)&&(\"effectiveEditingEnabled\"in e?e.effectiveEditingEnabled:e.editingEnabled)}function P(e){if(!e)return[];return(\"subtypes\"in e?e.subtypes:c(e.parent)?e.parent.subtypes:[])??[]}export{B as getEffectiveEditingEnabled,O as getEffectiveLayerCapabilities,x as getOwningPortalUrl,P as getSubtypesFromLayer,M as getTileMaxtrixSetFromActiveLayer,j as isBaseLayer,n as isBasemap3DSupportedLayer,f as isBasemapSupportedTiledLayer,w as isFeatureCollectionLayer,r as isFeatureLayer,E as isFeatureServiceLayer,i as isGraphicsLayer,p as isGroupLayer,v as isImageryTileLayer,m as isIntegratedMeshLayer,d as isIntegratedMeshOperationalLayer,s as isKnowledgeGraphLayer,L as isLayerWithFeatureLayerSource,a as isLinkChartLayer,u as isMapNotesLayer,o as isSceneLayer,b as isSceneServiceLayer,c as isSubtypeGroupLayer,l as isSubtypeSublayer,k as isTable,y as isTiledLayer,h as isVoxelLayer,g as sceneServiceLayerTypeToClassName,S as serializeLayerDefinitions,C as serializeTimeOptions};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport has from\"../../core/has.js\";import{parse as t,isHostedAgolService as s}from\"./arcgisLayerUrl.js\";import{readBoolean as e,readNumber as r}from\"../../rest/support/jsonUtils.js\";const p={name:\"supportsName\",size:\"supportsSize\",contentType:\"supportsContentType\",keywords:\"supportsKeywords\",exifInfo:\"supportsExifInfo\"};function o(t){const s=t?.supportedSpatialAggregationStatistics?.map((t=>t.toLowerCase()));return{envelope:!!s?.includes(\"envelopeaggregate\"),centroid:!!s?.includes(\"centroidaggregate\"),convexHull:!!s?.includes(\"convexhullaggregate\")}}function u(t,s){const e=t?.supportedOperationsWithCacheHint?.map((t=>t.toLowerCase()));return!!e?.includes(s.toLowerCase())}function n(t){const s=t?.supportedStatisticTypes?.map((t=>t.toLowerCase()));return{count:!!s?.includes(\"count\"),sum:!!s?.includes(\"sum\"),min:!!s?.includes(\"min\"),max:!!s?.includes(\"max\"),avg:!!s?.includes(\"avg\"),var:!!s?.includes(\"var\"),stddev:!!s?.includes(\"stddev\"),percentileContinuous:!!s?.includes(\"percentile_continuous\"),percentileDiscrete:!!s?.includes(\"percentile_discrete\"),envelope:!!s?.includes(\"envelopeaggregate\"),centroid:!!s?.includes(\"centroidaggregate\"),convexHull:!!s?.includes(\"convexhullaggregate\")}}function i(t,s){return{analytics:a(t),attachment:c(t),data:d(t),metadata:l(t),operations:y(t.capabilities,t,s),query:m(t,s),queryBins:C(t),queryRelated:g(t),queryTopFeatures:h(t),editing:v(t)}}function a(t){return{supportsCacheHint:u(t.advancedQueryCapabilities,\"queryAnalytics\")}}function c(t){const s=t.attachmentProperties,r={supportsName:!1,supportsSize:!1,supportsContentType:!1,supportsKeywords:!1,supportsExifInfo:!1,supportsCacheHint:u(t.advancedQueryCapabilities,\"queryAttachments\"),supportsResize:e(t,\"supportsAttachmentsResizing\",!1)};return s&&Array.isArray(s)&&s.forEach((t=>{const s=p[t.name];s&&(r[s]=!!t.isEnabled)})),r}function d(t){return{isVersioned:e(t,\"isDataVersioned\",!1),isBranchVersioned:e(t,\"isDataBranchVersioned\",!1),supportsAttachment:e(t,\"hasAttachments\",!1),supportsM:e(t,\"hasM\",!1),supportsZ:e(t,\"hasZ\",!1)}}function l(t){return{supportsAdvancedFieldProperties:e(t,\"supportsFieldDescriptionProperty\",!1)}}function y(s,r,p){const o=s?s.toLowerCase().split(\",\").map((t=>t.trim())):[],u=p?t(p):null,n=o.includes(null!=u&&\"MapServer\"===u.serverType?\"data\":\"query\"),i=o.includes(\"editing\")&&!r.datesInUnknownTimezone;let a=i&&o.includes(\"create\"),c=i&&o.includes(\"delete\"),d=i&&o.includes(\"update\");const l=o.includes(\"changetracking\"),y=r.advancedQueryCapabilities;return i&&!(a||c||d)&&(a=c=d=!0),{supportsCalculate:e(r,\"supportsCalculate\",!1),supportsTruncate:e(r,\"supportsTruncate\",!1),supportsValidateSql:e(r,\"supportsValidateSql\",!1),supportsAdd:a,supportsDelete:c,supportsEditing:i,supportsChangeTracking:l,supportsQuery:n,supportsQueryAnalytics:e(y,\"supportsQueryAnalytic\",!1),supportsQueryAttachments:e(y,\"supportsQueryAttachments\",!1),supportsQueryBins:e(y,\"supportsQueryBins\",!1),supportsQueryTopFeatures:e(y,\"supportsTopFeaturesQuery\",!1),supportsResizeAttachments:e(r,\"supportsAttachmentsResizing\",!1),supportsSync:o.includes(\"sync\"),supportsUpdate:d,supportsExceedsLimitStatistics:e(r,\"supportsExceedsLimitStatistics\",!1),supportsAsyncConvert3D:e(r,\"supportsAsyncConvert3D\",!1)}}function m(t,p){const n=t.advancedQueryCapabilities,i=t.ownershipBasedAccessControlForFeatures,a=t.archivingInfo,c=t.currentVersion,d=p?.includes(\"MapServer\"),l=!d||c>=has(\"mapserver-pbf-version-support\"),y=s(p),m=new Set((t.supportedQueryFormats??\"\").split(\",\").map((t=>t.toLowerCase().trim())));return{maxRecordCount:r(t,\"maxRecordCount\",void 0),maxRecordCountFactor:r(t,\"maxRecordCountFactor\",void 0),standardMaxRecordCount:r(t,\"standardMaxRecordCount\",void 0),supportedSpatialAggregationStatistics:o(n),supportsCacheHint:e(n,\"supportsQueryWithCacheHint\",!1)||u(n,\"query\"),supportsCentroid:e(n,\"supportsReturningGeometryCentroid\",!1),supportsCompactGeometry:y,supportsDefaultSpatialReference:e(n,\"supportsDefaultSR\",!1),supportsDisjointSpatialRelationship:e(n,\"supportsDisjointSpatialRel\",!1),supportsDistance:e(n,\"supportsQueryWithDistance\",!1),supportsDistinct:e(n,\"supportsDistinct\",t.supportsAdvancedQueries),supportsExtent:e(n,\"supportsReturningQueryExtent\",!1),supportsFormatPBF:l&&m.has(\"pbf\"),supportsFullTextSearch:e(n,\"supportsFullTextSearch\",!1),supportsGeometryProperties:e(n,\"supportsReturningGeometryProperties\",!1),supportsHavingClause:e(n,\"supportsHavingClause\",!1),supportsHistoricMoment:e(a,\"supportsQueryWithHistoricMoment\",!1),supportsMaxRecordCountFactor:e(n,\"supportsMaxRecordCountFactor\",!1),supportsOrderBy:e(n,\"supportsOrderBy\",t.supportsAdvancedQueries),supportsPagination:e(n,\"supportsPagination\",!1),supportsPercentileStatistics:e(n,\"supportsPercentileStatistics\",!1),supportsQuantization:e(t,\"supportsCoordinatesQuantization\",!1),supportsQuantizationEditMode:e(t,\"supportsQuantizationEditMode\",!1),supportsQueryByAnonymous:e(i,\"allowAnonymousToQuery\",!0),supportsQueryByOthers:e(i,\"allowOthersToQuery\",!0),supportsQueryGeometry:e(t,\"supportsReturningQueryGeometry\",!1),supportsResultType:e(n,\"supportsQueryWithResultType\",!1),supportsSpatialAggregationStatistics:e(n,\"supportsSpatialAggregationStatistics\",!1),supportsSqlExpression:e(n,\"supportsSqlExpression\",!1),supportsStandardizedQueriesOnly:e(t,\"useStandardizedQueries\",!1),supportsStatistics:e(n,\"supportsStatistics\",t.supportsStatistics),supportsTopFeaturesQuery:e(n,\"supportsTopFeaturesQuery\",!1),tileMaxRecordCount:r(t,\"tileMaxRecordCount\",void 0)}}function g(t){const s=t.advancedQueryCapabilities,r=e(s,\"supportsAdvancedQueryRelated\",!1);return{supportsPagination:e(s,\"supportsQueryRelatedPagination\",!1),supportsCount:r,supportsOrderBy:r,supportsCacheHint:u(s,\"queryRelated\")}}function h(t){return{supportsCacheHint:u(t.advancedQueryCapabilities,\"queryTopFilter\")}}function C(t){const s=t?t.queryBinsCapabilities:void 0;return{supportsDate:e(s,\"supportsDateBin\",!1),supportsFixedInterval:e(s,\"supportsFixedIntervalBin\",!1),supportsAutoInterval:e(s,\"supportsAutoIntervalBin\",!1),supportsFixedBoundaries:e(s,\"supportsFixedBoundariesBin\",!1),supportedStatistics:n(s)}}function v(t){const s=t.ownershipBasedAccessControlForFeatures,p=t?t.advancedEditingCapabilities:void 0;return{supportsGeometryUpdate:e(t,\"allowGeometryUpdates\",!0),supportsGlobalId:e(t,\"supportsApplyEditsWithGlobalIds\",!1),supportsReturnServiceEditsInSourceSpatialReference:e(t,\"supportsReturnServiceEditsInSourceSR\",!1),supportsRollbackOnFailure:e(t,\"supportsRollbackOnFailureParameter\",!1),supportsUpdateWithoutM:e(t,\"allowUpdateWithoutMValues\",!1),supportsUploadWithItemId:e(t,\"supportsAttachmentsByUploadId\",!1),supportsDeleteByAnonymous:e(s,\"allowAnonymousToDelete\",!0),supportsDeleteByOthers:e(s,\"allowOthersToDelete\",!0),supportsUpdateByAnonymous:e(s,\"allowAnonymousToUpdate\",!0),supportsUpdateByOthers:e(s,\"allowOthersToUpdate\",!0),supportsAsyncApplyEdits:e(p,\"supportsAsyncApplyEdits\",!1),zDefault:r(t,\"zDefault\",void 0)}}function A(t){return{operations:{supportsAppend:e(t,\"supportsAppend\",!1),supportsCoverageQuery:t?.playbackInfo?.klv[\"0601\"]??!1,supportsExportClip:e(t,\"supportsExportClip\",!1),supportsExportFrameset:e(t,\"supportsExportFrameset\",!1),supportsMensuration:e(t,\"supportsMensuration\",!1),supportsUpdate:e(t,\"supportsUpdate\",!1)}}}export{i as getFeatureLayerCapabilities,A as getVideoLayerCapabilities};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{_ as e}from\"../../../chunks/tslib.es6.js\";import{strict as r}from\"../../../core/jsonMap.js\";import{JSONSupport as o}from\"../../../core/JSONSupport.js\";import{property as t}from\"../../../core/accessorSupport/decorators/property.js\";import{cast as a}from\"../../../core/accessorSupport/decorators/cast.js\";import{enumeration as s}from\"../../../core/accessorSupport/decorators/enumeration.js\";import{reader as p}from\"../../../core/accessorSupport/decorators/reader.js\";import{subclass as l}from\"../../../core/accessorSupport/decorators/subclass.js\";import{ensureType as c,ensureOneOfType as i}from\"../../../core/accessorSupport/ensureType.js\";import{createTypeReader as u}from\"../../../core/accessorSupport/extensions/serializableProperty/reader.js\";import n from\"../Field.js\";import{MapLayerSource as y}from\"./MapLayerSource.js\";import{QueryTableDataSource as b}from\"./QueryTableDataSource.js\";import{RasterDataSource as S}from\"./RasterDataSource.js\";import{TableDataSource as f}from\"./TableDataSource.js\";var d,m;const T=r()({esriLeftInnerJoin:\"left-inner-join\",esriLeftOuterJoin:\"left-outer-join\"});let j=d=class extends o{constructor(e){super(e),this.type=\"join-table\"}readLeftTableSource(e,r,o){return g()(e,r,o)}castLeftTableSource(e){return i(L(),e)}readRightTableSource(e,r,o){return g()(e,r,o)}castRightTableSource(e){return i(L(),e)}clone(){const{leftTableKey:e,rightTableKey:r,leftTableSource:o,rightTableSource:t,joinType:a}=this,s={leftTableKey:e,rightTableKey:r,leftTableSource:o?.clone()??void 0,rightTableSource:t?.clone()??void 0,joinType:a};return new d(s)}};e([s({joinTable:\"join-table\"})],j.prototype,\"type\",void 0),e([t({type:String,json:{write:!0}})],j.prototype,\"leftTableKey\",void 0),e([t({type:String,json:{write:!0}})],j.prototype,\"rightTableKey\",void 0),e([t({json:{write:!0}})],j.prototype,\"leftTableSource\",void 0),e([p(\"leftTableSource\")],j.prototype,\"readLeftTableSource\",null),e([a(\"leftTableSource\")],j.prototype,\"castLeftTableSource\",null),e([t({json:{write:!0}})],j.prototype,\"rightTableSource\",void 0),e([p(\"rightTableSource\")],j.prototype,\"readRightTableSource\",null),e([a(\"rightTableSource\")],j.prototype,\"castRightTableSource\",null),e([s(T)],j.prototype,\"joinType\",void 0),j=d=e([l(\"esri.layers.support.source.JoinTableDataSource\")],j);let h=null;function g(){return h||(h=u({types:L()})),h}let v=null;function L(){return v||(v={key:\"type\",base:null,typeMap:{\"data-layer\":K,\"map-layer\":y}}),v}const w={key:\"type\",base:null,typeMap:{\"join-table\":j,\"query-table\":b,raster:S,table:f}};let K=m=class extends o{constructor(e){super(e),this.type=\"data-layer\"}clone(){const{fields:e,dataSource:r}=this;return new m({fields:e,dataSource:r})}};e([s({dataLayer:\"data-layer\"})],K.prototype,\"type\",void 0),e([t({type:[n],json:{write:!0}})],K.prototype,\"fields\",void 0),e([t({types:w,json:{write:!0}})],K.prototype,\"dataSource\",void 0),K=m=e([l(\"esri.layers.support.source.DataLayerSource\")],K),K.from=c(K);export{K as DataLayerSource,j as JoinTableDataSource};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{_ as r}from\"../../../chunks/tslib.es6.js\";import{JSONSupport as o}from\"../../../core/JSONSupport.js\";import{property as e}from\"../../../core/accessorSupport/decorators/property.js\";import{Integer as s}from\"../../../core/accessorSupport/ensureType.js\";import\"../../../core/RandomLCG.js\";import\"../../../core/has.js\";import{enumeration as p}from\"../../../core/accessorSupport/decorators/enumeration.js\";import{subclass as t}from\"../../../core/accessorSupport/decorators/subclass.js\";var a;let c=a=class extends o{constructor(r){super(r),this.type=\"map-layer\"}clone(){const{mapLayerId:r,gdbVersion:o}=this;return new a({mapLayerId:r,gdbVersion:o})}};r([p({mapLayer:\"map-layer\"})],c.prototype,\"type\",void 0),r([e({type:s,json:{write:!0}})],c.prototype,\"mapLayerId\",void 0),r([e({type:String,json:{write:!0}})],c.prototype,\"gdbVersion\",void 0),c=a=r([t(\"esri.layers.support.source.MapLayerSource\")],c);export{c as MapLayerSource};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{_ as e}from\"../../../chunks/tslib.es6.js\";import\"../../../geometry.js\";import{JSONSupport as r}from\"../../../core/JSONSupport.js\";import{property as o}from\"../../../core/accessorSupport/decorators/property.js\";import\"../../../core/has.js\";import\"../../../core/Logger.js\";import\"../../../core/RandomLCG.js\";import{enumeration as t}from\"../../../core/accessorSupport/decorators/enumeration.js\";import{subclass as p}from\"../../../core/accessorSupport/decorators/subclass.js\";import s from\"../../../geometry/SpatialReference.js\";import{featureGeometryTypeKebabDictionary as i}from\"../../../geometry/support/typeUtils.js\";var c;let a=c=class extends r{constructor(e){super(e),this.type=\"query-table\"}clone(){const{workspaceId:e,query:r,oidFields:o,spatialReference:t,geometryType:p}=this,s={workspaceId:e,query:r,oidFields:o,spatialReference:t?.clone()??void 0,geometryType:p};return new c(s)}};e([t({queryTable:\"query-table\"})],a.prototype,\"type\",void 0),e([o({type:String,json:{write:!0}})],a.prototype,\"workspaceId\",void 0),e([o({type:String,json:{write:!0}})],a.prototype,\"query\",void 0),e([o({type:String,json:{write:!0}})],a.prototype,\"oidFields\",void 0),e([o({type:s,json:{write:!0}})],a.prototype,\"spatialReference\",void 0),e([t(i)],a.prototype,\"geometryType\",void 0),a=c=e([p(\"esri.layers.support.source.QueryTableDataSource\")],a);export{a as QueryTableDataSource};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{_ as r}from\"../../../chunks/tslib.es6.js\";import{JSONSupport as o}from\"../../../core/JSONSupport.js\";import{property as e}from\"../../../core/accessorSupport/decorators/property.js\";import\"../../../core/has.js\";import\"../../../core/Logger.js\";import\"../../../core/RandomLCG.js\";import{enumeration as t}from\"../../../core/accessorSupport/decorators/enumeration.js\";import{subclass as s}from\"../../../core/accessorSupport/decorators/subclass.js\";var p;let a=p=class extends o{constructor(r){super(r),this.type=\"raster\"}clone(){const{workspaceId:r,dataSourceName:o}=this;return new p({workspaceId:r,dataSourceName:o})}};r([t({raster:\"raster\"})],a.prototype,\"type\",void 0),r([e({type:String,json:{write:!0}})],a.prototype,\"dataSourceName\",void 0),r([e({type:String,json:{write:!0}})],a.prototype,\"workspaceId\",void 0),a=p=r([s(\"esri.layers.support.source.RasterDataSource\")],a);export{a as RasterDataSource};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{_ as o}from\"../../../chunks/tslib.es6.js\";import{JSONSupport as r}from\"../../../core/JSONSupport.js\";import{property as e}from\"../../../core/accessorSupport/decorators/property.js\";import\"../../../core/has.js\";import\"../../../core/Logger.js\";import\"../../../core/RandomLCG.js\";import{enumeration as t}from\"../../../core/accessorSupport/decorators/enumeration.js\";import{subclass as s}from\"../../../core/accessorSupport/decorators/subclass.js\";var p;let a=p=class extends r{constructor(o){super(o),this.type=\"table\"}clone(){const{workspaceId:o,gdbVersion:r,dataSourceName:e}=this;return new p({workspaceId:o,gdbVersion:r,dataSourceName:e})}};o([t({table:\"table\"})],a.prototype,\"type\",void 0),o([e({type:String,json:{write:!0}})],a.prototype,\"workspaceId\",void 0),o([e({type:String,json:{write:!0}})],a.prototype,\"gdbVersion\",void 0),o([e({type:String,json:{write:!0}})],a.prototype,\"dataSourceName\",void 0),a=p=o([s(\"esri.layers.support.source.TableDataSource\")],a);export{a as TableDataSource};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{isHostedAgolService as d}from\"./arcgisLayerUrl.js\";const r=[];function t(t,e){if(d(t.url??\"\"))return!0;const{wkid:o}=e;for(const d of r){if((t.version??0)>=d[0])return!0;if(\"function\"==typeof d[1]&&(d[1]=d[1]()),d[1].has(o))return!1}return!0}r.push([10.91,()=>{const d=new Set([9709,9716,9741,9761,9766]);for(let r=9712;r<=9713;r++)d.add(r);for(let r=9748;r<=9749;r++)d.add(r);for(let r=20904;r<=20932;r++)d.add(r);for(let r=21004;r<=21032;r++)d.add(r);for(let r=21207;r<=21264;r++)d.add(r);for(let r=21307;r<=21364;r++)d.add(r);for(let r=23301;r<=23333;r++)d.add(r);for(let r=102759;r<=102760;r++)d.add(r);for(let r=102934;r<=102955;r++)d.add(r);return d}]),r.push([10.9,()=>{const d=new Set([9300,9354,9364,9367,9373,9377,9387,9456,9473,9498,9678,9680,29874,103599,103872,104028]);for(let r=9356;r<=9360;r++)d.add(r);for(let r=9404;r<=9407;r++)d.add(r);for(let r=9476;r<=9482;r++)d.add(r);for(let r=9487;r<=9494;r++)d.add(r);for(let r=9697;r<=9699;r++)d.add(r);return d}]),r.push([10.81,()=>{const d=new Set([9265,9333,103598,103699]);for(let r=9248;r<=9254;r++)d.add(r);for(let r=9271;r<=9273;r++)d.add(r);for(let r=9284;r<=9285;r++)d.add(r);for(let r=21453;r<=21463;r++)d.add(r);return d}]),r.push([10.8,()=>{const d=new Set([8088,8395,8428,8433,8531,8687,8692,8694,8699,8900,9003,9006,9009,9012,9017,9191]);for(let r=8035;r<=8036;r++)d.add(r);for(let r=8455;r<=8456;r++)d.add(r);for(let r=8518;r<=8529;r++)d.add(r);for(let r=8533;r<=8536;r++)d.add(r);for(let r=8538;r<=8540;r++)d.add(r);for(let r=8677;r<=8679;r++)d.add(r);for(let r=8902;r<=8903;r++)d.add(r);for(let r=8907;r<=8910;r++)d.add(r);for(let r=8949;r<=8951;r++)d.add(r);for(let r=8972;r<=8987;r++)d.add(r);for(let r=9039;r<=9040;r++)d.add(r);for(let r=9068;r<=9069;r++)d.add(r);for(let r=9140;r<=9141;r++)d.add(r);for(let r=9148;r<=9150;r++)d.add(r);for(let r=9153;r<=9159;r++)d.add(r);for(let r=9205;r<=9218;r++)d.add(r);for(let r=9221;r<=9222;r++)d.add(r);for(let r=54098;r<=54101;r++)d.add(r);return d}]),r.push([10.71,()=>{const d=new Set([6316]);for(let r=8351;r<=8353;r++)d.add(r);for(let r=9294;r<=9297;r++)d.add(r);for(let r=22619;r<=22621;r++)d.add(r);for(let r=103586;r<=103594;r++)d.add(r);return d}]);export{t as serviceSupportsSpatialReference};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nconst e={handleInterceptedEvent:(e,p,t,n)=>(e.scheduleRender(),p.properties[`on${n.type}`].apply(p.properties.bind||t,[n]))};export{e as defaultAdvancedProjectorOptions};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{dom as e}from\"../maquette/dom.js\";import\"../maquette/projector.js\";import{defaultAdvancedProjectorOptions as r}from\"./advanced-projector-options.js\";import{applyDefaultProjectionOptions as t}from\"./utils.js\";const o=(e,r)=>{const t=[];for(;e&&e!==r;)t.push(e),e=e.parentNode;return t},n=(e,r)=>e.find(r),d=(e,r,t=!1)=>{let o=e;return r.forEach(((e,d)=>{const s=o?.children?n(o.children,(r=>r.domNode===e)):void 0;t&&!s&&d!==r.length-1||(o=s)})),o},s=n=>{let s;const c={...r,...n},i=t(c),a=i.performanceLogger;let m,p=!0,l=!1;const f=[],u=[],h=(e,r,t)=>{let n;i.eventHandlerInterceptor=(e,r,t,i)=>function(e){let r;a(\"domEvent\",e);const t=o(e.currentTarget,n.domNode),i=t.some((e=>customElements.get(e?.tagName?.toLowerCase())));if(e.eventPhase===Event.CAPTURING_PHASE||!i)t.reverse(),r=d(n.getLastRender(),t);else{const t=e.composedPath(),o=t.slice(t.indexOf(e.currentTarget),t.indexOf(n.domNode)).reverse();r=d(n.getLastRender(),o,!0)}let m;return r&&(m=c.handleInterceptedEvent(s,r,this,e)),a(\"domEventProcessed\",e),m},c.postProcessProjectionOptions?.(i);const m=t();n=e(r,m,i),i.eventHandlerInterceptor=void 0,f.push(n),u.push(t),c.afterFirstVNodeRendered&&c.afterFirstVNodeRendered(n,m)};let v=()=>{if(m=void 0,p){p=!1,a(\"renderStart\",void 0);for(let r=0;r{m||l||(m=requestAnimationFrame(v))},stop:()=>{m&&(cancelAnimationFrame(m),m=void 0),l=!0},resume:()=>{l=!1,p=!0,s.scheduleRender()},append:(r,t)=>{h(e.append,r,t)},insertBefore:(r,t)=>{h(e.insertBefore,r,t)},merge:(r,t)=>{h(e.merge,r,t)},replace:(r,t)=>{h(e.replace,r,t)},detach:e=>{for(let r=0;r{},eventHandlerInterceptor:void 0,styleApplyer:(e,r,t)=>{\"-\"===r.charAt(0)?e.style.setProperty(r,t):e.style[r]=t}},r=r=>({...e,...r});export{r as applyDefaultProjectionOptions};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{extend as e,createDom as r,createProjection as o,initPropertiesAndChildren as t}from\"./projection.js\";const p={namespace:void 0,performanceLogger:()=>{},eventHandlerInterceptor:void 0,styleApplyer:(e,r,o)=>{\"-\"===r.charAt(0)?e.style.setProperty(r,o):e.style[r]=o}};let d=r=>e(p,r),n={create:(e,t)=>(t=d(t),r(e,document.createElement(\"div\"),void 0,t),o(e,t)),append:(e,t,p)=>(p=d(p),r(t,e,void 0,p),o(t,p)),insertBefore:(e,t,p)=>(p=d(p),r(t,e.parentNode,e,p),o(t,p)),merge:(e,r,p)=>(p=d(p),r.domNode=e,t(e,r,p),o(r,p)),replace:(e,t,p)=>(p=d(p),r(t,e.parentNode,e,p),e.parentNode.removeChild(e),o(t,p))};export{d as applyDefaultProjectionOptions,n as dom};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{renderingSanitizer as e}from\"../../widgets/support/widgetUtils.js\";const t=\"http://www.w3.org/\",r=`${t}2000/svg`,o=`${t}1999/xlink`;let i=[],n=(e,t)=>{let r={};return Object.keys(e).forEach((t=>{r[t]=e[t]})),t&&Object.keys(t).forEach((e=>{r[e]=t[e]})),r},s=(e,t)=>e.vnodeSelector===t.vnodeSelector&&(e.properties&&t.properties?e.properties.key===t.properties.key&&e.properties.bind===t.properties.bind:!e.properties&&!t.properties),l=e=>{if(\"string\"!=typeof e)throw new Error(\"Style values must be strings\")},p=(e,t,r)=>{if(\"\"!==t.vnodeSelector)for(let o=r;o{let i=e[t];if(\"\"===i.vnodeSelector)return;let n=i.properties;if(!(n?void 0===n.key?n.bind:n.key:void 0))for(let l=0;l{if(e.properties){let t=e.properties.enterAnimation;t&&t(e.domNode,e.properties)}},f=[],c=!1,u=e=>{(e.children||[]).forEach(u),e.properties&&e.properties.afterRemoved&&e.properties.afterRemoved.apply(e.properties.bind||e.properties,[e.domNode])},m=()=>{c=!1,f.forEach(u),f.length=0},h=e=>{f.push(e),c||(c=!0,\"undefined\"!=typeof window&&\"requestIdleCallback\"in window?window.requestIdleCallback(m,{timeout:16}):setTimeout(m,16))},v=e=>{let t=e.domNode;if(e.properties){let r=e.properties.exitAnimation;if(r){t.style.pointerEvents=\"none\";let o=()=>{t.parentNode&&(t.parentNode.removeChild(t),h(e))};return void r(t,o,e.properties)}}t.parentNode&&(t.parentNode.removeChild(t),h(e))},y=(t,i,n)=>{if(!i)return;let s=n.eventHandlerInterceptor,p=Object.keys(i),d=p.length;for(let a=0;a{if(t)for(let o of t)x(o,e,void 0,r)},w=(e,t,r)=>{b(e,t.children,r),t.text&&(e.textContent=t.text),y(e,t.properties,r),t.properties&&t.properties.afterCreate&&t.properties.afterCreate.apply(t.properties.bind||t.properties,[e,r,t.vnodeSelector,t.properties,t.children])},x=(e,t,o,i)=>{let s,l=0,p=e.vnodeSelector,d=t.ownerDocument;if(\"\"===p)s=e.domNode=d.createTextNode(e.text),void 0!==o?t.insertBefore(s,o):t.appendChild(s);else{for(let a=0;a<=p.length;++a){let f=p.charAt(a);if(a===p.length||\".\"===f||\"#\"===f){let f=p.charAt(l-1),c=p.slice(l,a);\".\"===f?s.classList.add(c):\"#\"===f?s.id=c:(\"svg\"===c&&(i=n(i,{namespace:r})),void 0!==i.namespace?s=e.domNode=d.createElementNS(i.namespace,c):(s=e.domNode=e.domNode||d.createElement(c),\"input\"===c&&e.properties&&void 0!==e.properties.type&&s.setAttribute(\"type\",e.properties.type)),void 0!==o?t.insertBefore(s,o):s.parentNode!==t&&t.appendChild(s)),l=a+1}}w(s,e,i)}},k=(e,t,r)=>{t&&t.split(\" \").forEach((t=>{t&&e.classList.toggle(t,r)}))},A=(t,i,n,s)=>{if(!n)return;let p=!1,d=Object.keys(n),a=d.length;for(let f=0;f{if(r===o)return!1;o=o||i;let l,f=(r=r||i).length,c=o.length,u=0,m=0,h=!1;for(;m=0){for(l=u;lu)for(l=u;l{let i=e.domNode,s=!1;if(e===t)return!1;let l=!1;if(\"\"===t.vnodeSelector){if(t.text!==e.text){let e=i.ownerDocument.createTextNode(t.text);return i.parentNode.replaceChild(e,i),t.domNode=e,s=!0,s}t.domNode=i}else 0===t.vnodeSelector.lastIndexOf(\"svg\",0)&&(o=n(o,{namespace:r})),e.text!==t.text&&(l=!0,void 0===t.text?i.removeChild(i.firstChild):i.textContent=t.text),t.domNode=i,l=S(t,i,e.children,t.children,o)||l,l=A(i,e.properties,t.properties,o)||l,t.properties&&t.properties.afterUpdate&&t.properties.afterUpdate.apply(t.properties.bind||t.properties,[i,o,t.vnodeSelector,t.properties,t.children]);return l&&t.properties&&t.properties.updateAnimation&&t.properties.updateAnimation(i,t.properties,e.properties),s};let C=(e,t)=>({getLastRender:()=>e,update:r=>{if(e.vnodeSelector!==r.vnodeSelector)throw new Error(\"The selector for the root VNode may not be changed. (consider using dom.merge and add one extra level to the virtual DOM)\");let o=e;e=r,N(o,r,t)},domNode:e.domNode});export{x as createDom,C as createProjection,n as extend,w as initPropertiesAndChildren};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{applyDefaultProjectionOptions as e,dom as r}from\"./dom.js\";let t,n=(e,r)=>{let t=[];for(;e&&e!==r;)t.push(e),e=e.parentNode;return t};t=Array.prototype.find?(e,r)=>e.find(r):(e,r)=>e.filter(r)[0];let o=(e,r)=>{let n=e;return r.forEach((e=>{n=n&&n.children?t(n.children,(r=>r.domNode===e)):void 0})),n},d=(e,r,t)=>{let d=function(d){t(\"domEvent\",d);let i=r(),p=n(d.currentTarget,i.domNode);p.reverse();let l,a=o(i.getLastRender(),p);return e.scheduleRender(),a&&(l=a.properties[`on${d.type}`].apply(a.properties.bind||this,arguments)),t(\"domEventProcessed\",d),l};return(e,r,t,n)=>d},i=t=>{let n,o,i=e(t),p=i.performanceLogger,l=!0,a=!1,s=[],c=[],u=(e,r,t)=>{let o,l=()=>o;i.eventHandlerInterceptor=d(n,l,p),o=e(r,t(),i),s.push(o),c.push(t)},f=()=>{if(o=void 0,l){l=!1,p(\"renderStart\",void 0);for(let e=0;e{o||a||(o=requestAnimationFrame(f))},stop:()=>{o&&(cancelAnimationFrame(o),o=void 0),a=!0},resume:()=>{a=!1,l=!0,n.scheduleRender()},append:(e,t)=>{u(r.append,e,t)},insertBefore:(e,t)=>{u(r.insertBefore,e,t)},merge:(e,t)=>{u(r.merge,e,t)},replace:(e,t)=>{u(r.replace,e,t)},detach:e=>{for(let r=0;r{const{serviceUrl:t,gdbVersion:r,result:o}=e,s=t===this.featureServiceUrl,i=m(t,r,this.gdbVersion);s&&i&&o.then((e=>{S(t,r)&&(this.historicMoment=e.historicMoment)}))},this._updateMomentHandler=e=>{const{serviceUrl:t,gdbVersion:r,moment:o}=e,s=t===this.featureServiceUrl,i=m(t,r,this.gdbVersion);s&&i&&(this.historicMoment=o)},this.when().then((()=>{this.addHandles([y(this._applyEditsHandler),h(this._updateMomentHandler)])}),(()=>{}))}initialize(){this.when().catch((e=>{n(e)||i.getLogger(this).error(\"#load()\",`Failed to load layer (title: '${this.title??\"no title\"}', id: '${this.id??\"no id\"}')`,{error:e})}))}get datasetName(){return this.dataElement?.name??null}get owner(){return this.dataElement?.userIdentity??null}get schemaGeneration(){return this.dataElement?.schemaGeneration??null}get parsedUrl(){return l(this.layerUrl)}get featureServiceUrl(){return g(this.parsedUrl.path).url.path}get networkServiceUrl(){return this.featureServiceUrl.replace(/\\/FeatureServer/i,\"/UtilityNetworkServer\")}get layerId(){return g(this.parsedUrl.path).sublayer}get networkSystemLayers(){return null}async load(e){return this.addResolvingPromise(this._fetchDataElement(this.featureServiceUrl,this.layerId.toString(),e)),this.addResolvingPromise(this._fetchLayerMetaData(this.layerUrl,e)),this}getLayerIdBySourceId(e){if(!this.dataElement)return null;const t=this._layerIdBySourceId.get(e);if(null!=t)return t;const r=this.dataElement.domainNetworks,o=this._traverseNetworkSources(r,this._layerIdBySourceId,\"sourceId\",\"layerId\",e);return o>=0?o:null}getSourceIdByLayerId(e){if(!this.dataElement)return null;const t=this._sourceIdByLayerId.get(e);if(null!=t)return t;const r=this.dataElement.domainNetworks,o=this._traverseNetworkSources(r,this._sourceIdByLayerId,\"layerId\",\"sourceId\",e);return o>=0?o:null}getObjectIdsFromElements(e){const t=[],r=new Map;for(const s of e){const e=this.getLayerIdBySourceId(s.networkSourceId);if(null==e)continue;let t=r.get(e);void 0===t&&(t=[]),t.push(s.objectId),r.set(e,t)}const o=this.featureServiceUrl;return r.forEach(((e,r)=>t.push({layerUrl:`${o}/${r}`,objectIds:e}))),t}async queryNamedTraceConfigurations(e,t){const[{queryNamedTraceConfigurations:r},{default:o}]=await Promise.all([import(\"../rest/networks/queryNamedTraceConfigurations.js\"),import(\"../rest/networks/support/QueryNamedTraceConfigurationsParameters.js\")]),s=this.networkServiceUrl,i=o.from(e);return(await r(s,i,{...t}))?.namedTraceConfigurations}async validateTopology(e,t){if(!e.validateArea)throw new o(\"network:undefined-validateArea\",\"the network must have validateArea defined in the validate network topology parameters.\");const[{validateNetworkTopology:r},{default:s}]=await Promise.all([import(\"../rest/networks/validateNetworkTopology.js\"),import(\"../rest/networks/support/ValidateNetworkTopologyParameters.js\")]),i=s.from(e);S(this.featureServiceUrl,this.gdbVersion||null)?(i.sessionID=j,await b(this.featureServiceUrl,this.gdbVersion,!0)):i.sessionID=null,i.gdbVersion=this.gdbVersion;const a=this.networkServiceUrl,n=this.featureServiceUrl,l=f(n,null,this.gdbVersion,!0),d=await r(a,i,{...t});if(d?.serviceEdits){const e=[];for(const t of d.serviceEdits){const{editedFeatures:r}=t,o=r?.spatialReference?new I(r.spatialReference):null;e.push({layerId:t.layerId,editedFeatures:{adds:r?.adds?.map((e=>k(e,o)))||[],updates:r?.updates?.map((e=>({original:k(e[0],o),current:k(e[1],o)})))||[],deletes:r?.deletes?.map((e=>k(e,o)))||[],spatialReference:o}})}l.resolve({edits:null,addedFeatures:[],updatedFeatures:[],deletedFeatures:[],addedAttachments:[],updatedAttachments:[],deletedAttachments:[],editedFeatures:e,exceededTransferLimit:!1,historicMoment:d.moment})}return d}async submitTopologyValidationJob(e,t){let s=null;if(!e.validateArea)throw new o(\"network:undefined-validateArea\",\"the network must have validateArea defined in the validate network topology parameters.\");if(!this.gdbVersion){const e=this.layerUrl.replace(/\\/FeatureServer/i,\"/VersionManagementServer\").replace(/\\/\\d*$/,\"\");s=(await r(e,{responseType:\"json\",query:{f:\"json\"}})).data.defaultVersionName}const[{submitValidateNetworkTopologyJob:i},{default:a}]=await Promise.all([import(\"../rest/networks/validateNetworkTopology.js\"),import(\"../rest/networks/support/ValidateNetworkTopologyParameters.js\")]),n=a.from(e);S(this.featureServiceUrl,this.gdbVersion||null)?(n.sessionID=j,await b(this.featureServiceUrl,this.gdbVersion,!0)):n.sessionID=null,n.gdbVersion=this.gdbVersion||s;const l=this.networkServiceUrl,d=this.featureServiceUrl?f(this.featureServiceUrl,null,this.gdbVersion,!0):void 0,u=await i(l,n,{...t});return new v({statusUrl:u,editsResolver:d})}_traverseNetworkSources(e,t,r,o,s){for(const i of e)for(const e of[i.edgeSources??[],i.junctionSources??[]])for(const i of e)if(i[r]===s)return t.set(s,i[o]),i[o];return-1}async _fetchLayerMetaData(e,t){const o=await r(e,{responseType:\"json\",query:{f:\"json\"},...t});this.sourceJSON=o.data,this.read(o.data,{origin:\"service\"})}async _fetchDataElement(e,t,o){if(this.dataElement)return;const s=await r(`${e}/queryDataElements`,{responseType:\"json\",query:{layers:JSON.stringify([t]),f:\"json\"},...o}).then((e=>e.data.layerDataElements?.[0]));s&&this.read(s,{origin:\"service\"})}};function k(e,r){return new t({attributes:e.attributes,geometry:c({...e.geometry,spatialReference:r})})}e([d({type:String,nonNullable:!0,json:{origins:{\"web-map\":{read:!0,write:{isRequired:!0}},service:{read:!0}},read:!1}})],U.prototype,\"id\",void 0),e([d({type:String,nonNullable:!0,json:{origins:{\"web-map\":{read:!0,write:{isRequired:!0}},service:{read:{source:\"name\"}}},read:!1}})],U.prototype,\"title\",void 0),e([d({type:String,nonNullable:!0,json:{origins:{\"web-map\":{read:{source:\"url\"},write:{target:\"url\",isRequired:!0}}},read:!1}})],U.prototype,\"layerUrl\",void 0),e([d({type:Object,json:{origins:{service:{read:!0}},read:!1}})],U.prototype,\"dataElement\",void 0),e([d({type:p,json:{origins:{service:{read:{source:\"extent\"}}},read:!1}})],U.prototype,\"fullExtent\",void 0),e([d({type:I,json:{origins:{service:{read:{source:\"extent.spatialReference\"}}},read:!1}})],U.prototype,\"spatialReference\",void 0),e([d({type:[\"utility\",\"trace\"],readOnly:!0,json:{read:!1,write:!1}})],U.prototype,\"type\",void 0),e([d({readOnly:!0})],U.prototype,\"datasetName\",null),e([d({readOnly:!0})],U.prototype,\"owner\",null),e([d({readOnly:!0})],U.prototype,\"schemaGeneration\",null),e([d({readOnly:!0})],U.prototype,\"parsedUrl\",null),e([d({readOnly:!0})],U.prototype,\"featureServiceUrl\",null),e([d({readOnly:!0})],U.prototype,\"networkServiceUrl\",null),e([d({readOnly:!0})],U.prototype,\"layerId\",null),e([d()],U.prototype,\"sourceJSON\",void 0),e([d({readOnly:!0})],U.prototype,\"networkSystemLayers\",null),e([d()],U.prototype,\"gdbVersion\",void 0),e([d({type:Date})],U.prototype,\"historicMoment\",void 0),U=e([u(\"esri.networks.Network\")],U);const N=U;export{N as default};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{_ as e}from\"../chunks/tslib.es6.js\";import t from\"../request.js\";import{JSONSupportMixin as o}from\"../core/JSONSupport.js\";import s from\"../core/Loadable.js\";import{property as r}from\"../core/accessorSupport/decorators/property.js\";import\"../core/has.js\";import\"../core/Logger.js\";import\"../core/RandomLCG.js\";import{subclass as i}from\"../core/accessorSupport/decorators/subclass.js\";import{RuleType as n}from\"./support/typeUtils.js\";let a=class extends(o(s)){constructor(e){super(e),this.rulesCategorized={attachment:[],containment:[],connectivity:[]},this.request=t}initialize(){}async load(e){const t=this.layer.load(e).then((()=>this._initializeRulesTable()));return this.addResolvingPromise(t),this}getFeatureSQL(e,t){const o=e.layerId.toString(),s=e.fieldsIndex?.normalizeFieldName(\"assetGroup\"),r=e.fieldsIndex?.normalizeFieldName(\"assetType\"),i=s?t.attributes[s]:null,n=r?t.attributes[r]:null,a=this.rulesHash[o];if(a){const e=a.assetGroupHash[i];if(e){return e.assetTypeHash[n]||null}}return null}async _initializeRulesTable(){const e={};let t;!function(e){e[e.from=0]=\"from\",e[e.to=1]=\"to\",e[e.via=2]=\"via\"}(t||(t={}));const o=[{networkSourceId:\"fromNetworkSource\",assetGroupId:\"fromAssetGroup\",assetTypeId:\"fromAssetType\"},{networkSourceId:\"toNetworkSource\",assetGroupId:\"toAssetGroup\",assetTypeId:\"toAssetType\"},{networkSourceId:\"viaNetworkSource\",assetGroupId:\"viaAssetGroup\",assetTypeId:\"viaAssetType\"}];this.rulesCategorized={attachment:[],containment:[],connectivity:[]};for(const s of this.rules){if(s.ruleType===n.RTAttachment){this.rulesCategorized.attachment.push(s);continue}if(s.ruleType===n.RTContainment){this.rulesCategorized.containment.push(s);continue}if(s.ruleType===n.RTJunctionJunctionConnectivity){this.rulesCategorized.connectivity.push(s);continue}this.rulesCategorized.connectivity.push(s);let r=[[t.from,t.to],[t.to,t.from]];s.ruleType===n.RTEdgeJunctionEdgeConnectivity&&(r=[[t.from,t.via],[t.via,t.from],[t.to,t.via],[t.via,t.to]]);for(const i of r){const r=i.shift(),a=i.shift();let c=!1;switch(s.ruleType){case n.RTEdgeJunctionEdgeConnectivity:c=r===t.from||r===t.to;break;case n.RTJunctionEdgeConnectivity:c=r===t.to}const u=o[r],p=s[u.networkSourceId]?.layerId.toString()??\"\",d=s[u.assetGroupId]?.assetGroupCode?.toString(),l=s[u.assetTypeId],y=l?.assetTypeCode?.toString(),m=o[a],h=s[m.networkSourceId]?.layerId.toString()??\"\",f=s[m.assetGroupId]?.assetGroupCode?.toString(),T=s[m.assetTypeId],g=T?.assetTypeCode?.toString(),v=e[p]??{assetGroupHash:{}};if(!(d&&y&&f&&g))continue;const I=v.assetGroupHash[d]??{assetTypeHash:{}},S=I.assetTypeHash[y]??{};if(S[h]=S[h]??{},c){S[p]=S[p]??{};const e=`(assetgroup = ${d} AND assettype = ${y})`;\"esriNECPEndVertex\"===T?.connectivityPolicy?S[p].endVertex=S[p]?.endVertex?`${S[p].endVertex}`:`${e}`:S[p].anyVertex=S[p].anyVertex?`${S[p].anyVertex}`:`${e}`}const C=`(assetgroup = ${f} AND assettype = ${g})`;\"esriNECPEndVertex\"===T?.connectivityPolicy?S[h].endVertex=S[h]?.endVertex?`${S[h].endVertex} OR ${C}`:`${C}`:S[h].anyVertex=S[h]?.anyVertex?`${S[h].anyVertex} OR ${C}`:`${C}`,I.assetTypeHash[y]=S,v.assetGroupHash[d]=I,e[p]=v}}this.rulesHash=e}};e([r({constructOnly:!0})],a.prototype,\"layer\",void 0),e([r({constructOnly:!0})],a.prototype,\"rules\",void 0),e([r()],a.prototype,\"rulesHash\",void 0),e([r()],a.prototype,\"rulesCategorized\",void 0),e([r({constructOnly:!0})],a.prototype,\"request\",void 0),a=e([i(\"esri.networks.RulesTable\")],a);const c=a;export{c as default};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{_ as e}from\"../chunks/tslib.es6.js\";import t from\"../Graphic.js\";import{property as r}from\"../core/accessorSupport/decorators/property.js\";import\"../core/has.js\";import\"../core/Logger.js\";import\"../core/RandomLCG.js\";import{subclass as o}from\"../core/accessorSupport/decorators/subclass.js\";import s from\"../layers/FeatureLayer.js\";import{queryAllJSON as a}from\"../layers/support/featureQueryAll.js\";import i from\"./Network.js\";import n from\"./RulesTable.js\";import l from\"./support/NamedTraceConfiguration.js\";import u from\"./support/NetworkSystemLayers.js\";import m from\"./support/TerminalConfiguration.js\";import d from\"./support/TraceJobInfo.js\";import{AssociationTypeEnum as c,RuleType as p}from\"./support/typeUtils.js\";import y from\"../rest/support/Query.js\";let f=class extends i{constructor(e){super(e),this.sharedNamedTraceConfigurations=[],this.type=\"utility\",this._terminalById=new Map}get serviceTerritoryFeatureLayerId(){return this.dataElement?.serviceTerritoryFeatureLayerId??null}get networkSystemLayers(){return new u({rulesTableId:this.sourceJSON?.systemLayers.rulesTableId,rulesTableUrl:this.sourceJSON?`${this.featureServiceUrl}/${this.sourceJSON?.systemLayers.rulesTableId}`:null,subnetworksTableId:this.sourceJSON?.systemLayers.subnetworksTableId,subnetworksTableUrl:this.sourceJSON?`${this.featureServiceUrl}/${this.sourceJSON?.systemLayers.subnetworksTableId}`:null,dirtyAreasLayerId:this.sourceJSON?.systemLayers.dirtyAreasLayerId,dirtyAreasLayerUrl:this.sourceJSON?`${this.featureServiceUrl}/${this.sourceJSON?.systemLayers.dirtyAreasLayerId}`:null,associationsTableId:this.sourceJSON?.systemLayers.associationsTableId,associationsTableUrl:this.sourceJSON?`${this.featureServiceUrl}/${this.sourceJSON?.systemLayers.associationsTableId}`:null})}get terminalConfigurations(){return this.dataElement?.terminalConfigurations.map((e=>m.fromJSON(e)))||[]}get domainNetworkNames(){return this.dataElement?.domainNetworks.map((e=>e.domainNetworkName))||[]}get _utilityLayerList(){const e=new Set;return this.dataElement?.domainNetworks?.map((t=>{t.edgeSources.map((t=>{e.add(t.layerId)})),t.junctionSources.map((t=>{e.add(t.layerId)}))})),e}async load(e){return this.addResolvingPromise(super.load(e)),this.addResolvingPromise(this._loadNamedTraceConfigurationsFromNetwork(e)),this}getTerminalConfiguration(e){let t=null,r=null;const o=e.layer;let s=null;if(\"feature\"===o?.type){if(s=o.layerId,null===s)return null}else{if(\"subtype-sublayer\"!==o?.type)return null;if(s=o?.parent?.layerId??null,null===s)return null}const a=e.attributes;if(null==a)return null;for(const l of Object.keys(a))\"ASSETGROUP\"===l.toUpperCase()&&(t=e.getAttribute(l)),\"ASSETTYPE\"===l.toUpperCase()&&(r=e.getAttribute(l));if(!this.dataElement)return null;let i=null;const n=this.dataElement.domainNetworks;for(const l of n){const e=l.junctionSources?.find((e=>e.layerId===s));if(e){const o=e.assetGroups?.find((e=>e.assetGroupCode===t));if(o){const e=o.assetTypes?.find((e=>e.assetTypeCode===r));if(e){i=e.terminalConfigurationId;break}}}}if(null!=i){const e=this.dataElement.terminalConfigurations,t=e?.find((e=>e.terminalConfigurationId===i));return t?m.fromJSON(t):null}return null}getTierNames(e){const t=this.dataElement?.domainNetworks.find((t=>t.domainNetworkName===e));return t?.tiers.map((e=>e.name))||[]}async getRulesTable(){return this._sharedRulesTable||(this._sharedRulesTable=this._createRulesTable()),await this._sharedRulesTable}getTerminalById(e){if(!this.dataElement||null==e)return null;const t=this._terminalById.get(e);return null!=t?t:(this.terminalConfigurations.forEach((e=>{e.terminals.forEach((e=>{this._terminalById.set(e.id,e)}))})),this._terminalById.get(e))}isUtilityLayer(e){return\"layerId\"in e&&(this._utilityLayerList.has(e.layerId)&&(e.url?.startsWith(this.featureServiceUrl)??!1))}async queryAssociations(e){const[{queryAssociations:t},{default:r}]=await Promise.all([import(\"../rest/networks/queryAssociations.js\"),import(\"../rest/networks/support/QueryAssociationsParameters.js\")]),o=r.from(e);o.gdbVersion=this.gdbVersion,o.moment=this.historicMoment;return(await t(this.networkServiceUrl,o)).associations}async synthesizeAssociationGeometries(e){const[{synthesizeAssociationGeometries:t},{default:r}]=await Promise.all([import(\"../rest/networks/synthesizeAssociationGeometries.js\"),import(\"../rest/networks/support/SynthesizeAssociationGeometriesParameters.js\")]),o=r.from(e);return o.gdbVersion=this.gdbVersion,o.moment=this.historicMoment,t(this.networkServiceUrl,o)}async trace(e){const[{trace:t},{default:r}]=await Promise.all([import(\"../rest/networks/trace.js\"),import(\"../rest/networks/support/TraceParameters.js\")]),o=r.from(e);return o.gdbVersion=this.gdbVersion,o.moment=this.historicMoment,t(this.networkServiceUrl,o)}async submitTraceJob(e){const[{submitTraceJob:t},{default:r}]=await Promise.all([import(\"../rest/networks/trace.js\"),import(\"../rest/networks/support/TraceParameters.js\")]),o=r.from(e);o.gdbVersion=this.gdbVersion,o.moment=this.historicMoment;const s=await t(this.networkServiceUrl,o);return new d({statusUrl:s})}async canAddAssociation(e){const t=await this.getRulesTable();if(!t)return!1;await t.load();const r=(e,t)=>e?1===e.terminalId?!t?.terminalId||t?.terminalId===e.terminalId:e.terminalId===t?.terminalId:!t?.terminalId,o=(e,t)=>e.fromNetworkSource?.sourceId===t.fromNetworkElement?.networkSourceId&&e.toNetworkSource?.sourceId===t.toNetworkElement?.networkSourceId&&e.fromAssetGroup?.assetGroupCode===t.fromNetworkElement?.assetGroupCode&&e.fromAssetType?.assetTypeCode===t.fromNetworkElement?.assetTypeCode&&e.toAssetGroup?.assetGroupCode===t.toNetworkElement?.assetGroupCode&&e.toAssetType?.assetTypeCode===t.toNetworkElement?.assetTypeCode&&r(e.fromTerminal,t.fromNetworkElement)&&r(e.toTerminal,t.toNetworkElement);if(\"containment\"===e.associationType){return t.rulesCategorized.containment.some((t=>o(t,e)))}if(\"attachment\"===e.associationType){return t.rulesCategorized.attachment.some((t=>o(t,e)))}return t.rulesCategorized.connectivity.some((t=>t.viaNetworkSource?t.fromNetworkSource?.sourceId===e.fromNetworkElement?.networkSourceId&&t.viaNetworkSource?.sourceId===e.toNetworkElement?.networkSourceId&&t.fromAssetGroup?.assetGroupCode===e.fromNetworkElement?.assetGroupCode&&t.fromAssetType?.assetTypeCode===e.fromNetworkElement?.assetTypeCode&&t.viaAssetGroup?.assetGroupCode===e.toNetworkElement?.assetGroupCode&&t.viaAssetType?.assetTypeCode===e.toNetworkElement?.assetTypeCode&&r(t.fromTerminal,e.fromNetworkElement)&&r(t.viaTerminal,e.toNetworkElement)||t.viaNetworkSource?.sourceId===e.fromNetworkElement?.networkSourceId&&t.toNetworkSource?.sourceId===e.toNetworkElement?.networkSourceId&&t.viaAssetGroup?.assetGroupCode===e.fromNetworkElement?.assetGroupCode&&t.viaAssetType?.assetTypeCode===e.fromNetworkElement?.assetTypeCode&&t.toAssetGroup?.assetGroupCode===e.toNetworkElement?.assetGroupCode&&t.toAssetType?.assetTypeCode===e.toNetworkElement?.assetTypeCode&&r(t.viaTerminal,e.fromNetworkElement)&&r(t.toTerminal,e.toNetworkElement):o(t,e)))}generateAddAssociations(e){return{addFeatures:e.map((e=>new t({attributes:{fromnetworksourceid:e.fromNetworkElement?.networkSourceId,fromglobalid:e.fromNetworkElement?.globalId,fromterminalid:e.fromNetworkElement?.terminalId,tonetworksourceid:e.toNetworkElement?.networkSourceId,toglobalid:e.toNetworkElement?.globalId,toterminalid:e.toNetworkElement?.terminalId,associationtype:c[e.associationType],iscontentvisible:e.isContentVisible?1:0,percentalong:e.percentAlong,globalid:e.globalId}}))),id:this.networkSystemLayers.associationsTableId,identifierFields:{globalIdField:\"globalid\",objectIdField:\"objectid\"}}}generateDeleteAssociations(e){return{deleteFeatures:e.map((e=>({globalId:e.globalId}))),id:this.networkSystemLayers.associationsTableId,identifierFields:{globalIdField:\"globalid\",objectIdField:\"objectid\"}}}async _loadNamedTraceConfigurationsFromNetwork(e){if(0===this.sharedNamedTraceConfigurations?.length)return;const t=this.sharedNamedTraceConfigurations.map((e=>e.globalId)),r=await this.queryNamedTraceConfigurations({globalIds:t},e);for(const o of this.sharedNamedTraceConfigurations){const e=r?.find((e=>e.globalId===o.globalId));if(e){const t=e.write({},{origin:\"service\"});o.read(t,{origin:\"service\"})}}}async _createRulesTable(){const e=this.networkSystemLayers.rulesTableUrl,t=new s({url:e});await t.load();const r=this.dataElement?.domainNetworks;if(!r)return null;const o=r.flatMap((e=>[...e.edgeSources||[],...e.junctionSources||[]])),a=(await w(t)).map((e=>this._hydrateRuleInfo(t,o,e)));return new n({layer:t,rules:a})}_hydrateRuleInfo(e,t,r){const o=e.fieldsIndex,s=o.get(\"RULETYPE\"),a=o.get(\"CREATIONDATE\"),i=o.get(\"FROMNETWORKSOURCEID\"),n=o.get(\"FROMASSETGROUP\"),l=o.get(\"FROMASSETTYPE\"),u=o.get(\"FROMTERMINALID\"),m=o.get(\"TONETWORKSOURCEID\"),d=o.get(\"TOASSETGROUP\"),c=o.get(\"TOASSETTYPE\"),y=o.get(\"TOTERMINALID\"),f=o.get(\"VIANETWORKSOURCEID\"),w=o.get(\"VIAASSETGROUP\"),T=o.get(\"VIAASSETTYPE\"),I=o.get(\"VIATERMINALID\"),g=r.attributes[s.name],h=new Date(r.attributes[a.name]),k=[{networkSourceId:r.attributes[i.name],assetGroupId:r.attributes[n.name],assetTypeId:r.attributes[l.name],terminalId:r.attributes[u.name]},{networkSourceId:r.attributes[m.name],assetGroupId:r.attributes[d.name],assetTypeId:r.attributes[c.name],terminalId:r.attributes[y.name]},{networkSourceId:r.attributes[f.name],assetGroupId:r.attributes[w.name],assetTypeId:r.attributes[T.name],terminalId:r.attributes[I.name]}];let b;!function(e){e[e.from=0]=\"from\",e[e.to=1]=\"to\",e[e.via=2]=\"via\"}(b||(b={}));const N={ruleType:g,creationDate:h};for(const S of[b.from,b.to,b.via]){if(g!==p.RTEdgeJunctionEdgeConnectivity&&S===b.via)continue;const e=k[S],r=t.find((t=>t.sourceId===e.networkSourceId)),o=r?.assetGroups.find((t=>t.assetGroupCode===e.assetGroupId)),s=o?.assetTypes.find((t=>t.assetTypeCode===e.assetTypeId)),a=this._getTerminal(s,e);let i=\"\";switch(S){case b.from:i=\"from\";break;case b.to:i=\"to\";break;case b.via:i=\"via\"}N[`${i}NetworkSource`]=r,N[`${i}AssetGroup`]=o,N[`${i}AssetType`]=s,N[`${i}Terminal`]=a?.toJSON()}return N}_getTerminal(e,t){const r=e?.terminalConfigurationId,o=this.terminalConfigurations?.find((e=>e.id===r));return o?.terminals?.find((e=>e.id===t.terminalId))??null}};async function w(e){const t=new y({where:\"1=1\",outFields:[\"*\"]});return(await a(e,t)).features}e([r({type:[l],json:{origins:{\"web-map\":{read:{source:\"traceConfigurations\"},write:{target:\"traceConfigurations\"}},service:{read:{source:\"traceConfigurations\"}}},read:!1}})],f.prototype,\"sharedNamedTraceConfigurations\",void 0),e([r({type:[\"utility\"],readOnly:!0,json:{read:!1,write:!1}})],f.prototype,\"type\",void 0),e([r({readOnly:!0})],f.prototype,\"serviceTerritoryFeatureLayerId\",null),e([r({readOnly:!0})],f.prototype,\"networkSystemLayers\",null),e([r({readOnly:!0})],f.prototype,\"terminalConfigurations\",null),e([r({readOnly:!0})],f.prototype,\"domainNetworkNames\",null),f=e([o(\"esri.networks.UtilityNetwork\")],f);const T=f;export{T as default};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{_ as r}from\"../../chunks/tslib.es6.js\";import{MultiOriginJSONSupport as e}from\"../../core/MultiOriginJSONSupport.js\";import{property as t}from\"../../core/accessorSupport/decorators/property.js\";import\"../../core/has.js\";import\"../../core/Logger.js\";import\"../../core/RandomLCG.js\";import{reader as o}from\"../../core/accessorSupport/decorators/reader.js\";import{subclass as i}from\"../../core/accessorSupport/decorators/subclass.js\";import s from\"./TraceConfiguration.js\";import{traceTypeKebabDict as a}from\"./typeUtils.js\";import n from\"./UNTraceConfiguration.js\";let p=class extends e{constructor(r){super(r),this.globalId=null,this.title=null,this.traceConfiguration=null,this.creationDate=null,this.creator=null,this.description=null,this.minStartingPoints=null,this.resultTypes=[],this.tags=[],this.traceType=null}readTraceConfiguration(r,e){return void 0!==r.tierName?n.fromJSON(r):s.fromJSON(r)}};r([t({type:String,nonNullable:!0,json:{origins:{\"web-map\":{read:{source:\"id\"},write:{target:\"id\",isRequired:!0}},service:{read:{source:\"globalId\"},write:{target:\"globalId\",isRequired:!0}}},read:!1}})],p.prototype,\"globalId\",void 0),r([t({type:String,nonNullable:!0,json:{origins:{\"web-map\":{read:{source:\"title\"},write:{target:\"title\",isRequired:!0}},service:{read:{source:\"name\"},write:{target:\"name\",isRequired:!0}}},read:!1}})],p.prototype,\"title\",void 0),r([t({type:s,json:{origins:{service:{read:!0,write:!0}},read:!1}})],p.prototype,\"traceConfiguration\",void 0),r([o(\"service\",\"traceConfiguration\")],p.prototype,\"readTraceConfiguration\",null),r([t({type:Date,json:{origins:{service:{read:!0,write:!0}},read:!1}})],p.prototype,\"creationDate\",void 0),r([t({type:String,json:{origins:{service:{read:!0,write:!0}},read:!1}})],p.prototype,\"creator\",void 0),r([t({type:String,json:{origins:{service:{read:!0,write:!0}},read:!1}})],p.prototype,\"description\",void 0),r([t({type:[\"none\",\"one\",\"many\"],json:{origins:{service:{read:{source:\"minNumStartingPoints\"},write:{target:\"minNumStartingPoints\"}}},read:!1}})],p.prototype,\"minStartingPoints\",void 0),r([t({json:{origins:{service:{read:!0,write:!0}},read:!1}})],p.prototype,\"resultTypes\",void 0),r([t({type:[String],json:{origins:{service:{read:!0,write:!0}},read:!1}})],p.prototype,\"tags\",void 0),r([t({type:a.apiValues,json:{type:a.jsonValues,origins:{service:{read:a.read,write:a.write}},read:!1}})],p.prototype,\"traceType\",void 0),p=r([i(\"esri.networks.support.NamedTraceConfiguration\")],p);const d=p;export{d as default};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{_ as r}from\"../../chunks/tslib.es6.js\";import o from\"../../core/Accessor.js\";import{property as s}from\"../../core/accessorSupport/decorators/property.js\";import\"../../core/has.js\";import\"../../core/Logger.js\";import\"../../core/RandomLCG.js\";import{subclass as t}from\"../../core/accessorSupport/decorators/subclass.js\";let e=class extends o{constructor(r){super(r),this.rulesTableId=null,this.rulesTableUrl=null,this.subnetworksTableId=null,this.subnetworksTableUrl=null,this.dirtyAreasLayerId=null,this.dirtyAreasLayerUrl=null,this.associationsTableId=null,this.associationsTableUrl=null}};r([s({constructOnly:!0})],e.prototype,\"rulesTableId\",void 0),r([s({constructOnly:!0})],e.prototype,\"rulesTableUrl\",void 0),r([s({constructOnly:!0})],e.prototype,\"subnetworksTableId\",void 0),r([s({constructOnly:!0})],e.prototype,\"subnetworksTableUrl\",void 0),r([s({constructOnly:!0})],e.prototype,\"dirtyAreasLayerId\",void 0),r([s({constructOnly:!0})],e.prototype,\"dirtyAreasLayerUrl\",void 0),r([s({constructOnly:!0})],e.prototype,\"associationsTableId\",void 0),r([s({constructOnly:!0})],e.prototype,\"associationsTableUrl\",void 0),e=r([t(\"esri.networks.support.NetworkSystemLayers\")],e);const l=e;export{l as default};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{_ as r}from\"../../chunks/tslib.es6.js\";import{JSONSupport as o}from\"../../core/JSONSupport.js\";import{property as e}from\"../../core/accessorSupport/decorators/property.js\";import\"../../core/has.js\";import\"../../core/Logger.js\";import\"../../core/RandomLCG.js\";import{subclass as t}from\"../../core/accessorSupport/decorators/subclass.js\";let s=class extends o{constructor(r){super(r),this.id=null,this.name=null}};r([e({type:Number,json:{read:{source:\"terminalId\"},write:{target:\"terminalId\"}}})],s.prototype,\"id\",void 0),r([e({type:String,json:{read:{source:\"terminalName\"},write:{target:\"terminalName\"}}})],s.prototype,\"name\",void 0),r([e({type:Boolean,json:{write:!0}})],s.prototype,\"isUpstreamTerminal\",void 0),s=r([t(\"esri.networks.support.Terminal\")],s);const p=s;export{p as default};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{_ as r}from\"../../chunks/tslib.es6.js\";import{JSONMap as o}from\"../../core/jsonMap.js\";import{JSONSupport as t}from\"../../core/JSONSupport.js\";import{property as e}from\"../../core/accessorSupport/decorators/property.js\";import\"../../core/has.js\";import\"../../core/Logger.js\";import\"../../core/RandomLCG.js\";import{subclass as i}from\"../../core/accessorSupport/decorators/subclass.js\";import s from\"./Terminal.js\";const a=new o({esriUNTMBidirectional:\"bidirectional\",esriUNTMDirectional:\"directional\"});let n=class extends t{constructor(r){super(r),this.defaultConfiguration=null,this.id=null,this.name=null,this.terminals=[],this.traversabilityModel=null}};r([e({type:String,json:{write:!0}})],n.prototype,\"defaultConfiguration\",void 0),r([e({type:Number,json:{read:{source:\"terminalConfigurationId\"},write:{target:\"terminalConfigurationId\"}}})],n.prototype,\"id\",void 0),r([e({type:String,json:{read:{source:\"terminalConfigurationName\"},write:{target:\"terminalConfigurationName\"}}})],n.prototype,\"name\",void 0),r([e({type:[s],json:{write:!0}})],n.prototype,\"terminals\",void 0),r([e({type:a.apiValues,json:{type:a.jsonValues,read:a.read,write:a.write}})],n.prototype,\"traversabilityModel\",void 0),n=r([i(\"esri.networks.support.TerminalConfiguration\")],n);const p=n;export{p as default};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{_ as t}from\"../../chunks/tslib.es6.js\";import e from\"../../request.js\";import\"../../core/has.js\";import{strict as s}from\"../../core/jsonMap.js\";import{createAbortError as r}from\"../../core/promiseUtils.js\";import{property as o}from\"../../core/accessorSupport/decorators/property.js\";import\"../../core/Logger.js\";import\"../../core/RandomLCG.js\";import{enumeration as i}from\"../../core/accessorSupport/decorators/enumeration.js\";import{subclass as a}from\"../../core/accessorSupport/decorators/subclass.js\";import c from\"../../rest/networks/support/ValidateNetworkTopologyResult.js\";const n=s()({Pending:\"job-waiting\",InProgress:\"job-executing\",Completed:\"job-succeeded\"});let l=class extends c{constructor(t){super(t),this.statusUrl=null,this.status=null,this.submissionTime=null,this.lastUpdatedTime=null,this._timer=void 0}destroy(){clearInterval(this._timer)}async checkJobStatus(t){const s={...t,query:{f:\"json\"}},{data:r}=await e(this.statusUrl,s);return this.read(r),this.editsResolver&&this.editsResolver.resolve({edits:null,addedFeatures:[],updatedFeatures:[],deletedFeatures:[],addedAttachments:[],updatedAttachments:[],deletedAttachments:[],exceededTransferLimit:!0,historicMoment:null}),this}async waitForJobCompletion(t={}){const{interval:e=1e3,statusCallback:s}=t;return new Promise(((t,o)=>{this._clearTimer();const i=setInterval((()=>{this._timer||o(r()),this.checkJobStatus().then((e=>{const{status:r}=e;switch(this.status=r,r){case\"job-succeeded\":this._clearTimer(),t(this);break;case\"job-waiting\":case\"job-executing\":s&&s(this)}}),(t=>{this._clearTimer(),o(t)}))}),e);this._timer=i}))}_clearTimer(){clearInterval(this._timer),this._timer=void 0}};t([o()],l.prototype,\"editsResolver\",void 0),t([o({type:String,json:{write:!0}})],l.prototype,\"statusUrl\",void 0),t([i(n)],l.prototype,\"status\",void 0),t([o({type:Date,json:{type:Number,write:{writer:(t,e)=>{e.submissionTime=t?t.getTime():null}}}})],l.prototype,\"submissionTime\",void 0),t([o({type:Date,json:{type:Number,write:{writer:(t,e)=>{e.lastUpdatedTime=t?t.getTime():null}}}})],l.prototype,\"lastUpdatedTime\",void 0),l=t([a(\"esri.networks.support.TopologyValidationJobInfo\")],l);const m=l;export{m as default};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{_ as t}from\"../../chunks/tslib.es6.js\";import{JSONSupport as o}from\"../../core/JSONSupport.js\";import{property as r}from\"../../core/accessorSupport/decorators/property.js\";import\"../../core/has.js\";import\"../../core/Logger.js\";import\"../../core/RandomLCG.js\";import{subclass as e}from\"../../core/accessorSupport/decorators/subclass.js\";let i=class extends o{constructor(t){super(t),this.conditionBarriers=[],this.outputConditions=[],this.functions=[],this.functionBarriers=[],this.traversabilityScope=null,this.shortestPathNetworkAttributeName=null,this.includeBarriers=null,this.validateConsistency=null,this.ignoreBarriersAtStartingPoints=null}};t([r({type:[Object],json:{write:!0}})],i.prototype,\"conditionBarriers\",void 0),t([r({type:[Object],json:{write:!0}})],i.prototype,\"outputConditions\",void 0),t([r({type:[Object],json:{write:!0}})],i.prototype,\"functions\",void 0),t([r({type:[Object],json:{write:!0}})],i.prototype,\"functionBarriers\",void 0),t([r({type:[\"junctions\",\"edges\",\"junctionsAndEdges\"],json:{write:!0}})],i.prototype,\"traversabilityScope\",void 0),t([r({type:String,json:{write:!0}})],i.prototype,\"shortestPathNetworkAttributeName\",void 0),t([r({type:Boolean,json:{write:!0}})],i.prototype,\"includeBarriers\",void 0),t([r({type:Boolean,json:{write:!0}})],i.prototype,\"validateConsistency\",void 0),t([r({type:Boolean,json:{write:!0}})],i.prototype,\"ignoreBarriersAtStartingPoints\",void 0),i=t([e(\"esri.networks.support.TraceConfiguration\")],i);const s=i;export{s as default};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{_ as t}from\"../../chunks/tslib.es6.js\";import s from\"../../request.js\";import\"../../core/has.js\";import{strict as e}from\"../../core/jsonMap.js\";import{createAbortError as r}from\"../../core/promiseUtils.js\";import{property as o}from\"../../core/accessorSupport/decorators/property.js\";import\"../../core/Logger.js\";import\"../../core/RandomLCG.js\";import{enumeration as i}from\"../../core/accessorSupport/decorators/enumeration.js\";import{subclass as a}from\"../../core/accessorSupport/decorators/subclass.js\";import c from\"../../rest/networks/support/TraceResult.js\";const m=e()({Pending:\"job-waiting\",InProgress:\"job-executing\",Completed:\"job-succeeded\"});let n=class extends c{constructor(t){super(t),this.statusUrl=null,this.status=null,this.submissionTime=null,this.lastUpdatedTime=null,this._timer=void 0}destroy(){clearInterval(this._timer)}async checkJobStatus(t){const e={...t,query:{f:\"json\"}},{data:r}=await s(this.statusUrl,e),o=r.traceResults?{...r.traceResults,...r}:r;return this.read(o),this}async waitForJobCompletion(t={}){const{interval:s=1e3,statusCallback:e}=t;return new Promise(((t,o)=>{this._clearTimer();const i=setInterval((()=>{this._timer||o(r()),this.checkJobStatus().then((s=>{const{status:r}=s;switch(this.status=r,r){case\"job-succeeded\":this._clearTimer(),t(this);break;case\"job-waiting\":case\"job-executing\":e&&e(this)}}),(t=>{this._clearTimer(),o(t)}))}),s);this._timer=i}))}_clearTimer(){clearInterval(this._timer),this._timer=void 0}};t([o({type:String,json:{write:!0}})],n.prototype,\"statusUrl\",void 0),t([i(m)],n.prototype,\"status\",void 0),t([o({type:Date,json:{type:Number,write:{writer:(t,s)=>{s.submissionTime=t?t.getTime():null}}}})],n.prototype,\"submissionTime\",void 0),t([o({type:Date,json:{type:Number,write:{writer:(t,s)=>{s.lastUpdatedTime=t?t.getTime():null}}}})],n.prototype,\"lastUpdatedTime\",void 0),n=t([a(\"esri.networks.support.TraceJobInfo\")],n);const p=n;export{p as default};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{_ as t}from\"../../chunks/tslib.es6.js\";import{property as e}from\"../../core/accessorSupport/decorators/property.js\";import\"../../core/has.js\";import\"../../core/Logger.js\";import\"../../core/RandomLCG.js\";import{subclass as o}from\"../../core/accessorSupport/decorators/subclass.js\";import r from\"./TraceConfiguration.js\";let i=class extends r{constructor(t){super(t),this.filterBarriers=[],this.arcadeExpressionBarrier=null,this.domainNetworkName=null,this.filterBitsetNetworkAttributeName=null,this.filterFunctionBarriers=[],this.filterScope=null,this.includeContainers=null,this.includeContent=null,this.includeIsolated=null,this.includeStructures=null,this.allowIndeterminateFlow=null,this.includeUpToFirstSpatialContainer=null,this.nearestNeighbor=null,this.outputFilterCategories=[],this.outputFilters=[],this.propagators=[],this.subnetworkName=null,this.targetTierName=null,this.diagramTemplateName=null,this.tierName=null,this.validateLocatability=null}};t([e({type:[Object],json:{write:!0}})],i.prototype,\"filterBarriers\",void 0),t([e({type:String,json:{write:!0}})],i.prototype,\"arcadeExpressionBarrier\",void 0),t([e({type:String,json:{write:!0}})],i.prototype,\"domainNetworkName\",void 0),t([e({type:String,json:{write:!0}})],i.prototype,\"filterBitsetNetworkAttributeName\",void 0),t([e({type:[Object],json:{write:!0}})],i.prototype,\"filterFunctionBarriers\",void 0),t([e({type:[\"junctions\",\"edges\",\"junctionsAndEdges\"],json:{write:!0}})],i.prototype,\"filterScope\",void 0),t([e({type:Boolean,json:{write:!0}})],i.prototype,\"includeContainers\",void 0),t([e({type:Boolean,json:{write:!0}})],i.prototype,\"includeContent\",void 0),t([e({type:Boolean,json:{write:!0}})],i.prototype,\"includeIsolated\",void 0),t([e({type:Boolean,json:{write:!0}})],i.prototype,\"includeStructures\",void 0),t([e({type:Boolean,json:{write:!0}})],i.prototype,\"allowIndeterminateFlow\",void 0),t([e({type:Boolean,json:{write:!0}})],i.prototype,\"includeUpToFirstSpatialContainer\",void 0),t([e({type:Object,json:{write:!0}})],i.prototype,\"nearestNeighbor\",void 0),t([e({type:[Object],json:{write:!0}})],i.prototype,\"outputFilterCategories\",void 0),t([e({type:[Object],json:{write:!0}})],i.prototype,\"outputFilters\",void 0),t([e({type:[Object],json:{write:!0}})],i.prototype,\"propagators\",void 0),t([e({type:String,json:{write:!0}})],i.prototype,\"subnetworkName\",void 0),t([e({type:String,json:{write:!0}})],i.prototype,\"targetTierName\",void 0),t([e({type:String,json:{write:!0}})],i.prototype,\"diagramTemplateName\",void 0),t([e({type:String,json:{write:!0}})],i.prototype,\"tierName\",void 0),t([e({type:Boolean,json:{write:!0}})],i.prototype,\"validateLocatability\",void 0),i=t([o(\"esri.networks.support.UNTraceConfiguration\")],i);const s=i;export{s as default};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{JSONMap as n}from\"../../core/jsonMap.js\";var t;!function(n){n[n.RTJunctionJunctionConnectivity=1]=\"RTJunctionJunctionConnectivity\",n[n.RTAttachment=2]=\"RTAttachment\",n[n.RTContainment=3]=\"RTContainment\",n[n.RTJunctionEdgeConnectivity=4]=\"RTJunctionEdgeConnectivity\",n[n.RTEdgeJunctionEdgeConnectivity=5]=\"RTEdgeJunctionEdgeConnectivity\"}(t||(t={}));const o=new n({connected:\"connected\",upstream:\"upstream\",downstream:\"downstream\",shortestPath:\"shortest-path\",subnetwork:\"subnetwork\",subnetworkController:\"subnetwork-controller\",loops:\"loops\",isolation:\"isolation\"}),i=new n({junctionJunctionConnectivity:\"junction-junction-connectivity\",connectivity:\"connectivity\",attachment:\"attachment\",containment:\"containment\",junctionEdgeFromConnectivity:\"junction-edge-from-connectivity\",junctionMidspanConnectivity:\"junction-midspan-connectivity\",junctionEdgeToConnectivity:\"junction-edge-to-connectivity\"}),c={connectivity:1,\"junction-junction-connectivity\":1,attachment:2,containment:3,\"junction-edge-from-connectivity\":4,\"junction-midspan-connectivity\":5,\"junction-edge-to-connectivity\":6},e=Array.from({length:33},((n,t)=>2*t)),u=new Map([[1,\"connectivity\"],[2,\"containment\"],[3,\"attachment\"],[4,\"junction-edge-from-connectivity\"],[5,\"junction-midspan-connectivity\"],[6,\"junction-edge-to-connectivity\"]]),a=new n({normal:\"normal\",rebuild:\"rebuild\",forceRebuild:\"force-rebuild\"});export{e as AssociationOpenStatus,u as AssociationTypeDict,c as AssociationTypeEnum,t as RuleType,i as associationTypeKebabDict,o as traceTypeKebabDict,a as validationTypeKebabDict};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport t from\"../../request.js\";import e from\"../../core/Error.js\";import{queryAllJSON as r}from\"../../layers/support/featureQueryAll.js\";import a from\"../../portal/PortalItem.js\";import o from\"../../rest/support/FeatureSet.js\";async function n(t,e){const a=t.layers,n=t.layerInfos,i=t.returnGeometry||!1,l=t.outSpatialReference;await Promise.all(a.map((async t=>{await t.load()})));return(await Promise.all(a.map((async t=>{const a=n.find((e=>e.layerUrl===t.parsedUrl?.path));if(!a?.objectIds?.length)return{layer:t,featureSet:void 0};const s=t.createQuery();s.returnGeometry=i,s.outFields=a.outFields||[\"*\"],s.outSpatialReference=l,s.gdbVersion=t.gdbVersion,s.objectIds=a.objectIds,e&&(s.where=\"1=1\");const p=o.fromJSON(await r(t,s));return{layer:t,featureSet:p}})))).filter((t=>void 0!==t.featureSet))}async function i(t,e){if(\"Utility Network Layer\"===t){const{default:t}=await import(\"../UtilityNetwork.js\");return new t({layerUrl:e})}return null}async function l(r){let o=\"portalItem\"in r?r:{portalItem:r};!o.portalItem||o.portalItem instanceof a||(o={...o,portalItem:new a(o.portalItem)});const n=o.portalItem;if(await n.load(),\"Feature Service\"!==n.type)throw new e(\"portal:unknown-item-type\",\"Unknown item type '${type}'\",{type:n.type});const l=n.url,s=await t(l,{responseType:\"json\",query:{f:\"json\"}}),p=\"Network Layer\";if(s.data.type?.includes(p))return i(s.data.type,l);if(s.data.layers){const t=s.data.layers.find((t=>t.type.includes(p)));if(t){const e=`${l}/${t.id}`;return i(t.type,e)}}return null}export{n as getFeaturesFromLayers,l as networkFromPortalItem};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{_ as r}from\"../chunks/tslib.es6.js\";import{JSONSupport as o}from\"../core/JSONSupport.js\";import{property as t}from\"../core/accessorSupport/decorators/property.js\";import\"../core/has.js\";import\"../core/Logger.js\";import\"../core/RandomLCG.js\";import{subclass as e}from\"../core/accessorSupport/decorators/subclass.js\";var s;let p=s=class extends o{constructor(r){super(r),this.title=null,this.expression=null,this.returnType=\"dictionary\"}clone(){return new s({title:this.title,expression:this.expression})}};r([t({type:String,json:{write:!0}})],p.prototype,\"title\",void 0),r([t({type:String,json:{write:!0}})],p.prototype,\"expression\",void 0),r([t({type:[\"dictionary\"],readOnly:!0,json:{read:!1,write:!0}})],p.prototype,\"returnType\",void 0),p=s=r([e(\"esri.popup.ElementExpressionInfo\")],p);const i=p;export{i as default};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{_ as r}from\"../chunks/tslib.es6.js\";import{JSONSupport as t}from\"../core/JSONSupport.js\";import{property as e}from\"../core/accessorSupport/decorators/property.js\";import\"../core/has.js\";import\"../core/Logger.js\";import\"../core/RandomLCG.js\";import{subclass as o}from\"../core/accessorSupport/decorators/subclass.js\";var s;let p=s=class extends t{constructor(r){super(r),this.name=null,this.title=null,this.expression=null,this.returnType=null}clone(){return new s({name:this.name,title:this.title,expression:this.expression,returnType:this.returnType})}};r([e({type:String,json:{write:!0}})],p.prototype,\"name\",void 0),r([e({type:String,json:{write:!0}})],p.prototype,\"title\",void 0),r([e({type:String,json:{write:!0}})],p.prototype,\"expression\",void 0),r([e({type:[\"string\",\"number\"],json:{write:!0}})],p.prototype,\"returnType\",void 0),p=s=r([o(\"esri.popup.ExpressionInfo\")],p);const i=p;export{i as default};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{_ as t}from\"../chunks/tslib.es6.js\";import{JSONMap as o}from\"../core/jsonMap.js\";import{JSONSupport as e}from\"../core/JSONSupport.js\";import{property as i}from\"../core/accessorSupport/decorators/property.js\";import\"../core/has.js\";import\"../core/Logger.js\";import\"../core/RandomLCG.js\";import{enumeration as r}from\"../core/accessorSupport/decorators/enumeration.js\";import{subclass as s}from\"../core/accessorSupport/decorators/subclass.js\";import p from\"./support/FieldInfoFormat.js\";var a;let l=a=class extends e{constructor(t){super(t),this.fieldName=null,this.format=void 0,this.isEditable=!0,this.label=null,this.stringFieldOption=\"text-box\",this.statisticType=null,this.tooltip=null,this.visible=!0}clone(){return new a({fieldName:this.fieldName,format:this.format?.clone(),isEditable:this.isEditable,label:this.label,stringFieldOption:this.stringFieldOption,statisticType:this.statisticType,tooltip:this.tooltip,visible:this.visible})}};t([i({type:String,json:{write:!0}})],l.prototype,\"fieldName\",void 0),t([i({type:p,json:{write:!0}})],l.prototype,\"format\",void 0),t([i({type:Boolean,json:{write:{alwaysWriteDefaults:!0},default:!0}})],l.prototype,\"isEditable\",void 0),t([i({type:String,json:{write:!0}})],l.prototype,\"label\",void 0),t([r(new o({richtext:\"rich-text\",textarea:\"text-area\",textbox:\"text-box\"}),{default:\"text-box\"})],l.prototype,\"stringFieldOption\",void 0),t([i({type:[\"count\",\"sum\",\"min\",\"max\",\"avg\",\"stddev\",\"var\"],json:{write:!0}})],l.prototype,\"statisticType\",void 0),t([i({type:String,json:{write:!0}})],l.prototype,\"tooltip\",void 0),t([i({type:Boolean,json:{write:!0}})],l.prototype,\"visible\",void 0),l=a=t([s(\"esri.popup.FieldInfo\")],l);const n=l;export{n as default};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{_ as o}from\"../chunks/tslib.es6.js\";import{JSONSupport as r}from\"../core/JSONSupport.js\";import{property as s}from\"../core/accessorSupport/decorators/property.js\";import\"../core/has.js\";import\"../core/Logger.js\";import\"../core/RandomLCG.js\";import{subclass as t}from\"../core/accessorSupport/decorators/subclass.js\";var e;let p=e=class extends r{constructor(o){super(o),this.returnTopmostRaster=null,this.showNoDataRecords=null}clone(){return new e({showNoDataRecords:this.showNoDataRecords,returnTopmostRaster:this.returnTopmostRaster})}};o([s({type:Boolean,json:{write:!0}})],p.prototype,\"returnTopmostRaster\",void 0),o([s({type:Boolean,json:{write:!0}})],p.prototype,\"showNoDataRecords\",void 0),p=e=o([t(\"esri.popup.LayerOptions\")],p);const a=p;export{a as default};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{_ as o}from\"../chunks/tslib.es6.js\";import{JSONSupport as r}from\"../core/JSONSupport.js\";import{clone as e}from\"../core/lang.js\";import{property as s}from\"../core/accessorSupport/decorators/property.js\";import\"../core/has.js\";import\"../core/Logger.js\";import{subclass as t}from\"../core/accessorSupport/decorators/subclass.js\";import d from\"./support/RelatedRecordsInfoFieldOrder.js\";var p;let l=p=class extends r{constructor(o){super(o),this.showRelatedRecords=null,this.orderByFields=null}clone(){return new p({showRelatedRecords:this.showRelatedRecords,orderByFields:this.orderByFields?e(this.orderByFields):null})}};o([s({type:Boolean,json:{write:!0}})],l.prototype,\"showRelatedRecords\",void 0),o([s({type:[d],json:{write:!0}})],l.prototype,\"orderByFields\",void 0),l=p=o([t(\"esri.popup.RelatedRecordsInfo\")],l);const c=l;export{c as default};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport t from\"./content/AttachmentsContent.js\";import n from\"./content/Content.js\";export{default as CustomContent}from\"./content/CustomContent.js\";import o from\"./content/ExpressionContent.js\";import e from\"./content/FieldsContent.js\";import i from\"./content/MediaContent.js\";import s from\"./content/RelationshipContent.js\";import r from\"./content/TextContent.js\";import m from\"./content/UtilityNetworkAssociationsContent.js\";function p(t){return t instanceof n}const a={base:null,key:\"type\",typeMap:{attachment:t,media:i,text:r,expression:o,field:e,relationship:s,utilityNetworkAssociations:m}},c={base:null,key:\"type\",typeMap:{attachment:t,media:i,text:r,expression:o,field:e,relationship:s}};export{t as AttachmentsContent,n as BaseContent,o as ExpressionContent,e as FieldsContent,i as MediaContent,s as RelationshipContent,r as TextContent,m as UtilityNetworkAssociationsContent,p as isContent,a as persistableTypes,c as persistableWebSceneTypes};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{_ as t}from\"../../chunks/tslib.es6.js\";import{property as e}from\"../../core/accessorSupport/decorators/property.js\";import\"../../core/has.js\";import\"../../core/Logger.js\";import\"../../core/RandomLCG.js\";import{subclass as o}from\"../../core/accessorSupport/decorators/subclass.js\";import r from\"./Content.js\";var s;let p=s=class extends r{constructor(t){super(t),this.description=null,this.displayType=\"auto\",this.title=null,this.type=\"attachments\"}clone(){return new s({description:this.description,displayType:this.displayType,title:this.title})}};t([e({type:String,json:{write:!0}})],p.prototype,\"description\",void 0),t([e({type:[\"auto\",\"preview\",\"list\"],json:{write:!0}})],p.prototype,\"displayType\",void 0),t([e({type:String,json:{write:!0}})],p.prototype,\"title\",void 0),t([e({type:[\"attachments\"],readOnly:!0,json:{read:!1,write:!0}})],p.prototype,\"type\",void 0),p=s=t([o(\"esri.popup.content.AttachmentsContent\")],p);const i=p;export{i as default};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{_ as t}from\"../../chunks/tslib.es6.js\";import{property as r}from\"../../core/accessorSupport/decorators/property.js\";import\"../../core/has.js\";import\"../../core/Logger.js\";import\"../../core/RandomLCG.js\";import{subclass as o}from\"../../core/accessorSupport/decorators/subclass.js\";import e from\"./mixins/ChartMediaInfo.js\";import{chartTypeKebabDict as s}from\"./support/chartMediaInfoUtils.js\";var a;let p=a=class extends e{constructor(t){super(t),this.type=\"bar-chart\"}clone(){return new a({altText:this.altText,title:this.title,caption:this.caption,value:this.value?.clone()})}};t([r({type:[\"bar-chart\"],readOnly:!0,json:{type:[\"barchart\"],read:!1,write:s.write}})],p.prototype,\"type\",void 0),p=a=t([o(\"esri.popup.content.BarChartMediaInfo\")],p);const i=p;export{i as default};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{_ as t}from\"../../chunks/tslib.es6.js\";import{property as o}from\"../../core/accessorSupport/decorators/property.js\";import\"../../core/has.js\";import\"../../core/Logger.js\";import\"../../core/RandomLCG.js\";import{subclass as r}from\"../../core/accessorSupport/decorators/subclass.js\";import e from\"./mixins/ChartMediaInfo.js\";import{chartTypeKebabDict as s}from\"./support/chartMediaInfoUtils.js\";var a;let c=a=class extends e{constructor(t){super(t),this.type=\"column-chart\"}clone(){return new a({altText:this.altText,title:this.title,caption:this.caption,value:this.value?.clone()})}};t([o({type:[\"column-chart\"],readOnly:!0,json:{type:[\"columnchart\"],read:!1,write:s.write}})],c.prototype,\"type\",void 0),c=a=t([r(\"esri.popup.content.ColumnChartMediaInfo\")],c);const p=c;export{p as default};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{_ as o}from\"../../chunks/tslib.es6.js\";import{JSONSupport as t}from\"../../core/JSONSupport.js\";import{property as r}from\"../../core/accessorSupport/decorators/property.js\";import\"../../core/has.js\";import\"../../core/Logger.js\";import\"../../core/RandomLCG.js\";import{subclass as s}from\"../../core/accessorSupport/decorators/subclass.js\";let e=class extends t{constructor(o){super(o),this.type=null}};o([r({type:[\"attachments\",\"custom\",\"fields\",\"media\",\"text\",\"expression\",\"relationship\",\"utility-network-associations\"],readOnly:!0,json:{read:!1,write:!0}})],e.prototype,\"type\",void 0),e=o([s(\"esri.popup.content.Content\")],e);const p=e;export{p as default};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{_ as o}from\"../../chunks/tslib.es6.js\";import{clone as t}from\"../../core/lang.js\";import{property as r}from\"../../core/accessorSupport/decorators/property.js\";import\"../../core/has.js\";import\"../../core/Logger.js\";import{subclass as e}from\"../../core/accessorSupport/decorators/subclass.js\";import s from\"./Content.js\";var p;let i=p=class extends s{constructor(o){super(o),this.creator=null,this.destroyer=null,this.outFields=null,this.type=\"custom\"}clone(){return new p({creator:this.creator,destroyer:this.destroyer,outFields:Array.isArray(this.outFields)?t(this.outFields):null})}};o([r()],i.prototype,\"creator\",void 0),o([r()],i.prototype,\"destroyer\",void 0),o([r()],i.prototype,\"outFields\",void 0),o([r({type:[\"custom\"],readOnly:!0})],i.prototype,\"type\",void 0),i=p=o([e(\"esri.popup.content.CustomContent\")],i);const c=i;export{c as default};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{_ as o}from\"../../chunks/tslib.es6.js\";import{property as e}from\"../../core/accessorSupport/decorators/property.js\";import\"../../core/has.js\";import\"../../core/Logger.js\";import\"../../core/RandomLCG.js\";import{subclass as r}from\"../../core/accessorSupport/decorators/subclass.js\";import s from\"../ElementExpressionInfo.js\";import t from\"./Content.js\";var p;let n=p=class extends t{constructor(o){super(o),this.expressionInfo=null,this.type=\"expression\"}clone(){return new p({expressionInfo:this.expressionInfo?.clone()})}};o([e({type:s,json:{write:!0}})],n.prototype,\"expressionInfo\",void 0),o([e({type:[\"expression\"],readOnly:!0,json:{read:!1,write:!0}})],n.prototype,\"type\",void 0),n=p=o([r(\"esri.popup.content.ExpressionContent\")],n);const i=n;export{i as default};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{_ as t}from\"../../chunks/tslib.es6.js\";import{clone as o}from\"../../core/lang.js\";import{property as e}from\"../../core/accessorSupport/decorators/property.js\";import\"../../core/has.js\";import\"../../core/Logger.js\";import{subclass as r}from\"../../core/accessorSupport/decorators/subclass.js\";import{writer as s}from\"../../core/accessorSupport/decorators/writer.js\";import i from\"../FieldInfo.js\";import p from\"./Content.js\";var n;let l=n=class extends p{constructor(t){super(t),this.attributes=null,this.description=null,this.fieldInfos=null,this.title=null,this.type=\"fields\"}writeFieldInfos(t,o){o.fieldInfos=t&&t.map((t=>t.toJSON()))}clone(){return new n(o({attributes:this.attributes,description:this.description,fieldInfos:this.fieldInfos,title:this.title}))}};t([e({type:Object,json:{write:!0}})],l.prototype,\"attributes\",void 0),t([e({type:String,json:{write:!0}})],l.prototype,\"description\",void 0),t([e({type:[i]})],l.prototype,\"fieldInfos\",void 0),t([s(\"fieldInfos\")],l.prototype,\"writeFieldInfos\",null),t([e({type:String,json:{write:!0}})],l.prototype,\"title\",void 0),t([e({type:[\"fields\"],readOnly:!0,json:{read:!1,write:!0}})],l.prototype,\"type\",void 0),l=n=t([r(\"esri.popup.content.FieldsContent\")],l);const c=l;export{c as default};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{_ as e}from\"../../chunks/tslib.es6.js\";import{property as t}from\"../../core/accessorSupport/decorators/property.js\";import\"../../core/has.js\";import\"../../core/Logger.js\";import\"../../core/RandomLCG.js\";import{subclass as r}from\"../../core/accessorSupport/decorators/subclass.js\";import o from\"./mixins/MediaInfo.js\";import s from\"./support/ImageMediaInfoValue.js\";var i;let a=i=class extends o{constructor(e){super(e),this.refreshInterval=0,this.type=\"image\",this.value=void 0}clone(){return new i({altText:this.altText,title:this.title,caption:this.caption,refreshInterval:this.refreshInterval,value:this.value?.clone()})}};e([t({type:Number,json:{write:!0}})],a.prototype,\"refreshInterval\",void 0),e([t({type:[\"image\"],readOnly:!0,json:{read:!1,write:!0}})],a.prototype,\"type\",void 0),e([t({type:s,json:{write:!0}})],a.prototype,\"value\",void 0),a=i=e([r(\"esri.popup.content.ImageMediaInfo\")],a);const p=a;export{p as default};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{_ as t}from\"../../chunks/tslib.es6.js\";import{property as r}from\"../../core/accessorSupport/decorators/property.js\";import\"../../core/has.js\";import\"../../core/Logger.js\";import\"../../core/RandomLCG.js\";import{subclass as o}from\"../../core/accessorSupport/decorators/subclass.js\";import e from\"./mixins/ChartMediaInfo.js\";import{chartTypeKebabDict as s}from\"./support/chartMediaInfoUtils.js\";var i;let a=i=class extends e{constructor(t){super(t),this.type=\"line-chart\"}clone(){return new i({altText:this.altText,title:this.title,caption:this.caption,value:this.value?.clone()})}};t([r({type:[\"line-chart\"],readOnly:!0,json:{type:[\"linechart\"],read:!1,write:s.write}})],a.prototype,\"type\",void 0),a=i=t([o(\"esri.popup.content.LineChartMediaInfo\")],a);const p=a;export{p as default};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{_ as t}from\"../../chunks/tslib.es6.js\";import{clone as o}from\"../../core/lang.js\";import{property as e}from\"../../core/accessorSupport/decorators/property.js\";import\"../../core/has.js\";import\"../../core/Logger.js\";import{reader as r}from\"../../core/accessorSupport/decorators/reader.js\";import{subclass as i}from\"../../core/accessorSupport/decorators/subclass.js\";import{writer as s}from\"../../core/accessorSupport/decorators/writer.js\";import a from\"./BarChartMediaInfo.js\";import p from\"./ColumnChartMediaInfo.js\";import n from\"./Content.js\";import d from\"./ImageMediaInfo.js\";import m from\"./LineChartMediaInfo.js\";import c from\"./PieChartMediaInfo.js\";import{types as f}from\"./support/mediaInfoTypes.js\";var l;let u=l=class extends n{constructor(t){super(t),this.activeMediaInfoIndex=null,this.attributes=null,this.description=null,this.mediaInfos=null,this.title=null,this.type=\"media\"}readMediaInfos(t){return t&&t.map((t=>\"image\"===t.type?d.fromJSON(t):\"barchart\"===t.type?a.fromJSON(t):\"columnchart\"===t.type?p.fromJSON(t):\"linechart\"===t.type?m.fromJSON(t):\"piechart\"===t.type?c.fromJSON(t):void 0)).filter(Boolean)}writeMediaInfos(t,o){o.mediaInfos=t&&t.map((t=>t.toJSON()))}clone(){return new l(o({activeMediaInfoIndex:this.activeMediaInfoIndex,attributes:this.attributes,description:this.description,mediaInfos:this.mediaInfos,title:this.title}))}};t([e()],u.prototype,\"activeMediaInfoIndex\",void 0),t([e({type:Object,json:{write:!0}})],u.prototype,\"attributes\",void 0),t([e({type:String,json:{write:!0}})],u.prototype,\"description\",void 0),t([e({types:[f]})],u.prototype,\"mediaInfos\",void 0),t([r(\"mediaInfos\")],u.prototype,\"readMediaInfos\",null),t([s(\"mediaInfos\")],u.prototype,\"writeMediaInfos\",null),t([e({type:String,json:{write:!0}})],u.prototype,\"title\",void 0),t([e({type:[\"media\"],readOnly:!0,json:{read:!1,write:!0}})],u.prototype,\"type\",void 0),u=l=t([i(\"esri.popup.content.MediaContent\")],u);const I=u;export{I as default};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{_ as t}from\"../../chunks/tslib.es6.js\";import{property as r}from\"../../core/accessorSupport/decorators/property.js\";import\"../../core/has.js\";import\"../../core/Logger.js\";import\"../../core/RandomLCG.js\";import{subclass as o}from\"../../core/accessorSupport/decorators/subclass.js\";import e from\"./mixins/ChartMediaInfo.js\";import{chartTypeKebabDict as s}from\"./support/chartMediaInfoUtils.js\";var i;let p=i=class extends e{constructor(t){super(t),this.type=\"pie-chart\"}clone(){return new i({altText:this.altText,title:this.title,caption:this.caption,value:this.value?.clone()})}};t([r({type:[\"pie-chart\"],readOnly:!0,json:{type:[\"piechart\"],read:!1,write:s.write}})],p.prototype,\"type\",void 0),p=i=t([o(\"esri.popup.content.PieChartMediaInfo\")],p);const a=p;export{a as default};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{_ as t}from\"../../chunks/tslib.es6.js\";import{ClonableMixin as o}from\"../../core/Clonable.js\";import{property as e}from\"../../core/accessorSupport/decorators/property.js\";import{Integer as r}from\"../../core/accessorSupport/ensureType.js\";import\"../../core/RandomLCG.js\";import\"../../core/has.js\";import{subclass as s}from\"../../core/accessorSupport/decorators/subclass.js\";import p from\"./Content.js\";import i from\"../support/RelatedRecordsInfoFieldOrder.js\";let n=class extends(o(p)){constructor(t){super(t),this.description=null,this.displayCount=null,this.displayType=\"list\",this.orderByFields=null,this.relationshipId=null,this.title=null,this.type=\"relationship\"}};t([e({type:String,json:{write:!0}})],n.prototype,\"description\",void 0),t([e({type:Number,json:{type:r,write:!0}})],n.prototype,\"displayCount\",void 0),t([e({type:[\"list\"],json:{write:!0}})],n.prototype,\"displayType\",void 0),t([e({type:[i],json:{write:!0}})],n.prototype,\"orderByFields\",void 0),t([e({type:Number,json:{type:r,write:!0}})],n.prototype,\"relationshipId\",void 0),t([e({type:String,json:{write:!0}})],n.prototype,\"title\",void 0),t([e({type:[\"relationship\"],readOnly:!0,json:{read:!1,write:!0}})],n.prototype,\"type\",void 0),n=t([s(\"esri.popup.content.RelationshipContent\")],n);const l=n;export{l as default};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{_ as t}from\"../../chunks/tslib.es6.js\";import{property as o}from\"../../core/accessorSupport/decorators/property.js\";import\"../../core/has.js\";import\"../../core/Logger.js\";import\"../../core/RandomLCG.js\";import{subclass as e}from\"../../core/accessorSupport/decorators/subclass.js\";import r from\"./Content.js\";var s;let p=s=class extends r{constructor(t){super(t),this.text=null,this.type=\"text\"}clone(){return new s({text:this.text})}};t([o({type:String,json:{write:!0}})],p.prototype,\"text\",void 0),t([o({type:[\"text\"],readOnly:!0,json:{read:!1,write:!0}})],p.prototype,\"type\",void 0),p=s=t([e(\"esri.popup.content.TextContent\")],p);const c=p;export{c as default};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{_ as o}from\"../../chunks/tslib.es6.js\";import{ClonableMixin as t}from\"../../core/Clonable.js\";import{property as s}from\"../../core/accessorSupport/decorators/property.js\";import\"../../core/has.js\";import\"../../core/Logger.js\";import\"../../core/RandomLCG.js\";import{enumeration as r}from\"../../core/accessorSupport/decorators/enumeration.js\";import{subclass as i}from\"../../core/accessorSupport/decorators/subclass.js\";import e from\"./Content.js\";import p from\"../support/UtilityNetworkAssociationType.js\";let c=class extends(t(e)){constructor(o){super(o),this.description=null,this.title=null,this.associationTypes=[],this.type=\"utility-network-associations\"}};o([s({type:String,json:{write:!0}})],c.prototype,\"description\",void 0),o([s({type:String,json:{write:!0}})],c.prototype,\"title\",void 0),o([s({type:[p],json:{write:!0}})],c.prototype,\"associationTypes\",void 0),o([r({utilityNetworkAssociations:\"utility-network-associations\"})],c.prototype,\"type\",void 0),c=o([i(\"esri.popup.content.UtilityNetworkAssociationsContent\")],c);const n=c;export{n as default};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{_ as o}from\"../../../chunks/tslib.es6.js\";import{property as r}from\"../../../core/accessorSupport/decorators/property.js\";import\"../../../core/has.js\";import\"../../../core/Logger.js\";import\"../../../core/RandomLCG.js\";import{subclass as t}from\"../../../core/accessorSupport/decorators/subclass.js\";import e from\"./MediaInfo.js\";import s from\"../support/ChartMediaInfoValue.js\";let p=class extends e{constructor(o){super(o),this.type=null,this.value=void 0}};o([r({type:[\"bar-chart\",\"column-chart\",\"line-chart\",\"pie-chart\"],readOnly:!0,json:{read:!1,write:!0}})],p.prototype,\"type\",void 0),o([r({type:s,json:{write:!0}})],p.prototype,\"value\",void 0),p=o([t(\"esri.popup.content.mixins.ChartMediaInfo\")],p);const a=p;export{a as default};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{_ as t}from\"../../../chunks/tslib.es6.js\";import{JSONSupport as o}from\"../../../core/JSONSupport.js\";import{property as r}from\"../../../core/accessorSupport/decorators/property.js\";import\"../../../core/has.js\";import\"../../../core/Logger.js\";import\"../../../core/RandomLCG.js\";import{subclass as e}from\"../../../core/accessorSupport/decorators/subclass.js\";let s=class extends o{constructor(t){super(t),this.altText=null,this.caption=\"\",this.title=\"\",this.type=null}};t([r({type:String,json:{write:!0}})],s.prototype,\"altText\",void 0),t([r({type:String,json:{write:!0}})],s.prototype,\"caption\",void 0),t([r({type:String,json:{write:!0}})],s.prototype,\"title\",void 0),t([r({type:[\"image\",\"bar-chart\",\"column-chart\",\"line-chart\",\"pie-chart\"],readOnly:!0,json:{read:!1,write:!0}})],s.prototype,\"type\",void 0),s=t([e(\"esri.popup.content.mixins.MediaInfo\")],s);const p=s;export{p as default};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{_ as o}from\"../../../chunks/tslib.es6.js\";import r from\"../../../Color.js\";import{JSONSupport as e}from\"../../../core/JSONSupport.js\";import{clone as t}from\"../../../core/lang.js\";import{property as s}from\"../../../core/accessorSupport/decorators/property.js\";import{Integer as i}from\"../../../core/accessorSupport/ensureType.js\";import{subclass as p}from\"../../../core/accessorSupport/decorators/subclass.js\";import l from\"./ChartMediaInfoValueSeries.js\";var n;let c=n=class extends e{constructor(o){super(o),this.colors=null,this.fields=[],this.normalizeField=null,this.series=[],this.tooltipField=null}clone(){return new n({colors:t(this.colors),fields:t(this.fields),normalizeField:this.normalizeField,series:t(this.series),tooltipField:this.tooltipField})}};o([s({type:[r],json:{type:[[i]],write:!0}})],c.prototype,\"colors\",void 0),o([s({type:[String],json:{write:!0}})],c.prototype,\"fields\",void 0),o([s({type:String,json:{write:!0}})],c.prototype,\"normalizeField\",void 0),o([s({type:[l],json:{read:!1}})],c.prototype,\"series\",void 0),o([s({type:String,json:{write:!0}})],c.prototype,\"tooltipField\",void 0),c=n=o([p(\"esri.popup.content.support.ChartMediaInfoValue\")],c);const d=c;export{d as default};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{_ as o}from\"../../../chunks/tslib.es6.js\";import t from\"../../../core/Accessor.js\";import{property as r}from\"../../../core/accessorSupport/decorators/property.js\";import\"../../../core/has.js\";import\"../../../core/Logger.js\";import\"../../../core/RandomLCG.js\";import{subclass as e}from\"../../../core/accessorSupport/decorators/subclass.js\";var s;let l=s=class extends t{constructor(o){super(o),this.color=null,this.fieldName=null,this.tooltip=null,this.value=null}clone(){return new s({color:this.color?.clone(),fieldName:this.fieldName,tooltip:this.tooltip,value:this.value})}};o([r()],l.prototype,\"color\",void 0),o([r()],l.prototype,\"fieldName\",void 0),o([r()],l.prototype,\"tooltip\",void 0),o([r()],l.prototype,\"value\",void 0),l=s=o([e(\"esri.popup.content.support.ChartMediaInfoValueSeries\")],l);const p=l;export{p as default};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{_ as o}from\"../../../chunks/tslib.es6.js\";import{JSONSupport as r}from\"../../../core/JSONSupport.js\";import{property as s}from\"../../../core/accessorSupport/decorators/property.js\";import\"../../../core/has.js\";import\"../../../core/Logger.js\";import\"../../../core/RandomLCG.js\";import{subclass as t}from\"../../../core/accessorSupport/decorators/subclass.js\";var e;let p=e=class extends r{constructor(o){super(o),this.linkURL=null,this.sourceURL=null}clone(){return new e({linkURL:this.linkURL,sourceURL:this.sourceURL})}};o([s({type:String,json:{write:!0}})],p.prototype,\"linkURL\",void 0),o([s({type:String,json:{write:!0}})],p.prototype,\"sourceURL\",void 0),p=e=o([t(\"esri.popup.content.support.ImageMediaInfoValue\")],p);const c=p;export{c as default};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{strict as r}from\"../../../core/jsonMap.js\";const c=r()({barchart:\"bar-chart\",columnchart:\"column-chart\",linechart:\"line-chart\",piechart:\"pie-chart\"});export{c as chartTypeKebabDict};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport a from\"../BarChartMediaInfo.js\";import r from\"../ColumnChartMediaInfo.js\";import o from\"../ImageMediaInfo.js\";import e from\"../LineChartMediaInfo.js\";import i from\"../PieChartMediaInfo.js\";import t from\"../mixins/MediaInfo.js\";const m={base:t,key:\"type\",defaultKeyValue:\"image\",typeMap:{\"bar-chart\":a,\"column-chart\":r,\"line-chart\":e,\"pie-chart\":i,image:o}};export{m as types};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{_ as o}from\"../../chunks/tslib.es6.js\";import{ClonableMixin as r}from\"../../core/Clonable.js\";import{JSONSupport as t}from\"../../core/JSONSupport.js\";import{property as e}from\"../../core/accessorSupport/decorators/property.js\";import{Integer as s}from\"../../core/accessorSupport/ensureType.js\";import\"../../core/RandomLCG.js\";import\"../../core/has.js\";import{enumeration as p}from\"../../core/accessorSupport/decorators/enumeration.js\";import{subclass as a}from\"../../core/accessorSupport/decorators/subclass.js\";import{dateFormatJSONMap as c}from\"../../intl/date.js\";let i=class extends(r(t)){constructor(o){super(o),this.dateFormat=null,this.digitSeparator=!1,this.places=null}};o([p(c)],i.prototype,\"dateFormat\",void 0),o([e({type:Boolean,json:{write:!0}})],i.prototype,\"digitSeparator\",void 0),o([e({type:s,json:{write:!0}})],i.prototype,\"places\",void 0),i=o([a(\"esri.popup.support.FieldInfoFormat\")],i);const m=i;export{m as default};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{_ as r}from\"../../chunks/tslib.es6.js\";import{JSONSupport as o}from\"../../core/JSONSupport.js\";import{property as e}from\"../../core/accessorSupport/decorators/property.js\";import\"../../core/has.js\";import\"../../core/Logger.js\";import\"../../core/RandomLCG.js\";import{subclass as s}from\"../../core/accessorSupport/decorators/subclass.js\";var t;let p=t=class extends o{constructor(r){super(r),this.field=null,this.order=null}clone(){return new t({field:this.field,order:this.order})}};r([e({type:String,json:{write:!0}})],p.prototype,\"field\",void 0),r([e({type:[\"asc\",\"desc\"],json:{write:!0}})],p.prototype,\"order\",void 0),p=t=r([s(\"esri.popup.support.RelatedRecordsInfoFieldOrder\")],p);const i=p;export{i as default};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{_ as t}from\"../../chunks/tslib.es6.js\";import{ClonableMixin as o}from\"../../core/Clonable.js\";import{JSONSupport as e}from\"../../core/JSONSupport.js\";import{property as s}from\"../../core/accessorSupport/decorators/property.js\";import{Integer as r}from\"../../core/accessorSupport/ensureType.js\";import\"../../core/RandomLCG.js\";import\"../../core/has.js\";import{subclass as p}from\"../../core/accessorSupport/decorators/subclass.js\";let i=class extends(o(e)){constructor(t){super(t),this.title=null,this.description=null,this.type=null,this.open=!1,this.associatedNetworkSourceId=null,this.associatedAssetGroup=null,this.associatedAssetType=null}};t([s({type:String,json:{write:!0}})],i.prototype,\"title\",void 0),t([s({type:String,json:{write:!0}})],i.prototype,\"description\",void 0),t([s({type:[\"attachment\",\"connectivity\",\"container\",\"content\",\"structure\"],json:{write:!0}})],i.prototype,\"type\",void 0),t([s({type:Boolean,json:{read:!1}})],i.prototype,\"open\",void 0),t([s({type:Number,json:{type:r,write:!0}})],i.prototype,\"associatedNetworkSourceId\",void 0),t([s({type:Number,json:{type:r,write:!0}})],i.prototype,\"associatedAssetGroup\",void 0),t([s({type:Number,json:{type:r,write:!0}})],i.prototype,\"associatedAssetType\",void 0),i=t([p(\"esri.popup.support.UtilityNetworkAssociationType\")],i);const c=i;export{c as default};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{_ as e}from\"../chunks/tslib.es6.js\";import t from\"../config.js\";import{id as r}from\"../kernel.js\";import o from\"../request.js\";import s from\"../core/Error.js\";import{JSONSupportMixin as a}from\"../core/JSONSupport.js\";import i from\"../core/Loadable.js\";import{destroyMaybe as l,removeMaybe as u}from\"../core/maybe.js\";import{throwIfAborted as n,isAborted as p,createAbortError as h,throwIfAbortError as d}from\"../core/promiseUtils.js\";import{property as y}from\"../core/accessorSupport/decorators/property.js\";import{ensureType as c}from\"../core/accessorSupport/ensureType.js\";import\"../core/RandomLCG.js\";import\"../core/has.js\";import{reader as m}from\"../core/accessorSupport/decorators/reader.js\";import{subclass as f}from\"../core/accessorSupport/decorators/subclass.js\";import v from\"../geometry/Extent.js\";import{getLocale as S}from\"../intl/locale.js\";import{ensureDefaultPortalInstance as P}from\"./portalDefault.js\";import g from\"./PortalGroup.js\";import O from\"./PortalQueryParams.js\";import B from\"./PortalQueryResult.js\";import D from\"./PortalUser.js\";import{isApiKeyApplicable as G}from\"../support/apiKeyUtils.js\";var _;let M;const Q={PortalGroup:()=>Promise.resolve({default:g}),PortalItem:()=>import(\"./PortalItem.js\"),PortalUser:()=>Promise.resolve({default:D})};let U=_=class extends(a(i)){constructor(e){super(e),this._esriIdCredentialCreateHandle=null,this.access=null,this.allSSL=!1,this.authMode=\"auto\",this.authorizedCrossOriginDomains=null,this.basemapGalleryGroupQuery=null,this.basemapGalleryGroupQuery3D=null,this.bingKey=null,this.canListApps=!1,this.canListData=!1,this.canListPreProvisionedItems=!1,this.canProvisionDirectPurchase=!1,this.canSearchPublic=!0,this.canShareBingPublic=!1,this.canSharePublic=!1,this.canSignInArcGIS=!1,this.canSignInIDP=!1,this.colorSetsGroupQuery=null,this.commentsEnabled=!1,this.created=null,this.culture=null,this.customBaseUrl=null,this.default3DBasemapQuery=null,this.defaultBasemap=null,this.defaultDevBasemap=null,this.defaultExtent=null,this.defaultVectorBasemap=null,this.description=null,this.devBasemapGalleryGroupQuery=null,this.eueiEnabled=null,this.featuredGroups=null,this.featuredItemsGroupQuery=null,this.galleryTemplatesGroupQuery=null,this.layoutGroupQuery=null,this.livingAtlasGroupQuery=null,this.hasCategorySchema=!1,this.hasClassificationSchema=!1,this.helperServices=null,this.homePageFeaturedContent=null,this.homePageFeaturedContentCount=null,this.httpPort=null,this.httpsPort=null,this.id=null,this.ipCntryCode=null,this.isPortal=!1,this.isReadOnly=!1,this.layerTemplatesGroupQuery=null,this.maxTokenExpirationMinutes=null,this.modified=null,this.name=null,this.portalHostname=null,this.portalMode=null,this.portalProperties=null,this.region=null,this.recycleBinEnabled=!1,this.rotatorPanels=null,this.showHomePageDescription=!1,this.sourceJSON=null,this.supportsHostedServices=!1,this.symbolSetsGroupQuery=null,this.templatesGroupQuery=null,this.units=null,this.url=t.portalUrl,this.urlKey=null,this.user=null,this.use3dBasemaps=!0,this.useDefault3dBasemap=!1,this.useStandardizedQuery=!1,this.useVectorBasemaps=!1,this.vectorBasemapGalleryGroupQuery=null}normalizeCtorArgs(e){return\"string\"==typeof e?{url:e}:e}destroy(){C.unregister(this),this.defaultBasemap=l(this.defaultBasemap),this.defaultDevBasemap=l(this.defaultDevBasemap),this.defaultVectorBasemap=l(this.defaultVectorBasemap),this._esriIdCredentialCreateHandle=u(this._esriIdCredentialCreateHandle)}readAuthorizedCrossOriginDomains(e){if(e)for(const r of e)t.request.trustedServers.includes(r)||t.request.trustedServers.push(r);return e}readDefaultBasemap(e){return this._readBasemap(e)}readDefaultDevBasemap(e){return this._readBasemap(e)}readDefaultVectorBasemap(e){return this._readBasemap(e)}get extraQuery(){const e=this.user?.orgId,t=!e||this.canSearchPublic;return this.id&&!t?` AND orgid:${this.id}`:null}get hasAPIKey(){return G(this.url)}get isOrganization(){return!!this.access}get itemPageUrl(){return this.url?`${this.url}/home/item.html`:null}get restUrl(){let e=this.url;if(e){const t=e.indexOf(\"/sharing\");e=t>0?e.slice(0,t):this.url.replace(/\\/+$/,\"\"),e+=\"/sharing/rest\"}return e}get thumbnailUrl(){const e=this.restUrl,t=this.thumbnail;return e&&t?this._normalizeSSL(e+\"/portals/self/resources/\"+t):null}readUrlKey(e){return e?e.toLowerCase():e}readUser(e){let t=null;return e&&(t=D.fromJSON(e),t.portal=this),t}load(e){const t=import(\"../Basemap.js\").then((({default:t})=>{n(e),M=t})).then((()=>this.sourceJSON?this.sourceJSON:this.fetchSelf(this.authMode,!1,e))).then((e=>{if(!this.hasAPIKey&&r){const e=r;this.credential=e.findCredential(this.restUrl),this.credential||this.authMode!==_.AUTH_MODE_AUTO&&this.authMode!==_.AUTH_MODE_NO_PROMPT||(this._esriIdCredentialCreateHandle?.remove(),this._esriIdCredentialCreateHandle=e.on(\"credential-create\",w(new WeakRef(this))),C.register(this,this._esriIdCredentialCreateHandle,this))}this.sourceJSON=e,this.read(e)}));return this.addResolvingPromise(t),Promise.resolve(this)}async createElevationLayers(){await this.load();const e=this._getHelperService(\"defaultElevationLayers\"),t=(await import(\"../layers/ElevationLayer.js\")).default;return e?e.map((e=>new t({id:e.id,url:e.url}))):[]}async fetchBasemaps(e,t){const r=await this._fetchBasemaps(e,t);if(!0===t?.include3d&&!1!==this.use3dBasemaps){const o=await this._fetchBasemaps3D(e,t);r.unshift(...o)}return r}async fetchDefault3DBasemap(e){if(!this.useDefault3dBasemap||!this.default3DBasemapQuery||\"none\"===this.default3DBasemapQuery)return null;const t=new O;t.query=this.default3DBasemapQuery,t.disableExtraQuery=!0;const r=(await this.queryItems(t,e)).results.find((e=>\"Web Scene\"===e.type));return r?new M({portalItem:r}):null}fetchCategorySchema(e){return this.hasCategorySchema?this.request(this.restUrl+\"/portals/self/categorySchema\",e).then((e=>e.categorySchema)):p(e)?Promise.reject(h()):Promise.resolve([])}fetchFeaturedGroups(e){const t=this.featuredGroups,r=new O({num:100,sortField:\"title\"});if(t?.length){const o=[];for(const e of t)o.push(`(title:\"${e.title}\" AND owner:${e.owner})`);return r.query=o.join(\" OR \"),this.queryGroups(r,e).then((e=>e.results))}return p(e)?Promise.reject(h()):Promise.resolve([])}fetchRegions(e){const t=this.user?.culture||this.culture||S();return this.request(this.restUrl+\"/portals/regions\",{...e,query:{culture:t}})}fetchSettings(e){const t=this.user?.culture||this.culture||S();return this.request(this.restUrl+\"/portals/self/settings\",{...e,query:{culture:t}})}static getDefault(){return P((()=>new _))}queryGroups(e,t){return this.queryPortal(\"/community/groups\",e,\"PortalGroup\",t)}queryItems(e,t){return this.queryPortal(\"/search\",e,\"PortalItem\",t)}queryUsers(e,t){return e.sortField||(e.sortField=\"username\"),this.queryPortal(\"/community/users\",e,\"PortalUser\",t)}fetchSelf(e=this.authMode,t=!1,r){const o=this.restUrl+\"/portals/self\",s={authMode:e,query:{culture:S().toLowerCase()},withCredentials:!0,...r};return\"auto\"===s.authMode&&(s.authMode=\"no-prompt\"),t&&(s.query.default=!0),this.request(o,s)}queryPortal(e,t,r,o){const s=c(O,t),a=t=>this.request(this.restUrl+e,{...s.toRequestOptions(this),...o}).then((e=>{const r=s.clone();return r.start=e.nextStart,new B({nextQueryParams:r,queryParams:s,total:e.total,results:_._resultsToTypedArray(t,{portal:this},e,o)})})).then((e=>Promise.all(e.results.map((t=>\"function\"==typeof t.when?t.when():e))).then((()=>e),(t=>(d(t),e)))));return r&&Q[r]?Q[r]().then((({default:e})=>(n(o),a(e)))):a()}signIn(){if(this.hasAPIKey)return this.load().then((()=>{if(!this.user)throw new s(\"portal:not-authenticated\",\"Unable to authenticate user. Portal.user is missing\")}));if(this.authMode===_.AUTH_MODE_ANONYMOUS||this.authMode===_.AUTH_MODE_NO_PROMPT&&!r)return Promise.reject(new s(\"portal:invalid-auth-mode\",`Current \"authMode\"' is \"${this.authMode}\"`));if(\"failed\"===this.loadStatus)return Promise.reject(this.loadError);const e=e=>Promise.resolve().then((()=>\"not-loaded\"===this.loadStatus?(e||(this.authMode=\"immediate\"),this.load().then((()=>null))):\"loading\"===this.loadStatus?this.load().then((()=>this.credential?null:(this.credential=e,this.fetchSelf(\"immediate\")))):this.user&&this.credential===e?null:(this.credential=e,this.fetchSelf(\"immediate\")))).then((e=>{e&&(this.sourceJSON=e,this.read(e))}));return r?r.getCredential(this.restUrl,{prompt:this.authMode!==_.AUTH_MODE_NO_PROMPT}).then((t=>e(t))):e(this.credential)}normalizeUrl(e){const t=this.credential?.token;return this._normalizeSSL(t?e+(e.includes(\"?\")?\"&\":\"?\")+\"token=\"+t:e)}requestToTypedArray(e,t,r){return this.request(e,t).then((e=>{const t=_._resultsToTypedArray(r,{portal:this},e);return Promise.all(t.map((t=>\"function\"==typeof t.when?t.when():e))).then((()=>t),(()=>t))}))}request(e,t={}){const r={f:\"json\",...t.query},{authMode:s=(this.authMode===_.AUTH_MODE_ANONYMOUS||this.authMode===_.AUTH_MODE_NO_PROMPT?this.authMode:\"auto\"),body:a=null,cacheBust:i=!1,method:l=\"auto\",responseType:u=\"json\",signal:n}=t,p={authMode:s,body:a,cacheBust:i,method:l,query:r,responseType:u,timeout:0,signal:n};return t.withCredentials&&(p.withCredentials=!0),o(this._normalizeSSL(e),p).then((e=>e.data))}toJSON(){throw new s(\"internal:not-yet-implemented\",\"Portal.toJSON is not yet implemented\")}static fromJSON(e){if(!e)return null;if(e.declaredClass)throw new Error(\"JSON object is already hydrated\");return new _({sourceJSON:e})}_getHelperService(e){const t=this.helperServices&&this.helperServices[e];if(!t)throw new s(\"portal:service-not-found\",`The \\`helperServices\\` do not include an entry named \"${e}\"`);return t}async _fetchBasemaps(e,t){const r=new O;r.query=e||(this.hasAPIKey?this.devBasemapGalleryGroupQuery:this.useVectorBasemaps?this.vectorBasemapGalleryGroupQuery:this.basemapGalleryGroupQuery),r.disableExtraQuery=!0;const o=await this.queryGroups(r,t);if(!o.total)return[];const s=o.results[0];r.num=100,r.query='type:\"Web Map\" -type:\"Web Application\"',r.sortField=s.sortField||\"name\",r.sortOrder=s.sortOrder||\"desc\";const a=await s.queryItems(r,t);if(!a.total)return[];return a.results.filter((e=>\"Web Map\"===e.type)).map((e=>new M({portalItem:e})))}async _fetchBasemaps3D(e,t){const r=e||this.basemapGalleryGroupQuery3D;if(!r)return[];const o=new O({query:r,disableExtraQuery:!0}),s=await this.queryGroups(o,t);if(!s.total)return[];const a=s.results[0];o.num=100,o.query='type:\"Web Scene\"',o.sortField=a.sortField||\"name\",o.sortOrder=a.sortOrder||\"desc\";const i=await a.queryItems(o,t);if(!i.total)return[];return i.results.filter((e=>\"Web Scene\"===e.type)).map((e=>new M({portalItem:e})))}_normalizeSSL(e){return e.replace(/^http:/i,\"https:\").replace(\":7080\",\":7443\")}_readBasemap(e){if(e){const t=M.fromJSON(e);return t.portalItem={portal:this},t}return null}static _resultsToTypedArray(e,t,r,o){let s;if(r){const a=null!=o?o.signal:null;s=r.listings||r.notifications||r.userInvitations||r.tags||r.items||r.groups||r.comments||r.provisions||r.results||r.relatedItems||r,(e||t)&&(s=s.map((r=>{const o=Object.assign(e?e.fromJSON(r):r,t);return\"function\"==typeof o.load&&o.load(a),o})))}else s=[];return s}};U.AUTH_MODE_ANONYMOUS=\"anonymous\",U.AUTH_MODE_AUTO=\"auto\",U.AUTH_MODE_IMMEDIATE=\"immediate\",U.AUTH_MODE_NO_PROMPT=\"no-prompt\",e([y()],U.prototype,\"access\",void 0),e([y()],U.prototype,\"allSSL\",void 0),e([y()],U.prototype,\"authMode\",void 0),e([y()],U.prototype,\"authorizedCrossOriginDomains\",void 0),e([m(\"authorizedCrossOriginDomains\")],U.prototype,\"readAuthorizedCrossOriginDomains\",null),e([y()],U.prototype,\"basemapGalleryGroupQuery\",void 0),e([y({json:{name:\"3DBasemapGalleryGroupQuery\"}})],U.prototype,\"basemapGalleryGroupQuery3D\",void 0),e([y()],U.prototype,\"bingKey\",void 0),e([y()],U.prototype,\"canListApps\",void 0),e([y()],U.prototype,\"canListData\",void 0),e([y()],U.prototype,\"canListPreProvisionedItems\",void 0),e([y()],U.prototype,\"canProvisionDirectPurchase\",void 0),e([y()],U.prototype,\"canSearchPublic\",void 0),e([y()],U.prototype,\"canShareBingPublic\",void 0),e([y()],U.prototype,\"canSharePublic\",void 0),e([y()],U.prototype,\"canSignInArcGIS\",void 0),e([y()],U.prototype,\"canSignInIDP\",void 0),e([y()],U.prototype,\"colorSetsGroupQuery\",void 0),e([y()],U.prototype,\"commentsEnabled\",void 0),e([y({type:Date})],U.prototype,\"created\",void 0),e([y()],U.prototype,\"credential\",void 0),e([y()],U.prototype,\"culture\",void 0),e([y()],U.prototype,\"currentVersion\",void 0),e([y()],U.prototype,\"customBaseUrl\",void 0),e([y()],U.prototype,\"default3DBasemapQuery\",void 0),e([y()],U.prototype,\"defaultBasemap\",void 0),e([m(\"defaultBasemap\")],U.prototype,\"readDefaultBasemap\",null),e([y()],U.prototype,\"defaultDevBasemap\",void 0),e([m(\"defaultDevBasemap\")],U.prototype,\"readDefaultDevBasemap\",null),e([y({type:v})],U.prototype,\"defaultExtent\",void 0),e([y()],U.prototype,\"defaultVectorBasemap\",void 0),e([m(\"defaultVectorBasemap\")],U.prototype,\"readDefaultVectorBasemap\",null),e([y()],U.prototype,\"description\",void 0),e([y()],U.prototype,\"devBasemapGalleryGroupQuery\",void 0),e([y()],U.prototype,\"eueiEnabled\",void 0),e([y({readOnly:!0})],U.prototype,\"extraQuery\",null),e([y()],U.prototype,\"featuredGroups\",void 0),e([y()],U.prototype,\"featuredItemsGroupQuery\",void 0),e([y()],U.prototype,\"galleryTemplatesGroupQuery\",void 0),e([y()],U.prototype,\"layoutGroupQuery\",void 0),e([y()],U.prototype,\"livingAtlasGroupQuery\",void 0),e([y({readOnly:!0})],U.prototype,\"hasAPIKey\",null),e([y()],U.prototype,\"hasCategorySchema\",void 0),e([y()],U.prototype,\"hasClassificationSchema\",void 0),e([y()],U.prototype,\"helpBase\",void 0),e([y()],U.prototype,\"helperServices\",void 0),e([y()],U.prototype,\"helpMap\",void 0),e([y()],U.prototype,\"homePageFeaturedContent\",void 0),e([y()],U.prototype,\"homePageFeaturedContentCount\",void 0),e([y()],U.prototype,\"httpPort\",void 0),e([y()],U.prototype,\"httpsPort\",void 0),e([y()],U.prototype,\"id\",void 0),e([y()],U.prototype,\"ipCntryCode\",void 0),e([y({readOnly:!0})],U.prototype,\"isOrganization\",null),e([y()],U.prototype,\"isPortal\",void 0),e([y()],U.prototype,\"isReadOnly\",void 0),e([y({readOnly:!0})],U.prototype,\"itemPageUrl\",null),e([y()],U.prototype,\"layerTemplatesGroupQuery\",void 0),e([y()],U.prototype,\"maxTokenExpirationMinutes\",void 0),e([y({type:Date})],U.prototype,\"modified\",void 0),e([y()],U.prototype,\"name\",void 0),e([y()],U.prototype,\"portalHostname\",void 0),e([y()],U.prototype,\"portalMode\",void 0),e([y()],U.prototype,\"portalProperties\",void 0),e([y()],U.prototype,\"region\",void 0),e([y()],U.prototype,\"recycleBinEnabled\",void 0),e([y({readOnly:!0})],U.prototype,\"restUrl\",null),e([y()],U.prototype,\"rotatorPanels\",void 0),e([y()],U.prototype,\"showHomePageDescription\",void 0),e([y()],U.prototype,\"sourceJSON\",void 0),e([y()],U.prototype,\"staticImagesUrl\",void 0),e([y({json:{name:\"2DStylesGroupQuery\"}})],U.prototype,\"stylesGroupQuery2d\",void 0),e([y({json:{name:\"stylesGroupQuery\"}})],U.prototype,\"stylesGroupQuery3d\",void 0),e([y()],U.prototype,\"supportsHostedServices\",void 0),e([y()],U.prototype,\"symbolSetsGroupQuery\",void 0),e([y()],U.prototype,\"templatesGroupQuery\",void 0),e([y()],U.prototype,\"thumbnail\",void 0),e([y({readOnly:!0})],U.prototype,\"thumbnailUrl\",null),e([y()],U.prototype,\"units\",void 0),e([y()],U.prototype,\"url\",void 0),e([y()],U.prototype,\"urlKey\",void 0),e([m(\"urlKey\")],U.prototype,\"readUrlKey\",null),e([y()],U.prototype,\"user\",void 0),e([m(\"user\")],U.prototype,\"readUser\",null),e([y()],U.prototype,\"use3dBasemaps\",void 0),e([y()],U.prototype,\"useDefault3dBasemap\",void 0),e([y()],U.prototype,\"useStandardizedQuery\",void 0),e([y()],U.prototype,\"useVectorBasemaps\",void 0),e([y()],U.prototype,\"vectorBasemapGalleryGroupQuery\",void 0),U=_=e([f(\"esri.portal.Portal\")],U);const b=U,C=new FinalizationRegistry((e=>{e.remove()}));function w(e){const t=r;return()=>{const r=e.deref();r&&t.findCredential(r.restUrl)&&r.signIn().catch((()=>{}))}}export{b as default};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{_ as t}from\"../chunks/tslib.es6.js\";import o from\"../core/Error.js\";import{JSONSupport as r}from\"../core/JSONSupport.js\";import{property as e}from\"../core/accessorSupport/decorators/property.js\";import\"../core/has.js\";import\"../core/Logger.js\";import\"../core/RandomLCG.js\";import{subclass as s}from\"../core/accessorSupport/decorators/subclass.js\";let p=class extends r{constructor(t){super(t),this.created=null,this.id=null,this.portal=null,this.title=null,this.username=null}get url(){const t=this.portal?.restUrl;return t?`${t}/content/users/${this.username}/${this.id}`:null}toJSON(){throw new o(\"internal:not-yet-implemented\",\"PortalFolder.toJSON is not yet implemented\")}};t([e({type:Date})],p.prototype,\"created\",void 0),t([e()],p.prototype,\"id\",void 0),t([e()],p.prototype,\"portal\",void 0),t([e()],p.prototype,\"title\",void 0),t([e({readOnly:!0})],p.prototype,\"url\",null),t([e()],p.prototype,\"username\",void 0),p=t([s(\"esri.portal.PortalFolder\")],p);const l=p;export{l as default};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{_ as t}from\"../chunks/tslib.es6.js\";import r from\"../core/Error.js\";import{JSONSupport as e}from\"../core/JSONSupport.js\";import{property as o}from\"../core/accessorSupport/decorators/property.js\";import{ensureType as s}from\"../core/accessorSupport/ensureType.js\";import\"../core/RandomLCG.js\";import\"../core/has.js\";import{subclass as n}from\"../core/accessorSupport/decorators/subclass.js\";import i from\"./PortalQueryParams.js\";var l;let u=l=class extends e{constructor(t){super(t),this.access=null,this.created=null,this.description=null,this.id=null,this.isInvitationOnly=!1,this.modified=null,this.owner=null,this.portal=null,this.snippet=null,this.sortField=null,this.sortOrder=null,this.sourceJSON=null,this.tags=null,this.title=null}get thumbnailUrl(){const t=this.url,r=this.thumbnail;return t&&r&&this.portal?this.portal?.normalizeUrl(`${t}/info/${r}?f=json`):null}get url(){const t=this.portal?.restUrl;return t?t+\"/community/groups/\"+this.id:null}fetchCategorySchema(t){return this.portal.request(this.url+\"/categorySchema\",t).then((r=>{const e=r.categorySchema||[];return e.some((t=>\"contentCategorySetsGroupQuery.LivingAtlas\"===t.source))?this._fetchCategorySchemaSet(\"LivingAtlas\",t):e}))}fetchMembers(t){return this.portal.request(this.url+\"/users\",t)}getThumbnailUrl(t){let r=this.thumbnailUrl;return r&&t&&(r+=`&w=${t}`),r}toJSON(){throw new r(\"internal:not-yet-implemented\",\"PortalGroup.toJSON is not yet implemented\")}static fromJSON(t){if(!t)return null;if(t.declaredClass)throw new Error(\"JSON object is already hydrated\");const r=new l({sourceJSON:t});return r.read(t),r}queryItems(t,r){let e=s(i,t);const o=this.portal;return parseFloat(o.currentVersion)>5?(e=e||new i,o.queryPortal(`/content/groups/${this.id}/search`,e,\"PortalItem\",r)):(e=e?e.clone():new i,e.query=\"group:\"+this.id+(e.query?\" \"+e.query:\"\"),o.queryItems(e,r))}_fetchCategorySchemaSet(t,e){const o=this.portal;return o.fetchSelf(o.authMode,!0,e).then((t=>{const s=t.contentCategorySetsGroupQuery;if(s){const t=new i({disableExtraQuery:!0,num:1,query:s});return o.queryGroups(t,e)}throw new r(\"portal-group:fetchCategorySchema\",\"contentCategorySetsGroupQuery value not found\")})).then((o=>{if(o.total){const r=o.results[0],s=new i({num:1,query:`typekeywords:\"${t}\"`});return r.queryItems(s,e)}throw new r(\"portal-group:fetchCategorySchema\",\"contentCategorySetsGroupQuery group not found\")})).then((t=>{if(t.total){return t.results[0].fetchData(\"json\",e).then((t=>{const r=t?.categorySchema;return r?.length?r:[]}))}return[]}))}};t([o()],u.prototype,\"access\",void 0),t([o({type:Date})],u.prototype,\"created\",void 0),t([o()],u.prototype,\"description\",void 0),t([o()],u.prototype,\"id\",void 0),t([o()],u.prototype,\"isInvitationOnly\",void 0),t([o({type:Date})],u.prototype,\"modified\",void 0),t([o()],u.prototype,\"owner\",void 0),t([o()],u.prototype,\"portal\",void 0),t([o()],u.prototype,\"snippet\",void 0),t([o()],u.prototype,\"sortField\",void 0),t([o()],u.prototype,\"sortOrder\",void 0),t([o()],u.prototype,\"sourceJSON\",void 0),t([o()],u.prototype,\"tags\",void 0),t([o()],u.prototype,\"thumbnail\",void 0),t([o({readOnly:!0})],u.prototype,\"thumbnailUrl\",null),t([o()],u.prototype,\"title\",void 0),t([o({readOnly:!0})],u.prototype,\"url\",null),u=l=t([n(\"esri.portal.PortalGroup\")],u);const p=u;export{p as default};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{_ as e}from\"../chunks/tslib.es6.js\";import{getAssetUrl as t}from\"../assets.js\";import i from\"../core/Error.js\";import{JSONSupportMixin as r}from\"../core/JSONSupport.js\";import{clone as o,fixJson as s}from\"../core/lang.js\";import a from\"../core/Loadable.js\";import{isDataProtocol as n,makeAbsolute as l}from\"../core/urlUtils.js\";import{property as p}from\"../core/accessorSupport/decorators/property.js\";import{ensureClass as c}from\"../core/accessorSupport/ensureType.js\";import{reader as d}from\"../core/accessorSupport/decorators/reader.js\";import{subclass as u}from\"../core/accessorSupport/decorators/subclass.js\";import m from\"../geometry/Extent.js\";import h from\"./Portal.js\";import g from\"./PortalItemResource.js\";import y from\"./PortalRating.js\";import{a as w}from\"../chunks/persistableUrlUtils.js\";var v;const f=new Set([\"3DTiles Service\",\"CSV\",\"Feature Collection\",\"Feature Service\",\"Feed\",\"GeoJson\",\"Group Layer\",\"Image Service\",\"KML\",\"Map Service\",\"Media Layer\",\"Scene Service\",\"Stream Service\",\"Vector Tile Service\",\"WFS\",\"WMS\",\"WMTS\"]),b=new Set([\"KML\",\"GeoJson\",\"CSV\"]);let k=v=class extends(r(a)){static from(e){return c(v,e)}constructor(e){super(e),this.access=null,this.accessInformation=null,this.apiKey=null,this.applicationProxies=null,this.avgRating=null,this.categories=null,this.classification=null,this.created=null,this.culture=null,this.description=null,this.extent=null,this.groupCategories=null,this.id=null,this.isOrgItem=!1,this.itemControl=null,this.licenseInfo=null,this.modified=null,this.name=null,this.numComments=null,this.numRatings=null,this.numViews=null,this.owner=null,this.ownerFolder=null,this.portal=null,this.screenshots=null,this.size=null,this.snippet=null,this.sourceJSON=null,this.sourceUrl=null,this.spatialReference=null,this.tags=null,this.title=null,this.type=null,this.typeKeywords=null,this.url=null}destroy(){this.portal=null}get displayName(){const e=this.type,t=this.typeKeywords||[];let i=e;return\"Feature Service\"===e||\"Feature Collection\"===e?i=t.includes(\"Table\")?\"Table\":t.includes(\"Route Layer\")?\"Route Layer\":t.includes(\"Markup\")?\"Markup\":\"Feature Layer\":\"Image Service\"===e?i=t.includes(\"Elevation 3D Layer\")?\"Elevation Layer\":t.includes(\"Tiled Imagery\")?\"Tiled Imagery Layer\":\"Imagery Layer\":\"Scene Service\"===e?i=\"Scene Layer\":\"Video Service\"===e?i=\"Video Layer\":\"Scene Package\"===e?i=\"Scene Layer Package\":\"Stream Service\"===e?i=\"Feature Layer\":\"Geoprocessing Service\"===e?i=t.includes(\"Web Tool\")?\"Tool\":\"Geoprocessing Service\":\"Geoenrichment Service\"===e?i=\"GeoEnrichment Service\":\"Geocoding Service\"===e?i=\"Locator\":\"Microsoft Powerpoint\"===e?i=\"Microsoft PowerPoint\":\"GeoJson\"===e?i=\"GeoJSON\":\"Globe Service\"===e?i=\"Globe Layer\":\"Vector Tile Service\"===e?i=\"Tile Layer\":\"netCDF\"===e?i=\"NetCDF\":\"Map Service\"===e?i=t.includes(\"Spatiotemporal\")||!t.includes(\"Hosted Service\")&&!t.includes(\"Tiled\")||t.includes(\"Relational\")?\"Map Image Layer\":\"Tile Layer\":e?.toLowerCase().includes(\"add in\")?i=e.replaceAll(/(add in)/gi,\"Add-In\"):\"datastore catalog service\"===e?i=\"Big Data File Share\":\"Compact Tile Package\"===e?i=\"Tile Package (tpkx)\":\"Raster function template\"===e?i=\"Raster Function Template\":\"OGCFeatureServer\"===e?i=\"OGC Feature Layer\":\"web mapping application\"===e&&t.includes(\"configurableApp\")?i=\"Instant App\":\"Insights Page\"===e?i=\"Insights Report\":\"Excalibur Imagery Project\"===e?i=\"Excalibur Project\":\"3DTiles Service\"===e?i=\"3D tiles layer\":\"3DTiles Package\"===e&&(i=\"3D tiles package\"),i}readExtent(e){return e&&e.length?new m(e[0][0],e[0][1],e[1][0],e[1][1]):null}get iconUrl(){const e=this.type?.toLowerCase()||\"\",i=this.typeKeywords||[],r=\"esri/images/portal/\",o=\"16\";let s,a=!1,n=!1,l=!1,p=!1,c=!1,d=!1,u=!1,m=!1;return e.indexOf(\"service\")>0||\"feature collection\"===e||\"kml\"===e||\"wms\"===e||\"wmts\"===e||\"wfs\"===e?(a=i.includes(\"Hosted Service\"),\"feature service\"===e||\"feature collection\"===e||\"kml\"===e||\"wfs\"===e?(n=i.includes(\"Table\"),l=i.includes(\"Route Layer\"),p=i.includes(\"Markup\"),c=i.includes(\"Spatiotemporal\"),d=i.includes(\"UtilityNetwork\"),s=c&&n?\"spatiotemporaltable\":n?\"table\":l?\"routelayer\":p?\"markup\":c?\"spatiotemporal\":d?\"utilitynetwork\":a?\"featureshosted\":\"features\"):\"map service\"===e||\"wms\"===e||\"wmts\"===e?(c=i.includes(\"Spatiotemporal\"),u=i.includes(\"Relational\"),s=c||u?\"mapimages\":a||i.includes(\"Tiled\")||\"wmts\"===e?\"maptiles\":\"mapimages\"):s=\"scene service\"===e?i.includes(\"Line\")?\"sceneweblayerline\":i.includes(\"3DObject\")?\"sceneweblayermultipatch\":i.includes(\"Point\")?\"sceneweblayerpoint\":i.includes(\"IntegratedMesh\")?\"sceneweblayermesh\":i.includes(\"PointCloud\")?\"sceneweblayerpointcloud\":i.includes(\"Polygon\")?\"sceneweblayerpolygon\":i.includes(\"Building\")?\"sceneweblayerbuilding\":i.includes(\"Voxel\")?\"sceneweblayervoxel\":\"sceneweblayer\":\"image service\"===e?i.includes(\"Elevation 3D Layer\")?\"elevationlayer\":i.includes(\"Tiled Imagery\")?\"tiledimagerylayer\":\"imagery\":\"stream service\"===e?\"streamlayer\":\"vector tile service\"===e?\"vectortile\":\"datastore catalog service\"===e?\"datastorecollection\":\"geocoding service\"===e?\"geocodeservice\":\"video service\"===e?i.includes(\"Live Stream\")?\"livestreamvideolayer\":\"videolayer\":\"geoprocessing service\"===e?i.includes(\"Web Tool\")?\"tool\":\"layers\":\"geodata service\"===e?\"geodataservice\":\"3dtiles service\"===e?i.includes(\"3DObject\")?\"3dobjecttileslayer\":i.includes(\"IntegratedMesh\")?\"integratedmeshtileslayer\":\"3dtileslayer\":\"layers\"):\"web map\"===e||\"cityengine web scene\"===e?s=\"maps\":\"web scene\"===e?s=i.includes(\"ViewingMode-Local\")?\"webscenelocal\":\"websceneglobal\":\"web mapping application\"===e&&i.includes(\"configurableApp\")?s=\"instantapps\":\"web mapping application\"===e||\"mobile application\"===e||\"application\"===e||\"operation view\"===e||\"desktop application\"===e?s=\"apps\":\"map document\"===e||\"map package\"===e||\"published map\"===e||\"scene document\"===e||\"globe document\"===e||\"basemap package\"===e||\"mobile basemap package\"===e||\"mobile map package\"===e||\"project package\"===e||\"project template\"===e||\"pro map\"===e||\"layout\"===e||\"layer\"===e&&i.includes(\"ArcGIS Pro\")||\"explorer map\"===e&&i.indexOf(\"Explorer Document\")?s=\"mapsgray\":\"service definition\"===e||\"shapefile\"===e||\"cad drawing\"===e||\"geojson\"===e||\"netcdf\"===e||\"administrative report\"===e?s=\"datafiles\":\"360 vr experience\"===e?s=\"360vr\":\"explorer add in\"===e||\"desktop add in\"===e||\"windows viewer add in\"===e||\"windows viewer configuration\"===e?s=\"appsgray\":\"arcgis pro add in\"===e||\"arcgis pro configuration\"===e?s=\"addindesktop\":\"pdf\"===e?s=\"pdf\":\"microsoft word\"===e?s=\"word\":\"microsoft excel\"===e?s=\"excel\":\"microsoft powerpoint\"===e?s=\"ppt\":\"rule package\"===e||\"file geodatabase\"===e||\"sqlite geodatabase\"===e||\"csv collection\"===e||\"kml collection\"===e||\"windows mobile package\"===e||\"map template\"===e||\"desktop application template\"===e||\"gml\"===e||\"arcpad package\"===e||\"code sample\"===e||\"document link\"===e||\"earth configuration\"===e||\"operations dashboard add in\"===e||\"rules package\"===e||\"workflow manager package\"===e||\"explorer map\"===e&&i.includes(\"Explorer Mapping Application\")||i.includes(\"Document\")?s=\"datafilesgray\":\"network analysis service\"===e||\"geoprocessing service\"===e||\"geodata service\"===e||\"geometry service\"===e||\"geoprocessing package\"===e||\"locator package\"===e||\"geoprocessing sample\"===e||\"workflow manager service\"===e?s=\"toolsgray\":\"layer\"===e||\"layer package\"===e||\"explorer layer\"===e?s=\"layersgray\":\"analysis model\"===e?s=\"analysismodel\":\"scene package\"===e?s=\"scenepackage\":\"3dtiles package\"===e?s=\"3dtileslayerpackage\":\"3dtiles service\"===e?s=\"3dtileslayer\":\"mobile scene package\"===e?s=\"mobilescenepackage\":\"tile package\"===e||\"compact tile package\"===e?s=\"tilepackage\":\"task file\"===e?s=\"taskfile\":\"report template\"===e?s=\"report-template\":\"statistical data collection\"===e?s=\"statisticaldatacollection\":\"insights workbook\"===e?s=\"workbook\":\"insights model\"===e?s=\"insightsmodel\":\"insights page\"===e?s=\"insightspage\":\"insights theme\"===e?s=\"insightstheme\":\"hub initiative\"===e?s=\"hubinitiative\":\"hub page\"===e?s=\"hubpage\":\"hub site application\"===e?s=\"hubsite\":\"hub event\"===e?s=\"hubevent\":\"hub project\"===e?s=\"hubproject\":\"relational database connection\"===e?s=\"relationaldatabaseconnection\":\"big data file share\"===e?s=\"datastorecollection\":\"image collection\"===e?s=\"imagecollection\":\"desktop style\"===e?s=\"desktopstyle\":\"style\"===e?s=i.includes(\"Dictionary\")?\"dictionarystyle\":\"style\":\"dashboard\"===e?s=\"dashboard\":\"raster function template\"===e?s=\"rasterprocessingtemplate\":\"vector tile package\"===e?s=\"vectortilepackage\":\"ortho mapping project\"===e?s=\"orthomappingproject\":\"ortho mapping template\"===e?s=\"orthomappingtemplate\":\"solution\"===e?s=\"solutions\":\"geopackage\"===e?s=\"geopackage\":\"deep learning package\"===e?s=\"deeplearningpackage\":\"real time analytic\"===e?s=\"realtimeanalytics\":\"reality mapping project\"===e?s=\"realitymappingproject\":\"big data analytic\"===e?s=\"bigdataanalytics\":\"feed\"===e?s=\"feed\":\"excalibur imagery project\"===e?s=\"excaliburimageryproject\":\"notebook\"===e?s=\"notebook\":\"storymap\"===e?s=\"storymap\":\"survey123 add in\"===e?s=\"survey123addin\":\"mission\"===e?s=\"mission\":\"mission report\"===e?s=\"missionreport\":\"mission template\"===e?s=\"missiontemplate\":\"quickcapture project\"===e?s=\"quickcaptureproject\":\"pro report\"===e?s=\"proreport\":\"pro report template\"===e?s=\"proreporttemplate\":\"urban model\"===e?s=\"urbanmodel\":\"urban project\"===e?s=\"urbanproject\":\"web experience\"===e?s=\"experiencebuilder\":\"web experience template\"===e?s=\"webexperiencetemplate\":\"experience builder widget\"===e?s=\"experiencebuilderwidget\":\"experience builder widget package\"===e?s=\"experiencebuilderwidgetpackage\":\"workflow\"===e?s=\"workflow\":\"kernel gateway connection\"===e?s=\"kernelgatewayconnection\":\"insights script\"===e?s=\"insightsscript\":\"hub initiative template\"===e?s=\"hubinitiativetemplate\":\"storymap theme\"===e?s=\"storymaptheme\":\"knowledge graph\"===e?s=\"knowledgegraph\":\"knowledge graph layer\"===e?s=\"knowledgegraphlayer\":\"knowledge studio project\"===e?s=\"knowledgestudio\":\"native application\"===e?s=\"nativeapp\":\"native application installer\"===e?s=\"nativeappinstaller\":\"web link chart\"===e?s=\"linkchart\":\"knowledge graph web investigation\"===e?s=\"investigation\":\"ogcfeatureserver\"===e?s=\"features\":\"pro presentation\"===e?s=\"propresentation\":\"pro project\"===e?s=\"proproject\":\"insights workbook package\"===e?s=\"insightsworkbookpackage\":\"apache parquet\"===e?s=\"apacheparquet\":\"notebook code snippet library\"===e?s=\"notebookcodesnippets\":\"suitability model\"===e?s=\"suitabilitymodel\":\"esri classifier definition\"===e?s=\"classifierdefinition\":\"esri classification schema\"===e?s=\"classificationschema\":\"insights data engineering workbook\"===e?s=\"dataengineeringworkbook\":\"insights data engineering model\"===e?s=\"dataengineeringmodel\":\"deep learning studio project\"===e?s=\"deeplearningproject\":\"discussion\"===e?s=\"discussion\":\"allsource project\"===e?s=\"allsourceproject\":\"api key\"===e?s=\"apikey\":\"data pipeline\"===e?s=\"datapipelines\":\"group layer\"===e?(m=i.includes(\"Map\"),s=m?\"layergroup2d\":\"layergroup\"):s=\"media layer\"===e?\"onlinemedialayer\":\"form\"===e?i.includes(\"Survey123\")?\"survey\":\"datafilesgray\":\"csv\"===e?\"csv\":\"image\"===e?\"image\":\"maps\",s?t(r+s+o+\".png\"):null}get isLayer(){return null!=this.type&&f.has(this.type)}get itemCdnUrl(){return w(this.itemUrl)}get itemPageUrl(){const e=this.portal?.itemPageUrl;return e&&this.id?`${e}?id=${this.id}`:null}get itemUrl(){const e=this.portal?.restUrl;return e&&this.id?`${e}/content/items/${this.id}`:null}get thumbnailUrl(){const e=this.itemUrl,t=this.thumbnail;return e&&t?this.portal?.normalizeUrl(`${e}/info/${t}?f=json`)??null:null}get userItemUrl(){const e=this.portal?.restUrl;if(!e)return null;const t=this.owner||this.portal?.user?.username;if(!t)return null;return`${e}/content/users/${this.ownerFolder?`${t}/${this.ownerFolder}`:t}/items/${this.id}`}load(e){const t=this.portal??(this.portal=h.getDefault()),i=t.load(e).then((()=>this.sourceJSON?this.sourceJSON:this.id&&this.itemUrl?t.request(this.itemUrl,{signal:null!=e?e.signal:null,query:{token:this.apiKey}}):{})).then((e=>{this.sourceJSON=e,this.read(e)}));return this.addResolvingPromise(i),Promise.resolve(this)}async addRating(e){const t={method:\"post\",query:{}};return e instanceof y&&(e=e.rating),null==e||isNaN(e)||\"number\"!=typeof e||(t.query.rating=e),this.portal?(await this.portal.request(this.itemUrl+\"/addRating\",t),new y({rating:e,created:new Date})):null}clone(){const e={access:this.access,accessInformation:this.accessInformation,applicationProxies:o(this.applicationProxies),avgRating:this.avgRating,categories:o(this.categories),classification:o(this.classification),created:o(this.created),culture:this.culture,description:this.description,extent:o(this.extent),groupCategories:o(this.groupCategories),id:this.id,itemControl:this.itemControl,licenseInfo:this.licenseInfo,modified:o(this.modified),name:this.name,numComments:this.numComments,numRatings:this.numRatings,numViews:this.numViews,owner:this.owner,ownerFolder:this.ownerFolder,portal:this.portal,screenshots:o(this.screenshots),size:this.size,snippet:this.snippet,sourceUrl:this.sourceUrl,spatialReference:this.spatialReference,tags:o(this.tags),thumbnail:this.thumbnail,title:this.title,type:this.type,typeKeywords:o(this.typeKeywords),url:this.url};this.loaded&&(e.loadStatus=\"loaded\");const t=new v({sourceJSON:this.sourceJSON}).set(e);return t._set(\"isOrgItem\",this.isOrgItem),t}createPostQuery(){const e=this.toJSON();for(const t of[\"tags\",\"typeKeywords\",\"categories\"])e[t]=e[t]?.join(\", \");for(const t of[\"extent\",\"classification\"]){const i=e[t];i&&(e[t]=JSON.stringify(i))}return e}async deleteRating(){await this.portal.request(this.itemUrl+\"/deleteRating\",{method:\"post\"})}fetchData(e=\"json\",t){return this.portal.request(this.itemUrl+\"/data\",{responseType:e,...t,query:{token:this.apiKey}})}async fetchRating(e){const t=await this.portal.request(this.itemUrl+\"/rating\",{query:{token:this.apiKey},...e});return null!=t.rating?(t.created=new Date(t.created),new y(t)):null}fetchRelatedItems(e,t){return this.portal.requestToTypedArray(this.itemUrl+\"/relatedItems\",{query:{...e,token:this.apiKey},...t},v)}getThumbnailUrl(e){let t=this.thumbnailUrl;return t&&e&&(t+=`&w=${e}`),t}reload(){return this.portal.request(this.itemUrl??\"\",{cacheBust:!0,query:{token:this.apiKey}}).then((e=>(this.applicationProxies&&!Object.hasOwn(e,\"appProxies\")&&(this.applicationProxies=null),this.sourceJSON=e,this.read(e),this)))}update(e){return this.id?this.load().then((()=>this.portal.signIn())).then((()=>{const t=e?.data,i={method:\"post\"};i.query=this.createPostQuery();for(const e in i.query)null===i.query[e]&&(i.query[e]=\"\");return i.query.clearEmptyFields=!0,null!=t&&(\"string\"==typeof t?i.query.text=t:\"object\"==typeof t&&(i.query.text=JSON.stringify(t))),this.portal.request(`${this.userItemUrl}/update`,i).then((()=>this.reload()))})):Promise.reject(new i(\"portal:item-does-not-exist\",\"The item does not exist yet and cannot be updated\"))}async copy(e){if(!this.id)throw new i(\"portal:item-does-not-exist\",\"The item does not exist yet\");await this.load();const{portal:t,itemUrl:r}=this;await t.signIn();const{copyResources:o,folder:s,tags:a,title:n}=e||{},l={method:\"post\",query:{copyPrivateResources:\"all\"===o,folder:\"string\"==typeof s?s:s?.id,includeResources:!!o,tags:a?.join(\",\"),title:n}},{itemId:p}=await t.request(`${r}/copy`,l);return new v({id:p,portal:t})}updateThumbnail(e){return this.id?this.load().then((()=>this.portal.signIn())).then((()=>{const t=e.thumbnail,i=e.filename,r={method:\"post\"};if(\"string\"==typeof t)n(t)?r.query={data:t}:r.query={url:l(t)},null!=i&&(r.query.filename=i);else{const e=new FormData;null!=i?e.append(\"file\",t,i):e.append(\"file\",t),r.body=e}return this.portal.request(`${this.userItemUrl}/updateThumbnail`,r).then((()=>this.reload()))})):Promise.reject(new i(\"portal:item-does-not-exist\",\"The item does not exist yet and cannot be updated\"))}async fetchResources(e={},t){const{fetchResources:i}=await import(\"./support/resourceUtils.js\");return i(this,e,t)}async addResource(e,t,i){const{addOrUpdateResources:r}=await import(\"./support/resourceUtils.js\");return e.portalItem=this,await r(this,[{resource:e,content:t,compress:i?.compress,access:i?.access}],\"add\",i),e}async removeResource(e,t){const{removeResource:r}=await import(\"./support/resourceUtils.js\");if(e.portalItem&&e.portalItem.itemUrl!==this.itemUrl)throw new i(\"removeresource:portal-item-mismatch\",\"The portal item associated with the provided resource does not match the item\");return r(this,e,t)}async removeAllResources(e){const{removeAllResources:t}=await import(\"./support/resourceUtils.js\");return t(this,e)}resourceFromPath(e){return new g({portalItem:this,path:e})}toJSON(){const e=this.extent,t={accessInformation:this.accessInformation,categories:o(this.categories),classification:o(this.classification),created:this.created?.getTime(),description:this.description,extent:e&&[[e.xmin,e.ymin],[e.xmax,e.ymax]],id:this.id,isOrgItem:this.isOrgItem,licenseInfo:this.licenseInfo,modified:this.modified?.getTime(),name:this.name,owner:this.owner,ownerFolder:this.ownerFolder,snippet:this.snippet,sourceUrl:this.sourceUrl,spatialReference:this.spatialReference,tags:o(this.tags),thumbnail:this.thumbnail,title:this.title,type:this.type,typeKeywords:o(this.typeKeywords),url:this.url};return s(t)}static fromJSON(e){if(!e)return null;if(e.declaredClass)throw new Error(\"JSON object is already hydrated\");return new v({sourceJSON:e})}_getPostQuery(){const e=this.toJSON();for(const t in e)\"tags\"===t&&null!==e[t]&&(e[t]=e[t].join(\", \")),\"typeKeywords\"===t&&null!==e[t]&&(e[t]=e[t].join(\", \")),\"extent\"===t&&e[t]&&(e[t]=JSON.stringify(e[t]));return e}};e([p({type:[\"private\",\"shared\",\"org\",\"public\"]})],k.prototype,\"access\",void 0),e([p()],k.prototype,\"accessInformation\",void 0),e([p({type:String})],k.prototype,\"apiKey\",void 0),e([p({json:{read:{source:\"appProxies\"}}})],k.prototype,\"applicationProxies\",void 0),e([p()],k.prototype,\"avgRating\",void 0),e([p()],k.prototype,\"categories\",void 0),e([p()],k.prototype,\"classification\",void 0),e([p({type:Date})],k.prototype,\"created\",void 0),e([p()],k.prototype,\"culture\",void 0),e([p()],k.prototype,\"description\",void 0),e([p({readOnly:!0})],k.prototype,\"displayName\",null),e([p({type:m})],k.prototype,\"extent\",void 0),e([d(\"extent\")],k.prototype,\"readExtent\",null),e([p()],k.prototype,\"groupCategories\",void 0),e([p({readOnly:!0})],k.prototype,\"iconUrl\",null),e([p()],k.prototype,\"id\",void 0),e([p({readOnly:!0})],k.prototype,\"isLayer\",null),e([p({type:Boolean,readOnly:!0})],k.prototype,\"isOrgItem\",void 0),e([p()],k.prototype,\"itemControl\",void 0),e([p({readOnly:!0})],k.prototype,\"itemPageUrl\",null),e([p({readOnly:!0})],k.prototype,\"itemUrl\",null),e([p()],k.prototype,\"licenseInfo\",void 0),e([p({type:Date})],k.prototype,\"modified\",void 0),e([p()],k.prototype,\"name\",void 0),e([p()],k.prototype,\"numComments\",void 0),e([p()],k.prototype,\"numRatings\",void 0),e([p()],k.prototype,\"numViews\",void 0),e([p()],k.prototype,\"owner\",void 0),e([p()],k.prototype,\"ownerFolder\",void 0),e([p({type:h})],k.prototype,\"portal\",void 0),e([p()],k.prototype,\"screenshots\",void 0),e([p()],k.prototype,\"size\",void 0),e([p()],k.prototype,\"snippet\",void 0),e([p()],k.prototype,\"sourceJSON\",void 0),e([p({type:String})],k.prototype,\"sourceUrl\",void 0),e([p({type:String})],k.prototype,\"spatialReference\",void 0),e([p()],k.prototype,\"tags\",void 0),e([p()],k.prototype,\"thumbnail\",void 0),e([p({readOnly:!0})],k.prototype,\"thumbnailUrl\",null),e([p()],k.prototype,\"title\",void 0),e([p()],k.prototype,\"type\",void 0),e([p()],k.prototype,\"typeKeywords\",void 0),e([p({type:String,json:{read(e,t){if(b.has(t.type)){const t=this.portal?.restUrl;e||=t&&this.id?`${t}/content/items/${this.id}/data`:null}return e}}})],k.prototype,\"url\",void 0),e([p({readOnly:!0})],k.prototype,\"userItemUrl\",null),k=v=e([u(\"esri.portal.PortalItem\")],k);const S=k;export{S as default};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{_ as t}from\"../chunks/tslib.es6.js\";import r from\"../core/Accessor.js\";import e from\"../core/Error.js\";import o from\"../core/Logger.js\";import{isAbsolute as s,makeRelative as a}from\"../core/urlUtils.js\";import{property as l}from\"../core/accessorSupport/decorators/property.js\";import{cast as p}from\"../core/accessorSupport/decorators/cast.js\";import\"../core/RandomLCG.js\";import\"../core/has.js\";import{subclass as i}from\"../core/accessorSupport/decorators/subclass.js\";let c=class extends r{constructor(t){super(t),this.portalItem=null}normalizeCtorArgs(t){return t?.portalItem&&t.path?{...t,path:n(t.path,t.portalItem)}:t}set path(t){null!=t&&s(t)?o.getLogger(this).error(\"portalitemresource:invalid-path\",\"A portal item resource path must be relative\"):this._set(\"path\",t)}_castPath(t){return n(t,this.portalItem)}get url(){return this.portalItem&&this.path?`${this.portalItem.itemUrl}/resources/${this.path}`:null}get cdnUrl(){return this.portalItem&&this.path?`${this.portalItem.itemCdnUrl}/resources/${this.path}`:null}get itemRelativeUrl(){return this.portalItem&&this.path?`./resources/${this.path}`:null}fetch(t=\"json\",r){const o=this.cdnUrl;if(null==o)throw new e(\"portal-item-resource:fetch\",\"Portal item resource does not refer to a valid item or path\");return this.portalItem.portal.request(o,{responseType:t,query:{token:this.portalItem.apiKey,_ts:r?.cacheBust?Date.now():null},signal:r?.signal})}async update(t,r){const{addOrUpdateResources:e}=await import(\"./support/resourceUtils.js\");return await e(this.portalItem,[{resource:this,content:t,compress:r?.compress,access:r?.access}],\"update\",r),this}hasPath(){return null!=this.path}};function n(t,r){return null==t?t:(t=t.replace(/^\\/+/,\"\"),null!=r&&s(t)&&(t=a(t,r.itemUrl)),t?.replace(/^\\/+/,\"\").replace(/^(\\.\\/)?resources\\//,\"\"))}t([l()],c.prototype,\"portalItem\",void 0),t([l({type:String,value:null})],c.prototype,\"path\",null),t([p(\"path\")],c.prototype,\"_castPath\",null),t([l({type:String,readOnly:!0})],c.prototype,\"url\",null),t([l({type:String,readOnly:!0})],c.prototype,\"cdnUrl\",null),t([l({type:String,readOnly:!0})],c.prototype,\"itemRelativeUrl\",null),c=t([i(\"esri.portal.PortalItemResource\")],c);const u=c;export{u as default};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{_ as t}from\"../chunks/tslib.es6.js\";import r from\"../core/Accessor.js\";import{JSONMap as e}from\"../core/jsonMap.js\";import{clone as s}from\"../core/lang.js\";import{property as o}from\"../core/accessorSupport/decorators/property.js\";import\"../core/has.js\";import\"../core/Logger.js\";import{subclass as i}from\"../core/accessorSupport/decorators/subclass.js\";import a from\"../geometry/Extent.js\";import n from\"../geometry/SpatialReference.js\";import{project as l}from\"../geometry/support/webMercatorUtils.js\";var u;const m=new e({avgRating:\"avg-rating\",numRatings:\"num-ratings\",numComments:\"num-comments\",numViews:\"num-views\"});let p=u=class extends r{constructor(t){super(t),this.categories=null,this.disableExtraQuery=!1,this.extent=null,this.filter=null,this.num=10,this.query=null,this.sortField=null,this.start=1}get sortOrder(){return this._get(\"sortOrder\")||\"asc\"}set sortOrder(t){\"asc\"!==t&&\"desc\"!==t||this._set(\"sortOrder\",t)}clone(){return new u({categories:this.categories?s(this.categories):null,disableExtraQuery:this.disableExtraQuery,extent:this.extent?this.extent.clone():null,filter:this.filter,num:this.num,query:this.query,sortField:this.sortField,sortOrder:this.sortOrder,start:this.start})}toRequestOptions(t,r){let e=[];this.categories&&(e=this.categories.map((t=>Array.isArray(t)?JSON.stringify(t):t)));let s=\"\";if(this.extent){const t=l(this.extent,n.WGS84);null!=t&&(s=`${t.xmin},${t.ymin},${t.xmax},${t.ymax}`)}let o=this.query;!this.disableExtraQuery&&t.extraQuery&&(o=\"(\"+o+\")\"+t.extraQuery);const i={categories:e,bbox:s,q:o,filter:this.filter,num:this.num,sortField:null,sortOrder:null,start:this.start};return this.sortField&&(i.sortField=this.sortField.split(\",\").map((t=>m.toJSON(t.trim()))).join(\",\"),i.sortOrder=this.sortOrder),{query:{...r,...i}}}};t([o()],p.prototype,\"categories\",void 0),t([o()],p.prototype,\"disableExtraQuery\",void 0),t([o({type:a})],p.prototype,\"extent\",void 0),t([o()],p.prototype,\"filter\",void 0),t([o()],p.prototype,\"num\",void 0),t([o()],p.prototype,\"query\",void 0),t([o()],p.prototype,\"sortField\",void 0),t([o()],p.prototype,\"sortOrder\",null),t([o()],p.prototype,\"start\",void 0),p=u=t([i(\"esri.portal.PortalQueryParams\")],p);const c=p;export{c as default};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{_ as r}from\"../chunks/tslib.es6.js\";import o from\"../core/Accessor.js\";import{property as s}from\"../core/accessorSupport/decorators/property.js\";import\"../core/has.js\";import\"../core/Logger.js\";import\"../core/RandomLCG.js\";import{subclass as t}from\"../core/accessorSupport/decorators/subclass.js\";let e=class extends o{constructor(r){super(r),this.nextQueryParams=null,this.queryParams=null,this.results=null,this.total=null}};r([s()],e.prototype,\"nextQueryParams\",void 0),r([s()],e.prototype,\"queryParams\",void 0),r([s()],e.prototype,\"results\",void 0),r([s()],e.prototype,\"total\",void 0),e=r([t(\"esri.portal.PortalQueryResult\")],e);const p=e;export{p as default};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{_ as r}from\"../chunks/tslib.es6.js\";import o from\"../core/Accessor.js\";import{property as s}from\"../core/accessorSupport/decorators/property.js\";import\"../core/has.js\";import\"../core/Logger.js\";import\"../core/RandomLCG.js\";import{subclass as t}from\"../core/accessorSupport/decorators/subclass.js\";let e=class extends o{constructor(r){super(r),this.created=null,this.rating=null}};r([s()],e.prototype,\"created\",void 0),r([s()],e.prototype,\"rating\",void 0),e=r([t(\"esri.portal.PortalRating\")],e);const c=e;export{c as default};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{_ as t}from\"../chunks/tslib.es6.js\";import e from\"../core/Error.js\";import{JSONSupport as r}from\"../core/JSONSupport.js\";import{property as o}from\"../core/accessorSupport/decorators/property.js\";import\"../core/has.js\";import\"../core/Logger.js\";import\"../core/RandomLCG.js\";import{subclass as s}from\"../core/accessorSupport/decorators/subclass.js\";import l from\"./PortalFolder.js\";import i from\"./PortalGroup.js\";var n;let u=n=class extends r{constructor(t){super(t),this.access=null,this.created=null,this.culture=null,this.description=null,this.email=null,this.fullName=null,this.modified=null,this.orgId=null,this.portal=null,this.preferredView=null,this.privileges=null,this.region=null,this.role=null,this.roleId=null,this.sourceJSON=null,this.units=null,this.username=null,this.userLicenseTypeId=null,this.userType=null}get thumbnailUrl(){const t=this.url,e=this.thumbnail;return t&&e?this.portal.normalizeUrl(`${t}/info/${e}?f=json`):null}get userContentUrl(){const t=this.portal?.restUrl;return t?`${t}/content/users/${this.username}`:null}get url(){const t=this.portal?.restUrl;return t?`${t}/community/users/${this.username}`:null}addItem(t){const e=t&&t.item,r=t?.data,o=t?.folder,s={method:\"post\"};e&&(s.query=e.createPostQuery(),null!=r&&(\"string\"==typeof r?s.query.text=r:\"object\"==typeof r&&(s.query.text=JSON.stringify(r))));let l=this.userContentUrl;return o&&(l+=\"/\"+(\"string\"==typeof o?o:o.id)),this.portal.request(l+\"/addItem\",s).then((t=>(e.id=t.id,e.portal=this.portal,e.loaded?e.reload():e.load())))}async deleteItem(t,e=!1){let r=this.userContentUrl;t.ownerFolder&&(r+=\"/\"+t.ownerFolder);const o=e?{permanentDelete:!0}:{};await this.portal.request(r+`/items/${t.id}/delete`,{method:\"post\",query:o}),t.id=null,t.portal=null}async deleteItems(t,r=!1){t=t.slice();const o=this.userContentUrl+\"/deleteItems\",s=[],l=t.map((t=>t.id));if(l.length){const i={method:\"post\",query:{items:l.join(\",\"),permanentDelete:r}},n=await this.portal.request(o,i);for(const r of n.results){const o=t.find((t=>r.itemId===t.id)),l=r.success;let i=null;l?(o.id=null,o.portal=null):r.error&&(i=new e(\"portal:delete-item-failed\",r.error.message,r.error)),s.push({item:o,success:l,error:i})}}return s}fetchFolders(){const t={query:{num:1}};return this.portal.request(this.userContentUrl??\"\",t).then((t=>{let e;return e=t&&t.folders?t.folders.map((t=>{const e=l.fromJSON(t);return e.portal=this.portal,e})):[],e}))}fetchGroups(){return this.portal.request(this.url??\"\").then((t=>{let e;return e=t&&t.groups?t.groups.map((t=>{const e=i.fromJSON(t);return e.portal=this.portal,e})):[],e}))}async fetchItems(t){t??={};let e=this.userContentUrl??\"\";t.folder&&(e+=\"/\"+t.folder.id);const{default:r}=await import(\"./PortalItem.js\"),o={folders:!1,inRecycleBin:!!t.inRecycleBin||null,foldersContent:!(t.folder||!t.includeSubfolderItems)||null,num:t.num||10,start:t.start||1,sortField:t.sortField||\"created\",sortOrder:t.sortOrder||\"asc\"},s=await this.portal.request(e,{query:o});let l;return s?.items?(l=s.items.map((t=>{const e=r.fromJSON(t);return e.portal=this.portal,e})),await Promise.all(l.map((t=>t.load()))),{items:l,nextStart:s.nextStart,total:s.total}):{items:[],nextStart:-1,total:0}}fetchTags(){return this.portal.request(this.url+\"/tags\").then((t=>t.tags))}getThumbnailUrl(t){let e=this.thumbnailUrl;return e&&t&&(e+=`&w=${t}`),e}queryFavorites(t){return this.favGroupId?(this._favGroup||(this._favGroup=new i({id:this.favGroupId,portal:this.portal})),this._favGroup.queryItems(t)):Promise.reject(new e(\"internal:unknown\",\"Unknown internal error\",{internalError:\"Unknown favGroupId\"}))}async restoreItem(t,e){const r=this.userContentUrl,o=e?{folderID:\"string\"==typeof e?e:e.id}:null;await this.portal.request(r+`/items/${t.id}/restore`,{method:\"post\",query:o})}toJSON(){throw new e(\"internal:not-yet-implemented\",\"PortalUser.toJSON is not yet implemented\")}static fromJSON(t){if(!t)return null;if(t.declaredClass)throw new Error(\"JSON object is already hydrated\");const e=new n({sourceJSON:t});return e.read(t),e}};t([o()],u.prototype,\"access\",void 0),t([o({type:Date})],u.prototype,\"created\",void 0),t([o()],u.prototype,\"culture\",void 0),t([o()],u.prototype,\"description\",void 0),t([o()],u.prototype,\"email\",void 0),t([o()],u.prototype,\"favGroupId\",void 0),t([o()],u.prototype,\"fullName\",void 0),t([o({type:Date})],u.prototype,\"modified\",void 0),t([o()],u.prototype,\"orgId\",void 0),t([o()],u.prototype,\"portal\",void 0),t([o()],u.prototype,\"preferredView\",void 0),t([o()],u.prototype,\"privileges\",void 0),t([o()],u.prototype,\"region\",void 0),t([o()],u.prototype,\"role\",void 0),t([o()],u.prototype,\"roleId\",void 0),t([o()],u.prototype,\"sourceJSON\",void 0),t([o()],u.prototype,\"thumbnail\",void 0),t([o({readOnly:!0})],u.prototype,\"thumbnailUrl\",null),t([o()],u.prototype,\"units\",void 0),t([o({readOnly:!0})],u.prototype,\"userContentUrl\",null),t([o({readOnly:!0})],u.prototype,\"url\",null),t([o()],u.prototype,\"username\",void 0),t([o()],u.prototype,\"userLicenseTypeId\",void 0),t([o()],u.prototype,\"userType\",void 0),u=n=t([s(\"esri.portal.PortalUser\")],u);const p=u;export{p as default};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nlet t;function e(){t=void 0}function n(e){return t&&!t.destroyed||(t=e()),t}export{e as clearDefaultPortalInstance,n as ensureDefaultPortalInstance};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{urlToObject as t}from\"../../core/urlUtils.js\";import r from\"../Portal.js\";function e(t,r){return{...l(t,r),readResourcePaths:[]}}function o(r,e,o){const i=t(r.itemUrl);return{...l(r,e),messages:[],writtenProperties:[],blockedRelativeUrls:[],verifyItemRelativeUrls:i?{rootPath:i.path,writtenUrls:[]}:null,resources:o?{toAdd:[],toUpdate:[],toKeep:[],pendingOperations:[]}:null}}function l(e,o){return{origin:o,url:t(e.itemUrl),portal:e.portal||r.getDefault(),portalItem:e}}export{e as createForItemRead,o as createForItemWrite};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{initializeProjection as e,project as t}from\"../../geometry/projection.js\";import r from\"../../geometry/SpatialReference.js\";import{webMercatorToGeographic as n}from\"../../geometry/support/webMercatorUtils.js\";async function o(o){const i=o.spatialReference;if(i.isWGS84)return o.clone();if(i.isWebMercator)return n(o);const s=r.WGS84;return await e(i,s),t(o,s)}function i(e,t){if(!s(e,t)){const r=e.typeKeywords;r?r.push(t):e.typeKeywords=[t]}}function s(e,t){return!!e.typeKeywords?.includes(t)}function c(e){return s(e,f.HOSTED_SERVICE)}function a(e,t){const r=e.typeKeywords;if(r){const e=r.indexOf(t);e>-1&&r.splice(e,1)}}function u(e,t,r){r?i(e,t):a(e,t)}async function l(e){const t=e.clone().normalize();let r;if(t.length>1)for(const n of t)r?n.width>r.width&&(r=n):r=n;else r=t[0];return o(r)}const f={DEVELOPER_BASEMAP:\"DeveloperBasemap\",JSAPI:\"ArcGIS API for JavaScript\",METADATA:\"Metadata\",MULTI_LAYER:\"Multilayer\",SINGLE_LAYER:\"Singlelayer\",TABLE:\"Table\",HOSTED_SERVICE:\"Hosted Service\",LOCAL_SCENE:\"ViewingMode-Local\",TILED_IMAGERY:\"Tiled Imagery\",GROUP_LAYER_MAP:\"Map\",ORIENTED_IMAGERY_LAYER:\"OrientedImageryLayer\"};function E(e){const{portal:t,isOrgItem:r,itemControl:n}=e,o=t.user?.privileges;let i=!o||o.includes(\"features:user:edit\"),s=!!r&&!!o?.includes(\"features:user:fullEdit\");const c=\"update\"===n||\"admin\"===n;return c?s=i=!0:s&&(i=!0),{features:{edit:i,fullEdit:s},content:{updateItem:c}}}export{i as addTypeKeyword,E as getUserPrivileges,l as getWGS84ExtentForItem,s as hasTypeKeyword,c as isHostedLayer,a as removeTypeKeyword,u as toggleTypeKeyword,f as typeKeyword};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nconst t=/^https:\\/\\/([a-z\\d-]+)(\\.maps([^.]*))?\\.arcgis\\.com/i,e={devext:{customBaseUrl:\"mapsdevext.arcgis.com\",portalHostname:\"devext.arcgis.com\"},qaext:{customBaseUrl:\"mapsqa.arcgis.com\",portalHostname:\"qaext.arcgis.com\"},www:{customBaseUrl:\"maps.arcgis.com\",portalHostname:\"www.arcgis.com\"}};function s(s){const a=s?.match(t);if(!a)return null;const[,r,c,o]=a;if(!r)return null;let l=null,m=null,n=null;const{devext:u,qaext:i,www:p}=e;if(c)if(l=r,o)switch(o.toLowerCase()){case\"devext\":({customBaseUrl:m,portalHostname:n}=u);break;case\"qa\":({customBaseUrl:m,portalHostname:n}=i);break;default:return null}else({customBaseUrl:m,portalHostname:n}=p);else switch(r.toLowerCase()){case\"devext\":({customBaseUrl:m,portalHostname:n}=u);break;case\"qaext\":({customBaseUrl:m,portalHostname:n}=i);break;case\"www\":({customBaseUrl:m,portalHostname:n}=p);break;default:return null}return{customBaseUrl:m,isPortal:!1,portalHostname:n,urlKey:l}}function a(t){return/\\/(sharing|usrsvcs)\\/(appservices|servers)\\//i.test(t)}function r(t){const e=/^https?:\\/\\/(?:cdn|[a-z\\d-]+\\.maps)\\.arcgis\\.com/i,s=/^https?:\\/\\/(?:cdndev|[a-z\\d-]+\\.mapsdevext)\\.arcgis\\.com/i,a=/^https?:\\/\\/(?:cdnqa|[a-z\\d-]+\\.mapsqa)\\.arcgis\\.com/i;return e.test(t)?t=t.replace(e,\"https://www.arcgis.com\"):s.test(t)?t=t.replace(s,\"https://devext.arcgis.com\"):a.test(t)&&(t=t.replace(a,\"https://qaext.arcgis.com\")),t}export{a as isSecureProxyService,r as normalizeArcGISOnlineOrgDomain,s as parseKnownArcGISOnlineDomain,t as reArcGISOnlineDomain};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{strict as s}from\"../core/jsonMap.js\";const e=s()({esriTimeUnitsMilliseconds:\"milliseconds\",esriTimeUnitsSeconds:\"seconds\",esriTimeUnitsMinutes:\"minutes\",esriTimeUnitsHours:\"hours\",esriTimeUnitsDays:\"days\",esriTimeUnitsWeeks:\"weeks\",esriTimeUnitsMonths:\"months\",esriTimeUnitsYears:\"years\",esriTimeUnitsDecades:\"decades\",esriTimeUnitsCenturies:\"centuries\",esriTimeUnitsUnknown:void 0});export{e as timeUnitKebabDictionary};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{getDefaultUnitForView as t}from\"../support/getDefaultUnitForView.js\";const e={readOnly:!0,get(){return t(this.view)}};export{e as defaultUnitPropertyMetadata};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{_ as e}from\"../chunks/tslib.es6.js\";import{ensureType as s}from\"../symbols.js\";import{JSONMap as t}from\"../core/jsonMap.js\";import{clone as o}from\"../core/lang.js\";import i from\"../core/Logger.js\";import{property as r}from\"../core/accessorSupport/decorators/property.js\";import{cast as a}from\"../core/accessorSupport/decorators/cast.js\";import{enumeration as l}from\"../core/accessorSupport/decorators/enumeration.js\";import{reader as n}from\"../core/accessorSupport/decorators/reader.js\";import{subclass as u}from\"../core/accessorSupport/decorators/subclass.js\";import{writer as c}from\"../core/accessorSupport/decorators/writer.js\";import{ensureType as p,ensureString as m}from\"../core/accessorSupport/ensureType.js\";import{collectArcadeFieldNames as d,collectField as h}from\"../layers/support/fieldUtils.js\";import f from\"./Renderer.js\";import{VisualVariablesMixin as y}from\"./mixins/VisualVariablesMixin.js\";import g from\"./support/ClassBreakInfo.js\";import{rendererBackgroundFillSymbolProperty as x,rendererSymbolProperty as b}from\"./support/commonProperties.js\";import k from\"./support/RendererLegendOptions.js\";import{loadArcade as I}from\"../support/arcadeOnDemand.js\";var v;const B=\"log\",F=\"percent-of-total\",S=\"field\",V=new t({esriNormalizeByLog:B,esriNormalizeByPercentOfTotal:F,esriNormalizeByField:S}),E=p(g);let j=v=class extends(y(f)){constructor(e){super(e),this._compiledValueExpression={valueExpression:null,compiledFunction:null},this.backgroundFillSymbol=null,this.classBreakInfos=null,this.defaultLabel=null,this.defaultSymbol=null,this.field=null,this.isMaxInclusive=!0,this.legendOptions=null,this.normalizationField=null,this.normalizationTotal=null,this.type=\"class-breaks\",this.valueExpression=null,this.valueExpressionTitle=null,this._set(\"classBreakInfos\",[])}readClassBreakInfos(e,s,t){if(!Array.isArray(e))return;let o=s.minValue;return e.map((e=>{const s=new g;return s.read(e,t),null==s.minValue&&(s.minValue=o),null==s.maxValue&&(s.maxValue=s.minValue),o=s.maxValue,s}))}writeClassBreakInfos(e,s,t,o){const i=e.map((e=>e.write({},o)));this._areClassBreaksConsecutive()&&i.forEach((e=>delete e.classMinValue)),s[t]=i}castField(e){return null==e?e:\"function\"==typeof e?(i.getLogger(this).error(\".field: field must be a string value\"),null):m(e)}get minValue(){return this.classBreakInfos&&this.classBreakInfos[0]&&this.classBreakInfos[0].minValue||0}get normalizationType(){let e=this._get(\"normalizationType\");const s=!!this.normalizationField,t=null!=this.normalizationTotal;return s||t?(e=s&&S||t&&F||null,s&&t&&i.getLogger(this).warn(\"warning: both normalizationField and normalizationTotal are set!\")):e!==S&&e!==F||(e=null),e}set normalizationType(e){this._set(\"normalizationType\",e)}addClassBreakInfo(e,t,i){let r=null;r=\"number\"==typeof e?new g({minValue:e,maxValue:t,symbol:s(i)}):E(o(e)),this.classBreakInfos.push(r),1===this.classBreakInfos.length&&this.notifyChange(\"minValue\")}removeClassBreakInfo(e,s){const t=this.classBreakInfos.length;for(let o=0;o-1?this.classBreakInfos[t].symbol:this.defaultSymbol}async getSymbolAsync(e,s){let t=s;if(this.valueExpression&&null==s?.arcade){const e=await I(),{arcadeUtils:s}=e;s.hasGeometryOperations(this.valueExpression)&&await s.enableGeometryOperations(),t={...t,arcade:e}}const o=this.getBreakIndex(e,t);return o>-1?this.classBreakInfos[o].symbol:this.defaultSymbol}getSymbols(){const e=[];return this.classBreakInfos.forEach((s=>{s.symbol&&e.push(s.symbol)})),this.defaultSymbol&&e.push(this.defaultSymbol),e}getAttributeHash(){return this.visualVariables?.reduce(((e,s)=>e+s.getAttributeHash()),\"\")??\"\"}getMeshHash(){const e=JSON.stringify(this.backgroundFillSymbol),s=JSON.stringify(this.defaultSymbol),t=`${this.normalizationField}.${this.normalizationType}.${this.normalizationTotal}`;return`${e}.${s}.${this.classBreakInfos.reduce(((e,s)=>e+s.getMeshHash()),\"\")}.${t}.${this.field}.${this.valueExpression}`}get arcadeRequired(){return this.arcadeRequiredForVisualVariables||!!this.valueExpression}clone(){return new v({field:this.field,backgroundFillSymbol:this.backgroundFillSymbol?.clone(),defaultLabel:this.defaultLabel,defaultSymbol:this.defaultSymbol?.clone(),valueExpression:this.valueExpression,valueExpressionTitle:this.valueExpressionTitle,classBreakInfos:o(this.classBreakInfos),isMaxInclusive:this.isMaxInclusive,normalizationField:this.normalizationField,normalizationTotal:this.normalizationTotal,normalizationType:this.normalizationType,visualVariables:o(this.visualVariables),legendOptions:o(this.legendOptions),authoringInfo:o(this.authoringInfo)})}async collectRequiredFields(e,s){const t=[this.collectVVRequiredFields(e,s),this.collectSymbolFields(e,s)];await Promise.all(t)}async collectSymbolFields(e,s){const t=[...this.getSymbols().map((t=>t.collectRequiredFields(e,s))),d(e,s,this.valueExpression)];h(e,s,this.field),h(e,s,this.normalizationField),await Promise.all(t)}_getBreakIndexForExpression(e,s){const{viewingMode:t,scale:o,spatialReference:i,arcade:r,timeZone:a}=s??{},{valueExpression:l}=this;let n=this._compiledValueExpression.valueExpression===l?this._compiledValueExpression.compiledFunction:null;const u=r.arcadeUtils;if(!n){const e=u.createSyntaxTree(l);n=u.createFunction(e),this._compiledValueExpression.compiledFunction=n}this._compiledValueExpression.valueExpression=l;const c=u.executeFunction(n,u.createExecContext(e,u.getViewInfo({viewingMode:t,scale:o,spatialReference:i}),a));return this._getBreakIndexfromInfos(c)}_getBreakIndexForField(e){const s=this.field,t=e.attributes,o=this.normalizationType;let i=parseFloat(t[s]);if(o){const e=this.normalizationTotal,s=parseFloat(this.normalizationField?t[this.normalizationField]:void 0);if(o===B)i=Math.log(i)*Math.LOG10E;else if(o!==F||null==e||isNaN(e)){if(o===S&&!isNaN(s)){if(isNaN(i)||isNaN(s))return-1;i/=s}}else i=i/e*100}return this._getBreakIndexfromInfos(i)}_getBreakIndexfromInfos(e){const s=this.isMaxInclusive;if(null!=e&&\"number\"==typeof e&&!isNaN(e))for(let t=0;te+r.getAttributeHash()),\"\")??\"\"}getMeshHash(){return`${this.url}-${JSON.stringify(this.fieldMap)}`}getSymbolFields(){return this._loader.getSymbolFields()}};e([s({type:n})],c.prototype,\"_loader\",null),e([s({type:Object,json:{read:{source:\"configuration\"},write:{target:\"configuration\"}}})],c.prototype,\"config\",void 0),e([s({type:Object,json:{write:!0}})],c.prototype,\"fieldMap\",void 0),e([s({type:String,json:{read:{source:\"scalingExpressionInfo.expression\"},write:!0}})],c.prototype,\"scaleExpression\",void 0),e([t(\"scaleExpression\")],c.prototype,\"writeData\",null),e([s({type:String,json:{read:{source:\"scalingExpressionInfo.title\"},write:{target:\"scalingExpressionInfo.title\",overridePolicy(e){return{enabled:!!e&&!!this.scaleExpression}}}}})],c.prototype,\"scaleExpressionTitle\",void 0),e([s({type:String,json:{write:!0}})],c.prototype,\"url\",void 0),e([t(\"visualVariables\")],c.prototype,\"writeVisualVariables\",null),c=p=e([i(\"esri.renderers.DictionaryRenderer\")],c);const u=c;export{u as default};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{_ as t}from\"../chunks/tslib.es6.js\";import e from\"../Color.js\";import{clone as o}from\"../core/lang.js\";import{property as r}from\"../core/accessorSupport/decorators/property.js\";import\"../core/has.js\";import\"../core/Logger.js\";import{enumeration as i}from\"../core/accessorSupport/decorators/enumeration.js\";import{subclass as s}from\"../core/accessorSupport/decorators/subclass.js\";import{collectArcadeFieldNames as n}from\"../layers/support/fieldUtils.js\";import l from\"./Renderer.js\";import{VisualVariablesMixin as p}from\"./mixins/VisualVariablesMixin.js\";import a from\"./support/AttributeColorInfo.js\";import d from\"./support/DotDensityLegendOptions.js\";import u from\"../symbols/SimpleFillSymbol.js\";import c from\"../symbols/SimpleLineSymbol.js\";var h;let m=h=class extends(p(l)){constructor(t){super(t),this.attributes=null,this.backgroundColor=new e([0,0,0,0]),this.dotBlendingEnabled=!0,this.dotShape=\"square\",this.dotSize=1,this.legendOptions=null,this.outline=new c,this.dotValue=null,this.referenceScale=null,this.seed=1,this.type=\"dot-density\"}calculateDotValue(t){if(null==this.referenceScale)return this.dotValue;const e=t/this.referenceScale*this.dotValue;return e<1?1:e}getSymbol(){return new u({outline:this.outline})}async getSymbolAsync(){return this.getSymbol()}getSymbols(){return[this.getSymbol()]}getAttributeHash(){return this.attributes?.reduce(((t,e)=>t+e.getAttributeHash()),\"\")??\"\"}getMeshHash(){return JSON.stringify(this.outline)}clone(){return new h({attributes:o(this.attributes),backgroundColor:o(this.backgroundColor),dotBlendingEnabled:o(this.dotBlendingEnabled),dotShape:o(this.dotShape),dotSize:o(this.dotSize),dotValue:o(this.dotValue),legendOptions:o(this.legendOptions),outline:o(this.outline),referenceScale:o(this.referenceScale),seed:o(this.seed),visualVariables:o(this.visualVariables),authoringInfo:o(this.authoringInfo)})}getControllerHash(){const t=this.attributes?.map((t=>t.field||t.valueExpression||\"\"));return`${t}-${this.outline&&JSON.stringify(this.outline.toJSON())||\"\"}`}async collectRequiredFields(t,e){await this.collectVVRequiredFields(t,e);for(const o of this.attributes??[])o.valueExpression&&await n(t,e,o.valueExpression),o.field&&t.add(o.field)}};t([r({type:[a],json:{write:!0}})],m.prototype,\"attributes\",void 0),t([r({type:e,json:{write:!0}})],m.prototype,\"backgroundColor\",void 0),t([r({type:Boolean,json:{write:!0}})],m.prototype,\"dotBlendingEnabled\",void 0),t([r({type:String,json:{write:!1}})],m.prototype,\"dotShape\",void 0),t([r({type:Number,json:{write:!0}})],m.prototype,\"dotSize\",void 0),t([r({type:d,json:{write:!0}})],m.prototype,\"legendOptions\",void 0),t([r({type:c,json:{default:null,write:!0}})],m.prototype,\"outline\",void 0),t([r({type:Number,json:{write:!0}})],m.prototype,\"dotValue\",void 0),t([r({type:Number,json:{write:!0}})],m.prototype,\"referenceScale\",void 0),t([r({type:Number,json:{write:!0}})],m.prototype,\"seed\",void 0),t([i({dotDensity:\"dot-density\"})],m.prototype,\"type\",void 0),m=h=t([s(\"esri.renderers.DotDensityRenderer\")],m);const y=m;export{y as default};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{_ as t}from\"../chunks/tslib.es6.js\";import e from\"../Color.js\";import\"../symbols.js\";import{clone as i}from\"../core/lang.js\";import{toPt as s}from\"../core/screenUtils.js\";import{property as r}from\"../core/accessorSupport/decorators/property.js\";import\"../core/has.js\";import\"../core/Logger.js\";import{enumeration as o}from\"../core/accessorSupport/decorators/enumeration.js\";import{subclass as n}from\"../core/accessorSupport/decorators/subclass.js\";import{collectField as p,collectArcadeFieldNames as l}from\"../layers/support/fieldUtils.js\";import a from\"./Renderer.js\";import m from\"./support/AuthoringInfo.js\";import y from\"./support/HeatmapColorStop.js\";import{HeatmapLegendOptions as u}from\"./support/HeatmapLegendOptions.js\";import{kernelDensityRadiusPtToGaussianBlurRadiusPx as h,gaussianBlurRadiusPxToKernelDensityRadiusPt as c,magicKernelDensityRadiusInflationFactor as d}from\"./support/heatmapUtils.js\";import x from\"../symbols/SimpleMarkerSymbol.js\";var g;function f(t){if(null!=t){const{maxDensity:e,minDensity:i,radius:s}=t;if(null!=e||null!=i||null!=s){const{blurRadius:e,maxPixelIntensity:i,minPixelIntensity:s,...r}=t;return r}}return t}let b=g=class extends a{constructor(t){super(t),this.authoringInfo=null,this.colorStops=[new y({ratio:0,color:new e(\"rgba(255, 140, 0, 0)\")}),new y({ratio:.75,color:new e(\"rgba(255, 140, 0, 1)\")}),new y({ratio:.9,color:new e(\"rgba(255, 0, 0, 1)\")})],this.field=null,this.legendOptions=null,this.maxDensity=.04,this.minDensity=0,this.radius=18,this.referenceScale=0,this.type=\"heatmap\",this.valueExpression=null,this.valueExpressionTitle=null}normalizeCtorArgs(t){return f(t)}get blurRadius(){return h(this.radius)}set blurRadius(t){const e=this.maxPixelIntensity,i=this.minPixelIntensity;this._set(\"radius\",c(t)),this._set(\"maxDensity\",e*this._pixelIntensityToDensity),this._set(\"minDensity\",i*this._pixelIntensityToDensity)}get maxPixelIntensity(){return this.maxDensity/this._pixelIntensityToDensity}set maxPixelIntensity(t){this._set(\"maxDensity\",t*this._pixelIntensityToDensity)}get minPixelIntensity(){return this.minDensity/this._pixelIntensityToDensity}set minPixelIntensity(t){this._set(\"minDensity\",t*this._pixelIntensityToDensity)}get _pixelIntensityToDensity(){return 24/(d**2*this.blurRadius**4)}read(t,e){t=f(t),super.read(t,e)}getSymbol(){return new x}async getSymbolAsync(){return this.getSymbol()}getSymbols(){return[this.getSymbol()]}async collectRequiredFields(t,e){const i=this.field,s=this.valueExpression;i&&\"string\"==typeof i&&p(t,e,i),s&&\"string\"==typeof s&&await l(t,e,s)}getAttributeHash(){return\"\"}getMeshHash(){return`${JSON.stringify(this.colorStops)}.${this.blurRadius}.${this.field}`}clone(){return new g({authoringInfo:this.authoringInfo&&this.authoringInfo.clone(),colorStops:i(this.colorStops),field:this.field,legendOptions:i(this.legendOptions),maxDensity:this.maxDensity,minDensity:this.minDensity,radius:this.radius,referenceScale:this.referenceScale,valueExpression:this.valueExpression,valueExpressionTitle:this.valueExpressionTitle})}};t([r({type:m,json:{write:!0,origins:{\"web-scene\":{write:!1,read:!1}}}})],b.prototype,\"authoringInfo\",void 0),t([r({type:Number,json:{origins:{\"portal-item\":{write:!0},\"web-map\":{write:!0}}}})],b.prototype,\"blurRadius\",null),t([r({type:[y],json:{write:!0}})],b.prototype,\"colorStops\",void 0),t([r({type:String,json:{write:!0}})],b.prototype,\"field\",void 0),t([r({type:u,json:{write:!0}})],b.prototype,\"legendOptions\",void 0),t([r({type:Number,json:{write:!0}})],b.prototype,\"maxDensity\",void 0),t([r({type:Number,json:{origins:{\"portal-item\":{write:!0},\"web-map\":{write:!0}}}})],b.prototype,\"maxPixelIntensity\",null),t([r({type:Number,json:{write:!0}})],b.prototype,\"minDensity\",void 0),t([r({type:Number,json:{origins:{\"portal-item\":{write:!0},\"web-map\":{write:!0}}}})],b.prototype,\"minPixelIntensity\",null),t([r({type:Number,cast:s,json:{write:!0}})],b.prototype,\"radius\",void 0),t([r({type:Number,range:{min:0},json:{default:0,write:!0}})],b.prototype,\"referenceScale\",void 0),t([o({heatmap:\"heatmap\"})],b.prototype,\"type\",void 0),t([r({type:String,json:{write:!0,origins:{\"web-document\":{write:!1},\"portal-item\":{write:!1}}}})],b.prototype,\"valueExpression\",void 0),t([r({type:String})],b.prototype,\"valueExpressionTitle\",void 0),t([r({readOnly:!0})],b.prototype,\"_pixelIntensityToDensity\",null),b=g=t([n(\"esri.renderers.HeatmapRenderer\")],b);const w=b;export{w as default};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{_ as e}from\"../chunks/tslib.es6.js\";import t from\"../Color.js\";import\"../symbols.js\";import{isSome as r}from\"../core/arrayUtils.js\";import{ClonableMixin as o}from\"../core/Clonable.js\";import{toPt as s}from\"../core/screenUtils.js\";import{property as i}from\"../core/accessorSupport/decorators/property.js\";import\"../core/has.js\";import\"../core/Logger.js\";import{enumeration as l}from\"../core/accessorSupport/decorators/enumeration.js\";import{subclass as p}from\"../core/accessorSupport/decorators/subclass.js\";import{collectArcadeFieldNames as a}from\"../layers/support/fieldUtils.js\";import m from\"./Renderer.js\";import{VisualVariablesMixin as n}from\"./mixins/VisualVariablesMixin.js\";import u from\"./support/AttributeColorInfo.js\";import{rendererBackgroundFillSymbolProperty as y}from\"./support/commonProperties.js\";import{OthersCategory as c}from\"./support/OthersCategory.js\";import d from\"./support/RendererLegendOptions.js\";import b from\"./visualVariables/OpacityVariable.js\";import h from\"./visualVariables/SizeVariable.js\";import f from\"./visualVariables/VisualVariable.js\";import j from\"../symbols/SimpleMarkerSymbol.js\";import g from\"../symbols/SimpleLineSymbol.js\";const v={base:f,key:\"type\",typeMap:{size:h,opacity:b}};let S=class extends(n(o(m))){constructor(e){super(e),this.attributes=null,this.backgroundFillSymbol=null,this.defaultColor=new t([0,0,0,0]),this.defaultLabel=null,this.holePercentage=0,this.othersCategory=new c,this.legendOptions=null,this.outline=null,this.size=12,this.type=\"pie-chart\",this.visualVariables=null}getSymbol(){return new j({size:this.size?this.size/2+(this.outline?.width||0):0})}async getSymbolAsync(){return this.getSymbol()}getSymbols(){return[this.getSymbol(),this.backgroundFillSymbol].filter(r)}getAttributeHash(){return this.visualVariables?.reduce(((e,t)=>e+t.getAttributeHash()),\"\")??\"\"}getMeshHash(){return this.getSymbols().reduce(((e,t)=>e+JSON.stringify(t)),\"\")}async collectRequiredFields(e,t){await this.collectVVRequiredFields(e,t);for(const r of this.attributes)r.valueExpression&&await a(e,t,r.valueExpression),r.field&&e.add(r.field)}};e([i({type:[u],json:{write:!0}})],S.prototype,\"attributes\",void 0),e([i(y)],S.prototype,\"backgroundFillSymbol\",void 0),e([i({type:t,json:{write:!0}})],S.prototype,\"defaultColor\",void 0),e([i({type:String,json:{write:!0}})],S.prototype,\"defaultLabel\",void 0),e([i({type:Number,range:{min:0,max:1},json:{write:!0}})],S.prototype,\"holePercentage\",void 0),e([i({type:c,json:{write:!0}})],S.prototype,\"othersCategory\",void 0),e([i({type:d,json:{write:!0}})],S.prototype,\"legendOptions\",void 0),e([i({type:g,json:{default:null,write:!0}})],S.prototype,\"outline\",void 0),e([i({type:Number,cast:s,json:{write:!0}})],S.prototype,\"size\",void 0),e([l({pieChart:\"pie-chart\"})],S.prototype,\"type\",void 0),e([i({types:[v]})],S.prototype,\"visualVariables\",void 0),S=e([p(\"esri.renderers.PieChartRenderer\")],S);const w=S;export{w as default};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{_ as r}from\"../chunks/tslib.es6.js\";import{JSONMap as e}from\"../core/jsonMap.js\";import{JSONSupport as t}from\"../core/JSONSupport.js\";import{property as o}from\"../core/accessorSupport/decorators/property.js\";import\"../core/has.js\";import\"../core/Logger.js\";import\"../core/RandomLCG.js\";import{subclass as s}from\"../core/accessorSupport/decorators/subclass.js\";import i from\"./support/AuthoringInfo.js\";const n=new e({simple:\"simple\",uniqueValue:\"unique-value\",classBreaks:\"class-breaks\",heatmap:\"heatmap\",dotDensity:\"dot-density\",dictionary:\"dictionary\",pieChart:\"pie-chart\"},{ignoreUnknown:!0});let a=class extends t{constructor(r){super(r),this.authoringInfo=null,this.type=null}async getRequiredFields(r){if(!this.collectRequiredFields)return[];const e=new Set;return await this.collectRequiredFields(e,r),Array.from(e).sort()}getSymbol(r,e){}async getSymbolAsync(r,e){}getSymbols(){return[]}getAttributeHash(){return JSON.stringify(this)}getMeshHash(){return JSON.stringify(this)}};r([o({type:i,json:{write:!0}})],a.prototype,\"authoringInfo\",void 0),r([o({type:n.apiValues,readOnly:!0,json:{type:n.jsonValues,read:!1,write:{writer:n.write,ignoreOrigin:!0}}})],a.prototype,\"type\",void 0),a=r([s(\"esri.renderers.Renderer\")],a);const p=a;export{p as default};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{_ as e}from\"../chunks/tslib.es6.js\";import{clone as r}from\"../core/lang.js\";import{property as s}from\"../core/accessorSupport/decorators/property.js\";import\"../core/has.js\";import\"../core/Logger.js\";import{enumeration as t}from\"../core/accessorSupport/decorators/enumeration.js\";import{subclass as o}from\"../core/accessorSupport/decorators/subclass.js\";import i from\"./Renderer.js\";import{VisualVariablesMixin as l}from\"./mixins/VisualVariablesMixin.js\";import{requiredRendererSymbolProperty as a}from\"./support/commonProperties.js\";var c;let m=c=class extends(l(i)){constructor(e){super(e),this.description=null,this.label=null,this.symbol=null,this.type=\"simple\"}async collectRequiredFields(e,r){await Promise.all([this.collectSymbolFields(e,r),this.collectVVRequiredFields(e,r)])}async collectSymbolFields(e,r){await Promise.all(this.getSymbols().map((s=>s.collectRequiredFields(e,r))))}getSymbol(e,r){return this.symbol}async getSymbolAsync(e,r){return this.symbol}getSymbols(){return this.symbol?[this.symbol]:[]}getAttributeHash(){return this.visualVariables?.reduce(((e,r)=>e+r.getAttributeHash()),\"\")??\"\"}getMeshHash(){return this.getSymbols().reduce(((e,r)=>e+JSON.stringify(r)),\"\")}get arcadeRequired(){return this.arcadeRequiredForVisualVariables}clone(){return new c({description:this.description,label:this.label,symbol:r(this.symbol),visualVariables:r(this.visualVariables),authoringInfo:r(this.authoringInfo)})}};e([s({type:String,json:{write:!0}})],m.prototype,\"description\",void 0),e([s({type:String,json:{write:!0}})],m.prototype,\"label\",void 0),e([s(a)],m.prototype,\"symbol\",void 0),e([t({simple:\"simple\"})],m.prototype,\"type\",void 0),m=c=e([o(\"esri.renderers.SimpleRenderer\")],m);const p=m;export{p as default};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{_ as e}from\"../chunks/tslib.es6.js\";import{ensureType as t}from\"../symbols.js\";import s from\"../core/Error.js\";import{clone as i}from\"../core/lang.js\";import o from\"../core/Logger.js\";import{deepMerge as l}from\"../core/object.js\";import{watch as r}from\"../core/reactiveUtils.js\";import{property as u}from\"../core/accessorSupport/decorators/property.js\";import{cast as n}from\"../core/accessorSupport/decorators/cast.js\";import{enumeration as a}from\"../core/accessorSupport/decorators/enumeration.js\";import{reader as p}from\"../core/accessorSupport/decorators/reader.js\";import{subclass as f}from\"../core/accessorSupport/decorators/subclass.js\";import{writer as d}from\"../core/accessorSupport/decorators/writer.js\";import{diff as c}from\"../core/accessorSupport/diffUtils.js\";import{ensureType as h,ensureString as m}from\"../core/accessorSupport/ensureType.js\";import{collectArcadeFieldNames as y,collectField as b}from\"../layers/support/fieldUtils.js\";import v from\"../portal/Portal.js\";import _ from\"./Renderer.js\";import{VisualVariablesMixin as V}from\"./mixins/VisualVariablesMixin.js\";import{rendererSymbolProperty as q,rendererBackgroundFillSymbolProperty as g}from\"./support/commonProperties.js\";import I from\"./support/RendererLegendOptions.js\";import S from\"./support/UniqueValue.js\";import w from\"./support/UniqueValueClass.js\";import U from\"./support/UniqueValueGroup.js\";import j from\"./support/UniqueValueInfo.js\";import{loadArcade as F}from\"../support/arcadeOnDemand.js\";import{f as O,t as G}from\"../chunks/persistableUrlUtils.js\";import{fetchStyle as D}from\"../symbols/support/styleUtils.js\";import x from\"../symbols/WebStyleSymbol.js\";var E;const M=\"esri.renderers.UniqueValueRenderer\",N=()=>o.getLogger(M),R=\"uvInfos-watcher\",P=\"uvGroups-watcher\",C=\",\",$=h(j);function z(e){const{field1:t,field2:s,field3:i,fieldDelimiter:o,uniqueValueInfos:l,valueExpression:r}=e,u=!(!t||!s);return[{classes:(l??[]).map((e=>{const{symbol:l,label:n,value:a,description:p}=e,[f,d,c]=u?a?.toString()?.split(o||\"\")||[]:[a],h=[];return(t||r)&&h.push(f),s&&h.push(d),i&&h.push(c),{symbol:l,label:n,values:[h],description:p}}))}]}function L(e){return null!=e&&\"\"!==e&&(\"string\"!=typeof e||\"\"!==e.trim()&&\"\"!==e.toLowerCase())||(e=null),e+\"\"}let k=E=class extends(V(_)){constructor(e){super(e),this._valueInfoMap={},this._isDefaultSymbolDerived=!1,this._isInfosSource=null,this.type=\"unique-value\",this.backgroundFillSymbol=null,this.orderByClassesEnabled=!1,this.valueExpressionTitle=null,this.legendOptions=null,this.defaultLabel=null,this.portal=null,this.styleOrigin=null,this.diff={uniqueValueInfos(e,t){if(!e&&!t)return;if(!e||!t)return{type:\"complete\",oldValue:e,newValue:t};let s=!1;const i={type:\"collection\",added:[],removed:[],changed:[],unchanged:[]};for(let o=0;oe.value===t[o].value));l?c(l,t[o])?(i.changed.push({type:\"complete\",oldValue:l,newValue:t[o]}),s=!0):i.unchanged.push({oldValue:l,newValue:t[o]}):(i.added.push(t[o]),s=!0)}for(let o=0;ot.value===e[o].value))||(i.removed.push(e[o]),s=!0)}return s?i:void 0}},this._set(\"uniqueValueInfos\",[]),this._set(\"uniqueValueGroups\",[])}get _cache(){return{compiledFunc:null}}set field(e){this._set(\"field\",e),this._updateFieldDelimiter(),this._updateUniqueValues()}castField(e){return null==e||\"function\"==typeof e?e:m(e)}writeField(e,t,i,o){\"string\"==typeof e?t[i]=e:o?.messages?o.messages.push(new s(\"property:unsupported\",\"UniqueValueRenderer.field set to a function cannot be written to JSON\")):N().error(\".field: cannot write field to JSON since it's not a string value\")}set field2(e){this._set(\"field2\",e),this._updateFieldDelimiter(),this._updateUniqueValues()}set field3(e){this._set(\"field3\",e),this._updateUniqueValues()}set valueExpression(e){this._set(\"valueExpression\",e),this._updateUniqueValues()}set defaultSymbol(e){this._isDefaultSymbolDerived=!1,this._set(\"defaultSymbol\",e)}set fieldDelimiter(e){this._set(\"fieldDelimiter\",e),this._updateUniqueValues()}readPortal(e,t,s){return s.portal||v.getDefault()}readStyleOrigin(e,t,s){if(t.styleName)return Object.freeze({styleName:t.styleName});if(t.styleUrl){const e=O(t.styleUrl,s);return Object.freeze({styleUrl:e})}}writeStyleOrigin(e,t,s,i){e.styleName?t.styleName=e.styleName:e.styleUrl&&(t.styleUrl=G(e.styleUrl,i))}set uniqueValueGroups(e){this.styleOrigin?N().error(\"#uniqueValueGroups=\",\"Cannot modify unique value groups of a UniqueValueRenderer created from a web style\"):(this._set(\"uniqueValueGroups\",e),this._updateInfosFromGroups(),this._isInfosSource=!1,this._watchUniqueValueGroups())}set uniqueValueInfos(e){this.styleOrigin?N().error(\"#uniqueValueInfos=\",\"Cannot modify unique value infos of a UniqueValueRenderer created from a web style\"):(this._set(\"uniqueValueInfos\",e),this._updateValueInfoMap(),this._updateGroupsFromInfos(),this._isInfosSource=!0,this._watchUniqueValueInfos())}addUniqueValueInfo(e,s){if(this.styleOrigin)return void N().error(\"#addUniqueValueInfo()\",\"Cannot modify unique value infos of a UniqueValueRenderer created from a web style\");let i;i=\"object\"==typeof e?$(e):new j({value:e,symbol:t(s)}),this.uniqueValueInfos?.push(i),this._valueInfoMap[L(i.value)]=i,this._updateGroupsFromInfos(),this._isInfosSource=!0,this._watchUniqueValueInfos()}removeUniqueValueInfo(e){if(this.styleOrigin)return void N().error(\"#removeUniqueValueInfo()\",\"Cannot modify unique value infos of a UniqueValueRenderer created from a web style\");const t=this.uniqueValueInfos;if(t)for(let s=0;se+t.getAttributeHash()),\"\")??\"\"}getMeshHash(){const e=JSON.stringify(this.backgroundFillSymbol),t=JSON.stringify(this.defaultSymbol),s=this.uniqueValueInfos?.reduce(((e,t)=>e+t.getMeshHash()),\"\");return`${e}.${t}.${s}.${`${this.field}.${this.field2}.${this.field3}.${this.fieldDelimiter}`}.${this.valueExpression}`}clone(){const e=new E({field:this.field,field2:this.field2,field3:this.field3,defaultLabel:this.defaultLabel,defaultSymbol:i(this.defaultSymbol),orderByClassesEnabled:this.orderByClassesEnabled,valueExpression:this.valueExpression,valueExpressionTitle:this.valueExpressionTitle,fieldDelimiter:this.fieldDelimiter,visualVariables:i(this.visualVariables),legendOptions:i(this.legendOptions),authoringInfo:i(this.authoringInfo),backgroundFillSymbol:i(this.backgroundFillSymbol)});this._isDefaultSymbolDerived&&(e._isDefaultSymbolDerived=!0),e._set(\"portal\",this.portal);const t=i(this.uniqueValueInfos),s=i(this.uniqueValueGroups);return this.styleOrigin&&(e._set(\"styleOrigin\",Object.freeze(i(this.styleOrigin))),Object.freeze(t),Object.freeze(s)),e._set(\"uniqueValueInfos\",t),e._updateValueInfoMap(),e._set(\"uniqueValueGroups\",s),e._isInfosSource=this._isInfosSource,e._watchUniqueValueInfosAndGroups(),e}get arcadeRequired(){return this.arcadeRequiredForVisualVariables||!!this.valueExpression}async collectRequiredFields(e,t){const s=[this.collectVVRequiredFields(e,t),this.collectSymbolFields(e,t)];await Promise.all(s)}async collectSymbolFields(e,t){const s=[...this.getSymbols().map((s=>s.collectRequiredFields(e,t))),y(e,t,this.valueExpression)];b(e,t,this.field),b(e,t,this.field2),b(e,t,this.field3),await Promise.all(s)}populateFromStyle(){return D(this.styleOrigin,{portal:this.portal}).then((e=>{const t=[];return this._valueInfoMap={},e?.data&&Array.isArray(e.data.items)&&e.data.items.forEach((s=>{const i=new x({styleUrl:e.styleUrl,styleName:e.styleName,portal:this.portal,name:s.name});this.defaultSymbol||s.name!==e.data.defaultItem||(this.defaultSymbol=i,this._isDefaultSymbolDerived=!0);const o=new j({value:s.name,symbol:i});t.push(o),this._valueInfoMap[L(s.name)]=o})),this._set(\"uniqueValueInfos\",Object.freeze(t)),this._updateGroupsFromInfos(!0),this._isInfosSource=null,this._watchUniqueValueInfos(),!this.defaultSymbol&&this.uniqueValueInfos?.length&&(this.defaultSymbol=this.uniqueValueInfos[0].symbol,this._isDefaultSymbolDerived=!0),this}))}_updateFieldDelimiter(){this.field&&this.field2&&!this.fieldDelimiter&&this._set(\"fieldDelimiter\",C)}_updateUniqueValues(){null!=this._isInfosSource&&(this._isInfosSource?this._updateGroupsFromInfos():this._updateInfosFromGroups())}_updateValueInfoMap(){this._valueInfoMap={};const{uniqueValueInfos:e}=this;if(e)for(const t of e)this._valueInfoMap[L(t.value)]=t}_watchUniqueValueInfosAndGroups(){this._watchUniqueValueInfos(),this._watchUniqueValueGroups()}_watchUniqueValueInfos(){this.removeHandles(R);const{uniqueValueInfos:e}=this;if(e){const t=[];for(const s of e)t.push(r((()=>({symbol:s.symbol,value:s.value,label:s.label,description:s.description})),((e,t)=>{e!==t&&(this._updateGroupsFromInfos(),this._isInfosSource=!0)}),{sync:!0}));this.addHandles(t,R)}}_watchUniqueValueGroups(){this.removeHandles(P);const{uniqueValueGroups:e}=this;if(e){const t=[];for(const s of e){t.push(r((()=>({classes:s.classes})),((e,t)=>{e!==t&&(this._updateInfosFromGroups(),this._isInfosSource=!1)}),{sync:!0}));for(const e of s.classes??[])t.push(r((()=>({symbol:e.symbol,values:e.values,label:e.label,description:e.description})),((e,t)=>{e!==t&&(this._updateInfosFromGroups(),this._isInfosSource=!1)}),{sync:!0}))}this.addHandles(t,P)}}_updateInfosFromGroups(){if(!this.uniqueValueGroups)return this._set(\"uniqueValueInfos\",null),this._updateValueInfoMap(),void this._watchUniqueValueInfos();const e=[],{field:t,field2:s,field3:i,fieldDelimiter:o,uniqueValueGroups:l,valueExpression:r}=this;if(!t&&!r)return this._set(\"uniqueValueInfos\",e),this._updateValueInfoMap(),void this._watchUniqueValueInfos();const u=!(!t||!s);for(const n of l)for(const t of n.classes??[]){const{symbol:l,label:r,values:n,description:a}=t;for(const t of n??[]){const{value:n,value2:p,value3:f}=t,d=[n];s&&d.push(p),i&&d.push(f);const c=u?d.join(o||\"\"):d[0]??void 0;e.push(new j({symbol:l,label:r,value:c,description:a}))}}this._set(\"uniqueValueInfos\",e),this._updateValueInfoMap(),this._watchUniqueValueInfos()}_updateGroupsFromInfos(e=!1){if(!this.uniqueValueInfos)return this._set(\"uniqueValueGroups\",null),void this._watchUniqueValueGroups();const{field:t,field2:s,valueExpression:i,fieldDelimiter:o,uniqueValueInfos:l}=this;if(!t&&!i||!l.length)return this._set(\"uniqueValueGroups\",[]),void this._watchUniqueValueGroups();const r=!(!t||!s),u=l.map((e=>{const{symbol:t,label:s,value:i,description:l}=e,[u,n,a]=r?i?.toString()?.split(o||\"\")||[]:[i];return new w({symbol:t,label:s,description:l,values:[new S({value:u,value2:n,value3:a})]})})),n=[new U({classes:u})];e&&Object.freeze(n),this._set(\"uniqueValueGroups\",n),this._watchUniqueValueGroups()}_getUniqueValueInfo(e,t){return this.valueExpression?this._getUnqiueValueInfoForExpression(e,t):this._getUnqiueValueInfoForFields(e)}_getUnqiueValueInfoForExpression(e,t){const{viewingMode:s,scale:i,spatialReference:o,arcade:l,timeZone:r}=t??{};let u=this._cache.compiledFunc;const n=l.arcadeUtils;if(!u){const e=n.createSyntaxTree(this.valueExpression);u=n.createFunction(e),this._cache.compiledFunc=u}const a=n.executeFunction(u,n.createExecContext(e,n.getViewInfo({viewingMode:s,scale:i,spatialReference:o}),r));return this._valueInfoMap[L(a)]}_getUnqiueValueInfoForFields(e){const t=this.field,s=e.attributes;let i;if(this.field2){const e=this.field2,o=this.field3,l=[];t&&l.push(s[t]),e&&l.push(s[e]),o&&l.push(s[o]),i=l.join(this.fieldDelimiter||\"\")}else t&&(i=s[t]);return this._valueInfoMap[L(i)]}static fromPortalStyle(e,t){const s=new E(t?.properties);s._set(\"styleOrigin\",Object.freeze({styleName:e})),s._set(\"portal\",t?.portal||v.getDefault());const i=s.populateFromStyle();return i.catch((t=>{N().error(`#fromPortalStyle('${e}'[, ...])`,\"Failed to create unique value renderer from style name\",t)})),i}static fromStyleUrl(e,t){const s=new E(t?.properties);s._set(\"styleOrigin\",Object.freeze({styleUrl:e}));const i=s.populateFromStyle();return i.catch((t=>{N().error(`#fromStyleUrl('${e}'[, ...])`,\"Failed to create unique value renderer from style URL\",t)})),i}};e([u({readOnly:!0})],k.prototype,\"_cache\",null),e([a({uniqueValue:\"unique-value\"})],k.prototype,\"type\",void 0),e([u(g)],k.prototype,\"backgroundFillSymbol\",void 0),e([u({value:null,json:{type:String,read:{source:\"field1\"},write:{target:\"field1\"}}})],k.prototype,\"field\",null),e([n(\"field\")],k.prototype,\"castField\",null),e([d(\"field\")],k.prototype,\"writeField\",null),e([u({type:String,value:null,json:{write:!0}})],k.prototype,\"field2\",null),e([u({type:String,value:null,json:{write:!0}})],k.prototype,\"field3\",null),e([u({type:Boolean,json:{name:\"drawInClassOrder\",default:!1,write:!0,origins:{\"web-scene\":{write:!1}}}})],k.prototype,\"orderByClassesEnabled\",void 0),e([u({type:String,value:null,json:{write:!0}})],k.prototype,\"valueExpression\",null),e([u({type:String,json:{write:!0}})],k.prototype,\"valueExpressionTitle\",void 0),e([u({type:I,json:{write:!0}})],k.prototype,\"legendOptions\",void 0),e([u({type:String,json:{write:!0}})],k.prototype,\"defaultLabel\",void 0),e([u(l({...q},{json:{write:{overridePolicy(){return{enabled:!this._isDefaultSymbolDerived}}},origins:{\"web-scene\":{write:{overridePolicy(){return{enabled:!this._isDefaultSymbolDerived}}}}}}}))],k.prototype,\"defaultSymbol\",null),e([u({type:String,value:null,json:{write:!0}})],k.prototype,\"fieldDelimiter\",null),e([u({type:v,readOnly:!0})],k.prototype,\"portal\",void 0),e([p(\"portal\",[\"styleName\"])],k.prototype,\"readPortal\",null),e([u({readOnly:!0,json:{write:{enabled:!1,overridePolicy:()=>({enabled:!0})}}})],k.prototype,\"styleOrigin\",void 0),e([p(\"styleOrigin\",[\"styleName\",\"styleUrl\"])],k.prototype,\"readStyleOrigin\",null),e([d(\"styleOrigin\",{styleName:{type:String},styleUrl:{type:String}})],k.prototype,\"writeStyleOrigin\",null),e([u({type:[U],json:{read:{source:[\"uniqueValueGroups\",\"uniqueValueInfos\"],reader:(e,t,s)=>(t.uniqueValueGroups||z(t)).map((e=>U.fromJSON(e,s)))},write:{overridePolicy(){return this.styleOrigin?{enabled:!1}:{enabled:!0}}}}})],k.prototype,\"uniqueValueGroups\",null),e([u({type:[j],json:{read:!1,write:{overridePolicy(){return this.styleOrigin?{enabled:!1}:{enabled:!0}}}}})],k.prototype,\"uniqueValueInfos\",null),k=E=e([f(M)],k);const A=k;export{A as default};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{_ as r}from\"../../chunks/tslib.es6.js\";import{property as a}from\"../../core/accessorSupport/decorators/property.js\";import\"../../core/has.js\";import\"../../core/Logger.js\";import\"../../core/RandomLCG.js\";import{reader as s}from\"../../core/accessorSupport/decorators/reader.js\";import{subclass as i}from\"../../core/accessorSupport/decorators/subclass.js\";import{writer as e}from\"../../core/accessorSupport/decorators/writer.js\";import{collectField as t,collectArcadeFieldNames as o}from\"../../layers/support/fieldUtils.js\";import{matchRandomRotationExpression as l}from\"../support/randomRotationExpression.js\";import u from\"../visualVariables/ColorVariable.js\";import p from\"../visualVariables/OpacityVariable.js\";import V from\"../visualVariables/RotationVariable.js\";import n from\"../visualVariables/SizeVariable.js\";import c from\"../visualVariables/VisualVariable.js\";import b from\"../visualVariables/VisualVariableFactory.js\";const m={base:c,key:\"type\",typeMap:{opacity:p,color:u,rotation:V,size:n}},v=l=>{let u=class extends l{constructor(){super(...arguments),this._vvFactory=new b}set visualVariables(r){this._vvFactory.visualVariables=r,this._set(\"visualVariables\",this._vvFactory.visualVariables)}readVisualVariables(r,a,s){return this._vvFactory.readVariables(r,a,s)}writeVisualVariables(r,a,s,i){a[s]=this._vvFactory.writeVariables(r,i)}get arcadeRequiredForVisualVariables(){if(!this.visualVariables)return!1;for(const r of this.visualVariables)if(r.arcadeRequired)return!0;return!1}hasVisualVariables(r,a){return r?this.getVisualVariablesForType(r,a).length>0:this.getVisualVariablesForType(\"size\",a).length>0||this.getVisualVariablesForType(\"color\",a).length>0||this.getVisualVariablesForType(\"opacity\",a).length>0||this.getVisualVariablesForType(\"rotation\",a).length>0}getVisualVariablesForType(r,a){const s=this.visualVariables;return s?s.filter((s=>s.type===r&&(\"string\"==typeof a?s.target===a:!1!==a||!s.target))):[]}async collectVVRequiredFields(r,a){let s=[];this.visualVariables&&(s=s.concat(this.visualVariables));for(const i of s)i&&(i.field&&t(r,a,i.field),i.normalizationField&&t(r,a,i.normalizationField),i.valueExpression&&(y(i.valueExpression,r,a)||await o(r,a,i.valueExpression)))}};return r([a({types:[m],value:null,json:{write:!0}})],u.prototype,\"visualVariables\",null),r([s(\"visualVariables\",[\"visualVariables\",\"rotationType\",\"rotationExpression\"])],u.prototype,\"readVisualVariables\",null),r([e(\"visualVariables\")],u.prototype,\"writeVisualVariables\",null),u=r([i(\"esri.renderers.mixins.VisualVariablesMixin\")],u),u};function y(r,a,s){const i=l(r);return null!=i&&(t(a,s,i),!0)}export{v as VisualVariablesMixin};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{_ as e}from\"../../chunks/tslib.es6.js\";import o from\"../../Color.js\";import{JSONSupport as r}from\"../../core/JSONSupport.js\";import t from\"../../core/Logger.js\";import{property as s}from\"../../core/accessorSupport/decorators/property.js\";import{cast as i}from\"../../core/accessorSupport/decorators/cast.js\";import\"../../core/RandomLCG.js\";import\"../../core/has.js\";import{subclass as l}from\"../../core/accessorSupport/decorators/subclass.js\";import{ensureString as p}from\"../../core/accessorSupport/ensureType.js\";var n;let u=n=class extends r{constructor(e){super(e),this.color=null,this.field=null,this.label=null,this.valueExpression=null,this.valueExpressionTitle=null}castField(e){return null==e?e:\"function\"==typeof e?(t.getLogger(this).error(\".field: field must be a string value\"),null):p(e)}getAttributeHash(){return`${this.field}-${this.valueExpression}`}clone(){return new n({color:this.color?.clone(),field:this.field,label:this.label,valueExpression:this.valueExpression,valueExpressionTitle:this.valueExpressionTitle})}};e([s({type:o,json:{type:[Number],write:!0}})],u.prototype,\"color\",void 0),e([s({type:String,json:{write:!0}})],u.prototype,\"field\",void 0),e([i(\"field\")],u.prototype,\"castField\",null),e([s({type:String,json:{write:!0}})],u.prototype,\"label\",void 0),e([s({type:String,json:{write:!0}})],u.prototype,\"valueExpression\",void 0),e([s({type:String,json:{write:!0}})],u.prototype,\"valueExpressionTitle\",void 0),u=n=e([l(\"esri.renderers.support.AttributeColorInfo\")],u);const c=u;export{c as default};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{_ as e}from\"../../chunks/tslib.es6.js\";import{JSONMap as t}from\"../../core/jsonMap.js\";import{JSONSupport as i}from\"../../core/JSONSupport.js\";import{clone as s}from\"../../core/lang.js\";import{property as r}from\"../../core/accessorSupport/decorators/property.js\";import{Integer as a}from\"../../core/accessorSupport/ensureType.js\";import{reader as l}from\"../../core/accessorSupport/decorators/reader.js\";import{subclass as o}from\"../../core/accessorSupport/decorators/subclass.js\";import{AuthoringInfoFieldInfo as n}from\"./AuthoringInfoFieldInfo.js\";import u from\"./AuthoringInfoVisualVariable.js\";import{fromJSON as p,types as d}from\"../../rest/support/colorRamps.js\";var c;const h=new t({esriClassifyDefinedInterval:\"defined-interval\",esriClassifyEqualInterval:\"equal-interval\",esriClassifyManual:\"manual\",esriClassifyNaturalBreaks:\"natural-breaks\",esriClassifyQuantile:\"quantile\",esriClassifyStandardDeviation:\"standard-deviation\"}),y=new t({classedSize:\"class-breaks-size\",classedColor:\"class-breaks-color\",univariateColorSize:\"univariate-color-size\",relationship:\"relationship\",predominance:\"predominance\",dotDensity:\"dot-density\",flow:\"flow\"}),m=new t({classedSize:\"class-breaks-size\",classedColor:\"class-breaks-color\",univariateColorSize:\"univariate-color-size\",relationship:\"relationship\",predominance:\"predominance\",dotDensity:\"dot-density\"}),f=[\"inches\",\"feet\",\"yards\",\"miles\",\"nautical-miles\",\"millimeters\",\"centimeters\",\"decimeters\",\"meters\",\"kilometers\"],v=[\"high-to-low\",\"above-and-below\",\"above\",\"below\"],w=[\"flow-line\",\"wave-front\"],b=[\"caret\",\"circle-caret\",\"arrow\",\"circle-arrow\",\"plus-minus\",\"circle-plus-minus\",\"square\",\"circle\",\"triangle\",\"happy-sad\",\"thumb\",\"custom\"];let g=c=class extends i{constructor(e){super(e),this.colorRamp=null,this.fadeRatio=null,this.isAutoGenerated=!1,this.lengthUnit=null,this.maxSliderValue=null,this.minSliderValue=null,this.visualVariables=null}get classificationMethod(){const e=this._get(\"classificationMethod\"),t=this.type;return t&&\"relationship\"!==t?\"class-breaks-size\"===t||\"class-breaks-color\"===t?e||\"manual\":null:e}set classificationMethod(e){this._set(\"classificationMethod\",e)}readColorRamp(e){return e?p(e):void 0}get fields(){return this.type&&\"predominance\"!==this.type?null:this._get(\"fields\")}set fields(e){this._set(\"fields\",e)}get field1(){return this.type&&\"relationship\"!==this.type?null:this._get(\"field1\")}set field1(e){this._set(\"field1\",e)}get field2(){return this.type&&\"relationship\"!==this.type?null:this._get(\"field2\")}set field2(e){this._set(\"field2\",e)}get flowTheme(){return\"flow\"===this.type?this._get(\"flowTheme\"):null}set flowTheme(e){this._set(\"flowTheme\",e)}get focus(){return this.type&&\"relationship\"!==this.type?null:this._get(\"focus\")}set focus(e){this._set(\"focus\",e)}get numClasses(){return this.type&&\"relationship\"!==this.type?null:this._get(\"numClasses\")}set numClasses(e){this._set(\"numClasses\",e)}get statistics(){return\"univariate-color-size\"===this.type&&\"above-and-below\"===this.univariateTheme?this._get(\"statistics\"):null}set statistics(e){this._set(\"statistics\",e)}get standardDeviationInterval(){const e=this.type;return e&&\"relationship\"!==e&&\"class-breaks-size\"!==e&&\"class-breaks-color\"!==e||this.classificationMethod&&\"standard-deviation\"!==this.classificationMethod?null:this._get(\"standardDeviationInterval\")}set standardDeviationInterval(e){this._set(\"standardDeviationInterval\",e)}get type(){return this._get(\"type\")}set type(e){let t=e;\"classed-size\"===e?t=\"class-breaks-size\":\"classed-color\"===e&&(t=\"class-breaks-color\"),this._set(\"type\",t)}get univariateSymbolStyle(){return\"univariate-color-size\"===this.type&&\"above-and-below\"===this.univariateTheme?this._get(\"univariateSymbolStyle\"):null}set univariateSymbolStyle(e){this._set(\"univariateSymbolStyle\",e)}get univariateTheme(){return\"univariate-color-size\"===this.type?this._get(\"univariateTheme\"):null}set univariateTheme(e){this._set(\"univariateTheme\",e)}clone(){return new c({classificationMethod:this.classificationMethod,colorRamp:s(this.colorRamp),fadeRatio:s(this.fadeRatio),fields:this.fields?.slice(),field1:s(this.field1),field2:s(this.field2),isAutoGenerated:this.isAutoGenerated,focus:this.focus,numClasses:this.numClasses,maxSliderValue:this.maxSliderValue,minSliderValue:this.minSliderValue,lengthUnit:this.lengthUnit,statistics:this.statistics,standardDeviationInterval:this.standardDeviationInterval,type:this.type,visualVariables:this.visualVariables&&this.visualVariables.map((e=>e.clone())),univariateSymbolStyle:this.univariateSymbolStyle,univariateTheme:this.univariateTheme,flowTheme:this.flowTheme})}};e([r({type:h.apiValues,value:null,json:{type:h.jsonValues,read:h.read,write:h.write,origins:{\"web-document\":{default:\"manual\",type:h.jsonValues,read:h.read,write:h.write}}}})],g.prototype,\"classificationMethod\",null),e([r({types:d,json:{write:!0}})],g.prototype,\"colorRamp\",void 0),e([l(\"colorRamp\")],g.prototype,\"readColorRamp\",null),e([r({json:{write:!0,origins:{\"web-scene\":{write:!1,read:!1}}}})],g.prototype,\"fadeRatio\",void 0),e([r({type:[String],value:null,json:{write:!0}})],g.prototype,\"fields\",null),e([r({type:n,value:null,json:{write:!0}})],g.prototype,\"field1\",null),e([r({type:n,value:null,json:{write:!0}})],g.prototype,\"field2\",null),e([r({type:w,value:null,json:{write:!0,origins:{\"web-scene\":{write:!1}}}})],g.prototype,\"flowTheme\",null),e([r({type:[\"HH\",\"HL\",\"LH\",\"LL\"],value:null,json:{write:!0}})],g.prototype,\"focus\",null),e([r({type:Boolean,json:{write:!0,default:!1,origins:{\"web-scene\":{write:!1}}}})],g.prototype,\"isAutoGenerated\",void 0),e([r({type:Number,value:null,json:{type:a,write:!0}})],g.prototype,\"numClasses\",null),e([r({type:f,json:{type:f,read:!1,write:!1,origins:{\"web-scene\":{read:!0,write:!0}}}})],g.prototype,\"lengthUnit\",void 0),e([r({type:Number,json:{write:!0,origins:{\"web-scene\":{write:!1,read:!1}}}})],g.prototype,\"maxSliderValue\",void 0),e([r({type:Number,json:{write:!0,origins:{\"web-scene\":{write:!1,read:!1}}}})],g.prototype,\"minSliderValue\",void 0),e([r({type:Object,value:null,json:{write:!0,origins:{\"web-scene\":{write:!1,read:!1}}}})],g.prototype,\"statistics\",null),e([r({type:[.25,.33,.5,1],value:null,json:{type:[.25,.33,.5,1],write:!0}})],g.prototype,\"standardDeviationInterval\",null),e([r({type:y.apiValues,value:null,json:{type:y.jsonValues,read:y.read,write:y.write,origins:{\"web-scene\":{type:m.jsonValues,write:{writer:m.write,overridePolicy:e=>({enabled:\"flow\"!==e})}}}}})],g.prototype,\"type\",null),e([r({type:[u],json:{write:!0}})],g.prototype,\"visualVariables\",void 0),e([r({type:b,value:null,json:{write:!0,origins:{\"web-scene\":{write:!1}}}})],g.prototype,\"univariateSymbolStyle\",null),e([r({type:v,value:null,json:{write:!0,origins:{\"web-scene\":{write:!1}}}})],g.prototype,\"univariateTheme\",null),g=c=e([o(\"esri.renderers.support.AuthoringInfo\")],g);const j=g;export{j as default};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{_ as r}from\"../../chunks/tslib.es6.js\";import{JSONSupport as o}from\"../../core/JSONSupport.js\";import{property as e}from\"../../core/accessorSupport/decorators/property.js\";import\"../../core/has.js\";import\"../../core/Logger.js\";import\"../../core/RandomLCG.js\";import{subclass as s}from\"../../core/accessorSupport/decorators/subclass.js\";var t;let p=t=class extends o{constructor(r){super(r),this.minValue=0,this.maxValue=0}clone(){return new t({minValue:this.minValue,maxValue:this.maxValue})}};r([e({type:Number,json:{write:!0}})],p.prototype,\"minValue\",void 0),r([e({type:Number,json:{write:!0}})],p.prototype,\"maxValue\",void 0),p=t=r([s(\"esri.renderers.support.AuthoringInfoClassBreakInfo\")],p);export{p as AuthoringInfoClassBreakInfo};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{_ as o}from\"../../chunks/tslib.es6.js\";import{JSONSupport as r}from\"../../core/JSONSupport.js\";import{clone as e}from\"../../core/lang.js\";import{property as s}from\"../../core/accessorSupport/decorators/property.js\";import\"../../core/has.js\";import\"../../core/Logger.js\";import{subclass as t}from\"../../core/accessorSupport/decorators/subclass.js\";import{AuthoringInfoClassBreakInfo as i}from\"./AuthoringInfoClassBreakInfo.js\";var n;let a=n=class extends r{constructor(o){super(o),this.field=\"\",this.normalizationField=\"\",this.label=\"\",this.classBreakInfos=new Array}clone(){return new n({field:this.field,normalizationField:this.normalizationField,label:this.label,classBreakInfos:e(this.classBreakInfos)})}};o([s({type:String,json:{write:!0}})],a.prototype,\"field\",void 0),o([s({type:String,json:{write:!0}})],a.prototype,\"normalizationField\",void 0),o([s({type:String,json:{write:!0}})],a.prototype,\"label\",void 0),o([s({type:[i],json:{write:!0}})],a.prototype,\"classBreakInfos\",void 0),a=n=o([t(\"esri.renderers.support.AuthoringInfoFieldInfo\")],a);export{a as AuthoringInfoFieldInfo};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{_ as r}from\"../../chunks/tslib.es6.js\";import{JSONSupport as e}from\"../../core/JSONSupport.js\";import{property as o}from\"../../core/accessorSupport/decorators/property.js\";import\"../../core/has.js\";import\"../../core/Logger.js\";import\"../../core/RandomLCG.js\";import{subclass as s}from\"../../core/accessorSupport/decorators/subclass.js\";var t;let p=t=class extends e{constructor(r){super(r),this.label=null,this.size=null,this.value=null}clone(){return new t({label:this.label,value:this.value,size:this.size})}};r([o({type:String,json:{write:!0}})],p.prototype,\"label\",void 0),r([o({type:Number,json:{write:!0}})],p.prototype,\"size\",void 0),r([o({type:Number,json:{write:!0}})],p.prototype,\"value\",void 0),p=t=r([s(\"esri.renderers.support.AuthoringInfoSizeStop\")],p);const i=p;export{i as default};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{_ as e}from\"../../chunks/tslib.es6.js\";import{JSONMap as t}from\"../../core/jsonMap.js\";import{JSONSupport as r}from\"../../core/JSONSupport.js\";import{clone as i}from\"../../core/lang.js\";import{property as o}from\"../../core/accessorSupport/decorators/property.js\";import{cast as s}from\"../../core/accessorSupport/decorators/cast.js\";import{subclass as n}from\"../../core/accessorSupport/decorators/subclass.js\";import l from\"./AuthoringInfoSizeStop.js\";var a;const p=new t({percentTotal:\"percent-of-total\",ratio:\"ratio\",percent:\"percent\"}),u=new t({sizeInfo:\"size\",colorInfo:\"color\",transparencyInfo:\"opacity\",rotationInfo:\"rotation\"}),m={key:e=>\"number\"==typeof e?\"number\":\"string\",typeMap:{number:Number,string:String},base:null},c=[\"high-to-low\",\"above-and-below\",\"centered-on\",\"extremes\"],y=[...new Set([...[\"high-to-low\",\"above-and-below\",\"centered-on\",\"extremes\",\"above\",\"below\"],...[\"high-to-low\",\"above-and-below\",\"above\",\"below\",\"reference-size\"]])],h=[\"seconds\",\"minutes\",\"hours\",\"days\",\"months\",\"years\"],S=[\"circle\",\"diamond\",\"hexagon-flat\",\"hexagon-pointy\",\"square\"];let d=a=class extends r{constructor(e){super(e),this.endTime=null,this.field=null,this.maxSliderValue=null,this.minSliderValue=null,this.startTime=null,this.type=null,this.units=null}castEndTime(e){return\"string\"==typeof e||\"number\"==typeof e?e:null}get normalizationField(){return\"reference-size\"===this.theme?this._get(\"normalizationField\"):null}set normalizationField(e){this._set(\"normalizationField\",e)}get referenceSizeScale(){return\"reference-size\"===this.theme?this._get(\"referenceSizeScale\"):null}set referenceSizeScale(e){this._set(\"referenceSizeScale\",e)}get referenceSizeSymbolStyle(){return\"reference-size\"===this.theme?this._get(\"referenceSizeSymbolStyle\"):null}set referenceSizeSymbolStyle(e){this._set(\"referenceSizeSymbolStyle\",e)}castStartTime(e){return\"string\"==typeof e||\"number\"==typeof e?e:null}get sizeStops(){return\"reference-size\"===this.theme?this._get(\"sizeStops\"):null}set sizeStops(e){this._set(\"sizeStops\",e)}get style(){return\"color\"===this.type?this._get(\"style\"):null}set style(e){this._set(\"style\",e)}get theme(){return\"color\"===this.type||\"size\"===this.type?this._get(\"theme\")||\"high-to-low\":null}set theme(e){this._set(\"theme\",e)}clone(){return new a({endTime:this.endTime,field:this.field,maxSliderValue:this.maxSliderValue,minSliderValue:this.minSliderValue,normalizationField:this.normalizationField,referenceSizeScale:this.referenceSizeScale,referenceSizeSymbolStyle:this.referenceSizeSymbolStyle,sizeStops:i(this.sizeStops),startTime:this.startTime,style:this.style,theme:this.theme,type:this.type,units:this.units})}};e([o({types:m,json:{write:!0}})],d.prototype,\"endTime\",void 0),e([s(\"endTime\")],d.prototype,\"castEndTime\",null),e([o({type:String,json:{write:!0}})],d.prototype,\"field\",void 0),e([o({type:Number,json:{write:!0}})],d.prototype,\"maxSliderValue\",void 0),e([o({type:Number,json:{write:!0}})],d.prototype,\"minSliderValue\",void 0),e([o({type:String,json:{origins:{\"web-scene\":{write:!1}},write:!0}})],d.prototype,\"normalizationField\",null),e([o({type:Number,value:null,json:{origins:{\"web-scene\":{write:!1}},write:!0}})],d.prototype,\"referenceSizeScale\",null),e([o({type:S,value:null,json:{origins:{\"web-scene\":{write:!1}},write:!0}})],d.prototype,\"referenceSizeSymbolStyle\",null),e([o({types:m,json:{write:!0}})],d.prototype,\"startTime\",void 0),e([s(\"startTime\")],d.prototype,\"castStartTime\",null),e([o({type:[l],json:{origins:{\"web-scene\":{write:!1}},write:!0}})],d.prototype,\"sizeStops\",null),e([o({type:p.apiValues,value:null,json:{type:p.jsonValues,read:p.read,write:p.write}})],d.prototype,\"style\",null),e([o({type:y,value:null,json:{type:y,origins:{\"web-scene\":{type:c,write:{writer:(e,t)=>{c.includes(e)&&(t.theme=e)}}}},write:!0}})],d.prototype,\"theme\",null),e([o({type:u.apiValues,json:{type:u.jsonValues,read:u.read,write:u.write}})],d.prototype,\"type\",void 0),e([o({type:h,json:{type:h,write:!0}})],d.prototype,\"units\",void 0),d=a=e([n(\"esri.renderers.support.AuthoringInfoVisualVariable\")],d);const f=d;export{f as default};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{_ as e}from\"../../chunks/tslib.es6.js\";import{JSONSupport as s}from\"../../core/JSONSupport.js\";import{property as o}from\"../../core/accessorSupport/decorators/property.js\";import\"../../core/has.js\";import\"../../core/Logger.js\";import\"../../core/RandomLCG.js\";import{subclass as r}from\"../../core/accessorSupport/decorators/subclass.js\";import{requiredRendererSymbolProperty as t}from\"./commonProperties.js\";var i;let l=i=class extends s{constructor(e){super(e),this.description=null,this.label=null,this.minValue=null,this.maxValue=0,this.symbol=null}clone(){return new i({description:this.description,label:this.label,minValue:this.minValue,maxValue:this.maxValue,symbol:this.symbol?.clone()??null})}getMeshHash(){const e=JSON.stringify(this.symbol);return`${this.minValue}.${this.maxValue}.${e}`}};e([o({type:String,json:{write:!0}})],l.prototype,\"description\",void 0),e([o({type:String,json:{write:!0}})],l.prototype,\"label\",void 0),e([o({type:Number,json:{read:{source:\"classMinValue\"},write:{target:\"classMinValue\"}}})],l.prototype,\"minValue\",void 0),e([o({type:Number,json:{read:{source:\"classMaxValue\"},write:{target:\"classMaxValue\"}}})],l.prototype,\"maxValue\",void 0),e([o(t)],l.prototype,\"symbol\",void 0),l=i=e([r(\"esri.renderers.support.ClassBreakInfo\")],l);const a=l;export{a as default};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport e from\"../../Color.js\";import t from\"../../request.js\";import i from\"../../core/Error.js\";import\"../../core/has.js\";import{clone as s}from\"../../core/lang.js\";import r from\"../../core/Logger.js\";import{LRUCache as o}from\"../../core/LRUCache.js\";import{isAbortError as n}from\"../../core/promiseUtils.js\";import{Version as l}from\"../../core/Version.js\";import{isPolygon as a,isPolyline as c}from\"../../geometry/support/jsonUtils.js\";import f from\"../../layers/support/FieldsIndex.js\";import{loadArcade as m,createDictionaryExpression as u}from\"../../support/arcadeOnDemand.js\";import h from\"../../symbols/CIMSymbol.js\";import{OverrideHelper as y}from\"../../symbols/cim/OverrideHelper.js\";import{getFieldName as p,getTextCasing as d}from\"../../symbols/cim/utils.js\";const g=\"esri.renderers.support.DictionaryLoader\",_={type:\"CIMSimpleLineCallout\",lineSymbol:{type:\"CIMLineSymbol\",symbolLayers:[{type:\"CIMSolidStroke\",width:.5,color:[0,0,0,255]}]}};class b{constructor(e,t,i){this.config=null,this.fieldMap=null,this.url=null,this._ongoingRequests=new Map,this._symbolCache=new o(100),this._dictionaryVersion=null,this._fieldIndex=null,this._dictionaryPromise=null,this.url=e,this.config=t,this.fieldMap=i}getSymbolFields(){return this._symbolFields}async getSymbolAsync(t,i){let s;this._dictionaryPromise||(this._dictionaryPromise=this.fetchResources(i));try{s=await this._dictionaryPromise}catch(y){if(n(y))return this._dictionaryPromise=null,null}const r=this._dictionaryVersion?.greaterEqual(4,0),o={};if(this.fieldMap)for(const e of this._symbolFields){const i=p(this.fieldMap[e],this._fieldIndex);if(i){const s=t.attributes[i];o[e]=r?s:null!=s?\"\"+t.attributes[i]:\"\"}else o[e]=\"\"}let l=null;try{l=s?.(o,i)}catch(d){return null}if(!l||\"string\"!=typeof l||\"invalid\"===l)return null;const f=l.split(\";\"),m=[],u=[];for(let n=0;nNumber(e)));else if(\"Color\"===r){const t=new e(o).toRgba();o=[t[0],t[1],t[2],255*t[3]]}else o=Number(o);u.push({primitiveName:i,propertyName:r,value:o,defaultValue:null})}}else if(i.includes(\"|\")){for(const e of i.split(\"|\"))if(this._itemNames.has(e)){m.push(e);break}}else if(this._itemNames.has(i))m.push(i);else if(0===n){m.length=0;let e=\"Invalid_P\";null!=t.geometry&&(a(t.geometry)?e=\"Invalid_A\":c(t.geometry)&&(e=\"Invalid_L\")),m.push(e);break}}const h=null==t.geometry||!t.geometry.hasZ&&\"point\"===t.geometry.type;return this._cimPartsToCIMSymbol(t,m,u,h,i)}async fetchResources(e){if(this._dictionaryPromise)return this._dictionaryPromise;if(!this.url)return void r.getLogger(g).error(\"no valid URL!\");const s=t(this.url+\"/resources/styles/dictionary-info.json\",{responseType:\"json\",query:{f:\"json\"},signal:null!=e?e.signal:null}),[{data:o}]=await Promise.all([s,m()]);if(!o)throw this._dictionaryPromise=null,new i(\"esri.renderers.DictionaryRenderer\",\"Bad dictionary data!\");const{authoringInfo:n,dictionary_version:a,expression:c,itemsNames:h}=o,y=c;let p=!1;a&&(this._dictionaryVersion=l.parse(a),p=this._dictionaryVersion.greaterEqual(4,0)),this._refSymbolUrlTemplate=this.url+\"/\"+o.cimRefTemplateUrl,this._itemNames=new Set(h),this._symbolFields=n.symbol;const d={};if(this.config){const e=this.config;for(const t in e)d[t]=e[t]}if(n.configuration)for(const t of n.configuration)d.hasOwnProperty(t.name)||(d[t.name]=t.value);const _=[];if(e?.fields&&this.fieldMap)for(const t in this.fieldMap){const i=this.fieldMap[t],s=e.fields.filter((e=>e.name.toLowerCase()===i?.toLowerCase()));s.length>0&&_.push({...s[0],type:p?s[0].type:\"esriFieldTypeString\"})}_.length>0&&(this._fieldIndex=new f(_));const b=u(y,null!=e?e.spatialReference:null,_,d).then((e=>{const t={scale:0};return(i,s)=>{if(null==e)return null;const r=e.repurposeFeature({geometry:null,attributes:i});return t.scale=null!=s?s.scale??void 0:void 0,e.evaluate({$feature:r,$view:t},e.services)}})).catch((e=>(r.getLogger(g).error(\"Creating dictionary expression failed:\",e),null)));return this._dictionaryPromise=b,b}async _cimPartsToCIMSymbol(e,t,i,r,o){const n=new Array(t.length);for(let s=0;se.data));const r=this._refSymbolUrlTemplate.replaceAll(/\\{itemName\\}/gi,e),o=t(r,{responseType:\"json\",query:{f:\"json\"},...i});this._ongoingRequests.set(e,o),o.finally((()=>this._ongoingRequests.delete(e)));try{const t=await o;return this._symbolCache.put(e,t.data),t.data}catch(n){throw n}}}function j(e,t,i){if(!e||0===e.length)return null;const s={...e[0]};if(e.length>1){s.effects=null,s.symbolLayers=[];for(const t of e){const e=t;if(null!=e.effects)for(const t of e.symbolLayers)null==t.effects?t.effects=e.effects:t.effects.unshift(...e.effects);s.symbolLayers.unshift(...e.symbolLayers)}}return i&&(s.callout=_),{type:\"CIMSymbolReference\",symbol:s,primitiveOverrides:t}}export{b as DictionaryLoader};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{_ as r}from\"../../chunks/tslib.es6.js\";import{JSONSupport as o}from\"../../core/JSONSupport.js\";import{property as t}from\"../../core/accessorSupport/decorators/property.js\";import\"../../core/has.js\";import\"../../core/Logger.js\";import\"../../core/RandomLCG.js\";import{subclass as s}from\"../../core/accessorSupport/decorators/subclass.js\";var e;let p=e=class extends o{constructor(){super(...arguments),this.unit=null}clone(){return new e({unit:this.unit})}};r([t({type:String,json:{write:!0}})],p.prototype,\"unit\",void 0),p=e=r([s(\"esri.renderers.support.DotDensityLegendOptions\")],p);const i=p;export{i as default};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{_ as o}from\"../../chunks/tslib.es6.js\";import r from\"../../Color.js\";import{JSONSupport as t}from\"../../core/JSONSupport.js\";import{property as s}from\"../../core/accessorSupport/decorators/property.js\";import{Integer as e}from\"../../core/accessorSupport/ensureType.js\";import\"../../core/RandomLCG.js\";import\"../../core/has.js\";import{subclass as p}from\"../../core/accessorSupport/decorators/subclass.js\";var c;let i=c=class extends t{constructor(o){super(o),this.color=null,this.ratio=null}clone(){return new c({color:this.color&&this.color.clone(),ratio:this.ratio})}};o([s({type:r,json:{type:[e],default:null,write:!0}})],i.prototype,\"color\",void 0),o([s({type:Number,json:{write:!0}})],i.prototype,\"ratio\",void 0),i=c=o([p(\"esri.renderers.support.HeatmapColorStop\")],i);const l=i;export{l as default};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{_ as o}from\"../../chunks/tslib.es6.js\";import{ClonableMixin as r}from\"../../core/Clonable.js\";import{JSONSupport as t}from\"../../core/JSONSupport.js\";import{property as e}from\"../../core/accessorSupport/decorators/property.js\";import\"../../core/has.js\";import\"../../core/Logger.js\";import\"../../core/RandomLCG.js\";import{subclass as s}from\"../../core/accessorSupport/decorators/subclass.js\";let p=class extends(r(t)){constructor(){super(...arguments),this.minLabel=null,this.maxLabel=null,this.title=null}};o([e({type:String,json:{write:!0}})],p.prototype,\"minLabel\",void 0),o([e({type:String,json:{write:!0}})],p.prototype,\"maxLabel\",void 0),o([e({type:String,json:{write:!0}})],p.prototype,\"title\",void 0),p=o([s(\"esri.renderers.support.HeatmapLegendOptions\")],p);export{p as HeatmapLegendOptions};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{_ as o}from\"../../chunks/tslib.es6.js\";import r from\"../../Color.js\";import{ClonableMixin as e}from\"../../core/Clonable.js\";import{JSONSupport as t}from\"../../core/JSONSupport.js\";import{property as s}from\"../../core/accessorSupport/decorators/property.js\";import\"../../core/has.js\";import\"../../core/Logger.js\";import\"../../core/RandomLCG.js\";import{subclass as p}from\"../../core/accessorSupport/decorators/subclass.js\";let i=class extends(e(t)){constructor(){super(...arguments),this.color=new r([0,0,0,0]),this.label=null,this.threshold=0}};o([s({type:r,json:{write:!0}})],i.prototype,\"color\",void 0),o([s({type:String,json:{write:!0}})],i.prototype,\"label\",void 0),o([s({type:Number,range:{min:0,max:1},json:{write:!0}})],i.prototype,\"threshold\",void 0),i=o([p(\"esri.renderers.support.OthersCategory\")],i);export{i as OthersCategory};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{_ as r}from\"../../chunks/tslib.es6.js\";import{ClonableMixin as o}from\"../../core/Clonable.js\";import{strict as e}from\"../../core/jsonMap.js\";import{JSONSupport as s}from\"../../core/JSONSupport.js\";import{property as t}from\"../../core/accessorSupport/decorators/property.js\";import\"../../core/has.js\";import\"../../core/Logger.js\";import\"../../core/RandomLCG.js\";import{enumeration as p}from\"../../core/accessorSupport/decorators/enumeration.js\";import{subclass as c}from\"../../core/accessorSupport/decorators/subclass.js\";const i=e()({ascendingValues:\"ascending-values\",descendingValues:\"descending-values\"});let n=class extends(o(s)){constructor(r){super(r),this.title=null,this.order=null}};r([t({type:String,json:{write:!0}})],n.prototype,\"title\",void 0),r([p(i)],n.prototype,\"order\",void 0),n=r([c(\"esri.renderers.support.RendererLegendOptions\")],n);const a=n;export{a as default};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{_ as o}from\"../../chunks/tslib.es6.js\";import{ClonableMixin as r}from\"../../core/Clonable.js\";import{JSONSupport as e}from\"../../core/JSONSupport.js\";import{property as s}from\"../../core/accessorSupport/decorators/property.js\";import\"../../core/has.js\";import\"../../core/Logger.js\";import\"../../core/RandomLCG.js\";import{subclass as t}from\"../../core/accessorSupport/decorators/subclass.js\";import{uniqueValueProperty as p}from\"./commonProperties.js\";let c=class extends(r(e)){constructor(o){super(o),this.value=null,this.value2=null,this.value3=null}};o([s(p)],c.prototype,\"value\",void 0),o([s(p)],c.prototype,\"value2\",void 0),o([s(p)],c.prototype,\"value3\",void 0),c=o([t(\"esri.renderers.support.UniqueValue\")],c);const l=c;export{l as default};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{_ as r}from\"../../chunks/tslib.es6.js\";import{isSome as o}from\"../../core/arrayUtils.js\";import{ClonableMixin as e}from\"../../core/Clonable.js\";import{JSONSupport as t}from\"../../core/JSONSupport.js\";import{property as s}from\"../../core/accessorSupport/decorators/property.js\";import{cast as l}from\"../../core/accessorSupport/decorators/cast.js\";import\"../../core/has.js\";import{subclass as p}from\"../../core/accessorSupport/decorators/subclass.js\";import{rendererSymbolProperty as a}from\"./commonProperties.js\";import i from\"./UniqueValue.js\";let n=class extends(e(t)){constructor(r){super(r),this.description=null,this.label=null,this.symbol=null,this.values=null}castValues(r){if(null==r)return null;const o=typeof(r=Array.isArray(r)?r:[r])[0];return\"string\"===o||\"number\"===o?r.map((r=>new i({value:r}))):\"object\"===o?r[0]instanceof i?r:r.map((r=>new i(r))):null}};r([s({type:String,json:{write:!0}})],n.prototype,\"description\",void 0),r([s({type:String,json:{write:!0}})],n.prototype,\"label\",void 0),r([s(a)],n.prototype,\"symbol\",void 0),r([s({type:[i],json:{type:[[String]],read:{reader:r=>r?r.map((r=>new i({value:r[0],value2:r[1],value3:r[2]}))):null},write:{writer:(r,e)=>{const t=[];for(const s of r){const r=[s.value,s.value2,s.value3].filter(o).map((r=>r.toString()));t.push(r)}e.values=t}}}})],n.prototype,\"values\",void 0),r([l(\"values\")],n.prototype,\"castValues\",null),n=r([p(\"esri.renderers.support.UniqueValueClass\")],n);const u=n;export{u as default};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{_ as o}from\"../../chunks/tslib.es6.js\";import{ClonableMixin as r}from\"../../core/Clonable.js\";import{JSONSupport as s}from\"../../core/JSONSupport.js\";import{property as e}from\"../../core/accessorSupport/decorators/property.js\";import\"../../core/has.js\";import\"../../core/Logger.js\";import\"../../core/RandomLCG.js\";import{subclass as t}from\"../../core/accessorSupport/decorators/subclass.js\";import p from\"./UniqueValueClass.js\";let i=class extends(r(s)){constructor(o){super(o),this.heading=null,this.classes=null}};o([e({type:String,json:{write:!0}})],i.prototype,\"heading\",void 0),o([e({type:[p],json:{write:!0}})],i.prototype,\"classes\",void 0),i=o([t(\"esri.renderers.support.UniqueValueGroup\")],i);const c=i;export{c as default};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{_ as o}from\"../../chunks/tslib.es6.js\";import{JSONSupport as r}from\"../../core/JSONSupport.js\";import{property as s}from\"../../core/accessorSupport/decorators/property.js\";import\"../../core/has.js\";import\"../../core/Logger.js\";import\"../../core/RandomLCG.js\";import{subclass as t}from\"../../core/accessorSupport/decorators/subclass.js\";import{requiredRendererSymbolProperty as e,uniqueValueProperty as i}from\"./commonProperties.js\";var l;let p=l=class extends r{constructor(o){super(o),this.description=null,this.label=null,this.symbol=null,this.value=null}clone(){return new l({value:this.value,description:this.description,label:this.label,symbol:this.symbol?this.symbol.clone():null})}getMeshHash(){const o=JSON.stringify(this.symbol?.toJSON());return`${this.value}.${o}`}};o([s({type:String,json:{write:!0}})],p.prototype,\"description\",void 0),o([s({type:String,json:{write:!0}})],p.prototype,\"label\",void 0),o([s(e)],p.prototype,\"symbol\",void 0),o([s(i)],p.prototype,\"value\",void 0),p=l=o([t(\"esri.renderers.support.UniqueValueInfo\")],p);const n=p;export{n as default};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nfunction t(t,e){return e?\"xoffset\"in e&&e.xoffset?Math.max(t,Math.abs(e.xoffset)):\"yoffset\"in e&&e.yoffset?Math.max(t,Math.abs(e.yoffset||0)):t:t}function e(t){let e=0,n=0;for(let r=0;r\"size\"===t.type)).map((e=>{const{maxSize:r,minSize:o}=e;return(n(r,t)+n(o,t))/2}));let o=0;const s=r.length;if(0===s)return t;for(let n=0;n{e=t(e,n.symbol)})),e}if(\"class-breaks\"===n.type){let e=f;return n.classBreakInfos.forEach((n=>{e=t(e,n.symbol)})),e}return\"dot-density\"===n.type||n.type,f}export{o as calculateTolerance};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{symbolTypesRenderer as e,symbolTypesRenderer3D as r,symbolTypes as t}from\"../../symbols.js\";import{deepMerge as o}from\"../../core/object.js\";import{createTypeReader as s}from\"../../core/accessorSupport/extensions/serializableProperty/reader.js\";import{write as i}from\"../../symbols/support/jsonUtils.js\";import p from\"../../symbols/Symbol.js\";import l from\"../../symbols/PolygonSymbol3D.js\";const y={types:e,json:{write:{writer:i},origins:{\"web-scene\":{types:r,write:{writer:i},read:{reader:s({types:r})}}}}},m=o({json:{origins:{\"web-scene\":{write:{isRequired:!0}}}}},y),n={types:{base:p,key:\"type\",typeMap:{\"simple-fill\":t.typeMap[\"simple-fill\"],\"picture-fill\":t.typeMap[\"picture-fill\"],\"polygon-3d\":t.typeMap[\"polygon-3d\"],cim:t.typeMap.cim}},json:{write:{writer:i},origins:{\"web-scene\":{type:l,write:{writer:i}}}}},a={cast:e=>null==e||\"string\"==typeof e||\"number\"==typeof e?e:`${e}`,json:{type:String,write:{writer:(e,r)=>{r.value=e?.toString()}}}};export{n as rendererBackgroundFillSymbolProperty,y as rendererSymbolProperty,m as requiredRendererSymbolProperty,a as uniqueValueProperty};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{clamp as t}from\"../../core/mathUtils.js\";import{px2pt as r,pt2px as o}from\"../../core/screenUtils.js\";import{l as n}from\"../../chunks/vec42.js\";import{create as i}from\"../../core/libs/gl-matrix-2/factories/vec4f64.js\";const c=2.4;function e(t){return r(t*c)}function a(t){return o(t)/c}function s(r,o,i,c){let{color:e,ratio:a}=o,{color:s,ratio:f}=i;if(f===a){const t=1e-6;1===f?a-=t:f+=t}const l=t((c-a)/(f-a),0,1);n(r,e.toArray(),s.toArray(),l)}function f(t){const r=512,o=new Uint8ClampedArray(4*r);if(t=t.filter((({ratio:t})=>t>=0&&t<=1)).sort(((t,r)=>t.ratio-r.ratio)).map((({color:t,ratio:r})=>({color:t,ratio:Math.max(r,.001)}))),t.length<1)return o;let n=t[0],c=t[0],e=1;const a=i();for(let i=0;ic.ratio&&e1?0:3/(Math.PI*o**2)*(1-n**2)**2}function u(t){return\"function\"==typeof t?t:t?r=>+r[t]:()=>1}export{u as createValueFunction,l as evaluateDensityKernel,e as gaussianBlurRadiusPxToKernelDensityRadiusPt,f as generateGradient,a as kernelDensityRadiusPtToGaussianBlurRadiusPx,c as magicKernelDensityRadiusInflationFactor};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport e from\"../../core/Warning.js\";import{createTypeReader as r}from\"../../core/accessorSupport/extensions/serializableProperty/reader.js\";import{rendererTypes as n}from\"./types.js\";function t(e,r){return o(e,null,r)}const s=r({types:n});function o(r,n,t){return r?r&&(r.styleName||r.styleUrl)&&\"uniqueValue\"!==r.type?(t?.messages&&t.messages.push(new e(\"renderer:unsupported\",\"Only UniqueValueRenderer can be referenced from a web style, but found '\"+r.type+\"'\",{definition:r,context:t})),null):s(r,n,t):null}export{t as fromJSON,o as read};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{convertUnit as e,lengthToDegrees as s}from\"../../core/unitUtils.js\";import{earth as t}from\"../../geometry/support/Ellipsoid.js\";const m={unknown:1,inches:e(1,\"meters\",\"inches\"),feet:e(1,\"meters\",\"feet\"),\"us-feet\":e(1,\"meters\",\"us-feet\"),yards:e(1,\"meters\",\"yards\"),miles:e(1,\"meters\",\"miles\"),\"nautical-miles\":e(1,\"meters\",\"nautical-miles\"),millimeters:e(1,\"meters\",\"millimeters\"),centimeters:e(1,\"meters\",\"centimeters\"),decimeters:e(1,\"meters\",\"decimeters\"),meters:e(1,\"meters\",\"meters\"),kilometers:e(1,\"meters\",\"kilometers\"),\"decimal-degrees\":1/s(1,\"meters\",t.radius)};export{m as meterIn};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport\"../../intl.js\";import{formatNumber as t}from\"../../intl/number.js\";const n=/^-?(\\d+)(\\.(\\d+))?$/i;function e(t,n){return t-n}function r(t,n){let e,r;return e=Number(t.toFixed(n)),e0;o||(e=Math.abs(e));const l=i(t);return o?(l.integer+=e,e>l.fractional?l.fractional=0:l.fractional-=e):(l.fractional+=e,e>l.integer?l.integer=1:l.integer-=e),l}}return{integer:0,fractional:0}}function l(t,n,e,r){const o={previous:null,next:null};if(null!=e){const r=t-e,i=n-e-r;o.previous=Math.floor(Math.abs(100*i/r))}if(null!=r){const e=r-t,i=r-n-e;o.next=Math.floor(Math.abs(100*i/e))}return o}function u(t,n={}){const l=t.slice(),{tolerance:u=2,strictBounds:s=!1,indexes:c=l.map(((t,n)=>n))}=n;c.sort(e);for(let e=0;e(r||e.getLogger(\"esri.renderers.support.types\").error(`Removed invalid unique value info ([${t}] ${s}) without a symbol from web scene.`),!!r)));return t?.length!==s?.length&&(r.uniqueValueInfos=t),r}function d(r){const s=r.classBreakInfos,t=s?.filter((({symbol:r,label:s},t)=>(r||e.getLogger(\"esri.renderers.support.types\").error(`Removed invalid class break info ([${t}] ${s}) without a symbol from web scene.`),!!r)));return t?.length!==s?.length&&(r.classBreakInfos=t),r}export{m as rendererTypes,u as webSceneRendererTypes};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{unique as e,isSome as l}from\"../../core/arrayUtils.js\";import t from\"../../core/Logger.js\";import{getOrCreateMapValue as i}from\"../../core/MapUtils.js\";import{convertDateFormatToIntlOptions as o,formatDate as a}from\"../../intl/date.js\";import{isTimeOnlyField as n}from\"../../layers/support/fieldUtils.js\";import{format as s,round as r}from\"./numberUtils.js\";import u from\"../visualVariables/support/ColorStop.js\";import{isAnyDateField as f,formatAnyDate as d}from\"../../smartMapping/support/utils.js\";import{getColorFromSymbol as p}from\"../../symbols/support/utils.js\";import{getRampStops as m}from\"../../widgets/Legend/support/colorRampUtils.js\";import{getHeatmapRampStops as c}from\"../../widgets/Legend/support/heatmapRampUtils.js\";const y=()=>t.getLogger(\"esri.renderers.support.utils\"),g={lte:\"<=\",gte:\">=\",lt:\"<\",gt:\">\",pct:\"%\",ld:\"–\"},h={millisecond:0,second:1,minute:2,hour:3,day:4,month:5,year:6},b={millisecond:\"long-month-day-year-long-time\",second:\"long-month-day-year-long-time\",minute:\"long-month-day-year-short-time\",hour:\"long-month-day-year-short-time\",day:\"long-month-day-year\",month:\"long-month-day-year\",year:\"year\"},v=o(\"short-date\");async function w(e,l,t){i(e,l,(()=>[])).push(...t)}async function x(l){const t=new Map;if(!l)return t;if(\"visualVariables\"in l&&l.visualVariables){const e=l.visualVariables.filter((e=>\"color\"===e.type));for(const l of e){const e=(await m(l)??[]).map((e=>e.color));await w(t,l.field||l.valueExpression,e)}}if(\"heatmap\"===l.type){const e=c(l).map((e=>e.color));await w(t,l.field||l.valueExpression,e)}else if(\"pie-chart\"===l.type){for(const e of l.attributes)await w(t,e.field||e.valueExpression,[e.color]);await w(t,\"default\",[l?.othersCategory?.color,p(l.backgroundFillSymbol,null)])}else if(\"dot-density\"===l.type){for(const e of l.attributes)await w(t,e.field||e.valueExpression,[e.color]);await w(t,\"default\",[l.backgroundColor])}else if(\"unique-value\"===l.type)if(\"predominance\"===l.authoringInfo?.type)for(const e of l.uniqueValueInfos??[])await w(t,e.value.toString(),[p(e.symbol,null)]);else{const e=(l.uniqueValueInfos??[]).map((e=>p(e.symbol,null))),{field:i,field2:o,field3:a,valueExpression:n}=l;(i||n)&&await w(t,i||n,e),o&&await w(t,o,e),a&&await w(t,a,e)}else if(\"class-breaks\"===l.type){const e=l.classBreakInfos.map((e=>p(e.symbol,null))),{field:i,valueExpression:o}=l;await w(t,i??o,e)}else\"simple\"===l.type&&await w(t,\"default\",[p(l.symbol,null)]);return\"defaultSymbol\"in l&&l.defaultSymbol&&await w(t,\"default\",[p(l.defaultSymbol,null)]),t.forEach(((l,i)=>{const o=e(l.filter(Boolean),((e,l)=>JSON.stringify(e)===JSON.stringify(l)));t.set(i,o)})),t}async function V(e,l,t){const o=i(e,l,(()=>new Map));for(const i of t)o.set(i.value,i.color)}async function E(e){const l=new Map;if(!e)return l;if(\"unique-value\"!==e.type||e.authoringInfo?.type)if(\"class-breaks\"===e.type){const t=e.classBreakInfos.map((e=>({value:e.minValue,color:p(e.symbol,null)}))).reverse(),{field:i,valueExpression:o}=e;await V(l,i??o,t)}else\"simple\"===e.type&&await V(l,\"default\",[{value:\"default\",color:p(e.symbol,null)}]);else{const t=(e.uniqueValueInfos??[]).map((e=>({value:e.value,color:p(e.symbol,null)}))),{field:i,field2:o,field3:a,valueExpression:n,fieldDelimiter:s}=e,r=[i,o,a].filter(Boolean).join(s||\"\");(r||n)&&await V(l,r||n,t)}if(\"defaultSymbol\"in e&&e.defaultSymbol&&await V(l,\"default\",[{value:\"default\",color:p(e.defaultSymbol,null)}]),\"visualVariables\"in e&&e.visualVariables){const t=e.visualVariables.filter((e=>\"color\"===e.type));for(const e of t){const t=await m(e)??[];await V(l,e.field||e.valueExpression,t)}}return l}function F(e,l,t){let i=\"\";return 0===l?i=g.lt+\" \":l===t&&(i=g.gt+\" \"),i+e}function z(e){const{values:l,colors:t,labelIndexes:i,isDate:o}=e;return l.map(((e,n)=>{let r=null;if(!i||i.includes(n)){const t=o?a(e):s(e);t&&(r=F(t,n,l.length-1))}return new u({value:e,color:t[n],label:r})}))}function S(e){let l=e.minValue,t=e.maxValue;const i=e.isFirstBreak?\"\":g.gt+\" \",o=\"percent-of-total\"===e.normalizationType?g.pct:\"\";return l=null==l?\"\":s(l),t=null==t?\"\":s(t),i+l+o+\" \"+g.ld+\" \"+t+o}function k(e){const l=e.classBreakInfos,t=e.normalizationType;let i=[];if(l?.length)if(\"standard-deviation\"!==e.classificationMethod)if(e.round){i.push(l[0].minValue);for(const e of l)i.push(e.maxValue);i=r(i),l.forEach(((e,l)=>{e.label=S({minValue:0===l?i[0]:i[l],maxValue:i[l+1],isFirstBreak:0===l,normalizationType:t})}))}else l.forEach(((e,l)=>{e.label=S({minValue:e.minValue,maxValue:e.maxValue,isFirstBreak:0===l,normalizationType:t})}));else y().warn(\"setLabelsForClassBreaks\",\"cannot set labels for class breaks generated using 'standard-deviation' method.\")}function j(e){const l=e.map((e=>new Date(e))),t=l.length;let i=1/0,o=null;for(let a=0;ae&&o.push(B(e))))}}else\"attributes\"in t&&t.attributes?.forEach((e=>o.push(M(e,\"number\"))));const a=i?i(t):\"visualVariables\"in t?t.visualVariables:null;return a&&a.forEach((e=>o.push(M(e,\"number\")))),e(o.filter(l),((e,l)=>\"field\"===e.type&&\"field\"===l.type?e.field===l.field:\"normalized-field\"===e.type&&\"normalized-field\"===l.type?e.field===l.field&&e.normalizationField===l.normalizationField:\"expression\"===e.type&&\"expression\"===l.type&&e.expression===l.expression))}export{j as calculateDateFormatInterval,S as createClassBreakLabel,z as createColorStops,I as createUniqueValueLabel,b as dateFormatIntervalOptions,M as getAttribute,U as getAttributes,E as getColorsForRendererValues,x as getColorsFromRenderer,k as setLabelsForClassBreaks,v as timelineDateFormatOptions};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{_ as t}from\"../../chunks/tslib.es6.js\";import{property as o}from\"../../core/accessorSupport/decorators/property.js\";import\"../../core/has.js\";import\"../../core/Logger.js\";import\"../../core/RandomLCG.js\";import{subclass as s}from\"../../core/accessorSupport/decorators/subclass.js\";import e from\"./VisualVariable.js\";import r from\"./support/ColorStop.js\";var i;let a=i=class extends e{constructor(t){super(t),this.type=\"color\",this.normalizationField=null}get cache(){return{ipData:this._interpolateData(),hasExpression:!!this.valueExpression,compiledFunc:null}}set stops(t){t&&Array.isArray(t)&&(t=t.filter((t=>!!t))).sort(((t,o)=>t.value-o.value)),this._set(\"stops\",t)}clone(){return new i({field:this.field,normalizationField:this.normalizationField,valueExpression:this.valueExpression,valueExpressionTitle:this.valueExpressionTitle,stops:this.stops&&this.stops.map((t=>t.clone())),legendOptions:this.legendOptions?.clone()})}getAttributeHash(){return`${super.getAttributeHash()}-${this.normalizationField}`}_interpolateData(){return this.stops&&this.stops.map((t=>t.value||0))}};t([o({readOnly:!0})],a.prototype,\"cache\",null),t([o({type:[\"color\"],json:{type:[\"colorInfo\"]}})],a.prototype,\"type\",void 0),t([o({type:String,json:{write:!0}})],a.prototype,\"normalizationField\",void 0),t([o({type:[r],json:{write:!0}})],a.prototype,\"stops\",null),a=i=t([s(\"esri.renderers.visualVariables.ColorVariable\")],a);const p=a;export{p as default};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{_ as t}from\"../../chunks/tslib.es6.js\";import{property as s}from\"../../core/accessorSupport/decorators/property.js\";import\"../../core/has.js\";import\"../../core/Logger.js\";import\"../../core/RandomLCG.js\";import{subclass as e}from\"../../core/accessorSupport/decorators/subclass.js\";import o from\"./VisualVariable.js\";import r from\"./support/OpacityStop.js\";var i;let a=i=class extends o{constructor(t){super(t),this.type=\"opacity\",this.normalizationField=null}get cache(){return{ipData:this._interpolateData(),hasExpression:!!this.valueExpression,compiledFunc:null}}set stops(t){t&&Array.isArray(t)&&(t=t.filter((t=>!!t))).sort(((t,s)=>t.value-s.value)),this._set(\"stops\",t)}clone(){return new i({field:this.field,normalizationField:this.normalizationField,valueExpression:this.valueExpression,valueExpressionTitle:this.valueExpressionTitle,stops:this.stops&&this.stops.map((t=>t.clone())),legendOptions:this.legendOptions?.clone()})}getAttributeHash(){return`${super.getAttributeHash()}-${this.normalizationField}`}_interpolateData(){return this.stops&&this.stops.map((t=>t.value||0))}};t([s({readOnly:!0})],a.prototype,\"cache\",null),t([s({type:[\"opacity\"],json:{type:[\"transparencyInfo\"]}})],a.prototype,\"type\",void 0),t([s({type:String,json:{write:!0}})],a.prototype,\"normalizationField\",void 0),t([s({type:[r],json:{write:!0}})],a.prototype,\"stops\",null),a=i=t([e(\"esri.renderers.visualVariables.OpacityVariable\")],a);const p=a;export{p as default};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{_ as e}from\"../../chunks/tslib.es6.js\";import{property as o}from\"../../core/accessorSupport/decorators/property.js\";import\"../../core/has.js\";import\"../../core/Logger.js\";import\"../../core/RandomLCG.js\";import{subclass as t}from\"../../core/accessorSupport/decorators/subclass.js\";import r from\"./VisualVariable.js\";var s;let i=s=class extends r{constructor(e){super(e),this.axis=null,this.type=\"rotation\",this.rotationType=\"geographic\"}get cache(){return{hasExpression:!!this.valueExpression,compiledFunc:null}}clone(){return new s({axis:this.axis,rotationType:this.rotationType,field:this.field,valueExpression:this.valueExpression,valueExpressionTitle:this.valueExpressionTitle,legendOptions:this.legendOptions?.clone()})}};e([o({readOnly:!0})],i.prototype,\"cache\",null),e([o({type:[\"heading\",\"tilt\",\"roll\"],json:{origins:{\"web-scene\":{default:\"heading\",write:!0}}}})],i.prototype,\"axis\",void 0),e([o({type:[\"rotation\"],json:{type:[\"rotationInfo\"]}})],i.prototype,\"type\",void 0),e([o({type:[\"geographic\",\"arithmetic\"],json:{write:!0,origins:{\"web-document\":{write:!0,default:\"geographic\"}}}})],i.prototype,\"rotationType\",void 0),i=s=e([t(\"esri.renderers.visualVariables.RotationVariable\")],i);const a=i;export{a as default};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{_ as e}from\"../../chunks/tslib.es6.js\";import t from\"../../core/Error.js\";import{JSONMap as i}from\"../../core/jsonMap.js\";import s from\"../../core/Logger.js\";import{property as r}from\"../../core/accessorSupport/decorators/property.js\";import{cast as a}from\"../../core/accessorSupport/decorators/cast.js\";import{reader as n}from\"../../core/accessorSupport/decorators/reader.js\";import{subclass as o}from\"../../core/accessorSupport/decorators/subclass.js\";import{writer as l}from\"../../core/accessorSupport/decorators/writer.js\";import p from\"./VisualVariable.js\";import{castSizeFromStringOrNumber as u}from\"./support/castSizeVariable.js\";import m from\"./support/SizeStop.js\";import h from\"./support/SizeVariableLegendOptions.js\";import{isSizeVariable as c,getInputValueType as d,getTransformationType as y,TransformationType as S}from\"./support/sizeVariableUtils.js\";import{viewScaleRE as x}from\"./support/visualVariableUtils.js\";var z;const v=new i({width:\"width\",depth:\"depth\",height:\"height\",widthAndDepth:\"width-and-depth\",all:\"all\"}),w=new i({unknown:\"unknown\",inch:\"inches\",foot:\"feet\",yard:\"yards\",mile:\"miles\",\"nautical-mile\":\"nautical-miles\",millimeter:\"millimeters\",centimeter:\"centimeters\",decimeter:\"decimeters\",meter:\"meters\",kilometer:\"kilometers\"});function g(e){if(null!=e)return\"string\"==typeof e||\"number\"==typeof e?u(e):\"size\"===e.type?c(e)?e:(delete(e={...e}).type,new f(e)):void 0}function V(e,t,i){if(\"object\"!=typeof e)return e;const s=new f;return s.read(e,i),s}let f=z=class extends p{constructor(e){super(e),this.axis=null,this.legendOptions=null,this.normalizationField=null,this.scaleBy=null,this.target=null,this.type=\"size\",this.useSymbolValue=null,this.valueExpression=null,this.valueRepresentation=null,this.valueUnit=null}get cache(){return{ipData:this._interpolateData(),hasExpression:!!this.valueExpression,compiledFunc:null,isScaleDriven:null!=this.valueExpression&&x.test(this.valueExpression)}}set index(e){c(this.maxSize)&&(this.maxSize.index=`visualVariables[${e}].maxSize`),c(this.minSize)&&(this.minSize.index=`visualVariables[${e}].minSize`),this._set(\"index\",e)}get inputValueType(){return d(this)}set maxDataValue(e){e&&this.stops&&(s.getLogger(this).warn(\"cannot set maxDataValue when stops is not null.\"),e=null),this._set(\"maxDataValue\",e)}set maxSize(e){e&&this.stops&&(s.getLogger(this).warn(\"cannot set maxSize when stops is not null.\"),e=null),this._set(\"maxSize\",e)}castMaxSize(e){return g(e)}readMaxSize(e,t,i){return V(e,t,i)}set minDataValue(e){e&&this.stops&&(s.getLogger(this).warn(\"cannot set minDataValue when stops is not null.\"),e=null),this._set(\"minDataValue\",e)}set minSize(e){e&&this.stops&&(s.getLogger(this).warn(\"cannot set minSize when stops is not null.\"),e=null),this._set(\"minSize\",e)}castMinSize(e){return g(e)}readMinSize(e,t,i){return V(e,t,i)}get arcadeRequired(){return!!this.valueExpression||(null!=this.minSize&&\"object\"==typeof this.minSize&&this.minSize.arcadeRequired||null!=this.maxSize&&\"object\"==typeof this.maxSize&&this.maxSize.arcadeRequired)}set stops(e){null==this.minDataValue&&null==this.maxDataValue&&null==this.minSize&&null==this.maxSize?e&&Array.isArray(e)&&(e=e.filter((e=>!!e))).sort(((e,t)=>e.value-t.value)):e&&(s.getLogger(this).warn(\"cannot set stops when one of minDataValue, maxDataValue, minSize or maxSize is not null.\"),e=null),this._set(\"stops\",e)}get transformationType(){return y(this,this.inputValueType)}readValueExpression(e,t){return e||t.expression&&\"$view.scale\"}writeValueExpressionWebScene(e,i,s,r){if(\"$view.scale\"===e){if(r?.messages){const e=this.index,i=\"string\"==typeof e?e:`visualVariables[${e}]`;r.messages.push(new t(\"property:unsupported\",this.type+\"VisualVariable.valueExpression = '$view.scale' is not supported in Web Scene. Please remove this property to save the Web Scene.\",{instance:this,propertyName:i+\".valueExpression\",context:r}))}}else i[s]=e}readValueUnit(e){return e?w.read(e):null}clone(){return new z({axis:this.axis,field:this.field,valueExpression:this.valueExpression,valueExpressionTitle:this.valueExpressionTitle,maxDataValue:this.maxDataValue,maxSize:c(this.maxSize)?this.maxSize.clone():this.maxSize,minDataValue:this.minDataValue,minSize:c(this.minSize)?this.minSize.clone():this.minSize,normalizationField:this.normalizationField,stops:this.stops?.map((e=>e.clone())),target:this.target,useSymbolValue:this.useSymbolValue,valueRepresentation:this.valueRepresentation,valueUnit:this.valueUnit,legendOptions:this.legendOptions?.clone()})}flipSizes(){if(this.transformationType===S.ClampedLinear){const{minSize:e,maxSize:t}=this;return this.minSize=t,this.maxSize=e,this}if(this.transformationType===S.Stops){const e=this.stops;if(!e)return this;const t=e.map((e=>e.size)).reverse(),i=e.length;for(let s=0;se.value||0))}};e([r({readOnly:!0})],f.prototype,\"cache\",null),e([r({type:v.apiValues,json:{type:v.jsonValues,origins:{\"web-map\":{read:!1}},read:v.read,write:v.write}})],f.prototype,\"axis\",void 0),e([r()],f.prototype,\"index\",null),e([r({type:String,readOnly:!0})],f.prototype,\"inputValueType\",null),e([r({type:h,json:{write:!0}})],f.prototype,\"legendOptions\",void 0),e([r({type:Number,value:null,json:{write:!0}})],f.prototype,\"maxDataValue\",null),e([r({type:Number,value:null,json:{write:!0}})],f.prototype,\"maxSize\",null),e([a(\"maxSize\")],f.prototype,\"castMaxSize\",null),e([n(\"maxSize\")],f.prototype,\"readMaxSize\",null),e([r({type:Number,value:null,json:{write:!0}})],f.prototype,\"minDataValue\",null),e([r({type:Number,value:null,json:{write:!0}})],f.prototype,\"minSize\",null),e([a(\"minSize\")],f.prototype,\"castMinSize\",null),e([n(\"minSize\")],f.prototype,\"readMinSize\",null),e([r({type:String,json:{write:!0}})],f.prototype,\"normalizationField\",void 0),e([r({readOnly:!0})],f.prototype,\"arcadeRequired\",null),e([r({type:String})],f.prototype,\"scaleBy\",void 0),e([r({type:[m],value:null,json:{write:!0}})],f.prototype,\"stops\",null),e([r({type:[\"outline\"],json:{write:!0}})],f.prototype,\"target\",void 0),e([r({type:String,readOnly:!0})],f.prototype,\"transformationType\",null),e([r({type:[\"size\"],json:{type:[\"sizeInfo\"]}})],f.prototype,\"type\",void 0),e([r({type:Boolean,json:{write:!0,origins:{\"web-map\":{read:!1}}}})],f.prototype,\"useSymbolValue\",void 0),e([r({type:String,json:{write:!0}})],f.prototype,\"valueExpression\",void 0),e([n(\"valueExpression\",[\"valueExpression\",\"expression\"])],f.prototype,\"readValueExpression\",null),e([l(\"web-scene\",\"valueExpression\")],f.prototype,\"writeValueExpressionWebScene\",null),e([r({type:[\"radius\",\"diameter\",\"area\",\"width\",\"distance\"],json:{write:!0}})],f.prototype,\"valueRepresentation\",void 0),e([r({type:w.apiValues,json:{write:w.write,origins:{\"web-map\":{read:!1},\"web-scene\":{write:!0},\"portal-item\":{write:!0}}}})],f.prototype,\"valueUnit\",void 0),e([n(\"valueUnit\")],f.prototype,\"readValueUnit\",null),f=z=e([o(\"esri.renderers.visualVariables.SizeVariable\")],f);const b=f;export{b as default};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{_ as e}from\"../../chunks/tslib.es6.js\";import{JSONMap as r}from\"../../core/jsonMap.js\";import{JSONSupport as o}from\"../../core/JSONSupport.js\";import t from\"../../core/Logger.js\";import{property as s}from\"../../core/accessorSupport/decorators/property.js\";import{cast as i}from\"../../core/accessorSupport/decorators/cast.js\";import{subclass as p}from\"../../core/accessorSupport/decorators/subclass.js\";import{ensureString as n}from\"../../core/accessorSupport/ensureType.js\";import l from\"./support/VisualVariableLegendOptions.js\";const a=new r({colorInfo:\"color\",transparencyInfo:\"opacity\",rotationInfo:\"rotation\",sizeInfo:\"size\"});let u=class extends o{constructor(e){super(e),this.index=null,this.type=null,this.field=null,this.valueExpression=null,this.valueExpressionTitle=null,this.legendOptions=null}castField(e){return null==e?e:\"function\"==typeof e?(t.getLogger(this).error(\".field: field must be a string value\"),null):n(e)}get arcadeRequired(){return!!this.valueExpression}clone(){}getAttributeHash(){return`${this.type}-${this.field}-${this.valueExpression}`}};e([s()],u.prototype,\"index\",void 0),e([s({type:a.apiValues,readOnly:!0,json:{read:a.read,write:a.write}})],u.prototype,\"type\",void 0),e([s({type:String,json:{write:!0}})],u.prototype,\"field\",void 0),e([i(\"field\")],u.prototype,\"castField\",null),e([s({type:String,json:{write:!0}})],u.prototype,\"valueExpression\",void 0),e([s({type:String,json:{write:!0}})],u.prototype,\"valueExpressionTitle\",void 0),e([s({readOnly:!0})],u.prototype,\"arcadeRequired\",null),e([s({type:l,json:{write:!0}})],u.prototype,\"legendOptions\",void 0),u=e([p(\"esri.renderers.visualVariables.VisualVariable\")],u);const c=u;export{c as default};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{_ as r}from\"../../chunks/tslib.es6.js\";import s from\"../../core/Accessor.js\";import{JSONMap as o}from\"../../core/jsonMap.js\";import e from\"../../core/Logger.js\";import t from\"../../core/Warning.js\";import{property as a}from\"../../core/accessorSupport/decorators/property.js\";import\"../../core/has.js\";import\"../../core/RandomLCG.js\";import{subclass as i}from\"../../core/accessorSupport/decorators/subclass.js\";import l from\"./ColorVariable.js\";import n from\"./OpacityVariable.js\";import c from\"./RotationVariable.js\";import p from\"./SizeVariable.js\";const b={color:l,size:p,opacity:n,rotation:c},u=new o({colorInfo:\"color\",transparencyInfo:\"opacity\",rotationInfo:\"rotation\",sizeInfo:\"size\"}),h=/^\\[([^\\]]+)\\]$/i;let m=class extends s{constructor(){super(...arguments),this.colorVariables=null,this.opacityVariables=null,this.rotationVariables=null,this.sizeVariables=null}set visualVariables(r){if(this._resetVariables(),r=r?.filter((r=>!!r)),r?.length){for(const s of r)switch(s.type){case\"color\":this.colorVariables.push(s);break;case\"opacity\":this.opacityVariables.push(s);break;case\"rotation\":this.rotationVariables.push(s);break;case\"size\":this.sizeVariables.push(s)}if(this.sizeVariables.length){this.sizeVariables.some((r=>!!r.target))&&r.sort(((r,s)=>{let o=null;return o=r.target===s.target?0:r.target?1:-1,o}))}for(let s=0;s{const s=u.read(r.type),a=b[s];a||(e.getLogger(this).warn(`Unknown variable type: ${s}`),o?.messages&&o.messages.push(new t(\"visual-variable:unsupported\",`visualVariable of type '${s}' is not supported`,{definition:r,context:o})));const i=new a;return i.read(r,o),i}))}writeVariables(r,s){const o=[];for(const e of r){const r=e.toJSON(s);r&&o.push(r)}return o}_resetVariables(){this.colorVariables=[],this.opacityVariables=[],this.rotationVariables=[],this.sizeVariables=[]}};r([a()],m.prototype,\"visualVariables\",null),m=r([i(\"esri.renderers.visualVariables.VisualVariableFactory\")],m);const V=m;export{V as default};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{_ as o}from\"../../../chunks/tslib.es6.js\";import r from\"../../../Color.js\";import{JSONSupport as e}from\"../../../core/JSONSupport.js\";import{property as t}from\"../../../core/accessorSupport/decorators/property.js\";import{Integer as s}from\"../../../core/accessorSupport/ensureType.js\";import\"../../../core/RandomLCG.js\";import\"../../../core/has.js\";import{subclass as l}from\"../../../core/accessorSupport/decorators/subclass.js\";import{writer as p}from\"../../../core/accessorSupport/decorators/writer.js\";var c;let i=c=class extends e{constructor(o){super(o),this.color=null,this.label=null,this.value=null}writeValue(o,r,e){r[e]=o??0}clone(){return new c({color:this.color&&this.color.clone(),label:this.label,value:this.value})}};o([t({type:r,json:{type:[s],write:!0}})],i.prototype,\"color\",void 0),o([t({type:String,json:{write:!0}})],i.prototype,\"label\",void 0),o([t({type:Number,json:{write:{writerEnsuresNonNull:!0}}})],i.prototype,\"value\",void 0),o([p(\"value\")],i.prototype,\"writeValue\",null),i=c=o([l(\"esri.renderers.visualVariables.support.ColorStop\")],i);const a=i;export{a as default};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{_ as r}from\"../../../chunks/tslib.es6.js\";import{JSONSupport as o}from\"../../../core/JSONSupport.js\";import{property as t}from\"../../../core/accessorSupport/decorators/property.js\";import{Integer as e}from\"../../../core/accessorSupport/ensureType.js\";import\"../../../core/RandomLCG.js\";import\"../../../core/has.js\";import{reader as p}from\"../../../core/accessorSupport/decorators/reader.js\";import{subclass as s}from\"../../../core/accessorSupport/decorators/subclass.js\";import{writer as a}from\"../../../core/accessorSupport/decorators/writer.js\";import{transparencyToOpacity as c,opacityToTransparency as i}from\"../../../webdoc/support/opacityUtils.js\";var l;let u=l=class extends o{constructor(r){super(r),this.label=null,this.opacity=null,this.value=null}readOpacity(r,o){return c(o.transparency)}writeOpacity(r,o,t){o[t]=i(r)}clone(){return new l({label:this.label,opacity:this.opacity,value:this.value})}};r([t({type:String,json:{write:!0}})],u.prototype,\"label\",void 0),r([t({type:Number,json:{type:e,write:{target:\"transparency\"}}})],u.prototype,\"opacity\",void 0),r([p(\"opacity\",[\"transparency\"])],u.prototype,\"readOpacity\",null),r([a(\"opacity\")],u.prototype,\"writeOpacity\",null),r([t({type:Number,json:{write:!0}})],u.prototype,\"value\",void 0),u=l=r([s(\"esri.renderers.visualVariables.support.OpacityStop\")],u);const n=u;export{n as default};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{_ as e}from\"../../../chunks/tslib.es6.js\";import{JSONSupport as s}from\"../../../core/JSONSupport.js\";import{toPt as o}from\"../../../core/screenUtils.js\";import{property as r}from\"../../../core/accessorSupport/decorators/property.js\";import\"../../../core/has.js\";import\"../../../core/Logger.js\";import\"../../../core/RandomLCG.js\";import{subclass as t}from\"../../../core/accessorSupport/decorators/subclass.js\";var i;let l=i=class extends s{constructor(e){super(e),this.label=null,this.size=null,this.value=null,this.useMinValue=null,this.useMaxValue=null}clone(){return new i({label:this.label,size:this.size,value:this.value,useMaxValue:this.useMaxValue,useMinValue:this.useMinValue})}};e([r({type:String,json:{write:!0}})],l.prototype,\"label\",void 0),e([r({type:Number,cast:o,json:{write:!0}})],l.prototype,\"size\",void 0),e([r({type:Number,json:{write:!0}})],l.prototype,\"value\",void 0),e([r({type:Boolean,json:{write:!1}})],l.prototype,\"useMinValue\",void 0),e([r({type:Boolean,json:{write:!1}})],l.prototype,\"useMaxValue\",void 0),l=i=e([t(\"esri.renderers.visualVariables.support.SizeStop\")],l);const a=l;export{a as default};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{_ as r}from\"../../../chunks/tslib.es6.js\";import{property as s}from\"../../../core/accessorSupport/decorators/property.js\";import\"../../../core/has.js\";import\"../../../core/Logger.js\";import\"../../../core/RandomLCG.js\";import{subclass as o}from\"../../../core/accessorSupport/decorators/subclass.js\";import e from\"./VisualVariableLegendOptions.js\";let t=class extends e{constructor(){super(...arguments),this.customValues=null}};r([s({type:[Number],json:{write:!0}})],t.prototype,\"customValues\",void 0),t=r([o(\"esri.renderers.visualVariables.support.SizeVariableLegendOptions\")],t);const p=t;export{p as default};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{_ as o}from\"../../../chunks/tslib.es6.js\";import{ClonableMixin as r}from\"../../../core/Clonable.js\";import{JSONSupport as e}from\"../../../core/JSONSupport.js\";import{property as s}from\"../../../core/accessorSupport/decorators/property.js\";import\"../../../core/has.js\";import\"../../../core/Logger.js\";import\"../../../core/RandomLCG.js\";import{subclass as t}from\"../../../core/accessorSupport/decorators/subclass.js\";let p=class extends(r(e)){constructor(){super(...arguments),this.showLegend=null,this.title=null}};o([s({type:Boolean,json:{write:!0}})],p.prototype,\"showLegend\",void 0),o([s({type:String,json:{write:!0}})],p.prototype,\"title\",void 0),p=o([t(\"esri.renderers.visualVariables.support.VisualVariableLegendOptions\")],p);const i=p;export{i as default};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{toPt as r}from\"../../../core/screenUtils.js\";function e(e){return r(e)}export{e as castSizeFromStringOrNumber};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nvar n,i;function e(n){return n&&\"esri.renderers.visualVariables.SizeVariable\"===n.declaredClass}function l(n){return null!=n&&!isNaN(n)&&isFinite(n)}function t(i){return i.valueExpression?n.Expression:i.field&&\"string\"==typeof i.field?n.Field:n.Unknown}function a(e,l){const a=l||t(e),o=e.valueUnit||\"unknown\";return a===n.Unknown?i.Constant:e.stops?i.Stops:null!=e.minSize&&null!=e.maxSize&&null!=e.minDataValue&&null!=e.maxDataValue?i.ClampedLinear:\"unknown\"===o?null!=e.minSize&&null!=e.minDataValue?e.minSize&&e.minDataValue?i.Proportional:i.Additive:i.Identity:i.RealWorldSize}!function(n){n.Unknown=\"unknown\",n.Expression=\"expression\",n.Field=\"field\"}(n||(n={})),function(n){n.Unknown=\"unknown\",n.Stops=\"stops\",n.ClampedLinear=\"clamped-linear\",n.Proportional=\"proportional\",n.Additive=\"additive\",n.Constant=\"constant\",n.Identity=\"identity\",n.RealWorldSize=\"real-world-size\"}(i||(i={}));export{n as InputValueType,i as TransformationType,t as getInputValueType,a as getTransformationType,e as isSizeVariable,l as isValidNumber};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport e from\"../../../Color.js\";import a from\"../../../Graphic.js\";import{neverReached as i}from\"../../../core/compilerUtils.js\";import n from\"../../../core/Logger.js\";import{meterIn as t}from\"../../support/lengthUtils.js\";import{isSizeVariable as r,isValidNumber as s,TransformationType as l,InputValueType as o}from\"./sizeVariableUtils.js\";const c=()=>n.getLogger(\"esri.renderers.visualVariables.support.visualVariableUtils\"),u=e=>c().warn(`The visualVariable should be an instance of esri.renderers.visualVariables.${e}`),f=()=>c().error(\"Use of arcade expressions requires an arcade context\"),p=new a,d=Math.PI,v=/^\\s*(return\\s+)?\\$view\\.scale\\s*(;)?\\s*$/i;function m(a,i,n){const t=\"visualVariables\"in a&&a.visualVariables?a.visualVariables.find((e=>\"color\"===e.type)):a;if(!t)return;if(\"esri.renderers.visualVariables.ColorVariable\"!==t.declaredClass)return void u(\"ColorVariable\");const r=\"number\"==typeof i,s=r?null:i,l=s?.attributes;let o=r?i:null;const c=t.field,{ipData:p,hasExpression:d}=t.cache;let v=t.cache.compiledFunc;if(!c&&!d){const e=t.stops;return e&&e[0]&&e[0].color}if(\"number\"!=typeof o)if(d){if(null==n?.arcade)return void f();const e={viewingMode:n.viewingMode,scale:n.scale,spatialReference:n.spatialReference},a=n.arcade.arcadeUtils,i=a.getViewInfo(e),r=a.createExecContext(s,i,n.timeZone);if(!v){const e=a.createSyntaxTree(t.valueExpression);v=a.createFunction(e),t.cache.compiledFunc=v}o=a.executeFunction(v,r)}else l&&(o=l[c]);const m=t.normalizationField,b=null!=l&&null!=m?parseFloat(l[m]):void 0;if(null!=o&&(!m||r||!isNaN(b)&&0!==b)){isNaN(b)||r||(o/=b);const a=U(o,p);if(a){const i=a[0],r=a[1],s=i===r?t.stops[i].color:e.blendColors(t.stops[i].color,t.stops[r].color,a[2],null!=n?n.color:void 0);return new e(s)}}}function b(e,a,i){const n=\"visualVariables\"in e&&e.visualVariables?e.visualVariables.find((e=>\"opacity\"===e.type)):e;if(!n)return;if(\"esri.renderers.visualVariables.OpacityVariable\"!==n.declaredClass)return void u(\"OpacityVariable\");const t=\"number\"==typeof a,r=t?null:a,s=r?.attributes;let l=t?a:null;const o=n.field,{ipData:c,hasExpression:p}=n.cache;let d=n.cache.compiledFunc;if(!o&&!p){const e=n.stops;return e&&e[0]&&e[0].opacity}if(\"number\"!=typeof l)if(p){if(null==i?.arcade)return void f();const e={viewingMode:i.viewingMode,scale:i.scale,spatialReference:i.spatialReference},a=i.arcade.arcadeUtils,t=a.getViewInfo(e),s=a.createExecContext(r,t,i.timeZone);if(!d){const e=a.createSyntaxTree(n.valueExpression);d=a.createFunction(e),n.cache.compiledFunc=d}l=a.executeFunction(d,s)}else s&&(l=s[o]);const v=n.normalizationField,m=null!=s&&null!=v?parseFloat(s[v]):void 0;if(null!=l&&(!v||t||!isNaN(m)&&0!==m)){isNaN(m)||t||(l/=m);const e=U(l,c);if(e){const a=e[0],i=e[1];if(a===i)return n.stops[a].opacity;{const t=n.stops[a].opacity;return t+(n.stops[i].opacity-t)*e[2]}}}}function h(e,a,i){const n=\"visualVariables\"in e&&e.visualVariables?e.visualVariables.find((e=>\"rotation\"===e.type)):e;if(!n)return;if(\"esri.renderers.visualVariables.RotationVariable\"!==n.declaredClass)return void u(\"RotationVariable\");const t=n.axis||\"heading\",r=\"heading\"===t&&\"arithmetic\"===n.rotationType?90:0,s=\"heading\"===t&&\"arithmetic\"===n.rotationType?-1:1,l=\"number\"==typeof a?null:a,o=l?.attributes,c=n.field,{hasExpression:p}=n.cache;let d=n.cache.compiledFunc,v=0;if(!c&&!p)return v;if(p){if(null==i?.arcade)return void f();const e={viewingMode:i.viewingMode,scale:i.scale,spatialReference:i.spatialReference},a=i.arcade.arcadeUtils,t=a.getViewInfo(e),r=a.createExecContext(l,t,i.timeZone);if(!d){const e=a.createSyntaxTree(n.valueExpression);d=a.createFunction(e),n.cache.compiledFunc=d}v=a.executeFunction(d,r)}else o&&(v=o[c]||0);return v=\"number\"!=typeof v||isNaN(v)?null:r+s*v,v}function V(e,a,i){const n=\"number\"==typeof a,t=n?null:a,r=t?.attributes;let l=n?a:null;const{isScaleDriven:c}=e.cache;let u=e.cache.compiledFunc;if(c){const a=null!=i?i.scale:void 0,n=null!=i?i.view:void 0;l=null==a||\"3d\"===n?x(e):a}else if(!n)switch(e.inputValueType){case o.Expression:{if(null==i?.arcade)return void f();const a={viewingMode:i.viewingMode,scale:i.scale,spatialReference:i.spatialReference},n=i.arcade.arcadeUtils,r=n.getViewInfo(a),s=n.createExecContext(t,r,i.timeZone);if(!u){const a=n.createSyntaxTree(e.valueExpression);u=n.createFunction(a),e.cache.compiledFunc=u}l=n.executeFunction(u,s);break}case o.Field:r&&(l=r[e.field]);break;case o.Unknown:l=null}if(!s(l))return null;if(n||!e.normalizationField)return l;const p=r?parseFloat(r[e.normalizationField]):null;return s(p)&&0!==p?l/p:null}function x(e){let a=null,i=null;const n=e.stops;return n?(a=n[0].value,i=n[n.length-1].value):(a=e.minDataValue||0,i=e.maxDataValue||0),(a+i)/2}function y(e,a,i){const n=\"visualVariables\"in e&&e.visualVariables?e.visualVariables.find((e=>\"size\"===e.type)):e;if(!n)return;if(\"esri.renderers.visualVariables.SizeVariable\"!==n.declaredClass)return void u(\"SizeVariable\");const t=k(V(n,a,i),n,a,i,n.cache.ipData);return null==t||isNaN(t)?0:t}function g(e,a,i){return null==e?null:r(e)?y(e,a,i):s(e)?e:null}function w(e,a,i){return s(i)&&e>i?i:s(a)&&e=a.maxDataValue)return s;if(null==r||null==s)return null;if(\"area\"===a.scaleBy&&l){const e=\"circle\"===l,a=e?d*(r/2)**2:r*r,i=a+t*((e?d*(s/2)**2:s*s)-a);return e?2*Math.sqrt(i/d):Math.sqrt(i)}return r+t*(s-r)}function E(e,a,i,n){const t=null!=n?n.shape:void 0,r=e/a.minDataValue,s=g(a.minSize,i,n),l=g(a.maxSize,i,n);let o=null;return o=\"circle\"===t?2*Math.sqrt(r*(s/2)**2):\"square\"===t||\"diamond\"===t||\"image\"===t?Math.sqrt(r*s**2):r*s,w(o,s,l)}function C(e,a,i,n,t){const[r,s,l]=U(e,t);if(r===s)return g(a.stops?.[r].size,i,n);{const e=g(a.stops?.[r].size,i,n);return e+(g(a.stops?.[s].size,i,n)-e)*l}}function D(e,a,i,n){const r=(n?.resolution??1)*t[a.valueUnit],s=g(a.minSize,i,n),l=g(a.maxSize,i,n),{valueRepresentation:o}=a;let c=null;return c=\"area\"===o?2*Math.sqrt(e/d)/r:\"radius\"===o||\"distance\"===o?2*e/r:e/r,w(c,s,l)}function M(e){return e}function k(e,a,i,n,t){switch(a.transformationType){case l.Additive:return z(e,a,i,n);case l.Constant:return F(a,i,n);case l.ClampedLinear:return S(e,a,i,n);case l.Proportional:return E(e,a,i,n);case l.Stops:return C(e,a,i,n,t);case l.RealWorldSize:return D(e,a,i,n);case l.Identity:return M(e);case l.Unknown:return null}}function N(e,a,i){const{isScaleDriven:n}=e.cache;if(!(n&&\"3d\"===i||a))return null;const t={scale:a,view:i};let r=g(e.minSize,p,t),s=g(e.maxSize,p,t);if(null!=r||null!=s){if(r>s){const e=s;s=r,r=e}return{minSize:r,maxSize:s}}}function R(e,a,i){if(!e.visualVariables)return;const n=[],t=[],r=[],s=[],l=[];for(const o of e.visualVariables)switch(o.type){case\"color\":t.push(o);break;case\"opacity\":r.push(o);break;case\"rotation\":l.push(o);break;case\"size\":s.push(o)}return t.forEach((e=>{const t=m(e,a,i);n.push({variable:e,value:t})})),r.forEach((e=>{const t=b(e,a,i);n.push({variable:e,value:t})})),l.forEach((e=>{const t=h(e,a,i);n.push({variable:e,value:t})})),s.forEach((e=>{const t=y(e,a,i);n.push({variable:e,value:t})})),n.filter((e=>null!=e.value))}function U(e,a){if(!a)return;let i=0,n=a.length-1;return a.some(((a,t)=>e({data:e,getAllHeaders:H,getHeader:H,httpStatus:200,requestOptions:a.requestOptions,url:a.url}),i=p(e,A.internalInterceptors);if(i){const e=await J(i,a);if(null!=e)return n(e)}let h=p(e);if(h){const e=await J(h,a);if(null!=e)return n(e);h.after||h.error||(h=null)}if(e=a.url,\"image\"===(t=a.requestOptions).responseType&&(has(\"host-webworker\")||has(\"host-node\")))throw N(\"request:invalid-parameters\",new Error(\"responseType 'image' is not supported in Web Workers or Node environment\"),a);if(\"head\"===t.method){if(t.body)throw N(\"request:invalid-parameters\",new Error(\"body parameter cannot be set when method is 'head'\"),a);if(r||s)throw N(\"request:invalid-parameters\",new Error(\"data and blob URLs are not supported for method 'head'\"),a)}if(await B(),j)return j.execute(e,t);const m=new AbortController,f=o(t,(()=>m.abort())),y={controller:m,credential:void 0,credentialToken:void 0,fetchOptions:void 0,hasToken:!1,interceptor:h,params:a,redoRequest:!1,useIdentity:A.useIdentity,useProxy:!1,useSSL:!1,withCredentials:!1},w=await Q(y).finally((()=>f?.remove()));return h?.after?.(w),w}let j;const A=e.request,P=\"FormData\"in globalThis,_=new Set([499,498,403,401]),D=new Set([\"COM_0056\",\"COM_0057\",\"SB_0008\"]),F=[/\\/arcgis\\/tokens/i,/\\/sharing(\\/rest)?\\/generatetoken/i,/\\/rest\\/info/i],H=()=>null,I=Symbol();function R(e){const t=m(e);t&&!U._corsServers.includes(t)&&U._corsServers.push(t)}function M(e){const t=m(e);return!t||t.endsWith(\".arcgis.com\")||U._corsServers.includes(t)||h(t)}function N(e,t,o,i){let l=\"Error\";const u={url:o.url,requestOptions:o.requestOptions,getAllHeaders:H,getHeader:H,ssl:!1};if(t instanceof r)return t.details?(t.details=s(t.details),t.details.url=o.url,t.details.requestOptions=o.requestOptions):t.details=u,t;if(t){const e=i&&(()=>Array.from(i.headers)),r=i&&(e=>i.headers.get(e)),s=i?.status,o=t.message;o&&(l=o),e&&r&&(u.getAllHeaders=e,u.getHeader=r),u.httpStatus=(null!=t.httpCode?t.httpCode:t.code)||s||0,u.subCode=t.subcode,u.messageCode=t.messageCode,\"string\"==typeof t.details?u.messages=[t.details]:u.messages=t.details,u.raw=I in t?t[I]:t}return a(t)?n():new r(e,l,u)}async function B(){has(\"host-webworker\")&&!j&&(j=await import(\"./core/workers/request.js\"))}async function $(){t||await import(\"./identity/IdentityManager.js\")}async function z(r){const s=r.params.url,o=r.params.requestOptions,a=r.controller.signal,n=o.body;let l=null,u=null;if(P&&\"HTMLFormElement\"in globalThis&&(n instanceof FormData?l=n:n instanceof HTMLFormElement&&(l=new FormData(n))),\"string\"==typeof n&&(u=n),r.fetchOptions={cache:o.cacheBust?\"no-cache\":\"default\",credentials:\"same-origin\",headers:o.headers||{},method:\"head\"===o.method?\"HEAD\":\"GET\",mode:\"cors\",priority:A.priority,redirect:\"follow\",signal:a},(l||u)&&(r.fetchOptions.body=l||u),\"anonymous\"===o.authMode&&(r.useIdentity=!1),r.hasToken=!!(/token=/i.test(s)||o.query?.token||l?.get(\"token\")),!r.hasToken&&O(s)&&(o.query||(o.query={}),o.query.token=e.apiKey,r.hasToken=!0),r.useIdentity&&!r.hasToken&&!r.credentialToken&&!W(s)&&!i(a)){let e;\"immediate\"===o.authMode?(await $(),e=await t.getCredential(s,{signal:a}),r.credential=e):\"no-prompt\"===o.authMode?(await $(),e=await t.getCredential(s,{prompt:!1,signal:a}).catch((()=>{})),r.credential=e):t&&(e=t.findCredential(s)),e&&(r.credentialToken=e.token,r.useSSL=!!e.ssl)}}function W(e){return F.some((t=>t.test(e)))}async function G(e){let r=e.params.url;const s=e.params.requestOptions,o=e.fetchOptions??{},a=c(r)||u(r),i=s.responseType||\"json\",l=a?0:null!=s.timeout?s.timeout:A.timeout;let d=!1;if(!a){e.useSSL&&(r=f(r));let a={...s.query};e.credentialToken&&(a.token=e.credentialToken);let n=y(a);has(\"esri-url-encodes-apostrophe\")&&(n=n.replaceAll(\"'\",\"%27\"));const i=r.length+1+n.length;let l;d=\"delete\"===s.method||\"post\"===s.method||\"put\"===s.method||!!s.body||i>A.maxUrlLength;const u=s.useProxy||!!w(r);if(u){const e=g(r);l=e.path,!d&&l.length+1+i>A.maxUrlLength&&(d=!0),e.query&&(a={...e.query,...a})}if(\"HEAD\"===o.method&&(d||u)){if(d){if(i>A.maxUrlLength)throw N(\"request:invalid-parameters\",new Error(\"URL exceeds maximum length\"),e.params);throw N(\"request:invalid-parameters\",new Error(\"cannot use POST request when method is 'head'\"),e.params)}if(u)throw N(\"request:invalid-parameters\",new Error(\"cannot use proxy when method is 'head'\"),e.params)}if(d?(o.method=\"delete\"===s.method?\"DELETE\":\"put\"===s.method?\"PUT\":\"POST\",s.body?r=b(r,a):(o.body=y(a),o.headers||(o.headers={}),o.headers[\"Content-Type\"]=\"application/x-www-form-urlencoded\")):r=b(r,a),u&&(e.useProxy=!0,r=`${l}?${r}`),a.token&&P&&o.body instanceof FormData&&!k(r)&&o.body.set(\"token\",a.token),s.hasOwnProperty(\"withCredentials\"))e.withCredentials=s.withCredentials;else if(!q(r,S()))if(h(r))e.withCredentials=!0;else if(t){const s=t.findServerInfo(r);s?.webTierAuth&&(e.withCredentials=!0)}e.withCredentials&&(o.credentials=\"include\",C(r)&&await x(d?b(r,a):r))}let p,O,v=0,E=!1;l>0&&(v=setTimeout((()=>{E=!0,e.controller.abort()}),l));try{if(\"native-request-init\"===s.responseType)O=o,O.url=r,s.signal?O.signal=s.signal:delete O.signal;else if(\"image\"!==s.responseType||\"default\"!==o.cache||\"GET\"!==o.method||d||K(s.headers)||!a&&!e.useProxy&&A.proxyUrl&&!M(r)){if(U._beforeFetch&&await U._beforeFetch(r,o),p=await fetch(r,o),U._afterFetch&&await U._afterFetch(p),e.useProxy||R(r),\"native\"===s.responseType)O=p;else if(\"HEAD\"!==o.method)if(p.ok){switch(i){case\"array-buffer\":O=await p.arrayBuffer();break;case\"blob\":case\"image\":O=await p.blob();break;default:O=await p.text()}if(v&&(clearTimeout(v),v=0),\"json\"===i||\"xml\"===i||\"document\"===i)if(O)switch(i){case\"json\":O=JSON.parse(O);break;case\"xml\":O=X(O,\"application/xml\");break;case\"document\":O=X(O,\"text/html\")}else O=null;if(O){if(\"array-buffer\"===i||\"blob\"===i){const e=p.headers.get(\"Content-Type\");if(e&&/application\\/json|text\\/plain/i.test(e)&&O[\"blob\"===i?\"size\":\"byteLength\"]<=750)try{const e=await new Response(O).json();e.error&&(O=e)}catch{}}\"image\"===i&&O instanceof Blob&&(O=await Y(URL.createObjectURL(O),e,!0))}}else{O=await p.text();try{O=JSON.parse(O)}catch{}}}else O=await Y(r,e)}catch(j){if(\"AbortError\"===j.name){if(E)throw L();throw n(\"Request canceled\")}if(!(!p&&j instanceof TypeError&&A.proxyUrl)||s.body||\"delete\"===s.method||\"head\"===s.method||\"post\"===s.method||\"put\"===s.method||e.useProxy||M(r))throw j;e.redoRequest=!0,T({proxyUrl:A.proxyUrl,urlPrefix:m(r)??\"\"})}finally{v&&clearTimeout(v)}return[p,O]}async function J(e,t){if(null!=e.responseData)return e.responseData;if(e.headers&&(t.requestOptions.headers={...t.requestOptions.headers,...e.headers}),e.query&&(t.requestOptions.query={...t.requestOptions.query,...e.query}),e.before){let o,a;try{a=await e.before(t)}catch(s){o=N(\"request:interceptor\",s,t)}if((a instanceof Error||a instanceof r)&&(o=N(\"request:interceptor\",a,t)),o)throw e.error&&e.error(o),o;return a}}function K(e){if(e)for(const t of Object.getOwnPropertyNames(e))if(e[t])return!0;return!1}function X(e,t){let r;try{r=(new DOMParser).parseFromString(e,t)}catch{}if(!r||r.getElementsByTagName(\"parsererror\").length)throw new SyntaxError(\"XML Parse error\");return r}async function Q(e){let r,s;await z(e);try{do{[r,s]=await G(e)}while(!await V(e,r,s))}catch(n){const t=N(\"request:server\",n,e.params,r);throw t.details.ssl=e.useSSL,e.interceptor?.error&&e.interceptor.error(t),t}const o=e.params.url;if(s&&/\\/sharing\\/rest\\/(accounts|portals)\\/self/i.test(o)){if(!e.hasToken&&!e.credentialToken&&s.user?.username&&!h(o)){const e=m(o,!0);e&&A.trustedServers.push(e)}Array.isArray(s.authorizedCrossOriginNoCorsDomains)&&v(s.authorizedCrossOriginNoCorsDomains)}const a=e.credential;if(a&&t){const e=t.findServerInfo(a.server);let r=e?.owningSystemUrl;if(r){r=r.replace(/\\/?$/,\"/sharing\");const e=t.findCredential(r,a.userId);e&&-1===t._getIdenticalSvcIdx(r,e)&&e.resources.unshift(r)}}return{data:s,getAllHeaders:r?()=>Array.from(r.headers):H,getHeader:r?e=>r.headers.get(e):H,httpStatus:r?.status??200,requestOptions:e.params.requestOptions,ssl:e.useSSL,url:e.params.url}}async function V(e,r,s){if(e.redoRequest)return e.redoRequest=!1,!1;const o=e.params.requestOptions;if(!r||\"native\"===o.responseType||\"native-request-init\"===o.responseType)return!0;let a,n;if(s&&(s.error&&\"object\"==typeof s.error?a=s.error:\"error\"===s.status&&Array.isArray(s.messages)&&(a={...s},a[I]=s,a.details=s.messages)),!a&&!r.ok)throw a=new Error(`Unable to load ${r.url} status: ${r.status}`),a[I]=s,a;let i,l=null;a&&(n=Number(a.code),l=a.hasOwnProperty(\"subcode\")?Number(a.subcode):null,i=a.messageCode,i=i?.toUpperCase());const u=o.authMode;if(403===n&&(4===l||a.message?.toLowerCase().includes(\"ssl\")&&!a.message.toLowerCase().includes(\"permission\"))){if(!e.useSSL)return e.useSSL=!0,!1}else if(!e.hasToken&&e.useIdentity&&(\"no-prompt\"!==u||498===n)&&void 0!==n&&_.has(n)&&!W(e.params.url)&&(403!==n||(!i||!D.has(i))&&(null==l||2===l&&e.credentialToken))){await $();try{const r=await t.getCredential(e.params.url,{error:N(\"request:server\",a,e.params),prompt:\"no-prompt\"!==u,signal:e.controller.signal,token:e.credentialToken});return e.credential=r,e.credentialToken=r.token,e.useSSL=e.useSSL||r.ssl,!1}catch(c){if(\"no-prompt\"===u)return e.credential=void 0,e.credentialToken=void 0,!1;a=c}}if(a)throw a;return!0}function Y(e,t,r=!1){const s=t.controller.signal,o=new Image;return t.withCredentials?o.crossOrigin=\"use-credentials\":o.crossOrigin=\"anonymous\",o.alt=\"\",o.fetchPriority=A.priority,o.src=e,E(o,e,r,s)}U._corsServers=[\"https://server.arcgisonline.com\",\"https://services.arcgisonline.com\"],U._beforeFetch=void 0,U._afterFetch=void 0;export{U as default};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport\"../../geometry.js\";import e from\"../../request.js\";import{getJsonType as t,fromJSON as r}from\"../../geometry/support/jsonUtils.js\";import{srToRESTValue as s}from\"../../geometry/support/spatialReferenceUtils.js\";import{parseUrl as o}from\"../utils.js\";async function i(i,n,p,m){const a=o(i),u=n[0].spatialReference,c={...m,responseType:\"json\",query:{...a.query,f:\"json\",sr:s(u),target:JSON.stringify({geometryType:t(n[0]),geometries:n}),cutter:JSON.stringify(p)}},f=await e(a.path+\"/cut\",c),{cutIndexes:y,geometries:g=[]}=f.data;return{cutIndexes:y,geometries:g.map((e=>{const t=r(e);return t.spatialReference=u,t}))}}export{i as cut};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport r from\"../../request.js\";import{ensureType as o}from\"../../core/accessorSupport/ensureType.js\";import{getJsonType as t}from\"../../geometry/support/jsonUtils.js\";import{parseUrl as e,asValidOptions as s}from\"../utils.js\";import{decodeGeometries as p}from\"./utils.js\";import m from\"../support/ProjectParameters.js\";const i=o(m);async function n(o,m,n){m=i(m);const u=e(o),c={...u.query,f:\"json\",...m.toJSON()},j=m.outSpatialReference,a=t(m.geometries[0]),f=s(c,n);return r(u.path+\"/project\",f).then((({data:{geometries:r}})=>p(r,a,j)))}export{n as project};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport r from\"../../request.js\";import{urlToObject as t}from\"../../core/urlUtils.js\";import{getJsonType as e}from\"../../geometry/support/jsonUtils.js\";import{srToRESTValue as s}from\"../../geometry/support/spatialReferenceUtils.js\";import{encodeGeometries as o,decodeGeometries as i}from\"./utils.js\";async function m(m,p,f){const n=\"string\"==typeof m?t(m):m,a=p[0].spatialReference,u=e(p[0]),l={...f,query:{...n.query,f:\"json\",sr:s(a),geometries:JSON.stringify(o(p))}},{data:y}=await r(n.path+\"/simplify\",l);return i(y.geometries,u,a)}export{m as simplify};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{getJsonType as e,getGeometryType as t}from\"../../geometry/support/jsonUtils.js\";function r(t){return{geometryType:e(t[0]),geometries:t.map((e=>e.toJSON()))}}function o(e,r,o){const n=t(r);return e.map((e=>{const t=n.fromJSON(e);return t.spatialReference=o,t}))}export{o as decodeGeometries,r as encodeGeometries};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{_ as o}from\"../../../chunks/tslib.es6.js\";import{JSONSupport as r}from\"../../../core/JSONSupport.js\";import{property as t}from\"../../../core/accessorSupport/decorators/property.js\";import\"../../../core/has.js\";import\"../../../core/Logger.js\";import\"../../../core/RandomLCG.js\";import{subclass as e}from\"../../../core/accessorSupport/decorators/subclass.js\";import s from\"../../../geometry/Multipoint.js\";import p from\"../../../geometry/Polygon.js\";import i from\"../../../geometry/Polyline.js\";let n=class extends r{constructor(o){super(o),this.line=null,this.multipoint=null,this.polygon=null}};o([t({type:i,json:{write:!0},readOnly:!0})],n.prototype,\"line\",void 0),o([t({type:s,json:{read:{source:\"point\"},write:{target:\"point\"}},readOnly:!0})],n.prototype,\"multipoint\",void 0),o([t({type:p,json:{write:!0},readOnly:!0})],n.prototype,\"polygon\",void 0),n=o([e(\"esri.rest.networks.support.AggregatedGeometry\")],n);const l=n;export{l as default};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{_ as o}from\"../../../chunks/tslib.es6.js\";import\"../../../geometry.js\";import{JSONSupport as e}from\"../../../core/JSONSupport.js\";import{property as r}from\"../../../core/accessorSupport/decorators/property.js\";import\"../../../core/has.js\";import\"../../../core/Logger.js\";import\"../../../core/RandomLCG.js\";import{reader as t}from\"../../../core/accessorSupport/decorators/reader.js\";import{subclass as l}from\"../../../core/accessorSupport/decorators/subclass.js\";import{writer as s}from\"../../../core/accessorSupport/decorators/writer.js\";import{associationTypeKebabDict as n}from\"../../../networks/support/typeUtils.js\";import m from\"./NetworkElement.js\";import i from\"../../../geometry/Polyline.js\";let p=class extends e{constructor(o){super(o),this.globalId=null,this.associationType=null,this.fromNetworkElement=null,this.toNetworkElement=null,this.geometry=null,this.errorMessage=null,this.percentAlong=null,this.errorCode=null,this.isContentVisible=null,this.status=null}readFromNetworkElement(o,e){return new m({globalId:e.fromGlobalId,networkSourceId:e.fromNetworkSourceId,terminalId:e.fromTerminalId})}writeFromNetworkElement(o,e){o&&(e.fromGlobalId=o.globalId,e.fromNetworkSourceId=o.networkSourceId,e.fromTerminalId=o.terminalId)}readToNetworkElement(o,e){return new m({globalId:e.toGlobalId,networkSourceId:e.toNetworkSourceId,terminalId:e.toTerminalId})}writeToNetworkElement(o,e){o&&(e.toGlobalId=o.globalId,e.toNetworkSourceId=o.networkSourceId,e.toTerminalId=o.terminalId)}};o([r({type:String,json:{write:!0}})],p.prototype,\"globalId\",void 0),o([r({type:n.apiValues,json:{type:n.jsonValues,read:n.read,write:n.write}})],p.prototype,\"associationType\",void 0),o([r({type:m,json:{write:{target:{fromGlobalId:{type:String},fromNetworkSourceId:{type:Number},fromTerminalId:{type:Number}}},read:{source:[\"fromGlobalId\",\"fromNetworkSourceId\",\"fromTerminalId\"]}}})],p.prototype,\"fromNetworkElement\",void 0),o([t(\"fromNetworkElement\")],p.prototype,\"readFromNetworkElement\",null),o([s(\"fromNetworkElement\")],p.prototype,\"writeFromNetworkElement\",null),o([r({type:m,json:{write:{target:{toGlobalId:{type:String},toNetworkSourceId:{type:Number},toTerminalId:{type:Number}}},read:{source:[\"toGlobalId\",\"toNetworkSourceId\",\"toTerminalId\"]}}})],p.prototype,\"toNetworkElement\",void 0),o([t(\"toNetworkElement\")],p.prototype,\"readToNetworkElement\",null),o([s(\"toNetworkElement\")],p.prototype,\"writeToNetworkElement\",null),o([r({type:i,json:{write:!0}})],p.prototype,\"geometry\",void 0),o([r({type:String,json:{write:!0}})],p.prototype,\"errorMessage\",void 0),o([r({type:Number,json:{write:!0}})],p.prototype,\"percentAlong\",void 0),o([r({type:Number,json:{write:!0}})],p.prototype,\"errorCode\",void 0),o([r({type:Boolean,json:{write:!0}})],p.prototype,\"isContentVisible\",void 0),o([r({type:Number,json:{write:!0}})],p.prototype,\"status\",void 0),p=o([l(\"esri.rest.networks.support.Association\")],p);const d=p;export{d as default};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{_ as t}from\"../../../chunks/tslib.es6.js\";import{JSONSupport as r}from\"../../../core/JSONSupport.js\";import{property as o}from\"../../../core/accessorSupport/decorators/property.js\";import\"../../../core/has.js\";import\"../../../core/Logger.js\";import\"../../../core/RandomLCG.js\";import{subclass as e}from\"../../../core/accessorSupport/decorators/subclass.js\";let s=class extends r{constructor(t){super(t),this.functionType=null,this.networkAttributeName=null,this.result=null}};t([o({type:[\"add\",\"subtract\",\"average\",\"count\",\"min\",\"max\"],json:{write:!0},readOnly:!0})],s.prototype,\"functionType\",void 0),t([o({type:String,json:{write:!0},readOnly:!0})],s.prototype,\"networkAttributeName\",void 0),t([o({type:Number,json:{write:!0},readOnly:!0})],s.prototype,\"result\",void 0),s=t([e(\"esri.rest.networks.support.FunctionResult\")],s);const p=s;export{p as default};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{_ as o}from\"../../../chunks/tslib.es6.js\";import{JSONSupport as t}from\"../../../core/JSONSupport.js\";import{property as e}from\"../../../core/accessorSupport/decorators/property.js\";import\"../../../core/has.js\";import\"../../../core/Logger.js\";import\"../../../core/RandomLCG.js\";import{subclass as r}from\"../../../core/accessorSupport/decorators/subclass.js\";let s=class extends t{constructor(o){super(o),this.assetGroupCode=null,this.assetTypeCode=null,this.globalId=null,this.networkSourceId=null,this.objectId=null,this.positionFrom=null,this.positionTo=null,this.terminalId=null}};o([e({type:Number,json:{write:!0}})],s.prototype,\"assetGroupCode\",void 0),o([e({type:Number,json:{write:!0}})],s.prototype,\"assetTypeCode\",void 0),o([e({type:String,json:{write:!0}})],s.prototype,\"globalId\",void 0),o([e({type:Number,json:{write:!0}})],s.prototype,\"networkSourceId\",void 0),o([e({type:Number,json:{write:!0}})],s.prototype,\"objectId\",void 0),o([e({type:Number,json:{write:!0}})],s.prototype,\"positionFrom\",void 0),o([e({type:Number,json:{write:!0}})],s.prototype,\"positionTo\",void 0),o([e({type:Number,json:{write:!0}})],s.prototype,\"terminalId\",void 0),s=o([r(\"esri.rest.networks.support.NetworkElement\")],s);const p=s;export{p as default};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{_ as o}from\"../../../chunks/tslib.es6.js\";import{JSONSupport as t}from\"../../../core/JSONSupport.js\";import{property as e}from\"../../../core/accessorSupport/decorators/property.js\";import\"../../../core/has.js\";import\"../../../core/Logger.js\";import\"../../../core/RandomLCG.js\";import{subclass as r}from\"../../../core/accessorSupport/decorators/subclass.js\";import s from\"./AggregatedGeometry.js\";import n from\"./FunctionResult.js\";import i from\"./NetworkElement.js\";let p=class extends t{constructor(o){super(o),this.aggregatedGeometry=null,this.elements=null,this.globalFunctionResults=null,this.kFeaturesForKNNFound=!1,this.startingPointsIgnored=!1,this.warnings=null}};o([e({type:s,json:{write:!0},readOnly:!0})],p.prototype,\"aggregatedGeometry\",void 0),o([e({type:[i],json:{write:!0},readOnly:!0})],p.prototype,\"elements\",void 0),o([e({type:[n],json:{write:!0},readOnly:!0})],p.prototype,\"globalFunctionResults\",void 0),o([e({type:Boolean,json:{write:!0},readOnly:!0})],p.prototype,\"kFeaturesForKNNFound\",void 0),o([e({type:Boolean,json:{write:!0},readOnly:!0})],p.prototype,\"startingPointsIgnored\",void 0),o([e({type:[String],json:{write:!0},readOnly:!0})],p.prototype,\"warnings\",void 0),p=o([r(\"esri.rest.networks.support.TraceResult\")],p);const a=p;export{a as default};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{_ as e}from\"../../../chunks/tslib.es6.js\";import{JSONSupport as t}from\"../../../core/JSONSupport.js\";import{property as o}from\"../../../core/accessorSupport/decorators/property.js\";import\"../../../core/has.js\";import\"../../../core/Logger.js\";import\"../../../core/RandomLCG.js\";import{subclass as r}from\"../../../core/accessorSupport/decorators/subclass.js\";let s=class extends t{constructor(e){super(e),this.moment=null,this.fullUpdate=!1,this.validateErrorsCreated=!1,this.dirtyAreaCount=null,this.exceededTransferLimit=null,this.serviceEdits=null,this.discoveredSubnetworks=null}};e([o({type:Date,json:{type:Number,write:{writer:(e,t)=>{t.moment=e?e.getTime():null}}}})],s.prototype,\"moment\",void 0),e([o({type:Boolean,json:{write:!0}})],s.prototype,\"fullUpdate\",void 0),e([o({type:Boolean,json:{write:!0}})],s.prototype,\"validateErrorsCreated\",void 0),e([o({type:Number,json:{write:!0}})],s.prototype,\"dirtyAreaCount\",void 0),e([o({type:Boolean,json:{write:!0}})],s.prototype,\"exceededTransferLimit\",void 0),e([o({type:[Object],json:{write:!0}})],s.prototype,\"serviceEdits\",void 0),e([o({type:[Object],json:{write:!0}})],s.prototype,\"discoveredSubnetworks\",void 0),s=e([r(\"esri.rest.networks.support.ValidateNetworkTopologyResult\")],s);const i=s;export{i as default};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nfunction t(n){const o={};for(const e in n){if(\"declaredClass\"===e)continue;const r=n[e];if(null!=r&&\"function\"!=typeof r)if(Array.isArray(r)){o[e]=[];for(let n=0;n2&&(n[2]*=t)}function i(e,t,i){if(!e&&!t||!i)return;const s=n(i);o(e,i,s),o(t,i,s)}function o(n,e,t){if(n)for(const i of n)s(i.geometry,e,t)}function s(i,o,s){if(!i?.spatialReference||e(i.spatialReference,o))return;const f=n(i.spatialReference)/s;if(1!==f)if(\"x\"in i)null!=i.z&&(i.z*=f);else if(\"rings\"in i)t(i,i.rings,f);else if(\"paths\"in i)t(i,i.paths,f);else if(\"points\"in i&&(null==i.hasM||i.hasZ))for(const n of i.points)n.length>2&&(n[2]*=f)}export{i as unapplyEditsZUnitScaling};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport e from\"../../../core/Error.js\";import t from\"../../../core/pbf.js\";import s from\"../../../layers/graphics/OptimizedGeometry.js\";import{optimizedGeometryTypes as r}from\"./pbfOptimizedFeatureSet.js\";const a=[\"esriFieldTypeSmallInteger\",\"esriFieldTypeInteger\",\"esriFieldTypeSingle\",\"esriFieldTypeDouble\",\"esriFieldTypeString\",\"esriFieldTypeDate\",\"esriFieldTypeOID\",\"esriFieldTypeGeometry\",\"esriFieldTypeBlob\",\"esriFieldTypeRaster\",\"esriFieldTypeGUID\",\"esriFieldTypeGlobalID\",\"esriFieldTypeXML\",\"esriFieldTypeBigInteger\",\"esriFieldTypeDateOnly\",\"esriFieldTypeTimeOnly\",\"esriFieldTypeTimestampOffset\"],n=[\"sqlTypeBigInt\",\"sqlTypeBinary\",\"sqlTypeBit\",\"sqlTypeChar\",\"sqlTypeDate\",\"sqlTypeDecimal\",\"sqlTypeDouble\",\"sqlTypeFloat\",\"sqlTypeGeometry\",\"sqlTypeGUID\",\"sqlTypeInteger\",\"sqlTypeLongNVarchar\",\"sqlTypeLongVarbinary\",\"sqlTypeLongVarchar\",\"sqlTypeNChar\",\"sqlTypeNVarchar\",\"sqlTypeOther\",\"sqlTypeReal\",\"sqlTypeSmallInt\",\"sqlTypeSqlXml\",\"sqlTypeTime\",\"sqlTypeTimestamp\",\"sqlTypeTimestamp2\",\"sqlTypeTinyInt\",\"sqlTypeVarbinary\",\"sqlTypeVarchar\"],i=[\"upperLeft\",\"lowerLeft\"];function o(e){return e>=a.length?null:a[e]}function c(e){return e>=n.length?null:n[e]}function l(e){return e>=i.length?null:i[e]}function g(e,t){return t>=e.geometryTypes.length?null:e.geometryTypes[t]}function p(e,t,s){const r=3,a=e.asUnsafe(),n=t.createPointGeometry(s);for(;a.next();)switch(a.tag()){case r:{const e=a.getUInt32(),s=a.pos()+e;let r=0;for(;a.pos()e+t),0)*this._vertexDimension,this._coordinatePtr=0}addCoordinate(e,t){e.coords[this._coordinatePtr++]=t}addCoordinatePoint(e,t){e.coords.push(t)}addLength(e,t){e.lengths.push(t)}addQueryGeometry(e,t){e.queryGeometry=t.queryGeometry,e.queryGeometryType=t.queryGeometryType}createPointGeometry(){return new s}}export{a as OptimizedFeatureSetParserContext,n as optimizedGeometryTypes};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{parseFeatureQuery as e}from\"./pbfFeatureServiceParser.js\";function t(t,r){const u=e(t,r),o=u.queryResult.featureResult,s=u.queryResult.queryGeometry,y=u.queryResult.queryGeometryType;if(o&&o.features&&o.features.length&&o.objectIdFieldName){const e=o.objectIdFieldName;for(const t of o.features)t.attributes&&(t.objectId=t.attributes[e])}return o&&(o.queryGeometry=s,o.queryGeometryType=y),o}export{t as parsePBFFeatureQuery};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport t from\"../../../request.js\";import{urlToObject as e,join as n}from\"../../../core/urlUtils.js\";import{getJsonType as r}from\"../../../geometry/support/jsonUtils.js\";import{normalizeCentralMeridian as i}from\"../../../geometry/support/normalizeUtils.js\";import{srToRESTValue as a}from\"../../../geometry/support/spatialReferenceUtils.js\";import{mapParameters as o}from\"../../operations/urlUtils.js\";import{parsePBFFeatureQuery as u}from\"./pbfQueryUtils.js\";import{applyFeatureSetZUnitScaling as l}from\"./queryZScale.js\";const s=\"Layer does not support extent calculation.\";function m(t,e){if(e&&\"extent\"===t.type)return`${t.xmin},${t.ymin},${t.xmax},${t.ymax}`;if(e&&\"point\"===t.type)return`${t.x},${t.y}`;const n=t.toJSON();return delete n.spatialReference,JSON.stringify(n)}function y(t,e){const n=t.geometry,i=t.toJSON();delete i.compactGeometryEnabled,delete i.defaultSpatialReferenceEnabled;const o=i;let u,l,s;if(null!=n&&(l=n.spatialReference,s=a(l),o.geometryType=r(n),o.geometry=m(n,t.compactGeometryEnabled),o.inSR=s),i.groupByFieldsForStatistics&&(o.groupByFieldsForStatistics=i.groupByFieldsForStatistics.join(\",\")),i.objectIds&&(o.objectIds=i.objectIds.join(\",\")),i.orderByFields&&(o.orderByFields=i.orderByFields.join(\",\")),!i.outFields||!i.returnDistinctValues&&(e?.returnCountOnly||e?.returnExtentOnly||e?.returnIdsOnly)?delete o.outFields:i.outFields.includes(\"*\")?o.outFields=\"*\":o.outFields=i.outFields.join(\",\"),i.outSR?(o.outSR=a(i.outSR),u=t.outSpatialReference):n&&(i.returnGeometry||i.returnCentroid)&&(o.outSR=o.inSR,u=l),i.returnGeometry&&delete i.returnGeometry,i.outStatistics&&(o.outStatistics=JSON.stringify(i.outStatistics)),i.fullText&&(o.fullText=JSON.stringify(i.fullText)),i.pixelSize&&(o.pixelSize=JSON.stringify(i.pixelSize)),i.quantizationParameters&&(t.defaultSpatialReferenceEnabled&&null!=l&&null!=t.quantizationParameters?.extent&&l.equals(t.quantizationParameters.extent.spatialReference)&&delete i.quantizationParameters.extent.spatialReference,o.quantizationParameters=JSON.stringify(i.quantizationParameters)),i.parameterValues&&(o.parameterValues=JSON.stringify(i.parameterValues)),i.rangeValues&&(o.rangeValues=JSON.stringify(i.rangeValues)),i.dynamicDataSource&&(o.layer=JSON.stringify({source:i.dynamicDataSource}),delete i.dynamicDataSource),i.timeExtent){const t=i.timeExtent,{start:e,end:n}=t;null==e&&null==n||(o.time=e===n?e:`${e??\"null\"},${n??\"null\"}`),delete i.timeExtent}return t.defaultSpatialReferenceEnabled&&null!=l&&null!=u&&l.equals(u)&&(o.defaultSR=o.inSR,delete o.inSR,delete o.outSR),o}async function c(t,e,n,r){const i=null!=e.timeExtent&&e.timeExtent.isEmpty?{data:{features:[]}}:await E(t,e,\"json\",r);return l(e,n,i.data),i}async function f(t,e,n,r){if(null!=e.timeExtent&&e.timeExtent.isEmpty)return{data:n.createFeatureResult()};const i=await d(t,e,r),a=i;return a.data=u(i.data,n),a}function d(t,e,n){return E(t,e,\"pbf\",n)}function p(t,e,n){return null!=e.timeExtent&&e.timeExtent.isEmpty?Promise.resolve({data:{objectIds:[]}}):E(t,e,\"json\",n,{returnIdsOnly:!0})}function S(t,e,n){return null!=e.timeExtent&&e.timeExtent.isEmpty?Promise.resolve({data:{count:0}}):E(t,e,\"json\",n,{returnIdsOnly:!0,returnCountOnly:!0})}async function x(t,e,n){if(null!=e.timeExtent&&e.timeExtent.isEmpty)return{data:{count:0,extent:null}};const r=await E(t,e,\"json\",n,{returnExtentOnly:!0,returnCountOnly:!0}),i=r.data;if(i.hasOwnProperty(\"extent\"))return r;if(i.features)throw new Error(s);if(i.hasOwnProperty(\"count\"))throw new Error(s);return r}async function E(r,a,u,l={},s={}){const m=\"string\"==typeof r?e(r):r,c=a.geometry?[a.geometry]:[],f=await i(c,null,{signal:l.signal}),d=f?.[0];null!=d&&((a=a.clone()).geometry=d);const p=o({...m.query,f:u,...s,...y(a,s)});return t(n(m.path,g(a,s)?\"query3d\":\"query\"),{...l,responseType:\"pbf\"===u?\"array-buffer\":\"json\",query:{...p,...l.query}})}function g(t,e){return null!=t.formatOf3DObjects&&!(e.returnCountOnly||e.returnExtentOnly||e.returnIdsOnly)}export{m as encodeGeometry,c as executeQuery,S as executeQueryForCount,x as executeQueryForExtent,p as executeQueryForIds,f as executeQueryPBF,d as executeQueryPBFBuffer,y as queryToQueryStringParameters,E as runQuery};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{getGeometryZScaler as e}from\"../../../geometry/support/zscale.js\";function t(t,o,r){if(!r?.features||!r.hasZ)return;const f=e(r.geometryType,o,t.outSpatialReference);if(null!=f)for(const e of r.features)f(e.geometry)}export{t as applyFeatureSetZUnitScaling};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{_ as o}from\"../../../chunks/tslib.es6.js\";import{JSONSupport as t}from\"../../../core/JSONSupport.js\";import{property as r}from\"../../../core/accessorSupport/decorators/property.js\";import{Integer as e}from\"../../../core/accessorSupport/ensureType.js\";import\"../../../core/RandomLCG.js\";import\"../../../core/has.js\";import{subclass as i}from\"../../../core/accessorSupport/decorators/subclass.js\";import{getExifValue as n}from\"../../../layers/support/exifUtils.js\";var s;const p={1:{id:1,rotation:0,mirrored:!1},2:{id:2,rotation:0,mirrored:!0},3:{id:3,rotation:180,mirrored:!1},4:{id:4,rotation:180,mirrored:!0},5:{id:5,rotation:-90,mirrored:!0},6:{id:6,rotation:90,mirrored:!1},7:{id:7,rotation:90,mirrored:!0},8:{id:8,rotation:-90,mirrored:!1}};let d=s=class extends t{constructor(o){super(o),this.contentType=null,this.exifInfo=null,this.id=null,this.globalId=null,this.keywords=null,this.name=null,this.parentGlobalId=null,this.parentObjectId=null,this.size=null,this.url=null}get orientationInfo(){const{exifInfo:o}=this,t=n({exifName:\"Exif IFD0\",tagName:\"Orientation\",exifInfo:o});return p[t]||null}clone(){return new s({contentType:this.contentType,exifInfo:this.exifInfo,id:this.id,globalId:this.globalId,keywords:this.keywords,name:this.name,parentGlobalId:this.parentGlobalId,parentObjectId:this.parentObjectId,size:this.size,url:this.url})}};o([r({type:String})],d.prototype,\"contentType\",void 0),o([r()],d.prototype,\"exifInfo\",void 0),o([r({readOnly:!0})],d.prototype,\"orientationInfo\",null),o([r({type:e})],d.prototype,\"id\",void 0),o([r({type:String})],d.prototype,\"globalId\",void 0),o([r({type:String})],d.prototype,\"keywords\",void 0),o([r({type:String})],d.prototype,\"name\",void 0),o([r({json:{read:!1}})],d.prototype,\"parentGlobalId\",void 0),o([r({json:{read:!1}})],d.prototype,\"parentObjectId\",void 0),o([r({type:e})],d.prototype,\"size\",void 0),o([r({json:{read:!1}})],d.prototype,\"url\",void 0),d=s=o([i(\"esri.rest.query.support.AttachmentInfo\")],d);const a=d;export{a as default};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{_ as o}from\"../../chunks/tslib.es6.js\";import r from\"../../Color.js\";import{clone as t}from\"../../core/lang.js\";import{property as s}from\"../../core/accessorSupport/decorators/property.js\";import{Integer as e}from\"../../core/accessorSupport/ensureType.js\";import{enumeration as i}from\"../../core/accessorSupport/decorators/enumeration.js\";import{subclass as p}from\"../../core/accessorSupport/decorators/subclass.js\";import l from\"./ColorRamp.js\";var m;let c=m=class extends l{constructor(o){super(o),this.algorithm=null,this.fromColor=null,this.toColor=null,this.type=\"algorithmic\"}clone(){return new m({fromColor:t(this.fromColor),toColor:t(this.toColor),algorithm:this.algorithm})}};o([i({esriCIELabAlgorithm:\"cie-lab\",esriHSVAlgorithm:\"hsv\",esriLabLChAlgorithm:\"lab-lch\"})],c.prototype,\"algorithm\",void 0),o([s({type:r,json:{type:[e],write:!0}})],c.prototype,\"fromColor\",void 0),o([s({type:r,json:{type:[e],write:!0}})],c.prototype,\"toColor\",void 0),o([s({type:[\"algorithmic\"]})],c.prototype,\"type\",void 0),c=m=o([p(\"esri.rest.support.AlgorithmicColorRamp\")],c);const a=c;export{a as default};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{_ as t}from\"../../chunks/tslib.es6.js\";import{JSONSupport as e}from\"../../core/JSONSupport.js\";import{clone as r}from\"../../core/lang.js\";import{property as o}from\"../../core/accessorSupport/decorators/property.js\";import{ensureType as s}from\"../../core/accessorSupport/ensureType.js\";import{subclass as i}from\"../../core/accessorSupport/decorators/subclass.js\";import{writer as n}from\"../../core/accessorSupport/decorators/writer.js\";var a;let p=a=class extends e{constructor(t){super(t),this.attachmentTypes=null,this.attachmentsWhere=null,this.cacheHint=void 0,this.keywords=null,this.globalIds=null,this.name=null,this.num=null,this.objectIds=null,this.returnMetadata=!1,this.size=null,this.start=null,this.where=null}writeStart(t,e){e.resultOffset=this.start,e.resultRecordCount=this.num||10}clone(){return new a(r({attachmentTypes:this.attachmentTypes,attachmentsWhere:this.attachmentsWhere,cacheHint:this.cacheHint,keywords:this.keywords,where:this.where,globalIds:this.globalIds,name:this.name,num:this.num,objectIds:this.objectIds,returnMetadata:this.returnMetadata,size:this.size,start:this.start}))}};t([o({type:[String],json:{write:!0}})],p.prototype,\"attachmentTypes\",void 0),t([o({type:String,json:{read:{source:\"attachmentsDefinitionExpression\"},write:{target:\"attachmentsDefinitionExpression\"}}})],p.prototype,\"attachmentsWhere\",void 0),t([o({type:Boolean,json:{write:!0}})],p.prototype,\"cacheHint\",void 0),t([o({type:[String],json:{write:!0}})],p.prototype,\"keywords\",void 0),t([o({type:[String],json:{write:!0}})],p.prototype,\"globalIds\",void 0),t([o({json:{write:!0}})],p.prototype,\"name\",void 0),t([o({type:Number,json:{read:{source:\"resultRecordCount\"}}})],p.prototype,\"num\",void 0),t([o({type:[Number],json:{write:!0}})],p.prototype,\"objectIds\",void 0),t([o({type:Boolean,json:{default:!1,write:!0}})],p.prototype,\"returnMetadata\",void 0),t([o({type:[Number],json:{write:!0}})],p.prototype,\"size\",void 0),t([o({type:Number,json:{read:{source:\"resultOffset\"}}})],p.prototype,\"start\",void 0),t([n(\"start\"),n(\"num\")],p.prototype,\"writeStart\",null),t([o({type:String,json:{read:{source:\"definitionExpression\"},write:{target:\"definitionExpression\"}}})],p.prototype,\"where\",void 0),p=a=t([i(\"esri.rest.support.AttachmentQuery\")],p),p.from=s(p);const c=p;export{c as default};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{_ as r}from\"../../chunks/tslib.es6.js\";import{JSONSupport as o}from\"../../core/JSONSupport.js\";import{property as s}from\"../../core/accessorSupport/decorators/property.js\";import\"../../core/has.js\";import\"../../core/Logger.js\";import\"../../core/RandomLCG.js\";import{subclass as t}from\"../../core/accessorSupport/decorators/subclass.js\";let e=class extends o{constructor(r){super(r),this.type=null}};r([s({readOnly:!0,json:{read:!1,write:!0}})],e.prototype,\"type\",void 0),e=r([t(\"esri.rest.support.ColorRamp\")],e);const p=e;export{p as default};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{_ as e}from\"../../chunks/tslib.es6.js\";import{geometryTypes as t}from\"../../geometry.js\";import r from\"../../Graphic.js\";import{JSONMap as o}from\"../../core/jsonMap.js\";import{JSONSupport as s}from\"../../core/JSONSupport.js\";import{clone as n}from\"../../core/lang.js\";import{property as i}from\"../../core/accessorSupport/decorators/property.js\";import\"../../core/has.js\";import\"../../core/Logger.js\";import{reader as l}from\"../../core/accessorSupport/decorators/reader.js\";import{subclass as a}from\"../../core/accessorSupport/decorators/subclass.js\";import{writer as p}from\"../../core/accessorSupport/decorators/writer.js\";import m from\"../../geometry/SpatialReference.js\";import{fromJSON as c,isPolygon as f}from\"../../geometry/support/jsonUtils.js\";import u from\"../../layers/support/Field.js\";var y;const h=new o({esriGeometryPoint:\"point\",esriGeometryMultipoint:\"multipoint\",esriGeometryPolyline:\"polyline\",esriGeometryPolygon:\"polygon\",esriGeometryEnvelope:\"extent\",mesh:\"mesh\",\"\":null});let g=y=class extends s{constructor(e){super(e),this.displayFieldName=null,this.exceededTransferLimit=!1,this.features=[],this.fields=null,this.geometryType=null,this.hasM=!1,this.hasZ=!1,this.queryGeometry=null,this.spatialReference=null}readFeatures(e,t){const o=m.fromJSON(t.spatialReference),s=[];for(let n=0;n0)for(let r=0;rMath.round((e-o)/t),i=e=>Math.round((s-e)/r),l=this.features,a=this._getQuantizationFunction(this.geometryType,n,i);for(let p=0,m=l.length;pe*n+o,a=e=>s-e*i;let p=null,m=null;if(this.hasZ&&null!=r?.scale?.[2]){const{translate:[,,e],scale:[,,t]}=r;p=r=>r*t+e}if(this.hasM&&null!=r?.scale?.[3]){const{translate:[,,,e],scale:[,,,t]}=r;m=r=>null==r?r:r*t+e}const c=this._getHydrationFunction(e,l,a,p,m);for(const{geometry:f}of t)null!=f&&c&&c(f);return this.transform=null,this}_quantizePoints(e,t,r){let o,s;const n=[];for(let i=0,l=e.length;i0){const e=t(l[0]),i=r(l[1]);e===o&&i===s||(n.push([e-o,i-s]),o=e,s=i)}else o=t(l[0]),s=r(l[1]),n.push([o,s])}return n.length>0?n:null}_getQuantizationFunction(e,t,r){return\"point\"===e?e=>(e.x=t(e.x),e.y=r(e.y),e):\"polyline\"===e||\"polygon\"===e?e=>{const o=f(e)?e.rings:e.paths,s=[];for(let n=0,i=o.length;n0?(f(e)?e.rings=s:e.paths=s,e):null}:\"multipoint\"===e?e=>{const o=this._quantizePoints(e.points,t,r);return o&&o.length>0?(e.points=o,e):null}:\"extent\"===e?e=>e:null}_getHydrationFunction(e,t,r,o,s){return\"point\"===e?e=>{e.x=t(e.x),e.y=r(e.y),o&&(e.z=o(e.z))}:\"polyline\"===e||\"polygon\"===e?e=>{const n=f(e)?e.rings:e.paths;let i,l;for(let o=0,s=n.length;o0?(i+=s[0],l+=s[1]):(i=s[0],l=s[1]),s[0]=t(i),s[1]=r(l)}}if(o&&s)for(let t=0,r=n.length;t{e.xmin=t(e.xmin),e.ymin=r(e.ymin),e.xmax=t(e.xmax),e.ymax=r(e.ymax),o&&null!=e.zmax&&null!=e.zmin&&(e.zmax=o(e.zmax),e.zmin=o(e.zmin)),s&&null!=e.mmax&&null!=e.mmin&&(e.mmax=s(e.mmax),e.mmin=s(e.mmin))}:\"multipoint\"===e?e=>{const n=e.points;let i,l;for(let o=0,s=n.length;o0?(i+=e[0],l+=e[1]):(i=e[0],l=e[1]),e[0]=t(i),e[1]=r(l)}if(o&&s)for(let t=0,r=n.length;t({enabled:e})}}})],g.prototype,\"exceededTransferLimit\",void 0),e([i({type:[r],json:{write:!0}})],g.prototype,\"features\",void 0),e([l(\"features\")],g.prototype,\"readFeatures\",null),e([i({type:[u],json:{write:!0}})],g.prototype,\"fields\",void 0),e([i({type:[\"point\",\"multipoint\",\"polyline\",\"polygon\",\"extent\",\"mesh\"],json:{read:{reader:h.read}}})],g.prototype,\"geometryType\",void 0),e([p(\"geometryType\")],g.prototype,\"writeGeometryType\",null),e([i({type:Boolean,json:{write:{overridePolicy:e=>({enabled:e})}}})],g.prototype,\"hasM\",void 0),e([i({type:Boolean,json:{write:{overridePolicy:e=>({enabled:e})}}})],g.prototype,\"hasZ\",void 0),e([i({types:t,json:{write:!0}})],g.prototype,\"queryGeometry\",void 0),e([l(\"queryGeometry\")],g.prototype,\"readQueryGeometry\",null),e([i({type:m,json:{write:!0}})],g.prototype,\"spatialReference\",void 0),e([p(\"spatialReference\")],g.prototype,\"writeSpatialReference\",null),e([i({json:{write:!0}})],g.prototype,\"transform\",void 0),g=y=e([a(\"esri.rest.support.FeatureSet\")],g),g.prototype.toJSON.isDefaultToJSON=!0;const d=g;export{d as default};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{_ as r}from\"../../chunks/tslib.es6.js\";import{ClonableMixin as o}from\"../../core/Clonable.js\";import{JSONSupport as e}from\"../../core/JSONSupport.js\";import{property as t}from\"../../core/accessorSupport/decorators/property.js\";import\"../../core/has.js\";import\"../../core/Logger.js\";import\"../../core/RandomLCG.js\";import{subclass as s}from\"../../core/accessorSupport/decorators/subclass.js\";let p=class extends(o(e)){constructor(r){super(r),this.onFields=null,this.operator=null,this.searchTerm=null,this.searchType=null}};r([t({type:[String],json:{write:{enabled:!0,overridePolicy(){return{enabled:null!=this.onFields&&this.onFields.length>0}}}}})],p.prototype,\"onFields\",void 0),r([t({type:String,json:{write:!0}})],p.prototype,\"operator\",void 0),r([t({type:String,json:{write:!0}})],p.prototype,\"searchTerm\",void 0),r([t({type:String,json:{write:!0}})],p.prototype,\"searchType\",void 0),p=r([s(\"esri.rest.support.FullTextSearch\")],p);const i=p;export{i as default};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{_ as o}from\"../../chunks/tslib.es6.js\";import{clone as r}from\"../../core/lang.js\";import{property as t}from\"../../core/accessorSupport/decorators/property.js\";import\"../../core/has.js\";import\"../../core/Logger.js\";import{subclass as s}from\"../../core/accessorSupport/decorators/subclass.js\";import p from\"./AlgorithmicColorRamp.js\";import e from\"./ColorRamp.js\";var m;let c=m=class extends e{constructor(o){super(o),this.colorRamps=null,this.type=\"multipart\"}clone(){return new m({colorRamps:r(this.colorRamps)})}};o([t({type:[p],json:{write:!0}})],c.prototype,\"colorRamps\",void 0),o([t({type:[\"multipart\"]})],c.prototype,\"type\",void 0),c=m=o([s(\"esri.rest.support.MultipartColorRamp\")],c);const a=c;export{a as default};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{_ as r}from\"../../chunks/tslib.es6.js\";import{JSONSupport as o}from\"../../core/JSONSupport.js\";import{property as t}from\"../../core/accessorSupport/decorators/property.js\";import\"../../core/has.js\";import\"../../core/Logger.js\";import\"../../core/RandomLCG.js\";import{subclass as e}from\"../../core/accessorSupport/decorators/subclass.js\";import{getJsonType as s}from\"../../geometry/support/jsonUtils.js\";import{srToRESTValue as i}from\"../../geometry/support/spatialReferenceUtils.js\";let a=class extends o{constructor(r){super(r),this.geometries=[],this.outSpatialReference=null,this.transformation=null,this.transformForward=null}toJSON(){const r=this.geometries.map((r=>r.toJSON())),o=this.geometries[0],t={};return t.outSR=i(this.outSpatialReference),t.inSR=i(o.spatialReference),t.geometries=JSON.stringify({geometryType:s(o),geometries:r}),this.transformation&&(t.transformation=this.transformation.wkid||JSON.stringify(this.transformation)),null!=this.transformForward&&(t.transformForward=this.transformForward),t}};r([t()],a.prototype,\"geometries\",void 0),r([t({json:{read:{source:\"outSR\"}}})],a.prototype,\"outSpatialReference\",void 0),r([t()],a.prototype,\"transformation\",void 0),r([t()],a.prototype,\"transformForward\",void 0),a=r([e(\"esri.rest.support.ProjectParameters\")],a);const p=a;export{p as default};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{_ as e}from\"../../chunks/tslib.es6.js\";import\"../../geometry.js\";import{JSONMap as o}from\"../../core/jsonMap.js\";import{JSONSupport as t}from\"../../core/JSONSupport.js\";import{clone as r}from\"../../core/lang.js\";import{property as i}from\"../../core/accessorSupport/decorators/property.js\";import\"../../core/has.js\";import\"../../core/Logger.js\";import{subclass as s}from\"../../core/accessorSupport/decorators/subclass.js\";import p from\"../../geometry/Extent.js\";var n;const c=new o({upperLeft:\"upper-left\",lowerLeft:\"lower-left\"});let m=n=class extends t{constructor(e){super(e),this.extent=null,this.mode=\"view\",this.originPosition=\"upper-left\",this.tolerance=1}clone(){return new n(r({extent:this.extent,mode:this.mode,originPosition:this.originPosition,tolerance:this.tolerance}))}};e([i({type:p,json:{write:{overridePolicy(){return{enabled:\"view\"===this.mode}}}}})],m.prototype,\"extent\",void 0),e([i({type:[\"view\",\"edit\"],json:{write:!0}})],m.prototype,\"mode\",void 0),e([i({type:String,json:{read:c.read,write:c.write}})],m.prototype,\"originPosition\",void 0),e([i({type:Number,json:{write:{overridePolicy(){return{enabled:\"view\"===this.mode}}}}})],m.prototype,\"tolerance\",void 0),m=n=e([s(\"esri.rest.support.QuantizationParameters\")],m);const a=m;export{a as default};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{_ as t}from\"../../chunks/tslib.es6.js\";import{geometryTypes as e}from\"../../geometry.js\";import{JSONMap as r}from\"../../core/jsonMap.js\";import{JSONSupport as o}from\"../../core/JSONSupport.js\";import{clone as i}from\"../../core/lang.js\";import{property as s}from\"../../core/accessorSupport/decorators/property.js\";import{cast as n}from\"../../core/accessorSupport/decorators/cast.js\";import{enumeration as a}from\"../../core/accessorSupport/decorators/enumeration.js\";import{subclass as l}from\"../../core/accessorSupport/decorators/subclass.js\";import{writer as p}from\"../../core/accessorSupport/decorators/writer.js\";import{ensureClass as u}from\"../../core/accessorSupport/ensureType.js\";import{fromJSON as m}from\"../../geometry/support/jsonUtils.js\";import{DataLayerSource as c}from\"../../layers/support/source/DataLayerSource.js\";import d from\"./FullTextSearch.js\";import y from\"./QuantizationParameters.js\";import{spatialRelKebabDict as h}from\"./spatialRelationships.js\";import f from\"./StatisticDefinition.js\";import j from\"../../time/TimeExtent.js\";import w from\"../../geometry/SpatialReference.js\";import v from\"../../geometry/Point.js\";var S;const g=new r({esriSRUnit_Meter:\"meters\",esriSRUnit_Kilometer:\"kilometers\",esriSRUnit_Foot:\"feet\",esriSRUnit_StatuteMile:\"miles\",esriSRUnit_NauticalMile:\"nautical-miles\",esriSRUnit_USNauticalMile:\"us-nautical-miles\"});let R=S=class extends o{static from(t){return u(S,t)}constructor(t){super(t),this.aggregateIds=null,this.cacheHint=void 0,this.compactGeometryEnabled=!1,this.datumTransformation=null,this.defaultSpatialReferenceEnabled=!1,this.distance=void 0,this.dynamicDataSource=void 0,this.formatOf3DObjects=null,this.fullText=null,this.gdbVersion=null,this.geometry=null,this.geometryPrecision=void 0,this.groupByFieldsForStatistics=null,this.having=null,this.historicMoment=null,this.maxAllowableOffset=void 0,this.maxRecordCountFactor=1,this.multipatchOption=null,this.num=void 0,this.objectIds=null,this.orderByFields=null,this.outFields=null,this.outSpatialReference=null,this.outStatistics=null,this.parameterValues=null,this.pixelSize=null,this.quantizationParameters=null,this.rangeValues=null,this.relationParameter=null,this.resultType=null,this.returnCentroid=!1,this.returnDistinctValues=!1,this.returnExceededLimitFeatures=!0,this.returnGeometry=!1,this.returnQueryGeometry=!1,this.returnM=void 0,this.returnZ=void 0,this.sourceSpatialReference=null,this.spatialRelationship=\"intersects\",this.start=void 0,this.sqlFormat=null,this.text=null,this.timeExtent=null,this.timeReferenceUnknownClient=!1,this.units=null,this.where=null}castDatumTransformation(t){return\"number\"==typeof t||\"object\"==typeof t?t:null}writeHistoricMoment(t,e){e.historicMoment=t&&t.getTime()}writeParameterValues(t,e){if(t){const r={};for(const e in t){const o=t[e];Array.isArray(o)?r[e]=o.map((t=>t instanceof Date?t.getTime():t)):o instanceof Date?r[e]=o.getTime():r[e]=o}e.parameterValues=r}}writeStart(t,e){e.resultOffset=this.start,e.resultRecordCount=this.num||10,e.where=\"1=1\"}writeWhere(t,e){e.where=t||\"1=1\"}clone(){return new S(i({aggregateIds:this.aggregateIds,cacheHint:this.cacheHint,compactGeometryEnabled:this.compactGeometryEnabled,datumTransformation:this.datumTransformation,defaultSpatialReferenceEnabled:this.defaultSpatialReferenceEnabled,distance:this.distance,fullText:this.fullText,formatOf3DObjects:this.formatOf3DObjects,gdbVersion:this.gdbVersion,geometry:this.geometry,geometryPrecision:this.geometryPrecision,groupByFieldsForStatistics:this.groupByFieldsForStatistics,having:this.having,historicMoment:null!=this.historicMoment?new Date(this.historicMoment.getTime()):null,maxAllowableOffset:this.maxAllowableOffset,maxRecordCountFactor:this.maxRecordCountFactor,multipatchOption:this.multipatchOption,num:this.num,objectIds:this.objectIds,orderByFields:this.orderByFields,outFields:this.outFields,outSpatialReference:this.outSpatialReference,outStatistics:this.outStatistics,parameterValues:this.parameterValues,pixelSize:this.pixelSize,quantizationParameters:this.quantizationParameters,rangeValues:this.rangeValues,relationParameter:this.relationParameter,resultType:this.resultType,returnDistinctValues:this.returnDistinctValues,returnGeometry:this.returnGeometry,returnCentroid:this.returnCentroid,returnExceededLimitFeatures:this.returnExceededLimitFeatures,returnQueryGeometry:this.returnQueryGeometry,returnM:this.returnM,returnZ:this.returnZ,dynamicDataSource:this.dynamicDataSource,sourceSpatialReference:this.sourceSpatialReference,spatialRelationship:this.spatialRelationship,start:this.start,sqlFormat:this.sqlFormat,text:this.text,timeExtent:this.timeExtent,timeReferenceUnknownClient:this.timeReferenceUnknownClient,units:this.units,where:this.where}))}};R.MAX_MAX_RECORD_COUNT_FACTOR=5,t([s({json:{write:!0}})],R.prototype,\"aggregateIds\",void 0),t([s({type:Boolean,json:{write:!0}})],R.prototype,\"cacheHint\",void 0),t([s({type:Boolean,json:{default:!1,write:!0}})],R.prototype,\"compactGeometryEnabled\",void 0),t([s({json:{write:!0}})],R.prototype,\"datumTransformation\",void 0),t([n(\"datumTransformation\")],R.prototype,\"castDatumTransformation\",null),t([s({type:Boolean,json:{default:!1,write:!0}})],R.prototype,\"defaultSpatialReferenceEnabled\",void 0),t([s({type:Number,json:{write:{overridePolicy:t=>({enabled:t>0})}}})],R.prototype,\"distance\",void 0),t([s({type:c,json:{write:!0}})],R.prototype,\"dynamicDataSource\",void 0),t([s({type:String,json:{write:!0}})],R.prototype,\"formatOf3DObjects\",void 0),t([s({type:[d],json:{write:{enabled:!0,overridePolicy(){return{enabled:null!=this.fullText&&this.fullText.length>0}}}}})],R.prototype,\"fullText\",void 0),t([s({type:String,json:{write:!0}})],R.prototype,\"gdbVersion\",void 0),t([s({types:e,json:{read:m,write:!0}})],R.prototype,\"geometry\",void 0),t([s({type:Number,json:{write:!0}})],R.prototype,\"geometryPrecision\",void 0),t([s({type:[String],json:{write:!0}})],R.prototype,\"groupByFieldsForStatistics\",void 0),t([s({type:String,json:{write:!0}})],R.prototype,\"having\",void 0),t([s({type:Date})],R.prototype,\"historicMoment\",void 0),t([p(\"historicMoment\")],R.prototype,\"writeHistoricMoment\",null),t([s({type:Number,json:{write:!0}})],R.prototype,\"maxAllowableOffset\",void 0),t([s({type:Number,cast:t=>t<1?1:t>R.MAX_MAX_RECORD_COUNT_FACTOR?R.MAX_MAX_RECORD_COUNT_FACTOR:t,json:{write:{overridePolicy:t=>({enabled:t>1})}}})],R.prototype,\"maxRecordCountFactor\",void 0),t([s({type:[\"xyFootprint\"],json:{write:!0}})],R.prototype,\"multipatchOption\",void 0),t([s({type:Number,json:{read:{source:\"resultRecordCount\"}}})],R.prototype,\"num\",void 0),t([s({json:{write:!0}})],R.prototype,\"objectIds\",void 0),t([s({type:[String],json:{write:!0}})],R.prototype,\"orderByFields\",void 0),t([s({type:[String],json:{write:!0}})],R.prototype,\"outFields\",void 0),t([s({type:w,json:{name:\"outSR\",write:!0}})],R.prototype,\"outSpatialReference\",void 0),t([s({type:[f],json:{write:{enabled:!0,overridePolicy(){return{enabled:null!=this.outStatistics&&this.outStatistics.length>0}}}}})],R.prototype,\"outStatistics\",void 0),t([s({json:{write:!0}})],R.prototype,\"parameterValues\",void 0),t([p(\"parameterValues\")],R.prototype,\"writeParameterValues\",null),t([s({type:v,json:{write:!0}})],R.prototype,\"pixelSize\",void 0),t([s({type:y,json:{write:!0}})],R.prototype,\"quantizationParameters\",void 0),t([s({type:[Object],json:{write:!0}})],R.prototype,\"rangeValues\",void 0),t([s({type:String,json:{read:{source:\"relationParam\"},write:{target:\"relationParam\",overridePolicy(){return{enabled:\"relation\"===this.spatialRelationship}}}}})],R.prototype,\"relationParameter\",void 0),t([s({type:String,json:{write:!0}})],R.prototype,\"resultType\",void 0),t([s({type:Boolean,json:{default:!1,write:!0}})],R.prototype,\"returnCentroid\",void 0),t([s({type:Boolean,json:{default:!1,write:!0}})],R.prototype,\"returnDistinctValues\",void 0),t([s({type:Boolean,json:{default:!0,write:!0}})],R.prototype,\"returnExceededLimitFeatures\",void 0),t([s({type:Boolean,json:{write:!0}})],R.prototype,\"returnGeometry\",void 0),t([s({type:Boolean,json:{default:!1,write:!0}})],R.prototype,\"returnQueryGeometry\",void 0),t([s({type:Boolean,json:{default:!1,write:!0}})],R.prototype,\"returnM\",void 0),t([s({type:Boolean,json:{write:{overridePolicy:t=>({enabled:t})}}})],R.prototype,\"returnZ\",void 0),t([s({type:w,json:{write:!0}})],R.prototype,\"sourceSpatialReference\",void 0),t([a(h,{ignoreUnknown:!1,name:\"spatialRel\"})],R.prototype,\"spatialRelationship\",void 0),t([s({type:Number,json:{read:{source:\"resultOffset\"}}})],R.prototype,\"start\",void 0),t([p(\"start\"),p(\"num\")],R.prototype,\"writeStart\",null),t([s({type:String,json:{write:!0}})],R.prototype,\"sqlFormat\",void 0),t([s({type:String,json:{write:!0}})],R.prototype,\"text\",void 0),t([s({type:j,json:{write:!0}})],R.prototype,\"timeExtent\",void 0),t([s({type:Boolean,json:{default:!1,write:!0}})],R.prototype,\"timeReferenceUnknownClient\",void 0),t([a(g,{ignoreUnknown:!1}),s({json:{write:{overridePolicy(t){return{enabled:!!t&&null!=this.distance&&this.distance>0}}}}})],R.prototype,\"units\",void 0),t([s({type:String,json:{write:{overridePolicy(t){return{enabled:null!=t||null!=this.start&&this.start>0}}}}})],R.prototype,\"where\",void 0),t([p(\"where\")],R.prototype,\"writeWhere\",null),R=S=t([l(\"esri.rest.support.Query\")],R);const b=R;export{b as default};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{_ as t}from\"../../chunks/tslib.es6.js\";import\"../../geometry.js\";import{JSONSupport as e}from\"../../core/JSONSupport.js\";import{clone as o}from\"../../core/lang.js\";import{property as r}from\"../../core/accessorSupport/decorators/property.js\";import{ensureType as i}from\"../../core/accessorSupport/ensureType.js\";import{subclass as s}from\"../../core/accessorSupport/decorators/subclass.js\";import{writer as n}from\"../../core/accessorSupport/decorators/writer.js\";import{DataLayerSource as p}from\"../../layers/support/source/DataLayerSource.js\";import a from\"../../geometry/SpatialReference.js\";var u;let c=u=class extends e{constructor(t){super(t),this.cacheHint=void 0,this.dynamicDataSource=void 0,this.gdbVersion=null,this.geometryPrecision=void 0,this.historicMoment=null,this.maxAllowableOffset=void 0,this.objectIds=null,this.orderByFields=null,this.outFields=null,this.outSpatialReference=null,this.relationshipId=void 0,this.start=void 0,this.num=void 0,this.returnGeometry=!1,this.returnM=void 0,this.returnZ=void 0,this.where=null}_writeHistoricMoment(t,e){e.historicMoment=t&&t.getTime()}writeStart(t,e){e.resultOffset=this.start,e.resultRecordCount=this.num||10,this.start>0&&null==this.where&&(e.definitionExpression=\"1=1\")}clone(){return new u(o({cacheHint:this.cacheHint,dynamicDataSource:this.dynamicDataSource,gdbVersion:this.gdbVersion,geometryPrecision:this.geometryPrecision,historicMoment:this.historicMoment&&new Date(this.historicMoment.getTime()),maxAllowableOffset:this.maxAllowableOffset,objectIds:this.objectIds,orderByFields:this.orderByFields,outFields:this.outFields,outSpatialReference:this.outSpatialReference,relationshipId:this.relationshipId,start:this.start,num:this.num,returnGeometry:this.returnGeometry,where:this.where,returnZ:this.returnZ,returnM:this.returnM}))}};t([r({type:Boolean,json:{write:!0}})],c.prototype,\"cacheHint\",void 0),t([r({type:p,json:{write:!0}})],c.prototype,\"dynamicDataSource\",void 0),t([r({type:String,json:{write:!0}})],c.prototype,\"gdbVersion\",void 0),t([r({type:Number,json:{write:!0}})],c.prototype,\"geometryPrecision\",void 0),t([r({type:Date})],c.prototype,\"historicMoment\",void 0),t([n(\"historicMoment\")],c.prototype,\"_writeHistoricMoment\",null),t([r({type:Number,json:{write:!0}})],c.prototype,\"maxAllowableOffset\",void 0),t([r({json:{write:!0}})],c.prototype,\"objectIds\",void 0),t([r({type:[String],json:{write:!0}})],c.prototype,\"orderByFields\",void 0),t([r({type:[String],json:{write:!0}})],c.prototype,\"outFields\",void 0),t([r({type:a,json:{read:{source:\"outSR\"},write:{target:\"outSR\"}}})],c.prototype,\"outSpatialReference\",void 0),t([r({json:{write:!0}})],c.prototype,\"relationshipId\",void 0),t([r({type:Number,json:{read:{source:\"resultOffset\"}}})],c.prototype,\"start\",void 0),t([n(\"start\"),n(\"num\")],c.prototype,\"writeStart\",null),t([r({type:Number,json:{read:{source:\"resultRecordCount\"}}})],c.prototype,\"num\",void 0),t([r({json:{write:!0}})],c.prototype,\"returnGeometry\",void 0),t([r({type:Boolean,json:{write:{overridePolicy:t=>({enabled:t})}}})],c.prototype,\"returnM\",void 0),t([r({type:Boolean,json:{write:{overridePolicy:t=>({enabled:t})}}})],c.prototype,\"returnZ\",void 0),t([r({type:String,json:{read:{source:\"definitionExpression\"},write:{target:\"definitionExpression\"}}})],c.prototype,\"where\",void 0),c=u=t([s(\"esri.rest.support.RelationshipQuery\")],c),c.from=i(c);const d=c;export{d as default};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{_ as t}from\"../../chunks/tslib.es6.js\";import{JSONMap as e}from\"../../core/jsonMap.js\";import{JSONSupport as i}from\"../../core/JSONSupport.js\";import{clone as r}from\"../../core/lang.js\";import{property as o}from\"../../core/accessorSupport/decorators/property.js\";import\"../../core/has.js\";import\"../../core/Logger.js\";import{subclass as s}from\"../../core/accessorSupport/decorators/subclass.js\";import{writer as a}from\"../../core/accessorSupport/decorators/writer.js\";var c;const n=new e({count:\"count\",sum:\"sum\",min:\"min\",max:\"max\",avg:\"avg\",stddev:\"stddev\",var:\"var\",exceedslimit:\"exceedslimit\",percentile_cont:\"percentile-continuous\",percentile_disc:\"percentile-discrete\",EnvelopeAggregate:\"envelope-aggregate\",CentroidAggregate:\"centroid-aggregate\",ConvexHullAggregate:\"convex-hull-aggregate\"});let p=c=class extends i{constructor(t){super(t),this.maxPointCount=void 0,this.maxRecordCount=void 0,this.maxVertexCount=void 0,this.onStatisticField=null,this.outStatisticFieldName=null,this.statisticType=null,this.statisticParameters=null}writeStatisticParameters(t,e){\"percentile-continuous\"!==this.statisticType&&\"percentile-discrete\"!==this.statisticType||(e.statisticParameters=r(t))}clone(){return new c({maxPointCount:this.maxPointCount,maxRecordCount:this.maxRecordCount,maxVertexCount:this.maxVertexCount,onStatisticField:this.onStatisticField,outStatisticFieldName:this.outStatisticFieldName,statisticType:this.statisticType,statisticParameters:r(this.statisticParameters)})}};t([o({type:Number,json:{write:!0}})],p.prototype,\"maxPointCount\",void 0),t([o({type:Number,json:{write:!0}})],p.prototype,\"maxRecordCount\",void 0),t([o({type:Number,json:{write:!0}})],p.prototype,\"maxVertexCount\",void 0),t([o({type:String,json:{write:!0}})],p.prototype,\"onStatisticField\",void 0),t([o({type:String,json:{write:!0}})],p.prototype,\"outStatisticFieldName\",void 0),t([o({type:String,json:{read:{source:\"statisticType\",reader:n.read},write:{target:\"statisticType\",writer:n.write}}})],p.prototype,\"statisticType\",void 0),t([o({type:Object})],p.prototype,\"statisticParameters\",void 0),t([a(\"statisticParameters\")],p.prototype,\"writeStatisticParameters\",null),p=c=t([s(\"esri.rest.support.StatisticDefinition\")],p);const m=p;export{m as default};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport t from\"./AlgorithmicColorRamp.js\";import o from\"./ColorRamp.js\";import r from\"./MultipartColorRamp.js\";const m={key:\"type\",base:o,typeMap:{algorithmic:t,multipart:r}};function p(o){return o?.type?\"algorithmic\"===o.type?t.fromJSON(o):\"multipart\"===o.type?r.fromJSON(o):null:null}export{p as fromJSON,m as types};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nfunction n(n,r,u){return!!t(n,r,u)}function r(n,r,u){return t(n,r,u)}function t(n,r,t){return n&&n.hasOwnProperty(r)?n[r]:t}export{n as readBoolean,r as readNumber,t as readValue};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{JSONMap as e}from\"../../core/jsonMap.js\";const s=new e({esriSpatialRelIntersects:\"intersects\",esriSpatialRelContains:\"contains\",esriSpatialRelCrosses:\"crosses\",esriSpatialRelDisjoint:\"disjoint\",esriSpatialRelEnvelopeIntersects:\"envelope-intersects\",esriSpatialRelIndexIntersects:\"index-intersects\",esriSpatialRelOverlaps:\"overlaps\",esriSpatialRelTouches:\"touches\",esriSpatialRelWithin:\"within\",esriSpatialRelRelation:\"relation\"});export{s as spatialRelKebabDict};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport r from\"../config.js\";import{id as t}from\"../kernel.js\";import{clone as o}from\"../core/lang.js\";import{urlToObject as n}from\"../core/urlUtils.js\";import{isApiKeyApplicable as e}from\"../support/apiKeyUtils.js\";function i(r,t){return t?{...t,query:{...r??{},...t.query}}:{query:r}}function f(r){return\"string\"==typeof r?n(r):o(r)}function s(r,t,o){const n={};for(const e in r){if(\"declaredClass\"===e)continue;const i=r[e];if(null!=i&&\"function\"!=typeof i)if(Array.isArray(i))n[e]=i.map((r=>s(r)));else if(\"object\"==typeof i)if(i.toJSON){const r=i.toJSON(o?.[e]);n[e]=t?r:JSON.stringify(r)}else n[e]=t?i:JSON.stringify(i);else n[e]=i}return n}function u(o,n){return o?e(o,n)?n||r.apiKey:t?.findCredential(o)?.token:null}export{i as asValidOptions,s as encode,u as getToken,f as parseUrl};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{convertDateFormatToIntlOptions as t,formatDate as e,formatTimestamp as r,formatTimeOnly as i,formatDateOnly as n}from\"../../intl/date.js\";import{isDateField as s,isDateOnlyField as o,isTimestampOffsetField as a}from\"../../layers/support/fieldUtils.js\";import{loadArcade as c}from\"../../support/arcadeOnDemand.js\";import{getWellKnownBasemapId as l}from\"../../support/basemapUtils.js\";import{getTimeZoneFormattingOptions as g,utc as d}from\"../../time/timeZoneUtils.js\";const m=\",\",u={light:[\"streets\",\"gray\",\"topo\",\"terrain\",\"oceans\",\"osm\",\"gray-vector\",\"streets-vector\",\"topo-vector\",\"streets-relief-vector\",\"streets-navigation-vector\",\"topo-3d\",\"navigation-3d\",\"streets-3d\",\"osm-3d\",\"gray-3d\",\"arcgis-light-gray\",\"arcgis-navigation\",\"arcgis-streets\",\"arcgis-streets-relief\",\"arcgis-topographic\",\"arcgis-oceans\",\"osm-standard\",\"osm-standard-relief\",\"osm-streets\",\"osm-streets-relief\",\"osm-light-gray\",\"arcgis-terrain\",\"arcgis-charted-territory\",\"arcgis-community\",\"arcgis-colored-pencil\",\"arcgis-modern-antique\",\"arcgis-midcentury\",\"arcgis-newspaper\",\"arcgis-hillshade-light\"],dark:[\"satellite\",\"hybrid\",\"dark-gray\",\"dark-gray-vector\",\"streets-night-vector\",\"navigation-dark-3d\",\"streets-dark-3d\",\"dark-gray-3d\",\"arcgis-imagery\",\"arcgis-imagery-standard\",\"arcgis-dark-gray\",\"arcgis-navigation-night\",\"arcgis-streets-night\",\"osm-dark-gray\",\"arcgis-nova\",\"arcgis-hillshade-dark\"]},f=\"percent-of-total\",p=\"field\",y={exclude:[\"median\"]},h={years:365,months:30,days:1,hours:1/24,minutes:1/1440,seconds:1/86400,milliseconds:1/864e5},v=new Set([\"integer\",\"small-integer\"]);let T=null;const Z=[\"date\",\"date-only\",\"timestamp-offset\"];function $(t){return s(t)||o(t)||a(t)}async function w(t){const{field:e,field2:r,field3:i,normalizationField:n,valueExpression:s}=t;let o=[];if(s){if(!T){const{arcadeUtils:t}=await c();T=t}o=T.extractFieldNames(s)}return e&&o.push(e),r&&o.push(r),i&&o.push(i),n&&o.push(n),o}function U(t){let e=t.normalizationType;return e||(t.normalizationField?e=p:null!=t.normalizationTotal&&(e=f)),e??void 0}function k(t){return String(t).padStart(2,\"0\")}function D(t,e,r){let i;if(\"date\"===e||\"number\"===e){\"number\"===e&&(t=new Date(t));i=`TIMESTAMP'${r?t.getFullYear():t.getUTCFullYear()}-${k((r?t.getMonth():t.getUTCMonth())+1)}-${k(r?t.getDate():t.getUTCDate())} ${k(r?t.getHours():t.getUTCHours())}:${k(r?t.getMinutes():t.getUTCMinutes())}:${k(r?t.getSeconds():t.getUTCSeconds())}'`}else i=t;return i}function S(t,e,r,i){const{hasQueryEngine:n}=t,s=`(${D(r,C(t,r),n)} - ${D(e,C(t,e),n)})`;let o=h[i],a=\"/\";o<1&&(o=1/o,a=\"*\");return{sqlExpression:1===o?s:`(${s} ${a} ${o})`,sqlWhere:null}}function C(t,e){if(e instanceof Date)return\"date\";if(\"number\"==typeof e)return\"number\";if(\"string\"==typeof e){const r=t.getField(e);if(\"\"===e.toLowerCase())return;if(s(r))return\"field\"}}function F(t,e=u){for(const r in e)if(e[r].includes(t))return r}function b(t,e,r=!0){let i=null;return t&&(\"string\"==typeof t?e.includes(t)&&(i=t):i=l(t)),r?i||\"gray\":i}function M(t,e){const r=e&&t.getField(e);return!!r&&v.has(r.type)}function N(t){return`cast(${t} as float)`}function j(s,o){const{format:a,timeZoneOptions:c,fieldType:l}=o??{};let m,u;if(c&&({timeZone:m,timeZoneName:u}=g(c.layerTimeZone,c.datesInUnknownTimezone,c.viewTimeZone,t(a||\"short-date-short-time\"),l)),\"string\"==typeof s&&isNaN(Date.parse(\"time-only\"===l?`1970-01-01T${s}Z`:s)))return s;switch(l){case\"date-only\":{const r=t(a||\"short-date\");return\"string\"==typeof s?n(s,{...r}):e(s,{...r,timeZone:d})}case\"time-only\":{const r=t(a||\"short-time\");return\"string\"==typeof s?i(s,r):e(s,{...r,timeZone:d})}case\"timestamp-offset\":{if(!m&&\"string\"==typeof s&&new Date(s).toISOString()!==s)return s;const i=a||c?t(a||\"short-date-short-time\"):void 0,n=i?{...i,timeZone:m,timeZoneName:u}:void 0;return\"string\"==typeof s?r(s,n):e(s,n)}default:{const r=a||c?t(a||\"short-date-short-time\"):void 0;return e(\"string\"==typeof s?new Date(s):s,r?{...r,timeZone:m,timeZoneName:u}:void 0)}}}export{N as castIntegerFieldToFloat,Z as dateTypes,u as defaultBasemapGroups,y as defaultStatisticTypes,m as fieldDelimiter,j as formatAnyDate,F as getBasemapGroup,b as getBasemapId,S as getDateDiffSQL,C as getDateType,w as getFieldsList,U as getNormalizationType,$ as isAnyDateField,M as isIntegerField,h as unitValueInDays};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{_ as e}from\"../chunks/tslib.es6.js\";import o from\"../core/Logger.js\";import\"../core/has.js\";import\"../core/RandomLCG.js\";import\"../core/Error.js\";import{subclass as r}from\"../core/accessorSupport/decorators/subclass.js\";import{OwningCollection as s}from\"../core/support/OwningCollection.js\";let t=class extends s{constructor(e){super(e),this.addHandles(this.on(\"before-add\",(e=>{null!=e.item&&e.item.parent===this.owner&&(o.getLogger(this).warn(\"Analysis inside the collection must be unique. Not adding this element again.\"),e.preventDefault())})))}_own(e){e.parent=this.owner}_release(e){e.parent=null}};t=e([r(\"esri.support.AnalysesCollection\")],t);export{t as AnalysesCollection};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{_ as r}from\"../chunks/tslib.es6.js\";import e from\"../core/Accessor.js\";import{property as t}from\"../core/accessorSupport/decorators/property.js\";import\"../core/has.js\";import\"../core/Logger.js\";import\"../core/RandomLCG.js\";import{subclass as s}from\"../core/accessorSupport/decorators/subclass.js\";import{getLocale as o,getLanguage as a}from\"../intl/locale.js\";const p=new Set([\"ar\",\"bs\",\"ca\",\"hr\",\"cs\",\"da\",\"nl\",\"en\",\"et\",\"fi\",\"fr\",\"de\",\"el\",\"he\",\"hu\",\"id\",\"it\",\"ja\",\"ko\",\"lv\",\"lt\",\"nb\",\"pl\",\"ro\",\"ru\",\"sr\",\"es\",\"sv\",\"th\",\"tr\",\"uk\",\"vi\"]);let i=class extends e{constructor(r){super(r),this.apiKey=null,this.id=null,this.language=null,this.places=null,this.serviceUrl=\"https://basemapstyles-api.arcgis.com/arcgis/rest/services/styles/v2/webmaps\",this.worldview=null}getLanguageParamValue(){if(this.language)return this.language;const r=o().toLowerCase();switch(r){case\"pt-br\":return\"pt-BR\";case\"pt-pt\":return\"pt-PT\";case\"zh-cn\":return\"zh-CN\";case\"zh-hk\":return\"zh-HK\";case\"zh-tw\":return\"zh-TW\"}const e=a(r);return\"pt\"===e?\"pt-BR\":e&&p.has(e)?e:\"global\"}};r([t()],i.prototype,\"apiKey\",void 0),r([t()],i.prototype,\"id\",void 0),r([t()],i.prototype,\"language\",void 0),r([t()],i.prototype,\"places\",void 0),r([t()],i.prototype,\"serviceUrl\",void 0),r([t()],i.prototype,\"worldview\",void 0),i=r([s(\"esri.support.BasemapStyle\")],i);const c=i;export{c as default};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{_ as r}from\"../chunks/tslib.es6.js\";import o from\"../Graphic.js\";import\"../core/Logger.js\";import{ensureType as e}from\"../core/accessorSupport/ensureType.js\";import\"../core/RandomLCG.js\";import\"../core/has.js\";import\"../core/Error.js\";import{shared as s}from\"../core/accessorSupport/decorators/shared.js\";import{subclass as p}from\"../core/accessorSupport/decorators/subclass.js\";import{OwningCollection as t}from\"../core/support/OwningCollection.js\";let c=class extends t{_own(r){r.layer&&\"remove\"in r.layer&&r.layer!==this.owner&&r.layer.remove(r),r.layer=this.owner}_release(r){r.layer===this.owner&&(r.layer=null)}};r([s({Type:o,ensureType:e(o)})],c.prototype,\"itemType\",void 0),c=r([p(\"esri.support.GraphicsCollection\")],c);export{c as GraphicsCollection};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{_ as e}from\"../chunks/tslib.es6.js\";import r from\"../core/Collection.js\";import{referenceSetter as t}from\"../core/collectionUtils.js\";import s from\"../core/Logger.js\";import{isPromiseLike as o}from\"../core/promiseUtils.js\";import{property as a}from\"../core/accessorSupport/decorators/property.js\";import\"../core/has.js\";import\"../core/RandomLCG.js\";import{subclass as i}from\"../core/accessorSupport/decorators/subclass.js\";import n from\"../layers/Layer.js\";function d(e,r,t){let s,o;if(e)for(let a=0,i=e.length;a{let y=class extends l{constructor(...e){super(...e),this.layers=new r;const t=e=>{e.parent&&\"remove\"in e.parent&&e.parent.remove(e)},o=e=>{e.parent=this,this.layerAdded(e),\"elevation\"!==e.type&&\"base-elevation\"!==e.type||s.getLogger(this).error(`Layer 'title:${e.title}, id:${e.id}' of type '${e.type}' is not supported as an operational layer and will therefore be ignored.`)},a=e=>{e.parent=null,this.layerRemoved(e)};this.addHandles([this.layers.on(\"before-add\",(e=>{if(e.item===this)return e.preventDefault(),void s.getLogger(this).error(\"#add()\",\"Cannot add layer to itself.\");t(e.item)})),this.layers.on(\"after-add\",(e=>o(e.item))),this.layers.on(\"after-remove\",(e=>a(e.item)))])}destroy(){const e=this.layers.toArray();for(const r of e)r.destroy();this.layers.destroy()}set layers(e){this._set(\"layers\",t(e,this._get(\"layers\")))}add(e,r){const t=this.layers;if(r=t.getNextIndex(r),e instanceof n){const s=e;s.parent===this?this.reorder(s,r):t.add(s,r)}else o(e)?e.then((e=>{this.destroyed||this.add(e,r)})):s.getLogger(this).error(\"#add()\",\"The item being added is not a Layer or a Promise that resolves to a Layer.\")}addMany(e,r){const t=this.layers;let s=t.getNextIndex(r);e.slice().forEach((e=>{e.parent!==this?(t.add(e,s),s+=1):this.reorder(e,s)}))}findLayerById(e){return d(this.layers,\"id\",e)}findLayerByUid(e){return d(this.layers,\"uid\",e)}remove(e){return this.layers.remove(e)}removeMany(e){return this.layers.removeMany(e)}removeAll(){return this.layers.removeAll()}reorder(e,r){return this.layers.reorder(e,r)}layerAdded(e){}layerRemoved(e){}};return e([a()],y.prototype,\"layers\",null),y=e([i(\"esri.support.LayersMixin\")],y),y};export{l as LayersMixin};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{_ as r}from\"../chunks/tslib.es6.js\";import{JSONSupport as o}from\"../core/JSONSupport.js\";import{property as e}from\"../core/accessorSupport/decorators/property.js\";import\"../core/has.js\";import\"../core/Logger.js\";import\"../core/RandomLCG.js\";import{subclass as t}from\"../core/accessorSupport/decorators/subclass.js\";import s from\"../layers/support/FacilityLayerInfo.js\";import p from\"../layers/support/LevelLayerInfo.js\";import i from\"../layers/support/SiteLayerInfo.js\";let a=class extends o{constructor(r){super(r),this.levelLayer=null,this.facilityLayer=null,this.siteLayer=null}};r([e({type:p,json:{write:!0}})],a.prototype,\"levelLayer\",void 0),r([e({type:s,json:{write:!0}})],a.prototype,\"facilityLayer\",void 0),r([e({type:i,json:{write:!0}})],a.prototype,\"siteLayer\",void 0),a=r([t(\"esri.support.MapFloorInfo\")],a);const l=a;export{l as default};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{_ as t}from\"../chunks/tslib.es6.js\";import e from\"../core/Collection.js\";import{referenceSetter as r}from\"../core/collectionUtils.js\";import s from\"../core/Logger.js\";import{property as o}from\"../core/accessorSupport/decorators/property.js\";import\"../core/has.js\";import\"../core/RandomLCG.js\";import{subclass as i}from\"../core/accessorSupport/decorators/subclass.js\";function a(t,e,r){if(t)for(let s=0,o=t.length;s{let l=class extends n{constructor(...t){super(...t),this.tables=new e,this.addHandles([this.tables.on(\"after-add\",(t=>{const e=t.item;e.parent&&e.parent!==this&&\"tables\"in e.parent&&e.parent.tables.remove(e),e.parent=this,\"feature\"!==e.type&&s.getLogger(this).error(`Layer 'title:${e.title}, id:${e.id}' of type '${e.type}' is not supported as a table and will therefore be ignored.`)})),this.tables.on(\"after-remove\",(t=>{t.item.parent=null}))])}destroy(){const t=this.tables.toArray();for(const e of t)e.destroy();this.tables.destroy()}set tables(t){this._set(\"tables\",r(t,this._get(\"tables\")))}findTableById(t){return a(this.tables,\"id\",t)}findTableByUid(t){return a(this.tables,\"uid\",t)}};return t([o()],l.prototype,\"tables\",null),l=t([i(\"esri.support.TablesMixin\")],l),l};export{n as TablesMixin};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{_ as t}from\"../../chunks/tslib.es6.js\";import i from\"../../core/Accessor.js\";import{IdentifiableMixin as o}from\"../../core/Identifiable.js\";import{property as s}from\"../../core/accessorSupport/decorators/property.js\";import\"../../core/has.js\";import\"../../core/Logger.js\";import\"../../core/RandomLCG.js\";import{subclass as e}from\"../../core/accessorSupport/decorators/subclass.js\";var r;let c=r=class extends(o(i)){constructor(t){super(t),this.active=!1,this.className=null,this.disabled=!1,this.icon=null,this.id=null,this.indicator=!1,this.title=null,this.type=null,this.visible=!0}clone(){return new r({active:this.active,className:this.className,disabled:this.disabled,icon:this.icon,id:this.id,indicator:this.indicator,title:this.title,visible:this.visible})}};t([s()],c.prototype,\"active\",void 0),t([s()],c.prototype,\"className\",void 0),t([s()],c.prototype,\"disabled\",void 0),t([s()],c.prototype,\"icon\",void 0),t([s()],c.prototype,\"id\",void 0),t([s()],c.prototype,\"indicator\",void 0),t([s()],c.prototype,\"title\",void 0),t([s()],c.prototype,\"type\",void 0),t([s()],c.prototype,\"visible\",void 0),c=r=t([e(\"esri.support.actions.ActionBase\")],c);const p=c;export{p as default};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{_ as s}from\"../../chunks/tslib.es6.js\";import{property as t}from\"../../core/accessorSupport/decorators/property.js\";import\"../../core/has.js\";import\"../../core/Logger.js\";import\"../../core/RandomLCG.js\";import{subclass as i}from\"../../core/accessorSupport/decorators/subclass.js\";import o from\"./ActionBase.js\";var e;let r=e=class extends o{constructor(s){super(s),this.image=null,this.type=\"button\"}clone(){return new e({active:this.active,className:this.className,disabled:this.disabled,icon:this.icon,id:this.id,indicator:this.indicator,title:this.title,visible:this.visible,image:this.image})}};s([t()],r.prototype,\"image\",void 0),r=e=s([i(\"esri.support.actions.ActionButton\")],r);const c=r;export{c as default};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{_ as s}from\"../../chunks/tslib.es6.js\";import{property as t}from\"../../core/accessorSupport/decorators/property.js\";import\"../../core/has.js\";import\"../../core/Logger.js\";import\"../../core/RandomLCG.js\";import{subclass as i}from\"../../core/accessorSupport/decorators/subclass.js\";import e from\"./ActionBase.js\";var o;let r=o=class extends e{constructor(s){super(s),this.displayValueEnabled=!1,this.max=1,this.min=0,this.step=.1,this.type=\"slider\",this.value=null}clone(){return new o({active:this.active,className:this.className,disabled:this.disabled,id:this.id,indicator:this.indicator,title:this.title,visible:this.visible,displayValueEnabled:this.displayValueEnabled,max:this.max,min:this.min,step:this.step,value:this.value})}};s([t()],r.prototype,\"displayValueEnabled\",void 0),s([t()],r.prototype,\"max\",void 0),s([t()],r.prototype,\"min\",void 0),s([t()],r.prototype,\"step\",void 0),s([t()],r.prototype,\"value\",void 0),r=o=s([i(\"esri.support.actions.ActionSlider\")],r);const a=r;export{a as default};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{_ as s}from\"../../chunks/tslib.es6.js\";import{property as t}from\"../../core/accessorSupport/decorators/property.js\";import\"../../core/has.js\";import\"../../core/Logger.js\";import\"../../core/RandomLCG.js\";import{subclass as i}from\"../../core/accessorSupport/decorators/subclass.js\";import o from\"./ActionBase.js\";var e;let r=e=class extends o{constructor(s){super(s),this.image=null,this.type=\"toggle\",this.value=!1}clone(){return new e({active:this.active,className:this.className,disabled:this.disabled,icon:this.icon,id:this.id,indicator:this.indicator,title:this.title,visible:this.visible,image:this.image,value:this.value})}};s([t()],r.prototype,\"image\",void 0),s([t()],r.prototype,\"value\",void 0),r=e=s([i(\"esri.support.actions.ActionToggle\")],r);const a=r;export{a as default};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport\"../../intl.js\";import{substitute as i}from\"../../intl/substitute.js\";function t(i){return i.icon?i.icon:\"image\"in i&&i.image||i.className?void 0:\"question\"}function n(i){return i?{backgroundImage:`url(${i})`}:{}}function e({action:t,feature:n}){const e=n?.attributes,o=\"image\"in t?t.image:void 0;return o&&e?i(o,e):o??\"\"}export{t as getActionIcon,n as getActionStyles,e as substituteActionImage};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport t from\"../config.js\";import{getOrigin as r}from\"../core/urlUtils.js\";const s=new Set([\"elevation3d.arcgis.com\",\"js.arcgis.com\",\"jsdev.arcgis.com\",\"jsqa.arcgis.com\",\"static.arcgis.com\"]);function c(t){return!!t&&t.length>4&&t.startsWith(\"AAPK\")}function i(t){const c=r(t,!0);return!!c&&(c.endsWith(\".arcgis.com\")&&!s.has(c)&&!t.endsWith(\"/sharing/rest/generateToken\"))}function n(r,s){return!(!s&&!t.apiKey||!i(r))}export{c as isApiKey,n as isApiKeyApplicable,i as supportsApiKey};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport\"../geometry.js\";import e from\"../core/Error.js\";import r from\"../core/Logger.js\";import t from\"../geometry/SpatialReference.js\";const a=()=>r.getLogger(\"esri.support.arcadeOnDemand\");let s;function i(){return s||(s=(async()=>{const e=await import(\"./arcadeUtils.js\");return{arcade:e.arcade,arcadeUtils:e,Dictionary:e.Dictionary,Feature:e.arcadeFeature}})()),s}const c=(e,r,t)=>p.create(e,r,t,null,[\"$feature\",\"$view\"],[]),n=(e,r)=>p.create(e,r.spatialReference,r.fields,null,[\"$feature\",\"$view\"],[]),o=(e,r,t)=>p.create(e,r,t,null,[\"$feature\",\"$view\"],[]),l=o,u=(e,r,t,a)=>p.create(e,r,t,a,[\"$feature\",\"$view\"],[]);class p{constructor(e,r,t,a,s,i,c){this.services=null,this.script=e,this.evaluate=a;const n=Array.isArray(i)?i:i?.fields;this.fields=n??[],this._syntaxTree=t,this._arcade=r,this._arcadeFeature=s,this._spatialReference=c,this._referencesGeometry=r.scriptTouchesGeometry(this._syntaxTree),this._referencesScale=this._arcade.referencesMember(this._syntaxTree,\"scale\")}static async create(r,s,c,n,o,l){const{arcade:u,Feature:f,Dictionary:m}=await i(),d=s instanceof t?s:t.fromJSON(s);let y;try{y=u.parseScript(r,l)}catch(x){return a().error(new e(\"arcade-bad-expression\",\"Failed to parse arcade script\",{script:r,error:x})),null}const h=o.reduce(((e,r)=>({...e,[r]:null})),{});let w=null;null!=n&&(w=new m(n),w.immutable=!0,h.$config=null);const v=u.scriptUsesGeometryEngine(y),$=v&&u.enableGeometrySupport(),g=u.scriptUsesFeatureSet(y)&&u.enableFeatureSetSupport(),_=u.scriptIsAsync(y),F=_&&u.enableAsyncSupport(),S={vars:h,spatialReference:d,useAsync:!!F};await Promise.all([$,g,F]);const b=new Set;await u.loadDependentModules(b,y,null,_,v);const R=new m;R.immutable=!1,R.setField(\"scale\",0);const j=u.compileScript(y,S),G=(e,r)=>{const t=e.$view?.timeZone;return\"$view\"in e&&e.$view&&(R.setField(\"scale\",\"object\"==typeof e.$view&&\"scale\"in e.$view?e.$view.scale:void 0),e.$view=R),w&&(e.$config=w),j({vars:e,spatialReference:d,services:r,timeZone:t})};return new p(r,u,y,G,new f,c,d)}repurposeFeature(e){return e.geometry&&!e.geometry.spatialReference&&(e.geometry.spatialReference=this._spatialReference),this._arcadeFeature.repurposeFromGraphicLikeObject(e.geometry,e.attributes,{fields:this.fields}),this._arcadeFeature}referencesGeometry(){return this._referencesGeometry}referencesScale(){return this._referencesScale}}export{p as ArcadeExpression,u as createDictionaryExpression,c as createLabelExpression,o as createRendererExpression,n as createRendererExpressionWithOptions,l as createVVExpression,i as loadArcade};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nfunction t(t){const n=atob(t),r=new Uint8Array(n.length);for(let e=0;en.getLogger(\"esri.support.basemapUtils\");function y(){return{}}function m(e){for(const r in e){const t=e[r];a(t),delete e[r]}}function b(t,n){let a;if(\"string\"==typeof t){const i=t in f,l=!i&&t.includes(\"/\");if(!i&&!l){if(r.apiKey)p().warn(`Unable to find basemap definition for: ${t}. See available styles at https://developers.arcgis.com/rest/basemap-styles/`);else{const e=Object.entries(f).filter((([e,r])=>r.classic||r.is3d)).map((([e])=>`\"${e}\"`)).sort().join(\", \");p().warn(`Unable to find basemap definition for: ${t}. Try one of these: ${e}`)}return null}n&&(a=n[t]),a||(a=i?e.fromId(t):new e({style:{id:t}}),n&&(n[t]=a))}else a=o(e,t);return a?.destroyed&&(p().warn(\"The provided basemap is already destroyed\",{basemap:a}),a=null),a}function d(e){return\"Web Scene\"===e.portalItem?.type||e.referenceLayers.some((e=>\"scene\"===e.type))}function L(e){return!!e?.portalItem?.tags?.some((e=>\"beta\"===e.toLowerCase()))}function v(e,r){return e.basemap?.referenceLayers?.some((e=>e.uid===r))||e.basemap?.baseLayers?.some((e=>e.uid===r))}function S(e,r=null){const t=b(e);if(!t)return null;const n=t.clone();return r&&(n.baseLayers=w(n.baseLayers,r.baseLayers),n.referenceLayers=w(n.referenceLayers,r.referenceLayers)),n}let g;function h(e){if(g)return g(e);let r=null;const t=M(e),n=!t?.baseLayers.length;for(const a in f){const e=N(t,C(f[a]),{mustMatchReferences:n});if(\"equal\"===e){r=a;break}\"base-layers-equal\"===e&&(r=a)}return r}function I(e){g=e}function R(e,r){if(e===r)return!0;if(null!=e?.portalItem?.id&&e.portalItem.id===r?.portalItem?.id)return!0;return\"equal\"===N(M(e),M(r),{mustMatchReferences:!0})}function w(e,r){const n=new t;return e.forEach((e=>{const t=r.find((r=>\"scene\"!==r.type&&E($(e),$(r))))||e;n.includes(t)?n.push(e):n.push(t)})),n}function T(e){return!!e?.baseLayers.concat(e.referenceLayers).some(U)}function U(e){if(x(e.url))return!0;if(\"vector-tile\"===e.type)for(const r in e.sourceNameToSource){const t=e.sourceNameToSource[r];if(x(t?.sourceUrl))return!0}return!1}function j(e,r){if(null==r||null==e)return{spatialReference:null,updating:!1};if(\"not-loaded\"===r.loadStatus)return r.load(),{spatialReference:null,updating:!0};if(r.spatialReference)return{spatialReference:r.spatialReference,updating:!1};if(0===r.baseLayers.length)return{spatialReference:null,updating:!1};const t=r.baseLayers.at(0);switch(t.loadStatus){case\"not-loaded\":t.load();case\"loading\":return{spatialReference:null,updating:!0};case\"failed\":return{spatialReference:null,updating:!1}}const n=((\"supportedSpatialReferences\"in t?t.supportedSpatialReferences:null)||[\"tileInfo\"in t?t.tileInfo?.spatialReference:t.spatialReference]).filter(Boolean),a=e.spatialReference;return a?{spatialReference:n.find((e=>a.equals(e)))??n[0]??null,updating:!1}:{spatialReference:n[0],updating:!1}}const q=/^(basemaps|ibasemaps).*-api\\.arcgis\\.com$/i;function x(e){if(!e)return!1;const r=new l(s(e));return!!r.authority&&q.test(r.authority)}function M(e){return e?!e.loaded&&e.resourceInfo?C(e.resourceInfo.data):{baseLayers:k(e.baseLayers),referenceLayers:k(e.referenceLayers)}:null}function k(e){return(t.isCollection(e)?e.toArray():e).map($)}function $(e){return{type:e.type,effect:\"effect\"in e?e.effect:void 0,url:K(\"urlTemplate\"in e&&e.urlTemplate||e.url||\"styleUrl\"in e&&e.styleUrl||\"\"),minScale:\"minScale\"in e&&null!=e.minScale?e.minScale:0,maxScale:\"maxScale\"in e&&null!=e.maxScale?e.maxScale:0,opacity:null!=e.opacity?e.opacity:1,visible:null==e.visible||!!e.visible,sublayers:\"map-image\"!==e.type&&\"wms\"!==e.type||null==e.sublayers?void 0:e.sublayers?.map((e=>({id:e.id,visible:e.visible}))),activeLayerId:\"wmts\"===e.type?e.activeLayer?.id:void 0}}function A(e){return e.isReference||\"ArcGISSceneServiceLayer\"===e.layerType}function C(e){return e?{baseLayers:G((e.baseMapLayers??[]).filter((e=>!A(e)))),referenceLayers:G((e.baseMapLayers??[]).filter((e=>A(e))))}:null}function G(e){return e.map((e=>B(e)))}function B(e){let r;switch(e.layerType){case\"VectorTileLayer\":r=\"vector-tile\";break;case\"ArcGISTiledMapServiceLayer\":r=\"tile\";break;case\"ArcGISSceneServiceLayer\":r=\"scene\";break;default:r=\"unknown\"}return{type:r,effect:e.effect,url:K(e.templateUrl||e.urlTemplate||e.styleUrl||e.url),minScale:e.minScale??0,maxScale:e.maxScale??0,opacity:e.opacity??1,visible:null==e.visibility||!!e.visibility,sublayers:void 0,activeLayerId:void 0}}function N(e,r,t){if(null!=e!=(null!=r))return\"not-equal\";if(!e||!r)return\"equal\";if(!D(e.baseLayers,r.baseLayers))return\"not-equal\";return D(e.referenceLayers,r.referenceLayers)?\"equal\":t.mustMatchReferences?\"not-equal\":\"base-layers-equal\"}function D(e,r){if(e.length!==r.length)return!1;for(let t=0;t[t.tables,t.layers],getChildrenFunction:e=>{const t=[];return\"tables\"in e&&t.push(e.tables),\"layers\"in e&&t.push(e.layers),t},itemFilterFunction:e=>{const t=e.parent;return!!t&&\"tables\"in t&&t.tables.includes(e)}})}function n(e){for(const t of e.values())t?.destroy();e.clear()}export{t as createFlattenedTablesCollection,n as destroyMap};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{verticalLengthUnitFromSpatialReference as e,convertUnit as n}from\"../core/unitUtils.js\";import{getMetersPerUnit as t}from\"../symbols/support/unitConversionUtils.js\";function o(e){return e?j:z}function r(e,n){return n?.mode?n.mode:o(e).mode}function u(e,n){return null!=n?n:o(e)}function i(e,n){return r(null==e||(e.hasZ??!1),n)}function s(e,n){return u(null==e||(e.hasZ??!1),n)}function l(e){const n=g(e);return i(e.geometry,n)}function a(e){const n=g(e),t=i(e.geometry,n),o=null!=n&&\"on-the-ground\"!==t?R(n):0,r=n?.featureExpressionInfo;return{mode:t,offset:o,featureExpressionInfo:r}}function f(e){return v(a(e))}function c(e){return v(e)||d(e)}function d(e){return\"0\"===e?.featureExpressionInfo?.expression}function v(e){if(!e)return!1;if(\"on-the-ground\"===e.mode)return!1;const n=e?.featureExpressionInfo?e.featureExpressionInfo.expression:null;return!(!n||\"0\"===n)}function g(e){return e.layer&&\"elevationInfo\"in e.layer?e.layer.elevationInfo:null}function h(t,o){if(!t?.offset)return 0;const{offset:r,unit:u}=t;if(\"decimal-degrees\"===u)return 0;const i=\"unknown\"!==u&&u?u:\"meters\",s=e(o);return s?n(r,i,s):0}function p(e,n,t){if(!t?.mode)return;const o=e.hasZ?e.z:0,r=h(t,e.spatialReference);switch(t.mode){case\"absolute-height\":return o-r;case\"on-the-ground\":return 0;case\"relative-to-ground\":return o-((n.elevationProvider.getElevation(e.x,e.y,o,e.spatialReference,\"ground\")??0)+r);case\"relative-to-scene\":return o-((n.elevationProvider.getElevation(e.x,e.y,o,e.spatialReference,\"scene\")??0)+r)}}function m(e,n,t,o=null){return E(e,n.x,n.y,n.hasZ?n.z:0,n.spatialReference,t,o)}function x(e,n,t,o,r=null){return E(e,n[0],n[1],n.length>2?n[2]:0,t,o,r)}function E(e,n,t,o,r,u,i=null){if(null==u)return;const s=null!=i?i.mode:\"absolute-height\";if(\"on-the-ground\"===s)return 0;const{absoluteZ:l}=b(n,t,o,r,e,u);return I(l,n,t,o,r,e,i,s)}function b(e,n,t,o,r,u){const i=h(u,o);switch(u.mode){case\"absolute-height\":return{absoluteZ:t+i,elevation:0};case\"on-the-ground\":{const t=r.elevationProvider.getElevation(e,n,0,o,\"ground\")??0;return{absoluteZ:t,elevation:t}}case\"relative-to-ground\":{const u=r.elevationProvider.getElevation(e,n,t,o,\"ground\")??0;return{absoluteZ:t+u+i,elevation:u}}case\"relative-to-scene\":{const u=r.elevationProvider.getElevation(e,n,t,o,\"scene\")??0;return{absoluteZ:t+u+i,elevation:u}}}}function I(e,n,t,o,r,u,i,s){const l=h(i,r);switch(s){case\"absolute-height\":return e-l;case\"relative-to-ground\":return e-((u.elevationProvider.getElevation(n,t,o,r,\"ground\")??0)+l);case\"relative-to-scene\":return e-((u.elevationProvider.getElevation(n,t,o,r,\"scene\")??0)+l)}}function y(e,n){if(null==n)return!1;const{mode:t}=n;return null!=t&&(\"scene\"===e&&\"relative-to-scene\"===t||\"ground\"===e&&\"absolute-height\"!==t)}function Z(e,n,t){return t&&t.mode!==n?`${e} only support ${n} elevation mode`:null}function P(e,n,t){return t?.mode===n?`${e} do not support ${n} elevation mode`:null}function w(e,n){return null!=n?.featureExpressionInfo&&\"0\"!==n.featureExpressionInfo.expression?`${e} do not support featureExpressionInfo`:null}function $(e,n){n&&e.warn(\".elevationInfo=\",n)}function R(e){return(e?.offset??0)*t(e?.unit)}const j={mode:\"absolute-height\",offset:0},z={mode:\"on-the-ground\",offset:null};export{j as absoluteHeightElevationInfo,y as elevationContextAffectsAlignment,Z as elevationModeRequiredMessage,P as elevationModeUnsupportedMessage,d as featureExpressionInfoIsZero,w as featureExpressionUnsupportedMessage,m as getConvertedElevation,x as getConvertedElevationFromVector,E as getConvertedElevationFromXYZ,u as getEffectiveElevationInfo,r as getEffectiveElevationMode,h as getElevationOffset,R as getElevationOffsetInMeters,s as getGeometryEffectiveElevationInfo,i as getGeometryEffectiveElevationMode,a as getGraphicEffectiveElevationInfo,l as getGraphicEffectiveElevationMode,p as getZForElevationMode,v as hasEffectiveFeatureExpressionInfo,c as hasFeatureExpressionInfo,f as hasGraphicFeatureExpressionInfo,$ as logInvalidElevationInfoWarning,z as onTheGroundElevationInfo,b as zValueInAbsoluteHeightMode};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{getDefaultUnitSystem as t}from\"../core/unitUtils.js\";import r from\"../portal/Portal.js\";function e(e){const n=\"metric\";if(null==e)return n;const i=e.map,l=(i&&\"portalItem\"in i?i.portalItem?.portal:null)??r.getDefault();switch(l.user?.units??l.units){case n:return n;case\"english\":return\"imperial\"}return t(e.spatialReference)??n}export{e as getDefaultUnitForView};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport e from\"../Ground.js\";import r from\"../core/Logger.js\";import{ensureType as o}from\"../core/accessorSupport/ensureType.js\";const i={\"world-elevation\":{id:\"worldElevation\",url:\"//elevation3d.arcgis.com/arcgis/rest/services/WorldElevation3D/Terrain3D/ImageServer\",layerType:\"ArcGISTiledElevationServiceLayer\"},\"world-topobathymetry\":{id:\"worldTopoBathymetry\",url:\"//elevation3d.arcgis.com/arcgis/rest/services/WorldElevation3D/TopoBathy3D/ImageServer\",layerType:\"ArcGISTiledElevationServiceLayer\"}};function t(t){let a=null;if(\"string\"==typeof t)if(t in i){const r=i[t];a=new e({resourceInfo:{data:{layers:[r]}}})}else r.getLogger(\"esri.support.groundUtils\").warn(`Unable to find ground definition for: ${t}. Try \"world-elevation\"`);else a=o(e,t);return a}export{t as ensureType,i as groundElevationLayers};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport e from\"../PopupTemplate.js\";import{isFieldEditable as t,isRasterPixelValueField as n,getDisplayFieldName as i,isFieldVisibleByDefault as o}from\"../layers/support/fieldUtils.js\";import s from\"../popup/content/AttachmentsContent.js\";import\"../popup/content/Content.js\";import\"../popup/content/CustomContent.js\";import\"../popup/content/ExpressionContent.js\";import r from\"../popup/content/FieldsContent.js\";import\"../popup/content/MediaContent.js\";import\"../popup/content/RelationshipContent.js\";import\"../popup/content/TextContent.js\";import\"../popup/content/UtilityNetworkAssociationsContent.js\";import l from\"../popup/FieldInfo.js\";import a from\"../popup/support/FieldInfoFormat.js\";function p({displayField:t,editFieldsInfo:n,fields:i,objectIdField:o,title:s},r){if(!i)return null;const l=F({editFieldsInfo:n,fields:i,objectIdField:o},r);if(!l.length)return null;const a=I({titleBase:s,fields:i,displayField:t}),p=j();return new e({title:a,content:p,fieldInfos:l})}function u(t){const{fields:n,featureReduction:i,title:o}=t,s=i.fields;if(!s)return null;const r=g(s,n??[]);if(!r.length)return null;const l=C();return new e({title:o,content:l,fieldInfos:r})}function c(e){const{title:t,graphic:n}=e??{},{attributes:i,sourceLayer:o}=n??{},s=o&&\"displayField\"in o?o.displayField:null,r=s?i?.[s]:null,l=n?.getObjectId()?.toString();return t||r||l||\"\"}const d=(e,t)=>t.visibleFieldNames?t.visibleFieldNames.has(e.name):o(e,t);function f({fields:e,ignoreFieldTypes:t,sortDisabled:n}){const i=e;return t&&(e=e.filter((e=>!t.includes(e.type)))),e===i&&(e=e.slice()),!0!==n&&e.sort(m),e}function m(e,t){return\"oid\"===e.type?-1:\"oid\"===t.type?1:v(e)?-1:v(t)?1:(e.alias||e.name).toLocaleLowerCase().localeCompare((t.alias||t.name).toLocaleLowerCase())}function b(e,t){return new r({fieldInfos:F(e,t).filter((e=>e.visible))})}function F(e,n){const i=n?.visibleFieldNames;return f({fields:e.fields??[],ignoreFieldTypes:n?.ignoreFieldTypes||S,sortDisabled:n?.sortDisabled}).map((n=>new l({fieldName:n.name,isEditable:t(n,e),label:n.alias,format:y(n),visible:d(n,{...e,visibleFieldNames:i})})))}function g(e,t){return e.map((e=>new l({fieldName:e.name,isEditable:!1,label:e.alias,format:w(e,t),visible:!0})))}function w(e,t){const{onStatisticField:n,onStatisticExpression:i,statisticType:o}=e;if(n){const e=t.find((e=>n===e.name));if(e)return y(e)}return\"number\"===i?.returnType?new a({digitSeparator:!0,places:2}):\"count\"===o?new a({digitSeparator:!0,places:0}):void 0}function y(e){switch(e.type){case\"small-integer\":case\"integer\":case\"single\":return new a({digitSeparator:!0,places:0});case\"double\":return new a({digitSeparator:!0,places:2});case\"string\":return n(e.name)?new a({digitSeparator:!0,places:0}):void 0;default:return}}function j(){return[new r,new s]}function C(){return[new r]}function I(e){const t=i(e),{titleBase:n}=e;return t?`${n}: {${t.trim()}}`:n??\"\"}function v(e){if(\"name\"===(e.name&&e.name.toLowerCase()))return!0;const t=e.alias?.toLowerCase();return\"name\"===t}const S=[\"geometry\",\"blob\",\"raster\",\"guid\",\"xml\"];export{F as createFieldInfos,b as createFieldsContent,p as createPopupTemplate,u as createPopupTemplateForFeatureReduction,c as getFeaturePopupTitle};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport e from\"../config.js\";import has from\"../core/has.js\";import{isAborted as r}from\"../core/promiseUtils.js\";import{getOrigin as o,hasSameOrigin as t,getAppUrl as n,urlToObject as s}from\"../core/urlUtils.js\";function i(e,o,t=!1,n){return new Promise(((s,i)=>{if(r(n))return void i(c());let a=()=>{l(),i(new Error(`Unable to load ${o}`))},u=()=>{const r=e;l(),s(r)},m=()=>{if(!e)return;const r=e;l(),r.src=\"\",i(c())};const l=()=>{has(\"esri-image-decode\")||(e.removeEventListener(\"error\",a),e.removeEventListener(\"load\",u)),a=null,u=null,e=null,null!=n&&n.removeEventListener(\"abort\",m),m=null,t&&URL.revokeObjectURL(o)};null!=n&&n.addEventListener(\"abort\",m),has(\"esri-image-decode\")?e.decode().then(u,a):(e.addEventListener(\"error\",a),e.addEventListener(\"load\",u))}))}function c(){try{return new DOMException(\"Aborted\",\"AbortError\")}catch{const e=new Error;return e.name=\"AbortError\",e}}const a=\"Timeout exceeded\";function u(){return new Error(a)}function m(e){return\"object\"==typeof e&&!!e&&\"message\"in e&&e.message===a}function l(r){e.request.crossOriginNoCorsDomains||(e.request.crossOriginNoCorsDomains={});const t=e.request.crossOriginNoCorsDomains;for(let e of r)e=e.toLowerCase(),/^https?:\\/\\//.test(e)?t[o(e)??\"\"]=0:(t[o(\"http://\"+e)??\"\"]=0,t[o(\"https://\"+e)??\"\"]=0)}function d(r){const s=e.request.crossOriginNoCorsDomains;if(s){let e=o(r);if(e)return e=e.toLowerCase(),!t(e,n())&&s[e]{r.startsWith(t)&&e.classList.remove(r)}))}export{c as getCalciteThemeClass,r as isDarkTheme,n as setCalciteThemeClass};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{ensureOneOfType as e}from\"./core/accessorSupport/ensureType.js\";import{createTypeReader as o}from\"./core/accessorSupport/extensions/serializableProperty/reader.js\";import l from\"./symbols/CIMSymbol.js\";export{default as ExtrudeSymbol3DLayer}from\"./symbols/ExtrudeSymbol3DLayer.js\";export{default as BaseFillSymbol}from\"./symbols/FillSymbol.js\";export{default as FillSymbol3DLayer}from\"./symbols/FillSymbol3DLayer.js\";export{default as Font}from\"./symbols/Font.js\";export{default as IconSymbol3DLayer}from\"./symbols/IconSymbol3DLayer.js\";import r from\"./symbols/LabelSymbol3D.js\";import s from\"./symbols/LineSymbol3D.js\";export{default as LineSymbol3DLayer}from\"./symbols/LineSymbol3DLayer.js\";export{default as BaseMarkerSymbol}from\"./symbols/MarkerSymbol.js\";import m from\"./symbols/MeshSymbol3D.js\";export{default as ObjectSymbol3DLayer}from\"./symbols/ObjectSymbol3DLayer.js\";export{default as PathSymbol3DLayer}from\"./symbols/PathSymbol3DLayer.js\";import t from\"./symbols/PictureFillSymbol.js\";import y from\"./symbols/PictureMarkerSymbol.js\";import a from\"./symbols/PointSymbol3D.js\";import p from\"./symbols/PolygonSymbol3D.js\";import b from\"./symbols/SimpleFillSymbol.js\";import i from\"./symbols/SimpleLineSymbol.js\";import n from\"./symbols/SimpleMarkerSymbol.js\";import f from\"./symbols/Symbol.js\";export{default as BaseSymbol3D}from\"./symbols/Symbol3D.js\";export{default as BaseSymbol3DLayer}from\"./symbols/Symbol3DLayer.js\";import c from\"./symbols/TextSymbol.js\";export{default as TextSymbol3DLayer}from\"./symbols/TextSymbol3DLayer.js\";export{default as WaterSymbol3DLayer}from\"./symbols/WaterSymbol3DLayer.js\";import d from\"./symbols/WebStyleSymbol.js\";export{default as LineCallout3D}from\"./symbols/callouts/LineCallout3D.js\";export{default as LineCallout3DBorder}from\"./symbols/callouts/LineCallout3DBorder.js\";function u(e){return e instanceof f}function S(e){if(!e)return!1;switch(e.type){case\"picture-fill\":case\"picture-marker\":case\"simple-fill\":case\"simple-line\":case\"simple-marker\":case\"text\":case\"cim\":return!0;default:return!1}}function x(e){if(!e)return!1;switch(e.type){case\"label-3d\":case\"line-3d\":case\"mesh-3d\":case\"point-3d\":case\"polygon-3d\":return!0;default:return!1}}const j={base:f,key:\"type\",typeMap:{\"simple-fill\":b,\"picture-fill\":t,\"picture-marker\":y,\"simple-line\":i,\"simple-marker\":n,text:c,\"label-3d\":r,\"line-3d\":s,\"mesh-3d\":m,\"point-3d\":a,\"polygon-3d\":p,\"web-style\":d,cim:l},errorContext:\"symbol\"},D={base:f,key:\"type\",typeMap:{\"picture-marker\":y,\"simple-marker\":n,\"point-3d\":a,cim:l},errorContext:\"symbol\"},L={base:f,key:\"type\",typeMap:{\"simple-line\":i,\"line-3d\":s,cim:l},errorContext:\"symbol\"},k={base:f,key:\"type\",typeMap:{\"simple-fill\":b,\"picture-fill\":t,\"polygon-3d\":p,cim:l},errorContext:\"symbol\"},M={base:f,key:\"type\",typeMap:{\"picture-marker\":y,\"simple-marker\":n,text:c,\"web-style\":d,cim:l},errorContext:\"symbol\"},C=o({types:j}),h={base:f,key:\"type\",typeMap:{\"simple-fill\":b,\"picture-fill\":t,\"picture-marker\":y,\"simple-line\":i,\"simple-marker\":n,text:c,\"line-3d\":s,\"mesh-3d\":m,\"point-3d\":a,\"polygon-3d\":p,\"web-style\":d,cim:l},errorContext:\"symbol\"},F={base:f,key:\"type\",typeMap:{text:c,\"label-3d\":r},errorContext:\"symbol\"},g={base:f,key:\"type\",typeMap:{\"label-3d\":r,\"line-3d\":s,\"mesh-3d\":m,\"point-3d\":a,\"polygon-3d\":p,\"web-style\":d},errorContext:\"symbol\"},w={base:f,key:\"type\",typeMap:{\"line-3d\":s,\"mesh-3d\":m,\"point-3d\":a,\"polygon-3d\":p,\"web-style\":d,cim:l},errorContext:\"symbol\"},P={base:f,key:\"type\",typeMap:{\"label-3d\":r},errorContext:\"symbol\"},B=e(j);export{f as BaseSymbol,l as CIMSymbol,r as LabelSymbol3D,s as LineSymbol3D,m as MeshSymbol3D,t as PictureFillSymbol,y as PictureMarkerSymbol,a as PointSymbol3D,p as PolygonSymbol3D,b as SimpleFillSymbol,i as SimpleLineSymbol,n as SimpleMarkerSymbol,c as TextSymbol,d as WebStyleSymbol,B as ensureType,u as isSymbol,S as isSymbol2D,x as isSymbol3D,L as lineSymbolTypes,D as pointSymbolTypes,k as polygonSymbolTypes,C as readSymbol,j as symbolTypes,g as symbolTypes3D,M as symbolTypesCluster,F as symbolTypesLabel,P as symbolTypesLabel3D,h as symbolTypesRenderer,w as symbolTypesRenderer3D};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{_ as r}from\"../chunks/tslib.es6.js\";import{clone as o}from\"../core/lang.js\";import{numericHash as t}from\"../core/string.js\";import{property as e}from\"../core/accessorSupport/decorators/property.js\";import\"../core/has.js\";import\"../core/Logger.js\";import{enumeration as s}from\"../core/accessorSupport/decorators/enumeration.js\";import{reader as a}from\"../core/accessorSupport/decorators/reader.js\";import{subclass as i}from\"../core/accessorSupport/decorators/subclass.js\";import{writer as p}from\"../core/accessorSupport/decorators/writer.js\";import{collectArcadeFieldNames as c}from\"../layers/support/fieldUtils.js\";import m from\"./Symbol.js\";var n;let l=n=class extends m{constructor(r){super(r),this.data=null,this.type=\"cim\"}readData(r,o){return o}writeData(r,o){Object.assign(o,r)}async collectRequiredFields(r,o){if(\"CIMSymbolReference\"===this.data?.type){const t=this.data.primitiveOverrides;if(t){const e=t.map((t=>{const e=t.valueExpressionInfo;return e?c(r,o,e.expression):null}));await Promise.all(e)}}}clone(){return new n({data:o(this.data)})}hash(){return t(JSON.stringify(this.data)).toString()}};r([e({json:{write:!1}})],l.prototype,\"color\",void 0),r([e({json:{write:!0}})],l.prototype,\"data\",void 0),r([a(\"data\",[\"symbol\"])],l.prototype,\"readData\",null),r([p(\"data\",{})],l.prototype,\"writeData\",null),r([s({CIMSymbolReference:\"cim\"},{readOnly:!0})],l.prototype,\"type\",void 0),l=n=r([i(\"esri.symbols.CIMSymbol\")],l);const d=l;export{d as default};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{_ as e}from\"../chunks/tslib.es6.js\";import{property as o}from\"../core/accessorSupport/decorators/property.js\";import\"../core/has.js\";import\"../core/Logger.js\";import\"../core/RandomLCG.js\";import{enumeration as t}from\"../core/accessorSupport/decorators/enumeration.js\";import{subclass as r}from\"../core/accessorSupport/decorators/subclass.js\";import s from\"./Symbol3DLayer.js\";import{symbol3dEdgesProperty as a}from\"./edges/utils.js\";import{Symbol3DMaterial as i}from\"./support/Symbol3DMaterial.js\";var p;let l=p=class extends s{constructor(e){super(e),this.type=\"extrude\",this.size=1,this.material=null,this.castShadows=!0,this.edges=null}clone(){return new p({edges:this.edges?.clone(),enabled:this.enabled,material:this.material?.clone(),castShadows:this.castShadows,size:this.size})}};e([t({Extrude:\"extrude\"},{readOnly:!0})],l.prototype,\"type\",void 0),e([o({type:Number,json:{write:{enabled:!0,isRequired:!0}},nonNullable:!0})],l.prototype,\"size\",void 0),e([o({type:i,json:{write:!0}})],l.prototype,\"material\",void 0),e([o({type:Boolean,nonNullable:!0,json:{write:!0,default:!0}})],l.prototype,\"castShadows\",void 0),e([o(a)],l.prototype,\"edges\",void 0),l=p=e([r(\"esri.symbols.ExtrudeSymbol3DLayer\")],l);const d=l;export{d as default};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{_ as e}from\"../chunks/tslib.es6.js\";import{property as o}from\"../core/accessorSupport/decorators/property.js\";import\"../core/has.js\";import\"../core/Logger.js\";import\"../core/RandomLCG.js\";import{subclass as s}from\"../core/accessorSupport/decorators/subclass.js\";import t from\"./SimpleLineSymbol.js\";import r from\"./Symbol.js\";let l=class extends r{constructor(e){super(e),this.outline=null,this.type=null}hash(){return`${this.type}.${this.outline?.hash()}`}};e([o({types:{key:\"type\",base:null,defaultKeyValue:\"simple-line\",typeMap:{\"simple-line\":t}},json:{default:null,write:!0}})],l.prototype,\"outline\",void 0),e([o({type:[\"simple-fill\",\"picture-fill\"],readOnly:!0})],l.prototype,\"type\",void 0),l=e([s(\"esri.symbols.FillSymbol\")],l);const p=l;export{p as default};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{_ as t}from\"../chunks/tslib.es6.js\";import{property as o}from\"../core/accessorSupport/decorators/property.js\";import\"../core/has.js\";import\"../core/Logger.js\";import\"../core/RandomLCG.js\";import{enumeration as e}from\"../core/accessorSupport/decorators/enumeration.js\";import{subclass as l}from\"../core/accessorSupport/decorators/subclass.js\";import r from\"./Symbol3DLayer.js\";import{symbol3dEdgesProperty as s}from\"./edges/utils.js\";import i from\"./patterns/LineStylePattern3D.js\";import n from\"./patterns/StylePattern3D.js\";import{symbol3dPatternProperty as p}from\"./patterns/utils.js\";import{white as a,transparentWhite as u}from\"./support/colors.js\";import{Symbol3DFillMaterial as m}from\"./support/Symbol3DFillMaterial.js\";import{Symbol3DOutline as c}from\"./support/Symbol3DOutline.js\";var y;let d=y=class extends r{constructor(t){super(t),this.type=\"fill\",this.material=null,this.pattern=null,this.castShadows=!0,this.outline=null,this.edges=null}clone(){const t={edges:null!=this.edges?this.edges.clone():null,enabled:this.enabled,material:null!=this.material?this.material.clone():null,pattern:null!=this.pattern?this.pattern.clone():null,castShadows:this.castShadows,outline:null!=this.outline?this.outline.clone():null};return new y(t)}static fromSimpleFillSymbol(t){const o=t.outline&&t.outline.style&&\"solid\"!==t.outline.style?new i({style:t.outline.style}):null,e={size:t.outline?.width??0,color:(t.outline?.color??a).clone(),pattern:o};return o&&t.outline?.cap&&(e.patternCap=t.outline.cap),new y({material:new m({color:(t.color??u).clone()}),pattern:t.style&&\"solid\"!==t.style?new n({style:t.style}):null,outline:e})}};t([e({Fill:\"fill\"},{readOnly:!0})],d.prototype,\"type\",void 0),t([o({type:m,json:{write:!0}})],d.prototype,\"material\",void 0),t([o(p)],d.prototype,\"pattern\",void 0),t([o({type:Boolean,nonNullable:!0,json:{write:!0,default:!0}})],d.prototype,\"castShadows\",void 0),t([o({type:c,json:{write:!0}})],d.prototype,\"outline\",void 0),t([o(s)],d.prototype,\"edges\",void 0),d=y=t([l(\"esri.symbols.FillSymbol3DLayer\")],d);const h=d;export{h as default};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{_ as t}from\"../chunks/tslib.es6.js\";import{JSONSupport as o}from\"../core/JSONSupport.js\";import{toPt as e}from\"../core/screenUtils.js\";import{property as s}from\"../core/accessorSupport/decorators/property.js\";import{cast as r}from\"../core/accessorSupport/decorators/cast.js\";import\"../core/RandomLCG.js\";import\"../core/has.js\";import{subclass as i}from\"../core/accessorSupport/decorators/subclass.js\";import{fontDecorations as p,fontStyles as a,fontWeights as n}from\"./support/textUtils.js\";var c;let l=c=class extends o{constructor(t){super(t),this.decoration=\"none\",this.family=\"sans-serif\",this.size=9,this.style=\"normal\",this.weight=\"normal\"}castSize(t){return e(t)}clone(){return new c({decoration:this.decoration,family:this.family,size:this.size,style:this.style,weight:this.weight})}hash(){return`${this.decoration}.${this.family}.${this.size}.${this.style}.${this.weight}`}};t([s({type:p,json:{default:\"none\",write:!0}})],l.prototype,\"decoration\",void 0),t([s({type:String,json:{write:!0}})],l.prototype,\"family\",void 0),t([s({type:Number,json:{write:{overridePolicy:(t,o,e)=>({enabled:!e||!e.textSymbol3D})}}})],l.prototype,\"size\",void 0),t([r(\"size\")],l.prototype,\"castSize\",null),t([s({type:a,json:{default:\"normal\",write:!0}})],l.prototype,\"style\",void 0),t([s({type:n,json:{default:\"normal\",write:!0}})],l.prototype,\"weight\",void 0),l=c=t([i(\"esri.symbols.Font\")],l);const m=l;export{m as default};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{_ as o}from\"../chunks/tslib.es6.js\";import{clone as t}from\"../core/lang.js\";import r from\"../core/Logger.js\";import{makeData as e}from\"../core/urlUtils.js\";import{property as i}from\"../core/accessorSupport/decorators/property.js\";import\"../core/has.js\";import{enumeration as s}from\"../core/accessorSupport/decorators/enumeration.js\";import{subclass as n}from\"../core/accessorSupport/decorators/subclass.js\";import l from\"./Symbol3DLayer.js\";import{white as c,isBlack as a}from\"./support/colors.js\";import{IconSymbol3DLayerResource as p}from\"./support/IconSymbol3DLayerResource.js\";import{screenSizeProperty as m}from\"./support/materialUtils.js\";import{Symbol3DAnchorPosition2D as u}from\"./support/Symbol3DAnchorPosition2D.js\";import{Symbol3DIconOutline as h}from\"./support/Symbol3DIconOutline.js\";import{Symbol3DMaterial as y}from\"./support/Symbol3DMaterial.js\";var d;const f=\"esri.symbols.IconSymbol3DLayer\";let g=d=class extends l{constructor(o){super(o),this.material=null,this.resource=null,this.type=\"icon\",this.size=12,this.anchor=\"center\",this.anchorPosition=null,this.outline=null,this.angle=0}clone(){return new d({anchor:this.anchor,anchorPosition:t(this.anchorPosition),enabled:this.enabled,material:t(this.material),outline:t(this.outline),resource:t(this.resource),angle:this.angle,size:this.size})}static fromSimpleMarkerSymbol(o){const t=o.color||c,r=j(o),e=o.outline&&o.outline.width>0?{size:o.outline.width,color:(o.outline.color||c).clone()}:null;return new d({size:o.size,angle:o.angle,resource:{primitive:S(o.style)},material:{color:t},outline:e,anchor:r?\"relative\":void 0,anchorPosition:r})}static fromPictureMarkerSymbol(o){const t=!o.color||a(o.color)?c:o.color,r=j(o);return new d({size:o.width<=o.height?o.height:o.width,angle:o.angle,resource:{href:o.url},material:{color:t.clone()},anchor:r?\"relative\":void 0,anchorPosition:r})}static fromCIMSymbol(o){return new d({resource:{href:e({mediaType:\"application/json\",data:JSON.stringify(o.data)})}})}};o([i({type:y,json:{write:!0}})],g.prototype,\"material\",void 0),o([i({type:p,json:{write:!0}})],g.prototype,\"resource\",void 0),o([s({Icon:\"icon\"},{readOnly:!0})],g.prototype,\"type\",void 0),o([i(m)],g.prototype,\"size\",void 0),o([s({center:\"center\",left:\"left\",right:\"right\",top:\"top\",bottom:\"bottom\",topLeft:\"top-left\",topRight:\"top-right\",bottomLeft:\"bottom-left\",bottomRight:\"bottom-right\",relative:\"relative\"},{default:\"center\"})],g.prototype,\"anchor\",void 0),o([i({type:u,json:{type:[Number],read:{reader:o=>new u({x:o[0],y:o[1]})},write:{writer:(o,t)=>{t.anchorPosition=[o.x,o.y]},overridePolicy(){return{enabled:\"relative\"===this.anchor}}}}})],g.prototype,\"anchorPosition\",void 0),o([i({type:h,json:{write:!0}})],g.prototype,\"outline\",void 0),o([i({type:Number,json:{write:!0,default:0}})],g.prototype,\"angle\",void 0),g=d=o([n(f)],g);const b=g;function j(o){const t=\"width\"in o?o.width:o.size,r=\"height\"in o?o.height:o.size,e=v(o.xoffset),i=v(o.yoffset);return(e||i)&&t&&r?{x:-e/t,y:i/r}:null}function v(o){return isFinite(o)?o:0}const w={circle:\"circle\",cross:\"cross\",diamond:\"kite\",square:\"square\",x:\"x\",triangle:\"triangle\",path:null};function S(o){const t=w[o];return t||(r.getLogger(f).warn(`${o} cannot be mapped to Icon symbol. Fallback to \"circle\"`),\"circle\")}export{b as default};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{_ as t}from\"../chunks/tslib.es6.js\";import o from\"../core/Collection.js\";import{clone as r}from\"../core/lang.js\";import{property as e}from\"../core/accessorSupport/decorators/property.js\";import\"../core/has.js\";import\"../core/Logger.js\";import{enumeration as s}from\"../core/accessorSupport/decorators/enumeration.js\";import{subclass as l}from\"../core/accessorSupport/decorators/subclass.js\";import i from\"./Symbol3D.js\";import a from\"./TextSymbol3DLayer.js\";import{hasVisibleCallout as p,hasVisibleVerticalOffset as m,calloutProperty as c}from\"./callouts/calloutUtils.js\";import y from\"./support/Symbol3DVerticalOffset.js\";var n;const u=o.ofType({base:null,key:\"type\",typeMap:{text:a}});let f=n=class extends i{constructor(t){super(t),this.verticalOffset=null,this.callout=null,this.styleOrigin=null,this.symbolLayers=new u,this.type=\"label-3d\"}supportsCallout(){return!0}hasVisibleCallout(){return p(this)}hasVisibleVerticalOffset(){return m(this)}clone(){return new n({styleOrigin:r(this.styleOrigin),symbolLayers:r(this.symbolLayers),thumbnail:r(this.thumbnail),callout:r(this.callout),verticalOffset:r(this.verticalOffset)})}static fromTextSymbol(t){return new n({symbolLayers:new o([a.fromTextSymbol(t)])})}};t([e({type:y,json:{write:!0}})],f.prototype,\"verticalOffset\",void 0),t([e(c)],f.prototype,\"callout\",void 0),t([e({json:{read:!1,write:!1}})],f.prototype,\"styleOrigin\",void 0),t([e({type:u})],f.prototype,\"symbolLayers\",void 0),t([s({LabelSymbol3D:\"label-3d\"},{readOnly:!0})],f.prototype,\"type\",void 0),f=n=t([l(\"esri.symbols.LabelSymbol3D\")],f);const b=f;export{b as default};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{_ as o}from\"../chunks/tslib.es6.js\";import r from\"../Color.js\";import{ClonableMixin as e}from\"../core/Clonable.js\";import{JSONSupport as t}from\"../core/JSONSupport.js\";import{property as s}from\"../core/accessorSupport/decorators/property.js\";import{Integer as l}from\"../core/accessorSupport/ensureType.js\";import\"../core/RandomLCG.js\";import\"../core/has.js\";import{subclass as p}from\"../core/accessorSupport/decorators/subclass.js\";import{lineMarkerPlacements as i,lineMarkerStyles as c}from\"./support/lineMarkers.js\";let n=class extends(e(t)){constructor(o){super(o),this.type=\"style\",this.placement=\"begin-end\",this.style=\"arrow\",this.color=null}equals(o){return null!=o&&o.placement===this.placement&&o.style===this.style&&(null==this.color&&null==o.color||null!=this.color&&null!=o.color&&this.color.toJSON()===o.color.toJSON())}};o([s({type:[\"style\"],readOnly:!0,json:{read:!0,write:{ignoreOrigin:!0}}})],n.prototype,\"type\",void 0),o([s({type:i,json:{default:\"begin-end\",write:!0}})],n.prototype,\"placement\",void 0),o([s({type:c,json:{default:\"arrow\",write:!0}})],n.prototype,\"style\",void 0),o([s({type:r,json:{type:[l],default:null,write:!0}})],n.prototype,\"color\",void 0),n=o([p(\"esri.symbols.LineStyleMarker3D\")],n);const a=n;export{a as default};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{_ as o}from\"../chunks/tslib.es6.js\";import{toPt as r}from\"../core/screenUtils.js\";import{property as s}from\"../core/accessorSupport/decorators/property.js\";import\"../core/has.js\";import\"../core/Logger.js\";import\"../core/RandomLCG.js\";import{enumeration as t}from\"../core/accessorSupport/decorators/enumeration.js\";import{subclass as e}from\"../core/accessorSupport/decorators/subclass.js\";import i from\"./Symbol.js\";let p=class extends i{constructor(o){super(o),this.type=\"simple-line\",this.width=.75}hash(){return`${this.type}.${this.width}`}};o([t({esriSLS:\"simple-line\"},{readOnly:!0})],p.prototype,\"type\",void 0),o([s({type:Number,cast:r,json:{write:!0}})],p.prototype,\"width\",void 0),p=o([e(\"esri.symbols.LineSymbol\")],p);const c=p;export{c as default};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{_ as o}from\"../chunks/tslib.es6.js\";import e from\"../core/Collection.js\";import{clone as r}from\"../core/lang.js\";import{property as s}from\"../core/accessorSupport/decorators/property.js\";import\"../core/has.js\";import\"../core/Logger.js\";import{enumeration as t}from\"../core/accessorSupport/decorators/enumeration.js\";import{subclass as p}from\"../core/accessorSupport/decorators/subclass.js\";import i from\"./LineSymbol3DLayer.js\";import m from\"./PathSymbol3DLayer.js\";import y from\"./Symbol3D.js\";var l;const a=e.ofType({base:null,key:\"type\",typeMap:{line:i,path:m}}),n=e.ofType({base:null,key:\"type\",typeMap:{line:i,path:m}});let c=l=class extends y{constructor(o){super(o),this.symbolLayers=new a,this.type=\"line-3d\"}clone(){return new l({styleOrigin:r(this.styleOrigin),symbolLayers:r(this.symbolLayers),thumbnail:r(this.thumbnail)})}static fromSimpleLineSymbol(o){return new l({symbolLayers:new e([i.fromSimpleLineSymbol(o)])})}};o([s({type:a,json:{type:n}})],c.prototype,\"symbolLayers\",void 0),o([t({LineSymbol3D:\"line-3d\"},{readOnly:!0})],c.prototype,\"type\",void 0),c=l=o([p(\"esri.symbols.LineSymbol3D\")],c);const b=c;export{b as default};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{_ as t}from\"../chunks/tslib.es6.js\";import{px2pt as r}from\"../core/screenUtils.js\";import{property as e}from\"../core/accessorSupport/decorators/property.js\";import\"../core/has.js\";import\"../core/Logger.js\";import\"../core/RandomLCG.js\";import{enumeration as o}from\"../core/accessorSupport/decorators/enumeration.js\";import{subclass as s}from\"../core/accessorSupport/decorators/subclass.js\";import i from\"./LineStyleMarker3D.js\";import l from\"./Symbol3DLayer.js\";import p from\"./patterns/LineStylePattern3D.js\";import{symbol3dLinePatternProperty as a}from\"./patterns/utils.js\";import{white as n}from\"./support/colors.js\";import{screenSizeProperty as m}from\"./support/materialUtils.js\";import{Symbol3DMaterial as c}from\"./support/Symbol3DMaterial.js\";import{lineJoins as y,lineCaps as u}from\"./support/symbolLayerUtils3D.js\";var j;let d=j=class extends l{constructor(t){super(t),this.material=null,this.type=\"line\",this.join=\"miter\",this.cap=\"butt\",this.size=r(1),this.pattern=null,this.marker=null}clone(){const t={enabled:this.enabled,material:null!=this.material?this.material.clone():null,size:this.size,join:this.join,cap:this.cap,pattern:null!=this.pattern?this.pattern.clone():null,marker:null!=this.marker?this.marker.clone():null};return new j(t)}static fromSimpleLineSymbol(t){const e={enabled:!0,size:t.width??r(1),cap:t.cap||\"butt\",join:t.join||\"miter\",pattern:t.style?new p({style:t.style}):null,material:new c({color:(t.color||n).clone()}),marker:t.marker?new i({placement:t.marker.placement,style:t.marker.style,color:t.marker.color?.clone()??null}):null};return new j(e)}};t([e({type:c,json:{write:!0}})],d.prototype,\"material\",void 0),t([o({Line:\"line\"},{readOnly:!0})],d.prototype,\"type\",void 0),t([e({type:y,json:{write:!0,default:\"miter\"}})],d.prototype,\"join\",void 0),t([e({type:u,json:{write:!0,default:\"butt\"}})],d.prototype,\"cap\",void 0),t([e(m)],d.prototype,\"size\",void 0),t([e(a)],d.prototype,\"pattern\",void 0),t([e({types:{key:\"type\",base:i,typeMap:{style:i}},json:{write:!0}})],d.prototype,\"marker\",void 0),d=j=t([s(\"esri.symbols.LineSymbol3DLayer\")],d);const h=d;export{h as default};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{_ as r}from\"../chunks/tslib.es6.js\";import o from\"../Color.js\";import{JSONSupport as e}from\"../core/JSONSupport.js\";import{clone as t}from\"../core/lang.js\";import{property as s}from\"../core/accessorSupport/decorators/property.js\";import\"../core/has.js\";import\"../core/Logger.js\";import{enumeration as l}from\"../core/accessorSupport/decorators/enumeration.js\";import{reader as p}from\"../core/accessorSupport/decorators/reader.js\";import{subclass as i}from\"../core/accessorSupport/decorators/subclass.js\";import{writer as c}from\"../core/accessorSupport/decorators/writer.js\";import{lineMarkerStyles as a}from\"./support/lineMarkers.js\";var n;let m=n=class extends e{constructor(r){super(r),this.placement=\"begin-end\",this.type=\"line-marker\",this.style=\"arrow\"}writeStyle(r,o,e,t){o[e]=\"web-map\"===t?.origin?\"arrow\":r}set color(r){this._set(\"color\",r)}readColor(r){return null!=r?.[0]?[r[0],r[1],r[2],r[3]/255]:r}writeColor(r,o,e,t){\"web-map\"===t?.origin||(o[e]=r)}clone(){return new n({color:t(this.color),placement:this.placement,style:this.style})}hash(){return`${this.placement}.${this.color?.hash()}.${this.style}`}};r([s({type:[\"begin\",\"end\",\"begin-end\"],json:{write:!0}})],m.prototype,\"placement\",void 0),r([l({\"line-marker\":\"line-marker\"},{readOnly:!0}),s({json:{origins:{\"web-map\":{write:!1}}}})],m.prototype,\"type\",void 0),r([s({type:a})],m.prototype,\"style\",void 0),r([c(\"style\")],m.prototype,\"writeStyle\",null),r([s({type:o,value:null,json:{write:{allowNull:!0}}})],m.prototype,\"color\",null),r([p(\"color\")],m.prototype,\"readColor\",null),r([c(\"color\")],m.prototype,\"writeColor\",null),m=n=r([i(\"esri.symbols.LineSymbolMarker\")],m);const u=m;export{u as default};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{_ as t}from\"../chunks/tslib.es6.js\";import{toPt as e}from\"../core/screenUtils.js\";import{property as o}from\"../core/accessorSupport/decorators/property.js\";import{ensureNumber as s}from\"../core/accessorSupport/ensureType.js\";import\"../core/RandomLCG.js\";import\"../core/has.js\";import{subclass as r}from\"../core/accessorSupport/decorators/subclass.js\";import p from\"./Symbol.js\";let i=class extends p{constructor(t){super(t),this.angle=0,this.type=null,this.xoffset=0,this.yoffset=0,this.size=9}hash(){return`${this.type}.${this.angle}.${this.size}.${this.xoffset}.${this.yoffset}`}};t([o({type:Number,json:{read:t=>t&&-1*t,write:(t,e)=>e.angle=t&&-1*t}})],i.prototype,\"angle\",void 0),t([o({type:[\"simple-marker\",\"picture-marker\"],readOnly:!0})],i.prototype,\"type\",void 0),t([o({type:Number,cast:e,json:{write:!0}})],i.prototype,\"xoffset\",void 0),t([o({type:Number,cast:e,json:{write:!0}})],i.prototype,\"yoffset\",void 0),t([o({cast:t=>\"auto\"===t?t:s(e(t)),json:{write:!0}})],i.prototype,\"size\",void 0),i=t([r(\"esri.symbols.MarkerSymbol\")],i);const a=i;export{a as default};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{_ as o}from\"../chunks/tslib.es6.js\";import r from\"../core/Collection.js\";import{clone as s}from\"../core/lang.js\";import{property as e}from\"../core/accessorSupport/decorators/property.js\";import\"../core/has.js\";import\"../core/Logger.js\";import{enumeration as t}from\"../core/accessorSupport/decorators/enumeration.js\";import{subclass as m}from\"../core/accessorSupport/decorators/subclass.js\";import l from\"./FillSymbol3DLayer.js\";import i from\"./Symbol3D.js\";var p;const y=r.ofType({base:null,key:\"type\",typeMap:{fill:l}});let a=p=class extends i{constructor(o){super(o),this.symbolLayers=new y,this.type=\"mesh-3d\"}clone(){return new p({styleOrigin:s(this.styleOrigin),symbolLayers:s(this.symbolLayers),thumbnail:s(this.thumbnail)})}static fromSimpleFillSymbol(o){return new p({symbolLayers:new r([l.fromSimpleFillSymbol(o)])})}};o([e({type:y})],a.prototype,\"symbolLayers\",void 0),o([t({MeshSymbol3D:\"mesh-3d\"},{readOnly:!0})],a.prototype,\"type\",void 0),a=p=o([m(\"esri.symbols.MeshSymbol3D\")],a);const c=a;export{c as default};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{_ as o}from\"../chunks/tslib.es6.js\";import{property as t}from\"../core/accessorSupport/decorators/property.js\";import\"../core/has.js\";import\"../core/Logger.js\";import\"../core/RandomLCG.js\";import{enumeration as e}from\"../core/accessorSupport/decorators/enumeration.js\";import{subclass as r}from\"../core/accessorSupport/decorators/subclass.js\";import i from\"./Symbol3DLayer.js\";import{ObjectSymbol3DLayerResource as s}from\"./support/ObjectSymbol3DLayerResource.js\";import{Symbol3DAnchorPosition3D as p}from\"./support/Symbol3DAnchorPosition3D.js\";import{Symbol3DMaterial as h}from\"./support/Symbol3DMaterial.js\";var n;let a=n=class extends i{constructor(o){super(o),this.material=null,this.castShadows=!0,this.resource=null,this.type=\"object\",this.width=void 0,this.height=void 0,this.depth=void 0,this.anchor=void 0,this.anchorPosition=void 0,this.heading=void 0,this.tilt=void 0,this.roll=void 0}clone(){return new n({heading:this.heading,tilt:this.tilt,roll:this.roll,anchor:this.anchor,anchorPosition:this.anchorPosition?.clone(),depth:this.depth,enabled:this.enabled,height:this.height,material:this.material?.clone()??null,castShadows:this.castShadows,resource:this.resource?.clone(),width:this.width})}get isPrimitive(){return!this.resource||\"string\"!=typeof this.resource.href}};o([t({type:h,json:{write:!0}})],a.prototype,\"material\",void 0),o([t({type:Boolean,nonNullable:!0,json:{write:!0,default:!0}})],a.prototype,\"castShadows\",void 0),o([t({type:s,json:{write:!0}})],a.prototype,\"resource\",void 0),o([e({Object:\"object\"},{readOnly:!0})],a.prototype,\"type\",void 0),o([t({type:Number,json:{write:!0}})],a.prototype,\"width\",void 0),o([t({type:Number,json:{write:!0}})],a.prototype,\"height\",void 0),o([t({type:Number,json:{write:!0}})],a.prototype,\"depth\",void 0),o([e({center:\"center\",top:\"top\",bottom:\"bottom\",origin:\"origin\",relative:\"relative\"},{default:\"origin\"})],a.prototype,\"anchor\",void 0),o([t({type:p,json:{type:[Number],read:{reader:o=>new p({x:o[0],y:o[1],z:o[2]})},write:{writer:(o,t)=>{t.anchorPosition=[o.x,o.y,o.z]},overridePolicy(){return{enabled:\"relative\"===this.anchor}}}}})],a.prototype,\"anchorPosition\",void 0),o([t({type:Number,json:{write:!0}})],a.prototype,\"heading\",void 0),o([t({type:Number,json:{write:!0}})],a.prototype,\"tilt\",void 0),o([t({type:Number,json:{write:!0}})],a.prototype,\"roll\",void 0),o([t({readOnly:!0})],a.prototype,\"isPrimitive\",null),a=n=o([r(\"esri.symbols.ObjectSymbol3DLayer\")],a);const c=a;export{c as default};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{_ as t}from\"../chunks/tslib.es6.js\";import{property as o}from\"../core/accessorSupport/decorators/property.js\";import\"../core/has.js\";import\"../core/Logger.js\";import\"../core/RandomLCG.js\";import{enumeration as e}from\"../core/accessorSupport/decorators/enumeration.js\";import{reader as r}from\"../core/accessorSupport/decorators/reader.js\";import{subclass as i}from\"../core/accessorSupport/decorators/subclass.js\";import s from\"./Symbol3DLayer.js\";import{Symbol3DMaterial as a}from\"./support/Symbol3DMaterial.js\";import{lineJoins as p,pathCaps as l}from\"./support/symbolLayerUtils3D.js\";var h;let n=h=class extends s{constructor(t){super(t),this.material=null,this.castShadows=!0,this.type=\"path\",this.profile=\"circle\",this.join=\"miter\",this.cap=\"butt\",this.width=void 0,this.height=void 0,this.anchor=\"center\",this.profileRotation=\"all\"}readWidth(t,o){return null!=t?t:null==o.height&&null!=o.size?o.size:void 0}readHeight(t,o){return null!=t?t:null==o.width&&null!=o.size?o.size:void 0}clone(){return new h({enabled:this.enabled,material:null!=this.material?this.material.clone():null,castShadows:this.castShadows,profile:this.profile,join:this.join,cap:this.cap,width:this.width,height:this.height,profileRotation:this.profileRotation,anchor:this.anchor})}};t([o({type:a,json:{write:!0}})],n.prototype,\"material\",void 0),t([o({type:Boolean,nonNullable:!0,json:{write:!0,default:!0}})],n.prototype,\"castShadows\",void 0),t([e({Path:\"path\"},{readOnly:!0})],n.prototype,\"type\",void 0),t([o({type:[\"circle\",\"quad\"],json:{write:!0,default:\"circle\"}})],n.prototype,\"profile\",void 0),t([o({type:p,json:{write:!0,default:\"miter\"}})],n.prototype,\"join\",void 0),t([o({type:l,json:{write:!0,default:\"butt\"}})],n.prototype,\"cap\",void 0),t([o({type:Number,json:{write:{enabled:!0,target:{width:{type:Number},size:{type:Number}}}}})],n.prototype,\"width\",void 0),t([r(\"width\",[\"width\",\"size\",\"height\"])],n.prototype,\"readWidth\",null),t([o({type:Number,json:{write:!0}})],n.prototype,\"height\",void 0),t([r(\"height\",[\"height\",\"size\",\"width\"])],n.prototype,\"readHeight\",null),t([o({type:[\"center\",\"bottom\",\"top\"],json:{write:!0,default:\"center\"}})],n.prototype,\"anchor\",void 0),t([o({type:[\"heading\",\"all\"],json:{write:!0,default:\"all\"}})],n.prototype,\"profileRotation\",void 0),n=h=t([i(\"esri.symbols.PathSymbol3DLayer\")],n);const d=n;export{d as default};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{_ as t}from\"../chunks/tslib.es6.js\";import{clone as s}from\"../core/lang.js\";import{toPt as o}from\"../core/screenUtils.js\";import{property as e}from\"../core/accessorSupport/decorators/property.js\";import\"../core/has.js\";import\"../core/Logger.js\";import{enumeration as r}from\"../core/accessorSupport/decorators/enumeration.js\";import{subclass as i}from\"../core/accessorSupport/decorators/subclass.js\";import l from\"./FillSymbol.js\";import{urlPropertyDefinition as h,sourcePropertyDefinition as p}from\"./support/urlUtils.js\";var c;let u=c=class extends l{constructor(...t){super(...t),this.type=\"picture-fill\",this.url=null,this.xscale=1,this.yscale=1,this.width=12,this.height=12,this.xoffset=0,this.yoffset=0,this.source=null}normalizeCtorArgs(t,s,e,r){if(t&&\"string\"!=typeof t&&null==t.imageData)return t;const i={};return t&&(i.url=t),s&&(i.outline=s),null!=e&&(i.width=o(e)),null!=r&&(i.height=o(r)),i}clone(){const t=new c({color:s(this.color),height:this.height,outline:s(this.outline),url:this.url,width:this.width,xoffset:this.xoffset,xscale:this.xscale,yoffset:this.yoffset,yscale:this.yscale});return t._set(\"source\",s(this.source)),t}hash(){return`${super.hash()}.${this.color?.hash()}.${this.height}.${this.url}.${this.width}.${this.xoffset}.${this.xscale}.${this.yoffset}.${this.yscale}`}};t([r({esriPFS:\"picture-fill\"},{readOnly:!0})],u.prototype,\"type\",void 0),t([e(h)],u.prototype,\"url\",void 0),t([e({type:Number,json:{write:!0}})],u.prototype,\"xscale\",void 0),t([e({type:Number,json:{write:!0}})],u.prototype,\"yscale\",void 0),t([e({type:Number,cast:o,json:{write:!0}})],u.prototype,\"width\",void 0),t([e({type:Number,cast:o,json:{write:!0}})],u.prototype,\"height\",void 0),t([e({type:Number,cast:o,json:{write:!0}})],u.prototype,\"xoffset\",void 0),t([e({type:Number,cast:o,json:{write:!0}})],u.prototype,\"yoffset\",void 0),t([e(p)],u.prototype,\"source\",void 0),u=c=t([i(\"esri.symbols.PictureFillSymbol\")],u);const a=u;export{a as default};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{_ as r}from\"../chunks/tslib.es6.js\";import{clone as t}from\"../core/lang.js\";import{toPt as e}from\"../core/screenUtils.js\";import{property as o}from\"../core/accessorSupport/decorators/property.js\";import\"../core/has.js\";import\"../core/Logger.js\";import{enumeration as s}from\"../core/accessorSupport/decorators/enumeration.js\";import{reader as i}from\"../core/accessorSupport/decorators/reader.js\";import{subclass as p}from\"../core/accessorSupport/decorators/subclass.js\";import h from\"./MarkerSymbol.js\";import{urlPropertyDefinition as u,sourcePropertyDefinition as c}from\"./support/urlUtils.js\";var l;let a=l=class extends h{constructor(...r){super(...r),this.color=null,this.type=\"picture-marker\",this.url=null,this.source=null,this.height=12,this.width=12,this.size=null}normalizeCtorArgs(r,t,o){if(r&&\"string\"!=typeof r&&null==r.imageData)return r;const s={};return r&&(s.url=r),null!=t&&(s.width=e(t)),null!=o&&(s.height=e(o)),s}readHeight(r,t){return t.size||r}readWidth(r,t){return t.size||r}clone(){const r=new l({angle:this.angle,height:this.height,url:this.url,width:this.width,xoffset:this.xoffset,yoffset:this.yoffset});return r._set(\"source\",t(this.source)),r}hash(){return`${super.hash()}.${this.height}.${this.url}.${this.width}`}};r([o({json:{write:!1}})],a.prototype,\"color\",void 0),r([s({esriPMS:\"picture-marker\"},{readOnly:!0})],a.prototype,\"type\",void 0),r([o(u)],a.prototype,\"url\",void 0),r([o(c)],a.prototype,\"source\",void 0),r([o({type:Number,cast:e,json:{write:!0}})],a.prototype,\"height\",void 0),r([i(\"height\",[\"height\",\"size\"])],a.prototype,\"readHeight\",null),r([o({type:Number,cast:e,json:{write:!0}})],a.prototype,\"width\",void 0),r([o({json:{write:!1}})],a.prototype,\"size\",void 0),a=l=r([p(\"esri.symbols.PictureMarkerSymbol\")],a);const n=a;export{n as default};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{_ as o}from\"../chunks/tslib.es6.js\";import t from\"../Color.js\";import r from\"../core/Collection.js\";import{clone as e}from\"../core/lang.js\";import{property as s}from\"../core/accessorSupport/decorators/property.js\";import\"../core/has.js\";import\"../core/Logger.js\";import{enumeration as l}from\"../core/accessorSupport/decorators/enumeration.js\";import{subclass as i}from\"../core/accessorSupport/decorators/subclass.js\";import m from\"./IconSymbol3DLayer.js\";import a from\"./ObjectSymbol3DLayer.js\";import n from\"./Symbol3D.js\";import y from\"./TextSymbol3DLayer.js\";import{hasVisibleCallout as c,hasVisibleVerticalOffset as p,calloutProperty as f}from\"./callouts/calloutUtils.js\";import u from\"./callouts/LineCallout3D.js\";import b from\"./support/Symbol3DVerticalOffset.js\";var h;const S=r.ofType({base:null,key:\"type\",typeMap:{icon:m,object:a,text:y}});let j=h=class extends n{constructor(o){super(o),this.verticalOffset=null,this.callout=null,this.symbolLayers=new S,this.type=\"point-3d\"}supportsCallout(){if((this.symbolLayers?this.symbolLayers.length:0)<1)return!1;for(const o of this.symbolLayers.items)switch(o.type){case\"icon\":case\"text\":case\"object\":continue;default:return!1}return!0}hasVisibleCallout(){return c(this)}hasVisibleVerticalOffset(){return p(this)}clone(){return new h({verticalOffset:e(this.verticalOffset),callout:e(this.callout),styleOrigin:e(this.styleOrigin),symbolLayers:e(this.symbolLayers),thumbnail:e(this.thumbnail)})}static fromSimpleMarkerSymbol(o){return new h({symbolLayers:new r([m.fromSimpleMarkerSymbol(o)])})}static fromPictureMarkerSymbol(o){return new h({symbolLayers:new r([m.fromPictureMarkerSymbol(o)])})}static fromCIMSymbol(o){const e=o.data?.symbol?.type;if(\"CIMPointSymbol\"!==e)return null;const s=o.data.symbol;return new h(s?.callout?{symbolLayers:new r([m.fromCIMSymbol(o)]),callout:new u({size:.5,color:new t([0,0,0])}),verticalOffset:new b({screenLength:40})}:{symbolLayers:new r([m.fromCIMSymbol(o)])})}static fromTextSymbol(o){return new h({symbolLayers:new r([y.fromTextSymbol(o)])})}};o([s({type:b,json:{write:!0}})],j.prototype,\"verticalOffset\",void 0),o([s(f)],j.prototype,\"callout\",void 0),o([s({type:S,json:{origins:{\"web-scene\":{write:!0}}}})],j.prototype,\"symbolLayers\",void 0),o([l({PointSymbol3D:\"point-3d\"},{readOnly:!0})],j.prototype,\"type\",void 0),j=h=o([i(\"esri.symbols.PointSymbol3D\")],j);const w=j;export{w as default};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{_ as o}from\"../chunks/tslib.es6.js\";import e from\"../core/Collection.js\";import{deprecated as r}from\"../core/deprecate.js\";import{clone as s}from\"../core/lang.js\";import t from\"../core/Logger.js\";import{on as l,sync as y}from\"../core/reactiveUtils.js\";import{property as m}from\"../core/accessorSupport/decorators/property.js\";import\"../core/has.js\";import{enumeration as a}from\"../core/accessorSupport/decorators/enumeration.js\";import{subclass as i}from\"../core/accessorSupport/decorators/subclass.js\";import n from\"./ExtrudeSymbol3DLayer.js\";import p from\"./FillSymbol3DLayer.js\";import b from\"./IconSymbol3DLayer.js\";import c from\"./LineSymbol3DLayer.js\";import L from\"./ObjectSymbol3DLayer.js\";import f from\"./Symbol3D.js\";import S from\"./TextSymbol3DLayer.js\";import d from\"./WaterSymbol3DLayer.js\";var u;const j=e.ofType({base:null,key:\"type\",typeMap:{extrude:n,fill:p,icon:b,line:c,object:L,text:S,water:d}});let g=u=class extends f{constructor(o){super(o),this.symbolLayers=new j,this.type=\"polygon-3d\"}initialize(){const o=o=>{\"line\"===o.type&&r(t.getLogger(this),\"LineSymbol3DLayer can not be used as a SymbolLayer with a PolygonSymbol3D symbol anymore.\",{replacement:\"Use FillSymbol3DLayer.outline instead.\",version:\"4.28\"}),\"text\"===o.type&&r(t.getLogger(this),\"TextSymbol3DLayer can not be used as a SymbolLayer with a PolygonSymbol3D symbol anymore.\",{replacement:\"Use Labels instead.\",version:\"4.28\"})};for(const e of this.symbolLayers)o(e);this.addHandles(l((()=>this.symbolLayers),\"after-add\",(({item:e})=>o(e)),y))}clone(){return new u({styleOrigin:s(this.styleOrigin),symbolLayers:s(this.symbolLayers),thumbnail:s(this.thumbnail)})}static fromJSON(o){const e=new u;if(e.read(o),2===e.symbolLayers.length&&\"fill\"===e.symbolLayers.at(0).type&&\"line\"===e.symbolLayers.at(1).type){const r=e.symbolLayers.at(0),s=e.symbolLayers.at(1);!s.enabled||o.symbolLayers?.[1]&&!1===o.symbolLayers[1].enable||(r.outline={size:s.size,color:null!=s.material?s.material.color:null}),e.symbolLayers.removeAt(1)}return e}static fromSimpleFillSymbol(o){return new u({symbolLayers:new e([p.fromSimpleFillSymbol(o)])})}};o([m({type:j,json:{write:!0}})],g.prototype,\"symbolLayers\",void 0),o([a({PolygonSymbol3D:\"polygon-3d\"},{readOnly:!0})],g.prototype,\"type\",void 0),g=u=o([i(\"esri.symbols.PolygonSymbol3D\")],g);const h=g;export{h as default};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{_ as o}from\"../chunks/tslib.es6.js\";import r from\"../Color.js\";import{JSONMap as s}from\"../core/jsonMap.js\";import{clone as e}from\"../core/lang.js\";import{property as t}from\"../core/accessorSupport/decorators/property.js\";import\"../core/has.js\";import\"../core/Logger.js\";import{enumeration as i}from\"../core/accessorSupport/decorators/enumeration.js\";import{subclass as l}from\"../core/accessorSupport/decorators/subclass.js\";import a from\"./FillSymbol.js\";import n from\"./SimpleLineSymbol.js\";var p;const c=new s({esriSFSSolid:\"solid\",esriSFSNull:\"none\",esriSFSHorizontal:\"horizontal\",esriSFSVertical:\"vertical\",esriSFSForwardDiagonal:\"forward-diagonal\",esriSFSBackwardDiagonal:\"backward-diagonal\",esriSFSCross:\"cross\",esriSFSDiagonalCross:\"diagonal-cross\"});let m=p=class extends a{constructor(...o){super(...o),this.color=new r([0,0,0,.25]),this.outline=new n,this.type=\"simple-fill\",this.style=\"solid\"}normalizeCtorArgs(o,r,s){if(o&&\"string\"!=typeof o)return o;const e={};return o&&(e.style=o),r&&(e.outline=r),s&&(e.color=s),e}clone(){return new p({color:e(this.color),outline:this.outline&&this.outline.clone(),style:this.style})}hash(){return`${super.hash()}${this.style}.${this.color&&this.color.hash()}`}};o([t()],m.prototype,\"color\",void 0),o([t()],m.prototype,\"outline\",void 0),o([i({esriSFS:\"simple-fill\"},{readOnly:!0})],m.prototype,\"type\",void 0),o([t({type:c.apiValues,json:{read:c.read,write:c.write}})],m.prototype,\"style\",void 0),m=p=o([l(\"esri.symbols.SimpleFillSymbol\")],m);const S=m;export{S as default};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{_ as o}from\"../chunks/tslib.es6.js\";import{JSONMap as r}from\"../core/jsonMap.js\";import{clone as t}from\"../core/lang.js\";import{toPt as e}from\"../core/screenUtils.js\";import{property as s}from\"../core/accessorSupport/decorators/property.js\";import\"../core/has.js\";import\"../core/Logger.js\";import{enumeration as i}from\"../core/accessorSupport/decorators/enumeration.js\";import{subclass as n}from\"../core/accessorSupport/decorators/subclass.js\";import l from\"./LineSymbol.js\";import a from\"./LineSymbolMarker.js\";var h;const p=new r({esriSLSSolid:\"solid\",esriSLSDash:\"dash\",esriSLSDot:\"dot\",esriSLSDashDot:\"dash-dot\",esriSLSDashDotDot:\"long-dash-dot-dot\",esriSLSNull:\"none\",esriSLSShortDash:\"short-dash\",esriSLSShortDot:\"short-dot\",esriSLSShortDashDot:\"short-dash-dot\",esriSLSShortDashDotDot:\"short-dash-dot-dot\",esriSLSLongDash:\"long-dash\",esriSLSLongDashDot:\"long-dash-dot\"});let m=h=class extends l{constructor(...o){super(...o),this.type=\"simple-line\",this.style=\"solid\",this.cap=\"round\",this.join=\"round\",this.marker=null,this.miterLimit=2}normalizeCtorArgs(o,r,t,s,i,n){if(o&&\"string\"!=typeof o)return o;const l={};return null!=o&&(l.style=o),null!=r&&(l.color=r),null!=t&&(l.width=e(t)),null!=s&&(l.cap=s),null!=i&&(l.join=i),null!=n&&(l.miterLimit=e(n)),l}clone(){return new h({color:t(this.color),style:this.style,width:this.width,cap:this.cap,join:this.join,miterLimit:this.miterLimit,marker:this.marker?.clone()})}hash(){return`${super.hash()}.${this.color?.hash()}.${this.style}.${this.cap}.${this.join}.${this.miterLimit}.${this.marker?.hash()}`}};o([i({esriSLS:\"simple-line\"},{readOnly:!0})],m.prototype,\"type\",void 0),o([s({type:p.apiValues,json:{read:p.read,write:p.write}})],m.prototype,\"style\",void 0),o([s({type:[\"butt\",\"round\",\"square\"],json:{write:{overridePolicy:(o,r,t)=>({enabled:\"round\"!==o&&null==t?.origin})}}})],m.prototype,\"cap\",void 0),o([s({type:[\"miter\",\"round\",\"bevel\"],json:{write:{overridePolicy:(o,r,t)=>({enabled:\"round\"!==o&&null==t?.origin})}}})],m.prototype,\"join\",void 0),o([s({types:{key:\"type\",base:null,defaultKeyValue:\"line-marker\",typeMap:{\"line-marker\":a}},json:{write:!0,origins:{\"web-scene\":{write:!1}}}})],m.prototype,\"marker\",void 0),o([s({type:Number,json:{read:!1,write:!1}})],m.prototype,\"miterLimit\",void 0),m=h=o([n(\"esri.symbols.SimpleLineSymbol\")],m);const d=m;export{d as default};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{_ as o}from\"../chunks/tslib.es6.js\";import e from\"../Color.js\";import{JSONMap as r}from\"../core/jsonMap.js\";import{clone as t}from\"../core/lang.js\";import{toPt as s}from\"../core/screenUtils.js\";import{property as i}from\"../core/accessorSupport/decorators/property.js\";import\"../core/has.js\";import\"../core/Logger.js\";import{enumeration as l}from\"../core/accessorSupport/decorators/enumeration.js\";import{subclass as p}from\"../core/accessorSupport/decorators/subclass.js\";import{writer as a}from\"../core/accessorSupport/decorators/writer.js\";import n from\"./MarkerSymbol.js\";import c from\"./SimpleLineSymbol.js\";var h;const m=new r({esriSMSCircle:\"circle\",esriSMSSquare:\"square\",esriSMSCross:\"cross\",esriSMSX:\"x\",esriSMSDiamond:\"diamond\",esriSMSTriangle:\"triangle\",esriSMSPath:\"path\"});let u=h=class extends n{constructor(...o){super(...o),this.color=new e([255,255,255,.25]),this.type=\"simple-marker\",this.size=12,this.style=\"circle\",this.outline=new c}normalizeCtorArgs(o,e,r,t){if(o&&\"string\"!=typeof o)return o;const i={};return o&&(i.style=o),null!=e&&(i.size=s(e)),r&&(i.outline=r),t&&(i.color=t),i}writeColor(o,e){o&&\"x\"!==this.style&&\"cross\"!==this.style&&(e.color=o.toJSON()),null===o&&(e.color=null)}set path(o){this.style=\"path\",this._set(\"path\",o)}clone(){return new h({angle:this.angle,color:t(this.color),outline:this.outline&&this.outline.clone(),path:this.path,size:this.size,style:this.style,xoffset:this.xoffset,yoffset:this.yoffset})}hash(){return`${super.hash()}.${this.color&&this.color.hash()}.${this.path}.${this.style}.${this.outline?.hash()}`}};o([i()],u.prototype,\"color\",void 0),o([a(\"color\")],u.prototype,\"writeColor\",null),o([l({esriSMS:\"simple-marker\"},{readOnly:!0})],u.prototype,\"type\",void 0),o([i()],u.prototype,\"size\",void 0),o([i({type:m.apiValues,json:{read:m.read,write:m.write}})],u.prototype,\"style\",void 0),o([i({type:String,json:{write:!0}})],u.prototype,\"path\",null),o([i({types:{key:\"type\",base:null,defaultKeyValue:\"simple-line\",typeMap:{\"simple-line\":c}},json:{default:null,write:!0}})],u.prototype,\"outline\",void 0),u=h=o([p(\"esri.symbols.SimpleMarkerSymbol\")],u);const y=u;export{y as default};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{_ as o}from\"../chunks/tslib.es6.js\";import r from\"../Color.js\";import{JSONMap as e}from\"../core/jsonMap.js\";import{JSONSupport as s}from\"../core/JSONSupport.js\";import{property as t}from\"../core/accessorSupport/decorators/property.js\";import\"../core/has.js\";import\"../core/Logger.js\";import\"../core/RandomLCG.js\";import{reader as l}from\"../core/accessorSupport/decorators/reader.js\";import{subclass as i}from\"../core/accessorSupport/decorators/subclass.js\";const p=new e({esriSMS:\"simple-marker\",esriPMS:\"picture-marker\",esriSLS:\"simple-line\",esriSFS:\"simple-fill\",esriPFS:\"picture-fill\",esriTS:\"text\",esriSHD:\"shield-label-symbol\",PointSymbol3D:\"point-3d\",LineSymbol3D:\"line-3d\",PolygonSymbol3D:\"polygon-3d\",WebStyleSymbol:\"web-style\",MeshSymbol3D:\"mesh-3d\",LabelSymbol3D:\"label-3d\",CIMSymbolReference:\"cim\"});let m=0,c=class extends s{constructor(o){super(o),this.id=\"sym\"+m++,this.type=null,this.color=new r([0,0,0,1])}readColor(o){return null!=o?.[0]?[o[0],o[1],o[2],o[3]/255]:o}async collectRequiredFields(o,r){}hash(){return JSON.stringify(this.toJSON())}clone(){}};o([t({type:p.apiValues,readOnly:!0,json:{read:!1,write:{ignoreOrigin:!0,writer:p.write}}})],c.prototype,\"type\",void 0),o([t({type:r,json:{write:{allowNull:!0}}})],c.prototype,\"color\",void 0),o([l(\"color\")],c.prototype,\"readColor\",null),c=o([i(\"esri.symbols.Symbol\")],c);const n=c;export{n as default};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{_ as e}from\"../chunks/tslib.es6.js\";import r from\"../core/Collection.js\";import{referenceSetter as t,castForReferenceSetter as o}from\"../core/collectionUtils.js\";import s from\"../core/Logger.js\";import{isAbsolute as l,normalize as i,hasSamePortal as a}from\"../core/urlUtils.js\";import m from\"../core/Warning.js\";import{property as y}from\"../core/accessorSupport/decorators/property.js\";import{cast as n}from\"../core/accessorSupport/decorators/cast.js\";import\"../core/RandomLCG.js\";import\"../core/has.js\";import{reader as p}from\"../core/accessorSupport/decorators/reader.js\";import{subclass as c}from\"../core/accessorSupport/decorators/subclass.js\";import{writer as b}from\"../core/accessorSupport/decorators/writer.js\";import u from\"../portal/Portal.js\";import{f,t as d}from\"../chunks/persistableUrlUtils.js\";import g from\"./ExtrudeSymbol3DLayer.js\";import j from\"./FillSymbol3DLayer.js\";import h from\"./IconSymbol3DLayer.js\";import S from\"./LineSymbol3DLayer.js\";import L from\"./ObjectSymbol3DLayer.js\";import O from\"./PathSymbol3DLayer.js\";import _ from\"./Symbol.js\";import U from\"./Symbol3DLayer.js\";import D from\"./TextSymbol3DLayer.js\";import w from\"./WaterSymbol3DLayer.js\";import N from\"./support/StyleOrigin.js\";import{Thumbnail as x}from\"./support/Thumbnail.js\";const v={icon:h,object:L,line:S,path:O,fill:j,extrude:g,text:D,water:w},C=r.ofType({base:U,key:\"type\",typeMap:v,errorContext:\"symbol-layer\"});let T=class extends _{constructor(e){super(e),this.styleOrigin=null,this.thumbnail=null,this.type=null;const t=this.__accessor__&&this.__accessor__.metadata&&this.__accessor__.metadata.symbolLayers,o=t?.type,s=o||r;this._set(\"symbolLayers\",new s)}get color(){return null}set color(e){this.constructed&&s.getLogger(this).error(\"Symbol3D does not support colors on the symbol level. Colors may be set on individual symbol layer materials instead.\")}set symbolLayers(e){t(e,this._get(\"symbolLayers\"))}readStyleOrigin(e,r,t){if(e.styleUrl&&e.name){const r=f(e.styleUrl,t);return new N({styleUrl:r,name:e.name})}if(e.styleName&&e.name)return new N({portal:t?.portal||u.getDefault(),styleName:e.styleName,name:e.name});t?.messages&&t.messages.push(new m(\"symbol3d:incomplete-style-origin\",\"Style origin requires either a 'styleUrl' or 'styleName' and a 'name' property\",{context:t,definition:e}))}writeStyleOrigin(e,r,t,o){if(e.styleUrl&&e.name){let t=d(e.styleUrl,o);l(t)&&(t=i(t)),r.styleOrigin={styleUrl:t,name:e.name}}else e.styleName&&e.name&&(e.portal&&o?.portal&&!a(e.portal.restUrl,o.portal.restUrl)?o?.messages&&o.messages.push(new m(\"symbol:cross-portal\",\"The symbol style origin cannot be persisted because it refers to an item on a different portal than the one being saved to.\",{symbol:this})):r.styleOrigin={styleName:e.styleName,name:e.name})}normalizeCtorArgs(e){return e instanceof U||e&&v[e.type]?{symbolLayers:[e]}:Array.isArray(e)?{symbolLayers:e}:e}};e([y({json:{read:!1,write:!1}})],T.prototype,\"color\",null),e([y({type:C,nonNullable:!0,json:{write:!0}}),n(o)],T.prototype,\"symbolLayers\",null),e([y({type:N})],T.prototype,\"styleOrigin\",void 0),e([p(\"styleOrigin\")],T.prototype,\"readStyleOrigin\",null),e([b(\"styleOrigin\",{\"styleOrigin.styleUrl\":{type:String},\"styleOrigin.styleName\":{type:String},\"styleOrigin.name\":{type:String}})],T.prototype,\"writeStyleOrigin\",null),e([y({type:x,json:{read:!1}})],T.prototype,\"thumbnail\",void 0),e([y({type:[\"point-3d\",\"line-3d\",\"polygon-3d\",\"mesh-3d\",\"label-3d\"],readOnly:!0})],T.prototype,\"type\",void 0),T=e([c(\"esri.symbols.Symbol3D\")],T);const k=T;export{k as default};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{_ as e}from\"../chunks/tslib.es6.js\";import{JSONSupport as r}from\"../core/JSONSupport.js\";import{property as o}from\"../core/accessorSupport/decorators/property.js\";import\"../core/has.js\";import\"../core/Logger.js\";import\"../core/RandomLCG.js\";import{subclass as t}from\"../core/accessorSupport/decorators/subclass.js\";import{writer as s}from\"../core/accessorSupport/decorators/writer.js\";let p=class extends r{constructor(e){super(e),this.enabled=!0,this.type=null,this.ignoreDrivers=!1}writeEnabled(e,r,o){e||(r[o]=e)}};e([o({type:Boolean,json:{read:{source:\"enable\"},write:{target:\"enable\"}}})],p.prototype,\"enabled\",void 0),e([s(\"enabled\")],p.prototype,\"writeEnabled\",null),e([o({type:[\"icon\",\"object\",\"line\",\"path\",\"fill\",\"water\",\"extrude\",\"text\"],readOnly:!0})],p.prototype,\"type\",void 0),p=e([t(\"esri.symbols.Symbol3DLayer\")],p);const a=p;export{a as default};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{_ as t}from\"../chunks/tslib.es6.js\";import o from\"../Color.js\";import{clone as e}from\"../core/lang.js\";import{toPt as i}from\"../core/screenUtils.js\";import{property as r}from\"../core/accessorSupport/decorators/property.js\";import{cast as s}from\"../core/accessorSupport/decorators/cast.js\";import{enumeration as n}from\"../core/accessorSupport/decorators/enumeration.js\";import{subclass as h}from\"../core/accessorSupport/decorators/subclass.js\";import{writer as l}from\"../core/accessorSupport/decorators/writer.js\";import p from\"./Font.js\";import a from\"./Symbol.js\";import{horizontalAlignmentProperty as d,verticalAlignmentProperty as c,lineHeightProperty as y}from\"./support/textUtils.js\";var f;let g=f=class extends a{constructor(...t){super(...t),this.backgroundColor=null,this.borderLineColor=null,this.borderLineSize=null,this.font=new p,this.horizontalAlignment=\"center\",this.kerning=!0,this.haloColor=null,this.haloSize=null,this.rightToLeft=null,this.rotated=!1,this.text=\"\",this.type=\"text\",this.verticalAlignment=\"baseline\",this.xoffset=0,this.yoffset=0,this.angle=0,this.width=null,this.lineWidth=192,this.lineHeight=1}normalizeCtorArgs(t,o,e){if(t&&\"string\"!=typeof t)return t;const i={};return t&&(i.text=t),o&&(i.font=o),e&&(i.color=e),i}writeLineWidth(t,o,e,i){i&&\"string\"!=typeof i?i.origin:o[e]=t}castLineWidth(t){return i(t)}writeLineHeight(t,o,e,i){i&&\"string\"!=typeof i?i.origin:o[e]=t}clone(){return new f({angle:this.angle,backgroundColor:e(this.backgroundColor),borderLineColor:e(this.borderLineColor),borderLineSize:this.borderLineSize,color:e(this.color),font:this.font&&this.font.clone(),haloColor:e(this.haloColor),haloSize:this.haloSize,horizontalAlignment:this.horizontalAlignment,kerning:this.kerning,lineHeight:this.lineHeight,lineWidth:this.lineWidth,rightToLeft:this.rightToLeft,rotated:this.rotated,text:this.text,verticalAlignment:this.verticalAlignment,width:this.width,xoffset:this.xoffset,yoffset:this.yoffset})}hash(){return`${this.backgroundColor?.hash()}.${this.borderLineColor}.${this.borderLineSize}.${this.color?.hash()}.${this.font&&this.font.hash()}.${this.haloColor?.hash()}.${this.haloSize}.${this.horizontalAlignment}.${this.kerning}.${this.rightToLeft}.${this.rotated}.${this.text}.${this.verticalAlignment}.${this.width}.${this.xoffset}.${this.yoffset}.${this.lineHeight}.${this.lineWidth}.${this.angle}`}};t([r({type:o,json:{write:!0}})],g.prototype,\"backgroundColor\",void 0),t([r({type:o,json:{write:!0}})],g.prototype,\"borderLineColor\",void 0),t([r({type:Number,json:{write:!0},cast:i})],g.prototype,\"borderLineSize\",void 0),t([r({type:p,json:{write:!0}})],g.prototype,\"font\",void 0),t([r({...d,json:{write:!0}})],g.prototype,\"horizontalAlignment\",void 0),t([r({type:Boolean,json:{write:!0}})],g.prototype,\"kerning\",void 0),t([r({type:o,json:{write:!0}})],g.prototype,\"haloColor\",void 0),t([r({type:Number,cast:i,json:{write:!0}})],g.prototype,\"haloSize\",void 0),t([r({type:Boolean,json:{write:!0}})],g.prototype,\"rightToLeft\",void 0),t([r({type:Boolean,json:{write:!0}})],g.prototype,\"rotated\",void 0),t([r({type:String,json:{write:!0}})],g.prototype,\"text\",void 0),t([n({esriTS:\"text\"},{readOnly:!0})],g.prototype,\"type\",void 0),t([r({...c,json:{write:!0}})],g.prototype,\"verticalAlignment\",void 0),t([r({type:Number,cast:i,json:{write:!0}})],g.prototype,\"xoffset\",void 0),t([r({type:Number,cast:i,json:{write:!0}})],g.prototype,\"yoffset\",void 0),t([r({type:Number,json:{read:t=>t&&-1*t,write:(t,o)=>o.angle=t&&-1*t}})],g.prototype,\"angle\",void 0),t([r({type:Number,json:{write:!0}})],g.prototype,\"width\",void 0),t([r({type:Number})],g.prototype,\"lineWidth\",void 0),t([l(\"lineWidth\")],g.prototype,\"writeLineWidth\",null),t([s(\"lineWidth\")],g.prototype,\"castLineWidth\",null),t([r(y)],g.prototype,\"lineHeight\",void 0),t([l(\"lineHeight\")],g.prototype,\"writeLineHeight\",null),g=f=t([h(\"esri.symbols.TextSymbol\")],g);const m=g;export{m as default};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{_ as t}from\"../chunks/tslib.es6.js\";import{clone as o}from\"../core/lang.js\";import{property as e}from\"../core/accessorSupport/decorators/property.js\";import\"../core/has.js\";import\"../core/Logger.js\";import{enumeration as r}from\"../core/accessorSupport/decorators/enumeration.js\";import{subclass as i}from\"../core/accessorSupport/decorators/subclass.js\";import{writer as n}from\"../core/accessorSupport/decorators/writer.js\";import l from\"./Font.js\";import s from\"./Symbol3DLayer.js\";import{screenSizeProperty as a}from\"./support/materialUtils.js\";import{Symbol3DHalo as p}from\"./support/Symbol3DHalo.js\";import{Symbol3DMaterial as u}from\"./support/Symbol3DMaterial.js\";import{Symbol3DTextBackground as h}from\"./support/Symbol3DTextBackground.js\";import{horizontalAlignmentProperty as m,lineHeightProperty as c,verticalAlignmentProperty as f}from\"./support/textUtils.js\";var g;let y=g=class extends s{constructor(t){super(t),this._userSize=void 0,this.halo=null,this.horizontalAlignment=\"center\",this.lineHeight=1,this.material=null,this.background=null,this.text=null,this.type=\"text\",this.verticalAlignment=\"baseline\"}get font(){return this._get(\"font\")||null}set font(t){null!=t&&null!=this._userSize&&(t.size=this._userSize),this._set(\"font\",t)}writeFont(t,o,e,r){const i={...r,textSymbol3D:!0};o.font=t.write({},i),delete o.font.size}get size(){return null!=this._userSize?this._userSize:null!=this.font?.size?this.font.size:9}set size(t){this._userSize=t,null!=this.font&&(this.font.size=this._userSize),this.notifyChange(\"size\")}clone(){const t=new g({enabled:this.enabled,font:this.font&&o(this.font),halo:this.halo&&o(this.halo),horizontalAlignment:this.horizontalAlignment,lineHeight:this.lineHeight,material:null!=this.material?this.material.clone():null,text:this.text,verticalAlignment:this.verticalAlignment,background:o(this.background)});return t._userSize=this._userSize,t}static fromTextSymbol(t){return new g({font:null!=t.font?t.font.clone():new l,halo:d(t.haloColor,t.haloSize),horizontalAlignment:t.horizontalAlignment,lineHeight:t.lineHeight,material:t.color?new u({color:t.color.clone()}):null,text:t.text,verticalAlignment:t.verticalAlignment,background:t.backgroundColor?new h({color:t.backgroundColor.clone()}):null})}};function d(t,e){return t&&null!=e&&e>0?new p({color:o(t),size:e}):null}t([e({type:l,json:{write:!0}})],y.prototype,\"font\",null),t([n(\"font\")],y.prototype,\"writeFont\",null),t([e({type:p,json:{write:!0}})],y.prototype,\"halo\",void 0),t([e({...m,json:{default:\"center\",write:!0}})],y.prototype,\"horizontalAlignment\",void 0),t([e({...c,json:{default:1,write:!0}})],y.prototype,\"lineHeight\",void 0),t([e({type:u,json:{write:!0}})],y.prototype,\"material\",void 0),t([e({type:h,json:{write:!0}})],y.prototype,\"background\",void 0),t([e(a)],y.prototype,\"size\",null),t([e({type:String,json:{write:!0}})],y.prototype,\"text\",void 0),t([r({Text:\"text\"},{readOnly:!0})],y.prototype,\"type\",void 0),t([e({...f,json:{default:\"baseline\",write:!0}})],y.prototype,\"verticalAlignment\",void 0),y=g=t([i(\"esri.symbols.TextSymbol3DLayer\")],y);const z=y;export{z as default};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{_ as e}from\"../chunks/tslib.es6.js\";import o from\"../Color.js\";import{clone as r}from\"../core/lang.js\";import{property as t}from\"../core/accessorSupport/decorators/property.js\";import{Integer as s}from\"../core/accessorSupport/ensureType.js\";import{enumeration as a}from\"../core/accessorSupport/decorators/enumeration.js\";import{subclass as i}from\"../core/accessorSupport/decorators/subclass.js\";import p from\"./Symbol3DLayer.js\";var l;let c=l=class extends p{constructor(e){super(e),this.color=n.clone(),this.type=\"water\",this.waterbodySize=\"medium\",this.waveDirection=null,this.waveStrength=\"moderate\"}clone(){return new l({color:r(this.color),waterbodySize:this.waterbodySize,waveDirection:this.waveDirection,waveStrength:this.waveStrength})}};e([t({type:o,nonNullable:!0,json:{type:[s],write:(e,r,t)=>r[t]=e.toArray(o.AlphaMode.UNLESS_OPAQUE),default:()=>n.clone(),defaultEquals:e=>e.toCss(!0)===n.toCss(!0)}})],c.prototype,\"color\",void 0),e([a({Water:\"water\"},{readOnly:!0})],c.prototype,\"type\",void 0),e([t({type:[\"small\",\"medium\",\"large\"],json:{write:!0,default:\"medium\"}})],c.prototype,\"waterbodySize\",void 0),e([t({type:Number,json:{write:!0,default:null}})],c.prototype,\"waveDirection\",void 0),e([t({type:[\"calm\",\"rippled\",\"slight\",\"moderate\"],json:{write:!0,default:\"moderate\"}})],c.prototype,\"waveStrength\",void 0),c=l=e([i(\"esri.symbols.WaterSymbol3DLayer\")],c);const m=c,n=new o([0,119,190]);export{m as default};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{_ as t}from\"../chunks/tslib.es6.js\";import e from\"../core/Logger.js\";import{throwIfAborted as o}from\"../core/promiseUtils.js\";import{property as r}from\"../core/accessorSupport/decorators/property.js\";import\"../core/has.js\";import\"../core/RandomLCG.js\";import{enumeration as s}from\"../core/accessorSupport/decorators/enumeration.js\";import{subclass as l}from\"../core/accessorSupport/decorators/subclass.js\";import i from\"../portal/Portal.js\";import{r as p,w as a}from\"../chunks/persistableUrlUtils.js\";import n from\"./Symbol.js\";import{Thumbnail as m}from\"./support/Thumbnail.js\";var c;let y=c=class extends n{constructor(t){super(t),this.color=null,this.styleName=null,this.portal=null,this.styleUrl=null,this.thumbnail=null,this.name=null,this.type=\"web-style\"}get _fetchCacheKey(){const t=null!=this.portal?this.portal:i.getDefault(),e=t.user?t.user.username:null;return`${this.styleName}:${this.styleUrl}:${this.name}:${e}:${t.url}`}read(t,e){this.portal=e?.portal,super.read(t,e)}clone(){return new c({name:this.name,styleUrl:this.styleUrl,styleName:this.styleName,portal:this.portal})}fetchSymbol(t){return this._fetchSymbol(\"webRef\",t)}fetchCIMSymbol(t){return this._fetchSymbol(\"cimRef\",t)}async _fetchSymbol(t,r){const s=null!=r?r.cache:null,l=s?this._fetchCacheKey:null;if(null!=s){const t=l&&s.get(l);if(t)return t.clone()}const{resolveWebStyleSymbol:i}=await import(\"./support/webStyleSymbolUtils.js\");o(r);const p=i(this,{portal:this.portal},t,r);p.catch((t=>{e.getLogger(this).error(\"#fetchSymbol()\",\"Failed to create symbol from style\",t)}));const a=await p;return\"webRef\"===t&&\"point-3d\"===a.type||\"cimRef\"===t&&\"cim\"===a.type?(null!=s&&s.set(l,a.clone()),a):null}};t([r({json:{write:!1}})],y.prototype,\"color\",void 0),t([r({type:String,json:{write:!0}})],y.prototype,\"styleName\",void 0),t([r({type:i,json:{write:!1}})],y.prototype,\"portal\",void 0),t([r({type:String,json:{read:p,write:a}})],y.prototype,\"styleUrl\",void 0),t([r({type:m,json:{read:!1}})],y.prototype,\"thumbnail\",void 0),t([r({type:String,json:{write:!0}})],y.prototype,\"name\",void 0),t([s({styleSymbolReference:\"web-style\"},{readOnly:!0})],y.prototype,\"type\",void 0),t([r()],y.prototype,\"_fetchCacheKey\",null),y=c=t([l(\"esri.symbols.WebStyleSymbol\")],y);const h=y;export{h as default};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{_ as o}from\"../../chunks/tslib.es6.js\";import{JSONSupport as r}from\"../../core/JSONSupport.js\";import{property as s}from\"../../core/accessorSupport/decorators/property.js\";import\"../../core/has.js\";import\"../../core/Logger.js\";import\"../../core/RandomLCG.js\";import{subclass as e}from\"../../core/accessorSupport/decorators/subclass.js\";let t=class extends r{constructor(o){super(o),this.visible=!0}clone(){throw new Error(\"Subclasses of Callout3D should implement their own clone method.\")}};o([s({type:[\"line\"],constructOnly:!0,json:{read:!1,write:{ignoreOrigin:!0}}})],t.prototype,\"type\",void 0),o([s({readOnly:!0})],t.prototype,\"visible\",void 0),t=o([e(\"esri.symbols.callouts.Callout3D\")],t);const c=t;export{c as default};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{_ as o}from\"../../chunks/tslib.es6.js\";import r from\"../../Color.js\";import{clone as t}from\"../../core/lang.js\";import{px2pt as s}from\"../../core/screenUtils.js\";import{property as e}from\"../../core/accessorSupport/decorators/property.js\";import\"../../core/has.js\";import\"../../core/Logger.js\";import{enumeration as i}from\"../../core/accessorSupport/decorators/enumeration.js\";import{subclass as l}from\"../../core/accessorSupport/decorators/subclass.js\";import p from\"./Callout3D.js\";import c from\"./LineCallout3DBorder.js\";import{colorAndTransparencyProperty as m,screenSizeProperty as a}from\"../support/materialUtils.js\";var n;let u=n=class extends p{constructor(o){super(o),this.type=\"line\",this.color=new r([0,0,0,1]),this.size=s(1),this.border=null}get visible(){return this.size>0&&null!=this.color&&this.color.a>0}clone(){return new n({color:t(this.color),size:this.size,border:t(this.border)})}};o([i({line:\"line\"})],u.prototype,\"type\",void 0),o([e(m)],u.prototype,\"color\",void 0),o([e(a)],u.prototype,\"size\",void 0),o([e({type:c,json:{write:!0}})],u.prototype,\"border\",void 0),o([e({readOnly:!0})],u.prototype,\"visible\",null),u=n=o([l(\"esri.symbols.callouts.LineCallout3D\")],u);const d=u;export{d as default};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{_ as o}from\"../../chunks/tslib.es6.js\";import r from\"../../Color.js\";import{JSONSupport as s}from\"../../core/JSONSupport.js\";import{clone as t}from\"../../core/lang.js\";import{property as e}from\"../../core/accessorSupport/decorators/property.js\";import\"../../core/has.js\";import\"../../core/Logger.js\";import{subclass as c}from\"../../core/accessorSupport/decorators/subclass.js\";import{colorAndTransparencyProperty as p}from\"../support/materialUtils.js\";var l;let i=l=class extends s{constructor(o){super(o),this.color=new r(\"white\")}clone(){return new l({color:t(this.color)})}};o([e(p)],i.prototype,\"color\",void 0),i=l=o([c(\"esri.symbols.callouts.LineCallout3DBorder\")],i);const m=i;export{m as default};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport t from\"./Callout3D.js\";import n from\"./LineCallout3D.js\";function e(t){if(!t)return!1;const n=t.verticalOffset;return!!n&&!(n.screenLength<=0||null!=n.maxWorldLength&&n.maxWorldLength<=0)}function r(t){if(!t)return!1;if(!t.supportsCallout||!t.supportsCallout())return!1;const n=t.callout;return!!n&&(!!n.visible&&!!e(t))}function o(t){return\"point-3d\"===t.type||\"label-3d\"===t.type}function l(t){return\"center\"===t.horizontalAlignment}const u={types:{key:\"type\",base:t,typeMap:{line:n}},json:{write:!0}};export{u as calloutProperty,o as hasCalloutSupport,r as hasVisibleCallout,e as hasVisibleVerticalOffset,l as textSymbolLayerSupportsVerticalOffset};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport e from\"../../Color.js\";import{isRGB as r}from\"../../core/colorUtils.js\";import{clone as i}from\"../../core/lang.js\";import{createRendererExpression as t}from\"../../support/arcadeOnDemand.js\";import{normalizeDashEffectTemplate as s,toLowerCaseProps as o,normalizePrimitiveOverrideProps as a,attributesToFields as c,analyzeTextParts as l,assignTextValuesFromFeature as n,uncapitalize as p}from\"./utils.js\";import f from\"../../views/2d/arcade/callExpressionWithFeature.js\";const m=e=>{if(!e)return[0,0,0,0];const{r,g:i,b:t,a:s}=e;return[r,i,t,255*s]};class y{static findApplicableOverrides(e,r,i){if(e&&r){if(e.primitiveName){let t=!1;for(const r of i)if(r.primitiveName===e.primitiveName){t=!0;break}if(!t)for(const s of r)s.primitiveName===e.primitiveName&&i.push(s)}switch(e.type){case\"CIMPointSymbol\":case\"CIMLineSymbol\":case\"CIMPolygonSymbol\":if(e.effects)for(const t of e.effects)y.findApplicableOverrides(t,r,i);if(e.symbolLayers)for(const t of e.symbolLayers)y.findApplicableOverrides(t,r,i);break;case\"CIMTextSymbol\":break;case\"CIMSolidStroke\":case\"CIMPictureStroke\":case\"CIMGradientStroke\":case\"CIMSolidFill\":case\"CIMPictureFill\":case\"CIMHatchFill\":case\"CIMGradientFill\":case\"CIMVectorMarker\":case\"CIMCharacterMarker\":case\"CIMPictureMarker\":if(e.effects)for(const t of e.effects)y.findApplicableOverrides(t,r,i);if(e.markerPlacement&&y.findApplicableOverrides(e.markerPlacement,r,i),\"CIMVectorMarker\"===e.type){if(e.markerGraphics)for(const t of e.markerGraphics)y.findApplicableOverrides(t,r,i),y.findApplicableOverrides(t.symbol,r,i)}else\"CIMCharacterMarker\"===e.type?y.findApplicableOverrides(e.symbol,r,i):\"CIMHatchFill\"===e.type?y.findApplicableOverrides(e.lineSymbol,r,i):\"CIMPictureMarker\"===e.type&&y.findApplicableOverrides(e.animatedSymbolProperties,r,i)}}}static findEffectOverrides(e,r){if(!e)return null;if(\"CIMGeometricEffectDashes\"===e.type&&s(e),!r||!e.primitiveName)return{type:\"cim-effect-param\",effect:e,overrides:[]};const i=o(e),t=e.primitiveName,c=[];for(const s of r)s.primitiveName===t&&c.push(o(s));return{type:\"cim-effect-param\",effect:i,overrides:a(c)}}static async resolveSymbolOverrides(e,r,t,s,o,a,l){if(!e?.symbol)return null;let{symbol:n,primitiveOverrides:p}=e;const f=!!p;if(!f&&!s)return n;n=i(n),p=i(p);let m=!0;if(r||(r={attributes:{}},m=!1),f){if(m||(p=p.filter((e=>!e.valueExpressionInfo?.expression.includes(\"$feature\")))),l||(p=p.filter((e=>!e.valueExpressionInfo?.expression.includes(\"$view\")))),p.length>0){const e={spatialReference:t,fields:c(r.attributes),geometryType:o};await y.createRenderExpressions(p,e),y.evaluateOverrides(p,r,o??\"esriGeometryPoint\",a,l)}y.applyOverrides(n,p)}return s&&y.applyDictionaryTextOverrides(n,r,s,null),n}static async createRenderExpressions(e,r){const i=[];for(const s of e){const e=s.valueExpressionInfo;if(!e||y._expressionToRenderExpression.has(e.expression))continue;const o=t(e.expression,r.spatialReference,r.fields);i.push(o),o.then((r=>y._expressionToRenderExpression.set(e.expression,r)))}i.length>0&&await Promise.all(i)}static evaluateOverrides(e,i,t,s,o){const a={$view:{scale:o?.scale}};for(const c of e){c.value&&\"object\"==typeof c.value&&r(c.value)&&(\"Color\"===c.propertyName||\"StrokeColor\"===c.propertyName)&&(c.value=m(c.value));const e=c.valueExpressionInfo;if(!e)continue;const o=y._expressionToRenderExpression.get(e.expression);o&&(c.value=f(o,i,a,t,s))}}static applyDictionaryTextOverrides(e,r,i,t,s=\"Normal\"){if(e?.type)switch(e.type){case\"CIMPointSymbol\":case\"CIMLineSymbol\":case\"CIMPolygonSymbol\":case\"CIMTextSymbol\":{const o=e.symbolLayers;if(!o)return;for(const a of o)a&&\"CIMVectorMarker\"===a.type&&y.applyDictionaryTextOverrides(a,r,i,t,\"CIMTextSymbol\"===e.type?e.textCase:s)}break;case\"CIMVectorMarker\":{const s=e.markerGraphics;if(!s)return;for(const e of s)e&&y.applyDictionaryTextOverrides(e,r,i,t)}break;case\"CIMMarkerGraphic\":{const o=e.textString;if(o&&o.includes(\"[\")){const a=l(o,i);e.textString=n(r,a,t,s)}}}}static applyOverrides(e,r,i,t){if(e.primitiveName)for(const s of r)if(s.primitiveName===e.primitiveName){const r=p(s.propertyName);if(t&&t.push({cim:e,nocapPropertyName:r,value:e[r]}),i){let r=!1;for(const t of i)t.primitiveName===e.primitiveName&&(r=!0);r||i.push(s)}null!=s.value&&(e[r]=s.value)}switch(e.type){case\"CIMPointSymbol\":case\"CIMLineSymbol\":case\"CIMPolygonSymbol\":if(e.effects)for(const s of e.effects)y.applyOverrides(s,r,i,t);if(e.symbolLayers)for(const s of e.symbolLayers)y.applyOverrides(s,r,i,t);break;case\"CIMTextSymbol\":break;case\"CIMSolidStroke\":case\"CIMSolidFill\":case\"CIMVectorMarker\":if(e.effects)for(const s of e.effects)y.applyOverrides(s,r,i,t);if(\"CIMVectorMarker\"===e.type&&e.markerGraphics)for(const s of e.markerGraphics)y.applyOverrides(s,r,i,t),y.applyOverrides(s.symbol,r,i,t)}}static restoreOverrides(e){for(const r of e)r.cim[r.nocapPropertyName]=r.value}static buildOverrideKey(e){let r=\"\";for(const i of e)void 0!==i.value&&(r+=`${i.primitiveName}${i.propertyName}${JSON.stringify(i.value)}`);return r}static toValue(r,i){if(\"DashTemplate\"===r)return i.split(\" \").map((e=>Number(e)));if(\"Color\"===r){const r=new e(i).toRgba();return r[3]*=255,r}return i}}y._expressionToRenderExpression=new Map;export{y as OverrideHelper};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{AnimatedSymbolRepeatType as e,AnimatedSymbolEasingType as t}from\"./enums.js\";const o={color:[128,128,128,1],outlinecolor:[0,0,0,1],backgroundcolor:[128,128,128,1],borderlinecolor:[0,0,0,1],tintcolor:[255,255,255,1]},i={CIMVectorMarker:{scalesymbolsproportionally:!1,respectframe:!0,anchorpointunits:\"Relative\",offsetx:0,offsety:0,rotateclockwise:!1,rotation:0,size:10,enable:!0,colorlocked:!1},CIMPictureMarker:{scalex:1,texturefilter:\"Draft\",anchorpointunits:\"Relative\",offsetx:0,offsety:0,rotateclockwise:!1,rotation:0,size:10,enable:!0,colorlocked:!1},CIMTextSymbol:{angle:0,anglex:0,angley:0,halosize:1,height:10,horizontalalignment:\"Left\",kerning:!0,letterspacing:0,letterwidth:100,ligatures:!0,linegap:0,offsetx:0,offsety:0,strikethrough:!1,textcase:\"Normal\",textstring:\"\",underline:!1,verticalalignment:\"Bottom\",enable:!0,colorlocked:!1},CIMSolidStroke:{capstyle:\"Round\",joinstyle:\"Round\",miterlimit:4,width:4,enable:!0,colorlocked:!1},CIMPictureStroke:{texturefilter:\"Draft\",capstyle:\"Round\",joinstyle:\"Round\",miterlimit:4,width:4,enable:!0,colorlocked:!1},CIMGradientStroke:{capstyle:\"Round\",joinstyle:\"Round\",miterlimit:4,width:4,enable:!0,colorlocked:!1},CIMSolidFill:{enable:!0,colorlocked:!1},CIMPictureFill:{offsetx:0,offsety:0,rotation:0,scalex:1,height:10,texturefilter:\"Draft\",enable:!0,colorlocked:!1},CIMHatchFill:{offsetx:0,offsety:0,rotation:0,separation:4,enable:!0,colorlocked:!1},CIMGeometricEffectAddControlPoints:{angletolerance:120},CIMGeometricEffectArrow:{arrowtype:\"OpenEnded\",width:5},CIMGeometricEffectBuffer:{size:1},CIMGeometricEffectCut:{begincut:1,endcut:1,middlecut:0,invert:!1},CIMGeometricEffectDashes:{customendingoffset:0,linedashending:\"NoConstraint\",offsetalongline:0},CIMGeometricEffectDonut:{method:\"Mitered\",option:\"Accurate\",width:2},CIMGeometricEffectJog:{angle:225,length:20,position:50},CIMGeometricEffectControlMeasureLine:{rule:\"FullGeometry\"},CIMGeometricEffectMove:{offsetx:1,offsety:-1},CIMGeometricEffectOffset:{method:\"Square\",offset:1,option:\"Fast\"},CIMGeometricEffectRotate:{angle:15},CIMGeometricEffectScale:{xscalefactor:1.15,yscalefactor:1.15},CIMGeometricEffectWave:{amplitude:2,period:3,seed:1,waveform:\"Sinus\"},CIMMarkerPlacementAlongLine:{customendingoffset:0,endings:\"WithHalfGap\",offsetalongline:0,placeperpart:!0,angletoline:!0,offset:0},CIMMarkerPlacementAtExtremities:{extremityplacement:\"Both\",offsetalongline:0,angletoline:!0,offset:0},CIMMarkerPlacementAtRatioPositions:{beginposition:0,endposition:0,flipfirst:!0,angletoline:!0,offset:0},CIMMarkerPlacementInsidePolygon:{gridangle:0,gridtype:\"Fixed\",offsetx:0,offsety:0,randomness:100,seed:0,shiftoddrows:!1,stepx:16,stepy:16,clipping:\"ClipAtBoundary\"},CIMMarkerPlacementOnLine:{relativeto:\"LineMiddle\",startpointoffset:0,angletoline:!0,offset:0},CIMMarkerPlacementOnVertices:{placeperpart:!0,placeoncontrolpoints:!0,placeonendpoints:!0,placeonregularvertices:!0,angletoline:!0,offset:0},CIMMarkerPlacementPolygonCenter:{method:\"OnPolygon\",offsetx:0,offsety:0,clipatboundary:!1},CIMAnimatedSymbolProperties:{playanimation:!1,reverseanimation:!1,randomizestarttime:!1,randomizestartseed:0,starttimeoffset:0,duration:3,endingduration:3,useendingduration:!1,repeattype:e.Loop,repeatdelay:0,easing:t.Linear},CIMSymbolAnimationSize:{tosize:10},CIMSymbolAnimationScale:{scalefactor:1},CIMSymbolAnimationColor:{tocolor:[255,255,255,1]},CIMSymbolAnimationTransparency:{totransparency:0},CIMSymbolAnimationRotation:{torotation:0},CIMSymbolAnimationOffset:{offsetx:0,offsety:0}};export{o as defaultCIMColor,i as defaultCIMValues};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nvar e,n,i,t,r,o,l,a,u,c,d,s,f,g,p,C,T,m,S,h,P,R,B,L,O,N,M,A,E,y,D,F,W,v,x,k,U,b,H,I,w,G,J,q,X,Y,Z,K,Q,V,j,z,$,_,ee,ne,ie,te,re,oe,le,ae;!function(e){e[e.BUTT=0]=\"BUTT\",e[e.ROUND=1]=\"ROUND\",e[e.SQUARE=2]=\"SQUARE\",e[e.UNKNOWN=4]=\"UNKNOWN\"}(e||(e={})),function(e){e[e.BEVEL=0]=\"BEVEL\",e[e.ROUND=1]=\"ROUND\",e[e.MITER=2]=\"MITER\",e[e.UNKNOWN=4]=\"UNKNOWN\"}(n||(n={})),function(e){e[e.SCREEN=0]=\"SCREEN\",e[e.MAP=1]=\"MAP\"}(i||(i={})),function(e){e[e.Tint=0]=\"Tint\",e[e.Ignore=1]=\"Ignore\",e[e.Multiply=99]=\"Multiply\"}(t||(t={})),function(e){e.Both=\"Both\",e.JustBegin=\"JustBegin\",e.JustEnd=\"JustEnd\",e.None=\"None\"}(r||(r={})),function(e){e[e.Mosaic=0]=\"Mosaic\",e[e.Centered=1]=\"Centered\"}(o||(o={})),function(e){e[e.Normal=0]=\"Normal\",e[e.Superscript=1]=\"Superscript\",e[e.Subscript=2]=\"Subscript\"}(l||(l={})),function(e){e[e.MSSymbol=0]=\"MSSymbol\",e[e.Unicode=1]=\"Unicode\"}(a||(a={})),function(e){e[e.Unspecified=0]=\"Unspecified\",e[e.TrueType=1]=\"TrueType\",e[e.PSOpenType=2]=\"PSOpenType\",e[e.TTOpenType=3]=\"TTOpenType\",e[e.Type1=4]=\"Type1\"}(u||(u={})),function(e){e[e.Display=0]=\"Display\",e[e.Map=1]=\"Map\"}(c||(c={})),function(e){e.None=\"None\",e.Loop=\"Loop\",e.Oscillate=\"Oscillate\"}(d||(d={})),function(e){e.Linear=\"Linear\",e.EaseIn=\"EaseIn\",e.EaseOut=\"EaseOut\",e.EaseInOut=\"EaseInOut\"}(s||(s={})),function(e){e[e.Z=0]=\"Z\",e[e.X=1]=\"X\",e[e.Y=2]=\"Y\"}(f||(f={})),function(e){e[e.XYZ=0]=\"XYZ\",e[e.ZXY=1]=\"ZXY\",e[e.YXZ=2]=\"YXZ\"}(g||(g={})),function(e){e[e.Rectangle=0]=\"Rectangle\",e[e.RoundedRectangle=1]=\"RoundedRectangle\",e[e.Oval=2]=\"Oval\"}(p||(p={})),function(e){e[e.None=0]=\"None\",e[e.Alpha=1]=\"Alpha\",e[e.Screen=2]=\"Screen\",e[e.Multiply=3]=\"Multiply\",e[e.Add=4]=\"Add\"}(C||(C={})),function(e){e[e.TTB=0]=\"TTB\",e[e.RTL=1]=\"RTL\",e[e.BTT=2]=\"BTT\"}(T||(T={})),function(e){e[e.None=0]=\"None\",e[e.SignPost=1]=\"SignPost\",e[e.FaceNearPlane=2]=\"FaceNearPlane\"}(m||(m={})),function(e){e[e.Float=0]=\"Float\",e[e.String=1]=\"String\",e[e.Boolean=2]=\"Boolean\"}(S||(S={})),function(e){e[e.Intersect=0]=\"Intersect\",e[e.Subtract=1]=\"Subtract\"}(h||(h={})),function(e){e.OpenEnded=\"OpenEnded\",e.Block=\"Block\",e.Crossed=\"Crossed\"}(P||(P={})),function(e){e.FullGeometry=\"FullGeometry\",e.PerpendicularFromFirstSegment=\"PerpendicularFromFirstSegment\",e.ReversedFirstSegment=\"ReversedFirstSegment\",e.PerpendicularToSecondSegment=\"PerpendicularToSecondSegment\",e.SecondSegmentWithTicks=\"SecondSegmentWithTicks\",e.DoublePerpendicular=\"DoublePerpendicular\",e.OppositeToFirstSegment=\"OppositeToFirstSegment\",e.TriplePerpendicular=\"TriplePerpendicular\",e.HalfCircleFirstSegment=\"HalfCircleFirstSegment\",e.HalfCircleSecondSegment=\"HalfCircleSecondSegment\",e.HalfCircleExtended=\"HalfCircleExtended\",e.OpenCircle=\"OpenCircle\",e.CoverageEdgesWithTicks=\"CoverageEdgesWithTicks\",e.GapExtentWithDoubleTicks=\"GapExtentWithDoubleTicks\",e.GapExtentMidline=\"GapExtentMidline\",e.Chevron=\"Chevron\",e.PerpendicularWithArc=\"PerpendicularWithArc\",e.ClosedHalfCircle=\"ClosedHalfCircle\",e.TripleParallelExtended=\"TripleParallelExtended\",e.ParallelWithTicks=\"ParallelWithTicks\",e.Parallel=\"Parallel\",e.PerpendicularToFirstSegment=\"PerpendicularToFirstSegment\",e.ParallelOffset=\"ParallelOffset\",e.OffsetOpposite=\"OffsetOpposite\",e.OffsetSame=\"OffsetSame\",e.CircleWithArc=\"CircleWithArc\",e.DoubleJog=\"DoubleJog\",e.PerpendicularOffset=\"PerpendicularOffset\",e.LineExcludingLastSegment=\"LineExcludingLastSegment\",e.MultivertexArrow=\"MultivertexArrow\",e.CrossedArrow=\"CrossedArrow\",e.ChevronArrow=\"ChevronArrow\",e.ChevronArrowOffset=\"ChevronArrowOffset\",e.PartialFirstSegment=\"PartialFirstSegment\",e.Arch=\"Arch\",e.CurvedParallelTicks=\"CurvedParallelTicks\",e.Arc90Degrees=\"Arc90Degrees\",e.TipWithPerpendicularAndTicks=\"TipWithPerpendicularAndTicks\",e.ConcentricCircles=\"ConcentricCircles\",e.DoubleJogArrow=\"DoubleJogArrow\",e.LinkedChevrons=\"LinkedChevrons\",e.SegmentThenHalfCircle=\"SegmentThenHalfCircle\",e.LineWithStraightTicks=\"LineWithStraightTicks\",e.DoubleCurve=\"DoubleCurve\",e.ParallelWithTicksByWidth=\"ParallelWithTicksByWidth\",e.EnclosingRoundedRectangle=\"EnclosingRoundedRectangle\"}(R||(R={})),function(e){e.Mitered=\"Mitered\",e.Bevelled=\"Bevelled\",e.Rounded=\"Rounded\",e.Square=\"Square\",e.TrueBuffer=\"TrueBuffer\"}(B||(B={})),function(e){e.ClosePath=\"ClosePath\",e.ConvexHull=\"ConvexHull\",e.RectangularBox=\"RectangularBox\"}(L||(L={})),function(e){e.BeginningOfLine=\"BeginningOfLine\",e.EndOfLine=\"EndOfLine\"}(O||(O={})),function(e){e.Mitered=\"Mitered\",e.Bevelled=\"Bevelled\",e.Rounded=\"Rounded\",e.Square=\"Square\"}(N||(N={})),function(e){e.Fast=\"Fast\",e.Accurate=\"Accurate\"}(M||(M={})),function(e){e.BeginningOfLine=\"BeginningOfLine\",e.EndOfLine=\"EndOfLine\"}(A||(A={})),function(e){e.Sinus=\"Sinus\",e.Square=\"Square\",e.Triangle=\"Triangle\",e.Random=\"Random\"}(E||(E={})),function(e){e[e.None=0]=\"None\",e[e.Default=1]=\"Default\",e[e.Force=2]=\"Force\"}(y||(y={})),function(e){e[e.Buffered=0]=\"Buffered\",e[e.Left=1]=\"Left\",e[e.Right=2]=\"Right\",e[e.AlongLine=3]=\"AlongLine\"}(D||(D={})),function(e){e[e.Linear=0]=\"Linear\",e[e.Rectangular=1]=\"Rectangular\",e[e.Circular=2]=\"Circular\",e[e.Buffered=3]=\"Buffered\"}(F||(F={})),function(e){e[e.Discrete=0]=\"Discrete\",e[e.Continuous=1]=\"Continuous\"}(W||(W={})),function(e){e[e.AcrossLine=0]=\"AcrossLine\",e[e.AloneLine=1]=\"AloneLine\"}(v||(v={})),function(e){e[e.Left=0]=\"Left\",e[e.Right=1]=\"Right\",e[e.Center=2]=\"Center\",e[e.Justify=3]=\"Justify\"}(x||(x={})),function(e){e[e.Base=0]=\"Base\",e[e.MidPoint=1]=\"MidPoint\",e[e.ThreePoint=2]=\"ThreePoint\",e[e.FourPoint=3]=\"FourPoint\",e[e.Underline=4]=\"Underline\",e[e.CircularCW=5]=\"CircularCW\",e[e.CircularCCW=6]=\"CircularCCW\"}(k||(k={})),function(e){e.Butt=\"Butt\",e.Round=\"Round\",e.Square=\"Square\"}(U||(U={})),function(e){e.NoConstraint=\"NoConstraint\",e.HalfPattern=\"HalfPattern\",e.HalfGap=\"HalfGap\",e.FullPattern=\"FullPattern\",e.FullGap=\"FullGap\",e.Custom=\"Custom\"}(b||(b={})),function(e){e[e.None=-1]=\"None\",e[e.Custom=0]=\"Custom\",e[e.Circle=1]=\"Circle\",e[e.OpenArrow=2]=\"OpenArrow\",e[e.ClosedArrow=3]=\"ClosedArrow\",e[e.Diamond=4]=\"Diamond\"}(H||(H={})),function(e){e[e.ExtraLeading=0]=\"ExtraLeading\",e[e.Multiple=1]=\"Multiple\",e[e.Exact=2]=\"Exact\"}(I||(I={})),function(e){e.Bevel=\"Bevel\",e.Round=\"Round\",e.Miter=\"Miter\"}(w||(w={})),function(e){e[e.Default=0]=\"Default\",e[e.String=1]=\"String\",e[e.Numeric=2]=\"Numeric\"}(G||(G={})),function(e){e[e.InsidePolygon=0]=\"InsidePolygon\",e[e.PolygonCenter=1]=\"PolygonCenter\",e[e.RandomlyInsidePolygon=2]=\"RandomlyInsidePolygon\"}(J||(J={})),function(e){e[e.Tint=0]=\"Tint\",e[e.Replace=1]=\"Replace\",e[e.Multiply=2]=\"Multiply\"}(q||(q={})),function(e){e[e.ClipAtBoundary=0]=\"ClipAtBoundary\",e[e.RemoveIfCenterOutsideBoundary=1]=\"RemoveIfCenterOutsideBoundary\",e[e.DoNotTouchBoundary=2]=\"DoNotTouchBoundary\",e[e.DoNotClip=3]=\"DoNotClip\"}(X||(X={})),function(e){e.NoConstraint=\"NoConstraint\",e.WithMarkers=\"WithMarkers\",e.WithFullGap=\"WithFullGap\",e.WithHalfGap=\"WithHalfGap\",e.Custom=\"Custom\"}(Y||(Y={})),function(e){e.Fixed=\"Fixed\",e.Random=\"Random\",e.RandomFixedQuantity=\"RandomFixedQuantity\"}(Z||(Z={})),function(e){e.LineMiddle=\"LineMiddle\",e.LineBeginning=\"LineBeginning\",e.LineEnd=\"LineEnd\",e.SegmentMidpoint=\"SegmentMidpoint\"}(K||(K={})),function(e){e.OnPolygon=\"OnPolygon\",e.CenterOfMass=\"CenterOfMass\",e.BoundingBoxCenter=\"BoundingBoxCenter\"}(Q||(Q={})),function(e){e[e.Low=0]=\"Low\",e[e.Medium=1]=\"Medium\",e[e.High=2]=\"High\"}(V||(V={})),function(e){e[e.MarkerCenter=0]=\"MarkerCenter\",e[e.MarkerBounds=1]=\"MarkerBounds\"}(j||(j={})),function(e){e[e.None=0]=\"None\",e[e.PropUniform=1]=\"PropUniform\",e[e.PropNonuniform=2]=\"PropNonuniform\",e[e.DifUniform=3]=\"DifUniform\",e[e.DifNonuniform=4]=\"DifNonuniform\"}(z||(z={})),function(e){e.Tube=\"Tube\",e.Strip=\"Strip\",e.Wall=\"Wall\"}($||($={})),function(e){e[e.Random=0]=\"Random\",e[e.Increasing=1]=\"Increasing\",e[e.Decreasing=2]=\"Decreasing\",e[e.IncreasingThenDecreasing=3]=\"IncreasingThenDecreasing\"}(_||(_={})),function(e){e[e.Relative=0]=\"Relative\",e[e.Absolute=1]=\"Absolute\"}(ee||(ee={})),function(e){e[e.Normal=0]=\"Normal\",e[e.LowerCase=1]=\"LowerCase\",e[e.Allcaps=2]=\"Allcaps\"}(ne||(ne={})),function(e){e[e.LTR=0]=\"LTR\",e[e.RTL=1]=\"RTL\"}(ie||(ie={})),function(e){e.Draft=\"Draft\",e.Picture=\"Picture\",e.Text=\"Text\"}(te||(te={})),function(e){e[e.Top=0]=\"Top\",e[e.Center=1]=\"Center\",e[e.Baseline=2]=\"Baseline\",e[e.Bottom=3]=\"Bottom\"}(re||(re={})),function(e){e[e.Right=0]=\"Right\",e[e.Upright=1]=\"Upright\"}(oe||(oe={})),function(e){e[e.Small=0]=\"Small\",e[e.Medium=1]=\"Medium\",e[e.Large=2]=\"Large\"}(le||(le={})),function(e){e[e.Calm=0]=\"Calm\",e[e.Rippled=1]=\"Rippled\",e[e.Slight=2]=\"Slight\",e[e.Moderate=3]=\"Moderate\"}(ae||(ae={}));export{i as Alignment,c as AngleAlignment,s as AnimatedSymbolEasingType,d as AnimatedSymbolRepeatType,p as BalloonCalloutStyle,m as BillBoardMode,C as BlendingMode,T as BlockProgression,S as CGAAttributeType,e as CapType,h as ClippingType,f as DominantSizeAxis,G as ExpressionReturnType,t as ExternalColorMixMode,r as ExtremityPlacement,o as FillMode,l as FontEffects,a as FontEncoding,u as FontType,P as GeometricEffectArrowType,R as GeometricEffectControlMeasureLineRule,B as GeometricEffectDonutMethod,L as GeometricEffectEnclosingPolygonMethod,O as GeometricEffectExtensionOrigin,N as GeometricEffectOffsetMethod,M as GeometricEffectOffsetOption,A as GeometricEffectOffsetTangentMethod,E as GeometricEffectWaveform,y as GlyphHinting,D as GradientAlignment,F as GradientFillMethod,v as GradientStrokeMethod,W as GradientStrokeType,x as HorizontalAlignment,n as JoinType,k as LeaderLineStyle,U as LineCapStyle,b as LineDashEnding,H as LineDecorationStyle,I as LineGapType,w as LineJoinStyle,J as MarkerPlacementType,q as MaterialMode,X as PlacementClip,Y as PlacementEndings,Z as PlacementGridType,K as PlacementOnLineRelativeTo,Q as PlacementPolygonCenterMethod,V as PlacementRandomlyAlongLineRandomization,j as PlacementStepPosition,z as PointSymbolCalloutScale,g as RotationOrder,$ as Simple3DLineStyle,_ as SizeVariationMethod,ee as SymbolUnits,ne as TextCase,ie as TextReadingDirection,te as TextureFilter,re as VerticalAlignment,oe as VerticalGlyphOrientation,le as WaterbodySize,ae as WaveStrength};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{defaultCIMColor as e,defaultCIMValues as t}from\"./defaultCIMValues.js\";function r(e){return\"function\"==typeof e}function n(e,t,n,o){return r(e)?e(t,n,o):e}function o(e){return[e.r,e.g,e.b,e.a]}const l=\" /-,\\n\";function i(e){let t=e.length;for(;t--;)if(!l.includes(e.charAt(t)))return!1;return!0}function a(e,t){const r=[];let n=0,o=-1;do{if(o=e.indexOf(\"[\",n),o>=n){if(o>n){const t=e.slice(n,o);r.push([t,null,i(t)])}if(n=o+1,o=e.indexOf(\"]\",n),o>=n){if(o>n){const l=t[e.slice(n,o)];l&&r.push([null,l,!1])}n=o+1}}}while(-1!==o);if(n=-1&&o<=1&&(M=2*o*o*o-3*o*o+1,M>0&&(r=4*(c+n*t),b+=M*e[r+3],C+=M,e[r+3]<255&&(M=M*e[r+3]/250),I+=M*e[r],p+=M*e[r+1],h+=M*e[r+2],m+=M))}}n[y]=I/m,n[y+1]=p/m,n[y+2]=h/m,n[y+3]=b/C}}function f(e){return e?[e[0],e[1],e[2],e[3]/255]:[0,0,0,0]}function y(e){return e.data?.symbol??null}function M(e){return\"CIMVectorMarker\"===e.type||\"CIMPictureMarker\"===e.type||\"CIMBarChartMarker\"===e.type||\"CIMCharacterMarker\"===e.type||\"CIMPieChartMarker\"===e.type||\"CIMStackedBarChartMarker\"===e.type}function m(e){return\"CIMGradientStroke\"===e.type||\"CIMPictureStroke\"===e.type||\"CIMSolidStroke\"===e.type}function C(e){return null!=e&&(\"CIMGradientFill\"===e.type||\"CIMHatchFill\"===e.type||\"CIMPictureFill\"===e.type||\"CIMSolidFill\"===e.type||\"CIMWaterFill\"===e.type)}function I(e){return null!=e&&(\"CIMMarkerPlacementAlongLineRandomSize\"===e.type||\"CIMMarkerPlacementAlongLineSameSize\"===e.type||\"CIMMarkerPlacementAlongLineVariableSize\"===e.type||\"CIMMarkerPlacementAtExtremities\"===e.type||\"CIMMarkerPlacementAtMeasuredUnits\"===e.type||\"CIMMarkerPlacementAtRatioPositions\"===e.type||\"CIMMarkerPlacementOnLine\"===e.type||\"CIMMarkerPlacementOnVertices\"===e.type)}const p=(e,t=0)=>null==e||isNaN(e)?t:e,h=(e,t)=>null!=e?e:t,b=(e,t)=>e??t,d=e=>e.tintColor?f(e.tintColor):[255,255,255,1],k=e=>{if(!e)return!1;for(const t of e)switch(t.type){case\"CIMGeometricEffectBuffer\":case\"CIMGeometricEffectOffset\":case\"CIMGeometricEffectDonut\":return!0}return!1};function S(){return import(\"../../geometry/geometryEngineJSON.js\")}function g(e){if(!e)return\"normal\";switch(e.toLowerCase()){case\"italic\":return\"italic\";case\"oblique\":return\"oblique\";default:return\"normal\"}}function P(e){if(!e)return\"normal\";switch(e.toLowerCase()){case\"bold\":return\"bold\";case\"bolder\":return\"bolder\";case\"lighter\":return\"lighter\";default:return\"normal\"}}function w(e){let t=\"normal\",r=\"normal\";if(e){const n=e.toLowerCase();n.includes(\"italic\")?t=\"italic\":n.includes(\"oblique\")&&(t=\"oblique\"),n.includes(\"bold\")?r=\"bold\":n.includes(\"light\")&&(r=\"lighter\")}return{style:t,weight:r}}function L(e){return e.underline?\"underline\":e.strikethrough?\"line-through\":\"none\"}function T(e){if(!e)return null;switch(e.type){case\"CIMPolygonSymbol\":if(e.symbolLayers)for(const t of e.symbolLayers){const e=T(t);if(null!=e)return e}break;case\"CIMTextSymbol\":return T(e.symbol);case\"CIMSolidFill\":return e.color}return null}function A(e){if(e)switch(e.type){case\"CIMPolygonSymbol\":case\"CIMLineSymbol\":{const t=e.symbolLayers;if(t)for(const e of t){const t=A(e);if(null!=t)return t}break}case\"CIMTextSymbol\":return A(e.symbol);case\"CIMSolidStroke\":return e.color}}function N(e){if(e)switch(e.type){case\"CIMPolygonSymbol\":case\"CIMLineSymbol\":if(e.symbolLayers)for(const t of e.symbolLayers){const e=N(t);if(void 0!==e)return e}break;case\"CIMTextSymbol\":return N(e.symbol);case\"CIMSolidStroke\":case\"CIMGradientStroke\":case\"CIMPictureStroke\":return e.width}}function x(e){switch(e){case\"Left\":default:return\"left\";case\"Right\":return\"right\";case\"Center\":case\"Justify\":return\"center\"}}function F(e){switch(e){case\"Top\":default:return\"top\";case\"Center\":return\"middle\";case\"Baseline\":return\"baseline\";case\"Bottom\":return\"bottom\"}}function v(e){return(e?Object.keys(e):[]).map((t=>({name:t,alias:t,type:\"string\"==typeof e[t]?\"esriFieldTypeString\":\"esriFieldTypeDouble\"})))}const G=e=>e.includes(\"data:image/svg+xml\");function V(e){if(!e)return null;switch(e.type){case\"CIMPointSymbol\":case\"CIMTextSymbol\":return\"esriGeometryPoint\";case\"CIMLineSymbol\":return\"esriGeometryPolyline\";case\"CIMPolygonSymbol\":return\"esriGeometryPolygon\";default:return null}}function z(e){return e?e.charAt(0).toLowerCase()+e.slice(1):e}function E(e,t,r,n,o,l,i=!0){const{infos:a}=l;let c=1,s=0,u=0,f=0,y=1;for(const{absoluteAnchorPoint:C,offsetX:I,offsetY:p,rotation:h,size:b,frameHeight:d,rotateClockWise:k,scaleSymbolsProportionally:S}of a){y=C?1:c;u=Y(I,p,s,y,u),f=X(I,p,s,y,f),d&&(S||i)&&(c*=b/d),s=$(h,k,s)}const M=Y(n,o,s,y,u),m=X(n,o,s,y,f);return{size:e*c,rotation:$(t,r,s),offsetX:M,offsetY:m}}function O(e){if(null==e)return!1;if(Array.isArray(e))return e.every((e=>O(e)));switch(typeof e){case\"string\":return!!e;case\"number\":return!isNaN(e)}}function D(r,n){if(\"color\"===n||\"outlinecolor\"===n||\"backgroundcolor\"===n||\"borderlinecolor\"===n||\"tintcolor\"===n)return[...e[n]];const o=t[r];if(!o)throw new Error(`InternalError: default value for type ${r}.`);return o[n]}function j(e){return e.split(\" \").map((e=>Number(e)))}function q(e){return\"string\"==typeof e?j(e):e}function B(e){return e?.dashTemplate&&(e.dashTemplate=q(e.dashTemplate)),e}function R(e){if(null==e)return\"Normal\";switch(e.type){case\"CIMTextSymbol\":return e.textCase??\"Normal\";case\"CIMPointSymbol\":case\"CIMLineSymbol\":case\"CIMPolygonSymbol\":{const t=e.symbolLayers;if(!t)return\"Normal\";for(const e of t)if(\"CIMVectorMarker\"===e.type)return R(e)}break;case\"CIMVectorMarker\":{const t=e.markerGraphics;if(!t)return\"Normal\";for(const e of t)if(e.symbol)return R(e.symbol)}}return\"Normal\"}function H(e){if(e)switch(e.type){case\"CIMTextSymbol\":return e.height;case\"CIMPointSymbol\":{let r=0;if(e.symbolLayers)for(const n of e.symbolLayers)if(n)switch(n.type){case\"CIMCharacterMarker\":case\"CIMPictureMarker\":case\"CIMVectorMarker\":case\"CIMObjectMarker3D\":case\"CIMglTFMarker3D\":{const e=n.size??t.CIMVectorMarker.size;e>r&&(r=e);break}}return r}case\"CIMLineSymbol\":case\"CIMPolygonSymbol\":{let r=0;if(e.symbolLayers)for(const n of e.symbolLayers)if(n)switch(n.type){case\"CIMSolidStroke\":case\"CIMPictureStroke\":case\"CIMGradientStroke\":{const e=n.width;null!=e&&e>r&&(r=e);break}case\"CIMCharacterMarker\":case\"CIMPictureMarker\":case\"CIMVectorMarker\":case\"CIMObjectMarker3D\":case\"CIMglTFMarker3D\":if(n.markerPlacement&&I(n.markerPlacement)){const e=n.size??t.CIMVectorMarker.size;e>r&&(r=e)}break;case\"CIMPictureFill\":{const e=n.height;null!=e&&e>r&&(r=e)}}return r}}}function J(e,t){if(null!==t){const r=t.get(e);return r?r.name:e}return e}function U(e){return e.map((e=>({...e,propertyName:z(e.propertyName)})))}function W(e){const t={};for(const r in e){const n=e[r];t[z(r)]=n}return t}function X(e,t,r,n,o){const l=r*Math.PI/180;if(l){const r=Math.cos(l);return(Math.sin(l)*e+r*t)*n+o}return t*n+o}function Y(e,t,r,n,o){const l=r*Math.PI/180;if(l){return(Math.cos(l)*e-Math.sin(l)*t)*n+o}return e*n+o}function $(e,t,r){return t?r-e:r+e}function K(e,t,r){const n=\"Color\"===r||\"TintColor\"===r||\"ToColor\"===r,o=\"Rotation\"===r||\"Angle\"===r||\"ToRotation\"===r;let l=t[z(r)];if(null!=l&&(n?l=[l[0]/255,l[1]/255,l[2]/255,l[3]/255]:o&&(l*=Math.PI/180)),null==l&&(l=D(t.type,r.toLowerCase()),null!=l&&(n?l=[l[0]/255,l[1]/255,l[2]/255,l[3]]:o&&(l*=Math.PI/180))),null!=t.primitiveName){const i=e[t.primitiveName];if(null!=i){const e=i[r];null==e||(\"string\"==typeof e||\"number\"==typeof e||Array.isArray(e)?(l=e,null!=l&&(n?l=[l[0]/255,l[1]/255,l[2]/255,l[3]/255]:o&&(l*=Math.PI/180))):(l={valueExpressionInfo:e,defaultValue:l},null!=l&&(n?l={type:\"Process\",op:\"ArcadeColor\",value:l}:o&&(l={type:\"Process\",op:\"Divide\",left:l,right:180/Math.PI}))))}}if(null==l)throw new Error(`Failed to derive a value or an expression for \"${r}\".`);return l}export{s as adjustTextCase,a as analyzeTextParts,E as applyParentTransform,c as assignTextValuesFromFeature,v as attributesToFields,o as colorToArray,n as evaluateValueOrFunction,L as fromCIMFontDecoration,w as fromCIMFontStyle,x as fromCIMHorizontalAlignment,F as fromCIMVerticalAlignment,D as getDefaultCIMValue,b as getEnum,J as getFieldName,T as getFillColor,g as getFontStyle,P as getFontWeight,p as getNumericValue,K as getProcessParam,H as getSize,A as getStrokeColor,N as getStrokeWidth,R as getTextCasing,d as getTintColor,h as getValue,S as importGeometryEngine,C as isCIMFill,M as isCIMMarker,I as isCIMMarkerStrokePlacement,m as isCIMStroke,r as isFeatureValueFn,k as isGeometryEngineRequired,G as isSVGImage,O as isValidCIMValue,V as mapCIMSymbolToGeometryType,f as normalizeAlpha,B as normalizeDashEffectTemplate,q as normalizeDashTemplate,U as normalizePrimitiveOverrideProps,j as parseDashTemplate,u as resampleHermite,y as toCIMSymbolJSON,W as toLowerCaseProps,z as uncapitalize};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{_ as o}from\"../../chunks/tslib.es6.js\";import r from\"../../Color.js\";import{JSONSupport as e}from\"../../core/JSONSupport.js\";import{clone as s}from\"../../core/lang.js\";import{px2pt as t}from\"../../core/screenUtils.js\";import{property as i}from\"../../core/accessorSupport/decorators/property.js\";import\"../../core/has.js\";import\"../../core/Logger.js\";import{subclass as p}from\"../../core/accessorSupport/decorators/subclass.js\";import{colorAndTransparencyProperty as c,screenSizeProperty as n}from\"../support/materialUtils.js\";let l=class extends e{constructor(o){super(o),this.color=new r([0,0,0,1]),this.extensionLength=0,this.size=t(1)}clone(){}cloneProperties(){return{color:s(this.color),size:this.size,extensionLength:this.extensionLength}}};o([i({type:[\"solid\",\"sketch\"],readOnly:!0,json:{read:!0,write:{ignoreOrigin:!0}}})],l.prototype,\"type\",void 0),o([i(c)],l.prototype,\"color\",void 0),o([i({...n,json:{write:{overridePolicy:o=>({enabled:!!o})}}})],l.prototype,\"extensionLength\",void 0),o([i(n)],l.prototype,\"size\",void 0),l=o([p(\"esri.symbols.edges.Edges3D\")],l);const m=l;export{m as default};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{_ as r}from\"../../chunks/tslib.es6.js\";import\"../../core/Logger.js\";import\"../../core/has.js\";import\"../../core/RandomLCG.js\";import\"../../core/Error.js\";import{enumeration as o}from\"../../core/accessorSupport/decorators/enumeration.js\";import{subclass as s}from\"../../core/accessorSupport/decorators/subclass.js\";import e from\"./Edges3D.js\";var t;let c=t=class extends e{constructor(r){super(r),this.type=\"sketch\"}clone(){return new t(this.cloneProperties())}};r([o({sketch:\"sketch\"},{readOnly:!0})],c.prototype,\"type\",void 0),c=t=r([s(\"esri.symbols.edges.SketchEdges3D\")],c);const p=c;export{p as default};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{_ as o}from\"../../chunks/tslib.es6.js\";import\"../../core/Logger.js\";import\"../../core/has.js\";import\"../../core/RandomLCG.js\";import\"../../core/Error.js\";import{enumeration as r}from\"../../core/accessorSupport/decorators/enumeration.js\";import{subclass as s}from\"../../core/accessorSupport/decorators/subclass.js\";import e from\"./Edges3D.js\";var t;let c=t=class extends e{constructor(o){super(o),this.type=\"solid\"}clone(){return new t(this.cloneProperties())}};o([r({solid:\"solid\"},{readOnly:!0})],c.prototype,\"type\",void 0),c=t=o([s(\"esri.symbols.edges.SolidEdges3D\")],c);const i=c;export{i as default};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport e from\"./Edges3D.js\";import s from\"./SketchEdges3D.js\";import o from\"./SolidEdges3D.js\";const t={types:{key:\"type\",base:e,typeMap:{solid:o,sketch:s}},json:{write:!0}};export{t as symbol3dEdgesProperty};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{_ as r}from\"../../chunks/tslib.es6.js\";import{JSONSupport as o}from\"../../core/JSONSupport.js\";import{property as e}from\"../../core/accessorSupport/decorators/property.js\";import\"../../core/has.js\";import\"../../core/Logger.js\";import\"../../core/RandomLCG.js\";import{subclass as s}from\"../../core/accessorSupport/decorators/subclass.js\";let t=class extends o{constructor(r){super(r)}clone(){throw new Error(\"Subclasses of LinePattern3D should implement their own clone method.\")}};r([e({type:[\"style\"],readOnly:!0,json:{read:!0,write:{ignoreOrigin:!0}}})],t.prototype,\"type\",void 0),t=r([s(\"esri.symbols.patterns.LinePattern3D\")],t);const p=t;export{p as default};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{_ as o}from\"../../chunks/tslib.es6.js\";import{strict as t}from\"../../core/jsonMap.js\";import{property as s}from\"../../core/accessorSupport/decorators/property.js\";import\"../../core/has.js\";import\"../../core/Logger.js\";import\"../../core/RandomLCG.js\";import{enumeration as r}from\"../../core/accessorSupport/decorators/enumeration.js\";import{subclass as e}from\"../../core/accessorSupport/decorators/subclass.js\";import d from\"./LinePattern3D.js\";import{lineStyles as a}from\"./lineStyles.js\";var p;const h=t()({dash:\"dash\",\"dash-dot\":\"dash-dot\",\"dash-dot-dot\":\"long-dash-dot-dot\",dot:\"dot\",\"long-dash\":\"long-dash\",\"long-dash-dot\":\"long-dash-dot\",null:\"none\",\"short-dash\":\"short-dash\",\"short-dash-dot\":\"short-dash-dot\",\"short-dash-dot-dot\":\"short-dash-dot-dot\",\"short-dot\":\"short-dot\",solid:\"solid\"});let n=p=class extends d{constructor(o){super(o),this.type=\"style\",this.style=\"solid\"}clone(){const o={style:this.style};return new p(o)}};o([s({type:[\"style\"]})],n.prototype,\"type\",void 0),o([r(h),s({type:a})],n.prototype,\"style\",void 0),n=p=o([e(\"esri.symbols.patterns.LineStylePattern3D\")],n);const l=n;export{l as default};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{_ as r}from\"../../chunks/tslib.es6.js\";import{JSONSupport as o}from\"../../core/JSONSupport.js\";import{property as e}from\"../../core/accessorSupport/decorators/property.js\";import\"../../core/has.js\";import\"../../core/Logger.js\";import\"../../core/RandomLCG.js\";import{subclass as s}from\"../../core/accessorSupport/decorators/subclass.js\";let t=class extends o{constructor(r){super(r),this.type=\"style\"}clone(){throw new Error(\"Subclasses of Pattern3D should implement their own clone method.\")}};r([e({type:[\"style\"],readOnly:!0,json:{read:!0,write:{ignoreOrigin:!0}}})],t.prototype,\"type\",void 0),t=r([s(\"esri.symbols.patterns.Pattern3D\")],t);const p=t;export{p as default};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{_ as t}from\"../../chunks/tslib.es6.js\";import{property as s}from\"../../core/accessorSupport/decorators/property.js\";import\"../../core/has.js\";import\"../../core/Logger.js\";import\"../../core/RandomLCG.js\";import{subclass as r}from\"../../core/accessorSupport/decorators/subclass.js\";import o from\"./Pattern3D.js\";import e from\"./styles.js\";var p;let c=p=class extends o{constructor(t){super(t),this.type=\"style\",this.style=\"solid\"}clone(){return new p({style:this.style})}};t([s({type:[\"style\"]})],c.prototype,\"type\",void 0),t([s({type:e,json:{read:!0,write:!0}})],c.prototype,\"style\",void 0),c=p=t([r(\"esri.symbols.patterns.StylePattern3D\")],c);const i=c;export{i as default};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nconst o=[\"dash\",\"dash-dot\",\"dot\",\"long-dash\",\"long-dash-dot\",\"long-dash-dot-dot\",\"none\",\"short-dash\",\"short-dash-dot\",\"short-dash-dot-dot\",\"short-dot\",\"solid\"];export{o as lineStyles};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nconst a=[\"backward-diagonal\",\"cross\",\"diagonal-cross\",\"forward-diagonal\",\"horizontal\",\"none\",\"solid\",\"vertical\"];export{a as default};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport t from\"./LinePattern3D.js\";import e from\"./LineStylePattern3D.js\";import r from\"./Pattern3D.js\";import p from\"./StylePattern3D.js\";const s={types:{key:\"type\",base:r,typeMap:{style:p}},json:{write:!0}},o={types:{key:\"type\",base:t,typeMap:{style:e}},json:{write:!0}};export{o as symbol3dLinePatternProperty,s as symbol3dPatternProperty};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{_ as e}from\"../../chunks/tslib.es6.js\";import{strict as o,JSONMap as r}from\"../../core/jsonMap.js\";import{JSONSupport as t}from\"../../core/JSONSupport.js\";import{equalsMaybe as s}from\"../../core/maybe.js\";import{property as i}from\"../../core/accessorSupport/decorators/property.js\";import\"../../core/has.js\";import\"../../core/Logger.js\";import\"../../core/RandomLCG.js\";import{reader as n}from\"../../core/accessorSupport/decorators/reader.js\";import{subclass as p}from\"../../core/accessorSupport/decorators/subclass.js\";import{writer as u}from\"../../core/accessorSupport/decorators/writer.js\";import f from\"./FeatureExpressionInfo.js\";import{supportedUnits as a}from\"./unitConversionUtils.js\";var l;const m=o()({onTheGround:\"on-the-ground\",relativeToGround:\"relative-to-ground\",relativeToScene:\"relative-to-scene\",absoluteHeight:\"absolute-height\"}),d=new r({foot:\"feet\",kilometer:\"kilometers\",meter:\"meters\",mile:\"miles\",\"us-foot\":\"us-feet\",yard:\"yards\"});let c=l=class extends t{constructor(e){super(e),this.offset=null}readFeatureExpressionInfo(e,o){return null!=e?e:o.featureExpression&&0===o.featureExpression.value?{expression:\"0\"}:void 0}writeFeatureExpressionInfo(e,o,r,t){o[r]=e.write({},t),\"0\"===e.expression&&(o.featureExpression={value:0})}get mode(){const{offset:e,featureExpressionInfo:o}=this;return this._isOverridden(\"mode\")?this._get(\"mode\"):null!=e||o?\"relative-to-ground\":\"on-the-ground\"}set mode(e){this._override(\"mode\",e)}set unit(e){this._set(\"unit\",e)}write(e,o){return this.offset||this.mode||this.featureExpressionInfo||this.unit?super.write(e,o):null}clone(){return new l({mode:this.mode,offset:this.offset,featureExpressionInfo:this.featureExpressionInfo?this.featureExpressionInfo.clone():void 0,unit:this.unit})}equals(e){return this.mode===e.mode&&this.offset===e.offset&&this.unit===e.unit&&s(this.featureExpressionInfo,e.featureExpressionInfo)}};e([i({type:f,json:{write:!0}})],c.prototype,\"featureExpressionInfo\",void 0),e([n(\"featureExpressionInfo\",[\"featureExpressionInfo\",\"featureExpression\"])],c.prototype,\"readFeatureExpressionInfo\",null),e([u(\"featureExpressionInfo\",{featureExpressionInfo:{type:f},\"featureExpression.value\":{type:[0]}})],c.prototype,\"writeFeatureExpressionInfo\",null),e([i({type:m.apiValues,nonNullable:!0,json:{type:m.jsonValues,read:m.read,write:{writer:m.write,isRequired:!0}}})],c.prototype,\"mode\",null),e([i({type:Number,json:{write:!0}})],c.prototype,\"offset\",void 0),e([i({type:a,json:{type:String,read:d.read,write:d.write}})],c.prototype,\"unit\",null),c=l=e([p(\"esri.symbols.support.ElevationInfo\")],c);const h=c;export{h as default};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{_ as r}from\"../../chunks/tslib.es6.js\";import{JSONSupport as s}from\"../../core/JSONSupport.js\";import{property as e}from\"../../core/accessorSupport/decorators/property.js\";import\"../../core/has.js\";import\"../../core/Logger.js\";import\"../../core/RandomLCG.js\";import{subclass as o}from\"../../core/accessorSupport/decorators/subclass.js\";import{collectArcadeFieldNames as t}from\"../../layers/support/fieldUtils.js\";var i;let p=i=class extends s{constructor(r){super(r)}async collectRequiredFields(r,s){return t(r,s,this.expression)}clone(){return new i({expression:this.expression,title:this.title})}equals(r){return this.expression===r.expression&&this.title===r.title}};r([e({type:String,json:{write:!0}})],p.prototype,\"expression\",void 0),r([e({type:String,json:{write:!0}})],p.prototype,\"title\",void 0),p=i=r([o(\"esri.symbols.support.FeatureExpressionInfo\")],p);const n=p;export{n as default};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{_ as r}from\"../../chunks/tslib.es6.js\";import{strict as e}from\"../../core/jsonMap.js\";import{JSONSupport as o}from\"../../core/JSONSupport.js\";import{isDataProtocol as t,isAbsolute as s,normalize as p}from\"../../core/urlUtils.js\";import{property as c}from\"../../core/accessorSupport/decorators/property.js\";import\"../../core/has.js\";import\"../../core/Logger.js\";import\"../../core/RandomLCG.js\";import{enumeration as i}from\"../../core/accessorSupport/decorators/enumeration.js\";import{reader as a}from\"../../core/accessorSupport/decorators/reader.js\";import{subclass as m}from\"../../core/accessorSupport/decorators/subclass.js\";import{writer as f}from\"../../core/accessorSupport/decorators/writer.js\";import{f as n,t as u}from\"../../chunks/persistableUrlUtils.js\";var l;const d=e()({circle:\"circle\",square:\"square\",cross:\"cross\",x:\"x\",kite:\"kite\",triangle:\"triangle\"});let h=l=class extends o{constructor(r){super(r)}readHref(r,e,o){return r?n(r,o):e.dataURI}writeHref(r,e,o,c){r&&(t(r)?e.dataURI=r:(e.href=u(r,c),s(e.href)&&(e.href=p(e.href))))}clone(){return new l({href:this.href,primitive:this.primitive})}};r([c({type:String,json:{write:!0,read:{source:[\"href\",\"dataURI\"]}}})],h.prototype,\"href\",void 0),r([a(\"href\")],h.prototype,\"readHref\",null),r([f(\"href\",{href:{type:String},dataURI:{type:String}})],h.prototype,\"writeHref\",null),r([i(d)],h.prototype,\"primitive\",void 0),h=l=r([m(\"esri.symbols.support.IconSymbol3DLayerResource\")],h);const j=\"circle\";export{h as IconSymbol3DLayerResource,j as defaultPrimitive};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{_ as r}from\"../../chunks/tslib.es6.js\";import{strict as e}from\"../../core/jsonMap.js\";import{JSONSupport as o}from\"../../core/JSONSupport.js\";import{property as s}from\"../../core/accessorSupport/decorators/property.js\";import\"../../core/has.js\";import\"../../core/Logger.js\";import\"../../core/RandomLCG.js\";import{enumeration as t}from\"../../core/accessorSupport/decorators/enumeration.js\";import{subclass as i}from\"../../core/accessorSupport/decorators/subclass.js\";import{r as p,w as c}from\"../../chunks/persistableUrlUtils.js\";var m;const n=e()({sphere:\"sphere\",cylinder:\"cylinder\",cube:\"cube\",cone:\"cone\",diamond:\"diamond\",tetrahedron:\"tetrahedron\",invertedCone:\"inverted-cone\"});let a=m=class extends o{clone(){return new m({href:this.href,primitive:this.primitive})}};r([s({type:String,json:{read:p,write:c}})],a.prototype,\"href\",void 0),r([t(n)],a.prototype,\"primitive\",void 0),a=m=r([i(\"esri.symbols.support.ObjectSymbol3DLayerResource\")],a);const d=\"sphere\";export{a as ObjectSymbol3DLayerResource,d as defaultPrimitive};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{_ as t}from\"../../chunks/tslib.es6.js\";import r from\"../../core/Accessor.js\";import{property as o}from\"../../core/accessorSupport/decorators/property.js\";import\"../../core/has.js\";import\"../../core/Logger.js\";import\"../../core/RandomLCG.js\";import{subclass as s}from\"../../core/accessorSupport/decorators/subclass.js\";import e from\"../../portal/Portal.js\";var p;let l=p=class extends r{constructor(t){super(t),this.name=null,this.styleUrl=null,this.styleName=null,this.portal=null}clone(){return new p({name:this.name,styleUrl:this.styleUrl,styleName:this.styleName,portal:this.portal})}};t([o({type:String})],l.prototype,\"name\",void 0),t([o({type:String})],l.prototype,\"styleUrl\",void 0),t([o({type:String})],l.prototype,\"styleName\",void 0),t([o({type:e})],l.prototype,\"portal\",void 0),l=p=t([s(\"esri.symbols.support.StyleOrigin\")],l);const i=l;export{i as default};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{_ as o}from\"../../chunks/tslib.es6.js\";import r from\"../../core/Accessor.js\";import{property as s}from\"../../core/accessorSupport/decorators/property.js\";import\"../../core/has.js\";import\"../../core/Logger.js\";import\"../../core/RandomLCG.js\";import{subclass as t}from\"../../core/accessorSupport/decorators/subclass.js\";var e;let p=e=class extends r{constructor(){super(...arguments),this.x=0,this.y=0}clone(){return new e({x:this.x,y:this.y})}};o([s({type:Number})],p.prototype,\"x\",void 0),o([s({type:Number})],p.prototype,\"y\",void 0),p=e=o([t(\"esri.symbols.support.Symbol3DAnchorPosition2D\")],p);export{p as Symbol3DAnchorPosition2D};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{_ as o}from\"../../chunks/tslib.es6.js\";import r from\"../../core/Accessor.js\";import{property as s}from\"../../core/accessorSupport/decorators/property.js\";import\"../../core/has.js\";import\"../../core/Logger.js\";import\"../../core/RandomLCG.js\";import{subclass as t}from\"../../core/accessorSupport/decorators/subclass.js\";var e;let p=e=class extends r{constructor(){super(...arguments),this.x=0,this.y=0,this.z=0}clone(){return new e({x:this.x,y:this.y,z:this.z})}};o([s({type:Number})],p.prototype,\"x\",void 0),o([s({type:Number})],p.prototype,\"y\",void 0),o([s({type:Number})],p.prototype,\"z\",void 0),p=e=o([t(\"esri.symbols.support.Symbol3DAnchorPosition3D\")],p);export{p as Symbol3DAnchorPosition3D};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{_ as o}from\"../../chunks/tslib.es6.js\";import\"../../core/Logger.js\";import\"../../core/has.js\";import\"../../core/RandomLCG.js\";import\"../../core/Error.js\";import{enumeration as r}from\"../../core/accessorSupport/decorators/enumeration.js\";import{subclass as s}from\"../../core/accessorSupport/decorators/subclass.js\";import{clone as e}from\"../../core/libs/gl-matrix-2/factories/vec3f64.js\";import{Symbol3DMaterial as t}from\"./Symbol3DMaterial.js\";var i;let c=i=class extends t{constructor(o){super(o),this.colorMixMode=null}clone(){const o={color:this.color?.clone()??null,emissiveFactor:this.emissiveFactor?e(this.emissiveFactor):null,colorMixMode:this.colorMixMode};return new i(o)}};o([r({multiply:\"multiply\",replace:\"replace\",tint:\"tint\"})],c.prototype,\"colorMixMode\",void 0),c=i=o([s(\"esri.symbols.support.Symbol3DFillMaterial\")],c);export{c as Symbol3DFillMaterial};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{_ as o}from\"../../chunks/tslib.es6.js\";import r from\"../../Color.js\";import{JSONSupport as s}from\"../../core/JSONSupport.js\";import{clone as t}from\"../../core/lang.js\";import{property as e}from\"../../core/accessorSupport/decorators/property.js\";import\"../../core/has.js\";import\"../../core/Logger.js\";import{subclass as p}from\"../../core/accessorSupport/decorators/subclass.js\";import{colorAndTransparencyProperty as c,screenSizeProperty as i}from\"./materialUtils.js\";var m;let l=m=class extends s{constructor(){super(...arguments),this.color=new r([0,0,0,1]),this.size=0}clone(){const o={color:t(this.color),size:this.size};return new m(o)}};o([e(c)],l.prototype,\"color\",void 0),o([e(i)],l.prototype,\"size\",void 0),l=m=o([p(\"esri.symbols.support.Symbol3DHalo\")],l);export{l as Symbol3DHalo};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{_ as o}from\"../../chunks/tslib.es6.js\";import r from\"../../Color.js\";import{JSONSupport as s}from\"../../core/JSONSupport.js\";import{px2pt as t}from\"../../core/screenUtils.js\";import{property as e}from\"../../core/accessorSupport/decorators/property.js\";import\"../../core/has.js\";import\"../../core/Logger.js\";import\"../../core/RandomLCG.js\";import{subclass as c}from\"../../core/accessorSupport/decorators/subclass.js\";import{colorAndTransparencyProperty as i,screenSizeProperty as p}from\"./materialUtils.js\";var l;let m=l=class extends s{constructor(o){super(o),this.color=new r([0,0,0,1]),this.size=t(1)}clone(){const o={color:null!=this.color?this.color.clone():null,size:this.size};return new l(o)}};o([e(i)],m.prototype,\"color\",void 0),o([e(p)],m.prototype,\"size\",void 0),m=l=o([c(\"esri.symbols.support.Symbol3DIconOutline\")],m);export{m as Symbol3DIconOutline};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{_ as o}from\"../../chunks/tslib.es6.js\";import{JSONSupport as r}from\"../../core/JSONSupport.js\";import{property as s}from\"../../core/accessorSupport/decorators/property.js\";import\"../../core/has.js\";import\"../../core/Logger.js\";import\"../../core/RandomLCG.js\";import{subclass as t}from\"../../core/accessorSupport/decorators/subclass.js\";import{clone as e}from\"../../core/libs/gl-matrix-2/factories/vec3f64.js\";import{colorAndTransparencyProperty as i}from\"./materialUtils.js\";var c;let m=c=class extends r{constructor(o){super(o),this.color=null,this.emissiveFactor=null}clone(){const o={color:this.color?.clone()??null,emissiveFactor:this.emissiveFactor?e(this.emissiveFactor):null};return new c(o)}};o([s(i)],m.prototype,\"color\",void 0),o([s({type:[Number],json:{write:!1}})],m.prototype,\"emissiveFactor\",void 0),m=c=o([t(\"esri.symbols.support.Symbol3DMaterial\")],m);export{m as Symbol3DMaterial};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{_ as t}from\"../../chunks/tslib.es6.js\";import o from\"../../Color.js\";import{JSONSupport as r}from\"../../core/JSONSupport.js\";import{px2pt as s}from\"../../core/screenUtils.js\";import{property as e}from\"../../core/accessorSupport/decorators/property.js\";import\"../../core/has.js\";import\"../../core/Logger.js\";import\"../../core/RandomLCG.js\";import{subclass as p}from\"../../core/accessorSupport/decorators/subclass.js\";import{symbol3dLinePatternProperty as i}from\"../patterns/utils.js\";import{colorAndTransparencyProperty as l,screenSizeProperty as n}from\"./materialUtils.js\";import{lineCaps as a}from\"./symbolLayerUtils3D.js\";var c;let m=c=class extends r{constructor(t){super(t),this.color=new o([0,0,0,1]),this.size=s(1),this.pattern=null,this.patternCap=\"butt\"}clone(){const t={color:null!=this.color?this.color.clone():null,size:this.size,pattern:null!=this.pattern?this.pattern.clone():null,patternCap:this.patternCap};return new c(t)}};t([e(l)],m.prototype,\"color\",void 0),t([e(n)],m.prototype,\"size\",void 0),t([e(i)],m.prototype,\"pattern\",void 0),t([e({type:a,json:{default:\"butt\",write:{overridePolicy(){return{enabled:null!=this.pattern}}}}})],m.prototype,\"patternCap\",void 0),m=c=t([p(\"esri.symbols.support.Symbol3DOutline\")],m);export{m as Symbol3DOutline};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{_ as o}from\"../../chunks/tslib.es6.js\";import{ClonableMixin as r}from\"../../core/Clonable.js\";import{JSONSupport as s}from\"../../core/JSONSupport.js\";import{property as t}from\"../../core/accessorSupport/decorators/property.js\";import\"../../core/has.js\";import\"../../core/Logger.js\";import\"../../core/RandomLCG.js\";import{subclass as e}from\"../../core/accessorSupport/decorators/subclass.js\";import{colorAndTransparencyProperty as p}from\"./materialUtils.js\";let c=class extends(r(s)){constructor(o){super(o),this.color=null}};o([t(p)],c.prototype,\"color\",void 0),c=o([e(\"esri.symbols.support.Symbol3DTextBackground\")],c);export{c as Symbol3DTextBackground};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{_ as r}from\"../../chunks/tslib.es6.js\";import{JSONSupport as o}from\"../../core/JSONSupport.js\";import{property as e}from\"../../core/accessorSupport/decorators/property.js\";import\"../../core/has.js\";import\"../../core/Logger.js\";import\"../../core/RandomLCG.js\";import{subclass as t}from\"../../core/accessorSupport/decorators/subclass.js\";import{screenSizeProperty as s}from\"./materialUtils.js\";var n;let i=n=class extends o{constructor(r){super(r),this.screenLength=0,this.minWorldLength=0,this.maxWorldLength=null}clone(){return new n({screenLength:this.screenLength,minWorldLength:this.minWorldLength,maxWorldLength:this.maxWorldLength})}};r([e(s)],i.prototype,\"screenLength\",void 0),r([e({type:Number,nonNullable:!0,json:{write:!0,default:0}})],i.prototype,\"minWorldLength\",void 0),r([e({type:Number,json:{write:!0}})],i.prototype,\"maxWorldLength\",void 0),i=n=r([t(\"esri.symbols.support.Symbol3DVerticalOffset\")],i);const p=i;export{p as default};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{_ as r}from\"../../chunks/tslib.es6.js\";import o from\"../../core/Accessor.js\";import{property as s}from\"../../core/accessorSupport/decorators/property.js\";import\"../../core/has.js\";import\"../../core/Logger.js\";import\"../../core/RandomLCG.js\";import{subclass as t}from\"../../core/accessorSupport/decorators/subclass.js\";var e;let c=e=class extends o{constructor(){super(...arguments),this.url=\"\"}clone(){return new e({url:this.url})}};r([s({type:String})],c.prototype,\"url\",void 0),c=e=r([t(\"esri.symbols.support.Thumbnail\")],c);export{c as Thumbnail};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport e from\"../../Color.js\";import{toCIMSymbolJSON as t,isCIMMarker as o,isCIMStroke as r,isCIMFill as n,isCIMMarkerStrokePlacement as s,normalizeAlpha as a}from\"../cim/utils.js\";function i(e){const s=t(e);if(\"CIMTextSymbol\"===s?.type)return s.height??0;let a=0;if(s?.symbolLayers)for(const t of s.symbolLayers)o(t)&&null!=t.size&&t.size>a?a=t.size:r(t)&&null!=t.width&&t.width>a?a=t.width:n(t);return a}function c(e,o,r){if(!e)return;const n=t(e),s=i(e);if(0===s)return void f(n,o);l(n,o/s,!1,r)}function f(e,t){if(e)if(\"CIMTextSymbol\"!==e.type){if(e.symbolLayers)for(const o of e.symbolLayers)switch(o.type){case\"CIMPictureMarker\":case\"CIMVectorMarker\":o.size=t;break;case\"CIMPictureStroke\":case\"CIMSolidStroke\":o.width=t}}else e.height=t}function l(e,t,o,r){if(e)if(\"CIMTextSymbol\"!==e.type){if(o&&e.effects)for(const o of e.effects)y(o,t);if(e.symbolLayers)for(const o of e.symbolLayers)switch(o.type){case\"CIMPictureMarker\":case\"CIMVectorMarker\":m(o,t,r);break;case\"CIMPictureStroke\":case\"CIMSolidStroke\":!r?.preserveOutlineWidth&&o.width&&(o.width*=t);break;case\"CIMPictureFill\":o.height&&(o.height*=t),o.offsetX&&(o.offsetX*=t),o.offsetY&&(o.offsetY*=t);break;case\"CIMHatchFill\":l(o.lineSymbol,t,!0,{...r,preserveOutlineWidth:!1}),o.offsetX&&(o.offsetX*=t),o.offsetY&&(o.offsetY*=t),o.separation&&(o.separation*=t)}}else null!=e.height&&(e.height*=t)}function m(e,t,o){if(e&&(e.markerPlacement&&M(e.markerPlacement,t),e.offsetX&&(e.offsetX*=t),e.offsetY&&(e.offsetY*=t),e.anchorPoint&&\"Absolute\"===e.anchorPointUnits&&(e.anchorPoint={x:e.anchorPoint.x*t,y:e.anchorPoint.y*t}),e.size=null!=e.size?e.size*t:0,\"CIMVectorMarker\"===e.type&&e.markerGraphics))for(const r of e.markerGraphics)e.scaleSymbolsProportionally||l(r.symbol,t,!0,o)}function M(e,t){switch(s(e)&&e.offset&&(e.offset*=t),e.type){case\"CIMMarkerPlacementAlongLineRandomSize\":case\"CIMMarkerPlacementAlongLineSameSize\":if(e.customEndingOffset&&(e.customEndingOffset*=t),e.offsetAlongLine&&(e.offsetAlongLine*=t),e.placementTemplate&&e.placementTemplate.length){const o=e.placementTemplate.map((e=>e*t));e.placementTemplate=o}break;case\"CIMMarkerPlacementAlongLineVariableSize\":if(e.maxRandomOffset&&(e.maxRandomOffset*=t),e.placementTemplate&&e.placementTemplate.length){const o=e.placementTemplate.map((e=>e*t));e.placementTemplate=o}break;case\"CIMMarkerPlacementOnLine\":e.startPointOffset&&(e.startPointOffset*=t);break;case\"CIMMarkerPlacementAtExtremities\":e.offsetAlongLine&&(e.offsetAlongLine*=t);break;case\"CIMMarkerPlacementAtMeasuredUnits\":case\"CIMMarkerPlacementOnVertices\":break;case\"CIMMarkerPlacementAtRatioPositions\":e.beginPosition&&(e.beginPosition*=t),e.endPosition&&(e.endPosition*=t);break;case\"CIMMarkerPlacementPolygonCenter\":e.offsetX&&(e.offsetX*=t),e.offsetY&&(e.offsetY*=t);break;case\"CIMMarkerPlacementInsidePolygon\":e.offsetX&&(e.offsetX*=t),e.offsetY&&(e.offsetY*=t),e.stepX&&(e.stepX*=t),e.stepY&&(e.stepY*=t)}}function y(e,t){switch(e.type){case\"CIMGeometricEffectArrow\":case\"CIMGeometricEffectDonut\":e.width&&(e.width*=t);break;case\"CIMGeometricEffectBuffer\":e.size&&(e.size*=t);break;case\"CIMGeometricEffectCut\":e.beginCut&&(e.beginCut*=t),e.endCut&&(e.endCut*=t),e.middleCut&&(e.middleCut*=t);break;case\"CIMGeometricEffectDashes\":if(e.customEndingOffset&&(e.customEndingOffset*=t),e.offsetAlongLine&&(e.offsetAlongLine*=t),e.dashTemplate&&e.dashTemplate.length){const o=e.dashTemplate.map((e=>e*t));e.dashTemplate=o}break;case\"CIMGeometricEffectExtension\":case\"CIMGeometricEffectJog\":case\"CIMGeometricEffectRadial\":e.length&&(e.length*=t);break;case\"CIMGeometricEffectMove\":e.offsetX&&(e.offsetX*=t),e.offsetY&&(e.offsetY*=t);break;case\"CIMGeometricEffectOffset\":case\"CIMGeometricEffectOffsetTangent\":e.offset&&(e.offset*=t);break;case\"CIMGeometricEffectRegularPolygon\":e.radius&&(e.radius*=t);break;case\"CIMGeometricEffectTaperedPolygon\":e.fromWidth&&(e.fromWidth*=t),e.length&&(e.length*=t),e.toWidth&&(e.toWidth*=t);break;case\"CIMGeometricEffectWave\":e.amplitude&&(e.amplitude*=t),e.period&&(e.period*=t)}}function C(o){const r=[];return u(t(o),r),r.length?new e(a(r[0])):null}function u(e,t){if(!e)return;let n;n=\"CIMTextSymbol\"===e.type?e.symbol:e;const a=\"CIMPolygonSymbol\"===e.type;if(n?.symbolLayers)for(const i of n.symbolLayers)if(!(i.colorLocked||a&&(r(i)||o(i)&&i.markerPlacement&&s(i.markerPlacement))))switch(i.type){case\"CIMPictureMarker\":case\"CIMPictureStroke\":case\"CIMPictureFill\":i.tintColor&&b(t,i.tintColor);break;case\"CIMVectorMarker\":i.markerGraphics?.forEach((e=>{u(e.symbol,t)}));break;case\"CIMSolidStroke\":case\"CIMSolidFill\":b(t,i.color);break;case\"CIMHatchFill\":u(i.lineSymbol,t)}}function b(e,t){for(const o of e)if(o.join(\".\")===t.join(\".\"))return;e.push(t)}function I(o,r,n){r instanceof e||(r=new e(r));const s=t(o);s&&k(s,r,n)}function k(e,t,a){if(!e)return;let i;i=\"CIMTextSymbol\"===e.type?e.symbol:e;const c=\"CIMPolygonSymbol\"===i?.type;if(i?.symbolLayers)for(const f of i.symbolLayers){if(f.colorLocked)continue;if(c)if(a){const{layersToColor:e}=a;if((r(f)||o(f)&&f.markerPlacement&&s(f.markerPlacement))&&\"fill\"===e||n(f)&&\"outline\"===e)continue}else if(r(f)||o(f)&&f.markerPlacement&&s(f.markerPlacement))continue;const e=t.toArray();switch(f.type){case\"CIMPictureMarker\":case\"CIMPictureStroke\":case\"CIMPictureFill\":f.tintColor=e;break;case\"CIMVectorMarker\":f.markerGraphics?.forEach((e=>{k(e.symbol,t,a)}));break;case\"CIMSolidStroke\":case\"CIMSolidFill\":f.color=e;break;case\"CIMHatchFill\":k(f.lineSymbol,t,a)}}}function p(e,o=!1){const r=t(e);if(\"CIMTextSymbol\"===r?.type||\"CIMPointSymbol\"===r?.type){const e=r.angle;return null!=e&&o?360-e:e??0}return 0}function h(e,r,n=!1){const s=t(e);if(n&&(r=360-r),\"CIMTextSymbol\"!==s?.type){if(\"CIMPointSymbol\"===s?.type&&s.symbolLayers){const e=r-(s.angle||0);for(const t of s.symbolLayers)if(o(t)){let o=t.rotation||0;t.rotateClockwise?o-=e:o+=e,t.rotation=o}s.angle=r}}else s.angle=r}function P(e){const o=t(e);if(!o)return null;switch(o.type){case\"CIMPointSymbol\":return\"CIMPointSymbol\";case\"CIMLineSymbol\":return\"CIMLineSymbol\";case\"CIMPolygonSymbol\":return\"CIMPolygonSymbol\";case\"CIMTextSymbol\":return\"CIMTextSymbol\";case\"CIMMeshSymbol\":return\"CIMMeshSymbol\";default:return null}}export{I as applyCIMSymbolColor,h as applyCIMSymbolRotation,C as getCIMSymbolColor,p as getCIMSymbolRotation,i as getCIMSymbolSize,P as getCIMSymbolType,m as scaleCIMMarker,l as scaleCIMSymbol,c as scaleCIMSymbolTo};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport n from\"../../Color.js\";const o=new n(\"white\"),r=new n(\"black\"),e=new n([255,255,255,0]);function t(n){return 0===n.r&&0===n.g&&0===n.b}export{r as black,t as isBlack,e as transparentWhite,o as white};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport\"../../core/has.js\";import r from\"../SimpleFillSymbol.js\";import o from\"../SimpleLineSymbol.js\";import m from\"../SimpleMarkerSymbol.js\";import e from\"../TextSymbol.js\";import{defaultPointSymbolJSON as t,defaultPolylineSymbolJSON as l,defaultPolygonSymbolJSON as n,defaultTextSymbolJSON as i,errorPointSymbolJSON as s,errorPolylineSymbolJSON as f,errorPolygonSymbolJSON as p}from\"./defaultsJSON.js\";const S=m.fromJSON(t),u=o.fromJSON(l),c=r.fromJSON(n),a=e.fromJSON(i);function J(r){if(null==r)return null;switch(r.type){case\"mesh\":return null;case\"point\":case\"multipoint\":return S;case\"polyline\":return u;case\"polygon\":case\"extent\":return c}return null}const N=m.fromJSON(s),O=o.fromJSON(f),y=r.fromJSON(p);export{S as defaultPointSymbol2D,c as defaultPolygonSymbol2D,u as defaultPolylineSymbol2D,a as defaultTextSymbol2D,N as errorPointSymbol2D,y as errorPolygonSymbol2D,O as errorPolylineSymbol2D,J as getDefaultSymbol2D};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport o from\"../../Color.js\";import\"../../symbols.js\";import e from\"../../core/Collection.js\";import\"../../core/has.js\";import{px2pt as r}from\"../../core/screenUtils.js\";import m from\"../FillSymbol3DLayer.js\";import l from\"../LineSymbol3D.js\";import s from\"../MeshSymbol3D.js\";import i from\"../PointSymbol3D.js\";import n from\"../PolygonSymbol3D.js\";import t from\"../edges/SolidEdges3D.js\";import{defaultPointSymbol2D as p,defaultPolylineSymbol2D as y,defaultPolygonSymbol2D as a}from\"./defaults.js\";import{defaultColor as f,defaultOutlineColor as c}from\"./defaultsJSON.js\";import j from\"../LineSymbol3DLayer.js\";const u=i.fromSimpleMarkerSymbol(p),w=l.fromSimpleLineSymbol(y),S=n.fromSimpleFillSymbol(a),b=new s({symbolLayers:new e([new m({material:{color:f},edges:new t({size:r(1),color:new o(c)})})])}),L=new l({symbolLayers:new e([new j({material:{color:new o([0,0,0])},size:r(1)})])}),D=new n({symbolLayers:new e([new m({outline:{color:new o([0,0,0]),size:r(1)}})])});function d(o){if(null==o)return null;switch(o.type){case\"mesh\":return b;case\"point\":case\"multipoint\":return u;case\"polyline\":return w;case\"polygon\":case\"extent\":return S}return null}export{D as defaultRendererPolygonSymbol3D,L as defaultRendererPolylineSymbol3D,d as getDefaultSymbol3D};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nconst e=[252,146,31,255],i=[153,153,153,255],l={type:\"esriSMS\",style:\"esriSMSCircle\",size:6,color:e,outline:{type:\"esriSLS\",style:\"esriSLSSolid\",width:.75,color:[153,153,153,255]}},o={type:\"esriSLS\",style:\"esriSLSSolid\",width:.75,color:e},S={type:\"esriSFS\",style:\"esriSFSSolid\",color:[252,146,31,196],outline:{type:\"esriSLS\",style:\"esriSLSSolid\",width:.75,color:[255,255,255,191]}},t={type:\"esriTS\",color:[255,255,255,255],font:{family:\"arial-unicode-ms\",size:10,weight:\"bold\"},horizontalAlignment:\"center\",kerning:!0,haloColor:[0,0,0,255],haloSize:1,rotated:!1,text:\"\",xoffset:0,yoffset:0,angle:0},r={type:\"esriSMS\",style:\"esriSMSCircle\",color:[0,0,0,255],outline:null,size:10.5},s={type:\"esriSLS\",style:\"esriSLSSolid\",color:[0,0,0,255],width:1.5},y={type:\"esriSFS\",style:\"esriSFSSolid\",color:[0,0,0,255],outline:null};export{e as defaultColor,i as defaultOutlineColor,l as defaultPointSymbolJSON,S as defaultPolygonSymbolJSON,o as defaultPolylineSymbolJSON,t as defaultTextSymbolJSON,r as errorPointSymbolJSON,y as errorPolygonSymbolJSON,s as errorPolylineSymbolJSON};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{getAssetUrl as t}from\"../../assets.js\";import e from\"../../Color.js\";import o from\"../../request.js\";import{LRUCache as s}from\"../../core/LRUCache.js\";import{pt2px as r}from\"../../core/screenUtils.js\";import{getCIMSymbolColor as n}from\"./cimSymbolUtils.js\";const i=\"picture-fill\",a=\"simple-fill\",l=\"simple-line\",c=\"simple-marker\",h=\"text\",d=\"cim\",m=new Map([[\"dash\",[4,3]],[\"dashdot\",[4,3,1,3]],[\"dot\",[1,3]],[\"longdash\",[8,3]],[\"longdashdot\",[8,3,1,3]],[\"longdashdotdot\",[8,3,1,3,1,3]],[\"shortdash\",[4,1]],[\"shortdashdot\",[4,1,1,1]],[\"shortdashdotdot\",[4,1,1,1,1,1]],[\"shortdot\",[1,1]],[\"solid\",[]]]),p=new s(1e3);function u(e){const o=e.style;let s=null;if(e)switch(e.type){case c:\"cross\"!==o&&\"x\"!==o&&(s=e.color);break;case a:o&&\"solid\"!==o?\"none\"!==o&&(s={type:\"pattern\",x:0,y:0,src:t(`esri/symbols/patterns/${o}.png`),width:5,height:5}):s=e.color;break;case i:s={type:\"pattern\",src:e.url,width:r(e.width)*e.xscale,height:r(e.height)*e.yscale,x:r(e.xoffset),y:r(e.yoffset)};break;case h:s=e.color;break;case d:s=n(e)}return s}function f(t,e){const s=t+\"-\"+e;return void 0!==p.get(s)?Promise.resolve(p.get(s)):o(t,{responseType:\"image\"}).then((t=>{const o=t.data,r=o.naturalWidth,n=o.naturalHeight,i=document.createElement(\"canvas\");i.width=r,i.height=n;const a=i.getContext(\"2d\");a.fillStyle=e,a.fillRect(0,0,r,n),a.globalCompositeOperation=\"destination-in\",a.drawImage(o,0,0);const l=i.toDataURL();return p.put(s,l),l}))}function y(t){if(!t)return null;let e=null;switch(t.type){case a:case i:case c:e=y(t.outline);break;case l:{const o=r(t.width);null!=t.style&&\"none\"!==t.style&&0!==o&&(e={color:t.color,style:w(t.style),width:o,cap:t.cap,join:\"miter\"===t.join?r(t.miterLimit):t.join},e.dashArray=g(e).join(\",\")||\"none\");break}default:e=null}return e}function g(t){if(!t?.style)return[];const{dashArray:e,style:o,width:s}=t;if(\"string\"==typeof e&&\"none\"!==e)return e.split(\",\").map((t=>Number(t)));const r=s??0,n=m.has(o)?m.get(o).map((t=>t*r)):[];if(\"butt\"!==t.cap)for(const[i,a]of n.entries())n[i]=i%2==1?a+r:Math.max(a-r,1);return n}const w=(()=>{const t={};return e=>{if(t[e])return t[e];const o=e.replaceAll(\"-\",\"\");return t[e]=o,o}})(),b=new e([128,128,128]);export{b as defaultThematicColor,w as dekebabifyLineStyle,g as getDashArray,u as getFill,f as getPatternUrlWithColor,y as getStroke};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{readSymbol as e}from\"../../symbols.js\";import o from\"../../core/Error.js\";import{isSceneServiceLayer as n}from\"../../layers/support/layerUtils.js\";import t from\"../Symbol3D.js\";import{to3D as s}from\"./symbolConversion.js\";import r from\"../WebStyleSymbol.js\";function l(e,o,n,t){const s=y(e,{},{context:t,isLabelSymbol:!1});null!=s&&(o[n]=s)}function i(e,o,n,t){const s=y(e,{},{context:t,isLabelSymbol:!0});null!=s&&(o[n]=s)}function m(e){return e instanceof t||e instanceof r}function a(e){return e instanceof t&&(\"polygon-3d\"===e.type||\"line-3d\"===e.type)}function y(e,t,r){if(null==e)return null;const{context:l,isLabelSymbol:i}=r,y=l?.origin,p=l?.messages;if(\"web-scene\"===y&&!m(e)){const n=s(e,{retainCIM:!0,hasLabelingContext:i});return null!=n.symbol?n.symbol.write(t,l):(p?.push(new o(\"symbol:unsupported\",`Symbols of type '${e.declaredClass}' are not supported in scenes. Use 3D symbology instead when working with WebScene and SceneView`,{symbol:e,context:l,error:n.error})),null)}return n(l?.layer)&&a(e)?(p?.push(new o(\"symbol:unsupported\",`Symbols of type '${e.declaredClass}' are not supported on layers of type '${l?.layer?.declaredClass}'.`,{symbol:e,context:l})),null):(\"web-map\"===y||\"portal-item\"===y&&!n(l?.layer))&&m(e)?(p?.push(new o(\"symbol:unsupported\",`Symbols of type '${e.declaredClass}' are not supported in web maps and portal items. Use 2D symbology and CIMSymbol instead when working with MapView`,{symbol:e,context:l})),null):e.write(t,l)}function p(o,n){return e(o,null,n)}export{p as fromJSON,l as write,i as writeLabelSymbol};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nconst e=[\"begin\",\"end\",\"begin-end\"],n=[\"arrow\",\"circle\",\"square\",\"diamond\",\"cross\",\"x\"];export{e as lineMarkerPlacements,n as lineMarkerStyles};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport r from\"../../Color.js\";import{toPt as o}from\"../../core/screenUtils.js\";import{Integer as t}from\"../../core/accessorSupport/ensureType.js\";import{transparencyToOpacity as e,opacityToTransparency as n}from\"../../webdoc/support/opacityUtils.js\";function s(o,t){const n=null!=t.transparency?e(t.transparency):1,s=t.color;return s&&Array.isArray(s)?new r([s[0]||0,s[1]||0,s[2]||0,n]):null}function c(r,o){o.color=r.toJSON().slice(0,3);const t=n(r.a);0!==t&&(o.transparency=t)}const p={type:r,json:{type:[t],default:null,read:{source:[\"color\",\"transparency\"],reader:s},write:{target:{color:{type:[t]},transparency:{type:t}},writer:c}}},a={type:Number,cast:o,json:{write:!0}};export{p as colorAndTransparencyProperty,a as screenSizeProperty};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{getAssetUrl as e}from\"../../assets.js\";import{toHSV as t,toRGB as l}from\"../../core/colorUtils.js\";import\"../../core/has.js\";import a from\"../../core/Error.js\";import s from\"../../core/Logger.js\";import{pt2px as n}from\"../../core/screenUtils.js\";import{defaultThematicColor as r,getPatternUrlWithColor as o,dekebabifyLineStyle as i}from\"./gfxUtils.js\";import{defaultPrimitive as c}from\"./IconSymbol3DLayerResource.js\";import{defaultPrimitive as p}from\"./ObjectSymbol3DLayerResource.js\";import{SymbolSizeDefaults as u,adjustColorComponentBrightness as h,getPathSymbolShapes as m,shapes as f,getExtrudeSymbolShapes as y,getTetrahedronShapes as d,getDiamondShapes as b,getCylinderShapes as k,getCubeShapes as v,getInvertedConeShapes as w,getConeShapes as g,getWaterSymbolShapes as x}from\"./previewUtils.js\";import{tintImageWithColor as M,renderSymbol as L}from\"./renderUtils.js\";import{isVolumetricSymbol as j,getIconHref as z}from\"./utils.js\";import{resolveWebStyleSymbol as S}from\"./webStyleSymbolUtils.js\";const P=u.size,D=u.maxSize,U=u.maxOutlineSize,O=u.lineWidth,R=u.tallSymbolWidth;function C(e){const t=e.outline,l=null!=e.material?e.material.color:null,a=null!=l?l.toHex():null;if(null==t||\"pattern\"in t&&null!=t.pattern&&\"style\"===t.pattern.type&&\"none\"===t.pattern.style)return\"fill\"===e.type&&\"#ffffff\"===a?{color:\"#bdc3c7\",width:.75}:null;const s=n(t.size)||0;return{color:\"rgba(\"+(null!=t.color?t.color.toRgba():\"255,255,255,1\")+\")\",width:Math.min(s,U),style:\"pattern\"in t&&null!=t.pattern&&\"style\"===t.pattern.type?i(t.pattern.style):null,join:\"butt\",cap:\"patternCap\"in t?t.patternCap:\"butt\"}}async function E(t,l){if(t.thumbnail?.url)return t.thumbnail.url;if(\"icon\"===l.type){const e=l?.resource?.href;if(e)return z(l)}const a=e(\"esri/images/Legend/legend3dsymboldefault.png\");if(t.styleOrigin&&(t.styleOrigin.styleName||t.styleOrigin.styleUrl)){const e=await S(t.styleOrigin,{portal:t.styleOrigin.portal},\"webRef\").catch((()=>null));if(e&&\"thumbnail\"in e&&e.thumbnail?.url)return e.thumbnail.url}return a}function q(e,a=1){const s=e.a,n=t(e),r=n.h,o=n.s/a,i=100-(100-n.v)/a,{r:c,g:p,b:u}=l({h:r,s:o,v:i});return[c,p,u,s]}function I(e){return\"water\"===e.type?null==e.color?null:e.color:null==e.material?.color?null:e.material.color}function Z(e,t=0){const l=I(e);if(!l){if(\"fill\"===e.type)return null;const l=r.r,a=h(l,t);return[a,a,a,100]}const a=l.toRgba();for(let s=0;s<3;s++)a[s]=h(a[s],t);return a}async function H(t,l){const a=t.style;if(\"none\"===a)return null;return{type:\"pattern\",x:0,y:0,src:await o(e(`esri/symbols/patterns/${a}.png`),l.toCss(!0)),width:5,height:5}}function N(e){return e.outline?C(e):{color:\"rgba(0, 0, 0, 1)\",width:1.5}}function T(e,t){const l=I(e);if(!l)return null;let a=\"rgba(\";return a+=h(l.r,t)+\",\",a+=h(l.g,t)+\",\",a+=h(l.b,t)+\",\",a+l.a+\");\"}function W(e,t){const l=T(e,t);if(!l)return{};if(\"pattern\"in e&&null!=e.pattern&&\"style\"===e.pattern.type&&\"none\"===e.pattern.style)return null;return{color:l,width:Math.min(e.size?n(e.size):.75,U),style:\"pattern\"in e&&null!=e.pattern&&\"style\"===e.pattern.type?i(e.pattern.style):null,cap:\"cap\"in e?e.cap:null,join:\"join\"in e?\"miter\"===e.join?n(2):e.join:null}}function F(e,t,l){const a=null!=l?.75*l:0;return{type:\"linear\",x1:a?.25*a:0,y1:a?.5*a:0,x2:a||4,y2:a?.5*a:4,colors:[{color:e,offset:0},{color:t,offset:1}]}}function $(e){const t=e.depth,l=e.height,a=e.width;return 0!==a&&0!==t&&0!==l&&a===t&&null!=a&&null!=l&&a{if(\"icon\"!==s.type&&\"object\"!==s.type)return;s&&\"icon\"===s.type&&(m=Math.max(s.size&&n(s.size),m));const o=\"icon\"===s.type?s.size&&n(s.size):0,f=l||o?Math.ceil(Math.min(l||o,a||D)):P;let y=\"icon\"===s.type?s.angle:null;if(null!=t?.rotation&&(y=(y??0)+t.rotation),c.push(y),s?.resource?.href){const t=E(e,s).then((e=>{const t=s?.material?.color,l=G(s);return M(e,f,t,l,r)})).then((e=>{const t=e.width,l=e.height;return u=Math.max(u,t),h=Math.max(h,l),y&&(p=!0),[{shape:{type:\"image\",x:0,y:0,width:t,height:l,src:e.url},fill:null,stroke:null}]}));i.push(t)}else{let e=f;\"icon\"===s.type&&l&&(e=f*(o/m));const a=\"tall\"===t?.symbolConfig||t?.symbolConfig?.isTall||\"object\"===s.type&&$(s);u=Math.max(u,a?R:e),h=Math.max(h,e),y&&s.resource?.primitive&&[\"square\",\"triangle\",\"x\"].includes(s.resource?.primitive)&&(p=!0),i.push(Promise.resolve(A(s,e,a)))}}));const f=await Promise.allSettled(i),y=[];return f.forEach((e=>{\"fulfilled\"===e.status?y.push(e.value):e.reason&&s.getLogger(\"esri.symbols.support.previewSymbol3D\").warn(\"error while building swatchInfo!\",e.reason)})),L(y,[u,h],{node:t?.node,scale:!1,opacity:t?.opacity,ariaLabel:t?.ariaLabel,rotations:c,useRotationSize:p})}function K(e,t){const l=e.symbolLayers,a=[],s=j(e),r=B(t),o=(t?.maxSize?n(t.maxSize):null)||U;let i,c=0,p=0;return l.forEach(((e,t)=>{if(!e)return;if(\"line\"!==e.type&&\"path\"!==e.type)return;const l=[];switch(e.type){case\"line\":{const a=W(e,0);if(null==a)break;const s=a?.width||0;0===t&&(i=s);const n=Math.min(r||s,o),u=0===t?n:r?n*(s/i):n,h=u>O/2?2*u:O;p=Math.max(p,u),c=Math.max(c,h),a.width=u,l.push({shape:{type:\"path\",path:[{command:\"M\",values:[0,.5*p]},{command:\"L\",values:[c,.5*p]}]},stroke:a});break}case\"path\":{const t=Math.min(r||P,o),a=Z(e,0),s=Z(e,-.2),n=T(e,-.4),i=n?{color:n,width:1}:{};if(\"quad\"===e.profile){const t=e.width,n=e.height,r=m(t&&n?t/n:1,0===n,0===t),o={...i,join:\"bevel\"};l.push({shape:r[0],fill:s,stroke:o},{shape:r[1],fill:s,stroke:o},{shape:r[2],fill:a,stroke:o})}else l.push({shape:f.pathSymbol3DLayer[0],fill:s,stroke:i},{shape:f.pathSymbol3DLayer[1],fill:a,stroke:i});p=Math.max(p,t),c=p}}a.push(l)})),Promise.resolve(L(a,[c,p],{node:t?.node,scale:s,opacity:t?.opacity,ariaLabel:t?.ariaLabel}))}async function Q(e,t){const l=\"mesh-3d\"===e.type,a=e.symbolLayers,s=B(t),r=t?.maxSize?n(t.maxSize):null,o=s||P,i=[];let c=0,p=0,u=!1;for(let n=0;n1&&(L*=1.25);const n=0,l=0;let o=c,s=c;e&&m&&(p=L=o=s=0);return[{type:\"path\",path:[{command:\"M\",values:[o,n]},{command:\"L\",values:[m?o:.875*o,n]},{command:\"L\",values:[m?p-.5*o:l,L-.5*s]},{command:\"L\",values:[p-.5*o,L-.5*s]},{command:\"Z\",values:[]}]},{type:\"path\",path:[{command:\"M\",values:[o,n]},{command:\"L\",values:[o,e?n:.125*s]},{command:\"L\",values:[p-.5*o,e?L-.5*s:s]},{command:\"L\",values:[p-.5*o,L-.5*s]},{command:\"Z\",values:[]}]},{type:\"path\",path:[{command:\"M\",values:[p-.5*o,L-.5*s]},{command:\"L\",values:[m?p-.5*o:l,L-.5*s]},{command:\"L\",values:[m?p-.5*o:l,e?L-.5*s:s]},{command:\"L\",values:[p-.5*o,e?L-.5*s:s]},{command:\"Z\",values:[]}]}]}function c(a){const e=t.size,m=.5*a,c=0,p=0;return[{type:\"path\",path:[{command:\"M\",values:[p,.7*e*.5]},{command:\"L\",values:[.3*e,.7*e]},{command:\"L\",values:[.3*e,.7*e+m]},{command:\"L\",values:[p,.7*e+m-.7*e*.5]},{command:\"Z\",values:[]}]},{type:\"path\",path:[{command:\"M\",values:[.3*e,.7*e]},{command:\"L\",values:[.3*e,.7*e+m]},{command:\"L\",values:[e,m]},{command:\"L\",values:[e,c]},{command:\"Z\",values:[]}]},{type:\"path\",path:[{command:\"M\",values:[.3*e,c]},{command:\"L\",values:[e,c]},{command:\"L\",values:[.3*e,.7*e]},{command:\"L\",values:[p,.7*e*.5]},{command:\"Z\",values:[]}]}]}function p(){return[{type:\"path\",path:\"M80,80.2v-27c-1.5,0.7-2.8,1.6-3.9,2.8c-1.8,2.1-4.4,3.3-7.1,3.5c-2.7-0.1-5.3-1.4-7.1-3.4c-2.2-2.3-4.7-3.6-7.4-3.6s-5.1,1.3-7.3,3.6c-1.8,2.1-4.4,3.3-7.2,3.4c-2.7-0.1-5.3-1.4-7.1-3.4c-2.2-2.3-4.7-3.6-7.4-3.6s-5.1,1.3-7.4,3.6c-1.8,2.1-4.4,3.3-7.2,3.4C8.3,59.3,5.7,58,3.9,56c-1.1-1.2-2.4-2.1-3.9-2.8v27\"},{type:\"path\",path:\"M11,59.4c2.7-0.1,5.3-1.4,7.1-3.4c2.2-2.3,4.7-3.6,7.4-3.6s5.1,1.3,7.4,3.6c1.8,2,4.4,3.3,7.2,3.4c2.7-0.1,5.3-1.4,7.1-3.4c2.2-2.3,4.7-3.6,7.3-3.6s5.1,1.3,7.4,3.6c1.8,2.1,4.4,3.3,7.2,3.4c2.7-0.1,5.3-1.4,7.1-3.4c1.1-1.2,2.4-2.1,3.9-2.8v-24c-1.5,0.7-2.8,1.6-3.9,2.8c-1.8,2.1-4.4,3.3-7.1,3.5c-2.7-0.1-5.3-1.4-7.1-3.4c-2.2-2.3-4.7-3.6-7.4-3.6s-5.1,1.3-7.3,3.6c-1.8,2.1-4.4,3.3-7.2,3.4c-2.7-0.1-5.3-1.4-7.1-3.4c-2.2-2.3-4.7-3.6-7.4-3.6s-5.1,1.3-7.4,3.6c-1.8,2.1-4.4,3.3-7.2,3.4c-2.7-0.1-5.3-1.4-7.1-3.4c-1.1-1.2-2.4-2.1-3.9-2.8v24c1.5,0.7,2.8,1.6,3.9,2.8C5.7,58,8.3,59.3,11,59.4z\"},{type:\"path\",path:\"M11,35.4c2.7-0.1,5.3-1.4,7.1-3.4c2.2-2.3,4.7-3.6,7.4-3.6s5.1,1.3,7.4,3.6c1.8,2,4.4,3.3,7.2,3.4c2.7-0.1,5.3-1.4,7.1-3.4c2.2-2.3,4.7-3.6,7.3-3.6s5.1,1.3,7.4,3.6c1.8,2.1,4.4,3.3,7.2,3.4c2.7-0.1,5.3-1.4,7.1-3.4c1.1-1.2,2.4-2.1,3.9-2.8V3.6c-1.5,0.7-2.8,1.6-3.9,2.8c-2.2,2.1-4.6,3.4-7.1,3.4s-5-1.3-7.1-3.4s-4.7-3.6-7.4-3.6s-5.1,1.3-7.3,3.6S42.5,9.9,40,9.9s-5-1.3-7.1-3.4s-4.7-3.6-7.4-3.6s-5.1,1.3-7.3,3.6c-1.8,2.1-4.4,3.3-7.2,3.4c-2.5,0-5-1.3-7.1-3.4C2.8,5.3,1.4,4.3,0,3.6v25.6c1.5,0.7,2.8,1.6,3.9,2.8C5.7,34.1,8.3,35.3,11,35.4z\"}]}function L(a,e){let m=e?t.tallSymbolWidth:a;const c=a,p=e?4:6;m<=t.size?m-=.5*p:m-=p;const L=0,n=0,l=e?.35*m:.5*m;return[{type:\"path\",path:[{command:\"M\",values:[.5*m,L]},{command:\"L\",values:[m,.5*l]},{command:\"L\",values:[.5*m,l]},{command:\"L\",values:[n,.5*l]},{command:\"Z\",values:[]}]},{type:\"path\",path:[{command:\"M\",values:[L,.5*l]},{command:\"L\",values:[.5*m,l]},{command:\"L\",values:[.5*m,c]},{command:\"L\",values:[n,c-.5*l]},{command:\"Z\",values:[]}]},{type:\"path\",path:[{command:\"M\",values:[.5*m,l]},{command:\"L\",values:[.5*m,c]},{command:\"L\",values:[m,c-.5*l]},{command:\"L\",values:[m,.5*l]},{command:\"Z\",values:[]}]}]}function n(a,e){let m=e?t.tallSymbolWidth:a;const c=a,p=e?4:6;m<=t.size?m-=.5*p:m-=p;const L=.5*m,n=.15*m,l=0,o=c-n;return[{type:\"ellipse\",cx:.5*m,cy:o,rx:L,ry:n},{type:\"path\",path:[{command:\"M\",values:[l,n]},{command:\"L\",values:[l,o]},{command:\"L\",values:[m,o]},{command:\"L\",values:[m,n]},{command:\"Z\",values:[]}]},{type:\"ellipse\",cx:.5*m,cy:n,rx:L,ry:n}]}function l(a,e){let m=e?t.tallSymbolWidth:a;const c=a,p=e?4:6;m<=t.size?m-=.5*p:m-=p;const L=.15*m,n=c-L;return[{type:\"ellipse\",cx:.5*m,cy:n,rx:.5*m,ry:L},{type:\"path\",path:[{command:\"M\",values:[.5*m,0]},{command:\"L\",values:[m,n]},{command:\"L\",values:[0,n]},{command:\"Z\",values:[]}]}]}function o(a){let e=a;const m=a,c=6;e!!t.length)))return null;const o=i?.node||document.createElement(\"div\");null!=i.opacity&&(o.style.opacity=i.opacity.toString()),null!=i.effectView&&(o.style.filter=c(i.effectView));return h(o,(()=>a(t,r,n,i))),o}function m(t,e){t=Math.ceil(t),e=Math.ceil(e);const i=document.createElement(\"canvas\");i.width=t,i.height=e,i.style.width=t+\"px\",i.style.height=e+\"px\";const r=i.getContext(\"2d\");return r.clearRect(0,0,t,e),r}function g(t,i,r){return t?e(t,{responseType:\"image\"}).then((t=>{const e=t.data,n=e.width,o=e.height,a=n/o;let c=i;if(r){const t=Math.max(n,o);c=Math.min(c,t)}return{image:e,width:a<=1?Math.ceil(c*a):c,height:a<=1?c:Math.ceil(c/a)}})):Promise.reject(new n(\"renderUtils: imageDataSize\",\"href not provided.\"))}function u(t,e){return!(!t||\"ignore\"===e)&&(\"multiply\"!==e||255!==t.r||255!==t.g||255!==t.b||1!==t.a)}function f(t,e,n,o,a){switch(a){case\"multiply\":t[e]*=n[0],t[e+1]*=n[1],t[e+2]*=n[2],t[e+3]*=n[3];break;default:{const a=i({r:t[e],g:t[e+1],b:t[e+2]});a.h=o.h,a.s=o.s,a.v=a.v/100*o.v;const c=r(a);t[e]=c.r,t[e+1]=c.g,t[e+2]=c.b,t[e+3]*=n[3];break}}}function d(e,r,n,o,a){return g(e,r,a).then((a=>{const c=a.width??r,s=a.height??r;if(a.image&&u(n,o)){let t=a.image.width,r=a.image.height;has(\"edge\")&&/\\.svg$/i.test(e)&&(t-=1,r-=1);const h=m(c,s);h.drawImage(a.image,0,0,t,r,0,0,c,s);const l=h.getImageData(0,0,c,s),g=[n.r/255,n.g/255,n.b/255,n.a],u=i(n);for(let e=0;e({url:e,width:r,height:r})))}export{h as renderOnce,l as renderSymbol,d as tintImageWithColor};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nconst e=new Map;export{e as cachedStyles};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport e from\"../../request.js\";import t from\"../../core/Error.js\";import has from\"../../core/has.js\";import{throwIfAbortError as r}from\"../../core/promiseUtils.js\";import{normalize as o,removeFile as s}from\"../../core/urlUtils.js\";import n from\"../../portal/Portal.js\";import l from\"../../portal/PortalQueryParams.js\";import{cachedStyles as a}from\"./styleCache.js\";async function f(e,t){try{return{data:(await p(e,t)).data,baseUrl:s(e),styleUrl:e}}catch(o){return r(o),null}}function u(e,t,r){const o=null!=t.portal?t.portal:n.getDefault();let s;const l=`${o.url} - ${o.user?.username} - ${e}`,f=a.get(l);if(f)return f;const u=c(e,o,r).then((e=>(s=e,e.fetchData()))).then((t=>({data:t,baseUrl:s.itemUrl??\"\",styleName:e})));return a.set(l,u),u}function c(e,r,o){return r.load(o).then((()=>{const t=new l({disableExtraQuery:!0,query:`owner:${d} AND type:${b} AND typekeywords:\"${e}\"`});return r.queryItems(t,o)})).then((({results:r})=>{let s=null;const n=e.toLowerCase();if(r&&Array.isArray(r))for(const e of r){const t=e.typeKeywords?.some((e=>e.toLowerCase()===n));if(t&&e.type===b&&e.owner===d){s=e;break}}if(!s)throw new t(\"symbolstyleutils:style-not-found\",`The style '${e}' could not be found`,{styleName:e});return s.load(o)}))}function i(e,r,o){return null!=e?.styleUrl?f(e.styleUrl,o):null!=e?.styleName?u(e.styleName,r,o):Promise.reject(new t(\"symbolstyleutils:style-url-and-name-missing\",\"Either styleUrl or styleName is required to resolve a style\"))}function m(e){return null===e||\"CIMSymbolReference\"===e.type?e:{type:\"CIMSymbolReference\",symbol:e}}function y(e,t,r=[\"gltf\"]){if(\"cimRef\"===t)return encodeURI(e.cimRef);if(e.formatInfos&&!has(\"enable-feature:force-wosr\"))for(const o of r){const t=e.formatInfos.find((e=>e.type===o));if(t)return t.href}return encodeURI(e.webRef)}function p(t,r){const s={responseType:\"json\",query:{f:\"json\"},...r};return e(o(t),s)}const d=\"esri_en\",b=\"Style\",h=\"https://cdn.arcgis.com/sharing/rest/content/items/220936cc6ed342c9937abd8f180e7d1e/resources/styles/cim/{SymbolName}.json?f=json\";export{h as Style2DUrlTemplate,i as fetchStyle,m as makeCIMSymbolRef,p as requestJSON,y as symbolUrlFromStyleItem};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nlet n=0;function t(){return n++}function u(t=0){n=t}let o=0;function c(){return o++}function e(n=0){o=n}let f=0;function i(){return f++}function r(n=0){f=n}function l(){u(),e(),r()}export{i as nextBloomId,c as nextLinearGradientId,t as nextPatternId,r as resetBloomId,e as resetLinearGradientId,u as resetPatternId,l as resetSVGGlobalState};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport t from\"../../Color.js\";import has from\"../../core/has.js\";import{assertIsSome as e}from\"../../core/maybe.js\";import{create as i}from\"../../core/libs/gl-matrix-2/factories/mat2df32.js\";import{multiply as r,translate as n,identity as o,scale as a,rotate as s}from\"../../core/libs/gl-matrix-2/math/mat2d.js\";import{getDashArray as l}from\"./gfxUtils.js\";import{nextPatternId as h,nextLinearGradientId as f,nextBloomId as c}from\"./svgGlobalState.js\";import\"../../widgets/support/widgetUtils.js\";import{tsx as u}from\"../../widgets/support/jsxFactory.js\";const d=\"http://www.w3.org/2000/svg\",y=has(\"android\"),p=has(\"chrome\")||y&&y>=4?\"auto\":\"optimizeLegibility\",g={m:2,l:2,h:1,v:1,c:6,s:4,q:4,t:2,a:7,z:0},m=/([A-DF-Za-df-z])|([-+]?\\d*[.]?\\d+(?:[eE][-+]?\\d+)?)/g;let x={},w={};const k=Math.PI;function b(t,e){const i=t*(k/180);return Math.abs(e*Math.sin(i))+Math.abs(e*Math.cos(i))}function j(t){return t.map((t=>`${t.command} ${t.values.join(\" \")}`)).join(\" \").trim()}function M(t,i,r,n,o){if(t){if(\"circle\"===t.type)return u(\"circle\",{cx:t.cx,cy:t.cy,fill:i,\"fill-rule\":\"evenodd\",r:t.r,stroke:r.color,\"stroke-dasharray\":r.dashArray,\"stroke-dashoffset\":r.dashOffset,\"stroke-linecap\":r.cap,\"stroke-linejoin\":r.join,\"stroke-miterlimit\":\"4\",\"stroke-width\":r.width});if(\"ellipse\"===t.type)return u(\"ellipse\",{cx:t.cx,cy:t.cy,fill:i,\"fill-rule\":\"evenodd\",rx:t.rx,ry:t.ry,stroke:r.color,\"stroke-dasharray\":r.dashArray,\"stroke-linecap\":r.cap,\"stroke-linejoin\":r.join,\"stroke-miterlimit\":\"4\",\"stroke-width\":r.width});if(\"rect\"===t.type)return u(\"rect\",{fill:i,\"fill-rule\":\"evenodd\",height:t.height,stroke:r.color,\"stroke-dasharray\":r.dashArray,\"stroke-linecap\":r.cap,\"stroke-linejoin\":r.join,\"stroke-miterlimit\":\"4\",\"stroke-width\":r.width,width:t.width,x:t.x,y:t.y});if(\"image\"===t.type)return u(\"image\",{alt:o||\"image\",height:t.height,href:t.src,preserveAspectRatio:\"none\",width:t.width,x:t.x,y:t.y});if(\"path\"===t.type){const e=\"string\"!=typeof t.path?j(t.path):t.path;return u(\"path\",{d:e,fill:i,\"fill-rule\":\"evenodd\",stroke:r.color,\"stroke-dasharray\":r.dashArray,\"stroke-linecap\":r.cap,\"stroke-linejoin\":r.join,\"stroke-miterlimit\":\"4\",\"stroke-width\":r.width})}if(\"text\"===t.type)return e(n),u(\"text\",{\"dominant-baseline\":n.dominantBaseline,fill:i,\"fill-rule\":\"evenodd\",\"font-family\":n.font.family,\"font-size\":n.font.size,\"font-style\":n.font.style,\"font-variant\":n.font.variant,\"font-weight\":n.font.weight,kerning:n.kerning,rotate:n.rotate,stroke:r.color,\"stroke-dasharray\":r.dashArray,\"stroke-linecap\":r.cap,\"stroke-linejoin\":r.join,\"stroke-miterlimit\":\"4\",\"stroke-width\":r.width,\"text-anchor\":n.align,\"text-decoration\":n.decoration,\"text-rendering\":p,x:t.x,y:t.y},t.text)}return null}function v(e){if(!e)return{fill:\"none\",pattern:null,linearGradient:null};if(!(\"type\"in e))return{fill:new t(e).toString(),pattern:null,linearGradient:null};if(\"pattern\"===e.type){const t=`patternId-${h()}`;return{fill:`url(#${t})`,pattern:{id:t,x:e.x,y:e.y,width:e.width,height:e.height,image:{x:0,y:0,width:e.width,height:e.height,href:e.src}},linearGradient:null}}const i=`linearGradientId-${f()}`;return{fill:`url(#${i})`,pattern:null,linearGradient:{id:i,x1:e.x1,y1:e.y1,x2:e.x2,y2:e.y2,stops:e.colors.map((e=>({offset:e.offset,color:e.color&&new t(e.color).toString()})))}}}function S(e){const i={color:\"none\",width:1,cap:\"butt\",join:\"4\",dashArray:\"none\",dashOffset:\"0\"};return e&&(null!=e.width&&(i.width=e.width),e.cap&&(i.cap=e.cap),e.join&&(i.join=e.join.toString()),e.color&&(i.color=new t(e.color).toString()),e.dashArray&&(i.dashArray=e.dashArray),e.dashoffset&&(i.dashOffset=e.dashoffset),e.style&&!e.dashArray&&(i.dashArray=l(e).join(\",\")||\"none\")),i}function $(t,i){const r={align:null,decoration:null,kerning:null,rotate:null,font:{style:null,variant:null,weight:null,size:null,family:null}};if(t){const n=t.alignBaseline,o=\"baseline\"===n?\"auto\":\"top\"===n?\"text-top\":\"bottom\"===n?\"hanging\":n;r.align=t.align,r.dominantBaseline=o,r.decoration=t.decoration,r.kerning=t.kerning?\"auto\":\"0\",r.rotate=t.rotated?\"90\":\"0\",e(i),r.font.style=i.style||\"normal\",r.font.variant=i.variant||\"normal\",r.font.weight=i.weight||\"normal\",r.font.size=i.size&&i.size.toString()||\"10pt\",r.font.family=i.family||\"serif\"}return r}function A(t){const{pattern:e,linearGradient:i}=t;if(e)return u(\"pattern\",{height:e.height,id:e.id,patternUnits:\"userSpaceOnUse\",width:e.width,x:e.x,y:e.y},u(\"image\",{height:e.image.height,href:e.image.href,width:e.image.width,x:e.image.x,y:e.image.y}));if(i){const t=i.stops.map(((t,e)=>u(\"stop\",{key:`${e}-stop`,offset:t.offset,\"stop-color\":t.color})));return u(\"linearGradient\",{gradientUnits:\"userSpaceOnUse\",id:i.id,x1:i.x1,x2:i.x2,y1:i.y1,y2:i.y2},t)}return null}function G(t,e){if(!t||0===t.length)return null;const i=[];for(const r of t){const{shape:t,fill:e,stroke:n,font:o}=r,a=v(e),s=S(n),l=\"text\"===t.type?$(t,o):null,h=M(t,a.fill,s,l);h&&i.push(h)}return u(\"mask\",{id:e,maskUnits:\"userSpaceOnUse\"},u(\"g\",null,i))}function N(t,e,i){return n(t,o(t),[e,i])}function z(t,e,i,r,n){return a(t,o(t),[e,i]),t[4]=t[4]*e-r*e+r,t[5]=t[5]*i-n*i+n,t}function I(t,e,i,r){const n=e%360*Math.PI/180;s(t,o(t),n);const a=Math.cos(n),l=Math.sin(n),h=t[4],f=t[5];return t[4]=h*a-f*l+r*l-i*a+i,t[5]=f*a+h*l-i*l-r*a+r,t}function B(t,e){x&&\"left\"in x?(null!=x.left&&x.left>t&&(x.left=t),(null==x.right||x.righte)&&(x.top=e),(null==x.bottom||x.bottom=r&&(n={action:t,args:e.slice(0,e.length-e.length%r)},i.push(n),U(n)):(n={action:t,args:[]},i.push(n),U(n)))}function O(t){const e=(\"string\"!=typeof t.path?j(t.path):t.path).match(m),i=[];if(x={},w={},!e)return null;let r=\"\",n=[];const o=e.length;for(let s=0;sn?e:n;let o=1,a=1;isNaN(i)||(t>1?(o=i/d,a=i/t/y):(a=i/y,o=i*t/d)),r(g,g,z(p,o,a,c,u)),m=!0}const x=t.x+(d-o)/2,w=t.y+(y-o)/2;if(r(g,g,N(p,c-x,u-w)),!m&&(d>e||y>n)){const t=d/e>y/n,i=(t?e:n)/(t?d:y);r(g,g,z(p,i,i,x,w))}return h&&r(g,g,N(p,h[0],h[1])),s&&r(g,g,I(p,s,x,w)),`matrix(${g[0]},${g[1]},${g[2]},${g[3]},${g[4]},${g[5]})`}function R(t,e,i){const r=t?.effects.find((t=>\"bloom\"===t.type));if(!r)return null;const{strength:n,radius:o}=r,a=n>0?o:0,s=(n+a)*e,l=4*n+1;return u(\"filter\",{filterUnits:\"userSpaceOnUse\",height:\"300%\",id:`bloom${i}`,width:\"300%\",x:\"-100%\",y:\"-100%\"},u(\"feMorphology\",{in:\"SourceGraphic\",operator:\"dilate\",radius:(n+.5*a)*(5**(e/100)*(.4+e/100)),result:\"dilate\"}),u(\"feGaussianBlur\",{in:\"dilate\",result:\"blur\",stdDeviation:s/25}),u(\"feGaussianBlur\",{in:\"blur\",result:\"intensityBlur\",stdDeviation:s/50}),u(\"feComponentTransfer\",{in:\"SourceGraphic\",result:\"intensityBrightness\"},u(\"feFuncR\",{slope:l,type:\"linear\"}),u(\"feFuncG\",{slope:l,type:\"linear\"}),u(\"feFuncB\",{slope:l,type:\"linear\"})),u(\"feMerge\",null,u(\"feMergeNode\",{in:\"intensityBlur\"}),u(\"feMergeNode\",{in:\"intensityBrightness\"}),u(\"feGaussianBlur\",{stdDeviation:n/10})))}function V(t,i,r,n={}){const o=[],a=[],s=c(),l=R(n.effectView,i,s);let h=null;if(l){const t=n.effectView?.effects.find((t=>\"bloom\"===t.type)),e=(t.strength?t.strength+t.radius/2:0)/3,o=i+i*e,a=r+r*e;h=[Math.max(o,10),Math.max(a,10)]}let f=i,y=r;if(n.useRotationSize)for(let e=0;eo.ignoreDrivers=!0)),{symbol:k}}export{g as defaultTo3DOptions,u as to3D};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport\"../../core/has.js\";import{fromValues as e}from\"../../core/libs/gl-matrix-2/factories/vec3f64.js\";import{fromValues as r}from\"../../geometry/support/aaBoundingBox.js\";function t(r,{isPrimitive:t,width:n,depth:o,height:s}){const c=t?10:1;if(null==n&&null==s&&null==o)return[c*r[0],c*r[1],c*r[2]];const i=e(n,o,s);let u;for(let e=0;e<3;e++){const t=i[e];if(null!=t){u=t/r[e];break}}for(let e=0;e<3;e++)null==i[e]&&(i[e]=r[e]*u);return i}const n=r(-.5,-.5,-.5,.5,.5,.5),o=r(-.5,-.5,0,.5,.5,1),s=r(-.5,-.5,0,.5,.5,.5);function c(e){switch(e){case\"sphere\":case\"cube\":case\"diamond\":return n;case\"cylinder\":case\"cone\":case\"inverted-cone\":return o;case\"tetrahedron\":return s;default:return}}const i=[\"butt\",\"square\",\"round\"],u=[...i,\"none\"],a=[\"miter\",\"bevel\",\"round\"];export{i as lineCaps,a as lineJoins,s as objectSymbolLayerBoundingBoxTetrahedron,n as objectSymbolLayerBoundingBoxUnitCube,o as objectSymbolLayerBoundingBoxUnitCylinder,c as objectSymbolLayerPrimitiveBoundingBox,t as objectSymbolLayerSizeWithResourceSize,u as pathCaps};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport\"../../core/has.js\";import{loadArcade as e}from\"../../support/arcadeOnDemand.js\";import{getStroke as t}from\"./gfxUtils.js\";import{SymbolSizeDefaults as l}from\"./previewUtils.js\";import{renderSymbol as a,renderOnce as i}from\"./renderUtils.js\";import{getCSSFilterFromEffectList as s,fetchWebStyleSymbol as r,applyColorToSymbol as n,applySizesToSymbol as o,applyRotationToSymbol as c,getColorFromSymbol as u,applyOpacityToColor as f}from\"./utils.js\";import{renderRelationshipRamp as p}from\"../../widgets/Legend/styles/support/relationshipUtils.js\";import{getRelationshipRampElement as h}from\"../../widgets/Legend/support/relationshipRampUtils.js\";let y=null;const d=[255,255,255];function m(e,t){return Math.floor(Math.random()*(t-e+1)+e)}function b(e,t,a){const{backgroundColor:i,outline:s,dotSize:r}=e,n=a?.swatchSize||l.size,o=.8,c=Math.round(n*n/Math.max(r,.5)**2*o),u=window.devicePixelRatio,f=document.createElement(\"canvas\"),p=n*u;f.width=p,f.height=p,f.style.width=f.width/u+\"px\",f.style.height=f.height/u+\"px\";const h=f.getContext(\"2d\");if(i&&(h.fillStyle=i.toCss(!0),h.fillRect(0,0,p,p),h.fill()),h.fillStyle=t?.toCss(!0)??\"\",y&&y.length/2===c)for(let l=0;l<2*c;l+=2){const e=y[l],t=y[l+1];h.fillRect(e,t,r*u,r*u),h.fill()}else{y=[];for(let e=0;e<2*c;e+=2){const e=m(0,p),t=m(0,p);y.push(e,t),h.fillRect(e,t,r*u,r*u),h.fill()}}s&&(s.color&&(h.strokeStyle=s.color.toCss(!0)),h.lineWidth=s.width,h.strokeRect(0,0,p,p));const d=new Image(n,n);return d.src=f.toDataURL(),d.ariaLabel=a?.ariaLabel??null,d.alt=a?.ariaLabel??\"\",d}function g(e,l={}){const i=l.radius||40,s=2*Math.PI*i,r=e.length,n=s/r,o=[],c=t(l.outline);null!=c?.width&&(c.width*=2),(c||l.backgroundColor)&&o.push({shape:{type:\"circle\",cx:i,cy:i,r:i},fill:l.backgroundColor,stroke:c,offset:[0,0]});const u=l.values,f=u&&u.length===r&&100===u.reduce(((e,t)=>e+t),0),p=[0];for(let t=0;tp(r,t.id||\"relationship\",{opacity:t.opacity||1,effectList:t.effectList,ariaLabel:t.ariaLabel}))),n}function v(e,t={}){const l=24,a=75,i=\"horizontal\"===t.align,s=i?a:l,r=i?l:a,n=t.width??s,o=t.height??r,c=t.gradient??!0,u=window.devicePixelRatio,f=n*u,p=o*u,h=document.createElement(\"canvas\");h.width=f,h.height=p,h.ariaLabel=t.ariaLabel??null,h.style.width=`${n}px`,h.style.height=`${o}px`;const y=h.getContext(\"2d\"),d=i?f:0,m=i?0:p;if(c){const t=y.createLinearGradient(0,0,d,m),l=e.length,a=1===l?0:1/(l-1);e.forEach(((e,l)=>t.addColorStop(l*a,e.toString()))),y.fillStyle=t,y.fillRect(0,0,f,p)}else{const t=i?f/e.length:f,l=i?p:p/e.length;let a=0,s=0;for(const r of e)y.fillStyle=r.toString(),y.fillRect(a,s,t,l),a=i?a+t:0,s=i?0:s+l}const b=document.createElement(\"div\");return b.style.width=`${n}px`,b.style.height=`${o}px`,S(b,t?.effectList),b.appendChild(h),b}function S(e,t){if(!t)return;e.style.filter=s(t);const l=t.effects;if(l)for(const a of l)if(\"drop-shadow\"===a?.type){a.offsetX<0?e.style.marginLeft=`${Math.abs(a.offsetX)}px`:e.style.marginRight=`${a.offsetX}px`;break}}async function V(e,t){switch(e.type){case\"web-style\":{const{previewWebStyleSymbol:l}=await import(\"./previewWebStyleSymbol.js\");return l(e,V,t)}case\"label-3d\":case\"line-3d\":case\"mesh-3d\":case\"point-3d\":case\"polygon-3d\":{const{previewSymbol3D:l}=await import(\"./previewSymbol3D.js\");return l(e,t)}case\"simple-marker\":case\"simple-line\":case\"simple-fill\":case\"picture-marker\":case\"picture-fill\":case\"text\":{const{previewSymbol2D:l}=await import(\"./previewSymbol2D.js\");return l(e,t)}case\"cim\":{const{previewCIMSymbol:l}=await import(\"./previewCIMSymbol.js\");return l(e,t)}default:return}}function k(e){return e&&\"opacity\"in e?e.opacity*k(e.parent):1}async function L(t,l){if(!t)return;const a=t.sourceLayer,i=(null!=l&&l.useSourceLayer?a:t.layer)??a,s=k(i);if(null!=t.symbol&&(null==l||!0!==l.ignoreGraphicSymbol)){const e=\"web-style\"===t.symbol.type?await r(t.symbol,{...l,cache:null!=l?l.webStyleCache:null}):t.symbol.clone();return n(e,null,s),e}const u=l?.renderer??C(i);let f=u&&\"getSymbolAsync\"in u?await u.getSymbolAsync(t,l):null;if(!f)return;if(f=\"web-style\"===f.type?await f.fetchSymbol({...l,cache:null!=l?l.webStyleCache:null}):f.clone(),!u||!(\"visualVariables\"in u)||!u.visualVariables?.length)return n(f,null,s),f;if(\"arcadeRequiredForVisualVariables\"in u&&u.arcadeRequiredForVisualVariables&&null==l?.arcade){const t={...l};t.arcade=await e(),l=t}const{getColor:p,getOpacity:h,getAllSizes:y,getRotationAngle:d}=await import(\"../../renderers/visualVariables/support/visualVariableUtils.js\"),m=[],b=[],g=[],w=[];for(const e of u.visualVariables)switch(e.type){case\"color\":m.push(e);break;case\"opacity\":b.push(e);break;case\"rotation\":w.push(e);break;case\"size\":e.target||g.push(e)}const v=!!m.length&&m[m.length-1],S=v?p(v,t,l):null,V=!!b.length&&b[b.length-1];let L=V?h(V,t,l):null;if(null!=s&&(L=null!=L?L*s:s),n(f,S,L),g.length){const e=y(g,t,l);await o(f,e)}for(const e of w)c(f,d(e,t,l),e.axis);return f}async function x(t,l){if(!t)return;const{layer:a,sourceLayer:i}=t,s=k(a??i);if(null!=t.symbol&&(null==l||!0!==l.ignoreGraphicSymbol)){const e=\"web-style\"===t.symbol.type?await r(t.symbol,l):t.symbol.clone();return u(e,s)}const n=l?.renderer??C(a)??C(i);let o=n&&\"getSymbolAsync\"in n?await n.getSymbolAsync(t,l):void 0;if(!o)return;o=\"web-style\"===o.type?await r(o,l):o.clone();const c=u(o,s);if(!n||!(\"visualVariables\"in n)||\"visualVariables\"in n&&!n.visualVariables||\"visualVariables\"in n&&!n.visualVariables?.length)return c;if(\"arcadeRequiredForVisualVariables\"in n&&n.arcadeRequiredForVisualVariables&&null==l?.arcade){const t={...l};t.arcade=await e(),l=t}const{getColor:p,getOpacity:h}=await import(\"../../renderers/visualVariables/support/visualVariableUtils.js\"),y=[],d=[];if(n.visualVariables)for(const e of n.visualVariables)switch(e.type){case\"color\":y.push(e);break;case\"opacity\":d.push(e)}const m=y.length>0?y[y.length-1]:null,b=m?p(m,t,l):c,g=d.length>0?d[d.length-1]:null;let w=g?h(g,t,l):null;return null!=s&&(w=null!=w?w*s:s),b?f(b,w):null}function C(e){if(e)return\"renderer\"in e?e.renderer:void 0}async function R(e,t,l){if(!e)return;const{layer:a,sourceLayer:i}=e,s=l?.renderer??C(a)??C(i);if(!s)return null;if(\"visualVariables\"in s&&s.visualVariables?.length){const{getRampStops:i}=await import(\"../../widgets/Legend/support/colorRampUtils.js\"),{getRampStops:r}=await import(\"../../widgets/Legend/support/sizeRampUtils.js\"),{getDateFormatOptions:n}=await import(\"../../widgets/Legend/support/utils.js\");let o=null;for(const c of s.visualVariables){const u=t?n(a,c,t.timeZone):null;let f=null;switch(c.type){case\"color\":f=await i(c,null,u);break;case\"opacity\":f=await i(c);break;case\"size\":c.target||(f=await r(s,c,null,l?.scale||t?.scale,t,u))}if(f?.length){const t=f.find(((t,l)=>{const a=e.attributes[c.field];return 0===l?a>=t.value:l===f?.length-1?a<=t.value:t.value===a}));if(t){o=t.label;break}}}if(o)return o}switch(s.type){case\"class-breaks\":{const t=\"getClassBreakInfo\"in s?await s.getClassBreakInfo(e,l):null;return t?.label??(t&&s.classBreakInfos?.length>1)?`${t.minValue} - ${t.maxValue}`:null}case\"unique-value\":{const t=\"getUniqueValueInfo\"in s?await s.getUniqueValueInfo(e,l):null;return t?.label}}return null}export{x as getDisplayedColor,L as getDisplayedSymbol,R as getLegendLabel,v as renderColorRampPreviewHTML,b as renderDotDensityPreviewHTML,g as renderPieChartPreviewHTML,V as renderPreviewHTML,w as renderRelationshipRampPreviewHTML};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{clamp as e}from\"../../core/mathUtils.js\";import{ensureNumber as o}from\"../../core/accessorSupport/ensureType.js\";const l=[\"none\",\"underline\",\"line-through\"],t=[\"normal\",\"italic\",\"oblique\"],r=[\"normal\",\"lighter\",\"bold\",\"bolder\"],n={type:Number,cast:l=>{const t=o(l);return 0===t?1:e(t,.1,4)},nonNullable:!0},i=[\"left\",\"right\",\"center\"],a=[\"baseline\",\"top\",\"middle\",\"bottom\"],m={type:i,nonNullable:!0},p={type:a,nonNullable:!0},s=8;export{s as backgroundPadding,l as fontDecorations,t as fontStyles,r as fontWeights,m as horizontalAlignmentProperty,i as horizontalAlignments,n as lineHeightProperty,p as verticalAlignmentProperty,a as verticalAlignments};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{remove as r}from\"../../core/arrayUtils.js\";import{meterIn as t}from\"../../renderers/support/lengthUtils.js\";function e(r){return!!r&&null!=t[r]}function n(r){return 1/(t[r]||1)}function o(){const e=Object.keys(t);return r(e,\"decimal-degrees\"),e.sort(),e}const s=o();export{n as getMetersPerUnit,s as supportedUnits,e as supportsUnit};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{makeData as e,isAbsolute as r,join as t,isDataProtocol as a,dataComponents as n}from\"../../core/urlUtils.js\";import{f as i,w as u}from\"../../chunks/persistableUrlUtils.js\";function l(r,t,a){return t.imageData?e({mediaType:t.contentType||\"image/png\",isBase64:!0,data:t.imageData}):o(t.url,a)}function o(e,a){if(!r(e)){const r=p(a);if(r)return t(r,\"images\",e)}return i(e,a)}function s(e,r,t,i){if(a(e)){const a=n(e);if(!a)return;r.contentType=a.mediaType,r.imageData=a.data,t&&t.imageData===r.imageData&&t.url&&u(t.url,r,\"url\",i)}else u(e,r,\"url\",i)}const m={json:{read:{source:[\"imageData\",\"url\"],reader:l},write:{writer(e,r,t,a){s(e,r,this.source,a)}}}},c={readOnly:!0,json:{read:{source:[\"imageData\",\"url\"],reader(e,r,t){const a={};return r.imageData&&(a.imageData=r.imageData),r.contentType&&(a.contentType=r.contentType),r.url&&(a.url=o(r.url,t)),a}}}};function p(e){if(!e)return null;const{origin:r,layer:t}=e;if(\"service\"!==r&&\"portal-item\"!==r)return null;const a=t?.type;return\"feature\"===a||\"stream\"===a?t.parsedUrl?.path:\"map-image\"===a||\"tile\"===a?e.url?.path:null}export{o as read,l as readImageDataOrUrl,c as sourcePropertyDefinition,m as urlPropertyDefinition,s as writeImageDataAndUrl};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport e from\"../../Color.js\";import{isSymbol3D as t,isSymbol2D as o}from\"../../symbols.js\";import{forEach as r}from\"../../core/asyncUtils.js\";import\"../../core/has.js\";import{px2pt as n}from\"../../core/screenUtils.js\";import{ONES as l}from\"../../core/libs/gl-matrix-2/factories/vec3f64.js\";import{effectFunctionsFromJSON as i}from\"../../layers/effects/jsonUtils.js\";import{getCIMSymbolColor as c}from\"./cimSymbolUtils.js\";import{getStroke as s}from\"./gfxUtils.js\";import{Symbol3DMaterial as u}from\"./Symbol3DMaterial.js\";const a=new e(\"white\");function f(e){const t=e.symbolLayers?.at(-1);if(t&&\"outline\"in t)return t?.outline?.size}function m(e){if(!e)return 0;if(t(e)){const t=f(e);return null!=t?t:0}return n(s(e)?.width)}function y(e){if(null==e||!(\"symbolLayers\"in e)||null==e.symbolLayers)return!1;switch(e.type){case\"point-3d\":return e.symbolLayers.some((e=>\"object\"===e.type));case\"line-3d\":return e.symbolLayers.some((e=>\"path\"===e.type));case\"polygon-3d\":return e.symbolLayers.some((e=>\"object\"===e.type||\"extrude\"===e.type));default:return!1}}function p(e){return e.resource?.href??\"\"}function h(r,n){if(!r)return null;let l=null;return t(r)?l=b(r):o(r)&&(l=\"cim\"===r.type?c(r):r.color?new e(r.color):null),l?w(l,n):null}function b(t){const o=t.symbolLayers;if(!o)return null;let r=null;return o.forEach((e=>{\"object\"===e.type&&e.resource?.href||(r=\"water\"===e.type?e.color:e.material?e.material.color:null)})),r?new e(r):null}function w(t,o){if(null==o||null==t)return t;const r=t.toRgba();return r[3]=r[3]*o,new e(r)}function d(e,t,o){const r=e.symbolLayers;if(!r)return;const n=e=>w(t=t??e??(null!=o?a:null),o);r.forEach((e=>{if(\"object\"!==e.type||!e.resource?.href||t)if(\"water\"===e.type)e.color=n(e.color);else{const t=null!=e.material?e.material.color:null,r=n(t);null==e.material?e.material=new u({color:r}):e.material.color=r,null!=o&&\"outline\"in e&&null!=e.outline?.color&&(e.outline.color=w(e.outline.color,o))}}))}function j(e,t,o){(t=t??e.color)&&(e.color=w(t,o)),null!=o&&\"outline\"in e&&e.outline?.color&&(e.outline.color=w(e.outline.color,o))}function g(r,n,l){r&&(n||null!=l)&&(n&&(n=new e(n)),t(r)?d(r,n,l):o(r)&&j(r,n,l))}async function k(e,t){const o=e.symbolLayers;o&&await r(o,(async e=>L(e,t)))}async function L(e,t){switch(e.type){case\"extrude\":x(e,t);break;case\"icon\":case\"line\":case\"text\":z(e,t);break;case\"path\":v(e,t);break;case\"object\":await U(e,t)}}function z(e,t){const o=S(t);null!=o&&(e.size=o)}function S(e){for(const t of e)if(\"number\"==typeof t)return t;return null}function x(e,t){e.size=\"number\"==typeof t[2]?t[2]:0}async function U(e,t){const{resourceSize:o,symbolSize:r}=await C(e),n=E(t,o,r);e.width=M(t[0],r[0],o[0],n),e.depth=M(t[1],r[1],o[1],n),e.height=M(t[2],r[2],o[2],n)}function v(e,t){const o=E(t,l,[e.width,void 0,e.height]);e.width=M(t[0],e.width,1,o),e.height=M(t[2],e.height,1,o)}function E(e,t,o){for(let r=0;r<3;r++){const n=e[r];switch(n){case\"symbol-value\":{const e=o[r];return null!=e?e/t[r]:1}case\"proportional\":break;default:if(n&&t[r])return n/t[r]}}return 1}async function C(e){const{computeObjectLayerResourceSize:t}=await import(\"./symbolLayerUtils.js\"),o=await t(e,10),{width:r,height:n,depth:l}=e,i=[r,l,n];let c=1;for(let s=0;s<3;s++){const e=i[s];if(null!=e){c=e/o[s];break}}for(let s=0;s<3;s++)null==i[s]&&(i[s]=o[s]*c);return{resourceSize:o,symbolSize:i}}function M(e,t,o,r){switch(e){case\"proportional\":return o*r;case\"symbol-value\":return null!=t?t:o;default:return e}}function O(e,t){const o=S(t);if(null!=o)switch(e.type){case\"simple-marker\":e.size=o;break;case\"picture-marker\":{const t=e.width/e.height;t>1?(e.width=o,e.height=o*t):(e.width=o*t,e.height=o);break}case\"simple-line\":e.width=o;break;case\"text\":e.font.size=o}}async function R(e,r){if(e&&r)return t(e)?k(e,r):void(o(e)&&O(e,r))}function D(e,r,n){if(e&&null!=r)if(t(e)){const t=e.symbolLayers;t&&t.forEach((e=>{if(\"object\"===e.type)switch(n){case\"tilt\":e.tilt=(e.tilt??0)+r;break;case\"roll\":e.roll=(e.roll??0)+r;break;default:e.heading=(e.heading??0)+r}\"icon\"===e.type&&(e.angle+=r)}))}else o(e)&&(\"simple-marker\"!==e.type&&\"picture-marker\"!==e.type&&\"text\"!==e.type||(e.angle+=r))}function I(e){if(!e)return null;const t=e.effects.filter((e=>\"bloom\"!==e.type)).map((e=>e.toJSON()));return i(t)}function J(e){return null!=e&&\"polygon-3d\"===e.type&&e.symbolLayers.some((e=>\"extrude\"===e.type))}async function N(e,t){const o=await e.fetchSymbol(t);return o||e.fetchCIMSymbol(t)}export{g as applyColorToSymbol,w as applyOpacityToColor,D as applyRotationToSymbol,R as applySizesToSymbol,N as fetchWebStyleSymbol,I as getCSSFilterFromEffectList,h as getColorFromSymbol,p as getIconHref,m as getSymbolOutlineSize,y as isVolumetricSymbol,J as symbolHasExtrudeSymbolLayer};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{isSymbol3D as t}from\"../../symbols.js\";import{isDevEnvironment as e,adjustStaticAGOUrl as r}from\"../../core/devEnvironmentUtils.js\";import l from\"../../core/Error.js\";import{urlToObject as o,removeFile as n}from\"../../core/urlUtils.js\";import s from\"../../portal/Portal.js\";import{f as i}from\"../../chunks/persistableUrlUtils.js\";import{fromJSON as m}from\"./jsonUtils.js\";import a from\"./StyleOrigin.js\";import{fetchStyle as u,requestJSON as p,makeCIMSymbolRef as f,Style2DUrlTemplate as y,symbolUrlFromStyleItem as c}from\"./styleUtils.js\";import{Thumbnail as b}from\"./Thumbnail.js\";function g(t,e,r,o){const n=t.name;return null==n?Promise.reject(new l(\"symbolstyleutils:style-symbol-reference-name-missing\",\"Missing name in style symbol reference\")):\"Esri2DPointSymbolsStyle\"===t.styleName?d(n,e,o):u(t,e,o).then((t=>h(t,n,e,r,c,o)))}function j(t,e){return e.items.find((e=>e.name===t))}function h(u,y,c,g,h,d){const U=null!=c?.portal?c.portal:s.getDefault(),N={portal:U,url:o(u.baseUrl),origin:\"portal-item\"},w=j(y,u.data);if(!w){const t=`The symbol name '${y}' could not be found`;return Promise.reject(new l(\"symbolstyleutils:symbol-name-not-found\",t,{symbolName:y}))}let S=i(h(w,g),N),D=w.thumbnail?.href??null;const O=w.thumbnail?.imageData;e()&&(S=r(S)??\"\",D=r(D));const P={portal:U,url:o(n(S)),origin:\"portal-item\"};return p(S,d).then((e=>{const r=\"cimRef\"===g?f(e.data):e.data,l=m(r,P);if(l&&t(l)){if(D){const t=i(D,N);l.thumbnail=new b({url:t})}else O&&(l.thumbnail=new b({url:`data:image/png;base64,${O}`}));u.styleUrl?l.styleOrigin=new a({portal:c.portal,styleUrl:u.styleUrl,name:y}):u.styleName&&(l.styleOrigin=new a({portal:c.portal,styleName:u.styleName,name:y}))}return l}))}function d(t,e,r){const l=y.replaceAll(/\\{SymbolName\\}/gi,t),i=null!=e.portal?e.portal:s.getDefault();return p(l,r).then((t=>{const e=f(t.data);return m(e,{portal:i,url:o(n(l)),origin:\"portal-item\"})}))}export{h as fetchSymbolFromStyle,j as getStyleItemFromStyle,g as resolveWebStyleSymbol};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{_ as e}from\"../chunks/tslib.es6.js\";import{JSONSupport as t}from\"../core/JSONSupport.js\";import{clone as r}from\"../core/lang.js\";import{property as o}from\"../core/accessorSupport/decorators/property.js\";import{cast as s}from\"../core/accessorSupport/decorators/cast.js\";import{reader as l}from\"../core/accessorSupport/decorators/reader.js\";import{subclass as p}from\"../core/accessorSupport/decorators/subclass.js\";import{writer as m}from\"../core/accessorSupport/decorators/writer.js\";import n from\"./elements/AttributeTableGroupElement.js\";import{ensureType as c,fromJSON as a,toJSON as i,buildTypeMaps as u}from\"./support/elements.js\";var d;const b=u(n);let j=d=class extends t{constructor(e){super(e),this.elements=null,this.orderByFields=null}castElements(e){return c(e,b)}readElements(e,t){return a(t.attributeTableElements,b)}writeElements(e,t){t.attributeTableElements=i(e,b)}clone(){return new d({elements:r(this.elements),orderByFields:this.orderByFields})}};e([o({json:{write:!0}})],j.prototype,\"elements\",void 0),e([s(\"elements\")],j.prototype,\"castElements\",null),e([l(\"elements\",[\"attributeTableElements\"])],j.prototype,\"readElements\",null),e([m(\"elements\")],j.prototype,\"writeElements\",null),e([o({type:[Object],json:{write:!0}})],j.prototype,\"orderByFields\",void 0),j=d=e([p(\"esri.tables.AttributeTableTemplate\")],j);const f=j;export{f as default};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{_ as t}from\"../../chunks/tslib.es6.js\";import{property as e}from\"../../core/accessorSupport/decorators/property.js\";import\"../../core/has.js\";import\"../../core/Logger.js\";import\"../../core/RandomLCG.js\";import{subclass as r}from\"../../core/accessorSupport/decorators/subclass.js\";import o from\"./AttributeTableElement.js\";var s;let p=s=class extends o{constructor(t){super(t),this.displayType=\"auto\",this.type=\"attachment\"}clone(){return new s({description:this.description,displayType:this.displayType,label:this.label})}};t([e({type:[\"auto\"],json:{write:!0}})],p.prototype,\"displayType\",void 0),t([e({type:[\"attachment\"],readOnly:!0,json:{read:!1,write:!0}})],p.prototype,\"type\",void 0),p=s=t([r(\"esri.tables.elements.AttributeTableAttachmentElement\")],p);const a=p;export{a as default};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{_ as t}from\"../../chunks/tslib.es6.js\";import{JSONSupport as o}from\"../../core/JSONSupport.js\";import{property as e}from\"../../core/accessorSupport/decorators/property.js\";import{subclass as r}from\"../../core/accessorSupport/decorators/subclass.js\";let s=class extends o{constructor(t){super(t),this.description=null,this.label=null,this.type=null}};t([e({type:String,json:{write:!0}})],s.prototype,\"description\",void 0),t([e({type:String,json:{write:!0}})],s.prototype,\"label\",void 0),t([e()],s.prototype,\"type\",void 0),s=t([r(\"esri.tables.elements.AttributeTableElement\")],s);const p=s;export{p as default};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{_ as e}from\"../../chunks/tslib.es6.js\";import{property as t}from\"../../core/accessorSupport/decorators/property.js\";import\"../../core/has.js\";import\"../../core/Logger.js\";import\"../../core/RandomLCG.js\";import{subclass as r}from\"../../core/accessorSupport/decorators/subclass.js\";import o from\"./AttributeTableElement.js\";var s;let i=s=class extends o{constructor(e){super(e),this.fieldName=null,this.type=\"field\"}clone(){return new s({description:this.description,fieldName:this.fieldName,label:this.label})}};e([t({type:String,json:{write:!0}})],i.prototype,\"fieldName\",void 0),e([t({type:String,json:{read:!1,write:!0}})],i.prototype,\"type\",void 0),i=s=e([r(\"esri.tables.elements.AttributeTableFieldElement\")],i);const p=i;export{p as default};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{_ as e}from\"../../chunks/tslib.es6.js\";import{clone as t}from\"../../core/lang.js\";import{property as r}from\"../../core/accessorSupport/decorators/property.js\";import{cast as s}from\"../../core/accessorSupport/decorators/cast.js\";import{reader as o}from\"../../core/accessorSupport/decorators/reader.js\";import{subclass as l}from\"../../core/accessorSupport/decorators/subclass.js\";import{writer as p}from\"../../core/accessorSupport/decorators/writer.js\";import n from\"./AttributeTableElement.js\";import{ensureType as m,fromJSON as a,toJSON as c,buildTypeMaps as i}from\"../support/elements.js\";var u;let b=u=class extends n{constructor(e){super(e),this.elements=null,this.type=\"group\"}castElements(e){return m(e,d,!1)}readElements(e,t){return a(t.attributeTableElements,d,!1)}writeElements(e,t){t.attributeTableElements=c(e,d,!1)}clone(){return new u({description:this.description,elements:t(this.elements),label:this.label})}};e([r({json:{write:!0}})],b.prototype,\"elements\",void 0),e([s(\"elements\")],b.prototype,\"castElements\",null),e([o(\"elements\",[\"attributeTableElements\"])],b.prototype,\"readElements\",null),e([p(\"elements\")],b.prototype,\"writeElements\",null),e([r({type:String,json:{read:!1,write:!0}})],b.prototype,\"type\",void 0),b=u=e([l(\"esri.tables.elements.AttributeTableGroupElement\")],b);const d=i(b),j=b;export{j as default};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{_ as e}from\"../../chunks/tslib.es6.js\";import{property as t}from\"../../core/accessorSupport/decorators/property.js\";import\"../../core/has.js\";import\"../../core/Logger.js\";import\"../../core/RandomLCG.js\";import{subclass as r}from\"../../core/accessorSupport/decorators/subclass.js\";import o from\"./AttributeTableElement.js\";var s;let i=s=class extends o{constructor(e){super(e),this.relationshipId=null,this.type=\"relationship\"}clone(){return new s({description:this.description,label:this.label,relationshipId:this.relationshipId})}};e([t({type:Number,json:{write:!0}})],i.prototype,\"relationshipId\",void 0),e([t({type:[\"relationship\"],json:{read:!1,write:!0}})],i.prototype,\"type\",void 0),i=s=e([r(\"esri.tables.elements.AttributeTableRelationshipElement\")],i);const p=i;export{p as default};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{ensureOneOfType as t}from\"../../core/accessorSupport/ensureType.js\";import e from\"../elements/AttributeTableAttachmentElement.js\";import p from\"../elements/AttributeTableElement.js\";import r from\"../elements/AttributeTableFieldElement.js\";import o from\"../elements/AttributeTableRelationshipElement.js\";function i(t){return{typesWithGroup:{base:p,key:\"type\",typeMap:{attachment:e,field:r,group:t,relationship:o}},typesWithoutGroup:{base:p,key:\"type\",typeMap:{attachment:e,field:r,relationship:o}}}}function n(t,e,p=!0){if(!t)return null;const r=p?e.typesWithGroup.typeMap:e.typesWithoutGroup.typeMap;return t.filter((t=>r[t.type])).map((t=>r[t.type].fromJSON(t)))}function u(t,e,p=!0){if(!t)return null;const r=p?e.typesWithGroup.typeMap:e.typesWithoutGroup.typeMap;return t.filter((t=>r[t.type])).map((t=>t.toJSON()))}function s(e,p,r=!0){return e?e.map((e=>t(r?p.typesWithGroup:p.typesWithoutGroup,e))):null}export{i as buildTypeMaps,s as ensureType,n as fromJSON,u as toJSON};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{_ as t}from\"../chunks/tslib.es6.js\";import{JSONSupport as e}from\"../core/JSONSupport.js\";import{truncateDate as r,offsetDate as s}from\"../core/timeUtils.js\";import{property as n}from\"../core/accessorSupport/decorators/property.js\";import\"../core/has.js\";import\"../core/Logger.js\";import\"../core/RandomLCG.js\";import{reader as i}from\"../core/accessorSupport/decorators/reader.js\";import{subclass as l}from\"../core/accessorSupport/decorators/subclass.js\";import{writer as o}from\"../core/accessorSupport/decorators/writer.js\";import{system as a}from\"./timeZoneUtils.js\";var u;let m=u=class extends e{static get allTime(){return d}static get empty(){return c}static fromArray(t){return new u({start:null!=t[0]?new Date(t[0]):t[0],end:null!=t[1]?new Date(t[1]):t[1]})}constructor(t){super(t),this.end=null,this.start=null}readEnd(t,e){return null!=e.end?new Date(e.end):null}writeEnd(t,e){e.end=t?.getTime()??null}get isAllTime(){return this.equals(u.allTime)}get isEmpty(){return this.equals(u.empty)}readStart(t,e){return null!=e.start?new Date(e.start):null}writeStart(t,e){e.start=t?.getTime()??null}clone(){return new u({end:this.end,start:this.start})}equals(t){if(!t)return!1;const e=this.start?.getTime()??this.start,r=this.end?.getTime()??this.end,s=t.start?.getTime()??t.start,n=t.end?.getTime()??t.end;return e===s&&r===n}expandTo(t,e=a){if(this.isEmpty||this.isAllTime)return this.clone();let n=this.start;n&&(n=r(n,t,e));let i=this.end;if(i){const n=r(i,t,e);i=i.getTime()===n.getTime()?n:s(n,1,t,e)}return new u({start:n,end:i})}intersection(t){if(!t)return this.clone();if(this.isEmpty||t.isEmpty)return u.empty;if(this.isAllTime)return t.clone();if(t.isAllTime)return this.clone();const e=this.start?.getTime()??-1/0,r=this.end?.getTime()??1/0,s=t.start?.getTime()??-1/0,n=t.end?.getTime()??1/0;let i,l;return s>=e&&s<=r?i=s:e>=s&&e<=n&&(i=e),r>=s&&r<=n?l=r:n>=e&&n<=r&&(l=n),null==i||null==l||isNaN(i)||isNaN(l)?u.empty:new u({start:i===-1/0?null:new Date(i),end:l===1/0?null:new Date(l)})}offset(t,e,r=a){if(this.isEmpty||this.isAllTime)return this.clone();const n=new u,{start:i,end:l}=this;return null!=i&&(n.start=s(i,t,e,r)),null!=l&&(n.end=s(l,t,e,r)),n}toArray(){return this.isEmpty?[void 0,void 0]:[this.start?.getTime()??null,this.end?.getTime()??null]}union(t){if(!t||t.isEmpty)return this.clone();if(this.isEmpty)return t.clone();if(this.isAllTime||t.isAllTime)return d.clone();const e=null!=this.start&&null!=t.start?new Date(Math.min(this.start.getTime(),t.start.getTime())):null,r=null!=this.end&&null!=t.end?new Date(Math.max(this.end.getTime(),t.end.getTime())):null;return new u({start:e,end:r})}};t([n({type:Date,json:{write:{allowNull:!0}}})],m.prototype,\"end\",void 0),t([i(\"end\")],m.prototype,\"readEnd\",null),t([o(\"end\")],m.prototype,\"writeEnd\",null),t([n({readOnly:!0,json:{read:!1}})],m.prototype,\"isAllTime\",null),t([n({readOnly:!0,json:{read:!1}})],m.prototype,\"isEmpty\",null),t([n({type:Date,json:{write:{allowNull:!0}}})],m.prototype,\"start\",void 0),t([i(\"start\")],m.prototype,\"readStart\",null),t([o(\"start\")],m.prototype,\"writeStart\",null),m=u=t([l(\"esri.time.TimeExtent\")],m);const p=m,d=new m,c=new m({start:void 0,end:void 0});export{p as default};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{_ as o}from\"../chunks/tslib.es6.js\";import{ClonableMixin as r}from\"../core/Clonable.js\";import{JSONSupport as t}from\"../core/JSONSupport.js\";import{convertTime as e}from\"../core/timeUtils.js\";import{property as s}from\"../core/accessorSupport/decorators/property.js\";import\"../core/has.js\";import\"../core/Logger.js\";import\"../core/RandomLCG.js\";import{enumeration as i}from\"../core/accessorSupport/decorators/enumeration.js\";import{subclass as p}from\"../core/accessorSupport/decorators/subclass.js\";import{timeUnitKebabDictionary as c}from\"../portal/timeUnitKebabDictionary.js\";let m=class extends(r(t)){constructor(o){super(o),this.unit=\"milliseconds\",this.value=0}toMilliseconds(){return e(this.value,this.unit,\"milliseconds\")}};o([i(c,{nonNullable:!0})],m.prototype,\"unit\",void 0),o([s({type:Number,json:{write:!0},nonNullable:!0})],m.prototype,\"value\",void 0),m=o([p(\"esri.time.TimeInterval\")],m);const l=m;export{l as default};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nconst a=new Map([[\"AUS Central Standard Time\",\"Australia/Darwin\"],[\"AUS Eastern Standard Time\",\"Australia/Sydney\"],[\"Afghanistan Standard Time\",\"Asia/Kabul\"],[\"Alaskan Standard Time\",\"America/Anchorage\"],[\"Aleutian Standard Time\",\"America/Adak\"],[\"Altai Standard Time\",\"Asia/Barnaul\"],[\"Arab Standard Time\",\"Asia/Riyadh\"],[\"Arabian Standard Time\",\"Asia/Dubai\"],[\"Arabic Standard Time\",\"Asia/Baghdad\"],[\"Argentina Standard Time\",\"America/Buenos_Aires\"],[\"Astrakhan Standard Time\",\"Europe/Astrakhan\"],[\"Atlantic Standard Time\",\"America/Halifax\"],[\"Aus Central W. Standard Time\",\"Australia/Eucla\"],[\"Azerbaijan Standard Time\",\"Asia/Baku\"],[\"Azores Standard Time\",\"Atlantic/Azores\"],[\"Bahia Standard Time\",\"America/Bahia\"],[\"Bangladesh Standard Time\",\"Asia/Dhaka\"],[\"Belarus Standard Time\",\"Europe/Minsk\"],[\"Bougainville Standard Time\",\"Pacific/Bougainville\"],[\"Canada Central Standard Time\",\"America/Regina\"],[\"Cape Verde Standard Time\",\"Atlantic/Cape_Verde\"],[\"Caucasus Standard Time\",\"Asia/Yerevan\"],[\"Cen. Australia Standard Time\",\"Australia/Adelaide\"],[\"Central America Standard Time\",\"America/Guatemala\"],[\"Central Asia Standard Time\",\"Asia/Bishkek\"],[\"Central Brazilian Standard Time\",\"America/Cuiaba\"],[\"Central Europe Standard Time\",\"Europe/Budapest\"],[\"Central European Standard Time\",\"Europe/Warsaw\"],[\"Central Pacific Standard Time\",\"Pacific/Guadalcanal\"],[\"Central Standard Time\",\"America/Chicago\"],[\"Central Standard Time (Mexico)\",\"America/Mexico_City\"],[\"Chatham Islands Standard Time\",\"Pacific/Chatham\"],[\"China Standard Time\",\"Asia/Shanghai\"],[\"Cuba Standard Time\",\"America/Havana\"],[\"Dateline Standard Time\",\"Etc/GMT+12\"],[\"E. Africa Standard Time\",\"Africa/Nairobi\"],[\"E. Australia Standard Time\",\"Australia/Brisbane\"],[\"E. Europe Standard Time\",\"Europe/Chisinau\"],[\"E. South America Standard Time\",\"America/Sao_Paulo\"],[\"Easter Island Standard Time\",\"Pacific/Easter\"],[\"Eastern Standard Time\",\"America/New_York\"],[\"Eastern Standard Time (Mexico)\",\"America/Cancun\"],[\"Egypt Standard Time\",\"Africa/Cairo\"],[\"Ekaterinburg Standard Time\",\"Asia/Yekaterinburg\"],[\"FLE Standard Time\",\"Europe/Kiev\"],[\"Fiji Standard Time\",\"Pacific/Fiji\"],[\"GMT Standard Time\",\"Europe/London\"],[\"GTB Standard Time\",\"Europe/Bucharest\"],[\"Georgian Standard Time\",\"Asia/Tbilisi\"],[\"Greenland Standard Time\",\"America/Godthab\"],[\"Greenwich Standard Time\",\"Atlantic/Reykjavik\"],[\"Haiti Standard Time\",\"America/Port-au-Prince\"],[\"Hawaiian Standard Time\",\"Pacific/Honolulu\"],[\"India Standard Time\",\"Asia/Calcutta\"],[\"Iran Standard Time\",\"Asia/Tehran\"],[\"Israel Standard Time\",\"Asia/Jerusalem\"],[\"Jordan Standard Time\",\"Asia/Amman\"],[\"Kaliningrad Standard Time\",\"Europe/Kaliningrad\"],[\"Korea Standard Time\",\"Asia/Seoul\"],[\"Libya Standard Time\",\"Africa/Tripoli\"],[\"Line Islands Standard Time\",\"Pacific/Kiritimati\"],[\"Lord Howe Standard Time\",\"Australia/Lord_Howe\"],[\"Magadan Standard Time\",\"Asia/Magadan\"],[\"Magallanes Standard Time\",\"America/Punta_Arenas\"],[\"Marquesas Standard Time\",\"Pacific/Marquesas\"],[\"Mauritius Standard Time\",\"Indian/Mauritius\"],[\"Middle East Standard Time\",\"Asia/Beirut\"],[\"Montevideo Standard Time\",\"America/Montevideo\"],[\"Morocco Standard Time\",\"Africa/Casablanca\"],[\"Mountain Standard Time\",\"America/Denver\"],[\"Mountain Standard Time (Mexico)\",\"America/Mazatlan\"],[\"Myanmar Standard Time\",\"Asia/Rangoon\"],[\"N. Central Asia Standard Time\",\"Asia/Novosibirsk\"],[\"Namibia Standard Time\",\"Africa/Windhoek\"],[\"Nepal Standard Time\",\"Asia/Katmandu\"],[\"New Zealand Standard Time\",\"Pacific/Auckland\"],[\"Newfoundland Standard Time\",\"America/St_Johns\"],[\"Norfolk Standard Time\",\"Pacific/Norfolk\"],[\"North Asia East Standard Time\",\"Asia/Irkutsk\"],[\"North Asia Standard Time\",\"Asia/Krasnoyarsk\"],[\"North Korea Standard Time\",\"Asia/Pyongyang\"],[\"Omsk Standard Time\",\"Asia/Omsk\"],[\"Pacific SA Standard Time\",\"America/Santiago\"],[\"Pacific Standard Time\",\"America/Los_Angeles\"],[\"Pacific Standard Time (Mexico)\",\"America/Tijuana\"],[\"Pakistan Standard Time\",\"Asia/Karachi\"],[\"Paraguay Standard Time\",\"America/Asuncion\"],[\"Qyzylorda Standard Time\",\"Asia/Qyzylorda\"],[\"Romance Standard Time\",\"Europe/Paris\"],[\"Russia Time Zone 10\",\"Asia/Srednekolymsk\"],[\"Russia Time Zone 11\",\"Asia/Kamchatka\"],[\"Russia Time Zone 3\",\"Europe/Samara\"],[\"Russian Standard Time\",\"Europe/Moscow\"],[\"SA Eastern Standard Time\",\"America/Cayenne\"],[\"SA Pacific Standard Time\",\"America/Bogota\"],[\"SA Western Standard Time\",\"America/La_Paz\"],[\"SE Asia Standard Time\",\"Asia/Bangkok\"],[\"Saint Pierre Standard Time\",\"America/Miquelon\"],[\"Sakhalin Standard Time\",\"Asia/Sakhalin\"],[\"Samoa Standard Time\",\"Pacific/Apia\"],[\"Sao Tome Standard Time\",\"Africa/Sao_Tome\"],[\"Saratov Standard Time\",\"Europe/Saratov\"],[\"Singapore Standard Time\",\"Asia/Singapore\"],[\"South Africa Standard Time\",\"Africa/Johannesburg\"],[\"South Sudan Standard Time\",\"Africa/Juba\"],[\"Sri Lanka Standard Time\",\"Asia/Colombo\"],[\"Sudan Standard Time\",\"Africa/Khartoum\"],[\"Syria Standard Time\",\"Asia/Damascus\"],[\"Taipei Standard Time\",\"Asia/Taipei\"],[\"Tasmania Standard Time\",\"Australia/Hobart\"],[\"Tocantins Standard Time\",\"America/Araguaina\"],[\"Tokyo Standard Time\",\"Asia/Tokyo\"],[\"Tomsk Standard Time\",\"Asia/Tomsk\"],[\"Tonga Standard Time\",\"Pacific/Tongatapu\"],[\"Transbaikal Standard Time\",\"Asia/Chita\"],[\"Turkey Standard Time\",\"Europe/Istanbul\"],[\"Turks And Caicos Standard Time\",\"America/Grand_Turk\"],[\"US Eastern Standard Time\",\"America/Indianapolis\"],[\"US Mountain Standard Time\",\"America/Phoenix\"],[\"UTC\",\"Etc/GMT\"],[\"UTC+01\",\"Etc/GMT-1\"],[\"UTC+02\",\"Etc/GMT-2\"],[\"UTC+03\",\"Etc/GMT-3\"],[\"UTC+04\",\"Etc/GMT-4\"],[\"UTC+05\",\"Etc/GMT-5\"],[\"UTC+06\",\"Etc/GMT-6\"],[\"UTC+07\",\"Etc/GMT-7\"],[\"UTC+08\",\"Etc/GMT-8\"],[\"UTC+09\",\"Etc/GMT-9\"],[\"UTC+10\",\"Etc/GMT-10\"],[\"UTC+11\",\"Etc/GMT-11\"],[\"UTC+12\",\"Etc/GMT-12\"],[\"UTC+13\",\"Etc/GMT-13\"],[\"UTC+14\",\"Etc/GMT-14\"],[\"UTC-01\",\"Etc/GMT+1\"],[\"UTC-02\",\"Etc/GMT+2\"],[\"UTC-03\",\"Etc/GMT+3\"],[\"UTC-04\",\"Etc/GMT+4\"],[\"UTC-05\",\"Etc/GMT+5\"],[\"UTC-06\",\"Etc/GMT+6\"],[\"UTC-07\",\"Etc/GMT+7\"],[\"UTC-08\",\"Etc/GMT+8\"],[\"UTC-09\",\"Etc/GMT+9\"],[\"UTC-10\",\"Etc/GMT+10\"],[\"UTC-11\",\"Etc/GMT+11\"],[\"UTC-12\",\"Etc/GMT+12\"],[\"Ulaanbaatar Standard Time\",\"Asia/Ulaanbaatar\"],[\"Venezuela Standard Time\",\"America/Caracas\"],[\"Vladivostok Standard Time\",\"Asia/Vladivostok\"],[\"Volgograd Standard Time\",\"Europe/Volgograd\"],[\"W. Australia Standard Time\",\"Australia/Perth\"],[\"W. Central Africa Standard Time\",\"Africa/Lagos\"],[\"W. Europe Standard Time\",\"Europe/Berlin\"],[\"W. Mongolia Standard Time\",\"Asia/Hovd\"],[\"West Asia Standard Time\",\"Asia/Tashkent\"],[\"West Bank Standard Time\",\"Asia/Hebron\"],[\"West Pacific Standard Time\",\"Pacific/Port_Moresby\"],[\"Yakutsk Standard Time\",\"Asia/Yakutsk\"],[\"Yukon Standard Time\",\"America/Whitehorse\"]]);export{a as legacyTimeZoneMap};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{legacyTimeZoneMap as e}from\"./legacyTimeZoneMap.js\";import{DateTime as t,FixedOffsetZone as n}from\"luxon\";const o=\"system\",r=\"unknown\",i=\"UTC\",s=Intl.DateTimeFormat().resolvedOptions().timeZone,a=\"shortOffset\";function u(e){return\"timeZoneIANA\"in e}function m(e){return e.startsWith(\"UTC\")}function c(e,t=!1){return{json:{read:{source:e,reader:(t,n)=>n[e]?f(n[e]):null},write:!!t&&{allowNull:!0,writer(t,n){n[e]=t?l(t):null}}}}}function f(e,t=o){return e?u(e)?e.timeZoneIANA:Z(e,t):t}function l(e){return{timeZoneIANA:e}}function Z(t,n=o){if(!t||!e.has(t.timeZone))return n;const r=e.get(t.timeZone);return m(t.timeZone)||t.respectsDaylightSaving?r:w(r)}function w(e){const o=t.local().setZone(e),r=Math.min(o.set({month:1,day:1}).offset,o.set({month:5}).offset);if(0===r)return\"Etc/UTC\";return`Etc/GMT${n.instance(-r).formatOffset(0,\"narrow\")}`}function p(e,t,n,o,s){if(t&&\"date\"===s)return{timeZone:i,timeZoneName:void 0};const u=o.timeStyle||o.hour,m=n===r;return{timeZone:m?\"timestamp-offset\"===s?void 0:e??i:n,timeZoneName:m&&u?a:void 0}}function g(e){const t=e===o?s:e,n=/^(?[\\w-]+)(?:\\/(?[\\w-]+))?\\/(?[\\w+-]+)$/;if(n.test(t)){const e=n.exec(t)?.groups,{area:o,region:r,location:i}=e;return{area:o,region:r,location:i,timeZone:t}}return{timeZone:t}}function h(e){const t=new Set([\"etc/utc\",\"etc/gmt\",\"gmt\"]),n=new Set(Intl.supportedValuesOf(\"timeZone\").map((e=>e.toLowerCase())));return e===o||e===r||t.has(e.toLowerCase())||n.has(e.toLowerCase())}export{Z as convertLegacyTimeZone,f as fromTimeReference,g as getTimeZoneComponents,p as getTimeZoneFormattingOptions,h as isTimeZoneValid,a as shortTimeZoneName,o as system,s as systemTimeZone,c as timeZoneProperty,l as toTimeReference,r as unknown,i as utc};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport e from\"../../request.js\";import{generateLowercaseBracedUUID as r}from\"../../core/uuid.js\";const t=r(),n=new Map,s=new Map,a=new Map;async function o(r,t,s){if(!r||!s)return!1;if(!t)return!0;const a=new URL(r).host;let o=n.get(a);if(!o){const t=r.replace(/\\/FeatureServer/i,\"/VersionManagementServer\").replace(/\\/\\d*$/,\"\");o=(await e(t,{responseType:\"json\",query:{f:\"json\"}})).data.defaultVersionName}return o===t}async function i(e,r,n=!1){if(!e||!r)return!0;const a=e.replace(/\\/FeatureServer/i,\"/VersionManagementServer\").replace(/\\/\\d*$/,\"\"),o=s.get(a)?.entries();if(o)for(const[s,i]of o)if(i.name===r){const e=!i.stack?.hasForwardEdits();if(!e&&n){const[{deleteForwardEdits:e},{default:r}]=await Promise.all([import(\"../../rest/versionManagement/gdbVersion/deleteForwardEdits.js\"),import(\"../../rest/versionManagement/gdbVersion/support/DeleteForwardEditsParameters.js\")]),n=await e(a,s,new r({sessionId:t,moment:i.moment}));return n.success&&i.stack?.clearForwardEdits(),n.success}return e}return!0}function c(e,r){if(!e)return!1;const t=e.replace(/\\/FeatureServer/i,\"/VersionManagementServer\").replace(/\\/\\d*$/,\"\"),n=s.get(t)?.entries();if(n)for(const[s,a]of n)if(a.name===r){return\"edit\"===a.lockType}return!1}export{t as currentSessionId,n as defaultVersionNameLookup,o as isHistoricVersion,i as isSafeToEditVersion,c as isVersionInEditSession,s as versionCollection,a as versionCollectionCount};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{_ as t}from\"../../chunks/tslib.es6.js\";import\"../../geometry.js\";import i from\"../../Viewpoint.js\";import e from\"../../core/Accessor.js\";import has from\"../../core/has.js\";import{removeMaybe as n}from\"../../core/maybe.js\";import{addFrameTask as o}from\"../../core/scheduling.js\";import{createScreenPoint as s}from\"../../core/screenUtils.js\";import{Milliseconds as a}from\"../../core/time.js\";import{property as r}from\"../../core/accessorSupport/decorators/property.js\";import\"../../core/Logger.js\";import\"../../core/RandomLCG.js\";import{subclass as h}from\"../../core/accessorSupport/decorators/subclass.js\";import{create as m}from\"../../core/libs/gl-matrix-2/factories/vec2f64.js\";import p from\"../ViewAnimation.js\";import u from\"./PaddedViewState.js\";import{easingFunctions as c,parse as d}from\"./unitBezier.js\";import{copy as l}from\"./viewpointUtils.js\";import{Camera as w}from\"./pointToPoint/Camera.js\";import{Animation as _}from\"../animation/pointToPoint/Animation.js\";import{defaultSettings2D as g}from\"../animation/pointToPoint/Settings.js\";import f from\"../../geometry/Point.js\";const v=2e3,j=64;class y{constructor(t){this._view=t,this._animation=new _((()=>new w(this._view))),this._current=new w(this._view)}get _source(){return this._animation.definition.source}get _target(){return this._animation.definition.target}get duration(){return this._animation.time}get animation(){return this._animation}update(t,i,e={}){l(this._current.viewpoint,t),l(this._source.viewpoint,t),l(this._target.viewpoint,i),this._animation.update(this._source,this._target,e)}applyRatio(t,i){this._animation.cameraAt(i,this._current),l(t,this._current.viewpoint)}}let T=class extends e{constructor(t){super(t),this._animation=null,this._destinationViewState=new u,this.updateFunction=null,this.easing=c.ease,this.viewpoint=new i({targetGeometry:new f,scale:0,rotation:0}),this._updateTask=o({postRender:this._postRender.bind(this)}),this._updateTask.pause(),this._transition=new y(t.view)}destroy(){this._updateTask=n(this._updateTask)}get animation(){return this._animation}set animation(t){this._animation=t,this.view.animation=t}animate(t,i,e){this.stop();const n=this.viewpoint;l(n,i);const o=(\"string\"==typeof e?.easing?d(e.easing):e?.easing)||this.easing,s=t.target;this._transition.update(this.viewpoint,s,{apex:{maximumDistance:Math.min(Math.min(i.scale,s.scale)*j,this.view.constraints.effectiveMinScale),desiredSlope:5e-8},duration:e?.duration,maxDuration:\"auto\"===e?.animationMode?a(1/0):e?.maxDuration??g.maxDuration,speedFactor:e?.speedFactor,easing:\"function\"==typeof o?t=>o(t):void 0}),\"auto\"===e?.animationMode&&(this._destinationViewState.copy(this.view.state),this._destinationViewState.viewpoint=s,x(this._transition.animation,e,this.view.state,this._destinationViewState)||this._transition.update(this.viewpoint,s,{duration:a(0)}));const r=()=>{this.animation===t&&this._updateTask&&(\"finished\"===t.state&&(this._transition.applyRatio(this.viewpoint,1),this.view.state&&(this.view.state.viewpoint=this.viewpoint.clone())),this.animation=null,this.updateFunction=null)};return t.when(r,r),this._startTime=performance.now(),this._updateTask.resume(),this.animation=t,t}animateContinuous(t,i){this.stop(),this.updateFunction=i,this.viewpoint=t;const e=new p({target:t.clone()}),n=()=>{this.animation===e&&this._updateTask&&(this.animation=null,this.updateFunction=null)};return e.when(n,n),this._startTime=performance.now(),this._updateTask.resume(),this.animation=e,e}stop(){this.animation&&(this.animation.stop(),this.animation=null,this.updateFunction=null)}_postRender(t){const i=this.animation;if(i&&i.state!==p.State.STOPPED){if(this.updateFunction)this.updateFunction(this.viewpoint,t.deltaTime),this.animation?.update(this.viewpoint);else{const t=performance.now()-this._startTime,i=this._transition.duration,e=i>0?t/i:1,n=e>=1;this._transition.applyRatio(this.viewpoint,e),n&&this.animation?.finish()}this.view.state&&(this.view.state.viewpoint=this.viewpoint.clone())}else this._updateTask.pause()}};function x(t,i,e,n){if(null!=i?.duration)return!0;const{time:o,isLinear:a}=t,r=i?.speedFactor||1,h=i?.maxDuration??g.maxDuration/r;if(has(\"esri-goto-debug\")&&(console.log(\"speed factor:\",r),console.log(\"adjusted duration:\\t\\t\",o),console.log(\"adjusted max duration:\\t\",h),console.log(\"is linear:\",a)),o>h)return has(\"esri-goto-debug\")&&console.warn(`failed \"auto\" heuristic: animations must be shorter than ${h/1e3}s`),!1;if(a){const t=1.5,i=m(),a=s(...n.toScreen(i,...e.center)),p=s(...e.toScreen(i,...n.center)),u=null!=p&&p.x>-(t-.5)*e.size[0]&&p.x<(t+.5)*e.size[0]&&p.y>-(t-.5)*e.size[1]&&p.y<(t+.5)*e.size[1],c=null!=a&&a.x>-(t-.5)*n.size[0]&&a.x<(t+.5)*n.size[0]&&a.y>-(t-.5)*n.size[1]&&a.y<(t+.5)*n.size[1];if(has(\"esri-goto-debug\")&&(console.log(`dest is within ${t} screens at start view:`,u),console.log(`start is within ${t} screens at dest view:`,c)),o>v/r&&!u&&!c)return has(\"esri-goto-debug\")&&console.warn(`failed \"auto\" heuristic: linear animations must be...\\n - shorter than ${v/1e3/r}s, or\\n - shorter than ${h/1e3}s and the destination is close enough to the starting screen, or\\n - shorter than ${h/1e3}s and the start point is close enough to the destination screen`),!1}return!0}t([r()],T.prototype,\"easing\",void 0),t([r()],T.prototype,\"view\",void 0),t([r()],T.prototype,\"viewpoint\",void 0),T=t([h(\"esri.views.2d.AnimationManager\")],T);const S=T;export{S as default};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{isPromiseLike as t}from\"../../core/promiseUtils.js\";import{watch as e}from\"../../core/reactiveUtils.js\";import{addFrameTask as a}from\"../../core/scheduling.js\";import s from\"./PaddedViewState.js\";import{RenderState as i}from\"../support/RenderState.js\";import{newScheduler as r}from\"../support/Scheduler.js\";class d{constructor(e){this.view=e,this._stationaryHandle=null,this._frameTaskHandle=null,this._updateParameters=null,this._updateRequested=!1,this._scheduler=r(),this.stationary=!0,this.prepare=()=>{this._updateParameters&&(this._updateParameters.state=this.view.state,this._updateParameters.stationary=this.view.stationary,this._updateParameters.pixelRatio=window.devicePixelRatio,this._updateParameters.renderingOptions=this.view.renderingOptions,this._updateParameters.targetState.copy(this.view.state),null==this.view.animation?.target||t(this.view.animation.target)||(this._updateParameters.targetState.viewpoint=this.view.animation.target))},this.update=t=>{if(this._updateRequested=!1,this.view?.destroyed)return;const{allLayerViews:e,graphicsView:a,labelManager:s,state:{id:r}}=this.view;e.forEach(this._updateLayerView,this),null!=s&&(s.lastUpdateId!==r&&(s.viewChange(),s.lastUpdateId=r),s.updateRequested&&s.processUpdate(this._updateParameters)),null!=a&&(a.lastUpdateId!==r&&(a.viewChange(),a.lastUpdateId=r),a.updateRequested&&a.processUpdate(this._updateParameters)),this.view.graphicsTileStore.setViewState(this._updateParameters.state),this.view.animation?this._scheduler.state=i.ANIMATING:this.view.interacting?this._scheduler.state=i.INTERACTING:this._scheduler.state=i.IDLE,this._scheduler.updateBudget(t)&&this._scheduler.frame()}}destroy(){this.stop(),this._scheduler.destroy()}get scheduler(){return this._scheduler}start(){if(this._frameTaskHandle)return;const t=this.view;this.stationary=t.stationary,this._updateParameters={state:t.state,targetState:new s,pixelRatio:window.devicePixelRatio,stationary:this.stationary,renderingOptions:t.renderingOptions},this._stationaryHandle=e((()=>t.stationary),(t=>{this.stationary=t,this.requestFrame()})),this._frameTaskHandle=a(this),this.requestUpdate()}stop(){this._frameTaskHandle&&(this._updateRequested=!1,this._stationaryHandle?.remove(),this._frameTaskHandle.remove(),this._updateParameters=this._stationaryHandle=this._frameTaskHandle=null,this.stationary=!0)}requestUpdate(){this._updateRequested||(this._updateRequested=!0,this.requestFrame())}requestFrame(){this._frameTaskHandle&&this._frameTaskHandle.resume()}_updateLayerView(t){if(!t.attached)return void this.requestUpdate();const e=this.view.state,a=t.lastUpdateId;null!=a&&(this.stationary||t.moving)||(t.moving=!0),a!==e.id&&t.viewChange(),this.stationary&&t.moving&&(t.moving=!1,t.moveEnd()),t.lastUpdateId=e.id,t.updateRequested&&t.processUpdate(this._updateParameters),\"layerViews\"in t&&t.layerViews?.forEach(this._updateLayerView,this)}}export{d as default};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{_ as t}from\"../../chunks/tslib.es6.js\";import{prefersReducedMotion as o}from\"../../core/a11yUtils.js\";import e from\"../../core/Accessor.js\";import i from\"../../core/Error.js\";import r from\"../../core/Logger.js\";import{throwIfAborted as s,whenOrAbort as a}from\"../../core/promiseUtils.js\";import{whenOnce as n}from\"../../core/reactiveUtils.js\";import{property as c}from\"../../core/accessorSupport/decorators/property.js\";import\"../../core/has.js\";import\"../../core/RandomLCG.js\";import{subclass as m}from\"../../core/accessorSupport/decorators/subclass.js\";import p from\"../ViewAnimation.js\";import{create as l}from\"./viewpointUtils.js\";let h=class extends e{constructor(t){super(t),this._gotoTask=null}destroy(){this._gotoTask=null}async goTo(t,e){if(!t)return void r.getLogger(this).error(\"#goTo()\",\"target cannot be null or undefined\");const i=new p;this.view.animation=i,await n((()=>this.view.ready),e);const s={...e,animate:e?.animate??!o(),animationMode:e?.animationMode??\"auto\"},{extent:a,spatialReference:c,size:m,viewpoint:h,constraints:g,padding:w,allLayerViews:d}=this.view,u=l(t,{extent:a,spatialReference:c,size:m,viewpoint:h,constraints:g,padding:w,allLayerViews:d,pickClosestTarget:e?.pickClosestTarget??!0});return i?.update(u),this._gotoTask={},s.animate?this._gotoAnimated(u,s):this._gotoImmediate(u,s)}_gotoImmediate(t,o){const e=this._gotoTask,r=this.view.animation,a=t.then((t=>{if(s(o),e!==this._gotoTask)throw new i(\"view:goto-interrupted\",\"Goto was interrupted\");this.view.viewpoint=r.target=t,r.finish()}));return this._cancellableGoTo(e,r,a,o)}_gotoAnimated(t,o){const e=this._gotoTask,r=this.view.animation;if(!r)return Promise.resolve();const a=t.then((t=>{if(s(o),e!==this._gotoTask)throw new i(\"view:goto-interrupted\",\"Goto was interrupted\");return r.update(t),this.view.animationManager.animate(r,this.view.viewpoint,o),r.when().then((()=>{}),(()=>{}))}));return this._cancellableGoTo(e,r,a,o)}_cancellableGoTo(t,o,e,i){const r=()=>t===this._gotoTask;return a(e,i).finally((()=>{r()&&(o.done||o.stop())}))}};t([c({constructOnly:!0})],h.prototype,\"view\",void 0),h=t([m(\"esri.views.2d.GoToManager\")],h);export{h as GoToManager};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{_ as o}from\"../../chunks/tslib.es6.js\";import\"../../geometry.js\";import t from\"../../core/Accessor.js\";import e from\"../../core/Collection.js\";import{property as r}from\"../../core/accessorSupport/decorators/property.js\";import\"../../core/has.js\";import\"../../core/Logger.js\";import\"../../core/RandomLCG.js\";import{subclass as s}from\"../../core/accessorSupport/decorators/subclass.js\";import i from\"../../layers/support/LOD.js\";import{GeometryConstraint as n}from\"./constraints/GeometryConstraint.js\";import a from\"./constraints/RotationConstraint.js\";import m from\"./constraints/ZoomConstraint.js\";import c from\"../../geometry/Extent.js\";import l from\"../../geometry/Polygon.js\";const p={base:null,key:\"type\",typeMap:{extent:c,polygon:l}};let y=class extends t{constructor(o){super(o),this.lods=null,this.minScale=0,this.maxScale=0,this.minZoom=-1,this.maxZoom=-1,this.rotationEnabled=!0,this.snapToZoom=!0,this.customConstraints=new e}destroy(){this.view=null}get effectiveLODs(){return this._zoom.effectiveLODs}get effectiveMinScale(){return this._zoom.effectiveMinScale}get effectiveMaxScale(){return this._zoom.effectiveMaxScale}get effectiveMinZoom(){return this._zoom.effectiveMinZoom}get effectiveMaxZoom(){return this._zoom.effectiveMaxZoom}set geometry(o){o?this._set(\"geometry\",o):this._set(\"geometry\",null)}get version(){return`${this._zoom?.uid}/${this._rotation?.uid}/${this._geometry?.uid}`}get _geometry(){const o=this._get(\"_geometry\");return o&&this.geometry===o.geometry&&this.view?.constraintsInfo.spatialReference===o.spatialReference?o:new n({geometry:this.geometry,spatialReference:this.view?.constraintsInfo.spatialReference})}get _rotation(){return new a({rotationEnabled:this.rotationEnabled})}get _zoom(){const o=this._get(\"_zoom\"),t=this.lods||this.view?.constraintsInfo.lods,e=this.minZoom,r=this.maxZoom,s=this.minScale,i=this.maxScale,n=this.snapToZoom;return o&&o.lods===t&&o.minZoom===e&&o.maxZoom===r&&o.minScale===s&&o.maxScale===i&&o.snapToZoom===n?o:new m({lods:t,minZoom:e,maxZoom:r,minScale:s,maxScale:i,snapToZoom:n})}canZoomInTo(o){const t=this.effectiveMaxScale;return 0===t||o>=t}canZoomOutTo(o){const t=this.effectiveMinScale;return 0===t||o<=t}constrain(o,t){return this._zoom.constrain(o,t),this._rotation.constrain(o,t),this._geometry.constrain(o,t),this.customConstraints.forEach((e=>e.constrain(o,t))),o}constrainByGeometry(o){return this._geometry.constrain(o),this.customConstraints.forEach((t=>t.applyPanConstraint?.(o))),o}fit(o){return this._zoom.fit(o)}zoomToScale(o){return this._zoom.zoomToScale(o)}scaleToZoom(o){return this._zoom.scaleToZoom(o)}snapScale(o){return this._zoom.snapToClosestScale(o)}snapToNextScale(o){return this._zoom.snapToNextScale(o)}snapToPreviousScale(o){return this._zoom.snapToPreviousScale(o)}};o([r({readOnly:!0})],y.prototype,\"effectiveLODs\",null),o([r({readOnly:!0})],y.prototype,\"effectiveMinScale\",null),o([r({readOnly:!0})],y.prototype,\"effectiveMaxScale\",null),o([r({readOnly:!0})],y.prototype,\"effectiveMinZoom\",null),o([r({readOnly:!0})],y.prototype,\"effectiveMaxZoom\",null),o([r({types:p,value:null})],y.prototype,\"geometry\",null),o([r({type:[i]})],y.prototype,\"lods\",void 0),o([r()],y.prototype,\"minScale\",void 0),o([r()],y.prototype,\"maxScale\",void 0),o([r()],y.prototype,\"minZoom\",void 0),o([r()],y.prototype,\"maxZoom\",void 0),o([r()],y.prototype,\"rotationEnabled\",void 0),o([r()],y.prototype,\"snapToZoom\",void 0),o([r({type:e})],y.prototype,\"customConstraints\",void 0),o([r()],y.prototype,\"view\",void 0),o([r({readOnly:!0})],y.prototype,\"version\",null),o([r({type:n,readOnly:!0})],y.prototype,\"_geometry\",null),o([r({type:a})],y.prototype,\"_rotation\",null),o([r({readOnly:!0,type:m})],y.prototype,\"_zoom\",null),y=o([s(\"esri.views.2d.MapViewConstraints\")],y);const f=y;export{f as default};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{_ as t}from\"../../chunks/tslib.es6.js\";import e from\"../../core/Accessor.js\";import{watch as i,sync as o}from\"../../core/reactiveUtils.js\";import{property as s}from\"../../core/accessorSupport/decorators/property.js\";import\"../../core/has.js\";import\"../../core/Logger.js\";import\"../../core/RandomLCG.js\";import{subclass as r}from\"../../core/accessorSupport/decorators/subclass.js\";import{set as p,subtract as d,copy as a}from\"../../core/libs/gl-matrix-2/math/vec2.js\";import{create as n}from\"../../core/libs/gl-matrix-2/factories/vec2f64.js\";import{addPadding as c}from\"./viewpointUtils.js\";import h from\"./ViewState.js\";var l,m;let g=l=class extends e{constructor(){super(...arguments),this.left=0,this.top=0,this.right=0,this.bottom=0}clone(){return new l({left:this.left,top:this.top,right:this.right,bottom:this.bottom})}};t([s()],g.prototype,\"left\",void 0),t([s()],g.prototype,\"top\",void 0),t([s()],g.prototype,\"right\",void 0),t([s()],g.prototype,\"bottom\",void 0),g=l=t([r(\"esri.views.2d.PaddedViewState.Padding\")],g);let w=m=class extends h{constructor(...t){super(...t),this.paddedViewState=new h,this._updateContent=(()=>{const t=n();return()=>{const e=this._get(\"size\"),i=this._get(\"padding\");if(!e||!i)return;const o=this.paddedViewState;p(t,i.left+i.right,i.top+i.bottom),d(t,e,t),a(o.size,t);const s=o.viewpoint;s&&(this.viewpoint=s)}})(),this.addHandles(i((()=>[this.size,this.padding]),(()=>this._updateContent()),o)),this.padding=new g,this.size=[0,0]}set padding(t){this._set(\"padding\",t||new g)}set viewpoint(t){if(t){this.paddedViewState.viewpoint=t;let e=t;const i=this._get(\"padding\");i&&(e=c(t.clone(),t,this._get(\"size\"),i));const{targetGeometry:o,rotation:s,scale:r}=e,{x:p,y:d,spatialReference:a}=o,n=this._viewpoint2D;n.center[0]=p,n.center[1]=d,n.rotation=s,n.scale=r,n.spatialReference=a,this._update()}}clone(){return new m({padding:this.padding.clone(),size:this.size.slice(),viewpoint:this.paddedViewState.viewpoint.clone(),pixelRatio:this.pixelRatio})}};t([s()],w.prototype,\"paddedViewState\",void 0),t([s({type:g})],w.prototype,\"padding\",null),t([s()],w.prototype,\"viewpoint\",null),w=m=t([r(\"esri.views.2d.PaddedViewState\")],w);const f=w;export{f as default};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{_ as t}from\"../../chunks/tslib.es6.js\";import\"../../geometry.js\";import i from\"../../Viewpoint.js\";import{JSONSupport as e}from\"../../core/JSONSupport.js\";import{property as s}from\"../../core/accessorSupport/decorators/property.js\";import\"../../core/has.js\";import\"../../core/Logger.js\";import\"../../core/RandomLCG.js\";import{subclass as o}from\"../../core/accessorSupport/decorators/subclass.js\";import{toRadian as r}from\"../../core/libs/gl-matrix-2/math/common.js\";import{fromTranslation as a,rotate as n,translate as p,invert as m}from\"../../core/libs/gl-matrix-2/math/mat2d.js\";import{create as h}from\"../../core/libs/gl-matrix-2/factories/mat2df32.js\";import{create as c}from\"../../core/libs/gl-matrix-2/factories/mat2df64.js\";import{set as l,identity as f,translate as v,rotate as d,multiply as w}from\"../../core/libs/gl-matrix-2/math/mat3.js\";import{create as u}from\"../../core/libs/gl-matrix-2/factories/mat3f32.js\";import{copy as x,transformMat2d as j}from\"../../core/libs/gl-matrix-2/math/vec2.js\";import{fromValues as y}from\"../../core/libs/gl-matrix-2/factories/vec2f32.js\";import{create as g}from\"../../core/libs/gl-matrix-2/factories/vec2f64.js\";import{isVec2 as R}from\"../../core/libs/gl-matrix-2/types/vec2.js\";import{getClosestDenormalizedXToReference as _}from\"../../geometry/support/normalizeUtils.js\";import{copy as M,getWorldWidth as b,getMatrix as z,getResolution as S,getExtent as N,getTransform as T,getTransformNoRotation as D,getWorldScreenWidth as V}from\"./viewpointUtils.js\";import A from\"../../geometry/Extent.js\";import C from\"../../geometry/Point.js\";var G;const O=[0,0];let W=G=class extends e{constructor(t){super(t),this._viewpoint2D={center:g(),rotation:0,scale:0,spatialReference:void 0},this.center=[0,0],this.extent=new A,this.id=0,this.inverseTransform=c(),this.resolution=0,this.rotation=0,this.scale=0,this.transform=c(),this.transformNoRotation=c(),this.displayMat3=u(),this.displayViewMat3=u(),this.viewMat3=u(),this.viewMat2d=h(),this.worldScreenWidth=0,this.size=[0,0]}set pixelRatio(t){this._set(\"pixelRatio\",t),this._update()}set size(t){this._set(\"size\",t),this._update()}set viewpoint(t){if(t){const i=this._viewpoint2D,e=t.targetGeometry;i.center[0]=e.x,i.center[1]=e.y,i.rotation=t.rotation,i.scale=t.scale,i.spatialReference=e.spatialReference}this._update()}get visibleArea(){const[t,i]=this.size;return[this.toMap([0,0],0,0),this.toMap([0,0],0,i),this.toMap([0,0],t,i),this.toMap([0,0],t,0)]}copy(t){const i=this.size,e=this.viewpoint;return e&&i?(this.viewpoint=M(e,t.viewpoint),this._set(\"size\",x(i,t.size))):(this.viewpoint=t.viewpoint.clone(),this._set(\"size\",[t.size[0],t.size[1]])),this._set(\"pixelRatio\",t.pixelRatio),this}clone(){return new G({size:this.size,viewpoint:this.viewpoint.clone(),pixelRatio:this.pixelRatio})}toMap(t,i,e){return R(i)?j(t,i,this.inverseTransform):(O[0]=i,O[1]=e,j(t,O,this.inverseTransform))}toScreen(t,i,e){return R(i)?j(t,i,this.transform):(O[0]=i,O[1]=e,j(t,O,this.transform))}toScreenNoRotation(t,i,e){return R(i)?j(t,i,this.transformNoRotation):(O[0]=i,O[1]=e,j(t,O,this.transformNoRotation))}wrapMapCoordinate(t,i){x(t,i);const[e]=i,[s]=this.center,{extent:o,spatialReference:r}=this;let{xmin:a,xmax:n}=o;if(r.isWrappable){const t=b(r)/2;a=Math.max(a,s-t),n=Math.min(n,s+t)}return(en)&&(t[0]=_(e,s,r)),t}getScreenTransform(t,i){const{center:e}=this._viewpoint2D,s=this._get(\"pixelRatio\")||1,o=this._get(\"size\");return z(t,e,o,i,0,s),t}_update(){const{center:t,spatialReference:e,scale:s,rotation:o}=this._viewpoint2D,h=this._get(\"pixelRatio\")||1,c=this._get(\"size\"),u=new i({targetGeometry:new C(t[0],t[1],e),scale:s,rotation:o});if(this._set(\"viewpoint\",u),!c||!e||!s)return;this.resolution=S(u),this.rotation=o,this.scale=s,this.spatialReference=e,x(this.center,t);const j=0!==c[0]?2/c[0]:0,g=0!==c[1]?-2/c[1]:0;l(this.displayMat3,j,0,0,0,g,0,-1,1,1);const R=f(this.viewMat3),_=y(c[0]/2,c[1]/2),M=y(-c[0]/2,-c[1]/2),b=r(o);v(R,R,_),d(R,R,b),v(R,R,M),w(this.displayViewMat3,this.displayMat3,R);const z=a(this.viewMat2d,_);return n(z,z,b),p(z,z,M),N(this.extent,u,c),T(this.transform,u,c,h),m(this.inverseTransform,this.transform),D(this.transformNoRotation,u,c,h),this.worldScreenWidth=V(this.spatialReference,this.resolution),this._set(\"id\",this.id+1),this.notifyChange(\"visibleArea\"),this}};t([s({readOnly:!0})],W.prototype,\"id\",void 0),t([s({value:1,json:{write:!0}})],W.prototype,\"pixelRatio\",null),t([s({json:{write:!0}})],W.prototype,\"size\",null),t([s()],W.prototype,\"spatialReference\",void 0),t([s({type:i,json:{write:!0}})],W.prototype,\"viewpoint\",null),t([s({readOnly:!0})],W.prototype,\"visibleArea\",null),W=G=t([o(\"esri.views.2d.ViewState\")],W);const L=W;export{L as default};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{_ as t}from\"../../chunks/tslib.es6.js\";import\"../../geometry.js\";import e from\"../../Viewpoint.js\";import i from\"../../core/Accessor.js\";import s from\"../../core/Error.js\";import has from\"../../core/has.js\";import r from\"../../core/Logger.js\";import{watch as o,sync as n}from\"../../core/reactiveUtils.js\";import{createScreenPoint as a}from\"../../core/screenUtils.js\";import c from\"../../core/Warning.js\";import{property as p}from\"../../core/accessorSupport/decorators/property.js\";import\"../../core/RandomLCG.js\";import{subclass as h}from\"../../core/accessorSupport/decorators/subclass.js\";import{i as l}from\"../../chunks/pe.js\";import d from\"../../geometry/Point.js\";import{project as v}from\"../../geometry/projection.js\";import{equals as m}from\"../../geometry/support/spatialReferenceUtils.js\";import u from\"./PaddedViewState.js\";import{centerAt as g,setExtent as w,rotateTo as f,scaleTo as y,copy as _,extentToScale as j,angleBetween as x,resize as S}from\"./viewpointUtils.js\";import R from\"../../geometry/Extent.js\";let z=class extends i{constructor(t){super(t),this.constraints=null,this.ready=!1,this.resizeAlign=\"center\",this.addHandles([o((()=>this.constraints?.version),(t=>{this.constraints&&t&&this.ready&&(this.state.viewpoint=this.constraints.fit(this.state.paddedViewState.viewpoint))}),n)])}get center(){if(!this.ready)return this._get(\"center\");const{center:t,spatialReference:e}=this.state.paddedViewState;return this.state.commitProperty(\"id\"),new d({x:t[0],y:t[1],spatialReference:e})}set center(t){if(null==t)return;if(!this.ready)return void this._set(\"center\",t);let e;try{e=this._project(t,this.state.spatialReference)}catch(o){return void r.getLogger(this).error(new s(\"mapview:invalid-center\",\"could not project the value in the view's spatial reference\",{input:t,error:o}))}const i=this.viewpoint;g(i,i,e),this.viewpoint=i}get extent(){return this.ready?(this.state.commitProperty(\"id\"),this.state.paddedViewState.extent.clone()):this._get(\"extent\")}set extent(t){if(null==t)return;if(!t.width||!t.height)return void r.getLogger(this).error(new s(\"mapview:invalid-extent\",\"invalid extent size\"));if(!this.ready)return this._set(\"extent\",t),this._set(\"center\",void 0),this._set(\"viewpoint\",void 0),this._set(\"scale\",void 0),void this._set(\"zoom\",void 0);let e;try{e=this._project(t,this.state.spatialReference)}catch(o){return void r.getLogger(this).error(new s(\"mapview:invalid-extent\",\"could not project the value in the view's spatial reference\",{error:o}))}const i=this.viewpoint;w(i,i,e,this.state.size,{constraints:this.constraints}),this.viewpoint=i}get padding(){return this.ready?this.state.padding:this._get(\"padding\")}set padding(t){this.ready?(this.state.padding=t,this._set(\"padding\",this.state.padding)):this._set(\"padding\",t)}get resolution(){return this.ready?(this.state.commitProperty(\"id\"),this.state.resolution):0}get rotation(){return this.ready?(this.state.commitProperty(\"id\"),this.state.rotation):this._get(\"rotation\")}set rotation(t){if(isNaN(t))return;if(!this.ready)return void this._set(\"rotation\",t);const e=this.viewpoint;f(e,e,t),this.viewpoint=e}get scale(){return this.ready?(this.state.commitProperty(\"id\"),this.state.scale):this._get(\"scale\")}set scale(t){if(!t||isNaN(t))return;if(!this.ready){this._set(\"scale\",t),this._set(\"zoom\",void 0);const e=this._get(\"extent\");return void(e&&(this._set(\"extent\",void 0),this._set(\"center\",e.center)))}const e=this.viewpoint;y(e,e,t),this.viewpoint=e}get viewpoint(){if(!this.ready)return this._get(\"viewpoint\");return this.state.paddedViewState.viewpoint.clone()}set viewpoint(t){if(null==t)return;if(!this.ready)return this._set(\"viewpoint\",t),this._set(\"extent\",void 0),this._set(\"center\",void 0),this._set(\"zoom\",void 0),void this._set(\"scale\",void 0);let i,o;try{i=this._project(t,this.state.spatialReference),!t.scale||isNaN(t.scale)?o=new s(\"mapview:invalid-viewpoint\",`invalid scale value of ${t.scale}`):null==t.targetGeometry&&(o=new s(\"mapview:invalid-viewpoint\",\"geometry not defined\"))}catch(a){o=new s(\"mapview:invalid-viewpoint\",\"could not project the value in the view's spatial reference\",{error:a})}if(o)return void r.getLogger(this).error(o);this._scaleBeforeChangingSpatialReference=null;const n=new e({targetGeometry:new d,scale:0,rotation:0});_(n,i),this.constraints?.constrain(n,this.state.paddedViewState.viewpoint),this.state.viewpoint=n,this._set(\"viewpoint\",n)}get visibleArea(){return this.ready?this.state.visibleArea:null}get zoom(){return this.ready?this.constraints?.scaleToZoom(this.scale)??-1:this._get(\"zoom\")}set zoom(t){if(!(t>=0))return;if(!this.ready){this._set(\"zoom\",t),this._set(\"scale\",void 0);const e=this._get(\"extent\");return void(e&&(this._set(\"extent\",void 0),this._set(\"center\",e.center)))}const e=this.constraints?.zoomToScale(t)??0;if(!e)return void this._set(\"zoom\",-1);const i=this.viewpoint;y(i,i,e),this.viewpoint=i,this._set(\"zoom\",this.constraints?.scaleToZoom(this.scale)??-1)}getUserStartupOptions(t){if(!t[0]&&!t[1])return{center:void 0,rotation:void 0,scale:void 0};const{padding:e,constraints:i}=this,s=this._get(\"center\"),r=this._get(\"extent\"),o=this._get(\"scale\"),n=this._get(\"rotation\"),a=this._get(\"viewpoint\"),c=this._get(\"zoom\"),p=null!=c&&null!=i&&i.zoomToScale(c)||void 0;let h,l,d;const v=a?.rotation,m=a?.targetGeometry;\"extent\"===m?.type?h=m:\"point\"===m?.type&&(l=m,d=a?.scale);const u=r??h;return{center:s??l??u?.center,rotation:n??v,scale:(o??p??d??(u&&j(u,[t[0]-e.left-e.right,t[1]-e.top-e.bottom])))||void 0}}startup(t,e,i,s){const o=t.targetGeometry;try{this._project(t,i)}catch(n){r.getLogger(this).warn(new c(\"mapview:startup-projection-error\",\"projection of initial viewpoint to the view's spatial reference, defaulting to the initial viewpoint.\",{center:o.toJSON(),spatialReference:i,error:n})),t.targetGeometry=s||new d({x:0,y:0,spatialReference:i})}this.constraints?.fit(t),this._set(\"state\",new u({padding:this.padding,size:e,viewpoint:t})),this._set(\"ready\",!0)}teardown(){this._set(\"ready\",!1);const{center:[t,e],spatialReference:i,rotation:s,scale:r}=this.state.paddedViewState,o=new d({x:t,y:e,spatialReference:i});this._set(\"viewpoint\",null),this._set(\"extent\",null),this._set(\"center\",o),this._set(\"zoom\",-1),this._set(\"rotation\",s),this._set(\"scale\",r),this._set(\"state\",null)}changeSpatialReference(t){const i=this.state.paddedViewState.clone();if(null==this._scaleBeforeChangingSpatialReference)this._scaleBeforeChangingSpatialReference=i.scale;else{const t=i.viewpoint.clone();t.scale=this._scaleBeforeChangingSpatialReference,i.viewpoint=t}const s=i.clone(),[o,n]=i.center;let a=null;try{a=this._project(new d({x:o,y:n,spatialReference:i.spatialReference}),t)}catch(h){l()||r.getLogger(this).warn(new c(\"mapview:spatial-reference-change\",\"could not project the view's center to the new spatial reference\",{center:a?.toJSON(),spatialReference:t,error:h}))}a||(a=new d({x:0,y:0,spatialReference:t}));const p=g(new e({targetGeometry:new d,scale:0,rotation:0}),i.viewpoint,a);s.viewpoint=p;try{const e=20,r=[i.size[0]/2,i.size[1]/2],o=[r[0]+e,r[1]],n=i.toMap([0,0],o),{x:a,y:c}=this._project(new d({x:n[0],y:n[1],spatialReference:i.spatialReference}),t);n[0]=a,n[1]=c,s.toScreen(n,n);const h=x(r,n,o),l=Math.hypot(n[0]-r[0],n[1]-r[1])/e;!Number.isFinite(l)||Math.abs(l)>4?(p.rotation=0,p.targetGeometry=new d({x:0,y:0,spatialReference:t})):(p.scale*=l,p.scale>has(\"mapview-srswitch-adjust-rotation-scale-threshold\")?p.rotation=0:p.rotation+=Number.isFinite(h)?h:0)}catch{}this._get(\"constraints\")?.constrain(p,void 0),this._get(\"state\").viewpoint=p}resize(t,e){if(!this.ready)return;const i=this.state;let s=this.state.paddedViewState.viewpoint;const r=this.state.paddedViewState.size.slice();i.size=[t,e],S(s,s,r,this.state.paddedViewState.size,this.resizeAlign),s=this.constraints?.constrain(s,void 0)??s,this.state.viewpoint=s}toMap(t){if(!this.ready)return null;const e=[0,0],[i,s]=this.state.toMap(e,[t.x,t.y]),r=this.state.spatialReference;return new d({x:i,y:s,spatialReference:r})}toScreen(t,e){if(!this.ready)return null;const i=this._project(t,this.state.spatialReference),s=[i.x,i.y];return!1===e?.pickClosestTarget||this.state.paddedViewState.wrapMapCoordinate(s,s),this.state.toScreen(s,s),a(s[0],s[1])}_project(t,e){const i=t?.targetGeometry||t;if(!e)return t;if(!i)return null;if(e.imageCoordinateSystem||i.spatialReference?.imageCoordinateSystem)return t;if(m(e,i.spatialReference))return t;const r=v(i,e);if(!r)throw new s(\"mapview:projection-not-possible\",\"projecting input geometry to target spatial reference returned a null value\",{geometry:i,spatialReference:e});return V(t)?(t.targetGeometry=r,t):r}};function V(t){return\"esri.Viewpoint\"===t?.declaredClass}t([p({type:d})],z.prototype,\"center\",null),t([p()],z.prototype,\"constraints\",void 0),t([p({type:R})],z.prototype,\"extent\",null),t([p({value:{top:0,right:0,bottom:0,left:0},cast:t=>({top:0,right:0,bottom:0,left:0,...t})})],z.prototype,\"padding\",null),t([p()],z.prototype,\"ready\",void 0),t([p()],z.prototype,\"resizeAlign\",void 0),t([p({readOnly:!0})],z.prototype,\"resolution\",null),t([p({type:Number})],z.prototype,\"rotation\",null),t([p({type:Number})],z.prototype,\"scale\",null),t([p({readOnly:!0})],z.prototype,\"state\",void 0),t([p({type:e})],z.prototype,\"viewpoint\",null),t([p({readOnly:!0})],z.prototype,\"visibleArea\",null),t([p()],z.prototype,\"zoom\",null),z=t([h(\"esri.views.2d.ViewStateManager\")],z);export{z as ViewStateManager};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport e from\"../../../core/Error.js\";import r from\"../../../core/Logger.js\";import{unquantizeMultipoint as t,unquantizePolyline as o,unquantizePolygon as n,unquantizePoint as a}from\"../../../geometry/support/quantizationUtils.js\";function s(e,t,o,n,a){if(null==e)return null;const s=e.referencesGeometry()&&a?i(t,n,a):t,u=e.repurposeFeature(s);try{return e.evaluate({...o,$feature:u},e.services)}catch(c){return r.getLogger(\"esri.views.2d.support.arcadeOnDemand\").warn(\"Feature arcade evaluation failed:\",c),null}}const u=new Map;function i(e,r,t){const{transform:o,hasZ:n,hasM:a}=t;u.has(r)||u.set(r,c(r));const s=u.get(r)(e.geometry,o,n,a);return{...e,geometry:s}}function c(s){const u={};switch(s){case\"esriGeometryPoint\":return(e,r,t,o)=>a(r,u,e,t,o);case\"esriGeometryPolygon\":return(e,r,t,o)=>n(r,u,e,t,o);case\"esriGeometryPolyline\":return(e,r,t,n)=>o(r,u,e,t,n);case\"esriGeometryMultipoint\":return(e,r,o,n)=>t(r,u,e,o,n);default:return r.getLogger(\"esri.views.2d.support.arcadeOnDemand\").error(new e(\"mapview-arcade\",`Unable to handle geometryType: ${s}`)),e=>e}}export{s as default};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{_ as e}from\"../../../chunks/tslib.es6.js\";import r from\"../../../core/Accessor.js\";import{NumericIdentifiableMixin as t}from\"../../../core/Identifiable.js\";import o from\"../../../core/Logger.js\";import{property as s}from\"../../../core/accessorSupport/decorators/property.js\";import\"../../../core/has.js\";import\"../../../core/RandomLCG.js\";import{subclass as i}from\"../../../core/accessorSupport/decorators/subclass.js\";import{project as n}from\"../../../geometry/projection.js\";import{extentContainsPoint as m,polygonContainsPoint as a}from\"../../../geometry/support/contains.js\";import{nearestCoordinate as c}from\"../../../geometry/support/near.js\";var l;let p=l=class extends(t(r)){constructor(e){super(e),this.geometry=null,this.spatialReference=null}get normalizedGeometry(){if(null==this.geometry||!this.spatialReference)return null;if(!this.spatialReference.equals(this.geometry.spatialReference))try{return n(this.geometry,this.spatialReference)}catch(e){return o.getLogger(this).error(\"#constraints.geometry\",\"could not project the geometry to the view's spatial reference\",{geometry:this.geometry,spatialReference:this.spatialReference,error:e}),null}return this.geometry}constrain(e,r){if(null==this.normalizedGeometry)return e;const t=e.targetGeometry;if(\"extent\"===this.normalizedGeometry.type?m(this.normalizedGeometry,t):a(this.normalizedGeometry,t))return e;const{coordinate:o}=c(this.normalizedGeometry,t);return o?(e.targetGeometry=o,e):e}clone(){return new l({geometry:this.geometry?.clone(),spatialReference:this.spatialReference?.clone()})}};e([s({constructOnly:!0})],p.prototype,\"geometry\",void 0),e([s({readOnly:!0})],p.prototype,\"normalizedGeometry\",null),e([s({constructOnly:!0})],p.prototype,\"spatialReference\",void 0),p=l=e([i(\"esri.views.2d.constraints.GeometryConstraint\")],p);export{p as GeometryConstraint};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{_ as o}from\"../../../chunks/tslib.es6.js\";import t from\"../../../core/Accessor.js\";import{NumericIdentifiableMixin as r}from\"../../../core/Identifiable.js\";import{property as e}from\"../../../core/accessorSupport/decorators/property.js\";import\"../../../core/has.js\";import\"../../../core/Logger.js\";import\"../../../core/RandomLCG.js\";import{subclass as s}from\"../../../core/accessorSupport/decorators/subclass.js\";var a;let n=a=class extends(r(t)){constructor(){super(...arguments),this.enabled=!0,this.rotationEnabled=!0}constrain(o,t){return this.enabled&&t?(this.rotationEnabled||(o.rotation=t.rotation),o):o}clone(){return new a({enabled:this.enabled,rotationEnabled:this.rotationEnabled})}};o([e()],n.prototype,\"enabled\",void 0),o([e()],n.prototype,\"rotationEnabled\",void 0),n=a=o([s(\"esri.views.2d.constraints.RotationConstraint\")],n);const i=n;export{i as default};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{_ as e}from\"../../../chunks/tslib.es6.js\";import t from\"../../../core/Accessor.js\";import{NumericIdentifiableMixin as o}from\"../../../core/Identifiable.js\";import{property as s}from\"../../../core/accessorSupport/decorators/property.js\";import\"../../../core/has.js\";import\"../../../core/Logger.js\";import\"../../../core/RandomLCG.js\";import{subclass as i}from\"../../../core/accessorSupport/decorators/subclass.js\";var a;let c=a=class extends(o(t)){constructor(e){super(e),this._lodByScale={},this._scales=[],this.effectiveLODs=null,this.effectiveMinZoom=-1,this.effectiveMaxZoom=-1,this.effectiveMinScale=0,this.effectiveMaxScale=0,this.lods=null,this.minZoom=-1,this.maxZoom=-1,this.minScale=0,this.maxScale=0,this.snapToZoom=!0}initialize(){let e,{lods:t,minScale:o,maxScale:s,minZoom:i,maxZoom:a}=this,c=-1,l=-1,r=!1,n=!1;if(0!==o&&0!==s&&oe.clone())),t.sort(((e,t)=>t.scale-e.scale)),t.forEach(((e,t)=>e.level=t));for(const f of t)!r&&o>0&&o>=f.scale&&(c=f.level,r=!0),!n&&s>0&&s>=f.scale&&(l=e?e.level:-1,n=!0),e=f;-1===i&&(i=0===o?0:c),-1===a&&(a=0===s?t.length-1:l),i=Math.max(i,0),i=Math.min(i,t.length-1),a=Math.max(a,0),a=Math.min(a,t.length-1),i>a&&([i,a]=[a,i]),o=t[i].scale,s=t[a].scale,t.splice(0,i),t.splice(a-i+1,t.length),t.forEach(((e,t)=>{this._lodByScale[e.scale]=e,this._scales[t]=e.scale})),this._set(\"effectiveLODs\",t),this._set(\"effectiveMinZoom\",i),this._set(\"effectiveMaxZoom\",a),this._set(\"effectiveMinScale\",o),this._set(\"effectiveMaxScale\",s)}constrain(e,t){if(t&&e.scale===t.scale)return e;const o=this.effectiveMinScale,s=this.effectiveMaxScale,i=e.targetGeometry,a=t&&t.targetGeometry,c=0!==s&&e.scaleo;if(c||l){const c=l?o:s;if(t&&a){const o=(c-t.scale)/(e.scale-t.scale);i.x=a.x+(i.x-a.x)*o,i.y=a.y+(i.y-a.y)*o}e.scale=c}return this.snapToZoom&&this.effectiveLODs&&(e.scale=this._getClosestScale(e.scale)),e}fit(e){if(!this.effectiveLODs||!this.snapToZoom)return this.constrain(e,null);const t=this.scaleToZoom(e.scale),o=Math.abs(t-Math.floor(t));return e.scale=this.zoomToScale(o>.99?Math.round(t):Math.floor(t)),e}zoomToScale(e){if(!this.effectiveLODs)return 0;e-=this.effectiveMinZoom,e=Math.max(0,e);const t=this._scales;if(e<=0)return t[0];if(e>=t.length)return t[t.length-1];const o=Math.floor(e),s=Math.ceil(e);return t[o]+(e-o)*(t[s]-t[o])}scaleToZoom(e){if(!this.effectiveLODs)return-1;const t=this._scales;let o,s;if(e>=t[0])return this.effectiveMinZoom;if(e<=t[t.length-1])return this.effectiveMaxZoom;for(let i=0;ie&&sMath.abs(o-e)<=Math.abs(t-e)?o:t),this._scales[0])),this._lodByScale[e].scale}};e([s({readOnly:!0})],c.prototype,\"effectiveLODs\",void 0),e([s({readOnly:!0})],c.prototype,\"effectiveMinZoom\",void 0),e([s({readOnly:!0})],c.prototype,\"effectiveMaxZoom\",void 0),e([s({readOnly:!0})],c.prototype,\"effectiveMinScale\",void 0),e([s({readOnly:!0})],c.prototype,\"effectiveMaxScale\",void 0),e([s()],c.prototype,\"lods\",void 0),e([s()],c.prototype,\"minZoom\",void 0),e([s()],c.prototype,\"maxZoom\",void 0),e([s()],c.prototype,\"minScale\",void 0),e([s()],c.prototype,\"maxScale\",void 0),e([s()],c.prototype,\"snapToZoom\",void 0),c=a=e([i(\"esri.views.2d.constraints.ZoomConstraint\")],c);const l=c;export{l as default};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nconst i=8,t=i-2,D=1e-30,n=64,e=4294967295,a=512,o=256,c=256/360,l=128,r=16777216,g=!1,m=128,s=8,F=10,G=29,P=1,V=16,h=16,d=a/m,f=8,p=50,v=10,A=24,L=4,O={metrics:{width:15,height:17,left:0,top:-7,advance:14}},T=1024,U=0,u=0,w=0,x=1,b=2,j=3,k=4,q=5,y=6,z=12,B=13,C=5,E=6,H=5,I=6;var J;!function(i){i[i.FilterFlags=0]=\"FilterFlags\",i[i.Animation=1]=\"Animation\",i[i.GPGPU=2]=\"GPGPU\",i[i.VV=3]=\"VV\",i[i.DD0=4]=\"DD0\",i[i.DD1=5]=\"DD1\",i[i.DD2=6]=\"DD2\",i[i.LocalTimeOrigin=7]=\"LocalTimeOrigin\"}(J||(J={}));const K=6,M=1<o.getLogger(\"esri.views.2d.engine.webgl.painter.highlight.HighlightGradient\");function u(o,i){i.fillColor[0]=o.color.r/255,i.fillColor[1]=o.color.g/255,i.fillColor[2]=o.color.b/255,i.fillColor[3]=o.color.a,o.haloColor?(i.outlineColor[0]=o.haloColor.r/255,i.outlineColor[1]=o.haloColor.g/255,i.outlineColor[2]=o.haloColor.b/255,i.outlineColor[3]=o.haloColor.a):(i.outlineColor[0]=i.fillColor[0],i.outlineColor[1]=i.fillColor[1],i.outlineColor[2]=i.fillColor[2],i.outlineColor[3]=i.fillColor[3]),i.fillColor[3]*=o.fillOpacity,i.outlineColor[3]*=o.haloOpacity,i.fillColor[0]*=i.fillColor[3],i.fillColor[1]*=i.fillColor[3],i.fillColor[2]*=i.fillColor[3],i.outlineColor[0]*=i.outlineColor[3],i.outlineColor[1]*=i.outlineColor[3],i.outlineColor[2]*=i.outlineColor[3],i.outlineWidth=(1-o.haloBlur)*o.haloWidth,i.outerHaloWidth=o.haloBlur*o.haloWidth/2,i.innerHaloWidth=o.haloBlur*o.haloWidth/2,i.outlinePosition=0}const d=[0,0,0,0];class g{constructor(){this.type=\"single\",this._highlightOptions=new r,this._convertedHighlightOptions={fillColor:[0,0,0,0],outlineColor:[0,0,0,0],outlinePosition:0,outlineWidth:0,innerHaloWidth:0,outerHaloWidth:0},this._optionsShadeTexKey=\"\",this._texelData=new Uint8Array(4*e),this._minMaxDistance=[0,0]}setHighlightOptions(o){this._highlightOptions=o}applyHighlightOptions(o,t){this._updateGradientTexture(o),o.bindTexture(this._shadeTex,i),t.setUniform2fv(\"u_minMaxDistance\",this._minMaxDistance)}destroy(){this._shadeTex?.dispose(),this._shadeTex=null}getReasonsWithGradients(){return[{activeReasons:(1<C?Math.round(10*(Math.abs(r)-C))/10:0,m=Math.abs(p)>C?Math.round(10*(Math.abs(p)-C))/10:0;let x;c&&!m?a().error(\"The outer rim of the highlight is \"+c+\"px away from the edge of the feature; consider reducing some width values or shifting the outline position towards positive values (inwards).\"):!c&&m?a().error(\"The inner rim of the highlight is \"+m+\"px away from the edge of the feature; consider reducing some width values or shifting the outline position towards negative values (outwards).\"):c&&m&&a().error(\"The highlight is \"+Math.max(c,m)+\"px away from the edge of the feature; consider reducing some width values.\");const _=[void 0,void 0,void 0,void 0];function w(o,i,t){_[0]=(1-t)*o[0]+t*i[0],_[1]=(1-t)*o[1]+t*i[1],_[2]=(1-t)*o[2]+t*i[2],_[3]=(1-t)*o[3]+t*i[3]}const{_texelData:T}=this;for(let l=0;lt.stencilRef,compare:n.EQUAL,mask:255,op:{fail:s.KEEP,zFail:s.KEEP,zPass:s.REPLACE}}}},l={color:{write:[!0,!0,!0,!0],blendMode:\"additive\"},depth:!1,stencil:!1},a={...r,color:{write:[!0,!0,!0,!0],blendMode:\"delete\"}};function c({pixelRatio:e,state:i,displayLevel:o,requiredLevel:n},s){const r=1/2**(o-s.key.level),l=1/2**(n-s.key.level);return{displayMat3:i.displayMat3,displayViewMat3:i.displayViewMat3,displayViewScreenMat3:s.transforms.displayViewScreenMat3,viewMat3:i.viewMat3,tileMat3:s.transforms.tileMat3,displayZoomFactor:r,requiredZoomFactor:l,tileOffset:[s.x,s.y],currentScale:i.scale,currentZoom:o,metersPerSRUnit:t(i.spatialReference),rotation:i.rotation,pixelRatio:e}}function p(t){return\"highlight\"===t.passOptions?.type}function f(t){return\"hittest\"===t.passOptions?.type}function u(t){if(!f(t))return null;const{position:e,distance:i,smallSymbolDistance:o,smallSymbolSizeThreshold:n}=t.passOptions;return{position:e,distance:i,smallSymbolDistance:o,smallSymbolSizeThreshold:n}}function d(t){if(!p(t))return null;const{activeReasons:e,highlightAll:i}=t.passOptions;return{activeReasons:e,highlightAll:i?1:0}}function m(t,e,i){const o={};for(const n in i)i[n]instanceof Function?o[n]=i[n](t,e):o[n]=i[n];return o}function h(t,e){const{attributeView:i,context:o}=t;return{storage:i.getUniforms(o),view:c(t,e),hittestRequest:u(t),highlight:d(t)}}function y(t){return{inside:t.selection===o.InsideEffect,outside:t.selection===o.OutsideEffect}}function M(t){return f(t)?l:p(t)&&\"clear\"===t.passOptions.stepType?a:r}function w(t){const{row:o,col:n}=t.key,s=n*i,r=o*i;return{tileOffsetFromLocalOrigin:[s%e,r%e],maxIntsToLocalOrigin:[Math.floor(s/e),Math.floor(r/e)]}}export{M as getFeaturePipelineState,h as getFeatureUniforms,w as getLocalTileOffset,y as getSelectionDefines,c as getViewUniforms,p as isHighlight,f as isHittest,m as resolveDynamicUniforms};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{_ as e}from\"../../../chunks/tslib.es6.js\";import t from\"../../../core/Accessor.js\";import\"../../../core/has.js\";import{destroyMaybe as o}from\"../../../core/maybe.js\";import{when as i,watch as r,initial as n}from\"../../../core/reactiveUtils.js\";import{property as s}from\"../../../core/accessorSupport/decorators/property.js\";import\"../../../core/Logger.js\";import\"../../../core/RandomLCG.js\";import{subclass as a}from\"../../../core/accessorSupport/decorators/subclass.js\";import{DoubleClickZoom as c}from\"./handlers/DoubleClickZoom.js\";import{DoubleTapDragZoom as p}from\"./handlers/DoubleTapDragZoom.js\";import{DragPan as m}from\"./handlers/DragPan.js\";import{DragRotate as l}from\"./handlers/DragRotate.js\";import{GamepadNavigation as u}from\"./handlers/GamepadNavigation.js\";import{KeyPan as w}from\"./handlers/KeyPan.js\";import{KeyRotate as h}from\"./handlers/KeyRotate.js\";import{KeyZoom as d}from\"./handlers/KeyZoom.js\";import{MouseWheelZoom as v}from\"./handlers/MouseWheelZoom.js\";import{PinchRotateAndZoom as g}from\"./handlers/PinchAction.js\";import{BrowserEventSource as f}from\"../../input/BrowserEventSource.js\";import{InputManager as j,ViewEventPriorities as y}from\"../../input/InputManager.js\";import{PreventContextMenu as _}from\"../../input/handlers/PreventContextMenu.js\";import{DoubleTapDrag as D}from\"../../input/recognizers/DoubleTapDrag.js\";import{Drag as A}from\"../../input/recognizers/Drag.js\";import{ImmediateDoubleClick as M}from\"../../input/recognizers/ImmediateDoubleClick.js\";import{PointerClickHoldAndDrag as P}from\"../../input/recognizers/PointerClickHoldAndDrag.js\";import{SingleAndDoubleClick as b}from\"../../input/recognizers/SingleAndDoubleClick.js\";const T={counter:\"Control\",pan:{left:\"ArrowLeft\",right:\"ArrowRight\",up:\"ArrowUp\",down:\"ArrowDown\"},zoom:{zoomIn:[\"=\",\"+\"],zoomOut:[\"-\",\"_\"]},rotate:{clockwiseOption1:\"a\",clockwiseOption2:\"A\",counterClockwiseOption1:\"d\",counterClockwiseOption2:\"D\",resetOption1:\"n\",resetOption2:\"N\"}};let z=class extends t{initialize(){const e=()=>this.view?.ready;this.addHandles([i((()=>!e()),(()=>this._disconnect())),i(e,(()=>this._connect()))])}destroy(){this._disconnect()}get latestPointerType(){return this._inputManager?.latestPointerType}get latestPointerLocation(){return this._inputManager?.latestPointerLocation}get multiTouchActive(){return this._inputManager?.multiTouchActive??!1}isModifierKeyDown(e){return this._inputManager?.isModifierKeyDown(e)??!1}_disconnect(){this.view.viewEvents.disconnect(),this._inputManager=o(this._inputManager)}_connect(){const e=this.view.surface,t=new f(e,this.view.input),o=[new M,new P,new b,new A(this.view.navigation),new D],i=new j({eventSource:t,recognizers:o});i.installHandlers(\"prevent-context-menu\",[new _],y.INTERNAL),i.installHandlers(\"navigation\",[new g(this.view),new u(this.view),new v(this.view),new c(this.view),new c(this.view,[T.counter]),new m(this.view,\"primary\"),new w(this.view,T.pan),new d(this.view,T.zoom),new h(this.view,T.rotate),new l(this.view,\"secondary\"),new p(this.view,\"touch\")],y.INTERNAL),this.view.viewEvents.connect(i),this._source=t,this._inputManager=i,r((()=>this.view?.navigation?.browserTouchPanEnabled),(e=>{this._source&&(this._source.browserTouchPanningEnabled=!e)}),n)}get test(){}};e([s()],z.prototype,\"view\",void 0),e([s()],z.prototype,\"latestPointerType\",null),e([s()],z.prototype,\"latestPointerLocation\",null),e([s()],z.prototype,\"multiTouchActive\",null),z=e([a(\"esri.views.2d.input.MapViewInputManager\")],z);const k=z;export{k as default};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{InputHandler as t}from\"../../../input/InputHandler.js\";import{eventMatchesPointerAction as i}from\"../../../input/handlers/support.js\";class a extends t{constructor(t,i){super(!0),this._view=t,this.registerIncoming(\"double-click\",i,(t=>this._handleDoubleClick(t,i)))}_handleDoubleClick(t,a){i(t.data,\"primary\")&&(t.stopPropagation(),a?this._view.mapViewNavigation.zoomOut([t.data.x,t.data.y]):this._view.mapViewNavigation.zoomIn([t.data.x,t.data.y]))}}export{a as DoubleClickZoom};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport\"../../../../core/has.js\";import{InputHandler as t}from\"../../../input/InputHandler.js\";class e extends t{constructor(t,e,a){super(!0),this.view=t,this.pointerType=e,this.registerIncoming(\"double-tap-drag\",a,(t=>this._handleDoubleTapDrag(t)))}_handleDoubleTapDrag(t){const{data:e}=t,{pointerType:a}=e;if(a!==this.pointerType)return;t.stopPropagation();const{action:s,delta:i}=e,{view:r}=this,{mapViewNavigation:n}=r;switch(s){case\"begin\":{const{scale:t}=r;this._startScale=t,this._currentScale=t,this._previousDelta=i,n.begin();break}case\"update\":{if(this._previousDelta.y===i.y)return;this._previousDelta=i;const t=1.015**i.y,e=this._startScale*t,a=e/this._currentScale;n.setViewpointImmediate(a),this._currentScale=e;break}case\"end\":{const{constraints:t}=r,{effectiveLODs:e,snapToZoom:a}=t;if(!a||!e)return void n.end();const s=t.snapScale(this._currentScale),o=(i.y>0?Math.max(s,t.snapToPreviousScale(this._startScale)):Math.min(s,t.snapToNextScale(this._startScale)))/this._currentScale;n.zoom(o).then((()=>{n.end()}));break}}}}export{e as DoubleTapDragZoom};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{DragEventSeparator as t}from\"../../../input/DragEventSeparator.js\";import{InputHandler as i}from\"../../../input/InputHandler.js\";import{eventMatchesPointerAction as a}from\"../../../input/handlers/support.js\";class n extends i{constructor(t,i,a){super(!0),this.view=t,this.pointerAction=i,this.registerIncoming(\"drag\",a,(t=>this._handleDrag(t))),this.registerIncoming(\"pointer-down\",(()=>this.stopMomentumNavigation()))}onInstall(i){super.onInstall(i),this._dragEventSeparator=new t({start:(t,i)=>{this.view.mapViewNavigation.pan.begin(this.view,i.data),i.stopPropagation()},update:(t,i)=>{this.view.mapViewNavigation.pan.update(this.view,i.data),i.stopPropagation()},end:(t,i)=>{this.view.mapViewNavigation.pan.end(this.view,i.data),i.stopPropagation()},condition:(t,i)=>1===t&&a(i.data,this.pointerAction)})}_handleDrag(t){const i=this.view.mapViewNavigation;i.pinch.zoomMomentum||i.pinch.rotateMomentum?this.stopMomentumNavigation():this._dragEventSeparator.handle(t)}stopMomentumNavigation(){this.view.mapViewNavigation.pan.stopMomentumNavigation()}}export{n as DragPan};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{DragEventSeparator as t}from\"../../../input/DragEventSeparator.js\";import{InputHandler as a}from\"../../../input/InputHandler.js\";import{eventMatchesPointerAction as i}from\"../../../input/handlers/support.js\";class o extends a{constructor(a,o,r){super(!0),this._view=a,this.pointerAction=o;const e=this._view.mapViewNavigation;this._dragEventSeparator=new t({start:(t,a)=>{e.rotate.begin(this._view,a.data),a.stopPropagation()},update:(t,a)=>{e.rotate.update(this._view,a.data),a.stopPropagation()},end:(t,a)=>{e.rotate.end(),a.stopPropagation()},condition:(t,a)=>1===t&&i(a.data,this.pointerAction)}),this.registerIncoming(\"drag\",r,(t=>this._dragEventSeparator.handle(t)))}}export{o as DragRotate};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport t from\"../../../../core/Handles.js\";import{watch as i,initial as e}from\"../../../../core/reactiveUtils.js\";import{addFrameTask as a}from\"../../../../core/scheduling.js\";import{translateBy as s,scaleAndRotateBy as n}from\"../../viewpointUtils.js\";import{InputHandler as r}from\"../../../input/InputHandler.js\";import{resetTransformation as o,extractTransformation as h,isZeroTransformation as l}from\"../../../navigation/gamepadAndKeyboardUtils.js\";class d extends r{constructor(i){super(!0),this._view=i,this._frameTask=null,this._watchHandles=new t,this._currentDevice=null,this._transformation={translation:[0,0,0],heading:0,tilt:0,zoom:0},this._handle=this.registerIncoming(\"gamepad\",(t=>this._handleGamePadEvent(t))),this._handle.pause()}onInstall(t){super.onInstall(t),this._watchHandles.add([i((()=>this._view.navigation.gamepad?.enabled),(t=>{t?(this._handle.resume(),this._frameTask||(this._frameTask=a({update:t=>this._frameUpdate(t.deltaTime)}))):(this._handle.pause(),this._frameTask&&(this._frameTask.remove(),this._frameTask=null))}),e)])}onUninstall(){this._watchHandles.removeAll(),this._frameTask&&(this._frameTask.remove(),this._frameTask=null),super.onUninstall()}_handleGamePadEvent(t){const i=this._view.navigation.gamepad.device;i&&t.data.device!==i||this._currentDevice&&this._currentDevice!==t.data.device||(\"end\"===t.data.action?(this._currentDevice=null,o(this._transformation)):(this._currentDevice=t.data.device,h(t.data,this._view.navigation.gamepad,this._transformation)))}_frameUpdate(t){const i=this._transformation;if(l(i))return;const e=this._view.viewpoint.clone(),a=this._view.navigation.gamepad.velocityFactor,r=_*a*t;s(e,e,[i.translation[0]*r,-i.translation[1]*r]);const o=1+i.translation[2]*c*t,h=this._view.constraints.rotationEnabled?-i.heading*m*t:0,d=this._view.size,v=[d[0]/2,d[1]];n(e,e,o,h,v,d);const p=this._view.constraints.constrain(e,this._view.viewpoint);this._view.viewpoint=p}}const m=.06,_=.7,c=6e-4;export{d as GamepadNavigation};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{InputHandler as i}from\"../../../input/InputHandler.js\";import{onVisibilityChange as t}from\"../../../input/VisibilityChange.js\";class e extends i{constructor(i,e,s){super(!0),this.view=i,this.keys=e,this._isSticky=!1,this._pressedKeys=new Set,this._timeout=void 0,this._currentDirection=void 0,this._stickyKeyDuration=200,this._handleKey=i=>{const t=this._keyMap[i.data.key];if(i.modifiers.has(\"Meta\")||i.modifiers.has(\"Control\"))return void this._stopMovement();if(null==t)return;i.stopPropagation(),i.preventDefault();const e=\"key-down\"===i.type;if(this._pressedKeys[e?\"add\":\"delete\"](t),e){if(this._direction===t)return;this._direction=t,this._isSticky=!1,this._setTimeout((()=>{this._isSticky&&this._handlePopKey()}))}else{const i=void 0===this._timeout,t=this._pressedKeys.size>0;i||t?this._handlePopKey():this._isSticky=!0}},this._handlePopKey=()=>{this._direction=Array.from(this._pressedKeys).pop(),null==this._direction&&this._stopMovement()},this._stopMovement=()=>{this._isSticky=!1,this._direction=void 0,this._pressedKeys.clear(),this._setTimeout(void 0)},this._keyMap={[e.left]:\"left\",[e.right]:\"right\",[e.up]:\"up\",[e.down]:\"down\"},this.registerIncoming(\"key-down\",s,this._handleKey),this.registerIncoming(\"key-up\",s,this._handleKey),this.registerIncoming(\"blur\",s,this._stopMovement),this._visibilityHandle=t((i=>i?null:this._stopMovement()))}onUninstall(){this._stopMovement(),this._visibilityHandle?.remove()}get _direction(){return this._currentDirection}set _direction(i){const t=null!=this._currentDirection;if(null!=i){if(t||this.view.mapViewNavigation.begin(),this._currentDirection!==i)switch(i){case\"left\":this.view.mapViewNavigation.continuousPanLeft();break;case\"right\":this.view.mapViewNavigation.continuousPanRight();break;case\"up\":this.view.mapViewNavigation.continuousPanUp();break;case\"down\":this.view.mapViewNavigation.continuousPanDown()}}else t&&this.view.mapViewNavigation.stop();this._currentDirection=i}_setTimeout(i){clearTimeout(this._timeout),this._timeout=void 0===i?void 0:setTimeout((()=>{this._timeout=void 0,i()}),this._stickyKeyDuration)}}export{e as KeyPan};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{InputHandler as e}from\"../../../input/InputHandler.js\";import{onVisibilityChange as i}from\"../../../input/VisibilityChange.js\";class t extends e{constructor(e,t,s){super(!0),this.view=e,this.keys=t,this._pressed=!1,this._keyToDirection={[t.clockwiseOption1]:\"clockwise\",[t.clockwiseOption2]:\"clockwise\",[t.counterClockwiseOption1]:\"counterClockwise\",[t.counterClockwiseOption2]:\"counterClockwise\",[t.resetOption1]:\"reset\",[t.resetOption2]:\"reset\"},this.registerIncoming(\"key-down\",s,(e=>this._handleKeyDown(e))),this.registerIncoming(\"key-up\",s,(e=>this._handleKeyUp(e))),this.registerIncoming(\"blur\",s,(()=>this._handleStop())),this._visibilityHandle=i((e=>e?null:this._handleStop()))}onUninstall(){this._visibilityHandle?.remove(),this._handleStop()}_handleKeyDown(e){e.data.repeat||this._handleKey(e,!0)}_handleKeyUp(e){this._handleKey(e,!1)}_handleStop(){this._pressed&&(this._pressed=!1,this.view.mapViewNavigation.stop())}_handleKey(e,i){const t=e.modifiers;if(t.size>0&&!t.has(\"Shift\")||!this.view.constraints.rotationEnabled)return;const s=this._keyToDirection[e.data.key];if(this._pressed=null!=s,this._pressed){if(e.preventDefault(),i)switch(this.view.mapViewNavigation.begin(),s){case\"clockwise\":this.view.mapViewNavigation.continuousRotateClockwise();break;case\"counterClockwise\":this.view.mapViewNavigation.continuousRotateCounterclockwise();break;case\"reset\":this.view.mapViewNavigation.resetRotation()}else this._pressed=!1,this.view.mapViewNavigation.stop();e.stopPropagation()}}}export{t as KeyRotate};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport\"../../../../core/has.js\";import{InputHandler as o}from\"../../../input/InputHandler.js\";var t;!function(o){o[o.IN=0]=\"IN\",o[o.OUT=1]=\"OUT\"}(t||(t={}));class e extends o{constructor(o,e,i){super(!0),this.view=o,this.keys=e,this._keysToZoomAction={},this.registerIncoming(\"key-down\",i,(o=>this._handleKeyDown(o))),e.zoomIn.forEach((o=>this._keysToZoomAction[o]=t.IN)),e.zoomOut.forEach((o=>this._keysToZoomAction[o]=t.OUT))}_handleKeyDown(o){this._handleKey(o)}_handleKey(o){const e=o.modifiers;if(e.size>0&&!e.has(\"Shift\"))return;const{key:i}=o.data;if(!(i in this._keysToZoomAction))return;const n=this._keysToZoomAction[i],{mapViewNavigation:s}=this.view;let r=null;switch(n){case t.IN:r=s.zoomIn();break;case t.OUT:r=s.zoomOut();break;default:return}s.begin(),r.then((()=>s.end())),o.stopPropagation()}}export{e as KeyZoom};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{InputHandler as e}from\"../../../input/InputHandler.js\";const t=.6;class o extends e{constructor(e,t){super(!0),this._view=e,this._canZoom=!0,this.registerIncoming(\"mouse-wheel\",t,(e=>this._handleMouseWheel(e)))}_handleMouseWheel(e){if(!this._view.navigation.mouseWheelZoomEnabled)return;if(e.preventDefault(),e.stopPropagation(),!this._canZoom)return;const o=this._view.mapViewNavigation,{x:n,y:i,deltaY:s}=e.data,a=1/t**(1/60*s),h=o.zoom(a,[n,i]);h&&(this._canZoom=!1,h.catch((()=>{})).then((()=>{this._canZoom=!0,o.end()})))}}export{o as MouseWheelZoom};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{DragEventSeparator as t}from\"../../../input/DragEventSeparator.js\";import{InputHandler as i}from\"../../../input/InputHandler.js\";class a extends i{constructor(i){super(!0),this.view=i,this.registerIncoming(\"drag\",(t=>this._handleDrag(t))),this.registerIncoming(\"pointer-down\",(()=>this._stopMomentumNavigation()));const a=this.view.mapViewNavigation;this._dragEventSeparator=new t({start:(t,i)=>{a.pinch.begin(this.view,i.data),i.stopPropagation()},update:(t,i)=>{a.pinch.update(this.view,i.data),i.stopPropagation()},end:(t,i)=>{a.pinch.end(this.view),i.stopPropagation()},condition:t=>t>=2})}_handleDrag(t){this._dragEventSeparator.handle(t)}_stopMomentumNavigation(){this.view.mapViewNavigation.pinch.stopMomentumNavigation()}}export{a as PinchRotateAndZoom};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport\"../../../geometry.js\";import e from\"../../../Graphic.js\";import\"../../../symbols.js\";import{makeHandle as t}from\"../../../core/handleUtils.js\";import{px2pt as r}from\"../../../core/screenUtils.js\";import{ensureClass as i}from\"../../../core/accessorSupport/ensureType.js\";import{subtract as o,cross as n}from\"../../../core/libs/gl-matrix-2/math/vec2.js\";import{create as a}from\"../../../core/libs/gl-matrix-2/factories/vec2f64.js\";import{create as l}from\"../../../core/libs/gl-matrix-2/factories/vec3f64.js\";import{LineCapStyle as s,LineJoinStyle as m}from\"../../../symbols/cim/enums.js\";import{asVec2 as c}from\"../../interactive/sketch/normalizedPoint.js\";import{defaults as p}from\"../../interactive/snapping/Settings.js\";import{SnappingVisualizer as y}from\"../../interactive/snapping/SnappingVisualizer.js\";import g from\"../../../geometry/Point.js\";import b from\"../../../geometry/Polyline.js\";import h from\"../../../geometry/SpatialReference.js\";import S from\"../../../symbols/CIMSymbol.js\";import f from\"../../../symbols/SimpleMarkerSymbol.js\";import u from\"../../../symbols/SimpleLineSymbol.js\";class d extends y{constructor(e){super(),this._graphicsLayer=e,this._symbolPairingsByType=new Map}visualizeIntersectionPoint(e,t){return this._visualizeSnappingIndicator(new g({x:e.intersectionPoint[0],y:e.intersectionPoint[1],spatialReference:t.spatialReference}),this._getOrCreateSymbol(\"intersectionPoint\",t.view.effectiveTheme.accentColor))}visualizePoint(e,t){return this._visualizeSnappingIndicator(new g({x:e.point[0],y:e.point[1],spatialReference:t.spatialReference}),this._getOrCreateSymbol(\"point\",t.view.effectiveTheme.accentColor))}visualizeLine(e,t){return this._visualizeSnappingIndicator(new b({paths:[[[...e.lineStart],[...e.lineEnd]]],spatialReference:i(h,t.spatialReference)}),this._getOrCreateSymbol(\"line\",t.view.effectiveTheme.accentColor))}visualizeParallelSign(e,t){return this._visualizeSnappingIndicator(new b({paths:[[[...e.lineStart],[...e.lineEnd]]],spatialReference:i(h,t.spatialReference)}),this._getOrCreateSymbol(\"parallelSign\",t.view.effectiveTheme.accentColor))}visualizeRightAngleQuad(e,t){const r=a(),s=a(),m=l();o(r,c(e.centerVertex),c(e.previousVertex)),o(s,c(e.nextVertex),c(e.previousVertex)),n(m,r,s);const p=`rightAngleQuad${m[2]<0?45:225}`;return this._visualizeSnappingIndicator(new b({paths:[[[...e.previousVertex],[...e.centerVertex],[...e.nextVertex]]],spatialReference:i(h,t.spatialReference)}),this._getOrCreateSymbol(p,t.view.effectiveTheme.accentColor))}_visualizeSnappingIndicator(r,i){const o=new e({geometry:r,symbol:i});return this._graphicsLayer.add(o),t((()=>{this._graphicsLayer.remove(o)}))}_getOrCreateSymbol(e,t){const r=this._symbolPairingsByType;return r.get(e)?.color!==t&&r.set(e,{color:t,symbol:M(e,t)}),r.get(e).symbol}}function M(e,t){const i=[...t.toRgb(),255*t.a];switch(e){case\"point\":return new f({outline:{width:.5,color:[0,0,0,1]},size:10,color:t});case\"intersectionPoint\":return new f({outline:new u({width:1.5,color:t}),size:15,color:[0,0,0,0]});case\"line\":return new S({data:{type:\"CIMSymbolReference\",symbol:{type:\"CIMLineSymbol\",symbolLayers:[{type:\"CIMSolidStroke\",enable:!0,capStyle:s.Butt,joinStyle:m.Round,miterLimit:10,width:r(p.lineHintWidthTarget),color:i}]}}});case\"parallelSign\":return new S({data:{type:\"CIMSymbolReference\",symbol:{type:\"CIMLineSymbol\",symbolLayers:[{type:\"CIMVectorMarker\",enable:!0,anchorPoint:{x:0,y:-1,z:0},anchorPointUnits:\"Relative\",size:5,markerPlacement:{type:\"CIMMarkerPlacementOnLine\",placePerPart:!0,angleToLine:!0,relativeTo:\"LineMiddle\"},frame:{xmin:-5,ymin:-1.5,xmax:5,ymax:1.5},markerGraphics:[{type:\"CIMMarkerGraphic\",geometry:{rings:[[[7,0],[-7,0],[-7,1.5],[7,1.5]]]},symbol:{type:\"CIMPolygonSymbol\",symbolLayers:[{type:\"CIMSolidFill\",enable:!0,color:i}]}}],scaleSymbolsProportionally:!0,respectFrame:!0},{type:\"CIMVectorMarker\",enable:!0,anchorPoint:{x:0,y:1,z:0},anchorPointUnits:\"Relative\",size:5,markerPlacement:{type:\"CIMMarkerPlacementOnLine\",placePerPart:!0,angleToLine:!0,relativeTo:\"LineMiddle\"},frame:{xmin:-5,ymin:-1.5,xmax:5,ymax:1.5},markerGraphics:[{type:\"CIMMarkerGraphic\",geometry:{rings:[[[7,0],[-7,0],[-7,-1.5],[7,-1.5]]]},symbol:{type:\"CIMPolygonSymbol\",symbolLayers:[{type:\"CIMSolidFill\",enable:!0,color:i}]}}],scaleSymbolsProportionally:!0,respectFrame:!0}]}}});case\"rightAngleQuad45\":case\"rightAngleQuad225\":{const o=\"rightAngleQuad45\"===e?45:225;return new S({data:{type:\"CIMSymbolReference\",symbol:{type:\"CIMLineSymbol\",symbolLayers:[{type:\"CIMVectorMarker\",enable:!0,anchorPoint:{x:.5,y:.5,z:0},anchorPointUnits:\"Relative\",size:r(p.rightAngleHintSize),rotation:o,markerPlacement:{type:\"CIMMarkerPlacementOnVertices\",placePerPart:!0,angleToLine:!0,placeOnEndPoints:!1},frame:{xmin:-5,ymin:-5,xmax:5,ymax:5},markerGraphics:[{type:\"CIMMarkerGraphic\",geometry:{paths:[[[5,-5],[-5,-5],[-5,5],[5,5],[5,-5]]]},symbol:{type:\"CIMLineSymbol\",symbolLayers:[{type:\"CIMSolidStroke\",enable:!0,capStyle:\"Butt\",joinStyle:\"Round\",miterLimit:10,width:r(p.rightAngleHintOutlineSize),color:i},{type:\"CIMSolidFill\",enable:!0,color:[...t.toRgb(),255*t.a*.4]}]}}],scaleSymbolsProportionally:!0,respectFrame:!0}]}}})}}}export{d as SnappingVisualizer2D};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport e from\"../../core/Error.js\";function r(){return Promise.all([import(\"./webglDeps.js\"),import(\"./mapViewDeps.js\")])}const a=()=>r().then((()=>import(\"./layers/TileLayerView2D.js\"))),t=()=>r().then((()=>import(\"./layers/FeatureLayerView2D.js\"))),i={\"base-dynamic\":()=>r().then((()=>import(\"./layers/BaseDynamicLayerView2D.js\"))),\"base-tile\":a,\"bing-maps\":a,catalog:()=>r().then((()=>import(\"./layers/CatalogLayerView2D.js\"))),\"catalog-dynamic-group\":()=>r().then((()=>import(\"./layers/CatalogDynamicGroupLayerView2D.js\"))),\"catalog-footprint\":()=>r().then((()=>import(\"./layers/CatalogFootprintLayerView2D.js\"))),csv:t,\"geo-rss\":()=>r().then((()=>import(\"./layers/GeoRSSLayerView2D.js\"))),feature:t,geojson:t,parquet:t,graphics:()=>r().then((()=>import(\"./layers/GraphicsLayerView2D.js\"))),group:()=>r().then((()=>import(\"./layers/GroupLayerView2D.js\"))),imagery:()=>r().then((()=>import(\"./layers/ImageryLayerView2D.js\"))),\"imagery-tile\":()=>r().then((()=>import(\"./layers/ImageryTileLayerView2D.js\"))),kml:()=>r().then((()=>import(\"./layers/KMLLayerView2D.js\"))),\"knowledge-graph\":()=>r().then((()=>import(\"./layers/KnowledgeGraphLayerView2D.js\"))),\"link-chart\":()=>r().then((()=>import(\"./layers/KnowledgeGraphLayerView2D.js\"))),\"knowledge-graph-sublayer\":t,\"map-image\":()=>r().then((()=>import(\"./layers/MapImageLayerView2D.js\"))),\"map-notes\":()=>r().then((()=>import(\"./layers/MapNotesLayerView2D.js\"))),media:()=>r().then((()=>import(\"./layers/MediaLayerView2D.js\"))),\"ogc-feature\":()=>r().then((()=>import(\"./layers/OGCFeatureLayerView2D.js\"))),\"open-street-map\":a,\"oriented-imagery\":t,route:()=>r().then((()=>import(\"./layers/RouteLayerView2D.js\"))),stream:()=>r().then((()=>import(\"./layers/StreamLayerView2D.js\"))),\"subtype-group\":()=>r().then((()=>import(\"./layers/SubtypeGroupLayerView2D.js\"))),tile:a,\"vector-tile\":()=>r().then((()=>import(\"./layers/VectorTileLayerView2D.js\"))),video:()=>r().then((()=>import(\"./layers/VideoLayerView2D.js\"))),wcs:()=>r().then((()=>import(\"./layers/ImageryTileLayerView2D.js\"))),\"web-tile\":a,wfs:t,wms:()=>r().then((()=>import(\"./layers/WMSLayerView2D.js\"))),wmts:()=>r().then((()=>import(\"./layers/WMTSLayerView2D.js\"))),\"line-of-sight\":null,\"base-elevation\":null,\"building-scene\":null,dimension:null,elevation:null,focusArea:null,\"integrated-mesh\":null,\"integrated-mesh-3dtiles\":null,\"point-cloud\":null,viewshed:null,voxel:null,scene:null,unknown:null,unsupported:null};function s(r){const a=r.declaredClass?r.declaredClass.slice(r.declaredClass.lastIndexOf(\".\")+1):\"Unknown\",t=a.replaceAll(/([a-z])([A-Z])/g,\"$1-$2\").toLowerCase();return new e(`${t}:view-not-supported`,`${a} is not supported in 2D`)}const l={hasLayerViewModule:e=>null!=i[e.type],importLayerView:e=>{const r=i[e.type];if(null==r)throw s(e);return r(e)}};export{l as layerView2DImporter};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport e from\"../../../../../core/ArrayPool.js\";import t from\"../../../../../geometry/Extent.js\";import{create as i}from\"../../../../../geometry/support/aaBoundingRect.js\";import s from\"../../../../../rest/support/QuantizationParameters.js\";import o from\"../../../tiling/TileKey.js\";class n{constructor(e,t){this.key=new o(0,0,0,0),this.bounds=i(),this.objectIds=new Set,this.key.set(t);const s=e.getLODInfoAt(this.key);this.tileInfoView=e,this.tileInfoView.getTileBounds(this.bounds,this.key,!0),this.resolution=s.resolution,this.level=s.level,this.scale=s.scale,this.minScale=e.zoomToScale(s.level-1),this.maxScale=e.zoomToScale(s.level+1)}get lod(){return this.tileInfoView.getLODInfoAt(this.key)}get id(){return this.key.id}get extent(){return t.fromBounds(this.bounds,this.tileInfoView.tileInfo.spatialReference)}get transform(){return{originPosition:\"upperLeft\",scale:[this.resolution,this.resolution],translate:[this.bounds[0],this.bounds[3]]}}createArcadeEvaluationOptions(e){return{$view:{scale:this.scale,timeZone:e}}}createChildTiles(){const t=this.key.getChildKeys(),i=e.acquire();for(let e=0;er?[o([e[0],e[1],r,e[3]]),o([i,e[1],i+e[2]-r,e[3]])]:e[0]({minX:e.bounds[0],minY:e.bounds[1],maxX:e.bounds[2],maxY:e.bounds[3]}):[\".bounds[0]\",\".bounds[1]\",\".bounds[2]\",\".bounds[3]\"]),this.tiles=[],this.tileScheme=e}destroy(){this.clear()}clear(){this.tiles.length=0,this._tiles.clear(),this._index.clear()}has(e){return this._tiles.has(e)}get(e){return this._tiles.get(e)}getIntersectingTiles(e){if(!e||0===s(e)||0===i(e))return[];const t=m(e,this.tileScheme.spatialReference);return null!=t?[...new Set([...this.boundsIntersections(t[0]),...this.boundsIntersections(t[1])])]:this.boundsIntersections(e)}boundsIntersections(e){return this._index.search({minX:e[0],minY:e[1],maxX:e[2],maxY:e[3]})}updateTiles(e){const t={added:[],removed:[]};for(const s of e.added)if(!this.has(s)){const e=new r(this.tileScheme,s);this._tiles.set(s,e),this._index.insert(e),t.added.push(e)}for(const s of e.removed)if(this.has(s)){const e=this.get(s);this._tiles.delete(s),this._index.remove(e),t.removed.push(e)}this.tiles.length=0,this._tiles.forEach((e=>this.tiles.push(e))),(t.added.length||t.removed.length)&&this.emit(\"update\",t)}setViewState(e){const t=this.tileScheme.getTileCoverage(e,0);if(!t)return;const{spans:s,lodInfo:i}=t,{level:o}=i;if(s.length>0)for(const{row:n,colFrom:l,colTo:h}of s)for(let e=l;e<=h;e++){const t=c.set(o,n,i.normalizeCol(e),i.getWorldForColumn(e)).id;if(a.add(t),!this.has(t)){const e=new r(this.tileScheme,t);this._tiles.set(t,e),this._index.insert(e),this.tiles.push(e),d.added.push(e)}}for(let n=this.tiles.length-1;n>=0;n--){const e=this.tiles[n];a.has(e.id)||(this._tiles.delete(e.id),this.tiles.splice(n,1),this._index.remove(e),d.removed.push(e))}(d.added.length||d.removed.length)&&this.emit(\"update\",d),l.pool.release(t),a.clear(),d.added.length=0,d.removed.length=0}}export{u as default};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport\"../../../../renderers/ClassBreaksRenderer.js\";import\"../../../../renderers/DictionaryRenderer.js\";import\"../../../../renderers/DotDensityRenderer.js\";import\"../../../../renderers/HeatmapRenderer.js\";import\"../../../../renderers/PieChartRenderer.js\";import\"../../../../renderers/Renderer.js\";import e from\"../../../../renderers/SimpleRenderer.js\";import\"../../../../renderers/UniqueValueRenderer.js\";import\"../../../../renderers/support/jsonUtils.js\";import r from\"../../../../core/Logger.js\";import\"../../../../symbols.js\";import s from\"../../../../core/Error.js\";import has from\"../../../../core/has.js\";import{createMD5Hash as i}from\"../../../../core/MD5.js\";import n from\"../../../../layers/support/AggregateField.js\";import t from\"../../../../layers/support/ExpressionInfo.js\";import o from\"../../../../renderers/support/AuthoringInfo.js\";import a from\"../../../../symbols/SimpleMarkerSymbol.js\";const l=()=>r.getLogger(\"esri.views.2d.layers.support.clusterUtils\");has.add(\"esri-cluster-arcade-enabled\",!0);const u=has(\"esri-cluster-arcade-enabled\"),p=new Set([\"simple-line\",\"simple-fill\",\"picture-fill\"]);function d(r,s){let i=s.clone();if(!f(i))return i;if(s.getSymbols().some((e=>p.has(e.type)))&&(i=new e({symbol:new a})),i.authoringInfo||(i.authoringInfo=new o),i.authoringInfo.isAutoGenerated=!0,\"visualVariables\"in i){const e=(i.visualVariables||[]).filter((e=>\"$view.scale\"!==e.valueExpression));e.forEach((e=>{\"rotation\"===e.type?e.field?e.field=g(r,e.field,\"avg_angle\",\"number\"):e.valueExpression&&(e.field=b(r,e.valueExpression,\"avg_angle\",\"number\"),e.valueExpression=null):e.normalizationField?(e.field=g(r,e.field,\"avg_norm\",\"number\",e.normalizationField),e.normalizationField=null):e.field?e.field=g(r,e.field,\"avg\",\"number\"):e.valueExpression&&(e.field=b(r,e.valueExpression,\"avg\",\"number\"),e.valueExpression=null)})),i.visualVariables=e}switch(i.type){case\"simple\":break;case\"pie-chart\":for(const e of i.attributes)e.field?e.field=g(r,e.field,\"sum\",\"number\"):e.valueExpression&&(e.field=b(r,e.valueExpression,\"sum\",\"number\"),e.valueExpression=null);break;case\"unique-value\":i.field?i.field=g(r,i.field,\"mode\",\"string\"):i.valueExpression&&(i.field=b(r,i.valueExpression,\"mode\",\"string\"),i.valueExpression=null);break;case\"class-breaks\":i.normalizationField?(i.field=g(r,i.field,\"avg_norm\",\"number\",i.normalizationField),i.normalizationField=null):i.field?i.field=g(r,i.field,\"avg\",\"number\"):i.valueExpression&&(i.field=b(r,i.valueExpression,\"avg\",\"number\"),i.valueExpression=null)}return i}const m=e=>e?.find((({type:e})=>\"size\"===e))??null,c=e=>!!e?.some((({field:e})=>\"cluster_count\"===e)),f=e=>{const r=r=>l().error(new s(\"Unsupported-renderer\",r,{renderer:e}));if(!e)return!1;switch(e.type){case\"unique-value\":if(e.field2||e.field3)return r(\"FeatureReductionCluster does not support multi-field UniqueValueRenderers\"),!1;break;case\"class-breaks\":if(e.normalizationField){const s=e.normalizationType;if(\"field\"!==s)return r(`FeatureReductionCluster does not support a normalizationType of ${s}`),!1}break;case\"simple\":case\"pie-chart\":break;default:return r(`FeatureReductionCluster does not support renderers of type ${e.type}`),!1}if(!u){if(\"valueExpression\"in e&&e.valueExpression)return r(\"FeatureReductionCluster does not currently support renderer.valueExpression. Support will be added in a future release\"),!1;if((\"visualVariables\"in e&&e.visualVariables||[]).some((e=>!(!(\"valueExpression\"in e)||!e.valueExpression))))return r(\"FeatureReductionCluster does not currently support visualVariables with a valueExpression. Support will be added in a future release\"),!1}return!0};function v(e,r,s){switch(e){case\"sum\":return`cluster_sum_${r}`;case\"avg\":case\"avg_angle\":return`cluster_avg_${r}`;case\"mode\":return`cluster_type_${r}`;case\"avg_norm\":{const e=s,n=\"field\",t=r.toLowerCase()+\",norm:\"+n+\",\"+e.toLowerCase();return\"cluster_avg_\"+i(t)}}}function b(e,r,s,o){const a=i(r),l=\"mode\"===s?`cluster_type_${a}`:\"sum\"===s?`cluster_sum_${a}`:`cluster_avg_${a}`;return e.some((e=>e.name===l))||e.push(new n({name:l,isAutoGenerated:!0,onStatisticExpression:new t({expression:r,returnType:o}),statisticType:s})),l}function g(e,r,s,i,o){if(\"cluster_count\"===r||e.some((e=>e.name===r)))return r;const a=v(s,r,o);return e.some((e=>e.name===a))||(\"avg_norm\"===s?e.push(new n({name:a,isAutoGenerated:!0,onStatisticExpression:new t({expression:`$feature.${r} / $feature.${o}`,returnType:i}),statisticType:\"avg\"})):e.push(new n({name:a,isAutoGenerated:!0,onStatisticField:r,statisticType:s}))),a}export{d as createInferredClusterRenderer,m as findSizeVV,c as hasClusterCountVV,f as isClusterCompatibleRenderer};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{JSONMap as t}from\"../../../../core/jsonMap.js\";import e from\"../../engine/webgl/effects/highlight/HighlightGradient.js\";import{MultiHighlightGradient as i}from\"../../engine/webgl/effects/highlight/MultiHighlightGradient.js\";import{getFeaturePipelineState as n}from\"../../engine/webgl/shaderGraph/techniques/featureTechniqueUtils.js\";const s=new t({esriGeometryPoint:\"point\",esriGeometryMultipoint:\"multipoint\",esriGeometryPolyline:\"polyline\",esriGeometryPolygon:\"polygon\",esriGeometryMultiPatch:\"multipatch\",mesh:\"mesh\"});function r(t){return s.toJSON(t)}function l(t,e,i){const n=[],s=[];let r=0,l=0;for(const o of t){const t=l;let a=o[0][0],h=o[0][1];n[l++]=a,n[l++]=h;let p=0;for(let e=1;e0?(t-r>0&&(i(r,t,n,s),r=t),s.length=0):p<0&&t-r>0?s.push(.5*(t-r)):l=t}l-r>0&&i(r,l,n,s)}function o(t){const{bandCount:e,attributeTable:i,colormap:n,pixelType:s}=t.raster.rasterInfo;return 1===e&&(null!=i||null!=n||\"u8\"===s||\"s8\"===s)}function a(t,n){return null==n?(t?.destroy(),null):(\"single\"===t?.type&&Array.isArray(n)&&(t.destroy(),t=null),\"multi\"!==t?.type||Array.isArray(n)||(t.destroy(),t=null),t||(t=Array.isArray(n)?new i:new e),Array.isArray(n)?\"multi\"===t.type&&t.setHighlightOptions(n):\"single\"===t.type&&t.setHighlightOptions(n),t)}function h(t,e,i,s){const{painter:r,highlightGradient:l}=t,{highlight:o}=r.effects;if(!l)return;const a=t.passOptions,h=l.getReasonsWithGradients();for(let p=0;p=180?360-r:r,o.rotate=e(r),o.sourceZoom=this.scale,o.targetZoom=t.scale}interpolate(t,e,i){const{pan:r,rotate:s,zoom:n,zoomOffset:a}=i,{center:c}=this;c.spatialReference=t.center.spatialReference,c.x=o(t.center.x,e.center.x,r),c.y=o(t.center.y,e.center.y,r),this.viewpoint.scale=o(t.scale,e.scale+a,n);let p=t.rotation;const l=e.rotation;Math.abs(l-p)>=180&&(p+=360*(p{performance.now()-this._timestamp>=e&&this.clear()}),e))}clear(){this._timer&&(clearInterval(this._timer),this._timer=void 0)}};r([o()],i.prototype,\"_timer\",void 0),r([o()],i.prototype,\"stationary\",null),i=r([s(\"esri.views.2d.support.StationaryManager\")],i);export{i as StationaryManager};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nconst s=s=>s.includes(\"Brush\");class e{constructor(){this._names=new Map}begin(e){this._names.has(e)||(this._names.set(e,!1),s(e)&&this.record(\"Esri.FirstDraw\"),performance.mark(`Esri.${e}.Start`))}end(s){this._names.has(s)&&!this._names.get(s)&&(this._names.set(s,!0),performance.mark(`Esri.${s}.End`))}record(s){this._names.has(s)||(this._names.set(s,!0),performance.mark(`Esri.${s}`))}}export{e as Timeline};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{polygonContainsPoint as t,extentContainsPoint as e,ringsContainsCoords as o}from\"../../../geometry/support/contains.js\";const r=t=>parseFloat(t)/100;function n(t,e,o){const n=\"string\"==typeof t.left?r(t.left)*e:t.left,m=\"string\"==typeof t.right?r(t.right)*e:t.right,y=\"string\"==typeof t.top?r(t.top)*o:t.top,a=\"string\"==typeof t.bottom?r(t.bottom)*o:t.bottom,i=y;return{xmin:n,xmax:Math.max(e-m,n),ymin:i,ymax:Math.max(o-a,y)}}function m(r,m,y,a){switch(m.type){case\"rect\":{const{width:t,height:e}=r,{xmin:o,xmax:a,ymin:i,ymax:p}=n(m,t,e),{x:g,y:s}=y;return g>o&&gi&&si.name));function r(i){if(!i.highlights)return null;const t=i.highlights.findIndex((i=>\"default\"===i.name));return-1===t?null:i.highlights.items[t].options}function m(i,t){if(!i.highlights){if(!t)return;i.highlights=new s([{name:\"default\",options:new n}])}const o=i.highlights.findIndex((i=>\"default\"===i.name));t?i.highlights.items[o].options=t:i.highlights.removeAt(o)}export{l as admissibleHighlightGroupNames,g as createInitialHighlightGroups,r as getDefaultHighlightOptions,m as setDefaultHighlightOptions};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport e from\"../../../Graphic.js\";import{isSome as r}from\"../../../core/arrayUtils.js\";import{isIterable as i}from\"../../../core/iteratorUtils.js\";import{clipContainsPoint as t}from\"./clippingUtils.js\";import{isSupportedScreenPointEvent as a,createScreenPointFromSupportedEvent as l}from\"../../support/screenUtils.js\";async function s(e,i,s){const f=a(i)?l(e,i):i;if(!e.ready||isNaN(f.x)||isNaN(f.y))return{screenPoint:f,results:[]};let d=new Set;const y=new Set;let u=!1,h=null,g=null;s?.include?o(s.include,n(e,(e=>{d.add(e),p(e,(e=>y.add(e)))}),((e,r)=>{y.add(e),d.add(r)}),(e=>{h||(h=new Set),h.add(e)}),(e=>d.add(e)),(()=>u=!0))):(u=!0,d=new Set(e.allLayerViews),d.forEach((e=>{p(e,(e=>y.add(e)))}))),s?.exclude&&o(s.exclude,n(e,(e=>{d.delete(e),p(e,(e=>y.delete(e)))}),(e=>y.delete(e)),(e=>{g||(g=new Set),g.add(e)})));const m=e.toMap(f),w=e.allLayerViews.filter((r=>!r.suspended&&d.has(r)&&r.clips.every((r=>t(e,r,f,m))))).reverse();let V=[...u?e.graphicsView.hitTest(m).map((e=>({type:\"graphic\",graphic:e,layer:null,mapPoint:m}))):[],...await Promise.all(w.map((e=>e.hitTest(m,f))).toArray())].filter(r).flat().filter(r);return V=V.filter((e=>\"graphic\"!==e.type||\"subtype-group\"!==e.layer?.type||y.has(e.graphic.layer))),h&&(V=V.filter((e=>!(\"graphic\"in e)||!e.graphic||h?.has(c(e.graphic))))),g&&(V=V.filter((e=>!(\"graphic\"in e)||!e.graphic||!g?.has(c(e.graphic))))),{screenPoint:f,results:V}}function n(r,i,t,a,l,s){return n=>{if(n instanceof e){if(n.layer===r)s?.();else{const e=r.allLayerViews.find((e=>e.layer===n.layer));e&&l?.(e)}a(c(n))}else if(\"layer\"in n&&\"element\"in n);else if(\"subtype-sublayer\"===n.type){const e=r.allLayerViews.find((e=>e.layer===n.parent));e&&t(n,e)}else{const e=r.allLayerViews.find((e=>e.layer===n));e&&i(e)}}}function o(e,r){if(e)if(i(e))for(const t of e)if(i(t))for(const e of t)r(e);else r(t);else r(e)}function c(e){const r=e.getObjectId();return r?`${e.layer?.uid??e.sourceLayer?.uid??\"MapView\"}/${r}`:`\"MapView/${e.uid}`}function p({layer:e},r){\"subtype-group\"===e?.type&&e.sublayers.forEach((e=>{r(e)}))}export{s as hitTest};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{getFormatAndQuality as t,encode as i,encodeData as h,getMaximumResolutionScale as n}from\"../../support/screenshotUtils.js\";const e={flipY:!0,premultipliedAlpha:!0};async function o(h,n){const o=await a(h,n),{format:r,quality:l}=t(n?.format,n?.quality);return i(o,{format:r,quality:l},e)}async function r(t,i){const n=await a(t,i);return h(n,e)}function a(t,i){const h=d(i||{},u(t.stage,t.size),t.size,t.padding),n=l(i,t.allLayerViews);return t.stage.takeScreenshot(h,n,t.backgroundColor,i?.rotation)}function l(t={},i){if(!t.layers)return;const h=[];return t.layers.forEach((t=>{const n=i.find((i=>i.layer.id===t.id));n?.container&&h.push(n.container)})),h}function u(t,i){return Math.min(4,n(i,Math.min(4096,t.context.parameters.maxTextureSize)))}function d(t,i,h,n){t.ignorePadding&&(n={left:0,right:0,top:0,bottom:0});let e=null;null!=t.width&&null!=t.height?e=[t.width,t.height]:null==t.width&&null!=t.height?e=[t.height,t.height]:null!=t.width&&null==t.height?e=[t.width,t.width]:null==t.width&&null==t.height&&(e=null);const o=h[0]-(n.left+n.right),r=h[1]-(n.top+n.bottom);let a,l,u=t.area||{x:0,y:0,width:o,height:r};if(e){const t=o/r,i=e[0]/e[1];if(i>t){const t=u.width/i;u={x:u.x,y:Math.round(u.y+(u.height-t)/2),width:u.width,height:Math.round(t)}}else{const t=u.height*i;u={x:Math.round(u.x+(u.width-t)/2),y:u.y,width:Math.round(t),height:u.height}}}else e=[u.width,u.height];return e[0]>u.width?(a=Math.min(e[0]/u.width,i),l=e[0]/u.width/a):(a=1,l=e[0]/u.width),{cropArea:{x:Math.round((u.x+n.left)*a),y:Math.round((u.y+n.top)*a),width:Math.round(u.width*a),height:Math.round(u.height*a)},outputScale:l,resolutionScale:a}}export{d as createScreenshotRegion,r as takeRawScreenshot,o as takeScreenshot};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{getInfo as t}from\"../../../geometry/support/spatialReferenceUtils.js\";import r from\"./TileKey.js\";function i(t,r){return[t,r]}function o(t,r,i){return t[0]=r,t[1]=i,t}function e(t,r,i,o,e){return t[0]=r,t[1]=i,t[2]=o,t[3]=e,t}const s=new r(\"0/0/0/0\");class l{static create(r,e,s=null){const n=t(r.spatialReference),a=e.origin||i(r.origin.x,r.origin.y),h=i(r.size[0]*e.resolution,r.size[1]*e.resolution),u=i(-1/0,-1/0),c=i(1/0,1/0),m=i(1/0,1/0);null!=s&&(o(u,Math.max(0,Math.floor((s.xmin-a[0])/h[0])),Math.max(0,Math.floor((a[1]-s.ymax)/h[1]))),o(c,Math.max(0,Math.floor((s.xmax-a[0])/h[0])),Math.max(0,Math.floor((a[1]-s.ymin)/h[1]))),o(m,c[0]-u[0]+1,c[1]-u[1]+1));const{cols:g,rows:w}=e;let d,f,p,z;return!s&&g&&w&&(o(u,g[0],w[0]),o(c,g[1],w[1]),o(m,g[1]-g[0]+1,w[1]-w[0]+1)),r.isWrappable?(d=i(Math.ceil(Math.round((n.valid[1]-n.valid[0])/e.resolution)/r.size[0]),m[1]),f=!0,p=n.origin,z=n.valid):(d=m,f=!1),new l(e.level,e.resolution,e.scale,a,u,c,m,h,d,f,p,z)}constructor(t,r,i,o,e,s,l,n,a,h,u,c){this.level=t,this.resolution=r,this.scale=i,this.origin=o,this.first=e,this.last=s,this.size=l,this.norm=n,this.worldSize=a,this.wrap=h,this._spatialReferenceOrigin=u,this._spatialReferenceValid=c}normalizeCol(t){if(!this.wrap)return t;const r=this.worldSize[0];return t<0?r-1-Math.abs((t+1)%r):t%r}normalizeKey(t){if(!this.wrap)return;const r=this.worldSize[0],i=t.col;i<0?(t.col=i+r,t.world-=1):i>=r&&(t.col=i-r,t.world+=1)}denormalizeCol(t,r){return this.wrap?this.worldSize[0]*r+t:t}getWorldForColumn(t){return this.wrap?Math.floor(t/this.worldSize[0]):0}getFirstColumnForWorld(t){return t*this.worldSize[0]+this.first[0]}getLastColumnForWorld(t){return t*this.worldSize[0]+this.first[0]+this.size[0]-1}getColumnForX(t){return(t-this.origin[0])/this.norm[0]}getXForColumn(t){const r=this.origin[0]+t*this.norm[0],i=this._spatialReferenceOrigin,o=this._spatialReferenceValid;return this.wrap&&i&&o?r===i[0]?o[0]:this.origin[0]===i[0]&&t===this.worldSize[0]?o[1]:r:r}getRowForY(t){return(this.origin[1]-t)/this.norm[1]}getYForRow(t){return this.origin[1]-t*this.norm[1]}getTileBounds(t,r,i=!1){s.set(r);const o=i?s.col:this.denormalizeCol(s.col,s.world),l=s.row;return e(t,this.getXForColumn(o),this.getYForRow(l+1),this.getXForColumn(o+1),this.getYForRow(l)),t}getTileCoords(t,r,i=!1){s.set(r);const e=i?s.col:this.denormalizeCol(s.col,s.world);return Array.isArray(t)?o(t,this.getXForColumn(e),this.getYForRow(s.row)):(t.x=this.getXForColumn(e),t.y=this.getYForRow(s.row)),t}}export{l as default};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{squaredDistance as e}from\"../../../core/libs/gl-matrix-2/math/vec2.js\";class t{constructor(e,t,i){this.maxSize=e,this._tileInfoView=t,this._removedFunc=i,this._tilePerId=new Map,this._tileKeysPerLevel=[]}clear(){this._tilePerId.clear(),this._tileKeysPerLevel=[]}has(e){return this._tilePerId.has(e)}get(e){return this._tilePerId.get(e)}pop(e){const t=this._tilePerId.get(e);if(!t)return;const r=t.key.level,s=this._tileKeysPerLevel[r];i(this._tilePerId,e);for(let i=0;ithis.maxSize&&s>=0;)s!==e&&(r=this._pruneAroundCenterTile(r,t,i,s)),s--;r>this.maxSize&&(r=this._pruneAroundCenterTile(r,t,i,e))}_pruneAroundCenterTile(t,i,r,s){const l=this._tileKeysPerLevel[s];if(!l||0===l.length)return t;const{size:h,origin:n}=this._tileInfoView.tileInfo,o=r*h[0],_=r*h[1],d=[0,0],c=[0,0];for(l.sort(((t,r)=>(d[0]=n.x+o*(t.col+.5),d[1]=n.y-_*(t.row+.5),c[0]=n.x+o*(r.col+.5),c[1]=n.y-_*(r.row+.5),e(d,i)-e(c,i))));l.length>0;){const e=l.pop();if(this._removeTile(e.id),--t===this.maxSize)break}return t}_removeTile(e){const t=this._tilePerId.get(e);this._removedFunc&&t&&this._removedFunc(t),i(this._tilePerId,e)}}function i(e,t){e.delete(t)}export{t as default};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport o from\"../../../core/ObjectPool.js\";import l from\"./TileKey.js\";class s{constructor(){this.spans=[]}acquire(o){this.lodInfo=o}release(){this.lodInfo=null,this.spans.length=0}*keys(){const o=this.lodInfo;for(const{row:s,colFrom:e,colTo:r}of this.spans)for(let t=e;t<=r;t++){const e=o.getWorldForColumn(t);yield new l(o.level,s,o.normalizeCol(t),e)}}forEach(o,l){const{spans:s,lodInfo:e}=this,{level:r}=e;if(0!==s.length)for(const{row:t,colFrom:n,colTo:c}of s)for(let s=n;s<=c;s++)o.call(l,r,t,e.normalizeCol(s),e.getWorldForColumn(s))}}s.pool=new o(s);export{s as default};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{getInfo as e}from\"../../../geometry/support/spatialReferenceUtils.js\";import t from\"./LODInfo.js\";import o from\"./TileCoverage.js\";import l from\"./TileKey.js\";import s from\"./TileSpan.js\";const i=new l(\"0/0/0/0\");class n{static create(e,t){e[1]>t[1]&&([e,t]=[t,e]);const[o,l]=e,[s,i]=t,r=s-o,a=i-l,h=0!==a?r/a:0,c=(Math.ceil(l)-l)*h,f=(Math.floor(l)-l)*h;return new n(o,Math.floor(l),Math.ceil(i),h,r<0?c:f,r<0?f:c,r<0?s:o,r<0?o:s)}constructor(e,t,o,l,s,i,n,r){this.x=e,this.ymin=t,this.ymax=o,this.invM=l,this.leftAdjust=s,this.rightAdjust=i,this.leftBound=n,this.rightBound=r}incrRow(){this.x+=this.invM}getLeftCol(){return Math.max(this.x+this.leftAdjust,this.leftBound)}getRightCol(){return Math.min(this.x+this.rightAdjust,this.rightBound)}}const r=[[0,0],[0,0],[0,0],[0,0]],a=1e-6;class h{constructor(e,o=null,l=e.lods[0].level,s=e.lods[e.lods.length-1].level){this.tileInfo=e,this.fullExtent=o,this.scales=[],this._infoByScale={},this._infoByLevel={};const i=e.lods.filter((e=>e.level>=l&&e.level<=s));this.minScale=i[0].scale,this.maxScale=i[i.length-1].scale;const n=this._lodInfos=i.map((l=>t.create(e,l,o)));i.forEach(((e,t)=>{this._infoByLevel[e.level]=n[t],this._infoByScale[e.scale]=n[t],this.scales[t]=e.scale}),this),this._wrap=e.isWrappable}get spatialReference(){return this.tileInfo.spatialReference}getLODInfoAt(e){return this._infoByLevel[\"number\"==typeof e?e:e.level]}getTileBounds(e,t,o=!1){i.set(t);const l=this._infoByLevel[i.level];return l?l.getTileBounds(e,i,o):e}getTileCoords(e,t,o=!1){i.set(t);const l=this._infoByLevel[i.level];return l?l.getTileCoords(e,i,o):e}getTileCoverage(e,t=192,l=!0,i=\"closest\"){if(!l&&(e.scale>this.minScale||e.scale100)return null;let p=[];for(f=g;f=0;e--){const t=p[e];u=Math.min(u,t.getLeftCol()),m=Math.max(m,t.getRightCol())}if(u=Math.floor(u),m=Math.floor(m),f>=a.first[1]&&f<=a.last[1])if(c)if(a.size[0]a.last[0]||m=0;e--){const t=p[e];t.ymax>=f?t.incrRow():p.splice(e,1)}}return h}getTileParentId(e){i.set(e);const t=this._infoByLevel[i.level],o=this._lodInfos.indexOf(t)-1;return o<0?null:(this._getTileIdAtLOD(i,this._lodInfos[o],i),i.id)}getTileResolution(e){const t=this._infoByLevel[\"object\"==typeof e?e.level:e];return t?t.resolution:-1}getTileScale(e){const t=this._infoByLevel[e.level];return t?t.scale:-1}intersects(e,t){i.set(t);const o=this._infoByLevel[i.level],l=e.lodInfo;if(l.resolution>o.resolution){this._getTileIdAtLOD(i,l,i);const t=l.denormalizeCol(i.col,i.world);for(const o of e.spans)if(o.row===i.row&&o.colFrom<=t&&o.colTo>=t)return!0}if(l.resolution(e[0]=Math.min(e[0],t.row),e[1]=Math.max(e[1],t.row),e[2]=Math.min(e[2],t.colFrom),e[3]=Math.max(e[3],t.colTo),e)),[1/0,-1/0,1/0,-1/0]),a=o.denormalizeCol(i.col,i.world),h=l.getColumnForX(o.getXForColumn(a)),c=l.getRowForY(o.getYForRow(i.row)),f=l.getColumnForX(o.getXForColumn(a+1))-1,u=l.getRowForY(o.getYForRow(i.row+1))-1;return!(h>r||fs||ue.row===i.row&&e.colFrom<=s&&e.colTo>=s))}normalizeBounds(t,o,l){if(t[0]=o[0],t[1]=o[1],t[2]=o[2],t[3]=o[3],this._wrap){const o=e(this.tileInfo.spatialReference),s=-l*(o.valid[1]-o.valid[0]);t[0]+=s,t[2]+=s}return t}getSmallestInfoForScale(e){const t=this.scales;if(this._infoByScale[e])return this._infoByScale[e];if(e>t[0])return this._infoByScale[t[0]];for(let o=1;ot[o]+a)return this._infoByScale[t[o-1]];return this._infoByScale[t[t.length-1]]}getClosestInfoForScale(e){const t=this.scales;return this._infoByScale[e]||(e=t.reduce(((t,o)=>Math.abs(o-e)=0;o--)if(e=0&&this.row===t.row>>e&&this.col===t.col>>e&&this.world===t.world}containsChild(t){const e=t.level-this.level;return e>0&&this.row===t.row>>e&&this.col===t.col>>e&&this.world===t.world}equals(t){return this.level===t.level&&this.row===t.row&&this.col===t.col&&this.world===t.world}clone(){return new e(this)}release(){this.level=0,this.row=0,this.col=0,this.world=0}set(t,e,l,o){if(null==t)this.level=0,this.row=0,this.col=0,this.world=0;else if(\"object\"==typeof t)this.level=t.level||0,this.row=t.row||0,this.col=t.col||0,this.world=t.world||0;else if(\"string\"==typeof t){const[e,l,o,s]=t.split(\"/\");this.level=parseFloat(e),this.row=parseFloat(l),this.col=parseFloat(o),this.world=parseFloat(s)}else this.level=+t,this.row=+e,this.col=+l,this.world=+o||0;return this}toString(){return`${this.level}/${this.row}/${this.col}/${this.world}`}getParentKey(){return this.level<=0?null:new e(this.level-1,this.row>>1,this.col>>1,this.world)}getNormalizedNeighbor(t,e,l){const o=this.clone();return o.col+=t,o.row+=e,l.normalizeKey(o),o}getChildKeys(){const t=this.level+1,l=this.row<<1,o=this.col<<1,s=this.world;return[new e(t,l,o,s),new e(t,l,o+1,s),new e(t,l+1,o,s),new e(t,l+1,o+1,s)]}compareRowMajor(t){return this.rowt.row?1:this.colt.col?1:0}}e.pool=new t(e,null,null,25,50);export{e as default};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{_ as e}from\"../../../chunks/tslib.es6.js\";import t from\"../../../core/Accessor.js\";import{getOrCreateMapValue as s}from\"../../../core/MapUtils.js\";import{destroyMaybe as o}from\"../../../core/maybe.js\";import{someSet as r}from\"../../../core/SetUtils.js\";import{property as i}from\"../../../core/accessorSupport/decorators/property.js\";import\"../../../core/has.js\";import\"../../../core/Logger.js\";import\"../../../core/RandomLCG.js\";import{subclass as c}from\"../../../core/accessorSupport/decorators/subclass.js\";import{distance as u}from\"../../../core/libs/gl-matrix-2/math/vec2.js\";import{QueueProcessor as n}from\"../../support/QueueProcessor.js\";const l=[0,0];let h=class extends t{constructor(e){super(e),this._keyToItem=new Map,this._tilesByScale=new Map,this.concurrency=6}initialize(){const{concurrency:e,process:t,scheduler:s,priority:o}=this;this._queue=new n({concurrency:e,scheduler:s,priority:o,process:(e,s)=>{const o=this._keyToItem.get(e);return t(o,{signal:s})},peeker:e=>this._peek(e)})}destroy(){this.clear(),this._queue=o(this._queue)}get length(){return this._queue?this._queue.length:0}abort(e){const t=\"string\"==typeof e?e:e.id;this._queue.abort(t)}clear(){this._queue.clear(),this._keyToItem.clear(),this._tilesByScale.clear()}has(e){return\"string\"==typeof e?this._keyToItem.has(e):this._keyToItem.has(e.id)}pause(){this._queue.pause()}push(e){const t=e.key.id;if(this._queue.has(t))return this._queue.get(t);const o=this._queue.push(t),r=this.tileInfoView.getTileScale(e.key),i=s(this._tilesByScale,r,(()=>new Set)),c=()=>{i.delete(e.key),0===i.size&&this._tilesByScale.delete(r),this._keyToItem.delete(t)};return i.add(e.key),this._keyToItem.set(t,e),o.then(c,c),o}reset(){this._queue.reset()}resume(){this._queue.resume()}_peek(e){if(!this.state)return e.values().next().value;const t=new Set;for(const r of e)t.add(this._keyToItem.get(r).key);const s=this.state.scale;let o,i=Number.POSITIVE_INFINITY;for(const[c,u]of this._tilesByScale){if(r(u,(e=>t.has(e)))){const e=Math.abs(c-s);e{this.releaseTile(e)})))}destroy(){this.tileIndex.clear()}update(e){const{resampling:i,tileIndex:t}=this,{scale:l,center:r,resolution:n}=e.state,{minScale:f,maxScale:d}=this.tileInfoView,u=!e.stationary&&l>this._previousScale;if(this._previousScale=l,!i&&(l>f||le.visible=!0));let v=0,m=0;if(y.length>0)for(const{row:s,colFrom:h,colTo:c}of y)for(let e=h;e<=c;e++){v++;const i=o.set(I,s,g.normalizeCol(e),g.getWorldForColumn(e)).id;let l=t.get(i);if(l)l.isReady?(a.set(i,l),m++):u||this._addParentTile(i,a);else{if(this._tileCache?.has(i)){if(l=this._tileCache.pop(i),this.tileIndex.set(i,l),l.isReady){a.set(i,l),m++;continue}}else l=this.acquireTile(o),this.tileIndex.set(i,l);u||this._addParentTile(i,a)}}const T=m===v;for(const[s,_]of t){if(a.has(s))continue;o.set(s);const e=this.tileInfoView.intersects(p,o),i=\"purge\"===this.cachePolicy?o.level!==I:o.level>I;!e||!u&&T?!i&&e||h.push(_):_.isReady?i&&\"purge\"===this.cachePolicy&&this._hasReadyAncestor(o,I)?h.push(_):c.push(_):i&&h.push(_)}for(const s of c)s.isReady&&a.set(s.key.id,s);for(const s of h)this._tileCache?this._tileCache.add(s):this.releaseTile(s),t.delete(s.key.id);for(const s of a.values())this.tiles.push(s);for(const s of t.values())a.has(s.key.id)||(s.visible=!1);this._tileCache?.prune(I,r,n),s.pool.release(p),c.length=0,h.length=0,a.clear()}clear(){const{tileIndex:e}=this;for(const i of e.values())this.releaseTile(i);e.clear()}refresh(e){for(const i of this.tileIndex.values())e(i);this._tileCache?.clear()}updateCacheSize(e){this._tileCache&&(this._tileCache.maxSize=e)}_addParentTile(e,i){let t=e,s=null;for(;t=this.tileInfoView.getTileParentId(t),t;)if(this.tileIndex.has(t)){if(s=this.tileIndex.get(t),s?.isReady){i.has(s.key.id)||i.set(s.key.id,s);break}}else if(this._tileCache?.has(t)&&(s=this._tileCache.pop(t),this.tileIndex.set(t,s),s?.isReady)){i.has(s.key.id)||i.set(s.key.id,s);break}}_hasReadyAncestor(t,s){const l=e();this.tileInfoView.getTileBounds(l,t,!0);for(const o of this.tileIndex.values())if(o.isReady&&o.key.level>=s&&o.key.levelr)return r;for(;ti?t=u:r=u,u=.5*(r-t)+t}return u}return function(e,n=1e-6){return l(p(e,n))}}const n=/^cubic-bezier\\((.*)\\)/,t={};function r(r){let u=t[r]||null;if(!u){const t=n.exec(r);if(t){const n=t[1].split(\",\").map((e=>parseFloat(e.trim())));4!==n.length||n.some((e=>isNaN(e)))||(u=e.apply(e,n))}}return u}t.ease=e(.25,.1,.25,1),t.linear=e(0,0,1,1),t.easeIn=t[\"ease-in\"]=e(.42,0,1,1),t.easeOut=t[\"ease-out\"]=e(0,0,.58,1),t.easeInOut=t[\"ease-in-out\"]=e(.42,0,.58,1);export{t as easingFunctions,r as parse,e as unitBezier};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport t from\"../../Viewpoint.js\";import e from\"../../core/Collection.js\";import{deg2rad as r}from\"../../core/mathUtils.js\";import{getMetersPerUnitForSR as n}from\"../../core/unitUtils.js\";import{toRadian as o}from\"../../core/libs/gl-matrix-2/math/common.js\";import{fromScaling as a,rotate as i,translate as c,fromTranslation as s,scale as u,fromRotation as l,invert as f}from\"../../core/libs/gl-matrix-2/math/mat2d.js\";import{create as m}from\"../../core/libs/gl-matrix-2/factories/mat2df64.js\";import{scale as y,set as p,sub as g,negate as x,subtract as h,normalize as b,cross as w,dot as d,length as j,add as G,transformMat2d as R,copy as A}from\"../../core/libs/gl-matrix-2/math/vec2.js\";import{fromValues as S,create as k}from\"../../core/libs/gl-matrix-2/factories/vec2f64.js\";import M from\"../../geometry/Extent.js\";import v from\"../../geometry/Geometry.js\";import z from\"../../geometry/Point.js\";import{isLoaded as C,canProjectWithoutEngine as F,load as N,project as I}from\"../../geometry/projection.js\";import V from\"../../geometry/SpatialReference.js\";import{getClosestDenormalizedXToReference as q,getDenormalizedExtent as L}from\"../../geometry/support/normalizeUtils.js\";import{equals as P,isValid as U,getInfo as E}from\"../../geometry/support/spatialReferenceUtils.js\";const O=96,Q=39.37,T=180/Math.PI;function B(t){return t.wkid?t:t.spatialReference||V.WGS84}function D(t,e){return e.type?p(t,e.x,e.y):A(t,e)}function W(t){return n(t)}function H(t,e,n=0){let o=t.width,a=t.height;if(0!==n){const e=r(n),i=Math.abs(Math.cos(e)),c=Math.abs(Math.sin(e));o=t.width*i+t.height*c,a=t.width*c+t.height*i}const i=Math.max(1,e[0]),c=Math.max(1,e[1]);return Math.max(o/i,a/c)*ct(t.spatialReference)}async function J(t,r,n,o){let a,i;if(!t)return null;if(Array.isArray(t)&&!t.length)return null;if(e.isCollection(t)&&(t=t.toArray()),Array.isArray(t)&&t.length&&\"object\"==typeof t[0]){const e=t.every((t=>\"attributes\"in t)),a=t.some((t=>!t.geometry));let i=t;if(e&&a&&r&&r.allLayerViews){const e=new Map;for(const r of t){const t=r.layer,n=e.get(t)||[],o=r.attributes[t.objectIdField];null!=o&&n.push(o),e.set(t,n)}const n=[];e.forEach(((t,e)=>{const o=r.allLayerViews.find((t=>t.layer.id===e.id));if(o&&\"queryFeatures\"in o){const r=e.createQuery();r.objectIds=t,r.returnGeometry=!0,n.push(o.queryFeatures(r))}}));const o=await Promise.all(n),a=[];for(const t of o)if(t&&t.features&&t.features.length)for(const e of t.features)null!=e.geometry&&a.push(e.geometry);i=a}for(const t of i)o=await J(t,r,n,o);return o}if(Array.isArray(t)&&2===t.length&&\"number\"==typeof t[0]&&\"number\"==typeof t[1])a=new z(t);else if(t instanceof v)a=t;else if(\"geometry\"in t)if(t.geometry)a=t.geometry;else if(t.layer){const e=t.layer,n=r.allLayerViews.find((t=>t.layer.id===e.id));if(n&&\"queryFeatures\"in n){const r=e.createQuery();r.objectIds=[t.attributes[e.objectIdField]],r.returnGeometry=!0;const o=await n.queryFeatures(r);a=o?.features?.[0]?.geometry}}if(null==a)return null;switch(a.type){case\"point\":i=new M({xmin:a.x,ymin:a.y,xmax:a.x,ymax:a.y,spatialReference:a.spatialReference});break;case\"extent\":case\"multipoint\":case\"polygon\":case\"polyline\":i=L(a);break;default:i=a.extent}if(!i)return null;C()||F(i.spatialReference,n)||await N();const c=I(i,n);if(!c)return null;if(o){const t=c.center,e=t.clone();e.x=q(t.x,o.center.x,n),e.x!==t.x&&c.centerAt(e),o=o.union(c)}else o=c;return o}function K(t){if(t&&(!Array.isArray(t)||\"number\"!=typeof t[0])&&(\"object\"==typeof t||Array.isArray(t)&&\"object\"==typeof t[0])){if(\"layer\"in t&&null!=t.layer?.minScale&&null!=t.layer.maxScale){const e=t.layer;return{min:e.minScale,max:e.maxScale}}if(Array.isArray(t)&&t.length&&t.every((t=>\"layer\"in t))){let e=0,r=0;for(const n of t){const t=n.layer;t?.minScale&&t.maxScale&&(e=t.minScaler?t.maxScale:r)}return e&&r?{min:e,max:r}:null}}}function X(t,e){const r=B(t);return P(r,e)||r.imageCoordinateSystem||e.imageCoordinateSystem?t:I(t,e)}async function Y(e,r){if(!e||!r)return new t({targetGeometry:new z,scale:0,rotation:0});let n=r.spatialReference;const{constraints:o,padding:a,viewpoint:i,size:c}=r,s=[a?c[0]-a.left-a.right:c[0],a?c[1]-a.top-a.bottom:c[1]];let u=null;e instanceof t?u=e:e.viewpoint?u=e.viewpoint:e.target&&\"esri.Viewpoint\"===e.target.declaredClass&&(u=e.target);let l=null;u?.targetGeometry?l=u.targetGeometry:e instanceof M?l=e:e instanceof v?l=await J(e,r,n):e&&(l=await J(e.center,r,n)||await J(e.target,r,n)||await J(e,r,n)),!l&&i?.targetGeometry?l=i.targetGeometry:!l&&r.extent&&(l=r.extent),n||(n=B(r.spatialReference||r.extent||l)),C()||P(l.spatialReference,n)||F(l.spatialReference,n)||await N();const f=X(l,n),m=\"center\"in f?f.center:f;!1!==r.pickClosestTarget&&\"point\"===m.type&&\"point\"===i.targetGeometry?.type&&(m.x=q(m.x,i.targetGeometry.x,m.spatialReference));let y=0;u?y=u.rotation:e.hasOwnProperty(\"rotation\")?y=e.rotation:i&&(y=i.rotation);let p=0;p=null!=u?.targetGeometry&&\"point\"===u.targetGeometry.type?u.scale:\"scale\"in e&&e.scale?e.scale:\"zoom\"in e&&-1!==e.zoom&&o&&o.effectiveLODs?o.zoomToScale(e.zoom):Array.isArray(l)||\"point\"===l.type||\"extent\"===l.type&&0===l.width&&0===l.height?i.scale:H(X(l.extent,n),s,y);const g=K(e.target??e);g&&(g.min&&g.minp&&(p=g.max));let x=new t({targetGeometry:m,scale:p,rotation:y});return o&&(x=o.fit(x),o.constrainByGeometry(x),o.rotationEnabled||(x.rotation=i.rotation)),x}function Z(t,e){const r=t.targetGeometry,n=e.targetGeometry;return r.x=n.x,r.y=n.y,r.spatialReference=n.spatialReference,t.scale=e.scale,t.rotation=e.rotation,t}function $(t,e,r){return r?p(t,.5*(e[0]-r.right+r.left),.5*(e[1]-r.bottom+r.top)):y(t,e,.5)}const _=function(){const t=k();return function(e,r,n){const o=r.targetGeometry;D(t,o);const a=.5*ot(r);return e.xmin=t[0]-a*n[0],e.ymin=t[1]-a*n[1],e.xmax=t[0]+a*n[0],e.ymax=t[1]+a*n[1],e.spatialReference=o.spatialReference,e}}();function tt(t,e,r,n,o){return xt(t,e,r.center),t.scale=H(r,n),o?.constraints?.constrain(t),t}function et(t,e,r,n){return lt(t,e,r,n),f(t,t)}const rt=function(){const t=k();return function(e,r,n){return g(e,st(e,r),$(t,r,n))}}(),nt=function(){const t=m(),e=k();return function(r,n,o,s){const u=ot(n),l=it(n);return p(e,u,u),a(t,e),i(t,t,l),c(t,t,rt(e,o,s)),c(t,t,[0,s.top-s.bottom]),p(r,t[4],t[5])}}();function ot(t){return t.scale*at(t.targetGeometry?.spatialReference)}function at(t){return null!=t&&U(t)?1/(W(t)*Q*O):1}function it(t){return o(t.rotation)||0}function ct(t){return U(t)?W(t)*Q*O:1}function st(t,e){return y(t,e,.5)}const ut=function(){const t=k(),e=k(),r=k();return function(n,o,a,l,f,m){return x(t,o),y(e,a,.5*m),p(r,1/l*m,-1/l*m),s(n,e),f&&i(n,n,f),u(n,n,r),c(n,n,t),n}}(),lt=function(){const t=k();return function(e,r,n,o){const a=ot(r),i=it(r);return D(t,r.targetGeometry),ut(e,t,n,a,i,o)}}(),ft=function(){const t=k();return function(e,r,n,o){const a=ot(r);return D(t,r.targetGeometry),ut(e,t,n,a,0,o)}}();function mt(t){const e=E(t);return e?e.valid[1]-e.valid[0]:0}function yt(t,e){return Math.round(mt(t)/e)}const pt=function(){const t=k(),e=k(),r=[0,0,0];return function(n,o,a){h(t,n,o),b(t,t),h(e,n,a),b(e,e),w(r,t,e);let i=Math.acos(d(t,e)/(j(t)*j(e)))*T;return r[2]<0&&(i=-i),isNaN(i)&&(i=0),i}}(),gt=function(){const t=k();return function(e,r,n,o){const a=e.targetGeometry;return Z(e,r),nt(t,r,n,o),a.x+=t[0],a.y+=t[1],e}}(),xt=function(t,e,r){Z(t,e);const n=t.targetGeometry;return n.x=r.x,n.y=r.y,n.spatialReference=r.spatialReference,t},ht=function(){const t=k();return function(e,r,n,o,a){a||(a=\"center\"),g(t,n,o),y(t,t,.5);const i=t[0],c=t[1];switch(a){case\"center\":p(t,0,0);break;case\"left\":p(t,-i,0);break;case\"top\":p(t,0,c);break;case\"right\":p(t,i,0);break;case\"bottom\":p(t,0,-c);break;case\"top-left\":p(t,-i,c);break;case\"bottom-left\":p(t,-i,-c);break;case\"top-right\":p(t,i,c);break;case\"bottom-right\":p(t,i,-c)}return kt(e,r,t),e}}();function bt(t,e,r){return Z(t,e),t.rotation+=r,t}function wt(t,e,r){return Z(t,e),t.rotation=r,t}const dt=function(){const t=k();return function(e,r,n,o,a){return Z(e,r),isNaN(n)||0===n||(At(t,o,r,a),e.scale=r.scale*n,St(t,t,e,a),kt(e,e,p(t,t[0]-o[0],o[1]-t[1]))),e}}();function jt(t,e,r){return Z(t,e),t.scale=r,t}const Gt=function(){const t=k();return function(e,r,n,o,a,i){return Z(e,r),isNaN(n)||0===n||(At(t,a,r,i),e.scale=r.scale*n,e.rotation+=o,St(t,t,e,i),kt(e,e,p(t,t[0]-a[0],a[1]-t[1]))),e}}(),Rt=function(){const t=k(),e=k();return function(r,n,o,a,i,c,s){return rt(e,c,s),G(t,i,e),a?Gt(r,n,o,a,t,c):dt(r,n,o,t,c)}}(),At=function(){const t=m();return function(e,r,n,o){return R(e,r,et(t,n,o,1))}}(),St=function(){const t=m();return function(e,r,n,o){return R(e,r,lt(t,n,o,1))}}(),kt=function(){const t=k(),e=m();return function(r,n,o){Z(r,n);const a=ot(n),i=r.targetGeometry;return l(e,it(n)),u(e,e,S(a,a)),R(t,o,e),i.x+=t[0],i.y+=t[1],r}}();export{gt as addPadding,pt as angleBetween,xt as centerAt,Z as copy,Y as create,H as extentToScale,$ as getAnchor,_ as getExtent,ut as getMatrix,nt as getPaddingMapTranslation,rt as getPaddingScreenTranslation,ot as getResolution,ct as getResolutionToScaleFactor,at as getScaleToResolutionFactor,lt as getTransform,ft as getTransformNoRotation,yt as getWorldScreenWidth,mt as getWorldWidth,Rt as padAndScaleAndRotateBy,ht as resize,bt as rotateBy,wt as rotateTo,Gt as scaleAndRotateBy,jt as scaleTo,tt as setExtent,At as toMap,St as toScreen,kt as translateBy};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{createRenderScreenPointArray as r}from\"../../../../core/screenUtils.js\";import{subtract as o,normalize as e}from\"../../../../core/libs/gl-matrix-2/math/vec2.js\";import{c as t}from\"../../../../chunks/vec32.js\";import{create as c}from\"../../../../core/libs/gl-matrix-2/factories/vec3f64.js\";import{getConvertedElevationFromVector as s}from\"../../../../support/elevationInfoUtils.js\";function n(r,t,c,s){c.projectToRenderScreen(r,p),c.projectToRenderScreen(t,f),o(s,f,p),e(s,s)}function i(r,o,e,n,i=c()){const p=t(m,r);return p[2]=s(n,p,o,e)||0,n.renderCoordsHelper.toRenderCoords(p,o,i),i}const m=c(),p=r(),f=r();export{n as renderScreenSpaceTangent,i as vectorToRender};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nlet e,t=null;const n=new Map;async function i(i){null==t&&(null==e&&(e=import(\"../../../layers/Lyr3DWasmPerSceneView.js\")),t=await e);const l=i.view;let r=n.get(l);r||(r=new t.default({view:l}),n.set(l,r));const a=!!l._stage.renderView.renderingContext.capabilities.compressedTextureS3TC;return await r.initializeWasm(a),r.add3DTilesLayerView(i)}function l(e){return n.get(e)}function r(i){const l=i.view,r=n.get(l);if(r){r.remove3DTilesLayerView(i)<1&&(n.delete(l),0===n.size&&(e=null,t=null))}}export{i as addLayerViewToWasm,l as getLyr3DWasm,r as removeLayerViewFromWasm};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{acosClamped as t}from\"../../../core/mathUtils.js\";import{i as n,f as s,n as r,e as o,l as a,h as c,g as i,m as u,d as h}from\"../../../chunks/vec32.js\";import{create as e}from\"../../../core/libs/gl-matrix-2/factories/vec3f64.js\";function f(t,n){return t>n?Math.cos(n):Math.cos(t)}function M(t,n,s){return 2*Math.atan(s*Math.tan(.5*t)/n)}function l(t,n,s){return 2*Math.atan(n*Math.tan(.5*t)/s)}function m(t){const n=t[0]*t[0]+t[4]*t[4]+t[8]*t[8],s=t[1]*t[1]+t[5]*t[5]+t[9]*t[9],r=t[2]*t[2]+t[6]*t[6]+t[10]*t[10];return Math.sqrt(Math.max(n,s,r))}function g(t,s){const r=Math.sqrt(s[0]*s[0]+s[4]*s[4]+s[8]*s[8]),o=Math.sqrt(s[1]*s[1]+s[5]*s[5]+s[9]*s[9]),a=Math.sqrt(s[2]*s[2]+s[6]*s[6]+s[10]*s[10]);return n(t,r,o,a),t}function p(t,o,a){a=a||t;const c=s(t,o);n(a,t[0]-c*o[0],t[1]-c*o[1],t[2]-c*o[2]),r(a,a)}function q(t,s,a){Math.abs(t[0])>Math.abs(t[1])?n(s,0,1,0):n(s,1,0,0),o(a,t,s),o(s,a,t),r(a,a),r(s,s)}function b(t,n,s,r,o,a){const c=t+(n-t)*o;return c+(s+(r-s)*o-c)*a}function j(t,n,r,o=e()){const h=a(t),f=a(n),M=s(t,n)/(h*f);if(M<.9999999999999999){const s=Math.acos(M),a=((1-r)*h+r*f)/Math.sin(s),u=a/h*Math.sin((1-r)*s),e=a/f*Math.sin(r*s);return c(A,t,u),c(B,n,e),i(o,A,B)}return u(o,t,n,r)}function x(t,n,o,f=e(),M=e()){const l=a(t),m=a(n),g=s(t,n)/(l*m);if(g<.9999999999999999){const s=Math.acos(g),r=Math.sin(s),a=Math.sin(o*s),u=Math.sin((1-o)*s),h=(1-o)*l+o*m;{const s=h/r,o=s/m*a;c(A,t,s/l*u),c(B,n,o),i(f,A,B)}{const e=1/l*(-Math.cos((1-o)*s)*s*h+u*(-l+m));c(A,t,e);const f=1/m*(Math.cos(o*s)*s*h+a*(-l+m));c(B,n,f),i(M,A,B),c(M,M,1/r)}return M}return u(f,t,n,o),h(M,n,t),r(M,M),M}function v(n,a,c){n=r(A,n),a=r(B,a);const i=t(s(n,a));if(c){const t=o(z,n,a);if(s(t,c)<0)return-i}return i}function d(t){const n=t.length;return s=>{if(s<=t[0][0])return t[0][1];if(s>=t[n-1][0])return t[n-1][1];let r=1;for(;s>t[r][0];)r++;const o=t[r-1][0],a=t[r][0],c=(a-s)/(a-o);return c*t[r-1][1]+(1-c)*t[r][1]}}function k(t,n,a,c){h(w,n,t),h(y,a,t),o(c,w,y),r(c,c),c[3]=-s(t,c)}function U(t,s){if(n(s,0,0,0),t.length>0){for(let n=0;nthis.view?.map?.basemap),(e=>{e&&e.load().catch((()=>{}))}),t)}destroy(){this._set(\"view\",null),this._loadingHandle&&(this._loadingHandle.remove(),this._loadingHandle=null);for(const e of this.baseLayerViews)e.destroy();this.baseLayerViews.length=0;for(const e of this.referenceLayerViews)e.destroy();this.referenceLayerViews.length=0}get suspended(){return!this.view||this.view.suspended}get updating(){if(this.view?.suspended)return!1;const e=this.view?.map?.basemap;return!!e&&(!!e.loaded&&(this.baseLayerViews.some((e=>e.updating))||this.referenceLayerViews.some((e=>e.updating))))}};e([i({constructOnly:!0})],n.prototype,\"view\",void 0),e([i({readOnly:!0})],n.prototype,\"baseLayerViews\",void 0),e([i({readOnly:!0})],n.prototype,\"referenceLayerViews\",void 0),e([i({readOnly:!0})],n.prototype,\"suspended\",null),e([i({type:Boolean,readOnly:!0})],n.prototype,\"updating\",null),n=e([a(\"esri.views.BasemapView\")],n);const p=n;export{p as default};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{_ as e}from\"../chunks/tslib.es6.js\";import i from\"../core/ArrayPool.js\";import{watch as s,initial as a}from\"../core/reactiveUtils.js\";import{property as t}from\"../core/accessorSupport/decorators/property.js\";import\"../core/has.js\";import\"../core/Logger.js\";import\"../core/RandomLCG.js\";import{subclass as r}from\"../core/accessorSupport/decorators/subclass.js\";const l={widthBreakpoint:{getValue(e){const i=e.viewSize[0],s=e.breakpoints,a=this.values;return i<=s.xsmall?a.xsmall:i<=s.small?a.small:i<=s.medium?a.medium:i<=s.large?a.large:a.xlarge},values:{xsmall:\"xsmall\",small:\"small\",medium:\"medium\",large:\"large\",xlarge:\"xlarge\"},valueToClassName:{xsmall:\"esri-view-width-xsmall esri-view-width-less-than-small esri-view-width-less-than-medium esri-view-width-less-than-large esri-view-width-less-than-xlarge\",small:\"esri-view-width-small esri-view-width-greater-than-xsmall esri-view-width-less-than-medium esri-view-width-less-than-large esri-view-width-less-than-xlarge\",medium:\"esri-view-width-medium esri-view-width-greater-than-xsmall esri-view-width-greater-than-small esri-view-width-less-than-large esri-view-width-less-than-xlarge\",large:\"esri-view-width-large esri-view-width-greater-than-xsmall esri-view-width-greater-than-small esri-view-width-greater-than-medium esri-view-width-less-than-xlarge\",xlarge:\"esri-view-width-xlarge esri-view-width-greater-than-xsmall esri-view-width-greater-than-small esri-view-width-greater-than-medium esri-view-width-greater-than-large\"}},heightBreakpoint:{getValue(e){const i=e.viewSize[1],s=e.breakpoints,a=this.values;return i<=s.xsmall?a.xsmall:i<=s.small?a.small:i<=s.medium?a.medium:i<=s.large?a.large:a.xlarge},values:{xsmall:\"xsmall\",small:\"small\",medium:\"medium\",large:\"large\",xlarge:\"xlarge\"},valueToClassName:{xsmall:\"esri-view-height-xsmall esri-view-height-less-than-small esri-view-height-less-than-medium esri-view-height-less-than-large esri-view-height-less-than-xlarge\",small:\"esri-view-height-small esri-view-height-greater-than-xsmall esri-view-height-less-than-medium esri-view-height-less-than-large esri-view-height-less-than-xlarge\",medium:\"esri-view-height-medium esri-view-height-greater-than-xsmall esri-view-height-greater-than-small esri-view-height-less-than-large esri-view-height-less-than-xlarge\",large:\"esri-view-height-large esri-view-height-greater-than-xsmall esri-view-height-greater-than-small esri-view-height-greater-than-medium esri-view-height-less-than-xlarge\",xlarge:\"esri-view-height-xlarge esri-view-height-greater-than-xsmall esri-view-height-greater-than-small esri-view-height-greater-than-medium esri-view-height-greater-than-large\"}},orientation:{getValue(e){const i=e.viewSize,s=i[0],a=i[1],t=this.values;return a>=s?t.portrait:t.landscape},values:{portrait:\"portrait\",landscape:\"landscape\"},valueToClassName:{portrait:\"esri-view-orientation-portrait\",landscape:\"esri-view-orientation-landscape\"}}},h={xsmall:544,small:768,medium:992,large:1200};function n(e){const i=e;return i&&i.xsmall{let g=class extends o{constructor(...e){super(...e),this.orientation=null,this.widthBreakpoint=null,this.heightBreakpoint=null,this.breakpoints=h}initialize(){this.addHandles(s((()=>[this.breakpoints,this.size]),(()=>this._updateClassNames()),a))}destroy(){this.destroyed||this._removeActiveClassNames()}set breakpoints(e){if(e===this._get(\"breakpoints\"))return;if(!n(e)){const i=JSON.stringify(h,null,2);console.warn(\"provided breakpoints are not valid, using defaults:\"+i),e=h}this._set(\"breakpoints\",{...e})}_updateClassNames(){if(!this.container)return;const e=i.acquire(),s=i.acquire();let a,t=!1;for(a in l){const i=this[a],r=l[a].getValue({viewSize:this.size,breakpoints:this.breakpoints});i!==r&&(t=!0,this[a]=r,m(a,i).forEach((e=>s.push(e))),m(a,r).forEach((i=>e.push(i))))}t&&(this._applyClassNameChanges(e,s),i.release(e),i.release(s))}_applyClassNameChanges(e,i){const s=this.container;s&&(i.forEach((e=>s.classList.remove(e))),e.forEach((e=>s.classList.add(e))))}_removeActiveClassNames(){const e=this.container;if(!e)return;let i;for(i in l)m(i,this[i]).forEach((i=>e.classList.remove(i)))}};return e([t()],g.prototype,\"breakpoints\",null),e([t()],g.prototype,\"orientation\",void 0),e([t()],g.prototype,\"widthBreakpoint\",void 0),e([t()],g.prototype,\"heightBreakpoint\",void 0),g=e([r(\"esri.views.BreakpointsOwner\")],g),g};export{o as BreakpointsOwner};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{_ as e}from\"../chunks/tslib.es6.js\";import{byId as t,reparent as s}from\"../core/domUtils.js\";import{on as i}from\"../core/events.js\";import r from\"../core/Logger.js\";import{destroyMaybe as o,removeMaybe as n}from\"../core/maybe.js\";import{watch as a,initial as h}from\"../core/reactiveUtils.js\";import{addFrameTask as d}from\"../core/scheduling.js\";import{property as l}from\"../core/accessorSupport/decorators/property.js\";import\"../core/has.js\";import\"../core/RandomLCG.js\";import{subclass as u}from\"../core/accessorSupport/decorators/subclass.js\";import c from\"./overlay/ViewOverlay.js\";const p=[0,0];function m(e){const t=(e.ownerDocument||window.document).defaultView,s=e.getBoundingClientRect();return p[0]=s.left+(t?.pageXOffset??0),p[1]=s.top+(t?.pageYOffset??0),p}function f(e){e&&(e.textContent=\"\",e.parentNode&&e.parentNode.removeChild(e))}function g(e){const t=document.createElement(\"div\");return e.appendChild(t),t}const y=16,_=750,v=512,C=2,w=p=>{let w=class extends p{constructor(...e){super(...e),this._freqInfo={freq:y,time:_},this._overlayRenderTaskHandle=null,this.height=0,this.messagesCommon=null,this.overlay=null,this.position=null,this.resizing=!1,this.root=null,this.surface=null,this.suspended=!0,this.ui=null,this.userContent=null,this.width=0,this.widthBreakpoint=null,this.addHandles([a((()=>this.cursor),(e=>{const{surface:t}=this;t&&t.setAttribute(\"data-cursor\",e)})),a((()=>this.navigating),(e=>{const{surface:t}=this;t&&t.setAttribute(\"data-navigating\",e.toString())}))])}initialize(){this.addHandles([a((()=>this.ui),((e,t)=>this._handleUIChange(e,t)),h),this.on(\"focus\",(()=>this.notifyChange(\"focused\"))),this.on(\"blur\",(()=>this.notifyChange(\"focused\")))])}destroy(){this.destroyed||(this.ui=o(this.ui),this.container=null)}get container(){return this._get(\"container\")??null}set container(e){const i=this._get(\"container\"),o=t(e);if(o||\"string\"!=typeof e||r.getLogger(this).error(\"#container\",`element with id '${e}' not found`),i===o)return;if(this._stopMeasuring(),i&&(i.classList.remove(\"esri-view\"),this._overlayRenderTaskHandle&&(this._overlayRenderTaskHandle.remove(),this._overlayRenderTaskHandle=null),this.overlay&&(this.overlay.destroy(),this._set(\"overlay\",null)),this.root&&(f(this.root),this._set(\"root\",null)),this.userContent&&(s(this.userContent,i),f(this.userContent),this._set(\"userContent\",null))),!o)return this._set(\"width\",0),this._set(\"height\",0),this._set(\"position\",null),this._set(\"suspended\",!0),this._set(\"surface\",null),void this._set(\"container\",null);o.classList.add(\"esri-view\");const h=document.createElement(\"div\");h.className=\"esri-view-user-storage\",s(o,h),o.appendChild(h),this._set(\"userContent\",h);const l=document.createElement(\"div\");l.className=\"esri-view-root\",o.insertBefore(l,o.firstChild),this._set(\"root\",l);const u=document.createElement(\"div\");u.className=\"esri-view-surface\",u.setAttribute(\"role\",\"application\"),u.tabIndex=0,l.appendChild(u),this._set(\"surface\",u);const p=new c;l.appendChild(p.surface),this._set(\"overlay\",p),this.addHandles(a((()=>p.needsRender),(e=>{e&&!this._overlayRenderTaskHandle?this._overlayRenderTaskHandle=d({render:()=>this.overlay?.render()}):this._overlayRenderTaskHandle=n(this._overlayRenderTaskHandle)}))),this.forceDOMReadyCycle(),this._set(\"container\",o),this._startMeasuring()}get focused(){const e=document.activeElement===this.surface;return document.hasFocus()&&e}get size(){return[this.width,this.height]}blur(){this.surface?.blur()}focus(){this.surface?.focus()}pageToContainer(e,t,s){const i=this.position;return e-=i?i[0]:0,t-=i?i[1]:0,s?(s[0]=e,s[1]=t):s=[e,t],s}containerToPage(e,t,s){const i=this.position;return e+=i?i[0]:0,t+=i?i[1]:0,s?(s[0]=e,s[1]=t):s=[e,t],s}_handleUIChange(e,t){this.removeHandles(\"ui\"),t&&t!==e&&t.destroy(),e&&(e.view=this,this.addHandles(a((()=>this.root),(t=>{e.container=t?g(t):null}),h),\"ui\")),this._set(\"ui\",e)}_stopMeasuring(){this.removeHandles(\"measuring\"),this._get(\"resizing\")&&this._set(\"resizing\",!1)}_startMeasuring(){const e=this._freqInfo;e.freq=y,e.time=_,this.addHandles([i(window,\"resize\",(()=>{e.freq=y,e.time=_})),d({prepare:e=>{const t=this._measure(),s=this._freqInfo;if(s.time+=e.deltaTime,t&&(s.freq=y,this._get(\"resizing\")||this._set(\"resizing\",!0)),s.time=v&&this._get(\"resizing\")&&this._set(\"resizing\",!1)}})],\"measuring\"),this._measure(),this._position()}_measure(){const e=this.container,t=e?e.clientWidth:0,s=e?e.clientHeight:0;if(0===t||0===s)return this.suspended||this._set(\"suspended\",!0),!1;const i=this.width,r=this.height;return t===i&&s===r?(this.suspended&&this._set(\"suspended\",!1),!1):(this._set(\"width\",t),this._set(\"height\",s),this.suspended&&this._set(\"suspended\",!1),this.emit(\"resize\",{oldWidth:i,oldHeight:r,width:t,height:s}),!0)}_position(){const e=this.container,t=this.position,s=e&&m(e);return!!s&&((!t||s[0]!==t[0]||s[1]!==t[1])&&(this._set(\"position\",[s[0],s[1]]),!0))}forceDOMReadyCycle(){}};return e([l()],w.prototype,\"container\",null),e([l({readOnly:!0})],w.prototype,\"focused\",null),e([l({readOnly:!0})],w.prototype,\"height\",void 0),e([l()],w.prototype,\"messagesCommon\",void 0),e([l({type:c})],w.prototype,\"overlay\",void 0),e([l({readOnly:!0})],w.prototype,\"position\",void 0),e([l({readOnly:!0})],w.prototype,\"resizing\",void 0),e([l({readOnly:!0})],w.prototype,\"root\",void 0),e([l({value:null,readOnly:!0})],w.prototype,\"size\",null),e([l({readOnly:!0})],w.prototype,\"surface\",void 0),e([l({readOnly:!0})],w.prototype,\"suspended\",void 0),e([l()],w.prototype,\"ui\",void 0),e([l({readOnly:!0})],w.prototype,\"userContent\",void 0),e([l({readOnly:!0})],w.prototype,\"width\",void 0),e([l()],w.prototype,\"widthBreakpoint\",void 0),w=e([u(\"esri.views.DOMContainer\")],w),w};export{w as DOMContainer};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{_ as e}from\"../chunks/tslib.es6.js\";import r from\"../core/Accessor.js\";import i from\"../core/Error.js\";import t from\"../core/Logger.js\";import{someMap as s}from\"../core/MapUtils.js\";import{removeMaybe as a}from\"../core/maybe.js\";import{createResolver as o,createAbortError as l,isAbortError as n,onAbort as y,throwIfAborted as h}from\"../core/promiseUtils.js\";import{on as c,watch as p,syncAndInitial as w}from\"../core/reactiveUtils.js\";import{schedule as d}from\"../core/scheduling.js\";import{property as m}from\"../core/accessorSupport/decorators/property.js\";import\"../core/has.js\";import\"../core/RandomLCG.js\";import{subclass as f}from\"../core/accessorSupport/decorators/subclass.js\";import{get as u}from\"../core/accessorSupport/get.js\";import{UpdatingHandles as _}from\"../core/support/UpdatingHandles.js\";import{destroyMap as g}from\"../support/collectionUtils.js\";function V(e){return\"tryRecycleWith\"in e}function v(e){return null!=e&&\"object\"==typeof e&&\"layerViews\"in e}class L{constructor(e,r,t){this.layer=e,this.view=r,this.layerViewImporter=t,this._controller=new AbortController,this._deferred=o(),this._started=!1,this.done=!1,this.promise=this._deferred.promise,y(this._controller.signal,(()=>{const r=new i(\"cancelled:layerview-create\",\"layerview creation cancelled\",{layer:e});this._deferred.reject(r)}))}tryRecycle(e){if(!this.done||!this.layerView||!V(this.layerView))return null;const r=this.layer.type,i=this._controller.signal;for(let t=0;t(h(this._controller.signal),s.emit(\"layerview-destroy\",{view:i,layerView:r}),i.emit(\"layerview-destroy\",{view:i,layerView:r}),s.emit(\"layerview-create\",{view:i,layerView:r}),i.emit(\"layerview-create\",{view:i,layerView:r}),r))),new Promise(((e,r)=>y(this._controller.signal,(()=>r(l())))))]),this.promise}}return null}destroy(){this._controller.abort();const{layerView:e}=this;if(e){const{layer:r,view:i}=this;r.emit(\"layerview-destroy\",{view:i,layerView:e}),i.emit(\"layerview-destroy\",{layer:r,layerView:e})}this.done=!0,this.layer=null,this.layerView=null,this.view=null,this.layerViewImporter=null,this._map=null}async start(){if(this._started)return;this._started=!0;const{_controller:{signal:e},layer:r,view:t}=this;this._map=t.map;try{let o,l;if(await r.load({signal:e}),r.prefetchResources&&await r.prefetchResources({signal:e}),C(r))o=await r.createLayerView(t,{signal:e});else{if(!this.layerViewImporter.hasLayerViewModule(r))throw new i(\"layer:view-not-supported\",\"No layerview implementation was found\");const s=await this.layerViewImporter.importLayerView(r);h(e),o=\"default\"in s?new s.default({layer:r,view:t}):new s({layer:r,view:t})}const n=()=>{l=a(l),o.destroyed||o.destroy(),o.layer=null,o.parent=null,o.view=null,this.done=!0};l=y(e,n),h(e);try{await o.when()}catch(s){throw n(),s}const c=this._map?.allLayers?.includes(r);if(!c)return n(),void this._deferred.reject(new i(\"view:no-layerview-for-layer\",\"The layer has been removed from the map\",{layer:r}));this.layerView=o,r.emit(\"layerview-create\",{view:t,layerView:o}),t.emit(\"layerview-create\",{layer:r,layerView:o}),this.done=!0,this._deferred.resolve(o)}catch(s){r.emit(\"layerview-create-error\",{view:t,error:s}),t.emit(\"layerview-create-error\",{layer:r,error:s}),this.done=!0,this._deferred.reject(new i(\"layerview:create-error\",\"layerview creation failed\",{layer:r,error:s}))}}}let M=class extends r{constructor(e){super(e),this._layerLayerViewInfoMap=new Map,this._recyclingInfoMap=new Map,this._watchUpdatingTracking=new _,this.supportsGround=!0,this._preloadLayerViewModules=()=>{const e=this.view.map?.allLayers;if(e)for(const r of e)this.layerViewImporter.hasLayerViewModule(r)&&this.layerViewImporter.importLayerView(r)},this._reschedule=()=>this.destroyed?Promise.reject():(null==this._workPromise&&(this._workPromise=o(),this._workPromise.promise.catch((()=>{}))),this.removeHandles(\"reschedule\"),this.addHandles(d(this._doWork),\"reschedule\"),this._workPromise.promise),this._doWork=()=>{if(this.destroyed)return;const e=this.view.map;if(this._map!==e&&(this.clear(),this._map=e),null==this._workPromise)return void this.notifyChange(\"updating\");this.removeHandles(\"reschedule\"),this.removeHandles(\"collection-change\");const r=new Set,i=[],t=this.view.ready,s=e=>{if(null!=e)for(const a of e)if(a){r.add(a);const e=this._layerLayerViewInfoMap.get(a);e&&t?e.start():e||this._recyclingInfoMap.has(a)||i.push(a),\"layers\"in a&&a.layers&&s(a.layers)}};for(const o of this._rootCollectionNames)s(u(this,o));for(const[o,l]of this._layerLayerViewInfoMap)if(!r.has(o)){this._layerLayerViewInfoMap.delete(l.layer);const e=l.tryRecycle(i);e?(this.notifyChange(\"updating\"),this._recyclingInfoMap.set(l.layer,l),e.then((()=>{this.notifyChange(\"updating\"),this._recyclingInfoMap.delete(l.layer),this._layerLayerViewInfoMap.set(l.layer,l),this._reschedule()})).catch((()=>{this.notifyChange(\"updating\"),this._recyclingInfoMap.delete(l.layer),l.destroy(),this._reschedule()}))):l.destroy()}for(const[o,l]of this._recyclingInfoMap)r.has(o)||(this.notifyChange(\"updating\"),this._recyclingInfoMap.delete(l.layer),l.destroy());for(const o of i)this._createLayerView(o);this._refreshCollections();const a=[e?.ground?.layers,e?.basemap?.baseLayers,e?.basemap?.referenceLayers,e?.layers].filter((e=>!!e));r.forEach((e=>\"layers\"in e&&a.push(e.layers))),this.addHandles(a.map((e=>this._watchUpdatingTracking.addOnCollectionChange((()=>e),this._reschedule))),\"collection-change\"),this._workPromise.resolve(),this._workPromise=null}}initialize(){this.addHandles([c((()=>this.view?.map?.allLayers),\"change\",this._preloadLayerViewModules,{onListenerAdd:this._preloadLayerViewModules}),p((()=>{const e=this.view,r=e?.map;return[r?.basemap,r?.ground,r?.layers,e?.ready]}),(()=>this._reschedule()),w)]),this._preloadLayerViewModules(),this._reschedule()}destroy(){this.clear(),g(this._recyclingInfoMap),g(this._layerLayerViewInfoMap),this._watchUpdatingTracking.destroy(),this._map=null,null!=this._workPromise&&(this._workPromise.reject(l()),this._workPromise=null)}get _layersToLayerViews(){const e=[[\"view.map.basemap.baseLayers\",\"view.basemapView.baseLayerViews\"],[\"view.map.layers\",\"view.layerViews\"],[\"view.map.basemap.referenceLayers\",\"view.basemapView.referenceLayerViews\"]];return this.supportsGround&&e.push([\"view.map.ground.layers\",\"view.groundView.layerViews\"]),new Map(e)}get _rootCollectionNames(){return Array.from(this._layersToLayerViews.keys())}get updating(){return null!=this._workPromise||this._watchUpdatingTracking.updating||s(this._layerLayerViewInfoMap,(e=>!e.done))||this._recyclingInfoMap.size>0}get updatingRemaining(){let e=0;for(const r of this._layerLayerViewInfoMap.values())r.done||++e;return e}clear(){this.destroyed||(g(this._layerLayerViewInfoMap),this._refreshCollections())}async whenLayerView(e){if(await this._reschedule(),!this._layerLayerViewInfoMap.has(e)){if(this._recyclingInfoMap.has(e))return this._recyclingInfoMap.get(e).promise;throw new i(\"view:no-layerview-for-layer\",\"No layerview has been found for the layer\",{layer:e})}return this._layerLayerViewInfoMap.get(e).promise}isCreatingLayerViewsForLayer(e,r){this.commitProperty(\"updatingRemaining\");const i=this._layerLayerViewInfoMap.get(e);if(!i?.done)return!0;const t=i.layerView;return!(!t||!r||t.parent===r)||!!(i.done&&t&&\"layers\"in e&&e.layers?.length)&&e.layers.some((e=>this.isCreatingLayerViewsForLayer(e,t)))}_refreshCollections(){for(const[e,r]of this._layersToLayerViews)this._populateLayerViewsOwners(u(this,e),u(this,r),this.view);this.notifyChange(\"updating\"),this.notifyChange(\"updatingRemaining\")}_populateLayerViewsOwners(e,r,i){if(!e||!r)return void(r&&r.removeAll());let t=0;for(const s of e){const e=this._layerLayerViewInfoMap.get(s);if(!e?.layerView)continue;const a=e.layerView;a.layer=s,a.parent=i,r.at(t)!==a&&r.splice(t,0,a),\"layers\"in s&&v(a)&&this._populateLayerViewsOwners(s.layers,a.layerViews,a),t+=1}t{})),this.layerViewImporter.hasLayerViewModule(e)&&this.layerViewImporter.importLayerView(e);const r=new L(e,this.view,this.layerViewImporter);r.promise.then((()=>this._refreshCollections()),(r=>{r&&(n(r)||\"cancelled:layerview-create\"===r.name)||t.getLogger(this).error(`Failed to create layerview for layer title:'${e.title??\"no title\"}', id:'${e.id??\"no id\"}' of type '${e.type}'.`,{layer:e,error:r}),this._refreshCollections()})),this._layerLayerViewInfoMap.set(e,r),this.view.ready&&r.start(),this.notifyChange(\"updating\"),this.notifyChange(\"updatingRemaining\")}};e([m()],M.prototype,\"_workPromise\",void 0),e([m({readOnly:!0})],M.prototype,\"_watchUpdatingTracking\",void 0),e([m({readOnly:!0})],M.prototype,\"_layersToLayerViews\",null),e([m({readOnly:!0})],M.prototype,\"_rootCollectionNames\",null),e([m()],M.prototype,\"layerViewImporter\",void 0),e([m()],M.prototype,\"supportsGround\",void 0),e([m({readOnly:!0})],M.prototype,\"updating\",null),e([m({readOnly:!0})],M.prototype,\"updatingRemaining\",null),e([m({constructOnly:!0})],M.prototype,\"view\",void 0),M=e([f(\"esri.views.LayerViewManager\")],M);const I=M;function C(e){return\"createLayerView\"in e&&null!=e.createLayerView}export{I as default};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{_ as o}from\"../chunks/tslib.es6.js\";import t from\"../core/Accessor.js\";import{createScreenPoint as r}from\"../core/screenUtils.js\";import{property as e}from\"../core/accessorSupport/decorators/property.js\";import\"../core/has.js\";import\"../core/Logger.js\";import\"../core/RandomLCG.js\";import{subclass as s}from\"../core/accessorSupport/decorators/subclass.js\";let i=class extends t{constructor(o){super(o),this.factor=1.5,this.offset=r(0,0),this.position=null,this.size=120,this.maskUrl=null,this.maskEnabled=!0,this.overlayUrl=null,this.overlayEnabled=!0,this.visible=!0}get version(){return this.commitProperty(\"factor\"),this.commitProperty(\"offset\"),this.commitProperty(\"position\"),this.commitProperty(\"visible\"),this.commitProperty(\"size\"),this.commitProperty(\"maskUrl\"),this.commitProperty(\"maskEnabled\"),this.commitProperty(\"overlayUrl\"),this.commitProperty(\"overlayEnabled\"),(this._get(\"version\")||0)+1}};o([e({type:Number})],i.prototype,\"factor\",void 0),o([e({nonNullable:!0})],i.prototype,\"offset\",void 0),o([e()],i.prototype,\"position\",void 0),o([e({type:Number,range:{min:0}})],i.prototype,\"size\",void 0),o([e()],i.prototype,\"maskUrl\",void 0),o([e()],i.prototype,\"maskEnabled\",void 0),o([e()],i.prototype,\"overlayUrl\",void 0),o([e()],i.prototype,\"overlayEnabled\",void 0),o([e({readOnly:!0})],i.prototype,\"version\",null),o([e({type:Boolean})],i.prototype,\"visible\",void 0),i=o([s(\"esri.views.Magnifier\")],i);const p=i;export{p as default};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{_ as o}from\"../chunks/tslib.es6.js\";import{property as r}from\"../core/accessorSupport/decorators/property.js\";import\"../core/has.js\";import\"../core/Logger.js\";import\"../core/RandomLCG.js\";import{subclass as s}from\"../core/accessorSupport/decorators/subclass.js\";import e from\"./View2D.js\";let t=class extends e{constructor(o){super(o),this.view2dType=\"map\"}};o([r({readOnly:!0})],t.prototype,\"view2dType\",void 0),t=o([s(\"esri.views.MapView\")],t);const p=t;export{p as default};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{_ as p}from\"../chunks/tslib.es6.js\";import{createTask as e}from\"../core/asyncUtils.js\";import t from\"../core/Error.js\";import has from\"../core/has.js\";import o from\"../core/Logger.js\";import{throwIfAborted as i,wrapAbortWithTimeout as s,allSettledValues as r,createResolver as a}from\"../core/promiseUtils.js\";import{watch as u,initial as n,whenOnce as c}from\"../core/reactiveUtils.js\";import{property as h}from\"../core/accessorSupport/decorators/property.js\";import\"../core/RandomLCG.js\";import{subclass as l}from\"../core/accessorSupport/decorators/subclass.js\";import{ViewEventPriorities as d}from\"./input/InputManager.js\";function m(p){return null!=p&&\"open\"in p&&\"declaredClass\"in p}function f(p){return null!=p&&\"declaredClass\"in p&&\"dockOptions\"in p}const w=a=>{let w=class extends a{constructor(){super(...arguments),this._popupSetupTask=null,this.popup={},this.popupEnabled=!0}initialize(){this.addHandles([u((()=>[this.ui,this.popup]),(([p,e],t)=>{const o=\"popup\",i=\"manual\";if(t){const[p,e]=t;p&&m(e)&&(e.view=null,f(e)&&p.remove(e,o))}p&&m(e)&&(e.view=this,f(e)&&p.add(e,{key:o,position:i,internal:!0}))}),n),this.on(\"click\",(p=>{this.popup&&this.popupEnabled&&(\"mouse\"!==p.pointerType||0===p.button)&&(m(this.popup)?this.popup.viewModel.handleViewClick(p):p.async((async()=>{await this.setupPopup(),m(this.popup)&&!this.destroyed&&this.ready&&this.popupEnabled&&this.popup.viewModel.handleViewClick(p)})))}),d.WIDGET)]),c((()=>this.ready&&this.popupEnabled&&!this.updating)).then((()=>{import(\"../widgets/Popup.js\")}))}destroy(){this.destroyed||this.closePopup()}async openPopup(p){if(m(this.popup))return this.popup.open(p);try{if(await this.setupPopup(),!this.popup)return void o.getLogger(this).error(new t(\"view:null-popup\",\"Popup is null and can't be opened\"));this.popup.open(p)}catch{}}closePopup(){this._popupSetupTask?.abort(),m(this.popup)&&this.popup.close()}async fetchPopupFeatures(p,e){return await this.when(),this._popupHitsToFeatures(await this._getPopupHits(p,e),e)}async setupPopup(){if(this._popupSetupTask?.abort(),this.popup&&!m(this.popup))return this._popupSetupTask=e((async p=>{const{default:e}=await import(\"../widgets/Popup.js\");if(i(p),!this.popup||m(this.popup))return;const t=this.popup;delete t.open,delete t.close,this.popup=new e(t)})),this._popupSetupTask.promise}async _popupHitsToFeatures({location:p,hits:e},t){const o=[],i=[];let a=!1;const u=s(t,has(\"popup-view-fetch-timeout\")??P),n=p=>{const e=new y(p);return i.push(e),o.push(e.promise),e},c=p=>{const e=i.at(-1);return e&&e.layerView===p&&!a?e:n(p)};for(const s of e)if(\"graphic\"in s){c(s.layerView).graphics.push(s.graphic),a=!1}else o.push(s.layerView.fetchPopupFeaturesAtLocation(s.mapPoint,u)),a=!0;i.map((p=>p.resolve(u)));const h=r(o).then((p=>p.filter((p=>!!p)).flat()));return{pendingFeatures:o,allGraphicsPromise:h,location:p}}async _getPopupHits(p,e){const{hits:t,location:o}=await this.popupHitTest(p);i(e);const s=[];for(const i of t)if(\"graphic\"in i){if(this._isValidPopupGraphic(i.graphic,e)){const p=this._isValidPopupGraphicsLayerView(i.layerView)?i.layerView:void 0;s.push({graphic:i.graphic,layerView:p})}}else this._isValidPopupLocationLayerView(i.layerView)&&s.push({mapPoint:i.mapPoint,layerView:i.layerView});return{hits:s,location:o}}_isValidPopupGraphic(p,e){return p&&!!p.getEffectivePopupTemplate(e?.defaultPopupTemplateEnabled)}_isValidPopupGraphicsLayerView(p){return!p||(!(\"layer\"in p)||!p.suspended)&&\"fetchPopupFeaturesFromGraphics\"in p}_isValidPopupLocationLayerView(p){return(!(\"layer\"in p)||!p.suspended)&&\"fetchPopupFeaturesAtLocation\"in p}};return p([h()],w.prototype,\"popup\",void 0),p([h()],w.prototype,\"popupEnabled\",void 0),w=p([l(\"esri.views.PopupView\")],w),w};class y{constructor(p){this.layerView=p,this._resolver=a(),this.graphics=[]}get promise(){return this._resolver.promise}resolve(p){const{layerView:e,graphics:t,_resolver:o}=this;if(!e)return o.resolve(t),o.promise;let i;return e.fetchPopupFeaturesFromGraphics(t,p).catch((p=>(i=p,null))).then((p=>{p?o.resolve(p):o.reject(i)})),o.promise}}const P=5e3;export{w as PopupView};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{_ as e}from\"../chunks/tslib.es6.js\";import{difference as t,isSome as s}from\"../core/arrayUtils.js\";import i from\"../core/Collection.js\";import{referenceSetter as o}from\"../core/collectionUtils.js\";import n from\"../core/Evented.js\";import{getOrCreateMapValue as l}from\"../core/MapUtils.js\";import{removeMaybe as r}from\"../core/maybe.js\";import c from\"../core/ReactiveMap.js\";import{watch as a,on as h}from\"../core/reactiveUtils.js\";import{symmetricDifference as u}from\"../core/SetUtils.js\";import{property as d}from\"../core/accessorSupport/decorators/property.js\";import\"../core/has.js\";import\"../core/Logger.js\";import{subclass as p}from\"../core/accessorSupport/decorators/subclass.js\";import{isSubtypeGroupLayer as f,isSubtypeSublayer as g}from\"../layers/support/layerUtils.js\";import _ from\"../rest/support/Query.js\";import{isSelectableLayer as m}from\"./support/selectionUtils.js\";let y=class extends n.EventedAccessor{constructor(e){super(e),this._selectionMap=new c,this._sources=new i,this._trashCan=[],this._layerEditHandles=new i,this._vizTaskId=0,this.showHighlight=!0}initialize(){this.addHandles([a((()=>[this.view,this.showHighlight]),(()=>this._refreshVisualization())),h((()=>this.sources),\"change\",(e=>{const t=this._selectionMap;for(const s of e.removed)t.delete(s);this._refreshListeners(),this._refreshVisualization()}),{onListenerAdd:()=>this._refreshListeners()})]);const e=new i;this.view.when().then((()=>{this.view.map&&(this.view.map.allLayers.flatten((e=>\"sublayers\"in e&&e.sublayers?e.sublayers:null)).forEach((t=>{(m(t)&&!f(t)||g(t))&&e.add(t)})),this.sources=e)}))}destroy(){this._layerEditHandles.drain(r)}get selections(){return Array.from(this._selectionMap.entries()).map((e=>{const[t,s]=e;return{layer:t,selection:[...s.selection]}}))}get count(){let e=0;for(const t of this._selectionMap.values())e+=t.selection.length;return e}get hasSelection(){return this.count>0}get sources(){return this._sources}set sources(e){o(e,this._sources)}async getSelectedFeatures(e,t={},s=\"layerView\"){const{view:i,selections:o}=this,n=(void 0!==e?o.filter((t=>e.includes(t.layer))):o).filter((e=>e.selection.length>0)).map((async e=>{const{layer:o,selection:n}=e,l=g(o)?o.parent:o;if(null==l||!S(l))return null;if(\"layer\"===s)return M(l,n,t);if(v(l))return null;const r=await i.whenLayerView(l).catch((()=>null));return r?M(r,n,t):null}));return(await Promise.all(n)).filter((e=>null!=e))}updateSelection(e){const s=new Map;for(const[t,n]of this._selectionMap)s.set(t,[...n.selection]);let i=!1;const o=e.current.concat(e.added);for(const t of o){const e=t.sourceLayer,o=t.getObjectId();if(this.sources.includes(e)&&(m(e)||g(e))&&null!==o){const t=l(s,e,(()=>[]));t.includes(o)||(t.push(o),i=!0)}}for(const t of e.removed){const e=t.sourceLayer,o=t.getObjectId();if(this.sources.includes(e)&&(m(e)||g(e))&&null!==o){const t=s.get(e),n=t?.indexOf(o);void 0!==n&&n>=0&&(t?.splice(n,1),i=!0)}}if(i){const{_selectionMap:e,_trashCan:i}=this,o=[];for(const[n,l]of s){const s=e.get(n);void 0!==s&&i.push(s),e.set(n,{selection:l}),o.push({layer:n,selection:l,...t(void 0!==s?s.selection:[],l)})}this._onSelectionChange(o)}}setSelection(e,t){this._setSelection(e,t)}getSelection(e){const t=this._selectionMap.get(e);return t?.selection}appendToSelection(e,t){const s=this._selectionMap.get(e),i=void 0!==s?[...s.selection]:[];for(const o of t)i.includes(o)||i.push(o);this._setSelection(e,i)}removeFromSelection(e,t){const s=this._selectionMap.get(e);if(!s)return;const i=[];for(const o of s.selection)t.includes(o)||i.push(o);this._setSelection(e,i)}toggleInSelection(e,t){const s=this._selectionMap.get(e);if(!s||0===s.selection.length)return void this._setSelection(e,t);const i=new Set(s.selection),o=new Set(t),n=u(i,o);this._setSelection(e,Array.from(n))}clear(){const e=this._selectionMap.values();this._trashCan.push(...e);const t=[];for(const[s,i]of this._selectionMap.entries())t.push({layer:s,added:[],removed:[...i.selection],selection:[]});this._selectionMap.clear(),this._onSelectionChange(t)}_onSelectionChange(e){this._refreshVisualization(),this.emit(\"selection-change\",{view:this.view,changes:e})}_refreshVisualization(){if(null==this.view||null==this.sources)return;for(this._vizTaskId++;this._trashCan.length>0;){const e=this._trashCan.pop();e?.highlightHandle?.remove()}const{sources:e,view:t,_selectionMap:s,showHighlight:i}=this,o=this._vizTaskId;for(const n of e){const e=s.get(n),l=g(n)?n.parent:n;if(null!=l&&S(l)){if(v(l))continue;t.whenLayerView(l).then((t=>{e?.highlightHandle?.remove(),null!=e&&i&&o===this._vizTaskId&&\"highlight\"in t&&\"function\"==typeof t.highlight&&e.selection.length>0&&(e.highlightHandle=t.highlight(e.selection,\"selection\"))})).catch((()=>{e?.highlightHandle?.remove()}))}}}_refreshListeners(){this._layerEditHandles.drain(r);for(const e of this.sources){const t=g(e)?e.parent:e;if(null!=t&&m(t)){const s=t.on(\"edits\",(t=>{this._handleEditChanges(t,e)}));this._layerEditHandles.push(s)}}}_handleEditChanges(e,t){if(void 0!==e.deletedFeatures&&e.deletedFeatures.length>0&&this._selectionMap.has(t)){const i=e.deletedFeatures.filter((e=>null==e.error)).map((e=>e.objectId)).filter(s);this.removeFromSelection(t,i)}}_setSelection(e,s){if(!this.sources.includes(e))throw new Error(`Cannot set selection on layer ${e.title} because it is not in 'sources'`);const i=this._selectionMap.get(e);if(void 0===i||!j(i,{selection:s})){void 0!==i&&this._trashCan.push(i),this._selectionMap.set(e,{selection:[...s]});const o={layer:e,selection:[...s],...t(void 0!==i?i.selection:[],s)};this._onSelectionChange([o])}}};e([d({readOnly:!0,nonNullable:!0})],y.prototype,\"selections\",null),e([d({readOnly:!0,nonNullable:!0})],y.prototype,\"count\",null),e([d({constructOnly:!0,nonNullable:!0})],y.prototype,\"view\",void 0),e([d({readOnly:!0,nonNullable:!0})],y.prototype,\"hasSelection\",null),e([d()],y.prototype,\"showHighlight\",void 0),e([d()],y.prototype,\"sources\",null),y=e([p(\"esri.views.SelectionManager\")],y);const v=e=>g(e)?!0===e.parent?.isTable:e.isTable,w=e=>void 0!==e.layer,S=e=>void 0!==e?.when,j=(e,t)=>{if(null==e&&null==t)return!0;if(null!=e&&null==t||null==e&&null!=t)return!1;if(null!=e&&null!=t&&null!=e.selection&&null!=t.selection){const s=[...e.selection],i=[...t.selection];if(s.length!==i.length)return!1;s.sort(),i.sort();for(let e=0;e{let i;if(w(e)){const o=e;i=void 0===o?null:await o.queryFeatures(new _({...s,objectIds:t})).then((t=>({data:t,layer:e.layer})))}else{const o=e;i=void 0===o?null:await o.queryFeatures(new _({...s,objectIds:t})).then((e=>({data:e,layer:o})))}return i},b=y;export{b as default};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{_ as o}from\"../chunks/tslib.es6.js\";import r from\"../Color.js\";import e from\"../core/Accessor.js\";import{ClonableMixin as s}from\"../core/Clonable.js\";import{property as t}from\"../core/accessorSupport/decorators/property.js\";import\"../core/has.js\";import\"../core/Logger.js\";import\"../core/RandomLCG.js\";import{subclass as c}from\"../core/accessorSupport/decorators/subclass.js\";let p=class extends(s(e)){constructor(o){super(o),this.accentColor=new r([255,127,0]),this.textColor=new r([255,255,255])}};o([t({type:r,nonNullable:!0})],p.prototype,\"accentColor\",void 0),o([t({type:r,nonNullable:!0})],p.prototype,\"textColor\",void 0),p=o([c(\"esri.views.Theme\")],p);const l=p;export{l as default};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{_ as t}from\"../chunks/tslib.es6.js\";import o from\"../core/Accessor.js\";import{clock as e}from\"../core/clock.js\";import i from\"../core/Collection.js\";import\"../core/has.js\";import a from\"../core/Logger.js\";import{removeMaybe as r}from\"../core/maybe.js\";import{watch as s}from\"../core/reactiveUtils.js\";import{property as n}from\"../core/accessorSupport/decorators/property.js\";import\"../core/RandomLCG.js\";import{subclass as l}from\"../core/accessorSupport/decorators/subclass.js\";import{UpdatingHandles as h}from\"../core/support/UpdatingHandles.js\";import{ViewEventPriorities as c}from\"./input/InputManager.js\";import{eventTypes as u}from\"./input/ViewEvents.js\";import{getToolCollectionHandles as p,areToolManipulatorsEditable as m}from\"./interactive/interactiveToolUtils.js\";import{EditableFlag as d}from\"./interactive/interfaces.js\";import{ToolViewManagerManipulatorState as v}from\"./interactive/ToolViewManagerManipulatorState.js\";const _=\"attached\",g=\"tools\",T=1e3;let f=class extends o{constructor(t){super(t),this._updatingHandles=new h,this._clock=e,this._manipulatorState=new v,this.tools=new i,this.cursor=null,this._interacting=!1,this._interactingTimeout=T,this._interactingTimeoutHandle=null,this._forEachTool=t=>{for(const o of this.tools.items)if(t(o))return}}initialize(){this.addHandles([this.view.on(u,(t=>{this._handleInputEvent(t)}),c.TOOL),...p(this.tools),this.tools.on(\"before-add\",(({item:t})=>{this._updateToolEditableFlag(t)})),this.tools.on(\"before-remove\",(({item:t})=>{this._manipulatorState.clearPointers(t,this._manipulatorStateEventArgs),this._updateCursor()})),this.tools.on(\"change\",(()=>{this._refreshToolWatchers()}))])}destroy(){this.activeTool=null,this.tools.drain((t=>t.destroy())),this._clearInteractingTimeout(),this._interacting=!1,this._updatingHandles.destroy()}get _manipulatorStateEventArgs(){return{forEachTool:this._forEachTool,activeTool:this.activeTool,setActiveTool:t=>{this.activeTool=t},view:this.view}}set activeTool(t){if(null!=t&&!this.view.ready)return void a.getLogger(this).error(\"Cannot set active tool while view is not ready.\");if(t===this.activeTool)return;const o=this.activeTool;this._set(\"activeTool\",t),null!=o&&o.deactivate(),null!=t&&t.activate(),this._removeIncompleteTools(t);for(const e of this.tools){this._updateToolEditableFlag(e);const t=m(e);null!=this.activeTool&&t||this._manipulatorState.clearPointers(e,this._manipulatorStateEventArgs,!t)}this._updateCursor()}get updating(){return this._updatingHandles.updating||this.tools.some((t=>t.updating))}get interacting(){return this._interacting}_clearInteractingTimeout(){this._interactingTimeoutHandle=r(this._interactingTimeoutHandle)}_startInteractingTimeout(){this._clearInteractingTimeout(),this._interactingTimeoutHandle=this._clock.setTimeout((()=>this._interacting=!1),this._interactingTimeout)}attach(){\"3d\"===this.view.type?this.addHandles([s((()=>{const{state:t}=this.view;return\"camera\"in t&&t.camera}),(()=>this._forEachManipulator((t=>t.onViewChange())))),this.view.elevationProvider?.on(\"elevation-change\",(t=>this._forEachManipulator((o=>o.onElevationChange(t)))))],_):this.addHandles(s((()=>this.view.extent),(()=>this._forEachManipulator((t=>t.onViewChange())))))}detach(){this.activeTool=null,this.tools.removeAll(),this.removeHandles(_),this._clearInteractingTimeout(),this._interacting=!1}_forEachManipulator(t){this._forEachTool((o=>{o.manipulators&&o.manipulators.forEach((({manipulator:e})=>t(e,o)))}))}_handleInputEvent(t){let o=!1;const e={...t,stopPropagation:()=>{o=!0,t.stopPropagation()}};null!=this.activeTool?this.activeTool.handleInputEvent&&this.activeTool.handleInputEvent(e):this._forEachTool((t=>{!o&&t.visible&&t.handleInputEvent(e)})),!o&&\"key-down\"===t.type&&\"Escape\"===t.key&&this.activeTool&&(t.stopPropagation(),this.activeTool=null),this._manipulatorState.handleInputEvent(e,this._manipulatorStateEventArgs),o||null==this.activeTool||this.activeTool.handleInputEventAfter(e),this._manipulatorState.handleHoverEvent(e,this._forEachTool),this._updateCursor(),\"pointer-move\"===t.type&&(this._manipulatorState.hasFocusedManipulators()||this.activeTool)&&(this._interacting=!0,this._startInteractingTimeout())}_refreshToolWatchers(){this.removeHandles(g),this._forEachTool((t=>{if(t instanceof o){const o=s((()=>[t.cursor,t.visible,t.editable]),(()=>{m(t)||this._manipulatorState.clearPointers(t,this._manipulatorStateEventArgs),this._updateCursor()}));this.addHandles(o,g)}t.manipulators&&this.addHandles([t.manipulators.on(\"after-remove\",(o=>{this._manipulatorState.clearPointers(t,this._manipulatorStateEventArgs,!0,o.item.manipulator)})),t.manipulators.on(\"change\",(()=>{this._manipulatorState.updateHoveredStateFromKnownPointers(this._forEachTool),this._updateCursor()}))],g)})),this._manipulatorState.updateHoveredStateFromKnownPointers(this._forEachTool),this._updateCursor()}_updateToolEditableFlag(t){t.setEditableFlag?.(d.MANAGER,null==this.activeTool||t===this.activeTool)}_updateCursor(){let t=this._manipulatorState.cursor;null==t&&this._forEachTool((o=>!(null==o.cursor||!o.visible)&&(t=o.cursor,!0))),this._get(\"cursor\")!==t&&this._set(\"cursor\",t)}_removeIncompleteTools(t){this.tools.filter((o=>(null==t||o!==t)&&!o.created&&o.removeIncompleteOnCancel)).forEach((t=>{this.tools.remove(t)}))}get test(){}};t([n({constructOnly:!0,nonNullable:!0})],f.prototype,\"view\",void 0),t([n({value:null})],f.prototype,\"activeTool\",null),t([n({readOnly:!0,type:i})],f.prototype,\"tools\",void 0),t([n({readOnly:!0})],f.prototype,\"cursor\",void 0),t([n({readOnly:!0})],f.prototype,\"updating\",null),t([n()],f.prototype,\"_interacting\",void 0),t([n({readOnly:!0})],f.prototype,\"interacting\",null),f=t([l(\"esri.views.ToolViewManager\")],f);export{f as ToolViewManager,T as interactingTimeout};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{_ as e}from\"../chunks/tslib.es6.js\";import t from\"../Map.js\";import i from\"../core/Accessor.js\";import{createTask as r}from\"../core/asyncUtils.js\";import s from\"../core/Collection.js\";import o from\"../core/CollectionFlattener.js\";import a from\"../core/Error.js\";import n from\"../core/Evented.js\";import l from\"../core/Handles.js\";import{makeHandle as p}from\"../core/handleUtils.js\";import\"../core/has.js\";import h from\"../core/Loadable.js\";import d from\"../core/Logger.js\";import{destroyMaybe as u,abortMaybe as c}from\"../core/maybe.js\";import{EsriPromiseMixin as y}from\"../core/Promise.js\";import{after as m}from\"../core/promiseUtils.js\";import{watch as g,whenOnce as f,when as w,sync as v,syncAndInitial as M}from\"../core/reactiveUtils.js\";import{property as V}from\"../core/accessorSupport/decorators/property.js\";import\"../core/RandomLCG.js\";import{subclass as _}from\"../core/accessorSupport/decorators/subclass.js\";import{owningCollectionProperty as R}from\"../core/support/OwningCollection.js\";import{UpdatingHandles as j}from\"../core/support/UpdatingHandles.js\";import S from\"../geometry/Extent.js\";import E from\"../geometry/HeightModelInfo.js\";import T from\"../geometry/SpatialReference.js\";import{equals as F}from\"../geometry/support/spatialReferenceUtils.js\";import{AnalysesCollection as x}from\"../support/AnalysesCollection.js\";import{GraphicsCollection as b}from\"../support/GraphicsCollection.js\";import L from\"../time/TimeExtent.js\";import{system as k,isTimeZoneValid as O}from\"../time/timeZoneUtils.js\";import C from\"./BasemapView.js\";import Z from\"./LayerViewManager.js\";import I from\"./Magnifier.js\";import D from\"./SelectionManager.js\";import H from\"./Theme.js\";import{ToolViewManager as P}from\"./ToolViewManager.js\";import q from\"./input/Input.js\";import{ViewEvents as U}from\"./input/ViewEvents.js\";import A from\"./navigation/Navigation.js\";import{DefaultsFromMap as z}from\"./support/DefaultsFromMap.js\";var W;let G=W=class extends(n.EventedMixin(y(i))){constructor(e){super(e),this._userSpatialReference=null,this._cursor=null,this.handles=new l,this.updatingHandles=new j,this.allLayerViews=new o({getCollections:()=>[this.basemapView?.baseLayerViews,this.groundView?.layerViews,this.layerViews,this.basemapView?.referenceLayerViews],getChildrenFunction:B}),this.groundView=null,this.basemapView=null,this.fatalError=null,this.graphics=new b,this.analyses=new x,this.typeSpecificPreconditionsReady=!0,this.layerViews=new s,this.magnifier=new I,this.padding={left:0,top:0,right:0,bottom:0},this.ready=!1,this.spatialReferenceWarningDelay=1e3,this.supportsGround=!0,this.type=null,this.scale=null,this.updating=!1,this.initialExtentRequired=!0,this.input=new q,this.navigation=new A,this.layerViewManager=null,this.analysisViewManager=null,this.isHeightModelInfoRequired=!1,this.width=null,this.height=null,this.resizing=!1,this.suspended=!1,this.viewEvents=new U(this),this.persistableViewModels=new s,this._isValid=!1,this._readyCycleForced=!1,this._lockedSpatialReference=null,this._userTimeZone=null,this._lockedTimeZone=null,this._userTimeExtent=null,this._lockedTimeExtent=null,this.theme=null,this.handles.add(g((()=>this.preconditionsReady),(e=>{const t=this.ready;if(e?(this._lockedSpatialReference=this.spatialReference,this._lockedTimeZone=this.timeZone,this._lockedTimeExtent=this.timeExtent,W.views.add(this)):(this._lockedSpatialReference=null,W.views.remove(this)),this.notifyChange(\"spatialReference\"),!e&&t)this.toolViewManager?.detach(),null!=this.analysisViewManager&&this.analysisViewManager.detach(),this.layerViewManager?.clear(),this._teardown();else if(e&&!t){try{this._startup()}catch(i){return void queueMicrotask((()=>{this.fatalError=new a(\"startup-error\",null,i)}))}null!=this.analysisViewManager&&this.analysisViewManager.attach(),this.toolViewManager.attach()}}),v))}initialize(){this.addResolvingPromise(Promise.all([this.loadAsyncDependencies(),this.validate()]).then((()=>(this._isValid=!0,f((()=>this.ready)))))),this.basemapView=new C({view:this}),this.layerViewManager=new Z({view:this,layerViewImporter:{importLayerView:e=>this.importLayerView(e),hasLayerViewModule:e=>this.hasLayerViewModule(e)},supportsGround:this.supportsGround}),this.toolViewManager=new P({view:this}),this._setupSpatialReferenceLogger(),this.selectionManager=new D({view:this}),this.addHandles([g((()=>this.initialExtentRequired),(e=>this.defaultsFromMap.required={...this.defaultsFromMap.required,extent:e}),M),g((()=>this.ready),(e=>{this.defaultsFromMap&&(this.defaultsFromMap.suspended=e,this.defaultsFromMap.userSpatialReference=e?this.spatialReference:this._userSpatialReference)}),v),g((()=>this._userSpatialReference),(e=>{this.defaultsFromMap&&(this.defaultsFromMap.userSpatialReference=e)}),M)])}_setupSpatialReferenceLogger(){let e=null;this.addHandles([g((()=>this.defaultsFromMap?.ready),(t=>{const i=this.map?.allLayers.length>0;if(t&&!this.spatialReference&&i){if(null!=e)return;const t=p((()=>e=c(e)));e=r((async t=>{try{await m(this.spatialReferenceWarningDelay,null,t)}catch{return}finally{e=null}d.getLogger(this).warn(\"#spatialReference\",\"no spatial reference could be derived from the currently added map layers\")})),this.addHandles(t,\"spatial-reference-logger-task\")}else this.removeHandles(\"spatial-reference-logger-task\")}),{sync:!0})])}destroy(){this.destroyed||(W.views.remove(this),this.viewEvents.destroy(),this.allLayerViews.destroy(),this.navigation&&(this.navigation.destroy(),this._set(\"navigation\",null)),this.graphics=u(this.graphics),this.analyses=u(this.analyses),this.defaultsFromMap.destroy(),this._set(\"defaultsFromMap\",null),u(this.analysisViewManager),this.toolViewManager=u(this.toolViewManager),this.layerViewManager=u(this.layerViewManager),this.selectionManager=u(this.selectionManager),this.basemapView=u(this.basemapView),this.groundView?.destroy(),this.layerViews?.forEach((e=>e.destroy())),this.layerViews.length=0,this.invalidate(),this._emitter.clear(),this.handles.destroy(),this.map=u(this.map),this.updatingHandles.destroy())}_startup(){this._set(\"ready\",!0)}_teardown(){this._set(\"ready\",!1)}whenReady(){return Promise.resolve(this)}toMap(){return d.getLogger(this).error(\"#toMap()\",\"Not implemented on this instance of View\"),null}get activeTool(){return this.toolViewManager?.activeTool}set activeTool(e){this.toolViewManager&&(this.toolViewManager.activeTool=e)}get animation(){return this._get(\"animation\")}set animation(e){this._set(\"animation\",e)}get center(){return null}get defaultsFromMapSettings(){return{}}get defaultsFromMap(){return new z({required:{tileInfo:!1,heightModelInfo:!1,extent:!1},map:()=>this.map,getSpatialReferenceSupport:(e,t)=>this.getSpatialReferenceSupport(e,t),...this.defaultsFromMapSettings})}get extent(){return this._get(\"extent\")}set extent(e){this._set(\"extent\",e)}get heightModelInfo(){return this.getDefaultHeightModelInfo()}get interacting(){return this.navigating}get navigating(){return!1}get preconditionsReady(){return!(this.fatalError||!this._isValid||this._readyCycleForced||!this.map||h.isLoadable(this.map)&&!this.map.loaded||0===this.width||0===this.height||!this.spatialReference||!this._validateSpatialReference(this.spatialReference)||!this._lockedSpatialReference&&!this.defaultsFromMap?.ready||!this.typeSpecificPreconditionsReady)}get resolution(){return 0}set map(e){e!==this._get(\"map\")&&(e?.destroyed&&(d.getLogger(this).warn(\"#map\",\"The provided map is already destroyed\",{map:e}),e=null),h.isLoadable(e)&&e.load().catch((()=>{})),this.constructed&&!this.destroyed&&(this.forceReadyCycle(),this._lockedSpatialReference=null),this._set(\"map\",e))}get spatialReference(){const e=this._userSpatialReference||this._lockedSpatialReference||this.getDefaultSpatialReference()||null;if(e&&this.defaultsFromMap?.required?.heightModelInfo){const t=e.clone();return t.vcsWkid=this.defaultsFromMap.vcsWkid,t.latestVcsWkid=this.defaultsFromMap.latestVcsWkid,t}return e}set spatialReference(e){const t=!F(e,this._get(\"spatialReference\"));this._set(\"_userSpatialReference\",e),t&&(this._set(\"spatialReference\",e),this._spatialReferenceChanged(e))}_spatialReferenceChanged(e){}get stationary(){return!this.animation&&!this.navigating&&!this.resizing}get timeExtent(){return this._userTimeExtent??this._lockedTimeExtent??this.getDefaultTimeExtent()??null}set timeExtent(e){this._userTimeExtent=e}get timeZone(){return this._userTimeZone??this._lockedTimeZone??this.getDefaultTimeZone()??k}set timeZone(e){this._userTimeZone=e,O(e)||d.getLogger(this).warn(\"#timeZone\",`the parsed value '${e}' may not be a valid IANA time zone`)}get tools(){return this.toolViewManager?.tools}get initialExtent(){return this.defaultsFromMap?.extent}get cursor(){return this.toolViewManager?.cursor??this._cursor??\"default\"}set cursor(e){this._cursor=e,this.notifyChange(\"cursor\")}get size(){return[this.width,this.height]}get effectiveTheme(){return this.theme??new H}whenLayerView(e){return this.layerViewManager?.whenLayerView(e)??Promise.reject()}getDefaultSpatialReference(){return this.defaultsFromMap?.spatialReference}getDefaultHeightModelInfo(){return(this.map&&\"heightModelInfo\"in this.map?this.map.heightModelInfo:void 0)??this.defaultsFromMap?.heightModelInfo??null}getDefaultTimeZone(){return null}getDefaultTimeExtent(){return null}importLayerView(e){throw new a(\"importLayerView() not implemented\")}hasLayerViewModule(e){return!1}async validate(){}async loadAsyncDependencies(){}invalidate(){this._isValid=!1}getSpatialReferenceSupport(){return{constraints:null}}_validateSpatialReference(e){return null!=this.getSpatialReferenceSupport(e)}when(e,t){return this.isResolved()&&!this.ready&&d.getLogger(this).warn(\"#when()\",\"Calling view.when() while the view is no longer ready but was already resolved once will resolve immediately. Use reactiveUtils.whenOnce(() => view.ready).then(...) instead.\"),super.when(e,t)}forceReadyCycle(){this.ready&&(w((()=>this.destroyed||!1===this.preconditionsReady),(()=>this._readyCycleForced=!1),{once:!0}),this._readyCycleForced=!0)}addAndActivateTool(e){this.toolViewManager.tools.add(e),this.activeTool=e}tryFatalErrorRecovery(){this.fatalError=null}};G.views=new s,e([V()],G.prototype,\"_userSpatialReference\",void 0),e([V()],G.prototype,\"activeTool\",null),e([V({readOnly:!0})],G.prototype,\"allLayerViews\",void 0),e([V()],G.prototype,\"groundView\",void 0),e([V()],G.prototype,\"animation\",null),e([V()],G.prototype,\"basemapView\",void 0),e([V()],G.prototype,\"center\",null),e([V()],G.prototype,\"defaultsFromMapSettings\",null),e([V()],G.prototype,\"defaultsFromMap\",null),e([V()],G.prototype,\"fatalError\",void 0),e([V({type:S})],G.prototype,\"extent\",null),e([V(R(b,\"graphics\"))],G.prototype,\"graphics\",void 0),e([V(R(x,\"analyses\"))],G.prototype,\"analyses\",void 0),e([V({readOnly:!0,type:E})],G.prototype,\"heightModelInfo\",null),e([V({readOnly:!0})],G.prototype,\"interacting\",null),e([V({readOnly:!0})],G.prototype,\"navigating\",null),e([V({readOnly:!0,dependsOn:[\"fatalError\",\"_isValid\",\"_readyCycleForced\",\"map\",\"map.loaded?\",\"width\",\"height\",\"spatialReference\",\"_lockedSpatialReference\",\"defaultsFromMap.ready\",\"typeSpecificPreconditionsReady\"]})],G.prototype,\"preconditionsReady\",null),e([V({readOnly:!0})],G.prototype,\"typeSpecificPreconditionsReady\",void 0),e([V({type:s,readOnly:!0})],G.prototype,\"layerViews\",void 0),e([V()],G.prototype,\"resolution\",null),e([V({type:I})],G.prototype,\"magnifier\",void 0),e([V({value:null,type:t})],G.prototype,\"map\",null),e([V()],G.prototype,\"padding\",void 0),e([V({readOnly:!0})],G.prototype,\"ready\",void 0),e([V({type:T})],G.prototype,\"spatialReference\",null),e([V()],G.prototype,\"spatialReferenceWarningDelay\",void 0),e([V()],G.prototype,\"stationary\",null),e([V({readOnly:!0})],G.prototype,\"supportsGround\",void 0),e([V({type:L})],G.prototype,\"timeExtent\",null),e([V({type:String,nonNullable:!0})],G.prototype,\"timeZone\",null),e([V()],G.prototype,\"tools\",null),e([V()],G.prototype,\"toolViewManager\",void 0),e([V({readOnly:!0})],G.prototype,\"type\",void 0),e([V({type:Number})],G.prototype,\"scale\",void 0),e([V({readOnly:!0})],G.prototype,\"updating\",void 0),e([V({readOnly:!0})],G.prototype,\"initialExtentRequired\",void 0),e([V({readOnly:!0})],G.prototype,\"initialExtent\",null),e([V()],G.prototype,\"cursor\",null),e([V({readOnly:!0})],G.prototype,\"input\",void 0),e([V({type:A,nonNullable:!0})],G.prototype,\"navigation\",void 0),e([V()],G.prototype,\"layerViewManager\",void 0),e([V()],G.prototype,\"analysisViewManager\",void 0),e([V()],G.prototype,\"selectionManager\",void 0),e([V()],G.prototype,\"width\",void 0),e([V()],G.prototype,\"height\",void 0),e([V({readOnly:!0})],G.prototype,\"resizing\",void 0),e([V({value:null,readOnly:!0})],G.prototype,\"size\",null),e([V({readOnly:!0})],G.prototype,\"suspended\",void 0),e([V({readOnly:!0})],G.prototype,\"viewEvents\",void 0),e([V({readOnly:!0})],G.prototype,\"persistableViewModels\",void 0),e([V()],G.prototype,\"_isValid\",void 0),e([V()],G.prototype,\"_readyCycleForced\",void 0),e([V()],G.prototype,\"_lockedSpatialReference\",void 0),e([V()],G.prototype,\"_userTimeZone\",void 0),e([V()],G.prototype,\"_lockedTimeZone\",void 0),e([V()],G.prototype,\"_userTimeExtent\",void 0),e([V()],G.prototype,\"_lockedTimeExtent\",void 0),e([V({type:H})],G.prototype,\"theme\",void 0),e([V({readOnly:!0,type:H})],G.prototype,\"effectiveTheme\",null),G=W=e([_(\"esri.views.View\")],G);const N=globalThis.$arcgis;N&&!N.views&&Object.defineProperty(N,\"views\",{configurable:!1,enumerable:!0,writable:!1,value:G.views});const $=G;function B(e){return e.layerViews}export{$ as default};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{_ as e}from\"../chunks/tslib.es6.js\";import\"../geometry.js\";import t from\"../Viewpoint.js\";import i from\"../core/Collection.js\";import r from\"../core/CollectionFlattener.js\";import s from\"../core/Error.js\";import has from\"../core/has.js\";import a from\"../core/Logger.js\";import{destroyMaybe as n}from\"../core/maybe.js\";import{watch as o,sync as l,syncAndInitial as p}from\"../core/reactiveUtils.js\";import{initialize as h}from\"../core/workers/workers.js\";import{property as g}from\"../core/accessorSupport/decorators/property.js\";import{cast as d}from\"../core/accessorSupport/decorators/cast.js\";import\"../core/RandomLCG.js\";import{subclass as u}from\"../core/accessorSupport/decorators/subclass.js\";import{ensureClass as c}from\"../core/accessorSupport/ensureType.js\";import{isLoadedOrLoadFor as m}from\"../geometry/projection.js\";import y from\"../layers/support/TileInfo.js\";import{BreakpointsOwner as f}from\"./BreakpointsOwner.js\";import{DOMContainer as w}from\"./DOMContainer.js\";import{PopupView as V}from\"./PopupView.js\";import M from\"./View.js\";import v from\"./2d/AnimationManager.js\";import b from\"./2d/FrameTask.js\";import{GoToManager as _}from\"./2d/GoToManager.js\";import{layerView2DImporter as j}from\"./2d/layerViewModuleImportUtils.js\";import S from\"./2d/MapViewConstraints.js\";import T from\"./2d/tiling/TileInfoView.js\";import\"./2d/tiling/TileKey.js\";import\"./2d/tiling/TileQueue.js\";import\"./2d/tiling/TileStrategy.js\";import{extentToScale as O}from\"./2d/viewpointUtils.js\";import{ViewStateManager as L}from\"./2d/ViewStateManager.js\";import R from\"./2d/input/MapViewInputManager.js\";import k from\"./2d/layers/features/support/TileStore.js\";import{createOrReuseHighlightGradient as C}from\"./2d/layers/support/util.js\";import{clipContainsPoint as x}from\"./2d/support/clippingUtils.js\";import{HighlightGroup as D}from\"./2d/support/HighlightGroup.js\";import{createInitialHighlightGroups as E,getDefaultHighlightOptions as G,setDefaultHighlightOptions as P}from\"./2d/support/highlightGroupUtils.js\";import z from\"./2d/support/HighlightOptions.js\";import{hitTest as A}from\"./2d/support/hitTestUtils.js\";import{takeRawScreenshot as U,takeScreenshot as q}from\"./2d/support/screenshotUtils.js\";import{StationaryManager as I}from\"./2d/support/StationaryManager.js\";import{Timeline as F}from\"./2d/support/Timeline.js\";import{isSupportedScreenPointEvent as N,createScreenPointFromSupportedEvent as W}from\"./support/screenUtils.js\";import{check as $}from\"./support/WebGLRequirements.js\";import H from\"./ui/DefaultUI.js\";import B from\"./ui/2d/DefaultUI2D.js\";import{isWebMap as Z}from\"../webmap/utils.js\";import J from\"../webmap/background/ColorBackground.js\";import K from\"../geometry/Polygon.js\";let Q,X,Y,ee,te,ie,re;async function se(){const[,{GraphicsView2D:e,GraphicContainer:t,LabelManager:i,MapViewNavigation:r,MagnifierView2D:s,GridView2D:a,Stage:n}]=await Promise.all([import(\"./2d/webglDeps.js\"),import(\"./2d/mapViewDeps.js\")]);X=e,Y=t,ee=i,te=r,ie=s,re=a,Q=n}let ae=class extends(f(V(w(M)))){constructor(e){super(e),this._magnifierView=null,this._gridView=null,this.stage=null,this._resolveWhenReady=[],this.rootLayerViews=new r({getCollections:()=>[this.basemapView?.baseLayerViews,this.layerViews,this.basemapView?.referenceLayerViews],getChildrenFunction:()=>null}),this.featuresTilingScheme=null,this.fullOpacity=1,this.goToManager=new _({view:this}),this.graphicsView=null,this.stateManager=new L({constraints:new S({view:this})}),this.stationaryManager=new I,this.labelManager=null,this.mapViewNavigation=null,this.renderingOptions={samplingMode:\"dynamic\",edgeLabelsVisible:!0,labelsAnimationTime:125,labelCollisionsEnabled:!0},this.supersampleScreenshotsEnabled=!0,this.supportsGround=!1,this.frameTask=new b(this),this.floors=new i,this.grid=null,this.highlights=E(),this.inputManager=new R({view:this}),this.map=null,this.spatialReferenceLocked=!1,this.timeline=new F,this.type=\"2d\",this.view2dType=null,this.ui=new B,this.test={takeScreenshot:async e=>U(this._getScreenshotView(e),e)},this.padding={top:0,right:0,bottom:0,left:0},this.addHandles([o((()=>this.viewpoint),(()=>this.stationaryManager.flip()),l),this.on(\"resize\",(e=>this.stateManager.resize(e.width,e.height)))]),h()}destroy(){this.layerViewManager.clear(),this._set(\"preconditionsReady\",!1),this.frameTask=n(this.frameTask),this.goToManager.destroy(),this.rootLayerViews.destroy(),this.inputManager.destroy(),this._set(\"inputManager\",null)}get graphicsTileStore(){return new k(this.featuresTilingScheme)}get constraintsInfo(){const e=this.defaultsFromMap?.tileInfo,t=this.spatialReference;return{lods:e?.spatialReference?.equals(t)?e.lods:null,spatialReference:t}}get state(){return this.stateManager.state}get initialExtentRequired(){if(!this.stateManager)return!1;const{scale:e,constraints:t,center:i,viewpoint:r,extent:s}=this;let a=this.zoom;return!(this.map&&\"initialViewProperties\"in this.map&&this.map.initialViewProperties?.viewpoint)&&(!s&&(t?.effectiveLODs||(a=-1),(!i||0===e&&-1===a)&&(null==r?.targetGeometry||\"extent\"!==r.targetGeometry.type&&!r.scale)))}get defaultsFromMapSettings(){return{required:{extent:!1,heightModelInfo:!1,tileInfo:!0},requiresExtentInSpatialReference:this.spatialReferenceLocked}}get scheduler(){return this.frameTask.scheduler}get typeSpecificPreconditionsReady(){const e=this._getDefaultViewpoint();if(!e)return!1;const t=e.targetGeometry,i=this.spatialReference;return m(t.spatialReference,i)}set animation(e){const t=this._get(\"animation\");if(e===t)return;if(t&&t.stop(),e!==this.animationManager.animation&&this.animationManager.stop(),!e||e.isFulfilled())return void this._set(\"animation\",null);this._set(\"animation\",e);const i=()=>{this.destroyed||e===this._get(\"animation\")&&(this._set(\"animation\",null),this.frameTask?.requestFrame())};e.when(i,i)}get background(){return Z(this.map)?this.map.initialViewProperties.background:null}set background(e){this._override(\"background\",e)}get center(){return this.stateManager?.center??null}set center(e){this.stateManager.center=e}get constraints(){return this.stateManager?.constraints}set constraints(e){e.view=this;const t=this.stateManager.constraints;this.stateManager.constraints=e,t?.destroy()}get extent(){return this.stateManager?.extent??null}set extent(e){this.stateManager.extent=e}get highlightOptions(){return G(this)}set highlightOptions(e){P(this,e)}get padding(){return this.stateManager?.padding}set padding(e){this.stateManager&&(this.stateManager.padding=e)}get rendering(){return this.stage?.renderRequested??!1}get resizeAlign(){return this.stateManager.resizeAlign}set resizeAlign(e){this.stateManager.resizeAlign=e}get resolution(){return this.stateManager.resolution??0}get rotation(){return this.stateManager.rotation??0}set rotation(e){const{rotationEnabled:t}=this.constraints;this.constraints.rotationEnabled=!0,this.stateManager.rotation=e,this.constraints.rotationEnabled=t}get scale(){return this.stateManager?.scale??0}set scale(e){this.stateManager&&(this.stateManager.scale=e)}get stationary(){return!this.animation&&!this.navigating&&!this.resizing&&this.stationaryManager.stationary}get tileInfo(){return this.featuresTilingScheme?.tileInfo}get updating(){const e=!(!this.magnifier.visible||null===this.magnifier.position||!this._magnifierView?.updatingHandles.updating),t=!this.destroyed&&(!this.layerViewManager||!this.labelManager||!this.graphicsView||!0===this.layerViewManager.updating||!0===this.labelManager.updating||!0===this.graphicsView.updating||this.allLayerViews.some((e=>!e.destroyed&&!(\"layerViews\"in e)&&!0===e.updating))||e);if(has(\"esri-2d-log-updating\")){const i=this.allLayerViews.reduce(((e,t)=>({...e,[`${t.layer.id}(${t.layer.type})`]:!t.destroyed&&!(\"layerViews\"in t)&&t.updating})),{});console.log(`Updating MapView: ${t}\\n-> Null LayerViewManager: ${!this.layerViewManager}\\n-> Null LabelManager: ${!this.labelManager}\\n-> Null GraphicsView: ${!this.graphicsView}\\n-> layerViewManager.updating: ${this.layerViewManager?.updating}\\n-> labelManager.updating: ${this.labelManager?.updating}\\n-> graphicsView.updating: ${this.graphicsView?.updating}\\n-> allLayerViews: ${JSON.stringify(i)}\\n-> updatingMagnifier: ${e}\\n`)}return t}get viewpoint(){return this.stateManager.viewpoint??null}set viewpoint(e){this.stateManager.viewpoint=e,this.frameTask.requestFrame()}get visibleArea(){const e=this.stateManager.visibleArea;return e?new K({rings:[e.map((e=>[e[0],e[1]]))],spatialReference:this.spatialReference}):e}get zoom(){return this.stateManager.zoom??-1}set zoom(e){this.stateManager.zoom=e}get navigating(){return this.mapViewNavigation?.interacting??!1}goTo(e,t){return this.goToManager.goTo(e,t)}async hitTest(e,t){return A(this,e,t)}async takeScreenshot(e){return q(this._getScreenshotView(e),e)}toMap(e){if(!this.ready)return null;const t=N(e)?W(this,e):e;return this.stateManager.toMap(t)}toScreen(e,t){return this.stateManager.toScreen(e,t)}on(e,t,i,r){const s=this.inputManager&&this.viewEvents.on(e,t,i,r);return s||super.on(e,t)}hasEventListener(e){return super.hasEventListener(e)||this.viewEvents.hasHandler(e)}whenLayerView(e){return super.whenLayerView(e)}graphicChanged(e){if(this.graphicsView){this.graphicsView.graphicUpdateHandler(e)}}whenReady(){return new Promise((e=>{this.ready?e(this):this._resolveWhenReady.push(e)}))}forceDOMReadyCycle(){this.forceReadyCycle()}getDefaultSpatialReference(){return this.map&&\"initialViewProperties\"in this.map&&this.map.initialViewProperties.spatialReference||this.defaultsFromMap?.spatialReference||null}getDefaultTimeZone(){return Z(this.map)?this.map.initialViewProperties.timeZone:null}getDefaultTimeExtent(){return Z(this.map)?this.map.initialViewProperties.timeExtent:null}hasLayerViewModule(e){return j.hasLayerViewModule(e)}importLayerView(e){return j.importLayerView(e)}pixelSizeAt(){return this.ready?this.resolution:(a.getLogger(this).error(\"#pixelSizeAt()\",\"Map view cannot be used before it is ready\"),null)}async popupHitTest(e){const t=this.toMap(e),i=await this.hitTest(e),r=this.allLayerViews.toArray().filter((i=>i.clips.every((i=>x(this,i,e,t))))).reverse(),s=new globalThis.Map(r.map((e=>[e.layer.uid,e]))),a=[];let n=0,o=0;for(;nthis._updateStageChildren())),t.on(\"webgl-error\",(e=>this.fatalError=e.error)),o((()=>this.stationary),(e=>t.stationary=e),p),o((()=>this.background),(e=>{t.backgroundColor=e?.color,this._magnifierView.backgroundColor=e?.color}),p),o((()=>this.magnifier),(e=>this._magnifierView.magnifier=e),p),o((()=>this.grid),(e=>this._gridView.grid=e),p),o((()=>this.renderingOptions),(e=>t.renderingOptions=e),p),o((()=>this.highlights.items.map((e=>({name:e.name,options:{fillColor:e.options.color,haloColor:e.options.haloColor,fillOpacity:e.options.fillOpacity,haloOpacity:e.options.haloOpacity,haloWidth:e.options.haloWidth,haloBlur:e.options.haloBlur}})))),(()=>{t.highlightGradient=C(t.highlightGradient,this.highlights.items)}),p),o((()=>this.state.id),(()=>t.state=this.state),p)],\"map-view\"),this._updateStageChildren();const a=this._resolveWhenReady;this._resolveWhenReady=[],a.forEach((e=>e(this))),this.timeline.end(\"MapView Startup\"),this.frameTask.start(),this._set(\"ready\",!0)}_teardown(){this._destroySpatialReferenceDependentProperties(),this.removeHandles(\"map-view\"),this.mapViewNavigation.destroy(),this._set(\"mapViewNavigation\",null),this.animation=null,this.animationManager.destroy(),this._set(\"animationManager\",null),this.layerViewManager.clear(),this.labelManager.destroy(),this._magnifierView.destroy(),this._gridView.destroy(),this.stage.destroy(),this.stage=null,this._set(\"graphicsView\",null),this._magnifierView=null,this._gridView=null,this._set(\"labelManager\",null),this._set(\"mapViewNavigation\",null),this.graphics.owner=null,this.frameTask.stop(),this.stationaryManager.clear(),this._set(\"ready\",!1),this.stateManager.teardown()}_updateStageChildren(){this.stage.removeAllChildren(),this.rootLayerViews.forEach((e=>{this.stage.addChild(e.container)}));const e=this.graphicsView;this.stage.addChild(e.container),this.stage.addChild(this._magnifierView),this.stage.addChild(this._gridView)}_setupSpatialReferenceDependentProperties(){const e=new T(y.create({spatialReference:this.spatialReference,size:512,numLODs:36}));this._set(\"featuresTilingScheme\",e);const t=new X({view:this,graphics:this.graphics,requestUpdateCallback:()=>this.requestUpdate(),container:new Y(e)});this._set(\"graphicsView\",t)}_destroySpatialReferenceDependentProperties(){const e=this.graphicsView;this._set(\"graphicsView\",null),e.destroy(),this._set(\"featuresTilingScheme\",null)}_getScreenshotView(e){const{allLayerViews:t,padding:i,size:r,stage:s}=this;return{allLayerViews:t,backgroundColor:e?.ignoreBackground?null:this.background?.color,padding:i,size:r,stage:s}}_spatialReferenceChanged(e){if(this.ready){this.frameTask.stop();for(const e of this.allLayerViews)e.processDetach();this._destroySpatialReferenceDependentProperties(),this.stateManager.changeSpatialReference(e),this.stage.state=this.state,this._setupSpatialReferenceDependentProperties();for(const e of this.allLayerViews)e.processAttach();this.frameTask.requestFrame(),this.frameTask.start(),this._updateStageChildren()}}};ae.type=\"2d\",e([g({readOnly:!0})],ae.prototype,\"animationManager\",void 0),e([g({constructOnly:!0})],ae.prototype,\"deactivatedWebGLExtensions\",void 0),e([g({constructOnly:!0})],ae.prototype,\"debugWebGLExtensions\",void 0),e([g({readOnly:!0})],ae.prototype,\"featuresTilingScheme\",void 0),e([g({readOnly:!0})],ae.prototype,\"fullOpacity\",void 0),e([g()],ae.prototype,\"goToManager\",void 0),e([g({readOnly:!0})],ae.prototype,\"graphicsTileStore\",null),e([g()],ae.prototype,\"graphicsView\",void 0),e([g()],ae.prototype,\"stateManager\",void 0),e([g()],ae.prototype,\"constraintsInfo\",null),e([g({readOnly:!0})],ae.prototype,\"state\",null),e([g()],ae.prototype,\"initialExtentRequired\",null),e([g()],ae.prototype,\"labelManager\",void 0),e([g({readOnly:!0})],ae.prototype,\"mapViewNavigation\",void 0),e([g({constructOnly:!0})],ae.prototype,\"renderCanvas\",void 0),e([g()],ae.prototype,\"renderingOptions\",void 0),e([g({constructOnly:!0})],ae.prototype,\"supersampleScreenshotsEnabled\",void 0),e([g({readOnly:!0})],ae.prototype,\"supportsGround\",void 0),e([g()],ae.prototype,\"defaultsFromMapSettings\",null),e([g({readOnly:!0})],ae.prototype,\"typeSpecificPreconditionsReady\",null),e([g()],ae.prototype,\"animation\",null),e([g({type:J})],ae.prototype,\"background\",null),e([g()],ae.prototype,\"center\",null),e([g({type:S})],ae.prototype,\"constraints\",null),e([g()],ae.prototype,\"extent\",null),e([g()],ae.prototype,\"floors\",void 0),e([g()],ae.prototype,\"grid\",void 0),e([g({type:z})],ae.prototype,\"highlightOptions\",null),e([g({type:i.ofType(D)})],ae.prototype,\"highlights\",void 0),e([g({readOnly:!0})],ae.prototype,\"inputManager\",void 0),e([g()],ae.prototype,\"map\",void 0),e([g()],ae.prototype,\"padding\",null),e([g({readOnly:!0})],ae.prototype,\"rendering\",null),e([g()],ae.prototype,\"resizeAlign\",null),e([g({readOnly:!0})],ae.prototype,\"resolution\",null),e([g()],ae.prototype,\"rotation\",null),e([g()],ae.prototype,\"scale\",null),e([g({constructOnly:!0})],ae.prototype,\"spatialReferenceLocked\",void 0),e([g()],ae.prototype,\"stationary\",null),e([g({readOnly:!0})],ae.prototype,\"tileInfo\",null),e([g({type:F,readOnly:!0})],ae.prototype,\"timeline\",void 0),e([g({readOnly:!0})],ae.prototype,\"type\",void 0),e([g({readOnly:!0})],ae.prototype,\"updating\",null),e([g({readOnly:!0})],ae.prototype,\"view2dType\",void 0),e([g()],ae.prototype,\"viewpoint\",null),e([g({readOnly:!0})],ae.prototype,\"visibleArea\",null),e([g()],ae.prototype,\"zoom\",null),e([g({readOnly:!0})],ae.prototype,\"navigating\",null),e([g(),d((e=>e instanceof H?e:c(B,e)))],ae.prototype,\"ui\",void 0),ae=e([u(\"esri.views.View2D\")],ae);const ne=ae;export{ne as default};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{_ as t}from\"../chunks/tslib.es6.js\";import s from\"../core/Error.js\";import{EsriPromise as e}from\"../core/Promise.js\";import{createResolver as r,isPromiseLike as o}from\"../core/promiseUtils.js\";import{property as i}from\"../core/accessorSupport/decorators/property.js\";import\"../core/has.js\";import\"../core/Logger.js\";import\"../core/RandomLCG.js\";import{subclass as n}from\"../core/accessorSupport/decorators/subclass.js\";let p=class extends e{constructor(t){super(t),this.state=\"running\",this.target=null,this._resolver=null}initialize(){this._resolver=r(),this.addResolvingPromise(this._resolver.promise)}get done(){return\"finished\"===this.state||\"stopped\"===this.state}stop(){\"stopped\"!==this.state&&\"finished\"!==this.state&&(this._set(\"state\",\"stopped\"),this._resolver?.reject(new s(\"ViewAnimation stopped\")))}finish(){\"stopped\"!==this.state&&\"finished\"!==this.state&&(this._set(\"state\",\"finished\"),this._resolver?.resolve())}update(t,s){s||(s=o(t)?\"waiting-for-target\":\"running\"),this._set(\"target\",t),this._set(\"state\",s)}};t([i({readOnly:!0})],p.prototype,\"done\",null),t([i({readOnly:!0,type:String})],p.prototype,\"state\",void 0),t([i()],p.prototype,\"target\",void 0),p=t([n(\"esri.views.ViewAnimation\")],p),function(t){t.State={RUNNING:\"running\",STOPPED:\"stopped\",FINISHED:\"finished\",WAITING_FOR_TARGET:\"waiting-for-target\"}}(p||(p={}));const a=p;export{a as default};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nvar l;function o(o){return\"global\"===o?l.Global:l.Local}function a(o){return o===l.Global?\"global\":\"local\"}!function(l){l[l.Global=1]=\"Global\",l[l.Local=2]=\"Local\"}(l||(l={}));export{l as ViewingMode,a as stringFromViewingMode,o as viewingModeFromString};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nconst t=t=>t,u=t=>t*t,o=t=>1-u(1-t),i=t=>t<.5?u(2*t)/2:(o(2*(t-.5))+1)/2,n=t=>t*t*t,c=t=>1-n(1-t),a=t=>t<.5?n(2*t)/2:(c(2*(t-.5))+1)/2,s=t=>t*t*t*t,q=t=>1-s(1-t),r=t=>t<.5?s(2*t)/2:(q(2*(t-.5))+1)/2,e=t=>t*t*t*t*t,b=t=>1-e(1-t),d=t=>t<.5?e(2*t)/2:(b(2*(t-.5))+1)/2,h=t=>1-Math.cos(t*Math.PI/2),p=t=>1-h(1-t),x=t=>t<.5?h(2*t)/2:(p(2*(t-.5))+1)/2,M=t=>2**(10*(t-1)),f=t=>1-M(1-t),l=t=>t<.5?M(2*t)/2:(f(2*(t-.5))+1)/2,I=t=>-(Math.sqrt(1-t*t)-1),P=t=>1-I(1-t),g=t=>t<.5?I(2*t)/2:(P(2*(t-.5))+1)/2;function j(t){const u=2*(t-Math.sqrt((t-1)*t)),o=u/2/t;return i=>io=1e3?n:s)}cameraAt(t,i){t=Math.min(Math.max(0,t),1),t=this._normalizedEasing(t);const e=this.path.interpolateComponentsAt(t,h);i.interpolate(this.definition.source,this.definition.target,e)}_normalizedEasing(t){const i=this._easing(0,this._time),e=this._easing(1,this._time);return(this._easing(t,this._time)-i)/(e-i)}_applyTimeSettings(i,e){const n=null!=e.speedFactor?e.speedFactor:1,s=e.minDuration??r.minDuration/n,a=e.maxDuration??r.maxDuration/n;return i=null!=e.duration?e.duration:t(Math.min(Math.max(i/n,s),a))}};export{p as Animation};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nclass t{constructor(){this.pan=0,this.rotate=0,this.fov=0,this.sourceZoom=0,this.targetZoom=0}}export{t as CompareResult};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{getEpsilon as t}from\"../../../core/libs/gl-matrix-2/math/common.js\";import{CompareResult as e}from\"./Camera.js\";import{defaultSettings as s}from\"./Settings.js\";class r{constructor(t){this._createCamera=t,this.compared=new e,this.segmentStart=0,this.segmentEnd=1,this.settings={desiredScreenFlow:s.desiredScreenFlow},this.source=t(),this.target=t()}clone(){const t=new r(this._createCamera);return t.copyFrom(this),t}copyFrom(t){this.update(t.source,t.target,t.settings)}update(t,e,r){this.source!==t&&this.source.copyFrom(t),this.target!==e&&this.target.copyFrom(e),this.source.compareTo(this.target,this.compared),this.settings.desiredScreenFlow=r.desiredScreenFlow??s.desiredScreenFlow,this.desiredPixelFlow=this.settings.desiredScreenFlow*this.target.size,this.halfWindowSize=this.target.size/2}halfWindowPanAtZoom(t){const e=this.target.pixelsPerPanAtZoom(t);return this.halfWindowSize/e}get hasZoom(){return Math.abs(this.compared.sourceZoom-this.compared.targetZoom)>1e-5}get hasPan(){return this.compared.pan>t()}get hasFov(){return Math.abs(this.compared.fov)>t()}get hasRotate(){return this.compared.rotate>t()}}export{r as Definition};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nclass t{constructor(){this.pan=0,this.rotate=0,this.zoom=0,this.fov=0,this.zoomOffset=0}}export{t as InterpolateComponents};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{Seconds as t}from\"../../../core/time.js\";let e=class{constructor(){this.segments=new Array}get time(){return this.segments.reduce(((e,o)=>t(e+o.time)),t(0))}interpolateComponentsAt(t,e){t=Math.min(Math.max(t,0),1),t*=this.time;let o=0,s=0;const n=this.definition,a=this.segments.reduce(((t,e)=>t||e.definition.hasZoom),!1);for(let i=0;iMath.abs(t-n)?o:t;e.zoomOffset=i-a,e.zoom=(s-n)/(i-n)}else e.zoom=1;return e}t-=m.time,o+=r.compared.pan,s+=r.compared.rotate}}segmentInterpolateComponentsAt(t,e,o){t.interpolateComponentsAt(e,o)}};export{e as Path};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{deg2rad as t}from\"../../../core/mathUtils.js\";import{Seconds as i}from\"../../../core/time.js\";class o{get time(){return this._time}constructor(t){t&&this.update(t)}update(t){t&&(this.definition?this.definition.copyFrom(t):this.definition=t.clone()),this._updatePrecomputedVariables(),this._updatePixelFlow()}_updatePrecomputedVariables(){const t=this.definition,i=t.compared,o=i.sourceZoom,e=i.targetZoom;this._zoomSign=o>e?1:-1,this._panPixelsAtSource=i.pan*t.source.pixelsPerPanAtZoom(o);const n=(t.source.pixelsPerRotate()+t.target.pixelsPerRotate())/2;this._rotatePixels=i.rotate*n}_updatePixelFlow(){const t=this.definition.compared.sourceZoom,o=this.definition.compared.targetZoom,{hasZoom:e,hasPan:n,hasRotate:s}=this.definition;let h=0,a=0;e&&(n&&(h=(o/t-1)/(-1/(this._zoomSign*this.definition.halfWindowSize)*Math.LN2*this._panPixelsAtSource)),s&&(a=this._zoomSign*(Math.log(t/o)/Math.LN2)*this.definition.halfWindowSize/this._rotatePixels)),this._zoomPixelFlow=0,this._panPixelFlow=0,this._rotatePixelFlow=0;const r=this.definition.desiredPixelFlow;if(e&&n&&s){const t=h+a+h*a;this._zoomPixelFlow=h*a/t*r,this._panPixelFlow=a/t*r,this._rotatePixelFlow=h/t*r}else if(e&&n){const t=1+h;this._zoomPixelFlow=h/t*r,this._panPixelFlow=1/t*r}else if(e&&s){const t=1+a;this._zoomPixelFlow=a/t*r,this._rotatePixelFlow=1/t*r}else if(n&&s){const t=this._panPixelsAtSource/this._rotatePixels,i=1+t;this._panPixelFlow=t/i*r,this._rotatePixelFlow=1/i*r}else n?this._panPixelFlow=r:e?this._zoomPixelFlow=r:s&&(this._rotatePixelFlow=r);if(this._time=i(Math.max(this.rotateTime,this.zoomTime,this.panTime)),this.fovTime>this._time){const t=this.fovTime/this._time;this._time=this.fovTime,this._zoomPixelFlow/=t,this._panPixelFlow/=t,this._rotatePixelFlow/=t}}get rotateTime(){return this.definition.hasRotate?i(this._rotatePixels/this._rotatePixelFlow):i(0)}get zoomTime(){return this.definition.hasZoom?i(this._zoomSign*(Math.log(this.definition.compared.sourceZoom/this.definition.compared.targetZoom)/Math.LN2)*this.definition.halfWindowSize/this._zoomPixelFlow):i(0)}get fovTime(){return this.definition.hasFov?i(Math.abs(this.definition.compared.fov)/e):i(0)}get panTime(){if(!this.definition.hasPan)return i(0);if(this.definition.hasZoom){const t=-1/(this._zoomSign*this.definition.halfWindowSize)*Math.LN2,o=t*this._panPixelsAtSource;return i(Math.log(o*(this._zoomPixelFlow/this._panPixelFlow)+1)/(t*this._zoomPixelFlow))}return i(this._panPixelsAtSource/this._panPixelFlow)}_interpolateComponentsZoom(t){if(0===t||1===t)return t;if(this.definition.hasZoom){const i=this.definition.compared.sourceZoom,o=this.definition.compared.targetZoom;return(i*(i/o)**-t-i)/(o-i)}return t}_interpolateComponentsFov(t){if(0===t)return this.definition.segmentStart;if(1===t)return this.definition.segmentEnd;if(this.definition.hasFov){const{segmentStart:i,segmentEnd:o}=this.definition;return i+t*(o-i)}return this.definition.segmentStart}_interpolateComponentsPan(t){if(0===t||1===t)return t;if(this.definition.hasPan&&this.definition.hasZoom){const i=-1/(this._zoomSign*this.definition.halfWindowSize)*this._zoomPixelFlow;return 1/this._panPixelsAtSource*(this._panPixelFlow*(2**(i*t*this._time)-1))/(i*Math.LN2)}return t}_interpolateComponentsRotate(t){return t}interpolateComponentsAt(t,i){t=Math.min(Math.max(t,0),1),i.zoom=this._interpolateComponentsZoom(t),i.pan=this._interpolateComponentsPan(t),i.rotate=this._interpolateComponentsRotate(t),i.zoomOffset=0,i.fov=this._interpolateComponentsFov(t)}}const e=t(45);export{o as Segment};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{Milliseconds as e}from\"../../../core/time.js\";const o={desiredScreenFlow:2,minDuration:e(500),maxDuration:e(8e3)},r={...o,maxDuration:e(4e3)};export{o as defaultSettings,r as defaultSettings2D};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{outQuad as i,inQuad as n}from\"../../easing.js\";import{Path as e}from\"../Path.js\";import{Segment as t}from\"../Segment.js\";import{optimalDistance as o}from\"./planning.js\";class s extends e{constructor(i,n){super(),this._preallocSegments=[new t,new t,new t],this._ascensionSegment=null,this._descensionSegment=null,this.update(i,n)}update(i,n){if(!i)return;this.definition?this.definition.copyFrom(i):this.definition=i.clone();const e=n?.apex?o(i,n.apex):null;this.segments.length=0,this._ascensionSegment=null,this._descensionSegment=null,e?this._updateWithApex(e,n?.apex):this._updateWithoutApex()}segmentInterpolateComponentsAt(e,t,o){e.interpolateComponentsAt(t,o),e===this._ascensionSegment?o.zoom=i(o.zoom):e===this._descensionSegment&&(o.zoom=n(o.zoom))}_updateWithApex(i,n){const[e,t,o]=this._preallocSegments,s=n?.ascensionFactor??.5,d=Math.min(1-s,null!=n?.ascensionFactor&&null!=n.descensionFactor?n.descensionFactor:.5),a=1-s-d;e.definition?e.definition.copyFrom(this.definition):e.definition=this.definition.clone(),e.definition.compared.targetZoom=i,e.definition.compared.pan=this.definition.compared.pan*s,e.definition.compared.rotate=this.definition.compared.rotate*s,e.definition.segmentEnd=s,e.update(),this._ascensionSegment=e,this.segments.push(e),a>0&&(t.definition?t.definition.copyFrom(this.definition):t.definition=this.definition.clone(),t.definition.copyFrom(this.definition),t.definition.compared.sourceZoom=i,t.definition.compared.targetZoom=i,t.definition.compared.pan=this.definition.compared.pan*a,t.definition.compared.rotate=this.definition.compared.rotate*a,t.definition.segmentStart=e.definition.segmentEnd,t.definition.segmentEnd=e.definition.segmentEnd+a,t.update(),this.segments.push(t)),o.definition?o.definition.copyFrom(this.definition):o.definition=this.definition.clone(),o.definition.compared.sourceZoom=i,o.definition.compared.pan=this.definition.compared.pan*d,o.definition.compared.rotate=this.definition.compared.rotate*d,o.definition.segmentStart=s+a,o.update(),this._descensionSegment=o,this.segments.push(o)}_updateWithoutApex(){const[i]=this._preallocSegments;i.update(this.definition),this.segments.push(i)}}export{s as Path};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nfunction o(o,e,a){const n=e-o.compared.sourceZoom,t=o.halfWindowPanAtZoom(n);return-o.halfWindowSize*(a.ascensionFactor*Math.LN2*o.compared.pan+t)*Math.log(o.compared.sourceZoom/e)/(o.desiredPixelFlow*Math.LN2*t)}function e(o,e,a){const n=1/e,t=Math.log(o.compared.sourceZoom*n),i=1/o.desiredPixelFlow,r=1/Math.LN2,d=e-o.compared.sourceZoom,c=1/d,l=(a.ascensionFactor*Math.LN2*o.compared.pan+o.halfWindowPanAtZoom(d))/o.halfWindowPanAtZoom(1);return o.halfWindowSize*n*i*r*c*l-o.halfWindowSize*t*i*r*c+o.halfWindowSize*t*i*r*l/(d*d)}function a(o,e,a){const n=e-o.compared.sourceZoom,t=1/n,i=1/e,r=Math.log(o.compared.sourceZoom*i),d=(a.ascensionFactor*Math.LN2*o.compared.pan+o.halfWindowPanAtZoom(n))/o.halfWindowPanAtZoom(1);return o.halfWindowSize*t*(-2*t*i*d+2*t*r+2*i-2*r*d/(n*n)-d/(e*e))/(o.desiredPixelFlow*Math.LN2)}function n(o,e){return-o.halfWindowSize*Math.log(o.compared.sourceZoom/e)/(o.desiredPixelFlow*Math.LN2)}function t(o,e){return o.halfWindowSize/(e*o.desiredPixelFlow*Math.LN2)}function i(o,e){return-o.halfWindowSize/(e*e*o.desiredPixelFlow*Math.LN2)}function r(o,e,a){return-o.compared.pan*o.halfWindowSize*(a.ascensionFactor+a.descensionFactor-1)/(o.desiredPixelFlow*o.halfWindowPanAtZoom(e))}function d(o,e,a){return o.compared.pan*o.halfWindowSize*(a.ascensionFactor+a.descensionFactor-1)/(o.desiredPixelFlow*o.halfWindowPanAtZoom(e*e))}function c(o,e,a){return-2*o.compared.pan*o.halfWindowSize*(a.ascensionFactor+a.descensionFactor-1)/(o.desiredPixelFlow*o.halfWindowPanAtZoom(e*e*e))}function l(o,e,a){return o.halfWindowSize*(-o.halfWindowPanAtZoom(e)-a.descensionFactor*Math.LN2*o.compared.pan+o.halfWindowPanAtZoom(o.compared.targetZoom))*Math.log(e/o.compared.targetZoom)/(o.desiredPixelFlow*Math.LN2*o.halfWindowPanAtZoom(-e+o.compared.targetZoom))}function m(o,e,a){const n=Math.log(e/o.compared.targetZoom),t=1/o.desiredPixelFlow,i=1/Math.LN2,r=-e+o.compared.targetZoom,d=1/r,c=(-o.halfWindowPanAtZoom(e)-a.descensionFactor*Math.LN2*o.compared.pan+o.halfWindowPanAtZoom(o.compared.targetZoom))/o.halfWindowPanAtZoom(1);return-o.halfWindowSize*n*t*i*d+o.halfWindowSize*n*t*i*c/(r*r)+o.halfWindowSize*t*i*d*c/e}function h(o,e,a){const n=e-o.compared.targetZoom,t=1/n,i=1/e,r=Math.log(e/o.compared.targetZoom),d=(o.halfWindowPanAtZoom(e)+a.descensionFactor*Math.LN2*o.compared.pan-o.halfWindowPanAtZoom(o.compared.targetZoom))/o.halfWindowPanAtZoom(1);return o.halfWindowSize*t*(-2*t*i*d-2*t*r+2*i+2*r*d/(n*n)-d/(e*e))/(o.desiredPixelFlow*Math.LN2)}function s(o,e){return o.halfWindowSize*Math.log(e/o.compared.targetZoom)/(o.desiredPixelFlow*Math.LN2)}function f(o,e){return o.halfWindowSize/(e*o.desiredPixelFlow*Math.LN2)}function w(o,e){return-o.halfWindowSize/(e*e*o.desiredPixelFlow*Math.LN2)}function p(o){const e=o.compared.sourceZoom-o.compared.targetZoom;if(0===e)return o.compared.pan*o.halfWindowSize/(o.desiredPixelFlow*o.halfWindowPanAtZoom(o.compared.sourceZoom));const a=Math.LN2*o.compared.pan,n=e,t=o.halfWindowPanAtZoom(n),i=o.halfWindowSize*Math.log(o.compared.sourceZoom/o.compared.targetZoom)/(o.desiredPixelFlow*Math.LN2*t);return o.compared.sourceZoom<=o.compared.targetZoom?i*(a-t):i*(a+t)}export{i as ddtAscensionZoomOnly,a as ddtAscensionZoomPan,w as ddtDescensionZoomOnly,h as ddtDescensionZoomPan,c as ddtPanion,t as dtAscensionZoomOnly,e as dtAscensionZoomPan,f as dtDescensionZoomOnly,m as dtDescensionZoomPan,d as dtPanion,n as tAscensionZoomOnly,o as tAscensionZoomPan,p as tBaseLine,s as tDescensionZoomOnly,l as tDescensionZoomPan,r as tPanion};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{tBaseLine as o,tPanion as e,dtPanion as n,ddtPanion as a,tAscensionZoomOnly as t,tAscensionZoomPan as c,dtAscensionZoomOnly as s,dtAscensionZoomPan as r,ddtAscensionZoomOnly as i,ddtAscensionZoomPan as m,tDescensionZoomOnly as u,tDescensionZoomPan as l,dtDescensionZoomOnly as d,dtDescensionZoomPan as p,ddtDescensionZoomOnly as x,ddtDescensionZoomPan as F}from\"./functions.js\";function f(f,Z){let b=D(f,Z);const h={ascensionFactor:null!=Z.ascensionFactor?Z.ascensionFactor:.5,descensionFactor:null!=Z.descensionFactor?Z.descensionFactor:.5},M=0===h.ascensionFactor,P=0===h.descensionFactor,g=M?t:c,k=M?s:r,N=M?i:m,j=P?u:l,w=P?d:p,z=P?x:F,A=o=>g(f,o,h)+e(f,o,h)+j(f,o,h),I=o=>k(f,o,h)+n(f,o,h)+w(f,o,h),S=o=>N(f,o,h)+a(f,o,h)+z(f,o,h);let q=A(b);const v=o(f);let y;const B=Z.maximumIterations||20,C=null!=Z.maximumDistance?Z.maximumDistance:1/0;for(y=0;yo&&(e+=o);const n=e/S(b);if(isNaN(n)||b>=C&&n<0){if(!isFinite(C))return null;b=C,q=A(b);break}if(b-=n,bv*(1-.3)||be.pos))}get vertices(){return null!=this._stagedVertex?[...this._committedVertices,this._coordinateHelper.pointToArray(this._stagedVertex)]:this._committedVertices}get hasZ(){return null!=this._hasZ?this._hasZ:\"3d\"===this.view.type}set hasZ(e){this._hasZ=e,this.notifyChange(\"hasZ\")}get _stagedVertex(){return this._snappingOperation.stagedPoint}set _stagedVertex(e){this._snappingOperation.stagedPoint=i(e)}canUndo(){return this._editGeometryOperations.canUndo}canRedo(){return this._editGeometryOperations.canRedo}undo(){this.canUndo&&this._editGeometryOperations.undo()}redo(){this.canRedo&&this._editGeometryOperations.redo()}getCoordsFromScreenPoint(e){const t=e&&this.screenToMap(e);return null==t?null:t.hasZ?[t.x,t.y,t.z]:[t.x,t.y]}getCoordsAndPointFromScreenPoint(e){const t=this.screenToMap(e);return null==t?null:t.hasZ?{vertex:[t.x,t.y,t.z],mapPoint:t}:{vertex:[t.x,t.y],mapPoint:t}}screenToMap(e){let t=null;if(\"3d\"===this.view.type)if(this.hasZ){const i=this.elevationInfo??x;t=this.view.sceneIntersectionHelper.intersectElevationFromScreen(s(e.x,e.y),i,this._getGeometryZValue())}else{const i=this.elevationInfo??G;t=this.view.sceneIntersectionHelper.intersectElevationFromScreen(s(e.x,e.y),i,0),null!=t&&(t.z=void 0)}else t=this.view.toMap(e),null!=t&&(t.z=this.hasZ?this._getGeometryZValue():void 0);return t}_pushCursorVertex(e,t){const i=d(e[0],e[1],void 0,this.view.spatialReference);this._stagedVertexUnsnapped=i;const r=this._snappingManager;if(null==r)return this._stagedVertex=i,void t();n(this._snappingOperation.snap({point:i},r,this._snappingContext)).then((()=>{t()}))}_popCursorVertex(){this._stagedVertexUnsnapped=null,this._stagedVertex=null}_getGeometryZValue(){return this.defaultZ}_abortSnapping(){this._snappingOperation.abort()}_isDuplicateOfLastVertex(e){const t=this._editGeometryOperations.data.components[0].getLastVertex()?.pos;if(t&&e[0]===t[0]&&e[1]===t[1])return!0;const{x:i,y:r}=this._coordinateHelper.vectorToDehydratedPoint(e);return null!=this._lastVertexUnsnapped&&i===this._lastVertexUnsnapped.x&&r===this._lastVertexUnsnapped.y}_shouldHandlePointerEvent(e){return w(e)&&(null==this._activePointerId||this._activePointerId===e.pointerId)}_vertexAddHandler(e){const t=null!=this._stagedVertex?this._coordinateHelper.pointToArray(this._stagedVertex):this.getCoordsFromScreenPoint(this._cursorScreenPoint);null!=t&&this._addVertex(t,e.native)}_drawCompleteHandler(e){this._completeDrawing(e.native)}};f.SNAPPING_GRAPHICS_LAYER_ID=\"DrawAction-snapping-graphics-layer\",e([o({readOnly:!0})],f.prototype,\"vertices\",null),e([o({type:Boolean,nonNullable:!0})],f.prototype,\"interactiveUndoDisabled\",void 0),e([o({readOnly:!0})],f.prototype,\"history\",void 0),e([o({readOnly:!0})],f.prototype,\"redoHistory\",void 0),e([o()],f.prototype,\"snapToScene\",void 0),e([o()],f.prototype,\"view\",void 0),e([o()],f.prototype,\"elevationInfo\",void 0),e([o({nonNullable:!0})],f.prototype,\"defaultZ\",void 0),e([o()],f.prototype,\"hasZ\",null),e([o()],f.prototype,\"_snappingOperation\",void 0),e([o()],f.prototype,\"_stagedVertex\",null),f=v=e([a(\"esri.views.draw.DrawAction\")],f);const x={mode:\"absolute-height\",offset:0},G={mode:\"on-the-ground\",offset:0};function w(e){return\"mouse\"!==e.pointerType||0===e.button}const V=f;export{V as default};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport e from\"../../core/Evented.js\";class t{constructor({consumesClicks:t,grabbableForEvent:s}){this.events=new e,this.interactive=!0,this.selectable=!1,this.cursor=null,this.grabbable=!0,this.consumesClicks=t,this.grabbableForEvent=s}destroy(){}intersectionDistance(e,t){return 0}attach(){}detach(){}onElevationChange(){}onViewChange(){}}export{t as DrawManipulator};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{_ as t}from\"../../chunks/tslib.es6.js\";import e from\"../../core/Accessor.js\";import i from\"../../core/Evented.js\";import{clone as n}from\"../../core/lang.js\";import{destroyMaybe as o,equalsMaybe as r}from\"../../core/maybe.js\";import{memoize as s}from\"../../core/memoize.js\";import{ignoreAbortErrors as a}from\"../../core/promiseUtils.js\";import p from\"../../core/ReactiveSet.js\";import{watch as c,syncAndInitial as l}from\"../../core/reactiveUtils.js\";import{createScreenPoint as d}from\"../../core/screenUtils.js\";import{property as h}from\"../../core/accessorSupport/decorators/property.js\";import\"../../core/has.js\";import\"../../core/Logger.js\";import{subclass as u}from\"../../core/accessorSupport/decorators/subclass.js\";import{diff as m}from\"../../core/accessorSupport/diffUtils.js\";import{UpdatingHandles as g}from\"../../core/support/UpdatingHandles.js\";import{pointEquals as y,pointNear as _}from\"../../layers/graphics/dehydratedFeatureComparison.js\";import{getEffectiveElevationInfo as v}from\"../../support/elevationInfoUtils.js\";import{ViewingMode as f}from\"../ViewingMode.js\";import{defaultDrawingMode as x}from\"./DrawingMode.js\";import{DrawManipulator as C}from\"./DrawManipulator.js\";import{createCoordinateHelper as b}from\"../interactive/coordinateHelper.js\";import{createManipulatorDragEventPipeline as T,sceneSnappingAtLocation as S}from\"../interactive/dragEventPipeline.js\";import{EditGeometry as P,Component as V}from\"../interactive/editGeometry/EditGeometry.js\";import{EditGeometryOperations as w}from\"../interactive/editGeometry/EditGeometryOperations.js\";import{isPoint as O}from\"../interactive/sketch/constraints.js\";import{pointToConstraintSpace as M,constraintSpaceToPoint as D,getPointConstraint as E,getPolylineOrPolygonConstraint as I}from\"../interactive/sketch/constraintUtils.js\";import H from\"../interactive/sketch/SketchLabelOptions.js\";import{SnappingContext as j}from\"../interactive/snapping/SnappingContext.js\";import{createSnapDragEventPipelineStep as G}from\"../interactive/snapping/SnappingDragPipelineStep.js\";import{SnappingOperation as k}from\"../interactive/snapping/SnappingOperation.js\";import{setupSnappingToggleHandles as Z}from\"../interactive/snapping/snappingUtils.js\";const A=\"crosshair\",L=\"progress\",U=Symbol(),z=Symbol();let F=class extends(i.EventedMixin(e)){constructor(t){super(t),this._createOperationCompleted=!1,this._hideDefaultCursor=!1,this._pointerDownStates=new p,this._stagedScreenPoint=null,this._stagedPointerType=null,this._updatingHandles=new g,this._stagedPointerId=null,this.constraintsEnabled=!1,this.constraints=void 0,this._getPointConstraint=s(E),this._getPolylineOrPolygonConstraint=s(I),this.constraintZ=null,this.defaultZ=null,this.isDraped=!0,this.labelOptions=new H,this.cursor=null,this.loading=!1,this.snapToSceneEnabled=null,this.firstVertex=null,this.lastVertex=null,this.secondToLastVertex=null,null==t.elevationInfo&&(this.elevationInfo=v(!!t.hasZ))}initialize(){const{geometryType:t,view:e}=this,i=e.spatialReference,n=\"viewingMode\"in e.state?e.state.viewingMode:f.Local,o=\"segment\"===t||\"multipoint\"===t?\"polyline\":t;this.coordinateHelper=b(this.hasZ,this.hasM,i),this._editGeometryOperations=new w(new P(o,this.coordinateHelper),n),this._snappingOperation=new k({view:e}),this.addHandles([c((()=>({stagedPoint:this._snappingOperation.stagedPoint,constraint:this._constraint})),(({stagedPoint:t,constraint:e},i)=>{const{snappingOptions:n}=this;n&&(n.forceDisabled=null!=e&&O(e));if(null!=i&&t===i.stagedPoint&&e!==i.constraint)return this._onKeyboardBasedChange();this._processCursor(t??this._screenToMap(this._stagedScreenPoint))}),{equals:(t,e)=>t.stagedPoint===e.stagedPoint&&r(t.constraint,e.constraint)}),c((()=>this.view.viewpoint),((t,e)=>{t&&e&&m(t,e)&&this._onKeyboardBasedChange()}))]),this._activeComponent=new V(i,n),this._editGeometryOperations.data.components.push(this._activeComponent);const s=this.segmentLabels;null!=s&&(s.context={view:e,editGeometryOperations:this._editGeometryOperations,elevationInfo:this.elevationInfo,labelOptions:this.labelOptions},this.addHandles(c((()=>this.labelOptions.enabled),(t=>{s.visible=t}),l))),this.addHandles(this._editGeometryOperations.on([\"vertex-add\",\"vertex-update\",\"vertex-remove\"],(t=>{const e=t.vertices.map((t=>({componentIndex:0,vertexIndex:t.index,coordinates:this.coordinateHelper.vectorToArray(t.pos)}))),i=e.map((t=>t.coordinates)),n=this.coordinateHelper.vectorToDehydratedPoint(this._activeComponent.getFirstVertex()?.pos)??null;y(n,this.firstVertex)||(this.firstVertex=n);const o=this.coordinateHelper.vectorToDehydratedPoint(this._activeComponent.getLastVertex()?.pos)??null;y(o,this.lastVertex)||(this.lastVertex=o);const r=this.coordinateHelper.vectorToDehydratedPoint(this._activeComponent.edges.at(-1)?.leftVertex?.pos)??null;switch(y(r,this.secondToLastVertex)||(this.secondToLastVertex=r),this._processCursor(this.cursorVertex),t.type){case\"vertex-add\":this.emit(t.type,{...t,added:i,vertices:e});break;case\"vertex-update\":this.emit(t.type,{...t,updated:i,vertices:e});break;case\"vertex-remove\":this.emit(t.type,{...t,removed:i,vertices:e})}})));const p=this._manipulator=new C({consumesClicks:!1,grabbableForEvent:t=>\"click\"!==this.drawingMode||\"touch\"===t.pointerType&&this._snappingEnabled&&1===this._pointerDownStates.size});this.manipulators.add(p),p.grabbable=\"point\"!==t,this.addHandles([p.events.on(\"immediate-click\",(t=>this._onImmediateClick(t))),p.events.on(\"immediate-double-click\",(t=>this._onImmediateDoubleClick(t))),c((()=>this.drawingMode),(()=>{this.removeHandles(U),this.addHandles(this._createManipulatorDragPipeline(p),U)}),l),c((()=>({effectiveCursor:this.effectiveCursor})),(({effectiveCursor:t})=>{p.cursor=t}),l)]),Z(this,(()=>{const t=this.view.inputManager.latestPointerType??\"mouse\",e=this._getSnappingContext(t);if(null!=this.snappingManager){const t=this._snappingOperation.snapAgainNearPreviousMapPoint(this.snappingManager,e);this._updatingHandles.addPromise(a(t))}}))}destroy(){o(this.segmentLabels),o(this._snappingOperation),this._editGeometryOperations=o(this._editGeometryOperations),this._updatingHandles.destroy()}get _isDragging(){const{_stagedPointerId:t,_manipulator:e}=this;return null!=t&&this._pointerDownStates.has(t)||e.grabbing||!e.interactive}get _snappingEnabled(){return null!=this.snappingManager&&this.snappingManager.options.effectiveEnabled}get _requiresScenePoint(){const t=this._updateAndGetEffectiveDrawSurface();return\"3d\"===this.view.type&&this.drawSurface!==t}get canRedo(){return this._editGeometryOperations.canRedo}get canUndo(){return this._editGeometryOperations.canUndo}get committedVertices(){return this._activeComponent.vertices.map((t=>this.coordinateHelper.vectorToArray(t.pos)))}get _constraint(){const{constraints:t,constraintsEnabled:e}=this;if(t&&e)switch(this.geometryType){case\"point\":return this._getPointConstraint(t);case\"polygon\":case\"polyline\":return this._getPolylineOrPolygonConstraint(this.lastVertex,this.secondToLastVertex,t)}}set drawingMode(t){this._set(\"drawingMode\",t??x)}get effectiveCursor(){return this.loading?L:this._hideDefaultCursor?null:this.cursor||A}get interactive(){return this._manipulator.interactive}set interactive(t){this._manipulator.interactive=t}get isCompleted(){return this._createOperationCompleted}get numCommittedVertices(){return this._activeComponent.vertices.length}get snappingOptions(){return null!=this.snappingManager?this.snappingManager.options:null}get cursorVertex(){return this._get(\"cursorVertex\")}get visualizationCursorVertex(){return\"mouse\"===this._stagedPointerType?this.cursorVertex:null}get committableVertex(){const{cursorVertex:t,lastVertex:e,firstVertex:i,geometryType:n}=this;return\"polygon\"===n&&_(t,i)||_(t,e)?null:t}get updating(){return this._updatingHandles.updating}get geometryIncludingUncommittedVertices(){const{committedVertices:t,committableVertex:e,coordinateHelper:i}=this,n=t.slice();return null!=e&&n.push(i.pointToArray(e)),n}cancel(){this.complete({aborted:!0})}commitStagedVertex(){this._snappingOperation.abort();const{committableVertex:t}=this;null!=t&&this._editGeometryOperations.appendVertex(this.coordinateHelper.pointToVector(t))}complete(t){const e=t?.aborted||!1;this._snappingOperation.abort(),this.snappingManager?.doneSnapping();const{geometryType:i,numCommittedVertices:n}=this,o=\"multipoint\"===i&&0===n||\"polyline\"===i&&n<2||\"polygon\"===i&&n<3;\"segment\"!==i&&\"point\"!==i||this.commitStagedVertex(),this._createOperationCompleted=!o,(this.isCompleted||e)&&(this._stagedScreenPoint=null,this._stagedPointerId=null,this._stagedPointerType=null,this._processCursor(null),this.emit(\"complete\",{vertices:this.committedVertices.map(((t,e)=>({componentIndex:0,vertexIndex:e,coordinates:t}))),aborted:e,type:\"complete\"}))}onInputEvent(t){switch(t.type){case\"pointer-down\":this._pointerDownStates.add(t.pointerId);break;case\"pointer-up\":this._pointerDownStates.delete(t.pointerId)}switch(t.type){case\"pointer-move\":return this._onPointerMove(t);case\"hold\":return this._onHold(t)}}redo(){this._editGeometryOperations.redo()}undo(){null!=this.snappingManager&&this.snappingManager.doneSnapping(),this._editGeometryOperations.undo()}_processCursor(t){const e=n(this.cursorVertex),i=n(t),o=i&&(this._updateAndGetEffectiveDrawSurface()?.constrainZ(i)??i),r=this._snapToClosingVertex(o),s=this._applyConstraints(r);_(e,s)||(this._set(\"cursorVertex\",s),this.segmentLabels?.set(\"stagedVertex\",null!=s?this.coordinateHelper.pointToVector(s):null),null==s||\"mouse\"!==this._stagedPointerType?this.emit(\"cursor-remove\"):this.emit(\"cursor-update\",{updated:null,vertices:[{componentIndex:0,vertexIndex:this._activeComponent.vertices.length,coordinates:this.coordinateHelper.pointToArray(s)}],operation:\"apply\",type:\"vertex-update\"}))}_snapToClosingVertex(t){if(null==t||this._isDragging||\"polygon\"!==this.geometryType||this.numCommittedVertices<=2)return t;const e=this._mapToScreen(t);if(!e)return t;const i=this._activeComponent;return this._vertexWithinPointerDistance(i.vertices[0].pos,e)?this.firstVertex:this._vertexWithinPointerDistance(i.vertices.at(-1).pos,e)?this.lastVertex:t}_createManipulatorDragPipeline(t){switch(this.drawingMode){case\"click\":return this._createManipulatorDragPipelineClick(t);case\"freehand\":return this._createManipulatorDragPipelineFreehand(t);case\"hybrid\":return this._createManipulatorDragPipelineHybrid(t)}}_createManipulatorDragPipelineClick(t){return T(t,((t,e,i,n)=>{const o=\"touch\"===n&&this._snappingEnabled;if(this.isCompleted||!o)return;const{snappingStep:r,cancelSnapping:s}=G({predicate:()=>o,snappingManager:this.snappingManager,snappingContext:new j({editGeometryOperations:this._editGeometryOperations,elevationInfo:this.elevationInfo,feature:this.graphic,pointer:n,visualizer:this.snappingVisualizer,drawConstraints:this.constraints}),updatingHandles:this._updatingHandles,useZ:!this._requiresScenePoint});i=i.next((t=>(o&&null!=this.snappingManager&&this.snappingManager.doneSnapping(),t))).next(s),e.next(this._screenToMapDragEventStep()).next((t=>(\"start\"===t.action&&(this._processCursor(t.mapStart),(\"segment\"===this.geometryType||o&&!this.numCommittedVertices)&&this.commitStagedVertex()),t))).next(S(this.view,this.elevationInfo)).next(...r).next((t=>(o&&(this._processCursor(t.mapEnd),\"end\"===t.action&&this.commitStagedVertex()),t))).next((t=>(\"end\"===t.action&&(\"mouse\"!==this._stagedPointerType&&this._snappingOperation.abort(),\"segment\"!==this.geometryType&&\"point\"!==this.geometryType||this.complete()),t)))}))}_createManipulatorDragPipelineFreehand(t){return T(t,((t,e)=>{this.isCompleted||e.next(this._screenToMapDragEventStep()).next((t=>(\"start\"===t.action&&(this._snappingOperation.abort(),null==this.committableVertex&&this._processCursor(t.mapStart),\"segment\"===this.geometryType&&this.commitStagedVertex()),t))).next((t=>{switch(t.action){case\"start\":case\"update\":this._processCursor(t.mapEnd),\"polygon\"!==this.geometryType&&\"polyline\"!==this.geometryType||this.commitStagedVertex();break;case\"end\":this.complete()}return t}))}))}_createManipulatorDragPipelineHybrid(t){return T(t,((t,e)=>{this.isCompleted||e.next(this._screenToMapDragEventStep()).next((t=>(\"start\"===t.action&&(this._snappingOperation.abort(),this.addHandles(this._editGeometryOperations.createUndoGroup(),z),this._processCursor(t.mapStart),this.commitStagedVertex()),t))).next((t=>{switch(t.action){case\"start\":case\"update\":this._processCursor(t.mapEnd),\"polygon\"!==this.geometryType&&\"polyline\"!==this.geometryType||this.commitStagedVertex();break;case\"end\":\"mouse\"!==this._stagedPointerType&&this._snappingOperation.abort(),this.removeHandles(z),\"segment\"!==this.geometryType&&\"point\"!==this.geometryType||this.complete()}return t}))}))}get _drawAtFixedElevation(){const{constraintsEnabled:t,constraintZ:e,geometryType:i,numCommittedVertices:n}=this;return t?null!=e||\"segment\"===i&&n>0:(\"segment\"===i||\"polygon\"===i)&&n>0}_updateAndGetEffectiveDrawSurface(){const{constraintsEnabled:t,coordinateHelper:e,drawSurface:i,elevationDrawSurface:n,snapToSceneEnabled:o}=this;if(null==n)return i;if(!this.hasZ)return n.defaultZ=null,n;const r=this.elevationInfo?.mode;let s=this.defaultZ,a=t||\"absolute-height\"===r;if(null!=o&&(a=o),\"on-the-ground\"===r&&(a=!1),this._drawAtFixedElevation){s=(t?this.constraintZ:null)??e.getZ(this._activeComponent.vertices[0].pos),a=!1}return a?i:(n.defaultZ=s,n)}_mapToScreen(t){return this._updateAndGetEffectiveDrawSurface()?.mapToScreen(t)}_onHold(t){this._snappingOperation.abort(),\"click\"===this.drawingMode&&\"touch\"===t.pointerType&&this._snappingEnabled&&this._processCursor(t.mapPoint),t.stopPropagation()}_onImmediateClick(t){if(!(\"mouse\"===t.pointerType&&2===t.button||this._manipulator.dragging))try{const{drawingMode:e,geometryType:i}=this;this._stagedPointerType=t.pointerType,this._stagedScreenPoint=t.screenPoint;const n=this._screenToMap(t.screenPoint);if(null==n)return;if(null==n||\"freehand\"===e&&\"point\"!==i)return;if(this._snappingEnabled&&null!=this.cursorVertex||this._processCursor(n),null==this.committableVertex)return void this.complete();this.commitStagedVertex(),\"mouse\"!==t.pointerType&&this._processCursor(null),(\"freehand\"===e||\"point\"===i||\"segment\"===i&&2===this.numCommittedVertices||\"segment\"===i&&\"hybrid\"===e&&1===this.numCommittedVertices)&&this.complete()}finally{t.stopPropagation()}}_onImmediateDoubleClick(t){this._manipulator.dragging||\"point\"===this.geometryType||(this.complete(),t.stopPropagation())}_onPointerMove(t){const e=d(t.x,t.y);this._stagedScreenPoint=e,this._stagedPointerType=t.pointerType,this._stagedPointerId=t.pointerId,this._isDragging?this._snappingOperation.abort():(t.stopPropagation(),this._processCursorMovementRelativeToSurface(e,t.pointerType))}_onKeyboardBasedChange(){\"mouse\"===this._stagedPointerType&&this._stagedScreenPoint&&null!=this._stagedPointerId&&!this._isDragging?this._processCursorMovementRelativeToSurface(this._stagedScreenPoint,this._stagedPointerType):this._snappingOperation.abort()}_processCursorMovementRelativeToSurface(t,e){const i=this._snappingOperation,n=this._screenToMap(t),o=this._requiresScenePoint?this.drawSurface?.screenToMap(t):null;if(null==n)return this._hideDefaultCursor=!0,this._processCursor(null),void i.abort();this._hideDefaultCursor=!1;const r=this.snappingManager;if(null==r)return this._processCursor(n),void i.abort();const s=this._getSnappingContext(e);this._updatingHandles.addPromise(a(i.snap({point:n,scenePoint:o},r,s)))}_applyConstraints(t){const{_constraint:e,constraints:i}=this;if(!t||!i||!e)return t;const{context:n}=i,o=M(t,n),r=o?e.closestTo(o):void 0;if(!r)return t;const s=D(r,t,n),a=\"2d\"===this.view.type||\"absolute-height\"!==n.elevationInfo.mode;return null!=s&&a&&null!=this.constraintZ&&this.hasZ&&(s.z=this.constraintZ),s}_screenToMap(t){return t?this._updateAndGetEffectiveDrawSurface()?.screenToMap(t):null}_screenToMapDragEventStep(){let t=null;return e=>{if(\"start\"===e.action&&(t=this._screenToMap(e.screenStart)),null==t)return null;const i=this._screenToMap(e.screenEnd);return null!=i?{...e,mapStart:t,mapEnd:i}:null}}_vertexWithinPointerDistance(t,e){const i=25,n=this._mapToScreen(this.coordinateHelper.vectorToDehydratedPoint(t));return null!=n&&R(n,e,i)}_getSnappingContext(t){const e=this._drawAtFixedElevation?this.elevationDrawSurface?.defaultZ:null;return new j({editGeometryOperations:this._editGeometryOperations,elevationInfo:this.elevationInfo,pointer:t,feature:this.graphic,visualizer:this.snappingVisualizer,selfSnappingZ:null!=e?{value:e,elevationInfo:this.elevationInfo}:null,drawConstraints:this.constraints})}};function R(t,e,i){const n=t.x-e.x,o=t.y-e.y;return n*n+o*o<=i}t([h()],F.prototype,\"_hideDefaultCursor\",void 0),t([h()],F.prototype,\"_stagedPointerId\",void 0),t([h()],F.prototype,\"_isDragging\",null),t([h()],F.prototype,\"_snappingOperation\",void 0),t([h()],F.prototype,\"_snappingEnabled\",null),t([h({constructOnly:!0})],F.prototype,\"graphic\",void 0),t([h()],F.prototype,\"constraintsEnabled\",void 0),t([h()],F.prototype,\"constraints\",void 0),t([h()],F.prototype,\"_constraint\",null),t([h()],F.prototype,\"constraintZ\",void 0),t([h()],F.prototype,\"defaultZ\",void 0),t([h()],F.prototype,\"isDraped\",void 0),t([h({value:x})],F.prototype,\"drawingMode\",null),t([h({constructOnly:!0})],F.prototype,\"elevationDrawSurface\",void 0),t([h({constructOnly:!0})],F.prototype,\"elevationInfo\",void 0),t([h({constructOnly:!0,type:H})],F.prototype,\"labelOptions\",void 0),t([h({constructOnly:!0})],F.prototype,\"geometryType\",void 0),t([h({constructOnly:!0})],F.prototype,\"hasM\",void 0),t([h({constructOnly:!0})],F.prototype,\"hasZ\",void 0),t([h()],F.prototype,\"cursor\",void 0),t([h()],F.prototype,\"effectiveCursor\",null),t([h()],F.prototype,\"loading\",void 0),t([h({constructOnly:!0})],F.prototype,\"manipulators\",void 0),t([h({constructOnly:!0})],F.prototype,\"drawSurface\",void 0),t([h({constructOnly:!0})],F.prototype,\"segmentLabels\",void 0),t([h({constructOnly:!0})],F.prototype,\"snappingManager\",void 0),t([h({constructOnly:!0})],F.prototype,\"snappingVisualizer\",void 0),t([h()],F.prototype,\"snapToSceneEnabled\",void 0),t([h({readOnly:!0})],F.prototype,\"cursorVertex\",null),t([h({readOnly:!0})],F.prototype,\"visualizationCursorVertex\",null),t([h()],F.prototype,\"committableVertex\",null),t([h()],F.prototype,\"firstVertex\",void 0),t([h()],F.prototype,\"lastVertex\",void 0),t([h()],F.prototype,\"secondToLastVertex\",void 0),t([h()],F.prototype,\"updating\",null),t([h({constructOnly:!0})],F.prototype,\"view\",void 0),F=t([u(\"esri.views.draw.DrawOperation\")],F);export{F as DrawOperation,A as defaultCursor,L as defaultLoadingCursor};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{_ as e}from\"../../chunks/tslib.es6.js\";import t from\"../../core/Evented.js\";import{destroyMaybe as o}from\"../../core/maybe.js\";import{property as r}from\"../../core/accessorSupport/decorators/property.js\";import\"../../core/has.js\";import\"../../core/Logger.js\";import\"../../core/RandomLCG.js\";import{subclass as i}from\"../../core/accessorSupport/decorators/subclass.js\";import{getEffectiveElevationInfo as n}from\"../../support/elevationInfoUtils.js\";import{DrawOperation as a}from\"./DrawOperation.js\";import{SceneDrawSurface as s,ElevationDrawSurface as p}from\"./drawSurfaces.js\";import{InteractiveToolBase as d}from\"../interactive/InteractiveToolBase.js\";let l=class extends(t.EventedMixin(d)){constructor(e){super(e),this.defaultZ=0,this.elevationInfo=null,this.hasZ=!0,this.mode=null,this.snapToScene=null,this.type=\"draw-3d\"}initialize(){const e=this.view,t=n(this.hasZ,this.elevationInfo);this.drawOperation=new a({view:e,manipulators:this.manipulators,geometryType:this.geometryType,drawingMode:this.mode,hasZ:this.hasZ,defaultZ:this.defaultZ,snapToSceneEnabled:this.snapToScene,drawSurface:\"3d\"===e.type?new s(e,t):null,elevationDrawSurface:\"3d\"===e.type?new p(t,this.defaultZ,e):null,hasM:!1,elevationInfo:t}),this.addHandles([this.drawOperation.on(\"vertex-add\",(e=>this.onVertexAdd(e))),this.drawOperation.on(\"vertex-remove\",(e=>this.onVertexRemove(e))),this.drawOperation.on(\"vertex-update\",(e=>this.onVertexUpdate(e))),this.drawOperation.on(\"cursor-update\",(e=>this.onCursorUpdate(e))),this.drawOperation.on(\"complete\",(e=>this.onComplete(e)))]),this.finishToolCreation()}destroy(){this.drawOperation=o(this.drawOperation),this._set(\"view\",null)}set enabled(e){this.drawOperation.interactive=e,this._set(\"enabled\",e)}get updating(){return this.drawOperation?.updating??!1}completeCreateOperation(){this.drawOperation.complete()}onDeactivate(){this.drawOperation.isCompleted||this.drawOperation.cancel()}getVertexCoords(){return this.drawOperation.geometryIncludingUncommittedVertices}onInputEvent(e){this.drawOperation.onInputEvent(e)}canRedo(){return this.drawOperation.canRedo}canUndo(){return this.drawOperation.canUndo}redo(){this.drawOperation.redo()}reset(){}undo(){this.drawOperation.undo()}onComplete(e){this.emit(\"complete\",e)}onCursorUpdate(e){this.emit(\"cursor-update\",e)}onVertexAdd(e){this.emit(\"vertex-add\",e)}onVertexRemove(e){this.emit(\"vertex-remove\",e)}onVertexUpdate(e){this.emit(\"vertex-update\",e)}};e([r({constructOnly:!0,nonNullable:!0})],l.prototype,\"defaultZ\",void 0),e([r()],l.prototype,\"drawOperation\",void 0),e([r({constructOnly:!0})],l.prototype,\"elevationInfo\",void 0),e([r({value:!0})],l.prototype,\"enabled\",null),e([r({constructOnly:!0})],l.prototype,\"geometryType\",void 0),e([r({constructOnly:!0})],l.prototype,\"hasZ\",void 0),e([r({constructOnly:!0})],l.prototype,\"mode\",void 0),e([r()],l.prototype,\"snapToScene\",void 0),e([r({readOnly:!0})],l.prototype,\"type\",void 0),e([r({readOnly:!0})],l.prototype,\"updating\",null),e([r({constructOnly:!0,nonNullable:!0})],l.prototype,\"view\",void 0),l=e([i(\"esri.views.draw.DrawTool\")],l);export{l as DrawTool};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nconst c=[\"freehand\",\"hybrid\",\"click\"],e=\"click\";export{e as defaultDrawingMode,c as drawingModes};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{_ as e}from\"../../chunks/tslib.es6.js\";import\"../../geometry.js\";import\"../../core/Logger.js\";import\"../../core/has.js\";import\"../../core/RandomLCG.js\";import\"../../core/Error.js\";import{subclass as t}from\"../../core/accessorSupport/decorators/subclass.js\";import i from\"./DrawAction.js\";import{VertexRemoveEvent as o,VertexAddEvent as r,CursorUpdateEvent as s,DrawCompleteEvent as n}from\"./input/DrawEvents.js\";import{ViewEventPriorities as a}from\"../input/InputManager.js\";import{sketchKeys as d}from\"../interactive/keybindings.js\";import{createScreenPointFromEvent as p}from\"../support/screenUtils.js\";import h from\"../../geometry/Point.js\";const l=Symbol(\"view-handles\"),c=Symbol(\"undo-redo-handles\");let _=class extends i{constructor(e){super(e),this._popVertexOnPointerMove=!1,this._addVertexOnPointerUp=!1}initialize(){this._addViewHandles(),this._addUndoRedoHandles()}destroy(){this._removeViewHandles(),this._removeUndoRedoHandles(),this.emit(\"destroy\")}undo(){super.undo(),this.notifyChange(\"vertices\")}redo(){super.redo(),this.notifyChange(\"vertices\")}complete(){this._completeDrawing()}_addViewHandles(){this._removeViewHandles(),this.addHandles([this.view.on(\"click\",(e=>{e.stopPropagation()}),a.TOOL),this.view.on(\"pointer-down\",(e=>{this._shouldHandlePointerEvent(e)&&(this._abortSnapping(),this._activePointerId=e.pointerId,this._addVertexOnPointerUp=!0,this._cursorScreenPoint=p(e),\"touch\"===e.pointerType&&this._updateCursor())}),a.TOOL),this.view.on(\"pointer-move\",(e=>{this._popVertexOnPointerMove&&(this.undo(),this._popVertexOnPointerMove=!1),this._abortSnapping(),this._cursorScreenPoint=p(e),\"touch\"!==e.pointerType&&this._updateCursor()}),a.TOOL),this.view.on(\"pointer-drag\",(e=>{this._shouldHandlePointerEvent(e)&&(this._abortSnapping(),this._addVertexOnPointerUp=!1)}),a.TOOL),this.view.on(\"pointer-up\",(e=>{if(this._shouldHandlePointerEvent(e))if(this._abortSnapping(),this._activePointerId=null,this._addVertexOnPointerUp)this._vertexAddHandler(e);else{const t=\"touch\"===e.pointerType;this._updateCursor(t)}}),a.TOOL),this.view.on(\"drag\",[\"Shift\"],(e=>{e.stopPropagation()}),a.TOOL),this.view.on(\"double-click\",(e=>{e.stopPropagation(),this._drawCompleteHandler(e)}),a.TOOL),this.view.on(\"double-click\",[\"Control\"],(e=>{e.stopPropagation(),this._drawCompleteHandler(e)}),a.TOOL),this.view.on(\"key-down\",(e=>{const{key:t,repeat:i}=e;t===d.vertexAdd&&!i&&this._cursorScreenPoint?(e.stopPropagation(),this._abortSnapping(),this._vertexAddHandler(e)):t!==d.complete||i?t!==d.undo||this.interactiveUndoDisabled||i?t!==d.redo||this.interactiveUndoDisabled||i?t!==d.pan||i||e.stopPropagation():(e.stopPropagation(),this.redo()):(e.stopPropagation(),this.undo()):(e.stopPropagation(),this._drawCompleteHandler(e))}),a.TOOL),this.view.on(\"key-up\",(e=>{e.key===d.pan&&e.stopPropagation()}),a.TOOL)],l)}_addUndoRedoHandles(){this._removeUndoRedoHandles(),this.addHandles([this._editGeometryOperations.on(\"vertex-remove\",(e=>{if(this.notifyChange(\"vertices\"),\"undo\"===e.operation){const t=[...this._committedVertices];null!=this._stagedVertex&&t.push(this._coordinateHelper.pointToArray(this._stagedVertex)),this.emit(\"undo\",new o(this.view,e.vertices[0].index,t))}})),this._editGeometryOperations.on(\"vertex-add\",(e=>{if(this.notifyChange(\"vertices\"),\"apply\"===e.operation){const e=this._committedVertices.length-1,t=new r(this.view,e,this.vertices);this.emit(\"vertex-add\",t),t.defaultPrevented&&(this._popVertexOnPointerMove=!0)}else if(\"redo\"===e.operation){const t=[...this._committedVertices];null!=this._stagedVertex&&t.push(this._coordinateHelper.pointToArray(this._stagedVertex)),this.emit(\"redo\",new r(this.view,e.vertices[0].index,t))}}))],c)}_removeViewHandles(){this.removeHandles(l)}_removeUndoRedoHandles(){this.removeHandles(c)}_addVertex(e){const t=this._coordinateHelper.arrayToVector(e);this._isDuplicateOfLastVertex(t)||this._editGeometryOperations.appendVertex(t)}_updateCursor(e=!1){if(this._popCursorVertex(),!this._cursorScreenPoint)return;const t=this.getCoordsAndPointFromScreenPoint(this._cursorScreenPoint);null==t||e||this._pushCursorVertex(t.vertex,(()=>this.emit(\"cursor-update\",new s(this.view,this._activeComponent.vertices.length,this.vertices,null!=this._stagedVertex?new h(this._stagedVertex):null))))}_completeDrawing(){if(this._activePointerId=null,this._popCursorVertex(),this._abortSnapping(),null!=this._snappingManager&&this._snappingManager.doneSnapping(),this.vertices.length<1)return;const e=new n(this.vertices);this.emit(\"draw-complete\",e),e.defaultPrevented||this._removeViewHandles()}};_=e([t(\"esri.views.draw.MultipointDrawAction\")],_);const u=_;export{u as default};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{_ as t}from\"../../chunks/tslib.es6.js\";import\"../../geometry.js\";import\"../../core/Logger.js\";import\"../../core/has.js\";import\"../../core/RandomLCG.js\";import\"../../core/Error.js\";import{subclass as e}from\"../../core/accessorSupport/decorators/subclass.js\";import i from\"./DrawAction.js\";import{DrawTool as o}from\"./DrawTool.js\";import{CursorUpdateEvent as r,DrawCompleteEvent as s}from\"./input/DrawEvents.js\";import{ViewEventPriorities as n}from\"../input/InputManager.js\";import{sketchKeys as a}from\"../interactive/keybindings.js\";import{createScreenPointFromEvent as d}from\"../support/screenUtils.js\";import p from\"../../geometry/Point.js\";let h=class extends i{constructor(t){super(t),this._addVertexOnPointerUp=!1,this._drawTool=null}initialize(){this._addViewHandles(),\"3d\"===this.view.type&&this._addDrawTool()}destroy(){this._removeDrawTool(),this.emit(\"destroy\")}complete(){this._completeDrawing()}_addViewHandles(){this._addViewHandles2DOnly(),this.addHandles([this.view.on(\"key-down\",(t=>{t.key===a.complete&&(this._drawTool?this.complete():(this._abortSnapping(),this._vertexAddHandler(t)))}),n.TOOL)])}_addViewHandles2DOnly(){\"2d\"===this.view.type&&this.addHandles([this.view.on(\"pointer-down\",(t=>{this._shouldHandlePointerEvent(t)&&(this._abortSnapping(),this._activePointerId=t.pointerId,this._addVertexOnPointerUp=!0,this._cursorScreenPoint=d(t),\"touch\"===t.pointerType&&this._updateCursor())}),n.TOOL),this.view.on(\"pointer-move\",(t=>{this._abortSnapping(),this._cursorScreenPoint=d(t),\"touch\"!==t.pointerType&&this._updateCursor()}),n.TOOL),this.view.on(\"pointer-drag\",(t=>{this._shouldHandlePointerEvent(t)&&(this._abortSnapping(),this._addVertexOnPointerUp=!1)}),n.TOOL),this.view.on(\"pointer-up\",(t=>{if(this._shouldHandlePointerEvent(t))if(this._abortSnapping(),this._activePointerId=null,this._addVertexOnPointerUp)t.stopPropagation(),this._vertexAddHandler(t);else{const e=\"touch\"===t.pointerType;this._updateCursor(e)}}),n.TOOL),this.view.on(\"drag\",[\"Shift\"],(t=>{t.stopPropagation()}),n.TOOL)])}_addDrawTool(){const t=new o({view:this.view,elevationInfo:this.elevationInfo,hasZ:this.hasZ,geometryType:\"point\",mode:\"click\"});this._drawTool=t,this.view.addAndActivateTool(t),this.addHandles([t.on(\"cursor-update\",(e=>{1===e.vertices.length&&this.emit(\"cursor-update\",new r(this.view,e.vertices[0].vertexIndex,t.getVertexCoords()))})),t.on(\"complete\",(e=>{this.emit(\"draw-complete\",new s(t.getVertexCoords())),this._removeDrawTool(),this.removeAllHandles()}))])}_removeDrawTool(){this._drawTool&&(this.view.tools.remove(this._drawTool),this._drawTool=null)}_addVertex(t){const e=this._coordinateHelper.arrayToVector(t);this._isDuplicateOfLastVertex(e)||(this._lastVertexUnsnapped=this._stagedVertexUnsnapped,this._popCursorVertex(),this._editGeometryOperations.appendVertex(e),this.notifyChange(\"vertices\"),this._completeDrawing())}_updateCursor(t=!1){if(this._popCursorVertex(),!this._cursorScreenPoint)return;const e=this.getCoordsAndPointFromScreenPoint(this._cursorScreenPoint);null==e||t||this._pushCursorVertex(e.vertex,(()=>this.emit(\"cursor-update\",new r(this.view,this._activeComponent.vertices.length,this.vertices,null!=this._stagedVertex?new p(this._stagedVertex):null))))}_completeDrawing(){if(this._drawTool)return void this._drawTool.completeCreateOperation();this._activePointerId=null,this._popCursorVertex(),this._abortSnapping(),null!=this._snappingManager&&this._snappingManager.doneSnapping();const t=new s(this.vertices);this.emit(\"draw-complete\",t),t.defaultPrevented||this.removeAllHandles()}};h=t([e(\"esri.views.draw.PointDrawAction\")],h);const l=h;export{l as default};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{_ as e}from\"../../chunks/tslib.es6.js\";import\"../../geometry.js\";import{property as t}from\"../../core/accessorSupport/decorators/property.js\";import\"../../core/has.js\";import\"../../core/Logger.js\";import\"../../core/RandomLCG.js\";import{subclass as i}from\"../../core/accessorSupport/decorators/subclass.js\";import o from\"./DrawAction.js\";import{defaultDrawingMode as r,drawingModes as s}from\"./DrawingMode.js\";import{DrawTool as n}from\"./DrawTool.js\";import{VertexRemoveEvent as a,VertexAddEvent as d,CursorUpdateEvent as h,DrawCompleteEvent as p}from\"./input/DrawEvents.js\";import{ViewEventPriorities as l}from\"../input/InputManager.js\";import{sketchKeys as c}from\"../interactive/keybindings.js\";import{createScreenPointFromEvent as _}from\"../support/screenUtils.js\";import v from\"../../geometry/Point.js\";let u=class extends o{constructor(e){super(e),this._panEnabled=!1,this._popVertexOnPointerMove=!1,this._addVertexOnPointerUp=!1,this._drawTool=null,this.mode=r}initialize(){this._addViewHandles(),\"3d\"===this.view.type&&this._addDrawTool()}destroy(){this._removeDrawTool(),this.emit(\"destroy\")}get _dragEnabled(){return\"freehand\"===this.mode||\"hybrid\"===this.mode}get _clickEnabled(){return\"click\"===this.mode||\"hybrid\"===this.mode}undo(){this._drawTool?this._drawTool.undo():(super.undo(),this.notifyChange(\"vertices\"))}redo(){this._drawTool?this._drawTool.redo():(super.redo(),this.notifyChange(\"vertices\"))}canUndo(){return this._drawTool?.canUndo()??super.canUndo()}canRedo(){return this._drawTool?.canRedo()??super.canRedo()}complete(){this._completeDrawing()}_getGeometryZValue(){return this.hasZ&&this.vertices.length>0?this.vertices[0][2]:this.defaultZ}_addViewHandles(){this._addViewHandles2DOnly(),this.addHandles(this.view.on(\"key-down\",(e=>{const{key:t,repeat:i}=e;t!==c.vertexAdd||i?t!==c.complete||i?t!==c.undo||this.interactiveUndoDisabled||i?t!==c.redo||this.interactiveUndoDisabled||i||(e.stopPropagation(),this.redo()):(e.stopPropagation(),this.undo()):(e.stopPropagation(),this._drawCompleteHandler(e)):(e.stopPropagation(),this._handleVertexAddKey(e))}),l.TOOL))}_addViewHandles2DOnly(){\"2d\"===this.view.type&&(this.addHandles([this.view.on(\"click\",(e=>{e.stopPropagation()}),l.TOOL),this.view.on(\"pointer-down\",(e=>{this._shouldHandlePointerEvent(e)&&(this._abortSnapping(),this._activePointerId=e.pointerId,this._addVertexOnPointerUp=!0,this._cursorScreenPoint=_(e),\"touch\"===e.pointerType&&this._updateCursor())}),l.TOOL),this.view.on(\"pointer-move\",(e=>{this._abortSnapping(),this._popVertexOnPointerMove&&(this.undo(),this._popVertexOnPointerMove=!1),this._cursorScreenPoint=_(e),\"touch\"!==e.pointerType&&this._updateCursor()}),l.TOOL),this.view.on(\"pointer-drag\",(e=>{this._shouldHandlePointerEvent(e)&&(this._abortSnapping(),this._cursorScreenPoint=_(e),this._dragEnabled&&!this._panEnabled?this._vertexAddHandler(e):this._addVertexOnPointerUp=!1)}),l.TOOL),this.view.on(\"pointer-up\",(e=>{if(this._shouldHandlePointerEvent(e))if(this._abortSnapping(),this._activePointerId=null,this._addVertexOnPointerUp){if(!this._clickEnabled)return 1===this.vertices.length&&this.vertices.pop(),void this._drawCompleteHandler(e);this._vertexAddHandler(e)}else{const t=\"touch\"===e.pointerType;this._updateCursor(t)}}),l.TOOL),this.view.on(\"drag\",(e=>{this._dragEnabled&&null!=this._activePointerId&&!this._panEnabled&&e.stopPropagation()}),l.TOOL),this.view.on(\"drag\",[\"Shift\"],(e=>{e.stopPropagation()}),l.TOOL),this.view.on(\"double-click\",(e=>{e.stopPropagation(),this._drawCompleteHandler(e)}),l.TOOL),this.view.on(\"double-click\",[\"Control\"],(e=>{e.stopPropagation(),this._drawCompleteHandler(e)}),l.TOOL),this.view.on(\"key-down\",(e=>{const{key:t,repeat:i}=e;t!==c.pan||i||(e.stopPropagation(),this._panEnabled=!0)}),l.TOOL),this.view.on(\"key-up\",(e=>{e.key===c.pan&&(e.stopPropagation(),this._panEnabled=!1)}),l.TOOL)]),this._addUndoRedoHandles())}_handleVertexAddKey(e){this._drawTool?this._drawTool.drawOperation.commitStagedVertex():this._cursorScreenPoint&&(this._abortSnapping(),this._vertexAddHandler(e))}_addUndoRedoHandles(){this.addHandles([this._editGeometryOperations.on(\"vertex-remove\",(e=>{if(this.notifyChange(\"vertices\"),\"undo\"===e.operation){const t=[...this._committedVertices];null!=this._stagedVertex&&t.push(this._coordinateHelper.pointToArray(this._stagedVertex)),this.emit(\"undo\",new a(this.view,e.vertices[0].index,t))}})),this._editGeometryOperations.on(\"vertex-add\",(e=>{if(this.notifyChange(\"vertices\"),\"apply\"===e.operation){const e=this._committedVertices.length-1,t=new d(this.view,e,this.vertices);this.emit(\"vertex-add\",t),t.defaultPrevented&&(this._popVertexOnPointerMove=!0)}else if(\"redo\"===e.operation){const t=[...this._committedVertices];null!=this._stagedVertex&&t.push(this._coordinateHelper.pointToArray(this._stagedVertex)),this.emit(\"redo\",new d(this.view,e.vertices[0].index,t))}}))])}_addDrawTool(){const e=new n({view:this.view,elevationInfo:this.elevationInfo,hasZ:this.hasZ,geometryType:\"polygon\",mode:this.mode});this._drawTool=e,this.view.addAndActivateTool(e),e.on(\"vertex-add\",(t=>{if(1===t.vertices.length){const{view:i}=this,o=t.vertices[0].vertexIndex,r=e.getVertexCoords();this.emit(\"vertex-add\",new d(i,o,r)),\"undo\"!==t.operation&&\"redo\"!==t.operation||this.emit(t.operation,new d(i,o,r))}})),e.on(\"vertex-remove\",(t=>{if(1===t.vertices.length){const{view:i}=this,o=t.vertices[0].vertexIndex,r=e.getVertexCoords();this.emit(\"vertex-remove\",new a(i,o,r)),\"undo\"!==t.operation&&\"redo\"!==t.operation||this.emit(t.operation,new a(i,o,r))}})),e.on(\"cursor-update\",(t=>{1===t.vertices.length&&this.emit(\"cursor-update\",new h(this.view,t.vertices[0].vertexIndex,e.getVertexCoords()))})),e.on(\"complete\",(t=>{this.emit(\"draw-complete\",new p(e.getVertexCoords())),this._removeDrawTool(),this.removeAllHandles()}))}_removeDrawTool(){this._drawTool&&(this.view.tools.remove(this._drawTool),this._drawTool=null)}_addVertex(e){const t=this._coordinateHelper.arrayToVector(e);this._isDuplicateOfLastVertex(t)||(this._lastVertexUnsnapped=this._stagedVertexUnsnapped,this._popCursorVertex(),this._editGeometryOperations.appendVertex(t))}_updateCursor(e=!1){if(this._popCursorVertex(),!this._cursorScreenPoint)return;const t=this.getCoordsAndPointFromScreenPoint(this._cursorScreenPoint);null==t||e||this._pushCursorVertex(t.vertex,(()=>this.emit(\"cursor-update\",new h(this.view,this._activeComponent.vertices.length,this.vertices,null!=this._stagedVertex?new v(this._stagedVertex):null))))}_completeDrawing(){if(this._drawTool)return void this._drawTool.completeCreateOperation();if(this._activePointerId=null,this._popCursorVertex(),this._committedVertices.length<3)return;this._abortSnapping(),null!=this._snappingManager&&this._snappingManager.doneSnapping();const e=new p(this.vertices);this.emit(\"draw-complete\",e),e.defaultPrevented||this.removeAllHandles()}};e([t()],u.prototype,\"_dragEnabled\",null),e([t()],u.prototype,\"_clickEnabled\",null),e([t({type:s})],u.prototype,\"mode\",void 0),u=e([i(\"esri.views.draw.PolygonDrawAction\")],u);const m=u;export{m as default};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{_ as e}from\"../../chunks/tslib.es6.js\";import\"../../geometry.js\";import{property as t}from\"../../core/accessorSupport/decorators/property.js\";import\"../../core/has.js\";import\"../../core/Logger.js\";import\"../../core/RandomLCG.js\";import{subclass as i}from\"../../core/accessorSupport/decorators/subclass.js\";import o from\"./DrawAction.js\";import{defaultDrawingMode as r,drawingModes as s}from\"./DrawingMode.js\";import{DrawTool as n}from\"./DrawTool.js\";import{VertexRemoveEvent as d,VertexAddEvent as a,CursorUpdateEvent as h,DrawCompleteEvent as p}from\"./input/DrawEvents.js\";import{ViewEventPriorities as l}from\"../input/InputManager.js\";import{sketchKeys as c}from\"../interactive/keybindings.js\";import{createScreenPointFromEvent as _}from\"../support/screenUtils.js\";import v from\"../../geometry/Point.js\";let u=class extends o{constructor(e){super(e),this._panEnabled=!1,this._popVertexOnPointerMove=!1,this._addVertexOnPointerUp=!1,this._drawTool=null,this.mode=r}initialize(){this._addViewHandles(),\"3d\"===this.view.type&&this._addDrawTool()}destroy(){this._removeDrawTool(),this.emit(\"destroy\")}get _clickEnabled(){return\"click\"===this.mode||\"hybrid\"===this.mode}get _dragEnabled(){return\"freehand\"===this.mode||\"hybrid\"===this.mode}undo(){this._drawTool?this._drawTool.undo():(super.undo(),this.notifyChange(\"vertices\"))}redo(){this._drawTool?this._drawTool.redo():(super.redo(),this.notifyChange(\"vertices\"))}canUndo(){return this._drawTool?.canUndo()??super.canUndo()}canRedo(){return this._drawTool?.canRedo()??super.canRedo()}complete(){this._completeDrawing()}_addViewHandles(){this._addViewHandles2DOnly(),this.addHandles([this.view.on(\"key-down\",(e=>{const{key:t,repeat:i}=e;t!==c.vertexAdd||i?t!==c.complete||i?t!==c.undo||this.interactiveUndoDisabled||i?t!==c.redo||this.interactiveUndoDisabled||i||(e.stopPropagation(),this.redo()):(e.stopPropagation(),this.undo()):(e.stopPropagation(),this._drawCompleteHandler(e)):(e.stopPropagation(),this._handleVertexAddKey(e))}),l.TOOL)])}_addViewHandles2DOnly(){\"2d\"===this.view.type&&(this.addHandles([this.view.on(\"click\",(e=>{e.stopPropagation()}),l.TOOL),this.view.on(\"pointer-down\",(e=>{this._shouldHandlePointerEvent(e)&&!this._panEnabled&&(this._abortSnapping(),this._activePointerId=e.pointerId,this._addVertexOnPointerUp=!0,this._cursorScreenPoint=_(e),\"touch\"===e.pointerType&&this._updateCursor())}),l.TOOL),this.view.on(\"pointer-move\",(e=>{this._popVertexOnPointerMove&&(this.undo(),this._popVertexOnPointerMove=!1),this._abortSnapping(),this._cursorScreenPoint=_(e),\"touch\"!==e.pointerType&&this._updateCursor()}),l.TOOL),this.view.on(\"pointer-drag\",(e=>{this._shouldHandlePointerEvent(e)&&(this._abortSnapping(),this._cursorScreenPoint=_(e),this._dragEnabled&&!this._panEnabled?this._vertexAddHandler(e):this._addVertexOnPointerUp=!1)}),l.TOOL),this.view.on(\"pointer-up\",(e=>{if(this._shouldHandlePointerEvent(e))if(this._abortSnapping(),this._activePointerId=null,this._addVertexOnPointerUp){if(!this._clickEnabled)return 1===this.vertices.length&&this.vertices.pop(),void this._drawCompleteHandler(e);this._vertexAddHandler(e)}else{const t=\"touch\"===e.pointerType;this._updateCursor(t)}}),l.TOOL),this.view.on(\"drag\",(e=>{this._dragEnabled&&null!=this._activePointerId&&!this._panEnabled&&e.stopPropagation()}),l.TOOL),this.view.on(\"drag\",[\"Shift\"],(e=>{e.stopPropagation()}),l.TOOL),this.view.on(\"double-click\",(e=>{e.stopPropagation(),this._drawCompleteHandler(e)}),l.TOOL),this.view.on(\"double-click\",[\"Control\"],(e=>{e.stopPropagation(),this._drawCompleteHandler(e)}),l.TOOL),this.view.on(\"key-down\",(e=>{const{key:t,repeat:i}=e;t!==c.pan||i||(e.stopPropagation(),this._panEnabled=!0)}),l.TOOL),this.view.on(\"key-up\",(e=>{e.key===c.pan&&(e.stopPropagation(),this._panEnabled=!1)}),l.TOOL)]),this._addUndoRedoHandles())}_handleVertexAddKey(e){this._drawTool?this._drawTool.drawOperation.commitStagedVertex():this._cursorScreenPoint&&(this._abortSnapping(),this._vertexAddHandler(e))}_addUndoRedoHandles(){this.addHandles([this._editGeometryOperations.on(\"vertex-remove\",(e=>{if(this.notifyChange(\"vertices\"),\"undo\"===e.operation){const t=[...this._committedVertices];null!=this._stagedVertex&&t.push(this._coordinateHelper.pointToArray(this._stagedVertex)),this.emit(\"undo\",new d(this.view,e.vertices[0].index,t))}})),this._editGeometryOperations.on(\"vertex-add\",(e=>{if(this.notifyChange(\"vertices\"),\"apply\"===e.operation){const e=this._committedVertices.length-1,t=new a(this.view,e,this.vertices);this.emit(\"vertex-add\",t),t.defaultPrevented&&(this._popVertexOnPointerMove=!0)}else if(\"redo\"===e.operation){const t=[...this._committedVertices];null!=this._stagedVertex&&t.push(this._coordinateHelper.pointToArray(this._stagedVertex)),this.emit(\"redo\",new a(this.view,e.vertices[0].index,t))}}))])}_addDrawTool(){const e=new n({view:this.view,elevationInfo:this.elevationInfo,hasZ:this.hasZ,geometryType:\"polyline\",mode:this.mode});this._drawTool=e,this.view.addAndActivateTool(e),this.addHandles([e.on(\"vertex-add\",(t=>{if(1!==t.vertices.length)return;const{view:i}=this,o=t.vertices[0].vertexIndex,r=e.getVertexCoords();this.emit(\"vertex-add\",new a(i,o,r)),\"undo\"!==t.operation&&\"redo\"!==t.operation||this.emit(t.operation,new a(i,o,r))})),e.on(\"vertex-remove\",(t=>{if(1!==t.vertices.length)return;const{view:i}=this,o=t.vertices[0].vertexIndex,r=e.getVertexCoords();this.emit(\"vertex-remove\",new d(i,o,r)),\"undo\"!==t.operation&&\"redo\"!==t.operation||this.emit(t.operation,new d(i,o,r))})),e.on(\"cursor-update\",(t=>{1===t.vertices.length&&this.emit(\"cursor-update\",new h(this.view,t.vertices[0].vertexIndex,e.getVertexCoords()))})),e.on(\"complete\",(t=>{this.emit(\"draw-complete\",new p(e.getVertexCoords())),this._removeDrawTool(),this.removeAllHandles()}))])}_removeDrawTool(){this._drawTool&&(this.view.tools.remove(this._drawTool),this._drawTool=null)}_addVertex(e){const t=this._coordinateHelper.arrayToVector(e);this._isDuplicateOfLastVertex(t)||(this._lastVertexUnsnapped=this._stagedVertexUnsnapped,this._popCursorVertex(),this._editGeometryOperations.appendVertex(t))}_updateCursor(e=!1){if(this._popCursorVertex(),!this._cursorScreenPoint)return;const t=this.getCoordsAndPointFromScreenPoint(this._cursorScreenPoint);null==t||e||this._pushCursorVertex(t.vertex,(()=>this.emit(\"cursor-update\",new h(this.view,this._activeComponent.vertices.length,this.vertices,null!=this._stagedVertex?new v(this._stagedVertex):null))))}_completeDrawing(){if(this._drawTool)return void this._drawTool.completeCreateOperation();if(this._activePointerId=null,this._popCursorVertex(),this._committedVertices.length<2)return;this._abortSnapping(),null!=this._snappingManager&&this._snappingManager.doneSnapping();const e=new p(this.vertices);this.emit(\"draw-complete\",e),e.defaultPrevented||this.removeAllHandles()}};e([t()],u.prototype,\"_clickEnabled\",null),e([t()],u.prototype,\"_dragEnabled\",null),e([t({type:s})],u.prototype,\"mode\",void 0),u=e([i(\"esri.views.draw.PolylineDrawAction\")],u);const m=u;export{m as default};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{_ as e}from\"../../chunks/tslib.es6.js\";import\"../../geometry.js\";import{property as t}from\"../../core/accessorSupport/decorators/property.js\";import\"../../core/has.js\";import\"../../core/Logger.js\";import\"../../core/RandomLCG.js\";import{subclass as i}from\"../../core/accessorSupport/decorators/subclass.js\";import{ViewingMode as r}from\"../ViewingMode.js\";import o from\"./DrawAction.js\";import{DrawTool as s}from\"./DrawTool.js\";import{VertexAddEvent as n,CursorUpdateEvent as a,DrawCompleteEvent as d}from\"./input/DrawEvents.js\";import{createViewAlignedCoordinateSystem as h}from\"./support/surfaceCoordinateSystems.js\";import{ViewEventPriorities as p}from\"../input/InputManager.js\";import{sketchKeys as l}from\"../interactive/keybindings.js\";import{EditGeometry as c,Component as _}from\"../interactive/editGeometry/EditGeometry.js\";import{EditGeometryOperations as m}from\"../interactive/editGeometry/EditGeometryOperations.js\";import{createScreenPointFromEvent as g}from\"../support/screenUtils.js\";import v from\"../../geometry/Point.js\";const u=[\"freehand\",\"click\"];let w=class extends o{constructor(e){super(e),this._isDragging=!1,this._panEnabled=!1,this._addVertexOnPointerUp=!1,this._drawTool=null,this.viewAlignedCoordinateSystem=null,this.mode=\"freehand\"}initialize(){\"2d\"===this.view.type?this._addViewHandles():this._addDrawTool()}destroy(){this._removeDrawTool(),this.emit(\"destroy\")}complete(){this._completeDrawing()}_getGeometryZValue(){return this.hasZ&&this.vertices.length>0?this.vertices[0][2]:this.defaultZ}_addViewHandles(){\"click\"===this.mode?this.addHandles(this._getClickModeViewHandles()):this.addHandles(this._getDragModeViewHandles())}_getDragModeViewHandles(){return[this.view.on(\"immediate-click\",(e=>{if(e.stopPropagation(),e.mapPoint&&!this._panEnabled){null!=this.getCoordsFromScreenPoint(g(e))&&(this._vertexAddHandler(e),this._drawCompleteHandler(e))}}),p.TOOL),this.view.on(\"pointer-down\",(e=>{this._shouldHandlePointerEvent(e)&&(this._abortSnapping(),this._panEnabled||(this._resetGeometry(),this._addVertexOnPointerUp=!0,this._cursorScreenPoint=g(e),this._activePointerId=e.pointerId,this._vertexAddHandler(e),this._isDragging=!1,\"touch\"===e.pointerType&&this._updateCursor()))}),p.TOOL),this.view.on(\"pointer-move\",(e=>{this._abortSnapping(),null==this._activePointerId&&\"touch\"!==e.pointerType&&(this._cursorScreenPoint=g(e),this._updateCursor())}),p.TOOL),this.view.on(\"pointer-drag\",(e=>{this._shouldHandlePointerEvent(e)&&(this._abortSnapping(),this._isDragging=!0,this._cursorScreenPoint=g(e),this._updateCursor())}),p.TOOL),this.view.on(\"pointer-up\",(e=>{this._shouldHandlePointerEvent(e)&&this._addVertexOnPointerUp&&(this._abortSnapping(),this._activePointerId=null,this._isDragging&&this._vertexAddHandler(e),2===this._committedVertices.length&&this._drawCompleteHandler(e),this._isDragging=!1)}),p.TOOL),this.view.on(\"key-down\",(e=>{e.key===l.complete&&this._cursorScreenPoint?(this._abortSnapping(),this._vertexAddHandler(e),this._drawCompleteHandler(e)):e.key===l.pan&&(this._panEnabled=!0)}),p.TOOL),this.view.on(\"key-up\",(e=>{e.key===l.pan&&(this._panEnabled=!1)}),p.TOOL),this.view.on(\"drag\",(e=>{null!=this._activePointerId&&e.stopPropagation()}),p.TOOL),this.view.on(\"drag\",[\"Shift\"],(e=>{e.stopPropagation()}),p.TOOL)]}_getClickModeViewHandles(){return[this.view.on(\"pointer-down\",(e=>{this._abortSnapping(),this._cursorScreenPoint=g(e),this._activePointerId=e.pointerId,this._isDragging=!1,\"touch\"===e.pointerType&&this._updateCursor()}),p.TOOL),this.view.on(\"pointer-move\",(e=>{this._abortSnapping(),this._cursorScreenPoint=g(e),null==this._activePointerId&&\"touch\"!==e.pointerType&&this._updateCursor()}),p.TOOL),this.view.on(\"pointer-drag\",(e=>{this._shouldHandlePointerEvent(e)&&(this._abortSnapping(),this._isDragging=!0)}),p.TOOL),this.view.on(\"pointer-up\",(e=>{this._shouldHandlePointerEvent(e)&&(this._abortSnapping(),this._activePointerId=null,e.stopPropagation(),this._isDragging||this._vertexAddHandler(e),2!==this.vertices.length||this._isDragging||this._drawCompleteHandler(e),this._isDragging=!1)}),p.TOOL),this.view.on(\"key-down\",(e=>{e.key===l.vertexAdd&&this._cursorScreenPoint&&(this._vertexAddHandler(e),2===this.vertices.length&&this._drawCompleteHandler(e)),e.key===l.complete&&this._cursorScreenPoint&&2===this.vertices.length&&(this._vertexAddHandler(e),this._drawCompleteHandler(e))}),p.TOOL)]}_addDrawTool(){const e=new s({view:this.view,elevationInfo:this.elevationInfo,hasZ:this.hasZ,geometryType:\"segment\",mode:this.mode});this._drawTool=e,this.view.addAndActivateTool(e),this.addHandles([e.on(\"vertex-add\",(t=>{1===t.vertices.length&&this.emit(\"vertex-add\",new n(this.view,t.vertices[0].vertexIndex,e.getVertexCoords()))})),e.on(\"cursor-update\",(t=>{1===t.vertices.length&&this.emit(\"cursor-update\",new a(this.view,t.vertices[0].vertexIndex,e.getVertexCoords()))})),e.on(\"complete\",(t=>{this.emit(\"draw-complete\",new d(e.getVertexCoords())),this._removeDrawTool()})),this.view.on(\"key-down\",(t=>{t.key!==l.vertexAdd||t.repeat||\"click\"!==this.mode?t.key!==l.complete||t.repeat||e.completeCreateOperation():e.drawOperation.numCommittedVertices>0?e.completeCreateOperation():e.drawOperation.commitStagedVertex()}),p.TOOL)])}_removeDrawTool(){this._drawTool&&(this.view.tools.remove(this._drawTool),this._drawTool=null)}_addVertex(e){const t=this._coordinateHelper.arrayToVector(e);if(this._isDuplicateOfLastVertex(t))return;this._lastVertexUnsnapped=this._stagedVertexUnsnapped,this._popCursorVertex(),this._editGeometryOperations.appendVertex(t),1===this._committedVertices.length&&(this.viewAlignedCoordinateSystem=h(this.view,this._committedVertices[0]));const i=this._committedVertices.length-1,r=new n(this.view,i,this.vertices);this.emit(\"vertex-add\",r)}_updateCursor(){if(this._popCursorVertex(),!this._cursorScreenPoint)return;const e=this.getCoordsAndPointFromScreenPoint(this._cursorScreenPoint);null!=e&&this._pushCursorVertex(e.vertex,(()=>this.emit(\"cursor-update\",new a(this.view,this._activeComponent.vertices.length,this.vertices,null!=this._stagedVertex?new v(this._stagedVertex):null))))}_completeDrawing(){if(this._drawTool)return this._drawTool.completeCreateOperation(),void this.removeAllHandles();if(this._activePointerId=null,this._popCursorVertex(),this._cursorScreenPoint=null,this._isDragging=!1,this._abortSnapping(),null!=this._snappingManager&&this._snappingManager.doneSnapping(),this.vertices.length<1)return;const e=new d(this.vertices);this.emit(\"draw-complete\",e),e.defaultPrevented||this.removeAllHandles()}_resetGeometry(){this._editGeometryOperations.destroy(),this._editGeometryOperations=new m(new c(\"polygon\",this._coordinateHelper),r.Local),this._activeComponent=new _(this._coordinateHelper.spatialReference,r.Local),this._editGeometryOperations.data.components.push(this._activeComponent)}};e([t({type:u})],w.prototype,\"mode\",void 0),w=e([i(\"esri.views.draw.SegmentDrawAction\")],w);const O=w;export{O as default};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport\"../../geometry.js\";import{createScreenPointArray as e,createScreenPoint as t}from\"../../core/screenUtils.js\";import{makeDehydratedPoint as s}from\"../../layers/graphics/dehydratedPoint.js\";import{clonePoint as r}from\"../../layers/graphics/hydratedFeatures.js\";import{getConvertedElevation as n,getZForElevationMode as i}from\"../../support/elevationInfoUtils.js\";import o from\"../../geometry/SpatialReference.js\";import a from\"../../geometry/Point.js\";class c{constructor(e,t,s,r=null){this._elevationInfo=e,this.defaultZ=t,this._view=s,this._excludeGraphics=r}screenToMap(t){const{defaultZ:s,_view:r}=this,n=r.sceneIntersectionHelper.intersectElevationFromScreen(e(t.x,t.y),this._elevationInfo,s??0,this._excludeGraphics);return null==s&&null!=n&&(n.z=void 0),n}mapToScreen(e){const t=s(e.x,e.y,n(this._view,e,this._elevationInfo),e.spatialReference);return this._view.toScreen(t)}constrainZ(e){const{defaultZ:t}=this;return null!=t&&e.z!==t&&((e=r(e)).z=t),e}}class l{constructor(e,t,s=[]){this.view=e,this.elevationInfo=t,this.exclude=s}screenToMap(e){const t=this.view.toMap(e,{exclude:this.exclude,excludeLabels:!0});return null!=t&&(t.z=i(t,this.view,this.elevationInfo)),t}mapToScreen(e){let t=e;return null!=this.elevationInfo&&(t=s(e.x,e.y,n(this.view,e,this.elevationInfo),e.spatialReference)),this.view.toScreen(t)}constrainZ(e){return e}}class h{constructor(e,t=!1,s=0){this.view=e,this.hasZ=t,this.defaultZ=s,this.mapToScreen=t=>e.toScreen(t),this.screenToMap=t?t=>{const r=e.toMap(t);return r.z=s,r}:t=>e.toMap(t)}constrainZ(e){const{defaultZ:t}=this;return this.hasZ&&e.z!==t&&((e=r(e)).z=t),e}}class u{screenToMap(e){const{x:t,y:s}=e;return new a({x:t,y:s,spatialReference:u.spatialReference})}mapToScreen(e){return t(e.x,e.y)}constrainZ(e){return e}}u.spatialReference=new o;export{c as ElevationDrawSurface,h as MapDrawSurface,l as SceneDrawSurface,u as ScreenDrawSurface};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nclass e{constructor(e,t,s){this.view=e,this.vertexIndex=t,this.vertices=s,this.defaultPrevented=!1,this.type=\"vertex-add\"}preventDefault(){this.defaultPrevented=!0}}class t{constructor(e,t,s){this.view=e,this.vertexIndex=t,this.vertices=s,this.defaultPrevented=!1,this.type=\"vertex-update\"}preventDefault(){this.defaultPrevented=!0}}class s{constructor(e,t,s){this.view=e,this.vertexIndex=t,this.vertices=s,this.defaultPrevented=!1,this.type=\"vertex-remove\"}preventDefault(){this.defaultPrevented=!0}}class i{constructor(e,t,s,i=null){this.view=e,this.vertexIndex=t,this.vertices=s,this.mapPoint=i,this.coordinates=null,this.defaultPrevented=!1,this.type=\"cursor-update\",this.coordinates=1===s.length?s[0]:null}preventDefault(){this.defaultPrevented=!0}}class r{constructor(e){this.vertices=e,this.coordinates=null,this.defaultPrevented=!1,this.type=\"draw-complete\",this.coordinates=1===e.length?e[0]:null}preventDefault(){this.defaultPrevented=!0}}export{i as CursorUpdateEvent,r as DrawCompleteEvent,e as VertexAddEvent,s as VertexRemoveEvent,t as VertexUpdateEvent};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport\"../../../geometry.js\";import{isSome as t}from\"../../../core/arrayUtils.js\";import{invert as r}from\"../../../core/libs/gl-matrix-2/math/mat2d.js\";import{create as e,clone as s}from\"../../../core/libs/gl-matrix-2/factories/mat2df64.js\";import{rotationTo as a,invert as o}from\"../../../core/libs/gl-matrix-2/math/quat.js\";import{create as i}from\"../../../core/libs/gl-matrix-2/factories/quatf64.js\";import{h as n,f as l,d as h,n as m,e as c,w as f}from\"../../../chunks/vec32.js\";import{create as p}from\"../../../core/libs/gl-matrix-2/factories/vec3f64.js\";import{Axis as d}from\"../../../geometry/support/Axis.js\";import u from\"../../../geometry/Point.js\";function w(t,r,e=null){return null!=e?[t,r,e]:[t,r]}function g(t,r,e=null){return null!=e?{x:t,y:r,z:e}:{x:t,y:r}}class R{constructor(t){this.spatialReference=t}mapToLocalMultiple(r){return r.map((t=>this.mapToLocal(t))).filter(t)}get doUnnormalization(){return!1}}class W extends R{constructor(t,a,o=null){super(a),this._defaultZ=o,this.transform=e(),this.transformInv=e(),this.transform=s(t),r(this.transformInv,this.transform)}makeMapPoint(t,r){return w(t,r,this._defaultZ)}mapToLocal(t){return g(this.transform[0]*t[0]+this.transform[2]*t[1]+this.transform[4],this.transform[1]*t[0]+this.transform[3]*t[1]+this.transform[5])}localToMap(t){return w(this.transformInv[0]*t.x+this.transformInv[2]*t.y+this.transformInv[4],this.transformInv[1]*t.x+this.transformInv[3]*t.y+this.transformInv[5],this._defaultZ)}}class v extends R{constructor(t,r){super(t.spatialReference),this.view=t,this.defaultZ=null,this.pWS=p(),this.tangentFrameUpWS=p(),this.tangentFrameRightWS=p(),this.tangentFrameForwardWS=p(),this.localFrameRightWS=p(),this.localFrameUpWS=p(),this.worldToLocalTransform=i(),this.localToWorldTransform=i(),this.scale=1,this.scale=t.resolution,this.referenceMapPoint=r,this.defaultZ=r.hasZ?r.z:null;const e=t.state.camera.viewRight;this.view.renderCoordsHelper.toRenderCoords(this.referenceMapPoint,this.pWS),this.view.renderCoordsHelper.worldBasisAtPosition(this.pWS,d.X,this.tangentFrameRightWS),this.view.renderCoordsHelper.worldBasisAtPosition(this.pWS,d.Y,this.tangentFrameUpWS),this.view.renderCoordsHelper.worldBasisAtPosition(this.pWS,d.Z,this.tangentFrameForwardWS);const s=p();n(s,this.tangentFrameForwardWS,l(e,this.tangentFrameForwardWS)),h(this.localFrameRightWS,e,s),m(this.localFrameRightWS,this.localFrameRightWS),c(this.localFrameUpWS,this.tangentFrameForwardWS,this.localFrameRightWS),a(this.worldToLocalTransform,this.localFrameRightWS,this.tangentFrameRightWS),o(this.localToWorldTransform,this.worldToLocalTransform)}get doUnnormalization(){return\"global\"===this.view.viewingMode}makeMapPoint(t,r){return w(t,r,this.defaultZ)}mapToLocal(t){const r=p();this.view.renderCoordsHelper.toRenderCoords(new u({x:t[0],y:t[1],spatialReference:this.spatialReference}),r),f(r,r,this.worldToLocalTransform);const e=this.view.renderCoordsHelper.fromRenderCoords(r,new u({spatialReference:this.view.spatialReference}));return null!=e?g(e.x/this.scale,e.y/this.scale):null}localToMap(t){const r=p();this.view.renderCoordsHelper.toRenderCoords(new u({x:t.x*this.scale,y:t.y*this.scale,spatialReference:this.spatialReference}),r),f(r,r,this.localToWorldTransform);const e=this.view.renderCoordsHelper.fromRenderCoords(r,new u({spatialReference:this.view.spatialReference}));return null!=e?w(e.x,e.y,this.defaultZ):null}}function F(t,r){if(\"2d\"===t.type)return new W(t.state.transform,t.spatialReference,r.length>2?r[2]:null);if(\"3d\"===t.type){const e=r.length>2?new u({x:r[0],y:r[1],z:r[2],spatialReference:t.spatialReference}):new u({x:r[0],y:r[1],spatialReference:t.spatialReference});return new v(t,e)}return null}export{W as AffineCoordinateSystem,v as SceneViewCoordinateSystem,R as SurfaceCoordinateSystem,F as createViewAlignedCoordinateSystem,w as makeMapPoint,g as makeSurfacePoint};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport has from\"../../core/has.js\";import{destroyMaybe as e}from\"../../core/maybe.js\";import{GamepadSource as t}from\"./gamepad/GamepadSource.js\";import{createScreenPointFromNativeEvent as n}from\"../support/screenUtils.js\";const i=has(\"edge\"),a=has(\"chrome\"),o=has(\"ff\"),s=has(\"safari\"),r=\"esri-view-surface\",h={touchNone:`${r}--touch-none`,touchPan:`${r}--touch-pan`};class l{constructor(e,n){this._input=n,this._active={},this._callback=()=>{},this._activePointerCaptures=new Set,this._keyDownState=new Set,this._eventId=1,this._browserTouchPanningEnabled=!1,this._element=e,e.getAttribute(\"tabindex\")||e.setAttribute(\"tabindex\",\"0\"),this._eventHandlers={\"key-down\":this._handleKey,\"key-up\":this._handleKey,\"pointer-down\":this._handlePointer,\"pointer-move\":this._handlePointerPreventDefault,\"pointer-up\":this._handlePointerPreventDefault,\"pointer-enter\":this._handlePointer,\"pointer-leave\":this._handlePointer,\"pointer-cancel\":this._handlePointer,\"mouse-wheel\":this._handleMouseWheel,\"pointer-capture-lost\":this._handlePointerCaptureLost},this._updateTouchAction(),this._element.addEventListener(\"keydown\",this._preventAltKeyDefault),this._gamepadSource=new t(e,this._input),this._gamepadSource.onEvent=e=>this._callback(\"gamepad\",e)}destroy(){this._callback=()=>{},this.activeEvents=null,this._activePointerCaptures.forEach((e=>{this._releasePointerCaptureSafe(e)})),this._gamepadSource=e(this._gamepadSource),this._activePointerCaptures=null,this._removeTouchAction(),this._element.removeEventListener(\"keydown\",this._preventAltKeyDefault)}get browserTouchPanningEnabled(){return this._browserTouchPanningEnabled}set browserTouchPanningEnabled(e){this._browserTouchPanningEnabled=e,this._updateTouchAction(),this._updateTouchEventHandling()}set onEventReceived(e){this._callback=e}set activeEvents(e){for(const t in this._active)if(!e||!e.has(t)){const e=this._active[t];this._element.removeEventListener(c[t],e),delete this._active[t]}e&&e.forEach((e=>{if(!this._active[e]&&c[e]){const t=(this._eventHandlers[e]||this._handleDefault).bind(this,e);this._element.addEventListener(c[e],t),this._active[e]=t}})),this._gamepadSource.hasEventListeners=e?.has(\"gamepad\")??!1}setPointerCapture(e,t){t?this._setPointerCatpureSafe(e.pointerId):(this._releasePointerCaptureSafe(e.pointerId),this._activePointerCaptures.delete(e.pointerId))}_updateTouchAction(){this._element.classList.remove(this._browserTouchPanningEnabled?h.touchNone:h.touchPan),this._element.classList.add(this._browserTouchPanningEnabled?h.touchPan:h.touchNone)}_updateTouchEventHandling(){this._browserTouchPanningEnabled?this._element.addEventListener(\"touchmove\",this._preventMultiTouchPanning):this._element.removeEventListener(\"touchmove\",this._preventMultiTouchPanning)}_removeTouchAction(){this._element.classList.remove(h.touchNone),this._element.classList.remove(h.touchPan),this._element.removeEventListener(\"touchmove\",this._preventMultiTouchPanning)}_setPointerCatpureSafe(e){try{this._element.setPointerCapture(e),this._activePointerCaptures.add(e)}catch{}}_releasePointerCaptureSafe(e){try{if(this._element.hasPointerCapture&&!this._element.hasPointerCapture(e))return;this._element.releasePointerCapture(e)}catch(t){}}_updateNormalizedPointerLikeEvent(e,t){const i=n(this._element,e);return l.test.disableSubpixelCoordinates&&(i.x=Math.round(i.x),i.y=Math.round(i.y)),t.x=i.x,t.y=i.y,t}_handleKey(e,t){const{key:n}=t;n&&\"key-up\"===e&&this._keyDownState.delete(n);const i={native:t,key:n,repeat:!!n&&this._keyDownState.has(n)};n&&\"key-down\"===e&&this._keyDownState.add(i.key),this._callback(e,i)}_handlePointer(e,t){const n=this._updateNormalizedPointerLikeEvent(t,{native:t,x:0,y:0,pointerType:t.pointerType,button:t.button,buttons:t.buttons,eventId:this._eventId++});this._callback(e,n)}_handlePointerPreventDefault(e,t){const n=this._updateNormalizedPointerLikeEvent(t,{native:t,x:0,y:0,pointerType:t.pointerType,button:t.button,buttons:t.buttons,eventId:this._eventId++});t.preventDefault(),this._callback(e,n)}_getDeltaFromTrackpadOrMouseWheel(e){return e.shiftKey&&has(\"mac\")&&0===e.deltaY?e.deltaX:e.deltaY}_handleMouseWheel(e,t){let n=this._getDeltaFromTrackpadOrMouseWheel(t);switch(t.deltaMode){case 0:i&&(n=n/document.documentElement.clientHeight*600);break;case 1:n*=30;break;case 2:n*=900}i?n*=.7:a||s?n*=.6:o&&(n*=1.375);const r=100,h=Math.abs(n);if(h>r){const e=.02;n=n/h*200/(1+Math.exp(-e*(h-r)))}const l=this._updateNormalizedPointerLikeEvent(t,{native:t,x:0,y:0,deltaY:n});this._callback(e,l)}_handlePointerCaptureLost(e,t){this._activePointerCaptures.delete(t.pointerId),this._handleDefault(e,t)}_handleDefault(e,t){const n={native:t};t.preventDefault(),this._callback(e,n)}_preventAltKeyDefault(e){\"Alt\"===e.key&&e.preventDefault()}_preventMultiTouchPanning(e){e.touches.length>1&&e.preventDefault()}}l.test={disableSubpixelCoordinates:!1};const c={\"key-down\":\"keydown\",\"key-up\":\"keyup\",\"pointer-down\":\"pointerdown\",\"pointer-up\":\"pointerup\",\"pointer-move\":\"pointermove\",\"mouse-wheel\":\"wheel\",\"pointer-capture-got\":\"gotpointercapture\",\"pointer-capture-lost\":\"lostpointercapture\",\"context-menu\":\"contextmenu\",\"pointer-enter\":\"pointerenter\",\"pointer-leave\":\"pointerleave\",\"pointer-cancel\":\"pointercancel\",focus:\"focus\",blur:\"blur\"};export{l as BrowserEventSource};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nclass t{constructor(t){this._callbacks=t,this._currentCount=0,this._callbacks.condition||(this._callbacks.condition=()=>!0)}handle(t){const s=t.data,i=s.pointers.size;switch(s.action){case\"start\":this._currentCount=i,this._emitStart(t);break;case\"added\":this._emitEnd(this._previousEvent),this._currentCount=i,this._emitStart(t);break;case\"update\":this._emitUpdate(t);break;case\"removed\":this._startEvent&&this._emitEnd(this._previousEvent),this._currentCount=i,this._emitStart(t);break;case\"end\":this._emitEnd(t),this._currentCount=0}this._previousEvent=t}_emitStart(t){this._startEvent=t,this._callbacks.condition?.(this._currentCount,t)&&this._callbacks.start(this._currentCount,t,this._startEvent)}_emitUpdate(t){this._callbacks.condition?.(this._currentCount,t)&&this._callbacks.update(this._currentCount,t,this._startEvent)}_emitEnd(t){this._callbacks.condition?.(this._currentCount,t)&&this._callbacks.end(this._currentCount,t,this._startEvent),this._startEvent=null}}export{t as DragEventSeparator};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nclass e{constructor(e,t=[]){this.eventType=e,this.keyModifiers=t}matches(e){if(e.type!==this.eventType)return!1;if(0===this.keyModifiers.length)return!0;const t=e.modifiers;for(const i of this.keyModifiers)if(!t.has(i))return!1;return!0}}export{e as EventMatch};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nvar t;!function(t){t[t.Left=0]=\"Left\",t[t.Middle=1]=\"Middle\",t[t.Right=2]=\"Right\"}(t||(t={}));export{t as MouseButton};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{_ as o}from\"../../chunks/tslib.es6.js\";import r from\"../../core/Accessor.js\";import{property as s}from\"../../core/accessorSupport/decorators/property.js\";import\"../../core/has.js\";import\"../../core/Logger.js\";import\"../../core/RandomLCG.js\";import{subclass as e}from\"../../core/accessorSupport/decorators/subclass.js\";import t from\"./gamepad/GamepadSettings.js\";let p=class extends r{constructor(){super(...arguments),this.gamepad=new t}};o([s({readOnly:!0})],p.prototype,\"gamepad\",void 0),p=o([e(\"esri.views.input.Input\")],p);const a=p;export{a as default};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport\"../../core/has.js\";import\"../../core/Logger.js\";import{EventMatch as e}from\"./EventMatch.js\";class t{constructor(e){this._manager=null,this._incoming={},this._outgoing={},this._incomingEventMatches=null,this._incomingEventTypes=null,this._outgoingEventTypes=null,this._hasSideEffects=e}get incomingEventMatches(){if(!this._incomingEventMatches){this._incomingEventMatches=[];for(const e in this._incoming){const t=this._incoming[e];for(const e of t)this._incomingEventMatches.push(e.match)}}return this._incomingEventMatches}get incomingEventTypes(){return this._incomingEventTypes||(this._incomingEventTypes=this.incomingEventMatches.map((e=>e.eventType))),this._incomingEventTypes}get outgoingEventTypes(){return this._outgoingEventTypes||(this._outgoingEventTypes=Object.keys(this._outgoing)),this._outgoingEventTypes}get hasSideEffects(){return this._hasSideEffects}get hasPendingInputs(){return!1}onInstall(e){this._manager||(e.setEventCallback((e=>this._handleEvent(e))),e.setUninstallCallback((()=>this._onUninstall())),this._manager=e)}onUninstall(){}registerIncoming(t,i,s){let o;\"function\"==typeof i?(s=i,o=[]):o=i||[];const a=\"string\"==typeof t?new e(t,o):t,h=()=>{this._incomingEventTypes=null,this._incomingEventMatches=null},r=e=>{const t=this._incoming[e.match.eventType];if(t){const n=t.indexOf(e);t.splice(n,1),h(),this._manager&&this._manager.updateDependencies()}},g=new n(a,s,{onPause:r,onRemove:r,onResume:e=>{const t=this._incoming[e.match.eventType];t&&!t.includes(e)&&(t.push(e),h(),this._manager&&this._manager.updateDependencies())}});let c=this._incoming[a.eventType];return c||(c=[],this._incoming[a.eventType]=c),c.push(g),h(),this._manager&&this._manager.updateDependencies(),g}registerOutgoing(e){if(this._outgoing[e])throw new Error(\"There is already a callback registered for this outgoing InputEvent: \"+e);const t=new i(e,{onEmit:(e,t,n,i)=>{this._manager?.emit(e.eventType,t,n,i)},onRemove:e=>{delete this._outgoing[e.eventType],this._manager?.updateDependencies()}});return this._outgoing[e]=t,this._outgoingEventTypes=null,this._manager&&this._manager.updateDependencies(),t}startCapturingPointer(e){this._manager?.setPointerCapture(e,!0)}stopCapturingPointer(e){this._manager?.setPointerCapture(e,!1)}refreshHasPendingInputs(){this._manager?.refreshHasPendingInputs()}_onUninstall(){this._manager&&(this.onUninstall(),this._manager=null)}_handleEvent(e){const t=this._incoming[e.type];if(t)for(const n of t)if(n.match.matches(e)&&(n.callback?.(e),e.shouldStopPropagation()))break}}class n{constructor(e,t,n){this.match=e,this._callback=t,this._handler=n}pause(){this._handler.onPause(this)}resume(){this._handler.onResume(this)}remove(){this._handler.onRemove(this)}get callback(){return this._callback}}class i{constructor(e,t){this.eventType=e,this._removed=!1,this._handler=t}emit(e,t,n){this._removed||this._handler.onEmit(this,e,t,n)}remove(){this._removed=!0,this._handler.onRemove(this)}}export{t as InputHandler};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{_ as e}from\"../../chunks/tslib.es6.js\";import t from\"../../core/Accessor.js\";import\"../../core/has.js\";import i from\"../../core/Logger.js\";import r from\"../../core/Queue.js\";import{property as n}from\"../../core/accessorSupport/decorators/property.js\";import\"../../core/RandomLCG.js\";import{subclass as s}from\"../../core/accessorSupport/decorators/subclass.js\";import{primaryKey as o,isSystemModifier as a}from\"./keys.js\";import{LatestPointer as l}from\"./handlers/LatestPointer.js\";import{MultiTouch as h}from\"./handlers/MultiTouch.js\";import{PropertiesPool as p}from\"../support/PropertiesPool.js\";let d=class extends t{constructor(e){super(e),this._pointerCaptures=new Map,this._nameToGroup={},this._handlers=[],this._handlersPriority=[],this._currentPropagation=null,this._updateDependenciesAfterPropagation=!1,this._sourceEvents=new Set,this._keyModifiers=new Set,this._activeKeyModifiers=new Set,this._stoppedPropagationEventIds=new Set,this.primaryKey=o,this._latestPointerType=\"mouse\",this._propertiesPool=new p({latestPointerLocation:P},this),this.latestPointerLocation=null,this._paused=!1,this.test={timestamp:void 0,hasCurrentPropagation:()=>!!this._currentPropagation}}initialize(){this.eventSource.onEventReceived=this._onEventReceived.bind(this),this._installRecognizers()}destroy(){const e=Object.keys(this._nameToGroup);for(const t of e)this.uninstallHandlers(t);this.eventSource.destroy(),this._currentPropagation=null,this._propertiesPool.destroy()}get hasPendingInputs(){return this._handlers.some((e=>e.handler.hasPendingInputs))}get latestPointerType(){return this._latestPointerType}get multiTouchActive(){return this._multiTouchHandler.multiTouchActive}get updating(){return this.hasPendingInputs||this._paused}installHandlers(e,t,i=_.INTERNAL){if(this._nameToGroup[e])return;if(0===t.length)return;const r={name:e,handlers:t.map((e=>({handler:e,active:!0,removed:!1,priorityIndex:0,groupPriority:i,eventCallback:null,uninstallCallback:null})))};this._nameToGroup[e]=r;for(let n=r.handlers.length-1;n>=0;n--){const e=r.handlers[n];this._handlers.push(e),e.handler.onInstall({updateDependencies:()=>{this.updateDependencies()},emit:(t,i,r,n,s)=>{this._emitInputEvent(e.priorityIndex+1,t,i,r,s,n)},setPointerCapture:(t,i)=>{this._setPointerCapture(r,e,t,i)},setEventCallback:t=>{e.eventCallback=t},setUninstallCallback:t=>{e.uninstallCallback=t},refreshHasPendingInputs:()=>{this.notifyChange(\"hasPendingInputs\")}})}this.updateDependencies()}uninstallHandlers(e){const t=this._nameToGroup[e];t?(t.handlers.forEach((e=>{e.removed=!0,e.uninstallCallback?.()})),delete this._nameToGroup[e],this._currentPropagation?this._currentPropagation.needsHandlerGarbageCollect=!0:this._garbageCollectRemovedHandlers()):i.getLogger(this).error(\"There is no InputHandler group registered under the name `\"+e+\"`\")}hasHandlers(e){return void 0!==this._nameToGroup[e]}isModifierKeyDown(e){return this._activeKeyModifiers.has(e)}updateDependencies(){if(this._currentPropagation)return void(this._updateDependenciesAfterPropagation=!0);this._updateDependenciesAfterPropagation=!1;const e=new Set,t=new Set;this._handlersPriority=[];for(let i=this._handlers.length-1;i>=0;i--){const e=this._handlers[i];e.priorityIndex=i,this._handlersPriority.push(e)}this._handlersPriority=this._sortHandlersPriority(this._handlersPriority);for(let i=this._handlersPriority.length-1;i>=0;i--){const r=this._handlersPriority[i];r.priorityIndex=i;let n=r.handler.hasSideEffects;if(!n)for(const t of r.handler.outgoingEventTypes)if(e.has(t)){n=!0;break}if(n)for(const i of r.handler.incomingEventMatches){e.add(i.eventType);for(const e of i.keyModifiers)a(e)||t.add(e)}r.active=n}this._sourceEvents=e,this._keyModifiers=t,this._pointerCaptures.size>0&&this._sourceEvents.add(\"pointer-capture-lost\"),this._keyModifiers.size>0&&(this._sourceEvents.add(\"key-down\"),this._sourceEvents.add(\"key-up\")),this.eventSource&&(this.eventSource.activeEvents=this._sourceEvents)}_setLatestPointer(e,t,i){this._latestPointerType=e;const r=this._get(\"latestPointerLocation\");if(null==r||r.x!==t||r.y!==i){const e=this._propertiesPool.get(\"latestPointerLocation\");e.x=t,e.y=i,this._set(\"latestPointerLocation\",e)}}_onEventReceived(e,t){if(\"pointer-capture-lost\"===e){const e=t;this._pointerCaptures.delete(e.native.pointerId)}this._updateKeyModifiers(e,t);const i=null!=this.test.timestamp?this.test.timestamp:t.native?t.native.timestamp:void 0,r=t.native?t.native.cancelable:void 0;this._emitInputEventFromSource(e,t,i,r)}_updateKeyModifiers(e,t){if(!t)return;let i=!1;const r=()=>{i||(this._activeKeyModifiers=new Set(this._activeKeyModifiers),i=!0)},n=(e,t)=>{t&&!this._activeKeyModifiers.has(e)?(r(),this._activeKeyModifiers.add(e)):!t&&this._activeKeyModifiers.has(e)&&(r(),this._activeKeyModifiers.delete(e))};if(\"key-down\"===e||\"key-up\"===e){const i=t.key;this._keyModifiers.has(i)&&n(i,\"key-down\"===e)}const s=t.native;n(\"Alt\",!!s?.altKey),n(\"Control\",!!s?.ctrlKey),n(\"Ctrl\",!!s?.ctrlKey),n(\"Shift\",!!s?.shiftKey),n(\"Meta\",!!s?.metaKey),n(\"Primary\",this._activeKeyModifiers.has(this.primaryKey))}_installRecognizers(){this._latestPointerHandler=new l(((e,t,i)=>this._setLatestPointer(e,t,i))),this._multiTouchHandler=new h,this.installHandlers(\"input-manager-logic\",[this._latestPointerHandler,this._multiTouchHandler],_.ALWAYS),this.recognizers.length>0&&this.installHandlers(\"default\",this.recognizers,_.INTERNAL)}_setPointerCapture(e,t,i,r){const n=e.name+\"-\"+t.priorityIndex,s=this._pointerCaptures.get(i.pointerId)||new Set;this._pointerCaptures.set(i.pointerId,s),r?(s.add(n),1===s.size&&this.eventSource&&this.eventSource.setPointerCapture(i,!0)):s.has(n)&&(s.delete(n),0===s.size&&(this._pointerCaptures.delete(i.pointerId),this.eventSource&&this.eventSource.setPointerCapture(i,!1)))}_garbageCollectRemovedHandlers(){this._handlers=this._handlers.filter((e=>!e.removed)),this.updateDependencies()}_emitInputEventFromSource(e,t,i,r){this._emitInputEvent(0,e,t,i,r)}_emitInputEvent(e,t,i,r,n,s){const o=void 0!==r?r:this._currentPropagation?this._currentPropagation.timestamp:performance.now(),a=void 0!==n&&n,l={event:new u(t,i,o,s||this._activeKeyModifiers,a),priorityIndex:e};this._currentPropagation?this._currentPropagation.events.push(l):this._doNewPropagation(l)}_doNewPropagation(e){this._currentPropagation={events:new r,currentHandler:null,needsHandlerGarbageCollect:!1,timestamp:e.event.timestamp},this._currentPropagation.events.push(e),this._continuePropagation()}_continuePropagation(){this._paused=!1;const e=this._currentPropagation;if(e){for(;e.events.length>0;){const{event:t,priorityIndex:i}=e.events.pop(),r=t.data?.eventId;if(!(null!=r&&this._stoppedPropagationEventIds.has(r)))for(e.currentHandler=this._handlersPriority[i];e.currentHandler;){if(e.currentHandler.removed)e.needsHandlerGarbageCollect=!0;else{if(e.currentHandler.active&&!t.shouldStopPropagation()&&e.currentHandler.eventCallback?.(t),t.shouldStopPropagation()){null!=r&&this._stoppedPropagationEventIds.add(r);break}if(t.shouldPausePropagation((()=>this._continuePropagation())))return void this._pausePropagation({event:t,priorityIndex:e.currentHandler.priorityIndex+1})}e.currentHandler=this._handlersPriority[e.currentHandler.priorityIndex+1]}}e.needsHandlerGarbageCollect&&this._garbageCollectRemovedHandlers(),this.hasPendingInputs||this._stoppedPropagationEventIds.clear(),this._currentPropagation=null,this._updateDependenciesAfterPropagation&&this.updateDependencies()}}_pausePropagation(e){const t=new r;t.push(e);const i=this._currentPropagation;if(i){for(;i.events.length;)t.push(i.events.pop());i.events=t,i.currentHandler=null,this._paused=!0}}_compareHandlerPriority(e,t){if(e.handler.hasSideEffects!==t.handler.hasSideEffects)return e.handler.hasSideEffects?1:-1;if(e.groupPriority!==t.groupPriority)return e.groupPriority>t.groupPriority?-1:1;for(const i of e.handler.incomingEventMatches)for(const e of t.handler.incomingEventMatches){if(i.eventType!==e.eventType)continue;const t=i.keyModifiers.filter((t=>e.keyModifiers.includes(t)));if(t.length===i.keyModifiers.length!==(t.length===e.keyModifiers.length))return i.keyModifiers.length>e.keyModifiers.length?-1:1}return e.priorityIndex>t.priorityIndex?-1:1}_sortHandlersPriority(e){const t=[];for(const i of e){let e=0;for(;e=0;)e++;t.splice(e,0,i)}return t}get debug(){const e=e=>{const t=this._setPointerCapture;this._setPointerCapture=()=>{},e(),this._setPointerCapture=t};return{injectEvent:(t,i)=>{e((()=>this._onEventReceived(t,i)))},disablePointerCapture:e}}};e([n({readOnly:!0})],d.prototype,\"hasPendingInputs\",null),e([n({constructOnly:!0})],d.prototype,\"eventSource\",void 0),e([n({constructOnly:!0})],d.prototype,\"recognizers\",void 0),e([n()],d.prototype,\"_latestPointerType\",void 0),e([n()],d.prototype,\"latestPointerType\",null),e([n()],d.prototype,\"multiTouchActive\",null),e([n({readOnly:!0})],d.prototype,\"latestPointerLocation\",void 0),e([n()],d.prototype,\"_paused\",void 0),e([n({readOnly:!0})],d.prototype,\"updating\",null),d=e([s(\"esri.views.input.InputManager\")],d);class u{constructor(e,t,i,r,n){this.type=e,this.data=t,this.timestamp=i,this.modifiers=r,this.cancelable=n,this._propagationState=c.NONE,this._resumeCallback=null}stopPropagation(){this._propagationState|=c.STOPPED}shouldStopPropagation(){return!!(this._propagationState&c.STOPPED)}async(e){this._propagationState|=c.PAUSED;const t=(e,t)=>{this._propagationState&=~c.PAUSED;const i=this._resumeCallback;if(this._resumeCallback=null,i&&i(),t)throw e;return e};return(\"function\"==typeof e?e():e).then((e=>t(e,!1)),(e=>t(e,!0)))}shouldPausePropagation(e){return!!(this._propagationState&c.PAUSED)&&(this._resumeCallback=e,!0)}preventDefault(){this.data.native.preventDefault()}}var c;!function(e){e[e.NONE=0]=\"NONE\",e[e.STOPPED=1]=\"STOPPED\",e[e.PAUSED=2]=\"PAUSED\"}(c||(c={}));const _={ALWAYS:1,DEFAULT:0,TOOL:-1,WIDGET:-2,INTERNAL:-3};class g{}const P=g;export{d as InputManager,_ as ViewEventPriorities};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport\"../../core/has.js\";import{makeHandle as t}from\"../../core/handleUtils.js\";import{rad2deg as e}from\"../../core/mathUtils.js\";import{createScreenPoint as n}from\"../../core/screenUtils.js\";import{InputHandler as a}from\"./InputHandler.js\";import{ViewEventPriorities as i}from\"./InputManager.js\";export{MouseButton}from\"./IViewEvents.js\";const r=[\"click\",\"double-click\",\"immediate-click\",\"immediate-double-click\",\"hold\",\"drag\",\"key-down\",\"key-up\",\"pointer-down\",\"pointer-move\",\"pointer-up\",\"pointer-drag\",\"mouse-wheel\",\"pointer-enter\",\"pointer-leave\",\"gamepad\",\"focus\",\"blur\"],o={};function s(t){return!!o[t]}function p(t){for(const e of t)if(!s(e))return!1;return!0}r.forEach((t=>{o[t]=!0}));class c{constructor(t){this._handlers=new Map,this._counter=0,this._handlerCounts=new Map,this.view=t,this.inputManager=null}connect(t){t&&this.disconnect(),this.inputManager=t,this._handlers.forEach((({handler:t,priority:e},n)=>this.inputManager?.installHandlers(n,[t],e)))}disconnect(){this.inputManager&&this._handlers.forEach(((t,e)=>this.inputManager?.uninstallHandlers(e))),this.inputManager=null}destroy(){this.disconnect(),this._handlers.clear(),this.view=null}on(e,n,a,r){const o=Array.isArray(e)?e:e.split(\",\");if(!p(o))return o.some(s)&&console.error(\"Error: registering input events and other events on the view at the same time is not supported.\"),null;let c,u;Array.isArray(n)?u=n:(c=n,u=[]),\"function\"==typeof a?c=a:r=a,r=null!=r?r:i.DEFAULT;const m=this._createUniqueGroupName(),d=new l(this.view,o,u,c);this._handlers.set(m,{handler:d,priority:r});for(const t of o){const e=this._handlerCounts.get(t)||0;this._handlerCounts.set(t,e+1)}return this.inputManager&&this.inputManager.installHandlers(m,[d],r),t((()=>this._removeHandler(m,o)))}hasHandler(t){return!!this._handlerCounts.get(t)}_removeHandler(t,e){if(this._handlers.has(t)){this._handlers.delete(t);for(const t of e){const e=this._handlerCounts.get(t);void 0===e||(1===e?this._handlerCounts.delete(t):this._handlerCounts.set(t,e-1))}}this.inputManager&&this.inputManager.uninstallHandlers(t)}_createUniqueGroupName(){return this._counter+=1,`viewEvents_${this._counter}`}}class l extends a{constructor(t,e,n,a){super(!0),this._latestDragStart=void 0,this.view=t;for(const i of e)switch(i){case\"click\":this.registerIncoming(\"click\",n,(e=>a(d(t,e))));break;case\"double-click\":this.registerIncoming(\"double-click\",n,(e=>a(g(t,e))));break;case\"immediate-click\":this.registerIncoming(\"immediate-click\",n,(e=>a(y(t,e))));break;case\"immediate-double-click\":this.registerIncoming(\"immediate-double-click\",n,(e=>a(v(t,e))));break;case\"hold\":this.registerIncoming(\"hold\",n,(e=>a(h(t,e))));break;case\"drag\":this.registerIncoming(\"drag\",n,(t=>{const e=this._wrapDrag(t);e&&a(e)}));break;case\"key-down\":this.registerIncoming(\"key-down\",n,(t=>a(f(t))));break;case\"key-up\":this.registerIncoming(\"key-up\",n,(t=>a(k(t))));break;case\"pointer-down\":this.registerIncoming(\"pointer-down\",n,(t=>a(I(t,\"pointer-down\"))));break;case\"pointer-move\":this.registerIncoming(\"pointer-move\",n,(t=>a(I(t,\"pointer-move\"))));break;case\"pointer-up\":this.registerIncoming(\"pointer-up\",n,(t=>a(I(t,\"pointer-up\"))));break;case\"pointer-drag\":this.registerIncoming(\"pointer-drag\",n,(t=>a(D(t))));break;case\"mouse-wheel\":this.registerIncoming(\"mouse-wheel\",n,(t=>a(P(t))));break;case\"pointer-enter\":this.registerIncoming(\"pointer-enter\",n,(t=>a(I(t,\"pointer-enter\"))));break;case\"pointer-leave\":this.registerIncoming(\"pointer-leave\",n,(t=>a(I(t,\"pointer-leave\"))));break;case\"gamepad\":this.registerIncoming(\"gamepad\",n,(t=>{a(_(t))}));break;case\"focus\":this.registerIncoming(\"focus\",n,(t=>{a(u(t))}));break;case\"blur\":this.registerIncoming(\"blur\",n,(t=>{a(m(t))}))}}_wrapDrag(t){const n=t.data,{x:a,y:i}=n.center,{action:r,pointerType:o,button:s}=n;if(\"start\"===r&&(this._latestDragStart=n),!this._latestDragStart)return;const p=n.pointer.native,c=n.buttons,{cancelable:l,timestamp:u}=t,m={x:this._latestDragStart.center.x,y:this._latestDragStart.center.y};return\"end\"===r&&(this._latestDragStart=void 0),{type:\"drag\",action:r,x:a,y:i,origin:m,pointerType:o,button:s,buttons:c,radius:n.radius,angle:e(n.angle),native:p,timestamp:u,cancelable:l,stopPropagation:()=>t.stopPropagation(),async:e=>t.async(e),preventDefault:()=>t.preventDefault()}}}function u(t){return{type:\"focus\",timestamp:t.timestamp,native:t.data.native,cancelable:t.cancelable,stopPropagation:()=>t.stopPropagation(),async:e=>t.async(e),preventDefault:()=>t.preventDefault()}}function m(t){return{type:\"blur\",timestamp:t.timestamp,native:t.data.native,cancelable:t.cancelable,stopPropagation:()=>t.stopPropagation(),async:e=>t.async(e),preventDefault:()=>t.preventDefault()}}function d(t,e){const{pointerType:a,button:i,buttons:r,x:o,y:s,native:p,eventId:c}=e.data,{cancelable:l,timestamp:u}=e;return{type:\"click\",pointerType:a,button:i,buttons:r,x:o,y:s,native:p,timestamp:u,screenPoint:n(o,s),mapPoint:b(t,o,s),eventId:c,cancelable:l,stopPropagation:()=>e.stopPropagation(),async:t=>e.async(t),preventDefault:()=>e.preventDefault()}}function g(t,e){const{pointerType:n,button:a,buttons:i,x:r,y:o,native:s,eventId:p}=e.data,{cancelable:c,timestamp:l}=e;return{type:\"double-click\",pointerType:n,button:a,buttons:i,x:r,y:o,native:s,timestamp:l,mapPoint:b(t,r,o),eventId:p,cancelable:c,stopPropagation:()=>e.stopPropagation(),async:t=>e.async(t),preventDefault:()=>e.preventDefault()}}function y(t,e){const{pointerType:n,button:a,buttons:i,x:r,y:o,native:s,eventId:p}=e.data,c=s.pointerId,{cancelable:l,timestamp:u}=e;return{type:\"immediate-click\",pointerId:c,pointerType:n,button:a,buttons:i,x:r,y:o,native:s,timestamp:u,mapPoint:b(t,r,o),eventId:p,cancelable:l,stopPropagation:()=>e.stopPropagation(),async:t=>e.async(t),preventDefault:()=>e.preventDefault()}}function v(t,e){const{pointerType:n,button:a,buttons:i,x:r,y:o,native:s,eventId:p}=e.data,c=s.pointerId,{cancelable:l,timestamp:u}=e;return{type:\"immediate-double-click\",pointerId:c,pointerType:n,button:a,buttons:i,x:r,y:o,native:s,timestamp:u,mapPoint:b(t,r,o),eventId:p,cancelable:l,stopPropagation:()=>e.stopPropagation(),async:t=>e.async(t),preventDefault:()=>e.preventDefault()}}function h(t,e){const{pointerType:n,button:a,buttons:i,x:r,y:o,native:s}=e.data,{cancelable:p,timestamp:c}=e;return{type:\"hold\",pointerType:n,button:a,buttons:i,x:r,y:o,native:s,timestamp:c,mapPoint:b(t,r,o),cancelable:p,stopPropagation:()=>e.stopPropagation(),async:t=>e.async(t),preventDefault:()=>e.preventDefault()}}function b(t,e,a){return t.toMap(n(e,a),{exclude:[]})}function f(t){const{key:e,repeat:n,native:a}=t.data,{cancelable:i,timestamp:r}=t;return{type:\"key-down\",key:e,repeat:n,native:a,timestamp:r,cancelable:i,stopPropagation:()=>t.stopPropagation(),async:e=>t.async(e),preventDefault:()=>t.preventDefault()}}function k(t){const{key:e,native:n}=t.data,{cancelable:a,timestamp:i}=t;return{type:\"key-up\",key:e,native:n,timestamp:i,cancelable:a,stopPropagation:()=>t.stopPropagation(),async:e=>t.async(e),preventDefault:()=>t.preventDefault()}}function I(t,e){const{x:n,y:a,button:i,buttons:r,native:o,eventId:s}=t.data,p=o.pointerId,c=o.pointerType,{cancelable:l,timestamp:u}=t;return{type:e,x:n,y:a,pointerId:p,pointerType:c,button:i,buttons:r,native:o,timestamp:u,eventId:s,cancelable:l,stopPropagation:()=>t.stopPropagation(),async:e=>t.async(e),preventDefault:()=>t.preventDefault()}}function D(t){const{x:e,y:n,buttons:a,native:i,eventId:r}=t.data.currentEvent,{button:o}=t.data.startEvent,s=t.data.startEvent.native.pointerId,p=t.data.startEvent.native.pointerType,c=t.data.action,l={x:t.data.startEvent.x,y:t.data.startEvent.y},{cancelable:u,timestamp:m}=t;return{type:\"pointer-drag\",x:e,y:n,pointerId:s,pointerType:p,button:o,buttons:a,action:c,origin:l,native:i,timestamp:m,eventId:r,cancelable:u,stopPropagation:()=>t.stopPropagation(),async:e=>t.async(e),preventDefault:()=>t.preventDefault()}}function P(t){const{cancelable:e,data:n,timestamp:a}=t,{x:i,y:r,deltaY:o,native:s}=n;return{type:\"mouse-wheel\",x:i,y:r,deltaY:o,native:s,timestamp:a,cancelable:e,stopPropagation:()=>t.stopPropagation(),async:e=>t.async(e),preventDefault:()=>t.preventDefault()}}function _(t){const{action:e,state:n,device:a}=t.data,{cancelable:i,timestamp:r}=t,{buttons:o,axes:s}=n;return{type:\"gamepad\",device:a,timestamp:r,action:e,buttons:o,axes:s,cancelable:i,stopPropagation:()=>t.stopPropagation(),async:e=>t.async(e),preventDefault:()=>t.preventDefault()}}export{c as ViewEvents,r as eventTypes};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{makeHandle as e}from\"../../core/handleUtils.js\";function i(i){const t=()=>i(\"visible\"===document.visibilityState);return document.addEventListener(\"visibilitychange\",t),e((()=>document.removeEventListener(\"visibilitychange\",t)))}export{i as onVisibilityChange};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{_ as e}from\"../../../chunks/tslib.es6.js\";import t from\"../../../core/Accessor.js\";import{property as s}from\"../../../core/accessorSupport/decorators/property.js\";import\"../../../core/has.js\";import\"../../../core/Logger.js\";import\"../../../core/RandomLCG.js\";import{subclass as r}from\"../../../core/accessorSupport/decorators/subclass.js\";let n=class extends t{constructor(e){super(),this.nativeIndex=null,this._detectedDeviceType=\"unknown\",\"standard\"===e.mapping?this._detectedDeviceType=\"standard\":i.test(e.id)?this._detectedDeviceType=\"spacemouse\":this._detectedDeviceType=\"unknown\",this.nativeIndex=e.index}get native(){const e=navigator.getGamepads?navigator.getGamepads():[];return null!=this.nativeIndex&&this.nativeIndex{this._connectGamepad(e.gamepad)},this._onDisconnectGamepad=e=>{const t=e.gamepad,n=t.index,i=this._inputDevices[n];i&&(this._emitGamepadEvent(t,s(i),!1),this._inputDevices.splice(n,1),this._latestUpdate.splice(n,1),this._input.gamepad.devices.remove(i),this.ensurePollingState())},this._frameTask=null,this._latestUpdate=new Array,this._inputDevices=new Array,this._callback=null;const n=\"getGamepads\"in window.navigator,i=window.isSecureContext;this.supported=n&&i,this.supported&&(d((e=>this._connectGamepad(e))),window.addEventListener(\"gamepadconnected\",this._onConnectGamepad),window.addEventListener(\"gamepaddisconnected\",this._onDisconnectGamepad),this.ensurePollingState())}destroy(){this.hasEventListeners=!1,this.supported&&(window.removeEventListener(\"gamepadconnected\",this._onConnectGamepad),window.removeEventListener(\"gamepaddisconnected\",this._onDisconnectGamepad))}set hasEventListeners(e){this._hasEventListeners!==e&&(this._hasEventListeners=e,this.ensurePollingState())}get _eventsEnabled(){return this.supported&&this._inputDevices.length>0&&this._hasEventListeners}set onEvent(e){this._callback=e}_connectGamepad(e){const s=new t(e);\"unknown\"!==s.deviceType&&(this._inputDevices[e.index]=s,this._input.gamepad.devices.add(s)),this.ensurePollingState()}ensurePollingState(){this._eventsEnabled?this._startPolling():this._stopPolling()}_startPolling(){null==this._frameTask&&(this._frameTask=e({update:()=>this._readGamepadState()}))}_stopPolling(){null!=this._frameTask&&(this._frameTask.remove(),this._frameTask=null,this._latestUpdate=new Array)}_readGamepadState(){const e=document.hasFocus(),t=this._element.contains(document.activeElement),a=\"document\"===this._input.gamepad.enabledFocusMode&&!e||\"view\"===this._input.gamepad.enabledFocusMode&&!t;d((e=>{const t=this._inputDevices[e.index];if(!t)return;const o=this._latestUpdate[e.index],d=s(t),c=a||n(d);if(o){if(o.timestamp===e.timestamp)return;if(!o.active&&c)return;if(i(o.state,d))return}this._emitGamepadEvent(e,d,!c)}))}_emitGamepadEvent(e,t,s){const n=this._latestUpdate[e.index],i=n&&n.active;if(!i&&!s)return;const a=!i&&s?\"start\":i&&s?\"update\":\"end\";this._latestUpdate[e.index]={timestamp:e.timestamp,state:t,active:s},this._callback&&this._callback({device:this._inputDevices[e.index],state:t,action:a})}}function o(e){if(!e)return!1;if(!e.connected)return!1;for(let t=0;tt.pressed?t.value||1:0)),axes:n.axes.map((n=>s(n,t.axisThreshold)))}:{buttons:[],axes:[]}}function n(t,n){if(t.axes.length!==n.axes.length)return!1;if(t.buttons.length!==n.buttons.length)return!1;for(let e=0;ethis._update(t.data)))}_update(t){const s=\"touch\"===t.native.pointerType?\"touch\":\"mouse\",{x:e,y:i}=t;s===this._value&&this._x===e&&this._y===i||(this._value=s,this._x=e,this._y=i,this._onChange(s,e,i))}}export{s as LatestPointer};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{signal as t}from\"../../../core/signal.js\";import{InputHandler as e}from\"../InputHandler.js\";class i extends e{get multiTouchActive(){return this._multiTouchActive.value}constructor(){super(!0),this._activeTouchPointerIds=new Set,this._multiTouchActive=t(!1),this._onPointerAdd=({data:t})=>{\"touch\"===t.pointerType&&(this._activeTouchPointerIds.add(t.native.pointerId),this._update())},this._onPointerRemove=({data:t})=>{\"touch\"===t.pointerType&&(this._activeTouchPointerIds.delete(t.native.pointerId),this._update())},this.registerIncoming(\"pointer-down\",this._onPointerAdd),this.registerIncoming(\"pointer-up\",this._onPointerRemove),this.registerIncoming(\"pointer-capture-lost\",this._onPointerRemove),this.registerIncoming(\"pointer-cancel\",this._onPointerRemove)}_update(){this._multiTouchActive.value=this._activeTouchPointerIds.size>1}}export{i as MultiTouch};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{InputHandler as t}from\"../InputHandler.js\";class e extends t{constructor(){super(!0),this.registerIncoming(\"context-menu\",(t=>t.data.native.preventDefault()))}}export{e as PreventContextMenu};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nfunction t(t,r){switch(r){case\"primary\":return\"touch\"===t.pointerType||0===t.button;case\"secondary\":return\"touch\"!==t.pointerType&&2===t.button;case\"tertiary\":return\"touch\"!==t.pointerType&&1===t.button}}function r(t,r){if(\"touch\"===t.pointerType)return!1;switch(r){case\"primary\":return 0===t.button;case\"secondary\":return 2===t.button;case\"tertiary\":return 1===t.button}}export{r as eventMatchesMousePointerAction,t as eventMatchesPointerAction};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport has from\"../../core/has.js\";const t=has(\"mac\")?\"Meta\":\"Control\",o=new Set([\"Alt\",\"Control\",\"Meta\",\"Shift\",\"Ctrl\",\"Primary\"]),r=t=>o.has(t);export{r as isSystemModifier,t as primaryKey};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{clock as t}from\"../../../core/clock.js\";import{removeMaybe as e}from\"../../../core/maybe.js\";import{createScreenPoint as i}from\"../../../core/screenUtils.js\";import{DragEventSeparator as o}from\"../DragEventSeparator.js\";import{InputHandler as a}from\"../InputHandler.js\";import{DefaultParameters as r,getPointerId as n,manhattanDistance as s}from\"./support.js\";class u extends a{constructor(e=r.maximumDoubleClickDelay,a=r.maximumDoubleClickDistance,n=r.maximumDoubleTouchDelay,s=r.maximumDoubleTouchDistance,u=t){super(!1),this._maximumDoubleClickDelay=e,this._maximumDoubleClickDistance=a,this._maximumDoubleTouchDelay=n,this._maximumDoubleTouchDistance=s,this._clock=u,this._doubleTapDragReady=!1,this._doubleTapDragActive=!1,this._dragStartCenter=i(0,0),this._pointerState=new Map,this._doubleTapDrag=this.registerOutgoing(\"double-tap-drag\"),this._dragEventSeparator=new o({start:(t,e)=>this._dragStart(t,e),update:(t,e)=>this._dragUpdate(e),end:(t,e)=>this._dragEnd(e)}),this.registerIncoming(\"drag\",(t=>this._dragEventSeparator.handle(t))),this.registerIncoming(\"pointer-down\",(t=>this._handlePointerDown(t))),this.registerIncoming(\"pointer-up\",(()=>this._handlePointerUp()))}onUninstall(){this._pointerState.forEach((t=>{t.doubleTapTimeout=e(t.doubleTapTimeout)}))}get hasPendingInputs(){for(const t of this._pointerState.values())if(null!=t.doubleTapTimeout)return!0;return!1}_clearPointerDown(t){const i=this._pointerState.get(t);i&&(i.doubleTapTimeout=e(i.doubleTapTimeout),this._pointerState.delete(t),this.refreshHasPendingInputs())}_dragStart(t,e){if(!this._doubleTapDragReady||1!==t)return;this._doubleTapDragReady=!1,this._doubleTapDragActive=!0;const{data:o,modifiers:a}=e,{center:r}=o;this._dragStartCenter=r;const n=d(\"begin\",i(0,0),o);this._doubleTapDrag.emit(n,void 0,a),e.stopPropagation()}_dragUpdate(t){if(!this._doubleTapDragActive)return;const{data:e,modifiers:o}=t,{center:a}=e,r=d(\"update\",i(a.x-this._dragStartCenter.x,a.y-this._dragStartCenter.y),e);this._doubleTapDrag.emit(r,void 0,o),t.stopPropagation()}_dragEnd(t){if(!this._doubleTapDragActive)return;const{data:e,modifiers:o}=t,{center:a}=e,r=d(\"end\",i(a.x-this._dragStartCenter.x,a.y-this._dragStartCenter.y),e);this._doubleTapDrag.emit(r,void 0,o),this._doubleTapDragActive=!1,t.stopPropagation()}_handlePointerDown(t){const{data:e}=t,i=n(e),o=this._pointerState.get(i),{pointerType:a}=e.native;if(o){const r=\"touch\"===a?this._maximumDoubleTouchDistance:this._maximumDoubleClickDistance;this._clearPointerDown(i),s(o.event.data,e)>r?this._storePointerDown(t):this._doubleTapDragReady=!0}else this._storePointerDown(t)}_handlePointerUp(){this._doubleTapDragReady=!1}_storePointerDown(t){const{data:e}=t,{pointerType:i}=e.native,o=n(e),a=\"touch\"===i?this._maximumDoubleTouchDelay:this._maximumDoubleClickDelay,r=this._clock.setTimeout((()=>this._clearPointerDown(o)),a);this._pointerState.set(o,{event:t,doubleTapTimeout:r}),this.refreshHasPendingInputs()}}function d(t,e,i){const{button:o,buttons:a,pointer:r,pointers:n,pointerType:s,timestamp:u}=i;return{action:t,delta:e,button:o,buttons:a,pointer:r,pointers:n,pointerType:s,timestamp:u}}export{u as DoubleTapDrag};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{createScreenPoint as t}from\"../../../core/screenUtils.js\";import{Milliseconds as e}from\"../../../core/time.js\";import{InputHandler as i}from\"../InputHandler.js\";import{fitCircleLSQ as n}from\"./support.js\";class s extends i{constructor(t){super(!1),this._navigationTouch=t,this._startStateModifiers=new Set,this._activePointerMap=new Map,this._isDragging=!1,this._isCurrentDragSuppressed=!1,this._drag=this.registerOutgoing(\"drag\"),this.registerIncoming(\"pointer-drag\",this._handlePointerDrag.bind(this)),this.registerIncoming(\"pointer-up\",this._handlePointerUpAndPointerLost.bind(this)),this.registerIncoming(\"pointer-capture-lost\",this._handlePointerUpAndPointerLost.bind(this)),this.registerIncoming(\"pointer-cancel\",this._handlePointerUpAndPointerLost.bind(this))}_createPayload(t,e,i,n){return{action:t,pointerType:this._pointerType,button:this._mouseButton,buttons:e.buttons,timestamp:n,pointers:o(this._activePointerMap),pointer:e,angle:i.angle,radius:i.radius,center:i.center}}_addPointer(t){const e=t.native.pointerId,i=a(this._activePointerMap).angle,n={event:t,initialAngle:0,lastAngle:0};this._activePointerMap.set(e,n);const s=h(n,r(this._activePointerMap));n.initialAngle=s,n.lastAngle=s,this._updatePointerAngles(i)}_updatePointer(t){if(t&&null==t.x&&null==t.y)return;const e=t.native.pointerId,i=this._activePointerMap.get(e);i?i.event=t:this._addPointer(t)}_removePointer(t){const e=a(this._activePointerMap).angle;this._activePointerMap.delete(t),this._updatePointerAngles(e)}_updatePointerAngles(t){const e=a(this._activePointerMap);this._activePointerMap.forEach((i=>{i.initialAngle=h(i,e)-t,i.lastAngle=h(i,e)-t}))}_emitEvent(t,e,i){const n=a(this._activePointerMap);this._drag.emit(this._createPayload(t,e,n,i),void 0,this._startStateModifiers)}_handlePointerUpAndPointerLost(t){const i=t.data.native.pointerId,n=e(t.timestamp);this._activePointerMap.get(i)&&(1===this._activePointerMap.size?(this._updatePointer(t.data),!this._isCurrentDragSuppressed&&this._emitEvent(\"end\",t.data,n),this._isDragging=!1,this._isCurrentDragSuppressed=!1,this._removePointer(i)):(this._removePointer(i),this._emitEvent(\"removed\",t.data,e(t.timestamp))))}_handlePointerDrag(t){const i=t.data,n=i.currentEvent,s=e(t.timestamp);switch(i.action){case\"start\":case\"update\":this._isDragging?this._activePointerMap.has(n.native.pointerId)?(this._updatePointer(n),!this._isCurrentDragSuppressed&&this._emitEvent(\"update\",n,s)):(this._addPointer(n),this._emitEvent(\"added\",n,s),this._isCurrentDragSuppressed=this._isSuppressed):(this._updatePointer(n),this._pointerType=t.data.startEvent.pointerType,this._mouseButton=t.data.startEvent.button,this._startStateModifiers=t.modifiers,this._isDragging=!0,this._isCurrentDragSuppressed=this._isSuppressed,!this._isCurrentDragSuppressed&&this._emitEvent(\"start\",n,s))}}get _isSuppressed(){return!!this._navigationTouch&&!this._navigationTouch.browserTouchPanEnabled&&\"touch\"===this._pointerType&&1===this._activePointerMap.size}}function r(e){const i=[];return e.forEach((e=>{i.push(t(e.event.x,e.event.y))})),n(i)}function a(t){const e=r(t);let i=0;return t.forEach((t=>{let n=h(t,e),s=n-t.lastAngle;for(;s>Math.PI;)s-=2*Math.PI;for(;s<-Math.PI;)s+=2*Math.PI;n=t.lastAngle+s,t.lastAngle=n;const r=n-t.initialAngle;i+=r})),i/=t.size||1,{angle:i,radius:e.radius,center:e.center}}function o(t){const e=new Map;return t.forEach(((t,i)=>e.set(i,t.event))),e}function h(t,e){const i=t.event,n=i.x-e.center.x,s=i.y-e.center.y;return Math.atan2(s,n)}var p;!function(t){t[t.Left=0]=\"Left\",t[t.Middle=1]=\"Middle\",t[t.Right=2]=\"Right\",t[t.Back=3]=\"Back\",t[t.Forward=4]=\"Forward\",t[t.Undefined=-1]=\"Undefined\"}(p||(p={}));export{p as Button,s as Drag};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{clock as t}from\"../../../core/clock.js\";import{InputHandler as e}from\"../InputHandler.js\";import{DefaultParameters as i,getPointerId as o,manhattanDistance as a}from\"./support.js\";class m extends e{constructor(e=i.maximumDoubleClickDelay,o=i.maximumDoubleClickDistance,a=i.maximumDoubleTouchDelay,m=i.maximumDoubleTouchDistance,n=t){super(!1),this._maximumDoubleClickDelay=e,this._maximumDoubleClickDistance=o,this._maximumDoubleTouchDelay=a,this._maximumDoubleTouchDistance=m,this._clock=n,this._pointerState=new Map,this._immediateDoubleClick=this.registerOutgoing(\"immediate-double-click\"),this.registerIncoming(\"pointer-down\",this._handlePointerDown.bind(this)),this.registerIncoming(\"pointer-up\",this._handlePointerUp.bind(this))}onUninstall(){this._pointerState.forEach((t=>{t.immediateDoubleClick&&t.immediateDoubleClick.timeoutHandle.remove()})),super.onUninstall()}_handlePointerDown(t){const e=t.data,i=o(e);if(!this._pointerState.has(i)){const t={downButton:e.native.button,x:e.x,y:e.y,immediateDoubleClick:null};this._pointerState.set(i,t),this.startCapturingPointer(e.native)}}_handlePointerUp(t){const e=t.data,i=o(e),m=this._pointerState.get(i);if(m&&m.downButton===e.native.button){const i=m.immediateDoubleClick,o=\"touch\"===t.data.native.pointerType?this._maximumDoubleTouchDistance:this._maximumDoubleClickDistance;i?(i.timeoutHandle.remove(),a(i,t.data)>o?this._startImmediateDoubleClick(t,m):(this._immediateDoubleClick.emit(t.data,void 0,i.modifiers),this._removeState(e))):a(m,t.data)>o?this._removeState(e):this._startImmediateDoubleClick(t,m)}}_startImmediateDoubleClick(t,e){const i=\"touch\"===t.data.native.pointerType?this._maximumDoubleTouchDelay:this._maximumDoubleClickDelay;e.immediateDoubleClick={x:t.data.x,y:t.data.y,modifiers:t.modifiers,timeoutHandle:this._clock.setTimeout((()=>this._removeState(t.data)),i)}}_removeState(t){const e=o(t);this._pointerState.delete(e),this.stopCapturingPointer(t.native),this.refreshHasPendingInputs()}}export{m as ImmediateDoubleClick};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{clock as t}from\"../../../core/clock.js\";import{removeMaybe as e}from\"../../../core/maybe.js\";import{InputHandler as i}from\"../InputHandler.js\";import{DefaultParameters as n,euclideanDistance as o}from\"./support.js\";class r extends i{constructor(e=n.maximumClickDelay,i=n.movementUntilMouseDrag,o=n.movementUntilPenDrag,r=n.movementUntilTouchDrag,s=n.holdDelay,a=t){super(!1),this._maximumClickDelay=e,this._movementUntilMouseDrag=i,this._movementUntilPenDrag=o,this._movementUntilTouchDrag=r,this._holdDelay=s,this._clock=a,this._pointerState=new Map,this._pointerDrag=this.registerOutgoing(\"pointer-drag\"),this._immediateClick=this.registerOutgoing(\"immediate-click\"),this._pointerHold=this.registerOutgoing(\"hold\"),this.registerIncoming(\"pointer-down\",(t=>this._handlePointerDown(t))),this.registerIncoming(\"pointer-up\",(t=>this._handlePointerLoss(t,\"pointer-up\"))),this.registerIncoming(\"pointer-capture-lost\",(t=>this._handlePointerLoss(t,\"pointer-capture-lost\"))),this.registerIncoming(\"pointer-cancel\",(t=>this._handlePointerLoss(t,\"pointer-cancel\"))),this._moveHandle=this.registerIncoming(\"pointer-move\",(t=>this._handlePointerMove(t))),this._moveHandle.pause()}onUninstall(){this._pointerState.forEach((t=>{t.holdTimeout=e(t.holdTimeout)})),super.onUninstall()}_handlePointerDown(t){const e=t.data,i=e.native.pointerId;let n=null;0===this._pointerState.size&&(n=this._clock.setTimeout((()=>{const e=this._pointerState.get(i);if(e){if(!e.isDragging){const i=e.previousEvent;this._pointerHold.emit(i,void 0,t.modifiers),e.holdEmitted=!0}e.holdTimeout=null}}),this._holdDelay));const o={startEvent:e,previousEvent:e,startTimestamp:t.timestamp,isDragging:!1,downButton:e.native.button,holdTimeout:n,modifiers:new Set};this._pointerState.set(i,o),this.startCapturingPointer(e.native),this._moveHandle.resume(),this._pointerState.size>1&&this._startDragging(t)}_handlePointerMove(t){const e=t.data,i=e.native.pointerId,n=this._pointerState.get(i);if(n){if(n.isDragging)this._pointerDrag.emit(s(\"update\",n,e),void 0,n.modifiers);else{o(e,n.startEvent)>this._getDragThreshold(e.native.pointerType)&&this._startDragging(t)}n.previousEvent=e}}_getDragThreshold(t){switch(t){case\"touch\":return this._movementUntilTouchDrag;case\"pen\":return this._movementUntilPenDrag;default:return this._movementUntilMouseDrag}}_startDragging(t){const e=t.data,i=e.native.pointerId;this._pointerState.forEach((n=>{null!=n.holdTimeout&&(n.holdTimeout.remove(),n.holdTimeout=null),n.isDragging||(n.modifiers=t.modifiers,n.isDragging=!0,i===n.startEvent.native.pointerId?this._pointerDrag.emit(s(\"start\",n,e)):this._pointerDrag.emit(s(\"start\",n,n.previousEvent),t.timestamp))}))}_handlePointerLoss(t,e){const i=t.data,n=i.native.pointerId,o=this._pointerState.get(n);if(o){if(null!=o.holdTimeout&&(o.holdTimeout.remove(),o.holdTimeout=null),o.isDragging)this._pointerDrag.emit(s(\"end\",o,\"pointer-up\"===e?i:o.previousEvent),void 0,o.modifiers);else if(\"pointer-up\"===e&&o.downButton===i.native.button){t.timestamp-o.startTimestamp<=this._maximumClickDelay&&!o.holdEmitted&&this._immediateClick.emit(i)}this._pointerState.delete(n),this.stopCapturingPointer(i.native),0===this._pointerState.size&&this._moveHandle.pause()}}}function s(t,e,i){return{action:t,startEvent:e.startEvent,previousEvent:e.previousEvent,currentEvent:i}}export{r as PointerClickHoldAndDrag};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{clock as e}from\"../../../core/clock.js\";import{removeMaybe as t}from\"../../../core/maybe.js\";import{InputHandler as i}from\"../InputHandler.js\";import{DefaultParameters as o,manhattanDistance as n,getPointerId as s}from\"./support.js\";class l extends i{constructor(t=o.maximumDoubleClickDelay,i=o.maximumDoubleClickDistance,n=o.maximumDoubleTouchDelay,s=o.maximumDoubleTouchDistance,l=e){super(!1),this._maximumDoubleClickDelay=t,this._maximumDoubleClickDistance=i,this._maximumDoubleTouchDelay=n,this._maximumDoubleTouchDistance=s,this._clock=l,this._pointerState=new Map,this._click=this.registerOutgoing(\"click\"),this._doubleClick=this.registerOutgoing(\"double-click\"),this.registerIncoming(\"immediate-click\",(e=>this._handleImmediateClick(e))),this.registerIncoming(\"pointer-down\",(e=>this._handlePointerDown(e)))}onUninstall(){this._pointerState.forEach((e=>e.doubleClickTimer=t(e.doubleClickTimer)))}get hasPendingInputs(){for(const e of this._pointerState.values())if(null!=e.doubleClickTimer)return!0;return!1}_clearDoubleClickTimer(e,i){const o=this._pointerState.get(e);o&&(o.doubleClickTimer=t(o.doubleClickTimer),i&&this._click.emit(o.event.data,void 0,o.event.modifiers),this._pointerState.delete(e),this.refreshHasPendingInputs())}_doubleClickTimeoutExceeded(e){const t=this._pointerState.get(e);1===t.pointerDownCount&&this._click.emit(t.event.data,void 0,t.event.modifiers),t.doubleClickTimer=null,this._pointerState.delete(e),this.refreshHasPendingInputs()}_handleImmediateClick(e){const t=e.data,{pointerType:i}=t.native,o=r(t);if(!this._pointerState.has(o))return void this._startClick(e);const s=this._pointerState.get(o),{data:l,modifiers:c}=s.event,a=\"touch\"===i?this._maximumDoubleTouchDistance:this._maximumDoubleClickDistance;n(l,t)>a?(this._clearDoubleClickTimer(o,!0),this._startClick(e)):(this._clearDoubleClickTimer(o,!1),2===s.pointerDownCount&&this._doubleClick.emit(l,void 0,c))}_handlePointerDown(e){const t=s(e.data),i=this._pointerState.get(t);i&&(i.pointerDownCount+=1)}_startClick(e){const{data:t}=e,{native:{pointerType:i}}=t,o=s(t),n=\"touch\"===i?this._maximumDoubleTouchDelay:this._maximumDoubleClickDelay,l=this._clock.setTimeout((()=>this._doubleClickTimeoutExceeded(o)),n),r=1;this._pointerState.set(o,{event:e,doubleClickTimer:l,pointerDownCount:r}),this.refreshHasPendingInputs()}}function r(e){const{pointerId:t,pointerType:i,button:o}=e.native;return\"mouse\"===i?`${t}:${o}`:`${i}`}export{l as SingleAndDoubleClick};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{createScreenPoint as e}from\"../../../core/screenUtils.js\";const t={maximumClickDelay:300,movementUntilMouseDrag:1.5,movementUntilPenDrag:6,movementUntilTouchDrag:6,holdDelay:500,maximumDoubleClickDelay:250,maximumDoubleClickDistance:10,maximumDoubleTouchDelay:350,maximumDoubleTouchDistance:35};function n(e,t){return Math.abs(t.x-e.x)+Math.abs(t.y-e.y)}function r(e,t){const n=t.x-e.x,r=t.y-e.y;return Math.sqrt(n*n+r*r)}function o(t,n){if(n?(n.radius=0,n.center.x=0,n.center.y=0):n={radius:0,center:e()},0===t.length)return n;if(1===t.length)return n.center.x=t[0].x,n.center.y=t[0].y,n;if(2===t.length){const[e,r]=t,[o,u]=[r.x-e.x,r.y-e.y];return n.radius=Math.sqrt(o*o+u*u)/2,n.center.x=(e.x+r.x)/2,n.center.y=(e.y+r.y)/2,n}let r=0,o=0;for(let e=0;ee.x-r)),c=t.map((e=>e.y-o));let i=0,a=0,l=0,m=0,s=0,x=0,y=0;for(let e=0;ethis.graphic?.symbol),(t=>{null!=t&&t!==this.focusedSymbol&&t!==this._originalSymbol&&(this._originalSymbol=t,this._focused&&null!=this.focusedSymbol&&(this.graphic.symbol=this.focusedSymbol))}),s)}detachSymbolChanged(){null!=this._graphicSymbolChangedHandle&&(this._graphicSymbolChangedHandle.remove(),this._graphicSymbolChangedHandle=null)}onElevationChange(){}onViewChange(){}_updateGraphicSymbol(){this.graphic.symbol=this._focused&&null!=this.focusedSymbol?this.focusedSymbol:this._originalSymbol}_resetGraphicSymbol(){this.graphic.symbol=this._originalSymbol}_intersectDistance2D(t,e,o,i){if(null==(i=i||d(o)))return null;const s=1;let n=this._circleCollisionCache;if(\"point\"===o.type&&\"cim\"===i.type&&\"CIMPointSymbol\"===i.data.symbol?.type&&i.data.symbol.symbolLayers){const{offsetX:l,offsetY:n,size:a}=_(i),c=r(e,j),p=a/2,m=t.toScreen(o),u=m.x+l,y=m.y+n;return h(c,[u,y]){i.dragging&&(e=!0,i.events.emit(\"drag\",{action:\"end\",start:t,screenPoint:t}))})),e&&(this.view.toolViewManager.activeTool=null)}whenCreated(){return this._creationFinishedResolver.promise}onManipulatorSelectionChanged(){}onActivate(){}onDeactivate(){}onShow(){}onHide(){}onEditableChange(){}onInputEvent(t){}onInputEventAfter(t){}get internallyEditable(){return this.getEditableFlag(s.USER)&&this.getEditableFlag(s.MANAGER)}finishToolCreation(){this.created||this._creationFinishedResolver.resolve(this),this._set(\"created\",!0)}_syncVisible(){if(this.initialized)if(this.visible)this._show();else if(this._hide(),this.active)return void(this.view.activeTool=null)}_show(){this._updateManipulatorAttachment(),this.onShow()}_hide(){this._updateManipulatorAttachment(),this.onHide()}_updateManipulatorAttachment(){this.visible?this.manipulators.attach():this.manipulators.detach()}};t([a({constructOnly:!0})],n.prototype,\"view\",void 0),t([a({readOnly:!0})],n.prototype,\"active\",null),t([a({value:!0})],n.prototype,\"visible\",null),t([a({value:!0})],n.prototype,\"editable\",null),t([a({readOnly:!0})],n.prototype,\"manipulators\",void 0),t([a({readOnly:!0})],n.prototype,\"updating\",null),t([a()],n.prototype,\"cursor\",null),t([a({readOnly:!0})],n.prototype,\"automaticManipulatorSelection\",void 0),t([a()],n.prototype,\"hasFocusedManipulators\",null),t([a()],n.prototype,\"hasGrabbedManipulators\",void 0),t([a()],n.prototype,\"hasHoveredManipulators\",void 0),t([a()],n.prototype,\"firstGrabbedManipulator\",void 0),t([a({readOnly:!0})],n.prototype,\"created\",void 0),t([a({readOnly:!0})],n.prototype,\"removeIncompleteOnCancel\",void 0),n=t([o(\"esri.views.interactive.InteractiveToolBase\")],n);export{n as InteractiveToolBase};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport t from\"../../core/Collection.js\";var a;!function(t){t[t.WhenToolEditable=0]=\"WhenToolEditable\",t[t.WhenToolNotEditable=1]=\"WhenToolNotEditable\",t[t.Always=2]=\"Always\"}(a||(a={}));class i{constructor(){this._isToolEditable=!0,this._manipulators=new t,this._resourceContexts={manipulator3D:{}},this._attached=!1}set isToolEditable(t){this._isToolEditable=t}get length(){return this._manipulators.length}add(t,i=a.WhenToolEditable){this.addMany([t],i)}addMany(t,i=a.WhenToolEditable){for(const a of t){const t={manipulator:a,visibilityPredicate:i,attached:!1};this._manipulators.add(t),this._attached&&this._updateManipulatorAttachment(t)}}remove(t){for(let a=0;a{this._detachManipulator(t)})),this._manipulators.removeAll()}attach(){this._manipulators.forEach((t=>{this._updateManipulatorAttachment(t)})),this._attached=!0}detach(){this._manipulators.forEach((t=>{this._detachManipulator(t)})),this._attached=!1}destroy(){this.detach(),this._manipulators.forEach((({manipulator:t})=>t.destroy())),this._manipulators.destroy(),this._resourceContexts=null}on(t,a){return this._manipulators.on(t,(t=>{a(t)}))}forEach(t){for(const a of this._manipulators.items)t(a)}some(t){return this._manipulators.items.some(t)}toArray(){const t=[];return this.forEach((a=>t.push(a.manipulator))),t}intersect(t,a){let i=null,e=Number.MAX_VALUE;return this._manipulators.forEach((({manipulator:o,attached:s})=>{if(!s||!o.interactive)return;const r=o.intersectionDistance(t,a);null!=r&&r0||this._draggedManipulators.size>0}handleInputEvent(e,o){const a=()=>e.stopPropagation();switch(e.type){case\"pointer-move\":l(e.pointerType)&&this._pointerLocations.set(e.pointerId,{x:e.x,y:e.y,pointerType:e.pointerType});break;case\"drag\":this._grabbedManipulators.size>0?this._stopDrag=!0:\"start\"===e.action?this._externallyDragging=!0:\"end\"===e.action&&(this._externallyDragging=!1),this._stopDrag&&(a(),\"end\"===e.action&&(this._stopDrag=!1));break;case\"pointer-down\":{if(!p(e))break;const t=r(e),i=s(t,e.pointerType,o.forEachTool);if(null==i)break;const n=i.manipulator,l=i.tool;null==n||null==l||!n.interactive||n.grabbable&&n.grabbableForEvent(e)||!n.grabbing||n.dragging||this._releaseManipulatorBeforeDragging(n,e,o),null!=n&&null!=l&&n.interactive&&n.grabbable&&n.grabbableForEvent(e)&&!n.grabbing&&(this._grabbedManipulators.set(e.pointerId,{manipulator:n,tool:l,start:t,pointerType:e.pointerType}),1===this._grabbedManipulators.size&&null==o.activeTool&&(this._revertToNullActiveTool=!0,o.setActiveTool(i.tool)),n.grabbing=!0,n.events.emit(\"grab-changed\",{action:\"start\",pointerType:e.pointerType,screenPoint:t}),a());break}case\"pointer-up\":this._draggedManipulators.has(e.pointerId)||this._handlePointerEnd(e,o);break;case\"pointer-drag\":{if(!p(e))break;const i=this._grabbedManipulators.get(e.pointerId),n=i?.manipulator,s=i?.tool;if(null==n||null==s)break;const l=r(e);l.x=t(l.x,0,o.view.width),l.y=t(l.y,0,o.view.height);const u=i.start,c=this._draggedManipulators.get(e.pointerId);switch(e.action){case\"start\":case\"update\":\"update\"!==e.action&&1!==this._grabbedManipulators.size||(n.dragging=!0,c?n.events.emit(\"drag\",{action:\"update\",start:u,screenPoint:l}):n.events.emit(\"drag\",{action:\"start\",start:u,screenPoint:l,pointerType:e.pointerType}),this._draggedManipulators.set(e.pointerId,{tool:s,manipulator:n,start:u}));break;case\"end\":n.dragging=!1,c&&n.events.emit(\"drag\",{action:\"end\",start:u,screenPoint:l}),this._draggedManipulators.delete(e.pointerId),this._handlePointerEnd(e,o)}a();break}case\"immediate-click\":{const t=r(e),i=s(t,e.pointerType,o.forEachTool);if(u(e)||o.forEachTool((e=>{if((null==i||i.tool!==e||e.automaticManipulatorSelection)&&e.manipulators){let t=!1;e.manipulators.forEach((({manipulator:e})=>{e.selected&&(e.selected=!1,t=!0)})),t&&e.onManipulatorSelectionChanged&&e.onManipulatorSelectionChanged()}})),null==i)break;const{manipulator:n,tool:l}=i;if(!n.interactive)break;n.selectable&&l.automaticManipulatorSelection&&(n.selected=!n.selected,l.onManipulatorSelectionChanged&&l.onManipulatorSelectionChanged());const p=e.native.shiftKey;n.events.emit(\"immediate-click\",{screenPoint:t,button:e.button,pointerType:e.pointerType,shiftKey:p,stopPropagation:a}),c(n,a);break}case\"click\":{const t=r(e),i=s(t,e.pointerType,o.forEachTool),n=i?.manipulator;if(null==n||!n.interactive)break;const l=e.native.shiftKey;n.events.emit(e.type,{screenPoint:t,button:e.button,pointerType:e.pointerType,shiftKey:l}),a();break}case\"double-click\":{const t=r(e),i=s(t,e.pointerType,o.forEachTool),n=null!=i?i.manipulator:null;if(null==n||!n.interactive)break;const l=e.native.shiftKey;n.events.emit(\"double-click\",{screenPoint:t,button:e.button,pointerType:e.pointerType,shiftKey:l,stopPropagation:a}),c(n,a);break}case\"immediate-double-click\":{const t=r(e),i=s(t,e.pointerType,o.forEachTool),n=null!=i?i.manipulator:null;if(null==n||!n.interactive)break;const l=e.native.shiftKey;n.events.emit(\"immediate-double-click\",{screenPoint:t,button:e.button,pointerType:e.pointerType,shiftKey:l,stopPropagation:a}),\"mouse\"===e.pointerType&&c(n,a);break}}this._onFocusChange(o.forEachTool)}_releaseManipulatorBeforeDragging(e,t,o){e.grabbing=!1,e.events.emit(\"grab-changed\",{action:\"end\",pointerType:t.pointerType,screenPoint:r(t)}),this._grabbedManipulators.forEach((({manipulator:t},o)=>{t===e&&this._grabbedManipulators.delete(o)})),this._afterManipulatorRelease(o.setActiveTool)}_handlePointerEnd(e,t){const o=this._grabbedManipulators.get(e.pointerId)?.manipulator;null!=o&&o.grabbing&&(o.grabbing=!1,o.events.emit(\"grab-changed\",{action:\"end\",pointerType:e.pointerType,screenPoint:r(e)}),this._grabbedManipulators.delete(e.pointerId),this._afterManipulatorRelease(t.setActiveTool))}_onFocusChange(e){this._updateCursor(),this._updateFocusedManipulatorTools(e)}_updateCursor(){this._grabbedManipulators.size>0?this._cursor=n(this._grabbedManipulators)||\"grabbing\":this._hoveredManipulators.size>0?this._cursor=n(this._hoveredManipulators)||\"pointer\":this._cursor=null}_updateFocusedManipulatorTools(t){const o=new Set,a=new Set;this._grabbedManipulators.forEach((({tool:e})=>{o.add(e)})),this._hoveredManipulators.forEach((({tool:e})=>{a.add(e)})),t((t=>{t.hasGrabbedManipulators=o.has(t),t.hasHoveredManipulators=a.has(t);const r=this._grabbedManipulators.values(),i=e(r,(({tool:e})=>e===t));t.firstGrabbedManipulator=null!=i?i.manipulator:null}))}clearPointers(e,{forEachTool:t,setActiveTool:o},a=!0,r){const i=(t,o)=>t===e&&(null==r||r===o);this._grabbedManipulators.forEach((({tool:e,manipulator:t,pointerType:o},a)=>{i(e,t)&&(this._grabbedManipulators.delete(a),t.grabbing=!1,t.events.emit(\"grab-changed\",{action:\"end\",screenPoint:null,pointerType:o}))})),this._draggedManipulators.forEach((({tool:e,manipulator:t},o)=>{i(e,t)&&(this._draggedManipulators.delete(o),t.dragging=!1,t.events.emit(\"drag\",{action:\"cancel\"}))})),a&&this._hoveredManipulators.forEach((({tool:e,manipulator:t},o)=>{i(e,t)&&(this._hoveredManipulators.delete(o),t.hovering=!1)})),this._afterManipulatorRelease(o),this._onFocusChange(t)}updateHoveredStateFromKnownPointers(e){this._pointerLocations.forEach(((t,a)=>{this._updateHoveredStateForPointerAtScreenPosition(o(t.x,t.y),a,t.pointerType,e)}))}handleHoverEvent(e,t){const o=e.type;\"pointer-up\"!==o&&\"immediate-click\"!==o&&\"pointer-move\"!==o||!l(e.pointerType)||(\"pointer-up\"!==o&&this._externallyDragging?this._clearHoveredManipulatorStates(e.pointerId):this._updateHoveredStateForPointerAtScreenPosition(r(e),e.pointerId,e.pointerType,t))}_updateHoveredStateForPointerAtScreenPosition(e,t,o,a){let r=s(e,o,a);const i=this._hoveredManipulators.get(t)?.manipulator;null==r||r.manipulator.interactive||(r=null),null!=r&&i===r.manipulator||(null!=i&&(i.hovering=!1),null!=r?(r.manipulator.hovering=!0,this._hoveredManipulators.set(t,r)):this._hoveredManipulators.delete(t),this._onFocusChange(a))}_afterManipulatorRelease(e){0===this._grabbedManipulators.size&&this._revertToNullActiveTool&&(e(null),this._revertToNullActiveTool=!1)}_clearHoveredManipulatorStates(e){this._hoveredManipulators.forEach((({manipulator:t},o)=>{e===o&&(this._hoveredManipulators.delete(e),t.hovering=!1)}))}}function n(e){for(const{manipulator:t}of e.values())if(null!=t&&t.interactive){if(t.grabbing&&t.grabCursor)return t.grabCursor;if(t.cursor)return t.cursor}return null}function s(e,t,o){let r=null;return o((o=>{if(null==o.manipulators||!a(o))return!1;const i=o.manipulators.intersect(e,t);return null!=i&&(r={tool:o,manipulator:i},!0)})),r}function l(e){return\"mouse\"===e}function p(e){return\"mouse\"!==e.pointerType||0===e.button}function u(e){return!!e.native.shiftKey}function c(e,t){e?.consumesClicks&&t()}export{i as ToolViewManagerManipulatorState};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{lerp as e,distance as r,copy as t,equals as a}from\"../../core/libs/gl-matrix-2/math/vec2.js\";import{create as i,fromValues as o,fromArray as n}from\"../../core/libs/gl-matrix-2/factories/vec2f64.js\";import{i as s,m as u,j as c,c as h,H as p}from\"../../chunks/vec32.js\";import{create as v,fromValues as l,fromArray as y}from\"../../core/libs/gl-matrix-2/factories/vec3f64.js\";import{l as d,c as f,e as m}from\"../../chunks/vec42.js\";import{create as T,fromValues as Z,fromArray as _}from\"../../core/libs/gl-matrix-2/factories/vec4f64.js\";import g from\"../../geometry/Point.js\";var x;!function(e){e[e.Z=0]=\"Z\",e[e.M=1]=\"M\"}(x||(x={}));class R{constructor(e){this.spatialReference=e}createVector(){return this._tag(i())}pointToVector(e){return this._tag(o(e.x,e.y))}arrayToVector(e){return this._tag(o(e[0],e[1]))}vectorToArray(e){return[e[0],e[1]]}pointToArray(e){return[e.x,e.y]}vectorToPoint(e,r=new g){return r.x=e[0],r.y=e[1],r.z=void 0,r.m=void 0,r.spatialReference=this.spatialReference,r}arrayToPoint(e,r=new g){return r.x=e[0],r.y=e[1],r.z=void 0,r.m=void 0,r.spatialReference=this.spatialReference,r}vectorToDehydratedPoint(e,r){if(e)return r??={x:void 0,y:void 0,z:void 0,m:void 0,hasZ:void 0,hasM:void 0,spatialReference:void 0,type:\"point\"},r.x=e[0],r.y=e[1],r.z=void 0,r.m=void 0,r.hasZ=!1,r.hasM=!1,r.spatialReference=this.spatialReference,r}lerp(r,t,a,i){return e(i,r,t,a)}addDelta(e,r,t){e[0]+=r,e[1]+=t}distance(e,t){return r(e,t)}getZ(e,r=void 0){return r}hasZ(){return!1}getM(e,r=void 0){return r}hasM(){return!1}clone(e){return this._tag(n(e))}copy(e,r){return t(r,e)}fromXYZ(e){return this._tag(o(e[0],e[1]))}toXYZ(e,r=v()){return s(r,e[0],e[1],0)}pointToXYZ(e,r=v()){return s(r,e.x,e.y,0)}equals(e,r){return a(e,r)}_tag(e){return e}}class M{constructor(e,r){this._valueType=e,this.spatialReference=r}createVector(){return this._tag(v())}pointToVector(e){return this._tag(l(e.x,e.y,this._valueType===x.Z?e.z:e.m))}arrayToVector(e){return this._tag(l(e[0],e[1],e[2]||0))}vectorToArray(e){return[e[0],e[1],e[2]]}pointToArray(e){return this._valueType===x.Z?[e.x,e.y,e.z]:[e.x,e.y,e.m]}vectorToPoint(e,r=new g){return r.x=e[0],r.y=e[1],r.z=this._valueType===x.Z?e[2]:void 0,r.m=this._valueType===x.M?e[2]:void 0,r.spatialReference=this.spatialReference,r}arrayToPoint(e,r=new g){return r.x=e[0],r.y=e[1],r.z=this._valueType===x.Z?e[2]:void 0,r.m=this._valueType===x.M?e[2]:void 0,r.spatialReference=this.spatialReference,r}vectorToDehydratedPoint(e,r){if(!e)return;r??={x:void 0,y:void 0,z:void 0,m:void 0,hasZ:void 0,hasM:void 0,spatialReference:void 0,type:\"point\"};const t=this._valueType===x.Z,a=this._valueType===x.M;return r.x=e[0],r.y=e[1],r.z=t?e[2]:void 0,r.m=a?e[2]:void 0,r.hasZ=t,r.hasM=a,r.spatialReference=this.spatialReference,r}lerp(e,r,t,a){return u(a,e,r,t)}addDelta(e,r,t,a){e[0]+=r,e[1]+=t,this._valueType===x.Z&&(e[2]+=a)}distance(e,t){return this._valueType===x.Z?c(e,t):r(w(e),w(t))}getZ(e,r=void 0){return this._valueType===x.Z?e[2]:r}hasZ(){return this._valueType===x.Z}getM(e,r=void 0){return this._valueType===x.M?e[2]:r}hasM(){return this._valueType===x.M}clone(e){return this._tag(y(e))}copy(e,r){return h(r,e)}fromXYZ(e,r=0,t=0){return this._tag(l(e[0],e[1],this._valueType===x.Z?e.length>2?e[2]:r:t))}toXYZ(e,r=v()){return s(r,e[0],e[1],this._valueType===x.Z?e[2]:0)}pointToXYZ(e,r=v()){return s(r,e.x,e.y,this._valueType===x.Z?e.z??0:0)}equals(e,r){return p(e,r)}_tag(e){return e}}class z{constructor(e){this.spatialReference=e}createVector(){return this._tag(T())}pointToVector(e){return this._tag(Z(e.x,e.y,e.z,e.m))}arrayToVector(e){return this._tag(Z(e[0],e[1],e[2]||0,e[3]||0))}vectorToArray(e){return[e[0],e[1],e[2],e[3]]}pointToArray(e){return[e.x,e.y,e.z,e.m]}vectorToPoint(e,r=new g){return r.x=e[0],r.y=e[1],r.z=e[2],r.m=e[3],r.spatialReference=this.spatialReference,r}arrayToPoint(e,r=new g){return r.x=e[0],r.y=e[1],r.z=e[2],r.m=e[3],r.spatialReference=this.spatialReference,r}vectorToDehydratedPoint(e,r){if(e)return r??={x:void 0,y:void 0,z:void 0,m:void 0,hasZ:void 0,hasM:void 0,spatialReference:void 0,type:\"point\"},r.x=e[0],r.y=e[1],r.z=e[2],r.m=e[3],r.hasZ=!0,r.hasM=!0,r.spatialReference=this.spatialReference,r}lerp(e,r,t,a){return d(a,e,r,t)}addDelta(e,r,t,a){e[0]+=r,e[1]+=t,e[2]+=a}distance(e,r){return c(V(e),V(r))}getZ(e){return e[2]}hasZ(){return!0}getM(e){return e[3]}hasM(){return!0}clone(e){return this._tag(_(e))}copy(e,r){return f(r,e)}fromXYZ(e,r=0,t=0){return this._tag(Z(e[0],e[1],e.length>2?e[2]:r,t))}toXYZ(e,r=v()){return s(r,e[0],e[1],e[2])}pointToXYZ(e,r=v()){return s(r,e.x,e.y,e.z??0)}equals(e,r){return m(e,r)}_tag(e){return e}}function V(e){return e}function w(e){return e}function P(e,r,t){return e&&r?new z(t):r?new M(x.M,t):e?new M(x.Z,t):new R(t)}export{R as CoordinateHelper2D,M as CoordinateHelper3D,z as CoordinateHelper4D,P as createCoordinateHelper};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{isSome as t}from\"../../core/arrayUtils.js\";import\"../../core/has.js\";import{clone as n}from\"../../core/lang.js\";import{clamp as e}from\"../../core/mathUtils.js\";import{createScreenPoint as r}from\"../../core/screenUtils.js\";import{project as a}from\"../../geometry/projection.js\";import{isMeshWithRelativeVertexSpace as o}from\"../../geometry/support/meshVertexSpaceUtils.js\";import{hydratedSpatialReference as l,clonePoint as c}from\"../../layers/graphics/hydratedFeatures.js\";import{getZForElevationMode as s}from\"../../support/elevationInfoUtils.js\";import{EditGeometryOperations as u}from\"./editGeometry/EditGeometryOperations.js\";function i(t,n){let e=null,r=null;return a=>{if(\"cancel\"===a.action)return void(null!=r&&(r.execute({action:\"cancel\"}),e=null,r=null));const o={action:a.action,screenStart:a.start,screenEnd:a.screenPoint};\"start\"===a.action&&null==e&&(e=new w,r=new w,n(t,e,r,a.pointerType,o)),null!=e&&e.execute(o),\"end\"===a.action&&null!=e&&(e=null,r=null)}}function p(t,n){return t.events.on(\"drag\",i(t,n))}function m(t,n){const e=[t.x,t.y,t.z??0],r=n,a=[Math.cos(r),Math.sin(r)],o=Math.sqrt(a[0]*a[0]+a[1]*a[1]);if(0===o)return null;a[0]/=o,a[1]/=o;const l=t=>{const n=(t.x-e[0])*a[0]+(t.y-e[1])*a[1];t.x=e[0]+n*a[0],t.y=e[1]+n*a[1]};return t=>(l(t.mapStart),l(t.mapEnd),{...t,axis:a})}function f(t){let n=null;return e=>{if(\"start\"===e.action&&(n=y(t,e.mapStart.spatialReference)),null==n)return null;const r=e.mapEnd.x-e.mapStart.x,a=e.mapEnd.y-e.mapStart.y,o=(e.mapEnd.z??0)-(e.mapStart.z??0);return n.move(r,a,o,e.action),{...e,translationX:r,translationY:a,translationZ:o}}}function d(t,n){return null==t?null:t.spatialReference.equals(n)?t.clone():a(t,n)}function y(t,n){const e=t.operations;if(!e)return null;const r=e.data.geometry,c=l(n);if(r.spatialReference.equals(c))return x(t,e,(()=>{}));if(\"mesh\"!==r.type){const n=d(r,c);if(null==n)return null;const o=r.spatialReference;return x(t,u.fromGeometry(n,e.viewingMode),(()=>{const t=a(r,o);e.trySetGeometry(t)}))}if(o(r)){const n=d(r.origin,c);if(!n)return null;const o=r.spatialReference,l=u.fromGeometry(n,e.viewingMode);return x(t,e,(()=>{const t=a(l.data.geometry,o),n=t.x-r.origin.x,c=t.y-r.origin.y,s=(t.z??0)-(r.origin.z??0);e.move(n,c,s)}))}return null}function x(t,n,e){let r=0,a=0,o=0;return{move:(l,c,s,u)=>{\"start\"===u&&(r=0,a=0,o=0);const i=l-r,p=c-a,m=s-o;n.move(i,p,m),r+=i,a+=p,o+=m,e(),\"end\"===u&&t.endInteraction?.()}}}function E(t,n=null,e){let r=null;const o=null==n||t.spatialReference?.equals(n)?t=>t:t=>null!=t?a(t,n):t,l={exclude:[],...e};return n=>{if(\"start\"===n.action&&(r=o(t.toMap(n.screenStart,l))),null==r)return null;const e=o(t.toMap(n.screenEnd,l));return null!=e?{...n,mapStart:r,mapEnd:e}:null}}function S(n){const e=n.map((t=>f(t))).filter(t);return t=>{const n=t.mapEnd.x-t.mapStart.x,r=t.mapEnd.y-t.mapStart.y,a=t.mapEnd.z-t.mapStart.z;return e.forEach((n=>n(t))),{...t,translationX:n,translationY:r,translationZ:a}}}function h(t,e){const r=new Map;for(const a of e)r.set(a,n(t[a]));return n=>(r.forEach(((n,e)=>{t[e]=n})),n)}function g(t){const n=t.operations?.createResetState();return t=>(n?.remove(),t)}function z(t){const n=t.map((t=>g(t))).filter((t=>null!=t));return t=>(n.forEach((n=>n(t))),t)}function v(){let t=0,n=0,e=0;return r=>{\"start\"===r.action&&(t=r.mapStart.x,n=r.mapStart.y,e=r.mapStart.z);const a=r.mapEnd.x-t,o=r.mapEnd.y-n,l=r.mapEnd.z-e;return t=r.mapEnd.x,n=r.mapEnd.y,e=r.mapEnd.z,{...r,mapDeltaX:a,mapDeltaY:o,mapDeltaZ:l,mapDeltaSpatialReference:r.mapStart.spatialReference}}}function j(){let t=0,n=0;return e=>{\"start\"===e.action&&(t=e.screenStart.x,n=e.screenStart.y);const r=e.screenEnd.x-t,a=e.screenEnd.y-n;return t=e.screenEnd.x,n=e.screenEnd.y,{...e,screenDeltaX:r,screenDeltaY:a}}}function M(t,n){let a=null,o=0,l=0;return c=>{if(\"start\"===c.action&&(a=t.toScreen?.(n),null!=a&&(a.x<0||a.x>t.width||a.y<0||a.y>t.height?a=null:(o=c.screenStart.x-a.x,l=c.screenStart.y-a.y))),null==a)return null;const s=e(c.screenEnd.x-o,0,t.width),u=e(c.screenEnd.y-l,0,t.height),i=r(s,u);return c.screenStart=a,c.screenEnd=i,c}}const R=()=>{};class w{constructor(){this.execute=R}next(t,n=new w){return null!=t&&(this.execute=e=>{const r=t(e);null!=r&&n.execute(r)}),n}}function D(t,n,e=[]){if(\"2d\"===t.type)return t=>t;let r=null;return a=>{\"start\"===a.action&&(r=t.toMap(a.screenStart,{exclude:e}),null!=r&&(r.z=s(r,t,n)));const o=t.toMap(a.screenEnd,{exclude:e});null!=o&&(o.z=s(o,t,n));const l=null!=r&&null!=o?{sceneStart:r,sceneEnd:o}:null;return{...a,scenePoints:l}}}function G(t,n,e){const r=n.elevationProvider.getElevation(t.x,t.y,t.z??0,t.spatialReference,\"scene\")??0,a=c(t);return a.z=r,a.hasZ=!0,a.z=s(a,n,e),a}function U(t,n){if(\"2d\"===t.type)return t=>t;let e=null;return r=>{\"start\"===r.action&&(e=G(r.mapStart,t,n));const a=G(r.mapEnd,t,n),o=null!=e&&null!=a?{sceneStart:e,sceneEnd:a}:null;return{...r,scenePoints:o}}}export{w as EventPipeline,v as addMapDelta,j as addScreenDelta,m as constrainToMapAxis,i as createDragEventPipelineCallback,p as createManipulatorDragEventPipeline,M as dragAtLocation,f as dragManipulatedObject,S as dragManipulatedObjectMany,g as resetManipulatedObject,z as resetManipulatedObjectMany,h as resetProperties,D as sceneSnappingAtLocation,U as sceneSnappingAtProjectedLocation,E as screenToMap};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{equals as e}from\"../../../core/arrayUtils.js\";import{neverReached as t}from\"../../../core/compilerUtils.js\";import s from\"../../../core/Evented.js\";import i from\"../../../geometry/Polygon.js\";import r from\"../../../geometry/Polyline.js\";import{createCoordinateHelper as o}from\"../coordinateHelper.js\";import{unnormalize as n,getUnnormalizationInfo as c}from\"./unnormalizationHelper.js\";class h{constructor(e){this.component=e,this.leftEdge=null,this.rightEdge=null,this.type=\"vertex\",this.index=null}get pos(){return this._pos}set pos(e){this._pos=e,this.component.unnormalizeVertexPositions()}}class l{constructor(e,t,s){this.component=e,this.leftVertex=t,this.rightVertex=s,this.type=\"edge\",t.rightEdge=this,s.leftEdge=this}}class a{constructor(e,t){this._spatialReference=e,this._viewingMode=t,this.vertices=[],this.edges=[],this.index=null}unnormalizeVertexPositions(){this.vertices.length<=1||n(this.vertices,c(this._spatialReference,this._viewingMode))}updateVertexIndex(e,t){if(0===this.vertices.length)return;const s=this.vertices[0];let i=null,r=e,o=t;do{i=r,i.index=o++,r=i.rightEdge?i.rightEdge.rightVertex:null}while(null!=r&&r!==s);i.leftEdge&&i!==this.vertices[this.vertices.length-1]&&this.swapVertices(this.vertices.indexOf(i),this.vertices.length-1)}getFirstVertex(){return this.vertices.at(0)}getLastVertex(){return this.vertices.at(-1)}isClosed(){return this.vertices.length>2&&null!==this.vertices[0].leftEdge}swapVertices(e,t){const s=this.vertices[e];this.vertices[e]=this.vertices[t],this.vertices[t]=s}iterateVertices(e){if(0===this.vertices.length)return;const t=this.vertices[0];let s=t;do{e(s,s.index),s=null!=s.rightEdge?s.rightEdge.rightVertex:null}while(s!==t&&null!=s)}}class p extends s{constructor(e,t){super(),this.type=e,this.coordinateHelper=t,this._geometry=null,this._dirty=!0,this.components=[]}get geometry(){if(this._dirty){switch(this.type){case\"point\":this._geometry=this._toPoint();break;case\"polyline\":this._geometry=this._toPolyline();break;case\"polygon\":this._geometry=this._toPolygon();break;case\"mesh\":break;default:t(this.type)}this._dirty=!1}return this._geometry}get spatialReference(){return this.coordinateHelper.spatialReference}get allVertices(){return Array.from(this.iterateVertices())}*iterateVertices(){for(const e of this.components)for(const t of e.vertices)yield t}notifyChanges(e){this._dirty=!0,this.emit(\"change\",e)}_toPoint(){return 0===this.components.length||0===this.components[0].vertices.length?null:this.coordinateHelper.vectorToPoint(this.components[0].vertices[0].pos)}_toPolyline(){const e=[],t=this.coordinateHelper.vectorToArray;for(const s of this.components){if(s.vertices.length<1)continue;const i=[];let r=s.vertices.find((e=>null==e.leftEdge));const o=r;do{i.push(t(r.pos)),r=r.rightEdge?r.rightEdge.rightVertex:null}while(r&&r!==o);e.push(i)}return new r({paths:e,spatialReference:this.spatialReference,hasZ:this.coordinateHelper.hasZ(),hasM:this.coordinateHelper.hasM()})}_toPolygon(){const e=[],t=this.coordinateHelper.vectorToArray;for(const s of this.components){if(s.vertices.length<1)continue;const i=[],r=s.vertices[0];let o=r;const n=o;do{i.push(t(o.pos)),o=null!=o.rightEdge?o.rightEdge.rightVertex:null}while(o&&o!==n);s.isClosed()&&i.push(t(r.pos)),e.push(i)}return new i({rings:e,spatialReference:this.spatialReference,hasZ:this.coordinateHelper.hasZ(),hasM:this.coordinateHelper.hasM()})}static fromGeometry(e,t){const s=e.spatialReference,i=o(e.hasZ,e.hasM,s),r=new p(e.type,i);switch(e.type){case\"polygon\":g(r,e,t);break;case\"polyline\":d(r,e,t);break;case\"point\":u(r,e,t);break;case\"mesh\":u(r,e.origin,t),r._geometry=e,r._dirty=!1}return r}}function g(t,s,i){const r=s.spatialReference,o=t.coordinateHelper,n=s.rings;for(let c=0;c2&&e(s[0],s[s.length-1]),d=g?s.length-1:s.length;for(let e=0;e{t.addedVertices&&this.emit(\"vertex-add\",{type:\"vertex-add\",vertices:t.addedVertices,operation:t.operation}),t.removedVertices&&this.emit(\"vertex-remove\",{type:\"vertex-remove\",vertices:t.removedVertices,operation:t.operation}),t.updatedVertices&&this.emit(\"vertex-update\",{type:\"vertex-update\",vertices:t.updatedVertices,operation:t.operation})}))}destroy(){this._listener.remove()}splitEdge(t,e){return this._apply(new d(this.data,t,e))}updateVertices(t,e,r=a.ACCUMULATE_STEPS){return this._apply(new p(this.data,t,e),r)}move(t,e,r,s=a.ACCUMULATE_STEPS){return i(this.data)?this._apply(new l(this.data,t,e,r),s):this.moveVertices(this.data.allVertices,t,e,r,s)}moveVertices(t,e,r,s,o=a.ACCUMULATE_STEPS){return i(this.data)?this._apply(new l(this.data,e,r,s),o):this.updateVertices(t,new S(this.data.coordinateHelper,e,r,s),o)}scale(t,e,r,s,i=a.ACCUMULATE_STEPS,o=c.CUMULATIVE){return this.scaleVertices(this.data.allVertices,t,e,r,s,i,o)}scaleVertices(t,e,r,s,i,o=a.ACCUMULATE_STEPS,n=c.CUMULATIVE){return this.updateVertices(t,new f(e,r,s,i,n),o)}rotate(t,e,r=a.ACCUMULATE_STEPS,s=c.CUMULATIVE){return this.rotateVertices(this.data.allVertices,t,e,r,s)}rotateVertices(t,e,r,s=a.ACCUMULATE_STEPS,i=c.CUMULATIVE){return this.updateVertices(t,new _(e,r,i),s)}removeVertices(t){return this._apply(new h(this.data,t,this._minNumVerticesPerType))}appendVertex(t){return 0===this.data.components.length?null:this._apply(new n(this.data,this.data.components[0],t))}setVertexPosition(t,e){return this._apply(new u(this.data,t,e))}offsetEdge(t,e,r,s=a.ACCUMULATE_STEPS){return this.updateVertices([e.leftVertex,e.rightVertex],new V(this.data.coordinateHelper,t,e,r),s)}trySetGeometry(t,e=a.ACCUMULATE_STEPS){const{data:r}=this,{coordinateHelper:n}=r;if(r.type!==t.type||!r.spatialReference.equals(t.spatialReference)||n.hasZ()!==t.hasZ||n.hasM()!==t.hasM||!s(r.geometry,t)||i(r))return;const p=Array.from(o.fromGeometry(t,this.viewingMode).iterateVertices(),(t=>t.pos));return this.setVertexPositions(p,e)}setVertexPositions(t,e=a.ACCUMULATE_STEPS){return this._apply(new y(this.data,t),e)}createResetState(){if(i(this.data))return this._createResetStateMesh();const t=this.data.geometry.clone();return e((()=>this.trySetGeometry(t)))}closeComponent(t){return this.data.components.includes(t)?this._apply(new m(this.data,t)):null}canRemoveVertex(t){return t.vertices.length>this._minNumVerticesPerType}createUndoGroup(){const t=new U;return this._apply(t),e((()=>t.close()))}undo(){if(this._undoStack.length>0){const t=this._undoStack.pop();return t.undo(),this._redoStack.push(t),t}return null}redo(){if(this._redoStack.length>0){const t=this._redoStack.pop();return t.apply(),this._undoStack.push(t),t}return null}get canUndo(){return this._undoStack.length>0}get canRedo(){return this._redoStack.length>0}get lastOperation(){return this._undoStack.length>0?this._undoStack[this._undoStack.length-1]:null}get _minNumVerticesPerType(){switch(this.data.type){case\"point\":return 1;case\"polyline\":return 2;case\"polygon\":return 3;default:return 0}}_apply(t,e=a.ACCUMULATE_STEPS){return e!==a.NEW_STEP&&null!=this.lastOperation&&this.lastOperation.accumulate(t)||(t.apply(),this._undoStack.push(t),this._redoStack=[]),t}_createResetStateMesh(){if(!i(this.data))return e();const t=this.data.geometry,{vertexSpace:s}=t;if(s.origin){const i=r(s.origin);return e((()=>{t.vertexSpace.origin=i}))}const o=t.vertexAttributes.clonePositional();return e((()=>{t.vertexAttributes=o,t.vertexAttributesChanged()}))}static fromGeometry(t,e){return new E(o.fromGeometry(t,e),e)}}export{E as EditGeometryOperations};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nvar E;!function(E){E[E.NEW_STEP=0]=\"NEW_STEP\",E[E.ACCUMULATE_STEPS=1]=\"ACCUMULATE_STEPS\"}(E||(E={}));export{E as AccumulationBehavior};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{Vertex as e,Edge as t}from\"../EditGeometry.js\";class i{constructor(e,t,i){this._editGeometry=e,this._component=t,this._pos=i,this._addedVertex=null,this._originalEdge=null,this._left=null,this._right=null}apply(){let i=\"redo\";null==this._addedVertex&&(i=\"apply\",this._addedVertex=new e(this._component));const s=this._component.getLastVertex();if(null==s)this._component.vertices.push(this._addedVertex),this._addedVertex.pos=this._pos,this._addedVertex.index=0;else{let e=null;s.rightEdge&&(this._originalEdge=s.rightEdge,e=this._originalEdge.rightVertex,this._component.edges.splice(this._component.edges.indexOf(this._originalEdge),1)),this._component.vertices.push(this._addedVertex),this._addedVertex.pos=this._pos,null==this._left&&(this._left=new t(this._component,s,this._addedVertex)),this._component.edges.push(this._left),s.rightEdge=this._left,null!=this._originalEdge&&null!=e&&(null==this._right&&(this._right=new t(this._component,this._addedVertex,e)),this._component.edges.push(this._right),e.leftEdge=this._right),this._component.updateVertexIndex(this._addedVertex,s.index+1)}this._editGeometry.notifyChanges({operation:i,addedVertices:[this._addedVertex]})}undo(){null!=this._addedVertex&&(this._component.vertices.splice(this._component.vertices.indexOf(this._addedVertex),1),null!=this._left&&(this._component.edges.splice(this._component.edges.indexOf(this._left),1),this._left.leftVertex.rightEdge=null),null!=this._right&&(this._component.edges.splice(this._component.edges.indexOf(this._right),1),this._right.rightVertex.leftEdge=null),null!=this._originalEdge&&(this._component.edges.push(this._originalEdge),this._originalEdge.leftVertex.rightEdge=this._originalEdge,this._originalEdge.rightVertex.leftEdge=this._originalEdge),null!=this._left?this._component.updateVertexIndex(this._left.leftVertex,this._left.leftVertex.index):this._component.updateVertexIndex(this._addedVertex,0),this._editGeometry.notifyChanges({operation:\"undo\",removedVertices:[this._addedVertex]}))}accumulate(){return!1}}export{i as AppendVertex};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{remove as e}from\"../../../../core/arrayUtils.js\";import{Edge as t}from\"../EditGeometry.js\";class r{constructor(e,t){this._editGeometry=e,this._component=t,this._createdEdge=null}apply(){let e=\"redo\";if(null==this._createdEdge){e=\"apply\";const r=this._component.getFirstVertex(),i=this._component.getLastVertex();if(this._component.isClosed()||this._component.vertices.length<3||null==r||null==i)return;this._createdEdge=new t(this._component,i,r)}this._createdEdge.leftVertex.rightEdge=this._createdEdge,this._createdEdge.rightVertex.leftEdge=this._createdEdge,this._component.edges.push(this._createdEdge),this._editGeometry.notifyChanges({operation:e})}undo(){null!=this._createdEdge&&(e(this._component.edges,this._createdEdge),this._createdEdge.leftVertex.rightEdge=null,this._createdEdge.rightVertex.leftEdge=null,this._editGeometry.notifyChanges({operation:\"undo\"}))}accumulate(){return!1}}export{r as CloseComponent};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nclass t{constructor(t,e,i,s){this._editGeometry=t,this.dx=e,this.dy=i,this.dz=s,this._firstTime=!0}apply(){const t=this._firstTime?\"apply\":\"redo\";this._firstTime=!1,this._apply(t,this.dx,this.dy,this.dz)}undo(){this._apply(\"undo\",-this.dx,-this.dy,-this.dz)}accumulate(e){const i=this._editGeometry.geometry;return e instanceof t&&e._editGeometry.geometry===i&&(this._apply(\"apply\",e.dx,e.dy,e.dz),this.dx+=e.dx,this.dy+=e.dy,this.dz+=e.dz,!0)}_apply(t,e,i,s){const o=this._editGeometry.geometry;o.offset(e,i,s);const d=this._editGeometry.components[0].getFirstVertex();if(!d)return;const r=this._editGeometry.coordinateHelper;d.pos=r.pointToVector(o.origin),this._editGeometry.notifyChanges({operation:t,updatedVertices:[d]})}}export{t as MoveMesh};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nclass t{constructor(t,s,d,h){this._helper=t,this.dx=s,this.dy=d,this.dz=h}_move(t,s,d,h){this._helper.addDelta(t.pos,s,d,h)}apply(t){this._move(t,this.dx,this.dy,this.dz)}undo(t){this._move(t,-this.dx,-this.dy,-this.dz)}canAccumulate(s){return s instanceof t}accumulate(t,s){this._move(t,s.dx,s.dy,s.dz)}accumulateParams(t){this.dx+=t.dx,this.dy+=t.dy,this.dz+=t.dz}}export{t as MoveVertex};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{clamp as t,deg2rad as i}from\"../../../../core/mathUtils.js\";import{subtract as e,normalize as s,dot as n}from\"../../../../core/libs/gl-matrix-2/math/vec2.js\";import{create as r}from\"../../../../core/libs/gl-matrix-2/factories/vec2f64.js\";import{o as h,i as o,e as a,n as _,h as c,f as l,v as p,g,m as d,H as u,c as m}from\"../../../../chunks/vec32.js\";import{create as f}from\"../../../../core/libs/gl-matrix-2/factories/vec3f64.js\";import{create as D,fromPositionAndNormal as x,signedDistance as E,copy as b,isPointInside as I,projectPoint as M,getNormal as V,intersectLine as N}from\"../../../../geometry/support/plane.js\";import{angle as X,projectPointSignedLength as Y}from\"../../../../geometry/support/vector.js\";import{intersectLineAndRay as T,LineType as Z}from\"../../../support/geometry2dUtils.js\";class P{get plane(){return this._plane}get requiresSplitEdgeLeft(){return!this._left.isOriginalDirection}get requiresSplitEdgeRight(){return!this._right.isOriginalDirection}get edgeDirection(){return this._edgeDirection}constructor(t,i,e,s=0,n=j.IMMEDIATE){this._helper=t,this._planeType=i,this._edge=e,this.distance=s,this._plane=D(),this._offsetPlane=D(),this._minDistance=-1/0,this._maxDistance=1/0,this._selectedArrow=1,n===j.IMMEDIATE&&this._initialize()}_initialize(){this._initializeNeighbors(),this._initializePlane(),this._initializeDistanceConstraints()}_initializeNeighbors(){const t=this._toXYZ(this._edge.leftVertex.pos),i=this._toXYZ(this._edge.leftVertex.leftEdge?.leftVertex?.pos),e=this._toXYZ(this._edge.rightVertex.pos),s=this._toXYZ(this._edge.rightVertex.rightEdge?.rightVertex?.pos);this._edgeDirection=h(f(),t,e),i?(this._left=this._computeNeighbor(t,i,this._edgeDirection),this._right=this._computeNeighbor(e,s,this._edgeDirection,this._left)):(this._right=this._computeNeighbor(e,s,this._edgeDirection),this._left=this._computeNeighbor(t,i,this._edgeDirection,this._right))}_toXYZ(t){return null!=t?this._helper.toXYZ(t):null}_pointToXYZ(t){return this._toXYZ(this._helper.pointToVector(t))}_computeNeighbor(t,i,e,s){const n=f();if(i){h(n,t,i);const s=!this._passesBisectingAngleThreshold(n,e);return{start:t,end:i,direction:s?this._bisectVectorsPerpendicular(e,n):n,isOriginalDirection:!s}}return this._helper.hasZ()?s&&(a(n,e,s.direction),a(n,n,e),_(n,n),Math.sign(n[1])!==Math.sign(e[0])&&c(n,n,-1)):o(n,-e[1],e[0],0),{start:t,end:i,direction:n,isOriginalDirection:!0}}_passesBisectingAngleThreshold(t,i){const e=Math.abs(X(i,t));return e>=y&&e<=Math.PI-y}_bisectVectorsPerpendicular(t,i){const e=l(t,i)<0?t:p(f(),t),s=Math.abs(l(e,i));if(!(s1-A))return this._bisectDirection(e,i);const n=a(f(),e,[0,0,1]);return _(n,n)}_bisectDirection(t,i){const e=g(f(),t,i);return _(e,e)}_initializePlane(){const t=this._computeNormalDirection(this._left),i=this._computeNormalDirection(this._right);l(t,i)<0&&p(i,i),x(this._left.start,this._bisectDirection(t,i),this._plane)}_computeNormalDirection(t){const i=a(f(),t.direction,this._edgeDirection);_(i,i);const e=a(f(),this._edgeDirection,i);return this._planeType===z.XY&&(e[2]=0),_(e,e)}_initializeDistanceConstraints(){null==this._left.end||this.requiresSplitEdgeLeft||this._updateDistanceConstraint(E(this._plane,this._left.end)),null==this._right.end||this.requiresSplitEdgeRight||this._updateDistanceConstraint(E(this._plane,this._right.end)),this._updateIntersectDistanceConstraint(this._plane)}_updateDistanceConstraint(t){t<=0&&(this._minDistance=Math.max(this._minDistance,t)),t>=0&&(this._maxDistance=Math.min(this._maxDistance,t))}_updateIntersectDistanceConstraint(t){const i=V(t),h=this._edgeDirection,o=g(f(),this._left.start,this._left.direction),a=g(f(),this._right.start,this._right.direction),_=this._pointInBasis2D(r(),i,h,this._left.start),l=this._pointInBasis2D(r(),i,h,o),p=this._pointInBasis2D(r(),i,h,this._right.start),d=this._pointInBasis2D(r(),i,h,a),[u]=T({start:l,end:_,type:Z.LINE},{start:d,end:p,type:Z.LINE});if(!u)return;const m=e(r(),_,l);s(m,m);const D=e(r(),u,l),x=n(m,D),b=g(f(),o,c(f(),this._left.direction,-x)),I=E(t,b);this._updateDistanceConstraint(I)}_pointInBasis2D(t,i,e,s){return t[0]=Y(i,s),t[1]=Y(e,s),t}_offset(t,i){Number.isFinite(this._minDistance)&&(i=Math.max(this._minDistance,i)),Number.isFinite(this._maxDistance)&&(i=Math.min(this._maxDistance,i)),b(this._offsetPlane,this._plane),this._offsetPlane[3]-=i;const e=(t,i,e)=>null!=i&&N(this._offsetPlane,t,g(f(),t,i),e),s=f();(t===this._edge.leftVertex?e(this._left.start,this._left.direction,s):e(this._right.start,this._right.direction,s))&&this._helper.copy(this._helper.fromXYZ(s,void 0,this._helper.getM(t.pos)),t.pos)}selectArrowFromStartPoint(t){this._selectedArrow=I(this.plane,this._pointToXYZ(t))?1:-1}get selectedArrow(){return this._selectedArrow}signedDistanceToPoint(t){return E(this.plane,this._pointToXYZ(t))}clampedStartAndEnd(i){const e=this._helper.toXYZ(this._helper.pointToVector(i)),s=M(this._plane,e,f()),n=E(this._plane,e),r=t(n,this._minDistance,this._maxDistance);return d(e,s,e,r/n),{start:s,end:e}}apply(t){this._offset(t,this.distance)}undo(t){this._offset(t,0)}canAccumulate(t){return t instanceof P&&this._edge.leftVertex.index===t._edge.leftVertex.index&&this._edge.rightVertex.index===t._edge.rightVertex.index&&this._edge.component===t._edge.component&&this._maybeEqualsVec3(this._left.direction,t._left.direction)&&this._maybeEqualsVec3(this._right.direction,t._right.direction)&&u(V(this._plane),V(t._plane))}accumulate(t,i){const e=this._plane[3]-i._plane[3]+i.distance;this._offset(t,e)}accumulateParams(t){const i=t.distance-t._plane[3];this.distance=i+this._plane[3]}clone(){const t=new P(this._helper,this._planeType,this._edge,this.distance,j.DEFERRED);return b(t._plane,this._plane),b(t._offsetPlane,this._offsetPlane),t._maxDistance=this._maxDistance,t._minDistance=this._minDistance,t._left=this._cloneNeighbor(this._left),t._right=this._cloneNeighbor(this._right),t._edgeDirection=m(f(),this._edgeDirection),t}_maybeEqualsVec3(t,i){return null==t&&null==i||null!=t&&null!=i&&u(t,i)}_cloneNeighbor({start:t,end:i,direction:e,isOriginalDirection:s}){return{start:m(f(),t),end:null!=i?m(f(),i):null,direction:m(f(),e),isOriginalDirection:s}}}const y=i(15),A=.001;var z,j;!function(t){t[t.XYZ=0]=\"XYZ\",t[t.XY=1]=\"XY\"}(z||(z={})),function(t){t[t.IMMEDIATE=0]=\"IMMEDIATE\",t[t.DEFERRED=1]=\"DEFERRED\"}(j||(j={}));export{P as OffsetEdgeVertex,z as PlaneType};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{Edge as e}from\"../EditGeometry.js\";class t{constructor(e,t,r=0){this._editGeometry=e,this._vertices=t,this._minNumberOfVertices=r,this.removedVertices=null}apply(){let e=\"redo\";if(null==this.removedVertices){const t=this.removedVertices=[];this._vertices.forEach((e=>{const r=this._removeVertex(e);null!=r&&t.push(r)})),e=\"apply\"}else this.removedVertices.forEach((e=>{this._removeVertex(e.removedVertex)}));this._editGeometry.notifyChanges({operation:e,removedVertices:this._vertices})}undo(){this.removedVertices?.forEach((e=>{this._undoRemoveVertex(e)})),this._editGeometry.notifyChanges({operation:\"undo\",addedVertices:this._vertices})}accumulate(){return!1}_removeVertex(t){const r=t.component;if(r.vertices.length<=this._minNumberOfVertices)return null;const i={removedVertex:t,createdEdge:null},s=t.leftEdge,d=t.rightEdge;return r.vertices.splice(r.vertices.indexOf(t),1),s&&(r.edges.splice(r.edges.indexOf(s),1),s.leftVertex.rightEdge=null),d&&(r.edges.splice(r.edges.indexOf(d),1),d.rightVertex.leftEdge=null),0===t.index&&d&&this._vertices.length>0&&r.swapVertices(r.vertices.indexOf(d.rightVertex),0),s&&d&&(i.createdEdge=new e(r,s.leftVertex,d.rightVertex),r.edges.push(i.createdEdge)),d&&r.updateVertexIndex(d.rightVertex,d.rightVertex.index-1),i}_undoRemoveVertex(e){const t=e.removedVertex,r=e.removedVertex.component,i=t.leftEdge,s=t.rightEdge;e.createdEdge&&r.edges.splice(r.edges.indexOf(e.createdEdge),1),r.vertices.push(t),i&&(r.edges.push(i),i.leftVertex.rightEdge=i),s&&(r.edges.push(s),s.rightVertex.leftEdge=s),r.updateVertexIndex(t,t.index)}}export{t as RemoveVertices};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{equals as t}from\"../../../../core/arrayUtils.js\";import{rotate as a}from\"../../../../core/libs/gl-matrix-2/math/vec2.js\";import{AccumulationType as i}from\"./UpdateVertices.js\";class e{constructor(t,a,e=i.CUMULATIVE){this.origin=t,this.angle=a,this._accumulationType=e}_rotate(t,i){a(t.pos,t.pos,this.origin,i)}apply(t){this._rotate(t,this.angle)}undo(t){this._rotate(t,-this.angle)}canAccumulate(a){return a instanceof e&&t(this.origin,a.origin)}accumulate(t,a){const e=a._accumulationType===i.REPLACE;this._rotate(t,e?a.angle-this.angle:a.angle)}accumulateParams(t){const a=t._accumulationType===i.REPLACE;this.angle=a?t.angle:this.angle+t.angle}}export{e as RotateVertex};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{equals as t}from\"../../../../core/arrayUtils.js\";import{fromValues as i}from\"../../../../core/libs/gl-matrix-2/factories/vec2f64.js\";import{projectAndScale as s}from\"../../../../core/libs/gl-matrix-2/math/vec2.js\";import{AccumulationType as a}from\"./UpdateVertices.js\";class c{constructor(t,s,c,o,r=a.CUMULATIVE){this.origin=t,this.axis1=s,this.factor1=c,this.factor2=o,this._accumulationType=r,this.axis2=i(s[1],-s[0])}_scale(t,i,a){s(t.pos,t.pos,this.origin,this.axis1,i),s(t.pos,t.pos,this.origin,this.axis2,a)}apply(t){this._scale(t,this.factor1,this.factor2)}undo(t){this._scale(t,1/this.factor1,1/this.factor2)}canAccumulate(i){return i instanceof c&&t(this.origin,i.origin)&&t(this.axis1,i.axis1)}accumulate(t,i){i._accumulationType===a.REPLACE?this._scale(t,i.factor1/this.factor1,i.factor2/this.factor2):this._scale(t,i.factor1,i.factor2)}accumulateParams(t){const i=t._accumulationType===a.REPLACE;this.factor1=i?t.factor1:this.factor1*t.factor1,this.factor2=i?t.factor2:this.factor2*t.factor2}}export{c as ScaleVertex};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nclass i{constructor(i,t){this._editGeometry=i,this._newPositions=t}apply(){const i=null==this._originalPositions?\"apply\":\"redo\";if(!this._originalPositions){const i=this._editGeometry.coordinateHelper;this._originalPositions=this._editGeometry.allVertices.map((t=>i.clone(t.pos)))}this._apply(i,this._newPositions)}undo(){this._originalPositions&&this._apply(\"undo\",this._originalPositions)}accumulate(t){return t instanceof i&&(this._newPositions=t._newPositions,this._apply(\"apply\",this._newPositions),!0)}_apply(i,t){const o=this._editGeometry.coordinateHelper,s=this._editGeometry.allVertices;for(let e=0;ei.unnormalizeVertexPositions())),this._editGeometry.notifyChanges({operation:i,updatedVertices:s})}}export{i as SetAllVertexPositions};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nclass t{constructor(t,e,i){this._editGeometry=t,this._vertex=e,this._pos=i}apply(){const t=null==this._originalPosition;t&&(this._originalPosition=this._vertex.pos),this._apply(t?\"apply\":\"redo\")}undo(){this._vertex.pos=this._originalPosition,this._editGeometry.notifyChanges({operation:\"undo\",updatedVertices:[this._vertex]})}accumulate(e){return e instanceof t&&e._vertex===this._vertex&&(this._pos=e._pos,this._apply(\"apply\"),!0)}_apply(t){this._vertex.pos=this._pos,this._editGeometry.components.forEach((t=>t.unnormalizeVertexPositions())),this._editGeometry.notifyChanges({operation:t,updatedVertices:[this._vertex]})}}export{t as SetVertexPosition};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{Vertex as e,Edge as t}from\"../EditGeometry.js\";class i{constructor(e,t,i){this._editGeometry=e,this._edge=t,this._t=i,this.createdVertex=null,this._left=null,this._right=null}apply(){let i=\"redo\";const r=this._edge,s=r.component,d=r.leftVertex,h=r.rightVertex;s.edges.splice(s.edges.indexOf(r),1),null==this.createdVertex&&(i=\"apply\",this.createdVertex=new e(r.component)),s.vertices.push(this.createdVertex),this.createdVertex.pos=this._editGeometry.coordinateHelper.lerp(r.leftVertex.pos,r.rightVertex.pos,this._t,this._editGeometry.coordinateHelper.createVector()),null==this._left&&(this._left=new t(s,d,this.createdVertex)),this._left.leftVertex.leftEdge?s.edges.push(this._left):s.edges.unshift(this._left),d.rightEdge=this._left,null==this._right&&(this._right=new t(s,this.createdVertex,h)),s.edges.push(this._right),h.leftEdge=this._right,s.updateVertexIndex(this.createdVertex,d.index+1),this._editGeometry.notifyChanges({operation:i,addedVertices:[this.createdVertex]})}undo(){if(null==this.createdVertex||null==this._left||null==this._right)return null;const e=this._edge,t=e.component,i=this.createdVertex.leftEdge,r=this.createdVertex.rightEdge,s=i?.leftVertex,d=r?.rightVertex;t.vertices.splice(t.vertices.indexOf(this.createdVertex),1),t.edges.splice(t.edges.indexOf(this._left),1),t.edges.splice(t.edges.indexOf(this._right),1),this._edge.leftVertex.leftEdge?t.edges.push(this._edge):t.edges.unshift(this._edge),s&&(s.rightEdge=e),d&&(d.leftEdge=e),s&&t.updateVertexIndex(s,s.index),this._editGeometry.notifyChanges({operation:\"undo\",removedVertices:[this.createdVertex]})}accumulate(){return!1}}export{i as SplitEdge};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nvar t;const o=Symbol();class s{constructor(o){this._operations=[],this._closed=!1,this[t]=!0,o&&(this._operations=o,this._closed=!0)}close(){this._closed=!0}apply(){for(const t of this._operations)t.apply()}undo(){for(let t=this._operations.length-1;t>=0;t--)this._operations[t].undo()}accumulate(t){if(this._closed)return!1;const o=this._operations.length?this._operations[this._operations.length-1]:null;return o&&o.accumulate(t)||(this._operations.push(t),t.apply()),!0}}function i(t){return o in t}t=o;export{s as UndoGroup,i as isUndoGroup};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nclass t{constructor(t,e,i){this._editGeometry=t,this._vertices=e,this.operation=i,this._undone=!1}apply(){this._vertices.forEach((t=>this.operation.apply(t))),this._editGeometry.components.forEach((t=>t.unnormalizeVertexPositions())),this._editGeometry.notifyChanges({operation:this._undone?\"redo\":\"apply\",updatedVertices:this._vertices})}undo(){this._vertices.forEach((t=>this.operation.undo(t))),this._editGeometry.notifyChanges({operation:\"undo\",updatedVertices:this._vertices}),this._undone=!0}canAccumulate(t){if(this._undone||t._vertices.length!==this._vertices.length)return!1;for(let e=0;ethis.operation.accumulate(t,e.operation))),this.operation.accumulateParams(e.operation),this._editGeometry.components.forEach((t=>t.unnormalizeVertexPositions())),this._editGeometry.notifyChanges({operation:\"apply\",updatedVertices:this._vertices}),!0)}}var e;!function(t){t[t.CUMULATIVE=0]=\"CUMULATIVE\",t[t.REPLACE=1]=\"REPLACE\"}(e||(e={}));export{e as AccumulationType,t as UpdateVertices};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{getInfo as o}from\"../../../geometry/support/spatialReferenceUtils.js\";import{ViewingMode as r}from\"../../ViewingMode.js\";function e(o,r){if(!r.supported)return;let e=1/0,p=-1/0;const n=r.upperBoundX-r.lowerBoundX;o.forEach((o=>{let u=o.pos[0];for(;ur.upperBoundX;)u-=n;e=Math.min(e,u),p=Math.max(p,u),o.pos[0]=u}));const u=p-e;n-u{o.pos[0]<0&&(o.pos[0]+=n)}))}function p(e,p){const n=o(e);return p===r.Global&&n?{supported:!0,lowerBoundX:n.valid[0],upperBoundX:n.valid[1]}:{supported:!1,lowerBoundX:null,upperBoundX:null}}export{p as getUnnormalizationInfo,e as unnormalize};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport e from\"../../core/Logger.js\";import{EditableFlag as t}from\"./interfaces.js\";function o(t){return[t.on(\"before-add\",(o=>{const i=o.item;if(null==i||t.includes(i))return e.getLogger(\"esri.views.interactive.interactiveToolUtils\").warn(\"Tool is either already in the list of tools or tool is `null`. Not adding tool.\"),void o.preventDefault();i.onAdd()})),t.on(\"after-remove\",(e=>{const t=e.item;t.active&&(t.view.activeTool=null),t.destroy()}))]}function i(e){return e.visible&&null!=e.getEditableFlag&&e.getEditableFlag(t.USER)&&e.getEditableFlag(t.MANAGER)}export{i as areToolManipulatorsEditable,o as getToolCollectionHandles};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nvar o,t,u;!function(o){o[o.USER=0]=\"USER\",o[o.MANAGER=1]=\"MANAGER\"}(o||(o={})),function(o){o[o.None=0]=\"None\",o[o.Unfocused=1]=\"Unfocused\",o[o.Focused=2]=\"Focused\",o[o.Unselected=4]=\"Unselected\",o[o.Selected=8]=\"Selected\",o[o.All=15]=\"All\"}(t||(t={})),function(o){o[o.None=0]=\"None\",o[o.Custom1=16]=\"Custom1\",o[o.Custom2=32]=\"Custom2\",o[o.Custom3=64]=\"Custom3\",o[o.Custom4=128]=\"Custom4\",o[o.Custom5=256]=\"Custom5\",o[o.Custom6=512]=\"Custom6\",o[o.Custom7=1024]=\"Custom7\",o[o.Custom8=2048]=\"Custom8\",o[o.Custom9=4096]=\"Custom9\",o[o.Custom10=8192]=\"Custom10\",o[o.Custom11=16384]=\"Custom11\",o[o.Custom12=32768]=\"Custom12\",o[o.All=65520]=\"All\"}(u||(u={}));export{o as EditableFlag,u as ManipulatorStateCustomFlags,t as ManipulatorStateFlags};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{remove as e}from\"../../core/arrayUtils.js\";import{makeHandle as t,handlesGroup as i}from\"../../core/handleUtils.js\";import{getOrCreateMapValue as o}from\"../../core/MapUtils.js\";import{ViewEventPriorities as r}from\"../input/InputManager.js\";import{primaryKey as n}from\"../input/keys.js\";const s=\"z\",a=\"r\",p={redo:a,undo:s,center:\"Alt\",constraint:\"Shift\",cancel:\"Escape\",delete:[\"Backspace\",\"Delete\"],complete:\"Enter\",vertexAdd:\"f\",pan:\" \"},c={toggle:\"Control\"},f={enterInputMode:\"Tab\",commit:\"Enter\",discard:\"Escape\",next:\"Tab\"},d={moveUp:{key:\"ArrowUp\",modifier:\"Shift\",repeats:!0},moveDown:{key:\"ArrowDown\",modifier:\"Shift\",repeats:!0},moveLeft:{key:\"ArrowLeft\",modifier:\"Shift\",repeats:!0},moveRight:{key:\"ArrowRight\",modifier:\"Shift\",repeats:!0},scaleUp:{key:\"+\",modifier:\"Shift\"},scaleDown:{key:\"-\",modifier:\"Shift\"},factorModifier:{key:n,continuePropagation:!0},toggleOpacity:\"t\",preserveAspectRatio:{key:\"Shift\",continuePropagation:!0},rotateIncrements:{key:\"Shift\",continuePropagation:!0},undo:s,redo:a};class h{constructor(){this._bindings=new Map}add(e,t){return this.addToggle(e,(e=>{\"key-down\"===e.type&&t(e)}))}addToggle(i,r){const n=m.fromDefinition(i,r),s=o(this._bindings,n.key,(()=>[]));return s.push(n),t((()=>e(s,n)))}register(e,t=r.WIDGET){return i([e.on(\"key-down\",(t=>this.dispatch(e.inputManager,t)),t),e.on(\"key-up\",(t=>this.dispatch(e.inputManager,t)),t)])}dispatch(e,t){const i=t.key,o=this._bindings.get(i);if(o)for(const r of o)r.process(e,t)}}class m{constructor(e,t,i,o,r){this.key=e,this.modifiers=t,this.repeats=i,this.continuePropagation=o,this.callback=r}process(e,t){if(!(t.key!==this.key||\"repeat\"in t&&t.repeat&&!this.repeats)){for(const t of this.modifiers)if(!e.isModifierKeyDown(t))return;this.continuePropagation||t.stopPropagation(),this.callback(t)}}static fromDefinition(e,t){if(\"string\"==typeof e)return new m(e,[],!1,!1,t);const{key:i,modifier:o,repeats:r,continuePropagation:n}=e;return new m(i,o?Array.isArray(o)?o:[o]:[],!!r,!!n,t)}}export{h as KeyBindings,d as mediaKeys,p as sketchKeys,c as snappingKeys,f as tooltipKeys};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{_ as o}from\"../../../chunks/tslib.es6.js\";import r from\"../../../core/Accessor.js\";import{property as e}from\"../../../core/accessorSupport/decorators/property.js\";import\"../../../core/has.js\";import\"../../../core/Logger.js\";import\"../../../core/RandomLCG.js\";import{subclass as s}from\"../../../core/accessorSupport/decorators/subclass.js\";let t=class extends r{constructor(o){super(o),this.enabled=!1}};o([e({type:Boolean,nonNullable:!0})],t.prototype,\"enabled\",void 0),t=o([s(\"esri.views.interactive.sketch.SketchLabelOptions\")],t);const c=t;export{c as default};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport\"../../../geometry.js\";import{valueInUnit as e,createLength as n,createAngle as t}from\"../../../core/quantityUtils.js\";import{verticalLengthUnitFromSpatialReference as r,lengthUnitFromSpatialReference as o}from\"../../../core/unitUtils.js\";import{d as i,c as l,g as u}from\"../../../chunks/vec32.js\";import{projectVectorToVector as s}from\"../../../geometry/projection/projectVectorToVector.js\";import{geodesicCompatibleSpatialReference as c}from\"../../../geometry/support/geodesicUtils.js\";import{makeDehydratedPoint as a}from\"../../../layers/graphics/dehydratedPoint.js\";import{getConvertedElevationFromXYZ as f}from\"../../../support/elevationInfoUtils.js\";import{CoordinateConstraint as m,constraintOrSet as d,VerticalCylinderConstraint as p,HorizontalPlaneConstraint as v,GeodesicConstraint as g,PointConstraint as R,VerticalHalfPlaneConstraint as j}from\"./constraints.js\";import{fromPoint as w,createWritable as y,toElevationAlignedDehydratedPoint as h}from\"./normalizedPoint.js\";import{getDegreesGeographic as x,DirectionMode as S,directionBetweenPoints as I,pointFromDistanceAlongAzimuth as U}from\"../../support/angularMeasurementUtils.js\";import M from\"../../../geometry/SpatialReference.js\";function Z(e,n,t,r,o,i){let l=\"geodesic\",u=c(t);const a=y();return w(e,n,r,a),a[2]=0,u&&s(a,t,a,u)||(l=\"euclidean\",u=t),{mode:l,view:n,elevationInfo:r,hasZ:o,directionMode:i,spatialReference:e.spatialReference,measurementSR:u,origin:a}}function b(n,t,r){if(null==t||null==n)return;const i=o(r.measurementSR);if(null==i)return;const l=G(n,r);if(null==l)return;const u=e(t,i);return new p(l,u)}function A(e,n,r,o){if(null==r||null==e)return;const i=G(e,o);if(null==i)return;const l=x(r),u=10,s=e=>{if(null==e)return;const n=y(),r=t(e,\"degrees\",\"geographic\");return U(n,i,o.measurementSR,u,r,o.mode)?new j(i,n):void 0},c=()=>{if(null!=n&&null!=e)return x(I(n,e))};switch(o.directionMode){case S.Absolute:return s(l);case S.Relative:{const e=c();if(null==e)return;return s(e+l)}case S.RelativeBilateral:{const e=c();if(null==e)return;return d([s(e+l),s(e-l)])}}}function B(e,n){const t=C(e,n);return null!=t?new v(t):void 0}function P(e,n,t){const{context:r,longitude:o,latitude:i,direction:l,distance:u,elevation:s}=t;if(null!=o||null!=i||null!=u||null!=s||null!=l){if(null!=o||null!=i){const e=x(o),n=x(i),t=C(s,r);return new m(e,n,t)}return T(e,n,t)}}function T(n,t,{context:r,direction:o,distance:i,elevation:l}){if(null==t)return B(l,r);const{view:u,elevationInfo:c,measurementSR:a}=r,f=w(t,u,c);if(!a||!s(f,t.spatialReference,E,a))return;const[m,p]=E,v=null!=i?e(i,\"meters\"):void 0,j=x(o),y=C(l,r),h=e=>{const n=new g([m,p],a,v,y,e);return null==v||null==e||null==y&&r.hasZ?n:new R(n.closestTo(f))};if(null==j)return h(void 0);const U=()=>{if(null!=n&&null!=t)return x(I(n,t))};switch(r.directionMode){case S.Absolute:return h(j);case S.Relative:{const e=U();if(null==e)return;return h(e+j)}case S.RelativeBilateral:{const e=U();if(null==e)return;return d([h(e+j),h(e-j)])}}}function V(e){return\"geodesic\"===e.context.mode?P(null,null,e):q(e)}function k(e,n,t){const{context:r,x:o,y:i,distance:l,direction:u,elevation:s}=t;return\"geodesic\"===r.mode?P(n,e,t):null!=o||null!=i?q(t):z([b(e,l,r),A(e,n,u,r),B(s,r)])}function q({x:e,y:n,elevation:t,context:r}){J.x=e?.value??0,J.y=n?.value??0,J.spatialReference=r.spatialReference;const o=G(J,r,F);return new m(null!=e&&null!=o?o[0]:void 0,null!=n&&null!=o?o[1]:void 0,C(t,r))}function z(e){let n;for(const t of e)t&&(n=n?.intersect(t)??t);return n}function G(e,n,t=y()){const{view:r,elevationInfo:o,measurementSR:l,origin:u,mode:c}=n;if(w(e,r,o,t),s(t,e.spatialReference,t,l))return\"geodesic\"!==c&&i(t,t,u),t}function W(e,n,t,r){const{view:o,measurementSR:i,spatialReference:c,origin:a,mode:f}=t;if(\"geodesic\"===f?l(H,e):u(H,e,a),s(H,i,H,c))return h(H,o,n,t,r)}function C(e,n){return D(e,n)?.value??void 0}function D(t,{view:o,origin:i,elevationInfo:l,hasZ:u,measurementSR:s}){if(null==t||!u)return;const c=r(s);if(null==c)return;const[a,m]=i,d=e(t,c),p=\"3d\"===o?.type?f(o,a,m,d,s,l):d;return null!=p?n(p,c):void 0}const E=y(),F=y(),H=y(),J=a(0,0,0,M.WGS84);export{W as constraintSpaceToPoint,Z as getConstraintContext,P as getGeodesicConstraint,V as getPointConstraint,k as getPolylineOrPolygonConstraint,z as intersectAll,G as pointToConstraintSpace};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{isSome as t,equals as e}from\"../../../core/arrayUtils.js\";import{asinClamped as s}from\"../../../core/mathUtils.js\";import{dot as r,subtract as n,exactEquals as i,set as o,squaredDistance as c}from\"../../../core/libs/gl-matrix-2/math/vec2.js\";import{create as u}from\"../../../core/libs/gl-matrix-2/factories/vec2f64.js\";import{b as a,p as h,s as f,a as l,k as d,i as p,c as m,d as g,H as _,f as L,e as k,n as x}from\"../../../chunks/vec32.js\";import{clone as y,create as P,UNIT_Z as z,fromValues as M}from\"../../../core/libs/gl-matrix-2/factories/vec3f64.js\";import{s as T,h as q}from\"../../../chunks/vec42.js\";import{create as w}from\"../../../core/libs/gl-matrix-2/factories/vec4f64.js\";import{toRadians as j}from\"../../../geometry/support/geodesicConstants.js\";import{directGeodeticSolver as v,inverseGeodeticSolver as A,InverseGeodeticSolverResult as D}from\"../../../geometry/support/geodesicUtils.js\";import{create as b,intersectLine as E,signedDistance as R,projectPoint as N,fromPositionAndNormal as U,fromPoints as Z,distance as I,getNormal as S}from\"../../../geometry/support/plane.js\";import{l as C,m as G,p as O,a as H,n as F}from\"../../../chunks/sphere.js\";import{tangentFrame as V}from\"../../3d/support/mathUtils.js\";import{fromVec3 as Y,clone as B,fromValues as J,asVec2 as K,create as Q,createWritable as W}from\"./normalizedPoint.js\";import{vectorsHaveCloseZ as X,isClose as $,intersectVerticalPlaneAndVerticalCylinder as tt,isPointInsidePlane as et,projectPointToLineLike as st,projectPointToVerticalCylinder as rt,projectPointToVerticalPlane as nt,VerticalPlaneType as it,intersectLineLikes as ot,intersectVerticalPlaneAndLineLike as ct,intersectLineLikeAndVerticalCylinder as ut,intersectLineLikeAndCircle as at,intersectVerticalPlanes as ht,intersectVerticalCylinders as ft,pointsInsidePlane as lt,intersectVerticalPlaneAndPoint as dt}from\"../../support/geometry3dUtils.js\";import{LineType as pt}from\"../../support/geometry2dUtils.js\";class mt{intersect(t){return Ft(this,t)}closestPoints(t){return[this.closestTo(t)]}}class gt extends mt{constructor(t){super(),this.point=t}equals(t){return this===t||Le(t)&&h(this.point,t.point)}closestTo(){return B(this.point)}}class _t extends mt{constructor(t,e,s){super(),this.start=t,this.end=e,this.lineLike={start:t,end:e,type:s}}equals(t){return this===t||ke(t)&&this.lineLike.type===t.lineLike.type&&h(this.start,t.start)&&h(this.end,t.end)}closestTo(t){const e=W();return st(t,this.lineLike,e),e}}class Lt extends _t{constructor(t,e){super(t,e,pt.LINE)}}class kt extends _t{constructor(t,e){super(t,e,pt.RAY)}}class xt extends mt{constructor(t){super(),this.constraints=t}equals(t){return this===t||_e(t)&&e(this.constraints,t.constraints,((t,e)=>t.equals(e)))}closestTo(t){let e,s=1/0;for(const r of this.constraints){const n=r.closestTo(t),i=f(t,n);ie===this?[]:e.closestPoints(t)))}}class yt extends mt{constructor(t,e){super(),this.center=t,this.radius=e}equals(t){return this===t||Pe(t)&&this.center[0]===t.center[0]&&this.center[1]===t.center[1]&&this.radius===t.radius}closestTo(t){const e=W();return rt(t,this.center,this.radius,e),e}}class Pt extends mt{constructor(t,e){super(),this.center=t,this.radius=e}equals(t){return this===t||ze(t)&&h(this.center,t.center)&&this.radius===t.radius}closestTo(t){const e=W();return rt(t,this.center,this.radius,e),e[2]=this.center[2],e}asCircle(){return new zt(B(this.center),this.radius,J(0,0,1))}}class zt extends mt{constructor(t,e,s,r=void 0){super(),this.center=t,this.radius=e,this.normal=s,this.slicePlane=r}equals(t){return this===t||Me(t)&&h(this.center,t.center)&&h(this.normal,t.normal)&&this.radius===t.radius}closestTo(t){const{center:e,radius:s}=this;N(this.getPlane(Tt),t,Mt);const r=l(Mt,Mt,e),n=d(r);if($(n,0))return B(t);const i=s/Math.sqrt(n),o=W();a(o,e,r,i);const{slicePlane:c}=this;if(c&&!et(c,o)){const e=Jt(c,this);return e?.closestTo(t)??B(t)}return o}getPlane(t=b()){return U(this.center,this.normal,t)}}const Mt=P(),Tt=b();class qt extends mt{constructor(t){super(),this.z=t}equals(t){return this===t||xe(t)&&this.z===t.z}closestTo(t){return J(t[0],t[1],this.z)}getPlane(t=b()){return p(wt,0,0,this.z),U(wt,z,t)}}const wt=P();class jt extends mt{constructor(t,e,s){super(),this.start=t,this.end=e,this.planeLike={start:K(t),end:K(e),type:s}}equals(t){return this===t||ye(t)&&this.planeLike.type===t.planeLike.type&&h(this.start,t.start)&&h(this.end,t.end)}closestTo(t){const e=W();return nt(t,this.planeLike,e),e}closestEndTo(t){const{start:e,end:s}=this.planeLike;return Math.sign(r(n(vt,s,e),n(At,K(t),e)))>0?this.end:this.start}getPlane(t=b()){const e=m(Dt,this.end);return e[2]+=1,Z(this.start,this.end,e,t)}getSlicePlane(t=b()){const{start:e,end:s,type:r}=this.planeLike;if(r===it.PLANE)return;const n=p(Dt,e[0],e[1],0),i=p(bt,s[0],s[1],0),o=g(bt,i,n);return U(n,o,t),t}}const vt=u(),At=u(),Dt=P(),bt=P();class Et extends jt{constructor(t,e){super(t,e,it.HALF_PLANE)}}class Rt extends jt{constructor(t,e){super(t,e,it.PLANE)}}class Nt extends mt{constructor(t,e){super(),this.sphere=C(t,e)}equals(t){return this===t||Te(t)&&G(this.sphere,t.sphere)}closestTo(t){const e=W();return O(this.sphere,t,e),e}get center(){return H(this.sphere)}get radius(){return this.sphere[3]}}class Ut extends mt{constructor(t,e,s){super(),this.start=t,this.end=e,this.getZ=s,this.planeLike={start:K(t),end:K(e),type:it.PLANE}}equals(t){return this===t||qe(t)&&h(this.start,t.start)&&h(this.end,t.end)&&this.getZ===t.getZ}closestTo(t){return Ht(this,t)}addIfOnTheGround(t,e){for(const s of e){const e=this.getZ(s[0],s[1])??0;$(s[2],e)&&(s[2]=e,t.push(s))}}}class Zt extends mt{constructor(t,e,s){super(),this._x=t,this._y=e,this._z=s}equals(t){return this===t||je(t)&&this._x===t._x&&this._y===t._y&&this._z===t._z}closestTo([t,e,s]){return Q(this._x??t,this._y??e,this._z??s)}}class It extends mt{constructor(t,e,s,r,n){super(),this._origin=t,this._spatialReference=e,this._distanceMeters=s,this._z=r,this._directionDegrees=n}equals(t){return this===t||we(t)&&i(this._origin,t._origin)&&this._spatialReference===t._spatialReference&&this._distanceMeters===t._distanceMeters&&this._z===t._z&&this._directionDegrees===t._directionDegrees}closestTo([t,e,s]){return o(St,t,e),i(St,this._origin)||this._applyDirectionAndDistance(St),Q(St[0],St[1],this._z??s)}_applyDirectionAndDistance(t){if(null!=this._directionDegrees&&null!=this._distanceMeters)v(t,this._origin,this._directionDegrees,this._distanceMeters,this._spatialReference);else if(null!=this._directionDegrees)Gt(t,this._origin,this._directionDegrees,t,this._spatialReference);else if(null!=this._distanceMeters){const{azimuth:e}=A(Ct,this._origin,t,this._spatialReference);v(t,this._origin,e??0,this._distanceMeters,this._spatialReference)}}}const St=[0,0],Ct=new D;function Gt(t,e,s,r,n){let{azimuth:i,distance:o}=A(Ot,e,r,n);i??=0;let c=o*Math.cos((i-s)*j);c=Math.max(0,c),v(t,e,s,c,n)}const Ot=new D;function Ht(t,e){const s=W();return nt(e,t.planeLike,s),s[2]=t.getZ(s[0],s[1])??ve,s}function Ft(t,e){if(_e(t)){const s=[];for(const r of t.constraints){const t=r.intersect(e);t&&s.push(t)}return ge(s)}if(_e(e))return Ft(e,t);if(qe(t))return le(t,e);if(qe(e))return le(e,t);if(Le(t)){const{point:s}=t;if(Le(e))return h(s,e.point)?t:void 0;const r=e.closestTo(s);return _(r,s)?t:void 0}if(ke(t)){if(Le(e))return Ft(e,t);if(ke(e))return pe(ot(t.lineLike,e.lineLike));if(xe(e))return Vt(t,e);if(ye(e))return pe(ct(e.planeLike,t.lineLike));if(Pe(e))return pe(ut(t.lineLike,e.center,e.radius));if(Me(e))return pe(at(t.lineLike,e));if(ze(e))return Yt(t,e);if(Te(e))return Bt(t,e)}else if(xe(t)){if(Le(e)||ke(e))return Ft(e,t);if(xe(e))return Kt(t,e);if(ye(e))return Qt(t,e);if(Pe(e))return Wt(t,e);if(Me(e))return $t(t,e);if(ze(e))return Xt(t,e);if(Te(e))return te(t,e)}else if(ye(t)){if(Le(e)||ke(e)||xe(e))return Ft(e,t);if(ye(e))return de(ht(t.planeLike,e.planeLike));if(Pe(e))return de(tt(t.planeLike,e.center,e.radius));if(Me(e))return se(t,e);if(ze(e))return ee(t,e);if(Te(e))return re(t,e)}else if(Pe(t)){if(Le(e)||ke(e)||xe(e)||ye(e))return Ft(e,t);if(Pe(e))return de(ft(K(t.center),t.radius,K(e.center),e.radius));if(Me(e))return ne();if(ze(e))return ie(t,e);if(Te(e))return oe()}else if(Me(t)){if(Le(e)||ke(e)||xe(e)||ye(e)||Pe(e))return Ft(e,t);if(Me(e))return ce();if(ze(e))return ce(e.asCircle());if(Te(e))return ue()}else if(ze(t)){if(Le(e)||ke(e)||xe(e)||ye(e)||Pe(e)||Me(e))return Ft(e,t);if(ze(e))return ae(e,t);if(Te(e))return he()}else if(Te(t)){if(Le(e)||ke(e)||xe(e)||ye(e)||Pe(e)||ze(e))return Ft(e,t);if(Te(e))return fe()}}const Vt=(()=>{const t=b();return(e,s)=>{const{start:r,end:n}=e;if(X(r,n)&&$(r[2],s.z))return e;const i=W();return E(s.getPlane(t),r,n,i)?new gt(i):void 0}})();function Yt({lineLike:t},{center:e,radius:s}){const r=e[2];return pe(ut(t,e,s).filter((t=>$(t[2],r))))}function Bt({lineLike:t},{sphere:e}){return pe(F(e,t.start,t.end))}const Jt=(()=>{const t=w(),e=P(),r=P();return(n,i,o)=>{const{normal:c,center:u,radius:h}=i;V(c,e,r);const f=S(n),l=h*L(f,e),d=h*L(f,r);T(t,u[0],u[1],u[2],1);const p=q(n,t),m=Math.hypot(l,d),g=$(m,0);if($(I(n,u),0)){if(g)return i;if($(h,0))return!o||et(o,u)?new gt(B(u)):void 0;k(e,f,c),x(e,e);const t=new Array,s=y(u);a(s,s,e,h),o&&!et(o,s)||t.push(s);const r=y(u);return a(r,r,e,-h),o&&!et(o,r)||t.push(r),pe(t)}if(g)return;const _=-p/m;if(Math.abs(_)>1||$(_,1))return;const z=Math.atan(l/d),M=s(_)-z,w=Math.PI-M,j=new Array,v=P();a(v,u,e,h*Math.cos(M)),a(v,v,r,h*Math.sin(M)),j.push(v);const A=P();return a(A,u,e,h*Math.cos(w)),a(A,A,r,h*Math.sin(w)),j.push(A),pe(o?lt(o,j):j)}})();function Kt(t,e){return $(t.z,e.z)?t:void 0}function Qt({z:t},{planeLike:e}){const[s,r]=e.start,[n,i]=e.end,o=J(s,r,t),c=J(n,i,t);return e.type===it.PLANE?new Lt(o,c):new kt(o,c)}function Wt(t,e){const[s,r]=e.center;return new Pt(J(s,r,t.z),e.radius)}function Xt(t,e){return $(e.center[2],t.z)?e:void 0}const $t=(()=>{const t=b();return(e,s)=>Jt(e.getPlane(t),s,s.slicePlane)})();function te(t,{center:e,radius:s}){const r=Math.abs(e[2]-t.z);if(r>s&&!$(r,s))return;const n=J(e[0],e[1],t.z),i=Math.sqrt(s**2-r**2);return $(i,0)?void 0:new Pt(n,i)}const ee=(()=>{const t=b();return(e,{center:s,radius:r})=>{const n=tt(e.planeLike,s,r),i=s[2];e.getSlicePlane(t);const o=new Array;for(const[c,u]of n){const e=[c,u,i];et(t,e)&&o.push(e)}return pe(o)}})(),se=(()=>{const t=b(),e=b();return(s,r)=>Jt(s.getPlane(t),r,s.getSlicePlane(e))})(),re=(()=>{const t=b();return(e,{center:s,radius:r})=>{const n=e.getPlane(t),i=R(n,s),o=Math.abs(i);if(o>r&&!$(o,r))return;const c=Math.sqrt(r**2-i**2);if($(c,0)){const t=W();return N(n,s,t),new gt(t)}const u=W(),h=y(S(n));return a(u,s,h,i),new zt(u,c,h,e.getSlicePlane())}})();function ne(t,e){}function ie(t,e){const s=c(K(t.center),K(e.center));if($(s,0)&&$(t.radius,e.radius))return e;return me(ft(K(t.center),t.radius,K(e.center),e.radius),e.center[2])}function oe(t,e){}function ce(t,e){}function ue(t,e){}function ae(t,e){if(!X(t.center,e.center))return;const s=c(K(t.center),K(e.center));if($(s,0)&&$(t.radius,e.radius))return t;return me(ft(K(t.center),t.radius,K(e.center),e.radius),t.center[2])}function he(t,e){}function fe(t,e){}function le(t,e){const{planeLike:s,getZ:r}=t,n=new Array;if(Le(e))t.addIfOnTheGround(n,dt(s,e.point));else if(ke(e))t.addIfOnTheGround(n,ct(s,e.lineLike));else if(Pe(e))for(const[i,o]of tt(s,e.center,e.radius)){const t=r(i,o);null!=t&&n.push(M(i,o,t))}else if(ye(e)||qe(e))for(const[i,o]of ht(s,e.planeLike)){const t=r(i,o)??ve;n.push(M(i,o,t))}return pe(n)}function de(t){return ge(t.map((([t,e])=>{const s=J(t,e,0),r=J(t,e,1);return new Lt(s,r)})))}function pe(t){return ge(t.map((t=>t?new gt(Y(t)):void 0)))}function me(t,e){return pe(t.map((([t,s])=>[t,s,e])))}function ge(e){if(0!==e.length)return 1===e.length?e[0]??void 0:new xt(e.filter(t))}function _e(t){return t instanceof xt}function Le(t){return t instanceof gt}function ke(t){return t instanceof _t}function xe(t){return t instanceof qt}function ye(t){return t instanceof jt}function Pe(t){return t instanceof yt}function ze(t){return t instanceof Pt}function Me(t){return t instanceof zt}function Te(t){return t instanceof Nt}function qe(t){return t instanceof Ut}function we(t){return t instanceof It}function je(t){return t instanceof Zt}const ve=0;export{zt as CircleConstraint,mt as Constraint,Zt as CoordinateConstraint,Ut as DrapedLineConstraint,It as GeodesicConstraint,Pt as HorizontalCircleConstraint,qt as HorizontalPlaneConstraint,Lt as LineConstraint,_t as LineLikeConstraint,gt as PointConstraint,kt as RayConstraint,xt as SetConstraint,Nt as SphereConstraint,yt as VerticalCylinderConstraint,Et as VerticalHalfPlaneConstraint,Rt as VerticalPlaneConstraint,jt as VerticalPlaneLikeConstraint,ge as constraintOrSet,Le as isPoint};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{fromValues as n}from\"../../../core/libs/gl-matrix-2/factories/vec3f64.js\";import{setDehydratedPoint as t,makeDehydratedPoint as e}from\"../../../layers/graphics/dehydratedPoint.js\";import{getConvertedElevation as o,absoluteHeightElevationInfo as r,getConvertedElevationFromVector as u,getConvertedElevationFromXYZ as i}from\"../../../support/elevationInfoUtils.js\";var l;function f(n,t,e){return c(n,t,e)}function c(t=0,e=0,o=0){return n(t,e,o)}function a(n){return n}function s(n){return n}function d(t,e,o){return a(n(t,e,o))}function v(n){const[t,e,o]=n;return n.length>3?[t,e,o,n[3]]:[t,e,o]}function p(n){return n[3]=((n.length>3?n[3]:void 0)??l.NONE)|l.TARGET,n}function m(n){return Boolean(((n.length>3?n[3]:void 0)??l.NONE)&l.TARGET)}function N(n,t,{coordinateHelper:e,elevationInfo:o},r){return n?E(e.vectorToDehydratedPoint(n,g),t,o,r):null}function E(n,t,e,u=c()){return u[0]=n.x,u[1]=n.y,u[2]=n.z??0,null==t||(\"2d\"===t.type?u[2]=0:u[2]=o(t,n,e,r)??0),u}function T(n,o,r){return r?(t(r,n[0],n[1],n[2],o),r):e(n[0],n[1],n[2],o)}function h(n,o,{z:i,m:l},f,c){const{spatialReference:a,elevationInfo:s}=f;let d;if(null==i&&null==l)d=void 0;else if(null==o||\"2d\"===o.type)d=i??void 0;else{d=u(o,n,a,r,s)??0}const[v,p]=n;return c?t(c,v,p,d,a):c=e(v,p,d,a),null!=l&&(c.m=l,c.hasM=!0),c}function y(n,t,e,o,u=c()){const[f,a]=n;return u[0]=f,u[1]=a,n.length>3&&(u[3]=n[3]??l.NONE),\"3d\"!==e?.type?(u[2]=t.value,u):(u[2]=i(e,f,a,t.value,o,t.elevationInfo,r)??0,u)}!function(n){n[n.NONE=0]=\"NONE\",n[n.TARGET=1]=\"TARGET\"}(l||(l={}));const g=e(0,0,0,null);export{s as asVec2,v as clone,f as create,c as createWritable,N as fromAnyMapPoint,E as fromPoint,d as fromValues,a as fromVec3,m as isTarget,p as markAsTarget,T as toDehydratedPoint,h as toElevationAlignedDehydratedPoint,y as withSelfSnappingZ};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{_ as o}from\"../../../chunks/tslib.es6.js\";import r from\"../../../core/Accessor.js\";import e from\"../../../core/Collection.js\";import{property as t}from\"../../../core/accessorSupport/decorators/property.js\";import\"../../../core/has.js\";import\"../../../core/Logger.js\";import\"../../../core/RandomLCG.js\";import{subclass as s}from\"../../../core/accessorSupport/decorators/subclass.js\";let i=class extends r{constructor(o){super(o),this.layer=null,this.enabled=!0,this.updating=!1,this.availability=1,this.sublayerSources=new e}};o([t({constructOnly:!0})],i.prototype,\"layer\",void 0),o([t()],i.prototype,\"enabled\",void 0),o([t()],i.prototype,\"updating\",void 0),o([t()],i.prototype,\"availability\",void 0),o([t()],i.prototype,\"sublayerSources\",void 0),i=o([s(\"esri.views.interactive.snapping.FeatureSnappingLayerSource\")],i);const p=i;export{p as default};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{_ as e}from\"../../../chunks/tslib.es6.js\";import n from\"../../../Color.js\";import{JSONSupport as t}from\"../../../core/JSONSupport.js\";import{property as i}from\"../../../core/accessorSupport/decorators/property.js\";import{subclass as r}from\"../../../core/accessorSupport/decorators/subclass.js\";let o=class extends t{constructor(){super(...arguments),this.enabled=!0}};e([i({type:Boolean})],o.prototype,\"enabled\",void 0),o=e([r(\"esri.views.interactive.snapping.Settings.DefaultSnappingAlgorithm\")],o);let l=class extends t{constructor(e){super(e),this.lineSnapper=new o,this.parallelLineSnapper=new o,this.rightAngleSnapper=new o,this.rightAngleTriangleSnapper=new o,this.shortLineThreshold=15,this.distance=5,this.pointThreshold=1e-6,this.intersectionParallelLineThreshold=1e-6,this.parallelLineThreshold=1e-6,this.verticalLineThresholdMeters=.3,this.touchSensitivityMultiplier=1.5,this.pointOnLineThreshold=1e-6,this.orange=new n([255,127,0]),this.orangeTransparent=new n([255,127,0,.5]),this.lineHintWidthReference=3,this.lineHintWidthTarget=3,this.lineHintFadedExtensions=.3,this.parallelLineHintWidth=2,this.parallelLineHintLength=24,this.parallelLineHintOffset=1.5,this.rightAngleHintSize=24,this.rightAngleHintOutlineSize=1.5,this.satisfiesConstraintScreenThreshold=1}};e([i({type:o,constructOnly:!0,nonNullable:!0,json:{write:!0}})],l.prototype,\"lineSnapper\",void 0),e([i({type:o,constructOnly:!0,nonNullable:!0,json:{write:!0}})],l.prototype,\"parallelLineSnapper\",void 0),e([i({type:o,constructOnly:!0,nonNullable:!0,json:{write:!0}})],l.prototype,\"rightAngleSnapper\",void 0),e([i({type:o,constructOnly:!0,nonNullable:!0,json:{write:!0}})],l.prototype,\"rightAngleTriangleSnapper\",void 0),e([i({type:Number,nonNullable:!0,range:{min:-1,max:50,step:1},json:{write:!0}})],l.prototype,\"shortLineThreshold\",void 0),e([i({type:Number,nonNullable:!0,range:{min:-1,max:50,step:1},json:{write:!0}})],l.prototype,\"distance\",void 0),e([i({type:Number,nonNullable:!0,range:{min:0,max:1e-5},json:{write:!0}})],l.prototype,\"pointThreshold\",void 0),e([i({type:Number,nonNullable:!0,range:{min:0,max:1e-5},json:{write:!0}})],l.prototype,\"intersectionParallelLineThreshold\",void 0),e([i({type:Number,nonNullable:!0,range:{min:0,max:1e-5},json:{write:!0}})],l.prototype,\"parallelLineThreshold\",void 0),e([i({type:Number,nonNullable:!0,range:{min:0,max:1},json:{write:!0}})],l.prototype,\"verticalLineThresholdMeters\",void 0),e([i({type:Number,nonNullable:!0,range:{min:0,max:10},json:{write:!0}})],l.prototype,\"touchSensitivityMultiplier\",void 0),e([i({type:Number,nonNullable:!0,range:{min:0,max:1e-5},json:{write:!0}})],l.prototype,\"pointOnLineThreshold\",void 0),e([i({type:n,nonNullable:!0})],l.prototype,\"orange\",void 0),e([i({type:n,nonNullable:!0})],l.prototype,\"orangeTransparent\",void 0),e([i({type:Number,nonNullable:!0,range:{min:0,max:10},json:{write:!0}})],l.prototype,\"lineHintWidthReference\",void 0),e([i({type:Number,nonNullable:!0,range:{min:0,max:10},json:{write:!0}})],l.prototype,\"lineHintWidthTarget\",void 0),e([i({type:Number,nonNullable:!0,range:{min:0,max:1},json:{write:!0}})],l.prototype,\"lineHintFadedExtensions\",void 0),e([i({type:Number,nonNullable:!0,range:{min:0,max:10},json:{write:!0}})],l.prototype,\"parallelLineHintWidth\",void 0),e([i({type:Number,nonNullable:!0,range:{min:0,max:50},json:{write:!0}})],l.prototype,\"parallelLineHintLength\",void 0),e([i({type:Number,nonNullable:!0,range:{min:0,max:5},json:{write:!0}})],l.prototype,\"parallelLineHintOffset\",void 0),e([i({type:Number,nonNullable:!0,range:{min:0,max:46},json:{write:!0}})],l.prototype,\"rightAngleHintSize\",void 0),e([i({type:Number,nonNullable:!0,range:{min:0,max:6},json:{write:!0}})],l.prototype,\"rightAngleHintOutlineSize\",void 0),e([i({type:Number,nonNullable:!0,range:{min:0,max:5},json:{write:!0}})],l.prototype,\"satisfiesConstraintScreenThreshold\",void 0),l=e([r(\"esri.views.interactive.snapping.Settings.Defaults\")],l);const p=new l;export{p as defaults};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nclass e{constructor(e){this.vertexHandle=null,this.excludeFeature=null,this.visualizer=null,this.selfSnappingZ=null,this.drawConstraints=null,this.editGeometryOperations=e.editGeometryOperations,this.elevationInfo=e.elevationInfo,this.pointer=e.pointer,this.vertexHandle=e.vertexHandle,this.excludeFeature=e.excludeFeature,this.feature=e.feature,this.visualizer=e.visualizer,this.selfSnappingZ=e.selfSnappingZ,this.drawConstraints=e.drawConstraints}get coordinateHelper(){return this.editGeometryOperations.data.coordinateHelper}get spatialReference(){return this.coordinateHelper.spatialReference}}export{e as SnappingContext};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nvar E;!function(E){E[E.FEATURE=1]=\"FEATURE\",E[E.SELF=2]=\"SELF\",E[E.ALL=3]=\"ALL\"}(E||(E={}));export{E as SnappingDomain};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{abortMaybe as n,removeMaybe as e}from\"../../../core/maybe.js\";import{ignoreAbortErrors as t,debounce as o}from\"../../../core/promiseUtils.js\";import{watch as r}from\"../../../core/reactiveUtils.js\";import{pointEquals as i}from\"../../../layers/graphics/dehydratedFeatureComparison.js\";import{clonePoint as l}from\"../../../layers/graphics/hydratedFeatures.js\";import{absoluteHeightElevationInfo as a}from\"../../../support/elevationInfoUtils.js\";import{EventPipeline as s}from\"../dragEventPipeline.js\";import{SnappingContext as u}from\"./SnappingContext.js\";import{TaskPriority as c,ImmediateTask as p}from\"../../support/Scheduler.js\";function f({predicate:o=()=>!0,snappingManager:i,snappingContext:l,updatingHandles:u,useZ:c=!0}){const p=new s;if(null==i)return{snappingStep:[y,p],cancelSnapping:y};let f,Z=null,j=null,z=null;const T=()=>{Z=n(Z),i.doneSnapping(),j?.frameTask.remove(),j=null,f=e(f),z=null},k=d(i,c,p);let w=null,I=null,U=null;return{snappingStep:[n=>{if(!o(n))return n;const{action:e}=n;if(\"start\"===e){const{info:e}=n,t=m(i.view);if(j=g(l,n,t),j.context.selfSnappingZ=null,!c&&null!=e){const n=S(l.coordinateHelper,e.handle.component);null!=n&&(j.context.selfSnappingZ={value:n,elevationInfo:l.elevationInfo??a})}}if(null!=j){const{context:o,originalScenePos:l,originalPos:a}=j,{mapEnd:s,mapStart:p,scenePoints:d}=n,m=x(a,v(s,p)),g=v(p,a),S={...n,action:\"update\"},y=j.context,T=P(l,d),C=i.update({point:m,scenePoint:T,context:o});if(U=C,h(s,C,g,c),w=m,I=T,\"end\"!==e){const{frameTask:n}=j;null==Z&&(Z=new AbortController),z=e=>{u.addPromise(t(k({frameTask:n,event:S,context:y,point:m,scenePoint:T,delta:g,getLastState:()=>({point:w,scenePoint:I,updatePoint:e.forceUpdate?null:U})},Z.signal)))},z({forceUpdate:!1}),null==f&&(f=r((()=>i.options.effectiveEnabled),(()=>z?.({forceUpdate:!0}))))}}return\"end\"===e&&T(),n},p],cancelSnapping:n=>(T(),n)}}function d(n,e,t){return o((async({frameTask:o,point:r,scenePoint:l,context:a,event:s,delta:u,getLastState:c},p)=>{const f=await o.schedule((()=>n.snap({point:r,scenePoint:l,context:a,signal:p})),p);if(f.valid){let l=await o.schedule((()=>f.apply()),p);const d=c();null!=d.point&&r!==d.point&&(l=n.update({point:d.point,scenePoint:d.scenePoint,context:a})),null!=d.updatePoint&&i(l,d.updatePoint)||(h(s.mapEnd,l,u,e),t.execute(s))}}))}function m(n){return\"3d\"===n.type?n.resourceController.scheduler.registerTask(c.SNAPPING):p}function g(n,e,t){return{context:new u({editGeometryOperations:n.editGeometryOperations,elevationInfo:n.elevationInfo,pointer:n.pointer,vertexHandle:null!=e.info?e.info.handle:null,excludeFeature:n.excludeFeature,feature:n.feature,visualizer:n.visualizer}),originalPos:null!=e.snapOrigin?n.coordinateHelper.vectorToDehydratedPoint(e.snapOrigin):e.mapStart,originalScenePos:null!=e.scenePoints?e.scenePoints.sceneStart:null,frameTask:t}}function x(n,[e,t,o]){const r=l(n);return r.x+=e,r.y+=t,r.hasZ&&(r.z+=o),r}function P(n,e){return null==n||null==e?null:x(n,v(e.sceneEnd,e.sceneStart))}function v(n,e){const t=n.hasZ&&e.hasZ?n.z-e.z:0;return[n.x-e.x,n.y-e.y,t]}function h(n,e,[t,o,r],i){n.x=e.x+t,n.y=e.y+o,i&&n.hasZ&&e.hasZ&&(n.z=e.z+r)}function S(n,e){if(!n.hasZ())return null;const t=e.vertices;let o=null;for(const r of t){const e=n.getZ(r.pos);if(null!=o&&null!=e&&Math.abs(e-o)>1e-6)return null;null==o&&(o=e)}return o}function y(n){return n}export{f as createSnapDragEventPipelineStep};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{_ as e}from\"../../../chunks/tslib.es6.js\";import t from\"../../../core/Accessor.js\";import{createTask as n}from\"../../../core/asyncUtils.js\";import i from\"../../../core/Evented.js\";import\"../../../core/has.js\";import{throwIfAborted as s,isAborted as a}from\"../../../core/promiseUtils.js\";import{watch as r,syncAndInitial as o,sync as p}from\"../../../core/reactiveUtils.js\";import{property as c}from\"../../../core/accessorSupport/decorators/property.js\";import\"../../../core/Logger.js\";import\"../../../core/RandomLCG.js\";import{subclass as d}from\"../../../core/accessorSupport/decorators/subclass.js\";import{project as h,initializeProjection as l}from\"../../../geometry/projection.js\";import{absoluteHeightElevationInfo as u}from\"../../../support/elevationInfoUtils.js\";import{fromPoint as f,markAsTarget as g,toElevationAlignedDehydratedPoint as _}from\"../sketch/normalizedPoint.js\";import{defaults as S}from\"./Settings.js\";import{SnappingDomain as m}from\"./SnappingDomain.js\";import v from\"./SnappingOptions.js\";import{sortCandidatesInPlace as y,squaredScreenDistance as C}from\"./snappingUtils.js\";import{DrapedEdgeSnappingCandidate as w}from\"./candidates/DrapedEdgeSnappingCandidate.js\";import{EdgeSnappingCandidate as E}from\"./candidates/EdgeSnappingCandidate.js\";import{IntersectionSnappingCandidate as P}from\"./candidates/IntersectionSnappingCandidate.js\";import{LineSnappingCandidate as T}from\"./candidates/LineSnappingCandidate.js\";import{ParallelLineSnappingCandidate as j}from\"./candidates/ParallelLineSnappingCandidate.js\";import{RightAngleSnappingCandidate as M,SelfSnappingRightAngleType as R}from\"./candidates/RightAngleSnappingCandidate.js\";import{RightAngleTriangleSnappingCandidate as q}from\"./candidates/RightAngleTriangleSnappingCandidate.js\";import{vectorToScreenPoint as A}from\"../support/viewUtils.js\";let I=class extends(i.EventedMixin(t)){constructor(e){super(e),this.options=new v,this._engineCache=new Map,this._loadTask=null,this._engines=[],this._currentMainCandidate=null,this._currentOtherActiveCandidates=[],this._currentSnappedType=x.MAIN}initialize(){this.addHandles([r((()=>{const{distance:e,touchSensitivityMultiplier:t,effectiveSelfEnabled:n,effectiveFeatureEnabled:i,effectiveGridEnabled:s}=this.options;return{selfEnabled:n,featureEnabled:i,gridEnabled:\"2d\"===this.view.type&&s,viewReady:this.view.ready,viewSpatialReference:this.view.spatialReference,distance:e,touchSensitivityMultiplier:t}}),((e,t)=>{t&&(this.doneSnapping(),this.emit(\"changed\")),this._loadTask?.abort(),this._loadTask=n((n=>this._updateEngines(e,t,n)))}),o),r((()=>this.options),(e=>{for(const t of this._engines)t.options=e}),p)])}destroy(){this._destroyEngines()}get updating(){return this._engines.some((e=>e.updating))||!this._loadTask?.finished}_destroyEngines(){this._engineCache.forEach((e=>e.destroy())),this._engineCache.clear(),this._engines=[]}async _updateEngines(e,t,n){if(!e.viewReady)return void this._destroyEngines();t?.viewSpatialReference!==e.viewSpatialReference&&this._destroyEngines();const{_engineCache:i}=this,s=[];e.featureEnabled&&!i.has(\"feature\")&&s.push(this._setupFeatureSnappingEngine(n)),e.selfEnabled&&!i.has(\"self\")&&s.push(this._setupSelfSnappingEngine(n)),e.gridEnabled&&!i.has(\"grid\")&&\"2d\"===this.view.type&&s.push(this._setupGridSnappingEngine(n)),await Promise.allSettled(s),n.aborted||(this._engines=Array.from(i.values()))}async _setupSelfSnappingEngine(e){const{SelfSnappingEngine:t}=await import(\"./SelfSnappingEngine.js\");s(e);const n=new t({view:this.view,options:this.options});this._engineCache.set(\"self\",n)}async _setupGridSnappingEngine(e){const{view:t}=this,{GridSnappingEngine:n}=await import(\"./GridSnappingEngine.js\");if(s(e),\"2d\"===t.type){const e=new n({view:t,options:this.options});this._engineCache.set(\"grid\",e)}}async _setupFeatureSnappingEngine(e){const{FeatureSnappingEngine:t}=await import(\"./FeatureSnappingEngine.js\");s(e);const{view:n,options:i,_engineCache:a}=this,r=new t({view:n,options:i,spatialReference:n.spatialReference});a.set(\"feature\",r)}get _squaredMouseProximityThreshold(){return this.options.distance*this.options.distance}get _squaredTouchProximityThreshold(){const{distance:e,touchSensitivityMultiplier:t}=this.options,n=e*t;return n*n}snap(e){return L(e)?this._snapMultiPoint(e):this._snapSinglePoint(e)}update(e){const{point:t,context:n}=e;this._removeVisualization();const i=this._currentMainCandidate;if(null==i)return t;const s=this._selectUpdateInput(e);if(null==s)return t;const{spatialReference:a}=n,r=h(s,a);if(null==r)return t;const{view:o}=this,{elevationInfo:p,visualizer:c}=n,d=[],l=f(r,o,p),u=i.constraint.closestTo(l);if(!this._arePointsWithinScreenThreshold(l,u,n)||!N(i,n.drawConstraints))return this._resetSnappingState(),t;i.targetPoint=g(u),d.push(...i.hints);for(const h of this._currentOtherActiveCandidates)N(h,n.drawConstraints)&&(h.targetPoint=g(u),d.push(...h.hints));return null!=c&&this.addHandles(c.draw(d,{spatialReference:a,elevationInfo:U(n),view:o,selfSnappingZ:n.selfSnappingZ}),b),_(u,o,t,n)}doneSnapping(){this._removeVisualization(),this._resetSnappingState()}_selectUpdateInput({point:e,scenePoint:t}){switch(this._currentSnappedType){case x.MAIN:return e;case x.SCENE:return t}}_resetSnappingState(){this._currentMainCandidate=null,this._currentOtherActiveCandidates=[],this._currentSnappedType=x.MAIN}_removeVisualization(){this.removeHandles(b)}async _snapSinglePoint({point:e,context:t,signal:n}){const{view:i}=this,{elevationInfo:s}=t,a=f(e,i,s),r=await this._fetchCandidates(a,m.ALL,t,n);return this._createSnapResult(a,x.MAIN,r,i,e,t,n)}async _snapMultiPoint({point:e,scenePoint:t,context:n,signal:i}){const{view:s}=this,{coordinateHelper:a,elevationInfo:r,spatialReference:o}=n;await l(t.spatialReference,o);const p=h(t,o),c=f(p,s,r),d=await this._fetchCandidates(c,m.FEATURE,n,i);if(d.length>0){const e=await this._fetchCandidates(c,m.SELF,n,i);return this._createSnapResult(c,x.SCENE,[...d,...e],s,p,n,i)}const u=f(e,s,r),g=await this._fetchCandidates(u,m.SELF,n,i);return this._createSnapResult(u,x.MAIN,g,s,{z:a.hasZ()&&e.hasZ?e.z??0:void 0,m:a.hasM()&&e.hasM?e.m??0:void 0},n,i)}async _fetchCandidates(e,t,n,i){return(await Promise.all(this._engines.map((s=>s.fetchCandidates(e,t,n,i))))).flat()}_createSnapResult(e,t,n,i,s,r,o){return{get valid(){return!a(o)},apply:()=>{const{spatialReference:a}=r,{snappedPoint:o,hints:p}=this._processCandidates(e,t,n,r);return this._removeVisualization(),null!=r.visualizer&&this.addHandles(r.visualizer.draw(p,{spatialReference:a,elevationInfo:u,view:i,selfSnappingZ:r.selfSnappingZ}),b),_(o,i,s,r)}}}_processCandidates(e,t,n,i){if(n.length<1)return this.doneSnapping(),{snappedPoint:e,hints:[]};this._currentSnappedType!==t&&this._resetSnappingState(),y(e,n);const s=this._currentMainCandidate;if(null!=s){const a=O(s,n);if(a>=0){if(!(n[a]instanceof P))return this._intersectWithOtherCandidates(a,n,e,t,i);if(this._arePointsWithinScreenThreshold(e,s.targetPoint,i))return this._updateSnappingCandidate(s,t,n,i)}}return this._intersectWithOtherCandidates(0,n,e,t,i)}_intersectWithOtherCandidates(e,t,n,i,s){const{coordinateHelper:a}=s,r=t[e],o=[];for(let p=0;p0&&(o.sort(((e,t)=>e[1]-t[1])),o[0][1]=0&&H(t,e.second)>=0?0:-1:H(t,e)}function H(e,t){let n=-1;for(let i=0;i{e.remove(),o.destroy()}})}const o=t.get(n);o.referenceCount++;const a=e((()=>i(n,o)));return{snappingManager:o.snappingManager,...a}}function i(e,r){r.referenceCount--,r.referenceCount>0||n((()=>{0===r.referenceCount&&(r.remove(),t.delete(e))}))}function p(e,n){return new o({view:e,options:n})}export{a as acquire};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{_ as t}from\"../../../chunks/tslib.es6.js\";import s from\"../../../core/Accessor.js\";import{abortMaybe as o,removeMaybe as n}from\"../../../core/maybe.js\";import{debounce as i}from\"../../../core/promiseUtils.js\";import{property as r}from\"../../../core/accessorSupport/decorators/property.js\";import\"../../../core/has.js\";import\"../../../core/Logger.js\";import\"../../../core/RandomLCG.js\";import{subclass as e}from\"../../../core/accessorSupport/decorators/subclass.js\";import{TaskPriority as a,ImmediateTask as l}from\"../../support/Scheduler.js\";let p=class extends s{constructor(t){super(t),this.constrainResult=t=>t,this._snapPoints=null,this._frameTask=null,this._abortController=null,this._stagedPoint=null,this._snap=i((async(t,s,o,n)=>{const i=this._frameTask;if(null==i)return;const r=await i.schedule((()=>s.snap({...t,context:o,signal:n})),n);r.valid&&await i.schedule((()=>{this.stagedPoint=r.apply(),t!==this._snapPoints&&null!=this._snapPoints&&(this.stagedPoint=s.update({...this._snapPoints,context:o}))}),n)}))}get stagedPoint(){return this._stagedPoint}set stagedPoint(t){this._stagedPoint=this.constrainResult(t)}initialize(){const t=\"3d\"===this.view.type?this.view?.resourceController?.scheduler:null;this._frameTask=null!=t?t.registerTask(a.SNAPPING):l}destroy(){this._abortController=o(this._abortController),this._frameTask=n(this._frameTask)}update(t,s,o){this._snapPoints=t;const{point:n,scenePoint:i}=t,r=s.update({point:n,scenePoint:i,context:o});return this.stagedPoint=r,r}async snap(t,s,o){const{point:n,scenePoint:i}=t;return this.stagedPoint=s.update({point:n,scenePoint:i,context:o}),this._snapPoints=t,null==this._abortController&&(this._abortController=new AbortController),this._snap(t,s,o,this._abortController.signal)}async snapAgainNearPreviousMapPoint(t,s){null!=this._snapPoints&&await this.snap(this._snapPoints,t,s)}abort(){this._abortController=o(this._abortController),this._snapPoints=null}};t([r({constructOnly:!0})],p.prototype,\"view\",void 0),t([r()],p.prototype,\"stagedPoint\",null),t([r()],p.prototype,\"constrainResult\",void 0),t([r()],p.prototype,\"_stagedPoint\",void 0),p=t([e(\"esri.views.interactive.snapping.SnappingOperation\")],p);export{p as SnappingOperation};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{_ as e}from\"../../../chunks/tslib.es6.js\";import t from\"../../../core/Accessor.js\";import{difference as r}from\"../../../core/arrayUtils.js\";import o from\"../../../core/Collection.js\";import i from\"../../../core/Logger.js\";import{property as s}from\"../../../core/accessorSupport/decorators/property.js\";import\"../../../core/has.js\";import{subclass as a}from\"../../../core/accessorSupport/decorators/subclass.js\";import n from\"./FeatureSnappingLayerSource.js\";import{defaults as l}from\"./Settings.js\";let u=class extends t{constructor(e){super(e),this.enabled=!1,this.enabledToggled=!1,this.forceDisabled=!1,this.selfEnabled=!0,this.featureEnabled=!0,this.gridEnabled=!1,this.attributeRulesEnabled=!1,this.featureSources=new o,this.distance=l.distance,this.touchSensitivityMultiplier=l.touchSensitivityMultiplier}get effectiveEnabled(){return!this.forceDisabled&&(this.enabledToggled?!this.enabled:this.enabled)}get effectiveGridEnabled(){return this.effectiveEnabled&&this.gridEnabled}get effectiveSelfEnabled(){return this.effectiveEnabled&&this.selfEnabled}get effectiveFeatureEnabled(){return this.effectiveEnabled&&this.featureEnabled}get _effectiveFeatureSources(){const e=this.featureSources;e.some(p)&&i.getLogger(this).warnOnce(\"Do not configure SubtypeGroupLayer sources in SnappingOptions.featureSources directly. Create a FeatureSnappingLayerSource for each SubtypeSublayer.\");const t=e.filter(f),s=this._get(\"_effectiveFeatureSources\")?.filter(p)??new o;for(const r of t){const e=s.find((e=>e.layer===r.layer.parent));if(e)e.sublayerSources.includes(r)||e.sublayerSources.add(r);else if(r.layer.parent){const e=new n({layer:r.layer.parent});e.sublayerSources.add(r),s.add(e)}}for(const r of s){const e=r.sublayerSources.filter((e=>!t.includes(e)));r.sublayerSources.removeMany(e)}s.removeMany(s.filter((e=>0===e.sublayerSources.length)));const a=e.filter(d),l=this._get(\"_effectiveFeatureSources\")??new o,{added:u,removed:c}=r(l.toArray(),[...a,...s]);return l.removeMany(c),l.addMany(u),l}};e([s()],u.prototype,\"enabled\",void 0),e([s()],u.prototype,\"enabledToggled\",void 0),e([s()],u.prototype,\"forceDisabled\",void 0),e([s()],u.prototype,\"selfEnabled\",void 0),e([s()],u.prototype,\"featureEnabled\",void 0),e([s()],u.prototype,\"gridEnabled\",void 0),e([s()],u.prototype,\"attributeRulesEnabled\",void 0),e([s({type:o.ofType(n)})],u.prototype,\"featureSources\",void 0),e([s()],u.prototype,\"distance\",void 0),e([s()],u.prototype,\"touchSensitivityMultiplier\",void 0),e([s({readOnly:!0})],u.prototype,\"effectiveEnabled\",null),e([s({readOnly:!0})],u.prototype,\"effectiveGridEnabled\",null),e([s({readOnly:!0})],u.prototype,\"effectiveSelfEnabled\",null),e([s({readOnly:!0})],u.prototype,\"effectiveFeatureEnabled\",null),e([s({readOnly:!0})],u.prototype,\"_effectiveFeatureSources\",null),u=e([a(\"esri.views.interactive.snapping.SnappingOptions\")],u);const c=u;function p(e){return\"subtype-group\"===e.layer.type}function d(e){return\"subtype-group\"!==e.layer.type}function f(e){return\"subtype-sublayer\"===e.layer.type}export{c as default};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{handlesGroup as i}from\"../../../core/handleUtils.js\";import{IntersectionSnappingHint as n}from\"./hints/IntersectionSnappingHint.js\";import{LineSnappingHint as t}from\"./hints/LineSnappingHint.js\";import{ParallelSnappingHint as s}from\"./hints/ParallelSnappingHint.js\";import{PointSnappingHint as o}from\"./hints/PointSnappingHint.js\";import{RightAngleSnappingHint as e}from\"./hints/RightAngleSnappingHint.js\";class r{draw(r,p){const h=a(r),f=this.sortUniqueHints(h),u=[];for(const i of f)i instanceof n&&u.push(this.visualizeIntersectionPoint(i,p)),i instanceof t&&u.push(this.visualizeLine(i,p)),i instanceof s&&u.push(this.visualizeParallelSign(i,p)),i instanceof e&&u.push(this.visualizeRightAngleQuad(i,p)),i instanceof o&&u.push(this.visualizePoint(i,p));return i(u)}sortUniqueHints(i){return i}}function a(i){const n=[];for(const t of i){let i=!0;for(const s of n)if(t.equals(s)){i=!1;break}i&&n.push(t)}return n}export{r as SnappingVisualizer};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport e from\"../../../core/Collection.js\";import{watch as t,syncAndInitial as i}from\"../../../core/reactiveUtils.js\";import r from\"./FeatureSnappingLayerSource.js\";import{defaults as o}from\"./Settings.js\";import n from\"./SnappingOptions.js\";function a(a,s){const p=new n({enabled:!0,selfEnabled:!1,featureEnabled:!0,distance:s?.distance??o.distance,touchSensitivityMultiplier:s?.touchSensitivityMultiplier??o.touchSensitivityMultiplier});return{...t((()=>a.map?.allLayers?.toArray()??[]),(t=>{p.featureSources=new e(t).map((e=>new r({layer:e})))}),i),options:p}}export{a as makeAllLayerSnappingOptions};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{DrapedLineConstraint as t}from\"../../sketch/constraints.js\";import{LineSegmentHintType as n}from\"../snappingUtils.js\";import{FeatureSnappingCandidate as s}from\"./FeatureSnappingCandidate.js\";import{LineSnappingHint as i}from\"../hints/LineSnappingHint.js\";class r extends s{constructor(n){super({...n,isDraped:!0,constraint:new t(n.edgeStart,n.edgeEnd,n.getGroundElevation)})}get hints(){return[new i(n.REFERENCE,this.constraint.start,this.constraint.end,this.isDraped,this.domain)]}}export{r as DrapedEdgeSnappingCandidate};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{LineConstraint as t}from\"../../sketch/constraints.js\";import{LineSegmentHintType as n}from\"../snappingUtils.js\";import{FeatureSnappingCandidate as s}from\"./FeatureSnappingCandidate.js\";import{LineSnappingHint as i}from\"../hints/LineSnappingHint.js\";class r extends s{constructor(n){super({...n,constraint:new t(n.edgeStart,n.edgeEnd)})}get hints(){return[new i(n.REFERENCE,this.constraint.start,this.constraint.end,this.isDraped,this.domain)]}}export{r as EdgeSnappingCandidate};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{SnappingDomain as t}from\"../SnappingDomain.js\";import{SnappingCandidate as o}from\"./SnappingCandidate.js\";class n extends o{constructor({targetPoint:o,objectId:n,constraint:r,isDraped:i}){super(o,r,i,t.FEATURE),this.objectId=n}}export{n as FeatureSnappingCandidate};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{PointConstraint as t}from\"../../sketch/constraints.js\";import{SnappingDomain as i}from\"../SnappingDomain.js\";import{SnappingCandidate as s}from\"./SnappingCandidate.js\";import{IntersectionSnappingHint as n}from\"../hints/IntersectionSnappingHint.js\";class r extends s{constructor(s,n,r,o){super(s,new t(s),o,i.ALL),this.first=n,this.second=r}get hints(){return this.first.targetPoint=this.targetPoint,this.second.targetPoint=this.targetPoint,[...this.first.hints,...this.second.hints,new n(this.targetPoint,this.isDraped,this.domain)]}}export{r as IntersectionSnappingCandidate};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{VerticalPlaneConstraint as t}from\"../../sketch/constraints.js\";import{SnappingDomain as n}from\"../SnappingDomain.js\";import{LineSegmentHintType as i}from\"../snappingUtils.js\";import{SnappingCandidate as e}from\"./SnappingCandidate.js\";import{LineSnappingHint as s}from\"../hints/LineSnappingHint.js\";class r extends e{constructor({lineStart:e,lineEnd:r,targetPoint:o,isDraped:a}){super(o,new t(e,r),a,n.SELF),this._referenceLineHint=new s(i.REFERENCE_EXTENSION,e,r,a,this.domain)}get hints(){return[this._referenceLineHint,new s(i.TARGET,this._lineEndClosestToTarget(),this.targetPoint,this.isDraped,this.domain)]}_lineEndClosestToTarget(){return this.constraint.closestEndTo(this.targetPoint)}}export{r as LineSnappingCandidate};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{d as e,g as t,p as i}from\"../../../../chunks/vec32.js\";import{clone as r}from\"../../../../core/libs/gl-matrix-2/factories/vec3f64.js\";import{VerticalPlaneConstraint as s}from\"../../sketch/constraints.js\";import{fromVec3 as n}from\"../../sketch/normalizedPoint.js\";import{SnappingDomain as a}from\"../SnappingDomain.js\";import{LineSegmentHintType as f}from\"../snappingUtils.js\";import{SnappingCandidate as o}from\"./SnappingCandidate.js\";import{LineSnappingHint as d}from\"../hints/LineSnappingHint.js\";import{ParallelSnappingHint as h}from\"../hints/ParallelSnappingHint.js\";class g extends o{constructor({referenceLine:i,lineStart:f,targetPoint:o,isDraped:d}){const h=r(f),{left:g,right:p}=i;e(h,t(h,h,p),g),super(o,new s(f,n(h)),d,a.SELF),this._referenceLines=[{edge:i,fadeLeft:!0,fadeRight:!0}]}get hints(){return[new d(f.TARGET,this.constraint.start,this.targetPoint,this.isDraped,this.domain),new h(this.constraint.start,this.targetPoint,this.isDraped,this.domain),...this._referenceLines.map((e=>new d(f.REFERENCE,e.edge.left,e.edge.right,this.isDraped,this.domain,e.fadeLeft,e.fadeRight)))]}addReferenceLine(e){const t={edge:e,fadeLeft:!0,fadeRight:!0};this._referenceLines.forEach((r=>{i(e.right,r.edge.left)&&(r.fadeLeft=!1,t.fadeRight=!1),i(e.right,r.edge.right)&&(r.fadeRight=!1,t.fadeRight=!1),i(e.left,r.edge.right)&&(r.fadeRight=!1,t.fadeLeft=!1),i(e.left,r.edge.left)&&(r.fadeLeft=!1,t.fadeLeft=!1)})),this._referenceLines.push(t)}}export{g as ParallelLineSnappingCandidate};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{SnappingDomain as t}from\"../SnappingDomain.js\";import{LineSegmentHintType as e}from\"../snappingUtils.js\";import{SnappingCandidate as i}from\"./SnappingCandidate.js\";import{LineSnappingHint as r}from\"../hints/LineSnappingHint.js\";import{RightAngleSnappingHint as s}from\"../hints/RightAngleSnappingHint.js\";class n extends i{constructor({targetPoint:e,constraint:i,previousVertex:r,otherVertex:s,otherVertexType:n,isDraped:o,selfSnappingType:h,objectId:a,domain:x}){super(e,i,o,x??t.SELF),this.previousVertex=r,this.otherVertex=s,this.otherVertexType=n,this.selfSnappingType=h??p.None,this.objectId=a??null}get hints(){const t=this.previousVertex,i=this.otherVertexType===o.CENTER?this.otherVertex:this.targetPoint,n=this.otherVertexType===o.CENTER?this.targetPoint:this.otherVertex;return[new r(e.TARGET,i,n,this.isDraped,this.domain),new r(e.REFERENCE,t,i,this.isDraped,this.domain),new s(this.previousVertex,i,n,this.isDraped,this.domain)]}}var o,p;!function(t){t[t.NEXT=0]=\"NEXT\",t[t.CENTER=1]=\"CENTER\"}(o||(o={})),function(t){t[t.None=0]=\"None\",t[t.LastVertex=1]=\"LastVertex\",t[t.FirstVertex=2]=\"FirstVertex\",t[t.ExistingEdge=3]=\"ExistingEdge\"}(p||(p={}));export{o as OtherVertexType,n as RightAngleSnappingCandidate,p as SelfSnappingRightAngleType};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{distance as t}from\"../../../../core/libs/gl-matrix-2/math/vec2.js\";import{m as i}from\"../../../../chunks/vec32.js\";import{create as s}from\"../../../../core/libs/gl-matrix-2/factories/vec3f64.js\";import{VerticalCylinderConstraint as r}from\"../../sketch/constraints.js\";import{fromVec3 as n,asVec2 as o}from\"../../sketch/normalizedPoint.js\";import{SnappingDomain as p}from\"../SnappingDomain.js\";import{LineSegmentHintType as e}from\"../snappingUtils.js\";import{SnappingCandidate as m}from\"./SnappingCandidate.js\";import{LineSnappingHint as a}from\"../hints/LineSnappingHint.js\";import{RightAngleSnappingHint as h}from\"../hints/RightAngleSnappingHint.js\";class g extends m{constructor({targetPoint:e,point1:m,point2:a,isDraped:h}){super(e,new r(n(i(s(),m,a,.5)),.5*t(o(m),o(a))),h,p.SELF),this._p1=m,this._p2=a}get hints(){return[new a(e.REFERENCE,this.targetPoint,this._p1,this.isDraped,this.domain),new a(e.REFERENCE,this.targetPoint,this._p2,this.isDraped,this.domain),new h(this._p1,this.targetPoint,this._p2,this.isDraped,this.domain)]}}export{g as RightAngleTriangleSnappingCandidate};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nclass t{constructor(t,s,i,o){this.targetPoint=t,this.constraint=s,this.isDraped=i,this.domain=o}}export{t as SnappingCandidate};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{p as n}from\"../../../../chunks/vec32.js\";import{SnappingDomain as t}from\"../SnappingDomain.js\";import{SnappingHint as i}from\"./SnappingHint.js\";class o extends i{constructor(n,i,o=t.ALL){super(i,o),this.intersectionPoint=n}equals(t){return t instanceof o&&n(this.intersectionPoint,t.intersectionPoint)}}export{o as IntersectionSnappingHint};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport\"../../../../core/has.js\";import\"../../../../core/Logger.js\";import{p as t,j as e}from\"../../../../chunks/vec32.js\";import{SnappingDomain as i}from\"../SnappingDomain.js\";import{SnappingHint as s}from\"./SnappingHint.js\";class n extends s{constructor(t,e,s,n,r=i.ALL,a=!0,h=!0){super(n,r),this.type=t,this.lineStart=e,this.lineEnd=s,this.fadeLeft=a,this.fadeRight=h}equals(e){return e instanceof n&&(this.type===e.type&&t(this.lineStart,e.lineStart)&&t(this.lineEnd,e.lineEnd)&&this.fadeLeft===e.fadeLeft&&this.fadeRight===e.fadeRight)}get length(){return e(this.lineStart,this.lineEnd)}}export{n as LineSnappingHint};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport\"../../../../core/has.js\";import\"../../../../core/Logger.js\";import{p as t}from\"../../../../chunks/vec32.js\";import{SnappingDomain as n}from\"../SnappingDomain.js\";import{SnappingHint as i}from\"./SnappingHint.js\";class r extends i{constructor(t,i,r,s=n.ALL){super(r,s),this.lineStart=t,this.lineEnd=i}equals(n){return n instanceof r&&(t(this.lineStart,n.lineStart)&&t(this.lineEnd,n.lineEnd))}}export{r as ParallelSnappingHint};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{p as t}from\"../../../../chunks/vec32.js\";import{SnappingHint as s}from\"./SnappingHint.js\";class n extends s{constructor(t,s,n){super(s,n),this.point=t}equals(s){return s instanceof n&&t(this.point,s.point)}}export{n as PointSnappingHint};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport\"../../../../core/has.js\";import\"../../../../core/Logger.js\";import{p as e}from\"../../../../chunks/vec32.js\";import{SnappingDomain as t}from\"../SnappingDomain.js\";import{SnappingHint as r}from\"./SnappingHint.js\";class s extends r{constructor(e,r,s,i,o=t.ALL){super(i,o),this.previousVertex=e,this.centerVertex=r,this.nextVertex=s}equals(t){return t instanceof s&&(e(this.previousVertex,t.previousVertex)&&e(this.centerVertex,t.centerVertex)&&e(this.nextVertex,t.nextVertex))}}export{s as RightAngleSnappingHint};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nclass s{constructor(s,t){this.isDraped=s,this.domain=t}}export{s as SnappingHint};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{watch as e,syncAndInitial as t}from\"../../../core/reactiveUtils.js\";import{intersection as n}from\"../../../core/SetUtils.js\";import{sqlAnd as r}from\"../../../core/sql.js\";import{mergeTimeExtents as o}from\"../../../core/timeUtils.js\";import{s as i}from\"../../../chunks/vec32.js\";import{makeDehydratedPoint as s}from\"../../../layers/graphics/dehydratedPoint.js\";import a from\"../../../rest/support/Query.js\";import{ViewEventPriorities as c}from\"../../input/InputManager.js\";import{snappingKeys as l}from\"../keybindings.js\";import{fromAnyMapPoint as p}from\"../sketch/normalizedPoint.js\";import{isWebMap as u}from\"../../../webmap/utils.js\";const m=Symbol(\"grid-placement-graphic\");function d(e,t){const n=e.length===t.length&&e[0]===t[0]&&e[1]===t[1];switch(e.length){case 2:return n;case 3:return n&&e[2]===t[2];case 4:return n&&e[2]===t[2]&&e[3]===t[3]}return!1}function g(e,t){const n=e.x-t.x,r=e.y-t.y;return n*n+r*r}function f(e,t){return Math.sqrt(g(e,t))}function E(e,t){t.sort(((t,n)=>i(t.targetPoint,e)-i(n.targetPoint,e)))}var y;function h({point:e,distance:t,returnEdge:n,vertexMode:i,coordinateHelper:{spatialReference:c},filter:l},p,u){return u=null!=u?u.clone():new a({where:\"1=1\"}),l&&(u.geometry=l.geometry,u.distance=l.distance,u.spatialRelationship=l.spatialRelationship,u.where=r(u.where,l.where),u.timeExtent=o(u.timeExtent,l.timeExtent),u.objectIds=w(u.objectIds,l.objectIds)),{point:s(e[0],e[1],e[2],c.toJSON()),mode:p,distance:t,returnEdge:n,vertexMode:i,query:u.toJSON()}}function w(e,t){return e||t?t?e?Array.from(n(new Set(e),new Set(t))):t:e:null}function j(e,t,n){return{left:p(e.leftVertex.pos,t,n),right:p(e.rightVertex.pos,t,n)}}function R(e){return e.createQuery()}!function(e){e[e.TARGET=0]=\"TARGET\",e[e.REFERENCE=1]=\"REFERENCE\",e[e.REFERENCE_EXTENSION=2]=\"REFERENCE_EXTENSION\"}(y||(y={}));const N=Symbol(\"snapping-toggle\");function b(n,r=()=>{}){const o=e((()=>({view:n.view,snappingOptions:n.snappingOptions})),(({view:e,snappingOptions:t})=>{if(n.removeHandles(N),!e||!t)return;const o=c.TOOL,i=[e.on(\"key-down\",(e=>{e.key!==l.toggle||e.repeat||(t.enabledToggled=!0,r())}),o),e.on(\"key-up\",(e=>{e.key===l.toggle&&(t.enabledToggled=!1,r())}),o),e.on(\"pointer-move\",(e=>{const n=e.native.ctrlKey;t.enabledToggled!==n&&(t.enabledToggled=n,r())}),o)];n.addHandles(i,N)}),t);n.addHandles(o)}function v(e){return u(e)&&\"utilityNetworks\"in e&&!!e.utilityNetworks?.length}export{y as LineSegmentHintType,j as editEdgeToSnappingEdge,m as gridPlacementGraphicSymbol,v as isUtilityNetworkWebMap,R as makeFilter,h as makeSnappingQuery,d as objectEqual,f as screenDistance,b as setupSnappingToggleHandles,E as sortCandidatesInPlace,g as squaredScreenDistance};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{pt2px as o}from\"../../../core/screenUtils.js\";function s(s){let t=0,a=0,e=0;return s?(\"cim\"===s.type&&s.data.symbol&&\"symbolLayers\"in s.data.symbol&&s.data.symbol.symbolLayers&&s.data.symbol.symbolLayers.map((o=>{\"CIMVectorMarker\"===o.type&&o.anchorPoint&&(Math.abs(o.anchorPoint.x)>t&&(t=o.anchorPoint.x),Math.abs(o.anchorPoint.y)>a&&(a=o.anchorPoint.y),null!=o.size&&o.size>e&&(e=o.size))})),t=o(t),a=o(a),e=o(e),{offsetX:t,offsetY:a,size:e}):{offsetX:t,offsetY:a,size:e}}export{s as getSymbolInfo};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{createScreenPoint as e,createScreenPointArray as r}from\"../../../core/screenUtils.js\";import{create as t}from\"../../../core/libs/gl-matrix-2/factories/vec3f64.js\";import{makeDehydratedPoint as o}from\"../../../layers/graphics/dehydratedPoint.js\";import{vectorToRender as i}from\"../../3d/interactive/support/viewUtils.js\";function s(r,t,o,s){return\"2d\"===s.type?(c.x=r[0],c.y=r[1],c.spatialReference=t,s.toScreen(c)):(i(r,t,o,s,a),s.state.camera.projectToScreen(a,n),e(n[0],n[1]))}const c=o(0,0,0,null),a=t(),n=r();export{s as vectorToScreenPoint};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{_ as o}from\"../../chunks/tslib.es6.js\";import{prefersReducedMotion as e}from\"../../core/a11yUtils.js\";import t from\"../../core/Accessor.js\";import{property as r}from\"../../core/accessorSupport/decorators/property.js\";import\"../../core/has.js\";import\"../../core/Logger.js\";import\"../../core/RandomLCG.js\";import{subclass as s}from\"../../core/accessorSupport/decorators/subclass.js\";import a from\"./gamepad/GamepadSettings.js\";let m=class extends t{constructor(o){super(o),this.browserTouchPanEnabled=!0,this.gamepad=new a,this.momentumEnabled=!0,this.mouseWheelZoomEnabled=!0}get effectiveMomentumEnabled(){return this.momentumEnabled&&!e()}};o([r({type:Boolean})],m.prototype,\"browserTouchPanEnabled\",void 0),o([r({type:a,nonNullable:!0})],m.prototype,\"gamepad\",void 0),o([r({type:Boolean})],m.prototype,\"momentumEnabled\",void 0),o([r({type:Boolean})],m.prototype,\"mouseWheelZoomEnabled\",void 0),m=o([s(\"esri.views.navigation.Navigation\")],m);const p=m;export{p as default};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{h as t}from\"../../chunks/vec32.js\";function n(t){let n=t*t;return t<0&&(n*=-1),n}function a(t){return t.translation[0]=0,t.translation[1]=0,t.translation[2]=0,t.heading=0,t.tilt=0,t}function i(a,i,o){const s=o,e=a.state,r=a.device,l=\"forward-down\"===i.tiltDirection?1:-1,c=1;return\"standard\"===r.deviceType?(s.translation[0]=n(e.axes[0]),s.translation[1]=n(e.axes[1]),s.translation[2]=n(e.buttons[7])-n(e.buttons[6]),s.heading=n(e.axes[2]),s.tilt=n(e.axes[3])):\"spacemouse\"===r.deviceType&&(s.translation[0]=1.2*n(e.axes[0]),s.translation[1]=1.2*n(e.axes[1]),s.translation[2]=2*-n(e.axes[2]),s.heading=1.2*n(e.axes[5]),s.tilt=1.2*n(e.axes[3])),s.tilt*=l,t(s.translation,s.translation,c),s}function o(t,n){const a=n;return a.translation[0]=t[1]-t[0],a.translation[1]=t[3]-t[2],a.translation[2]=t[4]-t[5],a.heading=t[7]-t[6],a.tilt=t[8]-t[9],a.zoom=t[10]-t[11],a}function s(t){return 0===t.translation[0]&&0===t.translation[1]&&0===t.translation[2]&&0===t.heading&&0===t.tilt&&0===t.zoom}export{i as extractTransformation,o as extractTransformationKeyboard,s as isZeroTransformation,a as resetTransformation};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{_ as o}from\"../../../chunks/tslib.es6.js\";import e from\"../../../core/Accessor.js\";import{property as t}from\"../../../core/accessorSupport/decorators/property.js\";import\"../../../core/has.js\";import\"../../../core/Logger.js\";import\"../../../core/RandomLCG.js\";import{subclass as r}from\"../../../core/accessorSupport/decorators/subclass.js\";import p from\"../../input/gamepad/GamepadInputDevice.js\";let s=class extends e{constructor(o){super(o),this.enabled=!0,this.device=null,this.mode=\"pan\",this.tiltDirection=\"forward-down\",this.velocityFactor=1}};o([t({type:Boolean,nonNullable:!0})],s.prototype,\"enabled\",void 0),o([t({type:p})],s.prototype,\"device\",void 0),o([t({type:[\"pan\",\"zoom\"],nonNullable:!0})],s.prototype,\"mode\",void 0),o([t({type:[\"forward-down\",\"forward-up\"],nonNullable:!0})],s.prototype,\"tiltDirection\",void 0),o([t({type:Number,nonNullable:!0})],s.prototype,\"velocityFactor\",void 0),s=o([r(\"esri.views.navigation.gamepad.GamepadSettings\")],s);const i=s;export{i as default};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{_ as t}from\"../../chunks/tslib.es6.js\";import e from\"../../core/Accessor.js\";import o from\"../../core/Collection.js\";import{property as r}from\"../../core/accessorSupport/decorators/property.js\";import\"../../core/has.js\";import\"../../core/Logger.js\";import\"../../core/RandomLCG.js\";import{subclass as s}from\"../../core/accessorSupport/decorators/subclass.js\";import{UpdatingHandles as i}from\"../../core/support/UpdatingHandles.js\";import\"../../libs/maquette/projection.js\";import{createProjector as n}from\"../../libs/maquette/projector.js\";let a=class extends e{constructor(){super(...arguments),this.items=new o,this._watchUpdatingTracking=new i,this._callbacks=new Map,this._projector=n(),this._hiddenProjector=n()}get needsRender(){return this.items.length>0}get updating(){return this._watchUpdatingTracking?.updating??!1}initialize(){const t=document.createElement(\"div\");t.className=\"esri-overlay-surface\",this._set(\"surface\",t),this._hiddenSurface=document.createElement(\"div\"),this._hiddenSurface.setAttribute(\"style\",\"visibility: hidden;\"),t.appendChild(this._hiddenSurface),this._watchUpdatingTracking.addOnCollectionChange((()=>this.items),(t=>{for(const e of t.added){const t=()=>e.render();this._callbacks.set(e,t),this._projector.append(this.surface,t)}for(const e of t.removed){const t=this._projector.detach(this._callbacks.get(e));this.surface.removeChild(t.domNode),this._callbacks.delete(e)}}))}addItem(t){this.items.add(t)}removeItem(t){this.items.remove(t)}destroy(){this.items.removeAll(),this._callbacks.forEach((t=>this._projector.detach(t))),this._callbacks=null,this._projector=null,this._watchUpdatingTracking.destroy()}render(){this._projector.renderNow()}computeBoundingRect(t){const e=this._hiddenSurface,o=this._hiddenProjector;let r;const s=()=>(r=t.render(),r);o.append(e,s),o.renderNow();const i={left:0,top:0,right:0,bottom:0};if(r?.domNode){const t=r.domNode.getBoundingClientRect();i.left=t.left,i.top=t.top,i.right=t.right,i.bottom=t.bottom}for(o.detach(s);e.firstChild;)e.removeChild(e.firstChild);return i}overlaps(t,e){const o=this.computeBoundingRect(t),r=this.computeBoundingRect(e);return Math.max(o.left,r.left)<=Math.min(o.right,r.right)&&Math.max(o.top,r.top)<=Math.min(o.bottom,r.bottom)}get hasVisibleItems(){return this.items.some((t=>t.visible))}async prepare(){await document.fonts.load(this._fontString()).catch((()=>{}))}renderCanvas(t,e){const o=!!e?.disableDecorations;if(!this.items.some((t=>t.visible&&!(o&&t.isDecoration))))return;const r=t.getContext(\"2d\");r.save(),r.font=this._fontString(),this.items.forEach((t=>{o&&t.isDecoration||(r.save(),t.renderCanvas(r),r.restore())})),r.restore()}_fontString(){return`10px ${getComputedStyle(this.surface).fontFamily}`}};t([r({readOnly:!0})],a.prototype,\"surface\",void 0),t([r({readOnly:!0})],a.prototype,\"items\",void 0),t([r({readOnly:!0})],a.prototype,\"needsRender\",null),t([r({readOnly:!0})],a.prototype,\"_watchUpdatingTracking\",void 0),t([r({readOnly:!0})],a.prototype,\"updating\",null),a=t([s(\"esri.views.overlay.ViewOverlay\")],a);const c=a;export{c as default};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{_ as e}from\"../../chunks/tslib.es6.js\";import t from\"../../core/Accessor.js\";import{createTask as n}from\"../../core/asyncUtils.js\";import{abortMaybe as a}from\"../../core/maybe.js\";import{isAborted as s,isAbortError as i}from\"../../core/promiseUtils.js\";import{property as r}from\"../../core/accessorSupport/decorators/property.js\";import\"../../core/has.js\";import\"../../core/Logger.js\";import\"../../core/RandomLCG.js\";import{subclass as l}from\"../../core/accessorSupport/decorators/subclass.js\";import{deriveHeightModelInfoFromLayer as o,supportsHeightModelInfo as p}from\"../../geometry/support/heightModelInfoUtils.js\";import{ViewingMode as u}from\"../ViewingMode.js\";import{projectWithEngineOrService as c}from\"./projectionUtils.js\";let d=class extends t{constructor(e){super(e),this.required={extent:!1,heightModelInfo:!1,tileInfo:!1},this.defaultSpatialReference=null,this.userSpatialReference=null,this.sourcePreloadCount=10,this.priorityCollection=null,this.requiresExtentInSpatialReference=!0,this.suspended=!1,this._projectExtentTask={task:null,input:null,output:null,spatialReference:null}}destroy(){this._projectExtentTask.task&&(this._projectExtentTask.task=a(this._projectExtentTask.task)),this._set(\"map\",null)}get ready(){return!this._spatialReferenceTask.updating&&!this._tileInfoTask.updating&&!this._extentTask.updating}get heightModelInfoReady(){return!this._heightModelInfoTask.updating}get spatialReference(){return this.userSpatialReference??this._spatialReferenceTask.spatialReference}get extent(){return this._extentTask.extent}get heightModelInfo(){return this._heightModelInfoTask.heightModelInfo}get vcsWkid(){return this._heightModelInfoTask.vcsWkid}get latestVcsWkid(){return this._heightModelInfoTask.latestVcsWkid}get viewingMode(){return null==this.userSpatialReference||this.userSpatialReference.equals(this._spatialReferenceTask.spatialReference)?this._spatialReferenceTask.viewingMode:null}get tileInfo(){return this._tileInfoTask.tileInfo}get mapCollections(){const e=this.map?.(),t=[];return null!=this.priorityCollection&&t.push(this.priorityCollection),t.push({parent:e?.basemap,layers:e?.basemap?.baseLayers},{layers:e?.layers},{parent:e?.ground,layers:e?.ground?.layers},{parent:e?.basemap,layers:e?.basemap?.referenceLayers}),t}get _spatialReferenceTask(){if(this.suspended)return this._get(\"_spatialReferenceTask\")??{updating:!1};let e;if(this._collectLayers(this.mapCollections,(t=>{const n=this._getSupportedSpatialReferences(t);if(n.length>0){const t=this._narrowDownSpatialReferenceCandidates(e,n);null!=t&&(e=t)}return 1===e?.length}))&&1!==e?.length)return{updating:!0};const t=this._pickSpatialReferenceCandidate(e);return{spatialReference:t?.spatialReference??null,viewingMode:t?.viewingMode??null,updating:!1}}get _tileInfoTask(){if(!this.required.tileInfo)return this._get(\"_tileInfoTask\")??{updating:!1};const e=this.map?.(),t=this.spatialReference;if(!t)return{updating:this._spatialReferenceTask.updating};let n;const a=this._collectLayers([{parent:e?.basemap,layers:e?.basemap?.baseLayers},{layers:e?.layers}],(e=>!(!(\"tileInfo\"in e)||!e.tileInfo?.spatialReference.equals(t))&&(n=e,!0)),(e=>\"tileInfo\"in e));if(n){return{tileInfo:n.tileInfo,updating:!1}}return{updating:a}}get _heightModelInfoTask(){if(!this.required.heightModelInfo||this.suspended&&this._get(\"_heightModelInfoTask\")?.heightModelInfo)return this._get(\"_heightModelInfoTask\")??{updating:!1};let e={};const t=this._collectLayers(this.mapCollections,(t=>{const n=o(t);return!!n&&(e={heightModelInfo:n,vcsWkid:t.spatialReference?.vcsWkid,latestVcsWkid:t.spatialReference?.latestVcsWkid},!0)}),(e=>p(e)));return{...e,updating:t}}get _extentCandidatesTask(){if(this.suspended||!this.required.extent)return this._get(\"_extentCandidatesTask\")??{updating:!1};if(!this.spatialReference)return{updating:this._spatialReferenceTask.updating};const e=[],t=this._collectLayers(this.mapCollections,(t=>{const n=\"fullExtents\"in t&&t.fullExtents||(null!=t.fullExtent?[t.fullExtent]:[]),a=this.requiresExtentInSpatialReference?null:n[0],s=n.find((e=>e.spatialReference.equals(this.spatialReference)))??a;if(s)return e.push({extent:s,layer:t}),!0;if(this._getSupportedSpatialReferences(t).length>0)for(const i of n)e.push({extent:i,layer:t});return!1}));return{candidates:e,updating:t}}get _extentTask(){const{candidates:e,updating:t}=this._extentCandidatesTask;if(t)return{updating:t};if(null==e||0===e.length)return{updating:!1};if(!this.spatialReference)return{updating:this._spatialReferenceTask.updating};const i=this._pickExtentCandidate(e),r=this.spatialReference;return i.extent.equals(this._projectExtentTask.input)&&r.equals(this._projectExtentTask.spatialReference)?{extent:this._projectExtentTask.output,updating:null!=this._projectExtentTask.task&&!this._projectExtentTask.task.finished}:(null!=this._projectExtentTask.task&&(this._projectExtentTask.task=a(this._projectExtentTask.task)),this._projectExtentTask={input:i.extent.clone(),output:null,spatialReference:r.clone(),task:n((async e=>{try{const t=await c(i.extent,r,\"portalItem\"in i.layer?i.layer.portalItem:void 0,e);this._projectExtentTask={...this._projectExtentTask,task:null,output:t}}catch(t){if(s(e))return;this._projectExtentTask={...this._projectExtentTask,task:null}}}))},{updating:!0})}_narrowDownSpatialReferenceCandidates(e,t){if(null==e)return t;const n=new Array;for(const a of e)for(const e of t){if(!a.spatialReference.equals(e.spatialReference))continue;const t=h(a.viewingMode,e.viewingMode);if(!1!==t){n.push({spatialReference:a.spatialReference,viewingMode:t});break}}return n.length>0?n:null}_pickSpatialReferenceCandidate(e){const t=this.defaultSpatialReference;return null==e||e.length<1?t?{spatialReference:t,viewingMode:null}:null:(null!=t&&e.length>1&&e.some((({spatialReference:e})=>e.equals(t)))&&(e=e.filter((({spatialReference:e})=>e.equals(t)))),e.length>1&&e.some((({viewingMode:e})=>e!==u.Local))&&(e=e.filter((({viewingMode:e})=>e!==u.Local))),e[0])}_getSupportedSpatialReferences(e){const t=\"supportedSpatialReferences\"in e&&e.supportedSpatialReferences||(e.spatialReference?[e.spatialReference]:[]);if(0===t.length)return[];const n=[];for(const a of t){const t=this.getSpatialReferenceSupport(a,e);if(null!=t){const e=t.constraints??[{spatialReference:a,viewingMode:null}];for(const{spatialReference:t,viewingMode:a}of e)this.requiresExtentInSpatialReference&&null!=this.userSpatialReference&&!t.equals(this.userSpatialReference)||n.push({spatialReference:t,viewingMode:a})}}return n}_pickExtentCandidate(e){const t=this.spatialReference;return e.find((({extent:e})=>t.equals(e.spatialReference)))||e[0]}_collectLayers(e,t,n=()=>!0){if(\"loaded\"!==this._loadMaybe(this.map?.()))return!0;const a=new f(n,t);for(const s of e)if(this._collectCollection(s,a),a.done||a.preloading===this.sourcePreloadCount)break;return a.updating}_collectCollection(e,t){if(e.layers){switch(this._loadMaybe(e.parent)){case\"loading\":return t.updating=!0,void++t.preloading;case\"failed\":return}for(const n of e.layers)if(t.layerFilter(n)){switch(this._loadMaybe(n)){case\"failed\":continue;case\"loading\":t.updating=!0,++t.preloading;break;case\"loaded\":if(t.updating||(t.done=t.pushLayer(n)),t.done||t.preloading===this.sourcePreloadCount)break;\"layers\"in n&&this._collectCollection({layers:n.layers},t)}if(t.done||t.preloading===this.sourcePreloadCount)break}}}_loadMaybe(e){return e&&\"loadStatus\"in e&&null!=e.loadStatus?\"not-loaded\"===e.loadStatus?(e.load().catch((e=>{i(e)})),\"loading\"):e.loadStatus:\"loaded\"}};e([r()],d.prototype,\"required\",void 0),e([r({constructOnly:!0})],d.prototype,\"map\",void 0),e([r({constructOnly:!0})],d.prototype,\"getSpatialReferenceSupport\",void 0),e([r()],d.prototype,\"defaultSpatialReference\",void 0),e([r()],d.prototype,\"userSpatialReference\",void 0),e([r()],d.prototype,\"sourcePreloadCount\",void 0),e([r()],d.prototype,\"priorityCollection\",void 0),e([r()],d.prototype,\"requiresExtentInSpatialReference\",void 0),e([r()],d.prototype,\"suspended\",void 0),e([r({readOnly:!0})],d.prototype,\"ready\",null),e([r({readOnly:!0})],d.prototype,\"heightModelInfoReady\",null),e([r({readOnly:!0})],d.prototype,\"spatialReference\",null),e([r({readOnly:!0})],d.prototype,\"extent\",null),e([r({readOnly:!0})],d.prototype,\"heightModelInfo\",null),e([r({readOnly:!0})],d.prototype,\"vcsWkid\",null),e([r({readOnly:!0})],d.prototype,\"latestVcsWkid\",null),e([r({readOnly:!0})],d.prototype,\"viewingMode\",null),e([r({readOnly:!0})],d.prototype,\"tileInfo\",null),e([r({readOnly:!0})],d.prototype,\"mapCollections\",null),e([r({readOnly:!0})],d.prototype,\"_spatialReferenceTask\",null),e([r({readOnly:!0})],d.prototype,\"_tileInfoTask\",null),e([r({readOnly:!0})],d.prototype,\"_heightModelInfoTask\",null),e([r({readOnly:!0})],d.prototype,\"_extentCandidatesTask\",null),e([r()],d.prototype,\"_extentTask\",null),e([r()],d.prototype,\"_projectExtentTask\",void 0),d=e([l(\"esri.views.support.DefaultsFromMap\")],d);class f{constructor(e,t){this.layerFilter=e,this.pushLayer=t,this.preloading=-1,this.updating=!1,this.done=!1}}function h(e,t){return null!=e?null!=t?e===t&&e:e:t}export{d as DefaultsFromMap};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport o from\"../../Color.js\";const e=new o(\"cyan\"),r=1,l=.25,n=new o(\"black\"),t=.4,a=.2,w=.25,c=\"default\",m=\"temporary\",p=new o(\"yellow\"),y=8;export{e as defaultColor,l as defaultFillOpacity,r as defaultHaloOpacity,c as defaultHighlightName,w as defaultOccludedFactor,n as defaultShadowColor,a as defaultShadowDifference,t as defaultShadowOpacity,y as maximumHighlights,p as temporaryHighlightColor,m as temporaryHighlightName};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{_ as o}from\"../../chunks/tslib.es6.js\";import r from\"../../Color.js\";import t from\"../../core/Accessor.js\";import{property as s}from\"../../core/accessorSupport/decorators/property.js\";import\"../../core/has.js\";import\"../../core/Logger.js\";import\"../../core/RandomLCG.js\";import{subclass as i}from\"../../core/accessorSupport/decorators/subclass.js\";import{defaultColor as p,defaultHaloOpacity as l,defaultFillOpacity as c}from\"./HighlightDefaults.js\";let e=class extends t{constructor(o){super(o),this.color=p.clone(),this.haloOpacity=l,this.fillOpacity=c}equals(o){return this.color.equals(o.color)&&(this.haloColor||this.color).equals(o.haloColor||o.color)&&this.haloOpacity===o.haloOpacity&&this.fillOpacity===o.fillOpacity}};o([s({type:r})],e.prototype,\"color\",void 0),o([s({type:r})],e.prototype,\"haloColor\",void 0),o([s()],e.prototype,\"haloOpacity\",void 0),o([s()],e.prototype,\"fillOpacity\",void 0),e=o([i(\"esri.views.support.HighlightOptions\")],e);const a=e;export{a as default};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{ReentrantObjectPool as e}from\"../../core/ReentrantObjectPool.js\";import{afterDispatch as t,isValueInUse as r}from\"../../core/accessorSupport/watch.js\";class o{constructor(r,o){this._owner=o,this._properties={},this._afterDispatchHandle=null;for(const t in r){const o=r[t],s=new e(o,void 0,void 0,2,2);this._properties[t]={pool:s,acquired:[]}}this._afterDispatchHandle=t((()=>this._release()))}destroy(){this._afterDispatchHandle&&(this._afterDispatchHandle.remove(),this._afterDispatchHandle=null);for(const e in this._properties){const t=this._properties[e];for(const e of t.acquired)r(e)||t.pool.release(e);t.pool.destroy(),t.pool=null,t.acquired=null}this._properties=null,this._owner=null}get(e){const t=this._owner._get(e),r=this._properties[e];let o=r.pool.acquire();for(r.acquired.push(o);o===t;)r.acquired.push(o),o=r.pool.acquire();return o}_release(){for(const e in this._properties){const t=this._properties[e];let o=0;for(const e of t.acquired)r(e)?t.acquired[o++]=e:t.pool.release(e);t.acquired.length=o}}}export{o as PropertiesPool};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport\"../../core/has.js\";import{removeMaybe as e}from\"../../core/maybe.js\";import{onAbort as s,onAbortOrThrow as t,createResolver as r,createAbortError as i,isPromiseLike as o}from\"../../core/promiseUtils.js\";import h from\"../../core/Queue.js\";import c from\"../../core/ReactiveMap.js\";import{schedule as n}from\"../../core/scheduling.js\";import{signal as l}from\"../../core/signal.js\";class u{constructor(e,s){this.item=e,this.controller=s,this.promise=null}}class _{constructor(e){this._schedule=null,this._task=null,this._deferreds=new c,this._controllers=new c,this._processingItems=new c,this._pausedSignal=l(!1),this.concurrency=1,e.concurrency&&(this.concurrency=e.concurrency),this._queue=new h(e.peeker),this.process=e.process;const s=e.scheduler;e.priority&&s&&(this._task=s.registerTask(e.priority,this))}destroy(){this.clear(),this._schedule=e(this._schedule),this._task=e(this._task)}get updating(){return!!this._task?.updating||this.running}get length(){return this._processingItems.size+this._queue.length}abort(e){const s=this._controllers.get(e);s&&s.abort()}clear(){this._queue.clear();const e=[];this._controllers.forEach((s=>e.push(s))),this._controllers.clear(),e.forEach((e=>e.abort())),this._processingItems.clear(),this._cancelNext()}forEach(e){this._deferreds.forEach(((s,t)=>e(t)))}get(e){const s=this._deferreds.get(e);return s?s.promise:void 0}isOngoing(e){return this._processingItems.has(e)}has(e){return this._deferreds.has(e)}pause(){this._pausedSignal.value||(this._pausedSignal.value=!0,this._cancelNext())}push(e,o){const h=this.get(e);if(h)return h;const c=new AbortController;let n=null;o&&(n=s(o,(()=>c.abort())));const l=()=>{const s=this._processingItems.get(e);s&&s.controller.abort(),u(),a.reject(i())},u=()=>{_.remove(),null!=n&&n.remove(),this._removeItem(e),this._queue.remove(e),this._scheduleNext()},_=t(c.signal,l),a=r();return this._deferreds.set(e,a),this._controllers.set(e,c),a.promise.then(u,u),this._queue.push(e),this._scheduleNext(),a.promise}last(){return this._queue.last()}lastPromise(){const e=this.last();return e?this.get(e):null}peek(){return this._queue.peek()}popLast(){const e=this._queue.popLast();return e&&(this._deferreds.get(e)?.reject(i()),this._removeItem(e)),e}reset(){const e=Array.from(this._processingItems.values());this._processingItems.clear();for(const s of e)this._queue.push(s.item),s.controller.abort();this._scheduleNext()}resume(){this._pausedSignal.value&&(this._pausedSignal.value=!1,this._scheduleNext())}takeAll(){const e=[];for(;this._queue.length;)e.push(this._queue.pop());return this.clear(),e}get running(){return!this._pausedSignal.value&&this._queue.length>0&&this._processingItems.size0&&this._processingItems.size{this._schedule=null,this._next()})))}_next(){for(;this._queue.length>0&&this._processingItems.sizethis._processResult(r,e)),(e=>this._processError(r,e)))):this._processResult(r,s)}get test(){}}export{_ as QueueProcessor};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nvar I;!function(I){I[I.ANIMATING=0]=\"ANIMATING\",I[I.INTERACTING=1]=\"INTERACTING\",I[I.IDLE=2]=\"IDLE\"}(I||(I={}));export{I as RenderState};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport e from\"../../core/Handles.js\";import\"../../core/has.js\";import t from\"../../core/Logger.js\";import{removeMaybe as s}from\"../../core/maybe.js\";import r from\"../../core/PerformanceSampler.js\";import i from\"../../core/PooledArray.js\";import{isAborted as a,createAbortError as n,when as _}from\"../../core/promiseUtils.js\";import{watch as h,initial as u,when as o}from\"../../core/reactiveUtils.js\";import{signal as d}from\"../../core/signal.js\";import{Milliseconds as E}from\"../../core/time.js\";import{PromiseQueue as l}from\"../../layers/support/PromiseQueue.js\";import T from\"./debugFlags.js\";import{RenderState as m}from\"./RenderState.js\";import{Yield as c}from\"./Yield.js\";function I(){return new U.Scheduler}var g;!function(e){e.RESOURCE_CONTROLLER_IMMEDIATE=\"immediate\",e.RESOURCE_CONTROLLER=\"schedule\",e.SLIDE=\"slide\",e.STREAM_DATA_LOADER=\"stream loader\",e.ELEVATION_QUERY=\"elevation query\",e.TERRAIN_SURFACE=\"terrain\",e.SURFACE_GEOMETRY_UPDATES=\"surface geometry updates\",e.LOD_RENDERER=\"LoD renderer\",e.GRAPHICS_CORE=\"Graphics3D\",e.I3S_CONTROLLER=\"I3S\",e.POINT_CLOUD_LAYER=\"point cloud\",e.FEATURE_TILE_FETCHER=\"feature fetcher\",e.OVERLAY=\"overlay\",e.STAGE=\"stage\",e.GRAPHICS_DECONFLICTOR=\"graphics deconflictor\",e.FILTER_VISIBILITY=\"Graphics3D filter visibility\",e.SCALE_VISIBILITY=\"Graphics3D scale visibility\",e.FRUSTUM_VISIBILITY=\"Graphics3D frustum visibility\",e.POINT_OF_INTEREST_FREQUENT=\"POI frequent\",e.POINT_OF_INTEREST_INFREQUENT=\"POI infrequent\",e.LABELER=\"labeler\",e.FEATURE_QUERY_ENGINE=\"feature query\",e.FEATURE_TILE_TREE=\"feature tile tree\",e.FEATURE_TILE_TREE_ACTIVE=\"fast feature tile tree\",e.ELEVATION_ALIGNMENT=\"elevation alignment\",e.ELEVATION_ALIGNMENT_SCENE=\"elevation alignment scene\",e.TEXT_TEXTURE_ATLAS=\"text texture atlas\",e.TEXTURE_UNLOAD=\"texture unload\",e.LINE_OF_SIGHT_TOOL=\"line of sight tool\",e.LINE_OF_SIGHT_TOOL_INTERACTIVE=\"interactive line of sight tool\",e.ELEVATION_PROFILE=\"elevation profile\",e.SNAPPING=\"snapping\",e.SHADOW_ACCUMULATOR=\"shadow accumulator\",e.CLOUDS_GENERATOR=\"clouds generator\",e.MAPVIEW_FETCH_QUEUE=\"mapview fetch queue\",e.MAPVIEW_LAYERVIEW_UPDATE=\"mapview layerview update\",e.MAPVIEW_VECTOR_TILE_PARSING_QUEUE=\"mapview vector tile parsing queue\",e[e.NONE=0]=\"NONE\",e[e.TEST_PRIO=1]=\"TEST_PRIO\"}(g||(g={}));const R=0,p=new Map([[g.RESOURCE_CONTROLLER_IMMEDIATE,R],[g.RESOURCE_CONTROLLER,4],[g.SLIDE,R],[g.STREAM_DATA_LOADER,R],[g.ELEVATION_QUERY,R],[g.TERRAIN_SURFACE,1],[g.SURFACE_GEOMETRY_UPDATES,1],[g.LOD_RENDERER,2],[g.GRAPHICS_CORE,2],[g.I3S_CONTROLLER,2],[g.POINT_CLOUD_LAYER,2],[g.FEATURE_TILE_FETCHER,2],[g.CLOUDS_GENERATOR,2],[g.OVERLAY,4],[g.STAGE,4],[g.GRAPHICS_DECONFLICTOR,4],[g.FILTER_VISIBILITY,4],[g.SCALE_VISIBILITY,4],[g.FRUSTUM_VISIBILITY,4],[g.POINT_OF_INTEREST_FREQUENT,6],[g.POINT_OF_INTEREST_INFREQUENT,30],[g.LABELER,8],[g.FEATURE_QUERY_ENGINE,8],[g.FEATURE_TILE_TREE,16],[g.FEATURE_TILE_TREE_ACTIVE,R],[g.ELEVATION_ALIGNMENT,12],[g.ELEVATION_ALIGNMENT_SCENE,14],[g.TEXT_TEXTURE_ATLAS,12],[g.TEXTURE_UNLOAD,12],[g.LINE_OF_SIGHT_TOOL,16],[g.LINE_OF_SIGHT_TOOL_INTERACTIVE,R],[g.SNAPPING,R],[g.SHADOW_ACCUMULATOR,30],[g.MAPVIEW_FETCH_QUEUE,R],[g.MAPVIEW_LAYERVIEW_UPDATE,2],[g.MAPVIEW_VECTOR_TILE_PARSING_QUEUE,R]]);function A(e){return p.has(e)?p.get(e):\"number\"==typeof e?e:1}const f=E(6.5),L=E(1),N=E(30),O=E(1e3/30),S=E(100),b=.9;var U,k;!function(a){class n{get updating(){return this._updating.value}_updatingChanged(){this._updating.value=this._tasks.some((e=>e.needsUpdate))}constructor(){this._updating=d(!0),this._microTaskQueued=!1,this._frameNumber=0,this.performanceInfo={total:new r(\"total\"),tasks:new Map},this._frameTaskTimes=new Map,this._budget=new I,this._state=m.INTERACTING,this._tasks=new i,this._runQueue=new i,this._load=0,this._idleStateCallbacks=new i,this._idleUpdatesStartFired=!1,this._forceTask=!1,this._debug=!1,this._debugHandle=h((()=>T.SCHEDULER_LOG_SLOW_TASKS),(e=>this._debug=e),u);for(const e of Object.keys(g))this.performanceInfo.tasks.set(g[e],new r(g[e]))}destroy(){this._tasks.toArray().forEach((e=>e.remove())),this._tasks.clear(),s(this._debugHandle),this._microTaskQueued=!1,this._updatingChanged()}taskRunningChanged(e){this._updatingChanged(),e&&this._budget.remaining>0&&!this._microTaskQueued&&(this._microTaskQueued=!0,queueMicrotask((()=>{this._microTaskQueued&&(this._microTaskQueued=!1,this._budget.remaining>0&&this._schedule()&&this.frame())})))}registerTask(e,t){const s=new _(this,e,t);return this._tasks.push(s),this._updatingChanged(),this.performanceInfo.tasks.has(e)||this.performanceInfo.tasks.set(e,new r(e)),s}registerIdleStateCallbacks(e,t){const s={idleBegin:e,idleEnd:t};this._idleStateCallbacks.push(s),this.state===m.IDLE&&this._idleUpdatesStartFired&&s.idleBegin();const r=this;return{remove:()=>this._removeIdleStateCallbacks(s),set idleBegin(e){r._idleUpdatesStartFired&&(s.idleEnd(),r._state===m.IDLE&&e()),s.idleBegin=e},set idleEnd(e){s.idleEnd=e}}}get load(){return this._load}set state(e){this._state!==e&&(this._state=e,this.state!==m.IDLE&&this._idleUpdatesStartFired&&(this._idleUpdatesStartFired=!1,this._idleStateCallbacks.forAll((e=>e.idleEnd()))))}get state(){return this._state}updateBudget(e){this._test&&(this._test.usedBudget=0),++this._frameNumber;let t=f,s=e.frameDuration,r=L;switch(this.state){case m.IDLE:t=E(0),s=E(Math.max(S,e.frameDuration)),r=N;break;case m.INTERACTING:s=E(Math.max(O,e.frameDuration));case m.ANIMATING:}return s=E(s-e.elapsedFrameTime-t),this.state!==m.IDLE&&se.idleBegin()))),this._runIdle();break;case m.INTERACTING:this._runInteracting();break;default:this._runAnimating()}this._test&&(this._test.usedBudget=this._budget.elapsed)}stopFrame(){this._budget.reset(E(0),this._state),this._budget.madeProgress()}_removeIdleStateCallbacks(e){this._idleUpdatesStartFired&&e.idleEnd(),this._idleStateCallbacks.removeUnordered(e)}removeTask(e){this._tasks.removeUnordered(e),this._runQueue.removeUnordered(e),this._updatingChanged()}_updateTask(e){this._tasks.forAll((t=>{t.name===e&&t.setPriority(e)}))}_getState(e){if(this._runQueue.some((t=>t.name===e)))return k.SCHEDULED;let t=k.IDLE;return this._tasks.forAll((s=>{s.name===e&&s.needsUpdate&&(s.schedulePriority<=1?t=k.READY:t!==k.READY&&(t=k.WAITING))})),t}_getRuntime(e){let t=0;return this._tasks.forAll((s=>{s.name===e&&(t+=s.runtime)})),t}_resetRuntimes(){this._tasks.forAll((e=>e.runtime=0))}_getRunning(){const e=new Map;if(this._tasks.forAll((t=>{t.needsUpdate&&e.set(t.name,(e.get(t.name)||0)+1)})),0===e.size)return null;let t=\"\";return e.forEach(((e,s)=>{t+=e>1?` ${e}x ${s}`:` ${s}`})),t}_runIdle(){this._run()}_runInteracting(){this._run()}_runAnimating(){this._run()}_updateLoad(){const e=this._tasks.reduce(((e,t)=>t.needsUpdate?++e:e),0);this._load=this._load*b+e*(1-b)}_schedule(){for(this._runQueue.filterInPlace((e=>!!e.needsUpdate||(e.schedulePriority=e.basePriority,!1))),this._tasks.forAll((e=>{e.basePriority===R&&e.needsUpdate&&!this._runQueue.includes(e)&&e.blockFrame!==this._frameNumber&&this._runQueue.unshift(e)}));0===this._runQueue.length;){let e=!1,t=0;if(this._tasks.forAll((s=>{if(s.needsUpdate&&0!==s.schedulePriority&&s.basePriority!==R&&s.blockFrame!==this._frameNumber)if(e=!0,t=Math.max(t,s.basePriority),1===s.schedulePriority)s.schedulePriority=0,this._runQueue.push(s);else--s.schedulePriority})),!e)return this._updatingChanged(),!1}return this._updatingChanged(),!0}_run(){const e=this._budget.now();this._startFrameTaskTimes();do{for(;this._runQueue.length>0;){const r=this._budget.now(),i=this._runQueue.pop();this._budget.resetProgress();try{i.task.runTask(this._budget)===c&&(i.blockFrame=this._frameNumber)}catch(s){t.getLogger(\"esri.views.support.Scheduler\").error(`Exception in task \"${i.name}\"`,s),i.blockFrame=this._frameNumber}!this._budget.hasProgressed&&i.blockFrame!==this._frameNumber&&i.needsUpdate&&(i.name,g.I3S_CONTROLLER,i.blockFrame=this._frameNumber),i.schedulePriority=i.basePriority;const a=this._budget.now()-r;if(i.runtime+=a,this._frameTaskTimes.set(i.priority,this._frameTaskTimes.get(i.priority)+a),this._budget.remaining<=0)return this._updatingChanged(),void this._recordFrameTaskTimes(this._budget.now()-e)}}while(this._schedule());this._updatingChanged(),this._recordFrameTaskTimes(this._budget.now()-e)}_startFrameTaskTimes(){for(const e of Object.keys(g))this._frameTaskTimes.set(g[e],0)}_recordFrameTaskTimes(e){this._frameTaskTimes.forEach(((e,t)=>this.performanceInfo.tasks.get(t).push(e))),this.performanceInfo.total.push(e)}get test(){return this._test}}a.Scheduler=n;class _{get task(){return this._task.value}get updating(){return this._queue.running}constructor(t,s,r){this._scheduler=t,this.name=s,this.blockFrame=0,this.runtime=0,this._queue=new l,this._handles=new e,this._basePriority=A(s),this.schedulePriority=this._basePriority,this._task=d(null!=r?r:this._queue),this._handles.add(o((()=>this.task.running),(e=>t.taskRunningChanged(e))))}remove(){this.processQueue(C),this._scheduler.removeTask(this),this.schedule=F.schedule,this.reschedule=F.reschedule,this._handles.destroy()}get basePriority(){return this._basePriority}setPriority(e){if(this.name===e)return;this.name=e;const t=A(e);this._basePriority!==R&&0===this.schedulePriority||(this.schedulePriority=t),this._basePriority=t}get priority(){return this.name}set priority(e){this.setPriority(e)}get needsUpdate(){return this.updating||this.task.running}schedule(e,t,s){return this._queue.push(e,t,s)}reschedule(e,t,s){return this._queue.unshift(e,t,s)}processQueue(e){return this._queue.runTask(e)}}class I{constructor(){this._begin=\"undefined\"!=typeof performance?performance.now():0,this._budget=0,this._state=m.IDLE,this._done=!1,this._progressed=!1,this._enabled=!0}run(e){return!this.done&&(!0===e()&&this.madeProgress(),!0)}get done(){return this._done}get budget(){return this._budget}madeProgress(){return this._progressed=!0,this._done=this.elapsed>=this._budget&&this._enabled,this._done}get state(){return this._state}get enabled(){return this._enabled}set enabled(e){this._enabled=e}reset(e,t){this._begin=this.now(),this._budget=e,this._state=t,this.resetProgress()}get remaining(){return Math.max(this._budget-this.elapsed,0)}now(){return performance.now()}get elapsed(){return this.now()-this._begin}resetProgress(){this._progressed=!1,this._done=!1}get hasProgressed(){return this._progressed}}a.Budget=I}(U||(U={})),function(e){e.SCHEDULED=\"s\",e.READY=\"r\",e.WAITING=\"w\",e.IDLE=\"i\"}(k||(k={}));const C=(()=>{const e=new U.Budget;return e.enabled=!1,e})();class P{remove(){}processQueue(){}schedule(e,t,s){try{if(a(t)){const e=n();return s?Promise.resolve(s(e)):Promise.reject(e)}return _(e(C))}catch(r){return Promise.reject(r)}}reschedule(e,t,s){return this.schedule(e,t,s)}}const F=new P;export{F as ImmediateTask,g as TaskPriority,k as TaskState,A as getTaskPriority,I as newScheduler,C as noBudget,p as taskPriorities};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport e from\"../../core/Error.js\";import{getWebGLCapabilities as r}from\"../webgl/capabilities.js\";function t(t){const o=r();return o.available?\"3d\"===t&&o.majorPerformanceCaveat?new e(\"webgl:major-performance-caveat-detected\",\"Your WebGL implementation doesn't seem to support hardware accelerated rendering. Check your browser settings or if your GPU is in a blocklist.\"):o.supportsHighPrecisionFragment?o.supportsVertexShaderSamplers?null:new e(\"webgl:vertex-shader-samplers-required\",\"WebGL support for vertex shader samplers is required but not supported.\"):new e(\"webgl:high-precision-fragment-required\",\"WebGL support for high precision fragment shaders is required but not supported.\"):new e(\"webgl:required\",\"WebGL2 is required but not supported.\",(new Error).stack)}export{t as check};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nconst o=Symbol(\"Yield\");export{o as Yield};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{cyclicalDegrees as e,Cyclical as t}from\"../../core/Cyclical.js\";import{createAngle as r,convertRotationType as i}from\"../../core/quantityUtils.js\";import{convertUnit as o}from\"../../core/unitUtils.js\";import{angle as n}from\"../../core/libs/gl-matrix-2/math/vec2.js\";import{UNIT_Y as a,create as s}from\"../../core/libs/gl-matrix-2/factories/vec2f64.js\";import{i as c,p as l,c as u}from\"../../chunks/vec32.js\";import{create as f}from\"../../core/libs/gl-matrix-2/factories/vec3f64.js\";import{projectVectorToVector as m}from\"../../geometry/projection/projectVectorToVector.js\";import{geodesicCompatibleSpatialReference as g,inverseGeodeticSolver as p,directGeodeticSolver as v,InverseGeodeticSolverResult as d}from\"../../geometry/support/geodesicUtils.js\";import{equals as h}from\"../../geometry/support/spatialReferenceUtils.js\";var j;function R(e,t){if(null==e||null==t)return;const i=b(e,t);return null!=i?r(i,\"radians\",\"geographic\"):void 0}!function(e){e.Absolute=\"absolute\",e.Relative=\"relative\",e.RelativeBilateral=\"relative-bilateral\"}(j||(j={}));const b=(()=>{const e=f(),t=f();return(r,i)=>(c(e,r.x,r.y,r.z??0),c(t,i.x,i.y,i.z??0),y(e,t,r.spatialReference,i.spatialReference))})(),y=(()=>{const e=s(),t=f(),r=f();return(i,s,c,u)=>{if(l(i,s))return;const f=g(c),v=g(u);if(f&&v&&h(f,v)&&m(i,c,t,f)&&m(s,u,r,v)){const{azimuth:e}=p(k,t,r,f);return null!=e?o(e,\"degrees\",\"radians\"):void 0}e[0]=s[0]-i[0],e[1]=s[1]-i[1];let d=n(a,e);return e[0]<0&&(d=q-d),d}})();function x(e,t,r,i=j.Absolute){if(t&&r)switch(i){case j.Absolute:return R(t,r);case j.Relative:return w(z(e,t,r),j.Relative);case j.RelativeBilateral:return w(z(e,t,r),j.RelativeBilateral)}}function z(e,t,i){if(!e||!t||!i)return;const o=b(e,t),n=b(t,i);return null!=o&&null!=n?r(n-o,\"radians\",\"geographic\"):void 0}function w(e,t){if(null!=e)switch(t){case j.Absolute:return A(e);case j.Relative:{const t=T(e);let i=I.normalize(t,0,!0);return-180===i&&(i=180),r(i,\"degrees\",\"geographic\")}case j.RelativeBilateral:{const t=T(e),i=Math.abs(I.normalize(t,0,!0));return r(i,\"degrees\",\"geographic\")}}}function A(e){const t=T(e),i=C.normalize(t,0,!0);return r(i,\"degrees\",\"geographic\")}function B(e,t,n){let a=o(e.value,e.unit,\"degrees\");return a=i(a,e.rotationType,n),a=o(a,\"degrees\",t),r(a,t,n)}const M=(()=>{const e=f();return(t,r,n,a,s,l=\"geodesic\")=>{u(e,r);const f=T(s);if(\"geodesic\"===l){const i=g(n);if(i&&m(e,n,e,i))return v(t,e,f,a,i),t[2]=r[2],!!m(t,i,t,n)}const p=i(f,\"geographic\",\"arithmetic\"),d=o(p,\"degrees\",\"radians\"),h=r[0]+a*Math.cos(d),j=r[1]+a*Math.sin(d),R=r[2];return c(t,h,j,R),!0}})();function T(e){if(null!=e)return i(V(e),e.rotationType,\"geographic\")}function U(e){if(null!=e)return i(V(e),e.rotationType,\"arithmetic\")}function V(e){return o(e.value,e.unit,\"degrees\")}const k=new d,q=2*Math.PI,C=e,I=new t(-180,180);export{j as DirectionMode,B as convertAngle,R as directionBetweenPoints,x as directionForVertices,U as getDegreesArithmetic,T as getDegreesGeographic,w as getNormalizedDirection,A as getNormalizedGeographicOrientation,M as pointFromDistanceAlongAzimuth,y as radiansGeographicBetweenVec};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{_ as o}from\"../../chunks/tslib.es6.js\";import r from\"../../core/Accessor.js\";import{property as s}from\"../../core/accessorSupport/decorators/property.js\";import\"../../core/has.js\";import\"../../core/Logger.js\";import\"../../core/RandomLCG.js\";import{subclass as t}from\"../../core/accessorSupport/decorators/subclass.js\";let e=class extends r{constructor(){super(...arguments),this.SCHEDULER_LOG_SLOW_TASKS=!1,this.FEATURE_SERVICE_SNAPPING_SOURCE_TILE_TREE_SHOW_TILES=!1}};o([s()],e.prototype,\"SCHEDULER_LOG_SLOW_TASKS\",void 0),o([s()],e.prototype,\"FEATURE_SERVICE_SNAPPING_SOURCE_TILE_TREE_SHOW_TILES\",void 0),e=o([t(\"esri.views.support.debugFlags\")],e);const E=new e;export{E as default};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport\"../../geometry.js\";import{getMetersPerUnitForSR as e}from\"../../core/unitUtils.js\";import{calculateTolerance as t}from\"../../renderers/support/clickToleranceUtils.js\";import n from\"../../geometry/Extent.js\";function r(t,r,i,a=new n){let o=0;if(\"2d\"===i.type)o=r*(i.resolution??0);else if(\"3d\"===i.type){const n=i.overlayPixelSizeInMapUnits(t),a=i.basemapSpatialReference;o=null==a||a.equals(i.spatialReference)?r*n:e(a)/e(i.spatialReference)}const s=t.x-o,l=t.y-o,m=t.x+o,p=t.y+o,{spatialReference:c}=i;return a.xmin=Math.min(s,m),a.ymin=Math.min(l,p),a.xmax=Math.max(s,m),a.ymax=Math.max(l,p),a.spatialReference=c,a}function i(e,n,i){const o=i.toMap(e);if(null==o)return!1;return r(o,t(),i,a).intersects(n)}const a=new n;export{r as createQueryGeometry,i as intersectsDrapedGeometry};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{floatEqualAbsolute as t}from\"../../core/mathUtils.js\";import{distance as n,dot as r,squaredLength as e,scale as s,subtract as o,add as c,scaleAndAdd as u,copy as i,length as f}from\"../../core/libs/gl-matrix-2/math/vec2.js\";import{clone as a,create as p}from\"../../core/libs/gl-matrix-2/factories/vec2f64.js\";function m(t,n){return t[0]*n[1]-t[1]*n[0]}function h(t,r,e){const s=(r[0]-t[0])*(e[1]-t[1])-(r[1]-t[1])*(e[0]-t[0]);return Math.abs(s)/n(r,e)}function E(t,n,o){const c=r(o,n)/e(o);return s(t,o,c)}function I(t,n,r,e,s=r){return o(x,e,r),o(g,n,s),E(A,g,x),c(t,s,A)}function L(t,n,s,c){o(x,c,s),o(g,n,s);const f=r(x,g)/e(x);return f>0?u(t,s,x,f):i(t,s)}function N(t,n,r,e){o(x,n,r);const s=e/f(x);return u(t,r,x,s)}function l(n,r){return I(g,r,n.start,n.end),t(g[0],r[0])&&t(g[1],r[1])?[a(r)]:[]}function y(n,r,e){return N(g,e,n,r),t(g[0],e[0])&&t(g[1],e[1])?[a(e)]:[]}function b(t,n){const r=t.start,e=t.end,s=n.start,c=n.end,i=o(x,e,r),f=o(M,c,s),a=m(i,f);if(Math.abs(a)<=v)return[];const p=o(g,r,s),h=m(f,p)/a,E=m(i,p)/a;if(h>=0){if(E>=0||n.type===j.LINE)return[u(A,r,i,h)]}else if(t.type===j.LINE&&(E>=0||n.type===j.LINE))return[u(A,r,i,h)];return[]}function d(t,n,s){const c=[],i=o(x,t.end,t.start),f=o(M,t.start,n),a=e(i),p=2*r(i,f),m=p*p-4*a*(e(f)-s*s);if(0===m){const n=-p/(2*a);(t.type===j.LINE||n>=0)&&c.push(u(A,t.start,i,n))}else if(m>0){const n=Math.sqrt(m),r=(-p+n)/(2*a);(t.type===j.LINE||r>=0)&&c.push(u(A,t.start,i,r));const e=(-p-n)/(2*a);(t.type===j.LINE||e>=0)&&c.push(u(g,t.start,i,e))}return c}var j;!function(t){t[t.RAY=0]=\"RAY\",t[t.LINE=1]=\"LINE\"}(j||(j={}));const v=1e-6,x=p(),M=p(),g=p(),A=p();export{j as LineType,m as cross,y as intersectCircleAndPoint,l as intersectLineAndPoint,b as intersectLineAndRay,d as intersectLineLikeAndCircle,h as pointToLineDistance,E as projectPoint,N as projectPointToCircle,I as projectPointToLine,L as projectPointToRay};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{floatEqualAbsolute as t}from\"../../core/mathUtils.js\";import{subtract as n,squaredLength as r,dot as s,scaleAndAdd as e,sub as o,length as c,distance as i,squaredDistance as u,lerp as a,set as f}from\"../../core/libs/gl-matrix-2/math/vec2.js\";import{create as p,fromValues as m,ZEROS as L}from\"../../core/libs/gl-matrix-2/factories/vec2f64.js\";import{i as h,a as A,f as d,b as l,j as E,e as N,G as y,c as P,d as b,z as j}from\"../../chunks/vec32.js\";import{create as M,clone as I}from\"../../core/libs/gl-matrix-2/factories/vec3f64.js\";import{getEpsilon as R}from\"../../core/libs/gl-matrix-2/math/common.js\";import{create as Y,fromPositionAndNormal as g,distance as x,intersectLine as v,isPointInside as q}from\"../../geometry/support/plane.js\";import{tangentFrame as F}from\"../3d/support/mathUtils.js\";import{LineType as H,intersectLineLikeAndCircle as _}from\"./geometry2dUtils.js\";function U({start:t,end:o,type:c},i,u){const a=[],f=n(et,o,t),m=n(ot,t,i),L=r(f),h=2*s(f,m),A=h*h-4*L*(r(m)-u*u);if(0===A){const n=-h/(2*L);(c===rt.PLANE||n>=0)&&a.push(e(p(),t,f,n))}else if(A>0){const n=Math.sqrt(A),r=(-h+n)/(2*L);(c===rt.PLANE||r>=0)&&a.push(e(p(),t,f,r));const s=(-h-n)/(2*L);(c===rt.PLANE||s>=0)&&a.push(e(p(),t,f,s))}return a}function k(t,r){const e=t.start,c=t.end,i=n(et,c,e),u=h(it,-i[1],i[0],0),a=r.start,f=r.end,p=A(ut,f,a),m=d(p,u),L=h(at,e[0],e[1],0),E=A(ft,L,a),N=d(E,u),y=R();if(Math.abs(m)m(t,n)))}function C(t,n,r){return J(t,X(ht,t[2],n),r)}function G(t,n){return K(X(ht,t[2],n),t)}function B(t,r,s,o=M()){const i=n(et,t,r),u=c(i);return e(o,r,i,0===u?1:s/u),o[2]=t[2],o}function D(t,n,r){return i(t,n)-r}function J(t,{start:n,end:r,type:s},e=M()){const o=A(ct,t,n),c=A(it,r,n),i=d(o,c)/d(c,c);return l(e,n,c,s===H.RAY?Math.max(i,0):i)}function K({start:t,end:n,type:r},s){const e=A(ct,s,t),o=A(it,n,t);if(r===H.RAY&&d(o,e)<-R())return E(t,s);const c=N(ut,o,e);return y(c)/y(o)}const O=(()=>{const t=M(),n=M(),r=M();return({start:s,end:e},{center:o,radius:c,normal:i,slicePlane:u})=>{const a=g(o,i,Lt);if($(x(a,s),0)&&$(x(a,e),0)){F(i,t,n);const a=(s,e)=>(b(r,e,o),f(s,d(r,t),d(r,n)),s),p=_({start:a(et,s),end:a(ot,e),type:H.LINE},L,c),m=[];for(const[r,s]of p){const e=P(M(),o);l(e,e,t,r),l(e,e,n,s),u&&!nt(u,e)||m.push(e)}return m}const p=M();return v(a,s,e,p)?!$(E(p,o),c)||u&&!nt(u,p)?[]:[p]:[]}})();function Q({start:t,end:e,type:o},c,i){const u=[],a=b(ct,e,t),f=n(ot,t,c),p=r(a),m=2*s(a,f),L=m*m-4*p*(r(f)-i*i);if(0===L){const n=-m/(2*p);(o===H.LINE||n>=0)&&u.push(l(M(),t,a,n))}else if(L>0){const n=Math.sqrt(L),r=(-m+n)/(2*p);(o===H.LINE||r>=0)&&u.push(l(M(),t,a,r));const s=(-m-n)/(2*p);(o===H.LINE||s>=0)&&u.push(l(M(),t,a,s))}return u}function S(t,n){const r=t.start,s=t.end,e=n.start,o=n.end,c=A(ct,s,r),i=A(it,o,e),u=A(ut,e,r),a=N(at,c,i);if(!$(d(u,a),0))return[];const f=j(a);if($(f,0))return[];const p=N(ft,u,i),m=d(p,a)/f,L=l(pt,r,c,m);if(t.type===H.RAY){const t=A(mt,L,r);if(d(c,t)<-R())return[]}if(n.type===H.RAY){const t=A(mt,L,e);if(d(i,t)<-R())return[]}return[I(L)]}function T({start:t,end:n,type:r},s){const e=A(ct,s,t),o=A(it,n,t),c=N(ut,o,e),i=j(c)/j(o),u=R();if(in+s)return[];if(Lnt(t,n)))}function nt(t,n){return q(t,n)}var rt;!function(t){t[t.PLANE=0]=\"PLANE\",t[t.HALF_PLANE=1]=\"HALF_PLANE\"}(rt||(rt={}));const st={[rt.PLANE]:H.LINE,[rt.HALF_PLANE]:H.RAY},et=p(),ot=p(),ct=M(),it=M(),ut=M(),at=M(),ft=M(),pt=M(),mt=M(),Lt=Y(),ht={start:M(),end:M(),type:H.LINE},At={start:M(),end:M(),type:H.LINE};export{H as LineType,rt as VerticalPlaneType,T as intersectLineAndPoint,O as intersectLineLikeAndCircle,Q as intersectLineLikeAndVerticalCylinder,S as intersectLineLikes,V as intersectVerticalCylinderAndPoint,W as intersectVerticalCylinders,k as intersectVerticalPlaneAndLineLike,w as intersectVerticalPlaneAndPoint,U as intersectVerticalPlaneAndVerticalCylinder,z as intersectVerticalPlanes,$ as isClose,nt as isPointInsidePlane,K as pointToLineLikeDistance,D as pointToVerticalCylinderDistance,G as pointToVerticalPlaneDistance,tt as pointsInsidePlane,J as projectPointToLineLike,B as projectPointToVerticalCylinder,C as projectPointToVerticalPlane,Z as vectorsHaveCloseZ};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport e from\"../../core/Error.js\";function n(e){return e&&\"function\"==typeof e.highlight}function t(e){return e&&\"function\"==typeof e.maskOccludee}function i(e,n,t){return null==e||e>=t&&(0===n||e<=n)}function r(e,n){if(n&&e){const{minScale:t,maxScale:r}=e;if(c(t,r))return i(n,t,r)}return!0}function c(e,n){return null!=e&&e>0||null!=n&&n>0}function a(e){return!e?.minScale||!e.maxScale||e.minScale>=e.maxScale}function u(e){const n=e.effectiveScaleRange;return{minScale:n?.minScale??0,maxScale:n?.maxScale??0}}function l(e){return null!=e&&\"object\"==typeof e&&\"createQuery\"in e&&\"queryFeatures\"in e&&\"layer\"in e&&\"view\"in e}function o(n,t,i){return new e(\"layerview:spatial-reference-incompatible\",`The spatial reference of this ${n}${t?`(wkid:${t})`:\"\"} is incompatible with the spatial reference of the view${i?`(wkid:${i})`:\"\"}.`,{})}export{u as extractSafeScaleBounds,n as highlightsSupported,r as isInEffectiveScaleRange,c as isScaleRangeActive,l as isSelectableLayerView2D,t as occludeesSupported,i as scaleBoundsPredicate,o as spatialReferenceIncompatibleError,a as validateScaleRange};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{throwIfAborted as e}from\"../../core/promiseUtils.js\";import{isLoaded as r,canProjectWithoutEngine as t,project as o,load as i}from\"../../geometry/projection.js\";let n,s=null;async function c(r){s||(s=import(\"../../portal/support/geometryServiceUtils.js\").then((e=>n=e))),await s,e(r)}async function p(e,s,a,m){if(!e)return null;const l=e.spatialReference;return r()||t(l,s)?o(e,s):n?n.projectGeometry(e,s,a,m):(await Promise.race([c(m),i(m)]),p(e,s,a,m))}export{p as projectWithEngineOrService};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport\"../../core/has.js\";import{createScreenPoint as e,createScreenPointArray as t}from\"../../core/screenUtils.js\";function n(t){return e(t.x,t.y)}function c(e){return t(e.x,e.y)}function i(t,n){const c=(t instanceof HTMLElement?t:t.surface)?.getBoundingClientRect();return c?e(n.clientX-c.left,n.clientY-c.top):e(0,0)}function r(e,t){return t instanceof Event?i(e,t):n(t)}function o(e){if(e instanceof Event)return!0;if(\"object\"==typeof e&&\"type\"in e){switch(e.type){case\"click\":case\"double-click\":case\"pointer-down\":case\"pointer-drag\":case\"pointer-enter\":case\"pointer-leave\":case\"pointer-up\":case\"pointer-move\":case\"immediate-click\":case\"immediate-double-click\":case\"hold\":case\"drag\":case\"mouse-wheel\":return!0;default:return!1}}return!1}export{c as createScreenPointArrayFromEvent,n as createScreenPointFromEvent,i as createScreenPointFromNativeEvent,r as createScreenPointFromSupportedEvent,o as isSupportedScreenPointEvent};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport\"../../core/has.js\";import{clamp as t}from\"../../core/mathUtils.js\";export{createEmptyImageData}from\"../../core/imageUtils.js\";const h=2048,i=1.5,e=8;function o(h,i){const{format:e,quality:o,rotation:n,disableDecorations:a}=h||{},r=b(h,i.padding),l=p(h,{width:i.width-r.left-r.right,height:i.height-r.top-r.bottom}),{width:g,height:f}=m(h,l),d=j(e),u=R[d];return{format:d,quality:t(null!=o?o:u,0,100),area:l,width:g,height:f,rotation:n,disableDecorations:!!a,ignoreBackground:!!h?.ignoreBackground,ignorePadding:!!h?.ignorePadding}}function n(t,h){const i=o(t,h),e=i.area,n=i.width/e.width,a=b(i,h.padding),r=a.left+a.right,l=a.top+a.bottom,g=h.width-r,f=h.height-l,d=Math.floor(g*n+r),u=Math.floor(f*n+l),c=t?.layers??[],s=i.ignoreBackground,w=i.ignorePadding;return{framebufferWidth:d,framebufferHeight:u,region:{x:Math.floor(e.x*n)+a.left,y:Math.floor(e.y*n)+a.top,width:i.width,height:i.height},format:i.format,quality:i.quality,rotation:i.rotation,pixelRatio:n,layers:c,disableDecorations:i.disableDecorations,ignoreBackground:s,ignorePadding:w,objectAndLayerIdColor:!1}}function a(t,h,i){const{ctx:e,canvas:o}=l(t,i),n=e.getImageData(0,0,t.width,t.height),a=u(o,h);return g(o),{dataUrl:a,data:n}}function r(t,h){const{ctx:i,canvas:e}=l(t,h),o=i.getImageData(0,0,t.width,t.height);return g(e),o}function l(t,h){const i=f();h.premultipliedAlpha&&q(t),i.width=t.width,i.height=t.height;const e=i.getContext(\"2d\",{willReadFrequently:!0});return e.putImageData(t,0,0),h.flipY&&D(e),{ctx:e,canvas:i}}function g(t){t.width=0,t.height=0}function f(){return null==d&&(d=document.createElement(\"canvas\")),d}let d=null;function u(t,h){const i=v[h.format],e=h.quality/100;return t.toDataURL(i,e)}function c(h,i){const e=j(h),o=R[e];return{format:e,quality:t(null!=i?i:o,0,100)}}function s(t,h){return h/Math.max(t[0],t[1])}function w(t,h,i,e=0,o=0,n=t.width-e,a=t.height-o,r=!1){const{data:l}=t,{width:g,height:f,data:d}=h,u=n/g,c=a/f,s=Math.ceil(u/2),w=Math.ceil(c/2),M=t.width;for(let m=0;m=1)continue;let u=2*h*h*h-3*h*h+1;const c=4*(e+d+(o+r)*M);b+=u*l[c+3],a+=u,!i&&l[c+3]<255&&(u=u*l[c+3]/255),p+=u*l[c],x+=u*l[c+1],y+=u*l[c+2],n+=u}}d[h]=p/n,d[h+1]=x/n,d[h+2]=y/n,d[h+3]=b/a}return h}function M(t,o,n){if(!o)return t;const{framebufferWidth:a,framebufferHeight:r,pixelRatio:l,region:g}=t,f=b(t,n),d=f.left+f.right,u=f.top+f.bottom,c=a-d,s=r-u,w=Math.min(e,Math.min((h-d)/c,(h-u)/s));return wn){const t=Math.floor(o.width/a),h=o.height-t;return{x:o.x,y:Math.floor(o.y+h/2),width:o.width,height:t}}const r=Math.floor(o.height*a),l=o.width-r;return{x:Math.floor(o.x+l/2),y:o.y,width:r,height:o.height}}function y(t,h){if(null==h?.width||null==h.height)return t;const i=h.width/h.height,e=t.width/t.height;if(e===i)return t;if(e0){const i=255/t;h[e]=h[e]*i,h[e+1]=h[e+1]*i,h[e+2]=h[e+2]*i}}}const v={png:\"image/png\",jpg:\"image/jpeg\",jpeg:\"image/jpeg\"},I=98,P=\"png\",R={png:100,jpg:I,jpeg:I},k={top:0,right:0,bottom:0,left:0};export{o as completeUserSettings,a as encode,r as encodeData,c as getFormatAndQuality,s as getMaximumResolutionScale,w as resampleHermite,M as screenshotSuperSampleSettings,u as toDataUrl,n as toRenderSettings};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nfunction e(e){return!!(null!=e&&\"object\"==typeof e&&\"createQuery\"in e&&e.createQuery&&\"on\"in e&&e.on)}export{e as isSelectableLayer};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{_ as o}from\"../../../chunks/tslib.es6.js\";import{property as r}from\"../../../core/accessorSupport/decorators/property.js\";import\"../../../core/has.js\";import\"../../../core/Logger.js\";import\"../../../core/RandomLCG.js\";import{subclass as s}from\"../../../core/accessorSupport/decorators/subclass.js\";import t from\"../DefaultUI.js\";let e=class extends t{constructor(o){super(o),this.components=[\"attribution\",\"zoom\"]}};o([r()],e.prototype,\"components\",void 0),e=o([s(\"esri.views.ui.2d.DefaultUI2D\")],e);const c=e;export{c as default};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{_ as t}from\"../../chunks/tslib.es6.js\";import o from\"../../core/Accessor.js\";import{byId as e}from\"../../core/domUtils.js\";import{property as s}from\"../../core/accessorSupport/decorators/property.js\";import{cast as r}from\"../../core/accessorSupport/decorators/cast.js\";import\"../../core/RandomLCG.js\";import\"../../core/has.js\";import{subclass as i}from\"../../core/accessorSupport/decorators/subclass.js\";function n(t){return t&&\"nodeType\"in t}function d(t){return t&&\"function\"==typeof t.render}const c={component:\"esri-component\"};let p=class extends o{constructor(){super(...arguments),this.widget=null}destroy(){this.node=null,this.widget?.destroy()}get id(){return this._get(\"id\")??this.widget?.id??this.node?.id}set id(t){this._set(\"id\",t)}set node(t){const o=this._get(\"node\");t!==o&&(t&&t.classList.add(c.component),o&&o.classList.remove(c.component),this._set(\"node\",t))}castNode(t){return this.widget?.destroy(),t?\"string\"==typeof t||n(t)?(this._set(\"widget\",null),e(t)):(d(t)&&!t.domNode&&(t.domNode=document.createElement(\"div\")),this._set(\"widget\",t),t.domNode):(this._set(\"widget\",null),null)}};t([s()],p.prototype,\"id\",null),t([s()],p.prototype,\"node\",null),t([r(\"node\")],p.prototype,\"castNode\",null),t([s({readOnly:!0})],p.prototype,\"widget\",void 0),p=t([i(\"esri.views.ui.Component\")],p);const m=p;export{m as default};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{_ as t}from\"../../chunks/tslib.es6.js\";import\"../../core/has.js\";import\"../../core/Logger.js\";import{watch as o,initial as e}from\"../../core/reactiveUtils.js\";import{property as i}from\"../../core/accessorSupport/decorators/property.js\";import\"../../core/RandomLCG.js\";import{subclass as s}from\"../../core/accessorSupport/decorators/subclass.js\";import r from\"./Component.js\";import n from\"./UI.js\";import a from\"../../widgets/Attribution.js\";import d from\"../../widgets/Compass.js\";import p from\"../../widgets/NavigationToggle.js\";import c from\"../../widgets/Zoom.js\";function m(t){return void 0!==t?.view}let h=class extends n{constructor(t){super(t),this._defaultPositionLookup={attribution:\"manual\",compass:\"top-left\",\"navigation-toggle\":\"top-left\",zoom:\"top-left\"},this.components=[],this._updateViewAwareWidgets=t=>{this.components.forEach((o=>{const e=this._find(o),i=e?.widget;m(i)&&(i.view=t)}))},this._componentsWatcher=(t,o)=>{this._removeComponents(o),this._addComponents(t),this._adjustPadding(t)}}initialize(){this.addHandles([o((()=>this.components),this._componentsWatcher,e),o((()=>this.view),this._updateViewAwareWidgets,e)])}_add(t,o,e,i,s){let r=t;if(\"string\"==typeof t&&this._defaultPositionLookup[t]){if(this._find(t))return;r=this._createComponent(t)}super._add(r,o,e,i,s)}_removeComponents(t){t.forEach((t=>{const o=this._find(t);o&&(this.remove(o),o.destroy())}))}_adjustPadding(t){if(!t.includes(\"attribution\")&&!this._isOverridden(\"padding\")){const{top:t}=this.padding;this.padding=t}}_addComponents(t){this.constructed&&t.forEach((t=>this.add(this._createComponent(t),this._defaultPositionLookup[t])))}_createComponent(t){const o=this._createWidget(t);return new r({id:t,node:o})}_createWidget(t){const o=this.view;switch(t){case\"attribution\":return new a({view:o});case\"compass\":return new d({view:o});case\"navigation-toggle\":return new p({view:o});case\"zoom\":return new c({view:o})}}};t([i()],h.prototype,\"components\",void 0),h=t([s(\"esri.views.ui.DefaultUI\")],h);const u=h;export{u as default};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{_ as t}from\"../../chunks/tslib.es6.js\";import\"../../intl.js\";import o from\"../../core/Accessor.js\";import{isSome as e}from\"../../core/arrayUtils.js\";import n from\"../../core/Evented.js\";import{makeHandle as i}from\"../../core/handleUtils.js\";import{watch as r,initial as s}from\"../../core/reactiveUtils.js\";import{property as a}from\"../../core/accessorSupport/decorators/property.js\";import{cast as p}from\"../../core/accessorSupport/decorators/cast.js\";import\"../../core/has.js\";import{subclass as d}from\"../../core/accessorSupport/decorators/subclass.js\";import{setCalciteThemeClass as c}from\"../../support/themeUtils.js\";import l from\"./Component.js\";import{isRTL as h}from\"../../widgets/support/widgetUtils.js\";import{getLocale as m,onLocaleChange as u}from\"../../intl/locale.js\";const f={left:0,top:0,bottom:0,right:0},_={bottom:30,top:15,right:15,left:15},g=\"esri-ui\",y={ui:g,corner:`${g}-corner`,innerContainer:`${g}-inner-container`,manualContainer:`${g}-manual-container`,cornerContainer:`${g}-corner-container`,topLeft:`${g}-top-left`,topRight:`${g}-top-right`,bottomLeft:`${g}-bottom-left`,bottomRight:`${g}-bottom-right`};function C(t){return t&&!t._started&&\"function\"==typeof t.postMixInProperties&&\"function\"==typeof t.buildRendering&&\"function\"==typeof t.postCreate&&\"function\"==typeof t.startup}function v(t){return 0===t?\"0\":`${t}px`}function b(t){const o=\"object\"==typeof t&&null!==t&&Object.getPrototypeOf(t);return(null===o||o===Object.prototype)&&(\"component\"in t||\"index\"in t||\"position\"in t)?t:null}function w(t,{top:o,bottom:e,left:n,right:i}){t.style.top=o,t.style.bottom=e,t.style.left=n,t.style.right=i}let P=class extends n.EventedAccessor{constructor(t){super(t),this._cornerNameToContainerLookup={},this._positionNameToContainerLookup={},this._components=new Array,this._componentMap=new Map,this._removeWidgetHandleKey=Symbol(\"componentOnRemoveSymbol\"),this._locale=m(),this.view=null,this._applyViewPadding=()=>{const t=this.container;t&&w(t,this._toPixelPosition(this._getViewPadding()))},this._applyUIPadding=()=>{const t=this._innerContainer;t&&w(t,this._toPixelPosition(this.padding))},this._initContainers()}initialize(){this.addHandles([r((()=>[this.view?.padding,this.container]),this._applyViewPadding,s),r((()=>this.padding),this._applyUIPadding,s),r((()=>[this.container,this._locale]),(([t,o])=>{t&&t.setAttribute(\"lang\",o)}),s),u((t=>{this._locale=t}))])}destroy(){this.container=null;for(const t of this._components)t.destroy();this._components.length=0,this._componentMap.clear()}set container(t){const o=this._get(\"container\");t!==o&&(t&&(t.classList.add(y.ui),c(t),this._attachContainers(t)),o&&(o.classList.remove(y.ui),w(o,{top:\"\",bottom:\"\",left:\"\",right:\"\"}),o.textContent=\"\"),this._set(\"container\",t))}get height(){const t=this.view?.height??0;if(0===t)return t;const o=this._getViewPadding(),{top:e,bottom:n}=o;return Math.max(t-e-n,0)}get padding(){return this._get(\"padding\")}set padding(t){this._overrideIfSome(\"padding\",t)}castPadding(t){return\"number\"==typeof t?{bottom:t,top:t,right:t,left:t}:{..._,...t}}get width(){const t=this.view?.width??0;if(0===t)return t;const o=this._getViewPadding(),{left:e,right:n}=o;return Math.max(t-e-n,0)}add(t,o){let e,n,i;if(Array.isArray(t))return void t.forEach((t=>this.add(t,o)));const r=b(t);r&&({index:e,position:o,component:t,key:n}=r),o&&\"object\"==typeof o&&({index:e,key:n,position:o,internal:i}=o),!t||o&&!this._isValidPosition(o)||this._add(t,o,e,n,i)}remove(t,o){if(!t)return;if(Array.isArray(t))return t.map((t=>this.remove(t,o)));const e=this._find(t);if(e){if(this._componentMap.has(e)&&this._componentMap.get(e)?.key!==o)return;const t=this._components.indexOf(e),n=e.node.parentNode;return n?.removeChild(e.node),this._componentMap.delete(e),e.widget?.removeHandlesReference(this._removeWidgetHandleKey),this._components.splice(t,1)[0]}}empty(t,o={removeInternal:!1}){if(Array.isArray(t)){for(const e of t)this.empty(e,o);return}const e=this._positionNameToContainerLookup[t??\"manual\"],n=Array.prototype.slice.call(e.children).map((t=>this._findByNode(t))).filter((t=>{if(null==t)return!1;return!(this._componentMap.get(t)?.internal??!1)||o.removeInternal}));for(const i of n)this.remove(i)}move(t,o){if(Array.isArray(t)&&t.forEach((t=>this.move(t,o))),!t)return;let e;const n=b(t)||b(o);if(n&&(e=n.index,o=n.position,t=n.component||t),o&&!this._isValidPosition(o))return;const i=this.remove(t);i&&this.add(i,{position:o,index:e})}find(t){if(!t)return null;const o=this._findById(t);return o&&(o.widget||o.node)}getComponents(t,o={includeInternal:!1}){return t?Array.isArray(t)?t.flatMap((t=>this._getComponentsAtPosition(t,o))):this._getComponentsAtPosition(t,o):this._components.filter((t=>o.includeInternal||!this._componentMap.get(t)?.internal)).map((({widget:t,node:o})=>t??o))}getPosition(t){for(const o in this._positionNameToContainerLookup){if(this._positionNameToContainerLookup[o].contains(t))return o}return null}_add(t,e,n,r,s){t instanceof l||(t=new l({node:t}));const{widget:a}=t;null!=a&&a instanceof o&&a.addHandles(i((()=>{queueMicrotask((()=>this.remove(t)))})),this._removeWidgetHandleKey),this._place({component:t,position:e,index:n}),this._components.push(t),this._componentMap.set(t,{key:r,internal:s})}_find(t){return t?t instanceof l?this._findByComponent(t):\"string\"==typeof t?this._findById(t):this._findByNode(t.domNode||t):null}_getViewPadding(){return this.view?.padding??f}_attachContainers(t){t.appendChild(this._innerContainer),t.appendChild(this._manualContainer)}_initContainers(){const t=document.createElement(\"div\");t.classList.add(y.innerContainer,y.cornerContainer);const o=document.createElement(\"div\");o.classList.add(y.innerContainer,y.manualContainer);const e=document.createElement(\"div\");e.classList.add(y.topLeft,y.corner),t.appendChild(e);const n=document.createElement(\"div\");n.classList.add(y.topRight,y.corner),t.appendChild(n);const i=document.createElement(\"div\");i.classList.add(y.bottomLeft,y.corner),t.appendChild(i);const r=document.createElement(\"div\");r.classList.add(y.bottomRight,y.corner),t.appendChild(r),this._innerContainer=t,this._manualContainer=o;const s=h();this._cornerNameToContainerLookup={\"top-left\":e,\"top-right\":n,\"bottom-left\":i,\"bottom-right\":r,\"top-leading\":s?n:e,\"top-trailing\":s?e:n,\"bottom-leading\":s?r:i,\"bottom-trailing\":s?i:r},this._positionNameToContainerLookup={manual:o,...this._cornerNameToContainerLookup}}_isValidPosition(t){return!!this._positionNameToContainerLookup[t]}_place(t){const o=t.position??\"manual\",{component:e,index:n}=t,i=this._positionNameToContainerLookup[o],r=null!=n&&n>-1;if(C(e.widget)&&e.widget.startup(),!r)return void i.appendChild(e.node);const s=Array.from(i.children);if(0===n){const{firstChild:t}=i;return void(t?t.parentNode?.insertBefore(e.node,t):i.appendChild(e.node))}if(n>=s.length)return void i.appendChild(e.node);const a=s[n];a.parentNode?.insertBefore(e.node,a)}_toPixelPosition(t){return{top:v(t.top),left:v(t.left),right:v(t.right),bottom:v(t.bottom)}}_findByComponent(t){return this._components.find((o=>o===t))??null}_findById(t){return this._components.find((({id:o})=>o===t))??null}_findByNode(t){return this._components.find((({node:o})=>o===t))??null}_getComponentsAtPosition(t,o){const n=this._positionNameToContainerLookup[t];return Array.prototype.slice.call(n.children).map((t=>this._findByNode(t))).filter(e).filter((t=>o.includeInternal||!this._componentMap.get(t)?.internal)).map((({widget:t,node:o})=>t??o))}};t([a()],P.prototype,\"_locale\",void 0),t([a()],P.prototype,\"container\",null),t([a()],P.prototype,\"height\",null),t([a({value:_})],P.prototype,\"padding\",null),t([p(\"padding\")],P.prototype,\"castPadding\",null),t([a()],P.prototype,\"view\",void 0),t([a()],P.prototype,\"width\",null),P=t([d(\"esri.views.ui.UI\")],P);const L=P;export{L as default};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nvar e;!function(e){e[e.Texture=0]=\"Texture\",e[e.RenderBuffer=1]=\"RenderBuffer\"}(e||(e={}));export{e as GLObjectType};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport t from\"../../core/Error.js\";import\"../../core/has.js\";import{checkWebGLError as e}from\"./checkWebGLError.js\";import{TextureType as i,ResourceType as r,TextureSamplingMode as s,PixelFormat as o,PixelType as a,SizedPixelFormat as n,CompressedTextureFormat as l}from\"./enums.js\";import{GLObjectType as h}from\"./GLObjectType.js\";import{estimateMemory as p}from\"./TextureDescriptor.js\";import{ValidatedTextureDescriptor as d}from\"./ValidatedTextureDescriptor.js\";const _=null;let m=class l{constructor(e,r=null,s=null){if(this.type=h.Texture,this._glName=null,this._samplingModeDirty=!1,this._wrapModeDirty=!1,this._wasImmutablyAllocated=!1,\"context\"in e)this._descriptor=e,s=r;else{const i=d.validate(e,r);if(!i)throw new t(\"Texture descriptor invalid\");this._descriptor=i}this._descriptor.target===i.TEXTURE_CUBE_MAP?this._setDataCubeMap(s):this.setData(s)}get glName(){return this._glName}get descriptor(){return this._descriptor}get usedMemory(){return p(this._descriptor)}get isDirty(){return this._samplingModeDirty||this._wrapModeDirty}dispose(){this._glName&&this._descriptor.context.instanceCounter.decrement(r.Texture,this),this._descriptor.context.gl&&this._glName&&(this._descriptor.context.unbindTexture(this),this._descriptor.context.gl.deleteTexture(this._glName),this._glName=null)}release(){this.dispose()}resize(e,r){const s=this._descriptor;if(s.width!==e||s.height!==r){if(this._wasImmutablyAllocated)throw new t(\"Immutable textures can't be resized!\");s.width=e,s.height=r,this._descriptor.target===i.TEXTURE_CUBE_MAP?this._setDataCubeMap(null):this.setData(null)}}_setDataCubeMap(t=null){for(let e=i.TEXTURE_CUBE_MAP_POSITIVE_X;e<=i.TEXTURE_CUBE_MAP_NEGATIVE_Z;e++)this._setData(t,e)}setData(t){this._setData(t)}_setData(i,s){const o=this._descriptor.context?.gl;if(!o)return;e(o),this._glName||(this._glName=o.createTexture(),this._glName&&this._descriptor.context.instanceCounter.increment(r.Texture,this));const a=this._descriptor,n=s??a.target,h=f(n),p=this._descriptor.context.bindTexture(this,l.TEXTURE_UNIT_FOR_UPDATES);this._descriptor.context.setActiveTexture(l.TEXTURE_UNIT_FOR_UPDATES),c(a),this._configurePixelStorage(),e(o);const d=this._deriveInternalFormat();if(I(i)){let t=\"width\"in i?i.width:i.codedWidth,r=\"height\"in i?i.height:i.codedHeight;const s=1;i instanceof HTMLVideoElement&&(t=i.videoWidth,r=i.videoHeight),a.width&&a.height,h&&a.depth,a.isImmutable&&!this._wasImmutablyAllocated&&this._texStorage(n,d,a.hasMipmap,t,r,s),this._texImage(n,0,d,t,r,s,i),e(o),a.hasMipmap&&(this.generateMipmap(),e(o)),a.width||(a.width=t),a.height||(a.height=r),h&&!a.depth&&(a.depth=s)}else{const{width:r,height:s,depth:l}=a;if(null==r||null==s)throw new t(\"Width and height must be specified!\");if(h&&null==l)throw new t(\"Depth must be specified!\");if(a.isImmutable&&!this._wasImmutablyAllocated&&this._texStorage(n,d,a.hasMipmap,r,s,l),M(i)){const e=i.levels,h=R(n,r,s,l),p=Math.min(h-1,e.length-1);o.texParameteri(a.target,this._descriptor.context.gl.TEXTURE_MAX_LEVEL,p);const _=d;if(!x(_))throw new t(\"Attempting to use compressed data with an uncompressed format!\");this._forEachMipmapLevel(((t,i,r,s)=>{const o=e[Math.min(t,e.length-1)];this._compressedTexImage(n,t,_,i,r,s,o)}),p)}else this._texImage(n,0,d,r,s,l,i),e(o),a.hasMipmap&&this.generateMipmap()}u(o,this._descriptor),T(o,this._descriptor),E(this._descriptor.context,this._descriptor),e(o),this._descriptor.context.bindTexture(p,l.TEXTURE_UNIT_FOR_UPDATES)}updateData(e,i,r,s,o,a,n=0){a||console.error(\"An attempt to use uninitialized data!\"),this._glName||console.error(\"An attempt to update uninitialized texture!\");const h=this._descriptor,p=this._deriveInternalFormat(),{context:d,pixelFormat:_,dataType:m,target:c,isImmutable:u}=h;if(u&&!this._wasImmutablyAllocated)throw new t(\"Cannot update immutable texture before allocation!\");const T=d.bindTexture(this,l.TEXTURE_UNIT_FOR_UPDATES,!0);(i<0||r<0||i+s>h.width||r+o>h.height)&&console.error(\"An attempt to update out of bounds of the texture!\"),this._configurePixelStorage();const{gl:E}=d;n&&E.pixelStorei(E.UNPACK_SKIP_ROWS,n),I(a)?E.texSubImage2D(c,e,i,r,s,o,_,m,a):M(a)?E.compressedTexSubImage2D(c,e,i,r,s,o,p,a.levels[e]):E.texSubImage2D(c,e,i,r,s,o,_,m,a),n&&E.pixelStorei(E.UNPACK_SKIP_ROWS,0),d.bindTexture(T,l.TEXTURE_UNIT_FOR_UPDATES)}updateData3D(e,i,r,s,o,a,n,h){h||console.error(\"An attempt to use uninitialized data!\"),this._glName||console.error(\"An attempt to update uninitialized texture!\");const p=this._descriptor,d=this._deriveInternalFormat(),{context:_,pixelFormat:m,dataType:c,isImmutable:u,target:T}=p;if(u&&!this._wasImmutablyAllocated)throw new t(\"Cannot update immutable texture before allocation!\");f(T)||console.warn(\"Attempting to set 3D texture data on a non-3D texture\");const E=_.bindTexture(this,l.TEXTURE_UNIT_FOR_UPDATES);_.setActiveTexture(l.TEXTURE_UNIT_FOR_UPDATES),(i<0||r<0||s<0||i+o>p.width||r+a>p.height||s+n>p.depth)&&console.error(\"An attempt to update out of bounds of the texture!\"),this._configurePixelStorage();const{gl:g}=_;if(M(h))h=h.levels[e],g.compressedTexSubImage3D(T,e,i,r,s,o,a,n,d,h);else{const t=h;g.texSubImage3D(T,e,i,r,s,o,a,n,m,c,t)}_.bindTexture(E,l.TEXTURE_UNIT_FOR_UPDATES)}generateMipmap(){const e=this._descriptor;if(!e.hasMipmap){if(this._wasImmutablyAllocated)throw new t(\"Cannot add mipmaps to immutable texture after allocation\");e.hasMipmap=!0,this._samplingModeDirty=!0,c(e)}e.samplingMode===s.LINEAR?(this._samplingModeDirty=!0,e.samplingMode=s.LINEAR_MIPMAP_NEAREST):e.samplingMode===s.NEAREST&&(this._samplingModeDirty=!0,e.samplingMode=s.NEAREST_MIPMAP_NEAREST);const i=this._descriptor.context.bindTexture(this,l.TEXTURE_UNIT_FOR_UPDATES);this._descriptor.context.setActiveTexture(l.TEXTURE_UNIT_FOR_UPDATES),this._descriptor.context.gl.generateMipmap(e.target),this._descriptor.context.bindTexture(i,l.TEXTURE_UNIT_FOR_UPDATES)}clearMipmap(){const e=this._descriptor;if(e.hasMipmap){if(this._wasImmutablyAllocated)throw new t(\"Cannot delete mipmaps to immutable texture after allocation\");e.hasMipmap=!1,this._samplingModeDirty=!0,c(e)}e.samplingMode===s.LINEAR_MIPMAP_NEAREST?(this._samplingModeDirty=!0,e.samplingMode=s.LINEAR):e.samplingMode===s.NEAREST_MIPMAP_NEAREST&&(this._samplingModeDirty=!0,e.samplingMode=s.NEAREST)}setSamplingMode(t){t!==this._descriptor.samplingMode&&(this._descriptor.samplingMode=t,this._samplingModeDirty=!0)}setWrapMode(t){t!==this._descriptor.wrapMode&&(this._descriptor.wrapMode=t,c(this._descriptor),this._wrapModeDirty=!0)}applyChanges(){const t=this._descriptor,e=t.context.gl;this._samplingModeDirty&&(u(e,t),this._samplingModeDirty=!1),this._wrapModeDirty&&(T(e,t),this._wrapModeDirty=!1)}_deriveInternalFormat(){if(null!=this._descriptor.internalFormat)return this._descriptor.internalFormat===o.DEPTH_STENCIL&&(this._descriptor.internalFormat=o.DEPTH24_STENCIL8),this._descriptor.internalFormat;switch(this._descriptor.dataType){case a.FLOAT:switch(this._descriptor.pixelFormat){case o.RGBA:return this._descriptor.internalFormat=n.RGBA32F;case o.RGB:return this._descriptor.internalFormat=n.RGB32F;default:throw new t(\"Unable to derive format\")}case a.UNSIGNED_BYTE:switch(this._descriptor.pixelFormat){case o.RGBA:return this._descriptor.internalFormat=n.RGBA8;case o.RGB:return this._descriptor.internalFormat=n.RGB8}}return this._descriptor.internalFormat=this._descriptor.pixelFormat===o.DEPTH_STENCIL?o.DEPTH24_STENCIL8:this._descriptor.pixelFormat}_configurePixelStorage(){const t=this._descriptor.context.gl,{unpackAlignment:e,flipped:i,preMultiplyAlpha:r}=this._descriptor;t.pixelStorei(t.UNPACK_ALIGNMENT,e),t.pixelStorei(t.UNPACK_FLIP_Y_WEBGL,i?1:0),t.pixelStorei(t.UNPACK_PREMULTIPLY_ALPHA_WEBGL,r?1:0)}_texStorage(e,i,r,s,o,a){const{gl:n}=this._descriptor.context;if(!g(i))throw new t(\"Immutable textures must have a sized internal format\");if(!this._descriptor.isImmutable)return;const l=r?R(e,s,o,a):1;if(f(e)){if(null==a)throw new t(\"Missing depth dimension for 3D texture upload\");n.texStorage3D(e,l,i,s,o,a)}else n.texStorage2D(e,l,i,s,o);this._wasImmutablyAllocated=!0}_texImage(e,i,r,s,o,a,n){const l=this._descriptor.context.gl,h=f(e),{isImmutable:p,pixelFormat:d,dataType:_}=this._descriptor;if(p){if(null!=n){const r=n;if(h){if(null==a)throw new t(\"Missing depth dimension for 3D texture upload\");l.texSubImage3D(e,i,0,0,0,s,o,a,d,_,r)}else l.texSubImage2D(e,i,0,0,s,o,d,_,r)}}else{const p=n;if(h){if(null==a)throw new t(\"Missing depth dimension for 3D texture upload\");l.texImage3D(e,i,r,s,o,a,0,d,_,p)}else l.texImage2D(e,i,r,s,o,0,d,_,p)}}_compressedTexImage(e,i,r,s,o,a,n){const l=this._descriptor.context.gl,h=f(e);if(this._descriptor.isImmutable){if(null!=n)if(h){if(null==a)throw new t(\"Missing depth dimension for 3D texture upload\");l.compressedTexSubImage3D(e,i,0,0,0,s,o,a,r,n)}else l.compressedTexSubImage2D(e,i,0,0,s,o,r,n)}else if(h){if(null==a)throw new t(\"Missing depth dimension for 3D texture upload\");l.compressedTexImage3D(e,i,r,s,o,a,0,n)}else l.compressedTexImage2D(e,i,r,s,o,0,n)}_forEachMipmapLevel(e,r=1/0){let{width:s,height:o,depth:a,hasMipmap:n,target:l}=this._descriptor;const h=l===i.TEXTURE_3D;if(null==s||null==o||h&&null==a)throw new t(\"Missing texture dimensions for mipmap calculation\");for(let t=0;e(t,s,o,a),n&&(1!==s||1!==o||h&&1!==a)&&!(t>=r);++t)s=Math.max(1,s>>1),o=Math.max(1,o>>1),h&&(a=Math.max(1,a>>1))}};function c(t){(null!=t.width&&t.width<0||null!=t.height&&t.height<0||null!=t.depth&&t.depth<0)&&console.error(\"Negative dimension parameters are not allowed!\")}function u(t,e){let i=e.samplingMode,r=e.samplingMode;i===s.LINEAR_MIPMAP_NEAREST||i===s.LINEAR_MIPMAP_LINEAR?(i=s.LINEAR,e.hasMipmap||(r=s.LINEAR)):i!==s.NEAREST_MIPMAP_NEAREST&&i!==s.NEAREST_MIPMAP_LINEAR||(i=s.NEAREST,e.hasMipmap||(r=s.NEAREST)),t.texParameteri(e.target,t.TEXTURE_MAG_FILTER,i),t.texParameteri(e.target,t.TEXTURE_MIN_FILTER,r)}function T(t,e){\"number\"==typeof e.wrapMode?(t.texParameteri(e.target,t.TEXTURE_WRAP_S,e.wrapMode),t.texParameteri(e.target,t.TEXTURE_WRAP_T,e.wrapMode)):(t.texParameteri(e.target,t.TEXTURE_WRAP_S,e.wrapMode.s),t.texParameteri(e.target,t.TEXTURE_WRAP_T,e.wrapMode.t))}function E(t,e){const i=t.capabilities.textureFilterAnisotropic;if(!i)return;t.gl.texParameterf(e.target,i.TEXTURE_MAX_ANISOTROPY,e.maxAnisotropy??1)}function g(t){return t in n}function x(t){return t in l}function M(t){return null!=t&&\"type\"in t&&\"compressed\"===t.type}function A(t){return null!=t&&\"byteLength\"in t}function I(t){return null!=t&&!M(t)&&!A(t)}function f(t){return t===i.TEXTURE_3D||t===i.TEXTURE_2D_ARRAY}function R(t,e,r,s=1){let o=Math.max(e,r);return t===i.TEXTURE_3D&&(o=Math.max(o,s)),Math.round(Math.log(o)/Math.LN2)+1}m.TEXTURE_UNIT_FOR_UPDATES=0;export{m as Texture,_ as tracer};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{TextureType as t,PixelFormat as i,PixelType as h,TextureSamplingMode as s,TextureWrapMode as a}from\"./enums.js\";import{getBytesPerElementFormat as e}from\"./Util.js\";class p{constructor(e=0,p=e){this.width=e,this.height=p,this.target=t.TEXTURE_2D,this.pixelFormat=i.RGBA,this.dataType=h.UNSIGNED_BYTE,this.samplingMode=s.LINEAR,this.wrapMode=a.REPEAT,this.maxAnisotropy=1,this.flipped=!1,this.hasMipmap=!1,this.isOpaque=!1,this.unpackAlignment=4,this.preMultiplyAlpha=!1,this.depth=1,this.isImmutable=!1}}function r(i){return i.width<=0||i.height<=0?0:Math.round(i.width*i.height*(i.hasMipmap?4/3:1)*(null==i.internalFormat?4:e(i.internalFormat))*(i.target===t.TEXTURE_CUBE_MAP?6:1))}export{p as TextureDescriptor,r as estimateMemory};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport\"../../core/has.js\";import{webglDebugEnabled as e}from\"./checkWebGLError.js\";import{BufferType as r,CompressedTextureFormat as t,SizedPixelFormat as s,RenderbufferFormat as a,PixelFormat as c}from\"./enums.js\";import{getDataTypeBytes as n}from\"./getDataTypeBytes.js\";function o(e){const r=e.gl;switch(r.getError()){case r.NO_ERROR:return null;case r.INVALID_ENUM:return\"An unacceptable value has been specified for an enumerated argument\";case r.INVALID_VALUE:return\"An unacceptable value has been specified for an argument\";case r.INVALID_OPERATION:return\"The specified command is not allowed for the current state\";case r.INVALID_FRAMEBUFFER_OPERATION:return\"The currently bound framebuffer is not framebuffer complete\";case r.OUT_OF_MEMORY:return\"Not enough memory is left to execute the command\";case r.CONTEXT_LOST_WEBGL:return\"WebGL context is lost\"}return\"Unknown error\"}function i(e,r){return(e.vertexBuffers.get(r)?.usedMemory??0)/R(e.layout.get(r))}function R(e){return e[0].stride}function E(r,t,s,a,c=0){const i=r.gl;r.bindBuffer(s);for(const R of a){const s=t.get(R.name);if(null==s){console.warn(`There is no location for vertex attribute '${R.name}' defined.`);continue}const a=c*R.stride;if(R.count<=4)i.vertexAttribPointer(s,R.count,R.type,R.normalized,R.stride,R.offset+a),i.enableVertexAttribArray(s),R.divisor>0&&r.gl.vertexAttribDivisor(s,R.divisor);else if(9===R.count)for(let e=0;e<3;e++)i.vertexAttribPointer(s+e,3,R.type,R.normalized,R.stride,R.offset+12*e+a),i.enableVertexAttribArray(s+e),R.divisor>0&&r.gl.vertexAttribDivisor(s+e,R.divisor);else if(16===R.count)for(let e=0;e<4;e++)i.vertexAttribPointer(s+e,4,R.type,R.normalized,R.stride,R.offset+16*e+a),i.enableVertexAttribArray(s+e),R.divisor>0&&r.gl?.vertexAttribDivisor(s+e,R.divisor);else console.error(\"Unsupported vertex attribute element count: \"+R.count);if(e()){const e=o(r),t=n(R.type),s=R.offset,c=Math.round(t/s)!==t/s?`. Offset not a multiple of stride. DataType requires ${t} bytes, but descriptor has an offset of ${s}`:\"\";e&&console.error(`Unable to bind vertex attribute \"${R.name}\" with baseInstanceOffset ${a}${c}:`,e,R)}}}function _(e,t,s,a){const c=e.gl;e.bindBuffer(s);for(const r of a){const s=t.get(r.name);if(r.count<=4)c.disableVertexAttribArray(s),r.divisor&&r.divisor>0&&e.gl?.vertexAttribDivisor(s,0);else if(9===r.count)for(let t=0;t<3;t++)c.disableVertexAttribArray(s+t),r.divisor&&r.divisor>0&&e.gl?.vertexAttribDivisor(s+t,0);else if(16===r.count)for(let t=0;t<4;t++)c.disableVertexAttribArray(s+t),r.divisor&&r.divisor>0&&e.gl?.vertexAttribDivisor(s+t,0);else console.error(\"Unsupported vertex attribute element count: \"+r.count)}e.unbindBuffer(r.ARRAY_BUFFER)}function u(e){switch(e){case c.ALPHA:case c.LUMINANCE:case c.RED:case c.RED_INTEGER:case s.R8:case s.R8I:case s.R8UI:case s.R8_SNORM:case a.STENCIL_INDEX8:return 1;case c.LUMINANCE_ALPHA:case c.RG:case c.RG_INTEGER:case s.RGBA4:case s.R16F:case s.R16I:case s.R16UI:case s.RG8:case s.RG8I:case s.RG8UI:case s.RG8_SNORM:case s.RGB565:case s.RGB5_A1:case a.DEPTH_COMPONENT16:return 2;case c.DEPTH_COMPONENT:case c.RGB:case c.RGB_INTEGER:case s.RGB8:case s.RGB8I:case s.RGB8UI:case s.RGB8_SNORM:case s.SRGB8:case a.DEPTH_COMPONENT24:return 3;case c.DEPTH_STENCIL:case c.DEPTH24_STENCIL8:case c.RGBA:case c.RGBA_INTEGER:case s.RGBA8:case s.R32F:case s.R11F_G11F_B10F:case s.RG16F:case s.R32I:case s.R32UI:case s.RG16I:case s.RG16UI:case s.RGBA8I:case s.RGBA8UI:case s.RGBA8_SNORM:case s.SRGB8_ALPHA8:case s.RGB9_E5:case s.RGB10_A2UI:case s.RGB10_A2:case a.DEPTH_STENCIL:case a.DEPTH_COMPONENT32F:case a.DEPTH24_STENCIL8:return 4;case a.DEPTH32F_STENCIL8:return 5;case s.RGB16F:case s.RGB16I:case s.RGB16UI:return 6;case s.RG32F:case s.RG32I:case s.RG32UI:case s.RGBA16F:case s.RGBA16I:case s.RGBA16UI:return 8;case s.RGB32F:case s.RGB32I:case s.RGB32UI:return 12;case s.RGBA32F:case s.RGBA32I:case s.RGBA32UI:return 16;case t.COMPRESSED_RGB_S3TC_DXT1_EXT:case t.COMPRESSED_RGBA_S3TC_DXT1_EXT:return.5;case t.COMPRESSED_RGBA_S3TC_DXT3_EXT:case t.COMPRESSED_RGBA_S3TC_DXT5_EXT:return 1;case t.COMPRESSED_R11_EAC:case t.COMPRESSED_SIGNED_R11_EAC:case t.COMPRESSED_RGB8_ETC2:case t.COMPRESSED_SRGB8_ETC2:case t.COMPRESSED_RGB8_PUNCHTHROUGH_ALPHA1_ETC2:case t.COMPRESSED_SRGB8_PUNCHTHROUGH_ALPHA1_ETC2:return.5;case t.COMPRESSED_RG11_EAC:case t.COMPRESSED_SIGNED_RG11_EAC:case t.COMPRESSED_RGBA8_ETC2_EAC:case t.COMPRESSED_SRGB8_ALPHA8_ETC2_EAC:return 1}return 0}export{E as bindVertexBufferLayout,u as getBytesPerElementFormat,o as getErrorString,R as getStride,_ as unbindVertexBufferLayout,i as vertexCount};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{SizedPixelFormat as s,PixelFormat as e}from\"./enums.js\";import{TextureDescriptor as t}from\"./TextureDescriptor.js\";class a extends t{constructor(t,a){switch(super(),this.context=t,Object.assign(this,a),this.internalFormat){case s.R16F:case s.R16I:case s.R16UI:case s.R32F:case s.R32I:case s.R32UI:case s.R8_SNORM:case s.R8:case s.R8I:case s.R8UI:this.pixelFormat=e.RED}}static validate(s,e){return new a(s,e)}}export{a as ValidatedTextureDescriptor};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nlet e;function t(){return e||(e=l()),e}class r{constructor(){this.available=!1,this.majorPerformanceCaveat=!1,this.maxTextureSize=0,this.supportsVertexShaderSamplers=!1,this.supportsHighPrecisionFragment=!1,this.supportsColorBufferFloat=!1,this.supportsColorBufferFloatBlend=!1,this.supportsColorBufferHalfFloat=!1}}function o(e){if(\"undefined\"==typeof WebGL2RenderingContext)return null;const t=document.createElement(\"canvas\");if(!t)return null;let r=t.getContext(\"webgl2\",{failIfMajorPerformanceCaveat:!0});if(null==r&&(r=t.getContext(\"webgl2\"),null!=r&&(e.majorPerformanceCaveat=!0)),null==r)return r;e.available=!0,e.maxTextureSize=r.getParameter(r.MAX_TEXTURE_SIZE),e.supportsVertexShaderSamplers=r.getParameter(r.MAX_VERTEX_TEXTURE_IMAGE_UNITS)>0;const o=r.getShaderPrecisionFormat(r.FRAGMENT_SHADER,r.HIGH_FLOAT);return o&&(e.supportsHighPrecisionFragment=o.precision>0),r}function l(){const e=new r,t=o(e);return null==t||(e.supportsColorBufferFloat=null!==t.getExtension(\"EXT_color_buffer_float\"),e.supportsColorBufferFloatBlend=null!==t.getExtension(\"EXT_float_blend\"),e.supportsColorBufferHalfFloat=e.supportsColorBufferFloat||null!==t.getExtension(\"EXT_color_buffer_half_float\")),e}export{t as getWebGLCapabilities};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport e from\"../../core/Error.js\";import has from\"../../core/has.js\";import r from\"../../core/Logger.js\";const o=()=>r.getLogger(\"esri.views.webgl.checkWebGLError\");function t(e,r){switch(r){case e.INVALID_ENUM:return\"Invalid Enum. An unacceptable value has been specified for an enumerated argument.\";case e.INVALID_VALUE:return\"Invalid Value. A numeric argument is out of range.\";case e.INVALID_OPERATION:return\"Invalid Operation. The specified command is not allowed for the current state.\";case e.INVALID_FRAMEBUFFER_OPERATION:return\"Invalid Framebuffer operation. The currently bound framebuffer is not framebuffer complete when trying to render to or to read from it.\";case e.OUT_OF_MEMORY:return\"Out of memory. Not enough memory is left to execute the command.\";case e.CONTEXT_LOST_WEBGL:return\"WebGL context has been lost\";default:return\"Unknown error\"}}const n=!!has(\"enable-feature:webgl-debug\");function a(){return n}function c(){return n}function u(r){if(a()){const n=r.getError();if(n){const a=t(r,n),c=(new Error).stack;o().error(new e(\"webgl-error\",\"WebGL error occurred\",{message:a,stack:c}))}}}export{u as checkWebGLError,n as hasFeatureFlagWebGLDebug,a as webglDebugEnabled,c as webglValidateShadersEnabled};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nvar _,E,R,T,A,N,S,C,O,I,L,D,M,G,P,U,B,F,H,n;!function(_){_[_.DEPTH=256]=\"DEPTH\",_[_.STENCIL=1024]=\"STENCIL\",_[_.COLOR=16384]=\"COLOR\"}(_||(_={})),function(_){_[_.POINTS=0]=\"POINTS\",_[_.LINES=1]=\"LINES\",_[_.LINE_LOOP=2]=\"LINE_LOOP\",_[_.LINE_STRIP=3]=\"LINE_STRIP\",_[_.TRIANGLES=4]=\"TRIANGLES\",_[_.TRIANGLE_STRIP=5]=\"TRIANGLE_STRIP\",_[_.TRIANGLE_FAN=6]=\"TRIANGLE_FAN\"}(E||(E={})),function(_){_[_.ZERO=0]=\"ZERO\",_[_.ONE=1]=\"ONE\",_[_.SRC_COLOR=768]=\"SRC_COLOR\",_[_.ONE_MINUS_SRC_COLOR=769]=\"ONE_MINUS_SRC_COLOR\",_[_.SRC_ALPHA=770]=\"SRC_ALPHA\",_[_.ONE_MINUS_SRC_ALPHA=771]=\"ONE_MINUS_SRC_ALPHA\",_[_.DST_ALPHA=772]=\"DST_ALPHA\",_[_.ONE_MINUS_DST_ALPHA=773]=\"ONE_MINUS_DST_ALPHA\",_[_.DST_COLOR=774]=\"DST_COLOR\",_[_.ONE_MINUS_DST_COLOR=775]=\"ONE_MINUS_DST_COLOR\",_[_.SRC_ALPHA_SATURATE=776]=\"SRC_ALPHA_SATURATE\",_[_.CONSTANT_COLOR=32769]=\"CONSTANT_COLOR\",_[_.ONE_MINUS_CONSTANT_COLOR=32770]=\"ONE_MINUS_CONSTANT_COLOR\",_[_.CONSTANT_ALPHA=32771]=\"CONSTANT_ALPHA\",_[_.ONE_MINUS_CONSTANT_ALPHA=32772]=\"ONE_MINUS_CONSTANT_ALPHA\"}(R||(R={})),function(_){_[_.ADD=32774]=\"ADD\",_[_.MIN=32775]=\"MIN\",_[_.MAX=32776]=\"MAX\",_[_.SUBTRACT=32778]=\"SUBTRACT\",_[_.REVERSE_SUBTRACT=32779]=\"REVERSE_SUBTRACT\"}(T||(T={})),function(_){_[_.ARRAY_BUFFER=34962]=\"ARRAY_BUFFER\",_[_.ELEMENT_ARRAY_BUFFER=34963]=\"ELEMENT_ARRAY_BUFFER\",_[_.UNIFORM_BUFFER=35345]=\"UNIFORM_BUFFER\",_[_.PIXEL_PACK_BUFFER=35051]=\"PIXEL_PACK_BUFFER\",_[_.PIXEL_UNPACK_BUFFER=35052]=\"PIXEL_UNPACK_BUFFER\",_[_.COPY_READ_BUFFER=36662]=\"COPY_READ_BUFFER\",_[_.COPY_WRITE_BUFFER=36663]=\"COPY_WRITE_BUFFER\",_[_.TRANSFORM_FEEDBACK_BUFFER=35982]=\"TRANSFORM_FEEDBACK_BUFFER\"}(A||(A={})),function(_){_[_.FRONT=1028]=\"FRONT\",_[_.BACK=1029]=\"BACK\",_[_.FRONT_AND_BACK=1032]=\"FRONT_AND_BACK\"}(N||(N={})),function(_){_[_.CW=2304]=\"CW\",_[_.CCW=2305]=\"CCW\"}(S||(S={})),function(_){_[_.BYTE=5120]=\"BYTE\",_[_.UNSIGNED_BYTE=5121]=\"UNSIGNED_BYTE\",_[_.SHORT=5122]=\"SHORT\",_[_.UNSIGNED_SHORT=5123]=\"UNSIGNED_SHORT\",_[_.INT=5124]=\"INT\",_[_.UNSIGNED_INT=5125]=\"UNSIGNED_INT\",_[_.FLOAT=5126]=\"FLOAT\",_[_.HALF_FLOAT=5131]=\"HALF_FLOAT\"}(C||(C={})),function(_){_[_.NEVER=512]=\"NEVER\",_[_.LESS=513]=\"LESS\",_[_.EQUAL=514]=\"EQUAL\",_[_.LEQUAL=515]=\"LEQUAL\",_[_.GREATER=516]=\"GREATER\",_[_.NOTEQUAL=517]=\"NOTEQUAL\",_[_.GEQUAL=518]=\"GEQUAL\",_[_.ALWAYS=519]=\"ALWAYS\"}(O||(O={})),function(_){_[_.ZERO=0]=\"ZERO\",_[_.KEEP=7680]=\"KEEP\",_[_.REPLACE=7681]=\"REPLACE\",_[_.INCR=7682]=\"INCR\",_[_.DECR=7683]=\"DECR\",_[_.INVERT=5386]=\"INVERT\",_[_.INCR_WRAP=34055]=\"INCR_WRAP\",_[_.DECR_WRAP=34056]=\"DECR_WRAP\"}(I||(I={})),function(_){_[_.NEAREST=9728]=\"NEAREST\",_[_.LINEAR=9729]=\"LINEAR\",_[_.NEAREST_MIPMAP_NEAREST=9984]=\"NEAREST_MIPMAP_NEAREST\",_[_.LINEAR_MIPMAP_NEAREST=9985]=\"LINEAR_MIPMAP_NEAREST\",_[_.NEAREST_MIPMAP_LINEAR=9986]=\"NEAREST_MIPMAP_LINEAR\",_[_.LINEAR_MIPMAP_LINEAR=9987]=\"LINEAR_MIPMAP_LINEAR\"}(L||(L={})),function(_){_[_.CLAMP_TO_EDGE=33071]=\"CLAMP_TO_EDGE\",_[_.REPEAT=10497]=\"REPEAT\",_[_.MIRRORED_REPEAT=33648]=\"MIRRORED_REPEAT\"}(D||(D={})),function(_){_[_.TEXTURE_2D=3553]=\"TEXTURE_2D\",_[_.TEXTURE_CUBE_MAP=34067]=\"TEXTURE_CUBE_MAP\",_[_.TEXTURE_3D=32879]=\"TEXTURE_3D\",_[_.TEXTURE_CUBE_MAP_POSITIVE_X=34069]=\"TEXTURE_CUBE_MAP_POSITIVE_X\",_[_.TEXTURE_CUBE_MAP_NEGATIVE_X=34070]=\"TEXTURE_CUBE_MAP_NEGATIVE_X\",_[_.TEXTURE_CUBE_MAP_POSITIVE_Y=34071]=\"TEXTURE_CUBE_MAP_POSITIVE_Y\",_[_.TEXTURE_CUBE_MAP_NEGATIVE_Y=34072]=\"TEXTURE_CUBE_MAP_NEGATIVE_Y\",_[_.TEXTURE_CUBE_MAP_POSITIVE_Z=34073]=\"TEXTURE_CUBE_MAP_POSITIVE_Z\",_[_.TEXTURE_CUBE_MAP_NEGATIVE_Z=34074]=\"TEXTURE_CUBE_MAP_NEGATIVE_Z\",_[_.TEXTURE_2D_ARRAY=35866]=\"TEXTURE_2D_ARRAY\"}(M||(M={})),function(_){_[_.DEPTH_COMPONENT=6402]=\"DEPTH_COMPONENT\",_[_.DEPTH_STENCIL=34041]=\"DEPTH_STENCIL\",_[_.DEPTH24_STENCIL8=35056]=\"DEPTH24_STENCIL8\",_[_.ALPHA=6406]=\"ALPHA\",_[_.RGB=6407]=\"RGB\",_[_.RGBA=6408]=\"RGBA\",_[_.LUMINANCE=6409]=\"LUMINANCE\",_[_.LUMINANCE_ALPHA=6410]=\"LUMINANCE_ALPHA\",_[_.RED=6403]=\"RED\",_[_.RG=33319]=\"RG\",_[_.RED_INTEGER=36244]=\"RED_INTEGER\",_[_.RG_INTEGER=33320]=\"RG_INTEGER\",_[_.RGB_INTEGER=36248]=\"RGB_INTEGER\",_[_.RGBA_INTEGER=36249]=\"RGBA_INTEGER\"}(G||(G={})),function(_){_[_.RGBA4=32854]=\"RGBA4\",_[_.R16F=33325]=\"R16F\",_[_.RG16F=33327]=\"RG16F\",_[_.RGB32F=34837]=\"RGB32F\",_[_.RGBA16F=34842]=\"RGBA16F\",_[_.R32F=33326]=\"R32F\",_[_.RG32F=33328]=\"RG32F\",_[_.RGBA32F=34836]=\"RGBA32F\",_[_.R11F_G11F_B10F=35898]=\"R11F_G11F_B10F\",_[_.RGB8=32849]=\"RGB8\",_[_.RGBA8=32856]=\"RGBA8\",_[_.RGB5_A1=32855]=\"RGB5_A1\",_[_.R8=33321]=\"R8\",_[_.RG8=33323]=\"RG8\",_[_.R8I=33329]=\"R8I\",_[_.R8UI=33330]=\"R8UI\",_[_.R16I=33331]=\"R16I\",_[_.R16UI=33332]=\"R16UI\",_[_.R32I=33333]=\"R32I\",_[_.R32UI=33334]=\"R32UI\",_[_.RG8I=33335]=\"RG8I\",_[_.RG8UI=33336]=\"RG8UI\",_[_.RG16I=33337]=\"RG16I\",_[_.RG16UI=33338]=\"RG16UI\",_[_.RG32I=33339]=\"RG32I\",_[_.RG32UI=33340]=\"RG32UI\",_[_.RGB16F=34843]=\"RGB16F\",_[_.RGB9_E5=35901]=\"RGB9_E5\",_[_.SRGB8=35905]=\"SRGB8\",_[_.SRGB8_ALPHA8=35907]=\"SRGB8_ALPHA8\",_[_.RGB565=36194]=\"RGB565\",_[_.RGBA32UI=36208]=\"RGBA32UI\",_[_.RGB32UI=36209]=\"RGB32UI\",_[_.RGBA16UI=36214]=\"RGBA16UI\",_[_.RGB16UI=36215]=\"RGB16UI\",_[_.RGBA8UI=36220]=\"RGBA8UI\",_[_.RGB8UI=36221]=\"RGB8UI\",_[_.RGBA32I=36226]=\"RGBA32I\",_[_.RGB32I=36227]=\"RGB32I\",_[_.RGBA16I=36232]=\"RGBA16I\",_[_.RGB16I=36233]=\"RGB16I\",_[_.RGBA8I=36238]=\"RGBA8I\",_[_.RGB8I=36239]=\"RGB8I\",_[_.R8_SNORM=36756]=\"R8_SNORM\",_[_.RG8_SNORM=36757]=\"RG8_SNORM\",_[_.RGB8_SNORM=36758]=\"RGB8_SNORM\",_[_.RGBA8_SNORM=36759]=\"RGBA8_SNORM\",_[_.RGB10_A2=32857]=\"RGB10_A2\",_[_.RGB10_A2UI=36975]=\"RGB10_A2UI\"}(P||(P={})),function(_){_[_.FLOAT=5126]=\"FLOAT\",_[_.UNSIGNED_BYTE=5121]=\"UNSIGNED_BYTE\",_[_.UNSIGNED_INT_24_8=34042]=\"UNSIGNED_INT_24_8\",_[_.UNSIGNED_SHORT_4_4_4_4=32819]=\"UNSIGNED_SHORT_4_4_4_4\",_[_.UNSIGNED_SHORT_5_5_5_1=32820]=\"UNSIGNED_SHORT_5_5_5_1\",_[_.UNSIGNED_SHORT_5_6_5=33635]=\"UNSIGNED_SHORT_5_6_5\",_[_.BYTE=5120]=\"BYTE\",_[_.UNSIGNED_SHORT=5123]=\"UNSIGNED_SHORT\",_[_.SHORT=5122]=\"SHORT\",_[_.UNSIGNED_INT=5125]=\"UNSIGNED_INT\",_[_.INT=5124]=\"INT\",_[_.HALF_FLOAT=5131]=\"HALF_FLOAT\",_[_.UNSIGNED_INT_2_10_10_10_REV=33640]=\"UNSIGNED_INT_2_10_10_10_REV\",_[_.UNSIGNED_INT_10F_11F_11F_REV=35899]=\"UNSIGNED_INT_10F_11F_11F_REV\",_[_.UNSIGNED_INT_5_9_9_9_REV=35902]=\"UNSIGNED_INT_5_9_9_9_REV\",_[_.FLOAT_32_UNSIGNED_INT_24_8_REV=36269]=\"FLOAT_32_UNSIGNED_INT_24_8_REV\"}(U||(U={})),function(_){_[_.DEPTH_COMPONENT16=33189]=\"DEPTH_COMPONENT16\",_[_.STENCIL_INDEX8=36168]=\"STENCIL_INDEX8\",_[_.DEPTH_STENCIL=34041]=\"DEPTH_STENCIL\",_[_.DEPTH_COMPONENT24=33190]=\"DEPTH_COMPONENT24\",_[_.DEPTH_COMPONENT32F=36012]=\"DEPTH_COMPONENT32F\",_[_.DEPTH24_STENCIL8=35056]=\"DEPTH24_STENCIL8\",_[_.DEPTH32F_STENCIL8=36013]=\"DEPTH32F_STENCIL8\"}(B||(B={})),function(_){_[_.STATIC_DRAW=35044]=\"STATIC_DRAW\",_[_.DYNAMIC_DRAW=35048]=\"DYNAMIC_DRAW\",_[_.STREAM_DRAW=35040]=\"STREAM_DRAW\",_[_.STATIC_READ=35045]=\"STATIC_READ\",_[_.DYNAMIC_READ=35049]=\"DYNAMIC_READ\",_[_.STREAM_READ=35041]=\"STREAM_READ\",_[_.STATIC_COPY=35046]=\"STATIC_COPY\",_[_.DYNAMIC_COPY=35050]=\"DYNAMIC_COPY\",_[_.STREAM_COPY=35042]=\"STREAM_COPY\"}(F||(F={})),function(_){_[_.FRAGMENT_SHADER=35632]=\"FRAGMENT_SHADER\",_[_.VERTEX_SHADER=35633]=\"VERTEX_SHADER\"}(H||(H={})),function(_){_[_.FRAMEBUFFER=36160]=\"FRAMEBUFFER\",_[_.READ_FRAMEBUFFER=36008]=\"READ_FRAMEBUFFER\",_[_.DRAW_FRAMEBUFFER=36009]=\"DRAW_FRAMEBUFFER\"}(n||(n={}));const Y=33984;var V,X,f;!function(_){_[_.Texture=0]=\"Texture\",_[_.BufferObject=1]=\"BufferObject\",_[_.VertexArrayObject=2]=\"VertexArrayObject\",_[_.Shader=3]=\"Shader\",_[_.Program=4]=\"Program\",_[_.FramebufferObject=5]=\"FramebufferObject\",_[_.Renderbuffer=6]=\"Renderbuffer\",_[_.TransformFeedback=7]=\"TransformFeedback\",_[_.Sync=8]=\"Sync\",_[_.UNCOUNTED=9]=\"UNCOUNTED\",_[_.LinesOfCode=9]=\"LinesOfCode\",_[_.Uniform=10]=\"Uniform\",_[_.COUNT=11]=\"COUNT\"}(V||(V={})),function(_){_[_.COLOR_ATTACHMENT0=36064]=\"COLOR_ATTACHMENT0\",_[_.COLOR_ATTACHMENT1=36065]=\"COLOR_ATTACHMENT1\",_[_.COLOR_ATTACHMENT2=36066]=\"COLOR_ATTACHMENT2\",_[_.COLOR_ATTACHMENT3=36067]=\"COLOR_ATTACHMENT3\",_[_.COLOR_ATTACHMENT4=36068]=\"COLOR_ATTACHMENT4\",_[_.COLOR_ATTACHMENT5=36069]=\"COLOR_ATTACHMENT5\",_[_.COLOR_ATTACHMENT6=36070]=\"COLOR_ATTACHMENT6\",_[_.COLOR_ATTACHMENT7=36071]=\"COLOR_ATTACHMENT7\",_[_.COLOR_ATTACHMENT8=36072]=\"COLOR_ATTACHMENT8\",_[_.COLOR_ATTACHMENT9=36073]=\"COLOR_ATTACHMENT9\",_[_.COLOR_ATTACHMENT10=36074]=\"COLOR_ATTACHMENT10\",_[_.COLOR_ATTACHMENT11=36075]=\"COLOR_ATTACHMENT11\",_[_.COLOR_ATTACHMENT12=36076]=\"COLOR_ATTACHMENT12\",_[_.COLOR_ATTACHMENT13=36077]=\"COLOR_ATTACHMENT13\",_[_.COLOR_ATTACHMENT14=36078]=\"COLOR_ATTACHMENT14\",_[_.COLOR_ATTACHMENT15=36079]=\"COLOR_ATTACHMENT15\"}(X||(X={})),function(_){_[_.NONE=0]=\"NONE\",_[_.BACK=1029]=\"BACK\"}(f||(f={}));const t=33306;var c,o,u,e,i,r,W;!function(_){_[_.COMPRESSED_RGB_S3TC_DXT1_EXT=33776]=\"COMPRESSED_RGB_S3TC_DXT1_EXT\",_[_.COMPRESSED_RGBA_S3TC_DXT1_EXT=33777]=\"COMPRESSED_RGBA_S3TC_DXT1_EXT\",_[_.COMPRESSED_RGBA_S3TC_DXT3_EXT=33778]=\"COMPRESSED_RGBA_S3TC_DXT3_EXT\",_[_.COMPRESSED_RGBA_S3TC_DXT5_EXT=33779]=\"COMPRESSED_RGBA_S3TC_DXT5_EXT\",_[_.COMPRESSED_R11_EAC=37488]=\"COMPRESSED_R11_EAC\",_[_.COMPRESSED_SIGNED_R11_EAC=37489]=\"COMPRESSED_SIGNED_R11_EAC\",_[_.COMPRESSED_RG11_EAC=37490]=\"COMPRESSED_RG11_EAC\",_[_.COMPRESSED_SIGNED_RG11_EAC=37491]=\"COMPRESSED_SIGNED_RG11_EAC\",_[_.COMPRESSED_RGB8_ETC2=37492]=\"COMPRESSED_RGB8_ETC2\",_[_.COMPRESSED_SRGB8_ETC2=37493]=\"COMPRESSED_SRGB8_ETC2\",_[_.COMPRESSED_RGB8_PUNCHTHROUGH_ALPHA1_ETC2=37494]=\"COMPRESSED_RGB8_PUNCHTHROUGH_ALPHA1_ETC2\",_[_.COMPRESSED_SRGB8_PUNCHTHROUGH_ALPHA1_ETC2=37495]=\"COMPRESSED_SRGB8_PUNCHTHROUGH_ALPHA1_ETC2\",_[_.COMPRESSED_RGBA8_ETC2_EAC=37496]=\"COMPRESSED_RGBA8_ETC2_EAC\",_[_.COMPRESSED_SRGB8_ALPHA8_ETC2_EAC=37497]=\"COMPRESSED_SRGB8_ALPHA8_ETC2_EAC\"}(c||(c={})),function(_){_[_.FLOAT=5126]=\"FLOAT\",_[_.FLOAT_VEC2=35664]=\"FLOAT_VEC2\",_[_.FLOAT_VEC3=35665]=\"FLOAT_VEC3\",_[_.FLOAT_VEC4=35666]=\"FLOAT_VEC4\",_[_.INT=5124]=\"INT\",_[_.INT_VEC2=35667]=\"INT_VEC2\",_[_.INT_VEC3=35668]=\"INT_VEC3\",_[_.INT_VEC4=35669]=\"INT_VEC4\",_[_.BOOL=35670]=\"BOOL\",_[_.BOOL_VEC2=35671]=\"BOOL_VEC2\",_[_.BOOL_VEC3=35672]=\"BOOL_VEC3\",_[_.BOOL_VEC4=35673]=\"BOOL_VEC4\",_[_.FLOAT_MAT2=35674]=\"FLOAT_MAT2\",_[_.FLOAT_MAT3=35675]=\"FLOAT_MAT3\",_[_.FLOAT_MAT4=35676]=\"FLOAT_MAT4\",_[_.SAMPLER_2D=35678]=\"SAMPLER_2D\",_[_.SAMPLER_CUBE=35680]=\"SAMPLER_CUBE\",_[_.UNSIGNED_INT=5125]=\"UNSIGNED_INT\",_[_.UNSIGNED_INT_VEC2=36294]=\"UNSIGNED_INT_VEC2\",_[_.UNSIGNED_INT_VEC3=36295]=\"UNSIGNED_INT_VEC3\",_[_.UNSIGNED_INT_VEC4=36296]=\"UNSIGNED_INT_VEC4\",_[_.FLOAT_MAT2x3=35685]=\"FLOAT_MAT2x3\",_[_.FLOAT_MAT2x4=35686]=\"FLOAT_MAT2x4\",_[_.FLOAT_MAT3x2=35687]=\"FLOAT_MAT3x2\",_[_.FLOAT_MAT3x4=35688]=\"FLOAT_MAT3x4\",_[_.FLOAT_MAT4x2=35689]=\"FLOAT_MAT4x2\",_[_.FLOAT_MAT4x3=35690]=\"FLOAT_MAT4x3\",_[_.SAMPLER_3D=35679]=\"SAMPLER_3D\",_[_.SAMPLER_2D_SHADOW=35682]=\"SAMPLER_2D_SHADOW\",_[_.SAMPLER_2D_ARRAY=36289]=\"SAMPLER_2D_ARRAY\",_[_.SAMPLER_2D_ARRAY_SHADOW=36292]=\"SAMPLER_2D_ARRAY_SHADOW\",_[_.SAMPLER_CUBE_SHADOW=36293]=\"SAMPLER_CUBE_SHADOW\",_[_.INT_SAMPLER_2D=36298]=\"INT_SAMPLER_2D\",_[_.INT_SAMPLER_3D=36299]=\"INT_SAMPLER_3D\",_[_.INT_SAMPLER_CUBE=36300]=\"INT_SAMPLER_CUBE\",_[_.INT_SAMPLER_2D_ARRAY=36303]=\"INT_SAMPLER_2D_ARRAY\",_[_.UNSIGNED_INT_SAMPLER_2D=36306]=\"UNSIGNED_INT_SAMPLER_2D\",_[_.UNSIGNED_INT_SAMPLER_3D=36307]=\"UNSIGNED_INT_SAMPLER_3D\",_[_.UNSIGNED_INT_SAMPLER_CUBE=36308]=\"UNSIGNED_INT_SAMPLER_CUBE\",_[_.UNSIGNED_INT_SAMPLER_2D_ARRAY=36311]=\"UNSIGNED_INT_SAMPLER_2D_ARRAY\"}(o||(o={})),function(_){_[_.OBJECT_TYPE=37138]=\"OBJECT_TYPE\",_[_.SYNC_CONDITION=37139]=\"SYNC_CONDITION\",_[_.SYNC_STATUS=37140]=\"SYNC_STATUS\",_[_.SYNC_FLAGS=37141]=\"SYNC_FLAGS\"}(u||(u={})),function(_){_[_.UNSIGNALED=37144]=\"UNSIGNALED\",_[_.SIGNALED=37145]=\"SIGNALED\"}(e||(e={})),function(_){_[_.ALREADY_SIGNALED=37146]=\"ALREADY_SIGNALED\",_[_.TIMEOUT_EXPIRED=37147]=\"TIMEOUT_EXPIRED\",_[_.CONDITION_SATISFIED=37148]=\"CONDITION_SATISFIED\",_[_.WAIT_FAILED=37149]=\"WAIT_FAILED\"}(i||(i={})),function(_){_[_.SYNC_GPU_COMMANDS_COMPLETE=37143]=\"SYNC_GPU_COMMANDS_COMPLETE\"}(r||(r={})),function(_){_[_.SYNC_FLUSH_COMMANDS_BIT=1]=\"SYNC_FLUSH_COMMANDS_BIT\"}(W||(W={}));export{R as BlendFactor,T as BlendOperation,A as BufferType,i as ClientWaitSyncStatus,X as ColorAttachment,O as CompareFunction,c as CompressedTextureFormat,S as CullMode,C as DataType,t as DepthStencilAttachment,N as Face,_ as FramebufferBit,n as FramebufferTarget,G as PixelFormat,U as PixelType,E as PrimitiveType,B as RenderbufferFormat,V as ResourceType,H as ShaderType,P as SizedPixelFormat,f as SpecialDrawBuffers,I as StencilOperation,r as SyncCondition,W as SyncFlag,u as SyncParameter,e as SyncStatus,L as TextureSamplingMode,M as TextureType,D as TextureWrapMode,o as UniformType,F as Usage,Y as baseTextureUnit};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{DataType as e}from\"./enums.js\";function s(s){switch(s){case e.BYTE:case e.UNSIGNED_BYTE:return 1;case e.SHORT:case e.UNSIGNED_SHORT:case e.HALF_FLOAT:return 2;case e.FLOAT:case e.INT:case e.UNSIGNED_INT:return 4}}export{s as getDataTypeBytes};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{_ as r}from\"../chunks/tslib.es6.js\";import{ClonableMixin as o}from\"../core/Clonable.js\";import{JSONSupport as s}from\"../core/JSONSupport.js\";import{property as e}from\"../core/accessorSupport/decorators/property.js\";import\"../core/has.js\";import\"../core/Logger.js\";import\"../core/RandomLCG.js\";import{subclass as t}from\"../core/accessorSupport/decorators/subclass.js\";import{types as p}from\"./geotriggersInfo/support/geotriggerTypes.js\";let i=class extends(o(s)){constructor(r){super(r),this.geotriggers=null}};r([e({types:[p],json:{write:{isRequired:!0}}})],i.prototype,\"geotriggers\",void 0),i=r([t(\"esri.webdoc.GeotriggersInfo\")],i);const c=i;export{c as default};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{_ as o}from\"../chunks/tslib.es6.js\";import{ClonableMixin as r}from\"../core/Clonable.js\";import{JSONSupport as s}from\"../core/JSONSupport.js\";import{property as e}from\"../core/accessorSupport/decorators/property.js\";import\"../core/has.js\";import\"../core/Logger.js\";import\"../core/RandomLCG.js\";import{subclass as t}from\"../core/accessorSupport/decorators/subclass.js\";import i from\"./ips/PositioningService.js\";let p=class extends(r(s)){constructor(o){super(o),this.positioningService=null}};o([e({type:i,json:{write:{isRequired:!0}}})],p.prototype,\"positioningService\",void 0),p=o([t(\"esri.webdoc.IPSInfo\")],p);const c=p;export{c as default};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{_ as e}from\"../chunks/tslib.es6.js\";import{JSONSupport as t}from\"../core/JSONSupport.js\";import{clone as r}from\"../core/lang.js\";import{property as o}from\"../core/accessorSupport/decorators/property.js\";import\"../core/has.js\";import\"../core/Logger.js\";import{subclass as n}from\"../core/accessorSupport/decorators/subclass.js\";var s;let a=s=class extends t{constructor(e){super(e),this.activeRange=null,this.currentRangeExtent=null,this.fullRangeExtent=null}clone(){return new s(r({activeRange:this.activeRange,currentRangeExtent:this.currentRangeExtent,fullRangeExtent:this.fullRangeExtent}))}};e([o({type:String,nonNullable:!0,json:{read:{source:\"activeRangeName\"},write:{target:\"activeRangeName\",isRequired:!0}}})],a.prototype,\"activeRange\",void 0),e([o({type:[Number],json:{write:!0}})],a.prototype,\"currentRangeExtent\",void 0),e([o({type:[Number],json:{write:!0}})],a.prototype,\"fullRangeExtent\",void 0),a=s=e([n(\"esri.webdoc.RangeInfo\")],a);const c=a;export{c as default};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{_ as r}from\"../chunks/tslib.es6.js\";import{JSONSupport as o}from\"../core/JSONSupport.js\";import{clone as e}from\"../core/lang.js\";import{property as t}from\"../core/accessorSupport/decorators/property.js\";import\"../core/has.js\";import\"../core/Logger.js\";import{subclass as s}from\"../core/accessorSupport/decorators/subclass.js\";import i from\"./widgets/FloorFilter.js\";import p from\"./widgets/Range.js\";import l from\"./widgets/TimeSlider.js\";var m;let c=m=class extends o{constructor(r){super(r),this.range=null,this.timeSlider=null,this.floorFilter=null}clone(){return new m(e({range:this.range,timeSlider:this.timeSlider,floorFilter:this.floorFilter}))}};r([t({type:p,json:{write:!0}})],c.prototype,\"range\",void 0),r([t({type:l,json:{write:!0}})],c.prototype,\"timeSlider\",void 0),r([t({type:i,json:{write:!0}})],c.prototype,\"floorFilter\",void 0),c=m=r([s(\"esri.webdoc.Widgets\")],c);const n=c;export{n as default};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{_ as e}from\"../../chunks/tslib.es6.js\";import r from\"../../core/Collection.js\";import{JSONSupport as o}from\"../../core/JSONSupport.js\";import{clone as s}from\"../../core/lang.js\";import{property as t}from\"../../core/accessorSupport/decorators/property.js\";import\"../../core/has.js\";import\"../../core/Logger.js\";import{reader as a}from\"../../core/accessorSupport/decorators/reader.js\";import{subclass as i}from\"../../core/accessorSupport/decorators/subclass.js\";import{writer as d}from\"../../core/accessorSupport/decorators/writer.js\";import{writeNonEmptyCollectionPolicy as l}from\"../../core/accessorSupport/extensions/serializableProperty/writePolicyUtils.js\";import c from\"./SearchLayer.js\";import n from\"./SearchTable.js\";var p;const b=r.ofType(c),h=r.ofType(n);let m=p=class extends o{constructor(e){super(e),this.addressSearchEnabled=!0,this.enabled=!0,this.hintText=null,this.layers=new b,this.tables=new h}readAddressSearchEnabled(e){return!e}writeAddressSearchEnabled(e,r,o){r[o]=!e}clone(){return new p(s({addressSearchEnabled:this.addressSearchEnabled,enabled:this.enabled,hintText:this.hintText,layers:this.layers,tables:this.tables}))}};e([t({type:Boolean,nonNullable:!0,json:{read:{source:\"disablePlaceFinder\"},write:{target:\"disablePlaceFinder\",isRequired:!0},origins:{\"web-scene\":{read:!1,write:!1}}}})],m.prototype,\"addressSearchEnabled\",void 0),e([a(\"addressSearchEnabled\")],m.prototype,\"readAddressSearchEnabled\",null),e([d(\"addressSearchEnabled\")],m.prototype,\"writeAddressSearchEnabled\",null),e([t({type:Boolean,nonNullable:!0,json:{write:!0,origins:{\"web-map\":{write:{isRequired:!0}},\"web-scene\":{default:!0,write:!0}}}})],m.prototype,\"enabled\",void 0),e([t({type:String,json:{write:!0}})],m.prototype,\"hintText\",void 0),e([t({type:b,json:{write:{overridePolicy:l},origins:{\"web-scene\":{write:{isRequired:!0}}}}})],m.prototype,\"layers\",void 0),e([t({type:h,json:{read:!0,write:{overridePolicy:l}}})],m.prototype,\"tables\",void 0),m=p=e([i(\"esri.webdoc.applicationProperties.Search\")],m);const y=m;export{y as default};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{_ as r}from\"../../chunks/tslib.es6.js\";import{JSONSupport as e}from\"../../core/JSONSupport.js\";import{clone as o}from\"../../core/lang.js\";import{property as s}from\"../../core/accessorSupport/decorators/property.js\";import{Integer as t}from\"../../core/accessorSupport/ensureType.js\";import{subclass as i}from\"../../core/accessorSupport/decorators/subclass.js\";import p from\"./SearchLayerField.js\";var c;let a=c=class extends e{constructor(r){super(r),this.field=null,this.id=null,this.subLayer=null}clone(){return new c(o({field:this.field,id:this.id,subLayer:this.subLayer}))}};r([s({type:p,json:{write:{isRequired:!0}}})],a.prototype,\"field\",void 0),r([s({type:String,json:{write:{isRequired:!0}}})],a.prototype,\"id\",void 0),r([s({type:t,json:{write:!0}})],a.prototype,\"subLayer\",void 0),a=c=r([i(\"esri.webdoc.applicationProperties.SearchLayer\")],a);const u=a;export{u as default};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{_ as o}from\"../../chunks/tslib.es6.js\";import{JSONSupport as r}from\"../../core/JSONSupport.js\";import{property as t}from\"../../core/accessorSupport/decorators/property.js\";import\"../../core/has.js\";import\"../../core/Logger.js\";import\"../../core/RandomLCG.js\";import{enumeration as e}from\"../../core/accessorSupport/decorators/enumeration.js\";import{subclass as s}from\"../../core/accessorSupport/decorators/subclass.js\";import{kebabDict as p}from\"../../layers/support/fieldType.js\";var c;let a=c=class extends r{constructor(o){super(o),this.exactMatch=!1,this.name=null,this.type=null}clone(){return new c({exactMatch:this.exactMatch,type:this.type,name:this.name})}};o([t({type:Boolean,json:{write:!0}})],a.prototype,\"exactMatch\",void 0),o([t({type:String,json:{write:!0}})],a.prototype,\"name\",void 0),o([e(p)],a.prototype,\"type\",void 0),a=c=o([s(\"esri.webdoc.applicationProperties.SearchLayerField\")],a);const i=a;export{i as default};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{_ as r}from\"../../chunks/tslib.es6.js\";import{JSONSupport as o}from\"../../core/JSONSupport.js\";import{clone as e}from\"../../core/lang.js\";import{property as s}from\"../../core/accessorSupport/decorators/property.js\";import\"../../core/has.js\";import\"../../core/Logger.js\";import{subclass as t}from\"../../core/accessorSupport/decorators/subclass.js\";import i from\"./SearchTableField.js\";var p;let c=p=class extends o{constructor(r){super(r),this.field=null,this.id=null}clone(){return new p(e({field:this.field,id:this.id}))}};r([s({type:i,json:{write:{isRequired:!0}}})],c.prototype,\"field\",void 0),r([s({type:String,json:{write:{isRequired:!0}}})],c.prototype,\"id\",void 0),c=p=r([t(\"esri.webdoc.applicationProperties.SearchTable\")],c);const l=c;export{l as default};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{_ as o}from\"../../chunks/tslib.es6.js\";import{JSONSupport as t}from\"../../core/JSONSupport.js\";import{property as r}from\"../../core/accessorSupport/decorators/property.js\";import\"../../core/has.js\";import\"../../core/Logger.js\";import\"../../core/RandomLCG.js\";import{enumeration as e}from\"../../core/accessorSupport/decorators/enumeration.js\";import{subclass as s}from\"../../core/accessorSupport/decorators/subclass.js\";import{kebabDict as p}from\"../../layers/support/fieldType.js\";var c;let a=c=class extends t{constructor(o){super(o),this.exactMatch=!1,this.name=null,this.type=null}clone(){return new c({exactMatch:this.exactMatch,type:this.type,name:this.name})}};o([r({type:Boolean,json:{write:!0}})],a.prototype,\"exactMatch\",void 0),o([r({type:String,json:{write:!0}})],a.prototype,\"name\",void 0),o([e(p)],a.prototype,\"type\",void 0),a=c=o([s(\"esri.webdoc.applicationProperties.SearchTableField\")],a);const i=a;export{i as default};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{_ as r}from\"../../chunks/tslib.es6.js\";import{JSONSupport as o}from\"../../core/JSONSupport.js\";import{clone as s}from\"../../core/lang.js\";import{property as e}from\"../../core/accessorSupport/decorators/property.js\";import\"../../core/has.js\";import\"../../core/Logger.js\";import{subclass as t}from\"../../core/accessorSupport/decorators/subclass.js\";import c from\"./Search.js\";var p;let a=p=class extends o{constructor(r){super(r),this.search=null}clone(){return new p(s({search:this.search}))}};r([e({type:c,json:{write:!0}})],a.prototype,\"search\",void 0),a=p=r([t(\"esri.webdoc.applicationProperties.Viewing\")],a);const i=a;export{i as default};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{_ as o}from\"../../chunks/tslib.es6.js\";import{ClonableMixin as e}from\"../../core/Clonable.js\";import{JSONMap as r}from\"../../core/jsonMap.js\";import{JSONSupport as s}from\"../../core/JSONSupport.js\";import{property as t}from\"../../core/accessorSupport/decorators/property.js\";import\"../../core/has.js\";import\"../../core/Logger.js\";import\"../../core/RandomLCG.js\";import{subclass as i}from\"../../core/accessorSupport/decorators/subclass.js\";import p from\"./ExpressionInfo.js\";const c=new r({deviceLocation:\"device-location\"});let a=class extends(e(s)){constructor(o){super(o),this.filterExpression=null,this.type=\"device-location\"}};o([t({type:p,json:{write:!0}})],a.prototype,\"filterExpression\",void 0),o([t({type:c.apiValues,readOnly:!0,json:{type:c.jsonValues,read:c.read,write:c.write}})],a.prototype,\"type\",void 0),a=o([i(\"esri.webdoc.geotriggersInfo.DeviceLocationFeed\")],a);const n=a;export{n as default};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{_ as r}from\"../../chunks/tslib.es6.js\";import{ClonableMixin as o}from\"../../core/Clonable.js\";import{JSONSupport as e}from\"../../core/JSONSupport.js\";import{property as t}from\"../../core/accessorSupport/decorators/property.js\";import\"../../core/has.js\";import\"../../core/Logger.js\";import\"../../core/RandomLCG.js\";import{subclass as s}from\"../../core/accessorSupport/decorators/subclass.js\";let p=class extends(o(e)){constructor(r){super(r),this.expression=null,this.returnType=\"string\",this.title=null}};r([t({type:String,json:{write:{isRequired:!0}}})],p.prototype,\"expression\",void 0),r([t({type:[\"number\",\"string\"],json:{write:!0}})],p.prototype,\"returnType\",void 0),r([t({type:String,json:{write:!0}})],p.prototype,\"title\",void 0),p=r([s(\"esri.webdoc.geotriggersInfo.ExpressionInfo\")],p);const i=p;export{i as default};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{_ as r}from\"../../chunks/tslib.es6.js\";import{ClonableMixin as e}from\"../../core/Clonable.js\";import{JSONSupport as o}from\"../../core/JSONSupport.js\";import{property as t}from\"../../core/accessorSupport/decorators/property.js\";import\"../../core/has.js\";import\"../../core/Logger.js\";import\"../../core/RandomLCG.js\";import{enumeration as s}from\"../../core/accessorSupport/decorators/enumeration.js\";import{subclass as p}from\"../../core/accessorSupport/decorators/subclass.js\";import i from\"./FeatureFilter.js\";import c from\"./FeatureLayerSource.js\";let a=class extends(e(o)){constructor(r){super(r),this.fenceSource=null,this.filter=null,this.bufferDistance=null,this.type=\"features\"}};r([t({type:c,json:{write:{isRequired:!0}}})],a.prototype,\"fenceSource\",void 0),r([t({type:i,json:{write:!0}})],a.prototype,\"filter\",void 0),r([t({type:Number,json:{write:!0}})],a.prototype,\"bufferDistance\",void 0),r([s({features:\"features\"},{readOnly:!0})],a.prototype,\"type\",void 0),a=r([p(\"esri.webdoc.geotriggersInfo.FeatureFenceParameters\")],a);const u=a;export{u as default};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{_ as o}from\"../../chunks/tslib.es6.js\";import{geometryTypes as r}from\"../../geometry.js\";import{ClonableMixin as e}from\"../../core/Clonable.js\";import{JSONSupport as t}from\"../../core/JSONSupport.js\";import{property as s}from\"../../core/accessorSupport/decorators/property.js\";import\"../../core/has.js\";import\"../../core/Logger.js\";import\"../../core/RandomLCG.js\";import{subclass as p}from\"../../core/accessorSupport/decorators/subclass.js\";import{fromJSON as i}from\"../../geometry/support/jsonUtils.js\";let m=class extends(e(t)){constructor(o){super(o),this.geometry=null,this.where=null}};o([s({types:r,json:{read:i,write:!0}})],m.prototype,\"geometry\",void 0),o([s({type:String,json:{write:!0}})],m.prototype,\"where\",void 0),m=o([p(\"esri.webdoc.geotriggersInfo.FeatureFilter\")],m);const c=m;export{c as default};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{_ as r}from\"../../chunks/tslib.es6.js\";import{ClonableMixin as e}from\"../../core/Clonable.js\";import{JSONSupport as o}from\"../../core/JSONSupport.js\";import{property as t}from\"../../core/accessorSupport/decorators/property.js\";import\"../../core/has.js\";import\"../../core/Logger.js\";import\"../../core/RandomLCG.js\";import{enumeration as s}from\"../../core/accessorSupport/decorators/enumeration.js\";import{subclass as i}from\"../../core/accessorSupport/decorators/subclass.js\";let p=class extends(e(o)){constructor(r){super(r),this.layerId=null,this.layerUrl=null,this.type=\"feature-layer\"}};r([t({type:String,json:{write:{overridePolicy(){return{isRequired:null===this.layerUrl}}}}})],p.prototype,\"layerId\",void 0),r([t({type:String,json:{write:{overridePolicy(){return{isRequired:null===this.layerId}}}}})],p.prototype,\"layerUrl\",void 0),r([s({featureLayer:\"feature-layer\"},{readOnly:!0})],p.prototype,\"type\",void 0),p=r([i(\"esri.webdoc.geotriggersInfo.FeatureLayerSource\")],p);const a=p;export{a as default};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{_ as e}from\"../../chunks/tslib.es6.js\";import{property as o}from\"../../core/accessorSupport/decorators/property.js\";import\"../../core/has.js\";import\"../../core/Logger.js\";import\"../../core/RandomLCG.js\";import{enumeration as t}from\"../../core/accessorSupport/decorators/enumeration.js\";import{subclass as r}from\"../../core/accessorSupport/decorators/subclass.js\";import i from\"./DeviceLocationFeed.js\";import s from\"./FeatureFenceParameters.js\";import p from\"./Geotrigger.js\";import n from\"./GeotriggerNotificationOptions.js\";import{fenceNotificationRuleKebabDict as c,enterExitRuleKebabDict as a,feedAccuracyModeKebabDict as d}from\"./support/typeUtils.js\";let m=class extends p{constructor(e){super(e),this.enterExitRule=\"enter-contains-and-exit-does-not-intersect\",this.feed=null,this.feedAccuracyMode=\"use-geometry\",this.fenceNotificationRule=null,this.fenceParameters=null,this.name=null,this.notificationOptions=null,this.type=\"fence\"}};e([t(a)],m.prototype,\"enterExitRule\",void 0),e([o({type:i,json:{write:{isRequired:!0}}})],m.prototype,\"feed\",void 0),e([t(d)],m.prototype,\"feedAccuracyMode\",void 0),e([o({type:c.apiValues,json:{type:c.jsonValues,read:c.read,write:{writer:c.write,isRequired:!0}}})],m.prototype,\"fenceNotificationRule\",void 0),e([o({type:s,json:{write:{isRequired:!0}}})],m.prototype,\"fenceParameters\",void 0),e([o({type:String,json:{write:!0}})],m.prototype,\"name\",void 0),e([o({type:n,json:{write:!0}})],m.prototype,\"notificationOptions\",void 0),e([t({fence:\"fence\"},{readOnly:!0})],m.prototype,\"type\",void 0),m=e([r(\"esri.webdoc.geotriggersInfo.FenceGeotrigger\")],m);const u=m;export{u as default};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{_ as o}from\"../../chunks/tslib.es6.js\";import{ClonableMixin as r}from\"../../core/Clonable.js\";import{JSONSupport as e}from\"../../core/JSONSupport.js\";import\"../../core/Logger.js\";import\"../../core/has.js\";import\"../../core/RandomLCG.js\";import\"../../core/Error.js\";import{enumeration as s}from\"../../core/accessorSupport/decorators/enumeration.js\";import{subclass as t}from\"../../core/accessorSupport/decorators/subclass.js\";let c=class extends(r(e)){constructor(o){super(o),this.type=\"fence\"}};o([s({fence:\"fence\"},{readOnly:!0})],c.prototype,\"type\",void 0),c=o([t(\"esri.webdoc.geotriggersInfo.Geotrigger\")],c);const p=c;export{p as default};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{_ as o}from\"../../chunks/tslib.es6.js\";import{ClonableMixin as r}from\"../../core/Clonable.js\";import{JSONSupport as s}from\"../../core/JSONSupport.js\";import{property as e}from\"../../core/accessorSupport/decorators/property.js\";import\"../../core/has.js\";import\"../../core/Logger.js\";import\"../../core/RandomLCG.js\";import{subclass as t}from\"../../core/accessorSupport/decorators/subclass.js\";import i from\"./ExpressionInfo.js\";let p=class extends(r(s)){constructor(o){super(o),this.expressionInfo=null,this.requestedActions=null}};o([e({type:i,json:{write:!0}})],p.prototype,\"expressionInfo\",void 0),o([e({type:[String],json:{write:!0}})],p.prototype,\"requestedActions\",void 0),p=o([t(\"esri.webdoc.geotriggersInfo.GeotriggerNotificationOptions\")],p);const c=p;export{c as default};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport e from\"../FenceGeotrigger.js\";import r from\"../Geotrigger.js\";const o={base:r,key:\"type\",typeMap:{fence:e}};export{o as types};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{JSONMap as e}from\"../../../core/jsonMap.js\";const t=new e({enterContainsAndExitDoesNotContain:\"enter-contains-and-exit-does-not-contain\",enterContainsAndExitDoesNotIntersect:\"enter-contains-and-exit-does-not-intersect\",enterIntersectsAndExitDoesNotIntersect:\"enter-intersects-and-exit-does-not-intersect\"}),n=new e({useGeometry:\"use-geometry\",useGeometryWithAccuracy:\"use-geometry-with-accuracy\"}),o=new e({enter:\"enter\",enterOrExit:\"enter-or-exit\",exit:\"exit\"});export{t as enterExitRuleKebabDict,n as feedAccuracyModeKebabDict,o as fenceNotificationRuleKebabDict};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nvar A;!function(A){A[A.SAVE=0]=\"SAVE\",A[A.SAVE_AS=1]=\"SAVE_AS\"}(A||(A={}));export{A as SaveOperationType};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{_ as r}from\"../../chunks/tslib.es6.js\";import{ClonableMixin as o}from\"../../core/Clonable.js\";import{JSONSupport as t}from\"../../core/JSONSupport.js\";import{property as e}from\"../../core/accessorSupport/decorators/property.js\";import\"../../core/has.js\";import\"../../core/Logger.js\";import\"../../core/RandomLCG.js\";import{reader as s}from\"../../core/accessorSupport/decorators/reader.js\";import{subclass as p}from\"../../core/accessorSupport/decorators/subclass.js\";import{writer as i}from\"../../core/accessorSupport/decorators/writer.js\";import m from\"../../portal/PortalItem.js\";let a=class extends(o(t)){constructor(r){super(r),this.portalItem=null}readPortalItem(r,o,t){const{itemId:e}=o;if(e)return new m({id:e,portal:t?.portal})}writePortalItem(r,o){r?.id&&(o.itemId=r.id)}};r([e({type:m,json:{write:{isRequired:!0}}})],a.prototype,\"portalItem\",void 0),r([s(\"portalItem\",[\"itemId\"])],a.prototype,\"readPortalItem\",null),r([i(\"portalItem\",{itemId:{type:String}})],a.prototype,\"writePortalItem\",null),a=r([p(\"esri.webdoc.ips.PositioningService\")],a);const c=a;export{c as default};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{_ as r}from\"../../chunks/tslib.es6.js\";import{JSONSupport as o}from\"../../core/JSONSupport.js\";import{isHTTPSProtocol as t,isDataProtocol as s}from\"../../core/urlUtils.js\";import{property as e}from\"../../core/accessorSupport/decorators/property.js\";import\"../../core/has.js\";import\"../../core/Logger.js\";import\"../../core/RandomLCG.js\";import{subclass as i}from\"../../core/accessorSupport/decorators/subclass.js\";var p;let u=p=class extends o{constructor(){super(...arguments),this.url=\"\"}destroy(){this.url=\"\"}get isSecureUrl(){return t(this.url)}get isDataURI(){return s(this.url)}clone(){return new p({url:this.url})}};r([e({type:String,json:{write:{isRequired:!0}}})],u.prototype,\"url\",void 0),r([e()],u.prototype,\"isSecureUrl\",null),r([e()],u.prototype,\"isDataURI\",null),u=p=r([i(\"esri.webdoc.support.SlideThumbnail\")],u);export{u as SlideThumbnail};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{ensureInteger as t}from\"../../core/accessorSupport/ensureType.js\";function n(n){const r=t(100*(1-n));return Math.max(0,Math.min(r,100))}function r(t){const n=1-t/100;return Math.max(0,Math.min(n,1))}export{n as opacityToTransparency,r as transparencyToOpacity};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nconst h={width:600,height:400},t=1.5;function i(i,e){e=e||h;let{width:d,height:n}=e;const g=d/n;return gt&&(d=n*t),d>i.width&&(n*=i.width/d,d=i.width),n>i.height&&(d*=i.height/n,n=i.height),{width:Math.round(d),height:Math.round(n)}}export{i as getOptimalThumbnailSize};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport e from\"../../core/Error.js\";import{Integer as r,Null as t}from\"../../core/accessorSupport/ensureType.js\";import o from\"../../time/TimeExtent.js\";const m={type:o,json:{read:{source:\"timeExtent\",reader:e=>e?Array.isArray(e)?o.fromArray(e):o.fromJSON(e):null},write:{writer:(r,t,o,m)=>{r&&(r.isEmpty?m?.messages&&m.messages.push(new e(\"invalid-timeExtent\",\"TimeExtent cannot be empty\")):t[o]=r.toArray())},target:{timeExtent:{type:[[r,t]]}}}}};export{m as timeExtent};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport e from\"../../Viewpoint.js\";import t from\"../../core/Error.js\";import r from\"../../core/Logger.js\";import{geographicToWebMercator as o}from\"../../geometry/support/webMercatorUtils.js\";import n from\"../../portal/Portal.js\";import{createForItemRead as i}from\"../../portal/support/jsonContext.js\";import{project as a}from\"../../rest/geometryService/project.js\";import s from\"../../rest/support/ProjectParameters.js\";function p(e,t){return t.resourceInfo?l(t,t.resourceInfo,{origin:e.origin}):t.portalItem?.id?c(e,t,t.portalItem):Promise.resolve()}function l(e,t,r){const o={context:{...r,layerContainerType:\"operational-layers\"}};return e.portalItem&&(o.context.portal=e.portalItem.portal||n.getDefault()),import(\"../../layers/support/layersCreator.js\").then((({populateOperationalLayers:r})=>{const n=[],i=t.operationalLayers;i?.length&&n.push(r(e.layers,i,o));const a={...o,context:{...o.context,layerContainerType:\"tables\"},defaultLayerType:\"ArcGISFeatureLayer\"},s=t.tables;return s?.length&&n.push(r(e.tables,s,a)),Promise.allSettled(n).then((()=>{}))}))}async function c(e,o,n){if(await n.load().catch((r=>{throw new t(`${e.name}:load-portal-item`,\"Failed to load portal item\",{error:r})})),n.type!==e.itemType)throw new t(`${e.name}:invalid-portal-item`,`Invalid portal item type '${n.type}', expected '${e.itemType}'`,{type:n.type});const a=await n.fetchData();o.resourceInfo=a;const s=i(n,e.origin);await m(e,o,a,s),o.resourceReferences={portalItem:n,paths:s.readResourcePaths};const p=await f(o.initialViewProperties,n,r.getLogger(o));if(p){const t=o.initialViewProperties?.clone()??e.createInitialViewProperties();t.viewpoint=p,o.initialViewProperties=t}}function m(e,t,r,o){const n=u(e,r);return t.read(n,o),l(t,n,o)}function u(e,t){const r=e.parseVersion(t.version||\"\",e.name);return e.currentVersion.validate(r),t.version=`${r.major}.${r.minor}`,t}async function f(t,r,o){const n=t?.viewpoint?.targetGeometry;if(n)return null;const i=await y(t,r,o);if(!i)return null;return new e({targetGeometry:i})}async function y(e,t,r){const n=e?.spatialReference,i=t?.extent;if(!n||!i)return null;if(n.isWGS84)return i.clone();if(n.isWebMercator)return o(i);const{getGeometryServiceURL:p}=await import(\"../../portal/support/geometryServiceUtils.js\");try{const e=await p(t),r=new s({geometries:[i],outSpatialReference:n});return(await a(e,r))[0]}catch(l){r.error(\"Error projecting item's extent:\",l)}return null}export{p as loadFromSource};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport e from\"../../core/Error.js\";import{clone as t}from\"../../core/lang.js\";import{getDeepValue as n}from\"../../core/object.js\";import{numberToJSON as r}from\"../../core/accessorSupport/extensions/serializableProperty/writer.js\";import{isFeatureCollectionLayer as i}from\"../../layers/support/layerUtils.js\";const o=new Set([\"bing-maps\",\"imagery\",\"imagery-tile\",\"map-image\",\"open-street-map\",\"tile\",\"unknown\",\"unsupported\",\"vector-tile\",\"web-tile\",\"wms\",\"wmts\"]),l=new Set([\"catalog\",\"csv\",\"feature\",\"geo-rss\",\"geojson\",\"group\",\"imagery\",\"imagery-tile\",\"kml\",\"knowledge-graph\",\"map-image\",\"map-notes\",\"media\",\"ogc-feature\",\"oriented-imagery\",\"route\",\"stream\",\"subtype-group\",\"tile\",\"unknown\",\"unsupported\",\"vector-tile\",\"web-tile\",\"wfs\",\"wms\",\"wmts\"]);function a(e){o.delete(e),l.delete(e)}function s(e){o.add(e),l.add(e)}function d(e){return\"basemap\"===e.layerContainerType?o:\"operational-layers\"===e.layerContainerType?l:null}function p(e,t){if(t.restrictedWebMapWriting){const n=d(t);return null==n||n.has(e.type)&&!i(e)}return!0}function u(e,t){if(t)if(i(e)){const r=n(\"featureCollection.layers\",t),i=r?.[0]?.layerDefinition;i&&c(e,i)}else\"group\"!==e.type&&c(e,t)}function c(e,t){\"maxScale\"in e&&(t.maxScale=r(e.maxScale)??void 0),\"minScale\"in e&&(t.minScale=r(e.minScale)??void 0)}function m(e,t){if(u(e,t),t&&(t.id=e.id,\"blendMode\"in e&&(t.blendMode=e.blendMode,\"normal\"===t.blendMode&&delete t.blendMode),t.opacity=r(e.opacity)??void 0,t.title=e.title||\"Layer\",t.visibility=e.visible,\"legendEnabled\"in e&&\"wmts\"!==e.type))if(i(e)){const n=t.featureCollection;n&&(n.showLegend=e.legendEnabled)}else t.showLegend=e.legendEnabled}function f(n,r,o){if(!n.persistenceEnabled)return null;if(!(\"write\"in n)||!n.write)return o?.messages&&o.messages.push(new e(\"layer:unsupported\",`Layers (${n.title}, ${n.id}) of type '${n.declaredClass}' cannot be persisted`,{layer:n})),null;if(i(n)&&!n.isTable)r=n.resourceInfo;else if(p(n,o)){const e={};return n.write(e,o)?e:null}return null!=r&&m(n,r=t(r)),r}export{s as disableRestrictedWriting,a as enableRestrictedWriting,f as getLayerJSON};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{_ as e}from\"../../chunks/tslib.es6.js\";import{JSONSupport as t}from\"../../core/JSONSupport.js\";import{clone as o}from\"../../core/lang.js\";import{property as i}from\"../../core/accessorSupport/decorators/property.js\";import\"../../core/has.js\";import\"../../core/Logger.js\";import{subclass as r}from\"../../core/accessorSupport/decorators/subclass.js\";var s;let l=s=class extends t{constructor(e){super(e),this.enabled=!1,this.longNames=!1,this.minimized=!1,this.pinnedLevels=!1,this.site=null,this.facility=null,this.level=null}clone(){return new s(o({enabled:this.enabled,longNames:this.longNames,minimized:this.minimized,pinnedLevels:this.pinnedLevels,site:this.site,facility:this.facility,level:this.level}))}};e([i({type:Boolean,json:{read:{source:\"enabled\"},write:{target:\"enabled\"}}})],l.prototype,\"enabled\",void 0),e([i({type:Boolean,json:{read:{source:\"longNames\"},write:{target:\"longNames\"}}})],l.prototype,\"longNames\",void 0),e([i({type:Boolean,json:{read:{source:\"minimized\"},write:{target:\"minimized\"}}})],l.prototype,\"minimized\",void 0),e([i({type:Boolean,json:{read:{source:\"pinnedLevels\"},write:{target:\"pinnedLevels\"}}})],l.prototype,\"pinnedLevels\",void 0),e([i({type:String,json:{read:{source:\"site\"},write:{target:\"site\"}}})],l.prototype,\"site\",void 0),e([i({type:String,json:{read:{source:\"facility\"},write:{target:\"facility\"}}})],l.prototype,\"facility\",void 0),e([i({type:String,json:{read:{source:\"level\"},write:{target:\"level\"}}})],l.prototype,\"level\",void 0),l=s=e([r(\"esri.webdoc.widgets.FloorFilter\")],l);const n=l;export{n as default};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{_ as e}from\"../../chunks/tslib.es6.js\";import{JSONMap as r}from\"../../core/jsonMap.js\";import{JSONSupport as o}from\"../../core/JSONSupport.js\";import{property as t}from\"../../core/accessorSupport/decorators/property.js\";import{Integer as s}from\"../../core/accessorSupport/ensureType.js\";import\"../../core/RandomLCG.js\";import\"../../core/has.js\";import{subclass as i}from\"../../core/accessorSupport/decorators/subclass.js\";var n;const p=new r({slider:\"slider\",picker:\"picker\"});let a=n=class extends o{constructor(e){super(e),this.interactionMode=null,this.numStops=null,this.stopInterval=null}clone(){return new n({interactionMode:this.interactionMode,numStops:this.numStops,stopInterval:this.stopInterval})}};e([t({type:p.apiValues,nonNullable:!0,json:{type:p.jsonValues,default:null,read:{reader:p.read},write:{isRequired:!0,writer:p.write}}})],a.prototype,\"interactionMode\",void 0),e([t({type:s,json:{read:{source:\"numberOfStops\"},write:{target:\"numberOfStops\",overridePolicy(){const e=null!=this.stopInterval;return{enabled:!e,isRequired:!e}}}}})],a.prototype,\"numStops\",void 0),e([t({type:Number,json:{write:{overridePolicy(){return{isRequired:null==this.numStops}}}}})],a.prototype,\"stopInterval\",void 0),a=n=e([i(\"esri.webdoc.widgets.Range\")],a);const u=a;export{u as default};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{_ as t}from\"../../chunks/tslib.es6.js\";import{JSONSupport as e}from\"../../core/JSONSupport.js\";import{clone as r}from\"../../core/lang.js\";import{setDeepValue as o}from\"../../core/object.js\";import{property as s}from\"../../core/accessorSupport/decorators/property.js\";import{Integer as p,Null as i}from\"../../core/accessorSupport/ensureType.js\";import{reader as n}from\"../../core/accessorSupport/decorators/reader.js\";import{subclass as l}from\"../../core/accessorSupport/decorators/subclass.js\";import{writer as u}from\"../../core/accessorSupport/decorators/writer.js\";import{timeUnitKebabDictionary as m}from\"../../portal/timeUnitKebabDictionary.js\";import a from\"../../time/TimeExtent.js\";import c from\"../../time/TimeInterval.js\";var d;let T=d=class extends e{constructor(t){super(t),this.currentTimeExtent=null,this.fullTimeExtent=null,this.loop=!1,this.numStops=null,this.numThumbs=null,this.stopDelay=null,this.stopInterval=null,this.stops=null}readCurrentTimeExtent(t){return t?a.fromArray(t):void 0}writeCurrentTimeExtent(t,e,r){t&&o(r,t.toArray(),e)}readFullTimeExtent(t,e){const r=e.properties;if(!r)return;const o=null!=r.endTime?new Date(r.endTime):null,s=null!=r.startTime?new Date(r.startTime):null;return new a({start:s,end:o})}writeFullTimeExtent(t,e){if(!t)return;const r=e.properties=e.properties||{},o=t.end,s=t.start;o&&(r.endTime=null!=o?o.getTime():null),s&&(r.startTime=null!=s?s.getTime():null)}readStopInterval(t,e,r){return t?c.fromJSON({value:t.interval,unit:t.units},r):null}writeStopInterval(t,e,r,s){if(!t)return;const p=t.toJSON(s);o(\"properties.timeStopInterval\",{interval:p.value,units:p.unit},e)}readStops(t){return t?.length?t.map((t=>new Date(t))):null}writeStops(t,e,r){t?.length&&o(r,t.map((t=>t.getTime())),e)}clone(){return new d(r({currentTimeExtent:this.currentTimeExtent,fullTimeExtent:this.fullTimeExtent,loop:this.loop,numStops:this.numStops,numThumbs:this.numThumbs,stopDelay:this.stopDelay,stopInterval:this.stopInterval,stops:this.stops}))}};t([s({type:a,json:{type:[[p,i]],read:{source:\"properties.currentTimeExtent\"},write:{target:\"properties.currentTimeExtent\"}}})],T.prototype,\"currentTimeExtent\",void 0),t([n(\"currentTimeExtent\")],T.prototype,\"readCurrentTimeExtent\",null),t([u(\"currentTimeExtent\")],T.prototype,\"writeCurrentTimeExtent\",null),t([s({type:a,json:{read:{source:[\"properties.endTime\",\"properties.startTime\"]},write:{target:{\"properties.endTime\":{type:Number},\"properties.startTime\":{type:Number}}}}})],T.prototype,\"fullTimeExtent\",void 0),t([n(\"fullTimeExtent\")],T.prototype,\"readFullTimeExtent\",null),t([u(\"fullTimeExtent\")],T.prototype,\"writeFullTimeExtent\",null),t([s({type:Boolean,nonNullable:!0,json:{default:!1,read:{source:\"properties.loop\"},write:{target:\"properties.loop\"}}})],T.prototype,\"loop\",void 0),t([s({type:p,json:{read:{source:\"properties.numberOfStops\"},write:{target:\"properties.numberOfStops\",overridePolicy(){const t=!!this.stopInterval,e=!!this.stops?.length,r=!(t||e);return{enabled:r,isRequired:r}}}}})],T.prototype,\"numStops\",void 0),t([s({type:[1,2],nonNullable:!0,json:{type:p,read:{source:\"properties.thumbCount\"},write:{target:\"properties.thumbCount\",isRequired:!0}}})],T.prototype,\"numThumbs\",void 0),t([s({type:Number,nonNullable:!0,json:{read:{source:\"properties.thumbMovingRate\"},write:{target:\"properties.thumbMovingRate\",isRequired:!0}}})],T.prototype,\"stopDelay\",void 0),t([s({type:c,json:{read:{source:\"properties.timeStopInterval\"},write:{target:{\"properties.timeStopInterval.interval\":{type:Number},\"properties.timeStopInterval.units\":{type:m.jsonValues.filter((t=>\"esriTimeUnitsUnknown\"!==t))}},overridePolicy(){const t=null!=this.numStops,e=!!this.stops?.length;return{enabled:!e,isRequired:!(t||e)}}}}})],T.prototype,\"stopInterval\",void 0),t([n(\"stopInterval\")],T.prototype,\"readStopInterval\",null),t([u(\"stopInterval\")],T.prototype,\"writeStopInterval\",null),t([s({type:[Date],json:{type:[p],read:{source:\"properties.stops\"},write:{target:\"properties.stops\",overridePolicy(){return{isRequired:null==this.numStops&&!this.stopInterval}}}}})],T.prototype,\"stops\",void 0),t([n(\"stops\")],T.prototype,\"readStops\",null),t([u(\"stops\")],T.prototype,\"writeStops\",null),T=d=t([l(\"esri.webdoc.widgets.TimeSlider\")],T);const y=T;export{y as default};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{_ as o}from\"../chunks/tslib.es6.js\";import{JSONSupport as i}from\"../core/JSONSupport.js\";import{clone as r}from\"../core/lang.js\";import{property as e}from\"../core/accessorSupport/decorators/property.js\";import\"../core/has.js\";import\"../core/Logger.js\";import{subclass as t}from\"../core/accessorSupport/decorators/subclass.js\";import s from\"../webdoc/applicationProperties/Viewing.js\";var p;let n=p=class extends i{constructor(o){super(o),this.editing=null,this.offline=null,this.viewing=null}clone(){return new p(r({editing:this.editing,offline:this.offline,viewing:this.viewing}))}};o([e({json:{write:!0}})],n.prototype,\"editing\",void 0),o([e({json:{write:!0}})],n.prototype,\"offline\",void 0),o([e({type:s,json:{write:!0}})],n.prototype,\"viewing\",void 0),n=p=o([t(\"esri.webmap.ApplicationProperties\")],n);const c=n;export{c as default};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{_ as t}from\"../chunks/tslib.es6.js\";import e from\"../Viewpoint.js\";import o from\"../core/Error.js\";import{IdentifiableMixin as r}from\"../core/Identifiable.js\";import{JSONSupport as i}from\"../core/JSONSupport.js\";import{clone as s}from\"../core/lang.js\";import n from\"../core/Logger.js\";import{property as p}from\"../core/accessorSupport/decorators/property.js\";import{cast as m}from\"../core/accessorSupport/decorators/cast.js\";import{reader as a}from\"../core/accessorSupport/decorators/reader.js\";import{subclass as l}from\"../core/accessorSupport/decorators/subclass.js\";import{writer as c}from\"../core/accessorSupport/decorators/writer.js\";import{ensureType as u}from\"../core/accessorSupport/ensureType.js\";import{SlideThumbnail as w}from\"../webdoc/support/SlideThumbnail.js\";import{timeExtent as h}from\"../webdoc/support/timeProperties.js\";var d;let y=d=class extends(r(i)){constructor(t){super(t),this.name=null,this.thumbnail=new w,this.timeExtent=null}castThumbnail(t){return\"string\"==typeof t?new w({url:t}):u(w,t)}set viewpoint(t){const{targetGeometry:e,scale:o}=t;null!=e&&\"point\"===e.type&&null==o&&n.getLogger(this).warn(\"Bookmark.viewpoint should include 'scale' when its targetGeometry is a point.\",t),this._set(\"viewpoint\",t)}readViewpoint(t,o){const{extent:r,viewpoint:i}=o;return e.fromJSON(i||{targetGeometry:r})}writeViewpoint(t,e,r,i){if(!t)return;const{targetGeometry:s}=t;if(null==s||\"extent\"===s.type)null!=s&&(e.extent=s.toJSON()),e[r]=t.toJSON();else{const t=\"Bookmark.viewpoint cannot be written to JSON when the viewpoint's targetGeometry is not an extent.\";i?.messages?i.messages.push(new o(\"property:unsupported\",t)):n.getLogger(this).error(t)}}clone(){return new d(s({name:this.name,thumbnail:this.thumbnail,timeExtent:this.timeExtent,viewpoint:this.viewpoint}))}};t([p({type:String,nonNullable:!0,json:{write:{isRequired:!0}}})],y.prototype,\"name\",void 0),t([p({type:w,json:{write:{overridePolicy:t=>({enabled:!(!t||!t.url)})}}})],y.prototype,\"thumbnail\",void 0),t([m(\"thumbnail\")],y.prototype,\"castThumbnail\",null),t([p(h)],y.prototype,\"timeExtent\",void 0),t([p({type:e,nonNullable:!0,json:{write:!0}})],y.prototype,\"viewpoint\",null),t([a(\"viewpoint\",[\"extent\",\"viewpoint\"])],y.prototype,\"readViewpoint\",null),t([c(\"viewpoint\")],y.prototype,\"writeViewpoint\",null),y=d=t([l(\"esri.webmap.Bookmark\")],y);const f=y;export{f as default};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{_ as o}from\"../chunks/tslib.es6.js\";import e from\"../Viewpoint.js\";import t from\"../core/Accessor.js\";import{ClonableMixin as r}from\"../core/Clonable.js\";import{property as i}from\"../core/accessorSupport/decorators/property.js\";import\"../core/has.js\";import\"../core/Logger.js\";import\"../core/RandomLCG.js\";import{subclass as s}from\"../core/accessorSupport/decorators/subclass.js\";import p from\"../geometry/SpatialReference.js\";import m from\"../time/TimeExtent.js\";import{system as n}from\"../time/timeZoneUtils.js\";import c from\"../webdoc/RangeInfo.js\";import a from\"./background/ColorBackground.js\";let l=class extends(r(t)){constructor(o){super(o),this.background=null,this.rangeInfo=null,this.spatialReference=null,this.timeExtent=null,this.timeZone=n,this.viewpoint=null}};o([i({type:a})],l.prototype,\"background\",void 0),o([i({type:c})],l.prototype,\"rangeInfo\",void 0),o([i({type:p})],l.prototype,\"spatialReference\",void 0),o([i({type:m})],l.prototype,\"timeExtent\",void 0),o([i({nonNullable:!0})],l.prototype,\"timeZone\",void 0),o([i({type:e})],l.prototype,\"viewpoint\",void 0),l=o([s(\"esri.webmap.InitialViewProperties\")],l);const f=l;export{f as default};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{Version as r}from\"../core/Version.js\";class s extends r{constructor(r,s){super(r,s,\"webmap\")}}export{s as Version};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{_ as o}from\"../../chunks/tslib.es6.js\";import r from\"../../Color.js\";import{JSONSupport as s}from\"../../core/JSONSupport.js\";import{clone as t}from\"../../core/lang.js\";import{property as e}from\"../../core/accessorSupport/decorators/property.js\";import\"../../core/has.js\";import\"../../core/Logger.js\";import{subclass as c}from\"../../core/accessorSupport/decorators/subclass.js\";var p;let a=p=class extends s{constructor(o){super(o),this.color=new r([0,0,0,1])}clone(){return new p(t({color:this.color}))}};o([e({type:r,json:{write:!0}})],a.prototype,\"color\",void 0),a=p=o([c(\"esri.webmap.background.ColorBackground\")],a);const m=a;export{m as default};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{Version as e}from\"./Version.js\";function r(e){return null!=e&&\"object\"==typeof e&&\"declaredClass\"in e&&\"esri.WebMap\"===e.declaredClass}const n=new e(2,32);export{n as currentVersion,r as isWebMap};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{_ as e}from\"../chunks/tslib.es6.js\";import t from\"../core/Error.js\";import{on as s,watch as i,initial as a}from\"../core/reactiveUtils.js\";import{formatFileSize as n}from\"../core/unitFormatUtils.js\";import{property as l}from\"../core/accessorSupport/decorators/property.js\";import{cast as r}from\"../core/accessorSupport/decorators/cast.js\";import\"../core/RandomLCG.js\";import\"../core/has.js\";import{subclass as o}from\"../core/accessorSupport/decorators/subclass.js\";import d from\"./Widget.js\";import c from\"./Attachments/AttachmentsViewModel.js\";import{getIconPath as m,isSupportedImage as h}from\"./Attachments/support/attachmentUtils.js\";import{loadCalciteComponents as u}from\"./support/componentsUtils.js\";import{globalCss as p}from\"./support/globalCss.js\";import{legacyIcon as b}from\"./support/legacyIcon.js\";import{storeNode as _,discardNode as g,isRTL as f}from\"./support/widgetUtils.js\";import{messageBundle as v}from\"./support/decorators/messageBundle.js\";import{tsx as y}from\"./support/jsxFactory.js\";const A={addButton:!0,addSubmitButton:!0,cancelAddButton:!0,cancelUpdateButton:!0,deleteButton:!0,errorMessage:!0,progressBar:!0,updateButton:!0},w=\"esri-attachments\",F={base:w,loaderContainer:`${w}__loader-container`,loader:`${w}__loader`,fadeIn:`${w}--fade-in`,container:`${w}__container`,containerList:`${w}__container--list`,containerPreview:`${w}__container--preview`,actions:`${w}__actions`,deleteButton:`${w}__delete-button`,addAttachmentButton:`${w}__add-attachment-button`,errorMessage:`${w}__error-message`,items:`${w}__items`,item:`${w}__item`,itemButton:`${w}__item-button`,itemMask:`${w}__item-mask`,itemMaskIcon:`${w}__item-mask--icon`,itemImage:`${w}__image`,itemImageResizable:`${w}__image--resizable`,itemLabel:`${w}__label`,itemFilename:`${w}__filename`,itemChevronIcon:`${w}__item-chevron-icon`,itemLink:`${w}__item-link`,itemLinkOverlay:`${w}__item-link-overlay`,itemLinkOverlayIcon:`${w}__item-link-overlay-icon`,itemEditIcon:`${w}__item-edit-icon`,itemAddIcon:`${w}__item-add-icon`,itemAddButton:`${w}__item-add-button`,formNode:`${w}__form-node`,fileFieldset:`${w}__file-fieldset`,fileLabel:`${w}__file-label`,fileName:`${w}__file-name`,fileInput:`${w}__file-input`,metadata:`${w}__metadata`,metadataFieldset:`${w}__metadata-fieldset`,progressBar:`${w}__progress-bar`},k=window.CSS;let M=class extends d{constructor(e,t){super(e,t),this.displayType=\"auto\",this.messages=null,this.messagesUnits=null,this.selectedFile=null,this.submitting=!1,this.viewModel=null,this.visibleElements={...A},this._supportsImageOrientation=k&&k.supports&&k.supports(\"image-orientation\",\"from-image\"),this._addAttachmentForm=null,this._updateAttachmentForm=null}normalizeCtorArgs(e){return e?.viewModel||(e={viewModel:new c,...e}),e}initialize(){this.addHandles([s((()=>this.viewModel?.attachmentInfos),\"change\",(()=>this.scheduleRender())),s((()=>this.viewModel?.fileInfos),\"change\",(()=>this.scheduleRender())),i((()=>this.viewModel?.mode),(()=>this._modeChanged()),a)])}loadDependencies(){return u({icon:()=>import(\"@esri/calcite-components/dist/components/calcite-icon.js\")})}get capabilities(){return this.viewModel.capabilities}set capabilities(e){this.viewModel.capabilities=e}get effectiveDisplayType(){const{displayType:e}=this;return e&&\"auto\"!==e?e:this.viewModel.supportsResizeAttachments?\"preview\":\"list\"}get graphic(){return this.viewModel.graphic}set graphic(e){this.viewModel.graphic=e}get icon(){return\"attachment\"}set icon(e){this._overrideIfSome(\"icon\",e)}get label(){return this.messages?.widgetLabel??\"\"}set label(e){this._overrideIfSome(\"label\",e)}castVisibleElements(e){return{...A,...e}}addAttachment(){const{_addAttachmentForm:e,viewModel:s}=this;return this._set(\"submitting\",!0),this._set(\"error\",null),s.addAttachment(e).then((e=>(this._set(\"submitting\",!1),this._set(\"error\",null),s.mode=\"view\",e))).catch((e=>{throw this._set(\"submitting\",!1),this._set(\"error\",new t(\"attachments:add-attachment\",this.messages.addErrorMessage,e)),e}))}deleteAttachment(e){const{viewModel:s}=this;return this._set(\"submitting\",!0),this._set(\"error\",null),s.deleteAttachment(e).then((e=>(this._set(\"submitting\",!1),this._set(\"error\",null),s.mode=\"view\",e))).catch((e=>{throw this._set(\"submitting\",!1),this._set(\"error\",new t(\"attachments:delete-attachment\",this.messages.deleteErrorMessage,e)),e}))}updateAttachment(){const{viewModel:e}=this,{_updateAttachmentForm:s}=this;return this._set(\"submitting\",!0),this._set(\"error\",null),e.updateAttachment(s).then((t=>(this._set(\"submitting\",!1),this._set(\"error\",null),e.mode=\"view\",t))).catch((e=>{throw this._set(\"submitting\",!1),this._set(\"error\",new t(\"attachments:update-attachment\",this.messages.updateErrorMessage,e)),e}))}addFile(){const e=this.viewModel.addFile(this.selectedFile,this._addAttachmentForm);return this.viewModel.mode=\"view\",e}updateFile(){const{viewModel:e}=this,t=e.updateFile(this.selectedFile,this._updateAttachmentForm,e.activeFileInfo);return e.mode=\"view\",t}deleteFile(e){const t=this.viewModel.deleteFile(e||this.viewModel.activeFileInfo?.file);return this.viewModel.mode=\"view\",t}render(){const{submitting:e,viewModel:t}=this,{state:s}=t;return y(\"div\",{class:this.classes(F.base,p.widget)},e?this._renderProgressBar():null,\"loading\"===s?this._renderLoading():this._renderAttachments(),this._renderErrorMessage())}_renderErrorMessage(){const{error:e,visibleElements:t}=this;return e&&t.errorMessage?y(\"div\",{class:F.errorMessage,key:\"error-message\"},e.message):null}_renderAttachments(){const{activeFileInfo:e,mode:t,activeAttachmentInfo:s}=this.viewModel;return\"add\"===t?this._renderAddForm():\"edit\"===t?this._renderDetailsForm(s||e):this._renderAttachmentContainer()}_renderLoading(){return y(\"div\",{class:F.loaderContainer,key:\"loader\"},y(\"div\",{class:F.loader}))}_renderProgressBar(){return this.visibleElements.progressBar?y(\"div\",{class:F.progressBar,key:\"progress-bar\"}):null}_renderAddForm(){const{submitting:e,selectedFile:t}=this,s=e||!t,i=this.visibleElements.cancelAddButton?y(\"button\",{bind:this,class:this.classes(p.button,p.buttonTertiary,p.buttonSmall,p.buttonHalf,e&&p.buttonDisabled),disabled:e,onclick:this._cancelForm,type:\"button\"},this.messages.cancel):null,a=this.visibleElements.addSubmitButton?y(\"button\",{class:this.classes(p.button,p.buttonSecondary,p.buttonSmall,p.buttonHalf,{[p.buttonDisabled]:s}),disabled:s,type:\"submit\"},this.messages.add):null,n=t?y(\"span\",{class:F.fileName,key:\"file-name\"},t.name):null,l=y(\"form\",{afterCreate:_,afterRemoved:g,bind:this,\"data-node-ref\":\"_addAttachmentForm\",onsubmit:this._submitAddAttachment},y(\"fieldset\",{class:F.fileFieldset},n,y(\"label\",{class:this.classes(F.fileLabel,p.button,p.buttonSecondary)},t?this.messages.changeFile:this.messages.selectFile,y(\"input\",{bind:this,class:F.fileInput,name:\"attachment\",onchange:this._handleFileInputChange,type:\"file\"}))),a,i);return y(\"div\",{class:F.formNode,key:\"add-form-container\"},l)}_renderDetailsForm(e){const{visibleElements:t,viewModel:s,selectedFile:i,submitting:a}=this,{capabilities:l}=s,r=a||!i;let o,d,c,m;i?(o=i.type,d=i.name,c=i.size):e&&\"file\"in e?(o=e.file.type,d=e.file.name,c=e.file.size):e&&\"contentType\"in e&&(o=e.contentType,d=e.name,c=e.size,m=e.url);const h=l.editing&&l.operations?.delete&&t.deleteButton?y(\"button\",{bind:this,class:this.classes(p.button,p.buttonSmall,p.buttonTertiary,F.deleteButton,{[p.buttonDisabled]:a}),disabled:a,key:\"delete-button\",onclick:t=>this._submitDeleteAttachment(t,e),type:\"button\"},this.messages.delete):void 0,u=l.editing&&l.operations?.update&&t.updateButton?y(\"button\",{class:this.classes(p.button,p.buttonSmall,p.buttonThird,{[p.buttonDisabled]:r}),disabled:r,key:\"update-button\",type:\"submit\"},this.messages.update):void 0,b=this.visibleElements.cancelUpdateButton?y(\"button\",{bind:this,class:this.classes(p.button,p.buttonSmall,p.buttonTertiary,p.buttonThird,{[p.buttonDisabled]:a}),disabled:a,key:\"cancel-button\",onclick:this._cancelForm,type:\"button\"},this.messages.cancel):void 0,f=l.editing&&l.operations?.update?y(\"fieldset\",{class:F.fileFieldset,key:\"file\"},y(\"span\",{class:F.fileName,key:\"file-name\"},d),y(\"label\",{class:this.classes(F.fileLabel,p.button,p.buttonSecondary)},this.messages.changeFile,y(\"input\",{bind:this,class:F.fileInput,name:\"attachment\",onchange:this._handleFileInputChange,type:\"file\"}))):void 0,v=y(\"fieldset\",{class:F.metadataFieldset,key:\"size\"},y(\"label\",null,n(this.messagesUnits,c??0))),A=y(\"fieldset\",{class:F.metadataFieldset,key:\"content-type\"},y(\"label\",null,o)),w=null!=m?y(\"a\",{class:F.itemLink,href:m,rel:\"noreferrer\",target:\"_blank\"},this._renderImageMask(e,400),y(\"div\",{class:F.itemLinkOverlay},y(\"span\",{class:F.itemLinkOverlayIcon},y(\"calcite-icon\",{icon:\"launch\"})))):this._renderImageMask(e,400),k=y(\"form\",{afterCreate:_,afterRemoved:g,bind:this,\"data-node-ref\":\"_updateAttachmentForm\",onsubmit:t=>this._submitUpdateAttachment(t,e)},y(\"div\",{class:F.metadata},v,A),f,y(\"div\",{class:F.actions},h,b,u));return y(\"div\",{class:F.formNode,key:\"edit-form-container\"},w,k)}_renderImageMask(e,t){return e?\"file\"in e?this._renderGenericImageMask(e.file.name,e.file.type):this._renderImageMaskForAttachment(e,t):null}_renderGenericImageMask(e,t){const{supportsResizeAttachments:s}=this.viewModel,i=m(t),a={[F.itemImageResizable]:s};return y(\"div\",{class:this.classes(F.itemMaskIcon,F.itemMask),key:i},y(\"img\",{alt:e,class:this.classes(a,F.itemImage),src:i,title:e}))}_renderImageMaskForAttachment(e,t){const{supportsResizeAttachments:s}=this.viewModel;if(!e)return null;const{contentType:i,name:a,url:n}=e;if(!s||!h(i))return this._renderGenericImageMask(a,i);const l=this._getCSSTransform(e),r=l?{transform:l,\"image-orientation\":\"none\"}:{},o=`${n}${n?.includes(\"?\")?\"&\":\"?\"}w=${t}`,d={[F.itemImageResizable]:s};return y(\"div\",{class:this.classes(F.itemMask),key:o},y(\"img\",{alt:a,class:this.classes(d,F.itemImage),src:o,styles:r,title:a}))}_renderFile(e){const{file:t}=e;return y(\"li\",{class:F.item,key:t},y(\"button\",{\"aria-label\":this.messages.attachmentDetails,bind:this,class:F.itemButton,key:\"details-button\",onclick:()=>this._startEditFile(e),title:this.messages.attachmentDetails,type:\"button\"},this._renderImageMask(e),y(\"label\",{class:F.itemLabel},y(\"span\",{class:F.itemFilename},t.name||this.messages.noTitle),y(\"span\",{\"aria-hidden\":\"true\",class:this.classes(F.itemChevronIcon,f(this.container)?b.left:b.right)}))))}_renderAttachmentInfo({attachmentInfo:e,displayType:t}){const{viewModel:s,effectiveDisplayType:i}=this,{capabilities:a,supportsResizeAttachments:n}=s,{contentType:l,name:r,url:o}=e,d=this._renderImageMask(e,\"list\"===t?48:400),c=a.editing?y(\"span\",{\"aria-hidden\":\"true\",class:this.classes(F.itemChevronIcon,f(this.container)?b.left:b.right)}):null,m=[d,\"preview\"===i&&n&&h(l)?null:y(\"label\",{class:F.itemLabel},y(\"span\",{class:F.itemFilename},r||this.messages.noTitle),c)],u=a.editing?y(\"button\",{\"aria-label\":this.messages.attachmentDetails,bind:this,class:F.itemButton,\"data-attachment-info-id\":e.id,key:\"details-button\",onclick:()=>this._startEditAttachment(e),title:this.messages.attachmentDetails,type:\"button\"},m):y(\"a\",{class:F.itemButton,href:o??void 0,key:\"details-link\",rel:\"noreferrer\",target:\"_blank\"},m);return y(\"li\",{class:F.item,key:e},u)}_renderAttachmentContainer(){const{effectiveDisplayType:e,viewModel:t,visibleElements:s}=this,{attachmentInfos:i,capabilities:a,fileInfos:n}=t,l=!!i?.length,r=!!n?.length,o={[F.containerList]:\"preview\"!==e,[F.containerPreview]:\"preview\"===e},d=a.editing&&a.operations?.add&&s.addButton?y(\"button\",{bind:this,class:this.classes(p.button,p.buttonTertiary,F.addAttachmentButton),onclick:()=>this._startAddAttachment(),type:\"button\"},y(\"span\",{\"aria-hidden\":\"true\",class:this.classes(F.itemAddIcon,b.plus)}),this.messages.add):void 0,c=l?y(\"ul\",{class:F.items,key:\"attachments-list\"},i.toArray().map((t=>this._renderAttachmentInfo({attachmentInfo:t,displayType:e})))):void 0,m=r?y(\"ul\",{class:F.items,key:\"file-list\"},n.toArray().map((e=>this._renderFile(e)))):void 0,h=r||l?void 0:y(\"div\",{class:p.empty},this.messages.noAttachments);return y(\"div\",{class:this.classes(F.container,o),key:\"attachments-container\"},c,m,h,d)}_modeChanged(){this._set(\"error\",null),this._set(\"selectedFile\",null)}_handleFileInputChange(e){const t=e.target,s=t.files?.item(0);this._set(\"selectedFile\",s)}_submitDeleteAttachment(e,t){e.preventDefault(),t&&(\"file\"in t?this.deleteFile(t.file):t&&this.deleteAttachment(t))}_submitAddAttachment(e){e.preventDefault(),this.viewModel.filesEnabled?this.addFile():this.addAttachment()}_submitUpdateAttachment(e,t){e.preventDefault(),t&&\"file\"in t?this.updateFile():this.updateAttachment()}_startEditAttachment(e){const{viewModel:t}=this;t.activeFileInfo=null,t.activeAttachmentInfo=e,t.mode=\"edit\"}_startEditFile(e){const{viewModel:t}=this;t.activeAttachmentInfo=null,t.activeFileInfo=e,t.mode=\"edit\"}_startAddAttachment(){this.viewModel.mode=\"add\"}_cancelForm(e){e.preventDefault(),this.viewModel.mode=\"view\"}_getCSSTransform(e){const{orientationInfo:t}=e;return!this._supportsImageOrientation&&t?[t.rotation?`rotate(${t.rotation}deg)`:\"\",t.mirrored?\"scaleX(-1)\":\"\"].join(\" \"):\"\"}};e([l()],M.prototype,\"capabilities\",null),e([l()],M.prototype,\"displayType\",void 0),e([l({readOnly:!0})],M.prototype,\"effectiveDisplayType\",null),e([l()],M.prototype,\"graphic\",null),e([l()],M.prototype,\"icon\",null),e([l()],M.prototype,\"label\",null),e([l(),v(\"esri/widgets/Attachments/t9n/Attachments\")],M.prototype,\"messages\",void 0),e([l(),v(\"esri/core/t9n/Units\")],M.prototype,\"messagesUnits\",void 0),e([l({readOnly:!0})],M.prototype,\"selectedFile\",void 0),e([l({readOnly:!0})],M.prototype,\"submitting\",void 0),e([l({readOnly:!0})],M.prototype,\"error\",void 0),e([l({type:c})],M.prototype,\"viewModel\",void 0),e([l()],M.prototype,\"visibleElements\",void 0),e([r(\"visibleElements\")],M.prototype,\"castVisibleElements\",null),M=e([o(\"esri.widgets.Attachments\")],M);const I=M;export{I as default};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{_ as t}from\"../../chunks/tslib.es6.js\";import e from\"../../Graphic.js\";import i from\"../../core/Accessor.js\";import a from\"../../core/Collection.js\";import n from\"../../core/Error.js\";import{watch as r,initial as s}from\"../../core/reactiveUtils.js\";import{property as o}from\"../../core/accessorSupport/decorators/property.js\";import{cast as c}from\"../../core/accessorSupport/decorators/cast.js\";import\"../../core/RandomLCG.js\";import\"../../core/has.js\";import{subclass as h}from\"../../core/accessorSupport/decorators/subclass.js\";import d from\"../../rest/query/support/AttachmentInfo.js\";import l from\"../../rest/support/AttachmentQuery.js\";import{getSourceLayer as m}from\"../Feature/support/featureUtils.js\";const p={editing:!1,operations:{add:!0,update:!0,delete:!0}},u=a.ofType(d);let f=class extends i{constructor(t){super(t),this._getAttachmentsPromise=null,this._attachmentLayer=null,this.capabilities={...p},this.activeAttachmentInfo=null,this.activeFileInfo=null,this.attachmentInfos=new u,this.fileInfos=new a,this.graphic=null,this.mode=\"view\",this.filesEnabled=!1,this.addHandles(r((()=>this.graphic),(()=>this._graphicChanged()),s))}destroy(){this._attachmentLayer=null,this.graphic=null}castCapabilities(t){return{...p,...t}}get state(){return this._getAttachmentsPromise?\"loading\":this.graphic?\"ready\":\"disabled\"}get supportsResizeAttachments(){const{graphic:t}=this;if(!t)return!1;const e=t.layer||t.sourceLayer;return e?.loaded&&\"capabilities\"in e&&e.capabilities&&\"operations\"in e.capabilities&&\"supportsResizeAttachments\"in e.capabilities.operations&&e.capabilities.operations.supportsResizeAttachments||!1}async getAttachments(){const{_attachmentLayer:t,attachmentInfos:e}=this;if(!t||\"function\"!=typeof t.queryAttachments)throw new n(\"invalid-layer\",\"getAttachments(): A valid layer is required.\");const i=this._getObjectId();if(\"number\"!=typeof i)throw new n(\"invalid-object-id\",\"getAttachments(): Numeric object id is required\");const a=new l({objectIds:[i],returnMetadata:!0}),r=[],s=t.queryAttachments(a).then((t=>t[i]||r)).catch((()=>r));this._getAttachmentsPromise=s,this.notifyChange(\"state\");const o=await s;return e.destroyAll(),o.length&&e.addMany(o),this._getAttachmentsPromise=null,this.notifyChange(\"state\"),o}async addAttachment(t,e=this.graphic){const{_attachmentLayer:i,attachmentInfos:a,capabilities:r}=this;if(!e)throw new n(\"invalid-graphic\",\"addAttachment(): A valid graphic is required.\",{graphic:e});if(!t)throw new n(\"invalid-attachment\",\"addAttachment(): An attachment is required.\",{attachment:t});if(!r.operations?.add)throw new n(\"invalid-capabilities\",\"addAttachment(): add capabilities are required.\");if(!i||\"function\"!=typeof i.addAttachment)throw new n(\"invalid-layer\",\"addAttachment(): A valid layer is required.\");const s=i.addAttachment(e,t).then((t=>this._queryAttachment(t.objectId,e))),o=await s;return a.add(o),o}async deleteAttachment(t){const{_attachmentLayer:e,attachmentInfos:i,graphic:a,capabilities:r}=this;if(!t)throw new n(\"invalid-attachment-info\",\"deleteAttachment(): An attachmentInfo is required.\",{attachmentInfo:t});if(!r.operations?.delete)throw new n(\"invalid-capabilities\",\"deleteAttachment(): delete capabilities are required.\");if(!e||\"function\"!=typeof e.deleteAttachments)throw new n(\"invalid-layer\",\"deleteAttachment(): A valid layer is required.\");if(!a)throw new n(\"invalid-graphic\",\"deleteAttachment(): A graphic is required.\");const s=e.deleteAttachments(a,[t.id]).then((()=>t)),o=await s;return i.remove(o),o.destroy(),o}async updateAttachment(t,e=this.activeAttachmentInfo){const{_attachmentLayer:i,attachmentInfos:a,graphic:r,capabilities:s}=this;if(!t)throw new n(\"invalid-attachment\",\"updateAttachment(): An attachment is required.\",{attachment:t});if(!e)throw new n(\"invalid-attachment-info\",\"updateAttachment(): An attachmentInfo is required.\",{attachmentInfo:e});if(!s.operations?.update)throw new n(\"invalid-capabilities\",\"updateAttachment(): Update capabilities are required.\");const o=a.indexOf(e);if(!i||\"function\"!=typeof i.updateAttachment)throw new n(\"invalid-layer\",\"updateAttachment(): A valid layer is required.\");if(!r)throw new n(\"invalid-graphic\",\"updateAttachment(): A graphic is required.\");const c=i.updateAttachment(r,e.id,t).then((t=>this._queryAttachment(t.objectId))),h=await c;return a.splice(o,1,h),h}async commitFiles(){return await Promise.all(this.fileInfos.items.map((t=>this.addAttachment(t.form)))),this.fileInfos.removeAll(),this.getAttachments()}addFile(t,e){if(!t||!e)return null;const i={file:t,form:e};return this.fileInfos.add(i),i}updateFile(t,e,i=this.activeFileInfo){if(!t||!e||!i)return null;const a=this.fileInfos.indexOf(i);return a>-1&&this.fileInfos.splice(a,1,{file:t,form:e}),this.fileInfos.items[a]}deleteFile(t){const e=this.fileInfos.find((e=>e.file===t));return e?(this.fileInfos.remove(e),e):null}async _queryAttachment(t,e){const{_attachmentLayer:i}=this;if(!t||!i?.queryAttachments)throw new n(\"invalid-attachment-id\",\"Could not query attachment.\");const a=this._getObjectId(e);if(\"number\"!=typeof a)throw new n(\"invalid-object-id\",\"getAttachments(): Numeric object id is required\");const r=new l({objectIds:[a],attachmentsWhere:`AttachmentId=${t}`,returnMetadata:!0});return i.queryAttachments(r).then((t=>t[a][0]))}_getObjectId(t=this.graphic){return t?.getObjectId()??null}_graphicChanged(){this.graphic&&(this._setAttachmentLayer(),this.getAttachments().catch((()=>this.attachmentInfos.destroyAll())))}_setAttachmentLayer(){const{graphic:t}=this,e=m(t);this._attachmentLayer=e?\"scene\"===e.type&&null!=e.associatedLayer?e.associatedLayer:e:null}};t([o()],f.prototype,\"capabilities\",void 0),t([c(\"capabilities\")],f.prototype,\"castCapabilities\",null),t([o()],f.prototype,\"activeAttachmentInfo\",void 0),t([o()],f.prototype,\"activeFileInfo\",void 0),t([o({readOnly:!0,type:u})],f.prototype,\"attachmentInfos\",void 0),t([o()],f.prototype,\"fileInfos\",void 0),t([o({type:e})],f.prototype,\"graphic\",void 0),t([o()],f.prototype,\"mode\",void 0),t([o({readOnly:!0})],f.prototype,\"state\",null),t([o()],f.prototype,\"filesEnabled\",void 0),t([o({readOnly:!0})],f.prototype,\"supportsResizeAttachments\",null),f=t([h(\"esri.widgets.Attachments.AttachmentsViewModel\")],f);const y=f;export{y as default};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{getAssetUrl as i}from\"../../../assets.js\";function e(i){const e=i.toLowerCase();return\"image/bmp\"===e||\"image/emf\"===e||\"image/exif\"===e||\"image/gif\"===e||\"image/x-icon\"===e||\"image/jpeg\"===e||\"image/png\"===e||\"image/tiff\"===e||\"image/x-wmf\"===e}function p(e){const p=i(\"esri/themes/base/images/files/\");return e?\"text/plain\"===e?`${p}text-32.svg`:\"application/pdf\"===e?`${p}pdf-32.svg`:\"text/csv\"===e?`${p}csv-32.svg`:\"application/gpx+xml\"===e?`${p}gpx-32.svg`:\"application/x-dwf\"===e?`${p}cad-32.svg`:\"application/postscript\"===e||\"application/json\"===e||\"text/xml\"===e||\"model/vrml\"===e?`${p}code-32.svg`:\"application/x-zip-compressed\"===e||\"application/x-7z-compressed\"===e||\"application/x-gzip\"===e||\"application/x-tar\"===e||\"application/x-gtar\"===e||\"application/x-bzip2\"===e||\"application/gzip\"===e||\"application/x-compress\"===e||\"application/x-apple-diskimage\"===e||\"application/x-rar-compressed\"===e||\"application/zip\"===e?`${p}zip-32.svg`:e.includes(\"image/\")?`${p}image-32.svg`:e.includes(\"audio/\")?`${p}sound-32.svg`:e.includes(\"video/\")?`${p}video-32.svg`:e.includes(\"msexcel\")||e.includes(\"ms-excel\")||e.includes(\"spreadsheetml\")?`${p}excel-32.svg`:e.includes(\"msword\")||e.includes(\"ms-word\")||e.includes(\"wordprocessingml\")?`${p}word-32.svg`:e.includes(\"powerpoint\")||e.includes(\"presentationml\")?`${p}report-32.svg`:`${p}generic-32.svg`:`${p}generic-32.svg`}function a(i){return i?\"text/plain\"===i?\"file-text\":\"application/pdf\"===i?\"file-pdf\":\"text/csv\"===i?\"file-csv\":\"application/gpx+xml\"===i?\"file-gpx\":\"application/x-dwf\"===i?\"file-cad\":\"application/postscript\"===i||\"application/json\"===i||\"text/xml\"===i||\"model/vrml\"===i?\"file-code\":\"application/x-zip-compressed\"===i||\"application/x-7z-compressed\"===i||\"application/x-gzip\"===i||\"application/x-tar\"===i||\"application/x-gtar\"===i||\"application/x-bzip2\"===i||\"application/gzip\"===i||\"application/x-compress\"===i||\"application/x-apple-diskimage\"===i||\"application/x-rar-compressed\"===i||\"application/zip\"===i?\"file-zip\":i.includes(\"image/\")?\"file-image\":i.includes(\"audio/\")?\"file-sound\":i.includes(\"video/\")?\"file-video\":i.includes(\"msexcel\")||i.includes(\"ms-excel\")||i.includes(\"spreadsheetml\")?\"file-excel\":i.includes(\"msword\")||i.includes(\"ms-word\")||i.includes(\"wordprocessingml\")?\"file-word\":i.includes(\"powerpoint\")||i.includes(\"presentationml\")?\"file-ppt\":\"file\":\"file\"}export{a as getCalciteIconForAttachment,p as getIconPath,e as isSupportedImage};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{_ as e}from\"../chunks/tslib.es6.js\";import{on as t}from\"../core/reactiveUtils.js\";import{property as i}from\"../core/accessorSupport/decorators/property.js\";import\"../core/has.js\";import\"../core/Logger.js\";import\"../core/RandomLCG.js\";import{subclass as r}from\"../core/accessorSupport/decorators/subclass.js\";import s from\"./Widget.js\";import o from\"./Attribution/AttributionViewModel.js\";import{globalCss as n}from\"./support/globalCss.js\";import{accessibleHandler as l}from\"./support/decorators/accessibleHandler.js\";import{messageBundle as p}from\"./support/decorators/messageBundle.js\";import{tsx as d}from\"./support/jsxFactory.js\";import\"./support/widgetUtils.js\";const c=\"esri-attribution\",a={base:c,poweredBy:`${c}__powered-by`,sources:`${c}__sources`,open:`${c}--open`,sourcesOpen:`${c}__sources--open`,link:`${c}__link`};let h=class extends s{constructor(e,t){super(e,t),this._isOpen=!1,this._attributionTextOverflowed=!1,this._prevSourceNodeHeight=0,this._resizeObserver=new ResizeObserver((e=>e.forEach((({target:e})=>this._checkSourceTextOverflow(e))))),this.itemDelimiter=\" | \",this.messages=null,this.viewModel=new o}initialize(){this.addHandles(t((()=>this.viewModel?.items),\"change\",(()=>this.scheduleRender())))}destroy(){this._resizeObserver?.disconnect()}get _isInteractive(){return this._isOpen||this._attributionTextOverflowed}get attributionText(){return this.viewModel.items.reduce(((e,t)=>(e.includes(t.text)||e.push(t.text),e)),[]).join(this.itemDelimiter)}get icon(){return\"description\"}set icon(e){this._overrideIfSome(\"icon\",e)}get label(){return this.messages?.widgetLabel??\"\"}set label(e){this._overrideIfSome(\"label\",e)}get view(){return this.viewModel.view}set view(e){this.viewModel.view=e}render(){const e={[a.open]:this._isOpen};return d(\"div\",{bind:this,class:this.classes(a.base,n.widget,e),dir:\"ltr\",onclick:this._toggleState,onkeydown:this._toggleState},this._renderSourcesNode(),this._renderPoweredBy())}_renderPoweredBy(){return d(\"div\",{class:a.poweredBy},\"Powered by\",\" \",d(\"a\",{class:a.link,href:\"https://www.esri.com/\",rel:\"noreferrer\",target:\"_blank\"},\"Esri\"))}_renderSourcesNode(){const e=this._isOpen,t=this._isInteractive,i=t?0:void 0,{attributionText:r}=this,s={[a.sourcesOpen]:e,[n.interactive]:t};return d(\"div\",{afterCreate:this._afterSourcesNodeCreate,bind:this,class:this.classes(a.sources,s),innerHTML:r,tabIndex:i})}_afterSourcesNodeCreate(e){this._prevSourceNodeHeight=e.clientWidth,this._resizeObserver.observe(e)}_checkSourceTextOverflow(e){let t=!1;const{clientHeight:i,clientWidth:r,scrollWidth:s}=e,o=s>r,n=this._attributionTextOverflowed!==o;if(this._attributionTextOverflowed=o,n&&(t=!0),this._isOpen){const e=it.text!==e[i].text))}function b(t,e,i){if(!i||!e)return;t.find((t=>t.layerView===e&&t.text===i))||t.push({text:i,layerView:e})}function g(t){return\"bing-maps\"===t.type}const A=[];let _=class extends e{constructor(t){super(t),this._clear=()=>{this._fetchedAttributionData.clear(),this._pendingAttributions.clear(),this.removeHandles(\"suspension\"),this.notifyChange(\"state\")},this._pendingAttributions=new Set,this._fetchedAttributionData=new Map,this.items=new r,this.view=null,this._allLayerViewsChange=t=>{this.removeHandles(\"suspension\"),this.removeHandles(\"visible-geometry-changed\");const e=this.view?.allLayerViews;e&&(this.addHandles(e.map((t=>s((()=>[t.suspended,t.layer?.attributionVisible]),(()=>this._updateAttributionItems())))).toArray(),\"suspension\"),e.forEach((t=>{\"esri.views.3d.layers.Tiles3DLayerView3D\"===t.declaredClass&&this.addHandles(t.on(\"visible-geometry-changed\",(()=>this._updateAttributionItems())),\"visible-geometry-changed\")}))),t?.removed&&t.removed.forEach((t=>{this._pendingAttributions.delete(t),this._fetchedAttributionData.delete(t)})),this._updateAttributionItems()},this.addHandles([o((()=>this.view?.allLayerViews),\"change\",(t=>this._allLayerViewsChange(t)),{onListenerAdd:()=>this._allLayerViewsChange(),onListenerRemove:this._clear}),n((()=>!0===this.view?.stationary),(()=>this._updateAttributionItems()))])}destroy(){this.view=null,this._fetchedAttributionData.clear(),this._pendingAttributions.clear(),this.items.removeAll()}get state(){return this.view?.ready?this._pendingAttributions.size>0?\"loading\":\"ready\":\"disabled\"}_updateAttributionItems(){const t=this.view,e=t?.allLayerViews;if(A.length=0,!t||!e)return void this._clear();e.forEach((e=>{if(e.suspended||!e.layer?.attributionVisible)return;const i=e.layer;if(f(i,\"user\"))return void b(A,e,i.copyright);if(i.hasAttributionData){if(this._fetchedAttributionData.has(e)){const r=this._fetchedAttributionData.get(e);return void(r?b(A,e,this._getDynamicAttribution(r,t,i)):f(i)&&b(A,e,i.copyright))}return void this._fetchAttributionData(e)}const r=\"portalItem\"in i?i.portalItem?.accessInformation:void 0;b(A,e,r||i.copyright)}));const i=e.find((t=>\"integrated-mesh-3dtiles\"===t.layer?.type));if(this.view&&i){const t=p(this.view);if(t){const e=t.getAttributionText();for(let t=0;t{const e=t.id,i=!c.has(e)&&a&&t.extent&&u(t.extent,a);return i&&c.add(e),i})).sort(((t,e)=>e.score-t.score||t.objectId-e.objectId)).map((t=>t.attribution)).join(\", \"):\"\"}};t([a({readOnly:!0,type:r})],_.prototype,\"items\",void 0),t([a({readOnly:!0})],_.prototype,\"state\",null),t([a()],_.prototype,\"view\",void 0),_=t([c(\"esri.widgets.Attribution.AttributionViewModel\")],_);const v=_;export{v as default};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{_ as e}from\"../chunks/tslib.es6.js\";import{property as t}from\"../core/accessorSupport/decorators/property.js\";import\"../core/has.js\";import\"../core/Logger.js\";import\"../core/RandomLCG.js\";import{subclass as s}from\"../core/accessorSupport/decorators/subclass.js\";import o from\"./Widget.js\";import r from\"./Compass/CompassViewModel.js\";import{css as i}from\"./Compass/css.js\";import{loadCalciteComponents as n}from\"./support/componentsUtils.js\";import{globalCss as a}from\"./support/globalCss.js\";import\"./support/widgetUtils.js\";import{messageBundle as l}from\"./support/decorators/messageBundle.js\";import{tsx as p}from\"./support/jsxFactory.js\";let c=class extends o{constructor(e,t){super(e,t),this.messages=null,this.viewModel=new r,this._reset=()=>{this.viewModel.reset()},this._toRotationTransform=e=>({transform:`rotateZ(${e.z}deg)`})}loadDependencies(){return n({button:()=>import(\"@esri/calcite-components/dist/components/calcite-button.js\"),icon:()=>import(\"@esri/calcite-components/dist/components/calcite-icon.js\")})}get goToOverride(){return this.viewModel.goToOverride}set goToOverride(e){this.viewModel.goToOverride=e}get icon(){return\"rotation\"===this.viewModel.state?\"arrow-up\":\"compass-needle\"}set icon(e){this._overrideIfSome(\"icon\",e)}get label(){return this.messages?.widgetLabel??\"\"}set label(e){this._overrideIfSome(\"label\",e)}get view(){return this.viewModel.view}set view(e){this.viewModel.view=e}reset(){return this.viewModel.reset()}render(){const{orientation:e,state:t}=this.viewModel,{messages:s}=this;return p(\"div\",{class:this.classes(i.base,a.widget)},p(\"calcite-button\",{class:a.widgetButton,disabled:\"disabled\"===t,kind:\"neutral\",label:s.reset,onclick:this._reset,round:!0,scale:\"s\",title:s.reset},p(\"div\",{\"aria-hidden\":\"true\",class:i.iconContainer,title:s.reset},p(\"calcite-icon\",{icon:this.icon,styles:this._toRotationTransform(e)}))))}};e([t()],c.prototype,\"goToOverride\",null),e([t()],c.prototype,\"icon\",null),e([t()],c.prototype,\"label\",null),e([t(),l(\"esri/widgets/Compass/t9n/Compass\")],c.prototype,\"messages\",void 0),e([t()],c.prototype,\"view\",null),e([t({type:r})],c.prototype,\"viewModel\",void 0),c=e([s(\"esri.widgets.Compass\")],c);const d=c;export{d as default};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{_ as t}from\"../../chunks/tslib.es6.js\";import o from\"../../core/Accessor.js\";import{watch as e,initial as i}from\"../../core/reactiveUtils.js\";import{property as r}from\"../../core/accessorSupport/decorators/property.js\";import\"../../core/has.js\";import\"../../core/Logger.js\";import\"../../core/RandomLCG.js\";import{subclass as s}from\"../../core/accessorSupport/decorators/subclass.js\";import{getGoToDuration as a}from\"../../views/2d/navigation/duration.js\";import{canShowNorth as n}from\"./utils.js\";import{GoToMixin as d}from\"../support/GoTo.js\";let p=class extends(d(o)){constructor(t){super(t),this.orientation={x:0,y:0,z:0},this.view=null,this._updateForCamera=this._updateForCamera.bind(this),this._updateForRotation=this._updateForRotation.bind(this),this._updateRotationWatcher=this._updateRotationWatcher.bind(this)}initialize(){this.addHandles(e((()=>this.view),this._updateRotationWatcher,i))}destroy(){this.view=null}get canShowNorth(){return n(this.view)}get state(){return!this.view?.ready||\"2d\"===this.view.type&&!this.view.constraints.rotationEnabled?\"disabled\":this.canShowNorth?\"compass\":\"rotation\"}reset(){this.view?.ready&&(\"2d\"===this.view?.type?this.callGoTo({target:{rotation:0},options:{animationMode:\"always\",duration:a()}}):this.callGoTo({target:{heading:0}}))}_updateForRotation(t){null!=t&&this._set(\"orientation\",{z:t})}_updateForCamera(t){if(!t)return;const o=-t.heading;this._set(\"orientation\",{x:0,y:0,z:o})}_updateRotationWatcher(t){this.removeAllHandles(),t&&this.addHandles(\"2d\"===t.type?e((()=>t?.rotation),this._updateForRotation,i):e((()=>t?.camera),this._updateForCamera,i))}};t([r({readOnly:!0})],p.prototype,\"canShowNorth\",null),t([r({readOnly:!0})],p.prototype,\"orientation\",void 0),t([r({readOnly:!0})],p.prototype,\"state\",null),t([r()],p.prototype,\"view\",void 0),p=t([s(\"esri.widgets.Compass.CompassViewModel\")],p);const h=p;export{h as default};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nconst n=\"esri-compass\",o={base:n,iconContainer:`${n}__icon-container`};export{o as css};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nfunction e(e){return e?.spatialReference?.isWebMercator||e?.spatialReference?.isGeographic||!1}export{e as canShowNorth};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{_ as e}from\"../chunks/tslib.es6.js\";import{ignoreAbortErrors as t}from\"../core/promiseUtils.js\";import{property as s}from\"../core/accessorSupport/decorators/property.js\";import\"../core/has.js\";import\"../core/Logger.js\";import\"../core/RandomLCG.js\";import{subclass as i}from\"../core/accessorSupport/decorators/subclass.js\";import o from\"./Widget.js\";import r from\"./DistanceMeasurement2D/DistanceMeasurement2DViewModel.js\";import{globalCss as n}from\"./support/globalCss.js\";import{MeasurementWidgetContent as l}from\"./support/MeasurementWidgetContent.js\";import\"./support/widgetUtils.js\";import{messageBundle as a}from\"./support/decorators/messageBundle.js\";import{tsx as p}from\"./support/jsxFactory.js\";const u=\"esri-distance-measurement-2d\",m={base:u,newMeasurementButton:`${u}__clear-button`};let c=class extends o{constructor(e,t){super(e,t),this.messages=null,this.messagesCommon=null,this.viewModel=new r}get active(){return this.viewModel.active}get icon(){return\"measure-line\"}set icon(e){this._overrideIfSome(\"icon\",e)}get label(){return this.messages?.widgetLabel??\"\"}set label(e){this._overrideIfSome(\"label\",e)}get unit(){return this.viewModel.unit}set unit(e){this.viewModel.unit=e}get unitOptions(){return this.viewModel.unitOptions}set unitOptions(e){this.viewModel.unitOptions=e}get view(){return this.viewModel.view}set view(e){this.viewModel.view=e}get visible(){return this.viewModel.visible}set visible(e){this.viewModel.visible=e}render(){const{messages:e,messagesCommon:s,unit:i,unitOptions:o,viewModel:r}=this,{active:a,measurementLabel:u,state:c,supported:d}=r;return p(\"div\",{\"aria-label\":this.messages.widgetLabel,class:this.classes(m.base,n.widget,n.panel),key:this,role:\"presentation\"},this.visible?p(l,{active:a,measurementItems:[{key:\"distance\",title:e.distance,value:u}],messages:{...e,notApplicable:s.notApplicable},newMeasurementButtonClass:m.newMeasurementButton,state:c,supported:d,unit:i,unitOptions:o,onNewMeasurementClick:()=>{t(this.viewModel.start())},onUnitChange:e=>{this.unit=e}}):null)}};e([s({readOnly:!0})],c.prototype,\"active\",null),e([s()],c.prototype,\"icon\",null),e([s()],c.prototype,\"label\",null),e([s()],c.prototype,\"uiStrings\",void 0),e([s(),a(\"esri/widgets/DistanceMeasurement2D/t9n/DistanceMeasurement2D\")],c.prototype,\"messages\",void 0),e([s(),a(\"esri/t9n/common\")],c.prototype,\"messagesCommon\",void 0),e([s()],c.prototype,\"unit\",null),e([s()],c.prototype,\"unitOptions\",null),e([s()],c.prototype,\"view\",null),e([s({type:r})],c.prototype,\"viewModel\",void 0),e([s({type:Boolean})],c.prototype,\"visible\",null),c=e([i(\"esri.widgets.DistanceMeasurement2D\")],c);const d=c;export{d as default};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{_ as e}from\"../../chunks/tslib.es6.js\";import\"../../geometry.js\";import t from\"../../Graphic.js\";import\"../../intl.js\";import\"../../symbols.js\";import{getContrast as i,multiplyOpacity as s,BrightnessThreshold as r}from\"../../core/colorUtils.js\";import{handlesGroup as o}from\"../../core/handleUtils.js\";import{destroyMaybe as n}from\"../../core/maybe.js\";import{watch as a,initial as p}from\"../../core/reactiveUtils.js\";import{formatDecimal as l,formatImperialLength as m,formatMetricLength as c}from\"../../core/unitFormatUtils.js\";import{convertUnit as h}from\"../../core/unitUtils.js\";import{property as u}from\"../../core/accessorSupport/decorators/property.js\";import\"../../core/has.js\";import\"../../core/Logger.js\";import\"../../core/RandomLCG.js\";import{subclass as d}from\"../../core/accessorSupport/decorators/subclass.js\";import{UpdatingHandles as g}from\"../../core/support/UpdatingHandles.js\";import{geodesicLength as y,geodesicDensify as v,planarLength as _}from\"../../geometry/geometryEngine.js\";import{project as f}from\"../../geometry/projection.js\";import{isSupported as w,geodesicLengths as j,geodesicDensify as L}from\"../../geometry/support/geodesicUtils.js\";import b from\"../../layers/GraphicsLayer.js\";import{ViewingMode as S}from\"../../views/ViewingMode.js\";import{SnappingVisualizer2D as M}from\"../../views/2d/interactive/SnappingVisualizer2D.js\";import x from\"../../views/draw/Draw.js\";import{createCoordinateHelper as C}from\"../../views/interactive/coordinateHelper.js\";import{createManipulatorDragEventPipeline as A,screenToMap as G,dragManipulatedObject as D}from\"../../views/interactive/dragEventPipeline.js\";import{GraphicManipulator as R}from\"../../views/interactive/GraphicManipulator.js\";import{InteractiveToolBase as T}from\"../../views/interactive/InteractiveToolBase.js\";import{EditGeometry as k}from\"../../views/interactive/editGeometry/EditGeometry.js\";import{EditGeometryOperations as H}from\"../../views/interactive/editGeometry/EditGeometryOperations.js\";import{SnappingContext as P}from\"../../views/interactive/snapping/SnappingContext.js\";import{createSnapDragEventPipelineStep as U}from\"../../views/interactive/snapping/SnappingDragPipelineStep.js\";import{acquire as E}from\"../../views/interactive/snapping/SnappingManagerPool.js\";import{setupSnappingToggleHandles as I}from\"../../views/interactive/snapping/snappingUtils.js\";import{fetchMessageBundle as O}from\"../../intl/messages.js\";import{onLocaleChange as z}from\"../../intl/locale.js\";import W from\"../../geometry/Point.js\";import V from\"../../symbols/CIMSymbol.js\";import B from\"../../symbols/TextSymbol.js\";import F from\"../../symbols/Font.js\";import N from\"../../symbols/SimpleMarkerSymbol.js\";import q from\"../../geometry/Polyline.js\";import J from\"../../geometry/SpatialReference.js\";const K=1e5;let Q=class extends T{constructor(e){super(e),this._drawActive=!1,this._measurementLayer=new b({internal:!0,listMode:\"hide\",visible:!1}),this._manipulatorLayer=new b({internal:!0,listMode:\"hide\",visible:!1}),this._snappingLayer=new b({internal:!0,listMode:\"hide\",visible:!1}),this._updatingHandles=new g,this._vertices=[],this.geodesicDistanceThreshold=null,this.measurement=null,this.measurementLabel=null}initialize(){O(\"esri/core/t9n/Units\").then((e=>{this.messages=e}));const e=this.view;this._draw=new x({view:e}),e.map.addMany([this._measurementLayer,this._manipulatorLayer,this._snappingLayer]),e.focus(),this._snappingManagerResult=E(e),this.addHandles([z((async()=>{this.messages=await O(\"esri/core/t9n/Units\")})),a((()=>[this.unit,this.geodesicDistanceThreshold,this.messages]),(()=>{this._updatePolylines()}),p),a((()=>[this.view.effectiveTheme.accentColor,this.view.effectiveTheme.textColor]),(()=>{if(!this._vertices.length)return;const e=this._vertices.map((({coord:e})=>e));for(const{handle:t}of this._vertices)t.remove();this._vertices=[],this._measurementLayer.removeAll(),this._manipulatorLayer.removeAll(),this._snappingLayer.removeAll(),this.manipulators.removeAll(),this._updateSketch(e)})),a((()=>this.snappingOptions.featureSources),(e=>{for(const t of e)t.layer!==this._measurementLayer&&t.layer!==this._manipulatorLayer||(t.enabled=!1)}),p),this._snappingManagerResult]),I(this)}destroy(){const{map:e}=this.view;this._draw.view=null,this._draw=n(this._draw),e.removeMany([this._measurementLayer,this._manipulatorLayer,this._snappingLayer]),this._measurementLayer.removeAll(),this._manipulatorLayer.removeAll(),this._snappingLayer.removeAll(),this._set(\"measurement\",null),this._set(\"measurementLabel\",null),this._measurementLayer=n(this._measurementLayer),this._manipulatorLayer=n(this._manipulatorLayer),this._snappingLayer=n(this._snappingLayer),this._updatingHandles=n(this._updatingHandles),this._resetVertices()}get _snappingManager(){return this._snappingManagerResult.snappingManager}get cursor(){return this._drawActive?\"crosshair\":null}set editable(e){this._set(\"editable\",e),e||this._draw.reset()}get snappingOptions(){return this._snappingManager.options}get updating(){return this._updatingHandles.updating||this._snappingManager.updating}onActivate(){this._drawActive||0!==this._vertices.length||this._startSketch()}onShow(){this._measurementLayer.visible=!0,this._manipulatorLayer.visible=!0,this._snappingLayer.visible=!0}onHide(){this._measurementLayer.visible=!1,this._manipulatorLayer.visible=!1,this._snappingLayer.visible=!1}_getSnappingContext(e){return new P({elevationInfo:{mode:\"on-the-ground\",offset:0},pointer:e,editGeometryOperations:new H(new k(\"point\",C(!1,!1,this.view.spatialReference)),S.Local),visualizer:new M(this._snappingLayer)})}_resetVertices(){for(const{handle:e}of this._vertices)e.remove();this._vertices=[]}_startSketch(){this._drawActive=!0;const e=this._snappingManager,t=this._draw.create(\"polyline\",{mode:\"click\",snappingManager:e});t.on([\"vertex-add\",\"vertex-update\",\"vertex-remove\",\"cursor-update\",\"undo\",\"redo\"],(e=>this._updateSketch(e.vertices))),t.on(\"draw-complete\",(()=>{this._stopSketch()}))}_stopSketch(){this.manipulators.forEach((({manipulator:e})=>{e.interactive=!0})),this._drawActive=!1,this.finishToolCreation()}_updateSketch(e){const{spatialReference:t}=this.view;for(;this._vertices.length>e.length;){const{handle:e,manipulator:t}=this._vertices.pop();e.remove(),this.manipulators.remove(t)}for(let p=this._vertices.length;p{const t=e.vertices.at(0);t&&(this._vertices[p].coord=[t.pos[0],t.pos[1]],this._updatePolylines())})),A(n,((e,t,i,s)=>{const r=this._getSnappingContext(s),o=this._snappingManager,n=this._updatingHandles,{snappingStep:p}=U({snappingContext:r,snappingManager:o,updatingHandles:n});t.next(G(this.view)).next((t=>{if(\"start\"===t.action){const i=new W(t.mapStart);e.graphic.geometry=i,a.trySetGeometry(i)}return t})).next(...p).next(D({operations:a})).next((()=>{e.graphic.geometry=a.data.geometry}))}))];this._vertices.push({manipulator:n,coord:[i,s],handle:o(l)})}const i=this._vertices.length-1,s=this._vertices[i],[r,n]=e[i];s.coord[0]===r&&s.coord[1]===n||(s.coord=[r,n],s.manipulator.graphic.geometry=new W({x:r,y:n,spatialReference:t}));const a=this._drawActive?this._vertices[i].manipulator:null;this.manipulators.forEach((({manipulator:e})=>{e.interactive=null==a||e!==a})),this._updatePolylines()}_updatePolylines(){if(this._vertices.length<2)return void this._measurementLayer.removeAll();const e=this._vertices.map((({coord:e})=>e)),{measurement:o,drawing:n,original:a}=Y(e,this.view.spatialReference,this.geodesicDistanceThreshold);this._set(\"measurement\",o);const p=ee(this.messages,o,this.unit);let l,m;this._set(\"measurementLabel\",p);const{graphics:c}=this._measurementLayer,h=2===c.length,{effectiveTheme:u}=this.view;h?(l=c.at(0),m=c.at(1)):(l=new t({symbol:new V({data:{type:\"CIMSymbolReference\",symbol:{type:\"CIMLineSymbol\",symbolLayers:[{type:\"CIMSolidStroke\",effects:[{type:\"CIMGeometricEffectDashes\",dashTemplate:[14,12],lineDashEnding:\"FullGap\",controlPointEnding:\"NoConstraint\"}],enable:!0,capStyle:\"Butt\",joinStyle:\"Round\",width:3.5,color:i(u.accentColor).toArray()},{type:\"CIMSolidStroke\",enable:!0,capStyle:\"Butt\",joinStyle:\"Round\",width:5,color:u.accentColor.toArray()}]}}})}),m=new t({symbol:new B({color:u.textColor,haloColor:s(i(u.textColor,r.Low),.5),haloSize:2,font:new F({size:14,family:\"sans-serif\"})})}),c.removeAll(),c.addMany([l,m])),l.geometry=n,m.geometry=a.extent?.center,m.symbol.text=p}};function X(e,i,r){const o=s(i.effectiveTheme.accentColor,.5),n={type:\"simple-line\",width:0},a=8,p=new N({style:\"circle\",color:o,size:a,outline:n}),l=new N({style:\"circle\",color:o,size:1.5*a,outline:n}),m=new t({geometry:e,symbol:p});return new R({view:i,layer:r,graphic:m,focusedSymbol:l})}function Y(e,t,i){const s=new q({paths:[e],spatialReference:t});let r,o;if(t.isGeographic)if(w(t))r=j([s],\"meters\")[0],o=L(s,K);else{const e=f(s,J.WGS84),i=L(e,K);r=j([e],\"meters\")[0],o=f(i,t)}else if(t.isWebMercator)r=y(s,\"meters\"),o=v(s,K,\"meters\");else{const e=_(s,\"meters\");if(null!=i&&e>=i){const e=f(s,J.WGS84),i=L(e,K);r=j([e],\"meters\")[0],o=f(i,t)}else r=e,o=s}return{measurement:{geometry:o,length:r},original:s,drawing:o}}function Z(e){return null!=e}function $(e){if(!e)return!1;const{isGeographic:t,isWebMercator:i,isWGS84:s}=e;return t&&!s&&!w(e)||!t&&!i}function ee(e,t,i){if(!t||!e)return\"\";switch(i){case\"metric\":return c(e,t.length,\"meters\");case\"imperial\":return m(e,t.length,\"meters\");default:return l(e,h(t.length,\"meters\",i),i)}}e([u()],Q.prototype,\"_drawActive\",void 0),e([u({readOnly:!0})],Q.prototype,\"cursor\",null),e([u({value:!0})],Q.prototype,\"editable\",null),e([u({type:Number})],Q.prototype,\"geodesicDistanceThreshold\",void 0),e([u({readOnly:!0})],Q.prototype,\"measurement\",void 0),e([u({readOnly:!0})],Q.prototype,\"measurementLabel\",void 0),e([u()],Q.prototype,\"messages\",void 0),e([u()],Q.prototype,\"unit\",void 0),e([u()],Q.prototype,\"updating\",null),e([u({constructOnly:!0})],Q.prototype,\"view\",void 0),Q=e([d(\"esri.widgets.DistanceMeasurement2D.DistanceMeasurement2DTool\")],Q);export{Q as DistanceMeasurement2DTool,Y as createDistanceMeasurementInfo2D,ee as createDistanceMeasurementLabel,$ as isProjectionEngineRequired,Z as isSupported};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{_ as e}from\"../../chunks/tslib.es6.js\";import{deprecatedProperty as t}from\"../../core/deprecate.js\";import s from\"../../core/Logger.js\";import{watch as i,initial as o,whenOnce as r}from\"../../core/reactiveUtils.js\";import{measurementLengthUnits as n}from\"../../core/unitUtils.js\";import{property as l}from\"../../core/accessorSupport/decorators/property.js\";import\"../../core/has.js\";import\"../../core/RandomLCG.js\";import{subclass as a}from\"../../core/accessorSupport/decorators/subclass.js\";import{load as u}from\"../../geometry/projection.js\";import{defaultUnitPropertyMetadata as c}from\"../../properties/defaultUnit.js\";import{isSupported as d,isProjectionEngineRequired as h,DistanceMeasurement2DTool as p}from\"./DistanceMeasurement2DTool.js\";import{InteractiveToolViewModel as m}from\"../support/InteractiveToolViewModel.js\";let g=class extends m{constructor(e){super(e),this.supportedViewType=\"2d\",this.unsupportedErrorMessage=\"DistanceMeasurement2DViewModel is only supported in 2D views.\"}initialize(){this.addHandles([i((()=>this.view?.spatialReference),(()=>this.clear())),i((()=>this.unit),(e=>{null!=this.tool&&(this.tool.unit=e)}),o),i((()=>this.geodesicDistanceThreshold),(e=>{null!=this.tool&&(this.tool.geodesicDistanceThreshold=e)}),o)])}get geodesicDistanceThreshold(){return this._get(\"geodesicDistanceThreshold\")}set geodesicDistanceThreshold(e){t(s.getLogger(this),\"geodesicDistanceThreshold\",{version:\"4.29\",warnOnce:!0}),this._set(\"geodesicDistanceThreshold\",e)}get measurement(){return null!=this.tool?this.tool.measurement:null}get measurementLabel(){return null!=this.tool?this.tool.measurementLabel:null}get state(){return this.disabled||null==this.view||!d(this.view?.spatialReference)?\"disabled\":null!=this.tool&&this.measurement?this.tool.active?\"measuring\":\"measured\":\"ready\"}get unit(){return this._validateUnit(this.defaultUnit)}set unit(e){this._overrideIfSome(\"unit\",this._validateUnit(e))}get unitOptions(){return n}set unitOptions(e){this._overrideIfSome(\"unitOptions\",this._validateUnits(e))}async start(){const e=this.view;null!=e&&(await r((()=>e.ready)),h(e.spatialReference)&&await u()),this.createTool({interactive:!0})}clear(){this.removeTool()}constructTool(){return new p({view:this.view,visible:this.visible,geodesicDistanceThreshold:this.geodesicDistanceThreshold,unit:this.unit})}_validateUnit(e){const{unitOptions:t,defaultUnit:s}=this;return null!=e&&t.includes(e)?e:t.includes(s)?s:t.length>0?t[0]:s}_validateUnits(e){if(null==e)return[];const t=e.filter((e=>n.includes(e)));return 0===t.length?n.slice():t}};e([l(c)],g.prototype,\"defaultUnit\",void 0),e([l()],g.prototype,\"geodesicDistanceThreshold\",null),e([l({readOnly:!0})],g.prototype,\"measurement\",null),e([l({readOnly:!0})],g.prototype,\"measurementLabel\",null),e([l({readOnly:!0})],g.prototype,\"state\",null),e([l({type:String})],g.prototype,\"unit\",null),e([l({type:[String]})],g.prototype,\"unitOptions\",null),g=e([a(\"esri.widgets.DistanceMeasurement2D.DistanceMeasurement2DViewModel\")],g);const f=g;export{f as default};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{_ as e}from\"../chunks/tslib.es6.js\";import\"../intl.js\";import{watch as t,initial as s}from\"../core/reactiveUtils.js\";import{property as i}from\"../core/accessorSupport/decorators/property.js\";import{cast as n}from\"../core/accessorSupport/decorators/cast.js\";import\"../core/RandomLCG.js\";import\"../core/has.js\";import{subclass as o}from\"../core/accessorSupport/decorators/subclass.js\";import r from\"./Widget.js\";import l from\"./Feature/FeatureAttachments.js\";import d from\"./Feature/FeatureContent.js\";import a from\"./Feature/FeatureExpression.js\";import c from\"./Feature/FeatureFields.js\";import p from\"./Feature/FeatureMedia.js\";import u from\"./Feature/FeatureRelationship.js\";import m from\"./Feature/FeatureUtilityNetworkAssociations.js\";import h from\"./Feature/FeatureViewModel.js\";import{css as y}from\"./Feature/resources.js\";import{FeatureContentMixin as v}from\"./Feature/support/FeatureContentMixin.js\";import{loadCalciteComponents as g}from\"./support/componentsUtils.js\";import{globalCss as w}from\"./support/globalCss.js\";import{Heading as f}from\"./support/Heading.js\";import\"./support/widgetUtils.js\";import{messageBundle as _}from\"./support/decorators/messageBundle.js\";import{tsx as M}from\"./support/jsxFactory.js\";import{substitute as E}from\"../intl/substitute.js\";const b={title:!0,content:!0,lastEditedInfo:!0};let j=class extends(v(r)){constructor(e,t){super(e,t),this._contentWidgets=[],this.flowType=\"feature\",this.flowItems=null,this.headingLevel=2,this.messages=null,this.messagesCommon=null,this.visibleElements={...b},this.viewModel=new h}initialize(){this.addHandles(t((()=>this.viewModel?.contentViewModels),(()=>this._setupContentWidgets()),s))}loadDependencies(){return g({notice:()=>import(\"@esri/calcite-components/dist/components/calcite-notice.js\"),loader:()=>import(\"@esri/calcite-components/dist/components/calcite-loader.js\")})}destroy(){this._destroyContentWidgets()}get graphic(){return this.viewModel.graphic}set graphic(e){this.viewModel.graphic=e}get defaultPopupTemplateEnabled(){return this.viewModel.defaultPopupTemplateEnabled}set defaultPopupTemplateEnabled(e){this.viewModel.defaultPopupTemplateEnabled=e}get isTable(){return this.viewModel.isTable}get icon(){return\"polygon\"}set icon(e){this._overrideIfSome(\"icon\",e)}get label(){return this.messages?.widgetLabel??\"\"}set label(e){this._overrideIfSome(\"label\",e)}get location(){return this.viewModel.location}set location(e){this.viewModel.location=e}get spatialReference(){return this.viewModel.spatialReference}set spatialReference(e){this.viewModel.spatialReference=e}get timeZone(){return this.viewModel.timeZone}set timeZone(e){this.viewModel.timeZone=e}get title(){return this.viewModel.title}castVisibleElements(e){return{...b,...e}}get map(){return this.viewModel.map}set map(e){this.viewModel.map=e}get view(){return this.viewModel.view}set view(e){this.viewModel.view=e}setActiveMedia(e,t){return this.viewModel.setActiveMedia(e,t)}nextMedia(e){return this.viewModel.nextMedia(e)}previousMedia(e){return this.viewModel.previousMedia(e)}render(){const{state:e}=this.viewModel,t=M(\"div\",{class:y.container,key:\"container\"},this._renderTitle(),\"error\"===e?this._renderError():\"loading\"===e?this._renderLoading():this._renderContentContainer());return M(\"div\",{class:this.classes(y.base,w.widget)},t)}_renderError(){const{messagesCommon:e,messages:t,visibleElements:s}=this;return M(\"calcite-notice\",{icon:\"exclamation-mark-circle\",kind:\"danger\",open:!0,scale:\"s\"},s.title?M(\"div\",{key:\"error-title\",slot:\"title\"},e.errorMessage):null,M(\"div\",{key:\"error-message\",slot:\"message\"},t.loadingError))}_renderLoading(){return M(\"div\",{class:y.loadingSpinnerContainer,key:\"loading-container\"},M(\"calcite-loader\",{inline:!0,label:\"\"}))}_renderContentContainer(){const{visibleElements:e}=this;return e.content?M(\"div\",{class:y.main},[this._renderContent(),this._renderLastEditInfo()]):null}_renderTitle(){const{visibleElements:e,title:t}=this;return e.title?M(f,{class:y.title,innerHTML:t,level:this.headingLevel}):null}_renderContent(){const e=this.viewModel.content,t=\"content\";if(!e)return null;if(Array.isArray(e))return e.length?M(\"div\",{class:y.contentNode,key:`${t}-content-elements`},e.map(this._renderContentElement,this)):null;if(\"string\"==typeof e){const e=this._contentWidgets[0];return!e||e.destroyed?null:M(\"div\",{class:this.classes(y.contentNode,y.contentNodeText),key:`${t}-content`},e.render())}return this.renderNodeContent(e)}_renderContentElement(e,t){const{visibleElements:s}=this;if(\"boolean\"!=typeof s.content&&!s.content?.[e.type])return null;switch(e.type){case\"attachments\":return this._renderAttachments(t);case\"custom\":return this._renderCustom(e,t);case\"fields\":return this._renderFields(t);case\"media\":return this._renderMedia(t);case\"text\":return this._renderText(e,t);case\"expression\":return this._renderExpression(t);case\"relationship\":return this._renderRelationship(t);case\"utility-network-associations\":return this._renderAssociation(t);default:return null}}_renderAttachments(e){const t=this._contentWidgets[e];if(!t||t.destroyed)return null;const{state:s,attachmentInfos:i}=t.viewModel;return\"loading\"===s||i.length>0?M(\"div\",{class:this.classes(y.contentElement),key:this._buildKey(\"attachments-element\",e)},t.render()):null}_renderRelationship(e){const t=this._contentWidgets[e];return t&&!t.destroyed&&this.flowItems?M(\"div\",{class:y.contentElement,key:this._buildKey(\"relationship-element\",e)},t.render()):null}_renderAssociation(e){const t=this._contentWidgets[e];return t&&!t.destroyed&&this.flowItems?M(\"div\",{class:y.contentElement,key:this._buildKey(\"utility-network-association-element\",e)},t.render()):null}_renderExpression(e){const t=this._contentWidgets[e];return t&&!t.destroyed&&t.viewModel.contentElement?M(\"div\",{class:y.contentElement,key:this._buildKey(\"expression-element\",e)},t.render()):null}_renderCustom(e,t){const{creator:s}=e,i=this._contentWidgets[t];return!i||i.destroyed?null:s?M(\"div\",{class:y.contentElement,key:this._buildKey(\"custom-element\",t)},i.render()):null}_renderFields(e){const t=this._contentWidgets[e];return!t||t.destroyed?null:M(\"div\",{class:y.contentElement,key:this._buildKey(\"fields-element\",e)},t.render())}_renderMedia(e){const t=this._contentWidgets[e];return!t||t.destroyed?null:M(\"div\",{class:y.contentElement,key:this._buildKey(\"media-element\",e)},t.render())}_renderLastEditInfo(){const{visibleElements:e,messages:t}=this,{lastEditInfo:s}=this.viewModel;if(!s||!e.lastEditedInfo)return null;const{date:i,user:n}=s,o=\"edit\"===s.type?n?t.lastEditedByUser:t.lastEdited:n?t.lastCreatedByUser:t.lastCreated,r=E(o,{date:i,user:n});return M(\"div\",{class:this.classes(y.lastEditedInfo,y.contentElement),key:\"edit-info-element\"},r)}_renderText(e,t){const s=e.text,i=this._contentWidgets[t];return!i||i.destroyed?null:s?M(\"div\",{class:this.classes(y.contentElement,y.text),key:this._buildKey(\"text-element\",t)},i.render()):null}_buildKey(e,...t){return`${e}__${this.viewModel?.graphic?.uid||\"0\"}-${t.join(\"-\")}`}_destroyContentWidget(e){e&&(e.viewModel=null,!e.destroyed&&e.destroy())}_destroyContentWidgets(){this._contentWidgets.forEach((e=>this._destroyContentWidget(e))),this._contentWidgets=[]}_setupContentWidgets(){this._destroyContentWidgets();const{headingLevel:e,visibleElements:t,flowItems:s,viewModel:i}=this,n=i?.content,{contentViewModels:o}=i;if(Array.isArray(n))n.forEach(((n,r)=>{if(\"attachments\"===n.type&&(this._contentWidgets[r]=new l({displayType:n.displayType,headingLevel:t.title&&e<6?e+1:e,viewModel:o[r]})),\"fields\"===n.type&&(this._contentWidgets[r]=new c({viewModel:o[r]})),\"media\"===n.type&&(this._contentWidgets[r]=new p({viewModel:o[r]})),\"text\"===n.type&&(this._contentWidgets[r]=new d({viewModel:o[r]})),\"custom\"===n.type&&(this._contentWidgets[r]=new d({viewModel:o[r]})),\"expression\"===n.type&&(this._contentWidgets[r]=new a({viewModel:o[r]})),\"relationship\"===n.type){const e=new u({flowItems:s,featureVisibleElements:t,viewModel:o[r]});this._contentWidgets[r]=e}if(\"utility-network-associations\"===n.type){const e=new m({flowItems:s,parentFeatureViewModel:i,featureVisibleElements:t,viewModel:o[r]});this._contentWidgets[r]=e}}),this);else{const e=o[0];e&&!e.destroyed&&(this._contentWidgets[0]=new d({viewModel:e}))}this.scheduleRender()}};e([i()],j.prototype,\"flowType\",void 0),e([i()],j.prototype,\"graphic\",null),e([i()],j.prototype,\"defaultPopupTemplateEnabled\",null),e([i()],j.prototype,\"flowItems\",void 0),e([i()],j.prototype,\"headingLevel\",void 0),e([i({readOnly:!0})],j.prototype,\"isTable\",null),e([i()],j.prototype,\"icon\",null),e([i()],j.prototype,\"label\",null),e([i()],j.prototype,\"location\",null),e([i(),_(\"esri/widgets/Feature/t9n/Feature\")],j.prototype,\"messages\",void 0),e([i(),_(\"esri/t9n/common\")],j.prototype,\"messagesCommon\",void 0),e([i()],j.prototype,\"spatialReference\",null),e([i()],j.prototype,\"timeZone\",null),e([i({readOnly:!0})],j.prototype,\"title\",null),e([i()],j.prototype,\"visibleElements\",void 0),e([n(\"visibleElements\")],j.prototype,\"castVisibleElements\",null),e([i()],j.prototype,\"map\",null),e([i()],j.prototype,\"view\",null),e([i({type:h})],j.prototype,\"viewModel\",void 0),j=e([o(\"esri.widgets.Feature\")],j);const W=j;export{W as default};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport\"../../intl.js\";import{isSome as e}from\"../../core/arrayUtils.js\";import{neverReached as t}from\"../../core/compilerUtils.js\";import{equalsShallow as n}from\"../../core/lang.js\";import r from\"../../core/Logger.js\";import{templateHasKey as o,replace as i}from\"../../core/string.js\";import{isFieldElement as l}from\"../../form/support/formUtils.js\";import{DomainValidationError as s}from\"../../layers/support/domainUtils.js\";import{isTimeOnlyField as a,NumericRangeValidationError as u,TypeValidationError as m}from\"../../layers/support/fieldUtils.js\";import{getSubtypesFromLayer as p}from\"../../layers/support/layerUtils.js\";import{isAnyDateField as d}from\"../../smartMapping/support/utils.js\";import{getLabelForDateFieldValue as f,getIntlOptionsForField as c}from\"../support/dateUtils.js\";import{substitute as y}from\"../../intl/substitute.js\";const b=e=>\"field\"===e?.type,g=e=>\"group\"===e?.type,x=e=>\"relationship\"===e?.type,O=e=>\"text\"===e.type,T=e=>!g(e)&&null!=e.group,j=e=>e.reduce(((e,t)=>g(t)?[...e,...t.inputs]:[...e,t]),[]),v=e=>j(e).filter(b),F=e=>j(e).filter(x),N=e=>null!=e&&(h(e,\"combo-box\")||h(e,\"radio-buttons\")),h=(e,t)=>null!=e&&e.input?.type===t,V=e=>null!=e&&(h(e,\"text-box\")||h(e,\"text-area\")),E=({domain:e,inputType:t=\"text-box\",dataType:n})=>\"number\"===n&&\"text-box\"===t&&(!e||\"coded-value\"!==e.type);function U(t){const{attributes:n,fieldsIndex:r,label:i,timeZone:l}=t;if(!n||\"object\"!=typeof n)return i;const s=Object.keys(n).filter((e=>o(i,e))),a=s.map((e=>n[e])),u=s.map((e=>r.get(e))).filter(e);return D(i,C({values:a,fields:u,timeZone:l}))}const _=\"expression/\",L=\"expr/\",I=\"field/\";function R(e){const[t,n]=e.split(_);return\"\"===t&&n?n:(r.getLogger(\"esri.widgets.FeatureForm/featureFormUtils\").error(\"extractExpressionNameFromString:invalid-input\",`The string ${e} is not a valid expression reference of the form '${_}/expressionName'`),\"\")}function $(e){return`${_}${e}`}function A(e){return`${I}${e}`}function Z(e){return e.startsWith(_)}function w(e){return e.startsWith(L)}function C(e){const{fields:t,values:n}=e,r=e.timeZone??void 0,o=t.map(((e,t)=>{let o=n[t];if(e.domain&&\"coded-value\"===e.domain.type){const t=e.domain.codedValues.find((e=>e.code===o));t?.name&&(o=t.name)}return(d(e)||a(e))&&(o=f(e,o,{timeZone:r,...c(e)})),[e.name,o]}));return Object.fromEntries(o)}function D(e,t){return i(i(e,(e=>`{${e.toLowerCase()}}`)),Object.fromEntries(Object.entries(t).map((([e,t])=>[e.toLowerCase(),t]))))}const G=e=>{const t={typeFieldName:null,types:[]};return e?(\"subtype-sublayer\"===e.type?(t.typeFieldName=e.parent?.subtypeField,t.types=e.parent?.subtypes??[]):\"subtype-group\"===e.type||\"feature\"===e.type&&e.subtypes?.length?(t.typeFieldName=e.subtypeField,t.types=e.subtypes??[]):\"types\"in e&&e.types&&(t.typeFieldName=e.typeIdField,t.types=e.types.map((({id:e,name:t,domains:n})=>({code:e,name:t,domains:n})))),null!=t.typeFieldName&&(t.typeFieldName=e.getField(t.typeFieldName)?.name??t.typeFieldName),t):t};var S;!function(e){e.TOO_SHORT=\"length-validation-error::too-short\",e.TOO_LONG=\"length-validation-error::too-long\"}(S||(S={}));const M={type:\"number\"},H={type:\"number\",intlOptions:{notation:\"scientific\"}};function W(e){return e>=1e7||e<=-1e7}function k(e,{validationErrors:t}){return null!=e.max&&null!=e.min?t.outsideRange:null!=e.max?t.outsideRangeMax:t.outsideRangeMin}const q=(e,t,n)=>{const{dataType:r,error:o,minLength:i,value:l,required:a}=e,p=t?.validationErrors;if(!p||!o)return null;if(a&&null===l)return p.cannotBeNull;if(o===s.VALUE_OUT_OF_RANGE||o===u.OUT_OF_RANGE){const{field:o,range:i}=e,l={type:\"date\",intlOptions:{timeZone:\"date\"===o.type&&n?n:void 0,...c(o)}},s=k(i,t);return y(s,i,{format:{max:\"date\"===r?l:null!=i.max&&W(i.max)?H:M,min:\"date\"===r?l:null!=i.min&&W(i.min)?H:M}})}return o===s.INVALID_CODED_VALUE?p.invalidCodedValue:o===m.INVALID_TYPE?p.invalidType:o===S.TOO_SHORT?y(p.tooShort,{min:i}):(S.TOO_LONG,null)},B=e=>{if(!e)return;const t=e.layer,n=t&&\"geometryType\"in t?t.geometryType:void 0,r=e.geometry?.type;return\"polyline\"===r||\"polyline\"===n?\"line\":\"mesh\"===r||\"mesh\"===n||\"multipatch\"===n?\"cube\":\"multipoint\"===r||\"multipoint\"===n?\"point\":r||n||\"table\"},P=e=>{const t=[];if(e.formTemplate){const{description:n,title:r}=e.formTemplate;e.fields?.forEach((e=>{const i=r&&o(r,e.name),l=n&&o(n,e.name);(i||l)&&t.push(e.name)}))}return t};function Y(e,t){const n=t??(\"formTemplate\"in e&&e.formTemplate);if(n){return(n.elements?.filter(l)??[]).some((({fieldName:t})=>!e.fieldsIndex.get(t)))}return!1}function z(e,t){return null==e||t.onValue!==e&&t.offValue!==e}function J(e,n){switch(n.objectType){case\"any\":return!0;case\"null\":return null==e;case\"code\":return e===n.codedValue?.code;case\"range\":return null!=e&&null!=n.minValue&&null!=n.maxValue&&+e>=n.minValue&&+e<=n.maxValue;default:return t(n.objectType),!1}}function K(e,t,r){const o=p(e),i=o?.find((e=>e.code===r));if(!i)return!1;const l=o?.find((e=>e.code===t));return!n(i.defaultValues,l?.defaultValues)&&Object.values(i.defaultValues).some((e=>null!=e))}export{S as LengthValidationError,R as extractExpressionNameFromString,v as flattenFieldInputs,j as flattenInputs,F as flattenRelationshipInputs,Y as formTemplateHasInvalidFields,C as getComputedAttributes,q as getErrorMessageForFieldInput,P as getFieldsInTitleAndDesc,B as getIconForFeature,G as getNormalizedFeatureTypeInfo,Z as isExpressionReference,h as isFieldElementWithInputType,N as isFieldElementWithShowNoValueOptionInput,V as isFieldElementWithTextInput,b as isFieldInput,g as isGroupInput,T as isInputInGroupInput,w as isLegacyFieldMapsExpressionReference,E as isNumberFieldInput,x as isRelationshipInput,O as isTextElementInput,U as parseFormTemplateString,$ as prependExpressionPrefix,A as prependFieldPrefix,D as substituteFieldTemplatesInString,K as subtypeChangeShouldPrompt,z as valueIsInvalidSwitchValue,J as valueIsValidContingentValue};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{_ as e}from\"../../chunks/tslib.es6.js\";import{watch as t,initial as i}from\"../../core/reactiveUtils.js\";import{property as s}from\"../../core/accessorSupport/decorators/property.js\";import\"../../core/has.js\";import\"../../core/Logger.js\";import\"../../core/RandomLCG.js\";import{subclass as r}from\"../../core/accessorSupport/decorators/subclass.js\";import o from\"../Attachments.js\";import a from\"../Widget.js\";import n from\"./FeatureAttachments/FeatureAttachmentsViewModel.js\";import p from\"./support/FeatureElementInfo.js\";import\"../support/widgetUtils.js\";import{tsx as l}from\"../support/jsxFactory.js\";const d={base:\"esri-feature-attachments\"};let h=class extends a{constructor(e,t){super(e,t),this._featureElementInfo=null,this.attachmentsWidget=new o,this.headingLevel=2,this.viewModel=new n}initialize(){this._featureElementInfo=new p,this.addHandles([t((()=>[this.viewModel?.description,this.viewModel?.title,this.headingLevel]),(()=>this._setupFeatureElementInfo()),i),t((()=>this.viewModel),(e=>this.attachmentsWidget.viewModel=e),i)])}destroy(){this.attachmentsWidget.viewModel=null,this.attachmentsWidget.destroy(),this._featureElementInfo?.destroy()}get description(){return this.viewModel.description}set description(e){this.viewModel.description=e}get displayType(){return this.attachmentsWidget.displayType}set displayType(e){this.attachmentsWidget.displayType=e}get graphic(){return this.viewModel.graphic}set graphic(e){this.viewModel.graphic=e}get title(){return this.viewModel.title}set title(e){this.viewModel.title=e}render(){const{attachmentsWidget:e}=this;return l(\"div\",{class:d.base},this._featureElementInfo?.render(),e?.render())}_setupFeatureElementInfo(){const{description:e,title:t,headingLevel:i}=this;this._featureElementInfo?.set({description:e,title:t,headingLevel:i})}};e([s({readOnly:!0})],h.prototype,\"attachmentsWidget\",void 0),e([s()],h.prototype,\"description\",null),e([s()],h.prototype,\"displayType\",null),e([s()],h.prototype,\"graphic\",null),e([s()],h.prototype,\"headingLevel\",void 0),e([s()],h.prototype,\"title\",null),e([s({type:n})],h.prototype,\"viewModel\",void 0),h=e([r(\"esri.widgets.Feature.FeatureAttachments\")],h);const c=h;export{c as default};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{_ as t}from\"../../../chunks/tslib.es6.js\";import{property as o}from\"../../../core/accessorSupport/decorators/property.js\";import\"../../../core/has.js\";import\"../../../core/Logger.js\";import\"../../../core/RandomLCG.js\";import{subclass as e}from\"../../../core/accessorSupport/decorators/subclass.js\";import r from\"../../Attachments/AttachmentsViewModel.js\";let s=class extends r{constructor(t){super(t),this.description=null,this.title=null}};t([o()],s.prototype,\"description\",void 0),t([o()],s.prototype,\"title\",void 0),s=t([e(\"esri.widgets.Feature.FeatureAttachments.FeatureAttachmentsViewModel\")],s);const c=s;export{c as default};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{_ as e}from\"../../chunks/tslib.es6.js\";import{property as r}from\"../../core/accessorSupport/decorators/property.js\";import\"../../core/has.js\";import\"../../core/Logger.js\";import\"../../core/RandomLCG.js\";import{subclass as t}from\"../../core/accessorSupport/decorators/subclass.js\";import o from\"../Widget.js\";import s from\"./FeatureContent/FeatureContentViewModel.js\";import{shouldOpenInNewTab as a}from\"./support/featureUtils.js\";import{isWidget as i}from\"../support/widget.js\";import{tsx as d}from\"../support/jsxFactory.js\";const n=\"esri-feature-content\",c={base:n,loaderContainer:`${n}__loader-container`,loader:`${n}__loader`};let l=class extends o{constructor(e,r){super(e,r),this.viewModel=null,this._addTargetToAnchors=e=>{Array.from(e.querySelectorAll(\"a\")).forEach((e=>{a(e.href)&&!e.hasAttribute(\"target\")&&e.setAttribute(\"target\",\"_blank\")}))}}get creator(){return this.viewModel?.creator}set creator(e){this.viewModel&&(this.viewModel.creator=e)}get graphic(){return this.viewModel?.graphic}set graphic(e){this.viewModel&&(this.viewModel.graphic=e)}render(){const e=this.viewModel?.state;return d(\"div\",{class:c.base},\"loading\"===e?this._renderLoading():this._renderCreated())}_renderLoading(){return d(\"div\",{class:c.loaderContainer,key:\"loader\"},d(\"div\",{class:c.loader}))}_renderCreated(){const e=this.viewModel?.created;return e?e instanceof HTMLElement?d(\"div\",{afterCreate:this._attachToNode,bind:e,key:e}):i(e)?d(\"div\",{key:e},!e.destroyed&&e.render()):d(\"div\",{afterCreate:this._addTargetToAnchors,innerHTML:e,key:e}):null}_attachToNode(e){const r=this;e.appendChild(r)}};e([r()],l.prototype,\"creator\",null),e([r()],l.prototype,\"graphic\",null),e([r({type:s})],l.prototype,\"viewModel\",void 0),l=e([t(\"esri.widgets.Feature.FeatureContent\")],l);const p=l;export{p as default};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{_ as t}from\"../../../chunks/tslib.es6.js\";import e from\"../../../Graphic.js\";import r from\"../../../core/Accessor.js\";import{watch as o,initial as s}from\"../../../core/reactiveUtils.js\";import{property as i}from\"../../../core/accessorSupport/decorators/property.js\";import\"../../../core/has.js\";import\"../../../core/Logger.js\";import\"../../../core/RandomLCG.js\";import{subclass as a}from\"../../../core/accessorSupport/decorators/subclass.js\";import{graphicCallback as n}from\"../support/featureUtils.js\";let c=class extends r{constructor(t){super(t),this._loadingPromise=null,this.created=null,this.creator=null,this.destroyer=null,this.graphic=null,this.addHandles(o((()=>this.creator),(t=>{this._destroyContent(),this._createContent(t)}),s))}destroy(){this._destroyContent()}get state(){return this._loadingPromise?\"loading\":\"ready\"}_destroyContent(){const{created:t,graphic:e,destroyer:r}=this;t&&e&&(n({type:\"content\",value:r,event:{graphic:e}}),this._set(\"created\",null))}async _createContent(t){const e=this.graphic;if(!e||!t)return;const r=n({type:\"content\",value:t,event:{graphic:e}});this._loadingPromise=r,this.notifyChange(\"state\");const o=await r;r===this._loadingPromise&&(this._loadingPromise=null,this.notifyChange(\"state\"),this._set(\"created\",o))}};t([i({readOnly:!0})],c.prototype,\"created\",void 0),t([i()],c.prototype,\"creator\",void 0),t([i()],c.prototype,\"destroyer\",void 0),t([i({type:e})],c.prototype,\"graphic\",void 0),t([i({readOnly:!0})],c.prototype,\"state\",null),c=t([a(\"esri.widgets.Feature.FeatureContent.FeatureContentViewModel\")],c);const p=c;export{p as default};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{_ as e}from\"../../chunks/tslib.es6.js\";import{watch as t,initial as o}from\"../../core/reactiveUtils.js\";import{property as s}from\"../../core/accessorSupport/decorators/property.js\";import\"../../core/has.js\";import\"../../core/Logger.js\";import\"../../core/RandomLCG.js\";import{subclass as i}from\"../../core/accessorSupport/decorators/subclass.js\";import r from\"../Widget.js\";import n from\"./FeatureContent.js\";import d from\"./FeatureFields.js\";import l from\"./FeatureMedia.js\";import a from\"./FeatureExpression/FeatureExpressionViewModel.js\";import{loadCalciteComponents as c}from\"../support/componentsUtils.js\";import\"../support/widgetUtils.js\";import{tsx as p}from\"../support/jsxFactory.js\";const m=\"esri-feature\",u={base:`${m}-expression`,loadingSpinnerContainer:`${m}__loading-container`};let g=class extends r{constructor(e,t){super(e,t),this._contentWidget=null,this.viewModel=new a}initialize(){this.addHandles(t((()=>this.viewModel?.contentElementViewModel),(()=>this._setupExpressionWidget()),o))}loadDependencies(){return c({loader:()=>import(\"@esri/calcite-components/dist/components/calcite-loader.js\")})}destroy(){this._destroyContentWidget()}render(){const{state:e}=this.viewModel;return p(\"div\",{class:u.base},\"loading\"===e?this._renderLoading():\"disabled\"===e?null:this._contentWidget?.render())}_renderLoading(){return p(\"div\",{class:u.loadingSpinnerContainer,key:\"loading-container\"},p(\"calcite-loader\",{inline:!0,label:\"\"}))}_destroyContentWidget(){const{_contentWidget:e}=this;e&&(e.viewModel=null,e.destroy()),this._contentWidget=null}_setupExpressionWidget(){const{contentElementViewModel:e,contentElement:t}=this.viewModel,o=t?.type;this._destroyContentWidget();const s=e?\"fields\"===o?new d({viewModel:e}):\"media\"===o?new l({viewModel:e}):\"text\"===o?new n({viewModel:e}):null:null;this._contentWidget=s,this.scheduleRender()}};e([s({type:a})],g.prototype,\"viewModel\",void 0),g=e([i(\"esri.widgets.Feature.FeatureExpression\")],g);const h=g;export{h as default};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{_ as t}from\"../../../chunks/tslib.es6.js\";import\"../../../geometry.js\";import e from\"../../../Graphic.js\";import o from\"../../../core/Accessor.js\";import{watch as n,initial as r}from\"../../../core/reactiveUtils.js\";import{throttle as i}from\"../../../core/throttle.js\";import{property as s}from\"../../../core/accessorSupport/decorators/property.js\";import\"../../../core/has.js\";import\"../../../core/Logger.js\";import\"../../../core/RandomLCG.js\";import{subclass as l}from\"../../../core/accessorSupport/decorators/subclass.js\";import\"../../../popup/content/AttachmentsContent.js\";import\"../../../popup/content/Content.js\";import\"../../../popup/content/CustomContent.js\";import\"../../../popup/content/ExpressionContent.js\";import p from\"../../../popup/content/FieldsContent.js\";import a from\"../../../popup/content/MediaContent.js\";import\"../../../popup/content/RelationshipContent.js\";import c from\"../../../popup/content/TextContent.js\";import\"../../../popup/content/UtilityNetworkAssociationsContent.js\";import m from\"../../../popup/ElementExpressionInfo.js\";import d from\"../FeatureContent/FeatureContentViewModel.js\";import h from\"../FeatureFields/FeatureFieldsViewModel.js\";import u from\"../FeatureMedia/FeatureMediaViewModel.js\";import{loadArcade as f,createCompiledExpression as y}from\"../support/arcadeFeatureUtils.js\";import _ from\"../../../geometry/Point.js\";const w=1;let j=class extends o{constructor(t){super(t),this._abortController=null,this.expressionInfo=null,this.graphic=null,this.contentElement=null,this.contentElementViewModel=null,this.interceptor=null,this.location=null,this.view=null,this._cancelQuery=()=>{const{_abortController:t}=this;t&&t.abort(),this._abortController=null},this._createVM=()=>{const t=this.contentElement?.type;this.contentElementViewModel?.destroy();const e=\"fields\"===t?new h:\"media\"===t?new u:\"text\"===t?new d:null;this._set(\"contentElementViewModel\",e)},this._compile=async()=>{this._cancelQuery();const t=new AbortController;this._abortController=t,await this._compileExpression(),this._abortController===t&&(this._abortController=null)},this._compileThrottled=i(this._compile,w,this),this._compileExpression=async()=>{const{expressionInfo:t,graphic:e,interceptor:o,spatialReference:n,map:r,location:i,view:s,_abortController:l}=this;if(!t||!e)return void this._set(\"contentElement\",null);const m=await f();if(l!==this._abortController)return;const d=await y({arcade:m,expressionInfo:t,graphic:e,location:i,interceptor:o,map:r,spatialReference:n,view:s});if(!d||\"esri.arcade.Dictionary\"!==d.declaredClass)return void this._set(\"contentElement\",null);const h=await d.castAsJsonAsync(l?.signal),u=h?.type,_=\"media\"===u?a.fromJSON(h):\"text\"===u?c.fromJSON(h):\"fields\"===u?p.fromJSON(h):null;\"media\"===_.type&&!_.mediaInfos||\"fields\"===_.type&&!_.fieldInfos||\"text\"===_.type&&!_.text?this._set(\"contentElement\",null):this._set(\"contentElement\",_)},this.addHandles([n((()=>[this.expressionInfo,this.graphic,this.map,this.spatialReference,this.view]),(()=>this._compileThrottled()),r),n((()=>[this.contentElement]),(()=>this._createVM()),r)])}initialize(){this.addHandles(this._compileThrottled)}destroy(){this._cancelQuery(),this.contentElementViewModel?.destroy(),this._set(\"contentElementViewModel\",null),this._set(\"contentElement\",null)}get spatialReference(){return this.view?.spatialReference??null}set spatialReference(t){this._override(\"spatialReference\",t)}get state(){const{_abortController:t,contentElement:e,contentElementViewModel:o}=this;return t?\"loading\":e||o?\"ready\":\"disabled\"}get map(){return this.view?.map??null}set map(t){this._override(\"map\",t)}};t([s()],j.prototype,\"_abortController\",void 0),t([s({type:m})],j.prototype,\"expressionInfo\",void 0),t([s({type:e})],j.prototype,\"graphic\",void 0),t([s({readOnly:!0})],j.prototype,\"contentElement\",void 0),t([s({readOnly:!0})],j.prototype,\"contentElementViewModel\",void 0),t([s()],j.prototype,\"interceptor\",void 0),t([s({type:_})],j.prototype,\"location\",void 0),t([s()],j.prototype,\"spatialReference\",null),t([s({readOnly:!0})],j.prototype,\"state\",null),t([s()],j.prototype,\"map\",null),t([s()],j.prototype,\"view\",void 0),j=t([l(\"esri.widgets.Feature.FeatureExpression.FeatureExpressionViewModel\")],j);const C=j;export{C as default};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{_ as e}from\"../../chunks/tslib.es6.js\";import{watch as t,initial as s}from\"../../core/reactiveUtils.js\";import{property as i}from\"../../core/accessorSupport/decorators/property.js\";import\"../../core/has.js\";import\"../../core/Logger.js\";import\"../../core/RandomLCG.js\";import{subclass as r}from\"../../core/accessorSupport/decorators/subclass.js\";import o from\"../Widget.js\";import l from\"./FeatureFields/FeatureFieldsViewModel.js\";import n from\"./support/FeatureElementInfo.js\";import{globalCss as d}from\"../support/globalCss.js\";import{autoLink as a}from\"../support/uriUtils.js\";import\"../support/widgetUtils.js\";import{messageBundle as p}from\"../support/decorators/messageBundle.js\";import{tsx as f}from\"../support/jsxFactory.js\";const u=\"esri-feature-fields\",m={base:u,fieldHeader:`${u}__field-header`,fieldData:`${u}__field-data`,fieldDataDate:`${u}__field-data--date`};let c=class extends o{constructor(e,t){super(e,t),this._featureElementInfo=null,this.viewModel=new l,this.messages=null,this.messagesURIUtils=null}initialize(){this._featureElementInfo=new n,this.addHandles(t((()=>[this.viewModel?.description,this.viewModel?.title]),(()=>this._setupFeatureElementInfo()),s))}destroy(){this._featureElementInfo?.destroy()}get attributes(){return this.viewModel.attributes}set attributes(e){this.viewModel.attributes=e}get description(){return this.viewModel.description}set description(e){this.viewModel.description=e}get expressionInfos(){return this.viewModel.expressionInfos}set expressionInfos(e){this.viewModel.expressionInfos=e}get fieldInfos(){return this.viewModel.fieldInfos}set fieldInfos(e){this.viewModel.fieldInfos=e}get title(){return this.viewModel.title}set title(e){this.viewModel.title=e}render(){return f(\"div\",{class:m.base},this._featureElementInfo?.render(),this._renderFields())}_renderFieldInfo(e,t){const{attributes:s}=this.viewModel,i=e.fieldName||\"\",r=e.label||i,o=s?null==s[i]?\"\":s[i]:\"\",l=!!e.format?.dateFormat,n=\"number\"==typeof o&&!l?this._forceLTR(o):a(this.messagesURIUtils,o),d={[m.fieldDataDate]:l};return f(\"tr\",{key:`fields-element-info-row-${i}-${t}`},f(\"th\",{class:m.fieldHeader,innerHTML:r,key:`fields-element-info-row-header-${i}-${t}`}),f(\"td\",{class:this.classes(m.fieldData,d),innerHTML:n,key:`fields-element-info-row-data-${i}-${t}`}))}_renderFields(){const{formattedFieldInfos:e}=this.viewModel;return e?.length?f(\"table\",{class:d.table,summary:this.messages.fieldsSummary},f(\"tbody\",null,e.map(((e,t)=>this._renderFieldInfo(e,t))))):null}_setupFeatureElementInfo(){const{description:e,title:t}=this;this._featureElementInfo?.set({description:e,title:t})}_forceLTR(e){return`‎${e}`}};e([i()],c.prototype,\"attributes\",null),e([i()],c.prototype,\"description\",null),e([i()],c.prototype,\"expressionInfos\",null),e([i()],c.prototype,\"fieldInfos\",null),e([i()],c.prototype,\"title\",null),e([i({type:l,nonNullable:!0})],c.prototype,\"viewModel\",void 0),e([i(),p(\"esri/widgets/Feature/t9n/Feature\")],c.prototype,\"messages\",void 0),e([i(),p(\"esri/widgets/support/t9n/uriUtils\")],c.prototype,\"messagesURIUtils\",void 0),c=e([r(\"esri.widgets.Feature.FeatureFields\")],c);const h=c;export{h as default};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{_ as o}from\"../../../chunks/tslib.es6.js\";import e from\"../../../core/Accessor.js\";import{property as t}from\"../../../core/accessorSupport/decorators/property.js\";import\"../../../core/has.js\";import\"../../../core/Logger.js\";import\"../../../core/RandomLCG.js\";import{subclass as s}from\"../../../core/accessorSupport/decorators/subclass.js\";import r from\"../../../popup/ExpressionInfo.js\";import i from\"../../../popup/FieldInfo.js\";import{getFieldInfoLabel as p}from\"../support/featureUtils.js\";let l=class extends e{constructor(o){super(o),this.attributes=null,this.expressionInfos=null,this.description=null,this.fieldInfos=null,this.title=null}get formattedFieldInfos(){const{expressionInfos:o,fieldInfos:e}=this,t=[];return e?.forEach((e=>{if(!(!e.hasOwnProperty(\"visible\")||e.visible))return;const s=e.clone();s.label=p(s,o),t.push(s)})),t}};o([t()],l.prototype,\"attributes\",void 0),o([t({type:[r]})],l.prototype,\"expressionInfos\",void 0),o([t()],l.prototype,\"description\",void 0),o([t({type:[i]})],l.prototype,\"fieldInfos\",void 0),o([t({readOnly:!0})],l.prototype,\"formattedFieldInfos\",null),o([t()],l.prototype,\"title\",void 0),l=o([s(\"esri.widgets.Feature.FeatureFields.FeatureFieldsViewModel\")],l);const n=l;export{n as default};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{_ as e}from\"../../chunks/tslib.es6.js\";import\"../../intl.js\";import{prefersReducedMotion as t}from\"../../core/a11yUtils.js\";import{watch as i,initial as r}from\"../../core/reactiveUtils.js\";import{property as a}from\"../../core/accessorSupport/decorators/property.js\";import\"../../core/has.js\";import\"../../core/Logger.js\";import\"../../core/RandomLCG.js\";import{subclass as o}from\"../../core/accessorSupport/decorators/subclass.js\";import{getColorsFromRenderer as s}from\"../../renderers/support/utils.js\";import n from\"../Widget.js\";import l from\"./FeatureMedia/FeatureMediaViewModel.js\";import d from\"./support/FeatureElementInfo.js\";import{shouldOpenInNewTab as m}from\"./support/featureUtils.js\";import{loadCalciteComponents as c}from\"../support/componentsUtils.js\";import{isRTL as p}from\"../support/widgetUtils.js\";import{messageBundle as h}from\"../support/decorators/messageBundle.js\";import{tsx as u}from\"../support/jsxFactory.js\";import{isDarkTheme as f}from\"../../support/themeUtils.js\";import{substitute as _}from\"../../intl/substitute.js\";const g=\"esri-feature-media\",v={base:g,mediaContainer:`${g}__container`,mediaItemContainer:`${g}__item-container`,mediaItem:`${g}__item`,mediaItemText:`${g}__item-text`,mediaItemTitle:`${g}__item-title`,mediaItemCaption:`${g}__item-caption`,mediaNavigation:`${g}__item-navigation`,mediaPagination:`${g}__pagination`,mediaPaginationText:`${g}__pagination-text`,mediaPrevious:`${g}__previous`,mediaPreviousIconLTR:`${g}__previous-icon`,mediaPreviousIconRTL:`${g}__previous-icon--rtl`,mediaNext:`${g}__next`,mediaNextIconLTR:`${g}__next-icon`,mediaNextIconRTL:`${g}__next-icon--rtl`,mediaChart:`${g}__chart`,mediaPaginationButton:`${g}__pagination-button`,mediaPaginationIcon:`${g}__pagination-icon`,mediaChartRendered:`${g}__chart--rendered`},M=15,w=\"category\",A=\"value\",I=\"rgba(50, 50, 50, 1)\",C=250,y=500,x=200;let T=class extends n{constructor(e,t){super(e,t),this._refreshTimer=null,this._refreshIntervalInfo=null,this._featureElementInfo=null,this._chartRootMap=new WeakMap,this.viewModel=new l,this.messages=null,this._disposeChart=e=>{this._chartRootMap.get(e)?.dispose(),this._chartRootMap.delete(e)},this._createChart=async e=>{const{destroyed:t,viewModel:i}=this;if(t||!i||!e)return;const{createRoot:r}=await import(\"../support/chartUtilsAm5.js\"),a=await r(e);this._chartRootMap.set(e,a),this._renderChart({mediaInfo:i.activeMediaInfo,root:a})}}initialize(){this._featureElementInfo=new d,this.addHandles([i((()=>[this.viewModel?.activeMediaInfo,this.viewModel?.activeMediaInfoIndex]),(()=>this._setupMediaRefreshTimer()),r),i((()=>[this.viewModel?.description,this.viewModel?.title]),(()=>this._setupFeatureElementInfo()),r)])}loadDependencies(){return c({icon:()=>import(\"@esri/calcite-components/dist/components/calcite-icon.js\")})}destroy(){this._clearMediaRefreshTimer(),this._featureElementInfo?.destroy()}get attributes(){return this.viewModel.attributes}set attributes(e){this.viewModel.attributes=e}get activeMediaInfoIndex(){return this.viewModel.activeMediaInfoIndex}set activeMediaInfoIndex(e){this.viewModel.activeMediaInfoIndex=e}get description(){return this.viewModel.description}set description(e){this.viewModel.description=e}get fieldInfoMap(){return this.viewModel.fieldInfoMap}set fieldInfoMap(e){this.viewModel.fieldInfoMap=e}get layer(){return this.viewModel.layer}set layer(e){this.viewModel.layer=e}get mediaInfos(){return this.viewModel.mediaInfos}set mediaInfos(e){this.viewModel.mediaInfos=e}get popupTemplate(){return this.viewModel.popupTemplate}set popupTemplate(e){this.viewModel.popupTemplate=e}get relatedInfos(){return this.viewModel.relatedInfos}set relatedInfos(e){this.viewModel.relatedInfos=e}get title(){return this.viewModel.title}set title(e){this.viewModel.title=e}render(){return u(\"div\",{bind:this,class:v.base,onkeyup:this._handleMediaKeyup},this._featureElementInfo?.render(),this._renderMedia())}_renderMedia(){const{formattedMediaInfoCount:e,activeMediaInfoIndex:t}=this.viewModel,i=this._renderMediaText();return e?u(\"div\",{class:v.mediaContainer,key:\"media-element-container\"},this._renderMediaInfo(),u(\"div\",{class:v.mediaNavigation},i,e>1?u(\"div\",{class:v.mediaPagination},this._renderMediaPageButton(\"previous\"),u(\"span\",{class:v.mediaPaginationText},_(this.messages.pageText,{index:t+1,total:e})),this._renderMediaPageButton(\"next\")):null)):null}_renderMediaText(){const{activeMediaInfo:e}=this.viewModel;if(!e)return null;const t=e&&e.title?u(\"div\",{class:v.mediaItemTitle,innerHTML:e.title,key:\"media-title\"}):null,i=e&&e.caption?u(\"div\",{class:v.mediaItemCaption,innerHTML:e.caption,key:\"media-caption\"}):null;return t||i?u(\"div\",{class:v.mediaItemText,key:\"media-text\"},t,i):null}_renderImageMediaInfo(e){if(!e.value)return null;const{_refreshIntervalInfo:t}=this,{activeMediaInfoIndex:i,formattedMediaInfoCount:r}=this.viewModel,{value:a,refreshInterval:o,altText:s,title:n,type:l}=e,{sourceURL:d,linkURL:c}=a,p=m(c??void 0)?\"_blank\":\"_self\",h=\"_blank\"===p?\"noreferrer\":\"\",f=o?t:null,_=f?f.timestamp:0,g=f?f.sourceURL:d,v=u(\"img\",{alt:s||n,key:`media-${l}-${i}-${r}-${_}`,src:g??void 0});return(c?u(\"a\",{href:c,rel:h,target:p,title:n},v):null)??v}_renderChartMediaInfo(e){const{activeMediaInfoIndex:t,formattedMediaInfoCount:i}=this.viewModel;return u(\"div\",{afterCreate:this._createChart,afterRemoved:this._disposeChart,bind:this,class:v.mediaChart,key:`media-${e.type}-${t}-${i}`})}_renderMediaInfoType(){const{activeMediaInfo:e}=this.viewModel;return e?\"image\"===e.type?this._renderImageMediaInfo(e):e.type.includes(\"chart\")?this._renderChartMediaInfo(e):null:null}_renderMediaInfo(){const{activeMediaInfo:e}=this.viewModel;return e?u(\"div\",{class:v.mediaItemContainer,key:\"media-container\"},u(\"div\",{class:v.mediaItem,key:\"media-item-container\"},this._renderMediaInfoType())):null}_renderMediaPageButton(e){if(this.viewModel.formattedMediaInfoCount<2)return null;const t=\"previous\"===e,i=t?this.messages.previous:this.messages.next,r=t?\"chevron-left\":\"chevron-right\",a=t?\"media-previous\":\"media-next\",o=t?this._previous:this._next;return u(\"button\",{\"aria-label\":i,bind:this,class:v.mediaPaginationButton,key:a,onclick:o,tabIndex:0,title:i,type:\"button\"},u(\"calcite-icon\",{class:v.mediaPaginationIcon,icon:r,scale:\"s\"}))}_setupFeatureElementInfo(){const{description:e,title:t}=this;this._featureElementInfo?.set({description:e,title:t})}_next(){this.viewModel.next()}_previous(){this.viewModel.previous()}_getRenderer(){if(!this.viewModel)return;const{isAggregate:e,layer:t}=this.viewModel;return e&&t?.featureReduction&&\"renderer\"in t.featureReduction?t.featureReduction.renderer:t?.renderer}async _getSeriesColors(e){const{colorAm5:t}=await import(\"./FeatureMedia/chartCommon.js\"),i=new Map;return e.forEach((e=>{e.color&&i.set(e,t(e.color.toCss(!0)))})),i}async _getRendererColors(){const{colorAm5:e}=await import(\"./FeatureMedia/chartCommon.js\"),t=new Map,i=this._getRenderer(),r=\"default\";if(!i)return t;const a=await s(i);a.delete(r);return Array.from(a.values()).every((e=>1===e?.length))?(Array.from(a.keys()).forEach((i=>{const r=a.get(i)?.[0]?.toCss(!0);r&&t.set(i,e(r))})),t):t}_handleMediaKeyup(e){const{key:t}=e;\"ArrowLeft\"===t&&(e.stopPropagation(),this.viewModel.previous()),\"ArrowRight\"===t&&(e.stopPropagation(),this.viewModel.next())}_canAnimateChart(){return!!this.viewModel&&(!!this.viewModel.abilities.chartAnimation&&!t())}_getChartAnimationMS(){return this._canAnimateChart()?C:0}_getChartSeriesAnimationMS(){return this._canAnimateChart()?y:0}async _renderChart(e){const{root:t,mediaInfo:i}=e,{value:r,type:a}=i,{ResponsiveThemeAm5:o,DarkThemeAm5:s,AnimatedThemeAm5:n,ColorSetAm5:l,ThemeAm5:d,esriChartColorSet:m}=await import(\"./FeatureMedia/chartCommon.js\"),c=d.new(t);c.rule(\"ColorSet\").set(\"colors\",m),c.rule(\"ColorSet\").set(\"reuse\",!0);const p=[o.new(t),c];f()&&p.push(s.new(t)),this._canAnimateChart()&&p.push(n.new(t)),t.setThemes(p);const h=await this._getRendererColors(),u=await this._getSeriesColors(r.series),_=l.new(t,{}),g=u.get(r.series[0]),v=g?{lineSettings:{stroke:g}}:void 0,M=r.series.map(((e,t)=>{const i=u.get(e)||h.get(e.fieldName)||_.getIndex(t);return{[w]:e.tooltip,[A]:e.value,columnSettings:{fill:i,stroke:i},...v}})).filter((e=>\"pie-chart\"!==a||null!=e.value&&e.value>0));\"pie-chart\"===a?this._createPieChart(e,M):this._createXYChart(e,M)}_getDirection(){return p(this.container)?\"rtl\":\"ltr\"}async _customizeChartTooltip(e,t=\"horizontal\"){const{colorAm5:i}=await import(\"./FeatureMedia/chartCommon.js\");e.setAll({pointerOrientation:t}),e.get(\"background\")?.setAll({stroke:i(I)}),e.label.setAll({direction:this._getDirection(),oversizedBehavior:\"wrap\",maxWidth:x})}async _createPieChart(e,t){const{TooltipAm5:i}=await import(\"./FeatureMedia/chartCommon.js\"),{PieChartAm5:r,PieSeriesAm5:a}=await import(\"./FeatureMedia/pieChart.js\"),{mediaInfo:o,root:s}=e,{title:n}=o,l=5,d=o?.altText||o?.title||\"\",m=s.container.children.push(r.new(s,{ariaLabel:d,focusable:!0,paddingBottom:l,paddingTop:l,paddingLeft:l,paddingRight:l})),c=\"{category}: {valuePercentTotal.formatNumber('0.00')}%\\n ({value})\",p=i.new(s,{labelText:c}),h=m.series.push(a.new(s,{name:n,valueField:A,categoryField:w,tooltip:p}));h.ticks.template.set(\"forceHidden\",!0),h.labels.template.set(\"forceHidden\",!0),h.slices.template.states.create(\"active\",{shiftRadius:l}),this._customizeChartTooltip(p),h.slices.template.setAll({ariaLabel:c,focusable:!0,templateField:\"columnSettings\"}),h.data.setAll(t),h.appear(this._getChartSeriesAnimationMS()),m.appear(this._getChartAnimationMS()),m.root.dom.classList.toggle(v.mediaChartRendered,!0)}_getMinSeriesValue(e){let t=0;return e.forEach((e=>t=Math.min(e.value,t))),t}async _createColumnChart(e,t,i){const{TooltipAm5:r,ScrollbarAm5:a}=await import(\"./FeatureMedia/chartCommon.js\"),{CategoryAxisAm5:o,AxisRendererXAm5:s,ValueAxisAm5:n,AxisRendererYAm5:l,ColumnSeriesAm5:d}=await import(\"./FeatureMedia/xyChart.js\"),{mediaInfo:m,root:c}=t,{value:h,title:u}=m;e.setAll({wheelX:\"panX\",wheelY:\"zoomX\"});const f=e.xAxes.push(o.new(c,{renderer:s.new(c,{inversed:p(this.container)}),categoryField:w}));f.get(\"renderer\").labels.template.setAll({forceHidden:!0});const _=e.yAxes.push(n.new(c,{renderer:l.new(c,{inside:!1}),min:this._getMinSeriesValue(h.series)}));_.get(\"renderer\").labels.template.setAll({direction:this._getDirection()});const g=\"{categoryX}\",v=r.new(c,{labelText:g}),I=e.series.push(d.new(c,{name:u,xAxis:f,yAxis:_,valueYField:A,categoryXField:w,tooltip:v}));this._customizeChartTooltip(v),I.columns.template.setAll({ariaLabel:g,focusable:!0,templateField:\"columnSettings\"}),h.series.length>M&&e.set(\"scrollbarX\",a.new(c,{orientation:\"horizontal\"})),f.data.setAll(i),I.data.setAll(i),I.appear(this._getChartSeriesAnimationMS()),e.appear(this._getChartAnimationMS())}async _createBarChart(e,t,i){const{TooltipAm5:r,ScrollbarAm5:a}=await import(\"./FeatureMedia/chartCommon.js\"),{CategoryAxisAm5:o,AxisRendererXAm5:s,ValueAxisAm5:n,AxisRendererYAm5:l,ColumnSeriesAm5:d}=await import(\"./FeatureMedia/xyChart.js\"),{mediaInfo:m,root:c}=t,{value:h,title:u}=m;e.setAll({wheelX:\"panY\",wheelY:\"zoomY\"});const f=e.yAxes.push(o.new(c,{renderer:l.new(c,{inversed:!0}),categoryField:w}));f.get(\"renderer\").labels.template.setAll({forceHidden:!0});const _=e.xAxes.push(n.new(c,{renderer:s.new(c,{inside:!1,inversed:p(this.container)}),min:this._getMinSeriesValue(h.series)}));_.get(\"renderer\").labels.template.setAll({direction:this._getDirection()});const g=\"{categoryY}\",v=r.new(c,{labelText:g}),I=e.series.push(d.new(c,{name:u,xAxis:_,yAxis:f,valueXField:A,categoryYField:w,tooltip:v}));this._customizeChartTooltip(v,\"vertical\"),I.columns.template.setAll({ariaLabel:g,focusable:!0,templateField:\"columnSettings\"}),h.series.length>M&&e.set(\"scrollbarY\",a.new(c,{orientation:\"vertical\"})),f.data.setAll(i),I.data.setAll(i),I.appear(this._getChartSeriesAnimationMS()),e.appear(this._getChartAnimationMS())}async _createLineChart(e,t,i){const{TooltipAm5:r,ScrollbarAm5:a}=await import(\"./FeatureMedia/chartCommon.js\"),{CategoryAxisAm5:o,AxisRendererXAm5:s,ValueAxisAm5:n,AxisRendererYAm5:l,LineSeriesAm5:d}=await import(\"./FeatureMedia/xyChart.js\"),{root:m,mediaInfo:c}=t,{value:h,title:u}=c;e.setAll({wheelX:\"panX\",wheelY:\"zoomX\"});const f=e.xAxes.push(o.new(m,{renderer:s.new(m,{inversed:p(this.container)}),categoryField:w}));f.get(\"renderer\").labels.template.setAll({forceHidden:!0});const _=e.yAxes.push(n.new(m,{renderer:l.new(m,{inside:!1}),min:this._getMinSeriesValue(h.series)}));_.get(\"renderer\").labels.template.setAll({direction:this._getDirection()});const g=\"{categoryX}\",v=i[0]?.lineSettings?.stroke,I=r.new(m,{getFillFromSprite:!v,labelText:g});v&&I.get(\"background\")?.setAll({fill:v});const C=e.series.push(d.new(m,{name:u,xAxis:f,yAxis:_,valueYField:A,categoryXField:w,tooltip:I}));C.strokes.template.setAll({templateField:\"lineSettings\"}),this._customizeChartTooltip(I,\"vertical\"),h.series.length>M&&e.set(\"scrollbarX\",a.new(m,{orientation:\"horizontal\"})),f.data.setAll(i),C.data.setAll(i),C.appear(this._getChartSeriesAnimationMS()),e.appear(this._getChartAnimationMS())}async _createXYChart(e,t){const{XYChartAm5:i,XYCursorAm5:r}=await import(\"./FeatureMedia/xyChart.js\"),{root:a,mediaInfo:o}=e,{type:s}=o,n=o?.altText||o?.title||\"\",l=a.container.children.push(i.new(a,{ariaLabel:n,focusable:!0,panX:!0,panY:!0}));l.set(\"cursor\",r.new(a,{})),\"column-chart\"===s&&await this._createColumnChart(l,e,t),\"bar-chart\"===s&&await this._createBarChart(l,e,t),\"line-chart\"===s&&await this._createLineChart(l,e,t),l.root.dom.classList.toggle(v.mediaChartRendered,!0)}_clearMediaRefreshTimer(){const{_refreshTimer:e}=this;e&&(clearTimeout(e),this._refreshTimer=null)}_updateMediaInfoTimestamp(e){const t=Date.now();this._refreshIntervalInfo={timestamp:t,sourceURL:e&&this._getImageSource(e,t)}}_setupMediaRefreshTimer(){this._clearMediaRefreshTimer();const{activeMediaInfo:e}=this.viewModel;\"image\"===e?.type&&e?.refreshInterval>0&&this._setRefreshTimeout(e)}_setRefreshTimeout(e){const{refreshInterval:t,value:i}=e,r=6e4*t;this._updateMediaInfoTimestamp(i.sourceURL);const a=setInterval((()=>{this._updateMediaInfoTimestamp(i.sourceURL)}),r);this._refreshTimer=a}_getImageSource(e,t){const i=e.includes(\"?\")?\"&\":\"?\",[r,a=\"\"]=e.split(\"#\");return`${r}${i}timestamp=${t}${a?\"#\":\"\"}${a}`}};e([a()],T.prototype,\"_refreshIntervalInfo\",void 0),e([a()],T.prototype,\"attributes\",null),e([a()],T.prototype,\"activeMediaInfoIndex\",null),e([a()],T.prototype,\"description\",null),e([a()],T.prototype,\"fieldInfoMap\",null),e([a()],T.prototype,\"layer\",null),e([a()],T.prototype,\"mediaInfos\",null),e([a()],T.prototype,\"popupTemplate\",null),e([a()],T.prototype,\"relatedInfos\",null),e([a()],T.prototype,\"title\",null),e([a({type:l})],T.prototype,\"viewModel\",void 0),e([a(),h(\"esri/widgets/Feature/t9n/Feature\")],T.prototype,\"messages\",void 0),T=e([o(\"esri.widgets.Feature.FeatureMedia\")],T);const b=T;export{b as default};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{_ as t}from\"../../../chunks/tslib.es6.js\";import e from\"../../../core/Accessor.js\";import{isSome as i}from\"../../../core/arrayUtils.js\";import{property as o}from\"../../../core/accessorSupport/decorators/property.js\";import{cast as r}from\"../../../core/accessorSupport/decorators/cast.js\";import\"../../../core/has.js\";import{subclass as a}from\"../../../core/accessorSupport/decorators/subclass.js\";import s from\"../../../popup/FieldInfo.js\";import l from\"../../../popup/content/support/ChartMediaInfoValueSeries.js\";import{substituteFieldsInLinksAndAttributes as n,fixTokens as p,substituteAttributes as d,getFixedFieldNames as u,getFixedFieldName as f,isRelatedField as c,isExpressionField as m,getFieldInfo as h,getFieldInfoLabel as b}from\"../support/featureUtils.js\";import{getRelatedFieldInfo as y}from\"../support/relatedFeatureUtils.js\";const I={chartAnimation:!0};let v=class extends e{constructor(t){super(t),this.abilities={...I},this.activeMediaInfoIndex=0,this.attributes=null,this.description=null,this.fieldInfoMap=null,this.formattedAttributes=null,this.expressionAttributes=null,this.isAggregate=!1,this.layer=null,this.mediaInfos=null,this.popupTemplate=null,this.relatedInfos=null,this.title=null}castAbilities(t){return{...I,...t}}get activeMediaInfo(){return this.formattedMediaInfos[this.activeMediaInfoIndex]||null}get formattedMediaInfos(){return this._formatMediaInfos()||[]}get formattedMediaInfoCount(){return this.formattedMediaInfos.length}setActiveMedia(t){this._setContentElementMedia(t)}next(){this._pageContentElementMedia(1)}previous(){this._pageContentElementMedia(-1)}_setContentElementMedia(t){const{formattedMediaInfoCount:e}=this,i=(t+e)%e;this.activeMediaInfoIndex=i}_pageContentElementMedia(t){const{activeMediaInfoIndex:e}=this,i=e+t;this._setContentElementMedia(i)}_formatMediaInfos(){const{mediaInfos:t,layer:e}=this,o=this.attributes??{},r=this.formattedAttributes??{},a=this.expressionAttributes??{},s=this.fieldInfoMap??new Map;return t?.map((t=>{const i=t?.clone();if(!i)return null;if(i.title=n({attributes:o,fieldInfoMap:s,globalAttributes:r,expressionAttributes:a,layer:e,text:i.title}),i.caption=n({attributes:o,fieldInfoMap:s,globalAttributes:r,expressionAttributes:a,layer:e,text:i.caption}),i.altText=n({attributes:o,fieldInfoMap:s,globalAttributes:r,expressionAttributes:a,layer:e,text:i.altText}),\"image\"===i.type){if(!i.value)return;return this._setImageValue({value:i.value,formattedAttributes:r,layer:e}),i.value.sourceURL?i:void 0}if(\"pie-chart\"===i.type||\"line-chart\"===i.type||\"column-chart\"===i.type||\"bar-chart\"===i.type){if(!i.value)return;return this._setChartValue({value:i.value,chartType:i.type,attributes:o,formattedAttributes:r,layer:e,expressionAttributes:a}),i}return null})).filter(i)??[]}_setImageValue(t){const e=this.fieldInfoMap??new Map,{value:i,formattedAttributes:o,layer:r}=t,{linkURL:a,sourceURL:s}=i;if(s){const t=p(s,r);i.sourceURL=d({formattedAttributes:o,template:t,fieldInfoMap:e})}if(a){const t=p(a,r);i.linkURL=d({formattedAttributes:o,template:t,fieldInfoMap:e})}}_setChartValue(t){const{value:e,attributes:i,formattedAttributes:o,chartType:r,layer:a,expressionAttributes:s}=t,{popupTemplate:l,relatedInfos:n}=this,{fields:p,normalizeField:d}=e,m=a;e.fields=u(p,m),d&&(e.normalizeField=f(d,m));if(!p.some((t=>!!(null!=o[t]||c(t)&&n?.size))))return;const h=l?.fieldInfos??[];p.forEach(((t,a)=>{const l=e.colors?.[a];if(c(t))return void(e.series=[...e.series,...this._getRelatedChartInfos({fieldInfos:h,fieldName:t,formattedAttributes:o,chartType:r,value:e,color:l})]);const n=this._getChartOption({value:e,attributes:i,chartType:r,formattedAttributes:o,expressionAttributes:s,fieldName:t,fieldInfos:h,color:l});e.series.push(n)}))}_getRelatedChartInfos(t){const{fieldInfos:e,fieldName:i,formattedAttributes:o,chartType:r,value:a,color:s}=t,l=[],n=y(i),p=n&&this.relatedInfos?.get(n.layerId.toString());if(!p)return l;const{relatedFeatures:d,relation:u}=p;if(!u||!d)return l;const{cardinality:f}=u;d.forEach((t=>{const{attributes:p}=t;p&&Object.keys(p).forEach((t=>{t===n.fieldName&&l.push(this._getChartOption({value:a,attributes:p,formattedAttributes:o,fieldName:i,chartType:r,relatedFieldName:t,hasMultipleRelatedFeatures:d?.length>1,fieldInfos:e,color:s}))}))}));return\"one-to-many\"===f||\"many-to-many\"===f?l:[l[0]]}_getTooltip({label:t,value:e,chartType:i}){return\"pie-chart\"===i?`${t}`:`${t}: ${e}`}_getChartOption(t){const{value:e,attributes:i,formattedAttributes:o,expressionAttributes:r,fieldName:a,relatedFieldName:n,fieldInfos:p,chartType:d,hasMultipleRelatedFeatures:u,color:I}=t,v=this.layer,M=this.fieldInfoMap??new Map,{normalizeField:A,tooltipField:g}=e,x=A?c(A)?i[y(A).fieldName]:i[A]:null,_=m(a)&&r&&void 0!==r[a]?r[a]:n&&void 0!==i[n]?i[n]:void 0!==i[a]?i[a]:o[a],C=new l({fieldName:a,color:I,value:void 0===_?null:_&&x?_/x:_});if(c(a)){const t=M.get(a.toLowerCase()),e=g&&M.get(g.toLowerCase()),r=t?.fieldName??a,s=u&&g?y(g).fieldName:e?.fieldName??g,l=u&&s?i[s]:o[s]??t?.label??t?.fieldName??n,p=u&&n?i[n]:o[r];return C.tooltip=this._getTooltip({label:l,value:p,chartType:d}),C}const T=h(p,a),N=f(a,v),F=g&&void 0!==o[g]?o[g]:b(T||new s({fieldName:N}),this.popupTemplate?.expressionInfos),j=o[N];return C.tooltip=this._getTooltip({label:F,value:j,chartType:d}),C}};t([o()],v.prototype,\"abilities\",void 0),t([r(\"abilities\")],v.prototype,\"castAbilities\",null),t([o()],v.prototype,\"activeMediaInfoIndex\",void 0),t([o({readOnly:!0})],v.prototype,\"activeMediaInfo\",null),t([o()],v.prototype,\"attributes\",void 0),t([o()],v.prototype,\"description\",void 0),t([o()],v.prototype,\"fieldInfoMap\",void 0),t([o()],v.prototype,\"formattedAttributes\",void 0),t([o()],v.prototype,\"expressionAttributes\",void 0),t([o({readOnly:!0})],v.prototype,\"formattedMediaInfos\",null),t([o()],v.prototype,\"isAggregate\",void 0),t([o()],v.prototype,\"layer\",void 0),t([o({readOnly:!0})],v.prototype,\"formattedMediaInfoCount\",null),t([o()],v.prototype,\"mediaInfos\",void 0),t([o()],v.prototype,\"popupTemplate\",void 0),t([o()],v.prototype,\"relatedInfos\",void 0),t([o()],v.prototype,\"title\",void 0),v=t([a(\"esri.widgets.Feature.FeatureMedia.FeatureMediaViewModel\")],v);const M=v;export{M as default};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{_ as e}from\"../../chunks/tslib.es6.js\";import\"../../intl.js\";import{destroyMaybe as t}from\"../../core/maybe.js\";import{after as s}from\"../../core/promiseUtils.js\";import{watch as i,initial as r,on as o}from\"../../core/reactiveUtils.js\";import{property as n}from\"../../core/accessorSupport/decorators/property.js\";import{cast as l}from\"../../core/accessorSupport/decorators/cast.js\";import\"../../core/RandomLCG.js\";import\"../../core/has.js\";import{subclass as a}from\"../../core/accessorSupport/decorators/subclass.js\";import d from\"../Widget.js\";import c from\"./FeatureRelationship/FeatureRelationshipViewModel.js\";import u from\"./support/FeatureElementInfo.js\";import{loadCalciteComponents as h}from\"../support/componentsUtils.js\";import{globalCss as p}from\"../support/globalCss.js\";import{isRTL as m}from\"../support/widgetUtils.js\";import{messageBundle as v}from\"../support/decorators/messageBundle.js\";import{tsx as w}from\"../support/jsxFactory.js\";import{substitute as _}from\"../../intl/substitute.js\";var f;const b=\"esri-feature\",g=`${b}-relationship`,y={base:g,listContainer:`${g}__list`,listItem:`${g}__list-item`,listItemHidden:`${g}__list-item--hidden`,listContainerQuerying:`${g}__list--querying`,featureObserver:`${b}__feature-observer`,stickySpinnerContainer:`${b}__sticky-loading-container`,loadingSpinnerContainer:`${b}__loading-container`},F={title:!0,description:!0};let I=f=class extends d{constructor(e,t){super(e,t),this._featureElementInfo=null,this._relatedFeatureIntersectionObserverNode=null,this._relatedFeatureIntersectionObserver=new IntersectionObserver((([e])=>{e?.isIntersecting&&this._increaseFeaturePage()}),{root:window.document}),this.flowItems=null,this.flowType=\"feature-relationship\",this.headingLevel=2,this.viewModel=new c,this.messages=null,this.messagesCommon=null,this.visibleElements={...F},this._increaseFeaturePage=()=>{const{state:e,showAllEnabled:t,relatedFeatures:s,featuresPerPage:i,featurePage:r}=this.viewModel;\"ready\"===e&&t&&s.length>=i*r&&this.viewModel.featurePage++}}initialize(){this._featureElementInfo=new u,this.addHandles([i((()=>[this.viewModel.description,this.viewModel.title,this.headingLevel]),(()=>this._setupFeatureElementInfo()),r),i((()=>[this.viewModel.state,this.viewModel.showAllEnabled,this._relatedFeatureIntersectionObserverNode]),(()=>this._handleRelatedFeatureObserverChange())),o((()=>this.viewModel.relatedFeatureViewModels),\"change\",(()=>this._setupRelatedFeatureViewModels()))])}loadDependencies(){return h({icon:()=>import(\"@esri/calcite-components/dist/components/calcite-icon.js\"),list:()=>import(\"@esri/calcite-components/dist/components/calcite-list.js\"),\"list-item\":()=>import(\"@esri/calcite-components/dist/components/calcite-list-item.js\"),loader:()=>import(\"@esri/calcite-components/dist/components/calcite-loader.js\"),notice:()=>import(\"@esri/calcite-components/dist/components/calcite-notice.js\")})}destroy(){this._unobserveRelatedFeatureObserver(),this._featureElementInfo=t(this._featureElementInfo)}get displayShowAllButton(){const{showAllEnabled:e,featureCount:t,displayCount:s,state:i}=this.viewModel;return!e&&!!t&&\"ready\"===i&&(t>s||0===s)}get displayListItems(){return this.displayShowAllButton||this.viewModel.relatedFeatureViewModels.length>0}get description(){return this.viewModel.description}set description(e){this.viewModel.description=e}get featureCountDescription(){const{messages:e}=this,{featureCount:t}=this.viewModel;return _(e?.numberRecords,{number:t})}get title(){return this.viewModel.title}set title(e){this.viewModel.title=e}castVisibleElements(e){return{...F,...e}}render(){const{state:e}=this.viewModel;return w(\"div\",{class:this.classes(y.base,p.widget)},this._featureElementInfo?.render(),\"loading\"===e?this._renderLoading():\"disabled\"===e?this._renderRelationshipNotFound():this._renderRelatedFeatures())}async _selectRecord(e){const{flowItems:t,featureVisibleElements:s}=this;if(!t)return;e.abilities={relationshipContent:!0};const{default:i}=await import(\"../Feature.js\");t.push(new i({flowItems:t,flowType:this.flowType,viewModel:e,visibleElements:s}))}_showAllRecords(){const{flowItems:e}=this;if(!e)return;const{viewModel:t,featureVisibleElements:s}=this;t.showAllEnabled=!0;const i=new f({flowItems:e,featureVisibleElements:s,visibleElements:{title:!1,description:!1},viewModel:t});e.push(i)}_renderStickyLoading(){return\"querying\"===this.viewModel.state?w(\"div\",{class:y.stickySpinnerContainer,key:\"sticky-loader\"},this._renderLoadingIcon()):null}_renderLoadingIcon(){return w(\"calcite-loader\",{inline:!0,label:\"\"})}_renderLoading(){return w(\"div\",{class:y.loadingSpinnerContainer,key:\"loading-container\"},this._renderLoadingIcon())}_renderShowAllIconNode(){return w(\"calcite-icon\",{icon:\"list\",scale:\"s\",slot:\"content-end\"})}_renderChevronIconNode(){const e=m(this.container)?\"chevron-left\":\"chevron-right\";return w(\"calcite-icon\",{icon:e,scale:\"s\",slot:\"content-end\"})}_renderRelatedFeature(e){const{itemDescriptionFieldName:t}=this.viewModel,s=e.title;e.description=t&&e.formattedAttributes?.global[t];const i=\"loading\"===e.state;return w(\"calcite-list-item\",{class:this.classes(y.listItem,{[y.listItemHidden]:i}),description:e.description??\"\",key:e.uid,label:s,onCalciteListItemSelect:()=>this._selectRecord(e)},this._renderChevronIconNode())}_renderShowAllListItem(){return this.displayShowAllButton?w(\"calcite-list-item\",{description:this.featureCountDescription,key:\"show-all-item\",label:this.messages?.showAll,onCalciteListItemSelect:()=>this._showAllRecords()},this._renderShowAllIconNode()):null}_renderNoRelatedFeaturesMessage(){return w(\"calcite-notice\",{icon:\"information\",key:\"no-related-features-message\",kind:\"brand\",open:!0,scale:\"s\",width:\"full\"},w(\"div\",{slot:\"message\"},this.messages?.noRelatedFeatures))}_renderFeatureObserver(){return w(\"div\",{afterCreate:this._relatedFeatureIntersectionObserverCreated,bind:this,class:y.featureObserver,key:\"feature-observer\"})}_renderList(){const{relatedFeatureViewModels:e}=this.viewModel;return w(\"calcite-list\",null,e.toArray().map((e=>this._renderRelatedFeature(e))),this._renderShowAllListItem())}_renderRelatedFeatures(){const{displayListItems:e}=this,{state:t}=this.viewModel;return w(\"div\",{class:this.classes(y.listContainer,{[y.listContainerQuerying]:\"querying\"===t}),key:\"list-container\"},e?this._renderList():\"ready\"===t?this._renderNoRelatedFeaturesMessage():null,this._renderStickyLoading(),this._renderFeatureObserver())}_renderRelationshipNotFound(){return w(\"calcite-notice\",{icon:\"exclamation-mark-triangle\",key:\"relationship-not-found\",kind:\"danger\",open:!0,scale:\"s\",width:\"full\"},w(\"div\",{slot:\"message\"},this.messages?.relationshipNotFound))}_setupRelatedFeatureViewModels(){const{relatedFeatureViewModels:e}=this.viewModel,t=\"related-feature-viewmodels\";this.removeHandles(t),e?.forEach((e=>{this.addHandles(i((()=>[e.title,e.state]),(()=>this.scheduleRender()),r),t)})),this.scheduleRender()}_setupFeatureElementInfo(){const{headingLevel:e,visibleElements:t}=this,s=t.description&&this.description,i=t.title&&this.title;this._featureElementInfo?.set({description:s,title:i,headingLevel:e})}async _handleRelatedFeatureObserverChange(){this._unobserveRelatedFeatureObserver();const{state:e,showAllEnabled:t}=this.viewModel;await s(0),this._relatedFeatureIntersectionObserverNode&&\"ready\"===e&&t&&this._relatedFeatureIntersectionObserver.observe(this._relatedFeatureIntersectionObserverNode)}_relatedFeatureIntersectionObserverCreated(e){this._relatedFeatureIntersectionObserverNode=e}_unobserveRelatedFeatureObserver(){this._relatedFeatureIntersectionObserverNode&&this._relatedFeatureIntersectionObserver.unobserve(this._relatedFeatureIntersectionObserverNode)}};e([n()],I.prototype,\"_relatedFeatureIntersectionObserverNode\",void 0),e([n({readOnly:!0})],I.prototype,\"displayShowAllButton\",null),e([n({readOnly:!0})],I.prototype,\"displayListItems\",null),e([n()],I.prototype,\"description\",null),e([n({readOnly:!0})],I.prototype,\"featureCountDescription\",null),e([n()],I.prototype,\"featureVisibleElements\",void 0),e([n()],I.prototype,\"flowItems\",void 0),e([n()],I.prototype,\"flowType\",void 0),e([n()],I.prototype,\"headingLevel\",void 0),e([n()],I.prototype,\"title\",null),e([n({type:c})],I.prototype,\"viewModel\",void 0),e([n(),v(\"esri/widgets/Feature/t9n/Feature\")],I.prototype,\"messages\",void 0),e([n(),v(\"esri/t9n/common\")],I.prototype,\"messagesCommon\",void 0),e([n()],I.prototype,\"visibleElements\",void 0),e([l(\"visibleElements\")],I.prototype,\"castVisibleElements\",null),I=f=e([a(\"esri.widgets.Feature.FeatureRelationship\")],I);const M=I;export{M as default};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{_ as e}from\"../../../chunks/tslib.es6.js\";import t from\"../../../Graphic.js\";import r from\"../../../core/Accessor.js\";import{isSome as o}from\"../../../core/arrayUtils.js\";import{ClonableMixin as l}from\"../../../core/Clonable.js\";import s from\"../../../core/Collection.js\";import{IdentifiableMixin as a}from\"../../../core/Identifiable.js\";import{ignoreAbortErrors as i,debounce as n}from\"../../../core/promiseUtils.js\";import{watch as u,initial as d}from\"../../../core/reactiveUtils.js\";import{property as h}from\"../../../core/accessorSupport/decorators/property.js\";import\"../../../core/has.js\";import\"../../../core/Logger.js\";import{subclass as y}from\"../../../core/accessorSupport/decorators/subclass.js\";import p from\"../../../rest/support/RelationshipQuery.js\";import{getFixedFieldName as c,findRelatedLayer as C}from\"../support/featureUtils.js\";import{getFieldsInTitleAndDesc as b}from\"../../FeatureForm/featureFormUtils.js\";const g=100;let _=class extends(l(a(r))){constructor(e){super(e),this._loaded=!1,this._queryAbortController=null,this._queryPageAbortController=null,this._queryFeatureCountAbortController=null,this.featuresPerPage=10,this.description=null,this.graphic=null,this.layer=null,this.map=null,this.orderByFields=null,this.featureCount=0,this.relationshipId=null,this.showAllEnabled=!1,this.title=null,this._cancelQuery=()=>{const{_queryAbortController:e}=this;e&&e.abort(),this._queryAbortController=null},this._cancelQueryFeatureCount=()=>{const{_queryFeatureCountAbortController:e}=this;e&&e.abort(),this._queryFeatureCountAbortController=null},this._cancelQueryPage=()=>{const{_queryPageAbortController:e}=this;e&&e.abort(),this._queryPageAbortController=null},this._queryController=async()=>{this._cancelQuery();const e=new AbortController;this._queryAbortController=e,await i(this._query()),this._queryAbortController===e&&(this._queryAbortController=null)},this._queryFeatureCountController=async()=>{this._loaded=!1,this._cancelQueryFeatureCount();const e=new AbortController;this._queryFeatureCountAbortController=e,await i(this._queryFeatureCount()),this._queryFeatureCountAbortController===e&&(this._queryFeatureCountAbortController=null),this._loaded=!0},this._queryPageController=async()=>{const e=new AbortController;this._queryPageAbortController=e,await i(this._queryPage()),this._queryPageAbortController===e&&(this._queryPageAbortController=null)},this._queryDebounced=n(this._queryController,g),this._queryFeatureCountDebounced=n(this._queryFeatureCountController,g),this._queryPageDebounced=n(this._queryPageController,g),this._query=async()=>{const{_queryAbortController:e,relatedFeatures:t}=this;this.featureCount&&(this._destroyRelatedFeatureViewModels(),this.featurePage=1,t.destroyAll(),this.destroyed||t.addMany(this._sliceFeatures(await this._queryRelatedFeatures({signal:e?.signal}))))},this.addHandles([u((()=>[this.displayCount,this.graphic,this.layer,this.layer?.loaded,this.map,this.orderByFields,this.relationshipId,this.featuresPerPage,this.showAllEnabled,this.canQuery,this.featureCount]),(()=>this._queryDebounced()),d),u((()=>[this.featurePage,this.showAllEnabled]),(()=>this._queryPageDebounced())),u((()=>[this.layer,this.relationshipId,this.objectId,this.canQuery]),(()=>this._queryFeatureCountDebounced()))])}destroy(){this._destroyRelatedFeatureViewModels(),this.relatedFeatures.destroyAll(),this._cancelQuery(),this._cancelQueryFeatureCount(),this._cancelQueryPage()}set featurePage(e){const{featuresPerPage:t,featureCount:r}=this,o=1,l=Math.ceil(r/t)||1;this._set(\"featurePage\",Math.min(Math.max(e,o),l))}get featurePage(){return this._get(\"featurePage\")}get orderByFieldsFixedCasing(){const{orderByFields:e,relatedLayer:t}=this;return e&&t?.loaded?e.map((e=>{const r=e.clone();return r.field=c(e.field,t),r})):e??[]}get supportsCacheHint(){return!!this.layer?.capabilities?.queryRelated?.supportsCacheHint}get canLoad(){return!!this.map&&null!=this.relationshipId&&\"number\"==typeof this.objectId}get canQuery(){const e=this.layer?.capabilities?.queryRelated;return!!(this.relatedLayer&&this.relationship&&null!=this.relationshipId&&null!=this.objectId&&e?.supportsCount&&e?.supportsPagination)}get itemDescriptionFieldName(){return this.orderByFieldsFixedCasing[0]?.field||null}set displayCount(e){const t=0,r=10;this._set(\"displayCount\",Math.min(Math.max(e,t),r))}get displayCount(){return this._get(\"displayCount\")}get objectId(){return(this.objectIdField&&this.graphic?.attributes?.[this.objectIdField])??null}get objectIdField(){return this.layer?.objectIdField||null}get relatedFeatures(){return this._get(\"relatedFeatures\")||new s}get relatedLayer(){const{layer:e,map:t,relationship:r}=this;return e?.loaded&&t&&r?C(t,e,r)??null:null}get relationship(){const{relationshipId:e,layer:t}=this;return null!=e?t?.relationships?.find((({id:t})=>t===e))??null:null}get relatedFeatureViewModels(){return this._get(\"relatedFeatureViewModels\")||new s}get state(){const{_queryAbortController:e,_queryFeatureCountAbortController:t,_queryPageAbortController:r,canQuery:o,_loaded:l,canLoad:s}=this;return t||s&&!l?\"loading\":e||r?\"querying\":o?\"ready\":\"disabled\"}getRelatedFeatureByObjectId(e){return this.relatedFeatures.find((t=>t.getObjectId()===e))}refresh(){this._queryFeatureCountDebounced()}_destroyRelatedFeatureViewModels(){this.relatedFeatureViewModels?.destroyAll()}async _queryFeatureCount(){const{layer:e,relatedLayer:t,relationshipId:r,objectId:o,_queryFeatureCountAbortController:l,canQuery:s,supportsCacheHint:a}=this;if(await(e?.load()),await(t?.load()),!s||!e||!t||null==o)return void this._set(\"featureCount\",0);const i=t.createQuery(),{historicMoment:n,gdbVersion:u}=e,d=new p({cacheHint:a,gdbVersion:u,historicMoment:n,relationshipId:r,returnGeometry:!1,objectIds:[o],where:i.where??void 0}),h=await e.queryRelatedFeaturesCount(d,{signal:l?.signal});this._set(\"featureCount\",h[o]||0)}_sliceFeatures(e){const{showAllEnabled:t,displayCount:r}=this;return t?e:r?e.slice(0,r):[]}async _queryPage(){const{relatedFeatures:e,featurePage:t,showAllEnabled:r,_queryPageAbortController:o,featureCount:l}=this;!r||t<2||!l||e.addMany(await this._queryRelatedFeatures({signal:o?.signal}))}async _queryRelatedFeatures(e){const{orderByFieldsFixedCasing:t,showAllEnabled:r,featuresPerPage:l,displayCount:s,layer:a,relationshipId:i,featurePage:n,featureCount:u,relatedLayer:d,supportsCacheHint:h}=this,{canQuery:y,objectId:c}=this;if(!y||!a||!d||null==c)return[];const C=r?((n-1)*l+u)%u:0,g=r?l:s,_=d.objectIdField,F=[...t.map((e=>e.field)),...b(d),_].filter(o),m=t.map((e=>`${e.field} ${e.order}`)),f=d.createQuery(),{historicMoment:q,gdbVersion:A}=a,P=new p({orderByFields:m,start:C,num:g,outFields:F,cacheHint:h,historicMoment:q,gdbVersion:A,relationshipId:i,returnGeometry:!1,objectIds:[c],where:f.where??void 0}),w=await a.queryRelatedFeatures(P,{signal:e?.signal}),j=w[c]?.features||[];return j.forEach((e=>{e.sourceLayer=d,e.layer=d})),j}};e([h()],_.prototype,\"_loaded\",void 0),e([h()],_.prototype,\"_queryAbortController\",void 0),e([h()],_.prototype,\"_queryPageAbortController\",void 0),e([h()],_.prototype,\"_queryFeatureCountAbortController\",void 0),e([h({value:1})],_.prototype,\"featurePage\",null),e([h()],_.prototype,\"featuresPerPage\",void 0),e([h({readOnly:!0})],_.prototype,\"orderByFieldsFixedCasing\",null),e([h({readOnly:!0})],_.prototype,\"supportsCacheHint\",null),e([h({readOnly:!0})],_.prototype,\"canLoad\",null),e([h({readOnly:!0})],_.prototype,\"canQuery\",null),e([h()],_.prototype,\"description\",void 0),e([h({readOnly:!0})],_.prototype,\"itemDescriptionFieldName\",null),e([h({value:3})],_.prototype,\"displayCount\",null),e([h({type:t})],_.prototype,\"graphic\",void 0),e([h()],_.prototype,\"layer\",void 0),e([h()],_.prototype,\"map\",void 0),e([h({readOnly:!0})],_.prototype,\"objectId\",null),e([h({readOnly:!0})],_.prototype,\"objectIdField\",null),e([h()],_.prototype,\"orderByFields\",void 0),e([h({readOnly:!0})],_.prototype,\"relatedFeatures\",null),e([h({readOnly:!0})],_.prototype,\"relatedLayer\",null),e([h({readOnly:!0})],_.prototype,\"relationship\",null),e([h()],_.prototype,\"featureCount\",void 0),e([h({readOnly:!0})],_.prototype,\"relatedFeatureViewModels\",null),e([h()],_.prototype,\"relationshipId\",void 0),e([h()],_.prototype,\"showAllEnabled\",void 0),e([h()],_.prototype,\"state\",null),e([h()],_.prototype,\"title\",void 0),_=e([y(\"esri.widgets.Feature.FeatureRelationship.FeatureRelationshipViewModel\")],_);const F=_;export{F as default};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{_ as e}from\"../../chunks/tslib.es6.js\";import\"../../intl.js\";import{after as t}from\"../../core/promiseUtils.js\";import i from\"../../core/ReactiveMap.js\";import{watch as s}from\"../../core/reactiveUtils.js\";import{property as o}from\"../../core/accessorSupport/decorators/property.js\";import\"../../core/has.js\";import\"../../core/Logger.js\";import\"../../core/RandomLCG.js\";import{subclass as r}from\"../../core/accessorSupport/decorators/subclass.js\";import{formatNumber as n}from\"../../intl/number.js\";import{getFeaturePopupTitle as a}from\"../../support/popupUtils.js\";import l from\"../Widget.js\";import c from\"./FeatureUtilityNetworkAssociations/FeatureUtilityNetworkAssociationsViewModel.js\";import d from\"./FeatureUtilityNetworkAssociations/VisibleElements.js\";import{loadCalciteComponents as u}from\"../support/componentsUtils.js\";import{globalCss as p}from\"../support/globalCss.js\";import\"../support/widgetUtils.js\";import{messageBundle as m}from\"../support/decorators/messageBundle.js\";import{tsx as h,tsxFragment as y}from\"../support/jsxFactory.js\";import{substitute as v}from\"../../intl/substitute.js\";var _;const g=\"esri-feature\",f=`${g}-relationship`,w={base:f,listContainer:`${f}__list`,listItem:`${f}__list-item`,listItemHidden:`${f}__list-item--hidden`,listContainerQuerying:`${f}__list--querying`,featureObserver:`${g}__feature-observer`,stickySpinnerContainer:`${g}__sticky-loading-container`,loadingSpinnerContainer:`${g}__loading-container`,expander:`${f}__expander`,filterContainer:`${g}__filter-container`};let F=_=class extends l{constructor(e,t){super(e,t),this.flowType=\"feature-utility-network-association-type\",this.description=null,this.headingLevel=2,this.title=null,this.viewModel=new c,this.parentFeatureViewModel=null,this.listType=null,this.selectedLayer=null,this.flowItems=null,this.messages=null,this.messagesCommon=null,this.visibleElements=new d,this._featuresPerPage=50,this._maxNumFeatures=1e3,this._currentFeaturePage=1,this._previewDisplayCount=3,this._associatedFeatureIntersectionObserverNode=null,this._associatedFeatureIntersectionObserver=new IntersectionObserver((([e])=>{e?.isIntersecting&&this._increaseFeaturePage()}),{root:window.document}),this._tooltipReferenceMap=new i,this._filterText=\"\"}initialize(){this.addHandles([s((()=>[this._associatedFeatureIntersectionObserverNode]),(()=>this._handleAssociatedFeatureObserverChange()))])}loadDependencies(){return u({chip:()=>import(\"@esri/calcite-components/dist/components/calcite-chip.js\"),icon:()=>import(\"@esri/calcite-components/dist/components/calcite-icon.js\"),input:()=>import(\"@esri/calcite-components/dist/components/calcite-input.js\"),loader:()=>import(\"@esri/calcite-components/dist/components/calcite-loader.js\"),list:()=>import(\"@esri/calcite-components/dist/components/calcite-list.js\"),\"list-item\":()=>import(\"@esri/calcite-components/dist/components/calcite-list-item.js\"),tooltip:()=>import(\"@esri/calcite-components/dist/components/calcite-tooltip.js\")})}destroy(){this._tooltipReferenceMap.clear()}get _numAssociatedFeatures(){const e=this.viewModel.associationViewModels;return this.selectedLayer?e.get(this.selectedLayer).length:0}set currentFeaturePage(e){const{_featuresPerPage:t,_numAssociatedFeatures:i}=this,s=1,o=Math.ceil(i/t)||1;this._currentFeaturePage=Math.max(Math.min(e,o),s)}get currentFeaturePage(){return this._currentFeaturePage}render(){const e=this.viewModel.associationViewModels,{state:t,showAllEnabled:i}=this.viewModel,{state:s}=this.parentFeatureViewModel??{};return h(\"div\",{class:this.classes(w.base,p.widget)},\"loading\"===t||\"querying\"===t||\"loading\"===s?this._renderLoading():h(\"calcite-list\",null,i&&this.selectedLayer?h(y,null,this._renderFilter(),this._renderAssociatedFeatureListPage(),this._renderFeatureObserver()):Array.from(e.keys(),(t=>this._renderTypeList(t,e.get(t))))))}_renderFilter(){return h(\"div\",{class:w.filterContainer,key:\"filter\"},h(\"calcite-input\",{icon:\"search\",placeholder:this.messages.associationFilterPlaceholder,type:\"search\",onCalciteInputInput:e=>{this._filterText=e.target.value.trim().toLowerCase(),this._currentFeaturePage=1}}))}_showAllAssociations(e){const{flowItems:t,viewModel:i,description:s}=this;if(!t||!e)return;i.showAllEnabled=!0;const o=new _({selectedLayer:e,title:e?.title,flowItems:t,parentFeatureViewModel:this.parentFeatureViewModel,featureVisibleElements:this.featureVisibleElements,description:s,visibleElements:{title:!1,description:!1},viewModel:i});t.push(o)}_renderAssociatedFeatureListPage(){const{currentFeaturePage:e,_featuresPerPage:t,_maxNumFeatures:i,_filterText:s}=this,o=Math.min(e*t,i),r=this.viewModel.associationViewModels.get(this.selectedLayer).filter((e=>a(e.featureViewModel).toLowerCase().includes(s))).slice(0,o);return[...this._renderTooltips(r),...this._renderAssociatedFeatureList(r)]}async _handleAssociatedFeatureObserverChange(){this._associatedFeatureIntersectionObserverNode&&this._associatedFeatureIntersectionObserver.unobserve(this._associatedFeatureIntersectionObserverNode);const{state:e,showAllEnabled:i}=this.viewModel;await t(0),this._associatedFeatureIntersectionObserverNode&&\"ready\"===e&&i&&this._associatedFeatureIntersectionObserver.observe(this._associatedFeatureIntersectionObserverNode)}_associatedFeatureIntersectionObserverCreated(e){this._associatedFeatureIntersectionObserverNode=e}_renderFeatureObserver(){return h(\"div\",{afterCreate:this._associatedFeatureIntersectionObserverCreated,bind:this,class:w.featureObserver,key:\"feature-observer\"})}_increaseFeaturePage(){this.currentFeaturePage++}_renderLoading(){return h(\"div\",{class:w.loadingSpinnerContainer,key:\"loading-container\"},this._renderLoadingIcon())}_renderLoadingIcon(){return h(\"calcite-loader\",{inline:!0,label:\"\"})}isConnectivity(e){return[\"connectivity\",\"junction-junction-connectivity\",\"junction-edge-from-connectivity\",\"junction-midspan-connectivity\",\"junction-edge-to-connectivity\"].includes(e.association.associationType)}_getConnectivityTooltip(e){switch(e){case\"connectivity\":case\"junction-junction-connectivity\":return this.messages.associationsJunctionJunction;case\"junction-edge-from-connectivity\":return this.messages.associationsJunctionEdgeFrom;case\"junction-midspan-connectivity\":return this.messages.associationsJunctionEdgeMidspan;case\"junction-edge-to-connectivity\":return this.messages.associationsJunctionEdgeTo;default:return\"\"}}_renderItemTooltip(e){const{_tooltipReferenceMap:t}=this;return this.isConnectivity(e)?h(\"calcite-tooltip\",{key:`tooltip-${e.featureViewModel.uid}`,referenceElement:t.get(e.featureViewModel.uid)},this._getConnectivityTooltip(e.association.associationType)):null}_renderConnectivityIcon(e,t){let i;switch(e){case\"junction-edge-from-connectivity\":i=\"connection-end-left\";break;case\"junction-edge-to-connectivity\":i=\"connection-end-right\";break;case\"junction-midspan-connectivity\":i=\"connection-middle\";break;default:i=\"connection-to-connection\"}return h(\"calcite-icon\",{afterCreate:e=>this._tooltipReferenceMap.set(t,e),afterRemoved:()=>this._tooltipReferenceMap.delete(t),icon:i,scale:\"s\",slot:\"content-start\"})}_formatPercentAlong(e){return`${n(e.association.percentAlong,{style:\"percent\",maximumFractionDigits:2})}`}_renderAssociatedFeature(e){const{featureViewModel:t}=e,i=a(t),s=\"loading\"===t.state,o=this._findFlowItem(t),r=o<0&&this._isParentFeature(t),n=r||o>=0,l=this.isConnectivity(e),c=l&&\"junction-midspan-connectivity\"===e.association.associationType;return h(\"calcite-list-item\",{class:this.classes(w.listItem,{[w.listItemHidden]:s}),description:e.terminalName??\"\",key:`associated-feature-type-${t.uid}`,label:i,onCalciteListItemSelect:()=>this._handleFeatureClick(r,o,t)},l?this._renderConnectivityIcon(e.association.associationType,e.featureViewModel.uid):null,c?h(\"calcite-chip\",{scale:\"s\",slot:\"content-end\",value:e.association.percentAlong},this._formatPercentAlong(e)):null,this._renderChevronIconNode(n))}async _selectAssociation(e){const{flowItems:t,featureVisibleElements:i}=this;if(!t)return;e.abilities={utilityNetworkAssociationsContent:!0};const{default:s}=await import(\"../Feature.js\");t.push(new s({flowItems:t,flowType:\"feature-association\",viewModel:e,visibleElements:i}))}_handleFeatureClick(e,t,i){if(e)this.flowItems.drain((e=>{\"showAllEnabled\"in e.viewModel&&(e.viewModel.showAllEnabled=!1),e.viewModel=null,e.destroy()}));else if(t<0||!this.flowItems)this._selectAssociation(i);else for(;this.flowItems.length>t+1;){const e=this.flowItems.pop();e&&(\"showAllEnabled\"in e.viewModel&&(e.viewModel.showAllEnabled=!1),e.viewModel=null,e.destroy())}}_featureViewModelMatch(e,t){const i=e.graphic,s=i?.layer;let o=null;\"subtype-sublayer\"===s?.type&&s.parent?o=s.parent.globalIdField??null:s&&\"globalIdField\"in s&&(o=s.globalIdField);const r=o?i?.attributes[o]:null,n=t.graphic,a=n?.layer;let l=null;\"subtype-sublayer\"===a?.type&&a.parent?l=a.parent.globalIdField??null:a&&\"globalIdField\"in a&&(l=a.globalIdField);const c=l?n?.attributes[l]:null;return r&&c&&r===c}_isParentFeature(e){const t=this.flowItems?.getItemAt(0);if(!t)return!1;const i=t.parentFeatureViewModel;return this._featureViewModelMatch(i,e)}_findFlowItem(e){return this.flowItems?.findIndex((t=>{if(\"feature\"!==t.flowType)return!1;const i=t.viewModel;return this._featureViewModelMatch(i,e)}))??-1}_renderTooltips(e){return e.toArray().map((e=>this._renderItemTooltip(e)))}_renderAssociatedFeatureList(e){return e.toArray().map((e=>this._renderAssociatedFeature(e)))}_renderChevronIconNode(e){return h(\"calcite-icon\",{flipRtl:!0,icon:e?\"move-up\":\"chevron-right\",scale:\"s\",slot:\"content-end\"})}_renderTypeList(e,t){const{messages:i}=this,s=t.slice(0,this._previewDisplayCount),o=s.lengththis._showAllAssociations(e)},h(\"calcite-icon\",{icon:\"list\",scale:\"s\",slot:\"content-end\"})):null))}};e([o()],F.prototype,\"flowType\",void 0),e([o()],F.prototype,\"description\",void 0),e([o()],F.prototype,\"headingLevel\",void 0),e([o()],F.prototype,\"title\",void 0),e([o({type:c})],F.prototype,\"viewModel\",void 0),e([o()],F.prototype,\"parentFeatureViewModel\",void 0),e([o()],F.prototype,\"listType\",void 0),e([o()],F.prototype,\"selectedLayer\",void 0),e([o()],F.prototype,\"featureVisibleElements\",void 0),e([o()],F.prototype,\"flowItems\",void 0),e([o(),m(\"esri/widgets/Feature/t9n/Feature\")],F.prototype,\"messages\",void 0),e([o(),m(\"esri/t9n/common\")],F.prototype,\"messagesCommon\",void 0),e([o({type:d,nonNullable:!0})],F.prototype,\"visibleElements\",void 0),e([o()],F.prototype,\"_featuresPerPage\",void 0),e([o()],F.prototype,\"_maxNumFeatures\",void 0),e([o()],F.prototype,\"_numAssociatedFeatures\",null),e([o()],F.prototype,\"_currentFeaturePage\",void 0),e([o()],F.prototype,\"currentFeaturePage\",null),e([o()],F.prototype,\"_previewDisplayCount\",void 0),e([o()],F.prototype,\"_associatedFeatureIntersectionObserverNode\",void 0),e([o()],F.prototype,\"_tooltipReferenceMap\",void 0),e([o()],F.prototype,\"_filterText\",void 0),F=_=e([r(\"esri.widgets.Feature.FeatureUtilityNetworkAssociationType\")],F);const b=F;export{b as default};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{_ as e}from\"../../chunks/tslib.es6.js\";import{destroyMaybe as t}from\"../../core/maybe.js\";import{watch as i,initial as s}from\"../../core/reactiveUtils.js\";import{property as o}from\"../../core/accessorSupport/decorators/property.js\";import\"../../core/has.js\";import\"../../core/Logger.js\";import\"../../core/RandomLCG.js\";import{subclass as n}from\"../../core/accessorSupport/decorators/subclass.js\";import r from\"../Widget.js\";import a from\"./FeatureUtilityNetworkAssociationType.js\";import l from\"./FeatureUtilityNetworkAssociations/FeatureUtilityNetworkAssociationsViewModel.js\";import c from\"./FeatureUtilityNetworkAssociations/VisibleElements.js\";import p from\"./support/FeatureElementInfo.js\";import{loadCalciteComponents as d}from\"../support/componentsUtils.js\";import{globalCss as u}from\"../support/globalCss.js\";import\"../support/widgetUtils.js\";import{messageBundle as m}from\"../support/decorators/messageBundle.js\";import{tsx as h}from\"../support/jsxFactory.js\";const y=\"esri-feature\",v=`${y}-relationship`,g={base:v,listContainer:`${v}__list`,listItem:`${v}__list-item`,listItemHidden:`${v}__list-item--hidden`,listContainerQuerying:`${v}__list--querying`,featureObserver:`${y}__feature-observer`,stickySpinnerContainer:`${y}__sticky-loading-container`,loadingSpinnerContainer:`${y}__loading-container`,expander:`${v}__expander`};let f=class extends r{constructor(e,t){super(e,t),this._featureElementInfo=null,this.flowType=\"feature-utility-network-associations\",this.flowItems=null,this.parentFeatureViewModel=null,this.headingLevel=2,this.viewModel=new l,this.messages=null,this.messagesCommon=null,this.visibleElements=new c}initialize(){this._featureElementInfo=new p,this.addHandles([i((()=>[this.viewModel.description,this.viewModel.title,this.headingLevel]),(()=>this._setupFeatureElementInfo()),s)])}loadDependencies(){return d({chip:()=>import(\"@esri/calcite-components/dist/components/calcite-chip.js\"),icon:()=>import(\"@esri/calcite-components/dist/components/calcite-icon.js\"),loader:()=>import(\"@esri/calcite-components/dist/components/calcite-loader.js\"),notice:()=>import(\"@esri/calcite-components/dist/components/calcite-notice.js\"),list:()=>import(\"@esri/calcite-components/dist/components/calcite-list.js\"),\"list-item\":()=>import(\"@esri/calcite-components/dist/components/calcite-list-item.js\")})}destroy(){this._featureElementInfo=t(this._featureElementInfo)}get description(){return this.viewModel.description}set description(e){this.viewModel.description=e}get title(){return this.viewModel.title}set title(e){this.viewModel.title=e}render(){const{state:e}=this.viewModel;return h(\"div\",{class:this.classes(g.base,u.widget)},this._featureElementInfo?.render(),\"loading\"===e?this._renderLoading():\"disabled\"===e?this._renderAssociationNotFound():this._renderContent())}_renderStickyLoading(){return\"querying\"===this.viewModel.state?h(\"div\",{class:g.stickySpinnerContainer,key:\"sticky-loader\"},this._renderLoadingIcon()):null}_renderLoadingIcon(){return h(\"calcite-loader\",{inline:!0,label:\"\"})}_renderLoading(){return h(\"div\",{class:g.loadingSpinnerContainer,key:\"loading-container\"},this._renderLoadingIcon())}_renderAssociationNotFound(){return h(\"calcite-notice\",{icon:\"exclamation-mark-triangle\",key:\"association-not-found\",kind:\"danger\",open:!0,scale:\"s\",width:\"full\"},h(\"div\",{slot:\"message\"},this.messages?.noAssociations))}_setupFeatureElementInfo(){const{headingLevel:e,visibleElements:t}=this,i=t.description&&this.description,s=t.title&&this.title;this._featureElementInfo?.set({description:i,title:s,headingLevel:e})}_getAssociationTypeTitle(e){const{messages:t}=this;if(e.title)return e.title;switch(e.type){case\"attachment\":return t.associationsAttachments;case\"connectivity\":return t.associationsConnectivity;case\"structure\":return t.associationsStructure;case\"content\":return t.associationsContents;case\"container\":return t.associationsContainer}}_selectAssociationType(e){const{viewModel:t,flowItems:i,parentFeatureViewModel:s}=this;if(!i)return;const{associationTypes:o}=t;o.forEach((t=>{t.type===e.type?t.open=!0:t.open=!1}));const n=new a({viewModel:t,parentFeatureViewModel:s,listType:e,title:this._getAssociationTypeTitle(e),featureVisibleElements:this.featureVisibleElements,description:this.parentFeatureViewModel?.title,flowItems:i});i.push(n)}_renderAssociationType(e){const t=this._getAssociationTypeTitle(e);return h(\"calcite-list-item\",{description:e.description,key:`association-type-${e.type}`,label:t,value:e.type,onCalciteListItemSelect:()=>this._selectAssociationType(e)},h(\"calcite-chip\",{scale:\"s\",slot:\"content-end\",value:e.type},this._getFeatureCount(e.type)),h(\"calcite-icon\",{flipRtl:!0,icon:\"chevron-right\",scale:\"s\",slot:\"content-end\"}))}_getFeatureCount(e){switch(e){case\"attachment\":return this.viewModel.attachmentsFeatureCount;case\"structure\":return this.viewModel.structureFeatureCount;case\"content\":return this.viewModel.contentFeatureCount;case\"container\":return this.viewModel.containerFeatureCount;case\"connectivity\":return this.viewModel.connectivityFeatureCount}}_renderAssociations(e){return h(\"div\",null,this._getFeatureCount(e.type)>0?this._renderAssociationType(e):null)}_renderContent(){const{state:e,associationTypes:t}=this.viewModel;return h(\"div\",{class:this.classes(g.listContainer,{[g.listContainerQuerying]:\"querying\"===e}),key:\"list-container\"},\"ready\"===e?h(\"calcite-list\",null,t.map((e=>this._renderAssociations(e)))):null,this._renderStickyLoading())}};e([o()],f.prototype,\"flowType\",void 0),e([o()],f.prototype,\"flowItems\",void 0),e([o()],f.prototype,\"parentFeatureViewModel\",void 0),e([o()],f.prototype,\"featureVisibleElements\",void 0),e([o()],f.prototype,\"description\",null),e([o()],f.prototype,\"headingLevel\",void 0),e([o()],f.prototype,\"title\",null),e([o({type:l})],f.prototype,\"viewModel\",void 0),e([o(),m(\"esri/widgets/Feature/t9n/Feature\")],f.prototype,\"messages\",void 0),e([o(),m(\"esri/t9n/common\")],f.prototype,\"messagesCommon\",void 0),e([o({type:c,nonNullable:!0})],f.prototype,\"visibleElements\",void 0),f=e([n(\"esri.widgets.Feature.FeatureUtilityNetworkAssociations\")],f);const _=f;export{_ as default};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{_ as t}from\"../../../chunks/tslib.es6.js\";import e from\"../../../Graphic.js\";import o from\"../../../core/Accessor.js\";import{ClonableMixin as r}from\"../../../core/Clonable.js\";import s from\"../../../core/Collection.js\";import{IdentifiableMixin as a}from\"../../../core/Identifiable.js\";import{ignoreAbortErrors as n,debounce as i}from\"../../../core/promiseUtils.js\";import l from\"../../../core/ReactiveMap.js\";import{watch as u,initial as c}from\"../../../core/reactiveUtils.js\";import{property as d}from\"../../../core/accessorSupport/decorators/property.js\";import\"../../../core/has.js\";import\"../../../core/Logger.js\";import\"../../../core/RandomLCG.js\";import{subclass as y}from\"../../../core/accessorSupport/decorators/subclass.js\";import h from\"../../../layers/FeatureLayer.js\";import{AssociationOpenStatus as p,AssociationTypeDict as m}from\"../../../networks/support/typeUtils.js\";import g from\"../../../rest/networks/support/Association.js\";import b from\"../../../rest/networks/support/NetworkElement.js\";import I from\"../../../rest/support/Query.js\";import{featureUtilityNetworkFields as A}from\"./resources.js\";import{findUtilityNetwork as w}from\"../support/featureUtils.js\";const f=100;let _=class extends(r(a(o))){constructor(t){super(t),this._loaded=!1,this._queryAbortController=null,this._queryPageAbortController=null,this._queryFeatureCountAbortController=null,this.networkSourceIdsInUse=new Set,this.description=null,this.graphic=null,this.layer=null,this.map=null,this.featureCount=0,this.associationTypes=null,this.showAllEnabled=!1,this.title=null,this.attachmentsFeatureCount=0,this.structureFeatureCount=0,this.contentFeatureCount=0,this.containerFeatureCount=0,this.connectivityFeatureCount=0,this._cancelQuery=()=>{const{_queryAbortController:t}=this;t&&t.abort(),this._queryAbortController=null},this._cancelQueryFeatureCount=()=>{const{_queryFeatureCountAbortController:t}=this;t&&t.abort(),this._queryFeatureCountAbortController=null},this._queryController=async t=>{this._cancelQuery();const e=new AbortController;this._queryAbortController=e,await n(this._query(t)),this._queryAbortController===e&&(this._queryAbortController=null)},this._queryFeatureCountController=async()=>{this._loaded=!1,this._cancelQueryFeatureCount();const t=new AbortController;this._queryFeatureCountAbortController=t,await n(this._queryFeatureCount()),this._queryFeatureCountAbortController===t&&(this._queryFeatureCountAbortController=null),this._loaded=!0},this._queryDebounced=i(this._queryController,f),this._queryFeatureCountDebounced=i(this._queryFeatureCountController,f)}initialize(){this.associationTypes?.forEach((t=>{t.open=!1})),this.addHandles([...this.associationTypes?.map((t=>u((()=>t.open),(()=>{t.open&&this._queryDebounced(t)}))))??[],u((()=>[this.graphic,this.layer,this.map,this.associationTypes,this.objectId,this.globalId,this.canQuery]),(()=>this._queryFeatureCountDebounced()),c)])}destroy(){this._cancelQuery(),this._cancelQueryFeatureCount(),this._destroyAssociatedFeatureViewModels()}get supportsCacheHint(){return!!this.layer?.capabilities?.query?.supportsCacheHint}get canLoad(){return!!this.map&&!!this.associationTypes&&\"string\"==typeof this.globalId}get canQuery(){const t=this.layer?.capabilities?.query;return!!this.associationTypes&&\"string\"==typeof this.globalId&&!!t?.supportsPagination}get objectId(){return(this.objectIdField&&this.graphic?.attributes?.[this.objectIdField])??null}get objectIdField(){return this.layer?.objectIdField||null}get globalId(){return(this.globalIdField&&this.graphic?.attributes?.[this.globalIdField])??null}get globalIdField(){const{layer:t}=this;return\"subtype-sublayer\"===t?.type&&t?.parent?t.parent.globalIdField??null:t?.globalIdField??null}get state(){const{_queryAbortController:t,_queryFeatureCountAbortController:e,_queryPageAbortController:o,canQuery:r,_loaded:s,canLoad:a}=this;return e||a&&!s?\"loading\":t||o?\"querying\":r&&0!==this.featureCount?\"ready\":\"disabled\"}get utilityNetwork(){const{layer:t,map:e}=this;return t?.loaded&&e?\"subtype-sublayer\"===t?.type&&t?.parent?w(e,t.parent)??null:w(e,t)??null:null}get associationsLayer(){const{utilityNetwork:t}=this;return t?.loaded?new h({url:t.networkSystemLayers.associationsTableUrl,gdbVersion:t.gdbVersion}):null}get attachmentsAssociations(){return this._get(\"attachmentsAssociations\")||new s}get structureAssociations(){return this._get(\"structureAssociations\")||new s}get contentAssociations(){return this._get(\"contentAssociations\")||new s}get containerAssociations(){return this._get(\"containerAssociations\")||new s}get connectivityAssociations(){return this._get(\"connectivityAssociations\")||new s}get associationFeatures(){return this._get(\"associationFeatures\")||new l}get associationViewModels(){return this._get(\"associationViewModels\")||new Map}refresh(){this._queryFeatureCountDebounced()}_destroyAssociatedFeatureViewModels(){this.associationViewModels.forEach((t=>t.destroyAll()))}_generateGlobalIdWhereClause(t,e){const{globalId:o,networkSourceIdsInUse:r}=this,{associatedNetworkSourceId:s}=t,a=e.fieldsIndex.get(A.fromGlobalId),n=e.fieldsIndex.get(A.toGlobalId),i=e.fieldsIndex.get(A.fromNetworkSourceId),l=e.fieldsIndex.get(A.toNetworkSourceId),u=null!=s,c=`(${Array.from(r.values())})`,d=u?` AND ${l.name} = ${s} AND ${l.name} IN ${c}`:\"\",y=u?` AND ${i.name} = ${s} AND ${i.name} IN ${c}`:\"\";switch(t.type){case\"connectivity\":return`((${a.name} = '${o}'${d}) OR (${n.name} = '${o}'${y}))`;case\"attachment\":case\"content\":return`${a.name} = '${o}'${d}`;case\"container\":case\"structure\":return`${n.name} = '${o}'${y}`;default:return\"\"}}_generateNetworkSourceIdWhereClause(t){const{networkSourceIdsInUse:e}=this,o=`(${Array.from(e.values())})`,r=t.fieldsIndex.get(A.fromNetworkSourceId),s=t.fieldsIndex.get(A.toNetworkSourceId);return`(${r.name} IN ${o} AND ${s.name} IN ${o})`}_generateAssociationTypeWhereClause(t,e){const o=e.fieldsIndex.get(A.associationType);switch(t.type){case\"attachment\":case\"structure\":return`${o.name} = 3`;case\"connectivity\":return`${o.name} IN (1, 4, 5, 6)`;case\"container\":case\"content\":return`${o.name} = 2`;default:return\"\"}}_generateWhereClause(t,e){const o=e.fieldsIndex.get(A.status),r=`(${p.join(\",\")})`,s=`${o.name} IN ${r}`;return`(${this._generateGlobalIdWhereClause(t,e)} AND ${s} AND ${this._generateAssociationTypeWhereClause(t,e)})`}async _loadUtiltyNetworks(){const t=this.map;if(!t)return;await Promise.allSettled(t.utilityNetworks?.map((async t=>{await t.load()}))??[]);const e=t=>{if(\"layerId\"in t&&o.isUtilityLayer(t)){const e=o.getSourceIdByLayerId(t.layerId);null!==e&&this.networkSourceIdsInUse.add(e)}},o=this.utilityNetwork;this._set(\"networkSourceIdsInUse\",new Set),t.allLayers.forEach(e),t.allTables.forEach(e)}async _findLayersBySourceId(t){const{utilityNetwork:e,map:o}=this,r=t=>{const o=t;if(!t.url)return!1;if(o.layerId===s){return t.url.replace(/\\/\\d+$/,\"\")===e?.featureServiceUrl}return!1};await(e?.load());const s=e.getLayerIdBySourceId(t),a=o.allLayers.filter(r),n=o.allTables.filter(r),i=a.concat(n).toArray();return await Promise.allSettled(i.map((t=>t.load()))),i}_clearAssociations(){this.attachmentsAssociations.removeAll(),this.structureAssociations.removeAll(),this.contentAssociations.removeAll(),this.containerAssociations.removeAll(),this.connectivityAssociations.removeAll()}_clearFeatures(){this.associationFeatures.forEach((t=>t.removeAll())),this.associationFeatures.clear()}_getAssociationsByType(t){switch(t){case\"attachment\":return this.attachmentsAssociations;case\"structure\":return this.structureAssociations;case\"connectivity\":return this.connectivityAssociations;case\"container\":return this.containerAssociations;case\"content\":return this.contentAssociations}}_createAssociationFromFeature(t,e){if(!t)return null;const o=m.get(e.attributes[t.fieldsIndex.get(A.associationType).name]);return new g({globalId:e.attributes[t.fieldsIndex.get(A.globalId).name],fromNetworkElement:new b({globalId:e.attributes[t.fieldsIndex.get(A.fromGlobalId).name],networkSourceId:e.attributes[t.fieldsIndex.get(A.fromNetworkSourceId).name],terminalId:e.attributes[t.fieldsIndex.get(A.fromTerminalId).name]}),toNetworkElement:new b({globalId:e.attributes[t.fieldsIndex.get(A.toGlobalId).name],networkSourceId:e.attributes[t.fieldsIndex.get(A.toNetworkSourceId).name],terminalId:e.attributes[t.fieldsIndex.get(A.toTerminalId).name]}),associationType:o,status:e.attributes[t.fieldsIndex.get(A.status).name],isContentVisible:e.attributes[t.fieldsIndex.get(A.isContentVisible).name],percentAlong:e.attributes[t.fieldsIndex.get(A.percentAlong).name]})}async _queryLayer(t,e,o,r,s){const a=t.fieldsIndex.get(A.assetGroup),n=t.fieldsIndex.get(A.assetType),i=null!=o,l=null!=r,u=\"(\"+e.map((t=>`'${t}'`)).join(\", \")+\")\",c=i?` AND ${a?.name} = ${o}`:\"\",d=i&&l?` AND ${n?.name} = ${r}`:\"\",y=`${t.globalIdField} IN ${u}`+c+d,h=new I({outFields:[\"*\"],cacheHint:this.supportsCacheHint,where:y});return await this._queryAll(h,t,{signal:s?.signal})}async _createAssociationFeatureObjects(t,e,o,r,s,a){if(0===t.length)return[];const n=new Map;for(const[l,u]of e){const t=await this._findLayersBySourceId(l);for(const e of t){(await this._queryLayer(e,u,r,s,a)).forEach((t=>{if(t.getEffectivePopupTemplate()&&t.layer){const o=n.get(t.attributes[e.globalIdField])??[];o.push(t),n.set(t.attributes[e.globalIdField],o)}}))}}const i=[];return t.toArray().forEach((t=>{const e=t.fromNetworkElement.globalId===o?t.toNetworkElement:t.fromNetworkElement;(n.get(e.globalId)??[]).forEach((o=>{const r=this.utilityNetwork?.getTerminalById(e?.terminalId)?.name;i.push({association:t,feature:o,terminalName:r})}))})),i}_parseFeatureObjects(t,e){t.forEach((t=>{const o=t?.feature,r=o.layer,a=e.get(r)??new s;a.add(t),e.set(r,a)}))}async _queryAll(t,e,o){const r=[];let s=0,a=!1;t.num=e.sourceJSON?.maxRecordCount??2e3;do{t.start=s;const n=await e.queryFeatures(t,o);r.push(...n.features),a=n.exceededTransferLimit,a&&(s+=n.features.length)}while(a);return r}async _queryAssociatedFeatureCount(t){const{layer:e,globalId:o,supportsCacheHint:r,associationTypes:s,associationsLayer:a,utilityNetwork:n,canQuery:i}=this;if(await Promise.allSettled([e?.load(),n?.load(),a?.load()]),this._clearAssociations(),!(i&&e&&s&&a))return;const l=a.fieldsIndex.get(A.toGlobalId).name,u=a.fieldsIndex.get(A.fromGlobalId).name,c=s.map((t=>this._generateWhereClause(t,a))),d=this._generateNetworkSourceIdWhereClause(a),y=c.join(\" OR \"),h=new I({outFields:[\"*\"],cacheHint:r,returnGeometry:!1,where:`(${y}) AND (${d})`}),p=await this._queryAll(h,a,{signal:t?.signal}),m=new Map;s.forEach((t=>{m.set(t.type,[])})),p.forEach((t=>{const e=a.fieldsIndex.get(A.associationType);switch(t.attributes[e.name]){case 1:case 4:case 5:case 6:t.attributes[u]===o?m.get(\"connectivity\").push(t.attributes[l]):m.get(\"connectivity\").push(t.attributes[u]),this.connectivityAssociations.add(this._createAssociationFromFeature(a,t));break;case 2:t.attributes[u]===o?(m.get(\"content\").push(t.attributes[l]),this.contentAssociations.add(this._createAssociationFromFeature(a,t))):(m.get(\"container\").push(t.attributes[u]),this.containerAssociations.add(this._createAssociationFromFeature(a,t)));break;case 3:t.attributes[u]===o?(m.get(\"attachment\").push(t.attributes[l]),this.attachmentsAssociations.add(this._createAssociationFromFeature(a,t))):(m.get(\"structure\").push(t.attributes[u]),this.structureAssociations.add(this._createAssociationFromFeature(a,t)))}}));const g=s.map((async e=>{const{associatedNetworkSourceId:o,associatedAssetGroup:r,associatedAssetType:s}=e,a=m.get(e.type),n=null!=r?await this._countAssociatedFeatures(o,a,r,s,t):a.length;switch(e.type){case\"attachment\":this._set(\"attachmentsFeatureCount\",n);break;case\"structure\":this._set(\"structureFeatureCount\",n);break;case\"content\":this._set(\"contentFeatureCount\",n);break;case\"container\":this._set(\"containerFeatureCount\",n);break;case\"connectivity\":this._set(\"connectivityFeatureCount\",n)}}));await Promise.allSettled(g)}async _countAssociatedFeatureCount(t,e,o,r,s){const a=t.fieldsIndex.get(A.assetGroup),n=t.fieldsIndex.get(A.assetType),i=null!=r,l=\"(\"+e.map((t=>`'${t}'`)).join(\", \")+\")\",u=` AND ${a?.name} = ${o}`,c=i?` AND ${n?.name} = ${r}`:\"\",d=`${t.globalIdField} IN ${l}`+u+c;return t.queryFeatureCount({where:d,outFields:[\"*\"],returnGeometry:!1},{signal:s?.signal})}async _countAssociatedFeatures(t,e,o,r,s){if(0===e.length)return 0;const a=(await this._findLayersBySourceId(t)).map((async t=>this._countAssociatedFeatureCount(t,e,o,r,s)));return(await Promise.all(a)).reduce(((t,e)=>t+e),0)}async _queryAssociatedFeatures(t,e){const{layer:o,globalId:r,associationTypes:s,associationsLayer:a,utilityNetwork:n,canQuery:i,associationFeatures:l}=this;if(await Promise.allSettled([o?.load(),n?.load(),a?.load()]),!(i&&o&&s&&a))return;const u=this._getAssociationsByType(t.type),{associatedAssetGroup:c,associatedAssetType:d}=t,y=new Map;u.forEach((t=>{const{networkSourceId:e,elementGlobalId:o}=t.fromNetworkElement.globalId===r?{networkSourceId:t.toNetworkElement.networkSourceId,elementGlobalId:t.toNetworkElement.globalId}:{networkSourceId:t.fromNetworkElement.networkSourceId,elementGlobalId:t.fromNetworkElement.globalId},s=y.get(e)||[];s.push(o),y.set(e,s)}));const h=await this._createAssociationFeatureObjects(u,y,r,c,d,e);this._parseFeatureObjects(h,l)}async _queryFeatureCount(){await this._loadUtiltyNetworks();const{_queryFeatureCountAbortController:t,canQuery:e}=this;e?(await this._queryAssociatedFeatureCount(t),this._set(\"featureCount\",this.attachmentsFeatureCount+this.structureFeatureCount+this.contentFeatureCount+this.containerFeatureCount+this.connectivityFeatureCount)):this._set(\"featureCount\",0)}async _query(t){await this._loadUtiltyNetworks();const{_queryAbortController:e}=this;this.featureCount&&(this._destroyAssociatedFeatureViewModels(),this._clearFeatures(),this.destroyed||await this._queryAssociatedFeatures(t,{signal:e?.signal}))}};t([d()],_.prototype,\"_loaded\",void 0),t([d()],_.prototype,\"_queryAbortController\",void 0),t([d()],_.prototype,\"_queryPageAbortController\",void 0),t([d()],_.prototype,\"_queryFeatureCountAbortController\",void 0),t([d({readOnly:!0})],_.prototype,\"supportsCacheHint\",null),t([d({readOnly:!0})],_.prototype,\"canLoad\",null),t([d({readOnly:!0})],_.prototype,\"canQuery\",null),t([d()],_.prototype,\"networkSourceIdsInUse\",void 0),t([d()],_.prototype,\"description\",void 0),t([d({type:e})],_.prototype,\"graphic\",void 0),t([d()],_.prototype,\"layer\",void 0),t([d()],_.prototype,\"map\",void 0),t([d({readOnly:!0})],_.prototype,\"objectId\",null),t([d({readOnly:!0})],_.prototype,\"objectIdField\",null),t([d({readOnly:!0})],_.prototype,\"globalId\",null),t([d({readOnly:!0})],_.prototype,\"globalIdField\",null),t([d()],_.prototype,\"featureCount\",void 0),t([d()],_.prototype,\"associationTypes\",void 0),t([d()],_.prototype,\"showAllEnabled\",void 0),t([d()],_.prototype,\"state\",null),t([d()],_.prototype,\"title\",void 0),t([d({readOnly:!0})],_.prototype,\"utilityNetwork\",null),t([d({readOnly:!0})],_.prototype,\"associationsLayer\",null),t([d({readOnly:!0})],_.prototype,\"attachmentsFeatureCount\",void 0),t([d({readOnly:!0})],_.prototype,\"structureFeatureCount\",void 0),t([d({readOnly:!0})],_.prototype,\"attachmentsAssociations\",null),t([d({readOnly:!0})],_.prototype,\"structureAssociations\",null),t([d({readOnly:!0})],_.prototype,\"contentFeatureCount\",void 0),t([d({readOnly:!0})],_.prototype,\"containerFeatureCount\",void 0),t([d({readOnly:!0})],_.prototype,\"contentAssociations\",null),t([d({readOnly:!0})],_.prototype,\"containerAssociations\",null),t([d({readOnly:!0})],_.prototype,\"connectivityFeatureCount\",void 0),t([d({readOnly:!0})],_.prototype,\"connectivityAssociations\",null),t([d({readOnly:!0})],_.prototype,\"associationFeatures\",null),t([d({readOnly:!0})],_.prototype,\"associationViewModels\",null),_=t([y(\"esri.widgets.Feature.FeatureUtilityNetworkAssociations.FeatureUtilityNetworkAssociationsViewModel\")],_);const F=_;export{F as default};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{_ as o}from\"../../../chunks/tslib.es6.js\";import e from\"../../../core/Accessor.js\";import{property as t}from\"../../../core/accessorSupport/decorators/property.js\";import\"../../../core/has.js\";import\"../../../core/Logger.js\";import\"../../../core/RandomLCG.js\";import{subclass as r}from\"../../../core/accessorSupport/decorators/subclass.js\";let s=class extends e{constructor(o){super(o),this.title=!0,this.description=!0}};o([t({type:Boolean,nonNullable:!0})],s.prototype,\"title\",void 0),o([t({type:Boolean,nonNullable:!0})],s.prototype,\"description\",void 0),s=o([r(\"esri.widgets.Feature.FeatureUtilityNetworkAssociations.VisibleElements\")],s);const i=s;export{i as default};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nconst o={fromGlobalId:\"fromglobalid\",fromNetworkSourceId:\"fromnetworksourceid\",fromTerminalId:\"fromterminalid\",toGlobalId:\"toglobalid\",toNetworkSourceId:\"tonetworksourceid\",toTerminalId:\"toterminalid\",associationType:\"associationtype\",globalId:\"globalid\",status:\"status\",isContentVisible:\"iscontentvisible\",percentAlong:\"percentalong\",assetGroup:\"assetgroup\",assetType:\"assettype\"};export{o as featureUtilityNetworkFields};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{_ as e}from\"../../chunks/tslib.es6.js\";import\"../../geometry.js\";import t from\"../../Graphic.js\";import{FeatureSetQueryInterceptor as i}from\"../../arcade/featureset/support/FeatureSetQueryInterceptor.js\";import o from\"../../core/Accessor.js\";import{isSome as r}from\"../../core/arrayUtils.js\";import s from\"../../core/Collection.js\";import{IdentifiableMixin as n}from\"../../core/Identifiable.js\";import a from\"../../core/Logger.js\";import{isAbortError as l,eachAlways as c}from\"../../core/promiseUtils.js\";import{watch as p,on as d,whenOnce as u,initial as h}from\"../../core/reactiveUtils.js\";import{throttle as f}from\"../../core/throttle.js\";import{property as m}from\"../../core/accessorSupport/decorators/property.js\";import{cast as _}from\"../../core/accessorSupport/decorators/cast.js\";import\"../../core/has.js\";import{subclass as y}from\"../../core/accessorSupport/decorators/subclass.js\";import b from\"../../popup/content/TextContent.js\";import{getFeaturePopupTitle as g}from\"../../support/popupUtils.js\";import{system as A}from\"../../time/timeZoneUtils.js\";import w from\"./FeatureAttachments/FeatureAttachmentsViewModel.js\";import I from\"./FeatureContent/FeatureContentViewModel.js\";import M from\"./FeatureExpression/FeatureExpressionViewModel.js\";import v from\"./FeatureFields/FeatureFieldsViewModel.js\";import F from\"./FeatureMedia/FeatureMediaViewModel.js\";import C from\"./FeatureRelationship/FeatureRelationshipViewModel.js\";import x from\"./FeatureUtilityNetworkAssociations/FeatureUtilityNetworkAssociationsViewModel.js\";import{createCompiledExpressions as V}from\"./support/arcadeFeatureUtils.js\";import{createFieldInfoMap as T,getAllFieldInfos as E,getSourceLayer as j,querySourceLayer as P,isRelatableFeatureSupportedLayer as R,isAssociatedFeatureSupportedLayer as L,substituteFieldsInLinksAndAttributes as O,isExpressionField as Z,isRelatedField as k,formatEditInfo as N,graphicCallback as U,queryUpdatedFeature as B,formatAttributes as S,preLayerQueryCallback as H,preRequestCallback as D}from\"./support/featureUtils.js\";import{queryLayerInfos as G,queryRelatedFeatures as q,setRelatedFeatures as Q,getRelatedFieldInfo as z,createRelatedInfo as J,updateRelatedInfo as K}from\"./support/relatedFeatureUtils.js\";import W from\"../../geometry/Point.js\";var X;const Y=1,$=\"content-view-models\",ee=\"relationship-view-models\",te=\"association-view-models\",ie={attachmentsContent:!0,chartAnimation:!0,customContent:!0,expressionContent:!0,fieldsContent:!0,mediaContent:!0,textContent:!0,relationshipContent:!0,utilityNetworkAssociationsContent:!0};let oe=X=class extends(n(o)){constructor(e){super(e),this._error=null,this._featureAbortController=null,this._associationVMAbortController=null,this._graphicChangedThrottled=f(this._graphicChanged,Y,this),this._expressionAttributes=null,this._graphicExpressionAttributes=null,this.abilities={...ie},this.content=null,this.contentViewModels=[],this.description=null,this.defaultPopupTemplateEnabled=!1,this.formattedAttributes=null,this.lastEditInfo=null,this.location=null,this.relatedInfos=new Map,this.title=\"\",this.view=null,this._isAllowedContentType=e=>{const{abilities:t}=this;return\"attachments\"===e.type&&!!t.attachmentsContent||\"custom\"===e.type&&!!t.customContent||\"fields\"===e.type&&!!t.fieldsContent||\"media\"===e.type&&!!t.mediaContent||\"text\"===e.type&&!!t.textContent||\"expression\"===e.type&&!!t.expressionContent||\"relationship\"===e.type&&!!t.relationshipContent||\"utility-network-associations\"===e.type&&!!t.utilityNetworkAssociationsContent},this.addHandles(p((()=>[this.graphic,this._effectivePopupTemplate,this.abilities,this.timeZone]),(()=>this._graphicChangedThrottled()),h))}initialize(){this.addHandles(this._graphicChangedThrottled)}destroy(){this._clear(),this._cancelFeatureQuery(),this._error=null,this.graphic=null,this._destroyContentViewModels(),this.relatedInfos.clear()}get _effectivePopupTemplate(){return null!=this.graphic?this.graphic.getEffectivePopupTemplate(this.defaultPopupTemplateEnabled):null}get _fieldInfoMap(){return T(E(this._effectivePopupTemplate),this._sourceLayer)}get _sourceLayer(){return j(this.graphic)}castAbilities(e){return{...ie,...e}}get isTable(){return this._sourceLayer?.isTable||!1}get state(){return this.graphic?this._error?\"error\":this.waitingForContent?\"loading\":\"ready\":\"disabled\"}set graphic(e){this._featureAbortController=new AbortController,this._set(\"graphic\",e?.clone()??null)}get spatialReference(){return this.view?.spatialReference??null}set spatialReference(e){this._override(\"spatialReference\",e)}get timeZone(){return this.view?.timeZone??A}set timeZone(e){this._overrideIfSome(\"timeZone\",e)}get map(){return this.view?.map||null}set map(e){this._override(\"map\",e)}get waitingForContent(){return!(!this._featureAbortController&&!this._associationVMAbortController)}setActiveMedia(e,t){const i=this.contentViewModels[e];i instanceof F&&i.setActiveMedia(t)}nextMedia(e){const t=this.contentViewModels[e];t instanceof F&&t.next()}previousMedia(e){const t=this.contentViewModels[e];t instanceof F&&t.previous()}async updateGeometry(){const{graphic:e,spatialReference:t,_sourceLayer:i}=this;await(i?.load());const o=i?.objectIdField;if(!o||!e||!i)return;const r=e?.attributes?.[o];if(null==r)return;const s=[r];if(!e.geometry){const o=await P({layer:i,graphic:e,outFields:[],objectIds:s,returnGeometry:!0,spatialReference:t}),r=o?.geometry;r&&(e.geometry=r)}}_clear(){this._set(\"title\",\"\"),this._set(\"content\",null),this._set(\"formattedAttributes\",null)}async _graphicChanged(){this._cancelFeatureQuery(),this._error=null,this._clear();const{graphic:e}=this;if(!e)return;const t=new AbortController;this._featureAbortController=t;try{await this._queryFeature({signal:t.signal})}catch(i){l(i)||(this._error=i,a.getLogger(this).error(\"error\",\"The popupTemplate could not be displayed for this feature.\",{error:i,graphic:e,popupTemplate:this._effectivePopupTemplate}))}this._featureAbortController===t&&(this._featureAbortController=null)}_cancelFeatureQuery(){const{_featureAbortController:e}=this;e&&e.abort(),this._featureAbortController=null}_compileContentElement(e,t){return\"attachments\"===e.type?this._compileAttachments(e,t):\"custom\"===e.type?this._compileCustom(e,t):\"fields\"===e.type?this._compileFields(e,t):\"media\"===e.type?this._compileMedia(e,t):\"text\"===e.type?this._compileText(e,t):\"expression\"===e.type?this._compileExpression(e,t):\"relationship\"===e.type?this._compileRelationship(e,t):\"utility-network-associations\"===e.type?this._compileUtilityNetworkAssociation(e,t):void 0}_compileContent(e){if(this._destroyContentViewModels(),this.graphic)return Array.isArray(e)?e.filter(this._isAllowedContentType).map(((e,t)=>this._compileContentElement(e,t))).filter(r):\"string\"==typeof e?this._compileText(new b({text:e}),0).text:e}_destroyContentViewModels(){this.removeHandles(ee),this.removeHandles($),this.contentViewModels.forEach((e=>e&&!e.destroyed&&e.destroy())),this._set(\"contentViewModels\",[])}_matchesFeature(e,t){const i=e?.graphic?.getObjectId(),o=t?.getObjectId();return null!=i&&null!=o&&i===o}_setRelatedFeaturesViewModels({relatedFeatureViewModels:e,relatedFeatures:t,map:i}){const{view:o,spatialReference:r,timeZone:s}=this;t?.filter(Boolean).forEach((t=>{e.some((e=>this._matchesFeature(e,t)))||e.add(new X({abilities:{relationshipContent:!1},map:i,view:o,spatialReference:r,timeZone:s,graphic:t}))})),e.forEach((i=>{const o=t?.find((e=>this._matchesFeature(i,e)));o||e.remove(i)}))}_setExpressionContentVM(e,t){const i=this.formattedAttributes,{contentElement:o,contentElementViewModel:r}=e,s=o?.type;r&&s&&(\"fields\"===s&&(this._createFieldsFormattedAttributes({contentElement:o,contentElementIndex:t,formattedAttributes:i}),r.set(this._createFieldsVMParams(o,t))),\"media\"===s&&(this._createMediaFormattedAttributes({contentElement:o,contentElementIndex:t,formattedAttributes:i}),r.set(this._createMediaVMParams(o,t))),\"text\"===s&&r.set(this._createTextVMParams(o)))}_compileRelationship(e,t){const{displayCount:i,orderByFields:o,relationshipId:r,title:s,description:n}=e,{_sourceLayer:a,graphic:l,map:c}=this;if(!R(a))return;const p=new C({displayCount:i,graphic:l,orderByFields:o,relationshipId:r,layer:a,map:c,...this._compileTitleAndDesc({title:s,description:n})});return this.contentViewModels[t]=p,this.addHandles(d((()=>p.relatedFeatures),\"change\",(()=>this._setRelatedFeaturesViewModels(p))),ee),e}_matchesGlobalFeature(e,t){const i=e?.association.globalId,o=t?.association.globalId;return null!=i&&null!=o&&i===o}async _setUpUtilityNetworkAssociationsViewModels(e,t,i){const{view:o,spatialReference:r,timeZone:n}=this;e.forEach(((i,o)=>{const r=t.get(o);r?i.forEach((t=>{r.find((e=>this._matchesGlobalFeature(t,e)))||(i.remove(t),0===i.length&&e.delete(o))})):(i.removeAll(),e.delete(o))})),t.forEach(((t,a)=>{const l=e.get(a)||new s;t?.filter(Boolean).forEach((e=>{l.some((t=>this._matchesGlobalFeature(t,e)))||l.add({association:e.association,featureViewModel:new X({abilities:{utilityNetworkAssociationsContent:!1},map:i,view:o,spatialReference:r,timeZone:n,graphic:e.feature}),terminalName:e.terminalName})})),e.set(a,l)}));const a=new AbortController;this._associationVMAbortController=a,await this._sortListObjectsByTitle(e,{signal:a.signal}),this._associationVMAbortController===a&&(this._associationVMAbortController=null)}async _sortListObjectsByTitle(e,t){for(const i of e.values()){const e=i.map((e=>u((()=>\"ready\"===e.featureViewModel.state),t?.signal)));await Promise.all(e),i.sort(this._compareByFeatureTitle)}}_compareByFeatureTitle(e,t){const i=g(e.featureViewModel),o=g(t.featureViewModel);return i.localeCompare(o,void 0,{numeric:!0})}_compileUtilityNetworkAssociation(e,t){const{title:i,description:o,associationTypes:r}=e,{_sourceLayer:s,graphic:n,map:a}=this;if(!L(s))return;const l=new x({graphic:n,associationTypes:r,layer:s,map:a,...this._compileTitleAndDesc({title:i,description:o})});return this.contentViewModels[t]=l,this.addHandles([p((()=>l.associationFeatures.values()),(()=>this._setUpUtilityNetworkAssociationsViewModels(l.associationViewModels,l.associationFeatures,l.map)))],te),e}_compileExpression(e,t){const{expressionInfo:i}=e,{graphic:o,map:r,spatialReference:s,view:n,location:a}=this,l=new M({expressionInfo:i,graphic:o,interceptor:X.interceptor,map:r,spatialReference:s,view:n,location:a});return this.contentViewModels[t]=l,this.addHandles(p((()=>l.contentElementViewModel),(()=>this._setExpressionContentVM(l,t)),h),$),e}_compileAttachments(e,t){const{graphic:i}=this,{description:o,title:r}=e;return this.contentViewModels[t]=new w({graphic:i,...this._compileTitleAndDesc({title:r,description:o})}),e}_compileCustom(e,t){const{graphic:i}=this,{creator:o,destroyer:r}=e;return this.contentViewModels[t]=new I({graphic:i,creator:o,destroyer:r}),e}_compileTitleAndDesc({title:e,description:t}){const{_fieldInfoMap:i,_sourceLayer:o,graphic:r,formattedAttributes:s}=this,n=r?.attributes,a=this._expressionAttributes,l=s.global;return{title:O({attributes:n,fieldInfoMap:i,globalAttributes:l,expressionAttributes:a,layer:o,text:e}),description:O({attributes:n,fieldInfoMap:i,globalAttributes:l,expressionAttributes:a,layer:o,text:t})}}_createFieldsVMParams(e,t){const i=this._effectivePopupTemplate,o=this.formattedAttributes,r={...o?.global,...o?.content[t]},s=e?.fieldInfos||i?.fieldInfos,n=s?.filter((({fieldName:e})=>!!e&&(Z(e)||k(e)||r.hasOwnProperty(e)))),a=i?.expressionInfos,{description:l,title:c}=e;return{attributes:r,expressionInfos:a,fieldInfos:n,...this._compileTitleAndDesc({title:c,description:l})}}_compileFields(e,t){const i=e.clone(),o=new v(this._createFieldsVMParams(e,t));return this.contentViewModels[t]=o,i.fieldInfos=o.formattedFieldInfos.slice(),i}_createMediaVMParams(e,t){const{abilities:i,graphic:o,_fieldInfoMap:r,_effectivePopupTemplate:s,relatedInfos:n,_sourceLayer:a,_expressionAttributes:l}=this,c=this.formattedAttributes,p=o?.attributes??{},{description:d,mediaInfos:u,title:h}=e;return{abilities:{chartAnimation:i.chartAnimation},activeMediaInfoIndex:e.activeMediaInfoIndex||0,attributes:p,isAggregate:o?.isAggregate,layer:a,fieldInfoMap:r,formattedAttributes:{...c?.global,...c?.content[t]},expressionAttributes:l,mediaInfos:u,popupTemplate:s,relatedInfos:n,...this._compileTitleAndDesc({title:h,description:d})}}_compileMedia(e,t){const i=e.clone(),o=new F(this._createMediaVMParams(e,t));return i.mediaInfos=o.formattedMediaInfos.slice(),this.contentViewModels[t]=o,i}_createTextVMParams(e){const{graphic:t,_fieldInfoMap:i,_sourceLayer:o,_expressionAttributes:r}=this;if(e&&e.text){const s=t?.attributes??{},n=this.formattedAttributes?.global??{};e.text=O({attributes:s,fieldInfoMap:i,globalAttributes:n,expressionAttributes:r,layer:o,text:e.text})}return{graphic:t,creator:e.text}}_compileText(e,t){const i=e.clone();return this.contentViewModels[t]=new I(this._createTextVMParams(i)),i}_compileLastEditInfo(){const{_effectivePopupTemplate:e,_sourceLayer:t,graphic:i,timeZone:o}=this;if(!e)return;const{lastEditInfoEnabled:r}=e,s=t?.editFieldsInfo;return r&&s?N(s,i?.attributes,o,t):void 0}_compileTitle(e){const{_fieldInfoMap:t,_sourceLayer:i,graphic:o,_expressionAttributes:r}=this,s=o?.attributes??{},n=this.formattedAttributes?.global??{};return O({attributes:s,fieldInfoMap:t,globalAttributes:n,expressionAttributes:r,layer:i,text:e})}async _getTitle(){const{_effectivePopupTemplate:e,graphic:t}=this;return t?U({type:\"title\",value:e?.title,event:{graphic:t}}):null}async _getContent(){const{_effectivePopupTemplate:e,graphic:t}=this;return t?U({type:\"content\",value:e?.content,event:{graphic:t}}):null}async _queryFeature(e){const{_featureAbortController:t,_sourceLayer:i,graphic:o,_effectivePopupTemplate:r}=this,s=this.map,n=this.view,a=this.spatialReference,l=this.location;if(t!==this._featureAbortController||!o)return;await B({graphic:o,popupTemplate:r,layer:i,spatialReference:a},e);const{content:{value:p},title:{value:d}}=await c({content:this._getContent(),title:this._getTitle()}),{expressionAttributes:{value:u}}=await c({checkForRelatedFeatures:this._checkForRelatedFeatures(e),expressionAttributes:V({expressionInfos:r?.expressionInfos,spatialReference:a,graphic:o,map:s,interceptor:X.interceptor,view:n,options:e,location:l})});t===this._featureAbortController&&o&&(this._expressionAttributes=u,this._graphicExpressionAttributes={...o.attributes,...u},this._set(\"formattedAttributes\",this._createFormattedAttributes(p)),this._set(\"title\",this._compileTitle(d)),this._set(\"lastEditInfo\",this._compileLastEditInfo()||null),this._set(\"content\",this._compileContent(p)||null))}_createMediaFormattedAttributes({contentElement:e,contentElementIndex:t,formattedAttributes:i}){const{_effectivePopupTemplate:o,graphic:r,relatedInfos:s,_sourceLayer:n,_fieldInfoMap:a,_graphicExpressionAttributes:l,timeZone:c}=this;i.content[t]=S({fieldInfos:o?.fieldInfos,graphic:r,attributes:{...l,...e.attributes},layer:n,fieldInfoMap:a,relatedInfos:s,timeZone:c})}_createFieldsFormattedAttributes({contentElement:e,contentElementIndex:t,formattedAttributes:i}){if(e.fieldInfos){const{graphic:o,relatedInfos:r,_sourceLayer:s,_fieldInfoMap:n,_graphicExpressionAttributes:a,timeZone:l}=this;i.content[t]=S({fieldInfos:e.fieldInfos,graphic:o,attributes:{...a,...e.attributes},layer:s,fieldInfoMap:n,relatedInfos:r,timeZone:l})}}_createFormattedAttributes(e){const{_effectivePopupTemplate:t,graphic:i,relatedInfos:o,_sourceLayer:r,_fieldInfoMap:s,_graphicExpressionAttributes:n,timeZone:a}=this,l=t?.fieldInfos,c={global:S({fieldInfos:l,graphic:i,attributes:n,layer:r,fieldInfoMap:s,relatedInfos:o,timeZone:a}),content:[]};return Array.isArray(e)&&e.forEach(((e,t)=>{\"fields\"===e.type&&this._createFieldsFormattedAttributes({contentElement:e,contentElementIndex:t,formattedAttributes:c}),\"media\"===e.type&&this._createMediaFormattedAttributes({contentElement:e,contentElementIndex:t,formattedAttributes:c})})),c}_checkForRelatedFeatures(e){const{graphic:t,_effectivePopupTemplate:i}=this;return this._queryRelatedInfos(t,E(i),e)}async _queryRelatedInfos(e,t,i){const{relatedInfos:o,_sourceLayer:r}=this;o.clear();const s=null!=r?.associatedLayer?await(r?.associatedLayer.load(i)):r;if(!s||!e)return;const n=t.filter((e=>!!e.fieldName&&k(e.fieldName)));if(!n?.length)return;t.forEach((e=>this._configureRelatedInfo(e,s)));const a=await G({relatedInfos:o,layer:s},i);Object.keys(a).forEach((e=>{const t=o.get(e.toString()),i=a[e]?.value;t&&i&&(t.layerInfo=i.data)}));const l=await q({graphic:e,relatedInfos:o,layer:s},i);Object.keys(l).forEach((e=>{Q(l[e]?.value,o.get(e.toString()))}))}_configureRelatedInfo(e,t){const{relatedInfos:i}=this,o=z(e.fieldName||\"\");if(!o)return;const{layerId:r,fieldName:s}=o;if(!r)return;const n=i.get(r.toString())||J(r,t);n&&(K({relatedInfo:n,fieldName:s,fieldInfo:e}),this.relatedInfos.set(r,n))}};oe.interceptor=new i(H,D),e([m()],oe.prototype,\"_error\",void 0),e([m()],oe.prototype,\"_featureAbortController\",void 0),e([m()],oe.prototype,\"_associationVMAbortController\",void 0),e([m({readOnly:!0})],oe.prototype,\"_effectivePopupTemplate\",null),e([m({readOnly:!0})],oe.prototype,\"_fieldInfoMap\",null),e([m({readOnly:!0})],oe.prototype,\"_sourceLayer\",null),e([m()],oe.prototype,\"abilities\",void 0),e([_(\"abilities\")],oe.prototype,\"castAbilities\",null),e([m({readOnly:!0})],oe.prototype,\"content\",void 0),e([m({readOnly:!0})],oe.prototype,\"contentViewModels\",void 0),e([m()],oe.prototype,\"description\",void 0),e([m({type:Boolean})],oe.prototype,\"defaultPopupTemplateEnabled\",void 0),e([m({readOnly:!0})],oe.prototype,\"isTable\",null),e([m({readOnly:!0})],oe.prototype,\"state\",null),e([m({readOnly:!0})],oe.prototype,\"formattedAttributes\",void 0),e([m({type:t,value:null})],oe.prototype,\"graphic\",null),e([m({readOnly:!0})],oe.prototype,\"lastEditInfo\",void 0),e([m({type:W})],oe.prototype,\"location\",void 0),e([m({readOnly:!0})],oe.prototype,\"relatedInfos\",void 0),e([m()],oe.prototype,\"spatialReference\",null),e([m()],oe.prototype,\"timeZone\",null),e([m({readOnly:!0})],oe.prototype,\"title\",void 0),e([m()],oe.prototype,\"map\",null),e([m({readOnly:!0})],oe.prototype,\"waitingForContent\",null),e([m()],oe.prototype,\"view\",void 0),oe=X=e([y(\"esri.widgets.Feature.FeatureViewModel\")],oe);const re=oe;export{re as default};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nconst e=\"esri-feature\",t={base:e,container:`${e}__size-container`,title:`${e}__title`,main:`${e}__main-container`,btn:`${e}__button`,icon:`${e}__icon`,content:`${e}__content`,contentNode:`${e}__content-node`,contentNodeText:`${e}__content-node--text`,contentElement:`${e}__content-element`,text:`${e}__text`,lastEditedInfo:`${e}__last-edited-info`,fields:`${e}__fields`,fieldHeader:`${e}__field-header`,fieldData:`${e}__field-data`,fieldDataDate:`${e}__field-data--date`,loadingSpinnerContainer:`${e}__loading-container`};export{t as css};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{_ as e}from\"../../../chunks/tslib.es6.js\";import\"../../../core/Logger.js\";import\"../../../core/has.js\";import\"../../../core/RandomLCG.js\";import\"../../../core/Error.js\";import{subclass as o}from\"../../../core/accessorSupport/decorators/subclass.js\";import{css as t}from\"../resources.js\";import{isWidget as r,hasDomNode as s}from\"../../support/widget.js\";import{tsx as c}from\"../../support/jsxFactory.js\";const n=n=>{let i=class extends n{constructor(){super(...arguments),this.renderNodeContent=e=>r(e)&&!e.destroyed?c(\"div\",{class:t.contentNode,key:e},e.render()):e instanceof HTMLElement?c(\"div\",{afterCreate:this._attachToNode,bind:e,class:t.contentNode,key:e}):s(e)?c(\"div\",{afterCreate:this._attachToNode,bind:e.domNode,class:t.contentNode,key:e}):null}_attachToNode(e){const o=this;e.appendChild(o)}};return i=e([o(\"esri.widgets.Feature.support.FeatureContentMixin\")],i),i};export{n as FeatureContentMixin};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{_ as e}from\"../../../chunks/tslib.es6.js\";import{property as t}from\"../../../core/accessorSupport/decorators/property.js\";import\"../../../core/has.js\";import\"../../../core/Logger.js\";import\"../../../core/RandomLCG.js\";import{subclass as r}from\"../../../core/accessorSupport/decorators/subclass.js\";import s from\"../../Widget.js\";import{Heading as o}from\"../../support/Heading.js\";import\"../../support/widgetUtils.js\";import{tsx as i}from\"../../support/jsxFactory.js\";const n=\"esri-feature-element-info\",p={base:n,title:`${n}__title`,description:`${n}__description`};let c=class extends s{constructor(e,t){super(e,t),this.description=null,this.headingLevel=2,this.title=null}render(){return i(\"div\",{class:p.base},this._renderTitle(),this._renderDescription())}_renderTitle(){const{title:e}=this;return e?i(o,{class:p.title,innerHTML:e,level:this.headingLevel}):null}_renderDescription(){const{description:e}=this;return e?i(\"div\",{class:p.description,innerHTML:e,key:\"description\"}):null}};e([t()],c.prototype,\"description\",void 0),e([t()],c.prototype,\"headingLevel\",void 0),e([t()],c.prototype,\"title\",void 0),c=e([r(\"esri.widgets.Feature.support.FeatureElementInfo\")],c);const l=c;export{l as default};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{isSupportedLayer as e}from\"../../../arcade/featureset/support/shared.js\";import r from\"../../../core/Logger.js\";import{eachAlways as t}from\"../../../core/promiseUtils.js\";import a from\"../../../layers/FeatureLayer.js\";import{applyTextFormattingHTML as o,htmlEntities as i}from\"./featureUtils.js\";import{globalCss as n}from\"../../support/globalCss.js\";const s=\"esri.widgets.Feature.support.arcadeFeatureUtils\",p=()=>r.getLogger(s);function c(e){return\"string\"==typeof e?o(i(e)):Array.isArray(e)?u(e):\"esri.arcade.Dictionary\"===e?.declaredClass?l(e):e}function u(e){return`

    ${e.map((e=>`
  • ${\"string\"==typeof e?o(i(e)):e}
  • `)).join(\"\")}
`}function l(e){const r=e.keys().map((r=>{const t=e.field(r);return`${r}${\"string\"==typeof t?o(i(t)):t}`})).join(\"\");return`${r}
`}function d(){return import(\"../../../arcade.js\")}function f(e){return\"createQuery\"in e&&\"queryFeatures\"in e}async function g({graphic:e,view:r,options:t}){const{isAggregate:a,layer:o}=e;if(!a||!o||\"2d\"!==r?.type)return[];const i=await r.whenLayerView(o);if(!f(i))return[];const n=i.createQuery(),s=e.getObjectId();n.aggregateIds=null!=s?[s]:[];const{features:p}=await i.queryFeatures(n,t);return p}function y({layer:e,aggregatedFeatures:r,interceptor:t}){const{fields:o,objectIdField:i,geometryType:n,spatialReference:s,displayField:p}=e;return new a({fields:o,objectIdField:i,geometryType:n,spatialReference:s,displayField:p,interceptor:t,...\"feature\"===e.type?{templates:e.templates,typeIdField:e.typeIdField,types:e.types}:null,source:r})}async function m({expressionInfo:r,arcade:t,interceptor:a,spatialReference:o,map:i,graphic:n,location:s,view:c,options:u}){if(!r?.expression)return null;const{isAggregate:l}=n,d=(n.sourceLayer||n.layer)??void 0,f=l?\"feature-reduction-popup\":\"popup\",m=t.createArcadeProfile(f),w=t.createArcadeExecutor(r.expression,m).catch((e=>p().error(\"arcade-executor-error\",{error:e,expressionInfo:r}))),[h,F]=await Promise.all([g({graphic:n,view:c,options:u}),w]);if(!F)return null;const $=\"feature-reduction-popup\"===f?y({layer:d,aggregatedFeatures:h,interceptor:a}):void 0,v={...\"feature-reduction-popup\"===f?{$aggregatedFeatures:$}:{$datastore:d?.url,$layer:null!=d&&e(d)?d:\"scene\"===d?.type&&null!=d.associatedLayer?d.associatedLayer:void 0,$map:i,$userInput:s,$graph:\"knowledge-graph-sublayer\"===d?.type?d?.parentCompositeLayer?.knowledgeGraph:void 0},$feature:n},x={abortSignal:u?.signal??void 0,interceptor:a??void 0,rawOutput:!0,spatialReference:o??void 0,timeZone:c?.timeZone};return await F.executeAsync(v,x).catch((e=>p().error(\"arcade-execution-error\",{error:e,graphic:n,expressionInfo:r}))).finally((()=>$?.destroy()))}async function w({expressionInfos:e,spatialReference:r,graphic:a,interceptor:o,map:i,view:n,location:s,options:p}){if(!e?.length)return{};const u=await d(),l={};for(const t of e)l[`expression/${t.name}`]=m({expressionInfo:t,arcade:u,interceptor:o,spatialReference:r,map:i,graphic:a,location:s,view:n,options:p});const f=await t(l),g={};for(const t in f)g[t]=c(f[t].value);return g}export{m as createCompiledExpression,w as createCompiledExpressions,d as loadArcade};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport has from\"../../../core/has.js\";import e from\"../../../core/Logger.js\";import{replace as t}from\"../../../core/string.js\";import{convertDateFormatToIntlOptions as n,formatDate as r}from\"../../../intl/date.js\";import{formatNumber as i,convertNumberFormatToIntlOptions as o}from\"../../../intl/number.js\";import{isRasterPixelValueField as a,featureHasFields as l,isTimeOnlyField as u}from\"../../../layers/support/fieldUtils.js\";import{getEffectiveLayerCapabilities as s}from\"../../../layers/support/layerUtils.js\";import{formatAnyDate as f,isAnyDateField as c}from\"../../../smartMapping/support/utils.js\";import{loadArcade as d}from\"../../../support/arcadeOnDemand.js\";import{getTimeZoneFormattingOptions as p}from\"../../../time/timeZoneUtils.js\";const y=\"esri.widgets.Feature.support.featureUtils\",m=()=>e.getLogger(y),g=/href=(\"\"|'')/gi,b=/(\\{([^{\\r\\n]+)\\})/g,h=/'/g,I=/^\\s*expression\\//i,T=/(\\n)/gi,w=/[\\u00A0-\\u9999<>&]/gim,F=/href\\s*=\\s*(?:\"([^\"]+)\"|'([^']+)')/gi,N=/^(?:mailto:|tel:)/,j=\"relationships/\",Z=n(\"short-date-short-time\");function L(e){if(null!=e)return(e.sourceLayer||e.layer)??void 0}async function E({type:e,value:t,event:n}){try{return\"function\"==typeof t?t(n):await t}catch(r){return void m().error(\"error\",`An error occurred when calling the \"${e}\" function`,{error:r,graphic:n.graphic,value:t})}}function v(e=\"\"){if(e)return!N.test(e.trim().toLowerCase())}function x(e){return!!e&&I.test(e)}function C(e,t){if(!t||!x(t)||!e)return;const n=t.replace(I,\"\").toLowerCase();return e.find((({name:e})=>e.toLowerCase()===n))}function U(e,t){const n=C(t,e?.fieldName);return n?n.title||null:e?e.label||e.fieldName:null}function q(e,t){const n=t.get(e.toLowerCase());return`{${n?.fieldName||e}}`}function A(e){return e.replaceAll(g,\"\")}function M(e,t){const n=$(t,e);return n?n.name:e}function R(e,t){return e&&e.map((e=>M(e,t)))}function $(e,t){return e&&\"function\"==typeof e.getField&&t?e.getField(t)??null:null}function k(e){return`${e}`.trim()}function D({attributes:e,globalAttributes:t,layer:n,text:r,expressionAttributes:i,fieldInfoMap:o}){return r?z({formattedAttributes:t,template:P(r,{...t,...i,...e},n),fieldInfoMap:o}):\"\"}function z({formattedAttributes:e,template:n,fieldInfoMap:r}){return k(A(t(t(n,(e=>q(e,r))),e)))}function O(e,t,n=!1){const r=t[e];if(\"string\"==typeof r){const i=\"%27\",o=(n?encodeURIComponent(r):r).replaceAll(h,i);t[e]=o}}function G(e,t=!1){const n={...e};return Object.keys(n).forEach((e=>O(e,n,t))),n}function S(e,n,r){const i=(n=k(n))&&\"{\"!==n[0];return t(e,G(r,i||!1))}function Q(e,t){return e.replaceAll(b,((e,n,r)=>{const i=$(t,r);return i?`{${i.name}}`:n}))}function P(e,t,n){const r=Q(e,n);return r?r.replaceAll(F,((e,n,r)=>S(e,n||r,t))):r}function _(e,t){if(\"string\"==typeof e&&t&&null==t.dateFormat&&(null!=t.places||null!=t.digitSeparator)){const t=Number(e);if(!isNaN(t))return t}return e}function H(e){return null!=e&&\"object\"==typeof e&&\"fieldsIndex\"in e&&\"geometryType\"in e&&\"getField\"in e&&\"load\"in e&&\"loaded\"in e&&\"objectIdField\"in e&&\"spatialReference\"in e&&\"type\"in e&&(\"feature\"===e.type||\"scene\"===e.type||\"subtype-sublayer\"===e.type||\"sublayer\"===e.type)&&\"when\"in e}function B(e){return null!=e&&\"object\"==typeof e&&\"createQuery\"in e&&\"queryFeatureCount\"in e&&\"queryObjectIds\"in e&&\"queryRelatedFeatures\"in e&&\"queryRelatedFeaturesCount\"in e&&\"relationships\"in e}function J(e){return!!(e&&\"object\"==typeof e&&\"createQuery\"in e&&\"queryFeatureCount\"in e&&\"type\"in e)&&(\"subtype-sublayer\"===e.type&&\"parent\"in e&&e.parent&&\"object\"==typeof e.parent?\"globalIdField\"in e.parent:\"globalIdField\"in e)}function K(e){return H(e)&&B(e)}function V(e){return H(e)&&J(e)}function W(e){return!!e&&\"object\"==typeof e&&\"sourceLayer\"in e&&K(e.sourceLayer)}function X(e,t){const{fieldInfos:n,fieldName:r,preventPlacesFormatting:l,layer:u,timeZone:s}=t,c=te(n,r),d=$(u,r);if(c&&!a(r)){const t=d?.type,n=c.format?.dateFormat;if(\"date\"===t||\"date-only\"===t||\"time-only\"===t||\"timestamp-offset\"===t||n)return f(e,{format:n,fieldType:t,timeZoneOptions:{layerTimeZone:u&&\"preferredTimeZone\"in u?u.preferredTimeZone:null,viewTimeZone:s,datesInUnknownTimezone:!(!u||!(\"datesInUnknownTimezone\"in u))&&!!u.datesInUnknownTimezone}})}const p=c?.format;return\"string\"==typeof e&&a(r)&&p?Y(e,p):\"string\"==typeof(e=_(e,p))||null==e||null==p?ue(e):i(e,l?{...o(p),minimumFractionDigits:0,maximumFractionDigits:20}:o(p))}function Y(e,t){return e=e.trim(),/\\d{2}-\\d{2}/.test(e)?e:e.includes(\",\")?ee(e,\",\",\", \",t):e.includes(\";\")?ee(e,\";\",\"; \",t):e.includes(\" \")?ee(e,\" \",\" \",t):i(Number(e),o(t))}function ee(e,t,n,r){return e.trim().split(t).map((e=>i(Number(e),o(r)))).join(n)}function te(e,t){if(e?.length&&t)return e.find((e=>e.fieldName?.toLowerCase()===t.toLowerCase()))}function ne({fieldName:e,graphic:t,layer:n}){if(ye(e))return null;if(!n||\"function\"!=typeof n.getFeatureType)return null;const{typeIdField:r}=n;if(!r||e!==r)return null;const i=n.getFeatureType(t);return i?i.name:null}function re({fieldName:e,value:t,graphic:n,layer:r}){if(ye(e))return null;if(!r||\"function\"!=typeof r.getFieldDomain)return null;const i=n&&r.getFieldDomain(e,{feature:n,excludeImpliedDomains:has(\"esri-widget-legacy-field-domain-calculation\")});return i&&\"coded-value\"===i.type?i.getName(t):null}function ie(e,t,n,i){const{creatorField:o,creationDateField:a,editorField:l,editDateField:u}=e;if(!t)return;const s=p(i&&\"preferredTimeZone\"in i?i.preferredTimeZone:null,!(!i||!(\"datesInUnknownTimezone\"in i))&&!!i.datesInUnknownTimezone,n,Z,\"date\"),f={...Z,...s},c=t[u];if(\"number\"==typeof c){const e=t[l];return{type:\"edit\",date:r(c,f),user:e}}const d=t[a];if(\"number\"==typeof d){const e=t[o];return{type:\"create\",date:r(d,f),user:e}}return null}function oe(e,t){const n=new Map;if(!e)return n;for(const r of e){if(!r.fieldName)continue;const e=M(r.fieldName,t);r.fieldName=e,n.set(e.toLowerCase(),r)}return n}function ae(e){const t=[];if(!e)return t;const{fieldInfos:n,content:r}=e;return n&&t.push(...n),r&&Array.isArray(r)?(r.forEach((e=>{if(\"fields\"===e.type){const n=e?.fieldInfos;n&&t.push(...n)}})),t):t}function le(e){return e.replaceAll(w,(e=>`&#${e.charCodeAt(0)};`))}function ue(e){return\"string\"==typeof e?e.replaceAll(T,'
'):e}function se(e){const{value:t,fieldName:n,fieldInfos:r,fieldInfoMap:i,layer:o,graphic:a,timeZone:l}=e;if(null==t)return\"\";const s=re({fieldName:n,value:t,graphic:a,layer:o});if(s)return s;const d=ne({fieldName:n,graphic:a,layer:o});if(d)return d;if(i.get(n.toLowerCase()))return X(t,{fieldInfos:r||Array.from(i.values()),fieldName:n,layer:o,timeZone:l});const p=o?.fieldsIndex?.get(n);return p&&(c(p)||u(p))?f(t,{fieldType:p.type,timeZoneOptions:{layerTimeZone:o&&\"preferredTimeZone\"in o?o.preferredTimeZone:null,viewTimeZone:l,datesInUnknownTimezone:!(!o||!(\"datesInUnknownTimezone\"in o))&&!!o.datesInUnknownTimezone}}):ue(t)}function fe({fieldInfos:e,attributes:t,layer:n,graphic:r,fieldInfoMap:i,relatedInfos:o,timeZone:a}){const l={};return o?.forEach((t=>be({attributes:l,relatedInfo:t,fieldInfoMap:i,fieldInfos:e,layer:n,timeZone:a}))),t&&Object.keys(t).forEach((o=>{const u=t[o];l[o]=se({fieldName:o,fieldInfos:e,fieldInfoMap:i,layer:n,value:u,graphic:r,timeZone:a})})),l}async function ce(e,t){const{layer:n,graphic:r,outFields:i,objectIds:o,returnGeometry:a,spatialReference:l}=e,u=o[0];if(\"number\"!=typeof u&&\"string\"!=typeof u){const e=\"Could not query required fields for the specified feature. The feature's ID is invalid.\",t={layer:n,graphic:r,objectId:u,requiredFields:i};return m().warn(e,t),null}if(!s(n)?.operations?.supportsQuery){const e=\"The specified layer cannot be queried. The following fields will not be available.\",t={layer:n,graphic:r,requiredFields:i,returnGeometry:a};return m().warn(e,t),null}const f=n.createQuery();f.objectIds=o,f.outFields=i?.length?i:[n.objectIdField],f.returnGeometry=!!a,f.returnZ=!!a,f.returnM=!!a,f.outSpatialReference=l;return(await n.queryFeatures(f,t)).features[0]}async function de(e){if(!e.expressionInfos?.length)return!1;const t=await d(),{arcadeUtils:{hasGeometryFunctions:n}}=t;return n(e)}async function pe({graphic:e,popupTemplate:t,layer:n,spatialReference:r},i){if(!n||!t)return;if(\"function\"==typeof n.load&&await n.load(i),!e.attributes)return;const o=n.objectIdField,a=e.attributes[o];if(null==a)return;const u=[a],s=await t.getRequiredFields(n.fieldsIndex),f=l(s,e),c=f?[]:s.includes(o)?s:[...s,o],d=t.returnGeometry||await de(t);if(f&&!d)return;const p=await ce({layer:n,graphic:e,outFields:c,objectIds:u,returnGeometry:d,spatialReference:r},i);p&&(p.geometry&&(e.geometry=p.geometry),p.attributes&&(e.attributes={...e.attributes,...p.attributes}))}function ye(e=\"\"){return!!e&&e.includes(j)}function me(e){return e?`${j}${e.layerId}/${e.fieldName}`:\"\"}function ge({attributes:e,graphic:t,relatedInfo:n,fieldInfos:r,fieldInfoMap:i,layer:o,timeZone:a}){e&&t&&n&&Object.keys(t.attributes).forEach((l=>{const u=me({layerId:n.relation.id.toString(),fieldName:l}),s=t.attributes[l];e[u]=se({fieldName:u,fieldInfos:r,fieldInfoMap:i,layer:o,value:s,graphic:t,timeZone:a})}))}function be({attributes:e,relatedInfo:t,fieldInfoMap:n,fieldInfos:r,layer:i,timeZone:o}){e&&t&&(t.relatedFeatures?.forEach((a=>ge({attributes:e,graphic:a,relatedInfo:t,fieldInfoMap:n,fieldInfos:r,layer:i,timeZone:o}))),t.relatedStatsFeatures?.forEach((a=>ge({attributes:e,graphic:a,relatedInfo:t,fieldInfoMap:n,fieldInfos:r,layer:i,timeZone:o}))))}const he=e=>{if(!e)return!1;const t=e.toUpperCase();return t.includes(\"CURRENT_TIMESTAMP\")||t.includes(\"CURRENT_DATE\")||t.includes(\"CURRENT_TIME\")},Ie=({layer:e,method:t,query:n,definitionExpression:r})=>{if(!e.capabilities?.query?.supportsCacheHint||\"attachments\"===t)return;const i=null!=n.where?n.where:null,o=null!=n.geometry?n.geometry:null;he(r)||he(i)||\"extent\"===o?.type||\"tile\"===n.resultType||(n.cacheHint=!0)},Te=({query:e,layer:t,method:n})=>{Ie({layer:t,method:n,query:e,definitionExpression:`${t.definitionExpression} ${t.serviceDefinitionExpression??\"\"}`})},we=({queryPayload:e,layer:t,method:n})=>{Ie({layer:t,method:n,query:e,definitionExpression:`${t.definitionExpression} ${t.serviceDefinitionExpression??\"\"}`})};function Fe(e,t,n){return e&&t&&n?\"sublayer\"===t.type?Ze({layers:t.layer?.sublayers,map:e,relatedLayer:t,relationship:n})||Ze({layers:t.layer?.subtables,map:e,relatedLayer:t,relationship:n}):Ze({layers:e.allLayers,map:e,relatedLayer:t,relationship:n})||Ze({layers:e.allTables,map:e,relatedLayer:t,relationship:n}):null}function Ne(e,t){return e&&\"utilityNetworks\"in e&&t?e.utilityNetworks?.find((e=>e.isUtilityLayer(t))):null}function je(e,t){return e?.allTables.find((e=>\"feature\"===e.type&&e.layerId===t.id&&e.url===t.layer?.url))}function Ze({map:e,relationship:t,relationship:{relatedTableId:n},relatedLayer:r,layers:i}){if(!i)return null;for(const o of i){if(\"map-image\"===o.type){const n=Ze({layers:o.sublayers,map:e,relatedLayer:r,relationship:t})||Ze({layers:o.subtables,map:e,relatedLayer:r,relationship:t});if(n)return n;continue}if(!K(o))continue;if(\"sublayer\"===r.type){if(o!==r&&o.id===n)return o.isTable?je(e,o):o;continue}const i=\"scene\"===r.type&&r.associatedLayer?r.associatedLayer.url:r.url;if(!i)return null;if(\"sublayer\"!==o.type){if(o!==r&&o.url===i&&o.layerId===n)return o}else if(o!==r&&o.layer?.url===i&&o.id===n)return o.isTable?je(e,o):o}return null}function Le(e){const t=e.getObjectId();return null!=t?`oid:${t}`:`uid:${e.uid}`}export{ue as applyTextFormattingHTML,oe as createFieldInfoMap,Fe as findRelatedLayer,Ne as findUtilityNetwork,Q as fixTokens,fe as formatAttributes,ie as formatEditInfo,X as formatValueToFieldInfo,ae as getAllFieldInfos,te as getFieldInfo,U as getFieldInfoLabel,M as getFixedFieldName,R as getFixedFieldNames,Le as getHighlightKeyForFeature,L as getSourceLayer,E as graphicCallback,le as htmlEntities,V as isAssociatedFeatureSupportedLayer,J as isAssociatedLayer,x as isExpressionField,H as isFeatureSupportedLayer,W as isGraphicForRelatableFeatureSupportedLayer,K as isRelatableFeatureSupportedLayer,B as isRelatableLayer,ye as isRelatedField,Te as preLayerQueryCallback,we as preRequestCallback,ce as querySourceLayer,pe as queryUpdatedFeature,v as shouldOpenInNewTab,z as substituteAttributes,D as substituteFieldsInLinksAndAttributes};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport e from\"../../../request.js\";import{unique as t}from\"../../../core/arrayUtils.js\";import r from\"../../../core/Error.js\";import i from\"../../../core/Logger.js\";import{whenOrAbort as o,eachAlways as s}from\"../../../core/promiseUtils.js\";import{isNumericField as n}from\"../../../layers/support/fieldUtils.js\";import{executeQueryJSON as l}from\"../../../rest/query/executeQueryJSON.js\";import a from\"../../../rest/support/Query.js\";import u from\"../../../rest/support/RelationshipQuery.js\";import c from\"../../../rest/support/StatisticDefinition.js\";import{isRelatedField as f}from\"./featureUtils.js\";const d=\"esri.widgets.Feature.support.relatedFeatureUtils\",p=()=>i.getLogger(d),m=new Map;function h(e){if(!f(e))return null;const[t,r]=e.split(\"/\").slice(1);return{layerId:t,fieldName:r}}function y(e,t){if(!t.relationships)return null;let r=null;const{relationships:i}=t;return i.some((t=>t.id===parseInt(e,10)&&(r=t,!0))),r}function I({originRelationship:e,relationships:t,layerId:r}){return t.find((({relatedTableId:t,id:i})=>`${t}`===r&&i===e?.id))??null}function F(e,t){const r=t.toLowerCase();for(const i in e)if(i.toLowerCase()===r)return e[i];return null}function g(e,t){const r=y(e,t);if(!r)return;return{url:`${t.url}/${r.relatedTableId}`,sourceSpatialReference:t.spatialReference,relation:r,relatedFields:[],outStatistics:[]}}function S(e,t){if(!t)return;if(!e)return;const{features:r,statsFeatures:i}=e,o=r?.value;t.relatedFeatures=o?o.features:[];const s=i?.value;t.relatedStatsFeatures=s?s.features:[]}function b(e,t,r,i){const o=new u;return o.outFields=[\"*\"],o.relationshipId=\"number\"==typeof t.id?t.id:parseInt(t.id,10),o.objectIds=[e.attributes[r.objectIdField]],o.gdbVersion=r.gdbVersion??null,o.historicMoment=r.historicMoment??null,r.queryRelatedFeatures?.(o,i)??Promise.resolve({})}function w(e,t,r){let i=0;const o=[];for(;iJSON.stringify(e.toJSON())===JSON.stringify(t.toJSON()))):void 0}async function $(e,t,r,i){const o=r.layerId.toString(),{layerInfo:u,relation:c,relatedFields:f,outStatistics:d,url:p,sourceSpatialReference:m}=t,h=j(f),y=R(d);if(!u||!c)return null;const g=I({originRelationship:c,relationships:u.relationships,layerId:o});if(g?.relationshipTableId&&g.keyFieldInRelationshipTable){const t=(await b(e,g,r,i))[e.attributes[r.objectIdField]];if(!t)return null;const o=t.features.map((e=>e.attributes[u.objectIdField]));if(y?.length&&u.supportsStatistics){const e=new a;e.where=w(u.objectIdField,o,1e3),e.outFields=h,e.outStatistics=y,e.sourceSpatialReference=m;const r={features:Promise.resolve(t),statsFeatures:l(p,e)};return s(r)}}const S=g?.keyField;if(S){const t=n(L(u.fields,S)),o=F(e.attributes,c.keyField),f=t?`${S}=${o}`:`${S}='${o}'`,d=r.historicMoment,I=r.gdbVersion,g=l(p,new a({where:f,outFields:h,sourceSpatialReference:m,historicMoment:d,gdbVersion:I}),i),b=!!y?.length&&u.supportsStatistics?l(p,new a({where:f,outFields:h,outStatistics:y,sourceSpatialReference:m}),i):null,w={features:g};return b&&(w.statsFeatures=b),s(w)}return null}function N(t,r){return e(t,{query:{f:\"json\"},signal:r?.signal})}function v({relatedInfos:e,layer:t},i){const n={};return e.forEach(((e,i)=>{const{relation:o}=e;if(!o){const e=new r(\"relation-required\",\"A relation is required on a layer to retrieve related records.\");throw p().error(e),e}const{relatedTableId:s}=o;if(\"number\"!=typeof s){const e=new r(\"A related table ID is required on a layer to retrieve related records.\");throw p().error(e),e}const l=`${t.url}/${s}`,a=m.get(l),u=a??N(l);a||m.set(l,u),n[i]=u})),o(s(n),i)}function T({graphic:e,relatedInfos:t,layer:r},i){const o={};return t.forEach(((t,s)=>{t.layerInfo&&(o[s]=$(e,t,r,i))})),s(o)}function q({relatedInfo:e,fieldName:t,fieldInfo:r}){if(e.relatedFields?.push(t),r.statisticType){const i=new c({statisticType:r.statisticType,onStatisticField:t,outStatisticFieldName:t});e.outStatistics?.push(i)}}function L(e,t){if(null!=e){t=t.toLowerCase();for(const r of e)if(r&&r.name.toLowerCase()===t)return r}return null}export{g as createRelatedInfo,I as getDestinationRelation,h as getRelatedFieldInfo,j as getUniqueOutFields,R as getUniqueOutStatistics,v as queryLayerInfos,T as queryRelatedFeatures,S as setRelatedFeatures,q as updateRelatedInfo};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{_ as e}from\"../chunks/tslib.es6.js\";import\"../intl.js\";import t from\"../core/Collection.js\";import i from\"../core/Logger.js\";import{ignoreAbortErrors as o}from\"../core/promiseUtils.js\";import{watch as s,when as n}from\"../core/reactiveUtils.js\";import{waitAnimationFrame as r}from\"../core/scheduling.js\";import{throttle as l}from\"../core/throttle.js\";import{property as a}from\"../core/accessorSupport/decorators/property.js\";import\"../core/has.js\";import\"../core/RandomLCG.js\";import{subclass as d}from\"../core/accessorSupport/decorators/subclass.js\";import{getPointFromGeometry as c}from\"../geometry/support/geometryUtils.js\";import{substituteActionImage as u,getActionStyles as h}from\"../support/actions/actionUtils.js\";import p from\"./Feature.js\";import m from\"./Spinner.js\";import v from\"./Widget.js\";import{css as g}from\"./Feature/resources.js\";import{FeatureContentMixin as w}from\"./Feature/support/FeatureContentMixin.js\";import{css as _}from\"./Features/css.js\";import f from\"./Features/FeaturesDrillIn.js\";import M from\"./Features/FeaturesViewModel.js\";import F from\"./Features/FeaturesVisibleElements.js\";import{ActionsCollection as b}from\"./Popup/actions.js\";import{zoomToLocation as y}from\"./Popup/actionUtils.js\";import{loadCalciteComponents as I}from\"./support/componentsUtils.js\";import{globalCss as C}from\"./support/globalCss.js\";import{Heading as A}from\"./support/Heading.js\";import{setFocus as x}from\"./support/widgetUtils.js\";import{messageBundle as N}from\"./support/decorators/messageBundle.js\";import{vmEvent as j}from\"./support/decorators/vmEvent.js\";import{tsx as O}from\"./support/jsxFactory.js\";import{substitute as k}from\"../intl/substitute.js\";import{formatNumber as T}from\"../intl/number.js\";const E=\"selected-index\",L=0,W=\"features-spinner\";function S(e){return e?.declaredClass.startsWith(\"esri.layers.\")??!1}let B=class extends(w(v)){constructor(e,i){super(e,i),this._featureMenuIntersectionObserverCallback=([e])=>{e?.isIntersecting&&null!=this.viewModel.featurePage&&this.viewModel.featurePage++},this._featureMenuIntersectionObserver=new IntersectionObserver(this._featureMenuIntersectionObserverCallback,{root:window.document}),this._featureMenuIntersectionObserverNode=null,this._spinner=null,this._feature=null,this._focusAbortController=null,this._drillInFlowItems=new t,this._drillInWidget=new f({flowItems:this._drillInFlowItems}),this._rootFlowItemNode=null,this._featureMenuViewportNode=null,this._actionBarMenuNode=null,this.collapsed=!1,this.featureNavigationTop=!1,this.headerActions=new b,this.headingLevel=2,this.messages=null,this.messagesCommon=null,this.responsiveActionsEnabled=!1,this.viewModel=new M,this.visibleElements=new F,this._renderAction=(e,t)=>{const i=this._getActionTitle(e),{type:o,active:s,uid:n,disabled:r,indicator:l}=e;return e.visible?O(\"calcite-action\",{active:\"toggle\"===o&&e.value,appearance:\"solid\",bind:this,\"data-action-uid\":n,disabled:r,icon:this._getActionIcon(e),indicator:l,key:`action-${t}`,loading:s,onclick:this._triggerAction,scale:\"s\",text:i,title:this._hideActionText?i:void 0},this._getFallbackIcon(e)):null},this._openFeatureMenu=()=>{this.featureMenuOpen=!0,this._focusFlowItemNode(\"menu-flow-item\")},this._previousFeature=()=>{this.viewModel.selectedFeatureIndex--},this._nextFeature=()=>{this.viewModel.selectedFeatureIndex++},this._handleFeatureMenuBack=()=>{this.featureMenuOpen&&(this._focusFlowItemNode(\"root-flow-item\"),this.featureMenuOpen=!1)},this._displaySpinnerThrottled=l((()=>this._displaySpinner()),L),this._addSelectedFeatureIndexHandle(),this.addHandles([this._displaySpinnerThrottled,s((()=>this.viewModel?.active),(()=>this._toggleScreenLocationEnabled())),s((()=>this.viewModel?.active),(e=>this._drillInWidget.closed=!e)),s((()=>this.visibleElements?.closeButton),(e=>this._drillInWidget.closable=e)),s((()=>this.visibleElements?.spinner),(e=>this._spinnerEnabledChange(e))),s((()=>this.viewModel?.view),((e,t)=>this._viewChange(e,t))),s((()=>this.viewModel?.view?.ready),((e,t)=>this._viewReadyChange(e??!1,t??!1))),s((()=>[this.viewModel?.waitingForResult,this.viewModel?.location]),(()=>{this._hideSpinner(),this._displaySpinnerThrottled()})),s((()=>this.viewModel?.screenLocation),(()=>this._closeOpenActionMenu())),s((()=>this.selectedFeatureWidget),(()=>this._destroyDrillInFlowItemWidgets())),s((()=>{const e=this.selectedFeatureWidget?.viewModel;return[e?.title,e?.state]}),(()=>this._setTitleFromFeatureWidget())),s((()=>{const e=this.selectedFeatureWidget?.viewModel;return[e?.content,e?.state]}),(()=>this._setContentFromFeatureWidget())),s((()=>this.viewModel?.featureViewModels),(()=>this._featureMenuViewportScrollTop())),this._drillInWidget.on(\"close\",(()=>this.close())),this._drillInWidget.on(\"exit\",(()=>this._destroyDrillInFlowItemWidgets())),this._drillInWidget.on(\"open-feature\",(({feature:e})=>this._openRelatedFeature(e))),this._drillInWidget.on(\"zoom-to-feature\",(({featureWidget:e})=>y(this.viewModel,e)))])}loadDependencies(){return I({action:()=>import(\"@esri/calcite-components/dist/components/calcite-action.js\"),\"action-bar\":()=>import(\"@esri/calcite-components/dist/components/calcite-action-bar.js\"),\"action-group\":()=>import(\"@esri/calcite-components/dist/components/calcite-action-group.js\"),button:()=>import(\"@esri/calcite-components/dist/components/calcite-button.js\"),flow:()=>import(\"@esri/calcite-components/dist/components/calcite-flow.js\"),\"flow-item\":()=>import(\"@esri/calcite-components/dist/components/calcite-flow-item.js\"),list:()=>import(\"@esri/calcite-components/dist/components/calcite-list.js\"),\"list-item\":()=>import(\"@esri/calcite-components/dist/components/calcite-list-item.js\"),\"list-item-group\":()=>import(\"@esri/calcite-components/dist/components/calcite-list-item-group.js\"),loader:()=>import(\"@esri/calcite-components/dist/components/calcite-loader.js\")})}destroy(){this._destroyDrillInFlowItemWidgets(),this._destroySelectedFeatureWidget(),this._destroySpinner(),this._unobserveFeatureMenuObserver(),this._featureMenuIntersectionObserver?.disconnect(),this._drillInWidget?.destroy(),this._focusAbortController?.abort()}get _hideActionText(){if(!this.responsiveActionsEnabled)return!1;const e=this.view?.widthBreakpoint;return\"xsmall\"===e||\"small\"===e||\"medium\"===e}get _featureNavigationVisible(){return this.viewModel.active&&this.viewModel.featureCount>1&&this.visibleElements.featureNavigation}get _isCollapsed(){return this._collapseEnabled&&this.collapsed}get _collapseEnabled(){return this.visibleElements.collapseButton&&!!this.title&&!!this.content}get active(){return this.viewModel.active}get content(){return this.viewModel.content}set content(e){this.viewModel.content=e}get icon(){return null}get featureMenuOpen(){return this.viewModel.featureMenuOpen}set featureMenuOpen(e){this.viewModel.featureMenuOpen=e}get features(){return this.viewModel.features}set features(e){this.viewModel.features=e}get goToOverride(){return this.viewModel.goToOverride}set goToOverride(e){this.viewModel.goToOverride=e}get location(){return this.viewModel.location}set location(e){this.viewModel.location=e}get label(){return this.messages?.widgetLabel??\"\"}set label(e){this._overrideIfSome(\"label\",e)}get map(){return this.viewModel.map}set map(e){this.viewModel.map=e}get promises(){return this.viewModel.promises}set promises(e){this.viewModel.promises=e}get selectedFeature(){return this.viewModel.selectedFeature}get selectedDrillInFeature(){const e=Array.from(this._drillInFlowItems).at(-1);if(!e)return null;const{flowType:t}=e;return\"feature-association\"===t||\"feature-relationship\"===t?e.graphic??null:null}get selectedFeatureIndex(){return this.viewModel.selectedFeatureIndex}set selectedFeatureIndex(e){this.viewModel.selectedFeatureIndex=e}get selectedFeatureWidget(){const{_feature:e,headingLevel:t,_drillInFlowItems:i,timeZone:o,spatialReference:s,map:n}=this,{selectedFeatureViewModel:r}=this.viewModel,l={title:!1};return r?(e?(e.viewModel=r,e.visibleElements=l):this._feature=new p({flowItems:i,headingLevel:t+1,timeZone:o,spatialReference:s,map:n,viewModel:r,visibleElements:l}),this._feature):null}get spatialReference(){return this.viewModel.spatialReference}set spatialReference(e){this.viewModel.spatialReference=e}get title(){return this.viewModel.title}set title(e){this.viewModel.title=e}get timeZone(){return this.viewModel.timeZone}set timeZone(e){this.viewModel.timeZone=e}get updateLocationEnabled(){return this.viewModel.updateLocationEnabled}set updateLocationEnabled(e){this.viewModel.updateLocationEnabled=e}get view(){return this.viewModel.view}set view(e){this.viewModel.view=e}get visible(){return this.viewModel.visible}set visible(e){this.viewModel.visible=e}blur(){const{active:e}=this.viewModel;e?this._rootFlowItemNode?.blur():i.getLogger(this).warn(\"Features can only be blurred when currently active.\")}clear(){return this.viewModel.clear()}close(){this.viewModel.visible=!1}fetchFeatures(e,t){return this.viewModel.fetchFeatures(e,t)}focus(){const{active:e}=this.viewModel;e?this._focusFlowItemNode(this.featureMenuOpen?\"menu-flow-item\":\"root-flow-item\"):i.getLogger(this).warn(\"Features can only be focused when currently active.\")}next(){return this.viewModel.next()}open(e){this.removeHandles(E);const t={collapsed:e?.collapsed??!1};this.set(t),this.viewModel.open(e),this.addHandles(n((()=>!this.viewModel.waitingForResult),(()=>this._addSelectedFeatureIndexHandle()),{once:!0}))}previous(){return this.viewModel.previous()}triggerAction(e){return this.viewModel.triggerAction(e)}render(){return O(\"div\",{bind:this,class:this.classes(_.base,C.widget,C.panel),onkeydown:this._onMainKeydown},this._renderHeader(),this._renderContentContainer())}_renderFeatureNavigation(){return[this._renderPagination(),this._renderFeatureMenuButton()]}_renderHeader(){return!this.featureMenuOpen&&this.featureNavigationTop&&this._featureNavigationVisible?O(\"div\",{class:_.header,key:\"header-actions\"},this._renderFeatureNavigation()):null}_renderFooter(){return this.featureMenuOpen||this.featureNavigationTop||!this._featureNavigationVisible?null:O(\"div\",{class:_.footer,key:\"footer-actions\",slot:\"footer\"},this._renderFeatureNavigation())}_renderFeatureMenuButton(){const{messages:e,viewModel:t}=this,{featureCount:i,selectedFeatureIndex:o,pendingPromisesCount:s}=t;return O(\"calcite-action\",{appearance:\"solid\",bind:this,icon:\"list\",key:\"feature-menu-button\",label:e.selectFeature,loading:s>0,onclick:this._openFeatureMenu,scale:\"s\",text:k(e.pageText,{index:T(o+1),total:T(i)}),textEnabled:!0,title:e.selectFeature})}_renderPagination(){const{previous:e,next:t}=this.messagesCommon.pagination;return O(\"calcite-action-bar\",{class:_.paginationActionBar,expandDisabled:!0,key:\"pagination-action-bar\",layout:\"horizontal\",overflowActionsDisabled:!0,scale:\"s\"},O(\"calcite-action-group\",{scale:\"s\"},O(\"calcite-action\",{appearance:\"solid\",class:_.paginationPrevious,icon:\"chevron-left\",iconFlipRtl:!0,label:e,onclick:this._previousFeature,scale:\"s\",text:e,title:e}),O(\"calcite-action\",{appearance:\"solid\",icon:\"chevron-right\",iconFlipRtl:!0,label:t,onclick:this._nextFeature,scale:\"s\",text:t,title:t})))}_renderFeatureMenuItem(e){const{selectedFeatureViewModel:t,featureViewModels:i}=this.viewModel,o=e===t,s=i.indexOf(e);return O(\"calcite-list-item\",{bind:this,\"data-feature-index\":s,key:`feature-menu-item-${e.uid}`,onblur:this._removeActiveFeature,onfocus:this._setActiveFeature,onmouseleave:this._removeActiveFeature,onmouseover:this._setActiveFeature,selected:o,onCalciteListItemSelect:this._selectFeature},O(\"span\",{innerHTML:e.title||this.messagesCommon.untitled,slot:\"content\"}))}_groupResultsByLayer(){const{featureViewModels:e}=this.viewModel,t=new Map;return e.forEach((e=>{const i=e?.graphic;if(!i)return;const{layer:o,sourceLayer:s}=i,n=(S(o)?o:null)||(S(s)?s:null),r=t.get(n)??[];t.set(n,[...r,e])})),t}_renderFeatureMenu(){const{featureViewModels:e}=this.viewModel,t=this._groupResultsByLayer();return e.length?O(\"calcite-list\",{selectionAppearance:\"icon\",selectionMode:\"single\"},Array.from(t.keys(),(e=>{const i=t.get(e)?.map((e=>this._renderFeatureMenuItem(e))),o=e?e.title??this.messagesCommon.untitled:null;return this.visibleElements.featureListLayerTitle&&null!==o?O(\"calcite-list-item-group\",{heading:o,key:e?.uid||\"map-graphics\"},i):i}))):null}_renderHeaderAction(e,t){const i=e.title||\"\";return e.visible?O(\"calcite-action\",{active:\"toggle\"===e.type&&e.value,appearance:\"solid\",bind:this,\"data-action-uid\":e.uid,disabled:e.disabled,icon:e.icon??void 0,indicator:e.indicator,key:`header-action-${t}`,loading:e.active,onclick:this._triggerHeaderAction,slot:\"header-actions-end\",text:i,title:i}):null}_renderHeaderActions(){return this.headerActions.map(((e,t)=>this._renderHeaderAction(e,t))).toArray()}_renderContentFeature(){const{headingLevel:e,visibleElements:t,_isCollapsed:i,_collapseEnabled:o,featureNavigationTop:s}=this,{title:n,active:r}=this.viewModel,l=t.heading&&n?n:\"\";return O(\"calcite-flow-item\",{afterCreate:this._storeRootFlowItemNode,bind:this,class:this.classes({[_.contentFeature]:!0,[_.flowItemCollapsed]:i}),closable:t.closeButton,closed:!r,collapsed:i,collapseDirection:s?\"down\":\"up\",collapsible:o,headingLevel:e,key:\"root-flow-item\",onCalciteFlowItemClose:this.close,onCalciteFlowItemToggle:this._handleCollapseToggle},l?O(A,{class:this.classes(_.featuresHeading,C.heading),innerHTML:l,key:\"header-content\",level:this.headingLevel,slot:\"header-content\"}):null,this._renderHeaderActions(),this._renderActionBar(),i?null:O(\"div\",{class:this.classes(_.container,_.contentContainer)},this._renderContent()),this._renderFooter())}_renderFeatureMenuContainer(){const{viewModel:e,featureMenuOpen:t,messages:i,messagesCommon:o}=this,{active:s,featureViewModels:n,pendingPromisesCount:r}=e;return t?O(\"calcite-flow-item\",{afterCreate:this._storeFeatureMenuFlowItemNode,bind:this,closable:!1,closed:!s,description:k(i.total,{total:n.length}),heading:i.selectFeature,key:\"feature-menu\",loading:e.waitingForContents,onCalciteFlowItemBack:e=>{e.preventDefault(),this._handleFeatureMenuBack()}},r>0?O(\"calcite-loader\",{class:_.loader,inline:!0,key:\"feature-menu-loader\",label:o.loading,slot:\"header-actions-end\"}):null,O(\"div\",{class:_.container},this._renderFeatureMenu()),O(\"div\",{afterCreate:this._featureMenuIntersectionObserverCreated,bind:this,class:_.featureMenuObserver}),O(\"calcite-button\",{appearance:\"transparent\",onclick:this._handleFeatureMenuBack,slot:\"footer-actions\",width:\"full\"},o.back)):null}_renderContentContainer(){const e=[this._renderContentFeature(),this._renderFeatureMenuContainer(),this._drillInWidget.render()];return this.visibleElements.flow?O(\"calcite-flow\",{key:\"content-container\"},e):e}_getFallbackIcon(e){const{className:t,icon:i}=e;if(i)return null;const o=u({action:e,feature:this.selectedFeature}),s={[_.icon]:!!t,[_.actionImage]:!!o};return t&&(s[t]=!0),o||t?O(\"span\",{\"aria-hidden\":\"true\",class:this.classes(_.icon,s),key:\"icon\",styles:h(o)}):null}_renderActionBar(){return!this._isCollapsed&&this.visibleElements.actionBar&&this.viewModel.allActions?.length?O(\"calcite-action-bar\",{expandDisabled:!0,expanded:!this._hideActionText,key:\"header-action-bar\",scale:\"s\",slot:\"action-bar\"},O(\"calcite-action-group\",{afterCreate:e=>this._actionBarMenuNode=e,overlayPositioning:\"fixed\",scale:\"s\"},this._renderActions())):null}_renderActions(){return this.viewModel.allActions.toArray().map(this._renderAction)}_renderContent(){const e=this.viewModel?.content;return e?\"string\"==typeof e?O(\"div\",{class:g.contentNode,innerHTML:e,key:e}):this.renderNodeContent(e):null}_handleCollapseToggle(){this.collapsed=!this.collapsed}async _openRelatedFeature(e){await e.viewModel.updateGeometry();const t=e.graphic,i=t?.geometry;if(null==i||null==t)return;this._destroyDrillInFlowItemWidgets(),await this.viewModel.zoomTo({target:i});const o=c(i);this.open({features:[t],location:null!=o?o:void 0})}async _focusFlowItemNode(e){this._focusAbortController?.abort(),this._focusAbortController=new AbortController;const t=this._focusAbortController.signal;await o(r(t));const i=\"menu-flow-item\"===e?this._featureMenuViewportNode:this._rootFlowItemNode;x(i)}_storeRootFlowItemNode(e){this._rootFlowItemNode=e}_storeFeatureMenuFlowItemNode(e){this._featureMenuViewportNode=e}_setActiveFeature(e){const{viewModel:t}=this,i=e.currentTarget[\"data-feature-index\"];t.activeFeature=t.features?.[i]||null}_removeActiveFeature(){this.viewModel.activeFeature=null}_selectFeature(e){const t=e.currentTarget[\"data-feature-index\"];isNaN(t)||(this.viewModel.selectedFeatureIndex=t),this._handleFeatureMenuBack()}_unobserveFeatureMenuObserver(){this._featureMenuIntersectionObserverNode&&this._featureMenuIntersectionObserver.unobserve(this._featureMenuIntersectionObserverNode)}_featureMenuIntersectionObserverCreated(e){this._unobserveFeatureMenuObserver(),this._featureMenuIntersectionObserver.observe(e),this._featureMenuIntersectionObserverNode=e}_getActionIcon(e){return e.icon?e.icon:e.image||e.className?void 0:\"question\"}_getActionTitle(e){const{messages:t,selectedFeature:i,messagesCommon:o}=this,{id:s}=e,n=i?.attributes,r=e.title??\"\",l=\"zoom-to-feature\"===s?k(r,{messages:t}):\"remove-selected-feature\"===s?k(r,{messages:o}):\"zoom-to-clustered-features\"===s||\"browse-clustered-features\"===s?k(r,{messages:t}):e.title;return l&&n?k(l,n):l??\"\"}_onMainKeydown(e){const{key:t}=e;\"ArrowLeft\"===t&&(e.stopPropagation(),this._handleFeatureMenuBack(),this.previous()),\"ArrowRight\"===t&&(e.stopPropagation(),this._handleFeatureMenuBack(),this.next())}_featureMenuViewportScrollTop(){this._featureMenuViewportNode&&this._featureMenuViewportNode.scrollContentTo({top:0})}_setContentFromFeatureWidget(){const{selectedFeatureWidget:e}=this;e&&(this.viewModel.content=e)}_setTitleFromFeatureWidget(){const{selectedFeatureWidget:e,messagesCommon:t}=this,i=e?.viewModel;e&&(this.viewModel.title=\"error\"===i?.state?t?.errorMessage:i?.title||\"\")}_addSelectedFeatureIndexHandle(){const e=s((()=>this.viewModel?.selectedFeatureIndex),((e,t)=>this._selectedFeatureIndexUpdated(e,t)));this.addHandles(e,E)}_selectedFeatureIndexUpdated(e,t){const{featureCount:i}=this.viewModel;i&&e!==t&&-1!==e&&(this._destroyDrillInFlowItemWidgets(),this._rootFlowItemNode&&this._rootFlowItemNode.scrollContentTo({top:0}))}_triggerHeaderAction(e){const t=e.currentTarget;if(t.disabled)return;const i=t.dataset.actionUid,o=this.headerActions.find((({uid:e})=>e===i));o&&!o.disabled&&(\"toggle\"===o?.type&&(o.value=!o.value),this.emit(\"trigger-header-action\",{action:o}))}_triggerAction(e){const t=e.currentTarget;if(t.disabled)return;const i=t.dataset.actionUid,{allActions:o}=this.viewModel,s=o.findIndex((e=>e.uid===i)),n=o.at(s);n&&\"toggle\"===n.type&&(n.value=!n.value),this.viewModel.triggerAction(s)}_createSpinner(e){e&&(this._spinner=new m({view:e}),e.ui.add(this._spinner,{key:W,position:\"manual\",internal:!0}))}_wireUpView(e){this._destroySpinner(),e&&this.visibleElements?.spinner&&this._createSpinner(e)}_hideSpinner(){const{_spinner:e}=this;e&&(e.location=null,e.hide())}_viewReadyChange(e,t){e?this._wireUpView(this.viewModel?.view):t&&this.viewModel.clear()}_viewChange(e,t){e&&t&&this.viewModel.clear()}_destroySelectedFeatureWidget(){const{_feature:e}=this;e&&(e.viewModel=null,!e.destroyed&&e.destroy()),this._feature=null}_closeOpenActionMenu(){const{_actionBarMenuNode:e}=this;e&&(e.menuOpen=!1)}_destroyDrillInFlowItemWidgets(){this._drillInFlowItems.drain((e=>{\"showAllEnabled\"in e.viewModel&&(e.viewModel.showAllEnabled=!1),e.viewModel=null,e.destroy()}))}_toggleScreenLocationEnabled(){const{viewModel:e}=this;e&&(e.screenLocationEnabled=e.active)}_displaySpinner(){const{_spinner:e}=this;if(!e)return;const{location:t,waitingForResult:i}=this.viewModel;i&&t?e.show({location:t}):e.hide()}_destroySpinner(){const{_spinner:e,view:t}=this;e&&(t?.ui?.remove(e,W),e.destroy(),this._spinner=null)}_spinnerEnabledChange(e){this._destroySpinner(),e&&this._createSpinner(this.viewModel?.view)}};e([a()],B.prototype,\"_drillInFlowItems\",void 0),e([a()],B.prototype,\"_hideActionText\",null),e([a()],B.prototype,\"_featureNavigationVisible\",null),e([a()],B.prototype,\"_isCollapsed\",null),e([a()],B.prototype,\"_collapseEnabled\",null),e([a({readOnly:!0})],B.prototype,\"active\",null),e([a()],B.prototype,\"collapsed\",void 0),e([a()],B.prototype,\"content\",null),e([a()],B.prototype,\"icon\",null),e([a()],B.prototype,\"featureMenuOpen\",null),e([a()],B.prototype,\"featureNavigationTop\",void 0),e([a()],B.prototype,\"features\",null),e([a()],B.prototype,\"goToOverride\",null),e([a({type:b})],B.prototype,\"headerActions\",void 0),e([a()],B.prototype,\"headingLevel\",void 0),e([a()],B.prototype,\"location\",null),e([a()],B.prototype,\"label\",null),e([a()],B.prototype,\"map\",null),e([a(),N(\"esri/widgets/Features/t9n/Features\")],B.prototype,\"messages\",void 0),e([a(),N(\"esri/t9n/common\")],B.prototype,\"messagesCommon\",void 0),e([a()],B.prototype,\"promises\",null),e([a()],B.prototype,\"responsiveActionsEnabled\",void 0),e([a({readOnly:!0})],B.prototype,\"selectedFeature\",null),e([a({readOnly:!0})],B.prototype,\"selectedDrillInFeature\",null),e([a()],B.prototype,\"selectedFeatureIndex\",null),e([a({readOnly:!0})],B.prototype,\"selectedFeatureWidget\",null),e([a()],B.prototype,\"spatialReference\",null),e([a()],B.prototype,\"title\",null),e([a()],B.prototype,\"timeZone\",null),e([a()],B.prototype,\"updateLocationEnabled\",null),e([a()],B.prototype,\"view\",null),e([a({type:M}),j([\"triggerAction\",\"trigger-action\"])],B.prototype,\"viewModel\",void 0),e([a({type:F,nonNullable:!0})],B.prototype,\"visibleElements\",void 0),e([a()],B.prototype,\"visible\",null),B=e([d(\"esri.widgets.Features\")],B);const R=B;export{R as default};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{_ as e}from\"../../chunks/tslib.es6.js\";import\"../../intl.js\";import{property as t}from\"../../core/accessorSupport/decorators/property.js\";import\"../../core/has.js\";import\"../../core/Logger.js\";import\"../../core/RandomLCG.js\";import{subclass as i}from\"../../core/accessorSupport/decorators/subclass.js\";import o from\"../Widget.js\";import{css as s}from\"./css.js\";import{zoomToFeature as a}from\"../Popup/actions.js\";import{loadCalciteComponents as r}from\"../support/componentsUtils.js\";import\"../support/widgetUtils.js\";import{messageBundle as c}from\"../support/decorators/messageBundle.js\";import{tsx as n,tsxFragment as l}from\"../support/jsxFactory.js\";import{substitute as p}from\"../../intl/substitute.js\";const d=a.clone();let u=class extends o{constructor(e,t){super(e,t),this.messages=null,this.closed=!1,this.closable=!0,this._handleOpenFeature=e=>{this.emit(\"open-feature\",{feature:e})},this._handleZoomToFeature=e=>{this.emit(\"zoom-to-feature\",{featureWidget:e})}}loadDependencies(){return r({action:()=>import(\"@esri/calcite-components/dist/components/calcite-action.js\"),\"action-bar\":()=>import(\"@esri/calcite-components/dist/components/calcite-action-bar.js\"),\"action-group\":()=>import(\"@esri/calcite-components/dist/components/calcite-action-group.js\"),\"flow-item\":()=>import(\"@esri/calcite-components/dist/components/calcite-flow-item.js\")})}render(){const{flowItems:e}=this,t=e?.toArray();return n(l,null,t?.map((e=>this._renderFlowItem(e))))}_handleCloseClick(){this.emit(\"close\")}_handleExitClick(){this.emit(\"exit\")}_handleDrillInBackClick(){const e=this.flowItems?.pop();e&&(\"showAllEnabled\"in e.viewModel&&(e.viewModel.showAllEnabled=!1),e&&(e.viewModel=null,e.destroy()))}_getExitMessage(e){switch(e.flowType){case\"feature\":case\"feature-association\":return\"\";case\"feature-relationship\":return this.messages.exitRelatedRecords;case\"feature-utility-network-associations\":case\"feature-utility-network-association-type\":return this.messages.exitAssociations}}_renderFlowItem(e){const{messages:t,closable:i,closed:o}=this,a=\"graphic\"in e&&!e.isTable,r=\"feature-association\"===e.flowType,c=this._getExitMessage(e),l=t.selectFeature;return n(\"calcite-flow-item\",{bind:this,closable:i,closed:o,description:this._getDrillInFlowItemDescription(e),heading:e.title??\"\",key:`flow-item-${e.viewModel.uid}`,onCalciteFlowItemBack:e=>{e.preventDefault(),this._handleDrillInBackClick()},onCalciteFlowItemClose:this._handleCloseClick},n(\"calcite-action\",{appearance:\"transparent\",bind:this,class:s.actionExit,icon:\"move-up\",key:\"exit-action\",onclick:this._handleExitClick,slot:\"header-actions-start\",text:c,title:c}),a?n(\"calcite-action\",{appearance:\"transparent\",bind:this,icon:\"zoom-to-object\",key:\"open-feature-action\",onclick:()=>this._handleOpenFeature(e),slot:\"header-actions-end\",text:l,title:l}):null,r?n(\"calcite-action-bar\",{expandDisabled:!0,expanded:!0,key:\"header-action-bar\",scale:\"s\",slot:\"action-bar\"},n(\"calcite-action-group\",{overlayPositioning:\"fixed\",scale:\"s\"},this._renderDefaultActions(e))):null,n(\"div\",{class:s.container},e.render()))}_renderDefaultActions(e){const t=this._getActionTitle(d);return n(\"calcite-action\",{active:d.active,appearance:\"solid\",bind:this,\"data-action-uid\":d.uid,disabled:d.disabled,icon:d.icon??\"question\",indicator:d.indicator,key:`action-${d.uid}`,loading:d.active,onclick:()=>this._handleZoomToFeature(e),scale:\"s\",text:t,textEnabled:!0,title:t})}_getActionTitle(e){const{messages:t}=this,{id:i}=e,o=e.title??\"\";return\"zoom-to-feature\"===i?p(o,{messages:t}):o}_getDrillInFlowItemDescription(e){switch(e.flowType){case\"feature\":case\"feature-association\":case\"feature-utility-network-associations\":return e.viewModel.description??\"\";case\"feature-relationship\":return e.featureCountDescription;case\"feature-utility-network-association-type\":return e.description??\"\"}}};e([t()],u.prototype,\"flowItems\",void 0),e([t(),c(\"esri/widgets/Features/t9n/Features\")],u.prototype,\"messages\",void 0),e([t()],u.prototype,\"closed\",void 0),e([t()],u.prototype,\"closable\",void 0),u=e([i(\"esri.widgets.Features.FeaturesDrillIn\")],u);const m=u;export{m as default};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{_ as e}from\"../../chunks/tslib.es6.js\";import\"../../geometry.js\";import t from\"../../Graphic.js\";import\"../../symbols.js\";import{isSome as i}from\"../../core/arrayUtils.js\";import s from\"../../core/Error.js\";import r from\"../../core/Logger.js\";import{debounce as o,isAbortError as a}from\"../../core/promiseUtils.js\";import n from\"../../core/ReactiveSet.js\";import{watch as l,when as u,sync as h}from\"../../core/reactiveUtils.js\";import{property as c}from\"../../core/accessorSupport/decorators/property.js\";import\"../../core/has.js\";import{subclass as d}from\"../../core/accessorSupport/decorators/subclass.js\";import{initializeProjection as p,project as g}from\"../../geometry/projection.js\";import{getPointFromGeometry as m}from\"../../geometry/support/geometryUtils.js\";import{geographicToWebMercator as f}from\"../../geometry/support/webMercatorUtils.js\";import y from\"../../layers/Layer.js\";import{fallbackObjectIDAttribute as w}from\"../../layers/LayerConstants.js\";import{getDisplayedSymbol as F}from\"../../symbols/support/symbolUtils.js\";import{system as v}from\"../../time/timeZoneUtils.js\";import{highlightsSupported as _}from\"../../views/support/layerViewUtils.js\";import b from\"../Feature/FeatureViewModel.js\";import{ActionsCollection as C,zoomToFeature as P,zoomToClusteredFeatures as E,browseClusteredFeatures as j}from\"../Popup/actions.js\";import{triggerAction as M,isClusterFeature as A,removeClusteredFeaturesForBrowsing as L,displayClusterExtent as V,browseAggregateFeatures as I,getSelectedTarget as S}from\"../Popup/actionUtils.js\";import O from\"../support/AnchorElementViewModel.js\";import{GoToMixin as T}from\"../support/GoTo.js\";import R from\"../../symbols/SimpleFillSymbol.js\";import x from\"../../geometry/Point.js\";const H=\"location-scale-handle\",B=()=>[P.clone()],U=()=>[E.clone(),j.clone()];let G=null;function Z(e,t){return\"building-scene\"===e||\"2d\"===t&&(\"map-image\"===e||\"tile\"===e||\"imagery\"===e||\"imagery-tile\"===e)}let z=class extends(T(O)){constructor(e){super(e),this._pendingPromises=new n,this._fetchFeaturesController=null,this._highlightSelectedFeaturePromise=null,this._highlightActiveFeaturePromise=null,this._selectedClusterFeature=null,this.actions=new C,this.activeFeature=null,this.autoCloseEnabled=!1,this.browseClusterEnabled=!1,this.content=null,this.defaultPopupTemplateEnabled=!1,this.featurePage=null,this.featuresPerPage=20,this.featureMenuOpen=!1,this.featureViewModelAbilities=null,this.featureViewModels=[],this.highlightEnabled=!0,this.includeDefaultActions=!0,this.selectedClusterBoundaryFeature=new t({symbol:new R({outline:{width:1.5,color:\"cyan\"},style:\"none\"})}),this.title=null,this.updateLocationEnabled=!1,this.view=null,this.visible=!1,this.zoomFactor=4,this.zoomToLocation=null,this._debouncedLocationUpdate=o((async e=>{const{spatialReference:t}=this,i=this.selectedFeature?.geometry?.type,s=this.location??e;if(i&&\"mesh\"!==i&&t&&s&&this.selectedFeature)if(\"point\"!==i)try{const e=this.selectedFeature;let i=e.geometry;const r=this._getHighlightLayer(e),o=e.getObjectId();if(!r||!this.view)return;if(o){const e=this.view?.allLayerViews.find((e=>e.layer.uid===r.uid));if(!e||!(\"queryFeatures\"in e))return;const s=e.createQuery();s.outSpatialReference=t,s.objectIds=[o],s.returnGeometry=!0;const{features:a}=await e.queryFeatures(s);i=a[0]?.geometry}if(!i||\"mesh\"===i.type)return;if(i=g(i,t),G||(G=await import(\"../../geometry/geometryEngineAsync.js\")),!await G.intersects(i,s)){const t=(await G.nearestCoordinate(i,s)).coordinate??s;this.selectedFeature===e&&(this.location=t)}}catch(o){a(o)||r.getLogger(this).error(o)}else this.location=m(this.selectedFeature.geometry)??s}))}initialize(){this.addHandles([this.on(\"view-change\",(()=>this._autoClose())),l((()=>[this.highlightEnabled,this.selectedFeature,this.visible,this.view]),(()=>this._highlightSelectedFeature())),l((()=>[this.highlightEnabled,this.activeFeature,this.visible,this.view]),(()=>this._highlightActiveFeature())),l((()=>this.view?.animation?.state),(e=>this._animationStateChange(e))),l((()=>this.location),(e=>this._locationChange(e))),l((()=>this.selectedFeature),(e=>this._selectedFeatureChange(e))),l((()=>[this.selectedFeatureIndex,this.featureCount,this.featuresPerPage]),(()=>this._selectedFeatureIndexChange())),l((()=>[this.featurePage,this.selectedFeatureIndex,this.featureCount,this.featuresPerPage,this.featureViewModels]),(()=>this._setGraphicOnFeatureViewModels())),l((()=>this.featureViewModels),(()=>this._featureViewModelsChange())),this.on(\"trigger-action\",(e=>M({event:e,viewModel:this,view:this.view}))),u((()=>!this.waitingForResult),(()=>this._waitingForResultChange()),h),l((()=>[this.features,this.map,this.spatialReference,this.timeZone]),(()=>this._updateFeatureVMs())),l((()=>this.view?.scale),(()=>this._viewScaleChange())),u((()=>!this.visible),(()=>this.browseClusterEnabled=!1)),l((()=>this.browseClusterEnabled),(e=>e?this.enableClusterBrowsing():this.disableClusterBrowsing()))])}destroy(){this._cancelFetchingFeatures(),this._pendingPromises.clear(),this.browseClusterEnabled=!1,this.view=null,this.map=null,this.spatialReference=null,this.timeZone=null}get active(){return!(!this.visible||this.waitingForResult)}get allActions(){const e=this._get(\"allActions\")||new C;e.removeAll();const{actions:t,defaultActions:i,defaultPopupTemplateEnabled:s,includeDefaultActions:r,selectedFeature:o}=this,a=r?i.concat(t):t,n=o&&(\"function\"==typeof o.getEffectivePopupTemplate&&o.getEffectivePopupTemplate(s)||o.popupTemplate),l=n?.actions,u=n?.overwriteActions?l:l?.concat(a)??a;return u?.filter(Boolean).forEach((t=>e.add(t))),e}get defaultActions(){const e=this._get(\"defaultActions\")||new C;return e.removeAll(),e.addMany(A(this.selectedFeature)?U():B()),e}get featureCount(){return this.features.length}set features(e){const t=e||[];this._set(\"features\",t);const{pendingPromisesCount:i,promiseCount:s,selectedFeatureIndex:r}=this,o=s&&t.length;o&&i&&-1===r?this.selectedFeatureIndex=0:o&&-1!==r||(this.selectedFeatureIndex=t.length?0:-1)}set location(e){let t=e;const i=this.spatialReference?.isWebMercator,s=e?.spatialReference?.isWGS84;s&&i&&(t=f(e)),this._set(\"location\",t)}get map(){return this.view?.map??null}set map(e){this._override(\"map\",e)}get pendingPromisesCount(){return this._pendingPromises.size}get promiseCount(){return this.promises.length}get promises(){return this._get(\"promises\")||[]}set promises(e){this._pendingPromises.clear(),this.features=[],Array.isArray(e)&&e.length?(this._set(\"promises\",e),(e=e.slice()).forEach((e=>this._pendingPromises.add(e))),e.reduce(((e,t)=>e.finally((()=>t.then((e=>{this._pendingPromises.has(t)&&this._updateFeatures(e)})).finally((()=>this._pendingPromises.delete(t))).catch((()=>{}))))),Promise.resolve())):this._set(\"promises\",[])}get selectedFeature(){const{features:e,selectedFeatureIndex:t}=this;if(-1===t)return null;return e[t]||null}get selectedFeatureIndex(){const e=this._get(\"selectedFeatureIndex\");return\"number\"==typeof e?e:-1}set selectedFeatureIndex(e){const{featureCount:t}=this;e=isNaN(e)||e<-1||!t?-1:(e+t)%t,this.activeFeature=null,this._set(\"selectedFeatureIndex\",e)}get selectedFeatureViewModel(){return this.featureViewModels[this.selectedFeatureIndex]||null}get spatialReference(){return this.view?.spatialReference??null}set spatialReference(e){this._override(\"spatialReference\",e)}get state(){const{view:e,map:t}=this;return e?e.ready?\"ready\":\"disabled\":t?\"ready\":\"disabled\"}get timeZone(){return this.view?.timeZone??v}set timeZone(e){this._overrideIfSome(\"timeZone\",e)}get waitingForContents(){return this.featureViewModels.some((e=>e.waitingForContent))}get waitingForResult(){return!(!(!!this._fetchFeaturesController||this.pendingPromisesCount>0)||0!==this.featureCount)}centerAtLocation(){const{view:e}=this,t=S(this);return t&&e?this.callGoTo({target:{target:t,scale:e.scale}}):Promise.reject(new s(\"center-at-location:invalid-target-or-view\",\"Cannot center at a location without a target and view.\",{target:t,view:e}))}zoomTo(e){return this.callGoTo(e)}clear(){this.set({promises:[],features:[],content:null,title:null,location:null,activeFeature:null})}fetchFeatures(e,t){const{view:i}=this;if(!i||!e)throw new s(\"fetch-features:invalid-screenpoint-or-view\",\"Cannot fetch features without a screenPoint and view.\",{screenPoint:e,view:i});return i.fetchPopupFeatures(e,{pointerType:t?.event?.pointerType,defaultPopupTemplateEnabled:this.defaultPopupTemplateEnabled,signal:t?.signal})}open(e){const t={updateLocationEnabled:!1,promises:[],fetchFeatures:!1,...e,visible:!0},{fetchFeatures:i}=t;delete t.fetchFeatures,i&&this._setFetchFeaturesPromises(t.location);const s=[\"actionsMenuOpen\",\"collapsed\"];for(const r of s)delete t[r];this.set(t)}triggerAction(e){const t=this.allActions.at(e);t&&!t.disabled&&this.emit(\"trigger-action\",{action:t})}next(){return this.selectedFeatureIndex++,this}previous(){return this.selectedFeatureIndex--,this}disableClusterBrowsing(){L(this),this._clearBrowsedClusterGraphics()}async enableClusterBrowsing(){const{view:e,selectedFeature:t}=this;\"2d\"===e?.type?A(t)?(await V(this),await I(this)):r.getLogger(this).warn(\"enableClusterBrowsing:invalid-selectedFeature: Selected feature must represent an aggregate/cluster graphic.\",t):r.getLogger(this).warn(\"enableClusterBrowsing:invalid-view: View must be 2d MapView.\",t)}handleViewClick(e){this._fetchFeaturesAndOpen(e)}_animationStateChange(e){this.zoomToLocation||(P.disabled=\"waiting-for-target\"===e)}_clearBrowsedClusterGraphics(){const e=[this.selectedClusterBoundaryFeature,this._selectedClusterFeature].filter(i);this.view?.graphics?.removeMany(e),this._selectedClusterFeature=null,this.selectedClusterBoundaryFeature.geometry=null}_viewScaleChange(){if(A(this.selectedFeature))return this.browseClusterEnabled=!1,this.visible=!1,void this.clear();this.browseClusterEnabled&&(this.features=this.selectedFeature?[this.selectedFeature]:[])}_locationChange(e){const{selectedFeature:t,updateLocationEnabled:i,view:s}=this;s&&i&&e&&(!t||t.geometry)&&this.centerAtLocation()}_selectedFeatureIndexChange(){this.featurePage=this.featureCount>1?Math.floor(this.selectedFeatureIndex/this.featuresPerPage)+1:null}_featureViewModelsChange(){this.featurePage=this.featureCount>1?1:null}_setGraphicOnFeatureViewModels(){const{features:e,featureCount:t,featurePage:i,featuresPerPage:s,featureViewModels:r}=this;if(null===i)return;const o=((i-1)*s+t)%t,a=o+s;r.slice(o,a).forEach(((t,i)=>{t&&(t.graphic??=e[o+i])}))}async _selectedFeatureChange(e){const{location:t,updateLocationEnabled:i,view:s}=this;if(!e||!s)return;if(this.browseClusterEnabled){if(this._selectedClusterFeature&&(s.graphics.remove(this._selectedClusterFeature),this._selectedClusterFeature=null),A(e))return;return e.symbol=await F(e),this._selectedClusterFeature=e,void s.graphics.add(this._selectedClusterFeature)}const r=e.sourceLayer?.type;if(\"map-image\"!==r&&\"imagery\"!==r&&\"imagery-tile\"!==r||(e.symbol=await F(e)),!i&&t||!e.geometry){if(i&&!e.geometry){await this.centerAtLocation();const e=s.center?.clone();e&&(this.location=e)}}else this.location=m(e.geometry)}_waitingForResultChange(){!this.featureCount&&this.promises&&(this.visible=!1)}async _setFetchFeaturesPromises(e){const{pendingFeatures:t}=await this._fetchFeaturesWithController({mapPoint:e});this.promises=t}_destroyFeatureVMs(){this.featureViewModels.forEach((e=>e&&!e.destroyed&&e.destroy())),this._set(\"featureViewModels\",[])}_updateFeatureVMs(){const{selectedFeature:e,features:t,featureViewModels:i,view:s,spatialReference:r,map:o,timeZone:a,location:n}=this;if(A(e)||(this.browseClusterEnabled=!1),this._destroyFeatureVMs(),!t?.length)return;const l=i.slice(),u=[];t.forEach(((t,i)=>{if(!t)return;let h=null;if(l.some(((e,i)=>(e&&e.graphic===t&&(h=e,l.splice(i,1)),!!h))),h)u[i]=h;else{const l=new b({abilities:this.featureViewModelAbilities,defaultPopupTemplateEnabled:this.defaultPopupTemplateEnabled,spatialReference:r,graphic:t===e?t:null,location:n,map:o,view:s,timeZone:a});u[i]=l}})),l.forEach((e=>e&&!e.destroyed&&e.destroy())),this._set(\"featureViewModels\",u)}async _getScreenPoint(e,t){const{spatialReference:i,view:s}=this;if(!s)return null;await(s?.when());const r=e?.spatialReference;return r&&i?(await p(r,i,null,t),s.toScreen(e)):null}_cancelFetchingFeatures(){const e=this._fetchFeaturesController;e&&e.abort(),this._fetchFeaturesController=null}async _projectScreenPointAndFetchFeatures({mapPoint:e,screenPoint:t,event:i,signal:s}){return this.fetchFeatures(t??await this._getScreenPoint(e??this.location,{signal:s}),{signal:s,event:i})}_fetchFeaturesWithController({mapPoint:e,screenPoint:t,event:i}){this._cancelFetchingFeatures();const s=new AbortController,{signal:r}=s;this._fetchFeaturesController=s;const o=this._projectScreenPointAndFetchFeatures({mapPoint:e,screenPoint:t,signal:r,event:i});return o.catch((()=>{})).then((()=>{this._fetchFeaturesController=null})),o}async _fetchFeaturesAndOpen(e){const{mapPoint:t,screenPoint:i}=e,{view:s}=this;this.removeHandles(H),this.addHandles([l((()=>this.view?.scale),(()=>this._debouncedLocationUpdate(t).catch((e=>{a(e)||r.getLogger(this).error(e)})))),u((()=>!this.visible),(()=>{this.removeHandles(H)}),{once:!0})],H);const{pendingFeatures:o}=await this._fetchFeaturesWithController({mapPoint:t,screenPoint:i,event:e});s?.popup&&\"open\"in s.popup&&s.popup.open({location:t??void 0,promises:o})}_autoClose(){this.autoCloseEnabled&&(this.visible=!1)}async _getLayerView(e,t){return await e.when(),e.whenLayerView(t)}_getHighlightLayer(e){const{layer:t,sourceLayer:i}=e;return i&&\"layer\"in i&&i.layer?i.layer:\"map-notes\"===i?.type||\"subtype-group\"===i?.type?i:t}_getHighlightTarget(e,t,i){if(Z(t.type,i))return e;const s=e.getObjectId();if(null!=s)return s;const r=\"imagery\"===t.type?void 0:\"objectIdField\"in t?t.objectIdField||w:null,o=e.attributes;return o&&r&&o[r]||e}_mapIncludesLayer(e){return!!this.map?.allLayers?.includes(e)}async _highlightActiveFeature(){const e=\"highlight-active-feature\";this.removeHandles(e);const{highlightEnabled:t,view:i,activeFeature:s,visible:r}=this;if(!(s&&i&&t&&r))return;const o=this._getHighlightLayer(s);if(!(o&&o instanceof y&&this._mapIncludesLayer(o)))return;const a=this._getLayerView(i,o);this._highlightActiveFeaturePromise=a;const n=await a;if(!(n&&_(n)&&this._highlightActiveFeaturePromise===a&&this.activeFeature&&this.highlightEnabled))return;const l=n.highlight(this._getHighlightTarget(s,o,i.type));this.addHandles(l,e)}async _highlightSelectedFeature(){const e=\"highlight-selected-feature\";this.removeHandles(e);const{selectedFeature:t,highlightEnabled:i,view:s,visible:r}=this;if(!(t&&s&&i&&r))return;const o=this._getHighlightLayer(t);if(!(o&&o instanceof y&&this._mapIncludesLayer(o)))return;const a=this._getLayerView(s,o);this._highlightSelectedFeaturePromise=a;const n=await a;if(!(n&&_(n)&&this._highlightSelectedFeaturePromise===a&&this.selectedFeature&&this.highlightEnabled&&this.visible))return;const l=n.highlight(this._getHighlightTarget(t,o,s.type));this.addHandles(l,e)}_updateFeatures(e){const{features:t}=this,i=e.filter((e=>!t.includes(e)));i?.length&&(this.features=t.concat(i))}};e([c()],z.prototype,\"_fetchFeaturesController\",void 0),e([c({type:C})],z.prototype,\"actions\",void 0),e([c({readOnly:!0})],z.prototype,\"active\",null),e([c()],z.prototype,\"activeFeature\",void 0),e([c({readOnly:!0})],z.prototype,\"allActions\",null),e([c()],z.prototype,\"autoCloseEnabled\",void 0),e([c()],z.prototype,\"browseClusterEnabled\",void 0),e([c()],z.prototype,\"content\",void 0),e([c({type:C,readOnly:!0})],z.prototype,\"defaultActions\",null),e([c({type:Boolean})],z.prototype,\"defaultPopupTemplateEnabled\",void 0),e([c({readOnly:!0})],z.prototype,\"featureCount\",null),e([c()],z.prototype,\"featurePage\",void 0),e([c({value:[]})],z.prototype,\"features\",null),e([c()],z.prototype,\"featuresPerPage\",void 0),e([c()],z.prototype,\"featureMenuOpen\",void 0),e([c()],z.prototype,\"featureViewModelAbilities\",void 0),e([c({readOnly:!0})],z.prototype,\"featureViewModels\",void 0),e([c()],z.prototype,\"highlightEnabled\",void 0),e([c()],z.prototype,\"includeDefaultActions\",void 0),e([c({type:x})],z.prototype,\"location\",null),e([c()],z.prototype,\"map\",null),e([c({readOnly:!0})],z.prototype,\"pendingPromisesCount\",null),e([c({readOnly:!0})],z.prototype,\"promiseCount\",null),e([c()],z.prototype,\"promises\",null),e([c({readOnly:!0})],z.prototype,\"selectedClusterBoundaryFeature\",void 0),e([c({value:null,readOnly:!0})],z.prototype,\"selectedFeature\",null),e([c({value:-1})],z.prototype,\"selectedFeatureIndex\",null),e([c({readOnly:!0})],z.prototype,\"selectedFeatureViewModel\",null),e([c({readOnly:!0})],z.prototype,\"state\",null),e([c()],z.prototype,\"timeZone\",null),e([c()],z.prototype,\"title\",void 0),e([c()],z.prototype,\"updateLocationEnabled\",void 0),e([c()],z.prototype,\"view\",void 0),e([c()],z.prototype,\"visible\",void 0),e([c({readOnly:!0})],z.prototype,\"waitingForContents\",null),e([c({readOnly:!0})],z.prototype,\"waitingForResult\",null),e([c()],z.prototype,\"zoomFactor\",void 0),e([c()],z.prototype,\"zoomToLocation\",void 0),e([c()],z.prototype,\"centerAtLocation\",null),z=e([d(\"esri.widgets.Features.FeaturesViewModel\")],z);const W=z;export{W as default};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{_ as o}from\"../../chunks/tslib.es6.js\";import e from\"../../core/Accessor.js\";import{property as t}from\"../../core/accessorSupport/decorators/property.js\";import\"../../core/has.js\";import\"../../core/Logger.js\";import\"../../core/RandomLCG.js\";import{subclass as r}from\"../../core/accessorSupport/decorators/subclass.js\";let s=class extends e{constructor(){super(...arguments),this.actionBar=!0,this.closeButton=!0,this.collapseButton=!1,this.featureNavigation=!0,this.featureListLayerTitle=!0,this.flow=!0,this.heading=!0,this.spinner=!0}};o([t({type:Boolean,nonNullable:!0})],s.prototype,\"actionBar\",void 0),o([t({type:Boolean,nonNullable:!0})],s.prototype,\"closeButton\",void 0),o([t({type:Boolean,nonNullable:!0})],s.prototype,\"collapseButton\",void 0),o([t({type:Boolean,nonNullable:!0})],s.prototype,\"featureNavigation\",void 0),o([t({type:Boolean,nonNullable:!0})],s.prototype,\"featureListLayerTitle\",void 0),o([t({type:Boolean,nonNullable:!0})],s.prototype,\"flow\",void 0),o([t({type:Boolean,nonNullable:!0})],s.prototype,\"heading\",void 0),o([t({type:Boolean,nonNullable:!0})],s.prototype,\"spinner\",void 0),s=o([r(\"esri.widgets.Features.FeaturesVisibleElements\")],s);const l=s;export{l as default};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nconst e=\"esri-features\",n={icon:`${e}__icon`,actionImage:`${e}__action-image`,base:e,container:`${e}__container`,contentContainer:`${e}__content-container`,contentFeature:`${e}__content-feature`,flowItemCollapsed:`${e}__flow-item--collapsed`,header:`${e}__header`,footer:`${e}__footer`,featureMenuObserver:`${e}__feature-menu-observer`,actionExit:`${e}__action--exit`,loader:`${e}__loader`,featuresHeading:`${e}__heading`,paginationActionBar:`${e}__pagination-action-bar`,paginationPrevious:`${e}__pagination-previous`,paginationNext:`${e}__pagination-next`};export{n as css};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{_ as e}from\"../chunks/tslib.es6.js\";import t from\"../core/Collection.js\";import{deprecatedProperty as i}from\"../core/deprecate.js\";import{IdentifiableMixin as o}from\"../core/Identifiable.js\";import s from\"../core/Logger.js\";import l from\"../core/ReactiveMap.js\";import{on as r,initial as a}from\"../core/reactiveUtils.js\";import{property as n}from\"../core/accessorSupport/decorators/property.js\";import\"../core/has.js\";import\"../core/RandomLCG.js\";import{subclass as d}from\"../core/accessorSupport/decorators/subclass.js\";import c from\"./Widget.js\";import{css as p}from\"./LayerList/css.js\";import m from\"./LayerList/LayerListItem.js\";import h from\"./LayerList/LayerListViewModel.js\";import u from\"./LayerList/LayerListVisibleElements.js\";import y from\"./LayerList/ListItem.js\";import{minDragEnabledItems as g,minFilterItems as f,getItem as L,getLayerType as _,sortLayersToIds as v,sortChildLayersToIds as I}from\"./LayerList/support/layerListUtils.js\";import{loadCalciteComponents as b}from\"./support/componentsUtils.js\";import{globalCss as w}from\"./support/globalCss.js\";import{calciteListFilterProps as E}from\"./support/listUtils.js\";import{setFocus as C}from\"./support/widgetUtils.js\";import{messageBundle as F}from\"./support/decorators/messageBundle.js\";import{vmEvent as M}from\"./support/decorators/vmEvent.js\";import{tsx as O}from\"./support/jsxFactory.js\";const T=t.ofType(y);let j=class extends(o(c)){constructor(e,i){super(e,i),this._activeItem=null,this._tooltipReferenceMap=new l,this._focusRootFlowItem=!1,this._focusPanelFlowItem=!1,this._focusLayerFlowItem=null,this._layerListMap=new l,this._lastDragDetail=null,this._selectedDragItemLayerUid=null,this._rootGroupUid=`operational-${this.uid}`,this._openedLayersController=null,this.catalogLayerList=null,this.catalogOptions=null,this.collapsed=!1,this.dragEnabled=!1,this.filterPlaceholder=\"\",this.filterText=\"\",this.headingLevel=2,this.knowledgeGraphOptions=null,this.layerTablesEnabled=new t([\"knowledge-graph\"]),this.listItemCanGiveFunction=null,this.listItemCanReceiveFunction=null,this.mapImageOptions=null,this.messages=null,this.messagesCommon=null,this.minDragEnabledItems=g,this.minFilterItems=f,this.openedLayers=new t,this.openedLayerLists=new t,this.selectedItems=new T,this.selectionMode=\"none\",this.tableList=null,this.tileOptions=null,this.viewModel=new h,this.visibilityAppearance=\"default\",this.visibleElements=new u,this._canMove=({dragEl:e,fromEl:t,toEl:i},o)=>{const s=\"pull\"===o?this.listItemCanGiveFunction:this.listItemCanReceiveFunction,l=L(e);if(!l?.sortable)return!1;const r=L(t),a=_(t),n=L(i),d=_(i),c=!!a&&!!d&&a===d,p={selected:l,from:r,to:n},m=t.group,h=i.group,u=r?.layer?.type??\"\",y=n?.layer?.type??\"\",g=new Set([\"map-image\",\"catalog\",\"knowledge-graph\"]),f=\"sublayer\";return m&&h&&\"function\"==typeof s?s.call(null,p):c&&!g.has(u)&&!g.has(y)&&l?.layer?.type!==f},this._onCatalogOpen=e=>{this.openedLayers.push(e.layer.parent),this._focusLayerFlowItem=e.layer.uid},this._onTablesOpen=e=>{this.openedLayers.push(e.layer),this._focusLayerFlowItem=e.layer.uid},this._onPanelOpen=()=>{this._focusPanelFlowItem=!0},this._onSelectedDragItemLayerUidChange=e=>{this._selectedDragItemLayerUid=e},this._onTooltipReferenceChange=(e,t)=>{t?this._tooltipReferenceMap.set(e,t):this._tooltipReferenceMap.delete(e)},this._onTriggerAction=(e,t)=>{this.triggerAction(e,t)},this._clearActiveItem=()=>{this._activeItem=null},this._setActiveItem=e=>{if(\"default\"!==this.visibilityAppearance)return;const t=Array.from(e.composedPath()).find((e=>e.classList?.contains(p.item)));this._activeItem=L(t)},this._onCalciteListOrderChange=e=>{const{_lastDragDetail:t}=this,{toEl:i,fromEl:o,dragEl:s,newIndex:l}=e;if(o&&i&&!(t?.newIndex===l&&t?.dragEl===s&&t?.toEl===i&&t?.fromEl===o))if(this._lastDragDetail=e,o!==i)this._moveLayerFromChildList({toEl:i,fromEl:o,dragEl:s,newIndex:l});else{const e=Array.from(o.children).filter((e=>e?.matches(\"calcite-list-item\"))).map((e=>e.value));this._sortLayers(o,e)}}}initialize(){this.addHandles(r((()=>this.openedLayers),\"change\",(()=>this._handleOpenedLayersChange()),a))}loadDependencies(){return b({button:()=>import(\"@esri/calcite-components/dist/components/calcite-button.js\"),flow:()=>import(\"@esri/calcite-components/dist/components/calcite-flow.js\"),\"flow-item\":()=>import(\"@esri/calcite-components/dist/components/calcite-flow-item.js\"),list:()=>import(\"@esri/calcite-components/dist/components/calcite-list.js\"),notice:()=>import(\"@esri/calcite-components/dist/components/calcite-notice.js\"),tooltip:()=>import(\"@esri/calcite-components/dist/components/calcite-tooltip.js\")})}destroy(){this._destroyOpenedLayerLists(),this._tooltipReferenceMap.clear()}get _totalItems(){return this.viewModel.operationalItems.flatten((e=>e.children.filter((e=>\"catalog-dynamic-group\"!==e.layer.type)))).length}get _dragEnabled(){return this._totalItems>=this.minDragEnabledItems&&this.dragEnabled}get _filterEnabled(){return this._totalItems>=this.minFilterItems&&this.visibleElements.filter}get _renderedOpenLayerFlowItems(){return this.openedLayers.toArray().map((e=>this._renderLayerFlowItem(e)))}get icon(){return\"layers\"}set icon(e){this._overrideIfSome(\"icon\",e)}get label(){return this.messages?.widgetLabel??\"\"}set label(e){this._overrideIfSome(\"label\",e)}get listItemCreatedFunction(){return this.viewModel.listItemCreatedFunction}set listItemCreatedFunction(e){this.viewModel.listItemCreatedFunction=e}get multipleSelectionEnabled(){return i(s.getLogger(this),\"multipleSelectionEnabled\",{replacement:\"selectionMode\",version:\"4.29\",warnOnce:!0}),\"multiple\"===this.selectionMode}set multipleSelectionEnabled(e){i(s.getLogger(this),\"multipleSelectionEnabled\",{replacement:\"selectionMode\",version:\"4.29\",warnOnce:!0}),this.selectionMode=e?\"multiple\":this.selectionEnabled?\"single\":\"none\"}get operationalItems(){return this.viewModel.operationalItems}set operationalItems(e){this.viewModel.operationalItems=e}get selectionEnabled(){return i(s.getLogger(this),\"selectionEnabled\",{replacement:\"selectionMode, dragEnabled\",version:\"4.29\",warnOnce:!0}),\"none\"!==this.selectionMode&&this.dragEnabled}set selectionEnabled(e){i(s.getLogger(this),\"selectionEnabled\",{replacement:\"selectionMode, dragEnabled\",version:\"4.29\",warnOnce:!0}),this.dragEnabled=e,this.selectionMode=e?this.multipleSelectionEnabled?\"multiple\":\"single\":\"none\"}get view(){return this.viewModel.view}set view(e){this.viewModel.view=e}triggerAction(e,t){return this.viewModel.triggerAction(e,t)}render(){const e=this.viewModel?.state,t={[w.hidden]:\"loading\"===e,[w.disabled]:\"disabled\"===e},i=this.operationalItems?.filter((e=>!e.hidden&&(this.visibleElements.errors||!e.error)));return O(\"div\",{class:this.classes(p.base,w.widget,w.panel,t)},i?.length?[this._renderItemTooltips(i),this._renderItems(i)]:this._renderNoItems())}async _createFlowList(e,t){const{_layerListMap:i}=this,o=i.get(e);if(o)return o;const s=\"catalog\"===e.type?await this._createCatalogLayerList(e):await this._createTableList(e);return t.aborted||i.set(e,s),s}async _handleOpenedLayersChange(){const{_layerListMap:e,openedLayers:t,openedLayerLists:i}=this;this._openedLayersController?.abort();const o=new AbortController,{signal:s}=o;this._openedLayersController=o,e.forEach(((i,o)=>{t.includes(o)||(i.destroy(),e.delete(o))}));const l=await Promise.all(t.map((e=>this._createFlowList(e,s))));if(s.aborted)return;i.removeAll(),i.addMany(l);const r=i.at(-1);r?\"catalogLayer\"in r?(this._set(\"catalogLayerList\",r),this._set(\"tableList\",null)):(this._set(\"catalogLayerList\",null),this._set(\"tableList\",r)):(this._set(\"catalogLayerList\",null),this._set(\"tableList\",null))}_destroyOpenedLayerLists(){this.openedLayerLists.destroyAll(),this.openedLayers.removeAll(),this._layerListMap.clear()}_renderItemTooltip(e){const{_tooltipReferenceMap:t,messages:i}=this;return e?O(\"calcite-tooltip\",{key:`tooltip-${e.layer.uid}`,referenceElement:t.get(e.layer.uid)},i.layerIncompatibleTooltip):null}_renderItemTooltipNodes(e){return e.incompatible?this._renderItemTooltip(e):e.children?.filter((e=>!e.hidden)).toArray().map((e=>this._renderItemTooltipNodes(e)))}_renderItemTooltips(e){return e?.toArray().map((e=>this._renderItemTooltipNodes(e)))}_renderNoItemsMessage(){return O(\"div\",{slot:\"message\"},this.messages.noItemsToDisplay)}_renderNoItems(){return O(\"div\",{class:p.itemMessage,key:\"esri-layer-list__no-items\"},O(\"calcite-notice\",{icon:\"information\",kind:\"info\",open:!0,width:\"full\"},this._renderNoItemsMessage()))}async _createCatalogLayerList(e){const{default:t}=await import(\"./CatalogLayerList.js\"),{headingLevel:i,catalogOptions:o,view:s,filterPlaceholder:l,listItemCreatedFunction:r,minFilterItems:a,selectionMode:n,visibilityAppearance:d,_onCatalogOpen:c,_onTablesOpen:p,layerTablesEnabled:m}=this;return new t({headingLevel:i,view:s,filterPlaceholder:l,listItemCreatedFunction:r,minFilterItems:a,selectionMode:n,visibilityAppearance:d,...o,catalogLayer:e,layerTablesEnabled:m,onCatalogOpen:c,onTablesOpen:p})}_getTableListParams(e){switch(e.type){case\"knowledge-graph\":return{...this.knowledgeGraphOptions,tables:e.tables};case\"map-image\":return{...this.mapImageOptions,tables:e.subtables};case\"tile\":return{...this.tileOptions,tables:e.subtables};default:return null}}async _createTableList(e){const{default:t}=await import(\"./TableList.js\"),{headingLevel:i,selectionMode:o,dragEnabled:s}=this;return new t({headingLevel:i,selectionMode:o,dragEnabled:s,...this._getTableListParams(e)})}_renderLayerFlowItem(e){const{messages:t,openedLayers:i}=this,o=e.title||this.messages.untitledLayer;return O(\"calcite-flow-item\",{afterCreate:this._focusLayerFlowItemNode,afterUpdate:this._focusLayerFlowItemNode,bind:this,\"data-layer-uid\":e.uid,description:o,heading:t[\"catalog\"===e.type?\"catalogLayers\":\"tables\"],headingLevel:this.headingLevel,key:`flow-layer-list-${e.uid}`,onCalciteFlowItemBack:e=>{e.preventDefault(),i.pop();const t=i.at(-1);t?this._focusLayerFlowItem=t.uid:this._focusRootFlowItem=!0}},this._layerListMap.get(e)?.render())}_renderPanelFlowItems(e){return e?e.flatten((e=>e.children)).filter((({hidden:e,panel:t})=>!e&&t?.open&&!t.disabled&&t.flowEnabled)).toArray().map((({title:e,panel:t})=>{const i=()=>this._handlePanelFlowItemBack(t);return O(\"calcite-flow-item\",{afterCreate:this._focusPanelFlowItemNode,afterUpdate:this._focusPanelFlowItemNode,bind:this,description:e,heading:t.title,headingLevel:this.headingLevel,key:`flow-panel-${t.uid}`,onCalciteFlowItemBack:e=>{e.preventDefault(),i()}},t.render(),O(\"calcite-button\",{appearance:\"transparent\",onclick:i,slot:\"footer-actions\",width:\"full\"},this.messagesCommon.back))})):[]}_handlePanelFlowItemBack(e){e.open=!1,this._focusRootFlowItem=!0}_focusRootFlowItemNode(e){this._focusRootFlowItem&&(this._focusRootFlowItem=!1,C(e))}_focusLayerFlowItemNode(e){this._focusLayerFlowItem===e.dataset.layerUid&&(this._focusLayerFlowItem=null,C(e))}_focusPanelFlowItemNode(e){this._focusPanelFlowItem&&(this._focusPanelFlowItem=!1,C(e))}_renderItems(e){const{visible:t,collapsed:i,_filterEnabled:o,_rootGroupUid:s,visibleElements:{closeButton:l,collapseButton:r,heading:a,flow:n},_dragEnabled:d,selectionMode:c,filterText:m,filterPlaceholder:h,messages:u}=this,y=[O(\"calcite-flow-item\",{afterCreate:this._focusRootFlowItemNode,afterUpdate:this._focusRootFlowItemNode,bind:this,closable:l,closed:!t,collapsed:i,collapsible:r,heading:a?u.widgetLabel:void 0,headingLevel:this.headingLevel,key:\"root-flow-item\",onCalciteFlowItemClose:()=>this.visible=!1},O(\"calcite-list\",{afterCreate:e=>{e.addEventListener(\"focusin\",this._setActiveItem),e.addEventListener(\"focusout\",this._clearActiveItem)},afterRemoved:e=>{e.removeEventListener(\"focusin\",this._setActiveItem),e.removeEventListener(\"focusout\",this._clearActiveItem)},canPull:e=>this._canMove(e,\"pull\"),canPut:e=>this._canMove(e,\"put\"),\"data-layer-type\":s,dragEnabled:d,filterEnabled:o,filterPlaceholder:h,filterProps:E,filterText:o?m:\"\",group:s,key:\"root-list\",label:u.widgetLabel,onmouseleave:this._clearActiveItem,onmouseover:this._setActiveItem,selectionAppearance:\"border\",selectionMode:c,onCalciteListChange:e=>this._handleCalciteListChange(e),onCalciteListDragEnd:e=>this._handleCalciteListDragEnd(e.detail),onCalciteListFilter:e=>this.filterText=e.target?.filterText??\"\",onCalciteListOrderChange:e=>this._onCalciteListOrderChange(e.detail)},e?.toArray().map((e=>this._renderItem(e))),e?.length&&o?O(\"div\",{class:p.filterNoResults,slot:\"filter-no-results\"},O(\"calcite-notice\",{kind:\"info\",open:!0,width:\"full\"},this._renderNoItemsMessage())):null)),this._renderPanelFlowItems(e),this._renderedOpenLayerFlowItems];return t?n?O(\"calcite-flow\",{key:\"root-flow\"},y):y:null}_renderItem(e,t,i){return O(m,{activeItem:this._activeItem,canMove:this._canMove,css:p,dragEnabled:this.dragEnabled,item:e,key:`layerListItem-${e.layer.uid}`,layerTablesEnabled:this.layerTablesEnabled,listModeDisabled:this.viewModel.listModeDisabled,messages:this.messages,messagesCommon:this.messagesCommon,parent:t,parentTitles:i,rootGroupUid:this._rootGroupUid,selectedDragItemLayerUid:this._selectedDragItemLayerUid,selectedItems:this.selectedItems,selectionMode:this.selectionMode,visibilityAppearance:this.visibilityAppearance,visibleElements:this.visibleElements,onAction:this._onTriggerAction,onCatalogOpen:this._onCatalogOpen,onPanelOpen:this._onPanelOpen,onSelectedDragItemLayerUidChange:this._onSelectedDragItemLayerUidChange,onTablesOpen:this._onTablesOpen,onTooltipReferenceChange:this._onTooltipReferenceChange})}_moveLayerFromChildList({toEl:e,fromEl:t,dragEl:i,newIndex:o}){const s=L(i),l=L(e),r=L(t);this.viewModel.moveListItem(s,r,l,o)}_handleCalciteListDragEnd(e){const{fromEl:t,dragEl:i,oldIndex:o}=e;t.insertBefore(i,t.children[o])}_sortLayers(e,t){if(e)if(e.group===this._rootGroupUid)v(this.view?.map?.layers,t);else{const i=L(e);if(!i)return;I(i,t)}}_handleCalciteListChange(e){const{selectionMode:t,selectedItems:i}=this;if(\"none\"===t)return;const o=e.target.selectedItems.map((e=>L(e))).filter(Boolean);i.removeAll(),i.addMany(o)}};e([n()],j.prototype,\"_activeItem\",void 0),e([n()],j.prototype,\"_tooltipReferenceMap\",void 0),e([n()],j.prototype,\"_focusRootFlowItem\",void 0),e([n()],j.prototype,\"_focusPanelFlowItem\",void 0),e([n()],j.prototype,\"_focusLayerFlowItem\",void 0),e([n()],j.prototype,\"_layerListMap\",void 0),e([n()],j.prototype,\"_totalItems\",null),e([n()],j.prototype,\"_dragEnabled\",null),e([n()],j.prototype,\"_filterEnabled\",null),e([n()],j.prototype,\"_renderedOpenLayerFlowItems\",null),e([n({readOnly:!0})],j.prototype,\"catalogLayerList\",void 0),e([n()],j.prototype,\"catalogOptions\",void 0),e([n()],j.prototype,\"collapsed\",void 0),e([n()],j.prototype,\"dragEnabled\",void 0),e([n()],j.prototype,\"filterPlaceholder\",void 0),e([n()],j.prototype,\"filterText\",void 0),e([n()],j.prototype,\"headingLevel\",void 0),e([n()],j.prototype,\"icon\",null),e([n()],j.prototype,\"knowledgeGraphOptions\",void 0),e([n()],j.prototype,\"label\",null),e([n()],j.prototype,\"layerTablesEnabled\",void 0),e([n()],j.prototype,\"listItemCanGiveFunction\",void 0),e([n()],j.prototype,\"listItemCanReceiveFunction\",void 0),e([n()],j.prototype,\"listItemCreatedFunction\",null),e([n()],j.prototype,\"mapImageOptions\",void 0),e([n(),F(\"esri/widgets/LayerList/t9n/LayerList\")],j.prototype,\"messages\",void 0),e([n(),F(\"esri/t9n/common\")],j.prototype,\"messagesCommon\",void 0),e([n()],j.prototype,\"minDragEnabledItems\",void 0),e([n()],j.prototype,\"minFilterItems\",void 0),e([n()],j.prototype,\"multipleSelectionEnabled\",null),e([n({readOnly:!0})],j.prototype,\"openedLayers\",void 0),e([n({readOnly:!0})],j.prototype,\"openedLayerLists\",void 0),e([n()],j.prototype,\"operationalItems\",null),e([n()],j.prototype,\"selectionEnabled\",null),e([n()],j.prototype,\"selectedItems\",void 0),e([n()],j.prototype,\"selectionMode\",void 0),e([n({readOnly:!0})],j.prototype,\"tableList\",void 0),e([n()],j.prototype,\"tileOptions\",void 0),e([n()],j.prototype,\"view\",null),e([M(\"trigger-action\"),n({type:h})],j.prototype,\"viewModel\",void 0),e([n()],j.prototype,\"visibilityAppearance\",void 0),e([n({type:u,nonNullable:!0})],j.prototype,\"visibleElements\",void 0),j=e([d(\"esri.widgets.LayerList\")],j);const A=j;export{A as default};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{_ as e}from\"../../chunks/tslib.es6.js\";import{property as t}from\"../../core/accessorSupport/decorators/property.js\";import\"../../core/has.js\";import\"../../core/Logger.js\";import\"../../core/RandomLCG.js\";import{subclass as i}from\"../../core/accessorSupport/decorators/subclass.js\";import{isLayerFromCatalog as n}from\"../../layers/catalog/catalogUtils.js\";import{getActionIcon as o,getActionStyles as s}from\"../../support/actions/actionUtils.js\";import a from\"../Widget.js\";import{getStatusIcon as l,getVisibilityIcon as r,listItemHasChildren as c,areChildrenHidden as d,canSortSublayers as p,getSingleAction as m,getItem as g}from\"./support/layerListUtils.js\";import{loadCalciteComponents as u}from\"../support/componentsUtils.js\";import{tsx as h}from\"../support/jsxFactory.js\";import{setFocus as y}from\"../support/widgetUtils.js\";var b;let v=b=class extends a{constructor(e){super(e),this.dragEnabled=!1,this.listModeDisabled=!1,this.parent=null,this.parentTitles=null,this.viewModel=null,this._onActionMenuOpen=e=>{this.item.actionsOpen=e.target.open},this._setTooltipReference=e=>{this.onTooltipReferenceChange?.(this.item.layer.uid,e)},this._removeTooltipReference=()=>{this.onTooltipReferenceChange?.(this.item.layer.uid,null)}}loadDependencies(){return u({\"action-group\":()=>import(\"@esri/calcite-components/dist/components/calcite-action-group.js\"),\"action-menu\":()=>import(\"@esri/calcite-components/dist/components/calcite-action-menu.js\"),action:()=>import(\"@esri/calcite-components/dist/components/calcite-action.js\"),icon:()=>import(\"@esri/calcite-components/dist/components/calcite-icon.js\"),\"list-item\":()=>import(\"@esri/calcite-components/dist/components/calcite-list-item.js\"),list:()=>import(\"@esri/calcite-components/dist/components/calcite-list.js\"),notice:()=>import(\"@esri/calcite-components/dist/components/calcite-notice.js\")})}render(){const e=this.parentTitles??[],{_title:t,item:i,activeItem:n,selectedDragItemLayerUid:o,selectionMode:s,selectedItems:a,messages:l,parent:r,css:c}=this,d=\"visibleAtCurrentTimeExtent\"in i&&\"layerInvisibleAtTime\"in l&&!i.visibleAtCurrentTimeExtent?`${t} (${l.layerInvisibleAtTime})`:\"visibleAtCurrentScale\"in i&&\"layerInvisibleAtScale\"in l&&!i.visibleAtCurrentScale?`${t} (${l.layerInvisibleAtScale})`:t,p=\"parent\"in i&&\"catalog\"===i.parent?.layer?.type,{layer:m}=i,g=\"visibleAtCurrentScale\"in i&&!i.visibleAtCurrentScale||\"visibleAtCurrentTimeExtent\"in i&&!i.visibleAtCurrentTimeExtent;return h(\"calcite-list-item\",{afterCreate:e=>this._focusSelectedDragEl(e,i),afterUpdate:e=>this._focusSelectedDragEl(e,i),class:this.classes(c.item,\"itemActive\"in c&&{[c.itemActive]:n===i}),\"data-item\":i,\"data-layer-id\":m.id,dragDisabled:!i.sortable||p,dragSelected:m.uid===o,id:m.uid,key:`list-item-${m.uid}`,label:t,metadata:{parentTitles:e,_title:t},open:\"open\"in i&&i.open,selected:\"none\"!==s&&a.includes(i),title:d,unavailable:g,value:m.uid,onCalciteListItemDragHandleChange:e=>this._handleCalciteListItemDragHandleChange(e,i),onCalciteListItemSelect:e=>\"visible\"in i&&this._handleCalciteListItemSelect(e,i,r),onCalciteListItemToggle:e=>\"open\"in i&&this._handleCalciteListItemToggle(e,i)},this._renderedCatalogFootprintIcon,this._renderedCatalogDynamicIcon,h(\"div\",{class:this.classes(c.itemContent,\"itemInvisible\"in c&&{[c.itemInvisible]:g}),slot:\"content\"},t),this._renderedItemStatus,this._renderedItemToggle,this._renderedCatalogSelectNode,this._renderedItemTemporaryIcon,this._renderedChildList,this._renderedItemMessage,this._renderedPanel,this._renderedPanelAction,this._renderedActions)}get _title(){const{messages:e}=this;return this.item.title||(\"untitledTable\"in e?e.untitledTable:e.untitledLayer)}get _renderedItemStatus(){const{item:e,parent:t,visibleElements:i,css:n}=this;if(!i.statusIndicators)return null;const{publishing:o}=e,s=\"updating\"in e&&e.updating&&!t,a=\"connectionStatus\"in e?e.connectionStatus:void 0,r=!!a;return h(\"calcite-icon\",{class:this.classes(n.statusIndicator,{[n.publishing]:o},\"updating\"in n&&{[n.updating]:s},\"connectionStatus\"in n&&{[n.connectionStatus]:r},\"connectionStatusConnected\"in n&&{[n.connectionStatusConnected]:r&&\"connected\"===a}),icon:l({connectionStatus:a,publishing:o}),key:\"layer-item-status\",scale:\"s\",slot:\"content-end\"})}get _renderedItemTemporaryIcon(){const{item:e,visibleElements:t,css:i}=this,{layer:o}=e,s=\"temporaryLayerIndicators\"in t&&t.temporaryLayerIndicators,a=\"temporaryTableIndicators\"in t&&t.temporaryTableIndicators,l=\"persistenceEnabled\"in o&&(n(o)||!o.persistenceEnabled);return(s||a)&&l?h(\"calcite-icon\",{class:i.itemTemporaryIcon,icon:\"temporary\",key:\"temporary-icon\",scale:\"s\",slot:\"actions-start\",title:this.messages.temporary}):null}get _renderedItemToggle(){const{item:e,parent:t,messages:i,visibilityAppearance:n,css:o}=this;if(!(\"visible\"in e&&\"layerVisibility\"in i&&\"visibleToggle\"in o&&n))return null;const{visible:s}=e,a=t?.visibilityMode;if(\"inherited\"===a)return null;const l=r({visible:s,exclusive:\"exclusive\"===a,visibilityAppearance:n}),c=\"checkbox\"===n,d=i.layerVisibility;return h(\"calcite-action\",{appearance:\"transparent\",class:o.visibleToggle,icon:c?l:void 0,key:\"visibility-toggle\",onclick:()=>this._toggleVisibility(e,t),scale:\"s\",slot:c?\"actions-start\":\"actions-end\",text:d,title:d},c?null:h(\"calcite-icon\",{class:this.classes({[o.visibleIcon]:\"exclusive\"!==a&&s}),icon:l,scale:\"s\"}))}get _renderedPanel(){const{panel:e}=this.item;return!e?.open||e.disabled||e.flowEnabled?null:h(\"div\",{class:this.css.itemContentBottom,key:`content-panel-${e.uid}`,slot:\"content-bottom\"},e.render())}get _renderedPanelAction(){const{panel:e}=this.item;if(!e?.visible)return null;const{open:t,title:i,disabled:n}=e;return h(\"calcite-action\",{active:t,appearance:\"transparent\",disabled:n,icon:o(e),key:`action-${e.uid}`,onclick:()=>this._togglePanel(e),scale:\"s\",slot:\"actions-end\",text:i??\"\",title:i??void 0},this._renderFallbackIcon(e))}get _renderedActions(){switch(this._actionsCount){case 0:return null;case 1:return this._singleAction;default:return this._renderedActionMenu}}get _renderedActionMenu(){const{item:e,messagesCommon:t}=this,i=t.options;return h(\"calcite-action-menu\",{appearance:\"transparent\",key:\"item-action-menu\",label:t.menu,open:e.actionsOpen,overlayPositioning:\"fixed\",placement:\"bottom-end\",scale:\"s\",slot:\"actions-end\",onCalciteActionMenuOpen:this._onActionMenuOpen},h(\"calcite-action\",{appearance:\"transparent\",icon:\"ellipsis\",scale:\"s\",slot:\"trigger\",text:i,title:i}),this._renderedActionMenuContent)}get _renderedActionMenuContent(){return this._filteredSections.toArray().map((e=>h(\"calcite-action-group\",{key:`action-section-${e.uid}`},e.toArray().map((e=>this._renderAction({action:e,textEnabled:!0}))))))}get _renderedCatalogFootprintIcon(){const{css:e}=this,t=\"catalog-footprint\"===this.item.layer?.type;return\"itemCatalogIcon\"in e&&t?h(\"calcite-icon\",{class:e.itemCatalogIcon,icon:\"footprint\",key:\"footprint\",scale:\"s\",slot:\"content-start\"}):null}get _renderedCatalogDynamicIcon(){const{css:e}=this,t=\"catalog-dynamic-group\"===this.item.layer?.type;return\"itemCatalogIcon\"in e&&t?h(\"calcite-icon\",{class:e.itemCatalogIcon,icon:\"catalog-dataset\",key:\"catalog-dataset\",scale:\"s\",slot:\"content-start\"}):null}get _renderedCatalogSelectNode(){const{_title:e,item:t,visibleElements:i}=this;if(!(\"visible\"in t))return;const{layer:n}=t,o=\"catalog-dynamic-group\"===n?.type;return\"catalogLayerList\"in i&&i.catalogLayerList&&o?h(\"calcite-action\",{appearance:\"transparent\",disabled:!n.visible,icon:\"chevron-right\",iconFlipRtl:!0,onclick:()=>this._triggerOnCatalogOpen(t),scale:\"s\",slot:\"actions-end\",text:e}):null}get _renderedChildList(){const{dragEnabled:e,item:t,rootGroupUid:i,listModeDisabled:n,selectionMode:o}=this;if(!(\"visible\"in t))return;const s=[...this.parentTitles??[],t.title],{children:a,layer:l}=t,r=\"catalog-dynamic-group\"!==l?.type&&c(t),m=!n&&d(l);return r||!m&&!r&&e&&\"group\"===l?.type?h(\"calcite-list\",{canPull:e=>!!this.canMove&&this.canMove(e,\"pull\"),canPut:e=>!!this.canMove&&this.canMove(e,\"put\"),\"data-item\":t,\"data-layer-type\":i,dragEnabled:!!e&&(t.childrenSortable&&p(t)),group:`${i}-${l.uid}`,key:`child-list-${l.uid}`,selectionAppearance:\"border\",selectionMode:o},a?.filter((e=>!e.hidden)).toArray().map((e=>this._renderItem(e,t,s))),this._renderedTablesItem):null}get _hasTables(){const{layerTablesEnabled:e}=this,t=this.item.layer;if(!e||!t)return!1;switch(t.type){case\"knowledge-graph\":return e.includes(t.type)&&!!t.tables?.length;case\"map-image\":case\"tile\":return e.includes(t.type)&&!!t.subtables?.length;default:return!1}}get _renderedTablesItem(){const{item:e,messages:t,css:i}=this,{layer:n}=e;return\"itemTableIcon\"in i&&\"visible\"in e&&\"tables\"in t&&this._hasTables?h(\"calcite-list-item\",{class:i.item,\"data-layer-id\":n.id,dragDisabled:!0,key:`list-item-table-list-tables-${n.uid}`,title:t.tables,onCalciteListItemSelect:()=>this._triggerOnTablesOpen(e)},h(\"div\",{class:i.itemContent,slot:\"content\"},t.tables),h(\"calcite-icon\",{class:i.itemTableIcon,icon:\"table\",scale:\"s\",slot:\"content-start\"}),h(\"calcite-icon\",{flipRtl:!0,icon:\"chevron-right\",scale:\"s\",slot:\"content-end\"})):null}get _renderedItemMessage(){const{item:e,messages:t,css:i}=this;return e.error?h(\"div\",{class:i.itemMessage,key:\"esri-layer-list__error\",slot:\"content-bottom\"},h(\"calcite-notice\",{icon:\"exclamation-mark-triangle\",kind:\"warning\",open:!0,scale:\"s\",width:\"full\"},h(\"div\",{slot:\"message\"},\"tableError\"in t?t.tableError:t.layerError))):\"incompatible\"in e&&e.incompatible&&\"layerIncompatible\"in t?h(\"div\",{class:i.itemMessage,key:\"esri-layer-list__incompatible\",slot:\"content-bottom\"},h(\"calcite-notice\",{afterCreate:this._setTooltipReference,afterRemoved:this._removeTooltipReference,bind:this,icon:\"exclamation-mark-triangle\",kind:\"warning\",open:!0,scale:\"s\",tabIndex:0,width:\"full\"},h(\"div\",{slot:\"message\"},t.layerIncompatible))):null}get _singleAction(){return this._renderAction({action:m(this._filteredSections),textEnabled:!1})}get _filteredSections(){return this.item.actionsSections.map((e=>e.filter((e=>e.visible))))}get _actionsCount(){return this.item.actionsSections.reduce(((e,t)=>e+t.length),0)}_renderAction(e){const{item:t}=this,{action:i,textEnabled:n}=e;if(!i)return null;const{active:s,disabled:a,title:l,type:r,indicator:c}=i;return h(\"calcite-action\",{active:\"toggle\"===r&&i.value,appearance:\"transparent\",disabled:a,icon:o(i),indicator:c,key:`action-${i.uid}`,loading:s,onclick:()=>this._triggerAction(t,i),scale:\"s\",slot:n?void 0:\"actions-end\",text:l??\"\",textEnabled:n,title:l??void 0},this._renderFallbackIcon(i))}_renderFallbackIcon(e){const{css:t}=this,{className:i,icon:n}=e;if(n)return null;const o=\"image\"in e?e.image:void 0,a={[t.itemActionIcon]:!!i,[t.itemActionImage]:!!o};return i&&(a[i]=!0),o||i?h(\"span\",{\"aria-hidden\":\"true\",class:this.classes(t.itemActionIcon,a),key:\"icon\",styles:s(o)}):null}_renderItem(e,t,i=[]){return h(b,{activeItem:this.activeItem,canMove:this.canMove,css:this.css,dragEnabled:this.dragEnabled,item:e,key:`layerListItem-${e.layer.uid}`,layerTablesEnabled:this.layerTablesEnabled,listModeDisabled:this.listModeDisabled,messages:this.messages,messagesCommon:this.messagesCommon,parent:t,parentTitles:i,rootGroupUid:this.rootGroupUid,selectedDragItemLayerUid:this.selectedDragItemLayerUid,selectedItems:this.selectedItems,selectionMode:this.selectionMode,visibilityAppearance:this.visibilityAppearance,visibleElements:this.visibleElements,onAction:this.onAction,onCatalogOpen:this.onCatalogOpen,onPanelOpen:this.onPanelOpen,onSelectedDragItemLayerUidChange:this.onSelectedDragItemLayerUidChange,onTablesOpen:this.onTablesOpen,onTooltipReferenceChange:this.onTooltipReferenceChange})}_triggerAction(e,t){t&&e&&(\"toggle\"===t.type&&(t.value=!t.value),this.onAction(t,e))}_triggerOnTablesOpen(e){e&&this.onTablesOpen&&this.onTablesOpen(e)}_triggerOnCatalogOpen(e){e&&this.onCatalogOpen?.(e)}_focusSelectedDragEl(e,t){this.selectedDragItemLayerUid===t.layer.uid&&y(e)}_handleCalciteListItemToggle(e,t){e.stopPropagation(),t.open=e.target.open}_handleCalciteListItemDragHandleChange(e,t){e.stopPropagation();const i=e.target.dragSelected;this.onSelectedDragItemLayerUidChange?.(i?t.layer.uid:null)}_handleCalciteListItemSelect(e,t,i){g(e.target)===t&&\"none\"===this.selectionMode&&\"inherited\"!==i?.visibilityMode&&this._toggleVisibility(t,i)}_togglePanel(e){e.open=!e.open,e.open&&this.onPanelOpen()}_toggleVisibility(e,t){if(!e)return;const i=t?.visibilityMode;\"exclusive\"===i&&e.visible||(e.visible=!e.visible)}};v.vnodeSelector=\"calcite-list-item\",e([t()],v.prototype,\"activeItem\",void 0),e([t()],v.prototype,\"canMove\",void 0),e([t()],v.prototype,\"css\",void 0),e([t()],v.prototype,\"dragEnabled\",void 0),e([t()],v.prototype,\"item\",void 0),e([t()],v.prototype,\"layerTablesEnabled\",void 0),e([t()],v.prototype,\"listModeDisabled\",void 0),e([t()],v.prototype,\"messages\",void 0),e([t()],v.prototype,\"messagesCommon\",void 0),e([t()],v.prototype,\"onAction\",void 0),e([t()],v.prototype,\"onPanelOpen\",void 0),e([t()],v.prototype,\"onCatalogOpen\",void 0),e([t()],v.prototype,\"onTablesOpen\",void 0),e([t()],v.prototype,\"onSelectedDragItemLayerUidChange\",void 0),e([t()],v.prototype,\"onTooltipReferenceChange\",void 0),e([t()],v.prototype,\"parent\",void 0),e([t()],v.prototype,\"parentTitles\",void 0),e([t()],v.prototype,\"rootGroupUid\",void 0),e([t()],v.prototype,\"selectionMode\",void 0),e([t()],v.prototype,\"selectedItems\",void 0),e([t()],v.prototype,\"selectedDragItemLayerUid\",void 0),e([t()],v.prototype,\"visibleElements\",void 0),e([t()],v.prototype,\"visibilityAppearance\",void 0),e([t()],v.prototype,\"_title\",null),e([t()],v.prototype,\"_renderedItemStatus\",null),e([t()],v.prototype,\"_renderedItemTemporaryIcon\",null),e([t()],v.prototype,\"_renderedItemToggle\",null),e([t()],v.prototype,\"_renderedPanel\",null),e([t()],v.prototype,\"_renderedPanelAction\",null),e([t()],v.prototype,\"_renderedActions\",null),e([t()],v.prototype,\"_renderedActionMenu\",null),e([t()],v.prototype,\"_renderedActionMenuContent\",null),e([t()],v.prototype,\"_renderedCatalogFootprintIcon\",null),e([t()],v.prototype,\"_renderedCatalogDynamicIcon\",null),e([t()],v.prototype,\"_renderedCatalogSelectNode\",null),e([t()],v.prototype,\"_renderedChildList\",null),e([t()],v.prototype,\"_hasTables\",null),e([t()],v.prototype,\"_renderedTablesItem\",null),e([t()],v.prototype,\"_renderedItemMessage\",null),e([t()],v.prototype,\"_singleAction\",null),e([t()],v.prototype,\"_filteredSections\",null),e([t()],v.prototype,\"_actionsCount\",null),v=b=e([i(\"esri.widgets.LayerList.LayerListItem\")],v);const _=v;export{_ as default};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{_ as e}from\"../../chunks/tslib.es6.js\";import t from\"../../core/Collection.js\";import s from\"../../core/Evented.js\";import{watch as i,initial as r}from\"../../core/reactiveUtils.js\";import{property as a}from\"../../core/accessorSupport/decorators/property.js\";import\"../../core/has.js\";import\"../../core/Logger.js\";import\"../../core/RandomLCG.js\";import{subclass as o}from\"../../core/accessorSupport/decorators/subclass.js\";import{isLinkChartView as l}from\"../../linkChart/utils.js\";import n from\"./ListItem.js\";import{getItemLayers as d,findLayerListMode as h}from\"./support/layerListUtils.js\";const m={view:\"view\",viewLayers:\"view-layers\",mapLayers:\"map-layers\",layerViews:\"layer-views\",layerListMode:\"layer-list-mode\"},c=\"hide\",p=t.ofType(n);let y=class extends s.EventedAccessor{constructor(e){super(e),this.checkPublishStatusEnabled=!1,this.listItemCreatedFunction=null,this.listModeDisabled=!1,this.operationalItems=new p,this.view=null}initialize(){this.addHandles([i((()=>!0===this.view?.ready),(()=>this._viewHandles()),r),i((()=>[this.listItemCreatedFunction,this.checkPublishStatusEnabled,this.listModeDisabled]),(()=>this._recompileList())),i((()=>l(this.view)?this.view.inGeographicLayout:null),(()=>this._compileList()))],m.view)}destroy(){this._removeAllItems(),this.view=null}get state(){const{view:e}=this;return e?.ready?\"ready\":e?\"loading\":\"disabled\"}get totalItems(){return this.operationalItems.flatten((e=>e.children)).length}triggerAction(e,t){e&&!e.disabled&&this.emit(\"trigger-action\",{action:e,item:t})}moveListItem(e,t,s,i){const r=e?.layer;if(!r||\"subtype-sublayer\"===r.type||\"sublayer\"===r.type)return;const a=this.view?.map?.layers,o=t?d(t):a,l=s?d(s):a;if(!o||!l)return;const{operationalItems:n}=this,h=t?.children||n,m=s?.children||n,c=l.length-i;e.parent=s||null,h.remove(e),o.remove(r),m.includes(e)||m.add(e,c),l.includes(r)||l.add(r,c),this._compileList()}_createLayerViewHandles(e){this.removeHandles(m.layerViews),this._compileList(),e&&this.addHandles(e.on(\"change\",(()=>this._compileList())),m.layerViews)}_createMapLayerHandles(e){this.removeHandles(m.mapLayers),this._compileList(),e&&this.addHandles(e.on(\"change\",(()=>this._compileList())),m.mapLayers)}_createListItem(e){const{view:t,listItemCreatedFunction:s,checkPublishStatusEnabled:i,listModeDisabled:r}=this;return new n({checkPublishStatusEnabled:i,listModeDisabled:r,layer:e,listItemCreatedFunction:s,view:t})}_removeAllItems(){this.operationalItems.destroyAll()}_getViewableLayers(e){return e?this.listModeDisabled?e:e.filter((e=>h(e)!==c)):void 0}_watchLayersListMode(e){this.removeHandles(m.layerListMode),e&&!this.listModeDisabled&&this.addHandles(i((()=>e.filter((e=>\"listMode\"in e)).map((e=>e.listMode)).toArray()),(()=>this._compileList())),m.layerListMode)}_compileList(){const e=this.view?.map?.layers,t=l(this.view)&&!this.view.inGeographicLayout?e?.filter((({type:e})=>\"link-chart\"===e)):e;this._watchLayersListMode(t);const s=this._getViewableLayers(t);s?.length?(this._createNewItems(s),this._removeItems(s),this._sortItems(s)):this._removeAllItems()}_createNewItems(e){const{operationalItems:t}=this;e.forEach((e=>{t.some((t=>t.layer===e))||t.add(this._createListItem(e))}))}_removeItems(e){const{operationalItems:t}=this,s=[];t.forEach((t=>{t&&e&&e.includes(t.layer)||s.push(t)})),t.destroyMany(s)}_sortItems(e){const{operationalItems:t}=this;t.sort(((t,s)=>{const i=e.indexOf(t.layer),r=e.indexOf(s.layer);return i>r?-1:ithis.view?.map?.allLayers),(e=>this._createMapLayerHandles(e)),r),i((()=>this.view?.allLayerViews),(e=>this._createLayerViewHandles(e)),r)],m.viewLayers):this._removeAllItems()}};e([a()],y.prototype,\"checkPublishStatusEnabled\",void 0),e([a()],y.prototype,\"listItemCreatedFunction\",void 0),e([a({nonNullable:!0})],y.prototype,\"listModeDisabled\",void 0),e([a({type:p})],y.prototype,\"operationalItems\",void 0),e([a({readOnly:!0})],y.prototype,\"state\",null),e([a()],y.prototype,\"totalItems\",null),e([a()],y.prototype,\"view\",void 0),y=e([o(\"esri.widgets.LayerList.LayerListViewModel\")],y);const v=y;export{v as default};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{_ as o}from\"../../chunks/tslib.es6.js\";import t from\"../../core/Accessor.js\";import{property as e}from\"../../core/accessorSupport/decorators/property.js\";import\"../../core/has.js\";import\"../../core/Logger.js\";import\"../../core/RandomLCG.js\";import{subclass as r}from\"../../core/accessorSupport/decorators/subclass.js\";let s=class extends t{constructor(){super(...arguments),this.catalogLayerList=!0,this.closeButton=!1,this.collapseButton=!1,this.errors=!1,this.filter=!1,this.flow=!0,this.heading=!1,this.statusIndicators=!0,this.temporaryLayerIndicators=!1}};o([e({type:Boolean,nonNullable:!0})],s.prototype,\"catalogLayerList\",void 0),o([e({type:Boolean,nonNullable:!0})],s.prototype,\"closeButton\",void 0),o([e({type:Boolean,nonNullable:!0})],s.prototype,\"collapseButton\",void 0),o([e({type:Boolean,nonNullable:!0})],s.prototype,\"errors\",void 0),o([e({type:Boolean,nonNullable:!0})],s.prototype,\"filter\",void 0),o([e({type:Boolean,nonNullable:!0})],s.prototype,\"flow\",void 0),o([e({type:Boolean,nonNullable:!0})],s.prototype,\"heading\",void 0),o([e({type:Boolean,nonNullable:!0})],s.prototype,\"statusIndicators\",void 0),o([e({type:Boolean,nonNullable:!0})],s.prototype,\"temporaryLayerIndicators\",void 0),s=o([r(\"esri.widgets.LayerList.LayerListVisibleElements\")],s);const l=s;export{l as default};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{_ as e}from\"../../chunks/tslib.es6.js\";import t from\"../../core/Accessor.js\";import{isSome as i}from\"../../core/arrayUtils.js\";import s from\"../../core/Collection.js\";import{IdentifiableMixin as r}from\"../../core/Identifiable.js\";import{watch as l,initial as o}from\"../../core/reactiveUtils.js\";import{property as n}from\"../../core/accessorSupport/decorators/property.js\";import{cast as a}from\"../../core/accessorSupport/decorators/cast.js\";import\"../../core/has.js\";import{subclass as h}from\"../../core/accessorSupport/decorators/subclass.js\";import{get as d}from\"../../core/accessorSupport/get.js\";import p from\"../../support/actions/ActionBase.js\";import c from\"../../support/actions/ActionButton.js\";import u from\"../../support/actions/ActionSlider.js\";import y from\"../../support/actions/ActionToggle.js\";import b from\"./ListItemPanel.js\";import{isLayerOutsideScaleRange as m,findLayerVisibilityMode as v,findLayerListMode as f,canDisplayLayer as C,getNormalizedChildLayerProperty as g}from\"./support/layerListUtils.js\";var w;const S=s.ofType({key:\"type\",defaultKeyValue:\"button\",base:p,typeMap:{button:c,toggle:y,slider:u}}),_=s.ofType(S),M=\"layer\",P=\"child-list-mode\",O=\"hide\";let I=w=class extends(r(t)){constructor(e){super(e),this.actionsSections=new _,this.actionsOpen=!1,this.checkPublishStatusEnabled=!1,this.children=new(s.ofType(w)),this.childrenSortable=!0,this.hidden=!1,this.layer=null,this.listItemCreatedFunction=null,this.listModeDisabled=!1,this.open=!1,this.panel=null,this.parent=null,this.view=null}initialize(){if(this.addHandles([l((()=>[this.layer,this.layer?.listMode,this.listModeDisabled]),(()=>this._watchLayerProperties(this.layer)),o),l((()=>this.checkPublishStatusEnabled),(e=>this._updateChildrenPublishing(e)),o),l((()=>this.view),(e=>this._updateChildrenView(e)),o),l((()=>this.panel),(e=>this._setListItemOnPanel(e)),o)]),\"function\"==typeof this.listItemCreatedFunction){const e={item:this};this.listItemCreatedFunction.call(null,e)}}destroy(){this.panel?.destroy(),this.children.destroyAll(),this.view=null}get connectionStatus(){const{layerView:e,publishing:t}=this;if(!t&&e&&\"connectionStatus\"in e)return e.connectionStatus}get error(){return this.layer?.loadError}get incompatible(){const{layerView:e}=this;return!(!e||!(\"spatialReferenceSupported\"in e))&&!e.spatialReferenceSupported}get layerView(){const{layer:e,view:t}=this;if(!e||!t||\"sublayer\"===e.type)return null;const i=\"subtype-sublayer\"===e.type?e.parent:e;return t.allLayerViews.find((e=>e.layer===i))??null}castPanel(e){return this.panel?.open&&!e.hasOwnProperty(\"open\")&&(e.open=!0),e?new b(e):null}get sortable(){return\"knowledge-graph-sublayer\"!==this.layer?.type&&this._get(\"sortable\")}set sortable(e){this._set(\"sortable\",e)}get title(){const e=d(this,\"layer.layer\");return(!e||e&&d(this,\"layer.layer.loaded\"))&&d(this,\"layer.title\")||d(this,\"layer.attributes.title\")||\"\"}set title(e){this._override(\"title\",e)}get publishing(){const{layer:e,checkPublishStatusEnabled:t}=this;return t&&e&&\"publishingInfo\"in e&&\"publishing\"===e.publishingInfo?.status}get updating(){const{layerView:e,connectionStatus:t,layer:i,publishing:s}=this;return!s&&!t&&(e?e.updating:\"loading\"===i?.loadStatus||!1)}get visible(){return this.layer?.visible}set visible(e){const t=this.layer;t&&(t.visible=e)}get visibleAtCurrentScale(){return this.layerView?.visibleAtCurrentScale??!m(this.layer,this.view?.scale)}get visibleAtCurrentTimeExtent(){return this.layerView?.visibleAtCurrentTimeExtent??!0}get visibilityMode(){return v(this.layer)}clone(){return new w({actionsSections:this.actionsSections.clone(),actionsOpen:this.actionsOpen,checkPublishStatusEnabled:this.checkPublishStatusEnabled,children:this.children.clone(),childrenSortable:this.childrenSortable,hidden:this.hidden,layer:this.layer,listItemCreatedFunction:this.listItemCreatedFunction,listModeDisabled:this.listModeDisabled,open:this.open,panel:this.panel,parent:this.parent,sortable:this.sortable,title:this.title,view:this.view,visible:this.visible})}_setListItemOnPanel(e){e&&(e.listItem=this)}_updateChildrenPublishing(e){const t=this.children;t&&t.forEach((t=>t.checkPublishStatusEnabled=e))}_updateChildrenView(e){const t=this.children;t&&t.forEach((t=>t.view=e))}_createChildren(e){const{listModeDisabled:t,children:i}=this,s=e.filter((e=>!i.some((t=>t.layer===e))));i.addMany(this._createChildItems(s,t))}_destroyChildren(e){const{children:t}=this,i=t.filter((t=>!e.includes(t.layer)));t.destroyMany(i)}_sortChildren(e){this.children.sort(((t,i)=>e.indexOf(i.layer)-e.indexOf(t.layer)))}_destroyAllChildren(){this.removeHandles(P),this.children.destroyAll()}_watchChildLayerListMode(e){this.removeHandles(P),this.listModeDisabled||this.addHandles(e.toArray().map((t=>l((()=>t.listMode),(()=>this._compileChildren(e))))),P)}_compileChildren(e){const t=this.listModeDisabled?e:e?.filter((e=>f(e)!==O));t?.length?(this._createChildren(t),this._destroyChildren(t),this._sortChildren(t),this._watchChildLayerListMode(e)):this._destroyAllChildren()}_watchSublayerChanges(e){e&&this.addHandles(e.on(\"change\",(()=>this._compileChildren(e))),M)}_initializeChildLayers(e){this._compileChildren(e),this._watchSublayerChanges(e)}_createChildItems(e,t){return e.map((e=>t||C(e)?new w({layer:e,checkPublishStatusEnabled:this.checkPublishStatusEnabled,listItemCreatedFunction:this.listItemCreatedFunction,listModeDisabled:this.listModeDisabled,parent:this,view:this.view}):null)).filter(i).reverse()}_watchLayerProperties(e){if(this.removeHandles(M),this.removeHandles(P),!e)return;if(\"hide-children\"===(!this.listModeDisabled&&f(e)))return void this.children.destroyAll();const t=g(e);t&&this.addHandles(l((()=>e[t]),(i=>{e.hasOwnProperty(t)&&this._initializeChildLayers(i)}),o),M)}};e([n({type:_})],I.prototype,\"actionsSections\",void 0),e([n()],I.prototype,\"actionsOpen\",void 0),e([n()],I.prototype,\"checkPublishStatusEnabled\",void 0),e([n({type:s})],I.prototype,\"children\",void 0),e([n()],I.prototype,\"childrenSortable\",void 0),e([n({readOnly:!0})],I.prototype,\"connectionStatus\",null),e([n({readOnly:!0})],I.prototype,\"error\",null),e([n()],I.prototype,\"hidden\",void 0),e([n({readOnly:!0})],I.prototype,\"incompatible\",null),e([n()],I.prototype,\"layer\",void 0),e([n({readOnly:!0})],I.prototype,\"layerView\",null),e([n()],I.prototype,\"listItemCreatedFunction\",void 0),e([n({nonNullable:!0})],I.prototype,\"listModeDisabled\",void 0),e([n()],I.prototype,\"open\",void 0),e([n({type:b})],I.prototype,\"panel\",void 0),e([a(\"panel\")],I.prototype,\"castPanel\",null),e([n()],I.prototype,\"parent\",void 0),e([n({value:!0})],I.prototype,\"sortable\",null),e([n()],I.prototype,\"title\",null),e([n({readOnly:!0})],I.prototype,\"publishing\",null),e([n({readOnly:!0})],I.prototype,\"updating\",null),e([n()],I.prototype,\"view\",void 0),e([n()],I.prototype,\"visible\",null),e([n({readOnly:!0})],I.prototype,\"visibleAtCurrentScale\",null),e([n({readOnly:!0})],I.prototype,\"visibleAtCurrentTimeExtent\",null),e([n({readOnly:!0})],I.prototype,\"visibilityMode\",null),I=w=e([h(\"esri.widgets.LayerList.ListItem\")],I);const j=I;export{j as default};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{_ as e}from\"../../chunks/tslib.es6.js\";import{IdentifiableMixin as t}from\"../../core/Identifiable.js\";import{destroyMaybe as n}from\"../../core/maybe.js\";import{watch as i,initial as r}from\"../../core/reactiveUtils.js\";import{property as s}from\"../../core/accessorSupport/decorators/property.js\";import\"../../core/has.js\";import\"../../core/Logger.js\";import\"../../core/RandomLCG.js\";import{subclass as o}from\"../../core/accessorSupport/decorators/subclass.js\";import l from\"../Widget.js\";import{isSublayer as d}from\"./support/layerListUtils.js\";import{isWidget as a}from\"../support/widget.js\";import{tsx as p}from\"../support/jsxFactory.js\";let g=class extends(t(l)){constructor(e,t){super(e,t),this._legend=null,this.className=null,this.content=null,this.flowEnabled=!1,this.image=null,this.listItem=null,this.open=!1,this.visible=!0}initialize(){this.addHandles([i((()=>this._canCreateLegend),(()=>this._createLegend()),r),i((()=>[this._legend,this._legendOptions]),(()=>this._updateLegend()),r)])}destroy(){this._legend=n(this._legend)}get _canCreateLegend(){const{content:e,listItem:t}=this;if(!t)return!1;const n=\"legend\";return e===n||null!=e&&!!Array.isArray(e)&&e.includes(n)}get _legendOptions(){const{listItem:e,_legendLayerInfo:t}=this,n=e?.view;return t&&n?{view:n,layerInfos:[t]}:{}}get _legendLayerInfo(){const e=this.listItem?.layer;if(!e||\"subtype-sublayer\"===e.type)return null;const t=d(e)?e:null,n=e?.parent,i=null!=n&&\"type\"in n&&\"map-image\"===n.type?t?.source:null,r=\"\";return i&&n?{layer:n,title:r,sublayerIds:[i.mapLayerId]}:{layer:e,title:r}}get disabled(){const{listItem:e,_legend:t,content:n}=this;return!e||!(Array.isArray(n)&&n.length>1)&&(!!t&&(!t.activeLayerInfos?.length||!e.visibleAtCurrentScale||!e.visible))}set disabled(e){this._overrideIfSome(\"disabled\",e)}get icon(){const{image:e}=this,t=this._getFirstWidget();return this._get(\"icon\")??(!e&&t?t.icon:null)}set icon(e){this._overrideIfSome(\"icon\",e)}get title(){return this._get(\"title\")||(this._getFirstWidget()?.label??\"\")}set title(e){this._override(\"title\",e)}render(){return p(\"div\",{class:\"esri-list-item-panel\"},this._renderContents())}_renderContent(e){const{_legend:t,disabled:n,open:i}=this;return e&&!n&&i?\"legend\"===e&&t?p(\"div\",{key:\"legend-widget\"},t.render()):\"string\"==typeof e?p(\"div\",{innerHTML:e,key:e}):a(e)?p(\"div\",{key:\"content-widget\"},e.render()):e instanceof HTMLElement?p(\"div\",{afterCreate:this._attachToNode,bind:e,key:\"content-element\"}):null:null}_renderContents(){const{content:e,open:t}=this;return t?Array.isArray(e)?e.map((e=>this._renderContent(e))):this._renderContent(e):null}async _createLegend(){if(n(this._legend),this._legend=null,!this._canCreateLegend)return;const{default:e}=await import(\"../Legend.js\"),t=new e(this._legendOptions);this._legend=t}_attachToNode(e){e.appendChild(this)}_updateLegend(){const e=this._legend;e&&e.set(this._legendOptions)}_getWidget(e){return\"legend\"===e?this._legend:a(e)?e:null}_getFirstWidget(){const{content:e}=this;return Array.isArray(e)?e.map((e=>this._getWidget(e))).find((e=>e)):this._getWidget(e)}};e([s()],g.prototype,\"_legend\",void 0),e([s()],g.prototype,\"_canCreateLegend\",null),e([s()],g.prototype,\"_legendOptions\",null),e([s()],g.prototype,\"_legendLayerInfo\",null),e([s()],g.prototype,\"className\",void 0),e([s()],g.prototype,\"content\",void 0),e([s()],g.prototype,\"disabled\",null),e([s()],g.prototype,\"flowEnabled\",void 0),e([s()],g.prototype,\"icon\",null),e([s()],g.prototype,\"image\",void 0),e([s()],g.prototype,\"listItem\",void 0),e([s()],g.prototype,\"open\",void 0),e([s()],g.prototype,\"title\",null),e([s()],g.prototype,\"visible\",void 0),g=e([o(\"esri.widgets.LayerList.ListItemPanel\")],g);const c=g;export{c as default};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nconst t=\"esri-layer-list\",i=`${t}__item`,e={base:t,actionMenu:`${t}__action-menu`,actionGroup:`${t}__action-group`,filterNoResults:`${t}__filter-no-results`,item:i,itemActive:`${i}--active`,itemContent:`${i}-content`,itemContentBottom:`${i}-content-bottom`,itemMessage:`${i}-message`,itemInvisible:`${i}--invisible`,itemActionIcon:`${i}-action-icon`,itemActionImage:`${i}-action-image`,itemTemporaryIcon:`${i}-temporary-icon`,itemTableIcon:`${i}-table-icon`,itemCatalogIcon:`${i}-catalog-icon`,statusIndicator:`${t}__status-indicator`,publishing:`${t}__publishing`,updating:`${t}__updating`,connectionStatus:`${t}__connection-status`,connectionStatusConnected:`${t}__connection-status--connected`,visibleToggle:`${t}__visible-toggle`,visibleIcon:`${t}__visible-icon`};export{e as css};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nconst n={hide:\"hide\",hideChildren:\"hide-children\"},i=10,e=2;function t({exclusive:n,visible:i,visibilityAppearance:e}){const t=\"checkbox\"===e;return i?n?\"circle-f\":t?\"check-square-f\":\"view-visible\":n?\"circle\":t?\"square\":\"view-hide\"}function r({connectionStatus:n,publishing:i}){return n?\"connected\"===n?\"beacon\":\"offline\":i?\"square\":\"bullet-point\"}function l(i){return i?.listMode===n.hideChildren}function u(n){return n?.listMode??void 0}function o(n){return null!=n&&\"minScale\"in n&&null!=n.minScale?n.minScale:void 0}function c(n){return null!=n&&\"maxScale\"in n&&null!=n.maxScale?n.maxScale:void 0}function a(n){if(!n)return\"inherited\";const i=m(v(n)?n.layer:n);return null!=i?i?\"independent\":\"inherited\":\"visibilityMode\"in n&&null!=n.visibilityMode?n.visibilityMode:\"independent\"}function s(n){if(n&&(!(\"type\"in n)||\"wmts\"!==n.type))return\"sublayers\"in n?\"sublayers\":\"layers\"in n?\"layers\":void 0}function d(n){const i=(n?.layer&&v(n.layer)?n.layer.layer:void 0)??n?.layer;return!!i&&(\"catalog\"!==i.type&&(x(i)??!0))}function y(i){return u(i)!==n.hide}function f(n,i){if(!n||null==i||isNaN(i))return!1;const e=o(n),t=c(n),r=null!=e&&!isNaN(e)&&e>0&&i>e,l=null!=t&&!isNaN(t)&&t>0&&i{const t=\"uid\"in n?i.indexOf(n.uid):-1,r=\"uid\"in e?i.indexOf(e.uid):-1;return t>r?-1:t!n.hidden)).length&&!i&&!e}function q(n){for(const i of n)for(const n of i)if(\"button\"===n.type||\"toggle\"===n.type)return n}export{l as areChildrenHidden,y as canDisplayLayer,d as canSortSublayers,u as findLayerListMode,c as findLayerMaxScale,o as findLayerMinScale,a as findLayerVisibilityMode,M as getItem,h as getItemLayers,g as getLayerType,s as getNormalizedChildLayerProperty,q as getSingleAction,r as getStatusIcon,t as getVisibilityIcon,f as isLayerOutsideScaleRange,v as isSublayer,N as listItemHasChildren,e as minDragEnabledItems,i as minFilterItems,b as sortChildLayersToIds,p as sortLayersToIds};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{generateFillAttributes as e,generateStrokeAttributes as a,renderDef as l,renderShape as r,getBoundingBox as t,computeBBox as s,getTransformMatrix as o}from\"../../../../symbols/support/svgUtils.js\";import{getCSSFilterFromEffectList as i}from\"../../../../symbols/support/utils.js\";import{isRTL as n,classes as d}from\"../../../support/widgetUtils.js\";import{tsx as m}from\"../../../support/jsxFactory.js\";const b=\"esri-relationship-ramp\",u=`${b}--diamond`,c=`${b}--square`,f=\"http://www.w3.org/2000/svg\",p={diamondContainer:`${u}__container`,diamondLeftCol:`${u}__left-column`,diamondRightCol:`${u}__right-column`,diamondMidCol:`${u}__middle-column`,diamondMidColLabel:`${u}__middle-column--label`,diamondMidColRamp:`${u}__middle-column--ramp`,squareTable:`${c}__table`,squareTableRow:`${c}__table-row`,squareTableCell:`${c}__table-cell`,squareTableLabel:`${c}__table-label`,squareTableLabelLeftBottom:`${c}__table-label--left-bottom`,squareTableLabelRightBottom:`${c}__table-label--right-bottom`,squareTableLabelLeftTop:`${c}__table-label--left-top`,squareTableLabelRightTop:`${c}__table-label--right-top`};function k(e,a,l={}){const{focus:r,labels:t}=e,s=!!r,o=T(e,a,l),i={justifyContent:\"center\"},b=n(),u=l.key??a;return s?m(\"div\",{class:p.diamondContainer,key:`${u}-container`,styles:i},m(\"div\",{class:p.diamondLeftCol},b?t.right:t.left),m(\"div\",{class:p.diamondMidCol},m(\"div\",{class:p.diamondMidColLabel},t.top),o,m(\"div\",{class:p.diamondMidColLabel},t.bottom)),m(\"div\",{class:p.diamondRightCol},b?t.left:t.right)):m(\"div\",{class:p.squareTable,key:`${u}-container`},m(\"div\",{class:p.squareTableRow},m(\"div\",{class:d(p.squareTableCell,p.squareTableLabel,p.squareTableLabelRightBottom)},b?t.top:t.left),m(\"div\",{class:p.squareTableCell}),m(\"div\",{class:d(p.squareTableCell,p.squareTableLabel,p.squareTableLabelLeftBottom)},b?t.left:t.top)),m(\"div\",{class:p.squareTableRow},m(\"div\",{class:p.squareTableCell}),o,m(\"div\",{class:p.squareTableCell})),m(\"div\",{class:p.squareTableRow},m(\"div\",{class:d(p.squareTableCell,p.squareTableLabel,p.squareTableLabelRightTop)},b?t.right:t.bottom),m(\"div\",{class:p.squareTableCell}),m(\"div\",{class:d(p.squareTableCell,p.squareTableLabel,p.squareTableLabelLeftTop)},b?t.bottom:t.right)))}function h(e,a,l){const r=`${l}_arrowStart`,t=`${l}_arrowEnd`,s=\"left\"===e,o={markerStart:null,markerEnd:null};switch(a){case\"HL\":s?o.markerStart=`url(#${t})`:o.markerEnd=`url(#${r})`;break;case\"LL\":o.markerStart=`url(#${t})`;break;case\"LH\":s?o.markerEnd=`url(#${r})`:o.markerStart=`url(#${t})`;break;default:o.markerEnd=`url(#${r})`}return o}function T(n,d,b={}){const{focus:u,numClasses:c,colors:k,rotation:T}=n,{opacity:_,effectList:q,ariaLabel:$}=b,L=b.size??60,g=!!u,C=Math.sqrt(L**2+L**2)+(g?0:5),v=[],w=[],y=[],x=(L||75)/c;for(let s=0;sn.includes(t)?e(l,t,r,o):null))}async function r(l,e,o){let r=!1,a=[],u=[];if(l.stops){const e=l.stops;a=e.map((l=>l.value)),r=e.some((l=>!!l.label)),r&&(u=e.map((l=>l.label)))}const s=a[0],i=a[a.length-1];if(null==s&&null==i)return null;const c=r?null:n(a,o);return(await Promise.all(a.map((async(o,n)=>({value:o,color:\"opacity\"===l.type?await t(o,l,e):(await import(\"../../../renderers/visualVariables/support/visualVariableUtils.js\")).getColor(l,o),label:r?u[n]:c?.[n]??\"\"}))))).reverse()}async function t(e,n,r){const t=new l(r??o),a=(await import(\"../../../renderers/visualVariables/support/visualVariableUtils.js\")).getOpacity(n,e);return null!=a&&(t.a=a),t}function a(l){let e=!1,o=[],r=[];o=l.map((l=>l.value)),e=l.some((l=>!!l.label)),e&&(r=l.map((l=>l.label??\"\")));const t=o[0],a=o[o.length-1];if(null==t&&null==a)return null;const s=e?null:n(o);return o.map(((o,n)=>({value:o,color:u(o,l),label:e?r[n]:s?.[n]??\"\"}))).reverse()}function u(e,o){const{startIndex:n,endIndex:r,weight:t}=s(e,o);if(n===r)return o[n].color;const a=l.blendColors(o[n].color,o[r].color,t);return new l(a)}function s(l,e){let o=0,n=e.length-1;return e.some(((e,r)=>l{0===t?n.push({value:o.max,color:new l(r.toColor),label:\"high\"}):n.push({value:null,color:new l(r.toColor),label:\"\"}),t===e.colorRamps.length-1?n.push({value:o.min,color:new l(r.fromColor),label:\"low\"}):n.push({value:null,color:new l(r.fromColor),label:\"\"})}));else{let r,t;e&&\"algorithmic\"===e.type?(r=e.fromColor,t=e.toColor):(r=[0,0,0,1],t=[255,255,255,1]),n=[{value:o.max,color:new l(t),label:\"high\"},{value:o.min,color:new l(r),label:\"low\"}]}return n}export{u as getColorFromPointCloudStops,r as getRampStops,a as getRampStopsForPointCloud,i as getStretchRampStops};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport o from\"../../../renderers/support/HeatmapColorStop.js\";function r(r){if(!r.colorStops)return[];const e=[...r.colorStops].filter((o=>o.color?.a>0));let t=e.length-1;if(e&&e[0]){const r=e[t];r&&1!==r.ratio&&(e.push(new o({ratio:1,color:r.color})),t++)}return e.map(((o,e)=>{let l=\"\";return 0===e?l=r.legendOptions?.minLabel||\"low\":e===t&&(l=r.legendOptions?.maxLabel||\"high\"),{color:o.color,label:l,ratio:o.ratio}})).reverse()}export{r as getHeatmapRampStops};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{clone as t}from\"../../../core/lang.js\";import{getStroke as o,getFill as e}from\"../../../symbols/support/gfxUtils.js\";import{getSymbolLayerFill as r}from\"../../../symbols/support/previewSymbol3D.js\";const s={HH:315,HL:45,LL:135,LH:225},l={2:[[\"HL\",\"HH\"],[\"LL\",\"LH\"]],3:[[\"HL\",\"HM\",\"HH\"],[\"ML\",\"MM\",\"MH\"],[\"LL\",\"LM\",\"LH\"]],4:[[\"HL\",\"HM1\",\"HM2\",\"HH\"],[\"M2L\",\"M2M1\",\"M2M2\",\"M2H\"],[\"M1L\",\"M1M1\",\"M1M2\",\"M1H\"],[\"LL\",\"LM1\",\"LM2\",\"LH\"]]};function n(t){if(!t)return;const{type:s}=t;if(s.includes(\"3d\"))return r(t.symbolLayers.at(0));if(\"simple-line\"===s){const e=o(t);return e&&e.color}if(\"simple-marker\"===t.type&&(\"x\"===t.style||\"cross\"===t.style)){const e=o(t);return e&&e.color}return e(t)}function H(t,o){const e=o.HH.label,r=o.LL.label,s=o.HL.label,l=o.LH.label;switch(t){case\"HH\":default:return{top:e,bottom:r,left:s,right:l};case\"HL\":return{top:s,bottom:l,left:r,right:e};case\"LL\":return{top:r,bottom:e,left:l,right:s};case\"LH\":return{top:l,bottom:s,left:e,right:r}}}function L(o,e){const r=[],s=o.length**.5,l=t(o),n=(e||\"HH\").split(\"\"),H=n[0],L=\"H\"===n[1];for(;l.length;){const t=[];for(;t.length{L[t.value]={label:t.label,fill:n(t.symbol)}}));const i=[];for(let l=0;l\";function r(e,A,i,a){let r=\"\";0===A?r=`${o} `:A===i&&(r=`${l} `);return r+(a?n(e,a):t(e))}const s=[\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAYAAACNiR0NAAAACXBIWXMAAAAAAAAAAAHqZRakAAAANUlEQVQ4jWPMy8v7z0BFwMLAwMAwcdIkqhiWn5fHwEQVk5DAqIGjBo4aOGrgqIEQwEjtKgAATl0Hu6JrzFUAAAAASUVORK5CYII=\",\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAYAAACNiR0NAAAACXBIWXMAAAAAAAAAAAHqZRakAAAANUlEQVQ4jWPMy8v7z0BFwMLAwMAwaeIkqhiWl5/HwEQVk5DAqIGjBo4aOGrgqIEQwEjtKgAATl0Hu6sKxboAAAAASUVORK5CYII=\",\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAYAAACNiR0NAAAACXBIWXMAAAAAAAAAAAHqZRakAAAANUlEQVQ4jWPMy8v7z0BFwMLAwMAwadJEqhiWl5fPwEQVk5DAqIGjBo4aOGrgqIEQwEjtKgAATl0Hu75+IUcAAAAASUVORK5CYII=\"];async function u(e){if(!(\"visualVariables\"in e)||!e.visualVariables)return null;const A=e.visualVariables.find((e=>\"color\"===e.type));if(!A)return null;let t=null,n=null;if(A.stops){if(1===A.stops.length)return A.stops[0].color;t=A.stops[0].value,n=A.stops[A.stops.length-1].value}const i=null!=t&&null!=n?t+(n-t)/2:0,{getColor:a}=await import(\"../../../renderers/visualVariables/support/visualVariableUtils.js\");return a(A,i)??null}async function p(e,A){const t=e.trailCap,n=e.trailWidth||1,i=A||await u(e)||e.color;return new a({cap:t,color:i,width:n})}function f(e,A){if(!A.field)return null;if(\"featureReduction\"in e)switch(e.featureReduction?.type){case\"cluster\":case\"binning\":{const t=e.featureReduction.fields.find((({name:e})=>e.toLowerCase()===A.field.toLowerCase()));return t&&\"getField\"in e?e.getField(t.onStatisticField):null}}return\"getField\"in e?e.getField?.(A.field):null}function m(e,A){const t=\"popupTemplate\"in e?e.popupTemplate?.fieldInfos:null;if(t?.length&&A)return t.find((e=>e.fieldName?.toLowerCase()===A.toLowerCase()))?.format?.dateFormat}function d(t,n,a){const o=f(t,n);if(!o||!i(o)&&!A(o))return null;let l=m(t,o.name);if(!l&&\"date\"===o.type){let A=0,t=0;n.stops?(A=n.stops?.at(0)?.value??A,t=n.stops?.at(-1)?.value??t):\"minDataValue\"in n&&\"maxDataValue\"in n&&(A=n.minDataValue??A,t=n.maxDataValue??t),l=t-A>2*e.days?\"short-date\":\"short-date-short-time\"}return{fieldType:o.type,format:l,timeZoneOptions:{layerTimeZone:\"preferredTimeZone\"in t?t.preferredTimeZone:null,viewTimeZone:a,datesInUnknownTimezone:\"datesInUnknownTimezone\"in t&&t.datesInUnknownTimezone}}}function c(e){if(\"authoringInfo\"in e)return e.authoringInfo?.visualVariables?.find((({theme:e})=>\"reference-size\"===e))}export{r as createStopLabel,d as getDateFormatOptions,u as getMedianColor,c as getReferenceSizeAuthoringInfoVisualVariable,p as getSymbolForFlowRenderer,s as rgbImgSource,l as specialCharsGreaterThan,o as specialCharsLessThan};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{_ as t}from\"../chunks/tslib.es6.js\";import{property as e}from\"../core/accessorSupport/decorators/property.js\";import\"../core/has.js\";import\"../core/Logger.js\";import\"../core/RandomLCG.js\";import{subclass as o}from\"../core/accessorSupport/decorators/subclass.js\";import i from\"./Widget.js\";import{css as s}from\"./NavigationToggle/css.js\";import r from\"./NavigationToggle/NavigationToggleViewModel.js\";import{loadCalciteComponents as l}from\"./support/componentsUtils.js\";import{globalCss as a}from\"./support/globalCss.js\";import{setFocus as n}from\"./support/widgetUtils.js\";import{messageBundle as p}from\"./support/decorators/messageBundle.js\";import{tsx as g}from\"./support/jsxFactory.js\";let c=class extends i{constructor(t,e){super(t,e),this.messages=null,this.viewModel=new r,this.toggle=()=>this.viewModel.toggle(),this._panButton=null,this._rotateButton=null,this._toggle=()=>{const t=\"pan\"===this.viewModel?.navigationMode?this._rotateButton:this._panButton;n(t),this.toggle()}}loadDependencies(){return l({button:()=>import(\"@esri/calcite-components/dist/components/calcite-button.js\")})}get icon(){return\"move\"}set icon(t){this._overrideIfSome(\"icon\",t)}get label(){return this.messages?.widgetLabel??\"\"}set label(t){this._overrideIfSome(\"label\",t)}set layout(t){\"horizontal\"!==t&&(t=\"vertical\"),this._set(\"layout\",t)}get view(){return this.viewModel.view}set view(t){this.viewModel.view=t}render(){const t=\"disabled\"===this.viewModel?.state,e=\"pan\"===this.viewModel?.navigationMode,o=this.messages.toggle;return g(\"div\",{class:this.classes(s.base,a.widget,{[s.isLayoutHorizontal]:\"horizontal\"===this.layout})},g(\"calcite-button\",{afterCreate:t=>{this._panButton=t},appearance:e?\"outline-fill\":\"solid\",class:a.widgetButton,disabled:t,iconStart:\"move\",kind:\"neutral\",label:o,onclick:this._toggle,tabIndex:e?void 0:-1,title:o}),g(\"calcite-button\",{afterCreate:t=>{this._rotateButton=t},appearance:e?\"solid\":\"outline-fill\",class:a.widgetButton,disabled:t,iconStart:\"rotate\",kind:\"neutral\",label:o,onclick:this._toggle,tabIndex:e?-1:void 0,title:o}))}};t([e()],c.prototype,\"icon\",null),t([e()],c.prototype,\"label\",null),t([e({value:\"vertical\"})],c.prototype,\"layout\",null),t([e(),p(\"esri/widgets/NavigationToggle/t9n/NavigationToggle\")],c.prototype,\"messages\",void 0),t([e()],c.prototype,\"view\",null),t([e({type:r})],c.prototype,\"viewModel\",void 0),c=t([o(\"esri.widgets.NavigationToggle\")],c);const d=c;export{d as default};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{_ as t}from\"../../chunks/tslib.es6.js\";import o from\"../../core/Accessor.js\";import{when as i}from\"../../core/reactiveUtils.js\";import{property as e}from\"../../core/accessorSupport/decorators/property.js\";import\"../../core/has.js\";import\"../../core/Logger.js\";import\"../../core/RandomLCG.js\";import{subclass as a}from\"../../core/accessorSupport/decorators/subclass.js\";let s=class extends o{constructor(t){super(t),this._navigationMode=\"pan\",this.view=null}initialize(){this.addHandles(i((()=>this.view?.inputManager),(()=>this._setNavigationMode())))}destroy(){this.view=null}get state(){return this.view?.ready&&\"3d\"===this.view?.type?\"ready\":\"disabled\"}get navigationMode(){return this._navigationMode}set navigationMode(t){this._navigationMode=t,this._setNavigationMode()}toggle(){\"disabled\"!==this.state&&(this.navigationMode=\"pan\"!==this.navigationMode?\"pan\":\"rotate\")}_setNavigationMode(){const t=this.view?.inputManager;t&&(t.primaryDragAction=\"pan\"===this._navigationMode?\"pan\":\"rotate\")}};t([e({readOnly:!0})],s.prototype,\"state\",null),t([e()],s.prototype,\"_navigationMode\",void 0),t([e()],s.prototype,\"view\",void 0),s=t([a(\"esri.widgets.NavigationToggle.NavigationToggleViewModel\")],s);const r=s;export{r as default};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nconst o=\"esri-navigation-toggle\",t={base:o,isLayoutHorizontal:`${o}--horizontal`};export{t as css};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{_ as e}from\"../chunks/tslib.es6.js\";import{deprecatedProperty as t}from\"../core/deprecate.js\";import i from\"../core/Logger.js\";import{ignoreAbortErrors as o,after as n}from\"../core/promiseUtils.js\";import{watch as s,initial as r,on as l,whenOnce as a}from\"../core/reactiveUtils.js\";import{waitAnimationFrame as d}from\"../core/scheduling.js\";import{property as c}from\"../core/accessorSupport/decorators/property.js\";import\"../core/has.js\";import\"../core/RandomLCG.js\";import{subclass as p}from\"../core/accessorSupport/decorators/subclass.js\";import h from\"../support/actions/ActionButton.js\";import u from\"./Features.js\";import g from\"./Widget.js\";import{css as v}from\"./Popup/css.js\";import m from\"./Popup/PopupViewModel.js\";import b from\"./Popup/PopupVisibleElements.js\";import{globalCss as f}from\"./support/globalCss.js\";import{isRTL as w}from\"./support/widgetUtils.js\";import{messageBundle as _}from\"./support/decorators/messageBundle.js\";import{vmEvent as E}from\"./support/decorators/vmEvent.js\";import{tsx as k}from\"./support/jsxFactory.js\";const M=200,y={buttonEnabled:!0,position:\"auto\",breakpoint:{width:544}};let C=class extends g{constructor(e,t){super(e,t),this._dockAction=new h({id:\"popup-dock-action\"}),this._featuresWidget=new u({responsiveActionsEnabled:!0}),this._containerNode=null,this._mainContainerNode=null,this._pointerOffsetInPx=16,this._focusAbortController=null,this.alignment=\"auto\",this.dockEnabled=!1,this.headingLevel=2,this.messages=null,this.viewModel=new m,this.visibleElements=new b}initialize(){this.addHandles([s((()=>[this.viewModel?.view?.widthBreakpoint,this.dockEnabled]),(()=>this._handleDockIcon()),r),s((()=>[this.dockEnabled,this.messages?.undock,this.messages?.dock]),(()=>this._handleDockEnabled()),r),s((()=>this.dockOptions),(e=>{const{_dockAction:t}=this,i=this._featuresWidget.headerActions;i.remove(t),e.buttonEnabled&&i.add(t)}),r),s((()=>this.viewModel?.screenLocation),(()=>this._positionContainer())),s((()=>[this.viewModel?.active,this.dockEnabled]),(()=>this._toggleScreenLocationEnabled())),s((()=>[this.viewModel?.screenLocation,this.viewModel?.view?.padding,this.viewModel?.view?.size,this.viewModel?.active,this.viewModel?.location,this.alignment]),(()=>this.reposition())),s((()=>this.viewModel?.view?.size),((e,t)=>this._updateDockEnabledForViewSize(e,t))),s((()=>this.viewModel?.view),((e,t)=>this._viewChange(e,t))),s((()=>this.viewModel?.view?.ready),((e,t)=>this._viewReadyChange(e??!1,t??!1))),s((()=>this.viewModel),(()=>this._featuresWidget.viewModel=this.viewModel),r),s((()=>this._featureNavigationTop),(e=>this._featuresWidget.featureNavigationTop=e),r),s((()=>this.headingLevel),(e=>this._featuresWidget.headingLevel=e),r),s((()=>this.visibleElements.actionBar),(e=>this._featuresWidget.visibleElements.actionBar=!!e),r),s((()=>this.visibleElements.closeButton),(e=>this._featuresWidget.visibleElements.closeButton=!!e),r),s((()=>this.visibleElements.collapseButton),(e=>this._featuresWidget.visibleElements.collapseButton=!!e),r),s((()=>this.visibleElements.heading),(e=>this._featuresWidget.visibleElements.heading=!!e),r),s((()=>this.visibleElements.spinner),(e=>this._featuresWidget.visibleElements.spinner=!!e),r),s((()=>this.visibleElements.featureNavigation),(e=>this._featuresWidget.visibleElements.featureNavigation=!!e),r),s((()=>this.visibleElements.featureListLayerTitle),(e=>this._featuresWidget.visibleElements.featureListLayerTitle=!!e),r),l((()=>this._featuresWidget),\"trigger-header-action\",(e=>{e.action===this._dockAction&&(this.dockEnabled=!this.dockEnabled)}))])}normalizeCtorArgs(e){const t={...e};return null!=e?.visibleElements&&(t.visibleElements=new b(e.visibleElements),null!=e.collapseEnabled&&(t.visibleElements.collapseButton=e.collapseEnabled),null!=e.spinnerEnabled&&(t.visibleElements.spinner=e.spinnerEnabled)),t}destroy(){this._dockAction.destroy(),this._featuresWidget?.destroy(),this._focusAbortController?.abort()}get _featureNavigationTop(){const{currentAlignment:e,currentDockPosition:t}=this;return\"bottom-left\"===e||\"bottom-center\"===e||\"bottom-right\"===e||\"top-left\"===t||\"top-center\"===t||\"top-right\"===t}get actions(){return this.viewModel.actions}set actions(e){this.viewModel.actions=e}get active(){return this.viewModel.active}get autoCloseEnabled(){return this.viewModel.autoCloseEnabled}set autoCloseEnabled(e){this.viewModel.autoCloseEnabled=e}get defaultPopupTemplateEnabled(){return this.viewModel.defaultPopupTemplateEnabled}set defaultPopupTemplateEnabled(e){this.viewModel.defaultPopupTemplateEnabled=e}get content(){return this.viewModel.content}set content(e){this.viewModel.content=e}get collapsed(){return this._featuresWidget.collapsed}set collapsed(e){this._featuresWidget.collapsed=e}get collapseEnabled(){return t(i.getLogger(this),\"collapseEnabled\",{replacement:\"PopupVisibleElements.collapseButton\",version:\"4.29\"}),this.visibleElements.collapseButton}set collapseEnabled(e){t(i.getLogger(this),\"collapseEnabled\",{replacement:\"PopupVisibleElements.collapseButton\",version:\"4.29\"}),this.visibleElements.collapseButton=e}get currentAlignment(){return this._getCurrentAlignment()}get currentDockPosition(){return this._getCurrentDockPosition()}get dockOptions(){return this._get(\"dockOptions\")||y}set dockOptions(e){const t={...y},i=this.viewModel?.view?.breakpoints,o={};i&&(o.width=i.xsmall,o.height=i.xsmall);const n={...t,...e},s={...t.breakpoint,...o},{breakpoint:r}=n;\"object\"==typeof r?n.breakpoint={...s,...r}:r&&(n.breakpoint=s),this._set(\"dockOptions\",n),this._setCurrentDockPosition(),this.reposition()}get featureCount(){return this.viewModel.featureCount}get featureMenuOpen(){return this.viewModel.featureMenuOpen}set featureMenuOpen(e){this.viewModel.featureMenuOpen=e}get features(){return this.viewModel.features}set features(e){this.viewModel.features=e}get goToOverride(){return this.viewModel.goToOverride}set goToOverride(e){this.viewModel.goToOverride=e}get highlightEnabled(){return this.viewModel.highlightEnabled}set highlightEnabled(e){this.viewModel.highlightEnabled=e}get icon(){return\"popup\"}set icon(e){this._overrideIfSome(\"icon\",e)}get location(){return this.viewModel.location}set location(e){this.viewModel.location=e}get label(){return this.messages?.widgetLabel??\"\"}set label(e){this._overrideIfSome(\"label\",e)}get promises(){return this.viewModel.promises}set promises(e){this.viewModel.promises=e}get selectedFeature(){return this.viewModel.selectedFeature}get selectedFeatureIndex(){return this.viewModel.selectedFeatureIndex}set selectedFeatureIndex(e){this.viewModel.selectedFeatureIndex=e}get selectedFeatureWidget(){return this._featuresWidget.selectedFeatureWidget}get spinnerEnabled(){return t(i.getLogger(this),\"spinnerEnabled\",{replacement:\"PopupVisibleElements.spinner\",version:\"4.29\"}),this.visibleElements.spinner}set spinnerEnabled(e){t(i.getLogger(this),\"spinnerEnabled\",{replacement:\"PopupVisibleElements.spinner\",version:\"4.29\"}),this.visibleElements.spinner=e}get title(){return this.viewModel.title}set title(e){this.viewModel.title=e}get updateLocationEnabled(){return this.viewModel.updateLocationEnabled}set updateLocationEnabled(e){this.viewModel.updateLocationEnabled=e}get view(){return this.viewModel.view}set view(e){this.viewModel.view=e}get visible(){return this.viewModel.visible}set visible(e){this.viewModel.visible=e}blur(){const{active:e}=this.viewModel;e||i.getLogger(this).warn(\"Popup can only be blurred when currently active.\"),this._featuresWidget.blur()}clear(){return this.viewModel.clear()}close(){this.visible=!1}fetchFeatures(e,t){return this.viewModel.fetchFeatures(e,t)}focus(){const{active:e}=this.viewModel;e||i.getLogger(this).warn(\"Popup can only be focused when currently active.\"),this._handleFocus()}next(){return this.viewModel.next()}open(e){const t=!!e&&!!e.featureMenuOpen,i={collapsed:!!e&&!!e.collapsed,featureMenuOpen:t};this.set(i),this.viewModel.open(e),e?.shouldFocus&&this._handleFocus(!0)}previous(){return this.viewModel.previous()}reposition(){this.renderNow(),this._positionContainer(),this._setCurrentAlignment()}triggerAction(e){return this.viewModel.triggerAction(e)}render(){const{dockEnabled:e,currentAlignment:t,currentDockPosition:i}=this,{active:o,screenLocation:n}=this.viewModel,s=o&&e,r=o&&!e,l=this.selectedFeature?.layer?.title,a=this.selectedFeature?.layer?.id,d={[v.alignTopCenter]:\"top-center\"===t,[v.alignBottomCenter]:\"bottom-center\"===t,[v.alignTopLeft]:\"top-left\"===t,[v.alignBottomLeft]:\"bottom-left\"===t,[v.alignTopRight]:\"top-right\"===t,[v.alignBottomRight]:\"bottom-right\"===t,[v.isDocked]:s,[v.shadow]:r,[v.isDockedTopLeft]:\"top-left\"===i,[v.isDockedTopCenter]:\"top-center\"===i,[v.isDockedTopRight]:\"top-right\"===i,[v.isDockedBottomLeft]:\"bottom-left\"===i,[v.isDockedBottomCenter]:\"bottom-center\"===i,[v.isDockedBottomRight]:\"bottom-right\"===i};return k(\"div\",{afterCreate:this._positionContainer,afterUpdate:this._positionContainer,bind:this,class:this.classes(v.base,d,{[v.baseHidden]:!n&&!e}),\"data-layer-id\":a,\"data-layer-title\":l,role:\"presentation\"},o?[this._renderMainContainer(),this._renderPointer()]:null)}_renderPointer(){return this.dockEnabled?null:k(\"div\",{class:v.pointer,key:\"popup-pointer\",role:\"presentation\"},k(\"div\",{class:this.classes(v.pointerDirection,v.shadow)}))}_renderMainContainer(){const{dockEnabled:e}=this,t={[v.shadow]:e};return k(\"div\",{afterCreate:this._setMainContainerNode,afterUpdate:this._setMainContainerNode,bind:this,class:this.classes(v.main,f.widget,t)},this._featuresWidget.render())}_getAnimationDurationMS(){const{_containerNode:e}=this;return e?1e3*parseFloat(window.getComputedStyle(e).animationDuration):M}async _handleFocus(e=!1){this._focusAbortController?.abort(),this._focusAbortController=new AbortController;const t=this._focusAbortController.signal;e&&await a((()=>!0===this.viewModel?.active),{signal:t}),await o(d(t)),await o(n(this._getAnimationDurationMS(),t)),this._featuresWidget.focus()}_isOutsideView(e){const{popupHeight:t,popupWidth:i,screenLocation:o,side:n,view:s}=e;if(isNaN(i)||isNaN(t)||!s||!o)return!1;const r=s.padding;return\"right\"===n&&o.x+i/2>s.width-r.right||(\"left\"===n&&o.x-i/2s.height-r.bottom))}_calculateAutoAlignment(e){if(\"auto\"!==e)return e;const{_pointerOffsetInPx:t,_containerNode:i,_mainContainerNode:o,viewModel:n}=this,{screenLocation:s,view:r}=n;if(null==s||!r||!i)return\"top-center\";function l(e){return parseInt(e.replaceAll(/[^-\\d.]/g,\"\"),10)}const a=o?window.getComputedStyle(o,null):null,d=a?l(a.getPropertyValue(\"max-height\")):0,c=a?l(a.getPropertyValue(\"height\")):0,{height:p,width:h}=i.getBoundingClientRect(),u=h+t,g=Math.max(p,d,c)+t,v=this._isOutsideView({popupHeight:g,popupWidth:u,screenLocation:s,side:\"right\",view:r}),m=this._isOutsideView({popupHeight:g,popupWidth:u,screenLocation:s,side:\"left\",view:r}),b=this._isOutsideView({popupHeight:g,popupWidth:u,screenLocation:s,side:\"top\",view:r}),f=this._isOutsideView({popupHeight:g,popupWidth:u,screenLocation:s,side:\"bottom\",view:r});return m?b?\"bottom-right\":\"top-right\":v?b?\"bottom-left\":\"top-left\":b?f?\"top-center\":\"bottom-center\":\"top-center\"}_callCurrentAlignment(e){return\"function\"==typeof e?e.call(this):e}_getCurrentAlignment(){const{alignment:e,dockEnabled:t}=this;return t||!this.viewModel.active?null:this._calculatePositionResult(this._calculateAutoAlignment(this._callCurrentAlignment(e)))}_setCurrentAlignment(){this._set(\"currentAlignment\",this._getCurrentAlignment())}_setCurrentDockPosition(){this._set(\"currentDockPosition\",this._getCurrentDockPosition())}_calculatePositionResult(e){const t=[\"left\",\"right\"];return w(this.container)&&t.reverse(),e?.replace(/leading/gi,t[0]).replaceAll(/trailing/gi,t[1])}_callDockPosition(e){return\"function\"==typeof e?e.call(this):e}_getDockPosition(){return this._calculatePositionResult(this._calculateAutoDockPosition(this._callDockPosition(this.dockOptions?.position)))}_getCurrentDockPosition(){return this.dockEnabled&&this.viewModel.active?this._getDockPosition():null}_calculateAutoDockPosition(e){if(\"auto\"!==e)return e;const t=this.viewModel?.view,i=w(this.container)?\"top-left\":\"top-right\";if(!t)return i;const o=t.padding||{left:0,right:0,top:0,bottom:0},n=t.width-o.left-o.right,{breakpoints:s}=t;return s&&n<=s.xsmall?\"bottom-center\":i}_getDockIcon(){const e=this._getDockPosition();if(this.dockEnabled)return\"minimize\";switch(e){case\"top-left\":case\"bottom-left\":return\"dock-left\";case\"top-center\":return\"maximize\";case\"bottom-center\":return\"dock-bottom\";default:return\"dock-right\"}}_handleDockIcon(){this._dockAction.icon=this._getDockIcon()}_handleDockEnabled(){this._dockAction.title=this.dockEnabled?this.messages?.undock:this.messages?.dock}_setMainContainerNode(e){this._mainContainerNode=e}_positionContainer(e=this._containerNode){if(e&&(this._containerNode=e),!this._containerNode)return;const{screenLocation:t}=this.viewModel,{width:i}=this._containerNode.getBoundingClientRect(),o=this._calculatePositionStyle(t,i);o&&Object.assign(this._containerNode.style,o)}_calculateFullWidth(e){const{currentAlignment:t,_pointerOffsetInPx:i}=this;return\"top-left\"===t||\"bottom-left\"===t||\"top-right\"===t||\"bottom-right\"===t?e+i:e}_calculateAlignmentPosition(e,t,i,o){const{currentAlignment:n,_pointerOffsetInPx:s}=this;if(!i)return;const{padding:r}=i,l=o/2,a=i.height-t,d=i.width-e;return\"bottom-center\"===n?{top:t+s-r.top,left:e-l-r.left}:\"top-left\"===n?{bottom:a+s-r.bottom,right:d+s-r.right}:\"bottom-left\"===n?{top:t+s-r.top,right:d+s-r.right}:\"top-right\"===n?{bottom:a+s-r.bottom,left:e+s-r.left}:\"bottom-right\"===n?{top:t+s-r.top,left:e+s-r.left}:\"top-center\"===n?{bottom:a+s-r.bottom,left:e-l-r.left}:void 0}_calculatePositionStyle(e,t){const{dockEnabled:i,view:o}=this;if(!o)return;if(i)return{left:\"\",top:\"\",right:\"\",bottom:\"\"};if(null==e||!t)return;const n=this._calculateFullWidth(t),s=this._calculateAlignmentPosition(e.x,e.y,o,n);return s?{top:void 0!==s.top?`${s.top}px`:\"auto\",left:void 0!==s.left?`${s.left}px`:\"auto\",bottom:void 0!==s.bottom?`${s.bottom}px`:\"auto\",right:void 0!==s.right?`${s.right}px`:\"auto\"}:void 0}_viewChange(e,t){e&&t&&(this.close(),this.clear())}_viewReadyChange(e,t){e?this._wireUpView():t&&(this.close(),this.clear())}_wireUpView(){this._setDockEnabledForViewSize(this.dockOptions)}_dockingThresholdCrossed(e,t,i){const[o,n]=e,[s,r]=t,{width:l=0,height:a=0}=i??{};return o<=l&&s>l||o>l&&s<=l||n<=a&&r>a||n>a&&r<=a}_updateDockEnabledForViewSize(e,t){if(!e||!t)return;const i=this.viewModel?.view?.padding||{left:0,right:0,top:0,bottom:0},o=i.left+i.right,n=i.top+i.bottom,s=[],r=[];s[0]=e[0]-o,s[1]=e[1]-n,r[0]=t[0]-o,r[1]=t[1]-n;const{dockOptions:l}=this,a=l.breakpoint;this._dockingThresholdCrossed(s,r,a)&&this._setDockEnabledForViewSize(l),this._setCurrentDockPosition()}_toggleScreenLocationEnabled(){const{dockEnabled:e,viewModel:t}=this;if(!t)return;const i=t.active&&!e;t.screenLocationEnabled=i}_shouldDockAtCurrentViewSize(e){const t=e.breakpoint,i=this.viewModel?.view?.ui;if(!i)return!1;const{width:o,height:n}=i;if(isNaN(o)||isNaN(n))return!1;if(!t)return!1;const s=t.hasOwnProperty(\"width\")&&o<=(t.width??0),r=t.hasOwnProperty(\"height\")&&n<=(t.height??0);return s||r}_setDockEnabledForViewSize(e){e.breakpoint&&(this.dockEnabled=this._shouldDockAtCurrentViewSize(e))}};e([c({readOnly:!0})],C.prototype,\"_featureNavigationTop\",null),e([c()],C.prototype,\"actions\",null),e([c({readOnly:!0})],C.prototype,\"active\",null),e([c()],C.prototype,\"alignment\",void 0),e([c()],C.prototype,\"autoCloseEnabled\",null),e([c()],C.prototype,\"defaultPopupTemplateEnabled\",null),e([c()],C.prototype,\"content\",null),e([c()],C.prototype,\"collapsed\",null),e([c()],C.prototype,\"collapseEnabled\",null),e([c({readOnly:!0})],C.prototype,\"currentAlignment\",null),e([c({readOnly:!0})],C.prototype,\"currentDockPosition\",null),e([c()],C.prototype,\"dockOptions\",null),e([c()],C.prototype,\"dockEnabled\",void 0),e([c({readOnly:!0})],C.prototype,\"featureCount\",null),e([c()],C.prototype,\"featureMenuOpen\",null),e([c()],C.prototype,\"features\",null),e([c()],C.prototype,\"goToOverride\",null),e([c()],C.prototype,\"headingLevel\",void 0),e([c()],C.prototype,\"highlightEnabled\",null),e([c()],C.prototype,\"icon\",null),e([c()],C.prototype,\"location\",null),e([c()],C.prototype,\"label\",null),e([c(),_(\"esri/widgets/Popup/t9n/Popup\")],C.prototype,\"messages\",void 0),e([c()],C.prototype,\"promises\",null),e([c({readOnly:!0})],C.prototype,\"selectedFeature\",null),e([c()],C.prototype,\"selectedFeatureIndex\",null),e([c({readOnly:!0})],C.prototype,\"selectedFeatureWidget\",null),e([c()],C.prototype,\"spinnerEnabled\",null),e([c()],C.prototype,\"title\",null),e([c()],C.prototype,\"updateLocationEnabled\",null),e([c()],C.prototype,\"view\",null),e([c({type:m}),E([\"triggerAction\",\"trigger-action\"])],C.prototype,\"viewModel\",void 0),e([c()],C.prototype,\"visible\",null),e([c({type:b,nonNullable:!0})],C.prototype,\"visibleElements\",void 0),C=e([p(\"esri.widgets.Popup\")],C);const P=C;export{P as default};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{_ as o}from\"../../chunks/tslib.es6.js\";import\"../../core/Logger.js\";import\"../../core/has.js\";import\"../../core/RandomLCG.js\";import\"../../core/Error.js\";import{subclass as r}from\"../../core/accessorSupport/decorators/subclass.js\";import s from\"../Features/FeaturesViewModel.js\";let e=class extends s{constructor(o){super(o)}};e=o([r(\"esri.widgets.Popup.PopupViewModel\")],e);const t=e;export{t as default};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{_ as o}from\"../../chunks/tslib.es6.js\";import e from\"../../core/Accessor.js\";import{property as t}from\"../../core/accessorSupport/decorators/property.js\";import\"../../core/has.js\";import\"../../core/Logger.js\";import\"../../core/RandomLCG.js\";import{subclass as r}from\"../../core/accessorSupport/decorators/subclass.js\";let s=class extends e{constructor(){super(...arguments),this.actionBar=!0,this.closeButton=!0,this.collapseButton=!0,this.featureNavigation=!0,this.featureListLayerTitle=!0,this.heading=!0,this.spinner=!0}};o([t({type:Boolean,nonNullable:!0})],s.prototype,\"actionBar\",void 0),o([t({type:Boolean,nonNullable:!0})],s.prototype,\"closeButton\",void 0),o([t({type:Boolean,nonNullable:!0})],s.prototype,\"collapseButton\",void 0),o([t({type:Boolean,nonNullable:!0})],s.prototype,\"featureNavigation\",void 0),o([t({type:Boolean,nonNullable:!0})],s.prototype,\"featureListLayerTitle\",void 0),o([t({type:Boolean,nonNullable:!0})],s.prototype,\"heading\",void 0),o([t({type:Boolean,nonNullable:!0})],s.prototype,\"spinner\",void 0),s=o([r(\"esri.widgets.Popup.PopupVisibleElements\")],s);const p=s;export{p as default};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport e from\"../../core/Error.js\";import t from\"../../core/Logger.js\";import{throwIfNotAbortError as r,isAbortError as o}from\"../../core/promiseUtils.js\";import{zoomToFeature as i,zoomToClusteredFeatures as n,browseClusteredFeatures as a,removeSelectedFeature as s}from\"./actions.js\";const c=\"esri.widgets.Popup.PopupViewModel\",u=()=>t.getLogger(c),l=t=>{const{event:o,view:c,viewModel:u}=t,{action:l}=o;if(!l)return Promise.reject(new e(\"trigger-action:missing-arguments\",\"Event has no action\"));const{disabled:d,id:g}=l;if(!g)return Promise.reject(new e(\"trigger-action:invalid-action\",\"action.id is missing\"));if(d)return Promise.reject(new e(\"trigger-action:invalid-action\",\"Action is disabled\"));if(g===i.id)return f(u).catch(r);if(g===n.id)return m(u);if(g===a.id)return u.browseClusterEnabled=!u.browseClusterEnabled,u.featureMenuOpen=u.browseClusterEnabled,Promise.resolve();if(g===s.id){u.visible=!1;const{selectedFeature:t}=u;if(!t)return Promise.reject(new e(`trigger-action:${s.id}`,\"selectedFeature is required\",{selectedFeature:t}));const{sourceLayer:r}=t;return r?r.remove(t):c?.graphics.remove(t),Promise.resolve()}return Promise.resolve()};function d(e){const{selectedFeature:t,location:r,view:o}=e;return o?t??r??null:null}function g(e){return!!e&&e.isAggregate&&\"cluster\"===e.sourceLayer?.featureReduction?.type}async function w(e,t){if(\"3d\"!==t?.type||!e||\"esri.Graphic\"!==e.declaredClass)return!0;const r=t.getViewForGraphic(e);if(r&&\"whenGraphicBounds\"in r){let t=null;try{t=await r.whenGraphicBounds(e,{useViewElevation:!0})}catch(o){}return!t||!t.boundingBox||t.boundingBox[0]===t.boundingBox[3]&&t.boundingBox[1]===t.boundingBox[4]&&t.boundingBox[2]===t.boundingBox[5]}return!0}async function f(t,r){const{location:n,selectedFeature:a,view:s,zoomFactor:c}=t;await(r?.viewModel?.updateGeometry());const l=r?.graphic,g=l?.geometry?l:d(t);if(!s||!g){const t=new e(\"zoom-to:invalid-target-or-view\",\"Cannot zoom to location without a target and view.\",{target:g,view:s});throw u().error(t),t}const f=s.scale/c,m=l?.geometry??t.selectedFeature?.geometry??n,v=null!=m&&\"point\"===m.type&&await w(l??a,s);i.active=!0,i.disabled=!0;try{await t.zoomTo({target:{target:g,scale:v?f:void 0}})}catch(p){if(o(p))return;const t=new e(\"zoom-to:invalid-graphic\",\"Could not zoom to the location of the graphic.\",{graphic:l??a});u().error(t)}finally{i.active=!1,i.disabled=!1,t.zoomToLocation=null,v&&(t.location=m)}}async function m(t){const{selectedFeature:r,view:o}=t;if(\"2d\"!==o?.type){const t=new e(\"zoomToCluster:invalid-view\",\"View must be 2d MapView.\",{view:o});throw u().error(t),t}if(!r||!g(r)){const t=new e(\"zoomToCluster:invalid-selectedFeature\",\"Selected feature must represent an aggregate/cluster graphic.\",{selectedFeature:r});throw u().error(t),t}const[i,a]=await y(o,r);n.active=!0,n.disabled=!0;const{extent:s}=await i.queryExtent(a);s&&await t.zoomTo({target:s}),n.active=!1,n.disabled=!1}async function v(e){const{view:t,selectedFeature:r}=e;if(!t||!r)return;const[o,i]=await y(t,r),{extent:n}=await o.queryExtent(i);e.selectedClusterBoundaryFeature.geometry=n,t.graphics.add(e.selectedClusterBoundaryFeature)}async function p(e){const{selectedFeature:t,view:r}=e;if(!r||!t)return;const[o,i]=await y(r,t);a.active=!0,a.disabled=!0;const{features:n}=await o.queryFeatures(i);a.active=!1,a.disabled=!1,a.value=!0,e?.open({features:[t].concat(n),featureMenuOpen:!0})}async function y(e,t){const r=await e.whenLayerView(t.sourceLayer),o=r.createQuery(),i=t.getObjectId();return o.aggregateIds=null!=i?[i]:[],[r,o]}function h(e){a.value=!1;const t=e.features.filter((e=>g(e)));t.length&&(e.features=t)}export{p as browseAggregateFeatures,v as displayClusterExtent,d as getSelectedTarget,g as isClusterFeature,h as removeClusteredFeaturesForBrowsing,l as triggerAction,m as zoomToClusterExtent,f as zoomToLocation};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport e from\"../../core/Collection.js\";import s from\"../../support/actions/ActionBase.js\";import o from\"../../support/actions/ActionButton.js\";import t from\"../../support/actions/ActionToggle.js\";import{legacyIcon as a}from\"../support/legacyIcon.js\";const i=e.ofType({key:\"type\",defaultKeyValue:\"button\",base:s,typeMap:{button:o,toggle:t}}),n=new o({icon:\"magnifying-glass-plus\",id:\"zoom-to-feature\",title:\"{messages.zoom}\",className:a.zoomInMagnifyingGlass}),r=new o({icon:\"trash\",id:\"remove-selected-feature\",title:\"{messages.remove}\",className:a.trash}),l=new o({icon:\"magnifying-glass-plus\",id:\"zoom-to-clustered-features\",title:\"{messages.zoom}\",className:a.zoomInMagnifyingGlass}),m=new t({icon:\"table\",id:\"browse-clustered-features\",title:\"{messages.browseClusteredFeatures}\",className:a.table,value:!1}),c=[n,r,m,l];export{i as ActionsCollection,c as all,m as browseClusteredFeatures,r as removeSelectedFeature,l as zoomToClusteredFeatures,n as zoomToFeature};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nconst t=\"esri-popup\",o=`${t}--is-docked`,e={base:t,baseHidden:`${t}--hidden`,main:`${t}__main-container`,shadow:`${t}--shadow`,isDocked:o,isDockedTopLeft:`${o}-top-left`,isDockedTopCenter:`${o}-top-center`,isDockedTopRight:`${o}-top-right`,isDockedBottomLeft:`${o}-bottom-left`,isDockedBottomCenter:`${o}-bottom-center`,isDockedBottomRight:`${o}-bottom-right`,alignTopCenter:`${t}--aligned-top-center`,alignBottomCenter:`${t}--aligned-bottom-center`,alignTopLeft:`${t}--aligned-top-left`,alignBottomLeft:`${t}--aligned-bottom-left`,alignTopRight:`${t}--aligned-top-right`,alignBottomRight:`${t}--aligned-bottom-right`,pointer:`${t}__pointer`,pointerDirection:`${t}__pointer-direction`};export{e as css};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{_ as e}from\"../chunks/tslib.es6.js\";import\"../intl.js\";import t from\"../core/Collection.js\";import{assertIsSome as i}from\"../core/maybe.js\";import{property as n}from\"../core/accessorSupport/decorators/property.js\";import{cast as s}from\"../core/accessorSupport/decorators/cast.js\";import\"../core/RandomLCG.js\";import\"../core/has.js\";import{subclass as o}from\"../core/accessorSupport/decorators/subclass.js\";import r from\"./Widget.js\";import{css as a}from\"./Slider/css.js\";import l from\"./Slider/SliderViewModel.js\";import{globalCss as h}from\"./support/globalCss.js\";import{onResize as u}from\"./support/widgetUtils.js\";import{messageBundle as c}from\"./support/decorators/messageBundle.js\";import{tsx as d}from\"./support/jsxFactory.js\";import{substitute as m}from\"../intl/substitute.js\";const _={showInput:\"Enter\",hideInput1:\"Enter\",hideInput2:\"Escape\",hideInput3:\"Tab\",moveAnchorUp:\"ArrowUp\",moveAnchorDown:\"ArrowDown\",moveAnchorLeft:\"ArrowLeft\",moveAnchorRight:\"ArrowRight\",moveAnchorToMax:\"End\",moveAnchorToMin:\"Home\"},p={labels:!1,rangeLabels:!1};let v=class extends r{constructor(e,i){super(e,i),this._activeLabelInputIndex=null,this._anchorElements=[],this._dragged=!1,this._dragStartInfo=null,this._focusedAnchorIndex=null,this._isMinInputActive=!1,this._isMaxInputActive=!1,this._lastMovedHandleIndex=null,this._positionPrecision=5,this._segmentDragStartInfo=null,this._trackHeight=null,this._trackWidth=null,this._zIndices=[],this._zIndexOffset=3,this.disabled=!1,this.draggableSegmentsEnabled=!0,this.effectiveSegmentElements=new t,this.extraNodes=[],this.inputCreatedFunction=null,this.labelElements=new t,this.labelInputsEnabled=!1,this.maxLabelElement=null,this.messages=null,this.minLabelElement=null,this.rangeLabelInputsEnabled=!1,this.segmentElements=new t,this.snapOnClickEnabled=!0,this.steps=null,this.syncedSegmentsEnabled=!1,this.thumbCreatedFunction=null,this.thumbElements=new t,this.tickElements=new t,this.trackElement=null,this.viewModel=new l,this.visibleElements={...p},this._onAnchorPointerDown=this._onAnchorPointerDown.bind(this),this._onAnchorPointerMove=this._onAnchorPointerMove.bind(this),this._onAnchorPointerUp=this._onAnchorPointerUp.bind(this),this._onLabelPointerDown=this._onLabelPointerDown.bind(this),this._onLabelPointerUp=this._onLabelPointerUp.bind(this),this._onSegmentPointerDown=this._onSegmentPointerDown.bind(this),this._onSegmentPointerMove=this._onSegmentPointerMove.bind(this),this._onSegmentPointerUp=this._onSegmentPointerUp.bind(this),this._onTrackPointerDown=this._onTrackPointerDown.bind(this),this._onTrackPointerMove=this._onTrackPointerMove.bind(this),this._onTrackPointerUp=this._onTrackPointerUp.bind(this)}destroy(){document.removeEventListener(\"pointerup\",this._onLabelPointerUp),document.removeEventListener(\"pointermove\",this._onLabelPointerMove),document.removeEventListener(\"pointerup\",this._onAnchorPointerUp),document.removeEventListener(\"pointermove\",this._onAnchorPointerMove),this.labelElements.removeAll(),this.labelElements.destroy(),this.segmentElements.removeAll(),this.segmentElements.destroy(),this.effectiveSegmentElements.removeAll(),this.effectiveSegmentElements.destroy(),this.thumbElements.removeAll(),this.thumbElements.destroy(),this.tickElements.removeAll(),this.tickElements.destroy()}get effectiveMax(){return this.viewModel.effectiveMax}set effectiveMax(e){this.viewModel.effectiveMax=e}get effectiveMin(){return this.viewModel.effectiveMin}set effectiveMin(e){this.viewModel.effectiveMin=e}get inputFormatFunction(){return this.viewModel.inputFormatFunction}set inputFormatFunction(e){this.viewModel.inputFormatFunction=e}get inputParseFunction(){return this.viewModel.inputParseFunction}set inputParseFunction(e){this.viewModel.inputParseFunction=e}get icon(){return\"caret-double-horizontal\"}set icon(e){this._overrideIfSome(\"icon\",e)}get label(){return this.messages?.widgetLabel??\"\"}set label(e){this._overrideIfSome(\"label\",e)}get labelFormatFunction(){return this.viewModel.labelFormatFunction}set labelFormatFunction(e){this.viewModel.labelFormatFunction=e}get labels(){return this.viewModel.labels}set layout(e){[\"vertical\",\"vertical-reversed\",\"horizontal\",\"horizontal-reversed\"].includes(e)||(e=\"horizontal\"),this._set(\"layout\",e)}get max(){return this.viewModel.max}set max(e){this.viewModel.max=e}get min(){return this.viewModel.min}set min(e){this.viewModel.min=e}get precision(){return this.viewModel.precision}set precision(e){this.viewModel.precision=e}get state(){const{_activeLabelInputIndex:e,_isMaxInputActive:t,_isMinInputActive:i,_dragStartInfo:n,_segmentDragStartInfo:s,disabled:o,viewModel:r}=this;return o?\"disabled\":!(null===e&&!t&&!i)?\"editing\":null!=n||null!=s?\"dragging\":r.state}get thumbsConstrained(){return this.viewModel.thumbsConstrained}set thumbsConstrained(e){this.viewModel.thumbsConstrained=e}set tickConfigs(e){this._set(\"tickConfigs\",e),this.scheduleRender()}get values(){return this.viewModel.values}set values(e){this.viewModel.values=e}castVisibleElements(e){return{...p,...e}}render(){const{label:e}=this,t=this.classes(a.base,h.widget,this._isHorizontalLayout()?a.horizontalLayout:a.verticalLayout,this._isReversedLayout()?a.reversed:null,this._isDisabled()?h.disabled:null);return this._storeTrackDimensions(),d(\"div\",{afterCreate:this._afterContainerCreate,\"aria-label\":e,bind:this,class:t,\"touch-action\":\"none\"},this._renderContent())}toNextStep(e){this._toStep(e,1)}toPreviousStep(e){this._toStep(e,-1)}getCurrentPosition(){return this._positionFromValue(this.values?.[0]??0)}_renderContent(){const{max:e,min:t}=this;if(!(null==t||null==e||t>=e))return[this._renderMin(),this._renderSliderContainer(),this._renderMax()]}_renderSliderContainer(){return d(\"div\",{bind:this,class:a.contentElement,key:\"slider-container\"},this._renderTrackElement(),this._renderTicksContainer(),this._renderExtraContentElements())}_renderTrackElement(){return d(\"div\",{afterCreate:this._afterTrackCreate,afterRemoved:this._afterTrackRemoved,bind:this,class:a.trackElement,\"touch-action\":\"none\"},this._renderEffectiveSegmentElements(),this._renderSegmentElements(),this._renderAnchorElements())}_renderEffectiveSegmentElements(){if(!this.trackElement||!this.values?.length)return;const e=null!=this.effectiveMax,t=null!=this.effectiveMin;if(!e&&!t)return;const{max:i,min:n,viewModel:s}=this,o=s.getBounds(),r=[];return t&&r.push(this._renderEffectiveSegmentElement(n,o.min,!0)),e&&r.push(this._renderEffectiveSegmentElement(o.max,i,!1)),r}_renderSegmentElements(){if(!this.trackElement||!this.values?.length)return;const e=this.values.length,t=[];for(let i=0;i<=e;i++)t.push(this._renderSegmentElement(i));return t}_renderSegmentElement(e){const{_trackHeight:t,_trackWidth:i,draggableSegmentsEnabled:n,id:s,state:o}=this,r=this.values,l=this._isHorizontalLayout(),h=l?i:t,u=this.viewModel.getBounds(),c=this._positionFromValue(u.max),m=this._positionFromValue(u.min),_=e===r?.length?null:e,p=0===e?null:e-1,v=null!=_,g=null!=p;let f,b;const E=[...r].sort(((e,t)=>e-t));this._isReversedLayout()?(f=g?this._positionFromValue(E[p]):m,b=v?this._positionFromValue(E[_]):c):(f=v?this._positionFromValue(E[_]):c,b=g?this._positionFromValue(E[p]):m);const x=this._applyPrecisionToPosition(100*b/h),y=(f-b)/h,k=l?`transform: translate(${x}%, 0px) scale(${y}, 1);`:`transform: translate(0px, ${x}%) scale(1, ${y});`,P=this.classes(a.segmentElement,a.segmentElementIndexPrefix+e,n&&v&&g&&\"disabled\"!==o?a.segmentElementInteractive:null);return d(\"div\",{afterCreate:this._afterSegmentCreate,afterRemoved:this._afterSegmentRemoved,bind:this,class:P,\"data-max-thumb-index\":_,\"data-min-thumb-index\":p,\"data-segment-index\":e,key:`${s}-segment-${e}`,style:k,\"touch-action\":\"none\"})}_renderEffectiveSegmentElement(e,t,i){const{_trackHeight:n,_trackWidth:s,layout:o}=this,r=this._positionFromValue(e),l=this._positionFromValue(t),h=this._isHorizontalLayout(),u=h?s:n,c=this._applyPrecisionToPosition(100*r/u);let m=null;if(\"horizontal\"===o){const e=i?u-l:l,t=r===u?0:c;m=`clip-path: inset(0% ${l===u?0:this._applyPrecisionToPosition(e/u*100)}% 0% ${t}%);`}else{const e=(l-r)/u;m=h?`transform: translate(${c}%, 0px) scale(${e}, 1);`:`transform: translate(0px, ${c}%) scale(1, ${e});`}const _=i?a.effectiveMinSegmentElement:a.effectiveMaxSegmentElement,p=this.classes(a.segmentElement,a.effectiveSegmentElement,_);return d(\"div\",{afterCreate:this._afterEffectiveSegmentCreate,afterRemoved:this._afterEffectiveSegmentRemoved,bind:this,class:p,style:m,\"touch-action\":\"none\"})}_renderAnchorElements(){const{trackElement:e,values:t}=this;if(t?.length)return this._zIndices=t.map(((e,i)=>{const n=this._positionFromValue(e),s=this._positionToPercent(n),o=(this._isHorizontalLayout()?s>50:s<50)?-1:1;return this._zIndexOffset+(t.length+o*i)})),e&&t&&t.length?t.map(((e,t)=>this._renderAnchorElement(e,t))):null}_renderAnchorElement(e,t){const i=this._positionFromValue(e),n=this._valueFromPosition(i);if(null==n||isNaN(n))return;const{_dragStartInfo:s,_lastMovedHandleIndex:o,id:r,layout:l,visibleElements:{labels:h}}=this,u=this.values,c=s&&s.index===t,_=o===t,p=this.classes(a.anchorElement,a.anchorElementIndexPrefix+t,c?a.movingAnchorElement:null,_?a.lastMovedAnchorElement:null),v=this.labels.values[t],g=this._getStyleForAnchor(e,t,c||_),{min:f,max:b}=this.viewModel.getBoundsForValueAtIndex(t),{disabled:E,messages:x}=this,y=2===u.length?m(0===t?x.rangeMinimum:x.rangeMaximum,{value:e}):v,k=1===u.length?null:0===t?`${r}-handle-${t+1}`:t===u.length-1?`${r}-handle-${t-1}`:`${r}-handle-${t-1} ${r}-handle-${t+1}`;return d(\"div\",{afterCreate:this._afterAnchorCreate,afterRemoved:this._afterAnchorRemoved,afterUpdate:this._afterAnchorUpdate,\"aria-controls\":k,\"aria-label\":x.sliderValue,\"aria-labelledby\":h?`${r}-label-${t}`:null,\"aria-orientation\":l,\"aria-valuemax\":b?.toString(),\"aria-valuemin\":f?.toString(),\"aria-valuenow\":e.toString(),\"aria-valuetext\":y,bind:this,class:p,\"data-thumb-index\":t,\"data-value\":e,id:`${r}-handle-${t}`,key:`${r}-handle-${t}`,onkeydown:this._onAnchorKeyDown,role:\"slider\",style:g,tabIndex:E?-1:0,\"touch-action\":\"none\"},d(\"span\",{afterCreate:this._afterThumbCreate,afterRemoved:this._afterThumbRemoved,bind:this,class:a.thumbElement,\"data-thumb-index\":t,\"touch-action\":\"none\"}),this.renderThumbLabel(t))}renderThumbLabel(e){const{id:t,labels:i,labelInputsEnabled:n,state:s}=this,o=this.visibleElements.labels,r=i.values[e],l=this.classes(a.labelElement,o?null:h.hidden,n&&\"disabled\"!==s?a.labelElementInteractive:null);return d(\"span\",{afterCreate:this._afterLabelCreate,afterRemoved:this._afterLabelRemoved,\"aria-hidden\":(!o).toString(),bind:this,class:l,\"data-thumb-index\":e,id:`${t}-label-${e}`,key:`${t}-label-${e}`,role:n?\"button\":null,\"touch-action\":\"none\"},this._activeLabelInputIndex===e?this._renderValueInput(e):r)}_renderValueInput(e){const{disabled:t,values:i}=this;if(null==i)return;const n=i[e];return d(\"input\",{afterCreate:this._afterInputCreate,\"aria-label\":this.messages.sliderValue,bind:this,class:a.labelInput,\"data-input-index\":e,\"data-input-type\":\"thumb\",key:`value-input-${e}`,onblur:this._onLabelInputBlur,onkeydown:this._onInputKeyDown,required:!0,tabIndex:t?-1:0,type:\"text\",value:this._formatInputValue(n,\"value\",e)})}_renderMax(){const{_isMaxInputActive:e,labels:t,rangeLabelInputsEnabled:i,state:n}=this,s=this.visibleElements.rangeLabels,o=this.classes(a.maxElement,{[h.hidden]:!s,[a.maxElementInteractive]:i&&\"disabled\"!==n,[a.rangeElementActive]:e});return d(\"div\",{afterCreate:this._afterMaxLabelCreate,\"aria-hidden\":(!s).toString(),bind:this,class:o,onclick:this._onMaxLabelClick,onkeydown:this._onMaxLabelKeyDown,role:i?\"button\":null,tabIndex:!this.disabled&&i?0:-1},e?this._renderMaxInput():t.max)}_renderMin(){const{_isMinInputActive:e,labels:t,rangeLabelInputsEnabled:i,state:n}=this,s=this.visibleElements.rangeLabels,o=this.classes(a.minElement,{[h.hidden]:!s,[a.minElementInteractive]:i&&\"disabled\"!==n,[a.rangeElementActive]:e});return d(\"div\",{afterCreate:this._afterMinLabelCreate,\"aria-hidden\":(!s).toString(),bind:this,class:o,onclick:this._onMinLabelClick,onkeydown:this._onMinLabelKeyDown,role:i?\"button\":null,tabIndex:!this.disabled&&i?0:-1},e?this._renderMinInput():t.min)}_renderMaxInput(){return d(\"input\",{afterCreate:this._afterInputCreate,\"aria-label\":this.messages.maximumValue,bind:this,class:a.rangeInput,\"data-input-type\":\"max\",onblur:this._onMaxInputBlur,onkeydown:this._onInputKeyDown,required:!0,tabIndex:this.disabled?-1:0,type:\"text\",value:this._formatInputValue(this.max,\"max\")})}_renderMinInput(){return d(\"input\",{afterCreate:this._afterInputCreate,\"aria-label\":this.messages.minimumValue,bind:this,class:a.rangeInput,\"data-input-type\":\"min\",onblur:this._onMinInputBlur,onkeydown:this._onInputKeyDown,required:!0,tabIndex:this.disabled?-1:0,type:\"text\",value:this._formatInputValue(this.min,\"min\")})}_renderExtraContentElements(){return d(\"div\",{bind:this,class:a.extraContentElement},this.extraNodes)}_renderTicksContainer(){if(this.tickConfigs&&this.trackElement&&(0!==this._trackHeight||0!==this._trackWidth))return this.tickConfigs.map(((e,t)=>d(\"div\",{class:this.classes(a.ticksContainerElement),key:\"ticks-container\"},this._renderTicks(e,t))))}_renderTicks(e,i){const{mode:n,values:s}=e;if(this.tickElements.at(i)||this.tickElements.add(new t,i),\"position\"===n){const t=Array.isArray(s)?s:[s];return this._calculateTickPositions(t).map(((t,n)=>this._renderTickGroup(e,n,i,t)))}if(\"percent\"===n&&Array.isArray(s)){const t=this.min??0,n=(this.max??0)-t,o=s.map((e=>this._applyPrecisionToPosition(e/100*n+t)));return this._calculateTickPositions(o).map(((t,n)=>this._renderTickGroup(e,n,i,t)))}const o=Array.isArray(s)&&s.length?s[0]:isNaN(s)?null:s,r=this._getTickCounts(o,e);return this._calculateEquidistantTickPositions(r).map(((t,n)=>this._renderTickGroup(e,n,i,t)))}_renderTickGroup(e,t,i,n){const s=\"position\"===e.mode?Array.isArray(e.values)?e.values[t]:e.values:this._valueFromPosition(n);if(null!=s&&!isNaN(s))return d(\"div\",{afterCreate:this._afterTickGroupCreate,afterRemoved:this._afterTickGroupRemoved,bind:this,\"data-config\":e,\"data-position\":n,\"data-tick-config-index\":i,\"data-tick-group-index\":t,\"data-value\":s,key:`tick-group-${t}`,onclick:this._onTickGroupClick},this._renderTickLine(e,t,i,s),e.labelsVisible?this._renderTickLabel(e,t,i,s):null)}_renderTickLine(e,t,i,n){return d(\"div\",{afterCreate:this._afterTickLineCreate,\"aria-valuenow\":n.toString(),bind:this,class:a.tickElement,\"data-config\":e,\"data-tick-config-index\":i,\"data-tick-group-index\":t,\"data-value\":n,key:`tick-label-${t}`,style:this._getPositionStyleForElement(n)})}_renderTickLabel(e,t,i,n){const s=e.labelFormatFunction?e.labelFormatFunction(n,\"tick\",t):this.viewModel.getLabelForValue(n,\"tick\",t);return d(\"div\",{afterCreate:this._afterTickLabelCreate,\"aria-label\":s,\"aria-valuenow\":n.toString(),\"aria-valuetext\":s,bind:this,class:a.tickLabelElement,\"data-config\":e,\"data-tick-config-index\":i,\"data-tick-group-index\":t,\"data-value\":n,key:`tick-label-${t}`,style:`transform: translate(-50%); ${this._getPositionStyleForElement(n)}`},s)}_afterContainerCreate(e){this.addHandles(u(e,(()=>this.scheduleRender())))}_afterTrackCreate(e){this._set(\"trackElement\",e),e.addEventListener(\"pointerdown\",this._onTrackPointerDown),this.scheduleRender()}_afterTrackRemoved(e){e.removeEventListener(\"pointerdown\",this._onTrackPointerDown),document.removeEventListener(\"pointermove\",this._onTrackPointerMove),document.removeEventListener(\"pointerup\",this._onTrackPointerUp)}_afterSegmentCreate(e){this.segmentElements.add(e),e.addEventListener(\"pointerdown\",this._onSegmentPointerDown)}_afterSegmentRemoved(e){this.segmentElements.remove(e),e.removeEventListener(\"pointerdown\",this._onSegmentPointerDown)}_afterEffectiveSegmentCreate(e){this.effectiveSegmentElements.add(e)}_afterEffectiveSegmentRemoved(e){this.effectiveSegmentElements.remove(e)}_afterAnchorCreate(e){if(this._anchorElements.push(e),e.addEventListener(\"pointerdown\",this._onAnchorPointerDown),this.thumbCreatedFunction){const t=g(e),i=y(e),n=this.thumbElements.at(t),s=this.labelElements.at(t)||null;this.thumbCreatedFunction(t,i,n,s)}}_afterAnchorUpdate(e){if(null!=this._focusedAnchorIndex){g(e)===this._focusedAnchorIndex&&(e.focus(),this._focusedAnchorIndex=null)}}_afterAnchorRemoved(e){const t=this._anchorElements.indexOf(e,0);t>-1&&this._anchorElements.splice(t,1),e.removeEventListener(\"pointerdown\",this._onAnchorPointerDown)}_afterThumbCreate(e){this.thumbElements.add(e)}_afterThumbRemoved(e){this.thumbElements.remove(e)}_afterLabelCreate(e){this.labelElements.add(e),e.addEventListener(\"pointerdown\",this._onLabelPointerDown),e.addEventListener(\"pointerup\",this._onLabelPointerUp)}_afterLabelRemoved(e){this.labelElements.remove(e),e.removeEventListener(\"pointerdown\",this._onLabelPointerDown),e.removeEventListener(\"pointerup\",this._onLabelPointerUp)}_afterInputCreate(e){if(e.focus(),e.select(),this.inputCreatedFunction){const t=e.getAttribute(\"data-input-type\"),i=\"thumb\"===t?f(e):null;this.inputCreatedFunction(e,t,i)}}_afterTickLineCreate(e){const t=k(e),i=P(e),n=this.tickElements.at(t),s=n.at(i);s?s.tickElement=e:n.add({groupElement:null,tickElement:e,labelElement:null},i)}_afterTickLabelCreate(e){const t=k(e),i=P(e),n=this.tickElements.at(t),s=n.at(i);s?s.labelElement=e:n.add({groupElement:null,labelElement:e,tickElement:null},i)}_afterTickGroupRemoved(e){const t=k(e),i=this.tickElements.items[t],n=i?.find((t=>t.groupElement===e));n&&i.remove(n)}_afterTickGroupCreate(e){const t=I(e);if(t?.tickCreatedFunction){const i=k(e),n=P(e),s=y(e),o=this.tickElements?.at(i)?.at(n);if(o){o.groupElement=e;const i=o.tickElement||null,n=o.labelElement||null;t.tickCreatedFunction(s,i,n)}}}_afterMaxLabelCreate(e){this._set(\"maxLabelElement\",e)}_afterMinLabelCreate(e){this._set(\"minLabelElement\",e)}_onAnchorKeyDown(e){if(this._isDisabled()||\"editing\"===this.state)return;const{key:t,target:i}=e,n=this.values,s=g(i),o=this._anchorElements[s],r=n[s],a=[_.moveAnchorUp,_.moveAnchorDown,_.moveAnchorLeft,_.moveAnchorRight];if(t===_.showInput&&this.labelInputsEnabled)this._activeLabelInputIndex=s,this.notifyChange(\"state\");else if(a.includes(t)){e.preventDefault();const{steps:i}=this,n=t===_.moveAnchorUp||t===_.moveAnchorRight?1:-1;if(null!=i)this._toStep(s,this._isReversedLayout()?-1*n:n);else{const{precision:e}=this,t=this._getPositionOfElement(o),i=this._valueFromPosition(t),r=this._isHorizontalLayout()?n:-1*n;let a;a=0===e?this._positionFromValue(i+r):1===e?this._positionFromValue(i+.1*r):t+r,this._toPosition(s,a)}const a=this.values[s];r!==a&&this._emitThumbChangeEvent({index:s,oldValue:r,value:a})}else if(t===_.moveAnchorToMax||t===_.moveAnchorToMin){e.preventDefault();const{min:i,max:n}=this._getAnchorBoundsInPixels(s),o=this._isPositionInverted()?t===_.moveAnchorToMax?i:n:t===_.moveAnchorToMin?i:n;this._toPosition(s,o);const a=this.values[s];r!==a&&this._emitThumbChangeEvent({index:s,oldValue:r,value:a})}}_onAnchorPointerDown(e){if(this._isDisabled())return;const{target:t,clientX:i,clientY:n}=e,s=g(t);null!=s&&(e.preventDefault(),this._anchorElements[s]&&this._anchorElements[s].focus(),this._storeTrackDimensions(),this._dragStartInfo={clientX:i,clientY:n,index:s,position:this._getPositionOfElement(this._anchorElements[s])},this.notifyChange(\"state\"),document.addEventListener(\"pointerup\",this._onAnchorPointerUp),document.addEventListener(\"pointermove\",this._onAnchorPointerMove))}_onAnchorPointerMove(e){if(\"editing\"===this.state||!this._dragStartInfo)return;e.preventDefault();const{values:t,_anchorElements:i,_dragged:n,_dragStartInfo:s,_dragStartInfo:{index:o,position:r}}=this,{clientX:a,clientY:l}=e,h=n?\"drag\":\"start\",u=i[o],c=this._getPositionOfElement(u),d=this._applyPrecisionToPosition(this._isHorizontalLayout()?r+a-s.clientX:r+l-s.clientY);if(c===d)return;const m=t[o];this._dragged=!0,this._toPosition(o,d);const _=this.values[o];n?m!==_&&this._emitThumbDragEvent({index:o,state:h,value:_}):this._emitThumbDragEvent({index:o,state:h,value:m})}_onAnchorPointerUp(e){if(document.removeEventListener(\"pointerup\",this._onAnchorPointerUp),document.removeEventListener(\"pointermove\",this._onAnchorPointerMove),!this._dragStartInfo)return;e.preventDefault();const{index:t}=this._dragStartInfo,i=this._dragged,n=this.values[t];this._dragged=!1,this._dragStartInfo=null,this._lastMovedHandleIndex=t,this.notifyChange(\"state\"),i?this._emitThumbDragEvent({index:t,state:\"stop\",value:n}):(this.scheduleRender(),\"editing\"!==this.state&&this._emitThumbClickEvent({index:t,value:n}))}_onTrackPointerDown(e){const{_dragStartInfo:t,snapOnClickEnabled:i,state:n,values:s}=this;if(this._isDisabled()||\"editing\"===n||t)return;if(document.addEventListener(\"pointermove\",this._onTrackPointerMove),document.addEventListener(\"pointerup\",this._onTrackPointerUp),!i||!s?.length)return;const{steps:o}=this,{clientX:r,clientY:a}=e,l=this._getCursorPositionFromEvent(e),h=this._valueFromPosition(l),u=this._getIndexOfNearestValue(h),c=s[u],d=s.some(((e,t)=>e===c&&t!==u))&&h>c?s.lastIndexOf(c):u;if(null==d)return;const m=s[d],_=null!=o?this._calculateNearestStepPosition(l):l;this._toPosition(d,_),this._dragged=!0,this._dragStartInfo={clientX:r,clientY:a,index:d,position:_},this._focusedAnchorIndex=d,this.notifyChange(\"state\"),this._emitThumbDragEvent({index:d,state:\"start\",value:m});const p=this.values[d];m!==p&&this._emitThumbDragEvent({index:d,state:\"drag\",value:p}),document.addEventListener(\"pointerup\",this._onAnchorPointerUp),document.addEventListener(\"pointermove\",this._onAnchorPointerMove)}_onTrackPointerMove(e){e.preventDefault(),this._dragged=!0}_onTrackPointerUp(e){if(e.preventDefault(),document.removeEventListener(\"pointermove\",this._onTrackPointerMove),document.removeEventListener(\"pointerup\",this._onTrackPointerUp),this.snapOnClickEnabled||(this._dragged=!1),!this._dragged){const t=this._getCursorPositionFromEvent(e),i=this._valueFromPosition(t);this._emitTrackClickEvent({value:i})}}_onSegmentPointerDown(e){e.preventDefault();const t=e.target,i=b(t),n=E(t),s=x(t);if(this._isDisabled()||null==n||null==s)return;e.stopPropagation(),this._storeTrackDimensions(),document.addEventListener(\"pointerup\",this._onSegmentPointerUp);const o=this._getAnchorDetails(n),r=this._getAnchorDetails(s);this.syncedSegmentsEnabled?(this.segmentElements.forEach((e=>e.classList.add(a.segmentElementActive))),this._anchorElements.forEach((e=>e.classList.add(a.anchorElementActive)))):(this.segmentElements.at(i).classList.add(a.segmentElementActive),this._anchorElements[o.index]?.classList.add(a.anchorElementActive),this._anchorElements[r.index]?.classList.add(a.anchorElementActive)),this._segmentDragStartInfo={cursorPosition:this._getCursorPositionFromEvent(e),index:i,details:this._normalizeSegmentDetails({min:o,max:r})},this.draggableSegmentsEnabled&&(document.addEventListener(\"pointermove\",this._onSegmentPointerMove),this.notifyChange(\"state\"),this._emitSegmentDragEvent({index:i,state:\"start\",thumbIndices:[n,s]}))}_onSegmentPointerMove(e){if(!this._segmentDragStartInfo)return;e.preventDefault();const{_trackHeight:t,_trackWidth:i,_segmentDragStartInfo:{index:n,cursorPosition:s,details:{min:o,max:r}}}=this,{index:a,position:l,value:h}=o,{index:u,position:c,value:d}=r;this._dragged=!0;const m=this._getCursorPositionFromEvent(e);if(m===s)return;const _=this._positionToPercent(s),p=this._positionToPercent(m)-_,v=this._positionToPercent(l)+p,g=this._positionToPercent(c)+p,{min:f}=this._getAnchorBoundsAsPercents(a),{max:b}=this._getAnchorBoundsAsPercents(u);let E=!1,x=!1;if(vb&&(x=!0),E){const{min:e,max:t}=this.viewModel.getBoundsForValueAtIndex(a),i=this._isPositionInverted()?t:e,n=i,s=d+(i-h),o=s-this.values[u];return void(this.syncedSegmentsEnabled?this._updateAnchorValuesByDifference(o):this._updateAnchorValues([a,u],[n,s]))}if(x){const{min:e,max:t}=this.viewModel.getBoundsForValueAtIndex(u),i=this._isPositionInverted()?e:t,n=i,s=h+(i-d),o=s-this.values[a];return void(this.syncedSegmentsEnabled?this._updateAnchorValuesByDifference(o):this._updateAnchorValues([a,u],[s,n]))}const y=this._isHorizontalLayout()?i:t,k=g/100*y,P=v/100*y,I=this.values,A=[I[a],I[u]],M=this._getValueForAnchorAtPosition(a,P),L=this._getValueForAnchorAtPosition(u,k);this.syncedSegmentsEnabled?this._updateAnchorValuesByDifference(M-A[0]):this._updateAnchorValues([a,u],[M,L]);[this.values[a],this.values[u]].every(((e,t)=>e===A[t]))||this._emitSegmentDragEvent({index:n,state:\"drag\",thumbIndices:[a,u]})}_onSegmentPointerUp(e){if(e.preventDefault(),document.removeEventListener(\"pointerup\",this._onSegmentPointerUp),document.removeEventListener(\"pointermove\",this._onSegmentPointerMove),!this._segmentDragStartInfo)return;const{_dragged:t}=this,i=this.min,n=this.max,s=this.values,{index:o,details:{min:{index:r},max:{index:l}}}=this._segmentDragStartInfo;if(this.segmentElements.forEach((e=>e.classList.remove(a.segmentElementActive))),this._anchorElements.forEach((e=>e.classList.remove(a.anchorElementActive))),this.draggableSegmentsEnabled){const e=n-i,t=s[r],a=s[l];this._lastMovedHandleIndex=t===a?t>e/2?r:l:null,this._dragged=!1,this._segmentDragStartInfo=null,this.notifyChange(\"state\"),this._emitSegmentDragEvent({index:o,state:\"stop\",thumbIndices:[r,l]})}if(!t){const t=this._getCursorPositionFromEvent(e),i=this._valueFromPosition(t);this._emitSegmentClickEvent({index:o,value:i,thumbIndices:[r,l]})}}_onTickGroupClick(e){const t=e.target;if(I(t)){const e=k(t),i=P(t),n=y(t);this._emitTickClickEvent({configIndex:e,groupIndex:i,value:n})}}_storeTrackDimensions(){if(this.trackElement){const e=this._getDimensions(this.trackElement);this._trackHeight=this._applyPrecisionToPosition(e.height),this._trackWidth=this._applyPrecisionToPosition(e.width)}}_onLabelPointerDown(){this._isDisabled()||(this._dragged=!1,document.addEventListener(\"pointerup\",this._onAnchorPointerUp),document.addEventListener(\"pointermove\",this._onAnchorPointerMove))}_onLabelPointerMove(){this._isDisabled()||(this._dragged=!0)}_onLabelPointerUp(e){if(this._isDisabled())return;const t=g(e.target);this.labelInputsEnabled&&!this._dragged&&null!=t&&(this._activeLabelInputIndex=t),this._dragged=!1,this.notifyChange(\"state\"),document.removeEventListener(\"pointerup\",this._onLabelPointerUp),document.removeEventListener(\"pointermove\",this._onLabelPointerMove)}_onLabelInputBlur(e){const{_activeLabelInputIndex:t,values:i,viewModel:n}=this,s=e.target.value;if(this._activeLabelInputIndex=null,this.notifyChange(\"state\"),!s||null==t||null==i)return;const o=this._parseInputValue(s,\"value\",t),r=i[t],{min:a,max:l}=this.viewModel.getBoundsForValueAtIndex(t);if(ol)return;n.setValue(t,o);const h=this.values[t];r!==h&&this._emitThumbChangeEvent({index:t,oldValue:r,value:h})}_onInputKeyDown(e){if(this._isDisabled())return;const{key:t,target:i}=e,{hideInput1:n,hideInput2:s,hideInput3:o}=_,{_activeLabelInputIndex:r,_anchorElements:a}=this,l=i;if(t===n||t===s||t===o){e.stopPropagation();const t=r;l.blur(),null!=t?a[t].focus():l.parentElement?.focus()}}_onMaxLabelClick(){this._isDisabled()||(this._emitMaxRangeLabelClickEvent({type:\"max-click\",value:this.max}),this.rangeLabelInputsEnabled&&(this._isMaxInputActive=!0,this.notifyChange(\"state\")))}_onMaxLabelKeyDown({key:e}){this._isDisabled()||e!==_.showInput||(this._isMaxInputActive=!0,this.notifyChange(\"state\"))}_onMaxInputBlur(e){const t=e.target.value;if(this._isMaxInputActive=!1,this.notifyChange(\"state\"),!t)return;const i=this.max,n=this._parseInputValue(t,\"max\");n<=this.min||(this.viewModel.set(\"max\",n),this.max!==i&&this._emitMaxChangeEvent({oldValue:i,value:this.max}))}_onMinLabelClick(){this._isDisabled()||(this._emitMinRangeLabelClickEvent({type:\"min-click\",value:this.min}),this.rangeLabelInputsEnabled&&(this._isMinInputActive=!0,this.notifyChange(\"state\")))}_onMinLabelKeyDown({key:e}){this._isDisabled()||e!==_.showInput||(this._isMinInputActive=!0,this.notifyChange(\"state\"))}_onMinInputBlur(e){const t=e.target.value;if(this._isMinInputActive=!1,this.notifyChange(\"state\"),!t)return;const i=this.min,n=this._parseInputValue(t,\"min\");n>=this.max||(this.viewModel.set(\"min\",n),this.min!==i&&this._emitMinChangeEvent({oldValue:i,value:this.min}))}_isDisabled(){return this.disabled||\"disabled\"===this.state}_positionFromValue(e){const{_trackHeight:t,_trackWidth:i}=this,n=this.min??0,s=this.max??0,o=s-n;if(0===o||null==e)return 0;const r=this._isHorizontalLayout();let a=r?this._applyPrecisionToPosition(i*(e-n)/o):this._applyPrecisionToPosition(t*(s-e)/o);return this._isReversedLayout()&&(a=r?i-a:t-a),a}_valueFromPosition(e){const{_trackHeight:t,_trackWidth:i,precision:n}=this,s=this.min??0,o=this.max??0,r=o-s;let a=this._isHorizontalLayout()?e*r/i+s:r*(1e3-e/t*1e3)/1e3+s;return this._isReversedLayout()&&(a=o+s-a),parseFloat(a.toFixed(n))}_positionToPercent(e){const{_trackHeight:t,_trackWidth:i}=this,n=100*e/(this._isHorizontalLayout()?i:t);return this._applyPrecisionToPosition(n)}_applyPrecisionToPosition(e){return parseFloat(e.toFixed(this._positionPrecision))}_isPositionInverted(){const{layout:e}=this;return\"horizontal-reversed\"===e||\"vertical\"===e}_isHorizontalLayout(){return this.layout.includes(\"horizontal\")}_isReversedLayout(){return this.layout.includes(\"reversed\")}_normalizeSegmentDetails(e){if(this._isPositionInverted()){const{min:t,max:i}=e;return{min:i,max:t}}return e}_parseInputValue(e,t,i){return this.inputParseFunction?this.inputParseFunction(e,t,i):this.viewModel.defaultInputParseFunction(e)}_formatInputValue(e,t,i){return this.inputFormatFunction?this.inputFormatFunction(e,t,i):this.viewModel.defaultInputFormatFunction(e)}_getAnchorDetails(e){const t=this.values,i=[...t].sort(((e,t)=>e-t))[e],n=t.indexOf(i);return{index:n,position:this._getPositionOfElement(this._anchorElements[n]),value:i}}_updateAnchorStyle(e,t){const i=this._anchorElements[e];i&&(this._isHorizontalLayout()?i.style.left=`${t}`:i.style.top=`${t}`)}_getStyleForAnchor(e,t,i){const n=this._getPositionStyleForElement(e);if(1===this.values?.length)return`${n}`;const s=this._zIndices[t];return`${n}; z-index: ${i?this._zIndexOffset+s:s}`}_getPositionStyleForElement(e){const t=this._positionFromValue(e),i=this._positionToPercent(t);return`${this._isHorizontalLayout()?\"left\":\"top\"}: ${i}%`}_getPositionOfElement(e){const t=this._getDimensions(e.offsetParent),i=this._getDimensions(e);return this._isHorizontalLayout()?this._applyPrecisionToPosition(i.left-t.left):this._applyPrecisionToPosition(i.top-t.top)}_updateAnchorValues(e,t){e.forEach(((e,i)=>this._toValue(e,t[i])))}_updateAnchorValuesByDifference(e){const{min:t,max:i,values:n}=this;n?.forEach(((n,s)=>this._toValue(s,Math.max(Math.min(n+e,i),t))))}_toValue(e,t){if(null!=this.steps){t=this._getStepValues()[this._getIndexOfNearestStepValue(t)]}this._updateAnchorStyle(e,this._getPositionStyleForElement(t)),this.viewModel.setValue(e,t)}_toPosition(e,t){const i=null!=this.steps?this._getStepValueForAnchorAtPosition(e,t):this._getValueForAnchorAtPosition(e,t);this._updateAnchorStyle(e,this._getPositionStyleForElement(i)),this.viewModel.setValue(e,i)}_getValueForAnchorAtPosition(e,t){const{min:i,max:n}=this._getAnchorBoundsInPixels(e),{min:s,max:o}=this.viewModel.getBoundsForValueAtIndex(e);let r,a,l=null;return this._isPositionInverted()?(r=s,a=o):(r=o,a=s),l=t>n?r:to?l=o:lMath.abs(i-e)t?t:n)}return s}_toStep(e,t){const i=this.values[e],n=this._getStepValues(),s=n.indexOf(i);let o=null;if(s>-1){let i=n[s+t];isNaN(i)&&(i=n[s]);const r=this._positionFromValue(i);o=this._getStepValueForAnchorAtPosition(e,r)}else{o=n[this._getIndexOfNearestStepValue(i)+t]}this.viewModel.setValue(e,o)}_getIndexOfNearestStepValue(e){const{steps:t}=this;if(null==t)return null;const i=this._getStepValues(),n=i.reduce(((t,i)=>Math.abs(i-e)this._positionFromValue(e)))}_calculateEquidistantTickPositions(e){const{_trackWidth:t,_trackHeight:i}=this,n=this._isHorizontalLayout()?t:i,s=n/(e-1),o=[];if(1===e)return[n/2];for(let r=0;rthis.getLabelForValue(t,\"value\",e))):[];return{max:this.getLabelForValue(t,\"max\"),min:this.getLabelForValue(e,\"min\"),values:s}}set max(t){this.setMax(t)}set min(t){this.setMin(t)}get state(){const{max:t,min:e}=this;return null!=t&&null!=e&&t>e?\"ready\":\"disabled\"}set values(t){const{max:e,min:i}=this,s=this.values;s&&t&&s.length===t.length&&s.every(((e,i)=>e===t[i]))||(this._set(\"values\",null),t?.length&&(null!=i&&t.some((t=>tt>e))&&(this.max=Math.max(...t))),this._set(\"values\",t))}toPrecision(t){return parseFloat(t.toFixed(this.precision))}defaultLabelFormatFunction(t){const{max:e,min:i,precision:s}=this,n=null!=e&&null!=i&&e-i>10?2:s;return parseFloat(t.toFixed(n)).toString()}defaultInputFormatFunction(t){return t.toString()}defaultInputParseFunction(t){return parseFloat(t)}getBounds(){const{effectiveMax:t,effectiveMin:e,max:i,min:s}=this;return{min:null!=e&&null!=s?Math.max(s,e):s,max:null!=t&&null!=i?Math.min(i,t):i}}getBoundsForValueAtIndex(t){const{thumbsConstrained:e,values:i}=this,{min:s,max:n}=this.getBounds();if(e&&i){const e=t-1,r=t+1;return{min:null!=i[e]?i[e]:s,max:null!=i[r]?i[r]:n}}return{min:s,max:n}}getLabelForValue(t,e,i){return null==t?null:this.labelFormatFunction?this.labelFormatFunction(t,e,i):this.defaultLabelFormatFunction(t)}setMax(t){const{max:e,values:i}=this;if(null==t)return void this._set(\"max\",null);if(isNaN(t))return void this._logError(\"slider:invalid-value\",\"Supplied value for property 'max' is NaN.\");const s=this.toPrecision(t);if(e!==s&&(this._set(\"max\",s),i?.length))for(let n=0;ni[n]&&this.setValue(n,s)}setEffectiveMax(t){if(null==t)return void this._set(\"effectiveMax\",null);if(isNaN(t))return void this._logError(\"slider:invalid-value\",\"Supplied value for property 'effectiveMax' is NaN.\");const e=this.toPrecision(t);this.effectiveMax!==e&&this._set(\"effectiveMax\",this._applyBoundsToValue(e))}setEffectiveMin(t){if(null==t)return void this._set(\"effectiveMin\",null);if(isNaN(t))return void this._logError(\"slider:invalid-value\",\"Supplied value for property 'effectiveMin' is NaN.\");const e=this.toPrecision(t);this.effectiveMin!==e&&this._set(\"effectiveMin\",this._applyBoundsToValue(e))}setValue(t,e){if(isNaN(e))return void this._logError(\"slider:invalid-value\",\"Supplied value for member of property 'values' is NaN.\");const{values:i}=this;if(null==i)return void this._logError(\"slider:invalid-value\",\"Supplied value for member of property 'values' is null.\");const s=i[t],n=this.toPrecision(e);if(s===n)return;const r=[...i];r[t]=n,this._set(\"values\",r),this.notifyChange(\"labels\")}_applyBoundsToValue(t){const{max:e,min:i}=this;return null!=i&&te?e:t}_logError(t,e,n){s.getLogger(this).error(new i(t,e,n))}};t([n()],o.prototype,\"effectiveMax\",null),t([n()],o.prototype,\"effectiveMin\",null),t([n()],o.prototype,\"labelFormatFunction\",null),t([n()],o.prototype,\"inputFormatFunction\",null),t([n()],o.prototype,\"inputParseFunction\",null),t([n({readOnly:!0})],o.prototype,\"labels\",null),t([n()],o.prototype,\"max\",null),t([n()],o.prototype,\"min\",null),t([n()],o.prototype,\"precision\",void 0),t([n({readOnly:!0})],o.prototype,\"state\",null),t([n()],o.prototype,\"thumbsConstrained\",void 0),t([n()],o.prototype,\"values\",null),o=t([r(\"esri.widgets.Slider.SliderViewModel\")],o);const l=o;export{l as default};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nconst e=\"esri-slider\",t={base:e,reversed:`${e}--reversed`,horizontalLayout:`${e}--horizontal`,verticalLayout:`${e}--vertical`,contentElement:`${e}__content`,extraContentElement:`${e}__extra-content`,trackElement:`${e}__track`,ticksContainerElement:`${e}__ticks`,tickElement:`${e}__tick`,tickLabelElement:`${e}__tick-label`,maxElement:`${e}__max`,minElement:`${e}__min`,maxElementInteractive:`${e}__max--interactive`,minElementInteractive:`${e}__min--interactive`,rangeElementActive:`${e}__range--active`,rangeInput:`${e}__range-input`,anchorElement:`${e}__anchor`,movingAnchorElement:`${e}__anchor--moving`,lastMovedAnchorElement:`${e}__anchor--moved`,anchorElementActive:`${e}__anchor--active`,anchorElementIndexPrefix:`${e}__anchor-`,segmentElement:`${e}__segment`,segmentElementIndexPrefix:`${e}__segment-`,segmentElementInteractive:`${e}__segment--interactive`,segmentElementActive:`${e}__segment--active`,effectiveSegmentElement:`${e}__effective-segment`,effectiveMaxSegmentElement:`${e}__effective-max-segment`,effectiveMinSegmentElement:`${e}__effective-min-segment`,thumbElement:`${e}__thumb`,labelElement:`${e}__label`,labelElementInteractive:`${e}__label--interactive`,labelInput:`${e}__label-input`};export{t as css};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{_ as i}from\"../chunks/tslib.es6.js\";import{after as e}from\"../core/promiseUtils.js\";import{watch as t}from\"../core/reactiveUtils.js\";import{property as s}from\"../core/accessorSupport/decorators/property.js\";import\"../core/has.js\";import\"../core/Logger.js\";import\"../core/RandomLCG.js\";import{subclass as o}from\"../core/accessorSupport/decorators/subclass.js\";import r from\"./Widget.js\";import n from\"./Spinner/SpinnerViewModel.js\";import\"./support/widgetUtils.js\";import{tsx as l}from\"./support/jsxFactory.js\";const a=\"esri-spinner\",c={base:a,spinnerStart:`${a}--start`,spinnerFinish:`${a}--finish`};let p=class extends r{constructor(i,e){super(i,e),this._animationDelay=500,this._animationPromise=null,this.viewModel=new n}initialize(){this.addHandles(t((()=>this.visible),(i=>this._visibleChange(i))))}destroy(){this._animationPromise=null}get location(){return this.viewModel.location}set location(i){this.viewModel.location=i}get view(){return this.viewModel.view}set view(i){this.viewModel.view=i}get visible(){return this.viewModel.visible}set visible(i){this.viewModel.visible=i}show(i){const{location:e,promise:t}=i??{};e&&(this.viewModel.location=e),this.visible=!0;const s=()=>this.hide();t&&t.catch((()=>{})).then(s)}hide(){this.visible=!1}render(){const{visible:i}=this,{screenLocation:e}=this.viewModel,t=!!e,s=i&&t,o=!i&&t,r={[c.spinnerStart]:s,[c.spinnerFinish]:o},n=this._getPositionStyles();return l(\"div\",{class:this.classes(c.base,r),styles:n})}_visibleChange(i){if(i)return void(this.viewModel.screenLocationEnabled=!0);const t=e(this._animationDelay);this._animationPromise=t,t.catch((()=>{})).then((()=>{this._animationPromise===t&&(this.viewModel.screenLocationEnabled=!1,this._animationPromise=null)}))}_getPositionStyles(){const{screenLocation:i,view:e}=this.viewModel;if(null==e||null==i)return{};const{padding:t}=e;return{left:i.x-t.left+\"px\",top:i.y-t.top+\"px\"}}};i([s()],p.prototype,\"location\",null),i([s()],p.prototype,\"view\",null),i([s({type:n})],p.prototype,\"viewModel\",void 0),i([s()],p.prototype,\"visible\",null),p=i([o(\"esri.widgets.Spinner\")],p);const h=p;export{h as default};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{_ as o}from\"../../chunks/tslib.es6.js\";import{property as r}from\"../../core/accessorSupport/decorators/property.js\";import\"../../core/has.js\";import\"../../core/Logger.js\";import\"../../core/RandomLCG.js\";import{subclass as s}from\"../../core/accessorSupport/decorators/subclass.js\";import e from\"../support/AnchorElementViewModel.js\";let t=class extends e{constructor(o){super(o),this.visible=!1}};o([r()],t.prototype,\"visible\",void 0),t=o([s(\"esri.widgets.Spinner.SpinnerViewModel\")],t);const p=t;export{p as default};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{_ as t}from\"../chunks/tslib.es6.js\";import{equals as e}from\"../core/arrayUtils.js\";import{neverReached as i}from\"../core/compilerUtils.js\";import{deprecatedFunction as s}from\"../core/deprecate.js\";import o from\"../core/Logger.js\";import{watch as r,initial as a}from\"../core/reactiveUtils.js\";import{truncateDate as n,offsetDate as l}from\"../core/timeUtils.js\";import{property as m}from\"../core/accessorSupport/decorators/property.js\";import{subclass as u}from\"../core/accessorSupport/decorators/subclass.js\";import{formatDate as d,convertDateFormatToIntlOptions as c}from\"../intl/date.js\";import p from\"../time/TimeInterval.js\";import{unknown as v,system as h}from\"../time/timeZoneUtils.js\";import f from\"./Slider.js\";import y from\"./Widget.js\";import{loadCalciteComponents as g}from\"./support/componentsUtils.js\";import{globalCss as b}from\"./support/globalCss.js\";import{legacyIcon as x}from\"./support/legacyIcon.js\";import{accessibleHandler as w}from\"./support/decorators/accessibleHandler.js\";import{messageBundle as j}from\"./support/decorators/messageBundle.js\";import{vmEvent as k}from\"./support/decorators/vmEvent.js\";import{tsx as T}from\"./support/jsxFactory.js\";import{onResize as _}from\"./support/widgetUtils.js\";import{getCalciteThemeClass as E}from\"../support/themeUtils.js\";import{css as S}from\"./TimeSlider/css.js\";import M from\"./TimeSlider/TimeSliderViewModel.js\";const F=3,C=858,D=[{minor:{value:100,unit:\"milliseconds\"},major:{value:1,unit:\"seconds\"},format:{second:\"numeric\"}},{minor:{value:500,unit:\"milliseconds\"},major:{value:5,unit:\"seconds\"},format:{second:\"numeric\"}},{minor:{value:1,unit:\"seconds\"},major:{value:20,unit:\"seconds\"},format:{minute:\"numeric\",second:\"numeric\"}},{minor:{value:2,unit:\"seconds\"},major:{value:30,unit:\"seconds\"},format:{minute:\"numeric\",second:\"numeric\"}},{minor:{value:10,unit:\"seconds\"},major:{value:1,unit:\"minutes\"},format:{minute:\"numeric\"}},{minor:{value:15,unit:\"seconds\"},major:{value:5,unit:\"minutes\"},format:{hour:\"numeric\",minute:\"numeric\"}},{minor:{value:1,unit:\"minutes\"},major:{value:20,unit:\"minutes\"},format:{hour:\"numeric\",minute:\"numeric\"}},{minor:{value:5,unit:\"minutes\"},major:{value:2,unit:\"hours\"},format:{hour:\"numeric\",minute:\"numeric\"}},{minor:{value:15,unit:\"minutes\"},major:{value:6,unit:\"hours\"},format:{hour:\"numeric\",minute:\"numeric\"}},{minor:{value:1,unit:\"hours\"},major:{value:1,unit:\"days\"},format:{day:\"numeric\",month:\"short\"}},{minor:{value:6,unit:\"hours\"},major:{value:1,unit:\"weeks\"},format:{day:\"numeric\",month:\"short\"}},{minor:{value:1,unit:\"days\"},major:{value:1,unit:\"months\"},format:{month:\"long\"}},{minor:{value:2,unit:\"days\"},major:{value:1,unit:\"months\"},format:{month:\"short\"}},{minor:{value:3,unit:\"days\"},major:{value:1,unit:\"months\"},format:{month:\"short\"}},{minor:{value:4,unit:\"days\"},major:{value:3,unit:\"months\"},format:{month:\"short\",year:\"numeric\"}},{minor:{value:1,unit:\"weeks\"},major:{value:1,unit:\"years\"},format:{year:\"numeric\"}},{minor:{value:1,unit:\"months\"},major:{value:1,unit:\"years\"},format:{year:\"numeric\"}},{minor:{value:2,unit:\"months\"},major:{value:2,unit:\"years\"},format:{year:\"numeric\"}},{minor:{value:1,unit:\"years\"},major:{value:1,unit:\"decades\"},format:{year:\"numeric\"}},{minor:{value:2,unit:\"years\"},major:{value:5,unit:\"decades\"},format:{year:\"numeric\"}},{minor:{value:5,unit:\"decades\"},major:{value:10,unit:\"centuries\"},format:{era:\"short\",year:\"numeric\"}},{minor:{value:1,unit:\"centuries\"},major:{value:10,unit:\"centuries\"},format:{era:\"short\",year:\"numeric\"}},{minor:{value:2,unit:\"centuries\"},major:{value:20,unit:\"centuries\"},format:{era:\"short\",year:\"numeric\"}},{minor:{value:5,unit:\"centuries\"},major:{value:50,unit:\"centuries\"},format:{era:\"short\",year:\"numeric\"}},{minor:{value:10,unit:\"centuries\"},major:{value:100,unit:\"centuries\"},format:{era:\"short\",year:\"numeric\"}},{minor:{value:20,unit:\"centuries\"},major:{value:200,unit:\"centuries\"},format:{era:\"short\",year:\"numeric\"}},{minor:{value:50,unit:\"centuries\"},major:{value:500,unit:\"centuries\"},format:{era:\"short\",year:\"numeric\"}},{minor:{value:100,unit:\"centuries\"},major:{value:1e3,unit:\"centuries\"},format:{era:\"short\",year:\"numeric\"}},{minor:{value:200,unit:\"centuries\"},major:{value:1e3,unit:\"centuries\"},format:{era:\"short\",year:\"numeric\"}},{minor:{value:500,unit:\"centuries\"},major:{value:5e3,unit:\"centuries\"},format:{era:\"short\",year:\"numeric\"}},{minor:{value:1e3,unit:\"centuries\"},major:{value:1e4,unit:\"centuries\"},format:{era:\"short\",year:\"numeric\"}}];let U=class extends y{constructor(t,e){super(t,e),this._ignoreNextSliderUpdate=!1,this._slider=new f({precision:0,visibleElements:{rangeLabels:!1},rangeLabelInputsEnabled:!1,thumbsConstrained:!1}),this._tickFormat=null,this.disabled=!1,this.labelFormatFunction=null,this.messages=null,this.messagesCommon=null,this.tickConfigs=null,this.timeVisible=!1,this.viewModel=new M}initialize(){this.addHandles([r((()=>this._slider.values),(t=>{if(this._ignoreNextSliderUpdate)return void(this._ignoreNextSliderUpdate=!1);const e=this.viewModel.valuesToTimeExtent(t);null!=this.timeExtent?null!=e?this.timeExtent.equals(e)||(this.timeExtent=e):this.timeExtent=null:null!=e&&(this.timeExtent=e)})),r((()=>this.effectiveStops),(()=>this._updateSliderSteps()),a)])}loadDependencies(){return g({action:()=>import(\"@esri/calcite-components/dist/components/calcite-action.js\"),\"action-menu\":()=>import(\"@esri/calcite-components/dist/components/calcite-action-menu.js\")})}destroy(){this._slider.destroy(),this._tickFormat=null}get _dateFormat(){return this._getIntlOptions(\"short-date\")}get _timeFormat(){return this._getIntlOptions(\"long-time\")}get actions(){return this.viewModel.actions}set actions(t){this.viewModel.actions=t}get effectiveStops(){return this.viewModel.effectiveStops}get fullTimeExtent(){return this.viewModel.fullTimeExtent}set fullTimeExtent(t){this.viewModel.fullTimeExtent=t}get icon(){return\"clock\"}set icon(t){this._overrideIfSome(\"icon\",t)}get interactive(){return!(this.disabled||\"disabled\"===this.viewModel.state||this.timeZone===v)}get label(){return this.messages?.widgetLabel??\"\"}set label(t){this._overrideIfSome(\"label\",t)}set layout(t){[\"auto\",\"compact\",\"wide\"].includes(t)||(t=\"auto\"),this._set(\"layout\",t)}get loop(){return this.viewModel.loop}set loop(t){this.viewModel.loop=t}get mode(){return this.viewModel.mode}set mode(t){this.viewModel.mode=t}get playRate(){return this.viewModel.playRate}set playRate(t){this.viewModel.playRate=t}get stops(){return this.viewModel.stops}set stops(t){this.viewModel.stops=t}get tickFormats(){const{timeZone:t}=this;return D.map((({minor:e,major:i,format:s})=>({minor:new p(e),major:new p(i),format:{...s,timeZone:t}})))}get timeExtent(){return this.viewModel.timeExtent}set timeExtent(t){this.viewModel.timeExtent=t}get timeZone(){return this.viewModel.view?.timeZone??h}set timeZone(t){this._overrideIfSome(\"timeZone\",t)}get view(){return this.viewModel.view}set view(t){this.viewModel.view=t}static async getPropertiesFromWebMap(t,e){return s(o.getLogger(\"esri.widgets.TimeSlider\"),\"`TimeSlider.getPropertiesFromWebMap` is deprecated in favor of 'timeUtils.getTimeSliderSettingsFromWebDocument'\",{replacement:\"timeUtils.getTimeSliderSettingsFromWebDocument\",version:\"4.29\",see:\"https://developers.arcgis.com/javascript/latest/api-reference/esri-support-timeUtils.html#getTimeSliderSettingsFromWebDocument\",warnOnce:!0}),M.getPropertiesFromWebMap(t,e)}next(){return this.viewModel.next()}play(){return this.viewModel.play()}previous(){return this.viewModel.previous()}stop(){return this.viewModel.stop()}render(){const{_slider:t,actions:i,domNode:s,effectiveStops:o,fullTimeExtent:r,interactive:a,messages:n,messagesCommon:l,mode:m,tickConfigs:u,timeExtent:c,timeVisible:p,viewModel:{state:v,timeExtentValues:h}}=this;if(null!=r){const{start:e,end:i}=r;if(null!=e&&null!=i){const s=e.getTime(),o=i.getTime(),r=t.min!==s||t.max!==o;if(r&&(t.min=s,t.max=o),null!=u)t.tickConfigs!==u&&(t.tickConfigs=u);else{const e=(o-s)/(t.trackElement?.offsetWidth||400),i=this.tickFormats.find((t=>t.minor.toMilliseconds()>F*e))??this.tickFormats.at(-1),a=this._tickFormat!==i&&null!=i;if(a&&(this._tickFormat=i),r||a){const e={mode:\"position\",values:this._getTickPositions(i.minor),labelsVisible:!1,tickCreatedFunction:(t,e)=>{e?.classList.add(S.sliderMinorTick)}},s={mode:\"position\",values:this._getTickPositions(i.major),labelsVisible:!0,tickCreatedFunction:(t,e)=>{e?.classList.add(S.sliderMajorTick)},labelFormatFunction:t=>d(t,i.format)};t.tickConfigs=[e,s]}}}}const f=null==this.fullTimeExtent?.start||null==this.fullTimeExtent.end||null==this.timeExtent||this.timeExtent.isAllTime||this.timeExtent.isEmpty||null!=this.timeExtent.start&&(this.timeExtent.startthis.fullTimeExtent.end)||null!=this.timeExtent.end&&(this.timeExtent.end>this.fullTimeExtent.end||this.timeExtent.end0,A=I&&T(\"div\",{class:S.actions,title:l.options},T(\"calcite-action-menu\",{class:S.actionsButton,label:l.options},i.toArray().map((t=>T(\"calcite-action\",{bind:this,icon:t.icon,id:t.id,onclick:()=>this.viewModel.triggerAction(t),text:t.title,textEnabled:!0,title:t.title})))));return T(\"div\",{afterCreate:t=>{this.addHandles(_(t,(()=>this.scheduleRender())))},\"aria-label\":n.widgetLabel,class:this.classes(S.timeSlider,b.widget,`${S.timeSliderMode}${m}`,`${S.timeSliderLayout}${j}`,!a&&b.disabled,f&&S.timeSliderOutOfBounds,I&&S.hasActions,E())},\"wide\"===j&&T(\"div\",{class:S.timeSliderRow},T(\"div\",{class:S.playbackControls},[k,D,L,Z,O,R,B]),A),\"compact\"===j&&[T(\"div\",{class:S.timeSliderRow,key:\"time-slider-row-1\"},[D,A]),T(\"div\",{class:S.timeSliderRow,key:\"time-slider-row-2\"},[Z]),T(\"div\",{class:S.timeSliderRow,key:\"time-slider-row-3\"},[L,R,k,B,O])])}updateWebDocument(t){this.viewModel?.updateWebDocument(t)}_createLabel(t){if(null==this.labelFormatFunction)return;const e=t.getAttribute(\"data-type\"),i=t.getAttribute(\"data-layout\"),s=t[\"data-date\"];this.labelFormatFunction(s,e,t,i)}_formatDate(t){return d(t,this._dateFormat)}_formatTime(t){return d(t,this._timeFormat)}_getIntlOptions(t){const{timeZone:e}=this;return{...c(t),timeZone:e}}_getTickPositions(t){const{fullTimeExtent:e}=this;if(null==e?.start||null==e.end)return[];const{start:i,end:s}=e,o=[],{value:r,unit:a}=t;let m=n(i,a,this.timeZone);for(;m.getTime()<=s.getTime();)m.getTime()>=i.getTime()&&o.push(m.getTime()),m=l(m,r,a,this.timeZone);return o}_updateSliderSteps(){this._slider.steps=null!=this.effectiveStops&&this.effectiveStops.length>0?this.effectiveStops.map((t=>t.getTime())):null}_playOrStopClick(){switch(this.viewModel.state){case\"ready\":this.viewModel.play();break;case\"playing\":this.viewModel.stop();break;case\"disabled\":break;default:i(this.viewModel.state)}}_previousClick(){this.viewModel.previous()}_nextClick(){this.viewModel.next()}};t([m()],U.prototype,\"_dateFormat\",null),t([m()],U.prototype,\"_timeFormat\",null),t([m()],U.prototype,\"actions\",null),t([m()],U.prototype,\"disabled\",void 0),t([m()],U.prototype,\"effectiveStops\",null),t([m()],U.prototype,\"fullTimeExtent\",null),t([m()],U.prototype,\"icon\",null),t([m({readOnly:!0})],U.prototype,\"interactive\",null),t([m()],U.prototype,\"label\",null),t([m()],U.prototype,\"labelFormatFunction\",void 0),t([m({value:\"auto\"})],U.prototype,\"layout\",null),t([m()],U.prototype,\"loop\",null),t([m(),j(\"esri/widgets/TimeSlider/t9n/TimeSlider\")],U.prototype,\"messages\",void 0),t([m(),j(\"esri/t9n/common\")],U.prototype,\"messagesCommon\",void 0),t([m()],U.prototype,\"mode\",null),t([m()],U.prototype,\"playRate\",null),t([m()],U.prototype,\"stops\",null),t([m()],U.prototype,\"tickConfigs\",void 0),t([m()],U.prototype,\"tickFormats\",null),t([m()],U.prototype,\"timeExtent\",null),t([m({nonNullable:!0})],U.prototype,\"timeVisible\",void 0),t([m()],U.prototype,\"timeZone\",null),t([m()],U.prototype,\"view\",null),t([m({type:M}),k(\"trigger-action\")],U.prototype,\"viewModel\",void 0),t([w()],U.prototype,\"_playOrStopClick\",null),t([w()],U.prototype,\"_previousClick\",null),t([w()],U.prototype,\"_nextClick\",null),U=t([u(\"esri.widgets.TimeSlider\")],U);const L=U;export{L as default};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{_ as t}from\"../../chunks/tslib.es6.js\";import e from\"../../core/Collection.js\";import{deprecatedFunction as i}from\"../../core/deprecate.js\";import n from\"../../core/Evented.js\";import l from\"../../core/Logger.js\";import{after as s,isAbortError as r}from\"../../core/promiseUtils.js\";import{watch as o,whenOnce as a,initial as m,syncAndInitial as u}from\"../../core/reactiveUtils.js\";import{offsetDate as p}from\"../../core/timeUtils.js\";import{property as d}from\"../../core/accessorSupport/decorators/property.js\";import{ensureType as c}from\"../../core/accessorSupport/ensureType.js\";import\"../../core/RandomLCG.js\";import\"../../core/has.js\";import{subclass as h}from\"../../core/accessorSupport/decorators/subclass.js\";import f from\"../../time/TimeExtent.js\";import g from\"../../time/TimeInterval.js\";import w from\"../../webdoc/Widgets.js\";import v from\"../../webdoc/widgets/TimeSlider.js\";const T=1e4;function x(t){return null!=t&&void 0!==t.count}function E(t){return null!=t&&void 0!==t.interval}function _(t){return null!=t&&void 0!==t.dates}let y=class extends n.EventedAccessor{constructor(t){super(t),this._animationController=null,this._isViewTimeExtentInitialized=!1,this._timerId=null,this.actions=new e,this.fullTimeExtent=null,this.loop=!1,this.mode=\"time-window\",this.stops={count:10},this.timeExtent=null,this.view=null}initialize(){this.addHandles([o((()=>this.effectiveStops),(()=>{null==this.timeExtent&&(this.timeExtent=this._getDefaultTimeExtent())}),m),o((()=>this.view),((t,e)=>{this._unregisterWidget(e),this._registerWidget(t)}),u),o((()=>this.timeExtent),(t=>{if(null==this.view)return;const e=this.view.timeExtent;(null!=t&&!t.isAllTime||null!=e&&!e.isAllTime)&&(null!=t&&null!=e&&t.equals(e)||(this.view.timeExtent=t))}),m),o((()=>this.view?.timeExtent),(t=>{this._isViewTimeExtentInitialized?(null!=t&&!t.isAllTime||null!=this.timeExtent&&!this.timeExtent.isAllTime)&&(null!=t&&null!=this.timeExtent&&t.equals(this.timeExtent)||(this.timeExtent=t)):this._isViewTimeExtentInitialized=!0}))])}destroy(){null!=this._timerId&&(clearInterval(this._timerId),this._timerId=null),this._unregisterWidget(this.view),this.view=null,null!=this._animationController&&(this._animationController.abort(),this._animationController=null)}get effectiveStops(){const{fullTimeExtent:t,stops:e}=this;if(_(e)){const{dates:i}=e;if(null==i||0===i.length)return null;const n=i.sort(((t,e)=>t.getTime()-e.getTime()));if(null==t)return n;const{start:l,end:s}=t;if(null==l||null==s)return n;return n.filter((t=>!(t.getTime()s.getTime())))}if(x(e)){const i=e.timeExtent??t;return this._divideTimeExtentByCount(i,e.count)}if(E(e)){const i=e.timeExtent??t;return this._divideTimeExtentByInterval(i,e.interval)}return[]}set playRate(t){t<=0||t>36e5||(\"playing\"===this.state&&this._startAnimation(),this._set(\"playRate\",t))}get state(){return null==this.fullTimeExtent?\"disabled\":null!=this._animationController?\"playing\":\"ready\"}get timeExtentValues(){const{mode:t,timeExtent:e}=this;if(null==e||e.isAllTime||e.isEmpty)return null;const{start:i,end:n}=e;switch(t){case\"cumulative-from-end\":case\"instant\":return null!=i?[i.getTime()]:null;case\"cumulative-from-start\":return null!=n?[n.getTime()]:null;case\"time-window\":return null!=i&&null!=n?[i.getTime(),n.getTime()]:null}}static async getPropertiesFromWebMap(t,e){i(l.getLogger(\"esri.widgets.TimeSlider.TimeSliderViewModel\"),\"`TimeSliderViewModel.getPropertiesFromWebMap` is deprecated in favor of 'timeUtils.getTimeSliderSettingsFromWebDocument'\",{replacement:\"timeUtils.getTimeSliderSettingsFromWebDocument\",version:\"4.29\",see:\"https://developers.arcgis.com/javascript/latest/api-reference/esri-support-timeUtils.html#getTimeSliderSettingsFromWebDocument\",warnOnce:!0});const{getTimeSliderSettingsFromWebDocument:n}=await import(\"../../support/timeUtils.js\");return n(t,e)}next(){this._step({forward:!0,allowRestart:!1})}play(){this._startAnimation()}previous(){this._step({forward:!1,allowRestart:!1})}stop(){this._stopAnimation()}triggerAction(t){this.emit(\"trigger-action\",{action:t})}updateWebDocument(t){const e=new v({currentTimeExtent:this.timeExtent,fullTimeExtent:this.fullTimeExtent,loop:this.loop,numStops:x(this.stops)?this.stops.count:null,numThumbs:\"time-window\"===this.mode?2:1,stopDelay:this.playRate,stopInterval:E(this.stops)?this.stops.interval:null,stops:_(this.stops)?this.stops.dates:null});t.widgets?t.widgets.timeSlider=e:t.widgets=new w({timeSlider:e})}valuesToTimeExtent(t){if(null==t)return null;const e=t.sort(((t,e)=>t-e)).map((t=>new Date(t))),i=e.length>0?e[0]:null,n=e.length>1?e[1]:null;switch(this.mode){case\"time-window\":return new f({start:i,end:n});case\"instant\":return new f({start:i,end:i});case\"cumulative-from-start\":return new f({start:null,end:i});case\"cumulative-from-end\":return new f({start:i,end:null});default:return f.allTime}}async _animate(){try{const t=this.view,e=this._animationController?.signal;await Promise.all([s(this.playRate,null,e),null!=t&&a((()=>!1===t.updating),e)])}catch(t){return r(t)||l.getLogger(this).error(t),void(this._animationController=null)}this._step({forward:!0,allowRestart:!1}),null!=this._animationController&&this._animate()}_divideTimeExtentByCount(t,e=10){if(!t||!e)return[];const{start:i,end:n}=t;if(null==i||null==n)return[];if(e>T)return this._divideTimeExtentByCount(t);const l=[],s=i.getTime(),r=n.getTime()-s;for(let o=0;o<=e;o++)l.push(new Date(s+o/e*r));return l}_divideTimeExtentByInterval(t,e,i=T){if(!t||!e)return[];const{start:n,end:l}=t;if(null==n||null==l)return[];const s=l.getTime()-n.getTime(),r=e.toMilliseconds();if(r<=0||s/r>i)return this._divideTimeExtentByCount(t);const o=[],{value:a,unit:m}=e;let u=n;for(;u.getTime()<=l.getTime();)o.push(new Date(u.getTime())),u=p(u,a,m);return o}_getDefaultTimeExtent(){const{effectiveStops:t,mode:e}=this;if(null==t||!e)return null;switch(e){case\"time-window\":return t.length>1?new f({start:t[0],end:t[1]}):null;case\"cumulative-from-start\":return t.length>0?new f({start:null,end:t[0]}):null;case\"cumulative-from-end\":return t.length>0?new f({start:t[0],end:null}):null;case\"instant\":return t.length>0?new f({start:t[0],end:t[0]}):null;default:return null}}_registerWidget(t){if(null!=t){t.persistableViewModels.includes(this)||t.persistableViewModels.add(this)}}_startAnimation(){this._stopAnimation(),this._animationController=new AbortController,this._step({forward:!0,allowRestart:!0}),this._animate()}_step(t){const{forward:e,allowRestart:i}=t,{effectiveStops:n}=this;if(null==this.timeExtentValues||null==n)return;const l=n.map((t=>t.getTime())),s=this.timeExtentValues.map((t=>{const e=l.indexOf(t);if(-1!==e)return e;const i=l.reduce(((e,i)=>Math.abs(i-t)t+(e?1:-1))),o=r.some((t=>t<0||t>l.length-1)),{loop:a,state:m}=this;if(o)if(a||i){const t=Math.min(...s),i=Math.max(...s),n=(e?s.map((e=>e-t)):s.map((t=>t+(l.length-1-i)))).map((t=>l[t]));this.timeExtent=this.valuesToTimeExtent(n)}else\"playing\"===m&&this.stop();else{const t=r.map((t=>l[t]));this.timeExtent=this.valuesToTimeExtent(t)}}_stopAnimation(){null!=this._animationController&&(this._animationController.abort(),this._animationController=null)}_unregisterWidget(t){null!=t&&t.persistableViewModels.remove(this)}};t([d()],y.prototype,\"_animationController\",void 0),t([d({type:e})],y.prototype,\"actions\",void 0),t([d({readOnly:!0})],y.prototype,\"effectiveStops\",null),t([d({type:f})],y.prototype,\"fullTimeExtent\",void 0),t([d({nonNullable:!0})],y.prototype,\"loop\",void 0),t([d({nonNullable:!0})],y.prototype,\"mode\",void 0),t([d({nonNullable:!0,value:1e3})],y.prototype,\"playRate\",null),t([d({readOnly:!0})],y.prototype,\"state\",null),t([d({cast:t=>null==t?null:(E(t)&&(t.interval=c(g,t.interval)),(E(t)||x(t))&&(t.timeExtent=c(f,t.timeExtent)),t)})],y.prototype,\"stops\",void 0),t([d({type:f})],y.prototype,\"timeExtent\",void 0),t([d({readOnly:!0})],y.prototype,\"timeExtentValues\",null),t([d()],y.prototype,\"view\",void 0),t([d()],y.prototype,\"next\",null),t([d()],y.prototype,\"play\",null),t([d()],y.prototype,\"previous\",null),t([d()],y.prototype,\"stop\",null),t([d()],y.prototype,\"updateWebDocument\",null),y=t([h(\"esri.widgets.TimeSlider.TimeSliderViewModel\")],y);const b=y;export{b as default};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nconst t=\"esri-time-slider\",e={timeSlider:`${t}`,timeSliderOutOfBounds:`${t}--out-of-bounds`,timeSliderMode:`${t}__mode--`,timeSliderLayout:`${t}__layout--`,timeSliderRow:`${t}__row`,animation:`${t}__animation`,animationButton:`${t}__animation-button`,timeExtent:`${t}__time-extent`,timeExtentGroup:`${t}__time-extent-group`,timeExtentDate:`${t}__time-extent-date`,timeExtentTime:`${t}__time-extent-time`,timeExtentSeparator:`${t}__time-extent-separator`,playbackControls:`${t}__playback-controls`,min:`${t}__min`,minDate:`${t}__min-date`,minTime:`${t}__min-time`,slider:`${t}__slider`,sliderMajorTick:\"majorTick\",sliderMinorTick:\"minorTick\",max:`${t}__max`,maxDate:`${t}__max-date`,maxTime:`${t}__max-time`,previous:`${t}__previous`,previousButton:`${t}__previous-button`,next:`${t}__next`,nextButton:`${t}__next-button`,warning:`${t}__warning`,warningText:`${t}__warning-text`,hasActions:`${t}--has-actions`,actions:`${t}__actions`,actionsButton:`${t}__actions-button`};export{e as css};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{_ as e}from\"../chunks/tslib.es6.js\";import\"../intl.js\";import{deprecatedFunction as t}from\"../core/deprecate.js\";import{byId as r}from\"../core/domUtils.js\";import s from\"../core/Evented.js\";import{isEventedOrEventTarget as o,on as i}from\"../core/events.js\";import\"../core/has.js\";import{clone as n}from\"../core/lang.js\";import a from\"../core/Logger.js\";import{destroyMaybe as d}from\"../core/maybe.js\";import{EsriPromiseMixin as l}from\"../core/Promise.js\";import{debounce as c,throwIfNotAbortError as p}from\"../core/promiseUtils.js\";import{watch as h,when as u,syncAndInitial as m}from\"../core/reactiveUtils.js\";import{generateUUID as g}from\"../core/uuid.js\";import{property as v}from\"../core/accessorSupport/decorators/property.js\";import{cast as y}from\"../core/accessorSupport/decorators/cast.js\";import{subclass as f}from\"../core/accessorSupport/decorators/subclass.js\";import{runTracked as _}from\"../core/accessorSupport/tracking.js\";import{SimpleTrackingTarget as j}from\"../core/accessorSupport/tracking/SimpleTrackingTarget.js\";import{createAdvancedProjector as b}from\"../libs/maquette-advanced-projector/projector.js\";import{commitAssetPath as w}from\"./support/componentsUtils.js\";import{isWidgetConstructor as S,processWidgets as R}from\"./support/jsxWidgetSupport.js\";import{widgetTestDataSymbol as P,widgetSymbol as k}from\"./support/symbols.js\";import{registerLoading as C}from\"./support/tests.js\";import{getVNodeCache as E,setVNodeCache as L,deleteVNodeCache as F,clearVNodeCache as T}from\"./support/vnodeCache.js\";import{classes as I}from\"./support/widgetUtils.js\";import{onLocaleChange as H}from\"../intl/locale.js\";import{fetchMessageBundle as N}from\"../intl/messages.js\";var $;const U=\"esri.widgets.Widget\";let z=0;function W(e,t){const r=Object.prototype.hasOwnProperty;for(const s in t)r.call(t,s)&&r.call(e,s)&&(null!=e[s]&&null!=t[s]&&\"object\"==typeof e[s]&&\"object\"==typeof t[s]?W(e[s],t[s]):e[s]=t[s]);return e}const x=b({postProcessProjectionOptions(e){const t=e.eventHandlerInterceptor,r=/capture$/i;e.eventHandlerInterceptor=(e,s,o,i)=>{const n=t?.(e,s,o,i),a=r.test(e);if(!((e=e.replace(r,\"\")).toLowerCase()in o)||a){const t=e[2].toLowerCase()+e.slice(3),r=e=>n?.call(o,e);o.addEventListener(t,r,a);const s=()=>o.removeEventListener(t,r,a),d=i.afterRemoved;i.afterRemoved=e=>{d?.(e),s()}}return n}},handleInterceptedEvent(e,t,r,s){const{eventPhase:o,type:i}=s,n=o===Event.CAPTURING_PHASE;let a=`on${i}${n?\"capture\":\"\"}`;const d=t.properties;(d&&a in d||(a=`on${i[0].toUpperCase()}${i.slice(1)}${n?\"Capture\":\"\"}`,d&&a in d))&&(T(),e.scheduleRender(),d[a].call(d.bind||r,s))}});let A=!1,O=class extends(l(s.EventedAccessor)){constructor(e,t){super(e,t),this._attached=!1,this._projector=x,this._readyForTrueRender=!1,this.key=this,this.autoRenderingEnabled=!0,this._loadLocale=c((async()=>{if(this._messageBundleProps?.length){const e=await Promise.allSettled(this._messageBundleProps.map((async({bundlePath:e,propertyName:t})=>{if(this.destroyed)return;let r=await N(e);this.uiStrings&&Object.keys(this.uiStrings)&&(r=W(n(r),this.uiStrings)),this[t]=r})));if(this.destroyed)return;for(const t of e)\"rejected\"===t.status&&a.getLogger(this).error(\"widget-intl:locale-error\",this.declaredClass,t.reason)}await this.loadLocale()})),w();const r=\"esri-widget-uid-\"+g(),s=this.render.bind(this);this._trackingTarget=new j((()=>{this.autoRenderingEnabled&&this.scheduleRender()}));const o=()=>({vnodeSelector:\"div\",properties:{key:`${r}-hidden`,class:\"\",styles:{display:\"none\"}},domNode:null,children:void 0,text:void 0}),i=()=>{if(!this._readyForTrueRender||this.destroyed)return null;const e=s()??o(),t=e.properties??={};if(t.key??=r,S(e.vnodeSelector)){if(!this.visible)return o()}else this.visible?t.styles||(t.styles={}):(t.class=\"\",t.styles={display:\"none\"}),t.styles.display??=\"\";let i=0;return e.children?.forEach((e=>{S(e.vnodeSelector)||(e.properties??={},e.properties.key??=`${this.id}--${i++}`)})),R(this,e)};this.render=()=>{if(A)return i();let e=E(this)??null;if(e)return e;this._trackingTarget.clear(),A=!0;try{e=_(this._trackingTarget,i)}catch(t){throw a.getLogger(this).error(t),t}finally{A=!1}return e&&L(this,e),e};const d=this.beforeFirstRender();d?this._resourcesFetch=d.then((()=>{this._readyForTrueRender=!0,this._postInitialize()})):(this._resourcesFetch=Promise.resolve().then((()=>{this._postInitialize()})),this._readyForTrueRender=!0),this.addResolvingPromise(this._resourcesFetch),C(this._resourcesFetch)}normalizeCtorArgs(e,t){const r={...e};return t&&(r.container=t),r}postInitialize(){}beforeFirstRender(){const e=this.loadDependencies();return this._messageBundleProps?.length||e?Promise.all([e,this._loadLocale()]).then((()=>{})).catch(p):null}loadDependencies(){return null}loadLocale(){return null}destroy(){this.destroyed||(d(this._trackingTarget),d(this.viewModel),this._detach(this.container),this._set(\"container\",null),this._emitter.clear(),this.render=()=>null,this._projector=null,F(this))}set container(e){this._get(\"container\")||this._set(\"container\",e)}castContainer(e){return r(e)}get domNode(){return this.container}set domNode(e){this.container=e}get icon(){return null}set icon(e){this._overrideIfSome(\"icon\",e)}get id(){return this._get(\"id\")||this.container?.id||Date.now().toString(16)+\"-widget-\"+z++}set id(e){e&&this._set(\"id\",e)}get label(){return this.declaredClass.split(\".\").pop()}set label(e){this._overrideIfSome(\"label\",e)}get renderable(){return this._resourcesFetch}get visible(){return this._get(\"visible\")}set visible(e){this._set(\"visible\",e)}get[($=k,P)](){return{projector:this._projector}}render(){throw new Error(\"not implemented\")}scheduleRender(){this.destroyed||(F(this),this._projector.scheduleRender())}own(e){t(a.getLogger(this),\"`Widget.own()` is deprecated in favor of 'Widget.addHandles()'\",{replacement:\"Widget.addHandles()\",version:\"4.28\"}),this.addHandles(e)}classes(...e){return I.apply(this,e)}renderNow(){F(this),this._projector.renderNow()}_postInitialize(){if(this.destroyed)return;this.scheduleRender(),this._delegatedEventNames?.length&&this.addHandles(h((()=>this.viewModel),((e,t)=>{t&&this.removeHandles(\"delegated-events\"),e&&o(e)&&this.addHandles(this._delegatedEventNames.map((t=>i(e,t,(e=>{this.emit(t,e)})))),\"delegated-events\")}),m)),this.postInitialize();const e=async()=>{await this._loadLocale().catch(p),this.scheduleRender()};this.addHandles([H(e),h((()=>this.uiStrings),e),u((()=>this.container),(e=>{this.destroyed||this._attach(e)}),{initial:!0,once:!0})])}_attach(e){e&&(this._projector.merge(e,this.render),this._attached=!0)}_detach(e){this._attached&&(this._projector.detach(this.render),this._attached=!1),e?.parentNode?.removeChild(e)}};O[$]=!0,O.vnodeSelector=\"div\",e([v()],O.prototype,\"_readyForTrueRender\",void 0),e([v({value:null})],O.prototype,\"container\",null),e([y(\"container\")],O.prototype,\"castContainer\",null),e([v()],O.prototype,\"icon\",null),e([v()],O.prototype,\"id\",null),e([v()],O.prototype,\"label\",null),e([v()],O.prototype,\"renderable\",null),e([v()],O.prototype,\"uiStrings\",void 0),e([v()],O.prototype,\"viewModel\",void 0),e([v({value:!0})],O.prototype,\"visible\",null),e([v()],O.prototype,\"key\",void 0),e([v()],O.prototype,\"children\",void 0),e([v()],O.prototype,\"afterCreate\",void 0),e([v()],O.prototype,\"afterUpdate\",void 0),e([v()],O.prototype,\"afterRemoved\",void 0),O=e([f(U)],O);const B=O;export{B as default};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{_ as o}from\"../chunks/tslib.es6.js\";import{property as t}from\"../core/accessorSupport/decorators/property.js\";import\"../core/has.js\";import\"../core/Logger.js\";import\"../core/RandomLCG.js\";import{subclass as e}from\"../core/accessorSupport/decorators/subclass.js\";import s from\"./Widget.js\";import{loadCalciteComponents as i}from\"./support/componentsUtils.js\";import{globalCss as r}from\"./support/globalCss.js\";import\"./support/widgetUtils.js\";import{messageBundle as l}from\"./support/decorators/messageBundle.js\";import{tsx as n}from\"./support/jsxFactory.js\";import a from\"./Zoom/ZoomViewModel.js\";const m={base:\"esri-zoom\",horizontalLayout:\"esri-zoom--horizontal\"};let c=class extends s{constructor(o,t){super(o,t),this.messages=null,this.viewModel=new a,this.zoomIn=()=>this.viewModel.zoomIn(),this.zoomOut=()=>this.viewModel.zoomOut()}loadDependencies(){return i({button:()=>import(\"@esri/calcite-components/dist/components/calcite-button.js\")})}get icon(){return\"magnifying-glass-plus\"}set icon(o){this._overrideIfSome(\"icon\",o)}get label(){return this.messages?.widgetLabel??\"\"}set label(o){this._overrideIfSome(\"label\",o)}set layout(o){\"horizontal\"!==o&&(o=\"vertical\"),this._set(\"layout\",o)}set view(o){this.viewModel.view=o}get view(){return this.viewModel.view}render(){const o={[m.horizontalLayout]:\"horizontal\"===this.layout},{canZoomIn:t,canZoomOut:e}=this.viewModel,{zoomIn:s,zoomOut:i}=this.messages;return n(\"div\",{class:this.classes(m.base,r.widget,o)},n(\"calcite-button\",{class:r.widgetButton,disabled:!t,iconStart:\"plus\",kind:\"neutral\",label:s,onclick:this.zoomIn,title:s}),n(\"calcite-button\",{class:r.widgetButton,disabled:!e,iconStart:\"minus\",kind:\"neutral\",label:i,onclick:this.zoomOut,title:i}))}};o([t()],c.prototype,\"icon\",null),o([t()],c.prototype,\"label\",null),o([t({value:\"vertical\"})],c.prototype,\"layout\",null),o([t(),l(\"esri/widgets/Zoom/t9n/Zoom\")],c.prototype,\"messages\",void 0),o([t()],c.prototype,\"view\",null),o([t({type:a})],c.prototype,\"viewModel\",void 0),c=o([e(\"esri.widgets.Zoom\")],c);const p=c;export{p as default};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{_ as o}from\"../../chunks/tslib.es6.js\";import t from\"../../core/Accessor.js\";import{property as e}from\"../../core/accessorSupport/decorators/property.js\";import\"../../core/has.js\";import\"../../core/Logger.js\";import\"../../core/RandomLCG.js\";import{subclass as s}from\"../../core/accessorSupport/decorators/subclass.js\";let r=class extends t{get canZoomIn(){const o=this.view?.ready;if(!o)return!1;const t=this.view?.constraints?.effectiveMaxScale;return 0===t||this._scale>t}get canZoomOut(){const{view:o}=this,t=o?.ready;if(!t)return!1;const e=o.constraints?.effectiveMinScale;return 0===e||this._scale{const e=this.screenLocationEnabled?this.view:null;return e?[e.size,\"3d\"===e.type?e.camera:e.viewpoint]:null}),(()=>this.notifyChange(\"screenLocation\"))),r((()=>this.screenLocation),((e,o)=>{null!=e&&null!=o&&this.emit(\"view-change\")}))])}destroy(){this.view=null}get screenLocation(){const{location:e,view:o,screenLocationEnabled:t}=this,r=o?.spatialReference,s=r?i(e,r).geometry:null;return t&&s&&o?.ready?o.toScreen(s):null}};e([s()],c.prototype,\"location\",void 0),e([s()],c.prototype,\"screenLocation\",null),e([s()],c.prototype,\"screenLocationEnabled\",void 0),e([s()],c.prototype,\"view\",void 0),c=e([n(\"esri.widgets.support.AnchorElementViewModel\")],c);const l=c;export{l as default};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{_ as o}from\"../../chunks/tslib.es6.js\";import{assertIsSome as r}from\"../../core/maybe.js\";import{property as e}from\"../../core/accessorSupport/decorators/property.js\";import\"../../core/has.js\";import\"../../core/Logger.js\";import\"../../core/RandomLCG.js\";import{subclass as s}from\"../../core/accessorSupport/decorators/subclass.js\";const t=t=>{let i=class extends t{constructor(...o){super(...o),this.goToOverride=null,this.view=null}callGoTo(o){const{view:e}=this;return r(e),this.goToOverride?this.goToOverride(e,o):e.goTo(o.target,o.options)}};return o([e()],i.prototype,\"goToOverride\",void 0),o([e()],i.prototype,\"view\",void 0),i=o([s(\"esri.widgets.support.GoTo\")],i),i};export{t as GoToMixin};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{clamp as r}from\"../../core/mathUtils.js\";import{globalCss as t}from\"./globalCss.js\";import{classes as o}from\"./widgetUtils.js\";import{tsx as i}from\"./jsxFactory.js\";function e({level:r,class:e,...n},l){const a=s(r);return i(`h${a}`,{...n,\"aria-level\":String(a),class:o(t.heading,e),role:\"heading\"},l)}function s(t){return r(Math.ceil(t),1,6)}function n(r,t=1){return s(r+t)}export{e as Heading,n as incrementHeadingLevel};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{_ as t}from\"../../chunks/tslib.es6.js\";import e from\"../../core/Accessor.js\";import o from\"../../core/Logger.js\";import{watch as s,syncAndInitial as i,when as r}from\"../../core/reactiveUtils.js\";import{property as l}from\"../../core/accessorSupport/decorators/property.js\";import\"../../core/has.js\";import\"../../core/RandomLCG.js\";import{subclass as n}from\"../../core/accessorSupport/decorators/subclass.js\";let p=class extends e{constructor(t){super(t),this.tool=null,this._loggedUnsupportedErrorOnce=!1,null!=t?.visible&&(this.visible=t.visible)}initialize(){this.addHandles(s((()=>({ready:null!=this.view&&this.view.ready,supported:this.supported})),(({ready:t,supported:e})=>{!t||e||this._loggedUnsupportedErrorOnce||(this.logError(this.unsupportedErrorMessage),this._loggedUnsupportedErrorOnce=!0)}),i))}destroy(){this.removeTool(),this.view=null}get active(){return null!=this.tool&&this.tool.active}get disabled(){return null==this.view||!this.view.ready||!this.supported}get supported(){return null==this.view||this.view.type===this.supportedViewType}get view(){return this._get(\"view\")}set view(t){if(t===this.view)return;this.removeTool(),this._set(\"view\",t);const e=\"tools\";this.removeHandles(e),null!=t&&this.addHandles(t.tools.on(\"after-remove\",(t=>{t.item===this.tool&&this._set(\"tool\",null)})),e)}set visible(t){this._set(\"visible\",t),null!=this.tool&&(this.tool.visible=t)}createTool(t={interactive:!1}){if(this.removeTool(),null==this.view||!this.view.ready||!this.supported)return;const e=this.constructTool();e.created?(this._set(\"tool\",e),this.view.tools.add(e)):t.interactive?(this._set(\"tool\",e),this.view.addAndActivateTool(e),r((()=>e.created),(()=>{e.active&&null!=this.view&&(this.view.activeTool=null)}),{initial:!0,once:!0})):e.destroy()}removeTool(){const t=this.tool;if(null==t)return;const e=this.view?.tools;null!=e?e.remove(t):t.destroy(),this._set(\"tool\",null)}logError(...t){o.getLogger(this).error(...t)}};t([l({constructOnly:!0})],p.prototype,\"tool\",void 0),t([l()],p.prototype,\"active\",null),t([l()],p.prototype,\"disabled\",null),t([l()],p.prototype,\"supported\",null),t([l({value:null})],p.prototype,\"view\",null),t([l({type:Boolean,value:!0})],p.prototype,\"visible\",null),p=t([n(\"esri.widgets.support.InteractiveToolViewModel\")],p);export{p as InteractiveToolViewModel};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{_ as e}from\"../../chunks/tslib.es6.js\";import{property as t}from\"../../core/accessorSupport/decorators/property.js\";import\"../../core/has.js\";import\"../../core/Logger.js\";import\"../../core/RandomLCG.js\";import{subclass as s}from\"../../core/accessorSupport/decorators/subclass.js\";import r from\"../Widget.js\";import{loadCalciteComponents as n}from\"./componentsUtils.js\";import{UnitSelect as i}from\"./UnitSelect.js\";import\"./widgetUtils.js\";import{tsx as o}from\"./jsxFactory.js\";const a=\"esri-measurement-widget-content\",m={base:a,actions:`${a}__actions`,error:`${a}__error`,hint:`${a}__hint`,hintText:`${a}__hint-text`,panelError:`${a}__panel--error`,settings:`${a}__settings`,measurement:`${a}__measurement`,measurementItem:`${a}__measurement-item`,measurementItemDisabled:`${a}__measurement-item--disabled`,measurementItemTitle:`${a}__measurement-item__title`,measurementItemValue:`${a}__measurement-item__value`};let u=class extends r{constructor(e,t){super(e,t)}loadDependencies(){return n({button:()=>import(\"@esri/calcite-components/dist/components/calcite-button.js\")})}render(){return o(\"div\",{class:m.base},this._renderContent())}_renderContent(){const{supported:e,active:t,state:s}=this;switch(s){case\"disabled\":case\"ready\":return e?t?this._renderHint():this._renderActions():this._renderUnsupportedMessage();case\"measuring\":case\"measured\":return[this._renderSettings(),this._renderMeasurement(),this._renderActions()]}}_renderUnsupportedMessage(){return o(\"section\",{class:m.error,key:\"unsupported\"},o(\"p\",null,this.messages.unsupported))}_renderHint(){const{messages:e}=this;return o(\"section\",{class:m.hint,key:\"hint\"},o(\"p\",{class:m.hintText},e.hint))}_renderSettings(){return o(\"div\",{class:m.settings,key:\"settings\"},o(i,{options:this.unitOptions,selectLabel:this.messages.unit,value:this.unit,onChange:this.onUnitChange}))}_renderMeasurement(){return o(\"section\",{class:m.measurement,key:\"measurement\"},this.measurementItems.map((e=>this._renderMeasurementItem(e))))}_renderMeasurementItem({key:e,title:t,value:s}){return o(\"div\",{class:this.classes(m.measurementItem,null==s&&m.measurementItemDisabled),key:e},o(\"span\",{class:m.measurementItemTitle},t),o(\"span\",{\"aria-live\":\"polite\",class:m.measurementItemValue},s??this.messages.notApplicable))}_renderActions(){const{messages:e}=this;return o(\"div\",{class:m.actions},o(\"calcite-button\",{class:this.newMeasurementButtonClass,disabled:\"disabled\"===this.state,onclick:this.onNewMeasurementClick},e.newMeasurement))}};e([t()],u.prototype,\"active\",void 0),e([t()],u.prototype,\"measurementItems\",void 0),e([t()],u.prototype,\"messages\",void 0),e([t()],u.prototype,\"newMeasurementButtonClass\",void 0),e([t()],u.prototype,\"onNewMeasurementClick\",void 0),e([t()],u.prototype,\"onUnitChange\",void 0),e([t()],u.prototype,\"state\",void 0),e([t()],u.prototype,\"supported\",void 0),e([t()],u.prototype,\"unit\",void 0),e([t()],u.prototype,\"unitOptions\",void 0),u=e([s(\"esri.widgets.support.MeasurementWidgetContent\")],u);export{u as MeasurementWidgetContent};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{_ as e}from\"../../chunks/tslib.es6.js\";import{isMeasurementSystem as t}from\"../../core/unitUtils.js\";import{property as s}from\"../../core/accessorSupport/decorators/property.js\";import\"../../core/has.js\";import\"../../core/Logger.js\";import\"../../core/RandomLCG.js\";import{subclass as o}from\"../../core/accessorSupport/decorators/subclass.js\";import r from\"../Widget.js\";import{loadCalciteComponents as c}from\"./componentsUtils.js\";import\"./widgetUtils.js\";import{messageBundle as i}from\"./decorators/messageBundle.js\";import{tsx as l}from\"./jsxFactory.js\";const a=\"esri-unit-select\",p={base:a,label:`${a}__label`,select:`${a}__select`};let n=class extends r{constructor(e,t){super(e,t),this._onSelectChange=e=>{this.onChange(e.target.value)}}loadDependencies(){return c({label:()=>import(\"@esri/calcite-components/dist/components/calcite-label.js\"),option:()=>import(\"@esri/calcite-components/dist/components/calcite-option.js\"),select:()=>import(\"@esri/calcite-components/dist/components/calcite-select.js\")})}render(){const{messages:e,options:s,selectLabel:o,value:r,_onSelectChange:c}=this;return l(\"div\",{class:p.base,key:\"units\"},l(\"calcite-label\",{class:p.label},o,l(\"calcite-select\",{class:p.select,label:o,onCalciteSelectChange:c},s.map((s=>l(\"calcite-option\",{key:s,selected:s===r,value:s},t(s)?e.systems[s]:e.units[s]?.pluralCapitalized))))))}};e([s()],n.prototype,\"options\",void 0),e([s()],n.prototype,\"onChange\",void 0),e([s()],n.prototype,\"selectLabel\",void 0),e([s()],n.prototype,\"value\",void 0),e([s(),i(\"esri/core/t9n/Units\")],n.prototype,\"messages\",void 0),n=e([o(\"esri.widgets.support.UnitSelect\")],n);export{n as UnitSelect};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{getAssetPath as t,setAssetPath as o}from\"@esri/calcite-components/dist/components/index.js\";import{getAssetUrl as s}from\"../../assets.js\";import\"../../core/has.js\";import{makeAbsolute as e}from\"../../core/urlUtils.js\";let c;function n(){try{t(\".\")}catch{o(e(s(c)))}}function r(t){const o=[];for(const s of Object.keys(t))customElements.get(`calcite-${s}`)||o.push(t[s]?.());return o.length>0?Promise.all(o):null}c=\"components/assets\";export{n as commitAssetPath,r as loadCalciteComponents};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nfunction n(n){return\"number\"==typeof n}function t(n){return\"string\"==typeof n||n instanceof String}export{n as isNumber,t as isString};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport\"../../intl.js\";import\"../../core/has.js\";import t from\"../../core/Error.js\";import{clamp as e}from\"../../core/mathUtils.js\";import{mappedFind as n}from\"../../core/maybe.js\";import{convertDateFormatToIntlOptions as o,formatTimestamp as l,formatTimeOnly as i,formatDateOnly as r,formatDate as u}from\"../../intl/date.js\";import{utc as a}from\"../../time/timeZoneUtils.js\";import{isString as s,isNumber as m}from\"./dataUtils.js\";import{DateTime as c,FixedOffsetZone as f}from\"luxon\";import{getLocale as d}from\"../../intl/locale.js\";const y=a,p={date:null,time:null,timeZoneOffset:null},h=new Map([[\"hours\",3600],[\"minutes\",60],[\"seconds\",1],[\"deciseconds\",.1],[\"centiseconds\",.01],[\"milliseconds\",.001]]);var S;!function(t){t.HM=\"HH:mm\",t.HMS=\"HH:mm:ss\",t.HMS_MS=\"HH:mm:ss.SSS\"}(S||(S={}));const v=[S.HMS_MS,S.HMS,S.HM,\"TT\"],M=\"yyyy-MM-dd\",O=S.HMS,w=\"latn\",g=new Set([\"date-only\",\"time-only\",\"timestamp-offset\"]),H=t=>\"valueAsDate\"in t;function Z(t){return{locale:d(),numberingSystem:w,zone:t??y}}function j(t){return t?.isValid?t.toMillis():null}function x(t,e){return null===t?null:c.fromMillis(t,Z(e))}function I(t,e){if(null==t||!s(t)||\"\"===t){if(e){const t=c.local({zone:e});return{date:null,time:null,timeZoneOffset:t.isValid?t.offset.toString():null}}return p}const n=c.fromISO(t,{setZone:!0});return{date:n.toFormat(M,Z()),time:n.toFormat(S.HMS_MS,Z()),timeZoneOffset:n.offset.toString()}}function V(t,e){if(null==t||!m(t)||isNaN(t))return p;const n=x(t,e);return n?{date:n.toFormat(M,Z(e)),time:n.toFormat(O,Z(e))}:p}function b(t){switch(t.type){case\"date\":default:return o(\"short-date-short-time\");case\"date-only\":return o(\"short-date\");case\"time-only\":return o(\"short-time\");case\"timestamp-offset\":return{...o(\"short-date-short-time\"),timeZone:void 0,timeZoneName:\"short\"}}}function F(t,e,n){if(!t||null==e)return null;switch(t.type){case\"date\":return u(e,n);case\"date-only\":return r(e,n);case\"time-only\":return i(e,n);case\"timestamp-offset\":return l(e,n);default:return null}}function T(t){const{dateComponent:e,defaultTimeZone:n,timeComponent:o,timeZoneComponent:l,oldValue:i}=t;if(!e?.value)return null;const{year:r,month:u,day:s}=c.fromFormat(e.value,M),{hour:m,minute:d,second:y,millisecond:p}=C(o,a)??c.now(),h=I(i,n),S=l?.value?parseInt(l.value,10):null!=h.timeZoneOffset?parseInt(h.timeZoneOffset,10):(new Date).getTimezoneOffset(),v=f.instance(S),O=c.fromObject({year:r,month:u,day:s,hour:m,minute:d,second:y,millisecond:p},{zone:v});return O.isValid?O.toISO({includeOffset:!0}):null}function D(t,e=\"system\"){return c.fromJSDate(t,{zone:e}).isInDST}function k(t){const{dateComponent:e,timeComponent:n,timeZone:o,max:l,min:i,oldValue:r}=t,u=C(e,o);let a=!!t.applyRange;if(!u)return null;let s=null;if(null!=n?.value){const t=C(n,o),e=Date.now(),i=null!=l&&le)&&!(null!=n&&on?n:null!=o&&l{const n=c.fromFormat(t,e);return n.isValid?n:null}))??null:null}function R(t){if(!t||!s(t))return null;const e=c.fromISO(t);return e.isValid?e:null}function $(t){const{type:e,range:n,value:o}=t;if(null==o||!n||o===n.min||o===n.max)return!0;if(\"date\"===e)return z({value:o,min:n.min,max:n.max});const{rawMax:l,rawMin:i}=n;let r=null,u=null,a=null;switch(e){case\"date-only\":r=E(l),u=E(i),a=E(o);break;case\"time-only\":r=J(l),u=J(i),a=J(o);break;case\"timestamp-offset\":r=R(l),u=R(i),a=R(o)}return!a||z({value:a.valueOf(),min:u?.valueOf(),max:r?.valueOf()})}const q=new Set([\"small-integer\",\"big-integer\",\"integer\",\"single\",\"double\"]);function B(t){return q.has(t)}const G=new Set([\"date-picker\",\"time-picker\",\"datetimeoffset-picker\",\"datetime-picker\"]);function K(t){return G.has(t)}export{S as TimeStampOffsetPattern,U as arcadeDateToFieldValue,N as clampValueToRange,x as createDateTimeFromFieldValue,g as dateFieldsWithStringFieldValue,E as dateOnlyToDateTime,$ as dateTimeIsInRange,j as dateTimeToFieldValue,M as defaultDatePattern,O as defaultTimePattern,Z as getDefaultLocaleOptions,T as getISOFieldValueFromDateComponents,b as getIntlOptionsForField,F as getLabelForDateFieldValue,C as getLocalDateTimeFromComponent,k as getUnixFieldValueFromDateComponents,_ as isArcadeDate,H as isCalciteDateComponent,K as isDateType,D as isInDST,B as isNumberType,A as normalizeTimeOnlyString,w as numberingSystem,I as prepareISOFieldValueForDateComponents,V as prepareUnixFieldValueForDateComponents,v as supportedTimeFormats,J as timeOnlyToDateTime,h as timeResolutionToStepMap,R as timestampOffsetToDateTime,z as valueIsInRange};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{isActivationKey as n}from\"../widgetUtils.js\";function t(){return function(n,t){if(!n[t])throw new TypeError(`Cannot auto bind undefined function '${String(t)}'`);return{value:r(n[t])}}}function e(n){const t=n?.type;return n instanceof KeyboardEvent||\"keyup\"===t||\"keydown\"===t||\"keypress\"===t}function r(t){return function(r,...o){e(r)?n(r.key)&&(r.preventDefault(),r.stopPropagation(),r.target.click()):t.call(this,r,...o)}}export{t as accessibleHandler};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nfunction e(e){return(s,r)=>{s.hasOwnProperty(\"_messageBundleProps\")||(s._messageBundleProps=s._messageBundleProps?s._messageBundleProps.slice():[]);s._messageBundleProps.push({bundlePath:e,propertyName:r})}}export{e as messageBundle};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nfunction e(e){return a=>{a.hasOwnProperty(\"_delegatedEventNames\")||(a._delegatedEventNames=a._delegatedEventNames?a._delegatedEventNames.slice():[]);const n=a._delegatedEventNames,r=Array.isArray(e)?e:t(e);n.push(...r)}}function t(e){return e.split(\",\").map((e=>e.trim()))}export{e as vmEvent};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nconst e={anchor:\"esri-widget__anchor\",anchorDisabled:\"esri-widget__anchor--disabled\",button:\"esri-button\",buttonDisabled:\"esri-button--disabled\",buttonHalf:\"esri-button--half\",buttonSecondary:\"esri-button--secondary\",buttonSmall:\"esri-button--small\",buttonTertiary:\"esri-button--tertiary\",buttonThird:\"esri-button--third\",disabled:\"esri-disabled\",empty:\"esri-widget__content--empty\",emptyIllustration:\"esri-widget__content-illustration--empty\",heading:\"esri-widget__heading\",hidden:\"esri-hidden\",input:\"esri-input\",interactive:\"esri-interactive\",loader:\"esri-widget__loader\",loaderAnimation:\"esri-widget__loader-animation\",loaderText:\"esri-widget__loader-text\",menu:\"esri-menu\",menuHeader:\"esri-menu__header\",menuItem:\"esri-menu__list-item\",menuItemActive:\"esri-menu__list-item--active\",menuItemFocus:\"esri-menu__list-item--focus\",menuList:\"esri-menu__list\",panel:\"esri-widget--panel\",panelHeightOnly:\"esri-widget--panel-height-only\",primaryTick:\"primary-tick\",primaryTickAmPm:\"primary-tick__ampm\",primaryTickLabel:\"primary-tick__label\",rotating:\"esri-rotating\",secondaryTick:\"secondary-tick\",select:\"esri-select\",table:\"esri-widget__table\",widget:\"esri-widget\",widgetButton:\"esri-widget--button\",widgetButtonActive:\"esri-widget--button-active\",widgetDisabled:\"esri-widget--disabled\"};export{e as globalCss};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{isWidgetConstructor as r}from\"./jsxWidgetSupport.js\";var e=function(r){return{vnodeSelector:\"\",properties:void 0,children:void 0,text:r.toString(),domNode:null}},o=function(r,t){for(var n=0,i=r.length;na(r)))),queueMicrotask((()=>{f[t].projector.renderNow()}))}function s(e,t,r,{widgetProperties:o}){const n=i.get(e);n&&(n.set(o),n.afterUpdate?.(n,e))}function a(e){const t=i.get(e);t&&(t.afterRemoved?.(t,e),t.destroy(),i.delete(e))}function f(e){return\"function\"==typeof e&&e[r]}export{f as isWidgetConstructor,d as processWidgets};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nconst i={close:\"esri-icon-close\",collapse:\"esri-icon-collapse\",down:\"esri-icon-down\",downArrow:\"esri-icon-down-arrow\",dragHorizontal:\"esri-icon-drag-horizontal\",dragVertical:\"esri-icon-drag-vertical\",duplicate:\"esri-icon-duplicate\",expand:\"esri-icon-expand\",fontFallbackText:\"esri-icon-font-fallback-text\",forward:\"esri-icon-forward\",handleVertical:\"esri-icon-handle-vertical\",icon:\"esri-icon\",left:\"esri-icon-left\",locateCircled:\"esri-icon-locate-circled\",noticeTriangle:\"esri-icon-notice-triangle\",pause:\"esri-icon-pause\",play:\"esri-icon-play\",plus:\"esri-icon-plus\",radioChecked:\"esri-icon-radio-checked\",radioUnchecked:\"esri-icon-radio-unchecked\",refresh:\"esri-icon-refresh\",reverse:\"esri-icon-reverse\",right:\"esri-icon-right\",search:\"esri-icon-search\",swap:\"esri-icon-swap\",table:\"esri-icon-table\",trash:\"esri-icon-trash\",up:\"esri-icon-up\",upArrow:\"esri-icon-up-arrow\",upDownArrows:\"esri-icon-up-down-arrows\",urbanModel:\"esri-icon-urban-model\",zoomInMagnifyingGlass:\"esri-icon-zoom-in-magnifying-glass\",zoomToObject:\"esri-icon-zoom-to-object\"};export{i as legacyIcon};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nconst t=[\"label\",\"description\",\"metadata\"];export{t as calciteListFilterProps};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nconst t=Symbol(\"widget\"),e=Symbol(\"widget-test-data\");export{t as widgetSymbol,e as widgetTestDataSymbol};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nconst e=new Set;function n(n){e.add(n),n.finally((()=>e.delete(n)))}function t(){return e.size>0}export{t as hasPendingLoading,n as registerLoading};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport{replace as e}from\"../../core/string.js\";const s=[{pattern:/^\\s*(https?:\\/\\/([^\\s]+))\\s*$/i,target:\"_blank\",label:\"{messages.view}\"},{pattern:/^\\s*(tel:([^\\s]+))\\s*$/i,label:\"{hierPart}\"},{pattern:/^\\s*(mailto:([^\\s]+))\\s*$/i,label:\"{hierPart}\"},{pattern:/^\\s*(arcgis-appstudio-player:\\/\\/([^\\s]+))\\s*$/i,label:\"{messages.openInApp}\",appName:\"App Studio Player\"},{pattern:/^\\s*(arcgis-collector:\\/\\/([^\\s]+))\\s*$/i,label:\"{messages.openInApp}\",appName:\"Collector\"},{pattern:/^\\s*(arcgis-explorer:\\/\\/([^\\s]+))\\s*$/i,label:\"{messages.openInApp}\",appName:\"Explorer\"},{pattern:/^\\s*(arcgis-navigator:\\/\\/([^\\s]+))\\s*$/i,label:\"{messages.openInApp}\",appName:\"Navigator\"},{pattern:/^\\s*(arcgis-survey123:\\/\\/([^\\s]+))\\s*$/i,label:\"{messages.openInApp}\",appName:\"Survey123\"},{pattern:/^\\s*(arcgis-trek2there:\\/\\/([^\\s]+))\\s*$/i,label:\"{messages.openInApp}\",appName:\"Trek2There\"},{pattern:/^\\s*(arcgis-workforce:\\/\\/([^\\s]+))\\s*$/i,label:\"{messages.openInApp}\",appName:\"Workforce\"},{pattern:/^\\s*(iform:\\/\\/([^\\s]+))\\s*$/i,label:\"{messages.openInApp}\",appName:\"iForm\"},{pattern:/^\\s*(flow:\\/\\/([^\\s]+))\\s*$/i,label:\"{messages.openInApp}\",appName:\"FlowFinity\"},{pattern:/^\\s*(lfmobile:\\/\\/([^\\s]+))\\s*$/i,label:\"{messages.openInApp}\",appName:\"Laserfische\"},{pattern:/^\\s*(mspbi:\\/\\/([^\\s]+))\\s*$/i,label:\"{messages.openInApp}\",appName:\"Microsoft Power Bi\"}];function a(a,p){if(\"string\"!=typeof p||!p)return p;const r=s.find((e=>e.pattern.test(p)));if(!r)return p;const t=p.match(r.pattern),n=t?.[2],l=e(e(r.label,{messages:a,hierPart:n}),{appName:r.appName}),i=r.target?` target=\"${r.target}\"`:\"\",o=\"_blank\"===r.target?' rel=\"noreferrer\"':\"\";return p.replace(r.pattern,`${l}`)}export{a as autoLink};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nconst n=new Map;function t(){n.clear()}function e(t){return n.get(t)}function c(t,e){n.set(t,e)}function o(t){n.delete(t)}export{t as clearVNodeCache,o as deleteVNodeCache,e as getVNodeCache,c as setVNodeCache};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nexport{accessibleHandler}from\"./decorators/accessibleHandler.js\";export{messageBundle}from\"./decorators/messageBundle.js\";export{vmEvent}from\"./decorators/vmEvent.js\";export{tsx,tsxFragment}from\"./jsxFactory.js\";export{additionalAllowedTags,classes,discardNode,isActivationKey,isRTL,onResize,renderingSanitizer,safeAttrs,setFocus,storeNode}from\"./widgetUtils.js\";export{getCalciteThemeClass,isDarkTheme,setCalciteThemeClass}from\"../../support/themeUtils.js\";function e(e){return e&&\"function\"==typeof e.render}function t(e){return e&&\"function\"==typeof e.postMixInProperties&&\"function\"==typeof e.buildRendering&&\"function\"==typeof e.postCreate&&\"function\"==typeof e.startup}export{t as hasDomNode,e as isWidget};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.31/esri/copyright.txt for details.\n*/\nimport e from\"@esri/arcgis-html-sanitizer\";import t from\"../../core/ArrayPool.js\";import{handlesGroup as r,makeHandle as o}from\"../../core/handleUtils.js\";import\"../../core/has.js\";import\"../../core/Logger.js\";import{signalFromSignalOrOptions as n}from\"../../core/promiseUtils.js\";import{watch as s,syncAndInitial as i}from\"../../core/reactiveUtils.js\";import{waitAnimationFrame as a}from\"../../core/scheduling.js\";import{clearVNodeCache as c}from\"./vnodeCache.js\";function l(...e){const r=t.acquire();for(let t=0;t{const e=new Map,t=new ResizeObserver((t=>{c();for(const r of t)e.get(r.target)?.(r)})),n=(r,n,s)=>(e.set(r,n),t.observe(r,s),o((()=>{t.unobserve(r),e.delete(r)})));return(e,t,a)=>{let c=null;return r([s((()=>\"function\"==typeof e?e():e),(e=>{c?.remove(),e&&(c=n(e,t,a))}),i),o((()=>c?.remove()))])}})();function u(e){const t=e?.closest(\"[dir]\");return null!==t&&t instanceof HTMLElement&&\"rtl\"===t.dir||\"rtl\"===document.dir}function f(e){const t=\"data-node-ref\";this[e.getAttribute(t)]=null}function m(e){const t=\"data-node-ref\";this[e.getAttribute(t)]=e}const d=[\"dd\",\"dl\",\"dt\",\"h1\",\"h2\",\"h3\",\"h4\",\"h5\",\"h6\",\"sub\",\"sup\",...[\"animate\",\"animatetransform\",\"circle\",\"clippath\",\"defs\",\"ellipse\",\"g\",\"image\",\"line\",\"lineargradient\",\"marker\",\"mask\",\"path\",\"pattern\",\"polygon\",\"polyline\",\"radialgradient\",\"rect\",\"stop\",\"svg\",\"switch\",\"symbol\",\"text\",\"textpath\",\"tspan\",\"use\"]],g=d.reduce(((e,t)=>(e[t]=[],e)),{}),h=[\"align\",\"alink\",\"alt\",\"bgcolor\",\"border\",\"cellpadding\",\"cellspacing\",\"class\",\"color\",\"cols\",\"colspan\",\"coords\",\"d\",\"dir\",\"face\",\"height\",\"hspace\",\"ismap\",\"lang\",\"marginheight\",\"marginwidth\",\"multiple\",\"nohref\",\"noresize\",\"noshade\",\"nowrap\",\"ref\",\"rel\",\"rev\",\"rows\",\"rowspan\",\"scrolling\",\"shape\",\"span\",\"summary\",\"tabindex\",\"title\",\"usemap\",\"valign\",\"value\",\"vlink\",\"vspace\",\"width\"],y=new e({whiteList:g,onTagAttr:(e,t,r)=>{const o=`${t}=\"${r}\"`;if(h.includes(t))return o},stripIgnoreTag:!0,stripIgnoreTagBody:[\"script\",\"style\"]},!0);function v(e){return\"Enter\"===e||\" \"===e}async function w(e,t){await a(n(t));const r=\"function\"==typeof e?e():e;r&&(\"setFocus\"in r&&\"function\"==typeof r.setFocus?await r.setFocus():r instanceof HTMLElement&&r.focus())}export{d as additionalAllowedTags,l as classes,f as discardNode,v as isActivationKey,u as isRTL,p as onResize,y as renderingSanitizer,h as safeAttrs,w as setFocus,m as storeNode};\n","/*!\n * @esri/arcgis-html-sanitizer - v4.1.0 - Tue Dec 03 2024 09:13:28 GMT-0500 (Eastern Standard Time)\n * Copyright (c) 2024 - Environmental Systems Research Institute, Inc.\n * Apache-2.0\n * \n * js-xss\n * Copyright (c) 2012-2018 Zongmin Lei(雷宗民) \n * http://ucdok.com\n * MIT License, see https://github.com/leizongmin/js-xss/blob/master/LICENSE for details\n */\n/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\n\r\nvar __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n };\r\n return __assign.apply(this, arguments);\r\n};\n\nvar lib$1 = {exports: {}};\n\nvar _default$1 = {};\n\nvar lib = {exports: {}};\n\nvar _default = {};\n\n/**\n * cssfilter\n *\n * @author 老雷\n */\n\nfunction getDefaultWhiteList$1 () {\n // 白名单值说明:\n // true: 允许该属性\n // Function: function (val) { } 返回true表示允许该属性,其他值均表示不允许\n // RegExp: regexp.test(val) 返回true表示允许该属性,其他值均表示不允许\n // 除上面列出的值外均表示不允许\n var whiteList = {};\n\n whiteList['align-content'] = false; // default: auto\n whiteList['align-items'] = false; // default: auto\n whiteList['align-self'] = false; // default: auto\n whiteList['alignment-adjust'] = false; // default: auto\n whiteList['alignment-baseline'] = false; // default: baseline\n whiteList['all'] = false; // default: depending on individual properties\n whiteList['anchor-point'] = false; // default: none\n whiteList['animation'] = false; // default: depending on individual properties\n whiteList['animation-delay'] = false; // default: 0\n whiteList['animation-direction'] = false; // default: normal\n whiteList['animation-duration'] = false; // default: 0\n whiteList['animation-fill-mode'] = false; // default: none\n whiteList['animation-iteration-count'] = false; // default: 1\n whiteList['animation-name'] = false; // default: none\n whiteList['animation-play-state'] = false; // default: running\n whiteList['animation-timing-function'] = false; // default: ease\n whiteList['azimuth'] = false; // default: center\n whiteList['backface-visibility'] = false; // default: visible\n whiteList['background'] = true; // default: depending on individual properties\n whiteList['background-attachment'] = true; // default: scroll\n whiteList['background-clip'] = true; // default: border-box\n whiteList['background-color'] = true; // default: transparent\n whiteList['background-image'] = true; // default: none\n whiteList['background-origin'] = true; // default: padding-box\n whiteList['background-position'] = true; // default: 0% 0%\n whiteList['background-repeat'] = true; // default: repeat\n whiteList['background-size'] = true; // default: auto\n whiteList['baseline-shift'] = false; // default: baseline\n whiteList['binding'] = false; // default: none\n whiteList['bleed'] = false; // default: 6pt\n whiteList['bookmark-label'] = false; // default: content()\n whiteList['bookmark-level'] = false; // default: none\n whiteList['bookmark-state'] = false; // default: open\n whiteList['border'] = true; // default: depending on individual properties\n whiteList['border-bottom'] = true; // default: depending on individual properties\n whiteList['border-bottom-color'] = true; // default: current color\n whiteList['border-bottom-left-radius'] = true; // default: 0\n whiteList['border-bottom-right-radius'] = true; // default: 0\n whiteList['border-bottom-style'] = true; // default: none\n whiteList['border-bottom-width'] = true; // default: medium\n whiteList['border-collapse'] = true; // default: separate\n whiteList['border-color'] = true; // default: depending on individual properties\n whiteList['border-image'] = true; // default: none\n whiteList['border-image-outset'] = true; // default: 0\n whiteList['border-image-repeat'] = true; // default: stretch\n whiteList['border-image-slice'] = true; // default: 100%\n whiteList['border-image-source'] = true; // default: none\n whiteList['border-image-width'] = true; // default: 1\n whiteList['border-left'] = true; // default: depending on individual properties\n whiteList['border-left-color'] = true; // default: current color\n whiteList['border-left-style'] = true; // default: none\n whiteList['border-left-width'] = true; // default: medium\n whiteList['border-radius'] = true; // default: 0\n whiteList['border-right'] = true; // default: depending on individual properties\n whiteList['border-right-color'] = true; // default: current color\n whiteList['border-right-style'] = true; // default: none\n whiteList['border-right-width'] = true; // default: medium\n whiteList['border-spacing'] = true; // default: 0\n whiteList['border-style'] = true; // default: depending on individual properties\n whiteList['border-top'] = true; // default: depending on individual properties\n whiteList['border-top-color'] = true; // default: current color\n whiteList['border-top-left-radius'] = true; // default: 0\n whiteList['border-top-right-radius'] = true; // default: 0\n whiteList['border-top-style'] = true; // default: none\n whiteList['border-top-width'] = true; // default: medium\n whiteList['border-width'] = true; // default: depending on individual properties\n whiteList['bottom'] = false; // default: auto\n whiteList['box-decoration-break'] = true; // default: slice\n whiteList['box-shadow'] = true; // default: none\n whiteList['box-sizing'] = true; // default: content-box\n whiteList['box-snap'] = true; // default: none\n whiteList['box-suppress'] = true; // default: show\n whiteList['break-after'] = true; // default: auto\n whiteList['break-before'] = true; // default: auto\n whiteList['break-inside'] = true; // default: auto\n whiteList['caption-side'] = false; // default: top\n whiteList['chains'] = false; // default: none\n whiteList['clear'] = true; // default: none\n whiteList['clip'] = false; // default: auto\n whiteList['clip-path'] = false; // default: none\n whiteList['clip-rule'] = false; // default: nonzero\n whiteList['color'] = true; // default: implementation dependent\n whiteList['color-interpolation-filters'] = true; // default: auto\n whiteList['column-count'] = false; // default: auto\n whiteList['column-fill'] = false; // default: balance\n whiteList['column-gap'] = false; // default: normal\n whiteList['column-rule'] = false; // default: depending on individual properties\n whiteList['column-rule-color'] = false; // default: current color\n whiteList['column-rule-style'] = false; // default: medium\n whiteList['column-rule-width'] = false; // default: medium\n whiteList['column-span'] = false; // default: none\n whiteList['column-width'] = false; // default: auto\n whiteList['columns'] = false; // default: depending on individual properties\n whiteList['contain'] = false; // default: none\n whiteList['content'] = false; // default: normal\n whiteList['counter-increment'] = false; // default: none\n whiteList['counter-reset'] = false; // default: none\n whiteList['counter-set'] = false; // default: none\n whiteList['crop'] = false; // default: auto\n whiteList['cue'] = false; // default: depending on individual properties\n whiteList['cue-after'] = false; // default: none\n whiteList['cue-before'] = false; // default: none\n whiteList['cursor'] = false; // default: auto\n whiteList['direction'] = false; // default: ltr\n whiteList['display'] = true; // default: depending on individual properties\n whiteList['display-inside'] = true; // default: auto\n whiteList['display-list'] = true; // default: none\n whiteList['display-outside'] = true; // default: inline-level\n whiteList['dominant-baseline'] = false; // default: auto\n whiteList['elevation'] = false; // default: level\n whiteList['empty-cells'] = false; // default: show\n whiteList['filter'] = false; // default: none\n whiteList['flex'] = false; // default: depending on individual properties\n whiteList['flex-basis'] = false; // default: auto\n whiteList['flex-direction'] = false; // default: row\n whiteList['flex-flow'] = false; // default: depending on individual properties\n whiteList['flex-grow'] = false; // default: 0\n whiteList['flex-shrink'] = false; // default: 1\n whiteList['flex-wrap'] = false; // default: nowrap\n whiteList['float'] = false; // default: none\n whiteList['float-offset'] = false; // default: 0 0\n whiteList['flood-color'] = false; // default: black\n whiteList['flood-opacity'] = false; // default: 1\n whiteList['flow-from'] = false; // default: none\n whiteList['flow-into'] = false; // default: none\n whiteList['font'] = true; // default: depending on individual properties\n whiteList['font-family'] = true; // default: implementation dependent\n whiteList['font-feature-settings'] = true; // default: normal\n whiteList['font-kerning'] = true; // default: auto\n whiteList['font-language-override'] = true; // default: normal\n whiteList['font-size'] = true; // default: medium\n whiteList['font-size-adjust'] = true; // default: none\n whiteList['font-stretch'] = true; // default: normal\n whiteList['font-style'] = true; // default: normal\n whiteList['font-synthesis'] = true; // default: weight style\n whiteList['font-variant'] = true; // default: normal\n whiteList['font-variant-alternates'] = true; // default: normal\n whiteList['font-variant-caps'] = true; // default: normal\n whiteList['font-variant-east-asian'] = true; // default: normal\n whiteList['font-variant-ligatures'] = true; // default: normal\n whiteList['font-variant-numeric'] = true; // default: normal\n whiteList['font-variant-position'] = true; // default: normal\n whiteList['font-weight'] = true; // default: normal\n whiteList['grid'] = false; // default: depending on individual properties\n whiteList['grid-area'] = false; // default: depending on individual properties\n whiteList['grid-auto-columns'] = false; // default: auto\n whiteList['grid-auto-flow'] = false; // default: none\n whiteList['grid-auto-rows'] = false; // default: auto\n whiteList['grid-column'] = false; // default: depending on individual properties\n whiteList['grid-column-end'] = false; // default: auto\n whiteList['grid-column-start'] = false; // default: auto\n whiteList['grid-row'] = false; // default: depending on individual properties\n whiteList['grid-row-end'] = false; // default: auto\n whiteList['grid-row-start'] = false; // default: auto\n whiteList['grid-template'] = false; // default: depending on individual properties\n whiteList['grid-template-areas'] = false; // default: none\n whiteList['grid-template-columns'] = false; // default: none\n whiteList['grid-template-rows'] = false; // default: none\n whiteList['hanging-punctuation'] = false; // default: none\n whiteList['height'] = true; // default: auto\n whiteList['hyphens'] = false; // default: manual\n whiteList['icon'] = false; // default: auto\n whiteList['image-orientation'] = false; // default: auto\n whiteList['image-resolution'] = false; // default: normal\n whiteList['ime-mode'] = false; // default: auto\n whiteList['initial-letters'] = false; // default: normal\n whiteList['inline-box-align'] = false; // default: last\n whiteList['justify-content'] = false; // default: auto\n whiteList['justify-items'] = false; // default: auto\n whiteList['justify-self'] = false; // default: auto\n whiteList['left'] = false; // default: auto\n whiteList['letter-spacing'] = true; // default: normal\n whiteList['lighting-color'] = true; // default: white\n whiteList['line-box-contain'] = false; // default: block inline replaced\n whiteList['line-break'] = false; // default: auto\n whiteList['line-grid'] = false; // default: match-parent\n whiteList['line-height'] = false; // default: normal\n whiteList['line-snap'] = false; // default: none\n whiteList['line-stacking'] = false; // default: depending on individual properties\n whiteList['line-stacking-ruby'] = false; // default: exclude-ruby\n whiteList['line-stacking-shift'] = false; // default: consider-shifts\n whiteList['line-stacking-strategy'] = false; // default: inline-line-height\n whiteList['list-style'] = true; // default: depending on individual properties\n whiteList['list-style-image'] = true; // default: none\n whiteList['list-style-position'] = true; // default: outside\n whiteList['list-style-type'] = true; // default: disc\n whiteList['margin'] = true; // default: depending on individual properties\n whiteList['margin-bottom'] = true; // default: 0\n whiteList['margin-left'] = true; // default: 0\n whiteList['margin-right'] = true; // default: 0\n whiteList['margin-top'] = true; // default: 0\n whiteList['marker-offset'] = false; // default: auto\n whiteList['marker-side'] = false; // default: list-item\n whiteList['marks'] = false; // default: none\n whiteList['mask'] = false; // default: border-box\n whiteList['mask-box'] = false; // default: see individual properties\n whiteList['mask-box-outset'] = false; // default: 0\n whiteList['mask-box-repeat'] = false; // default: stretch\n whiteList['mask-box-slice'] = false; // default: 0 fill\n whiteList['mask-box-source'] = false; // default: none\n whiteList['mask-box-width'] = false; // default: auto\n whiteList['mask-clip'] = false; // default: border-box\n whiteList['mask-image'] = false; // default: none\n whiteList['mask-origin'] = false; // default: border-box\n whiteList['mask-position'] = false; // default: center\n whiteList['mask-repeat'] = false; // default: no-repeat\n whiteList['mask-size'] = false; // default: border-box\n whiteList['mask-source-type'] = false; // default: auto\n whiteList['mask-type'] = false; // default: luminance\n whiteList['max-height'] = true; // default: none\n whiteList['max-lines'] = false; // default: none\n whiteList['max-width'] = true; // default: none\n whiteList['min-height'] = true; // default: 0\n whiteList['min-width'] = true; // default: 0\n whiteList['move-to'] = false; // default: normal\n whiteList['nav-down'] = false; // default: auto\n whiteList['nav-index'] = false; // default: auto\n whiteList['nav-left'] = false; // default: auto\n whiteList['nav-right'] = false; // default: auto\n whiteList['nav-up'] = false; // default: auto\n whiteList['object-fit'] = false; // default: fill\n whiteList['object-position'] = false; // default: 50% 50%\n whiteList['opacity'] = false; // default: 1\n whiteList['order'] = false; // default: 0\n whiteList['orphans'] = false; // default: 2\n whiteList['outline'] = false; // default: depending on individual properties\n whiteList['outline-color'] = false; // default: invert\n whiteList['outline-offset'] = false; // default: 0\n whiteList['outline-style'] = false; // default: none\n whiteList['outline-width'] = false; // default: medium\n whiteList['overflow'] = false; // default: depending on individual properties\n whiteList['overflow-wrap'] = false; // default: normal\n whiteList['overflow-x'] = false; // default: visible\n whiteList['overflow-y'] = false; // default: visible\n whiteList['padding'] = true; // default: depending on individual properties\n whiteList['padding-bottom'] = true; // default: 0\n whiteList['padding-left'] = true; // default: 0\n whiteList['padding-right'] = true; // default: 0\n whiteList['padding-top'] = true; // default: 0\n whiteList['page'] = false; // default: auto\n whiteList['page-break-after'] = false; // default: auto\n whiteList['page-break-before'] = false; // default: auto\n whiteList['page-break-inside'] = false; // default: auto\n whiteList['page-policy'] = false; // default: start\n whiteList['pause'] = false; // default: implementation dependent\n whiteList['pause-after'] = false; // default: implementation dependent\n whiteList['pause-before'] = false; // default: implementation dependent\n whiteList['perspective'] = false; // default: none\n whiteList['perspective-origin'] = false; // default: 50% 50%\n whiteList['pitch'] = false; // default: medium\n whiteList['pitch-range'] = false; // default: 50\n whiteList['play-during'] = false; // default: auto\n whiteList['position'] = false; // default: static\n whiteList['presentation-level'] = false; // default: 0\n whiteList['quotes'] = false; // default: text\n whiteList['region-fragment'] = false; // default: auto\n whiteList['resize'] = false; // default: none\n whiteList['rest'] = false; // default: depending on individual properties\n whiteList['rest-after'] = false; // default: none\n whiteList['rest-before'] = false; // default: none\n whiteList['richness'] = false; // default: 50\n whiteList['right'] = false; // default: auto\n whiteList['rotation'] = false; // default: 0\n whiteList['rotation-point'] = false; // default: 50% 50%\n whiteList['ruby-align'] = false; // default: auto\n whiteList['ruby-merge'] = false; // default: separate\n whiteList['ruby-position'] = false; // default: before\n whiteList['shape-image-threshold'] = false; // default: 0.0\n whiteList['shape-outside'] = false; // default: none\n whiteList['shape-margin'] = false; // default: 0\n whiteList['size'] = false; // default: auto\n whiteList['speak'] = false; // default: auto\n whiteList['speak-as'] = false; // default: normal\n whiteList['speak-header'] = false; // default: once\n whiteList['speak-numeral'] = false; // default: continuous\n whiteList['speak-punctuation'] = false; // default: none\n whiteList['speech-rate'] = false; // default: medium\n whiteList['stress'] = false; // default: 50\n whiteList['string-set'] = false; // default: none\n whiteList['tab-size'] = false; // default: 8\n whiteList['table-layout'] = false; // default: auto\n whiteList['text-align'] = true; // default: start\n whiteList['text-align-last'] = true; // default: auto\n whiteList['text-combine-upright'] = true; // default: none\n whiteList['text-decoration'] = true; // default: none\n whiteList['text-decoration-color'] = true; // default: currentColor\n whiteList['text-decoration-line'] = true; // default: none\n whiteList['text-decoration-skip'] = true; // default: objects\n whiteList['text-decoration-style'] = true; // default: solid\n whiteList['text-emphasis'] = true; // default: depending on individual properties\n whiteList['text-emphasis-color'] = true; // default: currentColor\n whiteList['text-emphasis-position'] = true; // default: over right\n whiteList['text-emphasis-style'] = true; // default: none\n whiteList['text-height'] = true; // default: auto\n whiteList['text-indent'] = true; // default: 0\n whiteList['text-justify'] = true; // default: auto\n whiteList['text-orientation'] = true; // default: mixed\n whiteList['text-overflow'] = true; // default: clip\n whiteList['text-shadow'] = true; // default: none\n whiteList['text-space-collapse'] = true; // default: collapse\n whiteList['text-transform'] = true; // default: none\n whiteList['text-underline-position'] = true; // default: auto\n whiteList['text-wrap'] = true; // default: normal\n whiteList['top'] = false; // default: auto\n whiteList['transform'] = false; // default: none\n whiteList['transform-origin'] = false; // default: 50% 50% 0\n whiteList['transform-style'] = false; // default: flat\n whiteList['transition'] = false; // default: depending on individual properties\n whiteList['transition-delay'] = false; // default: 0s\n whiteList['transition-duration'] = false; // default: 0s\n whiteList['transition-property'] = false; // default: all\n whiteList['transition-timing-function'] = false; // default: ease\n whiteList['unicode-bidi'] = false; // default: normal\n whiteList['vertical-align'] = false; // default: baseline\n whiteList['visibility'] = false; // default: visible\n whiteList['voice-balance'] = false; // default: center\n whiteList['voice-duration'] = false; // default: auto\n whiteList['voice-family'] = false; // default: implementation dependent\n whiteList['voice-pitch'] = false; // default: medium\n whiteList['voice-range'] = false; // default: medium\n whiteList['voice-rate'] = false; // default: normal\n whiteList['voice-stress'] = false; // default: normal\n whiteList['voice-volume'] = false; // default: medium\n whiteList['volume'] = false; // default: medium\n whiteList['white-space'] = false; // default: normal\n whiteList['widows'] = false; // default: 2\n whiteList['width'] = true; // default: auto\n whiteList['will-change'] = false; // default: auto\n whiteList['word-break'] = true; // default: normal\n whiteList['word-spacing'] = true; // default: normal\n whiteList['word-wrap'] = true; // default: normal\n whiteList['wrap-flow'] = false; // default: auto\n whiteList['wrap-through'] = false; // default: wrap\n whiteList['writing-mode'] = false; // default: horizontal-tb\n whiteList['z-index'] = false; // default: auto\n\n return whiteList;\n}\n\n\n/**\n * 匹配到白名单上的一个属性时\n *\n * @param {String} name\n * @param {String} value\n * @param {Object} options\n * @return {String}\n */\nfunction onAttr (name, value, options) {\n // do nothing\n}\n\n/**\n * 匹配到不在白名单上的一个属性时\n *\n * @param {String} name\n * @param {String} value\n * @param {Object} options\n * @return {String}\n */\nfunction onIgnoreAttr (name, value, options) {\n // do nothing\n}\n\nvar REGEXP_URL_JAVASCRIPT = /javascript\\s*\\:/img;\n\n/**\n * 过滤属性值\n *\n * @param {String} name\n * @param {String} value\n * @return {String}\n */\nfunction safeAttrValue$1(name, value) {\n if (REGEXP_URL_JAVASCRIPT.test(value)) return '';\n return value;\n}\n\n\n_default.whiteList = getDefaultWhiteList$1();\n_default.getDefaultWhiteList = getDefaultWhiteList$1;\n_default.onAttr = onAttr;\n_default.onIgnoreAttr = onIgnoreAttr;\n_default.safeAttrValue = safeAttrValue$1;\n\nvar util$1 = {\n indexOf: function (arr, item) {\n var i, j;\n if (Array.prototype.indexOf) {\n return arr.indexOf(item);\n }\n for (i = 0, j = arr.length; i < j; i++) {\n if (arr[i] === item) {\n return i;\n }\n }\n return -1;\n },\n forEach: function (arr, fn, scope) {\n var i, j;\n if (Array.prototype.forEach) {\n return arr.forEach(fn, scope);\n }\n for (i = 0, j = arr.length; i < j; i++) {\n fn.call(scope, arr[i], i, arr);\n }\n },\n trim: function (str) {\n if (String.prototype.trim) {\n return str.trim();\n }\n return str.replace(/(^\\s*)|(\\s*$)/g, '');\n },\n trimRight: function (str) {\n if (String.prototype.trimRight) {\n return str.trimRight();\n }\n return str.replace(/(\\s*$)/g, '');\n }\n};\n\n/**\n * cssfilter\n *\n * @author 老雷\n */\n\nvar _$3 = util$1;\n\n\n/**\n * 解析style\n *\n * @param {String} css\n * @param {Function} onAttr 处理属性的函数\n * 参数格式: function (sourcePosition, position, name, value, source)\n * @return {String}\n */\nfunction parseStyle$1 (css, onAttr) {\n css = _$3.trimRight(css);\n if (css[css.length - 1] !== ';') css += ';';\n var cssLength = css.length;\n var isParenthesisOpen = false;\n var lastPos = 0;\n var i = 0;\n var retCSS = '';\n\n function addNewAttr () {\n // 如果没有正常的闭合圆括号,则直接忽略当前属性\n if (!isParenthesisOpen) {\n var source = _$3.trim(css.slice(lastPos, i));\n var j = source.indexOf(':');\n if (j !== -1) {\n var name = _$3.trim(source.slice(0, j));\n var value = _$3.trim(source.slice(j + 1));\n // 必须有属性名称\n if (name) {\n var ret = onAttr(lastPos, retCSS.length, name, value, source);\n if (ret) retCSS += ret + '; ';\n }\n }\n }\n lastPos = i + 1;\n }\n\n for (; i < cssLength; i++) {\n var c = css[i];\n if (c === '/' && css[i + 1] === '*') {\n // 备注开始\n var j = css.indexOf('*/', i + 2);\n // 如果没有正常的备注结束,则后面的部分全部跳过\n if (j === -1) break;\n // 直接将当前位置调到备注结尾,并且初始化状态\n i = j + 1;\n lastPos = i + 1;\n isParenthesisOpen = false;\n } else if (c === '(') {\n isParenthesisOpen = true;\n } else if (c === ')') {\n isParenthesisOpen = false;\n } else if (c === ';') {\n if (isParenthesisOpen) ; else {\n addNewAttr();\n }\n } else if (c === '\\n') {\n addNewAttr();\n }\n }\n\n return _$3.trim(retCSS);\n}\n\nvar parser$2 = parseStyle$1;\n\n/**\n * cssfilter\n *\n * @author 老雷\n */\n\nvar DEFAULT$1 = _default;\nvar parseStyle = parser$2;\n\n\n/**\n * 返回值是否为空\n *\n * @param {Object} obj\n * @return {Boolean}\n */\nfunction isNull$1 (obj) {\n return (obj === undefined || obj === null);\n}\n\n/**\n * 浅拷贝对象\n *\n * @param {Object} obj\n * @return {Object}\n */\nfunction shallowCopyObject$1 (obj) {\n var ret = {};\n for (var i in obj) {\n ret[i] = obj[i];\n }\n return ret;\n}\n\n/**\n * 创建CSS过滤器\n *\n * @param {Object} options\n * - {Object} whiteList\n * - {Function} onAttr\n * - {Function} onIgnoreAttr\n * - {Function} safeAttrValue\n */\nfunction FilterCSS$2 (options) {\n options = shallowCopyObject$1(options || {});\n options.whiteList = options.whiteList || DEFAULT$1.whiteList;\n options.onAttr = options.onAttr || DEFAULT$1.onAttr;\n options.onIgnoreAttr = options.onIgnoreAttr || DEFAULT$1.onIgnoreAttr;\n options.safeAttrValue = options.safeAttrValue || DEFAULT$1.safeAttrValue;\n this.options = options;\n}\n\nFilterCSS$2.prototype.process = function (css) {\n // 兼容各种奇葩输入\n css = css || '';\n css = css.toString();\n if (!css) return '';\n\n var me = this;\n var options = me.options;\n var whiteList = options.whiteList;\n var onAttr = options.onAttr;\n var onIgnoreAttr = options.onIgnoreAttr;\n var safeAttrValue = options.safeAttrValue;\n\n var retCSS = parseStyle(css, function (sourcePosition, position, name, value, source) {\n\n var check = whiteList[name];\n var isWhite = false;\n if (check === true) isWhite = check;\n else if (typeof check === 'function') isWhite = check(value);\n else if (check instanceof RegExp) isWhite = check.test(value);\n if (isWhite !== true) isWhite = false;\n\n // 如果过滤后 value 为空则直接忽略\n value = safeAttrValue(name, value);\n if (!value) return;\n\n var opts = {\n position: position,\n sourcePosition: sourcePosition,\n source: source,\n isWhite: isWhite\n };\n\n if (isWhite) {\n\n var ret = onAttr(name, value, opts);\n if (isNull$1(ret)) {\n return name + ':' + value;\n } else {\n return ret;\n }\n\n } else {\n\n var ret = onIgnoreAttr(name, value, opts);\n if (!isNull$1(ret)) {\n return ret;\n }\n\n }\n });\n\n return retCSS;\n};\n\n\nvar css = FilterCSS$2;\n\n/**\n * cssfilter\n *\n * @author 老雷\n */\n\n(function (module, exports) {\n\tvar DEFAULT = _default;\n\tvar FilterCSS = css;\n\n\n\t/**\n\t * XSS过滤\n\t *\n\t * @param {String} css 要过滤的CSS代码\n\t * @param {Object} options 选项:whiteList, onAttr, onIgnoreAttr\n\t * @return {String}\n\t */\n\tfunction filterCSS (html, options) {\n\t var xss = new FilterCSS(options);\n\t return xss.process(html);\n\t}\n\n\n\t// 输出\n\texports = module.exports = filterCSS;\n\texports.FilterCSS = FilterCSS;\n\tfor (var i in DEFAULT) exports[i] = DEFAULT[i];\n} (lib, lib.exports));\n\nvar libExports$1 = lib.exports;\n\nvar util = {\n indexOf: function (arr, item) {\n var i, j;\n if (Array.prototype.indexOf) {\n return arr.indexOf(item);\n }\n for (i = 0, j = arr.length; i < j; i++) {\n if (arr[i] === item) {\n return i;\n }\n }\n return -1;\n },\n forEach: function (arr, fn, scope) {\n var i, j;\n if (Array.prototype.forEach) {\n return arr.forEach(fn, scope);\n }\n for (i = 0, j = arr.length; i < j; i++) {\n fn.call(scope, arr[i], i, arr);\n }\n },\n trim: function (str) {\n if (String.prototype.trim) {\n return str.trim();\n }\n return str.replace(/(^\\s*)|(\\s*$)/g, \"\");\n },\n spaceIndex: function (str) {\n var reg = /\\s|\\n|\\t/;\n var match = reg.exec(str);\n return match ? match.index : -1;\n },\n};\n\n/**\n * default settings\n *\n * @author Zongmin Lei\n */\n\nvar FilterCSS$1 = libExports$1.FilterCSS;\nvar getDefaultCSSWhiteList = libExports$1.getDefaultWhiteList;\nvar _$2 = util;\n\nfunction getDefaultWhiteList() {\n return {\n a: [\"target\", \"href\", \"title\"],\n abbr: [\"title\"],\n address: [],\n area: [\"shape\", \"coords\", \"href\", \"alt\"],\n article: [],\n aside: [],\n audio: [\n \"autoplay\",\n \"controls\",\n \"crossorigin\",\n \"loop\",\n \"muted\",\n \"preload\",\n \"src\",\n ],\n b: [],\n bdi: [\"dir\"],\n bdo: [\"dir\"],\n big: [],\n blockquote: [\"cite\"],\n br: [],\n caption: [],\n center: [],\n cite: [],\n code: [],\n col: [\"align\", \"valign\", \"span\", \"width\"],\n colgroup: [\"align\", \"valign\", \"span\", \"width\"],\n dd: [],\n del: [\"datetime\"],\n details: [\"open\"],\n div: [],\n dl: [],\n dt: [],\n em: [],\n figcaption: [],\n figure: [],\n font: [\"color\", \"size\", \"face\"],\n footer: [],\n h1: [],\n h2: [],\n h3: [],\n h4: [],\n h5: [],\n h6: [],\n header: [],\n hr: [],\n i: [],\n img: [\"src\", \"alt\", \"title\", \"width\", \"height\"],\n ins: [\"datetime\"],\n li: [],\n mark: [],\n nav: [],\n ol: [],\n p: [],\n pre: [],\n s: [],\n section: [],\n small: [],\n span: [],\n sub: [],\n summary: [],\n sup: [],\n strong: [],\n strike: [],\n table: [\"width\", \"border\", \"align\", \"valign\"],\n tbody: [\"align\", \"valign\"],\n td: [\"width\", \"rowspan\", \"colspan\", \"align\", \"valign\"],\n tfoot: [\"align\", \"valign\"],\n th: [\"width\", \"rowspan\", \"colspan\", \"align\", \"valign\"],\n thead: [\"align\", \"valign\"],\n tr: [\"rowspan\", \"align\", \"valign\"],\n tt: [],\n u: [],\n ul: [],\n video: [\n \"autoplay\",\n \"controls\",\n \"crossorigin\",\n \"loop\",\n \"muted\",\n \"playsinline\",\n \"poster\",\n \"preload\",\n \"src\",\n \"height\",\n \"width\",\n ],\n };\n}\n\nvar defaultCSSFilter = new FilterCSS$1();\n\n/**\n * default onTag function\n *\n * @param {String} tag\n * @param {String} html\n * @param {Object} options\n * @return {String}\n */\nfunction onTag(tag, html, options) {\n // do nothing\n}\n\n/**\n * default onIgnoreTag function\n *\n * @param {String} tag\n * @param {String} html\n * @param {Object} options\n * @return {String}\n */\nfunction onIgnoreTag(tag, html, options) {\n // do nothing\n}\n\n/**\n * default onTagAttr function\n *\n * @param {String} tag\n * @param {String} name\n * @param {String} value\n * @return {String}\n */\nfunction onTagAttr(tag, name, value) {\n // do nothing\n}\n\n/**\n * default onIgnoreTagAttr function\n *\n * @param {String} tag\n * @param {String} name\n * @param {String} value\n * @return {String}\n */\nfunction onIgnoreTagAttr(tag, name, value) {\n // do nothing\n}\n\n/**\n * default escapeHtml function\n *\n * @param {String} html\n */\nfunction escapeHtml(html) {\n return html.replace(REGEXP_LT, \"<\").replace(REGEXP_GT, \">\");\n}\n\n/**\n * default safeAttrValue function\n *\n * @param {String} tag\n * @param {String} name\n * @param {String} value\n * @param {Object} cssFilter\n * @return {String}\n */\nfunction safeAttrValue(tag, name, value, cssFilter) {\n // unescape attribute value firstly\n value = friendlyAttrValue(value);\n\n if (name === \"href\" || name === \"src\") {\n // filter `href` and `src` attribute\n // only allow the value that starts with `http://` | `https://` | `mailto:` | `/` | `#`\n value = _$2.trim(value);\n if (value === \"#\") return \"#\";\n if (\n !(\n value.substr(0, 7) === \"http://\" ||\n value.substr(0, 8) === \"https://\" ||\n value.substr(0, 7) === \"mailto:\" ||\n value.substr(0, 4) === \"tel:\" ||\n value.substr(0, 11) === \"data:image/\" ||\n value.substr(0, 6) === \"ftp://\" ||\n value.substr(0, 2) === \"./\" ||\n value.substr(0, 3) === \"../\" ||\n value[0] === \"#\" ||\n value[0] === \"/\"\n )\n ) {\n return \"\";\n }\n } else if (name === \"background\") {\n // filter `background` attribute (maybe no use)\n // `javascript:`\n REGEXP_DEFAULT_ON_TAG_ATTR_4.lastIndex = 0;\n if (REGEXP_DEFAULT_ON_TAG_ATTR_4.test(value)) {\n return \"\";\n }\n } else if (name === \"style\") {\n // `expression()`\n REGEXP_DEFAULT_ON_TAG_ATTR_7.lastIndex = 0;\n if (REGEXP_DEFAULT_ON_TAG_ATTR_7.test(value)) {\n return \"\";\n }\n // `url()`\n REGEXP_DEFAULT_ON_TAG_ATTR_8.lastIndex = 0;\n if (REGEXP_DEFAULT_ON_TAG_ATTR_8.test(value)) {\n REGEXP_DEFAULT_ON_TAG_ATTR_4.lastIndex = 0;\n if (REGEXP_DEFAULT_ON_TAG_ATTR_4.test(value)) {\n return \"\";\n }\n }\n if (cssFilter !== false) {\n cssFilter = cssFilter || defaultCSSFilter;\n value = cssFilter.process(value);\n }\n }\n\n // escape `<>\"` before returns\n value = escapeAttrValue(value);\n return value;\n}\n\n// RegExp list\nvar REGEXP_LT = //g;\nvar REGEXP_QUOTE = /\"/g;\nvar REGEXP_QUOTE_2 = /"/g;\nvar REGEXP_ATTR_VALUE_1 = /&#([a-zA-Z0-9]*);?/gim;\nvar REGEXP_ATTR_VALUE_COLON = /:?/gim;\nvar REGEXP_ATTR_VALUE_NEWLINE = /&newline;?/gim;\n// var REGEXP_DEFAULT_ON_TAG_ATTR_3 = /\\/\\*|\\*\\//gm;\nvar REGEXP_DEFAULT_ON_TAG_ATTR_4 =\n /((j\\s*a\\s*v\\s*a|v\\s*b|l\\s*i\\s*v\\s*e)\\s*s\\s*c\\s*r\\s*i\\s*p\\s*t\\s*|m\\s*o\\s*c\\s*h\\s*a):/gi;\n// var REGEXP_DEFAULT_ON_TAG_ATTR_5 = /^[\\s\"'`]*(d\\s*a\\s*t\\s*a\\s*)\\:/gi;\n// var REGEXP_DEFAULT_ON_TAG_ATTR_6 = /^[\\s\"'`]*(d\\s*a\\s*t\\s*a\\s*)\\:\\s*image\\//gi;\nvar REGEXP_DEFAULT_ON_TAG_ATTR_7 =\n /e\\s*x\\s*p\\s*r\\s*e\\s*s\\s*s\\s*i\\s*o\\s*n\\s*\\(.*/gi;\nvar REGEXP_DEFAULT_ON_TAG_ATTR_8 = /u\\s*r\\s*l\\s*\\(.*/gi;\n\n/**\n * escape double quote\n *\n * @param {String} str\n * @return {String} str\n */\nfunction escapeQuote(str) {\n return str.replace(REGEXP_QUOTE, \""\");\n}\n\n/**\n * unescape double quote\n *\n * @param {String} str\n * @return {String} str\n */\nfunction unescapeQuote(str) {\n return str.replace(REGEXP_QUOTE_2, '\"');\n}\n\n/**\n * escape html entities\n *\n * @param {String} str\n * @return {String}\n */\nfunction escapeHtmlEntities(str) {\n return str.replace(REGEXP_ATTR_VALUE_1, function replaceUnicode(str, code) {\n return code[0] === \"x\" || code[0] === \"X\"\n ? String.fromCharCode(parseInt(code.substr(1), 16))\n : String.fromCharCode(parseInt(code, 10));\n });\n}\n\n/**\n * escape html5 new danger entities\n *\n * @param {String} str\n * @return {String}\n */\nfunction escapeDangerHtml5Entities(str) {\n return str\n .replace(REGEXP_ATTR_VALUE_COLON, \":\")\n .replace(REGEXP_ATTR_VALUE_NEWLINE, \" \");\n}\n\n/**\n * clear nonprintable characters\n *\n * @param {String} str\n * @return {String}\n */\nfunction clearNonPrintableCharacter(str) {\n var str2 = \"\";\n for (var i = 0, len = str.length; i < len; i++) {\n str2 += str.charCodeAt(i) < 32 ? \" \" : str.charAt(i);\n }\n return _$2.trim(str2);\n}\n\n/**\n * get friendly attribute value\n *\n * @param {String} str\n * @return {String}\n */\nfunction friendlyAttrValue(str) {\n str = unescapeQuote(str);\n str = escapeHtmlEntities(str);\n str = escapeDangerHtml5Entities(str);\n str = clearNonPrintableCharacter(str);\n return str;\n}\n\n/**\n * unescape attribute value\n *\n * @param {String} str\n * @return {String}\n */\nfunction escapeAttrValue(str) {\n str = escapeQuote(str);\n str = escapeHtml(str);\n return str;\n}\n\n/**\n * `onIgnoreTag` function for removing all the tags that are not in whitelist\n */\nfunction onIgnoreTagStripAll() {\n return \"\";\n}\n\n/**\n * remove tag body\n * specify a `tags` list, if the tag is not in the `tags` list then process by the specify function (optional)\n *\n * @param {array} tags\n * @param {function} next\n */\nfunction StripTagBody(tags, next) {\n if (typeof next !== \"function\") {\n next = function () {};\n }\n\n var isRemoveAllTag = !Array.isArray(tags);\n function isRemoveTag(tag) {\n if (isRemoveAllTag) return true;\n return _$2.indexOf(tags, tag) !== -1;\n }\n\n var removeList = [];\n var posStart = false;\n\n return {\n onIgnoreTag: function (tag, html, options) {\n if (isRemoveTag(tag)) {\n if (options.isClosing) {\n var ret = \"[/removed]\";\n var end = options.position + ret.length;\n removeList.push([\n posStart !== false ? posStart : options.position,\n end,\n ]);\n posStart = false;\n return ret;\n } else {\n if (!posStart) {\n posStart = options.position;\n }\n return \"[removed]\";\n }\n } else {\n return next(tag, html, options);\n }\n },\n remove: function (html) {\n var rethtml = \"\";\n var lastPos = 0;\n _$2.forEach(removeList, function (pos) {\n rethtml += html.slice(lastPos, pos[0]);\n lastPos = pos[1];\n });\n rethtml += html.slice(lastPos);\n return rethtml;\n },\n };\n}\n\n/**\n * remove html comments\n *\n * @param {String} html\n * @return {String}\n */\nfunction stripCommentTag(html) {\n var retHtml = \"\";\n var lastPos = 0;\n while (lastPos < html.length) {\n var i = html.indexOf(\"\", i);\n if (j === -1) {\n break;\n }\n lastPos = j + 3;\n }\n return retHtml;\n}\n\n/**\n * remove invisible characters\n *\n * @param {String} html\n * @return {String}\n */\nfunction stripBlankChar(html) {\n var chars = html.split(\"\");\n chars = chars.filter(function (char) {\n var c = char.charCodeAt(0);\n if (c === 127) return false;\n if (c <= 31) {\n if (c === 10 || c === 13) return true;\n return false;\n }\n return true;\n });\n return chars.join(\"\");\n}\n\n_default$1.whiteList = getDefaultWhiteList();\n_default$1.getDefaultWhiteList = getDefaultWhiteList;\n_default$1.onTag = onTag;\n_default$1.onIgnoreTag = onIgnoreTag;\n_default$1.onTagAttr = onTagAttr;\n_default$1.onIgnoreTagAttr = onIgnoreTagAttr;\n_default$1.safeAttrValue = safeAttrValue;\n_default$1.escapeHtml = escapeHtml;\n_default$1.escapeQuote = escapeQuote;\n_default$1.unescapeQuote = unescapeQuote;\n_default$1.escapeHtmlEntities = escapeHtmlEntities;\n_default$1.escapeDangerHtml5Entities = escapeDangerHtml5Entities;\n_default$1.clearNonPrintableCharacter = clearNonPrintableCharacter;\n_default$1.friendlyAttrValue = friendlyAttrValue;\n_default$1.escapeAttrValue = escapeAttrValue;\n_default$1.onIgnoreTagStripAll = onIgnoreTagStripAll;\n_default$1.StripTagBody = StripTagBody;\n_default$1.stripCommentTag = stripCommentTag;\n_default$1.stripBlankChar = stripBlankChar;\n_default$1.cssFilter = defaultCSSFilter;\n_default$1.getDefaultCSSWhiteList = getDefaultCSSWhiteList;\n\nvar parser$1 = {};\n\n/**\n * Simple HTML Parser\n *\n * @author Zongmin Lei\n */\n\nvar _$1 = util;\n\n/**\n * get tag name\n *\n * @param {String} html e.g. ''\n * @return {String}\n */\nfunction getTagName(html) {\n var i = _$1.spaceIndex(html);\n var tagName;\n if (i === -1) {\n tagName = html.slice(1, -1);\n } else {\n tagName = html.slice(1, i + 1);\n }\n tagName = _$1.trim(tagName).toLowerCase();\n if (tagName.slice(0, 1) === \"/\") tagName = tagName.slice(1);\n if (tagName.slice(-1) === \"/\") tagName = tagName.slice(0, -1);\n return tagName;\n}\n\n/**\n * is close tag?\n *\n * @param {String} html 如:''\n * @return {Boolean}\n */\nfunction isClosing(html) {\n return html.slice(0, 2) === \"\") {\n rethtml += escapeHtml(html.slice(lastPos, tagStart));\n currentHtml = html.slice(tagStart, currentPos + 1);\n currentTagName = getTagName(currentHtml);\n rethtml += onTag(\n tagStart,\n rethtml.length,\n currentTagName,\n currentHtml,\n isClosing(currentHtml)\n );\n lastPos = currentPos + 1;\n tagStart = false;\n continue;\n }\n if (c === '\"' || c === \"'\") {\n var i = 1;\n var ic = html.charAt(currentPos - i);\n\n while (ic.trim() === \"\" || ic === \"=\") {\n if (ic === \"=\") {\n quoteStart = c;\n continue chariterator;\n }\n ic = html.charAt(currentPos - ++i);\n }\n }\n } else {\n if (c === quoteStart) {\n quoteStart = false;\n continue;\n }\n }\n }\n }\n if (lastPos < html.length) {\n rethtml += escapeHtml(html.substr(lastPos));\n }\n\n return rethtml;\n}\n\nvar REGEXP_ILLEGAL_ATTR_NAME = /[^a-zA-Z0-9\\\\_:.-]/gim;\n\n/**\n * parse input attributes and returns processed attributes\n *\n * @param {String} html e.g. `href=\"#\" target=\"_blank\"`\n * @param {Function} onAttr e.g. `function (name, value)`\n * @return {String}\n */\nfunction parseAttr$1(html, onAttr) {\n\n var lastPos = 0;\n var lastMarkPos = 0;\n var retAttrs = [];\n var tmpName = false;\n var len = html.length;\n\n function addAttr(name, value) {\n name = _$1.trim(name);\n name = name.replace(REGEXP_ILLEGAL_ATTR_NAME, \"\").toLowerCase();\n if (name.length < 1) return;\n var ret = onAttr(name, value || \"\");\n if (ret) retAttrs.push(ret);\n }\n\n // 逐个分析字符\n for (var i = 0; i < len; i++) {\n var c = html.charAt(i);\n var v, j;\n if (tmpName === false && c === \"=\") {\n tmpName = html.slice(lastPos, i);\n lastPos = i + 1;\n lastMarkPos = html.charAt(lastPos) === '\"' || html.charAt(lastPos) === \"'\" ? lastPos : findNextQuotationMark(html, i + 1);\n continue;\n }\n if (tmpName !== false) {\n if (\n i === lastMarkPos\n ) {\n j = html.indexOf(c, i + 1);\n if (j === -1) {\n break;\n } else {\n v = _$1.trim(html.slice(lastMarkPos + 1, j));\n addAttr(tmpName, v);\n tmpName = false;\n i = j;\n lastPos = i + 1;\n continue;\n }\n }\n }\n if (/\\s|\\n|\\t/.test(c)) {\n html = html.replace(/\\s|\\n|\\t/g, \" \");\n if (tmpName === false) {\n j = findNextEqual(html, i);\n if (j === -1) {\n v = _$1.trim(html.slice(lastPos, i));\n addAttr(v);\n tmpName = false;\n lastPos = i + 1;\n continue;\n } else {\n i = j - 1;\n continue;\n }\n } else {\n j = findBeforeEqual(html, i - 1);\n if (j === -1) {\n v = _$1.trim(html.slice(lastPos, i));\n v = stripQuoteWrap(v);\n addAttr(tmpName, v);\n tmpName = false;\n lastPos = i + 1;\n continue;\n } else {\n continue;\n }\n }\n }\n }\n\n if (lastPos < html.length) {\n if (tmpName === false) {\n addAttr(html.slice(lastPos));\n } else {\n addAttr(tmpName, stripQuoteWrap(_$1.trim(html.slice(lastPos))));\n }\n }\n\n return _$1.trim(retAttrs.join(\" \"));\n}\n\nfunction findNextEqual(str, i) {\n for (; i < str.length; i++) {\n var c = str[i];\n if (c === \" \") continue;\n if (c === \"=\") return i;\n return -1;\n }\n}\n\nfunction findNextQuotationMark(str, i) {\n for (; i < str.length; i++) {\n var c = str[i];\n if (c === \" \") continue;\n if (c === \"'\" || c === '\"') return i;\n return -1;\n }\n}\n\nfunction findBeforeEqual(str, i) {\n for (; i > 0; i--) {\n var c = str[i];\n if (c === \" \") continue;\n if (c === \"=\") return i;\n return -1;\n }\n}\n\nfunction isQuoteWrapString(text) {\n if (\n (text[0] === '\"' && text[text.length - 1] === '\"') ||\n (text[0] === \"'\" && text[text.length - 1] === \"'\")\n ) {\n return true;\n } else {\n return false;\n }\n}\n\nfunction stripQuoteWrap(text) {\n if (isQuoteWrapString(text)) {\n return text.substr(1, text.length - 2);\n } else {\n return text;\n }\n}\n\nparser$1.parseTag = parseTag$1;\nparser$1.parseAttr = parseAttr$1;\n\n/**\n * filter xss\n *\n * @author Zongmin Lei\n */\n\nvar FilterCSS = libExports$1.FilterCSS;\nvar DEFAULT = _default$1;\nvar parser = parser$1;\nvar parseTag = parser.parseTag;\nvar parseAttr = parser.parseAttr;\nvar _ = util;\n\n/**\n * returns `true` if the input value is `undefined` or `null`\n *\n * @param {Object} obj\n * @return {Boolean}\n */\nfunction isNull(obj) {\n return obj === undefined || obj === null;\n}\n\n/**\n * get attributes for a tag\n *\n * @param {String} html\n * @return {Object}\n * - {String} html\n * - {Boolean} closing\n */\nfunction getAttrs(html) {\n var i = _.spaceIndex(html);\n if (i === -1) {\n return {\n html: \"\",\n closing: html[html.length - 2] === \"/\",\n };\n }\n html = _.trim(html.slice(i + 1, -1));\n var isClosing = html[html.length - 1] === \"/\";\n if (isClosing) html = _.trim(html.slice(0, -1));\n return {\n html: html,\n closing: isClosing,\n };\n}\n\n/**\n * shallow copy\n *\n * @param {Object} obj\n * @return {Object}\n */\nfunction shallowCopyObject(obj) {\n var ret = {};\n for (var i in obj) {\n ret[i] = obj[i];\n }\n return ret;\n}\n\nfunction keysToLowerCase(obj) {\n var ret = {};\n for (var i in obj) {\n if (Array.isArray(obj[i])) {\n ret[i.toLowerCase()] = obj[i].map(function (item) {\n return item.toLowerCase();\n });\n } else {\n ret[i.toLowerCase()] = obj[i];\n }\n }\n return ret;\n}\n\n/**\n * FilterXSS class\n *\n * @param {Object} options\n * whiteList (or allowList), onTag, onTagAttr, onIgnoreTag,\n * onIgnoreTagAttr, safeAttrValue, escapeHtml\n * stripIgnoreTagBody, allowCommentTag, stripBlankChar\n * css{whiteList, onAttr, onIgnoreAttr} `css=false` means don't use `cssfilter`\n */\nfunction FilterXSS(options) {\n options = shallowCopyObject(options || {});\n\n if (options.stripIgnoreTag) {\n if (options.onIgnoreTag) {\n console.error(\n 'Notes: cannot use these two options \"stripIgnoreTag\" and \"onIgnoreTag\" at the same time'\n );\n }\n options.onIgnoreTag = DEFAULT.onIgnoreTagStripAll;\n }\n if (options.whiteList || options.allowList) {\n options.whiteList = keysToLowerCase(options.whiteList || options.allowList);\n } else {\n options.whiteList = DEFAULT.whiteList;\n }\n\n options.onTag = options.onTag || DEFAULT.onTag;\n options.onTagAttr = options.onTagAttr || DEFAULT.onTagAttr;\n options.onIgnoreTag = options.onIgnoreTag || DEFAULT.onIgnoreTag;\n options.onIgnoreTagAttr = options.onIgnoreTagAttr || DEFAULT.onIgnoreTagAttr;\n options.safeAttrValue = options.safeAttrValue || DEFAULT.safeAttrValue;\n options.escapeHtml = options.escapeHtml || DEFAULT.escapeHtml;\n this.options = options;\n\n if (options.css === false) {\n this.cssFilter = false;\n } else {\n options.css = options.css || {};\n this.cssFilter = new FilterCSS(options.css);\n }\n}\n\n/**\n * start process and returns result\n *\n * @param {String} html\n * @return {String}\n */\nFilterXSS.prototype.process = function (html) {\n // compatible with the input\n html = html || \"\";\n html = html.toString();\n if (!html) return \"\";\n\n var me = this;\n var options = me.options;\n var whiteList = options.whiteList;\n var onTag = options.onTag;\n var onIgnoreTag = options.onIgnoreTag;\n var onTagAttr = options.onTagAttr;\n var onIgnoreTagAttr = options.onIgnoreTagAttr;\n var safeAttrValue = options.safeAttrValue;\n var escapeHtml = options.escapeHtml;\n var cssFilter = me.cssFilter;\n\n // remove invisible characters\n if (options.stripBlankChar) {\n html = DEFAULT.stripBlankChar(html);\n }\n\n // remove html comments\n if (!options.allowCommentTag) {\n html = DEFAULT.stripCommentTag(html);\n }\n\n // if enable stripIgnoreTagBody\n var stripIgnoreTagBody = false;\n if (options.stripIgnoreTagBody) {\n stripIgnoreTagBody = DEFAULT.StripTagBody(\n options.stripIgnoreTagBody,\n onIgnoreTag\n );\n onIgnoreTag = stripIgnoreTagBody.onIgnoreTag;\n }\n\n var retHtml = parseTag(\n html,\n function (sourcePosition, position, tag, html, isClosing) {\n var info = {\n sourcePosition: sourcePosition,\n position: position,\n isClosing: isClosing,\n isWhite: Object.prototype.hasOwnProperty.call(whiteList, tag),\n };\n\n // call `onTag()`\n var ret = onTag(tag, html, info);\n if (!isNull(ret)) return ret;\n\n if (info.isWhite) {\n if (info.isClosing) {\n return \"\";\n }\n\n var attrs = getAttrs(html);\n var whiteAttrList = whiteList[tag];\n var attrsHtml = parseAttr(attrs.html, function (name, value) {\n // call `onTagAttr()`\n var isWhiteAttr = _.indexOf(whiteAttrList, name) !== -1;\n var ret = onTagAttr(tag, name, value, isWhiteAttr);\n if (!isNull(ret)) return ret;\n\n if (isWhiteAttr) {\n // call `safeAttrValue()`\n value = safeAttrValue(tag, name, value, cssFilter);\n if (value) {\n return name + '=\"' + value + '\"';\n } else {\n return name;\n }\n } else {\n // call `onIgnoreTagAttr()`\n ret = onIgnoreTagAttr(tag, name, value, isWhiteAttr);\n if (!isNull(ret)) return ret;\n return;\n }\n });\n\n // build new tag html\n html = \"<\" + tag;\n if (attrsHtml) html += \" \" + attrsHtml;\n if (attrs.closing) html += \" /\";\n html += \">\";\n return html;\n } else {\n // call `onIgnoreTag()`\n ret = onIgnoreTag(tag, html, info);\n if (!isNull(ret)) return ret;\n return escapeHtml(html);\n }\n },\n escapeHtml\n );\n\n // if enable stripIgnoreTagBody\n if (stripIgnoreTagBody) {\n retHtml = stripIgnoreTagBody.remove(retHtml);\n }\n\n return retHtml;\n};\n\nvar xss = FilterXSS;\n\n/**\n * xss\n *\n * @author Zongmin Lei\n */\n\n(function (module, exports) {\n\tvar DEFAULT = _default$1;\n\tvar parser = parser$1;\n\tvar FilterXSS = xss;\n\n\t/**\n\t * filter xss function\n\t *\n\t * @param {String} html\n\t * @param {Object} options { whiteList, onTag, onTagAttr, onIgnoreTag, onIgnoreTagAttr, safeAttrValue, escapeHtml }\n\t * @return {String}\n\t */\n\tfunction filterXSS(html, options) {\n\t var xss = new FilterXSS(options);\n\t return xss.process(html);\n\t}\n\n\texports = module.exports = filterXSS;\n\texports.filterXSS = filterXSS;\n\texports.FilterXSS = FilterXSS;\n\n\t(function () {\n\t for (var i in DEFAULT) {\n\t exports[i] = DEFAULT[i];\n\t }\n\t for (var j in parser) {\n\t exports[j] = parser[j];\n\t }\n\t})();\n\n\t// using `xss` on the WebWorker, output `filterXSS` to the globals\n\tfunction isWorkerEnv() {\n\t return (\n\t typeof self !== \"undefined\" &&\n\t typeof DedicatedWorkerGlobalScope !== \"undefined\" &&\n\t self instanceof DedicatedWorkerGlobalScope\n\t );\n\t}\n\tif (isWorkerEnv()) {\n\t self.filterXSS = module.exports;\n\t} \n} (lib$1, lib$1.exports));\n\nvar libExports = lib$1.exports;\n\n/**\n * Determine if the value is a plain object.\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a plain object, else `false`.\n */\nvar isPlainObject = function (value) {\n if (typeof value !== \"object\" || value === null) {\n return false;\n }\n if (Object.prototype.toString.call(value) !== \"[object Object]\") {\n return false;\n }\n var proto = Object.getPrototypeOf(value);\n if (proto === null) {\n return true;\n }\n while (Object.getPrototypeOf(proto) !== null) {\n proto = Object.getPrototypeOf(proto);\n }\n return Object.getPrototypeOf(value) === proto;\n};\n\n/**\n * The Sanitizer Class\n *\n * @export\n * @class Sanitizer\n */\nvar Sanitizer = /** @class */ (function () {\n function Sanitizer(filterOptions, extendDefaults) {\n var _this = this;\n // Supported HTML Spec: https://doc.arcgis.com/en/arcgis-online/reference/supported-html.htm\n this.arcgisWhiteList = {\n a: [\"href\", \"style\", \"target\"],\n abbr: [\"title\"],\n article: [\"style\"],\n aside: [\"style\"],\n audio: [\"autoplay\", \"controls\", \"loop\", \"muted\", \"preload\"],\n b: [],\n blockquote: [\"style\"],\n br: [],\n code: [\"style\"],\n dd: [\"style\"],\n del: [\"style\"],\n details: [\"open\", \"style\"],\n div: [\"align\", \"aria-hidden\", \"aria-label\", \"style\"],\n dl: [\"style\"],\n dt: [\"style\"],\n em: [],\n figcaption: [\"style\"],\n figure: [\"style\"],\n font: [\"color\", \"face\", \"size\", \"style\"],\n footer: [\"style\"],\n h1: [\"style\"],\n h2: [\"style\"],\n h3: [\"style\"],\n h4: [\"style\"],\n h5: [\"style\"],\n h6: [\"style\"],\n header: [\"style\"],\n hr: [],\n i: [],\n img: [\"alt\", \"border\", \"height\", \"src\", \"style\", \"width\"],\n li: [],\n main: [\"style\"],\n mark: [\"style\"],\n nav: [\"style\"],\n ol: [],\n p: [\"style\"],\n pre: [\"style\"],\n section: [\"style\"],\n source: [\"media\", \"src\", \"type\"],\n span: [\"aria-hidden\", \"aria-label\", \"style\"],\n strong: [],\n sub: [\"style\"],\n summary: [\"style\"],\n sup: [\"style\"],\n table: [\"border\", \"cellpadding\", \"cellspacing\", \"height\", \"style\", \"width\"],\n tbody: [],\n tr: [\"align\", \"height\", \"style\", \"valign\"],\n td: [\n \"align\",\n \"colspan\",\n \"height\",\n \"nowrap\",\n \"rowspan\",\n \"style\",\n \"valign\",\n \"width\",\n ],\n th: [\n \"align\",\n \"colspan\",\n \"height\",\n \"nowrap\",\n \"rowspan\",\n \"style\",\n \"valign\",\n \"width\",\n ],\n time: [\"style\"],\n u: [],\n ul: [],\n video: [\n \"autoplay\",\n \"controls\",\n \"height\",\n \"loop\",\n \"muted\",\n \"poster\",\n \"preload\",\n \"width\",\n ],\n };\n this.arcgisCSSWhiteList = __assign(__assign({}, libExports.getDefaultCSSWhiteList()), { \"align-items\": true, \"align-self\": true, \"flex\": true, \"flex-basis\": true, \"flex-direction\": true, \"flex-flow\": true, \"flex-grow\": true, \"flex-shrink\": true, \"flex-wrap\": true, \"float\": true, \"gap\": true, \"grid\": true, \"grid-area\": true, \"grid-auto-columns\": true, \"grid-auto-flow\": true, \"grid-auto-rows\": true, \"grid-column\": true, \"grid-column-end\": true, \"grid-column-start\": true, \"grid-row\": true, \"grid-row-end\": true, \"grid-row-start\": true, \"grid-template\": true, \"grid-template-areas\": true, \"grid-template-columns\": true, \"grid-template-rows\": true, \"justify-content\": true, \"justify-items\": true, \"justify-self\": true, \"line-height\": true, \"overflow\": true });\n this.allowedProtocols = [\n \"http\",\n \"https\",\n \"mailto\",\n \"iform\",\n \"tel\",\n \"flow\",\n \"lfmobile\",\n \"arcgis-navigator\",\n \"arcgis-appstudio-player\",\n \"arcgis-survey123\",\n \"arcgis-collector\",\n \"arcgis-workforce\",\n \"arcgis-explorer\",\n \"arcgis-trek2there\",\n \"arcgis-quickcapture\",\n \"mspbi\",\n \"comgooglemaps\",\n \"pdfefile\",\n \"pdfehttp\",\n \"pdfehttps\",\n \"boxapp\",\n \"boxemm\",\n \"awb\",\n \"awbs\",\n \"gropen\",\n \"radarscope\",\n ];\n this.arcgisFilterOptions = {\n allowCommentTag: true,\n safeAttrValue: function (tag, name, value, cssFilter) {\n // Take over safe attribute filtering for `a` `href`, `img` `src`,\n // and `source` `src` attributes, otherwise pass onto the\n // default `XSS.safeAttrValue` method.\n if ((tag === \"a\" && name === \"href\") ||\n ((tag === \"img\" || tag === \"source\") && name === \"src\")) {\n return _this.sanitizeUrl(value);\n }\n return libExports.safeAttrValue(tag, name, value, cssFilter);\n },\n };\n this._entityMap = {\n \"&\": \"8\",\n \"<\": \"<\",\n \">\": \">\",\n '\"': \""\",\n \"'\": \"'\",\n \"/\": \"/\",\n };\n var xssFilterOptions;\n if (filterOptions && !extendDefaults) {\n // Override the defaults\n xssFilterOptions = filterOptions;\n }\n else if (filterOptions && extendDefaults) {\n // Extend the defaults\n xssFilterOptions = Object.create(this.arcgisFilterOptions);\n xssFilterOptions.css = { whiteList: this.arcgisCSSWhiteList };\n Object.keys(filterOptions).forEach(function (key) {\n if (key === \"whiteList\") {\n // Extend the whitelist by concatenating arrays\n xssFilterOptions.whiteList = _this._extendObjectOfArrays([\n _this.arcgisWhiteList,\n filterOptions.whiteList || {},\n ]);\n }\n else if (key === \"css\") {\n var cssExtensions_1 = filterOptions.css.whiteList;\n if (cssExtensions_1 != null && filterOptions.css instanceof Object) {\n Object.keys(cssExtensions_1).forEach(function (attr) {\n return (xssFilterOptions.css.whiteList[attr] =\n cssExtensions_1[attr]);\n });\n }\n }\n else {\n xssFilterOptions[key] = filterOptions[key];\n }\n });\n }\n else {\n // Only use the defaults\n xssFilterOptions = Object.create(this.arcgisFilterOptions);\n xssFilterOptions.whiteList = this.arcgisWhiteList;\n xssFilterOptions.css = { whiteList: this.arcgisCSSWhiteList };\n }\n this.xssFilterOptions = xssFilterOptions;\n // Make this readable to tests\n this._xssFilter = new libExports.FilterXSS(xssFilterOptions);\n }\n /**\n * Sanitizes value to remove invalid HTML tags.\n *\n * Note: If the value passed does not contain a valid JSON data type (String,\n * Number, JSON Object, Array, Boolean, or null), the value will be nullified.\n *\n * @param {any} value The value to sanitize.\n * @returns {any} The sanitized value.\n * @memberof Sanitizer\n */\n Sanitizer.prototype.sanitize = function (value, options) {\n if (options === void 0) { options = {}; }\n switch (typeof value) {\n case \"number\":\n if (isNaN(value) || !isFinite(value)) {\n return null;\n }\n return value;\n case \"boolean\":\n return value;\n case \"string\":\n return this._xssFilter.process(value);\n case \"object\":\n return this._iterateOverObject(value, options);\n default:\n if (options.allowUndefined && typeof value === \"undefined\") {\n return;\n }\n return null;\n }\n };\n /**\n * Sanitizes a URL string following the allowed protocols and sanitization rules.\n *\n * @param {string} value The URL to sanitize.\n * @param {{ isProtocolRequired: boolean }} options Configuration options for URL checking.\n * @returns {string} The sanitized URL if it's valid, or an empty string if the URL is invalid.\n */\n Sanitizer.prototype.sanitizeUrl = function (value, options) {\n var _a = (options !== null && options !== void 0 ? options : {}).isProtocolRequired, isProtocolRequired = _a === void 0 ? true : _a;\n var protocol = this._trim(value.substring(0, value.indexOf(\":\")));\n var isRootUrl = value === \"/\";\n var isUrlFragment = /^#/.test(value);\n var isValidProtocol = protocol && this.allowedProtocols.indexOf(protocol.toLowerCase()) > -1;\n if (isRootUrl || isUrlFragment || isValidProtocol) {\n return libExports.escapeAttrValue(value);\n }\n if (!protocol && !isProtocolRequired) {\n return libExports.escapeAttrValue(\"https://\".concat(value));\n }\n return \"\";\n };\n /**\n * Sanitizes an HTML attribute value.\n *\n * @param {string} tag The tagname of the HTML element.\n * @param {string} attribute The attribute name of the HTML element.\n * @param {string} value The raw value to be used for the HTML attribute value.\n * @param {XSS.ICSSFilter} [cssFilter] The CSS filter to be used.\n * @returns {string} The sanitized attribute value.\n * @memberof Sanitizer\n */\n Sanitizer.prototype.sanitizeHTMLAttribute = function (tag, attribute, value, cssFilter) {\n // use the custom safeAttrValue function if provided\n if (typeof this.xssFilterOptions.safeAttrValue === \"function\") {\n return this.xssFilterOptions.safeAttrValue(tag, attribute, value, \n // @ts-expect-error safeAttrValue does handle undefined cssFilter\n cssFilter);\n }\n // otherwise use the default\n // @ts-ignore safeAttrValue does handle undefined cssFilter\n return libExports.safeAttrValue(tag, attribute, value, cssFilter);\n };\n /**\n * Checks if a value only contains valid HTML.\n *\n * @param {any} value The value to validate.\n * @returns {boolean}\n * @memberof Sanitizer\n */\n Sanitizer.prototype.validate = function (value, options) {\n if (options === void 0) { options = {}; }\n var sanitized = this.sanitize(value, options);\n return {\n isValid: value === sanitized,\n sanitized: sanitized,\n };\n };\n /**\n * Encodes the following characters, `& < > \\\" ' /` to their hexadecimal HTML entity code.\n * Example: \"·\" => \"8middot;\"\n *\n * @param {string} value The value to encode.\n * @returns {string} The encoded string value.\n * @memberof Sanitizer\n */\n Sanitizer.prototype.encodeHTML = function (value) {\n var _this = this;\n return String(value).replace(/[&<>\"'\\/]/g, function (s) {\n return _this._entityMap[s];\n });\n };\n /**\n * Encodes all non-alphanumeric ASCII characters to their hexadecimal HTML entity codes.\n * Example: \"alert(document.cookie)\" => \"alert(document.cookie)\"\n *\n * @param {string} value The value to encode.\n * @returns {string} The encoded string value.\n * @memberof Sanitizer\n */\n Sanitizer.prototype.encodeAttrValue = function (value) {\n var alphanumericRE = /^[a-zA-Z0-9]$/;\n return String(value).replace(/[\\x00-\\xFF]/g, function (c, idx) {\n return !alphanumericRE.test(c)\n ? \"&#x\".concat(Number(value.charCodeAt(idx)).toString(16), \";\")\n : c;\n });\n };\n /**\n * Extends an object of arrays by by concatenating arrays of the same object\n * keys. If the if the previous key's value is not an array, the next key's\n * value will replace the previous key. This method is used for extending the\n * whiteList in the XSS filter options.\n *\n * @private\n * @param {Array<{}>} objects An array of objects.\n * @returns {{}} The extended object.\n * @memberof Sanitizer\n */\n Sanitizer.prototype._extendObjectOfArrays = function (objects) {\n var finalObj = {};\n objects.forEach(function (obj) {\n Object.keys(obj).forEach(function (key) {\n if (Array.isArray(obj[key]) && Array.isArray(finalObj[key])) {\n finalObj[key] = finalObj[key].concat(obj[key]);\n }\n else {\n finalObj[key] = obj[key];\n }\n });\n });\n return finalObj;\n };\n /**\n * Iterate over a plain object or array to deeply sanitize each value.\n *\n * @private\n * @param {object} obj The object to iterate over.\n * @returns {(object | null)} The sanitized object.\n * @memberof Sanitizer\n */\n Sanitizer.prototype._iterateOverObject = function (obj, options) {\n var _this = this;\n if (options === void 0) { options = {}; }\n try {\n var hasChanged_1 = false;\n var changedObj = void 0;\n if (Array.isArray(obj)) {\n changedObj = obj.reduce(function (prev, value) {\n var validation = _this.validate(value, options);\n if (validation.isValid) {\n return prev.concat([value]);\n }\n else {\n hasChanged_1 = true;\n return prev.concat([validation.sanitized]);\n }\n }, []);\n }\n else if (!isPlainObject(obj)) {\n if (options.allowUndefined && typeof obj === \"undefined\") {\n return;\n }\n return null;\n }\n else {\n var keys = Object.keys(obj);\n changedObj = keys.reduce(function (prev, key) {\n var value = obj[key];\n var validation = _this.validate(value, options);\n if (validation.isValid) {\n prev[key] = value;\n }\n else {\n hasChanged_1 = true;\n prev[key] = validation.sanitized;\n }\n return prev;\n }, {});\n }\n if (hasChanged_1) {\n return changedObj;\n }\n return obj;\n }\n catch (err) {\n return null;\n }\n };\n /**\n * Trim whitespace from the start and ends of a string.\n * @param {string} val The string to trim.\n * @returns {string} The trimmed string.\n */\n Sanitizer.prototype._trim = function (val) {\n // @ts-ignore This is used by Jest,\n // but TypeScript errors since it assumes `trim` is always available.\n return String.prototype.trim\n ? val.trim()\n : val.replace(/(^\\s*)|(\\s*$)/g, \"\");\n };\n return Sanitizer;\n}());\n\nexport { Sanitizer, Sanitizer as default };\n","/*!\n * All material copyright ESRI, All Rights Reserved, unless otherwise specified.\n * See https://github.com/Esri/calcite-design-system/blob/dev/LICENSE.md for details.\n * v2.13.2\n */\nimport { Build } from '@stencil/core/internal/client';\n\nconst isBrowser = () => Build.isBrowser &&\n typeof navigator !== \"undefined\" &&\n typeof window !== \"undefined\" &&\n typeof location !== \"undefined\" &&\n typeof document !== \"undefined\" &&\n window.location === location &&\n window.document === document;\nfunction getUserAgentData() {\n return navigator.userAgentData;\n}\nfunction getUserAgentString() {\n if (!isBrowser()) {\n return \"\";\n }\n const uaData = getUserAgentData();\n return uaData?.brands\n ? uaData.brands.map(({ brand, version }) => `${brand}/${version}`).join(\" \")\n : navigator.userAgent;\n}\n\nexport { getUserAgentString as g, isBrowser as i };\n\n","/*!\n * All material copyright ESRI, All Rights Reserved, unless otherwise specified.\n * See https://github.com/Esri/calcite-design-system/blob/dev/LICENSE.md for details.\n * v2.13.2\n */\nimport { Build } from '@stencil/core/internal/client';\n\n/**\n * This module allows custom configuration for components.\n */\nconst existingConfig = globalThis[\"calciteConfig\"];\nconst focusTrapStack = existingConfig?.focusTrapStack || [];\nconst runningInE2ETest = Build.isTesting && Build.isBrowser;\nconst logLevel = existingConfig?.logLevel || (runningInE2ETest ? \"error\" : \"info\");\n// the following placeholders are replaced by the build\nconst version = \"2.13.2\";\nconst buildDate = \"2024-10-24\";\nconst revision = \"e38e2977d\";\n/**\n * Stamp the version onto the global config.\n */\nfunction stampVersion() {\n if (existingConfig && existingConfig.version) {\n return;\n }\n console.info(`Using Calcite Components ${version} [Date: ${buildDate}, Revision: ${revision}]`);\n const target = existingConfig || globalThis[\"calciteConfig\"] || {};\n Object.defineProperty(target, \"version\", {\n value: version,\n writable: false,\n });\n globalThis[\"calciteConfig\"] = target;\n}\n\nexport { focusTrapStack as f, logLevel as l, stampVersion as s };\n\n","/*!\n * All material copyright ESRI, All Rights Reserved, unless otherwise specified.\n * See https://github.com/Esri/calcite-design-system/blob/dev/LICENSE.md for details.\n * v2.13.2\n */\nimport { d as darkMode, a as autoMode } from './resources.js';\nimport { s as stampVersion } from './config.js';\nimport { i as isBrowser } from './browser.js';\nexport { getAssetPath, setAssetPath, setNonce, setPlatformOptions } from '@stencil/core/internal/client';\n\n/**\n * Emits when the mode is dynamically toggled between light and dark on or in OS preferences.\n */\nfunction initModeChangeEvent() {\n const { classList } = document.body;\n const prefersDark = window.matchMedia(\"(prefers-color-scheme: dark)\").matches;\n const getMode = () => classList.contains(darkMode) || (classList.contains(autoMode) && prefersDark) ? \"dark\" : \"light\";\n const emitModeChange = (mode) => document.body.dispatchEvent(new CustomEvent(\"calciteModeChange\", { bubbles: true, detail: { mode } }));\n const modeChangeHandler = (newMode) => {\n currentMode !== newMode && emitModeChange(newMode);\n currentMode = newMode;\n };\n let currentMode = getMode();\n // emits event on page load\n emitModeChange(currentMode);\n // emits event when changing OS mode preferences\n window\n .matchMedia(\"(prefers-color-scheme: dark)\")\n .addEventListener(\"change\", (event) => modeChangeHandler(event.matches ? \"dark\" : \"light\"));\n // emits event when toggling between mode classes on \n new MutationObserver(() => modeChangeHandler(getMode())).observe(document.body, {\n attributes: true,\n attributeFilter: [\"class\"],\n });\n}\n\n/**\n * This file is imported in Stencil's `globalScript` config option.\n *\n * @see {@link https://stenciljs.com/docs/config#globalscript}\n */\nfunction appGlobalScript () {\n if (isBrowser()) {\n if (document.readyState === \"interactive\") {\n initModeChangeEvent();\n }\n else {\n document.addEventListener(\"DOMContentLoaded\", () => initModeChangeEvent(), { once: true });\n }\n }\n stampVersion();\n}\n\nconst globalScripts = appGlobalScript;\n\nglobalScripts();\n\n","/*!\n * All material copyright ESRI, All Rights Reserved, unless otherwise specified.\n * See https://github.com/Esri/calcite-design-system/blob/dev/LICENSE.md for details.\n * v2.13.2\n */\nconst autoMode = \"calcite-mode-auto\";\nconst darkMode = \"calcite-mode-dark\";\nconst lightMode = \"calcite-mode-light\";\nconst CSS_UTILITY = {\n autoMode,\n darkMode,\n lightMode,\n rtl: \"calcite--rtl\",\n calciteAnimate: \"calcite-animate\",\n calciteAnimateIn: \"calcite-animate__in\",\n calciteAnimateInUp: \"calcite-animate__in-up\",\n calciteAnimateInDown: \"calcite-animate__in-down\",\n calciteAnimateInRight: \"calcite-animate__in-right\",\n calciteAnimateInLeft: \"calcite-animate__in-left\",\n calciteAnimateInScale: \"calcite-animate__in-scale\",\n};\nconst DEBOUNCE = {\n filter: 250,\n nextTick: 0,\n resize: 150,\n reposition: 100,\n};\n\nexport { CSS_UTILITY as C, DEBOUNCE as D, autoMode as a, darkMode as d };\n\n","// src/app-data/index.ts\nvar BUILD = {\n allRenderFn: false,\n cmpDidLoad: true,\n cmpDidUnload: false,\n cmpDidUpdate: true,\n cmpDidRender: true,\n cmpWillLoad: true,\n cmpWillUpdate: true,\n cmpWillRender: true,\n connectedCallback: true,\n disconnectedCallback: true,\n element: true,\n event: true,\n hasRenderFn: true,\n lifecycle: true,\n hostListener: true,\n hostListenerTargetWindow: true,\n hostListenerTargetDocument: true,\n hostListenerTargetBody: true,\n hostListenerTargetParent: false,\n hostListenerTarget: true,\n member: true,\n method: true,\n mode: true,\n observeAttribute: true,\n prop: true,\n propMutable: true,\n reflect: true,\n scoped: true,\n shadowDom: true,\n slot: true,\n cssAnnotations: true,\n state: true,\n style: true,\n formAssociated: false,\n svg: true,\n updatable: true,\n vdomAttribute: true,\n vdomXlink: true,\n vdomClass: true,\n vdomFunctional: true,\n vdomKey: true,\n vdomListener: true,\n vdomRef: true,\n vdomPropOrAttr: true,\n vdomRender: true,\n vdomStyle: true,\n vdomText: true,\n watchCallback: true,\n taskQueue: true,\n hotModuleReplacement: false,\n isDebug: false,\n isDev: false,\n isTesting: false,\n hydrateServerSide: false,\n hydrateClientSide: false,\n lifecycleDOMEvents: false,\n lazyLoad: false,\n profile: false,\n slotRelocation: true,\n // TODO(STENCIL-914): remove this option when `experimentalSlotFixes` is the default behavior\n appendChildSlotFix: false,\n // TODO(STENCIL-914): remove this option when `experimentalSlotFixes` is the default behavior\n cloneNodeFix: false,\n hydratedAttribute: false,\n hydratedClass: true,\n // TODO(STENCIL-1305): remove this option\n scriptDataOpts: false,\n // TODO(STENCIL-914): remove this option when `experimentalSlotFixes` is the default behavior\n scopedSlotTextContentFix: false,\n // TODO(STENCIL-854): Remove code related to legacy shadowDomShim field\n shadowDomShim: false,\n // TODO(STENCIL-914): remove this option when `experimentalSlotFixes` is the default behavior\n slotChildNodesFix: false,\n invisiblePrehydration: true,\n propBoolean: true,\n propNumber: true,\n propString: true,\n constructableCSS: true,\n cmpShouldUpdate: true,\n devTools: false,\n shadowDelegatesFocus: true,\n initializeNextTick: false,\n asyncLoading: false,\n asyncQueue: false,\n transformTagName: false,\n attachStyles: true,\n // TODO(STENCIL-914): remove this option when `experimentalSlotFixes` is the default behavior\n experimentalSlotFixes: false\n};\nvar Env = {};\nvar NAMESPACE = (\n /* default */\n \"app\"\n);\nexport {\n BUILD,\n Env,\n NAMESPACE\n};\n","/*\n Stencil Client Platform v4.20.0 | MIT Licensed | https://stenciljs.com\n */\nvar __defProp = Object.defineProperty;\nvar __export = (target, all) => {\n for (var name in all)\n __defProp(target, name, { get: all[name], enumerable: true });\n};\n\n// src/client/client-build.ts\nimport { BUILD } from \"@stencil/core/internal/app-data\";\nvar Build = {\n isDev: BUILD.isDev ? true : false,\n isBrowser: true,\n isServer: false,\n isTesting: BUILD.isTesting ? true : false\n};\n\n// src/client/client-host-ref.ts\nimport { BUILD as BUILD2 } from \"@stencil/core/internal/app-data\";\nvar hostRefs = BUILD2.hotModuleReplacement ? window.__STENCIL_HOSTREFS__ || (window.__STENCIL_HOSTREFS__ = /* @__PURE__ */ new WeakMap()) : /* @__PURE__ */ new WeakMap();\nvar getHostRef = (ref) => hostRefs.get(ref);\nvar registerInstance = (lazyInstance, hostRef) => hostRefs.set(hostRef.$lazyInstance$ = lazyInstance, hostRef);\nvar registerHost = (hostElement, cmpMeta) => {\n const hostRef = {\n $flags$: 0,\n $hostElement$: hostElement,\n $cmpMeta$: cmpMeta,\n $instanceValues$: /* @__PURE__ */ new Map()\n };\n if (BUILD2.isDev) {\n hostRef.$renderCount$ = 0;\n }\n if (BUILD2.method && BUILD2.lazyLoad) {\n hostRef.$onInstancePromise$ = new Promise((r) => hostRef.$onInstanceResolve$ = r);\n }\n if (BUILD2.asyncLoading) {\n hostRef.$onReadyPromise$ = new Promise((r) => hostRef.$onReadyResolve$ = r);\n hostElement[\"s-p\"] = [];\n hostElement[\"s-rc\"] = [];\n }\n return hostRefs.set(hostElement, hostRef);\n};\nvar isMemberInElement = (elm, memberName) => memberName in elm;\n\n// src/client/client-load-module.ts\nimport { BUILD as BUILD4 } from \"@stencil/core/internal/app-data\";\n\n// src/client/client-log.ts\nimport { BUILD as BUILD3 } from \"@stencil/core/internal/app-data\";\nvar customError;\nvar consoleError = (e, el) => (customError || console.error)(e, el);\nvar STENCIL_DEV_MODE = BUILD3.isTesting ? [\"STENCIL:\"] : [\n \"%cstencil\",\n \"color: white;background:#4c47ff;font-weight: bold; font-size:10px; padding:2px 6px; border-radius: 5px\"\n];\nvar consoleDevError = (...m) => console.error(...STENCIL_DEV_MODE, ...m);\nvar consoleDevWarn = (...m) => console.warn(...STENCIL_DEV_MODE, ...m);\nvar consoleDevInfo = (...m) => console.info(...STENCIL_DEV_MODE, ...m);\nvar setErrorHandler = (handler) => customError = handler;\n\n// src/client/client-load-module.ts\nvar cmpModules = /* @__PURE__ */ new Map();\nvar MODULE_IMPORT_PREFIX = \"./\";\nvar loadModule = (cmpMeta, hostRef, hmrVersionId) => {\n const exportName = cmpMeta.$tagName$.replace(/-/g, \"_\");\n const bundleId = cmpMeta.$lazyBundleId$;\n if (BUILD4.isDev && typeof bundleId !== \"string\") {\n consoleDevError(\n `Trying to lazily load component <${cmpMeta.$tagName$}> with style mode \"${hostRef.$modeName$}\", but it does not exist.`\n );\n return void 0;\n } else if (!bundleId) {\n return void 0;\n }\n const module = !BUILD4.hotModuleReplacement ? cmpModules.get(bundleId) : false;\n if (module) {\n return module[exportName];\n }\n /*!__STENCIL_STATIC_IMPORT_SWITCH__*/\n return import(\n /* @vite-ignore */\n /* webpackInclude: /\\.entry\\.js$/ */\n /* webpackExclude: /\\.system\\.entry\\.js$/ */\n /* webpackMode: \"lazy\" */\n `./${bundleId}.entry.js${BUILD4.hotModuleReplacement && hmrVersionId ? \"?s-hmr=\" + hmrVersionId : \"\"}`\n ).then((importedModule) => {\n if (!BUILD4.hotModuleReplacement) {\n cmpModules.set(bundleId, importedModule);\n }\n return importedModule[exportName];\n }, consoleError);\n};\n\n// src/client/client-style.ts\nvar styles = /* @__PURE__ */ new Map();\nvar modeResolutionChain = [];\n\n// src/client/client-task-queue.ts\nimport { BUILD as BUILD6 } from \"@stencil/core/internal/app-data\";\n\n// src/runtime/runtime-constants.ts\nvar CONTENT_REF_ID = \"r\";\nvar ORG_LOCATION_ID = \"o\";\nvar SLOT_NODE_ID = \"s\";\nvar TEXT_NODE_ID = \"t\";\nvar HYDRATE_ID = \"s-id\";\nvar HYDRATED_STYLE_ID = \"sty-id\";\nvar HYDRATE_CHILD_ID = \"c-id\";\nvar HYDRATED_CSS = \"{visibility:hidden}.hydrated{visibility:inherit}\";\nvar SLOT_FB_CSS = \"slot-fb{display:contents}slot-fb[hidden]{display:none}\";\nvar XLINK_NS = \"http://www.w3.org/1999/xlink\";\nvar FORM_ASSOCIATED_CUSTOM_ELEMENT_CALLBACKS = [\n \"formAssociatedCallback\",\n \"formResetCallback\",\n \"formDisabledCallback\",\n \"formStateRestoreCallback\"\n];\n\n// src/client/client-window.ts\nimport { BUILD as BUILD5 } from \"@stencil/core/internal/app-data\";\nvar win = typeof window !== \"undefined\" ? window : {};\nvar doc = win.document || { head: {} };\nvar H = win.HTMLElement || class {\n};\nvar plt = {\n $flags$: 0,\n $resourcesUrl$: \"\",\n jmp: (h2) => h2(),\n raf: (h2) => requestAnimationFrame(h2),\n ael: (el, eventName, listener, opts) => el.addEventListener(eventName, listener, opts),\n rel: (el, eventName, listener, opts) => el.removeEventListener(eventName, listener, opts),\n ce: (eventName, opts) => new CustomEvent(eventName, opts)\n};\nvar setPlatformHelpers = (helpers) => {\n Object.assign(plt, helpers);\n};\nvar supportsShadow = BUILD5.shadowDom;\nvar supportsListenerOptions = /* @__PURE__ */ (() => {\n let supportsListenerOptions2 = false;\n try {\n doc.addEventListener(\n \"e\",\n null,\n Object.defineProperty({}, \"passive\", {\n get() {\n supportsListenerOptions2 = true;\n }\n })\n );\n } catch (e) {\n }\n return supportsListenerOptions2;\n})();\nvar promiseResolve = (v) => Promise.resolve(v);\nvar supportsConstructableStylesheets = BUILD5.constructableCSS ? /* @__PURE__ */ (() => {\n try {\n new CSSStyleSheet();\n return typeof new CSSStyleSheet().replaceSync === \"function\";\n } catch (e) {\n }\n return false;\n})() : false;\n\n// src/client/client-task-queue.ts\nvar queueCongestion = 0;\nvar queuePending = false;\nvar queueDomReads = [];\nvar queueDomWrites = [];\nvar queueDomWritesLow = [];\nvar queueTask = (queue, write) => (cb) => {\n queue.push(cb);\n if (!queuePending) {\n queuePending = true;\n if (write && plt.$flags$ & 4 /* queueSync */) {\n nextTick(flush);\n } else {\n plt.raf(flush);\n }\n }\n};\nvar consume = (queue) => {\n for (let i2 = 0; i2 < queue.length; i2++) {\n try {\n queue[i2](performance.now());\n } catch (e) {\n consoleError(e);\n }\n }\n queue.length = 0;\n};\nvar consumeTimeout = (queue, timeout) => {\n let i2 = 0;\n let ts = 0;\n while (i2 < queue.length && (ts = performance.now()) < timeout) {\n try {\n queue[i2++](ts);\n } catch (e) {\n consoleError(e);\n }\n }\n if (i2 === queue.length) {\n queue.length = 0;\n } else if (i2 !== 0) {\n queue.splice(0, i2);\n }\n};\nvar flush = () => {\n if (BUILD6.asyncQueue) {\n queueCongestion++;\n }\n consume(queueDomReads);\n if (BUILD6.asyncQueue) {\n const timeout = (plt.$flags$ & 6 /* queueMask */) === 2 /* appLoaded */ ? performance.now() + 14 * Math.ceil(queueCongestion * (1 / 10)) : Infinity;\n consumeTimeout(queueDomWrites, timeout);\n consumeTimeout(queueDomWritesLow, timeout);\n if (queueDomWrites.length > 0) {\n queueDomWritesLow.push(...queueDomWrites);\n queueDomWrites.length = 0;\n }\n if (queuePending = queueDomReads.length + queueDomWrites.length + queueDomWritesLow.length > 0) {\n plt.raf(flush);\n } else {\n queueCongestion = 0;\n }\n } else {\n consume(queueDomWrites);\n if (queuePending = queueDomReads.length > 0) {\n plt.raf(flush);\n }\n }\n};\nvar nextTick = (cb) => promiseResolve().then(cb);\nvar readTask = /* @__PURE__ */ queueTask(queueDomReads, false);\nvar writeTask = /* @__PURE__ */ queueTask(queueDomWrites, true);\n\n// src/client/index.ts\nimport { BUILD as BUILD27, Env, NAMESPACE as NAMESPACE2 } from \"@stencil/core/internal/app-data\";\n\n// src/runtime/asset-path.ts\nvar getAssetPath = (path) => {\n const assetUrl = new URL(path, plt.$resourcesUrl$);\n return assetUrl.origin !== win.location.origin ? assetUrl.href : assetUrl.pathname;\n};\nvar setAssetPath = (path) => plt.$resourcesUrl$ = path;\n\n// src/runtime/bootstrap-custom-element.ts\nimport { BUILD as BUILD24 } from \"@stencil/core/internal/app-data\";\n\n// src/utils/constants.ts\nvar EMPTY_OBJ = {};\nvar SVG_NS = \"http://www.w3.org/2000/svg\";\nvar HTML_NS = \"http://www.w3.org/1999/xhtml\";\n\n// src/utils/helpers.ts\nvar isDef = (v) => v != null;\nvar isComplexType = (o) => {\n o = typeof o;\n return o === \"object\" || o === \"function\";\n};\n\n// src/utils/query-nonce-meta-tag-content.ts\nfunction queryNonceMetaTagContent(doc2) {\n var _a, _b, _c;\n return (_c = (_b = (_a = doc2.head) == null ? void 0 : _a.querySelector('meta[name=\"csp-nonce\"]')) == null ? void 0 : _b.getAttribute(\"content\")) != null ? _c : void 0;\n}\n\n// src/utils/result.ts\nvar result_exports = {};\n__export(result_exports, {\n err: () => err,\n map: () => map,\n ok: () => ok,\n unwrap: () => unwrap,\n unwrapErr: () => unwrapErr\n});\nvar ok = (value) => ({\n isOk: true,\n isErr: false,\n value\n});\nvar err = (value) => ({\n isOk: false,\n isErr: true,\n value\n});\nfunction map(result, fn) {\n if (result.isOk) {\n const val = fn(result.value);\n if (val instanceof Promise) {\n return val.then((newVal) => ok(newVal));\n } else {\n return ok(val);\n }\n }\n if (result.isErr) {\n const value = result.value;\n return err(value);\n }\n throw \"should never get here\";\n}\nvar unwrap = (result) => {\n if (result.isOk) {\n return result.value;\n } else {\n throw result.value;\n }\n};\nvar unwrapErr = (result) => {\n if (result.isErr) {\n return result.value;\n } else {\n throw result.value;\n }\n};\n\n// src/runtime/connected-callback.ts\nimport { BUILD as BUILD21 } from \"@stencil/core/internal/app-data\";\n\n// src/runtime/client-hydrate.ts\nimport { BUILD as BUILD9 } from \"@stencil/core/internal/app-data\";\n\n// src/runtime/profile.ts\nimport { BUILD as BUILD7 } from \"@stencil/core/internal/app-data\";\nvar i = 0;\nvar createTime = (fnName, tagName = \"\") => {\n if (BUILD7.profile && performance.mark) {\n const key = `st:${fnName}:${tagName}:${i++}`;\n performance.mark(key);\n return () => performance.measure(`[Stencil] ${fnName}() <${tagName}>`, key);\n } else {\n return () => {\n return;\n };\n }\n};\nvar uniqueTime = (key, measureText) => {\n if (BUILD7.profile && performance.mark) {\n if (performance.getEntriesByName(key, \"mark\").length === 0) {\n performance.mark(key);\n }\n return () => {\n if (performance.getEntriesByName(measureText, \"measure\").length === 0) {\n performance.measure(measureText, key);\n }\n };\n } else {\n return () => {\n return;\n };\n }\n};\nvar inspect = (ref) => {\n const hostRef = getHostRef(ref);\n if (!hostRef) {\n return void 0;\n }\n const flags = hostRef.$flags$;\n const hostElement = hostRef.$hostElement$;\n return {\n renderCount: hostRef.$renderCount$,\n flags: {\n hasRendered: !!(flags & 2 /* hasRendered */),\n hasConnected: !!(flags & 1 /* hasConnected */),\n isWaitingForChildren: !!(flags & 4 /* isWaitingForChildren */),\n isConstructingInstance: !!(flags & 8 /* isConstructingInstance */),\n isQueuedForUpdate: !!(flags & 16 /* isQueuedForUpdate */),\n hasInitializedComponent: !!(flags & 32 /* hasInitializedComponent */),\n hasLoadedComponent: !!(flags & 64 /* hasLoadedComponent */),\n isWatchReady: !!(flags & 128 /* isWatchReady */),\n isListenReady: !!(flags & 256 /* isListenReady */),\n needsRerender: !!(flags & 512 /* needsRerender */)\n },\n instanceValues: hostRef.$instanceValues$,\n ancestorComponent: hostRef.$ancestorComponent$,\n hostElement,\n lazyInstance: hostRef.$lazyInstance$,\n vnode: hostRef.$vnode$,\n modeName: hostRef.$modeName$,\n onReadyPromise: hostRef.$onReadyPromise$,\n onReadyResolve: hostRef.$onReadyResolve$,\n onInstancePromise: hostRef.$onInstancePromise$,\n onInstanceResolve: hostRef.$onInstanceResolve$,\n onRenderResolve: hostRef.$onRenderResolve$,\n queuedListeners: hostRef.$queuedListeners$,\n rmListeners: hostRef.$rmListeners$,\n [\"s-id\"]: hostElement[\"s-id\"],\n [\"s-cr\"]: hostElement[\"s-cr\"],\n [\"s-lr\"]: hostElement[\"s-lr\"],\n [\"s-p\"]: hostElement[\"s-p\"],\n [\"s-rc\"]: hostElement[\"s-rc\"],\n [\"s-sc\"]: hostElement[\"s-sc\"]\n };\n};\nvar installDevTools = () => {\n if (BUILD7.devTools) {\n const stencil = win.stencil = win.stencil || {};\n const originalInspect = stencil.inspect;\n stencil.inspect = (ref) => {\n let result = inspect(ref);\n if (!result && typeof originalInspect === \"function\") {\n result = originalInspect(ref);\n }\n return result;\n };\n }\n};\n\n// src/runtime/vdom/h.ts\nimport { BUILD as BUILD8 } from \"@stencil/core/internal/app-data\";\nvar h = (nodeName, vnodeData, ...children) => {\n let child = null;\n let key = null;\n let slotName = null;\n let simple = false;\n let lastSimple = false;\n const vNodeChildren = [];\n const walk = (c) => {\n for (let i2 = 0; i2 < c.length; i2++) {\n child = c[i2];\n if (Array.isArray(child)) {\n walk(child);\n } else if (child != null && typeof child !== \"boolean\") {\n if (simple = typeof nodeName !== \"function\" && !isComplexType(child)) {\n child = String(child);\n } else if (BUILD8.isDev && typeof nodeName !== \"function\" && child.$flags$ === void 0) {\n consoleDevError(`vNode passed as children has unexpected type.\nMake sure it's using the correct h() function.\nEmpty objects can also be the cause, look for JSX comments that became objects.`);\n }\n if (simple && lastSimple) {\n vNodeChildren[vNodeChildren.length - 1].$text$ += child;\n } else {\n vNodeChildren.push(simple ? newVNode(null, child) : child);\n }\n lastSimple = simple;\n }\n }\n };\n walk(children);\n if (vnodeData) {\n if (BUILD8.isDev && nodeName === \"input\") {\n validateInputProperties(vnodeData);\n }\n if (BUILD8.vdomKey && vnodeData.key) {\n key = vnodeData.key;\n }\n if (BUILD8.slotRelocation && vnodeData.name) {\n slotName = vnodeData.name;\n }\n if (BUILD8.vdomClass) {\n const classData = vnodeData.className || vnodeData.class;\n if (classData) {\n vnodeData.class = typeof classData !== \"object\" ? classData : Object.keys(classData).filter((k) => classData[k]).join(\" \");\n }\n }\n }\n if (BUILD8.isDev && vNodeChildren.some(isHost)) {\n consoleDevError(`The must be the single root component. Make sure:\n- You are NOT using hostData() and in the same component.\n- is used once, and it's the single root component of the render() function.`);\n }\n if (BUILD8.vdomFunctional && typeof nodeName === \"function\") {\n return nodeName(\n vnodeData === null ? {} : vnodeData,\n vNodeChildren,\n vdomFnUtils\n );\n }\n const vnode = newVNode(nodeName, null);\n vnode.$attrs$ = vnodeData;\n if (vNodeChildren.length > 0) {\n vnode.$children$ = vNodeChildren;\n }\n if (BUILD8.vdomKey) {\n vnode.$key$ = key;\n }\n if (BUILD8.slotRelocation) {\n vnode.$name$ = slotName;\n }\n return vnode;\n};\nvar newVNode = (tag, text) => {\n const vnode = {\n $flags$: 0,\n $tag$: tag,\n $text$: text,\n $elm$: null,\n $children$: null\n };\n if (BUILD8.vdomAttribute) {\n vnode.$attrs$ = null;\n }\n if (BUILD8.vdomKey) {\n vnode.$key$ = null;\n }\n if (BUILD8.slotRelocation) {\n vnode.$name$ = null;\n }\n return vnode;\n};\nvar Host = {};\nvar isHost = (node) => node && node.$tag$ === Host;\nvar vdomFnUtils = {\n forEach: (children, cb) => children.map(convertToPublic).forEach(cb),\n map: (children, cb) => children.map(convertToPublic).map(cb).map(convertToPrivate)\n};\nvar convertToPublic = (node) => ({\n vattrs: node.$attrs$,\n vchildren: node.$children$,\n vkey: node.$key$,\n vname: node.$name$,\n vtag: node.$tag$,\n vtext: node.$text$\n});\nvar convertToPrivate = (node) => {\n if (typeof node.vtag === \"function\") {\n const vnodeData = { ...node.vattrs };\n if (node.vkey) {\n vnodeData.key = node.vkey;\n }\n if (node.vname) {\n vnodeData.name = node.vname;\n }\n return h(node.vtag, vnodeData, ...node.vchildren || []);\n }\n const vnode = newVNode(node.vtag, node.vtext);\n vnode.$attrs$ = node.vattrs;\n vnode.$children$ = node.vchildren;\n vnode.$key$ = node.vkey;\n vnode.$name$ = node.vname;\n return vnode;\n};\nvar validateInputProperties = (inputElm) => {\n const props = Object.keys(inputElm);\n const value = props.indexOf(\"value\");\n if (value === -1) {\n return;\n }\n const typeIndex = props.indexOf(\"type\");\n const minIndex = props.indexOf(\"min\");\n const maxIndex = props.indexOf(\"max\");\n const stepIndex = props.indexOf(\"step\");\n if (value < typeIndex || value < minIndex || value < maxIndex || value < stepIndex) {\n consoleDevWarn(`The \"value\" prop of should be set after \"min\", \"max\", \"type\" and \"step\"`);\n }\n};\n\n// src/runtime/client-hydrate.ts\nvar initializeClientHydrate = (hostElm, tagName, hostId, hostRef) => {\n const endHydrate = createTime(\"hydrateClient\", tagName);\n const shadowRoot = hostElm.shadowRoot;\n const childRenderNodes = [];\n const slotNodes = [];\n const shadowRootNodes = BUILD9.shadowDom && shadowRoot ? [] : null;\n const vnode = hostRef.$vnode$ = newVNode(tagName, null);\n if (!plt.$orgLocNodes$) {\n initializeDocumentHydrate(doc.body, plt.$orgLocNodes$ = /* @__PURE__ */ new Map());\n }\n hostElm[HYDRATE_ID] = hostId;\n hostElm.removeAttribute(HYDRATE_ID);\n clientHydrate(vnode, childRenderNodes, slotNodes, shadowRootNodes, hostElm, hostElm, hostId);\n childRenderNodes.map((c) => {\n const orgLocationId = c.$hostId$ + \".\" + c.$nodeId$;\n const orgLocationNode = plt.$orgLocNodes$.get(orgLocationId);\n const node = c.$elm$;\n if (orgLocationNode && supportsShadow && orgLocationNode[\"s-en\"] === \"\") {\n orgLocationNode.parentNode.insertBefore(node, orgLocationNode.nextSibling);\n }\n if (!shadowRoot) {\n node[\"s-hn\"] = tagName;\n if (orgLocationNode) {\n node[\"s-ol\"] = orgLocationNode;\n node[\"s-ol\"][\"s-nr\"] = node;\n }\n }\n plt.$orgLocNodes$.delete(orgLocationId);\n });\n if (BUILD9.shadowDom && shadowRoot) {\n shadowRootNodes.map((shadowRootNode) => {\n if (shadowRootNode) {\n shadowRoot.appendChild(shadowRootNode);\n }\n });\n }\n endHydrate();\n};\nvar clientHydrate = (parentVNode, childRenderNodes, slotNodes, shadowRootNodes, hostElm, node, hostId) => {\n let childNodeType;\n let childIdSplt;\n let childVNode;\n let i2;\n if (node.nodeType === 1 /* ElementNode */) {\n childNodeType = node.getAttribute(HYDRATE_CHILD_ID);\n if (childNodeType) {\n childIdSplt = childNodeType.split(\".\");\n if (childIdSplt[0] === hostId || childIdSplt[0] === \"0\") {\n childVNode = {\n $flags$: 0,\n $hostId$: childIdSplt[0],\n $nodeId$: childIdSplt[1],\n $depth$: childIdSplt[2],\n $index$: childIdSplt[3],\n $tag$: node.tagName.toLowerCase(),\n $elm$: node,\n $attrs$: null,\n $children$: null,\n $key$: null,\n $name$: null,\n $text$: null\n };\n childRenderNodes.push(childVNode);\n node.removeAttribute(HYDRATE_CHILD_ID);\n if (!parentVNode.$children$) {\n parentVNode.$children$ = [];\n }\n parentVNode.$children$[childVNode.$index$] = childVNode;\n parentVNode = childVNode;\n if (shadowRootNodes && childVNode.$depth$ === \"0\") {\n shadowRootNodes[childVNode.$index$] = childVNode.$elm$;\n }\n }\n }\n if (node.shadowRoot) {\n for (i2 = node.shadowRoot.childNodes.length - 1; i2 >= 0; i2--) {\n clientHydrate(\n parentVNode,\n childRenderNodes,\n slotNodes,\n shadowRootNodes,\n hostElm,\n node.shadowRoot.childNodes[i2],\n hostId\n );\n }\n }\n for (i2 = node.childNodes.length - 1; i2 >= 0; i2--) {\n clientHydrate(\n parentVNode,\n childRenderNodes,\n slotNodes,\n shadowRootNodes,\n hostElm,\n node.childNodes[i2],\n hostId\n );\n }\n } else if (node.nodeType === 8 /* CommentNode */) {\n childIdSplt = node.nodeValue.split(\".\");\n if (childIdSplt[1] === hostId || childIdSplt[1] === \"0\") {\n childNodeType = childIdSplt[0];\n childVNode = {\n $flags$: 0,\n $hostId$: childIdSplt[1],\n $nodeId$: childIdSplt[2],\n $depth$: childIdSplt[3],\n $index$: childIdSplt[4],\n $elm$: node,\n $attrs$: null,\n $children$: null,\n $key$: null,\n $name$: null,\n $tag$: null,\n $text$: null\n };\n if (childNodeType === TEXT_NODE_ID) {\n childVNode.$elm$ = node.nextSibling;\n if (childVNode.$elm$ && childVNode.$elm$.nodeType === 3 /* TextNode */) {\n childVNode.$text$ = childVNode.$elm$.textContent;\n childRenderNodes.push(childVNode);\n node.remove();\n if (!parentVNode.$children$) {\n parentVNode.$children$ = [];\n }\n parentVNode.$children$[childVNode.$index$] = childVNode;\n if (shadowRootNodes && childVNode.$depth$ === \"0\") {\n shadowRootNodes[childVNode.$index$] = childVNode.$elm$;\n }\n }\n } else if (childVNode.$hostId$ === hostId) {\n if (childNodeType === SLOT_NODE_ID) {\n childVNode.$tag$ = \"slot\";\n if (childIdSplt[5]) {\n node[\"s-sn\"] = childVNode.$name$ = childIdSplt[5];\n } else {\n node[\"s-sn\"] = \"\";\n }\n node[\"s-sr\"] = true;\n if (BUILD9.shadowDom && shadowRootNodes) {\n childVNode.$elm$ = doc.createElement(childVNode.$tag$);\n if (childVNode.$name$) {\n childVNode.$elm$.setAttribute(\"name\", childVNode.$name$);\n }\n node.parentNode.insertBefore(childVNode.$elm$, node);\n node.remove();\n if (childVNode.$depth$ === \"0\") {\n shadowRootNodes[childVNode.$index$] = childVNode.$elm$;\n }\n }\n slotNodes.push(childVNode);\n if (!parentVNode.$children$) {\n parentVNode.$children$ = [];\n }\n parentVNode.$children$[childVNode.$index$] = childVNode;\n } else if (childNodeType === CONTENT_REF_ID) {\n if (BUILD9.shadowDom && shadowRootNodes) {\n node.remove();\n } else if (BUILD9.slotRelocation) {\n hostElm[\"s-cr\"] = node;\n node[\"s-cn\"] = true;\n }\n }\n }\n }\n } else if (parentVNode && parentVNode.$tag$ === \"style\") {\n const vnode = newVNode(null, node.textContent);\n vnode.$elm$ = node;\n vnode.$index$ = \"0\";\n parentVNode.$children$ = [vnode];\n }\n};\nvar initializeDocumentHydrate = (node, orgLocNodes) => {\n if (node.nodeType === 1 /* ElementNode */) {\n let i2 = 0;\n if (node.shadowRoot) {\n for (; i2 < node.shadowRoot.childNodes.length; i2++) {\n initializeDocumentHydrate(node.shadowRoot.childNodes[i2], orgLocNodes);\n }\n }\n for (i2 = 0; i2 < node.childNodes.length; i2++) {\n initializeDocumentHydrate(node.childNodes[i2], orgLocNodes);\n }\n } else if (node.nodeType === 8 /* CommentNode */) {\n const childIdSplt = node.nodeValue.split(\".\");\n if (childIdSplt[0] === ORG_LOCATION_ID) {\n orgLocNodes.set(childIdSplt[1] + \".\" + childIdSplt[2], node);\n node.nodeValue = \"\";\n node[\"s-en\"] = childIdSplt[3];\n }\n }\n};\n\n// src/runtime/initialize-component.ts\nimport { BUILD as BUILD20 } from \"@stencil/core/internal/app-data\";\n\n// src/runtime/mode.ts\nvar computeMode = (elm) => modeResolutionChain.map((h2) => h2(elm)).find((m) => !!m);\nvar setMode = (handler) => modeResolutionChain.push(handler);\nvar getMode = (ref) => getHostRef(ref).$modeName$;\n\n// src/runtime/proxy-component.ts\nimport { BUILD as BUILD19 } from \"@stencil/core/internal/app-data\";\n\n// src/runtime/set-value.ts\nimport { BUILD as BUILD18 } from \"@stencil/core/internal/app-data\";\n\n// src/runtime/parse-property-value.ts\nimport { BUILD as BUILD10 } from \"@stencil/core/internal/app-data\";\nvar parsePropertyValue = (propValue, propType) => {\n if (propValue != null && !isComplexType(propValue)) {\n if (BUILD10.propBoolean && propType & 4 /* Boolean */) {\n return propValue === \"false\" ? false : propValue === \"\" || !!propValue;\n }\n if (BUILD10.propNumber && propType & 2 /* Number */) {\n return parseFloat(propValue);\n }\n if (BUILD10.propString && propType & 1 /* String */) {\n return String(propValue);\n }\n return propValue;\n }\n return propValue;\n};\n\n// src/runtime/update-component.ts\nimport { BUILD as BUILD17, NAMESPACE } from \"@stencil/core/internal/app-data\";\n\n// src/runtime/event-emitter.ts\nimport { BUILD as BUILD12 } from \"@stencil/core/internal/app-data\";\n\n// src/runtime/element.ts\nimport { BUILD as BUILD11 } from \"@stencil/core/internal/app-data\";\nvar getElement = (ref) => BUILD11.lazyLoad ? getHostRef(ref).$hostElement$ : ref;\n\n// src/runtime/event-emitter.ts\nvar createEvent = (ref, name, flags) => {\n const elm = getElement(ref);\n return {\n emit: (detail) => {\n if (BUILD12.isDev && !elm.isConnected) {\n consoleDevWarn(`The \"${name}\" event was emitted, but the dispatcher node is no longer connected to the dom.`);\n }\n return emitEvent(elm, name, {\n bubbles: !!(flags & 4 /* Bubbles */),\n composed: !!(flags & 2 /* Composed */),\n cancelable: !!(flags & 1 /* Cancellable */),\n detail\n });\n }\n };\n};\nvar emitEvent = (elm, name, opts) => {\n const ev = plt.ce(name, opts);\n elm.dispatchEvent(ev);\n return ev;\n};\n\n// src/runtime/styles.ts\nimport { BUILD as BUILD13 } from \"@stencil/core/internal/app-data\";\nvar rootAppliedStyles = /* @__PURE__ */ new WeakMap();\nvar registerStyle = (scopeId2, cssText, allowCS) => {\n let style = styles.get(scopeId2);\n if (supportsConstructableStylesheets && allowCS) {\n style = style || new CSSStyleSheet();\n if (typeof style === \"string\") {\n style = cssText;\n } else {\n style.replaceSync(cssText);\n }\n } else {\n style = cssText;\n }\n styles.set(scopeId2, style);\n};\nvar addStyle = (styleContainerNode, cmpMeta, mode) => {\n var _a;\n const scopeId2 = getScopeId(cmpMeta, mode);\n const style = styles.get(scopeId2);\n if (!BUILD13.attachStyles) {\n return scopeId2;\n }\n styleContainerNode = styleContainerNode.nodeType === 11 /* DocumentFragment */ ? styleContainerNode : doc;\n if (style) {\n if (typeof style === \"string\") {\n styleContainerNode = styleContainerNode.head || styleContainerNode;\n let appliedStyles = rootAppliedStyles.get(styleContainerNode);\n let styleElm;\n if (!appliedStyles) {\n rootAppliedStyles.set(styleContainerNode, appliedStyles = /* @__PURE__ */ new Set());\n }\n if (!appliedStyles.has(scopeId2)) {\n if (BUILD13.hydrateClientSide && styleContainerNode.host && (styleElm = styleContainerNode.querySelector(`[${HYDRATED_STYLE_ID}=\"${scopeId2}\"]`))) {\n styleElm.innerHTML = style;\n } else {\n styleElm = doc.createElement(\"style\");\n styleElm.innerHTML = style;\n const nonce = (_a = plt.$nonce$) != null ? _a : queryNonceMetaTagContent(doc);\n if (nonce != null) {\n styleElm.setAttribute(\"nonce\", nonce);\n }\n if ((BUILD13.hydrateServerSide || BUILD13.hotModuleReplacement) && cmpMeta.$flags$ & 2 /* scopedCssEncapsulation */) {\n styleElm.setAttribute(HYDRATED_STYLE_ID, scopeId2);\n }\n const injectStyle = (\n /**\n * we render a scoped component\n */\n !(cmpMeta.$flags$ & 1 /* shadowDomEncapsulation */) || /**\n * we are using shadow dom and render the style tag within the shadowRoot\n */\n cmpMeta.$flags$ & 1 /* shadowDomEncapsulation */ && styleContainerNode.nodeName !== \"HEAD\"\n );\n if (injectStyle) {\n styleContainerNode.insertBefore(styleElm, styleContainerNode.querySelector(\"link\"));\n }\n }\n if (cmpMeta.$flags$ & 4 /* hasSlotRelocation */) {\n styleElm.innerHTML += SLOT_FB_CSS;\n }\n if (appliedStyles) {\n appliedStyles.add(scopeId2);\n }\n }\n } else if (BUILD13.constructableCSS && !styleContainerNode.adoptedStyleSheets.includes(style)) {\n styleContainerNode.adoptedStyleSheets = [...styleContainerNode.adoptedStyleSheets, style];\n }\n }\n return scopeId2;\n};\nvar attachStyles = (hostRef) => {\n const cmpMeta = hostRef.$cmpMeta$;\n const elm = hostRef.$hostElement$;\n const flags = cmpMeta.$flags$;\n const endAttachStyles = createTime(\"attachStyles\", cmpMeta.$tagName$);\n const scopeId2 = addStyle(\n BUILD13.shadowDom && supportsShadow && elm.shadowRoot ? elm.shadowRoot : elm.getRootNode(),\n cmpMeta,\n hostRef.$modeName$\n );\n if ((BUILD13.shadowDom || BUILD13.scoped) && BUILD13.cssAnnotations && flags & 10 /* needsScopedEncapsulation */ && flags & 2 /* scopedCssEncapsulation */) {\n elm[\"s-sc\"] = scopeId2;\n elm.classList.add(scopeId2 + \"-h\");\n if (BUILD13.scoped && flags & 2 /* scopedCssEncapsulation */) {\n elm.classList.add(scopeId2 + \"-s\");\n }\n }\n endAttachStyles();\n};\nvar getScopeId = (cmp, mode) => \"sc-\" + (BUILD13.mode && mode && cmp.$flags$ & 32 /* hasMode */ ? cmp.$tagName$ + \"-\" + mode : cmp.$tagName$);\n\n// src/runtime/vdom/vdom-render.ts\nimport { BUILD as BUILD16 } from \"@stencil/core/internal/app-data\";\n\n// src/runtime/vdom/update-element.ts\nimport { BUILD as BUILD15 } from \"@stencil/core/internal/app-data\";\n\n// src/runtime/vdom/set-accessor.ts\nimport { BUILD as BUILD14 } from \"@stencil/core/internal/app-data\";\nvar setAccessor = (elm, memberName, oldValue, newValue, isSvg, flags) => {\n if (oldValue !== newValue) {\n let isProp = isMemberInElement(elm, memberName);\n let ln = memberName.toLowerCase();\n if (BUILD14.vdomClass && memberName === \"class\") {\n const classList = elm.classList;\n const oldClasses = parseClassList(oldValue);\n const newClasses = parseClassList(newValue);\n classList.remove(...oldClasses.filter((c) => c && !newClasses.includes(c)));\n classList.add(...newClasses.filter((c) => c && !oldClasses.includes(c)));\n } else if (BUILD14.vdomStyle && memberName === \"style\") {\n if (BUILD14.updatable) {\n for (const prop in oldValue) {\n if (!newValue || newValue[prop] == null) {\n if (!BUILD14.hydrateServerSide && prop.includes(\"-\")) {\n elm.style.removeProperty(prop);\n } else {\n elm.style[prop] = \"\";\n }\n }\n }\n }\n for (const prop in newValue) {\n if (!oldValue || newValue[prop] !== oldValue[prop]) {\n if (!BUILD14.hydrateServerSide && prop.includes(\"-\")) {\n elm.style.setProperty(prop, newValue[prop]);\n } else {\n elm.style[prop] = newValue[prop];\n }\n }\n }\n } else if (BUILD14.vdomKey && memberName === \"key\") {\n } else if (BUILD14.vdomRef && memberName === \"ref\") {\n if (newValue) {\n newValue(elm);\n }\n } else if (BUILD14.vdomListener && (BUILD14.lazyLoad ? !isProp : !elm.__lookupSetter__(memberName)) && memberName[0] === \"o\" && memberName[1] === \"n\") {\n if (memberName[2] === \"-\") {\n memberName = memberName.slice(3);\n } else if (isMemberInElement(win, ln)) {\n memberName = ln.slice(2);\n } else {\n memberName = ln[2] + memberName.slice(3);\n }\n if (oldValue || newValue) {\n const capture = memberName.endsWith(CAPTURE_EVENT_SUFFIX);\n memberName = memberName.replace(CAPTURE_EVENT_REGEX, \"\");\n if (oldValue) {\n plt.rel(elm, memberName, oldValue, capture);\n }\n if (newValue) {\n plt.ael(elm, memberName, newValue, capture);\n }\n }\n } else if (BUILD14.vdomPropOrAttr) {\n const isComplex = isComplexType(newValue);\n if ((isProp || isComplex && newValue !== null) && !isSvg) {\n try {\n if (!elm.tagName.includes(\"-\")) {\n const n = newValue == null ? \"\" : newValue;\n if (memberName === \"list\") {\n isProp = false;\n } else if (oldValue == null || elm[memberName] != n) {\n elm[memberName] = n;\n }\n } else {\n elm[memberName] = newValue;\n }\n } catch (e) {\n }\n }\n let xlink = false;\n if (BUILD14.vdomXlink) {\n if (ln !== (ln = ln.replace(/^xlink\\:?/, \"\"))) {\n memberName = ln;\n xlink = true;\n }\n }\n if (newValue == null || newValue === false) {\n if (newValue !== false || elm.getAttribute(memberName) === \"\") {\n if (BUILD14.vdomXlink && xlink) {\n elm.removeAttributeNS(XLINK_NS, memberName);\n } else {\n elm.removeAttribute(memberName);\n }\n }\n } else if ((!isProp || flags & 4 /* isHost */ || isSvg) && !isComplex) {\n newValue = newValue === true ? \"\" : newValue;\n if (BUILD14.vdomXlink && xlink) {\n elm.setAttributeNS(XLINK_NS, memberName, newValue);\n } else {\n elm.setAttribute(memberName, newValue);\n }\n }\n }\n }\n};\nvar parseClassListRegex = /\\s/;\nvar parseClassList = (value) => !value ? [] : value.split(parseClassListRegex);\nvar CAPTURE_EVENT_SUFFIX = \"Capture\";\nvar CAPTURE_EVENT_REGEX = new RegExp(CAPTURE_EVENT_SUFFIX + \"$\");\n\n// src/runtime/vdom/update-element.ts\nvar updateElement = (oldVnode, newVnode, isSvgMode2) => {\n const elm = newVnode.$elm$.nodeType === 11 /* DocumentFragment */ && newVnode.$elm$.host ? newVnode.$elm$.host : newVnode.$elm$;\n const oldVnodeAttrs = oldVnode && oldVnode.$attrs$ || EMPTY_OBJ;\n const newVnodeAttrs = newVnode.$attrs$ || EMPTY_OBJ;\n if (BUILD15.updatable) {\n for (const memberName of sortedAttrNames(Object.keys(oldVnodeAttrs))) {\n if (!(memberName in newVnodeAttrs)) {\n setAccessor(elm, memberName, oldVnodeAttrs[memberName], void 0, isSvgMode2, newVnode.$flags$);\n }\n }\n }\n for (const memberName of sortedAttrNames(Object.keys(newVnodeAttrs))) {\n setAccessor(elm, memberName, oldVnodeAttrs[memberName], newVnodeAttrs[memberName], isSvgMode2, newVnode.$flags$);\n }\n};\nfunction sortedAttrNames(attrNames) {\n return attrNames.includes(\"ref\") ? (\n // we need to sort these to ensure that `'ref'` is the last attr\n [...attrNames.filter((attr) => attr !== \"ref\"), \"ref\"]\n ) : (\n // no need to sort, return the original array\n attrNames\n );\n}\n\n// src/runtime/vdom/vdom-render.ts\nvar scopeId;\nvar contentRef;\nvar hostTagName;\nvar useNativeShadowDom = false;\nvar checkSlotFallbackVisibility = false;\nvar checkSlotRelocate = false;\nvar isSvgMode = false;\nvar createElm = (oldParentVNode, newParentVNode, childIndex, parentElm) => {\n var _a;\n const newVNode2 = newParentVNode.$children$[childIndex];\n let i2 = 0;\n let elm;\n let childNode;\n let oldVNode;\n if (BUILD16.slotRelocation && !useNativeShadowDom) {\n checkSlotRelocate = true;\n if (newVNode2.$tag$ === \"slot\") {\n if (scopeId) {\n parentElm.classList.add(scopeId + \"-s\");\n }\n newVNode2.$flags$ |= newVNode2.$children$ ? (\n // slot element has fallback content\n // still create an element that \"mocks\" the slot element\n 2 /* isSlotFallback */\n ) : (\n // slot element does not have fallback content\n // create an html comment we'll use to always reference\n // where actual slot content should sit next to\n 1 /* isSlotReference */\n );\n }\n }\n if (BUILD16.isDev && newVNode2.$elm$) {\n consoleDevError(\n `The JSX ${newVNode2.$text$ !== null ? `\"${newVNode2.$text$}\" text` : `\"${newVNode2.$tag$}\" element`} node should not be shared within the same renderer. The renderer caches element lookups in order to improve performance. However, a side effect from this is that the exact same JSX node should not be reused. For more information please see https://stenciljs.com/docs/templating-jsx#avoid-shared-jsx-nodes`\n );\n }\n if (BUILD16.vdomText && newVNode2.$text$ !== null) {\n elm = newVNode2.$elm$ = doc.createTextNode(newVNode2.$text$);\n } else if (BUILD16.slotRelocation && newVNode2.$flags$ & 1 /* isSlotReference */) {\n elm = newVNode2.$elm$ = BUILD16.isDebug || BUILD16.hydrateServerSide ? slotReferenceDebugNode(newVNode2) : doc.createTextNode(\"\");\n } else {\n if (BUILD16.svg && !isSvgMode) {\n isSvgMode = newVNode2.$tag$ === \"svg\";\n }\n elm = newVNode2.$elm$ = BUILD16.svg ? doc.createElementNS(\n isSvgMode ? SVG_NS : HTML_NS,\n !useNativeShadowDom && BUILD16.slotRelocation && newVNode2.$flags$ & 2 /* isSlotFallback */ ? \"slot-fb\" : newVNode2.$tag$\n ) : doc.createElement(\n !useNativeShadowDom && BUILD16.slotRelocation && newVNode2.$flags$ & 2 /* isSlotFallback */ ? \"slot-fb\" : newVNode2.$tag$\n );\n if (BUILD16.svg && isSvgMode && newVNode2.$tag$ === \"foreignObject\") {\n isSvgMode = false;\n }\n if (BUILD16.vdomAttribute) {\n updateElement(null, newVNode2, isSvgMode);\n }\n const rootNode = elm.getRootNode();\n const isElementWithinShadowRoot = !rootNode.querySelector(\"body\");\n if (!isElementWithinShadowRoot && BUILD16.scoped && isDef(scopeId) && elm[\"s-si\"] !== scopeId) {\n elm.classList.add(elm[\"s-si\"] = scopeId);\n }\n if (BUILD16.scoped) {\n updateElementScopeIds(elm, parentElm);\n }\n if (newVNode2.$children$) {\n for (i2 = 0; i2 < newVNode2.$children$.length; ++i2) {\n childNode = createElm(oldParentVNode, newVNode2, i2, elm);\n if (childNode) {\n elm.appendChild(childNode);\n }\n }\n }\n if (BUILD16.svg) {\n if (newVNode2.$tag$ === \"svg\") {\n isSvgMode = false;\n } else if (elm.tagName === \"foreignObject\") {\n isSvgMode = true;\n }\n }\n }\n elm[\"s-hn\"] = hostTagName;\n if (BUILD16.slotRelocation) {\n if (newVNode2.$flags$ & (2 /* isSlotFallback */ | 1 /* isSlotReference */)) {\n elm[\"s-sr\"] = true;\n elm[\"s-cr\"] = contentRef;\n elm[\"s-sn\"] = newVNode2.$name$ || \"\";\n elm[\"s-rf\"] = (_a = newVNode2.$attrs$) == null ? void 0 : _a.ref;\n oldVNode = oldParentVNode && oldParentVNode.$children$ && oldParentVNode.$children$[childIndex];\n if (oldVNode && oldVNode.$tag$ === newVNode2.$tag$ && oldParentVNode.$elm$) {\n if (BUILD16.experimentalSlotFixes) {\n relocateToHostRoot(oldParentVNode.$elm$);\n } else {\n putBackInOriginalLocation(oldParentVNode.$elm$, false);\n }\n }\n }\n }\n return elm;\n};\nvar relocateToHostRoot = (parentElm) => {\n plt.$flags$ |= 1 /* isTmpDisconnected */;\n const host = parentElm.closest(hostTagName.toLowerCase());\n if (host != null) {\n const contentRefNode = Array.from(host.childNodes).find((ref) => ref[\"s-cr\"]);\n const childNodeArray = Array.from(parentElm.childNodes);\n for (const childNode of contentRefNode ? childNodeArray.reverse() : childNodeArray) {\n if (childNode[\"s-sh\"] != null) {\n insertBefore(host, childNode, contentRefNode != null ? contentRefNode : null);\n childNode[\"s-sh\"] = void 0;\n checkSlotRelocate = true;\n }\n }\n }\n plt.$flags$ &= ~1 /* isTmpDisconnected */;\n};\nvar putBackInOriginalLocation = (parentElm, recursive) => {\n plt.$flags$ |= 1 /* isTmpDisconnected */;\n const oldSlotChildNodes = Array.from(parentElm.childNodes);\n if (parentElm[\"s-sr\"] && BUILD16.experimentalSlotFixes) {\n let node = parentElm;\n while (node = node.nextSibling) {\n if (node && node[\"s-sn\"] === parentElm[\"s-sn\"] && node[\"s-sh\"] === hostTagName) {\n oldSlotChildNodes.push(node);\n }\n }\n }\n for (let i2 = oldSlotChildNodes.length - 1; i2 >= 0; i2--) {\n const childNode = oldSlotChildNodes[i2];\n if (childNode[\"s-hn\"] !== hostTagName && childNode[\"s-ol\"]) {\n insertBefore(parentReferenceNode(childNode), childNode, referenceNode(childNode));\n childNode[\"s-ol\"].remove();\n childNode[\"s-ol\"] = void 0;\n childNode[\"s-sh\"] = void 0;\n checkSlotRelocate = true;\n }\n if (recursive) {\n putBackInOriginalLocation(childNode, recursive);\n }\n }\n plt.$flags$ &= ~1 /* isTmpDisconnected */;\n};\nvar addVnodes = (parentElm, before, parentVNode, vnodes, startIdx, endIdx) => {\n let containerElm = BUILD16.slotRelocation && parentElm[\"s-cr\"] && parentElm[\"s-cr\"].parentNode || parentElm;\n let childNode;\n if (BUILD16.shadowDom && containerElm.shadowRoot && containerElm.tagName === hostTagName) {\n containerElm = containerElm.shadowRoot;\n }\n for (; startIdx <= endIdx; ++startIdx) {\n if (vnodes[startIdx]) {\n childNode = createElm(null, parentVNode, startIdx, parentElm);\n if (childNode) {\n vnodes[startIdx].$elm$ = childNode;\n insertBefore(containerElm, childNode, BUILD16.slotRelocation ? referenceNode(before) : before);\n }\n }\n }\n};\nvar removeVnodes = (vnodes, startIdx, endIdx) => {\n for (let index = startIdx; index <= endIdx; ++index) {\n const vnode = vnodes[index];\n if (vnode) {\n const elm = vnode.$elm$;\n nullifyVNodeRefs(vnode);\n if (elm) {\n if (BUILD16.slotRelocation) {\n checkSlotFallbackVisibility = true;\n if (elm[\"s-ol\"]) {\n elm[\"s-ol\"].remove();\n } else {\n putBackInOriginalLocation(elm, true);\n }\n }\n elm.remove();\n }\n }\n }\n};\nvar updateChildren = (parentElm, oldCh, newVNode2, newCh, isInitialRender = false) => {\n let oldStartIdx = 0;\n let newStartIdx = 0;\n let idxInOld = 0;\n let i2 = 0;\n let oldEndIdx = oldCh.length - 1;\n let oldStartVnode = oldCh[0];\n let oldEndVnode = oldCh[oldEndIdx];\n let newEndIdx = newCh.length - 1;\n let newStartVnode = newCh[0];\n let newEndVnode = newCh[newEndIdx];\n let node;\n let elmToMove;\n while (oldStartIdx <= oldEndIdx && newStartIdx <= newEndIdx) {\n if (oldStartVnode == null) {\n oldStartVnode = oldCh[++oldStartIdx];\n } else if (oldEndVnode == null) {\n oldEndVnode = oldCh[--oldEndIdx];\n } else if (newStartVnode == null) {\n newStartVnode = newCh[++newStartIdx];\n } else if (newEndVnode == null) {\n newEndVnode = newCh[--newEndIdx];\n } else if (isSameVnode(oldStartVnode, newStartVnode, isInitialRender)) {\n patch(oldStartVnode, newStartVnode, isInitialRender);\n oldStartVnode = oldCh[++oldStartIdx];\n newStartVnode = newCh[++newStartIdx];\n } else if (isSameVnode(oldEndVnode, newEndVnode, isInitialRender)) {\n patch(oldEndVnode, newEndVnode, isInitialRender);\n oldEndVnode = oldCh[--oldEndIdx];\n newEndVnode = newCh[--newEndIdx];\n } else if (isSameVnode(oldStartVnode, newEndVnode, isInitialRender)) {\n if (BUILD16.slotRelocation && (oldStartVnode.$tag$ === \"slot\" || newEndVnode.$tag$ === \"slot\")) {\n putBackInOriginalLocation(oldStartVnode.$elm$.parentNode, false);\n }\n patch(oldStartVnode, newEndVnode, isInitialRender);\n insertBefore(parentElm, oldStartVnode.$elm$, oldEndVnode.$elm$.nextSibling);\n oldStartVnode = oldCh[++oldStartIdx];\n newEndVnode = newCh[--newEndIdx];\n } else if (isSameVnode(oldEndVnode, newStartVnode, isInitialRender)) {\n if (BUILD16.slotRelocation && (oldStartVnode.$tag$ === \"slot\" || newEndVnode.$tag$ === \"slot\")) {\n putBackInOriginalLocation(oldEndVnode.$elm$.parentNode, false);\n }\n patch(oldEndVnode, newStartVnode, isInitialRender);\n insertBefore(parentElm, oldEndVnode.$elm$, oldStartVnode.$elm$);\n oldEndVnode = oldCh[--oldEndIdx];\n newStartVnode = newCh[++newStartIdx];\n } else {\n idxInOld = -1;\n if (BUILD16.vdomKey) {\n for (i2 = oldStartIdx; i2 <= oldEndIdx; ++i2) {\n if (oldCh[i2] && oldCh[i2].$key$ !== null && oldCh[i2].$key$ === newStartVnode.$key$) {\n idxInOld = i2;\n break;\n }\n }\n }\n if (BUILD16.vdomKey && idxInOld >= 0) {\n elmToMove = oldCh[idxInOld];\n if (elmToMove.$tag$ !== newStartVnode.$tag$) {\n node = createElm(oldCh && oldCh[newStartIdx], newVNode2, idxInOld, parentElm);\n } else {\n patch(elmToMove, newStartVnode, isInitialRender);\n oldCh[idxInOld] = void 0;\n node = elmToMove.$elm$;\n }\n newStartVnode = newCh[++newStartIdx];\n } else {\n node = createElm(oldCh && oldCh[newStartIdx], newVNode2, newStartIdx, parentElm);\n newStartVnode = newCh[++newStartIdx];\n }\n if (node) {\n if (BUILD16.slotRelocation) {\n insertBefore(parentReferenceNode(oldStartVnode.$elm$), node, referenceNode(oldStartVnode.$elm$));\n } else {\n insertBefore(oldStartVnode.$elm$.parentNode, node, oldStartVnode.$elm$);\n }\n }\n }\n }\n if (oldStartIdx > oldEndIdx) {\n addVnodes(\n parentElm,\n newCh[newEndIdx + 1] == null ? null : newCh[newEndIdx + 1].$elm$,\n newVNode2,\n newCh,\n newStartIdx,\n newEndIdx\n );\n } else if (BUILD16.updatable && newStartIdx > newEndIdx) {\n removeVnodes(oldCh, oldStartIdx, oldEndIdx);\n }\n};\nvar isSameVnode = (leftVNode, rightVNode, isInitialRender = false) => {\n if (leftVNode.$tag$ === rightVNode.$tag$) {\n if (BUILD16.slotRelocation && leftVNode.$tag$ === \"slot\") {\n if (\n // The component gets hydrated and no VDOM has been initialized.\n // Here the comparison can't happen as $name$ property is not set for `leftNode`.\n \"$nodeId$\" in leftVNode && isInitialRender && // `leftNode` is not from type HTMLComment which would cause many\n // hydration comments to be removed\n leftVNode.$elm$.nodeType !== 8\n ) {\n return false;\n }\n return leftVNode.$name$ === rightVNode.$name$;\n }\n if (BUILD16.vdomKey && !isInitialRender) {\n return leftVNode.$key$ === rightVNode.$key$;\n }\n return true;\n }\n return false;\n};\nvar referenceNode = (node) => {\n return node && node[\"s-ol\"] || node;\n};\nvar parentReferenceNode = (node) => (node[\"s-ol\"] ? node[\"s-ol\"] : node).parentNode;\nvar patch = (oldVNode, newVNode2, isInitialRender = false) => {\n const elm = newVNode2.$elm$ = oldVNode.$elm$;\n const oldChildren = oldVNode.$children$;\n const newChildren = newVNode2.$children$;\n const tag = newVNode2.$tag$;\n const text = newVNode2.$text$;\n let defaultHolder;\n if (!BUILD16.vdomText || text === null) {\n if (BUILD16.svg) {\n isSvgMode = tag === \"svg\" ? true : tag === \"foreignObject\" ? false : isSvgMode;\n }\n if (BUILD16.vdomAttribute || BUILD16.reflect) {\n if (BUILD16.slot && tag === \"slot\" && !useNativeShadowDom) {\n if (BUILD16.experimentalSlotFixes && oldVNode.$name$ !== newVNode2.$name$) {\n newVNode2.$elm$[\"s-sn\"] = newVNode2.$name$ || \"\";\n relocateToHostRoot(newVNode2.$elm$.parentElement);\n }\n } else {\n updateElement(oldVNode, newVNode2, isSvgMode);\n }\n }\n if (BUILD16.updatable && oldChildren !== null && newChildren !== null) {\n updateChildren(elm, oldChildren, newVNode2, newChildren, isInitialRender);\n } else if (newChildren !== null) {\n if (BUILD16.updatable && BUILD16.vdomText && oldVNode.$text$ !== null) {\n elm.textContent = \"\";\n }\n addVnodes(elm, null, newVNode2, newChildren, 0, newChildren.length - 1);\n } else if (\n // don't do this on initial render as it can cause non-hydrated content to be removed\n !isInitialRender && BUILD16.updatable && oldChildren !== null\n ) {\n removeVnodes(oldChildren, 0, oldChildren.length - 1);\n }\n if (BUILD16.svg && isSvgMode && tag === \"svg\") {\n isSvgMode = false;\n }\n } else if (BUILD16.vdomText && BUILD16.slotRelocation && (defaultHolder = elm[\"s-cr\"])) {\n defaultHolder.parentNode.textContent = text;\n } else if (BUILD16.vdomText && oldVNode.$text$ !== text) {\n elm.data = text;\n }\n};\nvar updateFallbackSlotVisibility = (elm) => {\n const childNodes = elm.childNodes;\n for (const childNode of childNodes) {\n if (childNode.nodeType === 1 /* ElementNode */) {\n if (childNode[\"s-sr\"]) {\n const slotName = childNode[\"s-sn\"];\n childNode.hidden = false;\n for (const siblingNode of childNodes) {\n if (siblingNode !== childNode) {\n if (siblingNode[\"s-hn\"] !== childNode[\"s-hn\"] || slotName !== \"\") {\n if (siblingNode.nodeType === 1 /* ElementNode */ && (slotName === siblingNode.getAttribute(\"slot\") || slotName === siblingNode[\"s-sn\"]) || siblingNode.nodeType === 3 /* TextNode */ && slotName === siblingNode[\"s-sn\"]) {\n childNode.hidden = true;\n break;\n }\n } else {\n if (siblingNode.nodeType === 1 /* ElementNode */ || siblingNode.nodeType === 3 /* TextNode */ && siblingNode.textContent.trim() !== \"\") {\n childNode.hidden = true;\n break;\n }\n }\n }\n }\n }\n updateFallbackSlotVisibility(childNode);\n }\n }\n};\nvar relocateNodes = [];\nvar markSlotContentForRelocation = (elm) => {\n let node;\n let hostContentNodes;\n let j;\n for (const childNode of elm.childNodes) {\n if (childNode[\"s-sr\"] && (node = childNode[\"s-cr\"]) && node.parentNode) {\n hostContentNodes = node.parentNode.childNodes;\n const slotName = childNode[\"s-sn\"];\n for (j = hostContentNodes.length - 1; j >= 0; j--) {\n node = hostContentNodes[j];\n if (!node[\"s-cn\"] && !node[\"s-nr\"] && node[\"s-hn\"] !== childNode[\"s-hn\"] && (!BUILD16.experimentalSlotFixes || !node[\"s-sh\"] || node[\"s-sh\"] !== childNode[\"s-hn\"])) {\n if (isNodeLocatedInSlot(node, slotName)) {\n let relocateNodeData = relocateNodes.find((r) => r.$nodeToRelocate$ === node);\n checkSlotFallbackVisibility = true;\n node[\"s-sn\"] = node[\"s-sn\"] || slotName;\n if (relocateNodeData) {\n relocateNodeData.$nodeToRelocate$[\"s-sh\"] = childNode[\"s-hn\"];\n relocateNodeData.$slotRefNode$ = childNode;\n } else {\n node[\"s-sh\"] = childNode[\"s-hn\"];\n relocateNodes.push({\n $slotRefNode$: childNode,\n $nodeToRelocate$: node\n });\n }\n if (node[\"s-sr\"]) {\n relocateNodes.map((relocateNode) => {\n if (isNodeLocatedInSlot(relocateNode.$nodeToRelocate$, node[\"s-sn\"])) {\n relocateNodeData = relocateNodes.find((r) => r.$nodeToRelocate$ === node);\n if (relocateNodeData && !relocateNode.$slotRefNode$) {\n relocateNode.$slotRefNode$ = relocateNodeData.$slotRefNode$;\n }\n }\n });\n }\n } else if (!relocateNodes.some((r) => r.$nodeToRelocate$ === node)) {\n relocateNodes.push({\n $nodeToRelocate$: node\n });\n }\n }\n }\n }\n if (childNode.nodeType === 1 /* ElementNode */) {\n markSlotContentForRelocation(childNode);\n }\n }\n};\nvar isNodeLocatedInSlot = (nodeToRelocate, slotName) => {\n if (nodeToRelocate.nodeType === 1 /* ElementNode */) {\n if (nodeToRelocate.getAttribute(\"slot\") === null && slotName === \"\") {\n return true;\n }\n if (nodeToRelocate.getAttribute(\"slot\") === slotName) {\n return true;\n }\n return false;\n }\n if (nodeToRelocate[\"s-sn\"] === slotName) {\n return true;\n }\n return slotName === \"\";\n};\nvar nullifyVNodeRefs = (vNode) => {\n if (BUILD16.vdomRef) {\n vNode.$attrs$ && vNode.$attrs$.ref && vNode.$attrs$.ref(null);\n vNode.$children$ && vNode.$children$.map(nullifyVNodeRefs);\n }\n};\nvar insertBefore = (parent, newNode, reference) => {\n const inserted = parent == null ? void 0 : parent.insertBefore(newNode, reference);\n if (BUILD16.scoped) {\n updateElementScopeIds(newNode, parent);\n }\n return inserted;\n};\nvar findScopeIds = (element) => {\n const scopeIds = [];\n if (element) {\n scopeIds.push(\n ...element[\"s-scs\"] || [],\n element[\"s-si\"],\n element[\"s-sc\"],\n ...findScopeIds(element.parentElement)\n );\n }\n return scopeIds;\n};\nvar updateElementScopeIds = (element, parent, iterateChildNodes = false) => {\n var _a;\n if (element && parent && element.nodeType === 1 /* ElementNode */) {\n const scopeIds = new Set(findScopeIds(parent).filter(Boolean));\n if (scopeIds.size) {\n (_a = element.classList) == null ? void 0 : _a.add(...element[\"s-scs\"] = [...scopeIds]);\n if (element[\"s-ol\"] || iterateChildNodes) {\n for (const childNode of Array.from(element.childNodes)) {\n updateElementScopeIds(childNode, element, true);\n }\n }\n }\n }\n};\nvar renderVdom = (hostRef, renderFnResults, isInitialLoad = false) => {\n var _a, _b, _c, _d, _e;\n const hostElm = hostRef.$hostElement$;\n const cmpMeta = hostRef.$cmpMeta$;\n const oldVNode = hostRef.$vnode$ || newVNode(null, null);\n const rootVnode = isHost(renderFnResults) ? renderFnResults : h(null, null, renderFnResults);\n hostTagName = hostElm.tagName;\n if (BUILD16.isDev && Array.isArray(renderFnResults) && renderFnResults.some(isHost)) {\n throw new Error(`The must be the single root component.\nLooks like the render() function of \"${hostTagName.toLowerCase()}\" is returning an array that contains the .\n\nThe render() function should look like this instead:\n\nrender() {\n // Do not return an array\n return (\n {content}\n );\n}\n `);\n }\n if (BUILD16.reflect && cmpMeta.$attrsToReflect$) {\n rootVnode.$attrs$ = rootVnode.$attrs$ || {};\n cmpMeta.$attrsToReflect$.map(\n ([propName, attribute]) => rootVnode.$attrs$[attribute] = hostElm[propName]\n );\n }\n if (isInitialLoad && rootVnode.$attrs$) {\n for (const key of Object.keys(rootVnode.$attrs$)) {\n if (hostElm.hasAttribute(key) && ![\"key\", \"ref\", \"style\", \"class\"].includes(key)) {\n rootVnode.$attrs$[key] = hostElm[key];\n }\n }\n }\n rootVnode.$tag$ = null;\n rootVnode.$flags$ |= 4 /* isHost */;\n hostRef.$vnode$ = rootVnode;\n rootVnode.$elm$ = oldVNode.$elm$ = BUILD16.shadowDom ? hostElm.shadowRoot || hostElm : hostElm;\n if (BUILD16.scoped || BUILD16.shadowDom) {\n scopeId = hostElm[\"s-sc\"];\n }\n useNativeShadowDom = supportsShadow && (cmpMeta.$flags$ & 1 /* shadowDomEncapsulation */) !== 0;\n if (BUILD16.slotRelocation) {\n contentRef = hostElm[\"s-cr\"];\n checkSlotFallbackVisibility = false;\n }\n patch(oldVNode, rootVnode, isInitialLoad);\n if (BUILD16.slotRelocation) {\n plt.$flags$ |= 1 /* isTmpDisconnected */;\n if (checkSlotRelocate) {\n markSlotContentForRelocation(rootVnode.$elm$);\n for (const relocateData of relocateNodes) {\n const nodeToRelocate = relocateData.$nodeToRelocate$;\n if (!nodeToRelocate[\"s-ol\"]) {\n const orgLocationNode = BUILD16.isDebug || BUILD16.hydrateServerSide ? originalLocationDebugNode(nodeToRelocate) : doc.createTextNode(\"\");\n orgLocationNode[\"s-nr\"] = nodeToRelocate;\n insertBefore(nodeToRelocate.parentNode, nodeToRelocate[\"s-ol\"] = orgLocationNode, nodeToRelocate);\n }\n }\n for (const relocateData of relocateNodes) {\n const nodeToRelocate = relocateData.$nodeToRelocate$;\n const slotRefNode = relocateData.$slotRefNode$;\n if (slotRefNode) {\n const parentNodeRef = slotRefNode.parentNode;\n let insertBeforeNode = slotRefNode.nextSibling;\n if (!BUILD16.experimentalSlotFixes || insertBeforeNode && insertBeforeNode.nodeType === 1 /* ElementNode */) {\n let orgLocationNode = (_a = nodeToRelocate[\"s-ol\"]) == null ? void 0 : _a.previousSibling;\n while (orgLocationNode) {\n let refNode = (_b = orgLocationNode[\"s-nr\"]) != null ? _b : null;\n if (refNode && refNode[\"s-sn\"] === nodeToRelocate[\"s-sn\"] && parentNodeRef === refNode.parentNode) {\n refNode = refNode.nextSibling;\n while (refNode === nodeToRelocate || (refNode == null ? void 0 : refNode[\"s-sr\"])) {\n refNode = refNode == null ? void 0 : refNode.nextSibling;\n }\n if (!refNode || !refNode[\"s-nr\"]) {\n insertBeforeNode = refNode;\n break;\n }\n }\n orgLocationNode = orgLocationNode.previousSibling;\n }\n }\n if (!insertBeforeNode && parentNodeRef !== nodeToRelocate.parentNode || nodeToRelocate.nextSibling !== insertBeforeNode) {\n if (nodeToRelocate !== insertBeforeNode) {\n if (!BUILD16.experimentalSlotFixes && !nodeToRelocate[\"s-hn\"] && nodeToRelocate[\"s-ol\"]) {\n nodeToRelocate[\"s-hn\"] = nodeToRelocate[\"s-ol\"].parentNode.nodeName;\n }\n insertBefore(parentNodeRef, nodeToRelocate, insertBeforeNode);\n if (nodeToRelocate.nodeType === 1 /* ElementNode */) {\n nodeToRelocate.hidden = (_c = nodeToRelocate[\"s-ih\"]) != null ? _c : false;\n }\n }\n }\n nodeToRelocate && typeof slotRefNode[\"s-rf\"] === \"function\" && slotRefNode[\"s-rf\"](nodeToRelocate);\n } else {\n if (nodeToRelocate.nodeType === 1 /* ElementNode */) {\n if (isInitialLoad) {\n nodeToRelocate[\"s-ih\"] = (_d = nodeToRelocate.hidden) != null ? _d : false;\n }\n nodeToRelocate.hidden = true;\n }\n }\n }\n }\n if (checkSlotFallbackVisibility) {\n updateFallbackSlotVisibility(rootVnode.$elm$);\n }\n plt.$flags$ &= ~1 /* isTmpDisconnected */;\n relocateNodes.length = 0;\n }\n if (BUILD16.experimentalScopedSlotChanges && cmpMeta.$flags$ & 2 /* scopedCssEncapsulation */) {\n for (const childNode of rootVnode.$elm$.childNodes) {\n if (childNode[\"s-hn\"] !== hostTagName && !childNode[\"s-sh\"]) {\n if (isInitialLoad && childNode[\"s-ih\"] == null) {\n childNode[\"s-ih\"] = (_e = childNode.hidden) != null ? _e : false;\n }\n childNode.hidden = true;\n }\n }\n }\n contentRef = void 0;\n};\nvar slotReferenceDebugNode = (slotVNode) => doc.createComment(\n ` (host=${hostTagName.toLowerCase()})`\n);\nvar originalLocationDebugNode = (nodeToRelocate) => doc.createComment(\n `org-location for ` + (nodeToRelocate.localName ? `<${nodeToRelocate.localName}> (host=${nodeToRelocate[\"s-hn\"]})` : `[${nodeToRelocate.textContent}]`)\n);\n\n// src/runtime/update-component.ts\nvar attachToAncestor = (hostRef, ancestorComponent) => {\n if (BUILD17.asyncLoading && ancestorComponent && !hostRef.$onRenderResolve$ && ancestorComponent[\"s-p\"]) {\n ancestorComponent[\"s-p\"].push(new Promise((r) => hostRef.$onRenderResolve$ = r));\n }\n};\nvar scheduleUpdate = (hostRef, isInitialLoad) => {\n if (BUILD17.taskQueue && BUILD17.updatable) {\n hostRef.$flags$ |= 16 /* isQueuedForUpdate */;\n }\n if (BUILD17.asyncLoading && hostRef.$flags$ & 4 /* isWaitingForChildren */) {\n hostRef.$flags$ |= 512 /* needsRerender */;\n return;\n }\n attachToAncestor(hostRef, hostRef.$ancestorComponent$);\n const dispatch = () => dispatchHooks(hostRef, isInitialLoad);\n return BUILD17.taskQueue ? writeTask(dispatch) : dispatch();\n};\nvar dispatchHooks = (hostRef, isInitialLoad) => {\n const elm = hostRef.$hostElement$;\n const endSchedule = createTime(\"scheduleUpdate\", hostRef.$cmpMeta$.$tagName$);\n const instance = BUILD17.lazyLoad ? hostRef.$lazyInstance$ : elm;\n if (!instance) {\n throw new Error(\n `Can't render component <${elm.tagName.toLowerCase()} /> with invalid Stencil runtime! Make sure this imported component is compiled with a \\`externalRuntime: true\\` flag. For more information, please refer to https://stenciljs.com/docs/custom-elements#externalruntime`\n );\n }\n let maybePromise;\n if (isInitialLoad) {\n if (BUILD17.lazyLoad && BUILD17.hostListener) {\n hostRef.$flags$ |= 256 /* isListenReady */;\n if (hostRef.$queuedListeners$) {\n hostRef.$queuedListeners$.map(([methodName, event]) => safeCall(instance, methodName, event));\n hostRef.$queuedListeners$ = void 0;\n }\n }\n emitLifecycleEvent(elm, \"componentWillLoad\");\n if (BUILD17.cmpWillLoad) {\n maybePromise = safeCall(instance, \"componentWillLoad\");\n }\n } else {\n emitLifecycleEvent(elm, \"componentWillUpdate\");\n if (BUILD17.cmpWillUpdate) {\n maybePromise = safeCall(instance, \"componentWillUpdate\");\n }\n }\n emitLifecycleEvent(elm, \"componentWillRender\");\n if (BUILD17.cmpWillRender) {\n maybePromise = enqueue(maybePromise, () => safeCall(instance, \"componentWillRender\"));\n }\n endSchedule();\n return enqueue(maybePromise, () => updateComponent(hostRef, instance, isInitialLoad));\n};\nvar enqueue = (maybePromise, fn) => isPromisey(maybePromise) ? maybePromise.then(fn).catch((err2) => {\n console.error(err2);\n fn();\n}) : fn();\nvar isPromisey = (maybePromise) => maybePromise instanceof Promise || maybePromise && maybePromise.then && typeof maybePromise.then === \"function\";\nvar updateComponent = async (hostRef, instance, isInitialLoad) => {\n var _a;\n const elm = hostRef.$hostElement$;\n const endUpdate = createTime(\"update\", hostRef.$cmpMeta$.$tagName$);\n const rc = elm[\"s-rc\"];\n if (BUILD17.style && isInitialLoad) {\n attachStyles(hostRef);\n }\n const endRender = createTime(\"render\", hostRef.$cmpMeta$.$tagName$);\n if (BUILD17.isDev) {\n hostRef.$flags$ |= 1024 /* devOnRender */;\n }\n if (BUILD17.hydrateServerSide) {\n await callRender(hostRef, instance, elm, isInitialLoad);\n } else {\n callRender(hostRef, instance, elm, isInitialLoad);\n }\n if (BUILD17.isDev) {\n hostRef.$renderCount$ = hostRef.$renderCount$ === void 0 ? 1 : hostRef.$renderCount$ + 1;\n hostRef.$flags$ &= ~1024 /* devOnRender */;\n }\n if (BUILD17.hydrateServerSide) {\n try {\n serverSideConnected(elm);\n if (isInitialLoad) {\n if (hostRef.$cmpMeta$.$flags$ & 1 /* shadowDomEncapsulation */) {\n elm[\"s-en\"] = \"\";\n } else if (hostRef.$cmpMeta$.$flags$ & 2 /* scopedCssEncapsulation */) {\n elm[\"s-en\"] = \"c\";\n }\n }\n } catch (e) {\n consoleError(e, elm);\n }\n }\n if (BUILD17.asyncLoading && rc) {\n rc.map((cb) => cb());\n elm[\"s-rc\"] = void 0;\n }\n endRender();\n endUpdate();\n if (BUILD17.asyncLoading) {\n const childrenPromises = (_a = elm[\"s-p\"]) != null ? _a : [];\n const postUpdate = () => postUpdateComponent(hostRef);\n if (childrenPromises.length === 0) {\n postUpdate();\n } else {\n Promise.all(childrenPromises).then(postUpdate);\n hostRef.$flags$ |= 4 /* isWaitingForChildren */;\n childrenPromises.length = 0;\n }\n } else {\n postUpdateComponent(hostRef);\n }\n};\nvar renderingRef = null;\nvar callRender = (hostRef, instance, elm, isInitialLoad) => {\n const allRenderFn = BUILD17.allRenderFn ? true : false;\n const lazyLoad = BUILD17.lazyLoad ? true : false;\n const taskQueue = BUILD17.taskQueue ? true : false;\n const updatable = BUILD17.updatable ? true : false;\n try {\n renderingRef = instance;\n instance = allRenderFn ? instance.render() : instance.render && instance.render();\n if (updatable && taskQueue) {\n hostRef.$flags$ &= ~16 /* isQueuedForUpdate */;\n }\n if (updatable || lazyLoad) {\n hostRef.$flags$ |= 2 /* hasRendered */;\n }\n if (BUILD17.hasRenderFn || BUILD17.reflect) {\n if (BUILD17.vdomRender || BUILD17.reflect) {\n if (BUILD17.hydrateServerSide) {\n return Promise.resolve(instance).then((value) => renderVdom(hostRef, value, isInitialLoad));\n } else {\n renderVdom(hostRef, instance, isInitialLoad);\n }\n } else {\n const shadowRoot = elm.shadowRoot;\n if (hostRef.$cmpMeta$.$flags$ & 1 /* shadowDomEncapsulation */) {\n shadowRoot.textContent = instance;\n } else {\n elm.textContent = instance;\n }\n }\n }\n } catch (e) {\n consoleError(e, hostRef.$hostElement$);\n }\n renderingRef = null;\n return null;\n};\nvar getRenderingRef = () => renderingRef;\nvar postUpdateComponent = (hostRef) => {\n const tagName = hostRef.$cmpMeta$.$tagName$;\n const elm = hostRef.$hostElement$;\n const endPostUpdate = createTime(\"postUpdate\", tagName);\n const instance = BUILD17.lazyLoad ? hostRef.$lazyInstance$ : elm;\n const ancestorComponent = hostRef.$ancestorComponent$;\n if (BUILD17.cmpDidRender) {\n if (BUILD17.isDev) {\n hostRef.$flags$ |= 1024 /* devOnRender */;\n }\n safeCall(instance, \"componentDidRender\");\n if (BUILD17.isDev) {\n hostRef.$flags$ &= ~1024 /* devOnRender */;\n }\n }\n emitLifecycleEvent(elm, \"componentDidRender\");\n if (!(hostRef.$flags$ & 64 /* hasLoadedComponent */)) {\n hostRef.$flags$ |= 64 /* hasLoadedComponent */;\n if (BUILD17.asyncLoading && BUILD17.cssAnnotations) {\n addHydratedFlag(elm);\n }\n if (BUILD17.cmpDidLoad) {\n if (BUILD17.isDev) {\n hostRef.$flags$ |= 2048 /* devOnDidLoad */;\n }\n safeCall(instance, \"componentDidLoad\");\n if (BUILD17.isDev) {\n hostRef.$flags$ &= ~2048 /* devOnDidLoad */;\n }\n }\n emitLifecycleEvent(elm, \"componentDidLoad\");\n endPostUpdate();\n if (BUILD17.asyncLoading) {\n hostRef.$onReadyResolve$(elm);\n if (!ancestorComponent) {\n appDidLoad(tagName);\n }\n }\n } else {\n if (BUILD17.cmpDidUpdate) {\n if (BUILD17.isDev) {\n hostRef.$flags$ |= 1024 /* devOnRender */;\n }\n safeCall(instance, \"componentDidUpdate\");\n if (BUILD17.isDev) {\n hostRef.$flags$ &= ~1024 /* devOnRender */;\n }\n }\n emitLifecycleEvent(elm, \"componentDidUpdate\");\n endPostUpdate();\n }\n if (BUILD17.method && BUILD17.lazyLoad) {\n hostRef.$onInstanceResolve$(elm);\n }\n if (BUILD17.asyncLoading) {\n if (hostRef.$onRenderResolve$) {\n hostRef.$onRenderResolve$();\n hostRef.$onRenderResolve$ = void 0;\n }\n if (hostRef.$flags$ & 512 /* needsRerender */) {\n nextTick(() => scheduleUpdate(hostRef, false));\n }\n hostRef.$flags$ &= ~(4 /* isWaitingForChildren */ | 512 /* needsRerender */);\n }\n};\nvar forceUpdate = (ref) => {\n if (BUILD17.updatable && (Build.isBrowser || Build.isTesting)) {\n const hostRef = getHostRef(ref);\n const isConnected = hostRef.$hostElement$.isConnected;\n if (isConnected && (hostRef.$flags$ & (2 /* hasRendered */ | 16 /* isQueuedForUpdate */)) === 2 /* hasRendered */) {\n scheduleUpdate(hostRef, false);\n }\n return isConnected;\n }\n return false;\n};\nvar appDidLoad = (who) => {\n if (BUILD17.cssAnnotations) {\n addHydratedFlag(doc.documentElement);\n }\n if (BUILD17.asyncQueue) {\n plt.$flags$ |= 2 /* appLoaded */;\n }\n nextTick(() => emitEvent(win, \"appload\", { detail: { namespace: NAMESPACE } }));\n if (BUILD17.profile && performance.measure) {\n performance.measure(`[Stencil] ${NAMESPACE} initial load (by ${who})`, \"st:app:start\");\n }\n};\nvar safeCall = (instance, method, arg) => {\n if (instance && instance[method]) {\n try {\n return instance[method](arg);\n } catch (e) {\n consoleError(e);\n }\n }\n return void 0;\n};\nvar emitLifecycleEvent = (elm, lifecycleName) => {\n if (BUILD17.lifecycleDOMEvents) {\n emitEvent(elm, \"stencil_\" + lifecycleName, {\n bubbles: true,\n composed: true,\n detail: {\n namespace: NAMESPACE\n }\n });\n }\n};\nvar addHydratedFlag = (elm) => {\n var _a, _b;\n return BUILD17.hydratedClass ? elm.classList.add((_a = BUILD17.hydratedSelectorName) != null ? _a : \"hydrated\") : BUILD17.hydratedAttribute ? elm.setAttribute((_b = BUILD17.hydratedSelectorName) != null ? _b : \"hydrated\", \"\") : void 0;\n};\nvar serverSideConnected = (elm) => {\n const children = elm.children;\n if (children != null) {\n for (let i2 = 0, ii = children.length; i2 < ii; i2++) {\n const childElm = children[i2];\n if (typeof childElm.connectedCallback === \"function\") {\n childElm.connectedCallback();\n }\n serverSideConnected(childElm);\n }\n }\n};\n\n// src/runtime/set-value.ts\nvar getValue = (ref, propName) => getHostRef(ref).$instanceValues$.get(propName);\nvar setValue = (ref, propName, newVal, cmpMeta) => {\n const hostRef = getHostRef(ref);\n if (BUILD18.lazyLoad && !hostRef) {\n throw new Error(\n `Couldn't find host element for \"${cmpMeta.$tagName$}\" as it is unknown to this Stencil runtime. This usually happens when integrating a 3rd party Stencil component with another Stencil component or application. Please reach out to the maintainers of the 3rd party Stencil component or report this on the Stencil Discord server (https://chat.stenciljs.com) or comment on this similar [GitHub issue](https://github.com/ionic-team/stencil/issues/5457).`\n );\n }\n const elm = BUILD18.lazyLoad ? hostRef.$hostElement$ : ref;\n const oldVal = hostRef.$instanceValues$.get(propName);\n const flags = hostRef.$flags$;\n const instance = BUILD18.lazyLoad ? hostRef.$lazyInstance$ : elm;\n newVal = parsePropertyValue(newVal, cmpMeta.$members$[propName][0]);\n const areBothNaN = Number.isNaN(oldVal) && Number.isNaN(newVal);\n const didValueChange = newVal !== oldVal && !areBothNaN;\n if ((!BUILD18.lazyLoad || !(flags & 8 /* isConstructingInstance */) || oldVal === void 0) && didValueChange) {\n hostRef.$instanceValues$.set(propName, newVal);\n if (BUILD18.isDev) {\n if (hostRef.$flags$ & 1024 /* devOnRender */) {\n consoleDevWarn(\n `The state/prop \"${propName}\" changed during rendering. This can potentially lead to infinite-loops and other bugs.`,\n \"\\nElement\",\n elm,\n \"\\nNew value\",\n newVal,\n \"\\nOld value\",\n oldVal\n );\n } else if (hostRef.$flags$ & 2048 /* devOnDidLoad */) {\n consoleDevWarn(\n `The state/prop \"${propName}\" changed during \"componentDidLoad()\", this triggers extra re-renders, try to setup on \"componentWillLoad()\"`,\n \"\\nElement\",\n elm,\n \"\\nNew value\",\n newVal,\n \"\\nOld value\",\n oldVal\n );\n }\n }\n if (!BUILD18.lazyLoad || instance) {\n if (BUILD18.watchCallback && cmpMeta.$watchers$ && flags & 128 /* isWatchReady */) {\n const watchMethods = cmpMeta.$watchers$[propName];\n if (watchMethods) {\n watchMethods.map((watchMethodName) => {\n try {\n instance[watchMethodName](newVal, oldVal, propName);\n } catch (e) {\n consoleError(e, elm);\n }\n });\n }\n }\n if (BUILD18.updatable && (flags & (2 /* hasRendered */ | 16 /* isQueuedForUpdate */)) === 2 /* hasRendered */) {\n if (BUILD18.cmpShouldUpdate && instance.componentShouldUpdate) {\n if (instance.componentShouldUpdate(newVal, oldVal, propName) === false) {\n return;\n }\n }\n scheduleUpdate(hostRef, false);\n }\n }\n }\n};\n\n// src/runtime/proxy-component.ts\nvar proxyComponent = (Cstr, cmpMeta, flags) => {\n var _a, _b;\n const prototype = Cstr.prototype;\n if (BUILD19.formAssociated && cmpMeta.$flags$ & 64 /* formAssociated */ && flags & 1 /* isElementConstructor */) {\n FORM_ASSOCIATED_CUSTOM_ELEMENT_CALLBACKS.forEach(\n (cbName) => Object.defineProperty(prototype, cbName, {\n value(...args) {\n const hostRef = getHostRef(this);\n const elm = BUILD19.lazyLoad ? hostRef.$hostElement$ : this;\n const instance = BUILD19.lazyLoad ? hostRef.$lazyInstance$ : elm;\n if (!instance) {\n hostRef.$onReadyPromise$.then((instance2) => {\n const cb = instance2[cbName];\n typeof cb === \"function\" && cb.call(instance2, ...args);\n });\n } else {\n const cb = instance[cbName];\n typeof cb === \"function\" && cb.call(instance, ...args);\n }\n }\n })\n );\n }\n if (BUILD19.member && cmpMeta.$members$ || BUILD19.watchCallback && (cmpMeta.$watchers$ || Cstr.watchers)) {\n if (BUILD19.watchCallback && Cstr.watchers && !cmpMeta.$watchers$) {\n cmpMeta.$watchers$ = Cstr.watchers;\n }\n const members = Object.entries((_a = cmpMeta.$members$) != null ? _a : {});\n members.map(([memberName, [memberFlags]]) => {\n if ((BUILD19.prop || BUILD19.state) && (memberFlags & 31 /* Prop */ || (!BUILD19.lazyLoad || flags & 2 /* proxyState */) && memberFlags & 32 /* State */)) {\n Object.defineProperty(prototype, memberName, {\n get() {\n return getValue(this, memberName);\n },\n set(newValue) {\n if (BUILD19.isDev) {\n const ref = getHostRef(this);\n if (\n // we are proxying the instance (not element)\n (flags & 1 /* isElementConstructor */) === 0 && // the element is not constructing\n (ref && ref.$flags$ & 8 /* isConstructingInstance */) === 0 && // the member is a prop\n (memberFlags & 31 /* Prop */) !== 0 && // the member is not mutable\n (memberFlags & 1024 /* Mutable */) === 0\n ) {\n consoleDevWarn(\n `@Prop() \"${memberName}\" on <${cmpMeta.$tagName$}> is immutable but was modified from within the component.\nMore information: https://stenciljs.com/docs/properties#prop-mutability`\n );\n }\n }\n setValue(this, memberName, newValue, cmpMeta);\n },\n configurable: true,\n enumerable: true\n });\n } else if (BUILD19.lazyLoad && BUILD19.method && flags & 1 /* isElementConstructor */ && memberFlags & 64 /* Method */) {\n Object.defineProperty(prototype, memberName, {\n value(...args) {\n var _a2;\n const ref = getHostRef(this);\n return (_a2 = ref == null ? void 0 : ref.$onInstancePromise$) == null ? void 0 : _a2.then(() => {\n var _a3;\n return (_a3 = ref.$lazyInstance$) == null ? void 0 : _a3[memberName](...args);\n });\n }\n });\n }\n });\n if (BUILD19.observeAttribute && (!BUILD19.lazyLoad || flags & 1 /* isElementConstructor */)) {\n const attrNameToPropName = /* @__PURE__ */ new Map();\n prototype.attributeChangedCallback = function(attrName, oldValue, newValue) {\n plt.jmp(() => {\n var _a2;\n const propName = attrNameToPropName.get(attrName);\n if (this.hasOwnProperty(propName)) {\n newValue = this[propName];\n delete this[propName];\n } else if (prototype.hasOwnProperty(propName) && typeof this[propName] === \"number\" && // cast type to number to avoid TS compiler issues\n this[propName] == newValue) {\n return;\n } else if (propName == null) {\n const hostRef = getHostRef(this);\n const flags2 = hostRef == null ? void 0 : hostRef.$flags$;\n if (flags2 && !(flags2 & 8 /* isConstructingInstance */) && flags2 & 128 /* isWatchReady */ && newValue !== oldValue) {\n const elm = BUILD19.lazyLoad ? hostRef.$hostElement$ : this;\n const instance = BUILD19.lazyLoad ? hostRef.$lazyInstance$ : elm;\n const entry = (_a2 = cmpMeta.$watchers$) == null ? void 0 : _a2[attrName];\n entry == null ? void 0 : entry.forEach((callbackName) => {\n if (instance[callbackName] != null) {\n instance[callbackName].call(instance, newValue, oldValue, attrName);\n }\n });\n }\n return;\n }\n this[propName] = newValue === null && typeof this[propName] === \"boolean\" ? false : newValue;\n });\n };\n Cstr.observedAttributes = Array.from(\n /* @__PURE__ */ new Set([\n ...Object.keys((_b = cmpMeta.$watchers$) != null ? _b : {}),\n ...members.filter(([_, m]) => m[0] & 15 /* HasAttribute */).map(([propName, m]) => {\n var _a2;\n const attrName = m[1] || propName;\n attrNameToPropName.set(attrName, propName);\n if (BUILD19.reflect && m[0] & 512 /* ReflectAttr */) {\n (_a2 = cmpMeta.$attrsToReflect$) == null ? void 0 : _a2.push([propName, attrName]);\n }\n return attrName;\n })\n ])\n );\n }\n }\n return Cstr;\n};\n\n// src/runtime/initialize-component.ts\nvar initializeComponent = async (elm, hostRef, cmpMeta, hmrVersionId) => {\n let Cstr;\n if ((hostRef.$flags$ & 32 /* hasInitializedComponent */) === 0) {\n hostRef.$flags$ |= 32 /* hasInitializedComponent */;\n const bundleId = cmpMeta.$lazyBundleId$;\n if ((BUILD20.lazyLoad || BUILD20.hydrateClientSide) && bundleId) {\n const CstrImport = loadModule(cmpMeta, hostRef, hmrVersionId);\n if (CstrImport && \"then\" in CstrImport) {\n const endLoad = uniqueTime(\n `st:load:${cmpMeta.$tagName$}:${hostRef.$modeName$}`,\n `[Stencil] Load module for <${cmpMeta.$tagName$}>`\n );\n Cstr = await CstrImport;\n endLoad();\n } else {\n Cstr = CstrImport;\n }\n if (!Cstr) {\n throw new Error(`Constructor for \"${cmpMeta.$tagName$}#${hostRef.$modeName$}\" was not found`);\n }\n if (BUILD20.member && !Cstr.isProxied) {\n if (BUILD20.watchCallback) {\n cmpMeta.$watchers$ = Cstr.watchers;\n }\n proxyComponent(Cstr, cmpMeta, 2 /* proxyState */);\n Cstr.isProxied = true;\n }\n const endNewInstance = createTime(\"createInstance\", cmpMeta.$tagName$);\n if (BUILD20.member) {\n hostRef.$flags$ |= 8 /* isConstructingInstance */;\n }\n try {\n new Cstr(hostRef);\n } catch (e) {\n consoleError(e);\n }\n if (BUILD20.member) {\n hostRef.$flags$ &= ~8 /* isConstructingInstance */;\n }\n if (BUILD20.watchCallback) {\n hostRef.$flags$ |= 128 /* isWatchReady */;\n }\n endNewInstance();\n fireConnectedCallback(hostRef.$lazyInstance$);\n } else {\n Cstr = elm.constructor;\n const cmpTag = elm.localName;\n customElements.whenDefined(cmpTag).then(() => hostRef.$flags$ |= 128 /* isWatchReady */);\n }\n if (BUILD20.style && Cstr && Cstr.style) {\n let style;\n if (typeof Cstr.style === \"string\") {\n style = Cstr.style;\n } else if (BUILD20.mode && typeof Cstr.style !== \"string\") {\n hostRef.$modeName$ = computeMode(elm);\n if (hostRef.$modeName$) {\n style = Cstr.style[hostRef.$modeName$];\n }\n if (BUILD20.hydrateServerSide && hostRef.$modeName$) {\n elm.setAttribute(\"s-mode\", hostRef.$modeName$);\n }\n }\n const scopeId2 = getScopeId(cmpMeta, hostRef.$modeName$);\n if (!styles.has(scopeId2)) {\n const endRegisterStyles = createTime(\"registerStyles\", cmpMeta.$tagName$);\n if (!BUILD20.hydrateServerSide && BUILD20.shadowDom && // TODO(STENCIL-854): Remove code related to legacy shadowDomShim field\n BUILD20.shadowDomShim && cmpMeta.$flags$ & 8 /* needsShadowDomShim */) {\n style = await import(\"./shadow-css.js\").then((m) => m.scopeCss(style, scopeId2));\n }\n registerStyle(scopeId2, style, !!(cmpMeta.$flags$ & 1 /* shadowDomEncapsulation */));\n endRegisterStyles();\n }\n }\n }\n const ancestorComponent = hostRef.$ancestorComponent$;\n const schedule = () => scheduleUpdate(hostRef, true);\n if (BUILD20.asyncLoading && ancestorComponent && ancestorComponent[\"s-rc\"]) {\n ancestorComponent[\"s-rc\"].push(schedule);\n } else {\n schedule();\n }\n};\nvar fireConnectedCallback = (instance) => {\n if (BUILD20.lazyLoad && BUILD20.connectedCallback) {\n safeCall(instance, \"connectedCallback\");\n }\n};\n\n// src/runtime/connected-callback.ts\nvar connectedCallback = (elm) => {\n if ((plt.$flags$ & 1 /* isTmpDisconnected */) === 0) {\n const hostRef = getHostRef(elm);\n const cmpMeta = hostRef.$cmpMeta$;\n const endConnected = createTime(\"connectedCallback\", cmpMeta.$tagName$);\n if (BUILD21.hostListenerTargetParent) {\n addHostEventListeners(elm, hostRef, cmpMeta.$listeners$, true);\n }\n if (!(hostRef.$flags$ & 1 /* hasConnected */)) {\n hostRef.$flags$ |= 1 /* hasConnected */;\n let hostId;\n if (BUILD21.hydrateClientSide) {\n hostId = elm.getAttribute(HYDRATE_ID);\n if (hostId) {\n if (BUILD21.shadowDom && supportsShadow && cmpMeta.$flags$ & 1 /* shadowDomEncapsulation */) {\n const scopeId2 = BUILD21.mode ? addStyle(elm.shadowRoot, cmpMeta, elm.getAttribute(\"s-mode\")) : addStyle(elm.shadowRoot, cmpMeta);\n elm.classList.remove(scopeId2 + \"-h\", scopeId2 + \"-s\");\n }\n initializeClientHydrate(elm, cmpMeta.$tagName$, hostId, hostRef);\n }\n }\n if (BUILD21.slotRelocation && !hostId) {\n if (BUILD21.hydrateServerSide || (BUILD21.slot || BUILD21.shadowDom) && // TODO(STENCIL-854): Remove code related to legacy shadowDomShim field\n cmpMeta.$flags$ & (4 /* hasSlotRelocation */ | 8 /* needsShadowDomShim */)) {\n setContentReference(elm);\n }\n }\n if (BUILD21.asyncLoading) {\n let ancestorComponent = elm;\n while (ancestorComponent = ancestorComponent.parentNode || ancestorComponent.host) {\n if (BUILD21.hydrateClientSide && ancestorComponent.nodeType === 1 /* ElementNode */ && ancestorComponent.hasAttribute(\"s-id\") && ancestorComponent[\"s-p\"] || ancestorComponent[\"s-p\"]) {\n attachToAncestor(hostRef, hostRef.$ancestorComponent$ = ancestorComponent);\n break;\n }\n }\n }\n if (BUILD21.prop && !BUILD21.hydrateServerSide && cmpMeta.$members$) {\n Object.entries(cmpMeta.$members$).map(([memberName, [memberFlags]]) => {\n if (memberFlags & 31 /* Prop */ && elm.hasOwnProperty(memberName)) {\n const value = elm[memberName];\n delete elm[memberName];\n elm[memberName] = value;\n }\n });\n }\n if (BUILD21.initializeNextTick) {\n nextTick(() => initializeComponent(elm, hostRef, cmpMeta));\n } else {\n initializeComponent(elm, hostRef, cmpMeta);\n }\n } else {\n addHostEventListeners(elm, hostRef, cmpMeta.$listeners$, false);\n if (hostRef == null ? void 0 : hostRef.$lazyInstance$) {\n fireConnectedCallback(hostRef.$lazyInstance$);\n } else if (hostRef == null ? void 0 : hostRef.$onReadyPromise$) {\n hostRef.$onReadyPromise$.then(() => fireConnectedCallback(hostRef.$lazyInstance$));\n }\n }\n endConnected();\n }\n};\nvar setContentReference = (elm) => {\n const contentRefElm = elm[\"s-cr\"] = doc.createComment(\n BUILD21.isDebug ? `content-ref (host=${elm.localName})` : \"\"\n );\n contentRefElm[\"s-cn\"] = true;\n insertBefore(elm, contentRefElm, elm.firstChild);\n};\n\n// src/runtime/disconnected-callback.ts\nimport { BUILD as BUILD22 } from \"@stencil/core/internal/app-data\";\nvar disconnectInstance = (instance) => {\n if (BUILD22.lazyLoad && BUILD22.disconnectedCallback) {\n safeCall(instance, \"disconnectedCallback\");\n }\n if (BUILD22.cmpDidUnload) {\n safeCall(instance, \"componentDidUnload\");\n }\n};\nvar disconnectedCallback = async (elm) => {\n if ((plt.$flags$ & 1 /* isTmpDisconnected */) === 0) {\n const hostRef = getHostRef(elm);\n if (BUILD22.hostListener) {\n if (hostRef.$rmListeners$) {\n hostRef.$rmListeners$.map((rmListener) => rmListener());\n hostRef.$rmListeners$ = void 0;\n }\n }\n if (!BUILD22.lazyLoad) {\n disconnectInstance(elm);\n } else if (hostRef == null ? void 0 : hostRef.$lazyInstance$) {\n disconnectInstance(hostRef.$lazyInstance$);\n } else if (hostRef == null ? void 0 : hostRef.$onReadyPromise$) {\n hostRef.$onReadyPromise$.then(() => disconnectInstance(hostRef.$lazyInstance$));\n }\n }\n};\n\n// src/runtime/dom-extras.ts\nimport { BUILD as BUILD23 } from \"@stencil/core/internal/app-data\";\nvar patchPseudoShadowDom = (hostElementPrototype, descriptorPrototype) => {\n patchCloneNode(hostElementPrototype);\n patchSlotAppendChild(hostElementPrototype);\n patchSlotAppend(hostElementPrototype);\n patchSlotPrepend(hostElementPrototype);\n patchSlotInsertAdjacentElement(hostElementPrototype);\n patchSlotInsertAdjacentHTML(hostElementPrototype);\n patchSlotInsertAdjacentText(hostElementPrototype);\n patchTextContent(hostElementPrototype);\n patchChildSlotNodes(hostElementPrototype, descriptorPrototype);\n patchSlotRemoveChild(hostElementPrototype);\n};\nvar patchCloneNode = (HostElementPrototype) => {\n const orgCloneNode = HostElementPrototype.cloneNode;\n HostElementPrototype.cloneNode = function(deep) {\n const srcNode = this;\n const isShadowDom = BUILD23.shadowDom ? srcNode.shadowRoot && supportsShadow : false;\n const clonedNode = orgCloneNode.call(srcNode, isShadowDom ? deep : false);\n if (BUILD23.slot && !isShadowDom && deep) {\n let i2 = 0;\n let slotted, nonStencilNode;\n const stencilPrivates = [\n \"s-id\",\n \"s-cr\",\n \"s-lr\",\n \"s-rc\",\n \"s-sc\",\n \"s-p\",\n \"s-cn\",\n \"s-sr\",\n \"s-sn\",\n \"s-hn\",\n \"s-ol\",\n \"s-nr\",\n \"s-si\",\n \"s-rf\",\n \"s-scs\"\n ];\n for (; i2 < srcNode.childNodes.length; i2++) {\n slotted = srcNode.childNodes[i2][\"s-nr\"];\n nonStencilNode = stencilPrivates.every((privateField) => !srcNode.childNodes[i2][privateField]);\n if (slotted) {\n if (BUILD23.appendChildSlotFix && clonedNode.__appendChild) {\n clonedNode.__appendChild(slotted.cloneNode(true));\n } else {\n clonedNode.appendChild(slotted.cloneNode(true));\n }\n }\n if (nonStencilNode) {\n clonedNode.appendChild(srcNode.childNodes[i2].cloneNode(true));\n }\n }\n }\n return clonedNode;\n };\n};\nvar patchSlotAppendChild = (HostElementPrototype) => {\n HostElementPrototype.__appendChild = HostElementPrototype.appendChild;\n HostElementPrototype.appendChild = function(newChild) {\n const slotName = newChild[\"s-sn\"] = getSlotName(newChild);\n const slotNode = getHostSlotNode(this.childNodes, slotName, this.tagName);\n if (slotNode) {\n const slotChildNodes = getHostSlotChildNodes(slotNode, slotName);\n const appendAfter = slotChildNodes[slotChildNodes.length - 1];\n const insertedNode = insertBefore(appendAfter.parentNode, newChild, appendAfter.nextSibling);\n updateFallbackSlotVisibility(this);\n return insertedNode;\n }\n return this.__appendChild(newChild);\n };\n};\nvar patchSlotRemoveChild = (ElementPrototype) => {\n ElementPrototype.__removeChild = ElementPrototype.removeChild;\n ElementPrototype.removeChild = function(toRemove) {\n if (toRemove && typeof toRemove[\"s-sn\"] !== \"undefined\") {\n const slotNode = getHostSlotNode(this.childNodes, toRemove[\"s-sn\"], this.tagName);\n if (slotNode) {\n const slotChildNodes = getHostSlotChildNodes(slotNode, toRemove[\"s-sn\"]);\n const existingNode = slotChildNodes.find((n) => n === toRemove);\n if (existingNode) {\n existingNode.remove();\n updateFallbackSlotVisibility(this);\n return;\n }\n }\n }\n return this.__removeChild(toRemove);\n };\n};\nvar patchSlotPrepend = (HostElementPrototype) => {\n const originalPrepend = HostElementPrototype.prepend;\n HostElementPrototype.prepend = function(...newChildren) {\n newChildren.forEach((newChild) => {\n if (typeof newChild === \"string\") {\n newChild = this.ownerDocument.createTextNode(newChild);\n }\n const slotName = newChild[\"s-sn\"] = getSlotName(newChild);\n const slotNode = getHostSlotNode(this.childNodes, slotName, this.tagName);\n if (slotNode) {\n const slotPlaceholder = document.createTextNode(\"\");\n slotPlaceholder[\"s-nr\"] = newChild;\n slotNode[\"s-cr\"].parentNode.__appendChild(slotPlaceholder);\n newChild[\"s-ol\"] = slotPlaceholder;\n const slotChildNodes = getHostSlotChildNodes(slotNode, slotName);\n const appendAfter = slotChildNodes[0];\n return insertBefore(appendAfter.parentNode, newChild, appendAfter.nextSibling);\n }\n if (newChild.nodeType === 1 && !!newChild.getAttribute(\"slot\")) {\n newChild.hidden = true;\n }\n return originalPrepend.call(this, newChild);\n });\n };\n};\nvar patchSlotAppend = (HostElementPrototype) => {\n HostElementPrototype.append = function(...newChildren) {\n newChildren.forEach((newChild) => {\n if (typeof newChild === \"string\") {\n newChild = this.ownerDocument.createTextNode(newChild);\n }\n this.appendChild(newChild);\n });\n };\n};\nvar patchSlotInsertAdjacentHTML = (HostElementPrototype) => {\n const originalInsertAdjacentHtml = HostElementPrototype.insertAdjacentHTML;\n HostElementPrototype.insertAdjacentHTML = function(position, text) {\n if (position !== \"afterbegin\" && position !== \"beforeend\") {\n return originalInsertAdjacentHtml.call(this, position, text);\n }\n const container = this.ownerDocument.createElement(\"_\");\n let node;\n container.innerHTML = text;\n if (position === \"afterbegin\") {\n while (node = container.firstChild) {\n this.prepend(node);\n }\n } else if (position === \"beforeend\") {\n while (node = container.firstChild) {\n this.append(node);\n }\n }\n };\n};\nvar patchSlotInsertAdjacentText = (HostElementPrototype) => {\n HostElementPrototype.insertAdjacentText = function(position, text) {\n this.insertAdjacentHTML(position, text);\n };\n};\nvar patchSlotInsertAdjacentElement = (HostElementPrototype) => {\n const originalInsertAdjacentElement = HostElementPrototype.insertAdjacentElement;\n HostElementPrototype.insertAdjacentElement = function(position, element) {\n if (position !== \"afterbegin\" && position !== \"beforeend\") {\n return originalInsertAdjacentElement.call(this, position, element);\n }\n if (position === \"afterbegin\") {\n this.prepend(element);\n return element;\n } else if (position === \"beforeend\") {\n this.append(element);\n return element;\n }\n return element;\n };\n};\nvar patchTextContent = (hostElementPrototype) => {\n const descriptor = Object.getOwnPropertyDescriptor(Node.prototype, \"textContent\");\n Object.defineProperty(hostElementPrototype, \"__textContent\", descriptor);\n if (BUILD23.experimentalScopedSlotChanges) {\n Object.defineProperty(hostElementPrototype, \"textContent\", {\n // To mimic shadow root behavior, we need to return the text content of all\n // nodes in a slot reference node\n get() {\n const slotRefNodes = getAllChildSlotNodes(this.childNodes);\n const textContent = slotRefNodes.map((node) => {\n var _a, _b;\n const text = [];\n let slotContent = node.nextSibling;\n while (slotContent && slotContent[\"s-sn\"] === node[\"s-sn\"]) {\n if (slotContent.nodeType === 3 /* TEXT_NODE */ || slotContent.nodeType === 1 /* ELEMENT_NODE */) {\n text.push((_b = (_a = slotContent.textContent) == null ? void 0 : _a.trim()) != null ? _b : \"\");\n }\n slotContent = slotContent.nextSibling;\n }\n return text.filter((ref) => ref !== \"\").join(\" \");\n }).filter((text) => text !== \"\").join(\" \");\n return \" \" + textContent + \" \";\n },\n // To mimic shadow root behavior, we need to overwrite all nodes in a slot\n // reference node. If a default slot reference node exists, the text content will be\n // placed there. Otherwise, the new text node will be hidden\n set(value) {\n const slotRefNodes = getAllChildSlotNodes(this.childNodes);\n slotRefNodes.forEach((node) => {\n let slotContent = node.nextSibling;\n while (slotContent && slotContent[\"s-sn\"] === node[\"s-sn\"]) {\n const tmp = slotContent;\n slotContent = slotContent.nextSibling;\n tmp.remove();\n }\n if (node[\"s-sn\"] === \"\") {\n const textNode = this.ownerDocument.createTextNode(value);\n textNode[\"s-sn\"] = \"\";\n insertBefore(node.parentElement, textNode, node.nextSibling);\n } else {\n node.remove();\n }\n });\n }\n });\n } else {\n Object.defineProperty(hostElementPrototype, \"textContent\", {\n get() {\n var _a;\n const slotNode = getHostSlotNode(this.childNodes, \"\", this.tagName);\n if (((_a = slotNode == null ? void 0 : slotNode.nextSibling) == null ? void 0 : _a.nodeType) === 3 /* TEXT_NODE */) {\n return slotNode.nextSibling.textContent;\n } else if (slotNode) {\n return slotNode.textContent;\n } else {\n return this.__textContent;\n }\n },\n set(value) {\n var _a;\n const slotNode = getHostSlotNode(this.childNodes, \"\", this.tagName);\n if (((_a = slotNode == null ? void 0 : slotNode.nextSibling) == null ? void 0 : _a.nodeType) === 3 /* TEXT_NODE */) {\n slotNode.nextSibling.textContent = value;\n } else if (slotNode) {\n slotNode.textContent = value;\n } else {\n this.__textContent = value;\n const contentRefElm = this[\"s-cr\"];\n if (contentRefElm) {\n insertBefore(this, contentRefElm, this.firstChild);\n }\n }\n }\n });\n }\n};\nvar patchChildSlotNodes = (elm, cmpMeta) => {\n class FakeNodeList extends Array {\n item(n) {\n return this[n];\n }\n }\n if (cmpMeta.$flags$ & 8 /* needsShadowDomShim */) {\n const childNodesFn = elm.__lookupGetter__(\"childNodes\");\n Object.defineProperty(elm, \"children\", {\n get() {\n return this.childNodes.map((n) => n.nodeType === 1);\n }\n });\n Object.defineProperty(elm, \"childElementCount\", {\n get() {\n return elm.children.length;\n }\n });\n Object.defineProperty(elm, \"childNodes\", {\n get() {\n const childNodes = childNodesFn.call(this);\n if ((plt.$flags$ & 1 /* isTmpDisconnected */) === 0 && getHostRef(this).$flags$ & 2 /* hasRendered */) {\n const result = new FakeNodeList();\n for (let i2 = 0; i2 < childNodes.length; i2++) {\n const slot = childNodes[i2][\"s-nr\"];\n if (slot) {\n result.push(slot);\n }\n }\n return result;\n }\n return FakeNodeList.from(childNodes);\n }\n });\n }\n};\nvar getAllChildSlotNodes = (childNodes) => {\n const slotRefNodes = [];\n for (const childNode of Array.from(childNodes)) {\n if (childNode[\"s-sr\"]) {\n slotRefNodes.push(childNode);\n }\n slotRefNodes.push(...getAllChildSlotNodes(childNode.childNodes));\n }\n return slotRefNodes;\n};\nvar getSlotName = (node) => node[\"s-sn\"] || node.nodeType === 1 && node.getAttribute(\"slot\") || \"\";\nvar getHostSlotNode = (childNodes, slotName, hostName) => {\n let i2 = 0;\n let childNode;\n for (; i2 < childNodes.length; i2++) {\n childNode = childNodes[i2];\n if (childNode[\"s-sr\"] && childNode[\"s-sn\"] === slotName && childNode[\"s-hn\"] === hostName) {\n return childNode;\n }\n childNode = getHostSlotNode(childNode.childNodes, slotName, hostName);\n if (childNode) {\n return childNode;\n }\n }\n return null;\n};\nvar getHostSlotChildNodes = (n, slotName) => {\n const childNodes = [n];\n while ((n = n.nextSibling) && n[\"s-sn\"] === slotName) {\n childNodes.push(n);\n }\n return childNodes;\n};\n\n// src/runtime/bootstrap-custom-element.ts\nvar defineCustomElement = (Cstr, compactMeta) => {\n customElements.define(compactMeta[1], proxyCustomElement(Cstr, compactMeta));\n};\nvar proxyCustomElement = (Cstr, compactMeta) => {\n const cmpMeta = {\n $flags$: compactMeta[0],\n $tagName$: compactMeta[1]\n };\n if (BUILD24.member) {\n cmpMeta.$members$ = compactMeta[2];\n }\n if (BUILD24.hostListener) {\n cmpMeta.$listeners$ = compactMeta[3];\n }\n if (BUILD24.watchCallback) {\n cmpMeta.$watchers$ = Cstr.$watchers$;\n }\n if (BUILD24.reflect) {\n cmpMeta.$attrsToReflect$ = [];\n }\n if (BUILD24.shadowDom && !supportsShadow && cmpMeta.$flags$ & 1 /* shadowDomEncapsulation */) {\n cmpMeta.$flags$ |= 8 /* needsShadowDomShim */;\n }\n if (BUILD24.experimentalSlotFixes) {\n if (BUILD24.scoped && cmpMeta.$flags$ & 2 /* scopedCssEncapsulation */) {\n patchPseudoShadowDom(Cstr.prototype, cmpMeta);\n }\n } else {\n if (BUILD24.slotChildNodesFix) {\n patchChildSlotNodes(Cstr.prototype, cmpMeta);\n }\n if (BUILD24.cloneNodeFix) {\n patchCloneNode(Cstr.prototype);\n }\n if (BUILD24.appendChildSlotFix) {\n patchSlotAppendChild(Cstr.prototype);\n }\n if (BUILD24.scopedSlotTextContentFix && cmpMeta.$flags$ & 2 /* scopedCssEncapsulation */) {\n patchTextContent(Cstr.prototype);\n }\n }\n const originalConnectedCallback = Cstr.prototype.connectedCallback;\n const originalDisconnectedCallback = Cstr.prototype.disconnectedCallback;\n Object.assign(Cstr.prototype, {\n __registerHost() {\n registerHost(this, cmpMeta);\n },\n connectedCallback() {\n const hostRef = getHostRef(this);\n addHostEventListeners(this, hostRef, cmpMeta.$listeners$, false);\n connectedCallback(this);\n if (BUILD24.connectedCallback && originalConnectedCallback) {\n originalConnectedCallback.call(this);\n }\n },\n disconnectedCallback() {\n disconnectedCallback(this);\n if (BUILD24.disconnectedCallback && originalDisconnectedCallback) {\n originalDisconnectedCallback.call(this);\n }\n },\n __attachShadow() {\n if (supportsShadow) {\n if (!this.shadowRoot) {\n if (BUILD24.shadowDelegatesFocus) {\n this.attachShadow({\n mode: \"open\",\n delegatesFocus: !!(cmpMeta.$flags$ & 16 /* shadowDelegatesFocus */)\n });\n } else {\n this.attachShadow({ mode: \"open\" });\n }\n } else {\n if (this.shadowRoot.mode !== \"open\") {\n throw new Error(\n `Unable to re-use existing shadow root for ${cmpMeta.$tagName$}! Mode is set to ${this.shadowRoot.mode} but Stencil only supports open shadow roots.`\n );\n }\n }\n } else {\n this.shadowRoot = this;\n }\n }\n });\n Cstr.is = cmpMeta.$tagName$;\n return proxyComponent(Cstr, cmpMeta, 1 /* isElementConstructor */ | 2 /* proxyState */);\n};\nvar forceModeUpdate = (elm) => {\n if (BUILD24.style && BUILD24.mode && !BUILD24.lazyLoad) {\n const mode = computeMode(elm);\n const hostRef = getHostRef(elm);\n if (hostRef.$modeName$ !== mode) {\n const cmpMeta = hostRef.$cmpMeta$;\n const oldScopeId = elm[\"s-sc\"];\n const scopeId2 = getScopeId(cmpMeta, mode);\n const style = elm.constructor.style[mode];\n const flags = cmpMeta.$flags$;\n if (style) {\n if (!styles.has(scopeId2)) {\n registerStyle(scopeId2, style, !!(flags & 1 /* shadowDomEncapsulation */));\n }\n hostRef.$modeName$ = mode;\n elm.classList.remove(oldScopeId + \"-h\", oldScopeId + \"-s\");\n attachStyles(hostRef);\n forceUpdate(elm);\n }\n }\n }\n};\n\n// src/runtime/bootstrap-lazy.ts\nimport { BUILD as BUILD25 } from \"@stencil/core/internal/app-data\";\n\n// src/runtime/hmr-component.ts\nvar hmrStart = (hostElement, cmpMeta, hmrVersionId) => {\n const hostRef = getHostRef(hostElement);\n hostRef.$flags$ = 1 /* hasConnected */;\n initializeComponent(hostElement, hostRef, cmpMeta, hmrVersionId);\n};\n\n// src/runtime/bootstrap-lazy.ts\nvar bootstrapLazy = (lazyBundles, options = {}) => {\n var _a;\n if (BUILD25.profile && performance.mark) {\n performance.mark(\"st:app:start\");\n }\n installDevTools();\n const endBootstrap = createTime(\"bootstrapLazy\");\n const cmpTags = [];\n const exclude = options.exclude || [];\n const customElements2 = win.customElements;\n const head = doc.head;\n const metaCharset = /* @__PURE__ */ head.querySelector(\"meta[charset]\");\n const dataStyles = /* @__PURE__ */ doc.createElement(\"style\");\n const deferredConnectedCallbacks = [];\n let appLoadFallback;\n let isBootstrapping = true;\n Object.assign(plt, options);\n plt.$resourcesUrl$ = new URL(options.resourcesUrl || \"./\", doc.baseURI).href;\n if (BUILD25.asyncQueue) {\n if (options.syncQueue) {\n plt.$flags$ |= 4 /* queueSync */;\n }\n }\n if (BUILD25.hydrateClientSide) {\n plt.$flags$ |= 2 /* appLoaded */;\n }\n let hasSlotRelocation = false;\n lazyBundles.map((lazyBundle) => {\n lazyBundle[1].map((compactMeta) => {\n var _a2;\n const cmpMeta = {\n $flags$: compactMeta[0],\n $tagName$: compactMeta[1],\n $members$: compactMeta[2],\n $listeners$: compactMeta[3]\n };\n if (cmpMeta.$flags$ & 4 /* hasSlotRelocation */) {\n hasSlotRelocation = true;\n }\n if (BUILD25.member) {\n cmpMeta.$members$ = compactMeta[2];\n }\n if (BUILD25.hostListener) {\n cmpMeta.$listeners$ = compactMeta[3];\n }\n if (BUILD25.reflect) {\n cmpMeta.$attrsToReflect$ = [];\n }\n if (BUILD25.watchCallback) {\n cmpMeta.$watchers$ = (_a2 = compactMeta[4]) != null ? _a2 : {};\n }\n if (BUILD25.shadowDom && !supportsShadow && cmpMeta.$flags$ & 1 /* shadowDomEncapsulation */) {\n cmpMeta.$flags$ |= 8 /* needsShadowDomShim */;\n }\n const tagName = BUILD25.transformTagName && options.transformTagName ? options.transformTagName(cmpMeta.$tagName$) : cmpMeta.$tagName$;\n const HostElement = class extends HTMLElement {\n // StencilLazyHost\n constructor(self) {\n super(self);\n this.hasRegisteredEventListeners = false;\n self = this;\n registerHost(self, cmpMeta);\n if (BUILD25.shadowDom && cmpMeta.$flags$ & 1 /* shadowDomEncapsulation */) {\n if (supportsShadow) {\n if (!self.shadowRoot) {\n if (BUILD25.shadowDelegatesFocus) {\n self.attachShadow({\n mode: \"open\",\n delegatesFocus: !!(cmpMeta.$flags$ & 16 /* shadowDelegatesFocus */)\n });\n } else {\n self.attachShadow({ mode: \"open\" });\n }\n } else {\n if (self.shadowRoot.mode !== \"open\") {\n throw new Error(\n `Unable to re-use existing shadow root for ${cmpMeta.$tagName$}! Mode is set to ${self.shadowRoot.mode} but Stencil only supports open shadow roots.`\n );\n }\n }\n } else if (!BUILD25.hydrateServerSide && !(\"shadowRoot\" in self)) {\n self.shadowRoot = self;\n }\n }\n }\n connectedCallback() {\n const hostRef = getHostRef(this);\n if (!this.hasRegisteredEventListeners) {\n this.hasRegisteredEventListeners = true;\n addHostEventListeners(this, hostRef, cmpMeta.$listeners$, false);\n }\n if (appLoadFallback) {\n clearTimeout(appLoadFallback);\n appLoadFallback = null;\n }\n if (isBootstrapping) {\n deferredConnectedCallbacks.push(this);\n } else {\n plt.jmp(() => connectedCallback(this));\n }\n }\n disconnectedCallback() {\n plt.jmp(() => disconnectedCallback(this));\n }\n componentOnReady() {\n return getHostRef(this).$onReadyPromise$;\n }\n };\n if (BUILD25.experimentalSlotFixes) {\n if (BUILD25.scoped && cmpMeta.$flags$ & 2 /* scopedCssEncapsulation */) {\n patchPseudoShadowDom(HostElement.prototype, cmpMeta);\n }\n } else {\n if (BUILD25.slotChildNodesFix) {\n patchChildSlotNodes(HostElement.prototype, cmpMeta);\n }\n if (BUILD25.cloneNodeFix) {\n patchCloneNode(HostElement.prototype);\n }\n if (BUILD25.appendChildSlotFix) {\n patchSlotAppendChild(HostElement.prototype);\n }\n if (BUILD25.scopedSlotTextContentFix && cmpMeta.$flags$ & 2 /* scopedCssEncapsulation */) {\n patchTextContent(HostElement.prototype);\n }\n }\n if (BUILD25.formAssociated && cmpMeta.$flags$ & 64 /* formAssociated */) {\n HostElement.formAssociated = true;\n }\n if (BUILD25.hotModuleReplacement) {\n HostElement.prototype[\"s-hmr\"] = function(hmrVersionId) {\n hmrStart(this, cmpMeta, hmrVersionId);\n };\n }\n cmpMeta.$lazyBundleId$ = lazyBundle[0];\n if (!exclude.includes(tagName) && !customElements2.get(tagName)) {\n cmpTags.push(tagName);\n customElements2.define(\n tagName,\n proxyComponent(HostElement, cmpMeta, 1 /* isElementConstructor */)\n );\n }\n });\n });\n if (cmpTags.length > 0) {\n if (hasSlotRelocation) {\n dataStyles.textContent += SLOT_FB_CSS;\n }\n if (BUILD25.invisiblePrehydration && (BUILD25.hydratedClass || BUILD25.hydratedAttribute)) {\n dataStyles.textContent += cmpTags.sort() + HYDRATED_CSS;\n }\n if (dataStyles.innerHTML.length) {\n dataStyles.setAttribute(\"data-styles\", \"\");\n const nonce = (_a = plt.$nonce$) != null ? _a : queryNonceMetaTagContent(doc);\n if (nonce != null) {\n dataStyles.setAttribute(\"nonce\", nonce);\n }\n head.insertBefore(dataStyles, metaCharset ? metaCharset.nextSibling : head.firstChild);\n }\n }\n isBootstrapping = false;\n if (deferredConnectedCallbacks.length) {\n deferredConnectedCallbacks.map((host) => host.connectedCallback());\n } else {\n if (BUILD25.profile) {\n plt.jmp(() => appLoadFallback = setTimeout(appDidLoad, 30, \"timeout\"));\n } else {\n plt.jmp(() => appLoadFallback = setTimeout(appDidLoad, 30));\n }\n }\n endBootstrap();\n};\n\n// src/runtime/fragment.ts\nvar Fragment = (_, children) => children;\n\n// src/runtime/host-listener.ts\nimport { BUILD as BUILD26 } from \"@stencil/core/internal/app-data\";\nvar addHostEventListeners = (elm, hostRef, listeners, attachParentListeners) => {\n if (BUILD26.hostListener && listeners) {\n if (BUILD26.hostListenerTargetParent) {\n if (attachParentListeners) {\n listeners = listeners.filter(([flags]) => flags & 32 /* TargetParent */);\n } else {\n listeners = listeners.filter(([flags]) => !(flags & 32 /* TargetParent */));\n }\n }\n listeners.map(([flags, name, method]) => {\n const target = BUILD26.hostListenerTarget ? getHostListenerTarget(elm, flags) : elm;\n const handler = hostListenerProxy(hostRef, method);\n const opts = hostListenerOpts(flags);\n plt.ael(target, name, handler, opts);\n (hostRef.$rmListeners$ = hostRef.$rmListeners$ || []).push(() => plt.rel(target, name, handler, opts));\n });\n }\n};\nvar hostListenerProxy = (hostRef, methodName) => (ev) => {\n var _a;\n try {\n if (BUILD26.lazyLoad) {\n if (hostRef.$flags$ & 256 /* isListenReady */) {\n (_a = hostRef.$lazyInstance$) == null ? void 0 : _a[methodName](ev);\n } else {\n (hostRef.$queuedListeners$ = hostRef.$queuedListeners$ || []).push([methodName, ev]);\n }\n } else {\n hostRef.$hostElement$[methodName](ev);\n }\n } catch (e) {\n consoleError(e);\n }\n};\nvar getHostListenerTarget = (elm, flags) => {\n if (BUILD26.hostListenerTargetDocument && flags & 4 /* TargetDocument */) return doc;\n if (BUILD26.hostListenerTargetWindow && flags & 8 /* TargetWindow */) return win;\n if (BUILD26.hostListenerTargetBody && flags & 16 /* TargetBody */) return doc.body;\n if (BUILD26.hostListenerTargetParent && flags & 32 /* TargetParent */ && elm.parentElement)\n return elm.parentElement;\n return elm;\n};\nvar hostListenerOpts = (flags) => supportsListenerOptions ? {\n passive: (flags & 1 /* Passive */) !== 0,\n capture: (flags & 2 /* Capture */) !== 0\n} : (flags & 2 /* Capture */) !== 0;\n\n// src/runtime/nonce.ts\nvar setNonce = (nonce) => plt.$nonce$ = nonce;\n\n// src/runtime/platform-options.ts\nvar setPlatformOptions = (opts) => Object.assign(plt, opts);\n\n// src/runtime/vdom/vdom-annotations.ts\nvar insertVdomAnnotations = (doc2, staticComponents) => {\n if (doc2 != null) {\n const docData = {\n hostIds: 0,\n rootLevelIds: 0,\n staticComponents: new Set(staticComponents)\n };\n const orgLocationNodes = [];\n parseVNodeAnnotations(doc2, doc2.body, docData, orgLocationNodes);\n orgLocationNodes.forEach((orgLocationNode) => {\n var _a;\n if (orgLocationNode != null && orgLocationNode[\"s-nr\"]) {\n const nodeRef = orgLocationNode[\"s-nr\"];\n let hostId = nodeRef[\"s-host-id\"];\n let nodeId = nodeRef[\"s-node-id\"];\n let childId = `${hostId}.${nodeId}`;\n if (hostId == null) {\n hostId = 0;\n docData.rootLevelIds++;\n nodeId = docData.rootLevelIds;\n childId = `${hostId}.${nodeId}`;\n if (nodeRef.nodeType === 1 /* ElementNode */) {\n nodeRef.setAttribute(HYDRATE_CHILD_ID, childId);\n } else if (nodeRef.nodeType === 3 /* TextNode */) {\n if (hostId === 0) {\n const textContent = (_a = nodeRef.nodeValue) == null ? void 0 : _a.trim();\n if (textContent === \"\") {\n orgLocationNode.remove();\n return;\n }\n }\n const commentBeforeTextNode = doc2.createComment(childId);\n commentBeforeTextNode.nodeValue = `${TEXT_NODE_ID}.${childId}`;\n insertBefore(nodeRef.parentNode, commentBeforeTextNode, nodeRef);\n }\n }\n let orgLocationNodeId = `${ORG_LOCATION_ID}.${childId}`;\n const orgLocationParentNode = orgLocationNode.parentElement;\n if (orgLocationParentNode) {\n if (orgLocationParentNode[\"s-en\"] === \"\") {\n orgLocationNodeId += `.`;\n } else if (orgLocationParentNode[\"s-en\"] === \"c\") {\n orgLocationNodeId += `.c`;\n }\n }\n orgLocationNode.nodeValue = orgLocationNodeId;\n }\n });\n }\n};\nvar parseVNodeAnnotations = (doc2, node, docData, orgLocationNodes) => {\n var _a;\n if (node == null) {\n return;\n }\n if (node[\"s-nr\"] != null) {\n orgLocationNodes.push(node);\n }\n if (node.nodeType === 1 /* ElementNode */) {\n const childNodes = [...Array.from(node.childNodes), ...Array.from(((_a = node.shadowRoot) == null ? void 0 : _a.childNodes) || [])];\n childNodes.forEach((childNode) => {\n const hostRef = getHostRef(childNode);\n if (hostRef != null && !docData.staticComponents.has(childNode.nodeName.toLowerCase())) {\n const cmpData = {\n nodeIds: 0\n };\n insertVNodeAnnotations(doc2, childNode, hostRef.$vnode$, docData, cmpData);\n }\n parseVNodeAnnotations(doc2, childNode, docData, orgLocationNodes);\n });\n }\n};\nvar insertVNodeAnnotations = (doc2, hostElm, vnode, docData, cmpData) => {\n if (vnode != null) {\n const hostId = ++docData.hostIds;\n hostElm.setAttribute(HYDRATE_ID, hostId);\n if (hostElm[\"s-cr\"] != null) {\n hostElm[\"s-cr\"].nodeValue = `${CONTENT_REF_ID}.${hostId}`;\n }\n if (vnode.$children$ != null) {\n const depth = 0;\n vnode.$children$.forEach((vnodeChild, index) => {\n insertChildVNodeAnnotations(doc2, vnodeChild, cmpData, hostId, depth, index);\n });\n }\n if (hostElm && vnode && vnode.$elm$ && !hostElm.hasAttribute(HYDRATE_CHILD_ID)) {\n const parent = hostElm.parentElement;\n if (parent && parent.childNodes) {\n const parentChildNodes = Array.from(parent.childNodes);\n const comment = parentChildNodes.find(\n (node) => node.nodeType === 8 /* CommentNode */ && node[\"s-sr\"]\n );\n if (comment) {\n const index = parentChildNodes.indexOf(hostElm) - 1;\n vnode.$elm$.setAttribute(\n HYDRATE_CHILD_ID,\n `${comment[\"s-host-id\"]}.${comment[\"s-node-id\"]}.0.${index}`\n );\n }\n }\n }\n }\n};\nvar insertChildVNodeAnnotations = (doc2, vnodeChild, cmpData, hostId, depth, index) => {\n const childElm = vnodeChild.$elm$;\n if (childElm == null) {\n return;\n }\n const nodeId = cmpData.nodeIds++;\n const childId = `${hostId}.${nodeId}.${depth}.${index}`;\n childElm[\"s-host-id\"] = hostId;\n childElm[\"s-node-id\"] = nodeId;\n if (childElm.nodeType === 1 /* ElementNode */) {\n childElm.setAttribute(HYDRATE_CHILD_ID, childId);\n } else if (childElm.nodeType === 3 /* TextNode */) {\n const parentNode = childElm.parentNode;\n const nodeName = parentNode == null ? void 0 : parentNode.nodeName;\n if (nodeName !== \"STYLE\" && nodeName !== \"SCRIPT\") {\n const textNodeId = `${TEXT_NODE_ID}.${childId}`;\n const commentBeforeTextNode = doc2.createComment(textNodeId);\n insertBefore(parentNode, commentBeforeTextNode, childElm);\n }\n } else if (childElm.nodeType === 8 /* CommentNode */) {\n if (childElm[\"s-sr\"]) {\n const slotName = childElm[\"s-sn\"] || \"\";\n const slotNodeId = `${SLOT_NODE_ID}.${childId}.${slotName}`;\n childElm.nodeValue = slotNodeId;\n }\n }\n if (vnodeChild.$children$ != null) {\n const childDepth = depth + 1;\n vnodeChild.$children$.forEach((vnode, index2) => {\n insertChildVNodeAnnotations(doc2, vnode, cmpData, hostId, childDepth, index2);\n });\n }\n};\nexport {\n BUILD27 as BUILD,\n Build,\n Env,\n Fragment,\n H,\n H as HTMLElement,\n Host,\n NAMESPACE2 as NAMESPACE,\n STENCIL_DEV_MODE,\n addHostEventListeners,\n bootstrapLazy,\n cmpModules,\n connectedCallback,\n consoleDevError,\n consoleDevInfo,\n consoleDevWarn,\n consoleError,\n createEvent,\n defineCustomElement,\n disconnectedCallback,\n doc,\n forceModeUpdate,\n forceUpdate,\n getAssetPath,\n getElement,\n getHostRef,\n getMode,\n getRenderingRef,\n getValue,\n h,\n insertVdomAnnotations,\n isMemberInElement,\n loadModule,\n modeResolutionChain,\n nextTick,\n parsePropertyValue,\n plt,\n postUpdateComponent,\n promiseResolve,\n proxyComponent,\n proxyCustomElement,\n readTask,\n registerHost,\n registerInstance,\n renderVdom,\n setAssetPath,\n setErrorHandler,\n setMode,\n setNonce,\n setPlatformHelpers,\n setPlatformOptions,\n setValue,\n styles,\n supportsConstructableStylesheets,\n supportsListenerOptions,\n supportsShadow,\n win,\n writeTask\n};\n","import Duration from \"./duration.js\";\nimport Interval from \"./interval.js\";\nimport Settings from \"./settings.js\";\nimport Info from \"./info.js\";\nimport Formatter from \"./impl/formatter.js\";\nimport FixedOffsetZone from \"./zones/fixedOffsetZone.js\";\nimport Locale from \"./impl/locale.js\";\nimport {\n isUndefined,\n maybeArray,\n isDate,\n isNumber,\n bestBy,\n daysInMonth,\n daysInYear,\n isLeapYear,\n weeksInWeekYear,\n normalizeObject,\n roundTo,\n objToLocalTS,\n padStart,\n} from \"./impl/util.js\";\nimport { normalizeZone } from \"./impl/zoneUtil.js\";\nimport diff from \"./impl/diff.js\";\nimport { parseRFC2822Date, parseISODate, parseHTTPDate, parseSQL } from \"./impl/regexParser.js\";\nimport {\n parseFromTokens,\n explainFromTokens,\n formatOptsToTokens,\n expandMacroTokens,\n TokenParser,\n} from \"./impl/tokenParser.js\";\nimport {\n gregorianToWeek,\n weekToGregorian,\n gregorianToOrdinal,\n ordinalToGregorian,\n hasInvalidGregorianData,\n hasInvalidWeekData,\n hasInvalidOrdinalData,\n hasInvalidTimeData,\n usesLocalWeekValues,\n isoWeekdayToLocal,\n} from \"./impl/conversions.js\";\nimport * as Formats from \"./impl/formats.js\";\nimport {\n InvalidArgumentError,\n ConflictingSpecificationError,\n InvalidUnitError,\n InvalidDateTimeError,\n} from \"./errors.js\";\nimport Invalid from \"./impl/invalid.js\";\n\nconst INVALID = \"Invalid DateTime\";\nconst MAX_DATE = 8.64e15;\n\nfunction unsupportedZone(zone) {\n return new Invalid(\"unsupported zone\", `the zone \"${zone.name}\" is not supported`);\n}\n\n// we cache week data on the DT object and this intermediates the cache\n/**\n * @param {DateTime} dt\n */\nfunction possiblyCachedWeekData(dt) {\n if (dt.weekData === null) {\n dt.weekData = gregorianToWeek(dt.c);\n }\n return dt.weekData;\n}\n\n/**\n * @param {DateTime} dt\n */\nfunction possiblyCachedLocalWeekData(dt) {\n if (dt.localWeekData === null) {\n dt.localWeekData = gregorianToWeek(\n dt.c,\n dt.loc.getMinDaysInFirstWeek(),\n dt.loc.getStartOfWeek()\n );\n }\n return dt.localWeekData;\n}\n\n// clone really means, \"make a new object with these modifications\". all \"setters\" really use this\n// to create a new object while only changing some of the properties\nfunction clone(inst, alts) {\n const current = {\n ts: inst.ts,\n zone: inst.zone,\n c: inst.c,\n o: inst.o,\n loc: inst.loc,\n invalid: inst.invalid,\n };\n return new DateTime({ ...current, ...alts, old: current });\n}\n\n// find the right offset a given local time. The o input is our guess, which determines which\n// offset we'll pick in ambiguous cases (e.g. there are two 3 AMs b/c Fallback DST)\nfunction fixOffset(localTS, o, tz) {\n // Our UTC time is just a guess because our offset is just a guess\n let utcGuess = localTS - o * 60 * 1000;\n\n // Test whether the zone matches the offset for this ts\n const o2 = tz.offset(utcGuess);\n\n // If so, offset didn't change and we're done\n if (o === o2) {\n return [utcGuess, o];\n }\n\n // If not, change the ts by the difference in the offset\n utcGuess -= (o2 - o) * 60 * 1000;\n\n // If that gives us the local time we want, we're done\n const o3 = tz.offset(utcGuess);\n if (o2 === o3) {\n return [utcGuess, o2];\n }\n\n // If it's different, we're in a hole time. The offset has changed, but the we don't adjust the time\n return [localTS - Math.min(o2, o3) * 60 * 1000, Math.max(o2, o3)];\n}\n\n// convert an epoch timestamp into a calendar object with the given offset\nfunction tsToObj(ts, offset) {\n ts += offset * 60 * 1000;\n\n const d = new Date(ts);\n\n return {\n year: d.getUTCFullYear(),\n month: d.getUTCMonth() + 1,\n day: d.getUTCDate(),\n hour: d.getUTCHours(),\n minute: d.getUTCMinutes(),\n second: d.getUTCSeconds(),\n millisecond: d.getUTCMilliseconds(),\n };\n}\n\n// convert a calendar object to a epoch timestamp\nfunction objToTS(obj, offset, zone) {\n return fixOffset(objToLocalTS(obj), offset, zone);\n}\n\n// create a new DT instance by adding a duration, adjusting for DSTs\nfunction adjustTime(inst, dur) {\n const oPre = inst.o,\n year = inst.c.year + Math.trunc(dur.years),\n month = inst.c.month + Math.trunc(dur.months) + Math.trunc(dur.quarters) * 3,\n c = {\n ...inst.c,\n year,\n month,\n day:\n Math.min(inst.c.day, daysInMonth(year, month)) +\n Math.trunc(dur.days) +\n Math.trunc(dur.weeks) * 7,\n },\n millisToAdd = Duration.fromObject({\n years: dur.years - Math.trunc(dur.years),\n quarters: dur.quarters - Math.trunc(dur.quarters),\n months: dur.months - Math.trunc(dur.months),\n weeks: dur.weeks - Math.trunc(dur.weeks),\n days: dur.days - Math.trunc(dur.days),\n hours: dur.hours,\n minutes: dur.minutes,\n seconds: dur.seconds,\n milliseconds: dur.milliseconds,\n }).as(\"milliseconds\"),\n localTS = objToLocalTS(c);\n\n let [ts, o] = fixOffset(localTS, oPre, inst.zone);\n\n if (millisToAdd !== 0) {\n ts += millisToAdd;\n // that could have changed the offset by going over a DST, but we want to keep the ts the same\n o = inst.zone.offset(ts);\n }\n\n return { ts, o };\n}\n\n// helper useful in turning the results of parsing into real dates\n// by handling the zone options\nfunction parseDataToDateTime(parsed, parsedZone, opts, format, text, specificOffset) {\n const { setZone, zone } = opts;\n if ((parsed && Object.keys(parsed).length !== 0) || parsedZone) {\n const interpretationZone = parsedZone || zone,\n inst = DateTime.fromObject(parsed, {\n ...opts,\n zone: interpretationZone,\n specificOffset,\n });\n return setZone ? inst : inst.setZone(zone);\n } else {\n return DateTime.invalid(\n new Invalid(\"unparsable\", `the input \"${text}\" can't be parsed as ${format}`)\n );\n }\n}\n\n// if you want to output a technical format (e.g. RFC 2822), this helper\n// helps handle the details\nfunction toTechFormat(dt, format, allowZ = true) {\n return dt.isValid\n ? Formatter.create(Locale.create(\"en-US\"), {\n allowZ,\n forceSimple: true,\n }).formatDateTimeFromString(dt, format)\n : null;\n}\n\nfunction toISODate(o, extended) {\n const longFormat = o.c.year > 9999 || o.c.year < 0;\n let c = \"\";\n if (longFormat && o.c.year >= 0) c += \"+\";\n c += padStart(o.c.year, longFormat ? 6 : 4);\n\n if (extended) {\n c += \"-\";\n c += padStart(o.c.month);\n c += \"-\";\n c += padStart(o.c.day);\n } else {\n c += padStart(o.c.month);\n c += padStart(o.c.day);\n }\n return c;\n}\n\nfunction toISOTime(\n o,\n extended,\n suppressSeconds,\n suppressMilliseconds,\n includeOffset,\n extendedZone\n) {\n let c = padStart(o.c.hour);\n if (extended) {\n c += \":\";\n c += padStart(o.c.minute);\n if (o.c.millisecond !== 0 || o.c.second !== 0 || !suppressSeconds) {\n c += \":\";\n }\n } else {\n c += padStart(o.c.minute);\n }\n\n if (o.c.millisecond !== 0 || o.c.second !== 0 || !suppressSeconds) {\n c += padStart(o.c.second);\n\n if (o.c.millisecond !== 0 || !suppressMilliseconds) {\n c += \".\";\n c += padStart(o.c.millisecond, 3);\n }\n }\n\n if (includeOffset) {\n if (o.isOffsetFixed && o.offset === 0 && !extendedZone) {\n c += \"Z\";\n } else if (o.o < 0) {\n c += \"-\";\n c += padStart(Math.trunc(-o.o / 60));\n c += \":\";\n c += padStart(Math.trunc(-o.o % 60));\n } else {\n c += \"+\";\n c += padStart(Math.trunc(o.o / 60));\n c += \":\";\n c += padStart(Math.trunc(o.o % 60));\n }\n }\n\n if (extendedZone) {\n c += \"[\" + o.zone.ianaName + \"]\";\n }\n return c;\n}\n\n// defaults for unspecified units in the supported calendars\nconst defaultUnitValues = {\n month: 1,\n day: 1,\n hour: 0,\n minute: 0,\n second: 0,\n millisecond: 0,\n },\n defaultWeekUnitValues = {\n weekNumber: 1,\n weekday: 1,\n hour: 0,\n minute: 0,\n second: 0,\n millisecond: 0,\n },\n defaultOrdinalUnitValues = {\n ordinal: 1,\n hour: 0,\n minute: 0,\n second: 0,\n millisecond: 0,\n };\n\n// Units in the supported calendars, sorted by bigness\nconst orderedUnits = [\"year\", \"month\", \"day\", \"hour\", \"minute\", \"second\", \"millisecond\"],\n orderedWeekUnits = [\n \"weekYear\",\n \"weekNumber\",\n \"weekday\",\n \"hour\",\n \"minute\",\n \"second\",\n \"millisecond\",\n ],\n orderedOrdinalUnits = [\"year\", \"ordinal\", \"hour\", \"minute\", \"second\", \"millisecond\"];\n\n// standardize case and plurality in units\nfunction normalizeUnit(unit) {\n const normalized = {\n year: \"year\",\n years: \"year\",\n month: \"month\",\n months: \"month\",\n day: \"day\",\n days: \"day\",\n hour: \"hour\",\n hours: \"hour\",\n minute: \"minute\",\n minutes: \"minute\",\n quarter: \"quarter\",\n quarters: \"quarter\",\n second: \"second\",\n seconds: \"second\",\n millisecond: \"millisecond\",\n milliseconds: \"millisecond\",\n weekday: \"weekday\",\n weekdays: \"weekday\",\n weeknumber: \"weekNumber\",\n weeksnumber: \"weekNumber\",\n weeknumbers: \"weekNumber\",\n weekyear: \"weekYear\",\n weekyears: \"weekYear\",\n ordinal: \"ordinal\",\n }[unit.toLowerCase()];\n\n if (!normalized) throw new InvalidUnitError(unit);\n\n return normalized;\n}\n\nfunction normalizeUnitWithLocalWeeks(unit) {\n switch (unit.toLowerCase()) {\n case \"localweekday\":\n case \"localweekdays\":\n return \"localWeekday\";\n case \"localweeknumber\":\n case \"localweeknumbers\":\n return \"localWeekNumber\";\n case \"localweekyear\":\n case \"localweekyears\":\n return \"localWeekYear\";\n default:\n return normalizeUnit(unit);\n }\n}\n\n// cache offsets for zones based on the current timestamp when this function is\n// first called. When we are handling a datetime from components like (year,\n// month, day, hour) in a time zone, we need a guess about what the timezone\n// offset is so that we can convert into a UTC timestamp. One way is to find the\n// offset of now in the zone. The actual date may have a different offset (for\n// example, if we handle a date in June while we're in December in a zone that\n// observes DST), but we can check and adjust that.\n//\n// When handling many dates, calculating the offset for now every time is\n// expensive. It's just a guess, so we can cache the offset to use even if we\n// are right on a time change boundary (we'll just correct in the other\n// direction). Using a timestamp from first read is a slight optimization for\n// handling dates close to the current date, since those dates will usually be\n// in the same offset (we could set the timestamp statically, instead). We use a\n// single timestamp for all zones to make things a bit more predictable.\n//\n// This is safe for quickDT (used by local() and utc()) because we don't fill in\n// higher-order units from tsNow (as we do in fromObject, this requires that\n// offset is calculated from tsNow).\nfunction guessOffsetForZone(zone) {\n if (!zoneOffsetGuessCache[zone]) {\n if (zoneOffsetTs === undefined) {\n zoneOffsetTs = Settings.now();\n }\n\n zoneOffsetGuessCache[zone] = zone.offset(zoneOffsetTs);\n }\n return zoneOffsetGuessCache[zone];\n}\n\n// this is a dumbed down version of fromObject() that runs about 60% faster\n// but doesn't do any validation, makes a bunch of assumptions about what units\n// are present, and so on.\nfunction quickDT(obj, opts) {\n const zone = normalizeZone(opts.zone, Settings.defaultZone);\n if (!zone.isValid) {\n return DateTime.invalid(unsupportedZone(zone));\n }\n\n const loc = Locale.fromObject(opts);\n\n let ts, o;\n\n // assume we have the higher-order units\n if (!isUndefined(obj.year)) {\n for (const u of orderedUnits) {\n if (isUndefined(obj[u])) {\n obj[u] = defaultUnitValues[u];\n }\n }\n\n const invalid = hasInvalidGregorianData(obj) || hasInvalidTimeData(obj);\n if (invalid) {\n return DateTime.invalid(invalid);\n }\n\n const offsetProvis = guessOffsetForZone(zone);\n [ts, o] = objToTS(obj, offsetProvis, zone);\n } else {\n ts = Settings.now();\n }\n\n return new DateTime({ ts, zone, loc, o });\n}\n\nfunction diffRelative(start, end, opts) {\n const round = isUndefined(opts.round) ? true : opts.round,\n format = (c, unit) => {\n c = roundTo(c, round || opts.calendary ? 0 : 2, true);\n const formatter = end.loc.clone(opts).relFormatter(opts);\n return formatter.format(c, unit);\n },\n differ = (unit) => {\n if (opts.calendary) {\n if (!end.hasSame(start, unit)) {\n return end.startOf(unit).diff(start.startOf(unit), unit).get(unit);\n } else return 0;\n } else {\n return end.diff(start, unit).get(unit);\n }\n };\n\n if (opts.unit) {\n return format(differ(opts.unit), opts.unit);\n }\n\n for (const unit of opts.units) {\n const count = differ(unit);\n if (Math.abs(count) >= 1) {\n return format(count, unit);\n }\n }\n return format(start > end ? -0 : 0, opts.units[opts.units.length - 1]);\n}\n\nfunction lastOpts(argList) {\n let opts = {},\n args;\n if (argList.length > 0 && typeof argList[argList.length - 1] === \"object\") {\n opts = argList[argList.length - 1];\n args = Array.from(argList).slice(0, argList.length - 1);\n } else {\n args = Array.from(argList);\n }\n return [opts, args];\n}\n\n/**\n * Timestamp to use for cached zone offset guesses (exposed for test)\n */\nlet zoneOffsetTs;\n/**\n * Cache for zone offset guesses (exposed for test).\n *\n * This optimizes quickDT via guessOffsetForZone to avoid repeated calls of\n * zone.offset().\n */\nlet zoneOffsetGuessCache = {};\n\n/**\n * A DateTime is an immutable data structure representing a specific date and time and accompanying methods. It contains class and instance methods for creating, parsing, interrogating, transforming, and formatting them.\n *\n * A DateTime comprises of:\n * * A timestamp. Each DateTime instance refers to a specific millisecond of the Unix epoch.\n * * A time zone. Each instance is considered in the context of a specific zone (by default the local system's zone).\n * * Configuration properties that effect how output strings are formatted, such as `locale`, `numberingSystem`, and `outputCalendar`.\n *\n * Here is a brief overview of the most commonly used functionality it provides:\n *\n * * **Creation**: To create a DateTime from its components, use one of its factory class methods: {@link DateTime.local}, {@link DateTime.utc}, and (most flexibly) {@link DateTime.fromObject}. To create one from a standard string format, use {@link DateTime.fromISO}, {@link DateTime.fromHTTP}, and {@link DateTime.fromRFC2822}. To create one from a custom string format, use {@link DateTime.fromFormat}. To create one from a native JS date, use {@link DateTime.fromJSDate}.\n * * **Gregorian calendar and time**: To examine the Gregorian properties of a DateTime individually (i.e as opposed to collectively through {@link DateTime#toObject}), use the {@link DateTime#year}, {@link DateTime#month},\n * {@link DateTime#day}, {@link DateTime#hour}, {@link DateTime#minute}, {@link DateTime#second}, {@link DateTime#millisecond} accessors.\n * * **Week calendar**: For ISO week calendar attributes, see the {@link DateTime#weekYear}, {@link DateTime#weekNumber}, and {@link DateTime#weekday} accessors.\n * * **Configuration** See the {@link DateTime#locale} and {@link DateTime#numberingSystem} accessors.\n * * **Transformation**: To transform the DateTime into other DateTimes, use {@link DateTime#set}, {@link DateTime#reconfigure}, {@link DateTime#setZone}, {@link DateTime#setLocale}, {@link DateTime.plus}, {@link DateTime#minus}, {@link DateTime#endOf}, {@link DateTime#startOf}, {@link DateTime#toUTC}, and {@link DateTime#toLocal}.\n * * **Output**: To convert the DateTime to other representations, use the {@link DateTime#toRelative}, {@link DateTime#toRelativeCalendar}, {@link DateTime#toJSON}, {@link DateTime#toISO}, {@link DateTime#toHTTP}, {@link DateTime#toObject}, {@link DateTime#toRFC2822}, {@link DateTime#toString}, {@link DateTime#toLocaleString}, {@link DateTime#toFormat}, {@link DateTime#toMillis} and {@link DateTime#toJSDate}.\n *\n * There's plenty others documented below. In addition, for more information on subtler topics like internationalization, time zones, alternative calendars, validity, and so on, see the external documentation.\n */\nexport default class DateTime {\n /**\n * @access private\n */\n constructor(config) {\n const zone = config.zone || Settings.defaultZone;\n\n let invalid =\n config.invalid ||\n (Number.isNaN(config.ts) ? new Invalid(\"invalid input\") : null) ||\n (!zone.isValid ? unsupportedZone(zone) : null);\n /**\n * @access private\n */\n this.ts = isUndefined(config.ts) ? Settings.now() : config.ts;\n\n let c = null,\n o = null;\n if (!invalid) {\n const unchanged = config.old && config.old.ts === this.ts && config.old.zone.equals(zone);\n\n if (unchanged) {\n [c, o] = [config.old.c, config.old.o];\n } else {\n // If an offset has been passed and we have not been called from\n // clone(), we can trust it and avoid the offset calculation.\n const ot = isNumber(config.o) && !config.old ? config.o : zone.offset(this.ts);\n c = tsToObj(this.ts, ot);\n invalid = Number.isNaN(c.year) ? new Invalid(\"invalid input\") : null;\n c = invalid ? null : c;\n o = invalid ? null : ot;\n }\n }\n\n /**\n * @access private\n */\n this._zone = zone;\n /**\n * @access private\n */\n this.loc = config.loc || Locale.create();\n /**\n * @access private\n */\n this.invalid = invalid;\n /**\n * @access private\n */\n this.weekData = null;\n /**\n * @access private\n */\n this.localWeekData = null;\n /**\n * @access private\n */\n this.c = c;\n /**\n * @access private\n */\n this.o = o;\n /**\n * @access private\n */\n this.isLuxonDateTime = true;\n }\n\n // CONSTRUCT\n\n /**\n * Create a DateTime for the current instant, in the system's time zone.\n *\n * Use Settings to override these default values if needed.\n * @example DateTime.now().toISO() //~> now in the ISO format\n * @return {DateTime}\n */\n static now() {\n return new DateTime({});\n }\n\n /**\n * Create a local DateTime\n * @param {number} [year] - The calendar year. If omitted (as in, call `local()` with no arguments), the current time will be used\n * @param {number} [month=1] - The month, 1-indexed\n * @param {number} [day=1] - The day of the month, 1-indexed\n * @param {number} [hour=0] - The hour of the day, in 24-hour time\n * @param {number} [minute=0] - The minute of the hour, meaning a number between 0 and 59\n * @param {number} [second=0] - The second of the minute, meaning a number between 0 and 59\n * @param {number} [millisecond=0] - The millisecond of the second, meaning a number between 0 and 999\n * @example DateTime.local() //~> now\n * @example DateTime.local({ zone: \"America/New_York\" }) //~> now, in US east coast time\n * @example DateTime.local(2017) //~> 2017-01-01T00:00:00\n * @example DateTime.local(2017, 3) //~> 2017-03-01T00:00:00\n * @example DateTime.local(2017, 3, 12, { locale: \"fr\" }) //~> 2017-03-12T00:00:00, with a French locale\n * @example DateTime.local(2017, 3, 12, 5) //~> 2017-03-12T05:00:00\n * @example DateTime.local(2017, 3, 12, 5, { zone: \"utc\" }) //~> 2017-03-12T05:00:00, in UTC\n * @example DateTime.local(2017, 3, 12, 5, 45) //~> 2017-03-12T05:45:00\n * @example DateTime.local(2017, 3, 12, 5, 45, 10) //~> 2017-03-12T05:45:10\n * @example DateTime.local(2017, 3, 12, 5, 45, 10, 765) //~> 2017-03-12T05:45:10.765\n * @return {DateTime}\n */\n static local() {\n const [opts, args] = lastOpts(arguments),\n [year, month, day, hour, minute, second, millisecond] = args;\n return quickDT({ year, month, day, hour, minute, second, millisecond }, opts);\n }\n\n /**\n * Create a DateTime in UTC\n * @param {number} [year] - The calendar year. If omitted (as in, call `utc()` with no arguments), the current time will be used\n * @param {number} [month=1] - The month, 1-indexed\n * @param {number} [day=1] - The day of the month\n * @param {number} [hour=0] - The hour of the day, in 24-hour time\n * @param {number} [minute=0] - The minute of the hour, meaning a number between 0 and 59\n * @param {number} [second=0] - The second of the minute, meaning a number between 0 and 59\n * @param {number} [millisecond=0] - The millisecond of the second, meaning a number between 0 and 999\n * @param {Object} options - configuration options for the DateTime\n * @param {string} [options.locale] - a locale to set on the resulting DateTime instance\n * @param {string} [options.outputCalendar] - the output calendar to set on the resulting DateTime instance\n * @param {string} [options.numberingSystem] - the numbering system to set on the resulting DateTime instance\n * @param {string} [options.weekSettings] - the week settings to set on the resulting DateTime instance\n * @example DateTime.utc() //~> now\n * @example DateTime.utc(2017) //~> 2017-01-01T00:00:00Z\n * @example DateTime.utc(2017, 3) //~> 2017-03-01T00:00:00Z\n * @example DateTime.utc(2017, 3, 12) //~> 2017-03-12T00:00:00Z\n * @example DateTime.utc(2017, 3, 12, 5) //~> 2017-03-12T05:00:00Z\n * @example DateTime.utc(2017, 3, 12, 5, 45) //~> 2017-03-12T05:45:00Z\n * @example DateTime.utc(2017, 3, 12, 5, 45, { locale: \"fr\" }) //~> 2017-03-12T05:45:00Z with a French locale\n * @example DateTime.utc(2017, 3, 12, 5, 45, 10) //~> 2017-03-12T05:45:10Z\n * @example DateTime.utc(2017, 3, 12, 5, 45, 10, 765, { locale: \"fr\" }) //~> 2017-03-12T05:45:10.765Z with a French locale\n * @return {DateTime}\n */\n static utc() {\n const [opts, args] = lastOpts(arguments),\n [year, month, day, hour, minute, second, millisecond] = args;\n\n opts.zone = FixedOffsetZone.utcInstance;\n return quickDT({ year, month, day, hour, minute, second, millisecond }, opts);\n }\n\n /**\n * Create a DateTime from a JavaScript Date object. Uses the default zone.\n * @param {Date} date - a JavaScript Date object\n * @param {Object} options - configuration options for the DateTime\n * @param {string|Zone} [options.zone='local'] - the zone to place the DateTime into\n * @return {DateTime}\n */\n static fromJSDate(date, options = {}) {\n const ts = isDate(date) ? date.valueOf() : NaN;\n if (Number.isNaN(ts)) {\n return DateTime.invalid(\"invalid input\");\n }\n\n const zoneToUse = normalizeZone(options.zone, Settings.defaultZone);\n if (!zoneToUse.isValid) {\n return DateTime.invalid(unsupportedZone(zoneToUse));\n }\n\n return new DateTime({\n ts: ts,\n zone: zoneToUse,\n loc: Locale.fromObject(options),\n });\n }\n\n /**\n * Create a DateTime from a number of milliseconds since the epoch (meaning since 1 January 1970 00:00:00 UTC). Uses the default zone.\n * @param {number} milliseconds - a number of milliseconds since 1970 UTC\n * @param {Object} options - configuration options for the DateTime\n * @param {string|Zone} [options.zone='local'] - the zone to place the DateTime into\n * @param {string} [options.locale] - a locale to set on the resulting DateTime instance\n * @param {string} options.outputCalendar - the output calendar to set on the resulting DateTime instance\n * @param {string} options.numberingSystem - the numbering system to set on the resulting DateTime instance\n * @param {string} options.weekSettings - the week settings to set on the resulting DateTime instance\n * @return {DateTime}\n */\n static fromMillis(milliseconds, options = {}) {\n if (!isNumber(milliseconds)) {\n throw new InvalidArgumentError(\n `fromMillis requires a numerical input, but received a ${typeof milliseconds} with value ${milliseconds}`\n );\n } else if (milliseconds < -MAX_DATE || milliseconds > MAX_DATE) {\n // this isn't perfect because we can still end up out of range because of additional shifting, but it's a start\n return DateTime.invalid(\"Timestamp out of range\");\n } else {\n return new DateTime({\n ts: milliseconds,\n zone: normalizeZone(options.zone, Settings.defaultZone),\n loc: Locale.fromObject(options),\n });\n }\n }\n\n /**\n * Create a DateTime from a number of seconds since the epoch (meaning since 1 January 1970 00:00:00 UTC). Uses the default zone.\n * @param {number} seconds - a number of seconds since 1970 UTC\n * @param {Object} options - configuration options for the DateTime\n * @param {string|Zone} [options.zone='local'] - the zone to place the DateTime into\n * @param {string} [options.locale] - a locale to set on the resulting DateTime instance\n * @param {string} options.outputCalendar - the output calendar to set on the resulting DateTime instance\n * @param {string} options.numberingSystem - the numbering system to set on the resulting DateTime instance\n * @param {string} options.weekSettings - the week settings to set on the resulting DateTime instance\n * @return {DateTime}\n */\n static fromSeconds(seconds, options = {}) {\n if (!isNumber(seconds)) {\n throw new InvalidArgumentError(\"fromSeconds requires a numerical input\");\n } else {\n return new DateTime({\n ts: seconds * 1000,\n zone: normalizeZone(options.zone, Settings.defaultZone),\n loc: Locale.fromObject(options),\n });\n }\n }\n\n /**\n * Create a DateTime from a JavaScript object with keys like 'year' and 'hour' with reasonable defaults.\n * @param {Object} obj - the object to create the DateTime from\n * @param {number} obj.year - a year, such as 1987\n * @param {number} obj.month - a month, 1-12\n * @param {number} obj.day - a day of the month, 1-31, depending on the month\n * @param {number} obj.ordinal - day of the year, 1-365 or 366\n * @param {number} obj.weekYear - an ISO week year\n * @param {number} obj.weekNumber - an ISO week number, between 1 and 52 or 53, depending on the year\n * @param {number} obj.weekday - an ISO weekday, 1-7, where 1 is Monday and 7 is Sunday\n * @param {number} obj.localWeekYear - a week year, according to the locale\n * @param {number} obj.localWeekNumber - a week number, between 1 and 52 or 53, depending on the year, according to the locale\n * @param {number} obj.localWeekday - a weekday, 1-7, where 1 is the first and 7 is the last day of the week, according to the locale\n * @param {number} obj.hour - hour of the day, 0-23\n * @param {number} obj.minute - minute of the hour, 0-59\n * @param {number} obj.second - second of the minute, 0-59\n * @param {number} obj.millisecond - millisecond of the second, 0-999\n * @param {Object} opts - options for creating this DateTime\n * @param {string|Zone} [opts.zone='local'] - interpret the numbers in the context of a particular zone. Can take any value taken as the first argument to setZone()\n * @param {string} [opts.locale='system\\'s locale'] - a locale to set on the resulting DateTime instance\n * @param {string} opts.outputCalendar - the output calendar to set on the resulting DateTime instance\n * @param {string} opts.numberingSystem - the numbering system to set on the resulting DateTime instance\n * @param {string} opts.weekSettings - the week settings to set on the resulting DateTime instance\n * @example DateTime.fromObject({ year: 1982, month: 5, day: 25}).toISODate() //=> '1982-05-25'\n * @example DateTime.fromObject({ year: 1982 }).toISODate() //=> '1982-01-01'\n * @example DateTime.fromObject({ hour: 10, minute: 26, second: 6 }) //~> today at 10:26:06\n * @example DateTime.fromObject({ hour: 10, minute: 26, second: 6 }, { zone: 'utc' }),\n * @example DateTime.fromObject({ hour: 10, minute: 26, second: 6 }, { zone: 'local' })\n * @example DateTime.fromObject({ hour: 10, minute: 26, second: 6 }, { zone: 'America/New_York' })\n * @example DateTime.fromObject({ weekYear: 2016, weekNumber: 2, weekday: 3 }).toISODate() //=> '2016-01-13'\n * @example DateTime.fromObject({ localWeekYear: 2022, localWeekNumber: 1, localWeekday: 1 }, { locale: \"en-US\" }).toISODate() //=> '2021-12-26'\n * @return {DateTime}\n */\n static fromObject(obj, opts = {}) {\n obj = obj || {};\n const zoneToUse = normalizeZone(opts.zone, Settings.defaultZone);\n if (!zoneToUse.isValid) {\n return DateTime.invalid(unsupportedZone(zoneToUse));\n }\n\n const loc = Locale.fromObject(opts);\n const normalized = normalizeObject(obj, normalizeUnitWithLocalWeeks);\n const { minDaysInFirstWeek, startOfWeek } = usesLocalWeekValues(normalized, loc);\n\n const tsNow = Settings.now(),\n offsetProvis = !isUndefined(opts.specificOffset)\n ? opts.specificOffset\n : zoneToUse.offset(tsNow),\n containsOrdinal = !isUndefined(normalized.ordinal),\n containsGregorYear = !isUndefined(normalized.year),\n containsGregorMD = !isUndefined(normalized.month) || !isUndefined(normalized.day),\n containsGregor = containsGregorYear || containsGregorMD,\n definiteWeekDef = normalized.weekYear || normalized.weekNumber;\n\n // cases:\n // just a weekday -> this week's instance of that weekday, no worries\n // (gregorian data or ordinal) + (weekYear or weekNumber) -> error\n // (gregorian month or day) + ordinal -> error\n // otherwise just use weeks or ordinals or gregorian, depending on what's specified\n\n if ((containsGregor || containsOrdinal) && definiteWeekDef) {\n throw new ConflictingSpecificationError(\n \"Can't mix weekYear/weekNumber units with year/month/day or ordinals\"\n );\n }\n\n if (containsGregorMD && containsOrdinal) {\n throw new ConflictingSpecificationError(\"Can't mix ordinal dates with month/day\");\n }\n\n const useWeekData = definiteWeekDef || (normalized.weekday && !containsGregor);\n\n // configure ourselves to deal with gregorian dates or week stuff\n let units,\n defaultValues,\n objNow = tsToObj(tsNow, offsetProvis);\n if (useWeekData) {\n units = orderedWeekUnits;\n defaultValues = defaultWeekUnitValues;\n objNow = gregorianToWeek(objNow, minDaysInFirstWeek, startOfWeek);\n } else if (containsOrdinal) {\n units = orderedOrdinalUnits;\n defaultValues = defaultOrdinalUnitValues;\n objNow = gregorianToOrdinal(objNow);\n } else {\n units = orderedUnits;\n defaultValues = defaultUnitValues;\n }\n\n // set default values for missing stuff\n let foundFirst = false;\n for (const u of units) {\n const v = normalized[u];\n if (!isUndefined(v)) {\n foundFirst = true;\n } else if (foundFirst) {\n normalized[u] = defaultValues[u];\n } else {\n normalized[u] = objNow[u];\n }\n }\n\n // make sure the values we have are in range\n const higherOrderInvalid = useWeekData\n ? hasInvalidWeekData(normalized, minDaysInFirstWeek, startOfWeek)\n : containsOrdinal\n ? hasInvalidOrdinalData(normalized)\n : hasInvalidGregorianData(normalized),\n invalid = higherOrderInvalid || hasInvalidTimeData(normalized);\n\n if (invalid) {\n return DateTime.invalid(invalid);\n }\n\n // compute the actual time\n const gregorian = useWeekData\n ? weekToGregorian(normalized, minDaysInFirstWeek, startOfWeek)\n : containsOrdinal\n ? ordinalToGregorian(normalized)\n : normalized,\n [tsFinal, offsetFinal] = objToTS(gregorian, offsetProvis, zoneToUse),\n inst = new DateTime({\n ts: tsFinal,\n zone: zoneToUse,\n o: offsetFinal,\n loc,\n });\n\n // gregorian data + weekday serves only to validate\n if (normalized.weekday && containsGregor && obj.weekday !== inst.weekday) {\n return DateTime.invalid(\n \"mismatched weekday\",\n `you can't specify both a weekday of ${normalized.weekday} and a date of ${inst.toISO()}`\n );\n }\n\n if (!inst.isValid) {\n return DateTime.invalid(inst.invalid);\n }\n\n return inst;\n }\n\n /**\n * Create a DateTime from an ISO 8601 string\n * @param {string} text - the ISO string\n * @param {Object} opts - options to affect the creation\n * @param {string|Zone} [opts.zone='local'] - use this zone if no offset is specified in the input string itself. Will also convert the time to this zone\n * @param {boolean} [opts.setZone=false] - override the zone with a fixed-offset zone specified in the string itself, if it specifies one\n * @param {string} [opts.locale='system's locale'] - a locale to set on the resulting DateTime instance\n * @param {string} [opts.outputCalendar] - the output calendar to set on the resulting DateTime instance\n * @param {string} [opts.numberingSystem] - the numbering system to set on the resulting DateTime instance\n * @param {string} [opts.weekSettings] - the week settings to set on the resulting DateTime instance\n * @example DateTime.fromISO('2016-05-25T09:08:34.123')\n * @example DateTime.fromISO('2016-05-25T09:08:34.123+06:00')\n * @example DateTime.fromISO('2016-05-25T09:08:34.123+06:00', {setZone: true})\n * @example DateTime.fromISO('2016-05-25T09:08:34.123', {zone: 'utc'})\n * @example DateTime.fromISO('2016-W05-4')\n * @return {DateTime}\n */\n static fromISO(text, opts = {}) {\n const [vals, parsedZone] = parseISODate(text);\n return parseDataToDateTime(vals, parsedZone, opts, \"ISO 8601\", text);\n }\n\n /**\n * Create a DateTime from an RFC 2822 string\n * @param {string} text - the RFC 2822 string\n * @param {Object} opts - options to affect the creation\n * @param {string|Zone} [opts.zone='local'] - convert the time to this zone. Since the offset is always specified in the string itself, this has no effect on the interpretation of string, merely the zone the resulting DateTime is expressed in.\n * @param {boolean} [opts.setZone=false] - override the zone with a fixed-offset zone specified in the string itself, if it specifies one\n * @param {string} [opts.locale='system's locale'] - a locale to set on the resulting DateTime instance\n * @param {string} opts.outputCalendar - the output calendar to set on the resulting DateTime instance\n * @param {string} opts.numberingSystem - the numbering system to set on the resulting DateTime instance\n * @param {string} opts.weekSettings - the week settings to set on the resulting DateTime instance\n * @example DateTime.fromRFC2822('25 Nov 2016 13:23:12 GMT')\n * @example DateTime.fromRFC2822('Fri, 25 Nov 2016 13:23:12 +0600')\n * @example DateTime.fromRFC2822('25 Nov 2016 13:23 Z')\n * @return {DateTime}\n */\n static fromRFC2822(text, opts = {}) {\n const [vals, parsedZone] = parseRFC2822Date(text);\n return parseDataToDateTime(vals, parsedZone, opts, \"RFC 2822\", text);\n }\n\n /**\n * Create a DateTime from an HTTP header date\n * @see https://www.w3.org/Protocols/rfc2616/rfc2616-sec3.html#sec3.3.1\n * @param {string} text - the HTTP header date\n * @param {Object} opts - options to affect the creation\n * @param {string|Zone} [opts.zone='local'] - convert the time to this zone. Since HTTP dates are always in UTC, this has no effect on the interpretation of string, merely the zone the resulting DateTime is expressed in.\n * @param {boolean} [opts.setZone=false] - override the zone with the fixed-offset zone specified in the string. For HTTP dates, this is always UTC, so this option is equivalent to setting the `zone` option to 'utc', but this option is included for consistency with similar methods.\n * @param {string} [opts.locale='system's locale'] - a locale to set on the resulting DateTime instance\n * @param {string} opts.outputCalendar - the output calendar to set on the resulting DateTime instance\n * @param {string} opts.numberingSystem - the numbering system to set on the resulting DateTime instance\n * @param {string} opts.weekSettings - the week settings to set on the resulting DateTime instance\n * @example DateTime.fromHTTP('Sun, 06 Nov 1994 08:49:37 GMT')\n * @example DateTime.fromHTTP('Sunday, 06-Nov-94 08:49:37 GMT')\n * @example DateTime.fromHTTP('Sun Nov 6 08:49:37 1994')\n * @return {DateTime}\n */\n static fromHTTP(text, opts = {}) {\n const [vals, parsedZone] = parseHTTPDate(text);\n return parseDataToDateTime(vals, parsedZone, opts, \"HTTP\", opts);\n }\n\n /**\n * Create a DateTime from an input string and format string.\n * Defaults to en-US if no locale has been specified, regardless of the system's locale. For a table of tokens and their interpretations, see [here](https://moment.github.io/luxon/#/parsing?id=table-of-tokens).\n * @param {string} text - the string to parse\n * @param {string} fmt - the format the string is expected to be in (see the link below for the formats)\n * @param {Object} opts - options to affect the creation\n * @param {string|Zone} [opts.zone='local'] - use this zone if no offset is specified in the input string itself. Will also convert the DateTime to this zone\n * @param {boolean} [opts.setZone=false] - override the zone with a zone specified in the string itself, if it specifies one\n * @param {string} [opts.locale='en-US'] - a locale string to use when parsing. Will also set the DateTime to this locale\n * @param {string} opts.numberingSystem - the numbering system to use when parsing. Will also set the resulting DateTime to this numbering system\n * @param {string} opts.weekSettings - the week settings to set on the resulting DateTime instance\n * @param {string} opts.outputCalendar - the output calendar to set on the resulting DateTime instance\n * @return {DateTime}\n */\n static fromFormat(text, fmt, opts = {}) {\n if (isUndefined(text) || isUndefined(fmt)) {\n throw new InvalidArgumentError(\"fromFormat requires an input string and a format\");\n }\n\n const { locale = null, numberingSystem = null } = opts,\n localeToUse = Locale.fromOpts({\n locale,\n numberingSystem,\n defaultToEN: true,\n }),\n [vals, parsedZone, specificOffset, invalid] = parseFromTokens(localeToUse, text, fmt);\n if (invalid) {\n return DateTime.invalid(invalid);\n } else {\n return parseDataToDateTime(vals, parsedZone, opts, `format ${fmt}`, text, specificOffset);\n }\n }\n\n /**\n * @deprecated use fromFormat instead\n */\n static fromString(text, fmt, opts = {}) {\n return DateTime.fromFormat(text, fmt, opts);\n }\n\n /**\n * Create a DateTime from a SQL date, time, or datetime\n * Defaults to en-US if no locale has been specified, regardless of the system's locale\n * @param {string} text - the string to parse\n * @param {Object} opts - options to affect the creation\n * @param {string|Zone} [opts.zone='local'] - use this zone if no offset is specified in the input string itself. Will also convert the DateTime to this zone\n * @param {boolean} [opts.setZone=false] - override the zone with a zone specified in the string itself, if it specifies one\n * @param {string} [opts.locale='en-US'] - a locale string to use when parsing. Will also set the DateTime to this locale\n * @param {string} opts.numberingSystem - the numbering system to use when parsing. Will also set the resulting DateTime to this numbering system\n * @param {string} opts.weekSettings - the week settings to set on the resulting DateTime instance\n * @param {string} opts.outputCalendar - the output calendar to set on the resulting DateTime instance\n * @example DateTime.fromSQL('2017-05-15')\n * @example DateTime.fromSQL('2017-05-15 09:12:34')\n * @example DateTime.fromSQL('2017-05-15 09:12:34.342')\n * @example DateTime.fromSQL('2017-05-15 09:12:34.342+06:00')\n * @example DateTime.fromSQL('2017-05-15 09:12:34.342 America/Los_Angeles')\n * @example DateTime.fromSQL('2017-05-15 09:12:34.342 America/Los_Angeles', { setZone: true })\n * @example DateTime.fromSQL('2017-05-15 09:12:34.342', { zone: 'America/Los_Angeles' })\n * @example DateTime.fromSQL('09:12:34.342')\n * @return {DateTime}\n */\n static fromSQL(text, opts = {}) {\n const [vals, parsedZone] = parseSQL(text);\n return parseDataToDateTime(vals, parsedZone, opts, \"SQL\", text);\n }\n\n /**\n * Create an invalid DateTime.\n * @param {string} reason - simple string of why this DateTime is invalid. Should not contain parameters or anything else data-dependent.\n * @param {string} [explanation=null] - longer explanation, may include parameters and other useful debugging information\n * @return {DateTime}\n */\n static invalid(reason, explanation = null) {\n if (!reason) {\n throw new InvalidArgumentError(\"need to specify a reason the DateTime is invalid\");\n }\n\n const invalid = reason instanceof Invalid ? reason : new Invalid(reason, explanation);\n\n if (Settings.throwOnInvalid) {\n throw new InvalidDateTimeError(invalid);\n } else {\n return new DateTime({ invalid });\n }\n }\n\n /**\n * Check if an object is an instance of DateTime. Works across context boundaries\n * @param {object} o\n * @return {boolean}\n */\n static isDateTime(o) {\n return (o && o.isLuxonDateTime) || false;\n }\n\n /**\n * Produce the format string for a set of options\n * @param formatOpts\n * @param localeOpts\n * @returns {string}\n */\n static parseFormatForOpts(formatOpts, localeOpts = {}) {\n const tokenList = formatOptsToTokens(formatOpts, Locale.fromObject(localeOpts));\n return !tokenList ? null : tokenList.map((t) => (t ? t.val : null)).join(\"\");\n }\n\n /**\n * Produce the the fully expanded format token for the locale\n * Does NOT quote characters, so quoted tokens will not round trip correctly\n * @param fmt\n * @param localeOpts\n * @returns {string}\n */\n static expandFormat(fmt, localeOpts = {}) {\n const expanded = expandMacroTokens(Formatter.parseFormat(fmt), Locale.fromObject(localeOpts));\n return expanded.map((t) => t.val).join(\"\");\n }\n\n static resetCache() {\n zoneOffsetTs = undefined;\n zoneOffsetGuessCache = {};\n }\n\n // INFO\n\n /**\n * Get the value of unit.\n * @param {string} unit - a unit such as 'minute' or 'day'\n * @example DateTime.local(2017, 7, 4).get('month'); //=> 7\n * @example DateTime.local(2017, 7, 4).get('day'); //=> 4\n * @return {number}\n */\n get(unit) {\n return this[unit];\n }\n\n /**\n * Returns whether the DateTime is valid. Invalid DateTimes occur when:\n * * The DateTime was created from invalid calendar information, such as the 13th month or February 30\n * * The DateTime was created by an operation on another invalid date\n * @type {boolean}\n */\n get isValid() {\n return this.invalid === null;\n }\n\n /**\n * Returns an error code if this DateTime is invalid, or null if the DateTime is valid\n * @type {string}\n */\n get invalidReason() {\n return this.invalid ? this.invalid.reason : null;\n }\n\n /**\n * Returns an explanation of why this DateTime became invalid, or null if the DateTime is valid\n * @type {string}\n */\n get invalidExplanation() {\n return this.invalid ? this.invalid.explanation : null;\n }\n\n /**\n * Get the locale of a DateTime, such 'en-GB'. The locale is used when formatting the DateTime\n *\n * @type {string}\n */\n get locale() {\n return this.isValid ? this.loc.locale : null;\n }\n\n /**\n * Get the numbering system of a DateTime, such 'beng'. The numbering system is used when formatting the DateTime\n *\n * @type {string}\n */\n get numberingSystem() {\n return this.isValid ? this.loc.numberingSystem : null;\n }\n\n /**\n * Get the output calendar of a DateTime, such 'islamic'. The output calendar is used when formatting the DateTime\n *\n * @type {string}\n */\n get outputCalendar() {\n return this.isValid ? this.loc.outputCalendar : null;\n }\n\n /**\n * Get the time zone associated with this DateTime.\n * @type {Zone}\n */\n get zone() {\n return this._zone;\n }\n\n /**\n * Get the name of the time zone.\n * @type {string}\n */\n get zoneName() {\n return this.isValid ? this.zone.name : null;\n }\n\n /**\n * Get the year\n * @example DateTime.local(2017, 5, 25).year //=> 2017\n * @type {number}\n */\n get year() {\n return this.isValid ? this.c.year : NaN;\n }\n\n /**\n * Get the quarter\n * @example DateTime.local(2017, 5, 25).quarter //=> 2\n * @type {number}\n */\n get quarter() {\n return this.isValid ? Math.ceil(this.c.month / 3) : NaN;\n }\n\n /**\n * Get the month (1-12).\n * @example DateTime.local(2017, 5, 25).month //=> 5\n * @type {number}\n */\n get month() {\n return this.isValid ? this.c.month : NaN;\n }\n\n /**\n * Get the day of the month (1-30ish).\n * @example DateTime.local(2017, 5, 25).day //=> 25\n * @type {number}\n */\n get day() {\n return this.isValid ? this.c.day : NaN;\n }\n\n /**\n * Get the hour of the day (0-23).\n * @example DateTime.local(2017, 5, 25, 9).hour //=> 9\n * @type {number}\n */\n get hour() {\n return this.isValid ? this.c.hour : NaN;\n }\n\n /**\n * Get the minute of the hour (0-59).\n * @example DateTime.local(2017, 5, 25, 9, 30).minute //=> 30\n * @type {number}\n */\n get minute() {\n return this.isValid ? this.c.minute : NaN;\n }\n\n /**\n * Get the second of the minute (0-59).\n * @example DateTime.local(2017, 5, 25, 9, 30, 52).second //=> 52\n * @type {number}\n */\n get second() {\n return this.isValid ? this.c.second : NaN;\n }\n\n /**\n * Get the millisecond of the second (0-999).\n * @example DateTime.local(2017, 5, 25, 9, 30, 52, 654).millisecond //=> 654\n * @type {number}\n */\n get millisecond() {\n return this.isValid ? this.c.millisecond : NaN;\n }\n\n /**\n * Get the week year\n * @see https://en.wikipedia.org/wiki/ISO_week_date\n * @example DateTime.local(2014, 12, 31).weekYear //=> 2015\n * @type {number}\n */\n get weekYear() {\n return this.isValid ? possiblyCachedWeekData(this).weekYear : NaN;\n }\n\n /**\n * Get the week number of the week year (1-52ish).\n * @see https://en.wikipedia.org/wiki/ISO_week_date\n * @example DateTime.local(2017, 5, 25).weekNumber //=> 21\n * @type {number}\n */\n get weekNumber() {\n return this.isValid ? possiblyCachedWeekData(this).weekNumber : NaN;\n }\n\n /**\n * Get the day of the week.\n * 1 is Monday and 7 is Sunday\n * @see https://en.wikipedia.org/wiki/ISO_week_date\n * @example DateTime.local(2014, 11, 31).weekday //=> 4\n * @type {number}\n */\n get weekday() {\n return this.isValid ? possiblyCachedWeekData(this).weekday : NaN;\n }\n\n /**\n * Returns true if this date is on a weekend according to the locale, false otherwise\n * @returns {boolean}\n */\n get isWeekend() {\n return this.isValid && this.loc.getWeekendDays().includes(this.weekday);\n }\n\n /**\n * Get the day of the week according to the locale.\n * 1 is the first day of the week and 7 is the last day of the week.\n * If the locale assigns Sunday as the first day of the week, then a date which is a Sunday will return 1,\n * @returns {number}\n */\n get localWeekday() {\n return this.isValid ? possiblyCachedLocalWeekData(this).weekday : NaN;\n }\n\n /**\n * Get the week number of the week year according to the locale. Different locales assign week numbers differently,\n * because the week can start on different days of the week (see localWeekday) and because a different number of days\n * is required for a week to count as the first week of a year.\n * @returns {number}\n */\n get localWeekNumber() {\n return this.isValid ? possiblyCachedLocalWeekData(this).weekNumber : NaN;\n }\n\n /**\n * Get the week year according to the locale. Different locales assign week numbers (and therefor week years)\n * differently, see localWeekNumber.\n * @returns {number}\n */\n get localWeekYear() {\n return this.isValid ? possiblyCachedLocalWeekData(this).weekYear : NaN;\n }\n\n /**\n * Get the ordinal (meaning the day of the year)\n * @example DateTime.local(2017, 5, 25).ordinal //=> 145\n * @type {number|DateTime}\n */\n get ordinal() {\n return this.isValid ? gregorianToOrdinal(this.c).ordinal : NaN;\n }\n\n /**\n * Get the human readable short month name, such as 'Oct'.\n * Defaults to the system's locale if no locale has been specified\n * @example DateTime.local(2017, 10, 30).monthShort //=> Oct\n * @type {string}\n */\n get monthShort() {\n return this.isValid ? Info.months(\"short\", { locObj: this.loc })[this.month - 1] : null;\n }\n\n /**\n * Get the human readable long month name, such as 'October'.\n * Defaults to the system's locale if no locale has been specified\n * @example DateTime.local(2017, 10, 30).monthLong //=> October\n * @type {string}\n */\n get monthLong() {\n return this.isValid ? Info.months(\"long\", { locObj: this.loc })[this.month - 1] : null;\n }\n\n /**\n * Get the human readable short weekday, such as 'Mon'.\n * Defaults to the system's locale if no locale has been specified\n * @example DateTime.local(2017, 10, 30).weekdayShort //=> Mon\n * @type {string}\n */\n get weekdayShort() {\n return this.isValid ? Info.weekdays(\"short\", { locObj: this.loc })[this.weekday - 1] : null;\n }\n\n /**\n * Get the human readable long weekday, such as 'Monday'.\n * Defaults to the system's locale if no locale has been specified\n * @example DateTime.local(2017, 10, 30).weekdayLong //=> Monday\n * @type {string}\n */\n get weekdayLong() {\n return this.isValid ? Info.weekdays(\"long\", { locObj: this.loc })[this.weekday - 1] : null;\n }\n\n /**\n * Get the UTC offset of this DateTime in minutes\n * @example DateTime.now().offset //=> -240\n * @example DateTime.utc().offset //=> 0\n * @type {number}\n */\n get offset() {\n return this.isValid ? +this.o : NaN;\n }\n\n /**\n * Get the short human name for the zone's current offset, for example \"EST\" or \"EDT\".\n * Defaults to the system's locale if no locale has been specified\n * @type {string}\n */\n get offsetNameShort() {\n if (this.isValid) {\n return this.zone.offsetName(this.ts, {\n format: \"short\",\n locale: this.locale,\n });\n } else {\n return null;\n }\n }\n\n /**\n * Get the long human name for the zone's current offset, for example \"Eastern Standard Time\" or \"Eastern Daylight Time\".\n * Defaults to the system's locale if no locale has been specified\n * @type {string}\n */\n get offsetNameLong() {\n if (this.isValid) {\n return this.zone.offsetName(this.ts, {\n format: \"long\",\n locale: this.locale,\n });\n } else {\n return null;\n }\n }\n\n /**\n * Get whether this zone's offset ever changes, as in a DST.\n * @type {boolean}\n */\n get isOffsetFixed() {\n return this.isValid ? this.zone.isUniversal : null;\n }\n\n /**\n * Get whether the DateTime is in a DST.\n * @type {boolean}\n */\n get isInDST() {\n if (this.isOffsetFixed) {\n return false;\n } else {\n return (\n this.offset > this.set({ month: 1, day: 1 }).offset ||\n this.offset > this.set({ month: 5 }).offset\n );\n }\n }\n\n /**\n * Get those DateTimes which have the same local time as this DateTime, but a different offset from UTC\n * in this DateTime's zone. During DST changes local time can be ambiguous, for example\n * `2023-10-29T02:30:00` in `Europe/Berlin` can have offset `+01:00` or `+02:00`.\n * This method will return both possible DateTimes if this DateTime's local time is ambiguous.\n * @returns {DateTime[]}\n */\n getPossibleOffsets() {\n if (!this.isValid || this.isOffsetFixed) {\n return [this];\n }\n const dayMs = 86400000;\n const minuteMs = 60000;\n const localTS = objToLocalTS(this.c);\n const oEarlier = this.zone.offset(localTS - dayMs);\n const oLater = this.zone.offset(localTS + dayMs);\n\n const o1 = this.zone.offset(localTS - oEarlier * minuteMs);\n const o2 = this.zone.offset(localTS - oLater * minuteMs);\n if (o1 === o2) {\n return [this];\n }\n const ts1 = localTS - o1 * minuteMs;\n const ts2 = localTS - o2 * minuteMs;\n const c1 = tsToObj(ts1, o1);\n const c2 = tsToObj(ts2, o2);\n if (\n c1.hour === c2.hour &&\n c1.minute === c2.minute &&\n c1.second === c2.second &&\n c1.millisecond === c2.millisecond\n ) {\n return [clone(this, { ts: ts1 }), clone(this, { ts: ts2 })];\n }\n return [this];\n }\n\n /**\n * Returns true if this DateTime is in a leap year, false otherwise\n * @example DateTime.local(2016).isInLeapYear //=> true\n * @example DateTime.local(2013).isInLeapYear //=> false\n * @type {boolean}\n */\n get isInLeapYear() {\n return isLeapYear(this.year);\n }\n\n /**\n * Returns the number of days in this DateTime's month\n * @example DateTime.local(2016, 2).daysInMonth //=> 29\n * @example DateTime.local(2016, 3).daysInMonth //=> 31\n * @type {number}\n */\n get daysInMonth() {\n return daysInMonth(this.year, this.month);\n }\n\n /**\n * Returns the number of days in this DateTime's year\n * @example DateTime.local(2016).daysInYear //=> 366\n * @example DateTime.local(2013).daysInYear //=> 365\n * @type {number}\n */\n get daysInYear() {\n return this.isValid ? daysInYear(this.year) : NaN;\n }\n\n /**\n * Returns the number of weeks in this DateTime's year\n * @see https://en.wikipedia.org/wiki/ISO_week_date\n * @example DateTime.local(2004).weeksInWeekYear //=> 53\n * @example DateTime.local(2013).weeksInWeekYear //=> 52\n * @type {number}\n */\n get weeksInWeekYear() {\n return this.isValid ? weeksInWeekYear(this.weekYear) : NaN;\n }\n\n /**\n * Returns the number of weeks in this DateTime's local week year\n * @example DateTime.local(2020, 6, {locale: 'en-US'}).weeksInLocalWeekYear //=> 52\n * @example DateTime.local(2020, 6, {locale: 'de-DE'}).weeksInLocalWeekYear //=> 53\n * @type {number}\n */\n get weeksInLocalWeekYear() {\n return this.isValid\n ? weeksInWeekYear(\n this.localWeekYear,\n this.loc.getMinDaysInFirstWeek(),\n this.loc.getStartOfWeek()\n )\n : NaN;\n }\n\n /**\n * Returns the resolved Intl options for this DateTime.\n * This is useful in understanding the behavior of formatting methods\n * @param {Object} opts - the same options as toLocaleString\n * @return {Object}\n */\n resolvedLocaleOptions(opts = {}) {\n const { locale, numberingSystem, calendar } = Formatter.create(\n this.loc.clone(opts),\n opts\n ).resolvedOptions(this);\n return { locale, numberingSystem, outputCalendar: calendar };\n }\n\n // TRANSFORM\n\n /**\n * \"Set\" the DateTime's zone to UTC. Returns a newly-constructed DateTime.\n *\n * Equivalent to {@link DateTime#setZone}('utc')\n * @param {number} [offset=0] - optionally, an offset from UTC in minutes\n * @param {Object} [opts={}] - options to pass to `setZone()`\n * @return {DateTime}\n */\n toUTC(offset = 0, opts = {}) {\n return this.setZone(FixedOffsetZone.instance(offset), opts);\n }\n\n /**\n * \"Set\" the DateTime's zone to the host's local zone. Returns a newly-constructed DateTime.\n *\n * Equivalent to `setZone('local')`\n * @return {DateTime}\n */\n toLocal() {\n return this.setZone(Settings.defaultZone);\n }\n\n /**\n * \"Set\" the DateTime's zone to specified zone. Returns a newly-constructed DateTime.\n *\n * By default, the setter keeps the underlying time the same (as in, the same timestamp), but the new instance will report different local times and consider DSTs when making computations, as with {@link DateTime#plus}. You may wish to use {@link DateTime#toLocal} and {@link DateTime#toUTC} which provide simple convenience wrappers for commonly used zones.\n * @param {string|Zone} [zone='local'] - a zone identifier. As a string, that can be any IANA zone supported by the host environment, or a fixed-offset name of the form 'UTC+3', or the strings 'local' or 'utc'. You may also supply an instance of a {@link DateTime#Zone} class.\n * @param {Object} opts - options\n * @param {boolean} [opts.keepLocalTime=false] - If true, adjust the underlying time so that the local time stays the same, but in the target zone. You should rarely need this.\n * @return {DateTime}\n */\n setZone(zone, { keepLocalTime = false, keepCalendarTime = false } = {}) {\n zone = normalizeZone(zone, Settings.defaultZone);\n if (zone.equals(this.zone)) {\n return this;\n } else if (!zone.isValid) {\n return DateTime.invalid(unsupportedZone(zone));\n } else {\n let newTS = this.ts;\n if (keepLocalTime || keepCalendarTime) {\n const offsetGuess = zone.offset(this.ts);\n const asObj = this.toObject();\n [newTS] = objToTS(asObj, offsetGuess, zone);\n }\n return clone(this, { ts: newTS, zone });\n }\n }\n\n /**\n * \"Set\" the locale, numberingSystem, or outputCalendar. Returns a newly-constructed DateTime.\n * @param {Object} properties - the properties to set\n * @example DateTime.local(2017, 5, 25).reconfigure({ locale: 'en-GB' })\n * @return {DateTime}\n */\n reconfigure({ locale, numberingSystem, outputCalendar } = {}) {\n const loc = this.loc.clone({ locale, numberingSystem, outputCalendar });\n return clone(this, { loc });\n }\n\n /**\n * \"Set\" the locale. Returns a newly-constructed DateTime.\n * Just a convenient alias for reconfigure({ locale })\n * @example DateTime.local(2017, 5, 25).setLocale('en-GB')\n * @return {DateTime}\n */\n setLocale(locale) {\n return this.reconfigure({ locale });\n }\n\n /**\n * \"Set\" the values of specified units. Returns a newly-constructed DateTime.\n * You can only set units with this method; for \"setting\" metadata, see {@link DateTime#reconfigure} and {@link DateTime#setZone}.\n *\n * This method also supports setting locale-based week units, i.e. `localWeekday`, `localWeekNumber` and `localWeekYear`.\n * They cannot be mixed with ISO-week units like `weekday`.\n * @param {Object} values - a mapping of units to numbers\n * @example dt.set({ year: 2017 })\n * @example dt.set({ hour: 8, minute: 30 })\n * @example dt.set({ weekday: 5 })\n * @example dt.set({ year: 2005, ordinal: 234 })\n * @return {DateTime}\n */\n set(values) {\n if (!this.isValid) return this;\n\n const normalized = normalizeObject(values, normalizeUnitWithLocalWeeks);\n const { minDaysInFirstWeek, startOfWeek } = usesLocalWeekValues(normalized, this.loc);\n\n const settingWeekStuff =\n !isUndefined(normalized.weekYear) ||\n !isUndefined(normalized.weekNumber) ||\n !isUndefined(normalized.weekday),\n containsOrdinal = !isUndefined(normalized.ordinal),\n containsGregorYear = !isUndefined(normalized.year),\n containsGregorMD = !isUndefined(normalized.month) || !isUndefined(normalized.day),\n containsGregor = containsGregorYear || containsGregorMD,\n definiteWeekDef = normalized.weekYear || normalized.weekNumber;\n\n if ((containsGregor || containsOrdinal) && definiteWeekDef) {\n throw new ConflictingSpecificationError(\n \"Can't mix weekYear/weekNumber units with year/month/day or ordinals\"\n );\n }\n\n if (containsGregorMD && containsOrdinal) {\n throw new ConflictingSpecificationError(\"Can't mix ordinal dates with month/day\");\n }\n\n let mixed;\n if (settingWeekStuff) {\n mixed = weekToGregorian(\n { ...gregorianToWeek(this.c, minDaysInFirstWeek, startOfWeek), ...normalized },\n minDaysInFirstWeek,\n startOfWeek\n );\n } else if (!isUndefined(normalized.ordinal)) {\n mixed = ordinalToGregorian({ ...gregorianToOrdinal(this.c), ...normalized });\n } else {\n mixed = { ...this.toObject(), ...normalized };\n\n // if we didn't set the day but we ended up on an overflow date,\n // use the last day of the right month\n if (isUndefined(normalized.day)) {\n mixed.day = Math.min(daysInMonth(mixed.year, mixed.month), mixed.day);\n }\n }\n\n const [ts, o] = objToTS(mixed, this.o, this.zone);\n return clone(this, { ts, o });\n }\n\n /**\n * Add a period of time to this DateTime and return the resulting DateTime\n *\n * Adding hours, minutes, seconds, or milliseconds increases the timestamp by the right number of milliseconds. Adding days, months, or years shifts the calendar, accounting for DSTs and leap years along the way. Thus, `dt.plus({ hours: 24 })` may result in a different time than `dt.plus({ days: 1 })` if there's a DST shift in between.\n * @param {Duration|Object|number} duration - The amount to add. Either a Luxon Duration, a number of milliseconds, the object argument to Duration.fromObject()\n * @example DateTime.now().plus(123) //~> in 123 milliseconds\n * @example DateTime.now().plus({ minutes: 15 }) //~> in 15 minutes\n * @example DateTime.now().plus({ days: 1 }) //~> this time tomorrow\n * @example DateTime.now().plus({ days: -1 }) //~> this time yesterday\n * @example DateTime.now().plus({ hours: 3, minutes: 13 }) //~> in 3 hr, 13 min\n * @example DateTime.now().plus(Duration.fromObject({ hours: 3, minutes: 13 })) //~> in 3 hr, 13 min\n * @return {DateTime}\n */\n plus(duration) {\n if (!this.isValid) return this;\n const dur = Duration.fromDurationLike(duration);\n return clone(this, adjustTime(this, dur));\n }\n\n /**\n * Subtract a period of time to this DateTime and return the resulting DateTime\n * See {@link DateTime#plus}\n * @param {Duration|Object|number} duration - The amount to subtract. Either a Luxon Duration, a number of milliseconds, the object argument to Duration.fromObject()\n @return {DateTime}\n */\n minus(duration) {\n if (!this.isValid) return this;\n const dur = Duration.fromDurationLike(duration).negate();\n return clone(this, adjustTime(this, dur));\n }\n\n /**\n * \"Set\" this DateTime to the beginning of a unit of time.\n * @param {string} unit - The unit to go to the beginning of. Can be 'year', 'quarter', 'month', 'week', 'day', 'hour', 'minute', 'second', or 'millisecond'.\n * @param {Object} opts - options\n * @param {boolean} [opts.useLocaleWeeks=false] - If true, use weeks based on the locale, i.e. use the locale-dependent start of the week\n * @example DateTime.local(2014, 3, 3).startOf('month').toISODate(); //=> '2014-03-01'\n * @example DateTime.local(2014, 3, 3).startOf('year').toISODate(); //=> '2014-01-01'\n * @example DateTime.local(2014, 3, 3).startOf('week').toISODate(); //=> '2014-03-03', weeks always start on Mondays\n * @example DateTime.local(2014, 3, 3, 5, 30).startOf('day').toISOTime(); //=> '00:00.000-05:00'\n * @example DateTime.local(2014, 3, 3, 5, 30).startOf('hour').toISOTime(); //=> '05:00:00.000-05:00'\n * @return {DateTime}\n */\n startOf(unit, { useLocaleWeeks = false } = {}) {\n if (!this.isValid) return this;\n\n const o = {},\n normalizedUnit = Duration.normalizeUnit(unit);\n switch (normalizedUnit) {\n case \"years\":\n o.month = 1;\n // falls through\n case \"quarters\":\n case \"months\":\n o.day = 1;\n // falls through\n case \"weeks\":\n case \"days\":\n o.hour = 0;\n // falls through\n case \"hours\":\n o.minute = 0;\n // falls through\n case \"minutes\":\n o.second = 0;\n // falls through\n case \"seconds\":\n o.millisecond = 0;\n break;\n case \"milliseconds\":\n break;\n // no default, invalid units throw in normalizeUnit()\n }\n\n if (normalizedUnit === \"weeks\") {\n if (useLocaleWeeks) {\n const startOfWeek = this.loc.getStartOfWeek();\n const { weekday } = this;\n if (weekday < startOfWeek) {\n o.weekNumber = this.weekNumber - 1;\n }\n o.weekday = startOfWeek;\n } else {\n o.weekday = 1;\n }\n }\n\n if (normalizedUnit === \"quarters\") {\n const q = Math.ceil(this.month / 3);\n o.month = (q - 1) * 3 + 1;\n }\n\n return this.set(o);\n }\n\n /**\n * \"Set\" this DateTime to the end (meaning the last millisecond) of a unit of time\n * @param {string} unit - The unit to go to the end of. Can be 'year', 'quarter', 'month', 'week', 'day', 'hour', 'minute', 'second', or 'millisecond'.\n * @param {Object} opts - options\n * @param {boolean} [opts.useLocaleWeeks=false] - If true, use weeks based on the locale, i.e. use the locale-dependent start of the week\n * @example DateTime.local(2014, 3, 3).endOf('month').toISO(); //=> '2014-03-31T23:59:59.999-05:00'\n * @example DateTime.local(2014, 3, 3).endOf('year').toISO(); //=> '2014-12-31T23:59:59.999-05:00'\n * @example DateTime.local(2014, 3, 3).endOf('week').toISO(); // => '2014-03-09T23:59:59.999-05:00', weeks start on Mondays\n * @example DateTime.local(2014, 3, 3, 5, 30).endOf('day').toISO(); //=> '2014-03-03T23:59:59.999-05:00'\n * @example DateTime.local(2014, 3, 3, 5, 30).endOf('hour').toISO(); //=> '2014-03-03T05:59:59.999-05:00'\n * @return {DateTime}\n */\n endOf(unit, opts) {\n return this.isValid\n ? this.plus({ [unit]: 1 })\n .startOf(unit, opts)\n .minus(1)\n : this;\n }\n\n // OUTPUT\n\n /**\n * Returns a string representation of this DateTime formatted according to the specified format string.\n * **You may not want this.** See {@link DateTime#toLocaleString} for a more flexible formatting tool. For a table of tokens and their interpretations, see [here](https://moment.github.io/luxon/#/formatting?id=table-of-tokens).\n * Defaults to en-US if no locale has been specified, regardless of the system's locale.\n * @param {string} fmt - the format string\n * @param {Object} opts - opts to override the configuration options on this DateTime\n * @example DateTime.now().toFormat('yyyy LLL dd') //=> '2017 Apr 22'\n * @example DateTime.now().setLocale('fr').toFormat('yyyy LLL dd') //=> '2017 avr. 22'\n * @example DateTime.now().toFormat('yyyy LLL dd', { locale: \"fr\" }) //=> '2017 avr. 22'\n * @example DateTime.now().toFormat(\"HH 'hours and' mm 'minutes'\") //=> '20 hours and 55 minutes'\n * @return {string}\n */\n toFormat(fmt, opts = {}) {\n return this.isValid\n ? Formatter.create(this.loc.redefaultToEN(opts)).formatDateTimeFromString(this, fmt)\n : INVALID;\n }\n\n /**\n * Returns a localized string representing this date. Accepts the same options as the Intl.DateTimeFormat constructor and any presets defined by Luxon, such as `DateTime.DATE_FULL` or `DateTime.TIME_SIMPLE`.\n * The exact behavior of this method is browser-specific, but in general it will return an appropriate representation\n * of the DateTime in the assigned locale.\n * Defaults to the system's locale if no locale has been specified\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/DateTimeFormat\n * @param formatOpts {Object} - Intl.DateTimeFormat constructor options and configuration options\n * @param {Object} opts - opts to override the configuration options on this DateTime\n * @example DateTime.now().toLocaleString(); //=> 4/20/2017\n * @example DateTime.now().setLocale('en-gb').toLocaleString(); //=> '20/04/2017'\n * @example DateTime.now().toLocaleString(DateTime.DATE_FULL); //=> 'April 20, 2017'\n * @example DateTime.now().toLocaleString(DateTime.DATE_FULL, { locale: 'fr' }); //=> '28 août 2022'\n * @example DateTime.now().toLocaleString(DateTime.TIME_SIMPLE); //=> '11:32 AM'\n * @example DateTime.now().toLocaleString(DateTime.DATETIME_SHORT); //=> '4/20/2017, 11:32 AM'\n * @example DateTime.now().toLocaleString({ weekday: 'long', month: 'long', day: '2-digit' }); //=> 'Thursday, April 20'\n * @example DateTime.now().toLocaleString({ weekday: 'short', month: 'short', day: '2-digit', hour: '2-digit', minute: '2-digit' }); //=> 'Thu, Apr 20, 11:27 AM'\n * @example DateTime.now().toLocaleString({ hour: '2-digit', minute: '2-digit', hourCycle: 'h23' }); //=> '11:32'\n * @return {string}\n */\n toLocaleString(formatOpts = Formats.DATE_SHORT, opts = {}) {\n return this.isValid\n ? Formatter.create(this.loc.clone(opts), formatOpts).formatDateTime(this)\n : INVALID;\n }\n\n /**\n * Returns an array of format \"parts\", meaning individual tokens along with metadata. This is allows callers to post-process individual sections of the formatted output.\n * Defaults to the system's locale if no locale has been specified\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/DateTimeFormat/formatToParts\n * @param opts {Object} - Intl.DateTimeFormat constructor options, same as `toLocaleString`.\n * @example DateTime.now().toLocaleParts(); //=> [\n * //=> { type: 'day', value: '25' },\n * //=> { type: 'literal', value: '/' },\n * //=> { type: 'month', value: '05' },\n * //=> { type: 'literal', value: '/' },\n * //=> { type: 'year', value: '1982' }\n * //=> ]\n */\n toLocaleParts(opts = {}) {\n return this.isValid\n ? Formatter.create(this.loc.clone(opts), opts).formatDateTimeParts(this)\n : [];\n }\n\n /**\n * Returns an ISO 8601-compliant string representation of this DateTime\n * @param {Object} opts - options\n * @param {boolean} [opts.suppressMilliseconds=false] - exclude milliseconds from the format if they're 0\n * @param {boolean} [opts.suppressSeconds=false] - exclude seconds from the format if they're 0\n * @param {boolean} [opts.includeOffset=true] - include the offset, such as 'Z' or '-04:00'\n * @param {boolean} [opts.extendedZone=false] - add the time zone format extension\n * @param {string} [opts.format='extended'] - choose between the basic and extended format\n * @example DateTime.utc(1983, 5, 25).toISO() //=> '1982-05-25T00:00:00.000Z'\n * @example DateTime.now().toISO() //=> '2017-04-22T20:47:05.335-04:00'\n * @example DateTime.now().toISO({ includeOffset: false }) //=> '2017-04-22T20:47:05.335'\n * @example DateTime.now().toISO({ format: 'basic' }) //=> '20170422T204705.335-0400'\n * @return {string}\n */\n toISO({\n format = \"extended\",\n suppressSeconds = false,\n suppressMilliseconds = false,\n includeOffset = true,\n extendedZone = false,\n } = {}) {\n if (!this.isValid) {\n return null;\n }\n\n const ext = format === \"extended\";\n\n let c = toISODate(this, ext);\n c += \"T\";\n c += toISOTime(this, ext, suppressSeconds, suppressMilliseconds, includeOffset, extendedZone);\n return c;\n }\n\n /**\n * Returns an ISO 8601-compliant string representation of this DateTime's date component\n * @param {Object} opts - options\n * @param {string} [opts.format='extended'] - choose between the basic and extended format\n * @example DateTime.utc(1982, 5, 25).toISODate() //=> '1982-05-25'\n * @example DateTime.utc(1982, 5, 25).toISODate({ format: 'basic' }) //=> '19820525'\n * @return {string}\n */\n toISODate({ format = \"extended\" } = {}) {\n if (!this.isValid) {\n return null;\n }\n\n return toISODate(this, format === \"extended\");\n }\n\n /**\n * Returns an ISO 8601-compliant string representation of this DateTime's week date\n * @example DateTime.utc(1982, 5, 25).toISOWeekDate() //=> '1982-W21-2'\n * @return {string}\n */\n toISOWeekDate() {\n return toTechFormat(this, \"kkkk-'W'WW-c\");\n }\n\n /**\n * Returns an ISO 8601-compliant string representation of this DateTime's time component\n * @param {Object} opts - options\n * @param {boolean} [opts.suppressMilliseconds=false] - exclude milliseconds from the format if they're 0\n * @param {boolean} [opts.suppressSeconds=false] - exclude seconds from the format if they're 0\n * @param {boolean} [opts.includeOffset=true] - include the offset, such as 'Z' or '-04:00'\n * @param {boolean} [opts.extendedZone=true] - add the time zone format extension\n * @param {boolean} [opts.includePrefix=false] - include the `T` prefix\n * @param {string} [opts.format='extended'] - choose between the basic and extended format\n * @example DateTime.utc().set({ hour: 7, minute: 34 }).toISOTime() //=> '07:34:19.361Z'\n * @example DateTime.utc().set({ hour: 7, minute: 34, seconds: 0, milliseconds: 0 }).toISOTime({ suppressSeconds: true }) //=> '07:34Z'\n * @example DateTime.utc().set({ hour: 7, minute: 34 }).toISOTime({ format: 'basic' }) //=> '073419.361Z'\n * @example DateTime.utc().set({ hour: 7, minute: 34 }).toISOTime({ includePrefix: true }) //=> 'T07:34:19.361Z'\n * @return {string}\n */\n toISOTime({\n suppressMilliseconds = false,\n suppressSeconds = false,\n includeOffset = true,\n includePrefix = false,\n extendedZone = false,\n format = \"extended\",\n } = {}) {\n if (!this.isValid) {\n return null;\n }\n\n let c = includePrefix ? \"T\" : \"\";\n return (\n c +\n toISOTime(\n this,\n format === \"extended\",\n suppressSeconds,\n suppressMilliseconds,\n includeOffset,\n extendedZone\n )\n );\n }\n\n /**\n * Returns an RFC 2822-compatible string representation of this DateTime\n * @example DateTime.utc(2014, 7, 13).toRFC2822() //=> 'Sun, 13 Jul 2014 00:00:00 +0000'\n * @example DateTime.local(2014, 7, 13).toRFC2822() //=> 'Sun, 13 Jul 2014 00:00:00 -0400'\n * @return {string}\n */\n toRFC2822() {\n return toTechFormat(this, \"EEE, dd LLL yyyy HH:mm:ss ZZZ\", false);\n }\n\n /**\n * Returns a string representation of this DateTime appropriate for use in HTTP headers. The output is always expressed in GMT.\n * Specifically, the string conforms to RFC 1123.\n * @see https://www.w3.org/Protocols/rfc2616/rfc2616-sec3.html#sec3.3.1\n * @example DateTime.utc(2014, 7, 13).toHTTP() //=> 'Sun, 13 Jul 2014 00:00:00 GMT'\n * @example DateTime.utc(2014, 7, 13, 19).toHTTP() //=> 'Sun, 13 Jul 2014 19:00:00 GMT'\n * @return {string}\n */\n toHTTP() {\n return toTechFormat(this.toUTC(), \"EEE, dd LLL yyyy HH:mm:ss 'GMT'\");\n }\n\n /**\n * Returns a string representation of this DateTime appropriate for use in SQL Date\n * @example DateTime.utc(2014, 7, 13).toSQLDate() //=> '2014-07-13'\n * @return {string}\n */\n toSQLDate() {\n if (!this.isValid) {\n return null;\n }\n return toISODate(this, true);\n }\n\n /**\n * Returns a string representation of this DateTime appropriate for use in SQL Time\n * @param {Object} opts - options\n * @param {boolean} [opts.includeZone=false] - include the zone, such as 'America/New_York'. Overrides includeOffset.\n * @param {boolean} [opts.includeOffset=true] - include the offset, such as 'Z' or '-04:00'\n * @param {boolean} [opts.includeOffsetSpace=true] - include the space between the time and the offset, such as '05:15:16.345 -04:00'\n * @example DateTime.utc().toSQL() //=> '05:15:16.345'\n * @example DateTime.now().toSQL() //=> '05:15:16.345 -04:00'\n * @example DateTime.now().toSQL({ includeOffset: false }) //=> '05:15:16.345'\n * @example DateTime.now().toSQL({ includeZone: false }) //=> '05:15:16.345 America/New_York'\n * @return {string}\n */\n toSQLTime({ includeOffset = true, includeZone = false, includeOffsetSpace = true } = {}) {\n let fmt = \"HH:mm:ss.SSS\";\n\n if (includeZone || includeOffset) {\n if (includeOffsetSpace) {\n fmt += \" \";\n }\n if (includeZone) {\n fmt += \"z\";\n } else if (includeOffset) {\n fmt += \"ZZ\";\n }\n }\n\n return toTechFormat(this, fmt, true);\n }\n\n /**\n * Returns a string representation of this DateTime appropriate for use in SQL DateTime\n * @param {Object} opts - options\n * @param {boolean} [opts.includeZone=false] - include the zone, such as 'America/New_York'. Overrides includeOffset.\n * @param {boolean} [opts.includeOffset=true] - include the offset, such as 'Z' or '-04:00'\n * @param {boolean} [opts.includeOffsetSpace=true] - include the space between the time and the offset, such as '05:15:16.345 -04:00'\n * @example DateTime.utc(2014, 7, 13).toSQL() //=> '2014-07-13 00:00:00.000 Z'\n * @example DateTime.local(2014, 7, 13).toSQL() //=> '2014-07-13 00:00:00.000 -04:00'\n * @example DateTime.local(2014, 7, 13).toSQL({ includeOffset: false }) //=> '2014-07-13 00:00:00.000'\n * @example DateTime.local(2014, 7, 13).toSQL({ includeZone: true }) //=> '2014-07-13 00:00:00.000 America/New_York'\n * @return {string}\n */\n toSQL(opts = {}) {\n if (!this.isValid) {\n return null;\n }\n\n return `${this.toSQLDate()} ${this.toSQLTime(opts)}`;\n }\n\n /**\n * Returns a string representation of this DateTime appropriate for debugging\n * @return {string}\n */\n toString() {\n return this.isValid ? this.toISO() : INVALID;\n }\n\n /**\n * Returns a string representation of this DateTime appropriate for the REPL.\n * @return {string}\n */\n [Symbol.for(\"nodejs.util.inspect.custom\")]() {\n if (this.isValid) {\n return `DateTime { ts: ${this.toISO()}, zone: ${this.zone.name}, locale: ${this.locale} }`;\n } else {\n return `DateTime { Invalid, reason: ${this.invalidReason} }`;\n }\n }\n\n /**\n * Returns the epoch milliseconds of this DateTime. Alias of {@link DateTime#toMillis}\n * @return {number}\n */\n valueOf() {\n return this.toMillis();\n }\n\n /**\n * Returns the epoch milliseconds of this DateTime.\n * @return {number}\n */\n toMillis() {\n return this.isValid ? this.ts : NaN;\n }\n\n /**\n * Returns the epoch seconds of this DateTime.\n * @return {number}\n */\n toSeconds() {\n return this.isValid ? this.ts / 1000 : NaN;\n }\n\n /**\n * Returns the epoch seconds (as a whole number) of this DateTime.\n * @return {number}\n */\n toUnixInteger() {\n return this.isValid ? Math.floor(this.ts / 1000) : NaN;\n }\n\n /**\n * Returns an ISO 8601 representation of this DateTime appropriate for use in JSON.\n * @return {string}\n */\n toJSON() {\n return this.toISO();\n }\n\n /**\n * Returns a BSON serializable equivalent to this DateTime.\n * @return {Date}\n */\n toBSON() {\n return this.toJSDate();\n }\n\n /**\n * Returns a JavaScript object with this DateTime's year, month, day, and so on.\n * @param opts - options for generating the object\n * @param {boolean} [opts.includeConfig=false] - include configuration attributes in the output\n * @example DateTime.now().toObject() //=> { year: 2017, month: 4, day: 22, hour: 20, minute: 49, second: 42, millisecond: 268 }\n * @return {Object}\n */\n toObject(opts = {}) {\n if (!this.isValid) return {};\n\n const base = { ...this.c };\n\n if (opts.includeConfig) {\n base.outputCalendar = this.outputCalendar;\n base.numberingSystem = this.loc.numberingSystem;\n base.locale = this.loc.locale;\n }\n return base;\n }\n\n /**\n * Returns a JavaScript Date equivalent to this DateTime.\n * @return {Date}\n */\n toJSDate() {\n return new Date(this.isValid ? this.ts : NaN);\n }\n\n // COMPARE\n\n /**\n * Return the difference between two DateTimes as a Duration.\n * @param {DateTime} otherDateTime - the DateTime to compare this one to\n * @param {string|string[]} [unit=['milliseconds']] - the unit or array of units (such as 'hours' or 'days') to include in the duration.\n * @param {Object} opts - options that affect the creation of the Duration\n * @param {string} [opts.conversionAccuracy='casual'] - the conversion system to use\n * @example\n * var i1 = DateTime.fromISO('1982-05-25T09:45'),\n * i2 = DateTime.fromISO('1983-10-14T10:30');\n * i2.diff(i1).toObject() //=> { milliseconds: 43807500000 }\n * i2.diff(i1, 'hours').toObject() //=> { hours: 12168.75 }\n * i2.diff(i1, ['months', 'days']).toObject() //=> { months: 16, days: 19.03125 }\n * i2.diff(i1, ['months', 'days', 'hours']).toObject() //=> { months: 16, days: 19, hours: 0.75 }\n * @return {Duration}\n */\n diff(otherDateTime, unit = \"milliseconds\", opts = {}) {\n if (!this.isValid || !otherDateTime.isValid) {\n return Duration.invalid(\"created by diffing an invalid DateTime\");\n }\n\n const durOpts = { locale: this.locale, numberingSystem: this.numberingSystem, ...opts };\n\n const units = maybeArray(unit).map(Duration.normalizeUnit),\n otherIsLater = otherDateTime.valueOf() > this.valueOf(),\n earlier = otherIsLater ? this : otherDateTime,\n later = otherIsLater ? otherDateTime : this,\n diffed = diff(earlier, later, units, durOpts);\n\n return otherIsLater ? diffed.negate() : diffed;\n }\n\n /**\n * Return the difference between this DateTime and right now.\n * See {@link DateTime#diff}\n * @param {string|string[]} [unit=['milliseconds']] - the unit or units units (such as 'hours' or 'days') to include in the duration\n * @param {Object} opts - options that affect the creation of the Duration\n * @param {string} [opts.conversionAccuracy='casual'] - the conversion system to use\n * @return {Duration}\n */\n diffNow(unit = \"milliseconds\", opts = {}) {\n return this.diff(DateTime.now(), unit, opts);\n }\n\n /**\n * Return an Interval spanning between this DateTime and another DateTime\n * @param {DateTime} otherDateTime - the other end point of the Interval\n * @return {Interval}\n */\n until(otherDateTime) {\n return this.isValid ? Interval.fromDateTimes(this, otherDateTime) : this;\n }\n\n /**\n * Return whether this DateTime is in the same unit of time as another DateTime.\n * Higher-order units must also be identical for this function to return `true`.\n * Note that time zones are **ignored** in this comparison, which compares the **local** calendar time. Use {@link DateTime#setZone} to convert one of the dates if needed.\n * @param {DateTime} otherDateTime - the other DateTime\n * @param {string} unit - the unit of time to check sameness on\n * @param {Object} opts - options\n * @param {boolean} [opts.useLocaleWeeks=false] - If true, use weeks based on the locale, i.e. use the locale-dependent start of the week; only the locale of this DateTime is used\n * @example DateTime.now().hasSame(otherDT, 'day'); //~> true if otherDT is in the same current calendar day\n * @return {boolean}\n */\n hasSame(otherDateTime, unit, opts) {\n if (!this.isValid) return false;\n\n const inputMs = otherDateTime.valueOf();\n const adjustedToZone = this.setZone(otherDateTime.zone, { keepLocalTime: true });\n return (\n adjustedToZone.startOf(unit, opts) <= inputMs && inputMs <= adjustedToZone.endOf(unit, opts)\n );\n }\n\n /**\n * Equality check\n * Two DateTimes are equal if and only if they represent the same millisecond, have the same zone and location, and are both valid.\n * To compare just the millisecond values, use `+dt1 === +dt2`.\n * @param {DateTime} other - the other DateTime\n * @return {boolean}\n */\n equals(other) {\n return (\n this.isValid &&\n other.isValid &&\n this.valueOf() === other.valueOf() &&\n this.zone.equals(other.zone) &&\n this.loc.equals(other.loc)\n );\n }\n\n /**\n * Returns a string representation of a this time relative to now, such as \"in two days\". Can only internationalize if your\n * platform supports Intl.RelativeTimeFormat. Rounds down by default.\n * @param {Object} options - options that affect the output\n * @param {DateTime} [options.base=DateTime.now()] - the DateTime to use as the basis to which this time is compared. Defaults to now.\n * @param {string} [options.style=\"long\"] - the style of units, must be \"long\", \"short\", or \"narrow\"\n * @param {string|string[]} options.unit - use a specific unit or array of units; if omitted, or an array, the method will pick the best unit. Use an array or one of \"years\", \"quarters\", \"months\", \"weeks\", \"days\", \"hours\", \"minutes\", or \"seconds\"\n * @param {boolean} [options.round=true] - whether to round the numbers in the output.\n * @param {number} [options.padding=0] - padding in milliseconds. This allows you to round up the result if it fits inside the threshold. Don't use in combination with {round: false} because the decimal output will include the padding.\n * @param {string} options.locale - override the locale of this DateTime\n * @param {string} options.numberingSystem - override the numberingSystem of this DateTime. The Intl system may choose not to honor this\n * @example DateTime.now().plus({ days: 1 }).toRelative() //=> \"in 1 day\"\n * @example DateTime.now().setLocale(\"es\").toRelative({ days: 1 }) //=> \"dentro de 1 día\"\n * @example DateTime.now().plus({ days: 1 }).toRelative({ locale: \"fr\" }) //=> \"dans 23 heures\"\n * @example DateTime.now().minus({ days: 2 }).toRelative() //=> \"2 days ago\"\n * @example DateTime.now().minus({ days: 2 }).toRelative({ unit: \"hours\" }) //=> \"48 hours ago\"\n * @example DateTime.now().minus({ hours: 36 }).toRelative({ round: false }) //=> \"1.5 days ago\"\n */\n toRelative(options = {}) {\n if (!this.isValid) return null;\n const base = options.base || DateTime.fromObject({}, { zone: this.zone }),\n padding = options.padding ? (this < base ? -options.padding : options.padding) : 0;\n let units = [\"years\", \"months\", \"days\", \"hours\", \"minutes\", \"seconds\"];\n let unit = options.unit;\n if (Array.isArray(options.unit)) {\n units = options.unit;\n unit = undefined;\n }\n return diffRelative(base, this.plus(padding), {\n ...options,\n numeric: \"always\",\n units,\n unit,\n });\n }\n\n /**\n * Returns a string representation of this date relative to today, such as \"yesterday\" or \"next month\".\n * Only internationalizes on platforms that supports Intl.RelativeTimeFormat.\n * @param {Object} options - options that affect the output\n * @param {DateTime} [options.base=DateTime.now()] - the DateTime to use as the basis to which this time is compared. Defaults to now.\n * @param {string} options.locale - override the locale of this DateTime\n * @param {string} options.unit - use a specific unit; if omitted, the method will pick the unit. Use one of \"years\", \"quarters\", \"months\", \"weeks\", or \"days\"\n * @param {string} options.numberingSystem - override the numberingSystem of this DateTime. The Intl system may choose not to honor this\n * @example DateTime.now().plus({ days: 1 }).toRelativeCalendar() //=> \"tomorrow\"\n * @example DateTime.now().setLocale(\"es\").plus({ days: 1 }).toRelative() //=> \"\"mañana\"\n * @example DateTime.now().plus({ days: 1 }).toRelativeCalendar({ locale: \"fr\" }) //=> \"demain\"\n * @example DateTime.now().minus({ days: 2 }).toRelativeCalendar() //=> \"2 days ago\"\n */\n toRelativeCalendar(options = {}) {\n if (!this.isValid) return null;\n\n return diffRelative(options.base || DateTime.fromObject({}, { zone: this.zone }), this, {\n ...options,\n numeric: \"auto\",\n units: [\"years\", \"months\", \"days\"],\n calendary: true,\n });\n }\n\n /**\n * Return the min of several date times\n * @param {...DateTime} dateTimes - the DateTimes from which to choose the minimum\n * @return {DateTime} the min DateTime, or undefined if called with no argument\n */\n static min(...dateTimes) {\n if (!dateTimes.every(DateTime.isDateTime)) {\n throw new InvalidArgumentError(\"min requires all arguments be DateTimes\");\n }\n return bestBy(dateTimes, (i) => i.valueOf(), Math.min);\n }\n\n /**\n * Return the max of several date times\n * @param {...DateTime} dateTimes - the DateTimes from which to choose the maximum\n * @return {DateTime} the max DateTime, or undefined if called with no argument\n */\n static max(...dateTimes) {\n if (!dateTimes.every(DateTime.isDateTime)) {\n throw new InvalidArgumentError(\"max requires all arguments be DateTimes\");\n }\n return bestBy(dateTimes, (i) => i.valueOf(), Math.max);\n }\n\n // MISC\n\n /**\n * Explain how a string would be parsed by fromFormat()\n * @param {string} text - the string to parse\n * @param {string} fmt - the format the string is expected to be in (see description)\n * @param {Object} options - options taken by fromFormat()\n * @return {Object}\n */\n static fromFormatExplain(text, fmt, options = {}) {\n const { locale = null, numberingSystem = null } = options,\n localeToUse = Locale.fromOpts({\n locale,\n numberingSystem,\n defaultToEN: true,\n });\n return explainFromTokens(localeToUse, text, fmt);\n }\n\n /**\n * @deprecated use fromFormatExplain instead\n */\n static fromStringExplain(text, fmt, options = {}) {\n return DateTime.fromFormatExplain(text, fmt, options);\n }\n\n /**\n * Build a parser for `fmt` using the given locale. This parser can be passed\n * to {@link DateTime.fromFormatParser} to a parse a date in this format. This\n * can be used to optimize cases where many dates need to be parsed in a\n * specific format.\n *\n * @param {String} fmt - the format the string is expected to be in (see\n * description)\n * @param {Object} options - options used to set locale and numberingSystem\n * for parser\n * @returns {TokenParser} - opaque object to be used\n */\n static buildFormatParser(fmt, options = {}) {\n const { locale = null, numberingSystem = null } = options,\n localeToUse = Locale.fromOpts({\n locale,\n numberingSystem,\n defaultToEN: true,\n });\n return new TokenParser(localeToUse, fmt);\n }\n\n /**\n * Create a DateTime from an input string and format parser.\n *\n * The format parser must have been created with the same locale as this call.\n *\n * @param {String} text - the string to parse\n * @param {TokenParser} formatParser - parser from {@link DateTime.buildFormatParser}\n * @param {Object} opts - options taken by fromFormat()\n * @returns {DateTime}\n */\n static fromFormatParser(text, formatParser, opts = {}) {\n if (isUndefined(text) || isUndefined(formatParser)) {\n throw new InvalidArgumentError(\n \"fromFormatParser requires an input string and a format parser\"\n );\n }\n const { locale = null, numberingSystem = null } = opts,\n localeToUse = Locale.fromOpts({\n locale,\n numberingSystem,\n defaultToEN: true,\n });\n\n if (!localeToUse.equals(formatParser.locale)) {\n throw new InvalidArgumentError(\n `fromFormatParser called with a locale of ${localeToUse}, ` +\n `but the format parser was created for ${formatParser.locale}`\n );\n }\n\n const { result, zone, specificOffset, invalidReason } = formatParser.explainFromTokens(text);\n\n if (invalidReason) {\n return DateTime.invalid(invalidReason);\n } else {\n return parseDataToDateTime(\n result,\n zone,\n opts,\n `format ${formatParser.format}`,\n text,\n specificOffset\n );\n }\n }\n\n // FORMAT PRESETS\n\n /**\n * {@link DateTime#toLocaleString} format like 10/14/1983\n * @type {Object}\n */\n static get DATE_SHORT() {\n return Formats.DATE_SHORT;\n }\n\n /**\n * {@link DateTime#toLocaleString} format like 'Oct 14, 1983'\n * @type {Object}\n */\n static get DATE_MED() {\n return Formats.DATE_MED;\n }\n\n /**\n * {@link DateTime#toLocaleString} format like 'Fri, Oct 14, 1983'\n * @type {Object}\n */\n static get DATE_MED_WITH_WEEKDAY() {\n return Formats.DATE_MED_WITH_WEEKDAY;\n }\n\n /**\n * {@link DateTime#toLocaleString} format like 'October 14, 1983'\n * @type {Object}\n */\n static get DATE_FULL() {\n return Formats.DATE_FULL;\n }\n\n /**\n * {@link DateTime#toLocaleString} format like 'Tuesday, October 14, 1983'\n * @type {Object}\n */\n static get DATE_HUGE() {\n return Formats.DATE_HUGE;\n }\n\n /**\n * {@link DateTime#toLocaleString} format like '09:30 AM'. Only 12-hour if the locale is.\n * @type {Object}\n */\n static get TIME_SIMPLE() {\n return Formats.TIME_SIMPLE;\n }\n\n /**\n * {@link DateTime#toLocaleString} format like '09:30:23 AM'. Only 12-hour if the locale is.\n * @type {Object}\n */\n static get TIME_WITH_SECONDS() {\n return Formats.TIME_WITH_SECONDS;\n }\n\n /**\n * {@link DateTime#toLocaleString} format like '09:30:23 AM EDT'. Only 12-hour if the locale is.\n * @type {Object}\n */\n static get TIME_WITH_SHORT_OFFSET() {\n return Formats.TIME_WITH_SHORT_OFFSET;\n }\n\n /**\n * {@link DateTime#toLocaleString} format like '09:30:23 AM Eastern Daylight Time'. Only 12-hour if the locale is.\n * @type {Object}\n */\n static get TIME_WITH_LONG_OFFSET() {\n return Formats.TIME_WITH_LONG_OFFSET;\n }\n\n /**\n * {@link DateTime#toLocaleString} format like '09:30', always 24-hour.\n * @type {Object}\n */\n static get TIME_24_SIMPLE() {\n return Formats.TIME_24_SIMPLE;\n }\n\n /**\n * {@link DateTime#toLocaleString} format like '09:30:23', always 24-hour.\n * @type {Object}\n */\n static get TIME_24_WITH_SECONDS() {\n return Formats.TIME_24_WITH_SECONDS;\n }\n\n /**\n * {@link DateTime#toLocaleString} format like '09:30:23 EDT', always 24-hour.\n * @type {Object}\n */\n static get TIME_24_WITH_SHORT_OFFSET() {\n return Formats.TIME_24_WITH_SHORT_OFFSET;\n }\n\n /**\n * {@link DateTime#toLocaleString} format like '09:30:23 Eastern Daylight Time', always 24-hour.\n * @type {Object}\n */\n static get TIME_24_WITH_LONG_OFFSET() {\n return Formats.TIME_24_WITH_LONG_OFFSET;\n }\n\n /**\n * {@link DateTime#toLocaleString} format like '10/14/1983, 9:30 AM'. Only 12-hour if the locale is.\n * @type {Object}\n */\n static get DATETIME_SHORT() {\n return Formats.DATETIME_SHORT;\n }\n\n /**\n * {@link DateTime#toLocaleString} format like '10/14/1983, 9:30:33 AM'. Only 12-hour if the locale is.\n * @type {Object}\n */\n static get DATETIME_SHORT_WITH_SECONDS() {\n return Formats.DATETIME_SHORT_WITH_SECONDS;\n }\n\n /**\n * {@link DateTime#toLocaleString} format like 'Oct 14, 1983, 9:30 AM'. Only 12-hour if the locale is.\n * @type {Object}\n */\n static get DATETIME_MED() {\n return Formats.DATETIME_MED;\n }\n\n /**\n * {@link DateTime#toLocaleString} format like 'Oct 14, 1983, 9:30:33 AM'. Only 12-hour if the locale is.\n * @type {Object}\n */\n static get DATETIME_MED_WITH_SECONDS() {\n return Formats.DATETIME_MED_WITH_SECONDS;\n }\n\n /**\n * {@link DateTime#toLocaleString} format like 'Fri, 14 Oct 1983, 9:30 AM'. Only 12-hour if the locale is.\n * @type {Object}\n */\n static get DATETIME_MED_WITH_WEEKDAY() {\n return Formats.DATETIME_MED_WITH_WEEKDAY;\n }\n\n /**\n * {@link DateTime#toLocaleString} format like 'October 14, 1983, 9:30 AM EDT'. Only 12-hour if the locale is.\n * @type {Object}\n */\n static get DATETIME_FULL() {\n return Formats.DATETIME_FULL;\n }\n\n /**\n * {@link DateTime#toLocaleString} format like 'October 14, 1983, 9:30:33 AM EDT'. Only 12-hour if the locale is.\n * @type {Object}\n */\n static get DATETIME_FULL_WITH_SECONDS() {\n return Formats.DATETIME_FULL_WITH_SECONDS;\n }\n\n /**\n * {@link DateTime#toLocaleString} format like 'Friday, October 14, 1983, 9:30 AM Eastern Daylight Time'. Only 12-hour if the locale is.\n * @type {Object}\n */\n static get DATETIME_HUGE() {\n return Formats.DATETIME_HUGE;\n }\n\n /**\n * {@link DateTime#toLocaleString} format like 'Friday, October 14, 1983, 9:30:33 AM Eastern Daylight Time'. Only 12-hour if the locale is.\n * @type {Object}\n */\n static get DATETIME_HUGE_WITH_SECONDS() {\n return Formats.DATETIME_HUGE_WITH_SECONDS;\n }\n}\n\n/**\n * @private\n */\nexport function friendlyDateTime(dateTimeish) {\n if (DateTime.isDateTime(dateTimeish)) {\n return dateTimeish;\n } else if (dateTimeish && dateTimeish.valueOf && isNumber(dateTimeish.valueOf())) {\n return DateTime.fromJSDate(dateTimeish);\n } else if (dateTimeish && typeof dateTimeish === \"object\") {\n return DateTime.fromObject(dateTimeish);\n } else {\n throw new InvalidArgumentError(\n `Unknown datetime argument: ${dateTimeish}, of type ${typeof dateTimeish}`\n );\n }\n}\n","import { InvalidArgumentError, InvalidDurationError, InvalidUnitError } from \"./errors.js\";\nimport Formatter from \"./impl/formatter.js\";\nimport Invalid from \"./impl/invalid.js\";\nimport Locale from \"./impl/locale.js\";\nimport { parseISODuration, parseISOTimeOnly } from \"./impl/regexParser.js\";\nimport {\n asNumber,\n hasOwnProperty,\n isNumber,\n isUndefined,\n normalizeObject,\n roundTo,\n} from \"./impl/util.js\";\nimport Settings from \"./settings.js\";\nimport DateTime from \"./datetime.js\";\n\nconst INVALID = \"Invalid Duration\";\n\n// unit conversion constants\nexport const lowOrderMatrix = {\n weeks: {\n days: 7,\n hours: 7 * 24,\n minutes: 7 * 24 * 60,\n seconds: 7 * 24 * 60 * 60,\n milliseconds: 7 * 24 * 60 * 60 * 1000,\n },\n days: {\n hours: 24,\n minutes: 24 * 60,\n seconds: 24 * 60 * 60,\n milliseconds: 24 * 60 * 60 * 1000,\n },\n hours: { minutes: 60, seconds: 60 * 60, milliseconds: 60 * 60 * 1000 },\n minutes: { seconds: 60, milliseconds: 60 * 1000 },\n seconds: { milliseconds: 1000 },\n },\n casualMatrix = {\n years: {\n quarters: 4,\n months: 12,\n weeks: 52,\n days: 365,\n hours: 365 * 24,\n minutes: 365 * 24 * 60,\n seconds: 365 * 24 * 60 * 60,\n milliseconds: 365 * 24 * 60 * 60 * 1000,\n },\n quarters: {\n months: 3,\n weeks: 13,\n days: 91,\n hours: 91 * 24,\n minutes: 91 * 24 * 60,\n seconds: 91 * 24 * 60 * 60,\n milliseconds: 91 * 24 * 60 * 60 * 1000,\n },\n months: {\n weeks: 4,\n days: 30,\n hours: 30 * 24,\n minutes: 30 * 24 * 60,\n seconds: 30 * 24 * 60 * 60,\n milliseconds: 30 * 24 * 60 * 60 * 1000,\n },\n\n ...lowOrderMatrix,\n },\n daysInYearAccurate = 146097.0 / 400,\n daysInMonthAccurate = 146097.0 / 4800,\n accurateMatrix = {\n years: {\n quarters: 4,\n months: 12,\n weeks: daysInYearAccurate / 7,\n days: daysInYearAccurate,\n hours: daysInYearAccurate * 24,\n minutes: daysInYearAccurate * 24 * 60,\n seconds: daysInYearAccurate * 24 * 60 * 60,\n milliseconds: daysInYearAccurate * 24 * 60 * 60 * 1000,\n },\n quarters: {\n months: 3,\n weeks: daysInYearAccurate / 28,\n days: daysInYearAccurate / 4,\n hours: (daysInYearAccurate * 24) / 4,\n minutes: (daysInYearAccurate * 24 * 60) / 4,\n seconds: (daysInYearAccurate * 24 * 60 * 60) / 4,\n milliseconds: (daysInYearAccurate * 24 * 60 * 60 * 1000) / 4,\n },\n months: {\n weeks: daysInMonthAccurate / 7,\n days: daysInMonthAccurate,\n hours: daysInMonthAccurate * 24,\n minutes: daysInMonthAccurate * 24 * 60,\n seconds: daysInMonthAccurate * 24 * 60 * 60,\n milliseconds: daysInMonthAccurate * 24 * 60 * 60 * 1000,\n },\n ...lowOrderMatrix,\n };\n\n// units ordered by size\nconst orderedUnits = [\n \"years\",\n \"quarters\",\n \"months\",\n \"weeks\",\n \"days\",\n \"hours\",\n \"minutes\",\n \"seconds\",\n \"milliseconds\",\n];\n\nconst reverseUnits = orderedUnits.slice(0).reverse();\n\n// clone really means \"create another instance just like this one, but with these changes\"\nfunction clone(dur, alts, clear = false) {\n // deep merge for vals\n const conf = {\n values: clear ? alts.values : { ...dur.values, ...(alts.values || {}) },\n loc: dur.loc.clone(alts.loc),\n conversionAccuracy: alts.conversionAccuracy || dur.conversionAccuracy,\n matrix: alts.matrix || dur.matrix,\n };\n return new Duration(conf);\n}\n\nfunction durationToMillis(matrix, vals) {\n let sum = vals.milliseconds ?? 0;\n for (const unit of reverseUnits.slice(1)) {\n if (vals[unit]) {\n sum += vals[unit] * matrix[unit][\"milliseconds\"];\n }\n }\n return sum;\n}\n\n// NB: mutates parameters\nfunction normalizeValues(matrix, vals) {\n // the logic below assumes the overall value of the duration is positive\n // if this is not the case, factor is used to make it so\n const factor = durationToMillis(matrix, vals) < 0 ? -1 : 1;\n\n orderedUnits.reduceRight((previous, current) => {\n if (!isUndefined(vals[current])) {\n if (previous) {\n const previousVal = vals[previous] * factor;\n const conv = matrix[current][previous];\n\n // if (previousVal < 0):\n // lower order unit is negative (e.g. { years: 2, days: -2 })\n // normalize this by reducing the higher order unit by the appropriate amount\n // and increasing the lower order unit\n // this can never make the higher order unit negative, because this function only operates\n // on positive durations, so the amount of time represented by the lower order unit cannot\n // be larger than the higher order unit\n // else:\n // lower order unit is positive (e.g. { years: 2, days: 450 } or { years: -2, days: 450 })\n // in this case we attempt to convert as much as possible from the lower order unit into\n // the higher order one\n //\n // Math.floor takes care of both of these cases, rounding away from 0\n // if previousVal < 0 it makes the absolute value larger\n // if previousVal >= it makes the absolute value smaller\n const rollUp = Math.floor(previousVal / conv);\n vals[current] += rollUp * factor;\n vals[previous] -= rollUp * conv * factor;\n }\n return current;\n } else {\n return previous;\n }\n }, null);\n\n // try to convert any decimals into smaller units if possible\n // for example for { years: 2.5, days: 0, seconds: 0 } we want to get { years: 2, days: 182, hours: 12 }\n orderedUnits.reduce((previous, current) => {\n if (!isUndefined(vals[current])) {\n if (previous) {\n const fraction = vals[previous] % 1;\n vals[previous] -= fraction;\n vals[current] += fraction * matrix[previous][current];\n }\n return current;\n } else {\n return previous;\n }\n }, null);\n}\n\n// Remove all properties with a value of 0 from an object\nfunction removeZeroes(vals) {\n const newVals = {};\n for (const [key, value] of Object.entries(vals)) {\n if (value !== 0) {\n newVals[key] = value;\n }\n }\n return newVals;\n}\n\n/**\n * A Duration object represents a period of time, like \"2 months\" or \"1 day, 1 hour\". Conceptually, it's just a map of units to their quantities, accompanied by some additional configuration and methods for creating, parsing, interrogating, transforming, and formatting them. They can be used on their own or in conjunction with other Luxon types; for example, you can use {@link DateTime#plus} to add a Duration object to a DateTime, producing another DateTime.\n *\n * Here is a brief overview of commonly used methods and getters in Duration:\n *\n * * **Creation** To create a Duration, use {@link Duration.fromMillis}, {@link Duration.fromObject}, or {@link Duration.fromISO}.\n * * **Unit values** See the {@link Duration#years}, {@link Duration#months}, {@link Duration#weeks}, {@link Duration#days}, {@link Duration#hours}, {@link Duration#minutes}, {@link Duration#seconds}, {@link Duration#milliseconds} accessors.\n * * **Configuration** See {@link Duration#locale} and {@link Duration#numberingSystem} accessors.\n * * **Transformation** To create new Durations out of old ones use {@link Duration#plus}, {@link Duration#minus}, {@link Duration#normalize}, {@link Duration#set}, {@link Duration#reconfigure}, {@link Duration#shiftTo}, and {@link Duration#negate}.\n * * **Output** To convert the Duration into other representations, see {@link Duration#as}, {@link Duration#toISO}, {@link Duration#toFormat}, and {@link Duration#toJSON}\n *\n * There's are more methods documented below. In addition, for more information on subtler topics like internationalization and validity, see the external documentation.\n */\nexport default class Duration {\n /**\n * @private\n */\n constructor(config) {\n const accurate = config.conversionAccuracy === \"longterm\" || false;\n let matrix = accurate ? accurateMatrix : casualMatrix;\n\n if (config.matrix) {\n matrix = config.matrix;\n }\n\n /**\n * @access private\n */\n this.values = config.values;\n /**\n * @access private\n */\n this.loc = config.loc || Locale.create();\n /**\n * @access private\n */\n this.conversionAccuracy = accurate ? \"longterm\" : \"casual\";\n /**\n * @access private\n */\n this.invalid = config.invalid || null;\n /**\n * @access private\n */\n this.matrix = matrix;\n /**\n * @access private\n */\n this.isLuxonDuration = true;\n }\n\n /**\n * Create Duration from a number of milliseconds.\n * @param {number} count of milliseconds\n * @param {Object} opts - options for parsing\n * @param {string} [opts.locale='en-US'] - the locale to use\n * @param {string} opts.numberingSystem - the numbering system to use\n * @param {string} [opts.conversionAccuracy='casual'] - the conversion system to use\n * @return {Duration}\n */\n static fromMillis(count, opts) {\n return Duration.fromObject({ milliseconds: count }, opts);\n }\n\n /**\n * Create a Duration from a JavaScript object with keys like 'years' and 'hours'.\n * If this object is empty then a zero milliseconds duration is returned.\n * @param {Object} obj - the object to create the DateTime from\n * @param {number} obj.years\n * @param {number} obj.quarters\n * @param {number} obj.months\n * @param {number} obj.weeks\n * @param {number} obj.days\n * @param {number} obj.hours\n * @param {number} obj.minutes\n * @param {number} obj.seconds\n * @param {number} obj.milliseconds\n * @param {Object} [opts=[]] - options for creating this Duration\n * @param {string} [opts.locale='en-US'] - the locale to use\n * @param {string} opts.numberingSystem - the numbering system to use\n * @param {string} [opts.conversionAccuracy='casual'] - the preset conversion system to use\n * @param {string} [opts.matrix=Object] - the custom conversion system to use\n * @return {Duration}\n */\n static fromObject(obj, opts = {}) {\n if (obj == null || typeof obj !== \"object\") {\n throw new InvalidArgumentError(\n `Duration.fromObject: argument expected to be an object, got ${\n obj === null ? \"null\" : typeof obj\n }`\n );\n }\n\n return new Duration({\n values: normalizeObject(obj, Duration.normalizeUnit),\n loc: Locale.fromObject(opts),\n conversionAccuracy: opts.conversionAccuracy,\n matrix: opts.matrix,\n });\n }\n\n /**\n * Create a Duration from DurationLike.\n *\n * @param {Object | number | Duration} durationLike\n * One of:\n * - object with keys like 'years' and 'hours'.\n * - number representing milliseconds\n * - Duration instance\n * @return {Duration}\n */\n static fromDurationLike(durationLike) {\n if (isNumber(durationLike)) {\n return Duration.fromMillis(durationLike);\n } else if (Duration.isDuration(durationLike)) {\n return durationLike;\n } else if (typeof durationLike === \"object\") {\n return Duration.fromObject(durationLike);\n } else {\n throw new InvalidArgumentError(\n `Unknown duration argument ${durationLike} of type ${typeof durationLike}`\n );\n }\n }\n\n /**\n * Create a Duration from an ISO 8601 duration string.\n * @param {string} text - text to parse\n * @param {Object} opts - options for parsing\n * @param {string} [opts.locale='en-US'] - the locale to use\n * @param {string} opts.numberingSystem - the numbering system to use\n * @param {string} [opts.conversionAccuracy='casual'] - the preset conversion system to use\n * @param {string} [opts.matrix=Object] - the preset conversion system to use\n * @see https://en.wikipedia.org/wiki/ISO_8601#Durations\n * @example Duration.fromISO('P3Y6M1W4DT12H30M5S').toObject() //=> { years: 3, months: 6, weeks: 1, days: 4, hours: 12, minutes: 30, seconds: 5 }\n * @example Duration.fromISO('PT23H').toObject() //=> { hours: 23 }\n * @example Duration.fromISO('P5Y3M').toObject() //=> { years: 5, months: 3 }\n * @return {Duration}\n */\n static fromISO(text, opts) {\n const [parsed] = parseISODuration(text);\n if (parsed) {\n return Duration.fromObject(parsed, opts);\n } else {\n return Duration.invalid(\"unparsable\", `the input \"${text}\" can't be parsed as ISO 8601`);\n }\n }\n\n /**\n * Create a Duration from an ISO 8601 time string.\n * @param {string} text - text to parse\n * @param {Object} opts - options for parsing\n * @param {string} [opts.locale='en-US'] - the locale to use\n * @param {string} opts.numberingSystem - the numbering system to use\n * @param {string} [opts.conversionAccuracy='casual'] - the preset conversion system to use\n * @param {string} [opts.matrix=Object] - the conversion system to use\n * @see https://en.wikipedia.org/wiki/ISO_8601#Times\n * @example Duration.fromISOTime('11:22:33.444').toObject() //=> { hours: 11, minutes: 22, seconds: 33, milliseconds: 444 }\n * @example Duration.fromISOTime('11:00').toObject() //=> { hours: 11, minutes: 0, seconds: 0 }\n * @example Duration.fromISOTime('T11:00').toObject() //=> { hours: 11, minutes: 0, seconds: 0 }\n * @example Duration.fromISOTime('1100').toObject() //=> { hours: 11, minutes: 0, seconds: 0 }\n * @example Duration.fromISOTime('T1100').toObject() //=> { hours: 11, minutes: 0, seconds: 0 }\n * @return {Duration}\n */\n static fromISOTime(text, opts) {\n const [parsed] = parseISOTimeOnly(text);\n if (parsed) {\n return Duration.fromObject(parsed, opts);\n } else {\n return Duration.invalid(\"unparsable\", `the input \"${text}\" can't be parsed as ISO 8601`);\n }\n }\n\n /**\n * Create an invalid Duration.\n * @param {string} reason - simple string of why this datetime is invalid. Should not contain parameters or anything else data-dependent\n * @param {string} [explanation=null] - longer explanation, may include parameters and other useful debugging information\n * @return {Duration}\n */\n static invalid(reason, explanation = null) {\n if (!reason) {\n throw new InvalidArgumentError(\"need to specify a reason the Duration is invalid\");\n }\n\n const invalid = reason instanceof Invalid ? reason : new Invalid(reason, explanation);\n\n if (Settings.throwOnInvalid) {\n throw new InvalidDurationError(invalid);\n } else {\n return new Duration({ invalid });\n }\n }\n\n /**\n * @private\n */\n static normalizeUnit(unit) {\n const normalized = {\n year: \"years\",\n years: \"years\",\n quarter: \"quarters\",\n quarters: \"quarters\",\n month: \"months\",\n months: \"months\",\n week: \"weeks\",\n weeks: \"weeks\",\n day: \"days\",\n days: \"days\",\n hour: \"hours\",\n hours: \"hours\",\n minute: \"minutes\",\n minutes: \"minutes\",\n second: \"seconds\",\n seconds: \"seconds\",\n millisecond: \"milliseconds\",\n milliseconds: \"milliseconds\",\n }[unit ? unit.toLowerCase() : unit];\n\n if (!normalized) throw new InvalidUnitError(unit);\n\n return normalized;\n }\n\n /**\n * Check if an object is a Duration. Works across context boundaries\n * @param {object} o\n * @return {boolean}\n */\n static isDuration(o) {\n return (o && o.isLuxonDuration) || false;\n }\n\n /**\n * Get the locale of a Duration, such 'en-GB'\n * @type {string}\n */\n get locale() {\n return this.isValid ? this.loc.locale : null;\n }\n\n /**\n * Get the numbering system of a Duration, such 'beng'. The numbering system is used when formatting the Duration\n *\n * @type {string}\n */\n get numberingSystem() {\n return this.isValid ? this.loc.numberingSystem : null;\n }\n\n /**\n * Returns a string representation of this Duration formatted according to the specified format string. You may use these tokens:\n * * `S` for milliseconds\n * * `s` for seconds\n * * `m` for minutes\n * * `h` for hours\n * * `d` for days\n * * `w` for weeks\n * * `M` for months\n * * `y` for years\n * Notes:\n * * Add padding by repeating the token, e.g. \"yy\" pads the years to two digits, \"hhhh\" pads the hours out to four digits\n * * Tokens can be escaped by wrapping with single quotes.\n * * The duration will be converted to the set of units in the format string using {@link Duration#shiftTo} and the Durations's conversion accuracy setting.\n * @param {string} fmt - the format string\n * @param {Object} opts - options\n * @param {boolean} [opts.floor=true] - floor numerical values\n * @example Duration.fromObject({ years: 1, days: 6, seconds: 2 }).toFormat(\"y d s\") //=> \"1 6 2\"\n * @example Duration.fromObject({ years: 1, days: 6, seconds: 2 }).toFormat(\"yy dd sss\") //=> \"01 06 002\"\n * @example Duration.fromObject({ years: 1, days: 6, seconds: 2 }).toFormat(\"M S\") //=> \"12 518402000\"\n * @return {string}\n */\n toFormat(fmt, opts = {}) {\n // reverse-compat since 1.2; we always round down now, never up, and we do it by default\n const fmtOpts = {\n ...opts,\n floor: opts.round !== false && opts.floor !== false,\n };\n return this.isValid\n ? Formatter.create(this.loc, fmtOpts).formatDurationFromString(this, fmt)\n : INVALID;\n }\n\n /**\n * Returns a string representation of a Duration with all units included.\n * To modify its behavior, use `listStyle` and any Intl.NumberFormat option, though `unitDisplay` is especially relevant.\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Intl/NumberFormat/NumberFormat#options\n * @param {Object} opts - Formatting options. Accepts the same keys as the options parameter of the native `Intl.NumberFormat` constructor, as well as `listStyle`.\n * @param {string} [opts.listStyle='narrow'] - How to format the merged list. Corresponds to the `style` property of the options parameter of the native `Intl.ListFormat` constructor.\n * @example\n * ```js\n * var dur = Duration.fromObject({ days: 1, hours: 5, minutes: 6 })\n * dur.toHuman() //=> '1 day, 5 hours, 6 minutes'\n * dur.toHuman({ listStyle: \"long\" }) //=> '1 day, 5 hours, and 6 minutes'\n * dur.toHuman({ unitDisplay: \"short\" }) //=> '1 day, 5 hr, 6 min'\n * ```\n */\n toHuman(opts = {}) {\n if (!this.isValid) return INVALID;\n\n const l = orderedUnits\n .map((unit) => {\n const val = this.values[unit];\n if (isUndefined(val)) {\n return null;\n }\n return this.loc\n .numberFormatter({ style: \"unit\", unitDisplay: \"long\", ...opts, unit: unit.slice(0, -1) })\n .format(val);\n })\n .filter((n) => n);\n\n return this.loc\n .listFormatter({ type: \"conjunction\", style: opts.listStyle || \"narrow\", ...opts })\n .format(l);\n }\n\n /**\n * Returns a JavaScript object with this Duration's values.\n * @example Duration.fromObject({ years: 1, days: 6, seconds: 2 }).toObject() //=> { years: 1, days: 6, seconds: 2 }\n * @return {Object}\n */\n toObject() {\n if (!this.isValid) return {};\n return { ...this.values };\n }\n\n /**\n * Returns an ISO 8601-compliant string representation of this Duration.\n * @see https://en.wikipedia.org/wiki/ISO_8601#Durations\n * @example Duration.fromObject({ years: 3, seconds: 45 }).toISO() //=> 'P3YT45S'\n * @example Duration.fromObject({ months: 4, seconds: 45 }).toISO() //=> 'P4MT45S'\n * @example Duration.fromObject({ months: 5 }).toISO() //=> 'P5M'\n * @example Duration.fromObject({ minutes: 5 }).toISO() //=> 'PT5M'\n * @example Duration.fromObject({ milliseconds: 6 }).toISO() //=> 'PT0.006S'\n * @return {string}\n */\n toISO() {\n // we could use the formatter, but this is an easier way to get the minimum string\n if (!this.isValid) return null;\n\n let s = \"P\";\n if (this.years !== 0) s += this.years + \"Y\";\n if (this.months !== 0 || this.quarters !== 0) s += this.months + this.quarters * 3 + \"M\";\n if (this.weeks !== 0) s += this.weeks + \"W\";\n if (this.days !== 0) s += this.days + \"D\";\n if (this.hours !== 0 || this.minutes !== 0 || this.seconds !== 0 || this.milliseconds !== 0)\n s += \"T\";\n if (this.hours !== 0) s += this.hours + \"H\";\n if (this.minutes !== 0) s += this.minutes + \"M\";\n if (this.seconds !== 0 || this.milliseconds !== 0)\n // this will handle \"floating point madness\" by removing extra decimal places\n // https://stackoverflow.com/questions/588004/is-floating-point-math-broken\n s += roundTo(this.seconds + this.milliseconds / 1000, 3) + \"S\";\n if (s === \"P\") s += \"T0S\";\n return s;\n }\n\n /**\n * Returns an ISO 8601-compliant string representation of this Duration, formatted as a time of day.\n * Note that this will return null if the duration is invalid, negative, or equal to or greater than 24 hours.\n * @see https://en.wikipedia.org/wiki/ISO_8601#Times\n * @param {Object} opts - options\n * @param {boolean} [opts.suppressMilliseconds=false] - exclude milliseconds from the format if they're 0\n * @param {boolean} [opts.suppressSeconds=false] - exclude seconds from the format if they're 0\n * @param {boolean} [opts.includePrefix=false] - include the `T` prefix\n * @param {string} [opts.format='extended'] - choose between the basic and extended format\n * @example Duration.fromObject({ hours: 11 }).toISOTime() //=> '11:00:00.000'\n * @example Duration.fromObject({ hours: 11 }).toISOTime({ suppressMilliseconds: true }) //=> '11:00:00'\n * @example Duration.fromObject({ hours: 11 }).toISOTime({ suppressSeconds: true }) //=> '11:00'\n * @example Duration.fromObject({ hours: 11 }).toISOTime({ includePrefix: true }) //=> 'T11:00:00.000'\n * @example Duration.fromObject({ hours: 11 }).toISOTime({ format: 'basic' }) //=> '110000.000'\n * @return {string}\n */\n toISOTime(opts = {}) {\n if (!this.isValid) return null;\n\n const millis = this.toMillis();\n if (millis < 0 || millis >= 86400000) return null;\n\n opts = {\n suppressMilliseconds: false,\n suppressSeconds: false,\n includePrefix: false,\n format: \"extended\",\n ...opts,\n includeOffset: false,\n };\n\n const dateTime = DateTime.fromMillis(millis, { zone: \"UTC\" });\n return dateTime.toISOTime(opts);\n }\n\n /**\n * Returns an ISO 8601 representation of this Duration appropriate for use in JSON.\n * @return {string}\n */\n toJSON() {\n return this.toISO();\n }\n\n /**\n * Returns an ISO 8601 representation of this Duration appropriate for use in debugging.\n * @return {string}\n */\n toString() {\n return this.toISO();\n }\n\n /**\n * Returns a string representation of this Duration appropriate for the REPL.\n * @return {string}\n */\n [Symbol.for(\"nodejs.util.inspect.custom\")]() {\n if (this.isValid) {\n return `Duration { values: ${JSON.stringify(this.values)} }`;\n } else {\n return `Duration { Invalid, reason: ${this.invalidReason} }`;\n }\n }\n\n /**\n * Returns an milliseconds value of this Duration.\n * @return {number}\n */\n toMillis() {\n if (!this.isValid) return NaN;\n\n return durationToMillis(this.matrix, this.values);\n }\n\n /**\n * Returns an milliseconds value of this Duration. Alias of {@link toMillis}\n * @return {number}\n */\n valueOf() {\n return this.toMillis();\n }\n\n /**\n * Make this Duration longer by the specified amount. Return a newly-constructed Duration.\n * @param {Duration|Object|number} duration - The amount to add. Either a Luxon Duration, a number of milliseconds, the object argument to Duration.fromObject()\n * @return {Duration}\n */\n plus(duration) {\n if (!this.isValid) return this;\n\n const dur = Duration.fromDurationLike(duration),\n result = {};\n\n for (const k of orderedUnits) {\n if (hasOwnProperty(dur.values, k) || hasOwnProperty(this.values, k)) {\n result[k] = dur.get(k) + this.get(k);\n }\n }\n\n return clone(this, { values: result }, true);\n }\n\n /**\n * Make this Duration shorter by the specified amount. Return a newly-constructed Duration.\n * @param {Duration|Object|number} duration - The amount to subtract. Either a Luxon Duration, a number of milliseconds, the object argument to Duration.fromObject()\n * @return {Duration}\n */\n minus(duration) {\n if (!this.isValid) return this;\n\n const dur = Duration.fromDurationLike(duration);\n return this.plus(dur.negate());\n }\n\n /**\n * Scale this Duration by the specified amount. Return a newly-constructed Duration.\n * @param {function} fn - The function to apply to each unit. Arity is 1 or 2: the value of the unit and, optionally, the unit name. Must return a number.\n * @example Duration.fromObject({ hours: 1, minutes: 30 }).mapUnits(x => x * 2) //=> { hours: 2, minutes: 60 }\n * @example Duration.fromObject({ hours: 1, minutes: 30 }).mapUnits((x, u) => u === \"hours\" ? x * 2 : x) //=> { hours: 2, minutes: 30 }\n * @return {Duration}\n */\n mapUnits(fn) {\n if (!this.isValid) return this;\n const result = {};\n for (const k of Object.keys(this.values)) {\n result[k] = asNumber(fn(this.values[k], k));\n }\n return clone(this, { values: result }, true);\n }\n\n /**\n * Get the value of unit.\n * @param {string} unit - a unit such as 'minute' or 'day'\n * @example Duration.fromObject({years: 2, days: 3}).get('years') //=> 2\n * @example Duration.fromObject({years: 2, days: 3}).get('months') //=> 0\n * @example Duration.fromObject({years: 2, days: 3}).get('days') //=> 3\n * @return {number}\n */\n get(unit) {\n return this[Duration.normalizeUnit(unit)];\n }\n\n /**\n * \"Set\" the values of specified units. Return a newly-constructed Duration.\n * @param {Object} values - a mapping of units to numbers\n * @example dur.set({ years: 2017 })\n * @example dur.set({ hours: 8, minutes: 30 })\n * @return {Duration}\n */\n set(values) {\n if (!this.isValid) return this;\n\n const mixed = { ...this.values, ...normalizeObject(values, Duration.normalizeUnit) };\n return clone(this, { values: mixed });\n }\n\n /**\n * \"Set\" the locale and/or numberingSystem. Returns a newly-constructed Duration.\n * @example dur.reconfigure({ locale: 'en-GB' })\n * @return {Duration}\n */\n reconfigure({ locale, numberingSystem, conversionAccuracy, matrix } = {}) {\n const loc = this.loc.clone({ locale, numberingSystem });\n const opts = { loc, matrix, conversionAccuracy };\n return clone(this, opts);\n }\n\n /**\n * Return the length of the duration in the specified unit.\n * @param {string} unit - a unit such as 'minutes' or 'days'\n * @example Duration.fromObject({years: 1}).as('days') //=> 365\n * @example Duration.fromObject({years: 1}).as('months') //=> 12\n * @example Duration.fromObject({hours: 60}).as('days') //=> 2.5\n * @return {number}\n */\n as(unit) {\n return this.isValid ? this.shiftTo(unit).get(unit) : NaN;\n }\n\n /**\n * Reduce this Duration to its canonical representation in its current units.\n * Assuming the overall value of the Duration is positive, this means:\n * - excessive values for lower-order units are converted to higher-order units (if possible, see first and second example)\n * - negative lower-order units are converted to higher order units (there must be such a higher order unit, otherwise\n * the overall value would be negative, see third example)\n * - fractional values for higher-order units are converted to lower-order units (if possible, see fourth example)\n *\n * If the overall value is negative, the result of this method is equivalent to `this.negate().normalize().negate()`.\n * @example Duration.fromObject({ years: 2, days: 5000 }).normalize().toObject() //=> { years: 15, days: 255 }\n * @example Duration.fromObject({ days: 5000 }).normalize().toObject() //=> { days: 5000 }\n * @example Duration.fromObject({ hours: 12, minutes: -45 }).normalize().toObject() //=> { hours: 11, minutes: 15 }\n * @example Duration.fromObject({ years: 2.5, days: 0, hours: 0 }).normalize().toObject() //=> { years: 2, days: 182, hours: 12 }\n * @return {Duration}\n */\n normalize() {\n if (!this.isValid) return this;\n const vals = this.toObject();\n normalizeValues(this.matrix, vals);\n return clone(this, { values: vals }, true);\n }\n\n /**\n * Rescale units to its largest representation\n * @example Duration.fromObject({ milliseconds: 90000 }).rescale().toObject() //=> { minutes: 1, seconds: 30 }\n * @return {Duration}\n */\n rescale() {\n if (!this.isValid) return this;\n const vals = removeZeroes(this.normalize().shiftToAll().toObject());\n return clone(this, { values: vals }, true);\n }\n\n /**\n * Convert this Duration into its representation in a different set of units.\n * @example Duration.fromObject({ hours: 1, seconds: 30 }).shiftTo('minutes', 'milliseconds').toObject() //=> { minutes: 60, milliseconds: 30000 }\n * @return {Duration}\n */\n shiftTo(...units) {\n if (!this.isValid) return this;\n\n if (units.length === 0) {\n return this;\n }\n\n units = units.map((u) => Duration.normalizeUnit(u));\n\n const built = {},\n accumulated = {},\n vals = this.toObject();\n let lastUnit;\n\n for (const k of orderedUnits) {\n if (units.indexOf(k) >= 0) {\n lastUnit = k;\n\n let own = 0;\n\n // anything we haven't boiled down yet should get boiled to this unit\n for (const ak in accumulated) {\n own += this.matrix[ak][k] * accumulated[ak];\n accumulated[ak] = 0;\n }\n\n // plus anything that's already in this unit\n if (isNumber(vals[k])) {\n own += vals[k];\n }\n\n // only keep the integer part for now in the hopes of putting any decimal part\n // into a smaller unit later\n const i = Math.trunc(own);\n built[k] = i;\n accumulated[k] = (own * 1000 - i * 1000) / 1000;\n\n // otherwise, keep it in the wings to boil it later\n } else if (isNumber(vals[k])) {\n accumulated[k] = vals[k];\n }\n }\n\n // anything leftover becomes the decimal for the last unit\n // lastUnit must be defined since units is not empty\n for (const key in accumulated) {\n if (accumulated[key] !== 0) {\n built[lastUnit] +=\n key === lastUnit ? accumulated[key] : accumulated[key] / this.matrix[lastUnit][key];\n }\n }\n\n normalizeValues(this.matrix, built);\n return clone(this, { values: built }, true);\n }\n\n /**\n * Shift this Duration to all available units.\n * Same as shiftTo(\"years\", \"months\", \"weeks\", \"days\", \"hours\", \"minutes\", \"seconds\", \"milliseconds\")\n * @return {Duration}\n */\n shiftToAll() {\n if (!this.isValid) return this;\n return this.shiftTo(\n \"years\",\n \"months\",\n \"weeks\",\n \"days\",\n \"hours\",\n \"minutes\",\n \"seconds\",\n \"milliseconds\"\n );\n }\n\n /**\n * Return the negative of this Duration.\n * @example Duration.fromObject({ hours: 1, seconds: 30 }).negate().toObject() //=> { hours: -1, seconds: -30 }\n * @return {Duration}\n */\n negate() {\n if (!this.isValid) return this;\n const negated = {};\n for (const k of Object.keys(this.values)) {\n negated[k] = this.values[k] === 0 ? 0 : -this.values[k];\n }\n return clone(this, { values: negated }, true);\n }\n\n /**\n * Get the years.\n * @type {number}\n */\n get years() {\n return this.isValid ? this.values.years || 0 : NaN;\n }\n\n /**\n * Get the quarters.\n * @type {number}\n */\n get quarters() {\n return this.isValid ? this.values.quarters || 0 : NaN;\n }\n\n /**\n * Get the months.\n * @type {number}\n */\n get months() {\n return this.isValid ? this.values.months || 0 : NaN;\n }\n\n /**\n * Get the weeks\n * @type {number}\n */\n get weeks() {\n return this.isValid ? this.values.weeks || 0 : NaN;\n }\n\n /**\n * Get the days.\n * @type {number}\n */\n get days() {\n return this.isValid ? this.values.days || 0 : NaN;\n }\n\n /**\n * Get the hours.\n * @type {number}\n */\n get hours() {\n return this.isValid ? this.values.hours || 0 : NaN;\n }\n\n /**\n * Get the minutes.\n * @type {number}\n */\n get minutes() {\n return this.isValid ? this.values.minutes || 0 : NaN;\n }\n\n /**\n * Get the seconds.\n * @return {number}\n */\n get seconds() {\n return this.isValid ? this.values.seconds || 0 : NaN;\n }\n\n /**\n * Get the milliseconds.\n * @return {number}\n */\n get milliseconds() {\n return this.isValid ? this.values.milliseconds || 0 : NaN;\n }\n\n /**\n * Returns whether the Duration is invalid. Invalid durations are returned by diff operations\n * on invalid DateTimes or Intervals.\n * @return {boolean}\n */\n get isValid() {\n return this.invalid === null;\n }\n\n /**\n * Returns an error code if this Duration became invalid, or null if the Duration is valid\n * @return {string}\n */\n get invalidReason() {\n return this.invalid ? this.invalid.reason : null;\n }\n\n /**\n * Returns an explanation of why this Duration became invalid, or null if the Duration is valid\n * @type {string}\n */\n get invalidExplanation() {\n return this.invalid ? this.invalid.explanation : null;\n }\n\n /**\n * Equality check\n * Two Durations are equal iff they have the same units and the same values for each unit.\n * @param {Duration} other\n * @return {boolean}\n */\n equals(other) {\n if (!this.isValid || !other.isValid) {\n return false;\n }\n\n if (!this.loc.equals(other.loc)) {\n return false;\n }\n\n function eq(v1, v2) {\n // Consider 0 and undefined as equal\n if (v1 === undefined || v1 === 0) return v2 === undefined || v2 === 0;\n return v1 === v2;\n }\n\n for (const u of orderedUnits) {\n if (!eq(this.values[u], other.values[u])) {\n return false;\n }\n }\n return true;\n }\n}\n","// these aren't really private, but nor are they really useful to document\n\n/**\n * @private\n */\nclass LuxonError extends Error {}\n\n/**\n * @private\n */\nexport class InvalidDateTimeError extends LuxonError {\n constructor(reason) {\n super(`Invalid DateTime: ${reason.toMessage()}`);\n }\n}\n\n/**\n * @private\n */\nexport class InvalidIntervalError extends LuxonError {\n constructor(reason) {\n super(`Invalid Interval: ${reason.toMessage()}`);\n }\n}\n\n/**\n * @private\n */\nexport class InvalidDurationError extends LuxonError {\n constructor(reason) {\n super(`Invalid Duration: ${reason.toMessage()}`);\n }\n}\n\n/**\n * @private\n */\nexport class ConflictingSpecificationError extends LuxonError {}\n\n/**\n * @private\n */\nexport class InvalidUnitError extends LuxonError {\n constructor(unit) {\n super(`Invalid unit ${unit}`);\n }\n}\n\n/**\n * @private\n */\nexport class InvalidArgumentError extends LuxonError {}\n\n/**\n * @private\n */\nexport class ZoneIsAbstractError extends LuxonError {\n constructor() {\n super(\"Zone is an abstract class\");\n }\n}\n","import {\n integerBetween,\n isLeapYear,\n timeObject,\n daysInYear,\n daysInMonth,\n weeksInWeekYear,\n isInteger,\n isUndefined,\n} from \"./util.js\";\nimport Invalid from \"./invalid.js\";\nimport { ConflictingSpecificationError } from \"../errors.js\";\n\nconst nonLeapLadder = [0, 31, 59, 90, 120, 151, 181, 212, 243, 273, 304, 334],\n leapLadder = [0, 31, 60, 91, 121, 152, 182, 213, 244, 274, 305, 335];\n\nfunction unitOutOfRange(unit, value) {\n return new Invalid(\n \"unit out of range\",\n `you specified ${value} (of type ${typeof value}) as a ${unit}, which is invalid`\n );\n}\n\nexport function dayOfWeek(year, month, day) {\n const d = new Date(Date.UTC(year, month - 1, day));\n\n if (year < 100 && year >= 0) {\n d.setUTCFullYear(d.getUTCFullYear() - 1900);\n }\n\n const js = d.getUTCDay();\n\n return js === 0 ? 7 : js;\n}\n\nfunction computeOrdinal(year, month, day) {\n return day + (isLeapYear(year) ? leapLadder : nonLeapLadder)[month - 1];\n}\n\nfunction uncomputeOrdinal(year, ordinal) {\n const table = isLeapYear(year) ? leapLadder : nonLeapLadder,\n month0 = table.findIndex((i) => i < ordinal),\n day = ordinal - table[month0];\n return { month: month0 + 1, day };\n}\n\nexport function isoWeekdayToLocal(isoWeekday, startOfWeek) {\n return ((isoWeekday - startOfWeek + 7) % 7) + 1;\n}\n\n/**\n * @private\n */\n\nexport function gregorianToWeek(gregObj, minDaysInFirstWeek = 4, startOfWeek = 1) {\n const { year, month, day } = gregObj,\n ordinal = computeOrdinal(year, month, day),\n weekday = isoWeekdayToLocal(dayOfWeek(year, month, day), startOfWeek);\n\n let weekNumber = Math.floor((ordinal - weekday + 14 - minDaysInFirstWeek) / 7),\n weekYear;\n\n if (weekNumber < 1) {\n weekYear = year - 1;\n weekNumber = weeksInWeekYear(weekYear, minDaysInFirstWeek, startOfWeek);\n } else if (weekNumber > weeksInWeekYear(year, minDaysInFirstWeek, startOfWeek)) {\n weekYear = year + 1;\n weekNumber = 1;\n } else {\n weekYear = year;\n }\n\n return { weekYear, weekNumber, weekday, ...timeObject(gregObj) };\n}\n\nexport function weekToGregorian(weekData, minDaysInFirstWeek = 4, startOfWeek = 1) {\n const { weekYear, weekNumber, weekday } = weekData,\n weekdayOfJan4 = isoWeekdayToLocal(dayOfWeek(weekYear, 1, minDaysInFirstWeek), startOfWeek),\n yearInDays = daysInYear(weekYear);\n\n let ordinal = weekNumber * 7 + weekday - weekdayOfJan4 - 7 + minDaysInFirstWeek,\n year;\n\n if (ordinal < 1) {\n year = weekYear - 1;\n ordinal += daysInYear(year);\n } else if (ordinal > yearInDays) {\n year = weekYear + 1;\n ordinal -= daysInYear(weekYear);\n } else {\n year = weekYear;\n }\n\n const { month, day } = uncomputeOrdinal(year, ordinal);\n return { year, month, day, ...timeObject(weekData) };\n}\n\nexport function gregorianToOrdinal(gregData) {\n const { year, month, day } = gregData;\n const ordinal = computeOrdinal(year, month, day);\n return { year, ordinal, ...timeObject(gregData) };\n}\n\nexport function ordinalToGregorian(ordinalData) {\n const { year, ordinal } = ordinalData;\n const { month, day } = uncomputeOrdinal(year, ordinal);\n return { year, month, day, ...timeObject(ordinalData) };\n}\n\n/**\n * Check if local week units like localWeekday are used in obj.\n * If so, validates that they are not mixed with ISO week units and then copies them to the normal week unit properties.\n * Modifies obj in-place!\n * @param obj the object values\n */\nexport function usesLocalWeekValues(obj, loc) {\n const hasLocaleWeekData =\n !isUndefined(obj.localWeekday) ||\n !isUndefined(obj.localWeekNumber) ||\n !isUndefined(obj.localWeekYear);\n if (hasLocaleWeekData) {\n const hasIsoWeekData =\n !isUndefined(obj.weekday) || !isUndefined(obj.weekNumber) || !isUndefined(obj.weekYear);\n\n if (hasIsoWeekData) {\n throw new ConflictingSpecificationError(\n \"Cannot mix locale-based week fields with ISO-based week fields\"\n );\n }\n if (!isUndefined(obj.localWeekday)) obj.weekday = obj.localWeekday;\n if (!isUndefined(obj.localWeekNumber)) obj.weekNumber = obj.localWeekNumber;\n if (!isUndefined(obj.localWeekYear)) obj.weekYear = obj.localWeekYear;\n delete obj.localWeekday;\n delete obj.localWeekNumber;\n delete obj.localWeekYear;\n return {\n minDaysInFirstWeek: loc.getMinDaysInFirstWeek(),\n startOfWeek: loc.getStartOfWeek(),\n };\n } else {\n return { minDaysInFirstWeek: 4, startOfWeek: 1 };\n }\n}\n\nexport function hasInvalidWeekData(obj, minDaysInFirstWeek = 4, startOfWeek = 1) {\n const validYear = isInteger(obj.weekYear),\n validWeek = integerBetween(\n obj.weekNumber,\n 1,\n weeksInWeekYear(obj.weekYear, minDaysInFirstWeek, startOfWeek)\n ),\n validWeekday = integerBetween(obj.weekday, 1, 7);\n\n if (!validYear) {\n return unitOutOfRange(\"weekYear\", obj.weekYear);\n } else if (!validWeek) {\n return unitOutOfRange(\"week\", obj.weekNumber);\n } else if (!validWeekday) {\n return unitOutOfRange(\"weekday\", obj.weekday);\n } else return false;\n}\n\nexport function hasInvalidOrdinalData(obj) {\n const validYear = isInteger(obj.year),\n validOrdinal = integerBetween(obj.ordinal, 1, daysInYear(obj.year));\n\n if (!validYear) {\n return unitOutOfRange(\"year\", obj.year);\n } else if (!validOrdinal) {\n return unitOutOfRange(\"ordinal\", obj.ordinal);\n } else return false;\n}\n\nexport function hasInvalidGregorianData(obj) {\n const validYear = isInteger(obj.year),\n validMonth = integerBetween(obj.month, 1, 12),\n validDay = integerBetween(obj.day, 1, daysInMonth(obj.year, obj.month));\n\n if (!validYear) {\n return unitOutOfRange(\"year\", obj.year);\n } else if (!validMonth) {\n return unitOutOfRange(\"month\", obj.month);\n } else if (!validDay) {\n return unitOutOfRange(\"day\", obj.day);\n } else return false;\n}\n\nexport function hasInvalidTimeData(obj) {\n const { hour, minute, second, millisecond } = obj;\n const validHour =\n integerBetween(hour, 0, 23) ||\n (hour === 24 && minute === 0 && second === 0 && millisecond === 0),\n validMinute = integerBetween(minute, 0, 59),\n validSecond = integerBetween(second, 0, 59),\n validMillisecond = integerBetween(millisecond, 0, 999);\n\n if (!validHour) {\n return unitOutOfRange(\"hour\", hour);\n } else if (!validMinute) {\n return unitOutOfRange(\"minute\", minute);\n } else if (!validSecond) {\n return unitOutOfRange(\"second\", second);\n } else if (!validMillisecond) {\n return unitOutOfRange(\"millisecond\", millisecond);\n } else return false;\n}\n","import Duration from \"../duration.js\";\n\nfunction dayDiff(earlier, later) {\n const utcDayStart = (dt) => dt.toUTC(0, { keepLocalTime: true }).startOf(\"day\").valueOf(),\n ms = utcDayStart(later) - utcDayStart(earlier);\n return Math.floor(Duration.fromMillis(ms).as(\"days\"));\n}\n\nfunction highOrderDiffs(cursor, later, units) {\n const differs = [\n [\"years\", (a, b) => b.year - a.year],\n [\"quarters\", (a, b) => b.quarter - a.quarter + (b.year - a.year) * 4],\n [\"months\", (a, b) => b.month - a.month + (b.year - a.year) * 12],\n [\n \"weeks\",\n (a, b) => {\n const days = dayDiff(a, b);\n return (days - (days % 7)) / 7;\n },\n ],\n [\"days\", dayDiff],\n ];\n\n const results = {};\n const earlier = cursor;\n let lowestOrder, highWater;\n\n /* This loop tries to diff using larger units first.\n If we overshoot, we backtrack and try the next smaller unit.\n \"cursor\" starts out at the earlier timestamp and moves closer and closer to \"later\"\n as we use smaller and smaller units.\n highWater keeps track of where we would be if we added one more of the smallest unit,\n this is used later to potentially convert any difference smaller than the smallest higher order unit\n into a fraction of that smallest higher order unit\n */\n for (const [unit, differ] of differs) {\n if (units.indexOf(unit) >= 0) {\n lowestOrder = unit;\n\n results[unit] = differ(cursor, later);\n highWater = earlier.plus(results);\n\n if (highWater > later) {\n // we overshot the end point, backtrack cursor by 1\n results[unit]--;\n cursor = earlier.plus(results);\n\n // if we are still overshooting now, we need to backtrack again\n // this happens in certain situations when diffing times in different zones,\n // because this calculation ignores time zones\n if (cursor > later) {\n // keep the \"overshot by 1\" around as highWater\n highWater = cursor;\n // backtrack cursor by 1\n results[unit]--;\n cursor = earlier.plus(results);\n }\n } else {\n cursor = highWater;\n }\n }\n }\n\n return [cursor, results, highWater, lowestOrder];\n}\n\nexport default function (earlier, later, units, opts) {\n let [cursor, results, highWater, lowestOrder] = highOrderDiffs(earlier, later, units);\n\n const remainingMillis = later - cursor;\n\n const lowerOrderUnits = units.filter(\n (u) => [\"hours\", \"minutes\", \"seconds\", \"milliseconds\"].indexOf(u) >= 0\n );\n\n if (lowerOrderUnits.length === 0) {\n if (highWater < later) {\n highWater = cursor.plus({ [lowestOrder]: 1 });\n }\n\n if (highWater !== cursor) {\n results[lowestOrder] = (results[lowestOrder] || 0) + remainingMillis / (highWater - cursor);\n }\n }\n\n const duration = Duration.fromObject(results, opts);\n\n if (lowerOrderUnits.length > 0) {\n return Duration.fromMillis(remainingMillis, opts)\n .shiftTo(...lowerOrderUnits)\n .plus(duration);\n } else {\n return duration;\n }\n}\n","const numberingSystems = {\n arab: \"[\\u0660-\\u0669]\",\n arabext: \"[\\u06F0-\\u06F9]\",\n bali: \"[\\u1B50-\\u1B59]\",\n beng: \"[\\u09E6-\\u09EF]\",\n deva: \"[\\u0966-\\u096F]\",\n fullwide: \"[\\uFF10-\\uFF19]\",\n gujr: \"[\\u0AE6-\\u0AEF]\",\n hanidec: \"[〇|一|二|三|四|五|六|七|八|九]\",\n khmr: \"[\\u17E0-\\u17E9]\",\n knda: \"[\\u0CE6-\\u0CEF]\",\n laoo: \"[\\u0ED0-\\u0ED9]\",\n limb: \"[\\u1946-\\u194F]\",\n mlym: \"[\\u0D66-\\u0D6F]\",\n mong: \"[\\u1810-\\u1819]\",\n mymr: \"[\\u1040-\\u1049]\",\n orya: \"[\\u0B66-\\u0B6F]\",\n tamldec: \"[\\u0BE6-\\u0BEF]\",\n telu: \"[\\u0C66-\\u0C6F]\",\n thai: \"[\\u0E50-\\u0E59]\",\n tibt: \"[\\u0F20-\\u0F29]\",\n latn: \"\\\\d\",\n};\n\nconst numberingSystemsUTF16 = {\n arab: [1632, 1641],\n arabext: [1776, 1785],\n bali: [6992, 7001],\n beng: [2534, 2543],\n deva: [2406, 2415],\n fullwide: [65296, 65303],\n gujr: [2790, 2799],\n khmr: [6112, 6121],\n knda: [3302, 3311],\n laoo: [3792, 3801],\n limb: [6470, 6479],\n mlym: [3430, 3439],\n mong: [6160, 6169],\n mymr: [4160, 4169],\n orya: [2918, 2927],\n tamldec: [3046, 3055],\n telu: [3174, 3183],\n thai: [3664, 3673],\n tibt: [3872, 3881],\n};\n\nconst hanidecChars = numberingSystems.hanidec.replace(/[\\[|\\]]/g, \"\").split(\"\");\n\nexport function parseDigits(str) {\n let value = parseInt(str, 10);\n if (isNaN(value)) {\n value = \"\";\n for (let i = 0; i < str.length; i++) {\n const code = str.charCodeAt(i);\n\n if (str[i].search(numberingSystems.hanidec) !== -1) {\n value += hanidecChars.indexOf(str[i]);\n } else {\n for (const key in numberingSystemsUTF16) {\n const [min, max] = numberingSystemsUTF16[key];\n if (code >= min && code <= max) {\n value += code - min;\n }\n }\n }\n }\n return parseInt(value, 10);\n } else {\n return value;\n }\n}\n\n// cache of {numberingSystem: {append: regex}}\nlet digitRegexCache = {};\nexport function resetDigitRegexCache() {\n digitRegexCache = {};\n}\n\nexport function digitRegex({ numberingSystem }, append = \"\") {\n const ns = numberingSystem || \"latn\";\n\n if (!digitRegexCache[ns]) {\n digitRegexCache[ns] = {};\n }\n if (!digitRegexCache[ns][append]) {\n digitRegexCache[ns][append] = new RegExp(`${numberingSystems[ns]}${append}`);\n }\n\n return digitRegexCache[ns][append];\n}\n","import * as Formats from \"./formats.js\";\nimport { pick } from \"./util.js\";\n\nfunction stringify(obj) {\n return JSON.stringify(obj, Object.keys(obj).sort());\n}\n\n/**\n * @private\n */\n\nexport const monthsLong = [\n \"January\",\n \"February\",\n \"March\",\n \"April\",\n \"May\",\n \"June\",\n \"July\",\n \"August\",\n \"September\",\n \"October\",\n \"November\",\n \"December\",\n];\n\nexport const monthsShort = [\n \"Jan\",\n \"Feb\",\n \"Mar\",\n \"Apr\",\n \"May\",\n \"Jun\",\n \"Jul\",\n \"Aug\",\n \"Sep\",\n \"Oct\",\n \"Nov\",\n \"Dec\",\n];\n\nexport const monthsNarrow = [\"J\", \"F\", \"M\", \"A\", \"M\", \"J\", \"J\", \"A\", \"S\", \"O\", \"N\", \"D\"];\n\nexport function months(length) {\n switch (length) {\n case \"narrow\":\n return [...monthsNarrow];\n case \"short\":\n return [...monthsShort];\n case \"long\":\n return [...monthsLong];\n case \"numeric\":\n return [\"1\", \"2\", \"3\", \"4\", \"5\", \"6\", \"7\", \"8\", \"9\", \"10\", \"11\", \"12\"];\n case \"2-digit\":\n return [\"01\", \"02\", \"03\", \"04\", \"05\", \"06\", \"07\", \"08\", \"09\", \"10\", \"11\", \"12\"];\n default:\n return null;\n }\n}\n\nexport const weekdaysLong = [\n \"Monday\",\n \"Tuesday\",\n \"Wednesday\",\n \"Thursday\",\n \"Friday\",\n \"Saturday\",\n \"Sunday\",\n];\n\nexport const weekdaysShort = [\"Mon\", \"Tue\", \"Wed\", \"Thu\", \"Fri\", \"Sat\", \"Sun\"];\n\nexport const weekdaysNarrow = [\"M\", \"T\", \"W\", \"T\", \"F\", \"S\", \"S\"];\n\nexport function weekdays(length) {\n switch (length) {\n case \"narrow\":\n return [...weekdaysNarrow];\n case \"short\":\n return [...weekdaysShort];\n case \"long\":\n return [...weekdaysLong];\n case \"numeric\":\n return [\"1\", \"2\", \"3\", \"4\", \"5\", \"6\", \"7\"];\n default:\n return null;\n }\n}\n\nexport const meridiems = [\"AM\", \"PM\"];\n\nexport const erasLong = [\"Before Christ\", \"Anno Domini\"];\n\nexport const erasShort = [\"BC\", \"AD\"];\n\nexport const erasNarrow = [\"B\", \"A\"];\n\nexport function eras(length) {\n switch (length) {\n case \"narrow\":\n return [...erasNarrow];\n case \"short\":\n return [...erasShort];\n case \"long\":\n return [...erasLong];\n default:\n return null;\n }\n}\n\nexport function meridiemForDateTime(dt) {\n return meridiems[dt.hour < 12 ? 0 : 1];\n}\n\nexport function weekdayForDateTime(dt, length) {\n return weekdays(length)[dt.weekday - 1];\n}\n\nexport function monthForDateTime(dt, length) {\n return months(length)[dt.month - 1];\n}\n\nexport function eraForDateTime(dt, length) {\n return eras(length)[dt.year < 0 ? 0 : 1];\n}\n\nexport function formatRelativeTime(unit, count, numeric = \"always\", narrow = false) {\n const units = {\n years: [\"year\", \"yr.\"],\n quarters: [\"quarter\", \"qtr.\"],\n months: [\"month\", \"mo.\"],\n weeks: [\"week\", \"wk.\"],\n days: [\"day\", \"day\", \"days\"],\n hours: [\"hour\", \"hr.\"],\n minutes: [\"minute\", \"min.\"],\n seconds: [\"second\", \"sec.\"],\n };\n\n const lastable = [\"hours\", \"minutes\", \"seconds\"].indexOf(unit) === -1;\n\n if (numeric === \"auto\" && lastable) {\n const isDay = unit === \"days\";\n switch (count) {\n case 1:\n return isDay ? \"tomorrow\" : `next ${units[unit][0]}`;\n case -1:\n return isDay ? \"yesterday\" : `last ${units[unit][0]}`;\n case 0:\n return isDay ? \"today\" : `this ${units[unit][0]}`;\n default: // fall through\n }\n }\n\n const isInPast = Object.is(count, -0) || count < 0,\n fmtValue = Math.abs(count),\n singular = fmtValue === 1,\n lilUnits = units[unit],\n fmtUnit = narrow\n ? singular\n ? lilUnits[1]\n : lilUnits[2] || lilUnits[1]\n : singular\n ? units[unit][0]\n : unit;\n return isInPast ? `${fmtValue} ${fmtUnit} ago` : `in ${fmtValue} ${fmtUnit}`;\n}\n\nexport function formatString(knownFormat) {\n // these all have the offsets removed because we don't have access to them\n // without all the intl stuff this is backfilling\n const filtered = pick(knownFormat, [\n \"weekday\",\n \"era\",\n \"year\",\n \"month\",\n \"day\",\n \"hour\",\n \"minute\",\n \"second\",\n \"timeZoneName\",\n \"hourCycle\",\n ]),\n key = stringify(filtered),\n dateTimeHuge = \"EEEE, LLLL d, yyyy, h:mm a\";\n switch (key) {\n case stringify(Formats.DATE_SHORT):\n return \"M/d/yyyy\";\n case stringify(Formats.DATE_MED):\n return \"LLL d, yyyy\";\n case stringify(Formats.DATE_MED_WITH_WEEKDAY):\n return \"EEE, LLL d, yyyy\";\n case stringify(Formats.DATE_FULL):\n return \"LLLL d, yyyy\";\n case stringify(Formats.DATE_HUGE):\n return \"EEEE, LLLL d, yyyy\";\n case stringify(Formats.TIME_SIMPLE):\n return \"h:mm a\";\n case stringify(Formats.TIME_WITH_SECONDS):\n return \"h:mm:ss a\";\n case stringify(Formats.TIME_WITH_SHORT_OFFSET):\n return \"h:mm a\";\n case stringify(Formats.TIME_WITH_LONG_OFFSET):\n return \"h:mm a\";\n case stringify(Formats.TIME_24_SIMPLE):\n return \"HH:mm\";\n case stringify(Formats.TIME_24_WITH_SECONDS):\n return \"HH:mm:ss\";\n case stringify(Formats.TIME_24_WITH_SHORT_OFFSET):\n return \"HH:mm\";\n case stringify(Formats.TIME_24_WITH_LONG_OFFSET):\n return \"HH:mm\";\n case stringify(Formats.DATETIME_SHORT):\n return \"M/d/yyyy, h:mm a\";\n case stringify(Formats.DATETIME_MED):\n return \"LLL d, yyyy, h:mm a\";\n case stringify(Formats.DATETIME_FULL):\n return \"LLLL d, yyyy, h:mm a\";\n case stringify(Formats.DATETIME_HUGE):\n return dateTimeHuge;\n case stringify(Formats.DATETIME_SHORT_WITH_SECONDS):\n return \"M/d/yyyy, h:mm:ss a\";\n case stringify(Formats.DATETIME_MED_WITH_SECONDS):\n return \"LLL d, yyyy, h:mm:ss a\";\n case stringify(Formats.DATETIME_MED_WITH_WEEKDAY):\n return \"EEE, d LLL yyyy, h:mm a\";\n case stringify(Formats.DATETIME_FULL_WITH_SECONDS):\n return \"LLLL d, yyyy, h:mm:ss a\";\n case stringify(Formats.DATETIME_HUGE_WITH_SECONDS):\n return \"EEEE, LLLL d, yyyy, h:mm:ss a\";\n default:\n return dateTimeHuge;\n }\n}\n","/**\n * @private\n */\n\nconst n = \"numeric\",\n s = \"short\",\n l = \"long\";\n\nexport const DATE_SHORT = {\n year: n,\n month: n,\n day: n,\n};\n\nexport const DATE_MED = {\n year: n,\n month: s,\n day: n,\n};\n\nexport const DATE_MED_WITH_WEEKDAY = {\n year: n,\n month: s,\n day: n,\n weekday: s,\n};\n\nexport const DATE_FULL = {\n year: n,\n month: l,\n day: n,\n};\n\nexport const DATE_HUGE = {\n year: n,\n month: l,\n day: n,\n weekday: l,\n};\n\nexport const TIME_SIMPLE = {\n hour: n,\n minute: n,\n};\n\nexport const TIME_WITH_SECONDS = {\n hour: n,\n minute: n,\n second: n,\n};\n\nexport const TIME_WITH_SHORT_OFFSET = {\n hour: n,\n minute: n,\n second: n,\n timeZoneName: s,\n};\n\nexport const TIME_WITH_LONG_OFFSET = {\n hour: n,\n minute: n,\n second: n,\n timeZoneName: l,\n};\n\nexport const TIME_24_SIMPLE = {\n hour: n,\n minute: n,\n hourCycle: \"h23\",\n};\n\nexport const TIME_24_WITH_SECONDS = {\n hour: n,\n minute: n,\n second: n,\n hourCycle: \"h23\",\n};\n\nexport const TIME_24_WITH_SHORT_OFFSET = {\n hour: n,\n minute: n,\n second: n,\n hourCycle: \"h23\",\n timeZoneName: s,\n};\n\nexport const TIME_24_WITH_LONG_OFFSET = {\n hour: n,\n minute: n,\n second: n,\n hourCycle: \"h23\",\n timeZoneName: l,\n};\n\nexport const DATETIME_SHORT = {\n year: n,\n month: n,\n day: n,\n hour: n,\n minute: n,\n};\n\nexport const DATETIME_SHORT_WITH_SECONDS = {\n year: n,\n month: n,\n day: n,\n hour: n,\n minute: n,\n second: n,\n};\n\nexport const DATETIME_MED = {\n year: n,\n month: s,\n day: n,\n hour: n,\n minute: n,\n};\n\nexport const DATETIME_MED_WITH_SECONDS = {\n year: n,\n month: s,\n day: n,\n hour: n,\n minute: n,\n second: n,\n};\n\nexport const DATETIME_MED_WITH_WEEKDAY = {\n year: n,\n month: s,\n day: n,\n weekday: s,\n hour: n,\n minute: n,\n};\n\nexport const DATETIME_FULL = {\n year: n,\n month: l,\n day: n,\n hour: n,\n minute: n,\n timeZoneName: s,\n};\n\nexport const DATETIME_FULL_WITH_SECONDS = {\n year: n,\n month: l,\n day: n,\n hour: n,\n minute: n,\n second: n,\n timeZoneName: s,\n};\n\nexport const DATETIME_HUGE = {\n year: n,\n month: l,\n day: n,\n weekday: l,\n hour: n,\n minute: n,\n timeZoneName: l,\n};\n\nexport const DATETIME_HUGE_WITH_SECONDS = {\n year: n,\n month: l,\n day: n,\n weekday: l,\n hour: n,\n minute: n,\n second: n,\n timeZoneName: l,\n};\n","import * as English from \"./english.js\";\nimport * as Formats from \"./formats.js\";\nimport { padStart } from \"./util.js\";\n\nfunction stringifyTokens(splits, tokenToString) {\n let s = \"\";\n for (const token of splits) {\n if (token.literal) {\n s += token.val;\n } else {\n s += tokenToString(token.val);\n }\n }\n return s;\n}\n\nconst macroTokenToFormatOpts = {\n D: Formats.DATE_SHORT,\n DD: Formats.DATE_MED,\n DDD: Formats.DATE_FULL,\n DDDD: Formats.DATE_HUGE,\n t: Formats.TIME_SIMPLE,\n tt: Formats.TIME_WITH_SECONDS,\n ttt: Formats.TIME_WITH_SHORT_OFFSET,\n tttt: Formats.TIME_WITH_LONG_OFFSET,\n T: Formats.TIME_24_SIMPLE,\n TT: Formats.TIME_24_WITH_SECONDS,\n TTT: Formats.TIME_24_WITH_SHORT_OFFSET,\n TTTT: Formats.TIME_24_WITH_LONG_OFFSET,\n f: Formats.DATETIME_SHORT,\n ff: Formats.DATETIME_MED,\n fff: Formats.DATETIME_FULL,\n ffff: Formats.DATETIME_HUGE,\n F: Formats.DATETIME_SHORT_WITH_SECONDS,\n FF: Formats.DATETIME_MED_WITH_SECONDS,\n FFF: Formats.DATETIME_FULL_WITH_SECONDS,\n FFFF: Formats.DATETIME_HUGE_WITH_SECONDS,\n};\n\n/**\n * @private\n */\n\nexport default class Formatter {\n static create(locale, opts = {}) {\n return new Formatter(locale, opts);\n }\n\n static parseFormat(fmt) {\n // white-space is always considered a literal in user-provided formats\n // the \" \" token has a special meaning (see unitForToken)\n\n let current = null,\n currentFull = \"\",\n bracketed = false;\n const splits = [];\n for (let i = 0; i < fmt.length; i++) {\n const c = fmt.charAt(i);\n if (c === \"'\") {\n if (currentFull.length > 0) {\n splits.push({ literal: bracketed || /^\\s+$/.test(currentFull), val: currentFull });\n }\n current = null;\n currentFull = \"\";\n bracketed = !bracketed;\n } else if (bracketed) {\n currentFull += c;\n } else if (c === current) {\n currentFull += c;\n } else {\n if (currentFull.length > 0) {\n splits.push({ literal: /^\\s+$/.test(currentFull), val: currentFull });\n }\n currentFull = c;\n current = c;\n }\n }\n\n if (currentFull.length > 0) {\n splits.push({ literal: bracketed || /^\\s+$/.test(currentFull), val: currentFull });\n }\n\n return splits;\n }\n\n static macroTokenToFormatOpts(token) {\n return macroTokenToFormatOpts[token];\n }\n\n constructor(locale, formatOpts) {\n this.opts = formatOpts;\n this.loc = locale;\n this.systemLoc = null;\n }\n\n formatWithSystemDefault(dt, opts) {\n if (this.systemLoc === null) {\n this.systemLoc = this.loc.redefaultToSystem();\n }\n const df = this.systemLoc.dtFormatter(dt, { ...this.opts, ...opts });\n return df.format();\n }\n\n dtFormatter(dt, opts = {}) {\n return this.loc.dtFormatter(dt, { ...this.opts, ...opts });\n }\n\n formatDateTime(dt, opts) {\n return this.dtFormatter(dt, opts).format();\n }\n\n formatDateTimeParts(dt, opts) {\n return this.dtFormatter(dt, opts).formatToParts();\n }\n\n formatInterval(interval, opts) {\n const df = this.dtFormatter(interval.start, opts);\n return df.dtf.formatRange(interval.start.toJSDate(), interval.end.toJSDate());\n }\n\n resolvedOptions(dt, opts) {\n return this.dtFormatter(dt, opts).resolvedOptions();\n }\n\n num(n, p = 0) {\n // we get some perf out of doing this here, annoyingly\n if (this.opts.forceSimple) {\n return padStart(n, p);\n }\n\n const opts = { ...this.opts };\n\n if (p > 0) {\n opts.padTo = p;\n }\n\n return this.loc.numberFormatter(opts).format(n);\n }\n\n formatDateTimeFromString(dt, fmt) {\n const knownEnglish = this.loc.listingMode() === \"en\",\n useDateTimeFormatter = this.loc.outputCalendar && this.loc.outputCalendar !== \"gregory\",\n string = (opts, extract) => this.loc.extract(dt, opts, extract),\n formatOffset = (opts) => {\n if (dt.isOffsetFixed && dt.offset === 0 && opts.allowZ) {\n return \"Z\";\n }\n\n return dt.isValid ? dt.zone.formatOffset(dt.ts, opts.format) : \"\";\n },\n meridiem = () =>\n knownEnglish\n ? English.meridiemForDateTime(dt)\n : string({ hour: \"numeric\", hourCycle: \"h12\" }, \"dayperiod\"),\n month = (length, standalone) =>\n knownEnglish\n ? English.monthForDateTime(dt, length)\n : string(standalone ? { month: length } : { month: length, day: \"numeric\" }, \"month\"),\n weekday = (length, standalone) =>\n knownEnglish\n ? English.weekdayForDateTime(dt, length)\n : string(\n standalone ? { weekday: length } : { weekday: length, month: \"long\", day: \"numeric\" },\n \"weekday\"\n ),\n maybeMacro = (token) => {\n const formatOpts = Formatter.macroTokenToFormatOpts(token);\n if (formatOpts) {\n return this.formatWithSystemDefault(dt, formatOpts);\n } else {\n return token;\n }\n },\n era = (length) =>\n knownEnglish ? English.eraForDateTime(dt, length) : string({ era: length }, \"era\"),\n tokenToString = (token) => {\n // Where possible: https://cldr.unicode.org/translation/date-time/date-time-symbols\n switch (token) {\n // ms\n case \"S\":\n return this.num(dt.millisecond);\n case \"u\":\n // falls through\n case \"SSS\":\n return this.num(dt.millisecond, 3);\n // seconds\n case \"s\":\n return this.num(dt.second);\n case \"ss\":\n return this.num(dt.second, 2);\n // fractional seconds\n case \"uu\":\n return this.num(Math.floor(dt.millisecond / 10), 2);\n case \"uuu\":\n return this.num(Math.floor(dt.millisecond / 100));\n // minutes\n case \"m\":\n return this.num(dt.minute);\n case \"mm\":\n return this.num(dt.minute, 2);\n // hours\n case \"h\":\n return this.num(dt.hour % 12 === 0 ? 12 : dt.hour % 12);\n case \"hh\":\n return this.num(dt.hour % 12 === 0 ? 12 : dt.hour % 12, 2);\n case \"H\":\n return this.num(dt.hour);\n case \"HH\":\n return this.num(dt.hour, 2);\n // offset\n case \"Z\":\n // like +6\n return formatOffset({ format: \"narrow\", allowZ: this.opts.allowZ });\n case \"ZZ\":\n // like +06:00\n return formatOffset({ format: \"short\", allowZ: this.opts.allowZ });\n case \"ZZZ\":\n // like +0600\n return formatOffset({ format: \"techie\", allowZ: this.opts.allowZ });\n case \"ZZZZ\":\n // like EST\n return dt.zone.offsetName(dt.ts, { format: \"short\", locale: this.loc.locale });\n case \"ZZZZZ\":\n // like Eastern Standard Time\n return dt.zone.offsetName(dt.ts, { format: \"long\", locale: this.loc.locale });\n // zone\n case \"z\":\n // like America/New_York\n return dt.zoneName;\n // meridiems\n case \"a\":\n return meridiem();\n // dates\n case \"d\":\n return useDateTimeFormatter ? string({ day: \"numeric\" }, \"day\") : this.num(dt.day);\n case \"dd\":\n return useDateTimeFormatter ? string({ day: \"2-digit\" }, \"day\") : this.num(dt.day, 2);\n // weekdays - standalone\n case \"c\":\n // like 1\n return this.num(dt.weekday);\n case \"ccc\":\n // like 'Tues'\n return weekday(\"short\", true);\n case \"cccc\":\n // like 'Tuesday'\n return weekday(\"long\", true);\n case \"ccccc\":\n // like 'T'\n return weekday(\"narrow\", true);\n // weekdays - format\n case \"E\":\n // like 1\n return this.num(dt.weekday);\n case \"EEE\":\n // like 'Tues'\n return weekday(\"short\", false);\n case \"EEEE\":\n // like 'Tuesday'\n return weekday(\"long\", false);\n case \"EEEEE\":\n // like 'T'\n return weekday(\"narrow\", false);\n // months - standalone\n case \"L\":\n // like 1\n return useDateTimeFormatter\n ? string({ month: \"numeric\", day: \"numeric\" }, \"month\")\n : this.num(dt.month);\n case \"LL\":\n // like 01, doesn't seem to work\n return useDateTimeFormatter\n ? string({ month: \"2-digit\", day: \"numeric\" }, \"month\")\n : this.num(dt.month, 2);\n case \"LLL\":\n // like Jan\n return month(\"short\", true);\n case \"LLLL\":\n // like January\n return month(\"long\", true);\n case \"LLLLL\":\n // like J\n return month(\"narrow\", true);\n // months - format\n case \"M\":\n // like 1\n return useDateTimeFormatter\n ? string({ month: \"numeric\" }, \"month\")\n : this.num(dt.month);\n case \"MM\":\n // like 01\n return useDateTimeFormatter\n ? string({ month: \"2-digit\" }, \"month\")\n : this.num(dt.month, 2);\n case \"MMM\":\n // like Jan\n return month(\"short\", false);\n case \"MMMM\":\n // like January\n return month(\"long\", false);\n case \"MMMMM\":\n // like J\n return month(\"narrow\", false);\n // years\n case \"y\":\n // like 2014\n return useDateTimeFormatter ? string({ year: \"numeric\" }, \"year\") : this.num(dt.year);\n case \"yy\":\n // like 14\n return useDateTimeFormatter\n ? string({ year: \"2-digit\" }, \"year\")\n : this.num(dt.year.toString().slice(-2), 2);\n case \"yyyy\":\n // like 0012\n return useDateTimeFormatter\n ? string({ year: \"numeric\" }, \"year\")\n : this.num(dt.year, 4);\n case \"yyyyyy\":\n // like 000012\n return useDateTimeFormatter\n ? string({ year: \"numeric\" }, \"year\")\n : this.num(dt.year, 6);\n // eras\n case \"G\":\n // like AD\n return era(\"short\");\n case \"GG\":\n // like Anno Domini\n return era(\"long\");\n case \"GGGGG\":\n return era(\"narrow\");\n case \"kk\":\n return this.num(dt.weekYear.toString().slice(-2), 2);\n case \"kkkk\":\n return this.num(dt.weekYear, 4);\n case \"W\":\n return this.num(dt.weekNumber);\n case \"WW\":\n return this.num(dt.weekNumber, 2);\n case \"n\":\n return this.num(dt.localWeekNumber);\n case \"nn\":\n return this.num(dt.localWeekNumber, 2);\n case \"ii\":\n return this.num(dt.localWeekYear.toString().slice(-2), 2);\n case \"iiii\":\n return this.num(dt.localWeekYear, 4);\n case \"o\":\n return this.num(dt.ordinal);\n case \"ooo\":\n return this.num(dt.ordinal, 3);\n case \"q\":\n // like 1\n return this.num(dt.quarter);\n case \"qq\":\n // like 01\n return this.num(dt.quarter, 2);\n case \"X\":\n return this.num(Math.floor(dt.ts / 1000));\n case \"x\":\n return this.num(dt.ts);\n default:\n return maybeMacro(token);\n }\n };\n\n return stringifyTokens(Formatter.parseFormat(fmt), tokenToString);\n }\n\n formatDurationFromString(dur, fmt) {\n const tokenToField = (token) => {\n switch (token[0]) {\n case \"S\":\n return \"millisecond\";\n case \"s\":\n return \"second\";\n case \"m\":\n return \"minute\";\n case \"h\":\n return \"hour\";\n case \"d\":\n return \"day\";\n case \"w\":\n return \"week\";\n case \"M\":\n return \"month\";\n case \"y\":\n return \"year\";\n default:\n return null;\n }\n },\n tokenToString = (lildur) => (token) => {\n const mapped = tokenToField(token);\n if (mapped) {\n return this.num(lildur.get(mapped), token.length);\n } else {\n return token;\n }\n },\n tokens = Formatter.parseFormat(fmt),\n realTokens = tokens.reduce(\n (found, { literal, val }) => (literal ? found : found.concat(val)),\n []\n ),\n collapsed = dur.shiftTo(...realTokens.map(tokenToField).filter((t) => t));\n return stringifyTokens(tokens, tokenToString(collapsed));\n }\n}\n","export default class Invalid {\n constructor(reason, explanation) {\n this.reason = reason;\n this.explanation = explanation;\n }\n\n toMessage() {\n if (this.explanation) {\n return `${this.reason}: ${this.explanation}`;\n } else {\n return this.reason;\n }\n }\n}\n","import { hasLocaleWeekInfo, hasRelative, padStart, roundTo, validateWeekSettings } from \"./util.js\";\nimport * as English from \"./english.js\";\nimport Settings from \"../settings.js\";\nimport DateTime from \"../datetime.js\";\nimport IANAZone from \"../zones/IANAZone.js\";\n\n// todo - remap caching\n\nlet intlLFCache = {};\nfunction getCachedLF(locString, opts = {}) {\n const key = JSON.stringify([locString, opts]);\n let dtf = intlLFCache[key];\n if (!dtf) {\n dtf = new Intl.ListFormat(locString, opts);\n intlLFCache[key] = dtf;\n }\n return dtf;\n}\n\nlet intlDTCache = {};\nfunction getCachedDTF(locString, opts = {}) {\n const key = JSON.stringify([locString, opts]);\n let dtf = intlDTCache[key];\n if (!dtf) {\n dtf = new Intl.DateTimeFormat(locString, opts);\n intlDTCache[key] = dtf;\n }\n return dtf;\n}\n\nlet intlNumCache = {};\nfunction getCachedINF(locString, opts = {}) {\n const key = JSON.stringify([locString, opts]);\n let inf = intlNumCache[key];\n if (!inf) {\n inf = new Intl.NumberFormat(locString, opts);\n intlNumCache[key] = inf;\n }\n return inf;\n}\n\nlet intlRelCache = {};\nfunction getCachedRTF(locString, opts = {}) {\n const { base, ...cacheKeyOpts } = opts; // exclude `base` from the options\n const key = JSON.stringify([locString, cacheKeyOpts]);\n let inf = intlRelCache[key];\n if (!inf) {\n inf = new Intl.RelativeTimeFormat(locString, opts);\n intlRelCache[key] = inf;\n }\n return inf;\n}\n\nlet sysLocaleCache = null;\nfunction systemLocale() {\n if (sysLocaleCache) {\n return sysLocaleCache;\n } else {\n sysLocaleCache = new Intl.DateTimeFormat().resolvedOptions().locale;\n return sysLocaleCache;\n }\n}\n\nlet weekInfoCache = {};\nfunction getCachedWeekInfo(locString) {\n let data = weekInfoCache[locString];\n if (!data) {\n const locale = new Intl.Locale(locString);\n // browsers currently implement this as a property, but spec says it should be a getter function\n data = \"getWeekInfo\" in locale ? locale.getWeekInfo() : locale.weekInfo;\n weekInfoCache[locString] = data;\n }\n return data;\n}\n\nfunction parseLocaleString(localeStr) {\n // I really want to avoid writing a BCP 47 parser\n // see, e.g. https://github.com/wooorm/bcp-47\n // Instead, we'll do this:\n\n // a) if the string has no -u extensions, just leave it alone\n // b) if it does, use Intl to resolve everything\n // c) if Intl fails, try again without the -u\n\n // private subtags and unicode subtags have ordering requirements,\n // and we're not properly parsing this, so just strip out the\n // private ones if they exist.\n const xIndex = localeStr.indexOf(\"-x-\");\n if (xIndex !== -1) {\n localeStr = localeStr.substring(0, xIndex);\n }\n\n const uIndex = localeStr.indexOf(\"-u-\");\n if (uIndex === -1) {\n return [localeStr];\n } else {\n let options;\n let selectedStr;\n try {\n options = getCachedDTF(localeStr).resolvedOptions();\n selectedStr = localeStr;\n } catch (e) {\n const smaller = localeStr.substring(0, uIndex);\n options = getCachedDTF(smaller).resolvedOptions();\n selectedStr = smaller;\n }\n\n const { numberingSystem, calendar } = options;\n return [selectedStr, numberingSystem, calendar];\n }\n}\n\nfunction intlConfigString(localeStr, numberingSystem, outputCalendar) {\n if (outputCalendar || numberingSystem) {\n if (!localeStr.includes(\"-u-\")) {\n localeStr += \"-u\";\n }\n\n if (outputCalendar) {\n localeStr += `-ca-${outputCalendar}`;\n }\n\n if (numberingSystem) {\n localeStr += `-nu-${numberingSystem}`;\n }\n return localeStr;\n } else {\n return localeStr;\n }\n}\n\nfunction mapMonths(f) {\n const ms = [];\n for (let i = 1; i <= 12; i++) {\n const dt = DateTime.utc(2009, i, 1);\n ms.push(f(dt));\n }\n return ms;\n}\n\nfunction mapWeekdays(f) {\n const ms = [];\n for (let i = 1; i <= 7; i++) {\n const dt = DateTime.utc(2016, 11, 13 + i);\n ms.push(f(dt));\n }\n return ms;\n}\n\nfunction listStuff(loc, length, englishFn, intlFn) {\n const mode = loc.listingMode();\n\n if (mode === \"error\") {\n return null;\n } else if (mode === \"en\") {\n return englishFn(length);\n } else {\n return intlFn(length);\n }\n}\n\nfunction supportsFastNumbers(loc) {\n if (loc.numberingSystem && loc.numberingSystem !== \"latn\") {\n return false;\n } else {\n return (\n loc.numberingSystem === \"latn\" ||\n !loc.locale ||\n loc.locale.startsWith(\"en\") ||\n new Intl.DateTimeFormat(loc.intl).resolvedOptions().numberingSystem === \"latn\"\n );\n }\n}\n\n/**\n * @private\n */\n\nclass PolyNumberFormatter {\n constructor(intl, forceSimple, opts) {\n this.padTo = opts.padTo || 0;\n this.floor = opts.floor || false;\n\n const { padTo, floor, ...otherOpts } = opts;\n\n if (!forceSimple || Object.keys(otherOpts).length > 0) {\n const intlOpts = { useGrouping: false, ...opts };\n if (opts.padTo > 0) intlOpts.minimumIntegerDigits = opts.padTo;\n this.inf = getCachedINF(intl, intlOpts);\n }\n }\n\n format(i) {\n if (this.inf) {\n const fixed = this.floor ? Math.floor(i) : i;\n return this.inf.format(fixed);\n } else {\n // to match the browser's numberformatter defaults\n const fixed = this.floor ? Math.floor(i) : roundTo(i, 3);\n return padStart(fixed, this.padTo);\n }\n }\n}\n\n/**\n * @private\n */\n\nclass PolyDateFormatter {\n constructor(dt, intl, opts) {\n this.opts = opts;\n this.originalZone = undefined;\n\n let z = undefined;\n if (this.opts.timeZone) {\n // Don't apply any workarounds if a timeZone is explicitly provided in opts\n this.dt = dt;\n } else if (dt.zone.type === \"fixed\") {\n // UTC-8 or Etc/UTC-8 are not part of tzdata, only Etc/GMT+8 and the like.\n // That is why fixed-offset TZ is set to that unless it is:\n // 1. Representing offset 0 when UTC is used to maintain previous behavior and does not become GMT.\n // 2. Unsupported by the browser:\n // - some do not support Etc/\n // - < Etc/GMT-14, > Etc/GMT+12, and 30-minute or 45-minute offsets are not part of tzdata\n const gmtOffset = -1 * (dt.offset / 60);\n const offsetZ = gmtOffset >= 0 ? `Etc/GMT+${gmtOffset}` : `Etc/GMT${gmtOffset}`;\n if (dt.offset !== 0 && IANAZone.create(offsetZ).valid) {\n z = offsetZ;\n this.dt = dt;\n } else {\n // Not all fixed-offset zones like Etc/+4:30 are present in tzdata so\n // we manually apply the offset and substitute the zone as needed.\n z = \"UTC\";\n this.dt = dt.offset === 0 ? dt : dt.setZone(\"UTC\").plus({ minutes: dt.offset });\n this.originalZone = dt.zone;\n }\n } else if (dt.zone.type === \"system\") {\n this.dt = dt;\n } else if (dt.zone.type === \"iana\") {\n this.dt = dt;\n z = dt.zone.name;\n } else {\n // Custom zones can have any offset / offsetName so we just manually\n // apply the offset and substitute the zone as needed.\n z = \"UTC\";\n this.dt = dt.setZone(\"UTC\").plus({ minutes: dt.offset });\n this.originalZone = dt.zone;\n }\n\n const intlOpts = { ...this.opts };\n intlOpts.timeZone = intlOpts.timeZone || z;\n this.dtf = getCachedDTF(intl, intlOpts);\n }\n\n format() {\n if (this.originalZone) {\n // If we have to substitute in the actual zone name, we have to use\n // formatToParts so that the timezone can be replaced.\n return this.formatToParts()\n .map(({ value }) => value)\n .join(\"\");\n }\n return this.dtf.format(this.dt.toJSDate());\n }\n\n formatToParts() {\n const parts = this.dtf.formatToParts(this.dt.toJSDate());\n if (this.originalZone) {\n return parts.map((part) => {\n if (part.type === \"timeZoneName\") {\n const offsetName = this.originalZone.offsetName(this.dt.ts, {\n locale: this.dt.locale,\n format: this.opts.timeZoneName,\n });\n return {\n ...part,\n value: offsetName,\n };\n } else {\n return part;\n }\n });\n }\n return parts;\n }\n\n resolvedOptions() {\n return this.dtf.resolvedOptions();\n }\n}\n\n/**\n * @private\n */\nclass PolyRelFormatter {\n constructor(intl, isEnglish, opts) {\n this.opts = { style: \"long\", ...opts };\n if (!isEnglish && hasRelative()) {\n this.rtf = getCachedRTF(intl, opts);\n }\n }\n\n format(count, unit) {\n if (this.rtf) {\n return this.rtf.format(count, unit);\n } else {\n return English.formatRelativeTime(unit, count, this.opts.numeric, this.opts.style !== \"long\");\n }\n }\n\n formatToParts(count, unit) {\n if (this.rtf) {\n return this.rtf.formatToParts(count, unit);\n } else {\n return [];\n }\n }\n}\n\nconst fallbackWeekSettings = {\n firstDay: 1,\n minimalDays: 4,\n weekend: [6, 7],\n};\n\n/**\n * @private\n */\n\nexport default class Locale {\n static fromOpts(opts) {\n return Locale.create(\n opts.locale,\n opts.numberingSystem,\n opts.outputCalendar,\n opts.weekSettings,\n opts.defaultToEN\n );\n }\n\n static create(locale, numberingSystem, outputCalendar, weekSettings, defaultToEN = false) {\n const specifiedLocale = locale || Settings.defaultLocale;\n // the system locale is useful for human-readable strings but annoying for parsing/formatting known formats\n const localeR = specifiedLocale || (defaultToEN ? \"en-US\" : systemLocale());\n const numberingSystemR = numberingSystem || Settings.defaultNumberingSystem;\n const outputCalendarR = outputCalendar || Settings.defaultOutputCalendar;\n const weekSettingsR = validateWeekSettings(weekSettings) || Settings.defaultWeekSettings;\n return new Locale(localeR, numberingSystemR, outputCalendarR, weekSettingsR, specifiedLocale);\n }\n\n static resetCache() {\n sysLocaleCache = null;\n intlDTCache = {};\n intlNumCache = {};\n intlRelCache = {};\n }\n\n static fromObject({ locale, numberingSystem, outputCalendar, weekSettings } = {}) {\n return Locale.create(locale, numberingSystem, outputCalendar, weekSettings);\n }\n\n constructor(locale, numbering, outputCalendar, weekSettings, specifiedLocale) {\n const [parsedLocale, parsedNumberingSystem, parsedOutputCalendar] = parseLocaleString(locale);\n\n this.locale = parsedLocale;\n this.numberingSystem = numbering || parsedNumberingSystem || null;\n this.outputCalendar = outputCalendar || parsedOutputCalendar || null;\n this.weekSettings = weekSettings;\n this.intl = intlConfigString(this.locale, this.numberingSystem, this.outputCalendar);\n\n this.weekdaysCache = { format: {}, standalone: {} };\n this.monthsCache = { format: {}, standalone: {} };\n this.meridiemCache = null;\n this.eraCache = {};\n\n this.specifiedLocale = specifiedLocale;\n this.fastNumbersCached = null;\n }\n\n get fastNumbers() {\n if (this.fastNumbersCached == null) {\n this.fastNumbersCached = supportsFastNumbers(this);\n }\n\n return this.fastNumbersCached;\n }\n\n listingMode() {\n const isActuallyEn = this.isEnglish();\n const hasNoWeirdness =\n (this.numberingSystem === null || this.numberingSystem === \"latn\") &&\n (this.outputCalendar === null || this.outputCalendar === \"gregory\");\n return isActuallyEn && hasNoWeirdness ? \"en\" : \"intl\";\n }\n\n clone(alts) {\n if (!alts || Object.getOwnPropertyNames(alts).length === 0) {\n return this;\n } else {\n return Locale.create(\n alts.locale || this.specifiedLocale,\n alts.numberingSystem || this.numberingSystem,\n alts.outputCalendar || this.outputCalendar,\n validateWeekSettings(alts.weekSettings) || this.weekSettings,\n alts.defaultToEN || false\n );\n }\n }\n\n redefaultToEN(alts = {}) {\n return this.clone({ ...alts, defaultToEN: true });\n }\n\n redefaultToSystem(alts = {}) {\n return this.clone({ ...alts, defaultToEN: false });\n }\n\n months(length, format = false) {\n return listStuff(this, length, English.months, () => {\n const intl = format ? { month: length, day: \"numeric\" } : { month: length },\n formatStr = format ? \"format\" : \"standalone\";\n if (!this.monthsCache[formatStr][length]) {\n this.monthsCache[formatStr][length] = mapMonths((dt) => this.extract(dt, intl, \"month\"));\n }\n return this.monthsCache[formatStr][length];\n });\n }\n\n weekdays(length, format = false) {\n return listStuff(this, length, English.weekdays, () => {\n const intl = format\n ? { weekday: length, year: \"numeric\", month: \"long\", day: \"numeric\" }\n : { weekday: length },\n formatStr = format ? \"format\" : \"standalone\";\n if (!this.weekdaysCache[formatStr][length]) {\n this.weekdaysCache[formatStr][length] = mapWeekdays((dt) =>\n this.extract(dt, intl, \"weekday\")\n );\n }\n return this.weekdaysCache[formatStr][length];\n });\n }\n\n meridiems() {\n return listStuff(\n this,\n undefined,\n () => English.meridiems,\n () => {\n // In theory there could be aribitrary day periods. We're gonna assume there are exactly two\n // for AM and PM. This is probably wrong, but it's makes parsing way easier.\n if (!this.meridiemCache) {\n const intl = { hour: \"numeric\", hourCycle: \"h12\" };\n this.meridiemCache = [DateTime.utc(2016, 11, 13, 9), DateTime.utc(2016, 11, 13, 19)].map(\n (dt) => this.extract(dt, intl, \"dayperiod\")\n );\n }\n\n return this.meridiemCache;\n }\n );\n }\n\n eras(length) {\n return listStuff(this, length, English.eras, () => {\n const intl = { era: length };\n\n // This is problematic. Different calendars are going to define eras totally differently. What I need is the minimum set of dates\n // to definitely enumerate them.\n if (!this.eraCache[length]) {\n this.eraCache[length] = [DateTime.utc(-40, 1, 1), DateTime.utc(2017, 1, 1)].map((dt) =>\n this.extract(dt, intl, \"era\")\n );\n }\n\n return this.eraCache[length];\n });\n }\n\n extract(dt, intlOpts, field) {\n const df = this.dtFormatter(dt, intlOpts),\n results = df.formatToParts(),\n matching = results.find((m) => m.type.toLowerCase() === field);\n return matching ? matching.value : null;\n }\n\n numberFormatter(opts = {}) {\n // this forcesimple option is never used (the only caller short-circuits on it, but it seems safer to leave)\n // (in contrast, the rest of the condition is used heavily)\n return new PolyNumberFormatter(this.intl, opts.forceSimple || this.fastNumbers, opts);\n }\n\n dtFormatter(dt, intlOpts = {}) {\n return new PolyDateFormatter(dt, this.intl, intlOpts);\n }\n\n relFormatter(opts = {}) {\n return new PolyRelFormatter(this.intl, this.isEnglish(), opts);\n }\n\n listFormatter(opts = {}) {\n return getCachedLF(this.intl, opts);\n }\n\n isEnglish() {\n return (\n this.locale === \"en\" ||\n this.locale.toLowerCase() === \"en-us\" ||\n new Intl.DateTimeFormat(this.intl).resolvedOptions().locale.startsWith(\"en-us\")\n );\n }\n\n getWeekSettings() {\n if (this.weekSettings) {\n return this.weekSettings;\n } else if (!hasLocaleWeekInfo()) {\n return fallbackWeekSettings;\n } else {\n return getCachedWeekInfo(this.locale);\n }\n }\n\n getStartOfWeek() {\n return this.getWeekSettings().firstDay;\n }\n\n getMinDaysInFirstWeek() {\n return this.getWeekSettings().minimalDays;\n }\n\n getWeekendDays() {\n return this.getWeekSettings().weekend;\n }\n\n equals(other) {\n return (\n this.locale === other.locale &&\n this.numberingSystem === other.numberingSystem &&\n this.outputCalendar === other.outputCalendar\n );\n }\n\n toString() {\n return `Locale(${this.locale}, ${this.numberingSystem}, ${this.outputCalendar})`;\n }\n}\n","import {\n untruncateYear,\n signedOffset,\n parseInteger,\n parseMillis,\n isUndefined,\n parseFloating,\n} from \"./util.js\";\nimport * as English from \"./english.js\";\nimport FixedOffsetZone from \"../zones/fixedOffsetZone.js\";\nimport IANAZone from \"../zones/IANAZone.js\";\n\n/*\n * This file handles parsing for well-specified formats. Here's how it works:\n * Two things go into parsing: a regex to match with and an extractor to take apart the groups in the match.\n * An extractor is just a function that takes a regex match array and returns a { year: ..., month: ... } object\n * parse() does the work of executing the regex and applying the extractor. It takes multiple regex/extractor pairs to try in sequence.\n * Extractors can take a \"cursor\" representing the offset in the match to look at. This makes it easy to combine extractors.\n * combineExtractors() does the work of combining them, keeping track of the cursor through multiple extractions.\n * Some extractions are super dumb and simpleParse and fromStrings help DRY them.\n */\n\nconst ianaRegex = /[A-Za-z_+-]{1,256}(?::?\\/[A-Za-z0-9_+-]{1,256}(?:\\/[A-Za-z0-9_+-]{1,256})?)?/;\n\nfunction combineRegexes(...regexes) {\n const full = regexes.reduce((f, r) => f + r.source, \"\");\n return RegExp(`^${full}$`);\n}\n\nfunction combineExtractors(...extractors) {\n return (m) =>\n extractors\n .reduce(\n ([mergedVals, mergedZone, cursor], ex) => {\n const [val, zone, next] = ex(m, cursor);\n return [{ ...mergedVals, ...val }, zone || mergedZone, next];\n },\n [{}, null, 1]\n )\n .slice(0, 2);\n}\n\nfunction parse(s, ...patterns) {\n if (s == null) {\n return [null, null];\n }\n\n for (const [regex, extractor] of patterns) {\n const m = regex.exec(s);\n if (m) {\n return extractor(m);\n }\n }\n return [null, null];\n}\n\nfunction simpleParse(...keys) {\n return (match, cursor) => {\n const ret = {};\n let i;\n\n for (i = 0; i < keys.length; i++) {\n ret[keys[i]] = parseInteger(match[cursor + i]);\n }\n return [ret, null, cursor + i];\n };\n}\n\n// ISO and SQL parsing\nconst offsetRegex = /(?:(Z)|([+-]\\d\\d)(?::?(\\d\\d))?)/;\nconst isoExtendedZone = `(?:${offsetRegex.source}?(?:\\\\[(${ianaRegex.source})\\\\])?)?`;\nconst isoTimeBaseRegex = /(\\d\\d)(?::?(\\d\\d)(?::?(\\d\\d)(?:[.,](\\d{1,30}))?)?)?/;\nconst isoTimeRegex = RegExp(`${isoTimeBaseRegex.source}${isoExtendedZone}`);\nconst isoTimeExtensionRegex = RegExp(`(?:T${isoTimeRegex.source})?`);\nconst isoYmdRegex = /([+-]\\d{6}|\\d{4})(?:-?(\\d\\d)(?:-?(\\d\\d))?)?/;\nconst isoWeekRegex = /(\\d{4})-?W(\\d\\d)(?:-?(\\d))?/;\nconst isoOrdinalRegex = /(\\d{4})-?(\\d{3})/;\nconst extractISOWeekData = simpleParse(\"weekYear\", \"weekNumber\", \"weekDay\");\nconst extractISOOrdinalData = simpleParse(\"year\", \"ordinal\");\nconst sqlYmdRegex = /(\\d{4})-(\\d\\d)-(\\d\\d)/; // dumbed-down version of the ISO one\nconst sqlTimeRegex = RegExp(\n `${isoTimeBaseRegex.source} ?(?:${offsetRegex.source}|(${ianaRegex.source}))?`\n);\nconst sqlTimeExtensionRegex = RegExp(`(?: ${sqlTimeRegex.source})?`);\n\nfunction int(match, pos, fallback) {\n const m = match[pos];\n return isUndefined(m) ? fallback : parseInteger(m);\n}\n\nfunction extractISOYmd(match, cursor) {\n const item = {\n year: int(match, cursor),\n month: int(match, cursor + 1, 1),\n day: int(match, cursor + 2, 1),\n };\n\n return [item, null, cursor + 3];\n}\n\nfunction extractISOTime(match, cursor) {\n const item = {\n hours: int(match, cursor, 0),\n minutes: int(match, cursor + 1, 0),\n seconds: int(match, cursor + 2, 0),\n milliseconds: parseMillis(match[cursor + 3]),\n };\n\n return [item, null, cursor + 4];\n}\n\nfunction extractISOOffset(match, cursor) {\n const local = !match[cursor] && !match[cursor + 1],\n fullOffset = signedOffset(match[cursor + 1], match[cursor + 2]),\n zone = local ? null : FixedOffsetZone.instance(fullOffset);\n return [{}, zone, cursor + 3];\n}\n\nfunction extractIANAZone(match, cursor) {\n const zone = match[cursor] ? IANAZone.create(match[cursor]) : null;\n return [{}, zone, cursor + 1];\n}\n\n// ISO time parsing\n\nconst isoTimeOnly = RegExp(`^T?${isoTimeBaseRegex.source}$`);\n\n// ISO duration parsing\n\nconst isoDuration =\n /^-?P(?:(?:(-?\\d{1,20}(?:\\.\\d{1,20})?)Y)?(?:(-?\\d{1,20}(?:\\.\\d{1,20})?)M)?(?:(-?\\d{1,20}(?:\\.\\d{1,20})?)W)?(?:(-?\\d{1,20}(?:\\.\\d{1,20})?)D)?(?:T(?:(-?\\d{1,20}(?:\\.\\d{1,20})?)H)?(?:(-?\\d{1,20}(?:\\.\\d{1,20})?)M)?(?:(-?\\d{1,20})(?:[.,](-?\\d{1,20}))?S)?)?)$/;\n\nfunction extractISODuration(match) {\n const [s, yearStr, monthStr, weekStr, dayStr, hourStr, minuteStr, secondStr, millisecondsStr] =\n match;\n\n const hasNegativePrefix = s[0] === \"-\";\n const negativeSeconds = secondStr && secondStr[0] === \"-\";\n\n const maybeNegate = (num, force = false) =>\n num !== undefined && (force || (num && hasNegativePrefix)) ? -num : num;\n\n return [\n {\n years: maybeNegate(parseFloating(yearStr)),\n months: maybeNegate(parseFloating(monthStr)),\n weeks: maybeNegate(parseFloating(weekStr)),\n days: maybeNegate(parseFloating(dayStr)),\n hours: maybeNegate(parseFloating(hourStr)),\n minutes: maybeNegate(parseFloating(minuteStr)),\n seconds: maybeNegate(parseFloating(secondStr), secondStr === \"-0\"),\n milliseconds: maybeNegate(parseMillis(millisecondsStr), negativeSeconds),\n },\n ];\n}\n\n// These are a little braindead. EDT *should* tell us that we're in, say, America/New_York\n// and not just that we're in -240 *right now*. But since I don't think these are used that often\n// I'm just going to ignore that\nconst obsOffsets = {\n GMT: 0,\n EDT: -4 * 60,\n EST: -5 * 60,\n CDT: -5 * 60,\n CST: -6 * 60,\n MDT: -6 * 60,\n MST: -7 * 60,\n PDT: -7 * 60,\n PST: -8 * 60,\n};\n\nfunction fromStrings(weekdayStr, yearStr, monthStr, dayStr, hourStr, minuteStr, secondStr) {\n const result = {\n year: yearStr.length === 2 ? untruncateYear(parseInteger(yearStr)) : parseInteger(yearStr),\n month: English.monthsShort.indexOf(monthStr) + 1,\n day: parseInteger(dayStr),\n hour: parseInteger(hourStr),\n minute: parseInteger(minuteStr),\n };\n\n if (secondStr) result.second = parseInteger(secondStr);\n if (weekdayStr) {\n result.weekday =\n weekdayStr.length > 3\n ? English.weekdaysLong.indexOf(weekdayStr) + 1\n : English.weekdaysShort.indexOf(weekdayStr) + 1;\n }\n\n return result;\n}\n\n// RFC 2822/5322\nconst rfc2822 =\n /^(?:(Mon|Tue|Wed|Thu|Fri|Sat|Sun),\\s)?(\\d{1,2})\\s(Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)\\s(\\d{2,4})\\s(\\d\\d):(\\d\\d)(?::(\\d\\d))?\\s(?:(UT|GMT|[ECMP][SD]T)|([Zz])|(?:([+-]\\d\\d)(\\d\\d)))$/;\n\nfunction extractRFC2822(match) {\n const [\n ,\n weekdayStr,\n dayStr,\n monthStr,\n yearStr,\n hourStr,\n minuteStr,\n secondStr,\n obsOffset,\n milOffset,\n offHourStr,\n offMinuteStr,\n ] = match,\n result = fromStrings(weekdayStr, yearStr, monthStr, dayStr, hourStr, minuteStr, secondStr);\n\n let offset;\n if (obsOffset) {\n offset = obsOffsets[obsOffset];\n } else if (milOffset) {\n offset = 0;\n } else {\n offset = signedOffset(offHourStr, offMinuteStr);\n }\n\n return [result, new FixedOffsetZone(offset)];\n}\n\nfunction preprocessRFC2822(s) {\n // Remove comments and folding whitespace and replace multiple-spaces with a single space\n return s\n .replace(/\\([^()]*\\)|[\\n\\t]/g, \" \")\n .replace(/(\\s\\s+)/g, \" \")\n .trim();\n}\n\n// http date\n\nconst rfc1123 =\n /^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), (\\d\\d) (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) (\\d{4}) (\\d\\d):(\\d\\d):(\\d\\d) GMT$/,\n rfc850 =\n /^(Monday|Tuesday|Wednesday|Thursday|Friday|Saturday|Sunday), (\\d\\d)-(Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)-(\\d\\d) (\\d\\d):(\\d\\d):(\\d\\d) GMT$/,\n ascii =\n /^(Mon|Tue|Wed|Thu|Fri|Sat|Sun) (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) ( \\d|\\d\\d) (\\d\\d):(\\d\\d):(\\d\\d) (\\d{4})$/;\n\nfunction extractRFC1123Or850(match) {\n const [, weekdayStr, dayStr, monthStr, yearStr, hourStr, minuteStr, secondStr] = match,\n result = fromStrings(weekdayStr, yearStr, monthStr, dayStr, hourStr, minuteStr, secondStr);\n return [result, FixedOffsetZone.utcInstance];\n}\n\nfunction extractASCII(match) {\n const [, weekdayStr, monthStr, dayStr, hourStr, minuteStr, secondStr, yearStr] = match,\n result = fromStrings(weekdayStr, yearStr, monthStr, dayStr, hourStr, minuteStr, secondStr);\n return [result, FixedOffsetZone.utcInstance];\n}\n\nconst isoYmdWithTimeExtensionRegex = combineRegexes(isoYmdRegex, isoTimeExtensionRegex);\nconst isoWeekWithTimeExtensionRegex = combineRegexes(isoWeekRegex, isoTimeExtensionRegex);\nconst isoOrdinalWithTimeExtensionRegex = combineRegexes(isoOrdinalRegex, isoTimeExtensionRegex);\nconst isoTimeCombinedRegex = combineRegexes(isoTimeRegex);\n\nconst extractISOYmdTimeAndOffset = combineExtractors(\n extractISOYmd,\n extractISOTime,\n extractISOOffset,\n extractIANAZone\n);\nconst extractISOWeekTimeAndOffset = combineExtractors(\n extractISOWeekData,\n extractISOTime,\n extractISOOffset,\n extractIANAZone\n);\nconst extractISOOrdinalDateAndTime = combineExtractors(\n extractISOOrdinalData,\n extractISOTime,\n extractISOOffset,\n extractIANAZone\n);\nconst extractISOTimeAndOffset = combineExtractors(\n extractISOTime,\n extractISOOffset,\n extractIANAZone\n);\n\n/*\n * @private\n */\n\nexport function parseISODate(s) {\n return parse(\n s,\n [isoYmdWithTimeExtensionRegex, extractISOYmdTimeAndOffset],\n [isoWeekWithTimeExtensionRegex, extractISOWeekTimeAndOffset],\n [isoOrdinalWithTimeExtensionRegex, extractISOOrdinalDateAndTime],\n [isoTimeCombinedRegex, extractISOTimeAndOffset]\n );\n}\n\nexport function parseRFC2822Date(s) {\n return parse(preprocessRFC2822(s), [rfc2822, extractRFC2822]);\n}\n\nexport function parseHTTPDate(s) {\n return parse(\n s,\n [rfc1123, extractRFC1123Or850],\n [rfc850, extractRFC1123Or850],\n [ascii, extractASCII]\n );\n}\n\nexport function parseISODuration(s) {\n return parse(s, [isoDuration, extractISODuration]);\n}\n\nconst extractISOTimeOnly = combineExtractors(extractISOTime);\n\nexport function parseISOTimeOnly(s) {\n return parse(s, [isoTimeOnly, extractISOTimeOnly]);\n}\n\nconst sqlYmdWithTimeExtensionRegex = combineRegexes(sqlYmdRegex, sqlTimeExtensionRegex);\nconst sqlTimeCombinedRegex = combineRegexes(sqlTimeRegex);\n\nconst extractISOTimeOffsetAndIANAZone = combineExtractors(\n extractISOTime,\n extractISOOffset,\n extractIANAZone\n);\n\nexport function parseSQL(s) {\n return parse(\n s,\n [sqlYmdWithTimeExtensionRegex, extractISOYmdTimeAndOffset],\n [sqlTimeCombinedRegex, extractISOTimeOffsetAndIANAZone]\n );\n}\n","import { parseMillis, isUndefined, untruncateYear, signedOffset, hasOwnProperty } from \"./util.js\";\nimport Formatter from \"./formatter.js\";\nimport FixedOffsetZone from \"../zones/fixedOffsetZone.js\";\nimport IANAZone from \"../zones/IANAZone.js\";\nimport DateTime from \"../datetime.js\";\nimport { digitRegex, parseDigits } from \"./digits.js\";\nimport { ConflictingSpecificationError } from \"../errors.js\";\n\nconst MISSING_FTP = \"missing Intl.DateTimeFormat.formatToParts support\";\n\nfunction intUnit(regex, post = (i) => i) {\n return { regex, deser: ([s]) => post(parseDigits(s)) };\n}\n\nconst NBSP = String.fromCharCode(160);\nconst spaceOrNBSP = `[ ${NBSP}]`;\nconst spaceOrNBSPRegExp = new RegExp(spaceOrNBSP, \"g\");\n\nfunction fixListRegex(s) {\n // make dots optional and also make them literal\n // make space and non breakable space characters interchangeable\n return s.replace(/\\./g, \"\\\\.?\").replace(spaceOrNBSPRegExp, spaceOrNBSP);\n}\n\nfunction stripInsensitivities(s) {\n return s\n .replace(/\\./g, \"\") // ignore dots that were made optional\n .replace(spaceOrNBSPRegExp, \" \") // interchange space and nbsp\n .toLowerCase();\n}\n\nfunction oneOf(strings, startIndex) {\n if (strings === null) {\n return null;\n } else {\n return {\n regex: RegExp(strings.map(fixListRegex).join(\"|\")),\n deser: ([s]) =>\n strings.findIndex((i) => stripInsensitivities(s) === stripInsensitivities(i)) + startIndex,\n };\n }\n}\n\nfunction offset(regex, groups) {\n return { regex, deser: ([, h, m]) => signedOffset(h, m), groups };\n}\n\nfunction simple(regex) {\n return { regex, deser: ([s]) => s };\n}\n\nfunction escapeToken(value) {\n return value.replace(/[\\-\\[\\]{}()*+?.,\\\\\\^$|#\\s]/g, \"\\\\$&\");\n}\n\n/**\n * @param token\n * @param {Locale} loc\n */\nfunction unitForToken(token, loc) {\n const one = digitRegex(loc),\n two = digitRegex(loc, \"{2}\"),\n three = digitRegex(loc, \"{3}\"),\n four = digitRegex(loc, \"{4}\"),\n six = digitRegex(loc, \"{6}\"),\n oneOrTwo = digitRegex(loc, \"{1,2}\"),\n oneToThree = digitRegex(loc, \"{1,3}\"),\n oneToSix = digitRegex(loc, \"{1,6}\"),\n oneToNine = digitRegex(loc, \"{1,9}\"),\n twoToFour = digitRegex(loc, \"{2,4}\"),\n fourToSix = digitRegex(loc, \"{4,6}\"),\n literal = (t) => ({ regex: RegExp(escapeToken(t.val)), deser: ([s]) => s, literal: true }),\n unitate = (t) => {\n if (token.literal) {\n return literal(t);\n }\n switch (t.val) {\n // era\n case \"G\":\n return oneOf(loc.eras(\"short\"), 0);\n case \"GG\":\n return oneOf(loc.eras(\"long\"), 0);\n // years\n case \"y\":\n return intUnit(oneToSix);\n case \"yy\":\n return intUnit(twoToFour, untruncateYear);\n case \"yyyy\":\n return intUnit(four);\n case \"yyyyy\":\n return intUnit(fourToSix);\n case \"yyyyyy\":\n return intUnit(six);\n // months\n case \"M\":\n return intUnit(oneOrTwo);\n case \"MM\":\n return intUnit(two);\n case \"MMM\":\n return oneOf(loc.months(\"short\", true), 1);\n case \"MMMM\":\n return oneOf(loc.months(\"long\", true), 1);\n case \"L\":\n return intUnit(oneOrTwo);\n case \"LL\":\n return intUnit(two);\n case \"LLL\":\n return oneOf(loc.months(\"short\", false), 1);\n case \"LLLL\":\n return oneOf(loc.months(\"long\", false), 1);\n // dates\n case \"d\":\n return intUnit(oneOrTwo);\n case \"dd\":\n return intUnit(two);\n // ordinals\n case \"o\":\n return intUnit(oneToThree);\n case \"ooo\":\n return intUnit(three);\n // time\n case \"HH\":\n return intUnit(two);\n case \"H\":\n return intUnit(oneOrTwo);\n case \"hh\":\n return intUnit(two);\n case \"h\":\n return intUnit(oneOrTwo);\n case \"mm\":\n return intUnit(two);\n case \"m\":\n return intUnit(oneOrTwo);\n case \"q\":\n return intUnit(oneOrTwo);\n case \"qq\":\n return intUnit(two);\n case \"s\":\n return intUnit(oneOrTwo);\n case \"ss\":\n return intUnit(two);\n case \"S\":\n return intUnit(oneToThree);\n case \"SSS\":\n return intUnit(three);\n case \"u\":\n return simple(oneToNine);\n case \"uu\":\n return simple(oneOrTwo);\n case \"uuu\":\n return intUnit(one);\n // meridiem\n case \"a\":\n return oneOf(loc.meridiems(), 0);\n // weekYear (k)\n case \"kkkk\":\n return intUnit(four);\n case \"kk\":\n return intUnit(twoToFour, untruncateYear);\n // weekNumber (W)\n case \"W\":\n return intUnit(oneOrTwo);\n case \"WW\":\n return intUnit(two);\n // weekdays\n case \"E\":\n case \"c\":\n return intUnit(one);\n case \"EEE\":\n return oneOf(loc.weekdays(\"short\", false), 1);\n case \"EEEE\":\n return oneOf(loc.weekdays(\"long\", false), 1);\n case \"ccc\":\n return oneOf(loc.weekdays(\"short\", true), 1);\n case \"cccc\":\n return oneOf(loc.weekdays(\"long\", true), 1);\n // offset/zone\n case \"Z\":\n case \"ZZ\":\n return offset(new RegExp(`([+-]${oneOrTwo.source})(?::(${two.source}))?`), 2);\n case \"ZZZ\":\n return offset(new RegExp(`([+-]${oneOrTwo.source})(${two.source})?`), 2);\n // we don't support ZZZZ (PST) or ZZZZZ (Pacific Standard Time) in parsing\n // because we don't have any way to figure out what they are\n case \"z\":\n return simple(/[a-z_+-/]{1,256}?/i);\n // this special-case \"token\" represents a place where a macro-token expanded into a white-space literal\n // in this case we accept any non-newline white-space\n case \" \":\n return simple(/[^\\S\\n\\r]/);\n default:\n return literal(t);\n }\n };\n\n const unit = unitate(token) || {\n invalidReason: MISSING_FTP,\n };\n\n unit.token = token;\n\n return unit;\n}\n\nconst partTypeStyleToTokenVal = {\n year: {\n \"2-digit\": \"yy\",\n numeric: \"yyyyy\",\n },\n month: {\n numeric: \"M\",\n \"2-digit\": \"MM\",\n short: \"MMM\",\n long: \"MMMM\",\n },\n day: {\n numeric: \"d\",\n \"2-digit\": \"dd\",\n },\n weekday: {\n short: \"EEE\",\n long: \"EEEE\",\n },\n dayperiod: \"a\",\n dayPeriod: \"a\",\n hour12: {\n numeric: \"h\",\n \"2-digit\": \"hh\",\n },\n hour24: {\n numeric: \"H\",\n \"2-digit\": \"HH\",\n },\n minute: {\n numeric: \"m\",\n \"2-digit\": \"mm\",\n },\n second: {\n numeric: \"s\",\n \"2-digit\": \"ss\",\n },\n timeZoneName: {\n long: \"ZZZZZ\",\n short: \"ZZZ\",\n },\n};\n\nfunction tokenForPart(part, formatOpts, resolvedOpts) {\n const { type, value } = part;\n\n if (type === \"literal\") {\n const isSpace = /^\\s+$/.test(value);\n return {\n literal: !isSpace,\n val: isSpace ? \" \" : value,\n };\n }\n\n const style = formatOpts[type];\n\n // The user might have explicitly specified hour12 or hourCycle\n // if so, respect their decision\n // if not, refer back to the resolvedOpts, which are based on the locale\n let actualType = type;\n if (type === \"hour\") {\n if (formatOpts.hour12 != null) {\n actualType = formatOpts.hour12 ? \"hour12\" : \"hour24\";\n } else if (formatOpts.hourCycle != null) {\n if (formatOpts.hourCycle === \"h11\" || formatOpts.hourCycle === \"h12\") {\n actualType = \"hour12\";\n } else {\n actualType = \"hour24\";\n }\n } else {\n // tokens only differentiate between 24 hours or not,\n // so we do not need to check hourCycle here, which is less supported anyways\n actualType = resolvedOpts.hour12 ? \"hour12\" : \"hour24\";\n }\n }\n let val = partTypeStyleToTokenVal[actualType];\n if (typeof val === \"object\") {\n val = val[style];\n }\n\n if (val) {\n return {\n literal: false,\n val,\n };\n }\n\n return undefined;\n}\n\nfunction buildRegex(units) {\n const re = units.map((u) => u.regex).reduce((f, r) => `${f}(${r.source})`, \"\");\n return [`^${re}$`, units];\n}\n\nfunction match(input, regex, handlers) {\n const matches = input.match(regex);\n\n if (matches) {\n const all = {};\n let matchIndex = 1;\n for (const i in handlers) {\n if (hasOwnProperty(handlers, i)) {\n const h = handlers[i],\n groups = h.groups ? h.groups + 1 : 1;\n if (!h.literal && h.token) {\n all[h.token.val[0]] = h.deser(matches.slice(matchIndex, matchIndex + groups));\n }\n matchIndex += groups;\n }\n }\n return [matches, all];\n } else {\n return [matches, {}];\n }\n}\n\nfunction dateTimeFromMatches(matches) {\n const toField = (token) => {\n switch (token) {\n case \"S\":\n return \"millisecond\";\n case \"s\":\n return \"second\";\n case \"m\":\n return \"minute\";\n case \"h\":\n case \"H\":\n return \"hour\";\n case \"d\":\n return \"day\";\n case \"o\":\n return \"ordinal\";\n case \"L\":\n case \"M\":\n return \"month\";\n case \"y\":\n return \"year\";\n case \"E\":\n case \"c\":\n return \"weekday\";\n case \"W\":\n return \"weekNumber\";\n case \"k\":\n return \"weekYear\";\n case \"q\":\n return \"quarter\";\n default:\n return null;\n }\n };\n\n let zone = null;\n let specificOffset;\n if (!isUndefined(matches.z)) {\n zone = IANAZone.create(matches.z);\n }\n\n if (!isUndefined(matches.Z)) {\n if (!zone) {\n zone = new FixedOffsetZone(matches.Z);\n }\n specificOffset = matches.Z;\n }\n\n if (!isUndefined(matches.q)) {\n matches.M = (matches.q - 1) * 3 + 1;\n }\n\n if (!isUndefined(matches.h)) {\n if (matches.h < 12 && matches.a === 1) {\n matches.h += 12;\n } else if (matches.h === 12 && matches.a === 0) {\n matches.h = 0;\n }\n }\n\n if (matches.G === 0 && matches.y) {\n matches.y = -matches.y;\n }\n\n if (!isUndefined(matches.u)) {\n matches.S = parseMillis(matches.u);\n }\n\n const vals = Object.keys(matches).reduce((r, k) => {\n const f = toField(k);\n if (f) {\n r[f] = matches[k];\n }\n\n return r;\n }, {});\n\n return [vals, zone, specificOffset];\n}\n\nlet dummyDateTimeCache = null;\n\nfunction getDummyDateTime() {\n if (!dummyDateTimeCache) {\n dummyDateTimeCache = DateTime.fromMillis(1555555555555);\n }\n\n return dummyDateTimeCache;\n}\n\nfunction maybeExpandMacroToken(token, locale) {\n if (token.literal) {\n return token;\n }\n\n const formatOpts = Formatter.macroTokenToFormatOpts(token.val);\n const tokens = formatOptsToTokens(formatOpts, locale);\n\n if (tokens == null || tokens.includes(undefined)) {\n return token;\n }\n\n return tokens;\n}\n\nexport function expandMacroTokens(tokens, locale) {\n return Array.prototype.concat(...tokens.map((t) => maybeExpandMacroToken(t, locale)));\n}\n\n/**\n * @private\n */\n\nexport class TokenParser {\n constructor(locale, format) {\n this.locale = locale;\n this.format = format;\n this.tokens = expandMacroTokens(Formatter.parseFormat(format), locale);\n this.units = this.tokens.map((t) => unitForToken(t, locale));\n this.disqualifyingUnit = this.units.find((t) => t.invalidReason);\n\n if (!this.disqualifyingUnit) {\n const [regexString, handlers] = buildRegex(this.units);\n this.regex = RegExp(regexString, \"i\");\n this.handlers = handlers;\n }\n }\n\n explainFromTokens(input) {\n if (!this.isValid) {\n return { input, tokens: this.tokens, invalidReason: this.invalidReason };\n } else {\n const [rawMatches, matches] = match(input, this.regex, this.handlers),\n [result, zone, specificOffset] = matches\n ? dateTimeFromMatches(matches)\n : [null, null, undefined];\n if (hasOwnProperty(matches, \"a\") && hasOwnProperty(matches, \"H\")) {\n throw new ConflictingSpecificationError(\n \"Can't include meridiem when specifying 24-hour format\"\n );\n }\n return {\n input,\n tokens: this.tokens,\n regex: this.regex,\n rawMatches,\n matches,\n result,\n zone,\n specificOffset,\n };\n }\n }\n\n get isValid() {\n return !this.disqualifyingUnit;\n }\n\n get invalidReason() {\n return this.disqualifyingUnit ? this.disqualifyingUnit.invalidReason : null;\n }\n}\n\nexport function explainFromTokens(locale, input, format) {\n const parser = new TokenParser(locale, format);\n return parser.explainFromTokens(input);\n}\n\nexport function parseFromTokens(locale, input, format) {\n const { result, zone, specificOffset, invalidReason } = explainFromTokens(locale, input, format);\n return [result, zone, specificOffset, invalidReason];\n}\n\nexport function formatOptsToTokens(formatOpts, locale) {\n if (!formatOpts) {\n return null;\n }\n\n const formatter = Formatter.create(locale, formatOpts);\n const df = formatter.dtFormatter(getDummyDateTime());\n const parts = df.formatToParts();\n const resolvedOpts = df.resolvedOptions();\n return parts.map((p) => tokenForPart(p, formatOpts, resolvedOpts));\n}\n","/*\n This is just a junk drawer, containing anything used across multiple classes.\n Because Luxon is small(ish), this should stay small and we won't worry about splitting\n it up into, say, parsingUtil.js and basicUtil.js and so on. But they are divided up by feature area.\n*/\n\nimport { InvalidArgumentError } from \"../errors.js\";\nimport Settings from \"../settings.js\";\nimport { dayOfWeek, isoWeekdayToLocal } from \"./conversions.js\";\n\n/**\n * @private\n */\n\n// TYPES\n\nexport function isUndefined(o) {\n return typeof o === \"undefined\";\n}\n\nexport function isNumber(o) {\n return typeof o === \"number\";\n}\n\nexport function isInteger(o) {\n return typeof o === \"number\" && o % 1 === 0;\n}\n\nexport function isString(o) {\n return typeof o === \"string\";\n}\n\nexport function isDate(o) {\n return Object.prototype.toString.call(o) === \"[object Date]\";\n}\n\n// CAPABILITIES\n\nexport function hasRelative() {\n try {\n return typeof Intl !== \"undefined\" && !!Intl.RelativeTimeFormat;\n } catch (e) {\n return false;\n }\n}\n\nexport function hasLocaleWeekInfo() {\n try {\n return (\n typeof Intl !== \"undefined\" &&\n !!Intl.Locale &&\n (\"weekInfo\" in Intl.Locale.prototype || \"getWeekInfo\" in Intl.Locale.prototype)\n );\n } catch (e) {\n return false;\n }\n}\n\n// OBJECTS AND ARRAYS\n\nexport function maybeArray(thing) {\n return Array.isArray(thing) ? thing : [thing];\n}\n\nexport function bestBy(arr, by, compare) {\n if (arr.length === 0) {\n return undefined;\n }\n return arr.reduce((best, next) => {\n const pair = [by(next), next];\n if (!best) {\n return pair;\n } else if (compare(best[0], pair[0]) === best[0]) {\n return best;\n } else {\n return pair;\n }\n }, null)[1];\n}\n\nexport function pick(obj, keys) {\n return keys.reduce((a, k) => {\n a[k] = obj[k];\n return a;\n }, {});\n}\n\nexport function hasOwnProperty(obj, prop) {\n return Object.prototype.hasOwnProperty.call(obj, prop);\n}\n\nexport function validateWeekSettings(settings) {\n if (settings == null) {\n return null;\n } else if (typeof settings !== \"object\") {\n throw new InvalidArgumentError(\"Week settings must be an object\");\n } else {\n if (\n !integerBetween(settings.firstDay, 1, 7) ||\n !integerBetween(settings.minimalDays, 1, 7) ||\n !Array.isArray(settings.weekend) ||\n settings.weekend.some((v) => !integerBetween(v, 1, 7))\n ) {\n throw new InvalidArgumentError(\"Invalid week settings\");\n }\n return {\n firstDay: settings.firstDay,\n minimalDays: settings.minimalDays,\n weekend: Array.from(settings.weekend),\n };\n }\n}\n\n// NUMBERS AND STRINGS\n\nexport function integerBetween(thing, bottom, top) {\n return isInteger(thing) && thing >= bottom && thing <= top;\n}\n\n// x % n but takes the sign of n instead of x\nexport function floorMod(x, n) {\n return x - n * Math.floor(x / n);\n}\n\nexport function padStart(input, n = 2) {\n const isNeg = input < 0;\n let padded;\n if (isNeg) {\n padded = \"-\" + (\"\" + -input).padStart(n, \"0\");\n } else {\n padded = (\"\" + input).padStart(n, \"0\");\n }\n return padded;\n}\n\nexport function parseInteger(string) {\n if (isUndefined(string) || string === null || string === \"\") {\n return undefined;\n } else {\n return parseInt(string, 10);\n }\n}\n\nexport function parseFloating(string) {\n if (isUndefined(string) || string === null || string === \"\") {\n return undefined;\n } else {\n return parseFloat(string);\n }\n}\n\nexport function parseMillis(fraction) {\n // Return undefined (instead of 0) in these cases, where fraction is not set\n if (isUndefined(fraction) || fraction === null || fraction === \"\") {\n return undefined;\n } else {\n const f = parseFloat(\"0.\" + fraction) * 1000;\n return Math.floor(f);\n }\n}\n\nexport function roundTo(number, digits, towardZero = false) {\n const factor = 10 ** digits,\n rounder = towardZero ? Math.trunc : Math.round;\n return rounder(number * factor) / factor;\n}\n\n// DATE BASICS\n\nexport function isLeapYear(year) {\n return year % 4 === 0 && (year % 100 !== 0 || year % 400 === 0);\n}\n\nexport function daysInYear(year) {\n return isLeapYear(year) ? 366 : 365;\n}\n\nexport function daysInMonth(year, month) {\n const modMonth = floorMod(month - 1, 12) + 1,\n modYear = year + (month - modMonth) / 12;\n\n if (modMonth === 2) {\n return isLeapYear(modYear) ? 29 : 28;\n } else {\n return [31, null, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31][modMonth - 1];\n }\n}\n\n// convert a calendar object to a local timestamp (epoch, but with the offset baked in)\nexport function objToLocalTS(obj) {\n let d = Date.UTC(\n obj.year,\n obj.month - 1,\n obj.day,\n obj.hour,\n obj.minute,\n obj.second,\n obj.millisecond\n );\n\n // for legacy reasons, years between 0 and 99 are interpreted as 19XX; revert that\n if (obj.year < 100 && obj.year >= 0) {\n d = new Date(d);\n // set the month and day again, this is necessary because year 2000 is a leap year, but year 100 is not\n // so if obj.year is in 99, but obj.day makes it roll over into year 100,\n // the calculations done by Date.UTC are using year 2000 - which is incorrect\n d.setUTCFullYear(obj.year, obj.month - 1, obj.day);\n }\n return +d;\n}\n\n// adapted from moment.js: https://github.com/moment/moment/blob/000ac1800e620f770f4eb31b5ae908f6167b0ab2/src/lib/units/week-calendar-utils.js\nfunction firstWeekOffset(year, minDaysInFirstWeek, startOfWeek) {\n const fwdlw = isoWeekdayToLocal(dayOfWeek(year, 1, minDaysInFirstWeek), startOfWeek);\n return -fwdlw + minDaysInFirstWeek - 1;\n}\n\nexport function weeksInWeekYear(weekYear, minDaysInFirstWeek = 4, startOfWeek = 1) {\n const weekOffset = firstWeekOffset(weekYear, minDaysInFirstWeek, startOfWeek);\n const weekOffsetNext = firstWeekOffset(weekYear + 1, minDaysInFirstWeek, startOfWeek);\n return (daysInYear(weekYear) - weekOffset + weekOffsetNext) / 7;\n}\n\nexport function untruncateYear(year) {\n if (year > 99) {\n return year;\n } else return year > Settings.twoDigitCutoffYear ? 1900 + year : 2000 + year;\n}\n\n// PARSING\n\nexport function parseZoneInfo(ts, offsetFormat, locale, timeZone = null) {\n const date = new Date(ts),\n intlOpts = {\n hourCycle: \"h23\",\n year: \"numeric\",\n month: \"2-digit\",\n day: \"2-digit\",\n hour: \"2-digit\",\n minute: \"2-digit\",\n };\n\n if (timeZone) {\n intlOpts.timeZone = timeZone;\n }\n\n const modified = { timeZoneName: offsetFormat, ...intlOpts };\n\n const parsed = new Intl.DateTimeFormat(locale, modified)\n .formatToParts(date)\n .find((m) => m.type.toLowerCase() === \"timezonename\");\n return parsed ? parsed.value : null;\n}\n\n// signedOffset('-5', '30') -> -330\nexport function signedOffset(offHourStr, offMinuteStr) {\n let offHour = parseInt(offHourStr, 10);\n\n // don't || this because we want to preserve -0\n if (Number.isNaN(offHour)) {\n offHour = 0;\n }\n\n const offMin = parseInt(offMinuteStr, 10) || 0,\n offMinSigned = offHour < 0 || Object.is(offHour, -0) ? -offMin : offMin;\n return offHour * 60 + offMinSigned;\n}\n\n// COERCION\n\nexport function asNumber(value) {\n const numericValue = Number(value);\n if (typeof value === \"boolean\" || value === \"\" || Number.isNaN(numericValue))\n throw new InvalidArgumentError(`Invalid unit value ${value}`);\n return numericValue;\n}\n\nexport function normalizeObject(obj, normalizer) {\n const normalized = {};\n for (const u in obj) {\n if (hasOwnProperty(obj, u)) {\n const v = obj[u];\n if (v === undefined || v === null) continue;\n normalized[normalizer(u)] = asNumber(v);\n }\n }\n return normalized;\n}\n\n/**\n * Returns the offset's value as a string\n * @param {number} ts - Epoch milliseconds for which to get the offset\n * @param {string} format - What style of offset to return.\n * Accepts 'narrow', 'short', or 'techie'. Returning '+6', '+06:00', or '+0600' respectively\n * @return {string}\n */\nexport function formatOffset(offset, format) {\n const hours = Math.trunc(Math.abs(offset / 60)),\n minutes = Math.trunc(Math.abs(offset % 60)),\n sign = offset >= 0 ? \"+\" : \"-\";\n\n switch (format) {\n case \"short\":\n return `${sign}${padStart(hours, 2)}:${padStart(minutes, 2)}`;\n case \"narrow\":\n return `${sign}${hours}${minutes > 0 ? `:${minutes}` : \"\"}`;\n case \"techie\":\n return `${sign}${padStart(hours, 2)}${padStart(minutes, 2)}`;\n default:\n throw new RangeError(`Value format ${format} is out of range for property format`);\n }\n}\n\nexport function timeObject(obj) {\n return pick(obj, [\"hour\", \"minute\", \"second\", \"millisecond\"]);\n}\n","/**\n * @private\n */\n\nimport Zone from \"../zone.js\";\nimport IANAZone from \"../zones/IANAZone.js\";\nimport FixedOffsetZone from \"../zones/fixedOffsetZone.js\";\nimport InvalidZone from \"../zones/invalidZone.js\";\n\nimport { isUndefined, isString, isNumber } from \"./util.js\";\nimport SystemZone from \"../zones/systemZone.js\";\n\nexport function normalizeZone(input, defaultZone) {\n let offset;\n if (isUndefined(input) || input === null) {\n return defaultZone;\n } else if (input instanceof Zone) {\n return input;\n } else if (isString(input)) {\n const lowered = input.toLowerCase();\n if (lowered === \"default\") return defaultZone;\n else if (lowered === \"local\" || lowered === \"system\") return SystemZone.instance;\n else if (lowered === \"utc\" || lowered === \"gmt\") return FixedOffsetZone.utcInstance;\n else return FixedOffsetZone.parseSpecifier(lowered) || IANAZone.create(input);\n } else if (isNumber(input)) {\n return FixedOffsetZone.instance(input);\n } else if (typeof input === \"object\" && \"offset\" in input && typeof input.offset === \"function\") {\n // This is dumb, but the instanceof check above doesn't seem to really work\n // so we're duck checking it\n return input;\n } else {\n return new InvalidZone(input);\n }\n}\n","import DateTime from \"./datetime.js\";\nimport Settings from \"./settings.js\";\nimport Locale from \"./impl/locale.js\";\nimport IANAZone from \"./zones/IANAZone.js\";\nimport { normalizeZone } from \"./impl/zoneUtil.js\";\n\nimport { hasLocaleWeekInfo, hasRelative } from \"./impl/util.js\";\n\n/**\n * The Info class contains static methods for retrieving general time and date related data. For example, it has methods for finding out if a time zone has a DST, for listing the months in any supported locale, and for discovering which of Luxon features are available in the current environment.\n */\nexport default class Info {\n /**\n * Return whether the specified zone contains a DST.\n * @param {string|Zone} [zone='local'] - Zone to check. Defaults to the environment's local zone.\n * @return {boolean}\n */\n static hasDST(zone = Settings.defaultZone) {\n const proto = DateTime.now().setZone(zone).set({ month: 12 });\n\n return !zone.isUniversal && proto.offset !== proto.set({ month: 6 }).offset;\n }\n\n /**\n * Return whether the specified zone is a valid IANA specifier.\n * @param {string} zone - Zone to check\n * @return {boolean}\n */\n static isValidIANAZone(zone) {\n return IANAZone.isValidZone(zone);\n }\n\n /**\n * Converts the input into a {@link Zone} instance.\n *\n * * If `input` is already a Zone instance, it is returned unchanged.\n * * If `input` is a string containing a valid time zone name, a Zone instance\n * with that name is returned.\n * * If `input` is a string that doesn't refer to a known time zone, a Zone\n * instance with {@link Zone#isValid} == false is returned.\n * * If `input is a number, a Zone instance with the specified fixed offset\n * in minutes is returned.\n * * If `input` is `null` or `undefined`, the default zone is returned.\n * @param {string|Zone|number} [input] - the value to be converted\n * @return {Zone}\n */\n static normalizeZone(input) {\n return normalizeZone(input, Settings.defaultZone);\n }\n\n /**\n * Get the weekday on which the week starts according to the given locale.\n * @param {Object} opts - options\n * @param {string} [opts.locale] - the locale code\n * @param {string} [opts.locObj=null] - an existing locale object to use\n * @returns {number} the start of the week, 1 for Monday through 7 for Sunday\n */\n static getStartOfWeek({ locale = null, locObj = null } = {}) {\n return (locObj || Locale.create(locale)).getStartOfWeek();\n }\n\n /**\n * Get the minimum number of days necessary in a week before it is considered part of the next year according\n * to the given locale.\n * @param {Object} opts - options\n * @param {string} [opts.locale] - the locale code\n * @param {string} [opts.locObj=null] - an existing locale object to use\n * @returns {number}\n */\n static getMinimumDaysInFirstWeek({ locale = null, locObj = null } = {}) {\n return (locObj || Locale.create(locale)).getMinDaysInFirstWeek();\n }\n\n /**\n * Get the weekdays, which are considered the weekend according to the given locale\n * @param {Object} opts - options\n * @param {string} [opts.locale] - the locale code\n * @param {string} [opts.locObj=null] - an existing locale object to use\n * @returns {number[]} an array of weekdays, 1 for Monday through 7 for Sunday\n */\n static getWeekendWeekdays({ locale = null, locObj = null } = {}) {\n // copy the array, because we cache it internally\n return (locObj || Locale.create(locale)).getWeekendDays().slice();\n }\n\n /**\n * Return an array of standalone month names.\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/DateTimeFormat\n * @param {string} [length='long'] - the length of the month representation, such as \"numeric\", \"2-digit\", \"narrow\", \"short\", \"long\"\n * @param {Object} opts - options\n * @param {string} [opts.locale] - the locale code\n * @param {string} [opts.numberingSystem=null] - the numbering system\n * @param {string} [opts.locObj=null] - an existing locale object to use\n * @param {string} [opts.outputCalendar='gregory'] - the calendar\n * @example Info.months()[0] //=> 'January'\n * @example Info.months('short')[0] //=> 'Jan'\n * @example Info.months('numeric')[0] //=> '1'\n * @example Info.months('short', { locale: 'fr-CA' } )[0] //=> 'janv.'\n * @example Info.months('numeric', { locale: 'ar' })[0] //=> '١'\n * @example Info.months('long', { outputCalendar: 'islamic' })[0] //=> 'Rabiʻ I'\n * @return {Array}\n */\n static months(\n length = \"long\",\n { locale = null, numberingSystem = null, locObj = null, outputCalendar = \"gregory\" } = {}\n ) {\n return (locObj || Locale.create(locale, numberingSystem, outputCalendar)).months(length);\n }\n\n /**\n * Return an array of format month names.\n * Format months differ from standalone months in that they're meant to appear next to the day of the month. In some languages, that\n * changes the string.\n * See {@link Info#months}\n * @param {string} [length='long'] - the length of the month representation, such as \"numeric\", \"2-digit\", \"narrow\", \"short\", \"long\"\n * @param {Object} opts - options\n * @param {string} [opts.locale] - the locale code\n * @param {string} [opts.numberingSystem=null] - the numbering system\n * @param {string} [opts.locObj=null] - an existing locale object to use\n * @param {string} [opts.outputCalendar='gregory'] - the calendar\n * @return {Array}\n */\n static monthsFormat(\n length = \"long\",\n { locale = null, numberingSystem = null, locObj = null, outputCalendar = \"gregory\" } = {}\n ) {\n return (locObj || Locale.create(locale, numberingSystem, outputCalendar)).months(length, true);\n }\n\n /**\n * Return an array of standalone week names.\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/DateTimeFormat\n * @param {string} [length='long'] - the length of the weekday representation, such as \"narrow\", \"short\", \"long\".\n * @param {Object} opts - options\n * @param {string} [opts.locale] - the locale code\n * @param {string} [opts.numberingSystem=null] - the numbering system\n * @param {string} [opts.locObj=null] - an existing locale object to use\n * @example Info.weekdays()[0] //=> 'Monday'\n * @example Info.weekdays('short')[0] //=> 'Mon'\n * @example Info.weekdays('short', { locale: 'fr-CA' })[0] //=> 'lun.'\n * @example Info.weekdays('short', { locale: 'ar' })[0] //=> 'الاثنين'\n * @return {Array}\n */\n static weekdays(length = \"long\", { locale = null, numberingSystem = null, locObj = null } = {}) {\n return (locObj || Locale.create(locale, numberingSystem, null)).weekdays(length);\n }\n\n /**\n * Return an array of format week names.\n * Format weekdays differ from standalone weekdays in that they're meant to appear next to more date information. In some languages, that\n * changes the string.\n * See {@link Info#weekdays}\n * @param {string} [length='long'] - the length of the month representation, such as \"narrow\", \"short\", \"long\".\n * @param {Object} opts - options\n * @param {string} [opts.locale=null] - the locale code\n * @param {string} [opts.numberingSystem=null] - the numbering system\n * @param {string} [opts.locObj=null] - an existing locale object to use\n * @return {Array}\n */\n static weekdaysFormat(\n length = \"long\",\n { locale = null, numberingSystem = null, locObj = null } = {}\n ) {\n return (locObj || Locale.create(locale, numberingSystem, null)).weekdays(length, true);\n }\n\n /**\n * Return an array of meridiems.\n * @param {Object} opts - options\n * @param {string} [opts.locale] - the locale code\n * @example Info.meridiems() //=> [ 'AM', 'PM' ]\n * @example Info.meridiems({ locale: 'my' }) //=> [ 'နံနက်', 'ညနေ' ]\n * @return {Array}\n */\n static meridiems({ locale = null } = {}) {\n return Locale.create(locale).meridiems();\n }\n\n /**\n * Return an array of eras, such as ['BC', 'AD']. The locale can be specified, but the calendar system is always Gregorian.\n * @param {string} [length='short'] - the length of the era representation, such as \"short\" or \"long\".\n * @param {Object} opts - options\n * @param {string} [opts.locale] - the locale code\n * @example Info.eras() //=> [ 'BC', 'AD' ]\n * @example Info.eras('long') //=> [ 'Before Christ', 'Anno Domini' ]\n * @example Info.eras('long', { locale: 'fr' }) //=> [ 'avant Jésus-Christ', 'après Jésus-Christ' ]\n * @return {Array}\n */\n static eras(length = \"short\", { locale = null } = {}) {\n return Locale.create(locale, null, \"gregory\").eras(length);\n }\n\n /**\n * Return the set of available features in this environment.\n * Some features of Luxon are not available in all environments. For example, on older browsers, relative time formatting support is not available. Use this function to figure out if that's the case.\n * Keys:\n * * `relative`: whether this environment supports relative time formatting\n * * `localeWeek`: whether this environment supports different weekdays for the start of the week based on the locale\n * @example Info.features() //=> { relative: false, localeWeek: true }\n * @return {Object}\n */\n static features() {\n return { relative: hasRelative(), localeWeek: hasLocaleWeekInfo() };\n }\n}\n","import DateTime, { friendlyDateTime } from \"./datetime.js\";\nimport Duration from \"./duration.js\";\nimport Settings from \"./settings.js\";\nimport { InvalidArgumentError, InvalidIntervalError } from \"./errors.js\";\nimport Invalid from \"./impl/invalid.js\";\nimport Formatter from \"./impl/formatter.js\";\nimport * as Formats from \"./impl/formats.js\";\n\nconst INVALID = \"Invalid Interval\";\n\n// checks if the start is equal to or before the end\nfunction validateStartEnd(start, end) {\n if (!start || !start.isValid) {\n return Interval.invalid(\"missing or invalid start\");\n } else if (!end || !end.isValid) {\n return Interval.invalid(\"missing or invalid end\");\n } else if (end < start) {\n return Interval.invalid(\n \"end before start\",\n `The end of an interval must be after its start, but you had start=${start.toISO()} and end=${end.toISO()}`\n );\n } else {\n return null;\n }\n}\n\n/**\n * An Interval object represents a half-open interval of time, where each endpoint is a {@link DateTime}. Conceptually, it's a container for those two endpoints, accompanied by methods for creating, parsing, interrogating, comparing, transforming, and formatting them.\n *\n * Here is a brief overview of the most commonly used methods and getters in Interval:\n *\n * * **Creation** To create an Interval, use {@link Interval.fromDateTimes}, {@link Interval.after}, {@link Interval.before}, or {@link Interval.fromISO}.\n * * **Accessors** Use {@link Interval#start} and {@link Interval#end} to get the start and end.\n * * **Interrogation** To analyze the Interval, use {@link Interval#count}, {@link Interval#length}, {@link Interval#hasSame}, {@link Interval#contains}, {@link Interval#isAfter}, or {@link Interval#isBefore}.\n * * **Transformation** To create other Intervals out of this one, use {@link Interval#set}, {@link Interval#splitAt}, {@link Interval#splitBy}, {@link Interval#divideEqually}, {@link Interval.merge}, {@link Interval.xor}, {@link Interval#union}, {@link Interval#intersection}, or {@link Interval#difference}.\n * * **Comparison** To compare this Interval to another one, use {@link Interval#equals}, {@link Interval#overlaps}, {@link Interval#abutsStart}, {@link Interval#abutsEnd}, {@link Interval#engulfs}\n * * **Output** To convert the Interval into other representations, see {@link Interval#toString}, {@link Interval#toLocaleString}, {@link Interval#toISO}, {@link Interval#toISODate}, {@link Interval#toISOTime}, {@link Interval#toFormat}, and {@link Interval#toDuration}.\n */\nexport default class Interval {\n /**\n * @private\n */\n constructor(config) {\n /**\n * @access private\n */\n this.s = config.start;\n /**\n * @access private\n */\n this.e = config.end;\n /**\n * @access private\n */\n this.invalid = config.invalid || null;\n /**\n * @access private\n */\n this.isLuxonInterval = true;\n }\n\n /**\n * Create an invalid Interval.\n * @param {string} reason - simple string of why this Interval is invalid. Should not contain parameters or anything else data-dependent\n * @param {string} [explanation=null] - longer explanation, may include parameters and other useful debugging information\n * @return {Interval}\n */\n static invalid(reason, explanation = null) {\n if (!reason) {\n throw new InvalidArgumentError(\"need to specify a reason the Interval is invalid\");\n }\n\n const invalid = reason instanceof Invalid ? reason : new Invalid(reason, explanation);\n\n if (Settings.throwOnInvalid) {\n throw new InvalidIntervalError(invalid);\n } else {\n return new Interval({ invalid });\n }\n }\n\n /**\n * Create an Interval from a start DateTime and an end DateTime. Inclusive of the start but not the end.\n * @param {DateTime|Date|Object} start\n * @param {DateTime|Date|Object} end\n * @return {Interval}\n */\n static fromDateTimes(start, end) {\n const builtStart = friendlyDateTime(start),\n builtEnd = friendlyDateTime(end);\n\n const validateError = validateStartEnd(builtStart, builtEnd);\n\n if (validateError == null) {\n return new Interval({\n start: builtStart,\n end: builtEnd,\n });\n } else {\n return validateError;\n }\n }\n\n /**\n * Create an Interval from a start DateTime and a Duration to extend to.\n * @param {DateTime|Date|Object} start\n * @param {Duration|Object|number} duration - the length of the Interval.\n * @return {Interval}\n */\n static after(start, duration) {\n const dur = Duration.fromDurationLike(duration),\n dt = friendlyDateTime(start);\n return Interval.fromDateTimes(dt, dt.plus(dur));\n }\n\n /**\n * Create an Interval from an end DateTime and a Duration to extend backwards to.\n * @param {DateTime|Date|Object} end\n * @param {Duration|Object|number} duration - the length of the Interval.\n * @return {Interval}\n */\n static before(end, duration) {\n const dur = Duration.fromDurationLike(duration),\n dt = friendlyDateTime(end);\n return Interval.fromDateTimes(dt.minus(dur), dt);\n }\n\n /**\n * Create an Interval from an ISO 8601 string.\n * Accepts `/`, `/`, and `/` formats.\n * @param {string} text - the ISO string to parse\n * @param {Object} [opts] - options to pass {@link DateTime#fromISO} and optionally {@link Duration#fromISO}\n * @see https://en.wikipedia.org/wiki/ISO_8601#Time_intervals\n * @return {Interval}\n */\n static fromISO(text, opts) {\n const [s, e] = (text || \"\").split(\"/\", 2);\n if (s && e) {\n let start, startIsValid;\n try {\n start = DateTime.fromISO(s, opts);\n startIsValid = start.isValid;\n } catch (e) {\n startIsValid = false;\n }\n\n let end, endIsValid;\n try {\n end = DateTime.fromISO(e, opts);\n endIsValid = end.isValid;\n } catch (e) {\n endIsValid = false;\n }\n\n if (startIsValid && endIsValid) {\n return Interval.fromDateTimes(start, end);\n }\n\n if (startIsValid) {\n const dur = Duration.fromISO(e, opts);\n if (dur.isValid) {\n return Interval.after(start, dur);\n }\n } else if (endIsValid) {\n const dur = Duration.fromISO(s, opts);\n if (dur.isValid) {\n return Interval.before(end, dur);\n }\n }\n }\n return Interval.invalid(\"unparsable\", `the input \"${text}\" can't be parsed as ISO 8601`);\n }\n\n /**\n * Check if an object is an Interval. Works across context boundaries\n * @param {object} o\n * @return {boolean}\n */\n static isInterval(o) {\n return (o && o.isLuxonInterval) || false;\n }\n\n /**\n * Returns the start of the Interval\n * @type {DateTime}\n */\n get start() {\n return this.isValid ? this.s : null;\n }\n\n /**\n * Returns the end of the Interval\n * @type {DateTime}\n */\n get end() {\n return this.isValid ? this.e : null;\n }\n\n /**\n * Returns whether this Interval's end is at least its start, meaning that the Interval isn't 'backwards'.\n * @type {boolean}\n */\n get isValid() {\n return this.invalidReason === null;\n }\n\n /**\n * Returns an error code if this Interval is invalid, or null if the Interval is valid\n * @type {string}\n */\n get invalidReason() {\n return this.invalid ? this.invalid.reason : null;\n }\n\n /**\n * Returns an explanation of why this Interval became invalid, or null if the Interval is valid\n * @type {string}\n */\n get invalidExplanation() {\n return this.invalid ? this.invalid.explanation : null;\n }\n\n /**\n * Returns the length of the Interval in the specified unit.\n * @param {string} unit - the unit (such as 'hours' or 'days') to return the length in.\n * @return {number}\n */\n length(unit = \"milliseconds\") {\n return this.isValid ? this.toDuration(...[unit]).get(unit) : NaN;\n }\n\n /**\n * Returns the count of minutes, hours, days, months, or years included in the Interval, even in part.\n * Unlike {@link Interval#length} this counts sections of the calendar, not periods of time, e.g. specifying 'day'\n * asks 'what dates are included in this interval?', not 'how many days long is this interval?'\n * @param {string} [unit='milliseconds'] - the unit of time to count.\n * @param {Object} opts - options\n * @param {boolean} [opts.useLocaleWeeks=false] - If true, use weeks based on the locale, i.e. use the locale-dependent start of the week; this operation will always use the locale of the start DateTime\n * @return {number}\n */\n count(unit = \"milliseconds\", opts) {\n if (!this.isValid) return NaN;\n const start = this.start.startOf(unit, opts);\n let end;\n if (opts?.useLocaleWeeks) {\n end = this.end.reconfigure({ locale: start.locale });\n } else {\n end = this.end;\n }\n end = end.startOf(unit, opts);\n return Math.floor(end.diff(start, unit).get(unit)) + (end.valueOf() !== this.end.valueOf());\n }\n\n /**\n * Returns whether this Interval's start and end are both in the same unit of time\n * @param {string} unit - the unit of time to check sameness on\n * @return {boolean}\n */\n hasSame(unit) {\n return this.isValid ? this.isEmpty() || this.e.minus(1).hasSame(this.s, unit) : false;\n }\n\n /**\n * Return whether this Interval has the same start and end DateTimes.\n * @return {boolean}\n */\n isEmpty() {\n return this.s.valueOf() === this.e.valueOf();\n }\n\n /**\n * Return whether this Interval's start is after the specified DateTime.\n * @param {DateTime} dateTime\n * @return {boolean}\n */\n isAfter(dateTime) {\n if (!this.isValid) return false;\n return this.s > dateTime;\n }\n\n /**\n * Return whether this Interval's end is before the specified DateTime.\n * @param {DateTime} dateTime\n * @return {boolean}\n */\n isBefore(dateTime) {\n if (!this.isValid) return false;\n return this.e <= dateTime;\n }\n\n /**\n * Return whether this Interval contains the specified DateTime.\n * @param {DateTime} dateTime\n * @return {boolean}\n */\n contains(dateTime) {\n if (!this.isValid) return false;\n return this.s <= dateTime && this.e > dateTime;\n }\n\n /**\n * \"Sets\" the start and/or end dates. Returns a newly-constructed Interval.\n * @param {Object} values - the values to set\n * @param {DateTime} values.start - the starting DateTime\n * @param {DateTime} values.end - the ending DateTime\n * @return {Interval}\n */\n set({ start, end } = {}) {\n if (!this.isValid) return this;\n return Interval.fromDateTimes(start || this.s, end || this.e);\n }\n\n /**\n * Split this Interval at each of the specified DateTimes\n * @param {...DateTime} dateTimes - the unit of time to count.\n * @return {Array}\n */\n splitAt(...dateTimes) {\n if (!this.isValid) return [];\n const sorted = dateTimes\n .map(friendlyDateTime)\n .filter((d) => this.contains(d))\n .sort((a, b) => a.toMillis() - b.toMillis()),\n results = [];\n let { s } = this,\n i = 0;\n\n while (s < this.e) {\n const added = sorted[i] || this.e,\n next = +added > +this.e ? this.e : added;\n results.push(Interval.fromDateTimes(s, next));\n s = next;\n i += 1;\n }\n\n return results;\n }\n\n /**\n * Split this Interval into smaller Intervals, each of the specified length.\n * Left over time is grouped into a smaller interval\n * @param {Duration|Object|number} duration - The length of each resulting interval.\n * @return {Array}\n */\n splitBy(duration) {\n const dur = Duration.fromDurationLike(duration);\n\n if (!this.isValid || !dur.isValid || dur.as(\"milliseconds\") === 0) {\n return [];\n }\n\n let { s } = this,\n idx = 1,\n next;\n\n const results = [];\n while (s < this.e) {\n const added = this.start.plus(dur.mapUnits((x) => x * idx));\n next = +added > +this.e ? this.e : added;\n results.push(Interval.fromDateTimes(s, next));\n s = next;\n idx += 1;\n }\n\n return results;\n }\n\n /**\n * Split this Interval into the specified number of smaller intervals.\n * @param {number} numberOfParts - The number of Intervals to divide the Interval into.\n * @return {Array}\n */\n divideEqually(numberOfParts) {\n if (!this.isValid) return [];\n return this.splitBy(this.length() / numberOfParts).slice(0, numberOfParts);\n }\n\n /**\n * Return whether this Interval overlaps with the specified Interval\n * @param {Interval} other\n * @return {boolean}\n */\n overlaps(other) {\n return this.e > other.s && this.s < other.e;\n }\n\n /**\n * Return whether this Interval's end is adjacent to the specified Interval's start.\n * @param {Interval} other\n * @return {boolean}\n */\n abutsStart(other) {\n if (!this.isValid) return false;\n return +this.e === +other.s;\n }\n\n /**\n * Return whether this Interval's start is adjacent to the specified Interval's end.\n * @param {Interval} other\n * @return {boolean}\n */\n abutsEnd(other) {\n if (!this.isValid) return false;\n return +other.e === +this.s;\n }\n\n /**\n * Returns true if this Interval fully contains the specified Interval, specifically if the intersect (of this Interval and the other Interval) is equal to the other Interval; false otherwise.\n * @param {Interval} other\n * @return {boolean}\n */\n engulfs(other) {\n if (!this.isValid) return false;\n return this.s <= other.s && this.e >= other.e;\n }\n\n /**\n * Return whether this Interval has the same start and end as the specified Interval.\n * @param {Interval} other\n * @return {boolean}\n */\n equals(other) {\n if (!this.isValid || !other.isValid) {\n return false;\n }\n\n return this.s.equals(other.s) && this.e.equals(other.e);\n }\n\n /**\n * Return an Interval representing the intersection of this Interval and the specified Interval.\n * Specifically, the resulting Interval has the maximum start time and the minimum end time of the two Intervals.\n * Returns null if the intersection is empty, meaning, the intervals don't intersect.\n * @param {Interval} other\n * @return {Interval}\n */\n intersection(other) {\n if (!this.isValid) return this;\n const s = this.s > other.s ? this.s : other.s,\n e = this.e < other.e ? this.e : other.e;\n\n if (s >= e) {\n return null;\n } else {\n return Interval.fromDateTimes(s, e);\n }\n }\n\n /**\n * Return an Interval representing the union of this Interval and the specified Interval.\n * Specifically, the resulting Interval has the minimum start time and the maximum end time of the two Intervals.\n * @param {Interval} other\n * @return {Interval}\n */\n union(other) {\n if (!this.isValid) return this;\n const s = this.s < other.s ? this.s : other.s,\n e = this.e > other.e ? this.e : other.e;\n return Interval.fromDateTimes(s, e);\n }\n\n /**\n * Merge an array of Intervals into a equivalent minimal set of Intervals.\n * Combines overlapping and adjacent Intervals.\n * @param {Array} intervals\n * @return {Array}\n */\n static merge(intervals) {\n const [found, final] = intervals\n .sort((a, b) => a.s - b.s)\n .reduce(\n ([sofar, current], item) => {\n if (!current) {\n return [sofar, item];\n } else if (current.overlaps(item) || current.abutsStart(item)) {\n return [sofar, current.union(item)];\n } else {\n return [sofar.concat([current]), item];\n }\n },\n [[], null]\n );\n if (final) {\n found.push(final);\n }\n return found;\n }\n\n /**\n * Return an array of Intervals representing the spans of time that only appear in one of the specified Intervals.\n * @param {Array} intervals\n * @return {Array}\n */\n static xor(intervals) {\n let start = null,\n currentCount = 0;\n const results = [],\n ends = intervals.map((i) => [\n { time: i.s, type: \"s\" },\n { time: i.e, type: \"e\" },\n ]),\n flattened = Array.prototype.concat(...ends),\n arr = flattened.sort((a, b) => a.time - b.time);\n\n for (const i of arr) {\n currentCount += i.type === \"s\" ? 1 : -1;\n\n if (currentCount === 1) {\n start = i.time;\n } else {\n if (start && +start !== +i.time) {\n results.push(Interval.fromDateTimes(start, i.time));\n }\n\n start = null;\n }\n }\n\n return Interval.merge(results);\n }\n\n /**\n * Return an Interval representing the span of time in this Interval that doesn't overlap with any of the specified Intervals.\n * @param {...Interval} intervals\n * @return {Array}\n */\n difference(...intervals) {\n return Interval.xor([this].concat(intervals))\n .map((i) => this.intersection(i))\n .filter((i) => i && !i.isEmpty());\n }\n\n /**\n * Returns a string representation of this Interval appropriate for debugging.\n * @return {string}\n */\n toString() {\n if (!this.isValid) return INVALID;\n return `[${this.s.toISO()} – ${this.e.toISO()})`;\n }\n\n /**\n * Returns a string representation of this Interval appropriate for the REPL.\n * @return {string}\n */\n [Symbol.for(\"nodejs.util.inspect.custom\")]() {\n if (this.isValid) {\n return `Interval { start: ${this.s.toISO()}, end: ${this.e.toISO()} }`;\n } else {\n return `Interval { Invalid, reason: ${this.invalidReason} }`;\n }\n }\n\n /**\n * Returns a localized string representing this Interval. Accepts the same options as the\n * Intl.DateTimeFormat constructor and any presets defined by Luxon, such as\n * {@link DateTime.DATE_FULL} or {@link DateTime.TIME_SIMPLE}. The exact behavior of this method\n * is browser-specific, but in general it will return an appropriate representation of the\n * Interval in the assigned locale. Defaults to the system's locale if no locale has been\n * specified.\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/DateTimeFormat\n * @param {Object} [formatOpts=DateTime.DATE_SHORT] - Either a DateTime preset or\n * Intl.DateTimeFormat constructor options.\n * @param {Object} opts - Options to override the configuration of the start DateTime.\n * @example Interval.fromISO('2022-11-07T09:00Z/2022-11-08T09:00Z').toLocaleString(); //=> 11/7/2022 – 11/8/2022\n * @example Interval.fromISO('2022-11-07T09:00Z/2022-11-08T09:00Z').toLocaleString(DateTime.DATE_FULL); //=> November 7 – 8, 2022\n * @example Interval.fromISO('2022-11-07T09:00Z/2022-11-08T09:00Z').toLocaleString(DateTime.DATE_FULL, { locale: 'fr-FR' }); //=> 7–8 novembre 2022\n * @example Interval.fromISO('2022-11-07T17:00Z/2022-11-07T19:00Z').toLocaleString(DateTime.TIME_SIMPLE); //=> 6:00 – 8:00 PM\n * @example Interval.fromISO('2022-11-07T17:00Z/2022-11-07T19:00Z').toLocaleString({ weekday: 'short', month: 'short', day: '2-digit', hour: '2-digit', minute: '2-digit' }); //=> Mon, Nov 07, 6:00 – 8:00 p\n * @return {string}\n */\n toLocaleString(formatOpts = Formats.DATE_SHORT, opts = {}) {\n return this.isValid\n ? Formatter.create(this.s.loc.clone(opts), formatOpts).formatInterval(this)\n : INVALID;\n }\n\n /**\n * Returns an ISO 8601-compliant string representation of this Interval.\n * @see https://en.wikipedia.org/wiki/ISO_8601#Time_intervals\n * @param {Object} opts - The same options as {@link DateTime#toISO}\n * @return {string}\n */\n toISO(opts) {\n if (!this.isValid) return INVALID;\n return `${this.s.toISO(opts)}/${this.e.toISO(opts)}`;\n }\n\n /**\n * Returns an ISO 8601-compliant string representation of date of this Interval.\n * The time components are ignored.\n * @see https://en.wikipedia.org/wiki/ISO_8601#Time_intervals\n * @return {string}\n */\n toISODate() {\n if (!this.isValid) return INVALID;\n return `${this.s.toISODate()}/${this.e.toISODate()}`;\n }\n\n /**\n * Returns an ISO 8601-compliant string representation of time of this Interval.\n * The date components are ignored.\n * @see https://en.wikipedia.org/wiki/ISO_8601#Time_intervals\n * @param {Object} opts - The same options as {@link DateTime#toISO}\n * @return {string}\n */\n toISOTime(opts) {\n if (!this.isValid) return INVALID;\n return `${this.s.toISOTime(opts)}/${this.e.toISOTime(opts)}`;\n }\n\n /**\n * Returns a string representation of this Interval formatted according to the specified format\n * string. **You may not want this.** See {@link Interval#toLocaleString} for a more flexible\n * formatting tool.\n * @param {string} dateFormat - The format string. This string formats the start and end time.\n * See {@link DateTime#toFormat} for details.\n * @param {Object} opts - Options.\n * @param {string} [opts.separator = ' – '] - A separator to place between the start and end\n * representations.\n * @return {string}\n */\n toFormat(dateFormat, { separator = \" – \" } = {}) {\n if (!this.isValid) return INVALID;\n return `${this.s.toFormat(dateFormat)}${separator}${this.e.toFormat(dateFormat)}`;\n }\n\n /**\n * Return a Duration representing the time spanned by this interval.\n * @param {string|string[]} [unit=['milliseconds']] - the unit or units (such as 'hours' or 'days') to include in the duration.\n * @param {Object} opts - options that affect the creation of the Duration\n * @param {string} [opts.conversionAccuracy='casual'] - the conversion system to use\n * @example Interval.fromDateTimes(dt1, dt2).toDuration().toObject() //=> { milliseconds: 88489257 }\n * @example Interval.fromDateTimes(dt1, dt2).toDuration('days').toObject() //=> { days: 1.0241812152777778 }\n * @example Interval.fromDateTimes(dt1, dt2).toDuration(['hours', 'minutes']).toObject() //=> { hours: 24, minutes: 34.82095 }\n * @example Interval.fromDateTimes(dt1, dt2).toDuration(['hours', 'minutes', 'seconds']).toObject() //=> { hours: 24, minutes: 34, seconds: 49.257 }\n * @example Interval.fromDateTimes(dt1, dt2).toDuration('seconds').toObject() //=> { seconds: 88489.257 }\n * @return {Duration}\n */\n toDuration(unit, opts) {\n if (!this.isValid) {\n return Duration.invalid(this.invalidReason);\n }\n return this.e.diff(this.s, unit, opts);\n }\n\n /**\n * Run mapFn on the interval start and end, returning a new Interval from the resulting DateTimes\n * @param {function} mapFn\n * @return {Interval}\n * @example Interval.fromDateTimes(dt1, dt2).mapEndpoints(endpoint => endpoint.toUTC())\n * @example Interval.fromDateTimes(dt1, dt2).mapEndpoints(endpoint => endpoint.plus({ hours: 2 }))\n */\n mapEndpoints(mapFn) {\n return Interval.fromDateTimes(mapFn(this.s), mapFn(this.e));\n }\n}\n","import DateTime from \"./datetime.js\";\nimport Duration from \"./duration.js\";\nimport Interval from \"./interval.js\";\nimport Info from \"./info.js\";\nimport Zone from \"./zone.js\";\nimport FixedOffsetZone from \"./zones/fixedOffsetZone.js\";\nimport IANAZone from \"./zones/IANAZone.js\";\nimport InvalidZone from \"./zones/invalidZone.js\";\nimport SystemZone from \"./zones/systemZone.js\";\nimport Settings from \"./settings.js\";\n\nconst VERSION = \"3.5.0\";\n\nexport {\n VERSION,\n DateTime,\n Duration,\n Interval,\n Info,\n Zone,\n FixedOffsetZone,\n IANAZone,\n InvalidZone,\n SystemZone,\n Settings,\n};\n","import SystemZone from \"./zones/systemZone.js\";\nimport IANAZone from \"./zones/IANAZone.js\";\nimport Locale from \"./impl/locale.js\";\nimport DateTime from \"./datetime.js\";\n\nimport { normalizeZone } from \"./impl/zoneUtil.js\";\nimport { validateWeekSettings } from \"./impl/util.js\";\nimport { resetDigitRegexCache } from \"./impl/digits.js\";\n\nlet now = () => Date.now(),\n defaultZone = \"system\",\n defaultLocale = null,\n defaultNumberingSystem = null,\n defaultOutputCalendar = null,\n twoDigitCutoffYear = 60,\n throwOnInvalid,\n defaultWeekSettings = null;\n\n/**\n * Settings contains static getters and setters that control Luxon's overall behavior. Luxon is a simple library with few options, but the ones it does have live here.\n */\nexport default class Settings {\n /**\n * Get the callback for returning the current timestamp.\n * @type {function}\n */\n static get now() {\n return now;\n }\n\n /**\n * Set the callback for returning the current timestamp.\n * The function should return a number, which will be interpreted as an Epoch millisecond count\n * @type {function}\n * @example Settings.now = () => Date.now() + 3000 // pretend it is 3 seconds in the future\n * @example Settings.now = () => 0 // always pretend it's Jan 1, 1970 at midnight in UTC time\n */\n static set now(n) {\n now = n;\n }\n\n /**\n * Set the default time zone to create DateTimes in. Does not affect existing instances.\n * Use the value \"system\" to reset this value to the system's time zone.\n * @type {string}\n */\n static set defaultZone(zone) {\n defaultZone = zone;\n }\n\n /**\n * Get the default time zone object currently used to create DateTimes. Does not affect existing instances.\n * The default value is the system's time zone (the one set on the machine that runs this code).\n * @type {Zone}\n */\n static get defaultZone() {\n return normalizeZone(defaultZone, SystemZone.instance);\n }\n\n /**\n * Get the default locale to create DateTimes with. Does not affect existing instances.\n * @type {string}\n */\n static get defaultLocale() {\n return defaultLocale;\n }\n\n /**\n * Set the default locale to create DateTimes with. Does not affect existing instances.\n * @type {string}\n */\n static set defaultLocale(locale) {\n defaultLocale = locale;\n }\n\n /**\n * Get the default numbering system to create DateTimes with. Does not affect existing instances.\n * @type {string}\n */\n static get defaultNumberingSystem() {\n return defaultNumberingSystem;\n }\n\n /**\n * Set the default numbering system to create DateTimes with. Does not affect existing instances.\n * @type {string}\n */\n static set defaultNumberingSystem(numberingSystem) {\n defaultNumberingSystem = numberingSystem;\n }\n\n /**\n * Get the default output calendar to create DateTimes with. Does not affect existing instances.\n * @type {string}\n */\n static get defaultOutputCalendar() {\n return defaultOutputCalendar;\n }\n\n /**\n * Set the default output calendar to create DateTimes with. Does not affect existing instances.\n * @type {string}\n */\n static set defaultOutputCalendar(outputCalendar) {\n defaultOutputCalendar = outputCalendar;\n }\n\n /**\n * @typedef {Object} WeekSettings\n * @property {number} firstDay\n * @property {number} minimalDays\n * @property {number[]} weekend\n */\n\n /**\n * @return {WeekSettings|null}\n */\n static get defaultWeekSettings() {\n return defaultWeekSettings;\n }\n\n /**\n * Allows overriding the default locale week settings, i.e. the start of the week, the weekend and\n * how many days are required in the first week of a year.\n * Does not affect existing instances.\n *\n * @param {WeekSettings|null} weekSettings\n */\n static set defaultWeekSettings(weekSettings) {\n defaultWeekSettings = validateWeekSettings(weekSettings);\n }\n\n /**\n * Get the cutoff year for whether a 2-digit year string is interpreted in the current or previous century. Numbers higher than the cutoff will be considered to mean 19xx and numbers lower or equal to the cutoff will be considered 20xx.\n * @type {number}\n */\n static get twoDigitCutoffYear() {\n return twoDigitCutoffYear;\n }\n\n /**\n * Set the cutoff year for whether a 2-digit year string is interpreted in the current or previous century. Numbers higher than the cutoff will be considered to mean 19xx and numbers lower or equal to the cutoff will be considered 20xx.\n * @type {number}\n * @example Settings.twoDigitCutoffYear = 0 // all 'yy' are interpreted as 20th century\n * @example Settings.twoDigitCutoffYear = 99 // all 'yy' are interpreted as 21st century\n * @example Settings.twoDigitCutoffYear = 50 // '49' -> 2049; '50' -> 1950\n * @example Settings.twoDigitCutoffYear = 1950 // interpreted as 50\n * @example Settings.twoDigitCutoffYear = 2050 // ALSO interpreted as 50\n */\n static set twoDigitCutoffYear(cutoffYear) {\n twoDigitCutoffYear = cutoffYear % 100;\n }\n\n /**\n * Get whether Luxon will throw when it encounters invalid DateTimes, Durations, or Intervals\n * @type {boolean}\n */\n static get throwOnInvalid() {\n return throwOnInvalid;\n }\n\n /**\n * Set whether Luxon will throw when it encounters invalid DateTimes, Durations, or Intervals\n * @type {boolean}\n */\n static set throwOnInvalid(t) {\n throwOnInvalid = t;\n }\n\n /**\n * Reset Luxon's global caches. Should only be necessary in testing scenarios.\n * @return {void}\n */\n static resetCaches() {\n Locale.resetCache();\n IANAZone.resetCache();\n DateTime.resetCache();\n resetDigitRegexCache();\n }\n}\n","import { ZoneIsAbstractError } from \"./errors.js\";\n\n/**\n * @interface\n */\nexport default class Zone {\n /**\n * The type of zone\n * @abstract\n * @type {string}\n */\n get type() {\n throw new ZoneIsAbstractError();\n }\n\n /**\n * The name of this zone.\n * @abstract\n * @type {string}\n */\n get name() {\n throw new ZoneIsAbstractError();\n }\n\n /**\n * The IANA name of this zone.\n * Defaults to `name` if not overwritten by a subclass.\n * @abstract\n * @type {string}\n */\n get ianaName() {\n return this.name;\n }\n\n /**\n * Returns whether the offset is known to be fixed for the whole year.\n * @abstract\n * @type {boolean}\n */\n get isUniversal() {\n throw new ZoneIsAbstractError();\n }\n\n /**\n * Returns the offset's common name (such as EST) at the specified timestamp\n * @abstract\n * @param {number} ts - Epoch milliseconds for which to get the name\n * @param {Object} opts - Options to affect the format\n * @param {string} opts.format - What style of offset to return. Accepts 'long' or 'short'.\n * @param {string} opts.locale - What locale to return the offset name in.\n * @return {string}\n */\n offsetName(ts, opts) {\n throw new ZoneIsAbstractError();\n }\n\n /**\n * Returns the offset's value as a string\n * @abstract\n * @param {number} ts - Epoch milliseconds for which to get the offset\n * @param {string} format - What style of offset to return.\n * Accepts 'narrow', 'short', or 'techie'. Returning '+6', '+06:00', or '+0600' respectively\n * @return {string}\n */\n formatOffset(ts, format) {\n throw new ZoneIsAbstractError();\n }\n\n /**\n * Return the offset in minutes for this zone at the specified timestamp.\n * @abstract\n * @param {number} ts - Epoch milliseconds for which to compute the offset\n * @return {number}\n */\n offset(ts) {\n throw new ZoneIsAbstractError();\n }\n\n /**\n * Return whether this Zone is equal to another zone\n * @abstract\n * @param {Zone} otherZone - the zone to compare\n * @return {boolean}\n */\n equals(otherZone) {\n throw new ZoneIsAbstractError();\n }\n\n /**\n * Return whether this Zone is valid.\n * @abstract\n * @type {boolean}\n */\n get isValid() {\n throw new ZoneIsAbstractError();\n }\n}\n","import { formatOffset, parseZoneInfo, isUndefined, objToLocalTS } from \"../impl/util.js\";\nimport Zone from \"../zone.js\";\n\nlet dtfCache = {};\nfunction makeDTF(zone) {\n if (!dtfCache[zone]) {\n dtfCache[zone] = new Intl.DateTimeFormat(\"en-US\", {\n hour12: false,\n timeZone: zone,\n year: \"numeric\",\n month: \"2-digit\",\n day: \"2-digit\",\n hour: \"2-digit\",\n minute: \"2-digit\",\n second: \"2-digit\",\n era: \"short\",\n });\n }\n return dtfCache[zone];\n}\n\nconst typeToPos = {\n year: 0,\n month: 1,\n day: 2,\n era: 3,\n hour: 4,\n minute: 5,\n second: 6,\n};\n\nfunction hackyOffset(dtf, date) {\n const formatted = dtf.format(date).replace(/\\u200E/g, \"\"),\n parsed = /(\\d+)\\/(\\d+)\\/(\\d+) (AD|BC),? (\\d+):(\\d+):(\\d+)/.exec(formatted),\n [, fMonth, fDay, fYear, fadOrBc, fHour, fMinute, fSecond] = parsed;\n return [fYear, fMonth, fDay, fadOrBc, fHour, fMinute, fSecond];\n}\n\nfunction partsOffset(dtf, date) {\n const formatted = dtf.formatToParts(date);\n const filled = [];\n for (let i = 0; i < formatted.length; i++) {\n const { type, value } = formatted[i];\n const pos = typeToPos[type];\n\n if (type === \"era\") {\n filled[pos] = value;\n } else if (!isUndefined(pos)) {\n filled[pos] = parseInt(value, 10);\n }\n }\n return filled;\n}\n\nlet ianaZoneCache = {};\n/**\n * A zone identified by an IANA identifier, like America/New_York\n * @implements {Zone}\n */\nexport default class IANAZone extends Zone {\n /**\n * @param {string} name - Zone name\n * @return {IANAZone}\n */\n static create(name) {\n if (!ianaZoneCache[name]) {\n ianaZoneCache[name] = new IANAZone(name);\n }\n return ianaZoneCache[name];\n }\n\n /**\n * Reset local caches. Should only be necessary in testing scenarios.\n * @return {void}\n */\n static resetCache() {\n ianaZoneCache = {};\n dtfCache = {};\n }\n\n /**\n * Returns whether the provided string is a valid specifier. This only checks the string's format, not that the specifier identifies a known zone; see isValidZone for that.\n * @param {string} s - The string to check validity on\n * @example IANAZone.isValidSpecifier(\"America/New_York\") //=> true\n * @example IANAZone.isValidSpecifier(\"Sport~~blorp\") //=> false\n * @deprecated For backward compatibility, this forwards to isValidZone, better use `isValidZone()` directly instead.\n * @return {boolean}\n */\n static isValidSpecifier(s) {\n return this.isValidZone(s);\n }\n\n /**\n * Returns whether the provided string identifies a real zone\n * @param {string} zone - The string to check\n * @example IANAZone.isValidZone(\"America/New_York\") //=> true\n * @example IANAZone.isValidZone(\"Fantasia/Castle\") //=> false\n * @example IANAZone.isValidZone(\"Sport~~blorp\") //=> false\n * @return {boolean}\n */\n static isValidZone(zone) {\n if (!zone) {\n return false;\n }\n try {\n new Intl.DateTimeFormat(\"en-US\", { timeZone: zone }).format();\n return true;\n } catch (e) {\n return false;\n }\n }\n\n constructor(name) {\n super();\n /** @private **/\n this.zoneName = name;\n /** @private **/\n this.valid = IANAZone.isValidZone(name);\n }\n\n /**\n * The type of zone. `iana` for all instances of `IANAZone`.\n * @override\n * @type {string}\n */\n get type() {\n return \"iana\";\n }\n\n /**\n * The name of this zone (i.e. the IANA zone name).\n * @override\n * @type {string}\n */\n get name() {\n return this.zoneName;\n }\n\n /**\n * Returns whether the offset is known to be fixed for the whole year:\n * Always returns false for all IANA zones.\n * @override\n * @type {boolean}\n */\n get isUniversal() {\n return false;\n }\n\n /**\n * Returns the offset's common name (such as EST) at the specified timestamp\n * @override\n * @param {number} ts - Epoch milliseconds for which to get the name\n * @param {Object} opts - Options to affect the format\n * @param {string} opts.format - What style of offset to return. Accepts 'long' or 'short'.\n * @param {string} opts.locale - What locale to return the offset name in.\n * @return {string}\n */\n offsetName(ts, { format, locale }) {\n return parseZoneInfo(ts, format, locale, this.name);\n }\n\n /**\n * Returns the offset's value as a string\n * @override\n * @param {number} ts - Epoch milliseconds for which to get the offset\n * @param {string} format - What style of offset to return.\n * Accepts 'narrow', 'short', or 'techie'. Returning '+6', '+06:00', or '+0600' respectively\n * @return {string}\n */\n formatOffset(ts, format) {\n return formatOffset(this.offset(ts), format);\n }\n\n /**\n * Return the offset in minutes for this zone at the specified timestamp.\n * @override\n * @param {number} ts - Epoch milliseconds for which to compute the offset\n * @return {number}\n */\n offset(ts) {\n const date = new Date(ts);\n\n if (isNaN(date)) return NaN;\n\n const dtf = makeDTF(this.name);\n let [year, month, day, adOrBc, hour, minute, second] = dtf.formatToParts\n ? partsOffset(dtf, date)\n : hackyOffset(dtf, date);\n\n if (adOrBc === \"BC\") {\n year = -Math.abs(year) + 1;\n }\n\n // because we're using hour12 and https://bugs.chromium.org/p/chromium/issues/detail?id=1025564&can=2&q=%2224%3A00%22%20datetimeformat\n const adjustedHour = hour === 24 ? 0 : hour;\n\n const asUTC = objToLocalTS({\n year,\n month,\n day,\n hour: adjustedHour,\n minute,\n second,\n millisecond: 0,\n });\n\n let asTS = +date;\n const over = asTS % 1000;\n asTS -= over >= 0 ? over : 1000 + over;\n return (asUTC - asTS) / (60 * 1000);\n }\n\n /**\n * Return whether this Zone is equal to another zone\n * @override\n * @param {Zone} otherZone - the zone to compare\n * @return {boolean}\n */\n equals(otherZone) {\n return otherZone.type === \"iana\" && otherZone.name === this.name;\n }\n\n /**\n * Return whether this Zone is valid.\n * @override\n * @type {boolean}\n */\n get isValid() {\n return this.valid;\n }\n}\n","import { formatOffset, signedOffset } from \"../impl/util.js\";\nimport Zone from \"../zone.js\";\n\nlet singleton = null;\n\n/**\n * A zone with a fixed offset (meaning no DST)\n * @implements {Zone}\n */\nexport default class FixedOffsetZone extends Zone {\n /**\n * Get a singleton instance of UTC\n * @return {FixedOffsetZone}\n */\n static get utcInstance() {\n if (singleton === null) {\n singleton = new FixedOffsetZone(0);\n }\n return singleton;\n }\n\n /**\n * Get an instance with a specified offset\n * @param {number} offset - The offset in minutes\n * @return {FixedOffsetZone}\n */\n static instance(offset) {\n return offset === 0 ? FixedOffsetZone.utcInstance : new FixedOffsetZone(offset);\n }\n\n /**\n * Get an instance of FixedOffsetZone from a UTC offset string, like \"UTC+6\"\n * @param {string} s - The offset string to parse\n * @example FixedOffsetZone.parseSpecifier(\"UTC+6\")\n * @example FixedOffsetZone.parseSpecifier(\"UTC+06\")\n * @example FixedOffsetZone.parseSpecifier(\"UTC-6:00\")\n * @return {FixedOffsetZone}\n */\n static parseSpecifier(s) {\n if (s) {\n const r = s.match(/^utc(?:([+-]\\d{1,2})(?::(\\d{2}))?)?$/i);\n if (r) {\n return new FixedOffsetZone(signedOffset(r[1], r[2]));\n }\n }\n return null;\n }\n\n constructor(offset) {\n super();\n /** @private **/\n this.fixed = offset;\n }\n\n /**\n * The type of zone. `fixed` for all instances of `FixedOffsetZone`.\n * @override\n * @type {string}\n */\n get type() {\n return \"fixed\";\n }\n\n /**\n * The name of this zone.\n * All fixed zones' names always start with \"UTC\" (plus optional offset)\n * @override\n * @type {string}\n */\n get name() {\n return this.fixed === 0 ? \"UTC\" : `UTC${formatOffset(this.fixed, \"narrow\")}`;\n }\n\n /**\n * The IANA name of this zone, i.e. `Etc/UTC` or `Etc/GMT+/-nn`\n *\n * @override\n * @type {string}\n */\n get ianaName() {\n if (this.fixed === 0) {\n return \"Etc/UTC\";\n } else {\n return `Etc/GMT${formatOffset(-this.fixed, \"narrow\")}`;\n }\n }\n\n /**\n * Returns the offset's common name at the specified timestamp.\n *\n * For fixed offset zones this equals to the zone name.\n * @override\n */\n offsetName() {\n return this.name;\n }\n\n /**\n * Returns the offset's value as a string\n * @override\n * @param {number} ts - Epoch milliseconds for which to get the offset\n * @param {string} format - What style of offset to return.\n * Accepts 'narrow', 'short', or 'techie'. Returning '+6', '+06:00', or '+0600' respectively\n * @return {string}\n */\n formatOffset(ts, format) {\n return formatOffset(this.fixed, format);\n }\n\n /**\n * Returns whether the offset is known to be fixed for the whole year:\n * Always returns true for all fixed offset zones.\n * @override\n * @type {boolean}\n */\n get isUniversal() {\n return true;\n }\n\n /**\n * Return the offset in minutes for this zone at the specified timestamp.\n *\n * For fixed offset zones, this is constant and does not depend on a timestamp.\n * @override\n * @return {number}\n */\n offset() {\n return this.fixed;\n }\n\n /**\n * Return whether this Zone is equal to another zone (i.e. also fixed and same offset)\n * @override\n * @param {Zone} otherZone - the zone to compare\n * @return {boolean}\n */\n equals(otherZone) {\n return otherZone.type === \"fixed\" && otherZone.fixed === this.fixed;\n }\n\n /**\n * Return whether this Zone is valid:\n * All fixed offset zones are valid.\n * @override\n * @type {boolean}\n */\n get isValid() {\n return true;\n }\n}\n","import Zone from \"../zone.js\";\n\n/**\n * A zone that failed to parse. You should never need to instantiate this.\n * @implements {Zone}\n */\nexport default class InvalidZone extends Zone {\n constructor(zoneName) {\n super();\n /** @private */\n this.zoneName = zoneName;\n }\n\n /** @override **/\n get type() {\n return \"invalid\";\n }\n\n /** @override **/\n get name() {\n return this.zoneName;\n }\n\n /** @override **/\n get isUniversal() {\n return false;\n }\n\n /** @override **/\n offsetName() {\n return null;\n }\n\n /** @override **/\n formatOffset() {\n return \"\";\n }\n\n /** @override **/\n offset() {\n return NaN;\n }\n\n /** @override **/\n equals() {\n return false;\n }\n\n /** @override **/\n get isValid() {\n return false;\n }\n}\n","import { formatOffset, parseZoneInfo } from \"../impl/util.js\";\nimport Zone from \"../zone.js\";\n\nlet singleton = null;\n\n/**\n * Represents the local zone for this JavaScript environment.\n * @implements {Zone}\n */\nexport default class SystemZone extends Zone {\n /**\n * Get a singleton instance of the local zone\n * @return {SystemZone}\n */\n static get instance() {\n if (singleton === null) {\n singleton = new SystemZone();\n }\n return singleton;\n }\n\n /** @override **/\n get type() {\n return \"system\";\n }\n\n /** @override **/\n get name() {\n return new Intl.DateTimeFormat().resolvedOptions().timeZone;\n }\n\n /** @override **/\n get isUniversal() {\n return false;\n }\n\n /** @override **/\n offsetName(ts, { format, locale }) {\n return parseZoneInfo(ts, format, locale);\n }\n\n /** @override **/\n formatOffset(ts, format) {\n return formatOffset(this.offset(ts), format);\n }\n\n /** @override **/\n offset(ts) {\n return -new Date(ts).getTimezoneOffset();\n }\n\n /** @override **/\n equals(otherZone) {\n return otherZone.type === \"system\";\n }\n\n /** @override **/\n get isValid() {\n return true;\n }\n}\n","/**\n * @license Angular v13.0.2\n * (c) 2010-2021 Google LLC. https://angular.io/\n * License: MIT\n */\n\n/**\n * An injectable service that produces an animation sequence programmatically within an\n * Angular component or directive.\n * Provided by the `BrowserAnimationsModule` or `NoopAnimationsModule`.\n *\n * @usageNotes\n *\n * To use this service, add it to your component or directive as a dependency.\n * The service is instantiated along with your component.\n *\n * Apps do not typically need to create their own animation players, but if you\n * do need to, follow these steps:\n *\n * 1. Use the `build()` method to create a programmatic animation using the\n * `animate()` function. The method returns an `AnimationFactory` instance.\n *\n * 2. Use the factory object to create an `AnimationPlayer` and attach it to a DOM element.\n *\n * 3. Use the player object to control the animation programmatically.\n *\n * For example:\n *\n * ```ts\n * // import the service from BrowserAnimationsModule\n * import {AnimationBuilder} from '@angular/animations';\n * // require the service as a dependency\n * class MyCmp {\n * constructor(private _builder: AnimationBuilder) {}\n *\n * makeAnimation(element: any) {\n * // first define a reusable animation\n * const myAnimation = this._builder.build([\n * style({ width: 0 }),\n * animate(1000, style({ width: '100px' }))\n * ]);\n *\n * // use the returned factory object to create a player\n * const player = myAnimation.create(element);\n *\n * player.play();\n * }\n * }\n * ```\n *\n * @publicApi\n */\nclass AnimationBuilder {\n}\n/**\n * A factory object returned from the `AnimationBuilder`.`build()` method.\n *\n * @publicApi\n */\nclass AnimationFactory {\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * Specifies automatic styling.\n *\n * @publicApi\n */\nconst AUTO_STYLE = '*';\n/**\n * Creates a named animation trigger, containing a list of `state()`\n * and `transition()` entries to be evaluated when the expression\n * bound to the trigger changes.\n *\n * @param name An identifying string.\n * @param definitions An animation definition object, containing an array of `state()`\n * and `transition()` declarations.\n *\n * @return An object that encapsulates the trigger data.\n *\n * @usageNotes\n * Define an animation trigger in the `animations` section of `@Component` metadata.\n * In the template, reference the trigger by name and bind it to a trigger expression that\n * evaluates to a defined animation state, using the following format:\n *\n * `[@triggerName]=\"expression\"`\n *\n * Animation trigger bindings convert all values to strings, and then match the\n * previous and current values against any linked transitions.\n * Booleans can be specified as `1` or `true` and `0` or `false`.\n *\n * ### Usage Example\n *\n * The following example creates an animation trigger reference based on the provided\n * name value.\n * The provided animation value is expected to be an array consisting of state and\n * transition declarations.\n *\n * ```typescript\n * @Component({\n * selector: \"my-component\",\n * templateUrl: \"my-component-tpl.html\",\n * animations: [\n * trigger(\"myAnimationTrigger\", [\n * state(...),\n * state(...),\n * transition(...),\n * transition(...)\n * ])\n * ]\n * })\n * class MyComponent {\n * myStatusExp = \"something\";\n * }\n * ```\n *\n * The template associated with this component makes use of the defined trigger\n * by binding to an element within its template code.\n *\n * ```html\n * \n *
...
\n * ```\n *\n * ### Using an inline function\n * The `transition` animation method also supports reading an inline function which can decide\n * if its associated animation should be run.\n *\n * ```typescript\n * // this method is run each time the `myAnimationTrigger` trigger value changes.\n * function myInlineMatcherFn(fromState: string, toState: string, element: any, params: {[key:\n string]: any}): boolean {\n * // notice that `element` and `params` are also available here\n * return toState == 'yes-please-animate';\n * }\n *\n * @Component({\n * selector: 'my-component',\n * templateUrl: 'my-component-tpl.html',\n * animations: [\n * trigger('myAnimationTrigger', [\n * transition(myInlineMatcherFn, [\n * // the animation sequence code\n * ]),\n * ])\n * ]\n * })\n * class MyComponent {\n * myStatusExp = \"yes-please-animate\";\n * }\n * ```\n *\n * ### Disabling Animations\n * When true, the special animation control binding `@.disabled` binding prevents\n * all animations from rendering.\n * Place the `@.disabled` binding on an element to disable\n * animations on the element itself, as well as any inner animation triggers\n * within the element.\n *\n * The following example shows how to use this feature:\n *\n * ```typescript\n * @Component({\n * selector: 'my-component',\n * template: `\n *
\n *
\n *
\n * `,\n * animations: [\n * trigger(\"childAnimation\", [\n * // ...\n * ])\n * ]\n * })\n * class MyComponent {\n * isDisabled = true;\n * exp = '...';\n * }\n * ```\n *\n * When `@.disabled` is true, it prevents the `@childAnimation` trigger from animating,\n * along with any inner animations.\n *\n * ### Disable animations application-wide\n * When an area of the template is set to have animations disabled,\n * **all** inner components have their animations disabled as well.\n * This means that you can disable all animations for an app\n * by placing a host binding set on `@.disabled` on the topmost Angular component.\n *\n * ```typescript\n * import {Component, HostBinding} from '@angular/core';\n *\n * @Component({\n * selector: 'app-component',\n * templateUrl: 'app.component.html',\n * })\n * class AppComponent {\n * @HostBinding('@.disabled')\n * public animationsDisabled = true;\n * }\n * ```\n *\n * ### Overriding disablement of inner animations\n * Despite inner animations being disabled, a parent animation can `query()`\n * for inner elements located in disabled areas of the template and still animate\n * them if needed. This is also the case for when a sub animation is\n * queried by a parent and then later animated using `animateChild()`.\n *\n * ### Detecting when an animation is disabled\n * If a region of the DOM (or the entire application) has its animations disabled, the animation\n * trigger callbacks still fire, but for zero seconds. When the callback fires, it provides\n * an instance of an `AnimationEvent`. If animations are disabled,\n * the `.disabled` flag on the event is true.\n *\n * @publicApi\n */\nfunction trigger(name, definitions) {\n return { type: 7 /* Trigger */, name, definitions, options: {} };\n}\n/**\n * Defines an animation step that combines styling information with timing information.\n *\n * @param timings Sets `AnimateTimings` for the parent animation.\n * A string in the format \"duration [delay] [easing]\".\n * - Duration and delay are expressed as a number and optional time unit,\n * such as \"1s\" or \"10ms\" for one second and 10 milliseconds, respectively.\n * The default unit is milliseconds.\n * - The easing value controls how the animation accelerates and decelerates\n * during its runtime. Value is one of `ease`, `ease-in`, `ease-out`,\n * `ease-in-out`, or a `cubic-bezier()` function call.\n * If not supplied, no easing is applied.\n *\n * For example, the string \"1s 100ms ease-out\" specifies a duration of\n * 1000 milliseconds, and delay of 100 ms, and the \"ease-out\" easing style,\n * which decelerates near the end of the duration.\n * @param styles Sets AnimationStyles for the parent animation.\n * A function call to either `style()` or `keyframes()`\n * that returns a collection of CSS style entries to be applied to the parent animation.\n * When null, uses the styles from the destination state.\n * This is useful when describing an animation step that will complete an animation;\n * see \"Animating to the final state\" in `transitions()`.\n * @returns An object that encapsulates the animation step.\n *\n * @usageNotes\n * Call within an animation `sequence()`, `{@link animations/group group()}`, or\n * `transition()` call to specify an animation step\n * that applies given style data to the parent animation for a given amount of time.\n *\n * ### Syntax Examples\n * **Timing examples**\n *\n * The following examples show various `timings` specifications.\n * - `animate(500)` : Duration is 500 milliseconds.\n * - `animate(\"1s\")` : Duration is 1000 milliseconds.\n * - `animate(\"100ms 0.5s\")` : Duration is 100 milliseconds, delay is 500 milliseconds.\n * - `animate(\"5s ease-in\")` : Duration is 5000 milliseconds, easing in.\n * - `animate(\"5s 10ms cubic-bezier(.17,.67,.88,.1)\")` : Duration is 5000 milliseconds, delay is 10\n * milliseconds, easing according to a bezier curve.\n *\n * **Style examples**\n *\n * The following example calls `style()` to set a single CSS style.\n * ```typescript\n * animate(500, style({ background: \"red\" }))\n * ```\n * The following example calls `keyframes()` to set a CSS style\n * to different values for successive keyframes.\n * ```typescript\n * animate(500, keyframes(\n * [\n * style({ background: \"blue\" }),\n * style({ background: \"red\" })\n * ])\n * ```\n *\n * @publicApi\n */\nfunction animate(timings, styles = null) {\n return { type: 4 /* Animate */, styles, timings };\n}\n/**\n * @description Defines a list of animation steps to be run in parallel.\n *\n * @param steps An array of animation step objects.\n * - When steps are defined by `style()` or `animate()`\n * function calls, each call within the group is executed instantly.\n * - To specify offset styles to be applied at a later time, define steps with\n * `keyframes()`, or use `animate()` calls with a delay value.\n * For example:\n *\n * ```typescript\n * group([\n * animate(\"1s\", style({ background: \"black\" })),\n * animate(\"2s\", style({ color: \"white\" }))\n * ])\n * ```\n *\n * @param options An options object containing a delay and\n * developer-defined parameters that provide styling defaults and\n * can be overridden on invocation.\n *\n * @return An object that encapsulates the group data.\n *\n * @usageNotes\n * Grouped animations are useful when a series of styles must be\n * animated at different starting times and closed off at different ending times.\n *\n * When called within a `sequence()` or a\n * `transition()` call, does not continue to the next\n * instruction until all of the inner animation steps have completed.\n *\n * @publicApi\n */\nfunction group(steps, options = null) {\n return { type: 3 /* Group */, steps, options };\n}\n/**\n * Defines a list of animation steps to be run sequentially, one by one.\n *\n * @param steps An array of animation step objects.\n * - Steps defined by `style()` calls apply the styling data immediately.\n * - Steps defined by `animate()` calls apply the styling data over time\n * as specified by the timing data.\n *\n * ```typescript\n * sequence([\n * style({ opacity: 0 }),\n * animate(\"1s\", style({ opacity: 1 }))\n * ])\n * ```\n *\n * @param options An options object containing a delay and\n * developer-defined parameters that provide styling defaults and\n * can be overridden on invocation.\n *\n * @return An object that encapsulates the sequence data.\n *\n * @usageNotes\n * When you pass an array of steps to a\n * `transition()` call, the steps run sequentially by default.\n * Compare this to the `{@link animations/group group()}` call, which runs animation steps in\n *parallel.\n *\n * When a sequence is used within a `{@link animations/group group()}` or a `transition()` call,\n * execution continues to the next instruction only after each of the inner animation\n * steps have completed.\n *\n * @publicApi\n **/\nfunction sequence(steps, options = null) {\n return { type: 2 /* Sequence */, steps, options };\n}\n/**\n * Declares a key/value object containing CSS properties/styles that\n * can then be used for an animation `state`, within an animation `sequence`,\n * or as styling data for calls to `animate()` and `keyframes()`.\n *\n * @param tokens A set of CSS styles or HTML styles associated with an animation state.\n * The value can be any of the following:\n * - A key-value style pair associating a CSS property with a value.\n * - An array of key-value style pairs.\n * - An asterisk (*), to use auto-styling, where styles are derived from the element\n * being animated and applied to the animation when it starts.\n *\n * Auto-styling can be used to define a state that depends on layout or other\n * environmental factors.\n *\n * @return An object that encapsulates the style data.\n *\n * @usageNotes\n * The following examples create animation styles that collect a set of\n * CSS property values:\n *\n * ```typescript\n * // string values for CSS properties\n * style({ background: \"red\", color: \"blue\" })\n *\n * // numerical pixel values\n * style({ width: 100, height: 0 })\n * ```\n *\n * The following example uses auto-styling to allow an element to animate from\n * a height of 0 up to its full height:\n *\n * ```\n * style({ height: 0 }),\n * animate(\"1s\", style({ height: \"*\" }))\n * ```\n *\n * @publicApi\n **/\nfunction style(tokens) {\n return { type: 6 /* Style */, styles: tokens, offset: null };\n}\n/**\n * Declares an animation state within a trigger attached to an element.\n *\n * @param name One or more names for the defined state in a comma-separated string.\n * The following reserved state names can be supplied to define a style for specific use\n * cases:\n *\n * - `void` You can associate styles with this name to be used when\n * the element is detached from the application. For example, when an `ngIf` evaluates\n * to false, the state of the associated element is void.\n * - `*` (asterisk) Indicates the default state. You can associate styles with this name\n * to be used as the fallback when the state that is being animated is not declared\n * within the trigger.\n *\n * @param styles A set of CSS styles associated with this state, created using the\n * `style()` function.\n * This set of styles persists on the element once the state has been reached.\n * @param options Parameters that can be passed to the state when it is invoked.\n * 0 or more key-value pairs.\n * @return An object that encapsulates the new state data.\n *\n * @usageNotes\n * Use the `trigger()` function to register states to an animation trigger.\n * Use the `transition()` function to animate between states.\n * When a state is active within a component, its associated styles persist on the element,\n * even when the animation ends.\n *\n * @publicApi\n **/\nfunction state(name, styles, options) {\n return { type: 0 /* State */, name, styles, options };\n}\n/**\n * Defines a set of animation styles, associating each style with an optional `offset` value.\n *\n * @param steps A set of animation styles with optional offset data.\n * The optional `offset` value for a style specifies a percentage of the total animation\n * time at which that style is applied.\n * @returns An object that encapsulates the keyframes data.\n *\n * @usageNotes\n * Use with the `animate()` call. Instead of applying animations\n * from the current state\n * to the destination state, keyframes describe how each style entry is applied and at what point\n * within the animation arc.\n * Compare [CSS Keyframe Animations](https://www.w3schools.com/css/css3_animations.asp).\n *\n * ### Usage\n *\n * In the following example, the offset values describe\n * when each `backgroundColor` value is applied. The color is red at the start, and changes to\n * blue when 20% of the total time has elapsed.\n *\n * ```typescript\n * // the provided offset values\n * animate(\"5s\", keyframes([\n * style({ backgroundColor: \"red\", offset: 0 }),\n * style({ backgroundColor: \"blue\", offset: 0.2 }),\n * style({ backgroundColor: \"orange\", offset: 0.3 }),\n * style({ backgroundColor: \"black\", offset: 1 })\n * ]))\n * ```\n *\n * If there are no `offset` values specified in the style entries, the offsets\n * are calculated automatically.\n *\n * ```typescript\n * animate(\"5s\", keyframes([\n * style({ backgroundColor: \"red\" }) // offset = 0\n * style({ backgroundColor: \"blue\" }) // offset = 0.33\n * style({ backgroundColor: \"orange\" }) // offset = 0.66\n * style({ backgroundColor: \"black\" }) // offset = 1\n * ]))\n *```\n\n * @publicApi\n */\nfunction keyframes(steps) {\n return { type: 5 /* Keyframes */, steps };\n}\n/**\n * Declares an animation transition as a sequence of animation steps to run when a given\n * condition is satisfied. The condition is a Boolean expression or function that compares\n * the previous and current animation states, and returns true if this transition should occur.\n * When the state criteria of a defined transition are met, the associated animation is\n * triggered.\n *\n * @param stateChangeExpr A Boolean expression or function that compares the previous and current\n * animation states, and returns true if this transition should occur. Note that \"true\" and \"false\"\n * match 1 and 0, respectively. An expression is evaluated each time a state change occurs in the\n * animation trigger element.\n * The animation steps run when the expression evaluates to true.\n *\n * - A state-change string takes the form \"state1 => state2\", where each side is a defined animation\n * state, or an asterix (*) to refer to a dynamic start or end state.\n * - The expression string can contain multiple comma-separated statements;\n * for example \"state1 => state2, state3 => state4\".\n * - Special values `:enter` and `:leave` initiate a transition on the entry and exit states,\n * equivalent to \"void => *\" and \"* => void\".\n * - Special values `:increment` and `:decrement` initiate a transition when a numeric value has\n * increased or decreased in value.\n * - A function is executed each time a state change occurs in the animation trigger element.\n * The animation steps run when the function returns true.\n *\n * @param steps One or more animation objects, as returned by the `animate()` or\n * `sequence()` function, that form a transformation from one state to another.\n * A sequence is used by default when you pass an array.\n * @param options An options object that can contain a delay value for the start of the animation,\n * and additional developer-defined parameters. Provided values for additional parameters are used\n * as defaults, and override values can be passed to the caller on invocation.\n * @returns An object that encapsulates the transition data.\n *\n * @usageNotes\n * The template associated with a component binds an animation trigger to an element.\n *\n * ```HTML\n * \n *
...
\n * ```\n *\n * All transitions are defined within an animation trigger,\n * along with named states that the transitions change to and from.\n *\n * ```typescript\n * trigger(\"myAnimationTrigger\", [\n * // define states\n * state(\"on\", style({ background: \"green\" })),\n * state(\"off\", style({ background: \"grey\" })),\n * ...]\n * ```\n *\n * Note that when you call the `sequence()` function within a `{@link animations/group group()}`\n * or a `transition()` call, execution does not continue to the next instruction\n * until each of the inner animation steps have completed.\n *\n * ### Syntax examples\n *\n * The following examples define transitions between the two defined states (and default states),\n * using various options:\n *\n * ```typescript\n * // Transition occurs when the state value\n * // bound to \"myAnimationTrigger\" changes from \"on\" to \"off\"\n * transition(\"on => off\", animate(500))\n * // Run the same animation for both directions\n * transition(\"on <=> off\", animate(500))\n * // Define multiple state-change pairs separated by commas\n * transition(\"on => off, off => void\", animate(500))\n * ```\n *\n * ### Special values for state-change expressions\n *\n * - Catch-all state change for when an element is inserted into the page and the\n * destination state is unknown:\n *\n * ```typescript\n * transition(\"void => *\", [\n * style({ opacity: 0 }),\n * animate(500)\n * ])\n * ```\n *\n * - Capture a state change between any states:\n *\n * `transition(\"* => *\", animate(\"1s 0s\"))`\n *\n * - Entry and exit transitions:\n *\n * ```typescript\n * transition(\":enter\", [\n * style({ opacity: 0 }),\n * animate(500, style({ opacity: 1 }))\n * ]),\n * transition(\":leave\", [\n * animate(500, style({ opacity: 0 }))\n * ])\n * ```\n *\n * - Use `:increment` and `:decrement` to initiate transitions:\n *\n * ```typescript\n * transition(\":increment\", group([\n * query(':enter', [\n * style({ left: '100%' }),\n * animate('0.5s ease-out', style('*'))\n * ]),\n * query(':leave', [\n * animate('0.5s ease-out', style({ left: '-100%' }))\n * ])\n * ]))\n *\n * transition(\":decrement\", group([\n * query(':enter', [\n * style({ left: '100%' }),\n * animate('0.5s ease-out', style('*'))\n * ]),\n * query(':leave', [\n * animate('0.5s ease-out', style({ left: '-100%' }))\n * ])\n * ]))\n * ```\n *\n * ### State-change functions\n *\n * Here is an example of a `fromState` specified as a state-change function that invokes an\n * animation when true:\n *\n * ```typescript\n * transition((fromState, toState) =>\n * {\n * return fromState == \"off\" && toState == \"on\";\n * },\n * animate(\"1s 0s\"))\n * ```\n *\n * ### Animating to the final state\n *\n * If the final step in a transition is a call to `animate()` that uses a timing value\n * with no style data, that step is automatically considered the final animation arc,\n * for the element to reach the final state. Angular automatically adds or removes\n * CSS styles to ensure that the element is in the correct final state.\n *\n * The following example defines a transition that starts by hiding the element,\n * then makes sure that it animates properly to whatever state is currently active for trigger:\n *\n * ```typescript\n * transition(\"void => *\", [\n * style({ opacity: 0 }),\n * animate(500)\n * ])\n * ```\n * ### Boolean value matching\n * If a trigger binding value is a Boolean, it can be matched using a transition expression\n * that compares true and false or 1 and 0. For example:\n *\n * ```\n * // in the template\n *
...
\n * // in the component metadata\n * trigger('openClose', [\n * state('true', style({ height: '*' })),\n * state('false', style({ height: '0px' })),\n * transition('false <=> true', animate(500))\n * ])\n * ```\n *\n * @publicApi\n **/\nfunction transition(stateChangeExpr, steps, options = null) {\n return { type: 1 /* Transition */, expr: stateChangeExpr, animation: steps, options };\n}\n/**\n * Produces a reusable animation that can be invoked in another animation or sequence,\n * by calling the `useAnimation()` function.\n *\n * @param steps One or more animation objects, as returned by the `animate()`\n * or `sequence()` function, that form a transformation from one state to another.\n * A sequence is used by default when you pass an array.\n * @param options An options object that can contain a delay value for the start of the\n * animation, and additional developer-defined parameters.\n * Provided values for additional parameters are used as defaults,\n * and override values can be passed to the caller on invocation.\n * @returns An object that encapsulates the animation data.\n *\n * @usageNotes\n * The following example defines a reusable animation, providing some default parameter\n * values.\n *\n * ```typescript\n * var fadeAnimation = animation([\n * style({ opacity: '{{ start }}' }),\n * animate('{{ time }}',\n * style({ opacity: '{{ end }}'}))\n * ],\n * { params: { time: '1000ms', start: 0, end: 1 }});\n * ```\n *\n * The following invokes the defined animation with a call to `useAnimation()`,\n * passing in override parameter values.\n *\n * ```js\n * useAnimation(fadeAnimation, {\n * params: {\n * time: '2s',\n * start: 1,\n * end: 0\n * }\n * })\n * ```\n *\n * If any of the passed-in parameter values are missing from this call,\n * the default values are used. If one or more parameter values are missing before a step is\n * animated, `useAnimation()` throws an error.\n *\n * @publicApi\n */\nfunction animation(steps, options = null) {\n return { type: 8 /* Reference */, animation: steps, options };\n}\n/**\n * Executes a queried inner animation element within an animation sequence.\n *\n * @param options An options object that can contain a delay value for the start of the\n * animation, and additional override values for developer-defined parameters.\n * @return An object that encapsulates the child animation data.\n *\n * @usageNotes\n * Each time an animation is triggered in Angular, the parent animation\n * has priority and any child animations are blocked. In order\n * for a child animation to run, the parent animation must query each of the elements\n * containing child animations, and run them using this function.\n *\n * Note that this feature is designed to be used with `query()` and it will only work\n * with animations that are assigned using the Angular animation library. CSS keyframes\n * and transitions are not handled by this API.\n *\n * `animateChild()` does not currently work with route transition animations. Please see\n * GitHub Issue {@link https://github.com/angular/angular/issues/30477 #30477} for more\n * information.\n *\n * @publicApi\n */\nfunction animateChild(options = null) {\n return { type: 9 /* AnimateChild */, options };\n}\n/**\n * Starts a reusable animation that is created using the `animation()` function.\n *\n * @param animation The reusable animation to start.\n * @param options An options object that can contain a delay value for the start of\n * the animation, and additional override values for developer-defined parameters.\n * @return An object that contains the animation parameters.\n *\n * @publicApi\n */\nfunction useAnimation(animation, options = null) {\n return { type: 10 /* AnimateRef */, animation, options };\n}\n/**\n * Finds one or more inner elements within the current element that is\n * being animated within a sequence. Use with `animate()`.\n *\n * @param selector The element to query, or a set of elements that contain Angular-specific\n * characteristics, specified with one or more of the following tokens.\n * - `query(\":enter\")` or `query(\":leave\")` : Query for newly inserted/removed elements.\n * - `query(\":animating\")` : Query all currently animating elements.\n * - `query(\"@triggerName\")` : Query elements that contain an animation trigger.\n * - `query(\"@*\")` : Query all elements that contain an animation triggers.\n * - `query(\":self\")` : Include the current element into the animation sequence.\n *\n * @param animation One or more animation steps to apply to the queried element or elements.\n * An array is treated as an animation sequence.\n * @param options An options object. Use the 'limit' field to limit the total number of\n * items to collect.\n * @return An object that encapsulates the query data.\n *\n * @usageNotes\n * Tokens can be merged into a combined query selector string. For example:\n *\n * ```typescript\n * query(':self, .record:enter, .record:leave, @subTrigger', [...])\n * ```\n *\n * The `query()` function collects multiple elements and works internally by using\n * `element.querySelectorAll`. Use the `limit` field of an options object to limit\n * the total number of items to be collected. For example:\n *\n * ```js\n * query('div', [\n * animate(...),\n * animate(...)\n * ], { limit: 1 })\n * ```\n *\n * By default, throws an error when zero items are found. Set the\n * `optional` flag to ignore this error. For example:\n *\n * ```js\n * query('.some-element-that-may-not-be-there', [\n * animate(...),\n * animate(...)\n * ], { optional: true })\n * ```\n *\n * ### Usage Example\n *\n * The following example queries for inner elements and animates them\n * individually using `animate()`.\n *\n * ```typescript\n * @Component({\n * selector: 'inner',\n * template: `\n *
\n *

Title

\n *
\n * Blah blah blah\n *
\n *
\n * `,\n * animations: [\n * trigger('queryAnimation', [\n * transition('* => goAnimate', [\n * // hide the inner elements\n * query('h1', style({ opacity: 0 })),\n * query('.content', style({ opacity: 0 })),\n *\n * // animate the inner elements in, one by one\n * query('h1', animate(1000, style({ opacity: 1 }))),\n * query('.content', animate(1000, style({ opacity: 1 }))),\n * ])\n * ])\n * ]\n * })\n * class Cmp {\n * exp = '';\n *\n * goAnimate() {\n * this.exp = 'goAnimate';\n * }\n * }\n * ```\n *\n * @publicApi\n */\nfunction query(selector, animation, options = null) {\n return { type: 11 /* Query */, selector, animation, options };\n}\n/**\n * Use within an animation `query()` call to issue a timing gap after\n * each queried item is animated.\n *\n * @param timings A delay value.\n * @param animation One ore more animation steps.\n * @returns An object that encapsulates the stagger data.\n *\n * @usageNotes\n * In the following example, a container element wraps a list of items stamped out\n * by an `ngFor`. The container element contains an animation trigger that will later be set\n * to query for each of the inner items.\n *\n * Each time items are added, the opacity fade-in animation runs,\n * and each removed item is faded out.\n * When either of these animations occur, the stagger effect is\n * applied after each item's animation is started.\n *\n * ```html\n * \n * \n *
\n *
\n *
\n * {{ item }}\n *
\n *
\n * ```\n *\n * Here is the component code:\n *\n * ```typescript\n * import {trigger, transition, style, animate, query, stagger} from '@angular/animations';\n * @Component({\n * templateUrl: 'list.component.html',\n * animations: [\n * trigger('listAnimation', [\n * ...\n * ])\n * ]\n * })\n * class ListComponent {\n * items = [];\n *\n * showItems() {\n * this.items = [0,1,2,3,4];\n * }\n *\n * hideItems() {\n * this.items = [];\n * }\n *\n * toggle() {\n * this.items.length ? this.hideItems() : this.showItems();\n * }\n * }\n * ```\n *\n * Here is the animation trigger code:\n *\n * ```typescript\n * trigger('listAnimation', [\n * transition('* => *', [ // each time the binding value changes\n * query(':leave', [\n * stagger(100, [\n * animate('0.5s', style({ opacity: 0 }))\n * ])\n * ]),\n * query(':enter', [\n * style({ opacity: 0 }),\n * stagger(100, [\n * animate('0.5s', style({ opacity: 1 }))\n * ])\n * ])\n * ])\n * ])\n * ```\n *\n * @publicApi\n */\nfunction stagger(timings, animation) {\n return { type: 12 /* Stagger */, timings, animation };\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nfunction scheduleMicroTask(cb) {\n Promise.resolve(null).then(cb);\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * An empty programmatic controller for reusable animations.\n * Used internally when animations are disabled, to avoid\n * checking for the null case when an animation player is expected.\n *\n * @see `animate()`\n * @see `AnimationPlayer`\n * @see `GroupPlayer`\n *\n * @publicApi\n */\nclass NoopAnimationPlayer {\n constructor(duration = 0, delay = 0) {\n this._onDoneFns = [];\n this._onStartFns = [];\n this._onDestroyFns = [];\n this._started = false;\n this._destroyed = false;\n this._finished = false;\n this._position = 0;\n this.parentPlayer = null;\n this.totalTime = duration + delay;\n }\n _onFinish() {\n if (!this._finished) {\n this._finished = true;\n this._onDoneFns.forEach(fn => fn());\n this._onDoneFns = [];\n }\n }\n onStart(fn) {\n this._onStartFns.push(fn);\n }\n onDone(fn) {\n this._onDoneFns.push(fn);\n }\n onDestroy(fn) {\n this._onDestroyFns.push(fn);\n }\n hasStarted() {\n return this._started;\n }\n init() { }\n play() {\n if (!this.hasStarted()) {\n this._onStart();\n this.triggerMicrotask();\n }\n this._started = true;\n }\n /** @internal */\n triggerMicrotask() {\n scheduleMicroTask(() => this._onFinish());\n }\n _onStart() {\n this._onStartFns.forEach(fn => fn());\n this._onStartFns = [];\n }\n pause() { }\n restart() { }\n finish() {\n this._onFinish();\n }\n destroy() {\n if (!this._destroyed) {\n this._destroyed = true;\n if (!this.hasStarted()) {\n this._onStart();\n }\n this.finish();\n this._onDestroyFns.forEach(fn => fn());\n this._onDestroyFns = [];\n }\n }\n reset() {\n this._started = false;\n }\n setPosition(position) {\n this._position = this.totalTime ? position * this.totalTime : 1;\n }\n getPosition() {\n return this.totalTime ? this._position / this.totalTime : 1;\n }\n /** @internal */\n triggerCallback(phaseName) {\n const methods = phaseName == 'start' ? this._onStartFns : this._onDoneFns;\n methods.forEach(fn => fn());\n methods.length = 0;\n }\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * A programmatic controller for a group of reusable animations.\n * Used internally to control animations.\n *\n * @see `AnimationPlayer`\n * @see `{@link animations/group group()}`\n *\n */\nclass AnimationGroupPlayer {\n constructor(_players) {\n this._onDoneFns = [];\n this._onStartFns = [];\n this._finished = false;\n this._started = false;\n this._destroyed = false;\n this._onDestroyFns = [];\n this.parentPlayer = null;\n this.totalTime = 0;\n this.players = _players;\n let doneCount = 0;\n let destroyCount = 0;\n let startCount = 0;\n const total = this.players.length;\n if (total == 0) {\n scheduleMicroTask(() => this._onFinish());\n }\n else {\n this.players.forEach(player => {\n player.onDone(() => {\n if (++doneCount == total) {\n this._onFinish();\n }\n });\n player.onDestroy(() => {\n if (++destroyCount == total) {\n this._onDestroy();\n }\n });\n player.onStart(() => {\n if (++startCount == total) {\n this._onStart();\n }\n });\n });\n }\n this.totalTime = this.players.reduce((time, player) => Math.max(time, player.totalTime), 0);\n }\n _onFinish() {\n if (!this._finished) {\n this._finished = true;\n this._onDoneFns.forEach(fn => fn());\n this._onDoneFns = [];\n }\n }\n init() {\n this.players.forEach(player => player.init());\n }\n onStart(fn) {\n this._onStartFns.push(fn);\n }\n _onStart() {\n if (!this.hasStarted()) {\n this._started = true;\n this._onStartFns.forEach(fn => fn());\n this._onStartFns = [];\n }\n }\n onDone(fn) {\n this._onDoneFns.push(fn);\n }\n onDestroy(fn) {\n this._onDestroyFns.push(fn);\n }\n hasStarted() {\n return this._started;\n }\n play() {\n if (!this.parentPlayer) {\n this.init();\n }\n this._onStart();\n this.players.forEach(player => player.play());\n }\n pause() {\n this.players.forEach(player => player.pause());\n }\n restart() {\n this.players.forEach(player => player.restart());\n }\n finish() {\n this._onFinish();\n this.players.forEach(player => player.finish());\n }\n destroy() {\n this._onDestroy();\n }\n _onDestroy() {\n if (!this._destroyed) {\n this._destroyed = true;\n this._onFinish();\n this.players.forEach(player => player.destroy());\n this._onDestroyFns.forEach(fn => fn());\n this._onDestroyFns = [];\n }\n }\n reset() {\n this.players.forEach(player => player.reset());\n this._destroyed = false;\n this._finished = false;\n this._started = false;\n }\n setPosition(p) {\n const timeAtPosition = p * this.totalTime;\n this.players.forEach(player => {\n const position = player.totalTime ? Math.min(1, timeAtPosition / player.totalTime) : 1;\n player.setPosition(position);\n });\n }\n getPosition() {\n const longestPlayer = this.players.reduce((longestSoFar, player) => {\n const newPlayerIsLongest = longestSoFar === null || player.totalTime > longestSoFar.totalTime;\n return newPlayerIsLongest ? player : longestSoFar;\n }, null);\n return longestPlayer != null ? longestPlayer.getPosition() : 0;\n }\n beforeDestroy() {\n this.players.forEach(player => {\n if (player.beforeDestroy) {\n player.beforeDestroy();\n }\n });\n }\n /** @internal */\n triggerCallback(phaseName) {\n const methods = phaseName == 'start' ? this._onStartFns : this._onDoneFns;\n methods.forEach(fn => fn());\n methods.length = 0;\n }\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nconst ɵPRE_STYLE = '!';\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\n/**\n * Generated bundle index. Do not edit.\n */\n\nexport { AUTO_STYLE, AnimationBuilder, AnimationFactory, NoopAnimationPlayer, animate, animateChild, animation, group, keyframes, query, sequence, stagger, state, style, transition, trigger, useAnimation, AnimationGroupPlayer as ɵAnimationGroupPlayer, ɵPRE_STYLE };\n","/**\n * @license Angular v13.0.2\n * (c) 2010-2021 Google LLC. https://angular.io/\n * License: MIT\n */\n\nimport { ɵAnimationGroupPlayer, NoopAnimationPlayer, AUTO_STYLE, ɵPRE_STYLE, sequence, style } from '@angular/animations';\nimport * as i0 from '@angular/core';\nimport { Injectable } from '@angular/core';\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nfunction isBrowser() {\n return (typeof window !== 'undefined' && typeof window.document !== 'undefined');\n}\nfunction isNode() {\n // Checking only for `process` isn't enough to identify whether or not we're in a Node\n // environment, because Webpack by default will polyfill the `process`. While we can discern\n // that Webpack polyfilled it by looking at `process.browser`, it's very Webpack-specific and\n // might not be future-proof. Instead we look at the stringified version of `process` which\n // is `[object process]` in Node and `[object Object]` when polyfilled.\n return typeof process !== 'undefined' && {}.toString.call(process) === '[object process]';\n}\nfunction optimizeGroupPlayer(players) {\n switch (players.length) {\n case 0:\n return new NoopAnimationPlayer();\n case 1:\n return players[0];\n default:\n return new ɵAnimationGroupPlayer(players);\n }\n}\nfunction normalizeKeyframes(driver, normalizer, element, keyframes, preStyles = {}, postStyles = {}) {\n const errors = [];\n const normalizedKeyframes = [];\n let previousOffset = -1;\n let previousKeyframe = null;\n keyframes.forEach(kf => {\n const offset = kf['offset'];\n const isSameOffset = offset == previousOffset;\n const normalizedKeyframe = (isSameOffset && previousKeyframe) || {};\n Object.keys(kf).forEach(prop => {\n let normalizedProp = prop;\n let normalizedValue = kf[prop];\n if (prop !== 'offset') {\n normalizedProp = normalizer.normalizePropertyName(normalizedProp, errors);\n switch (normalizedValue) {\n case ɵPRE_STYLE:\n normalizedValue = preStyles[prop];\n break;\n case AUTO_STYLE:\n normalizedValue = postStyles[prop];\n break;\n default:\n normalizedValue =\n normalizer.normalizeStyleValue(prop, normalizedProp, normalizedValue, errors);\n break;\n }\n }\n normalizedKeyframe[normalizedProp] = normalizedValue;\n });\n if (!isSameOffset) {\n normalizedKeyframes.push(normalizedKeyframe);\n }\n previousKeyframe = normalizedKeyframe;\n previousOffset = offset;\n });\n if (errors.length) {\n const LINE_START = '\\n - ';\n throw new Error(`Unable to animate due to the following errors:${LINE_START}${errors.join(LINE_START)}`);\n }\n return normalizedKeyframes;\n}\nfunction listenOnPlayer(player, eventName, event, callback) {\n switch (eventName) {\n case 'start':\n player.onStart(() => callback(event && copyAnimationEvent(event, 'start', player)));\n break;\n case 'done':\n player.onDone(() => callback(event && copyAnimationEvent(event, 'done', player)));\n break;\n case 'destroy':\n player.onDestroy(() => callback(event && copyAnimationEvent(event, 'destroy', player)));\n break;\n }\n}\nfunction copyAnimationEvent(e, phaseName, player) {\n const totalTime = player.totalTime;\n const disabled = player.disabled ? true : false;\n const event = makeAnimationEvent(e.element, e.triggerName, e.fromState, e.toState, phaseName || e.phaseName, totalTime == undefined ? e.totalTime : totalTime, disabled);\n const data = e['_data'];\n if (data != null) {\n event['_data'] = data;\n }\n return event;\n}\nfunction makeAnimationEvent(element, triggerName, fromState, toState, phaseName = '', totalTime = 0, disabled) {\n return { element, triggerName, fromState, toState, phaseName, totalTime, disabled: !!disabled };\n}\nfunction getOrSetAsInMap(map, key, defaultValue) {\n let value;\n if (map instanceof Map) {\n value = map.get(key);\n if (!value) {\n map.set(key, value = defaultValue);\n }\n }\n else {\n value = map[key];\n if (!value) {\n value = map[key] = defaultValue;\n }\n }\n return value;\n}\nfunction parseTimelineCommand(command) {\n const separatorPos = command.indexOf(':');\n const id = command.substring(1, separatorPos);\n const action = command.substr(separatorPos + 1);\n return [id, action];\n}\nlet _contains = (elm1, elm2) => false;\nlet _matches = (element, selector) => false;\nlet _query = (element, selector, multi) => {\n return [];\n};\n// Define utility methods for browsers and platform-server(domino) where Element\n// and utility methods exist.\nconst _isNode = isNode();\nif (_isNode || typeof Element !== 'undefined') {\n if (!isBrowser()) {\n _contains = (elm1, elm2) => elm1.contains(elm2);\n }\n else {\n _contains = (elm1, elm2) => {\n while (elm2 && elm2 !== document.documentElement) {\n if (elm2 === elm1) {\n return true;\n }\n elm2 = elm2.parentNode || elm2.host; // consider host to support shadow DOM\n }\n return false;\n };\n }\n _matches = (() => {\n if (_isNode || Element.prototype.matches) {\n return (element, selector) => element.matches(selector);\n }\n else {\n const proto = Element.prototype;\n const fn = proto.matchesSelector || proto.mozMatchesSelector || proto.msMatchesSelector ||\n proto.oMatchesSelector || proto.webkitMatchesSelector;\n if (fn) {\n return (element, selector) => fn.apply(element, [selector]);\n }\n else {\n return _matches;\n }\n }\n })();\n _query = (element, selector, multi) => {\n let results = [];\n if (multi) {\n // DO NOT REFACTOR TO USE SPREAD SYNTAX.\n // For element queries that return sufficiently large NodeList objects,\n // using spread syntax to populate the results array causes a RangeError\n // due to the call stack limit being reached. `Array.from` can not be used\n // as well, since NodeList is not iterable in IE 11, see\n // https://developer.mozilla.org/en-US/docs/Web/API/NodeList\n // More info is available in #38551.\n const elems = element.querySelectorAll(selector);\n for (let i = 0; i < elems.length; i++) {\n results.push(elems[i]);\n }\n }\n else {\n const elm = element.querySelector(selector);\n if (elm) {\n results.push(elm);\n }\n }\n return results;\n };\n}\nfunction containsVendorPrefix(prop) {\n // Webkit is the only real popular vendor prefix nowadays\n // cc: http://shouldiprefix.com/\n return prop.substring(1, 6) == 'ebkit'; // webkit or Webkit\n}\nlet _CACHED_BODY = null;\nlet _IS_WEBKIT = false;\nfunction validateStyleProperty(prop) {\n if (!_CACHED_BODY) {\n _CACHED_BODY = getBodyNode() || {};\n _IS_WEBKIT = _CACHED_BODY.style ? ('WebkitAppearance' in _CACHED_BODY.style) : false;\n }\n let result = true;\n if (_CACHED_BODY.style && !containsVendorPrefix(prop)) {\n result = prop in _CACHED_BODY.style;\n if (!result && _IS_WEBKIT) {\n const camelProp = 'Webkit' + prop.charAt(0).toUpperCase() + prop.substr(1);\n result = camelProp in _CACHED_BODY.style;\n }\n }\n return result;\n}\nfunction getBodyNode() {\n if (typeof document != 'undefined') {\n return document.body;\n }\n return null;\n}\nconst matchesElement = _matches;\nconst containsElement = _contains;\nconst invokeQuery = _query;\nfunction hypenatePropsObject(object) {\n const newObj = {};\n Object.keys(object).forEach(prop => {\n const newProp = prop.replace(/([a-z])([A-Z])/g, '$1-$2');\n newObj[newProp] = object[prop];\n });\n return newObj;\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * @publicApi\n */\nclass NoopAnimationDriver {\n validateStyleProperty(prop) {\n return validateStyleProperty(prop);\n }\n matchesElement(element, selector) {\n return matchesElement(element, selector);\n }\n containsElement(elm1, elm2) {\n return containsElement(elm1, elm2);\n }\n query(element, selector, multi) {\n return invokeQuery(element, selector, multi);\n }\n computeStyle(element, prop, defaultValue) {\n return defaultValue || '';\n }\n animate(element, keyframes, duration, delay, easing, previousPlayers = [], scrubberAccessRequested) {\n return new NoopAnimationPlayer(duration, delay);\n }\n}\nNoopAnimationDriver.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"13.0.2\", ngImport: i0, type: NoopAnimationDriver, deps: [], target: i0.ɵɵFactoryTarget.Injectable });\nNoopAnimationDriver.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"13.0.2\", ngImport: i0, type: NoopAnimationDriver });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"13.0.2\", ngImport: i0, type: NoopAnimationDriver, decorators: [{\n type: Injectable\n }] });\n/**\n * @publicApi\n */\nclass AnimationDriver {\n}\nAnimationDriver.NOOP = ( /* @__PURE__ */new NoopAnimationDriver());\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nconst ONE_SECOND$1 = 1000;\nconst SUBSTITUTION_EXPR_START = '{{';\nconst SUBSTITUTION_EXPR_END = '}}';\nconst ENTER_CLASSNAME = 'ng-enter';\nconst LEAVE_CLASSNAME = 'ng-leave';\nconst ENTER_SELECTOR = '.ng-enter';\nconst LEAVE_SELECTOR = '.ng-leave';\nconst NG_TRIGGER_CLASSNAME = 'ng-trigger';\nconst NG_TRIGGER_SELECTOR = '.ng-trigger';\nconst NG_ANIMATING_CLASSNAME = 'ng-animating';\nconst NG_ANIMATING_SELECTOR = '.ng-animating';\nfunction resolveTimingValue(value) {\n if (typeof value == 'number')\n return value;\n const matches = value.match(/^(-?[\\.\\d]+)(m?s)/);\n if (!matches || matches.length < 2)\n return 0;\n return _convertTimeValueToMS(parseFloat(matches[1]), matches[2]);\n}\nfunction _convertTimeValueToMS(value, unit) {\n switch (unit) {\n case 's':\n return value * ONE_SECOND$1;\n default: // ms or something else\n return value;\n }\n}\nfunction resolveTiming(timings, errors, allowNegativeValues) {\n return timings.hasOwnProperty('duration') ?\n timings :\n parseTimeExpression(timings, errors, allowNegativeValues);\n}\nfunction parseTimeExpression(exp, errors, allowNegativeValues) {\n const regex = /^(-?[\\.\\d]+)(m?s)(?:\\s+(-?[\\.\\d]+)(m?s))?(?:\\s+([-a-z]+(?:\\(.+?\\))?))?$/i;\n let duration;\n let delay = 0;\n let easing = '';\n if (typeof exp === 'string') {\n const matches = exp.match(regex);\n if (matches === null) {\n errors.push(`The provided timing value \"${exp}\" is invalid.`);\n return { duration: 0, delay: 0, easing: '' };\n }\n duration = _convertTimeValueToMS(parseFloat(matches[1]), matches[2]);\n const delayMatch = matches[3];\n if (delayMatch != null) {\n delay = _convertTimeValueToMS(parseFloat(delayMatch), matches[4]);\n }\n const easingVal = matches[5];\n if (easingVal) {\n easing = easingVal;\n }\n }\n else {\n duration = exp;\n }\n if (!allowNegativeValues) {\n let containsErrors = false;\n let startIndex = errors.length;\n if (duration < 0) {\n errors.push(`Duration values below 0 are not allowed for this animation step.`);\n containsErrors = true;\n }\n if (delay < 0) {\n errors.push(`Delay values below 0 are not allowed for this animation step.`);\n containsErrors = true;\n }\n if (containsErrors) {\n errors.splice(startIndex, 0, `The provided timing value \"${exp}\" is invalid.`);\n }\n }\n return { duration, delay, easing };\n}\nfunction copyObj(obj, destination = {}) {\n Object.keys(obj).forEach(prop => {\n destination[prop] = obj[prop];\n });\n return destination;\n}\nfunction normalizeStyles(styles) {\n const normalizedStyles = {};\n if (Array.isArray(styles)) {\n styles.forEach(data => copyStyles(data, false, normalizedStyles));\n }\n else {\n copyStyles(styles, false, normalizedStyles);\n }\n return normalizedStyles;\n}\nfunction copyStyles(styles, readPrototype, destination = {}) {\n if (readPrototype) {\n // we make use of a for-in loop so that the\n // prototypically inherited properties are\n // revealed from the backFill map\n for (let prop in styles) {\n destination[prop] = styles[prop];\n }\n }\n else {\n copyObj(styles, destination);\n }\n return destination;\n}\nfunction getStyleAttributeString(element, key, value) {\n // Return the key-value pair string to be added to the style attribute for the\n // given CSS style key.\n if (value) {\n return key + ':' + value + ';';\n }\n else {\n return '';\n }\n}\nfunction writeStyleAttribute(element) {\n // Read the style property of the element and manually reflect it to the\n // style attribute. This is needed because Domino on platform-server doesn't\n // understand the full set of allowed CSS properties and doesn't reflect some\n // of them automatically.\n let styleAttrValue = '';\n for (let i = 0; i < element.style.length; i++) {\n const key = element.style.item(i);\n styleAttrValue += getStyleAttributeString(element, key, element.style.getPropertyValue(key));\n }\n for (const key in element.style) {\n // Skip internal Domino properties that don't need to be reflected.\n if (!element.style.hasOwnProperty(key) || key.startsWith('_')) {\n continue;\n }\n const dashKey = camelCaseToDashCase(key);\n styleAttrValue += getStyleAttributeString(element, dashKey, element.style[key]);\n }\n element.setAttribute('style', styleAttrValue);\n}\nfunction setStyles(element, styles, formerStyles) {\n if (element['style']) {\n Object.keys(styles).forEach(prop => {\n const camelProp = dashCaseToCamelCase(prop);\n if (formerStyles && !formerStyles.hasOwnProperty(prop)) {\n formerStyles[prop] = element.style[camelProp];\n }\n element.style[camelProp] = styles[prop];\n });\n // On the server set the 'style' attribute since it's not automatically reflected.\n if (isNode()) {\n writeStyleAttribute(element);\n }\n }\n}\nfunction eraseStyles(element, styles) {\n if (element['style']) {\n Object.keys(styles).forEach(prop => {\n const camelProp = dashCaseToCamelCase(prop);\n element.style[camelProp] = '';\n });\n // On the server set the 'style' attribute since it's not automatically reflected.\n if (isNode()) {\n writeStyleAttribute(element);\n }\n }\n}\nfunction normalizeAnimationEntry(steps) {\n if (Array.isArray(steps)) {\n if (steps.length == 1)\n return steps[0];\n return sequence(steps);\n }\n return steps;\n}\nfunction validateStyleParams(value, options, errors) {\n const params = options.params || {};\n const matches = extractStyleParams(value);\n if (matches.length) {\n matches.forEach(varName => {\n if (!params.hasOwnProperty(varName)) {\n errors.push(`Unable to resolve the local animation param ${varName} in the given list of values`);\n }\n });\n }\n}\nconst PARAM_REGEX = new RegExp(`${SUBSTITUTION_EXPR_START}\\\\s*(.+?)\\\\s*${SUBSTITUTION_EXPR_END}`, 'g');\nfunction extractStyleParams(value) {\n let params = [];\n if (typeof value === 'string') {\n let match;\n while (match = PARAM_REGEX.exec(value)) {\n params.push(match[1]);\n }\n PARAM_REGEX.lastIndex = 0;\n }\n return params;\n}\nfunction interpolateParams(value, params, errors) {\n const original = value.toString();\n const str = original.replace(PARAM_REGEX, (_, varName) => {\n let localVal = params[varName];\n // this means that the value was never overridden by the data passed in by the user\n if (!params.hasOwnProperty(varName)) {\n errors.push(`Please provide a value for the animation param ${varName}`);\n localVal = '';\n }\n return localVal.toString();\n });\n // we do this to assert that numeric values stay as they are\n return str == original ? value : str;\n}\nfunction iteratorToArray(iterator) {\n const arr = [];\n let item = iterator.next();\n while (!item.done) {\n arr.push(item.value);\n item = iterator.next();\n }\n return arr;\n}\nconst DASH_CASE_REGEXP = /-+([a-z0-9])/g;\nfunction dashCaseToCamelCase(input) {\n return input.replace(DASH_CASE_REGEXP, (...m) => m[1].toUpperCase());\n}\nfunction camelCaseToDashCase(input) {\n return input.replace(/([a-z])([A-Z])/g, '$1-$2').toLowerCase();\n}\nfunction allowPreviousPlayerStylesMerge(duration, delay) {\n return duration === 0 || delay === 0;\n}\nfunction balancePreviousStylesIntoKeyframes(element, keyframes, previousStyles) {\n const previousStyleProps = Object.keys(previousStyles);\n if (previousStyleProps.length && keyframes.length) {\n let startingKeyframe = keyframes[0];\n let missingStyleProps = [];\n previousStyleProps.forEach(prop => {\n if (!startingKeyframe.hasOwnProperty(prop)) {\n missingStyleProps.push(prop);\n }\n startingKeyframe[prop] = previousStyles[prop];\n });\n if (missingStyleProps.length) {\n // tslint:disable-next-line\n for (var i = 1; i < keyframes.length; i++) {\n let kf = keyframes[i];\n missingStyleProps.forEach(function (prop) {\n kf[prop] = computeStyle(element, prop);\n });\n }\n }\n }\n return keyframes;\n}\nfunction visitDslNode(visitor, node, context) {\n switch (node.type) {\n case 7 /* Trigger */:\n return visitor.visitTrigger(node, context);\n case 0 /* State */:\n return visitor.visitState(node, context);\n case 1 /* Transition */:\n return visitor.visitTransition(node, context);\n case 2 /* Sequence */:\n return visitor.visitSequence(node, context);\n case 3 /* Group */:\n return visitor.visitGroup(node, context);\n case 4 /* Animate */:\n return visitor.visitAnimate(node, context);\n case 5 /* Keyframes */:\n return visitor.visitKeyframes(node, context);\n case 6 /* Style */:\n return visitor.visitStyle(node, context);\n case 8 /* Reference */:\n return visitor.visitReference(node, context);\n case 9 /* AnimateChild */:\n return visitor.visitAnimateChild(node, context);\n case 10 /* AnimateRef */:\n return visitor.visitAnimateRef(node, context);\n case 11 /* Query */:\n return visitor.visitQuery(node, context);\n case 12 /* Stagger */:\n return visitor.visitStagger(node, context);\n default:\n throw new Error(`Unable to resolve animation metadata node #${node.type}`);\n }\n}\nfunction computeStyle(element, prop) {\n return window.getComputedStyle(element)[prop];\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nconst ANY_STATE = '*';\nfunction parseTransitionExpr(transitionValue, errors) {\n const expressions = [];\n if (typeof transitionValue == 'string') {\n transitionValue.split(/\\s*,\\s*/).forEach(str => parseInnerTransitionStr(str, expressions, errors));\n }\n else {\n expressions.push(transitionValue);\n }\n return expressions;\n}\nfunction parseInnerTransitionStr(eventStr, expressions, errors) {\n if (eventStr[0] == ':') {\n const result = parseAnimationAlias(eventStr, errors);\n if (typeof result == 'function') {\n expressions.push(result);\n return;\n }\n eventStr = result;\n }\n const match = eventStr.match(/^(\\*|[-\\w]+)\\s*()\\s*(\\*|[-\\w]+)$/);\n if (match == null || match.length < 4) {\n errors.push(`The provided transition expression \"${eventStr}\" is not supported`);\n return expressions;\n }\n const fromState = match[1];\n const separator = match[2];\n const toState = match[3];\n expressions.push(makeLambdaFromStates(fromState, toState));\n const isFullAnyStateExpr = fromState == ANY_STATE && toState == ANY_STATE;\n if (separator[0] == '<' && !isFullAnyStateExpr) {\n expressions.push(makeLambdaFromStates(toState, fromState));\n }\n}\nfunction parseAnimationAlias(alias, errors) {\n switch (alias) {\n case ':enter':\n return 'void => *';\n case ':leave':\n return '* => void';\n case ':increment':\n return (fromState, toState) => parseFloat(toState) > parseFloat(fromState);\n case ':decrement':\n return (fromState, toState) => parseFloat(toState) < parseFloat(fromState);\n default:\n errors.push(`The transition alias value \"${alias}\" is not supported`);\n return '* => *';\n }\n}\n// DO NOT REFACTOR ... keep the follow set instantiations\n// with the values intact (closure compiler for some reason\n// removes follow-up lines that add the values outside of\n// the constructor...\nconst TRUE_BOOLEAN_VALUES = new Set(['true', '1']);\nconst FALSE_BOOLEAN_VALUES = new Set(['false', '0']);\nfunction makeLambdaFromStates(lhs, rhs) {\n const LHS_MATCH_BOOLEAN = TRUE_BOOLEAN_VALUES.has(lhs) || FALSE_BOOLEAN_VALUES.has(lhs);\n const RHS_MATCH_BOOLEAN = TRUE_BOOLEAN_VALUES.has(rhs) || FALSE_BOOLEAN_VALUES.has(rhs);\n return (fromState, toState) => {\n let lhsMatch = lhs == ANY_STATE || lhs == fromState;\n let rhsMatch = rhs == ANY_STATE || rhs == toState;\n if (!lhsMatch && LHS_MATCH_BOOLEAN && typeof fromState === 'boolean') {\n lhsMatch = fromState ? TRUE_BOOLEAN_VALUES.has(lhs) : FALSE_BOOLEAN_VALUES.has(lhs);\n }\n if (!rhsMatch && RHS_MATCH_BOOLEAN && typeof toState === 'boolean') {\n rhsMatch = toState ? TRUE_BOOLEAN_VALUES.has(rhs) : FALSE_BOOLEAN_VALUES.has(rhs);\n }\n return lhsMatch && rhsMatch;\n };\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nconst SELF_TOKEN = ':self';\nconst SELF_TOKEN_REGEX = new RegExp(`\\s*${SELF_TOKEN}\\s*,?`, 'g');\n/*\n * [Validation]\n * The visitor code below will traverse the animation AST generated by the animation verb functions\n * (the output is a tree of objects) and attempt to perform a series of validations on the data. The\n * following corner-cases will be validated:\n *\n * 1. Overlap of animations\n * Given that a CSS property cannot be animated in more than one place at the same time, it's\n * important that this behavior is detected and validated. The way in which this occurs is that\n * each time a style property is examined, a string-map containing the property will be updated with\n * the start and end times for when the property is used within an animation step.\n *\n * If there are two or more parallel animations that are currently running (these are invoked by the\n * group()) on the same element then the validator will throw an error. Since the start/end timing\n * values are collected for each property then if the current animation step is animating the same\n * property and its timing values fall anywhere into the window of time that the property is\n * currently being animated within then this is what causes an error.\n *\n * 2. Timing values\n * The validator will validate to see if a timing value of `duration delay easing` or\n * `durationNumber` is valid or not.\n *\n * (note that upon validation the code below will replace the timing data with an object containing\n * {duration,delay,easing}.\n *\n * 3. Offset Validation\n * Each of the style() calls are allowed to have an offset value when placed inside of keyframes().\n * Offsets within keyframes() are considered valid when:\n *\n * - No offsets are used at all\n * - Each style() entry contains an offset value\n * - Each offset is between 0 and 1\n * - Each offset is greater to or equal than the previous one\n *\n * Otherwise an error will be thrown.\n */\nfunction buildAnimationAst(driver, metadata, errors) {\n return new AnimationAstBuilderVisitor(driver).build(metadata, errors);\n}\nconst ROOT_SELECTOR = '';\nclass AnimationAstBuilderVisitor {\n constructor(_driver) {\n this._driver = _driver;\n }\n build(metadata, errors) {\n const context = new AnimationAstBuilderContext(errors);\n this._resetContextStyleTimingState(context);\n return visitDslNode(this, normalizeAnimationEntry(metadata), context);\n }\n _resetContextStyleTimingState(context) {\n context.currentQuerySelector = ROOT_SELECTOR;\n context.collectedStyles = {};\n context.collectedStyles[ROOT_SELECTOR] = {};\n context.currentTime = 0;\n }\n visitTrigger(metadata, context) {\n let queryCount = context.queryCount = 0;\n let depCount = context.depCount = 0;\n const states = [];\n const transitions = [];\n if (metadata.name.charAt(0) == '@') {\n context.errors.push('animation triggers cannot be prefixed with an `@` sign (e.g. trigger(\\'@foo\\', [...]))');\n }\n metadata.definitions.forEach(def => {\n this._resetContextStyleTimingState(context);\n if (def.type == 0 /* State */) {\n const stateDef = def;\n const name = stateDef.name;\n name.toString().split(/\\s*,\\s*/).forEach(n => {\n stateDef.name = n;\n states.push(this.visitState(stateDef, context));\n });\n stateDef.name = name;\n }\n else if (def.type == 1 /* Transition */) {\n const transition = this.visitTransition(def, context);\n queryCount += transition.queryCount;\n depCount += transition.depCount;\n transitions.push(transition);\n }\n else {\n context.errors.push('only state() and transition() definitions can sit inside of a trigger()');\n }\n });\n return {\n type: 7 /* Trigger */,\n name: metadata.name,\n states,\n transitions,\n queryCount,\n depCount,\n options: null\n };\n }\n visitState(metadata, context) {\n const styleAst = this.visitStyle(metadata.styles, context);\n const astParams = (metadata.options && metadata.options.params) || null;\n if (styleAst.containsDynamicStyles) {\n const missingSubs = new Set();\n const params = astParams || {};\n styleAst.styles.forEach(value => {\n if (isObject(value)) {\n const stylesObj = value;\n Object.keys(stylesObj).forEach(prop => {\n extractStyleParams(stylesObj[prop]).forEach(sub => {\n if (!params.hasOwnProperty(sub)) {\n missingSubs.add(sub);\n }\n });\n });\n }\n });\n if (missingSubs.size) {\n const missingSubsArr = iteratorToArray(missingSubs.values());\n context.errors.push(`state(\"${metadata\n .name}\", ...) must define default values for all the following style substitutions: ${missingSubsArr.join(', ')}`);\n }\n }\n return {\n type: 0 /* State */,\n name: metadata.name,\n style: styleAst,\n options: astParams ? { params: astParams } : null\n };\n }\n visitTransition(metadata, context) {\n context.queryCount = 0;\n context.depCount = 0;\n const animation = visitDslNode(this, normalizeAnimationEntry(metadata.animation), context);\n const matchers = parseTransitionExpr(metadata.expr, context.errors);\n return {\n type: 1 /* Transition */,\n matchers,\n animation,\n queryCount: context.queryCount,\n depCount: context.depCount,\n options: normalizeAnimationOptions(metadata.options)\n };\n }\n visitSequence(metadata, context) {\n return {\n type: 2 /* Sequence */,\n steps: metadata.steps.map(s => visitDslNode(this, s, context)),\n options: normalizeAnimationOptions(metadata.options)\n };\n }\n visitGroup(metadata, context) {\n const currentTime = context.currentTime;\n let furthestTime = 0;\n const steps = metadata.steps.map(step => {\n context.currentTime = currentTime;\n const innerAst = visitDslNode(this, step, context);\n furthestTime = Math.max(furthestTime, context.currentTime);\n return innerAst;\n });\n context.currentTime = furthestTime;\n return {\n type: 3 /* Group */,\n steps,\n options: normalizeAnimationOptions(metadata.options)\n };\n }\n visitAnimate(metadata, context) {\n const timingAst = constructTimingAst(metadata.timings, context.errors);\n context.currentAnimateTimings = timingAst;\n let styleAst;\n let styleMetadata = metadata.styles ? metadata.styles : style({});\n if (styleMetadata.type == 5 /* Keyframes */) {\n styleAst = this.visitKeyframes(styleMetadata, context);\n }\n else {\n let styleMetadata = metadata.styles;\n let isEmpty = false;\n if (!styleMetadata) {\n isEmpty = true;\n const newStyleData = {};\n if (timingAst.easing) {\n newStyleData['easing'] = timingAst.easing;\n }\n styleMetadata = style(newStyleData);\n }\n context.currentTime += timingAst.duration + timingAst.delay;\n const _styleAst = this.visitStyle(styleMetadata, context);\n _styleAst.isEmptyStep = isEmpty;\n styleAst = _styleAst;\n }\n context.currentAnimateTimings = null;\n return {\n type: 4 /* Animate */,\n timings: timingAst,\n style: styleAst,\n options: null\n };\n }\n visitStyle(metadata, context) {\n const ast = this._makeStyleAst(metadata, context);\n this._validateStyleAst(ast, context);\n return ast;\n }\n _makeStyleAst(metadata, context) {\n const styles = [];\n if (Array.isArray(metadata.styles)) {\n metadata.styles.forEach(styleTuple => {\n if (typeof styleTuple == 'string') {\n if (styleTuple == AUTO_STYLE) {\n styles.push(styleTuple);\n }\n else {\n context.errors.push(`The provided style string value ${styleTuple} is not allowed.`);\n }\n }\n else {\n styles.push(styleTuple);\n }\n });\n }\n else {\n styles.push(metadata.styles);\n }\n let containsDynamicStyles = false;\n let collectedEasing = null;\n styles.forEach(styleData => {\n if (isObject(styleData)) {\n const styleMap = styleData;\n const easing = styleMap['easing'];\n if (easing) {\n collectedEasing = easing;\n delete styleMap['easing'];\n }\n if (!containsDynamicStyles) {\n for (let prop in styleMap) {\n const value = styleMap[prop];\n if (value.toString().indexOf(SUBSTITUTION_EXPR_START) >= 0) {\n containsDynamicStyles = true;\n break;\n }\n }\n }\n }\n });\n return {\n type: 6 /* Style */,\n styles,\n easing: collectedEasing,\n offset: metadata.offset,\n containsDynamicStyles,\n options: null\n };\n }\n _validateStyleAst(ast, context) {\n const timings = context.currentAnimateTimings;\n let endTime = context.currentTime;\n let startTime = context.currentTime;\n if (timings && startTime > 0) {\n startTime -= timings.duration + timings.delay;\n }\n ast.styles.forEach(tuple => {\n if (typeof tuple == 'string')\n return;\n Object.keys(tuple).forEach(prop => {\n if (!this._driver.validateStyleProperty(prop)) {\n context.errors.push(`The provided animation property \"${prop}\" is not a supported CSS property for animations`);\n return;\n }\n const collectedStyles = context.collectedStyles[context.currentQuerySelector];\n const collectedEntry = collectedStyles[prop];\n let updateCollectedStyle = true;\n if (collectedEntry) {\n if (startTime != endTime && startTime >= collectedEntry.startTime &&\n endTime <= collectedEntry.endTime) {\n context.errors.push(`The CSS property \"${prop}\" that exists between the times of \"${collectedEntry.startTime}ms\" and \"${collectedEntry\n .endTime}ms\" is also being animated in a parallel animation between the times of \"${startTime}ms\" and \"${endTime}ms\"`);\n updateCollectedStyle = false;\n }\n // we always choose the smaller start time value since we\n // want to have a record of the entire animation window where\n // the style property is being animated in between\n startTime = collectedEntry.startTime;\n }\n if (updateCollectedStyle) {\n collectedStyles[prop] = { startTime, endTime };\n }\n if (context.options) {\n validateStyleParams(tuple[prop], context.options, context.errors);\n }\n });\n });\n }\n visitKeyframes(metadata, context) {\n const ast = { type: 5 /* Keyframes */, styles: [], options: null };\n if (!context.currentAnimateTimings) {\n context.errors.push(`keyframes() must be placed inside of a call to animate()`);\n return ast;\n }\n const MAX_KEYFRAME_OFFSET = 1;\n let totalKeyframesWithOffsets = 0;\n const offsets = [];\n let offsetsOutOfOrder = false;\n let keyframesOutOfRange = false;\n let previousOffset = 0;\n const keyframes = metadata.steps.map(styles => {\n const style = this._makeStyleAst(styles, context);\n let offsetVal = style.offset != null ? style.offset : consumeOffset(style.styles);\n let offset = 0;\n if (offsetVal != null) {\n totalKeyframesWithOffsets++;\n offset = style.offset = offsetVal;\n }\n keyframesOutOfRange = keyframesOutOfRange || offset < 0 || offset > 1;\n offsetsOutOfOrder = offsetsOutOfOrder || offset < previousOffset;\n previousOffset = offset;\n offsets.push(offset);\n return style;\n });\n if (keyframesOutOfRange) {\n context.errors.push(`Please ensure that all keyframe offsets are between 0 and 1`);\n }\n if (offsetsOutOfOrder) {\n context.errors.push(`Please ensure that all keyframe offsets are in order`);\n }\n const length = metadata.steps.length;\n let generatedOffset = 0;\n if (totalKeyframesWithOffsets > 0 && totalKeyframesWithOffsets < length) {\n context.errors.push(`Not all style() steps within the declared keyframes() contain offsets`);\n }\n else if (totalKeyframesWithOffsets == 0) {\n generatedOffset = MAX_KEYFRAME_OFFSET / (length - 1);\n }\n const limit = length - 1;\n const currentTime = context.currentTime;\n const currentAnimateTimings = context.currentAnimateTimings;\n const animateDuration = currentAnimateTimings.duration;\n keyframes.forEach((kf, i) => {\n const offset = generatedOffset > 0 ? (i == limit ? 1 : (generatedOffset * i)) : offsets[i];\n const durationUpToThisFrame = offset * animateDuration;\n context.currentTime = currentTime + currentAnimateTimings.delay + durationUpToThisFrame;\n currentAnimateTimings.duration = durationUpToThisFrame;\n this._validateStyleAst(kf, context);\n kf.offset = offset;\n ast.styles.push(kf);\n });\n return ast;\n }\n visitReference(metadata, context) {\n return {\n type: 8 /* Reference */,\n animation: visitDslNode(this, normalizeAnimationEntry(metadata.animation), context),\n options: normalizeAnimationOptions(metadata.options)\n };\n }\n visitAnimateChild(metadata, context) {\n context.depCount++;\n return {\n type: 9 /* AnimateChild */,\n options: normalizeAnimationOptions(metadata.options)\n };\n }\n visitAnimateRef(metadata, context) {\n return {\n type: 10 /* AnimateRef */,\n animation: this.visitReference(metadata.animation, context),\n options: normalizeAnimationOptions(metadata.options)\n };\n }\n visitQuery(metadata, context) {\n const parentSelector = context.currentQuerySelector;\n const options = (metadata.options || {});\n context.queryCount++;\n context.currentQuery = metadata;\n const [selector, includeSelf] = normalizeSelector(metadata.selector);\n context.currentQuerySelector =\n parentSelector.length ? (parentSelector + ' ' + selector) : selector;\n getOrSetAsInMap(context.collectedStyles, context.currentQuerySelector, {});\n const animation = visitDslNode(this, normalizeAnimationEntry(metadata.animation), context);\n context.currentQuery = null;\n context.currentQuerySelector = parentSelector;\n return {\n type: 11 /* Query */,\n selector,\n limit: options.limit || 0,\n optional: !!options.optional,\n includeSelf,\n animation,\n originalSelector: metadata.selector,\n options: normalizeAnimationOptions(metadata.options)\n };\n }\n visitStagger(metadata, context) {\n if (!context.currentQuery) {\n context.errors.push(`stagger() can only be used inside of query()`);\n }\n const timings = metadata.timings === 'full' ?\n { duration: 0, delay: 0, easing: 'full' } :\n resolveTiming(metadata.timings, context.errors, true);\n return {\n type: 12 /* Stagger */,\n animation: visitDslNode(this, normalizeAnimationEntry(metadata.animation), context),\n timings,\n options: null\n };\n }\n}\nfunction normalizeSelector(selector) {\n const hasAmpersand = selector.split(/\\s*,\\s*/).find(token => token == SELF_TOKEN) ? true : false;\n if (hasAmpersand) {\n selector = selector.replace(SELF_TOKEN_REGEX, '');\n }\n // the :enter and :leave selectors are filled in at runtime during timeline building\n selector = selector.replace(/@\\*/g, NG_TRIGGER_SELECTOR)\n .replace(/@\\w+/g, match => NG_TRIGGER_SELECTOR + '-' + match.substr(1))\n .replace(/:animating/g, NG_ANIMATING_SELECTOR);\n return [selector, hasAmpersand];\n}\nfunction normalizeParams(obj) {\n return obj ? copyObj(obj) : null;\n}\nclass AnimationAstBuilderContext {\n constructor(errors) {\n this.errors = errors;\n this.queryCount = 0;\n this.depCount = 0;\n this.currentTransition = null;\n this.currentQuery = null;\n this.currentQuerySelector = null;\n this.currentAnimateTimings = null;\n this.currentTime = 0;\n this.collectedStyles = {};\n this.options = null;\n }\n}\nfunction consumeOffset(styles) {\n if (typeof styles == 'string')\n return null;\n let offset = null;\n if (Array.isArray(styles)) {\n styles.forEach(styleTuple => {\n if (isObject(styleTuple) && styleTuple.hasOwnProperty('offset')) {\n const obj = styleTuple;\n offset = parseFloat(obj['offset']);\n delete obj['offset'];\n }\n });\n }\n else if (isObject(styles) && styles.hasOwnProperty('offset')) {\n const obj = styles;\n offset = parseFloat(obj['offset']);\n delete obj['offset'];\n }\n return offset;\n}\nfunction isObject(value) {\n return !Array.isArray(value) && typeof value == 'object';\n}\nfunction constructTimingAst(value, errors) {\n let timings = null;\n if (value.hasOwnProperty('duration')) {\n timings = value;\n }\n else if (typeof value == 'number') {\n const duration = resolveTiming(value, errors).duration;\n return makeTimingAst(duration, 0, '');\n }\n const strValue = value;\n const isDynamic = strValue.split(/\\s+/).some(v => v.charAt(0) == '{' && v.charAt(1) == '{');\n if (isDynamic) {\n const ast = makeTimingAst(0, 0, '');\n ast.dynamic = true;\n ast.strValue = strValue;\n return ast;\n }\n timings = timings || resolveTiming(strValue, errors);\n return makeTimingAst(timings.duration, timings.delay, timings.easing);\n}\nfunction normalizeAnimationOptions(options) {\n if (options) {\n options = copyObj(options);\n if (options['params']) {\n options['params'] = normalizeParams(options['params']);\n }\n }\n else {\n options = {};\n }\n return options;\n}\nfunction makeTimingAst(duration, delay, easing) {\n return { duration, delay, easing };\n}\n\nfunction createTimelineInstruction(element, keyframes, preStyleProps, postStyleProps, duration, delay, easing = null, subTimeline = false) {\n return {\n type: 1 /* TimelineAnimation */,\n element,\n keyframes,\n preStyleProps,\n postStyleProps,\n duration,\n delay,\n totalTime: duration + delay,\n easing,\n subTimeline\n };\n}\n\nclass ElementInstructionMap {\n constructor() {\n this._map = new Map();\n }\n consume(element) {\n let instructions = this._map.get(element);\n if (instructions) {\n this._map.delete(element);\n }\n else {\n instructions = [];\n }\n return instructions;\n }\n append(element, instructions) {\n let existingInstructions = this._map.get(element);\n if (!existingInstructions) {\n this._map.set(element, existingInstructions = []);\n }\n existingInstructions.push(...instructions);\n }\n has(element) {\n return this._map.has(element);\n }\n clear() {\n this._map.clear();\n }\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nconst ONE_FRAME_IN_MILLISECONDS = 1;\nconst ENTER_TOKEN = ':enter';\nconst ENTER_TOKEN_REGEX = new RegExp(ENTER_TOKEN, 'g');\nconst LEAVE_TOKEN = ':leave';\nconst LEAVE_TOKEN_REGEX = new RegExp(LEAVE_TOKEN, 'g');\n/*\n * The code within this file aims to generate web-animations-compatible keyframes from Angular's\n * animation DSL code.\n *\n * The code below will be converted from:\n *\n * ```\n * sequence([\n * style({ opacity: 0 }),\n * animate(1000, style({ opacity: 0 }))\n * ])\n * ```\n *\n * To:\n * ```\n * keyframes = [{ opacity: 0, offset: 0 }, { opacity: 1, offset: 1 }]\n * duration = 1000\n * delay = 0\n * easing = ''\n * ```\n *\n * For this operation to cover the combination of animation verbs (style, animate, group, etc...) a\n * combination of prototypical inheritance, AST traversal and merge-sort-like algorithms are used.\n *\n * [AST Traversal]\n * Each of the animation verbs, when executed, will return an string-map object representing what\n * type of action it is (style, animate, group, etc...) and the data associated with it. This means\n * that when functional composition mix of these functions is evaluated (like in the example above)\n * then it will end up producing a tree of objects representing the animation itself.\n *\n * When this animation object tree is processed by the visitor code below it will visit each of the\n * verb statements within the visitor. And during each visit it will build the context of the\n * animation keyframes by interacting with the `TimelineBuilder`.\n *\n * [TimelineBuilder]\n * This class is responsible for tracking the styles and building a series of keyframe objects for a\n * timeline between a start and end time. The builder starts off with an initial timeline and each\n * time the AST comes across a `group()`, `keyframes()` or a combination of the two wihtin a\n * `sequence()` then it will generate a sub timeline for each step as well as a new one after\n * they are complete.\n *\n * As the AST is traversed, the timing state on each of the timelines will be incremented. If a sub\n * timeline was created (based on one of the cases above) then the parent timeline will attempt to\n * merge the styles used within the sub timelines into itself (only with group() this will happen).\n * This happens with a merge operation (much like how the merge works in mergesort) and it will only\n * copy the most recently used styles from the sub timelines into the parent timeline. This ensures\n * that if the styles are used later on in another phase of the animation then they will be the most\n * up-to-date values.\n *\n * [How Missing Styles Are Updated]\n * Each timeline has a `backFill` property which is responsible for filling in new styles into\n * already processed keyframes if a new style shows up later within the animation sequence.\n *\n * ```\n * sequence([\n * style({ width: 0 }),\n * animate(1000, style({ width: 100 })),\n * animate(1000, style({ width: 200 })),\n * animate(1000, style({ width: 300 }))\n * animate(1000, style({ width: 400, height: 400 })) // notice how `height` doesn't exist anywhere\n * else\n * ])\n * ```\n *\n * What is happening here is that the `height` value is added later in the sequence, but is missing\n * from all previous animation steps. Therefore when a keyframe is created it would also be missing\n * from all previous keyframes up until where it is first used. For the timeline keyframe generation\n * to properly fill in the style it will place the previous value (the value from the parent\n * timeline) or a default value of `*` into the backFill object. Given that each of the keyframe\n * styles are objects that prototypically inhert from the backFill object, this means that if a\n * value is added into the backFill then it will automatically propagate any missing values to all\n * keyframes. Therefore the missing `height` value will be properly filled into the already\n * processed keyframes.\n *\n * When a sub-timeline is created it will have its own backFill property. This is done so that\n * styles present within the sub-timeline do not accidentally seep into the previous/future timeline\n * keyframes\n *\n * (For prototypically-inherited contents to be detected a `for(i in obj)` loop must be used.)\n *\n * [Validation]\n * The code in this file is not responsible for validation. That functionality happens with within\n * the `AnimationValidatorVisitor` code.\n */\nfunction buildAnimationTimelines(driver, rootElement, ast, enterClassName, leaveClassName, startingStyles = {}, finalStyles = {}, options, subInstructions, errors = []) {\n return new AnimationTimelineBuilderVisitor().buildKeyframes(driver, rootElement, ast, enterClassName, leaveClassName, startingStyles, finalStyles, options, subInstructions, errors);\n}\nclass AnimationTimelineBuilderVisitor {\n buildKeyframes(driver, rootElement, ast, enterClassName, leaveClassName, startingStyles, finalStyles, options, subInstructions, errors = []) {\n subInstructions = subInstructions || new ElementInstructionMap();\n const context = new AnimationTimelineContext(driver, rootElement, subInstructions, enterClassName, leaveClassName, errors, []);\n context.options = options;\n context.currentTimeline.setStyles([startingStyles], null, context.errors, options);\n visitDslNode(this, ast, context);\n // this checks to see if an actual animation happened\n const timelines = context.timelines.filter(timeline => timeline.containsAnimation());\n if (timelines.length && Object.keys(finalStyles).length) {\n const tl = timelines[timelines.length - 1];\n if (!tl.allowOnlyTimelineStyles()) {\n tl.setStyles([finalStyles], null, context.errors, options);\n }\n }\n return timelines.length ? timelines.map(timeline => timeline.buildKeyframes()) :\n [createTimelineInstruction(rootElement, [], [], [], 0, 0, '', false)];\n }\n visitTrigger(ast, context) {\n // these values are not visited in this AST\n }\n visitState(ast, context) {\n // these values are not visited in this AST\n }\n visitTransition(ast, context) {\n // these values are not visited in this AST\n }\n visitAnimateChild(ast, context) {\n const elementInstructions = context.subInstructions.consume(context.element);\n if (elementInstructions) {\n const innerContext = context.createSubContext(ast.options);\n const startTime = context.currentTimeline.currentTime;\n const endTime = this._visitSubInstructions(elementInstructions, innerContext, innerContext.options);\n if (startTime != endTime) {\n // we do this on the upper context because we created a sub context for\n // the sub child animations\n context.transformIntoNewTimeline(endTime);\n }\n }\n context.previousNode = ast;\n }\n visitAnimateRef(ast, context) {\n const innerContext = context.createSubContext(ast.options);\n innerContext.transformIntoNewTimeline();\n this.visitReference(ast.animation, innerContext);\n context.transformIntoNewTimeline(innerContext.currentTimeline.currentTime);\n context.previousNode = ast;\n }\n _visitSubInstructions(instructions, context, options) {\n const startTime = context.currentTimeline.currentTime;\n let furthestTime = startTime;\n // this is a special-case for when a user wants to skip a sub\n // animation from being fired entirely.\n const duration = options.duration != null ? resolveTimingValue(options.duration) : null;\n const delay = options.delay != null ? resolveTimingValue(options.delay) : null;\n if (duration !== 0) {\n instructions.forEach(instruction => {\n const instructionTimings = context.appendInstructionToTimeline(instruction, duration, delay);\n furthestTime =\n Math.max(furthestTime, instructionTimings.duration + instructionTimings.delay);\n });\n }\n return furthestTime;\n }\n visitReference(ast, context) {\n context.updateOptions(ast.options, true);\n visitDslNode(this, ast.animation, context);\n context.previousNode = ast;\n }\n visitSequence(ast, context) {\n const subContextCount = context.subContextCount;\n let ctx = context;\n const options = ast.options;\n if (options && (options.params || options.delay)) {\n ctx = context.createSubContext(options);\n ctx.transformIntoNewTimeline();\n if (options.delay != null) {\n if (ctx.previousNode.type == 6 /* Style */) {\n ctx.currentTimeline.snapshotCurrentStyles();\n ctx.previousNode = DEFAULT_NOOP_PREVIOUS_NODE;\n }\n const delay = resolveTimingValue(options.delay);\n ctx.delayNextStep(delay);\n }\n }\n if (ast.steps.length) {\n ast.steps.forEach(s => visitDslNode(this, s, ctx));\n // this is here just incase the inner steps only contain or end with a style() call\n ctx.currentTimeline.applyStylesToKeyframe();\n // this means that some animation function within the sequence\n // ended up creating a sub timeline (which means the current\n // timeline cannot overlap with the contents of the sequence)\n if (ctx.subContextCount > subContextCount) {\n ctx.transformIntoNewTimeline();\n }\n }\n context.previousNode = ast;\n }\n visitGroup(ast, context) {\n const innerTimelines = [];\n let furthestTime = context.currentTimeline.currentTime;\n const delay = ast.options && ast.options.delay ? resolveTimingValue(ast.options.delay) : 0;\n ast.steps.forEach(s => {\n const innerContext = context.createSubContext(ast.options);\n if (delay) {\n innerContext.delayNextStep(delay);\n }\n visitDslNode(this, s, innerContext);\n furthestTime = Math.max(furthestTime, innerContext.currentTimeline.currentTime);\n innerTimelines.push(innerContext.currentTimeline);\n });\n // this operation is run after the AST loop because otherwise\n // if the parent timeline's collected styles were updated then\n // it would pass in invalid data into the new-to-be forked items\n innerTimelines.forEach(timeline => context.currentTimeline.mergeTimelineCollectedStyles(timeline));\n context.transformIntoNewTimeline(furthestTime);\n context.previousNode = ast;\n }\n _visitTiming(ast, context) {\n if (ast.dynamic) {\n const strValue = ast.strValue;\n const timingValue = context.params ? interpolateParams(strValue, context.params, context.errors) : strValue;\n return resolveTiming(timingValue, context.errors);\n }\n else {\n return { duration: ast.duration, delay: ast.delay, easing: ast.easing };\n }\n }\n visitAnimate(ast, context) {\n const timings = context.currentAnimateTimings = this._visitTiming(ast.timings, context);\n const timeline = context.currentTimeline;\n if (timings.delay) {\n context.incrementTime(timings.delay);\n timeline.snapshotCurrentStyles();\n }\n const style = ast.style;\n if (style.type == 5 /* Keyframes */) {\n this.visitKeyframes(style, context);\n }\n else {\n context.incrementTime(timings.duration);\n this.visitStyle(style, context);\n timeline.applyStylesToKeyframe();\n }\n context.currentAnimateTimings = null;\n context.previousNode = ast;\n }\n visitStyle(ast, context) {\n const timeline = context.currentTimeline;\n const timings = context.currentAnimateTimings;\n // this is a special case for when a style() call\n // directly follows an animate() call (but not inside of an animate() call)\n if (!timings && timeline.getCurrentStyleProperties().length) {\n timeline.forwardFrame();\n }\n const easing = (timings && timings.easing) || ast.easing;\n if (ast.isEmptyStep) {\n timeline.applyEmptyStep(easing);\n }\n else {\n timeline.setStyles(ast.styles, easing, context.errors, context.options);\n }\n context.previousNode = ast;\n }\n visitKeyframes(ast, context) {\n const currentAnimateTimings = context.currentAnimateTimings;\n const startTime = (context.currentTimeline).duration;\n const duration = currentAnimateTimings.duration;\n const innerContext = context.createSubContext();\n const innerTimeline = innerContext.currentTimeline;\n innerTimeline.easing = currentAnimateTimings.easing;\n ast.styles.forEach(step => {\n const offset = step.offset || 0;\n innerTimeline.forwardTime(offset * duration);\n innerTimeline.setStyles(step.styles, step.easing, context.errors, context.options);\n innerTimeline.applyStylesToKeyframe();\n });\n // this will ensure that the parent timeline gets all the styles from\n // the child even if the new timeline below is not used\n context.currentTimeline.mergeTimelineCollectedStyles(innerTimeline);\n // we do this because the window between this timeline and the sub timeline\n // should ensure that the styles within are exactly the same as they were before\n context.transformIntoNewTimeline(startTime + duration);\n context.previousNode = ast;\n }\n visitQuery(ast, context) {\n // in the event that the first step before this is a style step we need\n // to ensure the styles are applied before the children are animated\n const startTime = context.currentTimeline.currentTime;\n const options = (ast.options || {});\n const delay = options.delay ? resolveTimingValue(options.delay) : 0;\n if (delay &&\n (context.previousNode.type === 6 /* Style */ ||\n (startTime == 0 && context.currentTimeline.getCurrentStyleProperties().length))) {\n context.currentTimeline.snapshotCurrentStyles();\n context.previousNode = DEFAULT_NOOP_PREVIOUS_NODE;\n }\n let furthestTime = startTime;\n const elms = context.invokeQuery(ast.selector, ast.originalSelector, ast.limit, ast.includeSelf, options.optional ? true : false, context.errors);\n context.currentQueryTotal = elms.length;\n let sameElementTimeline = null;\n elms.forEach((element, i) => {\n context.currentQueryIndex = i;\n const innerContext = context.createSubContext(ast.options, element);\n if (delay) {\n innerContext.delayNextStep(delay);\n }\n if (element === context.element) {\n sameElementTimeline = innerContext.currentTimeline;\n }\n visitDslNode(this, ast.animation, innerContext);\n // this is here just incase the inner steps only contain or end\n // with a style() call (which is here to signal that this is a preparatory\n // call to style an element before it is animated again)\n innerContext.currentTimeline.applyStylesToKeyframe();\n const endTime = innerContext.currentTimeline.currentTime;\n furthestTime = Math.max(furthestTime, endTime);\n });\n context.currentQueryIndex = 0;\n context.currentQueryTotal = 0;\n context.transformIntoNewTimeline(furthestTime);\n if (sameElementTimeline) {\n context.currentTimeline.mergeTimelineCollectedStyles(sameElementTimeline);\n context.currentTimeline.snapshotCurrentStyles();\n }\n context.previousNode = ast;\n }\n visitStagger(ast, context) {\n const parentContext = context.parentContext;\n const tl = context.currentTimeline;\n const timings = ast.timings;\n const duration = Math.abs(timings.duration);\n const maxTime = duration * (context.currentQueryTotal - 1);\n let delay = duration * context.currentQueryIndex;\n let staggerTransformer = timings.duration < 0 ? 'reverse' : timings.easing;\n switch (staggerTransformer) {\n case 'reverse':\n delay = maxTime - delay;\n break;\n case 'full':\n delay = parentContext.currentStaggerTime;\n break;\n }\n const timeline = context.currentTimeline;\n if (delay) {\n timeline.delayNextStep(delay);\n }\n const startingTime = timeline.currentTime;\n visitDslNode(this, ast.animation, context);\n context.previousNode = ast;\n // time = duration + delay\n // the reason why this computation is so complex is because\n // the inner timeline may either have a delay value or a stretched\n // keyframe depending on if a subtimeline is not used or is used.\n parentContext.currentStaggerTime =\n (tl.currentTime - startingTime) + (tl.startTime - parentContext.currentTimeline.startTime);\n }\n}\nconst DEFAULT_NOOP_PREVIOUS_NODE = {};\nclass AnimationTimelineContext {\n constructor(_driver, element, subInstructions, _enterClassName, _leaveClassName, errors, timelines, initialTimeline) {\n this._driver = _driver;\n this.element = element;\n this.subInstructions = subInstructions;\n this._enterClassName = _enterClassName;\n this._leaveClassName = _leaveClassName;\n this.errors = errors;\n this.timelines = timelines;\n this.parentContext = null;\n this.currentAnimateTimings = null;\n this.previousNode = DEFAULT_NOOP_PREVIOUS_NODE;\n this.subContextCount = 0;\n this.options = {};\n this.currentQueryIndex = 0;\n this.currentQueryTotal = 0;\n this.currentStaggerTime = 0;\n this.currentTimeline = initialTimeline || new TimelineBuilder(this._driver, element, 0);\n timelines.push(this.currentTimeline);\n }\n get params() {\n return this.options.params;\n }\n updateOptions(options, skipIfExists) {\n if (!options)\n return;\n const newOptions = options;\n let optionsToUpdate = this.options;\n // NOTE: this will get patched up when other animation methods support duration overrides\n if (newOptions.duration != null) {\n optionsToUpdate.duration = resolveTimingValue(newOptions.duration);\n }\n if (newOptions.delay != null) {\n optionsToUpdate.delay = resolveTimingValue(newOptions.delay);\n }\n const newParams = newOptions.params;\n if (newParams) {\n let paramsToUpdate = optionsToUpdate.params;\n if (!paramsToUpdate) {\n paramsToUpdate = this.options.params = {};\n }\n Object.keys(newParams).forEach(name => {\n if (!skipIfExists || !paramsToUpdate.hasOwnProperty(name)) {\n paramsToUpdate[name] = interpolateParams(newParams[name], paramsToUpdate, this.errors);\n }\n });\n }\n }\n _copyOptions() {\n const options = {};\n if (this.options) {\n const oldParams = this.options.params;\n if (oldParams) {\n const params = options['params'] = {};\n Object.keys(oldParams).forEach(name => {\n params[name] = oldParams[name];\n });\n }\n }\n return options;\n }\n createSubContext(options = null, element, newTime) {\n const target = element || this.element;\n const context = new AnimationTimelineContext(this._driver, target, this.subInstructions, this._enterClassName, this._leaveClassName, this.errors, this.timelines, this.currentTimeline.fork(target, newTime || 0));\n context.previousNode = this.previousNode;\n context.currentAnimateTimings = this.currentAnimateTimings;\n context.options = this._copyOptions();\n context.updateOptions(options);\n context.currentQueryIndex = this.currentQueryIndex;\n context.currentQueryTotal = this.currentQueryTotal;\n context.parentContext = this;\n this.subContextCount++;\n return context;\n }\n transformIntoNewTimeline(newTime) {\n this.previousNode = DEFAULT_NOOP_PREVIOUS_NODE;\n this.currentTimeline = this.currentTimeline.fork(this.element, newTime);\n this.timelines.push(this.currentTimeline);\n return this.currentTimeline;\n }\n appendInstructionToTimeline(instruction, duration, delay) {\n const updatedTimings = {\n duration: duration != null ? duration : instruction.duration,\n delay: this.currentTimeline.currentTime + (delay != null ? delay : 0) + instruction.delay,\n easing: ''\n };\n const builder = new SubTimelineBuilder(this._driver, instruction.element, instruction.keyframes, instruction.preStyleProps, instruction.postStyleProps, updatedTimings, instruction.stretchStartingKeyframe);\n this.timelines.push(builder);\n return updatedTimings;\n }\n incrementTime(time) {\n this.currentTimeline.forwardTime(this.currentTimeline.duration + time);\n }\n delayNextStep(delay) {\n // negative delays are not yet supported\n if (delay > 0) {\n this.currentTimeline.delayNextStep(delay);\n }\n }\n invokeQuery(selector, originalSelector, limit, includeSelf, optional, errors) {\n let results = [];\n if (includeSelf) {\n results.push(this.element);\n }\n if (selector.length > 0) { // if :self is only used then the selector is empty\n selector = selector.replace(ENTER_TOKEN_REGEX, '.' + this._enterClassName);\n selector = selector.replace(LEAVE_TOKEN_REGEX, '.' + this._leaveClassName);\n const multi = limit != 1;\n let elements = this._driver.query(this.element, selector, multi);\n if (limit !== 0) {\n elements = limit < 0 ? elements.slice(elements.length + limit, elements.length) :\n elements.slice(0, limit);\n }\n results.push(...elements);\n }\n if (!optional && results.length == 0) {\n errors.push(`\\`query(\"${originalSelector}\")\\` returned zero elements. (Use \\`query(\"${originalSelector}\", { optional: true })\\` if you wish to allow this.)`);\n }\n return results;\n }\n}\nclass TimelineBuilder {\n constructor(_driver, element, startTime, _elementTimelineStylesLookup) {\n this._driver = _driver;\n this.element = element;\n this.startTime = startTime;\n this._elementTimelineStylesLookup = _elementTimelineStylesLookup;\n this.duration = 0;\n this._previousKeyframe = {};\n this._currentKeyframe = {};\n this._keyframes = new Map();\n this._styleSummary = {};\n this._pendingStyles = {};\n this._backFill = {};\n this._currentEmptyStepKeyframe = null;\n if (!this._elementTimelineStylesLookup) {\n this._elementTimelineStylesLookup = new Map();\n }\n this._localTimelineStyles = Object.create(this._backFill, {});\n this._globalTimelineStyles = this._elementTimelineStylesLookup.get(element);\n if (!this._globalTimelineStyles) {\n this._globalTimelineStyles = this._localTimelineStyles;\n this._elementTimelineStylesLookup.set(element, this._localTimelineStyles);\n }\n this._loadKeyframe();\n }\n containsAnimation() {\n switch (this._keyframes.size) {\n case 0:\n return false;\n case 1:\n return this.getCurrentStyleProperties().length > 0;\n default:\n return true;\n }\n }\n getCurrentStyleProperties() {\n return Object.keys(this._currentKeyframe);\n }\n get currentTime() {\n return this.startTime + this.duration;\n }\n delayNextStep(delay) {\n // in the event that a style() step is placed right before a stagger()\n // and that style() step is the very first style() value in the animation\n // then we need to make a copy of the keyframe [0, copy, 1] so that the delay\n // properly applies the style() values to work with the stagger...\n const hasPreStyleStep = this._keyframes.size == 1 && Object.keys(this._pendingStyles).length;\n if (this.duration || hasPreStyleStep) {\n this.forwardTime(this.currentTime + delay);\n if (hasPreStyleStep) {\n this.snapshotCurrentStyles();\n }\n }\n else {\n this.startTime += delay;\n }\n }\n fork(element, currentTime) {\n this.applyStylesToKeyframe();\n return new TimelineBuilder(this._driver, element, currentTime || this.currentTime, this._elementTimelineStylesLookup);\n }\n _loadKeyframe() {\n if (this._currentKeyframe) {\n this._previousKeyframe = this._currentKeyframe;\n }\n this._currentKeyframe = this._keyframes.get(this.duration);\n if (!this._currentKeyframe) {\n this._currentKeyframe = Object.create(this._backFill, {});\n this._keyframes.set(this.duration, this._currentKeyframe);\n }\n }\n forwardFrame() {\n this.duration += ONE_FRAME_IN_MILLISECONDS;\n this._loadKeyframe();\n }\n forwardTime(time) {\n this.applyStylesToKeyframe();\n this.duration = time;\n this._loadKeyframe();\n }\n _updateStyle(prop, value) {\n this._localTimelineStyles[prop] = value;\n this._globalTimelineStyles[prop] = value;\n this._styleSummary[prop] = { time: this.currentTime, value };\n }\n allowOnlyTimelineStyles() {\n return this._currentEmptyStepKeyframe !== this._currentKeyframe;\n }\n applyEmptyStep(easing) {\n if (easing) {\n this._previousKeyframe['easing'] = easing;\n }\n // special case for animate(duration):\n // all missing styles are filled with a `*` value then\n // if any destination styles are filled in later on the same\n // keyframe then they will override the overridden styles\n // We use `_globalTimelineStyles` here because there may be\n // styles in previous keyframes that are not present in this timeline\n Object.keys(this._globalTimelineStyles).forEach(prop => {\n this._backFill[prop] = this._globalTimelineStyles[prop] || AUTO_STYLE;\n this._currentKeyframe[prop] = AUTO_STYLE;\n });\n this._currentEmptyStepKeyframe = this._currentKeyframe;\n }\n setStyles(input, easing, errors, options) {\n if (easing) {\n this._previousKeyframe['easing'] = easing;\n }\n const params = (options && options.params) || {};\n const styles = flattenStyles(input, this._globalTimelineStyles);\n Object.keys(styles).forEach(prop => {\n const val = interpolateParams(styles[prop], params, errors);\n this._pendingStyles[prop] = val;\n if (!this._localTimelineStyles.hasOwnProperty(prop)) {\n this._backFill[prop] = this._globalTimelineStyles.hasOwnProperty(prop) ?\n this._globalTimelineStyles[prop] :\n AUTO_STYLE;\n }\n this._updateStyle(prop, val);\n });\n }\n applyStylesToKeyframe() {\n const styles = this._pendingStyles;\n const props = Object.keys(styles);\n if (props.length == 0)\n return;\n this._pendingStyles = {};\n props.forEach(prop => {\n const val = styles[prop];\n this._currentKeyframe[prop] = val;\n });\n Object.keys(this._localTimelineStyles).forEach(prop => {\n if (!this._currentKeyframe.hasOwnProperty(prop)) {\n this._currentKeyframe[prop] = this._localTimelineStyles[prop];\n }\n });\n }\n snapshotCurrentStyles() {\n Object.keys(this._localTimelineStyles).forEach(prop => {\n const val = this._localTimelineStyles[prop];\n this._pendingStyles[prop] = val;\n this._updateStyle(prop, val);\n });\n }\n getFinalKeyframe() {\n return this._keyframes.get(this.duration);\n }\n get properties() {\n const properties = [];\n for (let prop in this._currentKeyframe) {\n properties.push(prop);\n }\n return properties;\n }\n mergeTimelineCollectedStyles(timeline) {\n Object.keys(timeline._styleSummary).forEach(prop => {\n const details0 = this._styleSummary[prop];\n const details1 = timeline._styleSummary[prop];\n if (!details0 || details1.time > details0.time) {\n this._updateStyle(prop, details1.value);\n }\n });\n }\n buildKeyframes() {\n this.applyStylesToKeyframe();\n const preStyleProps = new Set();\n const postStyleProps = new Set();\n const isEmpty = this._keyframes.size === 1 && this.duration === 0;\n let finalKeyframes = [];\n this._keyframes.forEach((keyframe, time) => {\n const finalKeyframe = copyStyles(keyframe, true);\n Object.keys(finalKeyframe).forEach(prop => {\n const value = finalKeyframe[prop];\n if (value == ɵPRE_STYLE) {\n preStyleProps.add(prop);\n }\n else if (value == AUTO_STYLE) {\n postStyleProps.add(prop);\n }\n });\n if (!isEmpty) {\n finalKeyframe['offset'] = time / this.duration;\n }\n finalKeyframes.push(finalKeyframe);\n });\n const preProps = preStyleProps.size ? iteratorToArray(preStyleProps.values()) : [];\n const postProps = postStyleProps.size ? iteratorToArray(postStyleProps.values()) : [];\n // special case for a 0-second animation (which is designed just to place styles onscreen)\n if (isEmpty) {\n const kf0 = finalKeyframes[0];\n const kf1 = copyObj(kf0);\n kf0['offset'] = 0;\n kf1['offset'] = 1;\n finalKeyframes = [kf0, kf1];\n }\n return createTimelineInstruction(this.element, finalKeyframes, preProps, postProps, this.duration, this.startTime, this.easing, false);\n }\n}\nclass SubTimelineBuilder extends TimelineBuilder {\n constructor(driver, element, keyframes, preStyleProps, postStyleProps, timings, _stretchStartingKeyframe = false) {\n super(driver, element, timings.delay);\n this.keyframes = keyframes;\n this.preStyleProps = preStyleProps;\n this.postStyleProps = postStyleProps;\n this._stretchStartingKeyframe = _stretchStartingKeyframe;\n this.timings = { duration: timings.duration, delay: timings.delay, easing: timings.easing };\n }\n containsAnimation() {\n return this.keyframes.length > 1;\n }\n buildKeyframes() {\n let keyframes = this.keyframes;\n let { delay, duration, easing } = this.timings;\n if (this._stretchStartingKeyframe && delay) {\n const newKeyframes = [];\n const totalTime = duration + delay;\n const startingGap = delay / totalTime;\n // the original starting keyframe now starts once the delay is done\n const newFirstKeyframe = copyStyles(keyframes[0], false);\n newFirstKeyframe['offset'] = 0;\n newKeyframes.push(newFirstKeyframe);\n const oldFirstKeyframe = copyStyles(keyframes[0], false);\n oldFirstKeyframe['offset'] = roundOffset(startingGap);\n newKeyframes.push(oldFirstKeyframe);\n /*\n When the keyframe is stretched then it means that the delay before the animation\n starts is gone. Instead the first keyframe is placed at the start of the animation\n and it is then copied to where it starts when the original delay is over. This basically\n means nothing animates during that delay, but the styles are still renderered. For this\n to work the original offset values that exist in the original keyframes must be \"warped\"\n so that they can take the new keyframe + delay into account.\n \n delay=1000, duration=1000, keyframes = 0 .5 1\n \n turns into\n \n delay=0, duration=2000, keyframes = 0 .33 .66 1\n */\n // offsets between 1 ... n -1 are all warped by the keyframe stretch\n const limit = keyframes.length - 1;\n for (let i = 1; i <= limit; i++) {\n let kf = copyStyles(keyframes[i], false);\n const oldOffset = kf['offset'];\n const timeAtKeyframe = delay + oldOffset * duration;\n kf['offset'] = roundOffset(timeAtKeyframe / totalTime);\n newKeyframes.push(kf);\n }\n // the new starting keyframe should be added at the start\n duration = totalTime;\n delay = 0;\n easing = '';\n keyframes = newKeyframes;\n }\n return createTimelineInstruction(this.element, keyframes, this.preStyleProps, this.postStyleProps, duration, delay, easing, true);\n }\n}\nfunction roundOffset(offset, decimalPoints = 3) {\n const mult = Math.pow(10, decimalPoints - 1);\n return Math.round(offset * mult) / mult;\n}\nfunction flattenStyles(input, allStyles) {\n const styles = {};\n let allProperties;\n input.forEach(token => {\n if (token === '*') {\n allProperties = allProperties || Object.keys(allStyles);\n allProperties.forEach(prop => {\n styles[prop] = AUTO_STYLE;\n });\n }\n else {\n copyStyles(token, false, styles);\n }\n });\n return styles;\n}\n\nclass Animation {\n constructor(_driver, input) {\n this._driver = _driver;\n const errors = [];\n const ast = buildAnimationAst(_driver, input, errors);\n if (errors.length) {\n const errorMessage = `animation validation failed:\\n${errors.join('\\n')}`;\n throw new Error(errorMessage);\n }\n this._animationAst = ast;\n }\n buildTimelines(element, startingStyles, destinationStyles, options, subInstructions) {\n const start = Array.isArray(startingStyles) ? normalizeStyles(startingStyles) :\n startingStyles;\n const dest = Array.isArray(destinationStyles) ? normalizeStyles(destinationStyles) :\n destinationStyles;\n const errors = [];\n subInstructions = subInstructions || new ElementInstructionMap();\n const result = buildAnimationTimelines(this._driver, element, this._animationAst, ENTER_CLASSNAME, LEAVE_CLASSNAME, start, dest, options, subInstructions, errors);\n if (errors.length) {\n const errorMessage = `animation building failed:\\n${errors.join('\\n')}`;\n throw new Error(errorMessage);\n }\n return result;\n }\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * @publicApi\n */\nclass AnimationStyleNormalizer {\n}\n/**\n * @publicApi\n */\nclass NoopAnimationStyleNormalizer {\n normalizePropertyName(propertyName, errors) {\n return propertyName;\n }\n normalizeStyleValue(userProvidedProperty, normalizedProperty, value, errors) {\n return value;\n }\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nclass WebAnimationsStyleNormalizer extends AnimationStyleNormalizer {\n normalizePropertyName(propertyName, errors) {\n return dashCaseToCamelCase(propertyName);\n }\n normalizeStyleValue(userProvidedProperty, normalizedProperty, value, errors) {\n let unit = '';\n const strVal = value.toString().trim();\n if (DIMENSIONAL_PROP_MAP[normalizedProperty] && value !== 0 && value !== '0') {\n if (typeof value === 'number') {\n unit = 'px';\n }\n else {\n const valAndSuffixMatch = value.match(/^[+-]?[\\d\\.]+([a-z]*)$/);\n if (valAndSuffixMatch && valAndSuffixMatch[1].length == 0) {\n errors.push(`Please provide a CSS unit value for ${userProvidedProperty}:${value}`);\n }\n }\n }\n return strVal + unit;\n }\n}\nconst DIMENSIONAL_PROP_MAP = (() => makeBooleanMap('width,height,minWidth,minHeight,maxWidth,maxHeight,left,top,bottom,right,fontSize,outlineWidth,outlineOffset,paddingTop,paddingLeft,paddingBottom,paddingRight,marginTop,marginLeft,marginBottom,marginRight,borderRadius,borderWidth,borderTopWidth,borderLeftWidth,borderRightWidth,borderBottomWidth,textIndent,perspective'\n .split(',')))();\nfunction makeBooleanMap(keys) {\n const map = {};\n keys.forEach(key => map[key] = true);\n return map;\n}\n\nfunction createTransitionInstruction(element, triggerName, fromState, toState, isRemovalTransition, fromStyles, toStyles, timelines, queriedElements, preStyleProps, postStyleProps, totalTime, errors) {\n return {\n type: 0 /* TransitionAnimation */,\n element,\n triggerName,\n isRemovalTransition,\n fromState,\n fromStyles,\n toState,\n toStyles,\n timelines,\n queriedElements,\n preStyleProps,\n postStyleProps,\n totalTime,\n errors\n };\n}\n\nconst EMPTY_OBJECT = {};\nclass AnimationTransitionFactory {\n constructor(_triggerName, ast, _stateStyles) {\n this._triggerName = _triggerName;\n this.ast = ast;\n this._stateStyles = _stateStyles;\n }\n match(currentState, nextState, element, params) {\n return oneOrMoreTransitionsMatch(this.ast.matchers, currentState, nextState, element, params);\n }\n buildStyles(stateName, params, errors) {\n const backupStateStyler = this._stateStyles['*'];\n const stateStyler = this._stateStyles[stateName];\n const backupStyles = backupStateStyler ? backupStateStyler.buildStyles(params, errors) : {};\n return stateStyler ? stateStyler.buildStyles(params, errors) : backupStyles;\n }\n build(driver, element, currentState, nextState, enterClassName, leaveClassName, currentOptions, nextOptions, subInstructions, skipAstBuild) {\n const errors = [];\n const transitionAnimationParams = this.ast.options && this.ast.options.params || EMPTY_OBJECT;\n const currentAnimationParams = currentOptions && currentOptions.params || EMPTY_OBJECT;\n const currentStateStyles = this.buildStyles(currentState, currentAnimationParams, errors);\n const nextAnimationParams = nextOptions && nextOptions.params || EMPTY_OBJECT;\n const nextStateStyles = this.buildStyles(nextState, nextAnimationParams, errors);\n const queriedElements = new Set();\n const preStyleMap = new Map();\n const postStyleMap = new Map();\n const isRemoval = nextState === 'void';\n const animationOptions = { params: { ...transitionAnimationParams, ...nextAnimationParams } };\n const timelines = skipAstBuild ?\n [] :\n buildAnimationTimelines(driver, element, this.ast.animation, enterClassName, leaveClassName, currentStateStyles, nextStateStyles, animationOptions, subInstructions, errors);\n let totalTime = 0;\n timelines.forEach(tl => {\n totalTime = Math.max(tl.duration + tl.delay, totalTime);\n });\n if (errors.length) {\n return createTransitionInstruction(element, this._triggerName, currentState, nextState, isRemoval, currentStateStyles, nextStateStyles, [], [], preStyleMap, postStyleMap, totalTime, errors);\n }\n timelines.forEach(tl => {\n const elm = tl.element;\n const preProps = getOrSetAsInMap(preStyleMap, elm, {});\n tl.preStyleProps.forEach(prop => preProps[prop] = true);\n const postProps = getOrSetAsInMap(postStyleMap, elm, {});\n tl.postStyleProps.forEach(prop => postProps[prop] = true);\n if (elm !== element) {\n queriedElements.add(elm);\n }\n });\n const queriedElementsList = iteratorToArray(queriedElements.values());\n return createTransitionInstruction(element, this._triggerName, currentState, nextState, isRemoval, currentStateStyles, nextStateStyles, timelines, queriedElementsList, preStyleMap, postStyleMap, totalTime);\n }\n}\nfunction oneOrMoreTransitionsMatch(matchFns, currentState, nextState, element, params) {\n return matchFns.some(fn => fn(currentState, nextState, element, params));\n}\nclass AnimationStateStyles {\n constructor(styles, defaultParams, normalizer) {\n this.styles = styles;\n this.defaultParams = defaultParams;\n this.normalizer = normalizer;\n }\n buildStyles(params, errors) {\n const finalStyles = {};\n const combinedParams = copyObj(this.defaultParams);\n Object.keys(params).forEach(key => {\n const value = params[key];\n if (value != null) {\n combinedParams[key] = value;\n }\n });\n this.styles.styles.forEach(value => {\n if (typeof value !== 'string') {\n const styleObj = value;\n Object.keys(styleObj).forEach(prop => {\n let val = styleObj[prop];\n if (val.length > 1) {\n val = interpolateParams(val, combinedParams, errors);\n }\n const normalizedProp = this.normalizer.normalizePropertyName(prop, errors);\n val = this.normalizer.normalizeStyleValue(prop, normalizedProp, val, errors);\n finalStyles[normalizedProp] = val;\n });\n }\n });\n return finalStyles;\n }\n}\n\nfunction buildTrigger(name, ast, normalizer) {\n return new AnimationTrigger(name, ast, normalizer);\n}\nclass AnimationTrigger {\n constructor(name, ast, _normalizer) {\n this.name = name;\n this.ast = ast;\n this._normalizer = _normalizer;\n this.transitionFactories = [];\n this.states = {};\n ast.states.forEach(ast => {\n const defaultParams = (ast.options && ast.options.params) || {};\n this.states[ast.name] = new AnimationStateStyles(ast.style, defaultParams, _normalizer);\n });\n balanceProperties(this.states, 'true', '1');\n balanceProperties(this.states, 'false', '0');\n ast.transitions.forEach(ast => {\n this.transitionFactories.push(new AnimationTransitionFactory(name, ast, this.states));\n });\n this.fallbackTransition = createFallbackTransition(name, this.states, this._normalizer);\n }\n get containsQueries() {\n return this.ast.queryCount > 0;\n }\n matchTransition(currentState, nextState, element, params) {\n const entry = this.transitionFactories.find(f => f.match(currentState, nextState, element, params));\n return entry || null;\n }\n matchStyles(currentState, params, errors) {\n return this.fallbackTransition.buildStyles(currentState, params, errors);\n }\n}\nfunction createFallbackTransition(triggerName, states, normalizer) {\n const matchers = [(fromState, toState) => true];\n const animation = { type: 2 /* Sequence */, steps: [], options: null };\n const transition = {\n type: 1 /* Transition */,\n animation,\n matchers,\n options: null,\n queryCount: 0,\n depCount: 0\n };\n return new AnimationTransitionFactory(triggerName, transition, states);\n}\nfunction balanceProperties(obj, key1, key2) {\n if (obj.hasOwnProperty(key1)) {\n if (!obj.hasOwnProperty(key2)) {\n obj[key2] = obj[key1];\n }\n }\n else if (obj.hasOwnProperty(key2)) {\n obj[key1] = obj[key2];\n }\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nconst EMPTY_INSTRUCTION_MAP = new ElementInstructionMap();\nclass TimelineAnimationEngine {\n constructor(bodyNode, _driver, _normalizer) {\n this.bodyNode = bodyNode;\n this._driver = _driver;\n this._normalizer = _normalizer;\n this._animations = {};\n this._playersById = {};\n this.players = [];\n }\n register(id, metadata) {\n const errors = [];\n const ast = buildAnimationAst(this._driver, metadata, errors);\n if (errors.length) {\n throw new Error(`Unable to build the animation due to the following errors: ${errors.join('\\n')}`);\n }\n else {\n this._animations[id] = ast;\n }\n }\n _buildPlayer(i, preStyles, postStyles) {\n const element = i.element;\n const keyframes = normalizeKeyframes(this._driver, this._normalizer, element, i.keyframes, preStyles, postStyles);\n return this._driver.animate(element, keyframes, i.duration, i.delay, i.easing, [], true);\n }\n create(id, element, options = {}) {\n const errors = [];\n const ast = this._animations[id];\n let instructions;\n const autoStylesMap = new Map();\n if (ast) {\n instructions = buildAnimationTimelines(this._driver, element, ast, ENTER_CLASSNAME, LEAVE_CLASSNAME, {}, {}, options, EMPTY_INSTRUCTION_MAP, errors);\n instructions.forEach(inst => {\n const styles = getOrSetAsInMap(autoStylesMap, inst.element, {});\n inst.postStyleProps.forEach(prop => styles[prop] = null);\n });\n }\n else {\n errors.push('The requested animation doesn\\'t exist or has already been destroyed');\n instructions = [];\n }\n if (errors.length) {\n throw new Error(`Unable to create the animation due to the following errors: ${errors.join('\\n')}`);\n }\n autoStylesMap.forEach((styles, element) => {\n Object.keys(styles).forEach(prop => {\n styles[prop] = this._driver.computeStyle(element, prop, AUTO_STYLE);\n });\n });\n const players = instructions.map(i => {\n const styles = autoStylesMap.get(i.element);\n return this._buildPlayer(i, {}, styles);\n });\n const player = optimizeGroupPlayer(players);\n this._playersById[id] = player;\n player.onDestroy(() => this.destroy(id));\n this.players.push(player);\n return player;\n }\n destroy(id) {\n const player = this._getPlayer(id);\n player.destroy();\n delete this._playersById[id];\n const index = this.players.indexOf(player);\n if (index >= 0) {\n this.players.splice(index, 1);\n }\n }\n _getPlayer(id) {\n const player = this._playersById[id];\n if (!player) {\n throw new Error(`Unable to find the timeline player referenced by ${id}`);\n }\n return player;\n }\n listen(id, element, eventName, callback) {\n // triggerName, fromState, toState are all ignored for timeline animations\n const baseEvent = makeAnimationEvent(element, '', '', '');\n listenOnPlayer(this._getPlayer(id), eventName, baseEvent, callback);\n return () => { };\n }\n command(id, element, command, args) {\n if (command == 'register') {\n this.register(id, args[0]);\n return;\n }\n if (command == 'create') {\n const options = (args[0] || {});\n this.create(id, element, options);\n return;\n }\n const player = this._getPlayer(id);\n switch (command) {\n case 'play':\n player.play();\n break;\n case 'pause':\n player.pause();\n break;\n case 'reset':\n player.reset();\n break;\n case 'restart':\n player.restart();\n break;\n case 'finish':\n player.finish();\n break;\n case 'init':\n player.init();\n break;\n case 'setPosition':\n player.setPosition(parseFloat(args[0]));\n break;\n case 'destroy':\n this.destroy(id);\n break;\n }\n }\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nconst QUEUED_CLASSNAME = 'ng-animate-queued';\nconst QUEUED_SELECTOR = '.ng-animate-queued';\nconst DISABLED_CLASSNAME = 'ng-animate-disabled';\nconst DISABLED_SELECTOR = '.ng-animate-disabled';\nconst STAR_CLASSNAME = 'ng-star-inserted';\nconst STAR_SELECTOR = '.ng-star-inserted';\nconst EMPTY_PLAYER_ARRAY = [];\nconst NULL_REMOVAL_STATE = {\n namespaceId: '',\n setForRemoval: false,\n setForMove: false,\n hasAnimation: false,\n removedBeforeQueried: false\n};\nconst NULL_REMOVED_QUERIED_STATE = {\n namespaceId: '',\n setForMove: false,\n setForRemoval: false,\n hasAnimation: false,\n removedBeforeQueried: true\n};\nconst REMOVAL_FLAG = '__ng_removed';\nclass StateValue {\n constructor(input, namespaceId = '') {\n this.namespaceId = namespaceId;\n const isObj = input && input.hasOwnProperty('value');\n const value = isObj ? input['value'] : input;\n this.value = normalizeTriggerValue(value);\n if (isObj) {\n const options = copyObj(input);\n delete options['value'];\n this.options = options;\n }\n else {\n this.options = {};\n }\n if (!this.options.params) {\n this.options.params = {};\n }\n }\n get params() {\n return this.options.params;\n }\n absorbOptions(options) {\n const newParams = options.params;\n if (newParams) {\n const oldParams = this.options.params;\n Object.keys(newParams).forEach(prop => {\n if (oldParams[prop] == null) {\n oldParams[prop] = newParams[prop];\n }\n });\n }\n }\n}\nconst VOID_VALUE = 'void';\nconst DEFAULT_STATE_VALUE = new StateValue(VOID_VALUE);\nclass AnimationTransitionNamespace {\n constructor(id, hostElement, _engine) {\n this.id = id;\n this.hostElement = hostElement;\n this._engine = _engine;\n this.players = [];\n this._triggers = {};\n this._queue = [];\n this._elementListeners = new Map();\n this._hostClassName = 'ng-tns-' + id;\n addClass(hostElement, this._hostClassName);\n }\n listen(element, name, phase, callback) {\n if (!this._triggers.hasOwnProperty(name)) {\n throw new Error(`Unable to listen on the animation trigger event \"${phase}\" because the animation trigger \"${name}\" doesn\\'t exist!`);\n }\n if (phase == null || phase.length == 0) {\n throw new Error(`Unable to listen on the animation trigger \"${name}\" because the provided event is undefined!`);\n }\n if (!isTriggerEventValid(phase)) {\n throw new Error(`The provided animation trigger event \"${phase}\" for the animation trigger \"${name}\" is not supported!`);\n }\n const listeners = getOrSetAsInMap(this._elementListeners, element, []);\n const data = { name, phase, callback };\n listeners.push(data);\n const triggersWithStates = getOrSetAsInMap(this._engine.statesByElement, element, {});\n if (!triggersWithStates.hasOwnProperty(name)) {\n addClass(element, NG_TRIGGER_CLASSNAME);\n addClass(element, NG_TRIGGER_CLASSNAME + '-' + name);\n triggersWithStates[name] = DEFAULT_STATE_VALUE;\n }\n return () => {\n // the event listener is removed AFTER the flush has occurred such\n // that leave animations callbacks can fire (otherwise if the node\n // is removed in between then the listeners would be deregistered)\n this._engine.afterFlush(() => {\n const index = listeners.indexOf(data);\n if (index >= 0) {\n listeners.splice(index, 1);\n }\n if (!this._triggers[name]) {\n delete triggersWithStates[name];\n }\n });\n };\n }\n register(name, ast) {\n if (this._triggers[name]) {\n // throw\n return false;\n }\n else {\n this._triggers[name] = ast;\n return true;\n }\n }\n _getTrigger(name) {\n const trigger = this._triggers[name];\n if (!trigger) {\n throw new Error(`The provided animation trigger \"${name}\" has not been registered!`);\n }\n return trigger;\n }\n trigger(element, triggerName, value, defaultToFallback = true) {\n const trigger = this._getTrigger(triggerName);\n const player = new TransitionAnimationPlayer(this.id, triggerName, element);\n let triggersWithStates = this._engine.statesByElement.get(element);\n if (!triggersWithStates) {\n addClass(element, NG_TRIGGER_CLASSNAME);\n addClass(element, NG_TRIGGER_CLASSNAME + '-' + triggerName);\n this._engine.statesByElement.set(element, triggersWithStates = {});\n }\n let fromState = triggersWithStates[triggerName];\n const toState = new StateValue(value, this.id);\n const isObj = value && value.hasOwnProperty('value');\n if (!isObj && fromState) {\n toState.absorbOptions(fromState.options);\n }\n triggersWithStates[triggerName] = toState;\n if (!fromState) {\n fromState = DEFAULT_STATE_VALUE;\n }\n const isRemoval = toState.value === VOID_VALUE;\n // normally this isn't reached by here, however, if an object expression\n // is passed in then it may be a new object each time. Comparing the value\n // is important since that will stay the same despite there being a new object.\n // The removal arc here is special cased because the same element is triggered\n // twice in the event that it contains animations on the outer/inner portions\n // of the host container\n if (!isRemoval && fromState.value === toState.value) {\n // this means that despite the value not changing, some inner params\n // have changed which means that the animation final styles need to be applied\n if (!objEquals(fromState.params, toState.params)) {\n const errors = [];\n const fromStyles = trigger.matchStyles(fromState.value, fromState.params, errors);\n const toStyles = trigger.matchStyles(toState.value, toState.params, errors);\n if (errors.length) {\n this._engine.reportError(errors);\n }\n else {\n this._engine.afterFlush(() => {\n eraseStyles(element, fromStyles);\n setStyles(element, toStyles);\n });\n }\n }\n return;\n }\n const playersOnElement = getOrSetAsInMap(this._engine.playersByElement, element, []);\n playersOnElement.forEach(player => {\n // only remove the player if it is queued on the EXACT same trigger/namespace\n // we only also deal with queued players here because if the animation has\n // started then we want to keep the player alive until the flush happens\n // (which is where the previousPlayers are passed into the new palyer)\n if (player.namespaceId == this.id && player.triggerName == triggerName && player.queued) {\n player.destroy();\n }\n });\n let transition = trigger.matchTransition(fromState.value, toState.value, element, toState.params);\n let isFallbackTransition = false;\n if (!transition) {\n if (!defaultToFallback)\n return;\n transition = trigger.fallbackTransition;\n isFallbackTransition = true;\n }\n this._engine.totalQueuedPlayers++;\n this._queue.push({ element, triggerName, transition, fromState, toState, player, isFallbackTransition });\n if (!isFallbackTransition) {\n addClass(element, QUEUED_CLASSNAME);\n player.onStart(() => {\n removeClass(element, QUEUED_CLASSNAME);\n });\n }\n player.onDone(() => {\n let index = this.players.indexOf(player);\n if (index >= 0) {\n this.players.splice(index, 1);\n }\n const players = this._engine.playersByElement.get(element);\n if (players) {\n let index = players.indexOf(player);\n if (index >= 0) {\n players.splice(index, 1);\n }\n }\n });\n this.players.push(player);\n playersOnElement.push(player);\n return player;\n }\n deregister(name) {\n delete this._triggers[name];\n this._engine.statesByElement.forEach((stateMap, element) => {\n delete stateMap[name];\n });\n this._elementListeners.forEach((listeners, element) => {\n this._elementListeners.set(element, listeners.filter(entry => {\n return entry.name != name;\n }));\n });\n }\n clearElementCache(element) {\n this._engine.statesByElement.delete(element);\n this._elementListeners.delete(element);\n const elementPlayers = this._engine.playersByElement.get(element);\n if (elementPlayers) {\n elementPlayers.forEach(player => player.destroy());\n this._engine.playersByElement.delete(element);\n }\n }\n _signalRemovalForInnerTriggers(rootElement, context) {\n const elements = this._engine.driver.query(rootElement, NG_TRIGGER_SELECTOR, true);\n // emulate a leave animation for all inner nodes within this node.\n // If there are no animations found for any of the nodes then clear the cache\n // for the element.\n elements.forEach(elm => {\n // this means that an inner remove() operation has already kicked off\n // the animation on this element...\n if (elm[REMOVAL_FLAG])\n return;\n const namespaces = this._engine.fetchNamespacesByElement(elm);\n if (namespaces.size) {\n namespaces.forEach(ns => ns.triggerLeaveAnimation(elm, context, false, true));\n }\n else {\n this.clearElementCache(elm);\n }\n });\n // If the child elements were removed along with the parent, their animations might not\n // have completed. Clear all the elements from the cache so we don't end up with a memory leak.\n this._engine.afterFlushAnimationsDone(() => elements.forEach(elm => this.clearElementCache(elm)));\n }\n triggerLeaveAnimation(element, context, destroyAfterComplete, defaultToFallback) {\n const triggerStates = this._engine.statesByElement.get(element);\n if (triggerStates) {\n const players = [];\n Object.keys(triggerStates).forEach(triggerName => {\n // this check is here in the event that an element is removed\n // twice (both on the host level and the component level)\n if (this._triggers[triggerName]) {\n const player = this.trigger(element, triggerName, VOID_VALUE, defaultToFallback);\n if (player) {\n players.push(player);\n }\n }\n });\n if (players.length) {\n this._engine.markElementAsRemoved(this.id, element, true, context);\n if (destroyAfterComplete) {\n optimizeGroupPlayer(players).onDone(() => this._engine.processLeaveNode(element));\n }\n return true;\n }\n }\n return false;\n }\n prepareLeaveAnimationListeners(element) {\n const listeners = this._elementListeners.get(element);\n const elementStates = this._engine.statesByElement.get(element);\n // if this statement fails then it means that the element was picked up\n // by an earlier flush (or there are no listeners at all to track the leave).\n if (listeners && elementStates) {\n const visitedTriggers = new Set();\n listeners.forEach(listener => {\n const triggerName = listener.name;\n if (visitedTriggers.has(triggerName))\n return;\n visitedTriggers.add(triggerName);\n const trigger = this._triggers[triggerName];\n const transition = trigger.fallbackTransition;\n const fromState = elementStates[triggerName] || DEFAULT_STATE_VALUE;\n const toState = new StateValue(VOID_VALUE);\n const player = new TransitionAnimationPlayer(this.id, triggerName, element);\n this._engine.totalQueuedPlayers++;\n this._queue.push({\n element,\n triggerName,\n transition,\n fromState,\n toState,\n player,\n isFallbackTransition: true\n });\n });\n }\n }\n removeNode(element, context) {\n const engine = this._engine;\n if (element.childElementCount) {\n this._signalRemovalForInnerTriggers(element, context);\n }\n // this means that a * => VOID animation was detected and kicked off\n if (this.triggerLeaveAnimation(element, context, true))\n return;\n // find the player that is animating and make sure that the\n // removal is delayed until that player has completed\n let containsPotentialParentTransition = false;\n if (engine.totalAnimations) {\n const currentPlayers = engine.players.length ? engine.playersByQueriedElement.get(element) : [];\n // when this `if statement` does not continue forward it means that\n // a previous animation query has selected the current element and\n // is animating it. In this situation want to continue forwards and\n // allow the element to be queued up for animation later.\n if (currentPlayers && currentPlayers.length) {\n containsPotentialParentTransition = true;\n }\n else {\n let parent = element;\n while (parent = parent.parentNode) {\n const triggers = engine.statesByElement.get(parent);\n if (triggers) {\n containsPotentialParentTransition = true;\n break;\n }\n }\n }\n }\n // at this stage we know that the element will either get removed\n // during flush or will be picked up by a parent query. Either way\n // we need to fire the listeners for this element when it DOES get\n // removed (once the query parent animation is done or after flush)\n this.prepareLeaveAnimationListeners(element);\n // whether or not a parent has an animation we need to delay the deferral of the leave\n // operation until we have more information (which we do after flush() has been called)\n if (containsPotentialParentTransition) {\n engine.markElementAsRemoved(this.id, element, false, context);\n }\n else {\n const removalFlag = element[REMOVAL_FLAG];\n if (!removalFlag || removalFlag === NULL_REMOVAL_STATE) {\n // we do this after the flush has occurred such\n // that the callbacks can be fired\n engine.afterFlush(() => this.clearElementCache(element));\n engine.destroyInnerAnimations(element);\n engine._onRemovalComplete(element, context);\n }\n }\n }\n insertNode(element, parent) {\n addClass(element, this._hostClassName);\n }\n drainQueuedTransitions(microtaskId) {\n const instructions = [];\n this._queue.forEach(entry => {\n const player = entry.player;\n if (player.destroyed)\n return;\n const element = entry.element;\n const listeners = this._elementListeners.get(element);\n if (listeners) {\n listeners.forEach((listener) => {\n if (listener.name == entry.triggerName) {\n const baseEvent = makeAnimationEvent(element, entry.triggerName, entry.fromState.value, entry.toState.value);\n baseEvent['_data'] = microtaskId;\n listenOnPlayer(entry.player, listener.phase, baseEvent, listener.callback);\n }\n });\n }\n if (player.markedForDestroy) {\n this._engine.afterFlush(() => {\n // now we can destroy the element properly since the event listeners have\n // been bound to the player\n player.destroy();\n });\n }\n else {\n instructions.push(entry);\n }\n });\n this._queue = [];\n return instructions.sort((a, b) => {\n // if depCount == 0 them move to front\n // otherwise if a contains b then move back\n const d0 = a.transition.ast.depCount;\n const d1 = b.transition.ast.depCount;\n if (d0 == 0 || d1 == 0) {\n return d0 - d1;\n }\n return this._engine.driver.containsElement(a.element, b.element) ? 1 : -1;\n });\n }\n destroy(context) {\n this.players.forEach(p => p.destroy());\n this._signalRemovalForInnerTriggers(this.hostElement, context);\n }\n elementContainsData(element) {\n let containsData = false;\n if (this._elementListeners.has(element))\n containsData = true;\n containsData =\n (this._queue.find(entry => entry.element === element) ? true : false) || containsData;\n return containsData;\n }\n}\nclass TransitionAnimationEngine {\n constructor(bodyNode, driver, _normalizer) {\n this.bodyNode = bodyNode;\n this.driver = driver;\n this._normalizer = _normalizer;\n this.players = [];\n this.newHostElements = new Map();\n this.playersByElement = new Map();\n this.playersByQueriedElement = new Map();\n this.statesByElement = new Map();\n this.disabledNodes = new Set();\n this.totalAnimations = 0;\n this.totalQueuedPlayers = 0;\n this._namespaceLookup = {};\n this._namespaceList = [];\n this._flushFns = [];\n this._whenQuietFns = [];\n this.namespacesByHostElement = new Map();\n this.collectedEnterElements = [];\n this.collectedLeaveElements = [];\n // this method is designed to be overridden by the code that uses this engine\n this.onRemovalComplete = (element, context) => { };\n }\n /** @internal */\n _onRemovalComplete(element, context) {\n this.onRemovalComplete(element, context);\n }\n get queuedPlayers() {\n const players = [];\n this._namespaceList.forEach(ns => {\n ns.players.forEach(player => {\n if (player.queued) {\n players.push(player);\n }\n });\n });\n return players;\n }\n createNamespace(namespaceId, hostElement) {\n const ns = new AnimationTransitionNamespace(namespaceId, hostElement, this);\n if (this.bodyNode && this.driver.containsElement(this.bodyNode, hostElement)) {\n this._balanceNamespaceList(ns, hostElement);\n }\n else {\n // defer this later until flush during when the host element has\n // been inserted so that we know exactly where to place it in\n // the namespace list\n this.newHostElements.set(hostElement, ns);\n // given that this host element is apart of the animation code, it\n // may or may not be inserted by a parent node that is of an\n // animation renderer type. If this happens then we can still have\n // access to this item when we query for :enter nodes. If the parent\n // is a renderer then the set data-structure will normalize the entry\n this.collectEnterElement(hostElement);\n }\n return this._namespaceLookup[namespaceId] = ns;\n }\n _balanceNamespaceList(ns, hostElement) {\n const limit = this._namespaceList.length - 1;\n if (limit >= 0) {\n let found = false;\n for (let i = limit; i >= 0; i--) {\n const nextNamespace = this._namespaceList[i];\n if (this.driver.containsElement(nextNamespace.hostElement, hostElement)) {\n this._namespaceList.splice(i + 1, 0, ns);\n found = true;\n break;\n }\n }\n if (!found) {\n this._namespaceList.splice(0, 0, ns);\n }\n }\n else {\n this._namespaceList.push(ns);\n }\n this.namespacesByHostElement.set(hostElement, ns);\n return ns;\n }\n register(namespaceId, hostElement) {\n let ns = this._namespaceLookup[namespaceId];\n if (!ns) {\n ns = this.createNamespace(namespaceId, hostElement);\n }\n return ns;\n }\n registerTrigger(namespaceId, name, trigger) {\n let ns = this._namespaceLookup[namespaceId];\n if (ns && ns.register(name, trigger)) {\n this.totalAnimations++;\n }\n }\n destroy(namespaceId, context) {\n if (!namespaceId)\n return;\n const ns = this._fetchNamespace(namespaceId);\n this.afterFlush(() => {\n this.namespacesByHostElement.delete(ns.hostElement);\n delete this._namespaceLookup[namespaceId];\n const index = this._namespaceList.indexOf(ns);\n if (index >= 0) {\n this._namespaceList.splice(index, 1);\n }\n });\n this.afterFlushAnimationsDone(() => ns.destroy(context));\n }\n _fetchNamespace(id) {\n return this._namespaceLookup[id];\n }\n fetchNamespacesByElement(element) {\n // normally there should only be one namespace per element, however\n // if @triggers are placed on both the component element and then\n // its host element (within the component code) then there will be\n // two namespaces returned. We use a set here to simply the dedupe\n // of namespaces incase there are multiple triggers both the elm and host\n const namespaces = new Set();\n const elementStates = this.statesByElement.get(element);\n if (elementStates) {\n const keys = Object.keys(elementStates);\n for (let i = 0; i < keys.length; i++) {\n const nsId = elementStates[keys[i]].namespaceId;\n if (nsId) {\n const ns = this._fetchNamespace(nsId);\n if (ns) {\n namespaces.add(ns);\n }\n }\n }\n }\n return namespaces;\n }\n trigger(namespaceId, element, name, value) {\n if (isElementNode(element)) {\n const ns = this._fetchNamespace(namespaceId);\n if (ns) {\n ns.trigger(element, name, value);\n return true;\n }\n }\n return false;\n }\n insertNode(namespaceId, element, parent, insertBefore) {\n if (!isElementNode(element))\n return;\n // special case for when an element is removed and reinserted (move operation)\n // when this occurs we do not want to use the element for deletion later\n const details = element[REMOVAL_FLAG];\n if (details && details.setForRemoval) {\n details.setForRemoval = false;\n details.setForMove = true;\n const index = this.collectedLeaveElements.indexOf(element);\n if (index >= 0) {\n this.collectedLeaveElements.splice(index, 1);\n }\n }\n // in the event that the namespaceId is blank then the caller\n // code does not contain any animation code in it, but it is\n // just being called so that the node is marked as being inserted\n if (namespaceId) {\n const ns = this._fetchNamespace(namespaceId);\n // This if-statement is a workaround for router issue #21947.\n // The router sometimes hits a race condition where while a route\n // is being instantiated a new navigation arrives, triggering leave\n // animation of DOM that has not been fully initialized, until this\n // is resolved, we need to handle the scenario when DOM is not in a\n // consistent state during the animation.\n if (ns) {\n ns.insertNode(element, parent);\n }\n }\n // only *directives and host elements are inserted before\n if (insertBefore) {\n this.collectEnterElement(element);\n }\n }\n collectEnterElement(element) {\n this.collectedEnterElements.push(element);\n }\n markElementAsDisabled(element, value) {\n if (value) {\n if (!this.disabledNodes.has(element)) {\n this.disabledNodes.add(element);\n addClass(element, DISABLED_CLASSNAME);\n }\n }\n else if (this.disabledNodes.has(element)) {\n this.disabledNodes.delete(element);\n removeClass(element, DISABLED_CLASSNAME);\n }\n }\n removeNode(namespaceId, element, isHostElement, context) {\n if (isElementNode(element)) {\n const ns = namespaceId ? this._fetchNamespace(namespaceId) : null;\n if (ns) {\n ns.removeNode(element, context);\n }\n else {\n this.markElementAsRemoved(namespaceId, element, false, context);\n }\n if (isHostElement) {\n const hostNS = this.namespacesByHostElement.get(element);\n if (hostNS && hostNS.id !== namespaceId) {\n hostNS.removeNode(element, context);\n }\n }\n }\n else {\n this._onRemovalComplete(element, context);\n }\n }\n markElementAsRemoved(namespaceId, element, hasAnimation, context) {\n this.collectedLeaveElements.push(element);\n element[REMOVAL_FLAG] =\n { namespaceId, setForRemoval: context, hasAnimation, removedBeforeQueried: false };\n }\n listen(namespaceId, element, name, phase, callback) {\n if (isElementNode(element)) {\n return this._fetchNamespace(namespaceId).listen(element, name, phase, callback);\n }\n return () => { };\n }\n _buildInstruction(entry, subTimelines, enterClassName, leaveClassName, skipBuildAst) {\n return entry.transition.build(this.driver, entry.element, entry.fromState.value, entry.toState.value, enterClassName, leaveClassName, entry.fromState.options, entry.toState.options, subTimelines, skipBuildAst);\n }\n destroyInnerAnimations(containerElement) {\n let elements = this.driver.query(containerElement, NG_TRIGGER_SELECTOR, true);\n elements.forEach(element => this.destroyActiveAnimationsForElement(element));\n if (this.playersByQueriedElement.size == 0)\n return;\n elements = this.driver.query(containerElement, NG_ANIMATING_SELECTOR, true);\n elements.forEach(element => this.finishActiveQueriedAnimationOnElement(element));\n }\n destroyActiveAnimationsForElement(element) {\n const players = this.playersByElement.get(element);\n if (players) {\n players.forEach(player => {\n // special case for when an element is set for destruction, but hasn't started.\n // in this situation we want to delay the destruction until the flush occurs\n // so that any event listeners attached to the player are triggered.\n if (player.queued) {\n player.markedForDestroy = true;\n }\n else {\n player.destroy();\n }\n });\n }\n }\n finishActiveQueriedAnimationOnElement(element) {\n const players = this.playersByQueriedElement.get(element);\n if (players) {\n players.forEach(player => player.finish());\n }\n }\n whenRenderingDone() {\n return new Promise(resolve => {\n if (this.players.length) {\n return optimizeGroupPlayer(this.players).onDone(() => resolve());\n }\n else {\n resolve();\n }\n });\n }\n processLeaveNode(element) {\n const details = element[REMOVAL_FLAG];\n if (details && details.setForRemoval) {\n // this will prevent it from removing it twice\n element[REMOVAL_FLAG] = NULL_REMOVAL_STATE;\n if (details.namespaceId) {\n this.destroyInnerAnimations(element);\n const ns = this._fetchNamespace(details.namespaceId);\n if (ns) {\n ns.clearElementCache(element);\n }\n }\n this._onRemovalComplete(element, details.setForRemoval);\n }\n if (this.driver.matchesElement(element, DISABLED_SELECTOR)) {\n this.markElementAsDisabled(element, false);\n }\n this.driver.query(element, DISABLED_SELECTOR, true).forEach(node => {\n this.markElementAsDisabled(node, false);\n });\n }\n flush(microtaskId = -1) {\n let players = [];\n if (this.newHostElements.size) {\n this.newHostElements.forEach((ns, element) => this._balanceNamespaceList(ns, element));\n this.newHostElements.clear();\n }\n if (this.totalAnimations && this.collectedEnterElements.length) {\n for (let i = 0; i < this.collectedEnterElements.length; i++) {\n const elm = this.collectedEnterElements[i];\n addClass(elm, STAR_CLASSNAME);\n }\n }\n if (this._namespaceList.length &&\n (this.totalQueuedPlayers || this.collectedLeaveElements.length)) {\n const cleanupFns = [];\n try {\n players = this._flushAnimations(cleanupFns, microtaskId);\n }\n finally {\n for (let i = 0; i < cleanupFns.length; i++) {\n cleanupFns[i]();\n }\n }\n }\n else {\n for (let i = 0; i < this.collectedLeaveElements.length; i++) {\n const element = this.collectedLeaveElements[i];\n this.processLeaveNode(element);\n }\n }\n this.totalQueuedPlayers = 0;\n this.collectedEnterElements.length = 0;\n this.collectedLeaveElements.length = 0;\n this._flushFns.forEach(fn => fn());\n this._flushFns = [];\n if (this._whenQuietFns.length) {\n // we move these over to a variable so that\n // if any new callbacks are registered in another\n // flush they do not populate the existing set\n const quietFns = this._whenQuietFns;\n this._whenQuietFns = [];\n if (players.length) {\n optimizeGroupPlayer(players).onDone(() => {\n quietFns.forEach(fn => fn());\n });\n }\n else {\n quietFns.forEach(fn => fn());\n }\n }\n }\n reportError(errors) {\n throw new Error(`Unable to process animations due to the following failed trigger transitions\\n ${errors.join('\\n')}`);\n }\n _flushAnimations(cleanupFns, microtaskId) {\n const subTimelines = new ElementInstructionMap();\n const skippedPlayers = [];\n const skippedPlayersMap = new Map();\n const queuedInstructions = [];\n const queriedElements = new Map();\n const allPreStyleElements = new Map();\n const allPostStyleElements = new Map();\n const disabledElementsSet = new Set();\n this.disabledNodes.forEach(node => {\n disabledElementsSet.add(node);\n const nodesThatAreDisabled = this.driver.query(node, QUEUED_SELECTOR, true);\n for (let i = 0; i < nodesThatAreDisabled.length; i++) {\n disabledElementsSet.add(nodesThatAreDisabled[i]);\n }\n });\n const bodyNode = this.bodyNode;\n const allTriggerElements = Array.from(this.statesByElement.keys());\n const enterNodeMap = buildRootMap(allTriggerElements, this.collectedEnterElements);\n // this must occur before the instructions are built below such that\n // the :enter queries match the elements (since the timeline queries\n // are fired during instruction building).\n const enterNodeMapIds = new Map();\n let i = 0;\n enterNodeMap.forEach((nodes, root) => {\n const className = ENTER_CLASSNAME + i++;\n enterNodeMapIds.set(root, className);\n nodes.forEach(node => addClass(node, className));\n });\n const allLeaveNodes = [];\n const mergedLeaveNodes = new Set();\n const leaveNodesWithoutAnimations = new Set();\n for (let i = 0; i < this.collectedLeaveElements.length; i++) {\n const element = this.collectedLeaveElements[i];\n const details = element[REMOVAL_FLAG];\n if (details && details.setForRemoval) {\n allLeaveNodes.push(element);\n mergedLeaveNodes.add(element);\n if (details.hasAnimation) {\n this.driver.query(element, STAR_SELECTOR, true).forEach(elm => mergedLeaveNodes.add(elm));\n }\n else {\n leaveNodesWithoutAnimations.add(element);\n }\n }\n }\n const leaveNodeMapIds = new Map();\n const leaveNodeMap = buildRootMap(allTriggerElements, Array.from(mergedLeaveNodes));\n leaveNodeMap.forEach((nodes, root) => {\n const className = LEAVE_CLASSNAME + i++;\n leaveNodeMapIds.set(root, className);\n nodes.forEach(node => addClass(node, className));\n });\n cleanupFns.push(() => {\n enterNodeMap.forEach((nodes, root) => {\n const className = enterNodeMapIds.get(root);\n nodes.forEach(node => removeClass(node, className));\n });\n leaveNodeMap.forEach((nodes, root) => {\n const className = leaveNodeMapIds.get(root);\n nodes.forEach(node => removeClass(node, className));\n });\n allLeaveNodes.forEach(element => {\n this.processLeaveNode(element);\n });\n });\n const allPlayers = [];\n const erroneousTransitions = [];\n for (let i = this._namespaceList.length - 1; i >= 0; i--) {\n const ns = this._namespaceList[i];\n ns.drainQueuedTransitions(microtaskId).forEach(entry => {\n const player = entry.player;\n const element = entry.element;\n allPlayers.push(player);\n if (this.collectedEnterElements.length) {\n const details = element[REMOVAL_FLAG];\n // move animations are currently not supported...\n if (details && details.setForMove) {\n player.destroy();\n return;\n }\n }\n const nodeIsOrphaned = !bodyNode || !this.driver.containsElement(bodyNode, element);\n const leaveClassName = leaveNodeMapIds.get(element);\n const enterClassName = enterNodeMapIds.get(element);\n const instruction = this._buildInstruction(entry, subTimelines, enterClassName, leaveClassName, nodeIsOrphaned);\n if (instruction.errors && instruction.errors.length) {\n erroneousTransitions.push(instruction);\n return;\n }\n // even though the element may not be apart of the DOM, it may\n // still be added at a later point (due to the mechanics of content\n // projection and/or dynamic component insertion) therefore it's\n // important we still style the element.\n if (nodeIsOrphaned) {\n player.onStart(() => eraseStyles(element, instruction.fromStyles));\n player.onDestroy(() => setStyles(element, instruction.toStyles));\n skippedPlayers.push(player);\n return;\n }\n // if a unmatched transition is queued to go then it SHOULD NOT render\n // an animation and cancel the previously running animations.\n if (entry.isFallbackTransition) {\n player.onStart(() => eraseStyles(element, instruction.fromStyles));\n player.onDestroy(() => setStyles(element, instruction.toStyles));\n skippedPlayers.push(player);\n return;\n }\n // this means that if a parent animation uses this animation as a sub trigger\n // then it will instruct the timeline builder to not add a player delay, but\n // instead stretch the first keyframe gap up until the animation starts. The\n // reason this is important is to prevent extra initialization styles from being\n // required by the user in the animation.\n instruction.timelines.forEach(tl => tl.stretchStartingKeyframe = true);\n subTimelines.append(element, instruction.timelines);\n const tuple = { instruction, player, element };\n queuedInstructions.push(tuple);\n instruction.queriedElements.forEach(element => getOrSetAsInMap(queriedElements, element, []).push(player));\n instruction.preStyleProps.forEach((stringMap, element) => {\n const props = Object.keys(stringMap);\n if (props.length) {\n let setVal = allPreStyleElements.get(element);\n if (!setVal) {\n allPreStyleElements.set(element, setVal = new Set());\n }\n props.forEach(prop => setVal.add(prop));\n }\n });\n instruction.postStyleProps.forEach((stringMap, element) => {\n const props = Object.keys(stringMap);\n let setVal = allPostStyleElements.get(element);\n if (!setVal) {\n allPostStyleElements.set(element, setVal = new Set());\n }\n props.forEach(prop => setVal.add(prop));\n });\n });\n }\n if (erroneousTransitions.length) {\n const errors = [];\n erroneousTransitions.forEach(instruction => {\n errors.push(`@${instruction.triggerName} has failed due to:\\n`);\n instruction.errors.forEach(error => errors.push(`- ${error}\\n`));\n });\n allPlayers.forEach(player => player.destroy());\n this.reportError(errors);\n }\n const allPreviousPlayersMap = new Map();\n // this map works to tell which element in the DOM tree is contained by\n // which animation. Further down below this map will get populated once\n // the players are built and in doing so it can efficiently figure out\n // if a sub player is skipped due to a parent player having priority.\n const animationElementMap = new Map();\n queuedInstructions.forEach(entry => {\n const element = entry.element;\n if (subTimelines.has(element)) {\n animationElementMap.set(element, element);\n this._beforeAnimationBuild(entry.player.namespaceId, entry.instruction, allPreviousPlayersMap);\n }\n });\n skippedPlayers.forEach(player => {\n const element = player.element;\n const previousPlayers = this._getPreviousPlayers(element, false, player.namespaceId, player.triggerName, null);\n previousPlayers.forEach(prevPlayer => {\n getOrSetAsInMap(allPreviousPlayersMap, element, []).push(prevPlayer);\n prevPlayer.destroy();\n });\n });\n // this is a special case for nodes that will be removed (either by)\n // having their own leave animations or by being queried in a container\n // that will be removed once a parent animation is complete. The idea\n // here is that * styles must be identical to ! styles because of\n // backwards compatibility (* is also filled in by default in many places).\n // Otherwise * styles will return an empty value or auto since the element\n // that is being getComputedStyle'd will not be visible (since * = destination)\n const replaceNodes = allLeaveNodes.filter(node => {\n return replacePostStylesAsPre(node, allPreStyleElements, allPostStyleElements);\n });\n // POST STAGE: fill the * styles\n const postStylesMap = new Map();\n const allLeaveQueriedNodes = cloakAndComputeStyles(postStylesMap, this.driver, leaveNodesWithoutAnimations, allPostStyleElements, AUTO_STYLE);\n allLeaveQueriedNodes.forEach(node => {\n if (replacePostStylesAsPre(node, allPreStyleElements, allPostStyleElements)) {\n replaceNodes.push(node);\n }\n });\n // PRE STAGE: fill the ! styles\n const preStylesMap = new Map();\n enterNodeMap.forEach((nodes, root) => {\n cloakAndComputeStyles(preStylesMap, this.driver, new Set(nodes), allPreStyleElements, ɵPRE_STYLE);\n });\n replaceNodes.forEach(node => {\n const post = postStylesMap.get(node);\n const pre = preStylesMap.get(node);\n postStylesMap.set(node, { ...post, ...pre });\n });\n const rootPlayers = [];\n const subPlayers = [];\n const NO_PARENT_ANIMATION_ELEMENT_DETECTED = {};\n queuedInstructions.forEach(entry => {\n const { element, player, instruction } = entry;\n // this means that it was never consumed by a parent animation which\n // means that it is independent and therefore should be set for animation\n if (subTimelines.has(element)) {\n if (disabledElementsSet.has(element)) {\n player.onDestroy(() => setStyles(element, instruction.toStyles));\n player.disabled = true;\n player.overrideTotalTime(instruction.totalTime);\n skippedPlayers.push(player);\n return;\n }\n // this will flow up the DOM and query the map to figure out\n // if a parent animation has priority over it. In the situation\n // that a parent is detected then it will cancel the loop. If\n // nothing is detected, or it takes a few hops to find a parent,\n // then it will fill in the missing nodes and signal them as having\n // a detected parent (or a NO_PARENT value via a special constant).\n let parentWithAnimation = NO_PARENT_ANIMATION_ELEMENT_DETECTED;\n if (animationElementMap.size > 1) {\n let elm = element;\n const parentsToAdd = [];\n while (elm = elm.parentNode) {\n const detectedParent = animationElementMap.get(elm);\n if (detectedParent) {\n parentWithAnimation = detectedParent;\n break;\n }\n parentsToAdd.push(elm);\n }\n parentsToAdd.forEach(parent => animationElementMap.set(parent, parentWithAnimation));\n }\n const innerPlayer = this._buildAnimation(player.namespaceId, instruction, allPreviousPlayersMap, skippedPlayersMap, preStylesMap, postStylesMap);\n player.setRealPlayer(innerPlayer);\n if (parentWithAnimation === NO_PARENT_ANIMATION_ELEMENT_DETECTED) {\n rootPlayers.push(player);\n }\n else {\n const parentPlayers = this.playersByElement.get(parentWithAnimation);\n if (parentPlayers && parentPlayers.length) {\n player.parentPlayer = optimizeGroupPlayer(parentPlayers);\n }\n skippedPlayers.push(player);\n }\n }\n else {\n eraseStyles(element, instruction.fromStyles);\n player.onDestroy(() => setStyles(element, instruction.toStyles));\n // there still might be a ancestor player animating this\n // element therefore we will still add it as a sub player\n // even if its animation may be disabled\n subPlayers.push(player);\n if (disabledElementsSet.has(element)) {\n skippedPlayers.push(player);\n }\n }\n });\n // find all of the sub players' corresponding inner animation player\n subPlayers.forEach(player => {\n // even if any players are not found for a sub animation then it\n // will still complete itself after the next tick since it's Noop\n const playersForElement = skippedPlayersMap.get(player.element);\n if (playersForElement && playersForElement.length) {\n const innerPlayer = optimizeGroupPlayer(playersForElement);\n player.setRealPlayer(innerPlayer);\n }\n });\n // the reason why we don't actually play the animation is\n // because all that a skipped player is designed to do is to\n // fire the start/done transition callback events\n skippedPlayers.forEach(player => {\n if (player.parentPlayer) {\n player.syncPlayerEvents(player.parentPlayer);\n }\n else {\n player.destroy();\n }\n });\n // run through all of the queued removals and see if they\n // were picked up by a query. If not then perform the removal\n // operation right away unless a parent animation is ongoing.\n for (let i = 0; i < allLeaveNodes.length; i++) {\n const element = allLeaveNodes[i];\n const details = element[REMOVAL_FLAG];\n removeClass(element, LEAVE_CLASSNAME);\n // this means the element has a removal animation that is being\n // taken care of and therefore the inner elements will hang around\n // until that animation is over (or the parent queried animation)\n if (details && details.hasAnimation)\n continue;\n let players = [];\n // if this element is queried or if it contains queried children\n // then we want for the element not to be removed from the page\n // until the queried animations have finished\n if (queriedElements.size) {\n let queriedPlayerResults = queriedElements.get(element);\n if (queriedPlayerResults && queriedPlayerResults.length) {\n players.push(...queriedPlayerResults);\n }\n let queriedInnerElements = this.driver.query(element, NG_ANIMATING_SELECTOR, true);\n for (let j = 0; j < queriedInnerElements.length; j++) {\n let queriedPlayers = queriedElements.get(queriedInnerElements[j]);\n if (queriedPlayers && queriedPlayers.length) {\n players.push(...queriedPlayers);\n }\n }\n }\n const activePlayers = players.filter(p => !p.destroyed);\n if (activePlayers.length) {\n removeNodesAfterAnimationDone(this, element, activePlayers);\n }\n else {\n this.processLeaveNode(element);\n }\n }\n // this is required so the cleanup method doesn't remove them\n allLeaveNodes.length = 0;\n rootPlayers.forEach(player => {\n this.players.push(player);\n player.onDone(() => {\n player.destroy();\n const index = this.players.indexOf(player);\n this.players.splice(index, 1);\n });\n player.play();\n });\n return rootPlayers;\n }\n elementContainsData(namespaceId, element) {\n let containsData = false;\n const details = element[REMOVAL_FLAG];\n if (details && details.setForRemoval)\n containsData = true;\n if (this.playersByElement.has(element))\n containsData = true;\n if (this.playersByQueriedElement.has(element))\n containsData = true;\n if (this.statesByElement.has(element))\n containsData = true;\n return this._fetchNamespace(namespaceId).elementContainsData(element) || containsData;\n }\n afterFlush(callback) {\n this._flushFns.push(callback);\n }\n afterFlushAnimationsDone(callback) {\n this._whenQuietFns.push(callback);\n }\n _getPreviousPlayers(element, isQueriedElement, namespaceId, triggerName, toStateValue) {\n let players = [];\n if (isQueriedElement) {\n const queriedElementPlayers = this.playersByQueriedElement.get(element);\n if (queriedElementPlayers) {\n players = queriedElementPlayers;\n }\n }\n else {\n const elementPlayers = this.playersByElement.get(element);\n if (elementPlayers) {\n const isRemovalAnimation = !toStateValue || toStateValue == VOID_VALUE;\n elementPlayers.forEach(player => {\n if (player.queued)\n return;\n if (!isRemovalAnimation && player.triggerName != triggerName)\n return;\n players.push(player);\n });\n }\n }\n if (namespaceId || triggerName) {\n players = players.filter(player => {\n if (namespaceId && namespaceId != player.namespaceId)\n return false;\n if (triggerName && triggerName != player.triggerName)\n return false;\n return true;\n });\n }\n return players;\n }\n _beforeAnimationBuild(namespaceId, instruction, allPreviousPlayersMap) {\n const triggerName = instruction.triggerName;\n const rootElement = instruction.element;\n // when a removal animation occurs, ALL previous players are collected\n // and destroyed (even if they are outside of the current namespace)\n const targetNameSpaceId = instruction.isRemovalTransition ? undefined : namespaceId;\n const targetTriggerName = instruction.isRemovalTransition ? undefined : triggerName;\n for (const timelineInstruction of instruction.timelines) {\n const element = timelineInstruction.element;\n const isQueriedElement = element !== rootElement;\n const players = getOrSetAsInMap(allPreviousPlayersMap, element, []);\n const previousPlayers = this._getPreviousPlayers(element, isQueriedElement, targetNameSpaceId, targetTriggerName, instruction.toState);\n previousPlayers.forEach(player => {\n const realPlayer = player.getRealPlayer();\n if (realPlayer.beforeDestroy) {\n realPlayer.beforeDestroy();\n }\n player.destroy();\n players.push(player);\n });\n }\n // this needs to be done so that the PRE/POST styles can be\n // computed properly without interfering with the previous animation\n eraseStyles(rootElement, instruction.fromStyles);\n }\n _buildAnimation(namespaceId, instruction, allPreviousPlayersMap, skippedPlayersMap, preStylesMap, postStylesMap) {\n const triggerName = instruction.triggerName;\n const rootElement = instruction.element;\n // we first run this so that the previous animation player\n // data can be passed into the successive animation players\n const allQueriedPlayers = [];\n const allConsumedElements = new Set();\n const allSubElements = new Set();\n const allNewPlayers = instruction.timelines.map(timelineInstruction => {\n const element = timelineInstruction.element;\n allConsumedElements.add(element);\n // FIXME (matsko): make sure to-be-removed animations are removed properly\n const details = element[REMOVAL_FLAG];\n if (details && details.removedBeforeQueried)\n return new NoopAnimationPlayer(timelineInstruction.duration, timelineInstruction.delay);\n const isQueriedElement = element !== rootElement;\n const previousPlayers = flattenGroupPlayers((allPreviousPlayersMap.get(element) || EMPTY_PLAYER_ARRAY)\n .map(p => p.getRealPlayer()))\n .filter(p => {\n // the `element` is not apart of the AnimationPlayer definition, but\n // Mock/WebAnimations\n // use the element within their implementation. This will be added in Angular5 to\n // AnimationPlayer\n const pp = p;\n return pp.element ? pp.element === element : false;\n });\n const preStyles = preStylesMap.get(element);\n const postStyles = postStylesMap.get(element);\n const keyframes = normalizeKeyframes(this.driver, this._normalizer, element, timelineInstruction.keyframes, preStyles, postStyles);\n const player = this._buildPlayer(timelineInstruction, keyframes, previousPlayers);\n // this means that this particular player belongs to a sub trigger. It is\n // important that we match this player up with the corresponding (@trigger.listener)\n if (timelineInstruction.subTimeline && skippedPlayersMap) {\n allSubElements.add(element);\n }\n if (isQueriedElement) {\n const wrappedPlayer = new TransitionAnimationPlayer(namespaceId, triggerName, element);\n wrappedPlayer.setRealPlayer(player);\n allQueriedPlayers.push(wrappedPlayer);\n }\n return player;\n });\n allQueriedPlayers.forEach(player => {\n getOrSetAsInMap(this.playersByQueriedElement, player.element, []).push(player);\n player.onDone(() => deleteOrUnsetInMap(this.playersByQueriedElement, player.element, player));\n });\n allConsumedElements.forEach(element => addClass(element, NG_ANIMATING_CLASSNAME));\n const player = optimizeGroupPlayer(allNewPlayers);\n player.onDestroy(() => {\n allConsumedElements.forEach(element => removeClass(element, NG_ANIMATING_CLASSNAME));\n setStyles(rootElement, instruction.toStyles);\n });\n // this basically makes all of the callbacks for sub element animations\n // be dependent on the upper players for when they finish\n allSubElements.forEach(element => {\n getOrSetAsInMap(skippedPlayersMap, element, []).push(player);\n });\n return player;\n }\n _buildPlayer(instruction, keyframes, previousPlayers) {\n if (keyframes.length > 0) {\n return this.driver.animate(instruction.element, keyframes, instruction.duration, instruction.delay, instruction.easing, previousPlayers);\n }\n // special case for when an empty transition|definition is provided\n // ... there is no point in rendering an empty animation\n return new NoopAnimationPlayer(instruction.duration, instruction.delay);\n }\n}\nclass TransitionAnimationPlayer {\n constructor(namespaceId, triggerName, element) {\n this.namespaceId = namespaceId;\n this.triggerName = triggerName;\n this.element = element;\n this._player = new NoopAnimationPlayer();\n this._containsRealPlayer = false;\n this._queuedCallbacks = {};\n this.destroyed = false;\n this.markedForDestroy = false;\n this.disabled = false;\n this.queued = true;\n this.totalTime = 0;\n }\n setRealPlayer(player) {\n if (this._containsRealPlayer)\n return;\n this._player = player;\n Object.keys(this._queuedCallbacks).forEach(phase => {\n this._queuedCallbacks[phase].forEach(callback => listenOnPlayer(player, phase, undefined, callback));\n });\n this._queuedCallbacks = {};\n this._containsRealPlayer = true;\n this.overrideTotalTime(player.totalTime);\n this.queued = false;\n }\n getRealPlayer() {\n return this._player;\n }\n overrideTotalTime(totalTime) {\n this.totalTime = totalTime;\n }\n syncPlayerEvents(player) {\n const p = this._player;\n if (p.triggerCallback) {\n player.onStart(() => p.triggerCallback('start'));\n }\n player.onDone(() => this.finish());\n player.onDestroy(() => this.destroy());\n }\n _queueEvent(name, callback) {\n getOrSetAsInMap(this._queuedCallbacks, name, []).push(callback);\n }\n onDone(fn) {\n if (this.queued) {\n this._queueEvent('done', fn);\n }\n this._player.onDone(fn);\n }\n onStart(fn) {\n if (this.queued) {\n this._queueEvent('start', fn);\n }\n this._player.onStart(fn);\n }\n onDestroy(fn) {\n if (this.queued) {\n this._queueEvent('destroy', fn);\n }\n this._player.onDestroy(fn);\n }\n init() {\n this._player.init();\n }\n hasStarted() {\n return this.queued ? false : this._player.hasStarted();\n }\n play() {\n !this.queued && this._player.play();\n }\n pause() {\n !this.queued && this._player.pause();\n }\n restart() {\n !this.queued && this._player.restart();\n }\n finish() {\n this._player.finish();\n }\n destroy() {\n this.destroyed = true;\n this._player.destroy();\n }\n reset() {\n !this.queued && this._player.reset();\n }\n setPosition(p) {\n if (!this.queued) {\n this._player.setPosition(p);\n }\n }\n getPosition() {\n return this.queued ? 0 : this._player.getPosition();\n }\n /** @internal */\n triggerCallback(phaseName) {\n const p = this._player;\n if (p.triggerCallback) {\n p.triggerCallback(phaseName);\n }\n }\n}\nfunction deleteOrUnsetInMap(map, key, value) {\n let currentValues;\n if (map instanceof Map) {\n currentValues = map.get(key);\n if (currentValues) {\n if (currentValues.length) {\n const index = currentValues.indexOf(value);\n currentValues.splice(index, 1);\n }\n if (currentValues.length == 0) {\n map.delete(key);\n }\n }\n }\n else {\n currentValues = map[key];\n if (currentValues) {\n if (currentValues.length) {\n const index = currentValues.indexOf(value);\n currentValues.splice(index, 1);\n }\n if (currentValues.length == 0) {\n delete map[key];\n }\n }\n }\n return currentValues;\n}\nfunction normalizeTriggerValue(value) {\n // we use `!= null` here because it's the most simple\n // way to test against a \"falsy\" value without mixing\n // in empty strings or a zero value. DO NOT OPTIMIZE.\n return value != null ? value : null;\n}\nfunction isElementNode(node) {\n return node && node['nodeType'] === 1;\n}\nfunction isTriggerEventValid(eventName) {\n return eventName == 'start' || eventName == 'done';\n}\nfunction cloakElement(element, value) {\n const oldValue = element.style.display;\n element.style.display = value != null ? value : 'none';\n return oldValue;\n}\nfunction cloakAndComputeStyles(valuesMap, driver, elements, elementPropsMap, defaultStyle) {\n const cloakVals = [];\n elements.forEach(element => cloakVals.push(cloakElement(element)));\n const failedElements = [];\n elementPropsMap.forEach((props, element) => {\n const styles = {};\n props.forEach(prop => {\n const value = styles[prop] = driver.computeStyle(element, prop, defaultStyle);\n // there is no easy way to detect this because a sub element could be removed\n // by a parent animation element being detached.\n if (!value || value.length == 0) {\n element[REMOVAL_FLAG] = NULL_REMOVED_QUERIED_STATE;\n failedElements.push(element);\n }\n });\n valuesMap.set(element, styles);\n });\n // we use a index variable here since Set.forEach(a, i) does not return\n // an index value for the closure (but instead just the value)\n let i = 0;\n elements.forEach(element => cloakElement(element, cloakVals[i++]));\n return failedElements;\n}\n/*\nSince the Angular renderer code will return a collection of inserted\nnodes in all areas of a DOM tree, it's up to this algorithm to figure\nout which nodes are roots for each animation @trigger.\n\nBy placing each inserted node into a Set and traversing upwards, it\nis possible to find the @trigger elements and well any direct *star\ninsertion nodes, if a @trigger root is found then the enter element\nis placed into the Map[@trigger] spot.\n */\nfunction buildRootMap(roots, nodes) {\n const rootMap = new Map();\n roots.forEach(root => rootMap.set(root, []));\n if (nodes.length == 0)\n return rootMap;\n const NULL_NODE = 1;\n const nodeSet = new Set(nodes);\n const localRootMap = new Map();\n function getRoot(node) {\n if (!node)\n return NULL_NODE;\n let root = localRootMap.get(node);\n if (root)\n return root;\n const parent = node.parentNode;\n if (rootMap.has(parent)) { // ngIf inside @trigger\n root = parent;\n }\n else if (nodeSet.has(parent)) { // ngIf inside ngIf\n root = NULL_NODE;\n }\n else { // recurse upwards\n root = getRoot(parent);\n }\n localRootMap.set(node, root);\n return root;\n }\n nodes.forEach(node => {\n const root = getRoot(node);\n if (root !== NULL_NODE) {\n rootMap.get(root).push(node);\n }\n });\n return rootMap;\n}\nconst CLASSES_CACHE_KEY = '$$classes';\nfunction containsClass(element, className) {\n if (element.classList) {\n return element.classList.contains(className);\n }\n else {\n const classes = element[CLASSES_CACHE_KEY];\n return classes && classes[className];\n }\n}\nfunction addClass(element, className) {\n if (element.classList) {\n element.classList.add(className);\n }\n else {\n let classes = element[CLASSES_CACHE_KEY];\n if (!classes) {\n classes = element[CLASSES_CACHE_KEY] = {};\n }\n classes[className] = true;\n }\n}\nfunction removeClass(element, className) {\n if (element.classList) {\n element.classList.remove(className);\n }\n else {\n let classes = element[CLASSES_CACHE_KEY];\n if (classes) {\n delete classes[className];\n }\n }\n}\nfunction removeNodesAfterAnimationDone(engine, element, players) {\n optimizeGroupPlayer(players).onDone(() => engine.processLeaveNode(element));\n}\nfunction flattenGroupPlayers(players) {\n const finalPlayers = [];\n _flattenGroupPlayersRecur(players, finalPlayers);\n return finalPlayers;\n}\nfunction _flattenGroupPlayersRecur(players, finalPlayers) {\n for (let i = 0; i < players.length; i++) {\n const player = players[i];\n if (player instanceof ɵAnimationGroupPlayer) {\n _flattenGroupPlayersRecur(player.players, finalPlayers);\n }\n else {\n finalPlayers.push(player);\n }\n }\n}\nfunction objEquals(a, b) {\n const k1 = Object.keys(a);\n const k2 = Object.keys(b);\n if (k1.length != k2.length)\n return false;\n for (let i = 0; i < k1.length; i++) {\n const prop = k1[i];\n if (!b.hasOwnProperty(prop) || a[prop] !== b[prop])\n return false;\n }\n return true;\n}\nfunction replacePostStylesAsPre(element, allPreStyleElements, allPostStyleElements) {\n const postEntry = allPostStyleElements.get(element);\n if (!postEntry)\n return false;\n let preEntry = allPreStyleElements.get(element);\n if (preEntry) {\n postEntry.forEach(data => preEntry.add(data));\n }\n else {\n allPreStyleElements.set(element, postEntry);\n }\n allPostStyleElements.delete(element);\n return true;\n}\n\nclass AnimationEngine {\n constructor(bodyNode, _driver, _normalizer) {\n this.bodyNode = bodyNode;\n this._driver = _driver;\n this._normalizer = _normalizer;\n this._triggerCache = {};\n // this method is designed to be overridden by the code that uses this engine\n this.onRemovalComplete = (element, context) => { };\n this._transitionEngine = new TransitionAnimationEngine(bodyNode, _driver, _normalizer);\n this._timelineEngine = new TimelineAnimationEngine(bodyNode, _driver, _normalizer);\n this._transitionEngine.onRemovalComplete = (element, context) => this.onRemovalComplete(element, context);\n }\n registerTrigger(componentId, namespaceId, hostElement, name, metadata) {\n const cacheKey = componentId + '-' + name;\n let trigger = this._triggerCache[cacheKey];\n if (!trigger) {\n const errors = [];\n const ast = buildAnimationAst(this._driver, metadata, errors);\n if (errors.length) {\n throw new Error(`The animation trigger \"${name}\" has failed to build due to the following errors:\\n - ${errors.join('\\n - ')}`);\n }\n trigger = buildTrigger(name, ast, this._normalizer);\n this._triggerCache[cacheKey] = trigger;\n }\n this._transitionEngine.registerTrigger(namespaceId, name, trigger);\n }\n register(namespaceId, hostElement) {\n this._transitionEngine.register(namespaceId, hostElement);\n }\n destroy(namespaceId, context) {\n this._transitionEngine.destroy(namespaceId, context);\n }\n onInsert(namespaceId, element, parent, insertBefore) {\n this._transitionEngine.insertNode(namespaceId, element, parent, insertBefore);\n }\n onRemove(namespaceId, element, context, isHostElement) {\n this._transitionEngine.removeNode(namespaceId, element, isHostElement || false, context);\n }\n disableAnimations(element, disable) {\n this._transitionEngine.markElementAsDisabled(element, disable);\n }\n process(namespaceId, element, property, value) {\n if (property.charAt(0) == '@') {\n const [id, action] = parseTimelineCommand(property);\n const args = value;\n this._timelineEngine.command(id, element, action, args);\n }\n else {\n this._transitionEngine.trigger(namespaceId, element, property, value);\n }\n }\n listen(namespaceId, element, eventName, eventPhase, callback) {\n // @@listen\n if (eventName.charAt(0) == '@') {\n const [id, action] = parseTimelineCommand(eventName);\n return this._timelineEngine.listen(id, element, action, callback);\n }\n return this._transitionEngine.listen(namespaceId, element, eventName, eventPhase, callback);\n }\n flush(microtaskId = -1) {\n this._transitionEngine.flush(microtaskId);\n }\n get players() {\n return this._transitionEngine.players\n .concat(this._timelineEngine.players);\n }\n whenRenderingDone() {\n return this._transitionEngine.whenRenderingDone();\n }\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * Returns an instance of `SpecialCasedStyles` if and when any special (non animateable) styles are\n * detected.\n *\n * In CSS there exist properties that cannot be animated within a keyframe animation\n * (whether it be via CSS keyframes or web-animations) and the animation implementation\n * will ignore them. This function is designed to detect those special cased styles and\n * return a container that will be executed at the start and end of the animation.\n *\n * @returns an instance of `SpecialCasedStyles` if any special styles are detected otherwise `null`\n */\nfunction packageNonAnimatableStyles(element, styles) {\n let startStyles = null;\n let endStyles = null;\n if (Array.isArray(styles) && styles.length) {\n startStyles = filterNonAnimatableStyles(styles[0]);\n if (styles.length > 1) {\n endStyles = filterNonAnimatableStyles(styles[styles.length - 1]);\n }\n }\n else if (styles) {\n startStyles = filterNonAnimatableStyles(styles);\n }\n return (startStyles || endStyles) ? new SpecialCasedStyles(element, startStyles, endStyles) :\n null;\n}\n/**\n * Designed to be executed during a keyframe-based animation to apply any special-cased styles.\n *\n * When started (when the `start()` method is run) then the provided `startStyles`\n * will be applied. When finished (when the `finish()` method is called) the\n * `endStyles` will be applied as well any any starting styles. Finally when\n * `destroy()` is called then all styles will be removed.\n */\nclass SpecialCasedStyles {\n constructor(_element, _startStyles, _endStyles) {\n this._element = _element;\n this._startStyles = _startStyles;\n this._endStyles = _endStyles;\n this._state = 0 /* Pending */;\n let initialStyles = SpecialCasedStyles.initialStylesByElement.get(_element);\n if (!initialStyles) {\n SpecialCasedStyles.initialStylesByElement.set(_element, initialStyles = {});\n }\n this._initialStyles = initialStyles;\n }\n start() {\n if (this._state < 1 /* Started */) {\n if (this._startStyles) {\n setStyles(this._element, this._startStyles, this._initialStyles);\n }\n this._state = 1 /* Started */;\n }\n }\n finish() {\n this.start();\n if (this._state < 2 /* Finished */) {\n setStyles(this._element, this._initialStyles);\n if (this._endStyles) {\n setStyles(this._element, this._endStyles);\n this._endStyles = null;\n }\n this._state = 1 /* Started */;\n }\n }\n destroy() {\n this.finish();\n if (this._state < 3 /* Destroyed */) {\n SpecialCasedStyles.initialStylesByElement.delete(this._element);\n if (this._startStyles) {\n eraseStyles(this._element, this._startStyles);\n this._endStyles = null;\n }\n if (this._endStyles) {\n eraseStyles(this._element, this._endStyles);\n this._endStyles = null;\n }\n setStyles(this._element, this._initialStyles);\n this._state = 3 /* Destroyed */;\n }\n }\n}\nSpecialCasedStyles.initialStylesByElement = ( /* @__PURE__ */new WeakMap());\nfunction filterNonAnimatableStyles(styles) {\n let result = null;\n const props = Object.keys(styles);\n for (let i = 0; i < props.length; i++) {\n const prop = props[i];\n if (isNonAnimatableStyle(prop)) {\n result = result || {};\n result[prop] = styles[prop];\n }\n }\n return result;\n}\nfunction isNonAnimatableStyle(prop) {\n return prop === 'display' || prop === 'position';\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nconst ELAPSED_TIME_MAX_DECIMAL_PLACES = 3;\nconst ANIMATION_PROP = 'animation';\nconst ANIMATIONEND_EVENT = 'animationend';\nconst ONE_SECOND = 1000;\nclass ElementAnimationStyleHandler {\n constructor(_element, _name, _duration, _delay, _easing, _fillMode, _onDoneFn) {\n this._element = _element;\n this._name = _name;\n this._duration = _duration;\n this._delay = _delay;\n this._easing = _easing;\n this._fillMode = _fillMode;\n this._onDoneFn = _onDoneFn;\n this._finished = false;\n this._destroyed = false;\n this._startTime = 0;\n this._position = 0;\n this._eventFn = (e) => this._handleCallback(e);\n }\n apply() {\n applyKeyframeAnimation(this._element, `${this._duration}ms ${this._easing} ${this._delay}ms 1 normal ${this._fillMode} ${this._name}`);\n addRemoveAnimationEvent(this._element, this._eventFn, false);\n this._startTime = Date.now();\n }\n pause() {\n playPauseAnimation(this._element, this._name, 'paused');\n }\n resume() {\n playPauseAnimation(this._element, this._name, 'running');\n }\n setPosition(position) {\n const index = findIndexForAnimation(this._element, this._name);\n this._position = position * this._duration;\n setAnimationStyle(this._element, 'Delay', `-${this._position}ms`, index);\n }\n getPosition() {\n return this._position;\n }\n _handleCallback(event) {\n const timestamp = event._ngTestManualTimestamp || Date.now();\n const elapsedTime = parseFloat(event.elapsedTime.toFixed(ELAPSED_TIME_MAX_DECIMAL_PLACES)) * ONE_SECOND;\n if (event.animationName == this._name &&\n Math.max(timestamp - this._startTime, 0) >= this._delay && elapsedTime >= this._duration) {\n this.finish();\n }\n }\n finish() {\n if (this._finished)\n return;\n this._finished = true;\n this._onDoneFn();\n addRemoveAnimationEvent(this._element, this._eventFn, true);\n }\n destroy() {\n if (this._destroyed)\n return;\n this._destroyed = true;\n this.finish();\n removeKeyframeAnimation(this._element, this._name);\n }\n}\nfunction playPauseAnimation(element, name, status) {\n const index = findIndexForAnimation(element, name);\n setAnimationStyle(element, 'PlayState', status, index);\n}\nfunction applyKeyframeAnimation(element, value) {\n const anim = getAnimationStyle(element, '').trim();\n let index = 0;\n if (anim.length) {\n index = countChars(anim, ',') + 1;\n value = `${anim}, ${value}`;\n }\n setAnimationStyle(element, '', value);\n return index;\n}\nfunction removeKeyframeAnimation(element, name) {\n const anim = getAnimationStyle(element, '');\n const tokens = anim.split(',');\n const index = findMatchingTokenIndex(tokens, name);\n if (index >= 0) {\n tokens.splice(index, 1);\n const newValue = tokens.join(',');\n setAnimationStyle(element, '', newValue);\n }\n}\nfunction findIndexForAnimation(element, value) {\n const anim = getAnimationStyle(element, '');\n if (anim.indexOf(',') > 0) {\n const tokens = anim.split(',');\n return findMatchingTokenIndex(tokens, value);\n }\n return findMatchingTokenIndex([anim], value);\n}\nfunction findMatchingTokenIndex(tokens, searchToken) {\n for (let i = 0; i < tokens.length; i++) {\n if (tokens[i].indexOf(searchToken) >= 0) {\n return i;\n }\n }\n return -1;\n}\nfunction addRemoveAnimationEvent(element, fn, doRemove) {\n doRemove ? element.removeEventListener(ANIMATIONEND_EVENT, fn) :\n element.addEventListener(ANIMATIONEND_EVENT, fn);\n}\nfunction setAnimationStyle(element, name, value, index) {\n const prop = ANIMATION_PROP + name;\n if (index != null) {\n const oldValue = element.style[prop];\n if (oldValue.length) {\n const tokens = oldValue.split(',');\n tokens[index] = value;\n value = tokens.join(',');\n }\n }\n element.style[prop] = value;\n}\nfunction getAnimationStyle(element, name) {\n return element.style[ANIMATION_PROP + name] || '';\n}\nfunction countChars(value, char) {\n let count = 0;\n for (let i = 0; i < value.length; i++) {\n const c = value.charAt(i);\n if (c === char)\n count++;\n }\n return count;\n}\n\nconst DEFAULT_FILL_MODE = 'forwards';\nconst DEFAULT_EASING = 'linear';\nclass CssKeyframesPlayer {\n constructor(element, keyframes, animationName, _duration, _delay, easing, _finalStyles, _specialStyles) {\n this.element = element;\n this.keyframes = keyframes;\n this.animationName = animationName;\n this._duration = _duration;\n this._delay = _delay;\n this._finalStyles = _finalStyles;\n this._specialStyles = _specialStyles;\n this._onDoneFns = [];\n this._onStartFns = [];\n this._onDestroyFns = [];\n this.currentSnapshot = {};\n this._state = 0;\n this.easing = easing || DEFAULT_EASING;\n this.totalTime = _duration + _delay;\n this._buildStyler();\n }\n onStart(fn) {\n this._onStartFns.push(fn);\n }\n onDone(fn) {\n this._onDoneFns.push(fn);\n }\n onDestroy(fn) {\n this._onDestroyFns.push(fn);\n }\n destroy() {\n this.init();\n if (this._state >= 4 /* DESTROYED */)\n return;\n this._state = 4 /* DESTROYED */;\n this._styler.destroy();\n this._flushStartFns();\n this._flushDoneFns();\n if (this._specialStyles) {\n this._specialStyles.destroy();\n }\n this._onDestroyFns.forEach(fn => fn());\n this._onDestroyFns = [];\n }\n _flushDoneFns() {\n this._onDoneFns.forEach(fn => fn());\n this._onDoneFns = [];\n }\n _flushStartFns() {\n this._onStartFns.forEach(fn => fn());\n this._onStartFns = [];\n }\n finish() {\n this.init();\n if (this._state >= 3 /* FINISHED */)\n return;\n this._state = 3 /* FINISHED */;\n this._styler.finish();\n this._flushStartFns();\n if (this._specialStyles) {\n this._specialStyles.finish();\n }\n this._flushDoneFns();\n }\n setPosition(value) {\n this._styler.setPosition(value);\n }\n getPosition() {\n return this._styler.getPosition();\n }\n hasStarted() {\n return this._state >= 2 /* STARTED */;\n }\n init() {\n if (this._state >= 1 /* INITIALIZED */)\n return;\n this._state = 1 /* INITIALIZED */;\n const elm = this.element;\n this._styler.apply();\n if (this._delay) {\n this._styler.pause();\n }\n }\n play() {\n this.init();\n if (!this.hasStarted()) {\n this._flushStartFns();\n this._state = 2 /* STARTED */;\n if (this._specialStyles) {\n this._specialStyles.start();\n }\n }\n this._styler.resume();\n }\n pause() {\n this.init();\n this._styler.pause();\n }\n restart() {\n this.reset();\n this.play();\n }\n reset() {\n this._state = 0 /* RESET */;\n this._styler.destroy();\n this._buildStyler();\n this._styler.apply();\n }\n _buildStyler() {\n this._styler = new ElementAnimationStyleHandler(this.element, this.animationName, this._duration, this._delay, this.easing, DEFAULT_FILL_MODE, () => this.finish());\n }\n /** @internal */\n triggerCallback(phaseName) {\n const methods = phaseName == 'start' ? this._onStartFns : this._onDoneFns;\n methods.forEach(fn => fn());\n methods.length = 0;\n }\n beforeDestroy() {\n this.init();\n const styles = {};\n if (this.hasStarted()) {\n const finished = this._state >= 3 /* FINISHED */;\n Object.keys(this._finalStyles).forEach(prop => {\n if (prop != 'offset') {\n styles[prop] = finished ? this._finalStyles[prop] : computeStyle(this.element, prop);\n }\n });\n }\n this.currentSnapshot = styles;\n }\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nclass DirectStylePlayer extends NoopAnimationPlayer {\n constructor(element, styles) {\n super();\n this.element = element;\n this._startingStyles = {};\n this.__initialized = false;\n this._styles = hypenatePropsObject(styles);\n }\n init() {\n if (this.__initialized || !this._startingStyles)\n return;\n this.__initialized = true;\n Object.keys(this._styles).forEach(prop => {\n this._startingStyles[prop] = this.element.style[prop];\n });\n super.init();\n }\n play() {\n if (!this._startingStyles)\n return;\n this.init();\n Object.keys(this._styles)\n .forEach(prop => this.element.style.setProperty(prop, this._styles[prop]));\n super.play();\n }\n destroy() {\n if (!this._startingStyles)\n return;\n Object.keys(this._startingStyles).forEach(prop => {\n const value = this._startingStyles[prop];\n if (value) {\n this.element.style.setProperty(prop, value);\n }\n else {\n this.element.style.removeProperty(prop);\n }\n });\n this._startingStyles = null;\n super.destroy();\n }\n}\n\nconst KEYFRAMES_NAME_PREFIX = 'gen_css_kf_';\nconst TAB_SPACE = ' ';\nclass CssKeyframesDriver {\n constructor() {\n this._count = 0;\n }\n validateStyleProperty(prop) {\n return validateStyleProperty(prop);\n }\n matchesElement(element, selector) {\n return matchesElement(element, selector);\n }\n containsElement(elm1, elm2) {\n return containsElement(elm1, elm2);\n }\n query(element, selector, multi) {\n return invokeQuery(element, selector, multi);\n }\n computeStyle(element, prop, defaultValue) {\n return window.getComputedStyle(element)[prop];\n }\n buildKeyframeElement(element, name, keyframes) {\n keyframes = keyframes.map(kf => hypenatePropsObject(kf));\n let keyframeStr = `@keyframes ${name} {\\n`;\n let tab = '';\n keyframes.forEach(kf => {\n tab = TAB_SPACE;\n const offset = parseFloat(kf['offset']);\n keyframeStr += `${tab}${offset * 100}% {\\n`;\n tab += TAB_SPACE;\n Object.keys(kf).forEach(prop => {\n const value = kf[prop];\n switch (prop) {\n case 'offset':\n return;\n case 'easing':\n if (value) {\n keyframeStr += `${tab}animation-timing-function: ${value};\\n`;\n }\n return;\n default:\n keyframeStr += `${tab}${prop}: ${value};\\n`;\n return;\n }\n });\n keyframeStr += `${tab}}\\n`;\n });\n keyframeStr += `}\\n`;\n const kfElm = document.createElement('style');\n kfElm.textContent = keyframeStr;\n return kfElm;\n }\n animate(element, keyframes, duration, delay, easing, previousPlayers = [], scrubberAccessRequested) {\n if ((typeof ngDevMode === 'undefined' || ngDevMode) && scrubberAccessRequested) {\n notifyFaultyScrubber();\n }\n const previousCssKeyframePlayers = previousPlayers.filter(player => player instanceof CssKeyframesPlayer);\n const previousStyles = {};\n if (allowPreviousPlayerStylesMerge(duration, delay)) {\n previousCssKeyframePlayers.forEach(player => {\n let styles = player.currentSnapshot;\n Object.keys(styles).forEach(prop => previousStyles[prop] = styles[prop]);\n });\n }\n keyframes = balancePreviousStylesIntoKeyframes(element, keyframes, previousStyles);\n const finalStyles = flattenKeyframesIntoStyles(keyframes);\n // if there is no animation then there is no point in applying\n // styles and waiting for an event to get fired. This causes lag.\n // It's better to just directly apply the styles to the element\n // via the direct styling animation player.\n if (duration == 0) {\n return new DirectStylePlayer(element, finalStyles);\n }\n const animationName = `${KEYFRAMES_NAME_PREFIX}${this._count++}`;\n const kfElm = this.buildKeyframeElement(element, animationName, keyframes);\n const nodeToAppendKfElm = findNodeToAppendKeyframeElement(element);\n nodeToAppendKfElm.appendChild(kfElm);\n const specialStyles = packageNonAnimatableStyles(element, keyframes);\n const player = new CssKeyframesPlayer(element, keyframes, animationName, duration, delay, easing, finalStyles, specialStyles);\n player.onDestroy(() => removeElement(kfElm));\n return player;\n }\n}\nfunction findNodeToAppendKeyframeElement(element) {\n const rootNode = element.getRootNode?.();\n if (typeof ShadowRoot !== 'undefined' && rootNode instanceof ShadowRoot) {\n return rootNode;\n }\n return document.head;\n}\nfunction flattenKeyframesIntoStyles(keyframes) {\n let flatKeyframes = {};\n if (keyframes) {\n const kfs = Array.isArray(keyframes) ? keyframes : [keyframes];\n kfs.forEach(kf => {\n Object.keys(kf).forEach(prop => {\n if (prop == 'offset' || prop == 'easing')\n return;\n flatKeyframes[prop] = kf[prop];\n });\n });\n }\n return flatKeyframes;\n}\nfunction removeElement(node) {\n node.parentNode.removeChild(node);\n}\nlet warningIssued = false;\nfunction notifyFaultyScrubber() {\n if (warningIssued)\n return;\n console.warn('@angular/animations: please load the web-animations.js polyfill to allow programmatic access...\\n', ' visit https://bit.ly/IWukam to learn more about using the web-animation-js polyfill.');\n warningIssued = true;\n}\n\nclass WebAnimationsPlayer {\n constructor(element, keyframes, options, _specialStyles) {\n this.element = element;\n this.keyframes = keyframes;\n this.options = options;\n this._specialStyles = _specialStyles;\n this._onDoneFns = [];\n this._onStartFns = [];\n this._onDestroyFns = [];\n this._initialized = false;\n this._finished = false;\n this._started = false;\n this._destroyed = false;\n this.time = 0;\n this.parentPlayer = null;\n this.currentSnapshot = {};\n this._duration = options['duration'];\n this._delay = options['delay'] || 0;\n this.time = this._duration + this._delay;\n }\n _onFinish() {\n if (!this._finished) {\n this._finished = true;\n this._onDoneFns.forEach(fn => fn());\n this._onDoneFns = [];\n }\n }\n init() {\n this._buildPlayer();\n this._preparePlayerBeforeStart();\n }\n _buildPlayer() {\n if (this._initialized)\n return;\n this._initialized = true;\n const keyframes = this.keyframes;\n this.domPlayer =\n this._triggerWebAnimation(this.element, keyframes, this.options);\n this._finalKeyframe = keyframes.length ? keyframes[keyframes.length - 1] : {};\n this.domPlayer.addEventListener('finish', () => this._onFinish());\n }\n _preparePlayerBeforeStart() {\n // this is required so that the player doesn't start to animate right away\n if (this._delay) {\n this._resetDomPlayerState();\n }\n else {\n this.domPlayer.pause();\n }\n }\n /** @internal */\n _triggerWebAnimation(element, keyframes, options) {\n // jscompiler doesn't seem to know animate is a native property because it's not fully\n // supported yet across common browsers (we polyfill it for Edge/Safari) [CL #143630929]\n return element['animate'](keyframes, options);\n }\n onStart(fn) {\n this._onStartFns.push(fn);\n }\n onDone(fn) {\n this._onDoneFns.push(fn);\n }\n onDestroy(fn) {\n this._onDestroyFns.push(fn);\n }\n play() {\n this._buildPlayer();\n if (!this.hasStarted()) {\n this._onStartFns.forEach(fn => fn());\n this._onStartFns = [];\n this._started = true;\n if (this._specialStyles) {\n this._specialStyles.start();\n }\n }\n this.domPlayer.play();\n }\n pause() {\n this.init();\n this.domPlayer.pause();\n }\n finish() {\n this.init();\n if (this._specialStyles) {\n this._specialStyles.finish();\n }\n this._onFinish();\n this.domPlayer.finish();\n }\n reset() {\n this._resetDomPlayerState();\n this._destroyed = false;\n this._finished = false;\n this._started = false;\n }\n _resetDomPlayerState() {\n if (this.domPlayer) {\n this.domPlayer.cancel();\n }\n }\n restart() {\n this.reset();\n this.play();\n }\n hasStarted() {\n return this._started;\n }\n destroy() {\n if (!this._destroyed) {\n this._destroyed = true;\n this._resetDomPlayerState();\n this._onFinish();\n if (this._specialStyles) {\n this._specialStyles.destroy();\n }\n this._onDestroyFns.forEach(fn => fn());\n this._onDestroyFns = [];\n }\n }\n setPosition(p) {\n if (this.domPlayer === undefined) {\n this.init();\n }\n this.domPlayer.currentTime = p * this.time;\n }\n getPosition() {\n return this.domPlayer.currentTime / this.time;\n }\n get totalTime() {\n return this._delay + this._duration;\n }\n beforeDestroy() {\n const styles = {};\n if (this.hasStarted()) {\n Object.keys(this._finalKeyframe).forEach(prop => {\n if (prop != 'offset') {\n styles[prop] =\n this._finished ? this._finalKeyframe[prop] : computeStyle(this.element, prop);\n }\n });\n }\n this.currentSnapshot = styles;\n }\n /** @internal */\n triggerCallback(phaseName) {\n const methods = phaseName == 'start' ? this._onStartFns : this._onDoneFns;\n methods.forEach(fn => fn());\n methods.length = 0;\n }\n}\n\nclass WebAnimationsDriver {\n constructor() {\n this._isNativeImpl = /\\{\\s*\\[native\\s+code\\]\\s*\\}/.test(getElementAnimateFn().toString());\n this._cssKeyframesDriver = new CssKeyframesDriver();\n }\n validateStyleProperty(prop) {\n return validateStyleProperty(prop);\n }\n matchesElement(element, selector) {\n return matchesElement(element, selector);\n }\n containsElement(elm1, elm2) {\n return containsElement(elm1, elm2);\n }\n query(element, selector, multi) {\n return invokeQuery(element, selector, multi);\n }\n computeStyle(element, prop, defaultValue) {\n return window.getComputedStyle(element)[prop];\n }\n overrideWebAnimationsSupport(supported) {\n this._isNativeImpl = supported;\n }\n animate(element, keyframes, duration, delay, easing, previousPlayers = [], scrubberAccessRequested) {\n const useKeyframes = !scrubberAccessRequested && !this._isNativeImpl;\n if (useKeyframes) {\n return this._cssKeyframesDriver.animate(element, keyframes, duration, delay, easing, previousPlayers);\n }\n const fill = delay == 0 ? 'both' : 'forwards';\n const playerOptions = { duration, delay, fill };\n // we check for this to avoid having a null|undefined value be present\n // for the easing (which results in an error for certain browsers #9752)\n if (easing) {\n playerOptions['easing'] = easing;\n }\n const previousStyles = {};\n const previousWebAnimationPlayers = previousPlayers.filter(player => player instanceof WebAnimationsPlayer);\n if (allowPreviousPlayerStylesMerge(duration, delay)) {\n previousWebAnimationPlayers.forEach(player => {\n let styles = player.currentSnapshot;\n Object.keys(styles).forEach(prop => previousStyles[prop] = styles[prop]);\n });\n }\n keyframes = keyframes.map(styles => copyStyles(styles, false));\n keyframes = balancePreviousStylesIntoKeyframes(element, keyframes, previousStyles);\n const specialStyles = packageNonAnimatableStyles(element, keyframes);\n return new WebAnimationsPlayer(element, keyframes, playerOptions, specialStyles);\n }\n}\nfunction supportsWebAnimations() {\n return typeof getElementAnimateFn() === 'function';\n}\nfunction getElementAnimateFn() {\n return (isBrowser() && Element.prototype['animate']) || {};\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\n/**\n * Generated bundle index. Do not edit.\n */\n\nexport { AnimationDriver, Animation as ɵAnimation, AnimationEngine as ɵAnimationEngine, AnimationStyleNormalizer as ɵAnimationStyleNormalizer, CssKeyframesDriver as ɵCssKeyframesDriver, CssKeyframesPlayer as ɵCssKeyframesPlayer, NoopAnimationDriver as ɵNoopAnimationDriver, NoopAnimationStyleNormalizer as ɵNoopAnimationStyleNormalizer, WebAnimationsDriver as ɵWebAnimationsDriver, WebAnimationsPlayer as ɵWebAnimationsPlayer, WebAnimationsStyleNormalizer as ɵWebAnimationsStyleNormalizer, allowPreviousPlayerStylesMerge as ɵallowPreviousPlayerStylesMerge, containsElement as ɵcontainsElement, invokeQuery as ɵinvokeQuery, matchesElement as ɵmatchesElement, supportsWebAnimations as ɵsupportsWebAnimations, validateStyleProperty as ɵvalidateStyleProperty };\n","import { DOCUMENT } from '@angular/common';\nimport * as i0 from '@angular/core';\nimport { Injectable, Inject, QueryList, Directive, Input, InjectionToken, Optional, EventEmitter, Output, NgModule } from '@angular/core';\nimport { Subject, Subscription, BehaviorSubject, of } from 'rxjs';\nimport { hasModifierKey, A, Z, ZERO, NINE, END, HOME, LEFT_ARROW, RIGHT_ARROW, UP_ARROW, DOWN_ARROW, TAB, ALT, CONTROL, MAC_META, META, SHIFT } from '@angular/cdk/keycodes';\nimport { tap, debounceTime, filter, map, take, skip, distinctUntilChanged, takeUntil } from 'rxjs/operators';\nimport { coerceBooleanProperty, coerceElement } from '@angular/cdk/coercion';\nimport * as i1 from '@angular/cdk/platform';\nimport { _getFocusedElementPierceShadowDom, normalizePassiveListenerOptions, _getEventTarget, _getShadowRoot, PlatformModule } from '@angular/cdk/platform';\nimport * as i1$1 from '@angular/cdk/observers';\nimport { ObserversModule } from '@angular/cdk/observers';\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/** IDs are delimited by an empty space, as per the spec. */\nconst ID_DELIMITER = ' ';\n/**\n * Adds the given ID to the specified ARIA attribute on an element.\n * Used for attributes such as aria-labelledby, aria-owns, etc.\n */\nfunction addAriaReferencedId(el, attr, id) {\n const ids = getAriaReferenceIds(el, attr);\n if (ids.some(existingId => existingId.trim() == id.trim())) {\n return;\n }\n ids.push(id.trim());\n el.setAttribute(attr, ids.join(ID_DELIMITER));\n}\n/**\n * Removes the given ID from the specified ARIA attribute on an element.\n * Used for attributes such as aria-labelledby, aria-owns, etc.\n */\nfunction removeAriaReferencedId(el, attr, id) {\n const ids = getAriaReferenceIds(el, attr);\n const filteredIds = ids.filter(val => val != id.trim());\n if (filteredIds.length) {\n el.setAttribute(attr, filteredIds.join(ID_DELIMITER));\n }\n else {\n el.removeAttribute(attr);\n }\n}\n/**\n * Gets the list of IDs referenced by the given ARIA attribute on an element.\n * Used for attributes such as aria-labelledby, aria-owns, etc.\n */\nfunction getAriaReferenceIds(el, attr) {\n // Get string array of all individual ids (whitespace delimited) in the attribute value\n return (el.getAttribute(attr) || '').match(/\\S+/g) || [];\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/** ID used for the body container where all messages are appended. */\nconst MESSAGES_CONTAINER_ID = 'cdk-describedby-message-container';\n/** ID prefix used for each created message element. */\nconst CDK_DESCRIBEDBY_ID_PREFIX = 'cdk-describedby-message';\n/** Attribute given to each host element that is described by a message element. */\nconst CDK_DESCRIBEDBY_HOST_ATTRIBUTE = 'cdk-describedby-host';\n/** Global incremental identifier for each registered message element. */\nlet nextId = 0;\n/** Global map of all registered message elements that have been placed into the document. */\nconst messageRegistry = new Map();\n/** Container for all registered messages. */\nlet messagesContainer = null;\n/**\n * Utility that creates visually hidden elements with a message content. Useful for elements that\n * want to use aria-describedby to further describe themselves without adding additional visual\n * content.\n */\nclass AriaDescriber {\n constructor(_document) {\n this._document = _document;\n }\n describe(hostElement, message, role) {\n if (!this._canBeDescribed(hostElement, message)) {\n return;\n }\n const key = getKey(message, role);\n if (typeof message !== 'string') {\n // We need to ensure that the element has an ID.\n setMessageId(message);\n messageRegistry.set(key, { messageElement: message, referenceCount: 0 });\n }\n else if (!messageRegistry.has(key)) {\n this._createMessageElement(message, role);\n }\n if (!this._isElementDescribedByMessage(hostElement, key)) {\n this._addMessageReference(hostElement, key);\n }\n }\n removeDescription(hostElement, message, role) {\n if (!message || !this._isElementNode(hostElement)) {\n return;\n }\n const key = getKey(message, role);\n if (this._isElementDescribedByMessage(hostElement, key)) {\n this._removeMessageReference(hostElement, key);\n }\n // If the message is a string, it means that it's one that we created for the\n // consumer so we can remove it safely, otherwise we should leave it in place.\n if (typeof message === 'string') {\n const registeredMessage = messageRegistry.get(key);\n if (registeredMessage && registeredMessage.referenceCount === 0) {\n this._deleteMessageElement(key);\n }\n }\n if (messagesContainer && messagesContainer.childNodes.length === 0) {\n this._deleteMessagesContainer();\n }\n }\n /** Unregisters all created message elements and removes the message container. */\n ngOnDestroy() {\n const describedElements = this._document.querySelectorAll(`[${CDK_DESCRIBEDBY_HOST_ATTRIBUTE}]`);\n for (let i = 0; i < describedElements.length; i++) {\n this._removeCdkDescribedByReferenceIds(describedElements[i]);\n describedElements[i].removeAttribute(CDK_DESCRIBEDBY_HOST_ATTRIBUTE);\n }\n if (messagesContainer) {\n this._deleteMessagesContainer();\n }\n messageRegistry.clear();\n }\n /**\n * Creates a new element in the visually hidden message container element with the message\n * as its content and adds it to the message registry.\n */\n _createMessageElement(message, role) {\n const messageElement = this._document.createElement('div');\n setMessageId(messageElement);\n messageElement.textContent = message;\n if (role) {\n messageElement.setAttribute('role', role);\n }\n this._createMessagesContainer();\n messagesContainer.appendChild(messageElement);\n messageRegistry.set(getKey(message, role), { messageElement, referenceCount: 0 });\n }\n /** Deletes the message element from the global messages container. */\n _deleteMessageElement(key) {\n const registeredMessage = messageRegistry.get(key);\n registeredMessage?.messageElement?.remove();\n messageRegistry.delete(key);\n }\n /** Creates the global container for all aria-describedby messages. */\n _createMessagesContainer() {\n if (!messagesContainer) {\n const preExistingContainer = this._document.getElementById(MESSAGES_CONTAINER_ID);\n // When going from the server to the client, we may end up in a situation where there's\n // already a container on the page, but we don't have a reference to it. Clear the\n // old container so we don't get duplicates. Doing this, instead of emptying the previous\n // container, should be slightly faster.\n preExistingContainer?.remove();\n messagesContainer = this._document.createElement('div');\n messagesContainer.id = MESSAGES_CONTAINER_ID;\n // We add `visibility: hidden` in order to prevent text in this container from\n // being searchable by the browser's Ctrl + F functionality.\n // Screen-readers will still read the description for elements with aria-describedby even\n // when the description element is not visible.\n messagesContainer.style.visibility = 'hidden';\n // Even though we use `visibility: hidden`, we still apply `cdk-visually-hidden` so that\n // the description element doesn't impact page layout.\n messagesContainer.classList.add('cdk-visually-hidden');\n this._document.body.appendChild(messagesContainer);\n }\n }\n /** Deletes the global messages container. */\n _deleteMessagesContainer() {\n if (messagesContainer) {\n messagesContainer.remove();\n messagesContainer = null;\n }\n }\n /** Removes all cdk-describedby messages that are hosted through the element. */\n _removeCdkDescribedByReferenceIds(element) {\n // Remove all aria-describedby reference IDs that are prefixed by CDK_DESCRIBEDBY_ID_PREFIX\n const originalReferenceIds = getAriaReferenceIds(element, 'aria-describedby').filter(id => id.indexOf(CDK_DESCRIBEDBY_ID_PREFIX) != 0);\n element.setAttribute('aria-describedby', originalReferenceIds.join(' '));\n }\n /**\n * Adds a message reference to the element using aria-describedby and increments the registered\n * message's reference count.\n */\n _addMessageReference(element, key) {\n const registeredMessage = messageRegistry.get(key);\n // Add the aria-describedby reference and set the\n // describedby_host attribute to mark the element.\n addAriaReferencedId(element, 'aria-describedby', registeredMessage.messageElement.id);\n element.setAttribute(CDK_DESCRIBEDBY_HOST_ATTRIBUTE, '');\n registeredMessage.referenceCount++;\n }\n /**\n * Removes a message reference from the element using aria-describedby\n * and decrements the registered message's reference count.\n */\n _removeMessageReference(element, key) {\n const registeredMessage = messageRegistry.get(key);\n registeredMessage.referenceCount--;\n removeAriaReferencedId(element, 'aria-describedby', registeredMessage.messageElement.id);\n element.removeAttribute(CDK_DESCRIBEDBY_HOST_ATTRIBUTE);\n }\n /** Returns true if the element has been described by the provided message ID. */\n _isElementDescribedByMessage(element, key) {\n const referenceIds = getAriaReferenceIds(element, 'aria-describedby');\n const registeredMessage = messageRegistry.get(key);\n const messageId = registeredMessage && registeredMessage.messageElement.id;\n return !!messageId && referenceIds.indexOf(messageId) != -1;\n }\n /** Determines whether a message can be described on a particular element. */\n _canBeDescribed(element, message) {\n if (!this._isElementNode(element)) {\n return false;\n }\n if (message && typeof message === 'object') {\n // We'd have to make some assumptions about the description element's text, if the consumer\n // passed in an element. Assume that if an element is passed in, the consumer has verified\n // that it can be used as a description.\n return true;\n }\n const trimmedMessage = message == null ? '' : `${message}`.trim();\n const ariaLabel = element.getAttribute('aria-label');\n // We shouldn't set descriptions if they're exactly the same as the `aria-label` of the\n // element, because screen readers will end up reading out the same text twice in a row.\n return trimmedMessage ? !ariaLabel || ariaLabel.trim() !== trimmedMessage : false;\n }\n /** Checks whether a node is an Element node. */\n _isElementNode(element) {\n return element.nodeType === this._document.ELEMENT_NODE;\n }\n}\nAriaDescriber.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"13.0.1\", ngImport: i0, type: AriaDescriber, deps: [{ token: DOCUMENT }], target: i0.ɵɵFactoryTarget.Injectable });\nAriaDescriber.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"13.0.1\", ngImport: i0, type: AriaDescriber, providedIn: 'root' });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"13.0.1\", ngImport: i0, type: AriaDescriber, decorators: [{\n type: Injectable,\n args: [{ providedIn: 'root' }]\n }], ctorParameters: function () { return [{ type: undefined, decorators: [{\n type: Inject,\n args: [DOCUMENT]\n }] }]; } });\n/** Gets a key that can be used to look messages up in the registry. */\nfunction getKey(message, role) {\n return typeof message === 'string' ? `${role || ''}/${message}` : message;\n}\n/** Assigns a unique ID to an element, if it doesn't have one already. */\nfunction setMessageId(element) {\n if (!element.id) {\n element.id = `${CDK_DESCRIBEDBY_ID_PREFIX}-${nextId++}`;\n }\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * This class manages keyboard events for selectable lists. If you pass it a query list\n * of items, it will set the active item correctly when arrow events occur.\n */\nclass ListKeyManager {\n constructor(_items) {\n this._items = _items;\n this._activeItemIndex = -1;\n this._activeItem = null;\n this._wrap = false;\n this._letterKeyStream = new Subject();\n this._typeaheadSubscription = Subscription.EMPTY;\n this._vertical = true;\n this._allowedModifierKeys = [];\n this._homeAndEnd = false;\n /**\n * Predicate function that can be used to check whether an item should be skipped\n * by the key manager. By default, disabled items are skipped.\n */\n this._skipPredicateFn = (item) => item.disabled;\n // Buffer for the letters that the user has pressed when the typeahead option is turned on.\n this._pressedLetters = [];\n /**\n * Stream that emits any time the TAB key is pressed, so components can react\n * when focus is shifted off of the list.\n */\n this.tabOut = new Subject();\n /** Stream that emits whenever the active item of the list manager changes. */\n this.change = new Subject();\n // We allow for the items to be an array because, in some cases, the consumer may\n // not have access to a QueryList of the items they want to manage (e.g. when the\n // items aren't being collected via `ViewChildren` or `ContentChildren`).\n if (_items instanceof QueryList) {\n _items.changes.subscribe((newItems) => {\n if (this._activeItem) {\n const itemArray = newItems.toArray();\n const newIndex = itemArray.indexOf(this._activeItem);\n if (newIndex > -1 && newIndex !== this._activeItemIndex) {\n this._activeItemIndex = newIndex;\n }\n }\n });\n }\n }\n /**\n * Sets the predicate function that determines which items should be skipped by the\n * list key manager.\n * @param predicate Function that determines whether the given item should be skipped.\n */\n skipPredicate(predicate) {\n this._skipPredicateFn = predicate;\n return this;\n }\n /**\n * Configures wrapping mode, which determines whether the active item will wrap to\n * the other end of list when there are no more items in the given direction.\n * @param shouldWrap Whether the list should wrap when reaching the end.\n */\n withWrap(shouldWrap = true) {\n this._wrap = shouldWrap;\n return this;\n }\n /**\n * Configures whether the key manager should be able to move the selection vertically.\n * @param enabled Whether vertical selection should be enabled.\n */\n withVerticalOrientation(enabled = true) {\n this._vertical = enabled;\n return this;\n }\n /**\n * Configures the key manager to move the selection horizontally.\n * Passing in `null` will disable horizontal movement.\n * @param direction Direction in which the selection can be moved.\n */\n withHorizontalOrientation(direction) {\n this._horizontal = direction;\n return this;\n }\n /**\n * Modifier keys which are allowed to be held down and whose default actions will be prevented\n * as the user is pressing the arrow keys. Defaults to not allowing any modifier keys.\n */\n withAllowedModifierKeys(keys) {\n this._allowedModifierKeys = keys;\n return this;\n }\n /**\n * Turns on typeahead mode which allows users to set the active item by typing.\n * @param debounceInterval Time to wait after the last keystroke before setting the active item.\n */\n withTypeAhead(debounceInterval = 200) {\n if ((typeof ngDevMode === 'undefined' || ngDevMode) &&\n this._items.length &&\n this._items.some(item => typeof item.getLabel !== 'function')) {\n throw Error('ListKeyManager items in typeahead mode must implement the `getLabel` method.');\n }\n this._typeaheadSubscription.unsubscribe();\n // Debounce the presses of non-navigational keys, collect the ones that correspond to letters\n // and convert those letters back into a string. Afterwards find the first item that starts\n // with that string and select it.\n this._typeaheadSubscription = this._letterKeyStream\n .pipe(tap(letter => this._pressedLetters.push(letter)), debounceTime(debounceInterval), filter(() => this._pressedLetters.length > 0), map(() => this._pressedLetters.join('')))\n .subscribe(inputString => {\n const items = this._getItemsArray();\n // Start at 1 because we want to start searching at the item immediately\n // following the current active item.\n for (let i = 1; i < items.length + 1; i++) {\n const index = (this._activeItemIndex + i) % items.length;\n const item = items[index];\n if (!this._skipPredicateFn(item) &&\n item.getLabel().toUpperCase().trim().indexOf(inputString) === 0) {\n this.setActiveItem(index);\n break;\n }\n }\n this._pressedLetters = [];\n });\n return this;\n }\n /**\n * Configures the key manager to activate the first and last items\n * respectively when the Home or End key is pressed.\n * @param enabled Whether pressing the Home or End key activates the first/last item.\n */\n withHomeAndEnd(enabled = true) {\n this._homeAndEnd = enabled;\n return this;\n }\n setActiveItem(item) {\n const previousActiveItem = this._activeItem;\n this.updateActiveItem(item);\n if (this._activeItem !== previousActiveItem) {\n this.change.next(this._activeItemIndex);\n }\n }\n /**\n * Sets the active item depending on the key event passed in.\n * @param event Keyboard event to be used for determining which element should be active.\n */\n onKeydown(event) {\n const keyCode = event.keyCode;\n const modifiers = ['altKey', 'ctrlKey', 'metaKey', 'shiftKey'];\n const isModifierAllowed = modifiers.every(modifier => {\n return !event[modifier] || this._allowedModifierKeys.indexOf(modifier) > -1;\n });\n switch (keyCode) {\n case TAB:\n this.tabOut.next();\n return;\n case DOWN_ARROW:\n if (this._vertical && isModifierAllowed) {\n this.setNextItemActive();\n break;\n }\n else {\n return;\n }\n case UP_ARROW:\n if (this._vertical && isModifierAllowed) {\n this.setPreviousItemActive();\n break;\n }\n else {\n return;\n }\n case RIGHT_ARROW:\n if (this._horizontal && isModifierAllowed) {\n this._horizontal === 'rtl' ? this.setPreviousItemActive() : this.setNextItemActive();\n break;\n }\n else {\n return;\n }\n case LEFT_ARROW:\n if (this._horizontal && isModifierAllowed) {\n this._horizontal === 'rtl' ? this.setNextItemActive() : this.setPreviousItemActive();\n break;\n }\n else {\n return;\n }\n case HOME:\n if (this._homeAndEnd && isModifierAllowed) {\n this.setFirstItemActive();\n break;\n }\n else {\n return;\n }\n case END:\n if (this._homeAndEnd && isModifierAllowed) {\n this.setLastItemActive();\n break;\n }\n else {\n return;\n }\n default:\n if (isModifierAllowed || hasModifierKey(event, 'shiftKey')) {\n // Attempt to use the `event.key` which also maps it to the user's keyboard language,\n // otherwise fall back to resolving alphanumeric characters via the keyCode.\n if (event.key && event.key.length === 1) {\n this._letterKeyStream.next(event.key.toLocaleUpperCase());\n }\n else if ((keyCode >= A && keyCode <= Z) || (keyCode >= ZERO && keyCode <= NINE)) {\n this._letterKeyStream.next(String.fromCharCode(keyCode));\n }\n }\n // Note that we return here, in order to avoid preventing\n // the default action of non-navigational keys.\n return;\n }\n this._pressedLetters = [];\n event.preventDefault();\n }\n /** Index of the currently active item. */\n get activeItemIndex() {\n return this._activeItemIndex;\n }\n /** The active item. */\n get activeItem() {\n return this._activeItem;\n }\n /** Gets whether the user is currently typing into the manager using the typeahead feature. */\n isTyping() {\n return this._pressedLetters.length > 0;\n }\n /** Sets the active item to the first enabled item in the list. */\n setFirstItemActive() {\n this._setActiveItemByIndex(0, 1);\n }\n /** Sets the active item to the last enabled item in the list. */\n setLastItemActive() {\n this._setActiveItemByIndex(this._items.length - 1, -1);\n }\n /** Sets the active item to the next enabled item in the list. */\n setNextItemActive() {\n this._activeItemIndex < 0 ? this.setFirstItemActive() : this._setActiveItemByDelta(1);\n }\n /** Sets the active item to a previous enabled item in the list. */\n setPreviousItemActive() {\n this._activeItemIndex < 0 && this._wrap\n ? this.setLastItemActive()\n : this._setActiveItemByDelta(-1);\n }\n updateActiveItem(item) {\n const itemArray = this._getItemsArray();\n const index = typeof item === 'number' ? item : itemArray.indexOf(item);\n const activeItem = itemArray[index];\n // Explicitly check for `null` and `undefined` because other falsy values are valid.\n this._activeItem = activeItem == null ? null : activeItem;\n this._activeItemIndex = index;\n }\n /**\n * This method sets the active item, given a list of items and the delta between the\n * currently active item and the new active item. It will calculate differently\n * depending on whether wrap mode is turned on.\n */\n _setActiveItemByDelta(delta) {\n this._wrap ? this._setActiveInWrapMode(delta) : this._setActiveInDefaultMode(delta);\n }\n /**\n * Sets the active item properly given \"wrap\" mode. In other words, it will continue to move\n * down the list until it finds an item that is not disabled, and it will wrap if it\n * encounters either end of the list.\n */\n _setActiveInWrapMode(delta) {\n const items = this._getItemsArray();\n for (let i = 1; i <= items.length; i++) {\n const index = (this._activeItemIndex + delta * i + items.length) % items.length;\n const item = items[index];\n if (!this._skipPredicateFn(item)) {\n this.setActiveItem(index);\n return;\n }\n }\n }\n /**\n * Sets the active item properly given the default mode. In other words, it will\n * continue to move down the list until it finds an item that is not disabled. If\n * it encounters either end of the list, it will stop and not wrap.\n */\n _setActiveInDefaultMode(delta) {\n this._setActiveItemByIndex(this._activeItemIndex + delta, delta);\n }\n /**\n * Sets the active item to the first enabled item starting at the index specified. If the\n * item is disabled, it will move in the fallbackDelta direction until it either\n * finds an enabled item or encounters the end of the list.\n */\n _setActiveItemByIndex(index, fallbackDelta) {\n const items = this._getItemsArray();\n if (!items[index]) {\n return;\n }\n while (this._skipPredicateFn(items[index])) {\n index += fallbackDelta;\n if (!items[index]) {\n return;\n }\n }\n this.setActiveItem(index);\n }\n /** Returns the items as an array. */\n _getItemsArray() {\n return this._items instanceof QueryList ? this._items.toArray() : this._items;\n }\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nclass ActiveDescendantKeyManager extends ListKeyManager {\n setActiveItem(index) {\n if (this.activeItem) {\n this.activeItem.setInactiveStyles();\n }\n super.setActiveItem(index);\n if (this.activeItem) {\n this.activeItem.setActiveStyles();\n }\n }\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nclass FocusKeyManager extends ListKeyManager {\n constructor() {\n super(...arguments);\n this._origin = 'program';\n }\n /**\n * Sets the focus origin that will be passed in to the items for any subsequent `focus` calls.\n * @param origin Focus origin to be used when focusing items.\n */\n setFocusOrigin(origin) {\n this._origin = origin;\n return this;\n }\n setActiveItem(item) {\n super.setActiveItem(item);\n if (this.activeItem) {\n this.activeItem.focus(this._origin);\n }\n }\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * Configuration for the isFocusable method.\n */\nclass IsFocusableConfig {\n constructor() {\n /**\n * Whether to count an element as focusable even if it is not currently visible.\n */\n this.ignoreVisibility = false;\n }\n}\n// The InteractivityChecker leans heavily on the ally.js accessibility utilities.\n// Methods like `isTabbable` are only covering specific edge-cases for the browsers which are\n// supported.\n/**\n * Utility for checking the interactivity of an element, such as whether is is focusable or\n * tabbable.\n */\nclass InteractivityChecker {\n constructor(_platform) {\n this._platform = _platform;\n }\n /**\n * Gets whether an element is disabled.\n *\n * @param element Element to be checked.\n * @returns Whether the element is disabled.\n */\n isDisabled(element) {\n // This does not capture some cases, such as a non-form control with a disabled attribute or\n // a form control inside of a disabled form, but should capture the most common cases.\n return element.hasAttribute('disabled');\n }\n /**\n * Gets whether an element is visible for the purposes of interactivity.\n *\n * This will capture states like `display: none` and `visibility: hidden`, but not things like\n * being clipped by an `overflow: hidden` parent or being outside the viewport.\n *\n * @returns Whether the element is visible.\n */\n isVisible(element) {\n return hasGeometry(element) && getComputedStyle(element).visibility === 'visible';\n }\n /**\n * Gets whether an element can be reached via Tab key.\n * Assumes that the element has already been checked with isFocusable.\n *\n * @param element Element to be checked.\n * @returns Whether the element is tabbable.\n */\n isTabbable(element) {\n // Nothing is tabbable on the server 😎\n if (!this._platform.isBrowser) {\n return false;\n }\n const frameElement = getFrameElement(getWindow(element));\n if (frameElement) {\n // Frame elements inherit their tabindex onto all child elements.\n if (getTabIndexValue(frameElement) === -1) {\n return false;\n }\n // Browsers disable tabbing to an element inside of an invisible frame.\n if (!this.isVisible(frameElement)) {\n return false;\n }\n }\n let nodeName = element.nodeName.toLowerCase();\n let tabIndexValue = getTabIndexValue(element);\n if (element.hasAttribute('contenteditable')) {\n return tabIndexValue !== -1;\n }\n if (nodeName === 'iframe' || nodeName === 'object') {\n // The frame or object's content may be tabbable depending on the content, but it's\n // not possibly to reliably detect the content of the frames. We always consider such\n // elements as non-tabbable.\n return false;\n }\n // In iOS, the browser only considers some specific elements as tabbable.\n if (this._platform.WEBKIT && this._platform.IOS && !isPotentiallyTabbableIOS(element)) {\n return false;\n }\n if (nodeName === 'audio') {\n // Audio elements without controls enabled are never tabbable, regardless\n // of the tabindex attribute explicitly being set.\n if (!element.hasAttribute('controls')) {\n return false;\n }\n // Audio elements with controls are by default tabbable unless the\n // tabindex attribute is set to `-1` explicitly.\n return tabIndexValue !== -1;\n }\n if (nodeName === 'video') {\n // For all video elements, if the tabindex attribute is set to `-1`, the video\n // is not tabbable. Note: We cannot rely on the default `HTMLElement.tabIndex`\n // property as that one is set to `-1` in Chrome, Edge and Safari v13.1. The\n // tabindex attribute is the source of truth here.\n if (tabIndexValue === -1) {\n return false;\n }\n // If the tabindex is explicitly set, and not `-1` (as per check before), the\n // video element is always tabbable (regardless of whether it has controls or not).\n if (tabIndexValue !== null) {\n return true;\n }\n // Otherwise (when no explicit tabindex is set), a video is only tabbable if it\n // has controls enabled. Firefox is special as videos are always tabbable regardless\n // of whether there are controls or not.\n return this._platform.FIREFOX || element.hasAttribute('controls');\n }\n return element.tabIndex >= 0;\n }\n /**\n * Gets whether an element can be focused by the user.\n *\n * @param element Element to be checked.\n * @param config The config object with options to customize this method's behavior\n * @returns Whether the element is focusable.\n */\n isFocusable(element, config) {\n // Perform checks in order of left to most expensive.\n // Again, naive approach that does not capture many edge cases and browser quirks.\n return (isPotentiallyFocusable(element) &&\n !this.isDisabled(element) &&\n (config?.ignoreVisibility || this.isVisible(element)));\n }\n}\nInteractivityChecker.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"13.0.1\", ngImport: i0, type: InteractivityChecker, deps: [{ token: i1.Platform }], target: i0.ɵɵFactoryTarget.Injectable });\nInteractivityChecker.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"13.0.1\", ngImport: i0, type: InteractivityChecker, providedIn: 'root' });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"13.0.1\", ngImport: i0, type: InteractivityChecker, decorators: [{\n type: Injectable,\n args: [{ providedIn: 'root' }]\n }], ctorParameters: function () { return [{ type: i1.Platform }]; } });\n/**\n * Returns the frame element from a window object. Since browsers like MS Edge throw errors if\n * the frameElement property is being accessed from a different host address, this property\n * should be accessed carefully.\n */\nfunction getFrameElement(window) {\n try {\n return window.frameElement;\n }\n catch {\n return null;\n }\n}\n/** Checks whether the specified element has any geometry / rectangles. */\nfunction hasGeometry(element) {\n // Use logic from jQuery to check for an invisible element.\n // See https://github.com/jquery/jquery/blob/master/src/css/hiddenVisibleSelectors.js#L12\n return !!(element.offsetWidth ||\n element.offsetHeight ||\n (typeof element.getClientRects === 'function' && element.getClientRects().length));\n}\n/** Gets whether an element's */\nfunction isNativeFormElement(element) {\n let nodeName = element.nodeName.toLowerCase();\n return (nodeName === 'input' ||\n nodeName === 'select' ||\n nodeName === 'button' ||\n nodeName === 'textarea');\n}\n/** Gets whether an element is an ``. */\nfunction isHiddenInput(element) {\n return isInputElement(element) && element.type == 'hidden';\n}\n/** Gets whether an element is an anchor that has an href attribute. */\nfunction isAnchorWithHref(element) {\n return isAnchorElement(element) && element.hasAttribute('href');\n}\n/** Gets whether an element is an input element. */\nfunction isInputElement(element) {\n return element.nodeName.toLowerCase() == 'input';\n}\n/** Gets whether an element is an anchor element. */\nfunction isAnchorElement(element) {\n return element.nodeName.toLowerCase() == 'a';\n}\n/** Gets whether an element has a valid tabindex. */\nfunction hasValidTabIndex(element) {\n if (!element.hasAttribute('tabindex') || element.tabIndex === undefined) {\n return false;\n }\n let tabIndex = element.getAttribute('tabindex');\n return !!(tabIndex && !isNaN(parseInt(tabIndex, 10)));\n}\n/**\n * Returns the parsed tabindex from the element attributes instead of returning the\n * evaluated tabindex from the browsers defaults.\n */\nfunction getTabIndexValue(element) {\n if (!hasValidTabIndex(element)) {\n return null;\n }\n // See browser issue in Gecko https://bugzilla.mozilla.org/show_bug.cgi?id=1128054\n const tabIndex = parseInt(element.getAttribute('tabindex') || '', 10);\n return isNaN(tabIndex) ? -1 : tabIndex;\n}\n/** Checks whether the specified element is potentially tabbable on iOS */\nfunction isPotentiallyTabbableIOS(element) {\n let nodeName = element.nodeName.toLowerCase();\n let inputType = nodeName === 'input' && element.type;\n return (inputType === 'text' ||\n inputType === 'password' ||\n nodeName === 'select' ||\n nodeName === 'textarea');\n}\n/**\n * Gets whether an element is potentially focusable without taking current visible/disabled state\n * into account.\n */\nfunction isPotentiallyFocusable(element) {\n // Inputs are potentially focusable *unless* they're type=\"hidden\".\n if (isHiddenInput(element)) {\n return false;\n }\n return (isNativeFormElement(element) ||\n isAnchorWithHref(element) ||\n element.hasAttribute('contenteditable') ||\n hasValidTabIndex(element));\n}\n/** Gets the parent window of a DOM node with regards of being inside of an iframe. */\nfunction getWindow(node) {\n // ownerDocument is null if `node` itself *is* a document.\n return (node.ownerDocument && node.ownerDocument.defaultView) || window;\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * Class that allows for trapping focus within a DOM element.\n *\n * This class currently uses a relatively simple approach to focus trapping.\n * It assumes that the tab order is the same as DOM order, which is not necessarily true.\n * Things like `tabIndex > 0`, flex `order`, and shadow roots can cause the two to be misaligned.\n *\n * @deprecated Use `ConfigurableFocusTrap` instead.\n * @breaking-change 11.0.0\n */\nclass FocusTrap {\n constructor(_element, _checker, _ngZone, _document, deferAnchors = false) {\n this._element = _element;\n this._checker = _checker;\n this._ngZone = _ngZone;\n this._document = _document;\n this._hasAttached = false;\n // Event listeners for the anchors. Need to be regular functions so that we can unbind them later.\n this.startAnchorListener = () => this.focusLastTabbableElement();\n this.endAnchorListener = () => this.focusFirstTabbableElement();\n this._enabled = true;\n if (!deferAnchors) {\n this.attachAnchors();\n }\n }\n /** Whether the focus trap is active. */\n get enabled() {\n return this._enabled;\n }\n set enabled(value) {\n this._enabled = value;\n if (this._startAnchor && this._endAnchor) {\n this._toggleAnchorTabIndex(value, this._startAnchor);\n this._toggleAnchorTabIndex(value, this._endAnchor);\n }\n }\n /** Destroys the focus trap by cleaning up the anchors. */\n destroy() {\n const startAnchor = this._startAnchor;\n const endAnchor = this._endAnchor;\n if (startAnchor) {\n startAnchor.removeEventListener('focus', this.startAnchorListener);\n startAnchor.remove();\n }\n if (endAnchor) {\n endAnchor.removeEventListener('focus', this.endAnchorListener);\n endAnchor.remove();\n }\n this._startAnchor = this._endAnchor = null;\n this._hasAttached = false;\n }\n /**\n * Inserts the anchors into the DOM. This is usually done automatically\n * in the constructor, but can be deferred for cases like directives with `*ngIf`.\n * @returns Whether the focus trap managed to attach successfully. This may not be the case\n * if the target element isn't currently in the DOM.\n */\n attachAnchors() {\n // If we're not on the browser, there can be no focus to trap.\n if (this._hasAttached) {\n return true;\n }\n this._ngZone.runOutsideAngular(() => {\n if (!this._startAnchor) {\n this._startAnchor = this._createAnchor();\n this._startAnchor.addEventListener('focus', this.startAnchorListener);\n }\n if (!this._endAnchor) {\n this._endAnchor = this._createAnchor();\n this._endAnchor.addEventListener('focus', this.endAnchorListener);\n }\n });\n if (this._element.parentNode) {\n this._element.parentNode.insertBefore(this._startAnchor, this._element);\n this._element.parentNode.insertBefore(this._endAnchor, this._element.nextSibling);\n this._hasAttached = true;\n }\n return this._hasAttached;\n }\n /**\n * Waits for the zone to stabilize, then focuses the first tabbable element.\n * @returns Returns a promise that resolves with a boolean, depending\n * on whether focus was moved successfully.\n */\n focusInitialElementWhenReady(options) {\n return new Promise(resolve => {\n this._executeOnStable(() => resolve(this.focusInitialElement(options)));\n });\n }\n /**\n * Waits for the zone to stabilize, then focuses\n * the first tabbable element within the focus trap region.\n * @returns Returns a promise that resolves with a boolean, depending\n * on whether focus was moved successfully.\n */\n focusFirstTabbableElementWhenReady(options) {\n return new Promise(resolve => {\n this._executeOnStable(() => resolve(this.focusFirstTabbableElement(options)));\n });\n }\n /**\n * Waits for the zone to stabilize, then focuses\n * the last tabbable element within the focus trap region.\n * @returns Returns a promise that resolves with a boolean, depending\n * on whether focus was moved successfully.\n */\n focusLastTabbableElementWhenReady(options) {\n return new Promise(resolve => {\n this._executeOnStable(() => resolve(this.focusLastTabbableElement(options)));\n });\n }\n /**\n * Get the specified boundary element of the trapped region.\n * @param bound The boundary to get (start or end of trapped region).\n * @returns The boundary element.\n */\n _getRegionBoundary(bound) {\n // Contains the deprecated version of selector, for temporary backwards comparability.\n let markers = this._element.querySelectorAll(`[cdk-focus-region-${bound}], ` + `[cdkFocusRegion${bound}], ` + `[cdk-focus-${bound}]`);\n for (let i = 0; i < markers.length; i++) {\n // @breaking-change 8.0.0\n if (markers[i].hasAttribute(`cdk-focus-${bound}`)) {\n console.warn(`Found use of deprecated attribute 'cdk-focus-${bound}', ` +\n `use 'cdkFocusRegion${bound}' instead. The deprecated ` +\n `attribute will be removed in 8.0.0.`, markers[i]);\n }\n else if (markers[i].hasAttribute(`cdk-focus-region-${bound}`)) {\n console.warn(`Found use of deprecated attribute 'cdk-focus-region-${bound}', ` +\n `use 'cdkFocusRegion${bound}' instead. The deprecated attribute ` +\n `will be removed in 8.0.0.`, markers[i]);\n }\n }\n if (bound == 'start') {\n return markers.length ? markers[0] : this._getFirstTabbableElement(this._element);\n }\n return markers.length\n ? markers[markers.length - 1]\n : this._getLastTabbableElement(this._element);\n }\n /**\n * Focuses the element that should be focused when the focus trap is initialized.\n * @returns Whether focus was moved successfully.\n */\n focusInitialElement(options) {\n // Contains the deprecated version of selector, for temporary backwards comparability.\n const redirectToElement = this._element.querySelector(`[cdk-focus-initial], ` + `[cdkFocusInitial]`);\n if (redirectToElement) {\n // @breaking-change 8.0.0\n if (redirectToElement.hasAttribute(`cdk-focus-initial`)) {\n console.warn(`Found use of deprecated attribute 'cdk-focus-initial', ` +\n `use 'cdkFocusInitial' instead. The deprecated attribute ` +\n `will be removed in 8.0.0`, redirectToElement);\n }\n // Warn the consumer if the element they've pointed to\n // isn't focusable, when not in production mode.\n if ((typeof ngDevMode === 'undefined' || ngDevMode) &&\n !this._checker.isFocusable(redirectToElement)) {\n console.warn(`Element matching '[cdkFocusInitial]' is not focusable.`, redirectToElement);\n }\n if (!this._checker.isFocusable(redirectToElement)) {\n const focusableChild = this._getFirstTabbableElement(redirectToElement);\n focusableChild?.focus(options);\n return !!focusableChild;\n }\n redirectToElement.focus(options);\n return true;\n }\n return this.focusFirstTabbableElement(options);\n }\n /**\n * Focuses the first tabbable element within the focus trap region.\n * @returns Whether focus was moved successfully.\n */\n focusFirstTabbableElement(options) {\n const redirectToElement = this._getRegionBoundary('start');\n if (redirectToElement) {\n redirectToElement.focus(options);\n }\n return !!redirectToElement;\n }\n /**\n * Focuses the last tabbable element within the focus trap region.\n * @returns Whether focus was moved successfully.\n */\n focusLastTabbableElement(options) {\n const redirectToElement = this._getRegionBoundary('end');\n if (redirectToElement) {\n redirectToElement.focus(options);\n }\n return !!redirectToElement;\n }\n /**\n * Checks whether the focus trap has successfully been attached.\n */\n hasAttached() {\n return this._hasAttached;\n }\n /** Get the first tabbable element from a DOM subtree (inclusive). */\n _getFirstTabbableElement(root) {\n if (this._checker.isFocusable(root) && this._checker.isTabbable(root)) {\n return root;\n }\n const children = root.children;\n for (let i = 0; i < children.length; i++) {\n const tabbableChild = children[i].nodeType === this._document.ELEMENT_NODE\n ? this._getFirstTabbableElement(children[i])\n : null;\n if (tabbableChild) {\n return tabbableChild;\n }\n }\n return null;\n }\n /** Get the last tabbable element from a DOM subtree (inclusive). */\n _getLastTabbableElement(root) {\n if (this._checker.isFocusable(root) && this._checker.isTabbable(root)) {\n return root;\n }\n // Iterate in reverse DOM order.\n const children = root.children;\n for (let i = children.length - 1; i >= 0; i--) {\n const tabbableChild = children[i].nodeType === this._document.ELEMENT_NODE\n ? this._getLastTabbableElement(children[i])\n : null;\n if (tabbableChild) {\n return tabbableChild;\n }\n }\n return null;\n }\n /** Creates an anchor element. */\n _createAnchor() {\n const anchor = this._document.createElement('div');\n this._toggleAnchorTabIndex(this._enabled, anchor);\n anchor.classList.add('cdk-visually-hidden');\n anchor.classList.add('cdk-focus-trap-anchor');\n anchor.setAttribute('aria-hidden', 'true');\n return anchor;\n }\n /**\n * Toggles the `tabindex` of an anchor, based on the enabled state of the focus trap.\n * @param isEnabled Whether the focus trap is enabled.\n * @param anchor Anchor on which to toggle the tabindex.\n */\n _toggleAnchorTabIndex(isEnabled, anchor) {\n // Remove the tabindex completely, rather than setting it to -1, because if the\n // element has a tabindex, the user might still hit it when navigating with the arrow keys.\n isEnabled ? anchor.setAttribute('tabindex', '0') : anchor.removeAttribute('tabindex');\n }\n /**\n * Toggles the`tabindex` of both anchors to either trap Tab focus or allow it to escape.\n * @param enabled: Whether the anchors should trap Tab.\n */\n toggleAnchors(enabled) {\n if (this._startAnchor && this._endAnchor) {\n this._toggleAnchorTabIndex(enabled, this._startAnchor);\n this._toggleAnchorTabIndex(enabled, this._endAnchor);\n }\n }\n /** Executes a function when the zone is stable. */\n _executeOnStable(fn) {\n if (this._ngZone.isStable) {\n fn();\n }\n else {\n this._ngZone.onStable.pipe(take(1)).subscribe(fn);\n }\n }\n}\n/**\n * Factory that allows easy instantiation of focus traps.\n * @deprecated Use `ConfigurableFocusTrapFactory` instead.\n * @breaking-change 11.0.0\n */\nclass FocusTrapFactory {\n constructor(_checker, _ngZone, _document) {\n this._checker = _checker;\n this._ngZone = _ngZone;\n this._document = _document;\n }\n /**\n * Creates a focus-trapped region around the given element.\n * @param element The element around which focus will be trapped.\n * @param deferCaptureElements Defers the creation of focus-capturing elements to be done\n * manually by the user.\n * @returns The created focus trap instance.\n */\n create(element, deferCaptureElements = false) {\n return new FocusTrap(element, this._checker, this._ngZone, this._document, deferCaptureElements);\n }\n}\nFocusTrapFactory.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"13.0.1\", ngImport: i0, type: FocusTrapFactory, deps: [{ token: InteractivityChecker }, { token: i0.NgZone }, { token: DOCUMENT }], target: i0.ɵɵFactoryTarget.Injectable });\nFocusTrapFactory.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"13.0.1\", ngImport: i0, type: FocusTrapFactory, providedIn: 'root' });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"13.0.1\", ngImport: i0, type: FocusTrapFactory, decorators: [{\n type: Injectable,\n args: [{ providedIn: 'root' }]\n }], ctorParameters: function () { return [{ type: InteractivityChecker }, { type: i0.NgZone }, { type: undefined, decorators: [{\n type: Inject,\n args: [DOCUMENT]\n }] }]; } });\n/** Directive for trapping focus within a region. */\nclass CdkTrapFocus {\n constructor(_elementRef, _focusTrapFactory, \n /**\n * @deprecated No longer being used. To be removed.\n * @breaking-change 13.0.0\n */\n _document) {\n this._elementRef = _elementRef;\n this._focusTrapFactory = _focusTrapFactory;\n /** Previously focused element to restore focus to upon destroy when using autoCapture. */\n this._previouslyFocusedElement = null;\n this.focusTrap = this._focusTrapFactory.create(this._elementRef.nativeElement, true);\n }\n /** Whether the focus trap is active. */\n get enabled() {\n return this.focusTrap.enabled;\n }\n set enabled(value) {\n this.focusTrap.enabled = coerceBooleanProperty(value);\n }\n /**\n * Whether the directive should automatically move focus into the trapped region upon\n * initialization and return focus to the previous activeElement upon destruction.\n */\n get autoCapture() {\n return this._autoCapture;\n }\n set autoCapture(value) {\n this._autoCapture = coerceBooleanProperty(value);\n }\n ngOnDestroy() {\n this.focusTrap.destroy();\n // If we stored a previously focused element when using autoCapture, return focus to that\n // element now that the trapped region is being destroyed.\n if (this._previouslyFocusedElement) {\n this._previouslyFocusedElement.focus();\n this._previouslyFocusedElement = null;\n }\n }\n ngAfterContentInit() {\n this.focusTrap.attachAnchors();\n if (this.autoCapture) {\n this._captureFocus();\n }\n }\n ngDoCheck() {\n if (!this.focusTrap.hasAttached()) {\n this.focusTrap.attachAnchors();\n }\n }\n ngOnChanges(changes) {\n const autoCaptureChange = changes['autoCapture'];\n if (autoCaptureChange &&\n !autoCaptureChange.firstChange &&\n this.autoCapture &&\n this.focusTrap.hasAttached()) {\n this._captureFocus();\n }\n }\n _captureFocus() {\n this._previouslyFocusedElement = _getFocusedElementPierceShadowDom();\n this.focusTrap.focusInitialElementWhenReady();\n }\n}\nCdkTrapFocus.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"13.0.1\", ngImport: i0, type: CdkTrapFocus, deps: [{ token: i0.ElementRef }, { token: FocusTrapFactory }, { token: DOCUMENT }], target: i0.ɵɵFactoryTarget.Directive });\nCdkTrapFocus.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"12.0.0\", version: \"13.0.1\", type: CdkTrapFocus, selector: \"[cdkTrapFocus]\", inputs: { enabled: [\"cdkTrapFocus\", \"enabled\"], autoCapture: [\"cdkTrapFocusAutoCapture\", \"autoCapture\"] }, exportAs: [\"cdkTrapFocus\"], usesOnChanges: true, ngImport: i0 });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"13.0.1\", ngImport: i0, type: CdkTrapFocus, decorators: [{\n type: Directive,\n args: [{\n selector: '[cdkTrapFocus]',\n exportAs: 'cdkTrapFocus',\n }]\n }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: FocusTrapFactory }, { type: undefined, decorators: [{\n type: Inject,\n args: [DOCUMENT]\n }] }]; }, propDecorators: { enabled: [{\n type: Input,\n args: ['cdkTrapFocus']\n }], autoCapture: [{\n type: Input,\n args: ['cdkTrapFocusAutoCapture']\n }] } });\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * Class that allows for trapping focus within a DOM element.\n *\n * This class uses a strategy pattern that determines how it traps focus.\n * See FocusTrapInertStrategy.\n */\nclass ConfigurableFocusTrap extends FocusTrap {\n constructor(_element, _checker, _ngZone, _document, _focusTrapManager, _inertStrategy, config) {\n super(_element, _checker, _ngZone, _document, config.defer);\n this._focusTrapManager = _focusTrapManager;\n this._inertStrategy = _inertStrategy;\n this._focusTrapManager.register(this);\n }\n /** Whether the FocusTrap is enabled. */\n get enabled() {\n return this._enabled;\n }\n set enabled(value) {\n this._enabled = value;\n if (this._enabled) {\n this._focusTrapManager.register(this);\n }\n else {\n this._focusTrapManager.deregister(this);\n }\n }\n /** Notifies the FocusTrapManager that this FocusTrap will be destroyed. */\n destroy() {\n this._focusTrapManager.deregister(this);\n super.destroy();\n }\n /** @docs-private Implemented as part of ManagedFocusTrap. */\n _enable() {\n this._inertStrategy.preventFocus(this);\n this.toggleAnchors(true);\n }\n /** @docs-private Implemented as part of ManagedFocusTrap. */\n _disable() {\n this._inertStrategy.allowFocus(this);\n this.toggleAnchors(false);\n }\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/** The injection token used to specify the inert strategy. */\nconst FOCUS_TRAP_INERT_STRATEGY = new InjectionToken('FOCUS_TRAP_INERT_STRATEGY');\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * Lightweight FocusTrapInertStrategy that adds a document focus event\n * listener to redirect focus back inside the FocusTrap.\n */\nclass EventListenerFocusTrapInertStrategy {\n constructor() {\n /** Focus event handler. */\n this._listener = null;\n }\n /** Adds a document event listener that keeps focus inside the FocusTrap. */\n preventFocus(focusTrap) {\n // Ensure there's only one listener per document\n if (this._listener) {\n focusTrap._document.removeEventListener('focus', this._listener, true);\n }\n this._listener = (e) => this._trapFocus(focusTrap, e);\n focusTrap._ngZone.runOutsideAngular(() => {\n focusTrap._document.addEventListener('focus', this._listener, true);\n });\n }\n /** Removes the event listener added in preventFocus. */\n allowFocus(focusTrap) {\n if (!this._listener) {\n return;\n }\n focusTrap._document.removeEventListener('focus', this._listener, true);\n this._listener = null;\n }\n /**\n * Refocuses the first element in the FocusTrap if the focus event target was outside\n * the FocusTrap.\n *\n * This is an event listener callback. The event listener is added in runOutsideAngular,\n * so all this code runs outside Angular as well.\n */\n _trapFocus(focusTrap, event) {\n const target = event.target;\n const focusTrapRoot = focusTrap._element;\n // Don't refocus if target was in an overlay, because the overlay might be associated\n // with an element inside the FocusTrap, ex. mat-select.\n if (target && !focusTrapRoot.contains(target) && !target.closest?.('div.cdk-overlay-pane')) {\n // Some legacy FocusTrap usages have logic that focuses some element on the page\n // just before FocusTrap is destroyed. For backwards compatibility, wait\n // to be sure FocusTrap is still enabled before refocusing.\n setTimeout(() => {\n // Check whether focus wasn't put back into the focus trap while the timeout was pending.\n if (focusTrap.enabled && !focusTrapRoot.contains(focusTrap._document.activeElement)) {\n focusTrap.focusFirstTabbableElement();\n }\n });\n }\n }\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/** Injectable that ensures only the most recently enabled FocusTrap is active. */\nclass FocusTrapManager {\n constructor() {\n // A stack of the FocusTraps on the page. Only the FocusTrap at the\n // top of the stack is active.\n this._focusTrapStack = [];\n }\n /**\n * Disables the FocusTrap at the top of the stack, and then pushes\n * the new FocusTrap onto the stack.\n */\n register(focusTrap) {\n // Dedupe focusTraps that register multiple times.\n this._focusTrapStack = this._focusTrapStack.filter(ft => ft !== focusTrap);\n let stack = this._focusTrapStack;\n if (stack.length) {\n stack[stack.length - 1]._disable();\n }\n stack.push(focusTrap);\n focusTrap._enable();\n }\n /**\n * Removes the FocusTrap from the stack, and activates the\n * FocusTrap that is the new top of the stack.\n */\n deregister(focusTrap) {\n focusTrap._disable();\n const stack = this._focusTrapStack;\n const i = stack.indexOf(focusTrap);\n if (i !== -1) {\n stack.splice(i, 1);\n if (stack.length) {\n stack[stack.length - 1]._enable();\n }\n }\n }\n}\nFocusTrapManager.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"13.0.1\", ngImport: i0, type: FocusTrapManager, deps: [], target: i0.ɵɵFactoryTarget.Injectable });\nFocusTrapManager.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"13.0.1\", ngImport: i0, type: FocusTrapManager, providedIn: 'root' });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"13.0.1\", ngImport: i0, type: FocusTrapManager, decorators: [{\n type: Injectable,\n args: [{ providedIn: 'root' }]\n }] });\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/** Factory that allows easy instantiation of configurable focus traps. */\nclass ConfigurableFocusTrapFactory {\n constructor(_checker, _ngZone, _focusTrapManager, _document, _inertStrategy) {\n this._checker = _checker;\n this._ngZone = _ngZone;\n this._focusTrapManager = _focusTrapManager;\n this._document = _document;\n // TODO split up the strategies into different modules, similar to DateAdapter.\n this._inertStrategy = _inertStrategy || new EventListenerFocusTrapInertStrategy();\n }\n create(element, config = { defer: false }) {\n let configObject;\n if (typeof config === 'boolean') {\n configObject = { defer: config };\n }\n else {\n configObject = config;\n }\n return new ConfigurableFocusTrap(element, this._checker, this._ngZone, this._document, this._focusTrapManager, this._inertStrategy, configObject);\n }\n}\nConfigurableFocusTrapFactory.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"13.0.1\", ngImport: i0, type: ConfigurableFocusTrapFactory, deps: [{ token: InteractivityChecker }, { token: i0.NgZone }, { token: FocusTrapManager }, { token: DOCUMENT }, { token: FOCUS_TRAP_INERT_STRATEGY, optional: true }], target: i0.ɵɵFactoryTarget.Injectable });\nConfigurableFocusTrapFactory.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"13.0.1\", ngImport: i0, type: ConfigurableFocusTrapFactory, providedIn: 'root' });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"13.0.1\", ngImport: i0, type: ConfigurableFocusTrapFactory, decorators: [{\n type: Injectable,\n args: [{ providedIn: 'root' }]\n }], ctorParameters: function () { return [{ type: InteractivityChecker }, { type: i0.NgZone }, { type: FocusTrapManager }, { type: undefined, decorators: [{\n type: Inject,\n args: [DOCUMENT]\n }] }, { type: undefined, decorators: [{\n type: Optional\n }, {\n type: Inject,\n args: [FOCUS_TRAP_INERT_STRATEGY]\n }] }]; } });\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/** Gets whether an event could be a faked `mousedown` event dispatched by a screen reader. */\nfunction isFakeMousedownFromScreenReader(event) {\n // Some screen readers will dispatch a fake `mousedown` event when pressing enter or space on\n // a clickable element. We can distinguish these events when both `offsetX` and `offsetY` are\n // zero. Note that there's an edge case where the user could click the 0x0 spot of the screen\n // themselves, but that is unlikely to contain interaction elements. Historically we used to\n // check `event.buttons === 0`, however that no longer works on recent versions of NVDA.\n return event.offsetX === 0 && event.offsetY === 0;\n}\n/** Gets whether an event could be a faked `touchstart` event dispatched by a screen reader. */\nfunction isFakeTouchstartFromScreenReader(event) {\n const touch = (event.touches && event.touches[0]) || (event.changedTouches && event.changedTouches[0]);\n // A fake `touchstart` can be distinguished from a real one by looking at the `identifier`\n // which is typically >= 0 on a real device versus -1 from a screen reader. Just to be safe,\n // we can also look at `radiusX` and `radiusY`. This behavior was observed against a Windows 10\n // device with a touch screen running NVDA v2020.4 and Firefox 85 or Chrome 88.\n return (!!touch &&\n touch.identifier === -1 &&\n (touch.radiusX == null || touch.radiusX === 1) &&\n (touch.radiusY == null || touch.radiusY === 1));\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * Injectable options for the InputModalityDetector. These are shallowly merged with the default\n * options.\n */\nconst INPUT_MODALITY_DETECTOR_OPTIONS = new InjectionToken('cdk-input-modality-detector-options');\n/**\n * Default options for the InputModalityDetector.\n *\n * Modifier keys are ignored by default (i.e. when pressed won't cause the service to detect\n * keyboard input modality) for two reasons:\n *\n * 1. Modifier keys are commonly used with mouse to perform actions such as 'right click' or 'open\n * in new tab', and are thus less representative of actual keyboard interaction.\n * 2. VoiceOver triggers some keyboard events when linearly navigating with Control + Option (but\n * confusingly not with Caps Lock). Thus, to have parity with other screen readers, we ignore\n * these keys so as to not update the input modality.\n *\n * Note that we do not by default ignore the right Meta key on Safari because it has the same key\n * code as the ContextMenu key on other browsers. When we switch to using event.key, we can\n * distinguish between the two.\n */\nconst INPUT_MODALITY_DETECTOR_DEFAULT_OPTIONS = {\n ignoreKeys: [ALT, CONTROL, MAC_META, META, SHIFT],\n};\n/**\n * The amount of time needed to pass after a touchstart event in order for a subsequent mousedown\n * event to be attributed as mouse and not touch.\n *\n * This is the value used by AngularJS Material. Through trial and error (on iPhone 6S) they found\n * that a value of around 650ms seems appropriate.\n */\nconst TOUCH_BUFFER_MS = 650;\n/**\n * Event listener options that enable capturing and also mark the listener as passive if the browser\n * supports it.\n */\nconst modalityEventListenerOptions = normalizePassiveListenerOptions({\n passive: true,\n capture: true,\n});\n/**\n * Service that detects the user's input modality.\n *\n * This service does not update the input modality when a user navigates with a screen reader\n * (e.g. linear navigation with VoiceOver, object navigation / browse mode with NVDA, virtual PC\n * cursor mode with JAWS). This is in part due to technical limitations (i.e. keyboard events do not\n * fire as expected in these modes) but is also arguably the correct behavior. Navigating with a\n * screen reader is akin to visually scanning a page, and should not be interpreted as actual user\n * input interaction.\n *\n * When a user is not navigating but *interacting* with a screen reader, this service attempts to\n * update the input modality to keyboard, but in general this service's behavior is largely\n * undefined.\n */\nclass InputModalityDetector {\n constructor(_platform, ngZone, document, options) {\n this._platform = _platform;\n /**\n * The most recently detected input modality event target. Is null if no input modality has been\n * detected or if the associated event target is null for some unknown reason.\n */\n this._mostRecentTarget = null;\n /** The underlying BehaviorSubject that emits whenever an input modality is detected. */\n this._modality = new BehaviorSubject(null);\n /**\n * The timestamp of the last touch input modality. Used to determine whether mousedown events\n * should be attributed to mouse or touch.\n */\n this._lastTouchMs = 0;\n /**\n * Handles keydown events. Must be an arrow function in order to preserve the context when it gets\n * bound.\n */\n this._onKeydown = (event) => {\n // If this is one of the keys we should ignore, then ignore it and don't update the input\n // modality to keyboard.\n if (this._options?.ignoreKeys?.some(keyCode => keyCode === event.keyCode)) {\n return;\n }\n this._modality.next('keyboard');\n this._mostRecentTarget = _getEventTarget(event);\n };\n /**\n * Handles mousedown events. Must be an arrow function in order to preserve the context when it\n * gets bound.\n */\n this._onMousedown = (event) => {\n // Touches trigger both touch and mouse events, so we need to distinguish between mouse events\n // that were triggered via mouse vs touch. To do so, check if the mouse event occurs closely\n // after the previous touch event.\n if (Date.now() - this._lastTouchMs < TOUCH_BUFFER_MS) {\n return;\n }\n // Fake mousedown events are fired by some screen readers when controls are activated by the\n // screen reader. Attribute them to keyboard input modality.\n this._modality.next(isFakeMousedownFromScreenReader(event) ? 'keyboard' : 'mouse');\n this._mostRecentTarget = _getEventTarget(event);\n };\n /**\n * Handles touchstart events. Must be an arrow function in order to preserve the context when it\n * gets bound.\n */\n this._onTouchstart = (event) => {\n // Same scenario as mentioned in _onMousedown, but on touch screen devices, fake touchstart\n // events are fired. Again, attribute to keyboard input modality.\n if (isFakeTouchstartFromScreenReader(event)) {\n this._modality.next('keyboard');\n return;\n }\n // Store the timestamp of this touch event, as it's used to distinguish between mouse events\n // triggered via mouse vs touch.\n this._lastTouchMs = Date.now();\n this._modality.next('touch');\n this._mostRecentTarget = _getEventTarget(event);\n };\n this._options = {\n ...INPUT_MODALITY_DETECTOR_DEFAULT_OPTIONS,\n ...options,\n };\n // Skip the first emission as it's null.\n this.modalityDetected = this._modality.pipe(skip(1));\n this.modalityChanged = this.modalityDetected.pipe(distinctUntilChanged());\n // If we're not in a browser, this service should do nothing, as there's no relevant input\n // modality to detect.\n if (_platform.isBrowser) {\n ngZone.runOutsideAngular(() => {\n document.addEventListener('keydown', this._onKeydown, modalityEventListenerOptions);\n document.addEventListener('mousedown', this._onMousedown, modalityEventListenerOptions);\n document.addEventListener('touchstart', this._onTouchstart, modalityEventListenerOptions);\n });\n }\n }\n /** The most recently detected input modality. */\n get mostRecentModality() {\n return this._modality.value;\n }\n ngOnDestroy() {\n this._modality.complete();\n if (this._platform.isBrowser) {\n document.removeEventListener('keydown', this._onKeydown, modalityEventListenerOptions);\n document.removeEventListener('mousedown', this._onMousedown, modalityEventListenerOptions);\n document.removeEventListener('touchstart', this._onTouchstart, modalityEventListenerOptions);\n }\n }\n}\nInputModalityDetector.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"13.0.1\", ngImport: i0, type: InputModalityDetector, deps: [{ token: i1.Platform }, { token: i0.NgZone }, { token: DOCUMENT }, { token: INPUT_MODALITY_DETECTOR_OPTIONS, optional: true }], target: i0.ɵɵFactoryTarget.Injectable });\nInputModalityDetector.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"13.0.1\", ngImport: i0, type: InputModalityDetector, providedIn: 'root' });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"13.0.1\", ngImport: i0, type: InputModalityDetector, decorators: [{\n type: Injectable,\n args: [{ providedIn: 'root' }]\n }], ctorParameters: function () { return [{ type: i1.Platform }, { type: i0.NgZone }, { type: Document, decorators: [{\n type: Inject,\n args: [DOCUMENT]\n }] }, { type: undefined, decorators: [{\n type: Optional\n }, {\n type: Inject,\n args: [INPUT_MODALITY_DETECTOR_OPTIONS]\n }] }]; } });\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nconst LIVE_ANNOUNCER_ELEMENT_TOKEN = new InjectionToken('liveAnnouncerElement', {\n providedIn: 'root',\n factory: LIVE_ANNOUNCER_ELEMENT_TOKEN_FACTORY,\n});\n/** @docs-private */\nfunction LIVE_ANNOUNCER_ELEMENT_TOKEN_FACTORY() {\n return null;\n}\n/** Injection token that can be used to configure the default options for the LiveAnnouncer. */\nconst LIVE_ANNOUNCER_DEFAULT_OPTIONS = new InjectionToken('LIVE_ANNOUNCER_DEFAULT_OPTIONS');\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nclass LiveAnnouncer {\n constructor(elementToken, _ngZone, _document, _defaultOptions) {\n this._ngZone = _ngZone;\n this._defaultOptions = _defaultOptions;\n // We inject the live element and document as `any` because the constructor signature cannot\n // reference browser globals (HTMLElement, Document) on non-browser environments, since having\n // a class decorator causes TypeScript to preserve the constructor signature types.\n this._document = _document;\n this._liveElement = elementToken || this._createLiveElement();\n }\n announce(message, ...args) {\n const defaultOptions = this._defaultOptions;\n let politeness;\n let duration;\n if (args.length === 1 && typeof args[0] === 'number') {\n duration = args[0];\n }\n else {\n [politeness, duration] = args;\n }\n this.clear();\n clearTimeout(this._previousTimeout);\n if (!politeness) {\n politeness =\n defaultOptions && defaultOptions.politeness ? defaultOptions.politeness : 'polite';\n }\n if (duration == null && defaultOptions) {\n duration = defaultOptions.duration;\n }\n // TODO: ensure changing the politeness works on all environments we support.\n this._liveElement.setAttribute('aria-live', politeness);\n // This 100ms timeout is necessary for some browser + screen-reader combinations:\n // - Both JAWS and NVDA over IE11 will not announce anything without a non-zero timeout.\n // - With Chrome and IE11 with NVDA or JAWS, a repeated (identical) message won't be read a\n // second time without clearing and then using a non-zero delay.\n // (using JAWS 17 at time of this writing).\n return this._ngZone.runOutsideAngular(() => {\n return new Promise(resolve => {\n clearTimeout(this._previousTimeout);\n this._previousTimeout = setTimeout(() => {\n this._liveElement.textContent = message;\n resolve();\n if (typeof duration === 'number') {\n this._previousTimeout = setTimeout(() => this.clear(), duration);\n }\n }, 100);\n });\n });\n }\n /**\n * Clears the current text from the announcer element. Can be used to prevent\n * screen readers from reading the text out again while the user is going\n * through the page landmarks.\n */\n clear() {\n if (this._liveElement) {\n this._liveElement.textContent = '';\n }\n }\n ngOnDestroy() {\n clearTimeout(this._previousTimeout);\n this._liveElement?.remove();\n this._liveElement = null;\n }\n _createLiveElement() {\n const elementClass = 'cdk-live-announcer-element';\n const previousElements = this._document.getElementsByClassName(elementClass);\n const liveEl = this._document.createElement('div');\n // Remove any old containers. This can happen when coming in from a server-side-rendered page.\n for (let i = 0; i < previousElements.length; i++) {\n previousElements[i].remove();\n }\n liveEl.classList.add(elementClass);\n liveEl.classList.add('cdk-visually-hidden');\n liveEl.setAttribute('aria-atomic', 'true');\n liveEl.setAttribute('aria-live', 'polite');\n this._document.body.appendChild(liveEl);\n return liveEl;\n }\n}\nLiveAnnouncer.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"13.0.1\", ngImport: i0, type: LiveAnnouncer, deps: [{ token: LIVE_ANNOUNCER_ELEMENT_TOKEN, optional: true }, { token: i0.NgZone }, { token: DOCUMENT }, { token: LIVE_ANNOUNCER_DEFAULT_OPTIONS, optional: true }], target: i0.ɵɵFactoryTarget.Injectable });\nLiveAnnouncer.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"13.0.1\", ngImport: i0, type: LiveAnnouncer, providedIn: 'root' });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"13.0.1\", ngImport: i0, type: LiveAnnouncer, decorators: [{\n type: Injectable,\n args: [{ providedIn: 'root' }]\n }], ctorParameters: function () { return [{ type: undefined, decorators: [{\n type: Optional\n }, {\n type: Inject,\n args: [LIVE_ANNOUNCER_ELEMENT_TOKEN]\n }] }, { type: i0.NgZone }, { type: undefined, decorators: [{\n type: Inject,\n args: [DOCUMENT]\n }] }, { type: undefined, decorators: [{\n type: Optional\n }, {\n type: Inject,\n args: [LIVE_ANNOUNCER_DEFAULT_OPTIONS]\n }] }]; } });\n/**\n * A directive that works similarly to aria-live, but uses the LiveAnnouncer to ensure compatibility\n * with a wider range of browsers and screen readers.\n */\nclass CdkAriaLive {\n constructor(_elementRef, _liveAnnouncer, _contentObserver, _ngZone) {\n this._elementRef = _elementRef;\n this._liveAnnouncer = _liveAnnouncer;\n this._contentObserver = _contentObserver;\n this._ngZone = _ngZone;\n this._politeness = 'polite';\n }\n /** The aria-live politeness level to use when announcing messages. */\n get politeness() {\n return this._politeness;\n }\n set politeness(value) {\n this._politeness = value === 'off' || value === 'assertive' ? value : 'polite';\n if (this._politeness === 'off') {\n if (this._subscription) {\n this._subscription.unsubscribe();\n this._subscription = null;\n }\n }\n else if (!this._subscription) {\n this._subscription = this._ngZone.runOutsideAngular(() => {\n return this._contentObserver.observe(this._elementRef).subscribe(() => {\n // Note that we use textContent here, rather than innerText, in order to avoid a reflow.\n const elementText = this._elementRef.nativeElement.textContent;\n // The `MutationObserver` fires also for attribute\n // changes which we don't want to announce.\n if (elementText !== this._previousAnnouncedText) {\n this._liveAnnouncer.announce(elementText, this._politeness);\n this._previousAnnouncedText = elementText;\n }\n });\n });\n }\n }\n ngOnDestroy() {\n if (this._subscription) {\n this._subscription.unsubscribe();\n }\n }\n}\nCdkAriaLive.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"13.0.1\", ngImport: i0, type: CdkAriaLive, deps: [{ token: i0.ElementRef }, { token: LiveAnnouncer }, { token: i1$1.ContentObserver }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Directive });\nCdkAriaLive.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"12.0.0\", version: \"13.0.1\", type: CdkAriaLive, selector: \"[cdkAriaLive]\", inputs: { politeness: [\"cdkAriaLive\", \"politeness\"] }, exportAs: [\"cdkAriaLive\"], ngImport: i0 });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"13.0.1\", ngImport: i0, type: CdkAriaLive, decorators: [{\n type: Directive,\n args: [{\n selector: '[cdkAriaLive]',\n exportAs: 'cdkAriaLive',\n }]\n }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: LiveAnnouncer }, { type: i1$1.ContentObserver }, { type: i0.NgZone }]; }, propDecorators: { politeness: [{\n type: Input,\n args: ['cdkAriaLive']\n }] } });\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/** InjectionToken for FocusMonitorOptions. */\nconst FOCUS_MONITOR_DEFAULT_OPTIONS = new InjectionToken('cdk-focus-monitor-default-options');\n/**\n * Event listener options that enable capturing and also\n * mark the listener as passive if the browser supports it.\n */\nconst captureEventListenerOptions = normalizePassiveListenerOptions({\n passive: true,\n capture: true,\n});\n/** Monitors mouse and keyboard events to determine the cause of focus events. */\nclass FocusMonitor {\n constructor(_ngZone, _platform, _inputModalityDetector, \n /** @breaking-change 11.0.0 make document required */\n document, options) {\n this._ngZone = _ngZone;\n this._platform = _platform;\n this._inputModalityDetector = _inputModalityDetector;\n /** The focus origin that the next focus event is a result of. */\n this._origin = null;\n /** Whether the window has just been focused. */\n this._windowFocused = false;\n /**\n * Whether the origin was determined via a touch interaction. Necessary as properly attributing\n * focus events to touch interactions requires special logic.\n */\n this._originFromTouchInteraction = false;\n /** Map of elements being monitored to their info. */\n this._elementInfo = new Map();\n /** The number of elements currently being monitored. */\n this._monitoredElementCount = 0;\n /**\n * Keeps track of the root nodes to which we've currently bound a focus/blur handler,\n * as well as the number of monitored elements that they contain. We have to treat focus/blur\n * handlers differently from the rest of the events, because the browser won't emit events\n * to the document when focus moves inside of a shadow root.\n */\n this._rootNodeFocusListenerCount = new Map();\n /**\n * Event listener for `focus` events on the window.\n * Needs to be an arrow function in order to preserve the context when it gets bound.\n */\n this._windowFocusListener = () => {\n // Make a note of when the window regains focus, so we can\n // restore the origin info for the focused element.\n this._windowFocused = true;\n this._windowFocusTimeoutId = setTimeout(() => (this._windowFocused = false));\n };\n /** Subject for stopping our InputModalityDetector subscription. */\n this._stopInputModalityDetector = new Subject();\n /**\n * Event listener for `focus` and 'blur' events on the document.\n * Needs to be an arrow function in order to preserve the context when it gets bound.\n */\n this._rootNodeFocusAndBlurListener = (event) => {\n const target = _getEventTarget(event);\n const handler = event.type === 'focus' ? this._onFocus : this._onBlur;\n // We need to walk up the ancestor chain in order to support `checkChildren`.\n for (let element = target; element; element = element.parentElement) {\n handler.call(this, event, element);\n }\n };\n this._document = document;\n this._detectionMode = options?.detectionMode || 0 /* IMMEDIATE */;\n }\n monitor(element, checkChildren = false) {\n const nativeElement = coerceElement(element);\n // Do nothing if we're not on the browser platform or the passed in node isn't an element.\n if (!this._platform.isBrowser || nativeElement.nodeType !== 1) {\n return of(null);\n }\n // If the element is inside the shadow DOM, we need to bind our focus/blur listeners to\n // the shadow root, rather than the `document`, because the browser won't emit focus events\n // to the `document`, if focus is moving within the same shadow root.\n const rootNode = _getShadowRoot(nativeElement) || this._getDocument();\n const cachedInfo = this._elementInfo.get(nativeElement);\n // Check if we're already monitoring this element.\n if (cachedInfo) {\n if (checkChildren) {\n // TODO(COMP-318): this can be problematic, because it'll turn all non-checkChildren\n // observers into ones that behave as if `checkChildren` was turned on. We need a more\n // robust solution.\n cachedInfo.checkChildren = true;\n }\n return cachedInfo.subject;\n }\n // Create monitored element info.\n const info = {\n checkChildren: checkChildren,\n subject: new Subject(),\n rootNode,\n };\n this._elementInfo.set(nativeElement, info);\n this._registerGlobalListeners(info);\n return info.subject;\n }\n stopMonitoring(element) {\n const nativeElement = coerceElement(element);\n const elementInfo = this._elementInfo.get(nativeElement);\n if (elementInfo) {\n elementInfo.subject.complete();\n this._setClasses(nativeElement);\n this._elementInfo.delete(nativeElement);\n this._removeGlobalListeners(elementInfo);\n }\n }\n focusVia(element, origin, options) {\n const nativeElement = coerceElement(element);\n const focusedElement = this._getDocument().activeElement;\n // If the element is focused already, calling `focus` again won't trigger the event listener\n // which means that the focus classes won't be updated. If that's the case, update the classes\n // directly without waiting for an event.\n if (nativeElement === focusedElement) {\n this._getClosestElementsInfo(nativeElement).forEach(([currentElement, info]) => this._originChanged(currentElement, origin, info));\n }\n else {\n this._setOrigin(origin);\n // `focus` isn't available on the server\n if (typeof nativeElement.focus === 'function') {\n nativeElement.focus(options);\n }\n }\n }\n ngOnDestroy() {\n this._elementInfo.forEach((_info, element) => this.stopMonitoring(element));\n }\n /** Access injected document if available or fallback to global document reference */\n _getDocument() {\n return this._document || document;\n }\n /** Use defaultView of injected document if available or fallback to global window reference */\n _getWindow() {\n const doc = this._getDocument();\n return doc.defaultView || window;\n }\n _getFocusOrigin(focusEventTarget) {\n if (this._origin) {\n // If the origin was realized via a touch interaction, we need to perform additional checks\n // to determine whether the focus origin should be attributed to touch or program.\n if (this._originFromTouchInteraction) {\n return this._shouldBeAttributedToTouch(focusEventTarget) ? 'touch' : 'program';\n }\n else {\n return this._origin;\n }\n }\n // If the window has just regained focus, we can restore the most recent origin from before the\n // window blurred. Otherwise, we've reached the point where we can't identify the source of the\n // focus. This typically means one of two things happened:\n //\n // 1) The element was programmatically focused, or\n // 2) The element was focused via screen reader navigation (which generally doesn't fire\n // events).\n //\n // Because we can't distinguish between these two cases, we default to setting `program`.\n return this._windowFocused && this._lastFocusOrigin ? this._lastFocusOrigin : 'program';\n }\n /**\n * Returns whether the focus event should be attributed to touch. Recall that in IMMEDIATE mode, a\n * touch origin isn't immediately reset at the next tick (see _setOrigin). This means that when we\n * handle a focus event following a touch interaction, we need to determine whether (1) the focus\n * event was directly caused by the touch interaction or (2) the focus event was caused by a\n * subsequent programmatic focus call triggered by the touch interaction.\n * @param focusEventTarget The target of the focus event under examination.\n */\n _shouldBeAttributedToTouch(focusEventTarget) {\n // Please note that this check is not perfect. Consider the following edge case:\n //\n //
\n //
\n //
\n //\n // Suppose there is a FocusMonitor in IMMEDIATE mode attached to #parent. When the user touches\n // #child, #parent is programmatically focused. This code will attribute the focus to touch\n // instead of program. This is a relatively minor edge-case that can be worked around by using\n // focusVia(parent, 'program') to focus #parent.\n return (this._detectionMode === 1 /* EVENTUAL */ ||\n !!focusEventTarget?.contains(this._inputModalityDetector._mostRecentTarget));\n }\n /**\n * Sets the focus classes on the element based on the given focus origin.\n * @param element The element to update the classes on.\n * @param origin The focus origin.\n */\n _setClasses(element, origin) {\n element.classList.toggle('cdk-focused', !!origin);\n element.classList.toggle('cdk-touch-focused', origin === 'touch');\n element.classList.toggle('cdk-keyboard-focused', origin === 'keyboard');\n element.classList.toggle('cdk-mouse-focused', origin === 'mouse');\n element.classList.toggle('cdk-program-focused', origin === 'program');\n }\n /**\n * Updates the focus origin. If we're using immediate detection mode, we schedule an async\n * function to clear the origin at the end of a timeout. The duration of the timeout depends on\n * the origin being set.\n * @param origin The origin to set.\n * @param isFromInteraction Whether we are setting the origin from an interaction event.\n */\n _setOrigin(origin, isFromInteraction = false) {\n this._ngZone.runOutsideAngular(() => {\n this._origin = origin;\n this._originFromTouchInteraction = origin === 'touch' && isFromInteraction;\n // If we're in IMMEDIATE mode, reset the origin at the next tick (or in `TOUCH_BUFFER_MS` ms\n // for a touch event). We reset the origin at the next tick because Firefox focuses one tick\n // after the interaction event. We wait `TOUCH_BUFFER_MS` ms before resetting the origin for\n // a touch event because when a touch event is fired, the associated focus event isn't yet in\n // the event queue. Before doing so, clear any pending timeouts.\n if (this._detectionMode === 0 /* IMMEDIATE */) {\n clearTimeout(this._originTimeoutId);\n const ms = this._originFromTouchInteraction ? TOUCH_BUFFER_MS : 1;\n this._originTimeoutId = setTimeout(() => (this._origin = null), ms);\n }\n });\n }\n /**\n * Handles focus events on a registered element.\n * @param event The focus event.\n * @param element The monitored element.\n */\n _onFocus(event, element) {\n // NOTE(mmalerba): We currently set the classes based on the focus origin of the most recent\n // focus event affecting the monitored element. If we want to use the origin of the first event\n // instead we should check for the cdk-focused class here and return if the element already has\n // it. (This only matters for elements that have includesChildren = true).\n // If we are not counting child-element-focus as focused, make sure that the event target is the\n // monitored element itself.\n const elementInfo = this._elementInfo.get(element);\n const focusEventTarget = _getEventTarget(event);\n if (!elementInfo || (!elementInfo.checkChildren && element !== focusEventTarget)) {\n return;\n }\n this._originChanged(element, this._getFocusOrigin(focusEventTarget), elementInfo);\n }\n /**\n * Handles blur events on a registered element.\n * @param event The blur event.\n * @param element The monitored element.\n */\n _onBlur(event, element) {\n // If we are counting child-element-focus as focused, make sure that we aren't just blurring in\n // order to focus another child of the monitored element.\n const elementInfo = this._elementInfo.get(element);\n if (!elementInfo ||\n (elementInfo.checkChildren &&\n event.relatedTarget instanceof Node &&\n element.contains(event.relatedTarget))) {\n return;\n }\n this._setClasses(element);\n this._emitOrigin(elementInfo.subject, null);\n }\n _emitOrigin(subject, origin) {\n this._ngZone.run(() => subject.next(origin));\n }\n _registerGlobalListeners(elementInfo) {\n if (!this._platform.isBrowser) {\n return;\n }\n const rootNode = elementInfo.rootNode;\n const rootNodeFocusListeners = this._rootNodeFocusListenerCount.get(rootNode) || 0;\n if (!rootNodeFocusListeners) {\n this._ngZone.runOutsideAngular(() => {\n rootNode.addEventListener('focus', this._rootNodeFocusAndBlurListener, captureEventListenerOptions);\n rootNode.addEventListener('blur', this._rootNodeFocusAndBlurListener, captureEventListenerOptions);\n });\n }\n this._rootNodeFocusListenerCount.set(rootNode, rootNodeFocusListeners + 1);\n // Register global listeners when first element is monitored.\n if (++this._monitoredElementCount === 1) {\n // Note: we listen to events in the capture phase so we\n // can detect them even if the user stops propagation.\n this._ngZone.runOutsideAngular(() => {\n const window = this._getWindow();\n window.addEventListener('focus', this._windowFocusListener);\n });\n // The InputModalityDetector is also just a collection of global listeners.\n this._inputModalityDetector.modalityDetected\n .pipe(takeUntil(this._stopInputModalityDetector))\n .subscribe(modality => {\n this._setOrigin(modality, true /* isFromInteraction */);\n });\n }\n }\n _removeGlobalListeners(elementInfo) {\n const rootNode = elementInfo.rootNode;\n if (this._rootNodeFocusListenerCount.has(rootNode)) {\n const rootNodeFocusListeners = this._rootNodeFocusListenerCount.get(rootNode);\n if (rootNodeFocusListeners > 1) {\n this._rootNodeFocusListenerCount.set(rootNode, rootNodeFocusListeners - 1);\n }\n else {\n rootNode.removeEventListener('focus', this._rootNodeFocusAndBlurListener, captureEventListenerOptions);\n rootNode.removeEventListener('blur', this._rootNodeFocusAndBlurListener, captureEventListenerOptions);\n this._rootNodeFocusListenerCount.delete(rootNode);\n }\n }\n // Unregister global listeners when last element is unmonitored.\n if (!--this._monitoredElementCount) {\n const window = this._getWindow();\n window.removeEventListener('focus', this._windowFocusListener);\n // Equivalently, stop our InputModalityDetector subscription.\n this._stopInputModalityDetector.next();\n // Clear timeouts for all potentially pending timeouts to prevent the leaks.\n clearTimeout(this._windowFocusTimeoutId);\n clearTimeout(this._originTimeoutId);\n }\n }\n /** Updates all the state on an element once its focus origin has changed. */\n _originChanged(element, origin, elementInfo) {\n this._setClasses(element, origin);\n this._emitOrigin(elementInfo.subject, origin);\n this._lastFocusOrigin = origin;\n }\n /**\n * Collects the `MonitoredElementInfo` of a particular element and\n * all of its ancestors that have enabled `checkChildren`.\n * @param element Element from which to start the search.\n */\n _getClosestElementsInfo(element) {\n const results = [];\n this._elementInfo.forEach((info, currentElement) => {\n if (currentElement === element || (info.checkChildren && currentElement.contains(element))) {\n results.push([currentElement, info]);\n }\n });\n return results;\n }\n}\nFocusMonitor.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"13.0.1\", ngImport: i0, type: FocusMonitor, deps: [{ token: i0.NgZone }, { token: i1.Platform }, { token: InputModalityDetector }, { token: DOCUMENT, optional: true }, { token: FOCUS_MONITOR_DEFAULT_OPTIONS, optional: true }], target: i0.ɵɵFactoryTarget.Injectable });\nFocusMonitor.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"13.0.1\", ngImport: i0, type: FocusMonitor, providedIn: 'root' });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"13.0.1\", ngImport: i0, type: FocusMonitor, decorators: [{\n type: Injectable,\n args: [{ providedIn: 'root' }]\n }], ctorParameters: function () { return [{ type: i0.NgZone }, { type: i1.Platform }, { type: InputModalityDetector }, { type: undefined, decorators: [{\n type: Optional\n }, {\n type: Inject,\n args: [DOCUMENT]\n }] }, { type: undefined, decorators: [{\n type: Optional\n }, {\n type: Inject,\n args: [FOCUS_MONITOR_DEFAULT_OPTIONS]\n }] }]; } });\n/**\n * Directive that determines how a particular element was focused (via keyboard, mouse, touch, or\n * programmatically) and adds corresponding classes to the element.\n *\n * There are two variants of this directive:\n * 1) cdkMonitorElementFocus: does not consider an element to be focused if one of its children is\n * focused.\n * 2) cdkMonitorSubtreeFocus: considers an element focused if it or any of its children are focused.\n */\nclass CdkMonitorFocus {\n constructor(_elementRef, _focusMonitor) {\n this._elementRef = _elementRef;\n this._focusMonitor = _focusMonitor;\n this.cdkFocusChange = new EventEmitter();\n }\n ngAfterViewInit() {\n const element = this._elementRef.nativeElement;\n this._monitorSubscription = this._focusMonitor\n .monitor(element, element.nodeType === 1 && element.hasAttribute('cdkMonitorSubtreeFocus'))\n .subscribe(origin => this.cdkFocusChange.emit(origin));\n }\n ngOnDestroy() {\n this._focusMonitor.stopMonitoring(this._elementRef);\n if (this._monitorSubscription) {\n this._monitorSubscription.unsubscribe();\n }\n }\n}\nCdkMonitorFocus.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"13.0.1\", ngImport: i0, type: CdkMonitorFocus, deps: [{ token: i0.ElementRef }, { token: FocusMonitor }], target: i0.ɵɵFactoryTarget.Directive });\nCdkMonitorFocus.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"12.0.0\", version: \"13.0.1\", type: CdkMonitorFocus, selector: \"[cdkMonitorElementFocus], [cdkMonitorSubtreeFocus]\", outputs: { cdkFocusChange: \"cdkFocusChange\" }, ngImport: i0 });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"13.0.1\", ngImport: i0, type: CdkMonitorFocus, decorators: [{\n type: Directive,\n args: [{\n selector: '[cdkMonitorElementFocus], [cdkMonitorSubtreeFocus]',\n }]\n }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: FocusMonitor }]; }, propDecorators: { cdkFocusChange: [{\n type: Output\n }] } });\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/** CSS class applied to the document body when in black-on-white high-contrast mode. */\nconst BLACK_ON_WHITE_CSS_CLASS = 'cdk-high-contrast-black-on-white';\n/** CSS class applied to the document body when in white-on-black high-contrast mode. */\nconst WHITE_ON_BLACK_CSS_CLASS = 'cdk-high-contrast-white-on-black';\n/** CSS class applied to the document body when in high-contrast mode. */\nconst HIGH_CONTRAST_MODE_ACTIVE_CSS_CLASS = 'cdk-high-contrast-active';\n/**\n * Service to determine whether the browser is currently in a high-contrast-mode environment.\n *\n * Microsoft Windows supports an accessibility feature called \"High Contrast Mode\". This mode\n * changes the appearance of all applications, including web applications, to dramatically increase\n * contrast.\n *\n * IE, Edge, and Firefox currently support this mode. Chrome does not support Windows High Contrast\n * Mode. This service does not detect high-contrast mode as added by the Chrome \"High Contrast\"\n * browser extension.\n */\nclass HighContrastModeDetector {\n constructor(_platform, document) {\n this._platform = _platform;\n this._document = document;\n }\n /** Gets the current high-contrast-mode for the page. */\n getHighContrastMode() {\n if (!this._platform.isBrowser) {\n return 0 /* NONE */;\n }\n // Create a test element with an arbitrary background-color that is neither black nor\n // white; high-contrast mode will coerce the color to either black or white. Also ensure that\n // appending the test element to the DOM does not affect layout by absolutely positioning it\n const testElement = this._document.createElement('div');\n testElement.style.backgroundColor = 'rgb(1,2,3)';\n testElement.style.position = 'absolute';\n this._document.body.appendChild(testElement);\n // Get the computed style for the background color, collapsing spaces to normalize between\n // browsers. Once we get this color, we no longer need the test element. Access the `window`\n // via the document so we can fake it in tests. Note that we have extra null checks, because\n // this logic will likely run during app bootstrap and throwing can break the entire app.\n const documentWindow = this._document.defaultView || window;\n const computedStyle = documentWindow && documentWindow.getComputedStyle\n ? documentWindow.getComputedStyle(testElement)\n : null;\n const computedColor = ((computedStyle && computedStyle.backgroundColor) || '').replace(/ /g, '');\n testElement.remove();\n switch (computedColor) {\n case 'rgb(0,0,0)':\n return 2 /* WHITE_ON_BLACK */;\n case 'rgb(255,255,255)':\n return 1 /* BLACK_ON_WHITE */;\n }\n return 0 /* NONE */;\n }\n /** Applies CSS classes indicating high-contrast mode to document body (browser-only). */\n _applyBodyHighContrastModeCssClasses() {\n if (!this._hasCheckedHighContrastMode && this._platform.isBrowser && this._document.body) {\n const bodyClasses = this._document.body.classList;\n // IE11 doesn't support `classList` operations with multiple arguments\n bodyClasses.remove(HIGH_CONTRAST_MODE_ACTIVE_CSS_CLASS);\n bodyClasses.remove(BLACK_ON_WHITE_CSS_CLASS);\n bodyClasses.remove(WHITE_ON_BLACK_CSS_CLASS);\n this._hasCheckedHighContrastMode = true;\n const mode = this.getHighContrastMode();\n if (mode === 1 /* BLACK_ON_WHITE */) {\n bodyClasses.add(HIGH_CONTRAST_MODE_ACTIVE_CSS_CLASS);\n bodyClasses.add(BLACK_ON_WHITE_CSS_CLASS);\n }\n else if (mode === 2 /* WHITE_ON_BLACK */) {\n bodyClasses.add(HIGH_CONTRAST_MODE_ACTIVE_CSS_CLASS);\n bodyClasses.add(WHITE_ON_BLACK_CSS_CLASS);\n }\n }\n }\n}\nHighContrastModeDetector.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"13.0.1\", ngImport: i0, type: HighContrastModeDetector, deps: [{ token: i1.Platform }, { token: DOCUMENT }], target: i0.ɵɵFactoryTarget.Injectable });\nHighContrastModeDetector.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"13.0.1\", ngImport: i0, type: HighContrastModeDetector, providedIn: 'root' });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"13.0.1\", ngImport: i0, type: HighContrastModeDetector, decorators: [{\n type: Injectable,\n args: [{ providedIn: 'root' }]\n }], ctorParameters: function () { return [{ type: i1.Platform }, { type: undefined, decorators: [{\n type: Inject,\n args: [DOCUMENT]\n }] }]; } });\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nclass A11yModule {\n constructor(highContrastModeDetector) {\n highContrastModeDetector._applyBodyHighContrastModeCssClasses();\n }\n}\nA11yModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"13.0.1\", ngImport: i0, type: A11yModule, deps: [{ token: HighContrastModeDetector }], target: i0.ɵɵFactoryTarget.NgModule });\nA11yModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: \"12.0.0\", version: \"13.0.1\", ngImport: i0, type: A11yModule, declarations: [CdkAriaLive, CdkTrapFocus, CdkMonitorFocus], imports: [PlatformModule, ObserversModule], exports: [CdkAriaLive, CdkTrapFocus, CdkMonitorFocus] });\nA11yModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: \"12.0.0\", version: \"13.0.1\", ngImport: i0, type: A11yModule, imports: [[PlatformModule, ObserversModule]] });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"13.0.1\", ngImport: i0, type: A11yModule, decorators: [{\n type: NgModule,\n args: [{\n imports: [PlatformModule, ObserversModule],\n declarations: [CdkAriaLive, CdkTrapFocus, CdkMonitorFocus],\n exports: [CdkAriaLive, CdkTrapFocus, CdkMonitorFocus],\n }]\n }], ctorParameters: function () { return [{ type: HighContrastModeDetector }]; } });\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\n/**\n * Generated bundle index. Do not edit.\n */\n\nexport { A11yModule, ActiveDescendantKeyManager, AriaDescriber, CDK_DESCRIBEDBY_HOST_ATTRIBUTE, CDK_DESCRIBEDBY_ID_PREFIX, CdkAriaLive, CdkMonitorFocus, CdkTrapFocus, ConfigurableFocusTrap, ConfigurableFocusTrapFactory, EventListenerFocusTrapInertStrategy, FOCUS_MONITOR_DEFAULT_OPTIONS, FOCUS_TRAP_INERT_STRATEGY, FocusKeyManager, FocusMonitor, FocusTrap, FocusTrapFactory, HighContrastModeDetector, INPUT_MODALITY_DETECTOR_DEFAULT_OPTIONS, INPUT_MODALITY_DETECTOR_OPTIONS, InputModalityDetector, InteractivityChecker, IsFocusableConfig, LIVE_ANNOUNCER_DEFAULT_OPTIONS, LIVE_ANNOUNCER_ELEMENT_TOKEN, LIVE_ANNOUNCER_ELEMENT_TOKEN_FACTORY, ListKeyManager, LiveAnnouncer, MESSAGES_CONTAINER_ID, isFakeMousedownFromScreenReader, isFakeTouchstartFromScreenReader };\n","import * as i0 from '@angular/core';\nimport { InjectionToken, inject, EventEmitter, Injectable, Optional, Inject, Directive, Output, Input, NgModule } from '@angular/core';\nimport { DOCUMENT } from '@angular/common';\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * Injection token used to inject the document into Directionality.\n * This is used so that the value can be faked in tests.\n *\n * We can't use the real document in tests because changing the real `dir` causes geometry-based\n * tests in Safari to fail.\n *\n * We also can't re-provide the DOCUMENT token from platform-brower because the unit tests\n * themselves use things like `querySelector` in test code.\n *\n * This token is defined in a separate file from Directionality as a workaround for\n * https://github.com/angular/angular/issues/22559\n *\n * @docs-private\n */\nconst DIR_DOCUMENT = new InjectionToken('cdk-dir-doc', {\n providedIn: 'root',\n factory: DIR_DOCUMENT_FACTORY,\n});\n/** @docs-private */\nfunction DIR_DOCUMENT_FACTORY() {\n return inject(DOCUMENT);\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * The directionality (LTR / RTL) context for the application (or a subtree of it).\n * Exposes the current direction and a stream of direction changes.\n */\nclass Directionality {\n constructor(_document) {\n /** The current 'ltr' or 'rtl' value. */\n this.value = 'ltr';\n /** Stream that emits whenever the 'ltr' / 'rtl' state changes. */\n this.change = new EventEmitter();\n if (_document) {\n // TODO: handle 'auto' value -\n // We still need to account for dir=\"auto\".\n // It looks like HTMLElemenet.dir is also \"auto\" when that's set to the attribute,\n // but getComputedStyle return either \"ltr\" or \"rtl\". avoiding getComputedStyle for now\n const bodyDir = _document.body ? _document.body.dir : null;\n const htmlDir = _document.documentElement ? _document.documentElement.dir : null;\n const value = bodyDir || htmlDir;\n this.value = value === 'ltr' || value === 'rtl' ? value : 'ltr';\n }\n }\n ngOnDestroy() {\n this.change.complete();\n }\n}\nDirectionality.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"13.0.1\", ngImport: i0, type: Directionality, deps: [{ token: DIR_DOCUMENT, optional: true }], target: i0.ɵɵFactoryTarget.Injectable });\nDirectionality.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"13.0.1\", ngImport: i0, type: Directionality, providedIn: 'root' });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"13.0.1\", ngImport: i0, type: Directionality, decorators: [{\n type: Injectable,\n args: [{ providedIn: 'root' }]\n }], ctorParameters: function () { return [{ type: undefined, decorators: [{\n type: Optional\n }, {\n type: Inject,\n args: [DIR_DOCUMENT]\n }] }]; } });\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * Directive to listen for changes of direction of part of the DOM.\n *\n * Provides itself as Directionality such that descendant directives only need to ever inject\n * Directionality to get the closest direction.\n */\nclass Dir {\n constructor() {\n /** Normalized direction that accounts for invalid/unsupported values. */\n this._dir = 'ltr';\n /** Whether the `value` has been set to its initial value. */\n this._isInitialized = false;\n /** Event emitted when the direction changes. */\n this.change = new EventEmitter();\n }\n /** @docs-private */\n get dir() {\n return this._dir;\n }\n set dir(value) {\n const old = this._dir;\n const normalizedValue = value ? value.toLowerCase() : value;\n this._rawDir = value;\n this._dir = normalizedValue === 'ltr' || normalizedValue === 'rtl' ? normalizedValue : 'ltr';\n if (old !== this._dir && this._isInitialized) {\n this.change.emit(this._dir);\n }\n }\n /** Current layout direction of the element. */\n get value() {\n return this.dir;\n }\n /** Initialize once default value has been set. */\n ngAfterContentInit() {\n this._isInitialized = true;\n }\n ngOnDestroy() {\n this.change.complete();\n }\n}\nDir.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"13.0.1\", ngImport: i0, type: Dir, deps: [], target: i0.ɵɵFactoryTarget.Directive });\nDir.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"12.0.0\", version: \"13.0.1\", type: Dir, selector: \"[dir]\", inputs: { dir: \"dir\" }, outputs: { change: \"dirChange\" }, host: { properties: { \"attr.dir\": \"_rawDir\" } }, providers: [{ provide: Directionality, useExisting: Dir }], exportAs: [\"dir\"], ngImport: i0 });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"13.0.1\", ngImport: i0, type: Dir, decorators: [{\n type: Directive,\n args: [{\n selector: '[dir]',\n providers: [{ provide: Directionality, useExisting: Dir }],\n host: { '[attr.dir]': '_rawDir' },\n exportAs: 'dir',\n }]\n }], propDecorators: { change: [{\n type: Output,\n args: ['dirChange']\n }], dir: [{\n type: Input\n }] } });\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nclass BidiModule {\n}\nBidiModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"13.0.1\", ngImport: i0, type: BidiModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });\nBidiModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: \"12.0.0\", version: \"13.0.1\", ngImport: i0, type: BidiModule, declarations: [Dir], exports: [Dir] });\nBidiModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: \"12.0.0\", version: \"13.0.1\", ngImport: i0, type: BidiModule });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"13.0.1\", ngImport: i0, type: BidiModule, decorators: [{\n type: NgModule,\n args: [{\n exports: [Dir],\n declarations: [Dir],\n }]\n }] });\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\n/**\n * Generated bundle index. Do not edit.\n */\n\nexport { BidiModule, DIR_DOCUMENT, Dir, Directionality };\n","import { Version } from '@angular/core';\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/** Current version of the Angular Component Development Kit. */\nconst VERSION = new Version('13.0.2');\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nexport { VERSION };\n","import { ElementRef } from '@angular/core';\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/** Coerces a data-bound value (typically a string) to a boolean. */\nfunction coerceBooleanProperty(value) {\n return value != null && `${value}` !== 'false';\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nfunction coerceNumberProperty(value, fallbackValue = 0) {\n return _isNumberValue(value) ? Number(value) : fallbackValue;\n}\n/**\n * Whether the provided value is considered a number.\n * @docs-private\n */\nfunction _isNumberValue(value) {\n // parseFloat(value) handles most of the cases we're interested in (it treats null, empty string,\n // and other non-number values as NaN, where Number just uses 0) but it considers the string\n // '123hello' to be a valid number. Therefore we also check if Number(value) is NaN.\n return !isNaN(parseFloat(value)) && !isNaN(Number(value));\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nfunction coerceArray(value) {\n return Array.isArray(value) ? value : [value];\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/** Coerces a value to a CSS pixel value. */\nfunction coerceCssPixelValue(value) {\n if (value == null) {\n return '';\n }\n return typeof value === 'string' ? value : `${value}px`;\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * Coerces an ElementRef or an Element into an element.\n * Useful for APIs that can accept either a ref or the native element itself.\n */\nfunction coerceElement(elementOrRef) {\n return elementOrRef instanceof ElementRef ? elementOrRef.nativeElement : elementOrRef;\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * Coerces a value to an array of trimmed non-empty strings.\n * Any input that is not an array, `null` or `undefined` will be turned into a string\n * via `toString()` and subsequently split with the given separator.\n * `null` and `undefined` will result in an empty array.\n * This results in the following outcomes:\n * - `null` -> `[]`\n * - `[null]` -> `[\"null\"]`\n * - `[\"a\", \"b \", \" \"]` -> `[\"a\", \"b\"]`\n * - `[1, [2, 3]]` -> `[\"1\", \"2,3\"]`\n * - `[{ a: 0 }]` -> `[\"[object Object]\"]`\n * - `{ a: 0 }` -> `[\"[object\", \"Object]\"]`\n *\n * Useful for defining CSS classes or table columns.\n * @param value the value to coerce into an array of strings\n * @param separator split-separator if value isn't an array\n */\nfunction coerceStringArray(value, separator = /\\s+/) {\n const result = [];\n if (value != null) {\n const sourceValues = Array.isArray(value) ? value : `${value}`.split(separator);\n for (const sourceValue of sourceValues) {\n const trimmedString = `${sourceValue}`.trim();\n if (trimmedString) {\n result.push(trimmedString);\n }\n }\n }\n return result;\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nexport { _isNumberValue, coerceArray, coerceBooleanProperty, coerceCssPixelValue, coerceElement, coerceNumberProperty, coerceStringArray };\n","import { isObservable, of, Subject } from 'rxjs';\nimport * as i0 from '@angular/core';\nimport { Injectable, InjectionToken } from '@angular/core';\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nclass DataSource {\n}\n/** Checks whether an object is a data source. */\nfunction isDataSource(value) {\n // Check if the value is a DataSource by observing if it has a connect function. Cannot\n // be checked as an `instanceof DataSource` since people could create their own sources\n // that match the interface, but don't extend DataSource.\n return value && typeof value.connect === 'function';\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/** DataSource wrapper for a native array. */\nclass ArrayDataSource extends DataSource {\n constructor(_data) {\n super();\n this._data = _data;\n }\n connect() {\n return isObservable(this._data) ? this._data : of(this._data);\n }\n disconnect() { }\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * A repeater that destroys views when they are removed from a\n * {@link ViewContainerRef}. When new items are inserted into the container,\n * the repeater will always construct a new embedded view for each item.\n *\n * @template T The type for the embedded view's $implicit property.\n * @template R The type for the item in each IterableDiffer change record.\n * @template C The type for the context passed to each embedded view.\n */\nclass _DisposeViewRepeaterStrategy {\n applyChanges(changes, viewContainerRef, itemContextFactory, itemValueResolver, itemViewChanged) {\n changes.forEachOperation((record, adjustedPreviousIndex, currentIndex) => {\n let view;\n let operation;\n if (record.previousIndex == null) {\n const insertContext = itemContextFactory(record, adjustedPreviousIndex, currentIndex);\n view = viewContainerRef.createEmbeddedView(insertContext.templateRef, insertContext.context, insertContext.index);\n operation = 1 /* INSERTED */;\n }\n else if (currentIndex == null) {\n viewContainerRef.remove(adjustedPreviousIndex);\n operation = 3 /* REMOVED */;\n }\n else {\n view = viewContainerRef.get(adjustedPreviousIndex);\n viewContainerRef.move(view, currentIndex);\n operation = 2 /* MOVED */;\n }\n if (itemViewChanged) {\n itemViewChanged({\n context: view?.context,\n operation,\n record,\n });\n }\n });\n }\n detach() { }\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * A repeater that caches views when they are removed from a\n * {@link ViewContainerRef}. When new items are inserted into the container,\n * the repeater will reuse one of the cached views instead of creating a new\n * embedded view. Recycling cached views reduces the quantity of expensive DOM\n * inserts.\n *\n * @template T The type for the embedded view's $implicit property.\n * @template R The type for the item in each IterableDiffer change record.\n * @template C The type for the context passed to each embedded view.\n */\nclass _RecycleViewRepeaterStrategy {\n constructor() {\n /**\n * The size of the cache used to store unused views.\n * Setting the cache size to `0` will disable caching. Defaults to 20 views.\n */\n this.viewCacheSize = 20;\n /**\n * View cache that stores embedded view instances that have been previously stamped out,\n * but don't are not currently rendered. The view repeater will reuse these views rather than\n * creating brand new ones.\n *\n * TODO(michaeljamesparsons) Investigate whether using a linked list would improve performance.\n */\n this._viewCache = [];\n }\n /** Apply changes to the DOM. */\n applyChanges(changes, viewContainerRef, itemContextFactory, itemValueResolver, itemViewChanged) {\n // Rearrange the views to put them in the right location.\n changes.forEachOperation((record, adjustedPreviousIndex, currentIndex) => {\n let view;\n let operation;\n if (record.previousIndex == null) {\n // Item added.\n const viewArgsFactory = () => itemContextFactory(record, adjustedPreviousIndex, currentIndex);\n view = this._insertView(viewArgsFactory, currentIndex, viewContainerRef, itemValueResolver(record));\n operation = view ? 1 /* INSERTED */ : 0 /* REPLACED */;\n }\n else if (currentIndex == null) {\n // Item removed.\n this._detachAndCacheView(adjustedPreviousIndex, viewContainerRef);\n operation = 3 /* REMOVED */;\n }\n else {\n // Item moved.\n view = this._moveView(adjustedPreviousIndex, currentIndex, viewContainerRef, itemValueResolver(record));\n operation = 2 /* MOVED */;\n }\n if (itemViewChanged) {\n itemViewChanged({\n context: view?.context,\n operation,\n record,\n });\n }\n });\n }\n detach() {\n for (const view of this._viewCache) {\n view.destroy();\n }\n this._viewCache = [];\n }\n /**\n * Inserts a view for a new item, either from the cache or by creating a new\n * one. Returns `undefined` if the item was inserted into a cached view.\n */\n _insertView(viewArgsFactory, currentIndex, viewContainerRef, value) {\n const cachedView = this._insertViewFromCache(currentIndex, viewContainerRef);\n if (cachedView) {\n cachedView.context.$implicit = value;\n return undefined;\n }\n const viewArgs = viewArgsFactory();\n return viewContainerRef.createEmbeddedView(viewArgs.templateRef, viewArgs.context, viewArgs.index);\n }\n /** Detaches the view at the given index and inserts into the view cache. */\n _detachAndCacheView(index, viewContainerRef) {\n const detachedView = viewContainerRef.detach(index);\n this._maybeCacheView(detachedView, viewContainerRef);\n }\n /** Moves view at the previous index to the current index. */\n _moveView(adjustedPreviousIndex, currentIndex, viewContainerRef, value) {\n const view = viewContainerRef.get(adjustedPreviousIndex);\n viewContainerRef.move(view, currentIndex);\n view.context.$implicit = value;\n return view;\n }\n /**\n * Cache the given detached view. If the cache is full, the view will be\n * destroyed.\n */\n _maybeCacheView(view, viewContainerRef) {\n if (this._viewCache.length < this.viewCacheSize) {\n this._viewCache.push(view);\n }\n else {\n const index = viewContainerRef.indexOf(view);\n // The host component could remove views from the container outside of\n // the view repeater. It's unlikely this will occur, but just in case,\n // destroy the view on its own, otherwise destroy it through the\n // container to ensure that all the references are removed.\n if (index === -1) {\n view.destroy();\n }\n else {\n viewContainerRef.remove(index);\n }\n }\n }\n /** Inserts a recycled view from the cache at the given index. */\n _insertViewFromCache(index, viewContainerRef) {\n const cachedView = this._viewCache.pop();\n if (cachedView) {\n viewContainerRef.insert(cachedView, index);\n }\n return cachedView || null;\n }\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * Class to be used to power selecting one or more options from a list.\n */\nclass SelectionModel {\n constructor(_multiple = false, initiallySelectedValues, _emitChanges = true) {\n this._multiple = _multiple;\n this._emitChanges = _emitChanges;\n /** Currently-selected values. */\n this._selection = new Set();\n /** Keeps track of the deselected options that haven't been emitted by the change event. */\n this._deselectedToEmit = [];\n /** Keeps track of the selected options that haven't been emitted by the change event. */\n this._selectedToEmit = [];\n /** Event emitted when the value has changed. */\n this.changed = new Subject();\n if (initiallySelectedValues && initiallySelectedValues.length) {\n if (_multiple) {\n initiallySelectedValues.forEach(value => this._markSelected(value));\n }\n else {\n this._markSelected(initiallySelectedValues[0]);\n }\n // Clear the array in order to avoid firing the change event for preselected values.\n this._selectedToEmit.length = 0;\n }\n }\n /** Selected values. */\n get selected() {\n if (!this._selected) {\n this._selected = Array.from(this._selection.values());\n }\n return this._selected;\n }\n /**\n * Selects a value or an array of values.\n */\n select(...values) {\n this._verifyValueAssignment(values);\n values.forEach(value => this._markSelected(value));\n this._emitChangeEvent();\n }\n /**\n * Deselects a value or an array of values.\n */\n deselect(...values) {\n this._verifyValueAssignment(values);\n values.forEach(value => this._unmarkSelected(value));\n this._emitChangeEvent();\n }\n /**\n * Toggles a value between selected and deselected.\n */\n toggle(value) {\n this.isSelected(value) ? this.deselect(value) : this.select(value);\n }\n /**\n * Clears all of the selected values.\n */\n clear() {\n this._unmarkAll();\n this._emitChangeEvent();\n }\n /**\n * Determines whether a value is selected.\n */\n isSelected(value) {\n return this._selection.has(value);\n }\n /**\n * Determines whether the model does not have a value.\n */\n isEmpty() {\n return this._selection.size === 0;\n }\n /**\n * Determines whether the model has a value.\n */\n hasValue() {\n return !this.isEmpty();\n }\n /**\n * Sorts the selected values based on a predicate function.\n */\n sort(predicate) {\n if (this._multiple && this.selected) {\n this._selected.sort(predicate);\n }\n }\n /**\n * Gets whether multiple values can be selected.\n */\n isMultipleSelection() {\n return this._multiple;\n }\n /** Emits a change event and clears the records of selected and deselected values. */\n _emitChangeEvent() {\n // Clear the selected values so they can be re-cached.\n this._selected = null;\n if (this._selectedToEmit.length || this._deselectedToEmit.length) {\n this.changed.next({\n source: this,\n added: this._selectedToEmit,\n removed: this._deselectedToEmit,\n });\n this._deselectedToEmit = [];\n this._selectedToEmit = [];\n }\n }\n /** Selects a value. */\n _markSelected(value) {\n if (!this.isSelected(value)) {\n if (!this._multiple) {\n this._unmarkAll();\n }\n this._selection.add(value);\n if (this._emitChanges) {\n this._selectedToEmit.push(value);\n }\n }\n }\n /** Deselects a value. */\n _unmarkSelected(value) {\n if (this.isSelected(value)) {\n this._selection.delete(value);\n if (this._emitChanges) {\n this._deselectedToEmit.push(value);\n }\n }\n }\n /** Clears out the selected values. */\n _unmarkAll() {\n if (!this.isEmpty()) {\n this._selection.forEach(value => this._unmarkSelected(value));\n }\n }\n /**\n * Verifies the value assignment and throws an error if the specified value array is\n * including multiple values while the selection model is not supporting multiple values.\n */\n _verifyValueAssignment(values) {\n if (values.length > 1 && !this._multiple && (typeof ngDevMode === 'undefined' || ngDevMode)) {\n throw getMultipleValuesInSingleSelectionError();\n }\n }\n}\n/**\n * Returns an error that reports that multiple values are passed into a selection model\n * with a single value.\n * @docs-private\n */\nfunction getMultipleValuesInSingleSelectionError() {\n return Error('Cannot pass multiple values into SelectionModel with single-value mode.');\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * Class to coordinate unique selection based on name.\n * Intended to be consumed as an Angular service.\n * This service is needed because native radio change events are only fired on the item currently\n * being selected, and we still need to uncheck the previous selection.\n *\n * This service does not *store* any IDs and names because they may change at any time, so it is\n * less error-prone if they are simply passed through when the events occur.\n */\nclass UniqueSelectionDispatcher {\n constructor() {\n this._listeners = [];\n }\n /**\n * Notify other items that selection for the given name has been set.\n * @param id ID of the item.\n * @param name Name of the item.\n */\n notify(id, name) {\n for (let listener of this._listeners) {\n listener(id, name);\n }\n }\n /**\n * Listen for future changes to item selection.\n * @return Function used to deregister listener\n */\n listen(listener) {\n this._listeners.push(listener);\n return () => {\n this._listeners = this._listeners.filter((registered) => {\n return listener !== registered;\n });\n };\n }\n ngOnDestroy() {\n this._listeners = [];\n }\n}\nUniqueSelectionDispatcher.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"13.0.1\", ngImport: i0, type: UniqueSelectionDispatcher, deps: [], target: i0.ɵɵFactoryTarget.Injectable });\nUniqueSelectionDispatcher.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"13.0.1\", ngImport: i0, type: UniqueSelectionDispatcher, providedIn: 'root' });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"13.0.1\", ngImport: i0, type: UniqueSelectionDispatcher, decorators: [{\n type: Injectable,\n args: [{ providedIn: 'root' }]\n }] });\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * Injection token for {@link _ViewRepeater}. This token is for use by Angular Material only.\n * @docs-private\n */\nconst _VIEW_REPEATER_STRATEGY = new InjectionToken('_ViewRepeater');\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\n/**\n * Generated bundle index. Do not edit.\n */\n\nexport { ArrayDataSource, DataSource, SelectionModel, UniqueSelectionDispatcher, _DisposeViewRepeaterStrategy, _RecycleViewRepeaterStrategy, _VIEW_REPEATER_STRATEGY, getMultipleValuesInSingleSelectionError, isDataSource };\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nconst MAC_ENTER = 3;\nconst BACKSPACE = 8;\nconst TAB = 9;\nconst NUM_CENTER = 12;\nconst ENTER = 13;\nconst SHIFT = 16;\nconst CONTROL = 17;\nconst ALT = 18;\nconst PAUSE = 19;\nconst CAPS_LOCK = 20;\nconst ESCAPE = 27;\nconst SPACE = 32;\nconst PAGE_UP = 33;\nconst PAGE_DOWN = 34;\nconst END = 35;\nconst HOME = 36;\nconst LEFT_ARROW = 37;\nconst UP_ARROW = 38;\nconst RIGHT_ARROW = 39;\nconst DOWN_ARROW = 40;\nconst PLUS_SIGN = 43;\nconst PRINT_SCREEN = 44;\nconst INSERT = 45;\nconst DELETE = 46;\nconst ZERO = 48;\nconst ONE = 49;\nconst TWO = 50;\nconst THREE = 51;\nconst FOUR = 52;\nconst FIVE = 53;\nconst SIX = 54;\nconst SEVEN = 55;\nconst EIGHT = 56;\nconst NINE = 57;\nconst FF_SEMICOLON = 59; // Firefox (Gecko) fires this for semicolon instead of 186\nconst FF_EQUALS = 61; // Firefox (Gecko) fires this for equals instead of 187\nconst QUESTION_MARK = 63;\nconst AT_SIGN = 64;\nconst A = 65;\nconst B = 66;\nconst C = 67;\nconst D = 68;\nconst E = 69;\nconst F = 70;\nconst G = 71;\nconst H = 72;\nconst I = 73;\nconst J = 74;\nconst K = 75;\nconst L = 76;\nconst M = 77;\nconst N = 78;\nconst O = 79;\nconst P = 80;\nconst Q = 81;\nconst R = 82;\nconst S = 83;\nconst T = 84;\nconst U = 85;\nconst V = 86;\nconst W = 87;\nconst X = 88;\nconst Y = 89;\nconst Z = 90;\nconst META = 91; // WIN_KEY_LEFT\nconst MAC_WK_CMD_LEFT = 91;\nconst MAC_WK_CMD_RIGHT = 93;\nconst CONTEXT_MENU = 93;\nconst NUMPAD_ZERO = 96;\nconst NUMPAD_ONE = 97;\nconst NUMPAD_TWO = 98;\nconst NUMPAD_THREE = 99;\nconst NUMPAD_FOUR = 100;\nconst NUMPAD_FIVE = 101;\nconst NUMPAD_SIX = 102;\nconst NUMPAD_SEVEN = 103;\nconst NUMPAD_EIGHT = 104;\nconst NUMPAD_NINE = 105;\nconst NUMPAD_MULTIPLY = 106;\nconst NUMPAD_PLUS = 107;\nconst NUMPAD_MINUS = 109;\nconst NUMPAD_PERIOD = 110;\nconst NUMPAD_DIVIDE = 111;\nconst F1 = 112;\nconst F2 = 113;\nconst F3 = 114;\nconst F4 = 115;\nconst F5 = 116;\nconst F6 = 117;\nconst F7 = 118;\nconst F8 = 119;\nconst F9 = 120;\nconst F10 = 121;\nconst F11 = 122;\nconst F12 = 123;\nconst NUM_LOCK = 144;\nconst SCROLL_LOCK = 145;\nconst FIRST_MEDIA = 166;\nconst FF_MINUS = 173;\nconst MUTE = 173; // Firefox (Gecko) fires 181 for MUTE\nconst VOLUME_DOWN = 174; // Firefox (Gecko) fires 182 for VOLUME_DOWN\nconst VOLUME_UP = 175; // Firefox (Gecko) fires 183 for VOLUME_UP\nconst FF_MUTE = 181;\nconst FF_VOLUME_DOWN = 182;\nconst LAST_MEDIA = 183;\nconst FF_VOLUME_UP = 183;\nconst SEMICOLON = 186; // Firefox (Gecko) fires 59 for SEMICOLON\nconst EQUALS = 187; // Firefox (Gecko) fires 61 for EQUALS\nconst COMMA = 188;\nconst DASH = 189; // Firefox (Gecko) fires 173 for DASH/MINUS\nconst PERIOD = 190;\nconst SLASH = 191;\nconst APOSTROPHE = 192;\nconst TILDE = 192;\nconst OPEN_SQUARE_BRACKET = 219;\nconst BACKSLASH = 220;\nconst CLOSE_SQUARE_BRACKET = 221;\nconst SINGLE_QUOTE = 222;\nconst MAC_META = 224;\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * Checks whether a modifier key is pressed.\n * @param event Event to be checked.\n */\nfunction hasModifierKey(event, ...modifiers) {\n if (modifiers.length) {\n return modifiers.some(modifier => event[modifier]);\n }\n return event.altKey || event.shiftKey || event.ctrlKey || event.metaKey;\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\n/**\n * Generated bundle index. Do not edit.\n */\n\nexport { A, ALT, APOSTROPHE, AT_SIGN, B, BACKSLASH, BACKSPACE, C, CAPS_LOCK, CLOSE_SQUARE_BRACKET, COMMA, CONTEXT_MENU, CONTROL, D, DASH, DELETE, DOWN_ARROW, E, EIGHT, END, ENTER, EQUALS, ESCAPE, F, F1, F10, F11, F12, F2, F3, F4, F5, F6, F7, F8, F9, FF_EQUALS, FF_MINUS, FF_MUTE, FF_SEMICOLON, FF_VOLUME_DOWN, FF_VOLUME_UP, FIRST_MEDIA, FIVE, FOUR, G, H, HOME, I, INSERT, J, K, L, LAST_MEDIA, LEFT_ARROW, M, MAC_ENTER, MAC_META, MAC_WK_CMD_LEFT, MAC_WK_CMD_RIGHT, META, MUTE, N, NINE, NUMPAD_DIVIDE, NUMPAD_EIGHT, NUMPAD_FIVE, NUMPAD_FOUR, NUMPAD_MINUS, NUMPAD_MULTIPLY, NUMPAD_NINE, NUMPAD_ONE, NUMPAD_PERIOD, NUMPAD_PLUS, NUMPAD_SEVEN, NUMPAD_SIX, NUMPAD_THREE, NUMPAD_TWO, NUMPAD_ZERO, NUM_CENTER, NUM_LOCK, O, ONE, OPEN_SQUARE_BRACKET, P, PAGE_DOWN, PAGE_UP, PAUSE, PERIOD, PLUS_SIGN, PRINT_SCREEN, Q, QUESTION_MARK, R, RIGHT_ARROW, S, SCROLL_LOCK, SEMICOLON, SEVEN, SHIFT, SINGLE_QUOTE, SIX, SLASH, SPACE, T, TAB, THREE, TILDE, TWO, U, UP_ARROW, V, VOLUME_DOWN, VOLUME_UP, W, X, Y, Z, ZERO, hasModifierKey };\n","import { coerceElement, coerceBooleanProperty, coerceNumberProperty } from '@angular/cdk/coercion';\nimport * as i0 from '@angular/core';\nimport { Injectable, EventEmitter, Directive, Output, Input, NgModule } from '@angular/core';\nimport { Observable, Subject } from 'rxjs';\nimport { debounceTime } from 'rxjs/operators';\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * Factory that creates a new MutationObserver and allows us to stub it out in unit tests.\n * @docs-private\n */\nclass MutationObserverFactory {\n create(callback) {\n return typeof MutationObserver === 'undefined' ? null : new MutationObserver(callback);\n }\n}\nMutationObserverFactory.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"13.0.1\", ngImport: i0, type: MutationObserverFactory, deps: [], target: i0.ɵɵFactoryTarget.Injectable });\nMutationObserverFactory.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"13.0.1\", ngImport: i0, type: MutationObserverFactory, providedIn: 'root' });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"13.0.1\", ngImport: i0, type: MutationObserverFactory, decorators: [{\n type: Injectable,\n args: [{ providedIn: 'root' }]\n }] });\n/** An injectable service that allows watching elements for changes to their content. */\nclass ContentObserver {\n constructor(_mutationObserverFactory) {\n this._mutationObserverFactory = _mutationObserverFactory;\n /** Keeps track of the existing MutationObservers so they can be reused. */\n this._observedElements = new Map();\n }\n ngOnDestroy() {\n this._observedElements.forEach((_, element) => this._cleanupObserver(element));\n }\n observe(elementOrRef) {\n const element = coerceElement(elementOrRef);\n return new Observable((observer) => {\n const stream = this._observeElement(element);\n const subscription = stream.subscribe(observer);\n return () => {\n subscription.unsubscribe();\n this._unobserveElement(element);\n };\n });\n }\n /**\n * Observes the given element by using the existing MutationObserver if available, or creating a\n * new one if not.\n */\n _observeElement(element) {\n if (!this._observedElements.has(element)) {\n const stream = new Subject();\n const observer = this._mutationObserverFactory.create(mutations => stream.next(mutations));\n if (observer) {\n observer.observe(element, {\n characterData: true,\n childList: true,\n subtree: true,\n });\n }\n this._observedElements.set(element, { observer, stream, count: 1 });\n }\n else {\n this._observedElements.get(element).count++;\n }\n return this._observedElements.get(element).stream;\n }\n /**\n * Un-observes the given element and cleans up the underlying MutationObserver if nobody else is\n * observing this element.\n */\n _unobserveElement(element) {\n if (this._observedElements.has(element)) {\n this._observedElements.get(element).count--;\n if (!this._observedElements.get(element).count) {\n this._cleanupObserver(element);\n }\n }\n }\n /** Clean up the underlying MutationObserver for the specified element. */\n _cleanupObserver(element) {\n if (this._observedElements.has(element)) {\n const { observer, stream } = this._observedElements.get(element);\n if (observer) {\n observer.disconnect();\n }\n stream.complete();\n this._observedElements.delete(element);\n }\n }\n}\nContentObserver.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"13.0.1\", ngImport: i0, type: ContentObserver, deps: [{ token: MutationObserverFactory }], target: i0.ɵɵFactoryTarget.Injectable });\nContentObserver.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"13.0.1\", ngImport: i0, type: ContentObserver, providedIn: 'root' });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"13.0.1\", ngImport: i0, type: ContentObserver, decorators: [{\n type: Injectable,\n args: [{ providedIn: 'root' }]\n }], ctorParameters: function () { return [{ type: MutationObserverFactory }]; } });\n/**\n * Directive that triggers a callback whenever the content of\n * its associated element has changed.\n */\nclass CdkObserveContent {\n constructor(_contentObserver, _elementRef, _ngZone) {\n this._contentObserver = _contentObserver;\n this._elementRef = _elementRef;\n this._ngZone = _ngZone;\n /** Event emitted for each change in the element's content. */\n this.event = new EventEmitter();\n this._disabled = false;\n this._currentSubscription = null;\n }\n /**\n * Whether observing content is disabled. This option can be used\n * to disconnect the underlying MutationObserver until it is needed.\n */\n get disabled() {\n return this._disabled;\n }\n set disabled(value) {\n this._disabled = coerceBooleanProperty(value);\n this._disabled ? this._unsubscribe() : this._subscribe();\n }\n /** Debounce interval for emitting the changes. */\n get debounce() {\n return this._debounce;\n }\n set debounce(value) {\n this._debounce = coerceNumberProperty(value);\n this._subscribe();\n }\n ngAfterContentInit() {\n if (!this._currentSubscription && !this.disabled) {\n this._subscribe();\n }\n }\n ngOnDestroy() {\n this._unsubscribe();\n }\n _subscribe() {\n this._unsubscribe();\n const stream = this._contentObserver.observe(this._elementRef);\n // TODO(mmalerba): We shouldn't be emitting on this @Output() outside the zone.\n // Consider brining it back inside the zone next time we're making breaking changes.\n // Bringing it back inside can cause things like infinite change detection loops and changed\n // after checked errors if people's code isn't handling it properly.\n this._ngZone.runOutsideAngular(() => {\n this._currentSubscription = (this.debounce ? stream.pipe(debounceTime(this.debounce)) : stream).subscribe(this.event);\n });\n }\n _unsubscribe() {\n this._currentSubscription?.unsubscribe();\n }\n}\nCdkObserveContent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"13.0.1\", ngImport: i0, type: CdkObserveContent, deps: [{ token: ContentObserver }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Directive });\nCdkObserveContent.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"12.0.0\", version: \"13.0.1\", type: CdkObserveContent, selector: \"[cdkObserveContent]\", inputs: { disabled: [\"cdkObserveContentDisabled\", \"disabled\"], debounce: \"debounce\" }, outputs: { event: \"cdkObserveContent\" }, exportAs: [\"cdkObserveContent\"], ngImport: i0 });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"13.0.1\", ngImport: i0, type: CdkObserveContent, decorators: [{\n type: Directive,\n args: [{\n selector: '[cdkObserveContent]',\n exportAs: 'cdkObserveContent',\n }]\n }], ctorParameters: function () { return [{ type: ContentObserver }, { type: i0.ElementRef }, { type: i0.NgZone }]; }, propDecorators: { event: [{\n type: Output,\n args: ['cdkObserveContent']\n }], disabled: [{\n type: Input,\n args: ['cdkObserveContentDisabled']\n }], debounce: [{\n type: Input\n }] } });\nclass ObserversModule {\n}\nObserversModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"13.0.1\", ngImport: i0, type: ObserversModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });\nObserversModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: \"12.0.0\", version: \"13.0.1\", ngImport: i0, type: ObserversModule, declarations: [CdkObserveContent], exports: [CdkObserveContent] });\nObserversModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: \"12.0.0\", version: \"13.0.1\", ngImport: i0, type: ObserversModule, providers: [MutationObserverFactory] });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"13.0.1\", ngImport: i0, type: ObserversModule, decorators: [{\n type: NgModule,\n args: [{\n exports: [CdkObserveContent],\n declarations: [CdkObserveContent],\n providers: [MutationObserverFactory],\n }]\n }] });\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\n/**\n * Generated bundle index. Do not edit.\n */\n\nexport { CdkObserveContent, ContentObserver, MutationObserverFactory, ObserversModule };\n","import * as i1 from '@angular/cdk/scrolling';\nimport { ScrollingModule } from '@angular/cdk/scrolling';\nexport { CdkScrollable, ScrollDispatcher, ViewportRuler } from '@angular/cdk/scrolling';\nimport * as i6 from '@angular/common';\nimport { DOCUMENT } from '@angular/common';\nimport * as i0 from '@angular/core';\nimport { Injectable, Inject, ElementRef, ApplicationRef, InjectionToken, Directive, EventEmitter, Optional, Input, Output, NgModule } from '@angular/core';\nimport { coerceCssPixelValue, coerceArray, coerceBooleanProperty } from '@angular/cdk/coercion';\nimport * as i1$1 from '@angular/cdk/platform';\nimport { supportsScrollBehavior, _getEventTarget, _isTestEnvironment } from '@angular/cdk/platform';\nimport * as i5 from '@angular/cdk/bidi';\nimport { BidiModule } from '@angular/cdk/bidi';\nimport { DomPortalOutlet, TemplatePortal, PortalModule } from '@angular/cdk/portal';\nimport { Subject, Subscription, merge } from 'rxjs';\nimport { take, takeUntil, takeWhile } from 'rxjs/operators';\nimport { ESCAPE, hasModifierKey } from '@angular/cdk/keycodes';\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nconst scrollBehaviorSupported = supportsScrollBehavior();\n/**\n * Strategy that will prevent the user from scrolling while the overlay is visible.\n */\nclass BlockScrollStrategy {\n constructor(_viewportRuler, document) {\n this._viewportRuler = _viewportRuler;\n this._previousHTMLStyles = { top: '', left: '' };\n this._isEnabled = false;\n this._document = document;\n }\n /** Attaches this scroll strategy to an overlay. */\n attach() { }\n /** Blocks page-level scroll while the attached overlay is open. */\n enable() {\n if (this._canBeEnabled()) {\n const root = this._document.documentElement;\n this._previousScrollPosition = this._viewportRuler.getViewportScrollPosition();\n // Cache the previous inline styles in case the user had set them.\n this._previousHTMLStyles.left = root.style.left || '';\n this._previousHTMLStyles.top = root.style.top || '';\n // Note: we're using the `html` node, instead of the `body`, because the `body` may\n // have the user agent margin, whereas the `html` is guaranteed not to have one.\n root.style.left = coerceCssPixelValue(-this._previousScrollPosition.left);\n root.style.top = coerceCssPixelValue(-this._previousScrollPosition.top);\n root.classList.add('cdk-global-scrollblock');\n this._isEnabled = true;\n }\n }\n /** Unblocks page-level scroll while the attached overlay is open. */\n disable() {\n if (this._isEnabled) {\n const html = this._document.documentElement;\n const body = this._document.body;\n const htmlStyle = html.style;\n const bodyStyle = body.style;\n const previousHtmlScrollBehavior = htmlStyle.scrollBehavior || '';\n const previousBodyScrollBehavior = bodyStyle.scrollBehavior || '';\n this._isEnabled = false;\n htmlStyle.left = this._previousHTMLStyles.left;\n htmlStyle.top = this._previousHTMLStyles.top;\n html.classList.remove('cdk-global-scrollblock');\n // Disable user-defined smooth scrolling temporarily while we restore the scroll position.\n // See https://developer.mozilla.org/en-US/docs/Web/CSS/scroll-behavior\n // Note that we don't mutate the property if the browser doesn't support `scroll-behavior`,\n // because it can throw off feature detections in `supportsScrollBehavior` which\n // checks for `'scrollBehavior' in documentElement.style`.\n if (scrollBehaviorSupported) {\n htmlStyle.scrollBehavior = bodyStyle.scrollBehavior = 'auto';\n }\n window.scroll(this._previousScrollPosition.left, this._previousScrollPosition.top);\n if (scrollBehaviorSupported) {\n htmlStyle.scrollBehavior = previousHtmlScrollBehavior;\n bodyStyle.scrollBehavior = previousBodyScrollBehavior;\n }\n }\n }\n _canBeEnabled() {\n // Since the scroll strategies can't be singletons, we have to use a global CSS class\n // (`cdk-global-scrollblock`) to make sure that we don't try to disable global\n // scrolling multiple times.\n const html = this._document.documentElement;\n if (html.classList.contains('cdk-global-scrollblock') || this._isEnabled) {\n return false;\n }\n const body = this._document.body;\n const viewport = this._viewportRuler.getViewportSize();\n return body.scrollHeight > viewport.height || body.scrollWidth > viewport.width;\n }\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * Returns an error to be thrown when attempting to attach an already-attached scroll strategy.\n */\nfunction getMatScrollStrategyAlreadyAttachedError() {\n return Error(`Scroll strategy has already been attached.`);\n}\n\n/**\n * Strategy that will close the overlay as soon as the user starts scrolling.\n */\nclass CloseScrollStrategy {\n constructor(_scrollDispatcher, _ngZone, _viewportRuler, _config) {\n this._scrollDispatcher = _scrollDispatcher;\n this._ngZone = _ngZone;\n this._viewportRuler = _viewportRuler;\n this._config = _config;\n this._scrollSubscription = null;\n /** Detaches the overlay ref and disables the scroll strategy. */\n this._detach = () => {\n this.disable();\n if (this._overlayRef.hasAttached()) {\n this._ngZone.run(() => this._overlayRef.detach());\n }\n };\n }\n /** Attaches this scroll strategy to an overlay. */\n attach(overlayRef) {\n if (this._overlayRef && (typeof ngDevMode === 'undefined' || ngDevMode)) {\n throw getMatScrollStrategyAlreadyAttachedError();\n }\n this._overlayRef = overlayRef;\n }\n /** Enables the closing of the attached overlay on scroll. */\n enable() {\n if (this._scrollSubscription) {\n return;\n }\n const stream = this._scrollDispatcher.scrolled(0);\n if (this._config && this._config.threshold && this._config.threshold > 1) {\n this._initialScrollPosition = this._viewportRuler.getViewportScrollPosition().top;\n this._scrollSubscription = stream.subscribe(() => {\n const scrollPosition = this._viewportRuler.getViewportScrollPosition().top;\n if (Math.abs(scrollPosition - this._initialScrollPosition) > this._config.threshold) {\n this._detach();\n }\n else {\n this._overlayRef.updatePosition();\n }\n });\n }\n else {\n this._scrollSubscription = stream.subscribe(this._detach);\n }\n }\n /** Disables the closing the attached overlay on scroll. */\n disable() {\n if (this._scrollSubscription) {\n this._scrollSubscription.unsubscribe();\n this._scrollSubscription = null;\n }\n }\n detach() {\n this.disable();\n this._overlayRef = null;\n }\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/** Scroll strategy that doesn't do anything. */\nclass NoopScrollStrategy {\n /** Does nothing, as this scroll strategy is a no-op. */\n enable() { }\n /** Does nothing, as this scroll strategy is a no-op. */\n disable() { }\n /** Does nothing, as this scroll strategy is a no-op. */\n attach() { }\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * Gets whether an element is scrolled outside of view by any of its parent scrolling containers.\n * @param element Dimensions of the element (from getBoundingClientRect)\n * @param scrollContainers Dimensions of element's scrolling containers (from getBoundingClientRect)\n * @returns Whether the element is scrolled out of view\n * @docs-private\n */\nfunction isElementScrolledOutsideView(element, scrollContainers) {\n return scrollContainers.some(containerBounds => {\n const outsideAbove = element.bottom < containerBounds.top;\n const outsideBelow = element.top > containerBounds.bottom;\n const outsideLeft = element.right < containerBounds.left;\n const outsideRight = element.left > containerBounds.right;\n return outsideAbove || outsideBelow || outsideLeft || outsideRight;\n });\n}\n/**\n * Gets whether an element is clipped by any of its scrolling containers.\n * @param element Dimensions of the element (from getBoundingClientRect)\n * @param scrollContainers Dimensions of element's scrolling containers (from getBoundingClientRect)\n * @returns Whether the element is clipped\n * @docs-private\n */\nfunction isElementClippedByScrolling(element, scrollContainers) {\n return scrollContainers.some(scrollContainerRect => {\n const clippedAbove = element.top < scrollContainerRect.top;\n const clippedBelow = element.bottom > scrollContainerRect.bottom;\n const clippedLeft = element.left < scrollContainerRect.left;\n const clippedRight = element.right > scrollContainerRect.right;\n return clippedAbove || clippedBelow || clippedLeft || clippedRight;\n });\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * Strategy that will update the element position as the user is scrolling.\n */\nclass RepositionScrollStrategy {\n constructor(_scrollDispatcher, _viewportRuler, _ngZone, _config) {\n this._scrollDispatcher = _scrollDispatcher;\n this._viewportRuler = _viewportRuler;\n this._ngZone = _ngZone;\n this._config = _config;\n this._scrollSubscription = null;\n }\n /** Attaches this scroll strategy to an overlay. */\n attach(overlayRef) {\n if (this._overlayRef && (typeof ngDevMode === 'undefined' || ngDevMode)) {\n throw getMatScrollStrategyAlreadyAttachedError();\n }\n this._overlayRef = overlayRef;\n }\n /** Enables repositioning of the attached overlay on scroll. */\n enable() {\n if (!this._scrollSubscription) {\n const throttle = this._config ? this._config.scrollThrottle : 0;\n this._scrollSubscription = this._scrollDispatcher.scrolled(throttle).subscribe(() => {\n this._overlayRef.updatePosition();\n // TODO(crisbeto): make `close` on by default once all components can handle it.\n if (this._config && this._config.autoClose) {\n const overlayRect = this._overlayRef.overlayElement.getBoundingClientRect();\n const { width, height } = this._viewportRuler.getViewportSize();\n // TODO(crisbeto): include all ancestor scroll containers here once\n // we have a way of exposing the trigger element to the scroll strategy.\n const parentRects = [{ width, height, bottom: height, right: width, top: 0, left: 0 }];\n if (isElementScrolledOutsideView(overlayRect, parentRects)) {\n this.disable();\n this._ngZone.run(() => this._overlayRef.detach());\n }\n }\n });\n }\n }\n /** Disables repositioning of the attached overlay on scroll. */\n disable() {\n if (this._scrollSubscription) {\n this._scrollSubscription.unsubscribe();\n this._scrollSubscription = null;\n }\n }\n detach() {\n this.disable();\n this._overlayRef = null;\n }\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * Options for how an overlay will handle scrolling.\n *\n * Users can provide a custom value for `ScrollStrategyOptions` to replace the default\n * behaviors. This class primarily acts as a factory for ScrollStrategy instances.\n */\nclass ScrollStrategyOptions {\n constructor(_scrollDispatcher, _viewportRuler, _ngZone, document) {\n this._scrollDispatcher = _scrollDispatcher;\n this._viewportRuler = _viewportRuler;\n this._ngZone = _ngZone;\n /** Do nothing on scroll. */\n this.noop = () => new NoopScrollStrategy();\n /**\n * Close the overlay as soon as the user scrolls.\n * @param config Configuration to be used inside the scroll strategy.\n */\n this.close = (config) => new CloseScrollStrategy(this._scrollDispatcher, this._ngZone, this._viewportRuler, config);\n /** Block scrolling. */\n this.block = () => new BlockScrollStrategy(this._viewportRuler, this._document);\n /**\n * Update the overlay's position on scroll.\n * @param config Configuration to be used inside the scroll strategy.\n * Allows debouncing the reposition calls.\n */\n this.reposition = (config) => new RepositionScrollStrategy(this._scrollDispatcher, this._viewportRuler, this._ngZone, config);\n this._document = document;\n }\n}\nScrollStrategyOptions.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"13.0.1\", ngImport: i0, type: ScrollStrategyOptions, deps: [{ token: i1.ScrollDispatcher }, { token: i1.ViewportRuler }, { token: i0.NgZone }, { token: DOCUMENT }], target: i0.ɵɵFactoryTarget.Injectable });\nScrollStrategyOptions.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"13.0.1\", ngImport: i0, type: ScrollStrategyOptions, providedIn: 'root' });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"13.0.1\", ngImport: i0, type: ScrollStrategyOptions, decorators: [{\n type: Injectable,\n args: [{ providedIn: 'root' }]\n }], ctorParameters: function () { return [{ type: i1.ScrollDispatcher }, { type: i1.ViewportRuler }, { type: i0.NgZone }, { type: undefined, decorators: [{\n type: Inject,\n args: [DOCUMENT]\n }] }]; } });\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/** Initial configuration used when creating an overlay. */\nclass OverlayConfig {\n constructor(config) {\n /** Strategy to be used when handling scroll events while the overlay is open. */\n this.scrollStrategy = new NoopScrollStrategy();\n /** Custom class to add to the overlay pane. */\n this.panelClass = '';\n /** Whether the overlay has a backdrop. */\n this.hasBackdrop = false;\n /** Custom class to add to the backdrop */\n this.backdropClass = 'cdk-overlay-dark-backdrop';\n /**\n * Whether the overlay should be disposed of when the user goes backwards/forwards in history.\n * Note that this usually doesn't include clicking on links (unless the user is using\n * the `HashLocationStrategy`).\n */\n this.disposeOnNavigation = false;\n if (config) {\n // Use `Iterable` instead of `Array` because TypeScript, as of 3.6.3,\n // loses the array generic type in the `for of`. But we *also* have to use `Array` because\n // typescript won't iterate over an `Iterable` unless you compile with `--downlevelIteration`\n const configKeys = Object.keys(config);\n for (const key of configKeys) {\n if (config[key] !== undefined) {\n // TypeScript, as of version 3.5, sees the left-hand-side of this expression\n // as \"I don't know *which* key this is, so the only valid value is the intersection\n // of all the posible values.\" In this case, that happens to be `undefined`. TypeScript\n // is not smart enough to see that the right-hand-side is actually an access of the same\n // exact type with the same exact key, meaning that the value type must be identical.\n // So we use `any` to work around this.\n this[key] = config[key];\n }\n }\n }\n }\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/** The points of the origin element and the overlay element to connect. */\nclass ConnectionPositionPair {\n constructor(origin, overlay, \n /** Offset along the X axis. */\n offsetX, \n /** Offset along the Y axis. */\n offsetY, \n /** Class(es) to be applied to the panel while this position is active. */\n panelClass) {\n this.offsetX = offsetX;\n this.offsetY = offsetY;\n this.panelClass = panelClass;\n this.originX = origin.originX;\n this.originY = origin.originY;\n this.overlayX = overlay.overlayX;\n this.overlayY = overlay.overlayY;\n }\n}\n/**\n * Set of properties regarding the position of the origin and overlay relative to the viewport\n * with respect to the containing Scrollable elements.\n *\n * The overlay and origin are clipped if any part of their bounding client rectangle exceeds the\n * bounds of any one of the strategy's Scrollable's bounding client rectangle.\n *\n * The overlay and origin are outside view if there is no overlap between their bounding client\n * rectangle and any one of the strategy's Scrollable's bounding client rectangle.\n *\n * ----------- -----------\n * | outside | | clipped |\n * | view | --------------------------\n * | | | | | |\n * ---------- | ----------- |\n * -------------------------- | |\n * | | | Scrollable |\n * | | | |\n * | | --------------------------\n * | Scrollable |\n * | |\n * --------------------------\n *\n * @docs-private\n */\nclass ScrollingVisibility {\n}\n/** The change event emitted by the strategy when a fallback position is used. */\nclass ConnectedOverlayPositionChange {\n constructor(\n /** The position used as a result of this change. */\n connectionPair, \n /** @docs-private */\n scrollableViewProperties) {\n this.connectionPair = connectionPair;\n this.scrollableViewProperties = scrollableViewProperties;\n }\n}\n/**\n * Validates whether a vertical position property matches the expected values.\n * @param property Name of the property being validated.\n * @param value Value of the property being validated.\n * @docs-private\n */\nfunction validateVerticalPosition(property, value) {\n if (value !== 'top' && value !== 'bottom' && value !== 'center') {\n throw Error(`ConnectedPosition: Invalid ${property} \"${value}\". ` +\n `Expected \"top\", \"bottom\" or \"center\".`);\n }\n}\n/**\n * Validates whether a horizontal position property matches the expected values.\n * @param property Name of the property being validated.\n * @param value Value of the property being validated.\n * @docs-private\n */\nfunction validateHorizontalPosition(property, value) {\n if (value !== 'start' && value !== 'end' && value !== 'center') {\n throw Error(`ConnectedPosition: Invalid ${property} \"${value}\". ` +\n `Expected \"start\", \"end\" or \"center\".`);\n }\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * Service for dispatching events that land on the body to appropriate overlay ref,\n * if any. It maintains a list of attached overlays to determine best suited overlay based\n * on event target and order of overlay opens.\n */\nclass BaseOverlayDispatcher {\n constructor(document) {\n /** Currently attached overlays in the order they were attached. */\n this._attachedOverlays = [];\n this._document = document;\n }\n ngOnDestroy() {\n this.detach();\n }\n /** Add a new overlay to the list of attached overlay refs. */\n add(overlayRef) {\n // Ensure that we don't get the same overlay multiple times.\n this.remove(overlayRef);\n this._attachedOverlays.push(overlayRef);\n }\n /** Remove an overlay from the list of attached overlay refs. */\n remove(overlayRef) {\n const index = this._attachedOverlays.indexOf(overlayRef);\n if (index > -1) {\n this._attachedOverlays.splice(index, 1);\n }\n // Remove the global listener once there are no more overlays.\n if (this._attachedOverlays.length === 0) {\n this.detach();\n }\n }\n}\nBaseOverlayDispatcher.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"13.0.1\", ngImport: i0, type: BaseOverlayDispatcher, deps: [{ token: DOCUMENT }], target: i0.ɵɵFactoryTarget.Injectable });\nBaseOverlayDispatcher.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"13.0.1\", ngImport: i0, type: BaseOverlayDispatcher, providedIn: 'root' });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"13.0.1\", ngImport: i0, type: BaseOverlayDispatcher, decorators: [{\n type: Injectable,\n args: [{ providedIn: 'root' }]\n }], ctorParameters: function () { return [{ type: undefined, decorators: [{\n type: Inject,\n args: [DOCUMENT]\n }] }]; } });\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * Service for dispatching keyboard events that land on the body to appropriate overlay ref,\n * if any. It maintains a list of attached overlays to determine best suited overlay based\n * on event target and order of overlay opens.\n */\nclass OverlayKeyboardDispatcher extends BaseOverlayDispatcher {\n constructor(document) {\n super(document);\n /** Keyboard event listener that will be attached to the body. */\n this._keydownListener = (event) => {\n const overlays = this._attachedOverlays;\n for (let i = overlays.length - 1; i > -1; i--) {\n // Dispatch the keydown event to the top overlay which has subscribers to its keydown events.\n // We want to target the most recent overlay, rather than trying to match where the event came\n // from, because some components might open an overlay, but keep focus on a trigger element\n // (e.g. for select and autocomplete). We skip overlays without keydown event subscriptions,\n // because we don't want overlays that don't handle keyboard events to block the ones below\n // them that do.\n if (overlays[i]._keydownEvents.observers.length > 0) {\n overlays[i]._keydownEvents.next(event);\n break;\n }\n }\n };\n }\n /** Add a new overlay to the list of attached overlay refs. */\n add(overlayRef) {\n super.add(overlayRef);\n // Lazily start dispatcher once first overlay is added\n if (!this._isAttached) {\n this._document.body.addEventListener('keydown', this._keydownListener);\n this._isAttached = true;\n }\n }\n /** Detaches the global keyboard event listener. */\n detach() {\n if (this._isAttached) {\n this._document.body.removeEventListener('keydown', this._keydownListener);\n this._isAttached = false;\n }\n }\n}\nOverlayKeyboardDispatcher.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"13.0.1\", ngImport: i0, type: OverlayKeyboardDispatcher, deps: [{ token: DOCUMENT }], target: i0.ɵɵFactoryTarget.Injectable });\nOverlayKeyboardDispatcher.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"13.0.1\", ngImport: i0, type: OverlayKeyboardDispatcher, providedIn: 'root' });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"13.0.1\", ngImport: i0, type: OverlayKeyboardDispatcher, decorators: [{\n type: Injectable,\n args: [{ providedIn: 'root' }]\n }], ctorParameters: function () { return [{ type: undefined, decorators: [{\n type: Inject,\n args: [DOCUMENT]\n }] }]; } });\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * Service for dispatching mouse click events that land on the body to appropriate overlay ref,\n * if any. It maintains a list of attached overlays to determine best suited overlay based\n * on event target and order of overlay opens.\n */\nclass OverlayOutsideClickDispatcher extends BaseOverlayDispatcher {\n constructor(document, _platform) {\n super(document);\n this._platform = _platform;\n this._cursorStyleIsSet = false;\n /** Store pointerdown event target to track origin of click. */\n this._pointerDownListener = (event) => {\n this._pointerDownEventTarget = _getEventTarget(event);\n };\n /** Click event listener that will be attached to the body propagate phase. */\n this._clickListener = (event) => {\n const target = _getEventTarget(event);\n // In case of a click event, we want to check the origin of the click\n // (e.g. in case where a user starts a click inside the overlay and\n // releases the click outside of it).\n // This is done by using the event target of the preceding pointerdown event.\n // Every click event caused by a pointer device has a preceding pointerdown\n // event, unless the click was programmatically triggered (e.g. in a unit test).\n const origin = event.type === 'click' && this._pointerDownEventTarget\n ? this._pointerDownEventTarget : target;\n // Reset the stored pointerdown event target, to avoid having it interfere\n // in subsequent events.\n this._pointerDownEventTarget = null;\n // We copy the array because the original may be modified asynchronously if the\n // outsidePointerEvents listener decides to detach overlays resulting in index errors inside\n // the for loop.\n const overlays = this._attachedOverlays.slice();\n // Dispatch the mouse event to the top overlay which has subscribers to its mouse events.\n // We want to target all overlays for which the click could be considered as outside click.\n // As soon as we reach an overlay for which the click is not outside click we break off\n // the loop.\n for (let i = overlays.length - 1; i > -1; i--) {\n const overlayRef = overlays[i];\n if (overlayRef._outsidePointerEvents.observers.length < 1 || !overlayRef.hasAttached()) {\n continue;\n }\n // If it's a click inside the overlay, just break - we should do nothing\n // If it's an outside click (both origin and target of the click) dispatch the mouse event,\n // and proceed with the next overlay\n if (overlayRef.overlayElement.contains(target) ||\n overlayRef.overlayElement.contains(origin)) {\n break;\n }\n overlayRef._outsidePointerEvents.next(event);\n }\n };\n }\n /** Add a new overlay to the list of attached overlay refs. */\n add(overlayRef) {\n super.add(overlayRef);\n // Safari on iOS does not generate click events for non-interactive\n // elements. However, we want to receive a click for any element outside\n // the overlay. We can force a \"clickable\" state by setting\n // `cursor: pointer` on the document body. See:\n // https://developer.mozilla.org/en-US/docs/Web/API/Element/click_event#Safari_Mobile\n // https://developer.apple.com/library/archive/documentation/AppleApplications/Reference/SafariWebContent/HandlingEvents/HandlingEvents.html\n if (!this._isAttached) {\n const body = this._document.body;\n body.addEventListener('pointerdown', this._pointerDownListener, true);\n body.addEventListener('click', this._clickListener, true);\n body.addEventListener('auxclick', this._clickListener, true);\n body.addEventListener('contextmenu', this._clickListener, true);\n // click event is not fired on iOS. To make element \"clickable\" we are\n // setting the cursor to pointer\n if (this._platform.IOS && !this._cursorStyleIsSet) {\n this._cursorOriginalValue = body.style.cursor;\n body.style.cursor = 'pointer';\n this._cursorStyleIsSet = true;\n }\n this._isAttached = true;\n }\n }\n /** Detaches the global keyboard event listener. */\n detach() {\n if (this._isAttached) {\n const body = this._document.body;\n body.removeEventListener('pointerdown', this._pointerDownListener, true);\n body.removeEventListener('click', this._clickListener, true);\n body.removeEventListener('auxclick', this._clickListener, true);\n body.removeEventListener('contextmenu', this._clickListener, true);\n if (this._platform.IOS && this._cursorStyleIsSet) {\n body.style.cursor = this._cursorOriginalValue;\n this._cursorStyleIsSet = false;\n }\n this._isAttached = false;\n }\n }\n}\nOverlayOutsideClickDispatcher.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"13.0.1\", ngImport: i0, type: OverlayOutsideClickDispatcher, deps: [{ token: DOCUMENT }, { token: i1$1.Platform }], target: i0.ɵɵFactoryTarget.Injectable });\nOverlayOutsideClickDispatcher.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"13.0.1\", ngImport: i0, type: OverlayOutsideClickDispatcher, providedIn: 'root' });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"13.0.1\", ngImport: i0, type: OverlayOutsideClickDispatcher, decorators: [{\n type: Injectable,\n args: [{ providedIn: 'root' }]\n }], ctorParameters: function () { return [{ type: undefined, decorators: [{\n type: Inject,\n args: [DOCUMENT]\n }] }, { type: i1$1.Platform }]; } });\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/** Container inside which all overlays will render. */\nclass OverlayContainer {\n constructor(document, _platform) {\n this._platform = _platform;\n this._document = document;\n }\n ngOnDestroy() {\n this._containerElement?.remove();\n }\n /**\n * This method returns the overlay container element. It will lazily\n * create the element the first time it is called to facilitate using\n * the container in non-browser environments.\n * @returns the container element\n */\n getContainerElement() {\n if (!this._containerElement) {\n this._createContainer();\n }\n return this._containerElement;\n }\n /**\n * Create the overlay container element, which is simply a div\n * with the 'cdk-overlay-container' class on the document body.\n */\n _createContainer() {\n const containerClass = 'cdk-overlay-container';\n // TODO(crisbeto): remove the testing check once we have an overlay testing\n // module or Angular starts tearing down the testing `NgModule`. See:\n // https://github.com/angular/angular/issues/18831\n if (this._platform.isBrowser || _isTestEnvironment()) {\n const oppositePlatformContainers = this._document.querySelectorAll(`.${containerClass}[platform=\"server\"], ` + `.${containerClass}[platform=\"test\"]`);\n // Remove any old containers from the opposite platform.\n // This can happen when transitioning from the server to the client.\n for (let i = 0; i < oppositePlatformContainers.length; i++) {\n oppositePlatformContainers[i].remove();\n }\n }\n const container = this._document.createElement('div');\n container.classList.add(containerClass);\n // A long time ago we kept adding new overlay containers whenever a new app was instantiated,\n // but at some point we added logic which clears the duplicate ones in order to avoid leaks.\n // The new logic was a little too aggressive since it was breaking some legitimate use cases.\n // To mitigate the problem we made it so that only containers from a different platform are\n // cleared, but the side-effect was that people started depending on the overly-aggressive\n // logic to clean up their tests for them. Until we can introduce an overlay-specific testing\n // module which does the cleanup, we try to detect that we're in a test environment and we\n // always clear the container. See #17006.\n // TODO(crisbeto): remove the test environment check once we have an overlay testing module.\n if (_isTestEnvironment()) {\n container.setAttribute('platform', 'test');\n }\n else if (!this._platform.isBrowser) {\n container.setAttribute('platform', 'server');\n }\n this._document.body.appendChild(container);\n this._containerElement = container;\n }\n}\nOverlayContainer.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"13.0.1\", ngImport: i0, type: OverlayContainer, deps: [{ token: DOCUMENT }, { token: i1$1.Platform }], target: i0.ɵɵFactoryTarget.Injectable });\nOverlayContainer.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"13.0.1\", ngImport: i0, type: OverlayContainer, providedIn: 'root' });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"13.0.1\", ngImport: i0, type: OverlayContainer, decorators: [{\n type: Injectable,\n args: [{ providedIn: 'root' }]\n }], ctorParameters: function () { return [{ type: undefined, decorators: [{\n type: Inject,\n args: [DOCUMENT]\n }] }, { type: i1$1.Platform }]; } });\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * Reference to an overlay that has been created with the Overlay service.\n * Used to manipulate or dispose of said overlay.\n */\nclass OverlayRef {\n constructor(_portalOutlet, _host, _pane, _config, _ngZone, _keyboardDispatcher, _document, _location, _outsideClickDispatcher) {\n this._portalOutlet = _portalOutlet;\n this._host = _host;\n this._pane = _pane;\n this._config = _config;\n this._ngZone = _ngZone;\n this._keyboardDispatcher = _keyboardDispatcher;\n this._document = _document;\n this._location = _location;\n this._outsideClickDispatcher = _outsideClickDispatcher;\n this._backdropElement = null;\n this._backdropClick = new Subject();\n this._attachments = new Subject();\n this._detachments = new Subject();\n this._locationChanges = Subscription.EMPTY;\n this._backdropClickHandler = (event) => this._backdropClick.next(event);\n /** Stream of keydown events dispatched to this overlay. */\n this._keydownEvents = new Subject();\n /** Stream of mouse outside events dispatched to this overlay. */\n this._outsidePointerEvents = new Subject();\n if (_config.scrollStrategy) {\n this._scrollStrategy = _config.scrollStrategy;\n this._scrollStrategy.attach(this);\n }\n this._positionStrategy = _config.positionStrategy;\n }\n /** The overlay's HTML element */\n get overlayElement() {\n return this._pane;\n }\n /** The overlay's backdrop HTML element. */\n get backdropElement() {\n return this._backdropElement;\n }\n /**\n * Wrapper around the panel element. Can be used for advanced\n * positioning where a wrapper with specific styling is\n * required around the overlay pane.\n */\n get hostElement() {\n return this._host;\n }\n /**\n * Attaches content, given via a Portal, to the overlay.\n * If the overlay is configured to have a backdrop, it will be created.\n *\n * @param portal Portal instance to which to attach the overlay.\n * @returns The portal attachment result.\n */\n attach(portal) {\n let attachResult = this._portalOutlet.attach(portal);\n // Update the pane element with the given configuration.\n if (!this._host.parentElement && this._previousHostParent) {\n this._previousHostParent.appendChild(this._host);\n }\n if (this._positionStrategy) {\n this._positionStrategy.attach(this);\n }\n this._updateStackingOrder();\n this._updateElementSize();\n this._updateElementDirection();\n if (this._scrollStrategy) {\n this._scrollStrategy.enable();\n }\n // Update the position once the zone is stable so that the overlay will be fully rendered\n // before attempting to position it, as the position may depend on the size of the rendered\n // content.\n this._ngZone.onStable.pipe(take(1)).subscribe(() => {\n // The overlay could've been detached before the zone has stabilized.\n if (this.hasAttached()) {\n this.updatePosition();\n }\n });\n // Enable pointer events for the overlay pane element.\n this._togglePointerEvents(true);\n if (this._config.hasBackdrop) {\n this._attachBackdrop();\n }\n if (this._config.panelClass) {\n this._toggleClasses(this._pane, this._config.panelClass, true);\n }\n // Only emit the `attachments` event once all other setup is done.\n this._attachments.next();\n // Track this overlay by the keyboard dispatcher\n this._keyboardDispatcher.add(this);\n if (this._config.disposeOnNavigation) {\n this._locationChanges = this._location.subscribe(() => this.dispose());\n }\n this._outsideClickDispatcher.add(this);\n return attachResult;\n }\n /**\n * Detaches an overlay from a portal.\n * @returns The portal detachment result.\n */\n detach() {\n if (!this.hasAttached()) {\n return;\n }\n this.detachBackdrop();\n // When the overlay is detached, the pane element should disable pointer events.\n // This is necessary because otherwise the pane element will cover the page and disable\n // pointer events therefore. Depends on the position strategy and the applied pane boundaries.\n this._togglePointerEvents(false);\n if (this._positionStrategy && this._positionStrategy.detach) {\n this._positionStrategy.detach();\n }\n if (this._scrollStrategy) {\n this._scrollStrategy.disable();\n }\n const detachmentResult = this._portalOutlet.detach();\n // Only emit after everything is detached.\n this._detachments.next();\n // Remove this overlay from keyboard dispatcher tracking.\n this._keyboardDispatcher.remove(this);\n // Keeping the host element in the DOM can cause scroll jank, because it still gets\n // rendered, even though it's transparent and unclickable which is why we remove it.\n this._detachContentWhenStable();\n this._locationChanges.unsubscribe();\n this._outsideClickDispatcher.remove(this);\n return detachmentResult;\n }\n /** Cleans up the overlay from the DOM. */\n dispose() {\n const isAttached = this.hasAttached();\n if (this._positionStrategy) {\n this._positionStrategy.dispose();\n }\n this._disposeScrollStrategy();\n this._disposeBackdrop(this._backdropElement);\n this._locationChanges.unsubscribe();\n this._keyboardDispatcher.remove(this);\n this._portalOutlet.dispose();\n this._attachments.complete();\n this._backdropClick.complete();\n this._keydownEvents.complete();\n this._outsidePointerEvents.complete();\n this._outsideClickDispatcher.remove(this);\n this._host?.remove();\n this._previousHostParent = this._pane = this._host = null;\n if (isAttached) {\n this._detachments.next();\n }\n this._detachments.complete();\n }\n /** Whether the overlay has attached content. */\n hasAttached() {\n return this._portalOutlet.hasAttached();\n }\n /** Gets an observable that emits when the backdrop has been clicked. */\n backdropClick() {\n return this._backdropClick;\n }\n /** Gets an observable that emits when the overlay has been attached. */\n attachments() {\n return this._attachments;\n }\n /** Gets an observable that emits when the overlay has been detached. */\n detachments() {\n return this._detachments;\n }\n /** Gets an observable of keydown events targeted to this overlay. */\n keydownEvents() {\n return this._keydownEvents;\n }\n /** Gets an observable of pointer events targeted outside this overlay. */\n outsidePointerEvents() {\n return this._outsidePointerEvents;\n }\n /** Gets the current overlay configuration, which is immutable. */\n getConfig() {\n return this._config;\n }\n /** Updates the position of the overlay based on the position strategy. */\n updatePosition() {\n if (this._positionStrategy) {\n this._positionStrategy.apply();\n }\n }\n /** Switches to a new position strategy and updates the overlay position. */\n updatePositionStrategy(strategy) {\n if (strategy === this._positionStrategy) {\n return;\n }\n if (this._positionStrategy) {\n this._positionStrategy.dispose();\n }\n this._positionStrategy = strategy;\n if (this.hasAttached()) {\n strategy.attach(this);\n this.updatePosition();\n }\n }\n /** Update the size properties of the overlay. */\n updateSize(sizeConfig) {\n this._config = { ...this._config, ...sizeConfig };\n this._updateElementSize();\n }\n /** Sets the LTR/RTL direction for the overlay. */\n setDirection(dir) {\n this._config = { ...this._config, direction: dir };\n this._updateElementDirection();\n }\n /** Add a CSS class or an array of classes to the overlay pane. */\n addPanelClass(classes) {\n if (this._pane) {\n this._toggleClasses(this._pane, classes, true);\n }\n }\n /** Remove a CSS class or an array of classes from the overlay pane. */\n removePanelClass(classes) {\n if (this._pane) {\n this._toggleClasses(this._pane, classes, false);\n }\n }\n /**\n * Returns the layout direction of the overlay panel.\n */\n getDirection() {\n const direction = this._config.direction;\n if (!direction) {\n return 'ltr';\n }\n return typeof direction === 'string' ? direction : direction.value;\n }\n /** Switches to a new scroll strategy. */\n updateScrollStrategy(strategy) {\n if (strategy === this._scrollStrategy) {\n return;\n }\n this._disposeScrollStrategy();\n this._scrollStrategy = strategy;\n if (this.hasAttached()) {\n strategy.attach(this);\n strategy.enable();\n }\n }\n /** Updates the text direction of the overlay panel. */\n _updateElementDirection() {\n this._host.setAttribute('dir', this.getDirection());\n }\n /** Updates the size of the overlay element based on the overlay config. */\n _updateElementSize() {\n if (!this._pane) {\n return;\n }\n const style = this._pane.style;\n style.width = coerceCssPixelValue(this._config.width);\n style.height = coerceCssPixelValue(this._config.height);\n style.minWidth = coerceCssPixelValue(this._config.minWidth);\n style.minHeight = coerceCssPixelValue(this._config.minHeight);\n style.maxWidth = coerceCssPixelValue(this._config.maxWidth);\n style.maxHeight = coerceCssPixelValue(this._config.maxHeight);\n }\n /** Toggles the pointer events for the overlay pane element. */\n _togglePointerEvents(enablePointer) {\n this._pane.style.pointerEvents = enablePointer ? '' : 'none';\n }\n /** Attaches a backdrop for this overlay. */\n _attachBackdrop() {\n const showingClass = 'cdk-overlay-backdrop-showing';\n this._backdropElement = this._document.createElement('div');\n this._backdropElement.classList.add('cdk-overlay-backdrop');\n if (this._config.backdropClass) {\n this._toggleClasses(this._backdropElement, this._config.backdropClass, true);\n }\n // Insert the backdrop before the pane in the DOM order,\n // in order to handle stacked overlays properly.\n this._host.parentElement.insertBefore(this._backdropElement, this._host);\n // Forward backdrop clicks such that the consumer of the overlay can perform whatever\n // action desired when such a click occurs (usually closing the overlay).\n this._backdropElement.addEventListener('click', this._backdropClickHandler);\n // Add class to fade-in the backdrop after one frame.\n if (typeof requestAnimationFrame !== 'undefined') {\n this._ngZone.runOutsideAngular(() => {\n requestAnimationFrame(() => {\n if (this._backdropElement) {\n this._backdropElement.classList.add(showingClass);\n }\n });\n });\n }\n else {\n this._backdropElement.classList.add(showingClass);\n }\n }\n /**\n * Updates the stacking order of the element, moving it to the top if necessary.\n * This is required in cases where one overlay was detached, while another one,\n * that should be behind it, was destroyed. The next time both of them are opened,\n * the stacking will be wrong, because the detached element's pane will still be\n * in its original DOM position.\n */\n _updateStackingOrder() {\n if (this._host.nextSibling) {\n this._host.parentNode.appendChild(this._host);\n }\n }\n /** Detaches the backdrop (if any) associated with the overlay. */\n detachBackdrop() {\n const backdropToDetach = this._backdropElement;\n if (!backdropToDetach) {\n return;\n }\n let timeoutId;\n const finishDetach = () => {\n // It may not be attached to anything in certain cases (e.g. unit tests).\n if (backdropToDetach) {\n backdropToDetach.removeEventListener('click', this._backdropClickHandler);\n backdropToDetach.removeEventListener('transitionend', finishDetach);\n this._disposeBackdrop(backdropToDetach);\n }\n if (this._config.backdropClass) {\n this._toggleClasses(backdropToDetach, this._config.backdropClass, false);\n }\n clearTimeout(timeoutId);\n };\n backdropToDetach.classList.remove('cdk-overlay-backdrop-showing');\n this._ngZone.runOutsideAngular(() => {\n backdropToDetach.addEventListener('transitionend', finishDetach);\n });\n // If the backdrop doesn't have a transition, the `transitionend` event won't fire.\n // In this case we make it unclickable and we try to remove it after a delay.\n backdropToDetach.style.pointerEvents = 'none';\n // Run this outside the Angular zone because there's nothing that Angular cares about.\n // If it were to run inside the Angular zone, every test that used Overlay would have to be\n // either async or fakeAsync.\n timeoutId = this._ngZone.runOutsideAngular(() => setTimeout(finishDetach, 500));\n }\n /** Toggles a single CSS class or an array of classes on an element. */\n _toggleClasses(element, cssClasses, isAdd) {\n const classes = coerceArray(cssClasses || []).filter(c => !!c);\n if (classes.length) {\n isAdd ? element.classList.add(...classes) : element.classList.remove(...classes);\n }\n }\n /** Detaches the overlay content next time the zone stabilizes. */\n _detachContentWhenStable() {\n // Normally we wouldn't have to explicitly run this outside the `NgZone`, however\n // if the consumer is using `zone-patch-rxjs`, the `Subscription.unsubscribe` call will\n // be patched to run inside the zone, which will throw us into an infinite loop.\n this._ngZone.runOutsideAngular(() => {\n // We can't remove the host here immediately, because the overlay pane's content\n // might still be animating. This stream helps us avoid interrupting the animation\n // by waiting for the pane to become empty.\n const subscription = this._ngZone.onStable\n .pipe(takeUntil(merge(this._attachments, this._detachments)))\n .subscribe(() => {\n // Needs a couple of checks for the pane and host, because\n // they may have been removed by the time the zone stabilizes.\n if (!this._pane || !this._host || this._pane.children.length === 0) {\n if (this._pane && this._config.panelClass) {\n this._toggleClasses(this._pane, this._config.panelClass, false);\n }\n if (this._host && this._host.parentElement) {\n this._previousHostParent = this._host.parentElement;\n this._host.remove();\n }\n subscription.unsubscribe();\n }\n });\n });\n }\n /** Disposes of a scroll strategy. */\n _disposeScrollStrategy() {\n const scrollStrategy = this._scrollStrategy;\n if (scrollStrategy) {\n scrollStrategy.disable();\n if (scrollStrategy.detach) {\n scrollStrategy.detach();\n }\n }\n }\n /** Removes a backdrop element from the DOM. */\n _disposeBackdrop(backdrop) {\n if (backdrop) {\n backdrop.remove();\n // It is possible that a new portal has been attached to this overlay since we started\n // removing the backdrop. If that is the case, only clear the backdrop reference if it\n // is still the same instance that we started to remove.\n if (this._backdropElement === backdrop) {\n this._backdropElement = null;\n }\n }\n }\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n// TODO: refactor clipping detection into a separate thing (part of scrolling module)\n// TODO: doesn't handle both flexible width and height when it has to scroll along both axis.\n/** Class to be added to the overlay bounding box. */\nconst boundingBoxClass = 'cdk-overlay-connected-position-bounding-box';\n/** Regex used to split a string on its CSS units. */\nconst cssUnitPattern = /([A-Za-z%]+)$/;\n/**\n * A strategy for positioning overlays. Using this strategy, an overlay is given an\n * implicit position relative some origin element. The relative position is defined in terms of\n * a point on the origin element that is connected to a point on the overlay element. For example,\n * a basic dropdown is connecting the bottom-left corner of the origin to the top-left corner\n * of the overlay.\n */\nclass FlexibleConnectedPositionStrategy {\n constructor(connectedTo, _viewportRuler, _document, _platform, _overlayContainer) {\n this._viewportRuler = _viewportRuler;\n this._document = _document;\n this._platform = _platform;\n this._overlayContainer = _overlayContainer;\n /** Last size used for the bounding box. Used to avoid resizing the overlay after open. */\n this._lastBoundingBoxSize = { width: 0, height: 0 };\n /** Whether the overlay was pushed in a previous positioning. */\n this._isPushed = false;\n /** Whether the overlay can be pushed on-screen on the initial open. */\n this._canPush = true;\n /** Whether the overlay can grow via flexible width/height after the initial open. */\n this._growAfterOpen = false;\n /** Whether the overlay's width and height can be constrained to fit within the viewport. */\n this._hasFlexibleDimensions = true;\n /** Whether the overlay position is locked. */\n this._positionLocked = false;\n /** Amount of space that must be maintained between the overlay and the edge of the viewport. */\n this._viewportMargin = 0;\n /** The Scrollable containers used to check scrollable view properties on position change. */\n this._scrollables = [];\n /** Ordered list of preferred positions, from most to least desirable. */\n this._preferredPositions = [];\n /** Subject that emits whenever the position changes. */\n this._positionChanges = new Subject();\n /** Subscription to viewport size changes. */\n this._resizeSubscription = Subscription.EMPTY;\n /** Default offset for the overlay along the x axis. */\n this._offsetX = 0;\n /** Default offset for the overlay along the y axis. */\n this._offsetY = 0;\n /** Keeps track of the CSS classes that the position strategy has applied on the overlay panel. */\n this._appliedPanelClasses = [];\n /** Observable sequence of position changes. */\n this.positionChanges = this._positionChanges;\n this.setOrigin(connectedTo);\n }\n /** Ordered list of preferred positions, from most to least desirable. */\n get positions() {\n return this._preferredPositions;\n }\n /** Attaches this position strategy to an overlay. */\n attach(overlayRef) {\n if (this._overlayRef &&\n overlayRef !== this._overlayRef &&\n (typeof ngDevMode === 'undefined' || ngDevMode)) {\n throw Error('This position strategy is already attached to an overlay');\n }\n this._validatePositions();\n overlayRef.hostElement.classList.add(boundingBoxClass);\n this._overlayRef = overlayRef;\n this._boundingBox = overlayRef.hostElement;\n this._pane = overlayRef.overlayElement;\n this._isDisposed = false;\n this._isInitialRender = true;\n this._lastPosition = null;\n this._resizeSubscription.unsubscribe();\n this._resizeSubscription = this._viewportRuler.change().subscribe(() => {\n // When the window is resized, we want to trigger the next reposition as if it\n // was an initial render, in order for the strategy to pick a new optimal position,\n // otherwise position locking will cause it to stay at the old one.\n this._isInitialRender = true;\n this.apply();\n });\n }\n /**\n * Updates the position of the overlay element, using whichever preferred position relative\n * to the origin best fits on-screen.\n *\n * The selection of a position goes as follows:\n * - If any positions fit completely within the viewport as-is,\n * choose the first position that does so.\n * - If flexible dimensions are enabled and at least one satifies the given minimum width/height,\n * choose the position with the greatest available size modified by the positions' weight.\n * - If pushing is enabled, take the position that went off-screen the least and push it\n * on-screen.\n * - If none of the previous criteria were met, use the position that goes off-screen the least.\n * @docs-private\n */\n apply() {\n // We shouldn't do anything if the strategy was disposed or we're on the server.\n if (this._isDisposed || !this._platform.isBrowser) {\n return;\n }\n // If the position has been applied already (e.g. when the overlay was opened) and the\n // consumer opted into locking in the position, re-use the old position, in order to\n // prevent the overlay from jumping around.\n if (!this._isInitialRender && this._positionLocked && this._lastPosition) {\n this.reapplyLastPosition();\n return;\n }\n this._clearPanelClasses();\n this._resetOverlayElementStyles();\n this._resetBoundingBoxStyles();\n // We need the bounding rects for the origin and the overlay to determine how to position\n // the overlay relative to the origin.\n // We use the viewport rect to determine whether a position would go off-screen.\n this._viewportRect = this._getNarrowedViewportRect();\n this._originRect = this._getOriginRect();\n this._overlayRect = this._pane.getBoundingClientRect();\n const originRect = this._originRect;\n const overlayRect = this._overlayRect;\n const viewportRect = this._viewportRect;\n // Positions where the overlay will fit with flexible dimensions.\n const flexibleFits = [];\n // Fallback if none of the preferred positions fit within the viewport.\n let fallback;\n // Go through each of the preferred positions looking for a good fit.\n // If a good fit is found, it will be applied immediately.\n for (let pos of this._preferredPositions) {\n // Get the exact (x, y) coordinate for the point-of-origin on the origin element.\n let originPoint = this._getOriginPoint(originRect, pos);\n // From that point-of-origin, get the exact (x, y) coordinate for the top-left corner of the\n // overlay in this position. We use the top-left corner for calculations and later translate\n // this into an appropriate (top, left, bottom, right) style.\n let overlayPoint = this._getOverlayPoint(originPoint, overlayRect, pos);\n // Calculate how well the overlay would fit into the viewport with this point.\n let overlayFit = this._getOverlayFit(overlayPoint, overlayRect, viewportRect, pos);\n // If the overlay, without any further work, fits into the viewport, use this position.\n if (overlayFit.isCompletelyWithinViewport) {\n this._isPushed = false;\n this._applyPosition(pos, originPoint);\n return;\n }\n // If the overlay has flexible dimensions, we can use this position\n // so long as there's enough space for the minimum dimensions.\n if (this._canFitWithFlexibleDimensions(overlayFit, overlayPoint, viewportRect)) {\n // Save positions where the overlay will fit with flexible dimensions. We will use these\n // if none of the positions fit *without* flexible dimensions.\n flexibleFits.push({\n position: pos,\n origin: originPoint,\n overlayRect,\n boundingBoxRect: this._calculateBoundingBoxRect(originPoint, pos),\n });\n continue;\n }\n // If the current preferred position does not fit on the screen, remember the position\n // if it has more visible area on-screen than we've seen and move onto the next preferred\n // position.\n if (!fallback || fallback.overlayFit.visibleArea < overlayFit.visibleArea) {\n fallback = { overlayFit, overlayPoint, originPoint, position: pos, overlayRect };\n }\n }\n // If there are any positions where the overlay would fit with flexible dimensions, choose the\n // one that has the greatest area available modified by the position's weight\n if (flexibleFits.length) {\n let bestFit = null;\n let bestScore = -1;\n for (const fit of flexibleFits) {\n const score = fit.boundingBoxRect.width * fit.boundingBoxRect.height * (fit.position.weight || 1);\n if (score > bestScore) {\n bestScore = score;\n bestFit = fit;\n }\n }\n this._isPushed = false;\n this._applyPosition(bestFit.position, bestFit.origin);\n return;\n }\n // When none of the preferred positions fit within the viewport, take the position\n // that went off-screen the least and attempt to push it on-screen.\n if (this._canPush) {\n // TODO(jelbourn): after pushing, the opening \"direction\" of the overlay might not make sense.\n this._isPushed = true;\n this._applyPosition(fallback.position, fallback.originPoint);\n return;\n }\n // All options for getting the overlay within the viewport have been exhausted, so go with the\n // position that went off-screen the least.\n this._applyPosition(fallback.position, fallback.originPoint);\n }\n detach() {\n this._clearPanelClasses();\n this._lastPosition = null;\n this._previousPushAmount = null;\n this._resizeSubscription.unsubscribe();\n }\n /** Cleanup after the element gets destroyed. */\n dispose() {\n if (this._isDisposed) {\n return;\n }\n // We can't use `_resetBoundingBoxStyles` here, because it resets\n // some properties to zero, rather than removing them.\n if (this._boundingBox) {\n extendStyles(this._boundingBox.style, {\n top: '',\n left: '',\n right: '',\n bottom: '',\n height: '',\n width: '',\n alignItems: '',\n justifyContent: '',\n });\n }\n if (this._pane) {\n this._resetOverlayElementStyles();\n }\n if (this._overlayRef) {\n this._overlayRef.hostElement.classList.remove(boundingBoxClass);\n }\n this.detach();\n this._positionChanges.complete();\n this._overlayRef = this._boundingBox = null;\n this._isDisposed = true;\n }\n /**\n * This re-aligns the overlay element with the trigger in its last calculated position,\n * even if a position higher in the \"preferred positions\" list would now fit. This\n * allows one to re-align the panel without changing the orientation of the panel.\n */\n reapplyLastPosition() {\n if (!this._isDisposed && (!this._platform || this._platform.isBrowser)) {\n this._originRect = this._getOriginRect();\n this._overlayRect = this._pane.getBoundingClientRect();\n this._viewportRect = this._getNarrowedViewportRect();\n const lastPosition = this._lastPosition || this._preferredPositions[0];\n const originPoint = this._getOriginPoint(this._originRect, lastPosition);\n this._applyPosition(lastPosition, originPoint);\n }\n }\n /**\n * Sets the list of Scrollable containers that host the origin element so that\n * on reposition we can evaluate if it or the overlay has been clipped or outside view. Every\n * Scrollable must be an ancestor element of the strategy's origin element.\n */\n withScrollableContainers(scrollables) {\n this._scrollables = scrollables;\n return this;\n }\n /**\n * Adds new preferred positions.\n * @param positions List of positions options for this overlay.\n */\n withPositions(positions) {\n this._preferredPositions = positions;\n // If the last calculated position object isn't part of the positions anymore, clear\n // it in order to avoid it being picked up if the consumer tries to re-apply.\n if (positions.indexOf(this._lastPosition) === -1) {\n this._lastPosition = null;\n }\n this._validatePositions();\n return this;\n }\n /**\n * Sets a minimum distance the overlay may be positioned to the edge of the viewport.\n * @param margin Required margin between the overlay and the viewport edge in pixels.\n */\n withViewportMargin(margin) {\n this._viewportMargin = margin;\n return this;\n }\n /** Sets whether the overlay's width and height can be constrained to fit within the viewport. */\n withFlexibleDimensions(flexibleDimensions = true) {\n this._hasFlexibleDimensions = flexibleDimensions;\n return this;\n }\n /** Sets whether the overlay can grow after the initial open via flexible width/height. */\n withGrowAfterOpen(growAfterOpen = true) {\n this._growAfterOpen = growAfterOpen;\n return this;\n }\n /** Sets whether the overlay can be pushed on-screen if none of the provided positions fit. */\n withPush(canPush = true) {\n this._canPush = canPush;\n return this;\n }\n /**\n * Sets whether the overlay's position should be locked in after it is positioned\n * initially. When an overlay is locked in, it won't attempt to reposition itself\n * when the position is re-applied (e.g. when the user scrolls away).\n * @param isLocked Whether the overlay should locked in.\n */\n withLockedPosition(isLocked = true) {\n this._positionLocked = isLocked;\n return this;\n }\n /**\n * Sets the origin, relative to which to position the overlay.\n * Using an element origin is useful for building components that need to be positioned\n * relatively to a trigger (e.g. dropdown menus or tooltips), whereas using a point can be\n * used for cases like contextual menus which open relative to the user's pointer.\n * @param origin Reference to the new origin.\n */\n setOrigin(origin) {\n this._origin = origin;\n return this;\n }\n /**\n * Sets the default offset for the overlay's connection point on the x-axis.\n * @param offset New offset in the X axis.\n */\n withDefaultOffsetX(offset) {\n this._offsetX = offset;\n return this;\n }\n /**\n * Sets the default offset for the overlay's connection point on the y-axis.\n * @param offset New offset in the Y axis.\n */\n withDefaultOffsetY(offset) {\n this._offsetY = offset;\n return this;\n }\n /**\n * Configures that the position strategy should set a `transform-origin` on some elements\n * inside the overlay, depending on the current position that is being applied. This is\n * useful for the cases where the origin of an animation can change depending on the\n * alignment of the overlay.\n * @param selector CSS selector that will be used to find the target\n * elements onto which to set the transform origin.\n */\n withTransformOriginOn(selector) {\n this._transformOriginSelector = selector;\n return this;\n }\n /**\n * Gets the (x, y) coordinate of a connection point on the origin based on a relative position.\n */\n _getOriginPoint(originRect, pos) {\n let x;\n if (pos.originX == 'center') {\n // Note: when centering we should always use the `left`\n // offset, otherwise the position will be wrong in RTL.\n x = originRect.left + originRect.width / 2;\n }\n else {\n const startX = this._isRtl() ? originRect.right : originRect.left;\n const endX = this._isRtl() ? originRect.left : originRect.right;\n x = pos.originX == 'start' ? startX : endX;\n }\n let y;\n if (pos.originY == 'center') {\n y = originRect.top + originRect.height / 2;\n }\n else {\n y = pos.originY == 'top' ? originRect.top : originRect.bottom;\n }\n return { x, y };\n }\n /**\n * Gets the (x, y) coordinate of the top-left corner of the overlay given a given position and\n * origin point to which the overlay should be connected.\n */\n _getOverlayPoint(originPoint, overlayRect, pos) {\n // Calculate the (overlayStartX, overlayStartY), the start of the\n // potential overlay position relative to the origin point.\n let overlayStartX;\n if (pos.overlayX == 'center') {\n overlayStartX = -overlayRect.width / 2;\n }\n else if (pos.overlayX === 'start') {\n overlayStartX = this._isRtl() ? -overlayRect.width : 0;\n }\n else {\n overlayStartX = this._isRtl() ? 0 : -overlayRect.width;\n }\n let overlayStartY;\n if (pos.overlayY == 'center') {\n overlayStartY = -overlayRect.height / 2;\n }\n else {\n overlayStartY = pos.overlayY == 'top' ? 0 : -overlayRect.height;\n }\n // The (x, y) coordinates of the overlay.\n return {\n x: originPoint.x + overlayStartX,\n y: originPoint.y + overlayStartY,\n };\n }\n /** Gets how well an overlay at the given point will fit within the viewport. */\n _getOverlayFit(point, rawOverlayRect, viewport, position) {\n // Round the overlay rect when comparing against the\n // viewport, because the viewport is always rounded.\n const overlay = getRoundedBoundingClientRect(rawOverlayRect);\n let { x, y } = point;\n let offsetX = this._getOffset(position, 'x');\n let offsetY = this._getOffset(position, 'y');\n // Account for the offsets since they could push the overlay out of the viewport.\n if (offsetX) {\n x += offsetX;\n }\n if (offsetY) {\n y += offsetY;\n }\n // How much the overlay would overflow at this position, on each side.\n let leftOverflow = 0 - x;\n let rightOverflow = x + overlay.width - viewport.width;\n let topOverflow = 0 - y;\n let bottomOverflow = y + overlay.height - viewport.height;\n // Visible parts of the element on each axis.\n let visibleWidth = this._subtractOverflows(overlay.width, leftOverflow, rightOverflow);\n let visibleHeight = this._subtractOverflows(overlay.height, topOverflow, bottomOverflow);\n let visibleArea = visibleWidth * visibleHeight;\n return {\n visibleArea,\n isCompletelyWithinViewport: overlay.width * overlay.height === visibleArea,\n fitsInViewportVertically: visibleHeight === overlay.height,\n fitsInViewportHorizontally: visibleWidth == overlay.width,\n };\n }\n /**\n * Whether the overlay can fit within the viewport when it may resize either its width or height.\n * @param fit How well the overlay fits in the viewport at some position.\n * @param point The (x, y) coordinates of the overlat at some position.\n * @param viewport The geometry of the viewport.\n */\n _canFitWithFlexibleDimensions(fit, point, viewport) {\n if (this._hasFlexibleDimensions) {\n const availableHeight = viewport.bottom - point.y;\n const availableWidth = viewport.right - point.x;\n const minHeight = getPixelValue(this._overlayRef.getConfig().minHeight);\n const minWidth = getPixelValue(this._overlayRef.getConfig().minWidth);\n const verticalFit = fit.fitsInViewportVertically || (minHeight != null && minHeight <= availableHeight);\n const horizontalFit = fit.fitsInViewportHorizontally || (minWidth != null && minWidth <= availableWidth);\n return verticalFit && horizontalFit;\n }\n return false;\n }\n /**\n * Gets the point at which the overlay can be \"pushed\" on-screen. If the overlay is larger than\n * the viewport, the top-left corner will be pushed on-screen (with overflow occuring on the\n * right and bottom).\n *\n * @param start Starting point from which the overlay is pushed.\n * @param overlay Dimensions of the overlay.\n * @param scrollPosition Current viewport scroll position.\n * @returns The point at which to position the overlay after pushing. This is effectively a new\n * originPoint.\n */\n _pushOverlayOnScreen(start, rawOverlayRect, scrollPosition) {\n // If the position is locked and we've pushed the overlay already, reuse the previous push\n // amount, rather than pushing it again. If we were to continue pushing, the element would\n // remain in the viewport, which goes against the expectations when position locking is enabled.\n if (this._previousPushAmount && this._positionLocked) {\n return {\n x: start.x + this._previousPushAmount.x,\n y: start.y + this._previousPushAmount.y,\n };\n }\n // Round the overlay rect when comparing against the\n // viewport, because the viewport is always rounded.\n const overlay = getRoundedBoundingClientRect(rawOverlayRect);\n const viewport = this._viewportRect;\n // Determine how much the overlay goes outside the viewport on each\n // side, which we'll use to decide which direction to push it.\n const overflowRight = Math.max(start.x + overlay.width - viewport.width, 0);\n const overflowBottom = Math.max(start.y + overlay.height - viewport.height, 0);\n const overflowTop = Math.max(viewport.top - scrollPosition.top - start.y, 0);\n const overflowLeft = Math.max(viewport.left - scrollPosition.left - start.x, 0);\n // Amount by which to push the overlay in each axis such that it remains on-screen.\n let pushX = 0;\n let pushY = 0;\n // If the overlay fits completely within the bounds of the viewport, push it from whichever\n // direction is goes off-screen. Otherwise, push the top-left corner such that its in the\n // viewport and allow for the trailing end of the overlay to go out of bounds.\n if (overlay.width <= viewport.width) {\n pushX = overflowLeft || -overflowRight;\n }\n else {\n pushX = start.x < this._viewportMargin ? viewport.left - scrollPosition.left - start.x : 0;\n }\n if (overlay.height <= viewport.height) {\n pushY = overflowTop || -overflowBottom;\n }\n else {\n pushY = start.y < this._viewportMargin ? viewport.top - scrollPosition.top - start.y : 0;\n }\n this._previousPushAmount = { x: pushX, y: pushY };\n return {\n x: start.x + pushX,\n y: start.y + pushY,\n };\n }\n /**\n * Applies a computed position to the overlay and emits a position change.\n * @param position The position preference\n * @param originPoint The point on the origin element where the overlay is connected.\n */\n _applyPosition(position, originPoint) {\n this._setTransformOrigin(position);\n this._setOverlayElementStyles(originPoint, position);\n this._setBoundingBoxStyles(originPoint, position);\n if (position.panelClass) {\n this._addPanelClasses(position.panelClass);\n }\n // Save the last connected position in case the position needs to be re-calculated.\n this._lastPosition = position;\n // Notify that the position has been changed along with its change properties.\n // We only emit if we've got any subscriptions, because the scroll visibility\n // calculcations can be somewhat expensive.\n if (this._positionChanges.observers.length) {\n const scrollableViewProperties = this._getScrollVisibility();\n const changeEvent = new ConnectedOverlayPositionChange(position, scrollableViewProperties);\n this._positionChanges.next(changeEvent);\n }\n this._isInitialRender = false;\n }\n /** Sets the transform origin based on the configured selector and the passed-in position. */\n _setTransformOrigin(position) {\n if (!this._transformOriginSelector) {\n return;\n }\n const elements = this._boundingBox.querySelectorAll(this._transformOriginSelector);\n let xOrigin;\n let yOrigin = position.overlayY;\n if (position.overlayX === 'center') {\n xOrigin = 'center';\n }\n else if (this._isRtl()) {\n xOrigin = position.overlayX === 'start' ? 'right' : 'left';\n }\n else {\n xOrigin = position.overlayX === 'start' ? 'left' : 'right';\n }\n for (let i = 0; i < elements.length; i++) {\n elements[i].style.transformOrigin = `${xOrigin} ${yOrigin}`;\n }\n }\n /**\n * Gets the position and size of the overlay's sizing container.\n *\n * This method does no measuring and applies no styles so that we can cheaply compute the\n * bounds for all positions and choose the best fit based on these results.\n */\n _calculateBoundingBoxRect(origin, position) {\n const viewport = this._viewportRect;\n const isRtl = this._isRtl();\n let height, top, bottom;\n if (position.overlayY === 'top') {\n // Overlay is opening \"downward\" and thus is bound by the bottom viewport edge.\n top = origin.y;\n height = viewport.height - top + this._viewportMargin;\n }\n else if (position.overlayY === 'bottom') {\n // Overlay is opening \"upward\" and thus is bound by the top viewport edge. We need to add\n // the viewport margin back in, because the viewport rect is narrowed down to remove the\n // margin, whereas the `origin` position is calculated based on its `ClientRect`.\n bottom = viewport.height - origin.y + this._viewportMargin * 2;\n height = viewport.height - bottom + this._viewportMargin;\n }\n else {\n // If neither top nor bottom, it means that the overlay is vertically centered on the\n // origin point. Note that we want the position relative to the viewport, rather than\n // the page, which is why we don't use something like `viewport.bottom - origin.y` and\n // `origin.y - viewport.top`.\n const smallestDistanceToViewportEdge = Math.min(viewport.bottom - origin.y + viewport.top, origin.y);\n const previousHeight = this._lastBoundingBoxSize.height;\n height = smallestDistanceToViewportEdge * 2;\n top = origin.y - smallestDistanceToViewportEdge;\n if (height > previousHeight && !this._isInitialRender && !this._growAfterOpen) {\n top = origin.y - previousHeight / 2;\n }\n }\n // The overlay is opening 'right-ward' (the content flows to the right).\n const isBoundedByRightViewportEdge = (position.overlayX === 'start' && !isRtl) || (position.overlayX === 'end' && isRtl);\n // The overlay is opening 'left-ward' (the content flows to the left).\n const isBoundedByLeftViewportEdge = (position.overlayX === 'end' && !isRtl) || (position.overlayX === 'start' && isRtl);\n let width, left, right;\n if (isBoundedByLeftViewportEdge) {\n right = viewport.width - origin.x + this._viewportMargin;\n width = origin.x - this._viewportMargin;\n }\n else if (isBoundedByRightViewportEdge) {\n left = origin.x;\n width = viewport.right - origin.x;\n }\n else {\n // If neither start nor end, it means that the overlay is horizontally centered on the\n // origin point. Note that we want the position relative to the viewport, rather than\n // the page, which is why we don't use something like `viewport.right - origin.x` and\n // `origin.x - viewport.left`.\n const smallestDistanceToViewportEdge = Math.min(viewport.right - origin.x + viewport.left, origin.x);\n const previousWidth = this._lastBoundingBoxSize.width;\n width = smallestDistanceToViewportEdge * 2;\n left = origin.x - smallestDistanceToViewportEdge;\n if (width > previousWidth && !this._isInitialRender && !this._growAfterOpen) {\n left = origin.x - previousWidth / 2;\n }\n }\n return { top: top, left: left, bottom: bottom, right: right, width, height };\n }\n /**\n * Sets the position and size of the overlay's sizing wrapper. The wrapper is positioned on the\n * origin's connection point and stetches to the bounds of the viewport.\n *\n * @param origin The point on the origin element where the overlay is connected.\n * @param position The position preference\n */\n _setBoundingBoxStyles(origin, position) {\n const boundingBoxRect = this._calculateBoundingBoxRect(origin, position);\n // It's weird if the overlay *grows* while scrolling, so we take the last size into account\n // when applying a new size.\n if (!this._isInitialRender && !this._growAfterOpen) {\n boundingBoxRect.height = Math.min(boundingBoxRect.height, this._lastBoundingBoxSize.height);\n boundingBoxRect.width = Math.min(boundingBoxRect.width, this._lastBoundingBoxSize.width);\n }\n const styles = {};\n if (this._hasExactPosition()) {\n styles.top = styles.left = '0';\n styles.bottom = styles.right = styles.maxHeight = styles.maxWidth = '';\n styles.width = styles.height = '100%';\n }\n else {\n const maxHeight = this._overlayRef.getConfig().maxHeight;\n const maxWidth = this._overlayRef.getConfig().maxWidth;\n styles.height = coerceCssPixelValue(boundingBoxRect.height);\n styles.top = coerceCssPixelValue(boundingBoxRect.top);\n styles.bottom = coerceCssPixelValue(boundingBoxRect.bottom);\n styles.width = coerceCssPixelValue(boundingBoxRect.width);\n styles.left = coerceCssPixelValue(boundingBoxRect.left);\n styles.right = coerceCssPixelValue(boundingBoxRect.right);\n // Push the pane content towards the proper direction.\n if (position.overlayX === 'center') {\n styles.alignItems = 'center';\n }\n else {\n styles.alignItems = position.overlayX === 'end' ? 'flex-end' : 'flex-start';\n }\n if (position.overlayY === 'center') {\n styles.justifyContent = 'center';\n }\n else {\n styles.justifyContent = position.overlayY === 'bottom' ? 'flex-end' : 'flex-start';\n }\n if (maxHeight) {\n styles.maxHeight = coerceCssPixelValue(maxHeight);\n }\n if (maxWidth) {\n styles.maxWidth = coerceCssPixelValue(maxWidth);\n }\n }\n this._lastBoundingBoxSize = boundingBoxRect;\n extendStyles(this._boundingBox.style, styles);\n }\n /** Resets the styles for the bounding box so that a new positioning can be computed. */\n _resetBoundingBoxStyles() {\n extendStyles(this._boundingBox.style, {\n top: '0',\n left: '0',\n right: '0',\n bottom: '0',\n height: '',\n width: '',\n alignItems: '',\n justifyContent: '',\n });\n }\n /** Resets the styles for the overlay pane so that a new positioning can be computed. */\n _resetOverlayElementStyles() {\n extendStyles(this._pane.style, {\n top: '',\n left: '',\n bottom: '',\n right: '',\n position: '',\n transform: '',\n });\n }\n /** Sets positioning styles to the overlay element. */\n _setOverlayElementStyles(originPoint, position) {\n const styles = {};\n const hasExactPosition = this._hasExactPosition();\n const hasFlexibleDimensions = this._hasFlexibleDimensions;\n const config = this._overlayRef.getConfig();\n if (hasExactPosition) {\n const scrollPosition = this._viewportRuler.getViewportScrollPosition();\n extendStyles(styles, this._getExactOverlayY(position, originPoint, scrollPosition));\n extendStyles(styles, this._getExactOverlayX(position, originPoint, scrollPosition));\n }\n else {\n styles.position = 'static';\n }\n // Use a transform to apply the offsets. We do this because the `center` positions rely on\n // being in the normal flex flow and setting a `top` / `left` at all will completely throw\n // off the position. We also can't use margins, because they won't have an effect in some\n // cases where the element doesn't have anything to \"push off of\". Finally, this works\n // better both with flexible and non-flexible positioning.\n let transformString = '';\n let offsetX = this._getOffset(position, 'x');\n let offsetY = this._getOffset(position, 'y');\n if (offsetX) {\n transformString += `translateX(${offsetX}px) `;\n }\n if (offsetY) {\n transformString += `translateY(${offsetY}px)`;\n }\n styles.transform = transformString.trim();\n // If a maxWidth or maxHeight is specified on the overlay, we remove them. We do this because\n // we need these values to both be set to \"100%\" for the automatic flexible sizing to work.\n // The maxHeight and maxWidth are set on the boundingBox in order to enforce the constraint.\n // Note that this doesn't apply when we have an exact position, in which case we do want to\n // apply them because they'll be cleared from the bounding box.\n if (config.maxHeight) {\n if (hasExactPosition) {\n styles.maxHeight = coerceCssPixelValue(config.maxHeight);\n }\n else if (hasFlexibleDimensions) {\n styles.maxHeight = '';\n }\n }\n if (config.maxWidth) {\n if (hasExactPosition) {\n styles.maxWidth = coerceCssPixelValue(config.maxWidth);\n }\n else if (hasFlexibleDimensions) {\n styles.maxWidth = '';\n }\n }\n extendStyles(this._pane.style, styles);\n }\n /** Gets the exact top/bottom for the overlay when not using flexible sizing or when pushing. */\n _getExactOverlayY(position, originPoint, scrollPosition) {\n // Reset any existing styles. This is necessary in case the\n // preferred position has changed since the last `apply`.\n let styles = { top: '', bottom: '' };\n let overlayPoint = this._getOverlayPoint(originPoint, this._overlayRect, position);\n if (this._isPushed) {\n overlayPoint = this._pushOverlayOnScreen(overlayPoint, this._overlayRect, scrollPosition);\n }\n let virtualKeyboardOffset = this._overlayContainer\n .getContainerElement()\n .getBoundingClientRect().top;\n // Normally this would be zero, however when the overlay is attached to an input (e.g. in an\n // autocomplete), mobile browsers will shift everything in order to put the input in the middle\n // of the screen and to make space for the virtual keyboard. We need to account for this offset,\n // otherwise our positioning will be thrown off.\n overlayPoint.y -= virtualKeyboardOffset;\n // We want to set either `top` or `bottom` based on whether the overlay wants to appear\n // above or below the origin and the direction in which the element will expand.\n if (position.overlayY === 'bottom') {\n // When using `bottom`, we adjust the y position such that it is the distance\n // from the bottom of the viewport rather than the top.\n const documentHeight = this._document.documentElement.clientHeight;\n styles.bottom = `${documentHeight - (overlayPoint.y + this._overlayRect.height)}px`;\n }\n else {\n styles.top = coerceCssPixelValue(overlayPoint.y);\n }\n return styles;\n }\n /** Gets the exact left/right for the overlay when not using flexible sizing or when pushing. */\n _getExactOverlayX(position, originPoint, scrollPosition) {\n // Reset any existing styles. This is necessary in case the preferred position has\n // changed since the last `apply`.\n let styles = { left: '', right: '' };\n let overlayPoint = this._getOverlayPoint(originPoint, this._overlayRect, position);\n if (this._isPushed) {\n overlayPoint = this._pushOverlayOnScreen(overlayPoint, this._overlayRect, scrollPosition);\n }\n // We want to set either `left` or `right` based on whether the overlay wants to appear \"before\"\n // or \"after\" the origin, which determines the direction in which the element will expand.\n // For the horizontal axis, the meaning of \"before\" and \"after\" change based on whether the\n // page is in RTL or LTR.\n let horizontalStyleProperty;\n if (this._isRtl()) {\n horizontalStyleProperty = position.overlayX === 'end' ? 'left' : 'right';\n }\n else {\n horizontalStyleProperty = position.overlayX === 'end' ? 'right' : 'left';\n }\n // When we're setting `right`, we adjust the x position such that it is the distance\n // from the right edge of the viewport rather than the left edge.\n if (horizontalStyleProperty === 'right') {\n const documentWidth = this._document.documentElement.clientWidth;\n styles.right = `${documentWidth - (overlayPoint.x + this._overlayRect.width)}px`;\n }\n else {\n styles.left = coerceCssPixelValue(overlayPoint.x);\n }\n return styles;\n }\n /**\n * Gets the view properties of the trigger and overlay, including whether they are clipped\n * or completely outside the view of any of the strategy's scrollables.\n */\n _getScrollVisibility() {\n // Note: needs fresh rects since the position could've changed.\n const originBounds = this._getOriginRect();\n const overlayBounds = this._pane.getBoundingClientRect();\n // TODO(jelbourn): instead of needing all of the client rects for these scrolling containers\n // every time, we should be able to use the scrollTop of the containers if the size of those\n // containers hasn't changed.\n const scrollContainerBounds = this._scrollables.map(scrollable => {\n return scrollable.getElementRef().nativeElement.getBoundingClientRect();\n });\n return {\n isOriginClipped: isElementClippedByScrolling(originBounds, scrollContainerBounds),\n isOriginOutsideView: isElementScrolledOutsideView(originBounds, scrollContainerBounds),\n isOverlayClipped: isElementClippedByScrolling(overlayBounds, scrollContainerBounds),\n isOverlayOutsideView: isElementScrolledOutsideView(overlayBounds, scrollContainerBounds),\n };\n }\n /** Subtracts the amount that an element is overflowing on an axis from its length. */\n _subtractOverflows(length, ...overflows) {\n return overflows.reduce((currentValue, currentOverflow) => {\n return currentValue - Math.max(currentOverflow, 0);\n }, length);\n }\n /** Narrows the given viewport rect by the current _viewportMargin. */\n _getNarrowedViewportRect() {\n // We recalculate the viewport rect here ourselves, rather than using the ViewportRuler,\n // because we want to use the `clientWidth` and `clientHeight` as the base. The difference\n // being that the client properties don't include the scrollbar, as opposed to `innerWidth`\n // and `innerHeight` that do. This is necessary, because the overlay container uses\n // 100% `width` and `height` which don't include the scrollbar either.\n const width = this._document.documentElement.clientWidth;\n const height = this._document.documentElement.clientHeight;\n const scrollPosition = this._viewportRuler.getViewportScrollPosition();\n return {\n top: scrollPosition.top + this._viewportMargin,\n left: scrollPosition.left + this._viewportMargin,\n right: scrollPosition.left + width - this._viewportMargin,\n bottom: scrollPosition.top + height - this._viewportMargin,\n width: width - 2 * this._viewportMargin,\n height: height - 2 * this._viewportMargin,\n };\n }\n /** Whether the we're dealing with an RTL context */\n _isRtl() {\n return this._overlayRef.getDirection() === 'rtl';\n }\n /** Determines whether the overlay uses exact or flexible positioning. */\n _hasExactPosition() {\n return !this._hasFlexibleDimensions || this._isPushed;\n }\n /** Retrieves the offset of a position along the x or y axis. */\n _getOffset(position, axis) {\n if (axis === 'x') {\n // We don't do something like `position['offset' + axis]` in\n // order to avoid breking minifiers that rename properties.\n return position.offsetX == null ? this._offsetX : position.offsetX;\n }\n return position.offsetY == null ? this._offsetY : position.offsetY;\n }\n /** Validates that the current position match the expected values. */\n _validatePositions() {\n if (typeof ngDevMode === 'undefined' || ngDevMode) {\n if (!this._preferredPositions.length) {\n throw Error('FlexibleConnectedPositionStrategy: At least one position is required.');\n }\n // TODO(crisbeto): remove these once Angular's template type\n // checking is advanced enough to catch these cases.\n this._preferredPositions.forEach(pair => {\n validateHorizontalPosition('originX', pair.originX);\n validateVerticalPosition('originY', pair.originY);\n validateHorizontalPosition('overlayX', pair.overlayX);\n validateVerticalPosition('overlayY', pair.overlayY);\n });\n }\n }\n /** Adds a single CSS class or an array of classes on the overlay panel. */\n _addPanelClasses(cssClasses) {\n if (this._pane) {\n coerceArray(cssClasses).forEach(cssClass => {\n if (cssClass !== '' && this._appliedPanelClasses.indexOf(cssClass) === -1) {\n this._appliedPanelClasses.push(cssClass);\n this._pane.classList.add(cssClass);\n }\n });\n }\n }\n /** Clears the classes that the position strategy has applied from the overlay panel. */\n _clearPanelClasses() {\n if (this._pane) {\n this._appliedPanelClasses.forEach(cssClass => {\n this._pane.classList.remove(cssClass);\n });\n this._appliedPanelClasses = [];\n }\n }\n /** Returns the ClientRect of the current origin. */\n _getOriginRect() {\n const origin = this._origin;\n if (origin instanceof ElementRef) {\n return origin.nativeElement.getBoundingClientRect();\n }\n // Check for Element so SVG elements are also supported.\n if (origin instanceof Element) {\n return origin.getBoundingClientRect();\n }\n const width = origin.width || 0;\n const height = origin.height || 0;\n // If the origin is a point, return a client rect as if it was a 0x0 element at the point.\n return {\n top: origin.y,\n bottom: origin.y + height,\n left: origin.x,\n right: origin.x + width,\n height,\n width,\n };\n }\n}\n/** Shallow-extends a stylesheet object with another stylesheet object. */\nfunction extendStyles(destination, source) {\n for (let key in source) {\n if (source.hasOwnProperty(key)) {\n destination[key] = source[key];\n }\n }\n return destination;\n}\n/**\n * Extracts the pixel value as a number from a value, if it's a number\n * or a CSS pixel string (e.g. `1337px`). Otherwise returns null.\n */\nfunction getPixelValue(input) {\n if (typeof input !== 'number' && input != null) {\n const [value, units] = input.split(cssUnitPattern);\n return !units || units === 'px' ? parseFloat(value) : null;\n }\n return input || null;\n}\n/**\n * Gets a version of an element's bounding `ClientRect` where all the values are rounded down to\n * the nearest pixel. This allows us to account for the cases where there may be sub-pixel\n * deviations in the `ClientRect` returned by the browser (e.g. when zoomed in with a percentage\n * size, see #21350).\n */\nfunction getRoundedBoundingClientRect(clientRect) {\n return {\n top: Math.floor(clientRect.top),\n right: Math.floor(clientRect.right),\n bottom: Math.floor(clientRect.bottom),\n left: Math.floor(clientRect.left),\n width: Math.floor(clientRect.width),\n height: Math.floor(clientRect.height),\n };\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/** Class to be added to the overlay pane wrapper. */\nconst wrapperClass = 'cdk-global-overlay-wrapper';\n/**\n * A strategy for positioning overlays. Using this strategy, an overlay is given an\n * explicit position relative to the browser's viewport. We use flexbox, instead of\n * transforms, in order to avoid issues with subpixel rendering which can cause the\n * element to become blurry.\n */\nclass GlobalPositionStrategy {\n constructor() {\n this._cssPosition = 'static';\n this._topOffset = '';\n this._bottomOffset = '';\n this._leftOffset = '';\n this._rightOffset = '';\n this._alignItems = '';\n this._justifyContent = '';\n this._width = '';\n this._height = '';\n }\n attach(overlayRef) {\n const config = overlayRef.getConfig();\n this._overlayRef = overlayRef;\n if (this._width && !config.width) {\n overlayRef.updateSize({ width: this._width });\n }\n if (this._height && !config.height) {\n overlayRef.updateSize({ height: this._height });\n }\n overlayRef.hostElement.classList.add(wrapperClass);\n this._isDisposed = false;\n }\n /**\n * Sets the top position of the overlay. Clears any previously set vertical position.\n * @param value New top offset.\n */\n top(value = '') {\n this._bottomOffset = '';\n this._topOffset = value;\n this._alignItems = 'flex-start';\n return this;\n }\n /**\n * Sets the left position of the overlay. Clears any previously set horizontal position.\n * @param value New left offset.\n */\n left(value = '') {\n this._rightOffset = '';\n this._leftOffset = value;\n this._justifyContent = 'flex-start';\n return this;\n }\n /**\n * Sets the bottom position of the overlay. Clears any previously set vertical position.\n * @param value New bottom offset.\n */\n bottom(value = '') {\n this._topOffset = '';\n this._bottomOffset = value;\n this._alignItems = 'flex-end';\n return this;\n }\n /**\n * Sets the right position of the overlay. Clears any previously set horizontal position.\n * @param value New right offset.\n */\n right(value = '') {\n this._leftOffset = '';\n this._rightOffset = value;\n this._justifyContent = 'flex-end';\n return this;\n }\n /**\n * Sets the overlay width and clears any previously set width.\n * @param value New width for the overlay\n * @deprecated Pass the `width` through the `OverlayConfig`.\n * @breaking-change 8.0.0\n */\n width(value = '') {\n if (this._overlayRef) {\n this._overlayRef.updateSize({ width: value });\n }\n else {\n this._width = value;\n }\n return this;\n }\n /**\n * Sets the overlay height and clears any previously set height.\n * @param value New height for the overlay\n * @deprecated Pass the `height` through the `OverlayConfig`.\n * @breaking-change 8.0.0\n */\n height(value = '') {\n if (this._overlayRef) {\n this._overlayRef.updateSize({ height: value });\n }\n else {\n this._height = value;\n }\n return this;\n }\n /**\n * Centers the overlay horizontally with an optional offset.\n * Clears any previously set horizontal position.\n *\n * @param offset Overlay offset from the horizontal center.\n */\n centerHorizontally(offset = '') {\n this.left(offset);\n this._justifyContent = 'center';\n return this;\n }\n /**\n * Centers the overlay vertically with an optional offset.\n * Clears any previously set vertical position.\n *\n * @param offset Overlay offset from the vertical center.\n */\n centerVertically(offset = '') {\n this.top(offset);\n this._alignItems = 'center';\n return this;\n }\n /**\n * Apply the position to the element.\n * @docs-private\n */\n apply() {\n // Since the overlay ref applies the strategy asynchronously, it could\n // have been disposed before it ends up being applied. If that is the\n // case, we shouldn't do anything.\n if (!this._overlayRef || !this._overlayRef.hasAttached()) {\n return;\n }\n const styles = this._overlayRef.overlayElement.style;\n const parentStyles = this._overlayRef.hostElement.style;\n const config = this._overlayRef.getConfig();\n const { width, height, maxWidth, maxHeight } = config;\n const shouldBeFlushHorizontally = (width === '100%' || width === '100vw') &&\n (!maxWidth || maxWidth === '100%' || maxWidth === '100vw');\n const shouldBeFlushVertically = (height === '100%' || height === '100vh') &&\n (!maxHeight || maxHeight === '100%' || maxHeight === '100vh');\n styles.position = this._cssPosition;\n styles.marginLeft = shouldBeFlushHorizontally ? '0' : this._leftOffset;\n styles.marginTop = shouldBeFlushVertically ? '0' : this._topOffset;\n styles.marginBottom = this._bottomOffset;\n styles.marginRight = this._rightOffset;\n if (shouldBeFlushHorizontally) {\n parentStyles.justifyContent = 'flex-start';\n }\n else if (this._justifyContent === 'center') {\n parentStyles.justifyContent = 'center';\n }\n else if (this._overlayRef.getConfig().direction === 'rtl') {\n // In RTL the browser will invert `flex-start` and `flex-end` automatically, but we\n // don't want that because our positioning is explicitly `left` and `right`, hence\n // why we do another inversion to ensure that the overlay stays in the same position.\n // TODO: reconsider this if we add `start` and `end` methods.\n if (this._justifyContent === 'flex-start') {\n parentStyles.justifyContent = 'flex-end';\n }\n else if (this._justifyContent === 'flex-end') {\n parentStyles.justifyContent = 'flex-start';\n }\n }\n else {\n parentStyles.justifyContent = this._justifyContent;\n }\n parentStyles.alignItems = shouldBeFlushVertically ? 'flex-start' : this._alignItems;\n }\n /**\n * Cleans up the DOM changes from the position strategy.\n * @docs-private\n */\n dispose() {\n if (this._isDisposed || !this._overlayRef) {\n return;\n }\n const styles = this._overlayRef.overlayElement.style;\n const parent = this._overlayRef.hostElement;\n const parentStyles = parent.style;\n parent.classList.remove(wrapperClass);\n parentStyles.justifyContent =\n parentStyles.alignItems =\n styles.marginTop =\n styles.marginBottom =\n styles.marginLeft =\n styles.marginRight =\n styles.position =\n '';\n this._overlayRef = null;\n this._isDisposed = true;\n }\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/** Builder for overlay position strategy. */\nclass OverlayPositionBuilder {\n constructor(_viewportRuler, _document, _platform, _overlayContainer) {\n this._viewportRuler = _viewportRuler;\n this._document = _document;\n this._platform = _platform;\n this._overlayContainer = _overlayContainer;\n }\n /**\n * Creates a global position strategy.\n */\n global() {\n return new GlobalPositionStrategy();\n }\n /**\n * Creates a flexible position strategy.\n * @param origin Origin relative to which to position the overlay.\n */\n flexibleConnectedTo(origin) {\n return new FlexibleConnectedPositionStrategy(origin, this._viewportRuler, this._document, this._platform, this._overlayContainer);\n }\n}\nOverlayPositionBuilder.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"13.0.1\", ngImport: i0, type: OverlayPositionBuilder, deps: [{ token: i1.ViewportRuler }, { token: DOCUMENT }, { token: i1$1.Platform }, { token: OverlayContainer }], target: i0.ɵɵFactoryTarget.Injectable });\nOverlayPositionBuilder.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"13.0.1\", ngImport: i0, type: OverlayPositionBuilder, providedIn: 'root' });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"13.0.1\", ngImport: i0, type: OverlayPositionBuilder, decorators: [{\n type: Injectable,\n args: [{ providedIn: 'root' }]\n }], ctorParameters: function () { return [{ type: i1.ViewportRuler }, { type: undefined, decorators: [{\n type: Inject,\n args: [DOCUMENT]\n }] }, { type: i1$1.Platform }, { type: OverlayContainer }]; } });\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/** Next overlay unique ID. */\nlet nextUniqueId = 0;\n// Note that Overlay is *not* scoped to the app root because of the ComponentFactoryResolver\n// which needs to be different depending on where OverlayModule is imported.\n/**\n * Service to create Overlays. Overlays are dynamically added pieces of floating UI, meant to be\n * used as a low-level building block for other components. Dialogs, tooltips, menus,\n * selects, etc. can all be built using overlays. The service should primarily be used by authors\n * of re-usable components rather than developers building end-user applications.\n *\n * An overlay *is* a PortalOutlet, so any kind of Portal can be loaded into one.\n */\nclass Overlay {\n constructor(\n /** Scrolling strategies that can be used when creating an overlay. */\n scrollStrategies, _overlayContainer, _componentFactoryResolver, _positionBuilder, _keyboardDispatcher, _injector, _ngZone, _document, _directionality, _location, _outsideClickDispatcher) {\n this.scrollStrategies = scrollStrategies;\n this._overlayContainer = _overlayContainer;\n this._componentFactoryResolver = _componentFactoryResolver;\n this._positionBuilder = _positionBuilder;\n this._keyboardDispatcher = _keyboardDispatcher;\n this._injector = _injector;\n this._ngZone = _ngZone;\n this._document = _document;\n this._directionality = _directionality;\n this._location = _location;\n this._outsideClickDispatcher = _outsideClickDispatcher;\n }\n /**\n * Creates an overlay.\n * @param config Configuration applied to the overlay.\n * @returns Reference to the created overlay.\n */\n create(config) {\n const host = this._createHostElement();\n const pane = this._createPaneElement(host);\n const portalOutlet = this._createPortalOutlet(pane);\n const overlayConfig = new OverlayConfig(config);\n overlayConfig.direction = overlayConfig.direction || this._directionality.value;\n return new OverlayRef(portalOutlet, host, pane, overlayConfig, this._ngZone, this._keyboardDispatcher, this._document, this._location, this._outsideClickDispatcher);\n }\n /**\n * Gets a position builder that can be used, via fluent API,\n * to construct and configure a position strategy.\n * @returns An overlay position builder.\n */\n position() {\n return this._positionBuilder;\n }\n /**\n * Creates the DOM element for an overlay and appends it to the overlay container.\n * @returns Newly-created pane element\n */\n _createPaneElement(host) {\n const pane = this._document.createElement('div');\n pane.id = `cdk-overlay-${nextUniqueId++}`;\n pane.classList.add('cdk-overlay-pane');\n host.appendChild(pane);\n return pane;\n }\n /**\n * Creates the host element that wraps around an overlay\n * and can be used for advanced positioning.\n * @returns Newly-create host element.\n */\n _createHostElement() {\n const host = this._document.createElement('div');\n this._overlayContainer.getContainerElement().appendChild(host);\n return host;\n }\n /**\n * Create a DomPortalOutlet into which the overlay content can be loaded.\n * @param pane The DOM element to turn into a portal outlet.\n * @returns A portal outlet for the given DOM element.\n */\n _createPortalOutlet(pane) {\n // We have to resolve the ApplicationRef later in order to allow people\n // to use overlay-based providers during app initialization.\n if (!this._appRef) {\n this._appRef = this._injector.get(ApplicationRef);\n }\n return new DomPortalOutlet(pane, this._componentFactoryResolver, this._appRef, this._injector, this._document);\n }\n}\nOverlay.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"13.0.1\", ngImport: i0, type: Overlay, deps: [{ token: ScrollStrategyOptions }, { token: OverlayContainer }, { token: i0.ComponentFactoryResolver }, { token: OverlayPositionBuilder }, { token: OverlayKeyboardDispatcher }, { token: i0.Injector }, { token: i0.NgZone }, { token: DOCUMENT }, { token: i5.Directionality }, { token: i6.Location }, { token: OverlayOutsideClickDispatcher }], target: i0.ɵɵFactoryTarget.Injectable });\nOverlay.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"13.0.1\", ngImport: i0, type: Overlay });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"13.0.1\", ngImport: i0, type: Overlay, decorators: [{\n type: Injectable\n }], ctorParameters: function () { return [{ type: ScrollStrategyOptions }, { type: OverlayContainer }, { type: i0.ComponentFactoryResolver }, { type: OverlayPositionBuilder }, { type: OverlayKeyboardDispatcher }, { type: i0.Injector }, { type: i0.NgZone }, { type: undefined, decorators: [{\n type: Inject,\n args: [DOCUMENT]\n }] }, { type: i5.Directionality }, { type: i6.Location }, { type: OverlayOutsideClickDispatcher }]; } });\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/** Default set of positions for the overlay. Follows the behavior of a dropdown. */\nconst defaultPositionList = [\n {\n originX: 'start',\n originY: 'bottom',\n overlayX: 'start',\n overlayY: 'top',\n },\n {\n originX: 'start',\n originY: 'top',\n overlayX: 'start',\n overlayY: 'bottom',\n },\n {\n originX: 'end',\n originY: 'top',\n overlayX: 'end',\n overlayY: 'bottom',\n },\n {\n originX: 'end',\n originY: 'bottom',\n overlayX: 'end',\n overlayY: 'top',\n },\n];\n/** Injection token that determines the scroll handling while the connected overlay is open. */\nconst CDK_CONNECTED_OVERLAY_SCROLL_STRATEGY = new InjectionToken('cdk-connected-overlay-scroll-strategy');\n/**\n * Directive applied to an element to make it usable as an origin for an Overlay using a\n * ConnectedPositionStrategy.\n */\nclass CdkOverlayOrigin {\n constructor(\n /** Reference to the element on which the directive is applied. */\n elementRef) {\n this.elementRef = elementRef;\n }\n}\nCdkOverlayOrigin.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"13.0.1\", ngImport: i0, type: CdkOverlayOrigin, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive });\nCdkOverlayOrigin.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"12.0.0\", version: \"13.0.1\", type: CdkOverlayOrigin, selector: \"[cdk-overlay-origin], [overlay-origin], [cdkOverlayOrigin]\", exportAs: [\"cdkOverlayOrigin\"], ngImport: i0 });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"13.0.1\", ngImport: i0, type: CdkOverlayOrigin, decorators: [{\n type: Directive,\n args: [{\n selector: '[cdk-overlay-origin], [overlay-origin], [cdkOverlayOrigin]',\n exportAs: 'cdkOverlayOrigin',\n }]\n }], ctorParameters: function () { return [{ type: i0.ElementRef }]; } });\n/**\n * Directive to facilitate declarative creation of an\n * Overlay using a FlexibleConnectedPositionStrategy.\n */\nclass CdkConnectedOverlay {\n // TODO(jelbourn): inputs for size, scroll behavior, animation, etc.\n constructor(_overlay, templateRef, viewContainerRef, scrollStrategyFactory, _dir) {\n this._overlay = _overlay;\n this._dir = _dir;\n this._hasBackdrop = false;\n this._lockPosition = false;\n this._growAfterOpen = false;\n this._flexibleDimensions = false;\n this._push = false;\n this._backdropSubscription = Subscription.EMPTY;\n this._attachSubscription = Subscription.EMPTY;\n this._detachSubscription = Subscription.EMPTY;\n this._positionSubscription = Subscription.EMPTY;\n /** Margin between the overlay and the viewport edges. */\n this.viewportMargin = 0;\n /** Whether the overlay is open. */\n this.open = false;\n /** Whether the overlay can be closed by user interaction. */\n this.disableClose = false;\n /** Event emitted when the backdrop is clicked. */\n this.backdropClick = new EventEmitter();\n /** Event emitted when the position has changed. */\n this.positionChange = new EventEmitter();\n /** Event emitted when the overlay has been attached. */\n this.attach = new EventEmitter();\n /** Event emitted when the overlay has been detached. */\n this.detach = new EventEmitter();\n /** Emits when there are keyboard events that are targeted at the overlay. */\n this.overlayKeydown = new EventEmitter();\n /** Emits when there are mouse outside click events that are targeted at the overlay. */\n this.overlayOutsideClick = new EventEmitter();\n this._templatePortal = new TemplatePortal(templateRef, viewContainerRef);\n this._scrollStrategyFactory = scrollStrategyFactory;\n this.scrollStrategy = this._scrollStrategyFactory();\n }\n /** The offset in pixels for the overlay connection point on the x-axis */\n get offsetX() {\n return this._offsetX;\n }\n set offsetX(offsetX) {\n this._offsetX = offsetX;\n if (this._position) {\n this._updatePositionStrategy(this._position);\n }\n }\n /** The offset in pixels for the overlay connection point on the y-axis */\n get offsetY() {\n return this._offsetY;\n }\n set offsetY(offsetY) {\n this._offsetY = offsetY;\n if (this._position) {\n this._updatePositionStrategy(this._position);\n }\n }\n /** Whether or not the overlay should attach a backdrop. */\n get hasBackdrop() {\n return this._hasBackdrop;\n }\n set hasBackdrop(value) {\n this._hasBackdrop = coerceBooleanProperty(value);\n }\n /** Whether or not the overlay should be locked when scrolling. */\n get lockPosition() {\n return this._lockPosition;\n }\n set lockPosition(value) {\n this._lockPosition = coerceBooleanProperty(value);\n }\n /** Whether the overlay's width and height can be constrained to fit within the viewport. */\n get flexibleDimensions() {\n return this._flexibleDimensions;\n }\n set flexibleDimensions(value) {\n this._flexibleDimensions = coerceBooleanProperty(value);\n }\n /** Whether the overlay can grow after the initial open when flexible positioning is turned on. */\n get growAfterOpen() {\n return this._growAfterOpen;\n }\n set growAfterOpen(value) {\n this._growAfterOpen = coerceBooleanProperty(value);\n }\n /** Whether the overlay can be pushed on-screen if none of the provided positions fit. */\n get push() {\n return this._push;\n }\n set push(value) {\n this._push = coerceBooleanProperty(value);\n }\n /** The associated overlay reference. */\n get overlayRef() {\n return this._overlayRef;\n }\n /** The element's layout direction. */\n get dir() {\n return this._dir ? this._dir.value : 'ltr';\n }\n ngOnDestroy() {\n this._attachSubscription.unsubscribe();\n this._detachSubscription.unsubscribe();\n this._backdropSubscription.unsubscribe();\n this._positionSubscription.unsubscribe();\n if (this._overlayRef) {\n this._overlayRef.dispose();\n }\n }\n ngOnChanges(changes) {\n if (this._position) {\n this._updatePositionStrategy(this._position);\n this._overlayRef.updateSize({\n width: this.width,\n minWidth: this.minWidth,\n height: this.height,\n minHeight: this.minHeight,\n });\n if (changes['origin'] && this.open) {\n this._position.apply();\n }\n }\n if (changes['open']) {\n this.open ? this._attachOverlay() : this._detachOverlay();\n }\n }\n /** Creates an overlay */\n _createOverlay() {\n if (!this.positions || !this.positions.length) {\n this.positions = defaultPositionList;\n }\n const overlayRef = (this._overlayRef = this._overlay.create(this._buildConfig()));\n this._attachSubscription = overlayRef.attachments().subscribe(() => this.attach.emit());\n this._detachSubscription = overlayRef.detachments().subscribe(() => this.detach.emit());\n overlayRef.keydownEvents().subscribe((event) => {\n this.overlayKeydown.next(event);\n if (event.keyCode === ESCAPE && !this.disableClose && !hasModifierKey(event)) {\n event.preventDefault();\n this._detachOverlay();\n }\n });\n this._overlayRef.outsidePointerEvents().subscribe((event) => {\n this.overlayOutsideClick.next(event);\n });\n }\n /** Builds the overlay config based on the directive's inputs */\n _buildConfig() {\n const positionStrategy = (this._position =\n this.positionStrategy || this._createPositionStrategy());\n const overlayConfig = new OverlayConfig({\n direction: this._dir,\n positionStrategy,\n scrollStrategy: this.scrollStrategy,\n hasBackdrop: this.hasBackdrop,\n });\n if (this.width || this.width === 0) {\n overlayConfig.width = this.width;\n }\n if (this.height || this.height === 0) {\n overlayConfig.height = this.height;\n }\n if (this.minWidth || this.minWidth === 0) {\n overlayConfig.minWidth = this.minWidth;\n }\n if (this.minHeight || this.minHeight === 0) {\n overlayConfig.minHeight = this.minHeight;\n }\n if (this.backdropClass) {\n overlayConfig.backdropClass = this.backdropClass;\n }\n if (this.panelClass) {\n overlayConfig.panelClass = this.panelClass;\n }\n return overlayConfig;\n }\n /** Updates the state of a position strategy, based on the values of the directive inputs. */\n _updatePositionStrategy(positionStrategy) {\n const positions = this.positions.map(currentPosition => ({\n originX: currentPosition.originX,\n originY: currentPosition.originY,\n overlayX: currentPosition.overlayX,\n overlayY: currentPosition.overlayY,\n offsetX: currentPosition.offsetX || this.offsetX,\n offsetY: currentPosition.offsetY || this.offsetY,\n panelClass: currentPosition.panelClass || undefined,\n }));\n return positionStrategy\n .setOrigin(this._getFlexibleConnectedPositionStrategyOrigin())\n .withPositions(positions)\n .withFlexibleDimensions(this.flexibleDimensions)\n .withPush(this.push)\n .withGrowAfterOpen(this.growAfterOpen)\n .withViewportMargin(this.viewportMargin)\n .withLockedPosition(this.lockPosition)\n .withTransformOriginOn(this.transformOriginSelector);\n }\n /** Returns the position strategy of the overlay to be set on the overlay config */\n _createPositionStrategy() {\n const strategy = this._overlay\n .position()\n .flexibleConnectedTo(this._getFlexibleConnectedPositionStrategyOrigin());\n this._updatePositionStrategy(strategy);\n return strategy;\n }\n _getFlexibleConnectedPositionStrategyOrigin() {\n if (this.origin instanceof CdkOverlayOrigin) {\n return this.origin.elementRef;\n }\n else {\n return this.origin;\n }\n }\n /** Attaches the overlay and subscribes to backdrop clicks if backdrop exists */\n _attachOverlay() {\n if (!this._overlayRef) {\n this._createOverlay();\n }\n else {\n // Update the overlay size, in case the directive's inputs have changed\n this._overlayRef.getConfig().hasBackdrop = this.hasBackdrop;\n }\n if (!this._overlayRef.hasAttached()) {\n this._overlayRef.attach(this._templatePortal);\n }\n if (this.hasBackdrop) {\n this._backdropSubscription = this._overlayRef.backdropClick().subscribe(event => {\n this.backdropClick.emit(event);\n });\n }\n else {\n this._backdropSubscription.unsubscribe();\n }\n this._positionSubscription.unsubscribe();\n // Only subscribe to `positionChanges` if requested, because putting\n // together all the information for it can be expensive.\n if (this.positionChange.observers.length > 0) {\n this._positionSubscription = this._position.positionChanges\n .pipe(takeWhile(() => this.positionChange.observers.length > 0))\n .subscribe(position => {\n this.positionChange.emit(position);\n if (this.positionChange.observers.length === 0) {\n this._positionSubscription.unsubscribe();\n }\n });\n }\n }\n /** Detaches the overlay and unsubscribes to backdrop clicks if backdrop exists */\n _detachOverlay() {\n if (this._overlayRef) {\n this._overlayRef.detach();\n }\n this._backdropSubscription.unsubscribe();\n this._positionSubscription.unsubscribe();\n }\n}\nCdkConnectedOverlay.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"13.0.1\", ngImport: i0, type: CdkConnectedOverlay, deps: [{ token: Overlay }, { token: i0.TemplateRef }, { token: i0.ViewContainerRef }, { token: CDK_CONNECTED_OVERLAY_SCROLL_STRATEGY }, { token: i5.Directionality, optional: true }], target: i0.ɵɵFactoryTarget.Directive });\nCdkConnectedOverlay.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"12.0.0\", version: \"13.0.1\", type: CdkConnectedOverlay, selector: \"[cdk-connected-overlay], [connected-overlay], [cdkConnectedOverlay]\", inputs: { origin: [\"cdkConnectedOverlayOrigin\", \"origin\"], positions: [\"cdkConnectedOverlayPositions\", \"positions\"], positionStrategy: [\"cdkConnectedOverlayPositionStrategy\", \"positionStrategy\"], offsetX: [\"cdkConnectedOverlayOffsetX\", \"offsetX\"], offsetY: [\"cdkConnectedOverlayOffsetY\", \"offsetY\"], width: [\"cdkConnectedOverlayWidth\", \"width\"], height: [\"cdkConnectedOverlayHeight\", \"height\"], minWidth: [\"cdkConnectedOverlayMinWidth\", \"minWidth\"], minHeight: [\"cdkConnectedOverlayMinHeight\", \"minHeight\"], backdropClass: [\"cdkConnectedOverlayBackdropClass\", \"backdropClass\"], panelClass: [\"cdkConnectedOverlayPanelClass\", \"panelClass\"], viewportMargin: [\"cdkConnectedOverlayViewportMargin\", \"viewportMargin\"], scrollStrategy: [\"cdkConnectedOverlayScrollStrategy\", \"scrollStrategy\"], open: [\"cdkConnectedOverlayOpen\", \"open\"], disableClose: [\"cdkConnectedOverlayDisableClose\", \"disableClose\"], transformOriginSelector: [\"cdkConnectedOverlayTransformOriginOn\", \"transformOriginSelector\"], hasBackdrop: [\"cdkConnectedOverlayHasBackdrop\", \"hasBackdrop\"], lockPosition: [\"cdkConnectedOverlayLockPosition\", \"lockPosition\"], flexibleDimensions: [\"cdkConnectedOverlayFlexibleDimensions\", \"flexibleDimensions\"], growAfterOpen: [\"cdkConnectedOverlayGrowAfterOpen\", \"growAfterOpen\"], push: [\"cdkConnectedOverlayPush\", \"push\"] }, outputs: { backdropClick: \"backdropClick\", positionChange: \"positionChange\", attach: \"attach\", detach: \"detach\", overlayKeydown: \"overlayKeydown\", overlayOutsideClick: \"overlayOutsideClick\" }, exportAs: [\"cdkConnectedOverlay\"], usesOnChanges: true, ngImport: i0 });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"13.0.1\", ngImport: i0, type: CdkConnectedOverlay, decorators: [{\n type: Directive,\n args: [{\n selector: '[cdk-connected-overlay], [connected-overlay], [cdkConnectedOverlay]',\n exportAs: 'cdkConnectedOverlay',\n }]\n }], ctorParameters: function () { return [{ type: Overlay }, { type: i0.TemplateRef }, { type: i0.ViewContainerRef }, { type: undefined, decorators: [{\n type: Inject,\n args: [CDK_CONNECTED_OVERLAY_SCROLL_STRATEGY]\n }] }, { type: i5.Directionality, decorators: [{\n type: Optional\n }] }]; }, propDecorators: { origin: [{\n type: Input,\n args: ['cdkConnectedOverlayOrigin']\n }], positions: [{\n type: Input,\n args: ['cdkConnectedOverlayPositions']\n }], positionStrategy: [{\n type: Input,\n args: ['cdkConnectedOverlayPositionStrategy']\n }], offsetX: [{\n type: Input,\n args: ['cdkConnectedOverlayOffsetX']\n }], offsetY: [{\n type: Input,\n args: ['cdkConnectedOverlayOffsetY']\n }], width: [{\n type: Input,\n args: ['cdkConnectedOverlayWidth']\n }], height: [{\n type: Input,\n args: ['cdkConnectedOverlayHeight']\n }], minWidth: [{\n type: Input,\n args: ['cdkConnectedOverlayMinWidth']\n }], minHeight: [{\n type: Input,\n args: ['cdkConnectedOverlayMinHeight']\n }], backdropClass: [{\n type: Input,\n args: ['cdkConnectedOverlayBackdropClass']\n }], panelClass: [{\n type: Input,\n args: ['cdkConnectedOverlayPanelClass']\n }], viewportMargin: [{\n type: Input,\n args: ['cdkConnectedOverlayViewportMargin']\n }], scrollStrategy: [{\n type: Input,\n args: ['cdkConnectedOverlayScrollStrategy']\n }], open: [{\n type: Input,\n args: ['cdkConnectedOverlayOpen']\n }], disableClose: [{\n type: Input,\n args: ['cdkConnectedOverlayDisableClose']\n }], transformOriginSelector: [{\n type: Input,\n args: ['cdkConnectedOverlayTransformOriginOn']\n }], hasBackdrop: [{\n type: Input,\n args: ['cdkConnectedOverlayHasBackdrop']\n }], lockPosition: [{\n type: Input,\n args: ['cdkConnectedOverlayLockPosition']\n }], flexibleDimensions: [{\n type: Input,\n args: ['cdkConnectedOverlayFlexibleDimensions']\n }], growAfterOpen: [{\n type: Input,\n args: ['cdkConnectedOverlayGrowAfterOpen']\n }], push: [{\n type: Input,\n args: ['cdkConnectedOverlayPush']\n }], backdropClick: [{\n type: Output\n }], positionChange: [{\n type: Output\n }], attach: [{\n type: Output\n }], detach: [{\n type: Output\n }], overlayKeydown: [{\n type: Output\n }], overlayOutsideClick: [{\n type: Output\n }] } });\n/** @docs-private */\nfunction CDK_CONNECTED_OVERLAY_SCROLL_STRATEGY_PROVIDER_FACTORY(overlay) {\n return () => overlay.scrollStrategies.reposition();\n}\n/** @docs-private */\nconst CDK_CONNECTED_OVERLAY_SCROLL_STRATEGY_PROVIDER = {\n provide: CDK_CONNECTED_OVERLAY_SCROLL_STRATEGY,\n deps: [Overlay],\n useFactory: CDK_CONNECTED_OVERLAY_SCROLL_STRATEGY_PROVIDER_FACTORY,\n};\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nclass OverlayModule {\n}\nOverlayModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"13.0.1\", ngImport: i0, type: OverlayModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });\nOverlayModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: \"12.0.0\", version: \"13.0.1\", ngImport: i0, type: OverlayModule, declarations: [CdkConnectedOverlay, CdkOverlayOrigin], imports: [BidiModule, PortalModule, ScrollingModule], exports: [CdkConnectedOverlay, CdkOverlayOrigin, ScrollingModule] });\nOverlayModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: \"12.0.0\", version: \"13.0.1\", ngImport: i0, type: OverlayModule, providers: [Overlay, CDK_CONNECTED_OVERLAY_SCROLL_STRATEGY_PROVIDER], imports: [[BidiModule, PortalModule, ScrollingModule], ScrollingModule] });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"13.0.1\", ngImport: i0, type: OverlayModule, decorators: [{\n type: NgModule,\n args: [{\n imports: [BidiModule, PortalModule, ScrollingModule],\n exports: [CdkConnectedOverlay, CdkOverlayOrigin, ScrollingModule],\n declarations: [CdkConnectedOverlay, CdkOverlayOrigin],\n providers: [Overlay, CDK_CONNECTED_OVERLAY_SCROLL_STRATEGY_PROVIDER],\n }]\n }] });\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * Alternative to OverlayContainer that supports correct displaying of overlay elements in\n * Fullscreen mode\n * https://developer.mozilla.org/en-US/docs/Web/API/Element/requestFullScreen\n *\n * Should be provided in the root component.\n */\nclass FullscreenOverlayContainer extends OverlayContainer {\n constructor(_document, platform) {\n super(_document, platform);\n }\n ngOnDestroy() {\n super.ngOnDestroy();\n if (this._fullScreenEventName && this._fullScreenListener) {\n this._document.removeEventListener(this._fullScreenEventName, this._fullScreenListener);\n }\n }\n _createContainer() {\n super._createContainer();\n this._adjustParentForFullscreenChange();\n this._addFullscreenChangeListener(() => this._adjustParentForFullscreenChange());\n }\n _adjustParentForFullscreenChange() {\n if (!this._containerElement) {\n return;\n }\n const fullscreenElement = this.getFullscreenElement();\n const parent = fullscreenElement || this._document.body;\n parent.appendChild(this._containerElement);\n }\n _addFullscreenChangeListener(fn) {\n const eventName = this._getEventName();\n if (eventName) {\n if (this._fullScreenListener) {\n this._document.removeEventListener(eventName, this._fullScreenListener);\n }\n this._document.addEventListener(eventName, fn);\n this._fullScreenListener = fn;\n }\n }\n _getEventName() {\n if (!this._fullScreenEventName) {\n const _document = this._document;\n if (_document.fullscreenEnabled) {\n this._fullScreenEventName = 'fullscreenchange';\n }\n else if (_document.webkitFullscreenEnabled) {\n this._fullScreenEventName = 'webkitfullscreenchange';\n }\n else if (_document.mozFullScreenEnabled) {\n this._fullScreenEventName = 'mozfullscreenchange';\n }\n else if (_document.msFullscreenEnabled) {\n this._fullScreenEventName = 'MSFullscreenChange';\n }\n }\n return this._fullScreenEventName;\n }\n /**\n * When the page is put into fullscreen mode, a specific element is specified.\n * Only that element and its children are visible when in fullscreen mode.\n */\n getFullscreenElement() {\n const _document = this._document;\n return (_document.fullscreenElement ||\n _document.webkitFullscreenElement ||\n _document.mozFullScreenElement ||\n _document.msFullscreenElement ||\n null);\n }\n}\nFullscreenOverlayContainer.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"13.0.1\", ngImport: i0, type: FullscreenOverlayContainer, deps: [{ token: DOCUMENT }, { token: i1$1.Platform }], target: i0.ɵɵFactoryTarget.Injectable });\nFullscreenOverlayContainer.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"13.0.1\", ngImport: i0, type: FullscreenOverlayContainer, providedIn: 'root' });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"13.0.1\", ngImport: i0, type: FullscreenOverlayContainer, decorators: [{\n type: Injectable,\n args: [{ providedIn: 'root' }]\n }], ctorParameters: function () { return [{ type: undefined, decorators: [{\n type: Inject,\n args: [DOCUMENT]\n }] }, { type: i1$1.Platform }]; } });\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\n/**\n * Generated bundle index. Do not edit.\n */\n\nexport { BlockScrollStrategy, CdkConnectedOverlay, CdkOverlayOrigin, CloseScrollStrategy, ConnectedOverlayPositionChange, ConnectionPositionPair, FlexibleConnectedPositionStrategy, FullscreenOverlayContainer, GlobalPositionStrategy, NoopScrollStrategy, Overlay, OverlayConfig, OverlayContainer, OverlayKeyboardDispatcher, OverlayModule, OverlayOutsideClickDispatcher, OverlayPositionBuilder, OverlayRef, RepositionScrollStrategy, ScrollStrategyOptions, ScrollingVisibility, validateHorizontalPosition, validateVerticalPosition };\n","import * as i0 from '@angular/core';\nimport { PLATFORM_ID, Injectable, Inject, NgModule } from '@angular/core';\nimport { isPlatformBrowser } from '@angular/common';\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n// Whether the current platform supports the V8 Break Iterator. The V8 check\n// is necessary to detect all Blink based browsers.\nlet hasV8BreakIterator;\n// We need a try/catch around the reference to `Intl`, because accessing it in some cases can\n// cause IE to throw. These cases are tied to particular versions of Windows and can happen if\n// the consumer is providing a polyfilled `Map`. See:\n// https://github.com/Microsoft/ChakraCore/issues/3189\n// https://github.com/angular/components/issues/15687\ntry {\n hasV8BreakIterator = typeof Intl !== 'undefined' && Intl.v8BreakIterator;\n}\ncatch {\n hasV8BreakIterator = false;\n}\n/**\n * Service to detect the current platform by comparing the userAgent strings and\n * checking browser-specific global properties.\n */\nclass Platform {\n constructor(_platformId) {\n this._platformId = _platformId;\n // We want to use the Angular platform check because if the Document is shimmed\n // without the navigator, the following checks will fail. This is preferred because\n // sometimes the Document may be shimmed without the user's knowledge or intention\n /** Whether the Angular application is being rendered in the browser. */\n this.isBrowser = this._platformId\n ? isPlatformBrowser(this._platformId)\n : typeof document === 'object' && !!document;\n /** Whether the current browser is Microsoft Edge. */\n this.EDGE = this.isBrowser && /(edge)/i.test(navigator.userAgent);\n /** Whether the current rendering engine is Microsoft Trident. */\n this.TRIDENT = this.isBrowser && /(msie|trident)/i.test(navigator.userAgent);\n // EdgeHTML and Trident mock Blink specific things and need to be excluded from this check.\n /** Whether the current rendering engine is Blink. */\n this.BLINK = this.isBrowser &&\n !!(window.chrome || hasV8BreakIterator) &&\n typeof CSS !== 'undefined' &&\n !this.EDGE &&\n !this.TRIDENT;\n // Webkit is part of the userAgent in EdgeHTML, Blink and Trident. Therefore we need to\n // ensure that Webkit runs standalone and is not used as another engine's base.\n /** Whether the current rendering engine is WebKit. */\n this.WEBKIT = this.isBrowser &&\n /AppleWebKit/i.test(navigator.userAgent) &&\n !this.BLINK &&\n !this.EDGE &&\n !this.TRIDENT;\n /** Whether the current platform is Apple iOS. */\n this.IOS = this.isBrowser && /iPad|iPhone|iPod/.test(navigator.userAgent) && !('MSStream' in window);\n // It's difficult to detect the plain Gecko engine, because most of the browsers identify\n // them self as Gecko-like browsers and modify the userAgent's according to that.\n // Since we only cover one explicit Firefox case, we can simply check for Firefox\n // instead of having an unstable check for Gecko.\n /** Whether the current browser is Firefox. */\n this.FIREFOX = this.isBrowser && /(firefox|minefield)/i.test(navigator.userAgent);\n /** Whether the current platform is Android. */\n // Trident on mobile adds the android platform to the userAgent to trick detections.\n this.ANDROID = this.isBrowser && /android/i.test(navigator.userAgent) && !this.TRIDENT;\n // Safari browsers will include the Safari keyword in their userAgent. Some browsers may fake\n // this and just place the Safari keyword in the userAgent. To be more safe about Safari every\n // Safari browser should also use Webkit as its layout engine.\n /** Whether the current browser is Safari. */\n this.SAFARI = this.isBrowser && /safari/i.test(navigator.userAgent) && this.WEBKIT;\n }\n}\nPlatform.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"13.0.1\", ngImport: i0, type: Platform, deps: [{ token: PLATFORM_ID }], target: i0.ɵɵFactoryTarget.Injectable });\nPlatform.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"13.0.1\", ngImport: i0, type: Platform, providedIn: 'root' });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"13.0.1\", ngImport: i0, type: Platform, decorators: [{\n type: Injectable,\n args: [{ providedIn: 'root' }]\n }], ctorParameters: function () { return [{ type: Object, decorators: [{\n type: Inject,\n args: [PLATFORM_ID]\n }] }]; } });\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nclass PlatformModule {\n}\nPlatformModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"13.0.1\", ngImport: i0, type: PlatformModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });\nPlatformModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: \"12.0.0\", version: \"13.0.1\", ngImport: i0, type: PlatformModule });\nPlatformModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: \"12.0.0\", version: \"13.0.1\", ngImport: i0, type: PlatformModule });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"13.0.1\", ngImport: i0, type: PlatformModule, decorators: [{\n type: NgModule,\n args: [{}]\n }] });\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/** Cached result Set of input types support by the current browser. */\nlet supportedInputTypes;\n/** Types of `` that *might* be supported. */\nconst candidateInputTypes = [\n // `color` must come first. Chrome 56 shows a warning if we change the type to `color` after\n // first changing it to something else:\n // The specified value \"\" does not conform to the required format.\n // The format is \"#rrggbb\" where rr, gg, bb are two-digit hexadecimal numbers.\n 'color',\n 'button',\n 'checkbox',\n 'date',\n 'datetime-local',\n 'email',\n 'file',\n 'hidden',\n 'image',\n 'month',\n 'number',\n 'password',\n 'radio',\n 'range',\n 'reset',\n 'search',\n 'submit',\n 'tel',\n 'text',\n 'time',\n 'url',\n 'week',\n];\n/** @returns The input types supported by this browser. */\nfunction getSupportedInputTypes() {\n // Result is cached.\n if (supportedInputTypes) {\n return supportedInputTypes;\n }\n // We can't check if an input type is not supported until we're on the browser, so say that\n // everything is supported when not on the browser. We don't use `Platform` here since it's\n // just a helper function and can't inject it.\n if (typeof document !== 'object' || !document) {\n supportedInputTypes = new Set(candidateInputTypes);\n return supportedInputTypes;\n }\n let featureTestInput = document.createElement('input');\n supportedInputTypes = new Set(candidateInputTypes.filter(value => {\n featureTestInput.setAttribute('type', value);\n return featureTestInput.type === value;\n }));\n return supportedInputTypes;\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/** Cached result of whether the user's browser supports passive event listeners. */\nlet supportsPassiveEvents;\n/**\n * Checks whether the user's browser supports passive event listeners.\n * See: https://github.com/WICG/EventListenerOptions/blob/gh-pages/explainer.md\n */\nfunction supportsPassiveEventListeners() {\n if (supportsPassiveEvents == null && typeof window !== 'undefined') {\n try {\n window.addEventListener('test', null, Object.defineProperty({}, 'passive', {\n get: () => (supportsPassiveEvents = true),\n }));\n }\n finally {\n supportsPassiveEvents = supportsPassiveEvents || false;\n }\n }\n return supportsPassiveEvents;\n}\n/**\n * Normalizes an `AddEventListener` object to something that can be passed\n * to `addEventListener` on any browser, no matter whether it supports the\n * `options` parameter.\n * @param options Object to be normalized.\n */\nfunction normalizePassiveListenerOptions(options) {\n return supportsPassiveEventListeners() ? options : !!options.capture;\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/** Cached result of the way the browser handles the horizontal scroll axis in RTL mode. */\nlet rtlScrollAxisType;\n/** Cached result of the check that indicates whether the browser supports scroll behaviors. */\nlet scrollBehaviorSupported;\n/** Check whether the browser supports scroll behaviors. */\nfunction supportsScrollBehavior() {\n if (scrollBehaviorSupported == null) {\n // If we're not in the browser, it can't be supported. Also check for `Element`, because\n // some projects stub out the global `document` during SSR which can throw us off.\n if (typeof document !== 'object' || !document || typeof Element !== 'function' || !Element) {\n scrollBehaviorSupported = false;\n return scrollBehaviorSupported;\n }\n // If the element can have a `scrollBehavior` style, we can be sure that it's supported.\n if ('scrollBehavior' in document.documentElement.style) {\n scrollBehaviorSupported = true;\n }\n else {\n // At this point we have 3 possibilities: `scrollTo` isn't supported at all, it's\n // supported but it doesn't handle scroll behavior, or it has been polyfilled.\n const scrollToFunction = Element.prototype.scrollTo;\n if (scrollToFunction) {\n // We can detect if the function has been polyfilled by calling `toString` on it. Native\n // functions are obfuscated using `[native code]`, whereas if it was overwritten we'd get\n // the actual function source. Via https://davidwalsh.name/detect-native-function. Consider\n // polyfilled functions as supporting scroll behavior.\n scrollBehaviorSupported = !/\\{\\s*\\[native code\\]\\s*\\}/.test(scrollToFunction.toString());\n }\n else {\n scrollBehaviorSupported = false;\n }\n }\n }\n return scrollBehaviorSupported;\n}\n/**\n * Checks the type of RTL scroll axis used by this browser. As of time of writing, Chrome is NORMAL,\n * Firefox & Safari are NEGATED, and IE & Edge are INVERTED.\n */\nfunction getRtlScrollAxisType() {\n // We can't check unless we're on the browser. Just assume 'normal' if we're not.\n if (typeof document !== 'object' || !document) {\n return 0 /* NORMAL */;\n }\n if (rtlScrollAxisType == null) {\n // Create a 1px wide scrolling container and a 2px wide content element.\n const scrollContainer = document.createElement('div');\n const containerStyle = scrollContainer.style;\n scrollContainer.dir = 'rtl';\n containerStyle.width = '1px';\n containerStyle.overflow = 'auto';\n containerStyle.visibility = 'hidden';\n containerStyle.pointerEvents = 'none';\n containerStyle.position = 'absolute';\n const content = document.createElement('div');\n const contentStyle = content.style;\n contentStyle.width = '2px';\n contentStyle.height = '1px';\n scrollContainer.appendChild(content);\n document.body.appendChild(scrollContainer);\n rtlScrollAxisType = 0 /* NORMAL */;\n // The viewport starts scrolled all the way to the right in RTL mode. If we are in a NORMAL\n // browser this would mean that the scrollLeft should be 1. If it's zero instead we know we're\n // dealing with one of the other two types of browsers.\n if (scrollContainer.scrollLeft === 0) {\n // In a NEGATED browser the scrollLeft is always somewhere in [-maxScrollAmount, 0]. For an\n // INVERTED browser it is always somewhere in [0, maxScrollAmount]. We can determine which by\n // setting to the scrollLeft to 1. This is past the max for a NEGATED browser, so it will\n // return 0 when we read it again.\n scrollContainer.scrollLeft = 1;\n rtlScrollAxisType =\n scrollContainer.scrollLeft === 0 ? 1 /* NEGATED */ : 2 /* INVERTED */;\n }\n scrollContainer.remove();\n }\n return rtlScrollAxisType;\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nlet shadowDomIsSupported;\n/** Checks whether the user's browser support Shadow DOM. */\nfunction _supportsShadowDom() {\n if (shadowDomIsSupported == null) {\n const head = typeof document !== 'undefined' ? document.head : null;\n shadowDomIsSupported = !!(head && (head.createShadowRoot || head.attachShadow));\n }\n return shadowDomIsSupported;\n}\n/** Gets the shadow root of an element, if supported and the element is inside the Shadow DOM. */\nfunction _getShadowRoot(element) {\n if (_supportsShadowDom()) {\n const rootNode = element.getRootNode ? element.getRootNode() : null;\n // Note that this should be caught by `_supportsShadowDom`, but some\n // teams have been able to hit this code path on unsupported browsers.\n if (typeof ShadowRoot !== 'undefined' && ShadowRoot && rootNode instanceof ShadowRoot) {\n return rootNode;\n }\n }\n return null;\n}\n/**\n * Gets the currently-focused element on the page while\n * also piercing through Shadow DOM boundaries.\n */\nfunction _getFocusedElementPierceShadowDom() {\n let activeElement = typeof document !== 'undefined' && document\n ? document.activeElement\n : null;\n while (activeElement && activeElement.shadowRoot) {\n const newActiveElement = activeElement.shadowRoot.activeElement;\n if (newActiveElement === activeElement) {\n break;\n }\n else {\n activeElement = newActiveElement;\n }\n }\n return activeElement;\n}\n/** Gets the target of an event while accounting for Shadow DOM. */\nfunction _getEventTarget(event) {\n // If an event is bound outside the Shadow DOM, the `event.target` will\n // point to the shadow root so we have to use `composedPath` instead.\n return (event.composedPath ? event.composedPath()[0] : event.target);\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/** Gets whether the code is currently running in a test environment. */\nfunction _isTestEnvironment() {\n // We can't use `declare const` because it causes conflicts inside Google with the real typings\n // for these symbols and we can't read them off the global object, because they don't appear to\n // be attached there for some runners like Jest.\n // (see: https://github.com/angular/components/issues/23365#issuecomment-938146643)\n return (\n // @ts-ignore\n (typeof __karma__ !== 'undefined' && !!__karma__) ||\n // @ts-ignore\n (typeof jasmine !== 'undefined' && !!jasmine) ||\n // @ts-ignore\n (typeof jest !== 'undefined' && !!jest) ||\n // @ts-ignore\n (typeof Mocha !== 'undefined' && !!Mocha));\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\n/**\n * Generated bundle index. Do not edit.\n */\n\nexport { Platform, PlatformModule, _getEventTarget, _getFocusedElementPierceShadowDom, _getShadowRoot, _isTestEnvironment, _supportsShadowDom, getRtlScrollAxisType, getSupportedInputTypes, normalizePassiveListenerOptions, supportsPassiveEventListeners, supportsScrollBehavior };\n","import * as i0 from '@angular/core';\nimport { ElementRef, Directive, EventEmitter, Inject, Output, NgModule } from '@angular/core';\nimport { DOCUMENT } from '@angular/common';\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * Throws an exception when attempting to attach a null portal to a host.\n * @docs-private\n */\nfunction throwNullPortalError() {\n throw Error('Must provide a portal to attach');\n}\n/**\n * Throws an exception when attempting to attach a portal to a host that is already attached.\n * @docs-private\n */\nfunction throwPortalAlreadyAttachedError() {\n throw Error('Host already has a portal attached');\n}\n/**\n * Throws an exception when attempting to attach a portal to an already-disposed host.\n * @docs-private\n */\nfunction throwPortalOutletAlreadyDisposedError() {\n throw Error('This PortalOutlet has already been disposed');\n}\n/**\n * Throws an exception when attempting to attach an unknown portal type.\n * @docs-private\n */\nfunction throwUnknownPortalTypeError() {\n throw Error('Attempting to attach an unknown Portal type. BasePortalOutlet accepts either ' +\n 'a ComponentPortal or a TemplatePortal.');\n}\n/**\n * Throws an exception when attempting to attach a portal to a null host.\n * @docs-private\n */\nfunction throwNullPortalOutletError() {\n throw Error('Attempting to attach a portal to a null PortalOutlet');\n}\n/**\n * Throws an exception when attempting to detach a portal that is not attached.\n * @docs-private\n */\nfunction throwNoPortalAttachedError() {\n throw Error('Attempting to detach a portal that is not attached to a host');\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * A `Portal` is something that you want to render somewhere else.\n * It can be attach to / detached from a `PortalOutlet`.\n */\nclass Portal {\n /** Attach this portal to a host. */\n attach(host) {\n if (typeof ngDevMode === 'undefined' || ngDevMode) {\n if (host == null) {\n throwNullPortalOutletError();\n }\n if (host.hasAttached()) {\n throwPortalAlreadyAttachedError();\n }\n }\n this._attachedHost = host;\n return host.attach(this);\n }\n /** Detach this portal from its host */\n detach() {\n let host = this._attachedHost;\n if (host != null) {\n this._attachedHost = null;\n host.detach();\n }\n else if (typeof ngDevMode === 'undefined' || ngDevMode) {\n throwNoPortalAttachedError();\n }\n }\n /** Whether this portal is attached to a host. */\n get isAttached() {\n return this._attachedHost != null;\n }\n /**\n * Sets the PortalOutlet reference without performing `attach()`. This is used directly by\n * the PortalOutlet when it is performing an `attach()` or `detach()`.\n */\n setAttachedHost(host) {\n this._attachedHost = host;\n }\n}\n/**\n * A `ComponentPortal` is a portal that instantiates some Component upon attachment.\n */\nclass ComponentPortal extends Portal {\n constructor(component, viewContainerRef, injector, componentFactoryResolver) {\n super();\n this.component = component;\n this.viewContainerRef = viewContainerRef;\n this.injector = injector;\n this.componentFactoryResolver = componentFactoryResolver;\n }\n}\n/**\n * A `TemplatePortal` is a portal that represents some embedded template (TemplateRef).\n */\nclass TemplatePortal extends Portal {\n constructor(template, viewContainerRef, context) {\n super();\n this.templateRef = template;\n this.viewContainerRef = viewContainerRef;\n this.context = context;\n }\n get origin() {\n return this.templateRef.elementRef;\n }\n /**\n * Attach the portal to the provided `PortalOutlet`.\n * When a context is provided it will override the `context` property of the `TemplatePortal`\n * instance.\n */\n attach(host, context = this.context) {\n this.context = context;\n return super.attach(host);\n }\n detach() {\n this.context = undefined;\n return super.detach();\n }\n}\n/**\n * A `DomPortal` is a portal whose DOM element will be taken from its current position\n * in the DOM and moved into a portal outlet, when it is attached. On detach, the content\n * will be restored to its original position.\n */\nclass DomPortal extends Portal {\n constructor(element) {\n super();\n this.element = element instanceof ElementRef ? element.nativeElement : element;\n }\n}\n/**\n * Partial implementation of PortalOutlet that handles attaching\n * ComponentPortal and TemplatePortal.\n */\nclass BasePortalOutlet {\n constructor() {\n /** Whether this host has already been permanently disposed. */\n this._isDisposed = false;\n // @breaking-change 10.0.0 `attachDomPortal` to become a required abstract method.\n this.attachDomPortal = null;\n }\n /** Whether this host has an attached portal. */\n hasAttached() {\n return !!this._attachedPortal;\n }\n /** Attaches a portal. */\n attach(portal) {\n if (typeof ngDevMode === 'undefined' || ngDevMode) {\n if (!portal) {\n throwNullPortalError();\n }\n if (this.hasAttached()) {\n throwPortalAlreadyAttachedError();\n }\n if (this._isDisposed) {\n throwPortalOutletAlreadyDisposedError();\n }\n }\n if (portal instanceof ComponentPortal) {\n this._attachedPortal = portal;\n return this.attachComponentPortal(portal);\n }\n else if (portal instanceof TemplatePortal) {\n this._attachedPortal = portal;\n return this.attachTemplatePortal(portal);\n // @breaking-change 10.0.0 remove null check for `this.attachDomPortal`.\n }\n else if (this.attachDomPortal && portal instanceof DomPortal) {\n this._attachedPortal = portal;\n return this.attachDomPortal(portal);\n }\n if (typeof ngDevMode === 'undefined' || ngDevMode) {\n throwUnknownPortalTypeError();\n }\n }\n /** Detaches a previously attached portal. */\n detach() {\n if (this._attachedPortal) {\n this._attachedPortal.setAttachedHost(null);\n this._attachedPortal = null;\n }\n this._invokeDisposeFn();\n }\n /** Permanently dispose of this portal host. */\n dispose() {\n if (this.hasAttached()) {\n this.detach();\n }\n this._invokeDisposeFn();\n this._isDisposed = true;\n }\n /** @docs-private */\n setDisposeFn(fn) {\n this._disposeFn = fn;\n }\n _invokeDisposeFn() {\n if (this._disposeFn) {\n this._disposeFn();\n this._disposeFn = null;\n }\n }\n}\n/**\n * @deprecated Use `BasePortalOutlet` instead.\n * @breaking-change 9.0.0\n */\nclass BasePortalHost extends BasePortalOutlet {\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * A PortalOutlet for attaching portals to an arbitrary DOM element outside of the Angular\n * application context.\n */\nclass DomPortalOutlet extends BasePortalOutlet {\n constructor(\n /** Element into which the content is projected. */\n outletElement, _componentFactoryResolver, _appRef, _defaultInjector, \n /**\n * @deprecated `_document` Parameter to be made required.\n * @breaking-change 10.0.0\n */\n _document) {\n super();\n this.outletElement = outletElement;\n this._componentFactoryResolver = _componentFactoryResolver;\n this._appRef = _appRef;\n this._defaultInjector = _defaultInjector;\n /**\n * Attaches a DOM portal by transferring its content into the outlet.\n * @param portal Portal to be attached.\n * @deprecated To be turned into a method.\n * @breaking-change 10.0.0\n */\n this.attachDomPortal = (portal) => {\n // @breaking-change 10.0.0 Remove check and error once the\n // `_document` constructor parameter is required.\n if (!this._document && (typeof ngDevMode === 'undefined' || ngDevMode)) {\n throw Error('Cannot attach DOM portal without _document constructor parameter');\n }\n const element = portal.element;\n if (!element.parentNode && (typeof ngDevMode === 'undefined' || ngDevMode)) {\n throw Error('DOM portal content must be attached to a parent node.');\n }\n // Anchor used to save the element's previous position so\n // that we can restore it when the portal is detached.\n const anchorNode = this._document.createComment('dom-portal');\n element.parentNode.insertBefore(anchorNode, element);\n this.outletElement.appendChild(element);\n this._attachedPortal = portal;\n super.setDisposeFn(() => {\n // We can't use `replaceWith` here because IE doesn't support it.\n if (anchorNode.parentNode) {\n anchorNode.parentNode.replaceChild(element, anchorNode);\n }\n });\n };\n this._document = _document;\n }\n /**\n * Attach the given ComponentPortal to DOM element using the ComponentFactoryResolver.\n * @param portal Portal to be attached\n * @returns Reference to the created component.\n */\n attachComponentPortal(portal) {\n const resolver = portal.componentFactoryResolver || this._componentFactoryResolver;\n const componentFactory = resolver.resolveComponentFactory(portal.component);\n let componentRef;\n // If the portal specifies a ViewContainerRef, we will use that as the attachment point\n // for the component (in terms of Angular's component tree, not rendering).\n // When the ViewContainerRef is missing, we use the factory to create the component directly\n // and then manually attach the view to the application.\n if (portal.viewContainerRef) {\n componentRef = portal.viewContainerRef.createComponent(componentFactory, portal.viewContainerRef.length, portal.injector || portal.viewContainerRef.injector);\n this.setDisposeFn(() => componentRef.destroy());\n }\n else {\n componentRef = componentFactory.create(portal.injector || this._defaultInjector);\n this._appRef.attachView(componentRef.hostView);\n this.setDisposeFn(() => {\n this._appRef.detachView(componentRef.hostView);\n componentRef.destroy();\n });\n }\n // At this point the component has been instantiated, so we move it to the location in the DOM\n // where we want it to be rendered.\n this.outletElement.appendChild(this._getComponentRootNode(componentRef));\n this._attachedPortal = portal;\n return componentRef;\n }\n /**\n * Attaches a template portal to the DOM as an embedded view.\n * @param portal Portal to be attached.\n * @returns Reference to the created embedded view.\n */\n attachTemplatePortal(portal) {\n let viewContainer = portal.viewContainerRef;\n let viewRef = viewContainer.createEmbeddedView(portal.templateRef, portal.context);\n // The method `createEmbeddedView` will add the view as a child of the viewContainer.\n // But for the DomPortalOutlet the view can be added everywhere in the DOM\n // (e.g Overlay Container) To move the view to the specified host element. We just\n // re-append the existing root nodes.\n viewRef.rootNodes.forEach(rootNode => this.outletElement.appendChild(rootNode));\n // Note that we want to detect changes after the nodes have been moved so that\n // any directives inside the portal that are looking at the DOM inside a lifecycle\n // hook won't be invoked too early.\n viewRef.detectChanges();\n this.setDisposeFn(() => {\n let index = viewContainer.indexOf(viewRef);\n if (index !== -1) {\n viewContainer.remove(index);\n }\n });\n this._attachedPortal = portal;\n // TODO(jelbourn): Return locals from view.\n return viewRef;\n }\n /**\n * Clears out a portal from the DOM.\n */\n dispose() {\n super.dispose();\n this.outletElement.remove();\n }\n /** Gets the root HTMLElement for an instantiated component. */\n _getComponentRootNode(componentRef) {\n return componentRef.hostView.rootNodes[0];\n }\n}\n/**\n * @deprecated Use `DomPortalOutlet` instead.\n * @breaking-change 9.0.0\n */\nclass DomPortalHost extends DomPortalOutlet {\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * Directive version of a `TemplatePortal`. Because the directive *is* a TemplatePortal,\n * the directive instance itself can be attached to a host, enabling declarative use of portals.\n */\nclass CdkPortal extends TemplatePortal {\n constructor(templateRef, viewContainerRef) {\n super(templateRef, viewContainerRef);\n }\n}\nCdkPortal.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"13.0.1\", ngImport: i0, type: CdkPortal, deps: [{ token: i0.TemplateRef }, { token: i0.ViewContainerRef }], target: i0.ɵɵFactoryTarget.Directive });\nCdkPortal.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"12.0.0\", version: \"13.0.1\", type: CdkPortal, selector: \"[cdkPortal]\", exportAs: [\"cdkPortal\"], usesInheritance: true, ngImport: i0 });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"13.0.1\", ngImport: i0, type: CdkPortal, decorators: [{\n type: Directive,\n args: [{\n selector: '[cdkPortal]',\n exportAs: 'cdkPortal',\n }]\n }], ctorParameters: function () { return [{ type: i0.TemplateRef }, { type: i0.ViewContainerRef }]; } });\n/**\n * @deprecated Use `CdkPortal` instead.\n * @breaking-change 9.0.0\n */\nclass TemplatePortalDirective extends CdkPortal {\n}\nTemplatePortalDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"13.0.1\", ngImport: i0, type: TemplatePortalDirective, deps: null, target: i0.ɵɵFactoryTarget.Directive });\nTemplatePortalDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"12.0.0\", version: \"13.0.1\", type: TemplatePortalDirective, selector: \"[cdk-portal], [portal]\", providers: [\n {\n provide: CdkPortal,\n useExisting: TemplatePortalDirective,\n },\n ], exportAs: [\"cdkPortal\"], usesInheritance: true, ngImport: i0 });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"13.0.1\", ngImport: i0, type: TemplatePortalDirective, decorators: [{\n type: Directive,\n args: [{\n selector: '[cdk-portal], [portal]',\n exportAs: 'cdkPortal',\n providers: [\n {\n provide: CdkPortal,\n useExisting: TemplatePortalDirective,\n },\n ],\n }]\n }] });\n/**\n * Directive version of a PortalOutlet. Because the directive *is* a PortalOutlet, portals can be\n * directly attached to it, enabling declarative use.\n *\n * Usage:\n * ``\n */\nclass CdkPortalOutlet extends BasePortalOutlet {\n constructor(_componentFactoryResolver, _viewContainerRef, \n /**\n * @deprecated `_document` parameter to be made required.\n * @breaking-change 9.0.0\n */\n _document) {\n super();\n this._componentFactoryResolver = _componentFactoryResolver;\n this._viewContainerRef = _viewContainerRef;\n /** Whether the portal component is initialized. */\n this._isInitialized = false;\n /** Emits when a portal is attached to the outlet. */\n this.attached = new EventEmitter();\n /**\n * Attaches the given DomPortal to this PortalHost by moving all of the portal content into it.\n * @param portal Portal to be attached.\n * @deprecated To be turned into a method.\n * @breaking-change 10.0.0\n */\n this.attachDomPortal = (portal) => {\n // @breaking-change 9.0.0 Remove check and error once the\n // `_document` constructor parameter is required.\n if (!this._document && (typeof ngDevMode === 'undefined' || ngDevMode)) {\n throw Error('Cannot attach DOM portal without _document constructor parameter');\n }\n const element = portal.element;\n if (!element.parentNode && (typeof ngDevMode === 'undefined' || ngDevMode)) {\n throw Error('DOM portal content must be attached to a parent node.');\n }\n // Anchor used to save the element's previous position so\n // that we can restore it when the portal is detached.\n const anchorNode = this._document.createComment('dom-portal');\n portal.setAttachedHost(this);\n element.parentNode.insertBefore(anchorNode, element);\n this._getRootNode().appendChild(element);\n this._attachedPortal = portal;\n super.setDisposeFn(() => {\n if (anchorNode.parentNode) {\n anchorNode.parentNode.replaceChild(element, anchorNode);\n }\n });\n };\n this._document = _document;\n }\n /** Portal associated with the Portal outlet. */\n get portal() {\n return this._attachedPortal;\n }\n set portal(portal) {\n // Ignore the cases where the `portal` is set to a falsy value before the lifecycle hooks have\n // run. This handles the cases where the user might do something like `
`\n // and attach a portal programmatically in the parent component. When Angular does the first CD\n // round, it will fire the setter with empty string, causing the user's content to be cleared.\n if (this.hasAttached() && !portal && !this._isInitialized) {\n return;\n }\n if (this.hasAttached()) {\n super.detach();\n }\n if (portal) {\n super.attach(portal);\n }\n this._attachedPortal = portal;\n }\n /** Component or view reference that is attached to the portal. */\n get attachedRef() {\n return this._attachedRef;\n }\n ngOnInit() {\n this._isInitialized = true;\n }\n ngOnDestroy() {\n super.dispose();\n this._attachedPortal = null;\n this._attachedRef = null;\n }\n /**\n * Attach the given ComponentPortal to this PortalOutlet using the ComponentFactoryResolver.\n *\n * @param portal Portal to be attached to the portal outlet.\n * @returns Reference to the created component.\n */\n attachComponentPortal(portal) {\n portal.setAttachedHost(this);\n // If the portal specifies an origin, use that as the logical location of the component\n // in the application tree. Otherwise use the location of this PortalOutlet.\n const viewContainerRef = portal.viewContainerRef != null ? portal.viewContainerRef : this._viewContainerRef;\n const resolver = portal.componentFactoryResolver || this._componentFactoryResolver;\n const componentFactory = resolver.resolveComponentFactory(portal.component);\n const ref = viewContainerRef.createComponent(componentFactory, viewContainerRef.length, portal.injector || viewContainerRef.injector);\n // If we're using a view container that's different from the injected one (e.g. when the portal\n // specifies its own) we need to move the component into the outlet, otherwise it'll be rendered\n // inside of the alternate view container.\n if (viewContainerRef !== this._viewContainerRef) {\n this._getRootNode().appendChild(ref.hostView.rootNodes[0]);\n }\n super.setDisposeFn(() => ref.destroy());\n this._attachedPortal = portal;\n this._attachedRef = ref;\n this.attached.emit(ref);\n return ref;\n }\n /**\n * Attach the given TemplatePortal to this PortalHost as an embedded View.\n * @param portal Portal to be attached.\n * @returns Reference to the created embedded view.\n */\n attachTemplatePortal(portal) {\n portal.setAttachedHost(this);\n const viewRef = this._viewContainerRef.createEmbeddedView(portal.templateRef, portal.context);\n super.setDisposeFn(() => this._viewContainerRef.clear());\n this._attachedPortal = portal;\n this._attachedRef = viewRef;\n this.attached.emit(viewRef);\n return viewRef;\n }\n /** Gets the root node of the portal outlet. */\n _getRootNode() {\n const nativeElement = this._viewContainerRef.element.nativeElement;\n // The directive could be set on a template which will result in a comment\n // node being the root. Use the comment's parent node if that is the case.\n return (nativeElement.nodeType === nativeElement.ELEMENT_NODE\n ? nativeElement\n : nativeElement.parentNode);\n }\n}\nCdkPortalOutlet.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"13.0.1\", ngImport: i0, type: CdkPortalOutlet, deps: [{ token: i0.ComponentFactoryResolver }, { token: i0.ViewContainerRef }, { token: DOCUMENT }], target: i0.ɵɵFactoryTarget.Directive });\nCdkPortalOutlet.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"12.0.0\", version: \"13.0.1\", type: CdkPortalOutlet, selector: \"[cdkPortalOutlet]\", inputs: { portal: [\"cdkPortalOutlet\", \"portal\"] }, outputs: { attached: \"attached\" }, exportAs: [\"cdkPortalOutlet\"], usesInheritance: true, ngImport: i0 });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"13.0.1\", ngImport: i0, type: CdkPortalOutlet, decorators: [{\n type: Directive,\n args: [{\n selector: '[cdkPortalOutlet]',\n exportAs: 'cdkPortalOutlet',\n inputs: ['portal: cdkPortalOutlet'],\n }]\n }], ctorParameters: function () { return [{ type: i0.ComponentFactoryResolver }, { type: i0.ViewContainerRef }, { type: undefined, decorators: [{\n type: Inject,\n args: [DOCUMENT]\n }] }]; }, propDecorators: { attached: [{\n type: Output\n }] } });\n/**\n * @deprecated Use `CdkPortalOutlet` instead.\n * @breaking-change 9.0.0\n */\nclass PortalHostDirective extends CdkPortalOutlet {\n}\nPortalHostDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"13.0.1\", ngImport: i0, type: PortalHostDirective, deps: null, target: i0.ɵɵFactoryTarget.Directive });\nPortalHostDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"12.0.0\", version: \"13.0.1\", type: PortalHostDirective, selector: \"[cdkPortalHost], [portalHost]\", inputs: { portal: [\"cdkPortalHost\", \"portal\"] }, providers: [\n {\n provide: CdkPortalOutlet,\n useExisting: PortalHostDirective,\n },\n ], exportAs: [\"cdkPortalHost\"], usesInheritance: true, ngImport: i0 });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"13.0.1\", ngImport: i0, type: PortalHostDirective, decorators: [{\n type: Directive,\n args: [{\n selector: '[cdkPortalHost], [portalHost]',\n exportAs: 'cdkPortalHost',\n inputs: ['portal: cdkPortalHost'],\n providers: [\n {\n provide: CdkPortalOutlet,\n useExisting: PortalHostDirective,\n },\n ],\n }]\n }] });\nclass PortalModule {\n}\nPortalModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"13.0.1\", ngImport: i0, type: PortalModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });\nPortalModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: \"12.0.0\", version: \"13.0.1\", ngImport: i0, type: PortalModule, declarations: [CdkPortal, CdkPortalOutlet, TemplatePortalDirective, PortalHostDirective], exports: [CdkPortal, CdkPortalOutlet, TemplatePortalDirective, PortalHostDirective] });\nPortalModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: \"12.0.0\", version: \"13.0.1\", ngImport: i0, type: PortalModule });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"13.0.1\", ngImport: i0, type: PortalModule, decorators: [{\n type: NgModule,\n args: [{\n exports: [CdkPortal, CdkPortalOutlet, TemplatePortalDirective, PortalHostDirective],\n declarations: [CdkPortal, CdkPortalOutlet, TemplatePortalDirective, PortalHostDirective],\n }]\n }] });\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * Custom injector to be used when providing custom\n * injection tokens to components inside a portal.\n * @docs-private\n * @deprecated Use `Injector.create` instead.\n * @breaking-change 11.0.0\n */\nclass PortalInjector {\n constructor(_parentInjector, _customTokens) {\n this._parentInjector = _parentInjector;\n this._customTokens = _customTokens;\n }\n get(token, notFoundValue) {\n const value = this._customTokens.get(token);\n if (typeof value !== 'undefined') {\n return value;\n }\n return this._parentInjector.get(token, notFoundValue);\n }\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\n/**\n * Generated bundle index. Do not edit.\n */\n\nexport { BasePortalHost, BasePortalOutlet, CdkPortal, CdkPortalOutlet, ComponentPortal, DomPortal, DomPortalHost, DomPortalOutlet, Portal, PortalHostDirective, PortalInjector, PortalModule, TemplatePortal, TemplatePortalDirective };\n","import { coerceNumberProperty, coerceElement, coerceBooleanProperty } from '@angular/cdk/coercion';\nimport * as i0 from '@angular/core';\nimport { InjectionToken, forwardRef, Directive, Input, Injectable, Optional, Inject, Component, ViewEncapsulation, ChangeDetectionStrategy, Output, ViewChild, SkipSelf, NgModule } from '@angular/core';\nimport { Subject, of, Observable, fromEvent, animationFrameScheduler, asapScheduler, Subscription, isObservable } from 'rxjs';\nimport { distinctUntilChanged, auditTime, filter, takeUntil, startWith, pairwise, switchMap, shareReplay } from 'rxjs/operators';\nimport * as i1 from '@angular/cdk/platform';\nimport { getRtlScrollAxisType, supportsScrollBehavior, PlatformModule } from '@angular/cdk/platform';\nimport { DOCUMENT } from '@angular/common';\nimport * as i2 from '@angular/cdk/bidi';\nimport { BidiModule } from '@angular/cdk/bidi';\nimport * as i2$1 from '@angular/cdk/collections';\nimport { isDataSource, ArrayDataSource, _VIEW_REPEATER_STRATEGY, _RecycleViewRepeaterStrategy } from '@angular/cdk/collections';\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/** The injection token used to specify the virtual scrolling strategy. */\nconst VIRTUAL_SCROLL_STRATEGY = new InjectionToken('VIRTUAL_SCROLL_STRATEGY');\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/** Virtual scrolling strategy for lists with items of known fixed size. */\nclass FixedSizeVirtualScrollStrategy {\n /**\n * @param itemSize The size of the items in the virtually scrolling list.\n * @param minBufferPx The minimum amount of buffer (in pixels) before needing to render more\n * @param maxBufferPx The amount of buffer (in pixels) to render when rendering more.\n */\n constructor(itemSize, minBufferPx, maxBufferPx) {\n this._scrolledIndexChange = new Subject();\n /** @docs-private Implemented as part of VirtualScrollStrategy. */\n this.scrolledIndexChange = this._scrolledIndexChange.pipe(distinctUntilChanged());\n /** The attached viewport. */\n this._viewport = null;\n this._itemSize = itemSize;\n this._minBufferPx = minBufferPx;\n this._maxBufferPx = maxBufferPx;\n }\n /**\n * Attaches this scroll strategy to a viewport.\n * @param viewport The viewport to attach this strategy to.\n */\n attach(viewport) {\n this._viewport = viewport;\n this._updateTotalContentSize();\n this._updateRenderedRange();\n }\n /** Detaches this scroll strategy from the currently attached viewport. */\n detach() {\n this._scrolledIndexChange.complete();\n this._viewport = null;\n }\n /**\n * Update the item size and buffer size.\n * @param itemSize The size of the items in the virtually scrolling list.\n * @param minBufferPx The minimum amount of buffer (in pixels) before needing to render more\n * @param maxBufferPx The amount of buffer (in pixels) to render when rendering more.\n */\n updateItemAndBufferSize(itemSize, minBufferPx, maxBufferPx) {\n if (maxBufferPx < minBufferPx && (typeof ngDevMode === 'undefined' || ngDevMode)) {\n throw Error('CDK virtual scroll: maxBufferPx must be greater than or equal to minBufferPx');\n }\n this._itemSize = itemSize;\n this._minBufferPx = minBufferPx;\n this._maxBufferPx = maxBufferPx;\n this._updateTotalContentSize();\n this._updateRenderedRange();\n }\n /** @docs-private Implemented as part of VirtualScrollStrategy. */\n onContentScrolled() {\n this._updateRenderedRange();\n }\n /** @docs-private Implemented as part of VirtualScrollStrategy. */\n onDataLengthChanged() {\n this._updateTotalContentSize();\n this._updateRenderedRange();\n }\n /** @docs-private Implemented as part of VirtualScrollStrategy. */\n onContentRendered() {\n /* no-op */\n }\n /** @docs-private Implemented as part of VirtualScrollStrategy. */\n onRenderedOffsetChanged() {\n /* no-op */\n }\n /**\n * Scroll to the offset for the given index.\n * @param index The index of the element to scroll to.\n * @param behavior The ScrollBehavior to use when scrolling.\n */\n scrollToIndex(index, behavior) {\n if (this._viewport) {\n this._viewport.scrollToOffset(index * this._itemSize, behavior);\n }\n }\n /** Update the viewport's total content size. */\n _updateTotalContentSize() {\n if (!this._viewport) {\n return;\n }\n this._viewport.setTotalContentSize(this._viewport.getDataLength() * this._itemSize);\n }\n /** Update the viewport's rendered range. */\n _updateRenderedRange() {\n if (!this._viewport) {\n return;\n }\n const renderedRange = this._viewport.getRenderedRange();\n const newRange = { start: renderedRange.start, end: renderedRange.end };\n const viewportSize = this._viewport.getViewportSize();\n const dataLength = this._viewport.getDataLength();\n let scrollOffset = this._viewport.measureScrollOffset();\n // Prevent NaN as result when dividing by zero.\n let firstVisibleIndex = this._itemSize > 0 ? scrollOffset / this._itemSize : 0;\n // If user scrolls to the bottom of the list and data changes to a smaller list\n if (newRange.end > dataLength) {\n // We have to recalculate the first visible index based on new data length and viewport size.\n const maxVisibleItems = Math.ceil(viewportSize / this._itemSize);\n const newVisibleIndex = Math.max(0, Math.min(firstVisibleIndex, dataLength - maxVisibleItems));\n // If first visible index changed we must update scroll offset to handle start/end buffers\n // Current range must also be adjusted to cover the new position (bottom of new list).\n if (firstVisibleIndex != newVisibleIndex) {\n firstVisibleIndex = newVisibleIndex;\n scrollOffset = newVisibleIndex * this._itemSize;\n newRange.start = Math.floor(firstVisibleIndex);\n }\n newRange.end = Math.max(0, Math.min(dataLength, newRange.start + maxVisibleItems));\n }\n const startBuffer = scrollOffset - newRange.start * this._itemSize;\n if (startBuffer < this._minBufferPx && newRange.start != 0) {\n const expandStart = Math.ceil((this._maxBufferPx - startBuffer) / this._itemSize);\n newRange.start = Math.max(0, newRange.start - expandStart);\n newRange.end = Math.min(dataLength, Math.ceil(firstVisibleIndex + (viewportSize + this._minBufferPx) / this._itemSize));\n }\n else {\n const endBuffer = newRange.end * this._itemSize - (scrollOffset + viewportSize);\n if (endBuffer < this._minBufferPx && newRange.end != dataLength) {\n const expandEnd = Math.ceil((this._maxBufferPx - endBuffer) / this._itemSize);\n if (expandEnd > 0) {\n newRange.end = Math.min(dataLength, newRange.end + expandEnd);\n newRange.start = Math.max(0, Math.floor(firstVisibleIndex - this._minBufferPx / this._itemSize));\n }\n }\n }\n this._viewport.setRenderedRange(newRange);\n this._viewport.setRenderedContentOffset(this._itemSize * newRange.start);\n this._scrolledIndexChange.next(Math.floor(firstVisibleIndex));\n }\n}\n/**\n * Provider factory for `FixedSizeVirtualScrollStrategy` that simply extracts the already created\n * `FixedSizeVirtualScrollStrategy` from the given directive.\n * @param fixedSizeDir The instance of `CdkFixedSizeVirtualScroll` to extract the\n * `FixedSizeVirtualScrollStrategy` from.\n */\nfunction _fixedSizeVirtualScrollStrategyFactory(fixedSizeDir) {\n return fixedSizeDir._scrollStrategy;\n}\n/** A virtual scroll strategy that supports fixed-size items. */\nclass CdkFixedSizeVirtualScroll {\n constructor() {\n this._itemSize = 20;\n this._minBufferPx = 100;\n this._maxBufferPx = 200;\n /** The scroll strategy used by this directive. */\n this._scrollStrategy = new FixedSizeVirtualScrollStrategy(this.itemSize, this.minBufferPx, this.maxBufferPx);\n }\n /** The size of the items in the list (in pixels). */\n get itemSize() {\n return this._itemSize;\n }\n set itemSize(value) {\n this._itemSize = coerceNumberProperty(value);\n }\n /**\n * The minimum amount of buffer rendered beyond the viewport (in pixels).\n * If the amount of buffer dips below this number, more items will be rendered. Defaults to 100px.\n */\n get minBufferPx() {\n return this._minBufferPx;\n }\n set minBufferPx(value) {\n this._minBufferPx = coerceNumberProperty(value);\n }\n /**\n * The number of pixels worth of buffer to render for when rendering new items. Defaults to 200px.\n */\n get maxBufferPx() {\n return this._maxBufferPx;\n }\n set maxBufferPx(value) {\n this._maxBufferPx = coerceNumberProperty(value);\n }\n ngOnChanges() {\n this._scrollStrategy.updateItemAndBufferSize(this.itemSize, this.minBufferPx, this.maxBufferPx);\n }\n}\nCdkFixedSizeVirtualScroll.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"13.0.1\", ngImport: i0, type: CdkFixedSizeVirtualScroll, deps: [], target: i0.ɵɵFactoryTarget.Directive });\nCdkFixedSizeVirtualScroll.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"12.0.0\", version: \"13.0.1\", type: CdkFixedSizeVirtualScroll, selector: \"cdk-virtual-scroll-viewport[itemSize]\", inputs: { itemSize: \"itemSize\", minBufferPx: \"minBufferPx\", maxBufferPx: \"maxBufferPx\" }, providers: [\n {\n provide: VIRTUAL_SCROLL_STRATEGY,\n useFactory: _fixedSizeVirtualScrollStrategyFactory,\n deps: [forwardRef(() => CdkFixedSizeVirtualScroll)],\n },\n ], usesOnChanges: true, ngImport: i0 });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"13.0.1\", ngImport: i0, type: CdkFixedSizeVirtualScroll, decorators: [{\n type: Directive,\n args: [{\n selector: 'cdk-virtual-scroll-viewport[itemSize]',\n providers: [\n {\n provide: VIRTUAL_SCROLL_STRATEGY,\n useFactory: _fixedSizeVirtualScrollStrategyFactory,\n deps: [forwardRef(() => CdkFixedSizeVirtualScroll)],\n },\n ],\n }]\n }], propDecorators: { itemSize: [{\n type: Input\n }], minBufferPx: [{\n type: Input\n }], maxBufferPx: [{\n type: Input\n }] } });\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/** Time in ms to throttle the scrolling events by default. */\nconst DEFAULT_SCROLL_TIME = 20;\n/**\n * Service contained all registered Scrollable references and emits an event when any one of the\n * Scrollable references emit a scrolled event.\n */\nclass ScrollDispatcher {\n constructor(_ngZone, _platform, document) {\n this._ngZone = _ngZone;\n this._platform = _platform;\n /** Subject for notifying that a registered scrollable reference element has been scrolled. */\n this._scrolled = new Subject();\n /** Keeps track of the global `scroll` and `resize` subscriptions. */\n this._globalSubscription = null;\n /** Keeps track of the amount of subscriptions to `scrolled`. Used for cleaning up afterwards. */\n this._scrolledCount = 0;\n /**\n * Map of all the scrollable references that are registered with the service and their\n * scroll event subscriptions.\n */\n this.scrollContainers = new Map();\n this._document = document;\n }\n /**\n * Registers a scrollable instance with the service and listens for its scrolled events. When the\n * scrollable is scrolled, the service emits the event to its scrolled observable.\n * @param scrollable Scrollable instance to be registered.\n */\n register(scrollable) {\n if (!this.scrollContainers.has(scrollable)) {\n this.scrollContainers.set(scrollable, scrollable.elementScrolled().subscribe(() => this._scrolled.next(scrollable)));\n }\n }\n /**\n * Deregisters a Scrollable reference and unsubscribes from its scroll event observable.\n * @param scrollable Scrollable instance to be deregistered.\n */\n deregister(scrollable) {\n const scrollableReference = this.scrollContainers.get(scrollable);\n if (scrollableReference) {\n scrollableReference.unsubscribe();\n this.scrollContainers.delete(scrollable);\n }\n }\n /**\n * Returns an observable that emits an event whenever any of the registered Scrollable\n * references (or window, document, or body) fire a scrolled event. Can provide a time in ms\n * to override the default \"throttle\" time.\n *\n * **Note:** in order to avoid hitting change detection for every scroll event,\n * all of the events emitted from this stream will be run outside the Angular zone.\n * If you need to update any data bindings as a result of a scroll event, you have\n * to run the callback using `NgZone.run`.\n */\n scrolled(auditTimeInMs = DEFAULT_SCROLL_TIME) {\n if (!this._platform.isBrowser) {\n return of();\n }\n return new Observable((observer) => {\n if (!this._globalSubscription) {\n this._addGlobalListener();\n }\n // In the case of a 0ms delay, use an observable without auditTime\n // since it does add a perceptible delay in processing overhead.\n const subscription = auditTimeInMs > 0\n ? this._scrolled.pipe(auditTime(auditTimeInMs)).subscribe(observer)\n : this._scrolled.subscribe(observer);\n this._scrolledCount++;\n return () => {\n subscription.unsubscribe();\n this._scrolledCount--;\n if (!this._scrolledCount) {\n this._removeGlobalListener();\n }\n };\n });\n }\n ngOnDestroy() {\n this._removeGlobalListener();\n this.scrollContainers.forEach((_, container) => this.deregister(container));\n this._scrolled.complete();\n }\n /**\n * Returns an observable that emits whenever any of the\n * scrollable ancestors of an element are scrolled.\n * @param elementOrElementRef Element whose ancestors to listen for.\n * @param auditTimeInMs Time to throttle the scroll events.\n */\n ancestorScrolled(elementOrElementRef, auditTimeInMs) {\n const ancestors = this.getAncestorScrollContainers(elementOrElementRef);\n return this.scrolled(auditTimeInMs).pipe(filter(target => {\n return !target || ancestors.indexOf(target) > -1;\n }));\n }\n /** Returns all registered Scrollables that contain the provided element. */\n getAncestorScrollContainers(elementOrElementRef) {\n const scrollingContainers = [];\n this.scrollContainers.forEach((_subscription, scrollable) => {\n if (this._scrollableContainsElement(scrollable, elementOrElementRef)) {\n scrollingContainers.push(scrollable);\n }\n });\n return scrollingContainers;\n }\n /** Use defaultView of injected document if available or fallback to global window reference */\n _getWindow() {\n return this._document.defaultView || window;\n }\n /** Returns true if the element is contained within the provided Scrollable. */\n _scrollableContainsElement(scrollable, elementOrElementRef) {\n let element = coerceElement(elementOrElementRef);\n let scrollableElement = scrollable.getElementRef().nativeElement;\n // Traverse through the element parents until we reach null, checking if any of the elements\n // are the scrollable's element.\n do {\n if (element == scrollableElement) {\n return true;\n }\n } while ((element = element.parentElement));\n return false;\n }\n /** Sets up the global scroll listeners. */\n _addGlobalListener() {\n this._globalSubscription = this._ngZone.runOutsideAngular(() => {\n const window = this._getWindow();\n return fromEvent(window.document, 'scroll').subscribe(() => this._scrolled.next());\n });\n }\n /** Cleans up the global scroll listener. */\n _removeGlobalListener() {\n if (this._globalSubscription) {\n this._globalSubscription.unsubscribe();\n this._globalSubscription = null;\n }\n }\n}\nScrollDispatcher.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"13.0.1\", ngImport: i0, type: ScrollDispatcher, deps: [{ token: i0.NgZone }, { token: i1.Platform }, { token: DOCUMENT, optional: true }], target: i0.ɵɵFactoryTarget.Injectable });\nScrollDispatcher.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"13.0.1\", ngImport: i0, type: ScrollDispatcher, providedIn: 'root' });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"13.0.1\", ngImport: i0, type: ScrollDispatcher, decorators: [{\n type: Injectable,\n args: [{ providedIn: 'root' }]\n }], ctorParameters: function () { return [{ type: i0.NgZone }, { type: i1.Platform }, { type: undefined, decorators: [{\n type: Optional\n }, {\n type: Inject,\n args: [DOCUMENT]\n }] }]; } });\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * Sends an event when the directive's element is scrolled. Registers itself with the\n * ScrollDispatcher service to include itself as part of its collection of scrolling events that it\n * can be listened to through the service.\n */\nclass CdkScrollable {\n constructor(elementRef, scrollDispatcher, ngZone, dir) {\n this.elementRef = elementRef;\n this.scrollDispatcher = scrollDispatcher;\n this.ngZone = ngZone;\n this.dir = dir;\n this._destroyed = new Subject();\n this._elementScrolled = new Observable((observer) => this.ngZone.runOutsideAngular(() => fromEvent(this.elementRef.nativeElement, 'scroll')\n .pipe(takeUntil(this._destroyed))\n .subscribe(observer)));\n }\n ngOnInit() {\n this.scrollDispatcher.register(this);\n }\n ngOnDestroy() {\n this.scrollDispatcher.deregister(this);\n this._destroyed.next();\n this._destroyed.complete();\n }\n /** Returns observable that emits when a scroll event is fired on the host element. */\n elementScrolled() {\n return this._elementScrolled;\n }\n /** Gets the ElementRef for the viewport. */\n getElementRef() {\n return this.elementRef;\n }\n /**\n * Scrolls to the specified offsets. This is a normalized version of the browser's native scrollTo\n * method, since browsers are not consistent about what scrollLeft means in RTL. For this method\n * left and right always refer to the left and right side of the scrolling container irrespective\n * of the layout direction. start and end refer to left and right in an LTR context and vice-versa\n * in an RTL context.\n * @param options specified the offsets to scroll to.\n */\n scrollTo(options) {\n const el = this.elementRef.nativeElement;\n const isRtl = this.dir && this.dir.value == 'rtl';\n // Rewrite start & end offsets as right or left offsets.\n if (options.left == null) {\n options.left = isRtl ? options.end : options.start;\n }\n if (options.right == null) {\n options.right = isRtl ? options.start : options.end;\n }\n // Rewrite the bottom offset as a top offset.\n if (options.bottom != null) {\n options.top =\n el.scrollHeight - el.clientHeight - options.bottom;\n }\n // Rewrite the right offset as a left offset.\n if (isRtl && getRtlScrollAxisType() != 0 /* NORMAL */) {\n if (options.left != null) {\n options.right =\n el.scrollWidth - el.clientWidth - options.left;\n }\n if (getRtlScrollAxisType() == 2 /* INVERTED */) {\n options.left = options.right;\n }\n else if (getRtlScrollAxisType() == 1 /* NEGATED */) {\n options.left = options.right ? -options.right : options.right;\n }\n }\n else {\n if (options.right != null) {\n options.left =\n el.scrollWidth - el.clientWidth - options.right;\n }\n }\n this._applyScrollToOptions(options);\n }\n _applyScrollToOptions(options) {\n const el = this.elementRef.nativeElement;\n if (supportsScrollBehavior()) {\n el.scrollTo(options);\n }\n else {\n if (options.top != null) {\n el.scrollTop = options.top;\n }\n if (options.left != null) {\n el.scrollLeft = options.left;\n }\n }\n }\n /**\n * Measures the scroll offset relative to the specified edge of the viewport. This method can be\n * used instead of directly checking scrollLeft or scrollTop, since browsers are not consistent\n * about what scrollLeft means in RTL. The values returned by this method are normalized such that\n * left and right always refer to the left and right side of the scrolling container irrespective\n * of the layout direction. start and end refer to left and right in an LTR context and vice-versa\n * in an RTL context.\n * @param from The edge to measure from.\n */\n measureScrollOffset(from) {\n const LEFT = 'left';\n const RIGHT = 'right';\n const el = this.elementRef.nativeElement;\n if (from == 'top') {\n return el.scrollTop;\n }\n if (from == 'bottom') {\n return el.scrollHeight - el.clientHeight - el.scrollTop;\n }\n // Rewrite start & end as left or right offsets.\n const isRtl = this.dir && this.dir.value == 'rtl';\n if (from == 'start') {\n from = isRtl ? RIGHT : LEFT;\n }\n else if (from == 'end') {\n from = isRtl ? LEFT : RIGHT;\n }\n if (isRtl && getRtlScrollAxisType() == 2 /* INVERTED */) {\n // For INVERTED, scrollLeft is (scrollWidth - clientWidth) when scrolled all the way left and\n // 0 when scrolled all the way right.\n if (from == LEFT) {\n return el.scrollWidth - el.clientWidth - el.scrollLeft;\n }\n else {\n return el.scrollLeft;\n }\n }\n else if (isRtl && getRtlScrollAxisType() == 1 /* NEGATED */) {\n // For NEGATED, scrollLeft is -(scrollWidth - clientWidth) when scrolled all the way left and\n // 0 when scrolled all the way right.\n if (from == LEFT) {\n return el.scrollLeft + el.scrollWidth - el.clientWidth;\n }\n else {\n return -el.scrollLeft;\n }\n }\n else {\n // For NORMAL, as well as non-RTL contexts, scrollLeft is 0 when scrolled all the way left and\n // (scrollWidth - clientWidth) when scrolled all the way right.\n if (from == LEFT) {\n return el.scrollLeft;\n }\n else {\n return el.scrollWidth - el.clientWidth - el.scrollLeft;\n }\n }\n }\n}\nCdkScrollable.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"13.0.1\", ngImport: i0, type: CdkScrollable, deps: [{ token: i0.ElementRef }, { token: ScrollDispatcher }, { token: i0.NgZone }, { token: i2.Directionality, optional: true }], target: i0.ɵɵFactoryTarget.Directive });\nCdkScrollable.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"12.0.0\", version: \"13.0.1\", type: CdkScrollable, selector: \"[cdk-scrollable], [cdkScrollable]\", ngImport: i0 });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"13.0.1\", ngImport: i0, type: CdkScrollable, decorators: [{\n type: Directive,\n args: [{\n selector: '[cdk-scrollable], [cdkScrollable]',\n }]\n }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: ScrollDispatcher }, { type: i0.NgZone }, { type: i2.Directionality, decorators: [{\n type: Optional\n }] }]; } });\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/** Time in ms to throttle the resize events by default. */\nconst DEFAULT_RESIZE_TIME = 20;\n/**\n * Simple utility for getting the bounds of the browser viewport.\n * @docs-private\n */\nclass ViewportRuler {\n constructor(_platform, ngZone, document) {\n this._platform = _platform;\n /** Stream of viewport change events. */\n this._change = new Subject();\n /** Event listener that will be used to handle the viewport change events. */\n this._changeListener = (event) => {\n this._change.next(event);\n };\n this._document = document;\n ngZone.runOutsideAngular(() => {\n if (_platform.isBrowser) {\n const window = this._getWindow();\n // Note that bind the events ourselves, rather than going through something like RxJS's\n // `fromEvent` so that we can ensure that they're bound outside of the NgZone.\n window.addEventListener('resize', this._changeListener);\n window.addEventListener('orientationchange', this._changeListener);\n }\n // Clear the cached position so that the viewport is re-measured next time it is required.\n // We don't need to keep track of the subscription, because it is completed on destroy.\n this.change().subscribe(() => (this._viewportSize = null));\n });\n }\n ngOnDestroy() {\n if (this._platform.isBrowser) {\n const window = this._getWindow();\n window.removeEventListener('resize', this._changeListener);\n window.removeEventListener('orientationchange', this._changeListener);\n }\n this._change.complete();\n }\n /** Returns the viewport's width and height. */\n getViewportSize() {\n if (!this._viewportSize) {\n this._updateViewportSize();\n }\n const output = { width: this._viewportSize.width, height: this._viewportSize.height };\n // If we're not on a browser, don't cache the size since it'll be mocked out anyway.\n if (!this._platform.isBrowser) {\n this._viewportSize = null;\n }\n return output;\n }\n /** Gets a ClientRect for the viewport's bounds. */\n getViewportRect() {\n // Use the document element's bounding rect rather than the window scroll properties\n // (e.g. pageYOffset, scrollY) due to in issue in Chrome and IE where window scroll\n // properties and client coordinates (boundingClientRect, clientX/Y, etc.) are in different\n // conceptual viewports. Under most circumstances these viewports are equivalent, but they\n // can disagree when the page is pinch-zoomed (on devices that support touch).\n // See https://bugs.chromium.org/p/chromium/issues/detail?id=489206#c4\n // We use the documentElement instead of the body because, by default (without a css reset)\n // browsers typically give the document body an 8px margin, which is not included in\n // getBoundingClientRect().\n const scrollPosition = this.getViewportScrollPosition();\n const { width, height } = this.getViewportSize();\n return {\n top: scrollPosition.top,\n left: scrollPosition.left,\n bottom: scrollPosition.top + height,\n right: scrollPosition.left + width,\n height,\n width,\n };\n }\n /** Gets the (top, left) scroll position of the viewport. */\n getViewportScrollPosition() {\n // While we can get a reference to the fake document\n // during SSR, it doesn't have getBoundingClientRect.\n if (!this._platform.isBrowser) {\n return { top: 0, left: 0 };\n }\n // The top-left-corner of the viewport is determined by the scroll position of the document\n // body, normally just (scrollLeft, scrollTop). However, Chrome and Firefox disagree about\n // whether `document.body` or `document.documentElement` is the scrolled element, so reading\n // `scrollTop` and `scrollLeft` is inconsistent. However, using the bounding rect of\n // `document.documentElement` works consistently, where the `top` and `left` values will\n // equal negative the scroll position.\n const document = this._document;\n const window = this._getWindow();\n const documentElement = document.documentElement;\n const documentRect = documentElement.getBoundingClientRect();\n const top = -documentRect.top ||\n document.body.scrollTop ||\n window.scrollY ||\n documentElement.scrollTop ||\n 0;\n const left = -documentRect.left ||\n document.body.scrollLeft ||\n window.scrollX ||\n documentElement.scrollLeft ||\n 0;\n return { top, left };\n }\n /**\n * Returns a stream that emits whenever the size of the viewport changes.\n * This stream emits outside of the Angular zone.\n * @param throttleTime Time in milliseconds to throttle the stream.\n */\n change(throttleTime = DEFAULT_RESIZE_TIME) {\n return throttleTime > 0 ? this._change.pipe(auditTime(throttleTime)) : this._change;\n }\n /** Use defaultView of injected document if available or fallback to global window reference */\n _getWindow() {\n return this._document.defaultView || window;\n }\n /** Updates the cached viewport size. */\n _updateViewportSize() {\n const window = this._getWindow();\n this._viewportSize = this._platform.isBrowser\n ? { width: window.innerWidth, height: window.innerHeight }\n : { width: 0, height: 0 };\n }\n}\nViewportRuler.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"13.0.1\", ngImport: i0, type: ViewportRuler, deps: [{ token: i1.Platform }, { token: i0.NgZone }, { token: DOCUMENT, optional: true }], target: i0.ɵɵFactoryTarget.Injectable });\nViewportRuler.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"13.0.1\", ngImport: i0, type: ViewportRuler, providedIn: 'root' });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"13.0.1\", ngImport: i0, type: ViewportRuler, decorators: [{\n type: Injectable,\n args: [{ providedIn: 'root' }]\n }], ctorParameters: function () { return [{ type: i1.Platform }, { type: i0.NgZone }, { type: undefined, decorators: [{\n type: Optional\n }, {\n type: Inject,\n args: [DOCUMENT]\n }] }]; } });\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/** Checks if the given ranges are equal. */\nfunction rangesEqual(r1, r2) {\n return r1.start == r2.start && r1.end == r2.end;\n}\n/**\n * Scheduler to be used for scroll events. Needs to fall back to\n * something that doesn't rely on requestAnimationFrame on environments\n * that don't support it (e.g. server-side rendering).\n */\nconst SCROLL_SCHEDULER = typeof requestAnimationFrame !== 'undefined' ? animationFrameScheduler : asapScheduler;\n/** A viewport that virtualizes its scrolling with the help of `CdkVirtualForOf`. */\nclass CdkVirtualScrollViewport extends CdkScrollable {\n constructor(elementRef, _changeDetectorRef, ngZone, _scrollStrategy, dir, scrollDispatcher, viewportRuler) {\n super(elementRef, scrollDispatcher, ngZone, dir);\n this.elementRef = elementRef;\n this._changeDetectorRef = _changeDetectorRef;\n this._scrollStrategy = _scrollStrategy;\n /** Emits when the viewport is detached from a CdkVirtualForOf. */\n this._detachedSubject = new Subject();\n /** Emits when the rendered range changes. */\n this._renderedRangeSubject = new Subject();\n this._orientation = 'vertical';\n this._appendOnly = false;\n // Note: we don't use the typical EventEmitter here because we need to subscribe to the scroll\n // strategy lazily (i.e. only if the user is actually listening to the events). We do this because\n // depending on how the strategy calculates the scrolled index, it may come at a cost to\n // performance.\n /** Emits when the index of the first element visible in the viewport changes. */\n this.scrolledIndexChange = new Observable((observer) => this._scrollStrategy.scrolledIndexChange.subscribe(index => Promise.resolve().then(() => this.ngZone.run(() => observer.next(index)))));\n /** A stream that emits whenever the rendered range changes. */\n this.renderedRangeStream = this._renderedRangeSubject;\n /**\n * The total size of all content (in pixels), including content that is not currently rendered.\n */\n this._totalContentSize = 0;\n /** A string representing the `style.width` property value to be used for the spacer element. */\n this._totalContentWidth = '';\n /** A string representing the `style.height` property value to be used for the spacer element. */\n this._totalContentHeight = '';\n /** The currently rendered range of indices. */\n this._renderedRange = { start: 0, end: 0 };\n /** The length of the data bound to this viewport (in number of items). */\n this._dataLength = 0;\n /** The size of the viewport (in pixels). */\n this._viewportSize = 0;\n /** The last rendered content offset that was set. */\n this._renderedContentOffset = 0;\n /**\n * Whether the last rendered content offset was to the end of the content (and therefore needs to\n * be rewritten as an offset to the start of the content).\n */\n this._renderedContentOffsetNeedsRewrite = false;\n /** Whether there is a pending change detection cycle. */\n this._isChangeDetectionPending = false;\n /** A list of functions to run after the next change detection cycle. */\n this._runAfterChangeDetection = [];\n /** Subscription to changes in the viewport size. */\n this._viewportChanges = Subscription.EMPTY;\n if (!_scrollStrategy && (typeof ngDevMode === 'undefined' || ngDevMode)) {\n throw Error('Error: cdk-virtual-scroll-viewport requires the \"itemSize\" property to be set.');\n }\n this._viewportChanges = viewportRuler.change().subscribe(() => {\n this.checkViewportSize();\n });\n }\n /** The direction the viewport scrolls. */\n get orientation() {\n return this._orientation;\n }\n set orientation(orientation) {\n if (this._orientation !== orientation) {\n this._orientation = orientation;\n this._calculateSpacerSize();\n }\n }\n /**\n * Whether rendered items should persist in the DOM after scrolling out of view. By default, items\n * will be removed.\n */\n get appendOnly() {\n return this._appendOnly;\n }\n set appendOnly(value) {\n this._appendOnly = coerceBooleanProperty(value);\n }\n ngOnInit() {\n super.ngOnInit();\n // It's still too early to measure the viewport at this point. Deferring with a promise allows\n // the Viewport to be rendered with the correct size before we measure. We run this outside the\n // zone to avoid causing more change detection cycles. We handle the change detection loop\n // ourselves instead.\n this.ngZone.runOutsideAngular(() => Promise.resolve().then(() => {\n this._measureViewportSize();\n this._scrollStrategy.attach(this);\n this.elementScrolled()\n .pipe(\n // Start off with a fake scroll event so we properly detect our initial position.\n startWith(null), \n // Collect multiple events into one until the next animation frame. This way if\n // there are multiple scroll events in the same frame we only need to recheck\n // our layout once.\n auditTime(0, SCROLL_SCHEDULER))\n .subscribe(() => this._scrollStrategy.onContentScrolled());\n this._markChangeDetectionNeeded();\n }));\n }\n ngOnDestroy() {\n this.detach();\n this._scrollStrategy.detach();\n // Complete all subjects\n this._renderedRangeSubject.complete();\n this._detachedSubject.complete();\n this._viewportChanges.unsubscribe();\n super.ngOnDestroy();\n }\n /** Attaches a `CdkVirtualScrollRepeater` to this viewport. */\n attach(forOf) {\n if (this._forOf && (typeof ngDevMode === 'undefined' || ngDevMode)) {\n throw Error('CdkVirtualScrollViewport is already attached.');\n }\n // Subscribe to the data stream of the CdkVirtualForOf to keep track of when the data length\n // changes. Run outside the zone to avoid triggering change detection, since we're managing the\n // change detection loop ourselves.\n this.ngZone.runOutsideAngular(() => {\n this._forOf = forOf;\n this._forOf.dataStream.pipe(takeUntil(this._detachedSubject)).subscribe(data => {\n const newLength = data.length;\n if (newLength !== this._dataLength) {\n this._dataLength = newLength;\n this._scrollStrategy.onDataLengthChanged();\n }\n this._doChangeDetection();\n });\n });\n }\n /** Detaches the current `CdkVirtualForOf`. */\n detach() {\n this._forOf = null;\n this._detachedSubject.next();\n }\n /** Gets the length of the data bound to this viewport (in number of items). */\n getDataLength() {\n return this._dataLength;\n }\n /** Gets the size of the viewport (in pixels). */\n getViewportSize() {\n return this._viewportSize;\n }\n // TODO(mmalerba): This is technically out of sync with what's really rendered until a render\n // cycle happens. I'm being careful to only call it after the render cycle is complete and before\n // setting it to something else, but its error prone and should probably be split into\n // `pendingRange` and `renderedRange`, the latter reflecting whats actually in the DOM.\n /** Get the current rendered range of items. */\n getRenderedRange() {\n return this._renderedRange;\n }\n /**\n * Sets the total size of all content (in pixels), including content that is not currently\n * rendered.\n */\n setTotalContentSize(size) {\n if (this._totalContentSize !== size) {\n this._totalContentSize = size;\n this._calculateSpacerSize();\n this._markChangeDetectionNeeded();\n }\n }\n /** Sets the currently rendered range of indices. */\n setRenderedRange(range) {\n if (!rangesEqual(this._renderedRange, range)) {\n if (this.appendOnly) {\n range = { start: 0, end: Math.max(this._renderedRange.end, range.end) };\n }\n this._renderedRangeSubject.next((this._renderedRange = range));\n this._markChangeDetectionNeeded(() => this._scrollStrategy.onContentRendered());\n }\n }\n /**\n * Gets the offset from the start of the viewport to the start of the rendered data (in pixels).\n */\n getOffsetToRenderedContentStart() {\n return this._renderedContentOffsetNeedsRewrite ? null : this._renderedContentOffset;\n }\n /**\n * Sets the offset from the start of the viewport to either the start or end of the rendered data\n * (in pixels).\n */\n setRenderedContentOffset(offset, to = 'to-start') {\n // For a horizontal viewport in a right-to-left language we need to translate along the x-axis\n // in the negative direction.\n const isRtl = this.dir && this.dir.value == 'rtl';\n const isHorizontal = this.orientation == 'horizontal';\n const axis = isHorizontal ? 'X' : 'Y';\n const axisDirection = isHorizontal && isRtl ? -1 : 1;\n let transform = `translate${axis}(${Number(axisDirection * offset)}px)`;\n this._renderedContentOffset = offset;\n if (to === 'to-end') {\n transform += ` translate${axis}(-100%)`;\n // The viewport should rewrite this as a `to-start` offset on the next render cycle. Otherwise\n // elements will appear to expand in the wrong direction (e.g. `mat-expansion-panel` would\n // expand upward).\n this._renderedContentOffsetNeedsRewrite = true;\n }\n if (this._renderedContentTransform != transform) {\n // We know this value is safe because we parse `offset` with `Number()` before passing it\n // into the string.\n this._renderedContentTransform = transform;\n this._markChangeDetectionNeeded(() => {\n if (this._renderedContentOffsetNeedsRewrite) {\n this._renderedContentOffset -= this.measureRenderedContentSize();\n this._renderedContentOffsetNeedsRewrite = false;\n this.setRenderedContentOffset(this._renderedContentOffset);\n }\n else {\n this._scrollStrategy.onRenderedOffsetChanged();\n }\n });\n }\n }\n /**\n * Scrolls to the given offset from the start of the viewport. Please note that this is not always\n * the same as setting `scrollTop` or `scrollLeft`. In a horizontal viewport with right-to-left\n * direction, this would be the equivalent of setting a fictional `scrollRight` property.\n * @param offset The offset to scroll to.\n * @param behavior The ScrollBehavior to use when scrolling. Default is behavior is `auto`.\n */\n scrollToOffset(offset, behavior = 'auto') {\n const options = { behavior };\n if (this.orientation === 'horizontal') {\n options.start = offset;\n }\n else {\n options.top = offset;\n }\n this.scrollTo(options);\n }\n /**\n * Scrolls to the offset for the given index.\n * @param index The index of the element to scroll to.\n * @param behavior The ScrollBehavior to use when scrolling. Default is behavior is `auto`.\n */\n scrollToIndex(index, behavior = 'auto') {\n this._scrollStrategy.scrollToIndex(index, behavior);\n }\n /**\n * Gets the current scroll offset from the start of the viewport (in pixels).\n * @param from The edge to measure the offset from. Defaults to 'top' in vertical mode and 'start'\n * in horizontal mode.\n */\n measureScrollOffset(from) {\n return from\n ? super.measureScrollOffset(from)\n : super.measureScrollOffset(this.orientation === 'horizontal' ? 'start' : 'top');\n }\n /** Measure the combined size of all of the rendered items. */\n measureRenderedContentSize() {\n const contentEl = this._contentWrapper.nativeElement;\n return this.orientation === 'horizontal' ? contentEl.offsetWidth : contentEl.offsetHeight;\n }\n /**\n * Measure the total combined size of the given range. Throws if the range includes items that are\n * not rendered.\n */\n measureRangeSize(range) {\n if (!this._forOf) {\n return 0;\n }\n return this._forOf.measureRangeSize(range, this.orientation);\n }\n /** Update the viewport dimensions and re-render. */\n checkViewportSize() {\n // TODO: Cleanup later when add logic for handling content resize\n this._measureViewportSize();\n this._scrollStrategy.onDataLengthChanged();\n }\n /** Measure the viewport size. */\n _measureViewportSize() {\n const viewportEl = this.elementRef.nativeElement;\n this._viewportSize =\n this.orientation === 'horizontal' ? viewportEl.clientWidth : viewportEl.clientHeight;\n }\n /** Queue up change detection to run. */\n _markChangeDetectionNeeded(runAfter) {\n if (runAfter) {\n this._runAfterChangeDetection.push(runAfter);\n }\n // Use a Promise to batch together calls to `_doChangeDetection`. This way if we set a bunch of\n // properties sequentially we only have to run `_doChangeDetection` once at the end.\n if (!this._isChangeDetectionPending) {\n this._isChangeDetectionPending = true;\n this.ngZone.runOutsideAngular(() => Promise.resolve().then(() => {\n this._doChangeDetection();\n }));\n }\n }\n /** Run change detection. */\n _doChangeDetection() {\n this._isChangeDetectionPending = false;\n // Apply the content transform. The transform can't be set via an Angular binding because\n // bypassSecurityTrustStyle is banned in Google. However the value is safe, it's composed of\n // string literals, a variable that can only be 'X' or 'Y', and user input that is run through\n // the `Number` function first to coerce it to a numeric value.\n this._contentWrapper.nativeElement.style.transform = this._renderedContentTransform;\n // Apply changes to Angular bindings. Note: We must call `markForCheck` to run change detection\n // from the root, since the repeated items are content projected in. Calling `detectChanges`\n // instead does not properly check the projected content.\n this.ngZone.run(() => this._changeDetectorRef.markForCheck());\n const runAfterChangeDetection = this._runAfterChangeDetection;\n this._runAfterChangeDetection = [];\n for (const fn of runAfterChangeDetection) {\n fn();\n }\n }\n /** Calculates the `style.width` and `style.height` for the spacer element. */\n _calculateSpacerSize() {\n this._totalContentHeight =\n this.orientation === 'horizontal' ? '' : `${this._totalContentSize}px`;\n this._totalContentWidth =\n this.orientation === 'horizontal' ? `${this._totalContentSize}px` : '';\n }\n}\nCdkVirtualScrollViewport.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"13.0.1\", ngImport: i0, type: CdkVirtualScrollViewport, deps: [{ token: i0.ElementRef }, { token: i0.ChangeDetectorRef }, { token: i0.NgZone }, { token: VIRTUAL_SCROLL_STRATEGY, optional: true }, { token: i2.Directionality, optional: true }, { token: ScrollDispatcher }, { token: ViewportRuler }], target: i0.ɵɵFactoryTarget.Component });\nCdkVirtualScrollViewport.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"12.0.0\", version: \"13.0.1\", type: CdkVirtualScrollViewport, selector: \"cdk-virtual-scroll-viewport\", inputs: { orientation: \"orientation\", appendOnly: \"appendOnly\" }, outputs: { scrolledIndexChange: \"scrolledIndexChange\" }, host: { properties: { \"class.cdk-virtual-scroll-orientation-horizontal\": \"orientation === \\\"horizontal\\\"\", \"class.cdk-virtual-scroll-orientation-vertical\": \"orientation !== \\\"horizontal\\\"\" }, classAttribute: \"cdk-virtual-scroll-viewport\" }, providers: [\n {\n provide: CdkScrollable,\n useExisting: CdkVirtualScrollViewport,\n },\n ], viewQueries: [{ propertyName: \"_contentWrapper\", first: true, predicate: [\"contentWrapper\"], descendants: true, static: true }], usesInheritance: true, ngImport: i0, template: \"\\n
\\n \\n
\\n\\n
\\n\", styles: [\"cdk-virtual-scroll-viewport{display:block;position:relative;overflow:auto;contain:strict;transform:translateZ(0);will-change:scroll-position;-webkit-overflow-scrolling:touch}.cdk-virtual-scroll-content-wrapper{position:absolute;top:0;left:0;contain:content}[dir=rtl] .cdk-virtual-scroll-content-wrapper{right:0;left:auto}.cdk-virtual-scroll-orientation-horizontal .cdk-virtual-scroll-content-wrapper{min-height:100%}.cdk-virtual-scroll-orientation-horizontal .cdk-virtual-scroll-content-wrapper>dl:not([cdkVirtualFor]),.cdk-virtual-scroll-orientation-horizontal .cdk-virtual-scroll-content-wrapper>ol:not([cdkVirtualFor]),.cdk-virtual-scroll-orientation-horizontal .cdk-virtual-scroll-content-wrapper>table:not([cdkVirtualFor]),.cdk-virtual-scroll-orientation-horizontal .cdk-virtual-scroll-content-wrapper>ul:not([cdkVirtualFor]){padding-left:0;padding-right:0;margin-left:0;margin-right:0;border-left-width:0;border-right-width:0;outline:none}.cdk-virtual-scroll-orientation-vertical .cdk-virtual-scroll-content-wrapper{min-width:100%}.cdk-virtual-scroll-orientation-vertical .cdk-virtual-scroll-content-wrapper>dl:not([cdkVirtualFor]),.cdk-virtual-scroll-orientation-vertical .cdk-virtual-scroll-content-wrapper>ol:not([cdkVirtualFor]),.cdk-virtual-scroll-orientation-vertical .cdk-virtual-scroll-content-wrapper>table:not([cdkVirtualFor]),.cdk-virtual-scroll-orientation-vertical .cdk-virtual-scroll-content-wrapper>ul:not([cdkVirtualFor]){padding-top:0;padding-bottom:0;margin-top:0;margin-bottom:0;border-top-width:0;border-bottom-width:0;outline:none}.cdk-virtual-scroll-spacer{position:absolute;top:0;left:0;height:1px;width:1px;transform-origin:0 0}[dir=rtl] .cdk-virtual-scroll-spacer{right:0;left:auto;transform-origin:100% 0}\\n\"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"13.0.1\", ngImport: i0, type: CdkVirtualScrollViewport, decorators: [{\n type: Component,\n args: [{ selector: 'cdk-virtual-scroll-viewport', host: {\n 'class': 'cdk-virtual-scroll-viewport',\n '[class.cdk-virtual-scroll-orientation-horizontal]': 'orientation === \"horizontal\"',\n '[class.cdk-virtual-scroll-orientation-vertical]': 'orientation !== \"horizontal\"',\n }, encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, providers: [\n {\n provide: CdkScrollable,\n useExisting: CdkVirtualScrollViewport,\n },\n ], template: \"\\n
\\n \\n
\\n\\n
\\n\", styles: [\"cdk-virtual-scroll-viewport{display:block;position:relative;overflow:auto;contain:strict;transform:translateZ(0);will-change:scroll-position;-webkit-overflow-scrolling:touch}.cdk-virtual-scroll-content-wrapper{position:absolute;top:0;left:0;contain:content}[dir=rtl] .cdk-virtual-scroll-content-wrapper{right:0;left:auto}.cdk-virtual-scroll-orientation-horizontal .cdk-virtual-scroll-content-wrapper{min-height:100%}.cdk-virtual-scroll-orientation-horizontal .cdk-virtual-scroll-content-wrapper>dl:not([cdkVirtualFor]),.cdk-virtual-scroll-orientation-horizontal .cdk-virtual-scroll-content-wrapper>ol:not([cdkVirtualFor]),.cdk-virtual-scroll-orientation-horizontal .cdk-virtual-scroll-content-wrapper>table:not([cdkVirtualFor]),.cdk-virtual-scroll-orientation-horizontal .cdk-virtual-scroll-content-wrapper>ul:not([cdkVirtualFor]){padding-left:0;padding-right:0;margin-left:0;margin-right:0;border-left-width:0;border-right-width:0;outline:none}.cdk-virtual-scroll-orientation-vertical .cdk-virtual-scroll-content-wrapper{min-width:100%}.cdk-virtual-scroll-orientation-vertical .cdk-virtual-scroll-content-wrapper>dl:not([cdkVirtualFor]),.cdk-virtual-scroll-orientation-vertical .cdk-virtual-scroll-content-wrapper>ol:not([cdkVirtualFor]),.cdk-virtual-scroll-orientation-vertical .cdk-virtual-scroll-content-wrapper>table:not([cdkVirtualFor]),.cdk-virtual-scroll-orientation-vertical .cdk-virtual-scroll-content-wrapper>ul:not([cdkVirtualFor]){padding-top:0;padding-bottom:0;margin-top:0;margin-bottom:0;border-top-width:0;border-bottom-width:0;outline:none}.cdk-virtual-scroll-spacer{position:absolute;top:0;left:0;height:1px;width:1px;transform-origin:0 0}[dir=rtl] .cdk-virtual-scroll-spacer{right:0;left:auto;transform-origin:100% 0}\\n\"] }]\n }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.ChangeDetectorRef }, { type: i0.NgZone }, { type: undefined, decorators: [{\n type: Optional\n }, {\n type: Inject,\n args: [VIRTUAL_SCROLL_STRATEGY]\n }] }, { type: i2.Directionality, decorators: [{\n type: Optional\n }] }, { type: ScrollDispatcher }, { type: ViewportRuler }]; }, propDecorators: { orientation: [{\n type: Input\n }], appendOnly: [{\n type: Input\n }], scrolledIndexChange: [{\n type: Output\n }], _contentWrapper: [{\n type: ViewChild,\n args: ['contentWrapper', { static: true }]\n }] } });\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/** Helper to extract the offset of a DOM Node in a certain direction. */\nfunction getOffset(orientation, direction, node) {\n const el = node;\n if (!el.getBoundingClientRect) {\n return 0;\n }\n const rect = el.getBoundingClientRect();\n if (orientation === 'horizontal') {\n return direction === 'start' ? rect.left : rect.right;\n }\n return direction === 'start' ? rect.top : rect.bottom;\n}\n/**\n * A directive similar to `ngForOf` to be used for rendering data inside a virtual scrolling\n * container.\n */\nclass CdkVirtualForOf {\n constructor(\n /** The view container to add items to. */\n _viewContainerRef, \n /** The template to use when stamping out new items. */\n _template, \n /** The set of available differs. */\n _differs, \n /** The strategy used to render items in the virtual scroll viewport. */\n _viewRepeater, \n /** The virtual scrolling viewport that these items are being rendered in. */\n _viewport, ngZone) {\n this._viewContainerRef = _viewContainerRef;\n this._template = _template;\n this._differs = _differs;\n this._viewRepeater = _viewRepeater;\n this._viewport = _viewport;\n /** Emits when the rendered view of the data changes. */\n this.viewChange = new Subject();\n /** Subject that emits when a new DataSource instance is given. */\n this._dataSourceChanges = new Subject();\n /** Emits whenever the data in the current DataSource changes. */\n this.dataStream = this._dataSourceChanges.pipe(\n // Start off with null `DataSource`.\n startWith(null), \n // Bundle up the previous and current data sources so we can work with both.\n pairwise(), \n // Use `_changeDataSource` to disconnect from the previous data source and connect to the\n // new one, passing back a stream of data changes which we run through `switchMap` to give\n // us a data stream that emits the latest data from whatever the current `DataSource` is.\n switchMap(([prev, cur]) => this._changeDataSource(prev, cur)), \n // Replay the last emitted data when someone subscribes.\n shareReplay(1));\n /** The differ used to calculate changes to the data. */\n this._differ = null;\n /** Whether the rendered data should be updated during the next ngDoCheck cycle. */\n this._needsUpdate = false;\n this._destroyed = new Subject();\n this.dataStream.subscribe(data => {\n this._data = data;\n this._onRenderedDataChange();\n });\n this._viewport.renderedRangeStream.pipe(takeUntil(this._destroyed)).subscribe(range => {\n this._renderedRange = range;\n ngZone.run(() => this.viewChange.next(this._renderedRange));\n this._onRenderedDataChange();\n });\n this._viewport.attach(this);\n }\n /** The DataSource to display. */\n get cdkVirtualForOf() {\n return this._cdkVirtualForOf;\n }\n set cdkVirtualForOf(value) {\n this._cdkVirtualForOf = value;\n if (isDataSource(value)) {\n this._dataSourceChanges.next(value);\n }\n else {\n // If value is an an NgIterable, convert it to an array.\n this._dataSourceChanges.next(new ArrayDataSource(isObservable(value) ? value : Array.from(value || [])));\n }\n }\n /**\n * The `TrackByFunction` to use for tracking changes. The `TrackByFunction` takes the index and\n * the item and produces a value to be used as the item's identity when tracking changes.\n */\n get cdkVirtualForTrackBy() {\n return this._cdkVirtualForTrackBy;\n }\n set cdkVirtualForTrackBy(fn) {\n this._needsUpdate = true;\n this._cdkVirtualForTrackBy = fn\n ? (index, item) => fn(index + (this._renderedRange ? this._renderedRange.start : 0), item)\n : undefined;\n }\n /** The template used to stamp out new elements. */\n set cdkVirtualForTemplate(value) {\n if (value) {\n this._needsUpdate = true;\n this._template = value;\n }\n }\n /**\n * The size of the cache used to store templates that are not being used for re-use later.\n * Setting the cache size to `0` will disable caching. Defaults to 20 templates.\n */\n get cdkVirtualForTemplateCacheSize() {\n return this._viewRepeater.viewCacheSize;\n }\n set cdkVirtualForTemplateCacheSize(size) {\n this._viewRepeater.viewCacheSize = coerceNumberProperty(size);\n }\n /**\n * Measures the combined size (width for horizontal orientation, height for vertical) of all items\n * in the specified range. Throws an error if the range includes items that are not currently\n * rendered.\n */\n measureRangeSize(range, orientation) {\n if (range.start >= range.end) {\n return 0;\n }\n if ((range.start < this._renderedRange.start || range.end > this._renderedRange.end) &&\n (typeof ngDevMode === 'undefined' || ngDevMode)) {\n throw Error(`Error: attempted to measure an item that isn't rendered.`);\n }\n // The index into the list of rendered views for the first item in the range.\n const renderedStartIndex = range.start - this._renderedRange.start;\n // The length of the range we're measuring.\n const rangeLen = range.end - range.start;\n // Loop over all the views, find the first and land node and compute the size by subtracting\n // the top of the first node from the bottom of the last one.\n let firstNode;\n let lastNode;\n // Find the first node by starting from the beginning and going forwards.\n for (let i = 0; i < rangeLen; i++) {\n const view = this._viewContainerRef.get(i + renderedStartIndex);\n if (view && view.rootNodes.length) {\n firstNode = lastNode = view.rootNodes[0];\n break;\n }\n }\n // Find the last node by starting from the end and going backwards.\n for (let i = rangeLen - 1; i > -1; i--) {\n const view = this._viewContainerRef.get(i + renderedStartIndex);\n if (view && view.rootNodes.length) {\n lastNode = view.rootNodes[view.rootNodes.length - 1];\n break;\n }\n }\n return firstNode && lastNode\n ? getOffset(orientation, 'end', lastNode) - getOffset(orientation, 'start', firstNode)\n : 0;\n }\n ngDoCheck() {\n if (this._differ && this._needsUpdate) {\n // TODO(mmalerba): We should differentiate needs update due to scrolling and a new portion of\n // this list being rendered (can use simpler algorithm) vs needs update due to data actually\n // changing (need to do this diff).\n const changes = this._differ.diff(this._renderedItems);\n if (!changes) {\n this._updateContext();\n }\n else {\n this._applyChanges(changes);\n }\n this._needsUpdate = false;\n }\n }\n ngOnDestroy() {\n this._viewport.detach();\n this._dataSourceChanges.next(undefined);\n this._dataSourceChanges.complete();\n this.viewChange.complete();\n this._destroyed.next();\n this._destroyed.complete();\n this._viewRepeater.detach();\n }\n /** React to scroll state changes in the viewport. */\n _onRenderedDataChange() {\n if (!this._renderedRange) {\n return;\n }\n this._renderedItems = this._data.slice(this._renderedRange.start, this._renderedRange.end);\n if (!this._differ) {\n // Use a wrapper function for the `trackBy` so any new values are\n // picked up automatically without having to recreate the differ.\n this._differ = this._differs.find(this._renderedItems).create((index, item) => {\n return this.cdkVirtualForTrackBy ? this.cdkVirtualForTrackBy(index, item) : item;\n });\n }\n this._needsUpdate = true;\n }\n /** Swap out one `DataSource` for another. */\n _changeDataSource(oldDs, newDs) {\n if (oldDs) {\n oldDs.disconnect(this);\n }\n this._needsUpdate = true;\n return newDs ? newDs.connect(this) : of();\n }\n /** Update the `CdkVirtualForOfContext` for all views. */\n _updateContext() {\n const count = this._data.length;\n let i = this._viewContainerRef.length;\n while (i--) {\n const view = this._viewContainerRef.get(i);\n view.context.index = this._renderedRange.start + i;\n view.context.count = count;\n this._updateComputedContextProperties(view.context);\n view.detectChanges();\n }\n }\n /** Apply changes to the DOM. */\n _applyChanges(changes) {\n this._viewRepeater.applyChanges(changes, this._viewContainerRef, (record, _adjustedPreviousIndex, currentIndex) => this._getEmbeddedViewArgs(record, currentIndex), record => record.item);\n // Update $implicit for any items that had an identity change.\n changes.forEachIdentityChange((record) => {\n const view = this._viewContainerRef.get(record.currentIndex);\n view.context.$implicit = record.item;\n });\n // Update the context variables on all items.\n const count = this._data.length;\n let i = this._viewContainerRef.length;\n while (i--) {\n const view = this._viewContainerRef.get(i);\n view.context.index = this._renderedRange.start + i;\n view.context.count = count;\n this._updateComputedContextProperties(view.context);\n }\n }\n /** Update the computed properties on the `CdkVirtualForOfContext`. */\n _updateComputedContextProperties(context) {\n context.first = context.index === 0;\n context.last = context.index === context.count - 1;\n context.even = context.index % 2 === 0;\n context.odd = !context.even;\n }\n _getEmbeddedViewArgs(record, index) {\n // Note that it's important that we insert the item directly at the proper index,\n // rather than inserting it and the moving it in place, because if there's a directive\n // on the same node that injects the `ViewContainerRef`, Angular will insert another\n // comment node which can throw off the move when it's being repeated for all items.\n return {\n templateRef: this._template,\n context: {\n $implicit: record.item,\n // It's guaranteed that the iterable is not \"undefined\" or \"null\" because we only\n // generate views for elements if the \"cdkVirtualForOf\" iterable has elements.\n cdkVirtualForOf: this._cdkVirtualForOf,\n index: -1,\n count: -1,\n first: false,\n last: false,\n odd: false,\n even: false,\n },\n index,\n };\n }\n}\nCdkVirtualForOf.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"13.0.1\", ngImport: i0, type: CdkVirtualForOf, deps: [{ token: i0.ViewContainerRef }, { token: i0.TemplateRef }, { token: i0.IterableDiffers }, { token: _VIEW_REPEATER_STRATEGY }, { token: CdkVirtualScrollViewport, skipSelf: true }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Directive });\nCdkVirtualForOf.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"12.0.0\", version: \"13.0.1\", type: CdkVirtualForOf, selector: \"[cdkVirtualFor][cdkVirtualForOf]\", inputs: { cdkVirtualForOf: \"cdkVirtualForOf\", cdkVirtualForTrackBy: \"cdkVirtualForTrackBy\", cdkVirtualForTemplate: \"cdkVirtualForTemplate\", cdkVirtualForTemplateCacheSize: \"cdkVirtualForTemplateCacheSize\" }, providers: [{ provide: _VIEW_REPEATER_STRATEGY, useClass: _RecycleViewRepeaterStrategy }], ngImport: i0 });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"13.0.1\", ngImport: i0, type: CdkVirtualForOf, decorators: [{\n type: Directive,\n args: [{\n selector: '[cdkVirtualFor][cdkVirtualForOf]',\n providers: [{ provide: _VIEW_REPEATER_STRATEGY, useClass: _RecycleViewRepeaterStrategy }],\n }]\n }], ctorParameters: function () { return [{ type: i0.ViewContainerRef }, { type: i0.TemplateRef }, { type: i0.IterableDiffers }, { type: i2$1._RecycleViewRepeaterStrategy, decorators: [{\n type: Inject,\n args: [_VIEW_REPEATER_STRATEGY]\n }] }, { type: CdkVirtualScrollViewport, decorators: [{\n type: SkipSelf\n }] }, { type: i0.NgZone }]; }, propDecorators: { cdkVirtualForOf: [{\n type: Input\n }], cdkVirtualForTrackBy: [{\n type: Input\n }], cdkVirtualForTemplate: [{\n type: Input\n }], cdkVirtualForTemplateCacheSize: [{\n type: Input\n }] } });\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nclass CdkScrollableModule {\n}\nCdkScrollableModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"13.0.1\", ngImport: i0, type: CdkScrollableModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });\nCdkScrollableModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: \"12.0.0\", version: \"13.0.1\", ngImport: i0, type: CdkScrollableModule, declarations: [CdkScrollable], exports: [CdkScrollable] });\nCdkScrollableModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: \"12.0.0\", version: \"13.0.1\", ngImport: i0, type: CdkScrollableModule });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"13.0.1\", ngImport: i0, type: CdkScrollableModule, decorators: [{\n type: NgModule,\n args: [{\n exports: [CdkScrollable],\n declarations: [CdkScrollable],\n }]\n }] });\n/**\n * @docs-primary-export\n */\nclass ScrollingModule {\n}\nScrollingModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"13.0.1\", ngImport: i0, type: ScrollingModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });\nScrollingModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: \"12.0.0\", version: \"13.0.1\", ngImport: i0, type: ScrollingModule, declarations: [CdkFixedSizeVirtualScroll, CdkVirtualForOf, CdkVirtualScrollViewport], imports: [BidiModule, PlatformModule, CdkScrollableModule], exports: [BidiModule, CdkScrollableModule, CdkFixedSizeVirtualScroll,\n CdkVirtualForOf,\n CdkVirtualScrollViewport] });\nScrollingModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: \"12.0.0\", version: \"13.0.1\", ngImport: i0, type: ScrollingModule, imports: [[BidiModule, PlatformModule, CdkScrollableModule], BidiModule, CdkScrollableModule] });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"13.0.1\", ngImport: i0, type: ScrollingModule, decorators: [{\n type: NgModule,\n args: [{\n imports: [BidiModule, PlatformModule, CdkScrollableModule],\n exports: [\n BidiModule,\n CdkScrollableModule,\n CdkFixedSizeVirtualScroll,\n CdkVirtualForOf,\n CdkVirtualScrollViewport,\n ],\n declarations: [CdkFixedSizeVirtualScroll, CdkVirtualForOf, CdkVirtualScrollViewport],\n }]\n }] });\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\n/**\n * Generated bundle index. Do not edit.\n */\n\nexport { CdkFixedSizeVirtualScroll, CdkScrollable, CdkScrollableModule, CdkVirtualForOf, CdkVirtualScrollViewport, DEFAULT_RESIZE_TIME, DEFAULT_SCROLL_TIME, FixedSizeVirtualScrollStrategy, ScrollDispatcher, ScrollingModule, VIRTUAL_SCROLL_STRATEGY, ViewportRuler, _fixedSizeVirtualScrollStrategyFactory };\n","/**\n * @license Angular v13.0.2\n * (c) 2010-2021 Google LLC. https://angular.io/\n * License: MIT\n */\n\nimport * as i0 from '@angular/core';\nimport { InjectionToken, Injectable, ɵɵinject, Inject, Optional, EventEmitter, ɵfindLocaleData, ɵLocaleDataIndex, ɵgetLocaleCurrencyCode, ɵgetLocalePluralCase, LOCALE_ID, ɵregisterLocaleData, ɵisListLikeIterable, ɵstringify, Directive, Input, NgModuleRef, ComponentFactoryResolver, Host, ɵRuntimeError, Attribute, ɵisPromise, ɵisSubscribable, Pipe, DEFAULT_CURRENCY_CODE, NgModule, Version, ɵɵdefineInjectable } from '@angular/core';\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nlet _DOM = null;\nfunction getDOM() {\n return _DOM;\n}\nfunction setDOM(adapter) {\n _DOM = adapter;\n}\nfunction setRootDomAdapter(adapter) {\n if (!_DOM) {\n _DOM = adapter;\n }\n}\n/* tslint:disable:requireParameterType */\n/**\n * Provides DOM operations in an environment-agnostic way.\n *\n * @security Tread carefully! Interacting with the DOM directly is dangerous and\n * can introduce XSS risks.\n */\nclass DomAdapter {\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * A DI Token representing the main rendering context. In a browser this is the DOM Document.\n *\n * Note: Document might not be available in the Application Context when Application and Rendering\n * Contexts are not the same (e.g. when running the application in a Web Worker).\n *\n * @publicApi\n */\nconst DOCUMENT = new InjectionToken('DocumentToken');\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * This class should not be used directly by an application developer. Instead, use\n * {@link Location}.\n *\n * `PlatformLocation` encapsulates all calls to DOM APIs, which allows the Router to be\n * platform-agnostic.\n * This means that we can have different implementation of `PlatformLocation` for the different\n * platforms that Angular supports. For example, `@angular/platform-browser` provides an\n * implementation specific to the browser environment, while `@angular/platform-server` provides\n * one suitable for use with server-side rendering.\n *\n * The `PlatformLocation` class is used directly by all implementations of {@link LocationStrategy}\n * when they need to interact with the DOM APIs like pushState, popState, etc.\n *\n * {@link LocationStrategy} in turn is used by the {@link Location} service which is used directly\n * by the {@link Router} in order to navigate between routes. Since all interactions between {@link\n * Router} /\n * {@link Location} / {@link LocationStrategy} and DOM APIs flow through the `PlatformLocation`\n * class, they are all platform-agnostic.\n *\n * @publicApi\n */\nclass PlatformLocation {\n historyGo(relativePosition) {\n throw new Error('Not implemented');\n }\n}\nPlatformLocation.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"13.0.2\", ngImport: i0, type: PlatformLocation, deps: [], target: i0.ɵɵFactoryTarget.Injectable });\nPlatformLocation.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"13.0.2\", ngImport: i0, type: PlatformLocation, providedIn: 'platform', useFactory: useBrowserPlatformLocation });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"13.0.2\", ngImport: i0, type: PlatformLocation, decorators: [{\n type: Injectable,\n args: [{\n providedIn: 'platform',\n // See #23917\n useFactory: useBrowserPlatformLocation\n }]\n }] });\nfunction useBrowserPlatformLocation() {\n return ɵɵinject(BrowserPlatformLocation);\n}\n/**\n * @description\n * Indicates when a location is initialized.\n *\n * @publicApi\n */\nconst LOCATION_INITIALIZED = new InjectionToken('Location Initialized');\n/**\n * `PlatformLocation` encapsulates all of the direct calls to platform APIs.\n * This class should not be used directly by an application developer. Instead, use\n * {@link Location}.\n */\nclass BrowserPlatformLocation extends PlatformLocation {\n constructor(_doc) {\n super();\n this._doc = _doc;\n this._init();\n }\n // This is moved to its own method so that `MockPlatformLocationStrategy` can overwrite it\n /** @internal */\n _init() {\n this.location = window.location;\n this._history = window.history;\n }\n getBaseHrefFromDOM() {\n return getDOM().getBaseHref(this._doc);\n }\n onPopState(fn) {\n const window = getDOM().getGlobalEventTarget(this._doc, 'window');\n window.addEventListener('popstate', fn, false);\n return () => window.removeEventListener('popstate', fn);\n }\n onHashChange(fn) {\n const window = getDOM().getGlobalEventTarget(this._doc, 'window');\n window.addEventListener('hashchange', fn, false);\n return () => window.removeEventListener('hashchange', fn);\n }\n get href() {\n return this.location.href;\n }\n get protocol() {\n return this.location.protocol;\n }\n get hostname() {\n return this.location.hostname;\n }\n get port() {\n return this.location.port;\n }\n get pathname() {\n return this.location.pathname;\n }\n get search() {\n return this.location.search;\n }\n get hash() {\n return this.location.hash;\n }\n set pathname(newPath) {\n this.location.pathname = newPath;\n }\n pushState(state, title, url) {\n if (supportsState()) {\n this._history.pushState(state, title, url);\n }\n else {\n this.location.hash = url;\n }\n }\n replaceState(state, title, url) {\n if (supportsState()) {\n this._history.replaceState(state, title, url);\n }\n else {\n this.location.hash = url;\n }\n }\n forward() {\n this._history.forward();\n }\n back() {\n this._history.back();\n }\n historyGo(relativePosition = 0) {\n this._history.go(relativePosition);\n }\n getState() {\n return this._history.state;\n }\n}\nBrowserPlatformLocation.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"13.0.2\", ngImport: i0, type: BrowserPlatformLocation, deps: [{ token: DOCUMENT }], target: i0.ɵɵFactoryTarget.Injectable });\nBrowserPlatformLocation.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"13.0.2\", ngImport: i0, type: BrowserPlatformLocation, providedIn: 'platform', useFactory: createBrowserPlatformLocation });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"13.0.2\", ngImport: i0, type: BrowserPlatformLocation, decorators: [{\n type: Injectable,\n args: [{\n providedIn: 'platform',\n // See #23917\n useFactory: createBrowserPlatformLocation,\n }]\n }], ctorParameters: function () { return [{ type: undefined, decorators: [{\n type: Inject,\n args: [DOCUMENT]\n }] }]; } });\nfunction supportsState() {\n return !!window.history.pushState;\n}\nfunction createBrowserPlatformLocation() {\n return new BrowserPlatformLocation(ɵɵinject(DOCUMENT));\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * Joins two parts of a URL with a slash if needed.\n *\n * @param start URL string\n * @param end URL string\n *\n *\n * @returns The joined URL string.\n */\nfunction joinWithSlash(start, end) {\n if (start.length == 0) {\n return end;\n }\n if (end.length == 0) {\n return start;\n }\n let slashes = 0;\n if (start.endsWith('/')) {\n slashes++;\n }\n if (end.startsWith('/')) {\n slashes++;\n }\n if (slashes == 2) {\n return start + end.substring(1);\n }\n if (slashes == 1) {\n return start + end;\n }\n return start + '/' + end;\n}\n/**\n * Removes a trailing slash from a URL string if needed.\n * Looks for the first occurrence of either `#`, `?`, or the end of the\n * line as `/` characters and removes the trailing slash if one exists.\n *\n * @param url URL string.\n *\n * @returns The URL string, modified if needed.\n */\nfunction stripTrailingSlash(url) {\n const match = url.match(/#|\\?|$/);\n const pathEndIdx = match && match.index || url.length;\n const droppedSlashIdx = pathEndIdx - (url[pathEndIdx - 1] === '/' ? 1 : 0);\n return url.slice(0, droppedSlashIdx) + url.slice(pathEndIdx);\n}\n/**\n * Normalizes URL parameters by prepending with `?` if needed.\n *\n * @param params String of URL parameters.\n *\n * @returns The normalized URL parameters string.\n */\nfunction normalizeQueryParams(params) {\n return params && params[0] !== '?' ? '?' + params : params;\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * Enables the `Location` service to read route state from the browser's URL.\n * Angular provides two strategies:\n * `HashLocationStrategy` and `PathLocationStrategy`.\n *\n * Applications should use the `Router` or `Location` services to\n * interact with application route state.\n *\n * For instance, `HashLocationStrategy` produces URLs like\n * http://example.com#/foo,\n * and `PathLocationStrategy` produces\n * http://example.com/foo as an equivalent URL.\n *\n * See these two classes for more.\n *\n * @publicApi\n */\nclass LocationStrategy {\n historyGo(relativePosition) {\n throw new Error('Not implemented');\n }\n}\nLocationStrategy.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"13.0.2\", ngImport: i0, type: LocationStrategy, deps: [], target: i0.ɵɵFactoryTarget.Injectable });\nLocationStrategy.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"13.0.2\", ngImport: i0, type: LocationStrategy, providedIn: 'root', useFactory: provideLocationStrategy });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"13.0.2\", ngImport: i0, type: LocationStrategy, decorators: [{\n type: Injectable,\n args: [{ providedIn: 'root', useFactory: provideLocationStrategy }]\n }] });\nfunction provideLocationStrategy(platformLocation) {\n // See #23917\n const location = ɵɵinject(DOCUMENT).location;\n return new PathLocationStrategy(ɵɵinject(PlatformLocation), location && location.origin || '');\n}\n/**\n * A predefined [DI token](guide/glossary#di-token) for the base href\n * to be used with the `PathLocationStrategy`.\n * The base href is the URL prefix that should be preserved when generating\n * and recognizing URLs.\n *\n * @usageNotes\n *\n * The following example shows how to use this token to configure the root app injector\n * with a base href value, so that the DI framework can supply the dependency anywhere in the app.\n *\n * ```typescript\n * import {Component, NgModule} from '@angular/core';\n * import {APP_BASE_HREF} from '@angular/common';\n *\n * @NgModule({\n * providers: [{provide: APP_BASE_HREF, useValue: '/my/app'}]\n * })\n * class AppModule {}\n * ```\n *\n * @publicApi\n */\nconst APP_BASE_HREF = new InjectionToken('appBaseHref');\n/**\n * @description\n * A {@link LocationStrategy} used to configure the {@link Location} service to\n * represent its state in the\n * [path](https://en.wikipedia.org/wiki/Uniform_Resource_Locator#Syntax) of the\n * browser's URL.\n *\n * If you're using `PathLocationStrategy`, you must provide a {@link APP_BASE_HREF}\n * or add a `` element to the document.\n *\n * For instance, if you provide an `APP_BASE_HREF` of `'/my/app/'` and call\n * `location.go('/foo')`, the browser's URL will become\n * `example.com/my/app/foo`. To ensure all relative URIs resolve correctly,\n * the `` and/or `APP_BASE_HREF` should end with a `/`.\n *\n * Similarly, if you add `` to the document and call\n * `location.go('/foo')`, the browser's URL will become\n * `example.com/my/app/foo`.\n *\n * Note that when using `PathLocationStrategy`, neither the query nor\n * the fragment in the `` will be preserved, as outlined\n * by the [RFC](https://tools.ietf.org/html/rfc3986#section-5.2.2).\n *\n * @usageNotes\n *\n * ### Example\n *\n * {@example common/location/ts/path_location_component.ts region='LocationComponent'}\n *\n * @publicApi\n */\nclass PathLocationStrategy extends LocationStrategy {\n constructor(_platformLocation, href) {\n super();\n this._platformLocation = _platformLocation;\n this._removeListenerFns = [];\n if (href == null) {\n href = this._platformLocation.getBaseHrefFromDOM();\n }\n if (href == null) {\n throw new Error(`No base href set. Please provide a value for the APP_BASE_HREF token or add a base element to the document.`);\n }\n this._baseHref = href;\n }\n ngOnDestroy() {\n while (this._removeListenerFns.length) {\n this._removeListenerFns.pop()();\n }\n }\n onPopState(fn) {\n this._removeListenerFns.push(this._platformLocation.onPopState(fn), this._platformLocation.onHashChange(fn));\n }\n getBaseHref() {\n return this._baseHref;\n }\n prepareExternalUrl(internal) {\n return joinWithSlash(this._baseHref, internal);\n }\n path(includeHash = false) {\n const pathname = this._platformLocation.pathname + normalizeQueryParams(this._platformLocation.search);\n const hash = this._platformLocation.hash;\n return hash && includeHash ? `${pathname}${hash}` : pathname;\n }\n pushState(state, title, url, queryParams) {\n const externalUrl = this.prepareExternalUrl(url + normalizeQueryParams(queryParams));\n this._platformLocation.pushState(state, title, externalUrl);\n }\n replaceState(state, title, url, queryParams) {\n const externalUrl = this.prepareExternalUrl(url + normalizeQueryParams(queryParams));\n this._platformLocation.replaceState(state, title, externalUrl);\n }\n forward() {\n this._platformLocation.forward();\n }\n back() {\n this._platformLocation.back();\n }\n historyGo(relativePosition = 0) {\n this._platformLocation.historyGo?.(relativePosition);\n }\n}\nPathLocationStrategy.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"13.0.2\", ngImport: i0, type: PathLocationStrategy, deps: [{ token: PlatformLocation }, { token: APP_BASE_HREF, optional: true }], target: i0.ɵɵFactoryTarget.Injectable });\nPathLocationStrategy.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"13.0.2\", ngImport: i0, type: PathLocationStrategy });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"13.0.2\", ngImport: i0, type: PathLocationStrategy, decorators: [{\n type: Injectable\n }], ctorParameters: function () { return [{ type: PlatformLocation }, { type: undefined, decorators: [{\n type: Optional\n }, {\n type: Inject,\n args: [APP_BASE_HREF]\n }] }]; } });\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * @description\n * A {@link LocationStrategy} used to configure the {@link Location} service to\n * represent its state in the\n * [hash fragment](https://en.wikipedia.org/wiki/Uniform_Resource_Locator#Syntax)\n * of the browser's URL.\n *\n * For instance, if you call `location.go('/foo')`, the browser's URL will become\n * `example.com#/foo`.\n *\n * @usageNotes\n *\n * ### Example\n *\n * {@example common/location/ts/hash_location_component.ts region='LocationComponent'}\n *\n * @publicApi\n */\nclass HashLocationStrategy extends LocationStrategy {\n constructor(_platformLocation, _baseHref) {\n super();\n this._platformLocation = _platformLocation;\n this._baseHref = '';\n this._removeListenerFns = [];\n if (_baseHref != null) {\n this._baseHref = _baseHref;\n }\n }\n ngOnDestroy() {\n while (this._removeListenerFns.length) {\n this._removeListenerFns.pop()();\n }\n }\n onPopState(fn) {\n this._removeListenerFns.push(this._platformLocation.onPopState(fn), this._platformLocation.onHashChange(fn));\n }\n getBaseHref() {\n return this._baseHref;\n }\n path(includeHash = false) {\n // the hash value is always prefixed with a `#`\n // and if it is empty then it will stay empty\n let path = this._platformLocation.hash;\n if (path == null)\n path = '#';\n return path.length > 0 ? path.substring(1) : path;\n }\n prepareExternalUrl(internal) {\n const url = joinWithSlash(this._baseHref, internal);\n return url.length > 0 ? ('#' + url) : url;\n }\n pushState(state, title, path, queryParams) {\n let url = this.prepareExternalUrl(path + normalizeQueryParams(queryParams));\n if (url.length == 0) {\n url = this._platformLocation.pathname;\n }\n this._platformLocation.pushState(state, title, url);\n }\n replaceState(state, title, path, queryParams) {\n let url = this.prepareExternalUrl(path + normalizeQueryParams(queryParams));\n if (url.length == 0) {\n url = this._platformLocation.pathname;\n }\n this._platformLocation.replaceState(state, title, url);\n }\n forward() {\n this._platformLocation.forward();\n }\n back() {\n this._platformLocation.back();\n }\n historyGo(relativePosition = 0) {\n this._platformLocation.historyGo?.(relativePosition);\n }\n}\nHashLocationStrategy.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"13.0.2\", ngImport: i0, type: HashLocationStrategy, deps: [{ token: PlatformLocation }, { token: APP_BASE_HREF, optional: true }], target: i0.ɵɵFactoryTarget.Injectable });\nHashLocationStrategy.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"13.0.2\", ngImport: i0, type: HashLocationStrategy });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"13.0.2\", ngImport: i0, type: HashLocationStrategy, decorators: [{\n type: Injectable\n }], ctorParameters: function () { return [{ type: PlatformLocation }, { type: undefined, decorators: [{\n type: Optional\n }, {\n type: Inject,\n args: [APP_BASE_HREF]\n }] }]; } });\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * @description\n *\n * A service that applications can use to interact with a browser's URL.\n *\n * Depending on the `LocationStrategy` used, `Location` persists\n * to the URL's path or the URL's hash segment.\n *\n * @usageNotes\n *\n * It's better to use the `Router.navigate()` service to trigger route changes. Use\n * `Location` only if you need to interact with or create normalized URLs outside of\n * routing.\n *\n * `Location` is responsible for normalizing the URL against the application's base href.\n * A normalized URL is absolute from the URL host, includes the application's base href, and has no\n * trailing slash:\n * - `/my/app/user/123` is normalized\n * - `my/app/user/123` **is not** normalized\n * - `/my/app/user/123/` **is not** normalized\n *\n * ### Example\n *\n * \n *\n * @publicApi\n */\nclass Location {\n constructor(platformStrategy, platformLocation) {\n /** @internal */\n this._subject = new EventEmitter();\n /** @internal */\n this._urlChangeListeners = [];\n this._platformStrategy = platformStrategy;\n const browserBaseHref = this._platformStrategy.getBaseHref();\n this._platformLocation = platformLocation;\n this._baseHref = stripTrailingSlash(_stripIndexHtml(browserBaseHref));\n this._platformStrategy.onPopState((ev) => {\n this._subject.emit({\n 'url': this.path(true),\n 'pop': true,\n 'state': ev.state,\n 'type': ev.type,\n });\n });\n }\n /**\n * Normalizes the URL path for this location.\n *\n * @param includeHash True to include an anchor fragment in the path.\n *\n * @returns The normalized URL path.\n */\n // TODO: vsavkin. Remove the boolean flag and always include hash once the deprecated router is\n // removed.\n path(includeHash = false) {\n return this.normalize(this._platformStrategy.path(includeHash));\n }\n /**\n * Reports the current state of the location history.\n * @returns The current value of the `history.state` object.\n */\n getState() {\n return this._platformLocation.getState();\n }\n /**\n * Normalizes the given path and compares to the current normalized path.\n *\n * @param path The given URL path.\n * @param query Query parameters.\n *\n * @returns True if the given URL path is equal to the current normalized path, false\n * otherwise.\n */\n isCurrentPathEqualTo(path, query = '') {\n return this.path() == this.normalize(path + normalizeQueryParams(query));\n }\n /**\n * Normalizes a URL path by stripping any trailing slashes.\n *\n * @param url String representing a URL.\n *\n * @returns The normalized URL string.\n */\n normalize(url) {\n return Location.stripTrailingSlash(_stripBaseHref(this._baseHref, _stripIndexHtml(url)));\n }\n /**\n * Normalizes an external URL path.\n * If the given URL doesn't begin with a leading slash (`'/'`), adds one\n * before normalizing. Adds a hash if `HashLocationStrategy` is\n * in use, or the `APP_BASE_HREF` if the `PathLocationStrategy` is in use.\n *\n * @param url String representing a URL.\n *\n * @returns A normalized platform-specific URL.\n */\n prepareExternalUrl(url) {\n if (url && url[0] !== '/') {\n url = '/' + url;\n }\n return this._platformStrategy.prepareExternalUrl(url);\n }\n // TODO: rename this method to pushState\n /**\n * Changes the browser's URL to a normalized version of a given URL, and pushes a\n * new item onto the platform's history.\n *\n * @param path URL path to normalize.\n * @param query Query parameters.\n * @param state Location history state.\n *\n */\n go(path, query = '', state = null) {\n this._platformStrategy.pushState(state, '', path, query);\n this._notifyUrlChangeListeners(this.prepareExternalUrl(path + normalizeQueryParams(query)), state);\n }\n /**\n * Changes the browser's URL to a normalized version of the given URL, and replaces\n * the top item on the platform's history stack.\n *\n * @param path URL path to normalize.\n * @param query Query parameters.\n * @param state Location history state.\n */\n replaceState(path, query = '', state = null) {\n this._platformStrategy.replaceState(state, '', path, query);\n this._notifyUrlChangeListeners(this.prepareExternalUrl(path + normalizeQueryParams(query)), state);\n }\n /**\n * Navigates forward in the platform's history.\n */\n forward() {\n this._platformStrategy.forward();\n }\n /**\n * Navigates back in the platform's history.\n */\n back() {\n this._platformStrategy.back();\n }\n /**\n * Navigate to a specific page from session history, identified by its relative position to the\n * current page.\n *\n * @param relativePosition Position of the target page in the history relative to the current\n * page.\n * A negative value moves backwards, a positive value moves forwards, e.g. `location.historyGo(2)`\n * moves forward two pages and `location.historyGo(-2)` moves back two pages. When we try to go\n * beyond what's stored in the history session, we stay in the current page. Same behaviour occurs\n * when `relativePosition` equals 0.\n * @see https://developer.mozilla.org/en-US/docs/Web/API/History_API#Moving_to_a_specific_point_in_history\n */\n historyGo(relativePosition = 0) {\n this._platformStrategy.historyGo?.(relativePosition);\n }\n /**\n * Registers a URL change listener. Use to catch updates performed by the Angular\n * framework that are not detectible through \"popstate\" or \"hashchange\" events.\n *\n * @param fn The change handler function, which take a URL and a location history state.\n */\n onUrlChange(fn) {\n this._urlChangeListeners.push(fn);\n if (!this._urlChangeSubscription) {\n this._urlChangeSubscription = this.subscribe(v => {\n this._notifyUrlChangeListeners(v.url, v.state);\n });\n }\n }\n /** @internal */\n _notifyUrlChangeListeners(url = '', state) {\n this._urlChangeListeners.forEach(fn => fn(url, state));\n }\n /**\n * Subscribes to the platform's `popState` events.\n *\n * Note: `Location.go()` does not trigger the `popState` event in the browser. Use\n * `Location.onUrlChange()` to subscribe to URL changes instead.\n *\n * @param value Event that is triggered when the state history changes.\n * @param exception The exception to throw.\n *\n * @see [onpopstate](https://developer.mozilla.org/en-US/docs/Web/API/WindowEventHandlers/onpopstate)\n *\n * @returns Subscribed events.\n */\n subscribe(onNext, onThrow, onReturn) {\n return this._subject.subscribe({ next: onNext, error: onThrow, complete: onReturn });\n }\n}\n/**\n * Normalizes URL parameters by prepending with `?` if needed.\n *\n * @param params String of URL parameters.\n *\n * @returns The normalized URL parameters string.\n */\nLocation.normalizeQueryParams = normalizeQueryParams;\n/**\n * Joins two parts of a URL with a slash if needed.\n *\n * @param start URL string\n * @param end URL string\n *\n *\n * @returns The joined URL string.\n */\nLocation.joinWithSlash = joinWithSlash;\n/**\n * Removes a trailing slash from a URL string if needed.\n * Looks for the first occurrence of either `#`, `?`, or the end of the\n * line as `/` characters and removes the trailing slash if one exists.\n *\n * @param url URL string.\n *\n * @returns The URL string, modified if needed.\n */\nLocation.stripTrailingSlash = stripTrailingSlash;\nLocation.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"13.0.2\", ngImport: i0, type: Location, deps: [{ token: LocationStrategy }, { token: PlatformLocation }], target: i0.ɵɵFactoryTarget.Injectable });\nLocation.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"13.0.2\", ngImport: i0, type: Location, providedIn: 'root', useFactory: createLocation });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"13.0.2\", ngImport: i0, type: Location, decorators: [{\n type: Injectable,\n args: [{\n providedIn: 'root',\n // See #23917\n useFactory: createLocation,\n }]\n }], ctorParameters: function () { return [{ type: LocationStrategy }, { type: PlatformLocation }]; } });\nfunction createLocation() {\n return new Location(ɵɵinject(LocationStrategy), ɵɵinject(PlatformLocation));\n}\nfunction _stripBaseHref(baseHref, url) {\n return baseHref && url.startsWith(baseHref) ? url.substring(baseHref.length) : url;\n}\nfunction _stripIndexHtml(url) {\n return url.replace(/\\/index.html$/, '');\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/** @internal */\nconst CURRENCIES_EN = { \"ADP\": [undefined, undefined, 0], \"AFN\": [undefined, \"؋\", 0], \"ALL\": [undefined, undefined, 0], \"AMD\": [undefined, \"֏\", 2], \"AOA\": [undefined, \"Kz\"], \"ARS\": [undefined, \"$\"], \"AUD\": [\"A$\", \"$\"], \"AZN\": [undefined, \"₼\"], \"BAM\": [undefined, \"KM\"], \"BBD\": [undefined, \"$\"], \"BDT\": [undefined, \"৳\"], \"BHD\": [undefined, undefined, 3], \"BIF\": [undefined, undefined, 0], \"BMD\": [undefined, \"$\"], \"BND\": [undefined, \"$\"], \"BOB\": [undefined, \"Bs\"], \"BRL\": [\"R$\"], \"BSD\": [undefined, \"$\"], \"BWP\": [undefined, \"P\"], \"BYN\": [undefined, \"р.\", 2], \"BYR\": [undefined, undefined, 0], \"BZD\": [undefined, \"$\"], \"CAD\": [\"CA$\", \"$\", 2], \"CHF\": [undefined, undefined, 2], \"CLF\": [undefined, undefined, 4], \"CLP\": [undefined, \"$\", 0], \"CNY\": [\"CN¥\", \"¥\"], \"COP\": [undefined, \"$\", 2], \"CRC\": [undefined, \"₡\", 2], \"CUC\": [undefined, \"$\"], \"CUP\": [undefined, \"$\"], \"CZK\": [undefined, \"Kč\", 2], \"DJF\": [undefined, undefined, 0], \"DKK\": [undefined, \"kr\", 2], \"DOP\": [undefined, \"$\"], \"EGP\": [undefined, \"E£\"], \"ESP\": [undefined, \"₧\", 0], \"EUR\": [\"€\"], \"FJD\": [undefined, \"$\"], \"FKP\": [undefined, \"£\"], \"GBP\": [\"£\"], \"GEL\": [undefined, \"₾\"], \"GHS\": [undefined, \"GH₵\"], \"GIP\": [undefined, \"£\"], \"GNF\": [undefined, \"FG\", 0], \"GTQ\": [undefined, \"Q\"], \"GYD\": [undefined, \"$\", 2], \"HKD\": [\"HK$\", \"$\"], \"HNL\": [undefined, \"L\"], \"HRK\": [undefined, \"kn\"], \"HUF\": [undefined, \"Ft\", 2], \"IDR\": [undefined, \"Rp\", 2], \"ILS\": [\"₪\"], \"INR\": [\"₹\"], \"IQD\": [undefined, undefined, 0], \"IRR\": [undefined, undefined, 0], \"ISK\": [undefined, \"kr\", 0], \"ITL\": [undefined, undefined, 0], \"JMD\": [undefined, \"$\"], \"JOD\": [undefined, undefined, 3], \"JPY\": [\"¥\", undefined, 0], \"KHR\": [undefined, \"៛\"], \"KMF\": [undefined, \"CF\", 0], \"KPW\": [undefined, \"₩\", 0], \"KRW\": [\"₩\", undefined, 0], \"KWD\": [undefined, undefined, 3], \"KYD\": [undefined, \"$\"], \"KZT\": [undefined, \"₸\"], \"LAK\": [undefined, \"₭\", 0], \"LBP\": [undefined, \"L£\", 0], \"LKR\": [undefined, \"Rs\"], \"LRD\": [undefined, \"$\"], \"LTL\": [undefined, \"Lt\"], \"LUF\": [undefined, undefined, 0], \"LVL\": [undefined, \"Ls\"], \"LYD\": [undefined, undefined, 3], \"MGA\": [undefined, \"Ar\", 0], \"MGF\": [undefined, undefined, 0], \"MMK\": [undefined, \"K\", 0], \"MNT\": [undefined, \"₮\", 2], \"MRO\": [undefined, undefined, 0], \"MUR\": [undefined, \"Rs\", 2], \"MXN\": [\"MX$\", \"$\"], \"MYR\": [undefined, \"RM\"], \"NAD\": [undefined, \"$\"], \"NGN\": [undefined, \"₦\"], \"NIO\": [undefined, \"C$\"], \"NOK\": [undefined, \"kr\", 2], \"NPR\": [undefined, \"Rs\"], \"NZD\": [\"NZ$\", \"$\"], \"OMR\": [undefined, undefined, 3], \"PHP\": [\"₱\"], \"PKR\": [undefined, \"Rs\", 2], \"PLN\": [undefined, \"zł\"], \"PYG\": [undefined, \"₲\", 0], \"RON\": [undefined, \"lei\"], \"RSD\": [undefined, undefined, 0], \"RUB\": [undefined, \"₽\"], \"RUR\": [undefined, \"р.\"], \"RWF\": [undefined, \"RF\", 0], \"SBD\": [undefined, \"$\"], \"SEK\": [undefined, \"kr\", 2], \"SGD\": [undefined, \"$\"], \"SHP\": [undefined, \"£\"], \"SLL\": [undefined, undefined, 0], \"SOS\": [undefined, undefined, 0], \"SRD\": [undefined, \"$\"], \"SSP\": [undefined, \"£\"], \"STD\": [undefined, undefined, 0], \"STN\": [undefined, \"Db\"], \"SYP\": [undefined, \"£\", 0], \"THB\": [undefined, \"฿\"], \"TMM\": [undefined, undefined, 0], \"TND\": [undefined, undefined, 3], \"TOP\": [undefined, \"T$\"], \"TRL\": [undefined, undefined, 0], \"TRY\": [undefined, \"₺\"], \"TTD\": [undefined, \"$\"], \"TWD\": [\"NT$\", \"$\", 2], \"TZS\": [undefined, undefined, 2], \"UAH\": [undefined, \"₴\"], \"UGX\": [undefined, undefined, 0], \"USD\": [\"$\"], \"UYI\": [undefined, undefined, 0], \"UYU\": [undefined, \"$\"], \"UYW\": [undefined, undefined, 4], \"UZS\": [undefined, undefined, 2], \"VEF\": [undefined, \"Bs\", 2], \"VND\": [\"₫\", undefined, 0], \"VUV\": [undefined, undefined, 0], \"XAF\": [\"FCFA\", undefined, 0], \"XCD\": [\"EC$\", \"$\"], \"XOF\": [\"F CFA\", undefined, 0], \"XPF\": [\"CFPF\", undefined, 0], \"XXX\": [\"¤\"], \"YER\": [undefined, undefined, 0], \"ZAR\": [undefined, \"R\"], \"ZMK\": [undefined, undefined, 0], \"ZMW\": [undefined, \"ZK\"], \"ZWD\": [undefined, undefined, 0] };\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * Format styles that can be used to represent numbers.\n * @see `getLocaleNumberFormat()`.\n * @see [Internationalization (i18n) Guide](https://angular.io/guide/i18n-overview)\n *\n * @publicApi\n */\nvar NumberFormatStyle;\n(function (NumberFormatStyle) {\n NumberFormatStyle[NumberFormatStyle[\"Decimal\"] = 0] = \"Decimal\";\n NumberFormatStyle[NumberFormatStyle[\"Percent\"] = 1] = \"Percent\";\n NumberFormatStyle[NumberFormatStyle[\"Currency\"] = 2] = \"Currency\";\n NumberFormatStyle[NumberFormatStyle[\"Scientific\"] = 3] = \"Scientific\";\n})(NumberFormatStyle || (NumberFormatStyle = {}));\n/**\n * Plurality cases used for translating plurals to different languages.\n *\n * @see `NgPlural`\n * @see `NgPluralCase`\n * @see [Internationalization (i18n) Guide](https://angular.io/guide/i18n-overview)\n *\n * @publicApi\n */\nvar Plural;\n(function (Plural) {\n Plural[Plural[\"Zero\"] = 0] = \"Zero\";\n Plural[Plural[\"One\"] = 1] = \"One\";\n Plural[Plural[\"Two\"] = 2] = \"Two\";\n Plural[Plural[\"Few\"] = 3] = \"Few\";\n Plural[Plural[\"Many\"] = 4] = \"Many\";\n Plural[Plural[\"Other\"] = 5] = \"Other\";\n})(Plural || (Plural = {}));\n/**\n * Context-dependant translation forms for strings.\n * Typically the standalone version is for the nominative form of the word,\n * and the format version is used for the genitive case.\n * @see [CLDR website](http://cldr.unicode.org/translation/date-time-1/date-time#TOC-Standalone-vs.-Format-Styles)\n * @see [Internationalization (i18n) Guide](https://angular.io/guide/i18n-overview)\n *\n * @publicApi\n */\nvar FormStyle;\n(function (FormStyle) {\n FormStyle[FormStyle[\"Format\"] = 0] = \"Format\";\n FormStyle[FormStyle[\"Standalone\"] = 1] = \"Standalone\";\n})(FormStyle || (FormStyle = {}));\n/**\n * String widths available for translations.\n * The specific character widths are locale-specific.\n * Examples are given for the word \"Sunday\" in English.\n *\n * @publicApi\n */\nvar TranslationWidth;\n(function (TranslationWidth) {\n /** 1 character for `en-US`. For example: 'S' */\n TranslationWidth[TranslationWidth[\"Narrow\"] = 0] = \"Narrow\";\n /** 3 characters for `en-US`. For example: 'Sun' */\n TranslationWidth[TranslationWidth[\"Abbreviated\"] = 1] = \"Abbreviated\";\n /** Full length for `en-US`. For example: \"Sunday\" */\n TranslationWidth[TranslationWidth[\"Wide\"] = 2] = \"Wide\";\n /** 2 characters for `en-US`, For example: \"Su\" */\n TranslationWidth[TranslationWidth[\"Short\"] = 3] = \"Short\";\n})(TranslationWidth || (TranslationWidth = {}));\n/**\n * String widths available for date-time formats.\n * The specific character widths are locale-specific.\n * Examples are given for `en-US`.\n *\n * @see `getLocaleDateFormat()`\n * @see `getLocaleTimeFormat()`\n * @see `getLocaleDateTimeFormat()`\n * @see [Internationalization (i18n) Guide](https://angular.io/guide/i18n-overview)\n * @publicApi\n */\nvar FormatWidth;\n(function (FormatWidth) {\n /**\n * For `en-US`, 'M/d/yy, h:mm a'`\n * (Example: `6/15/15, 9:03 AM`)\n */\n FormatWidth[FormatWidth[\"Short\"] = 0] = \"Short\";\n /**\n * For `en-US`, `'MMM d, y, h:mm:ss a'`\n * (Example: `Jun 15, 2015, 9:03:01 AM`)\n */\n FormatWidth[FormatWidth[\"Medium\"] = 1] = \"Medium\";\n /**\n * For `en-US`, `'MMMM d, y, h:mm:ss a z'`\n * (Example: `June 15, 2015 at 9:03:01 AM GMT+1`)\n */\n FormatWidth[FormatWidth[\"Long\"] = 2] = \"Long\";\n /**\n * For `en-US`, `'EEEE, MMMM d, y, h:mm:ss a zzzz'`\n * (Example: `Monday, June 15, 2015 at 9:03:01 AM GMT+01:00`)\n */\n FormatWidth[FormatWidth[\"Full\"] = 3] = \"Full\";\n})(FormatWidth || (FormatWidth = {}));\n/**\n * Symbols that can be used to replace placeholders in number patterns.\n * Examples are based on `en-US` values.\n *\n * @see `getLocaleNumberSymbol()`\n * @see [Internationalization (i18n) Guide](https://angular.io/guide/i18n-overview)\n *\n * @publicApi\n */\nvar NumberSymbol;\n(function (NumberSymbol) {\n /**\n * Decimal separator.\n * For `en-US`, the dot character.\n * Example: 2,345`.`67\n */\n NumberSymbol[NumberSymbol[\"Decimal\"] = 0] = \"Decimal\";\n /**\n * Grouping separator, typically for thousands.\n * For `en-US`, the comma character.\n * Example: 2`,`345.67\n */\n NumberSymbol[NumberSymbol[\"Group\"] = 1] = \"Group\";\n /**\n * List-item separator.\n * Example: \"one, two, and three\"\n */\n NumberSymbol[NumberSymbol[\"List\"] = 2] = \"List\";\n /**\n * Sign for percentage (out of 100).\n * Example: 23.4%\n */\n NumberSymbol[NumberSymbol[\"PercentSign\"] = 3] = \"PercentSign\";\n /**\n * Sign for positive numbers.\n * Example: +23\n */\n NumberSymbol[NumberSymbol[\"PlusSign\"] = 4] = \"PlusSign\";\n /**\n * Sign for negative numbers.\n * Example: -23\n */\n NumberSymbol[NumberSymbol[\"MinusSign\"] = 5] = \"MinusSign\";\n /**\n * Computer notation for exponential value (n times a power of 10).\n * Example: 1.2E3\n */\n NumberSymbol[NumberSymbol[\"Exponential\"] = 6] = \"Exponential\";\n /**\n * Human-readable format of exponential.\n * Example: 1.2x103\n */\n NumberSymbol[NumberSymbol[\"SuperscriptingExponent\"] = 7] = \"SuperscriptingExponent\";\n /**\n * Sign for permille (out of 1000).\n * Example: 23.4‰\n */\n NumberSymbol[NumberSymbol[\"PerMille\"] = 8] = \"PerMille\";\n /**\n * Infinity, can be used with plus and minus.\n * Example: ∞, +∞, -∞\n */\n NumberSymbol[NumberSymbol[\"Infinity\"] = 9] = \"Infinity\";\n /**\n * Not a number.\n * Example: NaN\n */\n NumberSymbol[NumberSymbol[\"NaN\"] = 10] = \"NaN\";\n /**\n * Symbol used between time units.\n * Example: 10:52\n */\n NumberSymbol[NumberSymbol[\"TimeSeparator\"] = 11] = \"TimeSeparator\";\n /**\n * Decimal separator for currency values (fallback to `Decimal`).\n * Example: $2,345.67\n */\n NumberSymbol[NumberSymbol[\"CurrencyDecimal\"] = 12] = \"CurrencyDecimal\";\n /**\n * Group separator for currency values (fallback to `Group`).\n * Example: $2,345.67\n */\n NumberSymbol[NumberSymbol[\"CurrencyGroup\"] = 13] = \"CurrencyGroup\";\n})(NumberSymbol || (NumberSymbol = {}));\n/**\n * The value for each day of the week, based on the `en-US` locale\n *\n * @publicApi\n */\nvar WeekDay;\n(function (WeekDay) {\n WeekDay[WeekDay[\"Sunday\"] = 0] = \"Sunday\";\n WeekDay[WeekDay[\"Monday\"] = 1] = \"Monday\";\n WeekDay[WeekDay[\"Tuesday\"] = 2] = \"Tuesday\";\n WeekDay[WeekDay[\"Wednesday\"] = 3] = \"Wednesday\";\n WeekDay[WeekDay[\"Thursday\"] = 4] = \"Thursday\";\n WeekDay[WeekDay[\"Friday\"] = 5] = \"Friday\";\n WeekDay[WeekDay[\"Saturday\"] = 6] = \"Saturday\";\n})(WeekDay || (WeekDay = {}));\n/**\n * Retrieves the locale ID from the currently loaded locale.\n * The loaded locale could be, for example, a global one rather than a regional one.\n * @param locale A locale code, such as `fr-FR`.\n * @returns The locale code. For example, `fr`.\n * @see [Internationalization (i18n) Guide](https://angular.io/guide/i18n-overview)\n *\n * @publicApi\n */\nfunction getLocaleId(locale) {\n return ɵfindLocaleData(locale)[ɵLocaleDataIndex.LocaleId];\n}\n/**\n * Retrieves day period strings for the given locale.\n *\n * @param locale A locale code for the locale format rules to use.\n * @param formStyle The required grammatical form.\n * @param width The required character width.\n * @returns An array of localized period strings. For example, `[AM, PM]` for `en-US`.\n * @see [Internationalization (i18n) Guide](https://angular.io/guide/i18n-overview)\n *\n * @publicApi\n */\nfunction getLocaleDayPeriods(locale, formStyle, width) {\n const data = ɵfindLocaleData(locale);\n const amPmData = [\n data[ɵLocaleDataIndex.DayPeriodsFormat], data[ɵLocaleDataIndex.DayPeriodsStandalone]\n ];\n const amPm = getLastDefinedValue(amPmData, formStyle);\n return getLastDefinedValue(amPm, width);\n}\n/**\n * Retrieves days of the week for the given locale, using the Gregorian calendar.\n *\n * @param locale A locale code for the locale format rules to use.\n * @param formStyle The required grammatical form.\n * @param width The required character width.\n * @returns An array of localized name strings.\n * For example,`[Sunday, Monday, ... Saturday]` for `en-US`.\n * @see [Internationalization (i18n) Guide](https://angular.io/guide/i18n-overview)\n *\n * @publicApi\n */\nfunction getLocaleDayNames(locale, formStyle, width) {\n const data = ɵfindLocaleData(locale);\n const daysData = [data[ɵLocaleDataIndex.DaysFormat], data[ɵLocaleDataIndex.DaysStandalone]];\n const days = getLastDefinedValue(daysData, formStyle);\n return getLastDefinedValue(days, width);\n}\n/**\n * Retrieves months of the year for the given locale, using the Gregorian calendar.\n *\n * @param locale A locale code for the locale format rules to use.\n * @param formStyle The required grammatical form.\n * @param width The required character width.\n * @returns An array of localized name strings.\n * For example, `[January, February, ...]` for `en-US`.\n * @see [Internationalization (i18n) Guide](https://angular.io/guide/i18n-overview)\n *\n * @publicApi\n */\nfunction getLocaleMonthNames(locale, formStyle, width) {\n const data = ɵfindLocaleData(locale);\n const monthsData = [data[ɵLocaleDataIndex.MonthsFormat], data[ɵLocaleDataIndex.MonthsStandalone]];\n const months = getLastDefinedValue(monthsData, formStyle);\n return getLastDefinedValue(months, width);\n}\n/**\n * Retrieves Gregorian-calendar eras for the given locale.\n * @param locale A locale code for the locale format rules to use.\n * @param width The required character width.\n\n * @returns An array of localized era strings.\n * For example, `[AD, BC]` for `en-US`.\n * @see [Internationalization (i18n) Guide](https://angular.io/guide/i18n-overview)\n *\n * @publicApi\n */\nfunction getLocaleEraNames(locale, width) {\n const data = ɵfindLocaleData(locale);\n const erasData = data[ɵLocaleDataIndex.Eras];\n return getLastDefinedValue(erasData, width);\n}\n/**\n * Retrieves the first day of the week for the given locale.\n *\n * @param locale A locale code for the locale format rules to use.\n * @returns A day index number, using the 0-based week-day index for `en-US`\n * (Sunday = 0, Monday = 1, ...).\n * For example, for `fr-FR`, returns 1 to indicate that the first day is Monday.\n * @see [Internationalization (i18n) Guide](https://angular.io/guide/i18n-overview)\n *\n * @publicApi\n */\nfunction getLocaleFirstDayOfWeek(locale) {\n const data = ɵfindLocaleData(locale);\n return data[ɵLocaleDataIndex.FirstDayOfWeek];\n}\n/**\n * Range of week days that are considered the week-end for the given locale.\n *\n * @param locale A locale code for the locale format rules to use.\n * @returns The range of day values, `[startDay, endDay]`.\n * @see [Internationalization (i18n) Guide](https://angular.io/guide/i18n-overview)\n *\n * @publicApi\n */\nfunction getLocaleWeekEndRange(locale) {\n const data = ɵfindLocaleData(locale);\n return data[ɵLocaleDataIndex.WeekendRange];\n}\n/**\n * Retrieves a localized date-value formating string.\n *\n * @param locale A locale code for the locale format rules to use.\n * @param width The format type.\n * @returns The localized formating string.\n * @see `FormatWidth`\n * @see [Internationalization (i18n) Guide](https://angular.io/guide/i18n-overview)\n *\n * @publicApi\n */\nfunction getLocaleDateFormat(locale, width) {\n const data = ɵfindLocaleData(locale);\n return getLastDefinedValue(data[ɵLocaleDataIndex.DateFormat], width);\n}\n/**\n * Retrieves a localized time-value formatting string.\n *\n * @param locale A locale code for the locale format rules to use.\n * @param width The format type.\n * @returns The localized formatting string.\n * @see `FormatWidth`\n * @see [Internationalization (i18n) Guide](https://angular.io/guide/i18n-overview)\n\n * @publicApi\n */\nfunction getLocaleTimeFormat(locale, width) {\n const data = ɵfindLocaleData(locale);\n return getLastDefinedValue(data[ɵLocaleDataIndex.TimeFormat], width);\n}\n/**\n * Retrieves a localized date-time formatting string.\n *\n * @param locale A locale code for the locale format rules to use.\n * @param width The format type.\n * @returns The localized formatting string.\n * @see `FormatWidth`\n * @see [Internationalization (i18n) Guide](https://angular.io/guide/i18n-overview)\n *\n * @publicApi\n */\nfunction getLocaleDateTimeFormat(locale, width) {\n const data = ɵfindLocaleData(locale);\n const dateTimeFormatData = data[ɵLocaleDataIndex.DateTimeFormat];\n return getLastDefinedValue(dateTimeFormatData, width);\n}\n/**\n * Retrieves a localized number symbol that can be used to replace placeholders in number formats.\n * @param locale The locale code.\n * @param symbol The symbol to localize.\n * @returns The character for the localized symbol.\n * @see `NumberSymbol`\n * @see [Internationalization (i18n) Guide](https://angular.io/guide/i18n-overview)\n *\n * @publicApi\n */\nfunction getLocaleNumberSymbol(locale, symbol) {\n const data = ɵfindLocaleData(locale);\n const res = data[ɵLocaleDataIndex.NumberSymbols][symbol];\n if (typeof res === 'undefined') {\n if (symbol === NumberSymbol.CurrencyDecimal) {\n return data[ɵLocaleDataIndex.NumberSymbols][NumberSymbol.Decimal];\n }\n else if (symbol === NumberSymbol.CurrencyGroup) {\n return data[ɵLocaleDataIndex.NumberSymbols][NumberSymbol.Group];\n }\n }\n return res;\n}\n/**\n * Retrieves a number format for a given locale.\n *\n * Numbers are formatted using patterns, like `#,###.00`. For example, the pattern `#,###.00`\n * when used to format the number 12345.678 could result in \"12'345,678\". That would happen if the\n * grouping separator for your language is an apostrophe, and the decimal separator is a comma.\n *\n * Important: The characters `.` `,` `0` `#` (and others below) are special placeholders\n * that stand for the decimal separator, and so on, and are NOT real characters.\n * You must NOT \"translate\" the placeholders. For example, don't change `.` to `,` even though in\n * your language the decimal point is written with a comma. The symbols should be replaced by the\n * local equivalents, using the appropriate `NumberSymbol` for your language.\n *\n * Here are the special characters used in number patterns:\n *\n * | Symbol | Meaning |\n * |--------|---------|\n * | . | Replaced automatically by the character used for the decimal point. |\n * | , | Replaced by the \"grouping\" (thousands) separator. |\n * | 0 | Replaced by a digit (or zero if there aren't enough digits). |\n * | # | Replaced by a digit (or nothing if there aren't enough). |\n * | ¤ | Replaced by a currency symbol, such as $ or USD. |\n * | % | Marks a percent format. The % symbol may change position, but must be retained. |\n * | E | Marks a scientific format. The E symbol may change position, but must be retained. |\n * | ' | Special characters used as literal characters are quoted with ASCII single quotes. |\n *\n * @param locale A locale code for the locale format rules to use.\n * @param type The type of numeric value to be formatted (such as `Decimal` or `Currency`.)\n * @returns The localized format string.\n * @see `NumberFormatStyle`\n * @see [CLDR website](http://cldr.unicode.org/translation/number-patterns)\n * @see [Internationalization (i18n) Guide](https://angular.io/guide/i18n-overview)\n *\n * @publicApi\n */\nfunction getLocaleNumberFormat(locale, type) {\n const data = ɵfindLocaleData(locale);\n return data[ɵLocaleDataIndex.NumberFormats][type];\n}\n/**\n * Retrieves the symbol used to represent the currency for the main country\n * corresponding to a given locale. For example, '$' for `en-US`.\n *\n * @param locale A locale code for the locale format rules to use.\n * @returns The localized symbol character,\n * or `null` if the main country cannot be determined.\n * @see [Internationalization (i18n) Guide](https://angular.io/guide/i18n-overview)\n *\n * @publicApi\n */\nfunction getLocaleCurrencySymbol(locale) {\n const data = ɵfindLocaleData(locale);\n return data[ɵLocaleDataIndex.CurrencySymbol] || null;\n}\n/**\n * Retrieves the name of the currency for the main country corresponding\n * to a given locale. For example, 'US Dollar' for `en-US`.\n * @param locale A locale code for the locale format rules to use.\n * @returns The currency name,\n * or `null` if the main country cannot be determined.\n * @see [Internationalization (i18n) Guide](https://angular.io/guide/i18n-overview)\n *\n * @publicApi\n */\nfunction getLocaleCurrencyName(locale) {\n const data = ɵfindLocaleData(locale);\n return data[ɵLocaleDataIndex.CurrencyName] || null;\n}\n/**\n * Retrieves the default currency code for the given locale.\n *\n * The default is defined as the first currency which is still in use.\n *\n * @param locale The code of the locale whose currency code we want.\n * @returns The code of the default currency for the given locale.\n *\n * @publicApi\n */\nfunction getLocaleCurrencyCode(locale) {\n return ɵgetLocaleCurrencyCode(locale);\n}\n/**\n * Retrieves the currency values for a given locale.\n * @param locale A locale code for the locale format rules to use.\n * @returns The currency values.\n * @see [Internationalization (i18n) Guide](https://angular.io/guide/i18n-overview)\n */\nfunction getLocaleCurrencies(locale) {\n const data = ɵfindLocaleData(locale);\n return data[ɵLocaleDataIndex.Currencies];\n}\n/**\n * @alias core/ɵgetLocalePluralCase\n * @publicApi\n */\nconst getLocalePluralCase = ɵgetLocalePluralCase;\nfunction checkFullData(data) {\n if (!data[ɵLocaleDataIndex.ExtraData]) {\n throw new Error(`Missing extra locale data for the locale \"${data[ɵLocaleDataIndex\n .LocaleId]}\". Use \"registerLocaleData\" to load new data. See the \"I18n guide\" on angular.io to know more.`);\n }\n}\n/**\n * Retrieves locale-specific rules used to determine which day period to use\n * when more than one period is defined for a locale.\n *\n * There is a rule for each defined day period. The\n * first rule is applied to the first day period and so on.\n * Fall back to AM/PM when no rules are available.\n *\n * A rule can specify a period as time range, or as a single time value.\n *\n * This functionality is only available when you have loaded the full locale data.\n * See the [\"I18n guide\"](guide/i18n-common-format-data-locale).\n *\n * @param locale A locale code for the locale format rules to use.\n * @returns The rules for the locale, a single time value or array of *from-time, to-time*,\n * or null if no periods are available.\n *\n * @see `getLocaleExtraDayPeriods()`\n * @see [Internationalization (i18n) Guide](https://angular.io/guide/i18n-overview)\n *\n * @publicApi\n */\nfunction getLocaleExtraDayPeriodRules(locale) {\n const data = ɵfindLocaleData(locale);\n checkFullData(data);\n const rules = data[ɵLocaleDataIndex.ExtraData][2 /* ExtraDayPeriodsRules */] || [];\n return rules.map((rule) => {\n if (typeof rule === 'string') {\n return extractTime(rule);\n }\n return [extractTime(rule[0]), extractTime(rule[1])];\n });\n}\n/**\n * Retrieves locale-specific day periods, which indicate roughly how a day is broken up\n * in different languages.\n * For example, for `en-US`, periods are morning, noon, afternoon, evening, and midnight.\n *\n * This functionality is only available when you have loaded the full locale data.\n * See the [\"I18n guide\"](guide/i18n-common-format-data-locale).\n *\n * @param locale A locale code for the locale format rules to use.\n * @param formStyle The required grammatical form.\n * @param width The required character width.\n * @returns The translated day-period strings.\n * @see `getLocaleExtraDayPeriodRules()`\n * @see [Internationalization (i18n) Guide](https://angular.io/guide/i18n-overview)\n *\n * @publicApi\n */\nfunction getLocaleExtraDayPeriods(locale, formStyle, width) {\n const data = ɵfindLocaleData(locale);\n checkFullData(data);\n const dayPeriodsData = [\n data[ɵLocaleDataIndex.ExtraData][0 /* ExtraDayPeriodFormats */],\n data[ɵLocaleDataIndex.ExtraData][1 /* ExtraDayPeriodStandalone */]\n ];\n const dayPeriods = getLastDefinedValue(dayPeriodsData, formStyle) || [];\n return getLastDefinedValue(dayPeriods, width) || [];\n}\n/**\n * Retrieves the writing direction of a specified locale\n * @param locale A locale code for the locale format rules to use.\n * @publicApi\n * @returns 'rtl' or 'ltr'\n * @see [Internationalization (i18n) Guide](https://angular.io/guide/i18n-overview)\n */\nfunction getLocaleDirection(locale) {\n const data = ɵfindLocaleData(locale);\n return data[ɵLocaleDataIndex.Directionality];\n}\n/**\n * Retrieves the first value that is defined in an array, going backwards from an index position.\n *\n * To avoid repeating the same data (as when the \"format\" and \"standalone\" forms are the same)\n * add the first value to the locale data arrays, and add other values only if they are different.\n *\n * @param data The data array to retrieve from.\n * @param index A 0-based index into the array to start from.\n * @returns The value immediately before the given index position.\n * @see [Internationalization (i18n) Guide](https://angular.io/guide/i18n-overview)\n *\n * @publicApi\n */\nfunction getLastDefinedValue(data, index) {\n for (let i = index; i > -1; i--) {\n if (typeof data[i] !== 'undefined') {\n return data[i];\n }\n }\n throw new Error('Locale data API: locale data undefined');\n}\n/**\n * Extracts the hours and minutes from a string like \"15:45\"\n */\nfunction extractTime(time) {\n const [h, m] = time.split(':');\n return { hours: +h, minutes: +m };\n}\n/**\n * Retrieves the currency symbol for a given currency code.\n *\n * For example, for the default `en-US` locale, the code `USD` can\n * be represented by the narrow symbol `$` or the wide symbol `US$`.\n *\n * @param code The currency code.\n * @param format The format, `wide` or `narrow`.\n * @param locale A locale code for the locale format rules to use.\n *\n * @returns The symbol, or the currency code if no symbol is available.\n * @see [Internationalization (i18n) Guide](https://angular.io/guide/i18n-overview)\n *\n * @publicApi\n */\nfunction getCurrencySymbol(code, format, locale = 'en') {\n const currency = getLocaleCurrencies(locale)[code] || CURRENCIES_EN[code] || [];\n const symbolNarrow = currency[1 /* SymbolNarrow */];\n if (format === 'narrow' && typeof symbolNarrow === 'string') {\n return symbolNarrow;\n }\n return currency[0 /* Symbol */] || code;\n}\n// Most currencies have cents, that's why the default is 2\nconst DEFAULT_NB_OF_CURRENCY_DIGITS = 2;\n/**\n * Reports the number of decimal digits for a given currency.\n * The value depends upon the presence of cents in that particular currency.\n *\n * @param code The currency code.\n * @returns The number of decimal digits, typically 0 or 2.\n * @see [Internationalization (i18n) Guide](https://angular.io/guide/i18n-overview)\n *\n * @publicApi\n */\nfunction getNumberOfCurrencyDigits(code) {\n let digits;\n const currency = CURRENCIES_EN[code];\n if (currency) {\n digits = currency[2 /* NbOfDigits */];\n }\n return typeof digits === 'number' ? digits : DEFAULT_NB_OF_CURRENCY_DIGITS;\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nconst ISO8601_DATE_REGEX = /^(\\d{4})-?(\\d\\d)-?(\\d\\d)(?:T(\\d\\d)(?::?(\\d\\d)(?::?(\\d\\d)(?:\\.(\\d+))?)?)?(Z|([+-])(\\d\\d):?(\\d\\d))?)?$/;\n// 1 2 3 4 5 6 7 8 9 10 11\nconst NAMED_FORMATS = {};\nconst DATE_FORMATS_SPLIT = /((?:[^BEGHLMOSWYZabcdhmswyz']+)|(?:'(?:[^']|'')*')|(?:G{1,5}|y{1,4}|Y{1,4}|M{1,5}|L{1,5}|w{1,2}|W{1}|d{1,2}|E{1,6}|c{1,6}|a{1,5}|b{1,5}|B{1,5}|h{1,2}|H{1,2}|m{1,2}|s{1,2}|S{1,3}|z{1,4}|Z{1,5}|O{1,4}))([\\s\\S]*)/;\nvar ZoneWidth;\n(function (ZoneWidth) {\n ZoneWidth[ZoneWidth[\"Short\"] = 0] = \"Short\";\n ZoneWidth[ZoneWidth[\"ShortGMT\"] = 1] = \"ShortGMT\";\n ZoneWidth[ZoneWidth[\"Long\"] = 2] = \"Long\";\n ZoneWidth[ZoneWidth[\"Extended\"] = 3] = \"Extended\";\n})(ZoneWidth || (ZoneWidth = {}));\nvar DateType;\n(function (DateType) {\n DateType[DateType[\"FullYear\"] = 0] = \"FullYear\";\n DateType[DateType[\"Month\"] = 1] = \"Month\";\n DateType[DateType[\"Date\"] = 2] = \"Date\";\n DateType[DateType[\"Hours\"] = 3] = \"Hours\";\n DateType[DateType[\"Minutes\"] = 4] = \"Minutes\";\n DateType[DateType[\"Seconds\"] = 5] = \"Seconds\";\n DateType[DateType[\"FractionalSeconds\"] = 6] = \"FractionalSeconds\";\n DateType[DateType[\"Day\"] = 7] = \"Day\";\n})(DateType || (DateType = {}));\nvar TranslationType;\n(function (TranslationType) {\n TranslationType[TranslationType[\"DayPeriods\"] = 0] = \"DayPeriods\";\n TranslationType[TranslationType[\"Days\"] = 1] = \"Days\";\n TranslationType[TranslationType[\"Months\"] = 2] = \"Months\";\n TranslationType[TranslationType[\"Eras\"] = 3] = \"Eras\";\n})(TranslationType || (TranslationType = {}));\n/**\n * @ngModule CommonModule\n * @description\n *\n * Formats a date according to locale rules.\n *\n * @param value The date to format, as a Date, or a number (milliseconds since UTC epoch)\n * or an [ISO date-time string](https://www.w3.org/TR/NOTE-datetime).\n * @param format The date-time components to include. See `DatePipe` for details.\n * @param locale A locale code for the locale format rules to use.\n * @param timezone The time zone. A time zone offset from GMT (such as `'+0430'`),\n * or a standard UTC/GMT or continental US time zone abbreviation.\n * If not specified, uses host system settings.\n *\n * @returns The formatted date string.\n *\n * @see `DatePipe`\n * @see [Internationalization (i18n) Guide](https://angular.io/guide/i18n-overview)\n *\n * @publicApi\n */\nfunction formatDate(value, format, locale, timezone) {\n let date = toDate(value);\n const namedFormat = getNamedFormat(locale, format);\n format = namedFormat || format;\n let parts = [];\n let match;\n while (format) {\n match = DATE_FORMATS_SPLIT.exec(format);\n if (match) {\n parts = parts.concat(match.slice(1));\n const part = parts.pop();\n if (!part) {\n break;\n }\n format = part;\n }\n else {\n parts.push(format);\n break;\n }\n }\n let dateTimezoneOffset = date.getTimezoneOffset();\n if (timezone) {\n dateTimezoneOffset = timezoneToOffset(timezone, dateTimezoneOffset);\n date = convertTimezoneToLocal(date, timezone, true);\n }\n let text = '';\n parts.forEach(value => {\n const dateFormatter = getDateFormatter(value);\n text += dateFormatter ?\n dateFormatter(date, locale, dateTimezoneOffset) :\n value === '\\'\\'' ? '\\'' : value.replace(/(^'|'$)/g, '').replace(/''/g, '\\'');\n });\n return text;\n}\n/**\n * Create a new Date object with the given date value, and the time set to midnight.\n *\n * We cannot use `new Date(year, month, date)` because it maps years between 0 and 99 to 1900-1999.\n * See: https://github.com/angular/angular/issues/40377\n *\n * Note that this function returns a Date object whose time is midnight in the current locale's\n * timezone. In the future we might want to change this to be midnight in UTC, but this would be a\n * considerable breaking change.\n */\nfunction createDate(year, month, date) {\n // The `newDate` is set to midnight (UTC) on January 1st 1970.\n // - In PST this will be December 31st 1969 at 4pm.\n // - In GMT this will be January 1st 1970 at 1am.\n // Note that they even have different years, dates and months!\n const newDate = new Date(0);\n // `setFullYear()` allows years like 0001 to be set correctly. This function does not\n // change the internal time of the date.\n // Consider calling `setFullYear(2019, 8, 20)` (September 20, 2019).\n // - In PST this will now be September 20, 2019 at 4pm\n // - In GMT this will now be September 20, 2019 at 1am\n newDate.setFullYear(year, month, date);\n // We want the final date to be at local midnight, so we reset the time.\n // - In PST this will now be September 20, 2019 at 12am\n // - In GMT this will now be September 20, 2019 at 12am\n newDate.setHours(0, 0, 0);\n return newDate;\n}\nfunction getNamedFormat(locale, format) {\n const localeId = getLocaleId(locale);\n NAMED_FORMATS[localeId] = NAMED_FORMATS[localeId] || {};\n if (NAMED_FORMATS[localeId][format]) {\n return NAMED_FORMATS[localeId][format];\n }\n let formatValue = '';\n switch (format) {\n case 'shortDate':\n formatValue = getLocaleDateFormat(locale, FormatWidth.Short);\n break;\n case 'mediumDate':\n formatValue = getLocaleDateFormat(locale, FormatWidth.Medium);\n break;\n case 'longDate':\n formatValue = getLocaleDateFormat(locale, FormatWidth.Long);\n break;\n case 'fullDate':\n formatValue = getLocaleDateFormat(locale, FormatWidth.Full);\n break;\n case 'shortTime':\n formatValue = getLocaleTimeFormat(locale, FormatWidth.Short);\n break;\n case 'mediumTime':\n formatValue = getLocaleTimeFormat(locale, FormatWidth.Medium);\n break;\n case 'longTime':\n formatValue = getLocaleTimeFormat(locale, FormatWidth.Long);\n break;\n case 'fullTime':\n formatValue = getLocaleTimeFormat(locale, FormatWidth.Full);\n break;\n case 'short':\n const shortTime = getNamedFormat(locale, 'shortTime');\n const shortDate = getNamedFormat(locale, 'shortDate');\n formatValue = formatDateTime(getLocaleDateTimeFormat(locale, FormatWidth.Short), [shortTime, shortDate]);\n break;\n case 'medium':\n const mediumTime = getNamedFormat(locale, 'mediumTime');\n const mediumDate = getNamedFormat(locale, 'mediumDate');\n formatValue = formatDateTime(getLocaleDateTimeFormat(locale, FormatWidth.Medium), [mediumTime, mediumDate]);\n break;\n case 'long':\n const longTime = getNamedFormat(locale, 'longTime');\n const longDate = getNamedFormat(locale, 'longDate');\n formatValue =\n formatDateTime(getLocaleDateTimeFormat(locale, FormatWidth.Long), [longTime, longDate]);\n break;\n case 'full':\n const fullTime = getNamedFormat(locale, 'fullTime');\n const fullDate = getNamedFormat(locale, 'fullDate');\n formatValue =\n formatDateTime(getLocaleDateTimeFormat(locale, FormatWidth.Full), [fullTime, fullDate]);\n break;\n }\n if (formatValue) {\n NAMED_FORMATS[localeId][format] = formatValue;\n }\n return formatValue;\n}\nfunction formatDateTime(str, opt_values) {\n if (opt_values) {\n str = str.replace(/\\{([^}]+)}/g, function (match, key) {\n return (opt_values != null && key in opt_values) ? opt_values[key] : match;\n });\n }\n return str;\n}\nfunction padNumber(num, digits, minusSign = '-', trim, negWrap) {\n let neg = '';\n if (num < 0 || (negWrap && num <= 0)) {\n if (negWrap) {\n num = -num + 1;\n }\n else {\n num = -num;\n neg = minusSign;\n }\n }\n let strNum = String(num);\n while (strNum.length < digits) {\n strNum = '0' + strNum;\n }\n if (trim) {\n strNum = strNum.substr(strNum.length - digits);\n }\n return neg + strNum;\n}\nfunction formatFractionalSeconds(milliseconds, digits) {\n const strMs = padNumber(milliseconds, 3);\n return strMs.substr(0, digits);\n}\n/**\n * Returns a date formatter that transforms a date into its locale digit representation\n */\nfunction dateGetter(name, size, offset = 0, trim = false, negWrap = false) {\n return function (date, locale) {\n let part = getDatePart(name, date);\n if (offset > 0 || part > -offset) {\n part += offset;\n }\n if (name === DateType.Hours) {\n if (part === 0 && offset === -12) {\n part = 12;\n }\n }\n else if (name === DateType.FractionalSeconds) {\n return formatFractionalSeconds(part, size);\n }\n const localeMinus = getLocaleNumberSymbol(locale, NumberSymbol.MinusSign);\n return padNumber(part, size, localeMinus, trim, negWrap);\n };\n}\nfunction getDatePart(part, date) {\n switch (part) {\n case DateType.FullYear:\n return date.getFullYear();\n case DateType.Month:\n return date.getMonth();\n case DateType.Date:\n return date.getDate();\n case DateType.Hours:\n return date.getHours();\n case DateType.Minutes:\n return date.getMinutes();\n case DateType.Seconds:\n return date.getSeconds();\n case DateType.FractionalSeconds:\n return date.getMilliseconds();\n case DateType.Day:\n return date.getDay();\n default:\n throw new Error(`Unknown DateType value \"${part}\".`);\n }\n}\n/**\n * Returns a date formatter that transforms a date into its locale string representation\n */\nfunction dateStrGetter(name, width, form = FormStyle.Format, extended = false) {\n return function (date, locale) {\n return getDateTranslation(date, locale, name, width, form, extended);\n };\n}\n/**\n * Returns the locale translation of a date for a given form, type and width\n */\nfunction getDateTranslation(date, locale, name, width, form, extended) {\n switch (name) {\n case TranslationType.Months:\n return getLocaleMonthNames(locale, form, width)[date.getMonth()];\n case TranslationType.Days:\n return getLocaleDayNames(locale, form, width)[date.getDay()];\n case TranslationType.DayPeriods:\n const currentHours = date.getHours();\n const currentMinutes = date.getMinutes();\n if (extended) {\n const rules = getLocaleExtraDayPeriodRules(locale);\n const dayPeriods = getLocaleExtraDayPeriods(locale, form, width);\n const index = rules.findIndex(rule => {\n if (Array.isArray(rule)) {\n // morning, afternoon, evening, night\n const [from, to] = rule;\n const afterFrom = currentHours >= from.hours && currentMinutes >= from.minutes;\n const beforeTo = (currentHours < to.hours ||\n (currentHours === to.hours && currentMinutes < to.minutes));\n // We must account for normal rules that span a period during the day (e.g. 6am-9am)\n // where `from` is less (earlier) than `to`. But also rules that span midnight (e.g.\n // 10pm - 5am) where `from` is greater (later!) than `to`.\n //\n // In the first case the current time must be BOTH after `from` AND before `to`\n // (e.g. 8am is after 6am AND before 10am).\n //\n // In the second case the current time must be EITHER after `from` OR before `to`\n // (e.g. 4am is before 5am but not after 10pm; and 11pm is not before 5am but it is\n // after 10pm).\n if (from.hours < to.hours) {\n if (afterFrom && beforeTo) {\n return true;\n }\n }\n else if (afterFrom || beforeTo) {\n return true;\n }\n }\n else { // noon or midnight\n if (rule.hours === currentHours && rule.minutes === currentMinutes) {\n return true;\n }\n }\n return false;\n });\n if (index !== -1) {\n return dayPeriods[index];\n }\n }\n // if no rules for the day periods, we use am/pm by default\n return getLocaleDayPeriods(locale, form, width)[currentHours < 12 ? 0 : 1];\n case TranslationType.Eras:\n return getLocaleEraNames(locale, width)[date.getFullYear() <= 0 ? 0 : 1];\n default:\n // This default case is not needed by TypeScript compiler, as the switch is exhaustive.\n // However Closure Compiler does not understand that and reports an error in typed mode.\n // The `throw new Error` below works around the problem, and the unexpected: never variable\n // makes sure tsc still checks this code is unreachable.\n const unexpected = name;\n throw new Error(`unexpected translation type ${unexpected}`);\n }\n}\n/**\n * Returns a date formatter that transforms a date and an offset into a timezone with ISO8601 or\n * GMT format depending on the width (eg: short = +0430, short:GMT = GMT+4, long = GMT+04:30,\n * extended = +04:30)\n */\nfunction timeZoneGetter(width) {\n return function (date, locale, offset) {\n const zone = -1 * offset;\n const minusSign = getLocaleNumberSymbol(locale, NumberSymbol.MinusSign);\n const hours = zone > 0 ? Math.floor(zone / 60) : Math.ceil(zone / 60);\n switch (width) {\n case ZoneWidth.Short:\n return ((zone >= 0) ? '+' : '') + padNumber(hours, 2, minusSign) +\n padNumber(Math.abs(zone % 60), 2, minusSign);\n case ZoneWidth.ShortGMT:\n return 'GMT' + ((zone >= 0) ? '+' : '') + padNumber(hours, 1, minusSign);\n case ZoneWidth.Long:\n return 'GMT' + ((zone >= 0) ? '+' : '') + padNumber(hours, 2, minusSign) + ':' +\n padNumber(Math.abs(zone % 60), 2, minusSign);\n case ZoneWidth.Extended:\n if (offset === 0) {\n return 'Z';\n }\n else {\n return ((zone >= 0) ? '+' : '') + padNumber(hours, 2, minusSign) + ':' +\n padNumber(Math.abs(zone % 60), 2, minusSign);\n }\n default:\n throw new Error(`Unknown zone width \"${width}\"`);\n }\n };\n}\nconst JANUARY = 0;\nconst THURSDAY = 4;\nfunction getFirstThursdayOfYear(year) {\n const firstDayOfYear = createDate(year, JANUARY, 1).getDay();\n return createDate(year, 0, 1 + ((firstDayOfYear <= THURSDAY) ? THURSDAY : THURSDAY + 7) - firstDayOfYear);\n}\nfunction getThursdayThisWeek(datetime) {\n return createDate(datetime.getFullYear(), datetime.getMonth(), datetime.getDate() + (THURSDAY - datetime.getDay()));\n}\nfunction weekGetter(size, monthBased = false) {\n return function (date, locale) {\n let result;\n if (monthBased) {\n const nbDaysBefore1stDayOfMonth = new Date(date.getFullYear(), date.getMonth(), 1).getDay() - 1;\n const today = date.getDate();\n result = 1 + Math.floor((today + nbDaysBefore1stDayOfMonth) / 7);\n }\n else {\n const thisThurs = getThursdayThisWeek(date);\n // Some days of a year are part of next year according to ISO 8601.\n // Compute the firstThurs from the year of this week's Thursday\n const firstThurs = getFirstThursdayOfYear(thisThurs.getFullYear());\n const diff = thisThurs.getTime() - firstThurs.getTime();\n result = 1 + Math.round(diff / 6.048e8); // 6.048e8 ms per week\n }\n return padNumber(result, size, getLocaleNumberSymbol(locale, NumberSymbol.MinusSign));\n };\n}\n/**\n * Returns a date formatter that provides the week-numbering year for the input date.\n */\nfunction weekNumberingYearGetter(size, trim = false) {\n return function (date, locale) {\n const thisThurs = getThursdayThisWeek(date);\n const weekNumberingYear = thisThurs.getFullYear();\n return padNumber(weekNumberingYear, size, getLocaleNumberSymbol(locale, NumberSymbol.MinusSign), trim);\n };\n}\nconst DATE_FORMATS = {};\n// Based on CLDR formats:\n// See complete list: http://www.unicode.org/reports/tr35/tr35-dates.html#Date_Field_Symbol_Table\n// See also explanations: http://cldr.unicode.org/translation/date-time\n// TODO(ocombe): support all missing cldr formats: U, Q, D, F, e, j, J, C, A, v, V, X, x\nfunction getDateFormatter(format) {\n if (DATE_FORMATS[format]) {\n return DATE_FORMATS[format];\n }\n let formatter;\n switch (format) {\n // Era name (AD/BC)\n case 'G':\n case 'GG':\n case 'GGG':\n formatter = dateStrGetter(TranslationType.Eras, TranslationWidth.Abbreviated);\n break;\n case 'GGGG':\n formatter = dateStrGetter(TranslationType.Eras, TranslationWidth.Wide);\n break;\n case 'GGGGG':\n formatter = dateStrGetter(TranslationType.Eras, TranslationWidth.Narrow);\n break;\n // 1 digit representation of the year, e.g. (AD 1 => 1, AD 199 => 199)\n case 'y':\n formatter = dateGetter(DateType.FullYear, 1, 0, false, true);\n break;\n // 2 digit representation of the year, padded (00-99). (e.g. AD 2001 => 01, AD 2010 => 10)\n case 'yy':\n formatter = dateGetter(DateType.FullYear, 2, 0, true, true);\n break;\n // 3 digit representation of the year, padded (000-999). (e.g. AD 2001 => 01, AD 2010 => 10)\n case 'yyy':\n formatter = dateGetter(DateType.FullYear, 3, 0, false, true);\n break;\n // 4 digit representation of the year (e.g. AD 1 => 0001, AD 2010 => 2010)\n case 'yyyy':\n formatter = dateGetter(DateType.FullYear, 4, 0, false, true);\n break;\n // 1 digit representation of the week-numbering year, e.g. (AD 1 => 1, AD 199 => 199)\n case 'Y':\n formatter = weekNumberingYearGetter(1);\n break;\n // 2 digit representation of the week-numbering year, padded (00-99). (e.g. AD 2001 => 01, AD\n // 2010 => 10)\n case 'YY':\n formatter = weekNumberingYearGetter(2, true);\n break;\n // 3 digit representation of the week-numbering year, padded (000-999). (e.g. AD 1 => 001, AD\n // 2010 => 2010)\n case 'YYY':\n formatter = weekNumberingYearGetter(3);\n break;\n // 4 digit representation of the week-numbering year (e.g. AD 1 => 0001, AD 2010 => 2010)\n case 'YYYY':\n formatter = weekNumberingYearGetter(4);\n break;\n // Month of the year (1-12), numeric\n case 'M':\n case 'L':\n formatter = dateGetter(DateType.Month, 1, 1);\n break;\n case 'MM':\n case 'LL':\n formatter = dateGetter(DateType.Month, 2, 1);\n break;\n // Month of the year (January, ...), string, format\n case 'MMM':\n formatter = dateStrGetter(TranslationType.Months, TranslationWidth.Abbreviated);\n break;\n case 'MMMM':\n formatter = dateStrGetter(TranslationType.Months, TranslationWidth.Wide);\n break;\n case 'MMMMM':\n formatter = dateStrGetter(TranslationType.Months, TranslationWidth.Narrow);\n break;\n // Month of the year (January, ...), string, standalone\n case 'LLL':\n formatter =\n dateStrGetter(TranslationType.Months, TranslationWidth.Abbreviated, FormStyle.Standalone);\n break;\n case 'LLLL':\n formatter =\n dateStrGetter(TranslationType.Months, TranslationWidth.Wide, FormStyle.Standalone);\n break;\n case 'LLLLL':\n formatter =\n dateStrGetter(TranslationType.Months, TranslationWidth.Narrow, FormStyle.Standalone);\n break;\n // Week of the year (1, ... 52)\n case 'w':\n formatter = weekGetter(1);\n break;\n case 'ww':\n formatter = weekGetter(2);\n break;\n // Week of the month (1, ...)\n case 'W':\n formatter = weekGetter(1, true);\n break;\n // Day of the month (1-31)\n case 'd':\n formatter = dateGetter(DateType.Date, 1);\n break;\n case 'dd':\n formatter = dateGetter(DateType.Date, 2);\n break;\n // Day of the Week StandAlone (1, 1, Mon, Monday, M, Mo)\n case 'c':\n case 'cc':\n formatter = dateGetter(DateType.Day, 1);\n break;\n case 'ccc':\n formatter =\n dateStrGetter(TranslationType.Days, TranslationWidth.Abbreviated, FormStyle.Standalone);\n break;\n case 'cccc':\n formatter = dateStrGetter(TranslationType.Days, TranslationWidth.Wide, FormStyle.Standalone);\n break;\n case 'ccccc':\n formatter =\n dateStrGetter(TranslationType.Days, TranslationWidth.Narrow, FormStyle.Standalone);\n break;\n case 'cccccc':\n formatter = dateStrGetter(TranslationType.Days, TranslationWidth.Short, FormStyle.Standalone);\n break;\n // Day of the Week\n case 'E':\n case 'EE':\n case 'EEE':\n formatter = dateStrGetter(TranslationType.Days, TranslationWidth.Abbreviated);\n break;\n case 'EEEE':\n formatter = dateStrGetter(TranslationType.Days, TranslationWidth.Wide);\n break;\n case 'EEEEE':\n formatter = dateStrGetter(TranslationType.Days, TranslationWidth.Narrow);\n break;\n case 'EEEEEE':\n formatter = dateStrGetter(TranslationType.Days, TranslationWidth.Short);\n break;\n // Generic period of the day (am-pm)\n case 'a':\n case 'aa':\n case 'aaa':\n formatter = dateStrGetter(TranslationType.DayPeriods, TranslationWidth.Abbreviated);\n break;\n case 'aaaa':\n formatter = dateStrGetter(TranslationType.DayPeriods, TranslationWidth.Wide);\n break;\n case 'aaaaa':\n formatter = dateStrGetter(TranslationType.DayPeriods, TranslationWidth.Narrow);\n break;\n // Extended period of the day (midnight, at night, ...), standalone\n case 'b':\n case 'bb':\n case 'bbb':\n formatter = dateStrGetter(TranslationType.DayPeriods, TranslationWidth.Abbreviated, FormStyle.Standalone, true);\n break;\n case 'bbbb':\n formatter = dateStrGetter(TranslationType.DayPeriods, TranslationWidth.Wide, FormStyle.Standalone, true);\n break;\n case 'bbbbb':\n formatter = dateStrGetter(TranslationType.DayPeriods, TranslationWidth.Narrow, FormStyle.Standalone, true);\n break;\n // Extended period of the day (midnight, night, ...), standalone\n case 'B':\n case 'BB':\n case 'BBB':\n formatter = dateStrGetter(TranslationType.DayPeriods, TranslationWidth.Abbreviated, FormStyle.Format, true);\n break;\n case 'BBBB':\n formatter =\n dateStrGetter(TranslationType.DayPeriods, TranslationWidth.Wide, FormStyle.Format, true);\n break;\n case 'BBBBB':\n formatter = dateStrGetter(TranslationType.DayPeriods, TranslationWidth.Narrow, FormStyle.Format, true);\n break;\n // Hour in AM/PM, (1-12)\n case 'h':\n formatter = dateGetter(DateType.Hours, 1, -12);\n break;\n case 'hh':\n formatter = dateGetter(DateType.Hours, 2, -12);\n break;\n // Hour of the day (0-23)\n case 'H':\n formatter = dateGetter(DateType.Hours, 1);\n break;\n // Hour in day, padded (00-23)\n case 'HH':\n formatter = dateGetter(DateType.Hours, 2);\n break;\n // Minute of the hour (0-59)\n case 'm':\n formatter = dateGetter(DateType.Minutes, 1);\n break;\n case 'mm':\n formatter = dateGetter(DateType.Minutes, 2);\n break;\n // Second of the minute (0-59)\n case 's':\n formatter = dateGetter(DateType.Seconds, 1);\n break;\n case 'ss':\n formatter = dateGetter(DateType.Seconds, 2);\n break;\n // Fractional second\n case 'S':\n formatter = dateGetter(DateType.FractionalSeconds, 1);\n break;\n case 'SS':\n formatter = dateGetter(DateType.FractionalSeconds, 2);\n break;\n case 'SSS':\n formatter = dateGetter(DateType.FractionalSeconds, 3);\n break;\n // Timezone ISO8601 short format (-0430)\n case 'Z':\n case 'ZZ':\n case 'ZZZ':\n formatter = timeZoneGetter(ZoneWidth.Short);\n break;\n // Timezone ISO8601 extended format (-04:30)\n case 'ZZZZZ':\n formatter = timeZoneGetter(ZoneWidth.Extended);\n break;\n // Timezone GMT short format (GMT+4)\n case 'O':\n case 'OO':\n case 'OOO':\n // Should be location, but fallback to format O instead because we don't have the data yet\n case 'z':\n case 'zz':\n case 'zzz':\n formatter = timeZoneGetter(ZoneWidth.ShortGMT);\n break;\n // Timezone GMT long format (GMT+0430)\n case 'OOOO':\n case 'ZZZZ':\n // Should be location, but fallback to format O instead because we don't have the data yet\n case 'zzzz':\n formatter = timeZoneGetter(ZoneWidth.Long);\n break;\n default:\n return null;\n }\n DATE_FORMATS[format] = formatter;\n return formatter;\n}\nfunction timezoneToOffset(timezone, fallback) {\n // Support: IE 11 only, Edge 13-15+\n // IE/Edge do not \"understand\" colon (`:`) in timezone\n timezone = timezone.replace(/:/g, '');\n const requestedTimezoneOffset = Date.parse('Jan 01, 1970 00:00:00 ' + timezone) / 60000;\n return isNaN(requestedTimezoneOffset) ? fallback : requestedTimezoneOffset;\n}\nfunction addDateMinutes(date, minutes) {\n date = new Date(date.getTime());\n date.setMinutes(date.getMinutes() + minutes);\n return date;\n}\nfunction convertTimezoneToLocal(date, timezone, reverse) {\n const reverseValue = reverse ? -1 : 1;\n const dateTimezoneOffset = date.getTimezoneOffset();\n const timezoneOffset = timezoneToOffset(timezone, dateTimezoneOffset);\n return addDateMinutes(date, reverseValue * (timezoneOffset - dateTimezoneOffset));\n}\n/**\n * Converts a value to date.\n *\n * Supported input formats:\n * - `Date`\n * - number: timestamp\n * - string: numeric (e.g. \"1234\"), ISO and date strings in a format supported by\n * [Date.parse()](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/parse).\n * Note: ISO strings without time return a date without timeoffset.\n *\n * Throws if unable to convert to a date.\n */\nfunction toDate(value) {\n if (isDate(value)) {\n return value;\n }\n if (typeof value === 'number' && !isNaN(value)) {\n return new Date(value);\n }\n if (typeof value === 'string') {\n value = value.trim();\n if (/^(\\d{4}(-\\d{1,2}(-\\d{1,2})?)?)$/.test(value)) {\n /* For ISO Strings without time the day, month and year must be extracted from the ISO String\n before Date creation to avoid time offset and errors in the new Date.\n If we only replace '-' with ',' in the ISO String (\"2015,01,01\"), and try to create a new\n date, some browsers (e.g. IE 9) will throw an invalid Date error.\n If we leave the '-' (\"2015-01-01\") and try to create a new Date(\"2015-01-01\") the timeoffset\n is applied.\n Note: ISO months are 0 for January, 1 for February, ... */\n const [y, m = 1, d = 1] = value.split('-').map((val) => +val);\n return createDate(y, m - 1, d);\n }\n const parsedNb = parseFloat(value);\n // any string that only contains numbers, like \"1234\" but not like \"1234hello\"\n if (!isNaN(value - parsedNb)) {\n return new Date(parsedNb);\n }\n let match;\n if (match = value.match(ISO8601_DATE_REGEX)) {\n return isoStringToDate(match);\n }\n }\n const date = new Date(value);\n if (!isDate(date)) {\n throw new Error(`Unable to convert \"${value}\" into a date`);\n }\n return date;\n}\n/**\n * Converts a date in ISO8601 to a Date.\n * Used instead of `Date.parse` because of browser discrepancies.\n */\nfunction isoStringToDate(match) {\n const date = new Date(0);\n let tzHour = 0;\n let tzMin = 0;\n // match[8] means that the string contains \"Z\" (UTC) or a timezone like \"+01:00\" or \"+0100\"\n const dateSetter = match[8] ? date.setUTCFullYear : date.setFullYear;\n const timeSetter = match[8] ? date.setUTCHours : date.setHours;\n // if there is a timezone defined like \"+01:00\" or \"+0100\"\n if (match[9]) {\n tzHour = Number(match[9] + match[10]);\n tzMin = Number(match[9] + match[11]);\n }\n dateSetter.call(date, Number(match[1]), Number(match[2]) - 1, Number(match[3]));\n const h = Number(match[4] || 0) - tzHour;\n const m = Number(match[5] || 0) - tzMin;\n const s = Number(match[6] || 0);\n // The ECMAScript specification (https://www.ecma-international.org/ecma-262/5.1/#sec-15.9.1.11)\n // defines that `DateTime` milliseconds should always be rounded down, so that `999.9ms`\n // becomes `999ms`.\n const ms = Math.floor(parseFloat('0.' + (match[7] || 0)) * 1000);\n timeSetter.call(date, h, m, s, ms);\n return date;\n}\nfunction isDate(value) {\n return value instanceof Date && !isNaN(value.valueOf());\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nconst NUMBER_FORMAT_REGEXP = /^(\\d+)?\\.((\\d+)(-(\\d+))?)?$/;\nconst MAX_DIGITS = 22;\nconst DECIMAL_SEP = '.';\nconst ZERO_CHAR = '0';\nconst PATTERN_SEP = ';';\nconst GROUP_SEP = ',';\nconst DIGIT_CHAR = '#';\nconst CURRENCY_CHAR = '¤';\nconst PERCENT_CHAR = '%';\n/**\n * Transforms a number to a locale string based on a style and a format.\n */\nfunction formatNumberToLocaleString(value, pattern, locale, groupSymbol, decimalSymbol, digitsInfo, isPercent = false) {\n let formattedText = '';\n let isZero = false;\n if (!isFinite(value)) {\n formattedText = getLocaleNumberSymbol(locale, NumberSymbol.Infinity);\n }\n else {\n let parsedNumber = parseNumber(value);\n if (isPercent) {\n parsedNumber = toPercent(parsedNumber);\n }\n let minInt = pattern.minInt;\n let minFraction = pattern.minFrac;\n let maxFraction = pattern.maxFrac;\n if (digitsInfo) {\n const parts = digitsInfo.match(NUMBER_FORMAT_REGEXP);\n if (parts === null) {\n throw new Error(`${digitsInfo} is not a valid digit info`);\n }\n const minIntPart = parts[1];\n const minFractionPart = parts[3];\n const maxFractionPart = parts[5];\n if (minIntPart != null) {\n minInt = parseIntAutoRadix(minIntPart);\n }\n if (minFractionPart != null) {\n minFraction = parseIntAutoRadix(minFractionPart);\n }\n if (maxFractionPart != null) {\n maxFraction = parseIntAutoRadix(maxFractionPart);\n }\n else if (minFractionPart != null && minFraction > maxFraction) {\n maxFraction = minFraction;\n }\n }\n roundNumber(parsedNumber, minFraction, maxFraction);\n let digits = parsedNumber.digits;\n let integerLen = parsedNumber.integerLen;\n const exponent = parsedNumber.exponent;\n let decimals = [];\n isZero = digits.every(d => !d);\n // pad zeros for small numbers\n for (; integerLen < minInt; integerLen++) {\n digits.unshift(0);\n }\n // pad zeros for small numbers\n for (; integerLen < 0; integerLen++) {\n digits.unshift(0);\n }\n // extract decimals digits\n if (integerLen > 0) {\n decimals = digits.splice(integerLen, digits.length);\n }\n else {\n decimals = digits;\n digits = [0];\n }\n // format the integer digits with grouping separators\n const groups = [];\n if (digits.length >= pattern.lgSize) {\n groups.unshift(digits.splice(-pattern.lgSize, digits.length).join(''));\n }\n while (digits.length > pattern.gSize) {\n groups.unshift(digits.splice(-pattern.gSize, digits.length).join(''));\n }\n if (digits.length) {\n groups.unshift(digits.join(''));\n }\n formattedText = groups.join(getLocaleNumberSymbol(locale, groupSymbol));\n // append the decimal digits\n if (decimals.length) {\n formattedText += getLocaleNumberSymbol(locale, decimalSymbol) + decimals.join('');\n }\n if (exponent) {\n formattedText += getLocaleNumberSymbol(locale, NumberSymbol.Exponential) + '+' + exponent;\n }\n }\n if (value < 0 && !isZero) {\n formattedText = pattern.negPre + formattedText + pattern.negSuf;\n }\n else {\n formattedText = pattern.posPre + formattedText + pattern.posSuf;\n }\n return formattedText;\n}\n/**\n * @ngModule CommonModule\n * @description\n *\n * Formats a number as currency using locale rules.\n *\n * @param value The number to format.\n * @param locale A locale code for the locale format rules to use.\n * @param currency A string containing the currency symbol or its name,\n * such as \"$\" or \"Canadian Dollar\". Used in output string, but does not affect the operation\n * of the function.\n * @param currencyCode The [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217)\n * currency code, such as `USD` for the US dollar and `EUR` for the euro.\n * Used to determine the number of digits in the decimal part.\n * @param digitsInfo Decimal representation options, specified by a string in the following format:\n * `{minIntegerDigits}.{minFractionDigits}-{maxFractionDigits}`. See `DecimalPipe` for more details.\n *\n * @returns The formatted currency value.\n *\n * @see `formatNumber()`\n * @see `DecimalPipe`\n * @see [Internationalization (i18n) Guide](https://angular.io/guide/i18n-overview)\n *\n * @publicApi\n */\nfunction formatCurrency(value, locale, currency, currencyCode, digitsInfo) {\n const format = getLocaleNumberFormat(locale, NumberFormatStyle.Currency);\n const pattern = parseNumberFormat(format, getLocaleNumberSymbol(locale, NumberSymbol.MinusSign));\n pattern.minFrac = getNumberOfCurrencyDigits(currencyCode);\n pattern.maxFrac = pattern.minFrac;\n const res = formatNumberToLocaleString(value, pattern, locale, NumberSymbol.CurrencyGroup, NumberSymbol.CurrencyDecimal, digitsInfo);\n return res\n .replace(CURRENCY_CHAR, currency)\n // if we have 2 time the currency character, the second one is ignored\n .replace(CURRENCY_CHAR, '')\n // If there is a spacing between currency character and the value and\n // the currency character is supressed by passing an empty string, the\n // spacing character would remain as part of the string. Then we\n // should remove it.\n .trim();\n}\n/**\n * @ngModule CommonModule\n * @description\n *\n * Formats a number as a percentage according to locale rules.\n *\n * @param value The number to format.\n * @param locale A locale code for the locale format rules to use.\n * @param digitsInfo Decimal representation options, specified by a string in the following format:\n * `{minIntegerDigits}.{minFractionDigits}-{maxFractionDigits}`. See `DecimalPipe` for more details.\n *\n * @returns The formatted percentage value.\n *\n * @see `formatNumber()`\n * @see `DecimalPipe`\n * @see [Internationalization (i18n) Guide](https://angular.io/guide/i18n-overview)\n * @publicApi\n *\n */\nfunction formatPercent(value, locale, digitsInfo) {\n const format = getLocaleNumberFormat(locale, NumberFormatStyle.Percent);\n const pattern = parseNumberFormat(format, getLocaleNumberSymbol(locale, NumberSymbol.MinusSign));\n const res = formatNumberToLocaleString(value, pattern, locale, NumberSymbol.Group, NumberSymbol.Decimal, digitsInfo, true);\n return res.replace(new RegExp(PERCENT_CHAR, 'g'), getLocaleNumberSymbol(locale, NumberSymbol.PercentSign));\n}\n/**\n * @ngModule CommonModule\n * @description\n *\n * Formats a number as text, with group sizing, separator, and other\n * parameters based on the locale.\n *\n * @param value The number to format.\n * @param locale A locale code for the locale format rules to use.\n * @param digitsInfo Decimal representation options, specified by a string in the following format:\n * `{minIntegerDigits}.{minFractionDigits}-{maxFractionDigits}`. See `DecimalPipe` for more details.\n *\n * @returns The formatted text string.\n * @see [Internationalization (i18n) Guide](https://angular.io/guide/i18n-overview)\n *\n * @publicApi\n */\nfunction formatNumber(value, locale, digitsInfo) {\n const format = getLocaleNumberFormat(locale, NumberFormatStyle.Decimal);\n const pattern = parseNumberFormat(format, getLocaleNumberSymbol(locale, NumberSymbol.MinusSign));\n return formatNumberToLocaleString(value, pattern, locale, NumberSymbol.Group, NumberSymbol.Decimal, digitsInfo);\n}\nfunction parseNumberFormat(format, minusSign = '-') {\n const p = {\n minInt: 1,\n minFrac: 0,\n maxFrac: 0,\n posPre: '',\n posSuf: '',\n negPre: '',\n negSuf: '',\n gSize: 0,\n lgSize: 0\n };\n const patternParts = format.split(PATTERN_SEP);\n const positive = patternParts[0];\n const negative = patternParts[1];\n const positiveParts = positive.indexOf(DECIMAL_SEP) !== -1 ?\n positive.split(DECIMAL_SEP) :\n [\n positive.substring(0, positive.lastIndexOf(ZERO_CHAR) + 1),\n positive.substring(positive.lastIndexOf(ZERO_CHAR) + 1)\n ], integer = positiveParts[0], fraction = positiveParts[1] || '';\n p.posPre = integer.substr(0, integer.indexOf(DIGIT_CHAR));\n for (let i = 0; i < fraction.length; i++) {\n const ch = fraction.charAt(i);\n if (ch === ZERO_CHAR) {\n p.minFrac = p.maxFrac = i + 1;\n }\n else if (ch === DIGIT_CHAR) {\n p.maxFrac = i + 1;\n }\n else {\n p.posSuf += ch;\n }\n }\n const groups = integer.split(GROUP_SEP);\n p.gSize = groups[1] ? groups[1].length : 0;\n p.lgSize = (groups[2] || groups[1]) ? (groups[2] || groups[1]).length : 0;\n if (negative) {\n const trunkLen = positive.length - p.posPre.length - p.posSuf.length, pos = negative.indexOf(DIGIT_CHAR);\n p.negPre = negative.substr(0, pos).replace(/'/g, '');\n p.negSuf = negative.substr(pos + trunkLen).replace(/'/g, '');\n }\n else {\n p.negPre = minusSign + p.posPre;\n p.negSuf = p.posSuf;\n }\n return p;\n}\n// Transforms a parsed number into a percentage by multiplying it by 100\nfunction toPercent(parsedNumber) {\n // if the number is 0, don't do anything\n if (parsedNumber.digits[0] === 0) {\n return parsedNumber;\n }\n // Getting the current number of decimals\n const fractionLen = parsedNumber.digits.length - parsedNumber.integerLen;\n if (parsedNumber.exponent) {\n parsedNumber.exponent += 2;\n }\n else {\n if (fractionLen === 0) {\n parsedNumber.digits.push(0, 0);\n }\n else if (fractionLen === 1) {\n parsedNumber.digits.push(0);\n }\n parsedNumber.integerLen += 2;\n }\n return parsedNumber;\n}\n/**\n * Parses a number.\n * Significant bits of this parse algorithm came from https://github.com/MikeMcl/big.js/\n */\nfunction parseNumber(num) {\n let numStr = Math.abs(num) + '';\n let exponent = 0, digits, integerLen;\n let i, j, zeros;\n // Decimal point?\n if ((integerLen = numStr.indexOf(DECIMAL_SEP)) > -1) {\n numStr = numStr.replace(DECIMAL_SEP, '');\n }\n // Exponential form?\n if ((i = numStr.search(/e/i)) > 0) {\n // Work out the exponent.\n if (integerLen < 0)\n integerLen = i;\n integerLen += +numStr.slice(i + 1);\n numStr = numStr.substring(0, i);\n }\n else if (integerLen < 0) {\n // There was no decimal point or exponent so it is an integer.\n integerLen = numStr.length;\n }\n // Count the number of leading zeros.\n for (i = 0; numStr.charAt(i) === ZERO_CHAR; i++) { /* empty */\n }\n if (i === (zeros = numStr.length)) {\n // The digits are all zero.\n digits = [0];\n integerLen = 1;\n }\n else {\n // Count the number of trailing zeros\n zeros--;\n while (numStr.charAt(zeros) === ZERO_CHAR)\n zeros--;\n // Trailing zeros are insignificant so ignore them\n integerLen -= i;\n digits = [];\n // Convert string to array of digits without leading/trailing zeros.\n for (j = 0; i <= zeros; i++, j++) {\n digits[j] = Number(numStr.charAt(i));\n }\n }\n // If the number overflows the maximum allowed digits then use an exponent.\n if (integerLen > MAX_DIGITS) {\n digits = digits.splice(0, MAX_DIGITS - 1);\n exponent = integerLen - 1;\n integerLen = 1;\n }\n return { digits, exponent, integerLen };\n}\n/**\n * Round the parsed number to the specified number of decimal places\n * This function changes the parsedNumber in-place\n */\nfunction roundNumber(parsedNumber, minFrac, maxFrac) {\n if (minFrac > maxFrac) {\n throw new Error(`The minimum number of digits after fraction (${minFrac}) is higher than the maximum (${maxFrac}).`);\n }\n let digits = parsedNumber.digits;\n let fractionLen = digits.length - parsedNumber.integerLen;\n const fractionSize = Math.min(Math.max(minFrac, fractionLen), maxFrac);\n // The index of the digit to where rounding is to occur\n let roundAt = fractionSize + parsedNumber.integerLen;\n let digit = digits[roundAt];\n if (roundAt > 0) {\n // Drop fractional digits beyond `roundAt`\n digits.splice(Math.max(parsedNumber.integerLen, roundAt));\n // Set non-fractional digits beyond `roundAt` to 0\n for (let j = roundAt; j < digits.length; j++) {\n digits[j] = 0;\n }\n }\n else {\n // We rounded to zero so reset the parsedNumber\n fractionLen = Math.max(0, fractionLen);\n parsedNumber.integerLen = 1;\n digits.length = Math.max(1, roundAt = fractionSize + 1);\n digits[0] = 0;\n for (let i = 1; i < roundAt; i++)\n digits[i] = 0;\n }\n if (digit >= 5) {\n if (roundAt - 1 < 0) {\n for (let k = 0; k > roundAt; k--) {\n digits.unshift(0);\n parsedNumber.integerLen++;\n }\n digits.unshift(1);\n parsedNumber.integerLen++;\n }\n else {\n digits[roundAt - 1]++;\n }\n }\n // Pad out with zeros to get the required fraction length\n for (; fractionLen < Math.max(0, fractionSize); fractionLen++)\n digits.push(0);\n let dropTrailingZeros = fractionSize !== 0;\n // Minimal length = nb of decimals required + current nb of integers\n // Any number besides that is optional and can be removed if it's a trailing 0\n const minLen = minFrac + parsedNumber.integerLen;\n // Do any carrying, e.g. a digit was rounded up to 10\n const carry = digits.reduceRight(function (carry, d, i, digits) {\n d = d + carry;\n digits[i] = d < 10 ? d : d - 10; // d % 10\n if (dropTrailingZeros) {\n // Do not keep meaningless fractional trailing zeros (e.g. 15.52000 --> 15.52)\n if (digits[i] === 0 && i >= minLen) {\n digits.pop();\n }\n else {\n dropTrailingZeros = false;\n }\n }\n return d >= 10 ? 1 : 0; // Math.floor(d / 10);\n }, 0);\n if (carry) {\n digits.unshift(carry);\n parsedNumber.integerLen++;\n }\n}\nfunction parseIntAutoRadix(text) {\n const result = parseInt(text);\n if (isNaN(result)) {\n throw new Error('Invalid integer literal when parsing ' + text);\n }\n return result;\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * @publicApi\n */\nclass NgLocalization {\n}\n/**\n * Returns the plural category for a given value.\n * - \"=value\" when the case exists,\n * - the plural category otherwise\n */\nfunction getPluralCategory(value, cases, ngLocalization, locale) {\n let key = `=${value}`;\n if (cases.indexOf(key) > -1) {\n return key;\n }\n key = ngLocalization.getPluralCategory(value, locale);\n if (cases.indexOf(key) > -1) {\n return key;\n }\n if (cases.indexOf('other') > -1) {\n return 'other';\n }\n throw new Error(`No plural message found for value \"${value}\"`);\n}\n/**\n * Returns the plural case based on the locale\n *\n * @publicApi\n */\nclass NgLocaleLocalization extends NgLocalization {\n constructor(locale) {\n super();\n this.locale = locale;\n }\n getPluralCategory(value, locale) {\n const plural = getLocalePluralCase(locale || this.locale)(value);\n switch (plural) {\n case Plural.Zero:\n return 'zero';\n case Plural.One:\n return 'one';\n case Plural.Two:\n return 'two';\n case Plural.Few:\n return 'few';\n case Plural.Many:\n return 'many';\n default:\n return 'other';\n }\n }\n}\nNgLocaleLocalization.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"13.0.2\", ngImport: i0, type: NgLocaleLocalization, deps: [{ token: LOCALE_ID }], target: i0.ɵɵFactoryTarget.Injectable });\nNgLocaleLocalization.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"13.0.2\", ngImport: i0, type: NgLocaleLocalization });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"13.0.2\", ngImport: i0, type: NgLocaleLocalization, decorators: [{\n type: Injectable\n }], ctorParameters: function () { return [{ type: undefined, decorators: [{\n type: Inject,\n args: [LOCALE_ID]\n }] }]; } });\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * Register global data to be used internally by Angular. See the\n * [\"I18n guide\"](guide/i18n-common-format-data-locale) to know how to import additional locale\n * data.\n *\n * The signature registerLocaleData(data: any, extraData?: any) is deprecated since v5.1\n *\n * @publicApi\n */\nfunction registerLocaleData(data, localeId, extraData) {\n return ɵregisterLocaleData(data, localeId, extraData);\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nfunction parseCookieValue(cookieStr, name) {\n name = encodeURIComponent(name);\n for (const cookie of cookieStr.split(';')) {\n const eqIndex = cookie.indexOf('=');\n const [cookieName, cookieValue] = eqIndex == -1 ? [cookie, ''] : [cookie.slice(0, eqIndex), cookie.slice(eqIndex + 1)];\n if (cookieName.trim() === name) {\n return decodeURIComponent(cookieValue);\n }\n }\n return null;\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * @ngModule CommonModule\n *\n * @usageNotes\n * ```\n * ...\n *\n * ...\n *\n * ...\n *\n * ...\n *\n * ...\n * ```\n *\n * @description\n *\n * Adds and removes CSS classes on an HTML element.\n *\n * The CSS classes are updated as follows, depending on the type of the expression evaluation:\n * - `string` - the CSS classes listed in the string (space delimited) are added,\n * - `Array` - the CSS classes declared as Array elements are added,\n * - `Object` - keys are CSS classes that get added when the expression given in the value\n * evaluates to a truthy value, otherwise they are removed.\n *\n * @publicApi\n */\nclass NgClass {\n constructor(_iterableDiffers, _keyValueDiffers, _ngEl, _renderer) {\n this._iterableDiffers = _iterableDiffers;\n this._keyValueDiffers = _keyValueDiffers;\n this._ngEl = _ngEl;\n this._renderer = _renderer;\n this._iterableDiffer = null;\n this._keyValueDiffer = null;\n this._initialClasses = [];\n this._rawClass = null;\n }\n set klass(value) {\n this._removeClasses(this._initialClasses);\n this._initialClasses = typeof value === 'string' ? value.split(/\\s+/) : [];\n this._applyClasses(this._initialClasses);\n this._applyClasses(this._rawClass);\n }\n set ngClass(value) {\n this._removeClasses(this._rawClass);\n this._applyClasses(this._initialClasses);\n this._iterableDiffer = null;\n this._keyValueDiffer = null;\n this._rawClass = typeof value === 'string' ? value.split(/\\s+/) : value;\n if (this._rawClass) {\n if (ɵisListLikeIterable(this._rawClass)) {\n this._iterableDiffer = this._iterableDiffers.find(this._rawClass).create();\n }\n else {\n this._keyValueDiffer = this._keyValueDiffers.find(this._rawClass).create();\n }\n }\n }\n ngDoCheck() {\n if (this._iterableDiffer) {\n const iterableChanges = this._iterableDiffer.diff(this._rawClass);\n if (iterableChanges) {\n this._applyIterableChanges(iterableChanges);\n }\n }\n else if (this._keyValueDiffer) {\n const keyValueChanges = this._keyValueDiffer.diff(this._rawClass);\n if (keyValueChanges) {\n this._applyKeyValueChanges(keyValueChanges);\n }\n }\n }\n _applyKeyValueChanges(changes) {\n changes.forEachAddedItem((record) => this._toggleClass(record.key, record.currentValue));\n changes.forEachChangedItem((record) => this._toggleClass(record.key, record.currentValue));\n changes.forEachRemovedItem((record) => {\n if (record.previousValue) {\n this._toggleClass(record.key, false);\n }\n });\n }\n _applyIterableChanges(changes) {\n changes.forEachAddedItem((record) => {\n if (typeof record.item === 'string') {\n this._toggleClass(record.item, true);\n }\n else {\n throw new Error(`NgClass can only toggle CSS classes expressed as strings, got ${ɵstringify(record.item)}`);\n }\n });\n changes.forEachRemovedItem((record) => this._toggleClass(record.item, false));\n }\n /**\n * Applies a collection of CSS classes to the DOM element.\n *\n * For argument of type Set and Array CSS class names contained in those collections are always\n * added.\n * For argument of type Map CSS class name in the map's key is toggled based on the value (added\n * for truthy and removed for falsy).\n */\n _applyClasses(rawClassVal) {\n if (rawClassVal) {\n if (Array.isArray(rawClassVal) || rawClassVal instanceof Set) {\n rawClassVal.forEach((klass) => this._toggleClass(klass, true));\n }\n else {\n Object.keys(rawClassVal).forEach(klass => this._toggleClass(klass, !!rawClassVal[klass]));\n }\n }\n }\n /**\n * Removes a collection of CSS classes from the DOM element. This is mostly useful for cleanup\n * purposes.\n */\n _removeClasses(rawClassVal) {\n if (rawClassVal) {\n if (Array.isArray(rawClassVal) || rawClassVal instanceof Set) {\n rawClassVal.forEach((klass) => this._toggleClass(klass, false));\n }\n else {\n Object.keys(rawClassVal).forEach(klass => this._toggleClass(klass, false));\n }\n }\n }\n _toggleClass(klass, enabled) {\n klass = klass.trim();\n if (klass) {\n klass.split(/\\s+/g).forEach(klass => {\n if (enabled) {\n this._renderer.addClass(this._ngEl.nativeElement, klass);\n }\n else {\n this._renderer.removeClass(this._ngEl.nativeElement, klass);\n }\n });\n }\n }\n}\nNgClass.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"13.0.2\", ngImport: i0, type: NgClass, deps: [{ token: i0.IterableDiffers }, { token: i0.KeyValueDiffers }, { token: i0.ElementRef }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Directive });\nNgClass.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"12.0.0\", version: \"13.0.2\", type: NgClass, selector: \"[ngClass]\", inputs: { klass: [\"class\", \"klass\"], ngClass: \"ngClass\" }, ngImport: i0 });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"13.0.2\", ngImport: i0, type: NgClass, decorators: [{\n type: Directive,\n args: [{ selector: '[ngClass]' }]\n }], ctorParameters: function () { return [{ type: i0.IterableDiffers }, { type: i0.KeyValueDiffers }, { type: i0.ElementRef }, { type: i0.Renderer2 }]; }, propDecorators: { klass: [{\n type: Input,\n args: ['class']\n }], ngClass: [{\n type: Input,\n args: ['ngClass']\n }] } });\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * Instantiates a {@link Component} type and inserts its Host View into the current View.\n * `NgComponentOutlet` provides a declarative approach for dynamic component creation.\n *\n * `NgComponentOutlet` requires a component type, if a falsy value is set the view will clear and\n * any existing component will be destroyed.\n *\n * @usageNotes\n *\n * ### Fine tune control\n *\n * You can control the component creation process by using the following optional attributes:\n *\n * * `ngComponentOutletInjector`: Optional custom {@link Injector} that will be used as parent for\n * the Component. Defaults to the injector of the current view container.\n *\n * * `ngComponentOutletContent`: Optional list of projectable nodes to insert into the content\n * section of the component, if it exists.\n *\n * * `ngComponentOutletNgModuleFactory`: Optional module factory to allow loading another\n * module dynamically, then loading a component from that module.\n *\n * ### Syntax\n *\n * Simple\n * ```\n * \n * ```\n *\n * Customized injector/content\n * ```\n * \n * \n * ```\n *\n * Customized ngModuleFactory\n * ```\n * \n * \n * ```\n *\n * ### A simple example\n *\n * {@example common/ngComponentOutlet/ts/module.ts region='SimpleExample'}\n *\n * A more complete example with additional options:\n *\n * {@example common/ngComponentOutlet/ts/module.ts region='CompleteExample'}\n *\n * @publicApi\n * @ngModule CommonModule\n */\nclass NgComponentOutlet {\n constructor(_viewContainerRef) {\n this._viewContainerRef = _viewContainerRef;\n this._componentRef = null;\n this._moduleRef = null;\n }\n ngOnChanges(changes) {\n this._viewContainerRef.clear();\n this._componentRef = null;\n if (this.ngComponentOutlet) {\n const elInjector = this.ngComponentOutletInjector || this._viewContainerRef.parentInjector;\n if (changes['ngComponentOutletNgModuleFactory']) {\n if (this._moduleRef)\n this._moduleRef.destroy();\n if (this.ngComponentOutletNgModuleFactory) {\n const parentModule = elInjector.get(NgModuleRef);\n this._moduleRef = this.ngComponentOutletNgModuleFactory.create(parentModule.injector);\n }\n else {\n this._moduleRef = null;\n }\n }\n const componentFactoryResolver = this._moduleRef ? this._moduleRef.componentFactoryResolver :\n elInjector.get(ComponentFactoryResolver);\n const componentFactory = componentFactoryResolver.resolveComponentFactory(this.ngComponentOutlet);\n this._componentRef = this._viewContainerRef.createComponent(componentFactory, this._viewContainerRef.length, elInjector, this.ngComponentOutletContent);\n }\n }\n ngOnDestroy() {\n if (this._moduleRef)\n this._moduleRef.destroy();\n }\n}\nNgComponentOutlet.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"13.0.2\", ngImport: i0, type: NgComponentOutlet, deps: [{ token: i0.ViewContainerRef }], target: i0.ɵɵFactoryTarget.Directive });\nNgComponentOutlet.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"12.0.0\", version: \"13.0.2\", type: NgComponentOutlet, selector: \"[ngComponentOutlet]\", inputs: { ngComponentOutlet: \"ngComponentOutlet\", ngComponentOutletInjector: \"ngComponentOutletInjector\", ngComponentOutletContent: \"ngComponentOutletContent\", ngComponentOutletNgModuleFactory: \"ngComponentOutletNgModuleFactory\" }, usesOnChanges: true, ngImport: i0 });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"13.0.2\", ngImport: i0, type: NgComponentOutlet, decorators: [{\n type: Directive,\n args: [{ selector: '[ngComponentOutlet]' }]\n }], ctorParameters: function () { return [{ type: i0.ViewContainerRef }]; }, propDecorators: { ngComponentOutlet: [{\n type: Input\n }], ngComponentOutletInjector: [{\n type: Input\n }], ngComponentOutletContent: [{\n type: Input\n }], ngComponentOutletNgModuleFactory: [{\n type: Input\n }] } });\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * @publicApi\n */\nclass NgForOfContext {\n constructor($implicit, ngForOf, index, count) {\n this.$implicit = $implicit;\n this.ngForOf = ngForOf;\n this.index = index;\n this.count = count;\n }\n get first() {\n return this.index === 0;\n }\n get last() {\n return this.index === this.count - 1;\n }\n get even() {\n return this.index % 2 === 0;\n }\n get odd() {\n return !this.even;\n }\n}\n/**\n * A [structural directive](guide/structural-directives) that renders\n * a template for each item in a collection.\n * The directive is placed on an element, which becomes the parent\n * of the cloned templates.\n *\n * The `ngForOf` directive is generally used in the\n * [shorthand form](guide/structural-directives#asterisk) `*ngFor`.\n * In this form, the template to be rendered for each iteration is the content\n * of an anchor element containing the directive.\n *\n * The following example shows the shorthand syntax with some options,\n * contained in an `
  • ` element.\n *\n * ```\n *
  • ...
  • \n * ```\n *\n * The shorthand form expands into a long form that uses the `ngForOf` selector\n * on an `` element.\n * The content of the `` element is the `
  • ` element that held the\n * short-form directive.\n *\n * Here is the expanded version of the short-form example.\n *\n * ```\n * \n *
  • ...
  • \n *
    \n * ```\n *\n * Angular automatically expands the shorthand syntax as it compiles the template.\n * The context for each embedded view is logically merged to the current component\n * context according to its lexical position.\n *\n * When using the shorthand syntax, Angular allows only [one structural directive\n * on an element](guide/built-in-directives#one-per-element).\n * If you want to iterate conditionally, for example,\n * put the `*ngIf` on a container element that wraps the `*ngFor` element.\n * For futher discussion, see\n * [Structural Directives](guide/built-in-directives#one-per-element).\n *\n * @usageNotes\n *\n * ### Local variables\n *\n * `NgForOf` provides exported values that can be aliased to local variables.\n * For example:\n *\n * ```\n *
  • \n * {{i}}/{{users.length}}. {{user}} default\n *
  • \n * ```\n *\n * The following exported values can be aliased to local variables:\n *\n * - `$implicit: T`: The value of the individual items in the iterable (`ngForOf`).\n * - `ngForOf: NgIterable`: The value of the iterable expression. Useful when the expression is\n * more complex then a property access, for example when using the async pipe (`userStreams |\n * async`).\n * - `index: number`: The index of the current item in the iterable.\n * - `count: number`: The length of the iterable.\n * - `first: boolean`: True when the item is the first item in the iterable.\n * - `last: boolean`: True when the item is the last item in the iterable.\n * - `even: boolean`: True when the item has an even index in the iterable.\n * - `odd: boolean`: True when the item has an odd index in the iterable.\n *\n * ### Change propagation\n *\n * When the contents of the iterator changes, `NgForOf` makes the corresponding changes to the DOM:\n *\n * * When an item is added, a new instance of the template is added to the DOM.\n * * When an item is removed, its template instance is removed from the DOM.\n * * When items are reordered, their respective templates are reordered in the DOM.\n *\n * Angular uses object identity to track insertions and deletions within the iterator and reproduce\n * those changes in the DOM. This has important implications for animations and any stateful\n * controls that are present, such as `` elements that accept user input. Inserted rows can\n * be animated in, deleted rows can be animated out, and unchanged rows retain any unsaved state\n * such as user input.\n * For more on animations, see [Transitions and Triggers](guide/transition-and-triggers).\n *\n * The identities of elements in the iterator can change while the data does not.\n * This can happen, for example, if the iterator is produced from an RPC to the server, and that\n * RPC is re-run. Even if the data hasn't changed, the second response produces objects with\n * different identities, and Angular must tear down the entire DOM and rebuild it (as if all old\n * elements were deleted and all new elements inserted).\n *\n * To avoid this expensive operation, you can customize the default tracking algorithm.\n * by supplying the `trackBy` option to `NgForOf`.\n * `trackBy` takes a function that has two arguments: `index` and `item`.\n * If `trackBy` is given, Angular tracks changes by the return value of the function.\n *\n * @see [Structural Directives](guide/structural-directives)\n * @ngModule CommonModule\n * @publicApi\n */\nclass NgForOf {\n constructor(_viewContainer, _template, _differs) {\n this._viewContainer = _viewContainer;\n this._template = _template;\n this._differs = _differs;\n this._ngForOf = null;\n this._ngForOfDirty = true;\n this._differ = null;\n }\n /**\n * The value of the iterable expression, which can be used as a\n * [template input variable](guide/structural-directives#shorthand).\n */\n set ngForOf(ngForOf) {\n this._ngForOf = ngForOf;\n this._ngForOfDirty = true;\n }\n /**\n * Specifies a custom `TrackByFunction` to compute the identity of items in an iterable.\n *\n * If a custom `TrackByFunction` is not provided, `NgForOf` will use the item's [object\n * identity](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/is)\n * as the key.\n *\n * `NgForOf` uses the computed key to associate items in an iterable with DOM elements\n * it produces for these items.\n *\n * A custom `TrackByFunction` is useful to provide good user experience in cases when items in an\n * iterable rendered using `NgForOf` have a natural identifier (for example, custom ID or a\n * primary key), and this iterable could be updated with new object instances that still\n * represent the same underlying entity (for example, when data is re-fetched from the server,\n * and the iterable is recreated and re-rendered, but most of the data is still the same).\n *\n * @see `TrackByFunction`\n */\n set ngForTrackBy(fn) {\n if ((typeof ngDevMode === 'undefined' || ngDevMode) && fn != null && typeof fn !== 'function') {\n // TODO(vicb): use a log service once there is a public one available\n if (console && console.warn) {\n console.warn(`trackBy must be a function, but received ${JSON.stringify(fn)}. ` +\n `See https://angular.io/api/common/NgForOf#change-propagation for more information.`);\n }\n }\n this._trackByFn = fn;\n }\n get ngForTrackBy() {\n return this._trackByFn;\n }\n /**\n * A reference to the template that is stamped out for each item in the iterable.\n * @see [template reference variable](guide/template-reference-variables)\n */\n set ngForTemplate(value) {\n // TODO(TS2.1): make TemplateRef>> once we move to TS v2.1\n // The current type is too restrictive; a template that just uses index, for example,\n // should be acceptable.\n if (value) {\n this._template = value;\n }\n }\n /**\n * Applies the changes when needed.\n */\n ngDoCheck() {\n if (this._ngForOfDirty) {\n this._ngForOfDirty = false;\n // React on ngForOf changes only once all inputs have been initialized\n const value = this._ngForOf;\n if (!this._differ && value) {\n try {\n this._differ = this._differs.find(value).create(this.ngForTrackBy);\n }\n catch {\n throw new Error(`Cannot find a differ supporting object '${value}' of type '${getTypeName(value)}'. NgFor only supports binding to Iterables such as Arrays.`);\n }\n }\n }\n if (this._differ) {\n const changes = this._differ.diff(this._ngForOf);\n if (changes)\n this._applyChanges(changes);\n }\n }\n _applyChanges(changes) {\n const insertTuples = [];\n changes.forEachOperation((item, adjustedPreviousIndex, currentIndex) => {\n if (item.previousIndex == null) {\n // NgForOf is never \"null\" or \"undefined\" here because the differ detected\n // that a new item needs to be inserted from the iterable. This implies that\n // there is an iterable value for \"_ngForOf\".\n const view = this._viewContainer.createEmbeddedView(this._template, new NgForOfContext(null, this._ngForOf, -1, -1), currentIndex === null ? undefined : currentIndex);\n const tuple = new RecordViewTuple(item, view);\n insertTuples.push(tuple);\n }\n else if (currentIndex == null) {\n this._viewContainer.remove(adjustedPreviousIndex === null ? undefined : adjustedPreviousIndex);\n }\n else if (adjustedPreviousIndex !== null) {\n const view = this._viewContainer.get(adjustedPreviousIndex);\n this._viewContainer.move(view, currentIndex);\n const tuple = new RecordViewTuple(item, view);\n insertTuples.push(tuple);\n }\n });\n for (let i = 0; i < insertTuples.length; i++) {\n this._perViewChange(insertTuples[i].view, insertTuples[i].record);\n }\n for (let i = 0, ilen = this._viewContainer.length; i < ilen; i++) {\n const viewRef = this._viewContainer.get(i);\n viewRef.context.index = i;\n viewRef.context.count = ilen;\n viewRef.context.ngForOf = this._ngForOf;\n }\n changes.forEachIdentityChange((record) => {\n const viewRef = this._viewContainer.get(record.currentIndex);\n viewRef.context.$implicit = record.item;\n });\n }\n _perViewChange(view, record) {\n view.context.$implicit = record.item;\n }\n /**\n * Asserts the correct type of the context for the template that `NgForOf` will render.\n *\n * The presence of this method is a signal to the Ivy template type-check compiler that the\n * `NgForOf` structural directive renders its template with a specific context type.\n */\n static ngTemplateContextGuard(dir, ctx) {\n return true;\n }\n}\nNgForOf.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"13.0.2\", ngImport: i0, type: NgForOf, deps: [{ token: i0.ViewContainerRef }, { token: i0.TemplateRef }, { token: i0.IterableDiffers }], target: i0.ɵɵFactoryTarget.Directive });\nNgForOf.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"12.0.0\", version: \"13.0.2\", type: NgForOf, selector: \"[ngFor][ngForOf]\", inputs: { ngForOf: \"ngForOf\", ngForTrackBy: \"ngForTrackBy\", ngForTemplate: \"ngForTemplate\" }, ngImport: i0 });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"13.0.2\", ngImport: i0, type: NgForOf, decorators: [{\n type: Directive,\n args: [{ selector: '[ngFor][ngForOf]' }]\n }], ctorParameters: function () { return [{ type: i0.ViewContainerRef }, { type: i0.TemplateRef }, { type: i0.IterableDiffers }]; }, propDecorators: { ngForOf: [{\n type: Input\n }], ngForTrackBy: [{\n type: Input\n }], ngForTemplate: [{\n type: Input\n }] } });\nclass RecordViewTuple {\n constructor(record, view) {\n this.record = record;\n this.view = view;\n }\n}\nfunction getTypeName(type) {\n return type['name'] || typeof type;\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * A structural directive that conditionally includes a template based on the value of\n * an expression coerced to Boolean.\n * When the expression evaluates to true, Angular renders the template\n * provided in a `then` clause, and when false or null,\n * Angular renders the template provided in an optional `else` clause. The default\n * template for the `else` clause is blank.\n *\n * A [shorthand form](guide/structural-directives#asterisk) of the directive,\n * `*ngIf=\"condition\"`, is generally used, provided\n * as an attribute of the anchor element for the inserted template.\n * Angular expands this into a more explicit version, in which the anchor element\n * is contained in an `` element.\n *\n * Simple form with shorthand syntax:\n *\n * ```\n *
    Content to render when condition is true.
    \n * ```\n *\n * Simple form with expanded syntax:\n *\n * ```\n *
    Content to render when condition is\n * true.
    \n * ```\n *\n * Form with an \"else\" block:\n *\n * ```\n *
    Content to render when condition is true.
    \n * Content to render when condition is false.\n * ```\n *\n * Shorthand form with \"then\" and \"else\" blocks:\n *\n * ```\n *
    \n * Content to render when condition is true.\n * Content to render when condition is false.\n * ```\n *\n * Form with storing the value locally:\n *\n * ```\n *
    {{value}}
    \n * Content to render when value is null.\n * ```\n *\n * @usageNotes\n *\n * The `*ngIf` directive is most commonly used to conditionally show an inline template,\n * as seen in the following example.\n * The default `else` template is blank.\n *\n * {@example common/ngIf/ts/module.ts region='NgIfSimple'}\n *\n * ### Showing an alternative template using `else`\n *\n * To display a template when `expression` evaluates to false, use an `else` template\n * binding as shown in the following example.\n * The `else` binding points to an `` element labeled `#elseBlock`.\n * The template can be defined anywhere in the component view, but is typically placed right after\n * `ngIf` for readability.\n *\n * {@example common/ngIf/ts/module.ts region='NgIfElse'}\n *\n * ### Using an external `then` template\n *\n * In the previous example, the then-clause template is specified inline, as the content of the\n * tag that contains the `ngIf` directive. You can also specify a template that is defined\n * externally, by referencing a labeled `` element. When you do this, you can\n * change which template to use at runtime, as shown in the following example.\n *\n * {@example common/ngIf/ts/module.ts region='NgIfThenElse'}\n *\n * ### Storing a conditional result in a variable\n *\n * You might want to show a set of properties from the same object. If you are waiting\n * for asynchronous data, the object can be undefined.\n * In this case, you can use `ngIf` and store the result of the condition in a local\n * variable as shown in the following example.\n *\n * {@example common/ngIf/ts/module.ts region='NgIfAs'}\n *\n * This code uses only one `AsyncPipe`, so only one subscription is created.\n * The conditional statement stores the result of `userStream|async` in the local variable `user`.\n * You can then bind the local `user` repeatedly.\n *\n * The conditional displays the data only if `userStream` returns a value,\n * so you don't need to use the\n * safe-navigation-operator (`?.`)\n * to guard against null values when accessing properties.\n * You can display an alternative template while waiting for the data.\n *\n * ### Shorthand syntax\n *\n * The shorthand syntax `*ngIf` expands into two separate template specifications\n * for the \"then\" and \"else\" clauses. For example, consider the following shorthand statement,\n * that is meant to show a loading page while waiting for data to be loaded.\n *\n * ```\n *
    \n * ...\n *
    \n *\n * \n *
    Loading...
    \n *
    \n * ```\n *\n * You can see that the \"else\" clause references the ``\n * with the `#loading` label, and the template for the \"then\" clause\n * is provided as the content of the anchor element.\n *\n * However, when Angular expands the shorthand syntax, it creates\n * another `` tag, with `ngIf` and `ngIfElse` directives.\n * The anchor element containing the template for the \"then\" clause becomes\n * the content of this unlabeled `` tag.\n *\n * ```\n * \n *
    \n * ...\n *
    \n *
    \n *\n * \n *
    Loading...
    \n *
    \n * ```\n *\n * The presence of the implicit template object has implications for the nesting of\n * structural directives. For more on this subject, see\n * [Structural Directives](https://angular.io/guide/built-in-directives#one-per-element).\n *\n * @ngModule CommonModule\n * @publicApi\n */\nclass NgIf {\n constructor(_viewContainer, templateRef) {\n this._viewContainer = _viewContainer;\n this._context = new NgIfContext();\n this._thenTemplateRef = null;\n this._elseTemplateRef = null;\n this._thenViewRef = null;\n this._elseViewRef = null;\n this._thenTemplateRef = templateRef;\n }\n /**\n * The Boolean expression to evaluate as the condition for showing a template.\n */\n set ngIf(condition) {\n this._context.$implicit = this._context.ngIf = condition;\n this._updateView();\n }\n /**\n * A template to show if the condition expression evaluates to true.\n */\n set ngIfThen(templateRef) {\n assertTemplate('ngIfThen', templateRef);\n this._thenTemplateRef = templateRef;\n this._thenViewRef = null; // clear previous view if any.\n this._updateView();\n }\n /**\n * A template to show if the condition expression evaluates to false.\n */\n set ngIfElse(templateRef) {\n assertTemplate('ngIfElse', templateRef);\n this._elseTemplateRef = templateRef;\n this._elseViewRef = null; // clear previous view if any.\n this._updateView();\n }\n _updateView() {\n if (this._context.$implicit) {\n if (!this._thenViewRef) {\n this._viewContainer.clear();\n this._elseViewRef = null;\n if (this._thenTemplateRef) {\n this._thenViewRef =\n this._viewContainer.createEmbeddedView(this._thenTemplateRef, this._context);\n }\n }\n }\n else {\n if (!this._elseViewRef) {\n this._viewContainer.clear();\n this._thenViewRef = null;\n if (this._elseTemplateRef) {\n this._elseViewRef =\n this._viewContainer.createEmbeddedView(this._elseTemplateRef, this._context);\n }\n }\n }\n }\n /**\n * Asserts the correct type of the context for the template that `NgIf` will render.\n *\n * The presence of this method is a signal to the Ivy template type-check compiler that the\n * `NgIf` structural directive renders its template with a specific context type.\n */\n static ngTemplateContextGuard(dir, ctx) {\n return true;\n }\n}\nNgIf.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"13.0.2\", ngImport: i0, type: NgIf, deps: [{ token: i0.ViewContainerRef }, { token: i0.TemplateRef }], target: i0.ɵɵFactoryTarget.Directive });\nNgIf.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"12.0.0\", version: \"13.0.2\", type: NgIf, selector: \"[ngIf]\", inputs: { ngIf: \"ngIf\", ngIfThen: \"ngIfThen\", ngIfElse: \"ngIfElse\" }, ngImport: i0 });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"13.0.2\", ngImport: i0, type: NgIf, decorators: [{\n type: Directive,\n args: [{ selector: '[ngIf]' }]\n }], ctorParameters: function () { return [{ type: i0.ViewContainerRef }, { type: i0.TemplateRef }]; }, propDecorators: { ngIf: [{\n type: Input\n }], ngIfThen: [{\n type: Input\n }], ngIfElse: [{\n type: Input\n }] } });\n/**\n * @publicApi\n */\nclass NgIfContext {\n constructor() {\n this.$implicit = null;\n this.ngIf = null;\n }\n}\nfunction assertTemplate(property, templateRef) {\n const isTemplateRefOrNull = !!(!templateRef || templateRef.createEmbeddedView);\n if (!isTemplateRefOrNull) {\n throw new Error(`${property} must be a TemplateRef, but received '${ɵstringify(templateRef)}'.`);\n }\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nclass SwitchView {\n constructor(_viewContainerRef, _templateRef) {\n this._viewContainerRef = _viewContainerRef;\n this._templateRef = _templateRef;\n this._created = false;\n }\n create() {\n this._created = true;\n this._viewContainerRef.createEmbeddedView(this._templateRef);\n }\n destroy() {\n this._created = false;\n this._viewContainerRef.clear();\n }\n enforceState(created) {\n if (created && !this._created) {\n this.create();\n }\n else if (!created && this._created) {\n this.destroy();\n }\n }\n}\n/**\n * @ngModule CommonModule\n *\n * @description\n * The `[ngSwitch]` directive on a container specifies an expression to match against.\n * The expressions to match are provided by `ngSwitchCase` directives on views within the container.\n * - Every view that matches is rendered.\n * - If there are no matches, a view with the `ngSwitchDefault` directive is rendered.\n * - Elements within the `[NgSwitch]` statement but outside of any `NgSwitchCase`\n * or `ngSwitchDefault` directive are preserved at the location.\n *\n * @usageNotes\n * Define a container element for the directive, and specify the switch expression\n * to match against as an attribute:\n *\n * ```\n * \n * ```\n *\n * Within the container, `*ngSwitchCase` statements specify the match expressions\n * as attributes. Include `*ngSwitchDefault` as the final case.\n *\n * ```\n * \n * ...\n * ...\n * ...\n * \n * ```\n *\n * ### Usage Examples\n *\n * The following example shows how to use more than one case to display the same view:\n *\n * ```\n * \n * \n * ...\n * ...\n * ...\n * \n * ...\n * \n * ```\n *\n * The following example shows how cases can be nested:\n * ```\n * \n * ...\n * ...\n * ...\n * \n * \n * \n * \n * \n * ...\n * \n * ```\n *\n * @publicApi\n * @see `NgSwitchCase`\n * @see `NgSwitchDefault`\n * @see [Structural Directives](guide/structural-directives)\n *\n */\nclass NgSwitch {\n constructor() {\n this._defaultUsed = false;\n this._caseCount = 0;\n this._lastCaseCheckIndex = 0;\n this._lastCasesMatched = false;\n }\n set ngSwitch(newValue) {\n this._ngSwitch = newValue;\n if (this._caseCount === 0) {\n this._updateDefaultCases(true);\n }\n }\n /** @internal */\n _addCase() {\n return this._caseCount++;\n }\n /** @internal */\n _addDefault(view) {\n if (!this._defaultViews) {\n this._defaultViews = [];\n }\n this._defaultViews.push(view);\n }\n /** @internal */\n _matchCase(value) {\n const matched = value == this._ngSwitch;\n this._lastCasesMatched = this._lastCasesMatched || matched;\n this._lastCaseCheckIndex++;\n if (this._lastCaseCheckIndex === this._caseCount) {\n this._updateDefaultCases(!this._lastCasesMatched);\n this._lastCaseCheckIndex = 0;\n this._lastCasesMatched = false;\n }\n return matched;\n }\n _updateDefaultCases(useDefault) {\n if (this._defaultViews && useDefault !== this._defaultUsed) {\n this._defaultUsed = useDefault;\n for (let i = 0; i < this._defaultViews.length; i++) {\n const defaultView = this._defaultViews[i];\n defaultView.enforceState(useDefault);\n }\n }\n }\n}\nNgSwitch.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"13.0.2\", ngImport: i0, type: NgSwitch, deps: [], target: i0.ɵɵFactoryTarget.Directive });\nNgSwitch.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"12.0.0\", version: \"13.0.2\", type: NgSwitch, selector: \"[ngSwitch]\", inputs: { ngSwitch: \"ngSwitch\" }, ngImport: i0 });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"13.0.2\", ngImport: i0, type: NgSwitch, decorators: [{\n type: Directive,\n args: [{ selector: '[ngSwitch]' }]\n }], propDecorators: { ngSwitch: [{\n type: Input\n }] } });\n/**\n * @ngModule CommonModule\n *\n * @description\n * Provides a switch case expression to match against an enclosing `ngSwitch` expression.\n * When the expressions match, the given `NgSwitchCase` template is rendered.\n * If multiple match expressions match the switch expression value, all of them are displayed.\n *\n * @usageNotes\n *\n * Within a switch container, `*ngSwitchCase` statements specify the match expressions\n * as attributes. Include `*ngSwitchDefault` as the final case.\n *\n * ```\n * \n * ...\n * ...\n * ...\n * \n * ```\n *\n * Each switch-case statement contains an in-line HTML template or template reference\n * that defines the subtree to be selected if the value of the match expression\n * matches the value of the switch expression.\n *\n * Unlike JavaScript, which uses strict equality, Angular uses loose equality.\n * This means that the empty string, `\"\"` matches 0.\n *\n * @publicApi\n * @see `NgSwitch`\n * @see `NgSwitchDefault`\n *\n */\nclass NgSwitchCase {\n constructor(viewContainer, templateRef, ngSwitch) {\n this.ngSwitch = ngSwitch;\n if ((typeof ngDevMode === 'undefined' || ngDevMode) && !ngSwitch) {\n throwNgSwitchProviderNotFoundError('ngSwitchCase', 'NgSwitchCase');\n }\n ngSwitch._addCase();\n this._view = new SwitchView(viewContainer, templateRef);\n }\n /**\n * Performs case matching. For internal use only.\n */\n ngDoCheck() {\n this._view.enforceState(this.ngSwitch._matchCase(this.ngSwitchCase));\n }\n}\nNgSwitchCase.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"13.0.2\", ngImport: i0, type: NgSwitchCase, deps: [{ token: i0.ViewContainerRef }, { token: i0.TemplateRef }, { token: NgSwitch, host: true, optional: true }], target: i0.ɵɵFactoryTarget.Directive });\nNgSwitchCase.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"12.0.0\", version: \"13.0.2\", type: NgSwitchCase, selector: \"[ngSwitchCase]\", inputs: { ngSwitchCase: \"ngSwitchCase\" }, ngImport: i0 });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"13.0.2\", ngImport: i0, type: NgSwitchCase, decorators: [{\n type: Directive,\n args: [{ selector: '[ngSwitchCase]' }]\n }], ctorParameters: function () { return [{ type: i0.ViewContainerRef }, { type: i0.TemplateRef }, { type: NgSwitch, decorators: [{\n type: Optional\n }, {\n type: Host\n }] }]; }, propDecorators: { ngSwitchCase: [{\n type: Input\n }] } });\n/**\n * @ngModule CommonModule\n *\n * @description\n *\n * Creates a view that is rendered when no `NgSwitchCase` expressions\n * match the `NgSwitch` expression.\n * This statement should be the final case in an `NgSwitch`.\n *\n * @publicApi\n * @see `NgSwitch`\n * @see `NgSwitchCase`\n *\n */\nclass NgSwitchDefault {\n constructor(viewContainer, templateRef, ngSwitch) {\n if ((typeof ngDevMode === 'undefined' || ngDevMode) && !ngSwitch) {\n throwNgSwitchProviderNotFoundError('ngSwitchDefault', 'NgSwitchDefault');\n }\n ngSwitch._addDefault(new SwitchView(viewContainer, templateRef));\n }\n}\nNgSwitchDefault.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"13.0.2\", ngImport: i0, type: NgSwitchDefault, deps: [{ token: i0.ViewContainerRef }, { token: i0.TemplateRef }, { token: NgSwitch, host: true, optional: true }], target: i0.ɵɵFactoryTarget.Directive });\nNgSwitchDefault.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"12.0.0\", version: \"13.0.2\", type: NgSwitchDefault, selector: \"[ngSwitchDefault]\", ngImport: i0 });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"13.0.2\", ngImport: i0, type: NgSwitchDefault, decorators: [{\n type: Directive,\n args: [{ selector: '[ngSwitchDefault]' }]\n }], ctorParameters: function () { return [{ type: i0.ViewContainerRef }, { type: i0.TemplateRef }, { type: NgSwitch, decorators: [{\n type: Optional\n }, {\n type: Host\n }] }]; } });\nfunction throwNgSwitchProviderNotFoundError(attrName, directiveName) {\n throw new ɵRuntimeError(\"305\" /* TEMPLATE_STRUCTURE_ERROR */, `An element with the \"${attrName}\" attribute ` +\n `(matching the \"${directiveName}\" directive) must be located inside an element with the \"ngSwitch\" attribute ` +\n `(matching \"NgSwitch\" directive)`);\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * @ngModule CommonModule\n *\n * @usageNotes\n * ```\n * \n * there is nothing\n * there is one\n * there are a few\n * \n * ```\n *\n * @description\n *\n * Adds / removes DOM sub-trees based on a numeric value. Tailored for pluralization.\n *\n * Displays DOM sub-trees that match the switch expression value, or failing that, DOM sub-trees\n * that match the switch expression's pluralization category.\n *\n * To use this directive you must provide a container element that sets the `[ngPlural]` attribute\n * to a switch expression. Inner elements with a `[ngPluralCase]` will display based on their\n * expression:\n * - if `[ngPluralCase]` is set to a value starting with `=`, it will only display if the value\n * matches the switch expression exactly,\n * - otherwise, the view will be treated as a \"category match\", and will only display if exact\n * value matches aren't found and the value maps to its category for the defined locale.\n *\n * See http://cldr.unicode.org/index/cldr-spec/plural-rules\n *\n * @publicApi\n */\nclass NgPlural {\n constructor(_localization) {\n this._localization = _localization;\n this._caseViews = {};\n }\n set ngPlural(value) {\n this._switchValue = value;\n this._updateView();\n }\n addCase(value, switchView) {\n this._caseViews[value] = switchView;\n }\n _updateView() {\n this._clearViews();\n const cases = Object.keys(this._caseViews);\n const key = getPluralCategory(this._switchValue, cases, this._localization);\n this._activateView(this._caseViews[key]);\n }\n _clearViews() {\n if (this._activeView)\n this._activeView.destroy();\n }\n _activateView(view) {\n if (view) {\n this._activeView = view;\n this._activeView.create();\n }\n }\n}\nNgPlural.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"13.0.2\", ngImport: i0, type: NgPlural, deps: [{ token: NgLocalization }], target: i0.ɵɵFactoryTarget.Directive });\nNgPlural.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"12.0.0\", version: \"13.0.2\", type: NgPlural, selector: \"[ngPlural]\", inputs: { ngPlural: \"ngPlural\" }, ngImport: i0 });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"13.0.2\", ngImport: i0, type: NgPlural, decorators: [{\n type: Directive,\n args: [{ selector: '[ngPlural]' }]\n }], ctorParameters: function () { return [{ type: NgLocalization }]; }, propDecorators: { ngPlural: [{\n type: Input\n }] } });\n/**\n * @ngModule CommonModule\n *\n * @description\n *\n * Creates a view that will be added/removed from the parent {@link NgPlural} when the\n * given expression matches the plural expression according to CLDR rules.\n *\n * @usageNotes\n * ```\n * \n * ...\n * ...\n * \n *```\n *\n * See {@link NgPlural} for more details and example.\n *\n * @publicApi\n */\nclass NgPluralCase {\n constructor(value, template, viewContainer, ngPlural) {\n this.value = value;\n const isANumber = !isNaN(Number(value));\n ngPlural.addCase(isANumber ? `=${value}` : value, new SwitchView(viewContainer, template));\n }\n}\nNgPluralCase.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"13.0.2\", ngImport: i0, type: NgPluralCase, deps: [{ token: 'ngPluralCase', attribute: true }, { token: i0.TemplateRef }, { token: i0.ViewContainerRef }, { token: NgPlural, host: true }], target: i0.ɵɵFactoryTarget.Directive });\nNgPluralCase.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"12.0.0\", version: \"13.0.2\", type: NgPluralCase, selector: \"[ngPluralCase]\", ngImport: i0 });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"13.0.2\", ngImport: i0, type: NgPluralCase, decorators: [{\n type: Directive,\n args: [{ selector: '[ngPluralCase]' }]\n }], ctorParameters: function () { return [{ type: undefined, decorators: [{\n type: Attribute,\n args: ['ngPluralCase']\n }] }, { type: i0.TemplateRef }, { type: i0.ViewContainerRef }, { type: NgPlural, decorators: [{\n type: Host\n }] }]; } });\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * @ngModule CommonModule\n *\n * @usageNotes\n *\n * Set the font of the containing element to the result of an expression.\n *\n * ```\n * ...\n * ```\n *\n * Set the width of the containing element to a pixel value returned by an expression.\n *\n * ```\n * ...\n * ```\n *\n * Set a collection of style values using an expression that returns key-value pairs.\n *\n * ```\n * ...\n * ```\n *\n * @description\n *\n * An attribute directive that updates styles for the containing HTML element.\n * Sets one or more style properties, specified as colon-separated key-value pairs.\n * The key is a style name, with an optional `.` suffix\n * (such as 'top.px', 'font-style.em').\n * The value is an expression to be evaluated.\n * The resulting non-null value, expressed in the given unit,\n * is assigned to the given style property.\n * If the result of evaluation is null, the corresponding style is removed.\n *\n * @publicApi\n */\nclass NgStyle {\n constructor(_ngEl, _differs, _renderer) {\n this._ngEl = _ngEl;\n this._differs = _differs;\n this._renderer = _renderer;\n this._ngStyle = null;\n this._differ = null;\n }\n set ngStyle(values) {\n this._ngStyle = values;\n if (!this._differ && values) {\n this._differ = this._differs.find(values).create();\n }\n }\n ngDoCheck() {\n if (this._differ) {\n const changes = this._differ.diff(this._ngStyle);\n if (changes) {\n this._applyChanges(changes);\n }\n }\n }\n _setStyle(nameAndUnit, value) {\n const [name, unit] = nameAndUnit.split('.');\n value = value != null && unit ? `${value}${unit}` : value;\n if (value != null) {\n this._renderer.setStyle(this._ngEl.nativeElement, name, value);\n }\n else {\n this._renderer.removeStyle(this._ngEl.nativeElement, name);\n }\n }\n _applyChanges(changes) {\n changes.forEachRemovedItem((record) => this._setStyle(record.key, null));\n changes.forEachAddedItem((record) => this._setStyle(record.key, record.currentValue));\n changes.forEachChangedItem((record) => this._setStyle(record.key, record.currentValue));\n }\n}\nNgStyle.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"13.0.2\", ngImport: i0, type: NgStyle, deps: [{ token: i0.ElementRef }, { token: i0.KeyValueDiffers }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Directive });\nNgStyle.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"12.0.0\", version: \"13.0.2\", type: NgStyle, selector: \"[ngStyle]\", inputs: { ngStyle: \"ngStyle\" }, ngImport: i0 });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"13.0.2\", ngImport: i0, type: NgStyle, decorators: [{\n type: Directive,\n args: [{ selector: '[ngStyle]' }]\n }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.KeyValueDiffers }, { type: i0.Renderer2 }]; }, propDecorators: { ngStyle: [{\n type: Input,\n args: ['ngStyle']\n }] } });\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * @ngModule CommonModule\n *\n * @description\n *\n * Inserts an embedded view from a prepared `TemplateRef`.\n *\n * You can attach a context object to the `EmbeddedViewRef` by setting `[ngTemplateOutletContext]`.\n * `[ngTemplateOutletContext]` should be an object, the object's keys will be available for binding\n * by the local template `let` declarations.\n *\n * @usageNotes\n * ```\n * \n * ```\n *\n * Using the key `$implicit` in the context object will set its value as default.\n *\n * ### Example\n *\n * {@example common/ngTemplateOutlet/ts/module.ts region='NgTemplateOutlet'}\n *\n * @publicApi\n */\nclass NgTemplateOutlet {\n constructor(_viewContainerRef) {\n this._viewContainerRef = _viewContainerRef;\n this._viewRef = null;\n /**\n * A context object to attach to the {@link EmbeddedViewRef}. This should be an\n * object, the object's keys will be available for binding by the local template `let`\n * declarations.\n * Using the key `$implicit` in the context object will set its value as default.\n */\n this.ngTemplateOutletContext = null;\n /**\n * A string defining the template reference and optionally the context object for the template.\n */\n this.ngTemplateOutlet = null;\n }\n ngOnChanges(changes) {\n if (changes['ngTemplateOutlet']) {\n const viewContainerRef = this._viewContainerRef;\n if (this._viewRef) {\n viewContainerRef.remove(viewContainerRef.indexOf(this._viewRef));\n }\n this._viewRef = this.ngTemplateOutlet ?\n viewContainerRef.createEmbeddedView(this.ngTemplateOutlet, this.ngTemplateOutletContext) :\n null;\n }\n else if (this._viewRef && changes['ngTemplateOutletContext'] && this.ngTemplateOutletContext) {\n this._viewRef.context = this.ngTemplateOutletContext;\n }\n }\n}\nNgTemplateOutlet.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"13.0.2\", ngImport: i0, type: NgTemplateOutlet, deps: [{ token: i0.ViewContainerRef }], target: i0.ɵɵFactoryTarget.Directive });\nNgTemplateOutlet.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"12.0.0\", version: \"13.0.2\", type: NgTemplateOutlet, selector: \"[ngTemplateOutlet]\", inputs: { ngTemplateOutletContext: \"ngTemplateOutletContext\", ngTemplateOutlet: \"ngTemplateOutlet\" }, usesOnChanges: true, ngImport: i0 });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"13.0.2\", ngImport: i0, type: NgTemplateOutlet, decorators: [{\n type: Directive,\n args: [{ selector: '[ngTemplateOutlet]' }]\n }], ctorParameters: function () { return [{ type: i0.ViewContainerRef }]; }, propDecorators: { ngTemplateOutletContext: [{\n type: Input\n }], ngTemplateOutlet: [{\n type: Input\n }] } });\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * A collection of Angular directives that are likely to be used in each and every Angular\n * application.\n */\nconst COMMON_DIRECTIVES = [\n NgClass,\n NgComponentOutlet,\n NgForOf,\n NgIf,\n NgTemplateOutlet,\n NgStyle,\n NgSwitch,\n NgSwitchCase,\n NgSwitchDefault,\n NgPlural,\n NgPluralCase,\n];\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nfunction invalidPipeArgumentError(type, value) {\n return Error(`InvalidPipeArgument: '${value}' for pipe '${ɵstringify(type)}'`);\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nclass SubscribableStrategy {\n createSubscription(async, updateLatestValue) {\n return async.subscribe({\n next: updateLatestValue,\n error: (e) => {\n throw e;\n }\n });\n }\n dispose(subscription) {\n subscription.unsubscribe();\n }\n onDestroy(subscription) {\n subscription.unsubscribe();\n }\n}\nclass PromiseStrategy {\n createSubscription(async, updateLatestValue) {\n return async.then(updateLatestValue, e => {\n throw e;\n });\n }\n dispose(subscription) { }\n onDestroy(subscription) { }\n}\nconst _promiseStrategy = new PromiseStrategy();\nconst _subscribableStrategy = new SubscribableStrategy();\n/**\n * @ngModule CommonModule\n * @description\n *\n * Unwraps a value from an asynchronous primitive.\n *\n * The `async` pipe subscribes to an `Observable` or `Promise` and returns the latest value it has\n * emitted. When a new value is emitted, the `async` pipe marks the component to be checked for\n * changes. When the component gets destroyed, the `async` pipe unsubscribes automatically to avoid\n * potential memory leaks. When the reference of the expression changes, the `async` pipe\n * automatically unsubscribes from the old `Observable` or `Promise` and subscribes to the new one.\n *\n * @usageNotes\n *\n * ### Examples\n *\n * This example binds a `Promise` to the view. Clicking the `Resolve` button resolves the\n * promise.\n *\n * {@example common/pipes/ts/async_pipe.ts region='AsyncPipePromise'}\n *\n * It's also possible to use `async` with Observables. The example below binds the `time` Observable\n * to the view. The Observable continuously updates the view with the current time.\n *\n * {@example common/pipes/ts/async_pipe.ts region='AsyncPipeObservable'}\n *\n * @publicApi\n */\nclass AsyncPipe {\n constructor(_ref) {\n this._ref = _ref;\n this._latestValue = null;\n this._subscription = null;\n this._obj = null;\n this._strategy = null;\n }\n ngOnDestroy() {\n if (this._subscription) {\n this._dispose();\n }\n }\n transform(obj) {\n if (!this._obj) {\n if (obj) {\n this._subscribe(obj);\n }\n return this._latestValue;\n }\n if (obj !== this._obj) {\n this._dispose();\n return this.transform(obj);\n }\n return this._latestValue;\n }\n _subscribe(obj) {\n this._obj = obj;\n this._strategy = this._selectStrategy(obj);\n this._subscription = this._strategy.createSubscription(obj, (value) => this._updateLatestValue(obj, value));\n }\n _selectStrategy(obj) {\n if (ɵisPromise(obj)) {\n return _promiseStrategy;\n }\n if (ɵisSubscribable(obj)) {\n return _subscribableStrategy;\n }\n throw invalidPipeArgumentError(AsyncPipe, obj);\n }\n _dispose() {\n this._strategy.dispose(this._subscription);\n this._latestValue = null;\n this._subscription = null;\n this._obj = null;\n }\n _updateLatestValue(async, value) {\n if (async === this._obj) {\n this._latestValue = value;\n this._ref.markForCheck();\n }\n }\n}\nAsyncPipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"13.0.2\", ngImport: i0, type: AsyncPipe, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Pipe });\nAsyncPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: \"12.0.0\", version: \"13.0.2\", ngImport: i0, type: AsyncPipe, name: \"async\", pure: false });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"13.0.2\", ngImport: i0, type: AsyncPipe, decorators: [{\n type: Pipe,\n args: [{ name: 'async', pure: false }]\n }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }]; } });\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * Transforms text to all lower case.\n *\n * @see `UpperCasePipe`\n * @see `TitleCasePipe`\n * @usageNotes\n *\n * The following example defines a view that allows the user to enter\n * text, and then uses the pipe to convert the input text to all lower case.\n *\n * \n *\n * @ngModule CommonModule\n * @publicApi\n */\nclass LowerCasePipe {\n transform(value) {\n if (value == null)\n return null;\n if (typeof value !== 'string') {\n throw invalidPipeArgumentError(LowerCasePipe, value);\n }\n return value.toLowerCase();\n }\n}\nLowerCasePipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"13.0.2\", ngImport: i0, type: LowerCasePipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });\nLowerCasePipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: \"12.0.0\", version: \"13.0.2\", ngImport: i0, type: LowerCasePipe, name: \"lowercase\" });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"13.0.2\", ngImport: i0, type: LowerCasePipe, decorators: [{\n type: Pipe,\n args: [{ name: 'lowercase' }]\n }] });\n//\n// Regex below matches any Unicode word and number compatible with ES5. In ES2018 the same result\n// can be achieved by using /[0-9\\p{L}]\\S*/gu and also known as Unicode Property Escapes\n// (https://2ality.com/2017/07/regexp-unicode-property-escapes.html). Since there is no\n// transpilation of this functionality down to ES5 without external tool, the only solution is\n// to use already transpiled form. Example can be found here -\n// https://mothereff.in/regexpu#input=var+regex+%3D+%2F%5B0-9%5Cp%7BL%7D%5D%5CS*%2Fgu%3B%0A%0A&unicodePropertyEscape=1\n//\nconst unicodeWordMatch = /(?:[0-9A-Za-z\\xAA\\xB5\\xBA\\xC0-\\xD6\\xD8-\\xF6\\xF8-\\u02C1\\u02C6-\\u02D1\\u02E0-\\u02E4\\u02EC\\u02EE\\u0370-\\u0374\\u0376\\u0377\\u037A-\\u037D\\u037F\\u0386\\u0388-\\u038A\\u038C\\u038E-\\u03A1\\u03A3-\\u03F5\\u03F7-\\u0481\\u048A-\\u052F\\u0531-\\u0556\\u0559\\u0560-\\u0588\\u05D0-\\u05EA\\u05EF-\\u05F2\\u0620-\\u064A\\u066E\\u066F\\u0671-\\u06D3\\u06D5\\u06E5\\u06E6\\u06EE\\u06EF\\u06FA-\\u06FC\\u06FF\\u0710\\u0712-\\u072F\\u074D-\\u07A5\\u07B1\\u07CA-\\u07EA\\u07F4\\u07F5\\u07FA\\u0800-\\u0815\\u081A\\u0824\\u0828\\u0840-\\u0858\\u0860-\\u086A\\u0870-\\u0887\\u0889-\\u088E\\u08A0-\\u08C9\\u0904-\\u0939\\u093D\\u0950\\u0958-\\u0961\\u0971-\\u0980\\u0985-\\u098C\\u098F\\u0990\\u0993-\\u09A8\\u09AA-\\u09B0\\u09B2\\u09B6-\\u09B9\\u09BD\\u09CE\\u09DC\\u09DD\\u09DF-\\u09E1\\u09F0\\u09F1\\u09FC\\u0A05-\\u0A0A\\u0A0F\\u0A10\\u0A13-\\u0A28\\u0A2A-\\u0A30\\u0A32\\u0A33\\u0A35\\u0A36\\u0A38\\u0A39\\u0A59-\\u0A5C\\u0A5E\\u0A72-\\u0A74\\u0A85-\\u0A8D\\u0A8F-\\u0A91\\u0A93-\\u0AA8\\u0AAA-\\u0AB0\\u0AB2\\u0AB3\\u0AB5-\\u0AB9\\u0ABD\\u0AD0\\u0AE0\\u0AE1\\u0AF9\\u0B05-\\u0B0C\\u0B0F\\u0B10\\u0B13-\\u0B28\\u0B2A-\\u0B30\\u0B32\\u0B33\\u0B35-\\u0B39\\u0B3D\\u0B5C\\u0B5D\\u0B5F-\\u0B61\\u0B71\\u0B83\\u0B85-\\u0B8A\\u0B8E-\\u0B90\\u0B92-\\u0B95\\u0B99\\u0B9A\\u0B9C\\u0B9E\\u0B9F\\u0BA3\\u0BA4\\u0BA8-\\u0BAA\\u0BAE-\\u0BB9\\u0BD0\\u0C05-\\u0C0C\\u0C0E-\\u0C10\\u0C12-\\u0C28\\u0C2A-\\u0C39\\u0C3D\\u0C58-\\u0C5A\\u0C5D\\u0C60\\u0C61\\u0C80\\u0C85-\\u0C8C\\u0C8E-\\u0C90\\u0C92-\\u0CA8\\u0CAA-\\u0CB3\\u0CB5-\\u0CB9\\u0CBD\\u0CDD\\u0CDE\\u0CE0\\u0CE1\\u0CF1\\u0CF2\\u0D04-\\u0D0C\\u0D0E-\\u0D10\\u0D12-\\u0D3A\\u0D3D\\u0D4E\\u0D54-\\u0D56\\u0D5F-\\u0D61\\u0D7A-\\u0D7F\\u0D85-\\u0D96\\u0D9A-\\u0DB1\\u0DB3-\\u0DBB\\u0DBD\\u0DC0-\\u0DC6\\u0E01-\\u0E30\\u0E32\\u0E33\\u0E40-\\u0E46\\u0E81\\u0E82\\u0E84\\u0E86-\\u0E8A\\u0E8C-\\u0EA3\\u0EA5\\u0EA7-\\u0EB0\\u0EB2\\u0EB3\\u0EBD\\u0EC0-\\u0EC4\\u0EC6\\u0EDC-\\u0EDF\\u0F00\\u0F40-\\u0F47\\u0F49-\\u0F6C\\u0F88-\\u0F8C\\u1000-\\u102A\\u103F\\u1050-\\u1055\\u105A-\\u105D\\u1061\\u1065\\u1066\\u106E-\\u1070\\u1075-\\u1081\\u108E\\u10A0-\\u10C5\\u10C7\\u10CD\\u10D0-\\u10FA\\u10FC-\\u1248\\u124A-\\u124D\\u1250-\\u1256\\u1258\\u125A-\\u125D\\u1260-\\u1288\\u128A-\\u128D\\u1290-\\u12B0\\u12B2-\\u12B5\\u12B8-\\u12BE\\u12C0\\u12C2-\\u12C5\\u12C8-\\u12D6\\u12D8-\\u1310\\u1312-\\u1315\\u1318-\\u135A\\u1380-\\u138F\\u13A0-\\u13F5\\u13F8-\\u13FD\\u1401-\\u166C\\u166F-\\u167F\\u1681-\\u169A\\u16A0-\\u16EA\\u16F1-\\u16F8\\u1700-\\u1711\\u171F-\\u1731\\u1740-\\u1751\\u1760-\\u176C\\u176E-\\u1770\\u1780-\\u17B3\\u17D7\\u17DC\\u1820-\\u1878\\u1880-\\u1884\\u1887-\\u18A8\\u18AA\\u18B0-\\u18F5\\u1900-\\u191E\\u1950-\\u196D\\u1970-\\u1974\\u1980-\\u19AB\\u19B0-\\u19C9\\u1A00-\\u1A16\\u1A20-\\u1A54\\u1AA7\\u1B05-\\u1B33\\u1B45-\\u1B4C\\u1B83-\\u1BA0\\u1BAE\\u1BAF\\u1BBA-\\u1BE5\\u1C00-\\u1C23\\u1C4D-\\u1C4F\\u1C5A-\\u1C7D\\u1C80-\\u1C88\\u1C90-\\u1CBA\\u1CBD-\\u1CBF\\u1CE9-\\u1CEC\\u1CEE-\\u1CF3\\u1CF5\\u1CF6\\u1CFA\\u1D00-\\u1DBF\\u1E00-\\u1F15\\u1F18-\\u1F1D\\u1F20-\\u1F45\\u1F48-\\u1F4D\\u1F50-\\u1F57\\u1F59\\u1F5B\\u1F5D\\u1F5F-\\u1F7D\\u1F80-\\u1FB4\\u1FB6-\\u1FBC\\u1FBE\\u1FC2-\\u1FC4\\u1FC6-\\u1FCC\\u1FD0-\\u1FD3\\u1FD6-\\u1FDB\\u1FE0-\\u1FEC\\u1FF2-\\u1FF4\\u1FF6-\\u1FFC\\u2071\\u207F\\u2090-\\u209C\\u2102\\u2107\\u210A-\\u2113\\u2115\\u2119-\\u211D\\u2124\\u2126\\u2128\\u212A-\\u212D\\u212F-\\u2139\\u213C-\\u213F\\u2145-\\u2149\\u214E\\u2183\\u2184\\u2C00-\\u2CE4\\u2CEB-\\u2CEE\\u2CF2\\u2CF3\\u2D00-\\u2D25\\u2D27\\u2D2D\\u2D30-\\u2D67\\u2D6F\\u2D80-\\u2D96\\u2DA0-\\u2DA6\\u2DA8-\\u2DAE\\u2DB0-\\u2DB6\\u2DB8-\\u2DBE\\u2DC0-\\u2DC6\\u2DC8-\\u2DCE\\u2DD0-\\u2DD6\\u2DD8-\\u2DDE\\u2E2F\\u3005\\u3006\\u3031-\\u3035\\u303B\\u303C\\u3041-\\u3096\\u309D-\\u309F\\u30A1-\\u30FA\\u30FC-\\u30FF\\u3105-\\u312F\\u3131-\\u318E\\u31A0-\\u31BF\\u31F0-\\u31FF\\u3400-\\u4DBF\\u4E00-\\uA48C\\uA4D0-\\uA4FD\\uA500-\\uA60C\\uA610-\\uA61F\\uA62A\\uA62B\\uA640-\\uA66E\\uA67F-\\uA69D\\uA6A0-\\uA6E5\\uA717-\\uA71F\\uA722-\\uA788\\uA78B-\\uA7CA\\uA7D0\\uA7D1\\uA7D3\\uA7D5-\\uA7D9\\uA7F2-\\uA801\\uA803-\\uA805\\uA807-\\uA80A\\uA80C-\\uA822\\uA840-\\uA873\\uA882-\\uA8B3\\uA8F2-\\uA8F7\\uA8FB\\uA8FD\\uA8FE\\uA90A-\\uA925\\uA930-\\uA946\\uA960-\\uA97C\\uA984-\\uA9B2\\uA9CF\\uA9E0-\\uA9E4\\uA9E6-\\uA9EF\\uA9FA-\\uA9FE\\uAA00-\\uAA28\\uAA40-\\uAA42\\uAA44-\\uAA4B\\uAA60-\\uAA76\\uAA7A\\uAA7E-\\uAAAF\\uAAB1\\uAAB5\\uAAB6\\uAAB9-\\uAABD\\uAAC0\\uAAC2\\uAADB-\\uAADD\\uAAE0-\\uAAEA\\uAAF2-\\uAAF4\\uAB01-\\uAB06\\uAB09-\\uAB0E\\uAB11-\\uAB16\\uAB20-\\uAB26\\uAB28-\\uAB2E\\uAB30-\\uAB5A\\uAB5C-\\uAB69\\uAB70-\\uABE2\\uAC00-\\uD7A3\\uD7B0-\\uD7C6\\uD7CB-\\uD7FB\\uF900-\\uFA6D\\uFA70-\\uFAD9\\uFB00-\\uFB06\\uFB13-\\uFB17\\uFB1D\\uFB1F-\\uFB28\\uFB2A-\\uFB36\\uFB38-\\uFB3C\\uFB3E\\uFB40\\uFB41\\uFB43\\uFB44\\uFB46-\\uFBB1\\uFBD3-\\uFD3D\\uFD50-\\uFD8F\\uFD92-\\uFDC7\\uFDF0-\\uFDFB\\uFE70-\\uFE74\\uFE76-\\uFEFC\\uFF21-\\uFF3A\\uFF41-\\uFF5A\\uFF66-\\uFFBE\\uFFC2-\\uFFC7\\uFFCA-\\uFFCF\\uFFD2-\\uFFD7\\uFFDA-\\uFFDC]|\\uD800[\\uDC00-\\uDC0B\\uDC0D-\\uDC26\\uDC28-\\uDC3A\\uDC3C\\uDC3D\\uDC3F-\\uDC4D\\uDC50-\\uDC5D\\uDC80-\\uDCFA\\uDE80-\\uDE9C\\uDEA0-\\uDED0\\uDF00-\\uDF1F\\uDF2D-\\uDF40\\uDF42-\\uDF49\\uDF50-\\uDF75\\uDF80-\\uDF9D\\uDFA0-\\uDFC3\\uDFC8-\\uDFCF]|\\uD801[\\uDC00-\\uDC9D\\uDCB0-\\uDCD3\\uDCD8-\\uDCFB\\uDD00-\\uDD27\\uDD30-\\uDD63\\uDD70-\\uDD7A\\uDD7C-\\uDD8A\\uDD8C-\\uDD92\\uDD94\\uDD95\\uDD97-\\uDDA1\\uDDA3-\\uDDB1\\uDDB3-\\uDDB9\\uDDBB\\uDDBC\\uDE00-\\uDF36\\uDF40-\\uDF55\\uDF60-\\uDF67\\uDF80-\\uDF85\\uDF87-\\uDFB0\\uDFB2-\\uDFBA]|\\uD802[\\uDC00-\\uDC05\\uDC08\\uDC0A-\\uDC35\\uDC37\\uDC38\\uDC3C\\uDC3F-\\uDC55\\uDC60-\\uDC76\\uDC80-\\uDC9E\\uDCE0-\\uDCF2\\uDCF4\\uDCF5\\uDD00-\\uDD15\\uDD20-\\uDD39\\uDD80-\\uDDB7\\uDDBE\\uDDBF\\uDE00\\uDE10-\\uDE13\\uDE15-\\uDE17\\uDE19-\\uDE35\\uDE60-\\uDE7C\\uDE80-\\uDE9C\\uDEC0-\\uDEC7\\uDEC9-\\uDEE4\\uDF00-\\uDF35\\uDF40-\\uDF55\\uDF60-\\uDF72\\uDF80-\\uDF91]|\\uD803[\\uDC00-\\uDC48\\uDC80-\\uDCB2\\uDCC0-\\uDCF2\\uDD00-\\uDD23\\uDE80-\\uDEA9\\uDEB0\\uDEB1\\uDF00-\\uDF1C\\uDF27\\uDF30-\\uDF45\\uDF70-\\uDF81\\uDFB0-\\uDFC4\\uDFE0-\\uDFF6]|\\uD804[\\uDC03-\\uDC37\\uDC71\\uDC72\\uDC75\\uDC83-\\uDCAF\\uDCD0-\\uDCE8\\uDD03-\\uDD26\\uDD44\\uDD47\\uDD50-\\uDD72\\uDD76\\uDD83-\\uDDB2\\uDDC1-\\uDDC4\\uDDDA\\uDDDC\\uDE00-\\uDE11\\uDE13-\\uDE2B\\uDE80-\\uDE86\\uDE88\\uDE8A-\\uDE8D\\uDE8F-\\uDE9D\\uDE9F-\\uDEA8\\uDEB0-\\uDEDE\\uDF05-\\uDF0C\\uDF0F\\uDF10\\uDF13-\\uDF28\\uDF2A-\\uDF30\\uDF32\\uDF33\\uDF35-\\uDF39\\uDF3D\\uDF50\\uDF5D-\\uDF61]|\\uD805[\\uDC00-\\uDC34\\uDC47-\\uDC4A\\uDC5F-\\uDC61\\uDC80-\\uDCAF\\uDCC4\\uDCC5\\uDCC7\\uDD80-\\uDDAE\\uDDD8-\\uDDDB\\uDE00-\\uDE2F\\uDE44\\uDE80-\\uDEAA\\uDEB8\\uDF00-\\uDF1A\\uDF40-\\uDF46]|\\uD806[\\uDC00-\\uDC2B\\uDCA0-\\uDCDF\\uDCFF-\\uDD06\\uDD09\\uDD0C-\\uDD13\\uDD15\\uDD16\\uDD18-\\uDD2F\\uDD3F\\uDD41\\uDDA0-\\uDDA7\\uDDAA-\\uDDD0\\uDDE1\\uDDE3\\uDE00\\uDE0B-\\uDE32\\uDE3A\\uDE50\\uDE5C-\\uDE89\\uDE9D\\uDEB0-\\uDEF8]|\\uD807[\\uDC00-\\uDC08\\uDC0A-\\uDC2E\\uDC40\\uDC72-\\uDC8F\\uDD00-\\uDD06\\uDD08\\uDD09\\uDD0B-\\uDD30\\uDD46\\uDD60-\\uDD65\\uDD67\\uDD68\\uDD6A-\\uDD89\\uDD98\\uDEE0-\\uDEF2\\uDFB0]|\\uD808[\\uDC00-\\uDF99]|\\uD809[\\uDC80-\\uDD43]|\\uD80B[\\uDF90-\\uDFF0]|[\\uD80C\\uD81C-\\uD820\\uD822\\uD840-\\uD868\\uD86A-\\uD86C\\uD86F-\\uD872\\uD874-\\uD879\\uD880-\\uD883][\\uDC00-\\uDFFF]|\\uD80D[\\uDC00-\\uDC2E]|\\uD811[\\uDC00-\\uDE46]|\\uD81A[\\uDC00-\\uDE38\\uDE40-\\uDE5E\\uDE70-\\uDEBE\\uDED0-\\uDEED\\uDF00-\\uDF2F\\uDF40-\\uDF43\\uDF63-\\uDF77\\uDF7D-\\uDF8F]|\\uD81B[\\uDE40-\\uDE7F\\uDF00-\\uDF4A\\uDF50\\uDF93-\\uDF9F\\uDFE0\\uDFE1\\uDFE3]|\\uD821[\\uDC00-\\uDFF7]|\\uD823[\\uDC00-\\uDCD5\\uDD00-\\uDD08]|\\uD82B[\\uDFF0-\\uDFF3\\uDFF5-\\uDFFB\\uDFFD\\uDFFE]|\\uD82C[\\uDC00-\\uDD22\\uDD50-\\uDD52\\uDD64-\\uDD67\\uDD70-\\uDEFB]|\\uD82F[\\uDC00-\\uDC6A\\uDC70-\\uDC7C\\uDC80-\\uDC88\\uDC90-\\uDC99]|\\uD835[\\uDC00-\\uDC54\\uDC56-\\uDC9C\\uDC9E\\uDC9F\\uDCA2\\uDCA5\\uDCA6\\uDCA9-\\uDCAC\\uDCAE-\\uDCB9\\uDCBB\\uDCBD-\\uDCC3\\uDCC5-\\uDD05\\uDD07-\\uDD0A\\uDD0D-\\uDD14\\uDD16-\\uDD1C\\uDD1E-\\uDD39\\uDD3B-\\uDD3E\\uDD40-\\uDD44\\uDD46\\uDD4A-\\uDD50\\uDD52-\\uDEA5\\uDEA8-\\uDEC0\\uDEC2-\\uDEDA\\uDEDC-\\uDEFA\\uDEFC-\\uDF14\\uDF16-\\uDF34\\uDF36-\\uDF4E\\uDF50-\\uDF6E\\uDF70-\\uDF88\\uDF8A-\\uDFA8\\uDFAA-\\uDFC2\\uDFC4-\\uDFCB]|\\uD837[\\uDF00-\\uDF1E]|\\uD838[\\uDD00-\\uDD2C\\uDD37-\\uDD3D\\uDD4E\\uDE90-\\uDEAD\\uDEC0-\\uDEEB]|\\uD839[\\uDFE0-\\uDFE6\\uDFE8-\\uDFEB\\uDFED\\uDFEE\\uDFF0-\\uDFFE]|\\uD83A[\\uDC00-\\uDCC4\\uDD00-\\uDD43\\uDD4B]|\\uD83B[\\uDE00-\\uDE03\\uDE05-\\uDE1F\\uDE21\\uDE22\\uDE24\\uDE27\\uDE29-\\uDE32\\uDE34-\\uDE37\\uDE39\\uDE3B\\uDE42\\uDE47\\uDE49\\uDE4B\\uDE4D-\\uDE4F\\uDE51\\uDE52\\uDE54\\uDE57\\uDE59\\uDE5B\\uDE5D\\uDE5F\\uDE61\\uDE62\\uDE64\\uDE67-\\uDE6A\\uDE6C-\\uDE72\\uDE74-\\uDE77\\uDE79-\\uDE7C\\uDE7E\\uDE80-\\uDE89\\uDE8B-\\uDE9B\\uDEA1-\\uDEA3\\uDEA5-\\uDEA9\\uDEAB-\\uDEBB]|\\uD869[\\uDC00-\\uDEDF\\uDF00-\\uDFFF]|\\uD86D[\\uDC00-\\uDF38\\uDF40-\\uDFFF]|\\uD86E[\\uDC00-\\uDC1D\\uDC20-\\uDFFF]|\\uD873[\\uDC00-\\uDEA1\\uDEB0-\\uDFFF]|\\uD87A[\\uDC00-\\uDFE0]|\\uD87E[\\uDC00-\\uDE1D]|\\uD884[\\uDC00-\\uDF4A])\\S*/g;\n/**\n * Transforms text to title case.\n * Capitalizes the first letter of each word and transforms the\n * rest of the word to lower case.\n * Words are delimited by any whitespace character, such as a space, tab, or line-feed character.\n *\n * @see `LowerCasePipe`\n * @see `UpperCasePipe`\n *\n * @usageNotes\n * The following example shows the result of transforming various strings into title case.\n *\n * \n *\n * @ngModule CommonModule\n * @publicApi\n */\nclass TitleCasePipe {\n transform(value) {\n if (value == null)\n return null;\n if (typeof value !== 'string') {\n throw invalidPipeArgumentError(TitleCasePipe, value);\n }\n return value.replace(unicodeWordMatch, (txt => txt[0].toUpperCase() + txt.substr(1).toLowerCase()));\n }\n}\nTitleCasePipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"13.0.2\", ngImport: i0, type: TitleCasePipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });\nTitleCasePipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: \"12.0.0\", version: \"13.0.2\", ngImport: i0, type: TitleCasePipe, name: \"titlecase\" });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"13.0.2\", ngImport: i0, type: TitleCasePipe, decorators: [{\n type: Pipe,\n args: [{ name: 'titlecase' }]\n }] });\n/**\n * Transforms text to all upper case.\n * @see `LowerCasePipe`\n * @see `TitleCasePipe`\n *\n * @ngModule CommonModule\n * @publicApi\n */\nclass UpperCasePipe {\n transform(value) {\n if (value == null)\n return null;\n if (typeof value !== 'string') {\n throw invalidPipeArgumentError(UpperCasePipe, value);\n }\n return value.toUpperCase();\n }\n}\nUpperCasePipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"13.0.2\", ngImport: i0, type: UpperCasePipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });\nUpperCasePipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: \"12.0.0\", version: \"13.0.2\", ngImport: i0, type: UpperCasePipe, name: \"uppercase\" });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"13.0.2\", ngImport: i0, type: UpperCasePipe, decorators: [{\n type: Pipe,\n args: [{ name: 'uppercase' }]\n }] });\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * Optionally-provided default timezone to use for all instances of `DatePipe` (such as `'+0430'`).\n * If the value isn't provided, the `DatePipe` will use the end-user's local system timezone.\n */\nconst DATE_PIPE_DEFAULT_TIMEZONE = new InjectionToken('DATE_PIPE_DEFAULT_TIMEZONE');\n// clang-format off\n/**\n * @ngModule CommonModule\n * @description\n *\n * Formats a date value according to locale rules.\n *\n * `DatePipe` is executed only when it detects a pure change to the input value.\n * A pure change is either a change to a primitive input value\n * (such as `String`, `Number`, `Boolean`, or `Symbol`),\n * or a changed object reference (such as `Date`, `Array`, `Function`, or `Object`).\n *\n * Note that mutating a `Date` object does not cause the pipe to be rendered again.\n * To ensure that the pipe is executed, you must create a new `Date` object.\n *\n * Only the `en-US` locale data comes with Angular. To localize dates\n * in another language, you must import the corresponding locale data.\n * See the [I18n guide](guide/i18n-common-format-data-locale) for more information.\n *\n * The time zone of the formatted value can be specified either by passing it in as the second\n * parameter of the pipe, or by setting the default through the `DATE_PIPE_DEFAULT_TIMEZONE`\n * injection token. The value that is passed in as the second parameter takes precedence over\n * the one defined using the injection token.\n *\n * @see `formatDate()`\n *\n *\n * @usageNotes\n *\n * The result of this pipe is not reevaluated when the input is mutated. To avoid the need to\n * reformat the date on every change-detection cycle, treat the date as an immutable object\n * and change the reference when the pipe needs to run again.\n *\n * ### Pre-defined format options\n *\n * | Option | Equivalent to | Examples (given in `en-US` locale) |\n * |---------------|-------------------------------------|-------------------------------------------------|\n * | `'short'` | `'M/d/yy, h:mm a'` | `6/15/15, 9:03 AM` |\n * | `'medium'` | `'MMM d, y, h:mm:ss a'` | `Jun 15, 2015, 9:03:01 AM` |\n * | `'long'` | `'MMMM d, y, h:mm:ss a z'` | `June 15, 2015 at 9:03:01 AM GMT+1` |\n * | `'full'` | `'EEEE, MMMM d, y, h:mm:ss a zzzz'` | `Monday, June 15, 2015 at 9:03:01 AM GMT+01:00` |\n * | `'shortDate'` | `'M/d/yy'` | `6/15/15` |\n * | `'mediumDate'`| `'MMM d, y'` | `Jun 15, 2015` |\n * | `'longDate'` | `'MMMM d, y'` | `June 15, 2015` |\n * | `'fullDate'` | `'EEEE, MMMM d, y'` | `Monday, June 15, 2015` |\n * | `'shortTime'` | `'h:mm a'` | `9:03 AM` |\n * | `'mediumTime'`| `'h:mm:ss a'` | `9:03:01 AM` |\n * | `'longTime'` | `'h:mm:ss a z'` | `9:03:01 AM GMT+1` |\n * | `'fullTime'` | `'h:mm:ss a zzzz'` | `9:03:01 AM GMT+01:00` |\n *\n * ### Custom format options\n *\n * You can construct a format string using symbols to specify the components\n * of a date-time value, as described in the following table.\n * Format details depend on the locale.\n * Fields marked with (*) are only available in the extra data set for the given locale.\n *\n * | Field type | Format | Description | Example Value |\n * |-------------------- |-------------|---------------------------------------------------------------|------------------------------------------------------------|\n * | Era | G, GG & GGG | Abbreviated | AD |\n * | | GGGG | Wide | Anno Domini |\n * | | GGGGG | Narrow | A |\n * | Year | y | Numeric: minimum digits | 2, 20, 201, 2017, 20173 |\n * | | yy | Numeric: 2 digits + zero padded | 02, 20, 01, 17, 73 |\n * | | yyy | Numeric: 3 digits + zero padded | 002, 020, 201, 2017, 20173 |\n * | | yyyy | Numeric: 4 digits or more + zero padded | 0002, 0020, 0201, 2017, 20173 |\n * | Week-numbering year | Y | Numeric: minimum digits | 2, 20, 201, 2017, 20173 |\n * | | YY | Numeric: 2 digits + zero padded | 02, 20, 01, 17, 73 |\n * | | YYY | Numeric: 3 digits + zero padded | 002, 020, 201, 2017, 20173 |\n * | | YYYY | Numeric: 4 digits or more + zero padded | 0002, 0020, 0201, 2017, 20173 |\n * | Month | M | Numeric: 1 digit | 9, 12 |\n * | | MM | Numeric: 2 digits + zero padded | 09, 12 |\n * | | MMM | Abbreviated | Sep |\n * | | MMMM | Wide | September |\n * | | MMMMM | Narrow | S |\n * | Month standalone | L | Numeric: 1 digit | 9, 12 |\n * | | LL | Numeric: 2 digits + zero padded | 09, 12 |\n * | | LLL | Abbreviated | Sep |\n * | | LLLL | Wide | September |\n * | | LLLLL | Narrow | S |\n * | Week of year | w | Numeric: minimum digits | 1... 53 |\n * | | ww | Numeric: 2 digits + zero padded | 01... 53 |\n * | Week of month | W | Numeric: 1 digit | 1... 5 |\n * | Day of month | d | Numeric: minimum digits | 1 |\n * | | dd | Numeric: 2 digits + zero padded | 01 |\n * | Week day | E, EE & EEE | Abbreviated | Tue |\n * | | EEEE | Wide | Tuesday |\n * | | EEEEE | Narrow | T |\n * | | EEEEEE | Short | Tu |\n * | Week day standalone | c, cc | Numeric: 1 digit | 2 |\n * | | ccc | Abbreviated | Tue |\n * | | cccc | Wide | Tuesday |\n * | | ccccc | Narrow | T |\n * | | cccccc | Short | Tu |\n * | Period | a, aa & aaa | Abbreviated | am/pm or AM/PM |\n * | | aaaa | Wide (fallback to `a` when missing) | ante meridiem/post meridiem |\n * | | aaaaa | Narrow | a/p |\n * | Period* | B, BB & BBB | Abbreviated | mid. |\n * | | BBBB | Wide | am, pm, midnight, noon, morning, afternoon, evening, night |\n * | | BBBBB | Narrow | md |\n * | Period standalone* | b, bb & bbb | Abbreviated | mid. |\n * | | bbbb | Wide | am, pm, midnight, noon, morning, afternoon, evening, night |\n * | | bbbbb | Narrow | md |\n * | Hour 1-12 | h | Numeric: minimum digits | 1, 12 |\n * | | hh | Numeric: 2 digits + zero padded | 01, 12 |\n * | Hour 0-23 | H | Numeric: minimum digits | 0, 23 |\n * | | HH | Numeric: 2 digits + zero padded | 00, 23 |\n * | Minute | m | Numeric: minimum digits | 8, 59 |\n * | | mm | Numeric: 2 digits + zero padded | 08, 59 |\n * | Second | s | Numeric: minimum digits | 0... 59 |\n * | | ss | Numeric: 2 digits + zero padded | 00... 59 |\n * | Fractional seconds | S | Numeric: 1 digit | 0... 9 |\n * | | SS | Numeric: 2 digits + zero padded | 00... 99 |\n * | | SSS | Numeric: 3 digits + zero padded (= milliseconds) | 000... 999 |\n * | Zone | z, zz & zzz | Short specific non location format (fallback to O) | GMT-8 |\n * | | zzzz | Long specific non location format (fallback to OOOO) | GMT-08:00 |\n * | | Z, ZZ & ZZZ | ISO8601 basic format | -0800 |\n * | | ZZZZ | Long localized GMT format | GMT-8:00 |\n * | | ZZZZZ | ISO8601 extended format + Z indicator for offset 0 (= XXXXX) | -08:00 |\n * | | O, OO & OOO | Short localized GMT format | GMT-8 |\n * | | OOOO | Long localized GMT format | GMT-08:00 |\n *\n *\n * ### Format examples\n *\n * These examples transform a date into various formats,\n * assuming that `dateObj` is a JavaScript `Date` object for\n * year: 2015, month: 6, day: 15, hour: 21, minute: 43, second: 11,\n * given in the local time for the `en-US` locale.\n *\n * ```\n * {{ dateObj | date }} // output is 'Jun 15, 2015'\n * {{ dateObj | date:'medium' }} // output is 'Jun 15, 2015, 9:43:11 PM'\n * {{ dateObj | date:'shortTime' }} // output is '9:43 PM'\n * {{ dateObj | date:'mm:ss' }} // output is '43:11'\n * ```\n *\n * ### Usage example\n *\n * The following component uses a date pipe to display the current date in different formats.\n *\n * ```\n * @Component({\n * selector: 'date-pipe',\n * template: `
    \n *

    Today is {{today | date}}

    \n *

    Or if you prefer, {{today | date:'fullDate'}}

    \n *

    The time is {{today | date:'h:mm a z'}}

    \n *
    `\n * })\n * // Get the current date and time as a date-time value.\n * export class DatePipeComponent {\n * today: number = Date.now();\n * }\n * ```\n *\n * @publicApi\n */\n// clang-format on\nclass DatePipe {\n constructor(locale, defaultTimezone) {\n this.locale = locale;\n this.defaultTimezone = defaultTimezone;\n }\n transform(value, format = 'mediumDate', timezone, locale) {\n if (value == null || value === '' || value !== value)\n return null;\n try {\n return formatDate(value, format, locale || this.locale, timezone ?? this.defaultTimezone ?? undefined);\n }\n catch (error) {\n throw invalidPipeArgumentError(DatePipe, error.message);\n }\n }\n}\nDatePipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"13.0.2\", ngImport: i0, type: DatePipe, deps: [{ token: LOCALE_ID }, { token: DATE_PIPE_DEFAULT_TIMEZONE, optional: true }], target: i0.ɵɵFactoryTarget.Pipe });\nDatePipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: \"12.0.0\", version: \"13.0.2\", ngImport: i0, type: DatePipe, name: \"date\" });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"13.0.2\", ngImport: i0, type: DatePipe, decorators: [{\n type: Pipe,\n args: [{ name: 'date', pure: true }]\n }], ctorParameters: function () { return [{ type: undefined, decorators: [{\n type: Inject,\n args: [LOCALE_ID]\n }] }, { type: undefined, decorators: [{\n type: Inject,\n args: [DATE_PIPE_DEFAULT_TIMEZONE]\n }, {\n type: Optional\n }] }]; } });\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nconst _INTERPOLATION_REGEXP = /#/g;\n/**\n * @ngModule CommonModule\n * @description\n *\n * Maps a value to a string that pluralizes the value according to locale rules.\n *\n * @usageNotes\n *\n * ### Example\n *\n * {@example common/pipes/ts/i18n_pipe.ts region='I18nPluralPipeComponent'}\n *\n * @publicApi\n */\nclass I18nPluralPipe {\n constructor(_localization) {\n this._localization = _localization;\n }\n /**\n * @param value the number to be formatted\n * @param pluralMap an object that mimics the ICU format, see\n * http://userguide.icu-project.org/formatparse/messages.\n * @param locale a `string` defining the locale to use (uses the current {@link LOCALE_ID} by\n * default).\n */\n transform(value, pluralMap, locale) {\n if (value == null)\n return '';\n if (typeof pluralMap !== 'object' || pluralMap === null) {\n throw invalidPipeArgumentError(I18nPluralPipe, pluralMap);\n }\n const key = getPluralCategory(value, Object.keys(pluralMap), this._localization, locale);\n return pluralMap[key].replace(_INTERPOLATION_REGEXP, value.toString());\n }\n}\nI18nPluralPipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"13.0.2\", ngImport: i0, type: I18nPluralPipe, deps: [{ token: NgLocalization }], target: i0.ɵɵFactoryTarget.Pipe });\nI18nPluralPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: \"12.0.0\", version: \"13.0.2\", ngImport: i0, type: I18nPluralPipe, name: \"i18nPlural\" });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"13.0.2\", ngImport: i0, type: I18nPluralPipe, decorators: [{\n type: Pipe,\n args: [{ name: 'i18nPlural', pure: true }]\n }], ctorParameters: function () { return [{ type: NgLocalization }]; } });\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * @ngModule CommonModule\n * @description\n *\n * Generic selector that displays the string that matches the current value.\n *\n * If none of the keys of the `mapping` match the `value`, then the content\n * of the `other` key is returned when present, otherwise an empty string is returned.\n *\n * @usageNotes\n *\n * ### Example\n *\n * {@example common/pipes/ts/i18n_pipe.ts region='I18nSelectPipeComponent'}\n *\n * @publicApi\n */\nclass I18nSelectPipe {\n /**\n * @param value a string to be internationalized.\n * @param mapping an object that indicates the text that should be displayed\n * for different values of the provided `value`.\n */\n transform(value, mapping) {\n if (value == null)\n return '';\n if (typeof mapping !== 'object' || typeof value !== 'string') {\n throw invalidPipeArgumentError(I18nSelectPipe, mapping);\n }\n if (mapping.hasOwnProperty(value)) {\n return mapping[value];\n }\n if (mapping.hasOwnProperty('other')) {\n return mapping['other'];\n }\n return '';\n }\n}\nI18nSelectPipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"13.0.2\", ngImport: i0, type: I18nSelectPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });\nI18nSelectPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: \"12.0.0\", version: \"13.0.2\", ngImport: i0, type: I18nSelectPipe, name: \"i18nSelect\" });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"13.0.2\", ngImport: i0, type: I18nSelectPipe, decorators: [{\n type: Pipe,\n args: [{ name: 'i18nSelect', pure: true }]\n }] });\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * @ngModule CommonModule\n * @description\n *\n * Converts a value into its JSON-format representation. Useful for debugging.\n *\n * @usageNotes\n *\n * The following component uses a JSON pipe to convert an object\n * to JSON format, and displays the string in both formats for comparison.\n *\n * {@example common/pipes/ts/json_pipe.ts region='JsonPipe'}\n *\n * @publicApi\n */\nclass JsonPipe {\n /**\n * @param value A value of any type to convert into a JSON-format string.\n */\n transform(value) {\n return JSON.stringify(value, null, 2);\n }\n}\nJsonPipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"13.0.2\", ngImport: i0, type: JsonPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });\nJsonPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: \"12.0.0\", version: \"13.0.2\", ngImport: i0, type: JsonPipe, name: \"json\", pure: false });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"13.0.2\", ngImport: i0, type: JsonPipe, decorators: [{\n type: Pipe,\n args: [{ name: 'json', pure: false }]\n }] });\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nfunction makeKeyValuePair(key, value) {\n return { key: key, value: value };\n}\n/**\n * @ngModule CommonModule\n * @description\n *\n * Transforms Object or Map into an array of key value pairs.\n *\n * The output array will be ordered by keys.\n * By default the comparator will be by Unicode point value.\n * You can optionally pass a compareFn if your keys are complex types.\n *\n * @usageNotes\n * ### Examples\n *\n * This examples show how an Object or a Map can be iterated by ngFor with the use of this\n * keyvalue pipe.\n *\n * {@example common/pipes/ts/keyvalue_pipe.ts region='KeyValuePipe'}\n *\n * @publicApi\n */\nclass KeyValuePipe {\n constructor(differs) {\n this.differs = differs;\n this.keyValues = [];\n this.compareFn = defaultComparator;\n }\n transform(input, compareFn = defaultComparator) {\n if (!input || (!(input instanceof Map) && typeof input !== 'object')) {\n return null;\n }\n if (!this.differ) {\n // make a differ for whatever type we've been passed in\n this.differ = this.differs.find(input).create();\n }\n const differChanges = this.differ.diff(input);\n const compareFnChanged = compareFn !== this.compareFn;\n if (differChanges) {\n this.keyValues = [];\n differChanges.forEachItem((r) => {\n this.keyValues.push(makeKeyValuePair(r.key, r.currentValue));\n });\n }\n if (differChanges || compareFnChanged) {\n this.keyValues.sort(compareFn);\n this.compareFn = compareFn;\n }\n return this.keyValues;\n }\n}\nKeyValuePipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"13.0.2\", ngImport: i0, type: KeyValuePipe, deps: [{ token: i0.KeyValueDiffers }], target: i0.ɵɵFactoryTarget.Pipe });\nKeyValuePipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: \"12.0.0\", version: \"13.0.2\", ngImport: i0, type: KeyValuePipe, name: \"keyvalue\", pure: false });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"13.0.2\", ngImport: i0, type: KeyValuePipe, decorators: [{\n type: Pipe,\n args: [{ name: 'keyvalue', pure: false }]\n }], ctorParameters: function () { return [{ type: i0.KeyValueDiffers }]; } });\nfunction defaultComparator(keyValueA, keyValueB) {\n const a = keyValueA.key;\n const b = keyValueB.key;\n // if same exit with 0;\n if (a === b)\n return 0;\n // make sure that undefined are at the end of the sort.\n if (a === undefined)\n return 1;\n if (b === undefined)\n return -1;\n // make sure that nulls are at the end of the sort.\n if (a === null)\n return 1;\n if (b === null)\n return -1;\n if (typeof a == 'string' && typeof b == 'string') {\n return a < b ? -1 : 1;\n }\n if (typeof a == 'number' && typeof b == 'number') {\n return a - b;\n }\n if (typeof a == 'boolean' && typeof b == 'boolean') {\n return a < b ? -1 : 1;\n }\n // `a` and `b` are of different types. Compare their string values.\n const aString = String(a);\n const bString = String(b);\n return aString == bString ? 0 : aString < bString ? -1 : 1;\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * @ngModule CommonModule\n * @description\n *\n * Formats a value according to digit options and locale rules.\n * Locale determines group sizing and separator,\n * decimal point character, and other locale-specific configurations.\n *\n * @see `formatNumber()`\n *\n * @usageNotes\n *\n * ### digitsInfo\n *\n * The value's decimal representation is specified by the `digitsInfo`\n * parameter, written in the following format:
    \n *\n * ```\n * {minIntegerDigits}.{minFractionDigits}-{maxFractionDigits}\n * ```\n *\n * - `minIntegerDigits`:\n * The minimum number of integer digits before the decimal point.\n * Default is 1.\n *\n * - `minFractionDigits`:\n * The minimum number of digits after the decimal point.\n * Default is 0.\n *\n * - `maxFractionDigits`:\n * The maximum number of digits after the decimal point.\n * Default is 3.\n *\n * If the formatted value is truncated it will be rounded using the \"to-nearest\" method:\n *\n * ```\n * {{3.6 | number: '1.0-0'}}\n * \n *\n * {{-3.6 | number:'1.0-0'}}\n * \n * ```\n *\n * ### locale\n *\n * `locale` will format a value according to locale rules.\n * Locale determines group sizing and separator,\n * decimal point character, and other locale-specific configurations.\n *\n * When not supplied, uses the value of `LOCALE_ID`, which is `en-US` by default.\n *\n * See [Setting your app locale](guide/i18n-common-locale-id).\n *\n * ### Example\n *\n * The following code shows how the pipe transforms values\n * according to various format specifications,\n * where the caller's default locale is `en-US`.\n *\n * \n *\n * @publicApi\n */\nclass DecimalPipe {\n constructor(_locale) {\n this._locale = _locale;\n }\n /**\n * @param value The value to be formatted.\n * @param digitsInfo Sets digit and decimal representation.\n * [See more](#digitsinfo).\n * @param locale Specifies what locale format rules to use.\n * [See more](#locale).\n */\n transform(value, digitsInfo, locale) {\n if (!isValue(value))\n return null;\n locale = locale || this._locale;\n try {\n const num = strToNumber(value);\n return formatNumber(num, locale, digitsInfo);\n }\n catch (error) {\n throw invalidPipeArgumentError(DecimalPipe, error.message);\n }\n }\n}\nDecimalPipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"13.0.2\", ngImport: i0, type: DecimalPipe, deps: [{ token: LOCALE_ID }], target: i0.ɵɵFactoryTarget.Pipe });\nDecimalPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: \"12.0.0\", version: \"13.0.2\", ngImport: i0, type: DecimalPipe, name: \"number\" });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"13.0.2\", ngImport: i0, type: DecimalPipe, decorators: [{\n type: Pipe,\n args: [{ name: 'number' }]\n }], ctorParameters: function () { return [{ type: undefined, decorators: [{\n type: Inject,\n args: [LOCALE_ID]\n }] }]; } });\n/**\n * @ngModule CommonModule\n * @description\n *\n * Transforms a number to a percentage\n * string, formatted according to locale rules that determine group sizing and\n * separator, decimal-point character, and other locale-specific\n * configurations.\n *\n * @see `formatPercent()`\n *\n * @usageNotes\n * The following code shows how the pipe transforms numbers\n * into text strings, according to various format specifications,\n * where the caller's default locale is `en-US`.\n *\n * \n *\n * @publicApi\n */\nclass PercentPipe {\n constructor(_locale) {\n this._locale = _locale;\n }\n /**\n *\n * @param value The number to be formatted as a percentage.\n * @param digitsInfo Decimal representation options, specified by a string\n * in the following format:
    \n * {minIntegerDigits}.{minFractionDigits}-{maxFractionDigits}.\n * - `minIntegerDigits`: The minimum number of integer digits before the decimal point.\n * Default is `1`.\n * - `minFractionDigits`: The minimum number of digits after the decimal point.\n * Default is `0`.\n * - `maxFractionDigits`: The maximum number of digits after the decimal point.\n * Default is `0`.\n * @param locale A locale code for the locale format rules to use.\n * When not supplied, uses the value of `LOCALE_ID`, which is `en-US` by default.\n * See [Setting your app locale](guide/i18n-common-locale-id).\n */\n transform(value, digitsInfo, locale) {\n if (!isValue(value))\n return null;\n locale = locale || this._locale;\n try {\n const num = strToNumber(value);\n return formatPercent(num, locale, digitsInfo);\n }\n catch (error) {\n throw invalidPipeArgumentError(PercentPipe, error.message);\n }\n }\n}\nPercentPipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"13.0.2\", ngImport: i0, type: PercentPipe, deps: [{ token: LOCALE_ID }], target: i0.ɵɵFactoryTarget.Pipe });\nPercentPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: \"12.0.0\", version: \"13.0.2\", ngImport: i0, type: PercentPipe, name: \"percent\" });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"13.0.2\", ngImport: i0, type: PercentPipe, decorators: [{\n type: Pipe,\n args: [{ name: 'percent' }]\n }], ctorParameters: function () { return [{ type: undefined, decorators: [{\n type: Inject,\n args: [LOCALE_ID]\n }] }]; } });\n/**\n * @ngModule CommonModule\n * @description\n *\n * Transforms a number to a currency string, formatted according to locale rules\n * that determine group sizing and separator, decimal-point character,\n * and other locale-specific configurations.\n *\n * {@a currency-code-deprecation}\n *
    \n *\n * **Deprecation notice:**\n *\n * The default currency code is currently always `USD` but this is deprecated from v9.\n *\n * **In v11 the default currency code will be taken from the current locale identified by\n * the `LOCALE_ID` token. See the [i18n guide](guide/i18n-common-locale-id) for\n * more information.**\n *\n * If you need the previous behavior then set it by creating a `DEFAULT_CURRENCY_CODE` provider in\n * your application `NgModule`:\n *\n * ```ts\n * {provide: DEFAULT_CURRENCY_CODE, useValue: 'USD'}\n * ```\n *\n *
    \n *\n * @see `getCurrencySymbol()`\n * @see `formatCurrency()`\n *\n * @usageNotes\n * The following code shows how the pipe transforms numbers\n * into text strings, according to various format specifications,\n * where the caller's default locale is `en-US`.\n *\n * \n *\n * @publicApi\n */\nclass CurrencyPipe {\n constructor(_locale, _defaultCurrencyCode = 'USD') {\n this._locale = _locale;\n this._defaultCurrencyCode = _defaultCurrencyCode;\n }\n /**\n *\n * @param value The number to be formatted as currency.\n * @param currencyCode The [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217) currency code,\n * such as `USD` for the US dollar and `EUR` for the euro. The default currency code can be\n * configured using the `DEFAULT_CURRENCY_CODE` injection token.\n * @param display The format for the currency indicator. One of the following:\n * - `code`: Show the code (such as `USD`).\n * - `symbol`(default): Show the symbol (such as `$`).\n * - `symbol-narrow`: Use the narrow symbol for locales that have two symbols for their\n * currency.\n * For example, the Canadian dollar CAD has the symbol `CA$` and the symbol-narrow `$`. If the\n * locale has no narrow symbol, uses the standard symbol for the locale.\n * - String: Use the given string value instead of a code or a symbol.\n * For example, an empty string will suppress the currency & symbol.\n * - Boolean (marked deprecated in v5): `true` for symbol and false for `code`.\n *\n * @param digitsInfo Decimal representation options, specified by a string\n * in the following format:
    \n * {minIntegerDigits}.{minFractionDigits}-{maxFractionDigits}.\n * - `minIntegerDigits`: The minimum number of integer digits before the decimal point.\n * Default is `1`.\n * - `minFractionDigits`: The minimum number of digits after the decimal point.\n * Default is `2`.\n * - `maxFractionDigits`: The maximum number of digits after the decimal point.\n * Default is `2`.\n * If not provided, the number will be formatted with the proper amount of digits,\n * depending on what the [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217) specifies.\n * For example, the Canadian dollar has 2 digits, whereas the Chilean peso has none.\n * @param locale A locale code for the locale format rules to use.\n * When not supplied, uses the value of `LOCALE_ID`, which is `en-US` by default.\n * See [Setting your app locale](guide/i18n-common-locale-id).\n */\n transform(value, currencyCode = this._defaultCurrencyCode, display = 'symbol', digitsInfo, locale) {\n if (!isValue(value))\n return null;\n locale = locale || this._locale;\n if (typeof display === 'boolean') {\n if ((typeof ngDevMode === 'undefined' || ngDevMode) && console && console.warn) {\n console.warn(`Warning: the currency pipe has been changed in Angular v5. The symbolDisplay option (third parameter) is now a string instead of a boolean. The accepted values are \"code\", \"symbol\" or \"symbol-narrow\".`);\n }\n display = display ? 'symbol' : 'code';\n }\n let currency = currencyCode || this._defaultCurrencyCode;\n if (display !== 'code') {\n if (display === 'symbol' || display === 'symbol-narrow') {\n currency = getCurrencySymbol(currency, display === 'symbol' ? 'wide' : 'narrow', locale);\n }\n else {\n currency = display;\n }\n }\n try {\n const num = strToNumber(value);\n return formatCurrency(num, locale, currency, currencyCode, digitsInfo);\n }\n catch (error) {\n throw invalidPipeArgumentError(CurrencyPipe, error.message);\n }\n }\n}\nCurrencyPipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"13.0.2\", ngImport: i0, type: CurrencyPipe, deps: [{ token: LOCALE_ID }, { token: DEFAULT_CURRENCY_CODE }], target: i0.ɵɵFactoryTarget.Pipe });\nCurrencyPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: \"12.0.0\", version: \"13.0.2\", ngImport: i0, type: CurrencyPipe, name: \"currency\" });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"13.0.2\", ngImport: i0, type: CurrencyPipe, decorators: [{\n type: Pipe,\n args: [{ name: 'currency' }]\n }], ctorParameters: function () { return [{ type: undefined, decorators: [{\n type: Inject,\n args: [LOCALE_ID]\n }] }, { type: undefined, decorators: [{\n type: Inject,\n args: [DEFAULT_CURRENCY_CODE]\n }] }]; } });\nfunction isValue(value) {\n return !(value == null || value === '' || value !== value);\n}\n/**\n * Transforms a string into a number (if needed).\n */\nfunction strToNumber(value) {\n // Convert strings to numbers\n if (typeof value === 'string' && !isNaN(Number(value) - parseFloat(value))) {\n return Number(value);\n }\n if (typeof value !== 'number') {\n throw new Error(`${value} is not a number`);\n }\n return value;\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * @ngModule CommonModule\n * @description\n *\n * Creates a new `Array` or `String` containing a subset (slice) of the elements.\n *\n * @usageNotes\n *\n * All behavior is based on the expected behavior of the JavaScript API `Array.prototype.slice()`\n * and `String.prototype.slice()`.\n *\n * When operating on an `Array`, the returned `Array` is always a copy even when all\n * the elements are being returned.\n *\n * When operating on a blank value, the pipe returns the blank value.\n *\n * ### List Example\n *\n * This `ngFor` example:\n *\n * {@example common/pipes/ts/slice_pipe.ts region='SlicePipe_list'}\n *\n * produces the following:\n *\n * ```html\n *
  • b
  • \n *
  • c
  • \n * ```\n *\n * ### String Examples\n *\n * {@example common/pipes/ts/slice_pipe.ts region='SlicePipe_string'}\n *\n * @publicApi\n */\nclass SlicePipe {\n transform(value, start, end) {\n if (value == null)\n return null;\n if (!this.supports(value)) {\n throw invalidPipeArgumentError(SlicePipe, value);\n }\n return value.slice(start, end);\n }\n supports(obj) {\n return typeof obj === 'string' || Array.isArray(obj);\n }\n}\nSlicePipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"13.0.2\", ngImport: i0, type: SlicePipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });\nSlicePipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: \"12.0.0\", version: \"13.0.2\", ngImport: i0, type: SlicePipe, name: \"slice\", pure: false });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"13.0.2\", ngImport: i0, type: SlicePipe, decorators: [{\n type: Pipe,\n args: [{ name: 'slice', pure: false }]\n }] });\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * A collection of Angular pipes that are likely to be used in each and every application.\n */\nconst COMMON_PIPES = [\n AsyncPipe,\n UpperCasePipe,\n LowerCasePipe,\n JsonPipe,\n SlicePipe,\n DecimalPipe,\n PercentPipe,\n TitleCasePipe,\n CurrencyPipe,\n DatePipe,\n I18nPluralPipe,\n I18nSelectPipe,\n KeyValuePipe,\n];\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n// Note: This does not contain the location providers,\n// as they need some platform specific implementations to work.\n/**\n * Exports all the basic Angular directives and pipes,\n * such as `NgIf`, `NgForOf`, `DecimalPipe`, and so on.\n * Re-exported by `BrowserModule`, which is included automatically in the root\n * `AppModule` when you create a new app with the CLI `new` command.\n *\n * * The `providers` options configure the NgModule's injector to provide\n * localization dependencies to members.\n * * The `exports` options make the declared directives and pipes available for import\n * by other NgModules.\n *\n * @publicApi\n */\nclass CommonModule {\n}\nCommonModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"13.0.2\", ngImport: i0, type: CommonModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });\nCommonModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: \"12.0.0\", version: \"13.0.2\", ngImport: i0, type: CommonModule, declarations: [NgClass, NgComponentOutlet, NgForOf, NgIf, NgTemplateOutlet, NgStyle, NgSwitch, NgSwitchCase, NgSwitchDefault, NgPlural, NgPluralCase, AsyncPipe, UpperCasePipe, LowerCasePipe, JsonPipe, SlicePipe, DecimalPipe, PercentPipe, TitleCasePipe, CurrencyPipe, DatePipe, I18nPluralPipe, I18nSelectPipe, KeyValuePipe], exports: [NgClass, NgComponentOutlet, NgForOf, NgIf, NgTemplateOutlet, NgStyle, NgSwitch, NgSwitchCase, NgSwitchDefault, NgPlural, NgPluralCase, AsyncPipe, UpperCasePipe, LowerCasePipe, JsonPipe, SlicePipe, DecimalPipe, PercentPipe, TitleCasePipe, CurrencyPipe, DatePipe, I18nPluralPipe, I18nSelectPipe, KeyValuePipe] });\nCommonModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: \"12.0.0\", version: \"13.0.2\", ngImport: i0, type: CommonModule, providers: [\n { provide: NgLocalization, useClass: NgLocaleLocalization },\n ] });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"13.0.2\", ngImport: i0, type: CommonModule, decorators: [{\n type: NgModule,\n args: [{\n declarations: [COMMON_DIRECTIVES, COMMON_PIPES],\n exports: [COMMON_DIRECTIVES, COMMON_PIPES],\n providers: [\n { provide: NgLocalization, useClass: NgLocaleLocalization },\n ],\n }]\n }] });\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nconst PLATFORM_BROWSER_ID = 'browser';\nconst PLATFORM_SERVER_ID = 'server';\nconst PLATFORM_WORKER_APP_ID = 'browserWorkerApp';\nconst PLATFORM_WORKER_UI_ID = 'browserWorkerUi';\n/**\n * Returns whether a platform id represents a browser platform.\n * @publicApi\n */\nfunction isPlatformBrowser(platformId) {\n return platformId === PLATFORM_BROWSER_ID;\n}\n/**\n * Returns whether a platform id represents a server platform.\n * @publicApi\n */\nfunction isPlatformServer(platformId) {\n return platformId === PLATFORM_SERVER_ID;\n}\n/**\n * Returns whether a platform id represents a web worker app platform.\n * @publicApi\n */\nfunction isPlatformWorkerApp(platformId) {\n return platformId === PLATFORM_WORKER_APP_ID;\n}\n/**\n * Returns whether a platform id represents a web worker UI platform.\n * @publicApi\n */\nfunction isPlatformWorkerUi(platformId) {\n return platformId === PLATFORM_WORKER_UI_ID;\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * @publicApi\n */\nconst VERSION = new Version('13.0.2');\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * Defines a scroll position manager. Implemented by `BrowserViewportScroller`.\n *\n * @publicApi\n */\nclass ViewportScroller {\n}\n// De-sugared tree-shakable injection\n// See #23917\n/** @nocollapse */\nViewportScroller.ɵprov = ɵɵdefineInjectable({\n token: ViewportScroller,\n providedIn: 'root',\n factory: () => new BrowserViewportScroller(ɵɵinject(DOCUMENT), window)\n});\n/**\n * Manages the scroll position for a browser window.\n */\nclass BrowserViewportScroller {\n constructor(document, window) {\n this.document = document;\n this.window = window;\n this.offset = () => [0, 0];\n }\n /**\n * Configures the top offset used when scrolling to an anchor.\n * @param offset A position in screen coordinates (a tuple with x and y values)\n * or a function that returns the top offset position.\n *\n */\n setOffset(offset) {\n if (Array.isArray(offset)) {\n this.offset = () => offset;\n }\n else {\n this.offset = offset;\n }\n }\n /**\n * Retrieves the current scroll position.\n * @returns The position in screen coordinates.\n */\n getScrollPosition() {\n if (this.supportsScrolling()) {\n return [this.window.pageXOffset, this.window.pageYOffset];\n }\n else {\n return [0, 0];\n }\n }\n /**\n * Sets the scroll position.\n * @param position The new position in screen coordinates.\n */\n scrollToPosition(position) {\n if (this.supportsScrolling()) {\n this.window.scrollTo(position[0], position[1]);\n }\n }\n /**\n * Scrolls to an element and attempts to focus the element.\n *\n * Note that the function name here is misleading in that the target string may be an ID for a\n * non-anchor element.\n *\n * @param target The ID of an element or name of the anchor.\n *\n * @see https://html.spec.whatwg.org/#the-indicated-part-of-the-document\n * @see https://html.spec.whatwg.org/#scroll-to-fragid\n */\n scrollToAnchor(target) {\n if (!this.supportsScrolling()) {\n return;\n }\n const elSelected = findAnchorFromDocument(this.document, target);\n if (elSelected) {\n this.scrollToElement(elSelected);\n // After scrolling to the element, the spec dictates that we follow the focus steps for the\n // target. Rather than following the robust steps, simply attempt focus.\n this.attemptFocus(elSelected);\n }\n }\n /**\n * Disables automatic scroll restoration provided by the browser.\n */\n setHistoryScrollRestoration(scrollRestoration) {\n if (this.supportScrollRestoration()) {\n const history = this.window.history;\n if (history && history.scrollRestoration) {\n history.scrollRestoration = scrollRestoration;\n }\n }\n }\n /**\n * Scrolls to an element using the native offset and the specified offset set on this scroller.\n *\n * The offset can be used when we know that there is a floating header and scrolling naively to an\n * element (ex: `scrollIntoView`) leaves the element hidden behind the floating header.\n */\n scrollToElement(el) {\n const rect = el.getBoundingClientRect();\n const left = rect.left + this.window.pageXOffset;\n const top = rect.top + this.window.pageYOffset;\n const offset = this.offset();\n this.window.scrollTo(left - offset[0], top - offset[1]);\n }\n /**\n * Calls `focus` on the `focusTarget` and returns `true` if the element was focused successfully.\n *\n * If `false`, further steps may be necessary to determine a valid substitute to be focused\n * instead.\n *\n * @see https://html.spec.whatwg.org/#get-the-focusable-area\n * @see https://developer.mozilla.org/en-US/docs/Web/API/HTMLOrForeignElement/focus\n * @see https://html.spec.whatwg.org/#focusable-area\n */\n attemptFocus(focusTarget) {\n focusTarget.focus();\n return this.document.activeElement === focusTarget;\n }\n /**\n * We only support scroll restoration when we can get a hold of window.\n * This means that we do not support this behavior when running in a web worker.\n *\n * Lifting this restriction right now would require more changes in the dom adapter.\n * Since webworkers aren't widely used, we will lift it once RouterScroller is\n * battle-tested.\n */\n supportScrollRestoration() {\n try {\n if (!this.supportsScrolling()) {\n return false;\n }\n // The `scrollRestoration` property could be on the `history` instance or its prototype.\n const scrollRestorationDescriptor = getScrollRestorationProperty(this.window.history) ||\n getScrollRestorationProperty(Object.getPrototypeOf(this.window.history));\n // We can write to the `scrollRestoration` property if it is a writable data field or it has a\n // setter function.\n return !!scrollRestorationDescriptor &&\n !!(scrollRestorationDescriptor.writable || scrollRestorationDescriptor.set);\n }\n catch {\n return false;\n }\n }\n supportsScrolling() {\n try {\n return !!this.window && !!this.window.scrollTo && 'pageXOffset' in this.window;\n }\n catch {\n return false;\n }\n }\n}\nfunction getScrollRestorationProperty(obj) {\n return Object.getOwnPropertyDescriptor(obj, 'scrollRestoration');\n}\nfunction findAnchorFromDocument(document, target) {\n const documentResult = document.getElementById(target) || document.getElementsByName(target)[0];\n if (documentResult) {\n return documentResult;\n }\n // `getElementById` and `getElementsByName` won't pierce through the shadow DOM so we\n // have to traverse the DOM manually and do the lookup through the shadow roots.\n if (typeof document.createTreeWalker === 'function' && document.body &&\n (document.body.createShadowRoot || document.body.attachShadow)) {\n const treeWalker = document.createTreeWalker(document.body, NodeFilter.SHOW_ELEMENT);\n let currentNode = treeWalker.currentNode;\n while (currentNode) {\n const shadowRoot = currentNode.shadowRoot;\n if (shadowRoot) {\n // Note that `ShadowRoot` doesn't support `getElementsByName`\n // so we have to fall back to `querySelector`.\n const result = shadowRoot.getElementById(target) || shadowRoot.querySelector(`[name=\"${target}\"]`);\n if (result) {\n return result;\n }\n }\n currentNode = treeWalker.nextNode();\n }\n }\n return null;\n}\n/**\n * Provides an empty implementation of the viewport scroller.\n */\nclass NullViewportScroller {\n /**\n * Empty implementation\n */\n setOffset(offset) { }\n /**\n * Empty implementation\n */\n getScrollPosition() {\n return [0, 0];\n }\n /**\n * Empty implementation\n */\n scrollToPosition(position) { }\n /**\n * Empty implementation\n */\n scrollToAnchor(anchor) { }\n /**\n * Empty implementation\n */\n setHistoryScrollRestoration(scrollRestoration) { }\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * A wrapper around the `XMLHttpRequest` constructor.\n *\n * @publicApi\n */\nclass XhrFactory {\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n// This file only reexports content of the `src` folder. Keep it that way.\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\n/**\n * Generated bundle index. Do not edit.\n */\n\nexport { APP_BASE_HREF, AsyncPipe, CommonModule, CurrencyPipe, DATE_PIPE_DEFAULT_TIMEZONE, DOCUMENT, DatePipe, DecimalPipe, FormStyle, FormatWidth, HashLocationStrategy, I18nPluralPipe, I18nSelectPipe, JsonPipe, KeyValuePipe, LOCATION_INITIALIZED, Location, LocationStrategy, LowerCasePipe, NgClass, NgComponentOutlet, NgForOf, NgForOfContext, NgIf, NgIfContext, NgLocaleLocalization, NgLocalization, NgPlural, NgPluralCase, NgStyle, NgSwitch, NgSwitchCase, NgSwitchDefault, NgTemplateOutlet, NumberFormatStyle, NumberSymbol, PathLocationStrategy, PercentPipe, PlatformLocation, Plural, SlicePipe, TitleCasePipe, TranslationWidth, UpperCasePipe, VERSION, ViewportScroller, WeekDay, XhrFactory, formatCurrency, formatDate, formatNumber, formatPercent, getCurrencySymbol, getLocaleCurrencyCode, getLocaleCurrencyName, getLocaleCurrencySymbol, getLocaleDateFormat, getLocaleDateTimeFormat, getLocaleDayNames, getLocaleDayPeriods, getLocaleDirection, getLocaleEraNames, getLocaleExtraDayPeriodRules, getLocaleExtraDayPeriods, getLocaleFirstDayOfWeek, getLocaleId, getLocaleMonthNames, getLocaleNumberFormat, getLocaleNumberSymbol, getLocalePluralCase, getLocaleTimeFormat, getLocaleWeekEndRange, getNumberOfCurrencyDigits, isPlatformBrowser, isPlatformServer, isPlatformWorkerApp, isPlatformWorkerUi, registerLocaleData, BrowserPlatformLocation as ɵBrowserPlatformLocation, DomAdapter as ɵDomAdapter, NullViewportScroller as ɵNullViewportScroller, PLATFORM_BROWSER_ID as ɵPLATFORM_BROWSER_ID, PLATFORM_SERVER_ID as ɵPLATFORM_SERVER_ID, PLATFORM_WORKER_APP_ID as ɵPLATFORM_WORKER_APP_ID, PLATFORM_WORKER_UI_ID as ɵPLATFORM_WORKER_UI_ID, getDOM as ɵgetDOM, parseCookieValue as ɵparseCookieValue, setRootDomAdapter as ɵsetRootDomAdapter };\n","/**\n * @license Angular v13.0.2\n * (c) 2010-2021 Google LLC. https://angular.io/\n * License: MIT\n */\n\nimport * as i1 from '@angular/common';\nimport { DOCUMENT, ɵparseCookieValue, XhrFactory as XhrFactory$1 } from '@angular/common';\nimport * as i0 from '@angular/core';\nimport { Injectable, InjectionToken, Inject, PLATFORM_ID, NgModule } from '@angular/core';\nimport { of, Observable } from 'rxjs';\nimport { concatMap, filter, map } from 'rxjs/operators';\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * Transforms an `HttpRequest` into a stream of `HttpEvent`s, one of which will likely be a\n * `HttpResponse`.\n *\n * `HttpHandler` is injectable. When injected, the handler instance dispatches requests to the\n * first interceptor in the chain, which dispatches to the second, etc, eventually reaching the\n * `HttpBackend`.\n *\n * In an `HttpInterceptor`, the `HttpHandler` parameter is the next interceptor in the chain.\n *\n * @publicApi\n */\nclass HttpHandler {\n}\n/**\n * A final `HttpHandler` which will dispatch the request via browser HTTP APIs to a backend.\n *\n * Interceptors sit between the `HttpClient` interface and the `HttpBackend`.\n *\n * When injected, `HttpBackend` dispatches requests directly to the backend, without going\n * through the interceptor chain.\n *\n * @publicApi\n */\nclass HttpBackend {\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * Represents the header configuration options for an HTTP request.\n * Instances are immutable. Modifying methods return a cloned\n * instance with the change. The original object is never changed.\n *\n * @publicApi\n */\nclass HttpHeaders {\n /** Constructs a new HTTP header object with the given values.*/\n constructor(headers) {\n /**\n * Internal map of lowercased header names to the normalized\n * form of the name (the form seen first).\n */\n this.normalizedNames = new Map();\n /**\n * Queued updates to be materialized the next initialization.\n */\n this.lazyUpdate = null;\n if (!headers) {\n this.headers = new Map();\n }\n else if (typeof headers === 'string') {\n this.lazyInit = () => {\n this.headers = new Map();\n headers.split('\\n').forEach(line => {\n const index = line.indexOf(':');\n if (index > 0) {\n const name = line.slice(0, index);\n const key = name.toLowerCase();\n const value = line.slice(index + 1).trim();\n this.maybeSetNormalizedName(name, key);\n if (this.headers.has(key)) {\n this.headers.get(key).push(value);\n }\n else {\n this.headers.set(key, [value]);\n }\n }\n });\n };\n }\n else {\n this.lazyInit = () => {\n this.headers = new Map();\n Object.keys(headers).forEach(name => {\n let values = headers[name];\n const key = name.toLowerCase();\n if (typeof values === 'string') {\n values = [values];\n }\n if (values.length > 0) {\n this.headers.set(key, values);\n this.maybeSetNormalizedName(name, key);\n }\n });\n };\n }\n }\n /**\n * Checks for existence of a given header.\n *\n * @param name The header name to check for existence.\n *\n * @returns True if the header exists, false otherwise.\n */\n has(name) {\n this.init();\n return this.headers.has(name.toLowerCase());\n }\n /**\n * Retrieves the first value of a given header.\n *\n * @param name The header name.\n *\n * @returns The value string if the header exists, null otherwise\n */\n get(name) {\n this.init();\n const values = this.headers.get(name.toLowerCase());\n return values && values.length > 0 ? values[0] : null;\n }\n /**\n * Retrieves the names of the headers.\n *\n * @returns A list of header names.\n */\n keys() {\n this.init();\n return Array.from(this.normalizedNames.values());\n }\n /**\n * Retrieves a list of values for a given header.\n *\n * @param name The header name from which to retrieve values.\n *\n * @returns A string of values if the header exists, null otherwise.\n */\n getAll(name) {\n this.init();\n return this.headers.get(name.toLowerCase()) || null;\n }\n /**\n * Appends a new value to the existing set of values for a header\n * and returns them in a clone of the original instance.\n *\n * @param name The header name for which to append the values.\n * @param value The value to append.\n *\n * @returns A clone of the HTTP headers object with the value appended to the given header.\n */\n append(name, value) {\n return this.clone({ name, value, op: 'a' });\n }\n /**\n * Sets or modifies a value for a given header in a clone of the original instance.\n * If the header already exists, its value is replaced with the given value\n * in the returned object.\n *\n * @param name The header name.\n * @param value The value or values to set or overide for the given header.\n *\n * @returns A clone of the HTTP headers object with the newly set header value.\n */\n set(name, value) {\n return this.clone({ name, value, op: 's' });\n }\n /**\n * Deletes values for a given header in a clone of the original instance.\n *\n * @param name The header name.\n * @param value The value or values to delete for the given header.\n *\n * @returns A clone of the HTTP headers object with the given value deleted.\n */\n delete(name, value) {\n return this.clone({ name, value, op: 'd' });\n }\n maybeSetNormalizedName(name, lcName) {\n if (!this.normalizedNames.has(lcName)) {\n this.normalizedNames.set(lcName, name);\n }\n }\n init() {\n if (!!this.lazyInit) {\n if (this.lazyInit instanceof HttpHeaders) {\n this.copyFrom(this.lazyInit);\n }\n else {\n this.lazyInit();\n }\n this.lazyInit = null;\n if (!!this.lazyUpdate) {\n this.lazyUpdate.forEach(update => this.applyUpdate(update));\n this.lazyUpdate = null;\n }\n }\n }\n copyFrom(other) {\n other.init();\n Array.from(other.headers.keys()).forEach(key => {\n this.headers.set(key, other.headers.get(key));\n this.normalizedNames.set(key, other.normalizedNames.get(key));\n });\n }\n clone(update) {\n const clone = new HttpHeaders();\n clone.lazyInit =\n (!!this.lazyInit && this.lazyInit instanceof HttpHeaders) ? this.lazyInit : this;\n clone.lazyUpdate = (this.lazyUpdate || []).concat([update]);\n return clone;\n }\n applyUpdate(update) {\n const key = update.name.toLowerCase();\n switch (update.op) {\n case 'a':\n case 's':\n let value = update.value;\n if (typeof value === 'string') {\n value = [value];\n }\n if (value.length === 0) {\n return;\n }\n this.maybeSetNormalizedName(update.name, key);\n const base = (update.op === 'a' ? this.headers.get(key) : undefined) || [];\n base.push(...value);\n this.headers.set(key, base);\n break;\n case 'd':\n const toDelete = update.value;\n if (!toDelete) {\n this.headers.delete(key);\n this.normalizedNames.delete(key);\n }\n else {\n let existing = this.headers.get(key);\n if (!existing) {\n return;\n }\n existing = existing.filter(value => toDelete.indexOf(value) === -1);\n if (existing.length === 0) {\n this.headers.delete(key);\n this.normalizedNames.delete(key);\n }\n else {\n this.headers.set(key, existing);\n }\n }\n break;\n }\n }\n /**\n * @internal\n */\n forEach(fn) {\n this.init();\n Array.from(this.normalizedNames.keys())\n .forEach(key => fn(this.normalizedNames.get(key), this.headers.get(key)));\n }\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * Provides encoding and decoding of URL parameter and query-string values.\n *\n * Serializes and parses URL parameter keys and values to encode and decode them.\n * If you pass URL query parameters without encoding,\n * the query parameters can be misinterpreted at the receiving end.\n *\n *\n * @publicApi\n */\nclass HttpUrlEncodingCodec {\n /**\n * Encodes a key name for a URL parameter or query-string.\n * @param key The key name.\n * @returns The encoded key name.\n */\n encodeKey(key) {\n return standardEncoding(key);\n }\n /**\n * Encodes the value of a URL parameter or query-string.\n * @param value The value.\n * @returns The encoded value.\n */\n encodeValue(value) {\n return standardEncoding(value);\n }\n /**\n * Decodes an encoded URL parameter or query-string key.\n * @param key The encoded key name.\n * @returns The decoded key name.\n */\n decodeKey(key) {\n return decodeURIComponent(key);\n }\n /**\n * Decodes an encoded URL parameter or query-string value.\n * @param value The encoded value.\n * @returns The decoded value.\n */\n decodeValue(value) {\n return decodeURIComponent(value);\n }\n}\nfunction paramParser(rawParams, codec) {\n const map = new Map();\n if (rawParams.length > 0) {\n // The `window.location.search` can be used while creating an instance of the `HttpParams` class\n // (e.g. `new HttpParams({ fromString: window.location.search })`). The `window.location.search`\n // may start with the `?` char, so we strip it if it's present.\n const params = rawParams.replace(/^\\?/, '').split('&');\n params.forEach((param) => {\n const eqIdx = param.indexOf('=');\n const [key, val] = eqIdx == -1 ?\n [codec.decodeKey(param), ''] :\n [codec.decodeKey(param.slice(0, eqIdx)), codec.decodeValue(param.slice(eqIdx + 1))];\n const list = map.get(key) || [];\n list.push(val);\n map.set(key, list);\n });\n }\n return map;\n}\n/**\n * Encode input string with standard encodeURIComponent and then un-encode specific characters.\n */\nconst STANDARD_ENCODING_REGEX = /%(\\d[a-f0-9])/gi;\nconst STANDARD_ENCODING_REPLACEMENTS = {\n '40': '@',\n '3A': ':',\n '24': '$',\n '2C': ',',\n '3B': ';',\n '2B': '+',\n '3D': '=',\n '3F': '?',\n '2F': '/',\n};\nfunction standardEncoding(v) {\n return encodeURIComponent(v).replace(STANDARD_ENCODING_REGEX, (s, t) => STANDARD_ENCODING_REPLACEMENTS[t] ?? s);\n}\nfunction valueToString(value) {\n return `${value}`;\n}\n/**\n * An HTTP request/response body that represents serialized parameters,\n * per the MIME type `application/x-www-form-urlencoded`.\n *\n * This class is immutable; all mutation operations return a new instance.\n *\n * @publicApi\n */\nclass HttpParams {\n constructor(options = {}) {\n this.updates = null;\n this.cloneFrom = null;\n this.encoder = options.encoder || new HttpUrlEncodingCodec();\n if (!!options.fromString) {\n if (!!options.fromObject) {\n throw new Error(`Cannot specify both fromString and fromObject.`);\n }\n this.map = paramParser(options.fromString, this.encoder);\n }\n else if (!!options.fromObject) {\n this.map = new Map();\n Object.keys(options.fromObject).forEach(key => {\n const value = options.fromObject[key];\n this.map.set(key, Array.isArray(value) ? value : [value]);\n });\n }\n else {\n this.map = null;\n }\n }\n /**\n * Reports whether the body includes one or more values for a given parameter.\n * @param param The parameter name.\n * @returns True if the parameter has one or more values,\n * false if it has no value or is not present.\n */\n has(param) {\n this.init();\n return this.map.has(param);\n }\n /**\n * Retrieves the first value for a parameter.\n * @param param The parameter name.\n * @returns The first value of the given parameter,\n * or `null` if the parameter is not present.\n */\n get(param) {\n this.init();\n const res = this.map.get(param);\n return !!res ? res[0] : null;\n }\n /**\n * Retrieves all values for a parameter.\n * @param param The parameter name.\n * @returns All values in a string array,\n * or `null` if the parameter not present.\n */\n getAll(param) {\n this.init();\n return this.map.get(param) || null;\n }\n /**\n * Retrieves all the parameters for this body.\n * @returns The parameter names in a string array.\n */\n keys() {\n this.init();\n return Array.from(this.map.keys());\n }\n /**\n * Appends a new value to existing values for a parameter.\n * @param param The parameter name.\n * @param value The new value to add.\n * @return A new body with the appended value.\n */\n append(param, value) {\n return this.clone({ param, value, op: 'a' });\n }\n /**\n * Constructs a new body with appended values for the given parameter name.\n * @param params parameters and values\n * @return A new body with the new value.\n */\n appendAll(params) {\n const updates = [];\n Object.keys(params).forEach(param => {\n const value = params[param];\n if (Array.isArray(value)) {\n value.forEach(_value => {\n updates.push({ param, value: _value, op: 'a' });\n });\n }\n else {\n updates.push({ param, value: value, op: 'a' });\n }\n });\n return this.clone(updates);\n }\n /**\n * Replaces the value for a parameter.\n * @param param The parameter name.\n * @param value The new value.\n * @return A new body with the new value.\n */\n set(param, value) {\n return this.clone({ param, value, op: 's' });\n }\n /**\n * Removes a given value or all values from a parameter.\n * @param param The parameter name.\n * @param value The value to remove, if provided.\n * @return A new body with the given value removed, or with all values\n * removed if no value is specified.\n */\n delete(param, value) {\n return this.clone({ param, value, op: 'd' });\n }\n /**\n * Serializes the body to an encoded string, where key-value pairs (separated by `=`) are\n * separated by `&`s.\n */\n toString() {\n this.init();\n return this.keys()\n .map(key => {\n const eKey = this.encoder.encodeKey(key);\n // `a: ['1']` produces `'a=1'`\n // `b: []` produces `''`\n // `c: ['1', '2']` produces `'c=1&c=2'`\n return this.map.get(key).map(value => eKey + '=' + this.encoder.encodeValue(value))\n .join('&');\n })\n // filter out empty values because `b: []` produces `''`\n // which results in `a=1&&c=1&c=2` instead of `a=1&c=1&c=2` if we don't\n .filter(param => param !== '')\n .join('&');\n }\n clone(update) {\n const clone = new HttpParams({ encoder: this.encoder });\n clone.cloneFrom = this.cloneFrom || this;\n clone.updates = (this.updates || []).concat(update);\n return clone;\n }\n init() {\n if (this.map === null) {\n this.map = new Map();\n }\n if (this.cloneFrom !== null) {\n this.cloneFrom.init();\n this.cloneFrom.keys().forEach(key => this.map.set(key, this.cloneFrom.map.get(key)));\n this.updates.forEach(update => {\n switch (update.op) {\n case 'a':\n case 's':\n const base = (update.op === 'a' ? this.map.get(update.param) : undefined) || [];\n base.push(valueToString(update.value));\n this.map.set(update.param, base);\n break;\n case 'd':\n if (update.value !== undefined) {\n let base = this.map.get(update.param) || [];\n const idx = base.indexOf(valueToString(update.value));\n if (idx !== -1) {\n base.splice(idx, 1);\n }\n if (base.length > 0) {\n this.map.set(update.param, base);\n }\n else {\n this.map.delete(update.param);\n }\n }\n else {\n this.map.delete(update.param);\n break;\n }\n }\n });\n this.cloneFrom = this.updates = null;\n }\n }\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * A token used to manipulate and access values stored in `HttpContext`.\n *\n * @publicApi\n */\nclass HttpContextToken {\n constructor(defaultValue) {\n this.defaultValue = defaultValue;\n }\n}\n/**\n * Http context stores arbitrary user defined values and ensures type safety without\n * actually knowing the types. It is backed by a `Map` and guarantees that keys do not clash.\n *\n * This context is mutable and is shared between cloned requests unless explicitly specified.\n *\n * @usageNotes\n *\n * ### Usage Example\n *\n * ```typescript\n * // inside cache.interceptors.ts\n * export const IS_CACHE_ENABLED = new HttpContextToken(() => false);\n *\n * export class CacheInterceptor implements HttpInterceptor {\n *\n * intercept(req: HttpRequest, delegate: HttpHandler): Observable> {\n * if (req.context.get(IS_CACHE_ENABLED) === true) {\n * return ...;\n * }\n * return delegate.handle(req);\n * }\n * }\n *\n * // inside a service\n *\n * this.httpClient.get('/api/weather', {\n * context: new HttpContext().set(IS_CACHE_ENABLED, true)\n * }).subscribe(...);\n * ```\n *\n * @publicApi\n */\nclass HttpContext {\n constructor() {\n this.map = new Map();\n }\n /**\n * Store a value in the context. If a value is already present it will be overwritten.\n *\n * @param token The reference to an instance of `HttpContextToken`.\n * @param value The value to store.\n *\n * @returns A reference to itself for easy chaining.\n */\n set(token, value) {\n this.map.set(token, value);\n return this;\n }\n /**\n * Retrieve the value associated with the given token.\n *\n * @param token The reference to an instance of `HttpContextToken`.\n *\n * @returns The stored value or default if one is defined.\n */\n get(token) {\n if (!this.map.has(token)) {\n this.map.set(token, token.defaultValue());\n }\n return this.map.get(token);\n }\n /**\n * Delete the value associated with the given token.\n *\n * @param token The reference to an instance of `HttpContextToken`.\n *\n * @returns A reference to itself for easy chaining.\n */\n delete(token) {\n this.map.delete(token);\n return this;\n }\n /**\n * @returns a list of tokens currently stored in the context.\n */\n keys() {\n return this.map.keys();\n }\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * Determine whether the given HTTP method may include a body.\n */\nfunction mightHaveBody(method) {\n switch (method) {\n case 'DELETE':\n case 'GET':\n case 'HEAD':\n case 'OPTIONS':\n case 'JSONP':\n return false;\n default:\n return true;\n }\n}\n/**\n * Safely assert whether the given value is an ArrayBuffer.\n *\n * In some execution environments ArrayBuffer is not defined.\n */\nfunction isArrayBuffer(value) {\n return typeof ArrayBuffer !== 'undefined' && value instanceof ArrayBuffer;\n}\n/**\n * Safely assert whether the given value is a Blob.\n *\n * In some execution environments Blob is not defined.\n */\nfunction isBlob(value) {\n return typeof Blob !== 'undefined' && value instanceof Blob;\n}\n/**\n * Safely assert whether the given value is a FormData instance.\n *\n * In some execution environments FormData is not defined.\n */\nfunction isFormData(value) {\n return typeof FormData !== 'undefined' && value instanceof FormData;\n}\n/**\n * Safely assert whether the given value is a URLSearchParams instance.\n *\n * In some execution environments URLSearchParams is not defined.\n */\nfunction isUrlSearchParams(value) {\n return typeof URLSearchParams !== 'undefined' && value instanceof URLSearchParams;\n}\n/**\n * An outgoing HTTP request with an optional typed body.\n *\n * `HttpRequest` represents an outgoing request, including URL, method,\n * headers, body, and other request configuration options. Instances should be\n * assumed to be immutable. To modify a `HttpRequest`, the `clone`\n * method should be used.\n *\n * @publicApi\n */\nclass HttpRequest {\n constructor(method, url, third, fourth) {\n this.url = url;\n /**\n * The request body, or `null` if one isn't set.\n *\n * Bodies are not enforced to be immutable, as they can include a reference to any\n * user-defined data type. However, interceptors should take care to preserve\n * idempotence by treating them as such.\n */\n this.body = null;\n /**\n * Whether this request should be made in a way that exposes progress events.\n *\n * Progress events are expensive (change detection runs on each event) and so\n * they should only be requested if the consumer intends to monitor them.\n */\n this.reportProgress = false;\n /**\n * Whether this request should be sent with outgoing credentials (cookies).\n */\n this.withCredentials = false;\n /**\n * The expected response type of the server.\n *\n * This is used to parse the response appropriately before returning it to\n * the requestee.\n */\n this.responseType = 'json';\n this.method = method.toUpperCase();\n // Next, need to figure out which argument holds the HttpRequestInit\n // options, if any.\n let options;\n // Check whether a body argument is expected. The only valid way to omit\n // the body argument is to use a known no-body method like GET.\n if (mightHaveBody(this.method) || !!fourth) {\n // Body is the third argument, options are the fourth.\n this.body = (third !== undefined) ? third : null;\n options = fourth;\n }\n else {\n // No body required, options are the third argument. The body stays null.\n options = third;\n }\n // If options have been passed, interpret them.\n if (options) {\n // Normalize reportProgress and withCredentials.\n this.reportProgress = !!options.reportProgress;\n this.withCredentials = !!options.withCredentials;\n // Override default response type of 'json' if one is provided.\n if (!!options.responseType) {\n this.responseType = options.responseType;\n }\n // Override headers if they're provided.\n if (!!options.headers) {\n this.headers = options.headers;\n }\n if (!!options.context) {\n this.context = options.context;\n }\n if (!!options.params) {\n this.params = options.params;\n }\n }\n // If no headers have been passed in, construct a new HttpHeaders instance.\n if (!this.headers) {\n this.headers = new HttpHeaders();\n }\n // If no context have been passed in, construct a new HttpContext instance.\n if (!this.context) {\n this.context = new HttpContext();\n }\n // If no parameters have been passed in, construct a new HttpUrlEncodedParams instance.\n if (!this.params) {\n this.params = new HttpParams();\n this.urlWithParams = url;\n }\n else {\n // Encode the parameters to a string in preparation for inclusion in the URL.\n const params = this.params.toString();\n if (params.length === 0) {\n // No parameters, the visible URL is just the URL given at creation time.\n this.urlWithParams = url;\n }\n else {\n // Does the URL already have query parameters? Look for '?'.\n const qIdx = url.indexOf('?');\n // There are 3 cases to handle:\n // 1) No existing parameters -> append '?' followed by params.\n // 2) '?' exists and is followed by existing query string ->\n // append '&' followed by params.\n // 3) '?' exists at the end of the url -> append params directly.\n // This basically amounts to determining the character, if any, with\n // which to join the URL and parameters.\n const sep = qIdx === -1 ? '?' : (qIdx < url.length - 1 ? '&' : '');\n this.urlWithParams = url + sep + params;\n }\n }\n }\n /**\n * Transform the free-form body into a serialized format suitable for\n * transmission to the server.\n */\n serializeBody() {\n // If no body is present, no need to serialize it.\n if (this.body === null) {\n return null;\n }\n // Check whether the body is already in a serialized form. If so,\n // it can just be returned directly.\n if (isArrayBuffer(this.body) || isBlob(this.body) || isFormData(this.body) ||\n isUrlSearchParams(this.body) || typeof this.body === 'string') {\n return this.body;\n }\n // Check whether the body is an instance of HttpUrlEncodedParams.\n if (this.body instanceof HttpParams) {\n return this.body.toString();\n }\n // Check whether the body is an object or array, and serialize with JSON if so.\n if (typeof this.body === 'object' || typeof this.body === 'boolean' ||\n Array.isArray(this.body)) {\n return JSON.stringify(this.body);\n }\n // Fall back on toString() for everything else.\n return this.body.toString();\n }\n /**\n * Examine the body and attempt to infer an appropriate MIME type\n * for it.\n *\n * If no such type can be inferred, this method will return `null`.\n */\n detectContentTypeHeader() {\n // An empty body has no content type.\n if (this.body === null) {\n return null;\n }\n // FormData bodies rely on the browser's content type assignment.\n if (isFormData(this.body)) {\n return null;\n }\n // Blobs usually have their own content type. If it doesn't, then\n // no type can be inferred.\n if (isBlob(this.body)) {\n return this.body.type || null;\n }\n // Array buffers have unknown contents and thus no type can be inferred.\n if (isArrayBuffer(this.body)) {\n return null;\n }\n // Technically, strings could be a form of JSON data, but it's safe enough\n // to assume they're plain strings.\n if (typeof this.body === 'string') {\n return 'text/plain';\n }\n // `HttpUrlEncodedParams` has its own content-type.\n if (this.body instanceof HttpParams) {\n return 'application/x-www-form-urlencoded;charset=UTF-8';\n }\n // Arrays, objects, boolean and numbers will be encoded as JSON.\n if (typeof this.body === 'object' || typeof this.body === 'number' ||\n typeof this.body === 'boolean') {\n return 'application/json';\n }\n // No type could be inferred.\n return null;\n }\n clone(update = {}) {\n // For method, url, and responseType, take the current value unless\n // it is overridden in the update hash.\n const method = update.method || this.method;\n const url = update.url || this.url;\n const responseType = update.responseType || this.responseType;\n // The body is somewhat special - a `null` value in update.body means\n // whatever current body is present is being overridden with an empty\n // body, whereas an `undefined` value in update.body implies no\n // override.\n const body = (update.body !== undefined) ? update.body : this.body;\n // Carefully handle the boolean options to differentiate between\n // `false` and `undefined` in the update args.\n const withCredentials = (update.withCredentials !== undefined) ? update.withCredentials : this.withCredentials;\n const reportProgress = (update.reportProgress !== undefined) ? update.reportProgress : this.reportProgress;\n // Headers and params may be appended to if `setHeaders` or\n // `setParams` are used.\n let headers = update.headers || this.headers;\n let params = update.params || this.params;\n // Pass on context if needed\n const context = update.context ?? this.context;\n // Check whether the caller has asked to add headers.\n if (update.setHeaders !== undefined) {\n // Set every requested header.\n headers =\n Object.keys(update.setHeaders)\n .reduce((headers, name) => headers.set(name, update.setHeaders[name]), headers);\n }\n // Check whether the caller has asked to set params.\n if (update.setParams) {\n // Set every requested param.\n params = Object.keys(update.setParams)\n .reduce((params, param) => params.set(param, update.setParams[param]), params);\n }\n // Finally, construct the new HttpRequest using the pieces from above.\n return new HttpRequest(method, url, body, {\n params,\n headers,\n context,\n reportProgress,\n responseType,\n withCredentials,\n });\n }\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * Type enumeration for the different kinds of `HttpEvent`.\n *\n * @publicApi\n */\nvar HttpEventType;\n(function (HttpEventType) {\n /**\n * The request was sent out over the wire.\n */\n HttpEventType[HttpEventType[\"Sent\"] = 0] = \"Sent\";\n /**\n * An upload progress event was received.\n */\n HttpEventType[HttpEventType[\"UploadProgress\"] = 1] = \"UploadProgress\";\n /**\n * The response status code and headers were received.\n */\n HttpEventType[HttpEventType[\"ResponseHeader\"] = 2] = \"ResponseHeader\";\n /**\n * A download progress event was received.\n */\n HttpEventType[HttpEventType[\"DownloadProgress\"] = 3] = \"DownloadProgress\";\n /**\n * The full response including the body was received.\n */\n HttpEventType[HttpEventType[\"Response\"] = 4] = \"Response\";\n /**\n * A custom event from an interceptor or a backend.\n */\n HttpEventType[HttpEventType[\"User\"] = 5] = \"User\";\n})(HttpEventType || (HttpEventType = {}));\n/**\n * Base class for both `HttpResponse` and `HttpHeaderResponse`.\n *\n * @publicApi\n */\nclass HttpResponseBase {\n /**\n * Super-constructor for all responses.\n *\n * The single parameter accepted is an initialization hash. Any properties\n * of the response passed there will override the default values.\n */\n constructor(init, defaultStatus = 200 /* Ok */, defaultStatusText = 'OK') {\n // If the hash has values passed, use them to initialize the response.\n // Otherwise use the default values.\n this.headers = init.headers || new HttpHeaders();\n this.status = init.status !== undefined ? init.status : defaultStatus;\n this.statusText = init.statusText || defaultStatusText;\n this.url = init.url || null;\n // Cache the ok value to avoid defining a getter.\n this.ok = this.status >= 200 && this.status < 300;\n }\n}\n/**\n * A partial HTTP response which only includes the status and header data,\n * but no response body.\n *\n * `HttpHeaderResponse` is a `HttpEvent` available on the response\n * event stream, only when progress events are requested.\n *\n * @publicApi\n */\nclass HttpHeaderResponse extends HttpResponseBase {\n /**\n * Create a new `HttpHeaderResponse` with the given parameters.\n */\n constructor(init = {}) {\n super(init);\n this.type = HttpEventType.ResponseHeader;\n }\n /**\n * Copy this `HttpHeaderResponse`, overriding its contents with the\n * given parameter hash.\n */\n clone(update = {}) {\n // Perform a straightforward initialization of the new HttpHeaderResponse,\n // overriding the current parameters with new ones if given.\n return new HttpHeaderResponse({\n headers: update.headers || this.headers,\n status: update.status !== undefined ? update.status : this.status,\n statusText: update.statusText || this.statusText,\n url: update.url || this.url || undefined,\n });\n }\n}\n/**\n * A full HTTP response, including a typed response body (which may be `null`\n * if one was not returned).\n *\n * `HttpResponse` is a `HttpEvent` available on the response event\n * stream.\n *\n * @publicApi\n */\nclass HttpResponse extends HttpResponseBase {\n /**\n * Construct a new `HttpResponse`.\n */\n constructor(init = {}) {\n super(init);\n this.type = HttpEventType.Response;\n this.body = init.body !== undefined ? init.body : null;\n }\n clone(update = {}) {\n return new HttpResponse({\n body: (update.body !== undefined) ? update.body : this.body,\n headers: update.headers || this.headers,\n status: (update.status !== undefined) ? update.status : this.status,\n statusText: update.statusText || this.statusText,\n url: update.url || this.url || undefined,\n });\n }\n}\n/**\n * A response that represents an error or failure, either from a\n * non-successful HTTP status, an error while executing the request,\n * or some other failure which occurred during the parsing of the response.\n *\n * Any error returned on the `Observable` response stream will be\n * wrapped in an `HttpErrorResponse` to provide additional context about\n * the state of the HTTP layer when the error occurred. The error property\n * will contain either a wrapped Error object or the error response returned\n * from the server.\n *\n * @publicApi\n */\nclass HttpErrorResponse extends HttpResponseBase {\n constructor(init) {\n // Initialize with a default status of 0 / Unknown Error.\n super(init, 0, 'Unknown Error');\n this.name = 'HttpErrorResponse';\n /**\n * Errors are never okay, even when the status code is in the 2xx success range.\n */\n this.ok = false;\n // If the response was successful, then this was a parse error. Otherwise, it was\n // a protocol-level failure of some sort. Either the request failed in transit\n // or the server returned an unsuccessful status code.\n if (this.status >= 200 && this.status < 300) {\n this.message = `Http failure during parsing for ${init.url || '(unknown url)'}`;\n }\n else {\n this.message = `Http failure response for ${init.url || '(unknown url)'}: ${init.status} ${init.statusText}`;\n }\n this.error = init.error || null;\n }\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * Constructs an instance of `HttpRequestOptions` from a source `HttpMethodOptions` and\n * the given `body`. This function clones the object and adds the body.\n *\n * Note that the `responseType` *options* value is a String that identifies the\n * single data type of the response.\n * A single overload version of the method handles each response type.\n * The value of `responseType` cannot be a union, as the combined signature could imply.\n *\n */\nfunction addBody(options, body) {\n return {\n body,\n headers: options.headers,\n context: options.context,\n observe: options.observe,\n params: options.params,\n reportProgress: options.reportProgress,\n responseType: options.responseType,\n withCredentials: options.withCredentials,\n };\n}\n/**\n * Performs HTTP requests.\n * This service is available as an injectable class, with methods to perform HTTP requests.\n * Each request method has multiple signatures, and the return type varies based on\n * the signature that is called (mainly the values of `observe` and `responseType`).\n *\n * Note that the `responseType` *options* value is a String that identifies the\n * single data type of the response.\n * A single overload version of the method handles each response type.\n * The value of `responseType` cannot be a union, as the combined signature could imply.\n\n *\n * @usageNotes\n * Sample HTTP requests for the [Tour of Heroes](/tutorial/toh-pt0) application.\n *\n * ### HTTP Request Example\n *\n * ```\n * // GET heroes whose name contains search term\n * searchHeroes(term: string): observable{\n *\n * const params = new HttpParams({fromString: 'name=term'});\n * return this.httpClient.request('GET', this.heroesUrl, {responseType:'json', params});\n * }\n * ```\n *\n * Alternatively, the parameter string can be used without invoking HttpParams\n * by directly joining to the URL.\n * ```\n * this.httpClient.request('GET', this.heroesUrl + '?' + 'name=term', {responseType:'json'});\n * ```\n *\n *\n * ### JSONP Example\n * ```\n * requestJsonp(url, callback = 'callback') {\n * return this.httpClient.jsonp(this.heroesURL, callback);\n * }\n * ```\n *\n * ### PATCH Example\n * ```\n * // PATCH one of the heroes' name\n * patchHero (id: number, heroName: string): Observable<{}> {\n * const url = `${this.heroesUrl}/${id}`; // PATCH api/heroes/42\n * return this.httpClient.patch(url, {name: heroName}, httpOptions)\n * .pipe(catchError(this.handleError('patchHero')));\n * }\n * ```\n *\n * @see [HTTP Guide](guide/http)\n * @see [HTTP Request](api/common/http/HttpRequest)\n *\n * @publicApi\n */\nclass HttpClient {\n constructor(handler) {\n this.handler = handler;\n }\n /**\n * Constructs an observable for a generic HTTP request that, when subscribed,\n * fires the request through the chain of registered interceptors and on to the\n * server.\n *\n * You can pass an `HttpRequest` directly as the only parameter. In this case,\n * the call returns an observable of the raw `HttpEvent` stream.\n *\n * Alternatively you can pass an HTTP method as the first parameter,\n * a URL string as the second, and an options hash containing the request body as the third.\n * See `addBody()`. In this case, the specified `responseType` and `observe` options determine the\n * type of returned observable.\n * * The `responseType` value determines how a successful response body is parsed.\n * * If `responseType` is the default `json`, you can pass a type interface for the resulting\n * object as a type parameter to the call.\n *\n * The `observe` value determines the return type, according to what you are interested in\n * observing.\n * * An `observe` value of events returns an observable of the raw `HttpEvent` stream, including\n * progress events by default.\n * * An `observe` value of response returns an observable of `HttpResponse`,\n * where the `T` parameter depends on the `responseType` and any optionally provided type\n * parameter.\n * * An `observe` value of body returns an observable of `` with the same `T` body type.\n *\n */\n request(first, url, options = {}) {\n let req;\n // First, check whether the primary argument is an instance of `HttpRequest`.\n if (first instanceof HttpRequest) {\n // It is. The other arguments must be undefined (per the signatures) and can be\n // ignored.\n req = first;\n }\n else {\n // It's a string, so it represents a URL. Construct a request based on it,\n // and incorporate the remaining arguments (assuming `GET` unless a method is\n // provided.\n // Figure out the headers.\n let headers = undefined;\n if (options.headers instanceof HttpHeaders) {\n headers = options.headers;\n }\n else {\n headers = new HttpHeaders(options.headers);\n }\n // Sort out parameters.\n let params = undefined;\n if (!!options.params) {\n if (options.params instanceof HttpParams) {\n params = options.params;\n }\n else {\n params = new HttpParams({ fromObject: options.params });\n }\n }\n // Construct the request.\n req = new HttpRequest(first, url, (options.body !== undefined ? options.body : null), {\n headers,\n context: options.context,\n params,\n reportProgress: options.reportProgress,\n // By default, JSON is assumed to be returned for all calls.\n responseType: options.responseType || 'json',\n withCredentials: options.withCredentials,\n });\n }\n // Start with an Observable.of() the initial request, and run the handler (which\n // includes all interceptors) inside a concatMap(). This way, the handler runs\n // inside an Observable chain, which causes interceptors to be re-run on every\n // subscription (this also makes retries re-run the handler, including interceptors).\n const events$ = of(req).pipe(concatMap((req) => this.handler.handle(req)));\n // If coming via the API signature which accepts a previously constructed HttpRequest,\n // the only option is to get the event stream. Otherwise, return the event stream if\n // that is what was requested.\n if (first instanceof HttpRequest || options.observe === 'events') {\n return events$;\n }\n // The requested stream contains either the full response or the body. In either\n // case, the first step is to filter the event stream to extract a stream of\n // responses(s).\n const res$ = events$.pipe(filter((event) => event instanceof HttpResponse));\n // Decide which stream to return.\n switch (options.observe || 'body') {\n case 'body':\n // The requested stream is the body. Map the response stream to the response\n // body. This could be done more simply, but a misbehaving interceptor might\n // transform the response body into a different format and ignore the requested\n // responseType. Guard against this by validating that the response is of the\n // requested type.\n switch (req.responseType) {\n case 'arraybuffer':\n return res$.pipe(map((res) => {\n // Validate that the body is an ArrayBuffer.\n if (res.body !== null && !(res.body instanceof ArrayBuffer)) {\n throw new Error('Response is not an ArrayBuffer.');\n }\n return res.body;\n }));\n case 'blob':\n return res$.pipe(map((res) => {\n // Validate that the body is a Blob.\n if (res.body !== null && !(res.body instanceof Blob)) {\n throw new Error('Response is not a Blob.');\n }\n return res.body;\n }));\n case 'text':\n return res$.pipe(map((res) => {\n // Validate that the body is a string.\n if (res.body !== null && typeof res.body !== 'string') {\n throw new Error('Response is not a string.');\n }\n return res.body;\n }));\n case 'json':\n default:\n // No validation needed for JSON responses, as they can be of any type.\n return res$.pipe(map((res) => res.body));\n }\n case 'response':\n // The response stream was requested directly, so return it.\n return res$;\n default:\n // Guard against new future observe types being added.\n throw new Error(`Unreachable: unhandled observe type ${options.observe}}`);\n }\n }\n /**\n * Constructs an observable that, when subscribed, causes the configured\n * `DELETE` request to execute on the server. See the individual overloads for\n * details on the return type.\n *\n * @param url The endpoint URL.\n * @param options The HTTP options to send with the request.\n *\n */\n delete(url, options = {}) {\n return this.request('DELETE', url, options);\n }\n /**\n * Constructs an observable that, when subscribed, causes the configured\n * `GET` request to execute on the server. See the individual overloads for\n * details on the return type.\n */\n get(url, options = {}) {\n return this.request('GET', url, options);\n }\n /**\n * Constructs an observable that, when subscribed, causes the configured\n * `HEAD` request to execute on the server. The `HEAD` method returns\n * meta information about the resource without transferring the\n * resource itself. See the individual overloads for\n * details on the return type.\n */\n head(url, options = {}) {\n return this.request('HEAD', url, options);\n }\n /**\n * Constructs an `Observable` that, when subscribed, causes a request with the special method\n * `JSONP` to be dispatched via the interceptor pipeline.\n * The [JSONP pattern](https://en.wikipedia.org/wiki/JSONP) works around limitations of certain\n * API endpoints that don't support newer,\n * and preferable [CORS](https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS) protocol.\n * JSONP treats the endpoint API as a JavaScript file and tricks the browser to process the\n * requests even if the API endpoint is not located on the same domain (origin) as the client-side\n * application making the request.\n * The endpoint API must support JSONP callback for JSONP requests to work.\n * The resource API returns the JSON response wrapped in a callback function.\n * You can pass the callback function name as one of the query parameters.\n * Note that JSONP requests can only be used with `GET` requests.\n *\n * @param url The resource URL.\n * @param callbackParam The callback function name.\n *\n */\n jsonp(url, callbackParam) {\n return this.request('JSONP', url, {\n params: new HttpParams().append(callbackParam, 'JSONP_CALLBACK'),\n observe: 'body',\n responseType: 'json',\n });\n }\n /**\n * Constructs an `Observable` that, when subscribed, causes the configured\n * `OPTIONS` request to execute on the server. This method allows the client\n * to determine the supported HTTP methods and other capabilities of an endpoint,\n * without implying a resource action. See the individual overloads for\n * details on the return type.\n */\n options(url, options = {}) {\n return this.request('OPTIONS', url, options);\n }\n /**\n * Constructs an observable that, when subscribed, causes the configured\n * `PATCH` request to execute on the server. See the individual overloads for\n * details on the return type.\n */\n patch(url, body, options = {}) {\n return this.request('PATCH', url, addBody(options, body));\n }\n /**\n * Constructs an observable that, when subscribed, causes the configured\n * `POST` request to execute on the server. The server responds with the location of\n * the replaced resource. See the individual overloads for\n * details on the return type.\n */\n post(url, body, options = {}) {\n return this.request('POST', url, addBody(options, body));\n }\n /**\n * Constructs an observable that, when subscribed, causes the configured\n * `PUT` request to execute on the server. The `PUT` method replaces an existing resource\n * with a new set of values.\n * See the individual overloads for details on the return type.\n */\n put(url, body, options = {}) {\n return this.request('PUT', url, addBody(options, body));\n }\n}\nHttpClient.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"13.0.2\", ngImport: i0, type: HttpClient, deps: [{ token: HttpHandler }], target: i0.ɵɵFactoryTarget.Injectable });\nHttpClient.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"13.0.2\", ngImport: i0, type: HttpClient });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"13.0.2\", ngImport: i0, type: HttpClient, decorators: [{\n type: Injectable\n }], ctorParameters: function () { return [{ type: HttpHandler }]; } });\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * `HttpHandler` which applies an `HttpInterceptor` to an `HttpRequest`.\n *\n *\n */\nclass HttpInterceptorHandler {\n constructor(next, interceptor) {\n this.next = next;\n this.interceptor = interceptor;\n }\n handle(req) {\n return this.interceptor.intercept(req, this.next);\n }\n}\n/**\n * A multi-provider token that represents the array of registered\n * `HttpInterceptor` objects.\n *\n * @publicApi\n */\nconst HTTP_INTERCEPTORS = new InjectionToken('HTTP_INTERCEPTORS');\nclass NoopInterceptor {\n intercept(req, next) {\n return next.handle(req);\n }\n}\nNoopInterceptor.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"13.0.2\", ngImport: i0, type: NoopInterceptor, deps: [], target: i0.ɵɵFactoryTarget.Injectable });\nNoopInterceptor.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"13.0.2\", ngImport: i0, type: NoopInterceptor });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"13.0.2\", ngImport: i0, type: NoopInterceptor, decorators: [{\n type: Injectable\n }] });\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n// Every request made through JSONP needs a callback name that's unique across the\n// whole page. Each request is assigned an id and the callback name is constructed\n// from that. The next id to be assigned is tracked in a global variable here that\n// is shared among all applications on the page.\nlet nextRequestId = 0;\n// Error text given when a JSONP script is injected, but doesn't invoke the callback\n// passed in its URL.\nconst JSONP_ERR_NO_CALLBACK = 'JSONP injected script did not invoke callback.';\n// Error text given when a request is passed to the JsonpClientBackend that doesn't\n// have a request method JSONP.\nconst JSONP_ERR_WRONG_METHOD = 'JSONP requests must use JSONP request method.';\nconst JSONP_ERR_WRONG_RESPONSE_TYPE = 'JSONP requests must use Json response type.';\n/**\n * DI token/abstract type representing a map of JSONP callbacks.\n *\n * In the browser, this should always be the `window` object.\n *\n *\n */\nclass JsonpCallbackContext {\n}\n/**\n * Processes an `HttpRequest` with the JSONP method,\n * by performing JSONP style requests.\n * @see `HttpHandler`\n * @see `HttpXhrBackend`\n *\n * @publicApi\n */\nclass JsonpClientBackend {\n constructor(callbackMap, document) {\n this.callbackMap = callbackMap;\n this.document = document;\n /**\n * A resolved promise that can be used to schedule microtasks in the event handlers.\n */\n this.resolvedPromise = Promise.resolve();\n }\n /**\n * Get the name of the next callback method, by incrementing the global `nextRequestId`.\n */\n nextCallback() {\n return `ng_jsonp_callback_${nextRequestId++}`;\n }\n /**\n * Processes a JSONP request and returns an event stream of the results.\n * @param req The request object.\n * @returns An observable of the response events.\n *\n */\n handle(req) {\n // Firstly, check both the method and response type. If either doesn't match\n // then the request was improperly routed here and cannot be handled.\n if (req.method !== 'JSONP') {\n throw new Error(JSONP_ERR_WRONG_METHOD);\n }\n else if (req.responseType !== 'json') {\n throw new Error(JSONP_ERR_WRONG_RESPONSE_TYPE);\n }\n // Everything else happens inside the Observable boundary.\n return new Observable((observer) => {\n // The first step to make a request is to generate the callback name, and replace the\n // callback placeholder in the URL with the name. Care has to be taken here to ensure\n // a trailing &, if matched, gets inserted back into the URL in the correct place.\n const callback = this.nextCallback();\n const url = req.urlWithParams.replace(/=JSONP_CALLBACK(&|$)/, `=${callback}$1`);\n // Construct the